From 45eb56c2d9b5fe0877020f1ba319dd4969afde78 Mon Sep 17 00:00:00 2001 From: Steven Noreyko <1909661+okyeron@users.noreply.github.com> Date: Sat, 1 Nov 2025 17:09:23 -0500 Subject: [PATCH 1/9] rework structure for version3 new RP2040 code and reorganization --- .DS_Store | Bin 14340 -> 14340 bytes .../ClearUI}/ClearUI_Field.cpp | 0 {ClearUI => Archive/ClearUI}/ClearUI_Field.h | 0 .../ClearUI}/ClearUI_Layout.cpp | 0 {ClearUI => Archive/ClearUI}/ClearUI_Layout.h | 0 Archive/Docs.md | 1118 ++++++ .../Firmware-Hexes}/OMX-27-1.12.16-T32.hex | 0 .../Firmware-Hexes}/OMX-27-1.12.16-T4.hex | 0 .../Firmware-Hexes}/OMX-27-1.13.3-T32.hex | 0 .../Firmware-Hexes}/OMX-27-1.13.3-T4.hex | 0 .../Firmware-Hexes}/OMX-27-1.13.8-T32.hex | 0 .../Firmware-Hexes}/OMX-27-1.13.8-T4.hex | 0 .../beta/OMX-27-1.12.17b2-T32.hex | 0 .../beta/OMX-27-1.12.17b2-T4.hex | 0 .../beta/OMX-27-1.12.17b3-T32.hex | 0 .../beta/OMX-27-1.12.17b3-T4.hex | 0 .../beta/OMX-27-1.12.17b4-T32.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.0.3.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.0.5.1.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.1.0.hex | 0 .../old/OMX-27-1.12.15-T32.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.12.15-T4.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.3.0-MIDI.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.3.0.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.4.1.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.4.3.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.4.4.1.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.5.0.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.5.1.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.6.0.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.7.7.hex | 0 .../Firmware-Hexes}/old/OMX-27-1.7.8-T4.hex | 0 Archive/OMX-27-firmware/OMX-27-firmware.ino | 1081 +++++ Archive/OMX-27-firmware/SYSEX_SPEC.md | 52 + .../OMX-27-firmware.ino.eep | 0 .../OMX-27-firmware.ino.elf | Bin .../OMX-27-firmware.ino.lst | 0 .../OMX-27-firmware.ino.sym | 0 .../OMX-27-firmware.ino.eep | 0 .../OMX-27-firmware.ino.elf | Bin .../OMX-27-firmware.ino.lst | 0 .../OMX-27-firmware.ino.sym | 0 Archive/OMX-27-firmware/feature_ideas.md | 229 ++ Archive/OMX-27-firmware/fonts/04B_03_7pt7b.h | 145 + Archive/OMX-27-firmware/fonts/liquid_7pt7b.h | 155 + Archive/OMX-27-firmware/fonts/slkscr7pt7b.h | 152 + Archive/OMX-27-firmware/src/ClearUI/ClearUI.h | 10 + .../src/ClearUI/ClearUI_Display.cpp | 277 ++ .../src/ClearUI/ClearUI_Display.h | 44 + .../src/ClearUI/ClearUI_Input.cpp | 156 + .../src/ClearUI/ClearUI_Input.h | 95 + Archive/OMX-27-firmware/src/config.cpp | 128 + Archive/OMX-27-firmware/src/config.h | 473 +++ Archive/OMX-27-firmware/src/consts/colors.h | 91 + Archive/OMX-27-firmware/src/consts/consts.h | 58 + .../OMX-27-firmware/src/hardware/omx_disp.cpp | 1521 +++++++ .../OMX-27-firmware/src/hardware/omx_disp.h | 128 + .../src/hardware/omx_keypad.cpp | 131 + .../OMX-27-firmware/src/hardware/omx_keypad.h | 76 + .../OMX-27-firmware/src/hardware/omx_leds.cpp | 405 ++ .../OMX-27-firmware/src/hardware/omx_leds.h | 75 + .../OMX-27-firmware/src/hardware/storage.cpp | 59 + .../OMX-27-firmware/src/hardware/storage.h | 111 + Archive/OMX-27-firmware/src/midi/midi.cpp | 99 + Archive/OMX-27-firmware/src/midi/midi.h | 26 + Archive/OMX-27-firmware/src/midi/noteoffs.cpp | 279 ++ Archive/OMX-27-firmware/src/midi/noteoffs.h | 90 + Archive/OMX-27-firmware/src/midi/sysex.cpp | 146 + Archive/OMX-27-firmware/src/midi/sysex.h | 22 + .../src/midifx/midifx_arpeggiator.cpp | 2621 ++++++++++++ .../src/midifx/midifx_arpeggiator.h | 360 ++ .../src/midifx/midifx_chance.cpp | 131 + .../src/midifx/midifx_chance.h | 39 + .../src/midifx/midifx_chord.cpp | 641 +++ .../OMX-27-firmware/src/midifx/midifx_chord.h | 86 + .../src/midifx/midifx_harmonizer.cpp | 283 ++ .../src/midifx/midifx_harmonizer.h | 48 + .../src/midifx/midifx_interface.cpp | 178 + .../src/midifx/midifx_interface.h | 157 + .../src/midifx/midifx_monophonic.cpp | 203 + .../src/midifx/midifx_monophonic.h | 42 + .../src/midifx/midifx_notemaster.cpp | 217 + .../src/midifx/midifx_notemaster.h | 62 + .../src/midifx/midifx_notetracker.cpp | 0 .../src/midifx/midifx_notetracker.h | 18 + .../src/midifx/midifx_randomizer.cpp | 483 +++ .../src/midifx/midifx_randomizer.h | 103 + .../src/midifx/midifx_repeat.cpp | 1386 +++++++ .../src/midifx/midifx_repeat.h | 211 + .../src/midifx/midifx_scaler.cpp | 359 ++ .../src/midifx/midifx_scaler.h | 51 + .../src/midifx/midifx_selector.cpp | 268 ++ .../src/midifx/midifx_selector.h | 81 + .../src/midifx/midifx_transpose.cpp | 172 + .../src/midifx/midifx_transpose.h | 48 + .../src/midimacro/midimacro_deluge.cpp | 714 ++++ .../src/midimacro/midimacro_deluge.h | 146 + .../src/midimacro/midimacro_interface.cpp | 86 + .../src/midimacro/midimacro_interface.h | 68 + .../src/midimacro/midimacro_m8.cpp | 466 +++ .../src/midimacro/midimacro_m8.h | 46 + .../src/midimacro/midimacro_norns.cpp | 275 ++ .../src/midimacro/midimacro_norns.h | 56 + .../src/modes/euclidean_sequencer.cpp | 528 +++ .../src/modes/euclidean_sequencer.h | 262 ++ .../src/modes/omx_mode_chords.cpp | 3561 +++++++++++++++++ .../src/modes/omx_mode_chords.h | 245 ++ .../src/modes/omx_mode_drum.cpp | 1436 +++++++ .../OMX-27-firmware/src/modes/omx_mode_drum.h | 187 + .../src/modes/omx_mode_euclidean.cpp | 1554 +++++++ .../src/modes/omx_mode_euclidean.h | 180 + .../src/modes/omx_mode_grids.cpp | 1411 +++++++ .../src/modes/omx_mode_grids.h | 129 + .../src/modes/omx_mode_interface.h | 38 + .../src/modes/omx_mode_midi_keyboard.cpp | 1513 +++++++ .../src/modes/omx_mode_midi_keyboard.h | 144 + .../src/modes/omx_mode_sequencer.cpp | 1631 ++++++++ .../src/modes/omx_mode_sequencer.h | 93 + .../src/modes/omx_screensaver.cpp | 145 + .../src/modes/omx_screensaver.h | 44 + .../OMX-27-firmware/src/modes/retro_grids.cpp | 825 ++++ .../OMX-27-firmware/src/modes/retro_grids.h | 192 + .../OMX-27-firmware/src/modes/sequencer.cpp | 897 +++++ Archive/OMX-27-firmware/src/modes/sequencer.h | 190 + .../modes/submodes/submode_clearstorage.cpp | 205 + .../src/modes/submodes/submode_clearstorage.h | 39 + .../src/modes/submodes/submode_interface.cpp | 49 + .../src/modes/submodes/submode_interface.h | 46 + .../modes/submodes/submode_midifxgroup.cpp | 1629 ++++++++ .../src/modes/submodes/submode_midifxgroup.h | 156 + .../src/modes/submodes/submode_potconfig.cpp | 264 ++ .../src/modes/submodes/submode_potconfig.h | 32 + .../src/modes/submodes/submode_preset.cpp | 192 + .../src/modes/submodes/submode_preset.h | 60 + .../src/utils/PotPickupUtil.cpp | 53 + .../OMX-27-firmware/src/utils/PotPickupUtil.h | 23 + .../OMX-27-firmware/src/utils/RamMonitor.h | 226 ++ .../OMX-27-firmware/src/utils/chord_structs.h | 241 ++ .../OMX-27-firmware/src/utils/chord_util.cpp | 936 +++++ .../OMX-27-firmware/src/utils/chord_util.h | 34 + .../OMX-27-firmware/src/utils/cvNote_util.cpp | 203 + .../OMX-27-firmware/src/utils/cvNote_util.h | 56 + .../OMX-27-firmware/src/utils/logic_util.h | 8 + .../src/utils/music_scales.cpp | 601 +++ .../OMX-27-firmware/src/utils/music_scales.h | 59 + .../OMX-27-firmware/src/utils/omx_util.cpp | 678 ++++ Archive/OMX-27-firmware/src/utils/omx_util.h | 101 + .../src/utils/param_manager.cpp | 264 ++ .../OMX-27-firmware/src/utils/param_manager.h | 55 + .../OMX-27-firmware}/usb_names.c | 0 Archive/OMX27_CheatSheet.pdf | Bin 0 -> 332498 bytes Archive/README.md | 128 + Archive/build/BOM.md | 96 + Archive/build/Build-Kit.md | 251 ++ .../build}/buildpix/OMX-27-bottom.png | Bin .../build}/buildpix/OMX-27-build-caps.png | Bin .../build}/buildpix/OMX-27-build-diodes.png | Bin .../build}/buildpix/OMX-27-build-leds.png | Bin .../buildpix/OMX-27-build-resistors.png | Bin .../build}/buildpix/OMX-27-ic.png | Bin .../build}/buildpix/OMX-27-top.png | Bin {build => Archive/build}/buildpix/T4-jig.jpg | Bin {build => Archive/build}/buildpix/T4-jig2.jpg | Bin .../build}/buildpix/acrylic-spacer.jpg | Bin .../build}/buildpix/bottom-plate-nocover.jpg | Bin .../build}/buildpix/keycap-install.jpg | Bin .../build}/buildpix/keyswitch-back.jpg | Bin .../build}/buildpix/keyswitch-front.jpg | Bin .../build}/buildpix/keyswitch-single.jpg | Bin .../buildpix/keyswitches-assemble-1.jpg | Bin .../buildpix/keyswitches-assemble-2.jpg | Bin {build => Archive/build}/buildpix/leds1.png | Bin {build => Archive/build}/buildpix/leds2.png | Bin {build => Archive/build}/buildpix/leds3.png | Bin .../build}/buildpix/oled-plastic.jpg | Bin .../build}/buildpix/oled-soldered.jpg | Bin .../build}/buildpix/pots-closeup.jpg | Bin .../build}/buildpix/pots-soldered.jpg | Bin .../build}/buildpix/startup-leds.jpg | Bin .../build}/buildpix/switch-test-aux.jpg | Bin .../build}/buildpix/switch-test.jpg | Bin .../build}/buildpix/teensy-flush.jpg | Bin .../build}/buildpix/teensy-reverse.jpg | Bin .../build}/buildpix/teensy-soldered.jpg | Bin .../build}/buildpix/teensy_jig_1.jpg | Bin .../build}/buildpix/teensy_jig_2.jpg | Bin .../build}/buildpix/teensy_jig_3.jpg | Bin .../build}/buildpix/teensy_jig_4.jpg | Bin .../build}/buildpix/teensy_jig_5.jpg | Bin .../build}/buildpix/top-plate-cover.jpg | Bin .../build}/buildpix/top-plate-nocover.jpg | Bin changelog.md => Archive/changelog.md | 0 .../clear_storage}/clear_storage.T32.hex | 0 .../clear_storage}/clear_storage.T4.hex | 0 .../clear_storage}/clear_storage.ino | 0 .../clear_storage}/register_storage_target.py | 0 .../eeprom_clear}/README.md | 0 .../eeprom_clear}/eeprom_clear.hex | 0 .../eeprom_clear}/eeprom_clear.ino | 0 Archive/images/omx27_layout2.png | Bin 0 -> 45907 bytes Archive/images/omx27_layout3.png | Bin 0 -> 142536 bytes Archive/images/omx27_layout4.png | Bin 0 -> 74331 bytes Archive/images/omx27_m8macro.png | Bin 0 -> 61968 bytes {images => Archive/images}/tyupdater.png | Bin {plates => Archive/plates}/OMX-27-bottom.ai | 0 .../plates}/OMX-27-keyplate2.ai | 0 .../plates}/OMX-27-keyplate3.ai | 0 .../plates}/OMX-27-midplate-spacer.ai | 0 {plates => Archive/plates}/OMX-27-outline.ai | 0 .../plates}/OMX-keyboard-layout.txt | 0 .../plates}/OMX-plate-layout.txt | 0 .../plates}/teensy3.2-flush-spacer.ai | 0 Archive/platformio.ini | 42 + todo.md => Archive/todo.md | 0 OMX-27-firmware/OMX-27-firmware.ino | 360 +- .../src/ClearUI/ClearUI_Display.cpp | 68 +- OMX-27-firmware/src/config.cpp | 53 +- OMX-27-firmware/src/config.h | 22 +- OMX-27-firmware/src/consts/consts.h | 56 +- OMX-27-firmware/src/globals.cpp | 11 + OMX-27-firmware/src/globals.h | 14 + OMX-27-firmware/src/hardware/omx_disp.cpp | 3 +- OMX-27-firmware/src/hardware/omx_disp.h | 3 +- OMX-27-firmware/src/hardware/omx_leds.cpp | 1 + OMX-27-firmware/src/hardware/omx_leds.h | 5 +- OMX-27-firmware/src/hardware/storage.cpp | 8 + OMX-27-firmware/src/hardware/storage.h | 6 + OMX-27-firmware/src/midi/MIDIClockStats.h | 114 + OMX-27-firmware/src/midi/midi.cpp | 235 +- OMX-27-firmware/src/midi/midi.h | 33 +- OMX-27-firmware/src/midi/noteoffs.cpp | 1 - OMX-27-firmware/src/midi/sysex.cpp | 35 +- OMX-27-firmware/src/midi/sysex.h | 5 +- .../src/midifx/midifx_arpeggiator.cpp | 2 + OMX-27-firmware/src/midifx/midifx_chord.cpp | 4 +- OMX-27-firmware/src/midifx/midifx_repeat.cpp | 1 + .../src/midimacro/midimacro_deluge.cpp | 27 +- .../src/midimacro/midimacro_m8.cpp | 1 + .../src/midimacro/midimacro_norns.cpp | 1 + .../src/modes/euclidean_sequencer.cpp | 2 +- OMX-27-firmware/src/modes/omx_mode_chords.cpp | 5 +- OMX-27-firmware/src/modes/omx_mode_chords.h | 2 + OMX-27-firmware/src/modes/omx_mode_drum.cpp | 1 + .../src/modes/omx_mode_euclidean.cpp | 9 + OMX-27-firmware/src/modes/omx_mode_grids.cpp | 9 +- .../src/modes/omx_mode_midi_keyboard.cpp | 13 +- .../src/modes/omx_mode_sequencer.cpp | 1 + OMX-27-firmware/src/modes/omx_screensaver.cpp | 32 +- OMX-27-firmware/src/modes/omx_screensaver.h | 8 +- OMX-27-firmware/src/modes/retro_grids.cpp | 6 +- OMX-27-firmware/src/modes/sequencer.cpp | 13 +- .../src/modes/submodes/submode_potconfig.cpp | 2 + OMX-27-firmware/src/utils/cvNote_util.cpp | 8 +- OMX-27-firmware/src/utils/logic_util.h | 17 + OMX-27-firmware/src/utils/omx_util.cpp | 39 +- README.md | 92 +- build/BOM.md | 82 +- build/Build-Kit.md | 232 +- platformio.ini | 37 +- 259 files changed, 40501 insertions(+), 647 deletions(-) rename {ClearUI => Archive/ClearUI}/ClearUI_Field.cpp (100%) rename {ClearUI => Archive/ClearUI}/ClearUI_Field.h (100%) rename {ClearUI => Archive/ClearUI}/ClearUI_Layout.cpp (100%) rename {ClearUI => Archive/ClearUI}/ClearUI_Layout.h (100%) create mode 100644 Archive/Docs.md rename {Firmware-Hexes => Archive/Firmware-Hexes}/OMX-27-1.12.16-T32.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/OMX-27-1.12.16-T4.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/OMX-27-1.13.3-T32.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/OMX-27-1.13.3-T4.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/OMX-27-1.13.8-T32.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/OMX-27-1.13.8-T4.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/beta/OMX-27-1.12.17b2-T32.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/beta/OMX-27-1.12.17b2-T4.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/beta/OMX-27-1.12.17b3-T32.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/beta/OMX-27-1.12.17b3-T4.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/beta/OMX-27-1.12.17b4-T32.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.0.3.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.0.5.1.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.1.0.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.12.15-T32.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.12.15-T4.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.3.0-MIDI.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.3.0.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.4.1.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.4.3.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.4.4.1.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.5.0.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.5.1.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.6.0.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.7.7.hex (100%) rename {Firmware-Hexes => Archive/Firmware-Hexes}/old/OMX-27-1.7.8-T4.hex (100%) create mode 100644 Archive/OMX-27-firmware/OMX-27-firmware.ino create mode 100644 Archive/OMX-27-firmware/SYSEX_SPEC.md rename {OMX-27-firmware => Archive/OMX-27-firmware}/build/teensy.avr.teensy31/OMX-27-firmware.ino.eep (100%) rename {OMX-27-firmware => Archive/OMX-27-firmware}/build/teensy.avr.teensy31/OMX-27-firmware.ino.elf (100%) rename {OMX-27-firmware => Archive/OMX-27-firmware}/build/teensy.avr.teensy31/OMX-27-firmware.ino.lst (100%) rename {OMX-27-firmware => Archive/OMX-27-firmware}/build/teensy.avr.teensy31/OMX-27-firmware.ino.sym (100%) rename {OMX-27-firmware => Archive/OMX-27-firmware}/build/teensy.avr.teensy40/OMX-27-firmware.ino.eep (100%) rename {OMX-27-firmware => Archive/OMX-27-firmware}/build/teensy.avr.teensy40/OMX-27-firmware.ino.elf (100%) rename {OMX-27-firmware => Archive/OMX-27-firmware}/build/teensy.avr.teensy40/OMX-27-firmware.ino.lst (100%) rename {OMX-27-firmware => Archive/OMX-27-firmware}/build/teensy.avr.teensy40/OMX-27-firmware.ino.sym (100%) create mode 100644 Archive/OMX-27-firmware/feature_ideas.md create mode 100644 Archive/OMX-27-firmware/fonts/04B_03_7pt7b.h create mode 100644 Archive/OMX-27-firmware/fonts/liquid_7pt7b.h create mode 100644 Archive/OMX-27-firmware/fonts/slkscr7pt7b.h create mode 100644 Archive/OMX-27-firmware/src/ClearUI/ClearUI.h create mode 100644 Archive/OMX-27-firmware/src/ClearUI/ClearUI_Display.cpp create mode 100644 Archive/OMX-27-firmware/src/ClearUI/ClearUI_Display.h create mode 100644 Archive/OMX-27-firmware/src/ClearUI/ClearUI_Input.cpp create mode 100644 Archive/OMX-27-firmware/src/ClearUI/ClearUI_Input.h create mode 100644 Archive/OMX-27-firmware/src/config.cpp create mode 100644 Archive/OMX-27-firmware/src/config.h create mode 100644 Archive/OMX-27-firmware/src/consts/colors.h create mode 100644 Archive/OMX-27-firmware/src/consts/consts.h create mode 100644 Archive/OMX-27-firmware/src/hardware/omx_disp.cpp create mode 100644 Archive/OMX-27-firmware/src/hardware/omx_disp.h create mode 100644 Archive/OMX-27-firmware/src/hardware/omx_keypad.cpp create mode 100644 Archive/OMX-27-firmware/src/hardware/omx_keypad.h create mode 100644 Archive/OMX-27-firmware/src/hardware/omx_leds.cpp create mode 100644 Archive/OMX-27-firmware/src/hardware/omx_leds.h create mode 100644 Archive/OMX-27-firmware/src/hardware/storage.cpp create mode 100644 Archive/OMX-27-firmware/src/hardware/storage.h create mode 100644 Archive/OMX-27-firmware/src/midi/midi.cpp create mode 100644 Archive/OMX-27-firmware/src/midi/midi.h create mode 100644 Archive/OMX-27-firmware/src/midi/noteoffs.cpp create mode 100644 Archive/OMX-27-firmware/src/midi/noteoffs.h create mode 100644 Archive/OMX-27-firmware/src/midi/sysex.cpp create mode 100644 Archive/OMX-27-firmware/src/midi/sysex.h create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_arpeggiator.cpp create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_arpeggiator.h create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_chance.cpp create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_chance.h create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_chord.cpp create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_chord.h create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_harmonizer.cpp create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_harmonizer.h create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_interface.cpp create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_interface.h create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_monophonic.cpp create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_monophonic.h create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_notemaster.cpp create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_notemaster.h create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_notetracker.cpp create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_notetracker.h create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_randomizer.cpp create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_randomizer.h create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_repeat.cpp create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_repeat.h create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_scaler.cpp create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_scaler.h create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_selector.cpp create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_selector.h create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_transpose.cpp create mode 100644 Archive/OMX-27-firmware/src/midifx/midifx_transpose.h create mode 100644 Archive/OMX-27-firmware/src/midimacro/midimacro_deluge.cpp create mode 100644 Archive/OMX-27-firmware/src/midimacro/midimacro_deluge.h create mode 100644 Archive/OMX-27-firmware/src/midimacro/midimacro_interface.cpp create mode 100644 Archive/OMX-27-firmware/src/midimacro/midimacro_interface.h create mode 100644 Archive/OMX-27-firmware/src/midimacro/midimacro_m8.cpp create mode 100644 Archive/OMX-27-firmware/src/midimacro/midimacro_m8.h create mode 100644 Archive/OMX-27-firmware/src/midimacro/midimacro_norns.cpp create mode 100644 Archive/OMX-27-firmware/src/midimacro/midimacro_norns.h create mode 100644 Archive/OMX-27-firmware/src/modes/euclidean_sequencer.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/euclidean_sequencer.h create mode 100644 Archive/OMX-27-firmware/src/modes/omx_mode_chords.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/omx_mode_chords.h create mode 100644 Archive/OMX-27-firmware/src/modes/omx_mode_drum.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/omx_mode_drum.h create mode 100644 Archive/OMX-27-firmware/src/modes/omx_mode_euclidean.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/omx_mode_euclidean.h create mode 100644 Archive/OMX-27-firmware/src/modes/omx_mode_grids.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/omx_mode_grids.h create mode 100644 Archive/OMX-27-firmware/src/modes/omx_mode_interface.h create mode 100644 Archive/OMX-27-firmware/src/modes/omx_mode_midi_keyboard.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/omx_mode_midi_keyboard.h create mode 100644 Archive/OMX-27-firmware/src/modes/omx_mode_sequencer.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/omx_mode_sequencer.h create mode 100644 Archive/OMX-27-firmware/src/modes/omx_screensaver.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/omx_screensaver.h create mode 100644 Archive/OMX-27-firmware/src/modes/retro_grids.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/retro_grids.h create mode 100644 Archive/OMX-27-firmware/src/modes/sequencer.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/sequencer.h create mode 100644 Archive/OMX-27-firmware/src/modes/submodes/submode_clearstorage.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/submodes/submode_clearstorage.h create mode 100644 Archive/OMX-27-firmware/src/modes/submodes/submode_interface.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/submodes/submode_interface.h create mode 100644 Archive/OMX-27-firmware/src/modes/submodes/submode_midifxgroup.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/submodes/submode_midifxgroup.h create mode 100644 Archive/OMX-27-firmware/src/modes/submodes/submode_potconfig.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/submodes/submode_potconfig.h create mode 100644 Archive/OMX-27-firmware/src/modes/submodes/submode_preset.cpp create mode 100644 Archive/OMX-27-firmware/src/modes/submodes/submode_preset.h create mode 100644 Archive/OMX-27-firmware/src/utils/PotPickupUtil.cpp create mode 100644 Archive/OMX-27-firmware/src/utils/PotPickupUtil.h create mode 100644 Archive/OMX-27-firmware/src/utils/RamMonitor.h create mode 100644 Archive/OMX-27-firmware/src/utils/chord_structs.h create mode 100644 Archive/OMX-27-firmware/src/utils/chord_util.cpp create mode 100644 Archive/OMX-27-firmware/src/utils/chord_util.h create mode 100644 Archive/OMX-27-firmware/src/utils/cvNote_util.cpp create mode 100644 Archive/OMX-27-firmware/src/utils/cvNote_util.h create mode 100644 Archive/OMX-27-firmware/src/utils/logic_util.h create mode 100644 Archive/OMX-27-firmware/src/utils/music_scales.cpp create mode 100644 Archive/OMX-27-firmware/src/utils/music_scales.h create mode 100644 Archive/OMX-27-firmware/src/utils/omx_util.cpp create mode 100644 Archive/OMX-27-firmware/src/utils/omx_util.h create mode 100644 Archive/OMX-27-firmware/src/utils/param_manager.cpp create mode 100644 Archive/OMX-27-firmware/src/utils/param_manager.h rename {OMX-27-firmware => Archive/OMX-27-firmware}/usb_names.c (100%) create mode 100644 Archive/OMX27_CheatSheet.pdf create mode 100644 Archive/README.md create mode 100644 Archive/build/BOM.md create mode 100644 Archive/build/Build-Kit.md rename {build => Archive/build}/buildpix/OMX-27-bottom.png (100%) rename {build => Archive/build}/buildpix/OMX-27-build-caps.png (100%) rename {build => Archive/build}/buildpix/OMX-27-build-diodes.png (100%) rename {build => Archive/build}/buildpix/OMX-27-build-leds.png (100%) rename {build => Archive/build}/buildpix/OMX-27-build-resistors.png (100%) rename {build => Archive/build}/buildpix/OMX-27-ic.png (100%) rename {build => Archive/build}/buildpix/OMX-27-top.png (100%) rename {build => Archive/build}/buildpix/T4-jig.jpg (100%) rename {build => Archive/build}/buildpix/T4-jig2.jpg (100%) rename {build => Archive/build}/buildpix/acrylic-spacer.jpg (100%) rename {build => Archive/build}/buildpix/bottom-plate-nocover.jpg (100%) rename {build => Archive/build}/buildpix/keycap-install.jpg (100%) rename {build => Archive/build}/buildpix/keyswitch-back.jpg (100%) rename {build => Archive/build}/buildpix/keyswitch-front.jpg (100%) rename {build => Archive/build}/buildpix/keyswitch-single.jpg (100%) rename {build => Archive/build}/buildpix/keyswitches-assemble-1.jpg (100%) rename {build => Archive/build}/buildpix/keyswitches-assemble-2.jpg (100%) rename {build => Archive/build}/buildpix/leds1.png (100%) rename {build => Archive/build}/buildpix/leds2.png (100%) rename {build => Archive/build}/buildpix/leds3.png (100%) rename {build => Archive/build}/buildpix/oled-plastic.jpg (100%) rename {build => Archive/build}/buildpix/oled-soldered.jpg (100%) rename {build => Archive/build}/buildpix/pots-closeup.jpg (100%) rename {build => Archive/build}/buildpix/pots-soldered.jpg (100%) rename {build => Archive/build}/buildpix/startup-leds.jpg (100%) rename {build => Archive/build}/buildpix/switch-test-aux.jpg (100%) rename {build => Archive/build}/buildpix/switch-test.jpg (100%) rename {build => Archive/build}/buildpix/teensy-flush.jpg (100%) rename {build => Archive/build}/buildpix/teensy-reverse.jpg (100%) rename {build => Archive/build}/buildpix/teensy-soldered.jpg (100%) rename {build => Archive/build}/buildpix/teensy_jig_1.jpg (100%) rename {build => Archive/build}/buildpix/teensy_jig_2.jpg (100%) rename {build => Archive/build}/buildpix/teensy_jig_3.jpg (100%) rename {build => Archive/build}/buildpix/teensy_jig_4.jpg (100%) rename {build => Archive/build}/buildpix/teensy_jig_5.jpg (100%) rename {build => Archive/build}/buildpix/top-plate-cover.jpg (100%) rename {build => Archive/build}/buildpix/top-plate-nocover.jpg (100%) rename changelog.md => Archive/changelog.md (100%) rename {clear_storage => Archive/clear_storage}/clear_storage.T32.hex (100%) rename {clear_storage => Archive/clear_storage}/clear_storage.T4.hex (100%) rename {clear_storage => Archive/clear_storage}/clear_storage.ino (100%) rename {clear_storage => Archive/clear_storage}/register_storage_target.py (100%) rename {eeprom_clear => Archive/eeprom_clear}/README.md (100%) rename {eeprom_clear => Archive/eeprom_clear}/eeprom_clear.hex (100%) rename {eeprom_clear => Archive/eeprom_clear}/eeprom_clear.ino (100%) create mode 100644 Archive/images/omx27_layout2.png create mode 100644 Archive/images/omx27_layout3.png create mode 100644 Archive/images/omx27_layout4.png create mode 100644 Archive/images/omx27_m8macro.png rename {images => Archive/images}/tyupdater.png (100%) rename {plates => Archive/plates}/OMX-27-bottom.ai (100%) rename {plates => Archive/plates}/OMX-27-keyplate2.ai (100%) rename {plates => Archive/plates}/OMX-27-keyplate3.ai (100%) rename {plates => Archive/plates}/OMX-27-midplate-spacer.ai (100%) rename {plates => Archive/plates}/OMX-27-outline.ai (100%) rename {plates => Archive/plates}/OMX-keyboard-layout.txt (100%) rename {plates => Archive/plates}/OMX-plate-layout.txt (100%) rename {plates => Archive/plates}/teensy3.2-flush-spacer.ai (100%) create mode 100644 Archive/platformio.ini rename todo.md => Archive/todo.md (100%) create mode 100644 OMX-27-firmware/src/globals.cpp create mode 100644 OMX-27-firmware/src/globals.h create mode 100644 OMX-27-firmware/src/midi/MIDIClockStats.h diff --git a/.DS_Store b/.DS_Store index 0317e0dcd229a06f39b3dee4defb03068dcaa9b1..62c816d8096f0c8eee533e77b35bd3a937899351 100644 GIT binary patch delta 440 zcmZoEXepTB&nPi5AdHb=lCbQ?Bkuf+T$6bOWH+A_T)`+}WMQtOU}R!gtD{hDVQ8wO zU~XVM*-_AV^A6!jY?G~|r8izQW1sjyfRT4IkAekzJv)OVLlHwVLk2@8Lm5MAN^x>d zQht680}!A|<)j-1C+FuDfTW-RO+{|Li%U{YeiBfYgLiV5vU&7zM<5$RRSH6t22N!K e87S6Gc2HMkWSE?$ere-H752^S2DU@W?UDd!BW0!l delta 471 zcmZoEXepTB&nP`HAdHc5a)O}j#v|_hj6#!n1Z3-Z8Il=t7*ZJ$8HyO<8HyQ781jLv zM22*R)Rf}noTU8x97YBP26hH#xUx_NPnZ-?hJgpDJC&gTs4Jf#7ib3DJeVSoem({_ zhD@N6T!wP6RjCZR3?4vjtQA0_cygd%gNT`>xsHONv3aeILbaKZsg8oVnZ@Ka3dU}@ z^n$e#V+mN{W+{Q~j5saXEFm + +OMX-27 is a MIDI Keyboard and Sequencer. Both USBMIDI (in/out) and hardware MIDI out (via 1.8" TRS jack) are supported. Various "modes" can be accessed with the encoder and specific functions, parameters or sub-modes can be accessed with the encoder or key-presses/key-combinations. + +Sequencer modes have 8 patterns (tracks). Sequencer modes currently send MIDI clock and transport control (start/stop) by default. + +CV pitch output is limited to about 4.3 octaves. + +USBMIDI should be plug-and-play with any USBMIDI compatible host. iPad works great with the camera connection kit or a [lightning to usb micro cable](https://www.amazon.com/gp/product/B09KLXNYHL). Hardware MIDI TRS output jack is switchable between Type-A and Type-B. + +## Layout + +omx27_layout3 + +## Encoder + +The encoder is the knob directly to the right of the display. + +You can use the encoder to modify parameters and change the selected parameter and page. + +Short press the encoder once to toggle between selecting parameters and editing them. The selected parameter will be highlighted to reflect which mode you are in. + +Long press the encoder to change to a different mode. Once in mode selection, turn the encoder, then short-press to enter the selected mode. + +## AUX Key + +The top left key is the AUX Key. + +In the MIDI Keyboard and Chords modes, holding this key gives you access to shortcuts. + +In the sequencer modes, this key is a dedicated start stop button. + +This key is also used in many places to quickly edit a parameter. To do this, hold down aux and turn the encoder to quickly edit the selected parameter without needing to press the encoder. If the encoder was already pressed, it is locked in edit mode and the aux shortcut won't work until you exit by pressing the encoder again. + +If you are in a submode, the AUX Key can be used to exit out to the main mode. + +## Potentiometers + +The OMX-27 has 5 potentiometers which are mapped to send continuous controller MIDI messages (CCs). There are 5 banks of CCs available. You can switch banks using the PBNK parameter in the MI and DRUM Modes. + +Bank A is selected by default with the CCs set to controller numbers 21, 22, 23, 24 and 7 (volume). + +The CC's can also be reconfigured on device in the [CC Config page](#ccconfig), which is found on the last page of the MI Mode parameters. You can also configure the CC banks all at once via the [web configurator](https://okyeron.github.io/OMX-27/webconfig/index.html). + +## Key Switches + +The functions of the key switches changes depending on which mode you are in. + +In MI Mode, the key switches work like a normal MIDI keyboard. + +In other modes, the keys have specific functions depending on the mode or submode. Most key interactions should also light up that key's LED. + +In this documentation keys will be referred to by number, from left to right and position, top or bottom. Mentions of "White" or "Black" keys are in reference to a standard piano keyboard layout. + +### "Black keys" (sharp/flat keyboard keys) + +The top row (black) keys are referenced as **Top 1-10**. + +The first 2 black keys are Function Keys (FUNC) +- F1 - First black key +- F2 - Second black key + +FUNC keys are used to perform various shortcuts depending on the mode. + +The other black key functions depend on the current mode. + +### "White keys" (bottom row) + +The bottom row (white) keys are referenced as **Bottom 1-16**. + +These have different functions depending on the current mode. For example, in sequencer modes, these are the sequencer step on/off keys. + +## Changing Modes + +The OMX-27 has multiple modes. Each is independent - only one mode can be used at a time. + +Long press the encoder to change modes. + +## Sub-Modes + +Certain actions will cause you to enter a sub-mode, some examples could be editing MidiFX, configuring the pots, or saving/loading presets. If you are in a sub-mode, the AUX key will typically be flashing or red. A quick press of the AUX key will exit the sub-mode. + +## Macro-Modes + +Macro modes are like sub-modes in that they are an alternate mode. Macro-modes can take over the keys, display, encoder, and pots. + +Macro modes are specialized modes designed to be used to control external gear like the M8, Norns, and Deluge. + +You can enter and exit macro modes by double clicking the AUX key in the root level mode. + +Learn more about macro modes [here](#mimacromodes) + + +## Saving Session State + +To save your current session to memory, first enter Mode Select by holding the encoder. While this is active press AUX to save. + +The next time you restart your device, your last active mode will be loaded, and saved patterns and settings will be recalled. + +Saving is a long operation and not recommended to do while in the middle of a performance. + +--- + +# Modes + +The OMX-27 has multiple modes. Each is independent - only one mode can be used at a time. + +Long press the encoder to change modes. + +The current modes are: +- [MI - Midi Keyboard](#mimode) +- [DRUM - Drum Keyboard](#drummode) +- [CH - Chords](#chordsmode) +- [S1](#s1mode) - A step sequencer with 8 patterns that can be up to 64 steps. Only one pattern can be active at a time +- [S2](#s2mode) - The same as S1 but all 8 patterns are active +- [GR - Grids Sequencer](#gridsmode) (A rhythm sequencer based on Mutable Instruments Grids) +- [EL - Euclidean Sequencer](#elmode) +- [OM - Organelle Mother](#organellemode) + +## MI - MIDI + +MIDI Keyboard. This mode makes the 26 keys act like a normal musical keyboard on a chromatic scale. + +### AUX Key: + +The top left key standing by it's lonesome is the AUX Key. While holding down this key, the other 26 keys will no longer play musical notes and instead give you access to quick shortcuts. + +Holding the AUX key will let you quickly edit the selected parameter. To do this, hold down aux and turn the encoder to quickly edit the selected parameter without needing to click the encoder. If the encoder was already clicked, it is locked in edit mode and the aux shortcut won't work until you exit by pressing the encoder again. + +If you are in a submode like editing midi fx or the arp, the AUX Key can be used to exit out to the main mode. + +### KEYS & LEDS + +Each of the 26 keys will play a note on the chromatic scale. The keys will light up when pressed. They will also light up to show incoming midi notes. + +If a scale is enabled, the keys that are in the scale will be lit up. + +### KEYS & LEDS - AUX Button Held + +Hold down the AUX key to access quick functions. + +#### Top Keys +- **[1] Previous Parameter** : Selects the previous parameter in the menu +- **[2] Next Parameter** : Selects the next parameter in the menu + +##### MidiFX +Select which midifx slot to send the keyboard notes to. +Double click or long hold a MidiFX key to enter the MidiFX sub-mode and edit the effects. +See [MidiFX](#midifx) for more info. + +- **[5] MidiFX Off** : Notes from the drum key will be sent directly out +- **[6] MidiFX 1** +- **[7] MidiFX 2** +- **[8] MidiFX 3** +- **[9] MidiFX 4** +- **[10] MidiFX 5** + +#### Bottom Keys +##### The Highest Highs and Lowest Lows +- **[1] Octave Down** +- **[2] Octave Up** + +##### Arpeggiator +- **[12] Edit Params** : Enters a pass through arp edit sub-mode allowing you to edit arp values and also play the keyboard. You can also edit the arp in the MidiFX sub-mode but will need to exit the sub-mode to play the keyboard. +- **[13] Change Pattern** : Cycles through arpeggiator patterns +- **[14] Change Octave** : Cycles through arpeggiator octave ranges +- **[15] Toggle Hold** : Toggles the arpeggiator hold function +- **[16] Power** : Toggles the arpeggiator on and off + +### Menu Pages + +**Page 1 - Midi Out:** +- `OCT`: Current Octave +- `CH`: Active MIDI Channel +- `VEL`: The velocity level for midi notes + +**Page 2 - Inspect:** +Not editable, this shows which notes and CC's have been sent. +- `P CC` : Pot CC, this is the CC number of the last pot that was used. +- `P Val` : This is that last CC value of the last pot that was used. +- `NOTE` : This is the number of the last note that was sent. Note that notes generated by MidiFX will not be seen here. +- `VEL` : This is the velocity of the last note that was sent. + +**Page 3 - Midi Tools:** +- `RR`: RoundRobin MIDI Channel distribution +- `RROF`: RR offset value +- `PGM`: MIDI program change +- `BNK`: MIDI bank select. + +**Page 4 - Pots & Macros:** +- `PBNK`: Potentiometer bank select +- `THRU`: When "On" incoming USBMIDI is passed to TRS MIDI Out. +- `MCRO`: MIDI Macro Mode Select (default is OFF) +- `M-CH`: MIDI Macro Mode Channel + +**Page 5 - Scales:** +- `ROOT` : Select the root note for scale mode +- `SCALE` : Select a scale or turn off scale mode +- `LOCK` : Locks to the active scale. If this is enabled, you can only play notes in the scale +- `GROUP` : Groups all the notes of the scale across the lower row of 16 keys. + +**Page 6 - Config:** +- `CC` : Function, press down on the encoder to use. This enters the configuration tool for setting up the CC values for each pot bank. + +### Musical Scales + +Scales can be turned on using the 5th parameter page. When a scale is enabled, the keys in the scale light up, and the root notes light up a brighter color. You can still play chromatically and out of key. + +Enabling the 'LOCK' param makes it so only the notes in the scale send midi notes out. + +Turning on the 'GROUP' parameter maps the scale across the lower row of 16 keys. The root note starts on bottom key 2 which would normally be a C in chromatic mode. + +These scale settings also control the scale of the Scaler MidiFX when they are set to use the global scale. + +### CC Configuration Submode + +This mode lets you change the CC values that the potentiometers send out. + +Bottom Keys 1-5 let you quickly change the selected bank. + +Press the AUX key to exit. + +### MidiFX + +MidiFX are effects that can be applied after midi data is generated by playing keys or a sequencer and before any midi data goes out of the device. + +MidiFX can currently only be used within the: MIDI Keyboard (MI), Chords (CH) and Euclidian (EL) modes. + +MidiFX currently only work on internally generated midi, but may support external midi coming in from USB in the future. + +MidiFX are arranged in groups of 8 MidiFX. A group of 8 is called a MidiFX Group. In the MI Mode, midi notes generated by playing the keyboard can only be routed to one MidiFX Group. In the sequencer modes, midi notes can be routed to different MidiFX groups by track. + +Think of a MidiFX group as a pedalboard for Midi. Midi data comes in from the left and go to MidiFX slot 1, then out of slot 1 to slot 2, until slot 8, then out of the device. + +You can change the active MidiFX group in the MI Mode and the Chords modes by holding aux and pressing one of the Top Keys 6-10. + +To enter the MidiFX submode, hold AUX, then hold or double click on a MidiFX Key(Top Keys 6-10). + +Top Key 1: Copy +Top Key 2: Paste +Top Key 1 + 2: Cut +Top Keys 3 - 10: Select a MidiFX slot +Bottom Keys: Add or change the type of MidiFX for a slot. You must hold down the MidiFX slot key in order to change. + +To move a MidiFX slot around, you can either cut and paste, or you can hold a MidiFX slot key and turn the encoder. + +There are several different MidiFX available for each slot. Select a MidiFX slot, and you can edit the parameters for that instance of a MidiFX. + +Each MidiFX type has a chance parameter. If this is less than 100%, than there is a chance this effect will not be applied. + +Available MidiFX: +- Chance: Uses randomness to determine if a note passes through: 100% or gets killed: 0% +- Transpose: Transpose midi notes by semitones or octaves +- Randomizer: Randomize notes by range, octaves, velocities, and note lengths. +- Harmonizer: Generate multiple notes from a single note. Great for 1 key chords, or to randomly play chords by setting it's chance parameter to less than 100% +- Scaler: This forces notes into a specific scale. + - By default this uses the global scale. Modifying the root and scale pattern parameters changes the global scale. + - You can turn 'GLBL' to off to make this MidiFX instance use it's own unique root and scale pattern. +- Make Mono: This forces polyphonic midi notes into monophonic. +- Arpeggiator: This is an advanced arpeggiator. An arpeggiator MidiFX is automatically added to a MidiFX group if you use any of the arpeggiator AUX quick keys. + - Try combining the arpeggiator with other MidiFX either before or after the arpeggiator for interesting effects. + - Arpeggiators are reasonably resource intensive, try to avoid using more than 3 of them in a MidiFX group for optimal performance. + +### Arpeggiator + +The arpeggiator is an advanced arpeggiator with many different combinations of patterns, Mod Patterns, and Transpose patterns. + +The arpeggiator is actually a MidiFX and is only available in the modes that support MidiFX: MIDI Keyboard (MI), Chords (CH), and Euclidian Sequencer (EL). + +In MIDI Keyboard and Chords modes, holding AUX allows you to quickly change basic settings of the arpeggiator. In order to access the more advanced functionalities, you need to access the arpeggiator parameters by either entering the MidiFX Group submode or by accessing the Arpeggiator pass-through mode by using AUX + Bottom Key 12. + +The arpeggiator sends clock when in use. + +#### Arp Menu Pages: + +**Page 1 - Arp Settings 1:** +- `MODE`: Arpeggiator mode: On, 1-Shot, Once, Hold +- `PAT`: The pattern of the arpeggiator +- `RSET`: Determines what will cause the arpeggiator to reset +- `CHC%`: How likely an incoming note will be used with the arpeggiator. Try playing with in the euclidean sequencer mode + +**Page 2 - Arp Settings 2:** +- `RATE`: How fast the arpeggiator plays +- `RANG`: How many octaves to advance through +- `GATE`: How long a note coming out of the arpeggiator is +- `BPM`: Controls the master tempo + +**Page 3 - Arp Settings 3:** +- `ODIST`: How many semitones to consider an octave. Set to -12 to make the arpeggiator go downwards. Set to a semitone offset if you like to get weird + +**Page 4 - Inspect:** +These are not modifyable +- `VEL` : Velocity based on first notes that turn on the arp +- `CHAN` : First note that starts the arp sets the channel +- `MIDI` : If midi data is output +- `CV` : If CV data is output + +**Page 5 - Mod Pattern:** +- Each of the 16 steps can be used to modify the arp pattern in various ways + +**Page 6 - Transpose Pattern:** +- Each of the 16 steps can be used to transpose notes in semitones +- Recommend trying to use for some cool one key bass patterns + + +### MIDI Macro Modes + +Midi macro modes are specialized Midi controller modes designed to be used with specific hardware that can be controlled via Midi. + +If a midi macro is selected, you can double click the AUX key to enter the midi macro mode, and double click the AUX key to exit the macro mode. + +Midi macro modes send control midi commands on the Midi Macro channel, which is `M-CH` in the parameters. + +Macro modes are supported in the MI and DRUM modes. + + +#### M8 Macro Mode + +From MI Mode, be sure `M8` is selected from the `MCRO` parameter and then double click the AUX button to enter Macro Mode. + +`M-CH` should be set to the same value as the Control Map Channel in the M8 MIDI settings screen. Default is set to channel 10. + +Double click the AUX button again to exit Macro Mode. + +The M8 macro mode has two pages, which change what the Keys do. + +* Mute Solo Page: + +The bottom row of keys correspond to mutes (orange) and solos (red). The top "black keys" are as follows: + +``` +Orange - release all mutes +Lime - go to mixer screen +Cyan - snapshot load/paste * +Magenta - snapshot save/enter selection mode * +Red - release all solos +Yellow - waveform display +Blue - play +``` +omx27_m8_macro_mode + +When M8 is selected from the `MCRO` parameter - potentiometers send on the `M-CH` MIDI channel in both regular keyboard mode and in the macro mode. However, notes played on keys send on the currently selected `CH` MIDI channel. + +**Notes:** +* M8 must be on the Mixer view for snapshots. +* Snapshot Load uses the M8 key combo [SHIFT]+[OPTION]. On any view with a grid (song, chain, phrase, table, etc.) this key enters selection mode. +* Snapshot Save uses the M8 key combo [SHIFT]+[EDIT]. On any view with a grid this key pastes the copied contents from selection mode. + +* Control Page: + +This page lets you navigate the M8 using the keys on the device instead of the keys on the M8. + +Top Key 1 and Bottoms Keys 1-3: These correspond to the directional arrow keys. + +Top Key 4: Option Key +Top Key 5: Edit Key +Bottom Key 6: Shift Key +Bottom Key 7: Play Key + +The right half of the Keyboard is a 1-octave midi keyboard that sends notes on the same midi channel as when not in macro mode. + +#### Norns Macro Mode + +The Norns macro mode gives you the ability to control the Monome Norns using the OMX-27. In this mode, you can control the three buttons and three encoders using the OMX-27. This is useful if your norns is not located close by and you would like to control it. + +Find the `MCRO` parameter in the menu and select `NRN` to enable the Norns Macro mode. + +Double click the AUX button to enter Macro Mode. Double click the AUX button again to exit Macro Mode. + +##### Norns Setup +In order for this to work, you will need to setup the [qremote mod](#https://llllllll.co/t/qremote/57549) on your norns. + +Obtain the mod here: https://llllllll.co/t/qremote/57549 + +or install in Maiden +`;install https://github.com/Quixotic7/qremote` + +Enable the mod in the mod menu of norns, connect your OMX-27 to the norns and restart. The easiest way to connect the OMX-27 is to simply use a USB port on the norns. + +The qremote mod will default to using midi channel 10. If you are using defaults, make sure your OMX-27 Macro Channel `M-Chan` is set to 10. + +Use the default configuration for encoders and buttons: + +The default cc’s for the encoders are 58, 62, & 63 + +The default cc’s for the buttons are 85, 87, & 88 + +You can change these in the parameter menu. Or edit the script to change the defaults. + + +##### Norns Buttons +These act the same as if pressing the buttons on the Norns. +- **[Top 3] B1** +- **[Bot 4] B2** +- **[Bot 5] B3** + +##### Norns Encoders +Use the OMX-27 Encoder to control one of the Norn's encoders. Since the OMX-27 only has one encoder, shortcut keys are used to determine which encoder will be controlled. +- **[Top 5] Enc 1** +- **[Bot 6] Enc 2** +- **[Bot 7] Enc 3** + +##### Norns Navigation +The keys of the OMX-27 are used to emulate up/down left/right keys useful for menu navigation. These work by controlling encoder 1 or encoder 2, sending one tick either clockwise or counter-clockwise. +- **[Top 1] Up** +- **[Bot 1] Left** +- **[Bot 2] Down** +- **[Bot 3] Right** + + +#### Deluge Macro Mode + +The latest Deluge Community Firmware has added a new feature called Midi-Follow. + +https://github.com/SynthstromAudible/DelugeFirmware/blob/community/docs/features/midi_follow_mode.md + +This mode provides default CC mappings to control many of the synth parameters with a midi controller and to be able to play the active instrument without needing to midi learn everything. + +This Macro Mode provides parameter banks to control every available parameter on the Deluge using the 5 pots of the OMX-27. The Deluge will also send back the values of the parameters to the OMX-27 which will update the values in each bank on the OMX-27. This will only work if you are connected via USB as the OMX-27 does not have TRS Midi-in. Values are updated when changing them from the gold knobs, or from edit view, when entering a clip view, or when changing a synth or kit. + +##### Deluge Setup + +Download and install the latest Deluge Nightly Firmware: https://github.com/SynthstromAudible/DelugeFirmware/releases . This Midi-Follow feature is not included in the 1.0.1 release. There is also a new beta build released which should have the feature, but it is not confirmed. + +To install the FW, place the `.bin` file on your sd card, ensuring there are no other `.bin` files. Carefully reinsert the SD Card in the Deluge, if it is misangled it can fall into the device. Turn on the Deluge while holding the shift key. + +Hold Shift + Click the main Select Knob, find Midi, click the Select Knob, find "MIDI-FOLLOW", click the select Knob, find "CHANNEL", click the select Knob, set each channel to something, I recommend channel 10. Also from the "MIDI-FOLLOW" level, select "FEEDBACK" and set the channel to 10 as well. + +For further help see https://github.com/SynthstromAudible/DelugeFirmware/blob/community/docs/features/midi_follow_mode.md + +##### OMX Setup + +Find the `MCRO` parameter in the menu and select `DEL` to enable the Deluge Macro mode. Change Macro Channel `M-CH` to 10 or whatever you set your Deluge to. + +Double click the AUX button to enter Macro Mode. Double click the AUX button again to exit Macro Mode. + +##### KEYS & LEDS +The keyboard is split into two halves. + +The right octave of the keyboard works the same as the midi keyboard from MI Mode and will inherit it's settings. + +The left half of the keyboard is dedicated to selecting different banks of parameters. + +Some keys will have multiple banks assigned to them, to access the other banks, click the key a second time. + +- **[Top 1] Env 1** +- **[Top 2] Env 2** +- **[Top 3] LPF** +- **[Top 4] HPF** +- **[Top 5] EQ** +- **[Bot 1] Master** +- **[Bot 2] OSC 1** +- **[Bot 2] FM 1** : Click the key a second time +- **[Bot 3] OSC 2** +- **[Bot 3] FM 2** : Click the key a second time +- **[Bot 4] LFO Delay Reverb** +- **[Bot 4] ModFX** : Click the key a second time +- **[Bot 5] Distortion Noise** +- **[Bot 6] Arp Sidechain** +- **[Bot 7] Custom 1** : Bank of 5 parameters you can midi learn to whatever +- **[Bot 7] Custom 2** : Click the key a second time + +##### KEYS & LEDS - AUX Button Held + +###### Select a parameter +This will select a parameter. If you click the encoder to enter edit mode the encoder can be used to change the value without needing to pickup the pot. +- **[Top 1] Param 1** +- **[Top 2] Param 2** +- **[Top 3] Param 3** +- **[Top 4] Param 4** +- **[Top 5] Param 5** + + +###### Change octave +This effects the keyboard on the right half. +- **[Bot 1] Octave Down** +- **[Bot 2] Octave Up** + +###### Lock the AUX View +This locks the AUX view, allowing you to use the AUX shortcuts without holding down the AUX key. To unlock, use the AUX button again or press the lock AUX key. +- **[Bot 4] Lock AUX** + +###### Revert Values +This will revert the values of the current bank to their previous state. The previous state is saved whenever the bank is changed, or when the values are updated from incoming Midi from the Deluge. This is fun to play with with the effects, crank up the bitcrush, delay, or reverb temporally, then press this button to revert it back to what it previously was. +- **[Bot 8] Revert Bank** + + +##### POT Pickups +Depending on which bank is selected, the OMX-27 will send out different CC's for each of the 5 potentiometers. When a change is detected on a pot, the screen will update to show the name of the current bank, parameter, and value that is being sent. + +In the MI and Drum modes, the pot values that are sent jump to the current position of the pot. In the Deluge Macro, you will need to pickup the value before it is sent. The small triangle on the screen represents the current raw value of the pot, the horizontal bar represents the value for that parameter. You will need to turn the knob left or right to pickup the value. + +The Deluge can also be setup to pickup, however this macro will work best if the Deluge is set to jump. + +##### Encoder +The encoder can be used to send out values without needing it to be picked up. To edit a parameter, click the encoder, then turn. There is not currently a visual representation to provide feedback for this. If you click the encoder again, you can scroll to change which parameter in the bank to control. You can also use the AUX shortcuts to quickly jump to parameters, or lightly wiggle a knob. + +--- + +## DRUM - Drum Keyboard + +This mode shares a lot in common with the MI mode. The main difference is that instead of each key being a key on a chromatic keyboard, each of the 26 keyboard keys can be assigned to send out a unique note, velocity, and midi channel. This is useful if you want to use the OMX to play an external drum machine or samples, or multiple drum machines on different midi channels, or for any purpose you'd like really, feel free to get creative! + +The grouping of 26 keys is called a "Drum Kit" and you can store up to 8 different drum kits on the OMX. + +Press any key to play it. A note on will be sent when pushed and a note off will be sent once released. + +**Selected Drum Key** - This is the last key that was pressed down, it is visually represented by a flashing LED. + +The first two pages on the OMX display can be used to change the settings for the selected drum key. Each key can be configured to send a unique note number, velocity, midi channel, and be routed to one of the 5 MidiFX slots. Yes, you can use multiple MidiFX at once. You could have one drum key be routed to MidiFX 1 which has an arp to play a bassline, another key could go to MidiFX 2 with a different arp to play a melody, then another key could be setup to play a kick drum which is routed to MidiFX 3 which has a randomizer enabled to randomly vary the velocity each time it is played. Go wild, get creative, there are no bounds, welcome to OMX! + +### Menu Pages +**Page 1 - DrumKey 1:** +Values apply to the selected drum key +- `NOTE` : Midi note number that the drum key will send +- `CH` : Midi Channel that the drum key will send +- `VEL` : Velocity of the note the drum key sends +- `FX#` : Number of the MidiFX slot that the note is sent to + +**Page 2 - DrumKey 2:** +- `HUE` : Changes the color of the selected drum key +- `HUE RND` : Function, press down on the encoder to use. This will randomize all the hues in the current drum kit. + +**Page 3 - Scales:** +This changes the current scale settings. While a scale won't normally apply to the drum kit, the scale settings are shared globally with the MidiFX. So if you are using a scale MidiFX, this makes it easy to change up the scale without needing to edit the MidiFX. +- `ROOT` : Root note of the scale. +- `SCALE` : Which scale to use. +- `LOCK` : Only notes in the scale can be played, has no effect on the drum kit keys. +- `GROUP` : Groups the notes in keyboard view accross the lower keys, no effect on the drum kit keys. + +**Page 4 - Inspect:** +Not editable, this shows which notes and CC's have been sent. +- `P CC` : Pot CC, this is the CC number of the last pot that was used. +- `P Val` : This is that last CC value of the last pot that was used. +- `NOTE` : This is the number of the last note that was sent. Note that notes generated by MidiFX will not be seen here. +- `VEL` : This is the velocity of the last note that was sent. + +**Page 5 - Pots & Macros:** +Settings for the potbank, midi, and macro modes. +- `PBNK` : Pot Bank - Determines which potbank is active. +- `THRU` : Midi Thru - If this is on, incoming midi from USB will be sent out the TRS midi jack. +- `MCRO` : Macro - Determines which macro is active. Macros can be entered by double clicking the AUX key. +- `M-CH` : Macro channel - Determines which midi channel is used by the macro. + +**Page 6 - Config** +- `CC CFG` : Function, press down on the encoder to use. This enters the configuration tool for setting up the CC values for each pot bank. + +### KEYS & LEDS - Main Screen +Each key represents a drum pad in your drum kit. + +Pressing a key will send a note on. Releasing it will send a note off. Which note is sent for each key can be configured by pressing the key, then editing it's varaibles in page 1 and 2 of the menu. + +The flashing key is the Selected Drum Key. + +Each key can be any color determine by the HUE variable of each drum key. + +### KEYS & LEDS - AUX Button Held +Hold down the AUX key to access quick functions. + +#### Top Keys +- **[1] Previous Parameter** : Selects the previous parameter in the menu +- **[2] Next Parameter** : Selects the next parameter in the menu + +##### saving and loading drum kits +- **[3] Load Kit** : Use this to load a kit +- **[4] Save Kit** : Use this to save a kit + +##### MidiFX +Unlike the MI Keyboard mode, the midifx slot only applys to the selected drum key. +See MidiFX for more info. +- **[5] MidiFX Off** : Notes from the drum key will be sent directly out +- **[6] MidiFX 1** +- **[7] MidiFX 2** +- **[8] MidiFX 3** +- **[9] MidiFX 4** +- **[10] MidiFX 5** + +#### Bottom Keys +##### Quickly switch kits +- **[1] Load Prev Kit** : Loads the next kit out of 8, any changes to the current kit will be autosaved +- **[2] Load Next Kit** : Loads the previous kit out of 8, any changes to the current kit will be autosaved + +##### Arpeggiator +- **[12] Edit Params** : Enters a pass through arp edit sub-mode allowing you to edit arp values and also play the keyboard. You can also edit the arp in the MidiFX sub-mode but will need to exit the sub-mode to play the keyboard. +- **[13] Change Pattern** : Cycles through arpeggiator patterns +- **[14] Change Octave** : Cycles through arpeggiator octave ranges +- **[15] Toggle Hold** : Toggles the arpeggiator hold function +- **[16] Power** : Toggles the arpeggiator on and off + +### Potentiometers + + + +--- + +## CH - Chords + +Ever wanted to play insanely complex chords with the click of a button? Well now you can! In Chord mode, the bottom 16 keys can each be assigned to play a unique chord. + +### UI Views + +There are two UI views: "Split" and "Full". This can be changed on page 2. By default, the UI layout is in "Split Mode" meaning the right half of the keyboard works like a 1 octave keyboard and the left half will give you 8 chords that can be played. In "Full" mode, each of the 16 bottom keys will play chords. + +### Key Modes + +There are several different modes available which can be switched using the top keys 3, 4, & 5. + +- **[Top 3] Play Mode** +- **[Top 4] Edit Mode** +- **[Top 5] Strum Mode** + +#### Play Mode +- **[Top 3] Play Mode** + +This mode is where you want to be if you would like to play chords and the keyboard(Split UI Mode) at the same time. Switching to this mode will bring the menu to the first page, displaying a keyboard that shows the notes of the last chord key that was pressed. You can still edit chords through the menu by switching pages. + +#### Edit Mode +- **[Top 4] Edit Mode** + +This mode is for editing the available chords and will bring the menu to the chord edit page. + +When in the edit mode and in the "Split" UI view, you can hold down a chord key on the left half and press a key on the right half to set the root note for basic chords. For interval chords, the right half will not change anything. + +The first two top keys, key 1 and key 2 act as function keys F1 and F2 in this mode. + +- **[Top 1 - F1] Edit Chord** : Holding F1 and pressing a chord key will enter a edit chord submode. +- **[Top 2 - F2] Copy Chord** : Holding F2 and pressing a chord key will save the selected chord to the newly selected chord slot. + +#### Strum Mode +- **[Top 5] Strum Mode** + +This mode allows you to strum chords using the encoder. The UI view will change to "Full" in this mode. + +To use this mode hold down a chord key and turn the encoder CW or CCW. Only the last pressed chord will be strummed. Multiple chords will not be strummed. + +##### Strum Pot Parameters. +In strum mode, the 5 pots are used to change the behaviour of the strum. + +- **[Pot 1] Sens - Sensitivity** : This determines how much the encoder needs to be turned to trigger a new note +- **[Pot 2] Wrap** : If this is off, the chord can be strummed once, if this is on, the chord will wrap back to the beginning like an arpeggio. +- **[Pot 3] Increment / Octave** : This is only valid if Wrap is on. If it is, each time the chord wraps the notes will increase by an octave. This value determines how many octaves will be added before resetting. +- **[Pot 4] Sustain** : This value determines how long each strum note will be played for. +- **[Pot 5] Not Assigned** + +### Chord Key Settings + +A chord key is either bottom key 1-8 in "Split" UI mode or bottom key 1-16 in "Full" UI Mode. Pushing a chord key will play a chord, and releasing the key will stop playing the chord. Multiple Chord Keys can be pressed at once, and also combined with the 1 Octave midi keyboard on the right half in "Split" UI mode. + +Each chord key can have a unique chord type, velocity, midi channel, and be routed to one of 5 MidiFX(#midifx) slots. + +The last chord key that was pressed becomes the selected chord key. This is visually represented on the LEDs as that key will stay lit up + +**Page 4 - Chord Key Settings:** +These parameters apply to the selected chord key +- `TYPE` : Determines the chord type: Basic`BASC` or Interval`INTV`, see section below on chord types. +- `MIFX` : Which [MidiFX](#midifx) will this chord be sent to? +- `VEL` : Velocity of the notes in the chord +- `MCHAN` : Midi channel of the notes that this chord gets sent to + +### Chord Types + +Two types of chords are currently available: Basic and Interval. Basic chords don't have many settings and are quick to tweak. Interval chords have a lot more options and are linked to the current global musical scale. + +#### Basic Chords +These chords have no relation to the current global musical scale. + +All the parameters are shown on a single page that will show 4 ghosts. + +- `NOTE` : Determines the root note of the chord +- `OCTAVE NUMBER` : Determines the octave of the root note +- `GHOSTS` : The ghosts determine how the chord is voiced. Each ghost represents the order of the notes in the chord. The vertical position of a ghost determines the velocity of that notes. A large white ghost will play a note in the same octave as the root note. A large black ghost will play a note one octave below. A short white ghost will play a note one octave above. +- `SCALE` : Determines the scale of the chord. The last scale is called "Custom" and will let you manually set the notes in the chord. + +##### Custom Chords +If `SCALE` is set to `Custom` an additional page in the menu will be revealed. In this page you can program up to 6 notes. + +The first 4 notes will be modified +- an octave, or turned off based on your `GHOST` settings + +The value of each note in a custom chord is defined as a semitone from the root note of the chord. For a C Maj basic triad chord, you would set this to `RT +4 +7` . `RT` means root note. + +#### Interval Chords +These chords are linked to the current global musical scale. If you play an interval chord and it does not sound good, start by seeing if you have a global scale enabled, and make sure it's not chromatic. + +##### Interval Menu Page 1 +- `#NTS` - Number of notes : How many notes to play, 1 - 4 +- `DEG` - Degree : Determines which degree of the the current global scale to start the chord on. If the global scale was C Maj, then Deg 0 would play a chord that starts on C, Deg 1 would play a chord that starts on D, Deg 6 would play a chord that starts on B. +- `OCT` - Octave : The octave of the chord is determined by the global octave +- this value. +- `TPS` - Transpose : This will transpose the chord by a seminote. Do note that if you transpose a interval chord it will no longer be in scale. + +##### Interval Menu Page 2 +- `SPRD` - Spread : This determines how many octaves the chord is spread out across the keyboard. +- `ROT` - Rotate : This rotates the notes of the chord. for a C Maj Triad, rot of 0 will play C E G, rot of 1 will make E the lowest note, playing E G C+1oct, rot of 2 will make G the lowest note +- `VOIC` - Voicing : Changes the voicing of the chord. Still stays in scale, but will shift notes or add additional notes. + +##### Interval Menu Page 3 +- `UPDN` - Spread Up & Down : This will spread the notes out in a negative octave and positive octave. +- `QRTV` - Quartal Harmony : This enables Quartal Harmony. I have no idea what this is doing music theory wise, but it sounds cool. Technically it's bumping the first note up two octaves, the third note up one octave, and the fourth note down 1 octave. It's supposed to separate the notes by 4ths. + +### Menu Pages + +##### Menu Page 1 - Keyboard +This page will display a keyboard on the screen showing which notes are being played from the last chord key that was pressed. + +##### Menu Page 2 - Chord Mode Settings +- `UI` : Change the UI View from `SPLIT` or `FULL`. Split view adds a 1-octave midi keyboard on the right half of the keys. in Full view, all 16 of the bottom keys play chords. + +##### Menu Page 3 - Keyboard Midi Settings +These settings apply to the 1-octave keyboard on the right side if the UI View is in `SPLIT` view. Each chord has unique settings. +- `OCT`: Current Octave. This value also changes the base octave used by interval chords +- `CH`: Active MIDI Channel +- `VEL`: The velocity level for midi notes + +##### Menu Page 4 - Pots and Macros +- `PBNK`: Potentiometer bank select +- `THRU`: When "On" incoming USBMIDI is passed to TRS MIDI Out. +- `MCRO`: MIDI Macro Mode Select (default is OFF) +- `M-CH`: MIDI Macro Mode Channel + +##### Menu Page 5 - Scale Settings +The scale settings apply to the 1-octave keyboard on the right side if the UI View is in `SPLIT` view and also will effect the interval chord keys. +A scale should be set to something other than chromatic to get good results from interval chords. +- `ROOT` : Select the root note for scale mode. This changes what note the interval chords will play. +- `SCALE` : Select a scale or turn off scale mode +- `LOCK` : Locks to the active scale. If this is enabled, you can only play notes in the scale +- `GROUP` : Groups all the notes of the scale across the lower row of 16 keys. + +##### Menu Page 6 - Chord Key Settings +This changes the settings of the selected chord key. See [Chord Key Settings](#chordkeysettings) + +##### Menu Page 7 - Basic or Interval Chord Key Settings +These pages will be different depending if the selected chord key is set to Basic or Interval. +See [Basic Chords](#basicchords) or [Interval Chords](#intervalchords) + +### KEYS & LEDS - AUX Button Held +Hold down the AUX key to access quick functions. + +#### Top Keys +- **[1] Previous Parameter** : Selects the previous parameter in the menu +- **[2] Next Parameter** : Selects the next parameter in the menu + +#### Saving and loading +- **[3] Load Bank** +- **[4] Save Bank** + +##### MidiFX +This sets the MidiFX slot that either the keyboard in split UI view is being sent to, or the selected chord key is being sent to. Whichever key was last used determines this. You can also change the midifx slot a chord key is sent to from the menu, see [Chord Key Settings](#chordkeysettings) +Hold or double click a MidiFX key to enter the MidiFX submode. +See [MidiFX](#midifx) for more info. +- **[5] MidiFX Off** +- **[6] MidiFX 1** +- **[7] MidiFX 2** +- **[8] MidiFX 3** +- **[9] MidiFX 4** +- **[10] MidiFX 5** + +#### Bottom Keys +##### Change Octave +This changes the global octave. This value will change the octave of the midi keyboard in split view and also change the base octave of interval chords. +- **[1] Prev Octave** +- **[2] Next Octave** + +##### Arpeggiator +This effects the Arpeggiator on the currently selected MidiFX slot that the midi keyboard is being sent to. +- **[12] Edit Params** : Enters a pass through arp edit sub-mode allowing you to edit arp values and also play the keyboard. You can also edit the arp in the MidiFX sub-mode but will need to exit the sub-mode to play the keyboard. +- **[13] Change Pattern** : Cycles through arpeggiator patterns +- **[14] Change Octave** : Cycles through arpeggiator octave ranges +- **[15] Toggle Hold** : Toggles the arpeggiator hold function +- **[16] Power** : Toggles the arpeggiator on and off + +### Saving and Loading +- **[AUX + Top 3] Load Bank** +- **[AUX + Top 4] Save Bank** + +Use these shortcuts to save and load banks of chords. There are 8 available banks. If you load a bank other than the current one, the current bank will be autosaved. You can revert changes to your current bank by loading the same bank again. + +--- + +## S1 - Sequencer 1 + +Step sequencer - One pattern active at a time. + +Layout: + +### "Black keys" (sharp/flat keyboard keys) + +The first 2 black keys are Function Keys (FUNC) +- F1 - First black key +- F2 - Second black key + +The next 8 are Pattern Keys and they select the active sequence pattern (P1-P8). + +Hold a key (long press) to access parameters for that pattern. This is "Pattern Params". + + +### "White keys" (bottom row) + +Sequencer Step Keys - These are your sequencer step on/off keys. + +Hold a key (long press) to access parameters for that step. This is "Note Select / Step Parameters". F1 + Step Key is also a quick shortcut. + +Keys/Commands: + - AUX is Start/Stop + - Start/Stop sends MIDI transport control, and MIDI clock when running + - Pattern Key: Selects playing pattern + - F1 + AUX: Reset sequences to first/last step + - F2 + AUX: Reverse pattern direction + - F1 + Pattern Key: Enter __Step Record__ (transport must be stopped) + - F2 + Pattern Key: Mute that pattern + - F1 + Step Key: Enter __Note Select / Step Parameters__ + - Long press a Step Key: Enter __Note Select / Step Parameters__ + - Long press a Pattern Key: Enter __Pattern Parameters__ + - AUX-key exits sub-modes + - Hold F1 + F2: first 4 "white keys" select "page" of the current pattern (depending on pattern length) + +Parameters: +(see below) + + +### Note Select / Step Parameters + +Long press a step key to enter this mode. Here you can change the note values (note number, velocity, note length and octave), set CC parameter-lock values with the knobs, and set step parameters (step events, step probability, trig conditions). + +While in Note Select, the rightmost and leftmost keys will blink (orange or blue)- these 2 keys will shift the current octave up or down. + +Press AUX to exit Note Select. + +Parameters: + +Page 1: +- `NOTE`: midi note number +- `OCT`: octave +- `VEL`: note velocity +- `LEN`: note length in steps (1-16) + +Page 2: +- `TYPE`: step event type (see below) +- `PROB`: percentage of the step triggering +- `COND`: trig conditions (see below) + +Page 3: (set CC parameter-locks) +- `L-1`: pot 1 p-lock value for this step +- `L-2`: pot 2 p-lock value for this step +- `L-3`: pot 3 p-lock value for this step +- `L-4`: pot 4 p-lock value for this step + +Touching any potentiometer while in Note Select will set that p-lock value. + +To reset/erase a p-lock - Highlight the parameter and turn the encoder to the left. + +#### Step Events (TYPE): +"-" mute +"+" play +"1" reset to first step +">>" set parttern direction forward +"<<" set parttern direction reverse +"#?" jump to random step number +"?" set random event (of any of the previous events) for that one step + +#### Trig conditions - A/B Ratios (COND):__ +Play that step on the A cycle of B total cycles (or bars) of the pattern. Default is 1:1 (every time). +First number - play step on that cycle thru the pattern +Second number - resets the counter after that pattern cycle. + +So 1:4 would play on the first cycle, not play on the next three and then reset (after the 4th cycle). 3:8 would play only the 3rd cycle and reset after the 8th. + +#### Step Record + +(SH-101-ish style note entry) + +Holding F1 + a Pattern Key will enter Step Record Mode. + +Enter notes from the keyboard and the sequence step will automatically advance to the next step. Change knob 1-4 positions to set a CC parameter lock for that step. Knob #5 (far right) will enter a velocity value for that step (there is no visual feedback when entering values from the knobs. + +If you want to skip steps while entering notes, use the encoder button to select the STEP parameter and rotate to the step you want to change/update. While a step is selected, you can also record plocks/velocity for that step with the knobs without changing the note value. + +There are two pages of parameters in Step Record. First is the current octave (OCT), step number (STEP), note-value (NOTE), and pattern number (PTN). Second shows the step event parameters TYPE, PROB and COND as described above. + +Press AUX to exit Step Record. + +Keys/Commands: +- Potentiometers 1-4 set a CC parameter lock +- Potentiometers 5 sets a step velocity +- AUX exit this sub-mode + + +### Pattern Parameters + +Long press Pattern Key to enter Pattern Params Mode. + +Turning the encoder will show different pages of parameters. + +A short-press on the encoder will select the active parameter for editing. Press the encoder repeatedly until nothing is selected to change pages. + +Press AUX to exit Pattern Parameters. + +Parameters: + +Page 1: +- `PTN`: selected pattern +- `LEN`: pattern length +- `ROT`: rotation +- `CH`: midi channel + +Page 2 (see Sequence Reset Automation below): +- `START`: steart +- `END`: end +- `FREQ`: frequency +- `PROB`: probability + +Page 3: +- `RATE`: default note length (1/64th to whole note) +- `SOLO`: MIDI solo + +Keys/Commands: +- Step Keys set pattern length +- F1 + pattern copies pattern +- F2 + pattern pastes pattern (to other pattern slot) +- F1 + F2 + pattern clears the pattern back to GM drum map default (and clears all plocks) + +(you can paste multiple times - paste buffer should stay the same until you copy again) + +MIDI solo: +Set a pattern to MIDI solo and you can play the keyboard while that pattern is selected. + +Note - once in MIDI solo, you will only be able to change the active pattern by using the encoder knob. + +### Pattern Parameters: Sequence Reset Automation + +This is located on the second page of pattern parameters + +The goal of this "Sequence Reset Automation" feature was developed in the spirit of classic sequencers that can generate more complex sequences from simpler ones by setting any step in a given sequence to trigger a "reset" based on some constraint (i.e., number of cycles, probability, random). + +Note - This behavior is a pattern-based solution. You can also execute step-based resets in Step Parameters. + +Settings: + +- START (Currently 0 - PatternLength-1): Use this to set the start step in current pattern to reset to for beginning a new cycle. + +- END (Currently 0 - PatternLength-1): Use this to set the last step in current sequence to end/reset pattern cycles. This in essence is the step that will be used to trigger resets. + +- FREQ of trigger reset (i.e., every X sequence cycle iterations) + +- PROB of triggering reset (percentage) + +NOTE: Setting STEP = 0 and PROB = 1 dictates random trigger steps which can lead to interesting results by jumping to random position/step. + +--- + +## S2 - Sequencer 2 + +Step sequencer - All patterns active. + +Keys/Commands: + - AUX is Start/Stop + - Start/Stop sends MIDI transport control, and MIDI clock when running + - Pattern Key: Selects active pattern + - Encoder changes "page" for sequence parameters (with no parameter highlighted) + - Short-press encoder to highlight active parameter to edit + - F1 + AUX: Reset sequences to first/last step + - F2 + AUX: Reverse pattern direction + - F1 + Pattern Key: Enter __Step Record__ + - F2 + Pattern Key: Mute that pattern + - F1 + Step Key: Enter __Note Select / Step Parameters__ + - Long press a Step Key: Enter __Note Select / Step Parameters__ + - Long press a Pattern Key: Enter __Pattern Parameters__ + - AUX-key exits sub-modes + - Hold F1 + F2: first 4 "white keys" select "page" of the current pattern (depending on pattern length) + +Parameters: +- `PTN`: selected pattern +- `TRSP`: transpose (by semitones) +- `SWNG`: swing +- `BPM`: tempo + +- `SOLO`: set the current pattern to MIDI Solo +- `LEN`: pattern length +- `RATE`: default note length (1/64th to whole note) +- `CV`: enable to send CV from this pattern + + +In the sequencer modes, the default setup is a GM Drum Map with each pattern on a consecutive midi channel. So that's notes 36, 38, 37, 39, 42, 46, 49, 51 on channels 1-8. + +--- + +## GR - Grids Sequencer + +An adaptation of the Mutable Instruments "Topographic drum sequencer" module. + +See the original [Grids Manual](https://mutable-instruments.net/modules/grids/manual/) [or a video ?] for more. + +Grids is a 4-channel/instrument MIDI trigger generator specialized in the creation and sculpting of rhythmic patterns. The "grid" refers to a map or library of preset drum patterns arranged in a 5x5 grid - which you can steer using X/Y controls. + +Typical drum use would be Bass Drum, Snare, Closed HiHat, Open HiHat (The default note numbers are mapped to these in the GM drum map). + +### Quick Keys +Grids has many quick keys. Pressing these keys quickly jumps the display to select a specific parameter which can be adjusted with the encoder. + +#### Keys/Commands: + - AUX is sequencer Start/Stop + - Pots 1-4 control "event density" (probability) of 4 instruments - values are shown on display + - Pot 5 sets resolution (1/2, 1, 2) + - Bottom row keys 1-8 are quick-keys for X/Y values - hold a key and turn encoder to change that instrument's X or Y value. You can hold multiple keys to change X/Y on multiple instruments at the same time + - LEDs on Keys 9-12 show trigger activity of the playing pattern + - Lighted Keys 13,14,16 are quick keys for ACNT/XAOS/BPM + - Pattern keys (black keys) can load "snapshots" of density/x/y settings + - F2 + Pattern saves a "snapshot" current state of that pattern. Patterns do not automatically save, this is a performance feature, allowing you to load a pattern, tweak it, then quickly load back to it's original state + +#### Instrument View Mode: +- F1 + Keys 1-4 jump to Instrument View. This shows the current pattern on that instrument (over 2 pages since patterns are 32 steps) and playhead. The LED render of the pattern will update to show each page while playing +- Top row lighted keys(A#1, C#2, D#2, F#2) are quick-keys for ACNT/X/Y/XAOS +- First 4 keys of bottom row will not be specially lit since they are rendering the pattern, but will allow you to quickly select a different instrument +- F2 is a quick key to jump to params page to set Note Number, MIDI Channel and BPM +- Key 3(F#1) in Instrument View is a quick key for Midi Channel for the instrument +- AUX-key exits Instrument View + +#### Midi Keyboard Mode: +- F1 plus bottom key 16 enters into the Midi Keyboard for sending CCs or playing over the top of the sequencer. Everything works the same as mode MI +- Hold Aux and bottom key 16 to exit out of the Midi Keyboard mode + +### Menu Pages +Page 1 Event Densities: +- `DS 1`: event density - instrument 1 +- `DS 2`: event density - instrument 2 +- `DS 3`: event density - instrument 3 +- `DS 4`: event density - instrument 4 + +Page 2: +- `NT 1`: note number - instrument 1 +- `NT 2`: note number - instrument 2 +- `NT 3`: note number - instrument 3 +- `NT 4`: note number - instrument 4 + +Page 3: +- `ACNT`: accent amount (larger number is more variation) - applies to all instruments +- `X `: X amount for selected instrument +- `Y `: Y amount for selected instrument +- `XAOS`: chaos amount - applies to all instruments + +Page 4 - Main Mode: +- `BPM`: tempo + +Page 4 - Instrument View Active: +- `NT -`: note number for active instrument +- `M-CHAN`: midi chanel for active instrument +- `BPM`: tempo + +--- + +## EL - Euclidian Sequencer + +--- + +## OM - Organelle Mother + +Pretty much the same as MI, but with the following tweaks for Organelle Mother on norns/fates/raspberry-pi. + +- AUX key sends CC 25 (127 on press, 0 on release) +- Encoder turn sends CC 28 (127 on CW, 0 on CCW) + +--- + +## Screensaver +After a default timeout (3 minutes), the display will be blanked and in MI Mode a "screensaver" animation will show on the LEDs. The rightmost pot (#5) can be turned to adjust the color. Touching any keys or any of the other pots will exit the screensaver. + +In S1/S2 the screen will blank, but there is no LED animation. + +--- + +# Hardware + +## MIDI Switch for the mini TRS output jack connection + +A hardware switch on the device will let you swap between Type-A and Type-B for the hardware MIDI TRS output jack. + +Products That Use Type-A mini TRS Jack Connections +- ADDAC System products +- Arturia BeatStep (not to be confused with the BeatStep Pro) +- Dirtywave M8 +- IK Multimedia products +- inMusic (Akai) products +- Korg products +- Line 6 products +- little Bits w5 MIDI module +- Make Noise 0-Coast + +Products That Use Type-B mini TRS Jack Connections +- Arturia BeatStep Pro +- Faderfox products +- Novation products +- Polyend products +- 1010music Original Series 1 modules, Series 2 modules, Blackbox, MX4 and Euroshield + +See [https://minimidi.world](https://minimidi.world) or [https://1010music.com/stereo-minijacks-midi-connections-compatibility-guide](https://1010music.com/stereo-minijacks-midi-connections-compatibility-guide) for more information + diff --git a/Firmware-Hexes/OMX-27-1.12.16-T32.hex b/Archive/Firmware-Hexes/OMX-27-1.12.16-T32.hex similarity index 100% rename from Firmware-Hexes/OMX-27-1.12.16-T32.hex rename to Archive/Firmware-Hexes/OMX-27-1.12.16-T32.hex diff --git a/Firmware-Hexes/OMX-27-1.12.16-T4.hex b/Archive/Firmware-Hexes/OMX-27-1.12.16-T4.hex similarity index 100% rename from Firmware-Hexes/OMX-27-1.12.16-T4.hex rename to Archive/Firmware-Hexes/OMX-27-1.12.16-T4.hex diff --git a/Firmware-Hexes/OMX-27-1.13.3-T32.hex b/Archive/Firmware-Hexes/OMX-27-1.13.3-T32.hex similarity index 100% rename from Firmware-Hexes/OMX-27-1.13.3-T32.hex rename to Archive/Firmware-Hexes/OMX-27-1.13.3-T32.hex diff --git a/Firmware-Hexes/OMX-27-1.13.3-T4.hex b/Archive/Firmware-Hexes/OMX-27-1.13.3-T4.hex similarity index 100% rename from Firmware-Hexes/OMX-27-1.13.3-T4.hex rename to Archive/Firmware-Hexes/OMX-27-1.13.3-T4.hex diff --git a/Firmware-Hexes/OMX-27-1.13.8-T32.hex b/Archive/Firmware-Hexes/OMX-27-1.13.8-T32.hex similarity index 100% rename from Firmware-Hexes/OMX-27-1.13.8-T32.hex rename to Archive/Firmware-Hexes/OMX-27-1.13.8-T32.hex diff --git a/Firmware-Hexes/OMX-27-1.13.8-T4.hex b/Archive/Firmware-Hexes/OMX-27-1.13.8-T4.hex similarity index 100% rename from Firmware-Hexes/OMX-27-1.13.8-T4.hex rename to Archive/Firmware-Hexes/OMX-27-1.13.8-T4.hex diff --git a/Firmware-Hexes/beta/OMX-27-1.12.17b2-T32.hex b/Archive/Firmware-Hexes/beta/OMX-27-1.12.17b2-T32.hex similarity index 100% rename from Firmware-Hexes/beta/OMX-27-1.12.17b2-T32.hex rename to Archive/Firmware-Hexes/beta/OMX-27-1.12.17b2-T32.hex diff --git a/Firmware-Hexes/beta/OMX-27-1.12.17b2-T4.hex b/Archive/Firmware-Hexes/beta/OMX-27-1.12.17b2-T4.hex similarity index 100% rename from Firmware-Hexes/beta/OMX-27-1.12.17b2-T4.hex rename to Archive/Firmware-Hexes/beta/OMX-27-1.12.17b2-T4.hex diff --git a/Firmware-Hexes/beta/OMX-27-1.12.17b3-T32.hex b/Archive/Firmware-Hexes/beta/OMX-27-1.12.17b3-T32.hex similarity index 100% rename from Firmware-Hexes/beta/OMX-27-1.12.17b3-T32.hex rename to Archive/Firmware-Hexes/beta/OMX-27-1.12.17b3-T32.hex diff --git a/Firmware-Hexes/beta/OMX-27-1.12.17b3-T4.hex b/Archive/Firmware-Hexes/beta/OMX-27-1.12.17b3-T4.hex similarity index 100% rename from Firmware-Hexes/beta/OMX-27-1.12.17b3-T4.hex rename to Archive/Firmware-Hexes/beta/OMX-27-1.12.17b3-T4.hex diff --git a/Firmware-Hexes/beta/OMX-27-1.12.17b4-T32.hex b/Archive/Firmware-Hexes/beta/OMX-27-1.12.17b4-T32.hex similarity index 100% rename from Firmware-Hexes/beta/OMX-27-1.12.17b4-T32.hex rename to Archive/Firmware-Hexes/beta/OMX-27-1.12.17b4-T32.hex diff --git a/Firmware-Hexes/old/OMX-27-1.0.3.hex b/Archive/Firmware-Hexes/old/OMX-27-1.0.3.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.0.3.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.0.3.hex diff --git a/Firmware-Hexes/old/OMX-27-1.0.5.1.hex b/Archive/Firmware-Hexes/old/OMX-27-1.0.5.1.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.0.5.1.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.0.5.1.hex diff --git a/Firmware-Hexes/old/OMX-27-1.1.0.hex b/Archive/Firmware-Hexes/old/OMX-27-1.1.0.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.1.0.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.1.0.hex diff --git a/Firmware-Hexes/old/OMX-27-1.12.15-T32.hex b/Archive/Firmware-Hexes/old/OMX-27-1.12.15-T32.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.12.15-T32.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.12.15-T32.hex diff --git a/Firmware-Hexes/old/OMX-27-1.12.15-T4.hex b/Archive/Firmware-Hexes/old/OMX-27-1.12.15-T4.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.12.15-T4.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.12.15-T4.hex diff --git a/Firmware-Hexes/old/OMX-27-1.3.0-MIDI.hex b/Archive/Firmware-Hexes/old/OMX-27-1.3.0-MIDI.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.3.0-MIDI.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.3.0-MIDI.hex diff --git a/Firmware-Hexes/old/OMX-27-1.3.0.hex b/Archive/Firmware-Hexes/old/OMX-27-1.3.0.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.3.0.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.3.0.hex diff --git a/Firmware-Hexes/old/OMX-27-1.4.1.hex b/Archive/Firmware-Hexes/old/OMX-27-1.4.1.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.4.1.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.4.1.hex diff --git a/Firmware-Hexes/old/OMX-27-1.4.3.hex b/Archive/Firmware-Hexes/old/OMX-27-1.4.3.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.4.3.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.4.3.hex diff --git a/Firmware-Hexes/old/OMX-27-1.4.4.1.hex b/Archive/Firmware-Hexes/old/OMX-27-1.4.4.1.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.4.4.1.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.4.4.1.hex diff --git a/Firmware-Hexes/old/OMX-27-1.5.0.hex b/Archive/Firmware-Hexes/old/OMX-27-1.5.0.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.5.0.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.5.0.hex diff --git a/Firmware-Hexes/old/OMX-27-1.5.1.hex b/Archive/Firmware-Hexes/old/OMX-27-1.5.1.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.5.1.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.5.1.hex diff --git a/Firmware-Hexes/old/OMX-27-1.6.0.hex b/Archive/Firmware-Hexes/old/OMX-27-1.6.0.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.6.0.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.6.0.hex diff --git a/Firmware-Hexes/old/OMX-27-1.7.7.hex b/Archive/Firmware-Hexes/old/OMX-27-1.7.7.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.7.7.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.7.7.hex diff --git a/Firmware-Hexes/old/OMX-27-1.7.8-T4.hex b/Archive/Firmware-Hexes/old/OMX-27-1.7.8-T4.hex similarity index 100% rename from Firmware-Hexes/old/OMX-27-1.7.8-T4.hex rename to Archive/Firmware-Hexes/old/OMX-27-1.7.8-T4.hex diff --git a/Archive/OMX-27-firmware/OMX-27-firmware.ino b/Archive/OMX-27-firmware/OMX-27-firmware.ino new file mode 100644 index 00000000..e831cc0c --- /dev/null +++ b/Archive/OMX-27-firmware/OMX-27-firmware.ino @@ -0,0 +1,1081 @@ +// OMX-27 MIDI KEYBOARD / SEQUENCER + +// v1.13.8 +// Last update: Sept 2025 +// +// Original concept and initial code by Steven Noreyko +// Additional code contributions: +// Matt Boone, Steven Zydek, +// Chris Atkins, Will Winder, +// Michael P Jones +// +// Big thanks to: +// John Park and Gerald Stevens for initial testing and feature ideas +// mzero for immense amounts of code coaching/assistance +// drjohn for support +// + +#include +#include +#include "src/consts/consts.h" +#include "src/config.h" +#include "src/consts/colors.h" +#include "src/midi/midi.h" +#include "src/ClearUI/ClearUI.h" +#include "src/modes/sequencer.h" +#include "src/midi/noteoffs.h" +#include "src/hardware/storage.h" +#include "src/midi/sysex.h" +#include "src/hardware/omx_keypad.h" +#include "src/utils/omx_util.h" +#include "src/utils/cvNote_util.h" +#include "src/hardware/omx_disp.h" +#include "src/modes/omx_mode_midi_keyboard.h" +#include "src/modes/omx_mode_drum.h" +#include "src/modes/omx_mode_sequencer.h" +#include "src/modes/omx_mode_grids.h" +#include "src/modes/omx_mode_euclidean.h" +#include "src/modes/omx_mode_chords.h" +#include "src/modes/omx_screensaver.h" +#include "src/hardware/omx_leds.h" +#include "src/utils/music_scales.h" + +// Allows code to compile with smallest code LTO +extern "C" +{ + int _getpid() { return -1; } + int _kill(int pid, int sig) { return -1; } + int _write() { return -1; } +} + +// #define RAM_MONITOR +// #ifdef RAM_MONITOR +// #include "src/utils/RamMonitor.h" +// #endif + +OmxModeMidiKeyboard omxModeMidi; +OmxModeDrum omxModeDrum; +OmxModeSequencer omxModeSeq; +#ifdef OMXMODEGRIDS +OmxModeGrids omxModeGrids; +#endif +OmxModeEuclidean omxModeEuclid; +OmxModeChords omxModeChords; + +OmxModeInterface *activeOmxMode; + +OmxScreensaver omxScreensaver; + +MusicScales globalScale; + +// storage of pot values; current is in the main loop; last value is for midi output +int volatile currentValue[NUM_CC_POTS]; +int lastMidiValue[NUM_CC_POTS]; + +int temp; + +Micros lastProcessTime; + +uint8_t RES; +uint16_t AMAX; +int V_scale; + +// ENCODER +Encoder myEncoder(12, 11); // encoder pins on hardware +const int buttonPin = 0; +int buttonState = 1; +Button encButton(buttonPin); + +// long newPosition = 0; +// long oldPosition = -999; + +// KEYPAD +// initialize an instance of custom Keypad class +unsigned long longPressInterval = 800; +unsigned long clickWindow = 200; +OMXKeypad keypad(longPressInterval, clickWindow, makeKeymap(keys), rowPins, colPins, ROWS, COLS); + +// setup EEPROM/FRAM storage +Storage *storage; +SysEx *sysEx; + +#ifdef RAM_MONITOR +RamMonitor ram; +uint32_t reporttime; + +void report_ram_stat(const char *aname, uint32_t avalue) +{ + Serial.print(aname); + Serial.print(": "); + Serial.print((avalue + 512) / 1024); + Serial.print(" Kb ("); + Serial.print((((float)avalue) / ram.total()) * 100, 1); + Serial.println("%)"); +}; + +void report_profile_time(const char *aname, uint32_t avalue) +{ + Serial.print(aname); + Serial.print(": "); + Serial.print(avalue); + Serial.println("\n"); +}; + +void report_ram() +{ + bool lowmem; + bool crash; + + Serial.println("==== memory report ===="); + + report_ram_stat("free", ram.adj_free()); + report_ram_stat("stack", ram.stack_total()); + report_ram_stat("heap", ram.heap_total()); + + lowmem = ram.warning_lowmem(); + crash = ram.warning_crash(); + if (lowmem || crash) + { + Serial.println(); + + if (crash) + Serial.println("**warning: stack and heap crash possible"); + else if (lowmem) + Serial.println("**warning: unallocated memory running low"); + }; + + Serial.println(); +}; +#endif + +// ####### SEQUENCER LEDS ####### + +void changeOmxMode(OMXMode newOmxmode) +{ + // Serial.println((String)"NewMode: " + newOmxmode); + sysSettings.omxMode = newOmxmode; + sysSettings.newmode = newOmxmode; + + if (activeOmxMode != nullptr) + { + activeOmxMode->onModeDeactivated(); + } + + switch (newOmxmode) + { + case MODE_MIDI: + omxModeMidi.setMidiMode(); + activeOmxMode = &omxModeMidi; + break; + case MODE_DRUM: + activeOmxMode = &omxModeDrum; + break; + case MODE_CHORDS: + activeOmxMode = &omxModeChords; + break; + case MODE_S1: + omxModeSeq.setSeq1Mode(); + activeOmxMode = &omxModeSeq; + break; + case MODE_S2: + omxModeSeq.setSeq2Mode(); + activeOmxMode = &omxModeSeq; + break; + case MODE_OM: + omxModeMidi.setOrganelleMode(); + activeOmxMode = &omxModeMidi; + break; + case MODE_GRIDS: +#ifdef OMXMODEGRIDS + activeOmxMode = &omxModeGrids; +#endif + break; + case MODE_EUCLID: + activeOmxMode = &omxModeEuclid; + break; + default: + omxModeMidi.setMidiMode(); + activeOmxMode = &omxModeMidi; + break; + } + + activeOmxMode->onModeActivated(); + + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +// ####### END LEDS + +// ####### POTENTIOMETERS ####### +void readPotentimeters() +{ + for (int k = 0; k < potCount; k++) + { + int prevValue = potSettings.analogValues[k]; + int prevAnalog = potSettings.analog[k]->getValue(); + + temp = analogRead(analogPins[k]); + potSettings.analog[k]->update(temp); + + // read from the smoother, constrain (to account for tolerances), and map it + temp = potSettings.analog[k]->getValue(); + temp = constrain(temp, potMinVal, potMaxVal); + temp = map(temp, potMinVal, potMaxVal, 0, 16383); + potSettings.hiResPotVal[k] = temp; + + // map and update the value + potSettings.analogValues[k] = temp >> 7; + + int newAnalog = potSettings.analog[k]->getValue(); + + // delta is way smaller on T4 - what to do?? + int analogDelta = abs(newAnalog - prevAnalog); + + // if (k == 1) + // { + // Serial.print(analogPins[k]); + // Serial.print(" "); + // Serial.print(temp); + // Serial.print(" "); + // Serial.print(potSettings.analogValues[k]); + // Serial.print("\n"); + // } + + if (potSettings.analog[k]->hasChanged()) + { + // do stuff + if (sysSettings.screenSaverMode) + { + omxScreensaver.onPotChanged(k, prevValue, potSettings.analogValues[k], analogDelta); + } + // don't send pots in screensaver + else + { + activeOmxMode->onPotChanged(k, prevValue, potSettings.analogValues[k], analogDelta); + } + } + } +} + +// ####### END POTENTIOMETERS ####### + +void handleNoteOn(byte channel, byte note, byte velocity) +{ + if (midiSettings.midiSoftThru) + { + MM::sendNoteOnHW(note, velocity, channel); + } + if (midiSettings.midiInToCV) + { + cvNoteUtil.cvNoteOn(note); + } + + omxScreensaver.resetCounter(); + + activeOmxMode->inMidiNoteOn(channel, note, velocity); +} + +void handleNoteOff(byte channel, byte note, byte velocity) +{ + if (midiSettings.midiSoftThru) + { + MM::sendNoteOffHW(note, velocity, channel); + } + + if (midiSettings.midiInToCV) + { + cvNoteUtil.cvNoteOff(note); + } + + activeOmxMode->inMidiNoteOff(channel, note, velocity); +} + +void handleControlChange(byte channel, byte control, byte value) +{ + if (midiSettings.midiSoftThru) + { + MM::sendControlChangeHW(control, value, channel); + } + // change potbank on bank select + if (control == 0){ + midiSettings.isBankSelect = true; + potSettings.potbank = constrain(value, 0, NUM_CC_BANKS - 1); + omxDisp.setDirty(); + // }else if (midiSettings.isBankSelect && control == 32){ + // midiSettings.isBankSelect = true; + }else{ + midiSettings.isBankSelect = false; + } + + activeOmxMode->inMidiControlChange(channel, control, value); +} + +// #### Inbound MIDI callbacks +void OnNoteOn(byte channel, byte note, byte velocity) +{ + handleNoteOn(channel, note, velocity); +} +void OnNoteOff(byte channel, byte note, byte velocity) +{ + handleNoteOff(channel, note, velocity); +} +void OnControlChange(byte channel, byte control, byte value) +{ + handleControlChange(channel, control, value); +} + +void OnSysEx(const uint8_t *data, uint16_t length, bool complete) +{ + sysEx->processIncomingSysex(data, length); +} + +void saveHeader() +{ + // 1 byte for EEPROM version + storage->write(EEPROM_HEADER_ADDRESS + 0, EEPROM_VERSION); + + // 1 byte for mode + storage->write(EEPROM_HEADER_ADDRESS + 1, (uint8_t)sysSettings.omxMode); + + // 1 byte for the active pattern + storage->write(EEPROM_HEADER_ADDRESS + 2, (uint8_t)sequencer.playingPattern); + + // 1 byte for Midi channel + uint8_t unMidiChannel = (uint8_t)(sysSettings.midiChannel - 1); + storage->write(EEPROM_HEADER_ADDRESS + 3, unMidiChannel); + + for (int b = 0; b < NUM_CC_BANKS; b++) + { + for (int i = 0; i < NUM_CC_POTS; i++) + { + storage->write(EEPROM_HEADER_ADDRESS + 4 + i + (5 * b), pots[b][i]); + } + } + // Last is 28 + + uint8_t midiMacroChan = (uint8_t)(midiMacroConfig.midiMacroChan - 1); + storage->write(EEPROM_HEADER_ADDRESS + 29, midiMacroChan); + + uint8_t midiMacroId = (uint8_t)midiMacroConfig.midiMacro; + storage->write(EEPROM_HEADER_ADDRESS + 30, midiMacroId); + + uint8_t scaleRoot = (uint8_t)scaleConfig.scaleRoot; + storage->write(EEPROM_HEADER_ADDRESS + 31, scaleRoot); + + uint8_t scalePattern = (uint8_t)scaleConfig.scalePattern; + storage->write(EEPROM_HEADER_ADDRESS + 32, scalePattern); + + uint8_t lockScale = (uint8_t)scaleConfig.lockScale; + storage->write(EEPROM_HEADER_ADDRESS + 33, lockScale); + + uint8_t scaleGrp16 = (uint8_t)scaleConfig.group16; + storage->write(EEPROM_HEADER_ADDRESS + 34, scaleGrp16); + + storage->write(EEPROM_HEADER_ADDRESS + 35, midiSettings.defaultVelocity); + + storage->write(EEPROM_HEADER_ADDRESS + 36, clockConfig.globalQuantizeStepIndex); + + storage->write(EEPROM_HEADER_ADDRESS + 37, cvNoteUtil.triggerMode); + + storage->write(EEPROM_HEADER_ADDRESS + 38, potSettings.potbank); +} + +// returns true if the header contained initialized data +// false means we shouldn't attempt to load any further information +bool loadHeader(void) +{ + uint8_t version = storage->read(EEPROM_HEADER_ADDRESS + 0); + + char buf[64]; + snprintf(buf, sizeof(buf), "EEPROM Header Version is %d\n", version); + Serial.print(buf); + + // Uninitalized EEPROM memory is filled with 0xFF + if (version == 0xFF) + { + // EEPROM was uninitialized + Serial.println("version was 0xFF"); + return false; + } + + if (version != EEPROM_VERSION) + { + // write an adapter if we ever need to increment the EEPROM version and also save the existing patterns + // for now, return false will essentially reset the state + Serial.println("version not matched"); + return false; + } + + sysSettings.omxMode = (OMXMode)storage->read(EEPROM_HEADER_ADDRESS + 1); + + sequencer.playingPattern = storage->read(EEPROM_HEADER_ADDRESS + 2); + sysSettings.playingPattern = sequencer.playingPattern; + + uint8_t unMidiChannel = storage->read(EEPROM_HEADER_ADDRESS + 3); + sysSettings.midiChannel = unMidiChannel + 1; + + Serial.println("Loading banks"); + for (int b = 0; b < NUM_CC_BANKS; b++) + { + for (int i = 0; i < NUM_CC_POTS; i++) + { + pots[b][i] = storage->read(EEPROM_HEADER_ADDRESS + 4 + i + (5 * b)); + } + } + + uint8_t midiMacroChannel = storage->read(EEPROM_HEADER_ADDRESS + 29); + midiMacroConfig.midiMacroChan = midiMacroChannel + 1; + + uint8_t midiMacro = storage->read(EEPROM_HEADER_ADDRESS + 30); + midiMacroConfig.midiMacro = midiMacro; + + uint8_t scaleRoot = storage->read(EEPROM_HEADER_ADDRESS + 31); + scaleConfig.scaleRoot = scaleRoot; + + int8_t scalePattern = (int8_t)storage->read(EEPROM_HEADER_ADDRESS + 32); + scaleConfig.scalePattern = scalePattern; + + bool lockScale = (bool)storage->read(EEPROM_HEADER_ADDRESS + 33); + scaleConfig.lockScale = lockScale; + + bool scaleGrp16 = (bool)storage->read(EEPROM_HEADER_ADDRESS + 34); + scaleConfig.group16 = scaleGrp16; + + globalScale.calculateScale(scaleConfig.scaleRoot, scaleConfig.scalePattern); + + midiSettings.defaultVelocity = storage->read(EEPROM_HEADER_ADDRESS + 35); + + clockConfig.globalQuantizeStepIndex = constrain(storage->read(EEPROM_HEADER_ADDRESS + 36), 0, kNumArpRates - 1); + + cvNoteUtil.triggerMode = constrain(storage->read(EEPROM_HEADER_ADDRESS + 37), 0, 1); + + potSettings.potbank = constrain(storage->read(EEPROM_HEADER_ADDRESS + 38), 0, NUM_CC_BANKS-1); + + return true; +} + +void savePatterns(void) +{ + bool isEeprom = storage->isEeprom(); + + int patternSize = serializedPatternSize(isEeprom); + int nLocalAddress = EEPROM_PATTERN_ADDRESS; + + // Serial.println((String)"Seq patternSize: " + patternSize); + int seqPatternNum = isEeprom ? NUM_SEQ_PATTERNS_EEPROM : NUM_SEQ_PATTERNS; + + for (int i = 0; i < seqPatternNum; i++) + { + auto pattern = (byte *)sequencer.getPattern(i); + for (int j = 0; j < patternSize; j++) + { + storage->write(nLocalAddress + j, *pattern++); + } + + nLocalAddress += patternSize; + } + + if (isEeprom) + { + return; + } + Serial.println((String)"nLocalAddress: " + nLocalAddress); // 5784 + +#ifdef OMXMODEGRIDS + Serial.println("Saving Grids"); + + // Grids patterns + patternSize = OmxModeGrids::serializedPatternSize(isEeprom); + int numPatterns = OmxModeGrids::getNumPatterns(); + + // Serial.println((String)"OmxModeGrids patternSize: " + patternSize); + // Serial.println((String)"numPatterns: " + numPatterns); + + for (int i = 0; i < numPatterns; i++) + { + auto pattern = (byte *)omxModeGrids.getPattern(i); + for (int j = 0; j < patternSize; j++) + { + storage->write(nLocalAddress + j, *pattern++); + } + + nLocalAddress += patternSize; + } + Serial.println((String)"nLocalAddress: " + nLocalAddress); // 6008 +#endif + + Serial.println("Saving Euclidean"); + nLocalAddress = omxModeEuclid.saveToDisk(nLocalAddress, storage); + Serial.println((String)"nLocalAddress: " + nLocalAddress); // 7433 + + Serial.println("Saving Chords"); + nLocalAddress = omxModeChords.saveToDisk(nLocalAddress, storage); + Serial.println((String)"nLocalAddress: " + nLocalAddress); // 10505 + + Serial.println("Saving Drums"); + nLocalAddress = omxModeDrum.saveToDisk(nLocalAddress, storage); + Serial.println((String)"nLocalAddress: " + nLocalAddress); // 11545 + + Serial.println("Saving MidiFX"); + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + nLocalAddress = subModeMidiFx[i].saveToDisk(nLocalAddress, storage); + // Serial.println((String)"Saved: " + i); + // Serial.println((String)"nLocalAddress: " + nLocalAddress); + } + Serial.println((String)"nLocalAddress: " + nLocalAddress); // 11585 + + // Starting 11545 + // MidiFX with nothing 11585 + // 1 MidiFX full ARPS 11913 + // + // OMX Frooze/Ran out of memory after creating 4 x 8 - 3 = 29 ARPs + // Maybe build in a limit of 2 or one arps per MidiFX, or just recommend users not to + // create 29 ARPs. + + // Seq patternSize: 715 + // nLocalAddress: 5752 + // size of patterns: 5720 + // OmxModeGrids patternSize: 23 + // numPatterns: 8 + // nLocalAddress: 5936 + // size of grids: 184 +} + +void loadPatterns(void) +{ + bool isEeprom = storage->isEeprom(); + + int patternSize = serializedPatternSize(isEeprom); + int nLocalAddress = EEPROM_PATTERN_ADDRESS; + + Serial.print("Seq patterns - nLocalAddress: "); + Serial.println(nLocalAddress); + + int seqPatternNum = isEeprom ? NUM_SEQ_PATTERNS_EEPROM : NUM_SEQ_PATTERNS; + + for (int i = 0; i < seqPatternNum; i++) + { + auto pattern = Pattern{}; + auto current = (byte *)&pattern; + for (int j = 0; j < patternSize; j++) + { + *current = storage->read(nLocalAddress + j); + current++; + } + sequencer.patterns[i] = pattern; + + nLocalAddress += patternSize; + } + + if (isEeprom) + { + return; + } + + Serial.print("Grids patterns - nLocalAddress: "); + Serial.println(nLocalAddress); + // 332 - eeprom size + // 332 * 8 = 2656 + + // Grids patterns +#ifdef OMXMODEGRIDS + patternSize = OmxModeGrids::serializedPatternSize(isEeprom); + int numPatterns = OmxModeGrids::getNumPatterns(); + + for (int i = 0; i < numPatterns; i++) + { + auto pattern = grids::SnapShotSettings{}; + auto current = (byte *)&pattern; + for (int j = 0; j < patternSize; j++) + { + *current = storage->read(nLocalAddress + j); + current++; + } + omxModeGrids.setPattern(i, pattern); + nLocalAddress += patternSize; + } +#endif + + Serial.print("Pattern size: "); + Serial.print(patternSize); + + Serial.print(" - nLocalAddress: "); + Serial.println(nLocalAddress); + + Serial.print("Loading Euclidean - "); + nLocalAddress = omxModeEuclid.loadFromDisk(nLocalAddress, storage); + Serial.println((String) "nLocalAddress: " + nLocalAddress); // 5988 + + Serial.print("Loading Chords - "); + nLocalAddress = omxModeChords.loadFromDisk(nLocalAddress, storage); + Serial.println((String)"nLocalAddress: " + nLocalAddress); // 5988 + + Serial.print("Loading Drums - "); + nLocalAddress = omxModeDrum.loadFromDisk(nLocalAddress, storage); + Serial.println((String)"nLocalAddress: " + nLocalAddress); // 5988 + + // Serial.println((String)"nLocalAddress: " + nLocalAddress); // 5968 + + Serial.print("Loading MidiFX - "); + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + nLocalAddress = subModeMidiFx[i].loadFromDisk(nLocalAddress, storage); + // Serial.println((String)"Loaded: " + i); + // Serial.println((String)"nLocalAddress: " + nLocalAddress); + } + Serial.println((String) "nLocalAddress: " + nLocalAddress); // 5988 + + // with 8 note chords, 10929 + + // Pattern size = 715 + // Pattern size eprom = 332 + // Total size of patterns = 5720 + // Total storage size = 5749 + // Fram = 32000 = 26251 available + // Eeprom = 2048 + // Eeprom rom can save 6 patterns, plus 56 bytes + + // 2832 - size of 16 euclid patterns of 16 euclids + + // no arps = 9905, 5 arps = 10105, 25 arps = 11505 + + // no arps = 10929, 5 arps = 11129, 25 arps = 12529 + // +} + +// currently saves everything ( mode + patterns ) +void saveToStorage(void) +{ + Serial.println("Saving to Storage..."); + saveHeader(); + savePatterns(); +} + +// currently loads everything ( mode + patterns ) +bool loadFromStorage(void) +{ + // This load can happen soon after Serial.begin - enable this 'wait for Serial' if you need to Serial.print during loading + // while( !Serial ); + + Serial.println("Read the header"); + bool bContainedData = loadHeader(); + + if (bContainedData) + { + Serial.println("Loading patterns"); + loadPatterns(); + changeOmxMode(sysSettings.omxMode); + + omxDisp.isDirty(); + omxLeds.isDirty(); + return true; + } + + Serial.println("-- Failed to load --"); + + omxDisp.isDirty(); + omxLeds.isDirty(); + + return false; +} + +// ############## MAIN LOOP ############## + +void loop() +{ + // customKeypad.tick(); + keypad.tick(); + // clksTimer = 0; // TODO - didn't see this used anywhere + + Micros now = micros(); + Micros passed = now - lastProcessTime; + lastProcessTime = now; + + sysSettings.timeElasped = passed; + + seqConfig.currentFrameMicros = micros(); + // Micros timeStart = micros(); + activeOmxMode->loopUpdate(passed); + cvNoteUtil.loopUpdate(passed); + + if (passed > 0) // This should always be true + { + if (sequencer.playing || omxUtil.areClocksRunning()) + { + omxScreensaver.resetCounter(); // screenSaverCounter = 0; + } + omxUtil.advanceClock(activeOmxMode, passed); + omxUtil.advanceSteps(passed); + } + + // DISPLAY SETUP + display.clearDisplay(); + + // ############### SLEEP MODE ############### + // + // Serial.println(screenSaverCounter); + omxScreensaver.updateScreenSaverState(); + sysSettings.screenSaverMode = omxScreensaver.shouldShowScreenSaver(); + + // ############### POTS ############### + // + readPotentimeters(); + + bool omxModeChangedThisFrame = false; + + // ############### EXTERNAL MODE CHANGE / SYSEX ############### + if ((!encoderConfig.enc_edit && (sysSettings.omxMode != sysSettings.newmode)) || sysSettings.refresh) + { + sysSettings.newmode = sysSettings.omxMode; + changeOmxMode(sysSettings.omxMode); + omxModeChangedThisFrame = true; + + sequencer.playingPattern = sysSettings.playingPattern; + omxDisp.setDirty(); + omxLeds.setAllLEDS(0, 0, 0); + omxLeds.setDirty(); + sysSettings.refresh = false; + } + + // ############### ENCODER ############### + // + auto u = myEncoder.update(); + if (u.active()) + { + auto amt = u.accel(1); // where 5 is the acceleration factor if you want it, 0 if you don't) + omxScreensaver.resetCounter(); // screenSaverCounter = 0; + // Serial.println(u.dir() < 0 ? "ccw " : "cw "); + // Serial.println(amt); + + // Change Mode + if (encoderConfig.enc_edit) + { + // set mode + // int modesize = NUM_OMX_MODES; + sysSettings.newmode = (OMXMode)constrain(sysSettings.newmode + amt, 0, NUM_OMX_MODES - 1); + // omxDisp.dispMode(); + // omxDisp.bumpDisplayTimer(); + omxDisp.setDirty(); + omxLeds.setDirty(); + } + else + { + activeOmxMode->onEncoderChanged(u); + } + } + // END ENCODER + + // ############### ENCODER BUTTON ############### + // + auto s = encButton.update(); + switch (s) + { + // SHORT PRESS + case Button::Down: // Serial.println("Button down"); + omxScreensaver.resetCounter(); // screenSaverCounter = 0; + + // what page are we on? + if (sysSettings.newmode != sysSettings.omxMode && encoderConfig.enc_edit) + { + changeOmxMode(sysSettings.newmode); + omxModeChangedThisFrame = true; + seqStop(); + omxLeds.setAllLEDS(0, 0, 0); + encoderConfig.enc_edit = false; + // omxDisp.dispMode(); + omxDisp.setDirty(); + } + else if (encoderConfig.enc_edit) + { + encoderConfig.enc_edit = false; + } + + // Prevents toggling encoder select when entering mode + if (!omxModeChangedThisFrame) + { + activeOmxMode->onEncoderButtonDown(); + } + + omxDisp.setDirty(); + break; + + // LONG PRESS + case Button::DownLong: // Serial.println("Button downlong"); + if (activeOmxMode->shouldBlockEncEdit()) + { + activeOmxMode->onEncoderButtonDown(); + } + else + { + // Enter mode change + encoderConfig.enc_edit = true; + sysSettings.newmode = sysSettings.omxMode; + omxLeds.setAllLEDS(0, 0, 0); + omxDisp.setDirty(); + // omxDisp.dispMode(); + } + + omxDisp.setDirty(); + break; + case Button::Up: // Serial.println("Button up"); + activeOmxMode->onEncoderButtonUp(); + break; + case Button::UpLong: // Serial.println("Button uplong"); + activeOmxMode->onEncoderButtonUpLong(); + break; + default: + break; + } + // END ENCODER BUTTON + + // ############### KEY HANDLING ############### + // + while (keypad.available()) + { + auto e = keypad.next(); + int thisKey = e.key(); + bool keyConsumed = false; + // int keyPos = thisKey - 11; + // int seqKey = keyPos + (sequencer.patternPage[sequencer.playingPattern] * NUM_STEPKEYS); + + if (e.down()) + { + omxScreensaver.resetCounter(); // screenSaverCounter = 0; + midiSettings.keyState[thisKey] = true; + } + + if (e.down() && thisKey == 0 && encoderConfig.enc_edit) + { + // temp - save whenever the 0 key is pressed in encoder edit mode + omxDisp.displayMessage("Saving..."); + omxDisp.isDirty(); + omxDisp.showDisplay(); + saveToStorage(); + // Serial.println("EEPROM saved"); + omxDisp.displayMessage("Saved State"); + encoderConfig.enc_edit = false; + omxLeds.setAllLEDS(0, 0, 0); + activeOmxMode->onModeActivated(); + omxDisp.isDirty(); + omxLeds.isDirty(); + keyConsumed = true; + } + + if (!keyConsumed) + { + activeOmxMode->onKeyUpdate(e); + } + + // END MODE SWITCH + + if (!e.down()) + { + midiSettings.keyState[thisKey] = false; + } + + // ### LONG KEY SWITCH PRESS + if (e.held() && !keyConsumed) + { + // DO LONG PRESS THINGS + activeOmxMode->onKeyHeldUpdate(e); // Only the sequencer uses this, could probably be handled in onKeyUpdate() but keyStates are modified before this stuff happens. + } // END IF HELD + + } // END KEYS WHILE + + if (!sysSettings.screenSaverMode) + { + omxLeds.updateBlinkStates(); + omxDisp.UpdateMessageTextTimer(); + + if (encoderConfig.enc_edit) + { + omxDisp.dispMode(); + } + else + { + activeOmxMode->onDisplayUpdate(); + } + } + else + { // if screenSaverMode + omxScreensaver.onDisplayUpdate(); + } + + // DISPLAY at end of loop + omxDisp.showDisplay(); + + omxLeds.showLeds(); + + while (MM::usbMidiRead()) + { + // incoming messages - see handlers + } + while (MM::midiRead()) + { + // ignore incoming messages + } + + // Micros elapsed = micros() - timeStart; + // if ((timeStart - reporttime) > 2000) + // { + // report_profile_time("Elapsed", elapsed); + // reporttime = timeStart; + // // report_ram(); + // }; + +#ifdef RAM_MONITOR + uint32_t time = millis(); + + if ((time - reporttime) > 2000) + { + reporttime = time; + report_ram(); + }; + + ram.run(); +#endif + +} // ######## END MAIN LOOP ######## + +// ####### SETUP ####### + +void setup() +{ + Serial.begin(115200); + // while( !Serial ); +#if T4 + Serial.println("Teensy 4.0"); + // Serial.println("DAC Start!"); + dac.begin(DAC_ADDR); +#else + Serial.println("Teensy 3.2"); +#endif + // Init Display + omxDisp.setup(); + + // Startup screen + omxDisp.drawStartupScreen(); + + // Storage + storage = Storage::initStorage(); + sysEx = new SysEx(storage, &sysSettings); + +#ifdef RAM_MONITOR + ram.initialize(); +#endif + + // incoming usbMIDI callbacks + usbMIDI.setHandleNoteOff(OnNoteOff); + usbMIDI.setHandleNoteOn(OnNoteOn); + usbMIDI.setHandleControlChange(OnControlChange); + usbMIDI.setHandleSystemExclusive(OnSysEx); + + // clksTimer = 0; // TODO - didn't see this used anywhere + omxScreensaver.resetCounter(); + // ssstep = 0; + + lastProcessTime = micros(); + omxUtil.resetClocks(); + omxUtil.subModeClearStorage.setStoragePtr(storage); + + // HW MIDI + MM::begin(); + + randomSeed(analogRead(13)); + srand(analogRead(13)); + + // SET ANALOG READ resolution to teensy's 13 usable bits +#if T4 + analogReadResolution(10); // Teensy 4 = 10 bits +#else + analogReadResolution(13); // Teensy 3.x = 13 bits +#endif + + // CV GATE pin + pinMode(CVGATE_PIN, OUTPUT); + // ENCODER BUTTON pin + pinMode(buttonPin, INPUT_PULLUP); + + // initialize ANALOG INPUTS and ResponsiveAnalogRead + for (int i = 0; i < potCount; i++) + { + // potSettings.analog[i] = new ResponsiveAnalogRead(0, true, .001); + // potSettings.analog[i]->setAnalogResolution(1 << 13); + pinMode(analogPins[i], INPUT); + potSettings.analog[i] = new ResponsiveAnalogRead(analogPins[i], true, .001); + +#if T4 + // potSettings.analog[i]->setAnalogResolution(10); + // potSettings.analog[i]->setActivityThreshold(8); +#else + potSettings.analog[i]->setAnalogResolution(1 << 13); + potSettings.analog[i]->setActivityThreshold(32); +#endif + + currentValue[i] = 0; + lastMidiValue[i] = 0; + } + + // set DAC Resolution CV/GATE + RES = 12; + AMAX = pow(2, RES); + V_scale = 64; // pow(2,(RES-7)); 4095 max + +#if T4 + dac.setVoltage(0, false); +#else + analogWriteResolution(RES); // set resolution for DAC + analogWrite(CVPITCH_PIN, 0); +#endif + + globalScale.calculateScale(scaleConfig.scaleRoot, scaleConfig.scalePattern); + omxModeMidi.SetScale(&globalScale); + omxModeDrum.SetScale(&globalScale); + omxModeSeq.SetScale(&globalScale); +#ifdef OMXMODEGRIDS + omxModeGrids.SetScale(&globalScale); +#endif + omxModeEuclid.SetScale(&globalScale); + omxModeChords.SetScale(&globalScale); + + // Load from EEPROM + bool bLoaded = loadFromStorage(); + if (!bLoaded) + { + Serial.println( "Init load fail. Reinitializing" ); + + // Failed to load due to initialized EEPROM or version mismatch + // defaults + // sysSettings.omxMode = DEFAULT_MODE; + sequencer.playingPattern = 0; + sysSettings.playingPattern = 0; + sysSettings.midiChannel = 1; + pots[0][0] = CC1; + pots[0][1] = CC2; + pots[0][2] = CC3; + pots[0][3] = CC4; + pots[0][4] = CC5; + + omxModeSeq.initPatterns(); + + changeOmxMode(DEFAULT_MODE); + // initPatterns(); + saveToStorage(); + } + + // Keypad + // customKeypad.begin(); + keypad.begin(); + + // LEDs + omxLeds.initSetup(); + + +#ifdef RAM_MONITOR + reporttime = millis(); +#endif +} + +// ####### END SETUP ####### diff --git a/Archive/OMX-27-firmware/SYSEX_SPEC.md b/Archive/OMX-27-firmware/SYSEX_SPEC.md new file mode 100644 index 00000000..5e5583bb --- /dev/null +++ b/Archive/OMX-27-firmware/SYSEX_SPEC.md @@ -0,0 +1,52 @@ +# OMX Sysex spec + +The OMX-27 interfaces with its editor via MIDI Sysex. This document describes the supported messages. + +_Work in progress, porting from 16n faderbank editor_ + +## `0x1F` - "1nFo" + +Request for OMX-27 to transmit current state via sysex. No other payload. + +## `0x0F` - "c0nFig" + +"Here is my current config." Only sent by OMX-27 as an outbound message, in response to `0x1F`. Payload of 32 bytes, describing current EEPROM state. + +## `0x0E` - "c0nfig Edit" + +~~"Here is a new complete configuration for you". Payload (other than mfg header, top/tail, etc) of 80 bytes to go straight into EEPROM, according to the memory map described in `README.md`.~~ not implemented + +## `0x0D` - "c0nfig edit (Device options)" + +"Here is a new set of device options for you". Payload (other than mfg header, top/tail, etc) of 32 bytes to go straight into appropriate locations of EEPROM, according to the following map: +``` + // 64 bytes of data: + // 0 - EEPROM VERSION + // 1 - Current MODE + // 2 - Sequencer PlayingPattern + // 3 - MIDI mode MidiChannel + // 4 - 28 - Pots (x25 - 5 banks of 5 pots) + // 29 - MIDI Macro Channel + // 30 - MIDI Macro Type + // 31 - Scale Root + // 32 - Scale Pattern, -1 for chromatic + // 33 - Lock Scale - Bool + // 34 - Scale Group 16 - Bool + // 35 - midiSettings.defaultVelocity + // 36 - clockConfig.globalQuantizeStepIndex + // 37 - cvNoteUtil.triggerMode + // 38 - actvie pot bank + + // XX - 63 - Not yet used + +``` +Example: +`F0 7D 00 00 0D 09 00 00 00 15 16 17 18 07 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 5B 5D 67 68 69 00 00 00 F7` + +## `0x0C` - "c0nfig edit (usb options)" + +~~"Here is a new set of USB options for you". Payload (other than mfg header, top/tail, etc) of 32 bytes to go straight into appropriate locations of EEPROM, according to the memory map described in `README.md`.~~ not implemented + +## `0x0B` - "c0nfig edit (trs options)" + +~~"Here is a new set of TRS options for you". Payload (other than mfg header, top/tail, etc) of 32 bytes to go straight into appropriate locations of EEPROM, according to the memory map described in `README.md`.~~ not implemented diff --git a/OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.eep b/Archive/OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.eep similarity index 100% rename from OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.eep rename to Archive/OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.eep diff --git a/OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.elf b/Archive/OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.elf similarity index 100% rename from OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.elf rename to Archive/OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.elf diff --git a/OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.lst b/Archive/OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.lst similarity index 100% rename from OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.lst rename to Archive/OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.lst diff --git a/OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.sym b/Archive/OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.sym similarity index 100% rename from OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.sym rename to Archive/OMX-27-firmware/build/teensy.avr.teensy31/OMX-27-firmware.ino.sym diff --git a/OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.eep b/Archive/OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.eep similarity index 100% rename from OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.eep rename to Archive/OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.eep diff --git a/OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.elf b/Archive/OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.elf similarity index 100% rename from OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.elf rename to Archive/OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.elf diff --git a/OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.lst b/Archive/OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.lst similarity index 100% rename from OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.lst rename to Archive/OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.lst diff --git a/OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.sym b/Archive/OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.sym similarity index 100% rename from OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.sym rename to Archive/OMX-27-firmware/build/teensy.avr.teensy40/OMX-27-firmware.ino.sym diff --git a/Archive/OMX-27-firmware/feature_ideas.md b/Archive/OMX-27-firmware/feature_ideas.md new file mode 100644 index 00000000..e392f00a --- /dev/null +++ b/Archive/OMX-27-firmware/feature_ideas.md @@ -0,0 +1,229 @@ +``` +// Memory +// Clean slate no MidiFX +``` +==== memory report ==== +free: 29 Kb (45.9%) +stack: 1 Kb (1.6%) +heap: 2 Kb (2.9%) +`` + +// 25 Arps +``` +==== memory report ==== +free: 17 Kb (26.7%) +stack: 2 Kb (3.1%) +heap: 13 Kb (20.7%) +``` + +// 5 Arps +==== memory report ==== +free: 26 Kb (40.3%) +stack: 2 Kb (3.1%) +heap: 13 Kb (20.7%) + +``` +==== memory report ==== +free: 27 Kb (42.3%) +stack: 2 Kb (3.1%) +heap: 13 Kb (20.7%) +``` + +Bugs: +Arps don't work in MidiModeception + +What's next: + +- Chord Split Mode +- Midi Channels For Chords +- Hold Chord Turn set chord +- Chord Keyboard Display +- Default chords to something playable. + + +Adafruit DMA neopixel 1.3.0 +Adafruit NeoPixel 1.10.5 + +/Applications/Teensyduino.app/Contents/Java/hardware/tools/arm/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/libc_nano.a(lib_a-signalr.o): In function `_kill_r': +Multiple libraries were found for "Adafruit_NeoPixel.h" +signalr.c:(.text._kill_r+0xe): undefined reference to `_kill' + Used: /Users/quixotic7mini/Documents/Arduino/libraries/Adafruit_NeoPixel +/Applications/Teensyduino.app/Contents/Java/hardware/tools/arm/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/libc_nano.a(lib_a-signalr.o): In function `_getpid_r': + Not used: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/Adafruit_NeoPixel +Multiple libraries were found for "MIDI.h" + Used: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/MIDI +signalr.c:(.text._getpid_r+0x0): undefined reference to `_getpid' + Not used: /Users/quixotic7mini/Documents/Arduino/libraries/MIDI_Library +Multiple libraries were found for "Adafruit_SSD1306.h" + Used: /Users/quixotic7mini/Documents/Arduino/libraries/Adafruit_SSD1306 +collect2: error: ld returned 1 exit status + Not used: /Users/quixotic7mini/Documents/Arduino/libraries/Adafruit_SSD1306_Wemos_Mini_OLED + + +Ideas: +Aux + Encoder to quickly switch modes. Modular setup in which You can combine sequencers, keyboards etc. + + +"Was messing around with the Grids mode, and thought it would be nice if the four buttons that blink showing the different 'hits' could also act as mutes." + +- DONE - Move MidiFX easily rather than cut/paste + +- DONE -Quickkeys for arps. + +- DONE - Way to adjust midifx and play keyboard at same time. + +DONE - "feedback dialogs when selecting FXgroup or FX-off might be nice" + +- Save / recall arp settings. + + + + + + + +- S1/S2 - Active step mode + This would add an additional view in which steps can be turned on or off. + Steps that are off get ignored as if they did not exist. + Allows for fun performance manipulation of sequence without changing it. + +- S1/S2 pattern gate feature + +- DONE - Arpegiator + + + +- Add MidiFX to Seq, Chord, and Grids Modes + +- Chord LED feedback + +- Auto strum - Does Arp MidiFX Accomplish this? Maybe a arp submode? + +- Earthsea sequencer, add into midi and chord modes, simple records what you play then plays back in natural time or quantized. + +- Pot CC Presets + These would be templates for quickly setting cc's to work with a specific synth like a mm2 or digitone. + + Might be easier to just have multiple banks of pot presets. + + A key shortcut for changing banks would be nice. + + +- Try and make UI more consistent between modes + +- Show something on screen to indicate you're in a submode and can press aux to exit. + +- Save single mode to sysex and load from sysex + +- Add midi channels to chords + + + +- Full manual chord note input + + + + + + +Waldorf Arp notes + + +The arpeggiator uses a so-called note list that can store up to 16 notes. + +Sort Order is set to Num Lo>Hi, the list is rearranged so that the lowest note is placed at the first position, the second lowest note at the next + + +Mode + off + on + one shot + hold + +Step Len + if Length is set to legato, all arpeggio notes are played without pauses between each step and Arp Steplen therefore has no effect. + + +Range + octaves + +Patterns + + +x-xxx-xxx-xxx-xx +x-x-x--xx-x-x--x +x-x-x-xxx-x-x-xx +x-xxx-x-x-xxx-x- +x-x-xx-xx-x-xx-x +xx-x-xx-xx-x-xx- +x-x-x-x-xx-x-x-x +x-x-x-xx-x-xx-x- +xxx-xxx-xxx-xxx- +xx-xx-xx-xx-xxx- +xx-xx-xx-xx-x-x- +xx-xx-x-xx-xx-x- +x-x-x-x-xx-x-xxx +x--x--x--x--x--x +x-x-x-x-x--xx-x- + +Max Notes + +Step length + +Direction + + up + down + alt up + alt down + +Sort Order + as played + reversed + Num Lo>Hi + Num Hi>Lo + Vel Lo>Hi + Vel Hi>Lo + +Velocity + randomize like grids? + +Swing? + +Same Note Overlap + +Pattern Reset + With Pattern Reset, you can decide if the note list is also restarted from the beginning when the rhythm pattern is reset. + + If Off is selected, the note list is not restarted, so that there is no synchronization between rhythm and note list. E.g., when you have a pattern where four steps are set and you play three notes, the pattern and the note list are repeated differently. + + If On is selected, the note list will be restarted as soon as the rhythm pattern is restarted. + + +Arpeggiator Edit Menu Step Data + +Arp Accent + +Arp Glide + +Arp Step + + • If * is selected (asterisk symbol), the Arpeggiator plays the step unaltered. The note list is advanced beforehand, except when you press a new chord. + + • If `off` is selected (empty space), the Arpeggiator plays nothing at this step position. When Length or Steplen is set to legato, the previous step that isn’t set to Off is still held to create the legato effect. The note list is not advanced. + + • If - is selected, the Arpeggiator plays the same note as it had to play in the previous step that was set to * or ˆ. With this setting, you can repeat a particular note of the note list several times. The note list is not advanced. + + • If < is selected, the Arpeggiator plays the very first note of the note list. This might be interesting if you want to only play the "root note" of a chord in a bass sound. The note list is not advanced. + + • If > is selected, the Arpeggiator plays the very last note of the note list. The note list is not advanced. + + • If <> is selected, the Arpeggiator plays a chord with two notes, the first and the last one of the note list. This means that you have to play at least two notes to hear the effect. Otherwise, you would hear only one note anyway. The note list is not advanced. + + • If (notes) is selected (notes symbol), the Arpeggiator plays a chord with all notes from the note list. This means that you have to play at least two notes to hear the effect. The note list is not advanced. + + • If ? is selected, the Arpeggiator plays a random note from the note list. This doesn’t mean that it creates any random note, it only uses one note of the note list at will. The note list is not advanced. + + + + diff --git a/Archive/OMX-27-firmware/fonts/04B_03_7pt7b.h b/Archive/OMX-27-firmware/fonts/04B_03_7pt7b.h new file mode 100644 index 00000000..0c3d7fe6 --- /dev/null +++ b/Archive/OMX-27-firmware/fonts/04B_03_7pt7b.h @@ -0,0 +1,145 @@ +const uint8_t 04B_03__7pt7bBitmaps[] PROGMEM = { + 0x00, 0xFF, 0x0F, 0xCE, 0x72, 0x24, 0x24, 0xFF, 0x24, 0x24, 0xFF, 0x24, + 0x24, 0x18, 0x6E, 0x38, 0x1C, 0x7F, 0xBE, 0x18, 0x60, 0xC4, 0xC4, 0x04, + 0x18, 0x18, 0x20, 0x23, 0x23, 0x30, 0x30, 0xC0, 0xC0, 0xFE, 0xCC, 0x33, + 0x33, 0xFC, 0x27, 0x6D, 0x89, 0xD8, 0x92, 0x76, 0x9C, 0xD8, 0xC9, 0x80, + 0x27, 0xFE, 0x40, 0x27, 0x60, 0xFF, 0xC0, 0xF0, 0x03, 0x03, 0x04, 0x18, + 0x18, 0x20, 0xC0, 0xC0, 0x30, 0xCC, 0xF3, 0xCF, 0x33, 0x0C, 0xFC, 0x92, + 0x49, 0xFB, 0xE0, 0x41, 0xD3, 0x0F, 0xFF, 0xFB, 0xE3, 0x8E, 0x04, 0x1F, + 0xBE, 0x18, 0x63, 0x8E, 0xFF, 0xF1, 0x86, 0xFF, 0xFC, 0x30, 0x34, 0x1F, + 0xBE, 0x30, 0xCF, 0x3C, 0xCF, 0x33, 0x0C, 0xFF, 0xF0, 0x41, 0x18, 0x82, + 0x08, 0x30, 0xCC, 0xF3, 0xFF, 0x33, 0x0C, 0x30, 0xCC, 0xF3, 0x3C, 0xF3, + 0x0C, 0xC3, 0xC3, 0xF0, 0x19, 0xC9, 0x8C, 0x10, 0xE3, 0xF8, 0x01, 0xF0, + 0xC6, 0x08, 0x31, 0x93, 0x98, 0xFB, 0xE0, 0x41, 0x10, 0x02, 0x08, 0x3C, + 0x3C, 0xC3, 0xDF, 0xDF, 0xDB, 0x3C, 0x3C, 0x30, 0xCC, 0xF3, 0xFF, 0xFC, + 0xF3, 0xF3, 0xCC, 0xF3, 0xFF, 0x3F, 0x3C, 0x39, 0xF1, 0x8C, 0x60, 0xE7, + 0xF3, 0xCC, 0xF3, 0xCF, 0x3F, 0x3C, 0xFF, 0xF1, 0x8F, 0x63, 0xFF, 0xFF, + 0xF1, 0x8F, 0xE3, 0x18, 0x3C, 0xFC, 0x37, 0xDF, 0x33, 0xCF, 0xC7, 0x1C, + 0x7F, 0xFF, 0x1C, 0x71, 0xFF, 0xC8, 0x42, 0x13, 0xFF, 0x1C, 0x70, 0x41, + 0x07, 0x13, 0x8E, 0xC7, 0x1C, 0xBC, 0xF3, 0x2C, 0xF1, 0xC6, 0x31, 0x8C, + 0x63, 0xFF, 0x03, 0x83, 0xCF, 0xB3, 0xB3, 0x83, 0x83, 0x03, 0xC3, 0x1F, + 0x73, 0xCF, 0x1C, 0x70, 0x30, 0xCC, 0xF3, 0xCF, 0x33, 0x0C, 0xF3, 0xCC, + 0xF3, 0xF3, 0xCC, 0x30, 0x30, 0xCC, 0xF3, 0xCF, 0x33, 0x0C, 0x0C, 0x30, + 0xF3, 0xCC, 0xF3, 0xF3, 0xCC, 0xF3, 0x3C, 0xFC, 0x30, 0x14, 0x1F, 0xBE, + 0xFF, 0xC8, 0x42, 0x10, 0x84, 0xC7, 0x1C, 0x71, 0xC7, 0x13, 0x8E, 0xC7, + 0x1C, 0x72, 0xCB, 0x23, 0x0C, 0x81, 0x81, 0x99, 0x99, 0x99, 0x99, 0x66, + 0x66, 0xC7, 0x1C, 0x4E, 0x3B, 0x1C, 0x71, 0xC7, 0x1C, 0x4F, 0x04, 0x13, + 0x8E, 0xFF, 0xC6, 0x3C, 0x63, 0xFF, 0xFF, 0x6D, 0xBF, 0xC0, 0xC0, 0x20, + 0x18, 0x18, 0x04, 0x03, 0x03, 0xFC, 0x92, 0x7F, 0x31, 0xB2, 0xFF, 0xF0, + 0xD8, 0x80, 0x3C, 0xFC, 0xF3, 0x3C, 0xF0, 0xC3, 0x0F, 0x3C, 0xCF, 0x3F, + 0x3C, 0x3E, 0x31, 0x83, 0x9C, 0x0C, 0x33, 0xCF, 0xCF, 0x33, 0xCF, 0x3B, + 0x7D, 0xF8, 0x38, 0xE0, 0x18, 0xC8, 0x4F, 0x90, 0x84, 0x3C, 0xFC, 0xF3, + 0x3C, 0xF0, 0xCC, 0x30, 0xC3, 0x0F, 0xB1, 0xC7, 0x1C, 0x71, 0xF0, 0xFF, + 0x24, 0x02, 0x49, 0x27, 0x00, 0xC3, 0x0C, 0x72, 0xCB, 0xEC, 0x71, 0xFF, + 0xFF, 0xFC, 0xD3, 0xD3, 0xD3, 0xD3, 0xC3, 0xFB, 0x1C, 0x71, 0xC7, 0x10, + 0x30, 0xCC, 0xF3, 0x30, 0xC0, 0xF3, 0xCC, 0xF3, 0xF3, 0xCC, 0x30, 0xC0, + 0x3C, 0xFC, 0xF3, 0x3C, 0xF0, 0xC3, 0x0C, 0xCF, 0xBD, 0x8C, 0x60, 0xFB, + 0x81, 0xC7, 0xFB, 0xE0, 0x21, 0x3E, 0x42, 0x10, 0x63, 0xC7, 0x1C, 0x71, + 0x3C, 0xF0, 0xC7, 0x1C, 0x72, 0x30, 0xC0, 0x99, 0x99, 0x99, 0x66, 0x66, + 0x66, 0xC9, 0x8C, 0x6C, 0xE4, 0xC7, 0x1C, 0x71, 0x3C, 0xF0, 0x41, 0x38, + 0xFC, 0x61, 0x88, 0x23, 0xF0, 0x39, 0xC9, 0x8C, 0x10, 0x87, 0xFF, 0xFF, + 0xE7, 0x08, 0x31, 0x90, 0x9C, 0x30, 0xCC, 0xC0 }; + +const GFXglyph 04B_03__7pt7bGlyphs[] PROGMEM = { + { 0, 1, 1, 7, 0, 0 }, // 0x20 ' ' + { 1, 2, 8, 3, 0, -7 }, // 0x21 '!' + { 3, 5, 3, 7, 0, -7 }, // 0x22 '"' + { 5, 8, 8, 10, 1, -7 }, // 0x23 '#' + { 13, 6, 10, 8, 1, -7 }, // 0x24 '$' + { 21, 8, 8, 10, 1, -7 }, // 0x25 '%' + { 29, 8, 8, 10, 1, -7 }, // 0x26 '&' + { 37, 2, 3, 3, 0, -7 }, // 0x27 ''' + { 38, 3, 8, 5, 1, -7 }, // 0x28 '(' + { 41, 3, 8, 5, 1, -7 }, // 0x29 ')' + { 44, 5, 5, 7, 0, -7 }, // 0x2A '*' + { 48, 5, 4, 7, 0, -5 }, // 0x2B '+' + { 51, 3, 4, 5, 1, -1 }, // 0x2C ',' + { 53, 5, 2, 7, 0, -4 }, // 0x2D '-' + { 55, 2, 2, 3, 0, -1 }, // 0x2E '.' + { 56, 8, 8, 10, 1, -7 }, // 0x2F '/' + { 64, 6, 8, 8, 1, -7 }, // 0x30 '0' + { 70, 3, 8, 5, 1, -7 }, // 0x31 '1' + { 73, 6, 8, 8, 1, -7 }, // 0x32 '2' + { 79, 6, 8, 8, 1, -7 }, // 0x33 '3' + { 85, 6, 8, 8, 1, -7 }, // 0x34 '4' + { 91, 6, 8, 8, 1, -7 }, // 0x35 '5' + { 97, 6, 8, 8, 1, -7 }, // 0x36 '6' + { 103, 6, 8, 8, 1, -7 }, // 0x37 '7' + { 109, 6, 8, 8, 1, -7 }, // 0x38 '8' + { 115, 6, 8, 8, 1, -7 }, // 0x39 '9' + { 121, 2, 4, 3, 0, -5 }, // 0x3A ':' + { 122, 2, 6, 3, 0, -5 }, // 0x3B ';' + { 124, 5, 8, 7, 0, -7 }, // 0x3C '<' + { 129, 5, 4, 7, 0, -5 }, // 0x3D '=' + { 132, 5, 8, 7, 0, -7 }, // 0x3E '>' + { 137, 6, 8, 8, 1, -7 }, // 0x3F '?' + { 143, 8, 8, 10, 1, -7 }, // 0x40 '@' + { 151, 6, 8, 8, 1, -7 }, // 0x41 'A' + { 157, 6, 8, 8, 1, -7 }, // 0x42 'B' + { 163, 5, 8, 7, 0, -7 }, // 0x43 'C' + { 168, 6, 8, 8, 1, -7 }, // 0x44 'D' + { 174, 5, 8, 7, 0, -7 }, // 0x45 'E' + { 179, 5, 8, 7, 0, -7 }, // 0x46 'F' + { 184, 6, 8, 8, 1, -7 }, // 0x47 'G' + { 190, 6, 8, 8, 1, -7 }, // 0x48 'H' + { 196, 5, 8, 7, 0, -7 }, // 0x49 'I' + { 201, 6, 8, 8, 1, -7 }, // 0x4A 'J' + { 207, 6, 8, 8, 1, -7 }, // 0x4B 'K' + { 213, 5, 8, 7, 0, -7 }, // 0x4C 'L' + { 218, 8, 8, 10, 1, -7 }, // 0x4D 'M' + { 226, 6, 8, 8, 1, -7 }, // 0x4E 'N' + { 232, 6, 8, 8, 1, -7 }, // 0x4F 'O' + { 238, 6, 8, 8, 1, -7 }, // 0x50 'P' + { 244, 6, 10, 8, 1, -7 }, // 0x51 'Q' + { 252, 6, 8, 8, 1, -7 }, // 0x52 'R' + { 258, 6, 8, 8, 1, -7 }, // 0x53 'S' + { 264, 5, 8, 7, 0, -7 }, // 0x54 'T' + { 269, 6, 8, 8, 1, -7 }, // 0x55 'U' + { 275, 6, 8, 8, 1, -7 }, // 0x56 'V' + { 281, 8, 8, 10, 1, -7 }, // 0x57 'W' + { 289, 6, 8, 8, 1, -7 }, // 0x58 'X' + { 295, 6, 8, 8, 1, -7 }, // 0x59 'Y' + { 301, 5, 8, 7, 0, -7 }, // 0x5A 'Z' + { 306, 3, 8, 5, 1, -7 }, // 0x5B '[' + { 309, 8, 8, 10, 1, -7 }, // 0x5C '\' + { 317, 3, 8, 5, 1, -7 }, // 0x5D ']' + { 320, 5, 3, 7, 0, -7 }, // 0x5E '^' + { 322, 6, 2, 8, 1, -1 }, // 0x5F '_' + { 324, 3, 3, 5, 1, -7 }, // 0x60 '`' + { 326, 6, 6, 8, 1, -5 }, // 0x61 'a' + { 331, 6, 8, 8, 1, -7 }, // 0x62 'b' + { 337, 5, 6, 7, 0, -5 }, // 0x63 'c' + { 341, 6, 8, 8, 1, -7 }, // 0x64 'd' + { 347, 6, 6, 8, 1, -5 }, // 0x65 'e' + { 352, 5, 8, 7, 0, -7 }, // 0x66 'f' + { 357, 6, 9, 8, 1, -5 }, // 0x67 'g' + { 364, 6, 8, 8, 1, -7 }, // 0x68 'h' + { 370, 2, 8, 3, 0, -7 }, // 0x69 'i' + { 372, 3, 11, 5, 1, -7 }, // 0x6A 'j' + { 377, 6, 8, 8, 1, -7 }, // 0x6B 'k' + { 383, 2, 8, 3, 0, -7 }, // 0x6C 'l' + { 385, 8, 6, 10, 1, -5 }, // 0x6D 'm' + { 391, 6, 6, 8, 1, -5 }, // 0x6E 'n' + { 396, 6, 6, 8, 1, -5 }, // 0x6F 'o' + { 401, 6, 9, 8, 1, -5 }, // 0x70 'p' + { 408, 6, 9, 8, 1, -5 }, // 0x71 'q' + { 415, 5, 6, 7, 0, -5 }, // 0x72 'r' + { 419, 6, 6, 8, 1, -5 }, // 0x73 's' + { 424, 5, 8, 7, 0, -7 }, // 0x74 't' + { 429, 6, 6, 8, 1, -5 }, // 0x75 'u' + { 434, 6, 6, 8, 1, -5 }, // 0x76 'v' + { 439, 8, 6, 10, 1, -5 }, // 0x77 'w' + { 445, 5, 6, 7, 0, -5 }, // 0x78 'x' + { 449, 6, 9, 8, 1, -5 }, // 0x79 'y' + { 456, 6, 6, 8, 1, -5 }, // 0x7A 'z' + { 461, 5, 8, 7, 0, -7 }, // 0x7B '{' + { 466, 2, 8, 3, 0, -7 }, // 0x7C '|' + { 468, 5, 8, 7, 0, -7 }, // 0x7D '}' + { 473, 6, 3, 8, 1, -7 } }; // 0x7E '~' + +const GFXfont 04B_03__7pt7b PROGMEM = { + (uint8_t *)04B_03__7pt7bBitmaps, + (GFXglyph *)04B_03__7pt7bGlyphs, + 0x20, 0x7E, 13 }; + +// Approx. 1148 bytes diff --git a/Archive/OMX-27-firmware/fonts/liquid_7pt7b.h b/Archive/OMX-27-firmware/fonts/liquid_7pt7b.h new file mode 100644 index 00000000..91ba97e9 --- /dev/null +++ b/Archive/OMX-27-firmware/fonts/liquid_7pt7b.h @@ -0,0 +1,155 @@ +const uint8_t liquid7pt7bBitmaps[] PROGMEM = { + 0x00, 0xFF, 0xFC, 0x3C, 0xDE, 0xF6, 0x6C, 0x6C, 0xFF, 0xFF, 0x6C, 0xFF, + 0xFF, 0x6C, 0x6C, 0x18, 0x18, 0x3E, 0x3E, 0xD8, 0xD8, 0x3E, 0x3E, 0x19, + 0x3E, 0x3E, 0x18, 0x18, 0xC3, 0x00, 0xC3, 0x23, 0x0C, 0x03, 0x0C, 0x20, + 0x20, 0xD8, 0xD8, 0x20, 0x20, 0xD9, 0xC6, 0xC6, 0x39, 0x39, 0xFC, 0x27, + 0x6D, 0xB6, 0xC4, 0x80, 0xD8, 0x92, 0x49, 0x3B, 0x00, 0xCF, 0x32, 0x08, + 0xCF, 0x30, 0x67, 0xFE, 0xC6, 0x00, 0xFC, 0xFF, 0xC0, 0xF0, 0x0C, 0x30, + 0xC0, 0x20, 0x82, 0x00, 0xC3, 0x0C, 0x00, 0x20, 0x8C, 0xF3, 0xCF, 0x3C, + 0xF3, 0xCC, 0x82, 0x00, 0x63, 0x39, 0xC6, 0x31, 0x8C, 0x67, 0xFE, 0xE3, + 0x80, 0xC3, 0x0C, 0x02, 0x38, 0xC3, 0xFF, 0xC0, 0xFF, 0xC6, 0x36, 0x30, + 0x63, 0x1F, 0x38, 0x18, 0xF7, 0xBD, 0xEF, 0xFF, 0x18, 0xC6, 0xFF, 0xF1, + 0x8E, 0x70, 0x63, 0x1F, 0x38, 0x3C, 0xFC, 0x30, 0xE3, 0x8C, 0xF3, 0xCC, + 0x82, 0x00, 0xFF, 0xC2, 0x10, 0x84, 0xC6, 0x31, 0x8C, 0x20, 0x8C, 0xF3, + 0x20, 0x8C, 0xF3, 0xCC, 0x82, 0x00, 0x20, 0x8C, 0xF3, 0xCC, 0x33, 0xCF, + 0x0F, 0x8E, 0x00, 0xF3, 0xC0, 0xF0, 0xFC, 0x0C, 0x32, 0x08, 0xC0, 0x82, + 0x03, 0x0C, 0xFF, 0xC0, 0x0F, 0xFC, 0xC3, 0x02, 0x08, 0x0C, 0x82, 0x30, + 0xC0, 0x20, 0x8C, 0xF3, 0x0C, 0x02, 0x08, 0x00, 0x82, 0x00, 0x3E, 0x7F, + 0x1E, 0x3D, 0xFB, 0xF7, 0xE0, 0xC0, 0x70, 0xE0, 0x20, 0x8C, 0xF3, 0xCF, + 0x3F, 0xFF, 0xCF, 0x3C, 0xC0, 0xE7, 0x37, 0xBE, 0x73, 0x7B, 0xDF, 0x38, + 0x39, 0xF1, 0x8C, 0x63, 0x18, 0xC1, 0xCE, 0xE7, 0x37, 0xBD, 0xEF, 0x7B, + 0xDF, 0x38, 0xFF, 0xF1, 0x8E, 0x73, 0x18, 0xC7, 0xFE, 0xFF, 0xF1, 0x8E, + 0x73, 0x18, 0xC6, 0x30, 0x39, 0xF1, 0x8C, 0x6F, 0x7B, 0xD9, 0xCE, 0xDE, + 0xF7, 0xBF, 0xFF, 0x7B, 0xDE, 0xF6, 0xFF, 0xFF, 0xFC, 0xFC, 0x92, 0x49, + 0x24, 0xEC, 0xDE, 0xF7, 0x8E, 0x73, 0x98, 0xDE, 0xF6, 0xC6, 0x31, 0x8C, + 0x63, 0x18, 0xC7, 0xFE, 0xC3, 0xC3, 0xE7, 0xE7, 0xDB, 0xDB, 0xC3, 0xC3, + 0xC3, 0xC3, 0xC3, 0xC7, 0x8F, 0xDF, 0xBD, 0xFB, 0xF1, 0xE3, 0xC7, 0x8F, + 0x18, 0x20, 0x8C, 0xF3, 0xCF, 0x3C, 0xF3, 0xCC, 0x82, 0x00, 0xE7, 0x37, + 0xBD, 0xE3, 0x9C, 0xC6, 0x30, 0x20, 0x8C, 0xF3, 0xCF, 0x3C, 0xF3, 0xCC, + 0x82, 0x03, 0x0C, 0xE7, 0x37, 0xBD, 0xE3, 0x9C, 0xDE, 0xF6, 0x3C, 0xFC, + 0x30, 0x20, 0x80, 0xC3, 0x0F, 0x8E, 0x00, 0xFF, 0xD8, 0xC6, 0x31, 0x8C, + 0x63, 0x18, 0xDE, 0xF7, 0xBD, 0xEF, 0x7B, 0xD9, 0xCE, 0xDE, 0xF7, 0xBD, + 0xEF, 0x7C, 0xE6, 0x30, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xD9, 0xD9, + 0xD9, 0x26, 0x26, 0xCF, 0x3C, 0xC0, 0x20, 0x82, 0x00, 0xCF, 0x3C, 0xC0, + 0xCF, 0x3C, 0xF3, 0xCC, 0x02, 0x08, 0x20, 0x82, 0x00, 0xFF, 0xF0, 0xC3, + 0x20, 0x82, 0x30, 0xC3, 0xFF, 0xC0, 0xFF, 0x6D, 0xB6, 0xDF, 0x80, 0xC3, + 0x0C, 0x00, 0x20, 0x82, 0x00, 0x0C, 0x30, 0xC0, 0xFF, 0x33, 0x33, 0x33, + 0x3F, 0xF0, 0x20, 0x8C, 0xF3, 0xFF, 0xC0, 0xD8, 0x90, 0x39, 0xF7, 0xBD, + 0x9C, 0xE0, 0xC6, 0x31, 0x8E, 0x73, 0x7B, 0xDF, 0x38, 0x39, 0xF1, 0x8C, + 0x1C, 0xE0, 0x18, 0xC6, 0x33, 0x9F, 0x7B, 0xD9, 0xCE, 0x20, 0x8C, 0xF3, + 0xFF, 0xFC, 0x0F, 0x3C, 0x27, 0x6F, 0xF6, 0xDB, 0x00, 0x39, 0xF7, 0xBD, + 0x9C, 0xE3, 0x1F, 0x38, 0xC6, 0x31, 0x8E, 0x73, 0x7B, 0xDE, 0xF6, 0xF0, + 0xFF, 0xFC, 0x24, 0x02, 0x49, 0x24, 0xEC, 0xC6, 0x31, 0x8D, 0xEF, 0x9C, + 0xE6, 0xF6, 0xDB, 0x6D, 0xB6, 0xC4, 0x80, 0xFC, 0xFC, 0xDB, 0xDB, 0xDB, + 0xE7, 0x37, 0xBD, 0x80, 0x20, 0x8C, 0xF3, 0xCC, 0x82, 0x00, 0xE7, 0x37, + 0xBD, 0xEF, 0x7C, 0xE6, 0x30, 0x39, 0xF7, 0xBF, 0xFC, 0x63, 0x18, 0x27, + 0x6D, 0xB0, 0xFF, 0x73, 0xF8, 0xDB, 0xFD, 0xB1, 0x20, 0xDE, 0xF7, 0xBD, + 0x9C, 0xE0, 0xDE, 0xF7, 0xCE, 0x63, 0x00, 0xC1, 0xC1, 0xD9, 0xD9, 0xD9, + 0x26, 0x26, 0xCF, 0x32, 0x08, 0x23, 0x3C, 0xC0, 0xCF, 0x3C, 0xF3, 0xCC, + 0x82, 0x30, 0xC0, 0xFC, 0xFD, 0xF8, 0x0C, 0x30, 0x08, 0x20, 0x8C, 0x30, + 0x20, 0x82, 0x03, 0x0C, 0xFF, 0xFF, 0xFC, 0xC3, 0x00, 0x08, 0x20, 0x80, + 0xC3, 0x20, 0x82, 0x30, 0xC0, 0xD9, 0xB0, 0x99, 0x30 }; + +const GFXglyph liquid7pt7bGlyphs[] PROGMEM = { + { 0, 1, 1, 2, 0, 0 }, // 0x20 ' ' + { 1, 2, 11, 4, 0, -10 }, // 0x21 '!' + { 4, 5, 3, 7, 0, -10 }, // 0x22 '"' + { 6, 8, 9, 10, 0, -10 }, // 0x23 '#' + { 15, 8, 13, 10, 0, -10 }, // 0x24 '$' + { 28, 6, 9, 8, 0, -8 }, // 0x25 '%' + { 35, 8, 11, 10, 0, -10 }, // 0x26 '&' + { 46, 2, 3, 4, 0, -10 }, // 0x27 ''' + { 47, 3, 11, 5, 0, -10 }, // 0x28 '(' + { 52, 3, 11, 5, 0, -10 }, // 0x29 ')' + { 57, 6, 6, 8, 0, -10 }, // 0x2A '*' + { 62, 5, 5, 7, 0, -6 }, // 0x2B '+' + { 66, 2, 3, 4, 0, 0 }, // 0x2C ',' + { 67, 5, 2, 7, 0, -5 }, // 0x2D '-' + { 69, 2, 2, 4, 0, -1 }, // 0x2E '.' + { 70, 6, 11, 8, 0, -10 }, // 0x2F '/' + { 79, 6, 11, 6, 0, -10 }, // 0x30 '0' + { 88, 5, 11, 6, 0, -10 }, // 0x31 '1' + { 95, 6, 11, 6, 0, -10 }, // 0x32 '2' + { 104, 5, 11, 6, 0, -10 }, // 0x33 '3' + { 111, 5, 11, 6, 0, -10 }, // 0x34 '4' + { 118, 5, 11, 6, 0, -10 }, // 0x35 '5' + { 125, 6, 11, 6, 0, -10 }, // 0x36 '6' + { 134, 5, 11, 6, 0, -10 }, // 0x37 '7' + { 141, 6, 11, 6, 0, -10 }, // 0x38 '8' + { 150, 6, 11, 6, 0, -10 }, // 0x39 '9' + { 159, 2, 5, 4, 0, -4 }, // 0x3A ':' + { 161, 2, 7, 4, 0, -4 }, // 0x3B ';' + { 163, 6, 9, 8, 0, -8 }, // 0x3C '<' + { 170, 5, 6, 7, 0, -6 }, // 0x3D '=' + { 174, 6, 9, 8, 0, -8 }, // 0x3E '>' + { 181, 6, 11, 8, 0, -10 }, // 0x3F '?' + { 190, 7, 11, 9, 0, -10 }, // 0x40 '@' + { 200, 6, 11, 8, 0, -10 }, // 0x41 'A' + { 209, 5, 11, 7, 0, -10 }, // 0x42 'B' + { 216, 5, 11, 7, 0, -10 }, // 0x43 'C' + { 223, 5, 11, 7, 0, -10 }, // 0x44 'D' + { 230, 5, 11, 7, 0, -10 }, // 0x45 'E' + { 237, 5, 11, 7, 0, -10 }, // 0x46 'F' + { 244, 5, 11, 7, 0, -10 }, // 0x47 'G' + { 251, 5, 11, 7, 0, -10 }, // 0x48 'H' + { 258, 2, 11, 4, 0, -10 }, // 0x49 'I' + { 261, 3, 13, 5, 0, -10 }, // 0x4A 'J' + { 266, 5, 11, 7, 0, -10 }, // 0x4B 'K' + { 273, 5, 11, 7, 0, -10 }, // 0x4C 'L' + { 280, 8, 11, 10, 0, -10 }, // 0x4D 'M' + { 291, 7, 11, 9, 0, -10 }, // 0x4E 'N' + { 301, 6, 11, 8, 0, -10 }, // 0x4F 'O' + { 310, 5, 11, 7, 0, -10 }, // 0x50 'P' + { 317, 6, 13, 8, 0, -10 }, // 0x51 'Q' + { 327, 5, 11, 7, 0, -10 }, // 0x52 'R' + { 334, 6, 11, 8, 0, -10 }, // 0x53 'S' + { 343, 5, 11, 7, 0, -10 }, // 0x54 'T' + { 350, 5, 11, 7, 0, -10 }, // 0x55 'U' + { 357, 5, 11, 7, 0, -10 }, // 0x56 'V' + { 364, 8, 11, 10, 0, -10 }, // 0x57 'W' + { 375, 6, 11, 8, 0, -10 }, // 0x58 'X' + { 384, 6, 11, 8, 0, -10 }, // 0x59 'Y' + { 393, 6, 11, 8, 0, -10 }, // 0x5A 'Z' + { 402, 3, 11, 5, 0, -10 }, // 0x5B '[' + { 407, 6, 11, 8, 0, -10 }, // 0x5C '\' + { 416, 4, 11, 6, 0, -10 }, // 0x5D ']' + { 422, 6, 4, 8, 0, -10 }, // 0x5E '^' + { 425, 5, 2, 7, 0, -1 }, // 0x5F '_' + { 427, 3, 4, 5, 0, -10 }, // 0x60 '`' + { 429, 5, 7, 9, 2, -6 }, // 0x61 'a' + { 434, 5, 11, 9, 2, -10 }, // 0x62 'b' + { 441, 5, 7, 7, 0, -6 }, // 0x63 'c' + { 446, 5, 11, 7, 0, -10 }, // 0x64 'd' + { 453, 6, 9, 8, 0, -8 }, // 0x65 'e' + { 460, 3, 11, 5, 0, -10 }, // 0x66 'f' + { 465, 5, 11, 7, 0, -6 }, // 0x67 'g' + { 472, 5, 11, 7, 0, -10 }, // 0x68 'h' + { 479, 2, 11, 4, 0, -10 }, // 0x69 'i' + { 482, 3, 13, 5, 0, -10 }, // 0x6A 'j' + { 487, 5, 11, 7, 0, -10 }, // 0x6B 'k' + { 494, 3, 11, 5, 0, -10 }, // 0x6C 'l' + { 499, 8, 5, 10, 0, -4 }, // 0x6D 'm' + { 504, 5, 5, 7, 0, -4 }, // 0x6E 'n' + { 508, 6, 7, 8, 0, -6 }, // 0x6F 'o' + { 514, 5, 11, 7, 0, -8 }, // 0x70 'p' + { 521, 5, 9, 7, 0, -6 }, // 0x71 'q' + { 527, 3, 7, 5, 0, -6 }, // 0x72 'r' + { 530, 3, 7, 5, 0, -6 }, // 0x73 's' + { 533, 3, 9, 5, 0, -8 }, // 0x74 't' + { 537, 5, 7, 7, 0, -6 }, // 0x75 'u' + { 542, 5, 7, 7, 0, -6 }, // 0x76 'v' + { 547, 8, 7, 10, 0, -6 }, // 0x77 'w' + { 554, 6, 7, 8, 0, -6 }, // 0x78 'x' + { 560, 6, 9, 8, 0, -6 }, // 0x79 'y' + { 567, 3, 7, 5, 0, -6 }, // 0x7A 'z' + { 570, 6, 13, 8, 0, -10 }, // 0x7B '{' + { 580, 2, 11, 4, 0, -10 }, // 0x7C '|' + { 583, 6, 13, 8, 0, -10 }, // 0x7D '}' + { 593, 7, 4, 9, 0, -8 } }; // 0x7E '~' + +const GFXfont liquid7pt7b PROGMEM = { + (uint8_t *)liquid7pt7bBitmaps, + (GFXglyph *)liquid7pt7bGlyphs, + 0x20, 0x7E, 13 }; + +// Approx. 1269 bytes diff --git a/Archive/OMX-27-firmware/fonts/slkscr7pt7b.h b/Archive/OMX-27-firmware/fonts/slkscr7pt7b.h new file mode 100644 index 00000000..cab2de9d --- /dev/null +++ b/Archive/OMX-27-firmware/fonts/slkscr7pt7b.h @@ -0,0 +1,152 @@ +const uint8_t slkscr7pt7bBitmaps[] PROGMEM = { + 0x00, 0xFF, 0xC3, 0xDE, 0xF6, 0x6C, 0x6C, 0xFF, 0x6C, 0x6C, 0xFF, 0x6C, + 0x6C, 0x18, 0x30, 0xF8, 0x0C, 0x07, 0x02, 0x03, 0x09, 0xF0, 0x81, 0x00, + 0xE6, 0xE6, 0xE6, 0x18, 0x08, 0x67, 0x67, 0x67, 0x18, 0x30, 0xFA, 0x0C, + 0x07, 0x10, 0x60, 0x40, 0x7C, 0x60, 0xC0, 0xFC, 0x23, 0x6D, 0xB1, 0xC8, + 0x92, 0x4E, 0x18, 0x18, 0xD9, 0x3E, 0x5A, 0xD9, 0x18, 0x18, 0x18, 0x18, + 0x18, 0xFF, 0x18, 0x18, 0x18, 0x18, 0x38, 0xF8, 0xC0, 0x0C, 0x30, 0xC8, + 0x03, 0x0C, 0x30, 0x38, 0x93, 0x1E, 0x3C, 0x78, 0xF1, 0x9C, 0xE3, 0x18, + 0xC6, 0x31, 0x9F, 0xF8, 0x10, 0x19, 0xCC, 0x18, 0x30, 0x7F, 0xF8, 0x10, + 0x19, 0xC0, 0x80, 0xC0, 0x7C, 0xD9, 0xB3, 0x67, 0xF1, 0x83, 0x06, 0x0C, + 0xFF, 0x83, 0x07, 0xC0, 0x80, 0xC0, 0x7C, 0x39, 0x83, 0x06, 0x0F, 0x98, + 0xD2, 0x1C, 0xFE, 0x0C, 0x18, 0x41, 0x06, 0x0C, 0x18, 0x38, 0x93, 0x19, + 0xC4, 0x98, 0xD2, 0x1C, 0x38, 0x93, 0x19, 0xF0, 0x60, 0xC1, 0x9C, 0xC0, + 0xC0, 0x20, 0x11, 0x80, 0x0C, 0x02, 0x30, 0x40, 0x81, 0x03, 0xF8, 0x00, + 0x0F, 0x80, 0xC1, 0x02, 0x07, 0x00, 0x80, 0x30, 0xF0, 0x10, 0x1B, 0x80, + 0x00, 0x00, 0x30, 0x3E, 0x1A, 0xDB, 0xDE, 0xC0, 0xC0, 0xC0, 0x3E, 0x38, + 0x93, 0x1F, 0xFC, 0x78, 0xF1, 0xE3, 0xF9, 0x93, 0x1F, 0xFC, 0x78, 0xF1, + 0xFC, 0x38, 0x13, 0x1E, 0x0C, 0x18, 0xD0, 0x1C, 0xF9, 0x93, 0x1E, 0x3C, + 0x78, 0xF1, 0xFC, 0xFE, 0x31, 0xFC, 0x63, 0x1F, 0xFE, 0x31, 0xFC, 0x63, + 0x18, 0x3E, 0x03, 0x06, 0xFC, 0x78, 0xF1, 0x9C, 0xC7, 0x8F, 0x1F, 0xFC, + 0x78, 0xF1, 0xE3, 0xFF, 0xFF, 0x06, 0x0C, 0x18, 0x30, 0x78, 0xD0, 0x1C, + 0xC7, 0x83, 0x67, 0x0E, 0x1B, 0x32, 0x63, 0xC6, 0x31, 0x8C, 0x63, 0x1F, + 0xC3, 0xC3, 0xE7, 0xDB, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xE3, 0xDB, + 0xCB, 0xC7, 0xC3, 0xC3, 0x38, 0x93, 0x1E, 0x3C, 0x78, 0xF1, 0x9C, 0xF9, + 0x93, 0x1F, 0xCC, 0x18, 0x30, 0x60, 0x38, 0x93, 0x1E, 0x3C, 0x78, 0xF1, + 0x9C, 0x06, 0xF9, 0x93, 0x1F, 0xCD, 0x9B, 0x36, 0x63, 0x3E, 0x03, 0x01, + 0xC0, 0x80, 0xC0, 0x7C, 0xFB, 0x18, 0xC6, 0x31, 0x8C, 0xC7, 0x8F, 0x1E, + 0x3C, 0x78, 0xD0, 0x1C, 0xC1, 0xC1, 0xC1, 0x26, 0x26, 0x26, 0x20, 0x18, + 0xC1, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0x48, 0x26, 0xC1, 0x42, 0x26, 0x18, + 0x08, 0x26, 0x02, 0xC1, 0xC1, 0x40, 0x26, 0x18, 0x18, 0x18, 0x18, 0x18, + 0xFC, 0x30, 0xC8, 0xC3, 0x0C, 0x3F, 0xFB, 0x6D, 0xB7, 0xC3, 0x0C, 0x08, + 0x10, 0x30, 0xC3, 0xF3, 0x33, 0x33, 0x3F, 0x21, 0x4C, 0xC0, 0xFC, 0xC8, + 0x80, 0x38, 0x93, 0x1F, 0xFC, 0x78, 0xF1, 0xE3, 0xF9, 0x93, 0x1F, 0xFC, + 0x78, 0xF1, 0xFC, 0x38, 0x13, 0x1E, 0x0C, 0x18, 0xD0, 0x1C, 0xF9, 0x93, + 0x1E, 0x3C, 0x78, 0xF1, 0xFC, 0xFE, 0x31, 0xFC, 0x63, 0x1F, 0xFE, 0x31, + 0xFC, 0x63, 0x18, 0x3E, 0x03, 0x06, 0xFC, 0x78, 0xF1, 0x9C, 0xC7, 0x8F, + 0x1F, 0xFC, 0x78, 0xF1, 0xE3, 0xFF, 0xFF, 0x06, 0x0C, 0x18, 0x30, 0x78, + 0xD0, 0x1C, 0xC7, 0x83, 0x67, 0x0E, 0x1B, 0x32, 0x63, 0xC6, 0x31, 0x8C, + 0x63, 0x1F, 0xC3, 0xC3, 0xE7, 0xDB, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, + 0xE3, 0xDB, 0xCB, 0xC7, 0xC3, 0xC3, 0x38, 0x93, 0x1E, 0x3C, 0x78, 0xF1, + 0x9C, 0xF9, 0x93, 0x1F, 0xCC, 0x18, 0x30, 0x60, 0x38, 0x93, 0x1E, 0x3C, + 0x78, 0xF1, 0x9C, 0x06, 0xF9, 0x93, 0x1F, 0xCD, 0x9B, 0x36, 0x63, 0x3E, + 0x03, 0x01, 0xC0, 0x80, 0xC0, 0x7C, 0xFB, 0x18, 0xC6, 0x31, 0x8C, 0xC7, + 0x8F, 0x1E, 0x3C, 0x78, 0xD0, 0x1C, 0xC1, 0xC1, 0xC1, 0x26, 0x26, 0x26, + 0x20, 0x18, 0xC1, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0x48, 0x26, 0xC1, 0x42, + 0x26, 0x18, 0x08, 0x26, 0x02, 0xC1, 0xC1, 0x40, 0x26, 0x18, 0x18, 0x18, + 0x18, 0x18, 0xFC, 0x30, 0xC8, 0xC3, 0x0C, 0x3F, 0x39, 0x09, 0x82, 0x10, + 0x87, 0xFF, 0xFF, 0xFC, 0xF1, 0x8C, 0x13, 0x18, 0xDE, 0x26, 0xD3, 0x60 }; + +const GFXglyph slkscr7pt7bGlyphs[] PROGMEM = { + { 0, 1, 1, 6, 0, 0 }, // 0x20 ' ' + { 1, 2, 8, 6, 2, -7 }, // 0x21 '!' + { 3, 5, 3, 9, 2, -7 }, // 0x22 '"' + { 5, 8, 8, 12, 2, -7 }, // 0x23 '#' + { 13, 7, 12, 11, 2, -9 }, // 0x24 '$' + { 24, 8, 8, 12, 2, -7 }, // 0x25 '%' + { 32, 7, 12, 11, 2, -9 }, // 0x26 '&' + { 43, 2, 3, 6, 2, -7 }, // 0x27 ''' + { 44, 3, 8, 7, 2, -7 }, // 0x28 '(' + { 47, 3, 8, 7, 2, -7 }, // 0x29 ')' + { 50, 8, 8, 12, 2, -7 }, // 0x2A '*' + { 58, 8, 8, 12, 2, -7 }, // 0x2B '+' + { 66, 3, 2, 7, 2, 0 }, // 0x2C ',' + { 67, 5, 1, 9, 2, -4 }, // 0x2D '-' + { 68, 2, 1, 6, 2, 0 }, // 0x2E '.' + { 69, 6, 8, 10, 2, -7 }, // 0x2F '/' + { 75, 7, 8, 11, 2, -7 }, // 0x30 '0' + { 82, 5, 8, 9, 2, -7 }, // 0x31 '1' + { 87, 7, 8, 11, 2, -7 }, // 0x32 '2' + { 94, 7, 8, 11, 2, -7 }, // 0x33 '3' + { 101, 7, 8, 10, 2, -7 }, // 0x34 '4' + { 108, 7, 8, 11, 2, -7 }, // 0x35 '5' + { 115, 7, 8, 11, 2, -7 }, // 0x36 '6' + { 122, 7, 8, 10, 1, -7 }, // 0x37 '7' + { 129, 7, 8, 11, 2, -7 }, // 0x38 '8' + { 136, 7, 8, 11, 2, -7 }, // 0x39 '9' + { 143, 2, 5, 6, 2, -6 }, // 0x3A ':' + { 145, 3, 6, 7, 2, -5 }, // 0x3B ';' + { 148, 6, 8, 10, 2, -7 }, // 0x3C '<' + { 154, 5, 5, 9, 2, -6 }, // 0x3D '=' + { 158, 6, 8, 10, 2, -7 }, // 0x3E '>' + { 164, 7, 8, 11, 2, -7 }, // 0x3F '?' + { 171, 8, 8, 12, 2, -7 }, // 0x40 '@' + { 179, 7, 8, 11, 2, -7 }, // 0x41 'A' + { 186, 7, 8, 11, 2, -7 }, // 0x42 'B' + { 193, 7, 8, 11, 2, -7 }, // 0x43 'C' + { 200, 7, 8, 11, 2, -7 }, // 0x44 'D' + { 207, 5, 8, 9, 2, -7 }, // 0x45 'E' + { 212, 5, 8, 9, 2, -7 }, // 0x46 'F' + { 217, 7, 8, 11, 2, -7 }, // 0x47 'G' + { 224, 7, 8, 11, 2, -7 }, // 0x48 'H' + { 231, 2, 8, 6, 2, -7 }, // 0x49 'I' + { 233, 7, 8, 11, 2, -7 }, // 0x4A 'J' + { 240, 7, 8, 11, 2, -7 }, // 0x4B 'K' + { 247, 5, 8, 9, 2, -7 }, // 0x4C 'L' + { 252, 8, 8, 12, 2, -7 }, // 0x4D 'M' + { 260, 8, 8, 12, 2, -7 }, // 0x4E 'N' + { 268, 7, 8, 11, 2, -7 }, // 0x4F 'O' + { 275, 7, 8, 11, 2, -7 }, // 0x50 'P' + { 282, 7, 9, 11, 2, -7 }, // 0x51 'Q' + { 290, 7, 8, 11, 2, -7 }, // 0x52 'R' + { 297, 7, 8, 11, 2, -7 }, // 0x53 'S' + { 304, 5, 8, 9, 2, -7 }, // 0x54 'T' + { 309, 7, 8, 11, 2, -7 }, // 0x55 'U' + { 316, 8, 8, 12, 2, -7 }, // 0x56 'V' + { 324, 8, 8, 12, 2, -7 }, // 0x57 'W' + { 332, 8, 8, 12, 2, -7 }, // 0x58 'X' + { 340, 8, 8, 12, 2, -7 }, // 0x59 'Y' + { 348, 6, 8, 10, 2, -7 }, // 0x5A 'Z' + { 354, 3, 8, 7, 2, -7 }, // 0x5B '[' + { 357, 6, 8, 10, 2, -7 }, // 0x5C '\' + { 363, 4, 8, 7, 1, -7 }, // 0x5D ']' + { 367, 6, 3, 10, 2, -9 }, // 0x5E '^' + { 370, 6, 1, 10, 2, 1 }, // 0x5F '_' + { 371, 3, 3, 7, 2, -7 }, // 0x60 '`' + { 373, 7, 8, 11, 2, -7 }, // 0x61 'a' + { 380, 7, 8, 11, 2, -7 }, // 0x62 'b' + { 387, 7, 8, 11, 2, -7 }, // 0x63 'c' + { 394, 7, 8, 11, 2, -7 }, // 0x64 'd' + { 401, 5, 8, 9, 2, -7 }, // 0x65 'e' + { 406, 5, 8, 9, 2, -7 }, // 0x66 'f' + { 411, 7, 8, 11, 2, -7 }, // 0x67 'g' + { 418, 7, 8, 11, 2, -7 }, // 0x68 'h' + { 425, 2, 8, 6, 2, -7 }, // 0x69 'i' + { 427, 7, 8, 11, 2, -7 }, // 0x6A 'j' + { 434, 7, 8, 11, 2, -7 }, // 0x6B 'k' + { 441, 5, 8, 9, 2, -7 }, // 0x6C 'l' + { 446, 8, 8, 12, 2, -7 }, // 0x6D 'm' + { 454, 8, 8, 12, 2, -7 }, // 0x6E 'n' + { 462, 7, 8, 11, 2, -7 }, // 0x6F 'o' + { 469, 7, 8, 11, 2, -7 }, // 0x70 'p' + { 476, 7, 9, 11, 2, -7 }, // 0x71 'q' + { 484, 7, 8, 11, 2, -7 }, // 0x72 'r' + { 491, 7, 8, 11, 2, -7 }, // 0x73 's' + { 498, 5, 8, 9, 2, -7 }, // 0x74 't' + { 503, 7, 8, 11, 2, -7 }, // 0x75 'u' + { 510, 8, 8, 12, 2, -7 }, // 0x76 'v' + { 518, 8, 8, 12, 2, -7 }, // 0x77 'w' + { 526, 8, 8, 12, 2, -7 }, // 0x78 'x' + { 534, 8, 8, 12, 2, -7 }, // 0x79 'y' + { 542, 6, 8, 10, 2, -7 }, // 0x7A 'z' + { 548, 5, 8, 9, 2, -7 }, // 0x7B '{' + { 553, 2, 11, 6, 2, -8 }, // 0x7C '|' + { 556, 5, 8, 8, 1, -7 }, // 0x7D '}' + { 561, 7, 3, 11, 2, -7 } }; // 0x7E '~' + +const GFXfont slkscr7pt7b PROGMEM = { + (uint8_t *)slkscr7pt7bBitmaps, + (GFXglyph *)slkscr7pt7bGlyphs, + 0x20, 0x7E, 16 }; + +// Approx. 1236 bytes diff --git a/Archive/OMX-27-firmware/src/ClearUI/ClearUI.h b/Archive/OMX-27-firmware/src/ClearUI/ClearUI.h new file mode 100644 index 00000000..167fa3d4 --- /dev/null +++ b/Archive/OMX-27-firmware/src/ClearUI/ClearUI.h @@ -0,0 +1,10 @@ +#pragma once +#ifndef _INCLUDE_CLEARUI_H_ +#define _INCLUDE_CLEARUI_H_ + +#include "ClearUI_Display.h" +#include "ClearUI_Input.h" +// #include "ClearUI_Field.h" +// #include "ClearUI_Layout.h" + +#endif // _INCLUDE_CLEARUI_H_ diff --git a/Archive/OMX-27-firmware/src/ClearUI/ClearUI_Display.cpp b/Archive/OMX-27-firmware/src/ClearUI/ClearUI_Display.cpp new file mode 100644 index 00000000..a796664c --- /dev/null +++ b/Archive/OMX-27-firmware/src/ClearUI/ClearUI_Display.cpp @@ -0,0 +1,277 @@ +#include "ClearUI_Display.h" + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +// #include "fonts/slkscr7pt7b.h" +// #include "fonts/liquid_7pt7b.h" + +#define FONTSANS FreeSansBold9pt7b +#define FONTMONO9 FreeMono9pt7b +#define FONTSANS12 FreeSans12pt7b +#define FONTSANS9BOLD FreeSansBold9pt7b +#define FONTSANS12BOLD FreeSansBold12pt7b +#define FONT FreeSerifBold9pt7b +#define FONT_TT TomThumb +#define FONT_PICO Picopixel +#define FONT_TINY Tiny3x3a2pt7b +#define FONT5 Org_01 +#define FONTSILK slkscr7pt7b +#define FONTLIQUID liquid_7pt7b + +#define DIGIT_WIDTH 9 +#define DIGIT_HEIGHT 12 + +#define DISPLAY_WIDTH 128 +#define DISPLAY_HEIGHT 32 +#define OLED_RST -1 +#define CLKDURING 1000000 +#define CLKAFTER 400000 + +Adafruit_SSD1306 display = Adafruit_SSD1306(DISPLAY_WIDTH, DISPLAY_HEIGHT, &Wire, OLED_RST, CLKDURING, CLKAFTER); + +void initializeDisplay() +{ + // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally + display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Address 0x3C for 128x32 + + display.cp437(); + setRotationNormal(); +} + +// Display is mounted upside down on PCB +void setRotationNormal() +{ + display.setRotation(2); +} + +void setRotationSideways() +{ + display.setRotation(1); +} + +void defaultText(int size) +{ + display.setTextSize(size); + display.setFont(); +} + +void serifText(int size) +{ + display.setTextSize(size); + display.setFont(&FONT); + display.setTextColor(WHITE); + display.setTextWrap(false); +} +void mono9Text(int size) +{ + display.setTextSize(size); + display.setFont(&FONTMONO9); + display.setTextColor(WHITE); + display.setTextWrap(false); +} +// void silkText(int size) { +// display.setTextSize(size); +// display.setFont(&FONTSILK); +// display.setTextColor(WHITE); +// display.setTextWrap(false); +// } +// void liquidText(int size) { +// display.setTextSize(size); +// display.setFont(&FONTSILK); +// display.setTextColor(WHITE); +// display.setTextWrap(false); +// } +void sans9bText(int size) +{ + display.setTextSize(size); + display.setFont(&FONTSANS9BOLD); + display.setTextColor(WHITE); + display.setTextWrap(false); +} +// void sans12bText(int size) { +// display.setTextSize(size); +// display.setFont(&FONTSANS12BOLD); +// display.setTextColor(WHITE); +// display.setTextWrap(false); +// } + +void tinyText(int size) +{ + display.setTextSize(size); + display.setFont(&FONT_TINY); + display.setTextColor(WHITE); + display.setTextWrap(false); +} +void tomText(int size) +{ + display.setTextSize(size); + display.setFont(&FONT_TT); + display.setTextColor(WHITE); + display.setTextWrap(false); +} +void picoText(int size) +{ + display.setTextSize(size); + display.setFont(&FONT_PICO); + display.setTextColor(WHITE); + display.setTextWrap(false); +} +void f5Text(int size) +{ + display.setTextSize(size); + display.setFont(&FONT5); + display.setTextColor(WHITE); + display.setTextWrap(false); +} + +void centerText(const char *s, int16_t x, int16_t y, uint16_t w, uint16_t h) +{ + int16_t bx, by; + uint16_t bw, bh; + + display.getTextBounds(s, x, y, &bx, &by, &bw, &bh); + display.setCursor( + x + (x - bx) + (w - bw) / 2, + y + (y - by) + (h - bh) / 2); + display.print(s); +} + +void centerNumber(unsigned int n, + uint16_t x, uint16_t y, uint16_t w, uint16_t h) +{ + char buf[8]; + utoa(n, buf, 10); + centerText(buf, x, y, w, h); +} + +namespace +{ + const unsigned long saverStartDelay = 15 * 60 * 1000; + + unsigned long saverStartAt = 0; + bool saverRunning = false; + + size_t savedSize = 0; + uint8_t *savedDisplay = NULL; + + unsigned long saverBumpTime; + int16_t saverPhase; + + const unsigned char wipePattern[] = { // 24 x 32 + B00000010, B10101011, B11111111, + B00000010, B10101011, B11111111, + B00000010, B10101011, B11111111, + B00000101, B01010111, B11111110, + B00000101, B01010111, B11111110, + B00000101, B01010111, B11111110, + B00000101, B01010111, B11111110, + B00000101, B01010111, B11111110, + B00000101, B01010111, B11111110, + B00001010, B10101111, B11111100, + B00001010, B10101111, B11111100, + B00001010, B10101111, B11111100, + B00001010, B10101111, B11111100, + B00001010, B10101111, B11111100, + B00010101, B01011111, B11111000, + B00010101, B01011111, B11111000, + B00010101, B01011111, B11111000, + B00010101, B01011111, B11111000, + B00010101, B01011111, B11111000, + B00101010, B10111111, B11110000, + B00101010, B10111111, B11110000, + B00101010, B10111111, B11110000, + B00101010, B10111111, B11110000, + B00101010, B10111111, B11110000, + B00101010, B10111111, B11110000, + B01010101, B01111111, B11100000, + B01010101, B01111111, B11100000, + B01010101, B01111111, B11100000, + B01010101, B01111111, B11100000, + B01010101, B01111111, B11100000, + B10101010, B11111111, B11000000, + B10101010, B11111111, B11000000, + }; +} + +bool updateSaver(bool redrawn) +{ + auto now = millis(); + + if (redrawn) + { + saverStartAt = now + saverStartDelay; + saverRunning = false; + return false; + } + + if (now < saverStartAt) + return false; + + if (!saverRunning) + { + if (!savedDisplay) + { + savedSize = DISPLAY_WIDTH * ((DISPLAY_HEIGHT + 7) / 8); + savedDisplay = (uint8_t *)malloc(savedSize); + } + memcpy(savedDisplay, display.getBuffer(), savedSize); + saverRunning = true; + saverPhase = 0; + saverBumpTime = now - 1; + } + + if (now > saverBumpTime) + { + display.clearDisplay(); + display.drawBitmap(saverPhase - 24, 0, wipePattern, 24, 32, WHITE); + + auto d = display.getBuffer(); + auto s = savedDisplay; + for (auto n = savedSize; n > 0; --n) + *d++ &= *s++; + + display.display(); + + saverPhase += 2; + if (saverPhase >= DISPLAY_WIDTH + 24) + { + saverPhase = 0; + saverBumpTime += 2000; // pause between swipes + } + saverBumpTime += 50; // speed of swipe + } + return true; +} + +void dumpDisplayPBM(Print &stream) +{ + stream.println(""); + stream.println("P1"); + + auto w = display.width(); + auto h = display.height(); + + stream.print(w); + stream.print(' '); + stream.println(h); + + for (auto j = 0; j < h; ++j) + { + for (auto i = 0; i < w; ++i) + { + stream.print(display.getPixel(i, j) == WHITE ? " 0" : " 1"); + // 1 is black in PBM + } + stream.println(""); + } + stream.println(""); +} diff --git a/Archive/OMX-27-firmware/src/ClearUI/ClearUI_Display.h b/Archive/OMX-27-firmware/src/ClearUI/ClearUI_Display.h new file mode 100644 index 00000000..6c26dc6f --- /dev/null +++ b/Archive/OMX-27-firmware/src/ClearUI/ClearUI_Display.h @@ -0,0 +1,44 @@ +#pragma once +#ifndef _INCLUDE_CLEARUI_DISPLAY_H_ +#define _INCLUDE_CLEARUI_DISPLAY_H_ + +#include + +#define WHITE SSD1306_WHITE +#define BLACK SSD1306_BLACK + +extern Adafruit_SSD1306 display; + +void initializeDisplay(); + +void setRotationSideways(); +void setRotationNormal(); + +void defaultText(int size); +void serifText(int size); +void mono9Text(int size); +void silkText(int size); +void liquidText(int size); +void sans9bText(int size); + +void tomText(int size); +void picoText(int size); +void tinyText(int size); +void f5Text(int size); + +void centerText(const char *s, int16_t x, int16_t y, uint16_t w, uint16_t h); + +void centerNumber(unsigned int n, + uint16_t x, uint16_t y, uint16_t w, uint16_t h); + +template +void centerNumber(const N &n, uint16_t x, uint16_t y, uint16_t w, uint16_t h) +{ + centerNumber(static_cast(n), x, y, w, h); +} + +bool updateSaver(bool); + +void dumpDisplayPBM(Print &stream); + +#endif // _INCLUDE_CLEARUI_DISPLAY_H_ diff --git a/Archive/OMX-27-firmware/src/ClearUI/ClearUI_Input.cpp b/Archive/OMX-27-firmware/src/ClearUI/ClearUI_Input.cpp new file mode 100644 index 00000000..ad988494 --- /dev/null +++ b/Archive/OMX-27-firmware/src/ClearUI/ClearUI_Input.cpp @@ -0,0 +1,156 @@ +#include "ClearUI_Input.h" + +#include + +Encoder::Encoder(uint32_t pinA, uint32_t pinB) + : pinA(pinA), pinB(pinB) +{ + pinMode(pinA, INPUT_PULLUP); + pinMode(pinB, INPUT_PULLUP); + a = digitalRead(pinA); + b = digitalRead(pinB); + quads = 0; + lastUpdate = 0; +} + +Encoder::Update Encoder::update() +{ + int newA = digitalRead(pinA); + int newB = digitalRead(pinB); + + int16_t dir = 0; + + if (newA != a || newB != b) + { + if (newA == a) + { + quads += (newA == newB) ? 1 : -1; + } + else if (newB == b) + { + quads += (newA != newB) ? 1 : -1; + } + + a = newA; + b = newB; + + if (a && b) + { + if (quads > 1) + { + dir = 1; + } + else if (quads < -1) + { + dir = -1; + } + quads = 0; + } + } + + int16_t speedup = 0; + if (dir != 0) + { + auto now = millis(); + auto delta = now - lastUpdate; + lastUpdate = now; + + if (delta < 20) + speedup = 2; + else if (delta < 50) + speedup = 1; + } + return Update(dir, speedup); +} + +Button::Button(uint32_t pin) + : pin(pin) +{ + pinMode(pin, INPUT_PULLUP); // 1 is off, 0 is pressed + lastRead = -1; // will cause first update to always set it + validAtTime = 0; + + state = Up; + longAtTime = 0; +} + +Button::State Button::update() +{ + int read = digitalRead(pin); + if (read != lastRead) + { + // pin changed, wait for it to be stable + lastRead = read; + validAtTime = millis() + validAtTimeDelay; + return NoChange; + } + + uint32_t now = millis(); + if (now < validAtTime) + { + // pin stable, not not long enough + return NoChange; + } + + State prevState = state; + + switch (state) + { + case Up: + case UpLong: + if (lastRead == LOW) + { + state = Down; + longAtTime = now + longDownTimeout; + } + break; + + case Down: + if (lastRead == LOW) + { // still down? + if (now > longAtTime) + { + state = DownLong; + break; + } + } + // fall through + + case DownLong: + if (lastRead == HIGH) + { + state = (prevState == DownLong) ? UpLong : Up; + } + break; + + default: + break; + } + + return (state != prevState) ? state : NoChange; +} + +IdleTimeout::IdleTimeout(unsigned long period) + : idle(true), period(period) +{ +} + +void IdleTimeout::activity() +{ + idle = false; + idleAtTime = millis() + period; +} + +bool IdleTimeout::update() +{ + if (idle) + return false; + + if (millis() > idleAtTime) + { + idle = true; + return true; + } + + return false; +} diff --git a/Archive/OMX-27-firmware/src/ClearUI/ClearUI_Input.h b/Archive/OMX-27-firmware/src/ClearUI/ClearUI_Input.h new file mode 100644 index 00000000..c820690c --- /dev/null +++ b/Archive/OMX-27-firmware/src/ClearUI/ClearUI_Input.h @@ -0,0 +1,95 @@ +#pragma once +#ifndef _INCLUDE_CLEARUI_INPUT_H_ +#define _INCLUDE_CLEARUI_INPUT_H_ + +#include + +class Encoder +{ +public: + Encoder(uint32_t pinA, uint32_t pinB); + + struct Update + { + public: + inline bool active() const { return _dir != 0; } + inline int dir() const { return _dir; } + // -1 for CCW, 0 for no motion, and 1 for CW + inline int accel(int rate) const { return _dir + _dir * _speedup * rate; } + + private: + Update(int16_t dir, int16_t speedup) : _dir(dir), _speedup(speedup) {} + int16_t _dir; + int16_t _speedup; + + friend class Encoder; + }; + + Update update(); + +private: + const uint32_t pinA; + const uint32_t pinB; + + int a; + int b; + + int quads; + + unsigned long lastUpdate; +}; + +/* Buttons follow one of two cycles: + + Down -> Up +or + Down -> DownLong -> UpLong + + There may be any number of NoChange states anywhere during these. +*/ + +class Button +{ +public: + enum State + { + NoChange = 0, // returned from update() if no change + Down, + DownLong, + Up, + UpLong + }; + + Button(uint32_t pin); + State update(); // reports any action + inline bool active() + { + return state == Down || state == DownLong; + } + +private: + const uint32_t pin; + + int lastRead; + unsigned long validAtTime; + unsigned long validAtTimeDelay = 50; + + State state; + unsigned long longAtTime; + unsigned long longDownTimeout = 1250; +}; + +class IdleTimeout +{ +public: + IdleTimeout(unsigned long period); + void activity(); + bool update(); // returns true on start of idle + +private: + bool idle; + const unsigned long period; + unsigned long idleAtTime; +}; + +#endif // _INCLUDE_CLEARUI_INPUT_H_ diff --git a/Archive/OMX-27-firmware/src/config.cpp b/Archive/OMX-27-firmware/src/config.cpp new file mode 100644 index 00000000..96ae5bec --- /dev/null +++ b/Archive/OMX-27-firmware/src/config.cpp @@ -0,0 +1,128 @@ +#include "config.h" +#include "consts/consts.h" + +const OMXMode DEFAULT_MODE = MODE_MIDI; +const uint8_t EEPROM_VERSION = 36; + +// v30 - adds storage to header for velocity +// v31 - adds storage for drums +// v32 - adds mfx chord saves +// v33 - adds mfx selector saves +// v34 - adds mfx repeat saves +// v35 - adds quantize rate to arps, added global quant rate to header +// v36 - adds stuff to randomizer + +// DEFINE CC NUMBERS FOR POTS // CCS mapped to Organelle Defaults +const int CC1 = 21; +const int CC2 = 22; +const int CC3 = 23; +const int CC4 = 24; +const int CC5 = 7; // change to 25 for EYESY Knob 5 + +const int CC_AUX = 25; // Mother mode - AUX key +const int CC_OM1 = 26; // Mother mode - enc switch +const int CC_OM2 = 28; // Mother mode - enc turn + +const int LED_BRIGHTNESS = 50; + +// DONT CHANGE ANYTHING BELOW HERE + +const int LED_PIN = 14; +const int LED_COUNT = 27; + +#if DEV +const int analogPins[] = {23, 22, 21, 20, 16}; // DEV/beta boards +const byte DAC_ADDR = 0x62; +#elif MIDIONLY +const int analogPins[] = {23, 22, 21, 20, 16}; // on MIDI only boards - {23,A10,21,20,16} on Bodged MIDI boards +const byte DAC_ADDR = 0x60; +#elif T4 +const int analogPins[] = {23, 22, 21, 20, 16}; // on 2.0 +const byte DAC_ADDR = 0x60; +#else +const int analogPins[] = {34, 22, 21, 20, 16}; // on 1.0 +const byte DAC_ADDR = 0x60; +#endif + +const int potCount = NUM_CC_POTS; + +int pots[NUM_CC_BANKS][NUM_CC_POTS] = { + {CC1, CC2, CC3, CC4, CC5}, + {29, 30, 31, 32, 33}, + {34, 35, 36, 37, 38}, + {39, 40, 41, 42, 43}, + {91, 93, 103, 104, 7}}; // the MIDI CC (continuous controller) for each analog input + +int potMinVal = 0; +#if T4 +int potMaxVal = 1019; // T4 = 1019 // T3.2 = 8191; +#else +int potMaxVal = 8191; // T4 = 1019 // T3.2 = 8191; +#endif + +const int gridh = 32; +const int gridw = 128; +const int PPQ = 96; // Pulses Per Quarter note + +const uint32_t secs2micros = 1000000; + + +const char *mfxOffMsg = "MidiFX are Off"; +const char *mfxArpEditMsg = "Arp Edit"; +const char *mfxPassthroughEditMsg = "MFX Quickedit"; +const char *exitMsg = "Exit"; +const char *paramOffMsg = "OFF"; +const char *paramOnMsg = "ON"; + +const char *modes[] = {"MI", "DRUM", "CH", "S1", "S2", "GR", "EL", "OM"}; +const char *macromodes[] = {"Off", "M8", "NRN", "DEL"}; +const int nummacromodes = 3; + +float multValues[] = {.25, .5, 1, 2, 4, 8, 16}; +const char *mdivs[] = {"1/64", "1/32", "1/16", "1/8", "1/4", "1/2", "W"}; + +const float kNoteLengths[] = {0.10, 0.25, 0.5, 0.75, 1, 1.5, 2, 4, 8, 16}; +const uint8_t kNumNoteLengths = 10; + +const uint8_t kArpRates[] = {1, 2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 24, 32, 40, 48, 64}; +const uint8_t kNumArpRates = 16; + +String tempString = "12345"; +String tempStrings[8] = {"12345", "12345", "12345", "12345", "12345", "12345", "12345", "12345"}; + +// KEY SWITCH ROWS/COLS + +// Map the keys +char keys[ROWS][COLS] = { + {0, 1, 2, 3, 4, 5}, + {6, 7, 8, 9, 10, 26}, + {11, 12, 13, 14, 15, 24}, + {16, 17, 18, 19, 20, 25}, + {22, 23, 21}}; +byte rowPins[ROWS] = {6, 4, 3, 5, 2}; // row pins for key switches +byte colPins[COLS] = {7, 8, 10, 9, 15, 17}; // column pins for key switches + +// KEYBOARD MIDI NOTE LAYOUT +const int notes[] = {0, + 61, 63, 66, 68, 70, 73, 75, 78, 80, 82, + 59, 60, 62, 64, 65, 67, 69, 71, 72, 74, 76, 77, 79, 81, 83, 84}; + +const int steps[] = {0, + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26}; + +const int midiKeyMap[] = {12, 1, 13, 2, 14, 15, 3, 16, 4, 17, 5, 18, 19, 6, 20, 7, 21, 22, 8, 23, 9, 24, 10, 25, 26}; + +Adafruit_MCP4725 dac; +SysSettings sysSettings; +PotSettings potSettings; +MidiConfig midiSettings; +MidiMacroConfig midiMacroConfig; +EncoderConfig encoderConfig; +ClockConfig clockConfig; +SequencerConfig seqConfig; +ColorConfig colorConfig; +ScaleConfig scaleConfig; + +// MidiPage midiPageParams; +// SequencerPage seqPageParams; diff --git a/Archive/OMX-27-firmware/src/config.h b/Archive/OMX-27-firmware/src/config.h new file mode 100644 index 00000000..d5179673 --- /dev/null +++ b/Archive/OMX-27-firmware/src/config.h @@ -0,0 +1,473 @@ +#pragma once + +#ifndef OMX_CONFIG_DONE +#define OMX_CONFIG_DONE // prevent redifinition pragma once should handle though. + +#include +#include +#include +#include +#include +#include +#include +#include "consts/colors.h" + +// #include + +/* * firmware metadata */ +// OMX_VERSION = 1.13.8 +const int MAJOR_VERSION = 1; +const int MINOR_VERSION = 13; +const int POINT_VERSION = 8; + +// 1.13.2 - Adds CV Trigger modes for legato and regtrig +// 1.13.3 - Bugfix for CV Trigger modes +// 1.13.5 - Bugfix for grids T4 pots +// 1.13.6 - start/stop midi fixes in grids, sysex tweaks for pot banks +// 1.13.8 - option to send midi all the time or not + +const int DEVICE_ID = 2; + +// DAC +extern Adafruit_MCP4725 dac; + +enum OMXMode +{ + MODE_MIDI = 0, + MODE_DRUM, + MODE_CHORDS, + MODE_S1, + MODE_S2, + MODE_GRIDS, + MODE_EUCLID, + MODE_OM, + + NUM_OMX_MODES +}; + +enum MIDIFXTYPE +{ + MIDIFX_NONE, + MIDIFX_CHANCE, + MIDIFX_TRANSPOSE, + MIDIFX_RANDOMIZER, + MIDIFX_SELECTOR, + MIDIFX_CHORD, + MIDIFX_HARMONIZER, + MIDIFX_SCALER, + MIDIFX_MONOPHONIC, + MIDIFX_REPEAT, + MIDIFX_ARP, + MIDIFX_COUNT +}; + +extern const OMXMode DEFAULT_MODE; + +enum FUNCKEYMODE +{ + FUNCKEYMODE_NONE, // No function keys + FUNCKEYMODE_F1, // F1 held + FUNCKEYMODE_F2, // F2 held + FUNCKEYMODE_F3 // F1 + F3 held +}; + +// Increment this when data layout in EEPROM changes. May need to write version upgrade readers when this changes. +extern const uint8_t EEPROM_VERSION; + +#define EEPROM_HEADER_ADDRESS 0 +#define EEPROM_HEADER_SIZE 40 +#define EEPROM_PATTERN_ADDRESS 64 + +#define TRACKED_CV_SIZE 16 // + +// next address 1104 (was 1096 before clock) + +extern const byte DAC_ADDR; + +// DEFINE CC NUMBERS FOR POTS // CCS mapped to Organelle Defaults +extern const int CC1; +extern const int CC2; +extern const int CC3; +extern const int CC4; +extern const int CC5; // change to 25 for EYESY Knob 5 + +extern const int CC_AUX; // Mother mode - AUX key +extern const int CC_OM1; // Mother mode - enc switch +extern const int CC_OM2; // Mother mode - enc turn + +extern const int LED_BRIGHTNESS; + +// DONT CHANGE ANYTHING BELOW HERE + +extern const int LED_PIN; +extern const int LED_COUNT; + +// POTS/ANALOG INPUTS - teensy pins for analog inputs +extern const int analogPins[]; + +#define NUM_CC_BANKS 5 +#define NUM_CC_POTS 5 +extern int pots[NUM_CC_BANKS][NUM_CC_POTS]; // the MIDI CC (continuous controller) for each analog input + +using Micros = unsigned long; // for tracking time per pattern + + +struct SysSettings +{ + OMXMode omxMode = DEFAULT_MODE; + OMXMode newmode = DEFAULT_MODE; + uint8_t midiChannel = 0; + int playingPattern; + bool refresh = false; + bool screenSaverMode = false; + unsigned long timeElasped; +}; + +extern SysSettings sysSettings; + +extern const int potCount; + +struct PotSettings +{ + ResponsiveAnalogRead *analog[NUM_CC_POTS]; + + // ANALOGS + int potbank = 0; + int analogValues[NUM_CC_POTS] = {0, 0, 0, 0, 0}; // default values + int potValues[NUM_CC_POTS] = {0, 0, 0, 0, 0}; + int hiResPotVal[NUM_CC_POTS] = {0, 0, 0, 0, 0}; + int potCC = pots[potbank][0]; + int potVal = analogValues[0]; + int potNum = 0; +}; +// Put in global struct to share across classes +extern PotSettings potSettings; + +extern int potMinVal; +extern int potMaxVal; + + +struct MidiConfig +{ + uint8_t defaultVelocity = 100; + int octave = 0; // default C4 is 0 - range is -4 to +5 + // int newoctave = octave; + int transpose = 0; + int rotationAmt = 0; + + uint8_t swing = 0; + const int maxswing = 100; + // int swing_values[maxswing] = {0, 1, 3, 5, 52, 66, 70, 72, 80, 99 }; // 0 = off, <50 early swing , >50 late swing, 99=drunken swing + + bool keyState[27] = {false}; + int midiKeyState[27] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; + int midiChannelState[27] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; + int rrChannel = 0; + bool midiRoundRobin = false; + int midiRRChannelOffset = 0; + int midiRRChannelCount = 1; + uint8_t midiLastNote = 0; + uint8_t midiLastVel = 0; + int currpgm = 0; + int currbank = 0; + bool midiInToCV = true; + bool midiSoftThru = false; + bool midiAUX = false; + bool isBankSelect = false; +}; + +extern MidiConfig midiSettings; + +// struct MidiPage { +// const int numPages = 4; +// const int numParams = numPages * 5; +// int miparam = 0; // midi params item counter +// int mmpage = 0; +// }; +// extern MidiPage midiPageParams; + +struct MidiMacroConfig +{ + int midiMacro = 0; + bool m8AUX = false; + int midiMacroChan = 10; +}; + +extern MidiMacroConfig midiMacroConfig; + +// extern bool m8mutesolo[]; + +struct EncoderConfig +{ + bool enc_edit = false; +}; + +extern EncoderConfig encoderConfig; + +extern const uint32_t secs2micros; + +struct ClockConfig +{ + float clockbpm = 120; + uint8_t globalQuantizeStepIndex = 9; // Determines what unit to quantize to. Index of kArpRates + float newtempo = clockbpm; + unsigned long tempoStartTime; + unsigned long tempoEndTime; + float step_delay; // 16th note step length in milliseconds + unsigned long minDelta = 5000; + + volatile unsigned long step_micros; // 16th note step in microseconds (quarter of quarter note), 124992 for 120 bpm : 35712 for 300 bpm + volatile unsigned long ppqInterval; // time in microseconds between clock ticks, 5208 or 5.2ms for 120 bpm : 1488 for 300 bpm, 5.2 * 96 = 500ms + bool send_always = true; +}; + +extern ClockConfig clockConfig; + +struct SequencerConfig +{ + int selectedStep = 0; + int selectedNote = 0; + + bool plockDirty[NUM_CC_POTS] = {false, false, false, false, false}; + int prevPlock[NUM_CC_POTS] = {0, 0, 0, 0, 0}; + + volatile unsigned long noteon_micros; + volatile unsigned long noteoff_micros; + + uint32_t currentFrameMicros; + uint32_t lastClockMicros; + + uint8_t midiOutClockTick; // Shouldn't be modified + + uint16_t currentClockTick; // Counter that wraps from 0-96 on the clock tick. currentClockTick % 96 will align with global 1/4 note, currentClockTick % 96/2=48 global 8th note and 96/4=24 global 16th note + + int numOfActiveArps = 0; + + // bool noteSelect = false; + // bool noteSelection = false; + + // int omxSeqSelectedStep = 0; + // bool stepSelect = false; + // bool stepRecord = false; + // bool stepDirty = false; +}; +extern SequencerConfig seqConfig; + +// struct SequencerPage { +// bool patternParams = false; +// bool seqPages = false; + +// int nspage = 0; +// int pppage = 0; +// int sqpage = 0; +// int srpage = 0; + +// int nsparam = 0; // note select params +// int ppparam = 0; // pattern params +// int sqparam = 0; // seq params +// int srparam = 0; // step record params +// }; +// extern SequencerPage seqPageParams; + +struct ColorConfig +{ + uint32_t screensaverColor = 0xFF0000; + uint32_t stepColor = 0x000000; + uint32_t muteColor = 0x000000; + uint16_t midiBg_Hue = 0; + uint8_t midiBg_Sat = 255; + uint8_t midiBg_Brightness = 255; + + uint32_t selMidiFXGRPOffColor = SALMON; // Color of FX Group key when selected + uint32_t midiFXGRPOffColor = RED; // Color of FX Group key to turn off MidiFX + uint32_t selMidiFXGRPColor = LTCYAN; + uint32_t midiFXGRPColor = BLUE; + uint32_t midiFXEmptyColor = 0x080808; + + uint32_t arpOn = MINT; + uint32_t arpOff = DKCYAN; + uint32_t arpHoldOn = YELLOW; + uint32_t arpHoldOff = DKYELLOW; + + uint32_t gotoArpParams = DKORANGE; + uint32_t nextArpPattern = DKPURPLE; + uint32_t nextArpOctave = DKPURPLE; + + uint32_t octDnColor = ORANGE; + uint32_t octUpColor = RBLUE; + + uint32_t mfxQuickEdit = RED; + + uint32_t mfxNone = LEDOFF; + uint32_t mfxChance = MEDRED; + uint32_t mfxTranspose = PURPLE; + uint32_t mfxRandomizer = RED; + uint32_t mfxSelector = ORANGE; + uint32_t mfxChord = CYAN; + uint32_t mfxHarmonizer = ROSE; + uint32_t mfxScaler = YELLOW; + uint32_t mfxMonophonic = INDIGO; + uint32_t mfxRepeat = RED; + uint32_t mfxArp = BLUE; + + uint32_t getMidiFXColor(uint8_t mfxType) + { + switch (mfxType) + { + case MIDIFX_NONE: + return mfxNone; + case MIDIFX_CHANCE: + return mfxChance; + case MIDIFX_TRANSPOSE: + return mfxTranspose; + case MIDIFX_RANDOMIZER: + return mfxRandomizer; + case MIDIFX_SELECTOR: + return mfxSelector; + case MIDIFX_CHORD: + return mfxChord; + case MIDIFX_HARMONIZER: + return mfxHarmonizer; + case MIDIFX_SCALER: + return mfxScaler; + case MIDIFX_MONOPHONIC: + return mfxMonophonic; + case MIDIFX_REPEAT: + return mfxRepeat; + case MIDIFX_ARP: + return mfxArp; + }; + + return LEDOFF; + } +}; + +extern ColorConfig colorConfig; + +struct ScaleConfig +{ + int scaleRoot = 0; + int scalePattern = -1; + bool lockScale = false; // If Scale is locked you will be unable to play notes out of the scale. + bool lockedState = false; // for holding previous scale lock state + bool group16 = false; // If group16 is active, all notes in scale will be grouped into lower 16 notes. + bool groupedState = false; // for holding previous group16 state + bool scaleSelectHold; + bool showScaleInSeq = false; +}; + +extern ScaleConfig scaleConfig; + +struct MidiNoteGroup +{ + uint8_t channel = 1; + uint8_t noteNumber = 0; + // uint8_t keyIndex = 0; // use if t + uint8_t prevNoteNumber = 0; // note number before being modified by midiFX + uint8_t velocity = 100; + float stepLength = 0; // fraction or multiplier of clockConfig.step_micros, 1 == 1 step + bool sendMidi = true; + bool sendCV = true; + uint32_t noteonMicros = 0; + bool unknownLength = false; + bool noteOff = false; // Set true if note off, corresponding note on should have stepLength of 0 +}; + +#define NUM_DISP_PARAMS 5 + +extern const float kNoteLengths[]; +extern const uint8_t kNumNoteLengths; + +extern const uint8_t kArpRates[]; +extern const uint8_t kNumArpRates; + +extern const int gridh; +extern const int gridw; +extern const int PPQ; + +extern const char *mfxOffMsg; +extern const char *mfxArpEditMsg; +extern const char *mfxPassthroughEditMsg; +extern const char *exitMsg; +extern const char *paramOffMsg; +extern const char *paramOnMsg; + +extern const char *modes[]; +extern const char *macromodes[]; +extern const int nummacromodes; +extern const char *infoDialogText[]; + +extern String tempString; +extern String tempStrings[]; + +enum multDiv +{ + MD_QUART = 0, + MD_HALF, + MD_ONE, + MD_TWO, + MD_FOUR, + MD_EIGHT, + MD_SIXTEEN, + + NUM_MULTDIVS +}; + +extern float multValues[]; +extern const char *mdivs[]; + +enum Dialogs +{ + COPY = 0, + PASTE, + CLEAR, + RESET, + FWD, + REV, + SAVED, + SAVE, + + NUM_DIALOGS +}; +struct InfoDialogs +{ + const char *text; + bool state; +}; + +extern InfoDialogs infoDialog[NUM_DIALOGS]; + +enum SubModes +{ + SUBMODE_MIDI = 0, + SUBMODE_SEQ, + SUBMODE_SEQ2, + SUBMODE_NOTESEL, + SUBMODE_NOTESEL2, + SUBMODE_NOTESEL3, + SUBMODE_PATTPARAMS, + SUBMODE_PATTPARAMS2, + SUBMODE_PATTPARAMS3, + SUBMODE_STEPREC, + SUBMODE_MIDI2, + SUBMODE_MIDI3, + SUBMODE_MIDI4, + + SUBMODES_COUNT +}; + +// KEY SWITCH ROWS/COLS +#define ROWS 5 // five rows +#define COLS 6 // six columns + +// Map the keys +extern char keys[ROWS][COLS]; +extern byte rowPins[ROWS]; // row pins for key switches +extern byte colPins[COLS]; // column pins for key switches + +// KEYBOARD MIDI NOTE LAYOUT +extern const int notes[]; +extern const int steps[]; +extern const int midiKeyMap[]; + +#endif diff --git a/Archive/OMX-27-firmware/src/consts/colors.h b/Archive/OMX-27-firmware/src/consts/colors.h new file mode 100644 index 00000000..0fb5eb6a --- /dev/null +++ b/Archive/OMX-27-firmware/src/consts/colors.h @@ -0,0 +1,91 @@ +#pragma once + +#include + +// COLOR PRESETS +// https://www.rapidtables.com/web/color/color-wheel.html +// hsl(xxx, 100%, 50%) +const auto RED = 0xFF0000; +const auto ORANGE = 0xFF8000; +const auto YELLOW = 0xFFFF00; +const auto LIME = 0x80FF00; +const auto GREEN = 0x00FF00; +const auto MINT = 0x00FF80; +const auto CYAN = 0x00FFFF; +const auto RBLUE = 0x007FFF; +const auto BLUE = 0x0000FF; +const auto PURPLE = 0x7F00FF; +const auto MAGENTA = 0xFF00FF; +const auto ROSE = 0xFF0080; + +// hsl(xxx, 50%, 50%) +const auto MEDRED = 0xBF4040; +const auto MEDBLUE = 0x4040BF; +const auto MEDYELLOW = 0xBFBF40; + +// hsl(xxx, 100%, 75%) +const auto LTCYAN = 0x80FFFF; +const auto LTPURPLE = 0xBF80FF; +const auto SALMON = 0xFF8080; +const auto PINK = 0xFF80D4; +const auto LTYELLOW = 0xFFFF80; + +// hsl(xxx, 100%, 15%) +const auto DKRED = 0x800000; +const auto DKORANGE = 0x4D2600; +const auto DKYELLOW = 0x4C4D00; +const auto DKLIME = 0x408000; +const auto DKGREEN = 0x264D00; +const auto DKCYAN = 0x004C4D; +const auto DKBLUE = 0x00004D; +const auto DKPURPLE = 0x26004D; +const auto DKMAGENTA = 0x4D004C; +const auto INDIGO = 0x4B0082; + +// hsl(xxx, 50%, 75%) +const auto LBLUE = 0x9FCFDF; +const auto VIOLET = 0xDF9FDF; + +// hsl(xxx, 25%, 50%) +const auto DIMORANGE = 0x9F8060; +const auto DIMYELLOW = 0x9F9F60; +const auto DIMLIME = 0x809F60; +const auto DIMGREEN = 0x609F60; +const auto DIMMAGENTA = 0x9F609F; +const auto DIMCYAN = 0x609F9F; +const auto DIMBLUE = 0x60609F; +const auto DIMPURPLE = 0x7F609F; + +// other +const auto AMBER = 0x999900; +const auto BEIGE = 0xFFCC33; + +// no color + +const auto WHITE = 0xFFFFFF; +const auto HALFWHITE = 0x808080; +const auto LOWWHITE = 0x202020; +const auto VLOWWHITE = 0x101010; +const auto LEDOFF = 0x000000; + +// sequencer pattern colors +const uint32_t seqColors[] = {ORANGE, YELLOW, GREEN, MAGENTA, CYAN, BLUE, LIME, LTPURPLE}; +const uint32_t muteColors[] = {DKORANGE, DKYELLOW, DKGREEN, DKMAGENTA, DKCYAN, DKBLUE, DKLIME, DKPURPLE}; +const uint32_t sequencePageColors[] = {RED, ORANGE, YELLOW, LIME}; + +const auto MIDINOTEON = WHITE; +const auto MIDIBG = VLOWWHITE; + +const auto SEQCHASE = DKRED; +const auto SEQMARKER = LOWWHITE; +const auto SEQSTEP = ORANGE; + +const auto NOTESEL = DKCYAN; +const auto PATTSEL = LIME; + +const auto FUNKONE = LTCYAN; +const auto FUNKTWO = MINT; +const auto FUNKTHREE = DKBLUE; + +const auto SEQ1C = HALFWHITE; +const auto SEQ2C = DKBLUE; diff --git a/Archive/OMX-27-firmware/src/consts/consts.h b/Archive/OMX-27-firmware/src/consts/consts.h new file mode 100644 index 00000000..b53b3c75 --- /dev/null +++ b/Archive/OMX-27-firmware/src/consts/consts.h @@ -0,0 +1,58 @@ +#pragma once + +// OMX-27 shared constants + +// HW_VERSIONS + +// AUTOMATICALLY GET BOARD TYPE - DO NOT MODIFY +#ifdef ARDUINO_TEENSY40 +#define T4 1 +#else +#define T4 0 +#endif + +#define DEV 0 +#define MIDIONLY 0 + +// Comment out defines to disable modes if needed for debug build +#define OMXMODEGRIDS + +// HARDWARE Pin for CVGATE_PIN = 13 on beta1 boards, 22 on bodge/midi, 23 on 1.0 +#if DEV +const int CVGATE_PIN = 13; +#elif T4 +const int CVGATE_PIN = 13; +#elif MIDIONLY +const int CVGATE_PIN = 22; // 13 on beta1 boards, A10 (broken) on test/midi, 23 on 1.0 +#else +const int CVGATE_PIN = 23; // 13 on beta1 boards, 22 on test, 23 on 1.0 +#endif + +#if T4 +// const int CVPITCH_PIN = A14; +#else +const int CVPITCH_PIN = A14; +#endif + +const int loSkip = 0; +const int hiSkip = 0; +constexpr int range = 4096 - loSkip - hiSkip; + +const float fullRangeV = 4.66; +const float fullRangeDAC = 4095.0; +const float stepsPerVolt = fullRangeDAC / fullRangeV; +const float stepsPerOctave = stepsPerVolt; +const float stepsPerSemitone = stepsPerOctave / 12; + +const uint8_t midiMiddleC = 60; +const uint8_t cvLowestNote = midiMiddleC - 3 * 12; // 3 is how many octaves under middle c +const uint8_t cvHightestNote = cvLowestNote + int(fullRangeV * 12) - 1; + +// FONTS +#define FONT_LABELS u8g2_font_5x8_tf +#define FONT_VALUES u8g2_font_7x14B_tf +#define FONT_SYMB u8g2_font_9x15_m_symbols +#define FONT_SYMB_BIG u8g2_font_cu12_h_symbols +#define FONT_TENFAT u8g2_font_tenfatguys_tf +#define FONT_BIG u8g2_font_helvB18_tr +#define FONT_CHAR16 u8g2_font_6x12_tf diff --git a/Archive/OMX-27-firmware/src/hardware/omx_disp.cpp b/Archive/OMX-27-firmware/src/hardware/omx_disp.cpp new file mode 100644 index 00000000..36c6fbfb --- /dev/null +++ b/Archive/OMX-27-firmware/src/hardware/omx_disp.cpp @@ -0,0 +1,1521 @@ +#include + +#include "omx_disp.h" +#include "../consts/consts.h" +#include "../ClearUI/ClearUI.h" + +U8G2_FOR_ADAFRUIT_GFX u8g2_display; + +const char *loaderAnim[] = {"\u25f0", "\u25f1", "\u25f2", "\u25f3"}; + +// Constructor +OmxDisp::OmxDisp() +{ +} + + + +void OmxDisp::setup() +{ + initializeDisplay(); + u8g2_display.begin(display); +} + +void OmxDisp::clearDisplay() +{ + // Clear display + display.display(); + setDirty(); +} + +void OmxDisp::drawStartupScreen() +{ + display.clearDisplay(); + testdrawrect(); + delay(200); + display.clearDisplay(); + u8g2_display.setForegroundColor(WHITE); + u8g2_display.setBackgroundColor(BLACK); + drawLoading(); + // Display version + display.clearDisplay(); + displayMessageTimed("v" + String(MAJOR_VERSION) + "." + String(MINOR_VERSION) + "." + String(POINT_VERSION), 1); + display.display(); +} + +void OmxDisp::displayMessage(String msg) +{ + displayMessage(msg.c_str()); +} + +void OmxDisp::displayMessage(const char *msg) +{ + specialMsgType_ = 0; + currentMsg = msg; + + display.fillRect(0, 0, 128, 32, BLACK); + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_TENFAT); + u8g2_display.setForegroundColor(WHITE); + u8g2_display.setBackgroundColor(BLACK); + u8g2centerText(msg, 0, 10, 128, 32); + + messageTextTimer = MESSAGE_TIMEOUT_US; + dirtyDisplay = true; +} + +void OmxDisp::displayMessagef(const char *fmt, ...) +{ + specialMsgType_ = 0; + va_list args; + va_start(args, fmt); + char buf[24]; + vsnprintf(buf, sizeof(buf), fmt, args); + va_end(args); + displayMessage(buf); +} + +// Something is keeping weird cache of display names or serial logs in memory +void OmxDisp::displayMessageTimed(String msg, uint8_t secs) +{ + currentMsg = msg; + specialMsgType_ = 0; + + renderMessage(); + + messageTextTimer = secs * 100000; + dirtyDisplay = true; +} + +void OmxDisp::displaySpecialMessage(uint8_t msgType, String msg, uint8_t secs) +{ + currentMsg = msg; + specialMsgType_ = msgType; + + renderMessage(); + + messageTextTimer = secs * 100000; + dirtyDisplay = true; +} + +void OmxDisp::chordBalanceMsg(int8_t balArray[], float velArray[], uint8_t secs) +{ + for (uint8_t i = 0; i < 4; i++) + { + chordBalArray_[i] = balArray[i]; + chordVelArray_[i] = velArray[i]; + } + + currentMsg = "Balance"; + specialMsgType_ = 1; + + renderMessage(); + + messageTextTimer = secs * 100000; + dirtyDisplay = true; +} + +void OmxDisp::renderMessage() +{ + if (specialMsgType_ == 0) + { + display.fillRect(0, 0, 128, 32, BLACK); + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_TENFAT); + u8g2_display.setForegroundColor(WHITE); + u8g2_display.setBackgroundColor(BLACK); + u8g2centerText(currentMsg.c_str(), 0, 10, 128, 32); + // dirtyDisplay = true; + } + else if (specialMsgType_ == 1) + { + dispChordBalance(); + } +} + +bool OmxDisp::isMessageActive() +{ + return messageTextTimer > 0; +} + +void OmxDisp::u8g2centerText(const char *s, int16_t x, int16_t y, uint16_t w, uint16_t h) +{ + // int16_t bx, by; + uint16_t bw, bh; + bw = u8g2_display.getUTF8Width(s); + bh = u8g2_display.getFontAscent(); + u8g2_display.setCursor( + x + (w - bw) / 2, + y + (h - bh) / 2); + u8g2_display.print(s); +} + +void OmxDisp::u8g2leftText(const char *s, int16_t x, int16_t y, uint16_t w, uint16_t h) +{ + uint16_t bh = u8g2_display.getFontAscent(); + u8g2_display.setCursor( + x, + y + (h - bh) / 2); + u8g2_display.print(s); +} + +void OmxDisp::u8g2centerNumber(int n, uint16_t x, uint16_t y, uint16_t w, uint16_t h) +{ + char buf[8]; + itoa(n, buf, 10); + u8g2centerText(buf, x, y, w, h); +} + +void OmxDisp::testdrawrect() +{ + display.clearDisplay(); + + for (int16_t i = 0; i < display.height() / 2; i += 2) + { + display.drawRect(i, i, display.width() - 2 * i, display.height() - 2 * i, SSD1306_WHITE); + display.display(); // Update screen with each newly-drawn rectangle + delay(1); + } + + delay(500); +} + +void OmxDisp::drawLoading() +{ + display.clearDisplay(); + u8g2_display.setFontMode(0); + for (int16_t i = 0; i < 16; i += 1) + { + display.clearDisplay(); + u8g2_display.setCursor(18, 18); + u8g2_display.setFont(FONT_TENFAT); + u8g2_display.print("OMX-27"); + u8g2_display.setFont(FONT_SYMB_BIG); + u8g2centerText(loaderAnim[i % 4], 80, 10, 32, 32); // "\u00BB\u00AB" // // dice: "\u2685" + display.display(); + delay(100); + } + + delay(100); +} + +void OmxDisp::dispGridBoxes() +{ + display.fillRect(0, 0, gridw, 10, WHITE); + display.drawFastVLine(gridw / 4, 0, gridh, INVERSE); + display.drawFastVLine(gridw / 2, 0, gridh, INVERSE); + display.drawFastVLine(gridw * 0.75, 0, gridh, INVERSE); +} +void OmxDisp::invertColor(bool flip) +{ + if (flip) + { + u8g2_display.setForegroundColor(BLACK); + u8g2_display.setBackgroundColor(WHITE); + } + else + { + u8g2_display.setForegroundColor(WHITE); + u8g2_display.setBackgroundColor(BLACK); + } +} +void OmxDisp::dispValBox(int v, int16_t n, bool inv) +{ // n is box 0-3 + invertColor(inv); + u8g2centerNumber(v, n * 32, hline * 2 + 3, 32, 22); +} + +void OmxDisp::dispSymbBox(const char *v, int16_t n, bool inv) +{ // n is box 0-3 + invertColor(inv); + u8g2centerText(v, n * 32, hline * 2 + 3, 32, 22); +} + +void OmxDisp::clearLegends() +{ + legends[0] = ""; + legends[1] = ""; + legends[2] = ""; + legends[3] = ""; + legendVals[0] = -127; + legendVals[1] = -127; + legendVals[2] = -127; + legendVals[3] = -127; + dispPage = 0; + legendText[0] = ""; + legendText[1] = ""; + legendText[2] = ""; + legendText[3] = ""; + useLegendString[0] = false; + useLegendString[1] = false; + useLegendString[2] = false; + useLegendString[3] = false; +} + +bool OmxDisp::validateLegendIndex(uint8_t index) +{ + if(index >= 4) + { + Serial.println("ERROR: Param index out of range!"); + return false; + } + return true; +} + + + +void OmxDisp::setLegend(uint8_t index, const char *label, int value) +{ + if (validateLegendIndex(index)) + { + legends[index] = label; + legendVals[index] = value; + } +} +void OmxDisp::setLegend(uint8_t index, const char *label, bool isOff, int value) +{ + if (isOff) + { + setLegend(index, label, paramOffMsg); + } + else + { + setLegend(index, label, value); + } +} +void OmxDisp::setLegend(uint8_t index, const char *label, const char *text) +{ + if (validateLegendIndex(index)) + { + legends[index] = label; + legendText[index] = text; + } +} +void OmxDisp::setLegend(uint8_t index, const char* label, bool isOff, const char* text) +{ + if (isOff) + { + setLegend(index, label, paramOffMsg); + } + else + { + setLegend(index, label, text); + } +} +void OmxDisp::setLegend(uint8_t index, const char *label, String text) +{ + if (validateLegendIndex(index)) + { + legends[index] = label; + useLegendString[index] = true; + legendString[index] = text; + } +} +void OmxDisp::setLegend(uint8_t index, const char *label, bool isOff, String text) +{ + if(isOff) + { + setLegend(index, label, paramOffMsg); + } + else + { + setLegend(index, label, text); + } +} +void OmxDisp::setLegend(uint8_t index, const char* label, bool value) +{ + setLegend(index, label, value ? paramOnMsg : paramOffMsg); +} + +void OmxDisp::dispGenericMode(int selected) +{ + if (isMessageActive()) + { + renderMessage(); + return; + } + + // const char* legends[4] = {"","","",""}; + // int legendVals[4] = {0,0,0,0}; + // int dispPage = 0; + // const char* legendText[4] = {"","","",""}; + // int displaychan = sysSettings.midiChannel; + + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_LABELS); + u8g2_display.setCursor(0, 0); + dispGridBoxes(); + + // labels + u8g2_display.setForegroundColor(BLACK); + u8g2_display.setBackgroundColor(WHITE); + + for (int j = 0; j < 4; j++) + { + u8g2centerText(legends[j], (j * 32) + 1, hline - 2, 32, 10); + } + + // value text formatting + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_VALUES); + u8g2_display.setForegroundColor(WHITE); + u8g2_display.setBackgroundColor(BLACK); + + switch (selected) + { + case 1: + display.fillRect(0 * 32 + 2, 9, 29, 21, WHITE); + break; + case 2: // + display.fillRect(1 * 32 + 2, 9, 29, 21, WHITE); + break; + case 3: // + display.fillRect(2 * 32 + 2, 9, 29, 21, WHITE); + break; + case 4: // + display.fillRect(3 * 32 + 2, 9, 29, 21, WHITE); + break; + case 0: + default: + break; + } + // ValueBoxes + int highlight = false; + for (int j = 1; j < NUM_DISP_PARAMS; j++) + { // start at 1 to only highlight values 1-4 + + if (j == selected) + { + highlight = true; + } + else + { + highlight = false; + } + if (legendVals[j - 1] == -127) + { + dispSymbBox(legendText[j - 1], j - 1, highlight); + } + else + { + dispValBox(legendVals[j - 1], j - 1, highlight); + } + } + if (dispPage != 0) + { + for (int k = 0; k < 4; k++) + { + if (dispPage == k + 1) + { + dispPageIndicators(k, true); + } + else + { + dispPageIndicators(k, false); + } + } + } +} + +void OmxDisp::dispGenericMode2(uint8_t numPages, int8_t selectedPage, int8_t selectedParam, bool encSelActive) +{ + if (isMessageActive()) + { + renderMessage(); + return; + } + + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_LABELS); + u8g2_display.setCursor(0, 0); + dispGridBoxes(); + + // labels + u8g2_display.setForegroundColor(BLACK); + u8g2_display.setBackgroundColor(WHITE); + + for (int j = 0; j < 4; j++) + { + u8g2centerText(legends[j], (j * 32) + 1, hline - 2, 32, 10); + } + + // value text formatting + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_VALUES); + u8g2_display.setForegroundColor(WHITE); + u8g2_display.setBackgroundColor(BLACK); + + if (selectedParam >= 0 && selectedParam < 4) + { + if (encSelActive) + { + const int8_t bWidth = 1; + display.fillRect(selectedParam * 32 + 2, 9, 29, 21, WHITE); + display.fillRect(selectedParam * 32 + 2 + bWidth, 9 + bWidth, 29 - (bWidth * 2), 21 - (bWidth * 2), BLACK); + } + else + { + display.fillRect(selectedParam * 32 + 2, 9, 29, 21, WHITE); + } + + // display.fillRect(selectedParam * 32 + 2, 9, 29, 21, WHITE); + } + + // ValueBoxes + bool highlight = false; + for (int j = 0; j < 4; j++) + { + highlight = (j == selectedParam && !encSelActive); + + if (useLegendString[j]) + { + dispSymbBox(legendString[j].c_str(), j, highlight); + } + else if (legendVals[j] == -127) + { + dispSymbBox(legendText[j], j, highlight); + } + else + { + dispValBox(legendVals[j], j, highlight); + } + } + + dispPageIndicators2(numPages, selectedPage); +} + +void OmxDisp::dispGenericModeLabel(const char *label, uint8_t numPages, int8_t selectedPage) +{ + if (isMessageActive()) + { + renderMessage(); + return; + } + + display.fillRect(0, 0, 128, 32, BLACK); + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_TENFAT); + u8g2_display.setForegroundColor(WHITE); + u8g2_display.setBackgroundColor(BLACK); + u8g2centerText(label, 0, 10, 128, 32); + + if (numPages > 1) + { + dispPageIndicators2(numPages, selectedPage); + } +} + +void OmxDisp::dispGenericModeLabelDoubleLine(const char *label1, const char *label2, uint8_t numPages, int8_t selectedPage) +{ + if (isMessageActive()) + { + renderMessage(); + return; + } + + display.fillRect(0, 0, 128, 32, BLACK); + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_VALUES); + u8g2_display.setForegroundColor(WHITE); + u8g2_display.setBackgroundColor(BLACK); + u8g2centerText(label1, 0, 12, 128, 8); + u8g2centerText(label2, 0, 26, 128, 8); + + if (numPages > 1) + { + dispPageIndicators2(numPages, selectedPage); + } +} + +void OmxDisp::dispGenericModeLabelSmallText(const char *label, uint8_t numPages, int8_t selectedPage) +{ + if (isMessageActive()) + { + renderMessage(); + return; + } + + display.fillRect(0, 0, 128, 32, BLACK); + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_LABELS); + u8g2_display.setForegroundColor(WHITE); + u8g2_display.setBackgroundColor(BLACK); + u8g2centerText(label, 0, 10, 128, 8); + + if (numPages > 1) + { + dispPageIndicators2(numPages, selectedPage); + } +} + +void OmxDisp::dispOptionCombo(const char * header, const char *optionsArray[], uint8_t optionCount, uint8_t selected, bool encSelActive) +{ + if (isMessageActive()) + { + renderMessage(); + return; + } + + // Draw header text + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_LABELS); + u8g2_display.setCursor(0, 0); + + uint8_t labelWidth = 128; // 8 + u8g2centerText(header, 2, hline - 2, labelWidth - 4, 10); + + // Draw options + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_LABELS); + + uint8_t optionWidth = 128 / optionCount; // 8 + + uint8_t yPos = hline * 2 + 3; // 19 + + for (uint8_t i = 0; i < optionCount; i++) + { + if (i == selected) + { + display.fillRect(i * optionWidth, 14, optionWidth, 12, WHITE); + display.fillRect(i * optionWidth + 1, 14 + 1, optionWidth - 2, 12 - 2, BLACK); + } + + u8g2centerText(optionsArray[i], i * optionWidth, yPos, optionWidth - 1, 16); + } + + if(!encSelActive) + { + display.drawFastHLine(4, 28, 128 - 8, WHITE); + } +} + +void OmxDisp::dispChar16(const char *charArray[], uint8_t charCount, uint8_t selected, uint8_t numPages, int8_t selectedPage, bool encSelActive, bool showLabels, const char *labels[], uint8_t labelCount) +{ + if (isMessageActive()) + { + renderMessage(); + return; + } + + display.fillRect(0, 0, 128, 32, BLACK); + + if (showLabels) + { + int8_t selIndex = constrain(selected - 16, -1, 127); + dispLabelParams(selIndex, encSelActive, labels, labelCount, false); + } + + uint8_t charWidth = 128 / 16; // 8 + + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_CHAR16); + + uint8_t yPos = hline * 2 + 3; // 19 + + for (uint8_t i = 0; i < 16; i++) + { + bool showChar = i < charCount; + if (i == selected) + { + display.drawFastHLine(i * charWidth + 1, 26, charWidth - 2, WHITE); + + if (encSelActive == false) + { + display.fillRect(i * charWidth, 14, charWidth, 10, WHITE); + invertColor(true); + showChar = true; + } + else + { + invertColor(false); + } + // display.drawLine(i * charWidth - charWidth + 1, yPos + 2, i * charWidth - 1, yPos + 2, WHITE); + } + else + { + invertColor(false); + } + + if (showChar) + { + u8g2centerText(charArray[i], i * charWidth, yPos, charWidth - 1, 16); + } + } + + // if (numPages > 1) + // { + // dispPageIndicators2(numPages, selectedPage); + // } +} + +void OmxDisp::dispValues16(int8_t valueArray[], uint8_t valueCount, int8_t minValue, int8_t maxValue, bool centered, uint8_t selected, uint8_t numPages, int8_t selectedPage, bool encSelActive, bool showLabels, const char *labels[], uint8_t labelCount) +{ + if (isMessageActive()) + { + renderMessage(); + return; + } + + display.fillRect(0, 0, 128, 32, BLACK); + + if (showLabels) + { + int8_t selIndex = constrain(selected - 16, -1, 127); + dispLabelParams(selIndex, encSelActive, labels, labelCount, false); + } + + uint8_t boxWidth = 128 / 16; // 8 + uint8_t boxStartY = 10; + uint8_t heightMax = 32; + uint8_t boxHeight = heightMax - boxStartY; + uint8_t halfBoxHeight = boxHeight / 2; + + int8_t middleValue = ((maxValue - minValue) / 2) + minValue; + + for (uint8_t i = 0; i < 16; i++) + { + if (i < valueCount && valueArray[i] == -127) + continue; + + uint16_t fgColor = WHITE; + + uint8_t xPos = i * boxWidth + 2; + uint8_t width = boxWidth - 4; + + if (i == selected && encSelActive) + { + display.fillRect(i * boxWidth, boxStartY, boxWidth, boxHeight, WHITE); + display.fillRect(i * boxWidth + 1, boxStartY + 1, boxWidth - 2, boxHeight - 2, BLACK); + } + + if (i >= valueCount) + { + // display.fillRect(i * boxWidth + 3, boxStartY + (halfBoxHeight + 1), 1, 1, fgColor); + + continue; + } + + if (centered) + { + if (valueArray[i] >= middleValue) + { + float valuePerc = constrain(map((float)valueArray[i], (float)middleValue, (float)maxValue, 0.0f, 1.0f), 0.0f, 1.0f); + uint8_t valueHeight = max(halfBoxHeight * valuePerc, 0); + display.fillRect(xPos, boxStartY + (halfBoxHeight + 1) - valueHeight, width, valueHeight + 1, fgColor); + + // if(i == selected) + // { + // Serial.println("valuePerc: " + String(valuePerc) + " valueHeight: " + String(valueHeight) + " startY: " + String(boxStartY + halfBoxHeight - valueHeight)); + // } + } + else + { + float valuePerc = 1.0f - constrain(map((float)valueArray[i], (float)minValue, (float)middleValue, 0.0f, 1.0f), 0.0f, 1.0f); + uint8_t valueHeight = constrain((boxHeight - halfBoxHeight) * valuePerc, 0, halfBoxHeight - 3); + display.fillRect(xPos, boxStartY + halfBoxHeight + 1, width, valueHeight + 1, fgColor); + // display.fillRect(i + 3, boxStartY + halfBoxHeight + 1, boxWidth - 4, valueHeight - 2, bgColor); + } + } + else + { + float valuePerc = constrain(map((float)valueArray[i], (float)minValue, (float)maxValue, 0.0f, 1.0f), 0.0f, 1.0f); + uint8_t valueHeight = constrain(boxHeight * valuePerc, 0, boxHeight - 1); + display.fillRect(xPos, boxStartY + boxHeight - valueHeight, width, valueHeight + 1, fgColor); + } + } + + // if (numPages > 1) + // { + // dispPageIndicators2(numPages, selectedPage); + // } +} + +void OmxDisp::dispParamBar(int8_t potValue, int8_t targetValue, int8_t minValue, int8_t maxValue, bool pickedUp, bool centered, const char* bankName, const char* paramName) +{ + if (isMessageActive()) + { + renderMessage(); + return; + } + + display.fillRect(0, 0, 128, 32, BLACK); + + // if (showLabels) + // { + // int8_t selIndex = constrain(selected - 16, -1, 127); + // dispLabelParams(selIndex, encSelActive, labels, labelCount, false); + // } + + u8g2_display.setFontMode(1); + // u8g2_display.setFont(FONT_LABELS); + u8g2_display.setCursor(0, 0); + + u8g2_display.setFont(FONT_LABELS); + u8g2leftText(bankName, 2, hline - 3, 128 - 4, 10); + u8g2_display.setFont(FONT_TENFAT); + u8g2leftText(paramName, 2, 18, 92 - 4, 12); + + u8g2_display.setFont(FONT_BIG); + tempString = String(targetValue); + u8g2centerText(tempString.c_str(), 92, 18, 128 - 96 - 4, 22); + + float potPerc = map(potValue, minValue, maxValue, 0, 1000) / 1000.0f; + float targetPerc = map(targetValue, minValue, maxValue, 0, 1000) / 1000.0f; + + uint8_t boxStartX = 0; // 8 + uint8_t boxWidth = 128; // 8 + uint8_t potWidth = boxWidth * potPerc; // 8 + uint8_t targetWidth = boxWidth * targetPerc; // 8 + uint8_t boxStartY = 27; + uint8_t heightMax = 32; + uint8_t boxHeight = heightMax - boxStartY; + // uint8_t halfBoxHeight = boxHeight / 2; + + // int8_t middleValue = ((maxValue - minValue) / 2) + minValue; + + display.fillRect(boxStartX, boxStartY, boxWidth, boxHeight, WHITE); + display.fillRect(boxStartX + 1, boxStartY + 1, boxWidth - 2, boxHeight - 2, BLACK); + display.fillRect(boxStartX + 1, boxStartY + 1, targetWidth - 2, boxHeight - 2, WHITE); + + // Chevron showing pot value + // xxxxxxx + // -xxxxx + // --xxx + // ---x + display.fillRect(boxStartX + potWidth - 4, boxStartY - 4, 7, 1, WHITE); + display.fillRect(boxStartX + potWidth - 3, boxStartY - 3, 5, 1, WHITE); + display.fillRect(boxStartX + potWidth - 2, boxStartY - 2, 3, 1, WHITE); + display.fillRect(boxStartX + potWidth - 1, boxStartY - 1, 1, 1, WHITE); + + if(!pickedUp) + { + display.fillRect(boxStartX + potWidth - 3, boxStartY - 4, 5, 1, BLACK); + display.fillRect(boxStartX + potWidth - 2, boxStartY - 3, 3, 1, BLACK); + display.fillRect(boxStartX + potWidth - 1, boxStartY - 2, 1, 1, BLACK); + } +} + +void OmxDisp::dispSlots(const char *slotNames[], uint8_t slotCount, uint8_t selected, uint8_t animPos, bool encSelActive, bool showLabels, const char *labels[], uint8_t labelCount) +{ + // if (isMessageActive()) + // { + // renderMessage(); + // return; + // } + + display.fillRect(0, 0, 128, 32, BLACK); + + // if(showLabels) + // { + // int8_t selIndex = constrain(selected - 16, -1, 127); + // dispLabelParams(selIndex, encSelActive, labels, labelCount); + // } + + // uint8_t rowCount = slotCount - 1;// Selected slot will be raised + + uint8_t rowCount = 4; // Selected slot will be raised + + int8_t selYOffset = 0; // 14 to 0 + int8_t horzOffset = 18; // 18 to 1, can reduce after selYOffset <= 1 + + if (animPos < 14) + { + selYOffset = 14 - animPos; + } + + if (selYOffset <= 0) + { + horzOffset = map(constrain(animPos, 13, 26), 13, 26, 18, 2); + } + + uint8_t slotWidth = 128 / rowCount; + uint8_t slotHeight = 12; + uint8_t slotPad = 1; + + // uint8_t charWidth = 128 / 16; // 8 + + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_LABELS); + + // uint8_t yPos = hline * 2 + 3; // 19 + + uint8_t yPos = 15; // 19 + + int8_t slotIndex = selected - 2; + uint8_t slotOffset = 0; + + if (selected == 0) + { + slotOffset = 2; + } + else if (selected == 1) + { + slotOffset = 1; + } + + for (int8_t i = slotIndex; i < slotCount; i++) + { + if (i != selected) + { + if (slotIndex >= 0 && slotIndex < slotCount) + { + int8_t hOff = slotOffset < 2 ? -horzOffset + 1 : horzOffset - 2; + + display.fillRect(slotOffset * slotWidth + slotPad + 1 + hOff, yPos, slotWidth - (slotPad * 2) - 2, slotHeight, WHITE); + display.fillRect(slotOffset * slotWidth + slotPad + 2 + hOff, yPos + 1, slotWidth - 4 - (slotPad * 2), slotHeight - 2, BLACK); + invertColor(false); + u8g2centerText(slotNames[i], slotOffset * slotWidth + slotPad + 2 + hOff, yPos + (slotHeight / 2) + 2, slotWidth - 4 - (slotPad * 2), 8); + slotOffset++; + } + slotIndex++; + + if (slotOffset >= 4) + { + break; + } + } + } + + // Display selected slot + slotWidth = 36; + slotHeight = 13; + yPos = 0 + selYOffset; // 19 + uint8_t selectedStart = 64 - (slotWidth / 2); + + display.fillRect(selectedStart + slotPad, yPos, slotWidth - (slotPad * 2), slotHeight, WHITE); + display.fillRect(selectedStart + slotPad + 1, yPos + 1, slotWidth - 2 - (slotPad * 2), slotHeight - 2, BLACK); + invertColor(false); + u8g2_display.setFont(FONT_CHAR16); + u8g2centerText(slotNames[selected], selectedStart + slotPad + 1, yPos + (slotHeight / 2) + 3, slotWidth - 2 - (slotPad * 2), 8); + + if (yPos + slotHeight < 25) + { + display.drawLine(63, yPos + slotHeight, 63, 25, WHITE); + } +} + +void OmxDisp::dispCenteredSlots(const char *slotNames[], uint8_t slotCount, uint8_t selected, bool encoderSelect, bool showLabels, bool centerLabels, const char *labels[], uint8_t labelCount) +{ + if (isMessageActive()) + { + renderMessage(); + return; + } + + display.fillRect(0, 0, 128, 32, BLACK); + + uint8_t slotWidth = 128 / slotCount; + + for (uint8_t i = 0; i < slotCount; i++) + { + dispParamLabel(i * slotWidth, 10, slotWidth, 18, selected == i, 1, encoderSelect, true, slotNames[i], FONT_VALUES, 1, true); + } + + // dispParamLabel(32, 10, 32, 18, selected == 1, 1, encoderSelect, true, octaveName, FONT_VALUES, 1, true); + // dispParamLabel(0, 0, 128, 10, selected == 3, 0, encoderSelect, true, chordType, FONT_LABELS, 1, true); + + if (showLabels) + { + int8_t selIndex = constrain(selected - slotCount, -1, 127); + dispLabelParams(selIndex, encoderSelect, labels, labelCount, centerLabels); + } +} + +void OmxDisp::dispKeyboard(int rootNote, int noteNumbers[], bool showLabels, const char *labels[], uint8_t labelCount) +{ + if (isMessageActive()) + { + renderMessage(); + return; + } + + const uint8_t wkWidth = 7; + const uint8_t wkInc = 6; + + const uint8_t wkHeight = 22; + const uint8_t wkStartX = 16; + const uint8_t wkStartY = 10; + + const uint8_t bkWidth = 7; + const uint8_t bkInc = 6; + + const uint8_t bkHeight = 16; + const uint8_t bkStartX = 13; + const uint8_t bkStartY = 9; + + display.fillRect(0, 0, 128, 32, BLACK); + + // Find and split up black and white notes + bool blackNotes[10]; + bool whiteNotes[16]; + + for (uint8_t i = 0; i < 16; i++) + { + if (i < 10) + { + blackNotes[i] = false; + } + whiteNotes[i] = false; + } + + // int rootNote = -1; + + // // Find the lowest note + // for(uint8_t i = 0; i < 6; i++) + // { + // if(noteNumbers[i] >= 0 && noteNumbers[i] <= 127) + // { + // if(rootNote < 0 || noteNumbers[i] < rootNote) + // { + // rootNote = noteNumbers[i]; + // } + // } + // } + + bool addOctave = rootNote % 24 >= 12; + + for (uint8_t i = 0; i < 6; i++) + { + int note = noteNumbers[i]; + + // If valid note + if (note >= 0 && note <= 127) + { + // uint8_t threeOctNote = (note + (addOctave ? 12 : 0)) % 36; + + // C edge case if note is 2 octaves above root since there's + // one extra C + if (note - rootNote == 24) + { + whiteNotes[15] = true; + continue; + } + + uint8_t twoOctNote = (note + (addOctave ? 12 : 0)) % 24; + + for (uint8_t j = 1; j < 27; j++) + { + uint8_t stepNote = (notes[j] + 12) % 24; // Turn note lookup into 0-24 semitones + + // B edge case + if (j == 11) + { + // If note is b and less than root note + if (note % 12 == 11 && note < rootNote) + { + whiteNotes[j - 11] = true; + break; + } + } + + if (twoOctNote == stepNote) + { + if (j >= 11) + { + whiteNotes[j - 11] = true; + } + else + { + blackNotes[j - 1] = true; + } + break; + } + } + } + } + + // draw white keys + for (uint8_t i = 0; i < 16; i++) + { + if (whiteNotes[i] == false) + { + // display.fillRect(startX + (wkWidth * i), wkStartY, wkWidth, wkHeight, WHITE); + display.drawRect(wkStartX + (wkInc * i), wkStartY, wkWidth, wkHeight, WHITE); + } + } + + for (uint8_t i = 0; i < 16; i++) + { + if (whiteNotes[i]) + { + display.drawRect(wkStartX + (wkInc * i), wkStartY, wkWidth, wkHeight, BLACK); + display.fillRect(wkStartX + (wkInc * i) + 1, wkStartY, wkWidth - 2, wkHeight, WHITE); + } + } + + uint8_t bOffset = 0; + + // draw black keys + // Two additional keys for sides + for (uint8_t i = 0; i < 12; i++) + { + bool blackOn = false; + + if (i == 1 || i == 3 || i == 6 || i == 8 || i == 11) + { + bOffset += 6; + } + + uint8_t xStart = bkStartX + bOffset + (bkInc * i); + + if (i > 0 && i < 11) + { + blackOn = blackNotes[i - 1]; + } + else + { + display.fillRect(xStart, bkStartY, bkWidth, bkHeight, BLACK); + display.drawRect(xStart + 1, bkStartY + 1, bkWidth - 2, bkHeight - 2, WHITE); + display.fillRect(xStart + 2, bkStartY, bkWidth - 4, bkHeight - 1, BLACK); + continue; + ; + } + + if (blackOn) + { + display.fillRect(xStart, bkStartY, bkWidth, bkHeight, BLACK); + display.fillRect(xStart + 1, bkStartY + 1, bkWidth - 2, bkHeight - 2, WHITE); + } + else + { + // display.fillRect(startX + (wkWidth * i), wkStartY, wkWidth, wkHeight, WHITE); + display.fillRect(xStart, bkStartY, bkWidth, bkHeight, BLACK); + display.drawRect(xStart + 1, bkStartY + 1, bkWidth - 2, bkHeight - 2, WHITE); + } + } + + display.fillRect(0, 10, 16, 32, BLACK); // trim left side + display.fillRect(113, 10, 15, 32, BLACK); // trim right side + display.drawLine(18, 10, 110, 10, WHITE); // Cap the top + + if (!whiteNotes[0]) + { + display.drawLine(16, 24, 16, 31, WHITE); // Left wall + } + + if (!whiteNotes[15]) + { + display.drawLine(112, 24, 112, 31, WHITE); // Right wall + } + + if (showLabels) + { + // int8_t selIndex = constrain(selected - 16, -1, 127); + dispLabelParams(-1, true, labels, labelCount, true); + } +} + +void OmxDisp::dispChordBasicPage(uint8_t selected, bool encoderSelect, const char *noteName, const char *octaveName, const char *chordType, int8_t balArray[], float velArray[]) +{ + if (isMessageActive()) + { + renderMessage(); + return; + } + + display.fillRect(0, 0, 128, 32, BLACK); + + dispParamLabel(0, 10, 32, 18, selected == 0, 1, encoderSelect, true, noteName, FONT_VALUES, 1, true); + dispParamLabel(32, 10, 32, 18, selected == 1, 1, encoderSelect, true, octaveName, FONT_VALUES, 1, true); + dispParamLabel(0, 0, 128, 10, selected == 3, 0, encoderSelect, true, chordType, FONT_LABELS, 1, true); + + const uint8_t width = 10; + const uint8_t height = 16; + const uint8_t highHeight = 10; + const uint8_t space = 3; + const uint8_t totalWidth = width + space * 2; + const uint8_t startY = 11; + const uint8_t endY = startY + height; // 27 + + // const uint8_t startX = 64 - (((totalWidth) * 4) / 2); // 64 is width of duders + + const uint8_t startX = 64; // 64 is width of duders + + for (uint8_t i = 0; i < 4; i++) + { + uint8_t yPos = map(velArray[i], 0.0f, 1.0f, (float)endY, (float)startY); + + int bal = balArray[i]; + if (bal <= -10) + continue; + + if (bal == 0) + { + display.fillRect(startX + (totalWidth * i) + space, yPos, width, height, WHITE); + + // Eyes + // xx xx xx xx xx + // xx oo xx oo xx + // xx oo xx oo xx + // xx xx xx xx xx + display.fillRect(startX + (totalWidth * i) + space + 2, yPos + 2, 2, 4, BLACK); + display.fillRect(startX + (totalWidth * i) + space + 6, yPos + 2, 2, 4, BLACK); + } + else if (bal < 0) + { + yPos += 2; + display.fillRect(startX + (totalWidth * i) + space - 2, yPos - 2, width + 4, height + 4, WHITE); + display.fillRect(startX + (totalWidth * i) + space, yPos, width, height, BLACK); + + display.fillRect(startX + (totalWidth * i) + space + 2, yPos + 2, 2, 2, WHITE); + display.fillRect(startX + (totalWidth * i) + space + 6, yPos + 2, 2, 2, WHITE); + } + else if (bal > 0) + { + display.fillRect(startX + (totalWidth * i) + space, yPos, width, highHeight, WHITE); + + display.fillRect(startX + (totalWidth * i) + space + 2, yPos + 2, 2, 4, BLACK); + display.fillRect(startX + (totalWidth * i) + space + 6, yPos + 2, 2, 4, BLACK); + } + } + + display.fillRect(startX, 28, 64, 10, BLACK); + + if (selected == 2 && encoderSelect) + { + display.fillRect(startX + 32 - 1, 28, 2, 4, WHITE); + display.fillRect(startX + 32 - 3, 28 + 2, 6, 2, WHITE); + } + else if (selected == 2 && !encoderSelect) + { + display.fillRect(startX + 2, 28, 64 - 4, 2, WHITE); + } +} + +void OmxDisp::dispChordBalance() +{ + const uint8_t width = 10; + const uint8_t height = 16; + const uint8_t highHeight = 10; + const uint8_t space = 3; + const uint8_t totalWidth = width + space * 2; + const uint8_t startY = 5; + const uint8_t endY = startY + height; + + const uint8_t startX = 64 - (((totalWidth) * 4) / 2); + + display.fillRect(0, 0, 128, 32, BLACK); + + for (uint8_t i = 0; i < 4; i++) + { + uint8_t yPos = map(chordVelArray_[i], 0.0f, 1.0f, (float)endY, (float)startY); + + // Serial.println("ypos: " + String(yPos)); + + int bal = chordBalArray_[i]; + + // Serial.println("bal: " + String(bal)); + + if (bal <= -10) + continue; + + if (bal == 0) + { + display.fillRect(startX + (totalWidth * i) + space, yPos, width, height, WHITE); + + // Eyes + // xx xx xx xx xx + // xx oo xx oo xx + // xx oo xx oo xx + // xx xx xx xx xx + display.fillRect(startX + (totalWidth * i) + space + 2, yPos + 2, 2, 4, BLACK); + display.fillRect(startX + (totalWidth * i) + space + 6, yPos + 2, 2, 4, BLACK); + } + else if (bal < 0) + { + yPos += 2; + display.fillRect(startX + (totalWidth * i) + space - 2, yPos - 2, width + 4, height + 4, WHITE); + display.fillRect(startX + (totalWidth * i) + space, yPos, width, height, BLACK); + + display.fillRect(startX + (totalWidth * i) + space + 2, yPos + 2, 2, 2, WHITE); + display.fillRect(startX + (totalWidth * i) + space + 6, yPos + 2, 2, 2, WHITE); + } + else if (bal > 0) + { + display.fillRect(startX + (totalWidth * i) + space, yPos, width, highHeight, WHITE); + + display.fillRect(startX + (totalWidth * i) + space + 2, yPos + 2, 2, 4, BLACK); + display.fillRect(startX + (totalWidth * i) + space + 6, yPos + 2, 2, 4, BLACK); + } + } + + // Serial.println(""); + + display.fillRect(0, endY, 128, 32, BLACK); +} + +void OmxDisp::dispLabelParams(int8_t selected, bool encSelActive, const char *labels[], uint8_t labelCount, bool centered) +{ + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_LABELS); + u8g2_display.setCursor(0, 0); + + uint8_t labelWidth = 128 / labelCount; // 8 + + for (uint8_t i = 0; i < labelCount; i++) + { + bool invert = false; + // Label Selected + if (i == selected) + { + if (encSelActive == false) + { + display.fillRect(i * labelWidth, 0, labelWidth, 10, WHITE); + invert = true; + } + else + { + display.fillRect(i * labelWidth, 0, labelWidth, 10, WHITE); + display.fillRect(i * labelWidth + 1, 0 + 1, labelWidth - 2, 10 - 2, BLACK); + } + } + + invertColor(invert); + if (centered) + { + u8g2centerText(labels[i], i * labelWidth + 2, hline - 2, labelWidth - 4, 10); + } + else + { + u8g2leftText(labels[i], i * labelWidth + 2, hline - 2, labelWidth - 4, 10); + } + } +} + +void OmxDisp::dispParamLabel(uint8_t x, uint8_t y, uint8_t width, uint8_t height, bool selected, uint8_t selectionType, bool encSelActive, bool showLabel, const char *label, const uint8_t *font, int8_t labelYOffset, bool centered) +{ + bool invert = false; + // Label Selected + if (selected && encSelActive) + { + if (selectionType == 0) + { + display.drawRect(x, y, width, height, WHITE); + // display.fillRect(x + 1, 0 + 1, width - 2, 10 - 2, BLACK); + } + else if (selectionType == 1) + { + display.fillRect(x + width / 2 - 1, y + height, 2, 4, WHITE); + display.fillRect(x + width / 2 - 3, y + height + 2, 6, 2, WHITE); + } + } + else if (selected && !encSelActive) + { + if (selectionType == 0) + { + display.fillRect(x, y, width, height, WHITE); + invert = true; + } + else if (selectionType == 1) + { + display.fillRect(x + 2, y + height, width - 4, 2, WHITE); + } + } + + if (showLabel) + { + u8g2_display.setFontMode(1); + u8g2_display.setFont(font); + u8g2_display.setCursor(0, 0); + + invertColor(invert); + if (centered) + { + u8g2centerText(label, x, y + height / 2 + labelYOffset, width, height); + } + else + { + u8g2leftText(label, x + 2, y + height / 2 + labelYOffset, width - 4, height); + } + } +} + +void OmxDisp::dispPageIndicators2(uint8_t numPages, int8_t selected) +{ + int16_t indicatorWidth = 6; + int16_t indicatorYPos = 32; + int16_t segment = (6 + 6); + + int16_t start = (128 - (segment * numPages)) / 2.0; + + // Serial.println((String)"start: " + start + " indicatorYPos: " + indicatorYPos + " segment: " + segment); + + for (uint8_t i = 0; i < numPages; i++) + { + int16_t h = ((i == selected) ? 2 : 1); + + display.fillRect(start + (i * segment), indicatorYPos - h, indicatorWidth, h, WHITE); + } +} + +void OmxDisp::dispPageIndicators(int page, bool selected) +{ + if (selected) + { + display.fillRect(43 + (page * 12), 30, 6, 2, WHITE); + } + else + { + display.fillRect(43 + (page * 12), 31, 6, 1, WHITE); + } +} + +void OmxDisp::dispMode() +{ + animPos = constrain(animPos, 0, 3); + + animTimer -= sysSettings.timeElasped; + + if(animTimer <= 0) + { + animPos = (animPos + 1) % 4; + animTimer = 100000; + setDirty(); + } + + if (isDirty()) + { + u8g2_display.setFontMode(0); + u8g2_display.setFont(FONT_SYMB_BIG); + u8g2centerText(loaderAnim[animPos], 80, 10, 32, 32); // "\u00BB\u00AB" // // dice: "\u2685" + + // labels formatting + u8g2_display.setFontMode(1); + u8g2_display.setFont(FONT_BIG); + u8g2_display.setCursor(0, 0); + + u8g2_display.setForegroundColor(WHITE); + u8g2_display.setBackgroundColor(BLACK); + + const char *displaymode = ""; + if (sysSettings.newmode != sysSettings.omxMode && encoderConfig.enc_edit) + { + displaymode = modes[sysSettings.newmode]; // display.print(modes[sysSettings.newmode]); + } + else if (encoderConfig.enc_edit) + { + displaymode = modes[sysSettings.omxMode]; // display.print(modes[mode]); + } + u8g2centerText(displaymode, 2, 20, 75, 32); + } +} + +void OmxDisp::setDirty() +{ + dirtyDisplay = true; +} + +void OmxDisp::UpdateMessageTextTimer() +{ + if (messageTextTimer > 0) + { + messageTextTimer -= sysSettings.timeElasped; + if (messageTextTimer <= 0) + { + setDirty(); + messageTextTimer = 0; + } + } +} + +void OmxDisp::showDisplay() +{ + if (dirtyDisplay) + { + if (dirtyDisplayTimer > displayRefreshRate) + { + display.display(); + dirtyDisplay = false; + dirtyDisplayTimer = 0; + } + } +} + +void OmxDisp::bumpDisplayTimer() +{ + dirtyDisplayTimer = displayRefreshRate + 1; +} + +void OmxDisp::drawEuclidPattern(bool singleView, bool *pattern, uint8_t steps, uint8_t yPos, bool selected, bool isPlaying, uint8_t seqPos) +{ + if (isMessageActive()) + { + renderMessage(); + return; + } + + const bool selectAsLine = false; + + int16_t startSpacing = singleView ? 0 : 6; + int16_t patWidth = gridw - startSpacing; + + if (selected) + { + if (selectAsLine) + { + display.drawLine(0, yPos, gridw, yPos, WHITE); + patWidth = gridw; + startSpacing = 0; + } + else + { + display.fillRect(0, yPos - 3, 3, 3, WHITE); + display.drawPixel(1, yPos - 2, BLACK); + } + } + + if (steps == 0) + { + return; + } + + int16_t steponHeight = singleView ? 8 : 5; + // int16_t steponWidth = 2; + int16_t stepoffHeight = 2; + // int16_t stepoffWidth = 2; + // int16_t halfh = gridh / 2; + // int16_t halfw = gridw / 2; + + float stepint = (float)patWidth / (float)steps; + + for (int i = 0; i < steps; i++) + { + int16_t xPos = startSpacing + (stepint * i); + // int16_t yPos = halfh; + + uint8_t w = 2; + if (isPlaying && i == seqPos) + { + w = 4; + xPos -= 1; + } + + if (pattern[i]) + { + display.fillRect(xPos, yPos - steponHeight, w, steponHeight, WHITE); + } + else + { + display.fillRect(xPos, yPos - stepoffHeight, w, stepoffHeight, WHITE); + } + + // if(i == seqPos) + // { + // display.fillRect(xPos, yPos, stepoffWidth, stepoffWidth, WHITE); + + // // display.drawPixel(xPos, yPos, WHITE); + // } + } + + // if (isPlaying) + // { + // uint8_t seqPos + // int16_t xPos = (gridw - startSpacing) * playheadPerc + startSpacing; + + // display.drawPixel(xPos, yPos, WHITE); + // } + + // omxDisp.setDirty(); +} + +OmxDisp omxDisp; diff --git a/Archive/OMX-27-firmware/src/hardware/omx_disp.h b/Archive/OMX-27-firmware/src/hardware/omx_disp.h new file mode 100644 index 00000000..1970d9ec --- /dev/null +++ b/Archive/OMX-27-firmware/src/hardware/omx_disp.h @@ -0,0 +1,128 @@ +#pragma once +#include "../config.h" + +// MESSAGE DISPLAY +const int MESSAGE_TIMEOUT_US = 500000; + +class OmxDisp +{ +public: + // Should make into function + + const char *legends[4] = {"", "", "", ""}; + int legendVals[4] = {0, 0, 0, 0}; + int dispPage = 0; + const char *legendText[4] = {"", "", "", ""}; + bool useLegendString[4] = {false, false, false, false}; + String legendString[4] = {"12345", "12345", "12345", "12345"}; + + OmxDisp(); + void setup(); + void clearDisplay(); + void drawStartupScreen(); + void displayMessage(String msg); + void displayMessage(const char *msg); + void displayMessagef(const char *fmt, ...); + void displayMessageTimed(String msg, uint8_t secs); + void displaySpecialMessage(uint8_t msgType, String msg, uint8_t secs); + + bool isMessageActive(); + + void dispGridBoxes(); + void invertColor(bool flip); + void dispValBox(int v, int16_t n, bool inv); + void dispSymbBox(const char *v, int16_t n, bool inv); + void dispGenericMode(int selected); + + void dispGenericMode2(uint8_t numPages, int8_t selectedPage, int8_t selectedParam, bool encSelActive); + + // Displays a label and page numbers + void dispGenericModeLabel(const char *label, uint8_t numPages, int8_t selectedPage); + void dispGenericModeLabelDoubleLine(const char *label1, const char *label2, uint8_t numPages, int8_t selectedPage); + void dispGenericModeLabelSmallText(const char *label, uint8_t numPages, int8_t selectedPage); + + // Displays a header and options below + // Good for something like a yes/no box + void dispOptionCombo(const char * header, const char *options[], uint8_t optionCount, uint8_t selected, bool encSelActive); + + void dispChar16(const char *charArray[], uint8_t charCount, uint8_t selected, uint8_t numPages, int8_t selectedPage, bool encSelActive, bool showLabels, const char *labels[], uint8_t labelCount); + + // Renders values as bars + void dispValues16(int8_t valueArray[], uint8_t valueCount, int8_t minValue, int8_t maxValue, bool centered, uint8_t selected, uint8_t numPages, int8_t selectedPage, bool encSelActive, bool showLabels, const char *labels[], uint8_t labelCount); + + void dispParamBar(int8_t potValue, int8_t targetValue, int8_t minValue, int8_t maxValue, bool pickedUp, bool centered, const char* bankName, const char* paramName); + + // Displays slots for midifx or something else in future + void dispSlots(const char *slotNames[], uint8_t slotCount, uint8_t selected, uint8_t animPos, bool encSelActive, bool showLabels, const char *labels[], uint8_t labelCount); + + // Displays multiple slots up to slotCount all centered + void dispCenteredSlots(const char *slotNames[], uint8_t slotCount, uint8_t selected, bool encoderSelect, bool showLabels, bool centerLabels, const char *labels[], uint8_t labelCount); + + // noteNumbers should be array of 6 + void dispKeyboard(int rootNote, int noteNumbers[], bool showLabels, const char *labels[], uint8_t labelCount); + + void dispChordBasicPage(uint8_t selected, bool encoderSelect, const char *noteName, const char *octaveName, const char *chordType, int8_t balArray[], float velArray[]); + void chordBalanceMsg(int8_t balArray[], float velArray[], uint8_t secs); + + void dispLabelParams(int8_t selected, bool encSelActive, const char *labels[], uint8_t labelCount, bool centered); + + void dispPageIndicators(int page, bool selected); + void dispPageIndicators2(uint8_t numPages, int8_t selected); + void dispMode(); + + void testdrawrect(); + void drawLoading(); + + void setDirty(); + bool isDirty() { return dirtyDisplay; } + + void showDisplay(); + + void bumpDisplayTimer(); + + void clearLegends(); + void setLegend(uint8_t index, const char* label, int value); + void setLegend(uint8_t index, const char* label, bool isOff, int value); + void setLegend(uint8_t index, const char* label, const char* text); + void setLegend(uint8_t index, const char* label, bool isOff, const char* text); + void setLegend(uint8_t index, const char* label, String text); + void setLegend(uint8_t index, const char* label, bool isOff, String text); + void setLegend(uint8_t index, const char* label, bool value); + + + void setSubmode(int submode); + + void UpdateMessageTextTimer(); + + void drawEuclidPattern(bool singleView, bool *pattern, uint8_t steps, uint8_t yPos, bool selected, bool isPlaying, uint8_t seqPos); + +private: + int hline = 8; + int messageTextTimer = 0; + bool dirtyDisplay = false; + + uint8_t animPos = 0; + int animTimer = 0; + + String currentMsg; + uint8_t specialMsgType_ = 0; + + int8_t chordBalArray_[4]; + float chordVelArray_[4]; + + elapsedMillis dirtyDisplayTimer = 0; + unsigned long displayRefreshRate = 60; + + void dispParamLabel(uint8_t x, uint8_t y, uint8_t width, uint8_t height, bool selected, uint8_t selectionType, bool encSelActive, bool showLabel, const char *label, const uint8_t *font, int8_t labelYOffset, bool centered); + + void u8g2centerText(const char *s, int16_t x, int16_t y, uint16_t w, uint16_t h); + void u8g2leftText(const char *s, int16_t x, int16_t y, uint16_t w, uint16_t h); + void u8g2centerNumber(int n, uint16_t x, uint16_t y, uint16_t w, uint16_t h); + void renderMessage(); + + void dispChordBalance(); + + bool validateLegendIndex(uint8_t index); +}; + +extern OmxDisp omxDisp; diff --git a/Archive/OMX-27-firmware/src/hardware/omx_keypad.cpp b/Archive/OMX-27-firmware/src/hardware/omx_keypad.cpp new file mode 100644 index 00000000..868c3711 --- /dev/null +++ b/Archive/OMX-27-firmware/src/hardware/omx_keypad.cpp @@ -0,0 +1,131 @@ +#include "omx_keypad.h" + +/**************************************************************************/ +/*! + @brief default constructor + @param holdThreshold time a button must be held to trigger the "held" state + @param clickWindow time for registering multiple clicks, resets on each click + @param userKeymap a multidimensional array of key characters + @param row an array of GPIO pins that are connected to each row of the +keypad + @param col an array of GPIO pins that are connected to each column of the +keypad + @param numRows the number of rows on the keypad + @param numCols the number of columns on the keypad +*/ +/**************************************************************************/ +OMXKeypad::OMXKeypad(uint32_t holdThreshold, uint32_t clickWindow, byte *userKeymap, byte *row, byte *col, int numRows, int numCols) : numRows(numRows), + numCols(numCols), + holdThreshold(holdThreshold), + clickWindow(clickWindow), + keypad(userKeymap, row, col, numRows, numCols), + keys(numRows * numCols) +{ +} + +void OMXKeypad::tick() +{ + keypad.tick(); + + uint32_t now = millis(); + while (keypad.available()) + { + keypadEvent e = keypad.read(); + // the key isn't an index. + uint8_t index = (e.bit.ROW * numCols) + e.bit.COL; + keystate *key = &(keys[index]); + + switch (e.bit.EVENT) + { + case KEY_JUST_PRESSED: + // first press. + if (key->lastClickedAt == 0) + { + key->key = e.bit.KEY; + key->index = index; + key->held = false; + if (key->releasedAt < now - clickWindow) + { + key->clicks = 0; + } + active.push_back(key); + } + + key->lastClickedAt = now; + key->down = true; + key->held = false; + key->quickClicked = false; + // "press" is always available + _available.push_back(key); // this is what triggers the key to show up with a state change + break; + case KEY_JUST_RELEASED: + key->down = false; + key->clicks++; + key->releasedAt = now; + + if (key->held) + { + // hold release event. + key->held = false; + } + key->quickClicked = (now - key->lastClickedAt) <= clickWindow; + _available.push_back(key); // on key release, this is the only event added. + break; + default: + // unknown event + break; + }; + } + + // exit early if there are no active keys to update. + if (active.size() == 0) + return; + + // Check if any active keys are ready to become available. + uint32_t click_window_close = now - clickWindow; + uint32_t held = now - holdThreshold; + auto it = active.begin(); + while (it != active.end()) + { + auto key = *it; + if (key->down && key->lastClickedAt < held) + { + key->held = true; + _available.push_back(key); + active.erase(it); + } + else if (!key->down && key->lastClickedAt < click_window_close) + { + // _available.push_back(key); + active.erase(it); + // } else if (!key->down && key->lastClickedAt < now) { + // active.erase(it); + } + else + { + // it is not ready to become active, move to next. + it++; + } + } +} + +OMXKeypadEvent OMXKeypad::next() +{ + if (!available()) + { + return OMXKeypadEvent{0, 0, false, false, false}; + } + + auto key = _available.back(); + _available.pop_back(); + + // Simple press event. + if (key->down && !key->held) + { + return OMXKeypadEvent{key->key, key->clicks, false, true, false}; + } + + // Click or hold event + key->lastClickedAt = 0; + return OMXKeypadEvent{key->key, key->clicks, key->held, key->down, key->quickClicked}; +} diff --git a/Archive/OMX-27-firmware/src/hardware/omx_keypad.h b/Archive/OMX-27-firmware/src/hardware/omx_keypad.h new file mode 100644 index 00000000..4da7f573 --- /dev/null +++ b/Archive/OMX-27-firmware/src/hardware/omx_keypad.h @@ -0,0 +1,76 @@ +#pragma once + +#include +#include +#include + +#define MAX_CONCURRENT_KEYS 10 + +// Forward declare +struct OMXKeypadEvent; + +/** + * Keep track of button states. + */ +class OMXKeypad +{ +private: + // This could be optimized to use less space. + struct keystate + { + // constructor for vector initializer + keystate() : lastClickedAt(0){}; + + uint8_t index; + uint8_t key; + bool held; + bool down; + bool quickClicked; + uint8_t clicks = 0; + uint32_t lastClickedAt; + uint32_t releasedAt; + }; + + int numRows; + int numCols; + uint32_t holdThreshold; + uint32_t clickWindow; + Adafruit_Keypad keypad; + std::vector keys; + std::vector active; + std::vector _available; + +public: + OMXKeypad(uint32_t holdThreshold, uint32_t clickWindow, byte *userKeymap, + byte *row, byte *col, int numRows, int numCols); + inline void begin() { keypad.begin(); } + void tick(); + + inline bool available() { return _available.size() > 0; } + OMXKeypadEvent next(); +}; + +struct OMXKeypadEvent +{ + OMXKeypadEvent(uint8_t key, uint8_t clicks, bool held, bool down, bool quickClicked) : _key(key), + _clicks(clicks), + _held(held), + _down(down), + _quickClicked(quickClicked) + { + } + +private: + uint8_t _key; + uint8_t _clicks; + bool _held; + bool _down; + bool _quickClicked; + +public: + inline uint8_t key() { return _key; } + inline bool down() { return _down; } + inline bool held() { return _held; } + inline bool quickClicked() { return _quickClicked; } + inline uint8_t clicks() { return _clicks; } +}; diff --git a/Archive/OMX-27-firmware/src/hardware/omx_leds.cpp b/Archive/OMX-27-firmware/src/hardware/omx_leds.cpp new file mode 100644 index 00000000..35b9ff6c --- /dev/null +++ b/Archive/OMX-27-firmware/src/hardware/omx_leds.cpp @@ -0,0 +1,405 @@ +#include "omx_leds.h" +#include "../consts/consts.h" +#include "../consts/colors.h" + +Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); + +// OmxLeds::OmxLeds(){ +// Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); +// } + +void OmxLeds::initSetup() +{ + strip.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) + strip.show(); // Turn OFF all pixels ASAP + strip.setBrightness(LED_BRIGHTNESS); // Set BRIGHTNESS to about 1/5 (max = 255) + for (int i = 0; i < LED_COUNT; i++) + { // For each pixel... + strip.setPixelColor(i, HALFWHITE); + strip.show(); // Send the updated pixel colors to the hardware. + delay(5); // Pause before next pass through loop + } + rainbow(5); // rainbow startup pattern + delay(500); + + // clear LEDs + strip.fill(0, 0, LED_COUNT); + strip.show(); + + delay(100); +} + +void OmxLeds::updateBlinkStates() +{ + blinkInterval = clockConfig.step_delay * 2; + unsigned long slowBlinkInterval = blinkInterval * 2; + + if (blink_msec >= blinkInterval) + { + blinkState = !blinkState; + blink_msec = 0; + + for (uint8_t i = 0; i < 10; i++) + { + uint8_t patMax = ((i + 1) * 2) + blinkPatternDelay_; + blinkPatPos[i] = (blinkPatPos[i] + 1) % patMax; + } + + setDirty(); + } + if (slow_blink_msec >= slowBlinkInterval) + { + slowBlinkState = !slowBlinkState; + slow_blink_msec = 0; + setDirty(); + } +} + +int OmxLeds::getKeyColor(MusicScales *scale, int pixel) +{ + if (scale == nullptr) + return LEDOFF; + + if (scaleConfig.scalePattern == -1) + { + return LEDOFF; + } + else + { + // if(sysSettings.omxMode == MODE_MIDI && AUX_HELD) { + // if(pixel == 1 || pixel == 2 || pixel == 3 || pixel == 4 || pixel == 11 || pixel == 12) { + // return LEDOFF; + // } + // } + + if (scaleConfig.group16) + { + return scale->getGroup16Color(pixel); + } + else + { + int noteInOct = notes[pixel] % 12; + return scale->getScaleColor(noteInOct); + } + } +} + +void OmxLeds::drawMidiLeds(MusicScales *scale) +{ + // updateBlinkStates(); + // blinkInterval = clockConfig.step_delay*2; + + // if (blink_msec >= blinkInterval){ + // blinkState = !blinkState; + // blink_msec = 0; + // } + + if (midiSettings.midiAUX) + { + // Blink left/right keys for octave select indicators. + auto color1 = blinkState ? LIME : LEDOFF; + auto color2 = blinkState ? MAGENTA : LEDOFF; + auto color3 = blinkState ? ORANGE : LEDOFF; + auto color4 = blinkState ? RBLUE : LEDOFF; + + for (int q = 1; q < LED_COUNT; q++) + { + if (midiSettings.midiKeyState[q] == -1) + { + if (colorConfig.midiBg_Hue == 0) + { + strip.setPixelColor(q, LEDOFF); + } + else if (colorConfig.midiBg_Hue == 32) + { + strip.setPixelColor(q, LOWWHITE); + } + else + { + strip.setPixelColor(q, strip.ColorHSV(colorConfig.midiBg_Hue, colorConfig.midiBg_Sat, colorConfig.midiBg_Brightness)); + } + } + } + strip.setPixelColor(0, RED); + strip.setPixelColor(1, color1); + strip.setPixelColor(2, color2); + strip.setPixelColor(11, color3); + strip.setPixelColor(12, color4); + + strip.setPixelColor(10, color3); // MidiFX key + + // Macros + } + else + { + // AUX key + strip.setPixelColor(0, LEDOFF); + + // Other keys + if (!sysSettings.screenSaverMode) + { + // clear not held leds + for (int q = 1; q < LED_COUNT; q++) + { + if (midiSettings.midiKeyState[q] == -1) + { + if (colorConfig.midiBg_Hue == 0) + { + strip.setPixelColor(q, getKeyColor(scale, q)); // set off or in scale + } + else if (colorConfig.midiBg_Hue == 32) + { + strip.setPixelColor(q, LOWWHITE); + } + else + { + strip.setPixelColor(q, strip.ColorHSV(colorConfig.midiBg_Hue, colorConfig.midiBg_Sat, colorConfig.midiBg_Brightness)); + } + } + } + } + } + dirtyPixels = true; +} + +bool OmxLeds::getBlinkState() +{ + return blinkState; +} +bool OmxLeds::getSlowBlinkState() +{ + return slowBlinkState; +} + +bool OmxLeds::getBlinkPattern(uint8_t numberOfBlinks) +{ + if (numberOfBlinks < 1 || numberOfBlinks > 10) + return false; + + // Serial.println("blinkPatPos: " + String(blinkPatPos[numberOfBlinks - 1])); + + if (blinkPatPos[numberOfBlinks - 1] >= (numberOfBlinks * 2)) + { + // 4 = x0x0x0x00000 + // Serial.println("blinkPatPos delayed"); + return false; // the delay + } + + bool blink = (blinkPatPos[numberOfBlinks - 1] % 2 == 0); // the blink + + // if(blink) + // { + // Serial.println("Blink On"); + // } + // else + // { + // Serial.println("Blink Off"); + // } + + return blink; +} + +void OmxLeds::setAllLEDS(int R, int G, int B) +{ + for (int i = 0; i < LED_COUNT; i++) + { // For each pixel... + strip.setPixelColor(i, strip.Color(R, G, B)); + } + setDirty(); +} + +void OmxLeds::drawOctaveKeys(uint8_t octaveDownKey, uint8_t octaveUpKey, int8_t octaveVal) +{ + if (octaveVal == 0) + { + strip.setPixelColor(octaveDownKey, octDnColor); + strip.setPixelColor(octaveUpKey, octUpColor); + } + else if (octaveVal > 0) + { + bool blinkOctave = getBlinkPattern(octaveVal); + + strip.setPixelColor(octaveDownKey, octDnColor); + strip.setPixelColor(octaveUpKey, blinkOctave ? octUpColor : LEDOFF); + } + else + { + bool blinkOctave = getBlinkPattern(-octaveVal); + + strip.setPixelColor(octaveDownKey, blinkOctave ? octDnColor : LEDOFF); + strip.setPixelColor(octaveUpKey, octUpColor); + } + + setDirty(); +} + +void OmxLeds::setDirty() +{ + dirtyPixels = true; +} + +bool OmxLeds::isDirty() +{ + return dirtyPixels; +} + +void OmxLeds::showLeds() +{ + // are pixels dirty + if (dirtyPixels) + { + strip.show(); + dirtyPixels = false; + } +} + +void OmxLeds::rainbow(int wait) +{ + // Hue of first pixel runs 5 complete loops through the color wheel. + // Color wheel has a range of 65536 but it's OK if we roll over, so + // just count from 0 to 5*65536. Adding 256 to firstPixelHue each time + // means we'll make 5*65536/256 = 1280 passes through this outer loop: + for (long firstPixelHue = 0; firstPixelHue < 1 * 65536; firstPixelHue += 256) + { + for (int i = 0; i < strip.numPixels(); i++) + { // For each pixel in strip... + // Offset pixel hue by an amount to make one full revolution of the + // color wheel (range of 65536) along the length of the strip + // (strip.numPixels() steps): + int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels()); + + // strip.ColorHSV() can take 1 or 3 arguments: a hue (0 to 65535) or + // optionally add saturation and value (brightness) (each 0 to 255). + // Here we're using just the single-argument hue variant. The result + // is passed through strip.gamma32() to provide 'truer' colors + // before assigning to each pixel: + strip.setPixelColor(i, strip.gamma32(strip.ColorHSV(pixelHue))); + } + strip.show(); // Update strip with new contents + delay(wait); // Pause for a moment + } +} + +// Input a value 0 to 255 to get a color value. +// The colours are a transition r - g - b - back to r. +uint32_t OmxLeds::Wheel(byte WheelPos) +{ + WheelPos = 255 - WheelPos; + if (WheelPos < 85) + { + return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3); + } + if (WheelPos < 170) + { + WheelPos -= 85; + return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3); + } + WheelPos -= 170; + return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0); +} + +void OmxLeds::colorWipe(byte red, byte green, byte blue, int SpeedDelay) +{ + for (uint16_t i = 0; i < strip.numPixels(); i++) + { + strip.setPixelColor(i, strip.Color(red, green, blue)); + strip.show(); + delay(SpeedDelay); + } +} + +// Theatre-style crawling lights with rainbow effect +void OmxLeds::theaterChaseRainbow(uint8_t wait) +{ + for (int j = 0; j < 256; j++) + { // cycle all 256 colors in the wheel + for (int q = 0; q < 3; q++) + { + for (uint16_t i = 0; i < strip.numPixels(); i = i + 3) + { + strip.setPixelColor(i + q, Wheel((i + j) % 255)); // turn every third pixel on + } + strip.show(); + delay(wait); + for (uint16_t i = 0; i < strip.numPixels(); i = i + 3) + { + strip.setPixelColor(i + q, 0); // turn every third pixel off + } + } + } +} + +void OmxLeds::CylonBounce(byte red, byte green, byte blue, int EyeSize, int SpeedDelay, int ReturnDelay, int start, int end) +{ + for (int i = start; i < end - EyeSize - 2; i++) + { + setAllLEDS(0, 0, 0); + strip.setPixelColor(i, strip.Color(red / 10, green / 10, blue / 10)); + for (int j = 1; j <= EyeSize; j++) + { + strip.setPixelColor(i + j, strip.Color(red, green, blue)); + } + strip.setPixelColor(i + EyeSize + 1, strip.Color(red / 10, green / 10, blue / 10)); + strip.show(); + delay(SpeedDelay); + } + delay(ReturnDelay); + for (int i = end - EyeSize - 2; i > start; i--) + { + setAllLEDS(0, 0, 0); + strip.setPixelColor(i, strip.Color(red / 10, green / 10, blue / 10)); + for (int j = 1; j <= EyeSize; j++) + { + strip.setPixelColor(i + j, strip.Color(red, green, blue)); + } + strip.setPixelColor(i + EyeSize + 1, strip.Color(red / 10, green / 10, blue / 10)); + strip.show(); + delay(SpeedDelay); + } + delay(ReturnDelay); +} + +void OmxLeds::RolandFill(byte red, byte green, byte blue, int start, int end, int SpeedDelay) +{ + for (uint16_t j = end; j > start; j--) + { + for (uint16_t i = start; i < end; i++) + { + strip.setPixelColor(i, strip.Color(red, green, blue)); + strip.show(); + if (i < j) + { + strip.setPixelColor(i, 0); + } + if (!sysSettings.screenSaverMode) + { + return; + } + } + strip.setPixelColor(j, strip.Color(red, green, blue)); + strip.show(); + } + for (uint16_t j = end; j > start - 1; j--) + { + for (uint16_t i = start; i < end + 1; i++) + { + strip.setPixelColor(i, strip.Color(red, green, blue)); + strip.show(); + if (i > j) + { + strip.setPixelColor(i, 0); + } + if (!sysSettings.screenSaverMode) + { + return; + } + } + if (j != start) + { + strip.setPixelColor(j, strip.Color(red, green, blue)); + } + strip.show(); + } +} + +OmxLeds omxLeds; diff --git a/Archive/OMX-27-firmware/src/hardware/omx_leds.h b/Archive/OMX-27-firmware/src/hardware/omx_leds.h new file mode 100644 index 00000000..f1af5ae4 --- /dev/null +++ b/Archive/OMX-27-firmware/src/hardware/omx_leds.h @@ -0,0 +1,75 @@ +#pragma once + +#include "../config.h" +#include "../utils/music_scales.h" + +#include + +// Declare NeoPixel strip object +extern Adafruit_NeoPixel strip; + +class OmxLeds +{ +public: + static const int octDnColor = ORANGE; + static const int octUpColor = RBLUE; + + // OmxLeds() : strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800){}; + + OmxLeds(){}; + + void initSetup(); + + void updateBlinkStates(); + + int getKeyColor(MusicScales *scale, int pixel); + void drawMidiLeds(MusicScales *scale); + + // clears dirty, transmits pixel data if dirty. + void showLeds(); + + bool getBlinkState(); + bool getSlowBlinkState(); + + // Blinks for numberOfBlinks then a delay + bool getBlinkPattern(uint8_t numberOfBlinks); + + // void setPixelColor(uint16_t n, uint8_t r, uint8_t g, uint8_t b); + + void setAllLEDS(int R, int G, int B); + + void drawOctaveKeys(uint8_t octaveDownKey, uint8_t octaveUpKey, int8_t octaveVal); + + void setDirty(); + bool isDirty(); + + // Rainbow cycle along whole strip. Pass delay time (in ms) between frames. + void rainbow(int wait); + + // #### COLOR FUNCTIONS + // Input a value 0 to 255 to get a color value. + // The colours are a transition r - g - b - back to r. + uint32_t Wheel(byte WheelPos); + void colorWipe(byte red, byte green, byte blue, int SpeedDelay); + // Theatre-style crawling lights with rainbow effect + void theaterChaseRainbow(uint8_t wait); + void CylonBounce(byte red, byte green, byte blue, int EyeSize, int SpeedDelay, int ReturnDelay, int start, int end); + void RolandFill(byte red, byte green, byte blue, int start, int end, int SpeedDelay); + +private: + unsigned long blinkInterval = clockConfig.clockbpm * 2; + bool blinkState = false; + bool slowBlinkState = false; + + bool dirtyPixels = false; + + elapsedMillis blink_msec = 0; + elapsedMillis slow_blink_msec = 0; + + uint8_t blinkPatPos[10]; + const uint8_t blinkPatternDelay_ = 2; + + +}; + +extern OmxLeds omxLeds; diff --git a/Archive/OMX-27-firmware/src/hardware/storage.cpp b/Archive/OMX-27-firmware/src/hardware/storage.cpp new file mode 100644 index 00000000..2f443311 --- /dev/null +++ b/Archive/OMX-27-firmware/src/hardware/storage.cpp @@ -0,0 +1,59 @@ +#include +#include +#include + +#include "storage.h" + +// Storage + +Storage *Storage::initStorage() +{ + Adafruit_FRAM_I2C fram = Adafruit_FRAM_I2C(); + // check if FRAM chip can be initialised + if (fram.begin()) + { + return new FRAMStorage(fram); + } + // fall back to EEPROM + return new EEPROMStorage(); +} + +void Storage::readArray(size_t address, uint8_t buffer[], int length) +{ + for (int i = 0; i < length; i++) + { + buffer[i] = this->read(address + i); + } +} + +void Storage::writeArray(size_t address, uint8_t buffer[], int length) +{ + for (int i = 0; i < length; i++) + { + this->write(address + i, buffer[i]); + } +} + +// EEPROM + +void EEPROMStorage::write(size_t address, uint8_t value) +{ + EEPROM.update(address, value); +} + +uint8_t EEPROMStorage::read(size_t address) +{ + return EEPROM.read(address); +} + +// FRAM + +void FRAMStorage::write(size_t address, uint8_t value) +{ + this->fram.write(address, value); +} + +uint8_t FRAMStorage::read(size_t address) +{ + return this->fram.read(address); +} diff --git a/Archive/OMX-27-firmware/src/hardware/storage.h b/Archive/OMX-27-firmware/src/hardware/storage.h new file mode 100644 index 00000000..8db2f3b2 --- /dev/null +++ b/Archive/OMX-27-firmware/src/hardware/storage.h @@ -0,0 +1,111 @@ +#pragma once + +#include + +enum StorageType +{ + EEPROM_MEMORY = 0, + FRAM_MEMORY = 1 +}; + +// abstract storage class +class Storage +{ +public: + static Storage *initStorage(); + + virtual int capacity() = 0; + + // read/write bytes + virtual void write(size_t address, uint8_t val) = 0; + virtual uint8_t read(size_t address) = 0; + virtual bool isEeprom() = 0; + + void readArray(size_t address, uint8_t buffer[], int length); + void writeArray(size_t address, uint8_t buffer[], int length); + + // reset entire storage back to 0 + void clear() + { + for (int address = 0; address < capacity(); address++) + { + write(address, 0); + } + } + + // template reader/writer implementation copied from Adafruit_FRAM_I2C which implements them both + // in terms of reading/writing bytes + + /**************************************************************************/ + /*! + @brief Write any object to memory + @param addr + The 16-bit address to write to in EEPROM memory + @param value The templated object we will be writing + @returns The number of bytes written + */ + /**************************************************************************/ + template + uint16_t writeObject(uint16_t addr, const T &value) + { + const byte *p = (const byte *)(const void *)&value; + uint16_t n; + for (n = 0; n < sizeof(value); n++) + { + write(addr++, *p++); + } + return n; + } + + /**************************************************************************/ + /*! + @brief Read any object from memory + @param addr + The 16-bit address to write to in EEPROM memory + @param value The address of the templated object we will be writing INTO + @returns The number of bytes read + */ + /**************************************************************************/ + template + uint16_t readObject(uint16_t addr, T &value) + { + byte *p = (byte *)(void *)&value; + uint16_t n; + for (n = 0; n < sizeof(value); n++) + { + *p++ = read(addr++); + } + return n; + } + +protected: + Storage() {} +}; + +class EEPROMStorage : public Storage +{ +public: + EEPROMStorage() {} + + bool isEeprom() override { return true; } + void write(size_t address, uint8_t val) override; + uint8_t read(size_t address) override; + int capacity() override { return 2048; } // 2KB +}; + +class FRAMStorage : public Storage +{ +public: + FRAMStorage(Adafruit_FRAM_I2C fram) + { + this->fram = fram; + } + + bool isEeprom() override { return false; } + void write(size_t address, uint8_t val) override; + uint8_t read(size_t address) override; + int capacity() override { return 32000; } // 32KB + +private: + Adafruit_FRAM_I2C fram; +}; diff --git a/Archive/OMX-27-firmware/src/midi/midi.cpp b/Archive/OMX-27-firmware/src/midi/midi.cpp new file mode 100644 index 00000000..841dd483 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midi/midi.cpp @@ -0,0 +1,99 @@ +#include "./midi.h" +#include + +namespace +{ + using SerialMIDI = midi::SerialMIDI; + using MidiInterface = midi::MidiInterface; + + SerialMIDI theSerialInstance(Serial1); + MidiInterface HWMIDI(theSerialInstance); +} + +namespace MM +{ + void begin() + { + HWMIDI.begin(); + } + + void sendNoteOn(int note, int velocity, int channel) + { + usbMIDI.sendNoteOn(note, velocity, channel); + HWMIDI.sendNoteOn(note, velocity, channel); + } + + void sendNoteOnHW(int note, int velocity, int channel) + { + HWMIDI.sendNoteOn(note, velocity, channel); + } + + void sendNoteOff(int note, int velocity, int channel) + { + usbMIDI.sendNoteOff(note, velocity, channel); + HWMIDI.sendNoteOff(note, velocity, channel); + } + + void sendNoteOffHW(int note, int velocity, int channel) + { + HWMIDI.sendNoteOff(note, velocity, channel); + } + + void sendControlChange(int control, int value, int channel) + { + usbMIDI.sendControlChange(control, value, channel); + HWMIDI.sendControlChange(control, value, channel); + } + + void sendControlChangeHW(int control, int value, int channel) + { + HWMIDI.sendControlChange(control, value, channel); + } + + void sendProgramChange(int program, int channel) + { + usbMIDI.sendProgramChange(program, channel); + HWMIDI.sendProgramChange(program, channel); + } + + void sendSysEx(uint32_t length, const uint8_t *sysexData, bool hasBeginEnd) + { + usbMIDI.sendSysEx(length, sysexData, hasBeginEnd); + } + + void sendClock() + { + usbMIDI.sendRealTime(usbMIDI.Clock); + HWMIDI.sendClock(); + } + + void startClock() + { + usbMIDI.sendRealTime(usbMIDI.Start); + HWMIDI.sendStart(); + } + + void continueClock() + { + usbMIDI.sendRealTime(usbMIDI.Continue); + HWMIDI.sendContinue(); + } + + void stopClock() + { + usbMIDI.sendRealTime(usbMIDI.Stop); + HWMIDI.sendStop(); + } + + // NEED SOMETHING FOR usbMIDI.read() / MIDI.read() + + bool usbMidiRead() + { + return usbMIDI.read(); + } + + bool midiRead() + { + return HWMIDI.read(); + } +} diff --git a/Archive/OMX-27-firmware/src/midi/midi.h b/Archive/OMX-27-firmware/src/midi/midi.h new file mode 100644 index 00000000..12cc9f0a --- /dev/null +++ b/Archive/OMX-27-firmware/src/midi/midi.h @@ -0,0 +1,26 @@ +#pragma once + +#include + +namespace MM +{ + + void begin(); + + void sendNoteOn(int note, int velocity, int channel); + void sendNoteOff(int note, int velocity, int channel); + void sendControlChange(int control, int value, int channel); + void sendProgramChange(int program, int channel); + void sendNoteOnHW(int note, int velocity, int channel); + void sendNoteOffHW(int note, int velocity, int channel); + void sendControlChangeHW(int control, int value, int channel); + void sendSysEx(uint32_t length, const uint8_t *sysexData, bool hasBeginEnd); + + void sendClock(); + void startClock(); + void continueClock(); + void stopClock(); + + bool usbMidiRead(); + bool midiRead(); +} diff --git a/Archive/OMX-27-firmware/src/midi/noteoffs.cpp b/Archive/OMX-27-firmware/src/midi/noteoffs.cpp new file mode 100644 index 00000000..a503d226 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midi/noteoffs.cpp @@ -0,0 +1,279 @@ +#include "noteoffs.h" + +#include +#include "../consts/consts.h" +#include "../config.h" +#include "../midi/midi.h" +#include "../utils/cvNote_util.h" + +PendingNoteHistory::PendingNoteHistory() +{ + clear(); +} + +void PendingNoteHistory::clear() +{ + for (int i = 0; i < queueSize; ++i) + { + queue[i].inUse = false; + } + prevTime = micros(); +} + +void PendingNoteHistory::clearIfChanged(uint32_t time) +{ + if (time != prevTime) + { + clear(); + } +} + +bool PendingNoteHistory::insert(int note, int channel) +{ + for (int i = 0; i < queueSize; ++i) + { + if (queue[i].inUse) + continue; + queue[i].inUse = true; + queue[i].note = note; + queue[i].channel = channel; + return true; + } + return false; // couldn't find room! +} + +bool PendingNoteHistory::eventThisFrame(int note, int channel) +{ + for (int i = 0; i < queueSize; ++i) + { + if (queue[i].inUse) + { + if (queue[i].note == note && queue[i].channel == channel) + return true; + } + } + return false; // couldn't find room! +} + +PendingNoteHistory pendingNoteHistory; + +PendingNoteOffs::PendingNoteOffs() +{ + for (int i = 0; i < queueSize; ++i) + queue[i].inUse = false; +} + +bool PendingNoteOffs::insert(int note, int channel, uint32_t time, bool sendCV) +{ + for (int i = 0; i < queueSize; ++i) + { + if (queue[i].inUse) + continue; + queue[i].inUse = true; + queue[i].note = note; + queue[i].time = time; + queue[i].channel = channel; + queue[i].sendCV = sendCV; + return true; + } + return false; // couldn't find room! +} + +void PendingNoteOffs::play(uint32_t now) +{ + for (int i = 0; i < queueSize; ++i) + { + if (queue[i].inUse && queue[i].time <= now) + { + MM::sendNoteOff(queue[i].note, 0, queue[i].channel); + // analogWrite(CVPITCH_PIN, 0); + if (queue[i].sendCV) + { + cvNoteUtil.cvNoteOff(queue[i].note); + } + queue[i].inUse = false; + + onNoteOff(queue[i].note, queue[i].channel); + + // if (pendingNoteHistory.eventThisFrame(queue[i].note, queue[i].channel) == false) + // { + // pendingNoteHistory.insert(queue[i].note, queue[i].channel); + + // MM::sendNoteOff(queue[i].note, 0, queue[i].channel); + // // analogWrite(CVPITCH_PIN, 0); + // if (queue[i].sendCV) + // { + // digitalWrite(CVGATE_PIN, LOW); + // } + // queue[i].inUse = false; + + // onNoteOff(queue[i].note, queue[i].channel); + // } + // else + // { + // // queue[i].time += 200; + // } + } + } +} + +bool PendingNoteOffs::sendOffIfPresent(int note, int channel, bool sendCV) +{ + bool noteOffSent = false; + + // Find notes in queue matching note number and channel + for (int i = 0; i < queueSize; ++i) + { + if (queue[i].inUse && queue[i].channel == channel && queue[i].note == note) + { + // Send note off event for first note found + // Other pending note offs just get set to not in use. + if (!noteOffSent) + { + pendingNoteHistory.insert(queue[i].note, queue[i].channel); + MM::sendNoteOff(queue[i].note, 0, queue[i].channel); + // analogWrite(CVPITCH_PIN, 0); + if (queue[i].sendCV) + { + cvNoteUtil.cvNoteOff(queue[i].note); + } + noteOffSent = true; + onNoteOff(queue[i].note, queue[i].channel); + } + queue[i].inUse = false; + } + } + + return noteOffSent; +} + +void PendingNoteOffs::sendOffNow(int note, int channel, bool sendCV) +{ + bool noteOffSent = sendOffIfPresent(note, channel, sendCV); + + if (!noteOffSent) + { + pendingNoteHistory.insert(note, channel); + MM::sendNoteOff(note, 0, channel); + if (sendCV) + { + cvNoteUtil.cvNoteOff(note); + } + onNoteOff(note, channel); + } +} + +void PendingNoteOffs::allOff() +{ + play(UINT32_MAX); +} + +void PendingNoteOffs::setNoteOffFunction(void (*fptr)(void *, int note, int channel), void *context) +{ + setNoteOffFuncPtrContext = context; + setNoteOffFuncPtr = fptr; +} + +void PendingNoteOffs::onNoteOff(int note, int channel) +{ + // Serial.println("PendingNoteOffs::onNoteOff " + String(note) + " " + String(channel)); + if (setNoteOffFuncPtrContext != nullptr) + { + // Serial.println("PendingNoteOffs::onNoteOff sending to pointer"); + setNoteOffFuncPtr(setNoteOffFuncPtrContext, note, channel); + } + // else{ + // Serial.println("PendingNoteOffs::onNoteOff pointer not found"); + // } +} + +PendingNoteOffs pendingNoteOffs; + +/// + +PendingNoteOns::PendingNoteOns() +{ + for (int i = 0; i < queueSize; ++i) + queue[i].inUse = false; +} + +bool PendingNoteOns::insert(int note, int velocity, int channel, uint32_t time, bool sendCV) +{ + + // pendingNoteOffs.sendOffIfPresent(note, channel, sendCV); + + for (int i = 0; i < queueSize; ++i) + { + if (queue[i].inUse) + continue; + queue[i].inUse = true; + queue[i].note = note; + queue[i].time = time; + queue[i].channel = channel; + queue[i].velocity = velocity; + queue[i].sendCV = sendCV; + return true; + } + return false; // couldn't find room! +} + +bool PendingNoteOns::remove(int note, int channel) +{ + bool foundNoteToRemove = false; + + // Find notes in queue matching note number and channel + for (int i = 0; i < queueSize; ++i) + { + if (queue[i].inUse && queue[i].channel == channel && queue[i].note == note) + { + queue[i].inUse = false; + foundNoteToRemove = true; + } + } + + return foundNoteToRemove; +} + +void PendingNoteOns::play(uint32_t now) +{ + // int pCV; + for (int i = 0; i < queueSize; ++i) + { + if (queue[i].inUse && queue[i].time <= now) + { + midiSettings.midiLastNote = queue[i].note; + midiSettings.midiLastVel = queue[i].velocity; + + MM::sendNoteOn(queue[i].note, queue[i].velocity, queue[i].channel); + + if (queue[i].sendCV) + { + cvNoteUtil.cvNoteOn(queue[i].note); + } + queue[i].inUse = false; + + // if (pendingNoteHistory.eventThisFrame(queue[i].note, queue[i].channel) == false) + // { + // pendingNoteHistory.insert(queue[i].note, queue[i].channel); + // MM::sendNoteOn(queue[i].note, queue[i].velocity, queue[i].channel); + + // if (queue[i].sendCV) + // { + // if (queue[i].note >= cvLowestNote && queue[i].note < cvHightestNote) + // { + // pCV = static_cast(roundf((queue[i].note - cvLowestNote) * stepsPerSemitone)); + // digitalWrite(CVGATE_PIN, HIGH); + // analogWrite(CVPITCH_PIN, pCV); + // } + // } + // queue[i].inUse = false; + // } + // else + // { + // // queue[i].time += 200; + // } + } + } +} + +PendingNoteOns pendingNoteOns; diff --git a/Archive/OMX-27-firmware/src/midi/noteoffs.h b/Archive/OMX-27-firmware/src/midi/noteoffs.h new file mode 100644 index 00000000..9acc1629 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midi/noteoffs.h @@ -0,0 +1,90 @@ +#pragma once + +#include + +class PendingNoteHistory +{ +public: + PendingNoteHistory(); + void clear(); + void clearIfChanged(uint32_t time); + bool insert(int note, int channel); + bool eventThisFrame(int note, int channel); + +private: + struct Entry + { + bool inUse = false; + int note : 7; + int channel : 5; + }; + static const int queueSize = 32; + Entry queue[queueSize]; + + uint32_t prevTime; +}; + +extern PendingNoteHistory pendingNoteHistory; + +class PendingNoteOffs +{ +public: + PendingNoteOffs(); + bool insert(int note, int channel, uint32_t time, bool sendCV); + void play(uint32_t time); + + // Finds any pending note offs for this note and kills them + // so they won't later fire + // then sends the note off event now + bool sendOffIfPresent(int note, int channel, bool sendCV); + void sendOffNow(int note, int channel, bool sendCV); + void allOff(); + + void setNoteOffFunction(void (*fptr)(void *, int note, int channel), void *context); + +private: + struct Entry + { + bool inUse; + int note; + int channel; + bool sendCV; + uint32_t time; + }; + static const int queueSize = 32; + Entry queue[queueSize]; + + void onNoteOff(int note, int channel); + + // Pointer to external function that notes are sent out of fxgroup to + void *setNoteOffFuncPtrContext = nullptr; + void (*setNoteOffFuncPtr)(void *, int note, int channel); +}; + +extern PendingNoteOffs pendingNoteOffs; + +class PendingNoteOns +{ +public: + PendingNoteOns(); + bool insert(int note, int velocity, int channel, uint32_t time, bool sendCV); + + // Remove any notes matching description + bool remove(int note, int channel); + void play(uint32_t time); + +private: + struct Entry + { + bool inUse; + int note; + int channel; + int velocity; + bool sendCV; + uint32_t time; + }; + static const int queueSize = 32; + Entry queue[queueSize]; +}; + +extern PendingNoteOns pendingNoteOns; diff --git a/Archive/OMX-27-firmware/src/midi/sysex.cpp b/Archive/OMX-27-firmware/src/midi/sysex.cpp new file mode 100644 index 00000000..4431eb32 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midi/sysex.cpp @@ -0,0 +1,146 @@ +#include "../midi/sysex.h" +#include "../midi/midi.h" +#include "../config.h" + +const uint8_t INFO = 0x1F; +const uint8_t CONFIG_EDIT = 0x0E; +const uint8_t CONFIG_DEVICE_EDIT = 0x0D; + +void SysEx::processIncomingSysex(const uint8_t *sysexData, unsigned size) +{ + if (size < 3) + { + // Serial.println("That's an empty sysex"); + return; + } + // F0 7D 00 00 + if (!(sysexData[1] == 0x7d && sysexData[2] == 0x00 && sysexData[3] == 0x00)) + { + // Serial.println("Not a valid sysex message for us"); + return; + } + + switch (sysexData[4]) + { + case INFO: + // 1F = "1nFo" - please send me your current config + // Serial.println("Got an 1nFo request"); + this->sendCurrentState(); + break; + case CONFIG_EDIT: + // 0E - c0nfig Edit - here is a new config + // Serial.println("Got an c0nfig Edit"); + this->updateAllSettingsAndStore(sysexData, size); + break; + case CONFIG_DEVICE_EDIT: + // 0D - c0nfig Device edit - new config just for device opts + // Serial.println("Got an c0nfig Device Edit"); + this->updateDeviceSettingsAndStore(sysexData, size); + break; + default: + break; + // case 0x0a: + // // 0a - change config, don't store + // this->updateDeviceSettings(sysexData, size); + // break; + // case 0x0c: + // // 0C - c0nfig usb edit - here is a new config just for usb + // updateUSBSettingsAndStore(sysexData, size); + // break; + // case 0x0b: + // // 0B - c0nfig trs edit - here is a new config just for trs + // updateTRSSettingsAndStore(sysexData, size); + // break; + } +} + +void SysEx::updateAllSettingsAndStore(const uint8_t *newConfig, unsigned size) +{ + this->updateSettingsBlockAndStore(newConfig, size, 9, 80, 0); +} + +void SysEx::updateDeviceSettingsAndStore(const uint8_t *newConfig, unsigned size) +{ + this->updateSettingsBlockAndStore(newConfig, size, 5, 32, 0); +} + +void SysEx::updateDeviceSettings(const uint8_t *newConfig, unsigned size) +{ + // think about this option +} + +void SysEx::updateSettingsBlockAndStore(const uint8_t *configFromSysex, unsigned sysexSize, int configStartIndex, int configDataLength, int EEPROMStartIndex) +{ + // walk the config, ignoring the top, tail, and firmware version + uint8_t dataToWrite[configDataLength]; + + for (int i = 0; i < (configDataLength); i++) + { + int configIndex = i + configStartIndex; + dataToWrite[i] = configFromSysex[configIndex]; + } + + // write new Data + this->storage->writeArray(EEPROMStartIndex, dataToWrite, configDataLength); + this->loadGlobals(); +} + +void SysEx::loadGlobals(void) +{ + // uint8_t version = this->storage->read(EEPROM_HEADER_ADDRESS + 0); + this->settings->omxMode = (OMXMode)this->storage->read(EEPROM_HEADER_ADDRESS + 1); + this->settings->playingPattern = this->storage->read(EEPROM_HEADER_ADDRESS + 2); + uint8_t unMidiChannel = this->storage->read(EEPROM_HEADER_ADDRESS + 3); + this->settings->midiChannel = unMidiChannel + 1; + for (int b = 0; b < NUM_CC_BANKS; b++) + { + for (int i = 0; i < NUM_CC_POTS; i++) + { + pots[b][i] = this->storage->read(EEPROM_HEADER_ADDRESS + 4 + i + (5 * b)); + } + } + this->settings->refresh = true; +} + +void SysEx::sendCurrentState() +{ + // 0F - "c0nFig" - outputs its config: + uint8_t sysexData[EEPROM_HEADER_SIZE + 8]; + + sysexData[0] = 0x7d; // manufacturer + sysexData[1] = 0x00; + sysexData[2] = 0x00; + + sysexData[3] = 0x0F; // ConFig; + + sysexData[4] = DEVICE_ID; // Device 01, ie, dev board + sysexData[5] = MAJOR_VERSION; // major version + sysexData[6] = MINOR_VERSION; // minor version + sysexData[7] = POINT_VERSION; // point version + + // 32 bytes of data: + // EEPROM VERSION + // MODE + // PlayingPattern + // MidiChannel + // Pots (x25 - 5 banks of 5 pots) + // 00 + // 00 + // 00 + + uint8_t buffer[EEPROM_HEADER_SIZE]; + this->storage->readArray(0, buffer, EEPROM_HEADER_SIZE); + + int offset = 8; + for (int i = 0; i < EEPROM_HEADER_SIZE; i++) + { + int data = buffer[i]; + if (data == 0xff) + { + data = 0x7f; + } + sysexData[i + offset] = data; + } + + MM::sendSysEx(EEPROM_HEADER_SIZE + offset, sysexData, false); +} diff --git a/Archive/OMX-27-firmware/src/midi/sysex.h b/Archive/OMX-27-firmware/src/midi/sysex.h new file mode 100644 index 00000000..5a70be8d --- /dev/null +++ b/Archive/OMX-27-firmware/src/midi/sysex.h @@ -0,0 +1,22 @@ +#pragma once + +#include "../hardware/storage.h" +#include "../config.h" + +class SysEx +{ + Storage *storage; + SysSettings *settings; + +public: + SysEx(Storage *storage, SysSettings *settings) : storage(storage), + settings(settings) {} + + void processIncomingSysex(const uint8_t *sysexData, unsigned size); + void updateAllSettingsAndStore(const uint8_t *newConfig, unsigned size); + void updateDeviceSettingsAndStore(const uint8_t *newConfig, unsigned size); + void updateDeviceSettings(const uint8_t *newConfig, unsigned size); + void updateSettingsBlockAndStore(const uint8_t *configFromSysex, unsigned sysexSize, int configStartIndex, int configDataLength, int EEPROMStartIndex); + void loadGlobals(); + void sendCurrentState(); +}; diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_arpeggiator.cpp b/Archive/OMX-27-firmware/src/midifx/midifx_arpeggiator.cpp new file mode 100644 index 00000000..63d37014 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_arpeggiator.cpp @@ -0,0 +1,2621 @@ +#include "midifx_arpeggiator.h" +#include "../hardware/omx_disp.h" +#include "../utils/omx_util.h" +#include "../hardware/omx_leds.h" +#include "../consts/colors.h" +// #include "../sequencer.h" +#include +// #include + +namespace midifx +{ + enum ArpPage + { + ARPPAGE_Chance, + ARPPAGE_1, + ARPPAGE_2, + ARPPAGE_3, // TransposeSteps, TransposeDistance + ARPPAGE_4, + ARPPAGE_MODPAT, + ARPPAGE_TRANSPPAT + }; + + const char *kModeDisp_[] = {"OFF", "ON", "1-ST", "ONCE", "HOLD"}; + + const char *kPatMsg_[] = { + "Up", + "Down", + "UpDown", + "DownUp", + "Up & Down", + "Down & Up", + "Converge", + "Diverge", + "Con-Div", + "Hi-Up", + "Hi-UpDown", + "Low-Up", + "Low-UpDown", + "Random", + "Rand Other", + "Rand Once", + "As Played"}; + + const char *kResetMsg_[] = { + "Normal", + "Note", + "Mod Pat", + "Transp Pat", + }; + + const char *kResetDisp_[] = { + "NORM", + "NOTE", + "MPAT", + "TPAT", + }; + + const char *kPatDisp_[] = { + "UP", + "DN", + "UPDN", + "DNUP", + "U&D", + "D&U", + "CON", + "DIV", + "C-V", + "HI 1", + "HI 2", + "LO 1", + "LO 2", + "RAND", + "ROTH", + "RONC", + "ASP"}; + + const char *kArpModDisp_[] = { + "×", + ".", + "-", + "R", + "<", + ">", + "\"", + "#", + "1", + "2", + "3", + "4", + "5", + "6"}; + + const char *kArpModMsg_[] = { + "As Played", + "Rest", + "Tie", + "Repeat", + "LoPitch -Oct", + "HiPitch +Oct", + "PwrChord", + "Chord", + "Note 1", + "Note 2", + "Note 3", + "Note 4", + "Note 5", + "Note 6"}; + + MidiFXArpeggiator::MidiFXArpeggiator() + { + chancePerc_ = 100; + arpMode_ = 0; + resetMode_ = ARPRESET_NORMAL; + arpPattern_ = 0; + midiChannel_ = 0; + swing_ = 0; + rateIndex_ = 6; + octaveRange_ = 1; // 2 Octaves + octDistance_ = 12; // 12 notes per oct + modPatternLength_ = 15; + transpPatternLength_ = 15; + syncPos_ = 0; + + quantizedRateIndex_ = -1; // Use global + quantizeSync_ = quantizedRateIndex_ >= -1; + + heldKey16_ = -1; + + prevArpMode_ = 0; + + changeArpMode(arpMode_); + + params_.addPage(1); + params_.addPage(4); + params_.addPage(4); + params_.addPage(4); + params_.addPage(4); + params_.addPage(17); + params_.addPage(17); + + encoderSelect_ = true; + + for (uint8_t i = 0; i < 16; i++) + { + modPattern_[i].mod = MODPAT_ARPNOTE; + transpPattern_[i] = 0; + + // if(i % 2 == 0) + // { + // modPattern_[i].mod = MODPAT_ARPNOTE; + // } + // else + // { + // modPattern_[i].mod = MODPAT_REST; + // } + } + + noteMaster.setContext(this); + noteMaster.setProcessNoteFptr(&processNoteForwarder); + noteMaster.setSendNoteOutFptr(&sendNoteOutForwarder); + + // for (uint8_t i = 0; i < 8; i++) + // { + // trackingNoteGroups[i].prevNoteNumber = 255; + // trackingNoteGroupsPassthrough[i].prevNoteNumber = 255; + // } + } + + MidiFXArpeggiator::~MidiFXArpeggiator() + { + if (arpRunning_) + { + // Remove from this + seqConfig.numOfActiveArps--; + } + } + + int MidiFXArpeggiator::getFXType() + { + return MIDIFX_ARP; + } + + const char *MidiFXArpeggiator::getName() + { + return "Arp"; + } + + const char *MidiFXArpeggiator::getDispName() + { + return "ARP"; + } + + MidiFXInterface *MidiFXArpeggiator::getClone() + { + MidiFXArpeggiator *clone = new MidiFXArpeggiator(); + clone->chancePerc_ = chancePerc_; + clone->arpMode_ = arpMode_; + clone->arpPattern_ = arpPattern_; + clone->resetMode_ = resetMode_; + clone->midiChannel_ = midiChannel_; + clone->swing_ = swing_; + clone->rateIndex_ = rateIndex_; + clone->quantizedRateIndex_ = rateIndex_; + clone->octaveRange_ = octaveRange_; + clone->octDistance_ = octDistance_; + clone->gate = gate; + clone->modPatternLength_ = modPatternLength_; + clone->transpPatternLength_ = transpPatternLength_; + clone->multiplierCalculated_ = false; + clone->quantizeSync_ = quantizedRateIndex_ >= -1; + + for (uint8_t i = 0; i < 16; i++) + { + clone->modPattern_[i] = modPattern_[i]; + clone->transpPattern_[i] = transpPattern_[i]; + } + + clone->changeArpMode(arpMode_); + + return clone; + } + + // Toggles between off and previous mode + void MidiFXArpeggiator::toggleArp() + { + if (prevArpMode_ == ARPMODE_OFF) + { + prevArpMode_ = ARPMODE_ON; + } + + if (arpMode_ == ARPMODE_OFF) + { + changeArpMode(prevArpMode_); + } + else + { + prevArpMode_ = arpMode_; + changeArpMode(ARPMODE_OFF); + } + } + + void MidiFXArpeggiator::toggleHold() + { + // Serial.println("Prev Arp Mode: " + String(prevArpMode_)); + // Serial.println("Arp Mode: " + String(arpMode_)); + + if (arpMode_ == ARPMODE_OFF) + { + if (prevArpMode_ == ARPMODE_HOLD) + { + prevArpMode_ = ARPMODE_ON; + } + else + { + prevArpMode_ = ARPMODE_HOLD; + } + } + else + { + if (arpMode_ == ARPMODE_HOLD) + { + if (prevArpMode_ == ARPMODE_HOLD) + { + changeArpMode(ARPMODE_ON); + } + else + { + changeArpMode(prevArpMode_); + } + prevArpMode_ = ARPMODE_HOLD; + } + else + { + prevArpMode_ = arpMode_; + changeArpMode(ARPMODE_HOLD); + } + } + } + + void MidiFXArpeggiator::nextArpPattern() + { + arpPattern_ = (arpPattern_ + 1) % ARPPAT_NUM_OF_PATS; + omxDisp.displayMessage(kPatMsg_[arpPattern_]); + sortNotes(); + } + + void MidiFXArpeggiator::nextOctRange() + { + octaveRange_ = (octaveRange_ + 1) % 4; + + omxDisp.displayMessageTimed("OctRange: " + String(octaveRange_ + 1), 5); + } + + bool MidiFXArpeggiator::isOn() + { + return arpMode_ != ARPMODE_OFF; + } + bool MidiFXArpeggiator::isHoldOn() + { + if (arpMode_ == ARPMODE_OFF) + { + return isModeHold(prevArpMode_); + } + else + { + return isModeHold(arpMode_); + } + } + + uint8_t MidiFXArpeggiator::getOctaveRange() + { + return octaveRange_; + } + + bool MidiFXArpeggiator::isModeHold(uint8_t arpMode) + { + switch (arpMode) + { + case ARPMODE_OFF: + case ARPMODE_ON: + case ARPMODE_ONESHOT: + case ARPMODE_ONCE: + return false; + case ARPMODE_HOLD: + return true; + } + + return false; + } + + void MidiFXArpeggiator::changeArpMode(uint8_t newArpMode) + { + arpMode_ = newArpMode; + + if ((arpMode_ == ARPMODE_ON && hasMidiNotes() == false) || (arpMode_ == ARPMODE_ONCE && hasMidiNotes() == false) || arpMode_ == ARPMODE_OFF) + { + stopArp(); + } + + switch (arpMode_) + { + case ARPMODE_OFF: + case ARPMODE_ON: + resync(); + break; + } + } + + void MidiFXArpeggiator::onModeChanged() + { + stopArp(); + playedNoteQueue.clear(); + holdNoteQueue.clear(); + sortedNoteQueue.clear(); + tempNoteQueue.clear(); + fixedLengthNotes.clear(); + heldKey16_ = -1; + } + + void MidiFXArpeggiator::onEnabled() + { + heldKey16_ = -1; + // stopArp(); + // playedNoteQueue.clear(); + // holdNoteQueue.clear(); + // sortedNoteQueue.clear(); + } + + void MidiFXArpeggiator::onDisabled() + { + // stopArp(); + // playedNoteQueue.clear(); + // holdNoteQueue.clear(); + // sortedNoteQueue.clear(); + } + + void MidiFXArpeggiator::onSelected() + { + if (sysSettings.omxMode == MODE_MIDI && arpRunning_) + { + resetArpSeq(); + startArp(); + } + } + + void MidiFXArpeggiator::onDeselected() + { + } + + void MidiFXArpeggiator::noteInput(MidiNoteGroup note) + { + if (arpMode_ == ARPMODE_OFF) + { + sendNoteOut(note); + return; + } + + // if(arpRunning_ && note.channel != (midiChannel_ + 1)) + // { + // sendNoteOut(note); + // return; + // } + + if (chancePerc_ != 100 && (chancePerc_ == 0 || random(100) > chancePerc_)) + { + noteMaster.trackNoteInputPassthrough(¬e); + // // sendNoteOut(note); + // if(note.unknownLength || note.noteOff) + // { + // trackNoteInputPassthrough(note, false); + // } + // else + // { + // sendNoteOut(note); + // } + + return; + } + + noteMaster.trackNoteInput(¬e); + + // if (note.unknownLength || note.noteOff) + // { + // // only notes of unknown lengths need to be tracked + // // notes with fixed lengths will turn off automatically. + // trackNoteInputPassthrough(note, true); + // trackNoteInput(note); + // } + // else + // { + // processNoteInput(note); + // } + } + + // If chance is less than 100% and passing through, notes need to be tracked + // and if the same note comes in without passthrough for a noteoff event, it needs to + // be passed through to send noteoff to prevent stuck notes + // void MidiFXArpeggiator::trackNoteInputPassthrough(MidiNoteGroup note, bool ignoreNoteOns) + // { + // // Note on, not ignored + // if (!ignoreNoteOns && !note.noteOff) + // { + // // Search for an empty slot in trackingNoteGroupsPassthrough + // // If no slots are available/more than 8 notes/ note gets killed. + // for (uint8_t i = 0; i < 8; i++) + // { + // // Found empty slot + // if (trackingNoteGroupsPassthrough[i].prevNoteNumber == 255) + // { + // trackingNoteGroupsPassthrough[i].channel = note.channel; + // trackingNoteGroupsPassthrough[i].prevNoteNumber = note.prevNoteNumber; + // trackingNoteGroupsPassthrough[i].noteNumber = note.noteNumber; + + // // Send it forward through chain + // sendNoteOut(note); + // return; + // } + // } + // } + + // // Note off + // if (note.noteOff) + // { + // // bool noteFound = false; + + // // Search to see if this note is in trackingNoteGroupsPassthrough + // // Meaning it was previously passed through + // // If it is found, send it through chain + // // PrevNoteNumber should be the origin note number before being modified by MidiFX + // for (uint8_t i = 0; i < 8; i++) + // { + // if (trackingNoteGroupsPassthrough[i].prevNoteNumber != 255) + // { + // if (trackingNoteGroupsPassthrough[i].channel == note.channel && trackingNoteGroupsPassthrough[i].prevNoteNumber == note.prevNoteNumber) + // { + // note.noteNumber = trackingNoteGroupsPassthrough[i].noteNumber; + // // processNoteInput(note); + // sendNoteOut(note); + // trackingNoteGroupsPassthrough[i].prevNoteNumber = 255; // mark empty + // // noteFound = true; + // } + // } + // } + + // // Should be false if note getting sent to arp + // // Avoid double trackNoteInput call + // if(!ignoreNoteOns) + // { + // trackNoteInput(note); + // } + + // // Note not previously passed through and is noteoff, now send to arp to turn off arp notes + // // if(!noteFound) + // // { + // // trackNoteInput(note); + // // } + // } + // } + + // void MidiFXArpeggiator::trackNoteInput(MidiNoteGroup note) + // { + // // Same implementation with more comments in submode_midifx + // // Keeps track of previous note ons and and adjusts note number + // // for note offs using the prevNoteNumber parameter. + // // Why is this necessary? + // // If the note is modified by midifx like randomize before the arp + // // Then the arp can end up having notes stuck on + // // This ensures that notes don't get stuck on. + // if (note.noteOff) + // { + // bool noteFound = false; + + // for (uint8_t i = 0; i < 8; i++) + // { + // if (trackingNoteGroups[i].prevNoteNumber != 255) + // { + // if (trackingNoteGroups[i].channel == note.channel && trackingNoteGroups[i].prevNoteNumber == note.prevNoteNumber) + // { + // note.noteNumber = trackingNoteGroups[i].noteNumber; + // processNoteInput(note); + // trackingNoteGroups[i].prevNoteNumber = 255; // mark empty + // noteFound = true; + // } + // } + // } + + // if (!noteFound) + // { + // processNoteInput(note); + // } + // } + // else if (!note.noteOff) + // { + // for (uint8_t i = 0; i < 8; i++) + // { + // if (trackingNoteGroups[i].prevNoteNumber == 255) + // { + // trackingNoteGroups[i].channel = note.channel; + // trackingNoteGroups[i].prevNoteNumber = note.prevNoteNumber; + // trackingNoteGroups[i].noteNumber = note.noteNumber; + + // processNoteInput(note); + // return; + // } + // } + // } + // } + + void MidiFXArpeggiator::processNoteInput(MidiNoteGroup *note) + { + if (note->unknownLength) + { + if (note->noteOff) + { + arpNoteOff(note); + } + else + { + arpNoteOn(note); + } + } + else + { + bool canInsert = true; + + if (fixedLengthNotes.size() < queueSize) + { + for (uint8_t i = 0; i < fixedLengthNotes.size(); i++) + { + PendingArpNote p = fixedLengthNotes[i]; + + // Note already exists + if (p.noteCache.noteNumber == note->noteNumber && p.noteCache.channel == note->channel) + { + // Update note off time + fixedLengthNotes[i].offTime = seqConfig.currentFrameMicros + (note->stepLength * clockConfig.step_micros); + canInsert = false; + break; + } + } + } + else + { + canInsert = false; + } + + if (canInsert) + { + // Serial.println("Inserting pending note"); + PendingArpNote fixedLengthNote; + fixedLengthNote.noteCache.setFromNoteGroup(note); + fixedLengthNote.offTime = seqConfig.currentFrameMicros + (note->stepLength * clockConfig.step_micros); + fixedLengthNotes.push_back(fixedLengthNote); + arpNoteOn(note); + } + else + { + // Remove from tracking notes + noteMaster.removeFromTracking(note); + // for (uint8_t i = 0; i < 8; i++) + // { + // if (trackingNoteGroups[i].prevNoteNumber != 255) + // { + // if (trackingNoteGroups[i].channel == note->channel && trackingNoteGroups[i].prevNoteNumber == note->prevNoteNumber) + // { + // trackingNoteGroups[i].prevNoteNumber = 255; // mark empty + // } + // } + // } + // Kill note + // sendNoteOut(note); + } + // if(fixedLengthNotes.si) + // arpNoteOn(note); + } + } + + void MidiFXArpeggiator::startArp() + { + // Serial.println("startArp"); + if (arpRunning_ || pendingStart_) + return; + + pendingStart_ = true; + sortOrderChanged_ = false; + resetNextTrigger_ = false; + + // pendingStartTime_ = micros(); + + notePos_ = 0; + prevNotePos_ = 0; + nextNotePos_ = 0; + + if(quantizeSync_ == false) + { + doPendingStart(); + } + + // if (omxUtil.areClocksRunning() == false) + // { + // pendingStart_ = true; + // } + // else + // { + // doPendingStart(); + // } + + // if((pendingStartTime_ - seqConfig.lastClockMicros <= 1000) || sysSettings.omxMode == MODE_EUCLID) + // { + // doPendingStart(); + // } + + // if(seqConfig.currentFrameMicros - seqConfig.lastClockMicros < 300) + // { + // onClockTick(); + // } + } + + void MidiFXArpeggiator::doPendingStart() + { + // Serial.println("doPendingStart()"); + + // stepMicroDelta_ = (clockConfig.step_micros * 16) * multiplier_; + multiplierCalculated_ = false; + nextArpTriggerTime_ = seqConfig.lastClockMicros; + + // if (omxUtil.areClocksRunning() == false) + // { + // omxUtil.restartClocks(); + // omxUtil.startClocks(); + // stepMicroDelta_ = (clockConfig.step_micros * 16) * multiplier_; + // nextStepTimeP_ = seqConfig.lastClockMicros; // Should be current time, start now. + // nextArpTriggerTime_ = nextStepTimeP_; + // } + // else + // { + // nextStepTimeP_ = nextArpTriggerTime_; + + // // stepMicroDelta_ = (clockConfig.step_micros * 16) * multiplier_; + + // // nextStepTimeP_ = seqConfig.lastClockMicros + stepMicroDelta_; + + // // // Add microstep time until nextStep time is in the future + // // while(nextStepTimeP_ < seqConfig.currentFrameMicros) + // // { + // // nextStepTimeP_ += stepMicroDelta_; + // // } + // // // if next step will be in the past + // // if (seqConfig.lastClockMicros + stepMicroDelta_ < seqConfig.currentFrameMicros) + // // { + // // return; // return and do on next clock. + + // // // In the past, do it after next clock + // // // uint32_t nextClockTime = seqConfig.lastClockMicros + (clockConfig.ppqInterval * (PPQ / 24)); + // // // nextStepTimeP_ = nextClockTime + stepMicroDelta_; + // // } + // } + + // // tickCount_ = 0; + // // patPos_ = 0; + // // notePos_ = 0; + // // octavePos_ = 0; + + // // resetArpSeq(); + + // lastStepTimeP_ = nextStepTimeP_; + // startMicros = micros(); + + arpRunning_ = true; + pendingStart_ = false; + pendingStop_ = false; + + seqConfig.numOfActiveArps++; + + // Serial.println("numOfActiveArps: " + String(seqConfig.numOfActiveArps)); + } + + void MidiFXArpeggiator::stopArp() + { + pendingStart_ = false; + pendingStop_ = true; + // arpRunning_ = false; + // pendingStopCount_ = 0; + + // doPendingStop(); + + // // Serial.println("stopArp"); + // arpRunning_ = false; + // pendingStart_ = false; + } + + void MidiFXArpeggiator::doPendingStop() + { + // Serial.println("doPendingStop"); + if (arpRunning_) + { + // Stop clocks if last arp + seqConfig.numOfActiveArps--; + if (seqConfig.numOfActiveArps <= 0) + { + // omxUtil.stopClocks(); + } + } + + arpRunning_ = false; + pendingStart_ = false; + pendingStop_ = false; + + // Serial.println("numOfActiveArps: " + String(seqConfig.numOfActiveArps)); + } + + bool MidiFXArpeggiator::insertMidiNoteQueue(MidiNoteGroup *note) + { + // Serial.println("playedNoteQueue capacity: " + String(playedNoteQueue.capacity())); + if (playedNoteQueue.capacity() > queueSize) + { + playedNoteQueue.shrink_to_fit(); + } + if (holdNoteQueue.capacity() > queueSize) + { + holdNoteQueue.shrink_to_fit(); + } + + bool noteAdded = false; + + if (playedNoteQueue.size() < queueSize) + { + playedNoteQueue.push_back(ArpNote(note)); + noteAdded = true; + } + + if (holdNoteQueue.size() < queueSize) + { + holdNoteQueue.push_back(ArpNote(note)); + noteAdded = true; + } + + // for (int i = 0; i < queueSize; ++i) + // { + // if (playedNoteQueue[i].inUse) + // continue; + + // playedNoteQueue[i].inUse = true; + // playedNoteQueue[i].noteNumber = note.noteNumber; + // playedNoteQueue[i].velocity = note.velocity; + // playedNoteQueue[i].sendMidi = note.sendMidi; + // playedNoteQueue[i].sendCV = note.sendCV; + // return true; + // } + // return false; // couldn't find room! + return noteAdded; + } + + bool MidiFXArpeggiator::removeMidiNoteQueue(MidiNoteGroup *note) + { + bool foundNoteToRemove = false; + auto it = playedNoteQueue.begin(); + while (it != playedNoteQueue.end()) + { + // remove matching note numbers + if (it->noteNumber == note->noteNumber && it->channel == note->channel - 1) + { + // `erase()` invalidates the iterator, use returned iterator + it = playedNoteQueue.erase(it); + foundNoteToRemove = true; + } + else + { + ++it; + } + } + + return foundNoteToRemove; + } + + bool MidiFXArpeggiator::hasMidiNotes() + { + return playedNoteQueue.size() > 0; + } + + // Copies notes from played note queue and sorts them + void MidiFXArpeggiator::sortNotes() + { + sortedNoteQueue.clear(); + + // Copy played or held notes to sorted note queue + if (arpMode_ != ARPMODE_ON && arpMode_ != ARPMODE_ONCE) + { + for (ArpNote a : holdNoteQueue) + { + sortedNoteQueue.push_back(a); + } + } + else + { + for (ArpNote a : playedNoteQueue) + { + sortedNoteQueue.push_back(a); + } + } + + // Sort low to high. + if (arpPattern_ != ARPPAT_AS_PLAYED) + { + std::sort(sortedNoteQueue.begin(), sortedNoteQueue.end(), compareArpNote); + } + + if (sortedNoteQueue.size() > 0) + { + // Find highest and lowest pitch to use for mod pattern + lowestPitch_ = sortedNoteQueue[0].noteNumber; + highestPitch_ = sortedNoteQueue[sortedNoteQueue.size() - 1].noteNumber; + + // add an octave to highest if there's only 1 note. + if (highestPitch_ == lowestPitch_) + { + highestPitch_ = lowestPitch_ + 12; + } + } + else + { + lowestPitch_ = -127; + highestPitch_ = -127; + } + + if (sortedNoteQueue.size() == 0) + return; // Not much to do without any notes + + // Serial.println("sortedNoteQueue capacity: " + String(sortedNoteQueue.capacity())); + + // Alternate sorted with upper high note or lower note. + if (arpPattern_ == ARPPAT_HI_UP || arpPattern_ == ARPPAT_HI_UP_DOWN || arpPattern_ == ARPPAT_LOW_UP || arpPattern_ == ARPPAT_LOW_UP_DOWN) + { + tempNoteQueue.clear(); + + auto rootNote = sortedNoteQueue[sortedNoteQueue.size() - 1]; // High note + + if (arpPattern_ == ARPPAT_LOW_UP || arpPattern_ == ARPPAT_LOW_UP_DOWN) + { + rootNote = sortedNoteQueue[0]; // Low note + } + // CEGB + // BCBEBG-BE-BCBEBG // on updown, down will need to end at index 2 + + for (uint8_t i = 0; i < sortedNoteQueue.size(); i++) + { + auto note = sortedNoteQueue[i]; + + // add root than note if note is not the base + if (note.noteNumber != rootNote.noteNumber) + { + tempNoteQueue.push_back(rootNote); + tempNoteQueue.push_back(note); + } + } + + if (tempNoteQueue.size() == 0) + { + tempNoteQueue.push_back(rootNote); + } + + sortedNoteQueue.clear(); + + for (ArpNote a : tempNoteQueue) + { + sortedNoteQueue.push_back(a); + } + } + + // Randomize notes, playing each note in sorted list only once + if (arpPattern_ == ARPPAT_RAND_ONCE) + { + tempNoteQueue.clear(); + + int queueSize = sortedNoteQueue.size(); + + for (uint8_t i = 0; i < queueSize; i++) + { + int randIndex = rand() % sortedNoteQueue.size(); + + auto note = sortedNoteQueue[randIndex]; + tempNoteQueue.push_back(note); // Store in temp + + sortedNoteQueue.erase(sortedNoteQueue.begin() + randIndex); // Remove note from sorted + } + + // Put temp back in sorted + sortedNoteQueue.clear(); + + for (ArpNote a : tempNoteQueue) + { + sortedNoteQueue.push_back(a); + } + } + + // Alternate pattern converging in center + if (arpPattern_ == ARPPAT_CONVERGE || arpPattern_ == ARPPAT_CONVERGE_DIVERGE || arpPattern_ == ARPPAT_DIVERGE) + { + uint8_t front = 0; + uint8_t back = sortedNoteQueue.size() - 1; + + tempNoteQueue.clear(); + for (uint8_t i = 0; i < sortedNoteQueue.size(); i++) + { + uint8_t noteIndex = 0; + + // c,e,g,b,d + // c,d,e,b,g + + if (i % 2 == 0) + { + noteIndex = front; + front++; + } + else + { + noteIndex = back; + back--; + } + + tempNoteQueue.push_back(sortedNoteQueue[noteIndex]); + } + + sortedNoteQueue.clear(); + + for (ArpNote a : tempNoteQueue) + { + sortedNoteQueue.push_back(a); + } + } + + // Flip pattern + if (arpPattern_ == ARPPAT_DOWN || arpPattern_ == ARPPAT_DOWN_AND_UP || arpPattern_ == ARPPAT_DOWN_UP || arpPattern_ == ARPPAT_DIVERGE) + { + tempNoteQueue.clear(); + for (ArpNote a : sortedNoteQueue) + { + tempNoteQueue.push_back(a); + } + + sortedNoteQueue.clear(); + + for (int8_t i = tempNoteQueue.size() - 1; i >= 0; i--) + { + sortedNoteQueue.push_back(tempNoteQueue[i]); + } + + // auto it = tempNoteQueue.end(); + // while (it != tempNoteQueue.begin()) + // { + // auto note = *it; + // sortedNoteQueue.push_back(note); + // it--; + // } + } + + // Keep vectors in check + if (sortedNoteQueue.capacity() > queueSize) + { + sortedNoteQueue.shrink_to_fit(); + } + + if (tempNoteQueue.capacity() > queueSize) + { + tempNoteQueue.shrink_to_fit(); + } + } + + // void MidiFXArpeggiator::generatePattern() + // { + // int index = 0; + + // Serial.print("Pat: "); + + // for(uint8_t o = 0; o < (octaveRange_ + 1); o++) + // { + // for(uint8_t n = 0; n < sortedNoteQueue.size(); n++) + // { + // notePat_[index].noteNumber = sortedNoteQueue[n].noteNumber + (12 * o); + // Serial.print(notePat_[index].noteNumber); + // Serial.print(" "); + // index++; + // } + // } + + // Serial.print("\n"); + + // notePatLength_ = index; + + // Serial.print("Length: "); + // Serial.print(notePatLength_); + // Serial.print("\n\n"); + // } + + void MidiFXArpeggiator::arpNoteOn(MidiNoteGroup *note) + { + // if(arpMode_ != ARPMODE_ONESHOT && !arpRunning_ ) + // { + // startArp(); + // } + + // if(arpMode_ == ARPMODE_ONESHOT && !arpRunning_) + // { + // startArp(); + // } + bool arpReset = false; + + if (!arpRunning_) + { + startArp(); + resetArpSeq(); + arpReset = true; + } + + if (hasMidiNotes() == false) + { + velocity_ = note->velocity; + sendMidi_ = note->sendMidi; + sendCV_ = note->sendCV; + midiChannel_ = note->channel - 1; // note.channel is 1-16, sub 1 for 0-15 + + // if(arpMode_ == ARPMODE_ON || arpMode_ == ARPMODE_ONCE) + // { + // resetArpSeq(); + // arpReset = true; + // } + // else if(resetMode_ == ARPRESET_NOTE) + // { + // resetArpSeq(); + // arpReset = true; + // } + + // if (arpMode_ != ARPMODE_HOLD) + // { + // resetArpSeq(); + // // resetNextTrigger_ = true; + // arpReset = true; + // } + + resetArpSeq(); + // resetNextTrigger_ = true; + arpReset = true; + + holdNoteQueue.clear(); + + // if(arpMode_ == ARPMODE_ONESHOT) // Only start when no notes for oneshot + // { + // startArp(); + // } + } + else + { + if (resetMode_ == ARPRESET_NOTE) + { + // resetNextTrigger_ = true; + resetArpSeq(); + arpReset = true; + } + } + + insertMidiNoteQueue(note); + sortNotes(); + + // generatePattern(); + + if (arpReset) + { + nextNotePos_ = notePos_; + prevQLength_ = sortedNoteQueue.size(); + } + + if (pendingStop_) + { + pendingStop_ = false; + } + + if (!arpReset && !pendingStart_) + { + // sortOrderChanged_ = true; + findIndexOfNextNotePos(); + } + } + + void MidiFXArpeggiator::arpNoteOff(MidiNoteGroup *note) + { + removeMidiNoteQueue(note); + + sortNotes(); + // generatePattern(); + + if ((arpMode_ == ARPMODE_ON || arpMode_ == ARPMODE_ONCE) && hasMidiNotes() == false) + { + stopArp(); + } + if (hasMidiNotes()) + { + // sortOrderChanged_ = true; + findIndexOfNextNotePos(); + } + } + + // compares the sortedNoteQueue from prev arp trigger + // to the current note queue. + // Looks for the next note in pattern that matches between two + // and sets noteIndex_ to the index of that note. + // Idea is to keep arp moving in expected way even when the + // held notes change. + void MidiFXArpeggiator::findIndexOfNextNotePos() + { + int prevSize = prevSortedNoteQueue.size(); + // int currentSize = sortedNoteQueue.size(); + + if (prevSize < 2) + return; + + // Look at what should have been the next note, + // see if this index exists in new sortedNote vector. + // if it does, set the notePos to the index of this. + // If not, we keep moving forward to next note after that + // and loop around until we find a note that matches + int newNotePos = notePos_; + int start = (nextNotePos_ + prevSize) % prevSize; + int q = start; + do + { + bool noteFound = false; + auto prevNote = prevSortedNoteQueue[q].noteNumber; + + for (uint8_t i = 0; i < sortedNoteQueue.size(); i++) + { + if (sortedNoteQueue[i].noteNumber == prevNote) + { + newNotePos = i; + noteFound = true; + q = start; + break; + ; + } + } + + if (!noteFound) + { + q = goingUp_ ? (q + 1) : (q - 1); + if (q < 0 || q >= prevSize) + { + q = start; + } + // q = (q + prevSize) % prevSize; + } + + } while (q != start); + + if (newNotePos == prevNotePos_) + return; + + notePos_ = newNotePos; + + // if(goingUp_ && newNotePos >= notePos_) + // { + // notePos_ = newNotePos; + // } + // else if(!goingUp_ && newNotePos <= notePos_) + // { + // notePos_ = newNotePos; + // } + } + + // Used with stoping sequencers + void MidiFXArpeggiator::resync() + { + playedNoteQueue.clear(); + holdNoteQueue.clear(); + sortedNoteQueue.clear(); + tempNoteQueue.clear(); + + resetArpSeq(); + + noteMaster.clear(); + + // for (uint8_t i = 0; i < 8; i++) + // { + // trackingNoteGroups[i].prevNoteNumber = 255; + // } + } + + void MidiFXArpeggiator::onClockTick() + { + // if (pendingStart_ && omxUtil.areClocksRunning()) + // { + // doPendingStart(); + // } + + + if(!pendingStart_) return; + + uint8_t quantIndex = quantizedRateIndex_ < 0 ? clockConfig.globalQuantizeStepIndex : quantizedRateIndex_; // Use global or local quantize rate? + + bool isQuantizedStep = seqConfig.currentClockTick % ((96 * 4) / kArpRates[quantIndex]) == 0; + + // Move pending notes to active + if(isQuantizedStep) + { + doPendingStart(); + } + } + + void MidiFXArpeggiator::updateMultiplier() + { + if (!multiplierCalculated_) + { + uint8_t rate = kArpRates[rateIndex_]; // 8 + multiplier_ = 1.0f / (float)rate; // 1 / 8 = 0.125 // Only need to recalculate this if rate changes yo + multiplierCalculated_ = true; + } + } + + void MidiFXArpeggiator::loopUpdate() + { + if (messageTextTimer > 0) + { + messageTextTimer -= sysSettings.timeElasped; + if (messageTextTimer <= 0) + { + omxDisp.setDirty(); + omxLeds.setDirty(); + messageTextTimer = 0; + } + } + + auto now = seqConfig.currentFrameMicros; + + // Send arp offs for notes that had fixed lengths + auto it = fixedLengthNotes.begin(); + while (it != fixedLengthNotes.end()) + { + // remove matching note numbers + if (it->offTime <= now) + { + auto nt = it->noteCache.toMidiNoteGroup(); + // Serial.println("Removing pending note"); + arpNoteOff(&nt); + // `erase()` invalidates the iterator, use returned iterator + it = fixedLengthNotes.erase(it); + } + else + { + ++it; + } + } + + // if (patternDirty_) + // { + // regeneratePattern(); + // patternDirty_ = false; + // } + + // if (pendingStart_ && !omxUtil.areClocksRunning() && micros() - pendingStartTime_ >= 15000) + // { + // omxUtil.resetClocks(); + // doPendingStart(); + // } + + // Serial.println("arpRunning_: " + String(arpRunning_)); + + if (!arpRunning_) + { + return; + } + + // if (sysSettings.omxMode == MODE_MIDI && !selected_) + // { + // return; + // } + + // seqPerc_ = (stepmicros - startMicros) / ((float)max(stepMicroDelta_, 1) * (steps_ + 1)); + + // if (steps_ == 0) + // { + // seqPerc_ = 0; + + // return; + // } + + // uint32_t nextBarMicros = stepMicroDelta_ * (steps_ + 1); + + updateMultiplier(); + + uint32_t stepmicros = seqConfig.currentFrameMicros; + + if (stepmicros >= nextArpTriggerTime_) + { + // lastStepTimeP_ = nextStepTimeP_; + + // stepMicroDelta_ = (clockConfig.step_micros * 16) * multiplier_; + + // nextStepTimeP_ = seqConfig.currentFrameMicros + stepMicroDelta_; // calc step based on rate + + nextArpTriggerTime_ = nextArpTriggerTime_ + (clockConfig.step_micros * 16 * multiplier_); + + // nextArpTriggerTime_ = nextStepTimeP_; + + arpNoteTrigger(); + + // Keeps arp running for a bit on stop so if you play new notes they will be in sync + if (pendingStop_) + { + doPendingStop(); + + // pendingStopCount_--; + // if (pendingStopCount_ == 0) + // { + // doPendingStop(); + // } + } + } + } + + void MidiFXArpeggiator::resetArpSeq() + { + // Serial.println("resetArpSeq"); + // patPos_ = 0; + transpPos_ = 0; + modPos_ = 0; + notePos_ = 0; + octavePos_ = 0; + syncPos_ = 0; + + lastPlayedNoteNumber_ = -127; + + randPrevNote_ = 255; + + goingUp_ = true; + resetNextTrigger_ = false; + + prevNotePos_ = 0; + nextNotePos_ = 0; + } + + void MidiFXArpeggiator::arpNoteTrigger() + { + if (sortedNoteQueue.size() == 0) + { + return; + } + + uint32_t noteon_micros = seqConfig.currentFrameMicros; + + if (resetNextTrigger_) + { + resetArpSeq(); + } + + // if (sortOrderChanged_) + // { + // findIndexOfNextNotePos(); + // sortOrderChanged_ = false; + // } + + // if (swing_ > 0 && patPos_ % 2 == 0) + // { + // if (swing_ < 99) + // { + // noteon_micros = micros() + ((clockConfig.ppqInterval * multiplier_) / (PPQ / 24) * swing_); // full range swing + // } + // else if (swing_ == 99) + // { // random drunken swing + // uint8_t rnd_swing = rand() % 95 + 1; // rand 1 - 95 // randomly apply swing value + // noteon_micros = micros() + ((clockConfig.ppqInterval * multiplier_) / (PPQ / 24) * rnd_swing); + // } + // } + // else + // { + // // noteon_micros = micros(); + // } + + // if(patPos_ >= notePatLength_) + // { + // // reset pattern + // patPos_ = 0; + // } + bool incrementOctave = false; + int currentNotePos = notePos_; + int nextNotePos = notePos_; + int qLength = sortedNoteQueue.size(); + + prevNotePos_ = notePos_; + + // Attempt to keep position in similar place when number of notes change + // if(qLength != prevQLength_) + // { + // notePos_ = map(prevNotePos_, 0, prevQLength_ - 1, 0, qLength - 1); + // currentNotePos = notePos_; + // } + // Eh, not so good. + + // prevNotePos_ = notePos_; + prevQLength_ = qLength; + + switch (arpPattern_) + { + case ARPPAT_UP: + case ARPPAT_DOWN: + case ARPPAT_CONVERGE: + case ARPPAT_DIVERGE: + case ARPPAT_HI_UP: + case ARPPAT_LOW_UP: + case ARPPAT_AS_PLAYED: + { + if (currentNotePos >= qLength) + { + currentNotePos = 0; + incrementOctave = true; + } + nextNotePos = currentNotePos + 1; + } + break; + case ARPPAT_UP_DOWN: + case ARPPAT_DOWN_UP: + case ARPPAT_CONVERGE_DIVERGE: + case ARPPAT_HI_UP_DOWN: + case ARPPAT_LOW_UP_DOWN: + { + // Get down + if (goingUp_) + { + // Turn around + if (currentNotePos >= qLength) + { + goingUp_ = false; + currentNotePos = qLength - 2; + if (sortedNoteQueue.size() <= 4 && (arpPattern_ == ARPPAT_HI_UP_DOWN || arpPattern_ == ARPPAT_LOW_UP_DOWN)) + { + currentNotePos = 0; + goingUp_ = true; + incrementOctave = true; + } + // incrementOctave = true; + } + } + // go to town + else + { + int endIndex = 1; + // Boot scootin' boogie + + if (arpPattern_ == ARPPAT_HI_UP_DOWN || arpPattern_ == ARPPAT_LOW_UP_DOWN) + { + // CEGB + // BCBEBG-BE-BCBEBG // on updown, down will need to end at index 2 + // CECGCB-CG + // CEG + // CECG-CE // + + endIndex = 3; + } + + if (currentNotePos < endIndex) + { + currentNotePos = 0; + goingUp_ = true; + incrementOctave = true; + } + } + + if (goingUp_) + { + nextNotePos = currentNotePos + 1; + } + else + { + nextNotePos = currentNotePos - 1; + } + } + break; + case ARPPAT_UP_AND_DOWN: + case ARPPAT_DOWN_AND_UP: + { + // Get down + if (goingUp_) + { + // Turn around + if (currentNotePos >= qLength) + { + goingUp_ = false; + currentNotePos = qLength - 1; + // incrementOctave = true; + } + } + // go to town + else + { + // Boot scootin' boogie + if (currentNotePos < 0) + { + currentNotePos = 0; + goingUp_ = true; + incrementOctave = true; + } + } + + if (goingUp_) + { + nextNotePos = currentNotePos + 1; + } + else + { + nextNotePos = currentNotePos - 1; + } + } + break; + case ARPPAT_RAND: + { + currentNotePos = rand() % qLength; + if (notePos_ >= qLength) + { + notePos_ = 0; + incrementOctave = true; + } + nextNotePos = notePos_ + 1; + } + break; + case ARPPAT_RAND_OTHER: + { + if (qLength == 1) + { + currentNotePos = 0; + } + else + { + // search up to 4 times the queue size for a note that's not the previous + for (uint8_t i = 0; i < queueSize * 4; i++) + { + currentNotePos = rand() % qLength; + + if (sortedNoteQueue[currentNotePos].noteNumber != randPrevNote_) + { + break; + } + } + } + if (notePos_ >= qLength) + { + notePos_ = 0; + incrementOctave = true; + } + nextNotePos = notePos_ + 1; + } + break; + case ARPPAT_RAND_ONCE: + { + if (currentNotePos >= qLength) + { + currentNotePos = 0; + incrementOctave = true; + sortNotes(); // Resort every time octave increments + } + nextNotePos = currentNotePos + 1; + } + break; + } + + if (incrementOctave) + { + octavePos_++; + } + + if (octavePos_ > octaveRange_) + { + // reset octave + octavePos_ = 0; + if (arpMode_ == ARPMODE_ONESHOT || arpMode_ == ARPMODE_ONCE) + { + stopArp(); + return; + } + } + + syncPos_ = syncPos_ + 1 % 16; + + // if(syncPos_ == 0) + // { + // stepMicroDelta_ = (clockConfig.step_micros * 16) * multiplier_; + // nextStepTimeP_ = seqConfig.lastClockMicros + stepMicroDelta_; // calc step based on rate + // } + + currentNotePos = constrain(currentNotePos, 0, qLength - 1); + + ArpNote arpNote = sortedNoteQueue[currentNotePos]; + randPrevNote_ = arpNote.noteNumber; + + int16_t noteNumber = arpNote.noteNumber; + + noteNumber = applyModPattern(noteNumber, arpNote.channel); + stepLength_ = findStepLength(); // Can be changed by ties in mod pattern + + if (noteNumber != -127) + { + noteNumber = applyTranspPattern(noteNumber); + + // Add octave + noteNumber = noteNumber + (octavePos_ * octDistance_); + playNote(noteon_micros, noteNumber, velocity_, arpNote.channel); + } + + bool seqReset = false; + + // Advance mod pattern + modPos_++; + if (modPos_ >= modPatternLength_ + 1) + { + if (resetMode_ == ARPRESET_MODPAT) + { + resetArpSeq(); + seqReset = true; + } + modPos_ = 0; + } + + // Advance transpose pattern + transpPos_++; + if (transpPos_ >= transpPatternLength_ + 1) + { + if (resetMode_ == ARPRESET_TRANSPOSEPAT) + { + resetArpSeq(); + seqReset = true; + } + transpPos_ = 0; + } + + // if (noteNumber != -127) + // { + // // Add octave + // noteNumber = noteNumber + (octavePos_ * 12); + // playNote(noteon_micros, noteNumber, velocity_); + // } + + if (!seqReset) + { + notePos_ = nextNotePos; + + nextNotePos_ = (notePos_ + qLength) % qLength; + } + else + { + nextNotePos_ = notePos_; + } + + prevSortedNoteQueue.clear(); + + for (ArpNote a : sortedNoteQueue) + { + prevSortedNoteQueue.push_back(a); + } + + // playNote(noteon_micros, notePat_[patPos_]); + + // patPos_++; + } + + int16_t MidiFXArpeggiator::applyModPattern(int16_t noteNumber, uint8_t channel) + { + uint8_t modMode = modPattern_[modPos_].mod; + + int16_t newNote = noteNumber; + + if (modMode == MODPAT_REPEAT && lastPlayedMod_ == MODPAT_PWRCHORD) + { + modMode = MODPAT_PWRCHORD; + } + else if (modMode == MODPAT_REPEAT && lastPlayedMod_ == MODPAT_CHORD) + { + modMode = MODPAT_CHORD; + } + + switch (modMode) + { + case MODPAT_ARPNOTE: + { + newNote = noteNumber; + } + break; + case MODPAT_REST: + { + newNote = -127; + } + break; + case MODPAT_TIE: + { + newNote = -127; + } + break; + case MODPAT_REPEAT: + { + newNote = lastPlayedNoteNumber_; + } + break; + case MODPAT_LOWPITCH_OCTAVE: + { + newNote = lowestPitch_ - 12; + newNote = applyTranspPattern(newNote); + uint32_t noteon_micros = seqConfig.currentFrameMicros; + playNote(noteon_micros, newNote, velocity_, channel); + lastPlayedNoteNumber_ = newNote; + newNote = -127; + } + break; + case MODPAT_HIGHPITCH_OCTAVE: + { + newNote = highestPitch_ + 12; + newNote = applyTranspPattern(newNote); + uint32_t noteon_micros = seqConfig.currentFrameMicros; + playNote(noteon_micros, newNote, velocity_, channel); + lastPlayedNoteNumber_ = newNote; + newNote = -127; + } + break; + case MODPAT_PWRCHORD: + { + uint32_t noteon_micros = seqConfig.currentFrameMicros; + stepLength_ = findStepLength(); + + if (sortedNoteQueue.size() > 1) + { + newNote = lowestPitch_; + newNote = applyTranspPattern(newNote); + newNote = newNote + (octavePos_ * 12); + playNote(noteon_micros, newNote, velocity_, channel); + + newNote = highestPitch_; + newNote = applyTranspPattern(newNote); + newNote = newNote + (octavePos_ * 12); + playNote(noteon_micros, newNote, velocity_, channel); + + newNote = -127; // Don't play this note. + + // lastPlayedNoteNumber_ = -130; + lastPlayedMod_ = modMode; + lastPlayedNoteNumber_ = newNote; + } + else // only 1 note in queue + { + newNote = noteNumber; + } + } + break; + case MODPAT_CHORD: + { + uint32_t noteon_micros = seqConfig.currentFrameMicros; + stepLength_ = findStepLength(); + + for (ArpNote n : sortedNoteQueue) + { + newNote = n.noteNumber; + newNote = applyTranspPattern(newNote); + newNote = newNote + (octavePos_ * 12); + + playNote(noteon_micros, newNote, velocity_, n.channel); + } + + lastPlayedMod_ = modMode; + lastPlayedNoteNumber_ = newNote; + + // lastPlayedNoteNumber_ = -131; + + newNote = -127; // Don't play this note. + } + break; + case MODPAT_NOTE1: + case MODPAT_NOTE2: + case MODPAT_NOTE3: + case MODPAT_NOTE4: + case MODPAT_NOTE5: + case MODPAT_NOTE6: + { + uint8_t noteIndex = modMode - MODPAT_NOTE1; + + if (arpMode_ == ARPMODE_ON || arpMode_ == ARPMODE_ONCE) + { + if (noteIndex < playedNoteQueue.size()) + { + newNote = playedNoteQueue[noteIndex].noteNumber; + } + else + { + newNote = -127; + } + } + else // Hold or one shot + { + if (noteIndex < holdNoteQueue.size()) + { + newNote = holdNoteQueue[noteIndex].noteNumber; + } + else + { + newNote = -127; + } + } + } + break; + } + + if (newNote != -127) + { + lastPlayedMod_ = modMode; + lastPlayedNoteNumber_ = newNote; + } + + return newNote; + } + + uint8_t MidiFXArpeggiator::findStepLength() + { + uint8_t len = 1; + + for (uint8_t i = 1; i < 16; i++) + { + uint8_t modIndex = (modPos_ + i) % (modPatternLength_ + 1); + uint8_t mod = modPattern_[modIndex].mod; + if (mod == MODPAT_TIE) + { + // Increase length for each tie + len++; + } + else + { + break; + } + } + + return len; + } + + int16_t MidiFXArpeggiator::applyTranspPattern(int16_t noteNumber) + { + // Simple + int16_t newNote = noteNumber + transpPattern_[transpPos_]; + + return newNote; + } + + void MidiFXArpeggiator::playNote(uint32_t noteOnMicros, int16_t noteNumber, uint8_t velocity, uint8_t channel) + { + // Serial.println("PlayNote: " + String(note.noteNumber)); + if (noteNumber < 0 || noteNumber > 127) + return; + + MidiNoteGroup noteOut; + + noteOut.channel = channel + 1; + noteOut.noteNumber = (uint8_t)noteNumber; + noteOut.prevNoteNumber = (uint8_t)noteNumber; + noteOut.velocity = velocity; + noteOut.stepLength = ((float)gate * 0.01f) * (16.0f * multiplier_) * (float)stepLength_; + noteOut.sendMidi = sendMidi_; + noteOut.sendCV = sendCV_; + noteOut.noteonMicros = noteOnMicros; + noteOut.unknownLength = false; + noteOut.noteOff = false; + + // lastPlayedNoteNumber_ = noteNumber; + + sendNoteOut(noteOut); + } + + void MidiFXArpeggiator::onEncoderChangedEditParam(Encoder::Update enc) + { + int8_t page = params_.getSelPage(); + int8_t param = params_.getSelParam(); + + // auto amt = enc.accel(5); + + auto amtSlow = enc.accel(1); + auto amtFast = enc.accel(5); + + if (page == ARPPAGE_1) // Mode, Pattern, Reset mode, Chance + { + if (param == 0) + { + uint8_t prevArpMode = arpMode_; + arpMode_ = constrain(arpMode_ + amtSlow, 0, 4); + if (prevArpMode != arpMode_ && arpMode_ != ARPMODE_HOLD) + { + changeArpMode(arpMode_); + // if((arpMode_ == ARPMODE_ON && hasMidiNotes() == false) || (arpMode_ == ARPMODE_ONCE && hasMidiNotes() == false) || arpMode_ == ARPMODE_OFF) + // { + // stopArp(); + // } + + // switch (arpMode_) + // { + // case ARPMODE_OFF: + // case ARPMODE_ON: + // resync(); + // break; + // } + // omxDisp.displayMessage(tempString_.c_str()); + } + } + else if (param == 1) + { + uint8_t prevArpPat = arpPattern_; + arpPattern_ = constrain(arpPattern_ + amtSlow, 0, ARPPAT_NUM_OF_PATS - 1); + if (prevArpPat != arpPattern_) + { + omxDisp.displayMessage(kPatMsg_[arpPattern_]); + sortNotes(); + } + // holdNotes_ = constrain(holdNotes_ + amt, 0, 1); + } + else if (param == 2) + { + uint8_t prevResetMode = resetMode_; + resetMode_ = constrain(resetMode_ + amtSlow, 0, 4 - 1); + if (prevResetMode != resetMode_) + { + // omxDisp.displayMessage(kResetMsg_[resetMode_]); + } + } + else if (param == 3) + { + chancePerc_ = constrain(chancePerc_ + amtFast, 0, 100); + } + } + else if (page == ARPPAGE_2) // Rate, Octave Range, Gate, BPM + { + if (param == 0) + { + rateIndex_ = constrain(rateIndex_ + amtSlow, 0, kNumArpRates - 1); + multiplierCalculated_ = false; + } + else if (param == 1) + { + octaveRange_ = constrain(octaveRange_ + amtSlow, 0, 7); + } + else if (param == 2) + { + gate = constrain(gate + amtFast, 2, 200); + } + else if (param == 3) + { + clockConfig.newtempo = constrain(clockConfig.clockbpm + amtFast, 40, 300); + if (clockConfig.newtempo != clockConfig.clockbpm) + { + // SET TEMPO HERE + clockConfig.clockbpm = clockConfig.newtempo; + omxUtil.resetClocks(); + } + // rateIndex_ = constrain(rateIndex_ + amt, 0, kNumArpRates - 1); + } + } + else if (page == ARPPAGE_3) + { + if (param == 0) + { + octDistance_ = constrain(octDistance_ + amtSlow, -24, 24); + + // velocity_ = constrain(velocity_ + amtFast, 0, 127); + } + else if (param == 1) + { + quantizedRateIndex_ = constrain(quantizedRateIndex_ + amtSlow, -2, kNumArpRates - 1); + quantizeSync_ = quantizedRateIndex_ >= -1; // -2 for off + } + // else if (param == 2) + // { + // sendMidi_ = constrain(sendMidi_ + amtSlow, 0, 1); + // } + // else if (param == 2) + // { + // sendCV_ = constrain(sendCV_ + amtSlow, 0, 1); + // } + } + else if (page == ARPPAGE_4) // Velocity, midiChannel_, sendMidi, sendCV + { + // if (param == 0) + // { + // midiChannel_ = constrain(midiChannel_ + amtSlow, 0, 15); + + // // velocity_ = constrain(velocity_ + amtFast, 0, 127); + // } + // else if (param == 1) + // { + // midiChannel_ = constrain(midiChannel_ + amtSlow, 0, 15); + // } + // else if (param == 2) + // { + // sendMidi_ = constrain(sendMidi_ + amtSlow, 0, 1); + // } + // else if (param == 2) + // { + // sendCV_ = constrain(sendCV_ + amtSlow, 0, 1); + // } + } + else if (page == ARPPAGE_MODPAT) + { + if (param < 16) + { + uint8_t prevMod = modPattern_[param].mod; + modPattern_[param].mod = constrain(modPattern_[param].mod + amtSlow, 0, MODPAT_NUM_OF_MODS - 1); + + if (prevMod != modPattern_[param].mod) + { + headerMessage_ = kArpModMsg_[modPattern_[param].mod]; + showMessage(); + } + } + else + { + modPatternLength_ = constrain(modPatternLength_ + amtSlow, 0, 15); + } + } + else if (page == ARPPAGE_TRANSPPAT) + { + if (param < 16) + { + transpPattern_[param] = constrain(transpPattern_[param] + amtSlow, -48, 48); + // transpPattern_[param] = constrain(transpPattern_[param] + amtSlow, 0, 127); + } + else + { + transpPatternLength_ = constrain(transpPatternLength_ + amtSlow, 0, 15); + } + } + omxDisp.setDirty(); + } + + bool MidiFXArpeggiator::usesKeys() + { + return params_.getSelPage() >= ARPPAGE_MODPAT; + } + void MidiFXArpeggiator::onKeyUpdate(OMXKeypadEvent e, uint8_t funcKeyMode) + { + if (e.held()) + return; + + int thisKey = e.key(); + + auto page = params_.getSelPage(); + auto param = params_.getSelParam(); + + if (e.down() && page >= ARPPAGE_MODPAT && heldKey16_ < 0 && thisKey == 3) + { + funcKeyModLength_ = true; + } + + if (!e.down() && thisKey == 3) + { + funcKeyModLength_ = false; + } + + if (funcKeyMode == FUNCKEYMODE_NONE || heldKey16_ >= 0) + { + if (e.down()) + { + if (page == ARPPAGE_MODPAT || page == ARPPAGE_TRANSPPAT) + { + if (heldKey16_ >= 0 && thisKey > 0 && thisKey < 11) + { + if (page == ARPPAGE_MODPAT) + { + modPattern_[heldKey16_].mod = thisKey - 1; + modCopyBuffer_ = thisKey - 1; + + headerMessage_ = kArpModMsg_[modPattern_[param].mod]; + showMessage(); + } + else if (page == ARPPAGE_TRANSPPAT) + { + transpPattern_[heldKey16_] = thisKey - 1; + transpCopyBuffer_ = thisKey - 1; + } + } + // Select step + if (thisKey >= 11) + { + if (param == 16 || funcKeyModLength_) + { + if (page == ARPPAGE_MODPAT) + { + modPatternLength_ = thisKey - 11; + } + else if (page == ARPPAGE_TRANSPPAT) + { + transpPatternLength_ = thisKey - 11; + } + + heldKey16_ = -1; + } + else + { + if (page == ARPPAGE_MODPAT) + { + modCopyBuffer_ = modPattern_[thisKey - 11].mod; + } + else if (page == ARPPAGE_TRANSPPAT) + { + transpCopyBuffer_ = transpPattern_[thisKey - 11]; + } + + params_.setSelParam(thisKey - 11); + heldKey16_ = thisKey - 11; + } + } + } + } + else + { + if (thisKey >= 11 && thisKey - 11 == heldKey16_) + { + heldKey16_ = -1; + } + } + } + else if (funcKeyMode == FUNCKEYMODE_F1) + { + if (page == ARPPAGE_MODPAT || page == ARPPAGE_TRANSPPAT) + { + if (e.down()) + { + if (thisKey >= 11) + { + if (page == ARPPAGE_MODPAT) + { + modPattern_[thisKey - 11].mod = 0; + modCopyBuffer_ = 0; + } + else if (page == ARPPAGE_TRANSPPAT) + { + transpPattern_[thisKey - 11] = 0; + transpCopyBuffer_ = 0; + } + + params_.setSelParam(thisKey - 11); + + headerMessage_ = "Reset: " + String(thisKey - 11 + 1); + showMessage(); + } + } + } + } + else if (funcKeyMode == FUNCKEYMODE_F2) + { + if (page == ARPPAGE_MODPAT || page == ARPPAGE_TRANSPPAT) + { + if (e.down()) + { + if (thisKey >= 11) + { + if (page == ARPPAGE_MODPAT) + { + modPattern_[thisKey - 11].mod = modCopyBuffer_; + } + else if (page == ARPPAGE_TRANSPPAT) + { + transpPattern_[thisKey - 11] = transpCopyBuffer_; + } + + params_.setSelParam(thisKey - 11); + + headerMessage_ = "Pasted: " + String(thisKey - 11 + 1); + showMessage(); + } + } + } + } + else if (funcKeyMode == FUNCKEYMODE_F3) + { + if (page == ARPPAGE_MODPAT || page == ARPPAGE_TRANSPPAT) + { + if (e.down()) + { + if (thisKey >= 11) + { + if (page == ARPPAGE_MODPAT) + { + modCopyBuffer_ = rand() % MODPAT_NUM_OF_MODS; + modPattern_[thisKey - 11].mod = modCopyBuffer_; + } + else if (page == ARPPAGE_TRANSPPAT) + { + transpCopyBuffer_ = rand() % 12; + transpPattern_[thisKey - 11] = transpCopyBuffer_; + } + + params_.setSelParam(thisKey - 11); + + headerMessage_ = "Random: " + String(thisKey - 11 + 1); + showMessage(); + } + } + } + } + } + + void MidiFXArpeggiator::onKeyHeldUpdate(OMXKeypadEvent e, uint8_t funcKeyMode) + { + } + + void MidiFXArpeggiator::updateLEDs(uint8_t funcKeyMode) + { + bool blinkState = omxLeds.getBlinkState(); + + auto page = params_.getSelPage(); + auto param = params_.getSelParam(); + + if (heldKey16_ < 0) + { + auto modLengthColor = (funcKeyModLength_ && blinkState) ? LEDOFF : FUNKONE; + strip.setPixelColor(3, modLengthColor); + + // Function Keys + if (funcKeyMode == FUNCKEYMODE_F3) + { + auto f3Color = blinkState ? LEDOFF : FUNKTHREE; + strip.setPixelColor(1, f3Color); + strip.setPixelColor(2, f3Color); + } + else + { + auto f1Color = (funcKeyMode == FUNCKEYMODE_F1 && blinkState) ? LEDOFF : FUNKONE; + strip.setPixelColor(1, f1Color); + + auto f2Color = (funcKeyMode == FUNCKEYMODE_F2 && blinkState) ? LEDOFF : FUNKTWO; + strip.setPixelColor(2, f2Color); + } + } + else // Key 16 is held, quick change value + { + const uint32_t vcolor = 0x101010; + const uint32_t vcolor2 = 0xD0D0D0; + + if (page == ARPPAGE_MODPAT) + { + for (uint8_t i = 0; i < 10; i++) + { + if (modPattern_[heldKey16_].mod == i) + { + strip.setPixelColor(i + 1, blinkState ? vcolor : LEDOFF); + } + else + { + strip.setPixelColor(i + 1, vcolor); + } + } + } + else if (page == ARPPAGE_TRANSPPAT) + { + for (uint8_t i = 0; i < 10; i++) + { + if (i <= transpPattern_[heldKey16_]) + { + strip.setPixelColor(i + 1, vcolor2); + } + else + { + strip.setPixelColor(i + 1, vcolor); + } + } + } + } + + if (page == ARPPAGE_MODPAT) + { + // const auto MSEL = 0xFFC0C0; + const uint32_t MASP = ORANGE; + // const uint32_t MREST = 0x440600; + const uint32_t MREST = 0x100000; + const uint32_t MTIE = 0x801000; + const uint32_t MREPEAT = RED; + const uint32_t MOTHER = 0xFF00FF; + + for (uint8_t i = 0; i < 16; i++) + { + if (param == i && blinkState) // Selected + { + // strip.setPixelColor(11 + i, MSEL); + } + else + { + if (i < modPatternLength_ + 1) + { + auto mod = modPattern_[i].mod; + + if (mod == MODPAT_ARPNOTE) + { + strip.setPixelColor(11 + i, MASP); + } + else if (mod == MODPAT_REST) + { + strip.setPixelColor(11 + i, MREST); + } + else if (mod == MODPAT_TIE) + { + strip.setPixelColor(11 + i, MTIE); + } + else if (mod == MODPAT_REPEAT) + { + strip.setPixelColor(11 + i, MREPEAT); + } + else + { + strip.setPixelColor(11 + i, MOTHER); + } + } + } + } + } + else if (page == ARPPAGE_TRANSPPAT) + { + // const auto TSEL = 0x9090FF; + const uint32_t TZERO = 0x0000FF; + const uint32_t THIGH = 0x8080FF; + const uint32_t TLOW = 0x000020; + + for (uint8_t i = 0; i < 16; i++) + { + if (param == i && blinkState) // Selected + { + // strip.setPixelColor(11 + i, TSEL); + } + else + { + if (i < transpPatternLength_ + 1) + { + if (transpPattern_[i] == 0) + { + strip.setPixelColor(11 + i, TZERO); + } + else if (transpPattern_[i] > 0) + { + strip.setPixelColor(11 + i, THIGH); + } + else + { + strip.setPixelColor(11 + i, TLOW); + } + } + } + } + } + } + + void MidiFXArpeggiator::showMessage() + { + const uint8_t secs = 5; + messageTextTimer = secs * 100000; + omxDisp.setDirty(); + } + + void MidiFXArpeggiator::onDisplayUpdate(uint8_t funcKeyMode) + { + int8_t page = params_.getSelPage(); + bool useLabelHeader = false; + + if (messageTextTimer > 0) + { + tempStrings[0] = headerMessage_; + useLabelHeader = true; + } + + if (!useLabelHeader && funcKeyMode == FUNCKEYMODE_NONE && (page == ARPPAGE_MODPAT || page == ARPPAGE_TRANSPPAT)) + { + if (funcKeyModLength_) + { + useLabelHeader = true; + + tempStrings[0] = "Set Length"; + } + } + + if (!useLabelHeader && funcKeyMode != FUNCKEYMODE_NONE && (page == ARPPAGE_MODPAT || page == ARPPAGE_TRANSPPAT)) + { + useLabelHeader = true; + + if (funcKeyMode == FUNCKEYMODE_F1) + { + tempStrings[0] = "Reset"; + // omxDisp.dispGenericModeLabel("Reset", params_.getNumPages(), params_.getSelPage()); + } + else if (funcKeyMode == FUNCKEYMODE_F2) + { + tempStrings[0] = "Paste"; + // omxDisp.dispGenericModeLabel("Paste", params_.getNumPages(), params_.getSelPage()); + } + else if (funcKeyMode == FUNCKEYMODE_F3) + { + tempStrings[0] = "Random"; + // omxDisp.dispGenericModeLabel("Random", params_.getNumPages(), params_.getSelPage()); + } + } + + if (page == ARPPAGE_MODPAT) + { + const char *modChars[16]; + for (uint8_t i = 0; i < 16; i++) + { + modChars[i] = kArpModDisp_[modPattern_[i].mod]; + } + + if (useLabelHeader) + { + const char *labels[1]; + labels[0] = tempStrings[0].c_str(); + + omxDisp.dispChar16(modChars, modPatternLength_ + 1, constrain(params_.getSelParam(), 0, 15), params_.getNumPages(), params_.getSelPage(), getEncoderSelect(), true, labels, 1); + } + else + { + const char *labels[3]; + + tempStrings[0] = "LEN: " + String(modPatternLength_ + 1); + + if (params_.getSelParam() < 16) + { + tempStrings[1] = "SEL: " + String(params_.getSelParam() + 1); + tempStrings[2] = "MOD: " + String(kArpModDisp_[modPattern_[params_.getSelParam()].mod]); + } + else + { + tempStrings[1] = "SEL: -"; + tempStrings[2] = "MOD: -"; + } + + labels[0] = tempStrings[0].c_str(); + labels[1] = tempStrings[1].c_str(); + labels[2] = tempStrings[2].c_str(); + omxDisp.dispChar16(modChars, modPatternLength_ + 1, params_.getSelParam(), params_.getNumPages(), params_.getSelPage(), getEncoderSelect(), true, labels, 3); + } + + return; + } + else if (page == ARPPAGE_TRANSPPAT) + { + if (useLabelHeader) + { + const char *labels[1]; + labels[0] = tempStrings[0].c_str(); + + omxDisp.dispValues16(transpPattern_, transpPatternLength_ + 1, -10, 10, true, constrain(params_.getSelParam(), 0, 15), params_.getNumPages(), params_.getSelPage(), getEncoderSelect(), true, labels, 1); + } + else + { + const char *labels[3]; + + tempStrings[0] = "LEN: " + String(transpPatternLength_ + 1); + + if (params_.getSelParam() < 16) + { + tempStrings[1] = "SEL: " + String(params_.getSelParam() + 1); + tempStrings[2] = "OFS: " + String(transpPattern_[params_.getSelParam()]); + } + else + { + tempStrings[1] = "SEL: -"; + tempStrings[2] = "OFS: -"; + } + + labels[0] = tempStrings[0].c_str(); + labels[1] = tempStrings[1].c_str(); + labels[2] = tempStrings[2].c_str(); + + omxDisp.dispValues16(transpPattern_, transpPatternLength_ + 1, -10, 10, true, params_.getSelParam(), params_.getNumPages(), params_.getSelPage(), getEncoderSelect(), true, labels, 3); + } + + // omxDisp.dispValues16(transpPattern_, transpPatternLength_ + 1, 0, 127, false, params_.getSelParam(), params_.getNumPages(), params_.getSelPage(), encoderSelect_, true, labels, 3); + return; + } + else if(page == ARPPAGE_Chance) + { + omxDisp.dispParamBar(chancePerc_, chancePerc_, 0, 100, !getEncoderSelect(), false, "Arpeggiator", "Chance"); + return; + } + + omxDisp.clearLegends(); + + if (page == ARPPAGE_1) // Mode, Pattern, Reset mode, Chance + { + omxDisp.setLegend(0, "MODE", kModeDisp_[arpMode_]); + omxDisp.setLegend(1, "PAT", kPatDisp_[arpPattern_]); + omxDisp.setLegend(2, "RSET", kResetDisp_[resetMode_]); + omxDisp.setLegend(3, "CHC%", String(chancePerc_) + "%"); + } + else if (page == ARPPAGE_2) // Rate, Octave Range, Gate, BPM + { + omxDisp.setLegend(0, "RATE", "1/" + String(kArpRates[rateIndex_])); + omxDisp.setLegend(1, "RANG", octaveRange_ + 1); + omxDisp.setLegend(2, "GATE", gate); + omxDisp.setLegend(3, "BPM", (int)clockConfig.clockbpm); + } + else if (page == ARPPAGE_3) // Transpose Distance + { + omxDisp.setLegend(0, "ODIST", octDistance_ >= 0 ? ("+" + String(octDistance_)) : (String(octDistance_))); + omxDisp.setLegend(1, "QUANT", quantizedRateIndex_ <= -2, quantizedRateIndex_ == -1 ? "GBL" : "1/" + String(kArpRates[quantizedRateIndex_])); + } + else if (page == ARPPAGE_4) // Velocity, midiChannel_, sendMidi, sendCV + { + omxDisp.setLegend(0, "VEL", velocity_); + omxDisp.setLegend(1, "CHAN", midiChannel_ + 1); + omxDisp.setLegend(2, "MIDI", sendMidi_); + omxDisp.setLegend(3, "CV", sendCV_); + } + + omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), getEncoderSelect()); + } + + int MidiFXArpeggiator::saveToDisk(int startingAddress, Storage *storage) + { + ArpSave arpSave; + arpSave.chancePerc = chancePerc_; + arpSave.arpMode = arpMode_; + arpSave.arpPattern = arpPattern_; + arpSave.resetMode = resetMode_; + arpSave.midiChannel = midiChannel_; + arpSave.swing = swing_; + arpSave.rateIndex = rateIndex_; + arpSave.quantizedRateIndex_ = quantizedRateIndex_; + arpSave.octaveRange = octaveRange_; + arpSave.octDistance_ = octDistance_; + arpSave.gate = gate; + arpSave.modPatternLength = modPatternLength_; + arpSave.transpPatternLength = transpPatternLength_; + + for (uint8_t i = 0; i < 16; i++) + { + arpSave.modPattern[i] = modPattern_[i]; + arpSave.transpPattern[i] = transpPattern_[i]; + } + + int saveSize = sizeof(ArpSave); + + auto saveBytesPtr = (byte *)(&arpSave); + for (int j = 0; j < saveSize; j++) + { + storage->write(startingAddress + j, *saveBytesPtr++); + } + + return startingAddress + saveSize; + } + + int MidiFXArpeggiator::loadFromDisk(int startingAddress, Storage *storage) + { + int saveSize = sizeof(ArpSave); + + auto arpSave = ArpSave{}; + auto current = (byte *)&arpSave; + for (int j = 0; j < saveSize; j++) + { + *current = storage->read(startingAddress + j); + current++; + } + + chancePerc_ = arpSave.chancePerc; + arpMode_ = arpSave.arpMode; + arpPattern_ = arpSave.arpPattern; + resetMode_ = arpSave.resetMode; + midiChannel_ = arpSave.midiChannel; + swing_ = arpSave.swing; + rateIndex_ = arpSave.rateIndex; + quantizedRateIndex_ = arpSave.quantizedRateIndex_; + octaveRange_ = arpSave.octaveRange; + octDistance_ = arpSave.octDistance_; + gate = arpSave.gate; + modPatternLength_ = arpSave.modPatternLength; + transpPatternLength_ = arpSave.transpPatternLength; + + quantizeSync_ = quantizedRateIndex_ >= -1; + + for (uint8_t i = 0; i < 16; i++) + { + modPattern_[i] = arpSave.modPattern[i]; + transpPattern_[i] = arpSave.transpPattern[i]; + } + + changeArpMode(arpMode_); + prevArpMode_ = arpMode_; + + return startingAddress + saveSize; + } +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_arpeggiator.h b/Archive/OMX-27-firmware/src/midifx/midifx_arpeggiator.h new file mode 100644 index 00000000..8f82f11c --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_arpeggiator.h @@ -0,0 +1,360 @@ +#pragma once + +#include "midifx_interface.h" +#include "midifx_notemaster.h" + +namespace midifx +{ + enum ArpMode + { + ARPMODE_OFF, + ARPMODE_ON, + ARPMODE_ONESHOT, + ARPMODE_ONCE, + ARPMODE_HOLD + }; + + // in: C,E,G,B + enum ArpPattern + { + ARPPAT_UP, // Plays notes from lowest to highest: CEGB-CEGB + ARPPAT_DOWN, // Plays notes from highest to loweest: BGEC-BGEC + ARPPAT_UP_DOWN, // Plays notes up then down: CEGBGE-CEGBGE + ARPPAT_DOWN_UP, // Plays notes down then up: BGECEG-BGECEG + ARPPAT_UP_AND_DOWN, // Plays notes up then down, end notes repeat: CEGBBGEC-CEGBBGEC + ARPPAT_DOWN_AND_UP, // Down then up, ends repeat: BGECCEGB + ARPPAT_CONVERGE, // Converges notes to center point: CBEG-CBEG + ARPPAT_DIVERGE, // Diverges notes from center: GEBC-GEBC + ARPPAT_CONVERGE_DIVERGE, // Converges then diverges: CBEGEB-CBEGEB + ARPPAT_HI_UP, // Alternates between highest note: BGBEBC-BGBEBC + ARPPAT_HI_UP_DOWN, // BGBEBCBE-BGBEBCBE + ARPPAT_LOW_UP, // Alternates between lowest note: CECGCB-CECGCB + ARPPAT_LOW_UP_DOWN, // CECGCBCG-CECGCBCG + ARPPAT_RAND, // Plays notes randomly, same note could get played twice: GGEGCBB- + ARPPAT_RAND_OTHER, // Plays notes randomly, but won't play same note in a row: EGEBCEB + ARPPAT_RAND_ONCE, // Plays notes randomly only once, so all notes get played: GCBE + ARPPAT_AS_PLAYED, // Plays notes in the order they are played + ARPPAT_NUM_OF_PATS + }; + + enum ModPattern + { + MODPAT_ARPNOTE, // Plays note as generated by arp + MODPAT_REST, // Skips note + MODPAT_TIE, // Increases length of previous note + MODPAT_REPEAT, // Repeats the last note played + MODPAT_LOWPITCH_OCTAVE, // Lowest pitch minus 1 octave + MODPAT_HIGHPITCH_OCTAVE, // Highest pitch plus 1 octave + MODPAT_PWRCHORD, // Plays a power chord of lowest and highest note + MODPAT_CHORD, // Plays a chord of all the notes being played + MODPAT_NOTE1, // Plays 1st note as played + MODPAT_NOTE2, // 2nd note as played + MODPAT_NOTE3, + MODPAT_NOTE4, + MODPAT_NOTE5, + MODPAT_NOTE6, + MODPAT_NUM_OF_MODS + }; + + enum ArpResetMode + { + ARPRESET_NORMAL, // Resets after reaching end of arp pattern and octave range + ARPRESET_NOTE, // Resets whenever a new note is added to arp + ARPRESET_MODPAT, // Resets after mod pattern is completed + ARPRESET_TRANSPOSEPAT // Resets after the transpose pattern is completed + }; + + class MidiFXArpeggiator : public MidiFXInterface + { + public: + MidiFXArpeggiator(); + ~MidiFXArpeggiator(); + + int getFXType() override; + const char *getName() override; + const char *getDispName() override; + + MidiFXInterface *getClone() override; + + void onModeChanged() override; + + void loopUpdate() override; + void onClockTick() override; + void resync() override; + + bool usesKeys() override; + void onKeyUpdate(OMXKeypadEvent e, uint8_t funcKeyMode) override; + void onKeyHeldUpdate(OMXKeypadEvent e, uint8_t funcKeyMode) override; + void updateLEDs(uint8_t funcKeyMode) override; + + void onDisplayUpdate(uint8_t funcKeyMode) override; + + void noteInput(MidiNoteGroup note) override; + // MidiFXNoteFunction getInputFunc() override; + + int saveToDisk(int startingAddress, Storage *storage) override; + int loadFromDisk(int startingAddress, Storage *storage) override; + + // Toggles between off and previous mode + void toggleArp(); + void toggleHold(); + void nextArpPattern(); + void nextOctRange(); + + bool isOn(); + bool isHoldOn(); + + uint8_t getOctaveRange(); + + protected: + void onEnabled() override; + void onDisabled() override; + + void onSelected() override; + void onDeselected() override; + + void onEncoderChangedEditParam(Encoder::Update enc) override; + + private: + struct ArpNote + { + // bool inUse = false; + uint8_t noteNumber; + uint8_t channel; + // uint8_t velocity : 7; + // bool sendMidi = false; + // bool sendCV = false; + + ArpNote() + { + noteNumber = 255; + } + + ArpNote(int noteNumber, uint8_t channel) + { + if (noteNumber < 0 || noteNumber > 127) + { + noteNumber = 255; + } + this->noteNumber = noteNumber; + this->channel = channel; + } + + ArpNote(MidiNoteGroup *noteGroup) + { + noteNumber = noteGroup->noteNumber; + channel = noteGroup->channel - 1; + // velocity = noteGroup.velocity; + // sendMidi = noteGroup.sendMidi; + // sendCV = noteGroup.sendCV; + } + }; + + struct PendingArpNote + { + MidiNoteGroupCache noteCache; + Micros offTime; + }; + + // In struct to limit bits + struct ArpMod + { + uint8_t mod : 4; + + ArpMod() + { + mod = 0; + } + }; + + struct ArpSave + { + uint8_t chancePerc : 7; + uint8_t arpMode : 3; + uint8_t arpPattern : 5; + uint8_t resetMode : 3; + uint8_t midiChannel : 4; // 0-15, Add 1 when using + uint8_t swing : 7; // max 100 + uint8_t rateIndex : 4; // max 15 + int8_t quantizedRateIndex_ : 5; // max 15 or -1 for hz + uint8_t octaveRange : 4; // max 7, 0 = 1 octave + int8_t octDistance_ : 6; // -24 to 24 + uint8_t gate; // 0 - 200 + + uint8_t modPatternLength : 4; // Max 15 + ArpMod modPattern[16]; + + uint8_t transpPatternLength : 4; // Max 15 + int8_t transpPattern[16]; + }; + + static inline bool + compareArpNote(ArpNote a1, ArpNote a2) + { + return (a1.noteNumber < a2.noteNumber); + } + + uint8_t chancePerc_ : 7; + + uint8_t arpMode_ : 3; + + uint8_t arpPattern_ : 5; + + uint8_t resetMode_ : 3; + + // bool holdNotes_; + + uint8_t midiChannel_ : 4; // 0-15, Add 1 when using + + uint8_t swing_ : 7; // max 100 + + uint8_t rateIndex_ : 4; // max 15 + + int8_t quantizedRateIndex_ : 5; // max 15 or -1 for hz + + uint8_t octaveRange_ : 4; // max 7, 0 = 1 octave + int8_t octDistance_ : 6; // -24 to 24 + + uint8_t gate = 90; // 0 - 200 + + // int arpSize = sizeof(ArpNote); + + uint8_t velocity_ : 7; + bool sendMidi_ = false; + bool sendCV_ = false; + + uint8_t randPrevNote_; + + bool quantizeSync_ = true; + + bool pendingStart_ = false; + bool pendingStop_ = false; + Micros nextArpTriggerTime_; + + // Micros pendingStartTime_; + // uint8_t pendingStopCount_ = 0; + + bool arpRunning_ = false; + + bool multiplierCalculated_ = false; + + static const int queueSize = 8; + + std::vector playedNoteQueue; // Keeps track of which notes are being played + std::vector holdNoteQueue; // Holds notes + std::vector sortedNoteQueue; // Notes that are used in arp + std::vector tempNoteQueue; // Notes that are used in arp + + std::vector prevSortedNoteQueue; + + std::vector fixedLengthNotes; // Notes that are used in arp + + uint8_t modPatternLength_ : 4; // Max 15 + ArpMod modPattern_[16]; + + uint8_t transpPatternLength_ : 4; // Max 15 + int8_t transpPattern_[16]; + + uint8_t modPos_ : 5; + uint8_t transpPos_ : 5; + int8_t notePos_; + uint8_t octavePos_ : 4; + uint8_t syncPos_ : 5; + + uint8_t lowestPitch_; + uint8_t highestPitch_; + uint8_t stepLength_ = 1; // length of note in arp steps + + // ArpNote notePat_[256]; + // int notePatLength_ = 0; + int patPos_; + bool goingUp_; + + bool funcKeyModLength_; // Shortcut key to edit length of mod and transpose patterns without needing to use the encoder + + int8_t heldKey16_ = -1; // Key that is held + + int8_t modCopyBuffer_; + int8_t transpCopyBuffer_; + + int16_t lastPlayedNoteNumber_; + int8_t lastPlayedMod_; + + // Micros nextStepTimeP_ = 32; + // Micros lastStepTimeP_ = 32; + // uint32_t stepMicroDelta_ = 0; + + float multiplier_ = 1; + + // String tempString_; + // String tempString2_; + // String tempString3_; + + String headerMessage_; + + int messageTextTimer = 0; + + // Used for toggling arp + uint8_t prevArpMode_ : 3; + + int8_t prevNotePos_; + int8_t nextNotePos_; + int8_t prevQLength_; + + bool resetNextTrigger_; + bool sortOrderChanged_; + + MidiFXNoteMaster noteMaster; + + static void processNoteForwarder(void *context, MidiNoteGroup *note) + { + static_cast(context)->processNoteInput(note); + } + + static void sendNoteOutForwarder(void *context, MidiNoteGroup *note) + { + static_cast(context)->sendNoteOut(*note); + } + + // MidiNoteGroup trackingNoteGroups[8]; + // MidiNoteGroup trackingNoteGroupsPassthrough[8]; + + bool insertMidiNoteQueue(MidiNoteGroup *note); + bool removeMidiNoteQueue(MidiNoteGroup *note); + + void findIndexOfNextNotePos(); + + void sortNotes(); + // void generatePattern(); + + bool hasMidiNotes(); + + // void trackNoteInput(MidiNoteGroup note); + // void trackNoteInputPassthrough(MidiNoteGroup note, bool ignoreNoteOns); + void processNoteInput(MidiNoteGroup *note); + + void arpNoteOn(MidiNoteGroup *note); + void arpNoteOff(MidiNoteGroup *note); + + void startArp(); + void doPendingStart(); + void stopArp(); + void doPendingStop(); + void resetArpSeq(); + + void updateMultiplier(); + + void arpNoteTrigger(); + int16_t applyModPattern(int16_t note, uint8_t channel); + uint8_t findStepLength(); + int16_t applyTranspPattern(int16_t note); + + void playNote(uint32_t noteOnMicros, int16_t noteNumber, uint8_t velocity, uint8_t channel); + + void showMessage(); + + bool isModeHold(uint8_t arpMode); + + void changeArpMode(uint8_t newArpMode); + }; +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_chance.cpp b/Archive/OMX-27-firmware/src/midifx/midifx_chance.cpp new file mode 100644 index 00000000..96e62517 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_chance.cpp @@ -0,0 +1,131 @@ +#include "midifx_chance.h" +#include "../hardware/omx_disp.h" + +namespace midifx +{ + enum ChancePage + { + CHPAGE_1 + }; + + MidiFXChance::MidiFXChance() + { + params_.addPage(1); + encoderSelect_ = true; + chancePerc_ = random(100); + } + + int MidiFXChance::getFXType() + { + return MIDIFX_CHANCE; + } + + const char *MidiFXChance::getName() + { + return "Chance"; + } + + const char *MidiFXChance::getDispName() + { + return "CHC"; + } + + MidiFXInterface *MidiFXChance::getClone() + { + auto clone = new MidiFXChance(); + clone->chancePerc_ = chancePerc_; + return clone; + } + + void MidiFXChance::onEnabled() + { + } + + void MidiFXChance::onDisabled() + { + } + + void MidiFXChance::noteInput(MidiNoteGroup note) + { + if (note.noteOff) + { + processNoteOff(note); + return; + } + + // Serial.println("MidiFXChance::noteInput"); + // note.noteNumber += 7; + + uint8_t r = random(100); + + if (r <= chancePerc_) + { + processNoteOn(note.noteNumber, note); + sendNoteOut(note); + } + } + + // MidiFXNoteFunction MidiFXChance::getInputFunc() + // { + // return &MidiFXChance::noteInput; + // } + + void MidiFXChance::loopUpdate() + { + } + + void MidiFXChance::onEncoderChangedEditParam(Encoder::Update enc) + { + int8_t page = params_.getSelPage(); + int8_t param = params_.getSelParam(); + + auto amt = enc.accel(5); + + if (page == CHPAGE_1) + { + if (param == 0) + { + chancePerc_ = constrain(chancePerc_ + amt, 0, 100); + } + } + omxDisp.setDirty(); + } + + void MidiFXChance::onDisplayUpdate(uint8_t funcKeyMode) + { + omxDisp.clearLegends(); + + int8_t page = params_.getSelPage(); + + switch (page) + { + case CHPAGE_1: + { + omxDisp.dispParamBar(chancePerc_, chancePerc_, 0, 100, !getEncoderSelect(), false, "Trigger", "Chance"); + } + break; + default: + break; + } + + // omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), getEncoderSelect()); + } + + int MidiFXChance::saveToDisk(int startingAddress, Storage *storage) + { + // Serial.println((String)"Saving mfx chance: " + startingAddress); // 5969 + // Serial.println((String)"chancePerc_: " + chancePerc_); + storage->write(startingAddress, chancePerc_); + return startingAddress + 1; + } + + int MidiFXChance::loadFromDisk(int startingAddress, Storage *storage) + { + // Serial.println((String)"Loading mfx chance: " + startingAddress); // 5969 + + chancePerc_ = constrain(storage->read(startingAddress), 0, 100); + // Serial.println((String)"chancePerc_: " + chancePerc_); + + return startingAddress + 1; + } +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_chance.h b/Archive/OMX-27-firmware/src/midifx/midifx_chance.h new file mode 100644 index 00000000..10125047 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_chance.h @@ -0,0 +1,39 @@ +#pragma once + +#include "midifx_interface.h" + +namespace midifx +{ + + class MidiFXChance : public MidiFXInterface + { + public: + MidiFXChance(); + ~MidiFXChance() {} + + int getFXType() override; + const char *getName() override; + const char *getDispName() override; + + MidiFXInterface *getClone() override; + + void loopUpdate() override; + + void onDisplayUpdate(uint8_t funcKeyMode) override; + + void noteInput(MidiNoteGroup note) override; + // MidiFXNoteFunction getInputFunc() override; + + int saveToDisk(int startingAddress, Storage *storage) override; + int loadFromDisk(int startingAddress, Storage *storage) override; + + protected: + void onEnabled() override; + void onDisabled() override; + + void onEncoderChangedEditParam(Encoder::Update enc) override; + + private: + uint8_t chancePerc_ = 100; + }; +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_chord.cpp b/Archive/OMX-27-firmware/src/midifx/midifx_chord.cpp new file mode 100644 index 00000000..f74c0dcd --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_chord.cpp @@ -0,0 +1,641 @@ +#include "midifx_chord.h" +#include "../hardware/omx_disp.h" +#include "../utils/omx_util.h" +#include "../utils/chord_util.h" +#include "../utils/music_scales.h" + +namespace midifx +{ + const char* chordTypeLabel = "Chord Type"; + const char* chordTypeOptions[2] = {"Basic", "Interval"}; + + enum MfxChordsModePage + { + MFXCHRDPAGE_NOTES = 0, + MFXCHRDPAGE_CHORDTYPE = 1, // Select Chord Type, Basic or Interval + MFXCHRDPAGE_CHANCE = 2, // Select Chord Type, Basic or Interval + MFXCHRDPAGE_BASIC_NOTES = 3, + MFXCHRDPAGE_CUSTOM_NOTES = 4, + MFXCHRDPAGE_SCALES = 3, + MFXCHRDPAGE_INT_NOTES = 4, + MFXCHRDPAGE_INT_SPREAD = 5, + MFXCHRDPAGE_INT_QUART = 6, + // MFXCHRDPAGE_1, // Note, Octave, Chord, | numNotes, degree, octave, transpose + // MFXCHRDPAGE_3, // | spread, rotate, voicing + // MFXCHRDPAGE_4, // | spreadUpDown, quartalVoicing + }; + + enum MFXChordPage + { + MFXCHORDPAGE_1 + }; + + MidiFXChord::MidiFXChord() + { + basicParams_.addPage(1); // MFXCHRDPAGE_NOTES + basicParams_.addPage(1); // MFXCHRDPAGE_CHORDTYPE + basicParams_.addPage(1); // MFXCHRDPAGE_CHANCE + basicParams_.addPage(4); // MFXCHRDPAGE_BASIC_NOTES + basicParams_.addPage(6); // MFXCHRDPAGE_CUSTOM_NOTES - Custom chord notes, toggled on and off + + intervalParams_.addPage(1); // MFXCHRDPAGE_NOTES + intervalParams_.addPage(1); // MFXCHRDPAGE_CHORDTYPE + intervalParams_.addPage(1); // MFXCHRDPAGE_CHANCE + intervalParams_.addPage(4); // MFXCHRDPAGE_SCALES + intervalParams_.addPage(4); // MFXCHRDPAGE_INT_NOTES + intervalParams_.addPage(4); // MFXCHRDPAGE_INT_SPREAD + intervalParams_.addPage(4); // MFXCHRDPAGE_INT_QUART + + encoderSelect_ = true; + } + + int MidiFXChord::getFXType() + { + return MIDIFX_CHORD; + } + + const char *MidiFXChord::getName() + { + return "Chord"; + } + + const char *MidiFXChord::getDispName() + { + return "CHRD"; + } + + MidiFXInterface *MidiFXChord::getClone() + { + auto clone = new MidiFXChord(); + + clone->chancePerc_ = chancePerc_; + clone->useGlobalScale_ = useGlobalScale_; + clone->rootNote_ = rootNote_; + clone->scaleIndex_ = scaleIndex_; + clone->chord_.CopySettingsFrom(&chord_); + + return clone; + } + + void MidiFXChord::onEnabled() + { + } + + void MidiFXChord::onDisabled() + { + } + + void MidiFXChord::noteInput(MidiNoteGroup note) + { + if (note.noteOff) + { + if(note.prevNoteNumber == lastNote_) + { + chordNotes_.active = false; + } + + processNoteOff(note); + return; + } + + if (chancePerc_ != 100 && (chancePerc_ == 0 || random(100) > chancePerc_)) + { + sendNoteOut(note); + return; + } + + lastNote_ = note.prevNoteNumber; + + onChordOn(note); + + // if (playOrigin_) + // { + // sendNoteOut(note); + // } + + // int8_t origNote = note.noteNumber; + + // int8_t sentNoteNumbers[7] = {0, 0, 0, 0, 0, 0, 0}; + + // for (uint8_t i = 0; i < 7; i++) + // { + // if (notes_[i] != 0) + // { + // int8_t newNoteNumber = constrain(origNote + notes_[i], 0, 127); + + // bool noteAlreadyPlayed = false; + + // for (uint8_t j = 0; j < 7; j++) + // { + // if (sentNoteNumbers[j] == newNoteNumber) + // { + // noteAlreadyPlayed = true; + // break; + // } + // } + + // if (!noteAlreadyPlayed) + // { + // note.noteNumber = constrain(origNote + notes_[i], 0, 127); + // sendNoteOut(note); + // sentNoteNumbers[i] = newNoteNumber; + // } + // } + // } + } + + void MidiFXChord::onChordOn(MidiNoteGroup inNote) + { + if (useGlobalScale_) + { + rootNote_ = scaleConfig.scaleRoot; + scaleIndex_ = scaleConfig.scalePattern; + } + // Serial.println("onChordOn: " + String(chordIndex)); + // if (chordNotes_[chordIndex].active) + // { + // // Serial.println("chord already active"); + // return; // This shouldn't happen + // } + + int8_t autoOctave = 0; + + if (chord_.type == CTYPE_BASIC) + { + chord_.note = inNote.noteNumber % 12; + autoOctave = (inNote.noteNumber / 12) - 5; + } + else if (chord_.type == CTYPE_INTERVAL) + { + // Get the note forced to the current scale + // int8_t noteInScale = chordUtil.getMusicScale()->remapNoteToScale(inNote.noteNumber); + chord_.degree = MusicScales::getDegreeFromNote(inNote.noteNumber, rootNote_, scaleIndex_); + // chord_.basicOct = (inNote.noteNumber / 12) - 5; + autoOctave = ((inNote.noteNumber + 12 - rootNote_) / 12) - 6; + } + + // if (constructChord(chordIndex)) + if (chordUtil.constructChord(&chord_, &chordNotes_, autoOctave, rootNote_, scaleIndex_, true)) + { + chordNotes_.active = true; + chordNotes_.channel = chord_.mchan + 1; + + // Prevent stuck notes + // playedChordNotes_[chordIndex].CopyFrom(chordNotes_[chordIndex]); + // uint8_t velocity = chords_[chordIndex].velocity; + + // uint32_t noteOnMicros = micros(); + + // Serial.print("Chord: "); + for (uint8_t i = 0; i < 6; i++) + { + int noteNumber = chordNotes_.notes[i]; + + if (noteNumber < 0 || noteNumber > 127) + { + continue; + } + // uint8_t velocity = chordNotes_.velocities[i]; + + // Serial.print("Note: " + String(note)); + // Serial.print(" Vel: " + String(velocity)); + // Serial.print("\n"); + + // if(note >= 0 && note <= 127) + // { + // // MM::sendNoteOn(note, velocity, chordNotes_[chordIndex].channel); + // pendingNoteOns.insert(note, velocity, chordNotes_[chordIndex].channel, noteOnMicros, false); + // } + + inNote.noteNumber = chordNotes_.notes[i]; + inNote.velocity = chordNotes_.velocities[i]; + + sendNoteOut(inNote); + + // doNoteOn(note, chordNotes_[chordIndex].midifx, velocity, chordNotes_[chordIndex].channel); + } + // Serial.print("\n"); + } + else + { + // Serial.println("constructChord failed"); + } + } + + // MidiFXNoteFunction MidiFXChord::getInputFunc() + // { + // return &MidiFXChord::noteInput; + // } + + void MidiFXChord::loopUpdate() + { + } + + void MidiFXChord::calculateRemap() + { + } + + void MidiFXChord::onEncoderChangedSelectParam(Encoder::Update enc) + { + auto params = getParams(); + + params->changeParam(enc.dir()); + omxDisp.setDirty(); + } + + void MidiFXChord::onEncoderChangedEditParam(Encoder::Update enc) + { + auto params = getParams(); + + int8_t selPage = params->getSelPage(); + int8_t selParam = params->getSelParam() + 1; // Add one for readability + + auto chordPtr = &chord_; + + auto amtSlow = enc.accel(1); + auto amtFast = enc.accel(5); + + if (selPage == MFXCHRDPAGE_CHORDTYPE) + { + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 1, CPARAM_CHORD_TYPE); + } + else if (selPage == MFXCHRDPAGE_CHANCE) + { + chancePerc_ = constrain(chancePerc_ + amtFast, 0, 100); + } + + if (chord_.type == CTYPE_INTERVAL) + { + if (selPage == MFXCHRDPAGE_SCALES) + { + if (selParam == 1) + { + useGlobalScale_ = constrain(useGlobalScale_ + amtSlow, 0, 1); + if (amtSlow != 0) + { + omxDisp.displayMessage((useGlobalScale_ ? "Global: ON" : "Global: OFF")); + calculateRemap(); + } + } + else if (selParam == 2) + { + if (useGlobalScale_) + { + int prevRoot = scaleConfig.scaleRoot; + scaleConfig.scaleRoot = constrain(scaleConfig.scaleRoot + amtSlow, 0, 12 - 1); + if (prevRoot != scaleConfig.scaleRoot) + { + calculateRemap(); + } + rootNote_ = scaleConfig.scaleRoot; + } + else + { + int prevRoot = rootNote_; + rootNote_ = constrain(rootNote_ + amtSlow, 0, 12 - 1); + if (prevRoot != rootNote_) + { + calculateRemap(); + } + } + } + else if (selParam == 3) + { + if (useGlobalScale_) + { + int prevPat = scaleConfig.scalePattern; + scaleConfig.scalePattern = constrain(scaleConfig.scalePattern + amtSlow, -1, MusicScales::getNumScales() - 1); + if (prevPat != scaleConfig.scalePattern) + { + omxDisp.displayMessage(MusicScales::getScaleName(scaleConfig.scalePattern)); + calculateRemap(); + } + scaleIndex_ = scaleConfig.scalePattern; + } + else + { + int prevPat = scaleIndex_; + scaleIndex_ = constrain(scaleIndex_ + amtSlow, -1, MusicScales::getNumScales() - 1); + if (prevPat != scaleIndex_) + { + omxDisp.displayMessage(MusicScales::getScaleName(scaleIndex_)); + calculateRemap(); + } + } + } + } + else if (selPage == MFXCHRDPAGE_INT_NOTES) + { + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 1, CPARAM_INT_NUMNOTES); + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 2, CPARAM_INT_DEGREE); + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 3, CPARAM_INT_OCTAVE); + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 4, CPARAM_INT_TRANSPOSE); + } + else if (selPage == MFXCHRDPAGE_INT_SPREAD) + { + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 1, CPARAM_INT_SPREAD); + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 2, CPARAM_INT_ROTATE); + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 3, CPARAM_INT_VOICING); + } + else if (selPage == MFXCHRDPAGE_INT_QUART) + { + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 1, CPARAM_INT_SPRDUPDOWN); + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 2, CPARAM_INT_QUARTVOICE); + } + } + else if (chord_.type == CTYPE_BASIC) + { + if (selPage == MFXCHRDPAGE_BASIC_NOTES) + { + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 1, CPARAM_BAS_NOTE); + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 2, CPARAM_BAS_OCT); + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 3, CPARAM_BAS_BALANCE); + chordUtil.onEncoderChangedEditParam(&enc, chordPtr, selParam, 4, CPARAM_BAS_CHORD); + } + else if (selPage == MFXCHRDPAGE_CUSTOM_NOTES) + { + auto amtSlow = enc.accel(1); + int8_t sel = params->getSelParam(); + chord_.customNotes[sel].note = constrain(chord_.customNotes[sel].note + amtSlow, -48, 48); + + if (amtSlow != 0) // To see notes change on keyboard leds + { + if (useGlobalScale_) + { + rootNote_ = scaleConfig.scaleRoot; + scaleIndex_ = scaleConfig.scalePattern; + } + + chordUtil.constructChord(chordPtr, &chordNotes_, midiSettings.octave, rootNote_, scaleIndex_, true); + } + } + } + + omxDisp.setDirty(); + } + + ParamManager *MidiFXChord::getParams() + { + if (chord_.type == CTYPE_BASIC) + { + basicParams_.setPageEnabled(MFXCHRDPAGE_CUSTOM_NOTES, chord_.chord == kCustomChordPattern); + intervalParams_.setSelPageAndParam(basicParams_.getSelPage(), basicParams_.getSelParam()); + + return &basicParams_; + } + else + { + basicParams_.setSelPageAndParam(intervalParams_.getSelPage(), intervalParams_.getSelParam()); + return &intervalParams_; + } + } + + void MidiFXChord::onDisplayUpdate(uint8_t funcKeyMode) + { + omxDisp.clearLegends(); + + auto params = getParams(); + + // if (chordEditMode_ == false && (mode_ == CHRDMODE_EDIT) && funcKeyMode_ == FUNCKEYMODE_F1) // Edit mode enter edit mode + // { + // omxDisp.dispGenericModeLabel("Edit chord", params->getNumPages(), params->getSelPage()); + // } + // else if (chordEditMode_ == false && (mode_ == CHRDMODE_EDIT) && funcKeyMode_ == FUNCKEYMODE_F2) // Edit mode copy + // { + // omxDisp.dispGenericModeLabel("Copy to", params->getNumPages(), params->getSelPage()); + // } + // if (chordEditMode_ == false && (mode_ == CHRDMODE_PLAY || mode_ == CHRDMODE_EDIT || mode_ == CHRDMODE_MANSTRUM) && funcKeyMode_ == FUNCKEYMODE_F2) // Play mode copy + // { + // omxDisp.dispGenericModeLabel("Copy to", params->getNumPages(), params->getSelPage()); + // } + // else if (chordEditMode_ == false && (mode_ == CHRDMODE_PRESET) && funcKeyMode_ == FUNCKEYMODE_F1) // Preset move load + // { + // omxDisp.dispGenericModeLabel("Load from", params->getNumPages(), params->getSelPage()); + // } + // else if (chordEditMode_ == false && (mode_ == CHRDMODE_PRESET) && funcKeyMode_ == FUNCKEYMODE_F2) // Preset move save + // { + // omxDisp.dispGenericModeLabel("Save to", params->getNumPages(), params->getSelPage()); + // } + // else if (chordEditMode_ == false && mode_ == CHRDMODE_MANSTRUM) + // { + // omxDisp.dispGenericModeLabel("Enc Strum", params->getNumPages(), 0); + // } + // else + if (params->getSelPage() == MFXCHRDPAGE_NOTES) + { + // if (chordNotes_[selectedChord_].active || chordEditNotes_.active) + // { + // notesString = ""; + tempString = ""; + + for (uint8_t i = 0; i < 6; i++) + { + int8_t note = chordNotes_.notes[i]; + + if (chordEditNotes_.active) + { + note = chordEditNotes_.notes[i]; + } + + if (note >= 0 && note <= 127) + { + if (i > 0) + { + tempString.append(" "); + } + tempString.append(MusicScales::getFullNoteName(note)); + } + } + + const char *labels[1]; + labels[0] = tempString.c_str(); + // if (chordEditNotes_.active) + // { + // // int rootNote = chords_[selectedChord_].note; + // omxDisp.dispKeyboard(chordEditNotes_.rootNote, chordEditNotes_.notes, true, labels, 1); + // } + // else + // { + // omxDisp.dispKeyboard(chordNotes_[selectedChord_].rootNote, chordNotes_[selectedChord_].notes, true, labels, 1); + // } + + omxDisp.dispKeyboard(chordNotes_.rootNote, chordNotes_.notes, true, labels, 1); + // } + // else + // { + // omxDisp.dispKeyboard(-1, noNotes, false, nullptr, 0); + + // // omxDisp.dispGenericModeLabel("-", params->getNumPages(), params->getSelPage()); + // } + } + else if (params->getSelPage() == MFXCHRDPAGE_CHORDTYPE) + { + omxDisp.dispOptionCombo(chordTypeLabel, chordTypeOptions, 2, chord_.type, getEncoderSelect()); + } + else if (params->getSelPage() == MFXCHRDPAGE_CHANCE) + { + omxDisp.dispParamBar(chancePerc_, chancePerc_, 0, 100, !getEncoderSelect(), false, "Chord Trigger", "Chance"); + } + // Chord page + else if (params->getSelPage() == MFXCHRDPAGE_BASIC_NOTES && chord_.type == CTYPE_BASIC) + { + auto noteName = MusicScales::getNoteName(chord_.note, true); + int octave = chord_.basicOct + 4; + tempString = String(octave); + auto chordType = kChordMsg[chord_.chord]; + + activeChordBalance_ = chordUtil.getChordBalance(chord_.balance); + + omxDisp.dispChordBasicPage(params->getSelParam(), getEncoderSelect(), noteName, tempString.c_str(), chordType, activeChordBalance_.type, activeChordBalance_.velMult); + } + // Custom Chord Notes + else if (params->getSelPage() == MFXCHRDPAGE_CUSTOM_NOTES && chord_.type == CTYPE_BASIC && chord_.chord == kCustomChordPattern) + { + const char *labels[6]; + const char *headers[1]; + headers[0] = "Custom Chord"; + + for (uint8_t i = 0; i < 6; i++) + { + int note = chord_.customNotes[i].note; + + if (note == 0) + { + if (i == 0) + { + tempStrings[i] = "RT"; + // customNotesStrings[i] = "RT"; + } + else + { + tempStrings[i] = "-"; + // customNotesStrings[i] = "-"; + } + } + else + { + if (note > 0) + { + tempStrings[i] = "+" + String(note); + // customNotesStrings[i] = "+" + String(note); + } + else + { + tempStrings[i] = "" + String(note); + // customNotesStrings[i] = "" + String(note); + } + } + + labels[i] = tempStrings[i].c_str(); + // labels[i] = customNotesStrings[i].c_str(); + } + + omxDisp.dispCenteredSlots(labels, 6, params->getSelParam(), getEncoderSelect(), true, true, headers, 1); + } + else // Boring generic view + { + setupPageLegends(); + omxDisp.dispGenericMode2(params->getNumPages(), params->getSelPage(), params->getSelParam(), getEncoderSelect()); + } + } + + void MidiFXChord::setupPageLegend(ChordSettings *chord, uint8_t index, uint8_t paramType) + { + } + + void MidiFXChord::setupPageLegends() + { + omxDisp.clearLegends(); + + int8_t page = getParams()->getSelPage(); + + auto chordPtr = &chord_; + + if (page == MFXCHRDPAGE_CHORDTYPE) + { + chordUtil.setupPageLegend(chordPtr, 0, CPARAM_CHORD_TYPE); + } + + if (chord_.type == CTYPE_INTERVAL) + { + switch (page) + { + case MFXCHRDPAGE_SCALES: + { + omxDisp.setLegend(0, "GLBL", !useGlobalScale_, "ON"); + omxDisp.setLegend(1, "ROOT", MusicScales::getNoteName(rootNote_)); + omxDisp.setLegend(2, "SCALE", scaleIndex_ < 0, scaleIndex_); + } + break; + case MFXCHRDPAGE_INT_NOTES: + { + chordUtil.setupPageLegend(chordPtr, 0, CPARAM_INT_NUMNOTES); + chordUtil.setupPageLegend(chordPtr, 1, CPARAM_INT_DEGREE); + chordUtil.setupPageLegend(chordPtr, 2, CPARAM_INT_OCTAVE); + chordUtil.setupPageLegend(chordPtr, 3, CPARAM_INT_TRANSPOSE); + } + break; + case MFXCHRDPAGE_INT_SPREAD: + { + chordUtil.setupPageLegend(chordPtr, 0, CPARAM_INT_SPREAD); + chordUtil.setupPageLegend(chordPtr, 1, CPARAM_INT_ROTATE); + chordUtil.setupPageLegend(chordPtr, 2, CPARAM_INT_VOICING); + } + break; + case MFXCHRDPAGE_INT_QUART: + { + chordUtil.setupPageLegend(chordPtr, 0, CPARAM_INT_SPRDUPDOWN); + chordUtil.setupPageLegend(chordPtr, 1, CPARAM_INT_QUARTVOICE); + } + break; + default: + break; + } + } + } + + int MidiFXChord::saveToDisk(int startingAddress, Storage *storage) + { + mfxChordSave chordSave; + chordSave.chancePerc = chancePerc_; + chordSave.useGlobalScale = useGlobalScale_; + chordSave.rootNote = rootNote_; + chordSave.scaleIndex = scaleIndex_; + chordSave.chord.CopySettingsFrom(&chord_); + + int saveSize = sizeof(mfxChordSave); + + auto saveBytesPtr = (byte *)(&chordSave); + for (int j = 0; j < saveSize; j++) + { + storage->write(startingAddress + j, *saveBytesPtr++); + } + + startingAddress += saveSize; + + return startingAddress; + } + + int MidiFXChord::loadFromDisk(int startingAddress, Storage *storage) + { + int saveSize = sizeof(mfxChordSave); + + auto chordSave = mfxChordSave{}; + auto current = (byte *)&chordSave; + for (int j = 0; j < saveSize; j++) + { + *current = storage->read(startingAddress + j); + current++; + } + + startingAddress += saveSize; + + chancePerc_ = chordSave.chancePerc; + useGlobalScale_ = chordSave.useGlobalScale; + rootNote_ = chordSave.rootNote; + scaleIndex_ = chordSave.scaleIndex; + chord_.CopySettingsFrom(&chordSave.chord); + + return startingAddress; + } +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_chord.h b/Archive/OMX-27-firmware/src/midifx/midifx_chord.h new file mode 100644 index 00000000..28ad6496 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_chord.h @@ -0,0 +1,86 @@ +#pragma once + +#include "midifx_interface.h" +#include "../utils/chord_structs.h" + +namespace midifx +{ + + class MidiFXChord : public MidiFXInterface + { + public: + MidiFXChord(); + ~MidiFXChord() {} + + int getFXType() override; + const char *getName() override; + const char *getDispName() override; + + MidiFXInterface *getClone() override; + + void loopUpdate() override; + + void onDisplayUpdate(uint8_t funcKeyMode) override; + + void noteInput(MidiNoteGroup note) override; + + int saveToDisk(int startingAddress, Storage *storage) override; + int loadFromDisk(int startingAddress, Storage *storage) override; + + protected: + void onEnabled() override; + void onDisabled() override; + + void onEncoderChangedSelectParam(Encoder::Update enc) override; + void onEncoderChangedEditParam(Encoder::Update enc) override; + + private: + struct NoteTracker + { + int8_t triggerCount; + uint8_t noteNumber : 7; + uint8_t midiChannel : 4; + }; + + struct mfxChordSave + { + uint8_t chancePerc : 7; + bool useGlobalScale; + int8_t rootNote; + int8_t scaleIndex; + + ChordSettings chord; + }; + + uint8_t chancePerc_ = 100; + + uint8_t lastNote_; + + ParamManager basicParams_; + ParamManager intervalParams_; + + ChordSettings chord_; + ChordNotes chordNotes_; + ChordNotes playedChordNotes_; + ChordNotes chordEditNotes_; + + ChordBalanceDetails activeChordBalance_; + + int noNotes[6] = {0,0,0,0,0,0}; + + const uint8_t kMaxNoteTrackerSize = 32; + + std::vector noteOffTracker; + + bool useGlobalScale_ = true; + int8_t rootNote_ = 0; + int8_t scaleIndex_ = 0; + + void onChordOn(MidiNoteGroup inNote); + ParamManager *getParams(); + + void setupPageLegends(); + void setupPageLegend(ChordSettings *chord, uint8_t index, uint8_t paramType); + void calculateRemap(); + }; +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_harmonizer.cpp b/Archive/OMX-27-firmware/src/midifx/midifx_harmonizer.cpp new file mode 100644 index 00000000..1c0327cd --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_harmonizer.cpp @@ -0,0 +1,283 @@ +#include "midifx_harmonizer.h" +#include "../hardware/omx_disp.h" + +namespace midifx +{ + enum HarmonizerPage + { + HARMPAGE_1, + HARMPAGE_2, + HARMPAGE_3 + }; + + MidiFXHarmonizer::MidiFXHarmonizer() + { + params_.addPage(4); + params_.addPage(4); + params_.addPage(1); + + encoderSelect_ = true; + + playOrigin_ = true; + + for (uint8_t i = 0; i < 7; i++) + { + notes_[i] = 0; + } + } + + int MidiFXHarmonizer::getFXType() + { + return MIDIFX_HARMONIZER; + } + + const char *MidiFXHarmonizer::getName() + { + return "Harmonizer"; + } + + const char *MidiFXHarmonizer::getDispName() + { + return "HARM"; + } + + MidiFXInterface *MidiFXHarmonizer::getClone() + { + auto clone = new MidiFXHarmonizer(); + + clone->chancePerc_ = chancePerc_; + clone->playOrigin_ = playOrigin_; + + for (uint8_t i = 0; i < 7; i++) + { + clone->notes_[i] = notes_[i]; + } + + return clone; + } + + void MidiFXHarmonizer::onEnabled() + { + } + + void MidiFXHarmonizer::onDisabled() + { + } + + void MidiFXHarmonizer::noteInput(MidiNoteGroup note) + { + if (note.noteOff) + { + processNoteOff(note); + return; + } + + if (chancePerc_ != 100 && (chancePerc_ == 0 || random(100) > chancePerc_)) + { + sendNoteOut(note); + return; + } + + if (playOrigin_) + { + sendNoteOut(note); + } + + int8_t origNote = note.noteNumber; + + int8_t sentNoteNumbers[7] = {0, 0, 0, 0, 0, 0, 0}; + + for (uint8_t i = 0; i < 7; i++) + { + if (notes_[i] != 0) + { + int8_t newNoteNumber = constrain(origNote + notes_[i], 0, 127); + + bool noteAlreadyPlayed = false; + + for (uint8_t j = 0; j < 7; j++) + { + if (sentNoteNumbers[j] == newNoteNumber) + { + noteAlreadyPlayed = true; + break; + } + } + + if (!noteAlreadyPlayed) + { + note.noteNumber = constrain(origNote + notes_[i], 0, 127); + sendNoteOut(note); + sentNoteNumbers[i] = newNoteNumber; + } + } + } + } + + void MidiFXHarmonizer::loopUpdate() + { + } + + void MidiFXHarmonizer::onEncoderChangedEditParam(Encoder::Update enc) + { + int8_t page = params_.getSelPage(); + int8_t param = params_.getSelParam(); + + auto amt = enc.accel(1); + + bool modNote = false; + int noteIndex = 0; + + if (page == HARMPAGE_1) + { + if (param == 0) + { + playOrigin_ = constrain(playOrigin_ + amt, 0, 1); + } + else + { + modNote = true; + noteIndex = param - 1; + } + } + else if (page == HARMPAGE_2) + { + modNote = true; + noteIndex = param + 3; + } + else if (page == HARMPAGE_3) + { + amt = enc.accel(5); + chancePerc_ = constrain(chancePerc_ + amt, 0, 100); + } + + if (modNote) + { + notes_[noteIndex] = constrain(notes_[noteIndex] + amt, -126, 127); + } + + omxDisp.setDirty(); + } + + void MidiFXHarmonizer::onDisplayUpdate(uint8_t funcKeyMode) + { + omxDisp.clearLegends(); + + int8_t page = params_.getSelPage(); + + uint8_t starti = 0; + // uint8_t endi = 0; + + switch (page) + { + case HARMPAGE_1: + { + omxDisp.legends[0] = "ORIG"; + + omxDisp.legendVals[0] = -127; + omxDisp.legendText[0] = playOrigin_ ? "ON" : "OFF"; + + starti = 0; + // endi = 3; + } + break; + case HARMPAGE_2: + { + starti = 3; + // endi = 7; + } + break; + case HARMPAGE_3: + { + omxDisp.legends[0] = "CHC%"; + + omxDisp.useLegendString[0] = true; + omxDisp.legendString[0] = String(chancePerc_) + "%"; + + // // const char* perc[4 + sizeof(char)]; + // // sprintf(perc, "%d", chancePerc_); + + // tempStringVal_ = String(chancePerc_) + "%"; + + // // char perc = static_cast(chancePerc_); + // omxDisp.legendVals[0] = -127; + // // omxDisp.legendText[0] = &perc + "%"; + // omxDisp.legendText[0] = tempStringVal_.c_str(); + } + break; + default: + break; + } + + if (page == HARMPAGE_1 || page == HARMPAGE_2) + { + for (uint8_t i = 0; i < 4; i++) + { + if (page == HARMPAGE_1 && i == 0) + continue; + + // char ch = static_cast(starti + 2); + + tempStrings[i] = "NT " + String(starti + 2); + omxDisp.legends[i] = tempStrings[i].c_str(); + if (notes_[starti] == 0) + { + // omxDisp.legendVals[i] = -127; + // omxDisp.legendText[i] = "--"; + + omxDisp.useLegendString[i] = true; + omxDisp.legendString[i] = "--"; + } + else if (notes_[starti] > 0) + { + omxDisp.useLegendString[i] = true; + omxDisp.legendString[i] = "+" + String(notes_[starti]); + + // // char nt = static_cast(notes_[starti]); + // omxDisp.legendVals[i] = -127; + + // tempStringVal_ = "+" + String(notes_[starti]); + // omxDisp.legendText[i] = tempStringVal_.c_str(); + // // omxDisp.legendText[i] = "+" + nt; + } + else + { + omxDisp.legendVals[i] = notes_[starti]; + } + + starti++; + } + } + + omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), getEncoderSelect()); + } + + int MidiFXHarmonizer::saveToDisk(int startingAddress, Storage *storage) + { + // Serial.println((String) "Saving mfx harmonizer: " + startingAddress); // 5969 + storage->write(startingAddress + 0, chancePerc_); + storage->write(startingAddress + 1, (bool)playOrigin_); + + for (uint8_t i = 0; i < 7; i++) + { + storage->write(startingAddress + 2 + i, (uint8_t)notes_[i]); + } + + return startingAddress + 9; + } + + int MidiFXHarmonizer::loadFromDisk(int startingAddress, Storage *storage) + { + // Serial.println((String) "Loading mfx harmonizer: " + startingAddress); // 5969 + + chancePerc_ = storage->read(startingAddress + 0); + playOrigin_ = (bool)storage->read(startingAddress + 1); + + for (uint8_t i = 0; i < 7; i++) + { + notes_[i] = (int8_t)storage->read(startingAddress + 2 + i); + } + + return startingAddress + 9; + } +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_harmonizer.h b/Archive/OMX-27-firmware/src/midifx/midifx_harmonizer.h new file mode 100644 index 00000000..ac9dad09 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_harmonizer.h @@ -0,0 +1,48 @@ +#pragma once + +#include "midifx_interface.h" + +namespace midifx +{ + + class MidiFXHarmonizer : public MidiFXInterface + { + public: + MidiFXHarmonizer(); + ~MidiFXHarmonizer() {} + + int getFXType() override; + const char *getName() override; + const char *getDispName() override; + + MidiFXInterface *getClone() override; + + void loopUpdate() override; + + void onDisplayUpdate(uint8_t funcKeyMode) override; + + void noteInput(MidiNoteGroup note) override; + + int saveToDisk(int startingAddress, Storage *storage) override; + int loadFromDisk(int startingAddress, Storage *storage) override; + + protected: + void onEnabled() override; + void onDisabled() override; + + void onEncoderChangedEditParam(Encoder::Update enc) override; + + private: + // std::vector triggeredNotes; + bool playOrigin_ = true; + + int8_t notes_[7]; + + uint8_t chancePerc_ = 100; + + // String tempString_ = "12345"; + // String tempStrings_[4] = {"12345", "12345","12345","12345"}; + + // String tempStringVal_ = "12345"; + }; +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_interface.cpp b/Archive/OMX-27-firmware/src/midifx/midifx_interface.cpp new file mode 100644 index 00000000..d2cba99f --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_interface.cpp @@ -0,0 +1,178 @@ +#include "midifx_interface.h" +#include "../hardware/omx_disp.h" +namespace midifx +{ + MidiFXInterface::~MidiFXInterface() + { + // std::vector().swap(triggeredNotes); + // Serial.println("Deleted vector"); + } + + void MidiFXInterface::setSlotIndex(uint8_t slotIndex) + { + this->mfxSlotIndex_ = slotIndex; + } + + void MidiFXInterface::setSelected(bool selected) + { + bool prevSel = selected_; + selected_ = selected; + + if (prevSel != selected_) + { + if (selected_) + { + onSelected(); + } + else + { + onDeselected(); + } + } + } + + void MidiFXInterface::setEnabled(bool newEnabled) + { + enabled_ = newEnabled; + if (enabled_) + { + onEnabled(); + } + else + { + onDisabled(); + } + } + + bool MidiFXInterface::getEnabled() + { + return enabled_; + } + + bool MidiFXInterface::getEncoderSelect() + { + return encoderSelect_ && !auxDown_; + } + + void MidiFXInterface::onEncoderChanged(Encoder::Update enc) + { + if (getEncoderSelect()) + { + onEncoderChangedSelectParam(enc); + } + else + { + onEncoderChangedEditParam(enc); + } + } + + void MidiFXInterface::setAuxDown(bool auxDown) + { + auxDown_ = auxDown; + } + + // Handles selecting params using encoder + void MidiFXInterface::onEncoderChangedSelectParam(Encoder::Update enc) + { + params_.changeParam(enc.dir()); + omxDisp.setDirty(); + } + + void MidiFXInterface::onEncoderButtonDown() + { + encoderSelect_ = !encoderSelect_; + omxDisp.setDirty(); + } + + void MidiFXInterface::processNoteOff(MidiNoteGroup note) + { + // // See if note was previously effected + // // Adjust note number if it was and remove from vector + // for (size_t i = 0; i < triggeredNotes.size(); i++) + // { + // if (triggeredNotes[i].prevNoteNumber == note.noteNumber) + // { + // note.noteNumber = triggeredNotes[i].noteNumber; + // triggeredNotes.erase(triggeredNotes.begin() + i); + // // Serial.println("Found previous triggered note"); + // break; + // } + // } + + // Serial.println("TriggeredNotesSize: " + String(triggeredNotes.size())); + + sendNoteOut(note); + } + + void MidiFXInterface::processNoteOn(uint8_t origNoteNumber, MidiNoteGroup note) + { + // From a keyboard source, length is 0 + // if(note.stepLength == 0) + // { + // note.prevNoteNumber = origNoteNumber; + + // bool alreadyExists = false; + // // See if orig note alread exists + // for (size_t i = 0; i < triggeredNotes.size(); i++) + // { + // if (triggeredNotes[i].prevNoteNumber == origNoteNumber) + // { + // triggeredNotes[i] = note; + // alreadyExists = true; + // // Serial.println("Orig note already existed"); + // break; + // } + // } + + // if (!alreadyExists) + // { + // triggeredNotes.push_back(note); + // } + // } + } + + void MidiFXInterface::setNoteOutput(void (*fptr)(void *, MidiNoteGroup), void *context) + { + outFunctionContext_ = context; + outFunctionPtr_ = fptr; + } + + void MidiFXInterface::sendNoteOut(MidiNoteGroup note) + { + if (outFunctionContext_ != nullptr) + { + outFunctionPtr_(outFunctionContext_, note); + } + } + + void MidiFXInterface::sendNoteOff(MidiNoteGroupCache noteCache) + { + // Serial.println("Note off from cache: " + String(noteCache.noteNumber)); + + sendNoteOff(noteCache.toMidiNoteGroup()); + } + + void MidiFXInterface::sendNoteOff(MidiNoteGroup note) + { + // Serial.println("Note off: " + String(note.noteNumber)); + + note.velocity = 0; + note.noteOff = true; + + if (outFunctionContext_ != nullptr) + { + // Serial.println("Note off sent"); + outFunctionPtr_(outFunctionContext_, note); + } + } + + int MidiFXInterface::saveToDisk(int startingAddress, Storage *storage) + { + return startingAddress; + } + + int MidiFXInterface::loadFromDisk(int startingAddress, Storage *storage) + { + return startingAddress; + } +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_interface.h b/Archive/OMX-27-firmware/src/midifx/midifx_interface.h new file mode 100644 index 00000000..6bfb022f --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_interface.h @@ -0,0 +1,157 @@ +#pragma once +#include "../config.h" +#include "../ClearUI/ClearUI_Input.h" +#include "../hardware/omx_keypad.h" +#include "../utils/param_manager.h" +#include "../hardware/storage.h" +namespace midifx +{ + // Lighter version of MidiNoteGroup for tracking note offs + struct MidiNoteGroupCache + { + uint8_t prevNoteNumber = 0; + uint8_t channel = 1; + uint8_t noteNumber = 0; + bool sendMidi = true; + bool sendCV = true; + bool unknownLength = false; + + MidiNoteGroupCache() + { + } + + MidiNoteGroupCache(MidiNoteGroup *noteGroup) + { + setFromNoteGroup(noteGroup); + } + + void setFromNoteGroup(MidiNoteGroup *noteGroup) + { + prevNoteNumber = noteGroup->prevNoteNumber; + channel = noteGroup->channel; + noteNumber = noteGroup->noteNumber; + sendMidi = noteGroup->sendMidi; + sendCV = noteGroup->sendCV; + unknownLength = noteGroup->unknownLength; + } + + MidiNoteGroup toMidiNoteGroup() + { + MidiNoteGroup noteGroup; + noteGroup.channel = channel; + noteGroup.prevNoteNumber = prevNoteNumber; + noteGroup.noteNumber = noteNumber; + noteGroup.sendCV = sendCV; + noteGroup.sendMidi = sendMidi; + noteGroup.unknownLength = unknownLength; + return noteGroup; + } + }; + + // void(*outNoteptr)(midifxnote); // out pointer type + + // typedef void (*MidiFXNoteFunction)(midifxnote); + + class MidiFXInterface + { + public: + MidiFXInterface() {} + virtual ~MidiFXInterface(); + + virtual int getFXType() = 0; + + virtual void setSlotIndex(uint8_t slotIndex); + + // Display name + virtual const char *getName() = 0; + + // Short Display Name + virtual const char *getDispName() = 0; + + virtual uint32_t getColor() + { + return colorConfig.getMidiFXColor(getFXType()); + } + + virtual MidiFXInterface *getClone() { return nullptr; } + + // If returns true, midifx will use the keys + // Recommend only using keys on specific pages + virtual bool usesKeys() { return false; } + virtual void onKeyUpdate(OMXKeypadEvent e, uint8_t funcKeyMode) {} + virtual void onKeyHeldUpdate(OMXKeypadEvent e, uint8_t funcKeyMode) {} + virtual void updateLEDs(uint8_t funcKeyMode) {} + + virtual void onModeChanged(){}; + + virtual void setSelected(bool selected); + + virtual void setEnabled(bool newEnabled); + virtual bool getEnabled(); + + virtual void setAuxDown(bool auxDown); + + virtual void loopUpdate() {} + virtual void onClockTick() {} + + virtual void resync() {} + + virtual bool getEncoderSelect(); + + virtual void onEncoderChanged(Encoder::Update enc); + virtual void onEncoderButtonDown(); + + virtual void onDisplayUpdate(uint8_t funcKeyMode) = 0; + + // Static glue to link a pointer to a member function + static void onNoteInputForwarder(void *context, MidiNoteGroup note) + { + static_cast(context)->noteInput(note); + } + + virtual void noteInput(MidiNoteGroup note) = 0; + // virtual MidiFXNoteFunction getInputFunc() = 0; + virtual void setNoteOutput(void (*fptr)(void *, MidiNoteGroup), void *context); + + virtual int saveToDisk(int startingAddress, Storage *storage); + virtual int loadFromDisk(int startingAddress, Storage *storage); + + // // the function using the function pointers: + // void somefunction(void (*fptr)(void *, int, int), void *context) + // { + // fptr(context, 17, 42); + // } + + protected: + bool enabled_ = false; + bool selected_ = false; + bool auxDown_ = false; + + uint8_t mfxSlotIndex_; + + bool encoderSelect_ = true; + ParamManager params_; + + // std::vector triggeredNotes; + + void *outFunctionContext_; + void (*outFunctionPtr_)(void *, MidiNoteGroup); + + virtual void onEnabled() {} // Called whenever entering mode + virtual void onDisabled() {} // Called whenever entering mode + + virtual void onSelected() {} // Called whenever MidiFX group containing this MidiFX is selected + virtual void onDeselected() {} // Called whenever MidiFX group containing this MidiFX is deselected + + virtual void onEncoderChangedSelectParam(Encoder::Update enc); + virtual void onEncoderChangedEditParam(Encoder::Update enc) = 0; + + virtual void sendNoteOut(MidiNoteGroup note); + + virtual void sendNoteOff(MidiNoteGroupCache noteCache); + virtual void sendNoteOff(MidiNoteGroup note); + + virtual void processNoteOn(uint8_t origNoteNumber, MidiNoteGroup note); + virtual void processNoteOff(MidiNoteGroup note); + }; +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_monophonic.cpp b/Archive/OMX-27-firmware/src/midifx/midifx_monophonic.cpp new file mode 100644 index 00000000..f3ea914a --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_monophonic.cpp @@ -0,0 +1,203 @@ +#include "midifx_monophonic.h" +#include "../hardware/omx_disp.h" +namespace midifx +{ + enum ChancePage + { + CHPAGE_1 + }; + + MidiFXMonophonic::MidiFXMonophonic() + { + params_.addPage(4); + encoderSelect_ = true; + } + + int MidiFXMonophonic::getFXType() + { + return MIDIFX_MONOPHONIC; + } + + const char *MidiFXMonophonic::getName() + { + return "Make Mono"; + } + + const char *MidiFXMonophonic::getDispName() + { + return "MONO"; + } + + MidiFXInterface *MidiFXMonophonic::getClone() + { + auto clone = new MidiFXMonophonic(); + + clone->chancePerc_ = chancePerc_; + + return clone; + } + + void MidiFXMonophonic::onEnabled() + { + } + + void MidiFXMonophonic::onDisabled() + { + } + + void MidiFXMonophonic::noteInput(MidiNoteGroup note) + { + // Serial.println("Mono input: " + String(note.noteNumber) + " " + String(note.channel)); + + uint8_t midiChannel = constrain(note.channel - 1, 0, 15); + + if (note.noteOff) + { + // if (note.unknownLength) + // { + // if (prevNoteOn[midiChannel].noteNumber == note.noteNumber) + // { + // // mark empty + // prevNoteOn[midiChannel].noteNumber = 255; + // } + // } + + if (prevNoteOn[midiChannel].noteNumber == note.noteNumber) + { + // mark empty + prevNoteOn[midiChannel].noteNumber = 255; + } + + processNoteOff(note); + return; + } + + // Probability that effect happens + if (chancePerc_ != 100 && (chancePerc_ == 0 || random(100) > chancePerc_)) + { + // Serial.println("Skipping mono"); + sendNoteOut(note); + return; + } + + // int s = sizeof(MidiNoteGroupCache); + // int s2 = sizeof(MidiNoteGroup); + + if (prevNoteOn[midiChannel].noteNumber != 255) + { + // Serial.println("Prev note found"); + + // turn previous note on channel off + sendNoteOff(prevNoteOn[midiChannel]); + // mark empty + // prevNoteOn[midiChannel].noteNumber = 255; + } + // else + // { + // Serial.println("Prev note not found"); + // } + + // Update previous note history + prevNoteOn[midiChannel].setFromNoteGroup(¬e); + + sendNoteOut(note); + + // if (note.unknownLength) + // { + // if (prevNoteOn[midiChannel].noteNumber != 255) + // { + // // turn previous note on channel off + // sendNoteOff(prevNoteOn[midiChannel]); + // // mark empty + // // prevNoteOn[midiChannel].noteNumber = 255; + // } + + // // Update previous note history + // prevNoteOn[midiChannel].setFromNoteGroup(note); + + // sendNoteOut(note); + // } + + // Serial.println("MidiFXChance::noteInput"); + // note.noteNumber += 7; + + // uint8_t r = random(255); + + // if(r <= chancePerc_) + // { + // processNoteOn(note.noteNumber, note); + // sendNoteOut(note); + // } + } + + void MidiFXMonophonic::loopUpdate() + { + } + + void MidiFXMonophonic::onEncoderChangedEditParam(Encoder::Update enc) + { + int8_t page = params_.getSelPage(); + int8_t param = params_.getSelParam(); + + auto amt = enc.accel(5); + + if (page == CHPAGE_1) + { + if (param == 0) + { + chancePerc_ = constrain(chancePerc_ + amt, 0, 100); + } + } + omxDisp.setDirty(); + } + + void MidiFXMonophonic::onDisplayUpdate(uint8_t funcKeyMode) + { + omxDisp.clearLegends(); + + int8_t page = params_.getSelPage(); + + switch (page) + { + case CHPAGE_1: + { + omxDisp.legends[0] = "CHC%"; + omxDisp.legends[1] = ""; + omxDisp.legends[2] = ""; + omxDisp.legends[3] = ""; + omxDisp.legendVals[0] = -127; + omxDisp.legendVals[1] = -127; + omxDisp.legendVals[2] = -127; + omxDisp.legendVals[3] = -127; + omxDisp.useLegendString[0] = true; + omxDisp.legendString[0] = String(chancePerc_) + "%"; + + // uint8_t perc = ((chancePerc_ / 255.0f) * 100); + // String msg = String(perc) + "%"; + // omxDisp.legendText[0] = msg.c_str(); + } + break; + default: + break; + } + + omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), getEncoderSelect()); + } + + int MidiFXMonophonic::saveToDisk(int startingAddress, Storage *storage) + { + // Serial.println((String) "Saving mfx monophonic: " + startingAddress); // 5969 + storage->write(startingAddress + 0, chancePerc_); + + return startingAddress + 1; + } + + int MidiFXMonophonic::loadFromDisk(int startingAddress, Storage *storage) + { + // Serial.println((String) "Loading mfx monophonic: " + startingAddress); // 5969 + + chancePerc_ = storage->read(startingAddress + 0); + + return startingAddress + 1; + } +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_monophonic.h b/Archive/OMX-27-firmware/src/midifx/midifx_monophonic.h new file mode 100644 index 00000000..937bbdb9 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_monophonic.h @@ -0,0 +1,42 @@ +#pragma once + +#include "midifx_interface.h" +namespace midifx +{ + + // Forces Monophonic output, one note at a time + class MidiFXMonophonic : public MidiFXInterface + { + public: + MidiFXMonophonic(); + ~MidiFXMonophonic() {} + + int getFXType() override; + const char *getName() override; + const char *getDispName() override; + + MidiFXInterface *getClone() override; + + void loopUpdate() override; + + void onDisplayUpdate(uint8_t funcKeyMode) override; + + void noteInput(MidiNoteGroup note) override; + // MidiFXNoteFunction getInputFunc() override; + + int saveToDisk(int startingAddress, Storage *storage) override; + int loadFromDisk(int startingAddress, Storage *storage) override; + + protected: + void onEnabled() override; + void onDisabled() override; + + void onEncoderChangedEditParam(Encoder::Update enc) override; + + private: + uint8_t chancePerc_ = 100; + + // 16 midi channels + MidiNoteGroupCache prevNoteOn[16]; + }; +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_notemaster.cpp b/Archive/OMX-27-firmware/src/midifx/midifx_notemaster.cpp new file mode 100644 index 00000000..b4d647cd --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_notemaster.cpp @@ -0,0 +1,217 @@ +#include "midifx_notemaster.h" +#include "../hardware/omx_disp.h" + +namespace midifx +{ + MidiFXNoteMaster::MidiFXNoteMaster() + { + clear(); + } + + MidiFXNoteMaster::~MidiFXNoteMaster() + { + } + + void MidiFXNoteMaster::trackNoteInputPassthrough(MidiNoteGroup *note) + { + if (note->unknownLength || note->noteOff) + { + handleNoteInputPassthrough(note); + if(note->noteOff) + { + handleNoteInput(note); + } + } + else + { + // Notes with known lengths don't need to be tracked. + sendNoteOut(note); + } + } + + void MidiFXNoteMaster::trackNoteInput(MidiNoteGroup *note) + { + if (note->unknownLength || note->noteOff) + { + // only notes of unknown lengths need to be tracked + // notes with fixed lengths will turn off automatically. + if(note->noteOff) + { + // Whole purpose of this tracking madness is to pass note offs through the chain + // that were previously passed through + handleNoteInputPassthrough(note); + } + handleNoteInput(note); + } + else + { + processNoteInput(note); + } + } + + // bool MidiFXNoteMaster::findEmptySlot(MidiNoteGroup *trackingArray, uint8_t size, uint8_t *emptyIndex) + // { + // for (uint8_t i = 0; i < size; i++) + // { + // // Found empty slot + // if (trackingArray[i].prevNoteNumber == kEmptyIndex) + // { + // *emptyIndex = i; + // return true; + // } + // } + // return false; + // } + + void MidiFXNoteMaster::removeFromTracking(MidiNoteGroup *note) + { + for (uint8_t i = 0; i < kTrackingSize; i++) + { + if (trackingNoteGroups[i].prevNoteNumber != kEmptyIndex) + { + if (trackingNoteGroups[i].channel == note->channel && trackingNoteGroups[i].prevNoteNumber == note->prevNoteNumber) + { + trackingNoteGroups[i].prevNoteNumber = kEmptyIndex; // mark empty + } + } + } + } + + void MidiFXNoteMaster::clear() + { + for (uint8_t i = 0; i < kTrackingSize; i++) + { + trackingNoteGroups[i].prevNoteNumber = kEmptyIndex; + trackingNoteGroupsPassthrough[i].prevNoteNumber = kEmptyIndex; + } + } + + // If chance is less than 100% and passing through, notes need to be tracked + // and if the same note comes in without passthrough for a noteoff event, it needs to + // be passed through the effect to send noteoff to prevent stuck notes + void MidiFXNoteMaster::handleNoteInputPassthrough(MidiNoteGroup *note) + { + // Note off + if (note->noteOff) + { + // Search to see if this note is in trackingNoteGroupsPassthrough + // If a note is found, it means the note previously had a note on that passed + // through and the note off needs to be sent through or else notes could be stuck on. + // PrevNoteNumber should be the origin note number before being modified by MidiFX + for (uint8_t i = 0; i < kTrackingSize; i++) + { + if (trackingNoteGroupsPassthrough[i].prevNoteNumber != kEmptyIndex) + { + if (trackingNoteGroupsPassthrough[i].channel == note->channel && trackingNoteGroupsPassthrough[i].prevNoteNumber == note->prevNoteNumber) + { + note->noteNumber = trackingNoteGroupsPassthrough[i].noteNumber; + sendNoteOut(note); + trackingNoteGroupsPassthrough[i].prevNoteNumber = kEmptyIndex; // mark empty + } + } + } + } + // Note on + else + { + // Search for an empty slot in trackingNoteGroupsPassthrough + // If no slots are available/more than 8 notes/ note gets killed. + for (uint8_t i = 0; i < kTrackingSize; i++) + { + // Found empty slot + if (trackingNoteGroupsPassthrough[i].prevNoteNumber == kEmptyIndex) + { + trackingNoteGroupsPassthrough[i].channel = note->channel; + trackingNoteGroupsPassthrough[i].prevNoteNumber = note->prevNoteNumber; + trackingNoteGroupsPassthrough[i].noteNumber = note->noteNumber; + + // Send it forward through chain + sendNoteOut(note); + return; + } + } + } + } + + void MidiFXNoteMaster::handleNoteInput(MidiNoteGroup *note) + { + // Same implementation with more comments in submode_midifx + // Keeps track of previous note ons and and adjusts note number + // for note offs using the prevNoteNumber parameter. + // Why is this necessary? + // If the note is modified by midifx like randomize before the arp + // Then the arp can end up having notes stuck on + // This ensures that notes don't get stuck on. + if (note->noteOff) + { + bool noteFound = false; + + for (uint8_t i = 0; i < kTrackingSize; i++) + { + if (trackingNoteGroups[i].prevNoteNumber != kEmptyIndex) + { + if (trackingNoteGroups[i].channel == note->channel && trackingNoteGroups[i].prevNoteNumber == note->prevNoteNumber) + { + // Serial.println("trackNoteInput note off found in trackingNoteGroups"); + note->noteNumber = trackingNoteGroups[i].noteNumber; + processNoteInput(note); + trackingNoteGroups[i].prevNoteNumber = kEmptyIndex; // mark empty + noteFound = true; + } + } + } + + if (!noteFound) + { + // Serial.println("trackNoteInput note off not found in trackingNoteGroups"); + + processNoteInput(note); // Not sure we need to process note if not found + } + } + else // Note on + { + for (uint8_t i = 0; i < kTrackingSize; i++) + { + // Find empty slot + if (trackingNoteGroups[i].prevNoteNumber == kEmptyIndex) + { + trackingNoteGroups[i].channel = note->channel; + trackingNoteGroups[i].prevNoteNumber = note->prevNoteNumber; + trackingNoteGroups[i].noteNumber = note->noteNumber; + + processNoteInput(note); + return; + } + } + } + } + + void MidiFXNoteMaster::setContext(void *context) + { + outFunctionContext_ = context; + } + void MidiFXNoteMaster::setProcessNoteFptr(void (*fptr)(void *, MidiNoteGroup *)) + { + processNoteFptr = fptr; + } + void MidiFXNoteMaster::setSendNoteOutFptr(void (*fptr)(void *, MidiNoteGroup *)) + { + sendNoteOutFptr = fptr; + } + + void MidiFXNoteMaster::processNoteInput(MidiNoteGroup *note) + { + if (outFunctionContext_ != nullptr) + { + processNoteFptr(outFunctionContext_, note); + } + } + + void MidiFXNoteMaster::sendNoteOut(MidiNoteGroup *note) + { + if (outFunctionContext_ != nullptr) + { + sendNoteOutFptr(outFunctionContext_, note); + } + } +} \ No newline at end of file diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_notemaster.h b/Archive/OMX-27-firmware/src/midifx/midifx_notemaster.h new file mode 100644 index 00000000..02b98c28 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_notemaster.h @@ -0,0 +1,62 @@ +#pragma once +#include "../config.h" +// #include "../ClearUI/ClearUI_Input.h" +#include "../hardware/omx_keypad.h" +#include "../utils/param_manager.h" + +namespace midifx +{ + /// I am the note master + /// I am the master of the notes + /// all your notes are belong to me + /// Not a MidiFX, but a utility for MidiFX to use + class MidiFXNoteMaster + { + public: + MidiFXNoteMaster(); + ~MidiFXNoteMaster(); + + void setContext(void *context); + void setProcessNoteFptr(void (*fptr)(void *, MidiNoteGroup*)); + void setSendNoteOutFptr(void (*fptr)(void *, MidiNoteGroup*)); + + // Send note here in the case that it is passing through effect + // due to chance. IE, passing to next MidiFX slot + // If effect is off, you can send note straight through + void trackNoteInputPassthrough(MidiNoteGroup *note); + + // Send note here in the case that is is going through the effect + void trackNoteInput(MidiNoteGroup *note); + + void removeFromTracking(MidiNoteGroup *note); + + void clear(); + + + private: + struct TrackingGroup + { + uint8_t channel : 5; + uint8_t noteNumber; + uint8_t prevNoteNumber; + }; + + void *outFunctionContext_; + void (*processNoteFptr)(void *, MidiNoteGroup*); + void (*sendNoteOutFptr)(void *, MidiNoteGroup*); + + static const uint8_t kTrackingSize = 8; + static const uint8_t kEmptyIndex = 255; + + TrackingGroup trackingNoteGroups[kTrackingSize]; + TrackingGroup trackingNoteGroupsPassthrough[kTrackingSize]; + + void handleNoteInputPassthrough(MidiNoteGroup *note); + void handleNoteInput(MidiNoteGroup *note); + + // static bool findEmptySlot(TrackingGroup *trackingArray, uint8_t size, uint8_t *emptyIndex); + + void processNoteInput(MidiNoteGroup *note); + void sendNoteOut(MidiNoteGroup *note); + }; +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_notetracker.cpp b/Archive/OMX-27-firmware/src/midifx/midifx_notetracker.cpp new file mode 100644 index 00000000..e69de29b diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_notetracker.h b/Archive/OMX-27-firmware/src/midifx/midifx_notetracker.h new file mode 100644 index 00000000..7410d688 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_notetracker.h @@ -0,0 +1,18 @@ +#pragma once +#include "../config.h" +// #include "../ClearUI/ClearUI_Input.h" +#include "../hardware/omx_keypad.h" +#include "../utils/param_manager.h" + +namespace midifx +{ + int b = sizeof(MidiNoteGroup); + class MidiFXNoteTracker + { + public: + MidiFXNoteTracker() {} + virtual ~MidiFXNoteTracker(); + + private: + }; +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_randomizer.cpp b/Archive/OMX-27-firmware/src/midifx/midifx_randomizer.cpp new file mode 100644 index 00000000..cb207daa --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_randomizer.cpp @@ -0,0 +1,483 @@ +#include "midifx_randomizer.h" +#include "../hardware/omx_disp.h" +#include "../utils/omx_util.h" + +namespace midifx +{ + enum RandPage { + RZPAGE_CHANCE, + RZPAGE_1, + RZPAGE_2, + RZPAGE_3 + }; + + MidiFXRandomizer::MidiFXRandomizer() + { + params_.addPage(1); // RZPAGE_CHANCE + params_.addPage(4); // RZPAGE_1 + params_.addPage(4); // RZPAGE_2 + params_.addPage(4); // RZPAGE_3 + encoderSelect_ = true; + + noteMinus_ = 0; + notePlus_ = 0; + octMinus_ = 0; + octPlus_ = 0; + velMinus_ = 0; + velPlus_ = 0; + lengthPerc_ = 0; + chancePerc_ = 100; + + midiChan_ = 0; + delayMin_ = 0; + delayMax_ = 0; + } + + int MidiFXRandomizer::getFXType() + { + return MIDIFX_RANDOMIZER; + } + + const char* MidiFXRandomizer::getName() + { + return "Randomizer"; + } + + const char* MidiFXRandomizer::getDispName() + { + return "RAND"; + } + + MidiFXInterface* MidiFXRandomizer::getClone() + { + auto clone = new MidiFXRandomizer(); + + clone->noteMinus_ = noteMinus_; + clone->notePlus_ = notePlus_; + clone->octMinus_ = octMinus_; + clone->octPlus_ = octPlus_; + clone->velMinus_ = velMinus_; + clone->velPlus_ = velPlus_; + clone->lengthPerc_ = lengthPerc_; + clone->chancePerc_ = chancePerc_; + clone->midiChan_ = midiChan_; + clone->delayMin_ = delayMin_; + clone->delayMax_ = delayMax_; + + return clone; + } + + void MidiFXRandomizer::onEnabled() + { + } + + void MidiFXRandomizer::onDisabled() + { + } + + + + + + void MidiFXRandomizer::noteInput(MidiNoteGroup note) + { + if(note.noteOff) + { + removeFromDelayQueue(¬e); + processNoteOff(note); + return; + } + + // Serial.println("MidiFXRandomNote::noteInput"); + + // Probability that we randomize the note + if(chancePerc_ != 100 && (chancePerc_ == 0 || random(100) > chancePerc_)) + { + sendNoteOut(note); + return; + } + + // int8_t origNote = note.noteNumber; + + int8_t octaveMax = octMinus_ + octPlus_ + 1; + int8_t octave = random(0, octaveMax) - octMinus_; + + note.noteNumber = getRand(note.noteNumber, noteMinus_, notePlus_); + note.noteNumber = constrain(note.noteNumber + (octave * 12), 0, 127); + note.velocity = getRand(note.velocity, velMinus_, velPlus_); + note.stepLength = note.stepLength * map(random(lengthPerc_), 0, 100, 1, 16); + + // if(midiChan_ != 0) + // { + // note.channel = constrain(random(note.channel, note.channel + midiChan_), 1, 16); + // } + + if(delayMin_ > 0 || delayMax_ > 0) + { + processDelayedNote(¬e); + } + else + { + processNoteOn(note); + } + } + + void MidiFXRandomizer::processNoteOff(MidiNoteGroup note) + { + bool foundNote = false; + if (trackedNotes.size() > 0) + { + auto it = trackedNotes.begin(); + while (it != trackedNotes.end()) + { + if (it->prevNoteNumber == note.prevNoteNumber && it->origChannel == note.channel) + { + foundNote = true; + // sendNoteOut(note); + + note.channel = it->channel; + // note.noteNumber = it->noteNumber; + + sendNoteOut(note); + + it = trackedNotes.erase(it); + } + else + { + ++it; + } + } + } + + if(!foundNote) + { + sendNoteOut(note); + } + } + + void MidiFXRandomizer::processNoteOn(MidiNoteGroup note) + { + // Tracking not needed if not randomizing midi chan + if(midiChan_ == 0) + { + sendNoteOut(note); + return; + } + + if (trackedNotes.size() > 0) + { + for(auto tNt : trackedNotes) + { + if (tNt.noteNumber == note.noteNumber && tNt.origChannel == note.channel) + { + // same note is being tracked already, kill note + return; + } + } + } + + if (trackedNotes.size() < queueSize) + { + RandTrackedNote trackedNote; + trackedNote.setFromNoteGroup(¬e); + + // Keep track of original channel + trackedNote.origChannel = note.channel; + + note.channel = constrain(random(note.channel, note.channel + midiChan_), 1, 16); + + trackedNote.channel = note.channel; + + trackedNotes.push_back(trackedNote); + + sendNoteOut(note); + } + // Kill if queue is full + } + + void MidiFXRandomizer::removeFromDelayQueue(MidiNoteGroup *note) + { + if (delayedNoteQueue.size() > 0) + { + auto it = delayedNoteQueue.begin(); + while (it != delayedNoteQueue.end()) + { + // Serial.println("activeNoteQueue: " + String(it->noteNumber) + " Chan: " + String(it->channel)); + + // TODO track note off midichannels and compare with random one + // Might cause problems + if (it->noteNumber == note->noteNumber) + { + // `erase()` invalidates the iterator, use returned iterator + it = delayedNoteQueue.erase(it); + // foundNoteToRemove = true; + } + else + { + ++it; + } + } + } + + // return foundNoteToRemove; + } + + void MidiFXRandomizer::processDelayedNote(MidiNoteGroup *note) + { + if (delayedNoteQueue.capacity() > queueSize) + { + delayedNoteQueue.shrink_to_fit(); + } + + if(delayedNoteQueue.size() < queueSize) + { + float mult = 0.0f; + // Assume one of these is greater than 0 + if (delayMin_ == 0 || delayMax_ == 0) + { + uint8_t rate = delayMin_ == 0 ? getDelayLength(delayMax_) : getDelayLength(delayMin_); + mult = (1.0f / max((float)rate, __FLT_EPSILON__)) * omxUtil.randFloat(); + } + else if (delayMin_ > 0 && delayMax_ > 0) + { + uint8_t lMin = getDelayLength(delayMin_); + uint8_t lMax = getDelayLength(delayMax_); + + float rmin = (float)min(lMin, lMax); + float rmax = (float)max(lMin, lMax); + + float rate = omxUtil.lerp(rmin, rmax, omxUtil.randFloat()); + + mult = 1.0f / rate; + } + + note->noteonMicros = seqConfig.lastClockMicros + (clockConfig.step_micros * 16 * mult); + + delayedNoteQueue.push_back(*note); + } + else + { + // queue is filled, send note out + processNoteOn(*note); + } + } + + uint8_t MidiFXRandomizer::getRand(uint8_t v, uint8_t minus, uint8_t plus) + { + uint8_t minV = max(v - minus, 0); + uint8_t maxV = min(v + plus + 1, 127); + return random(minV, maxV); + } + + void MidiFXRandomizer::loopUpdate() + { + if(delayedNoteQueue.size() == 0) + { + return; + } + + uint32_t stepmicros = seqConfig.currentFrameMicros; + + auto it = delayedNoteQueue.begin(); + while (it != delayedNoteQueue.end()) + { + if (stepmicros >= it->noteonMicros) + { + // Send out and remove + processNoteOn(*it); + it = delayedNoteQueue.erase(it); + } + else + { + ++it; + } + } + } + + void MidiFXRandomizer::onEncoderChangedEditParam(Encoder::Update enc) + { + int8_t page = params_.getSelPage(); + int8_t param = params_.getSelParam(); + + auto amtSlow = enc.accel(1); + auto amtFast = enc.accel(5); + + switch (page) + { + case RZPAGE_CHANCE: + { + switch (param) + { + case 0: + chancePerc_ = constrain(chancePerc_ + amtSlow, 0, 100); + break; + } + } + break; + case RZPAGE_1: + { + switch (param) + { + case 0: + noteMinus_ = constrain(noteMinus_ + amtSlow, 0, 12); + break; + case 1: + notePlus_ = constrain(notePlus_ + amtSlow, 0, 12); + break; + case 2: + octMinus_ = constrain(octMinus_ + amtSlow, 0, 12); + break; + case 3: + octPlus_ = constrain(octPlus_ + amtSlow, 0, 12); + break; + } + } + break; + case RZPAGE_2: + { + switch (param) + { + case 0: + velMinus_ = constrain(velMinus_ + amtFast, 0, 127); + break; + case 1: + velPlus_ = constrain(velPlus_ + amtFast, 0, 127); + break; + case 2: + lengthPerc_ = constrain(lengthPerc_ + amtFast, 0, 100); + break; + case 3: + midiChan_ = constrain(midiChan_ + amtSlow, 0, 16); + break; + } + } + break; + case RZPAGE_3: + { + switch (param) + { + case 0: + delayMin_ = constrain(delayMin_ + amtSlow, 0, kNumArpRates); // 0 = off + break; + case 1: + delayMax_ = constrain(delayMax_ + amtSlow, 0, kNumArpRates); + break; + } + } + break; + } + + omxDisp.setDirty(); + } + uint8_t MidiFXRandomizer::getDelayLength(uint8_t delayIndex) + { + if(delayIndex == 0 || delayIndex - 1 >= kNumArpRates) + { + return 0; + } + + uint8_t i = delayIndex - 1; + + // Reverse order + i = (kNumArpRates - 1) - i; + + return kArpRates[i]; + } + + void MidiFXRandomizer::onDisplayUpdate(uint8_t funcKeyMode) + { + omxDisp.clearLegends(); + + bool genDisplay = true; + + switch (params_.getSelPage()) + { + case RZPAGE_CHANCE: + { + omxDisp.dispParamBar(chancePerc_, chancePerc_, 0, 100, !getEncoderSelect(), false, "Rand", "Chance"); + genDisplay = false; + } + break; + case RZPAGE_1: + { + omxDisp.setLegend(0, "NT-", noteMinus_); + omxDisp.setLegend(1, "NT+", notePlus_); + omxDisp.setLegend(2, "OCT-", octMinus_); + omxDisp.setLegend(3, "OCT+", octPlus_); + } + break; + case RZPAGE_2: + { + omxDisp.setLegend(0, "VEL-", velMinus_); + omxDisp.setLegend(1, "VEL+", velPlus_); + omxDisp.setLegend(2, "LEN%", lengthPerc_); + omxDisp.setLegend(3, "CHAN", midiChan_ == 0, midiChan_); + } + break; + case RZPAGE_3: + { + omxDisp.setLegend(0, "DEL-", delayMin_ == 0, "1/" + String(getDelayLength(delayMin_))); + omxDisp.setLegend(1, "DEL+", delayMax_ == 0, "1/" + String(getDelayLength(delayMax_))); + } + break; + } + + if (genDisplay) + { + omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), getEncoderSelect()); + } + } + + int MidiFXRandomizer::saveToDisk(int startingAddress, Storage *storage) + { + RandomSave save; + save.noteMinus = noteMinus_; + save.notePlus = notePlus_; + save.octMinus = octMinus_; + save.octPlus = octPlus_; + save.velMinus = velMinus_; + save.velPlus = velPlus_; + save.lengthPerc = lengthPerc_; + save.chancePerc = chancePerc_; + save.midiChan = midiChan_; + save.delayMin = delayMin_; + save.delayMax = delayMax_; + + int saveSize = sizeof(RandomSave); + + auto saveBytesPtr = (byte *)(&save); + for (int j = 0; j < saveSize; j++) + { + storage->write(startingAddress + j, *saveBytesPtr++); + } + + return startingAddress + saveSize; + } + + int MidiFXRandomizer::loadFromDisk(int startingAddress, Storage *storage) + { + int saveSize = sizeof(RandomSave); + + auto save = RandomSave{}; + auto current = (byte *)&save; + for (int j = 0; j < saveSize; j++) + { + *current = storage->read(startingAddress + j); + current++; + } + + noteMinus_ = save.noteMinus; + notePlus_ = save.notePlus; + octMinus_ = save.octMinus; + octPlus_ = save.octPlus; + velMinus_ = save.velMinus; + velPlus_ = save.velPlus; + lengthPerc_ = save.lengthPerc; + chancePerc_ = save.chancePerc; + midiChan_ = save.midiChan; + delayMin_ = save.delayMin; + delayMax_ = save.delayMax; + + return startingAddress + saveSize; + } +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_randomizer.h b/Archive/OMX-27-firmware/src/midifx/midifx_randomizer.h new file mode 100644 index 00000000..e81671de --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_randomizer.h @@ -0,0 +1,103 @@ +#pragma once + +#include "midifx_interface.h" + +namespace midifx +{ + + class MidiFXRandomizer : public MidiFXInterface + { + public: + MidiFXRandomizer(); + ~MidiFXRandomizer() {} + + int getFXType() override; + const char *getName() override; + const char *getDispName() override; + + MidiFXInterface *getClone() override; + + void loopUpdate() override; + + void onDisplayUpdate(uint8_t funcKeyMode) override; + + void noteInput(MidiNoteGroup note) override; + + int saveToDisk(int startingAddress, Storage *storage) override; + int loadFromDisk(int startingAddress, Storage *storage) override; + + + protected: + void onEnabled() override; + void onDisabled() override; + + void onEncoderChangedEditParam(Encoder::Update enc) override; + + void processNoteOff(MidiNoteGroup note) override; + + + private: + struct RandTrackedNote + { + uint8_t prevNoteNumber = 0; + uint8_t channel = 1; + uint8_t origChannel = 1; + uint8_t noteNumber = 0; + + RandTrackedNote() + { + } + + void setFromNoteGroup(MidiNoteGroup *noteGroup) + { + prevNoteNumber = noteGroup->prevNoteNumber; + channel = noteGroup->channel; + origChannel = noteGroup->channel; + noteNumber = noteGroup->noteNumber; + } + }; + + // std::vector triggeredNotes; + struct RandomSave + { + uint8_t noteMinus : 4; + uint8_t notePlus : 4; + uint8_t octMinus : 4; + uint8_t octPlus : 4; + uint8_t velMinus : 7; + uint8_t velPlus : 7; + uint8_t lengthPerc : 7; + uint8_t midiChan : 5; + uint8_t delayMin : 5; + uint8_t delayMax : 5; + uint8_t chancePerc : 7; + }; + + uint8_t noteMinus_ : 4; // 0 to 12 + uint8_t notePlus_ : 4; // 0 to 12 + uint8_t octMinus_ : 4; // 0 to 12 + uint8_t octPlus_ : 4; // 0 to 12 + uint8_t velMinus_ : 7; // 0 to 127 + uint8_t velPlus_ : 7; // 0 to 127 + uint8_t lengthPerc_ : 7; // 0 to 100 + uint8_t midiChan_ : 5; // 0 to 16, Midi channel random range between incoming channel and channel + this value + uint8_t delayMin_ : 5; // Maps to kArpRates, except 0 = off + uint8_t delayMax_ : 5; + uint8_t chancePerc_ : 7; // 0 to 100 + + static const int queueSize = 16; + std::vector delayedNoteQueue; // notes pending for quantization + + std::vector trackedNotes; // notes that are tracked because midi chan changed + + + static uint8_t getDelayLength(uint8_t delayIndex); + + static uint8_t getRand(uint8_t v, uint8_t minus, uint8_t plus); + + void removeFromDelayQueue(MidiNoteGroup *note); + void processDelayedNote(MidiNoteGroup *note); + + void processNoteOn(MidiNoteGroup note); + }; +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_repeat.cpp b/Archive/OMX-27-firmware/src/midifx/midifx_repeat.cpp new file mode 100644 index 00000000..d68b3215 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_repeat.cpp @@ -0,0 +1,1386 @@ +#include "midifx_repeat.h" +#include "../hardware/omx_disp.h" +#include "../utils/omx_util.h" + +namespace midifx +{ + Micros nextRepeatTriggerTime_ = 0; + + enum MidiFXRepeatModes + { + MFXREPEATMODE_OFF, + MFXREPEATMODE_ON, + MFXREPEATMODE_1SHOT, + MFXREPEATMODE_ONCE, + MFXREPEATMODE_HOLD, + MFXREPEATMODE_COUNT + }; + + const char *kRepeatModeDisp_[] = {"OFF", "ON", "1-ST", "ONCE", "HOLD"}; + + enum MidiFXRepeatPages + { + MFXREPEATPAGE_CHANCE, // Chance Perc + MFXREPEATPAGE_MODERATE, // Mode, Rate, RateHz, Gate + MFXREPEATPAGE_QUANT, // Quant Rate + MFXREPEATPAGE_FADEVEL, + MFXREPEATPAGE_FADERATE + }; + + MidiFXRepeat::MidiFXRepeat() + { + params_.addPage(1); // MFXREPEATPAGE_CHANCE + params_.addPage(4); // MFXREPEATPAGE_MODERATE + params_.addPage(4); // MFXREPEATPAGE_QUANT + params_.addPage(4); // MFXREPEATPAGE_FADEVEL + params_.addPage(4); // MFXREPEATPAGE_FADERATE + + chancePerc_ = 100; + + mode_ = MFXREPEATMODE_ON; + numOfRepeats_ = 3; + rateIndex_ = 6; + quantizedRateIndex_ = -1; // Use global + rateHz_ = 100; + gate_ = 90; + velStart_ = 50; + velEnd_ = 100; + rateStart_ = 6; + rateEnd_ = 6; + rateStartHz_ = 100; + rateEndHz_ = 100; + + fadeVel_ = false; + fadeRate_ = false; + + quantizeSync_ = quantizedRateIndex_ >= -1; // -2 for off + + noteMaster.setContext(this); + noteMaster.setProcessNoteFptr(&processNoteForwarder); + noteMaster.setSendNoteOutFptr(&sendNoteOutForwarder); + + recalcVariables(); + resync(); + + changeRepeatMode(MFXREPEATMODE_ON); + + encoderSelect_ = true; + } + + MidiFXRepeat::~MidiFXRepeat() + { + if (seqRunning_) + { + seqConfig.numOfActiveArps--; + } + } + + int MidiFXRepeat::getFXType() + { + return MIDIFX_REPEAT; + } + + const char *MidiFXRepeat::getName() + { + return "Repeat"; + } + + const char *MidiFXRepeat::getDispName() + { + return "RPT"; + } + + MidiFXInterface *MidiFXRepeat::getClone() + { + auto clone = new MidiFXRepeat(); + + clone->chancePerc_ = chancePerc_; + clone->numOfRepeats_ = numOfRepeats_; + clone->mode_ = mode_; + clone->rateIndex_ = rateIndex_; + clone->quantizedRateIndex_ = quantizedRateIndex_; + clone->rateHz_ = rateHz_; + clone->gate_ = gate_; + clone->velStart_ = velStart_; + clone->velEnd_ = velEnd_; + + clone->fadeVel_ = fadeVel_; + clone->fadeRate_ = fadeRate_; + + clone->rateStart_ = rateStart_; + clone->rateEnd_ = rateEnd_; + + clone->rateStartHz_ = rateStartHz_; + clone->rateEndHz_ = rateEndHz_; + + clone->recalcVariables(); + + return clone; + } + + void MidiFXRepeat::onEnabled() + { + } + + void MidiFXRepeat::onDisabled() + { + } + + void MidiFXRepeat::noteInput(MidiNoteGroup note) + { + if (mode_ == MFXREPEATMODE_OFF) + { + // Serial.println("MFXREPEATMODE_OFF"); + sendNoteOut(note); + return; + } + + if (chancePerc_ != 100 && (chancePerc_ == 0 || random(100) > chancePerc_)) + { + noteMaster.trackNoteInputPassthrough(¬e); + // // sendNoteOut(note); + // if(note.unknownLength || note.noteOff) + // { + // trackNoteInputPassthrough(¬e, false); + // } + // else + // { + // sendNoteOut(note); + // } + + return; + } + + + noteMaster.trackNoteInput(¬e); + + // if (note.unknownLength || note.noteOff) + // { + // // only notes of unknown lengths need to be tracked + // // notes with fixed lengths will turn off automatically. + // trackNoteInputPassthrough(¬e, true); + // trackNoteInput(¬e); + // } + // else + // { + // processNoteInput(¬e); + // } + } + + // If chance is less than 100% and passing through, notes need to be tracked + // and if the same note comes in without passthrough for a noteoff event, it needs to + // be passed through the effect to send noteoff to prevent stuck notes + // void MidiFXRepeat::trackNoteInputPassthrough(MidiNoteGroup *note, bool ignoreNoteOns) + // { + // // Serial.println("trackNoteInputPassthrough"); + // // Note on, not ignored + // if (!ignoreNoteOns && !note->noteOff) + // { + // // Serial.println("trackNoteInputPassthrough note on"); + + // // Search for an empty slot in trackingNoteGroupsPassthrough + // // If no slots are available/more than 8 notes/ note gets killed. + // for (uint8_t i = 0; i < 8; i++) + // { + // // Found empty slot + // if (trackingNoteGroupsPassthrough[i].prevNoteNumber == 255) + // { + // trackingNoteGroupsPassthrough[i].channel = note->channel; + // trackingNoteGroupsPassthrough[i].prevNoteNumber = note->prevNoteNumber; + // trackingNoteGroupsPassthrough[i].noteNumber = note->noteNumber; + + // // Send it forward through chain + // sendNoteOut(*note); + // return; + // } + // } + // } + + // // Note off + // if (note->noteOff) + // { + // // Serial.println("trackNoteInputPassthrough note off"); + + // // bool noteFound = false; + + // // Search to see if this note is in trackingNoteGroupsPassthrough + // // Meaning it was previously passed through + // // If it is found, send it through chain + // // PrevNoteNumber should be the origin note number before being modified by MidiFX + // for (uint8_t i = 0; i < 8; i++) + // { + // if (trackingNoteGroupsPassthrough[i].prevNoteNumber != 255) + // { + // if (trackingNoteGroupsPassthrough[i].channel == note->channel && trackingNoteGroupsPassthrough[i].prevNoteNumber == note->prevNoteNumber) + // { + // note->noteNumber = trackingNoteGroupsPassthrough[i].noteNumber; + // // processNoteInput(note); + // sendNoteOut(*note); + // trackingNoteGroupsPassthrough[i].prevNoteNumber = 255; // mark empty + // // noteFound = true; + // } + // } + // } + + // // Should be false if note getting sent to arp + // // Avoid double trackNoteInput call + // if(!ignoreNoteOns) + // { + // trackNoteInput(note); + // } + // } + // } + + // void MidiFXRepeat::trackNoteInput(MidiNoteGroup *note) + // { + // // Same implementation with more comments in submode_midifx + // // Keeps track of previous note ons and and adjusts note number + // // for note offs using the prevNoteNumber parameter. + // // Why is this necessary? + // // If the note is modified by midifx like randomize before the arp + // // Then the arp can end up having notes stuck on + // // This ensures that notes don't get stuck on. + // if (note->noteOff) + // { + // bool noteFound = false; + + // for (uint8_t i = 0; i < 8; i++) + // { + // if (trackingNoteGroups[i].prevNoteNumber != 255) + // { + // if (trackingNoteGroups[i].channel == note->channel && trackingNoteGroups[i].prevNoteNumber == note->prevNoteNumber) + // { + // // Serial.println("trackNoteInput note off found in trackingNoteGroups"); + // note->noteNumber = trackingNoteGroups[i].noteNumber; + // processNoteInput(note); + // trackingNoteGroups[i].prevNoteNumber = 255; // mark empty + // noteFound = true; + // } + // } + // } + + // if (!noteFound) + // { + // // Serial.println("trackNoteInput note off not found in trackingNoteGroups"); + + // processNoteInput(note); + // } + // } + // else if (!note->noteOff) // Note on + // { + // for (uint8_t i = 0; i < 8; i++) + // { + // // Find empty slot + // if (trackingNoteGroups[i].prevNoteNumber == 255) + // { + // trackingNoteGroups[i].channel = note->channel; + // trackingNoteGroups[i].prevNoteNumber = note->prevNoteNumber; + // trackingNoteGroups[i].noteNumber = note->noteNumber; + + // processNoteInput(note); + // return; + // } + // } + // } + // } + + void MidiFXRepeat::processNoteInput(MidiNoteGroup *note) + { + // Unknown length notes, played by human on keyboard + if (note->unknownLength) + { + if (note->noteOff) + { + repeatNoteOff(note); + } + else + { + repeatNoteOn(note); + } + } + // Fixed length notes, generated by sequencer, arp or MFX Repeat + else // + { + bool canInsert = true; + + if (fixedLengthNotes.size() < queueSize) + { + for (uint8_t i = 0; i < fixedLengthNotes.size(); i++) + { + FixedLengthNote f = fixedLengthNotes[i]; + + // Note already exists + if (f.noteCache.noteNumber == note->noteNumber && f.noteCache.channel == note->channel) + { + // TODO: This should actually probably send a note off, then a note on for this note + + // Update note off time + fixedLengthNotes[i].offTime = seqConfig.currentFrameMicros + (note->stepLength * clockConfig.step_micros); + canInsert = false; + break; + } + } + } + else + { + canInsert = false; + } + + if (canInsert) + { + // Serial.println("Inserting fixed length note"); + // Insert the note into the queue, calculate when it should turn off + // And send it through the repeat on + FixedLengthNote fixedNote; + fixedNote.noteCache.setFromNoteGroup(note); + fixedNote.offTime = seqConfig.currentFrameMicros + (note->stepLength * clockConfig.step_micros); + fixedLengthNotes.push_back(fixedNote); + repeatNoteOn(note); + } + else + { + // Remove from tracking notes + noteMaster.removeFromTracking(note); + // for (uint8_t i = 0; i < 8; i++) + // { + // if (trackingNoteGroups[i].prevNoteNumber != 255) + // { + // if (trackingNoteGroups[i].channel == note->channel && trackingNoteGroups[i].prevNoteNumber == note->prevNoteNumber) + // { + // trackingNoteGroups[i].prevNoteNumber = 255; // mark empty + // } + // } + // } + // Too many notes, note gets killed. + // sendNoteOut(*note); + } + } + } + + bool MidiFXRepeat::hasMidiNotes() + { + return playedNoteQueue.size() > 0; + } + + bool MidiFXRepeat::useRateHz() + { + return rateIndex_ < 0; + } + + float MidiFXRepeat::rateToHz(uint8_t rateHz) + { + float hertz = 1.0f; + + if (rateHz < 100) + { + hertz = map((float)rateHz, 0.0f, 100.0f, 0.1f, 1.0f); + } + else if (rateHz == 100) + { + hertz = 1.0f; + } + else if (rateHz > 100) + { + hertz = map((float)rateHz, 100.0f, 255.0f, 1.0f, 50.0f); + } + + return hertz; + } + + + void MidiFXRepeat::updateMultiplier() + { + if (!multiplierCalculated_) + { + // Use Hertz + if (useRateHz()) + { + multiplier_ = 1; + + rateInHz_ = rateToHz(rateHz_); + rateStartInHz_ = rateToHz(rateStartHz_); + rateEndInHz_ = rateToHz(rateEndHz_); + } + else + { + uint8_t rate = kArpRates[rateIndex_]; // 8 + // uint8_t rate = 16; // 8 + multiplier_ = 1.0f / (float)rate; // 1 / 8 = 0.125 // Only need to recalculate this if rate changes yo + + rateStartMult_ = 1.0f / ((float)kArpRates[rateStart_]); + rateEndMult_ = 1.0f / ((float)kArpRates[rateEnd_]); + } + + multiplierCalculated_ = true; + } + } + + bool MidiFXRepeat::insertMidiNoteQueue(MidiNoteGroup *note) + { + // Serial.println("insertMidiNoteQueue"); + // Serial.println("playedNoteQueue.capacity(): " + String(playedNoteQueue.capacity())); + // Serial.println("activeNoteQueue.capacity(): " + String(activeNoteQueue.capacity())); + // Serial.println("pendingNoteQueue.capacity(): " + String(pendingNoteQueue.capacity())); + // Serial.println("tempNoteQueue.capacity(): " + String(tempNoteQueue.capacity())); + // Serial.println("fixedLengthNotes.capacity(): " + String(fixedLengthNotes.capacity())); + + if (playedNoteQueue.capacity() > queueSize) + { + playedNoteQueue.shrink_to_fit(); + } + + bool noteAdded = false; + + // Played note queue simply tracks which notes are being played. + // These notes do not get played + if (playedNoteQueue.size() < queueSize) + { + playedNoteQueue.push_back(RepeatNote(note)); + noteAdded = true; + } + + if (activeNoteQueue.capacity() > queueSize) + { + activeNoteQueue.shrink_to_fit(); + } + + if (pendingNoteQueue.capacity() > queueSize) + { + pendingNoteQueue.shrink_to_fit(); + } + + // if(!noteAdded) + // { + // Serial.println("Could not add note"); + // } + + // Room up to 16 in playedNoteQueue, can add to pending or active + if (noteAdded) + { + // In these modes the note will be on + // Remove the note and readd to avoid weird overlapping repeats + if (mode_ == MFXREPEATMODE_1SHOT || mode_ == MFXREPEATMODE_HOLD) + { + removeFromQueue(&activeNoteQueue, note); + removeFromQueue(&pendingNoteQueue, note); + } + + if (activeNoteQueue.size() + pendingNoteQueue.size() < queueSize) + { + // Add to pending queue, note will be added to active queue on clock + if (quantizeSync_) + { + // Serial.println("adding quantize note"); + + auto newNote = RepeatNote(note); + + newNote.repeatCounter = numOfRepeats_ + 1; + + newNote.velocityStart = note->velocity * velStartPerc_; + newNote.velocityEnd = note->velocity * velEndPerc_; + + newNote.nextTriggerTime = seqConfig.lastClockMicros; + + pendingNoteQueue.push_back(newNote); + } + // No quantization, play immediately by adding to active note queue + else + { + // Serial.println("adding non-quantize note"); + + auto newNote = RepeatNote(note); + + newNote.repeatCounter = numOfRepeats_ + 1; + + newNote.velocityStart = note->velocity * velStartPerc_; + newNote.velocityEnd = note->velocity * velEndPerc_; + + newNote.nextTriggerTime = seqConfig.lastClockMicros; + + activeNoteQueue.push_back(newNote); + } + } + } + + // Serial.println("Note Added: " + String(noteAdded)); + return noteAdded; + } + + bool MidiFXRepeat::removeFromQueue(std::vector *queue, MidiNoteGroup *note) + { + bool foundNoteToRemove = false; + + if (queue->size() > 0) + { + auto it = queue->begin(); + while (it != queue->end()) + { + // Serial.println("activeNoteQueue: " + String(it->noteNumber) + " Chan: " + String(it->channel)); + + if (it->noteNumber == note->noteNumber && it->channel == note->channel - 1) + { + // `erase()` invalidates the iterator, use returned iterator + it = queue->erase(it); + foundNoteToRemove = true; + } + else + { + ++it; + } + } + } + + return foundNoteToRemove; + } + + + bool MidiFXRepeat::removeMidiNoteQueue(MidiNoteGroup *note) + { + bool foundNoteToRemove = false; + + // Always remove from played notes + if(removeFromQueue(&playedNoteQueue, note)) + { + foundNoteToRemove = true; + } + + switch (mode_) + { + // Should not get here + case MFXREPEATMODE_OFF: + break; + case MFXREPEATMODE_ON: + { + removeFromQueue(&activeNoteQueue, note); + removeFromQueue(&pendingNoteQueue, note); + } + break; + // Don't remove from active or pending + // each note gets removed after playing for number of times + case MFXREPEATMODE_1SHOT: + break; + // Don't remove from active or pending + // queue will be reset once playedNoteQueue is empty and a new noteon comes in + case MFXREPEATMODE_HOLD: + break; + } + + return foundNoteToRemove; + } + + void MidiFXRepeat::changeRepeatMode(uint8_t newMode) + { + uint8_t prevMode = mode_; + mode_ = newMode; + + if ((mode_ == MFXREPEATMODE_ON && hasMidiNotes() == false) || (mode_ == MFXREPEATMODE_ONCE && hasMidiNotes() == false) || mode_ == MFXREPEATMODE_OFF) + { + stopSeq(); + } + + switch (mode_) + { + case MFXREPEATMODE_OFF: + case MFXREPEATMODE_ON: + resync(); + break; + } + + if(prevMode != newMode && newMode == MFXREPEATMODE_OFF) + { + seqRunning_ = false; + recalcVariables(); + resync(); + } + } + + void MidiFXRepeat::resync() + { + playedNoteQueue.clear(); + tempNoteQueue.clear(); + activeNoteQueue.clear(); + pendingNoteQueue.clear(); + fixedLengthNotes.clear(); + + resetArpSeq(); + + noteMaster.clear(); + + // for (uint8_t i = 0; i < 8; i++) + // { + // trackingNoteGroups[i].prevNoteNumber = 255; + // trackingNoteGroupsPassthrough[i].prevNoteNumber = 255; + // } + } + + void MidiFXRepeat::repeatNoteOn(MidiNoteGroup *note) + { + // Serial.println("repeatNoteOn"); + + // bool seqReset = false; + + if (!seqRunning_) + { + startSeq(); + resetArpSeq(); + // seqReset = true; + + // Serial.println("playedNoteQueue: " + String(playedNoteQueue.size())); + // Serial.println("activeNoteQueue: " + String(activeNoteQueue.size())); + // Serial.println("pendingNoteQueue: " + String(pendingNoteQueue.size())); + // Serial.println("tempNoteQueue: " + String(tempNoteQueue.size())); + // Serial.println("fixedLengthNotes: " + String(fixedLengthNotes.size())); + } + + if (hasMidiNotes() == false) + { + // Serial.println("No Midi Notes"); + + + + // velocity_ = note.velocity; + // sendMidi_ = note.sendMidi; + // sendCV_ = note.sendCV; + // midiChannel_ = note.channel - 1; // note.channel is 1-16, sub 1 for 0-15 + + + // resetArpSeq(); + // seqReset = true; + + // For one shot mode, notes are removed from active + // once they have played a certain number of times + // Important to clear this for hold mode + if (mode_ != MFXREPEATMODE_1SHOT) + { + // Reset the active note queue + activeNoteQueue.clear(); + } + } + + // Serial.println("seqRunning_: " + String(seqRunning_)); + + // else + // { + // // if (resetMode_ == ARPRESET_NOTE) + // // { + // // resetArpSeq(); + // // seqReset = true; + // // } + // } + + insertMidiNoteQueue(note); + // sortNotes(); + + // if (seqReset) + // { + // // nextNotePos_ = notePos_; + // // prevQLength_ = sortedNoteQueue.size(); + // } + + // if (pendingStop_) + // { + // pendingStop_ = false; + // } + + // if (!seqReset && !pendingStart_) + // { + // findIndexOfNextNotePos(); + // } + } + void MidiFXRepeat::repeatNoteOff(MidiNoteGroup *note) + { + // Serial.println("repeatNoteOff"); + removeMidiNoteQueue(note); + // sortNotes(); + + if ((mode_ == MFXREPEATMODE_ON || mode_ == MFXREPEATMODE_ONCE) && hasMidiNotes() == false) + { + stopSeq(); + } + // if (hasMidiNotes()) + // { + // findIndexOfNextNotePos(); + // } + } + + void MidiFXRepeat::startSeq() + { + // Serial.println("startArp"); + if (seqRunning_) + return; + + // pendingStart_ = true; + // sortOrderChanged_ = false; + // resetNextTrigger_ = false; + + // pendingStartTime_ = micros(); + + // notePos_ = 0; + // prevNotePos_ = 0; + // nextNotePos_ = 0; + + // if (omxUtil.areClocksRunning() == false) + // { + // pendingStart_ = true; + // } + // else + // { + // doPendingStart(); + // } + + updateMultiplier(); + + if(seqConfig.numOfActiveArps <= 0) + { + // omxUtil.resetPPQCounter(); + } + + // if (omxUtil.areClocksRunning() == false) + // { + // omxUtil.restartClocks(); + // omxUtil.startClocks(); + // // uint8_t rate = kArpRates[rateIndex_]; + // // multiplier_ = 1.0f / (float)rate; + // stepMicroDelta_ = (clockConfig.step_micros * 16) * multiplier_; + // nextStepTimeP_ = seqConfig.lastClockMicros; // Should be current time, start now. + // nextRepeatTriggerTime_ = nextStepTimeP_; + + // next16thTime_ = seqConfig.lastClockMicros; + // last16thTime_ = seqConfig.lastClockMicros; + // } + // else + // { + // nextStepTimeP_ = nextRepeatTriggerTime_; + // } + + // lastStepTimeP_ = nextStepTimeP_; + + seqRunning_ = true; + // pendingStart_ = false; + // pendingStop_ = false; + + seqConfig.numOfActiveArps++; + } + + void MidiFXRepeat::stopSeq() + { + // pendingStart_ = false; + // pendingStop_ = false; + // arpRunning_ = false; + // pendingStopCount_ = 0; + + // doPendingStop(); + + if (seqRunning_) + { + // Stop clocks if last arp + seqConfig.numOfActiveArps--; + // if (seqConfig.numOfActiveArps <= 0) + // { + // omxUtil.stopClocks(); + // } + } + + seqRunning_ = false; + // pendingStart_ = false; + // pendingStop_ = false; + + // // Serial.println("stopArp"); + // arpRunning_ = false; + // pendingStart_ = false; + } + + void MidiFXRepeat::resetArpSeq() + { + // Serial.println("resetArpSeq"); + // patPos_ = 0; + // transpPos_ = 0; + // modPos_ = 0; + // notePos_ = 0; + // octavePos_ = 0; + // syncPos_ = 0; + + // lastPlayedNoteNumber_ = -127; + + // randPrevNote_ = 255; + + // goingUp_ = true; + // resetNextTrigger_ = false; + + // prevNotePos_ = 0; + // nextNotePos_ = 0; + } + + // void MidiFXRepeat::sortNotes() + // { + // activeNoteQueue.clear(); + + // // Copy played or held notes to sorted note queue + // if (mode_ != MFXREPEATMODE_ON && mode_ != MFXREPEATMODE_ONCE) + // { + // for (RepeatNote a : holdNoteQueue) + // { + // activeNoteQueue.push_back(a); + // } + // } + // else + // { + // for (RepeatNote a : playedNoteQueue) + // { + // activeNoteQueue.push_back(a); + // } + // } + + // if (activeNoteQueue.size() == 0) + // return; // Not much to do without any notes + + // // Keep vectors in check + // if (activeNoteQueue.capacity() > queueSize) + // { + // activeNoteQueue.shrink_to_fit(); + // } + + // if (tempNoteQueue.capacity() > queueSize) + // { + // tempNoteQueue.shrink_to_fit(); + // } + // } + + void MidiFXRepeat::triggerNote(RepeatNote note) + { + if(note.noteNumber > 127) return; + + playNote(seqConfig.currentFrameMicros, note.nextTriggerDelta, note.noteNumber, note.velocity, note.channel); + } + + // void MidiFXRepeat::repeatNoteTrigger() + // { + // // Serial.println("repeatNoteTrigger"); + + // if (activeNoteQueue.size() == 0) + // { + // // Serial.println("no sorted notes"); + + // return; + // } + + // uint32_t noteon_micros = seqConfig.currentFrameMicros; + + // // if (resetNextTrigger_) + // // { + // // resetArpSeq(); + // // } + + // // bool incrementOctave = false; + // // int currentNotePos = notePos_; + // // int nextNotePos = notePos_; + // // int qLength = sortedNoteQueue.size(); + + // // prevNotePos_ = notePos_; + + // // prevQLength_ = qLength; + + // // syncPos_ = syncPos_ + 1 % 16; + + // // currentNotePos = constrain(currentNotePos, 0, qLength - 1); + + // for (RepeatNote r : activeNoteQueue) + // { + // if (r.noteNumber >= 0 && r.noteNumber <= 127) + // { + // playNote(noteon_micros, r.noteNumber, r.velocity, r.channel); + // } + // } + + // // ArpNote arpNote = sortedNoteQueue[currentNotePos]; + // // randPrevNote_ = arpNote.noteNumber; + + // // int16_t noteNumber = arpNote.noteNumber; + + // // noteNumber = applyModPattern(noteNumber, arpNote.channel); + // // stepLength_ = findStepLength(); // Can be changed by ties in mod pattern + + // // if (noteNumber != -127) + // // { + // // noteNumber = applyTranspPattern(noteNumber); + + // // // Add octave + // // noteNumber = noteNumber + (octavePos_ * octDistance_); + // // playNote(noteon_micros, noteNumber, velocity_, arpNote.channel); + // // } + + // // bool seqReset = false; + + // // // Advance mod pattern + // // modPos_++; + // // if (modPos_ >= modPatternLength_ + 1) + // // { + // // if (resetMode_ == ARPRESET_MODPAT) + // // { + // // resetArpSeq(); + // // seqReset = true; + // // } + // // modPos_ = 0; + // // } + + // // // Advance transpose pattern + // // transpPos_++; + // // if (transpPos_ >= transpPatternLength_ + 1) + // // { + // // if (resetMode_ == ARPRESET_TRANSPOSEPAT) + // // { + // // resetArpSeq(); + // // seqReset = true; + // // } + // // transpPos_ = 0; + // // } + + // // if (!seqReset) + // // { + // // notePos_ = nextNotePos; + + // // nextNotePos_ = (notePos_ + qLength) % qLength; + // // } + // // else + // // { + // // nextNotePos_ = notePos_; + // // } + + // // prevSortedNoteQueue.clear(); + + // // for (ArpNote a : sortedNoteQueue) + // // { + // // prevSortedNoteQueue.push_back(a); + // // } + + // // playNote(noteon_micros, notePat_[patPos_]); + + // // patPos_++; + // } + + void MidiFXRepeat::playNote(uint32_t noteOnMicros, uint32_t lengthDelta, int16_t noteNumber, uint8_t velocity, uint8_t channel) + { + // Serial.println("SeqRunning: " + String(seqRunning_)); + // Serial.println("PlayNote: " + String(noteNumber) + " " + String(velocity) + " " + String(channel)); + if (noteNumber < 0 || noteNumber > 127) + return; + + MidiNoteGroup noteOut; + + noteOut.channel = channel + 1; + noteOut.noteNumber = (uint8_t)noteNumber; + noteOut.prevNoteNumber = (uint8_t)noteNumber; + noteOut.velocity = velocity; + // noteOut.stepLength = ((float)gate_ * 0.01f) * (16.0f * multiplier_); + + noteOut.stepLength = (lengthDelta * ((float)gate_ * 0.01f)) / clockConfig.step_micros; + + // Serial.println("stepLength: " + String(noteOut.stepLength)); + + // noteOut.stepLength = ((float)gate_ * 0.01f) * (16.0f * multiplier_); + + // noteOut.sendMidi = sendMidi_; + // noteOut.sendCV = sendCV_; + + noteOut.sendMidi = true; + noteOut.sendCV = true; + noteOut.noteonMicros = noteOnMicros; + noteOut.unknownLength = false; + noteOut.noteOff = false; + + // lastPlayedNoteNumber_ = noteNumber; + + sendNoteOut(noteOut); + } + + void MidiFXRepeat::onClockTick() + { + if(pendingNoteQueue.size() == 0) return; + + uint8_t quantIndex = quantizedRateIndex_ < 0 ? clockConfig.globalQuantizeStepIndex : quantizedRateIndex_; // Use global or local quantize rate? + + bool isQuantizedStep = seqConfig.currentClockTick % (96 * 4 / kArpRates[quantIndex]) == 0; + + // Move pending notes to active + if(isQuantizedStep) + { + for (uint8_t i = 0; i < pendingNoteQueue.size(); i++) + { + pendingNoteQueue[i].nextTriggerTime = seqConfig.lastClockMicros; + activeNoteQueue.push_back(pendingNoteQueue[i]); + } + + pendingNoteQueue.clear(); + } + } + + void MidiFXRepeat::loopUpdate() + { + auto now = seqConfig.currentFrameMicros; + + // Send arp offs for notes that had fixed lengths + auto it = fixedLengthNotes.begin(); + while (it != fixedLengthNotes.end()) + { + // remove matching note numbers + if (it->offTime <= now) + { + auto noteGroup = it->noteCache.toMidiNoteGroup(); + + // Serial.println("Removing pending note"); + repeatNoteOff(¬eGroup); + // `erase()` invalidates the iterator, use returned iterator + it = fixedLengthNotes.erase(it); + } + else + { + ++it; + } + } + + if (!seqRunning_) + { + return; + } + + if (sysSettings.omxMode == MODE_MIDI && !selected_) + { + // Serial.println("Not selected"); + return; + } + + updateMultiplier(); + + uint32_t stepmicros = seqConfig.currentFrameMicros; + + tempNoteQueue.clear(); + + // Loop through all the notes and see which notes should be triggered this frame + // if a note should be triggered it gets added to the tempNoteQueue + for(uint8_t i = 0; i < activeNoteQueue.size(); i++) + { + // The time has come to + if(stepmicros >= activeNoteQueue[i].nextTriggerTime) + { + if(fadeVel_) + { + activeNoteQueue[i].velocity = map(activeNoteQueue[i].repeatCounter, 0, numOfRepeats_, activeNoteQueue[i].velocityEnd, activeNoteQueue[i].velocityStart); + } + + if (useRateHz()) // Use hertz + { + float hzRate = fadeRate_ ? map((float)activeNoteQueue[i].repeatCounter, 0.0f, (float)numOfRepeats_, rateEndInHz_, rateStartInHz_) : rateInHz_; + + activeNoteQueue[i].nextTriggerDelta = (1.0f / hzRate) * secs2micros; + } + else // Synced + { + float mult = fadeRate_ ? map((float)activeNoteQueue[i].repeatCounter, 0.0f, (float)numOfRepeats_, rateEndMult_, rateStartMult_) : multiplier_; + + activeNoteQueue[i].nextTriggerDelta = clockConfig.step_micros * 16 * mult; // 1/8th note, 120 bpm, 124992 * 16 * 0.125 = 249984 / 124992 = 2 steps, 16 / 2 = 8 + } + + activeNoteQueue[i].nextTriggerTime = activeNoteQueue[i].nextTriggerTime + activeNoteQueue[i].nextTriggerDelta; + + if(activeNoteQueue[i].repeatCounter > 0) + { + activeNoteQueue[i].repeatCounter -= 1; + } + + // Don't hold back + tempNoteQueue.push_back(activeNoteQueue[i]); + } + } + + // Trigger any notes that should be triggered this frame + for (RepeatNote n : tempNoteQueue) + { + triggerNote(n); + } + + // Once and 1shot modes will use repeat counter + // if any of these counters reached 0, remove the note + if ((mode_ == MFXREPEATMODE_1SHOT || mode_ == MFXREPEATMODE_ONCE) && activeNoteQueue.size() > 0) + { + auto it = activeNoteQueue.begin(); + while (it != activeNoteQueue.end()) + { + if(it->repeatCounter <= 0) + { + it = activeNoteQueue.erase(it); + } + else + { + ++it; + } + } + } + } + + void MidiFXRepeat::onEncoderChangedEditParam(Encoder::Update enc) + { + int8_t page = params_.getSelPage(); + int8_t param = params_.getSelParam(); + + auto amtSlow = enc.accel(1); + auto amtFast = enc.accel(5); + + switch (page) + { + case MFXREPEATPAGE_CHANCE: + { + switch (param) + { + case 0: + chancePerc_ = constrain(chancePerc_ + amtSlow, 0, 100); + break; + case 1: + break; + case 2: + break; + case 3: + break; + } + } + break; + case MFXREPEATPAGE_MODERATE: + { + switch (param) + { + case 0: + { + uint8_t newMode = constrain(mode_ + amtSlow, 0, MFXREPEATMODE_COUNT - 1); + changeRepeatMode(newMode); + } + break; + case 1: + rateIndex_ = constrain(rateIndex_ + amtSlow, -1, kNumArpRates - 1); + multiplierCalculated_ = false; + break; + case 2: + rateHz_ = constrain(rateHz_ + amtFast, 0, 255); + rateInHz_ = rateToHz(rateHz_); + multiplierCalculated_ = false; + break; + case 3: + gate_ = constrain(gate_ + amtFast, 2, 200); + break; + } + } + break; + case MFXREPEATPAGE_QUANT: + { + switch (param) + { + case 0: + quantizedRateIndex_ = constrain(quantizedRateIndex_ + amtSlow, -2, kNumArpRates - 1); + quantizeSync_ = quantizedRateIndex_ >= -1; // -2 for off + break; + case 1: + numOfRepeats_ = constrain(numOfRepeats_ + amtSlow, 0, 63); + break; + case 2: + break; + case 3: + break; + } + } + break; + case MFXREPEATPAGE_FADEVEL: + { + switch (param) + { + case 0: + fadeVel_ = constrain(fadeVel_ + amtSlow, 0, 1); + break; + case 1: + velStart_ = constrain(velStart_ + amtFast, 0, 100); + velStartPerc_ = velStart_ / 100.0f; + break; + case 2: + velEnd_ = constrain(velEnd_ + amtFast, 0, 100); + velEndPerc_ = velEnd_ / 100.0f; + break; + case 3: + break; + } + } + break; + case MFXREPEATPAGE_FADERATE: + { + switch (param) + { + case 0: + fadeRate_ = constrain(fadeRate_ + amtSlow, 0, 1); + break; + case 1: + if (useRateHz()) + { + rateStartHz_ = constrain(rateStartHz_ + amtFast, 0, 255); + } + else + { + rateStart_ = constrain(rateStart_ + amtSlow, 0, kNumArpRates - 1); + } + multiplierCalculated_ = false; + break; + case 2: + if (useRateHz()) + { + rateEndHz_ = constrain(rateEndHz_ + amtFast, 0, 255); + } + else + { + rateEnd_ = constrain(rateEnd_ + amtSlow, 0, kNumArpRates - 1); + } + multiplierCalculated_ = false; + break; + case 3: + break; + } + } + break; + } + + omxDisp.setDirty(); + } + + // used 186352 bytes + // 186320 bytes + + void MidiFXRepeat::onDisplayUpdate(uint8_t funcKeyMode) + { + omxDisp.clearLegends(); + + int8_t page = params_.getSelPage(); + + if(page == MFXREPEATPAGE_CHANCE) + { + omxDisp.dispParamBar(chancePerc_, chancePerc_, 0, 100, !getEncoderSelect(), false, "Repeat", "Chance"); + return; + } + + switch (page) + { + case MFXREPEATPAGE_MODERATE: + { + omxDisp.setLegend(0, "MODE", kRepeatModeDisp_[mode_]); + omxDisp.setLegend(1, "RATE", rateIndex_ < 0 ? ("HZ") : ("1/" + String(kArpRates[rateIndex_]))); + omxDisp.setLegend(2, "RTHZ", rateInHz_ < 1.0f ? (String(rateInHz_, 2)) : (String(rateInHz_, 1))); + omxDisp.setLegend(3, "Gate", gate_); + } + break; + case MFXREPEATPAGE_QUANT: + { + omxDisp.setLegend(0, "QUANT", quantizedRateIndex_ <= -2, quantizedRateIndex_ == -1 ? ("GBL") : ("1/" + String(kArpRates[quantizedRateIndex_]))); + omxDisp.setLegend(1, "#RPT", numOfRepeats_ + 1); + } + break; + case MFXREPEATPAGE_FADEVEL: + { + omxDisp.setLegend(0, "FVEL", !fadeVel_, "FADE"); + omxDisp.setLegend(1, "STRT", velStart_); + omxDisp.setLegend(2, "END", velEnd_); + } + break; + case MFXREPEATPAGE_FADERATE: + { + omxDisp.setLegend(0, "FRAT", !fadeRate_, "FADE"); + + if(useRateHz()) + { + float sHz = rateToHz(rateStartHz_); + float eHz = rateToHz(rateEndHz_); + + omxDisp.setLegend(1, "STRT", sHz < 1.0f ? String(sHz, 2) : String(sHz, 1)); + omxDisp.setLegend(2, "END", eHz < 1.0f ? String(eHz, 2) : String(eHz, 1)); + } + else + { + omxDisp.setLegend(1, "STRT", "1/" + String(kArpRates[rateStart_])); + omxDisp.setLegend(2, "END", "1/" + String(kArpRates[rateEnd_])); + } + } + break; + } + + omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), getEncoderSelect()); + } + + int MidiFXRepeat::saveToDisk(int startingAddress, Storage *storage) + { + RepeatSave save; + save.chancePerc = chancePerc_; + save.numOfRepeats = numOfRepeats_; + save.mode = mode_; + save.rateIndex = rateIndex_; + save.rateHz = rateHz_; + save.quantizedRateIndex_ = quantizedRateIndex_; + save.gate = gate_; + save.velStart = velStart_; + save.velEnd = velEnd_; + save.fadeVel_ = fadeVel_; + save.fadeRate_ = fadeRate_; + save.rateStart_ = rateStart_; + save.rateEnd_ = rateEnd_; + save.rateStartHz_ = rateStartHz_; + save.rateEndHz_ = rateEndHz_; + + int saveSize = sizeof(RepeatSave); + + auto saveBytesPtr = (byte *)(&save); + for (int j = 0; j < saveSize; j++) + { + storage->write(startingAddress + j, *saveBytesPtr++); + } + + return startingAddress + saveSize; + } + + int MidiFXRepeat::loadFromDisk(int startingAddress, Storage *storage) + { + int saveSize = sizeof(RepeatSave); + + auto save = RepeatSave{}; + auto current = (byte *)&save; + for (int j = 0; j < saveSize; j++) + { + *current = storage->read(startingAddress + j); + current++; + } + + chancePerc_ = save.chancePerc; + numOfRepeats_ = save.numOfRepeats; + mode_ = save.mode; + rateHz_ = save.rateHz; + rateIndex_ = save.rateIndex; + quantizedRateIndex_ = save.quantizedRateIndex_; + gate_ = save.gate; + fadeVel_ = save.fadeVel_; + fadeRate_ = save.fadeRate_; + velStart_ = save.velStart; + velEnd_ = save.velEnd; + rateStart_ = save.rateStart_; + rateEnd_ = save.rateEnd_; + rateStartHz_ = save.rateStartHz_; + rateEndHz_ = save.rateEndHz_; + + recalcVariables(); + resync(); + + return startingAddress + saveSize; + } + + void MidiFXRepeat::recalcVariables() + { + rateInHz_ = rateToHz(rateHz_); + + velStartPerc_ = velStart_ / 100.0f; + velEndPerc_ = velEnd_ / 100.0f; + + quantizeSync_ = quantizedRateIndex_ >= -1; // -2 for off + + multiplierCalculated_ = false; + updateMultiplier(); + } +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_repeat.h b/Archive/OMX-27-firmware/src/midifx/midifx_repeat.h new file mode 100644 index 00000000..c1435c28 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_repeat.h @@ -0,0 +1,211 @@ +#pragma once + +#include "midifx_interface.h" +#include "midifx_notemaster.h" + +namespace midifx +{ + + class MidiFXRepeat : public MidiFXInterface + { + public: + MidiFXRepeat(); + ~MidiFXRepeat(); + + int getFXType() override; + const char *getName() override; + const char *getDispName() override; + + MidiFXInterface *getClone() override; + + void loopUpdate() override; + void onClockTick() override; + void resync() override; + + void onDisplayUpdate(uint8_t funcKeyMode) override; + + void noteInput(MidiNoteGroup note) override; + + int saveToDisk(int startingAddress, Storage *storage) override; + int loadFromDisk(int startingAddress, Storage *storage) override; + + protected: + void onEnabled() override; + void onDisabled() override; + + void onEncoderChangedEditParam(Encoder::Update enc) override; + + private: + struct FixedLengthNote + { + MidiNoteGroupCache noteCache; + Micros offTime; + }; + + struct RepeatNote + { + // bool playing; // Not needed now with two queues + // bool inUse = false; + uint8_t noteNumber; + uint8_t channel : 4; + uint8_t velocity : 7; + uint8_t velocityStart : 7; + uint8_t velocityEnd : 7; + uint8_t repeatCounter : 7; + + // bool sendMidi = false; + // bool sendCV = false; + + Micros nextTriggerDelta = 0; // Delta time to next trigger + Micros nextTriggerTime = 0; // Time in global microseconds when note should trigger next + + RepeatNote() + { + noteNumber = 255; + velocity = 100; + channel = 0; + } + + RepeatNote(int noteNumber, uint8_t velocity, uint8_t channel) + { + if (noteNumber < 0 || noteNumber > 127) + { + noteNumber = 255; + } + else + { + this->noteNumber = noteNumber; + this->velocity = velocity; + this->channel = channel - 1; + } + } + + RepeatNote(MidiNoteGroup *noteGroup) + { + if (noteGroup->noteNumber < 0 || noteGroup->noteNumber > 127) + { + noteNumber = 255; + return; + } + this->noteNumber = noteGroup->noteNumber; + this->velocity = noteGroup->velocity; + this->channel = noteGroup->channel - 1; + } + }; + + struct RepeatSave + { + uint8_t chancePerc : 7; + uint8_t numOfRepeats : 6; + uint8_t mode : 3; + int8_t rateIndex : 5; + int8_t quantizedRateIndex_ : 5; + uint8_t rateHz; + uint8_t gate : 8; + bool fadeVel_; + uint8_t velStart : 7; + uint8_t velEnd : 7; + bool fadeRate_; + uint8_t rateStart_; + uint8_t rateEnd_; + uint8_t rateStartHz_; + uint8_t rateEndHz_; + }; + // Saved variables + uint8_t chancePerc_ = 100; + uint8_t numOfRepeats_ : 6; // 1 to 64, stored as 0 - 63 + uint8_t mode_ : 3; // Off, 1-Shot - Repeats for numOfRepeats_ restarts on new note on, On - Repeats indefinitely while key is hold, Hold - Endlessly repeats, + int8_t rateIndex_ : 5; // max 15 or -1 for hz + int8_t quantizedRateIndex_ : 5; // max 15 or -1 for hz + uint8_t rateHz_; // 0-255, gets remapped to a hertz float value + uint8_t gate_ : 8; // 0-200 + bool fadeVel_; // Fade the velocity if true + uint8_t velStart_ : 7; // 0-127 + uint8_t velEnd_ : 7; // 0-127 + bool fadeRate_; // Fade the rate if true + uint8_t rateStart_ : 4; // 0-15 + uint8_t rateEnd_ : 4; // 0-15 + uint8_t rateStartHz_; // 0-255, gets remapped to a hertz float value + uint8_t rateEndHz_; // 0-255 + + // Consts + static const int queueSize = 16; + + bool seqRunning_; + + // Timing stuff + bool multiplierCalculated_ = false; // Used to prevent recalculating multiplier + float multiplier_ = 1; + uint8_t stepLength_ = 1; // length of note in arp steps + + // Micros nextStepTimeP_ = 32; + // Micros lastStepTimeP_ = 32; + // uint32_t stepMicroDelta_ = 0; + + // Micros last16thTime_ = 0; + // Micros next16thTime_ = 0; + + // Calculated + bool quantizeSync_ = true; + + float velStartPerc_ = 1.0f; + float velEndPerc_ = 1.0f; + + float rateStartMult_ = 1; + float rateEndMult_ = 1; + + // Rate in hertz + float rateInHz_; + float rateStartInHz_; + float rateEndInHz_; + + MidiFXNoteMaster noteMaster; + + static void processNoteForwarder(void *context, MidiNoteGroup *note) + { + static_cast(context)->processNoteInput(note); + } + + static void sendNoteOutForwarder(void *context, MidiNoteGroup *note) + { + static_cast(context)->sendNoteOut(*note); + } + + std::vector playedNoteQueue; // Keeps track of which notes are being played + std::vector activeNoteQueue; // Holds notes + std::vector pendingNoteQueue; // notes pending for quantization + + std::vector tempNoteQueue; // Notes that are used in arp + + std::vector fixedLengthNotes; // Tracking of fixed length notes + + // MidiNoteGroup trackingNoteGroups[8]; + // MidiNoteGroup trackingNoteGroupsPassthrough[8]; + + void trackNoteInputPassthrough(MidiNoteGroup *note, bool ignoreNoteOns); + void trackNoteInput(MidiNoteGroup *note); + void processNoteInput(MidiNoteGroup *note); + + bool hasMidiNotes(); + bool useRateHz(); + void updateMultiplier(); + bool insertMidiNoteQueue(MidiNoteGroup *note); + bool removeMidiNoteQueue(MidiNoteGroup *note); + + static bool removeFromQueue(std::vector *queue, MidiNoteGroup *note); + static float rateToHz(uint8_t rateHz); + + void changeRepeatMode(uint8_t newMode); + void repeatNoteOn(MidiNoteGroup *note); + void repeatNoteOff(MidiNoteGroup *note); + void startSeq(); + void stopSeq(); + void resetArpSeq(); + + void recalcVariables(); + + void triggerNote(RepeatNote note); + // void repeatNoteTrigger(); + void playNote(uint32_t noteOnMicros, uint32_t lengthDelta, int16_t noteNumber, uint8_t velocity, uint8_t channel); + }; +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_scaler.cpp b/Archive/OMX-27-firmware/src/midifx/midifx_scaler.cpp new file mode 100644 index 00000000..136b0a54 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_scaler.cpp @@ -0,0 +1,359 @@ +#include "midifx_scaler.h" +#include "../hardware/omx_disp.h" +#include "../utils/music_scales.h" + +namespace midifx +{ + enum ScalerPage + { + SCLPAGE_1 + }; + + MidiFXScaler::MidiFXScaler() + { + params_.addPage(4); + encoderSelect_ = true; + calculateRemap(); + } + + int MidiFXScaler::getFXType() + { + return MIDIFX_SCALER; + } + + const char *MidiFXScaler::getName() + { + return "Scaler"; + } + + const char *MidiFXScaler::getDispName() + { + return "SCAL"; + } + + MidiFXInterface *MidiFXScaler::getClone() + { + auto clone = new MidiFXScaler(); + + clone->chancePerc_ = chancePerc_; + clone->useGlobalScale_ = useGlobalScale_; + clone->rootNote_ = rootNote_; + clone->scaleIndex_ = scaleIndex_; + + clone->calculateRemap(); + + return clone; + } + + void MidiFXScaler::onEnabled() + { + } + + void MidiFXScaler::onDisabled() + { + } + + void MidiFXScaler::noteInput(MidiNoteGroup note) + { + if (note.noteOff) + { + processNoteOff(note); + return; + } + + // Probability that we scale the note + if (chancePerc_ != 100 && (chancePerc_ == 0 || random(100) > chancePerc_)) + { + sendNoteOut(note); + return; + } + + int8_t origNote = note.noteNumber; + + // transpose original note by rootNote + // int8_t transposedNote = note.noteNumber + rootNote; + + int8_t transposedNote = note.noteNumber; + + int8_t noteIndex = transposedNote % 12; + int8_t octave = transposedNote / 12; + + // offset for root note + // noteIndex = (noteIndex + rootNote) % 12; + // if(noteIndex + rootNote >= 12) + // { + // octave++; + // } + + // noteIndex = (noteIndex + rootNote) % 12; + + // noteIndex = (noteIndex - rootNote + 12) % 12; + + int8_t remapedNoteIndex = scaleRemapper[noteIndex]; + + if (remapedNoteIndex > noteIndex) + { + octave--; + } + + // remapedNoteIndex = (noteIndex + remapedNoteIndex) % 12; + + // remove root note offset + // remapedNoteIndex = (remapedNoteIndex - rootNote + 12) % 12; + + int8_t newNoteNumber = octave * 12 + remapedNoteIndex; + + // untranspose + // newNoteNumber = newNoteNumber - rootNote; + + // note out of range, kill + if (newNoteNumber < 0 || newNoteNumber > 127) + return; + + note.noteNumber = newNoteNumber; + + processNoteOn(origNote, note); + + sendNoteOut(note); + } + + // MidiNoteGroup MidiFXScaler::findTriggeredNote(uint8_t noteNumber) + // { + // for(int i = 0; i < triggeredNotes.size(); i++) + // { + // if(triggeredNotes[i].prevNoteNumber) + + // } + // triggeredNotes. + + // return nullptr; + // } + + void MidiFXScaler::calculateRemap() + { + if (useGlobalScale_) + { + rootNote_ = scaleConfig.scaleRoot; + scaleIndex_ = scaleConfig.scalePattern; + } + + if (scaleIndex_ < 0) + { + for (uint8_t i = 0; i < 12; i++) + { + scaleRemapper[i] = i; // Chromatic scale + } + return; + } + + auto scalePattern = MusicScales::getScalePattern(scaleIndex_); + + uint8_t scaleIndex = 0; + uint8_t lastNoteIndex = 0; + + // looks through 12 notes, and sets each note to last note in scale + // so notes out of scale get rounded down to the previous note in the scale. + for (uint8_t i = 0; i < 12; i++) + { + if (scaleIndex < 7 && scalePattern[scaleIndex] == i) + { + lastNoteIndex = i; + scaleIndex++; + } + + // uint8_t destIndex = (i - rootNote + 12) % 12; + // uint8_t destIndex = i + rootNote % 12; + + scaleRemapper[i] = (lastNoteIndex + rootNote_) % 12; + } + + if (rootNote_ > 0) + { + // rotate the scale to root + int8_t temp[12]; + + uint8_t val = 12 - rootNote_; + + for (uint8_t i = 0; i < 12; i++) + { + temp[i] = scaleRemapper[(i + val) % 12]; + } + for (int i = 0; i < 12; i++) + { + scaleRemapper[i] = temp[i]; + } + } + + // String msg = "scaleRemapper: "; + + // for (int i = 0; i < 12; i++) + // { + // msg += String(scaleRemapper[i]) + ", "; + // } + + // msg += "\n\n"; + + // Serial.println(msg); + } + + void MidiFXScaler::loopUpdate() + { + if (useGlobalScale_) + { + int8_t prevRoot = rootNote_; + int8_t prevScale = scaleIndex_; + + rootNote_ = scaleConfig.scaleRoot; + scaleIndex_ = scaleConfig.scalePattern; + + if (rootNote_ != prevRoot || scaleIndex_ != prevScale) + { + calculateRemap(); + } + } + } + + void MidiFXScaler::onEncoderChangedEditParam(Encoder::Update enc) + { + int8_t page = params_.getSelPage(); + int8_t param = params_.getSelParam(); + + auto amt = enc.accel(1); + + if (page == SCLPAGE_1) + { + if (param == 0) + { + useGlobalScale_ = constrain(useGlobalScale_ + amt, 0, 1); + if (amt != 0) + { + if (useGlobalScale_) + { + omxDisp.displayMessage("Global: ON"); + } + else + { + omxDisp.displayMessage("Global: OFF"); + } + calculateRemap(); + } + } + else if (param == 1) + { + if (useGlobalScale_) + { + int prevRoot = scaleConfig.scaleRoot; + scaleConfig.scaleRoot = constrain(scaleConfig.scaleRoot + amt, 0, 12 - 1); + if (prevRoot != scaleConfig.scaleRoot) + { + calculateRemap(); + } + } + else + { + int prevRoot = rootNote_; + rootNote_ = constrain(rootNote_ + amt, 0, 12 - 1); + if (prevRoot != rootNote_) + { + calculateRemap(); + } + } + } + else if (param == 2) + { + if (useGlobalScale_) + { + int prevPat = scaleConfig.scalePattern; + scaleConfig.scalePattern = constrain(scaleConfig.scalePattern + amt, -1, MusicScales::getNumScales() - 1); + if (prevPat != scaleConfig.scalePattern) + { + omxDisp.displayMessage(MusicScales::getScaleName(scaleConfig.scalePattern)); + calculateRemap(); + } + } + else + { + int prevPat = scaleIndex_; + scaleIndex_ = constrain(scaleIndex_ + amt, -1, MusicScales::getNumScales() - 1); + if (prevPat != scaleIndex_) + { + omxDisp.displayMessage(MusicScales::getScaleName(scaleIndex_)); + calculateRemap(); + } + } + } + else if (param == 3) + { + chancePerc_ = constrain(chancePerc_ + amt, 0, 100); + } + } + + omxDisp.setDirty(); + } + + void MidiFXScaler::onDisplayUpdate(uint8_t funcKeyMode) + { + omxDisp.clearLegends(); + + int8_t page = params_.getSelPage(); + + switch (page) + { + case SCLPAGE_1: + { + omxDisp.legends[0] = "GLBL"; + omxDisp.legendText[0] = useGlobalScale_ ? "ON" : "OFF"; + + omxDisp.legends[1] = "ROOT"; + omxDisp.legendVals[1] = -127; + omxDisp.legendText[1] = MusicScales::getNoteName(rootNote_); + + omxDisp.legends[2] = "SCALE"; + if (scaleIndex_ < 0) + { + omxDisp.legendVals[2] = -127; + omxDisp.legendText[2] = "Off"; + } + else + { + omxDisp.legendVals[2] = scaleIndex_; + } + + omxDisp.legends[3] = "CHC%"; + omxDisp.legendVals[3] = -127; + omxDisp.useLegendString[3] = true; + omxDisp.legendString[3] = String(chancePerc_) + "%"; + } + break; + default: + break; + } + + omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), getEncoderSelect()); + } + + int MidiFXScaler::saveToDisk(int startingAddress, Storage *storage) + { + // Serial.println((String) "Saving mfx scaler: " + startingAddress); // 5969 + storage->write(startingAddress + 0, chancePerc_); + storage->write(startingAddress + 1, useGlobalScale_); + storage->write(startingAddress + 2, (uint8_t)rootNote_); + storage->write(startingAddress + 3, (uint8_t)scaleIndex_); + + return startingAddress + 4; + } + + int MidiFXScaler::loadFromDisk(int startingAddress, Storage *storage) + { + // Serial.println((String) "Loading mfx scaler: " + startingAddress); // 5969 + + chancePerc_ = storage->read(startingAddress + 0); + useGlobalScale_ = (bool)storage->read(startingAddress + 1); + rootNote_ = (int8_t)storage->read(startingAddress + 2); + scaleIndex_ = (int8_t)storage->read(startingAddress + 3); + + calculateRemap(); + + return startingAddress + 4; + } +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_scaler.h b/Archive/OMX-27-firmware/src/midifx/midifx_scaler.h new file mode 100644 index 00000000..6daeb3d7 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_scaler.h @@ -0,0 +1,51 @@ +#pragma once + +#include "midifx_interface.h" + +namespace midifx +{ + + class MidiFXScaler : public MidiFXInterface + { + public: + MidiFXScaler(); + ~MidiFXScaler() {} + + int getFXType() override; + const char *getName() override; + const char *getDispName() override; + + MidiFXInterface *getClone() override; + + void loopUpdate() override; + + void onDisplayUpdate(uint8_t funcKeyMode) override; + + void noteInput(MidiNoteGroup note) override; + + int saveToDisk(int startingAddress, Storage *storage) override; + int loadFromDisk(int startingAddress, Storage *storage) override; + + protected: + void onEnabled() override; + void onDisabled() override; + + void onEncoderChangedEditParam(Encoder::Update enc) override; + + private: + // std::vector triggeredNotes; + + uint8_t chancePerc_ = 100; + + bool useGlobalScale_ = true; + + int8_t rootNote_ = 0; + int8_t scaleIndex_ = 0; + + int8_t scaleRemapper[12]; + + void calculateRemap(); + + // MidiNoteGroup findTriggeredNote(uint8_t noteNumber); + }; +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_selector.cpp b/Archive/OMX-27-firmware/src/midifx/midifx_selector.cpp new file mode 100644 index 00000000..1a0125c0 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_selector.cpp @@ -0,0 +1,268 @@ +#include "midifx_selector.h" +#include "../hardware/omx_disp.h" + +namespace midifx +{ + enum MidiFXSelectorModes + { + MFXSELMODE_RAND, + MFXSELMODE_UP, + MFXSELMODE_DOWN, + MFXSELMODE_COUNT + }; + + const char* modeLabels[3] = {"RND", "UP", "DOWN"}; + + + MidiFXSelector::MidiFXSelector() + { + params_.addPage(4); + + mode_ = MFXSELMODE_RAND; + length_ = 2; + chancePerc_ = 100; + + encoderSelect_ = true; + } + + int MidiFXSelector::getFXType() + { + return MIDIFX_SELECTOR; + } + + const char *MidiFXSelector::getName() + { + return "Selector"; + } + + const char *MidiFXSelector::getDispName() + { + return "SEL"; + } + + MidiFXInterface *MidiFXSelector::getClone() + { + auto clone = new MidiFXSelector(); + + clone->chancePerc_ = chancePerc_; + clone->mode_ = mode_; + clone->length_ = length_; + + return clone; + } + + void MidiFXSelector::onEnabled() + { + } + + void MidiFXSelector::onDisabled() + { + } + + void MidiFXSelector::handleNoteOff(MidiNoteGroup note) + { + processNoteOff(note); + } + + bool MidiFXSelector::chanceShouldSkip() + { + return (chancePerc_ != 100 && (chancePerc_ == 0 || random(100) > chancePerc_)); + } + + uint8_t MidiFXSelector::getLength() + { + return length_; + } + + bool MidiFXSelector::didLengthChange() + { + bool changed = lengthChanged_; + lengthChanged_ = false; + return changed; + } + + uint8_t MidiFXSelector::getFinalMidiFXIndex(uint8_t thisMFXIndex) + { + return thisMFXIndex + length_ + 1; // +1 to account for this index, mfxIndex: 0 with length 2 should return index 3 + } + + uint8_t MidiFXSelector::getSelectedMidiFXIndex(uint8_t thisMFXIndex) + { + if(length_ == 1) + { + return thisMFXIndex + 1; + } + + if(length_ == 0) + { + return -1; + } + + switch (mode_) + { + case MFXSELMODE_RAND: + { + return thisMFXIndex + random(1, length_ + 1); + } + case MFXSELMODE_UP: + { + uint8_t selIndex = thisMFXIndex + selPos_ + 1; + selPos_ = (selPos_ + length_ + 1) % length_; + return selIndex; + } + case MFXSELMODE_DOWN: + { + uint8_t selIndex = thisMFXIndex + selPos_ + 1; + selPos_ = (selPos_ + length_ - 1) % length_; + return selIndex; + } + default: + break; + } + + return thisMFXIndex + 1; + } + + void MidiFXSelector::setNoteInputFunc(uint8_t slotIndex, void (*fptr)(void *, midifx::MidiFXSelector *, uint8_t, MidiNoteGroup), void *context) + { + setSlotIndex(slotIndex); + noteInputContext_ = context; + noteInputFunctionPtr_ = fptr; + } + + void MidiFXSelector::noteInput(MidiNoteGroup note) + { + // NoteInput handled by function on MidiFX group + if (noteInputContext_ != nullptr) + { + noteInputFunctionPtr_(noteInputContext_, this, mfxSlotIndex_, note); + return; + } + + sendNoteOut(note); + + + // if (note.noteOff) + // { + // processNoteOff(note); + // return; + // } + + // if (chancePerc_ != 100 && (chancePerc_ == 0 || random(100) > chancePerc_)) + // { + // sendNoteOut(note); + // return; + // } + + // this->setNoteOutput() + + + + + + // int8_t origNote = note.noteNumber; + + // int newNoteNumber = origNote + transpose_ + (octave_ * 12); + + // if (newNoteNumber >= 0 && newNoteNumber <= 127) + // { + // note.noteNumber = newNoteNumber; + // sendNoteOut(note); + // } + } + + void MidiFXSelector::loopUpdate() + { + } + + void MidiFXSelector::onEncoderChangedEditParam(Encoder::Update enc) + { + int8_t page = params_.getSelPage(); + int8_t param = params_.getSelParam(); + + auto amt = enc.accel(1); + + if (page == 0) + { + if (param == 0) + { + mode_ = constrain(mode_ + amt, 0, MFXSELMODE_COUNT - 1); + } + else if (param == 1) + { + uint8_t oldLength = length_; + length_ = constrain(length_ + amt, 0, 7); + lengthChanged_ = oldLength != length_; + } + else if (param == 3) + { + chancePerc_ = constrain(chancePerc_ + amt, 0, 100); + } + } + + omxDisp.setDirty(); + } + + void MidiFXSelector::onDisplayUpdate(uint8_t funcKeyMode) + { + omxDisp.clearLegends(); + + int8_t page = params_.getSelPage(); + + switch (page) + { + case 0: + { + omxDisp.legends[0] = "MODE"; + omxDisp.legends[1] = "LEN"; + omxDisp.legends[3] = "CHC%"; + omxDisp.legendText[0] = modeLabels[mode_]; + omxDisp.legendVals[1] = length_; + omxDisp.useLegendString[3] = true; + omxDisp.legendString[3] = String(chancePerc_) + "%"; + } + break; + default: + break; + } + + omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), getEncoderSelect()); + } + + int MidiFXSelector::saveToDisk(int startingAddress, Storage *storage) + { + SelectorSave save; + save.chancePerc = chancePerc_; + save.mode = mode_; + save.length = length_; + + int saveSize = sizeof(SelectorSave); + + auto saveBytesPtr = (byte *)(&save); + for (int j = 0; j < saveSize; j++) + { + storage->write(startingAddress + j, *saveBytesPtr++); + } + + return startingAddress + saveSize; + } + + int MidiFXSelector::loadFromDisk(int startingAddress, Storage *storage) + { + int saveSize = sizeof(SelectorSave); + + auto save = SelectorSave{}; + auto current = (byte *)&save; + for (int j = 0; j < saveSize; j++) + { + *current = storage->read(startingAddress + j); + current++; + } + + chancePerc_ = save.chancePerc; + mode_ = save.mode; + length_ = save.length; + + return startingAddress + saveSize; + } +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_selector.h b/Archive/OMX-27-firmware/src/midifx/midifx_selector.h new file mode 100644 index 00000000..20446e69 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_selector.h @@ -0,0 +1,81 @@ +#pragma once + +#include "midifx_interface.h" + +namespace midifx +{ + + class MidiFXSelector : public MidiFXInterface + { + public: + MidiFXSelector(); + ~MidiFXSelector() {} + + int getFXType() override; + const char *getName() override; + const char *getDispName() override; + + MidiFXInterface *getClone() override; + + void loopUpdate() override; + + void onDisplayUpdate(uint8_t funcKeyMode) override; + + void noteInput(MidiNoteGroup note) override; + + int saveToDisk(int startingAddress, Storage *storage) override; + int loadFromDisk(int startingAddress, Storage *storage) override; + + void handleNoteOff(MidiNoteGroup note); + + bool chanceShouldSkip(); + + uint8_t getLength(); + + bool didLengthChange(); + + // The next mfx index after going through the selector + // If selector is in slot 1, length is 2, then the next mfx slot index + // would be slot 4 + // if the index returned is greater than hte number of mfx slots(8) + // then it will go to the group's output. + uint8_t getFinalMidiFXIndex(uint8_t thisMFXIndex); + + // This will return which MidiFX Index to go to + // If selector is in slot 1, has a length of 2 + // then the note can go to either slot 2 or slot 3. + // If the is no mfx at slot 2 or slot 3, the note will go to + // slot 4. + // If there is no midifx at slot 4, it will go to next slot with midifx + // or the midifx group output if there are none + uint8_t getSelectedMidiFXIndex(uint8_t thisMFXIndex); + + void setNoteInputFunc(uint8_t slotIndex, void (*fptr)(void *, midifx::MidiFXSelector *, uint8_t, MidiNoteGroup), void *context); + + protected: + void onEnabled() override; + void onDisabled() override; + + void onEncoderChangedEditParam(Encoder::Update enc) override; + + private: + struct SelectorSave + { + uint8_t mode : 2; + uint8_t length : 3; // 2-7 + uint8_t chancePerc : 7; + }; + + uint8_t mode_ : 2; + uint8_t length_ : 3; // 2-7 + + uint8_t chancePerc_ = 100; + + uint8_t selPos_ = 0; + + bool lengthChanged_; + + void *noteInputContext_; + void (*noteInputFunctionPtr_)(void *, midifx::MidiFXSelector *, uint8_t, MidiNoteGroup); + }; +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_transpose.cpp b/Archive/OMX-27-firmware/src/midifx/midifx_transpose.cpp new file mode 100644 index 00000000..3cfeff30 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_transpose.cpp @@ -0,0 +1,172 @@ +#include "midifx_transpose.h" +#include "../hardware/omx_disp.h" + +namespace midifx +{ + MidiFXTranspose::MidiFXTranspose() + { + params_.addPage(4); + + octave_ = 0; + transpose_ = 0; + + encoderSelect_ = true; + } + + int MidiFXTranspose::getFXType() + { + return MIDIFX_TRANSPOSE; + } + + const char *MidiFXTranspose::getName() + { + return "Transpose"; + } + + const char *MidiFXTranspose::getDispName() + { + return "TRAN"; + } + + MidiFXInterface *MidiFXTranspose::getClone() + { + auto clone = new MidiFXTranspose(); + + clone->chancePerc_ = chancePerc_; + clone->transpose_ = transpose_; + clone->octave_ = octave_; + + return clone; + } + + void MidiFXTranspose::onEnabled() + { + } + + void MidiFXTranspose::onDisabled() + { + } + + void MidiFXTranspose::noteInput(MidiNoteGroup note) + { + if (note.noteOff) + { + processNoteOff(note); + return; + } + + if (chancePerc_ != 100 && (chancePerc_ == 0 || random(100) > chancePerc_)) + { + sendNoteOut(note); + return; + } + + int8_t origNote = note.noteNumber; + + int newNoteNumber = origNote + transpose_ + (octave_ * 12); + + if (newNoteNumber >= 0 && newNoteNumber <= 127) + { + note.noteNumber = newNoteNumber; + sendNoteOut(note); + } + } + + void MidiFXTranspose::loopUpdate() + { + } + + void MidiFXTranspose::onEncoderChangedEditParam(Encoder::Update enc) + { + int8_t page = params_.getSelPage(); + int8_t param = params_.getSelParam(); + + auto amt = enc.accel(1); + + if (page == 0) + { + if (param == 0) + { + transpose_ = constrain(transpose_ + amt, -24, 24); + } + else if (param == 1) + { + octave_ = constrain(octave_ + amt, -6, 6); + } + else if (param == 3) + { + chancePerc_ = constrain(chancePerc_ + amt, 0, 100); + } + } + + omxDisp.setDirty(); + } + + void MidiFXTranspose::onDisplayUpdate(uint8_t funcKeyMode) + { + omxDisp.clearLegends(); + + int8_t page = params_.getSelPage(); + + // uint8_t starti = 0; + // uint8_t endi = 0; + + switch (page) + { + case 0: + { + omxDisp.legends[0] = "ST"; + omxDisp.legends[1] = "OCT"; + omxDisp.legends[3] = "CHC%"; + omxDisp.useLegendString[0] = true; + omxDisp.useLegendString[1] = true; + omxDisp.useLegendString[3] = true; + omxDisp.legendString[0] = transpose_ == 0 ? "-" : (transpose_ >= 0 ? ("+" + String(transpose_)) : (String(transpose_))); + omxDisp.legendString[1] = octave_ == 0 ? "-" : (octave_ >= 0 ? ("+" + String(octave_)) : (String(octave_))); + omxDisp.legendString[3] = String(chancePerc_) + "%"; + } + break; + default: + break; + } + + omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), getEncoderSelect()); + } + + int MidiFXTranspose::saveToDisk(int startingAddress, Storage *storage) + { + TransposeSave save; + save.chancePerc_ = chancePerc_; + save.transpose = transpose_; + save.octave = octave_; + + int saveSize = sizeof(TransposeSave); + + auto saveBytesPtr = (byte *)(&save); + for (int j = 0; j < saveSize; j++) + { + storage->write(startingAddress + j, *saveBytesPtr++); + } + + return startingAddress + saveSize; + } + + int MidiFXTranspose::loadFromDisk(int startingAddress, Storage *storage) + { + int saveSize = sizeof(TransposeSave); + + auto save = TransposeSave{}; + auto current = (byte *)&save; + for (int j = 0; j < saveSize; j++) + { + *current = storage->read(startingAddress + j); + current++; + } + + transpose_ = save.transpose; + octave_ = save.octave; + chancePerc_ = save.chancePerc_; + + return startingAddress + saveSize; + } +} diff --git a/Archive/OMX-27-firmware/src/midifx/midifx_transpose.h b/Archive/OMX-27-firmware/src/midifx/midifx_transpose.h new file mode 100644 index 00000000..9577a0a5 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midifx/midifx_transpose.h @@ -0,0 +1,48 @@ +#pragma once + +#include "midifx_interface.h" + +namespace midifx +{ + + class MidiFXTranspose : public MidiFXInterface + { + public: + MidiFXTranspose(); + ~MidiFXTranspose() {} + + int getFXType() override; + const char *getName() override; + const char *getDispName() override; + + MidiFXInterface *getClone() override; + + void loopUpdate() override; + + void onDisplayUpdate(uint8_t funcKeyMode) override; + + void noteInput(MidiNoteGroup note) override; + + int saveToDisk(int startingAddress, Storage *storage) override; + int loadFromDisk(int startingAddress, Storage *storage) override; + + protected: + void onEnabled() override; + void onDisabled() override; + + void onEncoderChangedEditParam(Encoder::Update enc) override; + + private: + struct TransposeSave + { + int8_t transpose : 6; + int8_t octave : 4; + uint8_t chancePerc_ = 100; + }; + + int8_t transpose_ : 6; + int8_t octave_ : 4; + + uint8_t chancePerc_ = 100; + }; +} diff --git a/Archive/OMX-27-firmware/src/midimacro/midimacro_deluge.cpp b/Archive/OMX-27-firmware/src/midimacro/midimacro_deluge.cpp new file mode 100644 index 00000000..166bfd6b --- /dev/null +++ b/Archive/OMX-27-firmware/src/midimacro/midimacro_deluge.cpp @@ -0,0 +1,714 @@ +#include "midimacro_deluge.h" +#include "../utils/omx_util.h" +#include "../hardware/omx_disp.h" +#include "../hardware/omx_leds.h" +#include "../midi/midi.h" +#include "../consts/consts.h" +#include "../consts/colors.h" + +namespace midimacro +{ + // uint8_t delCCBanks[4][5] = { + // {74, 71, 70, 0, 0}, + // {0, 0, 0, 0, 0}, + // {0, 0, 0, 0, 0}, + // {0, 0, 0, 0, 0}, + // }; + + // const char *delParams[4][5] = { + // {"FREQ", "RES", "MORP", "", ""}, + // {"", "", "", "", ""}, + // {"", "", "", "", ""}, + // {"", "", "", "", ""}, + // }; + + // const char *pageNames[4] = {"Filt 1", "Filt 2", "Env 1", "Env 2"}; + + enum DelugePage + { + DELPAGE_FILT1, + DELPAGE_FILT2, + DELPAGE_ENV1, + DELPAGE_ENV2 + }; + + MidiMacroDeluge::MidiMacroDeluge() + { + // Top Row Banks + paramBanks[0].bankName = "Env 1"; + paramBanks[0].keyMap = 1; + paramBanks[0].keyColor = BLUE; + paramBanks[0].SetCCs("Attack", 73, "Decay", 75, "Sustain", 76, "Release", 72); + + paramBanks[1].bankName = "Env 2"; + paramBanks[1].keyMap = 2; + paramBanks[1].keyColor = BLUE; + paramBanks[1].SetCCs("Attack", 77, "Decay", 78, "Sustain", 79, "Release", 80); + + + paramBanks[2].bankName = "LPF"; + paramBanks[2].keyMap = 3; + paramBanks[2].keyColor = RED; + paramBanks[2].SetCCs("Freq", 74, "Res", 71, "Morph", 70); + + paramBanks[3].bankName = "HPF"; + paramBanks[3].keyMap = 4; + paramBanks[3].keyColor = RED; + paramBanks[3].SetCCs("Freq", 81, "Res", 82, "Morph", 83); + + paramBanks[4].bankName = "EQ"; + paramBanks[4].keyMap = 5; + paramBanks[4].keyColor = RED; + paramBanks[4].SetCCs("Bas Freq", 84, "Bass LVL", 86, "Treb Freq", 85, "Treb LVL", 87); + + // Bot Row Banks + paramBanks[5].bankName = "Master"; + paramBanks[5].keyMap = 11; + paramBanks[5].keyColor = GREEN; + paramBanks[5].SetCCs("Pan", 10, "Transp", 3, "Porta", 5, "", 255, "Level", 7); + + // OSC1 and FM1 Mapped to same key with toggle + paramBanks[6].bankName = "OSC 1"; + paramBanks[6].keyMap = 12; + paramBanks[6].altBank = false; + paramBanks[6].keyColor = ROSE; + paramBanks[6].SetCCs("Level", 21, "Transp", 12, "PW", 23, "FM Fdbk", 24, "WT Morph", 25); + + paramBanks[7].bankName = "FM 1"; + paramBanks[7].keyMap = 12; + paramBanks[7].altBank = true; + paramBanks[7].keyColor = ROSE; + paramBanks[7].SetCCs("Level", 54, "Transp", 14, "Feedback", 55); + + // OSC2 and FM2 Mapped to same key with toggle + paramBanks[8].bankName = "OSC 2"; + paramBanks[8].keyMap = 13; + paramBanks[8].altBank = false; + paramBanks[8].keyColor = ROSE; + paramBanks[8].SetCCs("Level", 26, "Transp", 13, "PW", 28, "FM Fdbk", 29, "WT Morph", 30); + + paramBanks[9].bankName = "FM 2"; + paramBanks[9].keyMap = 13; + paramBanks[9].altBank = true; + paramBanks[9].keyColor = ROSE; + paramBanks[9].SetCCs("Level", 56, "Transp", 15, "Feedback", 57); + + paramBanks[10].bankName = "LFO Delay Reverb"; + paramBanks[10].keyMap = 14; + paramBanks[10].keyColor = ORANGE; + paramBanks[10].SetCCs("LFO1 Rate", 58, "LFO2 Rate", 59, "DEL Rate", 53, "Delay", 52, "Reverb", 91); + + paramBanks[11].bankName = "ModFX"; + paramBanks[11].keyMap = 14; + paramBanks[11].altBank = true; + paramBanks[11].keyColor = MAGENTA; + paramBanks[11].SetCCs("Rate", 16, "Depth", 93, "Feedback", 17, "Offset", 18); + + paramBanks[12].bankName = "Distortion Noise"; + paramBanks[12].keyMap = 15; + paramBanks[12].keyColor = RED; + paramBanks[12].SetCCs("Bitcrush", 62, "Decimate", 63, "Wavefold", 19, "Noise", 41); + + paramBanks[13].bankName = "Arp Sidechain"; + paramBanks[13].keyMap = 16; + paramBanks[13].keyColor = LIME; + paramBanks[13].SetCCs("Arp Rate", 51, "Arp Gate", 50, "Vol Duck", 61, "SC Shape", 60); + + paramBanks[14].bankName = "Custom 1"; + paramBanks[14].keyMap = 17; + paramBanks[14].keyColor = ORANGE; + paramBanks[14].SetCCs("Pot 1", 100, "Pot 2", 101, "Pot 3", 102, "Pot 4", 103, "Pot 5", 104); + + paramBanks[15].bankName = "Custom 2"; + paramBanks[15].keyMap = 17; + paramBanks[15].altBank = true; + paramBanks[15].keyColor = ORANGE; + paramBanks[15].SetCCs("Pot 1", 105, "Pot 2", 106, "Pot 3", 107, "Pot 4", 108, "Pot 5", 109); + + + params_.addPage(5); // + // params_.addPage(1); // + // params_.addPage(1); // + // params_.addPage(1); // + + for(uint8_t i = 0; i < 127; i++) + { + delVals[i] = 0; + } + + encoderSelect_ = true; + } + + String MidiMacroDeluge::getName() + { + return String("DELUGE"); + } + + MidiParamBank *MidiMacroDeluge::getActiveBank() + { + // int8_t selPage = params_.getSelPage(); + + // if (selPage < 0 || selPage >= 4) + // { + // return nullptr; + // } + + return ¶mBanks[selBank]; + } + + void MidiMacroDeluge::keyDownBankShortcut(uint8_t keyIndex) + { + auto activeBank = getActiveBank(); + + bool selAltBank = false; + + if(activeBank->keyMap == keyIndex) + { + // If the active bank's keyMap matches this key then we have opprotunity to select an alt bank if one exists + // If the active bank is an altbank, then the main level bank will be selected + // TLDR: Pressing a key multiple times can toggle between different banks + selAltBank = activeBank->altBank == false; + } + + for(uint8_t i = 0; i < kNumBanks; i++) + { + if(paramBanks[i].keyMap == keyIndex && paramBanks[i].altBank == selAltBank) + { + setActiveBank(i); + return; + } + } + } + + void MidiMacroDeluge::setActiveBank(uint8_t bankIndex) + { + if (bankIndex >= kNumBanks) + { + Serial.println((String)"ERROR:MidiMacroDeluge: Cannot set active bank to " + bankIndex); + return; + } + + if (bankIndex != selBank) + { + // save/load activeParam to bank + paramBanks[selBank].activeParam = activeParam; + selBank = bankIndex; + activeParam = paramBanks[selBank].activeParam; + + if(params_.getSelPage() == 0) + { + params_.setSelParam(activeParam); + } + + updatePotPickups(); + omxDisp.setDirty(); + omxLeds.setDirty(); + } + } + + // Updates the pot pickups to the values saved in the active bank + // Thus if we switch banks, the value will need to be picked up + // by the pot before it sends out to avoid jumping values. + void MidiMacroDeluge::updatePotPickups() + { + auto activeBank = getActiveBank(); + + // Update the potPickups to the values of the active bank + if(activeBank != nullptr) + { + for(int8_t i = 0; i < 5; i++) + { + potPickups[i].SetVal(activeBank->midiValues[i], false); + potPickups[i].SaveRevertVal(); + } + } + } + + // Reverts the values of current bank and sends update via midiCC + // Revert value is saved when switching banks or when a new value comes in through midi + void MidiMacroDeluge::revertPotPickups() + { + auto activeBank = getActiveBank(); + + for(int8_t i = 0; i < 5; i++) + { + if(activeBank->midiCCs[i] < 128) + { + potPickups[i].RevertVal(); + MM::sendControlChange(activeBank->midiCCs[i], potPickups[i].value, midiMacroConfig.midiMacroChan); + } + } + } + + void MidiMacroDeluge::onEnabled() + { + omxDisp.displayMessage("Deluge"); + + auxDown_ = false; + + updatePotPickups(); + } + + void MidiMacroDeluge::onDisabled() + { + } + + void MidiMacroDeluge::inMidiControlChange(byte channel, byte control, byte value) + { + if(channel == midiMacroConfig.midiMacroChan) + { + // delVals[control] = value; // Might want to do this for speed + + // auto activeBank = getActiveBank(); + + // if(activeBank != nullptr) + // { + // // activeBank->UpdateCCValue(control, value); + + // int8_t paramIndex = activeBank->UpdateCCValue(control, value); + + // // CC was found in bank and this is the active bank + // if (paramIndex >= 0) + // { + // // Update the pot pickup for this index. + // potPickups[paramIndex].SetVal(value); + // // omxDisp.displayMessageTimed("CC " + String(control) + " Val " + String(value), 5); + // } + // } + + for (uint8_t i = 0; i < kNumBanks; i++) + { + int8_t paramIndex = paramBanks[i].UpdateCCValue(control, value); + + // CC was found in bank and this is the active bank + if (paramIndex >= 0 && i == selBank) + { + // Update the pot pickup for this index. + potPickups[paramIndex].SetVal(value, true); + omxDisp.setDirty(); + // omxDisp.displayMessageTimed("CC " + String(control) + " Val " + String(value), 5); + } + } + + // int8_t selPage = params_.getSelPage(); + + // auto activeBank = getActiveBank(); + + // if(activeBank != nullptr) + // { + + // } + + // Serial.println((String)"IN CC: " + control + " VAL: " + value); // 5968 + } + } + + void MidiMacroDeluge::loopUpdate() + { + } + + void MidiMacroDeluge::onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) + { + // omxDisp.displayMessageTimed("Pot Index " + String(potIndex), 5); + + auto activeBank = getActiveBank(); + + if (activeBank != nullptr) + { + uint8_t cc = activeBank->midiCCs[potIndex]; + + if (cc <= 127 && newValue != prevValue) + { + potPickups[potIndex].UpdatePot(prevValue, newValue); + activeBank->UpdatePotValue(potIndex, potPickups[potIndex].value); + + uint8_t oldValDel = (uint8_t)map(prevValue, 0, 127, 0, 50); + uint8_t newValDel = (uint8_t)map(newValue, 0, 127, 0, 50); + + if (newValDel != oldValDel) + { + activeParam = potIndex; + } + + if(potPickups[potIndex].pickedUp) + { + // omxDisp.displayMessageTimed(String(activeBank->paramNames[potIndex]) + " " + String(cc) + " " + String(potPickups[potIndex].value), 5); + + // uint8_t delugeMapVal = (uint8_t)map(potPickups[potIndex].value, 0, 127, 0, 50); + + // omxDisp.displayMessageTimed(String(activeBank->paramNames[potIndex]) + " " + String(delugeMapVal), 5); + MM::sendControlChange(cc, potPickups[potIndex].value, midiMacroConfig.midiMacroChan); + } + else + { + // uint8_t delugeMapNewVal = (uint8_t)map(newValue, 0, 127, 0, 50); + // uint8_t delugeMapVal = (uint8_t)map(potPickups[potIndex].value, 0, 127, 0, 50); + // omxDisp.displayMessageTimed(String(delugeMapNewVal) + " -> " + String(delugeMapVal), 5); + } + } + } + + // uint8_t oldV = manStrumSensit_; + // manStrumSensit_ = (uint8_t)map(newValue, 0, 127, 1, 32); + // if (manStrumSensit_ != oldV) + // { + // omxDisp.displayMessageTimed("Sens: " + String(manStrumSensit_), 5); + // } + + // omxUtil.sendPots(potIndex, midiMacroConfig.midiMacroChan); + } + + void MidiMacroDeluge::onKeyUpdate(OMXKeypadEvent e) + { + uint8_t thisKey = e.key(); + // int keyPos = thisKey - 11; + + // AUX KEY + if (thisKey == 0) + { + if (lockAuxView_ && auxDown_ && e.down() && !e.held()) + { + // unlock aux lock when pressing aux again + lockAuxView_ = false; + auxDown_ = true; + } + else if (lockAuxView_ && auxDown_ && !e.down()) + { + auxDown_ = true; // Aux Down stays valid until pushed again + } + else + { + auxDown_ = e.down(); + } + + omxLeds.setDirty(); + omxDisp.setDirty(); + return; + } + + // key is on the right side + bool keyOnRight = (thisKey >= 6 && thisKey <= 10) || (thisKey >= 19); + + if(auxDown_ && !keyOnRight) + { + if (!e.held()) + { + if (e.down()) + { + if (thisKey >= 1 && thisKey <= 5) + { + uint8_t paramIndex = thisKey - 1; + auto activeBank = getActiveBank(); + + if (activeBank->HasParamAtIndex(paramIndex)) + { + activeParam = paramIndex; + + omxLeds.setDirty(); + omxDisp.setDirty(); + } + } + // Change Octave + else if (thisKey == 11 || thisKey == 12) + { + int amt = thisKey == 11 ? -1 : 1; + midiSettings.octave = constrain(midiSettings.octave + amt, -5, 4); + } + // Lock AUX + else if (thisKey == 14) + { + lockAuxView_ = !lockAuxView_; + + if(lockAuxView_) + { + omxDisp.displayMessage("Locked AUX"); + } + else if(midiSettings.keyState[0] == false) + { + auxDown_ = false; + } + } + // Revert Values + else if(thisKey == 18) + { + omxDisp.displayMessage("Revert Vals"); + revertPotPickups(); + } + } + else + { + } + } + + return; + } + + if (!e.held()) + { + // Keyboard on right for playing notes + if (keyOnRight) + { + if (e.down()) + { + DoNoteOn(thisKey); + } + else + { + DoNoteOff(thisKey); + } + } + else + { + if (e.down()) + { + // omxDisp.displayMessageTimed("Key Down " + String(thisKey), 5); + + keyDownBankShortcut(thisKey); + // if (thisKey == keyEnv1_) + // { + // params_.setSelPage(DELPAGE_ENV1); + // } + // else if (thisKey == keyEnv2_) + // { + // params_.setSelPage(DELPAGE_ENV2); + // } + // else if (thisKey == keyFilt1_) + // { + // params_.setSelPage(DELPAGE_FILT1); + // } + // else if (thisKey == keyFilt2_) + // { + // params_.setSelPage(DELPAGE_FILT2); + // } + } + else + { + } + } + } + + omxLeds.setDirty(); + } + + void MidiMacroDeluge::drawLEDs() + { + // omxLeds.updateBlinkStates(); + + if (omxLeds.isDirty() == false) + { + return; + } + + auto blinkState = omxLeds.getBlinkState(); + + omxLeds.setAllLEDS(0, 0, 0); + + strip.setPixelColor(0, (auxDown_ && blinkState) ? WHITE : BLUE); // aux + + // strip.setPixelColor(but1_, midiSettings.keyState[but1_] ? LTYELLOW : ORANGE); + // strip.setPixelColor(but2_, midiSettings.keyState[but2_] ? LTYELLOW : ORANGE); + // strip.setPixelColor(but3_, midiSettings.keyState[but3_] ? LTYELLOW : ORANGE); + + // strip.setPixelColor(enc1_, RED); + // strip.setPixelColor(enc2_, RED); + // strip.setPixelColor(enc3_, RED); + + // strip.setPixelColor(keyUp_, midiSettings.keyState[keyUp_] ? LTCYAN : BLUE); + // strip.setPixelColor(keyDown_, midiSettings.keyState[keyDown_] ? LTCYAN : BLUE); + // strip.setPixelColor(keyLeft_, midiSettings.keyState[keyLeft_] ? LTCYAN : BLUE); + // strip.setPixelColor(keyRight_, midiSettings.keyState[keyRight_] ? LTCYAN : BLUE); + + for (int q = 6; q < LED_COUNT; q++) + { + if ((q >= 6 && q <= 10) || (q >= 19)) + { + if (midiSettings.midiKeyState[q] == -1) + { + if (colorConfig.midiBg_Hue == 0) + { + strip.setPixelColor(q, omxLeds.getKeyColor(scale_, q)); // set off or in scale + } + else if (colorConfig.midiBg_Hue == 32) + { + strip.setPixelColor(q, LOWWHITE); + } + else + { + strip.setPixelColor(q, strip.ColorHSV(colorConfig.midiBg_Hue, colorConfig.midiBg_Sat, colorConfig.midiBg_Brightness)); + } + } + else + { + strip.setPixelColor(q, MIDINOTEON); + } + } + } + + if (auxDown_) + { + for (int8_t i = 1; i <= 5; i++) + { + int8_t pIndex = i - 1; + auto activeBank = getActiveBank(); + + if (activeBank->HasParamAtIndex(pIndex)) + { + strip.setPixelColor(i, pIndex == activeParam ? WHITE : ORANGE); + } + } + + omxLeds.drawOctaveKeys(11, 12, midiSettings.octave); + + strip.setPixelColor(14, lockAuxView_ ? PINK : MAGENTA); + + // Revert Values Key + strip.setPixelColor(18, midiSettings.keyState[18] ? LTCYAN : RED); + + } + else + { + for (int8_t i = 0; i < kNumBanks; i++) + { + if (i == selBank) + { + strip.setPixelColor(paramBanks[i].keyMap, paramBanks[i].altBank ? LTYELLOW : WHITE); + } + else + { + if (paramBanks[i].altBank == false) + { + strip.setPixelColor(paramBanks[i].keyMap, paramBanks[i].keyColor); + } + } + } + } + } + + void MidiMacroDeluge::onEncoderChangedSelectParam(Encoder::Update enc) + { + params_.changeParam(enc.dir()); + + if(params_.getSelPage() == 0) + { + activeParam = params_.getSelParam(); + } + + omxDisp.setDirty(); + } + + void MidiMacroDeluge::onEncoderChangedEditParam(Encoder::Update enc) + { + // int8_t page = params_.getSelPage(); + // // int8_t param = params_.getSelParam(); + + // // auto amt = enc.accel(5); + + // uint8_t encCC = 0; + + // if (page == NRNPAGE_ENC1) + // encCC = ccEnc1_; + // else if (page == NRNPAGE_ENC2) + // encCC = ccEnc2_; + // else if (page == NRNPAGE_ENC3) + // encCC = ccEnc3_; + + // if (enc.dir() > 0) + // { + // MM::sendControlChange(encCC, 65, midiMacroConfig.midiMacroChan); + // } + // else if (enc.dir() < 0) + // { + // MM::sendControlChange(encCC, 63, midiMacroConfig.midiMacroChan); + // } + + auto amt = enc.accel(1); + + auto activeBank = getActiveBank(); + + if(activeBank->HasParamAtIndex(activeParam)) + { + uint8_t newValue = constrain(potPickups[activeParam].value + amt, 0, 127); + potPickups[activeParam].SetVal(newValue, false); + activeBank->UpdatePotValue(activeParam, potPickups[activeParam].value); + MM::sendControlChange(activeBank->midiCCs[activeParam], potPickups[activeParam].value, midiMacroConfig.midiMacroChan); + } + + omxDisp.setDirty(); + } + + void MidiMacroDeluge::onDisplayUpdate() + { + omxDisp.clearLegends(); + + auto activeBank = getActiveBank(); + + if(activeBank != nullptr) + { + // auto activeBank = getActiveBank(); + + // if (activeBank != nullptr) + // { + // uint8_t cc = activeBank->midiCCs[potIndex]; + + // if (cc <= 127 && newValue != prevValue) + // { + // potPickups[potIndex].UpdatePot(prevValue, newValue); + // activeBank->UpdatePotValue(potIndex, potPickups[potIndex].value); + + // activeParam = potIndex; + + // if(potPickups[potIndex].pickedUp) + // { + // // omxDisp.displayMessageTimed(String(activeBank->paramNames[potIndex]) + " " + String(cc) + " " + String(potPickups[potIndex].value), 5); + + // uint8_t delugeMapVal = (uint8_t)map(potPickups[potIndex].value, 0, 127, 0, 50); + + // // omxDisp.displayMessageTimed(String(activeBank->paramNames[potIndex]) + " " + String(delugeMapVal), 5); + // MM::sendControlChange(cc, potPickups[potIndex].value, midiMacroConfig.midiMacroChan); + // } + // else + // { + // uint8_t delugeMapNewVal = (uint8_t)map(newValue, 0, 127, 0, 50); + // uint8_t delugeMapVal = (uint8_t)map(potPickups[potIndex].value, 0, 127, 0, 50); + // // omxDisp.displayMessageTimed(String(delugeMapNewVal) + " -> " + String(delugeMapVal), 5); + // } + // } + // } + + uint8_t delugeMapPotVal = (uint8_t)map(potPickups[activeParam].potValue, 0, 127, 0, 50); + uint8_t delugeMapVal = (uint8_t)map(potPickups[activeParam].value, 0, 127, 0, 50); + + omxDisp.dispParamBar(delugeMapPotVal, delugeMapVal, 0, 50, potPickups[activeParam].pickedUp, false, activeBank->bankName, activeBank->paramNames[activeParam]); + + // omxDisp.dispGenericModeLabel(activeBank->bankName, params_.getNumPages(), params_.getSelPage()); + } + else + { + omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), encoderSelect_); + } + + // int8_t page = params_.getSelPage(); + + // bool genericDisp = true; + + // switch (page) + // { + // case DELPAGE_FILT1: + // case DELPAGE_FILT2: + // case DELPAGE_ENV1: + // case DELPAGE_ENV2: + // { + // omxDisp.dispGenericModeLabel(pageNames[page], params_.getNumPages(), params_.getSelPage()); + // genericDisp = false; + // } + // break; + // default: + // break; + // } + + // if (genericDisp) + // { + // omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), encoderSelect_); + // } + } +} diff --git a/Archive/OMX-27-firmware/src/midimacro/midimacro_deluge.h b/Archive/OMX-27-firmware/src/midimacro/midimacro_deluge.h new file mode 100644 index 00000000..a0bec296 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midimacro/midimacro_deluge.h @@ -0,0 +1,146 @@ +#pragma once +#include "midimacro_interface.h" +#include "../utils/PotPickupUtil.h" + +// RAM: [===== ] 51.2% (used 33528 bytes from 65536 bytes) +// Flash: [====== ] 61.5% (used 161276 bytes from 262144 bytes) +// RAM: [===== ] 51.4% (used 33696 bytes from 65536 bytes) +// Flash: [====== ] 61.6% (used 161356 bytes from 262144 bytes) + +namespace midimacro +{ + struct MidiCommand + { + const char *name; + uint8_t midiCC; + uint8_t keyMap; + int keyColorOn = WHITE; + int keyColorOff = ORANGE; + }; + + struct MidiParamBank + { + uint8_t keyMap; + int keyColor = ORANGE; + const char *bankName; + uint8_t midiCCs[5] = {255, 255, 255, 255, 255}; + uint8_t midiValues[5] = {0, 0, 0, 0, 0}; + const char *paramNames[5]; + bool altBank = false; + uint8_t activeParam = 0; + + void SetCCs( + const char *nameA = "", uint8_t a = 255, + const char *nameB = "", uint8_t b = 255, + const char *nameC = "", uint8_t c = 255, + const char *nameD = "", uint8_t d = 255, + const char *nameE = "VOL", uint8_t e = 7) + { + SetCC(0, nameA, a); + SetCC(1, nameB, b); + SetCC(2, nameC, c); + SetCC(3, nameD, d); + SetCC(4, nameE, e); + } + + bool HasParamAtIndex(uint8_t index) + { + if(index >= 5) return false; + + return midiCCs[index] < 128; + } + + void SetCC(uint8_t index, const char *name, uint8_t cc) + { + if (index >= 5) + return; + midiCCs[index] = cc; + paramNames[index] = name; + } + + int8_t ContainsCC(uint8_t cc) + { + for(int8_t i = 0; i < 5; i++) + { + if(midiCCs[i] == cc) + { + return i; + } + } + return -1; + } + + int8_t UpdateCCValue(uint8_t cc, uint8_t value) + { + int8_t index = ContainsCC(cc); + if(index < 0) return index; + midiValues[index] = value; + return index; + } + + void UpdatePotValue(uint8_t potIndex, uint8_t value) + { + midiValues[potIndex] = value; + } + }; + + class MidiMacroDeluge : public MidiMacroInterface + { + public: + MidiMacroDeluge(); + ~MidiMacroDeluge() {} + + bool consumesPots() override { return true; } + bool consumesDisplay() override { return true; } + + String getName() override; + + void loopUpdate() override; + + void onDisplayUpdate() override; + + void onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) override; + void onKeyUpdate(OMXKeypadEvent e) override; + void drawLEDs() override; + + void inMidiControlChange(byte channel, byte control, byte value) override; + protected: + void onEnabled() override; + void onDisabled() override; + + void onEncoderChangedSelectParam(Encoder::Update enc) override; + void onEncoderChangedEditParam(Encoder::Update enc) override; + + private: + static const uint8_t kNumBanks = 16; + + MidiParamBank* getActiveBank(); + void keyDownBankShortcut(uint8_t keyIndex); + void setActiveBank(uint8_t bankIndex); + void updatePotPickups(); + void revertPotPickups(); + + + MidiParamBank paramBanks[kNumBanks]; + // Maps each CC to a cached value + uint8_t delVals[127]; + + bool auxDown_ = false; + bool lockAuxView_ = false; + bool commandMode_ = false; + + + uint8_t selBank = 0; + uint8_t activeParam = 0; + + PotPickupUtil potPickups[5]; + + // bool m8mutesolo_[16]; + + // Control key mappings + // static const uint8_t keyFilt1_ = 3; + // static const uint8_t keyFilt2_ = 4; + // static const uint8_t keyEnv1_ = 1; + // static const uint8_t keyEnv2_ = 2; + }; +} diff --git a/Archive/OMX-27-firmware/src/midimacro/midimacro_interface.cpp b/Archive/OMX-27-firmware/src/midimacro/midimacro_interface.cpp new file mode 100644 index 00000000..73e566bb --- /dev/null +++ b/Archive/OMX-27-firmware/src/midimacro/midimacro_interface.cpp @@ -0,0 +1,86 @@ +#include "midimacro_interface.h" +#include "../hardware/omx_disp.h" +namespace midimacro +{ + MidiMacroInterface::~MidiMacroInterface() + { + // std::vector().swap(triggeredNotes); + // Serial.println("Deleted vector"); + } + + void MidiMacroInterface::setEnabled(bool newEnabled) + { + enabled_ = newEnabled; + if (enabled_) + { + onEnabled(); + } + else + { + onDisabled(); + } + } + + bool MidiMacroInterface::getEnabled() + { + return enabled_; + } + + void MidiMacroInterface::onEncoderChanged(Encoder::Update enc) + { + if (encoderSelect_) + { + onEncoderChangedSelectParam(enc); + } + else + { + onEncoderChangedEditParam(enc); + } + } + + // Handles selecting params using encoder + void MidiMacroInterface::onEncoderChangedSelectParam(Encoder::Update enc) + { + params_.changeParam(enc.dir()); + omxDisp.setDirty(); + } + + void MidiMacroInterface::onEncoderButtonDown() + { + encoderSelect_ = !encoderSelect_; + omxDisp.setDirty(); + } + + void MidiMacroInterface::setScale(MusicScales *scale) + { + scale_ = scale; + } + + void MidiMacroInterface::setDoNoteOn(void (*fptr)(void *, uint8_t), void *context) + { + doNoteOnFptrContext_ = context; + doNoteOnFptr_ = fptr; + } + + void MidiMacroInterface::setDoNoteOff(void (*fptr)(void *, uint8_t), void *context) + { + doNoteOffFptrContext_ = context; + doNoteOffFptr_ = fptr; + } + + void MidiMacroInterface::DoNoteOn(uint8_t keyIndex) + { + if (doNoteOnFptrContext_ != nullptr) + { + doNoteOnFptr_(doNoteOnFptrContext_, keyIndex); + } + } + + void MidiMacroInterface::DoNoteOff(uint8_t keyIndex) + { + if (doNoteOffFptrContext_ != nullptr) + { + doNoteOffFptr_(doNoteOffFptrContext_, keyIndex); + } + } +} diff --git a/Archive/OMX-27-firmware/src/midimacro/midimacro_interface.h b/Archive/OMX-27-firmware/src/midimacro/midimacro_interface.h new file mode 100644 index 00000000..e0b446a8 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midimacro/midimacro_interface.h @@ -0,0 +1,68 @@ +#pragma once +#include "../config.h" +#include "../ClearUI/ClearUI_Input.h" +#include "../hardware/omx_keypad.h" +#include "../utils/param_manager.h" +#include "../utils/music_scales.h" + +namespace midimacro +{ + class MidiMacroInterface + { + public: + MidiMacroInterface() {} + virtual ~MidiMacroInterface(); + + // Return true if consumes pots + virtual bool consumesPots() = 0; + + // Return true if consumes display / encoder + virtual bool consumesDisplay() = 0; + + // Display name + virtual String getName() = 0; + + virtual void setEnabled(bool newEnabled); + virtual bool getEnabled(); + + virtual void loopUpdate() {} + + virtual void onEncoderChanged(Encoder::Update enc); + virtual void onEncoderButtonDown(); + + virtual void onDisplayUpdate() = 0; + + virtual void onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) = 0; + virtual void onKeyUpdate(OMXKeypadEvent e) = 0; + virtual void drawLEDs() = 0; + + virtual void setScale(MusicScales *scale); + + virtual void setDoNoteOn(void (*fptr)(void *, uint8_t), void *context); + virtual void setDoNoteOff(void (*fptr)(void *, uint8_t), void *context); + + virtual void inMidiControlChange(byte channel, byte control, byte value) {} + + protected: + bool enabled_; + bool encoderSelect_; + ParamManager params_; + + MusicScales *scale_; + + void *doNoteOnFptrContext_; + void (*doNoteOnFptr_)(void *, uint8_t); + + void *doNoteOffFptrContext_; + void (*doNoteOffFptr_)(void *, uint8_t); + + virtual void onEnabled() {} // Called whenever entering mode + virtual void onDisabled() {} // Called whenever entering mode + + virtual void onEncoderChangedSelectParam(Encoder::Update enc); + virtual void onEncoderChangedEditParam(Encoder::Update enc) = 0; + + virtual void DoNoteOn(uint8_t keyIndex); + virtual void DoNoteOff(uint8_t keyIndex); + }; +} diff --git a/Archive/OMX-27-firmware/src/midimacro/midimacro_m8.cpp b/Archive/OMX-27-firmware/src/midimacro/midimacro_m8.cpp new file mode 100644 index 00000000..5502dce4 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midimacro/midimacro_m8.cpp @@ -0,0 +1,466 @@ +#include "midimacro_m8.h" +#include "../utils/omx_util.h" +#include "../hardware/omx_disp.h" +#include "../hardware/omx_leds.h" +#include "../midi/midi.h" +#include "../consts/consts.h" +#include "../consts/colors.h" +namespace midimacro +{ + enum M8Page + { + M8PAGE_MUTESOLO, + M8PAGE_CONTROL + }; + + MidiMacroM8::MidiMacroM8() + { + params_.addPage(1); // Mute / Solo + params_.addPage(1); // Control + encoderSelect_ = true; + + for (uint8_t i = 0; i < 16; i++) + { + m8mutesolo_[i] = false; + } + } + + String MidiMacroM8::getName() + { + return String("M8"); + } + + void MidiMacroM8::onEnabled() + { + } + + void MidiMacroM8::onDisabled() + { + } + + void MidiMacroM8::loopUpdate() + { + } + + void MidiMacroM8::onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) + { + omxUtil.sendPots(potIndex, midiMacroConfig.midiMacroChan); + } + + void MidiMacroM8::onEncoderButtonDown() + { + encoderSelect_ = true; + // encoderSelect_ = !encoderSelect_; + omxDisp.setDirty(); + } + + void MidiMacroM8::onKeyUpdate(OMXKeypadEvent e) + { + int thisKey = e.key(); + int keyPos = thisKey - 11; + + int8_t page = params_.getSelPage(); + + if (page == M8PAGE_MUTESOLO) + { + if (!e.held()) + { + if (thisKey == 8) + { + if (e.down()) + { + omxDisp.displayMessage("Shift"); + MM::sendNoteOn(1, 1, midiMacroConfig.midiMacroChan); // Shift + } + else + { + MM::sendNoteOff(1, 0, midiMacroConfig.midiMacroChan); // Shift + } + } + } + if (!e.held()) + { + if (e.down() && (thisKey > 10 && thisKey < 27)) + { + // Mutes / Solos + m8mutesolo_[keyPos] = !m8mutesolo_[keyPos]; + int mutePos = keyPos + 12; + if (m8mutesolo_[keyPos]) + { + if (keyPos < 8) + { + omxDisp.displayMessage("Mute"); + } + else + { + omxDisp.displayMessage("Solo"); + } + MM::sendNoteOn(mutePos, 1, midiMacroConfig.midiMacroChan); + } + else + { + MM::sendNoteOff(mutePos, 0, midiMacroConfig.midiMacroChan); + } + return; // break; + } + else if (e.down() && (thisKey == 1)) + { + omxDisp.displayMessage("Unmute all"); + // release all mutes + for (int z = 0; z < 8; z++) + { + int mutePos = z + 12; + if (m8mutesolo_[z]) + { + m8mutesolo_[z] = false; + MM::sendNoteOff(mutePos, 0, midiMacroConfig.midiMacroChan); + } + } + return; // break; + } + else if (e.down() && (thisKey == 2)) + { + // ? + return; // break; + } + else if (e.down() && (thisKey == 3)) + { + omxDisp.displayMessage("Goto Mixer"); + // return to mixer + // hold shift 4 left 1 down, release shift + MM::sendNoteOn(1, 1, midiMacroConfig.midiMacroChan); // Shift + delay(40); + MM::sendNoteOn(6, 1, midiMacroConfig.midiMacroChan); // Up + delay(20); + MM::sendNoteOff(6, 0, midiMacroConfig.midiMacroChan); + delay(40); + MM::sendNoteOn(4, 1, midiMacroConfig.midiMacroChan); // Left + delay(20); + MM::sendNoteOff(4, 0, midiMacroConfig.midiMacroChan); + delay(40); + MM::sendNoteOn(4, 1, midiMacroConfig.midiMacroChan); // Left + delay(20); + MM::sendNoteOff(4, 0, midiMacroConfig.midiMacroChan); + delay(40); + MM::sendNoteOn(4, 1, midiMacroConfig.midiMacroChan); // Left + delay(20); + MM::sendNoteOff(4, 0, midiMacroConfig.midiMacroChan); + delay(40); + MM::sendNoteOn(4, 1, midiMacroConfig.midiMacroChan); // Left + delay(20); + MM::sendNoteOff(4, 0, midiMacroConfig.midiMacroChan); + delay(40); + MM::sendNoteOn(7, 1, midiMacroConfig.midiMacroChan); // Down + delay(20); + MM::sendNoteOff(7, 0, midiMacroConfig.midiMacroChan); + MM::sendNoteOff(1, 0, midiMacroConfig.midiMacroChan); + omxDisp.displayMessage("Goto Mixer"); + + return; // break; + } + else if (e.down() && (thisKey == 4)) + { + omxDisp.displayMessage("Save snapshot"); + // snap save + MM::sendNoteOn(1, 1, midiMacroConfig.midiMacroChan); // Shift + delay(40); + MM::sendNoteOn(3, 1, midiMacroConfig.midiMacroChan); // Option + delay(40); + MM::sendNoteOff(3, 0, midiMacroConfig.midiMacroChan); + MM::sendNoteOff(1, 0, midiMacroConfig.midiMacroChan); + + return; // break; + } + else if (e.down() && (thisKey == 5)) + { + omxDisp.displayMessage("Load snapshot"); + // snap load + MM::sendNoteOn(1, 1, midiMacroConfig.midiMacroChan); // Shift + delay(40); + MM::sendNoteOn(2, 1, midiMacroConfig.midiMacroChan); // Edit + delay(40); + MM::sendNoteOff(2, 0, midiMacroConfig.midiMacroChan); + MM::sendNoteOff(1, 0, midiMacroConfig.midiMacroChan); + + // then reset mutes/solos + for (int z = 0; z < 16; z++) + { + if (m8mutesolo_[z]) + { + m8mutesolo_[z] = false; + } + } + + return; // break; + } + else if (e.down() && (thisKey == 6)) + { + omxDisp.displayMessage("Unsolo all"); + // release all solos + for (int z = 8; z < 16; z++) + { + int mutePos = z + 12; + if (m8mutesolo_[z]) + { + m8mutesolo_[z] = false; + MM::sendNoteOff(mutePos, 0, midiMacroConfig.midiMacroChan); + } + } + return; // break; + } + else if (e.down() && (thisKey == 7)) + { + // ?? + return; // break; + } + else if (e.down() && (thisKey == 8)) + { + // omxDisp.displayMessage("Reset Pat"); + // MM::sendNoteOn(1, 1, midiMacroConfig.midiMacroChan); // Shift + return; // break; + } + else if (e.down() && (thisKey == 9)) + { + omxDisp.displayMessage("Waveform"); + // waveform + MM::sendNoteOn(6, 1, midiMacroConfig.midiMacroChan); // Up + MM::sendNoteOn(7, 1, midiMacroConfig.midiMacroChan); // Down + MM::sendNoteOn(5, 1, midiMacroConfig.midiMacroChan); // Right + MM::sendNoteOn(4, 1, midiMacroConfig.midiMacroChan); // Left + delay(40); + + MM::sendNoteOff(6, 0, midiMacroConfig.midiMacroChan); // Up + MM::sendNoteOff(7, 0, midiMacroConfig.midiMacroChan); // Down + MM::sendNoteOff(5, 0, midiMacroConfig.midiMacroChan); // Right + MM::sendNoteOff(4, 0, midiMacroConfig.midiMacroChan); // Left + + return; // break; + } + else if (e.down() && (thisKey == 10)) + { + omxDisp.displayMessage("Play"); + // play + MM::sendNoteOn(0, 1, midiMacroConfig.midiMacroChan); // Play + delay(40); + MM::sendNoteOff(0, 0, midiMacroConfig.midiMacroChan); // Play + + // MM::sendNoteOn(1, 1, midiMacroChan); // Shift + // MM::sendNoteOn(3, 1, midiMacroChan); // Option + // MM::sendNoteOn(2, 1, midiMacroChan); // Edit + // MM::sendNoteOn(6, 1, midiMacroChan); // Up + // MM::sendNoteOn(7, 1, midiMacroChan); // Down + // MM::sendNoteOn(4, 1, midiMacroChan); // Left + // MM::sendNoteOn(5, 1, midiMacroChan); // Right + return; // break; + } + } + } + else if (page == M8PAGE_CONTROL) + { + if (thisKey != 0 && !e.held()) + { + if ((thisKey >= 6 && thisKey <= 10) || (thisKey >= 19)) + { + if (e.down()) + { + DoNoteOn(thisKey); + } + else + { + DoNoteOff(thisKey); + } + } + else + { + + if (e.down()) + { + if (thisKey == keyUp_) + MM::sendNoteOn(6, 1, midiMacroConfig.midiMacroChan); + if (thisKey == keyDown_) + MM::sendNoteOn(7, 1, midiMacroConfig.midiMacroChan); + if (thisKey == keyLeft_) + MM::sendNoteOn(4, 1, midiMacroConfig.midiMacroChan); + if (thisKey == keyRight_) + MM::sendNoteOn(5, 1, midiMacroConfig.midiMacroChan); + + if (thisKey == keyOption_) + MM::sendNoteOn(3, 1, midiMacroConfig.midiMacroChan); + if (thisKey == keyEdit_) + MM::sendNoteOn(2, 1, midiMacroConfig.midiMacroChan); + + if (thisKey == keyShift_) + MM::sendNoteOn(1, 1, midiMacroConfig.midiMacroChan); + if (thisKey == keyPlay_) + MM::sendNoteOn(0, 1, midiMacroConfig.midiMacroChan); + } + else + { + if (thisKey == keyUp_) + MM::sendNoteOff(6, 0, midiMacroConfig.midiMacroChan); + if (thisKey == keyDown_) + MM::sendNoteOff(7, 0, midiMacroConfig.midiMacroChan); + if (thisKey == keyLeft_) + MM::sendNoteOff(4, 0, midiMacroConfig.midiMacroChan); + if (thisKey == keyRight_) + MM::sendNoteOff(5, 0, midiMacroConfig.midiMacroChan); + + if (thisKey == keyOption_) + MM::sendNoteOff(3, 0, midiMacroConfig.midiMacroChan); + if (thisKey == keyEdit_) + MM::sendNoteOff(2, 0, midiMacroConfig.midiMacroChan); + + if (thisKey == keyShift_) + MM::sendNoteOff(1, 0, midiMacroConfig.midiMacroChan); + if (thisKey == keyPlay_) + MM::sendNoteOff(0, 0, midiMacroConfig.midiMacroChan); + } + } + } + } + + omxLeds.setDirty(); + } + + void MidiMacroM8::drawLEDs() + { + // omxLeds.updateBlinkStates(); + + if (omxLeds.isDirty() == false) + { + return; + } + + auto blinkState = omxLeds.getBlinkState(); + + omxLeds.setAllLEDS(0, 0, 0); + + int8_t page = params_.getSelPage(); + + if (page == M8PAGE_MUTESOLO) + { + auto color5 = blinkState ? ORANGE : LEDOFF; + auto color6 = blinkState ? RED : LEDOFF; + + strip.setPixelColor(0, BLUE); + strip.setPixelColor(1, ORANGE); // all mute + strip.setPixelColor(3, LIME); // MIXER + strip.setPixelColor(4, CYAN); // snap load + strip.setPixelColor(5, MAGENTA); // snap save + + for (int m = 11; m < LED_COUNT - 8; m++) + { + if (m8mutesolo_[m - 11]) + { + strip.setPixelColor(m, color5); + } + else + { + strip.setPixelColor(m, ORANGE); + } + } + + strip.setPixelColor(6, RED); // all solo + for (int m = 19; m < LED_COUNT; m++) + { + if (m8mutesolo_[m - 11]) + { + strip.setPixelColor(m, color6); + } + else + { + strip.setPixelColor(m, RED); + } + } + strip.setPixelColor(2, LEDOFF); + strip.setPixelColor(7, LEDOFF); + // strip.setPixelColor(8, LEDOFF); + strip.setPixelColor(8, PINK); // snap save + + strip.setPixelColor(9, YELLOW); // WAVES + strip.setPixelColor(10, BLUE); // PLAY + } + else if (page == M8PAGE_CONTROL) + { + strip.setPixelColor(0, BLUE); // aux + + strip.setPixelColor(keyUp_, ORANGE); // up + strip.setPixelColor(keyDown_, ORANGE); // down + strip.setPixelColor(keyLeft_, RED); // left + strip.setPixelColor(keyRight_, RED); // right + + strip.setPixelColor(keyOption_, BLUE); // option + strip.setPixelColor(keyEdit_, BLUE); // edit + strip.setPixelColor(keyShift_, GREEN); // shift + strip.setPixelColor(keyPlay_, GREEN); // play + + for (int q = 1; q < LED_COUNT; q++) + { + if ((q >= 6 && q <= 10) || (q >= 19)) + { + if (midiSettings.midiKeyState[q] == -1) + { + if (colorConfig.midiBg_Hue == 0) + { + strip.setPixelColor(q, omxLeds.getKeyColor(scale_, q)); // set off or in scale + } + else if (colorConfig.midiBg_Hue == 32) + { + strip.setPixelColor(q, LOWWHITE); + } + else + { + strip.setPixelColor(q, strip.ColorHSV(colorConfig.midiBg_Hue, colorConfig.midiBg_Sat, colorConfig.midiBg_Brightness)); + } + } + else + { + strip.setPixelColor(q, MIDINOTEON); + } + } + } + } + } + + void MidiMacroM8::onEncoderChangedEditParam(Encoder::Update enc) + { + // int8_t page = params_.getSelPage(); + // int8_t param = params_.getSelParam(); + + // auto amt = enc.accel(5); + + omxDisp.setDirty(); + } + + void MidiMacroM8::onDisplayUpdate() + { + omxDisp.clearLegends(); + + int8_t page = params_.getSelPage(); + + bool genericDisp = true; + + switch (page) + { + case M8PAGE_MUTESOLO: + { + omxDisp.dispGenericModeLabel("Mute Solo", params_.getNumPages(), params_.getSelPage()); + genericDisp = false; + } + break; + case M8PAGE_CONTROL: + { + omxDisp.dispGenericModeLabel("Control", params_.getNumPages(), params_.getSelPage()); + genericDisp = false; + } + break; + default: + break; + } + + if (genericDisp) + { + omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), encoderSelect_); + } + } +} diff --git a/Archive/OMX-27-firmware/src/midimacro/midimacro_m8.h b/Archive/OMX-27-firmware/src/midimacro/midimacro_m8.h new file mode 100644 index 00000000..8dbaad21 --- /dev/null +++ b/Archive/OMX-27-firmware/src/midimacro/midimacro_m8.h @@ -0,0 +1,46 @@ +#pragma once +#include "midimacro_interface.h" + +namespace midimacro +{ + class MidiMacroM8 : public MidiMacroInterface + { + public: + MidiMacroM8(); + ~MidiMacroM8() {} + + bool consumesPots() override { return true; } + bool consumesDisplay() override { return true; } + + String getName() override; + + void loopUpdate() override; + + void onDisplayUpdate() override; + + void onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) override; + void onEncoderButtonDown() override; + void onKeyUpdate(OMXKeypadEvent e) override; + void drawLEDs() override; + + protected: + void onEnabled() override; + void onDisabled() override; + + void onEncoderChangedEditParam(Encoder::Update enc) override; + + private: + bool m8mutesolo_[16]; + + // M8PAGE_CONTROL key mappings + uint8_t keyUp_ = 1; + uint8_t keyDown_ = 12; + uint8_t keyLeft_ = 11; + uint8_t keyRight_ = 13; + + uint8_t keyOption_ = 4; + uint8_t keyEdit_ = 5; + uint8_t keyShift_ = 16; + uint8_t keyPlay_ = 17; + }; +} diff --git a/Archive/OMX-27-firmware/src/midimacro/midimacro_norns.cpp b/Archive/OMX-27-firmware/src/midimacro/midimacro_norns.cpp new file mode 100644 index 00000000..5c72ccba --- /dev/null +++ b/Archive/OMX-27-firmware/src/midimacro/midimacro_norns.cpp @@ -0,0 +1,275 @@ +#include "midimacro_norns.h" +#include "../utils/omx_util.h" +#include "../hardware/omx_disp.h" +#include "../hardware/omx_leds.h" +#include "../midi/midi.h" +#include "../consts/consts.h" +#include "../consts/colors.h" + +namespace midimacro +{ + enum NornsPage + { + NRNPAGE_ENC1, + NRNPAGE_ENC2, + NRNPAGE_ENC3 + }; + + MidiMacroNorns::MidiMacroNorns() + { + params_.addPage(1); // Enc1 + params_.addPage(1); // Enc2 + params_.addPage(1); // Enc3 + + encoderSelect_ = true; + } + + String MidiMacroNorns::getName() + { + return String("NORNS"); + } + + void MidiMacroNorns::onEnabled() + { + } + + void MidiMacroNorns::onDisabled() + { + } + + void MidiMacroNorns::loopUpdate() + { + } + + void MidiMacroNorns::onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) + { + omxUtil.sendPots(potIndex, midiMacroConfig.midiMacroChan); + } + + void MidiMacroNorns::onKeyUpdate(OMXKeypadEvent e) + { + int thisKey = e.key(); + // int keyPos = thisKey - 11; + + if (thisKey != 0 && !e.held()) + { + if ((thisKey >= 6 && thisKey <= 10) || (thisKey >= 19)) + { + if (e.down()) + { + DoNoteOn(thisKey); + } + else + { + DoNoteOff(thisKey); + } + } + else + { + if (e.down()) + { + if (thisKey == but1_) + { + MM::sendControlChange(ccBut1_, 127, midiMacroConfig.midiMacroChan); + } + else if (thisKey == but2_) + { + MM::sendControlChange(ccBut2_, 127, midiMacroConfig.midiMacroChan); + } + else if (thisKey == but3_) + { + MM::sendControlChange(ccBut3_, 127, midiMacroConfig.midiMacroChan); + } + else if (thisKey == enc1_) + { + params_.setSelPageAndParam(0, 0); + encoderSelect_ = false; + omxDisp.setDirty(); + } + else if (thisKey == enc2_) + { + params_.setSelPageAndParam(1, 0); + encoderSelect_ = false; + omxDisp.setDirty(); + } + else if (thisKey == enc3_) + { + params_.setSelPageAndParam(2, 0); + encoderSelect_ = false; + omxDisp.setDirty(); + } + else if (thisKey == keyUp_) + { + // params_.setSelPageAndParam(1,0); + // encoderSelect_ = false; + MM::sendControlChange(ccEnc2_, 63, midiMacroConfig.midiMacroChan); + delay(20); + MM::sendControlChange(ccEnc2_, 63, midiMacroConfig.midiMacroChan); + } + else if (thisKey == keyDown_) + { + // params_.setSelPageAndParam(1,0); + // encoderSelect_ = false; + MM::sendControlChange(ccEnc2_, 65, midiMacroConfig.midiMacroChan); + delay(20); + MM::sendControlChange(ccEnc2_, 65, midiMacroConfig.midiMacroChan); + } + else if (thisKey == keyLeft_) + { + // params_.setSelPageAndParam(2,0); + // encoderSelect_ = false; + MM::sendControlChange(ccEnc3_, 63, midiMacroConfig.midiMacroChan); + delay(20); + MM::sendControlChange(ccEnc3_, 63, midiMacroConfig.midiMacroChan); + } + else if (thisKey == keyRight_) + { + // params_.setSelPageAndParam(2,0); + // encoderSelect_ = false; + MM::sendControlChange(ccEnc3_, 65, midiMacroConfig.midiMacroChan); + delay(20); + MM::sendControlChange(ccEnc3_, 65, midiMacroConfig.midiMacroChan); + } + } + else + { + if (thisKey == but1_) + { + MM::sendControlChange(ccBut1_, 0, midiMacroConfig.midiMacroChan); + } + else if (thisKey == but2_) + { + MM::sendControlChange(ccBut2_, 0, midiMacroConfig.midiMacroChan); + } + else if (thisKey == but3_) + { + MM::sendControlChange(ccBut3_, 0, midiMacroConfig.midiMacroChan); + } + } + } + } + + omxLeds.setDirty(); + } + + void MidiMacroNorns::drawLEDs() + { + // omxLeds.updateBlinkStates(); + + if (omxLeds.isDirty() == false) + { + return; + } + + // auto blinkState = omxLeds.getBlinkState(); + + omxLeds.setAllLEDS(0, 0, 0); + + strip.setPixelColor(0, BLUE); // aux + + strip.setPixelColor(but1_, midiSettings.keyState[but1_] ? LTYELLOW : ORANGE); + strip.setPixelColor(but2_, midiSettings.keyState[but2_] ? LTYELLOW : ORANGE); + strip.setPixelColor(but3_, midiSettings.keyState[but3_] ? LTYELLOW : ORANGE); + + strip.setPixelColor(enc1_, RED); + strip.setPixelColor(enc2_, RED); + strip.setPixelColor(enc3_, RED); + + strip.setPixelColor(keyUp_, midiSettings.keyState[keyUp_] ? LTCYAN : BLUE); + strip.setPixelColor(keyDown_, midiSettings.keyState[keyDown_] ? LTCYAN : BLUE); + strip.setPixelColor(keyLeft_, midiSettings.keyState[keyLeft_] ? LTCYAN : BLUE); + strip.setPixelColor(keyRight_, midiSettings.keyState[keyRight_] ? LTCYAN : BLUE); + + for (int q = 1; q < LED_COUNT; q++) + { + if ((q >= 6 && q <= 10) || (q >= 19)) + { + if (midiSettings.midiKeyState[q] == -1) + { + if (colorConfig.midiBg_Hue == 0) + { + strip.setPixelColor(q, omxLeds.getKeyColor(scale_, q)); // set off or in scale + } + else if (colorConfig.midiBg_Hue == 32) + { + strip.setPixelColor(q, LOWWHITE); + } + else + { + strip.setPixelColor(q, strip.ColorHSV(colorConfig.midiBg_Hue, colorConfig.midiBg_Sat, colorConfig.midiBg_Brightness)); + } + } + else + { + strip.setPixelColor(q, MIDINOTEON); + } + } + } + } + + void MidiMacroNorns::onEncoderChangedEditParam(Encoder::Update enc) + { + int8_t page = params_.getSelPage(); + // int8_t param = params_.getSelParam(); + + // auto amt = enc.accel(5); + + uint8_t encCC = 0; + + if (page == NRNPAGE_ENC1) + encCC = ccEnc1_; + else if (page == NRNPAGE_ENC2) + encCC = ccEnc2_; + else if (page == NRNPAGE_ENC3) + encCC = ccEnc3_; + + if (enc.dir() > 0) + { + MM::sendControlChange(encCC, 65, midiMacroConfig.midiMacroChan); + } + else if (enc.dir() < 0) + { + MM::sendControlChange(encCC, 63, midiMacroConfig.midiMacroChan); + } + + omxDisp.setDirty(); + } + + void MidiMacroNorns::onDisplayUpdate() + { + omxDisp.clearLegends(); + + int8_t page = params_.getSelPage(); + + bool genericDisp = true; + + switch (page) + { + case NRNPAGE_ENC1: + { + omxDisp.dispGenericModeLabel("Enc 1", params_.getNumPages(), params_.getSelPage()); + genericDisp = false; + } + break; + case NRNPAGE_ENC2: + { + omxDisp.dispGenericModeLabel("Enc 2", params_.getNumPages(), params_.getSelPage()); + genericDisp = false; + } + break; + case NRNPAGE_ENC3: + { + omxDisp.dispGenericModeLabel("Enc 3", params_.getNumPages(), params_.getSelPage()); + genericDisp = false; + } + break; + default: + break; + } + + if (genericDisp) + { + omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), encoderSelect_); + } + } +} diff --git a/Archive/OMX-27-firmware/src/midimacro/midimacro_norns.h b/Archive/OMX-27-firmware/src/midimacro/midimacro_norns.h new file mode 100644 index 00000000..ef41de6d --- /dev/null +++ b/Archive/OMX-27-firmware/src/midimacro/midimacro_norns.h @@ -0,0 +1,56 @@ +#pragma once +#include "midimacro_interface.h" + +namespace midimacro +{ + class MidiMacroNorns : public MidiMacroInterface + { + public: + MidiMacroNorns(); + ~MidiMacroNorns() {} + + bool consumesPots() override { return true; } + bool consumesDisplay() override { return true; } + + String getName() override; + + void loopUpdate() override; + + void onDisplayUpdate() override; + + void onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) override; + void onKeyUpdate(OMXKeypadEvent e) override; + void drawLEDs() override; + + protected: + void onEnabled() override; + void onDisabled() override; + + void onEncoderChangedEditParam(Encoder::Update enc) override; + + private: + bool m8mutesolo_[16]; + + // Control key mappings + uint8_t keyUp_ = 1; + uint8_t keyDown_ = 12; + uint8_t keyLeft_ = 11; + uint8_t keyRight_ = 13; + + uint8_t but1_ = 3; + uint8_t but2_ = 14; + uint8_t but3_ = 15; + + uint8_t enc1_ = 5; + uint8_t enc2_ = 16; + uint8_t enc3_ = 17; + + uint8_t ccBut1_ = 85; + uint8_t ccBut2_ = 87; + uint8_t ccBut3_ = 88; + + uint8_t ccEnc1_ = 58; + uint8_t ccEnc2_ = 62; + uint8_t ccEnc3_ = 63; + }; +} diff --git a/Archive/OMX-27-firmware/src/modes/euclidean_sequencer.cpp b/Archive/OMX-27-firmware/src/modes/euclidean_sequencer.cpp new file mode 100644 index 00000000..4af1db76 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/euclidean_sequencer.cpp @@ -0,0 +1,528 @@ +#include "euclidean_sequencer.h" +#include "../midi/midi.h" +#include "../midi/noteoffs.h" + +namespace euclidean +{ + // const float kEuclidNoteLengths[] = {0.1, 0.25, 0.5, 0.75, 1, 1.5, 2, 4, 8, 16}; + // const uint8_t kNumEuclidNoteLengths = 10; + + EuclideanMath::EuclideanMath() + { + } + + // bool array should be of length kPatternSize + void EuclideanMath::generateEuclidPattern(bool *pattern, uint8_t events, uint8_t steps) + { + clearPattern(pattern); + + // a value of true for each array element indicates a pulse + + uint8_t bucket = 0; // out variable to add pulses together for each step + + // fill array with rhythm + for (uint8_t i = 0; i < steps; i++) + { + bucket += events; + if (bucket >= steps) + { + bucket -= steps; + pattern[i] = true; + } + } + + flipPattern(pattern, steps); + // rotatePattern(pattern, steps, rotation); + } + // bool array should be of length kPatternSize + void EuclideanMath::clearPattern(bool *pattern) + { + for (int i = 0; i < kPatternSize; i++) + { + pattern[i] = false; + } + } + // bool array should be of length kPatternSize + void EuclideanMath::flipPattern(bool *pattern, uint8_t steps) + { + bool temp[steps]; + + for (int i = 0; i < steps; i++) + { + temp[i] = pattern[steps - 1 - i]; + } + + for (int i = 0; i < steps; i++) + { + pattern[i] = temp[i]; + } + } + // bool array should be of length kPatternSize + void EuclideanMath::rotatePattern(bool *pattern, uint8_t steps, uint8_t rotation) + { + bool temp[steps]; + + uint8_t val = steps - rotation; + + for (uint8_t i = 0; i < steps; i++) + { + temp[i] = pattern[abs((i + val) % steps)]; + } + for (int i = 0; i < steps; i++) + { + pattern[i] = temp[i]; + } + } + + EuclideanSequencer::EuclideanSequencer() + { + for (uint8_t i = 0; i < EuclideanMath::kPatternSize; i++) + { + pattern_[i] = false; + } + + regeneratePattern(); + tickCount_ = 0; + + divider_ = 0; + multiplier_ = 1; + running_ = false; + } + + void EuclideanSequencer::regeneratePattern() + { + EuclideanMath::generateEuclidPattern(pattern_, events_, steps_); + EuclideanMath::rotatePattern(pattern_, steps_, rotation_); + + // printEuclidPattern(); + } + + uint32_t EuclideanSequencer::randomValue(uint32_t init) + { + uint32_t val = 0x12345; + if (init) + { + val = init; + return 0; + } + val = val * 214013 + 2531011; + return val; + } + + void EuclideanSequencer::start() + { + tickCount_ = 0; + seqPos_ = 0; + running_ = true; + + nextStepTimeP_ = seqConfig.currentFrameMicros; + lastStepTimeP_ = seqConfig.currentFrameMicros; + startMicros = seqConfig.currentFrameMicros; + } + + void EuclideanSequencer::stop() + { + running_ = false; + triggered_ = false; + clockAdvanced_ = false; + pendingNoteOffs.allOff(); + } + + void EuclideanSequencer::proceed() + { + running_ = true; + } + + bool EuclideanSequencer::isDirty() + { + return patternDirty_; + } + + bool EuclideanSequencer::isRunning() + { + return running_; + } + + void EuclideanSequencer::setNoteOutputFunc(void (*fptr)(void *, uint8_t, MidiNoteGroup), void *context, u_int8_t euclidIndex) + { + onNoteOnFuncPtr_ = fptr; + onNoteOnFuncPtrContext_ = context; + euclidIndex_ = euclidIndex; + } + + void EuclideanSequencer::onNoteOn(uint8_t channel, uint8_t noteNumber, uint8_t velocity, float stepLength, bool sendMidi, bool sendCV, uint32_t noteOnMicros) + { + if (onNoteOnFuncPtrContext_ == nullptr) + return; + + MidiNoteGroup noteGroup; + noteGroup.channel = channel; + noteGroup.noteNumber = noteNumber; + noteGroup.velocity = velocity; + noteGroup.stepLength = stepLength; + noteGroup.sendMidi = sendMidi; + noteGroup.sendCV = sendCV; + noteGroup.noteonMicros = noteOnMicros; + + triggered_ = true; + triggerOffMicros_ = noteOnMicros + (stepLength * clockConfig.step_micros); + + onNoteOnFuncPtr_(onNoteOnFuncPtrContext_, euclidIndex_, noteGroup); + } + + void EuclideanSequencer::setMute(bool mute) + { + muted_ = mute; + } + + bool EuclideanSequencer::getMute() + { + return muted_; + } + + bool EuclideanSequencer::getTriggered() + { + return triggered_; + } + + bool EuclideanSequencer::getClockAdvanced() + { + return clockAdvanced_; + } + + void EuclideanSequencer::setClockDivMult(uint8_t m) + { + uint8_t prevDiv = clockDivMultP_; + + clockDivMultP_ = m; + multiplier_ = multValues[m]; + + if (clockDivMultP_ != prevDiv) + { + // Serial.println((String)"clockDivMultP_: " + clockDivMultP_); + patternDirty_ = true; + } + } + + uint8_t EuclideanSequencer::getClockDivMult() + { + return clockDivMultP_; + } + + void EuclideanSequencer::setPolyRClockDivMult(uint8_t m) + { + uint8_t prevDiv = polyRClockDivMultP_; + + polyRClockDivMultP_ = m; + multiplierPR_ = multValues[m]; + + if (polyRClockDivMultP_ != prevDiv) + { + patternDirty_ = true; + } + } + uint8_t EuclideanSequencer::getPolyRClockDivMult() + { + return polyRClockDivMultP_; + } + + void EuclideanSequencer::setRotation(uint8_t newRotation) + { + if (newRotation != rotation_) + patternDirty_ = true; + rotation_ = newRotation; + } + uint8_t EuclideanSequencer::getRotation() + { + return rotation_; + } + void EuclideanSequencer::setEvents(uint8_t newEvents) + { + if (newEvents != events_) + patternDirty_ = true; + events_ = newEvents; + } + uint8_t EuclideanSequencer::getEvents() + { + return events_; + } + + void EuclideanSequencer::setSteps(uint8_t newSteps) + { + if (newSteps != steps_) + patternDirty_ = true; + steps_ = newSteps; + } + uint8_t EuclideanSequencer::getSteps() + { + return steps_; + } + void EuclideanSequencer::setNoteNumber(uint8_t newNoteNumber) + { + noteNumber_ = newNoteNumber; + } + uint8_t EuclideanSequencer::getNoteNumber() + { + return noteNumber_; + } + void EuclideanSequencer::setMidiChannel(uint8_t newMidiChannel) + { + midiChannel_ = newMidiChannel; + } + uint8_t EuclideanSequencer::getMidiChannel() + { + return midiChannel_; + } + + void EuclideanSequencer::setVelocity(uint8_t newVelocity) + { + velocity_ = newVelocity; + } + uint8_t EuclideanSequencer::getVelocity() + { + return velocity_; + } + + void EuclideanSequencer::setSwing(uint8_t newSwing) + { + swing_ = newSwing; + } + uint8_t EuclideanSequencer::getSwing() + { + return swing_; + } + + void EuclideanSequencer::setNoteLength(uint8_t newNoteLength) + { + noteLength_ = newNoteLength; + } + uint8_t EuclideanSequencer::getNoteLength() + { + return noteLength_; + } + + void EuclideanSequencer::setPolyRhythmMode(bool enable) + { + polyRhythmMode_ = enable; + } + bool EuclideanSequencer::getPolyRhythmMode() + { + return polyRhythmMode_; + } + + uint8_t EuclideanSequencer::getSeqPos() + { + return seqPos_; + } + uint8_t EuclideanSequencer::getLastSeqPos() + { + return lastSeqPos_; + } + + float EuclideanSequencer::getSeqPerc() + { + return seqPerc_; + } + + bool *EuclideanSequencer::getPattern() + { + return pattern_; + } + + void EuclideanSequencer::printEuclidPattern() + { + String sOut = ""; + for (uint8_t i = 0; i < steps_; i++) + { + sOut += (pattern_[i] ? "X" : "-"); + } + Serial.println(sOut.c_str()); + } + EuclidSave EuclideanSequencer::getSave() + { + EuclidSave save; + + save.rotation_ = rotation_; + save.events_ = events_; + save.steps_ = steps_; + save.noteNumber_ = noteNumber_; + save.midiChannel_ = midiChannel_ - 1; + save.velocity_ = velocity_; + save.swing_ = swing_; + save.noteLength_ = noteLength_; + save.clockDivMultP_ = clockDivMultP_; + save.polyRClockDivMultP_ = polyRClockDivMultP_; + save.polyRhythmMode_ = polyRhythmMode_; + save.midifx = midiFXGroup; + save.muted = muted_; + return save; + } + + void EuclideanSequencer::loadSave(EuclidSave save) + { + rotation_ = save.rotation_; + events_ = save.events_; + steps_ = save.steps_; + noteNumber_ = save.noteNumber_; + midiChannel_ = save.midiChannel_ + 1; + velocity_ = save.velocity_; + swing_ = save.swing_; + noteLength_ = save.noteLength_; + polyRhythmMode_ = save.polyRhythmMode_; + midiFXGroup = save.midifx; + muted_ = save.muted; + + setClockDivMult(save.clockDivMultP_); + setPolyRClockDivMult(save.polyRClockDivMultP_); + + patternDirty_ = true; + + tickCount_ = 0; + seqPos_ = 0; + + nextStepTimeP_ = micros(); + lastStepTimeP_ = micros(); + startMicros = micros(); + } + + void EuclideanSequencer::clockTick(uint32_t stepmicros, uint32_t microsperstep) + { + clockAdvanced_ = false; + if (patternDirty_) + { + regeneratePattern(); + patternDirty_ = false; + } + + if (!running_) + return; + + if (triggered_) + { + if (stepmicros >= triggerOffMicros_) + { + triggered_ = false; + } + } + + // seqPerc_ = (stepmicros - startMicros) / ((float)max(stepMicroDelta_, 1) * (steps_ + 1)); + + if (steps_ == 0) + { + seqPerc_ = 0; + + return; + } + + // uint32_t nextBarMicros = stepMicroDelta_ * (steps_ + 1); + + if (stepmicros >= nextStepTimeP_) + { + lastStepTimeP_ = nextStepTimeP_; + + clockAdvanced_ = true; + + if (polyRhythmMode_) // Space all triggers across a bar + { + // stepMicroDelta_ = ((microsperstep * (16 * multiplierPR_)) / steps_) * multiplier_; + stepMicroDelta_ = ((microsperstep * 16) / steps_) * multiplierPR_; + // stepMicroDelta_ = ((microsperstep * (16 * multiplierPR_)) / steps_) * multiplier_; + } + else + { + stepMicroDelta_ = microsperstep * multiplier_; + } + + nextStepTimeP_ += stepMicroDelta_; // calc step based on rate + + bool trigger = pattern_[seqPos_]; + + if (trigger && !muted_) + { + playNote(); + // pendingNoteOns.insert(60, 100, 1, stepmicros, false); + // Serial.print((String) "X "); + } + else + { + triggered_ = false; + // Serial.print((String) "- "); + } + + // lastPosP_ = (seqPos_ + 15) % 16; + + advanceStep(stepmicros); + + if (seqPos_ == 0) + { + + // Serial.print("\n\n\n"); + } + } + } + + void EuclideanSequencer::advanceStep(uint32_t stepmicros) + { + + if (steps_ == 0) + { + seqPos_ = 0; + lastSeqPos_ = seqPos_; + + return; + } + lastSeqPos_ = seqPos_; + + seqPos_ = (seqPos_ + 1) % steps_; + + if (seqPos_ == 0) + { + startMicros = stepmicros; + } + } + + void EuclideanSequencer::autoReset() + { + } + + void EuclideanSequencer::playNote() + { + bool sendnoteCV = false; + // if (sequencer.getPattern(patternNum)->sendCV) { + // sendnoteCV = true; + // } + + // regular note on trigger + // uint8_t note = 60; + // uint8_t channel = 1; + // uint8_t vel = 100; + float stepLength = kNoteLengths[noteLength_]; + // uint8_t swing = 0; + + // uint32_t noteoff_micros = micros() + (stepLength) * clockConfig.step_micros; + // pendingNoteOffs.insert(noteNumber_, channel, noteoff_micros, sendnoteCV); + + uint32_t noteon_micros = seqConfig.currentFrameMicros; + + if (swing_ > 0 && seqPos_ % 2 == 0) + { + if (swing_ < 99) + { + noteon_micros = seqConfig.currentFrameMicros + ((clockConfig.ppqInterval * multiplier_) / (PPQ / 24) * swing_); // full range swing + } + else if (swing_ == 99) + { // random drunken swing + uint8_t rnd_swing = rand() % 95 + 1; // rand 1 - 95 // randomly apply swing value + noteon_micros = seqConfig.currentFrameMicros + ((clockConfig.ppqInterval * multiplier_) / (PPQ / 24) * rnd_swing); + } + } + else + { + // noteon_micros = micros(); + } + + // Queue note-on + onNoteOn(midiChannel_, noteNumber_, velocity_, stepLength, true, sendnoteCV, noteon_micros); + } + +} diff --git a/Archive/OMX-27-firmware/src/modes/euclidean_sequencer.h b/Archive/OMX-27-firmware/src/modes/euclidean_sequencer.h new file mode 100644 index 00000000..c53bb50c --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/euclidean_sequencer.h @@ -0,0 +1,262 @@ +#pragma once + +#include +#include "../config.h" +// #define NUM_GRIDS 8 + +namespace euclidean +{ + // extern const float kEuclidNoteLengths[10]; + // extern const uint8_t kNumEuclidNoteLengths; + + struct EuclidSave + { + uint8_t rotation_ : 6; + uint8_t events_ : 6; + uint8_t steps_ : 6; + + uint8_t noteNumber_ : 7; + uint8_t midiChannel_ : 4; + uint8_t velocity_ : 7; + uint8_t swing_ : 7; + + uint8_t noteLength_ : 4; + int8_t midifx : 4; + + bool muted = false; + + bool polyRhythmMode_ = true; + + uint8_t clockDivMultP_ : 3; + uint8_t polyRClockDivMultP_ : 3; + + EuclidSave() + { + rotation_ = 0; + events_ = 0; + steps_ = 0; + + noteNumber_ = 60; + midiChannel_ = 0; + velocity_ = 100; + swing_ = 0; + noteLength_ = 1; + midifx = 0; + muted = false; + polyRhythmMode_ = false; + clockDivMultP_ = 4; + polyRClockDivMultP_ = 4; + } + }; + + // #define EUCLID_PAT_SIZE = 32 + // enum Grid_Resolutions + // { + // HALF = 0, + // NORMAL, + // DOUBLE, + // FOUR, + // COUNT + // }; + + // struct InstSettings + // { + // uint8_t note = 60; + // uint8_t midiChan = 1; + // uint8_t density = 0; + // uint8_t x = 128; + // uint8_t y = 128; + // }; + + // struct SnapShotSettings + // { + // InstSettings instruments[4]; + // uint8_t chaos = 0; + // uint8_t accent = 128; + // uint8_t resolution = 1; + // }; + + // constexpr uint8_t kStepsPerPattern = 32; + + // struct ChannelPatternLEDs + // { + // uint8_t levels[kStepsPerPattern]; + // }; + + class EuclideanMath + { + public: + static const uint8_t kPatternSize = 32; // All pattern arrays are 32 length + EuclideanMath(); + + // bool array should be of length kPatternSize + static void generateEuclidPattern(bool *pattern, uint8_t events, uint8_t steps); + // bool array should be of length kPatternSize + static void clearPattern(bool *pattern); + // bool array should be of length kPatternSize + static void flipPattern(bool *pattern, uint8_t steps); + // bool array should be of length kPatternSize + static void rotatePattern(bool *pattern, uint8_t steps, uint8_t rotation); + }; + + class EuclideanSequencer + { + public: + // uint8_t grids_notes[4] = {36, 38, 42, 46}; + // static const uint8_t num_notes = sizeof(grids_notes); + // uint8_t playingPattern = 0; + + // static const uint8_t kStepsPerPattern = 16; + + uint8_t midiFXGroup = 0; + + // SnapShotSettings snapshots[8]; + + EuclideanSequencer(); + + void start(); + void stop(); + void proceed(); + void clockTick(uint32_t stepmicros, uint32_t microsperstep); + + // void saveSnapShot(uint8_t snapShotIndex); + // void loadSnapShot(uint8_t snapShotIndex); + // SnapShotSettings* getSnapShot(uint8_t snapShotIndex); + // void setSnapShot(uint8_t snapShotIndex, SnapShotSettings snapShot); + + static uint32_t randomValue(uint32_t init = 0); + + // ChannelPatternLEDs getChannelLEDS(uint8_t channel); + + // uint8_t getSeqPos(); + + // bool getChannelTriggered(uint8_t chanIndex); + + // void setMidiChan(uint8_t chanIndex, uint8_t channel); + // uint8_t getMidiChan(uint8_t chanIndex); + + bool isDirty(); + + bool isRunning(); + + void setNoteOutputFunc(void (*fptr)(void *, uint8_t, MidiNoteGroup), void *context, u_int8_t euclidIndex); + + void setMute(bool mute); + bool getMute(); + + bool getTriggered(); + bool getClockAdvanced(); + + void setClockDivMult(uint8_t m); + uint8_t getClockDivMult(); + + void setPolyRClockDivMult(uint8_t m); + uint8_t getPolyRClockDivMult(); + + void setRotation(uint8_t newRotation); + uint8_t getRotation(); + + void setEvents(uint8_t newEvents); + uint8_t getEvents(); + + void setSteps(uint8_t newSteps); + uint8_t getSteps(); + + void setNoteNumber(uint8_t newNoteNumber); + uint8_t getNoteNumber(); + + void setMidiChannel(uint8_t newMidiChannel); + uint8_t getMidiChannel(); + + void setVelocity(uint8_t newVelocity); + uint8_t getVelocity(); + + void setSwing(uint8_t newSwing); + uint8_t getSwing(); + + void setNoteLength(uint8_t newNoteLength); + uint8_t getNoteLength(); + + void setPolyRhythmMode(bool enable); + bool getPolyRhythmMode(); + + uint8_t getSeqPos(); + uint8_t getLastSeqPos(); + + float getSeqPerc(); + + bool *getPattern(); + + void printEuclidPattern(); + + EuclidSave getSave(); + void loadSave(EuclidSave save); + + private: + // GridsChannel channel_; + uint32_t divider_; + float multiplier_ = 1; + float multiplierPR_ = 1; + uint32_t tickCount_; + // uint8_t density_[num_notes]; + // uint8_t perturbations_[num_notes]; + // uint8_t x_[num_notes]; + // uint8_t y_[num_notes]; + // uint8_t midiChannels_[num_notes]; + // bool channelTriggered_[num_notes]; + // uint8_t triggeredNotes_[num_notes]; // Keep track of triggered notes to avoid stuck notes + // uint8_t resolution_; + bool running_; + bool muted_ = false; + + // Note On pointers + uint8_t euclidIndex_; + void *onNoteOnFuncPtrContext_; + void (*onNoteOnFuncPtr_)(void *, uint8_t, MidiNoteGroup); + void onNoteOn(uint8_t channel, uint8_t noteNumber, uint8_t velocity, float stepLength, bool sendMidi, bool sendCV, uint32_t noteOnMicros); + + // uint8_t defaultMidiChannel_ = 1; + + uint8_t rotation_ = 0; + uint8_t events_ = 0; + uint8_t steps_ = 0; + + uint8_t noteNumber_ = 16; + uint8_t midiChannel_ = 1; + uint8_t velocity_ = 100; + uint8_t swing_ = 0; + + uint8_t noteLength_ = 1; + + bool polyRhythmMode_ = true; + + bool patternDirty_ = false; + + bool triggered_ = false; + bool clockAdvanced_ = false; + + // Clock timings + Micros lastProcessTimeP_ = 32; + Micros nextStepTimeP_ = 32; + Micros lastStepTimeP_ = 32; + uint8_t lastPosP_ = 16; + uint8_t clockDivMultP_ = 4; + uint8_t polyRClockDivMultP_ = 4; + + uint8_t seqPos_ = 0; + uint8_t lastSeqPos_ = 0; + + float seqPerc_ = 0; + uint32_t stepMicroDelta_ = 0; + uint32_t startMicros = 0; + uint32_t triggerOffMicros_ = 0; + + bool pattern_[EuclideanMath::kPatternSize]; + void regeneratePattern(); + + void advanceStep(uint32_t stepmicros); + void autoReset(); + void playNote(); + }; + +} diff --git a/Archive/OMX-27-firmware/src/modes/omx_mode_chords.cpp b/Archive/OMX-27-firmware/src/modes/omx_mode_chords.cpp new file mode 100644 index 00000000..9c2626b9 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_mode_chords.cpp @@ -0,0 +1,3561 @@ +#include "omx_mode_chords.h" +#include "../config.h" +#include "../consts/colors.h" +#include "../utils/omx_util.h" +#include "../utils/cvNote_util.h" +#include "../hardware/omx_disp.h" +#include "../hardware/omx_leds.h" +// #include "../sequencer.h" +#include "../midi/midi.h" +#include "../midi/noteoffs.h" + + +enum ChordsModePage +{ + CHRDPAGE_NOTES, + CHRDPAGE_GBL1, // UI Mode + // CHRDPAGE_GBL2, // Manual Strum, M-Chan, + CHRDPAGE_OUTMIDI, // Oct, CH, Vel + CHRDPAGE_POTSANDMACROS, // PotBank, Thru, Macro, Macro Channel + CHRDPAGE_SCALES, // Root, Scale, Lock Scale Notes, Group notes. + CHRDPAGE_1, // Chord Type, MidiFX, 0, Midi Channel + CHRDPAGE_2, // Note, Octave, Chord, | numNotes, degree, octave, transpose + CHRDPAGE_3, // | spread, rotate, voicing + CHRDPAGE_4, // | spreadUpDown, quartalVoicing +}; + + + +// enum ChordsModeIntervalPage { +// CHRDINTPAGE_NOTES, +// CHRDINTPAGE_GBL1, // Root, Scale, Octave +// CHRDINTPAGE_1, // numNotes, degree, octave, transpose +// CHRDINTPAGE_2, // spread, rotate, voicing +// CHRDINTPAGE_3, // spreadUpDown, quartalVoicing +// }; + +// enum ChordsModeBasicPage { +// CHRDBASPAGE_NOTES, +// CHRDBASPAGE_GBL1, // Root, Scale, Octave +// CHRDBASPAGE_1, // numNotes, degree, octave, transpose +// CHRDBASPAGE_2, // spread, rotate, voicing +// CHRDBASPAGE_3, // spreadUpDown, quartalVoicing +// }; + +enum ChordsUIModes +{ + CUIMODE_FULL, + CUIMODE_SPLIT +}; + +const char *kUIModeDisp[2] = {"FULL", "SPLT"}; + +enum ChordsMainMode +{ + CHRDMODE_PLAY, // Play Chords + CHRDMODE_EDIT, // Play Chords, jumps to edit page + // CHRDMODE_PRESET, // Replaced by preset manager // Loads groups of chord presets + CHRDMODE_MANSTRUM, // Manually strum chords using the encoder +}; + + + +// const int chordPatterns[16][3] = { +// { -1, -1, -1 }, // 0: N/A +// { 4, 7, -1 }, // 1: MAJ +// { 3, 7, -1 }, // 2: MIN +// { 4, 7, 11 }, // 3: MAJ7 +// { 3, 7, 10 }, // 4: MIN7 +// { 4, 7, 10 }, // 5: 7 +// { 2, 7, -1 }, // 6: SUS2 +// { 5, 7, -1 }, // 7: SUS4 +// { 4, 8, -1 }, // 8: AUG +// { 3, 6, -1 }, // 9: DIM +// { 3, 6, 10 }, // 10: HDIM +// { 7, -1, -1 }, // 11: 5 +// { 4, 11, 14 }, // 12: MAJ9 +// { 3, 10, 14 }, // 13: MIN9 +// { 4, 10, 14 }, // 14: 9 +// { 5, 7, 11 }, // 15: 7SUS4 +// }; + +// minor +// major +// sus2 +// sus4 +// m7 +// M7 +// hMaj7 +// Maj7 +// 7sus4 +// dim7 +// madd9 or hadd9 +// Madd9 +// m6 +// M6 +// mb5 +// Mb5 +// m7b5 +// M7b5 +// M#5 +// m7#5 +// M7#5 +// mb6 +// m9nos +// M9nos +// Madd9b5 +// Maj7b5 +// M7b9nos +// sus4#5b9 +// sus4add#5 +// Maddb5 +// M6add4nos +// Maj7/6nos +// Maj9nos +// Fourths +// Fifths +// C C# D D# E F F# G G# A A# B C C# D D# +// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + +const int kDegreeColor = ORANGE; +const int kDegreeSelColor = 0xFFBF80; +const int kNumNotesColor = BLUE; +const int kNumNotesSelColor = 0x9C9CFF; +const int kSpreadUpDownOnColor = RED; +const int kSpreadUpDownOffColor = 0x550000; +const int kQuartalVoicingOnColor = MAGENTA; +const int kQuartalVoicingOffColor = 0x500050; +const int kOctaveColor = BLUE; +const int kTransposeColor = BLUE; +const int kSpreadColor = BLUE; +const int kRotateColor = BLUE; +const int kVoicingColor = BLUE; + +const int kPlayColor = ORANGE; +const int kEditColor = DKRED; +const int kPresetColor = DKGREEN; + +const int kChordEditNoteInScaleColor = 0x040404; +// const int kChordEditNoteRootColor = MAGENTA; +// const int kChordEditNoteChordColor = ORANGE; + +// const uint16_t kChordEditNoteRootHue = MAGENTA; +const uint16_t kChordEditNoteChordHue = 5461; // Orange + +OmxModeChords::OmxModeChords() +{ +// enum ChordsModePage +// { +// CHRDPAGE_NOTES, +// CHRDPAGE_GBL1, // UI Mode +// // CHRDPAGE_GBL2, // Manual Strum, M-Chan, +// CHRDPAGE_OUTMIDI, // Oct, CH, Vel +// CHRDPAGE_POTSANDMACROS, // PotBank, Thru, Macro, Macro Channel +// CHRDPAGE_SCALES, // Root, Scale, Lock Scale Notes, Group notes. +// CHRDPAGE_1, // Chord Type, MidiFX, 0, Midi Channel +// CHRDPAGE_2, // Note, Octave, Chord, | numNotes, degree, octave, transpose +// CHRDPAGE_3, // | spread, rotate, voicing +// CHRDPAGE_4, // | spreadUpDown, quartalVoicing +// }; + + basicParams_.addPage(1); + basicParams_.addPage(4); + basicParams_.addPage(4); + basicParams_.addPage(4); + basicParams_.addPage(4); + basicParams_.addPage(4); + basicParams_.addPage(4); + basicParams_.addPage(6); // Custom chord notes + + intervalParams_.addPage(1); + intervalParams_.addPage(4); + intervalParams_.addPage(4); + intervalParams_.addPage(4); + intervalParams_.addPage(4); + intervalParams_.addPage(4); + intervalParams_.addPage(4); + intervalParams_.addPage(4); + intervalParams_.addPage(4); + + // 808 Colors + for (uint8_t i = 0; i < 16; i++) + { + if (i >= 0 && i < 4) + { + chords_[i].color = RED; // Red + } + else if (i >= 4 && i < 8) + { + chords_[i].color = ORANGE; // Orange + } + else if (i >= 8 && i < 12) + { + chords_[i].color = YELLOW; // Yellow + } + else if (i >= 12) + { + chords_[i].color = 0xcfc08f; // Creme + } + } + + for (uint8_t i = 0; i < 16; i++) + { + chords_[i].type = CTYPE_BASIC; + chords_[i].chord = i <= 7 ? 0 : 1; // Major left, minor right + chords_[i].balance = 40; + + int adjnote = notes[i + 11] + (midiSettings.octave * 12); + + if (adjnote >= 0 && adjnote <= 127) + { + chords_[i].note = adjnote % 12; + chords_[i].basicOct = (adjnote / 12) - 5; + } + } + + // save these to presets + for (uint8_t i = 0; i < NUM_CHORD_SAVES; i++) + { + savePreset(i); + } + + activeChordEditDegree_ = -1; + activeChordEditNoteKey_ = -1; + + uiMode_ = CUIMODE_SPLIT; + + m8Macro_.setDoNoteOn(&OmxModeChords::doNoteOnForwarder, this); + m8Macro_.setDoNoteOff(&OmxModeChords::doNoteOffForwarder, this); + nornsMarco_.setDoNoteOn(&OmxModeChords::doNoteOnForwarder, this); + nornsMarco_.setDoNoteOff(&OmxModeChords::doNoteOffForwarder, this); + delugeMacro_.setDoNoteOn(&OmxModeChords::doNoteOnForwarder, this); + delugeMacro_.setDoNoteOff(&OmxModeChords::doNoteOffForwarder, this); + + presetManager.setContextPtr(this); + presetManager.setDoSaveFunc(&OmxModeChords::doSavePresetForwarder); + presetManager.setDoLoadFunc(&OmxModeChords::doLoadPresetForwarder); + + // chords_[0].numNotes = 3; + // chords_[0].degree = 0; + + // chords_[1].numNotes = 3; + // chords_[1].degree = 1; + + // chords_[2].numNotes = 4; + // chords_[2].degree = 0; + + // chords_[3].numNotes = 4; + // chords_[3].degree = 1; +} + +midimacro::MidiMacroInterface *OmxModeChords::getActiveMacro() +{ + switch (midiMacroConfig.midiMacro) + { + case 1: + return &m8Macro_; + case 2: + return &nornsMarco_; + case 3: + return &delugeMacro_; + } + return nullptr; +} + +void OmxModeChords::InitSetup() +{ +} + +void OmxModeChords::onModeActivated() +{ + basicParams_.setSelPageAndParam(0, 0); + intervalParams_.setSelPageAndParam(0, 0); + + encoderSelect_ = true; + heldChord_ = -1; + activeChordEditDegree_ = -1; + activeChordEditNoteKey_ = -1; + + lockScaleCache_ = scaleConfig.lockScale; + grp16ScaleCache_ = scaleConfig.group16; + + scaleConfig.lockScale = false; + scaleConfig.group16 = false; + + // sequencer.playing = false; + stopSequencers(); + + omxLeds.setDirty(); + omxDisp.setDirty(); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setEnabled(true); + subModeMidiFx[i].setSelected(true); + subModeMidiFx[i].onModeChanged(); + subModeMidiFx[i].setNoteOutputFunc(&OmxModeChords::onNotePostFXForwarder, this); + } + + pendingNoteOffs.setNoteOffFunction(&OmxModeChords::onPendingNoteOffForwarder, this); + + selectMidiFx(mfxIndex_, false); +} + +void OmxModeChords::onModeDeactivated() +{ + // sequencer.playing = false; + stopSequencers(); + allNotesOff(); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setEnabled(false); + subModeMidiFx[i].onModeChanged(); + } + + scaleConfig.lockScale = lockScaleCache_; + scaleConfig.group16 = grp16ScaleCache_; +} + +void OmxModeChords::stopSequencers() +{ + omxUtil.stopClocks(); + // MM::stopClock(); + pendingNoteOffs.allOff(); +} + +void OmxModeChords::selectMidiFx(uint8_t mfxIndex, bool dispMsg) +{ + this->mfxIndex_ = mfxIndex; + + if(mfxQuickEdit_) + { + // Change the MidiFX Group being edited + if(mfxIndex < NUM_MIDIFX_GROUPS && mfxIndex != quickEditMfxIndex_) + { + enableSubmode(&subModeMidiFx[mfxIndex]); + subModeMidiFx[mfxIndex].enablePassthrough(); + quickEditMfxIndex_ = mfxIndex; + dispMsg = false; + } + else if(mfxIndex >= NUM_MIDIFX_GROUPS) + { + disableSubmode(); + } + } + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setSelected(true); + } + + if (dispMsg) + { + if (mfxIndex < NUM_MIDIFX_GROUPS) + { + omxDisp.displayMessageTimed("Key MFX " + String(mfxIndex + 1), 5); + } + else + { + omxDisp.displayMessageTimed("Key MFX Off", 5); + } + } +} + +void OmxModeChords::selectMidiFxChordKey(int8_t mfxIndex, bool dispMsg) +{ + int8_t prevMidiFX = chords_[selectedChord_].midiFx; + + if(mfxIndex != prevMidiFX && (prevMidiFX >= 0 && prevMidiFX < NUM_MIDIFX_GROUPS)) + { + onChordOff(selectedChord_); + } + + chords_[selectedChord_].midiFx = mfxIndex; + + if(mfxQuickEdit_) + { + // Change the MidiFX Group being edited + if(mfxIndex < NUM_MIDIFX_GROUPS && mfxIndex != quickEditMfxIndex_) + { + enableSubmode(&subModeMidiFx[mfxIndex]); + subModeMidiFx[mfxIndex].enablePassthrough(); + quickEditMfxIndex_ = mfxIndex; + dispMsg = false; + } + else if(mfxIndex >= NUM_MIDIFX_GROUPS) + { + disableSubmode(); + } + } + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setSelected(i == mfxIndex); + } + + if (dispMsg) + { + if (mfxIndex >= 0 && mfxIndex < NUM_MIDIFX_GROUPS) + { + omxDisp.displayMessageTimed("Chord MFX " + String(mfxIndex + 1), 5); + } + else + { + omxDisp.displayMessageTimed("Chord MFX Off", 5); + } + } +} + +void OmxModeChords::onClockTick() +{ + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + // Lets them do things in background + subModeMidiFx[i].onClockTick(); + } +} + +void OmxModeChords::onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) +{ + if (isSubmodeEnabled() && activeSubmode->usesPots()) + { + activeSubmode->onPotChanged(potIndex, prevValue, newValue, analogDelta); + return; + } + + auto activeMacro = getActiveMacro(); + + bool macroConsumesPots = false; + if (activeMacro != nullptr) + { + macroConsumesPots = activeMacro->consumesPots(); + } + + if (macroActive_ && macroConsumesPots) + { + activeMacro->onPotChanged(potIndex, prevValue, newValue, analogDelta); + omxDisp.setDirty(); + return; + } + + // Serial.println("onPotChanged: " + String(potIndex)); + if (chordEditMode_ == false && mode_ == CHRDMODE_MANSTRUM) + { + if (analogDelta < 3) + { + return; + } + + // Serial.println("strum"); + + if (potIndex == 0) + { + uint8_t oldV = manStrumSensit_; + manStrumSensit_ = (uint8_t)map(newValue, 0, 127, 1, 32); + if (manStrumSensit_ != oldV) + { + omxDisp.displayMessageTimed("Sens: " + String(manStrumSensit_), 5); + } + } + else if (potIndex == 1) + { + bool oldV = wrapManStrum_; + wrapManStrum_ = (bool)map(newValue, 0, 127, 0, 1); + if (wrapManStrum_ != oldV) + { + if (wrapManStrum_) + { + omxDisp.displayMessageTimed("Wrap on", 5); + } + else + { + omxDisp.displayMessageTimed("Wrap off", 5); + } + } + } + else if (potIndex == 2) + { + uint8_t oldV = incrementManStrum_; + incrementManStrum_ = (uint8_t)map(newValue, 0, 127, 0, 4); + if (incrementManStrum_ != oldV) + { + omxDisp.displayMessageTimed("Increm: " + String(incrementManStrum_), 5); + } + } + else if (potIndex == 3) + { + // Serial.println("length"); + + uint8_t prevLength = manStrumNoteLength_; + manStrumNoteLength_ = map(newValue, 0, 127, 0, kNumNoteLengths - 1); + + if (prevLength != manStrumNoteLength_) + { + omxDisp.displayMessageTimed(String(kNoteLengths[manStrumNoteLength_]), 10); + } + } + + omxDisp.setDirty(); + omxLeds.setDirty(); + return; + } + else + { + omxUtil.sendPots(potIndex, sysSettings.midiChannel); + omxDisp.setDirty(); + } +} + +void OmxModeChords::loopUpdate(Micros elapsedTime) +{ + updateFuncKeyMode(); + + for (uint8_t i = 0; i < 5; i++) + { + // Lets them do things in background + subModeMidiFx[i].loopUpdate(); + } + + // Can be modified by scale MidiFX + musicScale_->calculateScaleIfModified(scaleConfig.scaleRoot, scaleConfig.scalePattern); +} + +void OmxModeChords::allNotesOff() +{ + omxUtil.allOff(); +} + +void OmxModeChords::updateFuncKeyMode() +{ + auto keyState = midiSettings.keyState; + + uint8_t prevMode = funcKeyMode_; + + funcKeyMode_ = FUNCKEYMODE_NONE; + + if (!auxDown_) + { + if (keyState[1] && !keyState[2]) + { + funcKeyMode_ = FUNCKEYMODE_F1; + } + else if (!keyState[1] && keyState[2]) + { + funcKeyMode_ = FUNCKEYMODE_F2; + } + else if (keyState[1] && keyState[2]) + { + funcKeyMode_ = FUNCKEYMODE_F3; + } + else + { + funcKeyMode_ = FUNCKEYMODE_NONE; + } + } + + if (funcKeyMode_ != prevMode) + { + // omxUtil.allOff(); + + omxDisp.setDirty(); + omxLeds.setDirty(); + } +} + +void OmxModeChords::onEncoderChanged(Encoder::Update enc) +{ + if (isSubmodeEnabled()) + { + activeSubmode->onEncoderChanged(enc); + return; + } + + bool macroConsumesDisplay = false; + + if (macroActive_ && activeMacro_ != nullptr) + { + macroConsumesDisplay = activeMacro_->consumesDisplay(); + } + + if (macroConsumesDisplay) + { + activeMacro_->onEncoderChanged(enc); + return; + } + + if (chordEditMode_ == false && mode_ == CHRDMODE_MANSTRUM) + { + onEncoderChangedManStrum(enc); + return; + } + + auto params = getParams(); + + if (getEncoderSelect()) + { + params->changeParam(enc.dir()); + omxDisp.setDirty(); + return; + } + + int8_t selPage = params->getSelPage(); + int8_t selParam = params->getSelParam() + 1; // Add one for readability + + // Global 1 - UI Mode, Root, Scale, Octave + if (selPage == CHRDPAGE_GBL1) + { + onEncoderChangedEditParam(&enc, selParam, 1, CPARAM_UIMODE); + // onEncoderChangedEditParam(&enc, selParam, 2, CPARAM_SCALE_ROOT); + // onEncoderChangedEditParam(&enc, selParam, 3, CPARAM_SCALE_PAT); + // onEncoderChangedEditParam(&enc, selParam, 4, CPARAM_GBL_OCT); + } + else if (selPage == CHRDPAGE_OUTMIDI) + { + omxUtil.onEncoderChangedEditParam(&enc, selParam, 1, GPARAM_MOUT_OCT); + omxUtil.onEncoderChangedEditParam(&enc, selParam, 2, GPARAM_MOUT_CHAN); + omxUtil.onEncoderChangedEditParam(&enc, selParam, 3, GPARAM_MOUT_VEL); + + // onEncoderChangedEditParam(&enc, selParam, 1, CPARAM_GBL_OCT); + // onEncoderChangedEditParam(&enc, selParam, 2, CPARAM_GBL_MCHAN); + // onEncoderChangedEditParam(&enc, selParam, 3, CPARAM_GBL_VEL); + } + else if (selPage == CHRDPAGE_POTSANDMACROS) + { + omxUtil.onEncoderChangedEditParam(&enc, selParam, 1, GPARAM_POTS_PBANK); + omxUtil.onEncoderChangedEditParam(&enc, selParam, 2, GPARAM_MIDI_THRU); + omxUtil.onEncoderChangedEditParam(&enc, selParam, 3, GPARAM_MACRO_MODE); + omxUtil.onEncoderChangedEditParam(&enc, selParam, 4, GPARAM_MACRO_CHAN); + + // onEncoderChangedEditParam(&enc, selParam, 1, CPARAM_GBL_PBANK); + // onEncoderChangedEditParam(&enc, selParam, 2, CPARAM_GBL_MIDITHRU); + // onEncoderChangedEditParam(&enc, selParam, 3, CPARAM_GBL_MIDIMACRO); + // onEncoderChangedEditParam(&enc, selParam, 4, CPARAM_GBL_MACROCHAN); + } + else if (selPage == CHRDPAGE_SCALES) + { + omxUtil.onEncoderChangedEditParam(&enc, musicScale_, selParam, 1, GPARAM_SCALE_ROOT); + omxUtil.onEncoderChangedEditParam(&enc, musicScale_, selParam, 2, GPARAM_SCALE_PAT); + omxUtil.onEncoderChangedEditParam(&enc, musicScale_, selParam, 3, GPARAM_SCALE_LOCK); + omxUtil.onEncoderChangedEditParam(&enc, musicScale_, selParam, 4, GPARAM_SCALE_GRP16); + + // onEncoderChangedEditParam(&enc, selParam, 1, CPARAM_SCALE_ROOT); + // onEncoderChangedEditParam(&enc, selParam, 2, CPARAM_SCALE_PAT); + // onEncoderChangedEditParam(&enc, selParam, 3, CPARAM_SCALE_LOCK); + // onEncoderChangedEditParam(&enc, selParam, 4, CPARAM_SCALE_GRP16); + } + // else if (selPage == CHRDPAGE_GBL2) + // { + // onEncoderChangedEditParam(&enc, selParam, 1, CPARAM_MAN_STRUM); + // onEncoderChangedEditParam(&enc, selParam, 2, CPARAM_GBL_MCHAN); + // onEncoderChangedEditParam(&enc, selParam, 4, CPARAM_GBL_MCHAN); + // } + // PAGE ONE - Chord Type, MidiFX, 0, Midi Channel + else if (selPage == CHRDPAGE_1) + { + onEncoderChangedEditParam(&enc, selParam, 1, CPARAM_CHORD_TYPE); + onEncoderChangedEditParam(&enc, selParam, 2, CPARAM_CHORD_MFX); + onEncoderChangedEditParam(&enc, selParam, 3, CPARAM_CHORD_VEL); + onEncoderChangedEditParam(&enc, selParam, 4, CPARAM_CHORD_MCHAN); + } + // PAGE TWO - Basic: Note, Octave, Chord Interval: numNotes, degree, octave, transpose + else if (selPage == CHRDPAGE_2) + { + if (chords_[selectedChord_].type == CTYPE_INTERVAL) + { + onEncoderChangedEditParam(&enc, selParam, 1, CPARAM_INT_NUMNOTES); + onEncoderChangedEditParam(&enc, selParam, 2, CPARAM_INT_DEGREE); + onEncoderChangedEditParam(&enc, selParam, 3, CPARAM_INT_OCTAVE); + onEncoderChangedEditParam(&enc, selParam, 4, CPARAM_INT_TRANSPOSE); + } + else if (chords_[selectedChord_].type == CTYPE_BASIC) + { + onEncoderChangedEditParam(&enc, selParam, 1, CPARAM_BAS_NOTE); + onEncoderChangedEditParam(&enc, selParam, 2, CPARAM_BAS_OCT); + onEncoderChangedEditParam(&enc, selParam, 3, CPARAM_BAS_BALANCE); + onEncoderChangedEditParam(&enc, selParam, 4, CPARAM_BAS_CHORD); + } + } + // PAGE THREE - spread, rotate, voicing + else if (selPage == CHRDPAGE_3) + { + if (chords_[selectedChord_].type == CTYPE_INTERVAL) + { + onEncoderChangedEditParam(&enc, selParam, 1, CPARAM_INT_SPREAD); + onEncoderChangedEditParam(&enc, selParam, 2, CPARAM_INT_ROTATE); + onEncoderChangedEditParam(&enc, selParam, 3, CPARAM_INT_VOICING); + } + else if (chords_[selectedChord_].type == CTYPE_BASIC) + { + auto amtSlow = enc.accel(1); + int8_t sel = params->getSelParam(); + chords_[selectedChord_].customNotes[sel].note = constrain(chords_[selectedChord_].customNotes[sel].note + amtSlow, -48, 48); + + if (amtSlow != 0) // To see notes change on keyboard leds + { + constructChord(selectedChord_); + } + } + } + // PAGE FOUR - spreadUpDown, quartalVoicing + else if (selPage == CHRDPAGE_4) + { + if (chords_[selectedChord_].type == CTYPE_INTERVAL) + { + onEncoderChangedEditParam(&enc, selParam, 1, CPARAM_INT_SPRDUPDOWN); + onEncoderChangedEditParam(&enc, selParam, 2, CPARAM_INT_QUARTVOICE); + } + } + + omxDisp.setDirty(); + omxLeds.setDirty(); +} + +// Put all params here to make it easy to switch order in pages +void OmxModeChords::onEncoderChangedEditParam(Encoder::Update *enc, uint8_t selectedParmIndex, uint8_t targetParamIndex, uint8_t paramType) +{ + if (selectedParmIndex != targetParamIndex) + return; + + auto amtSlow = enc->accel(1); + auto amtFast = enc->accel(5); + + bool triggerChord = false; + + switch (paramType) + { + case CPARAM_UIMODE: + { + uiMode_ = constrain(uiMode_ + amtSlow, 0, 1); + if (amtSlow != 0) + { + allNotesOff(); + // omxUtil.allOff(); + } + } + break; + case CPARAM_MAN_STRUM: + { + if (mode_ == CHRDMODE_MANSTRUM) + { + if (enc->dir() < 0) + { + mode_ = CHRDMODE_PLAY; + } + } + else + { + if (enc->dir() > 0) + { + mode_ = CHRDMODE_MANSTRUM; + } + } + } + break; + case CPARAM_CHORD_TYPE: + { + if (amtSlow != 0) + { + if (chordEditMode_) + { + onChordEditOff(); + enterChordEditMode(); + } + else + { + onChordOff(selectedChord_); + } + } + + chords_[selectedChord_].type = constrain(chords_[selectedChord_].type + amtSlow, 0, 1); + } + break; + case CPARAM_CHORD_MFX: + { + int8_t newMidiFx = constrain(chords_[selectedChord_].midiFx + amtSlow, -1, NUM_MIDIFX_GROUPS - 1); + selectMidiFxChordKey(newMidiFx, false); + } + break; + case CPARAM_BAS_NOTE: + case CPARAM_BAS_OCT: + { + chordUtil.onEncoderChangedEditParam(enc, &chords_[selectedChord_], selectedParmIndex, targetParamIndex, paramType); + triggerChord = amtSlow != 0; + } + break; + case CPARAM_BAS_CHORD: + { + uint8_t prevChord = chords_[selectedChord_].chord; + chords_[selectedChord_].chord = constrain(chords_[selectedChord_].chord + amtSlow, 0, kNumChordPatterns - 1); + if (chords_[selectedChord_].chord != prevChord) + { + triggerChord = true; + + // constructChord(selectedChord_); + // omxDisp.displayMessage(kChordMsg[chords_[selectedChord_].chord]); + } + } + break; + case CPARAM_BAS_BALANCE: + { + chords_[selectedChord_].balance = constrain(chords_[selectedChord_].balance + amtFast, 0, (kNumChordBalance - 1) * 10); + activeChordBalance_ = getChordBalanceDetails(chords_[selectedChord_].balance); + + // omxDisp.chordBalanceMsg(activeChordBalance_.type, activeChordBalance_.velMult, 10); + + if (amtSlow != 0) // To see notes change on keyboard leds + { + constructChord(selectedChord_); + } + } + break; + case CPARAM_CHORD_MCHAN: + case CPARAM_CHORD_VEL: + case CPARAM_INT_NUMNOTES: + case CPARAM_INT_DEGREE: + case CPARAM_INT_OCTAVE: + case CPARAM_INT_TRANSPOSE: + case CPARAM_INT_SPREAD: + case CPARAM_INT_ROTATE: + case CPARAM_INT_VOICING: + case CPARAM_INT_SPRDUPDOWN: + case CPARAM_INT_QUARTVOICE: + { + chordUtil.onEncoderChangedEditParam(enc, &chords_[selectedChord_], selectedParmIndex, targetParamIndex, paramType); + } + break; + } + + // Play chord if value changes + if (triggerChord) + { + if (mode_ == CHRDMODE_EDIT || chordEditMode_) + { + if (!chordEditMode_ && heldChord_ == selectedChord_) + { + onChordOff(selectedChord_); + onChordOn(selectedChord_); + } + else if (chordEditMode_ && activeChordEditNoteKey_ >= 0) + { + onChordEditOff(); + onChordEditOn(selectedChord_); + } + else + { + constructChord(selectedChord_); + } + } + else + { + constructChord(selectedChord_); + } + } +} + +void OmxModeChords::onEncoderChangedManStrum(Encoder::Update enc) +{ + if (chordNotes_[selectedChord_].active == false) + return; + + auto amt = enc.accel(1); + + // Serial.println("EncDelta: " + String(chordNotes_[selectedChord_].encDelta)); + + chordNotes_[selectedChord_].encDelta = chordNotes_[selectedChord_].encDelta + amt; + + if (abs(chordNotes_[selectedChord_].encDelta) >= manStrumSensit_) + { + + uint8_t numNotes = 0; + + for (uint8_t i = 0; i < 6; i++) + { + if (chordNotes_[selectedChord_].notes[i] >= 0) + { + numNotes++; + } + } + + // Serial.println("Do Note"); + uint8_t velocity = midiSettings.defaultVelocity; + + int8_t strumPos = chordNotes_[selectedChord_].strumPos; + + // Serial.println("strumPos: " + String(strumPos)); + + if (strumPos >= 0 && strumPos < numNotes) + { + int note = chordNotes_[selectedChord_].notes[strumPos] + (chordNotes_[selectedChord_].octIncrement * 12); + + if (note >= 0 && note <= 127) + { + uint32_t noteOnMicros = micros(); + float noteLength = kNoteLengths[manStrumNoteLength_]; + uint32_t noteOffMicros = noteOnMicros + (noteLength * clockConfig.step_micros); + + pendingNoteOns.insert(note, velocity, chordNotes_[selectedChord_].channel, noteOnMicros, false); + pendingNoteOffs.insert(note, chordNotes_[selectedChord_].channel, noteOffMicros, false); + + omxDisp.displayMessage(musicScale_->getFullNoteName(note)); + omxDisp.setDirty(); + omxLeds.setDirty(); + } + } + + if (chordNotes_[selectedChord_].encDelta > 0) + { + strumPos++; + } + else + { + strumPos--; + } + + if (wrapManStrum_) + { + if (strumPos >= numNotes) + { + chordNotes_[selectedChord_].octIncrement++; + if (chordNotes_[selectedChord_].octIncrement > incrementManStrum_) + { + chordNotes_[selectedChord_].octIncrement = 0; + } + strumPos = 0; + } + if (strumPos < 0) + { + + chordNotes_[selectedChord_].octIncrement--; + if (chordNotes_[selectedChord_].octIncrement < -incrementManStrum_) + { + chordNotes_[selectedChord_].octIncrement = 0; + } + strumPos = numNotes - 1; + } + + chordNotes_[selectedChord_].strumPos = strumPos; + } + else + { + chordNotes_[selectedChord_].strumPos = constrain(strumPos, -1, 6); // Allow to be one outside of notes + } + + // chordNotes_[selectedChord_].octIncrement = constrain(chordNotes_[selectedChord_].octIncrement, -8, 8); + + chordNotes_[selectedChord_].encDelta = 0; + } +} + +void OmxModeChords::onEncoderButtonDown() +{ + if (isSubmodeEnabled()) + { + activeSubmode->onEncoderButtonDown(); + return; + } + + bool macroConsumesDisplay = false; + if (macroActive_ && activeMacro_ != nullptr) + { + macroConsumesDisplay = activeMacro_->consumesDisplay(); + } + + if (macroConsumesDisplay) + { + activeMacro_->onEncoderButtonDown(); + return; + } + + encoderSelect_ = !encoderSelect_; + omxDisp.setDirty(); +} + +void OmxModeChords::onEncoderButtonDownLong() +{ +} + +void OmxModeChords::inMidiControlChange(byte channel, byte control, byte value) +{ + auto activeMacro = getActiveMacro(); + + if (activeMacro != nullptr) + { + activeMacro->inMidiControlChange(channel, control, value); + } +} + +bool OmxModeChords::shouldBlockEncEdit() +{ + if (isSubmodeEnabled()) + { + return activeSubmode->shouldBlockEncEdit(); + } + + if (macroActive_) + { + return true; + } + + return false; +} + +void OmxModeChords::onKeyUpdate(OMXKeypadEvent e) +{ + uint8_t thisKey = e.key(); + + if (isSubmodeEnabled()) + { + if (activeSubmode->onKeyUpdate(e)) + return; + } + + // Aux double click toggle macro + if (!isSubmodeEnabled() && midiMacroConfig.midiMacro > 0) + { + if (!macroActive_) + { + // Enter Macro Mode + if (!e.down() && thisKey == 0 && e.clicks() == 2) + { + auxDown_ = false; + midiSettings.midiAUX = false; + + activeMacro_ = getActiveMacro(); + if (activeMacro_ != nullptr) + { + macroActive_ = true; + activeMacro_->setEnabled(true); + activeMacro_->setScale(musicScale_); + omxLeds.setDirty(); + omxDisp.setDirty(); + return; + } + return; + } + } + else // Macro mode active + { + if (!e.down() && thisKey == 0 && e.clicks() == 2) + { + // exit macro mode + if (activeMacro_ != nullptr) + { + activeMacro_->setEnabled(false); + activeMacro_ = nullptr; + } + + auxDown_ = false; + midiSettings.midiAUX = false; + macroActive_ = false; + omxLeds.setDirty(); + omxDisp.setDirty(); + } + else + { + if (activeMacro_ != nullptr) + { + activeMacro_->onKeyUpdate(e); + } + } + return; + } + } + + if (chordEditMode_) + { + onKeyUpdateChordEdit(e); + return; + } + + if (onKeyUpdateSelMidiFX(e)) + return; + + if (e.held()) + return; + + // auto keyState = midiSettings.keyState; + + auto params = getParams(); + + // AUX KEY + if (thisKey == 0) + { + if (e.down()) + { + if (!macroActive_) + { + auxDown_ = true; + midiSettings.midiAUX = true; + } + } + else + { + auxDown_ = false; + midiSettings.midiAUX = false; + + // Forces all arps to work. + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setSelected(true); + } + } + omxLeds.setDirty(); + omxDisp.setDirty(); + return; + } + + if (auxDown_) // Aux mode + { + if (e.down()) + { + if (thisKey == 11 || thisKey == 12) // Change Octave + { + int amt = thisKey == 11 ? -1 : 1; + midiSettings.octave = constrain(midiSettings.octave + amt, -5, 4); + } + else if (!mfxQuickEdit_ && (thisKey == 1 || thisKey == 2)) // Change Param selection + { + if (thisKey == 1) + { + params->decrementParam(); + } + else if (thisKey == 2) + { + params->incrementParam(); + } + } + else if (thisKey == 3) + { + presetManager.configure(PRESETMODE_LOAD, selectedSave_, NUM_CHORD_SAVES, true); + enableSubmode(&presetManager); + return; + } + else if (thisKey == 4) + { + presetManager.configure(PRESETMODE_SAVE, selectedSave_, NUM_CHORD_SAVES, true); + enableSubmode(&presetManager); + return; + } + } + } + else + { + bool keyConsumed = false; + if ((mode_ == CHRDMODE_PLAY || mode_ == CHRDMODE_EDIT) && uiMode_ == CUIMODE_SPLIT) + { + // Split UI Mode + if (thisKey >= 19 || (thisKey >= 6 && thisKey < 11)) // Check if key is on right side starting from C2(19) + { + keyConsumed = true; + + uint8_t adjKeyIndex = thisKey >= 19 ? thisKey - 7 : thisKey - 5; // Pretends keys are down an octave + + // If we're in edit mode and holding down a chord of the basic type, then we can edit the chord + // rather than play a note + if (mode_ == CHRDMODE_EDIT && heldChord_ >= 0 && chords_[heldChord_].type == CTYPE_BASIC) + { + if (e.down()) + { + int adjnote = notes[adjKeyIndex] + (midiSettings.octave * 12); + + // If valid note, we edit the chord setting the root note and octave, stop currently playing chord + // and turn on new chords + if (adjnote >= 0 && adjnote <= 127) + { + onChordOff(selectedChord_); + // delay(10); + onChordEditOff(); + // delay(10); + chords_[selectedChord_].note = adjnote % 12; + chords_[selectedChord_].basicOct = (adjnote / 12) - 5; + activeChordEditNoteKey_ = thisKey; + onChordEditOn(selectedChord_); + } + } + else + { + if (thisKey == activeChordEditNoteKey_) + { + onChordEditOff(); + activeChordEditNoteKey_ = -1; + } + } + } + // Not holding a chord in edit mode, play a note + else + { + activeChordEditNoteKey_ = -1; + lastKeyWasKeyboard_ = true; + + if (e.down()) + { + splitNoteOn(adjKeyIndex); + } + else + { + splitNoteOff(adjKeyIndex); + } + } + } + } + + // [F1][F2] [PLAY][EDIT][PRESET] [STRUM] + // [C1][C2][C3][C4][C5] [C6] [C7] + + if (!keyConsumed) + { + if (funcKeyMode_ == FUNCKEYMODE_NONE) + { + // Key Down, no function keys, no aux + if (e.down()) + { + if (thisKey == 3) + { + mode_ = CHRDMODE_PLAY; + setSelPageAndParam(CHRDPAGE_NOTES, 0); + encoderSelect_ = true; + omxDisp.displayMessage("Play"); + } + else if (thisKey == 4) + { + mode_ = CHRDMODE_EDIT; + setSelPageAndParam(CHRDPAGE_2, 0); + encoderSelect_ = true; + omxDisp.displayMessage("Edit"); + allNotesOff(); + } + // else if (thisKey == 5) + // { + // mode_ = CHRDMODE_PRESET; + // omxDisp.displayMessage("Preset"); + // allNotesOff(); + // } + else if (thisKey == 5) + { + mode_ = CHRDMODE_MANSTRUM; + omxDisp.displayMessage("Manual Strum"); + allNotesOff(); + } + if (thisKey >= 11) + { + if (mode_ == CHRDMODE_PLAY) // Play + { + selectedChord_ = thisKey - 11; + heldChord_ = thisKey - 11; + lastKeyWasKeyboard_ = false; + onChordOn(thisKey - 11); + } + else if (mode_ == CHRDMODE_EDIT) // Edit + { + selectedChord_ = thisKey - 11; + heldChord_ = thisKey - 11; + lastKeyWasKeyboard_ = false; + onChordOn(thisKey - 11); + } + // else if (mode_ == CHRDMODE_PRESET) // Preset + // { + // selectedChord_ = thisKey - 11; + // heldChord_ = thisKey - 11; + // lastKeyWasKeyboard_ = false; + // onChordOn(thisKey - 11); + // } + else if (mode_ == CHRDMODE_MANSTRUM) // Manual Strum + { + selectedChord_ = thisKey - 11; + heldChord_ = thisKey - 11; + lastKeyWasKeyboard_ = false; + onManualStrumOn(selectedChord_); + return; + } + } + } + else + { + if (thisKey >= 11) + { + if (thisKey - 11 == heldChord_) + { + heldChord_ = -1; + } + + onChordOff(thisKey - 11); + } + } + } + else // Function key held + { + // Alt way to enter manual strum useful in split screen view + // if(mode_ == CHRDMODE_PLAY && funcKeyMode_ == FUNCKEYMODE_F1 && e.down() && thisKey == 3) + // if(funcKeyMode_ == FUNCKEYMODE_F1 && e.down() && thisKey == 3) + // { + // mode_ = CHRDMODE_MANSTRUM; + // omxDisp.displayMessage("Manual Strum"); + // allNotesOff(); + // return; + // } + + if (e.down() && thisKey >= 11) + { + // --- PLAY MODE --- + if (mode_ == CHRDMODE_PLAY) + { + // if (funcKeyMode_ == FUNCKEYMODE_F1) + // { + // } + // else if (funcKeyMode_ == FUNCKEYMODE_F2) + // { + // if (pasteSelectedChordTo(thisKey - 11)) + // { + // omxDisp.displayMessageTimed("Copied to " + String(thisKey - 11), 5); + // } + // } + } + // --- EDIT MODE --- + else if (mode_ == CHRDMODE_EDIT) + { + if (funcKeyMode_ == FUNCKEYMODE_F1) + { + selectedChord_ = thisKey - 11; + lastKeyWasKeyboard_ = false; + enterChordEditMode(); + return; + } + else if (funcKeyMode_ == FUNCKEYMODE_F2) + { + if (pasteSelectedChordTo(thisKey - 11)) + { + omxDisp.displayMessageTimed("Copied to " + String(thisKey - 11), 5); + } + } + } + // --- PRESET MODE --- + // else if (mode_ == CHRDMODE_PRESET) + // { + // if (funcKeyMode_ == FUNCKEYMODE_F1) + // { + // // Autosave your current preset unless you are reloading the current preset + // if(thisKey - 11 != selectedSave_) + // { + // savePreset(selectedSave_); + // } + // if (loadPreset(thisKey - 11)) + // { + // omxDisp.displayMessageTimed("Load " + String(thisKey - 11), 5); + // } + // } + // else if (funcKeyMode_ == FUNCKEYMODE_F2) + // { + // if (savePreset(thisKey - 11)) + // { + // omxDisp.displayMessageTimed("Saved to " + String(thisKey - 11), 5); + // } + // } + // } + // --- STRUM MODE --- + else if (mode_ == CHRDMODE_MANSTRUM) // Manual Strum + { + // if (funcKeyMode_ == FUNCKEYMODE_F1) + // { + // selectedChord_ = thisKey - 11; + // enterChordEditMode(); + // return; + // } + // else if (funcKeyMode_ == FUNCKEYMODE_F2) + // { + // if (pasteSelectedChordTo(thisKey - 11)) + // { + // omxDisp.displayMessageTimed("Copied to " + String(thisKey - 11), 5); + // } + // } + } + } + } + } + } + + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +void OmxModeChords::onKeyUpdateChordEdit(OMXKeypadEvent e) +{ + if (e.held()) + return; + + uint8_t thisKey = e.key(); + + getParams(); // Sync params; + + // auto params = getParams(); + + // AUX KEY + if (thisKey == 0) + { + if (e.down()) + { + // Exit Chord Edit Mode + onChordEditOff(); + if (mode_ == CHRDMODE_PLAY) + { + setSelPageAndParam(CHRDPAGE_NOTES, 0); + } + + encoderSelect_ = true; + chordEditMode_ = false; + activeChordEditDegree_ = -1; + activeChordEditNoteKey_ = -1; + } + + omxLeds.setDirty(); + omxDisp.setDirty(); + return; + } + + if (chords_[selectedChord_].type == CTYPE_INTERVAL) + { + if (e.down()) + { + if (chordEditParam_ == 0) + { + if (thisKey == 1) // Select Root + { + setSelPageAndParam(CHRDPAGE_GBL1, 1); + encoderSelect_ = false; + } + if (thisKey == 2) // Select Scale + { + setSelPageAndParam(CHRDPAGE_SCALES, 2); + encoderSelect_ = false; + } + if (thisKey == 3) // Octave + { + chordEditParam_ = 1; + setSelPageAndParam(CHRDPAGE_2, 2); + encoderSelect_ = false; + } + else if (thisKey == 4) // Transpose + { + chordEditParam_ = 2; + setSelPageAndParam(CHRDPAGE_2, 3); + encoderSelect_ = false; + } + else if (thisKey == 5) // Spread + { + chordEditParam_ = 3; + setSelPageAndParam(CHRDPAGE_3, 0); + encoderSelect_ = false; + } + else if (thisKey == 6) // Rotate + { + chordEditParam_ = 4; + setSelPageAndParam(CHRDPAGE_3, 1); + encoderSelect_ = false; + } + else if (thisKey == 7) // Voicing + { + chordEditParam_ = 5; + setSelPageAndParam(CHRDPAGE_3, 2); + encoderSelect_ = false; + } + else if (thisKey == 10) // Show Chord Notes + { + setSelPageAndParam(CHRDPAGE_NOTES, 0); + encoderSelect_ = true; + } + else if (thisKey >= 11 && thisKey < 15) // Num of Notes + { + chords_[selectedChord_].numNotes = (thisKey - 11) + 1; + setSelPageAndParam(CHRDPAGE_2, 0); + encoderSelect_ = false; + } + else if (thisKey == 15) // Spread Up Down + { + chords_[selectedChord_].spreadUpDown = !chords_[selectedChord_].spreadUpDown; + setSelPageAndParam(CHRDPAGE_4, 0); + encoderSelect_ = false; + omxDisp.displayMessage(chords_[selectedChord_].spreadUpDown ? "SpdUpDn On" : "SpdUpDn Off"); + } + else if (thisKey == 16) // Quartal Voicing + { + chords_[selectedChord_].quartalVoicing = !chords_[selectedChord_].quartalVoicing; + setSelPageAndParam(CHRDPAGE_4, 1); + encoderSelect_ = false; + omxDisp.displayMessage(chords_[selectedChord_].quartalVoicing ? "Quartal On" : "Quartal Off"); + } + else if (thisKey >= 19) + { + chords_[selectedChord_].degree = thisKey - 19; + // params_.setSelPageAndParam(CHRDPAGE_2, 1); + // encoderSelect_ = false; + onChordEditOff(); + onChordEditOn(selectedChord_); + activeChordEditDegree_ = thisKey - 19; + } + } + else if (chordEditParam_ == 1) // Octave + { + // chords_[selectedChord_].octave = constrain(chords_[selectedChord_].octave + amt, -2, 2); + if (thisKey >= 11 && thisKey <= 15) + { + chords_[selectedChord_].octave = thisKey - 11 - 2; + } + } + else if (chordEditParam_ == 2) // Transpose + { + // chords_[selectedChord_].transpose = constrain(chords_[selectedChord_].transpose + amt, -7, 7); + if (thisKey >= 11 && thisKey <= 25) + { + chords_[selectedChord_].transpose = thisKey - 11 - 7; + } + } + else if (chordEditParam_ == 3) // Spread + { + // chords_[selectedChord_].spread = constrain(chords_[selectedChord_].spread + amt, -2, 2); + if (thisKey >= 11 && thisKey <= 15) + { + chords_[selectedChord_].spread = thisKey - 11 - 2; + } + } + else if (chordEditParam_ == 4) // Rotate + { + // chords_[selectedChord_].rotate = constrain(chords_[selectedChord_].rotate + amt, 0, 4); + if (thisKey >= 11 && thisKey <= 15) + { + chords_[selectedChord_].rotate = thisKey - 11; + } + } + else if (chordEditParam_ == 5) // Voicing + { + // chords_[selectedChord_].voicing = constrain(chords_[selectedChord_].octave + amt, 0, 7); + if (thisKey >= 11 && thisKey <= 18) + { + chords_[selectedChord_].voicing = thisKey - 11; + } + } + } + else + { + if (thisKey >= 3 && thisKey <= 7) + { + chordEditParam_ = 0; + } + else if (thisKey >= 19) + { + if (thisKey - 19 == activeChordEditDegree_) + { + onChordEditOff(); + activeChordEditDegree_ = -1; + } + } + } + } + else if (chords_[selectedChord_].type == CTYPE_BASIC) + { + if (e.down()) + { + if (thisKey == 11 || thisKey == 26) + { + // Change octave + int amt = thisKey == 11 ? -1 : 1; + midiSettings.octave = constrain(midiSettings.octave + amt, -5, 4); + } + else + { + int adjnote = notes[thisKey] + (midiSettings.octave * 12); + + if (adjnote >= 0 && adjnote <= 127) + { + chords_[selectedChord_].note = adjnote % 12; + chords_[selectedChord_].basicOct = (adjnote / 12) - 5; + activeChordEditNoteKey_ = thisKey; + onChordEditOff(); + onChordEditOn(selectedChord_); + } + } + } + else + { + if (thisKey == activeChordEditNoteKey_) + { + onChordEditOff(); + activeChordEditNoteKey_ = -1; + } + } + } + + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +void OmxModeChords::enterChordEditMode() +{ + omxDisp.displayMessageTimed("Editing " + String(selectedChord_), 5); + constructChord(selectedChord_); + + allNotesOff(); + + chordEditMode_ = true; + chordEditParam_ = 0; + heldChord_ = -1; + activeChordEditDegree_ = -1; + activeChordEditNoteKey_ = -1; + setSelPageAndParam(CHRDPAGE_2, 0); + encoderSelect_ = true; + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +void OmxModeChords::onKeyHeldUpdate(OMXKeypadEvent e) +{ + if (isSubmodeEnabled()) + { + if (activeSubmode->onKeyHeldUpdate(e)) + return; + } + + if (onKeyHeldSelMidiFX(e)) + return; +} + +void OmxModeChords::enableSubmode(SubmodeInterface *subMode) +{ + if (activeSubmode != nullptr) + { + activeSubmode->setEnabled(false); + } + + auxDown_ = false; + midiSettings.midiAUX = false; + + activeSubmode = subMode; + activeSubmode->setEnabled(true); + omxDisp.setDirty(); +} +void OmxModeChords::disableSubmode() +{ + if (activeSubmode != nullptr) + { + activeSubmode->setEnabled(false); + } + + midiSettings.midiAUX = false; + mfxQuickEdit_ = false; + activeSubmode = nullptr; + omxDisp.setDirty(); +} + +bool OmxModeChords::isSubmodeEnabled() +{ + if (activeSubmode == nullptr) + return false; + + if (activeSubmode->isEnabled() == false) + { + disableSubmode(); + auxDown_ = false; + midiSettings.midiAUX = false; + return false; + } + + return true; +} + +bool OmxModeChords::getEncoderSelect() +{ + if (chordEditMode_) + { + return encoderSelect_ && !auxDown_ && activeChordEditDegree_ < 0 && activeChordEditNoteKey_ < 0; + } + + return encoderSelect_ && !auxDown_ && heldChord_ < 0; +} + +ParamManager *OmxModeChords::getParams() +{ + if (chords_[selectedChord_].type == CTYPE_BASIC) + { + basicParams_.setPageEnabled(CHRDPAGE_3, chords_[selectedChord_].chord == kCustomChordPattern); + intervalParams_.setSelPageAndParam(basicParams_.getSelPage(), basicParams_.getSelParam()); + + return &basicParams_; + } + else + { + basicParams_.setSelPageAndParam(intervalParams_.getSelPage(), intervalParams_.getSelParam()); + return &intervalParams_; + } +} + +void OmxModeChords::setSelPageAndParam(int8_t newPage, int8_t newParam) +{ + auto params = getParams(); + params->setSelPageAndParam(newPage, newParam); + getParams(); // to sync the params +} + +bool OmxModeChords::onKeyUpdateSelMidiFX(OMXKeypadEvent e) +{ + int thisKey = e.key(); + + bool keyConsumed = false; + + uint8_t mfxdex = lastKeyWasKeyboard_ ? mfxIndex_ : chords_[selectedChord_].midiFx; + + if (!e.held()) + { + if (!e.down() && e.clicks() == 2 && thisKey >= 6 && thisKey < 11) + { + if (auxDown_) // Aux mode + { + enableSubmode(&subModeMidiFx[thisKey - 6]); + keyConsumed = true; + } + } + + if (e.down() && thisKey != 0) + { + if (auxDown_) // Aux mode + { + if (mfxQuickEdit_ && thisKey == 1) + { + subModeMidiFx[quickEditMfxIndex_].selectPrevMFXSlot(); + } + else if (mfxQuickEdit_ && thisKey == 2) + { + subModeMidiFx[quickEditMfxIndex_].selectNextMFXSlot(); + } + else if (thisKey == 5) + { + keyConsumed = true; + // Turn off midiFx + if (lastKeyWasKeyboard_) + { + selectMidiFx(127, true); + } + else + { + selectMidiFxChordKey(127, true); + } + } + else if (thisKey >= 6 && thisKey < 11) + { + keyConsumed = true; + if (lastKeyWasKeyboard_) + { + selectMidiFx(thisKey - 6, true); + } + else + { + selectMidiFxChordKey(thisKey - 6, true); + } + } + else if (thisKey == 20) // MidiFX Passthrough + { + keyConsumed = true; + if (mfxdex < NUM_MIDIFX_GROUPS) + { + enableSubmode(&subModeMidiFx[mfxdex]); + subModeMidiFx[mfxdex].enablePassthrough(); + mfxQuickEdit_ = true; + quickEditMfxIndex_ = mfxdex; + midiSettings.midiAUX = false; + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 22) // Goto arp params + { + keyConsumed = true; + if (mfxdex < NUM_MIDIFX_GROUPS) + { + enableSubmode(&subModeMidiFx[mfxdex]); + subModeMidiFx[mfxdex].gotoArpParams(); + auxDown_ = false; + midiSettings.midiAUX = false; + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 23) // Next arp pattern + { + keyConsumed = true; + if (mfxdex < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxdex].nextArpPattern(); + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 24) // Next arp octave + { + keyConsumed = true; + if (mfxdex < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxdex].nextArpOctRange(); + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 25) + { + keyConsumed = true; + if (mfxdex < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxdex].toggleArpHold(); + + if (subModeMidiFx[mfxdex].isArpHoldOn()) + { + omxDisp.displayMessageTimed("Arp Hold: On", 5); + } + else + { + omxDisp.displayMessageTimed("Arp Hold: Off", 5); + } + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 26) + { + keyConsumed = true; + if (mfxdex < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxdex].toggleArp(); + + if (subModeMidiFx[mfxdex].isArpOn()) + { + omxDisp.displayMessageTimed("Arp On", 5); + } + else + { + omxDisp.displayMessageTimed("Arp Off", 5); + } + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + } + } + } + + return keyConsumed; +} + +bool OmxModeChords::onKeyHeldSelMidiFX(OMXKeypadEvent e) +{ + int thisKey = e.key(); + + bool keyConsumed = false; + + if (auxDown_) // Aux mode + { + // Enter MidiFX mode + if (thisKey >= 6 && thisKey < 11) + { + keyConsumed = true; + enableSubmode(&subModeMidiFx[thisKey - 6]); + } + } + + return keyConsumed; +} + +void OmxModeChords::doNoteOn(int noteNumber, uint8_t midifx, uint8_t velocity, uint8_t midiChannel) +{ + if (noteNumber < 0 || noteNumber > 127) + return; + + bool trackerFound = false; + + for (uint8_t i = 0; i < noteOffTracker.size(); i++) + { + if (noteOffTracker[i].noteNumber == noteNumber && noteOffTracker[i].midiChannel == midiChannel - 1) + { + // Serial.println("Tracker found " + String(noteNumber)); + noteOffTracker[i].triggerCount = noteOffTracker[i].triggerCount + 1; + // Serial.println("triggerCount: " + String(noteOffTracker[i].triggerCount)); + trackerFound = true; + break; + } + } + + if (!trackerFound && noteOffTracker.size() == kMaxNoteTrackerSize) + return; // Too many notes + + if (!trackerFound) + { + // Serial.println("Tracker not found "); + NoteTracker tracker; + tracker.noteNumber = noteNumber; + tracker.midiChannel = midiChannel - 1; + tracker.triggerCount = 1; + noteOffTracker.push_back(tracker); + trackerFound = true; + } + + // MidiNoteGroup noteGroup = omxUtil.midiNoteOn2(musicScale, keyIndex, midiSettings.defaultVelocity, sysSettings.midiChannel); + // if(noteGroup.noteNumber == 255) return; + + MidiNoteGroup noteGroup; + + noteGroup.noteOff = false; + noteGroup.noteNumber = noteNumber; + noteGroup.prevNoteNumber = noteNumber; + noteGroup.velocity = velocity; + noteGroup.channel = midiChannel; + noteGroup.unknownLength = true; + noteGroup.stepLength = 0; + noteGroup.sendMidi = true; + noteGroup.sendCV = false; + noteGroup.noteonMicros = micros(); + + // Serial.println("doNoteOn: " + String(noteGroup.noteNumber)); + + if (midifx < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[midifx].noteInput(noteGroup); + // subModeMidiFx.noteInput(noteGroup); + } + else + { + onNotePostFX(noteGroup); + } +} + +void OmxModeChords::doNoteOff(int noteNumber, uint8_t midifx, uint8_t midiChannel) +{ + if (noteNumber < 0 || noteNumber > 127) + return; + + bool trackerFound = false; + bool doNoteOff = false; + + for (uint8_t i = 0; i < noteOffTracker.size(); i++) + { + if (noteOffTracker[i].noteNumber == noteNumber && noteOffTracker[i].midiChannel == midiChannel - 1) + { + // Serial.println("Tracker found " + String(noteNumber)); + // Serial.println("triggerCount " + String(noteOffTracker[i].triggerCount)); + + noteOffTracker[i].triggerCount = noteOffTracker[i].triggerCount - 1; + if (noteOffTracker[i].triggerCount <= 0) + { + // Serial.println("Do Note Off"); + doNoteOff = true; + } + trackerFound = true; + + // Serial.println("triggerCount " + String(noteOffTracker[i].triggerCount)); + break; + } + } + + if (doNoteOff) + { + auto it = noteOffTracker.begin(); + while (it != noteOffTracker.end()) + { + // remove matching note numbers + if (it->triggerCount <= 0) + { + // Serial.println("Erasing"); + it = noteOffTracker.erase(it); + } + else + { + ++it; + } + } + } + + if (!trackerFound || !doNoteOff) + return; // No note off tracker found. + + // Serial.println("Doing Note Off"); + + // MidiNoteGroup noteGroup = omxUtil.midiNoteOff2(keyIndex, sysSettings.midiChannel); + + // if(noteGroup.noteNumber == 255) return; + + MidiNoteGroup noteGroup; + + noteGroup.noteOff = true; + noteGroup.noteNumber = noteNumber; + noteGroup.prevNoteNumber = noteNumber; + noteGroup.velocity = 0; + noteGroup.channel = midiChannel; + noteGroup.unknownLength = true; + noteGroup.stepLength = 0; + noteGroup.sendMidi = true; + noteGroup.sendCV = false; + noteGroup.noteonMicros = micros(); + + // Serial.println("doNoteOff: " + String(noteGroup.noteNumber)); + + noteGroup.unknownLength = true; + noteGroup.prevNoteNumber = noteGroup.noteNumber; + + if (midifx >= 0 && midifx < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[midifx].noteInput(noteGroup); + // subModeMidiFx.noteInput(noteGroup); + } + else + { + onNotePostFX(noteGroup); + } +} + +void OmxModeChords::splitNoteOn(uint8_t keyIndex) +{ + MidiNoteGroup noteGroup = omxUtil.midiNoteOn2(musicScale_, keyIndex, midiSettings.defaultVelocity, sysSettings.midiChannel); + doNoteOn(noteGroup.noteNumber, mfxIndex_, noteGroup.velocity, noteGroup.channel); + + // if(noteGroup.noteNumber > 127) return; + + // bool trackerFound = false; + + // for(uint8_t i = 0; i < noteOffTracker.size(); i++) + // { + // if(noteOffTracker[i].noteNumber == noteGroup.noteNumber && noteOffTracker[i].midiChannel == noteGroup.channel - 1) + // { + // noteOffTracker[i].triggerCount++; + // trackerFound = true; + // break; + // } + // } + + // if(!trackerFound && noteOffTracker.size() == kMaxNoteTrackerSize) return; // Too many notes + + // if(!trackerFound) + // { + // NoteTracker tracker; + // tracker.noteNumber = noteGroup.noteNumber; + // tracker.midiChannel = noteGroup.channel - 1; + // tracker.triggerCount = 1; + // noteOffTracker.push_back(tracker); + // trackerFound = true; + // } + + // noteGroup.unknownLength = true; + // noteGroup.prevNoteNumber = noteGroup.noteNumber; + + // if (mfxIndex_ < NUM_MIDIFX_GROUPS) + // { + // subModeMidiFx[mfxIndex_].noteInput(noteGroup); + // } + // else + // { + // onNotePostFX(noteGroup); + // } +} +void OmxModeChords::splitNoteOff(uint8_t keyIndex) +{ + MidiNoteGroup noteGroup = omxUtil.midiNoteOff2(keyIndex, sysSettings.midiChannel); + doNoteOff(noteGroup.noteNumber, mfxIndex_, noteGroup.channel); + + // if(noteGroup.noteNumber > 127) return; + + // noteGroup.unknownLength = true; + // noteGroup.prevNoteNumber = noteGroup.noteNumber; + + // if (mfxIndex_ < NUM_MIDIFX_GROUPS) + // { + // subModeMidiFx[mfxIndex_].noteInput(noteGroup); + // } + // else + // { + // onNotePostFX(noteGroup); + // } +} + +void OmxModeChords::onNotePostFX(MidiNoteGroup note) +{ + if (note.noteOff) + { + // Serial.println("OmxModeMidiKeyboard::onNotePostFX noteOff: " + String(note.noteNumber)); + + if (note.sendMidi) + { + MM::sendNoteOff(note.noteNumber, note.velocity, note.channel); + } + if (note.sendCV) + { + cvNoteUtil.cvNoteOff(note.noteNumber); + } + } + else + { + if (note.unknownLength == false) + { + uint32_t noteOnMicros = note.noteonMicros; // TODO Might need to be set to current micros + pendingNoteOns.insert(note.noteNumber, note.velocity, note.channel, noteOnMicros, note.sendCV); + + // Serial.println("StepLength: " + String(note.stepLength)); + + uint32_t noteOffMicros = noteOnMicros + (note.stepLength * clockConfig.step_micros); + pendingNoteOffs.insert(note.noteNumber, note.channel, noteOffMicros, note.sendCV); + + // Serial.println("noteOnMicros: " + String(noteOnMicros)); + // Serial.println("noteOffMicros: " + String(noteOffMicros)); + } + else + { + // Serial.println("OmxModeMidiKeyboard::onNotePostFX noteOn: " + String(note.noteNumber)); + + if (note.sendMidi) + { + MM::sendNoteOn(note.noteNumber, note.velocity, note.channel); + } + if (note.sendCV) + { + cvNoteUtil.cvNoteOn(note.noteNumber); + } + } + } +} + +void OmxModeChords::onPendingNoteOff(int note, int channel) +{ + // Serial.println("OmxModeEuclidean::onPendingNoteOff " + String(note) + " " + String(channel)); + // subModeMidiFx.onPendingNoteOff(note, channel); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].onPendingNoteOff(note, channel); + } +} + +void OmxModeChords::updateLEDs() +{ + if (isSubmodeEnabled()) + { + if (activeSubmode->updateLEDs()) + return; + } + + if (chordEditMode_) + { + updateLEDsChordEdit(); + return; + } + + bool blinkState = omxLeds.getBlinkState(); + + omxLeds.setAllLEDS(0, 0, 0); + + if (auxDown_) + { + // Blink left/right keys for octave select indicators. + strip.setPixelColor(0, RED); + strip.setPixelColor(1, LIME); + strip.setPixelColor(2, MAGENTA); + + strip.setPixelColor(3, BLUE); // Load + strip.setPixelColor(4, ORANGE); // Save + + if (midiSettings.octave == 0) + { + strip.setPixelColor(11, colorConfig.octDnColor); + strip.setPixelColor(12, colorConfig.octUpColor); + } + else if (midiSettings.octave > 0) + { + bool blinkOctave = omxLeds.getBlinkPattern(midiSettings.octave); + + strip.setPixelColor(11, colorConfig.octDnColor); + strip.setPixelColor(12, blinkOctave ? colorConfig.octUpColor : LEDOFF); + } + else + { + bool blinkOctave = omxLeds.getBlinkPattern(-midiSettings.octave); + + strip.setPixelColor(11, blinkOctave ? colorConfig.octDnColor : LEDOFF); + strip.setPixelColor(12, colorConfig.octUpColor); + } + + // MidiFX off + uint8_t mfxdex = lastKeyWasKeyboard_ ? mfxIndex_ : chords_[selectedChord_].midiFx; + + strip.setPixelColor(5, (mfxdex >= NUM_MIDIFX_GROUPS ? colorConfig.selMidiFXGRPOffColor : colorConfig.midiFXGRPOffColor)); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + auto mfxColor = (i == mfxdex) ? colorConfig.selMidiFXGRPColor : colorConfig.midiFXGRPColor; + + strip.setPixelColor(6 + i, mfxColor); + } + + strip.setPixelColor(20, mfxQuickEdit_ && blinkState ? LEDOFF : colorConfig.mfxQuickEdit); + strip.setPixelColor(22, colorConfig.gotoArpParams); + strip.setPixelColor(23, colorConfig.nextArpPattern); + + if (mfxdex < NUM_MIDIFX_GROUPS) + { + uint8_t octaveRange = subModeMidiFx[mfxdex].getArpOctaveRange(); + if (octaveRange == 0) + { + strip.setPixelColor(24, colorConfig.nextArpOctave); + } + else + { + // Serial.println("Blink Octave: " + String(octaveRange)); + bool blinkOctave = omxLeds.getBlinkPattern(octaveRange); + + strip.setPixelColor(24, blinkOctave ? colorConfig.nextArpOctave : LEDOFF); + } + + bool isOn = subModeMidiFx[mfxdex].isArpOn() && blinkState; + bool isHoldOn = subModeMidiFx[mfxdex].isArpHoldOn(); + + strip.setPixelColor(25, isHoldOn ? colorConfig.arpHoldOn : colorConfig.arpHoldOff); + strip.setPixelColor(26, isOn ? colorConfig.arpOn : colorConfig.arpOff); + } + else + { + strip.setPixelColor(25, colorConfig.arpHoldOff); + strip.setPixelColor(26, colorConfig.arpOff); + } + + return; + } + + // Function Keys + if (funcKeyMode_ == FUNCKEYMODE_F3) + { + auto f3Color = blinkState ? LEDOFF : FUNKTHREE; + strip.setPixelColor(1, f3Color); + strip.setPixelColor(2, f3Color); + } + else + { + auto f1Color = (funcKeyMode_ == FUNCKEYMODE_F1 && blinkState) ? LEDOFF : FUNKONE; + strip.setPixelColor(1, f1Color); + + auto f2Color = (funcKeyMode_ == FUNCKEYMODE_F2 && blinkState) ? LEDOFF : FUNKTWO; + strip.setPixelColor(2, f2Color); + } + + strip.setPixelColor(3, mode_ == CHRDMODE_PLAY ? WHITE : kPlayColor); + strip.setPixelColor(4, mode_ == CHRDMODE_EDIT ? WHITE : kEditColor); + // strip.setPixelColor(5, mode_ == CHRDMODE_PRESET ? WHITE : kPresetColor); + strip.setPixelColor(5, mode_ == CHRDMODE_MANSTRUM ? WHITE : MAGENTA); + + if (mode_ == CHRDMODE_PLAY || mode_ == CHRDMODE_MANSTRUM) // Play + { + for (uint8_t i = 0; i < 16; i++) + { + if (i == selectedChord_) + { + strip.setPixelColor(11 + i, (chordNotes_[i].active ? WHITE : CYAN)); + } + else + { + strip.setPixelColor(11 + i, (chordNotes_[i].active ? WHITE : chords_[i].color)); + } + } + } + else if (mode_ == CHRDMODE_EDIT) // Edit + { + for (uint8_t i = 0; i < 16; i++) + { + if (i == selectedChord_) + { + strip.setPixelColor(11 + i, (chordNotes_[i].active ? WHITE : CYAN)); + } + else + { + strip.setPixelColor(11 + i, (chordNotes_[i].active ? WHITE : kEditColor)); + } + } + } + // else if (mode_ == CHRDMODE_PRESET) // Preset + // { + // for (uint8_t i = 0; i < NUM_CHORD_SAVES; i++) + // { + // strip.setPixelColor(11 + i, (i == selectedSave_ ? WHITE : kPresetColor)); + // } + // } + + if ((mode_ == CHRDMODE_PLAY || mode_ == CHRDMODE_EDIT) && uiMode_ == CUIMODE_SPLIT) + { + bool blinkNote = activeChordEditNoteKey_ >= 0 ? omxLeds.getBlinkState() : true; + + // Render scale colors and chord notes + for (int i = 1; i < LED_COUNT; i++) + { + if (i >= 19 || (i >= 6 && i < 11)) + { + strip.setPixelColor(i, LEDOFF); + + uint8_t adjKeyIndex = i >= 19 ? i - 7 : i - 5; // Pretends keys are down an octave + + if (mode_ == CHRDMODE_EDIT && heldChord_ >= 0 && chords_[heldChord_].type == CTYPE_BASIC) + { + // Scale colors + auto keyColor = omxLeds.getKeyColor(musicScale_, adjKeyIndex); + if (keyColor != LEDOFF) + { + strip.setPixelColor(i, kChordEditNoteInScaleColor); + } + + // Chord note colors + for (uint8_t ni = 0; ni < 6; ni++) + { + int note = chordNotes_[selectedChord_].notes[ni]; + + if (note >= 0 && note <= 127) + { + auto adjNote = notes[adjKeyIndex] + (midiSettings.octave * 12); + + if (adjNote == note && blinkNote) + { + uint8_t vel = map(chordNotes_[selectedChord_].velocities[ni], 0, 127, 0, 255); + + auto noteColor = ni == 0 ? strip.ColorHSV(kChordEditNoteChordHue, 50, vel) : strip.ColorHSV(kChordEditNoteChordHue, 255, vel); + + strip.setPixelColor(i, noteColor); + } + } + } + } + else + { + if (midiSettings.midiKeyState[adjKeyIndex] >= 0) + { + strip.setPixelColor(i, LTCYAN); + } + else + { + // Scale colors + strip.setPixelColor(i, omxLeds.getKeyColor(musicScale_, adjKeyIndex)); + } + } + } + } + } + + if (isSubmodeEnabled()) + { + bool blinkStateSlow = omxLeds.getSlowBlinkState(); + + auto auxColor = (blinkStateSlow ? RED : LEDOFF); + strip.setPixelColor(0, auxColor); + } +} + +void OmxModeChords::updateLEDsChordEdit() +{ + bool blinkState = omxLeds.getBlinkState(); + + omxLeds.setAllLEDS(0, 0, 0); + + strip.setPixelColor(0, RED); // EXIT + + if (chords_[selectedChord_].type == CTYPE_BASIC) + { + bool blinkNote = activeChordEditNoteKey_ >= 0 ? omxLeds.getBlinkState() : true; + + // Render scale colors and chord notes + for (int i = 1; i < LED_COUNT; i++) + { + // Scale colors + auto keyColor = omxLeds.getKeyColor(musicScale_, i); + if (keyColor != LEDOFF) + { + strip.setPixelColor(i, kChordEditNoteInScaleColor); + } + + // Chord note colors + for (uint8_t ni = 0; ni < 6; ni++) + { + int note = chordNotes_[selectedChord_].notes[ni]; + + if (note >= 0 && note <= 127) + { + auto adjNote = notes[i] + (midiSettings.octave * 12); + + if (adjNote == note && blinkNote) + { + uint8_t vel = map(chordNotes_[selectedChord_].velocities[ni], 0, 127, 0, 255); + + auto noteColor = ni == 0 ? strip.ColorHSV(kChordEditNoteChordHue, 50, vel) : strip.ColorHSV(kChordEditNoteChordHue, 255, vel); + + strip.setPixelColor(i, noteColor); + } + } + } + } + + if (midiSettings.octave == 0) + { + strip.setPixelColor(11, colorConfig.octDnColor); + strip.setPixelColor(26, colorConfig.octUpColor); + } + else if (midiSettings.octave > 0) + { + bool blinkOctave = omxLeds.getBlinkPattern(midiSettings.octave); + + strip.setPixelColor(11, colorConfig.octDnColor); + strip.setPixelColor(26, blinkOctave ? colorConfig.octUpColor : LEDOFF); + } + else + { + bool blinkOctave = omxLeds.getBlinkPattern(-midiSettings.octave); + + strip.setPixelColor(11, blinkOctave ? colorConfig.octDnColor : LEDOFF); + strip.setPixelColor(26, colorConfig.octUpColor); + } + } + else if (chords_[selectedChord_].type == CTYPE_INTERVAL) + { + // Function Keys + if (funcKeyMode_ == FUNCKEYMODE_F3) + { + auto f3Color = blinkState ? LEDOFF : FUNKTHREE; + strip.setPixelColor(1, f3Color); + strip.setPixelColor(2, f3Color); + } + else + { + auto f1Color = (funcKeyMode_ == FUNCKEYMODE_F1 && blinkState) ? LEDOFF : FUNKONE; + strip.setPixelColor(1, f1Color); + + auto f2Color = (funcKeyMode_ == FUNCKEYMODE_F2 && blinkState) ? LEDOFF : FUNKTWO; + strip.setPixelColor(2, f2Color); + } + + strip.setPixelColor(3, kOctaveColor); // Octave + strip.setPixelColor(4, kTransposeColor); // Transpose + strip.setPixelColor(5, kSpreadColor); // Spread + strip.setPixelColor(6, kRotateColor); // Rotate + strip.setPixelColor(7, kVoicingColor); // Voicing + strip.setPixelColor(10, ROSE); // Show Chord Notes + + if (chordEditParam_ == 0) + { + // Num Notes + for (uint8_t i = 11; i < 15; i++) + { + auto numNotesColor = chords_[selectedChord_].numNotes == (i - 11) + 1 ? kNumNotesSelColor : kNumNotesColor; + strip.setPixelColor(i, numNotesColor); + } + + strip.setPixelColor(15, chords_[selectedChord_].spreadUpDown ? kSpreadUpDownOnColor : kSpreadUpDownOffColor); + strip.setPixelColor(16, chords_[selectedChord_].quartalVoicing ? kQuartalVoicingOnColor : kQuartalVoicingOffColor); + + // Degree + for (uint8_t i = 19; i < 27; i++) + { + strip.setPixelColor(i, chords_[selectedChord_].degree == i - 19 ? kDegreeSelColor : kDegreeColor); + } + } + else if (chordEditParam_ == 1) // Octave + { + strip.setPixelColor(3, blinkState ? LEDOFF : kOctaveColor); + + for (uint8_t i = 11; i < 16; i++) + { + auto valColor = chords_[selectedChord_].octave == (i - 11 - 2) ? WHITE : GREEN; + strip.setPixelColor(i, valColor); + } + } + else if (chordEditParam_ == 2) // Transpose + { + strip.setPixelColor(4, blinkState ? LEDOFF : kTransposeColor); + + for (uint8_t i = 11; i < 26; i++) + { + auto valColor = chords_[selectedChord_].transpose == (i - 11 - 7) ? WHITE : GREEN; + strip.setPixelColor(i, valColor); + } + } + else if (chordEditParam_ == 3) // Spread + { + strip.setPixelColor(5, blinkState ? LEDOFF : kSpreadColor); + + for (uint8_t i = 11; i < 16; i++) + { + auto valColor = chords_[selectedChord_].spread == (i - 11 - 2) ? WHITE : GREEN; + strip.setPixelColor(i, valColor); + } + } + else if (chordEditParam_ == 4) // Rotate + { + strip.setPixelColor(6, blinkState ? LEDOFF : kRotateColor); + + for (uint8_t i = 11; i < 16; i++) + { + auto valColor = chords_[selectedChord_].rotate == (i - 11) ? WHITE : GREEN; + strip.setPixelColor(i, valColor); + } + } + else if (chordEditParam_ == 5) // Voicing + { + strip.setPixelColor(7, blinkState ? LEDOFF : kVoicingColor); + + for (uint8_t i = 11; i < 19; i++) + { + auto valColor = chords_[selectedChord_].voicing == (i - 11) ? WHITE : GREEN; + strip.setPixelColor(i, valColor); + } + } + } + + if (isSubmodeEnabled()) + { + bool blinkStateSlow = omxLeds.getSlowBlinkState(); + auto auxColor = (blinkStateSlow ? RED : LEDOFF); + strip.setPixelColor(0, auxColor); + } +} + +void OmxModeChords::setupPageLegend(uint8_t index, uint8_t paramType) +{ + switch (paramType) + { + case CPARAM_UIMODE: + { + omxDisp.legends[index] = "UI"; + omxDisp.legendText[index] = kUIModeDisp[uiMode_]; + } + break; + case CPARAM_MAN_STRUM: + { + omxDisp.legends[index] = "STRUM"; + omxDisp.legendText[index] = mode_ == CHRDMODE_MANSTRUM ? "ON" : "OFF"; + } + break; + // case CPARAM_CHORD_TYPE: + // { + // omxDisp.legends[index] = "TYPE"; + // omxDisp.legendText[index] = kChordTypeDisp[chords_[selectedChord_].type]; + // } + // break; + // case CPARAM_CHORD_MFX: + // { + // omxDisp.legends[index] = "MIFX"; + // if (chords_[selectedChord_].midiFx >= 0) + // { + // omxDisp.legendVals[index] = chords_[selectedChord_].midiFx + 1; + // } + // else + // { + // omxDisp.legendText[index] = "OFF"; + // } + // } + // break; + // case CPARAM_CHORD_VEL: + // { + // omxDisp.legends[index] = "VEL"; + // omxDisp.legendVals[index] = chords_[selectedChord_].velocity; + // } + // break; + // case CPARAM_CHORD_MCHAN: + // { + // omxDisp.legends[index] = "MCHAN"; + // omxDisp.legendVals[index] = chords_[selectedChord_].mchan + 1; + // } + // break; + // case CPARAM_BAS_NOTE: + // { + // omxDisp.legends[index] = "NOTE"; + // omxDisp.legendText[index] = MusicScales::getNoteName(chords_[selectedChord_].note); + // } + // break; + // case CPARAM_BAS_OCT: + // { + // omxDisp.legends[index] = "C-OCT"; + // omxDisp.legendVals[index] = chords_[selectedChord_].basicOct + 4; + // } + // break; + // case CPARAM_BAS_CHORD: + // { + // omxDisp.legends[index] = "CHRD"; + // omxDisp.legendVals[index] = chords_[selectedChord_].chord; + // } + // break; + // case CPARAM_BAS_BALANCE: + // { + // omxDisp.legends[index] = "BAL"; + // omxDisp.legendVals[index] = map(chords_[selectedChord_].balance, 0, (kNumChordBalance - 1) * 10, 0, 127); + // } + // break; + // case CPARAM_INT_NUMNOTES: + // { + // omxDisp.legends[index] = "#NTS"; + // omxDisp.legendVals[index] = chords_[selectedChord_].numNotes; + // } + // break; + // case CPARAM_INT_DEGREE: + // { + // omxDisp.legends[index] = "DEG"; + // omxDisp.legendVals[index] = chords_[selectedChord_].degree; + // } + // break; + // case CPARAM_INT_OCTAVE: + // { + // omxDisp.legends[index] = "OCT"; + // omxDisp.legendVals[index] = chords_[selectedChord_].octave; + // } + // break; + // case CPARAM_INT_TRANSPOSE: + // { + // omxDisp.legends[index] = "TPS"; + // omxDisp.legendVals[index] = chords_[selectedChord_].transpose; + // } + // break; + // case CPARAM_INT_SPREAD: + // { + // omxDisp.legends[index] = "SPRD"; + // omxDisp.legendVals[index] = chords_[selectedChord_].spread; + // } + // break; + // case CPARAM_INT_ROTATE: + // { + // omxDisp.legends[index] = "ROT"; + // omxDisp.legendVals[index] = chords_[selectedChord_].rotate; + // } + // break; + // case CPARAM_INT_VOICING: + // { + // omxDisp.legends[index] = "VOIC"; + // omxDisp.legendText[index] = kVoicingNames[chords_[selectedChord_].voicing]; + // } + // break; + // case CPARAM_INT_SPRDUPDOWN: + // { + // omxDisp.legends[index] = "UPDN"; + // omxDisp.legendText[index] = chords_[selectedChord_].spreadUpDown ? "ON" : "OFF"; + // } + // break; + // case CPARAM_INT_QUARTVOICE: + // { + // omxDisp.legends[index] = "QRTV"; + // omxDisp.legendText[index] = chords_[selectedChord_].quartalVoicing ? "ON" : "OFF"; + // } + // break; + } +} + +void OmxModeChords::setupPageLegends() +{ + omxDisp.clearLegends(); + + int8_t page = getParams()->getSelPage(); + + auto chordPtr = &chords_[selectedChord_]; + + switch (page) + { + case CHRDPAGE_GBL1: + { + setupPageLegend(0, CPARAM_UIMODE); + } + break; + case CHRDPAGE_OUTMIDI: + { + omxUtil.setupPageLegend(0, GPARAM_MOUT_OCT); + omxUtil.setupPageLegend(1, GPARAM_MOUT_CHAN); + omxUtil.setupPageLegend(2, GPARAM_MOUT_VEL); + } + break; + case CHRDPAGE_POTSANDMACROS: + { + omxUtil.setupPageLegend(0, GPARAM_POTS_PBANK); + omxUtil.setupPageLegend(1, GPARAM_MIDI_THRU); + omxUtil.setupPageLegend(2, GPARAM_MACRO_MODE); + omxUtil.setupPageLegend(3, GPARAM_MACRO_CHAN); + } + break; + case CHRDPAGE_SCALES: + { + omxUtil.setupPageLegend(musicScale_, 0, GPARAM_SCALE_ROOT); + omxUtil.setupPageLegend(musicScale_, 1, GPARAM_SCALE_PAT); + omxUtil.setupPageLegend(musicScale_, 2, GPARAM_SCALE_LOCK); + omxUtil.setupPageLegend(musicScale_, 3, GPARAM_SCALE_GRP16); + } + break; + case CHRDPAGE_1: + { + chordUtil.setupPageLegend(chordPtr, 0, CPARAM_CHORD_TYPE); + chordUtil.setupPageLegend(chordPtr, 1, CPARAM_CHORD_MFX); + chordUtil.setupPageLegend(chordPtr, 2, CPARAM_CHORD_VEL); + chordUtil.setupPageLegend(chordPtr, 3, CPARAM_CHORD_MCHAN); + } + break; + case CHRDPAGE_2: + { + if (chords_[selectedChord_].type == CTYPE_INTERVAL) + { + chordUtil.setupPageLegend(chordPtr, 0, CPARAM_INT_NUMNOTES); + chordUtil.setupPageLegend(chordPtr, 1, CPARAM_INT_DEGREE); + chordUtil.setupPageLegend(chordPtr, 2, CPARAM_INT_OCTAVE); + chordUtil.setupPageLegend(chordPtr, 3, CPARAM_INT_TRANSPOSE); + } + else if (chords_[selectedChord_].type == CTYPE_BASIC) + { + chordUtil.setupPageLegend(chordPtr, 0, CPARAM_BAS_NOTE); + chordUtil.setupPageLegend(chordPtr, 1, CPARAM_BAS_OCT); + chordUtil.setupPageLegend(chordPtr, 2, CPARAM_BAS_CHORD); + chordUtil.setupPageLegend(chordPtr, 3, CPARAM_BAS_BALANCE); + } + } + break; + case CHRDPAGE_3: + { + if (chords_[selectedChord_].type == CTYPE_INTERVAL) + { + chordUtil.setupPageLegend(chordPtr, 0, CPARAM_INT_SPREAD); + chordUtil.setupPageLegend(chordPtr, 1, CPARAM_INT_ROTATE); + chordUtil.setupPageLegend(chordPtr, 2, CPARAM_INT_VOICING); + } + } + break; + case CHRDPAGE_4: + { + if (chords_[selectedChord_].type == CTYPE_INTERVAL) + { + chordUtil.setupPageLegend(chordPtr, 0, CPARAM_INT_SPRDUPDOWN); + chordUtil.setupPageLegend(chordPtr, 1, CPARAM_INT_QUARTVOICE); + } + } + break; + default: + break; + } +} + +void OmxModeChords::onDisplayUpdate() +{ + // omxLeds.updateBlinkStates(); + + if (isSubmodeEnabled()) + { + if (omxLeds.isDirty()) + { + updateLEDs(); + } + + activeSubmode->onDisplayUpdate(); + return; + } + + bool macroConsumesDisplay = false; + + if (macroActive_ && activeMacro_ != nullptr) + { + activeMacro_->drawLEDs(); + macroConsumesDisplay = activeMacro_->consumesDisplay(); + } + else + { + if (omxLeds.isDirty()) + { + updateLEDs(); + } + } + + if (macroConsumesDisplay) + { + activeMacro_->onDisplayUpdate(); + } + else + { + if (omxDisp.isDirty()) + { + if (!encoderConfig.enc_edit) + { + auto params = getParams(); + + if (chordEditMode_ == false && (mode_ == CHRDMODE_EDIT) && funcKeyMode_ == FUNCKEYMODE_F1) // Edit mode enter edit mode + { + omxDisp.dispGenericModeLabel("Edit chord", params->getNumPages(), params->getSelPage()); + } + else if (chordEditMode_ == false && (mode_ == CHRDMODE_EDIT) && funcKeyMode_ == FUNCKEYMODE_F2) // Edit mode copy + { + omxDisp.dispGenericModeLabel("Copy to", params->getNumPages(), params->getSelPage()); + } + if (chordEditMode_ == false && (mode_ == CHRDMODE_PLAY || mode_ == CHRDMODE_EDIT || mode_ == CHRDMODE_MANSTRUM) && funcKeyMode_ == FUNCKEYMODE_F2) // Play mode copy + { + omxDisp.dispGenericModeLabel("Copy to", params->getNumPages(), params->getSelPage()); + } + // else if (chordEditMode_ == false && (mode_ == CHRDMODE_PRESET) && funcKeyMode_ == FUNCKEYMODE_F1) // Preset move load + // { + // omxDisp.dispGenericModeLabel("Load from", params->getNumPages(), params->getSelPage()); + // } + // else if (chordEditMode_ == false && (mode_ == CHRDMODE_PRESET) && funcKeyMode_ == FUNCKEYMODE_F2) // Preset move save + // { + // omxDisp.dispGenericModeLabel("Save to", params->getNumPages(), params->getSelPage()); + // } + else if (chordEditMode_ == false && mode_ == CHRDMODE_MANSTRUM) + { + omxDisp.dispGenericModeLabel("Enc Strum", params->getNumPages(), 0); + } + else if (params->getSelPage() == CHRDPAGE_NOTES) + { + if (chordNotes_[selectedChord_].active || chordEditNotes_.active) + { + notesString = ""; + // notesString2 = ""; + + for (uint8_t i = 0; i < 6; i++) + { + int8_t note = chordNotes_[selectedChord_].notes[i]; + + if (chordEditNotes_.active) + { + note = chordEditNotes_.notes[i]; + } + + if (note >= 0 && note <= 127) + { + if (i > 0) + { + notesString.append(" "); + } + notesString.append(musicScale_->getFullNoteName(note)); + + // if(i < 4) + // { + // if (i > 0) + // { + // notesString.append(" "); + // } + // notesString.append(musicScale_->getFullNoteName(note)); + // } + // else + // { + // if (i > 4) + // { + // notesString2.append(" "); + // } + // notesString2.append(musicScale_->getFullNoteName(note)); + + // } + } + } + + const char *labels[1]; + labels[0] = notesString.c_str(); + // omxDisp.dispGenericModeLabelDoubleLine(notesString.c_str(), notesString2.c_str(), params->getNumPages(), params->getSelPage()); + if (chordEditNotes_.active) + { + // int rootNote = chords_[selectedChord_].note; + omxDisp.dispKeyboard(chordEditNotes_.rootNote, chordEditNotes_.notes, true, labels, 1); + } + else + { + omxDisp.dispKeyboard(chordNotes_[selectedChord_].rootNote, chordNotes_[selectedChord_].notes, true, labels, 1); + } + } + else + { + omxDisp.dispKeyboard(-1, noNotes, false, nullptr, 0); + + // omxDisp.dispGenericModeLabel("-", params->getNumPages(), params->getSelPage()); + } + } + // Chord page + else if (params->getSelPage() == CHRDPAGE_2 && chords_[selectedChord_].type == CTYPE_BASIC) + { + auto noteName = MusicScales::getNoteName(chords_[selectedChord_].note, true); + int octave = chords_[selectedChord_].basicOct + 4; + notesString2 = String(octave); + auto chordType = kChordMsg[chords_[selectedChord_].chord]; + + activeChordBalance_ = getChordBalanceDetails(chords_[selectedChord_].balance); + + omxDisp.dispChordBasicPage(params->getSelParam(), getEncoderSelect(), noteName, notesString2.c_str(), chordType, activeChordBalance_.type, activeChordBalance_.velMult); + } + // Custom Chord Notes + else if (params->getSelPage() == CHRDPAGE_3 && chords_[selectedChord_].type == CTYPE_BASIC && chords_[selectedChord_].chord == kCustomChordPattern) + { + const char *labels[6]; + const char *headers[1]; + headers[0] = "Custom Chord"; + + for (uint8_t i = 0; i < 6; i++) + { + int note = chords_[selectedChord_].customNotes[i].note; + + if (note == 0) + { + if (i == 0) + { + customNotesStrings[i] = "RT"; + } + else + { + customNotesStrings[i] = "-"; + } + } + else + { + if (note > 0) + { + customNotesStrings[i] = "+" + String(note); + } + else + { + customNotesStrings[i] = "" + String(note); + } + } + + labels[i] = customNotesStrings[i].c_str(); + } + + omxDisp.dispCenteredSlots(labels, 6, params->getSelParam(), getEncoderSelect(), true, true, headers, 1); + } + else + { + + setupPageLegends(); + omxDisp.dispGenericMode2(params->getNumPages(), params->getSelPage(), params->getSelParam(), getEncoderSelect()); + } + } + } + } +} + +void OmxModeChords::SetScale(MusicScales *scale) +{ + musicScale_ = scale; +} + +bool OmxModeChords::pasteSelectedChordTo(uint8_t chordIndex) +{ + if (chordIndex == selectedChord_ || chordIndex >= 16) + return false; + + chords_[chordIndex].CopySettingsFrom(&chords_[selectedChord_]); + selectedChord_ = chordIndex; + lastKeyWasKeyboard_ = false; + return true; +} +bool OmxModeChords::loadPreset(uint8_t presetIndex) +{ + if (presetIndex >= NUM_CHORD_SAVES) + return false; + + for (uint8_t i = 0; i < 16; i++) + { + chords_[i].CopySettingsFrom(&chordSaves_[presetIndex][i]); + } + + selectedSave_ = presetIndex; + + return true; +} + +bool OmxModeChords::savePreset(uint8_t presetIndex) +{ + if (presetIndex >= NUM_CHORD_SAVES) + return false; + + for (uint8_t i = 0; i < 16; i++) + { + chordSaves_[presetIndex][i].CopySettingsFrom(&chords_[i]); + } + + selectedSave_ = presetIndex; + + return true; +} + +void OmxModeChords::onManualStrumOn(uint8_t chordIndex) +{ + // Serial.println("onManualStrumOn: " + String(chordIndex)); + if (chordNotes_[chordIndex].active) + { + // Serial.println("chord already active"); + return; // This shouldn't happen + } + + if (constructChord(chordIndex)) + { + chordNotes_[chordIndex].active = true; + chordNotes_[chordIndex].channel = sysSettings.midiChannel; + // uint8_t velocity = midiSettings.defaultVelocity; + + chordNotes_[chordIndex].strumPos = 0; + chordNotes_[chordIndex].encDelta = 0; + chordNotes_[chordIndex].octIncrement = 0; + + // Serial.print("Chord: "); + // for(uint8_t i = 0; i < 6; i++) + // { + // int note = chordNotes_[chordIndex].notes[i]; + // // Serial.print(String(note) + " "); + // if(note >= 0 && note <= 127) + // { + // MM::sendNoteOn(note, velocity, chordNotes_[chordIndex].channel); + // } + // } + // Serial.print("\n"); + } + else + { + Serial.println("constructChord failed"); + } +} + +void OmxModeChords::onChordOn(uint8_t chordIndex) +{ + // Serial.println("onChordOn: " + String(chordIndex)); + if (chordNotes_[chordIndex].active) + { + // Serial.println("chord already active"); + return; // This shouldn't happen + } + + if (constructChord(chordIndex)) + { + chordNotes_[chordIndex].active = true; + chordNotes_[chordIndex].channel = chords_[chordIndex].mchan + 1; + + // Prevent stuck notes + playedChordNotes_[chordIndex].CopyFrom(&chordNotes_[chordIndex]); + // uint8_t velocity = chords_[chordIndex].velocity; + + // uint32_t noteOnMicros = micros(); + + // Serial.print("Chord: "); + for (uint8_t i = 0; i < 6; i++) + { + int note = chordNotes_[chordIndex].notes[i]; + uint8_t velocity = chordNotes_[chordIndex].velocities[i]; + + // Serial.print("Note: " + String(note)); + // Serial.print(" Vel: " + String(velocity)); + // Serial.print("\n"); + + // if(note >= 0 && note <= 127) + // { + // // MM::sendNoteOn(note, velocity, chordNotes_[chordIndex].channel); + // pendingNoteOns.insert(note, velocity, chordNotes_[chordIndex].channel, noteOnMicros, false); + // } + + doNoteOn(note, chordNotes_[chordIndex].midifx, velocity, chordNotes_[chordIndex].channel); + } + // Serial.print("\n"); + } + else + { + // Serial.println("constructChord failed"); + } +} + +void OmxModeChords::onChordOff(uint8_t chordIndex) +{ + // Serial.println("onChordOff: " + String(chordIndex)); + if (chordNotes_[chordIndex].active == false) + return; + + for (uint8_t i = 0; i < 6; i++) + { + int note = playedChordNotes_[chordIndex].notes[i]; + + doNoteOff(note, playedChordNotes_[chordIndex].midifx, playedChordNotes_[chordIndex].channel); + + // if (note >= 0 && note <= 127) + // { + // // MM::sendNoteOff(note, 0, chordNotes_[chordIndex].channel); + + // pendingNoteOns.remove(note, chordNotes_[chordIndex].channel); + // pendingNoteOffs.sendOffNow(note, chordNotes_[chordIndex].channel, false); + // } + } + chordNotes_[chordIndex].active = false; +} + +void OmxModeChords::onChordEditOn(uint8_t chordIndex) +{ + // Serial.println("onChordOn: " + String(chordIndex)); + if (chordEditNotes_.active) + { + // Serial.println("chord already active"); + return; // This shouldn't happen + } + + if (constructChord(chordIndex)) + { + // chordNotes_[chordIndex].active = true; + chordNotes_[chordIndex].channel = chords_[chordIndex].mchan + 1; + // uint8_t velocity = chords_[chordIndex].velocity; + + chordEditNotes_.CopyFrom(&chordNotes_[chordIndex]); + chordEditNotes_.active = true; + + // chordEditNotes_.channel = chordNotes_[chordIndex].channel; + // chordEditNotes_.rootNote = chordNotes_[chordIndex].rootNote; + + // uint32_t noteOnMicros = micros(); + + // Serial.print("Chord: "); + for (uint8_t i = 0; i < 6; i++) + { + int note = chordEditNotes_.notes[i]; + uint8_t velocity = chordEditNotes_.velocities[i]; + + // chordEditNotes_.notes[i] = note; + // Serial.print(String(note) + " "); + // if(note >= 0 && note <= 127) + // { + // // MM::sendNoteOn(note, velocity, chordNotes_[chordIndex].channel); + // pendingNoteOns.insert(note, velocity, chordNotes_[chordIndex].channel, noteOnMicros, false); + // } + + doNoteOn(note, chordEditNotes_.midifx, velocity, chordEditNotes_.channel); + } + // Serial.print("\n"); + } + else + { + // Serial.println("constructChord failed"); + } +} + +void OmxModeChords::onChordEditOff() +{ + // onChordOff(selectedChord_); + + // Serial.println("onChordOff: " + String(chordIndex)); + if (chordEditNotes_.active == false) + return; + + for (uint8_t i = 0; i < 6; i++) + { + int note = chordEditNotes_.notes[i]; + + doNoteOff(note, chordEditNotes_.midifx, chordEditNotes_.channel); + + // if (note >= 0 && note <= 127) + // { + // // MM::sendNoteOff(note, 0, chordNotes_[chordIndex].channel); + + // pendingNoteOns.remove(note, chordNotes_[chordIndex].channel); + // pendingNoteOffs.sendOffNow(note, chordNotes_[chordIndex].channel, false); + // } + } + chordEditNotes_.active = false; +} + +bool OmxModeChords::constructChord(uint8_t chordIndex) +{ + // Serial.println("Constructing Chord: " + String(chordIndex)); + auto chord = chords_[chordIndex]; + + if (chord.type == CTYPE_BASIC) + { + return constructChordBasic(chordIndex); + } + + int8_t octave = midiSettings.octave + chord.octave; + + uint8_t numNotes = 0; + + for (uint8_t i = 0; i < 6; i++) + { + chordNotes_[chordIndex].notes[i] = -1; + chordNotes_[chordIndex].velocities[i] = chord.velocity; + } + + if (chord.numNotes == 0) + { + return false; + } + else if (chord.numNotes == 1) + { + chordNotes_[chordIndex].notes[0] = musicScale_->getNoteByDegree(chord.degree, octave); + numNotes = 1; + } + else if (chord.numNotes == 2) + { + chordNotes_[chordIndex].notes[0] = musicScale_->getNoteByDegree(chord.degree, octave); + chordNotes_[chordIndex].notes[1] = musicScale_->getNoteByDegree(chord.degree + 2, octave); + numNotes = 2; + } + else if (chord.numNotes == 3) + { + chordNotes_[chordIndex].notes[0] = musicScale_->getNoteByDegree(chord.degree, octave); + chordNotes_[chordIndex].notes[1] = musicScale_->getNoteByDegree(chord.degree + 2, octave); + chordNotes_[chordIndex].notes[2] = musicScale_->getNoteByDegree(chord.degree + 4, octave); + numNotes = 3; + } + else if (chord.numNotes == 4) + { + chordNotes_[chordIndex].notes[0] = musicScale_->getNoteByDegree(chord.degree, octave); + chordNotes_[chordIndex].notes[1] = musicScale_->getNoteByDegree(chord.degree + 2, octave); + chordNotes_[chordIndex].notes[2] = musicScale_->getNoteByDegree(chord.degree + 4, octave); + chordNotes_[chordIndex].notes[3] = musicScale_->getNoteByDegree(chord.degree + 6, octave); + numNotes = 4; + } + + chordNotes_[chordIndex].rootNote = chordNotes_[chordIndex].notes[0]; + + // Serial.println("numNotes: " + String(numNotes)); + + switch (chord.voicing) + { + case CHRDVOICE_NONE: + { + } + break; + case CHRDVOICE_POWER: + { + if (chord.numNotes > 1) + { + chordNotes_[chordIndex].notes[1] = musicScale_->getNoteByDegree(chord.degree + 4, octave); + } + if (chord.numNotes > 2) + { + chordNotes_[chordIndex].notes[2] = chordNotes_[chordIndex].notes[1] + 12; + for (uint8_t i = 3; i < 6; i++) + { + chordNotes_[chordIndex].notes[i] = -1; + } + numNotes = 3; + } + } + break; + case CHRDVOICE_SUS2: + { + if (chord.numNotes > 1) + { + chordNotes_[chordIndex].notes[1] = musicScale_->getNoteByDegree(chord.degree + 1, octave); + } + } + break; + case CHRDVOICE_SUS4: + { + if (chord.numNotes > 1) + { + chordNotes_[chordIndex].notes[1] = musicScale_->getNoteByDegree(chord.degree + 3, octave); + } + } + break; + case CHRDVOICE_SUS24: + { + if (chord.numNotes > 1) + { + chordNotes_[chordIndex].notes[1] = musicScale_->getNoteByDegree(chord.degree + 1, octave); + } + if (chord.numNotes > 2) + { + chordNotes_[chordIndex].notes[2] = musicScale_->getNoteByDegree(chord.degree + 3, octave); + } + } + break; + case CHRDVOICE_ADD6: + { + chordNotes_[chordIndex].notes[chord.numNotes] = musicScale_->getNoteByDegree(chord.degree + 5, octave); + numNotes = chord.numNotes + 1; + } + break; + case CHRDVOICE_ADD69: + { + chordNotes_[chordIndex].notes[chord.numNotes] = musicScale_->getNoteByDegree(chord.degree + 5, octave); + chordNotes_[chordIndex].notes[chord.numNotes + 1] = musicScale_->getNoteByDegree(chord.degree + 8, octave); + numNotes = chord.numNotes + 2; + } + break; + case CHRDVOICE_KB11: + { + if (chord.numNotes > 1) + { + chordNotes_[chordIndex].notes[0] = musicScale_->getNoteByDegree(chord.degree + 0, octave); + chordNotes_[chordIndex].notes[1] = musicScale_->getNoteByDegree(chord.degree + 4, octave); + numNotes = 2; + } + if (chord.numNotes > 2) + { + chordNotes_[chordIndex].notes[2] = musicScale_->getNoteByDegree(chord.degree + 8, octave); + numNotes = 3; + } + if (chord.numNotes > 3) + { + chordNotes_[chordIndex].notes[3] = musicScale_->getNoteByDegree(chord.degree + 9, octave); + chordNotes_[chordIndex].notes[4] = musicScale_->getNoteByDegree(chord.degree + 6, octave + 1); + chordNotes_[chordIndex].notes[5] = musicScale_->getNoteByDegree(chord.degree + 10, octave + 1); + numNotes = 6; + } + } + break; + default: + break; + } + + // Serial.println("numNotes: " + String(numNotes)); + + if (chord.quartalVoicing) + { + chordNotes_[chordIndex].notes[0] = AddOctave(chordNotes_[chordIndex].notes[0], 2); + chordNotes_[chordIndex].notes[1] = AddOctave(chordNotes_[chordIndex].notes[1], 0); + chordNotes_[chordIndex].notes[2] = AddOctave(chordNotes_[chordIndex].notes[2], 1); + chordNotes_[chordIndex].notes[3] = AddOctave(chordNotes_[chordIndex].notes[3], -1); + } + + if (chord.spreadUpDown) + { + for (uint8_t i = 0; i < 6; i++) + { + if (i % 2 == 0) + { + chordNotes_[chordIndex].notes[i] = AddOctave(chordNotes_[chordIndex].notes[i], -1); + } + else + { + chordNotes_[chordIndex].notes[i] = AddOctave(chordNotes_[chordIndex].notes[i], 1); + } + } + } + + if (chord.spread < 0) + { + for (uint8_t i = 0; i < 6; i++) + { + if (i % 2 == 0) + { + chordNotes_[chordIndex].notes[i] = AddOctave(chordNotes_[chordIndex].notes[i], chord.spread); + } + } + } + else if (chord.spread > 0) + { + for (uint8_t i = 0; i < 6; i++) + { + if (i % 2 != 0) + { + chordNotes_[chordIndex].notes[i] = AddOctave(chordNotes_[chordIndex].notes[i], chord.spread); + } + } + } + + if (chord.rotate != 0 && numNotes > 0) + { + int temp[numNotes]; + + uint8_t val = numNotes - chord.rotate; + + uint8_t offset = chord.rotate % numNotes; + + for (uint8_t i = 0; i < offset; i++) + { + chordNotes_[chordIndex].notes[i] = AddOctave(chordNotes_[chordIndex].notes[i], 1); + } + + for (uint8_t i = 0; i < numNotes; i++) + { + temp[i] = chordNotes_[chordIndex].notes[abs((i + val) % numNotes)]; + } + for (int i = 0; i < numNotes; i++) + { + chordNotes_[chordIndex].notes[i] = temp[i]; + } + } + + for (uint8_t i = 0; i < 6; i++) + { + chordNotes_[chordIndex].notes[i] = TransposeNote(chordNotes_[chordIndex].notes[i], chord.transpose); + } + + chordNotes_[chordIndex].midifx = chord.midiFx; + + return true; +} + +bool OmxModeChords::constructChordBasic(uint8_t chordIndex) +{ + auto chord = chords_[chordIndex]; + + // int8_t octave = midiSettings.octave + chord.octave; + + // uint8_t numNotes = 0; + + for (uint8_t i = 0; i < 6; i++) + { + chordNotes_[chordIndex].notes[i] = -1; + } + + // int adjRoot = notes[thisKey] + (midiSettings.octave + 1 * 12); + + int rootNote = chord.note + ((chord.basicOct + 5) * 12); + + if (rootNote < 0 || rootNote > 127) + return false; + + chordNotes_[chordIndex].rootNote = rootNote; + + chordNotes_[chordIndex].midifx = chord.midiFx; + + chordNotes_[chordIndex].notes[0] = rootNote; + + if (chord.chord == kCustomChordPattern) + { + for (uint8_t i = 0; i < 6; i++) + { + int noteOffset = chord.customNotes[i].note; + + if (noteOffset != 0 || (noteOffset == 0 && i == 0)) + { + chordNotes_[chordIndex].notes[i] = rootNote + noteOffset; + } + // else offset is zero, do nothing. + } + } + else + { + auto pattern = chordPatterns[chord.chord]; + + for (uint8_t i = 0; i < 3; i++) + { + if (pattern[i] >= 0) + { + chordNotes_[chordIndex].notes[i + 1] = rootNote + pattern[i]; + } + } + } + + activeChordBalance_ = getChordBalanceDetails(chord.balance); + + for (uint8_t i = 0; i < 4; i++) + { + int pnote = chordNotes_[chordIndex].notes[i]; + + if (pnote >= 0 && pnote <= 127) + { + int bal = activeChordBalance_.type[i]; + + chordNotes_[chordIndex].notes[i] = (bal <= -10 ? -1 : (pnote + (12 * bal))); + chordNotes_[chordIndex].velocities[i] = chord.velocity * activeChordBalance_.velMult[i]; + } + } + + return true; +} + +ChordBalanceDetails OmxModeChords::getChordBalanceDetails(uint8_t balance) +{ + ChordBalanceDetails bDetails; + + bDetails.type[0] = 0; + bDetails.velMult[0] = 1.0f; + + uint8_t balanceIndex = balance / 10; + + auto balancePat = chordBalance[balanceIndex]; + + for (uint8_t i = 0; i < 3; i++) + { + int8_t bal = balancePat[i]; + + bDetails.type[i + 1] = bal; + + if (balanceIndex < kNumChordBalance) + { + int8_t nextBal = chordBalance[balanceIndex + 1][i]; + + if ((balance % 10) != 0) + { + if (nextBal > -10) + { + bDetails.type[i + 1] = nextBal; + } + } + + float v1 = bal <= -10 ? 0.0f : 1.0f; + float v2 = nextBal <= -10 ? 0.0f : 1.0f; + + bDetails.velMult[i + 1] = map((float)balance, balanceIndex * 10.0f, (balanceIndex + 1) * 10.0f, v1, v2); + } + else + { + bDetails.velMult[i + 1] = 1.0f; + } + } + + return bDetails; +} + +int OmxModeChords::AddOctave(int note, int8_t octave) +{ + if (note < 0 || note > 127) + return -1; + + int newNote = note + (12 * octave); + if (newNote < 0 || newNote > 127) + return -1; + return newNote; +} + +int OmxModeChords::TransposeNote(int note, int8_t semitones) +{ + if (note < 0 || note > 127) + return -1; + + int newNote = note + semitones; + if (newNote < 0 || newNote > 127) + return -1; + return newNote; +} + +int OmxModeChords::saveToDisk(int startingAddress, Storage *storage) +{ + int saveSize = sizeof(ChordSettings); + + for (uint8_t saveIndex = 0; saveIndex < NUM_CHORD_SAVES; saveIndex++) + { + for (uint8_t i = 0; i < 16; i++) + { + auto saveBytesPtr = (byte *)(&chordSaves_[saveIndex][i]); + for (int j = 0; j < saveSize; j++) + { + storage->write(startingAddress + j, *saveBytesPtr++); + } + + startingAddress += saveSize; + } + } + + return startingAddress; +} + +int OmxModeChords::loadFromDisk(int startingAddress, Storage *storage) +{ + int saveSize = sizeof(ChordSettings); + + for (uint8_t saveIndex = 0; saveIndex < NUM_CHORD_SAVES; saveIndex++) + { + for (uint8_t i = 0; i < 16; i++) + { + auto chord = ChordSettings{}; + auto current = (byte *)&chord; + for (int j = 0; j < saveSize; j++) + { + *current = storage->read(startingAddress + j); + current++; + } + + chordSaves_[saveIndex][i].CopySettingsFrom(&chord); + startingAddress += saveSize; + } + } + + loadPreset(0); + + return startingAddress; +} diff --git a/Archive/OMX-27-firmware/src/modes/omx_mode_chords.h b/Archive/OMX-27-firmware/src/modes/omx_mode_chords.h new file mode 100644 index 00000000..c6a521d0 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_mode_chords.h @@ -0,0 +1,245 @@ +#pragma once +#include "../modes/omx_mode_interface.h" +#include "../utils/music_scales.h" +// #include "../consts/colors.h" +#include "../config.h" +// #include "../modes/omx_mode_midi_keyboard.h" +#include "../utils/param_manager.h" +#include "../hardware/storage.h" +#include "submodes/submode_interface.h" +#include "submodes/submode_midifxgroup.h" +#include "submodes/submode_preset.h" +#include "../midimacro/midimacro_m8.h" +#include "../midimacro/midimacro_norns.h" +#include "../midimacro/midimacro_deluge.h" +#include "../utils/chord_structs.h" +#include "../utils/chord_util.h" + +#define NUM_CHORD_SAVES 8 + +// struct CustomChordDegree +// { +// uint8_t note : 3; // 0 - 7 +// int8_t octave : 3; // Octave Offset -3 to +3 +// }; + +class OmxModeChords : public OmxModeInterface +{ +public: + OmxModeChords(); + ~OmxModeChords() {} + + void InitSetup() override; + + void onModeActivated() override; + void onModeDeactivated() override; + + void onClockTick() override; + + void onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) override; + + void loopUpdate(Micros elapsedTime) override; + + void updateLEDs() override; + + void onEncoderChanged(Encoder::Update enc) override; + void onEncoderButtonDown() override; + void onEncoderButtonDownLong() override; + + void inMidiControlChange(byte channel, byte control, byte value) override; + + + bool shouldBlockEncEdit() override; + + void onKeyUpdate(OMXKeypadEvent e) override; + void onKeyHeldUpdate(OMXKeypadEvent e) override; + + void onDisplayUpdate() override; + void SetScale(MusicScales *scale); + + int saveToDisk(int startingAddress, Storage *storage); + int loadFromDisk(int startingAddress, Storage *storage); + +private: + struct NoteTracker + { + int8_t triggerCount; + uint8_t noteNumber : 7; + uint8_t midiChannel : 4; + }; + + SubModePreset presetManager; + + // void savePreset(uint8_t saveIndex); + // void loadPreset(uint8_t loadIndex); + + static void doSavePresetForwarder(void *context, uint8_t presetIndex) + { + static_cast(context)->savePreset(presetIndex); + } + + static void doLoadPresetForwarder(void *context, uint8_t presetIndex) + { + static_cast(context)->loadPreset(presetIndex); + } + + bool macroActive_ = false; + + midimacro::MidiMacroNorns nornsMarco_; + midimacro::MidiMacroM8 m8Macro_; + midimacro::MidiMacroDeluge delugeMacro_; + + midimacro::MidiMacroInterface *activeMacro_; + midimacro::MidiMacroInterface *getActiveMacro(); + + // Used by the Macros for playing normal notes + static void doNoteOnForwarder(void *context, uint8_t keyIndex) + { + auto chordsInstance = static_cast(context); + chordsInstance->doNoteOn(keyIndex, chordsInstance->mfxIndex_, midiSettings.defaultVelocity, sysSettings.midiChannel); + } + + // Used by the Macros for playing normal notes + static void doNoteOffForwarder(void *context, uint8_t keyIndex) + { + auto chordsInstance = static_cast(context); + chordsInstance->doNoteOff(keyIndex, chordsInstance->mfxIndex_, sysSettings.midiChannel); + } + + // If true, encoder selects param rather than modifies value + bool auxDown_ = false; + bool encoderSelect_ = false; + bool chordEditMode_ = false; + // bool splitKeyboardMode_ = false; + + bool mfxQuickEdit_ = false; + uint8_t quickEditMfxIndex_ = 0; + + bool wrapManStrum_ = true; + + bool lastKeyWasKeyboard_ = false; // This gets set to true if the last key pressed was a keyboard key and not a chord key + + uint8_t incrementManStrum_ = 0; + uint8_t manStrumSensit_ = 10; + + uint8_t selectedChord_ = 0; + int8_t heldChord_ = -1; + + uint8_t selectedSave_ = 0; + + uint8_t uiMode_ = 0; // FULL, Split + + uint8_t mode_ = 0; // Play, Edit Chord, Presets, Manual Strum + + uint8_t manStrumNoteLength_ = 4; + + // ParamManager params_; + ParamManager basicParams_; + ParamManager intervalParams_; + + // ParamManager chordEditParams_; + uint8_t funcKeyMode_ = 0; + uint8_t chordEditParam_ = 0; // None, Octave, Transpose, Spread, Rotate, Voicing + + MusicScales *musicScale_; + + ChordSettings chords_[16]; + ChordNotes chordNotes_[16]; + + ChordNotes playedChordNotes_[16]; + + ChordNotes chordEditNotes_; + int8_t activeChordEditDegree_; + int8_t activeChordEditNoteKey_; + int8_t activeSplitKeyIndex_; + + ChordBalanceDetails activeChordBalance_; + + ChordSettings chordSaves_[NUM_CHORD_SAVES][16]; + + // int saveSize = sizeof(chordSaves_); + + String notesString = ""; + String notesString2 = ""; + + String customNotesStrings[6]; + + // SubModes + SubmodeInterface *activeSubmode = nullptr; + + uint8_t mfxIndex_ = 0; + + bool lockScaleCache_ = false; // Cache value when entering mode, restore on exit + bool grp16ScaleCache_ = false; + + int noNotes[6] = {-1, -1, -1, -1, -1, -1}; + + const uint8_t kMaxNoteTrackerSize = 32; + + std::vector noteOffTracker; + + // int chordSize = sizeof(chords_); + + ParamManager *getParams(); + void setSelPageAndParam(int8_t newPage, int8_t newParam); + + void allNotesOff(); + void updateFuncKeyMode(); + void onEncoderChangedEditParam(Encoder::Update *enc, uint8_t selectedParmIndex, uint8_t targetParamIndex, uint8_t paramType); + void onEncoderChangedManStrum(Encoder::Update enc); + void onKeyUpdateChordEdit(OMXKeypadEvent e); + void enterChordEditMode(); + void updateLEDsChordEdit(); + void setupPageLegends(); + void setupPageLegend(uint8_t index, uint8_t paramType); + + bool pasteSelectedChordTo(uint8_t chordIndex); + bool loadPreset(uint8_t presetIndex); + bool savePreset(uint8_t presetIndex); + + void onManualStrumOn(uint8_t chordIndex); + void onChordOn(uint8_t chordIndex); + void onChordOff(uint8_t chordIndex); + void onChordEditOn(uint8_t chordIndex); + void onChordEditOff(); + + bool constructChord(uint8_t chordIndex); + bool constructChordBasic(uint8_t chordIndex); + + static int AddOctave(int note, int8_t octave); + static int TransposeNote(int note, int8_t semitones); + + ChordBalanceDetails getChordBalanceDetails(uint8_t balance); + + void enableSubmode(SubmodeInterface *subMode); + void disableSubmode(); + bool isSubmodeEnabled(); + + bool getEncoderSelect(); + + void selectMidiFx(uint8_t mfxIndex, bool dispMsg); + void selectMidiFxChordKey(int8_t mfxIndex, bool dispMsg); + bool onKeyUpdateSelMidiFX(OMXKeypadEvent e); + bool onKeyHeldSelMidiFX(OMXKeypadEvent e); + + void doNoteOn(int noteNumber, uint8_t midifx, uint8_t velocity, uint8_t midiChannel); + void doNoteOff(int noteNumber, uint8_t midifx, uint8_t midiChannel); + + void splitNoteOn(uint8_t keyIndex); + void splitNoteOff(uint8_t keyIndex); + + void stopSequencers(); + + static void onNotePostFXForwarder(void *context, MidiNoteGroup note) + { + static_cast(context)->onNotePostFX(note); + } + void onNotePostFX(MidiNoteGroup note); + + static void onPendingNoteOffForwarder(void *context, int note, int channel) + { + static_cast(context)->onPendingNoteOff(note, channel); + } + + void onPendingNoteOff(int note, int channel); +}; diff --git a/Archive/OMX-27-firmware/src/modes/omx_mode_drum.cpp b/Archive/OMX-27-firmware/src/modes/omx_mode_drum.cpp new file mode 100644 index 00000000..59d16506 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_mode_drum.cpp @@ -0,0 +1,1436 @@ +#include "omx_mode_drum.h" +#include "../config.h" +#include "../consts/colors.h" +#include "../utils/omx_util.h" +#include "../utils/cvNote_util.h" +#include "../hardware/omx_disp.h" +#include "../hardware/omx_leds.h" +#include "../midi/midi.h" +#include "../utils/music_scales.h" +#include "../midi/noteoffs.h" + +enum DrumModePage { + DRUMPAGE_DRUMKEY, // Note, Chan, Vel, MidiFX + DRUMPAGE_DRUMKEY2, // Hue, RND Hue, Copy, Paste + DRUMPAGE_SCALES, // Hue, + DRUMPAGE_INSPECT, // Sent Pot CC, Last Note, Last Vel, Last Chan, Not editable, just FYI + DRUMPAGE_POTSANDMACROS, // PotBank, Thru, Macro, Macro Channel + DRUMPAGE_CFG, + DRUMPAGE_NUMPAGES +}; + +enum DrumEditMode { + DRUMMODE_NORMAL, + DRUMMODE_LOADKIT, + DRUMMODE_SAVEKIT, + DRUMMODE_NUM_OF_MODES, +}; + +OmxModeDrum::OmxModeDrum() +{ + params.addPages(DRUMPAGE_NUMPAGES); + + m8Macro_.setDoNoteOn(&OmxModeDrum::doNoteOnForwarder, this); + m8Macro_.setDoNoteOff(&OmxModeDrum::doNoteOffForwarder, this); + nornsMarco_.setDoNoteOn(&OmxModeDrum::doNoteOnForwarder, this); + nornsMarco_.setDoNoteOff(&OmxModeDrum::doNoteOffForwarder, this); + delugeMacro_.setDoNoteOn(&OmxModeDrum::doNoteOnForwarder, this); + delugeMacro_.setDoNoteOff(&OmxModeDrum::doNoteOffForwarder, this); + + presetManager.setContextPtr(this); + presetManager.setDoSaveFunc(&OmxModeDrum::doSaveKitForwarder); + presetManager.setDoLoadFunc(&OmxModeDrum::doLoadKitForwarder); +} + +void OmxModeDrum::changeMode(uint8_t newModeIndex) +{ + if(newModeIndex >= DRUMMODE_NUM_OF_MODES) + { + return; + } + + if(newModeIndex == DRUMMODE_NORMAL) + { + disableSubmode(); + } + if(newModeIndex == DRUMMODE_SAVEKIT) + { + presetManager.configure(PRESETMODE_SAVE, selDrumKit, NUM_DRUM_KITS, true); + enableSubmode(&presetManager); + } + else if(newModeIndex == DRUMMODE_LOADKIT) + { + presetManager.configure(PRESETMODE_LOAD, selDrumKit, NUM_DRUM_KITS, true); + enableSubmode(&presetManager); + } +} + + +void OmxModeDrum::InitSetup() +{ + initSetup = true; +} + +void OmxModeDrum::onModeActivated() +{ + // auto init when activated + if (!initSetup) + { + InitSetup(); + } + + // sequencer.playing = false; + stopSequencers(); + + omxLeds.setDirty(); + omxDisp.setDirty(); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setEnabled(true); + subModeMidiFx[i].onModeChanged(); + subModeMidiFx[i].setNoteOutputFunc(&OmxModeDrum::onNotePostFXForwarder, this); + } + + pendingNoteOffs.setNoteOffFunction(&OmxModeDrum::onPendingNoteOffForwarder, this); + + params.setSelPageAndParam(0, 0); + encoderSelect = true; + + activeDrumKit.CopyFrom(drumKits[selDrumKit]); + + // selectMidiFx(mfxIndex_, false); +} + +void OmxModeDrum::onModeDeactivated() +{ + stopSequencers(); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setEnabled(false); + subModeMidiFx[i].onModeChanged(); + } +} + +void OmxModeDrum::stopSequencers() +{ + omxUtil.stopClocks(); + pendingNoteOffs.allOff(); +} + +void OmxModeDrum::selectMidiFx(uint8_t mfxIndex, bool dispMsg) +{ + uint8_t prevMidiFX = activeDrumKit.drumKeys[selDrumKey].midifx; + + if(mfxIndex != prevMidiFX && prevMidiFX < NUM_MIDIFX_GROUPS) + { + drumKeyUp(selDrumKey + 1); + } + + activeDrumKit.drumKeys[selDrumKey].midifx = mfxIndex; + + if(mfxQuickEdit_) + { + // Change the MidiFX Group being edited + if(mfxIndex < NUM_MIDIFX_GROUPS && mfxIndex != quickEditMfxIndex_) + { + enableSubmode(&subModeMidiFx[mfxIndex]); + subModeMidiFx[mfxIndex].enablePassthrough(); + quickEditMfxIndex_ = mfxIndex; + dispMsg = false; + } + else if(mfxIndex >= NUM_MIDIFX_GROUPS) + { + disableSubmode(); + } + } + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setSelected(i == mfxIndex); + } + + if (dispMsg) + { + if (mfxIndex < NUM_MIDIFX_GROUPS) + { + omxDisp.displayMessageTimed("MidiFX " + String(mfxIndex + 1), 5); + } + else + { + omxDisp.displayMessageTimed("MidiFX Off", 5); + } + } +} + +void OmxModeDrum::onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) +{ + if (isSubmodeEnabled() && activeSubmode->usesPots()) + { + activeSubmode->onPotChanged(potIndex, prevValue, newValue, analogDelta); + return; + } + + auto activeMacro = getActiveMacro(); + + bool macroConsumesPots = false; + if (activeMacro != nullptr) + { + macroConsumesPots = activeMacro->consumesPots(); + } + + // Note, these get sent even if macro mode is not active + if (macroConsumesPots) + { + activeMacro->onPotChanged(potIndex, prevValue, newValue, analogDelta); + } + else + { + omxUtil.sendPots(potIndex, sysSettings.midiChannel); + } + + omxDisp.setDirty(); +} + +void OmxModeDrum::onClockTick() +{ + for (uint8_t i = 0; i < 5; i++) + { + // Lets them do things in background + subModeMidiFx[i].onClockTick(); + } +} + +void OmxModeDrum::loopUpdate(Micros elapsedTime) +{ + for (uint8_t i = 0; i < 5; i++) + { + // Lets them do things in background + subModeMidiFx[i].loopUpdate(); + } + + // Can be modified by scale MidiFX + musicScale->calculateScaleIfModified(scaleConfig.scaleRoot, scaleConfig.scalePattern); + +} + +bool OmxModeDrum::isDrumKeyHeld() +{ + if(isSubmodeEnabled()) return false; + + for(uint8_t i = 1; i < 27; i++) + { + if(midiSettings.midiKeyState[i] >= 0) + { + return true; + } + } + + return false; +} + +bool OmxModeDrum::getEncoderSelect() +{ + return encoderSelect && !midiSettings.midiAUX && !isDrumKeyHeld(); +} + +void OmxModeDrum::onEncoderChanged(Encoder::Update enc) +{ + if (isSubmodeEnabled()) + { + activeSubmode->onEncoderChanged(enc); + return; + } + + bool macroConsumesDisplay = false; + + if (macroActive_ && activeMacro_ != nullptr) + { + macroConsumesDisplay = activeMacro_->consumesDisplay(); + } + + if (macroConsumesDisplay) + { + activeMacro_->onEncoderChanged(enc); + return; + } + + if (getEncoderSelect()) + { + // onEncoderChangedSelectParam(enc); + params.changeParam(enc.dir()); + omxDisp.setDirty(); + return; + } + + auto amt = enc.accel(5); // where 5 is the acceleration factor if you want it, 0 if you don't) + + int8_t selPage = params.getSelPage(); + int8_t selParam = params.getSelParam() + 1; // Add one for readability + + if (selPage == DRUMPAGE_DRUMKEY) + { + auto drumKey = activeDrumKit.drumKeys[selDrumKey]; + + if (selParam == 1) // NoteNum + { + drumKey.noteNum = constrain(drumKey.noteNum + amt, 0, 127); + } + else if (selParam == 2) // Chan + { + drumKey.chan = constrain(drumKey.chan + amt, 1, 16); + } + else if (selParam == 3) // Vel + { + drumKey.vel = constrain(drumKey.vel + amt, 0, 127); + } + else if (selParam == 4) // MidiFX Slot + { + int midiFX = drumKey.midifx; + if(midiFX > NUM_MIDIFX_GROUPS) + { + midiFX = -1; + } + midiFX = constrain(midiFX + amt, -1, NUM_MIDIFX_GROUPS - 1); + if(midiFX < 0) + { + midiFX = 127; + } + drumKey.midifx = midiFX; + selectMidiFx(midiFX, false); + } + + // Apply changes + activeDrumKit.drumKeys[selDrumKey] = drumKey; + } + else if (selPage == DRUMPAGE_DRUMKEY2) + { + auto drumKey = activeDrumKit.drumKeys[selDrumKey]; + + if (selParam == 1) // Hue + { + drumKey.hue = constrain(drumKey.hue + amt, 0, 255); + omxLeds.setDirty(); + } + + // Apply changes + activeDrumKit.drumKeys[selDrumKey] = drumKey; + } + else if (selPage == DRUMPAGE_POTSANDMACROS) + { + if (selParam == 1) + { + potSettings.potbank = constrain(potSettings.potbank + amt, 0, NUM_CC_BANKS - 1); + } + if (selParam == 2) + { + midiSettings.midiSoftThru = constrain(midiSettings.midiSoftThru + amt, 0, 1); + } + if (selParam == 3) + { + midiMacroConfig.midiMacro = constrain(midiMacroConfig.midiMacro + amt, 0, nummacromodes); + } + if (selParam == 4) + { + midiMacroConfig.midiMacroChan = constrain(midiMacroConfig.midiMacroChan + amt, 1, 16); + } + } + else if (selPage == DRUMPAGE_SCALES) + { + if (selParam == 1) + { + int prevRoot = scaleConfig.scaleRoot; + scaleConfig.scaleRoot = constrain(scaleConfig.scaleRoot + amt, 0, 12 - 1); + if (prevRoot != scaleConfig.scaleRoot) + { + musicScale->calculateScale(scaleConfig.scaleRoot, scaleConfig.scalePattern); + } + } + if (selParam == 2) + { + int prevPat = scaleConfig.scalePattern; + scaleConfig.scalePattern = constrain(scaleConfig.scalePattern + amt, -1, musicScale->getNumScales() - 1); + if (prevPat != scaleConfig.scalePattern) + { + omxDisp.displayMessage(musicScale->getScaleName(scaleConfig.scalePattern)); + musicScale->calculateScale(scaleConfig.scaleRoot, scaleConfig.scalePattern); + } + } + if (selParam == 3) + { + scaleConfig.lockScale = constrain(scaleConfig.lockScale + amt, 0, 1); + } + if (selParam == 4) + { + scaleConfig.group16 = constrain(scaleConfig.group16 + amt, 0, 1); + } + } + else if(selPage == DRUMPAGE_CFG) + { + if (selParam == 3) + { + clockConfig.globalQuantizeStepIndex = constrain(clockConfig.globalQuantizeStepIndex + amt, 0, kNumArpRates - 1); + } + else if (selParam == 4) + { + cvNoteUtil.triggerMode = constrain(cvNoteUtil.triggerMode + amt, 0, 1); + } + } + + omxDisp.setDirty(); +} + +void OmxModeDrum::onEncoderButtonDown() +{ + if (isSubmodeEnabled()) + { + activeSubmode->onEncoderButtonDown(); + return; + } + + bool macroConsumesDisplay = false; + if (macroActive_ && activeMacro_ != nullptr) + { + macroConsumesDisplay = activeMacro_->consumesDisplay(); + } + + if (macroConsumesDisplay) + { + activeMacro_->onEncoderButtonDown(); + return; + } + + if (params.getSelPage() == DRUMPAGE_DRUMKEY2) + { + auto selParam = params.getSelParam(); + + if (selParam == 1) + { + randomizeHues(); + omxDisp.isDirty(); + omxLeds.isDirty(); + return; + } + else if (selParam == 2) // Copy + { + tempDrumKey.CopyFrom(activeDrumKit.drumKeys[selDrumKey]); + omxDisp.displayMessage("Copied " + String(selDrumKey + 1)); + omxDisp.isDirty(); + omxLeds.isDirty(); + return; + } + else if (selParam == 3) // Paste + { + activeDrumKit.drumKeys[selDrumKey].CopyFrom(tempDrumKey); + omxDisp.displayMessage("Pasted " + String(selDrumKey + 1)); + omxDisp.isDirty(); + omxLeds.isDirty(); + return; + } + } + + if (params.getSelPage() == DRUMPAGE_CFG && params.getSelParam() == 0) + { + enableSubmode(&subModePotConfig_); + omxDisp.isDirty(); + return; + } + + encoderSelect = !encoderSelect; + omxDisp.isDirty(); +} + +void OmxModeDrum::onEncoderButtonUp() +{ +} + +void OmxModeDrum::onEncoderButtonDownLong() +{ +} + +bool OmxModeDrum::shouldBlockEncEdit() +{ + if (isSubmodeEnabled()) + { + return activeSubmode->shouldBlockEncEdit(); + } + + if (macroActive_) + { + return true; + } + + return false; +} + +void OmxModeDrum::saveKit(uint8_t saveIndex) +{ + drumKits[saveIndex].CopyFrom(activeDrumKit); + selDrumKit = saveIndex; +} + +void OmxModeDrum::loadKit(uint8_t loadIndex) +{ + activeDrumKit.CopyFrom(drumKits[loadIndex]); + selDrumKit = loadIndex; +} + +void OmxModeDrum::onKeyUpdate(OMXKeypadEvent e) +{ + if (isSubmodeEnabled()) + { + if (activeSubmode->onKeyUpdate(e)) + return; + } + + int thisKey = e.key(); + + // Aux double click toggle macro + if (!isSubmodeEnabled() && midiMacroConfig.midiMacro > 0) + { + if (!macroActive_) + { + // Enter M8 Mode + if (!e.down() && thisKey == 0 && e.clicks() == 2) + { + midiSettings.midiAUX = false; + + activeMacro_ = getActiveMacro(); + if (activeMacro_ != nullptr) + { + macroActive_ = true; + activeMacro_->setEnabled(true); + activeMacro_->setScale(musicScale); + omxLeds.setDirty(); + omxDisp.setDirty(); + return; + } + return; + } + } + else // Macro mode active + { + if (!e.down() && thisKey == 0 && e.clicks() == 2) + { + // exit macro mode + if (activeMacro_ != nullptr) + { + activeMacro_->setEnabled(false); + activeMacro_ = nullptr; + } + + midiSettings.midiAUX = false; + macroActive_ = false; + omxLeds.setDirty(); + omxDisp.setDirty(); + + // Clear LEDs + // for (int m = 1; m < LED_COUNT; m++) + // { + // strip.setPixelColor(m, LEDOFF); + // } + } + else + { + if (activeMacro_ != nullptr) + { + activeMacro_->onKeyUpdate(e); + } + } + return; + } + } + + if (onKeyUpdateSelMidiFX(e)) + return; + + // REGULAR KEY PRESSES + if (!e.held()) + { // IGNORE LONG PRESS EVENTS + if (e.down() && thisKey != 0) + { + bool keyConsumed = false; // If used for aux, key will be consumed and not send notes. + + if (midiSettings.midiAUX) // Aux mode + { + keyConsumed = true; + + // if (thisKey == 11 || thisKey == 12) // Change Octave + // { + // int amt = thisKey == 11 ? -1 : 1; + // midiSettings.octave = constrain(midiSettings.octave + amt, -5, 4); + // } + if (!mfxQuickEdit_ && (thisKey == 1 || thisKey == 2)) // Change Param selection + { + if (thisKey == 1) + { + params.decrementParam(); + } + else if (thisKey == 2) + { + params.incrementParam(); + } + } + else if(thisKey == 3) + { + changeMode(DRUMMODE_LOADKIT); + return; + } + else if(thisKey == 4) + { + changeMode(DRUMMODE_SAVEKIT); + return; + } + else if (thisKey == 11 || thisKey == 12) + { + saveKit(selDrumKit); + + int8_t amt = thisKey == 11 ? -1 : 1; + uint8_t newKitIndex = (selDrumKit + NUM_DRUM_KITS + amt) % NUM_DRUM_KITS; + loadKit(newKitIndex); + + omxDisp.displayMessage("Loaded " + String(newKitIndex + 1)); + } + } + + if (!keyConsumed) + { + drumKeyDown(thisKey); + } + } + else if (!e.down() && thisKey != 0) + { + drumKeyUp(thisKey); + } + } + + // AUX KEY + if (e.down() && thisKey == 0) + { + if (!macroActive_) + { + midiSettings.midiAUX = true; + } + } + else if (!e.down() && thisKey == 0) + { + if (midiSettings.midiAUX) + { + midiSettings.midiAUX = false; + } + } + + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +bool OmxModeDrum::onKeyUpdateSelMidiFX(OMXKeypadEvent e) +{ + int thisKey = e.key(); + + bool keyConsumed = false; + + uint8_t mfxIndex = activeDrumKit.drumKeys[selDrumKey].midifx; + + if (!e.held()) + { + // Double Click to edit midi fx + if (!e.down() && e.clicks() == 2 && thisKey >= 6 && thisKey < 11) + { + if (midiSettings.midiAUX) // Aux mode + { + enableSubmode(&subModeMidiFx[thisKey - 6]); + keyConsumed = true; + } + } + + if (e.down() && thisKey != 0) + { + if (midiSettings.midiAUX) // Aux mode + { + if (mfxQuickEdit_ && thisKey == 1) + { + subModeMidiFx[quickEditMfxIndex_].selectPrevMFXSlot(); + } + else if (mfxQuickEdit_ && thisKey == 2) + { + subModeMidiFx[quickEditMfxIndex_].selectNextMFXSlot(); + } + else if (thisKey == 5) + { + keyConsumed = true; + // Turn off midiFx + selectMidiFx(127, true); + // mfxIndex_ = 127; + } + else if (thisKey >= 6 && thisKey < 11) + { + keyConsumed = true; + selectMidiFx(thisKey - 6, true); + // Change active midiFx + // mfxIndex_ = thisKey - 6; + } + else if (thisKey == 20) // MidiFX Passthrough + { + keyConsumed = true; + if (mfxIndex < NUM_MIDIFX_GROUPS) + { + enableSubmode(&subModeMidiFx[mfxIndex]); + subModeMidiFx[mfxIndex].enablePassthrough(); + mfxQuickEdit_ = true; + quickEditMfxIndex_ = mfxIndex; + midiSettings.midiAUX = false; + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 22) // Goto arp params + { + keyConsumed = true; + if (mfxIndex < NUM_MIDIFX_GROUPS) + { + enableSubmode(&subModeMidiFx[mfxIndex]); + subModeMidiFx[mfxIndex].gotoArpParams(); + midiSettings.midiAUX = false; + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 23) // Next arp pattern + { + keyConsumed = true; + if (mfxIndex < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxIndex].nextArpPattern(); + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 24) // Next arp octave + { + keyConsumed = true; + if (mfxIndex < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxIndex].nextArpOctRange(); + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 25) + { + keyConsumed = true; + if (mfxIndex < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxIndex].toggleArpHold(); + + if (subModeMidiFx[mfxIndex].isArpHoldOn()) + { + omxDisp.displayMessageTimed("Arp Hold: On", 5); + } + else + { + omxDisp.displayMessageTimed("Arp Hold: Off", 5); + } + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 26) + { + keyConsumed = true; + if (mfxIndex < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxIndex].toggleArp(); + + if (subModeMidiFx[mfxIndex].isArpOn()) + { + omxDisp.displayMessageTimed("Arp On", 5); + } + else + { + omxDisp.displayMessageTimed("Arp Off", 5); + } + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + } + } + } + + return keyConsumed; +} + +bool OmxModeDrum::onKeyHeldSelMidiFX(OMXKeypadEvent e) +{ + int thisKey = e.key(); + + bool keyConsumed = false; + + if (midiSettings.midiAUX) // Aux mode + { + // Enter MidiFX mode + if (thisKey >= 6 && thisKey < 11) + { + keyConsumed = true; + enableSubmode(&subModeMidiFx[thisKey - 6]); + } + } + + return keyConsumed; +} + +void OmxModeDrum::onKeyHeldUpdate(OMXKeypadEvent e) +{ + if (isSubmodeEnabled()) + { + activeSubmode->onKeyHeldUpdate(e); + return; + } + + if (onKeyHeldSelMidiFX(e)) + return; +} + +// TODO : Instantiate these outside of class so they are global +midimacro::MidiMacroInterface *OmxModeDrum::getActiveMacro() +{ + switch (midiMacroConfig.midiMacro) + { + case 1: + return &m8Macro_; + case 2: + return &nornsMarco_; + case 3: + return &delugeMacro_; + } + return nullptr; +} + +void OmxModeDrum::updateLEDs() +{ + if (isSubmodeEnabled()) + { + if (activeSubmode->updateLEDs()) + return; + } + + bool blinkState = omxLeds.getBlinkState(); + bool slowBlink = omxLeds.getSlowBlinkState(); + + if (midiSettings.midiAUX) + { + // Blink left/right keys for octave select indicators. + auto color1 = LIME; + auto color2 = MAGENTA; + + for (int q = 1; q < LED_COUNT; q++) + { + if (midiSettings.midiKeyState[q] == -1) + { + if (colorConfig.midiBg_Hue == 0) + { + strip.setPixelColor(q, LEDOFF); + } + else if (colorConfig.midiBg_Hue == 32) + { + strip.setPixelColor(q, LOWWHITE); + } + else + { + strip.setPixelColor(q, strip.ColorHSV(colorConfig.midiBg_Hue, colorConfig.midiBg_Sat, colorConfig.midiBg_Brightness)); + } + } + } + strip.setPixelColor(0, RED); + strip.setPixelColor(1, color1); + strip.setPixelColor(2, color2); + + strip.setPixelColor(3, BLUE); // Load + strip.setPixelColor(4, ORANGE); // Save + + omxLeds.drawOctaveKeys(11, 12, midiSettings.octave); + + uint8_t mfxIndex = activeDrumKit.drumKeys[selDrumKey].midifx; + + // MidiFX off + strip.setPixelColor(5, (mfxIndex >= NUM_MIDIFX_GROUPS ? colorConfig.selMidiFXGRPOffColor : colorConfig.midiFXGRPOffColor)); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + auto mfxColor = (i == mfxIndex) ? colorConfig.selMidiFXGRPColor : colorConfig.midiFXGRPColor; + + strip.setPixelColor(6 + i, mfxColor); + } + + strip.setPixelColor(20, mfxQuickEdit_ && blinkState ? LEDOFF : colorConfig.mfxQuickEdit); + strip.setPixelColor(22, colorConfig.gotoArpParams); + strip.setPixelColor(23, colorConfig.nextArpPattern); + + if (mfxIndex < NUM_MIDIFX_GROUPS) + { + uint8_t octaveRange = subModeMidiFx[mfxIndex].getArpOctaveRange(); + if (octaveRange == 0) + { + strip.setPixelColor(24, colorConfig.nextArpOctave); + } + else + { + // Serial.println("Blink Octave: " + String(octaveRange)); + bool blinkOctave = omxLeds.getBlinkPattern(octaveRange); + + strip.setPixelColor(24, blinkOctave ? colorConfig.nextArpOctave : LEDOFF); + } + + bool isOn = subModeMidiFx[mfxIndex].isArpOn() && blinkState; + bool isHoldOn = subModeMidiFx[mfxIndex].isArpHoldOn(); + + strip.setPixelColor(25, isHoldOn ? colorConfig.arpHoldOn : colorConfig.arpHoldOff); + strip.setPixelColor(26, isOn ? colorConfig.arpOn : colorConfig.arpOff); + } + else + { + strip.setPixelColor(25, colorConfig.arpHoldOff); + strip.setPixelColor(26, colorConfig.arpOff); + } + } + else + { + for(uint8_t k = 1; k < 27; k++) + { + auto drumKey = activeDrumKit.drumKeys[k-1]; + + bool drumKeyOn = midiSettings.midiKeyState[k] >= 0; + + if(k-1 == selDrumKey) + { + drumKeyOn = drumKeyOn || slowBlink; + } + + uint16_t hue = map(drumKey.hue, 0, 255, 0, 65535); + + strip.setPixelColor(k, strip.gamma32(strip.ColorHSV(hue, drumKeyOn ? 200 : 255, drumKeyOn ? 255 : 160))); + } + } + + // if (isSubmodeEnabled()) + // { + // bool blinkStateSlow = omxLeds.getSlowBlinkState(); + + // auto auxColor = (blinkStateSlow ? RED : LEDOFF); + // strip.setPixelColor(0, auxColor); + // } +} + +void OmxModeDrum::onDisplayUpdate() +{ + if (isSubmodeEnabled()) + { + if (omxLeds.isDirty()) + { + updateLEDs(); + } + activeSubmode->onDisplayUpdate(); + return; + } + + bool macroConsumesDisplay = false; + + if (macroActive_ && activeMacro_ != nullptr) + { + activeMacro_->drawLEDs(); + macroConsumesDisplay = activeMacro_->consumesDisplay(); + } + else + { + if (omxLeds.isDirty()) + { + updateLEDs(); + } + } + + if (macroConsumesDisplay) + { + activeMacro_->onDisplayUpdate(); + } + else + { + if (omxDisp.isDirty()) + { // DISPLAY + if (!encoderConfig.enc_edit) + { + if (params.getSelPage() == DRUMPAGE_DRUMKEY) + { + auto drumKey = activeDrumKit.drumKeys[selDrumKey]; + + omxDisp.clearLegends(); + + omxDisp.legends[0] = "NOTE"; + omxDisp.legends[1] = "CH"; + omxDisp.legends[2] = "VEL"; + omxDisp.legends[3] = "FX#"; + omxDisp.legendVals[0] = drumKey.noteNum; + omxDisp.legendVals[1] = drumKey.chan; + omxDisp.legendVals[2] = drumKey.vel; + if(drumKey.midifx >= NUM_MIDIFX_GROUPS) + { + omxDisp.legendText[3] = "OFF"; + } + else + { + omxDisp.legendVals[3] = drumKey.midifx + 1; + } + } + else if (params.getSelPage() == DRUMPAGE_DRUMKEY2) + { + auto drumKey = activeDrumKit.drumKeys[selDrumKey]; + + omxDisp.clearLegends(); + + omxDisp.legends[0] = "HUE"; + omxDisp.legends[1] = "HUE"; + omxDisp.legends[2] = "COPY"; + omxDisp.legends[3] = "PAST"; + omxDisp.legendVals[0] = drumKey.hue; + omxDisp.legendText[1] = "RND"; + omxDisp.legendVals[2] = selDrumKey + 1; + omxDisp.legendVals[3] = selDrumKey + 1; + } + else if (params.getSelPage() == DRUMPAGE_INSPECT) + { + omxDisp.clearLegends(); + + omxDisp.legends[0] = "P CC"; + omxDisp.legends[1] = "P VAL"; + omxDisp.legends[2] = "NOTE"; + omxDisp.legends[3] = "VEL"; + omxDisp.legendVals[0] = potSettings.potCC; + omxDisp.legendVals[1] = potSettings.potVal; + omxDisp.legendVals[2] = midiSettings.midiLastNote; + omxDisp.legendVals[3] = midiSettings.midiLastVel; + } + else if (params.getSelPage() == DRUMPAGE_POTSANDMACROS) // SUBMODE_MIDI3 + { + omxDisp.clearLegends(); + + omxDisp.legends[0] = "PBNK"; // Potentiometer Banks + omxDisp.legends[1] = "THRU"; // MIDI thru (usb to hardware) + omxDisp.legends[2] = "MCRO"; // Macro mode + omxDisp.legends[3] = "M-CH"; + omxDisp.legendVals[0] = potSettings.potbank + 1; + omxDisp.legendText[1] = midiSettings.midiSoftThru ? "On" : "Off"; + omxDisp.legendText[2] = macromodes[midiMacroConfig.midiMacro]; + omxDisp.legendVals[3] = midiMacroConfig.midiMacroChan; + } + else if (params.getSelPage() == DRUMPAGE_SCALES) // SCALES + { + omxDisp.clearLegends(); + omxDisp.legends[0] = "ROOT"; + omxDisp.legends[1] = "SCALE"; + omxDisp.legends[2] = "LOCK"; + omxDisp.legends[3] = "GROUP"; + omxDisp.legendVals[0] = -127; + if (scaleConfig.scalePattern < 0) + { + omxDisp.legendVals[1] = -127; + omxDisp.legendText[1] = "Off"; + } + else + { + omxDisp.legendVals[1] = scaleConfig.scalePattern; + } + + omxDisp.legendVals[2] = -127; + omxDisp.legendVals[3] = -127; + + omxDisp.legendText[0] = musicScale->getNoteName(scaleConfig.scaleRoot); + omxDisp.legendText[2] = scaleConfig.lockScale ? "On" : "Off"; + omxDisp.legendText[3] = scaleConfig.group16 ? "On" : "Off"; + } + else if (params.getSelPage() == DRUMPAGE_CFG) // CONFIG + { + omxDisp.clearLegends(); + omxDisp.setLegend(0,"P CC", "CFG"); + omxDisp.setLegend(1,"CLR", "STOR"); + omxDisp.setLegend(2,"QUANT", "1/" + String(kArpRates[clockConfig.globalQuantizeStepIndex])); + omxDisp.setLegend(3,"CV M", cvNoteUtil.getTriggerModeDispName()); + } + + omxDisp.dispGenericMode2(params.getNumPages(), params.getSelPage(), params.getSelParam(), getEncoderSelect()); + } + } + } +} + +// void onDisplayUpdateLoadKit() +// { + +// } + +// incoming midi note on +void OmxModeDrum::inMidiNoteOn(byte channel, byte note, byte velocity) +{ + // midiSettings.midiLastNote = note; + // midiSettings.midiLastVel = velocity; + // int whatoct = (note / 12); + // int thisKey; + // uint32_t keyColor = MIDINOTEON; + + // if ((whatoct % 2) == 0) + // { + // thisKey = note - (12 * whatoct); + // } + // else + // { + // thisKey = note - (12 * whatoct) + 12; + // } + // if (whatoct == 0) + // { // ORANGE,YELLOW,GREEN,MAGENTA,CYAN,BLUE,LIME,LTPURPLE + // } + // else if (whatoct == 1) + // { + // keyColor = ORANGE; + // } + // else if (whatoct == 2) + // { + // keyColor = YELLOW; + // } + // else if (whatoct == 3) + // { + // keyColor = GREEN; + // } + // else if (whatoct == 4) + // { + // keyColor = MAGENTA; + // } + // else if (whatoct == 5) + // { + // keyColor = CYAN; + // } + // else if (whatoct == 6) + // { + // keyColor = LIME; + // } + // else if (whatoct == 7) + // { + // keyColor = CYAN; + // } + // strip.setPixelColor(midiKeyMap[thisKey], keyColor); // Set pixel's color (in RAM) + // // dirtyPixels = true; + // strip.show(); + // omxDisp.setDirty(); +} + +void OmxModeDrum::inMidiNoteOff(byte channel, byte note, byte velocity) +{ + // int whatoct = (note / 12); + // int thisKey; + // if ((whatoct % 2) == 0) + // { + // thisKey = note - (12 * whatoct); + // } + // else + // { + // thisKey = note - (12 * whatoct) + 12; + // } + // strip.setPixelColor(midiKeyMap[thisKey], LEDOFF); // Set pixel's color (in RAM) + // // dirtyPixels = true; + // strip.show(); + // omxDisp.setDirty(); +} + +void OmxModeDrum::inMidiControlChange(byte channel, byte control, byte value) +{ + auto activeMacro = getActiveMacro(); + + if (activeMacro != nullptr) + { + activeMacro->inMidiControlChange(channel, control, value); + } +} + +void OmxModeDrum::SetScale(MusicScales *scale) +{ + this->musicScale = scale; + m8Macro_.setScale(scale); + nornsMarco_.setScale(scale); +} + +void OmxModeDrum::randomizeHues() +{ + for(uint8_t i = 0; i < 26; i++) + { + activeDrumKit.drumKeys[i].hue = random(255); + } +} + +void OmxModeDrum::enableSubmode(SubmodeInterface *subMode) +{ + if (activeSubmode != nullptr) + { + activeSubmode->setEnabled(false); + } + + activeSubmode = subMode; + activeSubmode->setEnabled(true); + omxDisp.setDirty(); +} + +void OmxModeDrum::disableSubmode() +{ + if (activeSubmode != nullptr) + { + activeSubmode->setEnabled(false); + } + + midiSettings.midiAUX = false; + mfxQuickEdit_ = false; + activeSubmode = nullptr; + omxDisp.setDirty(); +} + +bool OmxModeDrum::isSubmodeEnabled() +{ + if (activeSubmode == nullptr) + return false; + + if (activeSubmode->isEnabled() == false) + { + disableSubmode(); + midiSettings.midiAUX = false; + return false; + } + + return true; +} + +void OmxModeDrum::drumKeyDown(uint8_t keyIndex) +{ + auto drumKey = activeDrumKit.drumKeys[keyIndex - 1]; + + MidiNoteGroup noteGroup = omxUtil.midiDrumNoteOn(keyIndex, drumKey.noteNum, drumKey.vel, drumKey.chan); + + if (noteGroup.noteNumber == 255) + return; + + selDrumKey = keyIndex - 1; + + noteGroup.unknownLength = true; + noteGroup.prevNoteNumber = noteGroup.noteNumber; + + if (drumKey.midifx < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[drumKey.midifx].noteInput(noteGroup); + } + else + { + onNotePostFX(noteGroup); + } +} + +void OmxModeDrum::drumKeyUp(uint8_t keyIndex) +{ + MidiNoteGroup noteGroup = omxUtil.midiDrumNoteOff(keyIndex); + + if (noteGroup.noteNumber == 255) + return; + + auto drumKey = activeDrumKit.drumKeys[keyIndex - 1]; + + noteGroup.unknownLength = true; + noteGroup.prevNoteNumber = noteGroup.noteNumber; + + if (drumKey.midifx < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[drumKey.midifx].noteInput(noteGroup); + } + else + { + onNotePostFX(noteGroup); + } +} + +// Called via doNoteOnForwarder +void OmxModeDrum::doNoteOn(uint8_t keyIndex) +{ + MidiNoteGroup noteGroup = omxUtil.midiNoteOn2(musicScale, keyIndex, midiSettings.defaultVelocity, sysSettings.midiChannel); + + if (noteGroup.noteNumber == 255) + return; + + // Serial.println("doNoteOn: " + String(noteGroup.noteNumber)); + + noteGroup.unknownLength = true; + noteGroup.prevNoteNumber = noteGroup.noteNumber; + + onNotePostFX(noteGroup); + + // if (mfxIndex_ < NUM_MIDIFX_GROUPS) + // { + // subModeMidiFx[mfxIndex_].noteInput(noteGroup); + // // subModeMidiFx.noteInput(noteGroup); + // } + // else + // { + // onNotePostFX(noteGroup); + // } +} + +// Called via doNoteOnForwarder +void OmxModeDrum::doNoteOff(uint8_t keyIndex) +{ + MidiNoteGroup noteGroup = omxUtil.midiNoteOff2(keyIndex, sysSettings.midiChannel); + + if (noteGroup.noteNumber == 255) + return; + + // Serial.println("doNoteOff: " + String(noteGroup.noteNumber)); + + noteGroup.unknownLength = true; + noteGroup.prevNoteNumber = noteGroup.noteNumber; + + onNotePostFX(noteGroup); + + // if (mfxIndex_ < NUM_MIDIFX_GROUPS) + // { + // subModeMidiFx[mfxIndex_].noteInput(noteGroup); + // // subModeMidiFx.noteInput(noteGroup); + // } + // else + // { + // onNotePostFX(noteGroup); + // } +} + +// Called by the midiFX group when a note exits it's FX Pedalboard +void OmxModeDrum::onNotePostFX(MidiNoteGroup note) +{ + if (note.noteOff) + { + // Serial.println("OmxModeDrum::onNotePostFX noteOff: " + String(note.noteNumber)); + + if (note.sendMidi) + { + MM::sendNoteOff(note.noteNumber, note.velocity, note.channel); + } + if (note.sendCV) + { + cvNoteUtil.cvNoteOff(note.noteNumber); + } + } + else + { + if (note.unknownLength == false) + { + uint32_t noteOnMicros = note.noteonMicros; // TODO Might need to be set to current micros + pendingNoteOns.insert(note.noteNumber, note.velocity, note.channel, noteOnMicros, note.sendCV); + + // Serial.println("StepLength: " + String(note.stepLength)); + + uint32_t noteOffMicros = noteOnMicros + (note.stepLength * clockConfig.step_micros); + pendingNoteOffs.insert(note.noteNumber, note.channel, noteOffMicros, note.sendCV); + + // Serial.println("noteOnMicros: " + String(noteOnMicros)); + // Serial.println("noteOffMicros: " + String(noteOffMicros)); + } + else + { + // Serial.println("OmxModeDrum::onNotePostFX noteOn: " + String(note.noteNumber)); + + if (note.sendMidi) + { + midiSettings.midiLastNote = note.noteNumber; + midiSettings.midiLastVel = note.velocity; + MM::sendNoteOn(note.noteNumber, note.velocity, note.channel); + } + if (note.sendCV) + { + cvNoteUtil.cvNoteOn(note.noteNumber); + } + } + } + + // uint32_t noteOnMicros = note.noteonMicros; // TODO Might need to be set to current micros + // pendingNoteOns.insert(note.noteNumber, note.velocity, note.channel, noteOnMicros, note.sendCV); + + // uint32_t noteOffMicros = noteOnMicros + (note.stepLength * clockConfig.step_micros); + // pendingNoteOffs.insert(note.noteNumber, note.channel, noteOffMicros, note.sendCV); +} + +void OmxModeDrum::onPendingNoteOff(int note, int channel) +{ + // Serial.println("OmxModeEuclidean::onPendingNoteOff " + String(note) + " " + String(channel)); + // subModeMidiFx.onPendingNoteOff(note, channel); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].onPendingNoteOff(note, channel); + } +} + +int OmxModeDrum::saveToDisk(int startingAddress, Storage *storage) +{ + int saveSize = sizeof(DrumKit); + + for (uint8_t saveIndex = 0; saveIndex < NUM_DRUM_KITS; saveIndex++) + { + auto saveBytesPtr = (byte *)(&drumKits[saveIndex]); + for (int j = 0; j < saveSize; j++) + { + storage->write(startingAddress + j, *saveBytesPtr++); + } + + startingAddress += saveSize; + } + + return startingAddress; +} + +int OmxModeDrum::loadFromDisk(int startingAddress, Storage *storage) +{ + int saveSize = sizeof(DrumKit); // 5 * 26 = 130 + + // int drumKeySize = sizeof(DrumKeySettings); + + // Serial.println((String)"DrumKit Size: " + saveSize + " drumKeySize: " + drumKeySize); // 5 - 130 - 1040 bytes + + for (uint8_t saveIndex = 0; saveIndex < NUM_DRUM_KITS; saveIndex++) + { + // auto drumKit = DrumKit{}; + // auto current = (byte *)&drumKit; + // for (int j = 0; j < saveSize; j++) + // { + // *current = storage->read(startingAddress + j); + // current++; + // } + + // drumKits[saveIndex].CopyFrom(drumKit); + + // Write bytes to heap + auto current = (byte *)&drumKits[saveIndex]; + for (int j = 0; j < saveSize; j++) + { + *current = storage->read(startingAddress + j); + current++; + } + + startingAddress += saveSize; + } + + loadKit(0); + + return startingAddress; +} diff --git a/Archive/OMX-27-firmware/src/modes/omx_mode_drum.h b/Archive/OMX-27-firmware/src/modes/omx_mode_drum.h new file mode 100644 index 00000000..a3cb1c6c --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_mode_drum.h @@ -0,0 +1,187 @@ +#pragma once + +#include "omx_mode_interface.h" +#include "../utils/music_scales.h" +#include "../utils/param_manager.h" +#include "submodes/submode_midifxgroup.h" +#include "submodes/submode_potconfig.h" +#include "submodes/submode_preset.h" +#include "../midifx/midifx_interface.h" +#include "../midifx/midifx_interface.h" +#include "../midimacro/midimacro_m8.h" +#include "../midimacro/midimacro_norns.h" +#include "../midimacro/midimacro_deluge.h" + +struct DrumKeySettings +{ +public: + uint8_t noteNum = 64; + uint8_t chan = 1; + uint8_t vel = 100; + uint8_t midifx = 0; + uint8_t hue = 64; + + void CopyFrom(DrumKeySettings other) + { + this->noteNum = other.noteNum; + this->chan = other.chan; + this->vel = other.vel; + this->midifx = other.midifx; + this->hue = other.hue; + } +}; + +struct DrumKit +{ + public: + DrumKeySettings drumKeys[26]; // Sorry, Aux can't be used for a drum key + + void CopyFrom(DrumKit other) + { + for(uint8_t i = 0; i < 26; i++) + { + drumKeys[i].CopyFrom(other.drumKeys[i]); + } + } +}; + +// This mode is designed to be used with samplers or drum machines +// Each key can be configured to whatever Note, Vel, Midi Chan you want. +// This class is very similar to the midi keyboard, maybe we merge or inherit. +class OmxModeDrum : public OmxModeInterface +{ +public: + OmxModeDrum(); + ~OmxModeDrum() {} + + void InitSetup() override; + void onModeActivated() override; + void onModeDeactivated() override; + + void onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) override; + void loopUpdate(Micros elapsedTime) override; + void onClockTick() override; + + void updateLEDs() override; + + void onEncoderChanged(Encoder::Update enc) override; + void onEncoderButtonDown() override; + void onEncoderButtonUp() override; + + void onEncoderButtonDownLong() override; + + bool shouldBlockEncEdit() override; + + void onKeyUpdate(OMXKeypadEvent e) override; + void onKeyHeldUpdate(OMXKeypadEvent e) override; + + void onDisplayUpdate() override; + void inMidiNoteOn(byte channel, byte note, byte velocity) override; + void inMidiNoteOff(byte channel, byte note, byte velocity) override; + void inMidiControlChange(byte channel, byte control, byte value) override; + + void SetScale(MusicScales *scale); + + int saveToDisk(int startingAddress, Storage *storage); + int loadFromDisk(int startingAddress, Storage *storage); +private: + static const uint8_t NUM_DRUM_KITS = 8; + SubModePreset presetManager; + uint8_t selDrumKit; + uint8_t selDrumKey; + + DrumKeySettings tempDrumKey; // for copy/paste + + DrumKit activeDrumKit; + DrumKit drumKits[NUM_DRUM_KITS]; + MusicScales *musicScale; + + void changeMode(uint8_t newModeIndex); + void drumKeyDown(uint8_t keyIndex); + void drumKeyUp(uint8_t keyIndex); + void randomizeHues(); + + bool initSetup = false; + + // If true, encoder selects param rather than modifies value + bool encoderSelect = false; + // void onEncoderChangedSelectParam(Encoder::Update enc); + ParamManager params; + + bool macroActive_ = false; + bool mfxQuickEdit_ = false; + uint8_t quickEditMfxIndex_ = 0; + + bool isDrumKeyHeld(); + bool getEncoderSelect(); + + void onKeyUpdateLoadKit(OMXKeypadEvent e); + bool onKeyUpdateSelMidiFX(OMXKeypadEvent e); + bool onKeyHeldSelMidiFX(OMXKeypadEvent e); + + // SubModes + SubmodeInterface *activeSubmode = nullptr; + SubModePotConfig subModePotConfig_; + + void enableSubmode(SubmodeInterface *subMode); + void disableSubmode(); + bool isSubmodeEnabled(); + + void doNoteOn(uint8_t keyIndex); + void doNoteOff(uint8_t keyIndex); + + // Static glue to link a pointer to a member function + static void onNotePostFXForwarder(void *context, MidiNoteGroup note) + { + static_cast(context)->onNotePostFX(note); + } + + void onNotePostFX(MidiNoteGroup note); + + // Static glue to link a pointer to a member function + static void onPendingNoteOffForwarder(void *context, int note, int channel) + { + static_cast(context)->onPendingNoteOff(note, channel); + } + + void onPendingNoteOff(int note, int channel); + + void stopSequencers(); + + void selectMidiFx(uint8_t mfxIndex, bool dispMsg); + + // uint8_t mfxIndex_ = 0; + + midimacro::MidiMacroNorns nornsMarco_; + midimacro::MidiMacroM8 m8Macro_; + midimacro::MidiMacroDeluge delugeMacro_; + + midimacro::MidiMacroInterface *activeMacro_; + + midimacro::MidiMacroInterface *getActiveMacro(); + + void saveKit(uint8_t saveIndex); + void loadKit(uint8_t loadIndex); + + static void doSaveKitForwarder(void *context, uint8_t kitIndex) + { + static_cast(context)->saveKit(kitIndex); + } + + static void doLoadKitForwarder(void *context, uint8_t kitIndex) + { + static_cast(context)->loadKit(kitIndex); + } + + // Static glue to link a pointer to a member function + static void doNoteOnForwarder(void *context, uint8_t keyIndex) + { + static_cast(context)->doNoteOn(keyIndex); + } + + // Static glue to link a pointer to a member function + static void doNoteOffForwarder(void *context, uint8_t keyIndex) + { + static_cast(context)->doNoteOff(keyIndex); + } +}; diff --git a/Archive/OMX-27-firmware/src/modes/omx_mode_euclidean.cpp b/Archive/OMX-27-firmware/src/modes/omx_mode_euclidean.cpp new file mode 100644 index 00000000..f9a42914 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_mode_euclidean.cpp @@ -0,0 +1,1554 @@ +#include "../modes/omx_mode_euclidean.h" +#include "../config.h" +#include "../utils/omx_util.h" +#include "../hardware/omx_disp.h" +#include "../hardware/omx_leds.h" +// #include "../sequencer.h" +#include "../modes/euclidean_sequencer.h" +// #include "../ClearUI/ClearUI.h" +#include "../midi/noteoffs.h" +#include "../midi/midi.h" +#include "../utils/logic_util.h" +using namespace euclidean; + +using namespace euclidean; + +// enum EucModePage { +// EUCLID_DENSITY, +// EUCLID_XY, +// EUCLID_NOTES, +// EUCLID_CONFIG +// }; + +enum ParamModes +{ + PARAMMODE_MIX = 0, + PARAMMODE_EDIT = 1, + PARAMMODE_PATTERN = 2 +}; + +enum SelEucModePage +{ + SELEUCLID_PAT, + SELEUCLID_1, + SELEUCLID_NOTES, + SELEUCLID_CFG1 // PolyRythm, Rate, Global Rate, BPM +}; + +const int kSelMixColor = WHITE; +const int kMixColor = ORANGE; +const int kMixTrigger = 0xFCD0A4; +const int kMixMuteColor = 0x080808; // 0x1f1001; + +const int kSelSaveColor = WHITE; +const int kSaveColor = DKGREEN; + +const int kSelEuclidColor = LBLUE; +const int kSelEuclidTriggerColor = AMBER; +const int kSelEuclidMuteColor = DKBLUE; +const int kEuclidColor = DKRED; +const int kEuclidTrigger = AMBER; +const int kEuclidMuteColor = 0x080808; // 0x240000; + +const int kSelMidiFXColor = LTCYAN; +const int kMidiFXColor = BLUE; + +OmxModeEuclidean::OmxModeEuclidean() +{ + midiKeyboard.setMidiMode(); + + // Setup function pointers for note ons. + for (uint8_t i = 0; i < kNumEuclids; i++) + { + euclids[i].setNoteOutputFunc(&OmxModeEuclidean::onNoteTriggeredForwarder, this, i); + } + + polyRhythmMode = false; + + for (uint8_t i = 0; i < kNumEuclids; i++) + { + euclids[i].setPolyRhythmMode(polyRhythmMode); + euclids[i].setClockDivMult(3); + euclids[i].setPolyRClockDivMult(3); + + initEuclid_.polyRhythmMode_ = polyRhythmMode; + initEuclid_.polyRClockDivMultP_ = 3; + } + + paramMode_ = PARAMMODE_EDIT; + + params_[PARAMMODE_MIX].addPage(1); + + params_[PARAMMODE_EDIT].addPage(1); + params_[PARAMMODE_EDIT].addPage(4); + params_[PARAMMODE_EDIT].addPage(4); + params_[PARAMMODE_EDIT].addPage(4); + + params_[PARAMMODE_PATTERN].addPage(1); + + euclids[0].setNoteNumber(36); + euclids[1].setNoteNumber(38); + euclids[2].setNoteNumber(42); + euclids[3].setNoteNumber(46); + + euclids[4].setNoteNumber(60); + euclids[5].setNoteNumber(64); + euclids[6].setNoteNumber(67); + euclids[7].setNoteNumber(71); + + for (uint8_t i = 0; i < kNumSaves; i++) + { + saveActivePattern(i, false); + } + + selectedSave_ = 0; +} + +void OmxModeEuclidean::InitSetup() +{ + initSetup = true; +} + +void OmxModeEuclidean::onModeActivated() +{ + if (!initSetup) + { + InitSetup(); + } + + isPlaying_ = false; + + // sequencer.playing = false; + // stopSequencers(); + aux_ = false; + f1_ = false; + f2_ = false; + f3_ = false; + fNone_ = true; + // grids_.stop(); + // grids_.loadSnapShot(grids_.playingPattern); + // gridsAUX = false; + + omxLeds.setDirty(); + omxDisp.setDirty(); + + paramMode_ = PARAMMODE_EDIT; + encoderSelect_ = true; + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setNoteOutputFunc(&OmxModeEuclidean::onNotePostFXForwarder, this); + subModeMidiFx[i].setSelected(true); + subModeMidiFx[i].onModeChanged(); + } + + pendingNoteOffs.setNoteOffFunction(&OmxModeEuclidean::onPendingNoteOffForwarder, this); +} + +void OmxModeEuclidean::onModeDeactivated() +{ + isPlaying_ = false; + // sequencer.playing = false; + stopSequencers(); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setEnabled(false); + subModeMidiFx[i].setSelected(false); + subModeMidiFx[i].onModeChanged(); + } +} + +void OmxModeEuclidean::startSequencers() +{ + // pendingStart_ = true; + isPlaying_ = true; + omxUtil.startClocks(); + + for (u_int8_t i = 0; i < kNumEuclids; i++) + { + euclids[i].start(); + } + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setSelected(true); + } + // MM::startClock(); + + pendingStart_ = false; +} +void OmxModeEuclidean::stopSequencers() +{ + isPlaying_ = false; + pendingStart_ = false; + + for (u_int8_t i = 0; i < kNumEuclids; i++) + { + euclids[i].stop(); + } + omxUtil.stopClocks(); + // MM::stopClock(); + pendingNoteOffs.allOff(); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].resync(); + } +} + +void OmxModeEuclidean::onClockTick() +{ + // if (pendingStart_) + // { + // for (u_int8_t i = 0; i < kNumEuclids; i++) + // { + // euclids[i].start(); + // } + + // for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + // { + // subModeMidiFx[i].setSelected(true); + // } + // MM::startClock(); + + // pendingStart_ = false; + // } + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + // Lets them do things in background + subModeMidiFx[i].onClockTick(); + } + + // euclids[0].clockTick(); + + // for (u_int8_t i = 0; i < kNumEuclids; i++) + // { + // euclids[i].clockTick(); + // } +} + +// void OmxModeEuclidean::drawEuclidPattern(bool *pattern, uint8_t steps) +// { +// if(steps == 0 || steps == 1) return; + +// int16_t steponHeight = 3; +// int16_t stepoffHeight = 1; +// int16_t stepWidth = 2; +// int16_t halfh = gridh / 2; +// int16_t halfw = gridw / 2; + +// int16_t stepint = gridw / steps - 1; + +// display.drawLine(0, halfh, gridw, halfh, HALFWHITE); + +// for (int i = 0; i < steps; i++) +// { +// int16_t xPos = stepint * i; +// int16_t yPos = gridw; + +// if (pattern[i]) +// { +// display.fillRect(xPos, yPos, stepWidth, steponHeight, WHITE); + +// } +// else +// { +// display.fillRect(xPos, yPos, stepWidth, stepoffHeight, WHITE); +// } +// } + +// omxDisp.setDirty(); +// } + +// void OmxModeEuclidean::printEuclidPattern(bool *pattern, uint8_t steps) +// { +// String sOut = ""; +// for (uint8_t i = 0; i < steps; i++) +// { +// sOut += (pattern[i] ? "X" : "-"); +// } +// Serial.println(sOut.c_str()); +// } + +ParamManager *OmxModeEuclidean::getSelectedParamMode() +{ + return ¶ms_[paramMode_]; +} + +void OmxModeEuclidean::setParamMode(uint8_t newParamMode) +{ + switch (newParamMode) + { + case PARAMMODE_MIX: + { + paramMode_ = PARAMMODE_MIX; + omxDisp.displayMessageTimed("Mix", 5); + setPageAndParam(0, 0, false); + } + break; + case PARAMMODE_EDIT: + { + paramMode_ = PARAMMODE_EDIT; + omxDisp.displayMessageTimed("Edit", 5); + setPageAndParam(0, 0, false); + } + break; + case PARAMMODE_PATTERN: + { + paramMode_ = PARAMMODE_PATTERN; + omxDisp.displayMessageTimed("Pattern", 5); + setPageAndParam(0, 0, false); + } + break; + default: + break; + } +} + +void OmxModeEuclidean::setPageAndParam(uint8_t pageIndex, uint8_t paramPosition, bool editParam) +{ + encoderSelect_ = !editParam; + params_[paramMode_].setSelPage(pageIndex); + // selEucParams.setSelPage(pageIndex); + setParam(paramPosition); + omxDisp.setDirty(); +} + +void OmxModeEuclidean::setParam(uint8_t paramIndex) +{ + params_[paramMode_].setSelParam(paramIndex); + + // selEucParams.setSelParam(paramIndex); + + // // Select instrument on this page + // if (instLockView_ && params.getSelPage() == GRIDS_DENSITY) + // { + // lockedInst_ = paramIndex; + // } + omxDisp.setDirty(); +} + +void OmxModeEuclidean::onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) +{ + if (isSubmodeEnabled() && activeSubmode->usesPots()) + { + activeSubmode->onPotChanged(potIndex, prevValue, newValue, analogDelta); + return; + } + + if (midiModeception) + { + midiKeyboard.onPotChanged(potIndex, prevValue, newValue, analogDelta); + return; + } + + EuclideanSequencer *activeEuclid = &euclids[selectedEuclid_]; + + // Serial.println(String("PotChanged ") + String(potIndex)); + + // --- EDIT MODE --- + if (paramMode_ == PARAMMODE_EDIT) + { + // Serial.println("Edit Mode"); + + if (analogDelta < 3) + return; + + if (potIndex == 0) + { + // Serial.println("Rotation"); + + activeEuclid->setRotation(map(newValue, 0, 127, 0, 32)); + } + if (potIndex == 1) + { + // Serial.println("Events"); + + activeEuclid->setEvents(map(newValue, 0, 127, 0, 32)); + } + if (potIndex == 2) + { + // Serial.println("Steps"); + + activeEuclid->setSteps(map(newValue, 0, 127, 0, 32)); + } + if (potIndex == 3) + { + // Serial.println("length"); + + uint8_t prevLength = activeEuclid->getNoteLength(); + uint8_t newLength = map(newValue, 0, 127, 0, kNumNoteLengths - 1); + + activeEuclid->setNoteLength(newLength); + + if (prevLength != newLength) + { + tempString = String(kNoteLengths[newLength]); + omxDisp.displayMessage(tempString.c_str()); + } + } + if (potIndex == 4) + { + // Serial.println("Clock"); + + uint8_t prevRes = activeEuclid->getClockDivMult(); + uint8_t newres = map(newValue, 0, 127, 0, 6); + if (polyRhythmMode) + { + for (u_int8_t i = 0; i < kNumEuclids; i++) + { + euclids[i].setPolyRClockDivMult(newres); + } + initEuclid_.polyRClockDivMultP_ = newres; + } + else + { + activeEuclid->setClockDivMult(newres); + } + + if (newres != prevRes) + { + tempString = String(multValues[newres]); + omxDisp.displayMessage(tempString.c_str()); + } + } + } + + omxLeds.setDirty(); + omxDisp.setDirty(); + + // Serial.println((String)"AnalogDelta: " + analogDelta); +} + +void OmxModeEuclidean::loopUpdate(Micros elapsedTime) +{ + // if (isSubmodeEnabled()) + // { + // activeSubmode->loopUpdate(); + // // return; + // } + + if (midiModeception) + { + midiKeyboard.loopUpdate(elapsedTime); + // return; + } + + if (!isSubmodeEnabled() && !midiModeception) + { + auto keyState = midiSettings.keyState; + + f1_ = keyState[1] && !keyState[2]; + f2_ = !keyState[1] && keyState[2]; + f3_ = keyState[1] && keyState[2]; + fNone_ = !keyState[1] && !keyState[2]; + } + + // bool testProb = probResult(sequencer.getCurrentPattern()->steps[sequencer.seqPos[sequencer.playingPattern]].prob); + + // if (sequencer.playing) + // { + // uint32_t playstepmicros = micros(); + + // euclids[0].clockTick(playstepmicros, clockConfig.step_micros); + // } + + uint32_t playstepmicros = seqConfig.currentFrameMicros; + + bool clockAdvanced = false; + + for (u_int8_t i = 0; i < kNumEuclids; i++) + { + euclids[i].clockTick(playstepmicros, clockConfig.step_micros); + + if (euclids[i].getClockAdvanced()) + { + clockAdvanced = true; + } + } + + if (clockAdvanced) + { + omxDisp.setDirty(); + omxLeds.setDirty(); + } + + for (uint8_t i = 0; i < 5; i++) + { + // Lets them do things in background + subModeMidiFx[i].loopUpdate(); + } +} + +// void OmxModeEuclidean::setParam(uint8_t pageIndex, uint8_t paramPosition) +// { +// int p = pageIndex * NUM_DISP_PARAMS + paramPosition; +// setParam(p); +// omxDisp.setDirty(); +// } + +// void OmxModeEuclidean::setParam(uint8_t paramIndex) +// { +// if (paramIndex >= 0) +// { +// param = paramIndex % kNumParams; +// } +// else +// { +// param = (paramIndex + kNumParams) % kNumParams; +// } +// page = param / NUM_DISP_PARAMS; + +// // if(instLockView_ && page == GRIDS_DENSITY) +// // { +// // int pIndex = param % NUM_DISP_PARAMS; +// // if(pIndex > 0){ +// // lockedInst_ = pIndex - 1; +// // } +// // } +// } + +void OmxModeEuclidean::onEncoderChanged(Encoder::Update enc) +{ + if (isSubmodeEnabled()) + { + activeSubmode->onEncoderChanged(enc); + return; + } + + if (midiModeception) + { + midiKeyboard.onEncoderChanged(enc); + return; + } + + // --- EDIT MODE --- + if (paramMode_ == PARAMMODE_EDIT) + { + int8_t selPage = getSelectedParamMode()->getSelPage(); + + if (encoderSelect_ || selPage == SELEUCLID_PAT) + { + onEncoderChangedSelectParam(enc); + return; + } + + EuclideanSequencer *activeEuclid = &euclids[selectedEuclid_]; + + auto amtSlow = enc.accel(1); + auto amtFast = enc.accel(5); + + int8_t selParam = getSelectedParamMode()->getSelParam() + 1; // Add one for readability + + switch (selPage) + { + case SELEUCLID_PAT: + { + } + break; + case SELEUCLID_1: + { + if (selParam == 1) + { + activeEuclid->setRotation(constrain(activeEuclid->getRotation() + amtSlow, 0, 32)); + } + else if (selParam == 2) + { + activeEuclid->setEvents(constrain(activeEuclid->getEvents() + amtSlow, 0, 32)); + } + else if (selParam == 3) + { + activeEuclid->setSteps(constrain(activeEuclid->getSteps() + amtSlow, 0, 32)); + } + else if (selParam == 4) + { + uint8_t prevLength = activeEuclid->getNoteLength(); + uint8_t newLength = constrain(prevLength + amtSlow, 0, kNumNoteLengths - 1); + + activeEuclid->setNoteLength(newLength); + + if (prevLength != newLength) + { + omxDisp.displayMessageTimed(String(kNoteLengths[newLength]), 10); + } + } + } + break; + case SELEUCLID_NOTES: + { + if (selParam == 1) + { + activeEuclid->setNoteNumber(constrain(activeEuclid->getNoteNumber() + amtFast, 0, 127)); + } + else if (selParam == 2) + { + activeEuclid->setMidiChannel(constrain(activeEuclid->getMidiChannel() + amtSlow, 1, 16)); + } + else if (selParam == 3) + { + activeEuclid->setVelocity(constrain(activeEuclid->getVelocity() + amtFast, 0, 127)); + } + else if (selParam == 4) + { + activeEuclid->setSwing(constrain(activeEuclid->getSwing() + amtFast, 0, 100)); + } + } + break; + case SELEUCLID_CFG1: + { + if (selParam == 1) + { + bool prevVal = polyRhythmMode; + + polyRhythmMode = (bool)constrain(polyRhythmMode + amtSlow, 0, 1); + + if (prevVal != polyRhythmMode) + { + for (u_int8_t i = 0; i < kNumEuclids; i++) + { + euclids[i].setPolyRhythmMode(polyRhythmMode); + } + + initEuclid_.polyRhythmMode_ = polyRhythmMode; + + if (polyRhythmMode) + { + omxDisp.displayMessage("PolyRhythm"); + } + else + { + omxDisp.displayMessage("PolyMeter"); + } + } + } + else if (selParam == 2) // Track Mult + { + uint8_t prevRes = activeEuclid->getClockDivMult(); + uint8_t newres = constrain(prevRes + amtSlow, 0, 6); + + if (prevRes != newres) + { + activeEuclid->setClockDivMult(newres); + + tempString = String(multValues[newres]); + omxDisp.displayMessage(tempString.c_str()); + } + } + else if (selParam == 3) // Global polyRhythm Mult + { + uint8_t prevRes = euclids[0].getPolyRClockDivMult(); + uint8_t newres = constrain(prevRes + amtSlow, 0, 6); + + if (prevRes != newres) + { + for (u_int8_t i = 0; i < kNumEuclids; i++) + { + euclids[i].setPolyRClockDivMult(newres); + } + + tempString = String(multValues[newres]); + omxDisp.displayMessage(tempString.c_str()); + } + } + else if (selParam == 4) // BPM + { + clockConfig.newtempo = constrain(clockConfig.clockbpm + amtFast, 40, 300); + if (clockConfig.newtempo != clockConfig.clockbpm) + { + // SET TEMPO HERE + clockConfig.clockbpm = clockConfig.newtempo; + omxUtil.resetClocks(); + } + } + } + break; + default: + break; + } + } + + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +// Handles selecting params using encoder +void OmxModeEuclidean::onEncoderChangedSelectParam(Encoder::Update enc) +{ + if (enc.dir() == 0) + return; + + if (enc.dir() < 0) // if turn CCW + { + getSelectedParamMode()->decrementParam(); + } + else if (enc.dir() > 0) // if turn CW + { + getSelectedParamMode()->incrementParam(); + } + + omxDisp.setDirty(); +} + +void OmxModeEuclidean::onEncoderButtonDown() +{ + if (isSubmodeEnabled()) + { + activeSubmode->onEncoderButtonDown(); + return; + } + + if (midiModeception) + { + midiKeyboard.onEncoderButtonDown(); + return; + } + + int8_t selPage = getSelectedParamMode()->getSelPage(); + + // --- EDIT MODE --- + if (paramMode_ == PARAMMODE_EDIT) + { + if (selPage == SELEUCLID_PAT) + { + encoderSelect_ = true; + + // polyRhythmMode = !polyRhythmMode; + + // for (u_int8_t i = 0; i < kNumEuclids; i++) + // { + // euclids[i].setPolyRhythmMode(polyRhythmMode); + // } + + // if (polyRhythmMode) + // { + // omxDisp.displayMessage("PolyRhythm"); + // } + // else + // { + // omxDisp.displayMessage("PolyMeter"); + // } + } + else + { + encoderSelect_ = !encoderSelect_; + } + } + else + { + if (selPage == SELEUCLID_PAT) + { + } + else + { + encoderSelect_ = !encoderSelect_; + } + } + + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +void OmxModeEuclidean::onEncoderButtonDownLong() +{ + // if(isSubmodeEnabled()){ + // activeSubmode->onEncoderButtonDownLong(); + // return; + // } + + if (midiModeception) + { + midiKeyboard.onEncoderButtonDownLong(); + return; + } + + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +bool OmxModeEuclidean::shouldBlockEncEdit() +{ + if (isSubmodeEnabled()) + { + return activeSubmode->shouldBlockEncEdit(); + } + + if (midiModeception) + { + return midiKeyboard.shouldBlockEncEdit(); + } + + return false; +} + +void OmxModeEuclidean::saveActivePattern(uint8_t pattIndex, bool showMsg) +{ + for (uint8_t i = 0; i < kNumEuclids; i++) + { + saveSlots_[pattIndex].euclids[i] = euclids[i].getSave(); + } + + saveSlots_[pattIndex].polyRhythmMode_ = polyRhythmMode; + selectedSave_ = pattIndex; + + if (showMsg) + { + omxDisp.displayMessageTimed("Saved " + String(pattIndex + 1), 5); + } +} + +void OmxModeEuclidean::loadActivePattern(uint8_t pattIndex) +{ + for (uint8_t i = 0; i < kNumEuclids; i++) + { + euclids[i].loadSave(saveSlots_[pattIndex].euclids[i]); + } + + polyRhythmMode = saveSlots_[pattIndex].polyRhythmMode_; + selectedSave_ = pattIndex; + + omxDisp.displayMessageTimed("Load " + String(pattIndex + 1), 5); +} + +void OmxModeEuclidean::onKeyUpdate(OMXKeypadEvent e) +{ + omxLeds.setDirty(); + + if (isSubmodeEnabled()) + { + if (activeSubmode->onKeyUpdate(e)) + return; + } + + int thisKey = e.key(); + + if (midiModeception) + { + midiKeyboard.onKeyUpdate(e); + + if (midiSettings.keyState[0] && e.down() && thisKey == 26) + { + midiModeception = false; + midiSettings.midiAUX = false; + omxDisp.setDirty(); + omxLeds.setDirty(); + } + + return; + } + + EuclideanSequencer *activeEuclid = &euclids[selectedEuclid_]; + + // if (instLockView_) + // { + // onKeyUpdateChanLock(e); + // return; + // } + // // auto keyState = midiSettings.keyState; + if (!e.held()) + { + if (e.down() && thisKey == 0) // Aux key down + { + // Sequencer shouldn't be a dependancy here but current is used to advance clocks. + if (isPlaying_ && aux_) + { + aux_ = false; + stopSequencers(); + // sequencer.playing = false; + } + else + { + aux_ = true; + startSequencers(); + // sequencer.playing = true; + } + } + // else if (e.down() && e.clicks() == 0 && (thisKey > 2 && thisKey < 11)) + // { + // int patt = thisKey - 3; + + // if (f2_) + // { + // saveActivePattern(patt); + // } + // else if(fNone_) + // { + // loadActivePattern(patt); + // } + // } + } + + if (e.down() && thisKey == 3) + { + setParamMode(PARAMMODE_MIX); + } + else if (e.down() && thisKey == 4) + { + setParamMode(PARAMMODE_EDIT); + } + else if (e.down() && thisKey == 5) + { + setParamMode(PARAMMODE_PATTERN); + } + + // --- EDIT MODE --- + if (paramMode_ == PARAMMODE_EDIT || paramMode_ == PARAMMODE_MIX) + { + if (fNone_) + { + if (e.down() && (thisKey > 10) && thisKey < 19) + { + selectEuclid(thisKey - 11); + + if (paramMode_ == PARAMMODE_MIX) + { + toggleMute(thisKey - 11); + } + + copiedEuclid_ = euclids[thisKey - 11].getSave(); + } + + if (e.down() && thisKey >= 6 && thisKey < 11) + { + activeEuclid->midiFXGroup = thisKey - 6; + // enableSubmode(&subModeMidiFx[thisKey - 8]); + } + + if (!e.down() && e.clicks() == 2 && thisKey >= 6 && thisKey < 11) + { + enableSubmode(&subModeMidiFx[thisKey - 6]); + } + } + else if (f1_) // Mute + { + if (e.down() && (thisKey > 10) && thisKey < 19) + { + toggleMute(thisKey - 11); + } + } + else if (f2_) // Paste + { + if (e.down() && (thisKey > 10) && thisKey < 19) + { + euclids[thisKey - 11].loadSave(copiedEuclid_); + omxDisp.displayMessageTimed("Paste: " + String(thisKey - 11 + 1), 5); + } + } + else if (f3_) // Cut + { + if (e.down() && (thisKey > 10) && thisKey < 19) + { + selectEuclid(thisKey - 11); + copiedEuclid_ = euclids[thisKey - 11].getSave(); + euclids[thisKey - 11].loadSave(initEuclid_); + omxDisp.displayMessageTimed("Cut: " + String(thisKey - 11 + 1), 5); + } + } + } + // --- PATTERN MODE --- + else if (paramMode_ == PARAMMODE_PATTERN) + { + if (f2_) + { + if (e.down() && e.clicks() == 0 && thisKey > 10) + { + uint8_t patt = thisKey - 11; + + saveActivePattern(patt); + } + } + else + { + if (e.down() && e.clicks() == 0 && thisKey > 10) + { + uint8_t patt = thisKey - 11; + + loadActivePattern(patt); + } + } + } + omxDisp.setDirty(); +} + +void OmxModeEuclidean::toggleMute(uint8_t euclidIndex) +{ + bool muted = !euclids[euclidIndex].getMute(); + euclids[euclidIndex].setMute(muted); + + omxDisp.displayMessageTimed(String(euclidIndex + 1) + (muted ? " Muted" : " Unmuted"), 5); + + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +void OmxModeEuclidean::selectEuclid(uint8_t euclidIndex) +{ + // if(instLockView_ && lockedInst_ == instIndex) return; + + // instLockView_ = true; + // // justLocked_ = true; // Uncomment to immediately switch to channel view + // lockedInst_ = instIndex; + + // if (page == GRIDS_DENSITY || page == GRIDS_NOTES) + // { + // setParam(page, lockedInst_ + 1); + // } + + selectedEuclid_ = euclidIndex; + + // omxDisp.displayMessage((String) "Euclid " + (euclidIndex + 1)); + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +void OmxModeEuclidean::onKeyHeldUpdate(OMXKeypadEvent e) +{ + if (isSubmodeEnabled()) + { + if (activeSubmode->onKeyHeldUpdate(e)) + return; + } + + if (midiModeception) + { + midiKeyboard.onKeyHeldUpdate(e); + return; + } + + int thisKey = e.key(); + + // --- EDIT MODE --- + if (paramMode_ == PARAMMODE_EDIT || paramMode_ == PARAMMODE_MIX) + { + // Enter MidiFX mode + if (thisKey >= 6 && thisKey < 11) + { + enableSubmode(&subModeMidiFx[thisKey - 6]); + } + } + + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +void OmxModeEuclidean::updateLEDs() +{ + if (isSubmodeEnabled()) + { + if (activeSubmode->updateLEDs()) + return; + } + + // Serial.println("Euclidean Leds"); + + if (midiModeception) + { + return; + } + + // omxLeds.updateBlinkStates(); + EuclideanSequencer *activeEuclid = &euclids[selectedEuclid_]; + + bool blinkState = omxLeds.getBlinkState(); + + // turn leds off + for (uint8_t i = 1; i < 27; i++) + { + strip.setPixelColor(i, LEDOFF); + } + + if (isPlaying_) + { + // Blink left/right keys for octave select indicators. + auto color1 = blinkState ? LIME : LEDOFF; + strip.setPixelColor(0, color1); + } + else + { + strip.setPixelColor(0, LEDOFF); + } + + // Function Keys + if (f3_) + { + auto f3Color = blinkState ? LEDOFF : FUNKTHREE; + strip.setPixelColor(1, f3Color); + strip.setPixelColor(2, f3Color); + } + else + { + auto f1Color = (f1_ && blinkState) ? LEDOFF : FUNKONE; + strip.setPixelColor(1, f1Color); + + auto f2Color = (f2_ && blinkState) ? LEDOFF : FUNKTWO; + strip.setPixelColor(2, f2Color); + } + + strip.setPixelColor(3, paramMode_ == PARAMMODE_MIX ? WHITE : kMixColor); + strip.setPixelColor(4, paramMode_ == PARAMMODE_EDIT ? WHITE : kEuclidColor); + strip.setPixelColor(5, paramMode_ == PARAMMODE_PATTERN ? WHITE : kSaveColor); + + // --- EDIT MODE --- + if (paramMode_ == PARAMMODE_MIX) + { + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + auto mfxColor = (i == activeEuclid->midiFXGroup) ? kSelMidiFXColor : kMidiFXColor; + + strip.setPixelColor(6 + i, mfxColor); + } + + for (uint8_t i = 0; i < kNumEuclids; i++) + { + auto eucColor = euclids[i].getMute() ? kMixMuteColor : kMixColor; + if (isPlaying_) + { + eucColor = euclids[i].getTriggered() ? kMixTrigger : eucColor; + } + strip.setPixelColor(11 + i, eucColor); + } + } + else if (paramMode_ == PARAMMODE_EDIT) + { + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + auto mfxColor = (i == activeEuclid->midiFXGroup) ? kSelMidiFXColor : kMidiFXColor; + + strip.setPixelColor(6 + i, mfxColor); + } + + for (uint8_t i = 0; i < kNumEuclids; i++) + { + auto eucColor = euclids[i].getMute() ? kEuclidMuteColor : kEuclidColor; + if (isPlaying_) + { + eucColor = euclids[i].getTriggered() ? kEuclidTrigger : eucColor; + } + if (i == selectedEuclid_) + { + eucColor = euclids[i].getMute() ? kSelEuclidMuteColor : kSelEuclidColor; + eucColor = euclids[i].getTriggered() ? kSelEuclidTriggerColor : eucColor; + } + strip.setPixelColor(11 + i, eucColor); + } + } + else if (paramMode_ == PARAMMODE_PATTERN) + { + for (uint8_t i = 0; i < kNumSaves; i++) + { + auto saveColor = (i == selectedSave_) ? kSelSaveColor : kSaveColor; + strip.setPixelColor(11 + i, saveColor); + } + } + + if (isSubmodeEnabled()) + { + bool blinkStateSlow = omxLeds.getSlowBlinkState(); + + auto auxColor = (blinkStateSlow ? RED : LEDOFF); + strip.setPixelColor(0, auxColor); + } +} + +void OmxModeEuclidean::updateLEDsFNone() +{ + // bool blinkState = omxLeds.getBlinkState(); + + // auto keyState = midiSettings.keyState; + + // for (int k = 0; k < 4; k++) + // { + // // Change color of 4 GridX keys when pushed + // // auto kColor = keyState[k + 11] ? (blinkState ? paramSelColors[k] : LEDOFF) : PINK; + // auto kColor = keyState[k + 11] ? (blinkState ? paramSelColors[k] : LEDOFF) : BLUE; + + // strip.setPixelColor(k + 11, kColor); + // } + + // for (int k = 4; k < 8; k++) + // { + // // Change color of 4 GridY keys when pushed + // // auto kColor = keyState[k + 11] ? (blinkState ? paramSelColors[k % 4] : LEDOFF) : GREEN; + // auto kColor = keyState[k + 11] ? (blinkState ? paramSelColors[k % 4] : LEDOFF) : LTCYAN; + // strip.setPixelColor(k + 11, kColor); + // } + + // for (int k = 0; k < 4; k++) + // { + // bool triggered = grids_.getChannelTriggered(k); + // // Change color of 4 GridY keys when pushed + // auto kColor = triggered ? paramSelColors[k] : LEDOFF; + // strip.setPixelColor(k + 19, kColor); + // } + + // strip.setPixelColor(23, (keyState[23] ? LBLUE : BLUE)); // Accent + // strip.setPixelColor(24, (keyState[24] ? WHITE : ORANGE)); // Xaos + // strip.setPixelColor(26, (keyState[26] ? WHITE : MAGENTA)); // BPM +} + +void OmxModeEuclidean::updateLEDsF1() +{ + // bool blinkState = omxLeds.getBlinkState(); + // auto keyState = midiSettings.keyState; + + // // updateLEDsChannelView(); + + // for (int k = 0; k < 4; k++) + // { + // // Change color of 4 GridX keys when pushed + // auto kColor = keyState[k + 11] ? (blinkState ? paramSelColors[k] : LEDOFF) : ORANGE; + // strip.setPixelColor(k + 11, kColor); + // } + + // for (int k = 4; k < 8; k++) + // { + // strip.setPixelColor(k + 11, LEDOFF); + // } + + // strip.setPixelColor(26, ORANGE); +} + +void OmxModeEuclidean::updateLEDsPatterns() +{ + // int patternNum = grids_.playingPattern; + + // // LEDS for top row + // for (int j = 3; j < LED_COUNT - 16; j++) + // { + // auto pColor = (j == patternNum + 3) ? seqColors[patternNum] : LEDOFF; + // strip.setPixelColor(j, pColor); + // } +} + +// Called by pending note offs when a pending note off is sent +void OmxModeEuclidean::onPendingNoteOff(int note, int channel) +{ + // Serial.println("OmxModeEuclidean::onPendingNoteOff " + String(note) + " " + String(channel)); + // subModeMidiFx.onPendingNoteOff(note, channel); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].onPendingNoteOff(note, channel); + } +} + +// Called by a euclid sequencer when it triggers a note +void OmxModeEuclidean::onNoteTriggered(uint8_t euclidIndex, MidiNoteGroup note) +{ + // Serial.println("OmxModeEuclidean::onNoteTriggered " + String(euclidIndex) + " note: " + String(note.noteNumber)); + + uint8_t mfxIndex = euclids[euclidIndex].midiFXGroup; + + subModeMidiFx[mfxIndex].noteInput(note); + + omxDisp.setDirty(); + omxLeds.setDirty(); +} + +// Called by the midiFX group when a note exits it's FX Pedalboard +void OmxModeEuclidean::onNotePostFX(MidiNoteGroup note) +{ + if (note.noteOff) + { + // Serial.println("onNotePostFX note off: " + String(note.noteNumber)); + pendingNoteOns.remove(note.noteNumber, note.channel); + pendingNoteOffs.sendOffNow(note.noteNumber, note.channel, note.sendCV); + } + else + { + // Serial.println("onNotePostFX note on: " + String(note.noteNumber)); + + // Serial.println("OmxModeEuclidean::onNotePostFX note: " + String(note.noteNumber)); + + uint32_t noteOnMicros = note.noteonMicros; // TODO Might need to be set to current micros + pendingNoteOns.insert(note.noteNumber, note.velocity, note.channel, noteOnMicros, note.sendCV); + + // MM::sendNoteOn(note.noteNumber, note.velocity, note.channel); + + // uint32_t noteOnMicros = seqConfig.currentFrameMicros; // TODO Might need to be set to current micros + + uint32_t noteOffMicros = noteOnMicros + (note.stepLength * clockConfig.step_micros); + pendingNoteOffs.insert(note.noteNumber, note.channel, noteOffMicros, note.sendCV); + } + + // Serial.println("\n\n"); +} + +void OmxModeEuclidean::setupPageLegends() +{ + omxDisp.clearLegends(); + + int8_t page = getSelectedParamMode()->getSelPage(); + + EuclideanSequencer *activeEuclid = &euclids[selectedEuclid_]; + + switch (page) + { + case SELEUCLID_1: + { + omxDisp.legends[0] = "ROT"; + omxDisp.legends[1] = "EVTS"; + omxDisp.legends[2] = "STEPS"; + omxDisp.legends[3] = "LEN"; + omxDisp.legendVals[0] = activeEuclid->getRotation(); + omxDisp.legendVals[1] = activeEuclid->getEvents(); + omxDisp.legendVals[2] = activeEuclid->getSteps(); + omxDisp.legendVals[3] = activeEuclid->getNoteLength(); + } + break; + case SELEUCLID_NOTES: + { + omxDisp.legends[0] = "NOTE"; + omxDisp.legends[1] = "CHAN"; + omxDisp.legends[2] = "VEL"; + omxDisp.legends[3] = "SWNG"; + omxDisp.legendVals[0] = activeEuclid->getNoteNumber(); + omxDisp.legendVals[1] = activeEuclid->getMidiChannel(); + omxDisp.legendVals[2] = activeEuclid->getVelocity(); + omxDisp.legendVals[3] = activeEuclid->getSwing(); + } + break; + case SELEUCLID_CFG1: + { + omxDisp.legends[0] = "MODE"; + omxDisp.legends[1] = "TRAT"; + omxDisp.legends[2] = "PRAT"; + omxDisp.legends[3] = "BPM"; + omxDisp.legendVals[0] = (int)polyRhythmMode; + omxDisp.useLegendString[1] = true; + omxDisp.legendString[1] = String(activeEuclid->getClockDivMult()); + omxDisp.useLegendString[2] = true; + omxDisp.legendString[2] = String(euclids[0].getPolyRClockDivMult()); + omxDisp.legendVals[3] = (int)clockConfig.clockbpm; + } + break; + default: + break; + } +} + +void OmxModeEuclidean::onDisplayUpdate() +{ + if (isSubmodeEnabled()) + { + if (omxLeds.isDirty()) + { + updateLEDs(); + } + + activeSubmode->onDisplayUpdate(); + return; + } + + if (midiModeception) + { + midiKeyboard.onDisplayUpdate(); + + if (midiSettings.midiAUX) + { + strip.setPixelColor(26, RED); // Highlight aux exit key + } + + return; + } + + // omxLeds.updateBlinkStates(); + + if (omxLeds.isDirty()) + { + updateLEDs(); + } + + if (omxDisp.isDirty()) + { + if (!encoderConfig.enc_edit) + { + auto params = getSelectedParamMode(); + + if (!fNone_ && (paramMode_ == PARAMMODE_EDIT || paramMode_ == PARAMMODE_MIX)) + { + if (f1_) + { + omxDisp.dispGenericModeLabel("Mute", params->getNumPages(), params->getSelPage()); + } + else if (f2_) + { + omxDisp.dispGenericModeLabel("Paste", params->getNumPages(), params->getSelPage()); + } + else if (f3_) + { + omxDisp.dispGenericModeLabel("Cut", params->getNumPages(), params->getSelPage()); + } + } + else if (paramMode_ == PARAMMODE_PATTERN) + { + if (f2_) + { + omxDisp.dispGenericModeLabel("Save To", 0, 0); + } + else + { + omxDisp.dispGenericModeLabel("Load From", 0, 0); + } + } + else + { + if (params->getSelPage() == SELEUCLID_PAT) + { + // if (isPlaying_) + // { + // omxDisp.setDirty(); + // } + + // for (uint8_t i = 0; i < 4; i++) + // { + // uint8_t ypos = 7 * (i + 1); + // bool selected = i == selectedEuclid_; + // omxDisp.drawEuclidPattern(euclids[i].getPattern(), euclids[i].getSteps(), ypos, selected, euclids[i].isRunning(), euclids[i].getLastSeqPos()); + // } + + EuclideanSequencer *activeEuclid = &euclids[selectedEuclid_]; + + uint8_t ypos = 20; + + omxDisp.drawEuclidPattern(true, activeEuclid->getPattern(), activeEuclid->getSteps(), ypos, false, activeEuclid->isRunning(), activeEuclid->getLastSeqPos()); + + omxDisp.dispPageIndicators2(params->getNumPages(), 0); + + // for(int i = 0; i < 4; i++){ + + // bool selected = i == 0; + + // omxDisp.dispPageIndicators(i, selected); + // } + + // int pselected = param % NUM_DISP_PARAMS; + // setupPageLegends(); + // omxDisp.dispGenericMode(pselected); + } + else + { + setupPageLegends(); + omxDisp.dispGenericMode2(params->getNumPages(), params->getSelPage(), params->getSelParam(), encoderSelect_); + } + } + } + } + + // if (!encoderConfig.enc_edit) + // { + // omxDisp.drawEuclidPattern(euclids[0].getPattern(), euclids[0].getSteps()); + // // int pselected = param % NUM_DISP_PARAMS; + // // setupPageLegends(); + // // omxDisp.dispGenericMode(pselected); + // } + + // if (!encoderConfig.enc_edit) + // { + // omxDisp.drawEuclidPattern(euclids[0].getPattern() , euclids[0].getSteps()); + // // int pselected = param % NUM_DISP_PARAMS; + // // setupPageLegends(); + // // omxDisp.dispGenericMode(pselected); + // } +} + +void OmxModeEuclidean::SetScale(MusicScales *scale) +{ + midiKeyboard.SetScale(scale); +} + +void OmxModeEuclidean::enableSubmode(SubmodeInterface *subMode) +{ + activeSubmode = subMode; + activeSubmode->setEnabled(true); + omxDisp.setDirty(); +} + +void OmxModeEuclidean::disableSubmode() +{ + activeSubmode = nullptr; + omxDisp.setDirty(); +} + +bool OmxModeEuclidean::isSubmodeEnabled() +{ + if (activeSubmode == nullptr) + return false; + + if (activeSubmode->isEnabled() == false) + { + disableSubmode(); + return false; + } + + return true; +} + +// int OmxModeGrids::serializedPatternSize(bool eeprom) +// { +// return sizeof(grids::SnapShotSettings); +// } + +// grids::SnapShotSettings* OmxModeGrids::getPattern(uint8_t patternIndex) +// { +// return grids_.getSnapShot(patternIndex); +// } + +// void OmxModeGrids::setPattern(uint8_t patternIndex, grids::SnapShotSettings snapShot) +// { +// grids_.setSnapShot(patternIndex, snapShot); +// } + +int OmxModeEuclidean::saveToDisk(int startingAddress, Storage *storage) +{ + storage->write(startingAddress, selectedSave_); + startingAddress++; + + int saveSize = sizeof(EuclidPatternSave); + + for (uint8_t i = 0; i < kNumSaves; i++) + { + auto saveBytesPtr = (byte *)(&saveSlots_[i]); + for (int j = 0; j < saveSize; j++) + { + storage->write(startingAddress + j, *saveBytesPtr++); + } + + startingAddress += saveSize; + } + + return startingAddress; +} + +int OmxModeEuclidean::loadFromDisk(int startingAddress, Storage *storage) +{ + selectedSave_ = storage->read(startingAddress); + startingAddress++; + + int saveSize = sizeof(EuclidPatternSave); + + for (uint8_t i = 0; i < kNumSaves; i++) + { + auto pattern = EuclidPatternSave{}; + auto current = (byte *)&pattern; + for (int j = 0; j < saveSize; j++) + { + *current = storage->read(startingAddress + j); + current++; + } + + saveSlots_[i] = pattern; + startingAddress += saveSize; + } + + // Load selected save to active + for (uint8_t i = 0; i < kNumEuclids; i++) + { + euclids[i].loadSave(saveSlots_[selectedSave_].euclids[i]); + } + + polyRhythmMode = saveSlots_[selectedSave_].polyRhythmMode_; + + return startingAddress; +} diff --git a/Archive/OMX-27-firmware/src/modes/omx_mode_euclidean.h b/Archive/OMX-27-firmware/src/modes/omx_mode_euclidean.h new file mode 100644 index 00000000..55f38de9 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_mode_euclidean.h @@ -0,0 +1,180 @@ +#pragma once + +#include "omx_mode_interface.h" +#include "../utils/music_scales.h" +#include "../consts/colors.h" +#include "../config.h" +#include "omx_mode_midi_keyboard.h" +#include "euclidean_sequencer.h" +#include "submodes/submode_midifxgroup.h" +#include "../utils/param_manager.h" + +struct EuclidPatternSave +{ + euclidean::EuclidSave euclids[8]; + bool polyRhythmMode_ = true; +}; + +class OmxModeEuclidean : public OmxModeInterface +{ +public: + OmxModeEuclidean(); + ~OmxModeEuclidean() {} + + void InitSetup() override; + + void onModeActivated() override; + void onModeDeactivated() override; + + void onClockTick() override; + + void onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) override; + + void loopUpdate(Micros elapsedTime) override; + + void updateLEDs() override; + + void onEncoderChanged(Encoder::Update enc) override; + void onEncoderButtonDown() override; + void onEncoderButtonDownLong() override; + + bool shouldBlockEncEdit() override; + + void onKeyUpdate(OMXKeypadEvent e) override; + void onKeyHeldUpdate(OMXKeypadEvent e) override; + + void onDisplayUpdate() override; + void SetScale(MusicScales *scale); + + static const u_int8_t kNumEuclids = 8; + static const u_int8_t kNumSaves = 16; + // static const u_int8_t kNumMidiFXGroups = 5; + + int saveToDisk(int startingAddress, Storage *storage); + int loadFromDisk(int startingAddress, Storage *storage); + + // static int serializedPatternSize(bool eeprom); + // static inline int getNumPatterns() { return 8; } + // grids::SnapShotSettings* getPattern(uint8_t patternIndex); + // void setPattern(uint8_t patternIndex, grids::SnapShotSettings snapShot); +private: + // void setParam(uint8_t pageIndex, uint8_t paramPosition); + // void setParam(uint8_t paramIndex); + void setupPageLegends(); + + void updateLEDsFNone(); + void updateLEDsF1(); + void updateLEDsPatterns(); + + void updateLEDsChannelView(); + void onKeyUpdateChanLock(OMXKeypadEvent e); + + void saveActivePattern(uint8_t pattIndex, bool showMsg = true); + void loadActivePattern(uint8_t pattIndex); + + void toggleMute(uint8_t euclidIndex); + void selectEuclid(uint8_t euclidIndex); + + bool initSetup = false; + + bool isPlaying_ = false; + + // String tempString; + + static const uint8_t kNumPages = 4; + static const uint8_t kNumParams = kNumPages * NUM_DISP_PARAMS; + static const uint8_t kNumGrids = 4; + + uint32_t paramSelColors[4] = {MAGENTA, ORANGE, RED, RBLUE}; + + const char *rateNames[3] = {"1 / 2", "1", "2"}; + + ParamManager *getSelectedParamMode(); + void setParamMode(uint8_t newParamMode); + void setPageAndParam(uint8_t pageIndex, uint8_t paramPosition, bool editParam); + void setParam(uint8_t paramIndex); + void onEncoderChangedSelectParam(Encoder::Update enc); + + bool encoderSelect_ = false; + + // ParamManager selEucParams; + + uint8_t paramMode_ = 0; + + ParamManager params_[3]; + + uint8_t selectedEuclid_ = 0; + + EuclidPatternSave saveSlots_[kNumSaves]; + euclidean::EuclidSave copiedEuclid_; + euclidean::EuclidSave initEuclid_; + + uint8_t selectedSave_ = 0; + + // int sizeSaves = sizeof(saveSlots_); + + // bool gridsSelected[4] = {false,false,false,false}; + + bool aux_ = false; + + bool f1_; + bool f2_; + bool f3_; + bool fNone_; + + bool midiModeception = false; + OmxModeMidiKeyboard midiKeyboard; // Mode inside a mode. For science! + + bool pendingStart_ = false; + + bool euclidPattern[32]; + bool polyRhythmMode = false; + + // u_int8_t rotation; + // u_int8_t events; + // u_int8_t steps; + + // void drawEuclidPattern(bool* pattern, uint8_t steps); + + // void printEuclidPattern(bool* pattern, uint8_t steps); + + void startSequencers(); + void stopSequencers(); + + euclidean::EuclideanSequencer euclids[kNumEuclids]; + + // int esize = sizeof(euclids); + + // SubModes + SubmodeInterface *activeSubmode = nullptr; + + // SubModeMidiFxGroup subModeMidiFx[kNumMidiFXGroups]; + + void enableSubmode(SubmodeInterface *subMode); + void disableSubmode(); + bool isSubmodeEnabled(); + + // Static glue to link a pointer to a member function + static void onPendingNoteOffForwarder(void *context, int note, int channel) + { + static_cast(context)->onPendingNoteOff(note, channel); + } + + void onPendingNoteOff(int note, int channel); + + // Static glue to link a pointer to a member function + static void onNoteTriggeredForwarder(void *context, uint8_t euclidIndex, MidiNoteGroup note) + { + static_cast(context)->onNoteTriggered(euclidIndex, note); + } + + void onNoteTriggered(uint8_t euclidIndex, MidiNoteGroup note); + + // Static glue to link a pointer to a member function + static void onNotePostFXForwarder(void *context, MidiNoteGroup note) + { + static_cast(context)->onNotePostFX(note); + } + + void onNotePostFX(MidiNoteGroup note); +}; diff --git a/Archive/OMX-27-firmware/src/modes/omx_mode_grids.cpp b/Archive/OMX-27-firmware/src/modes/omx_mode_grids.cpp new file mode 100644 index 00000000..cf929390 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_mode_grids.cpp @@ -0,0 +1,1411 @@ +#include "omx_mode_grids.h" +#include "../config.h" +#include "../utils/omx_util.h" +#include "../hardware/omx_disp.h" +#include "../hardware/omx_leds.h" +// #include "../modes/sequencer.h" +#include "../midi/noteoffs.h" +#include "../consts/consts.h" + +using namespace grids; + +enum GridModePage +{ + GRIDS_DENSITY, + GRIDS_XY, + GRIDS_NOTES, + GRIDS_CONFIG, + GRIDS_CONFIG2 +}; + +OmxModeGrids::OmxModeGrids() +{ + grids_.setNoteOutputFunc(&OmxModeGrids::onNoteTriggeredForwarder, this); + + // for (int i = 0; i < 4; i++) + // { + // gridsXY[i][0] = grids_.getX(i); + // gridsXY[i][1] = grids_.getY(i); + // } + midiKeyboard.setMidiMode(); + + // 4 pages + params.addPage(4); + params.addPage(4); + params.addPage(4); + params.addPage(4); + params.addPage(1); +} + +void OmxModeGrids::InitSetup() +{ + initSetup = true; +} + +void OmxModeGrids::onModeActivated() +{ + if (!initSetup) + { + InitSetup(); + } + + isPlaying_ = false; + // sequencer.playing = false; + grids_.stop(); + grids_.loadSnapShot(grids_.playingPattern); + for (uint8_t i = 0; i < NUM_CC_POTS; i++) + { + potPostLoadThresh[i] = true; + } + gridsAUX = false; + + params.setSelPageAndParam(0, 0); + encoderSelect = true; +} + +void OmxModeGrids::onModeDeactivated() +{ + stopPlayback(); +} + +void OmxModeGrids::onClockTick() +{ + grids_.gridsTick(); +} + +void OmxModeGrids::onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) +{ +#if T4 + int deltaTheshold = 1; +#else + int deltaTheshold = 6; +#endif + + if (midiModeception) + { + midiKeyboard.onPotChanged(potIndex, prevValue, newValue, analogDelta); + return; + } + // Serial.println((String)"AnalogDelta: " + analogDelta); + + // if (analogDelta < 3) + // return; + +#if T4 +// prevents values from being modified until pot is modified + if (potPostLoadThresh[potIndex]) + { + int delta = newValue - prevValue; + + if (delta >= 1) + { + potPostLoadThresh[potIndex] = false; + } + else + { + return; + } + } +#else + // prevents values from being modified until pot is modified + if (potPostLoadThresh[potIndex]) + { + if (analogDelta < deltaTheshold) + { + return; + } + else + { + potPostLoadThresh[potIndex] = false; + } + } +#endif + + if (potIndex < 4) + { + const uint16_t magicPotNumber = 16383; + uint8_t singleHighresVal = 64; // magicPotNumber / 256 + uint8_t prevDensity = grids_.getDensity(potIndex); + // uint16_t hiResVal = map(potSettings.hiResPotVal[potIndex], potMinVal, potMaxVal, 0, magicPotNumber); + uint16_t hiResVal = potSettings.hiResPotVal[potIndex]; + uint8_t newDensity = map(hiResVal, 0, magicPotNumber, 0, 255); + + const uint8_t stickyRange = 12; + + // Make value stick to center and sides + if (newDensity <= 127) + { + hiResVal = constrain(hiResVal, (singleHighresVal * 3), (magicPotNumber / 2) - (singleHighresVal * stickyRange)); + newDensity = map(hiResVal, (singleHighresVal * 3), (magicPotNumber / 2) - (singleHighresVal * stickyRange), 0, 127); + } + else + { + hiResVal = constrain(hiResVal, (magicPotNumber / 2) + (singleHighresVal * stickyRange), magicPotNumber - (singleHighresVal * 3)); + newDensity = map(hiResVal, (magicPotNumber / 2) + (singleHighresVal * stickyRange), magicPotNumber - (singleHighresVal * 3), 127, 255); + } + + if (newDensity != prevDensity) + { + grids_.setDensity(potIndex, newDensity); + + if (analogDelta >= deltaTheshold) + { + if (params.getSelPage() == GRIDS_DENSITY) + { + setParam(potIndex); + // setParam(GRIDS_DENSITY, potIndex + 1); + } + } + + omxDisp.setDirty(); + } + } + else if (potIndex == 4) + { + int newres = map(newValue, 0, 127, 0, 2); + grids_.setResolution(newres); + if (newres != prevResolution_) + { + omxDisp.displayMessage(rateNames[newres]); + } + prevResolution_ = newres; + + // if (analogDelta >= 10) + // { + + // } + } +} + +void OmxModeGrids::loopUpdate(Micros elapsedTime) +{ + // uint32_t playstepmicros = micros(); + // grids_.clockTick(playstepmicros, clockConfig.step_micros); + + if (midiModeception) + { + midiKeyboard.loopUpdate(elapsedTime); + return; + } + + auto keyState = midiSettings.keyState; + + f1_ = keyState[1] && !keyState[2]; + f2_ = !keyState[1] && keyState[2]; + f3_ = keyState[1] && keyState[2]; + fNone_ = !keyState[1] && !keyState[2]; +} + +void OmxModeGrids::setPageAndParam(uint8_t pageIndex, uint8_t paramPosition) +{ + encoderSelect = false; + params.setSelPage(pageIndex); + // int p = pageIndex * NUM_DISP_PARAMS + paramPosition; + setParam(paramPosition); + omxDisp.setDirty(); +} + +void OmxModeGrids::setParam(uint8_t paramIndex) +{ + params.setSelParam(paramIndex); + + // if (paramIndex >= 0) + // { + // param = paramIndex % kNumParams; + // } + // else + // { + // param = (paramIndex + kNumParams) % kNumParams; + // } + // page = param / NUM_DISP_PARAMS; + + // Select instrument on this page + if (instLockView_ && params.getSelPage() == GRIDS_DENSITY) + { + lockedInst_ = paramIndex; + + // int pIndex = param % NUM_DISP_PARAMS; + // if(pIndex > 0){ + // lockedInst_ = pIndex - 1; + // } + } + omxDisp.setDirty(); +} + +// Handles selecting params using encoder +void OmxModeGrids::onEncoderChangedSelectParam(Encoder::Update enc) +{ + if (enc.dir() == 0) + return; + + if (enc.dir() < 0) // if turn CCW + { + params.decrementParam(); + } + else if (enc.dir() > 0) // if turn CW + { + params.incrementParam(); + } + + omxDisp.setDirty(); +} + +void OmxModeGrids::onEncoderChanged(Encoder::Update enc) +{ + if (midiModeception) + { + midiKeyboard.onEncoderChanged(enc); + return; + } + + if (encoderSelect) + { + onEncoderChangedSelectParam(enc); + return; + } + + if (f1_) + { + // // Change selected param while holding F1 + // if (enc.dir() < 0) // if turn CCW + // { + // setParam(param - 1); + // omxDisp.setDirty(); + // } + // else if (enc.dir() > 0) // if turn CW + // { + // setParam(param + 1); + // omxDisp.setDirty(); + // } + + return; // break; + } + + auto amt = enc.accel(5); // where 5 is the acceleration factor if you want it, 0 if you don't) + + // int paramStep = param % 5; + + int8_t selPage = params.getSelPage(); + int8_t selParam = params.getSelParam() + 1; // Add one for readability + + // if (paramStep != 0) // Page select mode if 0 + // { + // } + + switch (selPage) + { + case GRIDS_DENSITY: + { + int newDensity = constrain(grids_.getDensity(selParam - 1) + amt, 0, 255); + grids_.setDensity(selParam - 1, newDensity); + } + break; + case GRIDS_XY: + { + if (selParam == 1) // Accent + { + int newAccent = constrain(grids_.accent + amt, 0, 255); + grids_.accent = newAccent; + } + else if (selParam == 2) // GridX + { + if (instLockView_) + { + int newX = constrain(grids_.getX(lockedInst_) + amt, 0, 255); + grids_.setX(lockedInst_, newX); + } + else + { + bool gridSel = false; + + for (int g = 0; g < kNumGrids; g++) + { + if (gridsSelected[g]) + { + int newX = constrain(grids_.getX(g) + amt, 0, 255); + grids_.setX(g, newX); + gridSel = true; + } + } + if (!gridSel) // No grids selected, modify 0 + { + int newX = constrain(grids_.getX(0) + amt, 0, 255); + grids_.setX(0, newX); + + // for (int g = 0; g < kNumGrids; g++) + // { + // int newX = constrain(grids_.getX(g) + amt, 0, 255); + // // gridsXY[g][0] = newX; + // grids_.setX(g, newX); + // } + } + } + } + else if (selParam == 3) // GridY + { + if (instLockView_) + { + int newY = constrain(grids_.getY(lockedInst_) + amt, 0, 255); + grids_.setY(lockedInst_, newY); + } + else + { + bool gridSel = false; + for (int g = 0; g < kNumGrids; g++) + { + if (gridsSelected[g]) + { + int newY = constrain(grids_.getY(g) + amt, 0, 255); + grids_.setY(g, newY); + gridSel = true; + } + } + if (!gridSel) // No grids selected, modify 0 + { + int newY = constrain(grids_.getY(0) + amt, 0, 255); + grids_.setY(0, newY); + + // for (int g = 0; g < kNumGrids; g++) + // { + // int newY = constrain(grids_.getY(g) + amt, 0, 255); + // grids_.setY(g, newY); + // } + } + } + } + else if (selParam == 4) // Chaos + { + int newChaos = constrain(grids_.chaos + amt, 0, 255); + grids_.chaos = newChaos; + } + } + break; + case GRIDS_NOTES: + { + if (selParam == 1) + { + grids_.grids_notes[0] = constrain(grids_.grids_notes[0] + amt, 0, 127); + } + else if (selParam == 2) + { + grids_.grids_notes[1] = constrain(grids_.grids_notes[1] + amt, 0, 127); + } + else if (selParam == 3) + { + grids_.grids_notes[2] = constrain(grids_.grids_notes[2] + amt, 0, 127); + } + else if (selParam == 4) + { + grids_.grids_notes[3] = constrain(grids_.grids_notes[3] + amt, 0, 127); + } + } + break; + case GRIDS_CONFIG: + { + if (instLockView_) + { + if (selParam == 1) // Note + { + grids_.grids_notes[lockedInst_] = constrain(grids_.grids_notes[lockedInst_] + amt, 0, 127); + } + else if (selParam == 2) // Note Length + { + uint8_t noteLength = grids_.getNoteLength(lockedInst_); + uint8_t newNoteLength = constrain(noteLength + amt, 0, kNumNoteLengths - 1); + + if (noteLength != newNoteLength) + { + grids_.setNoteLength(lockedInst_, newNoteLength); + omxDisp.displayMessage(kNoteLengths[newNoteLength]); + omxDisp.setDirty(); + } + } + else if (selParam == 3) // Midi Channel + { + auto chan = grids_.getMidiChan(lockedInst_); + chan = constrain(chan + amt, 1, 16); + grids_.setMidiChan(lockedInst_, chan); + } + } + + if (selParam == 4) // Tempo + { + clockConfig.newtempo = constrain(clockConfig.clockbpm + amt, 40, 300); + if (clockConfig.newtempo != clockConfig.clockbpm) + { + // SET TEMPO HERE + clockConfig.clockbpm = clockConfig.newtempo; + omxUtil.resetClocks(); + } + } + } + break; + case GRIDS_CONFIG2: + { + if (selParam == 1) // Tempo + { + uint8_t swing = grids_.getSwing(); + uint8_t newSwing = constrain(swing + amt, 0, 99); + grids_.setSwing(newSwing); + } + } + break; + default: + break; + } + omxDisp.setDirty(); +} + +void OmxModeGrids::onEncoderButtonDown() +{ + if (midiModeception) + { + midiKeyboard.onEncoderButtonDown(); + return; + } + + encoderSelect = !encoderSelect; + omxDisp.isDirty(); + + // param = (param + 1 ) % kNumParams; + // setParam(param); +} + +void OmxModeGrids::onEncoderButtonDownLong() +{ + if (midiModeception) + { + midiKeyboard.onEncoderButtonDownLong(); + return; + } +} + +bool OmxModeGrids::shouldBlockEncEdit() +{ + if (midiModeception) + { + return midiKeyboard.shouldBlockEncEdit(); + } + + return false; +} + +void OmxModeGrids::saveActivePattern(uint8_t pattIndex) +{ + grids_.saveSnapShot(pattIndex); + + // // F2 + PATTERN TO SAVE + // for (int k = 0; k < 4; k++) + // { + // grids_.gridSaves[pattIndex][k].density = grids_.getDensity(k); + // grids_.gridSaves[pattIndex][k].x = grids_.getX(k); + // grids_.gridSaves[pattIndex][k].y = grids_.getY(k); + // // Serial.print("saved:"); + // // Serial.print(grids_wrapper.gridSaves[patt][k].density); + // // Serial.print(":"); + // // Serial.print(grids_wrapper.gridSaves[patt][k].x); + // // Serial.print(":"); + // // Serial.println(grids_wrapper.gridSaves[patt][k].y); + // } + + String msg = "Saved " + String(pattIndex + 1); + omxDisp.displayMessageTimed(msg, 5); +} + +void OmxModeGrids::loadActivePattern(uint8_t pattIndex) +{ + grids_.loadSnapShot(pattIndex); + + for (uint8_t i = 0; i < NUM_CC_POTS; i++) + { + potPostLoadThresh[i] = true; + } + + // // SELECT + // grids_.playingPattern = pattIndex; + // for (int k = 0; k < 4; k++) + // { + // grids_.setDensity(k, grids_.gridSaves[pattIndex][k].density); + // grids_.setX(k, grids_.gridSaves[pattIndex][k].x); + // grids_.setY(k, grids_.gridSaves[pattIndex][k].y); + // // Serial.print("state:"); + // // Serial.print(grids_wrapper.gridSaves[patt][k].density); + // // Serial.print(":"); + // // Serial.print(grids_wrapper.gridSaves[patt][k].x); + // // Serial.print(":"); + // // Serial.println(grids_wrapper.gridSaves[patt][k].y); + // } + + String msg = "Load " + String(pattIndex + 1); + omxDisp.displayMessageTimed(msg, 5); +} + +void OmxModeGrids::startPlayback() +{ + gridsAUX = true; + omxUtil.resetClocks(); + grids_.start(); + omxUtil.startClocks(); + // sequencer.playing = true; + isPlaying_ = true; +} +void OmxModeGrids::stopPlayback() +{ + gridsAUX = false; + grids_.stop(); + omxUtil.stopClocks(); + // sequencer.playing = false; + pendingNoteOffs.allOff(); + isPlaying_ = false; +} + +// Called by a grids sequencer when it triggers a note +void OmxModeGrids::onNoteTriggered(uint8_t gridsChannel, MidiNoteGroup note) +{ + // Serial.println("OmxModeEuclidean::onNoteTriggered " + String(euclidIndex) + " note: " + String(note.noteNumber)); + + // uint8_t mfxIndex = euclids[euclidIndex].midiFXGroup; + + // subModeMidiFx[mfxIndex].noteInput(note); + + // omxDisp.setDirty(); + + if (note.noteOff) + { + // Serial.println("onNotePostFX note off: " + String(note.noteNumber)); + pendingNoteOns.remove(note.noteNumber, note.channel); + pendingNoteOffs.sendOffNow(note.noteNumber, note.channel, note.sendCV); + } + else + { + // Serial.println("onNotePostFX note on: " + String(note.noteNumber)); + // Serial.println("OmxModeEuclidean::onNotePostFX note: " + String(note.noteNumber)); + + // Kill any on notes if they were on + pendingNoteOns.remove(note.noteNumber, note.channel); + pendingNoteOffs.sendOffNow(note.noteNumber, note.channel, note.sendCV); + + uint32_t noteOnMicros = note.noteonMicros; // TODO Might need to be set to current micros + pendingNoteOns.insert(note.noteNumber, note.velocity, note.channel, noteOnMicros, note.sendCV); + + uint32_t noteOffMicros = noteOnMicros + (note.stepLength * clockConfig.step_micros); + pendingNoteOffs.insert(note.noteNumber, note.channel, noteOffMicros, note.sendCV); + } + + omxLeds.setDirty(); + + // Serial.println("\n\n"); +} + +void OmxModeGrids::onKeyUpdate(OMXKeypadEvent e) +{ + int thisKey = e.key(); + auto keyState = midiSettings.keyState; + + if (midiModeception) + { + midiKeyboard.onKeyUpdate(e); + + if (midiSettings.keyState[0] && e.down() && thisKey == 26) + { + midiModeception = false; + midiSettings.midiAUX = false; + omxDisp.setDirty(); + omxLeds.setDirty(); + } + + return; + } + + if (instLockView_) + { + onKeyUpdateChanLock(e); + return; + } + + if (!e.held()) + { + if (e.down() && thisKey == 0) // Aux key down + { + // Sequencer shouldn't be a dependancy here but current is used to advance clocks. + if (isPlaying_ && gridsAUX) + { + stopPlayback(); + } + else + { + startPlayback(); + } + } + else if (e.down() && e.clicks() == 0 && (thisKey > 2 && thisKey < 11)) + { + int patt = thisKey - 3; + + if (f2_) + { + saveActivePattern(patt); + } + else if (fNone_) + { + loadActivePattern(patt); + } + } + } + + if (fNone_) + { + // Select Grid X param + if (e.down() && (thisKey > 10 && thisKey < 15)) + { + gridsSelected[thisKey - 11] = true; + setPageAndParam(GRIDS_XY, 1); + // setParam(GRIDS_XY, 2); + omxDisp.setDirty(); + } + else if (!e.down() && (thisKey > 10 && thisKey < 15)) + { + gridsSelected[thisKey - 11] = false; + omxDisp.setDirty(); + } + + // Select Grid Y param + if (e.down() && (thisKey > 14 && thisKey < 19)) + { + gridsSelected[thisKey - 15] = true; + setPageAndParam(GRIDS_XY, 2); + // setParam(GRIDS_XY, 3); + omxDisp.setDirty(); + } + else if (!e.down() && (thisKey > 14 && thisKey < 19)) + { + gridsSelected[thisKey - 15] = false; + omxDisp.setDirty(); + } + + // Select Grid X param + if (e.down() && thisKey == 23) // Accent + { + setPageAndParam(GRIDS_XY, 0); + // setParam(GRIDS_XY, 1); + } + else if (e.down() && thisKey == 24) // Xaos + { + setPageAndParam(GRIDS_XY, 3); + // setParam(GRIDS_XY, 4); + } + else if (e.down() && thisKey == 26) // BPM + { + setPageAndParam(GRIDS_CONFIG, 3); + // setParam(GRIDS_CONFIG, 4); + } + } + if (f1_) + { + // Quick Select Note + if (e.down() && (thisKey > 10 && thisKey < 15)) + { + quickSelectInst(thisKey - 11); + } + + if (e.down() && thisKey == 26) + { + midiKeyboard.onModeActivated(); + midiModeception = true; + omxDisp.setDirty(); + omxLeds.setDirty(); + } + + // else if (!e.down() && (thisKey > 10 && thisKey < 15)) + // { + // } + + // Select Grid Y param + // if (e.down() && (thisKey > 14 && thisKey < 19)) + // { + // setParam(GRIDS_NOTES * NUM_DISP_PARAMS + (thisKey - 14)); + // omxDisp.setDirty(); + // } + // else if (!e.down() && (thisKey > 14 && thisKey < 19)) + // { + + // } + } + // RANDOM X or Y with bottom key + F2 + for (int j = 11; j < 19; j++) + { + if (keyState[j]) + { + if (e.down() && (thisKey == 2)) + { + if (j < 15) + { + int whichX = j - 11; + int newX = random(0, 255); + grids_.setX(whichX, newX); + setPageAndParam(GRIDS_XY, 1); + // setParam(GRIDS_XY, 2); + } + else + { + int whichY = j - 15; + int newY = random(0, 255); + grids_.setY(whichY, newY); + setPageAndParam(GRIDS_XY, 2); + // setParam(GRIDS_XY, 3); + } + omxDisp.setDirty(); + } + } + } +} + +void OmxModeGrids::onKeyUpdateChanLock(OMXKeypadEvent e) +{ + int thisKey = e.key(); + + auto keyState = midiSettings.keyState; + + if (!e.held()) + { + if (e.down() && thisKey == 0) // Aux key down + { + // Serial.println("Exit aux"); + instLockView_ = false; // Exit out of channel lock + omxDisp.setDirty(); + return; + } + // else if (e.down() && e.clicks() == 0 && (thisKey > 2 && thisKey < 11)) + // { + // int patt = thisKey - 3; + + // if (f2_) + // { + // saveActivePattern(patt); + // } + // else if(fNone_) + // { + // loadActivePattern(patt); + // } + // } + } + + // Function quick keys + if (!f2_ && e.down() && thisKey == 2 && !keyState[1]) + { + setPageAndParam(GRIDS_CONFIG, 0); + // setParam(GRIDS_CONFIG, 1); + } + // if (!f3_ && e.down() && ((thisKey == 1 && keyState[2]) || (thisKey == 2 && keyState[1]))) + // { + // setParam(GRIDS_CONFIG, 2); + // } + + // if (f2_) + // { + // setParam(GRIDS_CONFIG, 1); + // } + // else if (f3_) + // { + // setParam(GRIDS_CONFIG, 2); + // } + + if (!f1_) + { + justLocked_ = false; // False once F1 released + } + + if (fNone_) + { + if (e.down() && thisKey == 3) // Note Number + { + setPageAndParam(GRIDS_CONFIG, 0); + // setParam(GRIDS_CONFIG, 2); + } + if (e.down() && thisKey == 4) // Note Length + { + setPageAndParam(GRIDS_CONFIG, 1); + // setParam(GRIDS_CONFIG, 2); + } + // Select Grid X param + if (e.down() && thisKey == 5) // Accent + { + setPageAndParam(GRIDS_XY, 0); + // setParam(GRIDS_XY, 1); + } + if (e.down() && thisKey == 6) // Chan X + { + setPageAndParam(GRIDS_XY, 1); + // setParam(GRIDS_XY, 2); + } + if (e.down() && thisKey == 7) // Chan Y + { + setPageAndParam(GRIDS_XY, 2); + // setParam(GRIDS_XY, 3); + } + if (e.down() && thisKey == 8) // Xaos + { + setPageAndParam(GRIDS_XY, 3); + // setParam(GRIDS_XY, 4); + } + if (e.down() && thisKey == 9) // Midi Chan + { + setPageAndParam(GRIDS_CONFIG, 2); + // setParam(GRIDS_XY, 4); + } + if (e.down() && thisKey == 10) // BPM + { + setPageAndParam(GRIDS_CONFIG, 3); + // setParam(GRIDS_XY, 4); + } + + // Quick Select inst + // These LEDs are not lit since pattern is rendered + if (e.down() && (thisKey > 10 && thisKey < 15)) + { + quickSelectInst(thisKey - 11); + } + else if (e.down() && thisKey == 26) // BPM + { + setPageAndParam(GRIDS_CONFIG, 3); + // setParam(GRIDS_CONFIG, 4); + } + } + if (f1_ && !justLocked_) + { + // Quick Select Inst + if (e.down() && (thisKey > 10 && thisKey < 15)) + { + quickSelectInst(thisKey - 11); + } + + if (e.down() && thisKey == 26) + { + midiKeyboard.onModeActivated(); + midiModeception = true; + omxDisp.setDirty(); + omxLeds.setDirty(); + } + } +} + +void OmxModeGrids::quickSelectInst(uint8_t instIndex) +{ + if (instLockView_ && lockedInst_ == instIndex) + return; + + instLockView_ = true; + // justLocked_ = true; // Uncomment to immediately switch to channel view + lockedInst_ = instIndex; + + if (params.getSelPage() == GRIDS_DENSITY || params.getSelPage() == GRIDS_NOTES) + { + setParam(lockedInst_); + // setParam(page, lockedInst_ + 1); + } + + String msg = "Inst " + String(lockedInst_ + 1); + omxDisp.displayMessageTimed(msg, 5); + omxDisp.setDirty(); +} + +void OmxModeGrids::onKeyHeldUpdate(OMXKeypadEvent e) +{ + if (midiModeception) + { + midiKeyboard.onKeyHeldUpdate(e); + return; + } +} + +void OmxModeGrids::updateLEDs() +{ + if (midiModeception) + { + return; + } + + // omxLeds.updateBlinkStates(); + + bool blinkState = omxLeds.getBlinkState(); + + if (instLockView_) + { + int64_t instLockColor = paramSelColors[lockedInst_]; + + // Always blink to show you're in mode, don't need differation between playing or not since the playhead makes this obvious + // auto color1 = blinkState ? instLockColor : LEDOFF; + // strip.setPixelColor(0, color1); + + if (isPlaying_) + { + // Blink left/right keys for octave select indicators. + auto color1 = blinkState ? instLockColor : LEDOFF; + strip.setPixelColor(0, color1); + } + else + { + strip.setPixelColor(0, instLockColor); + } + } + else + { + if (isPlaying_) + { + // Blink left/right keys for octave select indicators. + auto color1 = blinkState ? LIME : LEDOFF; + strip.setPixelColor(0, color1); + } + else + { + strip.setPixelColor(0, LEDOFF); + } + } + + // Function Keys + if (f3_) + { + auto f3Color = blinkState ? LEDOFF : FUNKTHREE; + strip.setPixelColor(1, f3Color); + strip.setPixelColor(2, f3Color); + } + else + { + auto f1Color = (f1_ && blinkState) ? LEDOFF : FUNKONE; + strip.setPixelColor(1, f1Color); + + auto f2Color = (f2_ && blinkState) ? LEDOFF : FUNKTWO; + strip.setPixelColor(2, f2Color); + } + + if (instLockView_) + { + updateLEDsChannelView(); + } + else + { + updateLEDsPatterns(); + + // Set 16 key leds to off to prevent them from sticking on after screensaver. + for (int k = 0; k < 16; k++) + { + strip.setPixelColor(k + 11, LEDOFF); + } + + if (fNone_ || f2_) + updateLEDsFNone(); + else if (f1_) + updateLEDsF1(); + } + + omxLeds.setDirty(); +} + +void OmxModeGrids::updateLEDsFNone() +{ + bool blinkState = omxLeds.getBlinkState(); + + // uint32_t colors[8] = {}; + // colors[0] = blinkState ? MAGENTA : LEDOFF; + // colors[1] = blinkState ? ORANGE : LEDOFF; + // colors[2] = blinkState ? RED : LEDOFF; + // colors[3] = blinkState ? RBLUE : LEDOFF; + // colors[4] = blinkState ? MAGENTA : LEDOFF; + // colors[5] = blinkState ? ORANGE : LEDOFF; + // colors[6] = blinkState ? RED : LEDOFF; + // colors[7] = blinkState ? RBLUE : LEDOFF; + + auto keyState = midiSettings.keyState; + + for (int k = 0; k < 4; k++) + { + // Change color of 4 GridX keys when pushed + // auto kColor = keyState[k + 11] ? (blinkState ? paramSelColors[k] : LEDOFF) : PINK; + auto kColor = keyState[k + 11] ? (blinkState ? paramSelColors[k] : LEDOFF) : BLUE; + + strip.setPixelColor(k + 11, kColor); + } + + for (int k = 4; k < 8; k++) + { + // Change color of 4 GridY keys when pushed + // auto kColor = keyState[k + 11] ? (blinkState ? paramSelColors[k % 4] : LEDOFF) : GREEN; + auto kColor = keyState[k + 11] ? (blinkState ? paramSelColors[k % 4] : LEDOFF) : LTCYAN; + strip.setPixelColor(k + 11, kColor); + } + + for (int k = 0; k < 4; k++) + { + bool triggered = grids_.getChannelTriggered(k); + // Change color of 4 GridY keys when pushed + auto kColor = triggered ? paramSelColors[k] : LEDOFF; + strip.setPixelColor(k + 19, kColor); + } + + strip.setPixelColor(23, (keyState[23] ? LBLUE : BLUE)); // Accent + strip.setPixelColor(24, (keyState[24] ? WHITE : ORANGE)); // Xaos + strip.setPixelColor(26, (keyState[26] ? WHITE : MAGENTA)); // BPM +} + +void OmxModeGrids::updateLEDsF1() +{ + bool blinkState = omxLeds.getBlinkState(); + auto keyState = midiSettings.keyState; + + // updateLEDsChannelView(); + + for (int k = 0; k < 4; k++) + { + // Change color of 4 GridX keys when pushed + auto kColor = keyState[k + 11] ? (blinkState ? paramSelColors[k] : LEDOFF) : ORANGE; + strip.setPixelColor(k + 11, kColor); + } + + for (int k = 4; k < 16; k++) + { + strip.setPixelColor(k + 11, LEDOFF); + } + + strip.setPixelColor(26, ORANGE); +} + +void OmxModeGrids::updateLEDsChannelView() +{ + // bool blinkState = omxLeds.getBlinkState(); + auto keyState = midiSettings.keyState; + + int seqPos = 0; + + if (isPlaying_) + { + seqPos = grids_.getSeqPos(); + } + + if (f1_ && !justLocked_) + { + updateLEDsF1(); + for (int j = 3; j < LED_COUNT - 16; j++) + { + strip.setPixelColor(j, LEDOFF); + } + } + else + { + // Shortcut LEDS for top row + for (int j = 3; j < LED_COUNT - 16; j++) + { + if (j == 3) // Note Number + { + strip.setPixelColor(j, (keyState[3] ? LBLUE : DKBLUE)); + } + else if (j == 4) // Note Length + { + strip.setPixelColor(j, (keyState[4] ? LBLUE : DKBLUE)); + } + else if (j == 5) // Accent + { + strip.setPixelColor(j, (keyState[5] ? WHITE : BLUE)); + } + else if (j == 6) // ChanX + { + strip.setPixelColor(j, (keyState[6] ? WHITE : RED)); + } + else if (j == 7) // Chan Y + { + strip.setPixelColor(j, (keyState[7] ? WHITE : GREEN)); + } + else if (j == 8) // Chaos + { + strip.setPixelColor(j, (keyState[8] ? WHITE : ORANGE)); + } + else if (j == 9) // Midi Chan + { + strip.setPixelColor(j, (keyState[9] ? WHITE : RED)); + } + else if (j == 10) // BPM + { + strip.setPixelColor(j, (keyState[9] ? WHITE : RED)); + } + // else if (j == 10) // Tempo + // { + // strip.setPixelColor(j, (keyState[8] ? WHITE : MAGENTA)); + // } + else + { + strip.setPixelColor(j, LEDOFF); + } + } + + auto channelLeds = grids_.getChannelLEDS(lockedInst_); + + auto channelHue = instLockHues_[lockedInst_]; + + auto seqStart = seqPos >= 16 ? 16 : 0; + + for (int k = 0; k < 16; k++) + { + // Change color of 4 GridX keys when pushed + auto level = channelLeds.levels[seqStart + k] * 2; + auto kColor = strip.ColorHSV(channelHue, 255, level); + strip.setPixelColor(k + 11, kColor); + } + + if (isPlaying_) + { + auto seq16 = seqPos % 16; + strip.setPixelColor(seq16 + 11, HALFWHITE); + } + } +} + +void OmxModeGrids::updateLEDsPatterns() +{ + int patternNum = grids_.playingPattern; + + // LEDS for top row + for (int j = 3; j < LED_COUNT - 16; j++) + { + auto pColor = (j == patternNum + 3) ? seqColors[patternNum] : LEDOFF; + strip.setPixelColor(j, pColor); + } +} + +void OmxModeGrids::setupPageLegends() +{ + // if (midiSettings.keyState[11] || midiSettings.keyState[15]) + // { + // thisGrid = 0; + // } + // else if (keyState[12] || keyState[16]) + // { + // thisGrid = 1; + // } + // else if (keyState[13] || keyState[17]) + // { + // thisGrid = 2; + // } + // else if (keyState[14] || keyState[18]) + // { + // thisGrid = 3; + // } + + omxDisp.clearLegends(); + + // omxDisp.dispPage = page + 1; + + int8_t page = params.getSelPage(); + + switch (page) + { + case GRIDS_DENSITY: + { + omxDisp.legends[0] = "DS 1"; + omxDisp.legends[1] = "DS 2"; + omxDisp.legends[2] = "DS 3"; + omxDisp.legends[3] = "DS 4"; + omxDisp.legendVals[0] = grids_.getDensity(0); + omxDisp.legendVals[1] = grids_.getDensity(1); + omxDisp.legendVals[2] = grids_.getDensity(2); + omxDisp.legendVals[3] = grids_.getDensity(3); + } + break; + case GRIDS_XY: + { + int targetChannel = 0; + bool setLegendsToChannel = false; + + if (instLockView_) + { + targetChannel = lockedInst_; + setLegendsToChannel = true; + } + else + { + int numGrids = sizeof(gridsSelected); + int selGridsCount = 0; + + // Calculate which channels are selected + for (int i = 0; i < numGrids; i++) + { + if (gridsSelected[i]) + { + selGridsCount++; + targetChannel = i; + } + } + + if (selGridsCount == 0) + { + targetChannel = 0; + setLegendsToChannel = true; + } + else if (selGridsCount == 1) + { + setLegendsToChannel = true; + } + else if (selGridsCount == 4) + { + omxDisp.legends[1] = "X All"; + omxDisp.legends[2] = "Y All"; + } + else + { + omxDisp.legends[1] = "X *"; + omxDisp.legends[2] = "Y *"; + } + } + + if (setLegendsToChannel) + { + // Not sure why string.c_str doesn't work + xTemp = "X " + String(targetChannel + 1); + yTemp = "Y " + String(targetChannel + 1); + + omxDisp.legends[1] = xTemp.c_str(); + omxDisp.legends[2] = yTemp.c_str(); + + // char bufx[4]; + // char bufy[4]; + // snprintf(bufx, sizeof(bufx), "X %d", thisGrid + 1); + // snprintf(bufy, sizeof(bufy), "Y %d", thisGrid + 1); + + // omxDisp.legends[1] = bufx; + // omxDisp.legends[2] = bufy; + + // Above string code not working at all? This is ugly + // if (targetChannel == 0) + // { + // omxDisp.legends[1] = "X 1"; + // omxDisp.legends[2] = "Y 1"; + // } + // else if (targetChannel == 1) + // { + // omxDisp.legends[1] = "X 2"; + // omxDisp.legends[2] = "Y 2"; + // } + // else if (targetChannel == 2) + // { + // omxDisp.legends[1] = "X 3"; + // omxDisp.legends[2] = "Y 3"; + // } + // else if (targetChannel == 3) + // { + // omxDisp.legends[1] = "X 4"; + // omxDisp.legends[2] = "Y 4"; + // } + } + + omxDisp.legends[0] = "ACNT"; // "BPM"; + omxDisp.legends[3] = "XAOS"; + omxDisp.legendVals[0] = grids_.accent; // (int)clockbpm; + if (targetChannel != -1) + { + omxDisp.legendVals[1] = grids_.getX(targetChannel); + omxDisp.legendVals[2] = grids_.getY(targetChannel); + } + omxDisp.legendVals[3] = grids_.chaos; + } + break; + case GRIDS_NOTES: + { + omxDisp.legends[0] = "NT 1"; + omxDisp.legends[1] = "NT 2"; + omxDisp.legends[2] = "NT 3"; + omxDisp.legends[3] = "NT 4"; + omxDisp.legendVals[0] = grids_.grids_notes[0]; + omxDisp.legendVals[1] = grids_.grids_notes[1]; + omxDisp.legendVals[2] = grids_.grids_notes[2]; + omxDisp.legendVals[3] = grids_.grids_notes[3]; + } + break; + case GRIDS_CONFIG: + { + if (instLockView_) + { + legendTemp = "NT " + String(lockedInst_ + 1); + + omxDisp.legends[0] = legendTemp.c_str(); + omxDisp.legends[1] = "GATE"; + omxDisp.legends[2] = "M-CHAN"; + omxDisp.legends[3] = "BPM"; + omxDisp.legendVals[0] = grids_.grids_notes[lockedInst_]; + omxDisp.legendVals[1] = grids_.getNoteLength(lockedInst_); + omxDisp.legendVals[2] = grids_.getMidiChan(lockedInst_); + omxDisp.legendVals[3] = (int)clockConfig.clockbpm; + } + else + { + omxDisp.legends[0] = ""; + omxDisp.legends[1] = ""; + omxDisp.legends[2] = ""; + omxDisp.legends[3] = "BPM"; + omxDisp.legendVals[0] = -127; + omxDisp.legendVals[1] = -127; + omxDisp.legendVals[2] = -127; + omxDisp.legendVals[3] = (int)clockConfig.clockbpm; + omxDisp.legendText[0] = ""; + omxDisp.legendText[1] = ""; + omxDisp.legendText[2] = ""; + } + } + break; + case GRIDS_CONFIG2: + { + omxDisp.legends[0] = "SWNG"; + omxDisp.legendVals[0] = grids_.getSwing(); + } + break; + default: + break; + } +} + +void OmxModeGrids::onDisplayUpdate() +{ + if (midiModeception) + { + midiKeyboard.onDisplayUpdate(); + + if (midiSettings.midiAUX) + { + strip.setPixelColor(26, RED); // Highlight aux exit key + } + + return; + } + + updateLEDs(); + + if (omxDisp.isDirty()) + { // DISPLAY + // Serial.println("Disp dirty"); + + if (!encoderConfig.enc_edit) + { + setupPageLegends(); + omxDisp.dispGenericMode2(params.getNumPages(), params.getSelPage(), params.getSelParam(), encoderSelect); + + // int pselected = param % NUM_DISP_PARAMS; + // omxDisp.dispGenericMode(pselected); + } + } +} + +void OmxModeGrids::SetScale(MusicScales *scale) +{ + midiKeyboard.SetScale(scale); +} + +int OmxModeGrids::serializedPatternSize(bool eeprom) +{ + return sizeof(grids::SnapShotSettings); +} + +grids::SnapShotSettings *OmxModeGrids::getPattern(uint8_t patternIndex) +{ + return grids_.getSnapShot(patternIndex); +} + +void OmxModeGrids::setPattern(uint8_t patternIndex, grids::SnapShotSettings snapShot) +{ + grids_.setSnapShot(patternIndex, snapShot); +} diff --git a/Archive/OMX-27-firmware/src/modes/omx_mode_grids.h b/Archive/OMX-27-firmware/src/modes/omx_mode_grids.h new file mode 100644 index 00000000..bc74f0e2 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_mode_grids.h @@ -0,0 +1,129 @@ +#pragma once + +#include "omx_mode_interface.h" +#include "../utils/music_scales.h" +#include "retro_grids.h" +#include "../consts/colors.h" +#include "../config.h" +#include "omx_mode_midi_keyboard.h" +#include "../utils/param_manager.h" + +class OmxModeGrids : public OmxModeInterface +{ +public: + OmxModeGrids(); + ~OmxModeGrids() {} + + void InitSetup() override; + + void onModeActivated() override; + void onModeDeactivated() override; + + void onClockTick() override; + + void onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) override; + + void loopUpdate(Micros elapsedTime) override; + + void updateLEDs() override; + + void onEncoderChanged(Encoder::Update enc) override; + void onEncoderButtonDown() override; + void onEncoderButtonDownLong() override; + + bool shouldBlockEncEdit() override; + + void onKeyUpdate(OMXKeypadEvent e) override; + void onKeyHeldUpdate(OMXKeypadEvent e) override; + + void onDisplayUpdate() override; + void SetScale(MusicScales *scale); + + static int serializedPatternSize(bool eeprom); + static inline int getNumPatterns() { return 8; } + grids::SnapShotSettings *getPattern(uint8_t patternIndex); + void setPattern(uint8_t patternIndex, grids::SnapShotSettings snapShot); + +private: + void setPageAndParam(uint8_t pageIndex, uint8_t paramPosition); + void setParam(uint8_t paramIndex); + void setupPageLegends(); + + void updateLEDsFNone(); + void updateLEDsF1(); + void updateLEDsPatterns(); + + void updateLEDsChannelView(); + void onKeyUpdateChanLock(OMXKeypadEvent e); + + void saveActivePattern(uint8_t pattIndex); + void loadActivePattern(uint8_t pattIndex); + + void quickSelectInst(uint8_t instIndex); + + void startPlayback(); + void stopPlayback(); + + bool initSetup = false; + grids::GridsWrapper grids_; + + // Static glue to link a pointer to a member function + static void onNoteTriggeredForwarder(void *context, uint8_t gridsChannel, MidiNoteGroup note) + { + static_cast(context)->onNoteTriggered(gridsChannel, note); + } + + void onNoteTriggered(uint8_t gridsChannel, MidiNoteGroup note); + + // static const uint8_t kNumPages = 4; + // static const uint8_t kNumParams = kNumPages * NUM_DISP_PARAMS; + static const uint8_t kNumGrids = 4; + + // static const int kParamGridX = 2; + // static const int kParamGridY = 3; + + uint32_t paramSelColors[4] = {MAGENTA, ORANGE, RED, RBLUE}; + + const char *rateNames[3] = {"0.5x", "1x", "2x"}; + + // If true, encoder selects param rather than modifies value + bool encoderSelect = false; + void onEncoderChangedSelectParam(Encoder::Update enc); + ParamManager params; + + // int page = 0; + // int param = 0; + + // int gridXKeyChannel = 0; // Gets set by holding first 0-3 keys on bottom + // int gridYKeyChannel = 0; // Gets set by holding keys 4-7 on bottom + + // int gridsXY[4][2]; + + bool gridsSelected[4] = {false, false, false, false}; + + // Implements threshold post load to prevent pots from changing until modified + bool potPostLoadThresh[5] = {false, false, false, false, false}; + + bool isPlaying_ = false; + + bool gridsAUX = false; + + bool f1_; + bool f2_; + bool f3_; + bool fNone_; + + bool instLockView_ = false; + bool justLocked_ = false; + int lockedInst_ = 0; + uint16_t instLockHues_[4] = {300, 30, 0, 210}; + + int prevResolution_ = 0; + + bool midiModeception = false; + OmxModeMidiKeyboard midiKeyboard; // Mode inside a mode. For science! + + String legendTemp; + String xTemp; + String yTemp; +}; diff --git a/Archive/OMX-27-firmware/src/modes/omx_mode_interface.h b/Archive/OMX-27-firmware/src/modes/omx_mode_interface.h new file mode 100644 index 00000000..748a9d21 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_mode_interface.h @@ -0,0 +1,38 @@ +#pragma once +#include "../ClearUI/ClearUI_Input.h" +#include "../hardware/omx_keypad.h" +#include "../config.h" +class OmxModeInterface +{ +public: + OmxModeInterface() {} + virtual ~OmxModeInterface() {} + + virtual void InitSetup() {} // Called once when mode is created + + virtual void onModeActivated() {} // Called whenever entering mode + virtual void onModeDeactivated() {} // Called whenever entering mode + + virtual void onClockTick() {} + + virtual void onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) = 0; + virtual void loopUpdate(Micros elapsedTime) {} + virtual void updateLEDs() = 0; + virtual void onEncoderChanged(Encoder::Update enc) = 0; + virtual void onEncoderButtonDown() = 0; + virtual void onEncoderButtonUp(){}; + virtual void onEncoderButtonUpLong(){}; + + virtual bool shouldBlockEncEdit() { return false; } // return true if should block encoder mode switch / hold down encoder + virtual void onEncoderButtonDownLong() = 0; // Will only get called if shouldBlockEncEdit() returns true + + virtual void onKeyUpdate(OMXKeypadEvent e) = 0; + virtual void onKeyHeldUpdate(OMXKeypadEvent e){}; + + virtual void onDisplayUpdate(){}; + + // #### Inbound MIDI callbacks + virtual void inMidiNoteOn(byte channel, byte note, byte velocity) {} + virtual void inMidiNoteOff(byte channel, byte note, byte velocity) {} + virtual void inMidiControlChange(byte channel, byte control, byte value) {} +}; diff --git a/Archive/OMX-27-firmware/src/modes/omx_mode_midi_keyboard.cpp b/Archive/OMX-27-firmware/src/modes/omx_mode_midi_keyboard.cpp new file mode 100644 index 00000000..b9d82c61 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_mode_midi_keyboard.cpp @@ -0,0 +1,1513 @@ +#include "omx_mode_midi_keyboard.h" +#include "../config.h" +#include "../consts/colors.h" +#include "../utils/omx_util.h" +#include "../utils/cvNote_util.h" +#include "../hardware/omx_disp.h" +#include "../hardware/omx_leds.h" +#include "../midi/midi.h" +#include "../utils/music_scales.h" +#include "../midi/noteoffs.h" +#include "sequencer.h" + +// const int kSelMidiFXOffColor = SALMON; +// const int kMidiFXOffColor = RED; + +// const int kSelMidiFXColor = LTCYAN; +// const int kMidiFXColor = BLUE; + +enum MIKeyModePage { + MIPAGE_OUTMIDI, + MIPAGE_MIDIINSPECT, + MIPAGE_OUTCC, + MIPAGE_POTSANDMACROS, + MIPAGE_SCALES, + MIPAGE_CFG, + MIPAGE_CLOCK_SOURCE, + MIPAGE_CLOCK_SEND, + MIPAGE_VERSION +}; + +OmxModeMidiKeyboard::OmxModeMidiKeyboard() +{ + // Add 4 pages + params.addPage(4); // Oct, CH, Vel + params.addPage(4); // Sent Pot CC, Last Note, Last Vel, Not editable, just FYI + params.addPage(4); // RR - Midi Round Robin, RROF - Round Robin Offset, PGm, BNK + params.addPage(4); // PotBank, Thru, Macro, Macro Channel + params.addPage(4); // Root, Scale, Lock Scale Notes, Group notes. + params.addPage(4); // Pot CC CFG + params.addPage(4); // MIPAGE_VERSION + + // subModeMidiFx.setNoteOutputFunc(&OmxModeMidiKeyboard::onNotePostFXForwarder, this); + + m8Macro_.setDoNoteOn(&OmxModeMidiKeyboard::doNoteOnForwarder, this); + m8Macro_.setDoNoteOff(&OmxModeMidiKeyboard::doNoteOffForwarder, this); + nornsMarco_.setDoNoteOn(&OmxModeMidiKeyboard::doNoteOnForwarder, this); + nornsMarco_.setDoNoteOff(&OmxModeMidiKeyboard::doNoteOffForwarder, this); + delugeMacro_.setDoNoteOn(&OmxModeMidiKeyboard::doNoteOnForwarder, this); + delugeMacro_.setDoNoteOff(&OmxModeMidiKeyboard::doNoteOffForwarder, this); +} + +void OmxModeMidiKeyboard::InitSetup() +{ + initSetup = true; +} + +void OmxModeMidiKeyboard::onModeActivated() +{ + // auto init when activated + if (!initSetup) + { + InitSetup(); + } + + // sequencer.playing = false; + stopSequencers(); + + omxLeds.setDirty(); + omxDisp.setDirty(); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setEnabled(true); + subModeMidiFx[i].onModeChanged(); + subModeMidiFx[i].setNoteOutputFunc(&OmxModeMidiKeyboard::onNotePostFXForwarder, this); + } + + pendingNoteOffs.setNoteOffFunction(&OmxModeMidiKeyboard::onPendingNoteOffForwarder, this); + + params.setSelPageAndParam(0, 0); + encoderSelect = true; + + selectMidiFx(mfxIndex_, false); +} + +void OmxModeMidiKeyboard::onModeDeactivated() +{ + // sequencer.playing = false; + stopSequencers(); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setEnabled(false); + subModeMidiFx[i].onModeChanged(); + } +} + +void OmxModeMidiKeyboard::stopSequencers() +{ + omxUtil.stopClocks(); + // MM::stopClock(); + pendingNoteOffs.allOff(); +} + +void OmxModeMidiKeyboard::selectMidiFx(uint8_t mfxIndex, bool dispMsg) +{ + this->mfxIndex_ = mfxIndex; + + if(mfxQuickEdit_) + { + // Change the MidiFX Group being edited + if(mfxIndex < NUM_MIDIFX_GROUPS && mfxIndex != quickEditMfxIndex_) + { + enableSubmode(&subModeMidiFx[mfxIndex]); + subModeMidiFx[mfxIndex].enablePassthrough(); + quickEditMfxIndex_ = mfxIndex; + dispMsg = false; + } + else if(mfxIndex >= NUM_MIDIFX_GROUPS) + { + disableSubmode(); + } + } + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].setSelected(i == mfxIndex); + } + + if (dispMsg) + { + if (mfxIndex < NUM_MIDIFX_GROUPS) + { + omxDisp.displayMessageTimed("MidiFX " + String(mfxIndex + 1), 5); + } + else + { + omxDisp.displayMessageTimed("MidiFX Off", 5); + } + } +} + +// void OmxModeMidiKeyboard::changePage(int amt) +// { +// midiPageParams.mmpage = constrain(midiPageParams.mmpage + amt, 0, midiPageParams.numPages - 1); +// midiPageParams.miparam = midiPageParams.mmpage * NUM_DISP_PARAMS; +// } + +// void OmxModeMidiKeyboard::setParam(int paramIndex) +// { +// if (paramIndex >= 0) +// { +// midiPageParams.miparam = paramIndex % midiPageParams.numParams; +// } +// else +// { +// midiPageParams.miparam = (paramIndex + midiPageParams.numParams) % midiPageParams.numParams; +// } + +// // midiPageParams.miparam = (midiPageParams.miparam + 1) % 15; +// midiPageParams.mmpage = midiPageParams.miparam / NUM_DISP_PARAMS; +// } + +void OmxModeMidiKeyboard::onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) +{ + if (isSubmodeEnabled() && activeSubmode->usesPots()) + { + activeSubmode->onPotChanged(potIndex, prevValue, newValue, analogDelta); + return; + } + + auto activeMacro = getActiveMacro(); + + bool macroConsumesPots = false; + if (activeMacro != nullptr) + { + macroConsumesPots = activeMacro->consumesPots(); + } + + // Note, these get sent even if macro mode is not active + if (macroConsumesPots) + { + activeMacro->onPotChanged(potIndex, prevValue, newValue, analogDelta); + } + else + { + omxUtil.sendPots(potIndex, sysSettings.midiChannel); + } + + // if (midiMacroConfig.midiMacro) + // { + // omxUtil.sendPots(potIndex, midiMacroConfig.midiMacroChan); + // } + // else + // { + // } + + omxDisp.setDirty(); +} + +void OmxModeMidiKeyboard::onClockTick() +{ + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + // Lets them do things in background + subModeMidiFx[i].onClockTick(); + } +} + +void OmxModeMidiKeyboard::loopUpdate(Micros elapsedTime) +{ + + // if (elapsedTime > 0) + // { + // if (!sequencer.playing) + // { + // // Needed to make pendingNoteOns/pendingNoteOffs work + // omxUtil.advanceSteps(elapsedTime); + // } + // } + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + // Lets them do things in background + subModeMidiFx[i].loopUpdate(); + } + + // Can be modified by scale MidiFX + musicScale->calculateScaleIfModified(scaleConfig.scaleRoot, scaleConfig.scalePattern); + + // if (isSubmodeEnabled()) + // { + // activeSubmode->loopUpdate(); + // } +} + +// Handles selecting params using encoder +// void OmxModeMidiKeyboard::onEncoderChangedSelectParam(Encoder::Update enc) +// { +// if(enc.dir() == 0) return; + +// if (enc.dir() < 0) // if turn CCW +// { +// params.decrementParam(); +// } +// else if (enc.dir() > 0) // if turn CW +// { +// params.incrementParam(); +// } + +// omxDisp.setDirty(); +// } + +void OmxModeMidiKeyboard::onEncoderChanged(Encoder::Update enc) +{ + if (isSubmodeEnabled()) + { + activeSubmode->onEncoderChanged(enc); + return; + } + + bool macroConsumesDisplay = false; + + if (macroActive_ && activeMacro_ != nullptr) + { + macroConsumesDisplay = activeMacro_->consumesDisplay(); + } + + if (macroConsumesDisplay) + { + activeMacro_->onEncoderChanged(enc); + return; + } + + if (encoderSelect && !midiSettings.midiAUX) + { + // onEncoderChangedSelectParam(enc); + params.changeParam(enc.dir()); + omxDisp.setDirty(); + return; + } + + if (organelleMotherMode) + { + // CHANGE PAGE + if (params.getSelParam() == 0) + { + if (enc.dir() < 0) + { // if turn ccw + MM::sendControlChange(CC_OM2, 0, sysSettings.midiChannel); + } + else if (enc.dir() > 0) + { // if turn cw + MM::sendControlChange(CC_OM2, 127, sysSettings.midiChannel); + } + } + + omxDisp.setDirty(); + } + + // if (midiSettings.midiAUX) + // { + // // if (enc.dir() < 0) + // // { // if turn ccw + // // setParam(midiPageParams.miparam - 1); + // // omxDisp.setDirty(); + // // } + // // else if (enc.dir() > 0) + // // { // if turn cw + // // setParam(midiPageParams.miparam + 1); + // // omxDisp.setDirty(); + // // } + + // // change MIDI Background Color + // // midiBg_Hue = constrain(midiBg_Hue + (amt * 32), 0, 65534); // 65535 + // return; // break; + // } + + auto amt = enc.accel(5); // where 5 is the acceleration factor if you want it, 0 if you don't) + + int8_t selPage = params.getSelPage(); + int8_t selParam = params.getSelParam() + 1; // Add one for readability + + if (selPage == MIPAGE_OUTMIDI) + { + if (selParam == 1) + { + // set octave + midiSettings.octave = constrain(midiSettings.octave + amt, -5, 4); + } + else if (selParam == 2) + { + int newchan = constrain(sysSettings.midiChannel + amt, 1, 16); + if (newchan != sysSettings.midiChannel) // Is this if necessary? + { + sysSettings.midiChannel = newchan; + } + } + else if (selParam == 3) + { + midiSettings.defaultVelocity = constrain((int)midiSettings.defaultVelocity + amt, 0, 127); // cast to int to prevent rollover + } + } + else if (selPage == MIPAGE_OUTCC) + { + if (selParam == 1) + { + int newrrchan = constrain(midiSettings.midiRRChannelCount + amt, 1, 16); + if (newrrchan != midiSettings.midiRRChannelCount) + { + midiSettings.midiRRChannelCount = newrrchan; + if (midiSettings.midiRRChannelCount == 1) + { + midiSettings.midiRoundRobin = false; + } + else + { + midiSettings.midiRoundRobin = true; + } + } + } + else if (selParam == 2) + { + midiSettings.midiRRChannelOffset = constrain(midiSettings.midiRRChannelOffset + amt, 0, 15); + } + else if (selParam == 3) + { + midiSettings.currpgm = constrain(midiSettings.currpgm + amt, 0, 127); + + if (midiSettings.midiRoundRobin) + { + for (int q = midiSettings.midiRRChannelOffset + 1; q < midiSettings.midiRRChannelOffset + midiSettings.midiRRChannelCount + 1; q++) + { + MM::sendProgramChange(midiSettings.currpgm, q); + } + } + else + { + MM::sendProgramChange(midiSettings.currpgm, sysSettings.midiChannel); + } + } + else if (selParam == 4) + { + midiSettings.currbank = constrain(midiSettings.currbank + amt, 0, 127); + // Bank Select is 2 mesages + // need to figure out bit shift to get values over 127 + MM::sendControlChange(0, midiSettings.currbank, sysSettings.midiChannel); + MM::sendControlChange(32, 0, sysSettings.midiChannel); + MM::sendProgramChange(midiSettings.currpgm, sysSettings.midiChannel); + } + } + else if (selPage == MIPAGE_POTSANDMACROS) + { + if (selParam == 1) + { + potSettings.potbank = constrain(potSettings.potbank + amt, 0, NUM_CC_BANKS - 1); + // send a CC to the editor here + MM::sendControlChange(90, potSettings.potbank, sysSettings.midiChannel); + } + if (selParam == 2) + { + midiSettings.midiSoftThru = constrain(midiSettings.midiSoftThru + amt, 0, 1); + } + if (selParam == 3) + { + midiMacroConfig.midiMacro = constrain(midiMacroConfig.midiMacro + amt, 0, nummacromodes); + } + if (selParam == 4) + { + midiMacroConfig.midiMacroChan = constrain(midiMacroConfig.midiMacroChan + amt, 1, 16); + } + } + else if (selPage == MIPAGE_SCALES) + { + if (selParam == 1) + { + int prevRoot = scaleConfig.scaleRoot; + scaleConfig.scaleRoot = constrain(scaleConfig.scaleRoot + amt, 0, 12 - 1); + if (prevRoot != scaleConfig.scaleRoot) + { + musicScale->calculateScale(scaleConfig.scaleRoot, scaleConfig.scalePattern); + } + } + if (selParam == 2) + { + int prevPat = scaleConfig.scalePattern; + scaleConfig.scalePattern = constrain(scaleConfig.scalePattern + amt, -1, musicScale->getNumScales() - 1); + if (prevPat != scaleConfig.scalePattern) + { + omxDisp.displayMessage(musicScale->getScaleName(scaleConfig.scalePattern)); + musicScale->calculateScale(scaleConfig.scaleRoot, scaleConfig.scalePattern); + } + + if (scaleConfig.scalePattern == -1) + { // record locked and grouped states, then set the current lockScale and group16 to off + if (prevPat != -1) + { + scaleConfig.lockedState = scaleConfig.lockScale; + scaleConfig.groupedState = scaleConfig.group16; + } + scaleConfig.lockScale = 0; + scaleConfig.group16 = 0; + } + else + { // restore locked and grouped states if the scale was previously set to off + if (prevPat == -1) + { + scaleConfig.lockScale = scaleConfig.lockedState; + scaleConfig.group16 = scaleConfig.groupedState; + } + } + } + if (selParam == 3) + { + if (scaleConfig.scalePattern != -1) + { + scaleConfig.lockScale = constrain(scaleConfig.lockScale + amt, 0, 1); + } + } + if (selParam == 4) + { + if (scaleConfig.scalePattern != -1) + { + scaleConfig.group16 = constrain(scaleConfig.group16 + amt, 0, 1); + } + } + } + else if(selPage == MIPAGE_CFG) + { + if (selParam == 3) + { + clockConfig.globalQuantizeStepIndex = constrain(clockConfig.globalQuantizeStepIndex + amt, 0, kNumArpRates - 1); + } + else if (selParam == 4) + { + cvNoteUtil.triggerMode = constrain(cvNoteUtil.triggerMode + amt, 0, 1); + } + } + else if (selPage == MIPAGE_CLOCK_SOURCE) + { + if (selParam == 1) + { + sequencer.clockSource = constrain(sequencer.clockSource + amt, 0, 1); + } + if (selParam == 2) + { + clockConfig.send_always = constrain(clockConfig.send_always + amt, 0, 1); + } + } + + + omxDisp.setDirty(); +} + +void OmxModeMidiKeyboard::onEncoderButtonDown() +{ + if (isSubmodeEnabled()) + { + activeSubmode->onEncoderButtonDown(); + return; + } + + bool macroConsumesDisplay = false; + if (macroActive_ && activeMacro_ != nullptr) + { + macroConsumesDisplay = activeMacro_->consumesDisplay(); + } + + if (macroConsumesDisplay) + { + activeMacro_->onEncoderButtonDown(); + return; + } + + if(params.getSelPage() == MIPAGE_CFG) + { + int8_t selParam = params.getSelParam(); + if(selParam == 0) + { + enableSubmode(&subModePotConfig_); + omxDisp.isDirty(); + return; + } + else if(selParam == 1) + { + enableSubmode(&omxUtil.subModeClearStorage); + omxDisp.isDirty(); + return; + } + } + + encoderSelect = !encoderSelect; + omxDisp.isDirty(); +} + +void OmxModeMidiKeyboard::onEncoderButtonUp() +{ + if (organelleMotherMode) + { + // MM::sendControlChange(CC_OM1,0,sysSettings.midiChannel); + } +} + +void OmxModeMidiKeyboard::onEncoderButtonDownLong() +{ +} + +bool OmxModeMidiKeyboard::shouldBlockEncEdit() +{ + if (isSubmodeEnabled()) + { + return activeSubmode->shouldBlockEncEdit(); + } + + if (macroActive_) + { + return true; + } + + return false; +} + +void OmxModeMidiKeyboard::onKeyUpdate(OMXKeypadEvent e) +{ + if (isSubmodeEnabled()) + { + if (activeSubmode->onKeyUpdate(e)) + return; + } + + int thisKey = e.key(); + + // // Aux key debugging + // if(thisKey == 0){ + // const char* dwn = e.down() ? " Down: True" : " Down: False"; + // Serial.println(String("Clicks: ") + String(e.clicks()) + dwn); + // } + + // Aux double click toggle macro + if (!isSubmodeEnabled() && midiMacroConfig.midiMacro > 0) + { + if (!macroActive_) + { + // Enter M8 Mode + if (!e.down() && thisKey == 0 && e.clicks() == 2) + { + midiSettings.midiAUX = false; + + activeMacro_ = getActiveMacro(); + if (activeMacro_ != nullptr) + { + macroActive_ = true; + activeMacro_->setEnabled(true); + activeMacro_->setScale(musicScale); + omxLeds.setDirty(); + omxDisp.setDirty(); + return; + } + // midiMacroConfig.m8AUX = true; + return; + } + } + else // Macro mode active + { + if (!e.down() && thisKey == 0 && e.clicks() == 2) + { + // exit macro mode + if (activeMacro_ != nullptr) + { + activeMacro_->setEnabled(false); + activeMacro_ = nullptr; + } + + midiSettings.midiAUX = false; + macroActive_ = false; + omxLeds.setDirty(); + omxDisp.setDirty(); + + // Clear LEDs + for (int m = 1; m < LED_COUNT; m++) + { + strip.setPixelColor(m, LEDOFF); + } + } + else + { + if (activeMacro_ != nullptr) + { + activeMacro_->onKeyUpdate(e); + } + } + return; + + // if(activeMarco_->getEnabled() == false) + // { + // macroActive_ = false; + // midiSettings.midiAUX = false; + // activeMarco_ = nullptr; + + // // Clear LEDs + // for (int m = 1; m < LED_COUNT; m++) + // { + // strip.setPixelColor(m, LEDOFF); + // } + // return; + // } + // // Exit M8 mode + // if (!e.down() && thisKey == 0 && e.clicks() == 2) + // { + // midiMacroConfig.m8AUX = false; + // midiSettings.midiAUX = false; + // macroActive_ = true; + + // // Clear LEDs + // for (int m = 1; m < LED_COUNT; m++) + // { + // strip.setPixelColor(m, LEDOFF); + // } + // return; + // } + + // onKeyUpdateM8Macro(e); + // return; + } + } + + if (onKeyUpdateSelMidiFX(e)) + return; + + // REGULAR KEY PRESSES + if (!e.held()) + { // IGNORE LONG PRESS EVENTS + if (e.down() && thisKey != 0) + { + bool keyConsumed = false; // If used for aux, key will be consumed and not send notes. + + if (midiSettings.midiAUX) // Aux mode + { + keyConsumed = true; + + if (thisKey == 11 || thisKey == 12) // Change Octave + { + int amt = thisKey == 11 ? -1 : 1; + midiSettings.octave = constrain(midiSettings.octave + amt, -5, 4); + } + else if (!mfxQuickEdit_ && (thisKey == 1 || thisKey == 2)) // Change Param selection + { + if (thisKey == 1) + { + params.decrementParam(); + } + else if (thisKey == 2) + { + params.incrementParam(); + } + // int chng = thisKey == 1 ? -1 : 1; + + // setParam(constrain((midiPageParams.miparam + chng) % midiPageParams.numParams, 0, midiPageParams.numParams - 1)); + } + // else if(thisKey == 5) + // { + // // Turn off midiFx + // selectMidiFx(127, true); + // // mfxIndex = 127; + // } + // else if (thisKey >= 6 && thisKey < 11) + // { + // // Change active midiFx + // // mfxIndex = thisKey - 6; + // selectMidiFx(thisKey - 6, true); + // // enableSubmode(&subModeMidiFx[thisKey - 6]); + // } + // else if(thisKey == 25) + // { + // if (mfxIndex_ < NUM_MIDIFX_GROUPS) + // { + // subModeMidiFx[mfxIndex_].toggleArpHold(); + + // if (subModeMidiFx[mfxIndex_].isArpHoldOn()) + // { + // omxDisp.displayMessageTimed("Arp Hold: On", 5); + // } + // else + // { + // omxDisp.displayMessageTimed("Arp Hold: Off", 5); + // } + // } + // else + // { + // omxDisp.displayMessageTimed("MidiFX are Off", 5); + // } + // } + // else if(thisKey == 26) + // { + // if(mfxIndex_ < NUM_MIDIFX_GROUPS) + // { + // subModeMidiFx[mfxIndex_].toggleArp(); + + // if (subModeMidiFx[mfxIndex_].isArpOn()) + // { + // omxDisp.displayMessageTimed("Arp On", 5); + // } + // else + // { + // omxDisp.displayMessageTimed("Arp Off", 5); + // } + // } + // else + // { + // omxDisp.displayMessageTimed("MidiFX are Off", 5); + // } + // } + // else if (e.down() && thisKey == 10) + // { + // enableSubmode(&subModeMidiFx); + // keyConsumed = true; + // } + // else if (thisKey == 26) + // { + // keyConsumed = true; + // } + } + + if (!keyConsumed) + { + doNoteOn(thisKey); + // omxUtil.midiNoteOn(musicScale, thisKey, midiSettings.defaultVelocity, sysSettings.midiChannel); + } + } + else if (!e.down() && thisKey != 0) + { + doNoteOff(thisKey); + // omxUtil.midiNoteOff(thisKey, sysSettings.midiChannel); + } + } + // Serial.println(e.clicks()); + + // AUX KEY + if (e.down() && thisKey == 0) + { + // Hard coded Organelle stuff + // MM::sendControlChange(CC_AUX, 100, sysSettings.midiChannel); + + // if (!midiMacroConfig.m8AUX) + // { + // midiSettings.midiAUX = true; + // } + + if (!macroActive_) + { + midiSettings.midiAUX = true; + } + + // if (midiAUX) { + // // STOP CLOCK + // Serial.println("stop clock"); + // } else { + // // START CLOCK + // Serial.println("start clock"); + // } + // midiAUX = !midiAUX; + } + else if (!e.down() && thisKey == 0) + { + // Hard coded Organelle stuff + // MM::sendControlChange(CC_AUX, 0, sysSettings.midiChannel); + if (midiSettings.midiAUX) + { + midiSettings.midiAUX = false; + } + // turn off leds + strip.setPixelColor(0, LEDOFF); + strip.setPixelColor(1, LEDOFF); + strip.setPixelColor(2, LEDOFF); + strip.setPixelColor(11, LEDOFF); + strip.setPixelColor(12, LEDOFF); + } + + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +bool OmxModeMidiKeyboard::onKeyUpdateSelMidiFX(OMXKeypadEvent e) +{ + int thisKey = e.key(); + + bool keyConsumed = false; + + if (!e.held()) + { + if (!e.down() && e.clicks() == 2 && thisKey >= 6 && thisKey < 11) + { + if (midiSettings.midiAUX) // Aux mode + { + enableSubmode(&subModeMidiFx[thisKey - 6]); + keyConsumed = true; + } + } + + if (e.down() && thisKey != 0) + { + if (midiSettings.midiAUX) // Aux mode + { + if (mfxQuickEdit_ && thisKey == 1) + { + subModeMidiFx[quickEditMfxIndex_].selectPrevMFXSlot(); + } + else if (mfxQuickEdit_ && thisKey == 2) + { + subModeMidiFx[quickEditMfxIndex_].selectNextMFXSlot(); + } + else if (thisKey == 5) + { + keyConsumed = true; + // Turn off midiFx + selectMidiFx(127, true); + // mfxIndex_ = 127; + } + else if (thisKey >= 6 && thisKey < 11) + { + keyConsumed = true; + selectMidiFx(thisKey - 6, true); + // Change active midiFx + // mfxIndex_ = thisKey - 6; + } + else if (thisKey == 20) // MidiFX Passthrough + { + keyConsumed = true; + if (mfxIndex_ < NUM_MIDIFX_GROUPS) + { + enableSubmode(&subModeMidiFx[mfxIndex_]); + subModeMidiFx[mfxIndex_].enablePassthrough(); + mfxQuickEdit_ = true; + quickEditMfxIndex_ = mfxIndex_; + midiSettings.midiAUX = false; + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 22) // Goto arp params + { + keyConsumed = true; + if (mfxIndex_ < NUM_MIDIFX_GROUPS) + { + enableSubmode(&subModeMidiFx[mfxIndex_]); + subModeMidiFx[mfxIndex_].gotoArpParams(); + midiSettings.midiAUX = false; + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 23) // Next arp pattern + { + keyConsumed = true; + if (mfxIndex_ < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxIndex_].nextArpPattern(); + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 24) // Next arp octave + { + keyConsumed = true; + if (mfxIndex_ < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxIndex_].nextArpOctRange(); + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 25) + { + keyConsumed = true; + if (mfxIndex_ < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxIndex_].toggleArpHold(); + + if (subModeMidiFx[mfxIndex_].isArpHoldOn()) + { + omxDisp.displayMessageTimed("Arp Hold: On", 5); + } + else + { + omxDisp.displayMessageTimed("Arp Hold: Off", 5); + } + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + else if (thisKey == 26) + { + keyConsumed = true; + if (mfxIndex_ < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxIndex_].toggleArp(); + + if (subModeMidiFx[mfxIndex_].isArpOn()) + { + omxDisp.displayMessageTimed("Arp On", 5); + } + else + { + omxDisp.displayMessageTimed("Arp Off", 5); + } + } + else + { + omxDisp.displayMessage(mfxOffMsg); + } + } + } + } + } + + return keyConsumed; +} + +bool OmxModeMidiKeyboard::onKeyHeldSelMidiFX(OMXKeypadEvent e) +{ + int thisKey = e.key(); + + bool keyConsumed = false; + + if (midiSettings.midiAUX) // Aux mode + { + // Enter MidiFX mode + if (thisKey >= 6 && thisKey < 11) + { + keyConsumed = true; + enableSubmode(&subModeMidiFx[thisKey - 6]); + } + } + + return keyConsumed; +} + +void OmxModeMidiKeyboard::onKeyHeldUpdate(OMXKeypadEvent e) +{ + if (isSubmodeEnabled()) + { + activeSubmode->onKeyHeldUpdate(e); + return; + } + + if (onKeyHeldSelMidiFX(e)) + return; + + // int thisKey = e.key(); + + // if (midiSettings.midiAUX) // Aux mode + // { + // // Enter MidiFX mode + // if (thisKey >= 6 && thisKey < 11) + // { + // enableSubmode(&subModeMidiFx[thisKey - 6]); + // } + // } +} + +midimacro::MidiMacroInterface *OmxModeMidiKeyboard::getActiveMacro() +{ + switch (midiMacroConfig.midiMacro) + { + case 1: + return &m8Macro_; + case 2: + return &nornsMarco_; + case 3: + return &delugeMacro_; + } + return nullptr; +} + +// void OmxModeMidiKeyboard::onKeyUpdateM8Macro(OMXKeypadEvent e) +// { +// if (!macroActive_) +// return; +// // if (!midiMacroConfig.m8AUX) +// // return; + +// auto activeMacro = getActiveMacro(); +// if(activeMacro == nullptr) return; + +// activeMacro->onKeyUpdate(e); +// } + +void OmxModeMidiKeyboard::updateLEDs() +{ + if (isSubmodeEnabled()) + { + if (activeSubmode->updateLEDs()) + return; + } + + if (midiSettings.midiAUX) + { + bool blinkState = omxLeds.getBlinkState(); + + // Blink left/right keys for octave select indicators. + auto color1 = LIME; + auto color2 = MAGENTA; + + for (int q = 1; q < LED_COUNT; q++) + { + if (midiSettings.midiKeyState[q] == -1) + { + if (colorConfig.midiBg_Hue == 0) + { + strip.setPixelColor(q, LEDOFF); + } + else if (colorConfig.midiBg_Hue == 32) + { + strip.setPixelColor(q, LOWWHITE); + } + else + { + strip.setPixelColor(q, strip.ColorHSV(colorConfig.midiBg_Hue, colorConfig.midiBg_Sat, colorConfig.midiBg_Brightness)); + } + } + } + strip.setPixelColor(0, RED); + strip.setPixelColor(1, color1); + strip.setPixelColor(2, color2); + + omxLeds.drawOctaveKeys(11, 12, midiSettings.octave); + + // MidiFX off + strip.setPixelColor(5, (mfxIndex_ >= NUM_MIDIFX_GROUPS ? colorConfig.selMidiFXGRPOffColor : colorConfig.midiFXGRPOffColor)); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + auto mfxColor = (i == mfxIndex_) ? colorConfig.selMidiFXGRPColor : colorConfig.midiFXGRPColor; + + strip.setPixelColor(6 + i, mfxColor); + } + + strip.setPixelColor(20, mfxQuickEdit_ && blinkState ? LEDOFF : colorConfig.mfxQuickEdit); + strip.setPixelColor(22, colorConfig.gotoArpParams); + strip.setPixelColor(23, colorConfig.nextArpPattern); + + if (mfxIndex_ < NUM_MIDIFX_GROUPS) + { + uint8_t octaveRange = subModeMidiFx[mfxIndex_].getArpOctaveRange(); + if (octaveRange == 0) + { + strip.setPixelColor(24, colorConfig.nextArpOctave); + } + else + { + // Serial.println("Blink Octave: " + String(octaveRange)); + bool blinkOctave = omxLeds.getBlinkPattern(octaveRange); + + strip.setPixelColor(24, blinkOctave ? colorConfig.nextArpOctave : LEDOFF); + } + + bool isOn = subModeMidiFx[mfxIndex_].isArpOn() && blinkState; + bool isHoldOn = subModeMidiFx[mfxIndex_].isArpHoldOn(); + + strip.setPixelColor(25, isHoldOn ? colorConfig.arpHoldOn : colorConfig.arpHoldOff); + strip.setPixelColor(26, isOn ? colorConfig.arpOn : colorConfig.arpOff); + } + else + { + strip.setPixelColor(25, colorConfig.arpHoldOff); + strip.setPixelColor(26, colorConfig.arpOff); + } + + // strip.setPixelColor(10, color3); // MidiFX key + + // Macros + } + else + { + omxLeds.drawMidiLeds(musicScale); // SHOW LEDS + } + + if (isSubmodeEnabled()) + { + bool blinkStateSlow = omxLeds.getSlowBlinkState(); + + auto auxColor = (blinkStateSlow ? RED : LEDOFF); + strip.setPixelColor(0, auxColor); + } +} + +void OmxModeMidiKeyboard::onDisplayUpdate() +{ + // omxLeds.updateBlinkStates(); + + if (isSubmodeEnabled()) + { + if (omxLeds.isDirty()) + { + updateLEDs(); + } + activeSubmode->onDisplayUpdate(); + return; + } + + bool macroConsumesDisplay = false; + + if (macroActive_ && activeMacro_ != nullptr) + { + activeMacro_->drawLEDs(); + macroConsumesDisplay = activeMacro_->consumesDisplay(); + } + else + { + if (omxLeds.isDirty()) + { + updateLEDs(); + } + // if (omxLeds.isDirty()) + // { + // updateLEDs(); + // // omxLeds.drawMidiLeds(musicScale); // SHOW LEDS + // } + } + + if (macroConsumesDisplay) + { + activeMacro_->onDisplayUpdate(); + } + else + { + if (omxDisp.isDirty()) + { // DISPLAY + if (!encoderConfig.enc_edit) + { + if (params.getSelPage() == MIPAGE_VERSION) + { + tempString = "v" + String(MAJOR_VERSION) + "." + String(MINOR_VERSION) + "." + String(POINT_VERSION); + omxDisp.dispGenericModeLabel(tempString.c_str(), params.getNumPages(), params.getSelPage()); + return; + } + + if (params.getSelPage() == MIPAGE_OUTMIDI) + { + omxDisp.clearLegends(); + + omxDisp.setLegend(0, "OCT", (int)midiSettings.octave + 4); + omxDisp.setLegend(1,"CH", sysSettings.midiChannel); + omxDisp.setLegend(2,"VEL", midiSettings.defaultVelocity); + } + else if (params.getSelPage() == MIPAGE_MIDIINSPECT) + { + omxDisp.clearLegends(); + + omxDisp.setLegend(0,"P CC", potSettings.potCC); + omxDisp.setLegend(1,"P VAL", potSettings.potVal); + omxDisp.setLegend(2,"NOTE", midiSettings.midiLastNote); + omxDisp.setLegend(3,"VEL", midiSettings.midiLastVel); + } + else if (params.getSelPage() == MIPAGE_OUTCC) + { + omxDisp.clearLegends(); + + omxDisp.setLegend(0,"RR", midiSettings.midiRRChannelCount); + omxDisp.setLegend(1,"RROF", midiSettings.midiRRChannelOffset); + omxDisp.setLegend(2,"PGM", midiSettings.currpgm + 1); + omxDisp.setLegend(3,"BNK", midiSettings.currbank); + } + else if (params.getSelPage() == MIPAGE_POTSANDMACROS) // SUBMODE_MIDI3 + { + omxDisp.clearLegends(); + + omxDisp.setLegend(0,"PBNK", potSettings.potbank + 1); + omxDisp.setLegend(1,"THRU", midiSettings.midiSoftThru); + omxDisp.setLegend(2,"MCRO", macromodes[midiMacroConfig.midiMacro]); + omxDisp.setLegend(3,"M-CH", midiMacroConfig.midiMacroChan); + } + else if (params.getSelPage() == MIPAGE_SCALES) // SCALES + { + omxDisp.clearLegends(); + + omxDisp.setLegend(0,"ROOT", musicScale->getNoteName(scaleConfig.scaleRoot)); + omxDisp.setLegend(1,"SCALE", scaleConfig.scalePattern < 0, scaleConfig.scalePattern); + omxDisp.setLegend(2,"LOCK", scaleConfig.lockScale); + omxDisp.setLegend(3,"GROUP", scaleConfig.group16); + } + else if (params.getSelPage() == MIPAGE_CFG) // CONFIG + { + omxDisp.clearLegends(); + + omxDisp.setLegend(0,"P CC", "CFG"); + omxDisp.setLegend(1,"CLR", "STOR"); + omxDisp.setLegend(2,"QUANT", "1/" + String(kArpRates[clockConfig.globalQuantizeStepIndex])); + omxDisp.setLegend(3,"CV M", cvNoteUtil.getTriggerModeDispName()); + } + else if (params.getSelPage() == MIPAGE_CLOCK_SOURCE) + { + omxDisp.clearLegends(); + + omxDisp.setLegend(0,"CLKS", sequencer.clockSource ? "Ext" : "Int"); + omxDisp.setLegend(1,"SEND", clockConfig.send_always ? "ON" : "OFF"); // Always send clock or not + } + omxDisp.dispGenericMode2(params.getNumPages(), params.getSelPage(), params.getSelParam(), encoderSelect && !midiSettings.midiAUX); + } + } + } +} + +// incoming midi note on +void OmxModeMidiKeyboard::inMidiNoteOn(byte channel, byte note, byte velocity) +{ + if (organelleMotherMode) + return; + + midiSettings.midiLastNote = note; + midiSettings.midiLastVel = velocity; + int whatoct = (note / 12); + int thisKey; + uint32_t keyColor = MIDINOTEON; + + if ((whatoct % 2) == 0) + { + thisKey = note - (12 * whatoct); + } + else + { + thisKey = note - (12 * whatoct) + 12; + } + if (whatoct == 0) + { // ORANGE,YELLOW,GREEN,MAGENTA,CYAN,BLUE,LIME,LTPURPLE + } + else if (whatoct == 1) + { + keyColor = ORANGE; + } + else if (whatoct == 2) + { + keyColor = YELLOW; + } + else if (whatoct == 3) + { + keyColor = GREEN; + } + else if (whatoct == 4) + { + keyColor = MAGENTA; + } + else if (whatoct == 5) + { + keyColor = CYAN; + } + else if (whatoct == 6) + { + keyColor = LIME; + } + else if (whatoct == 7) + { + keyColor = CYAN; + } + strip.setPixelColor(midiKeyMap[thisKey], keyColor); // Set pixel's color (in RAM) + // dirtyPixels = true; + strip.show(); + omxDisp.setDirty(); +} + +void OmxModeMidiKeyboard::inMidiNoteOff(byte channel, byte note, byte velocity) +{ + if (organelleMotherMode) + return; + + int whatoct = (note / 12); + int thisKey; + if ((whatoct % 2) == 0) + { + thisKey = note - (12 * whatoct); + } + else + { + thisKey = note - (12 * whatoct) + 12; + } + strip.setPixelColor(midiKeyMap[thisKey], LEDOFF); // Set pixel's color (in RAM) + // dirtyPixels = true; + strip.show(); + omxDisp.setDirty(); +} + +void OmxModeMidiKeyboard::inMidiControlChange(byte channel, byte control, byte value) +{ + auto activeMacro = getActiveMacro(); + + if (activeMacro != nullptr) + { + activeMacro->inMidiControlChange(channel, control, value); + } +} + +void OmxModeMidiKeyboard::SetScale(MusicScales *scale) +{ + this->musicScale = scale; + m8Macro_.setScale(scale); + nornsMarco_.setScale(scale); +} + +void OmxModeMidiKeyboard::sendMidiClock(bool send) +{ + clockConfig.send_always = !clockConfig.send_always; +} + +void OmxModeMidiKeyboard::enableSubmode(SubmodeInterface *subMode) +{ + if (activeSubmode != nullptr) + { + activeSubmode->setEnabled(false); + } + + activeSubmode = subMode; + activeSubmode->setEnabled(true); + omxDisp.setDirty(); +} + +void OmxModeMidiKeyboard::disableSubmode() +{ + if (activeSubmode != nullptr) + { + activeSubmode->setEnabled(false); + } + + midiSettings.midiAUX = false; + mfxQuickEdit_ = false; + activeSubmode = nullptr; + omxDisp.setDirty(); +} + +bool OmxModeMidiKeyboard::isSubmodeEnabled() +{ + if (activeSubmode == nullptr) + return false; + + if (activeSubmode->isEnabled() == false) + { + disableSubmode(); + midiSettings.midiAUX = false; + return false; + } + + return true; +} + +void OmxModeMidiKeyboard::doNoteOn(uint8_t keyIndex) +{ + MidiNoteGroup noteGroup = omxUtil.midiNoteOn2(musicScale, keyIndex, midiSettings.defaultVelocity, sysSettings.midiChannel); + + if (noteGroup.noteNumber == 255) + return; + + // Serial.println("doNoteOn: " + String(noteGroup.noteNumber)); + + noteGroup.unknownLength = true; + noteGroup.prevNoteNumber = noteGroup.noteNumber; + + if (mfxIndex_ < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxIndex_].noteInput(noteGroup); + // subModeMidiFx.noteInput(noteGroup); + } + else + { + onNotePostFX(noteGroup); + } +} +void OmxModeMidiKeyboard::doNoteOff(uint8_t keyIndex) +{ + MidiNoteGroup noteGroup = omxUtil.midiNoteOff2(keyIndex, sysSettings.midiChannel); + + if (noteGroup.noteNumber == 255) + return; + + // Serial.println("doNoteOff: " + String(noteGroup.noteNumber)); + + noteGroup.unknownLength = true; + noteGroup.prevNoteNumber = noteGroup.noteNumber; + + if (mfxIndex_ < NUM_MIDIFX_GROUPS) + { + subModeMidiFx[mfxIndex_].noteInput(noteGroup); + // subModeMidiFx.noteInput(noteGroup); + } + else + { + onNotePostFX(noteGroup); + } +} + +// // Called by a euclid sequencer when it triggers a note +// void OmxModeMidiKeyboard::onNoteTriggered(uint8_t euclidIndex, MidiNoteGroup note) +// { +// // Serial.println("OmxModeEuclidean::onNoteTriggered " + String(euclidIndex) + " note: " + String(note.noteNumber)); + +// subModeMidiFx.noteInput(note); + +// omxDisp.setDirty(); +// } + +// Called by the midiFX group when a note exits it's FX Pedalboard +void OmxModeMidiKeyboard::onNotePostFX(MidiNoteGroup note) +{ + if (note.noteOff) + { + // Serial.println("OmxModeMidiKeyboard::onNotePostFX noteOff: " + String(note.noteNumber)); + + if (note.sendMidi) + { + MM::sendNoteOff(note.noteNumber, note.velocity, note.channel); + } + if (note.sendCV) + { + cvNoteUtil.cvNoteOff(note.noteNumber); + } + } + else + { + if (note.unknownLength == false) + { + uint32_t noteOnMicros = note.noteonMicros; // TODO Might need to be set to current micros + pendingNoteOns.insert(note.noteNumber, note.velocity, note.channel, noteOnMicros, note.sendCV); + + // Serial.println("StepLength: " + String(note.stepLength)); + + uint32_t noteOffMicros = noteOnMicros + (note.stepLength * clockConfig.step_micros); + pendingNoteOffs.insert(note.noteNumber, note.channel, noteOffMicros, note.sendCV); + + // Serial.println("noteOnMicros: " + String(noteOnMicros)); + // Serial.println("noteOffMicros: " + String(noteOffMicros)); + } + else + { + // Serial.println("OmxModeMidiKeyboard::onNotePostFX noteOn: " + String(note.noteNumber)); + + if (note.sendMidi) + { + midiSettings.midiLastNote = note.noteNumber; + midiSettings.midiLastVel = note.velocity; + MM::sendNoteOn(note.noteNumber, note.velocity, note.channel); + } + if (note.sendCV) + { + cvNoteUtil.cvNoteOn(note.noteNumber); + } + } + } + + // uint32_t noteOnMicros = note.noteonMicros; // TODO Might need to be set to current micros + // pendingNoteOns.insert(note.noteNumber, note.velocity, note.channel, noteOnMicros, note.sendCV); + + // uint32_t noteOffMicros = noteOnMicros + (note.stepLength * clockConfig.step_micros); + // pendingNoteOffs.insert(note.noteNumber, note.channel, noteOffMicros, note.sendCV); +} + +void OmxModeMidiKeyboard::onPendingNoteOff(int note, int channel) +{ + // Serial.println("OmxModeEuclidean::onPendingNoteOff " + String(note) + " " + String(channel)); + // subModeMidiFx.onPendingNoteOff(note, channel); + + for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) + { + subModeMidiFx[i].onPendingNoteOff(note, channel); + } +} diff --git a/Archive/OMX-27-firmware/src/modes/omx_mode_midi_keyboard.h b/Archive/OMX-27-firmware/src/modes/omx_mode_midi_keyboard.h new file mode 100644 index 00000000..8eed62c8 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_mode_midi_keyboard.h @@ -0,0 +1,144 @@ +#pragma once + +#include "omx_mode_interface.h" +#include "../utils/music_scales.h" +#include "../utils/param_manager.h" +#include "submodes/submode_midifxgroup.h" +#include "submodes/submode_potconfig.h" +#include "../midifx/midifx_interface.h" +#include "../midifx/midifx_interface.h" +#include "../midimacro/midimacro_m8.h" +#include "../midimacro/midimacro_norns.h" +#include "../midimacro/midimacro_deluge.h" + +class OmxModeMidiKeyboard : public OmxModeInterface +{ +public: + OmxModeMidiKeyboard(); + ~OmxModeMidiKeyboard() {} + + void InitSetup() override; + void onModeActivated() override; + void onModeDeactivated() override; + + void setOrganelleMode() + { + organelleMotherMode = true; + } + + void setMidiMode() + { + organelleMotherMode = false; + } + + void onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) override; + void loopUpdate(Micros elapsedTime) override; + void onClockTick() override; + + void updateLEDs() override; + + void onEncoderChanged(Encoder::Update enc) override; + void onEncoderButtonDown() override; + void onEncoderButtonUp() override; + + void onEncoderButtonDownLong() override; + + bool shouldBlockEncEdit() override; + + void onKeyUpdate(OMXKeypadEvent e) override; + void onKeyHeldUpdate(OMXKeypadEvent e) override; + + void onDisplayUpdate() override; + void inMidiNoteOn(byte channel, byte note, byte velocity) override; + void inMidiNoteOff(byte channel, byte note, byte velocity) override; + void inMidiControlChange(byte channel, byte control, byte value) override; + + void sendMidiClock(bool send); + + void SetScale(MusicScales *scale); + +private: + bool initSetup = false; + bool organelleMotherMode = false; // TODO make separate class for this + + MusicScales *musicScale; + + void changePage(int amt); + void setParam(int paramIndex); + + void onKeyUpdateM8Macro(OMXKeypadEvent e); + bool onKeyUpdateSelMidiFX(OMXKeypadEvent e); + bool onKeyHeldSelMidiFX(OMXKeypadEvent e); + + // If true, encoder selects param rather than modifies value + bool encoderSelect = false; + // void onEncoderChangedSelectParam(Encoder::Update enc); + ParamManager params; + + bool macroActive_ = false; + bool mfxQuickEdit_ = false; + + // SubModes + SubmodeInterface *activeSubmode = nullptr; + // SubModeMidiFxGroup subModeMidiFx; + SubModePotConfig subModePotConfig_; + + void enableSubmode(SubmodeInterface *subMode); + void disableSubmode(); + bool isSubmodeEnabled(); + + // // Static glue to link a pointer to a member function + // static void onNoteTriggeredForwarder(void *context, uint8_t euclidIndex, MidiNoteGroup note) + // { + // static_cast(context)->onNoteTriggered(euclidIndex, note); + // } + + void doNoteOn(uint8_t keyIndex); + void doNoteOff(uint8_t keyIndex); + + // void onNoteTriggered(MidiNoteGroup note); + // void onNoteOffTriggered(MidiNoteGroup note); + + // Static glue to link a pointer to a member function + static void onNotePostFXForwarder(void *context, MidiNoteGroup note) + { + static_cast(context)->onNotePostFX(note); + } + + void onNotePostFX(MidiNoteGroup note); + + // Static glue to link a pointer to a member function + static void onPendingNoteOffForwarder(void *context, int note, int channel) + { + static_cast(context)->onPendingNoteOff(note, channel); + } + + void onPendingNoteOff(int note, int channel); + + void stopSequencers(); + + void selectMidiFx(uint8_t mfxIndex, bool dispMsg); + + uint8_t mfxIndex_ = 0; + uint8_t quickEditMfxIndex_ = 0; + + midimacro::MidiMacroNorns nornsMarco_; + midimacro::MidiMacroM8 m8Macro_; + midimacro::MidiMacroDeluge delugeMacro_; + + midimacro::MidiMacroInterface *activeMacro_; + + midimacro::MidiMacroInterface *getActiveMacro(); + + // Static glue to link a pointer to a member function + static void doNoteOnForwarder(void *context, uint8_t keyIndex) + { + static_cast(context)->doNoteOn(keyIndex); + } + + // Static glue to link a pointer to a member function + static void doNoteOffForwarder(void *context, uint8_t keyIndex) + { + static_cast(context)->doNoteOff(keyIndex); + } +}; diff --git a/Archive/OMX-27-firmware/src/modes/omx_mode_sequencer.cpp b/Archive/OMX-27-firmware/src/modes/omx_mode_sequencer.cpp new file mode 100644 index 00000000..0b9789f0 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_mode_sequencer.cpp @@ -0,0 +1,1631 @@ +#include "omx_mode_sequencer.h" +#include "../config.h" +#include "../consts/colors.h" +#include "../utils/omx_util.h" +#include "../hardware/omx_disp.h" +#include "sequencer.h" +#include "../hardware/omx_leds.h" + +enum SequencerMode +{ + SEQMODE_MAIN, + SEQMODE_NOTESEL, + SEQMODE_PAT, + SEQMODE_STEPRECORD +}; + +StepNote stepCopyBuffer_; +// String tempString_; + +OmxModeSequencer::OmxModeSequencer() +{ + // seq params + seqParams.addPage(4); + seqParams.addPage(4); + + // note select params + noteSelParams.addPage(4); + noteSelParams.addPage(4); + noteSelParams.addPage(4); + + // pattern params + patParams.addPage(4); + patParams.addPage(4); + patParams.addPage(4); + + // step record params + sRecParams.addPage(4); + sRecParams.addPage(4); +} + +void OmxModeSequencer::InitSetup() +{ + initSetup = true; +} + +void OmxModeSequencer::onModeActivated() +{ + if (!initSetup) + { + InitSetup(); + } + + changeSequencerMode(SEQMODE_MAIN); +} + +uint8_t OmxModeSequencer::getAdjustedNote(uint8_t keyNumber) +{ + uint8_t adjnote = notes[keyNumber] + (midiSettings.octave * 12); + return adjnote; +} + +// Set state defaults when changing modes +// Helps keep things from getting in weird states and makes code more readable +void OmxModeSequencer::changeSequencerMode(uint8_t newMode) +{ + // Serial.println((String)"changeSequencerMode: " + String((SequencerMode)newMode)); + noteSelect_ = false; + // noteSelection_ = false; + // stepSelect_ = false; + + stepRecord_ = false; + patternParams_ = false; + + switch (newMode) + { + case SEQMODE_MAIN: + { + seqParams.setSelPageAndParam(0, 0); + encoderSelect_ = true; + } + break; + case SEQMODE_NOTESEL: + { + noteSelect_ = true; + // stepSelect_ = true; + // noteSelection_ = true; + noteSelParams.setSelPageAndParam(0, 0); + encoderSelect_ = false; + omxDisp.displayMessagef("NOTE SELECT"); + } + break; + case SEQMODE_PAT: + { + patternParams_ = true; + patParams.setSelPageAndParam(0, 1); + encoderSelect_ = false; + omxDisp.displayMessagef("PATT PARAMS"); + } + break; + case SEQMODE_STEPRECORD: + { + stepRecord_ = true; + sRecParams.setSelPageAndParam(0, 1); + encoderSelect_ = false; + omxDisp.displayMessagef("STEP RECORD"); + } + break; + default: + break; + } + + omxDisp.setDirty(); + omxLeds.setDirty(); +} + +uint8_t OmxModeSequencer::getSequencerMode() +{ + if (noteSelect_) + { + return SEQMODE_NOTESEL; + } + else if (patternParams_) + { + return SEQMODE_PAT; + } + else if (stepRecord_) + { + return SEQMODE_STEPRECORD; + } + + return SEQMODE_MAIN; +} + +void OmxModeSequencer::onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) +{ + uint8_t seqMode = getSequencerMode(); + + // note selection - do P-Locks + if (seqMode == SEQMODE_NOTESEL) + { + potSettings.potNum = potIndex; + potSettings.potCC = pots[potSettings.potbank][potIndex]; + potSettings.potVal = potSettings.analogValues[potIndex]; + + if (potIndex < 4) + { // only store p-lock value for first 4 knobs + getSelectedStep()->params[potIndex] = potSettings.analogValues[potIndex]; + omxUtil.sendPots(potIndex, sequencer.getPatternChannel(sequencer.playingPattern)); + } + omxUtil.sendPots(potIndex, sequencer.getPatternChannel(sequencer.playingPattern)); + omxDisp.setDirty(); + } + else if (seqMode == SEQMODE_STEPRECORD) + { + potSettings.potNum = potIndex; + potSettings.potCC = pots[potSettings.potbank][potIndex]; + potSettings.potVal = potSettings.analogValues[potIndex]; + + if (potIndex < 4) + { // only store p-lock value for first 4 knobs + sequencer.getCurrentPattern()->steps[sequencer.seqPos[sequencer.playingPattern]].params[potIndex] = potSettings.analogValues[potIndex]; + omxUtil.sendPots(potIndex, sequencer.getPatternChannel(sequencer.playingPattern)); + } + else if (potIndex == 4) + { + sequencer.getCurrentPattern()->steps[sequencer.seqPos[sequencer.playingPattern]].vel = potSettings.analogValues[potIndex]; // SET POT 5 to NOTE VELOCITY HERE + } + omxDisp.setDirty(); + } + else if (seqMode == SEQMODE_MAIN || seqMode == SEQMODE_PAT) + { + omxUtil.sendPots(potIndex, sequencer.getPatternChannel(sequencer.playingPattern)); + } +} + +void OmxModeSequencer::loopUpdate(Micros elapsedTime) +{ + if (!seq2Mode) // S1 + { + doStepS1(); + } + else // S2 + { + doStepS2(); + } + + // renders leds for the playing pattern + updateLEDs(); +} + +// Handles selecting params using encoder +void OmxModeSequencer::onEncoderChangedSelectParam(Encoder::Update enc) +{ + if (enc.dir() == 0) + return; + + uint8_t seqMode = getSequencerMode(); + + if (seqMode == SEQMODE_MAIN) + { + seqParams.changeParam(enc.dir()); + } + else if (seqMode == SEQMODE_NOTESEL) + { + noteSelParams.changeParam(enc.dir()); + } + else if (seqMode == SEQMODE_PAT) + { + patParams.changeParam(enc.dir()); + } + else if (seqMode == SEQMODE_STEPRECORD) + { + sRecParams.changeParam(enc.dir()); + } + + omxDisp.setDirty(); +} + +void OmxModeSequencer::onEncoderChanged(Encoder::Update enc) +{ + if (encoderSelect_) + { + onEncoderChangedSelectParam(enc); + } + else + { + if (getSequencerMode() == SEQMODE_MAIN) + { + onEncoderChangedNorm(enc); + } + else + { + onEncoderChangedStep(enc); + } + } +} + +void OmxModeSequencer::onEncoderChangedNorm(Encoder::Update enc) +{ + auto amt = enc.accel(5); // where 5 is the acceleration factor if you want it, 0 if you don't) + + int8_t selPage = seqParams.getSelPage() + 1; // Add one for readability + int8_t selParam = seqParams.getSelParam() + 1; + + // PAGE ONE + if (selPage == 1) + { + if (selParam == 1) // CHANGE PATTERN + { + sequencer.playingPattern = constrain(sequencer.playingPattern + amt, 0, 7); + if (sequencer.getCurrentPattern()->solo) + { + omxLeds.setAllLEDS(0, 0, 0); + } + } + else if (selParam == 2) // SET TRANSPOSE + { + transposeSeq(sequencer.playingPattern, amt); // + int newtransp = constrain(midiSettings.transpose + amt, -64, 63); + midiSettings.transpose = newtransp; + } + else if (selParam == 3) // SET SWING + { + int newswing = constrain(sequencer.getCurrentPattern()->swing + amt, 0, midiSettings.maxswing - 1); // -1 to deal with display values + midiSettings.swing = newswing; + sequencer.getCurrentPattern()->swing = newswing; + // setGlobalSwing(newswing); + } + else if (selParam == 4) // SET TEMPO + { + clockConfig.newtempo = constrain(clockConfig.clockbpm + amt, 40, 300); + if (clockConfig.newtempo != clockConfig.clockbpm) + { + // SET TEMPO HERE + clockConfig.clockbpm = clockConfig.newtempo; + omxUtil.resetClocks(); + } + } + } + // PAGE TWO + else if (selPage == 2) + { + if (selParam == 1) // MIDI SOLO + { + // playingPattern = constrain(playingPattern + amt, 0, 7); + sequencer.getCurrentPattern()->solo = constrain(sequencer.getCurrentPattern()->solo + amt, 0, 1); + if (sequencer.getCurrentPattern()->solo) + { + omxLeds.setAllLEDS(0, 0, 0); + } + } + else if (selParam == 2) // SET PATTERN LENGTH + { + auto newPatternLen = constrain(sequencer.getPatternLength(sequencer.playingPattern) + amt, 1, NUM_STEPS); + sequencer.setPatternLength(sequencer.playingPattern, newPatternLen); + if (sequencer.seqPos[sequencer.playingPattern] >= newPatternLen) + { + sequencer.seqPos[sequencer.playingPattern] = newPatternLen - 1; + sequencer.patternPage[sequencer.playingPattern] = getPatternPage(sequencer.seqPos[sequencer.playingPattern]); + } + } + else if (selParam == 3) // SET CLOCK DIV/MULT + { + sequencer.getCurrentPattern()->clockDivMultP = constrain(sequencer.getCurrentPattern()->clockDivMultP + amt, 0, NUM_MULTDIVS - 1); + } + else if (selParam == 4) // SET CV ON/OFF + { + sequencer.getCurrentPattern()->sendCV = constrain(sequencer.getCurrentPattern()->sendCV + amt, 0, 1); + } + } + omxDisp.setDirty(); +} + +// TODO: break this into separate functions +void OmxModeSequencer::onEncoderChangedStep(Encoder::Update enc) +{ + auto amt = enc.accel(5); // where 5 is the acceleration factor if you want it, 0 if you don't) + auto amtSlow = enc.accel(1); + + uint8_t seqMode = getSequencerMode(); + + // SEQUENCE PATTERN PARAMS SUB MODE + if (seqMode == SEQMODE_PAT) + { + int8_t selPage = patParams.getSelPage() + 1; // Add one for readability + int8_t selParam = patParams.getSelParam() + 1; + + // PAGE ONE + if (selPage == 1) + { + if (selParam == 1) // SET PLAYING PATTERN + { + sequencer.playingPattern = constrain(sequencer.playingPattern + amt, 0, 7); + } + if (selParam == 2) // SET LENGTH + { + auto newPatternLen = constrain(sequencer.getPatternLength(sequencer.playingPattern) + amt, 1, NUM_STEPS); + sequencer.setPatternLength(sequencer.playingPattern, newPatternLen); + if (sequencer.seqPos[sequencer.playingPattern] >= newPatternLen) + { + sequencer.seqPos[sequencer.playingPattern] = newPatternLen - 1; + sequencer.patternPage[sequencer.playingPattern] = getPatternPage(sequencer.seqPos[sequencer.playingPattern]); + } + } + if (selParam == 3) // SET PATTERN ROTATION + { + int rotator; + (enc.dir() < 0 ? rotator = -1 : rotator = 1); + // int rotator = constrain(rotcc, (sequencer.PatternLength(sequencer.playingPattern))*-1, sequencer.PatternLength(sequencer.playingPattern)); + midiSettings.rotationAmt = midiSettings.rotationAmt + rotator; + if (midiSettings.rotationAmt < 16 && midiSettings.rotationAmt > -16) + { // NUM_STEPS?? + rotatePattern(sequencer.playingPattern, rotator); + } + midiSettings.rotationAmt = constrain(midiSettings.rotationAmt, (sequencer.getPatternLength(sequencer.playingPattern) - 1) * -1, sequencer.getPatternLength(sequencer.playingPattern) - 1); + } + if (selParam == 4) // SET PATTERN CHANNEL + { + sequencer.getCurrentPattern()->channel = constrain(sequencer.getCurrentPattern()->channel + amt, 0, 15); + } + } + // PATTERN PARAMS PAGE 2 + else if (selPage == 2) + { + if (selParam == 1) // SET AUTO START STEP + { + sequencer.getCurrentPattern()->startstep = constrain(sequencer.getCurrentPattern()->startstep + amt, 0, sequencer.getCurrentPattern()->len); + // sequencer.getCurrentPattern()->startstep--; + } + if (selParam == 2) // SET AUTO RESET STEP + { + int tempresetstep = sequencer.getCurrentPattern()->autoresetstep + amt; + sequencer.getCurrentPattern()->autoresetstep = constrain(tempresetstep, 0, sequencer.getCurrentPattern()->len + 1); + } + if (selParam == 3) // SET AUTO RESET FREQUENCY + { + sequencer.getCurrentPattern()->autoresetfreq = constrain(sequencer.getCurrentPattern()->autoresetfreq + amt, 0, 15); // max every 16 times + } + if (selParam == 4) // SET AUTO RESET PROB + { + sequencer.getCurrentPattern()->autoresetprob = constrain(sequencer.getCurrentPattern()->autoresetprob + amt, 0, 100); // never, 100% - 33% + } + } + // PAGE THREE + else if (selPage == 3) + { + if (selParam == 1) // SET CLOCK-DIV-MULT + { + sequencer.getCurrentPattern()->clockDivMultP = constrain(sequencer.getCurrentPattern()->clockDivMultP + amt, 0, NUM_MULTDIVS - 1); // set clock div/mult + } + if (selParam == 2) // SET MIDI SOLO + { + sequencer.getCurrentPattern()->solo = constrain(sequencer.getCurrentPattern()->solo + amt, 0, 1); + } + } + } + // STEP RECORD SUB MODE + else if (seqMode == SEQMODE_STEPRECORD) + { + int8_t selPage = sRecParams.getSelPage() + 1; // Add one for readability + int8_t selParam = sRecParams.getSelParam() + 1; + + // PAGE ONE + if (selPage == 1) + { + if (selParam == 1) // OCTAVE SELECTION + { + midiSettings.octave = constrain(midiSettings.octave + amt, -5, 4); + } + if (selParam == 2) // STEP SELECTION + { + if (enc.dir() > 0) + { + step_ahead(); + } + else if (enc.dir() < 0) + { + step_back(); + } + seqConfig.selectedStep = sequencer.seqPos[sequencer.playingPattern]; + } + if (selParam == 3) // SET NOTE NUM + { + int tempNote = getSelectedStep()->note; + getSelectedStep()->note = constrain(tempNote + amt, 0, 127); + } + if (selParam == 4) // Pattern + { + // playingPattern = constrain(playingPattern + amt, 0, 7); + } + } + // PAGE TWO + else if (selPage == 2) + { + if (selParam == 1) // STEP TYPE + { + changeStepType(amt); + } + if (selParam == 2) // STEP PROB + { + int tempProb = getSelectedStep()->prob; + getSelectedStep()->prob = constrain(tempProb + amt, 0, 100); // Note Len between 1-16 + } + if (selParam == 3) // STEP CONDITION + { + int tempCondition = getSelectedStep()->condition; + getSelectedStep()->condition = constrain(tempCondition + amt, 0, 35); // 0-32 + } + } + } + // NOTE SELECT MODE + else if (seqMode == SEQMODE_NOTESEL) + { + int8_t selPage = noteSelParams.getSelPage() + 1; // Add one for readability + int8_t selParam = noteSelParams.getSelParam() + 1; + + // PAGE ONE + if (selPage == 1) + { + if (selParam == 1) // SET NOTE NUM + { + int tempNote = getSelectedStep()->note; + getSelectedStep()->note = constrain(tempNote + amt, 0, 127); + } + if (selParam == 2) // SET OCTAVE + { + midiSettings.octave = constrain(midiSettings.octave + amt, -5, 4); + } + if (selParam == 3) // SET VELOCITY + { + int tempVel = getSelectedStep()->vel; + getSelectedStep()->vel = constrain(tempVel + amt, 0, 127); + } + if (selParam == 4) // SET NOTE LENGTH + { + auto step = getSelectedStep(); + + step->len = constrain(step->len + amtSlow, 0, kNumNoteLengths - 1); // Note Len between 1-16 + + // int tempLen = step->len; + // // int newLen = tempLen + amtSlow; + // auto newLen = constrain(step->len + amtSlow, 0, kNumNoteLengths - 1); // Note Len between 1-16 + // step->len = (uint8_t)newLen; // Note Len between 1-16 + + // Serial.println("amtSlow = " + String(amtSlow)); + // Serial.println("tempLen = " + String(tempLen)); + // Serial.println("newLen = " + String(newLen)); + // Serial.println("len = " + String(step->len)); + // Serial.println("NumNoteLengths = " + String(kNumNoteLengths)); + // Serial.println("NoteLength = " + String(kNoteLengths[step->len])); + } + } + // PAGE TWO + else if (selPage == 2) + { + if (noteSelParams.getSelParam() == 0) // SET STEP TYPE + { + changeStepType(amt); + } + if (noteSelParams.getSelParam() == 1) // SET STEP PROB + { + int tempProb = getSelectedStep()->prob; + getSelectedStep()->prob = constrain(tempProb + amt, 0, 100); // Note Len between 1-16 + } + if (noteSelParams.getSelParam() == 2) // SET STEP TRIG CONDITION + { + int tempCondition = getSelectedStep()->condition; + getSelectedStep()->condition = constrain(tempCondition + amt, 0, 35); // 0-32 + } + } + // PAGE THREE + else if (selPage == 3) + { + if (enc.dir() < 0) + { // RESET PLOCK IF TURN CCW + // int tempmode = seqPageParams.nsparam - 11; + int tempmode = noteSelParams.getSelParam(); + getSelectedStep()->params[tempmode] = -1; + } + } + } + else + { + // TODO This shouldn't be possible. + clockConfig.newtempo = constrain(clockConfig.clockbpm + amt, 40, 300); + if (clockConfig.newtempo != clockConfig.clockbpm) + { + // SET TEMPO HERE + clockConfig.clockbpm = clockConfig.newtempo; + omxUtil.resetClocks(); + } + } + omxDisp.setDirty(); +} + +void OmxModeSequencer::onEncoderButtonDown() +{ + encoderSelect_ = !encoderSelect_; + omxDisp.isDirty(); +} + +void OmxModeSequencer::onEncoderButtonDownLong() +{ + if (getSequencerMode() == SEQMODE_STEPRECORD) + { + resetPatternDefaults(sequencer.playingPattern); + omxDisp.displayMessagef("RESET PAT"); + omxDisp.setDirty(); + // clearedFlag = true; + } +} + +bool OmxModeSequencer::shouldBlockEncEdit() +{ + return stepRecord_; +} + +void OmxModeSequencer::onKeyUpdate(OMXKeypadEvent e) +{ + int thisKey = e.key(); + int keyPos = thisKey - 11; + int seqKey = keyPos + (sequencer.patternPage[sequencer.playingPattern] * NUM_STEPKEYS); + + uint8_t seqMode = getSequencerMode(); + + // Sequencer row keys + + // ### KEY PRESS EVENTS + + if (e.down() && thisKey != 0) + { + // set key timer to zero + // keyPressTime[thisKey] = 0; + + // NOTE SELECT + if (seqMode == SEQMODE_NOTESEL) + { + // SET NOTE + // left and right keys change the octave + if (thisKey == 11 || thisKey == 26) + { + int amt = thisKey == 11 ? -1 : 1; + midiSettings.octave = constrain(midiSettings.octave + amt, -5, 4); + // otherwise select the note + } + else + { + if (!e.held()) // Prevent held F1 key from changing note. + { + // stepSelect_ = false; + seqConfig.selectedNote = thisKey; + + uint8_t adjNote = getAdjustedNote(thisKey); + // int adjnote = notes[thisKey] + (midiSettings.octave * 12); + getSelectedStep()->note = adjNote; + if (!sequencer.playing) + { + seqNoteOn(thisKey, midiSettings.defaultVelocity, sequencer.playingPattern); + } + } + } + // see RELEASE events for more + omxDisp.setDirty(); + + // // noteSelection_ + // if (seqConfig.noteSelection) + // { + // // SET NOTE + // // left and right keys change the octave + // if (thisKey == 11 || thisKey == 26) + // { + // int amt = thisKey == 11 ? -1 : 1; + // midiSettings.newoctave = constrain(midiSettings.octave + amt, -5, 4); + // if (midiSettings.newoctave != midiSettings.octave) + // { + // midiSettings.octave = midiSettings.newoctave; + // } + // // otherwise select the note + // } + // else + // { + // seqConfig.stepSelect = false; + // seqConfig.selectedNote = thisKey; + + // uint8_t adjNote = getAdjustedNote(thisKey); + // // int adjnote = notes[thisKey] + (midiSettings.octave * 12); + // getSelectedStep()->note = adjNote; + // if (!sequencer.playing) + // { + // seqNoteOn(thisKey, midiSettings.defaultVelocity, sequencer.playingPattern); + // } + // } + // // see RELEASE events for more + // omxDisp.setDirty(); + // } + // else if (thisKey == 1) + // { + // } + // else if (thisKey == 2) + // { + // } + // else if (thisKey > 2 && thisKey < 11) + // { // Pattern select keys + // sequencer.playingPattern = thisKey - 3; + // omxDisp.setDirty(); + // } + // else if (thisKey > 10) + // { + // seqConfig.selectedStep = seqKey; // was keyPos // set noteSelection to this step + // seqConfig.stepSelect = true; + // seqConfig.noteSelection = true; + // omxDisp.setDirty(); + // } + } + // PATTERN PARAMS + else if (seqMode == SEQMODE_PAT) + { + if (thisKey == 1) + { // F1 + } + else if (thisKey == 2) + { // F2 + } + else if (thisKey > 2 && thisKey < 11) + { // Pattern select keys + + sequencer.playingPattern = thisKey - 3; + + // COPY / PASTE / CLEAR + if (midiSettings.keyState[1] && !midiSettings.keyState[2]) + { + copyPattern(sequencer.playingPattern); + omxDisp.displayMessagef("COPIED P-%d", sequencer.playingPattern + 1); + } + else if (!midiSettings.keyState[1] && midiSettings.keyState[2]) + { + pastePattern(sequencer.playingPattern); + omxDisp.displayMessagef("PASTED P-%d", sequencer.playingPattern + 1); + } + else if (midiSettings.keyState[1] && midiSettings.keyState[2]) + { + clearPattern(sequencer.playingPattern); + omxDisp.displayMessagef("CLEARED P-%d", sequencer.playingPattern + 1); + } + + omxDisp.setDirty(); + } + else if (thisKey > 10) + { + // set pattern length with key + auto newPatternLen = thisKey - 10; + sequencer.setPatternLength(sequencer.playingPattern, newPatternLen); + if (sequencer.seqPos[sequencer.playingPattern] >= newPatternLen) + { + sequencer.seqPos[sequencer.playingPattern] = newPatternLen - 1; + sequencer.patternPage[sequencer.playingPattern] = getPatternPage(sequencer.seqPos[sequencer.playingPattern]); + } + omxDisp.setDirty(); + } + } + // STEP RECORD + else if (seqMode == SEQMODE_STEPRECORD) + { + seqConfig.selectedNote = thisKey; + seqConfig.selectedStep = sequencer.seqPos[sequencer.playingPattern]; + + // int adjnote = notes[thisKey] + (midiSettings.octave * 12); + uint8_t adjnote = getAdjustedNote(thisKey); + getSelectedStep()->note = adjnote; + + if (!sequencer.playing) + { + seqNoteOn(thisKey, midiSettings.defaultVelocity, sequencer.playingPattern); + } // see RELEASE events for more + stepDirty_ = true; + omxDisp.setDirty(); + } + else if (seqMode == SEQMODE_MAIN) + { + // MIDI SOLO + if (sequencer.getCurrentPattern()->solo) + { + omxUtil.midiNoteOn(thisKey, midiSettings.defaultVelocity, sequencer.getCurrentPattern()->channel + 1); + } + // REGULAR SEQ MODE + else + { + if (midiSettings.keyState[1] && midiSettings.keyState[2]) + { + seqPages_ = true; + } + if (thisKey == 1) + { + // seqResetFlag = true; // RESET ALL SEQUENCES TO FIRST/LAST STEP + // MOVED DOWN TO AUX KEY + } + else if (thisKey == 2) + { // CHANGE PATTERN DIRECTION + // sequencer.getCurrentPattern()->reverse = !sequencer.getCurrentPattern()->reverse; + + // BLACK KEYS - PATTERNS + } + else if (thisKey > 2 && thisKey < 11) + { // Pattern select + + // CHECK keyState[] FOR LONG PRESS THINGS + + // If ONLY KEY 1 is down + pattern is not playing = STEP RECORD + if (midiSettings.keyState[1] && !midiSettings.keyState[2] && !sequencer.playing) + { + // ENTER STEP RECORD MODE + sequencer.playingPattern = thisKey - 3; + sequencer.seqPos[sequencer.playingPattern] = 0; + sequencer.patternPage[sequencer.playingPattern] = 0; // Step Record always starts from first page + + changeSequencerMode(SEQMODE_STEPRECORD); + // omxDisp.setDirty();; + } + // If KEY 2 is down + pattern = PATTERN MUTE + else if (midiSettings.keyState[2]) + { + if (sequencer.getPattern(thisKey - 3)->mute) + { + omxDisp.displayMessagef("UNMUTE P-%d", (thisKey - 3) + 1); + } + else + { + omxDisp.displayMessagef("MUTE P-%d", (thisKey - 3) + 1); + } + sequencer.getPattern(thisKey - 3)->mute = !sequencer.getPattern(thisKey - 3)->mute; + } + else + { + sequencer.playingPattern = thisKey - 3; + } + omxDisp.setDirty(); + } + // SEQUENCE 1-16 STEP KEYS + else if (thisKey > 10) + { + + // F1+F2 HOLD + if (midiSettings.keyState[1] && midiSettings.keyState[2]) + { + // IGNORE LONG PRESSES IN STEP RECORD + if (!stepRecord_) + { + if (keyPos <= getPatternPage(sequencer.getCurrentPattern()->len)) + { + sequencer.patternPage[sequencer.playingPattern] = keyPos; + } + omxDisp.displayMessagef("PATT PAGE %d", keyPos + 1); + } + } + // F1 HOLD + else if (midiSettings.keyState[1]) + { + // IGNORE LONG PRESSES IN STEP RECORD and Pattern Params + if (!stepRecord_ && !patternParams_) + { + seqConfig.selectedStep = (thisKey - 11) + (sequencer.patternPage[sequencer.playingPattern] * NUM_STEPKEYS); // set noteSelection to this step + // seqConfig.noteSelect = true; + // seqConfig.stepSelect = true; + // seqConfig.noteSelection = true; + // omxDisp.setDirty(); + // omxDisp.displayMessagef("NOTE SELECT"); + + auto selectedStep = getSelectedStep(); + stepCopyBuffer_.CopyFrom(selectedStep); + + changeSequencerMode(SEQMODE_NOTESEL); + // re-toggle the key you just held + // if (getSelectedStep()->trig == TRIGTYPE_PLAY || getSelectedStep()->trig == TRIGTYPE_MUTE ) { + // getSelectedStep()->trig = (getSelectedStep()->trig == TRIGTYPE_PLAY ) ? TRIGTYPE_MUTE : TRIGTYPE_PLAY; + // } + } + } + // F2 HOLD - CUT / PASTE + else if (midiSettings.keyState[2]) + { + // paste copied note to current + seqConfig.selectedStep = (thisKey - 11) + (sequencer.patternPage[sequencer.playingPattern] * NUM_STEPKEYS); // set noteSelection to this step + auto selectedStep = getSelectedStep(); + + if (selectedStep->trig == TRIGTYPE_MUTE) // paste copied note to current if trig is off + { + selectedStep->CopyFrom(&stepCopyBuffer_); + tempString = "Paste " + String(seqConfig.selectedStep); + omxDisp.displayMessage(tempString.c_str()); + } + else // Cut - copy and turn trig off if trig on + { + stepCopyBuffer_.CopyFrom(selectedStep); + selectedStep->trig = TrigType::TRIGTYPE_MUTE; + tempString = "Cut " + String(seqConfig.selectedStep); + omxDisp.displayMessage(tempString.c_str()); + } + } + else + { + // TOGGLE STEP ON/OFF + if (sequencer.getCurrentPattern()->steps[seqKey].trig == TRIGTYPE_PLAY || sequencer.getCurrentPattern()->steps[seqKey].trig == TRIGTYPE_MUTE) + { + sequencer.getCurrentPattern()->steps[seqKey].trig = (sequencer.getCurrentPattern()->steps[seqKey].trig == TRIGTYPE_PLAY) ? TRIGTYPE_MUTE : TRIGTYPE_PLAY; + } + } + } + } + } + } + + // ### KEY RELEASE EVENTS + if (!e.down() && thisKey != 0) + { + // MIDI SOLO + if (sequencer.getCurrentPattern()->solo) + { + omxUtil.midiNoteOff(thisKey, sequencer.getCurrentPattern()->channel + 1); + } + } + + if (!e.down() && thisKey != 0 && (noteSelect_ || stepRecord_) && seqConfig.selectedNote > 0) + { + if (!sequencer.playing) + { + seqNoteOff(thisKey, sequencer.playingPattern); + } + if (stepRecord_ && stepDirty_) + { + step_ahead(); + stepDirty_ = false; + + seqConfig.selectedStep = sequencer.seqPos[sequencer.playingPattern]; + + // EXIT STEP RECORD AFTER THE LAST STEP IN PATTERN + if (sequencer.seqPos[sequencer.playingPattern] == 0) + { + changeSequencerMode(SEQMODE_MAIN); + } + } + } + + // AUX KEY PRESS EVENTS + + if (e.down() && thisKey == 0) + { + if (seqMode == SEQMODE_NOTESEL) + { + // if (seqConfig.noteSelection) + // { + // seqConfig.selectedStep = 0; + // seqConfig.selectedNote = 0; + // } + + seqConfig.selectedStep = 0; + seqConfig.selectedNote = 0; + + changeSequencerMode(SEQMODE_MAIN); + } + else if (seqMode == SEQMODE_PAT || seqMode == SEQMODE_STEPRECORD) + { + changeSequencerMode(SEQMODE_MAIN); + } + else if (seqPages_) + { + seqPages_ = false; + } + else + { + if (midiSettings.keyState[1] || midiSettings.keyState[2]) + { // CHECK keyState[] FOR LONG PRESS OF FUNC KEYS + if (midiSettings.keyState[1]) + { + sequencer.seqResetFlag = true; // RESET ALL SEQUENCES TO FIRST/LAST STEP + omxDisp.displayMessagef("RESET"); + } + else if (midiSettings.keyState[2]) + { // CHANGE PATTERN DIRECTION + sequencer.getCurrentPattern()->reverse = !sequencer.getCurrentPattern()->reverse; + if (sequencer.getCurrentPattern()->reverse) + { + omxDisp.displayMessagef("<< REV"); + } + else + { + omxDisp.displayMessagef("FWD >>"); + } + } + omxLeds.setDirty(); + omxDisp.setDirty(); + } + else + { + if (sequencer.playing) + { + // stop transport + sequencer.playing = 0; + allNotesOff(); + // Serial.println("stop transport"); + seqStop(); + } + else + { + // start transport + // Serial.println("start transport"); + seqStart(); + } + } + } + + // AUX KEY RELEASE EVENTS + } + else if (!e.down() && thisKey == 0) + { + } + + if (!e.down() && (thisKey == 1 || thisKey == 2)) + { + if (!midiSettings.keyState[1] || !midiSettings.keyState[2]) + { + // Release page selection whenever F1 && F2 are released + seqPages_ = false; + } + } + + // if (!midiSettings.keyState[1] && !midiSettings.keyState[2]) + // { + // seqPageParams.seqPages = false; + // } + + // strip.show(); +} + +void OmxModeSequencer::onKeyHeldUpdate(OMXKeypadEvent e) +{ + int thisKey = e.key(); + + if (!sequencer.getCurrentPattern()->solo) + { + // TODO: access key state directly in omx_keypad.h + if (midiSettings.keyState[1] && midiSettings.keyState[2]) + { + seqPages_ = true; + } + // SKIP LONG PRESS IF FUNC KEYS ARE ALREDY HELD + else if (!midiSettings.keyState[1] && !midiSettings.keyState[2]) + { + // If in main mode + if (getSequencerMode() == SEQMODE_MAIN) + { + // skip AUX key, get pattern keys + if (thisKey > 2 && thisKey < 11) + { + if (!stepRecord_) + { + changeSequencerMode(SEQMODE_PAT); + } + } + else if (thisKey > 10) + { + // IGNORE LONG PRESSES IN STEP RECORD and Pattern Params + seqConfig.selectedStep = (thisKey - 11) + (sequencer.patternPage[sequencer.playingPattern] * NUM_STEPKEYS); // set noteSelection to this step + // seqConfig.noteSelect = true; + // seqConfig.stepSelect = true; + // seqConfig.noteSelection = true; + // omxDisp.setDirty(); + // omxDisp.displayMessagef("NOTE SELECT"); + + // Copy the step to the buffer + auto selectedStep = getSelectedStep(); + stepCopyBuffer_.CopyFrom(selectedStep); + + changeSequencerMode(SEQMODE_NOTESEL); + // re-toggle the key you just held + // if ( getSelectedStep()->trig == TRIGTYPE_PLAY || getSelectedStep()->trig == TRIGTYPE_MUTE ) { + // getSelectedStep()->trig = ( getSelectedStep()->trig == TRIGTYPE_PLAY ) ? TRIGTYPE_MUTE : TRIGTYPE_PLAY; + // } + } + } + } + } +} + +void OmxModeSequencer::showCurrentStepLEDs(int patternNum) +{ + // omxLeds.updateBlinkStates(); + + if (sysSettings.screenSaverMode && !sequencer.playing) + return; // Screensaver active and not playing, don't update sequencer LEDs. + + bool blinkState = omxLeds.getBlinkState(); + bool slowBlinkState = omxLeds.getSlowBlinkState(); + + // AUX KEY + + if (sequencer.playing && blinkState) + { + strip.setPixelColor(0, WHITE); + } + else if (noteSelect_ && blinkState) + { + strip.setPixelColor(0, NOTESEL); + } + else if (patternParams_ && blinkState) + { + strip.setPixelColor(0, seqColors[patternNum]); + } + else if (stepRecord_ && blinkState) + { + strip.setPixelColor(0, seqColors[patternNum]); + } + else + { + if (!seq2Mode) // S1 + { + strip.setPixelColor(0, SEQ1C); + } + else + { // S2 + strip.setPixelColor(0, SEQ2C); + } + + // Default was strip.setPixelColor(0, LEDOFF); should never happen + } + + if (sequencer.getPattern(patternNum)->mute) + { + colorConfig.stepColor = muteColors[patternNum]; + } + else + { + colorConfig.stepColor = seqColors[patternNum]; + colorConfig.muteColor = muteColors[patternNum]; + } + + auto currentpage = sequencer.patternPage[patternNum]; + auto pagestepstart = (currentpage * NUM_STEPKEYS); + + uint8_t seqMode = getSequencerMode(); + + // NOTE SELECTION + if (seqMode == SEQMODE_NOTESEL) + { + uint8_t seqPos = seqConfig.selectedStep; + uint8_t currentNote = sequencer.patterns[sequencer.playingPattern].steps[seqPos].note; + + // 27 LEDS so use LED_COUNT + for (int j = 1; j < LED_COUNT; j++) + { + auto pixelpos = j; + auto selectedStepPixel = (seqConfig.selectedStep % NUM_STEPKEYS) + 11; + auto adjNote = getAdjustedNote(j); + + if (adjNote == currentNote) + { + strip.setPixelColor(pixelpos, HALFWHITE); + } + else if (pixelpos == selectedStepPixel) + { + strip.setPixelColor(pixelpos, SEQSTEP); + } + else + { + strip.setPixelColor(pixelpos, LEDOFF); + } + + // Blink left/right keys for octave select indicators. + auto color1 = blinkState ? ORANGE : WHITE; + auto color2 = blinkState ? RBLUE : WHITE; + strip.setPixelColor(11, color1); + strip.setPixelColor(26, color2); + } + } + // STEP RECORD + else if (seqMode == SEQMODE_STEPRECORD) + { + uint8_t seqPos = sequencer.seqPos[sequencer.playingPattern]; + uint8_t currentNote = sequencer.patterns[sequencer.playingPattern].steps[seqPos].note; + + int seqPosNoteColor = LEDOFF; + + // 27 LEDS so use LED_COUNT + // This loop sets the key matching the current note to be on and turns other leds off. + for (int j = 1; j < LED_COUNT; j++) + { + auto pixelpos = j; + auto adjNote = getAdjustedNote(j); + + // Serial.println((String)"seqPos: " + seqPos + " currentNote: " + currentNote + " pixelPos: " + pixelpos + " adjNote: " + adjNote); + + if (adjNote == currentNote) + { + strip.setPixelColor(pixelpos, HALFWHITE); + + // will be overwritten by step indicator + if (j - 11 == seqPos % 16) + { + seqPosNoteColor = HALFWHITE; + } + } + else + { + strip.setPixelColor(pixelpos, LEDOFF); + } + } + + for (int j = pagestepstart; j < (pagestepstart + NUM_STEPKEYS); j++) + { + auto pixelpos = j - pagestepstart + 11; + // ONLY DO LEDS FOR THE CURRENT PAGE + if (j == seqPos) + { + // Blinks with the current note number if overlapped, blinks with LEDOFF otherwise. + strip.setPixelColor(pixelpos, slowBlinkState ? SEQCHASE : seqPosNoteColor); + } + } + } + else if (sequencer.getCurrentPattern()->solo) + { // MIDI SOLO + + // for(int i = 0; i < NUM_STEPKEYS; i++){ + // if (i == seqPos[patternNum]){ + // if (playing){ + // strip.setPixelColor(i+11, SEQCHASE); // step chase + // } else { + // strip.setPixelColor(i+11, LEDOFF); // DO WE NEED TO MARK PLAYHEAD WHEN STOPPED? + // } + // } else { + // strip.setPixelColor(i+11, LEDOFF); + // } + // } + } + else if (seqPages_) + { + // BLINK F1+F2 + auto color1 = blinkState ? FUNKONE : LEDOFF; + auto color2 = blinkState ? FUNKTWO : LEDOFF; + strip.setPixelColor(1, color1); + strip.setPixelColor(2, color2); + + // TURN OFF LEDS + // 27 LEDS so use LED_COUNT + for (int j = 3; j < LED_COUNT; j++) + { // START WITH LEDS AFTER F-KEYS + strip.setPixelColor(j, LEDOFF); + } + // SHOW LEDS FOR WHAT PAGE OF SEQ PATTERN YOURE ON + auto len = (sequencer.getPattern(patternNum)->len / NUM_STEPKEYS); + for (int h = 0; h <= len; h++) + { + auto currentpage = sequencer.patternPage[patternNum]; + auto color = sequencePageColors[h]; + if (h == currentpage) + { + color = blinkState ? sequencePageColors[currentpage] : LEDOFF; + } + strip.setPixelColor(11 + h, color); + } + } + // PATTERN or MAIN + else + { + for (int j = 1; j < LED_COUNT; j++) + { + if (j < sequencer.getPatternLength(patternNum) + 11) + { + if (j == 1) + { + // NOTE SELECT / F1 + if (midiSettings.keyState[j] && blinkState) + { + strip.setPixelColor(j, LEDOFF); + } + else + { + strip.setPixelColor(j, FUNKONE); + } + } + else if (j == 2) + { + // PATTERN PARAMS / F2 + if (midiSettings.keyState[j] && blinkState) + { + strip.setPixelColor(j, LEDOFF); + } + else + { + strip.setPixelColor(j, FUNKTWO); + } + } + else if (j == patternNum + 3) + { // PATTERN SELECT + strip.setPixelColor(j, colorConfig.stepColor); + if (patternParams_ && blinkState) + { + strip.setPixelColor(j, LEDOFF); + } + } + else + { + strip.setPixelColor(j, LEDOFF); + } + } + else + { + strip.setPixelColor(j, LEDOFF); + } + } + + auto pattern = sequencer.getPattern(patternNum); + auto steps = pattern->steps; + auto currentpage = sequencer.patternPage[patternNum]; + auto pagestepstart = (currentpage * NUM_STEPKEYS); + + // WHAT TO DO HERE FOR MULTIPLE PAGES + // NUM_STEPKEYS or NUM_STEPS INSTEAD? + for (int i = pagestepstart; i < (pagestepstart + NUM_STEPKEYS); i++) + { + if (i < sequencer.getPatternLength(patternNum)) + { + + // ONLY DO LEDS FOR THE CURRENT PAGE + auto pixelpos = i - pagestepstart + 11; + // if (patternParams){ + // strip.setPixelColor(pixelpos, SEQMARKER); + // } + + if (i % 4 == 0) + { // MARK GROUPS OF 4 + if (i == sequencer.lastSeqPos[patternNum]) + { + if (sequencer.playing) + { + strip.setPixelColor(pixelpos, SEQCHASE); // step chase + } + else if (steps[i].trig == TRIGTYPE_PLAY) + { + if (steps[i].stepType != STEPTYPE_NONE) + { + if (slowBlinkState) + { + strip.setPixelColor(pixelpos, colorConfig.stepColor); // STEP EVENT COLOR + } + else + { + strip.setPixelColor(pixelpos, colorConfig.muteColor); // STEP EVENT COLOR + } + } + else + { + strip.setPixelColor(pixelpos, colorConfig.stepColor); // STEP ON COLOR + } + } + else if (steps[i].trig == TRIGTYPE_MUTE) + { + strip.setPixelColor(pixelpos, SEQMARKER); + } + } + else if (steps[i].trig == TRIGTYPE_PLAY) + { + if (steps[i].stepType != STEPTYPE_NONE) + { + if (slowBlinkState) + { + strip.setPixelColor(pixelpos, colorConfig.stepColor); // STEP EVENT COLOR + } + else + { + strip.setPixelColor(pixelpos, colorConfig.muteColor); // STEP EVENT COLOR + } + } + else + { + strip.setPixelColor(pixelpos, colorConfig.stepColor); // STEP ON COLOR + } + } + else if (steps[i].trig == TRIGTYPE_MUTE) + { + strip.setPixelColor(pixelpos, SEQMARKER); + } + } + else if (i == sequencer.lastSeqPos[patternNum]) + { // STEP CHASE + if (sequencer.playing) + { + strip.setPixelColor(pixelpos, SEQCHASE); + } + else if (steps[i].trig == TRIGTYPE_PLAY) + { + if (steps[i].stepType != STEPTYPE_NONE) + { + if (slowBlinkState) + { + strip.setPixelColor(pixelpos, colorConfig.stepColor); // STEP EVENT COLOR + } + else + { + strip.setPixelColor(pixelpos, colorConfig.muteColor); // STEP EVENT COLOR + } + } + else + { + strip.setPixelColor(pixelpos, colorConfig.stepColor); // STEP ON COLOR + } + } + else if (!patternParams_ && sequencer.patterns[patternNum].steps[i].trig == TRIGTYPE_MUTE) + { + strip.setPixelColor(pixelpos, LEDOFF); // DO WE NEED TO MARK PLAYHEAD WHEN STOPPED? + } + else if (patternParams_) + { + strip.setPixelColor(pixelpos, SEQMARKER); + } + } + else if (steps[i].trig == TRIGTYPE_PLAY) + { + if (steps[i].stepType != STEPTYPE_NONE) + { + if (slowBlinkState) + { + strip.setPixelColor(pixelpos, colorConfig.stepColor); // STEP EVENT COLOR + } + else + { + strip.setPixelColor(pixelpos, colorConfig.muteColor); // STEP EVENT COLOR + } + } + else + { + strip.setPixelColor(pixelpos, colorConfig.stepColor); // STEP ON COLOR + } + } + else if (!patternParams_ && steps[i].trig == TRIGTYPE_MUTE) + { + strip.setPixelColor(pixelpos, LEDOFF); + } + else if (patternParams_) + { + strip.setPixelColor(pixelpos, SEQMARKER); + } + } + } + } + omxLeds.setDirty(); +} + +void OmxModeSequencer::updateLEDs() +{ + showCurrentStepLEDs(sequencer.playingPattern); +} + +void OmxModeSequencer::onDisplayUpdate() +{ + // MIDI SOLO + if (sequencer.getCurrentPattern()->solo) + { + omxLeds.drawMidiLeds(musicScale); + } + // DISPLAY + if (omxDisp.isDirty()) + { + // show only if not encoder edit or dialog display + if (!encoderConfig.enc_edit && omxDisp.isMessageActive() == false) + { + uint8_t seqMode = getSequencerMode(); + if (seqMode == SEQMODE_MAIN) + { + if (seqParams.getSelPage() == 0) // SUBMODE_SEQ + { + omxDisp.clearLegends(); + omxDisp.legends[0] = "PTN"; + omxDisp.legends[1] = "TRSP"; + omxDisp.legends[2] = "SWNG"; //"TRSP"; + omxDisp.legends[3] = "BPM"; + omxDisp.legendVals[0] = sequencer.playingPattern + 1; + omxDisp.legendVals[1] = (int)midiSettings.transpose; + omxDisp.legendVals[2] = (int)sequencer.getCurrentPattern()->swing; //(int)swing; + // legendVals[2] = swing_values[sequencer.getCurrentPattern()->swing]; + omxDisp.legendVals[3] = (int)clockConfig.clockbpm; + } + else if (seqParams.getSelPage() == 1) // SUBMODE_SEQ2 + { + omxDisp.clearLegends(); + omxDisp.legends[0] = "SOLO"; + omxDisp.legends[1] = "LEN"; + omxDisp.legends[2] = "RATE"; + omxDisp.legends[3] = "CV"; // cvPattern + omxDisp.legendVals[0] = sequencer.getCurrentPattern()->solo; // playingPattern+1; + omxDisp.legendVals[1] = sequencer.getPatternLength(sequencer.playingPattern); + omxDisp.legendVals[2] = -127; + omxDisp.legendText[2] = mdivs[sequencer.getCurrentPattern()->clockDivMultP]; + omxDisp.legendVals[3] = -127; // TODO is this right? + if (sequencer.getCurrentPattern()->sendCV) + { + omxDisp.legendText[3] = "On"; + } + else + { + omxDisp.legendText[3] = "Off"; + } + } + omxDisp.dispGenericMode2(2, seqParams.getSelPage(), seqParams.getSelParam(), encoderSelect_); + } + else if (seqMode == SEQMODE_NOTESEL) + { + if (noteSelParams.getSelPage() == 0) // SUBMODE_NOTESEL + { + omxDisp.clearLegends(); + omxDisp.legends[0] = "NOTE"; + omxDisp.legends[1] = "OCT"; + omxDisp.legends[2] = "VEL"; + omxDisp.legends[3] = "LEN"; + omxDisp.legendVals[0] = getSelectedStep()->note; + omxDisp.legendVals[1] = (int)midiSettings.octave + 4; + omxDisp.legendVals[2] = getSelectedStep()->vel; + omxDisp.useLegendString[3] = true; + omxDisp.legendString[3] = String(kNoteLengths[getSelectedStep()->len]); + } + else if (noteSelParams.getSelPage() == 1) // SUBMODE_NOTESEL2 + { + omxDisp.clearLegends(); + omxDisp.legends[0] = "TYPE"; + omxDisp.legends[1] = "PROB"; + omxDisp.legends[2] = "COND"; + omxDisp.legends[3] = ""; + omxDisp.legendVals[0] = -127; + omxDisp.legendText[0] = stepTypes[getSelectedStep()->stepType]; + omxDisp.legendVals[1] = getSelectedStep()->prob; + // String ac = String(trigConditionsAB[][0]); + // String bc = String(trigConditionsAB[getSelectedStep()->condition][1]); + + omxDisp.legendVals[2] = -127; + omxDisp.legendText[2] = trigConditions[getSelectedStep()->condition]; // ac + bc; // trigConditions + + omxDisp.legendVals[3] = 0; + } + else if (noteSelParams.getSelPage() == 2) // SUBMODE_NOTESEL3 + { + omxDisp.clearLegends(); + omxDisp.legends[0] = "L-1"; + omxDisp.legends[1] = "L-2"; + omxDisp.legends[2] = "L-3"; + omxDisp.legends[3] = "L-4"; + for (int j = 0; j < 4; j++) + { + int stepNoteParam = getSelectedStep()->params[j]; + if (stepNoteParam > -1) + { + omxDisp.legendVals[j] = stepNoteParam; + } + else + { + omxDisp.legendVals[j] = -127; + omxDisp.legendText[j] = "---"; + } + } + } + omxDisp.dispGenericMode2(3, noteSelParams.getSelPage(), noteSelParams.getSelParam(), encoderSelect_); + } + else if (seqMode == SEQMODE_PAT) + { + if (patParams.getSelPage() == 0) // SUBMODE_PATTPARAMS + { + omxDisp.clearLegends(); + omxDisp.legends[0] = "PTN"; + omxDisp.legends[1] = "LEN"; + omxDisp.legends[2] = "ROT"; + omxDisp.legends[3] = "CHAN"; + omxDisp.legendVals[0] = sequencer.playingPattern + 1; + omxDisp.legendVals[1] = sequencer.getPatternLength(sequencer.playingPattern); + omxDisp.legendVals[2] = midiSettings.rotationAmt; //(int)transpose; + omxDisp.legendVals[3] = sequencer.getPatternChannel(sequencer.playingPattern); + } + else if (patParams.getSelPage() == 1) // SUBMODE_PATTPARAMS2 + { + omxDisp.clearLegends(); + omxDisp.legends[0] = "START"; + omxDisp.legends[1] = "END"; + omxDisp.legends[2] = "FREQ"; + omxDisp.legends[3] = "PROB"; + omxDisp.legendVals[0] = sequencer.getCurrentPattern()->startstep + 1; // STRT step to autoreset on + omxDisp.legendVals[1] = sequencer.getCurrentPattern()->autoresetstep; // STP step to autoreset on - 0 = no auto reset + omxDisp.legendVals[2] = sequencer.getCurrentPattern()->autoresetfreq; // FRQ to autoreset on -- every x cycles + omxDisp.legendVals[3] = sequencer.getCurrentPattern()->autoresetprob; // PRO probability of resetting 0=NEVER 1=Always 2=50% + } + else if (patParams.getSelPage() == 2) // SUBMODE_PATTPARAMS3 + { + omxDisp.clearLegends(); + omxDisp.legends[0] = "RATE"; + omxDisp.legends[1] = "SOLO"; + omxDisp.legends[2] = "---"; + omxDisp.legends[3] = "---"; + + // RATE FOR CURR PATTERN + omxDisp.legendVals[0] = -127; + omxDisp.legendText[0] = mdivs[sequencer.getCurrentPattern()->clockDivMultP]; + + omxDisp.legendVals[1] = sequencer.getCurrentPattern()->solo; + omxDisp.legendVals[2] = 0; // TBD + omxDisp.legendVals[3] = 0; // TBD + } + omxDisp.dispGenericMode2(3, patParams.getSelPage(), patParams.getSelParam(), encoderSelect_); + } + else if (seqMode == SEQMODE_STEPRECORD) + { + if (sRecParams.getSelPage() == 0) // SUBMODE_STEPREC + { + omxDisp.clearLegends(); + omxDisp.legends[0] = "OCT"; + omxDisp.legends[1] = "STEP"; + omxDisp.legends[2] = "NOTE"; + omxDisp.legends[3] = "PTN"; + omxDisp.legendVals[0] = (int)midiSettings.octave + 4; + omxDisp.legendVals[1] = sequencer.seqPos[sequencer.playingPattern] + 1; + omxDisp.legendVals[2] = getSelectedStep()->note; //(int)transpose; + omxDisp.legendVals[3] = sequencer.playingPattern + 1; + } + else if (sRecParams.getSelPage() == 1) // SUBMODE_NOTESEL2 + { + omxDisp.clearLegends(); + omxDisp.legends[0] = "TYPE"; + omxDisp.legends[1] = "PROB"; + omxDisp.legends[2] = "COND"; + omxDisp.legends[3] = ""; + omxDisp.legendVals[0] = -127; + omxDisp.legendText[0] = stepTypes[getSelectedStep()->stepType]; + omxDisp.legendVals[1] = getSelectedStep()->prob; + // String ac = String(trigConditionsAB[][0]); + // String bc = String(trigConditionsAB[getSelectedStep()->condition][1]); + + omxDisp.legendVals[2] = -127; + omxDisp.legendText[2] = trigConditions[getSelectedStep()->condition]; // ac + bc; // trigConditions + + omxDisp.legendVals[3] = 0; + } + omxDisp.dispGenericMode2(3, sRecParams.getSelPage(), sRecParams.getSelParam(), encoderSelect_); + } + } + } +} + +void OmxModeSequencer::initPatterns() +{ + // default to GM Drum Map for now -- GET THIS FROM patternDefaultNoteMap instead + // uint8_t initNotes[NUM_PATTERNS] = { + // 36, + // 38, + // 37, + // 39, + // 42, + // 46, + // 49, + // 51 }; + + StepNote stepNote = {0, 100, defaultNoteLength, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}; + // {note, vel, len, TRIGTYPE, {params0, params1, params2, params3, params4}, prob, condition, STEPTYPE} + + for (int i = 0; i < NUM_SEQ_PATTERNS; i++) + { + auto pattern = sequencer.getPattern(i); + + stepNote.note = sequencer.patternDefaultNoteMap[i]; // Defined in sequencer.h + + for (int j = 0; j < NUM_STEPS; j++) + { + memcpy(&pattern->steps[j], &stepNote, sizeof(StepNote)); + } + + // TODO: move to sequencer.h + pattern->len = 15; + pattern->channel = i; // 0 - 15 becomes 1 - 16 + pattern->startstep = 0; + pattern->autoresetstep = 0; + pattern->autoresetfreq = 0; + pattern->current_cycle = 1; + pattern->rndstep = 3; + pattern->clockDivMultP = 2; + pattern->autoresetprob = 0; + pattern->swing = 0; + pattern->reverse = false; + pattern->mute = false; + pattern->autoreset = false; + pattern->solo = false; + pattern->sendCV = false; + } +} + +void OmxModeSequencer::SetScale(MusicScales *scale) +{ + this->musicScale = scale; +} diff --git a/Archive/OMX-27-firmware/src/modes/omx_mode_sequencer.h b/Archive/OMX-27-firmware/src/modes/omx_mode_sequencer.h new file mode 100644 index 00000000..3b08e93f --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_mode_sequencer.h @@ -0,0 +1,93 @@ +#pragma once + +#include "omx_mode_interface.h" +#include "../utils/music_scales.h" +#include "../utils/param_manager.h" +class OmxModeSequencer : public OmxModeInterface +{ +public: + OmxModeSequencer(); + ~OmxModeSequencer() {} + + void InitSetup() override; + + void initPatterns(); // Initializes all patterns + + void onModeActivated() override; + + void onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) override; + + void loopUpdate(Micros elapsedTime) override; + + // Should be part of LED update, intertangled with the sequencer class which is calling it in main FW code. + void showCurrentStepLEDs(int patternNum); + + void updateLEDs() override; + + void onEncoderChanged(Encoder::Update enc) override; + void onEncoderButtonDown() override; + void onEncoderButtonDownLong() override; + + bool shouldBlockEncEdit() override; + + void onKeyUpdate(OMXKeypadEvent e) override; + void onKeyHeldUpdate(OMXKeypadEvent e) override; + + void onDisplayUpdate() override; + + void setSeq1Mode() + { + seq2Mode = false; + } + + void setSeq2Mode() + { + seq2Mode = true; + } + + void SetScale(MusicScales *scale); + +private: + bool initSetup = false; + bool seq2Mode = false; + + MusicScales *musicScale; + + // These do not appear to be used + // bool copiedFlag = false; + // bool pastedFlag = false; + // bool clearedFlag = false; + + // If true, encoder selects param rather than modifies value + bool encoderSelect_ = false; + + bool patternParams_ = false; + bool seqPages_ = false; // True when we can change page selection + + bool noteSelect_ = false; + // bool noteSelection_ = false; // noteSelection_ is never set false when in noteSelect_ mode, so see no reason for it. seems to be remnant of some other feature. + + // bool stepSelect_ = false; // Only used in noteSelection after selecting a key, it is set false, value never checked, see no reason for it. + bool stepRecord_ = false; + bool stepDirty_ = false; + + ParamManager seqParams; // seq params, 2 pages + ParamManager noteSelParams; // note select params, 3 pages + ParamManager patParams; // pattern params, 3 pages + ParamManager sRecParams; // step record params, 2 pages + + // void setParam(uint8_t pageIndex, uint8_t paramPosition); + // void setParam(uint8_t paramIndex); + + void onEncoderChangedNorm(Encoder::Update enc); + void onEncoderChangedStep(Encoder::Update enc); + + void onEncoderChangedSelectParam(Encoder::Update enc); + + uint8_t getAdjustedNote(uint8_t keyNumber); + + void changeSequencerMode(uint8_t newMode); + uint8_t getSequencerMode(); // based on enum SequencerMode in cpp file + + void pasteStep(uint8_t stepKey); +}; diff --git a/Archive/OMX-27-firmware/src/modes/omx_screensaver.cpp b/Archive/OMX-27-firmware/src/modes/omx_screensaver.cpp new file mode 100644 index 00000000..f3cf5e19 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_screensaver.cpp @@ -0,0 +1,145 @@ +#include "omx_screensaver.h" +#include "../consts/consts.h" +#include "../config.h" +#include "../utils/omx_util.h" +#include "../hardware/omx_disp.h" +#include "../hardware/omx_leds.h" + +void OmxScreensaver::setScreenSaverColor() +{ + colorConfig.screensaverColor = map(potSettings.analog[4]->getValue(), potMinVal, potMaxVal, 0, ssMaxColorDepth); +} + +void OmxScreensaver::onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) +{ + // set screensaver color with pot 4 + if (potSettings.analog[4]->hasChanged()) + { + setScreenSaverColor(); + } + // reset screensaver + if (potSettings.analog[0]->hasChanged() || potSettings.analog[1]->hasChanged() || potSettings.analog[2]->hasChanged() || potSettings.analog[3]->hasChanged()) + { + screenSaverCounter = 0; + } +} + +void OmxScreensaver::updateScreenSaverState() +{ + if (screenSaverCounter > screensaverInterval) + { + if (!screenSaverActive) + { + screenSaverActive = true; + setScreenSaverColor(); + } + } + else if (screenSaverCounter < 10) + { + ssstep = 0; + ssloop = 0; + // setAllLEDS(0,0,0); + screenSaverActive = false; + nextStepTimeSS = millis(); + } + else + { + screenSaverActive = false; + nextStepTimeSS = millis(); + } +} + +bool OmxScreensaver::shouldShowScreenSaver() +{ + return screenSaverActive; +} + +void OmxScreensaver::onEncoderChanged(Encoder::Update enc) +{ +} + +void OmxScreensaver::onKeyUpdate(OMXKeypadEvent e) +{ +} + +void OmxScreensaver::onDisplayUpdate() +{ + updateLEDs(); + omxDisp.clearDisplay(); +} + +void OmxScreensaver::resetCounter() +{ + screenSaverCounter = 0; +} + +void OmxScreensaver::updateLEDs() +{ + unsigned long playstepmillis = millis(); + if (playstepmillis > nextStepTimeSS) + { + ssstep = ssstep % 16; + ssloop = ssloop % 16; + + int j = 26 - ssloop; + int i = ssstep + 11; + + for (int z = 1; z < 11; z++) + { + strip.setPixelColor(z, 0); + } + if (colorConfig.screensaverColor < ssMaxColorDepth) + { + if (!ssreverse) + { + // turn off all leds + for (int x = 0; x < 16; x++) + { + if (i < j) + { + strip.setPixelColor(x + 11, 0); + } + if (x + 11 > j) + { + strip.setPixelColor(x + 11, strip.gamma32(strip.ColorHSV(colorConfig.screensaverColor))); + } + } + strip.setPixelColor(i + 1, strip.gamma32(strip.ColorHSV(colorConfig.screensaverColor))); + } + else + { + for (int y = 0; y < 16; y++) + { + if (i >= j) + { + strip.setPixelColor(y + 11, 0); + } + if (y + 11 < j) + { + strip.setPixelColor(y + 11, strip.gamma32(strip.ColorHSV(colorConfig.screensaverColor))); + } + } + strip.setPixelColor(i + 1, strip.gamma32(strip.ColorHSV(colorConfig.screensaverColor))); + } + } + else + { + for (int w = 0; w < 27; w++) + { + strip.setPixelColor(w, 0); + } + } + ssstep++; + if (ssstep == 16) + { + ssloop++; + } + if (ssloop == 16) + { + ssreverse = !ssreverse; + } + nextStepTimeSS = nextStepTimeSS + sleepTick; + + omxLeds.setDirty(); + } +} diff --git a/Archive/OMX-27-firmware/src/modes/omx_screensaver.h b/Archive/OMX-27-firmware/src/modes/omx_screensaver.h new file mode 100644 index 00000000..b7abd7b3 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/omx_screensaver.h @@ -0,0 +1,44 @@ +#pragma once + +#include "./omx_mode_interface.h" + +class OmxScreensaver : public OmxModeInterface +{ +public: + OmxScreensaver() {} + ~OmxScreensaver() {} + + void onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) override; + + void updateLEDs() override; + + void resetCounter(); + + void updateScreenSaverState(); + bool shouldShowScreenSaver(); + + void onEncoderChanged(Encoder::Update enc) override; + + void onEncoderButtonDown() override{}; + void onEncoderButtonDownLong() override{}; + + void onKeyUpdate(OMXKeypadEvent e) override; + void onKeyHeldUpdate(OMXKeypadEvent e){}; + + void onDisplayUpdate() override; + +private: + void setScreenSaverColor(); + elapsedMillis screenSaverCounter = 0; + unsigned long screensaverInterval = 1000 * 60 * 3; // 3 minutes default + uint32_t ssMaxColorDepth = 65528; // used by setScreenSaverColor(). Allows for full rainbow of colors, plus a little extra for 'black' + + int ssstep = 0; + int ssloop = 0; + volatile unsigned long nextStepTimeSS = 0; + bool ssreverse = false; + + int sleepTick = 80; + + bool screenSaverActive; +}; diff --git a/Archive/OMX-27-firmware/src/modes/retro_grids.cpp b/Archive/OMX-27-firmware/src/modes/retro_grids.cpp new file mode 100644 index 00000000..d2db09f5 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/retro_grids.cpp @@ -0,0 +1,825 @@ +#include "retro_grids.h" +#include "../midi/midi.h" + +namespace grids +{ + const uint8_t node_0[] = { + 255, 0, 0, 0, 0, 0, 145, 0, + 0, 0, 0, 0, 218, 0, 0, 0, + 72, 0, 36, 0, 182, 0, 0, 0, + 109, 0, 0, 0, 72, 0, 0, 0, + 36, 0, 109, 0, 0, 0, 8, 0, + 255, 0, 0, 0, 0, 0, 72, 0, + 0, 0, 182, 0, 0, 0, 36, 0, + 218, 0, 0, 0, 145, 0, 0, 0, + 170, 0, 113, 0, 255, 0, 56, 0, + 170, 0, 141, 0, 198, 0, 56, 0, + 170, 0, 113, 0, 226, 0, 28, 0, + 170, 0, 113, 0, 198, 0, 85, 0, + }; + const uint8_t node_1[] = { + 229, 0, 25, 0, 102, 0, 25, 0, + 204, 0, 25, 0, 76, 0, 8, 0, + 255, 0, 8, 0, 51, 0, 25, 0, + 178, 0, 25, 0, 153, 0, 127, 0, + 28, 0, 198, 0, 56, 0, 56, 0, + 226, 0, 28, 0, 141, 0, 28, 0, + 28, 0, 170, 0, 28, 0, 28, 0, + 255, 0, 113, 0, 85, 0, 85, 0, + 159, 0, 159, 0, 255, 0, 63, 0, + 159, 0, 159, 0, 191, 0, 31, 0, + 159, 0, 127, 0, 255, 0, 31, 0, + 159, 0, 127, 0, 223, 0, 95, 0, + }; + const uint8_t node_2[] = { + 255, 0, 0, 0, 127, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 229, 0, + 0, 0, 178, 0, 204, 0, 0, 0, + 76, 0, 51, 0, 153, 0, 25, 0, + 0, 0, 127, 0, 0, 0, 0, 0, + 255, 0, 191, 0, 31, 0, 63, 0, + 0, 0, 95, 0, 0, 0, 0, 0, + 223, 0, 0, 0, 31, 0, 159, 0, + 255, 0, 85, 0, 148, 0, 85, 0, + 127, 0, 85, 0, 106, 0, 63, 0, + 212, 0, 170, 0, 191, 0, 170, 0, + 85, 0, 42, 0, 233, 0, 21, 0, + }; + const uint8_t node_3[] = { + 255, 0, 212, 0, 63, 0, 0, 0, + 106, 0, 148, 0, 85, 0, 127, 0, + 191, 0, 21, 0, 233, 0, 0, 0, + 21, 0, 170, 0, 0, 0, 42, 0, + 0, 0, 0, 0, 141, 0, 113, 0, + 255, 0, 198, 0, 0, 0, 56, 0, + 0, 0, 85, 0, 56, 0, 28, 0, + 226, 0, 28, 0, 170, 0, 56, 0, + 255, 0, 231, 0, 255, 0, 208, 0, + 139, 0, 92, 0, 115, 0, 92, 0, + 185, 0, 69, 0, 46, 0, 46, 0, + 162, 0, 23, 0, 208, 0, 46, 0, + }; + const uint8_t node_4[] = { + 255, 0, 31, 0, 63, 0, 63, 0, + 127, 0, 95, 0, 191, 0, 63, 0, + 223, 0, 31, 0, 159, 0, 63, 0, + 31, 0, 63, 0, 95, 0, 31, 0, + 8, 0, 0, 0, 95, 0, 63, 0, + 255, 0, 0, 0, 127, 0, 0, 0, + 8, 0, 0, 0, 159, 0, 63, 0, + 255, 0, 223, 0, 191, 0, 31, 0, + 76, 0, 25, 0, 255, 0, 127, 0, + 153, 0, 51, 0, 204, 0, 102, 0, + 76, 0, 51, 0, 229, 0, 127, 0, + 153, 0, 51, 0, 178, 0, 102, 0, + }; + const uint8_t node_5[] = { + 255, 0, 51, 0, 25, 0, 76, 0, + 0, 0, 0, 0, 102, 0, 0, 0, + 204, 0, 229, 0, 0, 0, 178, 0, + 0, 0, 153, 0, 127, 0, 8, 0, + 178, 0, 127, 0, 153, 0, 204, 0, + 255, 0, 0, 0, 25, 0, 76, 0, + 102, 0, 51, 0, 0, 0, 0, 0, + 229, 0, 25, 0, 25, 0, 204, 0, + 178, 0, 102, 0, 255, 0, 76, 0, + 127, 0, 76, 0, 229, 0, 76, 0, + 153, 0, 102, 0, 255, 0, 25, 0, + 127, 0, 51, 0, 204, 0, 51, 0, + }; + const uint8_t node_6[] = { + 255, 0, 0, 0, 223, 0, 0, 0, + 31, 0, 8, 0, 127, 0, 0, 0, + 95, 0, 0, 0, 159, 0, 0, 0, + 95, 0, 63, 0, 191, 0, 0, 0, + 51, 0, 204, 0, 0, 0, 102, 0, + 255, 0, 127, 0, 8, 0, 178, 0, + 25, 0, 229, 0, 0, 0, 76, 0, + 204, 0, 153, 0, 51, 0, 25, 0, + 255, 0, 226, 0, 255, 0, 255, 0, + 198, 0, 28, 0, 141, 0, 56, 0, + 170, 0, 56, 0, 85, 0, 28, 0, + 170, 0, 28, 0, 113, 0, 56, 0, + }; + const uint8_t node_7[] = { + 223, 0, 0, 0, 63, 0, 0, 0, + 95, 0, 0, 0, 223, 0, 31, 0, + 255, 0, 0, 0, 159, 0, 0, 0, + 127, 0, 31, 0, 191, 0, 31, 0, + 0, 0, 0, 0, 109, 0, 0, 0, + 218, 0, 0, 0, 182, 0, 72, 0, + 8, 0, 36, 0, 145, 0, 36, 0, + 255, 0, 8, 0, 182, 0, 72, 0, + 255, 0, 72, 0, 218, 0, 36, 0, + 218, 0, 0, 0, 145, 0, 0, 0, + 255, 0, 36, 0, 182, 0, 36, 0, + 182, 0, 0, 0, 109, 0, 0, 0, + }; + const uint8_t node_8[] = { + 255, 0, 0, 0, 218, 0, 0, 0, + 36, 0, 0, 0, 218, 0, 0, 0, + 182, 0, 109, 0, 255, 0, 0, 0, + 0, 0, 0, 0, 145, 0, 72, 0, + 159, 0, 0, 0, 31, 0, 127, 0, + 255, 0, 31, 0, 0, 0, 95, 0, + 8, 0, 0, 0, 191, 0, 31, 0, + 255, 0, 31, 0, 223, 0, 63, 0, + 255, 0, 31, 0, 63, 0, 31, 0, + 95, 0, 31, 0, 63, 0, 127, 0, + 159, 0, 31, 0, 63, 0, 31, 0, + 223, 0, 223, 0, 191, 0, 191, 0, + }; + const uint8_t node_9[] = { + 226, 0, 28, 0, 28, 0, 141, 0, + 8, 0, 8, 0, 255, 0, 8, 0, + 113, 0, 28, 0, 198, 0, 85, 0, + 56, 0, 198, 0, 170, 0, 28, 0, + 8, 0, 95, 0, 8, 0, 8, 0, + 255, 0, 63, 0, 31, 0, 223, 0, + 8, 0, 31, 0, 191, 0, 8, 0, + 255, 0, 127, 0, 127, 0, 159, 0, + 115, 0, 46, 0, 255, 0, 185, 0, + 139, 0, 23, 0, 208, 0, 115, 0, + 231, 0, 69, 0, 255, 0, 162, 0, + 139, 0, 115, 0, 231, 0, 92, 0, + }; + const uint8_t node_10[] = { + 145, 0, 0, 0, 0, 0, 109, 0, + 0, 0, 0, 0, 255, 0, 109, 0, + 72, 0, 218, 0, 0, 0, 0, 0, + 36, 0, 0, 0, 182, 0, 0, 0, + 0, 0, 127, 0, 159, 0, 127, 0, + 159, 0, 191, 0, 223, 0, 63, 0, + 255, 0, 95, 0, 31, 0, 95, 0, + 31, 0, 8, 0, 63, 0, 8, 0, + 255, 0, 0, 0, 145, 0, 0, 0, + 182, 0, 109, 0, 109, 0, 109, 0, + 218, 0, 0, 0, 72, 0, 0, 0, + 182, 0, 72, 0, 182, 0, 36, 0, + }; + const uint8_t node_11[] = { + 255, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 255, 0, 0, 0, 218, 0, 72, 36, + 0, 0, 182, 0, 0, 0, 145, 109, + 0, 0, 127, 0, 0, 0, 42, 0, + 212, 0, 0, 212, 0, 0, 212, 0, + 0, 0, 0, 0, 42, 0, 0, 0, + 255, 0, 0, 0, 170, 170, 127, 85, + 145, 0, 109, 109, 218, 109, 72, 0, + 145, 0, 72, 0, 218, 0, 109, 0, + 182, 0, 109, 0, 255, 0, 72, 0, + 182, 109, 36, 109, 255, 109, 109, 0, + }; + const uint8_t node_12[] = { + 255, 0, 0, 0, 255, 0, 191, 0, + 0, 0, 0, 0, 95, 0, 63, 0, + 31, 0, 0, 0, 223, 0, 223, 0, + 0, 0, 8, 0, 159, 0, 127, 0, + 0, 0, 85, 0, 56, 0, 28, 0, + 255, 0, 28, 0, 0, 0, 226, 0, + 0, 0, 170, 0, 56, 0, 113, 0, + 198, 0, 0, 0, 113, 0, 141, 0, + 255, 0, 42, 0, 233, 0, 63, 0, + 212, 0, 85, 0, 191, 0, 106, 0, + 191, 0, 21, 0, 170, 0, 8, 0, + 170, 0, 127, 0, 148, 0, 148, 0, + }; + const uint8_t node_13[] = { + 255, 0, 0, 0, 0, 0, 63, 0, + 191, 0, 95, 0, 31, 0, 223, 0, + 255, 0, 63, 0, 95, 0, 63, 0, + 159, 0, 0, 0, 0, 0, 127, 0, + 72, 0, 0, 0, 0, 0, 0, 0, + 255, 0, 0, 0, 0, 0, 0, 0, + 72, 0, 72, 0, 36, 0, 8, 0, + 218, 0, 182, 0, 145, 0, 109, 0, + 255, 0, 162, 0, 231, 0, 162, 0, + 231, 0, 115, 0, 208, 0, 139, 0, + 185, 0, 92, 0, 185, 0, 46, 0, + 162, 0, 69, 0, 162, 0, 23, 0, + }; + const uint8_t node_14[] = { + 255, 0, 0, 0, 51, 0, 0, 0, + 0, 0, 0, 0, 102, 0, 0, 0, + 204, 0, 0, 0, 153, 0, 0, 0, + 0, 0, 0, 0, 51, 0, 0, 0, + 0, 0, 0, 0, 8, 0, 36, 0, + 255, 0, 0, 0, 182, 0, 8, 0, + 0, 0, 0, 0, 72, 0, 109, 0, + 145, 0, 0, 0, 255, 0, 218, 0, + 212, 0, 8, 0, 170, 0, 0, 0, + 127, 0, 0, 0, 85, 0, 8, 0, + 255, 0, 8, 0, 170, 0, 0, 0, + 127, 0, 0, 0, 42, 0, 8, 0, + }; + const uint8_t node_15[] = { + 255, 0, 0, 0, 0, 0, 0, 0, + 36, 0, 0, 0, 182, 0, 0, 0, + 218, 0, 0, 0, 0, 0, 0, 0, + 72, 0, 0, 0, 145, 0, 109, 0, + 36, 0, 36, 0, 0, 0, 0, 0, + 255, 0, 0, 0, 182, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 109, + 218, 0, 0, 0, 145, 0, 72, 72, + 255, 0, 28, 0, 226, 0, 56, 0, + 198, 0, 0, 0, 0, 0, 28, 28, + 170, 0, 0, 0, 141, 0, 0, 0, + 113, 0, 0, 0, 85, 85, 85, 85, + }; + const uint8_t node_16[] = { + 255, 0, 0, 0, 0, 0, 95, 0, + 0, 0, 127, 0, 0, 0, 0, 0, + 223, 0, 95, 0, 63, 0, 31, 0, + 191, 0, 0, 0, 159, 0, 0, 0, + 0, 0, 31, 0, 255, 0, 0, 0, + 0, 0, 95, 0, 223, 0, 0, 0, + 0, 0, 63, 0, 191, 0, 0, 0, + 0, 0, 0, 0, 159, 0, 127, 0, + 141, 0, 28, 0, 28, 0, 28, 0, + 113, 0, 8, 0, 8, 0, 8, 0, + 255, 0, 0, 0, 226, 0, 0, 0, + 198, 0, 56, 0, 170, 0, 85, 0, + }; + const uint8_t node_17[] = { + 255, 0, 0, 0, 8, 0, 0, 0, + 182, 0, 0, 0, 72, 0, 0, 0, + 218, 0, 0, 0, 36, 0, 0, 0, + 145, 0, 0, 0, 109, 0, 0, 0, + 0, 0, 51, 25, 76, 25, 25, 0, + 153, 0, 0, 0, 127, 102, 178, 0, + 204, 0, 0, 0, 0, 0, 255, 0, + 0, 0, 102, 0, 229, 0, 76, 0, + 113, 0, 0, 0, 141, 0, 85, 0, + 0, 0, 0, 0, 170, 0, 0, 0, + 56, 28, 255, 0, 0, 0, 0, 0, + 198, 0, 0, 0, 226, 0, 0, 0, + }; + const uint8_t node_18[] = { + 255, 0, 8, 0, 28, 0, 28, 0, + 198, 0, 56, 0, 56, 0, 85, 0, + 255, 0, 85, 0, 113, 0, 113, 0, + 226, 0, 141, 0, 170, 0, 141, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 255, 0, 0, 0, 127, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 63, 0, 0, 0, 191, 0, 0, 0, + 255, 0, 0, 0, 255, 0, 127, 0, + 0, 0, 85, 0, 0, 0, 212, 0, + 0, 0, 212, 0, 42, 0, 170, 0, + 0, 0, 127, 0, 0, 0, 0, 0, + }; + const uint8_t node_19[] = { + 255, 0, 0, 0, 0, 0, 218, 0, + 182, 0, 0, 0, 0, 0, 145, 0, + 145, 0, 36, 0, 0, 0, 109, 0, + 109, 0, 0, 0, 72, 0, 36, 0, + 0, 0, 0, 0, 109, 0, 8, 0, + 72, 0, 0, 0, 255, 0, 182, 0, + 0, 0, 0, 0, 145, 0, 8, 0, + 36, 0, 8, 0, 218, 0, 182, 0, + 255, 0, 0, 0, 0, 0, 226, 0, + 85, 0, 0, 0, 141, 0, 0, 0, + 0, 0, 0, 0, 170, 0, 56, 0, + 198, 0, 0, 0, 113, 0, 28, 0, + }; + const uint8_t node_20[] = { + 255, 0, 0, 0, 113, 0, 0, 0, + 198, 0, 56, 0, 85, 0, 28, 0, + 255, 0, 0, 0, 226, 0, 0, 0, + 170, 0, 0, 0, 141, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 255, 0, 145, 0, 109, 0, 218, 0, + 36, 0, 182, 0, 72, 0, 72, 0, + 255, 0, 0, 0, 0, 0, 109, 0, + 36, 0, 36, 0, 145, 0, 0, 0, + 72, 0, 72, 0, 182, 0, 0, 0, + 72, 0, 72, 0, 218, 0, 0, 0, + 109, 0, 109, 0, 255, 0, 0, 0, + }; + const uint8_t node_21[] = { + 255, 0, 0, 0, 218, 0, 0, 0, + 145, 0, 0, 0, 36, 0, 0, 0, + 218, 0, 0, 0, 36, 0, 0, 0, + 182, 0, 72, 0, 0, 0, 109, 0, + 0, 0, 0, 0, 8, 0, 0, 0, + 255, 0, 85, 0, 212, 0, 42, 0, + 0, 0, 0, 0, 8, 0, 0, 0, + 85, 0, 170, 0, 127, 0, 42, 0, + 109, 0, 109, 0, 255, 0, 0, 0, + 72, 0, 72, 0, 218, 0, 0, 0, + 145, 0, 182, 0, 255, 0, 0, 0, + 36, 0, 36, 0, 218, 0, 8, 0, + }; + const uint8_t node_22[] = { + 255, 0, 0, 0, 42, 0, 0, 0, + 212, 0, 0, 0, 8, 0, 212, 0, + 170, 0, 0, 0, 85, 0, 0, 0, + 212, 0, 8, 0, 127, 0, 8, 0, + 255, 0, 85, 0, 0, 0, 0, 0, + 226, 0, 85, 0, 0, 0, 198, 0, + 0, 0, 141, 0, 56, 0, 0, 0, + 170, 0, 28, 0, 0, 0, 113, 0, + 113, 0, 56, 0, 255, 0, 0, 0, + 85, 0, 56, 0, 226, 0, 0, 0, + 0, 0, 170, 0, 0, 0, 141, 0, + 28, 0, 28, 0, 198, 0, 28, 0, + }; + const uint8_t node_23[] = { + 255, 0, 0, 0, 229, 0, 0, 0, + 204, 0, 204, 0, 0, 0, 76, 0, + 178, 0, 153, 0, 51, 0, 178, 0, + 178, 0, 127, 0, 102, 51, 51, 25, + 0, 0, 0, 0, 0, 0, 0, 31, + 0, 0, 0, 0, 255, 0, 0, 31, + 0, 0, 8, 0, 0, 0, 191, 159, + 127, 95, 95, 0, 223, 0, 63, 0, + 255, 0, 255, 0, 204, 204, 204, 204, + 0, 0, 51, 51, 51, 51, 0, 0, + 204, 0, 204, 0, 153, 153, 153, 153, + 153, 0, 0, 0, 102, 102, 102, 102, + }; + const uint8_t node_24[] = { + 170, 0, 0, 0, 0, 255, 0, 0, + 198, 0, 0, 0, 0, 28, 0, 0, + 141, 0, 0, 0, 0, 226, 0, 0, + 56, 0, 0, 113, 0, 85, 0, 0, + 255, 0, 0, 0, 0, 113, 0, 0, + 85, 0, 0, 0, 0, 226, 0, 0, + 141, 0, 0, 8, 0, 170, 56, 56, + 198, 0, 0, 56, 0, 141, 28, 0, + 255, 0, 0, 0, 0, 191, 0, 0, + 159, 0, 0, 0, 0, 223, 0, 0, + 95, 0, 0, 0, 0, 63, 0, 0, + 127, 0, 0, 0, 0, 31, 0, 0, + }; + + static const uint8_t *drum_map[5][5] = + { + {node_10, node_8, node_0, node_9, node_11}, + {node_15, node_7, node_13, node_12, node_6}, + {node_18, node_14, node_4, node_5, node_3}, + {node_23, node_16, node_21, node_1, node_2}, + {node_24, node_19, node_17, node_20, node_22}, + }; + + GridsChannel::GridsChannel() + { + } + + uint8_t GridsChannel::U8Mix(uint8_t a, uint8_t b, uint8_t balance) + { + uint16_t mix = b * balance; + mix += (a * (255 - balance)); + return mix / 255; + } + + void GridsChannel::setStep(uint8_t step) + { + step_ = step; + } + + uint8_t GridsChannel::level(int selector, uint16_t x, uint16_t y) + { + uint16_t xmap = x % 256; + uint16_t ymap = y % 256; + int part = selector % NumParts; + return ReadDrumMap(step_, part, xmap, ymap); + } + + /* static */ + uint8_t GridsChannel::ReadDrumMap(uint8_t step, uint8_t instrument, uint8_t x, uint8_t y) + { + uint8_t i = x >> 6; + uint8_t j = y >> 6; + const uint8_t *a_map = drum_map[i][j]; + const uint8_t *b_map = drum_map[i + 1][j]; + const uint8_t *c_map = drum_map[i][j + 1]; + const uint8_t *d_map = drum_map[i + 1][j + 1]; + uint8_t offset = (instrument * kStepsPerPattern) + step; + uint8_t a = *(a_map + offset); + uint8_t b = *(b_map + offset); + uint8_t c = *(c_map + offset); + uint8_t d = *(d_map + offset); + return U8Mix(U8Mix(a, b, x << 2), U8Mix(c, d, x << 2), y << 2); + } + + GridsWrapper::GridsWrapper() + { + tickCount_ = 0; + for (auto i = 0; i < num_notes; i++) + { + midiChannels_[i] = defaultMidiChannel_; + noteLengths_[i] = 3; + channelTriggered_[i] = false; + density_[i] = i == 0 ? 128 : 64; + perturbations_[i] = 0; + x_[i] = 128; + y_[i] = 128; + } + + accent = 128; + chaos = 0; + divider_ = 0; + multiplier_ = 1; + resMultiplier_ = 1; + running_ = false; + + // Init default snapshot notes + for (int8_t s = 0; s < 8; s++) + { + for (int8_t i = 0; i < 4; i++) + { + snapshots[s].instruments[i].note = grids_notes[i]; + } + } + } + + uint32_t GridsWrapper::randomValue(uint32_t init) + { + uint32_t val = 0x12345; + if (init) + { + val = init; + return 0; + } + val = val * 214013 + 2531011; + return val; + } + + void GridsWrapper::start() + { + tickCount_ = 0; + running_ = true; +// MM::startClock(); + + nextStepTimeP_ = micros(); + lastStepTimeP_ = micros(); + } + + void GridsWrapper::stop() + { + running_ = false; +// MM::stopClock(); + } + + void GridsWrapper::proceed() + { + running_ = true; + MM::continueClock(); + } + + void GridsWrapper::setNoteOutputFunc(void (*fptr)(void *, uint8_t, MidiNoteGroup), void *context) + { + onNoteOnFuncPtr_ = fptr; + onNoteOnFuncPtrContext_ = context; + } + + void GridsWrapper::onNoteOn(uint8_t gridsChannel, uint8_t channel, uint8_t noteNumber, uint8_t velocity, float stepLength, bool sendMidi, bool sendCV, uint32_t noteOnMicros) + { + if (onNoteOnFuncPtrContext_ == nullptr) + return; + + MidiNoteGroup noteGroup; + noteGroup.channel = channel; + noteGroup.noteNumber = noteNumber; + noteGroup.velocity = velocity; + noteGroup.stepLength = stepLength; + noteGroup.sendMidi = sendMidi; + noteGroup.sendCV = sendCV; + noteGroup.noteonMicros = noteOnMicros; + + onNoteOnFuncPtr_(onNoteOnFuncPtrContext_, gridsChannel, noteGroup); + } + + void GridsWrapper::clockTick(uint32_t stepmicros, uint32_t microsperstep) + { + if (!running_) + return; + + if (stepmicros >= nextStepTimeP_) + { + lastStepTimeP_ = nextStepTimeP_; + stepMicroDelta_ = microsperstep; + nextStepTimeP_ += stepMicroDelta_; // calc step based on rate + + gridsTick(); + } + } + + // void GridsWrapper::advanceStep(uint32_t stepmicros) + // { + + // if (steps_ == 0) + // { + // seqPos_ = 0; + // lastSeqPos_ = seqPos_; + + // return; + // } + // lastSeqPos_ = seqPos_; + + // seqPos_ = (seqPos_ + 1) % steps_; + + // if (seqPos_ == 0) + // { + // startMicros = stepmicros; + // } + // } + + void GridsWrapper::gridsTick() + { + if (!running_) + return; + + uint32_t ticksPerClock = 3 << divider_; + bool trigger = ((tickCount_ % ticksPerClock) == 0); + + uint32_t noteon_micros = micros(); + + if (trigger) + { + const auto step = (tickCount_ / ticksPerClock * multiplier_) % grids::kStepsPerPattern; + channel_.setStep(step); + + if (step % 2 == 0) + { + if (swing_ < 99) + { + // clockConfig.ppqInterval = 5208 for 120 bpm + // 1488 for 120 bpm + // + noteon_micros = micros() + ((clockConfig.ppqInterval * resMultiplier_) / (PPQ / 24) * swing_); // full range swing + } + else if (swing_ == 99) + { // random drunken swing + uint8_t rnd_swing = rand() % 95 + 1; // rand 1 - 95 // randomly apply swing value + noteon_micros = micros() + ((clockConfig.ppqInterval * resMultiplier_) / (PPQ / 24) * rnd_swing); + } + } + + for (auto channel = 0; channel < num_notes; channel++) + { + if (step == 0) + { + uint32_t r = randomValue(); + perturbations_[channel] = ((r & 0xFF) * (chaos >> 2)) >> 8; + } + + const uint8_t threshold = ~density_[channel]; + auto level = channel_.level(channel, x_[channel], y_[channel]); + if (level < 255 - perturbations_[channel]) + { + level += perturbations_[channel]; + } + + if (level > threshold) + { + uint8_t targetLevel = uint8_t(127.f * float(level - threshold) / float(256 - threshold)); + uint8_t noteLevel = GridsChannel::U8Mix(127, targetLevel, accent); + float stepLength = kNoteLengths[noteLengths_[channel]]; + + onNoteOn(channel, midiChannels_[channel], grids_notes[channel], noteLevel, stepLength, true, false, noteon_micros); + // MM::sendNoteOn(grids_notes[channel], noteLevel, midiChannels_[channel]); + triggeredNotes_[channel] = grids_notes[channel]; + channelTriggered_[channel] = true; + noteOffMicros_[channel] = noteon_micros + (stepLength * clockConfig.step_micros); // time at which note will be off + } + } + } + else + { + for (auto channel = 0; channel < num_notes; channel++) + { + if (channelTriggered_[channel] && noteon_micros >= noteOffMicros_[channel]) + { + // MM::sendNoteOff(triggeredNotes_[channel], 0, midiChannels_[channel]); + // MM::sendNoteOff(grids_notes[channel], 0, midiChannels_[channel]); + channelTriggered_[channel] = false; + } + } + } + tickCount_++; + } + + ChannelPatternLEDs GridsWrapper::getChannelLEDS(uint8_t channel) + { + ChannelPatternLEDs channelLeds; + + // uint8_t perturbs; + + for (int i = 0; i < 32; i++) + { + // const auto step = (i / ticksPerClock * multiplier_) % grids::kStepsPerPattern; + const auto step = i; + channel_.setStep(step); + + if (channel < num_notes) + { + + // if (step == 0) + // { + // uint32_t r = randomValue(); + // perturbations_[channel] = ((r & 0xFF) * (chaos >> 2)) >> 8; + // } + + const uint8_t threshold = ~density_[channel]; + auto level = channel_.level(channel, x_[channel], y_[channel]); + if (level < 255 - perturbations_[channel]) + { + level += perturbations_[channel]; + } + + if (level > threshold) + { + uint8_t targetLevel = uint8_t(127.f * float(level - threshold) / float(256 - threshold)); + uint8_t noteLevel = GridsChannel::U8Mix(127, targetLevel, accent); + channelLeds.levels[i] = noteLevel; + // MM::sendNoteOn(grids_notes[channel], noteLevel, midiChannels_[channel]); + // channelTriggered_[channel] = true; + } + else + { + channelLeds.levels[i] = 0; + } + } + } + + return channelLeds; + } + + SnapShotSettings *GridsWrapper::getSnapShot(uint8_t snapShotIndex) + { + return &snapshots[snapShotIndex]; + } + + void GridsWrapper::setSnapShot(uint8_t snapShotIndex, SnapShotSettings snapShot) + { + snapshots[snapShotIndex] = snapShot; + } + + void GridsWrapper::saveSnapShot(uint8_t snapShotIndex) + { + for (uint8_t i = 0; i < 4; i++) + { + snapshots[snapShotIndex].instruments[i].note = grids_notes[i]; + snapshots[snapShotIndex].instruments[i].noteLength = noteLengths_[i]; + snapshots[snapShotIndex].instruments[i].midiChan = midiChannels_[i]; + snapshots[snapShotIndex].instruments[i].density = getDensity(i); + snapshots[snapShotIndex].instruments[i].x = getX(i); + snapshots[snapShotIndex].instruments[i].y = getY(i); + } + + snapshots[snapShotIndex].accent = getAccent(); + snapshots[snapShotIndex].resolution = resolution_; + snapshots[snapShotIndex].chaos = getChaos(); + snapshots[snapShotIndex].swing = getSwing(); + + playingPattern = snapShotIndex; + } + + void GridsWrapper::loadSnapShot(uint8_t snapShotIndex) + { + for (uint8_t i = 0; i < 4; i++) + { + grids_notes[i] = snapshots[snapShotIndex].instruments[i].note; + midiChannels_[i] = snapshots[snapShotIndex].instruments[i].midiChan; + noteLengths_[i] = snapshots[snapShotIndex].instruments[i].noteLength; + setDensity(i, snapshots[snapShotIndex].instruments[i].density); + setX(i, snapshots[snapShotIndex].instruments[i].x); + setY(i, snapshots[snapShotIndex].instruments[i].y); + } + + setAccent(snapshots[snapShotIndex].accent); + setResolution(snapshots[snapShotIndex].resolution); + setChaos(snapshots[snapShotIndex].chaos); + setSwing(snapshots[snapShotIndex].swing); + + playingPattern = snapShotIndex; + } + + uint8_t GridsWrapper::getSeqPos() + { + uint32_t ticksPerClock = 3 << divider_; + uint8_t step = (tickCount_ / ticksPerClock * multiplier_) % grids::kStepsPerPattern; + return step; + } + + bool GridsWrapper::getChannelTriggered(uint8_t chanIndex) + { + if (chanIndex < 0 || chanIndex >= num_notes) + return false; + return channelTriggered_[chanIndex]; + } + + void GridsWrapper::setMidiChan(uint8_t chanIndex, uint8_t channel) + { + if (chanIndex < 0 || chanIndex >= num_notes) + return; + + midiChannels_[chanIndex] = channel; + } + + uint8_t GridsWrapper::getMidiChan(uint8_t chanIndex) + { + if (chanIndex < 0 || chanIndex >= num_notes) + return 1; + return midiChannels_[chanIndex]; + } + + void GridsWrapper::setNoteLength(uint8_t channel, uint8_t newNoteLength) + { + noteLengths_[channel] = newNoteLength; + } + + uint8_t GridsWrapper::getNoteLength(uint8_t channel) + { + return noteLengths_[channel]; + } + + void GridsWrapper::setDensity(uint8_t channel, uint8_t density) + { + density_[channel] = density; + } + + uint8_t GridsWrapper::getDensity(uint8_t channel) + { + return density_[channel]; + } + + void GridsWrapper::setX(uint8_t channel, uint8_t x) + { + x_[channel] = x; + // Serial.print("setX:"); + // Serial.print(channel); + // Serial.print(":"); + // Serial.println(x); + } + + uint8_t GridsWrapper::getX(uint8_t channel) + { + return x_[channel]; + } + + void GridsWrapper::setY(uint8_t channel, uint8_t y) + { + y_[channel] = y; + } + + uint8_t GridsWrapper::getY(uint8_t channel) + { + return y_[channel]; + } + + void GridsWrapper::setChaos(uint8_t c) + { + chaos = c; + } + + uint8_t GridsWrapper::getChaos() + { + return chaos; + } + + void GridsWrapper::setResolution(uint8_t r) + { + resolution_ = r; + divider_ = 0; + if (r == 0) + { + multiplier_ = 1; + divider_ = 1; + resMultiplier_ = 0.5f; + } + else if (r == 1) + { + multiplier_ = 1; + resMultiplier_ = 1; + } + else if (r == 2) + { + multiplier_ = 2; + resMultiplier_ = 2; + // } else if (r == 3){ + // multiplier_ = 4; + } + } + + void GridsWrapper::setSwing(uint8_t newSwing) + { + swing_ = newSwing; + } + uint8_t GridsWrapper::getSwing() + { + return swing_; + } + + void GridsWrapper::setAccent(uint8_t a) + { + accent = a; + } + uint8_t GridsWrapper::getAccent() + { + return accent; + } +} diff --git a/Archive/OMX-27-firmware/src/modes/retro_grids.h b/Archive/OMX-27-firmware/src/modes/retro_grids.h new file mode 100644 index 00000000..732ee669 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/retro_grids.h @@ -0,0 +1,192 @@ +#include +#include "../config.h" +// #define NUM_GRIDS 8 + +namespace grids +{ + + enum Grid_Resolutions + { + HALF = 0, + NORMAL, + DOUBLE, + FOUR, + COUNT + }; + + struct InstSettings + { + uint8_t note : 7; + uint8_t noteLength : 4; + uint8_t midiChan : 5; + uint8_t density = 0; + uint8_t x = 128; + uint8_t y = 128; + + InstSettings() + { + note = 60; + noteLength = 3; + midiChan = 1; + density = 0; + x = 128; + y = 128; + } + }; + + struct SnapShotSettings + { + InstSettings instruments[4]; + uint8_t chaos = 0; + uint8_t accent = 128; + uint8_t resolution : 2; + uint8_t swing : 7; + + SnapShotSettings() + { + resolution = 1; + swing = 0; + } + }; + + constexpr uint8_t kStepsPerPattern = 32; + + struct ChannelPatternLEDs + { + uint8_t levels[kStepsPerPattern]; + }; + + class GridsChannel + { + public: + GridsChannel(); + + void setStep(uint8_t step); + uint8_t level(int selector, uint16_t x, uint16_t y); + static uint8_t U8Mix(uint8_t a, uint8_t b, uint8_t balance); + + private: + static uint8_t ReadDrumMap(uint8_t step, uint8_t instrument, uint8_t x, uint8_t y); + + int NumParts = 4; + uint8_t step_; + }; + + class GridsWrapper + { + public: + uint8_t chaos; + uint8_t accent; + + uint8_t grids_notes[4] = {36, 38, 42, 46}; + static const uint8_t num_notes = sizeof(grids_notes); + uint8_t playingPattern = 0; + + SnapShotSettings snapshots[8]; + + // GridPatterns gridSaves[8][4] = { + // {GridPatterns(), GridPatterns(), GridPatterns(), GridPatterns()}, + // {GridPatterns(), GridPatterns(), GridPatterns(), GridPatterns()}, + // {GridPatterns(), GridPatterns(), GridPatterns(), GridPatterns()}, + // {GridPatterns(), GridPatterns(), GridPatterns(), GridPatterns()}, + // {GridPatterns(), GridPatterns(), GridPatterns(), GridPatterns()}, + // {GridPatterns(), GridPatterns(), GridPatterns(), GridPatterns()}, + // {GridPatterns(), GridPatterns(), GridPatterns(), GridPatterns()}, + // {GridPatterns(), GridPatterns(), GridPatterns(), GridPatterns()}, + // }; + + // GridPatterns gridSaves[8][4] = { + // {{.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}}, + // {{.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}}, + // {{.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}}, + // {{.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}}, + // {{.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}}, + // {{.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}}, + // {{.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}}, + // {{.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}, {.density = 0, .x = 128, .y = 128}}}; + + GridsWrapper(); + + void start(); + void stop(); + void proceed(); + void gridsTick(); + + void clockTick(uint32_t stepmicros, uint32_t microsperstep); + + void setNoteOutputFunc(void (*fptr)(void *, uint8_t, MidiNoteGroup), void *context); + + void saveSnapShot(uint8_t snapShotIndex); + void loadSnapShot(uint8_t snapShotIndex); + SnapShotSettings *getSnapShot(uint8_t snapShotIndex); + void setSnapShot(uint8_t snapShotIndex, SnapShotSettings snapShot); + + void setNoteLength(uint8_t channel, uint8_t newNoteLength); + uint8_t getNoteLength(uint8_t channel); + + void setDensity(uint8_t channel, uint8_t density); + uint8_t getDensity(uint8_t channel); + + void setX(uint8_t channel, uint8_t x); + uint8_t getX(uint8_t channel); + + void setY(uint8_t channel, uint8_t y); + uint8_t getY(uint8_t channel); + + void setChaos(uint8_t c); + uint8_t getChaos(); + + void setResolution(uint8_t r); + + void setSwing(uint8_t newSwing); + uint8_t getSwing(); + + void setAccent(uint8_t a); + uint8_t getAccent(); + + static uint32_t randomValue(uint32_t init = 0); + + ChannelPatternLEDs getChannelLEDS(uint8_t channel); + + uint8_t getSeqPos(); + + bool getChannelTriggered(uint8_t chanIndex); + + void setMidiChan(uint8_t chanIndex, uint8_t channel); + uint8_t getMidiChan(uint8_t chanIndex); + + private: + GridsChannel channel_; + uint32_t divider_; + uint8_t multiplier_; + uint32_t tickCount_; + uint8_t density_[num_notes]; + uint8_t perturbations_[num_notes]; + uint8_t x_[num_notes]; + uint8_t y_[num_notes]; + uint8_t midiChannels_[num_notes]; + uint8_t noteLengths_[num_notes]; + uint32_t noteOffMicros_[num_notes]; + bool channelTriggered_[num_notes]; + uint8_t triggeredNotes_[num_notes]; // Keep track of triggered notes to avoid stuck notes + uint8_t resolution_; + uint8_t swing_ = 0; + bool running_; + float resMultiplier_ = 1; + + uint8_t defaultMidiChannel_ = 1; + + // Note On pointers + void *onNoteOnFuncPtrContext_; + void (*onNoteOnFuncPtr_)(void *, uint8_t, MidiNoteGroup); + void onNoteOn(uint8_t gridsChannel, uint8_t channel, uint8_t noteNumber, uint8_t velocity, float stepLength, bool sendMidi, bool sendCV, uint32_t noteOnMicros); + + // clock values + Micros nextStepTimeP_ = 32; + Micros lastStepTimeP_ = 32; + uint32_t stepMicroDelta_ = 0; + + // void advanceStep(uint32_t stepmicros); + }; + +} diff --git a/Archive/OMX-27-firmware/src/modes/sequencer.cpp b/Archive/OMX-27-firmware/src/modes/sequencer.cpp new file mode 100644 index 00000000..a2442386 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/sequencer.cpp @@ -0,0 +1,897 @@ +#include + +#include "sequencer.h" +#include "../config.h" +#include "../consts/consts.h" +#include "../consts/colors.h" +#include "../midi/midi.h" +#include "../midi/noteoffs.h" +#include "../hardware/omx_disp.h" +#include "../hardware/omx_leds.h" +#include "../utils/omx_util.h" +#include "../utils/cvNote_util.h" + +// globals in main ino +extern SequencerState sequencer; +// extern SysSettings sysSettings; + +// extern int midiChannel; +// extern int omxSeqselectedStep; + +// extern Adafruit_NeoPixel strip; + +// extern volatile unsigned long omxseqstep_micros; +// extern volatile unsigned long seqConfig.noteon_micros; +// extern volatile unsigned long noteoff_micros; +// extern volatile unsigned long ppqInterval; + +// extern int octave; // default C4 is 0 - range is -4 to +5 +// extern int midiKeyState[27]; +// extern bool dirtyPixels; +// extern bool dirtyDisplay; +// extern PendingNoteOffs pendingNoteOffs; // in noteoffs.h +// extern int potbank; +// extern int potValues[]; +// extern int prevPlock[]; +// extern int defaultVelocity; + +// funcs in main ino +// extern void show_current_step(int patternNum); + +// extern StepNote* getSelectedStep(); + +// globals from sequencer.h +uint8_t lastNote[NUM_SEQ_PATTERNS][NUM_STEPS] = { + {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}; + +StepNote copyPatternBuffer[NUM_STEPS] = { + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}, + {0, 0, 0, TRIGTYPE_MUTE, {-1, -1, -1, -1, -1}, 100, 0, STEPTYPE_NONE}}; + +int loopCount[NUM_SEQ_PATTERNS][NUM_STEPS] = { + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; + +const char *trigConditions[36] = { + "1:1", + "1:2", "2:2", + "1:3", "2:3", "3:3", + "1:4", "2:4", "3:4", "4:4", + "1:5", "2:5", "3:5", "4:5", "5:5", + "1:6", "2:6", "3:6", "4:6", "5:6", "6:6", + "1:7", "2:7", "3:7", "4:7", "5:7", "6:7", "7:7", + "1:8", "2:8", "3:8", "4:8", "5:8", "6:8", "7:8", "8:8"}; + +int trigConditionsAB[36][2] = { + {1, 1}, + {1, 2}, + {2, 2}, + {1, 3}, + {2, 3}, + {3, 3}, + {1, 4}, + {2, 4}, + {3, 4}, + {4, 4}, + {1, 5}, + {2, 5}, + {3, 5}, + {4, 5}, + {5, 5}, + {1, 6}, + {2, 6}, + {3, 6}, + {4, 6}, + {5, 6}, + {6, 6}, + {1, 7}, + {2, 7}, + {3, 7}, + {4, 7}, + {5, 7}, + {6, 7}, + {7, 7}, + {1, 8}, + {2, 8}, + {3, 8}, + {4, 8}, + {5, 8}, + {6, 8}, + {7, 8}, + {8, 8}}; + +const char *stepTypes[STEPTYPE_COUNT] = {"--", "1", ">>", "<<", "<>", "#?", "?"}; + +// definitions + +SequencerState defaultSequencer() +{ + auto nextStepTime = micros(); + auto lastStepTime = micros(); + + auto state = SequencerState{ + ticks : 0, + clockSource : 0, + playing : 0, + paused : 0, + stopped : 1, + songPosition : 0, + playingPattern : 0, + seqResetFlag : 1, + clockDivMult : 0, + stepCV : 0, + seq_velocity : 100, + seq_acc_velocity : 127, + lastSeqPos : {0, 0, 0, 0, 0, 0, 0, 0}, // ZERO BASED + seqPos : {0, 0, 0, 0, 0, 0, 0, 0}, // ZERO BASED + patternDefaultNoteMap : {36, 38, 37, 39, 42, 46, 49, 51}, // default to GM Drum Map for now + patternPage : {0, 0, 0, 0, 0, 0, 0, 0}, + patterns : { + {15, 0, 0, 0, 0, 0, 1, 2, 1, 0, false, false, false, false, false}, + {15, 1, 0, 0, 0, 0, 1, 2, 1, 0, false, false, false, false, false}, + {15, 2, 0, 0, 0, 0, 1, 2, 1, 0, false, false, false, false, false}, + {15, 3, 0, 0, 0, 0, 1, 2, 1, 0, false, false, false, false, false}, + {15, 4, 0, 0, 0, 0, 1, 2, 1, 0, false, false, false, false, false}, + {15, 5, 0, 0, 0, 0, 1, 2, 1, 0, false, false, false, false, false}, + {15, 6, 0, 0, 0, 0, 1, 2, 1, 0, false, false, false, false, false}, + {15, 7, 0, 0, 0, 0, 1, 2, 1, 0, false, false, false, false, false}}, + timePerPattern : { + {0, nextStepTime, lastStepTime, 0}, + {0, nextStepTime, lastStepTime, 0}, + {0, nextStepTime, lastStepTime, 0}, + {0, nextStepTime, lastStepTime, 0}, + {0, nextStepTime, lastStepTime, 0}, + {0, nextStepTime, lastStepTime, 0}, + {0, nextStepTime, lastStepTime, 0}, + {0, nextStepTime, lastStepTime, 0}}, + }; + + return state; +} + +int serializedPatternSize(bool eeprom) +{ + int total = sizeof(Pattern); + int singleStep = sizeof(StepNote); + int totalWithoutSteps = total - (singleStep * NUM_STEPS); + int numSteps = NUM_STEPS; + + // 1292 + // 1280 + // totalWithoutSteps = 12 + // EPROM Size = 320 + 12 = 332 + + // for EEPROM we only serialize 16 steps + if (eeprom) + { + numSteps = 16; + } + int stepSize = numSteps * singleStep; + + return totalWithoutSteps + stepSize; +} + +StepNote *getSelectedStep() +{ + return &sequencer.getCurrentPattern()->steps[seqConfig.selectedStep]; +} + +void step_ahead() +{ + // step ALL patterns ahead one place + for (int j = 0; j < 8; j++) + { + sequencer.lastSeqPos[j] = sequencer.seqPos[j]; + + sequencer.seqPos[j]++; + if (sequencer.seqPos[j] >= sequencer.getPatternLength(j)) + sequencer.seqPos[j] = 0; + + sequencer.patternPage[j] = getPatternPage(sequencer.seqPos[j]); + + // if (sequencer.getPattern(j)->reverse) { + // sequencer.seqPos[j]--; + //// auto_reset(j); // determine whether to reset or not based on param settings + // if (sequencer.seqPos[j] < 0) + // sequencer.seqPos[j] = sequencer.getPatternLength(j)-1; + // } else { + // sequencer.seqPos[j]++; + //// auto_reset(j); // determine whether to reset or not based on param settings + // if (sequencer.seqPos[j] >= sequencer.getPatternLength(j)) + // sequencer.seqPos[j] = 0; + // } + } +} +void step_back() +{ + // step each pattern ahead one place + for (int j = 0; j < 8; j++) + { + sequencer.lastSeqPos[j] = sequencer.seqPos[j]; + + sequencer.seqPos[j]--; + if (sequencer.seqPos[j] < 0) + sequencer.seqPos[j] = sequencer.getPatternLength(j) - 1; + + sequencer.patternPage[j] = getPatternPage(sequencer.seqPos[j]); + + // if (sequencer.getPattern(j)->reverse) { + // sequencer.seqPos[j]++; + // // auto_reset(j); // determine whether to reset or not based on param settings + // if (sequencer.seqPos[j] >= sequencer.getPatternLength(j)) + // sequencer.seqPos[j] = 0; + // } else { + // sequencer.seqPos[j]--; + // // auto_reset(j); + // if (sequencer.seqPos[j] < 0) + // sequencer.seqPos[j] = sequencer.getPatternLength(j) - 1; + // } + } +} + +void new_step_ahead(int patternNum) +{ + sequencer.lastSeqPos[patternNum] = sequencer.seqPos[patternNum]; + + // step ONE pattern ahead one place + if (sequencer.getPattern(patternNum)->reverse) + { + sequencer.seqPos[patternNum]--; + auto_reset(patternNum); // determine whether to reset or not based on param settings + } + else + { + sequencer.seqPos[patternNum]++; + auto_reset(patternNum); // determine whether to reset or not based on param settings + } +} + +void auto_reset(int p) +{ + auto pattern = sequencer.getPattern(p); + + // should be conditioned on whether we're in S2!! + if (sequencer.seqPos[p] >= sequencer.getPatternLength(p) || + (pattern->autoreset && (pattern->autoresetstep > (pattern->startstep)) && (sequencer.seqPos[p] >= pattern->autoresetstep)) || + (pattern->autoreset && (pattern->autoresetstep == 0) && (sequencer.seqPos[p] >= pattern->rndstep)) || + (pattern->reverse && (sequencer.seqPos[p] < 0)) || // normal reverse reset + (pattern->reverse && pattern->autoreset && (sequencer.seqPos[p] < pattern->startstep)) // || + //(settings->reverse && settings->autoreset && (settings->autoresetstep == 0 ) && (seqPos[p] < settings->rndstep)) + ) + { + + if (pattern->reverse) + { + if (pattern->autoreset) + { + if (pattern->autoresetstep == 0) + { + sequencer.seqPos[p] = pattern->rndstep - 1; + } + else + { + sequencer.seqPos[p] = pattern->autoresetstep - 1; // resets pattern in REV + } + } + else + { + sequencer.seqPos[p] = (sequencer.getPatternLength(p) - pattern->startstep) - 1; + } + } + else + { + sequencer.seqPos[p] = (pattern->startstep); // resets pattern in FWD + } + if (pattern->autoresetfreq == pattern->current_cycle) + { // reset cycle logic + if (probResult(pattern->autoresetprob)) + { + // chance of doing autoreset + pattern->autoreset = true; + } + else + { + pattern->autoreset = false; + } + pattern->current_cycle = 1; // reset cycle to start new iteration + } + else + { + pattern->autoreset = false; + pattern->current_cycle++; // advance to next cycle + } + pattern->rndstep = (rand() % sequencer.getPatternLength(p)) + 1; // randomly choose step for next cycle + } + sequencer.patternPage[p] = getPatternPage(sequencer.seqPos[p]); // FOLLOW MODE FOR SEQ PAGE + + // return () +} + +bool probResult(int probSetting) +{ + // int tempProb = (rand() % probSetting); + if (probSetting == 0) + { + return false; + } + if ((rand() % 100) < probSetting) + { // assumes probSetting is a range 0-100 + return true; + } + else + { + return false; + } +} + +bool evaluate_AB(int condition, int patternNum) +{ + bool shouldTrigger = false; + ; + + loopCount[patternNum][sequencer.seqPos[patternNum]]++; + + int a = trigConditionsAB[condition][0]; + int b = trigConditionsAB[condition][1]; + + // Serial.print (patternNum); + // Serial.print ("/"); + // Serial.print (seqPos[patternNum]); + // Serial.print (" "); + // Serial.print (loopCount[patternNum][seqPos[patternNum]]); + // Serial.print (" "); + // Serial.print (a); + // Serial.print (":"); + // Serial.print (b); + // Serial.print (" "); + + if (loopCount[patternNum][sequencer.seqPos[patternNum]] == a) + { + shouldTrigger = true; + } + else + { + shouldTrigger = false; + } + if (loopCount[patternNum][sequencer.seqPos[patternNum]] >= b) + { + loopCount[patternNum][sequencer.seqPos[patternNum]] = 0; + } + return shouldTrigger; +} + +void changeStepType(int amount) +{ + auto tempType = getSelectedStep()->stepType + amount; + + // this is fucking hacky to increment the enum for stepType + switch (tempType) + { + case 0: + getSelectedStep()->stepType = STEPTYPE_NONE; + break; + case 1: + getSelectedStep()->stepType = STEPTYPE_RESTART; + break; + case 2: + getSelectedStep()->stepType = STEPTYPE_FWD; + break; + case 3: + getSelectedStep()->stepType = STEPTYPE_REV; + break; + case 4: + getSelectedStep()->stepType = STEPTYPE_PONG; + break; + case 5: + getSelectedStep()->stepType = STEPTYPE_RANDSTEP; + break; + case 6: + getSelectedStep()->stepType = STEPTYPE_RAND; + break; + default: + break; + } +} + +void step_on(int patternNum) +{ + // Serial.print(patternNum); + // Serial.println(" step on"); + // playNote(playingPattern); +} + +void step_off(int patternNum, int position) +{ + lastNote[patternNum][position] = 0; + + // Serial.print(seqPos[patternNum]); + // Serial.println(" step off"); + // analogWrite(CVPITCH_PIN, 0); + // digitalWrite(CVGATE_PIN, LOW); +} + +void doStepS1() +{ + // // probability test + bool testProb = probResult(sequencer.getCurrentPattern()->steps[sequencer.seqPos[sequencer.playingPattern]].prob); + + if (sequencer.playing) + { + unsigned long playstepmicros = micros(); + + for (int j = 0; j < NUM_SEQ_PATTERNS; j++) + { // check all patterns for notes to play in time + // CLOCK PER PATTERN BASED APPROACH + auto pattern = sequencer.getPattern(j); + + // TODO: refactor timePerPattern stuff into sequencer.h + + if (playstepmicros >= sequencer.timePerPattern[j].nextStepTimeP) + { + + seqReset(); // check for seqReset + sequencer.timePerPattern[j].lastStepTimeP = sequencer.timePerPattern[j].nextStepTimeP; + sequencer.timePerPattern[j].nextStepTimeP += (clockConfig.step_micros) * (multValues[sequencer.getPattern(j)->clockDivMultP]); // calc step based on rate + + sequencer.timePerPattern[j].lastPosP = (sequencer.seqPos[j] + 15) % 16; + if (lastNote[j][sequencer.timePerPattern[j].lastPosP] > 0) + { + step_off(j, sequencer.timePerPattern[j].lastPosP); + } + if (testProb) + { + if (evaluate_AB(pattern->steps[sequencer.seqPos[j]].condition, j)) + { + if (j == sequencer.playingPattern) + { + playNote(j); + } + } + } + // No need to have this function call in here. + // Can put into omx_mode_sequencer and remove extern function + // if (j == sequencer.playingPattern) + // { // only show selected pattern + // show_current_step(sequencer.playingPattern); + // } + new_step_ahead(j); + } + } + } + // else + // { + // // show_current_step(sequencer.playingPattern); + // } +} + +void doStepS2() +{ + // // probability test + bool testProb = probResult(sequencer.getCurrentPattern()->steps[sequencer.seqPos[sequencer.playingPattern]].prob); + + if (sequencer.playing) + { + unsigned long playstepmicros = micros(); + + for (int j = 0; j < NUM_SEQ_PATTERNS; j++) + { // check all patterns for notes to play in time + // CLOCK PER PATTERN BASED APPROACH + auto pattern = sequencer.getPattern(j); + + // TODO: refactor timePerPattern stuff into sequencer.h + + if (playstepmicros >= sequencer.timePerPattern[j].nextStepTimeP) + { + + seqReset(); // check for seqReset + sequencer.timePerPattern[j].lastStepTimeP = sequencer.timePerPattern[j].nextStepTimeP; + sequencer.timePerPattern[j].nextStepTimeP += (clockConfig.step_micros) * (multValues[sequencer.getPattern(j)->clockDivMultP]); // calc step based on rate + + // only play if not muted + if (!sequencer.getPattern(j)->mute) + { + sequencer.timePerPattern[j].lastPosP = (sequencer.seqPos[j] + 15) % 16; + if (lastNote[j][sequencer.timePerPattern[j].lastPosP] > 0) + { + step_off(j, sequencer.timePerPattern[j].lastPosP); + } + if (testProb) + { + if (evaluate_AB(pattern->steps[sequencer.seqPos[j]].condition, j)) + { + playNote(j); + } + } + } + // show_current_step(playingPattern); + // if (j == sequencer.playingPattern) + // { // only show selected pattern + // show_current_step(sequencer.playingPattern); + // } + new_step_ahead(j); + } + } + } + // else + // { + // show_current_step(sequencer.playingPattern); + // } +} + +// TODO: move up to other sequencer stuff + +// #### SEQ Mode note on/off +void seqNoteOn(int notenum, int velocity, int patternNum) +{ + int adjnote = notes[notenum] + (midiSettings.octave * 12); // adjust key for octave range + if (adjnote >= 0 && adjnote < 128) + { + lastNote[patternNum][sequencer.seqPos[patternNum]] = adjnote; + MM::sendNoteOn(adjnote, velocity, sequencer.getPatternChannel(sequencer.playingPattern)); + + // keep track of adjusted note when pressed so that when key is released we send + // the correct note off message + midiSettings.midiKeyState[notenum] = adjnote; + + // CV + if (sequencer.getCurrentPattern()->sendCV) + { + cvNoteUtil.cvNoteOn(adjnote); + } + } + + strip.setPixelColor(notenum, MIDINOTEON); // Set pixel's color (in RAM) + omxDisp.setDirty(); + omxLeds.setDirty(); +} + +void seqNoteOff(int notenum, int patternNum) +{ + // we use the key state captured at the time we pressed the key to send the correct note off message + int adjnote = midiSettings.midiKeyState[notenum]; + if (adjnote >= 0 && adjnote < 128) + { + MM::sendNoteOff(adjnote, 0, sequencer.getPatternChannel(sequencer.playingPattern)); + // CV off + if (sequencer.getCurrentPattern()->sendCV) + { + cvNoteUtil.cvNoteOff(adjnote); + } + } + + strip.setPixelColor(notenum, LEDOFF); + omxDisp.setDirty(); + omxLeds.setDirty(); +} + +// Play a note / step (SEQUENCERS) +void playNote(int patternNum) +{ + // Serial.println(sequencer.stepNoteP[patternNum][seqPos[patternNum]].note); // Debug + auto pattern = sequencer.getPattern(patternNum); + auto steps = pattern->steps; + + bool sendnoteCV = false; + int rnd_swing; + if (sequencer.getPattern(patternNum)->sendCV) + { + sendnoteCV = true; + } + StepType playStepType = (StepType)pattern->steps[sequencer.seqPos[patternNum]].stepType; + + if (steps[sequencer.seqPos[patternNum]].stepType == STEPTYPE_RAND) + { + auto tempType = random(STEPTYPE_COUNT); + + // this is fucking hacky to increment the enum for stepType + switch (tempType) + { + case 0: + playStepType = STEPTYPE_NONE; + break; + case 1: + playStepType = STEPTYPE_RESTART; + break; + case 2: + playStepType = STEPTYPE_FWD; + break; + case 3: + playStepType = STEPTYPE_REV; + break; + case 4: + playStepType = STEPTYPE_PONG; + break; + case 5: + playStepType = STEPTYPE_RANDSTEP; + break; + } + // Serial.println(playStepType); + } + + switch (playStepType) + { + case STEPTYPE_COUNT: // fall through + case STEPTYPE_RAND: + break; + case STEPTYPE_NONE: + break; + case STEPTYPE_FWD: + pattern->reverse = 0; + break; + case STEPTYPE_REV: + pattern->reverse = 1; + break; + case STEPTYPE_PONG: + pattern->reverse = !pattern->reverse; + break; + case STEPTYPE_RANDSTEP: + sequencer.seqPos[patternNum] = (rand() % sequencer.getPatternLength(patternNum)) + 1; + break; + case STEPTYPE_RESTART: + sequencer.seqPos[patternNum] = 0; + break; + break; + } + + // regular note on trigger + + if (steps[sequencer.seqPos[patternNum]].trig == TRIGTYPE_PLAY) + { + sequencer.seq_velocity = steps[sequencer.seqPos[patternNum]].vel; + + uint8_t lenIndex = steps[sequencer.seqPos[patternNum]].len; + float noteLength = kNoteLengths[lenIndex]; + + // Delta = 12499.2 for 0.1 length at 120bpm + // Delta = 3571.2 for 0.1 length at 300bpm + // Delta = 8928 for 0.25 length at 300bpm + + seqConfig.noteoff_micros = micros() + (uint32_t)(noteLength * clockConfig.step_micros); + + if (sequencer.seqPos[patternNum] % 2 == 0) + { + + if (pattern->swing < 99) + { + seqConfig.noteon_micros = micros() + ((clockConfig.ppqInterval * multValues[pattern->clockDivMultP]) / (PPQ / 24) * pattern->swing); // full range swing + // Serial.println((clockConfig.ppqInterval * multValues[settings->clockDivMultP])/(PPQ / 24) * settings->swing); + // } else if ((settings->swing > 50) && (settings->swing < 99)){ + // noteon_micros = micros() + ((step_micros * multValues[settings->clockDivMultP]) * ((settings->swing - 50)* .01) ); // late swing + // Serial.println(((step_micros * multValues[settings->clockDivMultP]) * ((settings->swing - 50)* .01) )); + } + else if (pattern->swing == 99) + { // random drunken swing + rnd_swing = rand() % 95 + 1; // rand 1 - 95 // randomly apply swing value + seqConfig.noteon_micros = micros() + ((clockConfig.ppqInterval * multValues[pattern->clockDivMultP]) / (PPQ / 24) * rnd_swing); + } + } + else + { + seqConfig.noteon_micros = micros(); + } + + if (pendingNoteOffs.sendOffIfPresent(steps[sequencer.seqPos[patternNum]].note, sequencer.getPatternChannel(patternNum), sendnoteCV)) + { + // Delay slightly so noteoff and note on are not on top of each other + // seqConfig.noteon_micros += 1000; + // seqConfig.noteoff_micros += 1000; + } + + // Queue note-on + pendingNoteOns.insert(steps[sequencer.seqPos[patternNum]].note, sequencer.seq_velocity, sequencer.getPatternChannel(patternNum), seqConfig.noteon_micros, sendnoteCV); + + // Pending Note Offs needs to happen after note-on + pendingNoteOffs.insert(steps[sequencer.seqPos[patternNum]].note, sequencer.getPatternChannel(patternNum), seqConfig.noteoff_micros, sendnoteCV); + + // {notenum, vel, notelen, step_type, {p1,p2,p3,p4}, prob} + // send param locks + for (int q = 0; q < 4; q++) + { + int tempCC = steps[sequencer.seqPos[patternNum]].params[q]; + if (tempCC > -1) + { + MM::sendControlChange(pots[potSettings.potbank][q], tempCC, sequencer.getPatternChannel(patternNum)); + seqConfig.prevPlock[q] = tempCC; + } + else if (seqConfig.prevPlock[q] != potSettings.potValues[q]) + { + // if (tempCC != seqConfig.prevPlock[q]) { + MM::sendControlChange(pots[potSettings.potbank][q], potSettings.potValues[q], sequencer.getPatternChannel(patternNum)); + seqConfig.prevPlock[q] = potSettings.potValues[q]; + } + } + lastNote[patternNum][sequencer.seqPos[patternNum]] = steps[sequencer.seqPos[patternNum]].note; + + // CV is sent from pendingNoteOns/pendingNoteOffs + } +} + +void allNotesOff() +{ + pendingNoteOffs.allOff(); +} + +void allNotesOffPanic() +{ +#if T4 + dac.setVoltage(0, false); +#else + analogWrite(CVPITCH_PIN, 0); +#endif + digitalWrite(CVGATE_PIN, LOW); + for (int j = 0; j < 128; j++) + { + MM::sendNoteOff(j, 0, sysSettings.midiChannel); // NEEDS FIXING + } +} + +void transposeSeq(int patternNum, int amt) +{ + auto pattern = sequencer.getPattern(patternNum); + for (int k = 0; k < NUM_STEPS; k++) + { + pattern->steps[k].note += amt; + } +} + +void seqReset() +{ + if (sequencer.seqResetFlag) + { + for (int k = 0; k < NUM_SEQ_PATTERNS; k++) + { + for (int q = 0; q < NUM_STEPS; q++) + { + loopCount[k][q] = 0; + } + if (sequencer.getPattern(k)->reverse) + { // REVERSE + sequencer.seqPos[k] = sequencer.getPatternLength(k) - 1; + sequencer.lastSeqPos[k] = sequencer.seqPos[k]; + } + else + { + sequencer.seqPos[k] = 0; + sequencer.lastSeqPos[k] = sequencer.seqPos[k]; + } + } +// omxUtil.stopClocks(); +// omxUtil.startClocks(); + // MM::stopClock(); + // MM::startClock(); + sequencer.seqResetFlag = false; + } +} + +void seqStart() +{ + sequencer.playing = true; + + for (int x = 0; x < NUM_SEQ_PATTERNS; x++) + { + sequencer.timePerPattern[x].nextStepTimeP = micros(); + sequencer.timePerPattern[x].lastStepTimeP = micros(); + } + + if (!sequencer.seqResetFlag) + { + omxUtil.resumeClocks(); + // MM::continueClock(); +// } else if (sequencer.seqPos[sequencer.playingPattern]==0) { + } else { + omxUtil.startClocks(); +// MM::startClock(); + } +} + +void seqStop() +{ + sequencer.ticks = 0; + sequencer.playing = false; + omxUtil.stopClocks(); + // MM::stopClock(); + allNotesOff(); +} + +void seqContinue() +{ + sequencer.playing = true; + omxUtil.resumeClocks(); +} + +int getPatternPage(int position) +{ + return position / NUM_STEPKEYS; +} + +void rotatePattern(int patternNum, int rot) +{ + if (patternNum < 0 || patternNum >= NUM_SEQ_PATTERNS) + return; + + auto pattern = sequencer.getPattern(patternNum); + int size = sequencer.getPatternLength(patternNum); + StepNote arr[size]; + rot = (rot + size) % size; + + for (int d = rot, s = 0; s < size; d = (d + 1) % size, ++s) + arr[d] = pattern->steps[s]; + + for (int i = 0; i < size; ++i) + pattern->steps[i] = arr[i]; +} + +void resetPatternDefaults(int patternNum) +{ + auto pattern = sequencer.getPattern(patternNum); + + for (int i = 0; i < NUM_STEPS; i++) + { + // {notenum,vel,len,stepType,{p1,p2,p3,p4,p5}} + pattern->steps[i].note = sequencer.patternDefaultNoteMap[patternNum]; + pattern->steps[i].len = 3; + } +} + +void clearPattern(int patternNum) +{ + auto steps = sequencer.getPattern(patternNum)->steps; + + for (int i = 0; i < NUM_STEPS; i++) + { + // {notenum,vel,len,stepType,{p1,p2,p3,p4,p5}} + steps[i].note = sequencer.patternDefaultNoteMap[patternNum]; + steps[i].vel = midiSettings.defaultVelocity; + steps[i].len = 3; // Default 0.75 + steps[i].trig = TRIGTYPE_MUTE; + steps[i].stepType = STEPTYPE_NONE; + steps[i].params[0] = -1; + steps[i].params[1] = -1; + steps[i].params[2] = -1; + steps[i].params[3] = -1; + steps[i].params[4] = -1; + steps[i].prob = 100; + steps[i].condition = 0; + } +} + +void copyPattern(int patternNum) +{ + // for( int i = 0 ; i < NUM_STEPS ; ++i ){ + // copyPatternBuffer[i] = sequencer.stepNoteP[patternNum][i]; + // } + auto pattern = sequencer.getPattern(patternNum); + memcpy(©PatternBuffer, &pattern->steps, NUM_STEPS * sizeof(StepNote)); +} + +void pastePattern(int patternNum) +{ + // for( int i = 0 ; i < NUM_STEPS ; ++i ){ + // sequencer.stepNoteP[patternNum][i] = copyPatternBuffer[i] ; + // } + auto pattern = sequencer.getPattern(patternNum); + memcpy(&pattern->steps, ©PatternBuffer, NUM_STEPS * sizeof(StepNote)); +} + +// global sequencer shared state +SequencerState sequencer = defaultSequencer(); diff --git a/Archive/OMX-27-firmware/src/modes/sequencer.h b/Archive/OMX-27-firmware/src/modes/sequencer.h new file mode 100644 index 00000000..89352019 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/sequencer.h @@ -0,0 +1,190 @@ +#pragma once + +#include +#include "../config.h" + +#define NUM_SEQ_PATTERNS_EEPROM 6 +#define NUM_SEQ_PATTERNS 8 +#define NUM_STEPS 64 +#define NUM_STEPKEYS 16 + +const uint8_t defaultNoteLength = 3; // index from kNoteLengths[] = {0.10, 0.25, 0.5, 0.75, 1, 1.5, 2, 4, 8, 16}; +// see config.cpp + +struct TimePerPattern +{ + Micros lastProcessTimeP : 32; + Micros nextStepTimeP : 32; + Micros lastStepTimeP : 32; + int lastPosP : 16; +}; + +enum TrigType +{ + TRIGTYPE_MUTE = 0, + TRIGTYPE_PLAY +}; + +enum StepType +{ + STEPTYPE_NONE = 0, + STEPTYPE_RESTART, + STEPTYPE_FWD, + STEPTYPE_REV, + STEPTYPE_PONG, + STEPTYPE_RANDSTEP, + STEPTYPE_RAND, + + STEPTYPE_COUNT +}; + +extern const char *stepTypes[STEPTYPE_COUNT]; +// int stepTypeNumber[STEPTYPE_COUNT] = {STEPTYPE_NONE,STEPTYPE_RESTART,STEPTYPE_FWD,STEPTYPE_REV,STEPTYPE_RANDSTEP,STEPTYPE_RAND}; + +struct StepNote +{ // ?? bytes + uint8_t note : 7; // 0 - 127 + // uint8_t unused : 1; // not hooked up. example of how to sneak a bool into the first byte in the structure + uint8_t vel : 7; // 0 - 127 + uint8_t len : 4; // Plugs into kNoteLengths + TrigType trig : 1; // 0 - 1 + int8_t params[5]; // -128 -> 127 // 40 bits + uint8_t prob : 7; // 0 - 100 + uint8_t condition : 6; // 0 - 36 + StepType stepType : 3; // can be 2 bits as long as StepType has 4 values or fewer + + void CopyFrom(StepNote *other) + { + note = other->note; + vel = other->vel; + len = other->len; + trig = other->trig; + + for (uint8_t i = 0; i < 5; i++) + { + params[i] = other->params[i]; + } + prob = other->prob; + condition = other->condition; + stepType = other->stepType; + } +}; // {note, vel, len, TRIG_TYPE, {params0, params1, params2, params3}, prob, cond, STEP_TYPE} + +struct Pattern +{ // ?? bytes + uint8_t len : 6; // 0 - 63, maps to 1 - 64 + uint8_t channel : 4; // 0 - 15 , maps to channels 1 - 16 + uint8_t startstep : 6; // step to begin pattern. must be < patternlength-1 + uint8_t autoresetstep : 6; // step to reset on / 0 = off + uint8_t autoresetfreq : 6; // tracking reset iteration if enabled / ie Freq of autoreset. should be renamed + uint8_t current_cycle : 6; // tracking current cycle of autoreset counter / start it at 1 + uint8_t rndstep : 6; // for random autostep functionality + uint8_t clockDivMultP : 4; + uint8_t autoresetprob : 7; // probability of autoreset - 1 is always and totally random if autoreset is 0 + uint8_t swing : 7; + bool reverse : 1; + bool mute : 1; + bool autoreset : 1; // whether autoreset is enabled + bool solo : 1; + bool sendCV : 1; + + // this has to stay as the last property to ensure save/load works correctly + StepNote steps[NUM_STEPS]; // note data +}; // ? bytes + +// holds state for sequencer +class SequencerState +{ + +public: + int ticks; // A tick of the clock + bool clockSource; // Internal clock (0), external clock (1) + bool playing; // Are we playing? + bool paused; // Are we paused? + bool stopped; // Are we stopped? (Must init to 1) + byte songPosition; // A place to store the current MIDI song position + int playingPattern; // The currently playing pattern, 0-7 + bool seqResetFlag; // for autoreset functionality + int clockDivMult; // TODO: per pattern setting + word stepCV; + int seq_velocity; + int seq_acc_velocity; + + // TODO: move into Pattern? + int lastSeqPos[NUM_SEQ_PATTERNS]; // What position in the sequence are we in? ZERO BASED + int seqPos[NUM_SEQ_PATTERNS]; // What position in the sequence are we in? ZERO BASED + + int patternDefaultNoteMap[NUM_SEQ_PATTERNS]; // default to GM Drum Map for now + int patternPage[NUM_SEQ_PATTERNS]; + Pattern patterns[NUM_SEQ_PATTERNS]; + + // TODO: move into Pattern? + TimePerPattern timePerPattern[NUM_SEQ_PATTERNS]; + + Pattern *getPattern(int pattern) + { + return &this->patterns[pattern]; + } + + Pattern *getCurrentPattern() + { + return getPattern(this->playingPattern); + } + + // Helpers to deal with 1-16 values for pattern length and channel when they're stored as 0-15 + uint8_t getPatternLength(int pattern) + { + return this->patterns[pattern].len + 1; + } + + void setPatternLength(int pattern, int len) + { + this->patterns[pattern].len = len - 1; + } + + uint8_t getPatternChannel(int pattern) + { + return this->patterns[pattern].channel + 1; + } +}; + +extern uint8_t lastNote[NUM_SEQ_PATTERNS][NUM_STEPS]; +extern const char *trigConditions[36]; + +// forward declarations +SequencerState defaultSequencer(); +int serializedPatternSize(bool eeprom); + +StepNote *getSelectedStep(); +void doStepS1(); +void doStepS2(); + +void transposeSeq(int patternNum, int amt); +int getPatternPage(int position); +void rotatePattern(int patternNum, int rot); + +void step_ahead(); +void step_back(); +void auto_reset(int p); +bool probResult(int probSetting); + +void playNote(int patternNum); +void seqNoteOn(int notenum, int velocity, int patternNum); +void seqNoteOff(int notenum, int patternNum); +void allNotesOff(); +void allNotesOffPanic(); // TODO us this used? + +void seqStart(); +void seqStop(); +void seqContinue(); +void seqReset(); + +void changeStepType(int amount); +void resetPatternDefaults(int patternNum); + +void copyPattern(int patternNum); +void pastePattern(int patternNum); +void clearPattern(int patternNum); + +// global sequencer shared state +extern SequencerState sequencer; diff --git a/Archive/OMX-27-firmware/src/modes/submodes/submode_clearstorage.cpp b/Archive/OMX-27-firmware/src/modes/submodes/submode_clearstorage.cpp new file mode 100644 index 00000000..31ca805a --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/submodes/submode_clearstorage.cpp @@ -0,0 +1,205 @@ +#include "submode_clearstorage.h" +#include "../../hardware/omx_disp.h" +#include "../../hardware/omx_leds.h" +#include "../../consts/colors.h" + +const char *confirmLabel = "Erase Storage?"; +const char *erasedLabel = "Erased"; +const char *restartLabel = "Restart OMX"; +const char *confirmOptions[2] = {"NO", "YES"}; + +enum ClearStorageState +{ + CLRSTOR_CONFIRM, + CLRSTOR_RESTART +}; + +SubModeClearStorage::SubModeClearStorage() +{ + state = CLRSTOR_CONFIRM; + params_.addPage(2); +} + +void SubModeClearStorage::onEnabled() +{ + state = CLRSTOR_CONFIRM; + params_.setSelPageAndParam(0, 0); + encoderSelect_ = true; + omxLeds.setDirty(); + omxDisp.setDirty(); + + auxReleased_ = !midiSettings.keyState[0]; +} + +void SubModeClearStorage::onDisabled() +{ + strip.clear(); + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +// void SubModeClearStorage::configure(SubmodePresetMode mode, uint8_t selPreset, uint8_t numPresets, bool autoSave) +// { +// if(selPreset >= numPresets || numPresets >= 16) +// { +// // Too many presets, or selPreset out of range +// return; +// } + +// this->mode = mode; +// this->selPreset = selPreset; +// this->numPresets = numPresets; +// this->autoSave = autoSave; +// } + +// void SubModeClearStorage::setContextPtr(void *context) +// { +// fptrContext_ = context; +// } +// void SubModeClearStorage::setDoSaveFunc(void (*fptr)(void *, uint8_t)) +// { +// doSaveFptr_ = fptr; +// } +// void SubModeClearStorage::setDoLoadFunc(void (*fptr)(void *, uint8_t)) +// { +// doLoadFptr_ = fptr; +// } + +// void SubModeClearStorage::doSave(uint8_t presetIndex) +// { +// doSaveFptr_(fptrContext_, presetIndex); +// } + +// void SubModeClearStorage::doLoad(uint8_t presetIndex) +// { +// doLoadFptr_(fptrContext_, presetIndex); +// } + +void SubModeClearStorage::loopUpdate() +{ +} + +bool SubModeClearStorage::updateLEDs() +{ + strip.clear(); + + strip.setPixelColor(0, RED); + + if (state == CLRSTOR_CONFIRM) + { + bool blinkState = omxLeds.getBlinkState(); + + int8_t selParam = params_.getSelParam(); + + auto keyColor = blinkState ? (selParam == 0 ? RED : GREEN) : LEDOFF; + + for (uint8_t k = 1; k < 27; k++) + { + strip.setPixelColor(k, keyColor); + } + } + + return true; +} + +void SubModeClearStorage::onEncoderChanged(Encoder::Update enc) +{ + SubmodeInterface::onEncoderChanged(enc); +} + +void SubModeClearStorage::onEncoderChangedEditParam(Encoder::Update enc) +{ + omxDisp.setDirty(); + omxLeds.setDirty(); +} + +void SubModeClearStorage::onEncoderButtonDown() +{ + int8_t selParam = params_.getSelParam(); + + if (state == CLRSTOR_CONFIRM) + { + if (selParam == 0) // No + { + omxDisp.displayMessage(exitMsg); + setEnabled(false); + return; + } + else if (selParam == 1) // Yes + { + state = CLRSTOR_RESTART; + eraseStorage(); + omxDisp.displayMessage(erasedLabel); + return; + } + } + + omxDisp.setDirty(); + omxLeds.setDirty(); +} + +void SubModeClearStorage::setStoragePtr(Storage *storagePtr) +{ + this->storagePtr = storagePtr; +} + +void SubModeClearStorage::eraseStorage() +{ + if (storagePtr != nullptr) + { + storagePtr->write(EEPROM_HEADER_ADDRESS + 0, 0); // Saves EEPROM_VERSION as 0 so storage is cleared on restart. + } +} + +bool SubModeClearStorage::onKeyUpdate(OMXKeypadEvent e) +{ + int thisKey = e.key(); + + if (e.down()) + { + if (thisKey == 0) + { + // Aux key to cancel and go back + if (auxReleased_) + { + omxDisp.displayMessage(exitMsg); + setEnabled(false); + return true; + } + return true; + } + } + // Key Up + else + { + if (thisKey == 0) + { + // Used to prevent quickly exiting if entered through aux shortcut. + auxReleased_ = true; + } + } + + omxDisp.setDirty(); + omxLeds.setDirty(); + + return true; +} + +void SubModeClearStorage::onDisplayUpdate() +{ + if (omxDisp.isDirty()) + { + if (!encoderConfig.enc_edit) + { + if (state == CLRSTOR_CONFIRM) + { + int8_t selParam = params_.getSelParam(); + omxDisp.dispOptionCombo(confirmLabel, confirmOptions, 2, selParam, true); + } + else if (state == CLRSTOR_RESTART) + { + omxDisp.dispGenericModeLabel(restartLabel, 1, 0); + } + } + } +} diff --git a/Archive/OMX-27-firmware/src/modes/submodes/submode_clearstorage.h b/Archive/OMX-27-firmware/src/modes/submodes/submode_clearstorage.h new file mode 100644 index 00000000..104daddc --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/submodes/submode_clearstorage.h @@ -0,0 +1,39 @@ +#pragma once + +#include "submode_interface.h" +#include "../../hardware/storage.h" + +// Submode for saving and loading a drum kit +class SubModeClearStorage : public SubmodeInterface +{ +public: + // Constructor / deconstructor + SubModeClearStorage(); + ~SubModeClearStorage() {} + + void setStoragePtr(Storage *storagePtr); + + // Interface methods + void loopUpdate() override; + bool updateLEDs() override; + void onEncoderChanged(Encoder::Update enc) override; + void onEncoderButtonDown() override; + bool onKeyUpdate(OMXKeypadEvent e) override; + void onDisplayUpdate() override; + + bool shouldBlockEncEdit() override { return true; } + bool usesPots() override { return true; } +protected: + // Interface methods + void onEnabled() override; + void onDisabled() override; + void onEncoderChangedEditParam(Encoder::Update enc) override; + +private: + uint8_t state; + bool auxReleased_ = false; // set to aux state onEnable, must be true to exit mode with aux. + + Storage *storagePtr; + + void eraseStorage(); +}; diff --git a/Archive/OMX-27-firmware/src/modes/submodes/submode_interface.cpp b/Archive/OMX-27-firmware/src/modes/submodes/submode_interface.cpp new file mode 100644 index 00000000..fdc71a36 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/submodes/submode_interface.cpp @@ -0,0 +1,49 @@ +#include "submode_interface.h" +#include "../../hardware/omx_disp.h" + +void SubmodeInterface::setEnabled(bool newEnabled) +{ + enabled_ = newEnabled; + if (enabled_) + { + onEnabled(); + } + else + { + onDisabled(); + } +} +bool SubmodeInterface::isEnabled() +{ + return enabled_; +} + +bool SubmodeInterface::getEncoderSelect() +{ + return encoderSelect_; +} + +void SubmodeInterface::onEncoderChanged(Encoder::Update enc) +{ + if (getEncoderSelect()) + { + onEncoderChangedSelectParam(enc); + } + else + { + onEncoderChangedEditParam(enc); + } +} + +// Handles selecting params using encoder +void SubmodeInterface::onEncoderChangedSelectParam(Encoder::Update enc) +{ + params_.changeParam(enc.dir()); + omxDisp.setDirty(); +} + +void SubmodeInterface::onEncoderButtonDown() +{ + encoderSelect_ = !encoderSelect_; + omxDisp.setDirty(); +} diff --git a/Archive/OMX-27-firmware/src/modes/submodes/submode_interface.h b/Archive/OMX-27-firmware/src/modes/submodes/submode_interface.h new file mode 100644 index 00000000..2b452d62 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/submodes/submode_interface.h @@ -0,0 +1,46 @@ +#pragma once +#include "../../ClearUI/ClearUI_Input.h" +#include "../../hardware/omx_keypad.h" +#include "../../utils/param_manager.h" + +// defines interface for a submode, a mode within a mode +class SubmodeInterface +{ +public: + SubmodeInterface() {} + virtual ~SubmodeInterface() {} + + virtual void onModeChanged(){}; + + virtual void setEnabled(bool newEnabled); + virtual bool isEnabled(); + + virtual void onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) {} + virtual void onClockTick() {} + virtual void loopUpdate() {} + virtual bool updateLEDs() { return true; } + virtual void onEncoderChanged(Encoder::Update enc); + virtual void onEncoderButtonDown(); + + virtual bool shouldBlockEncEdit() { return false; } + + virtual bool onKeyUpdate(OMXKeypadEvent e) { return true; } + virtual bool onKeyHeldUpdate(OMXKeypadEvent e) { return true; } + + virtual void onDisplayUpdate() = 0; + + virtual bool usesPots() { return false; } // return true if submode uses pots + + virtual bool getEncoderSelect(); + +protected: + bool enabled_; + bool encoderSelect_; + ParamManager params_; + + virtual void onEnabled() {} // Called whenever entering mode + virtual void onDisabled() {} // Called whenever exiting mode + + virtual void onEncoderChangedSelectParam(Encoder::Update enc); + virtual void onEncoderChangedEditParam(Encoder::Update enc) = 0; +}; diff --git a/Archive/OMX-27-firmware/src/modes/submodes/submode_midifxgroup.cpp b/Archive/OMX-27-firmware/src/modes/submodes/submode_midifxgroup.cpp new file mode 100644 index 00000000..93e8187f --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/submodes/submode_midifxgroup.cpp @@ -0,0 +1,1629 @@ +#include "submode_midifxgroup.h" +#include "../../hardware/omx_disp.h" +#include "../../hardware/omx_leds.h" +#include "../../consts/colors.h" +#include "../../midifx/midifx_randomizer.h" +#include "../../midifx/midifx_chance.h" +#include "../../midifx/midifx_scaler.h" +#include "../../midifx/midifx_monophonic.h" +#include "../../midifx/midifx_harmonizer.h" +#include "../../midifx/midifx_transpose.h" +#include "../../midifx/midifx_chord.h" +#include "../../midifx/midifx_repeat.h" + +// #include "midifx_arpeggiator.h" + +using namespace midifx; + +SubModeMidiFxGroup subModeMidiFx[NUM_MIDIFX_GROUPS]; + +// const int kSelMFXColor = 0xFACAE2; +// const int kMFXColor = ROSE; +// const int kMFXEmptyColor = 0x600030; + +const int kSelMFXTypeColor = 0xE6FFCF; +const int kMFXTypeColor = DKGREEN; +// const int kMFXTypeEmptyColor = 0x400000; + +// None, Chance, Randomizer, Harmonizer = Heliotrope gray, Scaler = Spanish viridian, Monophonic = Maroon (Crayola), +// const int kMFXTypeColors[16] = {kMFXTypeEmptyColor, CYAN, RED, 0xAA98A9, 0x007F5C, 0xC32148, kMFXTypeEmptyColor, kMFXTypeEmptyColor, +// kMFXTypeEmptyColor, kMFXTypeEmptyColor, kMFXTypeEmptyColor, kMFXTypeEmptyColor, kMFXTypeEmptyColor, kMFXTypeEmptyColor, kMFXTypeEmptyColor, kMFXTypeEmptyColor}; + +enum MidiFxPage +{ + MFXPAGE_FX, + MFXPAGE_FX2, + MFXPAGE_EXIT +}; + +SubModeMidiFxGroup::SubModeMidiFxGroup() +{ + params_.addPage(4); // 4 Midi FX slots + params_.addPage(4); // 4 Midi FX slots + params_.addPage(1); // Exit submode + + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + midifx_.push_back(nullptr); + midifxTypes_[i] = 0; + } + + doNoteOutput_ = &SubModeMidiFxGroup::noteFuncForwarder; + doNoteOutputContext_ = this; + + for (uint8_t i = 0; i < 32; i++) + { + onNoteGroups[i].prevNoteNumber = 255; + } +} + +uint8_t SubModeMidiFxGroup::getArpIndex() +{ + if (selectedMidiFX_ < NUM_MIDIFX_SLOTS) + { + auto mfx = getMidiFX(selectedMidiFX_); + if(mfx != nullptr && mfx->getFXType() == MIDIFX_ARP) + { + return selectedMidiFX_; + } + } + + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + auto mfx = getMidiFX(i); + if (mfx != nullptr) + { + if (mfx->getFXType() == MIDIFX_ARP) + { + return i; + } + } + } + + return 255; +} + +midifx::MidiFXArpeggiator *SubModeMidiFxGroup::getArp(bool autoCreate) +{ + if (selectedMidiFX_ < NUM_MIDIFX_SLOTS) + { + auto mfx = getMidiFX(selectedMidiFX_); + if(mfx != nullptr && mfx->getFXType() == MIDIFX_ARP) + { + return static_cast(mfx); + } + } + + bool canAddArp = false; + uint8_t addArpIndex = 0; + + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + auto mfx = getMidiFX(i); + if (mfx != nullptr) + { + mfx->setSelected(selected_); + if (mfx->getFXType() == MIDIFX_ARP) + { + return static_cast(mfx); + } + } + else // empty slot + { + if (!canAddArp) + { + canAddArp = true; + addArpIndex = i; + } + } + } + + // If we are here, no arp was found + + if (autoCreate && canAddArp) + { + changeMidiFXType(addArpIndex, MIDIFX_ARP, true); + return getArp(false); + } + + return nullptr; +} + +void SubModeMidiFxGroup::toggleArp() +{ + auto arp = getArp(true); + if (arp != nullptr) + { + arp->toggleArp(); + } +} + +void SubModeMidiFxGroup::toggleArpHold() +{ + auto arp = getArp(true); + if (arp != nullptr) + { + arp->toggleHold(); + } +} + +bool SubModeMidiFxGroup::isArpOn() +{ + auto arp = getArp(false); + if (arp != nullptr) + { + return arp->isOn(); + } + return false; +} + +bool SubModeMidiFxGroup::isArpHoldOn() +{ + auto arp = getArp(false); + if (arp != nullptr) + { + return arp->isHoldOn(); + } + return false; +} + +void SubModeMidiFxGroup::nextArpPattern() +{ + auto arp = getArp(true); + + if (arp != nullptr) + { + arp->nextArpPattern(); + } +} + +void SubModeMidiFxGroup::nextArpOctRange() +{ + auto arp = getArp(true); + + if (arp != nullptr) + { + arp->nextOctRange(); + } +} + +void SubModeMidiFxGroup::gotoArpParams() +{ + midiFXParamView_ = true; + passthroughQuickEdit = true; + heldMidiFX_ = -1; + + getArp(true); // Create arp if empty + + uint8_t arpIndex = getArpIndex(); + + if (arpIndex < NUM_MIDIFX_SLOTS) + { + selectedMidiFX_ = arpIndex; + } + + omxDisp.displayMessage(mfxArpEditMsg); +} + +void SubModeMidiFxGroup::enablePassthrough() +{ + midiFXParamView_ = true; + passthroughQuickEdit = true; + heldMidiFX_ = -1; + + if (selectedMidiFX_ < NUM_MIDIFX_SLOTS) + { + auto mfx = getMidiFX(selectedMidiFX_); + if (mfx == nullptr) + { + selectNextMFXSlot(); + + if (getMidiFX(selectedMidiFX_) == nullptr) + { + omxDisp.displayMessage(mfxPassthroughEditMsg); + } + return; + } + else + { + omxDisp.displayMessage(mfx->getName()); + return; + } + } + + omxDisp.displayMessage(mfxPassthroughEditMsg); +} + +void SubModeMidiFxGroup::selectPrevMFXSlot(bool silent) +{ + for (uint8_t i = 1; i < NUM_MIDIFX_SLOTS; i++) + { + uint8_t mfxIndex = (selectedMidiFX_ + NUM_MIDIFX_SLOTS - i) % NUM_MIDIFX_SLOTS; + + if (mfxIndex != selectedMidiFX_) + { + auto mfx = getMidiFX(mfxIndex); + if (mfx != nullptr) + { + selectedMidiFX_ = mfxIndex; + if (!silent) + { + tempString = String(selectedMidiFX_ + 1) + " " + mfx->getDispName(); + omxDisp.displayMessage(tempString); + } + return; + } + } + } +} + +void SubModeMidiFxGroup::selectNextMFXSlot(bool silent) +{ + for (uint8_t i = 1; i < NUM_MIDIFX_SLOTS; i++) + { + uint8_t mfxIndex = (selectedMidiFX_ + i) % NUM_MIDIFX_SLOTS; + + if (mfxIndex != selectedMidiFX_) + { + auto mfx = getMidiFX(mfxIndex); + if (mfx != nullptr) + { + selectedMidiFX_ = mfxIndex; + if (!silent) + { + tempString = String(selectedMidiFX_ + 1) + " " + mfx->getDispName(); + omxDisp.displayMessage(tempString); + } + return; + } + } + } +} + +uint8_t SubModeMidiFxGroup::getArpOctaveRange() +{ + auto arp = getArp(false); + + if (arp != nullptr) + { + return arp->getOctaveRange() + 1; + } + + return 0; +} + +void SubModeMidiFxGroup::onModeChanged() +{ + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + auto mfx = getMidiFX(i); + if (mfx != nullptr) + { + mfx->onModeChanged(); + } + } +} + +void SubModeMidiFxGroup::setSelected(bool newSelected) +{ + selected_ = newSelected; + + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + auto mfx = getMidiFX(i); + if (mfx != nullptr) + { + mfx->setSelected(newSelected); + } + } +} + +void SubModeMidiFxGroup::setAuxDown(bool auxDown) +{ + auxDown_ = auxDown; + + for (uint8_t i = 0; i < midifx_.size(); i++) + { + if (midifx_[i] != nullptr) + { + midifx_[i]->setAuxDown(auxDown_); + } + } +} + +void SubModeMidiFxGroup::onEnabled() +{ + // params_.setSelPageAndParam(0, 0); + midiFXParamView_ = true; + passthroughQuickEdit = false; + + // Goto first available midifx if selected one is empty. + auto mfx = getMidiFX(selectedMidiFX_); + if (mfx == nullptr) + { + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + auto mfx = getMidiFX(i); + if (mfx != nullptr) + { + selectedMidiFX_ = i; + break; + } + } + } + + heldMidiFX_ = -1; + + encoderSelect_ = true; + omxLeds.setDirty(); + omxDisp.setDirty(); + + auxReleased_ = !midiSettings.keyState[0]; + setAuxDown(false); + + // for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + // { + // auto mfx = getMidiFX(i); + // if (mfx != nullptr) + // { + // mfx->setEnabled(true); + // } + // } +} + +void SubModeMidiFxGroup::onDisabled() +{ + strip.clear(); + omxLeds.setDirty(); + omxDisp.setDirty(); + + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + auto mfx = getMidiFX(i); + if (mfx != nullptr) + { + mfx->setEnabled(false); + } + } +} + +void SubModeMidiFxGroup::updateFuncKeyMode() +{ + auto keyState = midiSettings.keyState; + + uint8_t prevMode = funcKeyMode_; + + funcKeyMode_ = FUNCKEYMODE_NONE; + + if(passthroughQuickEdit) + { + if (funcKeyMode_ != prevMode) + { + omxDisp.setDirty(); + } + return; + } + + if (keyState[1] && !keyState[2]) + { + funcKeyMode_ = FUNCKEYMODE_F1; + } + else if (!keyState[1] && keyState[2]) + { + funcKeyMode_ = FUNCKEYMODE_F2; + } + else if (keyState[1] && keyState[2]) + { + funcKeyMode_ = FUNCKEYMODE_F3; + } + else + { + funcKeyMode_ = FUNCKEYMODE_NONE; + } + + if (funcKeyMode_ != prevMode) + { + omxDisp.setDirty(); + omxLeds.setDirty(); + } +} + +void SubModeMidiFxGroup::resync() +{ + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + auto mfx = getMidiFX(i); + if (mfx != nullptr) + { + mfx->resync(); + } + } +} + +void SubModeMidiFxGroup::onClockTick() +{ + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + auto mfx = getMidiFX(i); + if (mfx != nullptr) + { + mfx->onClockTick(); + } + } +} + +void SubModeMidiFxGroup::loopUpdate() +{ + if (enabled_) + { + updateFuncKeyMode(); + } + + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + auto mfx = getMidiFX(i); + if (mfx != nullptr) + { + mfx->loopUpdate(); + } + } + + // Animation + if (heldMidiFX_ >= 0 && heldAnimPos_ < 100) + { + if ((micros() - prevAnimTime_) > (1000 * 10)) + { + heldAnimPos_ += 1; + prevAnimTime_ = micros(); + omxDisp.setDirty(); + } + } +} + +bool SubModeMidiFxGroup::updateLEDs() +{ + strip.clear(); + + bool blinkState = omxLeds.getBlinkState(); + bool blinkStateSlow = omxLeds.getSlowBlinkState(); + + // Serial.println("MidiFX Leds"); + auto auxColor = midiFXParamView_ ? (blinkStateSlow ? ORANGE : LEDOFF) : RED; + strip.setPixelColor(0, auxColor); + + if (passthroughQuickEdit) + return false; + + // for(uint8_t i = 1; i < 26; i++) + // { + // strip.setPixelColor(i, LEDOFF); + // } + + if (midiFXParamView_) + { + auto mfx = getMidiFX(selectedMidiFX_); + if (mfx != nullptr && mfx->usesKeys()) + { + mfx->updateLEDs(funcKeyMode_); + return true; + } + } + + // Function Keys + if (funcKeyMode_ == FUNCKEYMODE_F3) + { + auto f3Color = blinkState ? LEDOFF : FUNKTHREE; + strip.setPixelColor(1, f3Color); + strip.setPixelColor(2, f3Color); + } + else + { + auto f1Color = (funcKeyMode_ == FUNCKEYMODE_F1 && blinkState) ? LEDOFF : FUNKONE; + strip.setPixelColor(1, f1Color); + + auto f2Color = (funcKeyMode_ == FUNCKEYMODE_F2 && blinkState) ? LEDOFF : FUNKTWO; + strip.setPixelColor(2, f2Color); + } + + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + // auto fxColor = midiFXParamView_ ? (i == selectedMidiFX_ ? WHITE : ORANGE) : BLUE; + + auto fxColor = getMidiFX(i) == nullptr ? colorConfig.midiFXEmptyColor : getMidiFX(i)->getColor(); + + if (i == selectedMidiFX_) + { + fxColor = blinkState ? fxColor : LEDOFF; + } + + // auto fxColor = (i == selectedMidiFX_ ? kSelMFXColor : (getMidiFX(i) == nullptr ? kMFXEmptyColor : kMFXColor)); + + strip.setPixelColor(3 + i, fxColor); + } + + // Change midifx while holding down midifx slot + if (heldMidiFX_ >= 0 && midiFXParamView_ && !passthroughQuickEdit) + { + uint8_t selFXType = 0; + + if (getMidiFX(selectedMidiFX_) != nullptr) + { + // Serial.println("Selected MidiFX not null"); + selFXType = getMidiFX(selectedMidiFX_)->getFXType(); + } + + for (uint8_t i = 0; i < 16; i++) + { + if (i == selFXType) + { + strip.setPixelColor(11 + i, blinkState ? colorConfig.getMidiFXColor(i) : LEDOFF); + } + else + { + strip.setPixelColor(11 + i, colorConfig.getMidiFXColor(i)); + } + } + } + + return true; +} + +void SubModeMidiFxGroup::moveSelectedMidiFX(int8_t direction) +{ + if (direction == 0) + return; + + uint8_t newIndex = (selectedMidiFX_ + direction + NUM_MIDIFX_SLOTS) % NUM_MIDIFX_SLOTS; + + auto selMFX = getMidiFX(selectedMidiFX_); + + tempMidiFX_.clear(); + + for (uint8_t i = 0; i < midifx_.size(); i++) + { + if (i != selectedMidiFX_) + { + tempMidiFX_.push_back(midifx_[i]); + } + } + + tempMidiFX_.insert(tempMidiFX_.begin() + newIndex, selMFX); + + midifx_.clear(); + + for (uint8_t i = 0; i < tempMidiFX_.size(); i++) + { + midifx_.push_back(tempMidiFX_[i]); + } + + tempMidiFX_.clear(); + + if (midifx_.size() != NUM_MIDIFX_SLOTS) + { + Serial.println("ERROR: MidiFX size changed"); + } + + selectedMidiFX_ = newIndex; + reconnectInputsOutputs(); +} + +void SubModeMidiFxGroup::onEncoderChanged(Encoder::Update enc) +{ + if (midiFXParamView_) + { + if (heldMidiFX_ >= 0) + { + auto amt = constrain(enc.accel(1), -1, 1); + + moveSelectedMidiFX(amt); + omxDisp.setDirty(); + omxLeds.setDirty(); + return; + } + + if (getMidiFX(selectedMidiFX_) != nullptr) + { + getMidiFX(selectedMidiFX_)->onEncoderChanged(enc); + } + } + else + { + SubmodeInterface::onEncoderChanged(enc); + } +} + +void SubModeMidiFxGroup::onEncoderChangedEditParam(Encoder::Update enc) +{ + omxDisp.setDirty(); + omxLeds.setDirty(); +} + +void SubModeMidiFxGroup::onEncoderButtonDown() +{ + if (midiFXParamView_) + { + if (getMidiFX(selectedMidiFX_) != nullptr) + { + getMidiFX(selectedMidiFX_)->onEncoderButtonDown(); + } + } + else + { + if (params_.getSelPage() == MFXPAGE_FX) + { + selectMidiFX(params_.getSelParam()); + } + else if (params_.getSelPage() == MFXPAGE_FX2) + { + selectMidiFX(params_.getSelParam() + 4); + } + else if (params_.getSelPage() == MFXPAGE_EXIT && params_.getSelParam() == 0) + { + setEnabled(false); + } + else + { + SubmodeInterface::onEncoderButtonDown(); + } + } + omxDisp.setDirty(); + omxLeds.setDirty(); +} + +bool SubModeMidiFxGroup::onKeyUpdate(OMXKeypadEvent e) +{ + if (e.held()) + { + // if(passthroughQuickEdit) return false; // Don't consume key update + return true; + } + + int thisKey = e.key(); + + // Aux logic + if (thisKey == 0) + { + omxDisp.setDirty(); + omxLeds.setDirty(); + + if (!auxReleased_) + { + if (!e.down()) + { + // Used to prevent quickly exiting if entered through aux shortcut. + auxReleased_ = true; + } + } + else + { + if (e.down()) + { + setAuxDown(true); + } + else + { + setAuxDown(false); + } + + // exit + // if(!e.down() && e.clicks() == 2) + if (e.quickClicked()) + { + passthroughQuickEdit = false; + midiFXParamView_ = false; + setEnabled(false); + omxDisp.displayMessage(exitMsg); + return true; + } + } + + if (passthroughQuickEdit) + return false; // Don't consume key update + return true; // Consume key + } + + // auto keyState = midiSettings.keyState; + + bool mfxKeysActive = false; + + auto mfx = getMidiFX(selectedMidiFX_); + if (midiFXParamView_ && mfx != nullptr && mfx->usesKeys()) + { + mfxKeysActive = true; + } + + if (e.down()) + { + // if (thisKey == 0) + // { + // if(passthroughQuickEdit) + // { + // passthroughQuickEdit = false; + // midiFXParamView_ = false; + // setEnabled(false); + // return true; + // } + // // // Exit MidiFX view + // // if (midiFXParamView_) + // // { + // // midiFXParamView_ = false; + // // encoderSelect_ = true; + // // } + // // // Exit submode + // // else + + // if (auxReleased_) + // { + // setEnabled(false); + // return true; + // } + // } + + if (passthroughQuickEdit) + { + return false; + } + + if (mfxKeysActive == false) + { + // Quick Select FX Slot + if (thisKey >= 3 && thisKey < 3 + NUM_MIDIFX_SLOTS) + { + if (funcKeyMode_ == FUNCKEYMODE_NONE) + { + heldMidiFX_ = thisKey - 3; + heldAnimPos_ = 0; + prevAnimTime_ = micros(); + selectMidiFX(thisKey - 3); + } + else if (funcKeyMode_ == FUNCKEYMODE_F1) + { + // Copy + copyMidiFX(thisKey - 3); + omxDisp.displayMessage("Copy"); + } + else if (funcKeyMode_ == FUNCKEYMODE_F2) + { + // Paste + pasteMidiFX(thisKey - 3); + omxDisp.displayMessage("Paste"); + } + else if (funcKeyMode_ == FUNCKEYMODE_F3) + { + // Cut + cutMidiFX(thisKey - 3); + omxDisp.displayMessage("Cut"); + } + } + + // Change FX type + if (heldMidiFX_ >= 0 && midiFXParamView_ && !passthroughQuickEdit) + { + if (thisKey >= 11 && thisKey < 11 + 16) + { + changeMidiFXType(selectedMidiFX_, thisKey - 11); + // selectMidiFX(thisKey - 19); + } + } + + if (funcKeyMode_ == FUNCKEYMODE_NONE) + { + } + } + } + + // if(!e.down() && thisKey == 0) + // { + // // Used to prevent quickly exiting if entered through aux shortcut. + // auxReleased_ = true; + // } + + // release held midiFX whenever a midifx key is released. + if (!e.down() && thisKey >= 3 && thisKey < 3 + NUM_MIDIFX_SLOTS) + { + heldMidiFX_ = -1; + } + + if (passthroughQuickEdit) + { + return false; + } + + if (mfxKeysActive) + { + mfx->onKeyUpdate(e, funcKeyMode_); + } + + omxDisp.setDirty(); + omxLeds.setDirty(); + + return true; +} + +void SubModeMidiFxGroup::selectMidiFX(uint8_t fxIndex) +{ + uint8_t prevSelMFX = selectedMidiFX_; + midiFXParamView_ = true; + selectedMidiFX_ = fxIndex; + + if (selectedMidiFX_ != prevSelMFX) + { + auto prevMFX = getMidiFX(prevSelMFX); + auto newMFX = getMidiFX(selectedMidiFX_); + + if (prevMFX != nullptr) + { + prevMFX->setEnabled(false); + } + + if (newMFX != nullptr) + { + newMFX->setEnabled(true); + } + + passthroughQuickEdit = false; + } + + // displayMidiFXName(fxIndex); +} + +void SubModeMidiFxGroup::copyMidiFX(uint8_t fxIndex) +{ + if (copyBuffer != nullptr) + { + delete copyBuffer; + copyBuffer = nullptr; + } + auto mfx = getMidiFX(fxIndex); + if (mfx != nullptr) + { + copyBuffer = mfx->getClone(); + } +} +void SubModeMidiFxGroup::cutMidiFX(uint8_t fxIndex) +{ + copyMidiFX(fxIndex); + + if (getMidiFX(fxIndex) != nullptr) + { + midifx::MidiFXInterface *midifxptr = midifx_[fxIndex]; + + midifx_[fxIndex] = nullptr; + + delete midifxptr; + } + + midifxTypes_[fxIndex] = MIDIFX_NONE; + reconnectInputsOutputs(); +} +void SubModeMidiFxGroup::pasteMidiFX(uint8_t fxIndex) +{ + if (getMidiFX(fxIndex) != nullptr) + { + midifx::MidiFXInterface *midifxptr = midifx_[fxIndex]; + + midifx_[fxIndex] = nullptr; + + delete midifxptr; + } + + if (copyBuffer != nullptr) + { + setMidiFX(fxIndex, copyBuffer->getClone()); + } + + if (getMidiFX(fxIndex) != nullptr) + { + midifxTypes_[fxIndex] = getMidiFX(fxIndex)->getFXType(); + } + else + { + midifxTypes_[fxIndex] = MIDIFX_NONE; + } + + reconnectInputsOutputs(); +} + +void SubModeMidiFxGroup::displayMidiFXName(uint8_t index) +{ + auto mfx = getMidiFX(index); + + if (mfx != nullptr) + { + omxDisp.displayMessage(mfx->getName()); + } + else + { + omxDisp.displayMessage("None"); + } +} + +const char *SubModeMidiFxGroup::getMFXDispName(uint8_t index) +{ + auto mfx = getMidiFX(index); + + if (mfx != nullptr) + { + return mfx->getDispName(); + } + return "-"; +} + +bool SubModeMidiFxGroup::getEncoderSelect() +{ + return encoderSelect_ && !auxDown_; +} + +midifx::MidiFXInterface *SubModeMidiFxGroup::getMidiFX(uint8_t index) +{ + return midifx_[index]; +} + +void SubModeMidiFxGroup::setMidiFX(uint8_t index, midifx::MidiFXInterface *midifx) +{ + midifx_[index] = midifx; +} + +void SubModeMidiFxGroup::changeMidiFXType(uint8_t slotIndex, uint8_t typeIndex, bool fromLoad) +{ + // Serial.println(String("changeMidiFXType slotIndex: ") + String(slotIndex) + " typeIndex: " + String(typeIndex)); + if (!fromLoad) + { + if (!midiFXParamView_) + return; + } + + if (typeIndex == midifxTypes_[slotIndex]) + return; + + if (getMidiFX(slotIndex) != nullptr) + { + // Serial.println("Deleting FX"); + + midifx::MidiFXInterface *midifxptr = midifx_[slotIndex]; + + midifx_[slotIndex] = nullptr; + + delete midifxptr; + } + + switch (typeIndex) + { + case MIDIFX_CHANCE: + { + setMidiFX(slotIndex, new MidiFXChance()); + } + break; + case MIDIFX_TRANSPOSE: + { + setMidiFX(slotIndex, new MidiFXTranspose()); + } + break; + case MIDIFX_RANDOMIZER: + { + setMidiFX(slotIndex, new MidiFXRandomizer()); + } + break; + case MIDIFX_SELECTOR: + { + auto selector = new MidiFXSelector(); + selector->setNoteInputFunc(slotIndex, &SubModeMidiFxGroup::midiFxSelNoteInputForwarder, this); + setMidiFX(slotIndex, selector); + } + break; + case MIDIFX_HARMONIZER: + { + setMidiFX(slotIndex, new MidiFXHarmonizer()); + } + break; + case MIDIFX_SCALER: + { + setMidiFX(slotIndex, new MidiFXScaler()); + } + break; + case MIDIFX_MONOPHONIC: + { + setMidiFX(slotIndex, new MidiFXMonophonic()); + } + break; + case MIDIFX_CHORD: + { + setMidiFX(slotIndex, new MidiFXChord()); + } + break; + case MIDIFX_REPEAT: + { + setMidiFX(slotIndex, new MidiFXRepeat()); + } + break; + case MIDIFX_ARP: + { + setMidiFX(slotIndex, new MidiFXArpeggiator()); + } + break; + default: + break; + } + + auto mfx = getMidiFX(slotIndex); + if (mfx != nullptr) + { + mfx->setSelected(selected_); + } + + if (!fromLoad) + { + displayMidiFXName(slotIndex); + } + + midifxTypes_[slotIndex] = typeIndex; + + reconnectInputsOutputs(); +} + +void SubModeMidiFxGroup::midiFxSelNoteInput(midifx::MidiFXSelector *mfxSelector, uint8_t midiFXIndex, MidiNoteGroup note) +{ + // Reconnect the outputs if the length changed. + // Otherwise unexpected things might happen. + if(mfxSelector->didLengthChange()) + { + reconnectInputsOutputs(); + } + + // Serial.println("midiFxSelNoteInput"); + + // Note offs should go through every FX in chain + // if (note.noteOff) + // { + // // Serial.println("Note off, reconnecting"); + + // reconnectInputsOutputs(); + // mfxSelector->handleNoteOff(note); + // return; + // } + + uint8_t finalIndex = mfxSelector->getFinalMidiFXIndex(midiFXIndex); + // Serial.println(String("finalIndex = ") + String(finalIndex)); + + midifx::MidiFXInterface *finalMFX = nullptr; + bool finalOutputToGroup = true; + + // Search for the next MFX for final mfx + for(uint8_t i = finalIndex; i < NUM_MIDIFX_SLOTS; i++) + { + finalMFX = getMidiFX(i); + if(finalMFX != nullptr) + { + // Serial.println(String("Final output: ") + String(i)); + + finalOutputToGroup = false; + break; + } + } + + uint8_t length = mfxSelector->getLength(); + + // 0 length edge case + if(length == 0) + { + if(finalOutputToGroup) + { + noteOutputFunc(note); + } + else + { + finalMFX->noteInput(note); + } + return; + } + + // For a note off, send it to all the midifx in the length + // however, map those outputs to the final midifx or the group output + if (note.noteOff) + { + + // len = 2, mfxIndex = 1, check 2, 3, final = 4 + + // midifx::MidiFXInterface *firstMidiFX; + + bool validMfxFound = false; + + for(uint8_t i = midiFXIndex + 1; i < midiFXIndex + length + 1; i++) + { + auto mfx = getMidiFX(i); + + if(mfx != nullptr) + { + validMfxFound = true; + + if (finalOutputToGroup) + { + mfx->setNoteOutput(&SubModeMidiFxGroup::noteFuncForwarder, this); + mfx->noteInput(note); + } + else + { + mfx->setNoteOutput(&MidiFXInterface::onNoteInputForwarder, finalMFX); + mfx->noteInput(note); + } + } + } + + if(!validMfxFound) + { + if (finalOutputToGroup) + { + noteOutputFunc(note); + return; + } + else + { + finalMFX->noteInput(note); + return; + } + } + return; + } + + // if (finalOutputToGroup) + // { + // Serial.println("Final output is group"); + // } + + // Skip due to chance, note should go to next mfx + selector length, or master output + if(mfxSelector->chanceShouldSkip()) + { + // Serial.println("Should Skip"); + + if(finalOutputToGroup) + { + noteOutputFunc(note); + return; + } + else + { + finalMFX->noteInput(note); + return; + } + } + + uint8_t selIndex = mfxSelector->getSelectedMidiFXIndex(midiFXIndex); + // Serial.println(String("selIndex = ") + String(selIndex)); + + // goto final or group + if(selIndex == 0) + { + if(finalOutputToGroup) + { + noteOutputFunc(note); + return; + } + else + { + finalMFX->noteInput(note); + return; + } + } + + // Selected index out of range + if(selIndex >= NUM_MIDIFX_SLOTS) + { + // Serial.println("Sel index oor"); + noteOutputFunc(note); + return; + } + + auto selMidiFX = getMidiFX(selIndex); + + // Selected MFX is empty, jump to final or group output + if(selMidiFX == nullptr) + { + // Serial.println("Sel mfx empty"); + if(finalOutputToGroup) + { + noteOutputFunc(note); + return; + } + else + { + finalMFX->noteInput(note); + return; + } + } + + // Selected MFX is valid, remap this FX to go to final or group output + // Then send the note to it + if(selMidiFX != nullptr) + { + // Serial.println("Valid sel MFX"); + + if(finalOutputToGroup) + { + // Serial.println("Note to group"); + selMidiFX->setNoteOutput(&SubModeMidiFxGroup::noteFuncForwarder, this); + } + else + { + // Serial.println("Note to final"); + selMidiFX->setNoteOutput(&MidiFXInterface::onNoteInputForwarder, finalMFX); + } + + selMidiFX->noteInput(note); + } +} + +// Where the magic happens +void SubModeMidiFxGroup::reconnectInputsOutputs() +{ + // Serial.println("SubModeMidiFxGroup::reconnectInputsOutputs"); + bool validMidiFXFound = false; + midifx::MidiFXInterface *lastValidMidiFX = nullptr; + + for (int8_t i = NUM_MIDIFX_SLOTS - 1; i >= 0; --i) + { + // Serial.println("i = " + String(i)); + + midifx::MidiFXInterface *fx = getMidiFX(i); + + if (fx == nullptr) + { + // Serial.println("midifx is null"); + + continue; + } + + fx->setSlotIndex(i); + + // Last valid MidiFX, connect it's output to the main midifxgroup output + if (!validMidiFXFound) + { + // Serial.println("connecting midifx to main output"); + + fx->setNoteOutput(&SubModeMidiFxGroup::noteFuncForwarder, this); + lastValidMidiFX = fx; + validMidiFXFound = true; + } + // connect the output of this midiFX to the input of the next one + else + { + // if(lastValidMidiFX->getFXType() == MIDIFX_SELECTOR) + // { + + // } + // else + // { + // // if(lastValidMidiFX == nullptr) + // // { + // // Serial.println("lastValidMidiFX is null"); + // // } + + // // Serial.println("connecting midifx to previous midifx"); + + // fx->setNoteOutput(&MidiFXInterface::onNoteInputForwarder, lastValidMidiFX); + // } + + fx->setNoteOutput(&MidiFXInterface::onNoteInputForwarder, lastValidMidiFX); + lastValidMidiFX = fx; + } + } + + // Connect doNoteOutput_ to the lastValidMidiFX + if (validMidiFXFound) + { + // Serial.println("connecting group to lastValidMidiFX"); + + doNoteOutput_ = &MidiFXInterface::onNoteInputForwarder; + doNoteOutputContext_ = lastValidMidiFX; + } + // No valid midifx, connect groups input to it's output + else + { + // Serial.println("connecting group to self output"); + + doNoteOutput_ = &SubModeMidiFxGroup::noteFuncForwarder; + doNoteOutputContext_ = this; + } +} + +void SubModeMidiFxGroup::noteInput(MidiNoteGroup note) +{ + note.prevNoteNumber = note.noteNumber; // Cache the initial note number + + if (doNoteOutputContext_ == nullptr) + { + // bypass effects, sends out + noteOutputFunc(note); + return; + } + + // Sends to connected function ptr + doNoteOutput_(doNoteOutputContext_, note); +} + +// Sets function pointer to send notes out of FX Group +void SubModeMidiFxGroup::setNoteOutputFunc(void (*fptr)(void *, MidiNoteGroup), void *context) +{ + sendNoteOutFuncPtr_ = fptr; + sendNoteOutFuncPtrContext_ = context; +} + +void SubModeMidiFxGroup::onPendingNoteOff(int note, int channel) +{ + // Serial.println("SubModeMidiFxGroup::onPendingNoteOff " + String(note) + " " + String(channel)); + + // find and remove notes matching description + for (uint8_t i = 0; i < 32; i++) + { + if (onNoteGroups[i].prevNoteNumber != 255) + { + if (onNoteGroups[i].channel == channel && onNoteGroups[i].noteNumber == note) + { + // Serial.println("found note, marking empty"); + + onNoteGroups[i].prevNoteNumber = 255; // mark empty + } + } + } +} + +// Notes come here after passing through midifx +void SubModeMidiFxGroup::noteOutputFunc(MidiNoteGroup note) +{ + if (note.noteOff) + { + // Serial.println("Note off"); + // See if note was previously effected + // Adjust note number if it was and remove from vector + for (uint8_t i = 0; i < 32; i++) + { + if (onNoteGroups[i].prevNoteNumber != 255) + { + if (onNoteGroups[i].channel == note.channel && onNoteGroups[i].prevNoteNumber == note.prevNoteNumber) + { + // Serial.println("Note Found: " + String(note.prevNoteNumber)); + + // Send note off with adjusted note number + + if (sendNoteOutFuncPtrContext_ != nullptr) + { + note.noteNumber = onNoteGroups[i].noteNumber; + // MidiNoteGroup noteOff = onNoteGroups[i]; + // noteOff.noteOff = true; + // noteOff.velocity = 0; + // Serial.println("Note off sent: " + String(note.noteNumber)); + + sendNoteOutFuncPtr_(sendNoteOutFuncPtrContext_, note); + } + onNoteGroups[i].prevNoteNumber = 255; // mark empty + } + } + } + } + else if (!note.noteOff) + { + // Serial.println("Note on"); + + // Keep track of note, up to 32 notes tracked at once + for (uint8_t i = 0; i < 32; i++) + { + if (onNoteGroups[i].prevNoteNumber == 255) + { + // Serial.println("Found empty slot: " + String(note.prevNoteNumber)); + + // onNoteGroups[i] = note; + onNoteGroups[i].channel = note.channel; + onNoteGroups[i].prevNoteNumber = note.prevNoteNumber; + onNoteGroups[i].noteNumber = note.noteNumber; + + // Send the note out of FX group + if (sendNoteOutFuncPtrContext_ != nullptr) + { + // Serial.println("Note on sent: " + String(note.noteNumber)); + sendNoteOutFuncPtr_(sendNoteOutFuncPtrContext_, note); + } + + return; + } + } + } +} + +void SubModeMidiFxGroup::setupPageLegends() +{ + omxDisp.clearLegends(); + + // omxDisp.dispPage = page + 1; + + int8_t page = params_.getSelPage(); + + switch (page) + { + case MFXPAGE_FX: + { + omxDisp.legends[0] = "FX 1"; + omxDisp.legends[1] = "FX 2"; + omxDisp.legends[2] = "FX 3"; + omxDisp.legends[3] = "FX 4"; + omxDisp.legendVals[0] = -127; + omxDisp.legendVals[1] = -127; + omxDisp.legendVals[2] = -127; + omxDisp.legendVals[3] = -127; + omxDisp.legendText[0] = getMFXDispName(0); + omxDisp.legendText[1] = getMFXDispName(1); + omxDisp.legendText[2] = getMFXDispName(2); + omxDisp.legendText[3] = getMFXDispName(3); + } + break; + case MFXPAGE_FX2: + { + omxDisp.legends[0] = "FX 5"; + omxDisp.legends[1] = "FX 6"; + omxDisp.legends[2] = "FX 7"; + omxDisp.legends[3] = "FX 8"; + omxDisp.legendVals[0] = -127; + omxDisp.legendVals[1] = -127; + omxDisp.legendVals[2] = -127; + omxDisp.legendVals[3] = -127; + omxDisp.legendText[0] = getMFXDispName(4); + omxDisp.legendText[1] = getMFXDispName(5); + omxDisp.legendText[2] = getMFXDispName(6); + omxDisp.legendText[3] = getMFXDispName(7); + } + break; + case MFXPAGE_EXIT: + { + omxDisp.legends[0] = "Exit"; + omxDisp.legends[1] = ""; + omxDisp.legends[2] = ""; + omxDisp.legends[3] = ""; + omxDisp.legendVals[0] = -127; + omxDisp.legendVals[1] = -127; + omxDisp.legendVals[2] = -127; + omxDisp.legendVals[3] = -127; + omxDisp.legendText[0] = "Exit"; + omxDisp.legendText[1] = ""; + omxDisp.legendText[2] = ""; + omxDisp.legendText[3] = ""; + } + break; + default: + break; + } +} + +void SubModeMidiFxGroup::onDisplayUpdateMidiFX() +{ + if (heldMidiFX_ >= 0) + { + const char *slotNames[NUM_MIDIFX_SLOTS]; + + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + auto mfx = getMidiFX(i); + if (mfx == nullptr) + { + slotNames[i] = "-"; + } + else + { + slotNames[i] = mfx->getDispName(); + } + } + + omxDisp.dispSlots(slotNames, NUM_MIDIFX_SLOTS, selectedMidiFX_, heldAnimPos_, getEncoderSelect(), false, nullptr, 0); + return; + } + + MidiFXInterface *selFX = getMidiFX(selectedMidiFX_); + + bool mfxKeysActive = midiFXParamView_ && selFX != nullptr && selFX->usesKeys(); + + if (!mfxKeysActive && funcKeyMode_ == FUNCKEYMODE_F1) + { + omxDisp.dispGenericModeLabel("Copy", params_.getNumPages(), params_.getSelPage()); + } + else if (!mfxKeysActive && funcKeyMode_ == FUNCKEYMODE_F2) + { + omxDisp.dispGenericModeLabel("Paste", params_.getNumPages(), params_.getSelPage()); + } + else if (!mfxKeysActive && funcKeyMode_ == FUNCKEYMODE_F3) + { + omxDisp.dispGenericModeLabel("Cut", params_.getNumPages(), params_.getSelPage()); + } + else + { + if (selFX == nullptr) + { + omxDisp.displayMessage("No FX"); + } + else + { + selFX->onDisplayUpdate(funcKeyMode_); + } + } +} + +void SubModeMidiFxGroup::onDisplayUpdate() +{ + // omxLeds.updateBlinkStates(); + + // if (omxLeds.isDirty()) + // { + // updateLEDs(); + // } + + if (omxDisp.isDirty()) + { + if (!encoderConfig.enc_edit) + { + + if (midiFXParamView_) + { + onDisplayUpdateMidiFX(); + } + else + { + setupPageLegends(); + omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), getEncoderSelect()); + } + } + } +} + +int SubModeMidiFxGroup::saveToDisk(int startingAddress, Storage *storage) +{ + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + MidiFXInterface *mFX = getMidiFX(i); + + if (mFX == nullptr) + { + // Serial.println("NoMFX"); + storage->write(startingAddress, MIDIFX_NONE); + startingAddress++; + } + else + { + int mfxType = mFX->getFXType(); + // Serial.println((String)"MFX: " + mfxType); + storage->write(startingAddress, mfxType); + startingAddress++; + + startingAddress = mFX->saveToDisk(startingAddress, storage); + } + + // Serial.println((String)"startingAddress: " + startingAddress); + } + + return startingAddress; +} + +int SubModeMidiFxGroup::loadFromDisk(int startingAddress, Storage *storage) +{ + for (uint8_t i = 0; i < NUM_MIDIFX_SLOTS; i++) + { + int mfxType = storage->read(startingAddress); + startingAddress++; + + if(mfxType >= 0 && mfxType) + + // Serial.println((String)"MFX: " + mfxType); + + changeMidiFXType(i, mfxType, true); + + MidiFXInterface *mFX = getMidiFX(i); + + if (mFX != nullptr) + { + startingAddress = mFX->loadFromDisk(startingAddress, storage); + } + else + { + // Serial.println("mfx is null"); + } + + // Serial.println((String)"startingAddress: " + startingAddress); + } + + return startingAddress; +} diff --git a/Archive/OMX-27-firmware/src/modes/submodes/submode_midifxgroup.h b/Archive/OMX-27-firmware/src/modes/submodes/submode_midifxgroup.h new file mode 100644 index 00000000..43be816a --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/submodes/submode_midifxgroup.h @@ -0,0 +1,156 @@ +#pragma once + +#include "submode_interface.h" +#include "../../midifx/midifx_interface.h" +#include "../../hardware/storage.h" +#include "../../midifx/midifx_arpeggiator.h" +#include "../../midifx/midifx_selector.h" + +#define NUM_MIDIFX_GROUPS 5 +#define NUM_MIDIFX_SLOTS 8 + +// Holds a group of 4 midi fx slots. +class SubModeMidiFxGroup : public SubmodeInterface +{ +public: + // Constructor / deconstructor + SubModeMidiFxGroup(); + ~SubModeMidiFxGroup() {} + + // Interface methods + void onModeChanged() override; + void onClockTick() override; + void loopUpdate() override; + void resync(); + bool updateLEDs() override; + void onEncoderChanged(Encoder::Update enc); + void onEncoderButtonDown() override; + bool onKeyUpdate(OMXKeypadEvent e) override; + void onDisplayUpdate() override; + bool getEncoderSelect() override; + + void setSelected(bool newSelected); + + void noteInput(MidiNoteGroup note); + void setNoteOutputFunc(void (*fptr)(void *, MidiNoteGroup), void *context); + + void onPendingNoteOff(int note, int channel); + + int saveToDisk(int startingAddress, Storage *storage); + int loadFromDisk(int startingAddress, Storage *storage); + + void toggleArp(); + void toggleArpHold(); + bool isArpOn(); + bool isArpHoldOn(); + void nextArpPattern(); + void nextArpOctRange(); + void gotoArpParams(); + void enablePassthrough(); + void selectPrevMFXSlot(bool silent = false); + void selectNextMFXSlot(bool silent = false); + + + uint8_t getArpOctaveRange(); + + midifx::MidiFXArpeggiator *getArp(bool autoCreate); + +protected: + // Interface methods + void onEnabled() override; + void onDisabled() override; + void onEncoderChangedEditParam(Encoder::Update enc) override; + +private: + bool selected_ = false; + bool midiFXParamView_ = false; // If true, parameters adjust the selected midiFX slot. + bool passthroughQuickEdit = false; // If true, parameters adjust the selected midiFX slot. + + uint8_t selectedMidiFX_ = 0; // Index of selected midiFX slot + + int8_t heldMidiFX_ = -1; + uint8_t heldAnimPos_ = 0; + Micros prevAnimTime_; + + uint8_t funcKeyMode_ = 0; + + bool auxDown_ = false; // set to aux state onEnable, must be true to exit mode with aux. + + bool auxReleased_ = false; // set to aux state onEnable, must be true to exit mode with aux. + + // typedef midifx::MidiFXInterface* MidiFXptr; + + std::vector midifx_; + + std::vector tempMidiFX_; + + // midifx::MidiFXInterface* midiFX1_ = nullptr; + // midifx::MidiFXInterface* midiFX2_ = nullptr; + // midifx::MidiFXInterface* midiFX3_ = nullptr; + // midifx::MidiFXInterface* midiFX4_ = nullptr; + + // MidiFXptr* midifx_[4] = {nullptr, nullptr, nullptr, nullptr}; + + uint8_t midifxTypes_[NUM_MIDIFX_SLOTS]; + + MidiNoteGroup onNoteGroups[32]; + + midifx::MidiFXInterface *getMidiFX(uint8_t index); + + void setMidiFX(uint8_t index, midifx::MidiFXInterface *midifx); + uint8_t getArpIndex(); + void setupPageLegends(); + void setAuxDown(bool auxDown); + + void updateFuncKeyMode(); + + void onDisplayUpdateMidiFX(); + + void displayMidiFXName(uint8_t index); + + const char *getMFXDispName(uint8_t index); + + void selectMidiFX(uint8_t fxIndex); + void changeMidiFXType(uint8_t slotIndex, uint8_t typeIndex, bool fromLoad = false); + + void copyMidiFX(uint8_t fxIndex); + void cutMidiFX(uint8_t fxIndex); + void pasteMidiFX(uint8_t fxIndex); + + void moveSelectedMidiFX(int8_t direction); + + midifx::MidiFXInterface *copyBuffer; + + // Static glue to link a pointer to a member function + static void noteFuncForwarder(void *context, MidiNoteGroup note) + { + static_cast(context)->noteOutputFunc(note); + } + + // sends the final notes out of midifx + void noteOutputFunc(MidiNoteGroup note); + + // Pointer to external function that notes are sent out of fxgroup to + void *sendNoteOutFuncPtrContext_; + void (*sendNoteOutFuncPtr_)(void *, MidiNoteGroup); + + // internal function link, will point to noteInput of first FX, or to noteOutputFunc if no FX + void *doNoteOutputContext_; + void (*doNoteOutput_)(void *, MidiNoteGroup); + // // Static glue to link a pointer to a member function + // static void doNoteOutputForwarder(void *context, MidiNoteGroup note) + // { + // static_cast(context)->noteOutputFunc(note); + // } + + static void midiFxSelNoteInputForwarder(void *context, midifx::MidiFXSelector *mfxSelector, uint8_t midiFXIndex, MidiNoteGroup note) + { + static_cast(context)->midiFxSelNoteInput(mfxSelector, midiFXIndex, note); + } + + void midiFxSelNoteInput(midifx::MidiFXSelector *mfxSelector, uint8_t midiFXIndex, MidiNoteGroup note); + void reconnectInputsOutputs(); +}; + +// static const u_int8_t kNumMidiFXGroups = 5; +extern SubModeMidiFxGroup subModeMidiFx[NUM_MIDIFX_GROUPS]; diff --git a/Archive/OMX-27-firmware/src/modes/submodes/submode_potconfig.cpp b/Archive/OMX-27-firmware/src/modes/submodes/submode_potconfig.cpp new file mode 100644 index 00000000..c70931bf --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/submodes/submode_potconfig.cpp @@ -0,0 +1,264 @@ +#include "submode_potconfig.h" +#include "../../hardware/omx_disp.h" +#include "../../hardware/omx_leds.h" +#include "../../consts/colors.h" + +enum PotConfigPage +{ + POTPAGE_1, + POTPAGE_2, + POTPAGE_EXIT +}; + +SubModePotConfig::SubModePotConfig() +{ + params_.addPage(4); + params_.addPage(4); + params_.addPage(1); // Exit submode +} + +void SubModePotConfig::onEnabled() +{ + params_.setSelPageAndParam(0, 0); + encoderSelect_ = true; + omxLeds.setDirty(); + omxDisp.setDirty(); + + auxReleased_ = !midiSettings.keyState[0]; +} + +void SubModePotConfig::onDisabled() +{ + strip.clear(); + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +void SubModePotConfig::loopUpdate() +{ +} + +bool SubModePotConfig::updateLEDs() +{ + strip.clear(); + + // bool blinkState = omxLeds.getBlinkState(); + // bool blinkStateSlow = omxLeds.getSlowBlinkState(); + + // Serial.println("MidiFX Leds"); + // auto auxColor = midiFXParamView_ ? (blinkStateSlow ? ORANGE : LEDOFF) : RED; + strip.setPixelColor(0, RED); + + // for(uint8_t i = 1; i < 26; i++) + // { + // strip.setPixelColor(i, LEDOFF); + // } + + for (uint8_t i = 0; i < 5; i++) + { + auto bankColor = i == potSettings.potbank ? LTYELLOW : DKGREEN; + strip.setPixelColor(11 + i, bankColor); + } + + // if (midiFXParamView_) + // { + // uint8_t selFXType = 0; + + // if(getMidiFX(selectedMidiFX_) != nullptr) + // { + // // Serial.println("Selected MidiFX not null"); + // selFXType = getMidiFX(selectedMidiFX_)->getFXType(); + // } + + // for (uint8_t i = 0; i < 8; i++) + // { + // auto fxColor = (i == selFXType ? GREEN : DKGREEN); + + // strip.setPixelColor(19 + i, fxColor); + // } + // } + + return true; +} + +void SubModePotConfig::onEncoderChanged(Encoder::Update enc) +{ + SubmodeInterface::onEncoderChanged(enc); + + // if (midiFXParamView_) + // { + // if (getMidiFX(selectedMidiFX_) != nullptr) + // { + // getMidiFX(selectedMidiFX_)->onEncoderChanged(enc); + // } + // } + // else + // { + // SubmodeInterface::onEncoderChanged(enc); + // } +} + +void SubModePotConfig::onEncoderChangedEditParam(Encoder::Update enc) +{ + auto amt = enc.accel(2); // where 5 is the acceleration factor if you want it, 0 if you don't) + + int8_t selPage = params_.getSelPage(); // Add one for readability + int8_t selParam = params_.getSelParam() + 1; + + // PAGE ONE + if (selPage == POTPAGE_1) + { + int ccIndex = params_.getSelParam(); + + pots[potSettings.potbank][ccIndex] = constrain(pots[potSettings.potbank][ccIndex] + amt, 0, 127); + } + else if (selPage == POTPAGE_2) + { + if (selParam == 1) + { + pots[potSettings.potbank][4] = constrain(pots[potSettings.potbank][4] + amt, 0, 127); + } + else if (selParam == 4) + { + potSettings.potbank = constrain(potSettings.potbank + amt, 0, NUM_CC_BANKS - 1); + } + } + + omxDisp.setDirty(); + omxLeds.setDirty(); +} + +void SubModePotConfig::onEncoderButtonDown() +{ + if (params_.getSelPage() == POTPAGE_EXIT && params_.getSelParam() == 0) + { + setEnabled(false); + } + else + { + SubmodeInterface::onEncoderButtonDown(); + } + + omxDisp.setDirty(); + omxLeds.setDirty(); +} + +bool SubModePotConfig::onKeyUpdate(OMXKeypadEvent e) +{ + int thisKey = e.key(); + // auto keyState = midiSettings.keyState; + + if (e.down()) + { + if (thisKey == 0) + { + if (auxReleased_) + { + setEnabled(false); + } + } + + // Quick Select FX Slot + if (thisKey >= 11 && thisKey <= 15) + { + potSettings.potbank = thisKey - 11; + } + + // // Change FX type + // if (midiFXParamView_) + // { + // if (thisKey >= 19 && thisKey < 19 + 8) + // { + // changeMidiFXType(selectedMidiFX_, thisKey - 19); + // // selectMidiFX(thisKey - 19); + // } + // } + } + + if (!e.down() && thisKey == 0) + { + // Used to prevent quickly exiting if entered through aux shortcut. + auxReleased_ = true; + } + + omxDisp.setDirty(); + omxLeds.setDirty(); + + return true; +} + +void SubModePotConfig::setupPageLegends() +{ + omxDisp.clearLegends(); + + // omxDisp.dispPage = page + 1; + + int8_t page = params_.getSelPage(); + + switch (page) + { + case POTPAGE_1: + { + omxDisp.legends[0] = "CC 1"; + omxDisp.legends[1] = "CC 2"; + omxDisp.legends[2] = "CC 3"; + omxDisp.legends[3] = "CC 4"; + omxDisp.legendVals[0] = pots[potSettings.potbank][0]; + omxDisp.legendVals[1] = pots[potSettings.potbank][1]; + omxDisp.legendVals[2] = pots[potSettings.potbank][2]; + omxDisp.legendVals[3] = pots[potSettings.potbank][3]; + } + break; + case POTPAGE_2: + { + omxDisp.legends[0] = "CC 5"; + omxDisp.legends[1] = ""; + omxDisp.legends[2] = ""; + omxDisp.legends[3] = "PBNK"; + omxDisp.legendVals[0] = pots[potSettings.potbank][4]; + omxDisp.legendVals[1] = -127; + omxDisp.legendVals[2] = -127; + omxDisp.legendVals[3] = (potSettings.potbank + 1); + omxDisp.legendText[1] = ""; + omxDisp.legendText[2] = ""; + } + break; + case POTPAGE_EXIT: + { + omxDisp.legends[0] = "Exit"; + omxDisp.legends[1] = ""; + omxDisp.legends[2] = ""; + omxDisp.legends[3] = ""; + omxDisp.legendVals[0] = -127; + omxDisp.legendVals[1] = -127; + omxDisp.legendVals[2] = -127; + omxDisp.legendVals[3] = -127; + omxDisp.legendText[0] = "Exit"; + omxDisp.legendText[1] = ""; + omxDisp.legendText[2] = ""; + omxDisp.legendText[3] = ""; + } + break; + default: + break; + } +} + +void SubModePotConfig::onDisplayUpdate() +{ + // omxLeds.updateBlinkStates(); + + // if (omxLeds.isDirty()) + // { + // updateLEDs(); + // } + + if (omxDisp.isDirty()) + { + if (!encoderConfig.enc_edit) + { + setupPageLegends(); + omxDisp.dispGenericMode2(params_.getNumPages(), params_.getSelPage(), params_.getSelParam(), encoderSelect_); + } + } +} diff --git a/Archive/OMX-27-firmware/src/modes/submodes/submode_potconfig.h b/Archive/OMX-27-firmware/src/modes/submodes/submode_potconfig.h new file mode 100644 index 00000000..73333721 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/submodes/submode_potconfig.h @@ -0,0 +1,32 @@ +#pragma once + +#include "submode_interface.h" + +// Holds a group of 4 midi fx slots. +class SubModePotConfig : public SubmodeInterface +{ +public: + // Constructor / deconstructor + SubModePotConfig(); + ~SubModePotConfig() {} + + // Interface methods + void loopUpdate() override; + bool updateLEDs() override; + void onEncoderChanged(Encoder::Update enc); + void onEncoderButtonDown() override; + bool onKeyUpdate(OMXKeypadEvent e) override; + void onDisplayUpdate() override; + +protected: + // Interface methods + void onEnabled() override; + void onDisabled() override; + void onEncoderChangedEditParam(Encoder::Update enc) override; + +private: + bool auxReleased_ = false; // set to aux state onEnable, must be true to exit mode with aux. + // int bankIndex = 0; + + void setupPageLegends(); +}; diff --git a/Archive/OMX-27-firmware/src/modes/submodes/submode_preset.cpp b/Archive/OMX-27-firmware/src/modes/submodes/submode_preset.cpp new file mode 100644 index 00000000..80d35d71 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/submodes/submode_preset.cpp @@ -0,0 +1,192 @@ +#include "submode_preset.h" +#include "../../hardware/omx_disp.h" +#include "../../hardware/omx_leds.h" +#include "../../consts/colors.h" + +const char *saveLabel = "Save to"; +const char *loadLabel = "Load from"; + +enum PotConfigPage +{ + POTPAGE_1, + POTPAGE_2, + POTPAGE_EXIT +}; + +SubModePreset::SubModePreset() +{ + params_.addPage(4); + params_.addPage(4); + params_.addPage(1); // Exit submode +} + +void SubModePreset::onEnabled() +{ + params_.setSelPageAndParam(0, 0); + encoderSelect_ = true; + omxLeds.setDirty(); + omxDisp.setDirty(); + + auxReleased_ = !midiSettings.keyState[0]; +} + +void SubModePreset::onDisabled() +{ + strip.clear(); + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +void SubModePreset::configure(SubmodePresetMode mode, uint8_t selPreset, uint8_t numPresets, bool autoSave) +{ + if(selPreset >= numPresets || numPresets >= 16) + { + // Too many presets, or selPreset out of range + return; + } + + this->mode = mode; + this->selPreset = selPreset; + this->numPresets = numPresets; + this->autoSave = autoSave; +} + +void SubModePreset::setContextPtr(void *context) +{ + fptrContext_ = context; +} +void SubModePreset::setDoSaveFunc(void (*fptr)(void *, uint8_t)) +{ + doSaveFptr_ = fptr; +} +void SubModePreset::setDoLoadFunc(void (*fptr)(void *, uint8_t)) +{ + doLoadFptr_ = fptr; +} + +void SubModePreset::doSave(uint8_t presetIndex) +{ + doSaveFptr_(fptrContext_, presetIndex); +} + +void SubModePreset::doLoad(uint8_t presetIndex) +{ + doLoadFptr_(fptrContext_, presetIndex); +} + +void SubModePreset::loopUpdate() +{ +} + +bool SubModePreset::updateLEDs() +{ + strip.clear(); + + // bool blink = omxLeds.getBlinkState(); + bool slowBlink = omxLeds.getSlowBlinkState(); + + // strip.setPixelColor(0, blink ? LTPURPLE : RED); + + strip.setPixelColor(0, RED); + + + int keyColor = mode == PRESETMODE_LOAD ? BLUE : ORANGE; + int highlightColor = mode == PRESETMODE_LOAD ? LTCYAN : LTYELLOW; + + for(uint8_t i = 11; i < 11 + numPresets; i++) + { + uint8_t presetIndex = i - 11; + + int color = (slowBlink && presetIndex == selPreset) ? highlightColor : keyColor; + + strip.setPixelColor(i, color); + } + + return true; +} + +void SubModePreset::onEncoderChanged(Encoder::Update enc) +{ + SubmodeInterface::onEncoderChanged(enc); +} + +void SubModePreset::onEncoderChangedEditParam(Encoder::Update enc) +{ + omxDisp.setDirty(); + omxLeds.setDirty(); +} + +void SubModePreset::onEncoderButtonDown() +{ + omxDisp.setDirty(); + omxLeds.setDirty(); +} + +bool SubModePreset::onKeyUpdate(OMXKeypadEvent e) +{ + int thisKey = e.key(); + + if (e.down()) + { + if (thisKey == 0) + { + // Aux key to cancel and go back + if (auxReleased_) + { + omxDisp.displayMessage(exitMsg); + setEnabled(false); + return true; + } + return true; + } + + if (thisKey >= 11 && thisKey < 11 + numPresets) + { + uint8_t newPresetIndex = thisKey - 11; + + if (mode == PRESETMODE_LOAD) + { + // Auto save current selected drum kit if loading a new one + if(newPresetIndex != selPreset && autoSave) + { + doSave(selPreset); + } + doLoad(newPresetIndex); + omxDisp.displayMessage("Loaded " + String(newPresetIndex + 1)); + } + else if (mode == PRESETMODE_SAVE) + { + doSave(newPresetIndex); + omxDisp.displayMessage("Saved " + String(newPresetIndex + 1)); + } + selPreset = thisKey - 11; + setEnabled(false); + return true; + } + } + // Key Up + else + { + if (thisKey == 0) + { + // Used to prevent quickly exiting if entered through aux shortcut. + auxReleased_ = true; + } + } + + omxDisp.setDirty(); + omxLeds.setDirty(); + + return true; +} + +void SubModePreset::onDisplayUpdate() +{ + if (omxDisp.isDirty()) + { + if (!encoderConfig.enc_edit) + { + omxDisp.dispGenericModeLabel(mode == PRESETMODE_LOAD ? loadLabel : saveLabel, 1, 0); + } + } +} diff --git a/Archive/OMX-27-firmware/src/modes/submodes/submode_preset.h b/Archive/OMX-27-firmware/src/modes/submodes/submode_preset.h new file mode 100644 index 00000000..c5b6cdc2 --- /dev/null +++ b/Archive/OMX-27-firmware/src/modes/submodes/submode_preset.h @@ -0,0 +1,60 @@ +#pragma once + +#include "submode_interface.h" + +enum SubmodePresetMode +{ + PRESETMODE_LOAD, + PRESETMODE_SAVE +}; + +// Submode for saving and loading a drum kit +class SubModePreset : public SubmodeInterface +{ +public: + // Constructor / deconstructor + SubModePreset(); + ~SubModePreset() {} + + void configure(SubmodePresetMode mode, uint8_t selPreset, uint8_t numPresets, bool autoSave); + + void setContextPtr(void *context); + void setDoSaveFunc(void (*fptr)(void *, uint8_t)); + void setDoLoadFunc(void (*fptr)(void *, uint8_t)); + + // Interface methods + void loopUpdate() override; + bool updateLEDs() override; + void onEncoderChanged(Encoder::Update enc); + void onEncoderButtonDown() override; + bool onKeyUpdate(OMXKeypadEvent e) override; + void onDisplayUpdate() override; + + bool shouldBlockEncEdit() override { return true; } + +protected: + // Interface methods + void onEnabled() override; + void onDisabled() override; + void onEncoderChangedEditParam(Encoder::Update enc) override; + +private: + + + SubmodePresetMode mode; + uint8_t selPreset; + uint8_t numPresets; + + void *fptrContext_; + void (*doSaveFptr_)(void *, uint8_t); + void (*doLoadFptr_)(void *, uint8_t); + + bool autoSave; + + bool auxReleased_ = false; // set to aux state onEnable, must be true to exit mode with aux. + + void doSave(uint8_t presetIndex); + void doLoad(uint8_t presetIndex); + + // void setupPageLegends(); +}; diff --git a/Archive/OMX-27-firmware/src/utils/PotPickupUtil.cpp b/Archive/OMX-27-firmware/src/utils/PotPickupUtil.cpp new file mode 100644 index 00000000..093b8178 --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/PotPickupUtil.cpp @@ -0,0 +1,53 @@ +#include "PotPickupUtil.h" + +void PotPickupUtil::SetVal(uint8_t newValue, bool midiIn) +{ + value = newValue; + if(midiIn) + { + revertValue = value; + } + directionDetermined = false; + pickedUp = false; +} + +void PotPickupUtil::SaveRevertVal() +{ + revertValue = value; +} + +void PotPickupUtil::RevertVal() +{ + value = revertValue; + directionDetermined = false; + pickedUp = false; +} + +void PotPickupUtil::UpdatePot(uint8_t prevPot, uint8_t newPot) +{ + if (!directionDetermined) + { + directionCW = prevPot < value; + pickedUp = prevPot == value; + directionDetermined = true; + } + + if (!pickedUp) + { + if (directionCW) + { + pickedUp = newPot >= value; + } + else + { + pickedUp = newPot <= value; + } + } + + if (pickedUp) + { + value = newPot; + } + + potValue = newPot; +} \ No newline at end of file diff --git a/Archive/OMX-27-firmware/src/utils/PotPickupUtil.h b/Archive/OMX-27-firmware/src/utils/PotPickupUtil.h new file mode 100644 index 00000000..a8bc6ed5 --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/PotPickupUtil.h @@ -0,0 +1,23 @@ +#pragma once +#include "../config.h" + +class PotPickupUtil +{ +public: + uint8_t revertValue; + uint8_t value; + uint8_t potValue; + + bool directionDetermined; + bool directionCW; + bool pickedUp; + + // set midiIn true if value is coming from midi + void SetVal(uint8_t newValue, bool midiIn); + // saves current value to the revert value + void SaveRevertVal(); + // Reverts the current value to the saved revert value + // Which gets saved from midiin or if SaveRevertVal() is called + void RevertVal(); + void UpdatePot(uint8_t prevPot, uint8_t newPot); +}; \ No newline at end of file diff --git a/Archive/OMX-27-firmware/src/utils/RamMonitor.h b/Archive/OMX-27-firmware/src/utils/RamMonitor.h new file mode 100644 index 00000000..9cc2a48a --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/RamMonitor.h @@ -0,0 +1,226 @@ +// Teensy 3.x RAM Monitor +// copyright by Adrian Hunt (c) 2015 - 2016 +// +// simplifies memory monitoring; providing both "raw" +// memory information and with frequent calls to the +// run() function, adjusted information with simulated +// stack allocations. memory is also monitored for low +// memory state and stack and heap crashes. +// +// raw memory information methods: +// +// int32_t unallocated() const; +// calculates space between heap and current stack. +// will return negitive if heap and stack currently +// overlap, corruption is very likely. +// +// uint32_t stack_used() const; +// calculates the current stack size. +// +// uint32_t heap_total() const; +// return the heap size. +// +// uint32_t heap_used() const; +// returns allocated heap. +// +// uint32_t heap_free() const; +// returns unused heap. +// +// int32_t free() const; +// calculates total free ram; unallocated and unused +// heap. note that this uses the current stack size. +// +// uint32_t total() const; +// returns total physical ram. +// +// extended memory information. These methods require +// the RamMonitor object to be initialized and the +// run() method called regularly. +// +// uint32_t stack_total() const; +// returns the memory required for the stack. this +// is determind by historical stack usage. +// +// int32_t stack_free() const; +// returns stack space that can be used before the +// stack grows and total size is increased. +// +// int32_t adj_unallocd() const; +// calculates unallocated memory, reserving space +// for the stack. +// +// int32_t adj_free() const; +// calculates total free ram by using adjusted +// unallocated and unused heap. +// +// bool warning_lowmem() const; +// bool warning_crash() const; +// return warning states: low memory is flagged when +// adjusted unallocated memory is below a set value. +// crash is flagged when reserved stack space over- +// laps heap and there is a danger of corruption. +// +// void initialize(); +// initializes the RamMonitor object enabling stack +// monitoring and the extended information methods. +// +// void run(); +// detects stack growth and updates memory warnings. +// this function must be called regulary. +// +// when using the extended memory information methods, +// a single RamMonitor object should be create at +// global level. two static constants define values +// that control stack allocation step size and the low +// memory warning level. these values are in bytes. +// the stack allocation step must be divisable by 4. +// +// static const uint16_t STACKALLOCATION; +// static const uint16_t LOWMEM; +// + +#ifndef RAMMONITOR_H +#define RAMMONITOR_H "1.0" + +#include +#include + +extern int *__brkval; // top of heap (dynamic ram): grows up towards stack +extern char _estack; // bottom of stack, top of ram: stack grows down towards heap + +class RamMonitor +{ +private: + typedef uint32_t MemMarker; + typedef uint8_t MemState; + + // user defined consts + static const uint16_t STACKALLOCATION = 1024; // stack allocation step size: must be 32bit boundries, div'able by 4 + static const uint16_t LOWMEM = 4096; // low memory warning: 4kb (less than between stack and heap) + + // internal consts + static const uint32_t HWADDRESS_RAMSTART = +#if defined(__MK20DX256__) + 0x1FFF8000; // teensy 3.1 (? 3.2 ?) +#elif defined(__MKL26Z64__) + 0x ? ? ? ? ? ? ? ? ; // teensy LC +#else + 0x1FFFE000; // teensy 3.0 +#endif + static const MemMarker MEMMARKER = 0x524D6D6D; // chars RMmm ... Ram Monitor memory marker + static const uint16_t MARKER_STEP = STACKALLOCATION / sizeof(MemMarker); + + static const MemState msOk = 0; + static const MemState msLow = 1; + static const MemState msCrash = 2; + + MemMarker *_mlastmarker; // last uncorrupted memory marker + MemState _mstate; // detected memory state + + void _check_stack() + { + int32_t free; + + // skip markers already comsumed by the stack + free = ((char *)&free) - ((char *)_mlastmarker); + if (free < 0) + { + int32_t steps; + + steps = free / STACKALLOCATION; // note steps will be negitive + if (free % STACKALLOCATION) + --steps; + + _mlastmarker += MARKER_STEP * steps; + }; + + // check last marker and move if corrupted + while ((*_mlastmarker != MEMMARKER) && (_mlastmarker >= (MemMarker *)__brkval)) + _mlastmarker -= MARKER_STEP; + }; + +public: + int32_t unallocated() const + { + char tos; + return &tos - (char *)__brkval; + }; // calcs space between heap and stack (current): will be negitive if heap/stack crash + uint32_t stack_used() const + { + char tos; + return &_estack - &tos; + }; // calcs stack size (current): grows into unallocated + uint32_t heap_total() const { return mallinfo().arena; }; // returns heap size: grows into unallocated + uint32_t heap_used() const { return mallinfo().uordblks; }; // returns heap allocated + uint32_t heap_free() const { return mallinfo().fordblks; }; // returns free heap + + int32_t free() const { return unallocated() + heap_free(); }; // free ram: unallocated and unused heap + uint32_t total() const { return &_estack - (char *)HWADDRESS_RAMSTART; }; // physical ram + + // these functions (along with initialize and run) + // create the ellusion of stack allocation. + uint32_t stack_total() + { // uses memory markers to "alloc" unallocated + _check_stack(); + return &_estack - (char *)_mlastmarker; + }; + + int32_t stack_free() + { // calc stack usage before next marker corruption + char tos; + + _check_stack(); + return &tos - (char *)_mlastmarker; + }; + + int32_t adj_unallocd() + { // calcs space between heap and "alloc'd" stack: will be negitive if heap/stack crash + _check_stack(); + return ((char *)_mlastmarker) - (char *)__brkval; + }; + + int32_t adj_free() { return adj_unallocd() + heap_free(); }; // free ram: unallocated and unused heap + + bool warning_lowmem() const { return (_mstate & msLow); }; // returns true when unallocated memory is < LOWMEM + bool warning_crash() const { return (_mstate & msCrash); }; // returns true when stack is in danger of overwriting heap + + void initialize() + { + MemMarker *marker = (MemMarker *)&_estack; // top of memory + int32_t size; + int32_t steps; + + // skip current stack; + size = &_estack - (char *)▮ // current stack size: marker address is tos + steps = size / STACKALLOCATION; + if (size % STACKALLOCATION) + ++steps; + + marker -= MARKER_STEP * steps; + + // record current top of stack + _mlastmarker = marker; + _mstate = msOk; + + // mark unused ram between top of stack and top of heap + while (marker >= (MemMarker *)__brkval) + { + *marker = MEMMARKER; // write memory marker + marker -= MARKER_STEP; + }; + }; + + void run() + { + int32_t unallocd = adj_unallocd(); // calls _check_stack() internally + + if (unallocd < 0) + _mstate = msCrash | msLow; + else if (unallocd < LOWMEM) + _mstate = msLow; + else + _mstate = msOk; + }; +}; + +#endif diff --git a/Archive/OMX-27-firmware/src/utils/chord_structs.h b/Archive/OMX-27-firmware/src/utils/chord_structs.h new file mode 100644 index 00000000..63d31c98 --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/chord_structs.h @@ -0,0 +1,241 @@ +#pragma once +#include "../config.h" + +#define NUM_CHORD_PATTERNS 37 + +extern const uint8_t kNumChordPatterns; +extern const uint8_t kCustomChordPattern; + +// Last pattern is custom +extern const int8_t chordPatterns[NUM_CHORD_PATTERNS - 1][3]; + +extern const char *kChordMsg[NUM_CHORD_PATTERNS]; + +#define NUM_CHORD_BALANCE 23 + +extern const uint8_t kNumChordBalance; + +extern const int8_t chordBalance[NUM_CHORD_BALANCE][3]; + +// extern int balSize; +// extern int patSize; + +extern const char *kChordTypeDisp[2]; +extern const char *kVoicingNames[8]; + +enum ChordVoicing +{ + CHRDVOICE_NONE, + CHRDVOICE_POWER, + CHRDVOICE_SUS2, + CHRDVOICE_SUS4, + CHRDVOICE_SUS24, + CHRDVOICE_ADD6, + CHRDVOICE_ADD69, + CHRDVOICE_KB11 +}; + +enum ChordsModeParams +{ + CPARAM_UIMODE, + CPARAM_MAN_STRUM, + CPARAM_CHORD_TYPE, + CPARAM_CHORD_MFX, + CPARAM_CHORD_VEL, + CPARAM_CHORD_MCHAN, + CPARAM_BAS_NOTE, + CPARAM_BAS_OCT, + CPARAM_BAS_CHORD, + CPARAM_BAS_BALANCE, + CPARAM_INT_NUMNOTES, + CPARAM_INT_DEGREE, + CPARAM_INT_OCTAVE, + CPARAM_INT_TRANSPOSE, + CPARAM_INT_SPREAD, + CPARAM_INT_ROTATE, + CPARAM_INT_VOICING, + CPARAM_INT_SPRDUPDOWN, + CPARAM_INT_QUARTVOICE +}; + +struct CustomChordNote +{ + int8_t note : 7; // Root NoteNumber Offset or degree +}; + +struct ChordSettings +{ +public: + int color = 0xFFFFFF; + uint8_t type : 1; + int8_t midiFx : 4; + uint8_t mchan : 4; + uint8_t velocity : 7; + + // Basic Type: + uint8_t note : 4; + int8_t basicOct : 4; + uint8_t chord : 6; + uint8_t balance : 8; // 0 - 23 * 10 + + CustomChordNote customNotes[6]; + // CustomChordDegree customDegrees[6]; + + // Interval Type: + uint8_t numNotes : 3; + uint8_t degree : 3; // degree from root note of scale, if scale is cmaj, degree of 0 = c, degree of 3 = e + int8_t octave : 4; // transposes note by octave + int8_t transpose : 5; // transposes note by semitone, can bump off scale + int8_t spread : 4; // spreads chord notes over octave + // spread 0 = C3,E3,G3 C3,E3,G3,B3 + // spread -1 = C2,E3,G2 C2,E3,G2,B3 -1,*,-1 -1,*,-1,* + // spread -2 = C1,E3,G1 C1,E3,G1,B3 -2,*,-2 -2,*,-2,* + // spread 1 = C3,E4,G3 C3,E4,G3,B4 *,+1,* *,+1,*,+1 + // spread 2 = C3,E5,G3 C3,E5,G3,B5 *,+2,* *,+2,*,+2 + uint8_t rotate : 4; // Rotates the chord notes + // rotate 0 = C3,E3,G3 C3,E3,G3,B3 + // rotate 1 = E3,G3,C4 E3,G3,B3,C4 + // rotate 2 = G3,C4,E4 G3,B3,C4,E4 + // rotate 3 = C3,E3,G3 B3,C4,E4,G4 + // rotate 4 = E3,G3,C4 C3,E3,G3,B3 + bool spreadUpDown = false; // spreads notes in both directions + // false = C3,E3,G3 C3,E3,G3,B3 + // true = C2,E4,G2 C2,E4,G2,B4 + // Spead -1 = C1,E4,G1 C1,E4,G1,E4 + // bool widerInterDown = false; // Eh, not sure about this one. Could get with a rotate spread combo + // false = C3,E3,G3 C3,E3,G3,B3 + // true = G2,C3,E3 C3,E3,G3,B3 + bool quartalVoicing = false; + // false = C3,E3,G3 C3,E3,G3,B3 + // true = C5,E3,G4 C5,E3,G4,B2 + uint8_t voicing : 3; + // 0 = none - based off numNotes + // 1 = powerChord + // C3,G3 C3,G3,C4 C3,G3,C4 + // 2 = sus2 + // Shifts 2nd note down one degree + // C3,D3 C3,D3,G3 C3,D3,G3,B3 + // 3 = sus4 + // Shifts 2nd note up one degree + // C3,F3 C3,F3,G3 C3,F3,G3,B3 + // 4 = sus2+4 + // Shifts 2nd note down one degree and 3rd note down one degree + // C3,D3 C3,D3,F3 C3,D3,F3,B3 + // 5 = add 6 + // C3,D3,A3 C3,E3,G3,A3 C3,E3,G3,A3 + // 6 = add 6 + 9 + // C3,E3,A3,D4 C3,E3,G3,A3,D4 C3,E3,G3,A3,D4 + // 7 = kennyBarron11 + // Two hand jazz voicing + // 1,5,9, 10, 7th+oct,11+Oct + // C3,G3,D4,E4,B4,F5 + + ChordSettings() + { + type = 0; + midiFx = 0; + mchan = 0; + velocity = 100; + + note = 0; + basicOct = 0; + chord = 0; + balance = 40; // Four note chord + + numNotes = 3; + degree = 0; + octave = 0; + transpose = 0; + spread = 0; + rotate = 0; + spreadUpDown = false; + quartalVoicing = false; + voicing = 0; + + for(uint8_t i = 0; i < 6; i++) + { + customNotes[i].note = 0; + } + } + + void CopySettingsFrom(ChordSettings *other) + { + this->type = other->type; + this->midiFx = other->midiFx; + this->mchan = other->mchan; + this->velocity = other->velocity; + + // Basic Type: + this->note = other->note; + this->basicOct = other->basicOct; + this->chord = other->chord; + this->balance = other->balance; + + this->numNotes = other->numNotes; + this->degree = other->degree; + this->octave = other->octave; + this->transpose = other->transpose; + this->spread = other->spread; + this->rotate = other->rotate; + this->spreadUpDown = other->spreadUpDown; + this->quartalVoicing = other->quartalVoicing; + this->voicing = other->voicing; + + for(uint8_t i = 0; i < 6; i++) + { + this->customNotes[i].note = other->customNotes[i].note; + } + } +}; + +struct ChordNotes +{ + bool active = false; + uint8_t channel = 0; + // uint8_t velocity = 100; + int notes[6] = {-1, -1, -1, -1, -1, -1}; + uint8_t velocities[6] = {100, 100, 100, 100, 100, 100}; + int8_t strumPos = 0; + int8_t encDelta = 0; + int8_t octIncrement = 0; + uint8_t midifx; + int rootNote; + + void CopyFrom(ChordNotes *other) + { + active = other->active; + channel = other->channel; + for (uint8_t i = 0; i < 6; i++) + { + notes[i] = other->notes[i]; + velocities[i] = other->velocities[i]; + } + strumPos = other->strumPos; + encDelta = other->encDelta; + octIncrement = other->octIncrement; + midifx = other->midifx; + rootNote = other->rootNote; + } +}; + +struct ChordBalanceDetails +{ + int8_t type[4]; + float velMult[4]; + + void Clear() + { + for(uint8_t i = 0; i < 4; i++) + { + type[i] = 0; + velMult[i] = 0; + } + } +}; + +enum ChordType +{ + CTYPE_BASIC, // Chords are copied from the Syntakt Chord machine, has a root, octave, scale, and ghosts. The ghosts determine number of notes in chord and notes will either be brought down or up and octave + CTYPE_INTERVAL, // Advanced chord config using intervals, can be locked to a the global scale. + CTYPE_BYOC, // Build your own chord however you'd like. +}; diff --git a/Archive/OMX-27-firmware/src/utils/chord_util.cpp b/Archive/OMX-27-firmware/src/utils/chord_util.cpp new file mode 100644 index 00000000..6cb516c0 --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/chord_util.cpp @@ -0,0 +1,936 @@ +#include + +#include "chord_util.h" +#include "../consts/consts.h" +#include "../midi/midi.h" +#include "../consts/colors.h" +#include "../hardware/omx_leds.h" +#include "../hardware/omx_disp.h" +#include "../midi/noteoffs.h" +#include "../modes/sequencer.h" + +const uint8_t kNumChordPatterns = 37; +const uint8_t kCustomChordPattern = kNumChordPatterns - 1; + +// Last pattern is custom +const int8_t chordPatterns[kNumChordPatterns - 1][3] = { + {4, 7, -1}, // Major C E G + {3, 7, -1}, // minor C Eb G + {2, 7, -1}, // sus2 C D G + {5, 7, -1}, // sus4 C F G + {3, 6, -1}, // mb5 C Eb Gb + {4, 6, -1}, // Mb5 C E Gb + {4, 8, -1}, // M#5 C E G# + {4, 14, -1}, // M9no5 C E D2 no 5 + + {3, 6, 9}, // dim7 C Eb Gb A + {3, 6, 10}, // m7b5 C Eb Gb Bb + {3, 7, 8}, // mb6 C Eb G Ab + {3, 7, 9}, // m6 C Eb G A + {3, 7, 10}, // m7 C Eb G Bb + {3, 7, 11}, // mMaj7 C Eb G B + {3, 7, 14}, // madd9 C Eb G D + {3, 8, 10}, // m7#5 C Eb Ab Bb + {3, 10, 13}, // m7b9no5 C Eb Bb Db2 + {3, 10, 14}, // m9no5 C Eb Bb D2 + + {4, 5, 9}, // M6add4no5 C E F A + {4, 6, 10}, // M7b5 C E Gb Bb + {4, 6, 11}, // Maj7b5 C E Gb B + {4, 6, 14}, // Madd9b5 C E Gb D2 + {4, 7, 8}, // Maddb5 C E G Gb + {4, 7, 9}, // M6 C E G A + {4, 7, 10}, // M7 C E G Bb + {4, 7, 11}, // Maj7 C E G B + {4, 7, 14}, // Madd9 C E G D2 + {4, 8, 10}, // M7#5 C E G# Bb + {4, 10, 13}, // M7b9no5 C E Bb Db2 + {4, 11, 14}, // Maj9no5 C E B D2 + {4, 11, 21}, // Maj7/6no5 C E B A2 + {5, 7, 8}, // sus4add#5 C F G G# + {5, 7, 10}, // 7sus4 C F G Bb + {5, 8, 13}, // sus4#5b9 C F G# Db2 + {5, -1, -1}, // Fourth CF + {7, -1, -1} // Fifth CG +}; + +const char *kChordMsg[kNumChordPatterns] = { + "Major", + "Minor", + "sus2", + "sus4", + "mb5", + "Mb5", + "M#5", + "M9no5", + + "dim7", + "m7b5", + "mb6", + "m6", + "m7", + "mMaj7", + "madd9", + "m7#5", + "m7b9no5", + "m9no5", + + "M6add4no5", + "M7b5", + "Maj7b5", + "Madd9b5", + "Maddb5", + "M6", + "M7", + "Maj7", + "Madd9", + "M7#5", + "M7b9no5", + "Maj9no5", + "Maj7/6no5", + "sus4add#5", + "7sus4", + "sus4#5b9", + + "Fourths", + "Fifth", + "Custom"}; + +const uint8_t kNumChordBalance = 23; + +const int8_t chordBalance[kNumChordBalance][3] = { + {-10, -10, -10}, // 0 Single Note - 0 + {0, -10, -10}, // 10 Power Chord - 10 + {0, 0, -10}, // 20 Triad + {0, 0, 0}, // 30 Four notes - Root + {0, 0, 0}, // 32 Four notes - Root + {-10, 0, 0}, // 37 + {-1, 0, 0}, // 42 + {-1, -10, 0}, // 47 + {-1, -1, 0}, // 52 + {-1, -1, -10}, // 57 + {-1, -1, -1}, // 62 - Inv 1 + {-10, -1, -1}, // 69 + {0, -1, -1}, // 74 - Inv 2 + {0, -10, -1}, // 79 + {0, 0, -1}, // 84 - Inv 3 + {0, 0, -10}, // 91 + {0, 0, 0}, // 96 + {-10, 0, 0}, // 101 + {1, 0, 0}, // 106 + {1, -10, 0}, // 111 + {1, 1, 0}, // 116 + {1, 1, -10}, // 121 + {1, 1, 1}, // 127 +}; + +// int balSize = sizeof(chordBalance); +// int patSize = sizeof(chordPatterns); + +const char *kChordTypeDisp[2] = {"BASC", "INTV"}; +const char *kVoicingNames[8] = {"NONE", "POWR", "SUS2", "SUS4", "SU24", "+6", "+6+9", "KB11"}; + +// extern const uint8_t kNumChordPatterns = 37; +// extern const uint8_t kCustomChordPattern = kNumChordPatterns - 1; + +// // Last pattern is custom +// extern const int8_t chordPatterns[kNumChordPatterns - 1][3] = { +// {4, 7, -1}, // Major C E G +// {3, 7, -1}, // minor C Eb G +// {2, 7, -1}, // sus2 C D G +// {5, 7, -1}, // sus4 C F G +// {3, 6, -1}, // mb5 C Eb Gb +// {4, 6, -1}, // Mb5 C E Gb +// {4, 8, -1}, // M#5 C E G# +// {4, 14, -1}, // M9no5 C E D2 no 5 + +// {3, 6, 9}, // dim7 C Eb Gb A +// {3, 6, 10}, // m7b5 C Eb Gb Bb +// {3, 7, 8}, // mb6 C Eb G Ab +// {3, 7, 9}, // m6 C Eb G A +// {3, 7, 10}, // m7 C Eb G Bb +// {3, 7, 11}, // mMaj7 C Eb G B +// {3, 7, 14}, // madd9 C Eb G D +// {3, 8, 10}, // m7#5 C Eb Ab Bb +// {3, 10, 13}, // m7b9no5 C Eb Bb Db2 +// {3, 10, 14}, // m9no5 C Eb Bb D2 + +// {4, 5, 9}, // M6add4no5 C E F A +// {4, 6, 10}, // M7b5 C E Gb Bb +// {4, 6, 11}, // Maj7b5 C E Gb B +// {4, 6, 14}, // Madd9b5 C E Gb D2 +// {4, 7, 8}, // Maddb5 C E G Gb +// {4, 7, 9}, // M6 C E G A +// {4, 7, 10}, // M7 C E G Bb +// {4, 7, 11}, // Maj7 C E G B +// {4, 7, 14}, // Madd9 C E G D2 +// {4, 8, 10}, // M7#5 C E G# Bb +// {4, 10, 13}, // M7b9no5 C E Bb Db2 +// {4, 11, 14}, // Maj9no5 C E B D2 +// {4, 11, 21}, // Maj7/6no5 C E B A2 +// {5, 7, 8}, // sus4add#5 C F G G# +// {5, 7, 10}, // 7sus4 C F G Bb +// {5, 8, 13}, // sus4#5b9 C F G# Db2 +// {5, -1, -1}, // Fourth CF +// {7, -1, -1} // Fifth CG +// }; + +// extern const char *kChordMsg[kNumChordPatterns] = { +// "Major", +// "Minor", +// "sus2", +// "sus4", +// "mb5", +// "Mb5", +// "M#5", +// "M9no5", + +// "dim7", +// "m7b5", +// "mb6", +// "m6", +// "m7", +// "mMaj7", +// "madd9", +// "m7#5", +// "m7b9no5", +// "m9no5", + +// "M6add4no5", +// "M7b5", +// "Maj7b5", +// "Madd9b5", +// "Maddb5", +// "M6", +// "M7", +// "Maj7", +// "Madd9", +// "M7#5", +// "M7b9no5", +// "Maj9no5", +// "Maj7/6no5", +// "sus4add#5", +// "7sus4", +// "sus4#5b9", + +// "Fourths", +// "Fifth", +// "Custom"}; + +// extern const uint8_t kNumChordBalance = 23; + +// extern const int8_t chordBalance[kNumChordBalance][3] = { +// {-10, -10, -10}, // 0 Single Note - 0 +// {0, -10, -10}, // 10 Power Chord - 10 +// {0, 0, -10}, // 20 Triad +// {0, 0, 0}, // 30 Four notes - Root +// {0, 0, 0}, // 32 Four notes - Root +// {-10, 0, 0}, // 37 +// {-1, 0, 0}, // 42 +// {-1, -10, 0}, // 47 +// {-1, -1, 0}, // 52 +// {-1, -1, -10}, // 57 +// {-1, -1, -1}, // 62 - Inv 1 +// {-10, -1, -1}, // 69 +// {0, -1, -1}, // 74 - Inv 2 +// {0, -10, -1}, // 79 +// {0, 0, -1}, // 84 - Inv 3 +// {0, 0, -10}, // 91 +// {0, 0, 0}, // 96 +// {-10, 0, 0}, // 101 +// {1, 0, 0}, // 106 +// {1, -10, 0}, // 111 +// {1, 1, 0}, // 116 +// {1, 1, -10}, // 121 +// {1, 1, 1}, // 127 +// }; + +// extern int balSize = sizeof(chordBalance); +// extern int patSize = sizeof(chordPatterns); + +// extern const char *kChordTypeDisp[8] = {"BASC", "INTV"}; +// extern const char *kVoicingNames[8] = {"NONE", "POWR", "SUS2", "SUS4", "SU24", "+6", "+6+9", "KB11"}; + +ChordUtil::ChordUtil() +{ + musicScale_.calculateScale(0,0); +} + +int ChordUtil::AddOctave(int note, int8_t octave) +{ + if (note < 0 || note > 127) + return -1; + + int newNote = note + (12 * octave); + if (newNote < 0 || newNote > 127) + return -1; + return newNote; +} + +int ChordUtil::TransposeNote(int note, int8_t semitones) +{ + if (note < 0 || note > 127) + return -1; + + int newNote = note + semitones; + if (newNote < 0 || newNote > 127) + return -1; + return newNote; +} + +bool ChordUtil::constructChord(ChordSettings *chord, ChordNotes *chordNotes, int8_t autoOctave, int scaleRoot, int scalePattern, bool midiFx) +{ + // Serial.println("Constructing Chord: " + String(chordIndex)); + // auto chord = chords_[chordIndex]; + + if (chord->type == CTYPE_BASIC) + { + return constructChordBasic(chord, chordNotes, autoOctave, midiFx); + } + else if (chord->type == CTYPE_INTERVAL) + { + return constructChordInterval(chord, chordNotes, autoOctave, scaleRoot, scalePattern, midiFx); + } + + return constructChordBasic(chord, chordNotes, autoOctave, midiFx); +} + +bool ChordUtil::constructChordInterval(ChordSettings *chord, ChordNotes *chordNotes, int8_t autoOctave, int scaleRoot, int scalePattern, bool midiFx) +{ + musicScale_.calculateScaleIfModified(scaleRoot, scalePattern); + + // int8_t octave = midiSettings.octave + chord->octave; + + int8_t octave = midiFx ? autoOctave + chord->octave : midiSettings.octave + chord->octave; + + uint8_t numNotes = 0; + + for (uint8_t i = 0; i < 6; i++) + { + chordNotes->notes[i] = -1; + chordNotes->velocities[i] = chord->velocity; + } + + if (chord->numNotes == 0) + { + return false; + } + else if (chord->numNotes == 1) + { + chordNotes->notes[0] = musicScale_.getNoteByDegree(chord->degree, octave); + numNotes = 1; + } + else if (chord->numNotes == 2) + { + chordNotes->notes[0] = musicScale_.getNoteByDegree(chord->degree, octave); + chordNotes->notes[1] = musicScale_.getNoteByDegree(chord->degree + 2, octave); + numNotes = 2; + } + else if (chord->numNotes == 3) + { + chordNotes->notes[0] = musicScale_.getNoteByDegree(chord->degree, octave); + chordNotes->notes[1] = musicScale_.getNoteByDegree(chord->degree + 2, octave); + chordNotes->notes[2] = musicScale_.getNoteByDegree(chord->degree + 4, octave); + numNotes = 3; + } + else if (chord->numNotes == 4) + { + chordNotes->notes[0] = musicScale_.getNoteByDegree(chord->degree, octave); + chordNotes->notes[1] = musicScale_.getNoteByDegree(chord->degree + 2, octave); + chordNotes->notes[2] = musicScale_.getNoteByDegree(chord->degree + 4, octave); + chordNotes->notes[3] = musicScale_.getNoteByDegree(chord->degree + 6, octave); + numNotes = 4; + } + + chordNotes->rootNote = chordNotes->notes[0]; + + // Serial.println("numNotes: " + String(numNotes)); + + switch (chord->voicing) + { + case CHRDVOICE_NONE: + { + } + break; + case CHRDVOICE_POWER: + { + if (chord->numNotes > 1) + { + chordNotes->notes[1] = musicScale_.getNoteByDegree(chord->degree + 4, octave); + } + if (chord->numNotes > 2) + { + chordNotes->notes[2] = chordNotes->notes[1] + 12; + for (uint8_t i = 3; i < 6; i++) + { + chordNotes->notes[i] = -1; + } + numNotes = 3; + } + } + break; + case CHRDVOICE_SUS2: + { + if (chord->numNotes > 1) + { + chordNotes->notes[1] = musicScale_.getNoteByDegree(chord->degree + 1, octave); + } + } + break; + case CHRDVOICE_SUS4: + { + if (chord->numNotes > 1) + { + chordNotes->notes[1] = musicScale_.getNoteByDegree(chord->degree + 3, octave); + } + } + break; + case CHRDVOICE_SUS24: + { + if (chord->numNotes > 1) + { + chordNotes->notes[1] = musicScale_.getNoteByDegree(chord->degree + 1, octave); + } + if (chord->numNotes > 2) + { + chordNotes->notes[2] = musicScale_.getNoteByDegree(chord->degree + 3, octave); + } + } + break; + case CHRDVOICE_ADD6: + { + chordNotes->notes[chord->numNotes] = musicScale_.getNoteByDegree(chord->degree + 5, octave); + numNotes = chord->numNotes + 1; + } + break; + case CHRDVOICE_ADD69: + { + chordNotes->notes[chord->numNotes] = musicScale_.getNoteByDegree(chord->degree + 5, octave); + chordNotes->notes[chord->numNotes + 1] = musicScale_.getNoteByDegree(chord->degree + 8, octave); + numNotes = chord->numNotes + 2; + } + break; + case CHRDVOICE_KB11: + { + if (chord->numNotes > 1) + { + chordNotes->notes[0] = musicScale_.getNoteByDegree(chord->degree + 0, octave); + chordNotes->notes[1] = musicScale_.getNoteByDegree(chord->degree + 4, octave); + numNotes = 2; + } + if (chord->numNotes > 2) + { + chordNotes->notes[2] = musicScale_.getNoteByDegree(chord->degree + 8, octave); + numNotes = 3; + } + if (chord->numNotes > 3) + { + chordNotes->notes[3] = musicScale_.getNoteByDegree(chord->degree + 9, octave); + chordNotes->notes[4] = musicScale_.getNoteByDegree(chord->degree + 6, octave + 1); + chordNotes->notes[5] = musicScale_.getNoteByDegree(chord->degree + 10, octave + 1); + numNotes = 6; + } + } + break; + default: + break; + } + + // Serial.println("numNotes: " + String(numNotes)); + + if (chord->quartalVoicing) + { + chordNotes->notes[0] = AddOctave(chordNotes->notes[0], 2); + chordNotes->notes[1] = AddOctave(chordNotes->notes[1], 0); + chordNotes->notes[2] = AddOctave(chordNotes->notes[2], 1); + chordNotes->notes[3] = AddOctave(chordNotes->notes[3], -1); + } + + if (chord->spreadUpDown) + { + for (uint8_t i = 0; i < 6; i++) + { + if (i % 2 == 0) + { + chordNotes->notes[i] = AddOctave(chordNotes->notes[i], -1); + } + else + { + chordNotes->notes[i] = AddOctave(chordNotes->notes[i], 1); + } + } + } + + if (chord->spread < 0) + { + for (uint8_t i = 0; i < 6; i++) + { + if (i % 2 == 0) + { + chordNotes->notes[i] = AddOctave(chordNotes->notes[i], chord->spread); + } + } + } + else if (chord->spread > 0) + { + for (uint8_t i = 0; i < 6; i++) + { + if (i % 2 != 0) + { + chordNotes->notes[i] = AddOctave(chordNotes->notes[i], chord->spread); + } + } + } + + if (chord->rotate != 0 && numNotes > 0) + { + int temp[numNotes]; + + uint8_t val = numNotes - chord->rotate; + + uint8_t offset = chord->rotate % numNotes; + + for (uint8_t i = 0; i < offset; i++) + { + chordNotes->notes[i] = AddOctave(chordNotes->notes[i], 1); + } + + for (uint8_t i = 0; i < numNotes; i++) + { + temp[i] = chordNotes->notes[abs((i + val) % numNotes)]; + } + for (int i = 0; i < numNotes; i++) + { + chordNotes->notes[i] = temp[i]; + } + } + + for (uint8_t i = 0; i < 6; i++) + { + chordNotes->notes[i] = TransposeNote(chordNotes->notes[i], chord->transpose); + } + + chordNotes->midifx = chord->midiFx; + + return true; +} + +bool ChordUtil::constructChordBasic(ChordSettings * chord, ChordNotes * chordNotes, int8_t autoOctave, bool midiFx) +{ + // auto chord = chords_[chordIndex]; + + // int8_t octave = midiSettings.octave + chord->octave; + + // uint8_t numNotes = 0; + + for (uint8_t i = 0; i < 6; i++) + { + chordNotes->notes[i] = -1; + // Note velocity is set below by the chord balance + } + + // int adjRoot = notes[thisKey] + (midiSettings.octave + 1 * 12); + + int8_t octave = midiFx ? autoOctave + chord->basicOct : chord->basicOct; + + int rootNote = chord->note + ((octave + 5) * 12); + + if (rootNote < 0 || rootNote > 127) + return false; + + chordNotes->rootNote = rootNote; + + chordNotes->midifx = chord->midiFx; + + chordNotes->notes[0] = rootNote; + + if (chord->chord == kCustomChordPattern) + { + for (uint8_t i = 0; i < 6; i++) + { + int noteOffset = chord->customNotes[i].note; + + if (noteOffset != 0 || (noteOffset == 0 && i == 0)) + { + chordNotes->notes[i] = rootNote + noteOffset; + } + // else offset is zero, do nothing. + } + } + else + { + auto pattern = chordPatterns[chord->chord]; + + for (uint8_t i = 0; i < 3; i++) + { + if (pattern[i] >= 0) + { + chordNotes->notes[i + 1] = rootNote + pattern[i]; + } + } + } + + updateChordBalance(chord->balance); + + for (uint8_t i = 0; i < 4; i++) + { + int pnote = chordNotes->notes[i]; + + if (pnote >= 0 && pnote <= 127) + { + int bal = chordBalanceDetails.type[i]; + + chordNotes->notes[i] = (bal <= -10 ? -1 : (pnote + (12 * bal))); + chordNotes->velocities[i] = chord->velocity * chordBalanceDetails.velMult[i]; + } + } + + return true; +} + +ChordBalanceDetails ChordUtil::getChordBalance(uint8_t balance) +{ + updateChordBalance(balance); + return chordBalanceDetails; +} + +MusicScales* ChordUtil::getMusicScale() +{ + return &musicScale_; +} + +void ChordUtil::updateChordBalance(uint8_t balance) +{ + // ChordBalanceDetails bDetails; + + chordBalanceDetails.type[0] = 0; + chordBalanceDetails.velMult[0] = 1.0f; + + uint8_t balanceIndex = balance / 10; + + auto balancePat = chordBalance[balanceIndex]; + + for (uint8_t i = 0; i < 3; i++) + { + int8_t bal = balancePat[i]; + + chordBalanceDetails.type[i + 1] = bal; + + if (balanceIndex < kNumChordBalance) + { + int8_t nextBal = chordBalance[balanceIndex + 1][i]; + + if ((balance % 10) != 0) + { + if (nextBal > -10) + { + chordBalanceDetails.type[i + 1] = nextBal; + } + } + + float v1 = bal <= -10 ? 0.0f : 1.0f; + float v2 = nextBal <= -10 ? 0.0f : 1.0f; + + chordBalanceDetails.velMult[i + 1] = map((float)balance, balanceIndex * 10.0f, (balanceIndex + 1) * 10.0f, v1, v2); + } + else + { + chordBalanceDetails.velMult[i + 1] = 1.0f; + } + } +} + +void ChordUtil::onEncoderChangedEditParam(Encoder::Update *enc, ChordSettings *chord, uint8_t selectedParmIndex, uint8_t targetParamIndex, uint8_t paramType) +{ + if (selectedParmIndex != targetParamIndex) + return; + + auto amtSlow = enc->accel(1); + auto amtFast = enc->accel(5); + + // bool triggerChord = false; + + switch (paramType) + { + // Handled by Chord Mode class + case CPARAM_UIMODE: + { + // uiMode_ = constrain(uiMode_ + amtSlow, 0, 1); + // if (amtSlow != 0) + // { + // allNotesOff(); + // // omxUtil.allOff(); + // } + } + break; + // Handled by Chord Mode class + case CPARAM_MAN_STRUM: + { + // if (mode_ == CHRDMODE_MANSTRUM) + // { + // if (enc->dir() < 0) + // { + // mode_ = CHRDMODE_PLAY; + // } + // } + // else + // { + // if (enc->dir() > 0) + // { + // mode_ = CHRDMODE_MANSTRUM; + // } + // } + } + break; + case CPARAM_CHORD_TYPE: + { + // if (amtSlow != 0) + // { + // if (chordEditMode_) + // { + // onChordEditOff(); + // enterChordEditMode(); + // } + // else + // { + // onChordOff(selectedChord_); + // } + // } + + chord->type = constrain(chord->type + amtSlow, 0, 1); + } + break; + // Handled by Chord Mode class + case CPARAM_CHORD_MFX: + { + // int8_t newMidiFx = constrain(chord->midiFx + amtSlow, -1, NUM_MIDIFX_GROUPS - 1); + // chord->midiFx = newMidiFx; + } + break; + case CPARAM_CHORD_VEL: + { + chord->velocity = constrain(chord->velocity + amtFast, 0, 127); + } + break; + case CPARAM_CHORD_MCHAN: + { + chord->mchan = constrain(chord->mchan + amtSlow, 0, 15); + } + break; + case CPARAM_BAS_NOTE: + { + chord->note = constrain(chord->note + amtSlow, 0, 11); + // triggerChord = amtSlow != 0; + } + break; + case CPARAM_BAS_OCT: + { + chord->basicOct = constrain(chord->basicOct + amtSlow, -5, 4); + // triggerChord = amtSlow != 0; + } + break; + case CPARAM_BAS_CHORD: + { + // uint8_t prevChord = chord->chord; + chord->chord = constrain(chord->chord + amtSlow, 0, kNumChordPatterns - 1); + // if (chord->chord != prevChord) + // { + // // triggerChord = true; + + // // constructChord(selectedChord_); + // // omxDisp.displayMessage(kChordMsg[chord->chord]); + // } + } + break; + case CPARAM_BAS_BALANCE: + { + chord->balance = constrain(chord->balance + amtFast, 0, (kNumChordBalance - 1) * 10); + updateChordBalance(chord->balance); + + // omxDisp.chordBalanceMsg(activeChordBalance_.type, activeChordBalance_.velMult, 10); + + // if (amtSlow != 0) // To see notes change on keyboard leds + // { + // constructChord(selectedChord_); + // } + } + break; + case CPARAM_INT_NUMNOTES: + { + chord->numNotes = constrain(chord->numNotes + amtSlow, 1, 4); + } + break; + case CPARAM_INT_DEGREE: + { + chord->degree = constrain(chord->degree + amtSlow, 0, 7); + } + break; + case CPARAM_INT_OCTAVE: + { + chord->octave = constrain(chord->octave + amtSlow, -2, 2); + } + break; + case CPARAM_INT_TRANSPOSE: + { + chord->transpose = constrain(chord->transpose + amtSlow, -7, 7); + } + break; + case CPARAM_INT_SPREAD: + { + chord->spread = constrain(chord->spread + amtSlow, -2, 2); + } + break; + case CPARAM_INT_ROTATE: + { + chord->rotate = constrain(chord->rotate + amtSlow, 0, 4); + } + break; + case CPARAM_INT_VOICING: + { + chord->voicing = constrain(chord->voicing + amtSlow, 0, 7); + } + break; + case CPARAM_INT_SPRDUPDOWN: + { + chord->spreadUpDown = constrain(chord->spreadUpDown + amtSlow, 0, 1); + } + break; + case CPARAM_INT_QUARTVOICE: + { + chord->quartalVoicing = constrain(chord->quartalVoicing + amtSlow, 0, 1); + } + break; + } +} + +void ChordUtil::setupPageLegend(ChordSettings *chord, uint8_t index, uint8_t paramType) + { + switch (paramType) + { + // Handled by Chord Mode class + case CPARAM_UIMODE: + { + omxDisp.legends[index] = "UI"; + // omxDisp.legendText[index] = kUIModeDisp[uiMode_]; + } + break; + // Handled by Chord Mode class + case CPARAM_MAN_STRUM: + { + omxDisp.legends[index] = "STRUM"; + // omxDisp.legendText[index] = mode_ == CHRDMODE_MANSTRUM ? "ON" : "OFF"; + } + break; + case CPARAM_CHORD_TYPE: + { + omxDisp.legends[index] = "TYPE"; + omxDisp.legendText[index] = kChordTypeDisp[chord->type]; + } + break; + case CPARAM_CHORD_MFX: + { + omxDisp.legends[index] = "MIFX"; + if (chord->midiFx >= 0) + { + omxDisp.legendVals[index] = chord->midiFx + 1; + } + else + { + omxDisp.legendText[index] = "OFF"; + } + } + break; + case CPARAM_CHORD_VEL: + { + omxDisp.legends[index] = "VEL"; + omxDisp.legendVals[index] = chord->velocity; + } + break; + case CPARAM_CHORD_MCHAN: + { + omxDisp.legends[index] = "MCHAN"; + omxDisp.legendVals[index] = chord->mchan + 1; + } + break; + case CPARAM_BAS_NOTE: + { + omxDisp.legends[index] = "NOTE"; + omxDisp.legendText[index] = MusicScales::getNoteName(chord->note); + } + break; + case CPARAM_BAS_OCT: + { + omxDisp.legends[index] = "C-OCT"; + omxDisp.legendVals[index] = chord->basicOct + 4; + } + break; + case CPARAM_BAS_CHORD: + { + omxDisp.legends[index] = "CHRD"; + omxDisp.legendVals[index] = chord->chord; + } + break; + case CPARAM_BAS_BALANCE: + { + omxDisp.legends[index] = "BAL"; + omxDisp.legendVals[index] = map(chord->balance, 0, (kNumChordBalance - 1) * 10, 0, 127); + } + break; + case CPARAM_INT_NUMNOTES: + { + omxDisp.legends[index] = "#NTS"; + omxDisp.legendVals[index] = chord->numNotes; + } + break; + case CPARAM_INT_DEGREE: + { + omxDisp.legends[index] = "DEG"; + omxDisp.legendVals[index] = chord->degree; + } + break; + case CPARAM_INT_OCTAVE: + { + omxDisp.legends[index] = "OCT"; + omxDisp.legendVals[index] = chord->octave; + } + break; + case CPARAM_INT_TRANSPOSE: + { + omxDisp.legends[index] = "TPS"; + omxDisp.legendVals[index] = chord->transpose; + } + break; + case CPARAM_INT_SPREAD: + { + omxDisp.legends[index] = "SPRD"; + omxDisp.legendVals[index] = chord->spread; + } + break; + case CPARAM_INT_ROTATE: + { + omxDisp.legends[index] = "ROT"; + omxDisp.legendVals[index] = chord->rotate; + } + break; + case CPARAM_INT_VOICING: + { + omxDisp.legends[index] = "VOIC"; + omxDisp.legendText[index] = kVoicingNames[chord->voicing]; + } + break; + case CPARAM_INT_SPRDUPDOWN: + { + omxDisp.legends[index] = "UPDN"; + omxDisp.legendText[index] = chord->spreadUpDown ? "ON" : "OFF"; + } + break; + case CPARAM_INT_QUARTVOICE: + { + omxDisp.legends[index] = "QRTV"; + omxDisp.legendText[index] = chord->quartalVoicing ? "ON" : "OFF"; + } + break; + } + } + +ChordUtil chordUtil; diff --git a/Archive/OMX-27-firmware/src/utils/chord_util.h b/Archive/OMX-27-firmware/src/utils/chord_util.h new file mode 100644 index 00000000..0aa9e7b4 --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/chord_util.h @@ -0,0 +1,34 @@ +#pragma once +#include "../config.h" +#include "../utils/chord_structs.h" +#include "../utils/music_scales.h" +#include "../ClearUI/ClearUI_Input.h" +// #include "../modes/omx_mode_interface.h" +// #include "../modes/submodes/submode_clearstorage.h" + +// Singleton class for making chords +class ChordUtil +{ +public: + ChordUtil(); + + bool constructChord(ChordSettings *chord, ChordNotes *chordNotes, int8_t autoOctave, int scaleRoot, int scalePattern, bool midiFx); + bool constructChordBasic(ChordSettings * chord, ChordNotes * chordNotes, int8_t autoOctave, bool midiFx); + bool constructChordInterval(ChordSettings *chord, ChordNotes *chordNotes, int8_t autoOctave, int scaleRoot, int scalePattern, bool midiFx); + + ChordBalanceDetails getChordBalance(uint8_t balance); + MusicScales* getMusicScale(); + + void onEncoderChangedEditParam(Encoder::Update *enc, ChordSettings *chord, uint8_t selectedParmIndex, uint8_t targetParamIndex, uint8_t paramType); + void setupPageLegend(ChordSettings *chord, uint8_t index, uint8_t paramType); +private: + MusicScales musicScale_; + ChordBalanceDetails chordBalanceDetails; + + int AddOctave(int note, int8_t octave); + int TransposeNote(int note, int8_t semitones); + + void updateChordBalance(uint8_t balance); +}; + +extern ChordUtil chordUtil; diff --git a/Archive/OMX-27-firmware/src/utils/cvNote_util.cpp b/Archive/OMX-27-firmware/src/utils/cvNote_util.cpp new file mode 100644 index 00000000..0d952c2c --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/cvNote_util.cpp @@ -0,0 +1,203 @@ +#include "cvNote_util.h" +#include "../config.h" +#include "../consts/consts.h" + +const char *cvModeDispNames[] = { + "LEG", + "RTRG" +}; + +CVNoteUtil::CVNoteUtil() +{ +} +CVNoteUtil::~CVNoteUtil() +{ +} + +const char *CVNoteUtil::getTriggerModeDispName() +{ + return cvModeDispNames[triggerMode]; +} + +bool CVNoteUtil::isNoteValid(uint8_t midiNoteNum) +{ + return midiNoteNum >= cvLowestNote && midiNoteNum < cvHightestNote; +} + +uint8_t CVNoteUtil::midi2CVNote(uint8_t noteNumber) +{ + return noteNumber - cvLowestNote; +} +uint8_t CVNoteUtil::cv2MidiNote(uint8_t noteNumber) +{ + return noteNumber + cvLowestNote; +} + +void CVNoteUtil::cvNoteOn(uint8_t notenum) +{ + // Serial.println("cvNoteOn: " + String(notenum)); + + if (isNoteValid(notenum) == false) + return; + + uint8_t cvNoteNum = midi2CVNote(notenum); + + // Send the latest pitch + setPitch(cvNoteNum); + + bool areNotesHeld = cvNotes_.size() > 0; + + if (areNotesHeld) + { + // See if note is already in queue and remove it + auto it = cvNotes_.begin(); + while (it != cvNotes_.end()) + { + if (it->cvNote == cvNoteNum) + { + it = cvNotes_.erase(it); + } + else + { + ++it; + } + } + } + + // if the queue is too large, remove the oldest note at the front + if (cvNotes_.size() >= trackedSize) + { + // Serial.println("removing front, >= trackedSize"); + cvNotes_.erase(cvNotes_.begin()); + } + + CVNoteTracker cvTrackedNote; + cvTrackedNote.cvNote = cvNoteNum; + cvNotes_.push_back(cvTrackedNote); + + // How should gate be handled? + switch (triggerMode) + { + case CVTRIGMODE_LEGATO: + { + // Keep gate high while notes are played + setGate(true); + } + break; + case CVTRIGMODE_RETRIG: + { + // if (!pulseGate) + // { + // pulseGate = true; + // setGate(false); // Set gate low for period of time + // turnGateOnTime = sysSettings.timeElasped + 10000; + // } + + uint32_t currentTime = micros(); + + if (areNotesHeld) + { + if (currentTime > turnGateOnTime) + { + // Serial.println("pulseGate retrig pulse notes held"); + + pulseGate = true; + setGate(false); // Set gate low for period of time + // turnGateOnTime = sysSettings.timeElasped + 15000; + } + else + { + // Serial.println("retrig notes held"); + setGate(true); + } + } + else + { + // Serial.println("retrig pulse no notes held"); + // turn gate on with first note + setGate(true); + } + turnGateOnTime = currentTime + 10000; + } + break; + } +} + +void CVNoteUtil::cvNoteOff(uint8_t notenum) +{ + // Serial.println("cvNoteOff: " + String(notenum)); + + if (isNoteValid(notenum) == false) + return; + + uint8_t cvNoteNum = midi2CVNote(notenum); + + bool areNotesHeld = cvNotes_.size() > 0; + + // This should not happen, note on should have been tracked + if (!areNotesHeld) + { + pulseGate = false; + setGate(false); + return; + } + + // See if note is already in queue and remove it + auto it = cvNotes_.begin(); + while (it != cvNotes_.end()) + { + if (it->cvNote == cvNoteNum) + { + it = cvNotes_.erase(it); + } + else + { + ++it; + } + } + + areNotesHeld = cvNotes_.size() > 0; + + if(areNotesHeld) + { + setPitch(cvNotes_[cvNotes_.size() - 1].cvNote); + } + // No more held notes, turn gate off + else + { + pulseGate = false; + setGate(false); + } +} + +void CVNoteUtil::loopUpdate(unsigned long elapsedTime) +{ + // If notes are held and pulseGate is true, turn gate back on after some time + if(pulseGate && micros() > turnGateOnTime) + { + // Serial.println("pulse gate on loop"); + setGate(true); + pulseGate = false; + } +} + +void CVNoteUtil::setGate(bool high) +{ + // Serial.println("SetGate: " + String(high)); + + // Serial.println("notes Size: " + String(cvNotes_.size())); + + digitalWrite(CVGATE_PIN, high); +} + +void CVNoteUtil::setPitch(uint8_t cvNoteNum) +{ + cvPitch = static_cast(roundf(cvNoteNum * stepsPerSemitone)); // map (adjnote, 36, 91, 0, 4080); +#if T4 + dac.setVoltage(cvPitch, false); +#else + analogWrite(CVPITCH_PIN, cvPitch); +#endif +} + +CVNoteUtil cvNoteUtil; \ No newline at end of file diff --git a/Archive/OMX-27-firmware/src/utils/cvNote_util.h b/Archive/OMX-27-firmware/src/utils/cvNote_util.h new file mode 100644 index 00000000..20d883f6 --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/cvNote_util.h @@ -0,0 +1,56 @@ +#pragma once + +#include +#include + +enum CVTriggerModes +{ + CVTRIGMODE_LEGATO, + CVTRIGMODE_RETRIG, +}; + +class CVNoteUtil +{ +public: + CVNoteUtil(); + ~CVNoteUtil(); + + uint8_t triggerMode = CVTRIGMODE_LEGATO; + + void loopUpdate(unsigned long elapsedTime); + + void cvNoteOn(uint8_t notenum); + void cvNoteOff(uint8_t notenum); + + const char* getTriggerModeDispName(); + + int cvPitch; + +// static const uint8_t midiMiddleC = 60; +// static const uint8_t midiLowestNote = midiMiddleC - 3 * 12; // 3 is how many octaves under middle c +// static const int midiHightestNote = midiLowestNote + int(fullRangeV * 12) - 1; + +private: + struct CVNoteTracker + { + uint8_t cvNote : 6; // 0 - 54, note gets 24 added to it + }; + + bool pulseGate = false; + + uint32_t turnGateOnTime; + + static const uint8_t trackedSize = 16; + + std::vector cvNotes_; // Keeps track of which notes are being played + + static bool isNoteValid(uint8_t midiNoteNum); + + void setGate(bool high); + void setPitch(uint8_t cvNoteNum); + + static uint8_t midi2CVNote(uint8_t noteNumber); + static uint8_t cv2MidiNote(uint8_t noteNumber); +}; + +extern CVNoteUtil cvNoteUtil; \ No newline at end of file diff --git a/Archive/OMX-27-firmware/src/utils/logic_util.h b/Archive/OMX-27-firmware/src/utils/logic_util.h new file mode 100644 index 00000000..edbcf547 --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/logic_util.h @@ -0,0 +1,8 @@ +#pragma once + +#define WRAP(a, b) ((b) + ((a) % (b))) % (b) +#define ARRAYLEN(x) (sizeof(x) / sizeof(x[0])) +#define SGN(x) ((x) < 0 ? -1 : 1) +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#define CLAMP(a, min, max) (MAX(MIN(a, max), min)) diff --git a/Archive/OMX-27-firmware/src/utils/music_scales.cpp b/Archive/OMX-27-firmware/src/utils/music_scales.cpp new file mode 100644 index 00000000..f7306fc8 --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/music_scales.cpp @@ -0,0 +1,601 @@ +#include +#include "music_scales.h" +#include "../consts/colors.h" +#include "logic_util.h" +// #include "config.h" +// #include "omx_leds.h" +#include + +const uint8_t rainbowSaturation = 127; +const uint8_t scaleBrightness = 200; + +const auto ROOTNOTECOLOR = 0xA2A2FF; +const auto INSCALECOLOR = 0x000090; + +String tempFullNoteName; + +#include +extern Adafruit_NeoPixel strip; + +const int8_t scalePatterns[][7] = { + // major / ionian + {0, 2, 4, 5, 7, 9, 11}, + // dorian + {0, 2, 3, 5, 7, 9, 10}, + // phrygian + {0, 1, 3, 5, 7, 8, 10}, + // lydian + {0, 2, 4, 6, 7, 9, 11}, + // mixolydian + {0, 2, 4, 5, 7, 9, 10}, + // minor / aeolian + {0, 2, 3, 5, 7, 8, 10}, + // locrian + {0, 1, 3, 5, 6, 8, 10}, + + // melodic minor + {0, 2, 3, 5, 7, 9, 11}, + // dorian b2 + {0, 1, 3, 5, 7, 9, 10}, + // lydian #5 + {0, 2, 4, 6, 8, 9, 11}, + // lydian b7 + {0, 2, 4, 6, 7, 9, 10}, + // mixolydian b6 + {0, 2, 4, 5, 7, 8, 10}, + // half-diminished (locrian natural 2) + {0, 2, 3, 5, 6, 8, 10}, + // altered (super locrian) + {0, 1, 3, 4, 6, 8, 10}, + + // harmonic minor + {0, 2, 3, 5, 7, 8, 11}, + // locrian 6 + {0, 1, 3, 5, 6, 9, 10}, + // ionian #5 + {0, 2, 4, 5, 8, 9, 11}, + // dorian #4 + {0, 2, 3, 6, 7, 9, 10}, + // phrygian dominant + {0, 1, 4, 5, 7, 8, 10}, + // lydian #2 + {0, 3, 4, 6, 7, 9, 11}, + // super locrian bb7 + {0, 1, 3, 4, 6, 8, 9}, + + // double harmonic + {0, 1, 4, 5, 7, 8, 11}, + // lydian #2#6 + {0, 3, 4, 6, 7, 10, 11}, + // ultraphrygian + {0, 1, 3, 4, 7, 8, 9}, + // hungarian + {0, 2, 3, 6, 7, 8, 11}, + // oriental + {0, 1, 4, 5, 6, 9, 10}, + // ionian #2#5 + {0, 3, 4, 5, 8, 9, 11}, + // locrian bb3bb7 + {0, 2, 3, 5, 6, 8, 9}, + + // pentatonic scales + // major blues + {0, 2, 3, 4, 7, 9, -1}, + // minor blues + {0, 3, 5, 6, 7, 10, -1}, + // major pentatonic + {0, 2, 4, 7, 9, -1, -1}, + // minor pentatonic + {0, 3, 5, 7, 10, -1, -1}, + // in sen (japanese) + {0, 1, 5, 7, 10, -1, -1}, + // iwato + {0, 1, 5, 6, 10, -1, -1}, + // yo + {0, 2, 5, 7, 9, -1, -1}, + // hirajoshi + {0, 2, 3, 7, 8, -1, -1}, + // egyptian + {0, 2, 5, 7, 10, -1, -1}, +}; + +const char *scaleNames[] = { + "major", + "dorian", + "phrygian", + "lydian", + "mixolydian", + "minor", + "locrian", + + "mel minor", + "dorian b2", + "lydian #5", + "lydian b7", + "mixo b6", + "half-dim", + "altered", + + "harm minor", + "locrian 6", + "ionian #5", + "dorian #4", + "phrygian dom", + "lydian #2", + "sup loc bb7", + + "dbl harm.maj", + "lydian #2#6", + "ultraphrygian", + "hungarian", + "oriental", + "ionian #2#5", + "loc bb3bb7", + + "blues maj", + "blues min", + "penta maj", + "penta min", + "in sen", + "iwato", + "yo", + "hirajoshi", + "egyptian", +}; + +const char *noteNames[] = { + "C ", + "C#", + "D ", + "D#", + "E ", + "F ", + "F#", + "G ", + "G#", + "A ", + "A#", + "B ", +}; + +const char *noteNamesNoFormat[] = { + "C", + "C#", + "D", + "D#", + "E", + "F", + "F#", + "G", + "G#", + "A", + "A#", + "B", +}; + +void MusicScales::calculateScaleIfModified(uint8_t scaleRoot, uint8_t scalePattern) +{ + if (scaleRoot == rootNote && scalePattern == scaleIndex) + return; + + calculateScale(scaleRoot, scalePattern); +} + +void MusicScales::calculateScale(uint8_t scaleRoot, uint8_t scalePattern) +{ + if (scaleRoot != rootNote && scalePattern != scaleIndex) + { + scaleRemapCalculated_ = false; + } + + rootNote = scaleRoot; + scaleIndex = scalePattern; + auto pattern = getScalePattern(scalePattern); + + // auto sPattern2 = scalePatterns[scalePattern]; + + if (scalePattern == -1) + { + // disabled + for (int n = 0; n < 12; n++) + { + scaleOffsets[n] = -1; + scaleDegrees[n] = -1; + scaleColors[n] = LEDOFF; + } + } + else + { + for (int n = 0; n < 12; n++) + { + int offset = -1; + int degree = -1; + + for (int j = 0; j < 7; j++) + { + // int v = scalePatterns[scalePattern][j]; + int v = pattern[j]; + + if (v == -1) + { + continue; + } + if ((scaleRoot + v) % 12 == n) + { + offset = v; + degree = j; + break; + } + } + scaleOffsets[n] = offset; + scaleDegrees[n] = degree; + if (degree == -1) + { + scaleColors[n] = LEDOFF; + } + else + { + if (degree == 0) + { + scaleColors[n] = ROOTNOTECOLOR; + } + else + { + scaleColors[n] = INSCALECOLOR; + } + + // Use for rainbow scale + // scaleColors[n] = strip.gamma32(strip.ColorHSV((65535 / 12) * offset, rainbowSaturation, scaleBrightness)); + } + } + + int k = 0; + int octave = 0; + + // Populate offsets for group16 mode + for (int i = 0; i < 16; i++) + { + int offset = pattern[k]; + + if (offset == -1) + { + k = 0; + offset = pattern[k]; + octave++; + } + k++; + + group16Offsets[i] = offset + 12 * octave; + + if (k >= 7) + { + k = 0; + octave++; + } + } + } + scaleLength = 0; + for (int j = 0; j < 7; j++) + { + int v = pattern[j]; + if (v != -1) + { + scaleLength++; + } + } + + scaleCalculated = true; +} + +uint8_t MusicScales::getNumScales() +{ + return ARRAYLEN(scalePatterns); +} + +bool MusicScales::isNoteInScale(int8_t noteNum) +{ + // Serial.println((String)"isNoteInScale: " + noteNum ); + if (!scaleCalculated || noteNum < 0 || noteNum > 127) + { + return false; + } + + int noteIndex = noteNum % 12; + bool inScale = scaleColors[noteIndex] != LEDOFF; + + // Serial.println((String)"noteIndex: " + noteNum + " inScale: " + (inScale ? "true" : "false")); + + return inScale; +} + +// This takes a incoming note and forces it into the current scale +int8_t MusicScales::remapNoteToScale(uint8_t noteNumber) +{ + if (!scaleCalculated) + { + calculateScale(rootNote, scaleIndex); + } + + if (noteNumber > 127) + { + return -1; + } + + if (!scaleRemapCalculated_) + { + calculateRemap(); + } + + int8_t noteIndex = noteNumber % 12; + int8_t octave = noteNumber / 12; + + int8_t remapedNoteIndex = scaleRemapper[noteIndex]; + + if (remapedNoteIndex > noteIndex) + { + octave--; + } + + int newNoteNumber = octave * 12 + remapedNoteIndex; + + // note out of range, kill + if (newNoteNumber < 0 || newNoteNumber > 127) + { + return -1; + } + + return newNoteNumber; +} + +void MusicScales::calculateRemap() +{ + if (scaleIndex < 0) + { + for (uint8_t i = 0; i < 12; i++) + { + scaleRemapper[i] = i; // Chromatic scale + } + + scaleRemapCalculated_ = true; + return; + } + + auto scalePattern = getScalePattern(scaleIndex); + + uint8_t sIndex = 0; + uint8_t lastNoteIndex = 0; + + // looks through 12 notes, and sets each note to last note in scale + // so notes out of scale get rounded down to the previous note in the scale. + for (uint8_t i = 0; i < 12; i++) + { + if (sIndex < 7 && scalePattern[sIndex] == i) + { + lastNoteIndex = i; + sIndex++; + } + scaleRemapper[i] = (lastNoteIndex + rootNote) % 12; + } + + if (rootNote > 0) + { + // rotate the scale to root + int8_t temp[12]; + + uint8_t val = 12 - rootNote; + + for (uint8_t i = 0; i < 12; i++) + { + temp[i] = scaleRemapper[(i + val) % 12]; + } + for (int i = 0; i < 12; i++) + { + scaleRemapper[i] = temp[i]; + } + } + + scaleRemapCalculated_ = true; +} + +int MusicScales::getGroup16Note(uint8_t keyNum, int8_t octave) +{ + // 1,2, 3,4,5, 6,7, 8,9,10, + // 11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26 + + if (keyNum < 11 || keyNum > 26 || scaleIndex < 0) + return -1; + + int stepIndex = keyNum - 12; // C will be root note + + int adjnote; + + if (keyNum == 11) // edge case to make line up with C note + { + int offset = -1; + + for (int j = 0; j < 7; j++) // find last valid offset of scale + { + int o = scalePatterns[scaleIndex][j]; + if (o != -1) + { + offset = o; + } + } + + if (offset == -1) + return -1; + + int firstNote = group16Offsets[0] + rootNote + 60 + (octave * 12); + adjnote = firstNote + offset - 12; // lower by 1 octave + } + else + { + adjnote = group16Offsets[stepIndex] + rootNote + 60 + (octave * 12); + } + + // adjnote = constrain(adjnote, -1, 127); + + return adjnote; +} + +int8_t MusicScales::getNoteByDegree(uint8_t degree, int8_t octave) +{ + // degree should be less than 16 + if (degree >= 16) + return -1; + + int adjnote; + + if (scaleIndex < 0) + { + // Chromatically offset + adjnote = 60 + rootNote + degree + (octave * 12); + // Serial.println("Chromatic note: " + String(adjnote)); + } + else + { + adjnote = group16Offsets[degree] + rootNote + 60 + (octave * 12); + } + if (adjnote > 127 || adjnote < -1) + adjnote = -1; + adjnote = constrain(adjnote, -1, 127); + + return (int8_t)adjnote; +} + +uint8_t MusicScales::getDegreeFromNote(uint8_t noteNumber, int8_t rootNote, int8_t scalePatIndex) +{ + uint8_t noteFlat = (noteNumber + 12 - rootNote) % 12; + + // Chromatic + if(scalePatIndex < 0) + { + return noteFlat; + } + + // Root = 62 - D + // Pat = Maj : D E F# G A B C# + // note 64 = E + // noteFlat should = 2 + // degree should = 2 + // note 65 = F + // noteFlag should = 3 + // degree should = 2, round down + + // Maj scale pattern {0, 2, 4, 5, 7, 9, 11}, + + // Scale pattern should be sorted + auto scalePat = getScalePattern(scalePatIndex); + + for(uint8_t i = 0; i < 7; i++) + { + int8_t off0 = scalePat[i]; + int8_t off1 = -1; + + if(i < 6) + { + off1 = scalePat[i + 1]; + } + + // boom, perfectly in scale + if(noteFlat == off0) + { + return i; + } + // reached the end of the scale + if(off1 < 0) + { + return i; + } + // next scale offset matches this note + if(noteFlat == off1) + { + return i + 1; + } + // ot oh, note is not in the scale + if(noteFlat > off0 && noteFlat < off1) + { + // Compare distance to offsets + // If same distance, round down + // If shorter distance to off1, choose off1 + if(off1 - noteFlat < noteFlat - off0) + { + return i + 1; + } + else + { + return i; + } + } + } + + // Note sure how we'd get here + return noteFlat; +} + +int MusicScales::getScaleColor(uint8_t noteIndex) +{ + if (!scaleCalculated) + return LEDOFF; + return scaleColors[noteIndex]; +} + +int MusicScales::getGroup16Color(uint8_t keyNum) +{ + if (!scaleCalculated || keyNum < 11 || keyNum > 26 || scaleIndex < 0) + return LEDOFF; + + int note = getGroup16Note(keyNum, 4); + + if (note < 0) + return LEDOFF; + + note = note % 12; + + return scaleColors[note]; +} + +const char *MusicScales::getNoteName(uint8_t noteIndex, bool removeSpaces) +{ + // noteIndex = constrain(noteIndex, 0, 11); + if (removeSpaces) + { + return noteNamesNoFormat[noteIndex % 12]; + } + return noteNames[noteIndex % 12]; +} + +const char *MusicScales::getFullNoteName(uint8_t noteNumber) +{ + int8_t octave = (noteNumber / 12) - 2; + tempFullNoteName = String(noteNamesNoFormat[noteNumber % 12] + String(octave)); + + // strcpy(fullNoteNameBuf, noteNamesNoFormat[noteNumber % 12]); + // strcat(fullNoteNameBuf, itoa(octave,fullNoteNameBuf,10)); + + // return fullNoteNameBuf; + // int8_t octave = (noteNumber / 12) - 2; + + // String newString = noteNamesNoFormat[noteNumber % 12] + String(octave); + + // tempFullNoteName = newString; + + return tempFullNoteName.c_str(); +} + +const char *MusicScales::getScaleName(uint8_t scaleIndex) +{ + if (scaleIndex < 0 || scaleIndex >= getNumScales()) + return "off"; + return scaleNames[scaleIndex]; +} + +int MusicScales::getScaleLength() +{ + return scaleLength; +} + +const int8_t *MusicScales::getScalePattern(uint8_t patIndex) +{ + return scalePatterns[patIndex]; +} diff --git a/Archive/OMX-27-firmware/src/utils/music_scales.h b/Archive/OMX-27-firmware/src/utils/music_scales.h new file mode 100644 index 00000000..030c43c6 --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/music_scales.h @@ -0,0 +1,59 @@ +#pragma once + +class MusicScales +{ +public: + // int scaleDegrees[12]; + // int scaleOffsets[12]; + // int scaleColors[12]; + // const char* scaleNames[]; + // const char* noteNames[]; + // const int scalePatterns[][7]; + + void calculateScaleIfModified(uint8_t scaleRoot, uint8_t scalePattern); + void calculateScale(uint8_t scaleRoot, uint8_t scalePattern); + static uint8_t getNumScales(); + // int scaleLength; + + // returns true if note 0-11 is in the currently calculated scale. NoteNum should be a midi note + bool isNoteInScale(int8_t noteNum); + + // This takes a incoming note and forces it into the current scale + int8_t remapNoteToScale(uint8_t noteNumber); + + // returns a note in the scale if key is one of the lower 16. Returns -1 otherwise. + // TODO This won't work unless returns int, won't work with int8_t not sure why + int getGroup16Note(uint8_t keyNum, int8_t octave); + + int8_t getNoteByDegree(uint8_t degree, int8_t octave); + static uint8_t getDegreeFromNote(uint8_t noteNumber, int8_t rootNote, int8_t scalePatIndex); + + // Returns a color for the note + int getScaleColor(uint8_t noteIndex); + + int getGroup16Color(uint8_t keyNum); + + static const char *getNoteName(uint8_t noteIndex, bool removeSpaces = false); + static const char *getFullNoteName(uint8_t noteNumber); + static const char *getScaleName(uint8_t scaleIndex); + static const int8_t *getScalePattern(uint8_t patIndex); + int getScaleLength(); + +private: + bool scaleCalculated = false; + bool scaleRemapCalculated_ = false; + + int8_t scaleOffsets[12]; + int8_t scaleDegrees[12]; + int scaleColors[12]; + uint8_t scaleLength = 0; + + int8_t scaleRemapper[12]; + + int8_t rootNote; + int8_t scaleIndex; + + void calculateRemap(); + + int group16Offsets[16]; // 16 offsets for group16 mode +}; diff --git a/Archive/OMX-27-firmware/src/utils/omx_util.cpp b/Archive/OMX-27-firmware/src/utils/omx_util.cpp new file mode 100644 index 00000000..82e22373 --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/omx_util.cpp @@ -0,0 +1,678 @@ +#include + +#include "omx_util.h" +#include "../consts/consts.h" +#include "../midi/midi.h" +#include "../consts/colors.h" +#include "../hardware/omx_leds.h" +#include "../hardware/omx_disp.h" +#include "../midi/noteoffs.h" +#include "../modes/sequencer.h" +#include "cvNote_util.h" + +void OmxUtil::setup() +{ +} + +void OmxUtil::sendPots(int val, int channel) +{ + MM::sendControlChange(pots[potSettings.potbank][val], potSettings.analogValues[val], channel); + potSettings.potCC = pots[potSettings.potbank][val]; + potSettings.potVal = potSettings.analogValues[val]; + potSettings.potValues[val] = potSettings.potVal; +} + +float OmxUtil::randFloat() +{ + return static_cast (rand()) / static_cast (RAND_MAX); +} + +float OmxUtil::lerp(float a, float b, float t) +{ + return a + t * (b - a); +} + +void OmxUtil::advanceClock(OmxModeInterface *activeOmxMode, Micros advance) +{ + // advance is delta in Micros from previous loop update to this loop update. + + // XXXXXXXXXXXXXXXXXXXXXXXX + // Txxxxxxxxxxxxxxxxxxxxxxx - Quarter Note - 24 ticks + // TxxxxxxxxxxxTxxxxxxxxxxx - 8th note - 12 ticks + // TxxxxxTxxxxxTxxxxxTxxxxx - 16th note - 6 ticks + // TxxTxxTxxTxxTxxTxxTxxTxx - 32nd note - 3 ticks + + // TxxxxxT + // xTxxxxT + // xxTxxxT + + + activeOmxMode_ = activeOmxMode; + + signed long long adv = advance; + + // Not sure what advantage of doing the time comparison + // in a while loop like this is + // Maybe so if there is a long advance multiple clocks + // will get fired to catch up? + // Keeping like this for now as it works. + while (adv >= timeToNextClock) + { + adv -= timeToNextClock; + + // if (sendClocks_) + // { + // MM::sendClock(); + // } + + seqConfig.currentFrameMicros = micros(); + seqConfig.lastClockMicros = micros(); + + // if(seqConfig.currentClockTick == 0) + // { + // Serial.println("Quarter Note"); + // } + + // Midi Clock should be sent out at ppq of 24 + // Since ppq is 96, every 4 clock ticks should send midi clock + if(seqConfig.midiOutClockTick % 4 == 0) + { + // Should always send clock + // This way external gear can update themselves + if (clockConfig.send_always) + { + MM::sendClock(); + } + } + + if (activeOmxMode_ != nullptr) + { + // Update internally at PPQ of 94 + activeOmxMode_->onClockTick(); + } + + // timeToNextClock = clockConfig.ppqInterval * (PPQ / 24); // ppqInt=5.208ms * 4 = 20.83 milliseconds for 120 bpm, 120 bpm = 2 beats per second, a beat being a quarter note + + seqConfig.midiOutClockTick = (seqConfig.midiOutClockTick + 1) % PPQ; + seqConfig.currentClockTick = (seqConfig.currentClockTick + 1) % (PPQ * 4); + + timeToNextClock = clockConfig.ppqInterval; + } + timeToNextClock = timeToNextClock - adv; +} + +void OmxUtil::resetPPQCounter() +{ + seqConfig.currentClockTick = 0; +} + +void OmxUtil::advanceSteps(Micros advance) +{ + static Micros timeToNextStep = 0; + // static Micros stepnow = micros(); + while (advance >= timeToNextStep) + { + advance -= timeToNextStep; + timeToNextStep = clockConfig.ppqInterval; + auto currentMicros = micros(); + + pendingNoteHistory.clearIfChanged(currentMicros); + + // turn off any expiring notes + pendingNoteOffs.play(currentMicros); + + // turn on any pending notes + pendingNoteOns.play(currentMicros); + } + timeToNextStep -= advance; +} + +void OmxUtil::setGlobalSwing(int swng_amt) +{ + for (int z = 0; z < NUM_SEQ_PATTERNS; z++) + { + sequencer.getPattern(z)->swing = swng_amt; + } +} + +void OmxUtil::resetClocks() +{ + // BPM tempo to step_delay calculation + // 60000000 = 60 secs + clockConfig.ppqInterval = 60000000 / (PPQ * clockConfig.clockbpm); // ppq interval is in microseconds, 96 * 120 = 11520, 60000000 / 11520 = 52083 microsecond, * 0.001 = 5.208 milliseconds, + clockConfig.step_micros = clockConfig.ppqInterval * (PPQ / 4); // 16th note step in microseconds (quarter of quarter note) + + // 16th note step length in milliseconds + clockConfig.step_delay = clockConfig.step_micros * 0.001; // ppqInterval * 0.006; // 60000 / clockbpm / 4; +} + +void OmxUtil::restartClocks() +{ + resetClocks(); + timeToNextClock = 0; + seqConfig.currentFrameMicros = micros(); + seqConfig.lastClockMicros = seqConfig.currentFrameMicros; +} + +void OmxUtil::startClocks() +{ + sendClocks_ = true; + clockConfig.send_always = true; + MM::startClock(); +} + +void OmxUtil::resumeClocks() +{ + sendClocks_ = true; + clockConfig.send_always = true; + MM::continueClock(); +} + +void OmxUtil::stopClocks() +{ + sendClocks_ = false; + clockConfig.send_always = false; + MM::stopClock(); +} + +bool OmxUtil::areClocksRunning() +{ + return sendClocks_; +} + +// void OmxUtil::cvNoteOn(uint8_t notenum) +// { +// if (notenum >= cvLowestNote && notenum < cvHightestNote) +// { +// midiSettings.pitchCV = static_cast(roundf((notenum - cvLowestNote) * stepsPerSemitone)); // map (adjnote, 36, 91, 0, 4080); +// digitalWrite(CVGATE_PIN, HIGH); +// // analogWrite(CVPITCH_PIN, midiSettings.pitchCV); +// #if T4 +// dac.setVoltage(midiSettings.pitchCV, false); +// #else +// analogWrite(CVPITCH_PIN, midiSettings.pitchCV); +// #endif +// } +// } +// void OmxUtil::cvNoteOff(uint8_t notenum) +// { +// if (notenum >= cvLowestNote && notenum < cvHightestNote) +// { +// digitalWrite(CVGATE_PIN, LOW); +// // analogWrite(CVPITCH_PIN, 0); +// } +// } + +void OmxUtil::midiNoteOn(int notenum, int velocity, int channel) +{ + midiNoteOn(nullptr, notenum, velocity, channel); +} + +// #### Outbound MIDI Mode note on/off +void OmxUtil::midiNoteOn(MusicScales *scale, int notenum, int velocity, int channel) +{ + int adjnote = notes[notenum] + (midiSettings.octave * 12); // adjust key for octave range + + if (scale != nullptr) + { + if (scaleConfig.group16) + { + adjnote = scale->getGroup16Note(notenum, midiSettings.octave); + } + else + { + if (scaleConfig.lockScale && scale->isNoteInScale(adjnote) == false) + return; // Only play note if in scale + } + } + + midiSettings.rrChannel = (midiSettings.rrChannel % midiSettings.midiRRChannelCount) + 1; + int adjchan = midiSettings.rrChannel; + + if (adjnote >= 0 && adjnote < 128) + { + midiSettings.midiLastNote = adjnote; + midiSettings.midiLastVel = velocity; + + // keep track of adjusted note when pressed so that when key is released we send + // the correct note off message + midiSettings.midiKeyState[notenum] = adjnote; + + // RoundRobin Setting? + if (midiSettings.midiRoundRobin) + { + adjchan = midiSettings.rrChannel + midiSettings.midiRRChannelOffset; + } + else + { + adjchan = channel; + } + midiSettings.midiChannelState[notenum] = adjchan; + MM::sendNoteOn(adjnote, velocity, adjchan); + // CV + cvNoteUtil.cvNoteOn(adjnote); + } + else + { + return; // no note sent, don't light LEDs + } + + strip.setPixelColor(notenum, MIDINOTEON); // Set pixel's color (in RAM) + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +void OmxUtil::allOff() +{ + for (uint8_t i = 0; i < 27; i++) + { + if (midiSettings.midiKeyState[i] >= 0) + { + midiNoteOff(i, midiSettings.midiChannelState[i]); + } + } +} + +void OmxUtil::midiNoteOff(int notenum, int channel) +{ + // we use the key state captured at the time we pressed the key to send the correct note off message + int adjnote = midiSettings.midiKeyState[notenum]; + int adjchan = midiSettings.midiChannelState[notenum]; + if (adjnote >= 0 && adjnote < 128) + { + MM::sendNoteOff(adjnote, 0, adjchan); + // CV off + cvNoteUtil.cvNoteOff(adjnote); + midiSettings.midiKeyState[notenum] = -1; + } + + strip.setPixelColor(notenum, LEDOFF); + omxLeds.setDirty(); + omxDisp.setDirty(); +} + +MidiNoteGroup OmxUtil::midiNoteOn2(MusicScales *scale, int notenum, int velocity, int channel) +{ + int adjnote = notes[notenum] + (midiSettings.octave * 12); // adjust key for octave range + + MidiNoteGroup noteGroup; + + if (scale != nullptr) + { + if (scaleConfig.group16) + { + adjnote = scale->getGroup16Note(notenum, midiSettings.octave); + } + else + { + if (scaleConfig.lockScale && scale->isNoteInScale(adjnote) == false) + { + noteGroup.noteNumber = 255; + return noteGroup; // Only play note if in scale + } + } + } + + midiSettings.rrChannel = (midiSettings.rrChannel % midiSettings.midiRRChannelCount) + 1; + int adjchan = midiSettings.rrChannel; + + if (adjnote >= 0 && adjnote < 128) + { + midiSettings.midiLastNote = adjnote; + midiSettings.midiLastVel = velocity; + + // keep track of adjusted note when pressed so that when key is released we send + // the correct note off message + midiSettings.midiKeyState[notenum] = adjnote; + + // RoundRobin Setting? + if (midiSettings.midiRoundRobin) + { + adjchan = midiSettings.rrChannel + midiSettings.midiRRChannelOffset; + } + else + { + adjchan = channel; + } + midiSettings.midiChannelState[notenum] = adjchan; + + noteGroup.noteNumber = adjnote; + noteGroup.velocity = velocity; + noteGroup.channel = adjchan; + noteGroup.stepLength = 0; + noteGroup.sendMidi = true; + noteGroup.sendCV = true; + noteGroup.noteonMicros = micros(); + + // MM::sendNoteOn(adjnote, velocity, adjchan); + // // CV + // cvNoteOn(adjnote); + } + else + { + noteGroup.noteNumber = 255; + return noteGroup; // no note sent, don't light LEDs + } + + strip.setPixelColor(notenum, MIDINOTEON); // Set pixel's color (in RAM) + omxLeds.setDirty(); + omxDisp.setDirty(); + + return noteGroup; +} + +MidiNoteGroup OmxUtil::midiNoteOff2(int notenum, int channel) +{ + // we use the key state captured at the time we pressed the key to send the correct note off message + int adjnote = midiSettings.midiKeyState[notenum]; + int adjchan = midiSettings.midiChannelState[notenum]; + + MidiNoteGroup noteGroup; + noteGroup.noteOff = true; + + if (adjnote >= 0 && adjnote < 128) + { + // MM::sendNoteOff(adjnote, 0, adjchan); + // CV off + // cvNoteOff(); + midiSettings.midiKeyState[notenum] = -1; + + noteGroup.noteNumber = adjnote; + noteGroup.velocity = 0; + noteGroup.channel = adjchan; + noteGroup.stepLength = 0; + noteGroup.sendMidi = true; + noteGroup.sendCV = true; + noteGroup.noteonMicros = micros(); + } + else + { + noteGroup.noteNumber = 255; + return noteGroup; + } + + strip.setPixelColor(notenum, LEDOFF); + omxLeds.setDirty(); + omxDisp.setDirty(); + + return noteGroup; +} + +MidiNoteGroup OmxUtil::midiDrumNoteOn(uint8_t keyIndex, uint8_t notenum, int velocity, int channel) +{ + MidiNoteGroup noteGroup; + + // Not a valid note + if(notenum >= 128) + { + noteGroup.noteNumber = 255; + return noteGroup; + } + + // keep track of adjusted note when pressed so that when key is released we send + // the correct note off message + midiSettings.midiKeyState[keyIndex] = notenum; + midiSettings.midiChannelState[keyIndex] = channel; + + noteGroup.noteNumber = notenum; + noteGroup.velocity = velocity; + noteGroup.channel = channel; + noteGroup.stepLength = 0; + noteGroup.sendMidi = true; + noteGroup.sendCV = true; + noteGroup.noteonMicros = micros(); + + midiSettings.midiLastNote = notenum; + midiSettings.midiLastVel = velocity; + omxLeds.setDirty(); + omxDisp.setDirty(); + + return noteGroup; +} + +MidiNoteGroup OmxUtil::midiDrumNoteOff(uint8_t keyIndex) +{ + // we use the key state captured at the time we pressed the key to send the correct note off message + int adjnote = midiSettings.midiKeyState[keyIndex]; + int adjchan = midiSettings.midiChannelState[keyIndex]; + + MidiNoteGroup noteGroup; + noteGroup.noteOff = true; + + if (adjnote >= 0 && adjnote < 128) + { + midiSettings.midiKeyState[keyIndex] = -1; + + noteGroup.noteNumber = adjnote; + noteGroup.velocity = 0; + noteGroup.channel = adjchan; + noteGroup.stepLength = 0; + noteGroup.sendMidi = true; + noteGroup.sendCV = true; + noteGroup.noteonMicros = micros(); + } + else + { + noteGroup.noteNumber = 255; + return noteGroup; + } + + omxLeds.setDirty(); + omxDisp.setDirty(); + + return noteGroup; +} + +void OmxUtil::onEncoderChangedEditParam(Encoder::Update *enc, uint8_t selectedParmIndex, uint8_t targetParamIndex, uint8_t paramType) +{ + onEncoderChangedEditParam(enc, nullptr, selectedParmIndex, targetParamIndex, paramType); +} + +void OmxUtil::onEncoderChangedEditParam(Encoder::Update *enc, MusicScales *musicScale, uint8_t selectedParmIndex, uint8_t targetParamIndex, uint8_t paramType) +{ + if (selectedParmIndex != targetParamIndex) + return; + + auto amtSlow = enc->accel(1); + auto amtFast = enc->accel(5); + + switch (paramType) + { + case GPARAM_MOUT_OCT: + { + midiSettings.octave = constrain(midiSettings.octave + amtSlow, -5, 4); + } + break; + case GPARAM_MOUT_CHAN: + { + sysSettings.midiChannel = constrain(sysSettings.midiChannel + amtSlow, 1, 16); + } + break; + case GPARAM_MOUT_VEL: + { + midiSettings.defaultVelocity = constrain((int)midiSettings.defaultVelocity + amtFast, 0, 127); // cast to int to prevent rollover + } + break; + case GPARAM_MIDI_THRU: + { + midiSettings.midiSoftThru = constrain(midiSettings.midiSoftThru + amtSlow, 0, 1); + } + break; + case GPARAM_POTS_PBANK: + { + potSettings.potbank = constrain(potSettings.potbank + amtSlow, 0, NUM_CC_BANKS - 1); + } + break; + case GPARAM_SCALE_ROOT: + { + if (musicScale != nullptr) + { + int prevRoot = scaleConfig.scaleRoot; + scaleConfig.scaleRoot = constrain(scaleConfig.scaleRoot + amtSlow, 0, 12 - 1); + if (prevRoot != scaleConfig.scaleRoot) + { + musicScale->calculateScale(scaleConfig.scaleRoot, scaleConfig.scalePattern); + } + } + } + break; + case GPARAM_SCALE_PAT: + { + if (musicScale != nullptr) + { + int prevPat = scaleConfig.scalePattern; + scaleConfig.scalePattern = constrain(scaleConfig.scalePattern + amtSlow, -1, musicScale->getNumScales() - 1); + if (prevPat != scaleConfig.scalePattern) + { + omxDisp.displayMessage(musicScale->getScaleName(scaleConfig.scalePattern)); + musicScale->calculateScale(scaleConfig.scaleRoot, scaleConfig.scalePattern); + } + } + } + break; + case GPARAM_SCALE_LOCK: + { + scaleConfig.lockScale = constrain(scaleConfig.lockScale + amtSlow, 0, 1); + } + break; + case GPARAM_SCALE_GRP16: + { + scaleConfig.group16 = constrain(scaleConfig.group16 + amtSlow, 0, 1); + } + break; + case GPARAM_MACRO_MODE: + { + midiMacroConfig.midiMacro = constrain(midiMacroConfig.midiMacro + amtSlow, 0, nummacromodes); + } + break; + case GPARAM_MACRO_CHAN: + { + midiMacroConfig.midiMacroChan = constrain(midiMacroConfig.midiMacroChan + amtSlow, 1, 16); + } + break; + case GPARAM_MIDI_LASTNOTE: + case GPARAM_MIDI_LASTVEL: + case GPARAM_POTS_LASTVAL: + case GPARAM_POTS_LASTCC: + { + Serial.println("Param not editable: "); + Serial.println(paramType); + } + break; + } +} + +void OmxUtil::setupPageLegend(uint8_t index, uint8_t paramType) +{ + setupPageLegend(nullptr, index, paramType); +} + +void OmxUtil::setupPageLegend(MusicScales *musicScale, uint8_t index, uint8_t paramType) +{ + switch (paramType) + { + case GPARAM_MOUT_OCT: + { + omxDisp.legends[index] = "OCT"; + omxDisp.legendVals[index] = (int)midiSettings.octave + 4; + } + break; + case GPARAM_MOUT_CHAN: + { + omxDisp.legends[index] = "CH"; + omxDisp.legendVals[index] = sysSettings.midiChannel; + } + break; + case GPARAM_MOUT_VEL: + { + omxDisp.legends[index] = "VEL"; + omxDisp.legendVals[index] = midiSettings.defaultVelocity; + } + break; + case GPARAM_MIDI_THRU: + { + omxDisp.legends[index] = "THRU"; // MIDI thru (usb to hardware) + omxDisp.legendText[index] = midiSettings.midiSoftThru ? "On" : "Off"; + } + break; + case GPARAM_MIDI_LASTNOTE: + { + omxDisp.legends[index] = "NOTE"; + omxDisp.legendVals[index] = midiSettings.midiLastNote; + } + break; + case GPARAM_MIDI_LASTVEL: + { + omxDisp.legends[index] = "VEL"; + omxDisp.legendVals[index] = midiSettings.midiLastVel; + } + break; + case GPARAM_POTS_LASTCC: + { + omxDisp.legends[index] = "P CC"; + omxDisp.legendVals[index] = potSettings.potCC; + } + break; + case GPARAM_POTS_LASTVAL: + { + omxDisp.legends[index] = "P VAL"; + omxDisp.legendVals[index] = potSettings.potVal; + } + break; + case GPARAM_POTS_PBANK: + { + omxDisp.legends[index] = "PBNK"; // Potentiometer Banks + omxDisp.legendVals[index] = potSettings.potbank + 1; + } + break; + case GPARAM_SCALE_ROOT: + { + if(musicScale != nullptr) + { + omxDisp.legends[index] = "ROOT"; + omxDisp.legendText[index] = musicScale->getNoteName(scaleConfig.scaleRoot); + } + } + break; + case GPARAM_SCALE_PAT: + { + omxDisp.legends[index] = "SCALE"; + + if (scaleConfig.scalePattern < 0) + { + omxDisp.legendText[index] = "CHRM"; + } + else + { + omxDisp.legendVals[index] = scaleConfig.scalePattern; + } + } + break; + case GPARAM_SCALE_LOCK: + { + omxDisp.legends[index] = "LOCK"; + omxDisp.legendText[index] = scaleConfig.lockScale ? "On" : "Off"; + } + break; + case GPARAM_SCALE_GRP16: + { + omxDisp.legends[index] = "GROUP"; + omxDisp.legendText[index] = scaleConfig.group16 ? "On" : "Off"; + } + break; + case GPARAM_MACRO_MODE: + { + omxDisp.legends[index] = "MCRO"; // Macro mode + omxDisp.legendText[index] = macromodes[midiMacroConfig.midiMacro]; + } + break; + case GPARAM_MACRO_CHAN: + { + omxDisp.legends[index] = "M-CH"; + omxDisp.legendVals[index] = midiMacroConfig.midiMacroChan; + } + break; + } +} + +OmxUtil omxUtil; diff --git a/Archive/OMX-27-firmware/src/utils/omx_util.h b/Archive/OMX-27-firmware/src/utils/omx_util.h new file mode 100644 index 00000000..40ed945d --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/omx_util.h @@ -0,0 +1,101 @@ +#pragma once +#include "../config.h" +#include "../utils/music_scales.h" +#include "../modes/omx_mode_interface.h" +#include "../modes/submodes/submode_clearstorage.h" + +enum GlobalParams +{ + GPARAM_MOUT_OCT, + GPARAM_MOUT_CHAN, + GPARAM_MOUT_VEL, + GPARAM_MIDI_THRU, + GPARAM_MIDI_LASTNOTE, + GPARAM_MIDI_LASTVEL, + GPARAM_POTS_LASTVAL, + GPARAM_POTS_LASTCC, + GPARAM_POTS_PBANK, + GPARAM_SCALE_ROOT, + GPARAM_SCALE_PAT, + GPARAM_SCALE_LOCK, + GPARAM_SCALE_GRP16, + GPARAM_MACRO_MODE, + GPARAM_MACRO_CHAN, + GPARAM_CLOCK_SOURCE, + GPARAM_CLOCK_SEND +}; + +class OmxUtil +{ +public: + OmxUtil() + { + } + + void setup(); + + void sendPots(int val, int channel); + + // random float between 0.0 to 1.0, inclusive + static float randFloat(); + + // Assumes b is greater than a + static float lerp(float a, float b, float t); + + // #### Clocks, might want to put in own class + void advanceClock(OmxModeInterface *activeOmxMode, Micros advance); + void advanceSteps(Micros advance); + void setGlobalSwing(int swng_amt); + void resetPPQCounter(); + void resetClocks(); + void restartClocks(); + + void startClocks(); + void resumeClocks(); + void stopClocks(); + + bool areClocksRunning(); + + // #### Outbound CV note on/off + // void cvNoteOn(uint8_t notenum); + // void cvNoteOff(uint8_t notenum); + + // #### Outbound MIDI note on/off + void midiNoteOn(int notenum, int velocity, int channel); + void midiNoteOn(MusicScales *scale, int notenum, int velocity, int channel); + void midiNoteOff(int notenum, int channel); + + void allOff(); + + MidiNoteGroup midiNoteOn2(MusicScales *scale, int notenum, int velocity, int channel); + MidiNoteGroup midiNoteOff2(int notenum, int channel); + + MidiNoteGroup midiDrumNoteOn(uint8_t keyIndex, uint8_t notenum, int velocity, int channel); + MidiNoteGroup midiDrumNoteOff(uint8_t keyIndex); + + // Used for global params defined in GlobalParams to avoid code duplication + // called on Encoder update to edit a parameter + void onEncoderChangedEditParam(Encoder::Update *enc, uint8_t selectedParmIndex, uint8_t targetParamIndex, uint8_t paramType); + void onEncoderChangedEditParam(Encoder::Update *enc, MusicScales *musicScale, uint8_t selectedParmIndex, uint8_t targetParamIndex, uint8_t paramType); + + // Used for global page legends defined in GlobalParams to avoid code duplication + void setupPageLegend(uint8_t index, uint8_t paramType); + void setupPageLegend(MusicScales *musicScale, uint8_t index, uint8_t paramType); + + SubModeClearStorage subModeClearStorage; + +private: + // int potbank = 0; + // int analogValues[5] = {0,0,0,0,0}; // default values + // int potValues[5] = {0,0,0,0,0}; + // int potCC = pots[potbank][0]; + // int potVal = analogValues[0]; + + // signed to avoid rollover + signed long long timeToNextClock = 0; + + bool sendClocks_ = true; + OmxModeInterface *activeOmxMode_; +}; + +extern OmxUtil omxUtil; diff --git a/Archive/OMX-27-firmware/src/utils/param_manager.cpp b/Archive/OMX-27-firmware/src/utils/param_manager.cpp new file mode 100644 index 00000000..b4623cdc --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/param_manager.cpp @@ -0,0 +1,264 @@ +#include "param_manager.h" + +// Max 10 pages +int8_t ParamManager::addPage(uint8_t numberOfParams) +{ + if (numberOfPages >= kMaxPages) + return -1; + + uint8_t newPageIndex = numberOfPages; + pageConfigs[newPageIndex].numberOfParams = numberOfParams; + pageConfigs[newPageIndex].enabled = true; + numberOfPages = numberOfPages + 1; + return newPageIndex; +} + +int8_t ParamManager::addPages(uint8_t numberOfPages) +{ + int8_t result = -1; + + for(uint8_t i = 0; i < numberOfPages; i++) + { + result = addPage(4); + if(result < 0) + { + return result; + } + } + + return result; +} + +void ParamManager::setPageEnabled(uint8_t pageIndex, bool enablePage) +{ + if (pageIndex < 0 || pageIndex > numberOfPages) + return; + + pageConfigs[pageIndex].enabled = enablePage; + + if (!enablePage && selectedPage == pageIndex) + { + for (int8_t i = pageIndex - 1; i >= 0; i--) + { + if (pageConfigs[i].enabled) + { + selectedPage = i; + return; + } + } + + for (int8_t i = pageIndex + 1; i < numberOfPages; i++) + { + if (pageConfigs[i].enabled) + { + selectedPage = i; + return; + } + } + } +} + +void ParamManager::changeParam(int8_t direction) +{ + if (direction == 0) + return; + if (direction > 0) + incrementParam(); + else + decrementParam(); +} + +bool ParamManager::isFirstPage(int8_t pageIndex) +{ + if (pageIndex == 0) + return true; + + for (int8_t i = pageIndex - 1; i >= 0; i--) + { + if (pageConfigs[i].enabled) + { + return false; + } + } + return true; // no pages ahead of this one found +} + +bool ParamManager::isLastPage(int8_t pageIndex) +{ + if (pageIndex == numberOfPages - 1) + return true; + + for (int8_t i = pageIndex + 1; i < numberOfPages; i++) + { + if (pageConfigs[i].enabled) + { + return false; + } + } + return true; +} + +void ParamManager::incrementParam() +{ + if (numberOfPages == 0) + return; + + selectedParam++; + if (selectedParam >= pageConfigs[selectedPage].numberOfParams) + { + if (rollPages || !isLastPage(selectedPage)) // Roll unless last page or roll pages + { + selectedParam = 0; + } + else + { + selectedParam = max(min(selectedParam - 1, pageConfigs[selectedPage].numberOfParams - 1), 0); + } + + if (!lockSelectedPage) + { + incrementPage(); + selectedParam = constrain(selectedParam, 0, pageConfigs[selectedPage].numberOfParams - 1); + } + } +} +void ParamManager::decrementParam() +{ + if (numberOfPages == 0) + return; + + selectedParam--; + if (selectedParam < 0) + { + if (rollPages || !isFirstPage(selectedPage)) // Roll unless first page or roll pages + { + selectedParam = max(pageConfigs[selectedPage].numberOfParams - 1, 0); + } + else + { + selectedParam = 0; + } + + if (!lockSelectedPage) + { + decrementPage(); + + selectedParam = constrain(selectedParam, 0, pageConfigs[selectedPage].numberOfParams - 1); + } + } +} + +void ParamManager::incrementPage() +{ + if (numberOfPages == 0) + return; + + bool foundEnabledPage = false; + + for (int8_t i = selectedPage + 1; i < numberOfPages; i++) + { + if (pageConfigs[i].enabled) + { + selectedPage = i; + foundEnabledPage = true; + break; + } + } + + if (!foundEnabledPage) + { + selectedPage = selectedPage + 1; + } + + if (selectedPage >= numberOfPages) + { + if (rollPages) + { + selectedPage = 0; + } + else + { + selectedPage = max(selectedPage - 1, 0); + } + } +} +void ParamManager::decrementPage() +{ + if (numberOfPages == 0) + return; + + bool foundEnabledPage = false; + + for (int8_t i = selectedPage - 1; i >= 0; i--) + { + if (pageConfigs[i].enabled) + { + selectedPage = i; + foundEnabledPage = true; + break; + } + } + + if (!foundEnabledPage) + { + selectedPage = selectedPage - 1; + } + + if (selectedPage < 0) + { + if (rollPages) + { + selectedPage = numberOfPages - 1; + } + else + { + selectedPage = min(selectedPage + 1, numberOfPages - 1); + } + } +} + +int8_t ParamManager::getSelPage() +{ + return selectedPage; +} + +void ParamManager::setSelPage(int8_t newPage) +{ + if (newPage < 0 || newPage >= numberOfPages) + return; + selectedPage = newPage; +} + +void ParamManager::setSelPageAndParam(int8_t newPage, int8_t newParam) +{ + setSelPage(newPage); + setSelParam(newParam); +} + +int8_t ParamManager::getSelParam() +{ + return selectedParam; +} + +void ParamManager::setSelParam(int8_t newParam) +{ + if (numberOfPages == 0) + return; + if (newParam < 0 || newParam >= pageConfigs[selectedPage].numberOfParams) + return; + + selectedParam = newParam; +} + +uint8_t ParamManager::getNumPages() +{ + return numberOfPages; +} + +uint8_t ParamManager::getNumOfParamsForPage(uint8_t pageIndex) +{ + if (numberOfPages == 0 || pageIndex < 0 || pageIndex >= numberOfPages) + return 0; + + return pageConfigs[pageIndex].numberOfParams; +} diff --git a/Archive/OMX-27-firmware/src/utils/param_manager.h b/Archive/OMX-27-firmware/src/utils/param_manager.h new file mode 100644 index 00000000..1763329e --- /dev/null +++ b/Archive/OMX-27-firmware/src/utils/param_manager.h @@ -0,0 +1,55 @@ +#pragma once +#include + +class ParamManager +{ +public: + static const int kMaxPages = 10; + + // If true page will loop back to first after going past last page + // If false, page will not increment + bool rollPages = false; + + // If true the current page will be locked. Incrementing or decrementing params will loop on current page + bool lockSelectedPage = false; + + // Max 10 pages, returns index of new page. returns -1 if can't add + int8_t addPage(uint8_t numberOfParams = 4); + + // Adds multiple pages with 4 params each, returns -1 if pages could not be added + int8_t addPages(uint8_t numberOfPages); + + // Increment or decrement based on direction + // < 0 == CCW > 0 == CW 0 = do nothing + void changeParam(int8_t direction); + void setPageEnabled(uint8_t pageIndex, bool enablePage); + void incrementParam(); + void decrementParam(); + + void incrementPage(); + void decrementPage(); + + int8_t getSelPage(); + void setSelPage(int8_t newPage); + void setSelPageAndParam(int8_t newPage, int8_t newParam); + + int8_t getSelParam(); + void setSelParam(int8_t newParam); + uint8_t getNumPages(); + uint8_t getNumOfParamsForPage(uint8_t pageIndex); + +private: + struct PageConfig + { + uint8_t numberOfParams : 6; + bool enabled; + }; + + int8_t selectedPage = 0; + int8_t selectedParam = 0; + uint8_t numberOfPages = 0; + PageConfig pageConfigs[kMaxPages]; + + bool isFirstPage(int8_t pageIndex); + bool isLastPage(int8_t pageIndex); +}; diff --git a/OMX-27-firmware/usb_names.c b/Archive/OMX-27-firmware/usb_names.c similarity index 100% rename from OMX-27-firmware/usb_names.c rename to Archive/OMX-27-firmware/usb_names.c diff --git a/Archive/OMX27_CheatSheet.pdf b/Archive/OMX27_CheatSheet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f6a36d669e2c7678c07fae80e5eedbb6ba3e72de GIT binary patch literal 332498 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≫0`N!D-q&M^g-0-$`6| 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
yjIvqcKIC!NHOo`b9%6C-E0@FgrKK&8R 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

O!at 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 literal 0 HcmV?d00001 diff --git a/Archive/README.md b/Archive/README.md new file mode 100644 index 00000000..d7c450f6 --- /dev/null +++ b/Archive/README.md @@ -0,0 +1,128 @@ +# OMX-27 HARDWARE VERSIONS 1 and 2 + +Mechanical key switch midi keyboard and sequencer. Based on Teensy 3.2 and Cherry MX RGB key switches. + +Full kits and partial kits are [available for sale here](https://www.denki-oto.com/). + +Dimensions: 313mm x 65mm + +## Firmware + + +Kits are shipped with a blank Teensy. You will need to flash the firmware to the device. + +### Load pre-compiled firmware w/ TyUpdater + +Download the correct OMX-27 firmware "hex" file from the [GitHub Releases page](https://github.com/okyeron/OMX-27/releases) page or the Firmware-Hexes directory in this repo. + +NOTE - 2023 boards with Teensy 4.0 have a different firmware and will have a "T4" suffix. + +Get TyTools [from GitHub here](https://github.com/Koromix/tytools/releases). More info here (https://koromix.dev/tytools). + +Copy TyUploader to your machine and open it. Be sure your OMX-27 is plugged in. It should show up in the TyUpdater application. + +tyupdater + +Click the Upload button and select the firmware hex file you want to upload. This should upload the firmware and the OMX-27 should reboot. That's it. + + +### Teensyduino (compile yourself) + +Install Teensyduino from the [PJRC website](https://www.pjrc.com/teensy/teensyduino.html). + +In Teensyduino Library Manager - check to be sure these are installed and on the most recent versions. + +__Libraries:__ +Adafruit_Keypad +Adafruit_NeoPixel +Adafruit_SSD1306 +Adafruit_GFX_Library +U8g2_for_Adafruit_GFX +Adafruit_FRAM_I2C +Adafruit_MCP4725 + +![image](https://github.com/okyeron/OMX-27/assets/19356109/c241a3f8-1e7d-416c-8437-411b19238e09) + + +Also check to be sure MIDI Library (by Francois Best / fortyseveneffects) is updated to 5.02 (I believe this is installed by default with Teensyduino) + +Set the following for the Teensy under the Tools menu: + +__Board: Teensy 3.2/3.1__ or __Board: Teensy 4.0__ +__USB Type: MIDI__ +__CPU Speed: 120 MHz (overclock)__ + +Open the sketch at `OMX-27-firmware/OMX-27-firmware.ino`, click verify to ensure it all compiles and upload to flash the firmware to the hardware, pushing the button on the Teensy first. + +### PlatformIO / VSCode (optional) + +Ensure Homebrew in installed. [Instructions](https://brew.sh/) +Install PlatformIO CLI tools. [Detailed Instructions](https://platformio.org/install/cli) + +```sh +# Mac OSX +brew install platformio + +# check out the project +git checkout https://github.com/okyeron/OMX-27.git + +# go to the project directory +cd OMX-27 + +# compile the project (this may take a while the first time) +pio run + +# upload to hardware (don't forget to push button on Teensy) +pio run -t upload + +# use serial monitor for debugging +pio device monitor + +# clear FRAM/EEPROM +pio run -t clear-storage +``` + +(optional) Install PlatformIO IDE VSCode extension. [Instructions](https://platformio.org/platformio-ide) + +Install EditorConfig extension for your text editor. [Instructions](https://editorconfig.org/) + +Note: when making changes using the PlatformIO toolchain, please ensure the sketch still builds on Teensyduino before opening a PR. + +## BOM + +[Bill of Materials]() + +## Build + +[Build Guide]() + +## Docs + +[Documentation]() + +## Web Configurator + +[Online Configurator](https://okyeron.github.io/OMX-27/webconfig/index.html) + +## FAQ + +Q: What key switches are recommended? +A: Any RGB switches with a Cherry MX footprint can be used - I'm using Cherry MX RGB and these are linked in the [BOM](). Different varieties are available (Red, Brown, etc.) + +Q: Can I use other key switches? +A: Yes - as long as they have the same footprint as Cherry MX switches and a window/opening for the LED to shine through. Low profile keys like the Cherry Low Profile or Kailh Choc switches have a different footprint and will not work. + +Q: What about recommended Keycaps? +A: Also listed in the [BOM](). You want an MX stem cap, with translucency or a window for the LED to shine through. DSA profile caps work well. + +Q: Does this project require soldering? +A: Yes. Thru-hole soldering is required along with some easy SMD (LEDs and jacks). + +Q: What's with these LEDs? +A: This project uses SK6812-MINI-E reverse mount LEDs. They are somewhat hard to find, so I'll try to offer them included with kits. They are easy to solder, even if you've not done much SMD. + +Q: Can I get the Gerbers or order the pcbs myself? +A: No. Not open source at this time. + +Q: Can I get some of those windowed keycaps you're using? +A: Yes (send me an email). diff --git a/Archive/build/BOM.md b/Archive/build/BOM.md new file mode 100644 index 00000000..e52ae2c6 --- /dev/null +++ b/Archive/build/BOM.md @@ -0,0 +1,96 @@ +# OMX-27 BOM + + +| Mouser | QTY | Part | Value | Package | +|-----|:--:|-----|-----|-----| +|[RC0805FR-1047RL](http://www.mouser.com/Search/ProductDetail.aspx?R=RC0805FR-1047RL)|2|R7 R8|47R|0805| +|[603-RC0805FR-0710KL](http://www.mouser.com/Search/ProductDetail.aspx?R=603-RC0805FR-0710KL)|2|R1 R2|10K|0805| +|[652-CR0805-FX2202ELF](http://www.mouser.com/Search/ProductDetail.aspx?R=652-CR0805-FX2202ELF)|2|R4 R6|22K|0805| +|[RC0805FR-1056KL](http://www.mouser.com/Search/ProductDetail.aspx?R=RC0805FR-1056KL)|2|R3 R5|56K|0805| +|[80-C0805C104J5RACLR](http://www.mouser.com/Search/ProductDetail.aspx?R=80-C0805C104J5RACLR)|28|C1-C29|100nF|0805| +|[710-885382207006](http://www.mouser.com/Search/ProductDetail.aspx?R=710-885382207006)|2|C30, C31|10nF|0805| +|[621-1N4148W-F](http://www.mouser.com/Search/ProductDetail.aspx?R=621-1N4148W-F)|27|D1-D27|1N4148 Diode|SOD-123| +|[SJ-3523-SMT-TR](http://www.mouser.com/Search/ProductDetail.aspx?R=SJ-3523-SMT-TR)|1|J1|SJ-3523-SMT-TR|3.5 mm jack stereo| +|[490-MJ-3523-SMT-TR](http://www.mouser.com/Search/ProductDetail.aspx?R=490-MJ-3523-SMT-TR)|2|J2,J3|MJ-3523-SMT|3.5 mm jack mono| +|[540-MX3A-L1NA](http://www.mouser.com/Search/ProductDetail.aspx?R=540-MX3A-L1NA)|27|K1-K27|CHERRY-MX|CHERRY-MX RGB Silent Red \*| +|[595-TLV9062IDR](http://www.mouser.com/Search/ProductDetail.aspx?R=595-TLV9062IDR)|1|U1|SOIC127P600X175-8N|TLV9062IDR| +|[AYZ0202AGRLC](http://www.mouser.com/Search/ProductDetail.aspx?R=AYZ0202AGRLC)|1|S1|DPDT Switch|SWITCH-DPDT-SMD-AYZ0202| +|[688-RK09K1130A5R](http://www.mouser.com/Search/ProductDetail.aspx?R=688-RK09K1130A5R)|5|VR1-VR4,VR6|10K|9MM_SNAP-IN_POT*| +|[652-PEC11R-4015F-S24](http://www.mouser.com/Search/ProductDetail.aspx?R=652-PEC11R-4015F-S24)|1|VR5|PEC11+SWITCH|Encoder with Switch| +| [aliexpress](https://www.aliexpress.com/item/4000475685852.html?spm=a2g0s.9042311.0.0.601b4c4dcyhOZn) / [ebay](https://www.ebay.com/itm/100-2000pcs-SK6812-MINI-E-LED-CHIP-SK6812-3228-4pin-dream-color-LEDS-DC5V/224140435419?hash=item342fcf9fdb:g:XbAAAOSwzkRd8g96)|27|LED1-LED27|SK6812MINIE|SK6812-MINI-E| +| [PJRC Store](https://www.pjrc.com/store/teensy32.html) |1| |TEENSY 3.2|| +| |1| |OLED - 128x32 I2C display| \**See below| +| | | |header pins| \***See below| + +\* POTS - I used trimmer type pots because they're a little more low profile. But you can use alpha pots or whatever you have around. + +\** OLED - 128x32 I2C display (SSD1306) with pin order ( GND, VCC, SCL, SDA ) +example from eBay: +"0.91" 128x32 IIC I2C White OLED LCD Display DIY Module For Arduino" +https://www.ebay.com/itm/293660021494 + +\*** Headers: +1X04 (oled) +1x14 x 2 (teensy) +1x01 (teensy dac pin) + +TIP: Get 1x40 breakaway headers and cut what you need. + +[Mouser Cart (work in progress)](https://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=13c0107d30) - __DOES NOT include Teensy, OLED, LEDs or headers__ + +Mounting Hardware is NOT LISTED + +Knobs are up to you. + +--- +### \* Key switches: + +Any of the Cherry MX RGB switches will work. Red/SilentRed/Blue/Brown/Black/SpeedSilver. +Red is linear (45g). Blue is clicky & tactile (50g). Brown is tactile (45g). Black is similar to Red but 60g actuation force. SpeedSilver (shorter key travel for gamers) are linear and __Expensive__( 45g) + +Cherry MX RGB part numbers: + +| name | part num | type | actuation | +|-----|----|-----|----| +|SilentRed |[MX3A-L1NA](https://www.mouser.com/ProductDetail/CHERRY/MX3A-L1NA/?qs=F5EMLAvA7IA6PAS7ry3I9w%3D%3D)| linear | (45g) | +|Red |MX1A-L1NA| linear | (45g) | +|SilentBlack |[MX3A-11NA](https://www.mouser.com/ProductDetail/CHERRY/MX3A-11NA/?qs=F5EMLAvA7ICizK1XKjfN9w%3D%3D)| linear | (60g) | +|Black |MX1A-11NA| linear | (60g) | +|Brown |[MX1A-G1NA](https://www.mouser.com/ProductDetail/540-MX1A-G1NA/)| tactile | (45g) | +|Blue |MX1A-E1NA| clicky & tactile | (50g) | +|Silver |[MX1A-51NA](https://www.mouser.com/ProductDetail/CHERRY/MX1A-51NA/?qs=F5EMLAvA7IB4ByA0zXdBkg%3D%3D)| linear | (45g) | + +Reference: https://www.mouser.com/pdfDocs/cherrykeyswitches.pdf + + +### Keycaps: + +Any MX-compatible keycaps will work, but you'll want one designed for backlighting, such as a "backlit two-shot", "translucent", "shine-through", or "windowed". + +I like the DSA profile caps for this application. + +[DSA "Dolch" Keyset (Two Shot) "Windowed" Keys](https://pimpmykeyboard.com/dsa-dolch-keyset-two-shot/) (choose the __LED Kit__ option). +These come in a pack of 4 keycaps. You will need 7 packs (@ ~$70 total). + +[Flashquark Translucent DSA Keycaps](https://flashquark.com/product/translucent-dsa-keycaps/) (in Black, White, Clear, Blue, Red) - __50 per pack__. ($12.99-$15.99 per pack) + +[Blue Hat 1U DSA Blank Printed Keycaps PBT Keycaps](https://www.amazon.com/gp/product/B07SJKMNWC) (Gray Translucent) - __37 per pack__. ($15.55 per pack and prime shipping) +(about the same as the black ones from Flashquark above) + +[Maxkeyboard Black Translucent MX Blank](https://www.maxkeyboard.com/black-translucent-cherry-mx-blank-keycap-set-for-esc-w-a-s-d-or-e-s-d-f-and-arrow-keys.html) (pack of 9). ($21 for 3 packs) + +### Knobs + +So many opinions about knobs. + +Micro knobs (Befaco Style) can be found at these places: +https://www.thonk.co.uk/shop/tall-trimmer-toppers/ +https://www.thonk.co.uk/shop/micro-knobs/ +https://www.thonk.co.uk/shop/tall-trimmer-toppers/ + + +### USB Cable: + +I recommend using a right angle extension cable [like this one from Amazon](https://www.amazon.com/gp/product/B015PSU5F6/) + +Be sure you have a good, known working, USB DATA CABLE and not just a charging cable. diff --git a/Archive/build/Build-Kit.md b/Archive/build/Build-Kit.md new file mode 100644 index 00000000..a3adb5a7 --- /dev/null +++ b/Archive/build/Build-Kit.md @@ -0,0 +1,251 @@ +# OMX-27 + +Top +Bottom + +# Before you start + +## READ THIS ENTIRE GUIDE FIRST + +Also - see these __Build Videos:__ + +[Part 1 - LEDs](https://youtu.be/UFm8Dfpjoz4) +[Part 2 - Teensy](https://youtu.be/W-rJqxFzsLw) (Not yet updated for Teensy 4.0) +[Part 3- Pots and Testing](https://youtu.be/rtUBW4xm9us) +[Part 4 - Switches and Assembly](https://youtu.be/jUWWuaacoz4) + +The key-switches are going to be the VERY LAST thing you solder. __After you solder the switches in, everything on the inside is going to be inaccessible.__ + +Ideally you want to be able to test all the LEDs, the OLED, and the pots/encoder before putting the switches on. + +I'd also suggest testing each switch connection with a piece of wire or tweezers so you can confirm the diodes/LEDs/caps are all soldered correctly. + +Follow the order of operations here to make your life easier. __NOTE - the keyswitches are absolutely the last thing you solder.__ Make sure everything else looks good before you do the switches. + +Also important - Keyswitches are snapped into the keyplate first (before soldering them). + +Don't forget to put the spacer layer in-between the main PCB and the keyplate before you solder all the switches. + + +### Soldering Tips + +I work with a fine point tip on my iron at 400C. With this setup I typically hold the iron on a pad for about 2 seconds and then apply a bit of solder and then hold the iron there for anything 2-3 seconds. You want to watch for the solder to flow around the joint, but not to hold the iron there forever. + +See [Adafruit's guide to excellent soldering](https://learn.adafruit.com/adafruit-guide-excellent-soldering) for lots of good tips and tricks. + +Nice to have tools: + - flush diagonal cutters + - tweezers + + +--- + +# Build from Kit + +### LEDs + +The LEDs are __Reverse Mount__ and are soldered to the back-side of the PCB with the LED facing towards the top of the PCB. When looking at the back of the PCB as in the picture, the GND leg is the top right pad for each one (marked with a red triangle in the picture below). The LED itself has a "notched" leg for GND. + +![led board locations](buildpix/OMX-27-build-leds.png) + +Set each LED into position (tweezers are handy for this) and __then double check the ground pin is in the right position__. + +LEDs +LEDs +LEDs + +Solder/tack the bottom right corner pad of each LED to hold each one in place. Then check the orientation of each LED to be sure they're nice and square in the hole. If not, warm up the solder there and reposition as needed. + +After you're happy with the LEDs being in the proper positions - solder the rest of the pads. + +### TEENSY + +For the keyplate to fit properly, the Teensy MUST be flush-mounted to the top of the main PCB. + +(Teensy 3.2 and PCB v1.5 only) An insulating kapton spacer is included with your kit . Use this between the bottom of the teensy and the main PCB to reduce the chances of unintended shorts. + +See below for Teensy 4.0 instructions (2023 v2.0 boards). + +__Teensy 3.2 jig__ + +Use the included acrylic jig to set up your Teensy like the following for soldering. + +Short side of the headers goes down to the jig and the long side up. + +![teensy 3.2 jig](buildpix/teensy_jig_1.jpg) + +Add a 1x3 and 1x1 in the appropriate places. The 1x1 directly next to the 1x3 is not connected to anything so you can solder that or not (your choice). + +![teensy 3.2 jig](buildpix/teensy_jig_2.jpg) +![teensy 3.2 jig](buildpix/teensy_jig_3.jpg) + +Add the two spacers (maybe even tape those two together so they don't wiggle around. + +![teensy 3.2 jig](buildpix/teensy_jig_4.jpg) + +Drop the Teensy into place. There should just be a small amount of header sticking up from the Teensy at this point. + +![teensy 3.2 jig](buildpix/teensy_jig_5.jpg) + +DON'T SOLDER A HEADER TO THE VUSB PIN - it's not used. This is the 1x1 pin/hole right next to the USB jack on the Teensy (on the inside row). + +__Teensy 4.0 jig__ + +The Teensy 4.0 version (board v2.0) only uses the 2 outer rows of pins. (4 less pins to solder!) + +Note the plastic parts of the jig have an etched out area - this is to allow space for the components on the underside of the Teensy 4.0. + +![teensy 4 jig](buildpix/T4-jig.jpg) +![teensy 4 jig](buildpix/T4-jig2.jpg) + +__Soldering__ + +Solder the pins to the Teensy first. + +Then remove the jig and carefully remove the black plastic from the headers. __Hold onto the black spacers for the next step.__ + +After you've removed the plastic, slide the thin yellow kapton spacer thingy onto the bottom of the teensy - this should end up between the teensy and the main board as an insulator. Then drop the Teensy onto the main board so it sits nice and flat. + +![teensy flush](buildpix/teensy-flush.jpg) + +To keep the pins from wiggling around while soldering the bottom, either + + * Put a big piece of tape over the whole teensy to keep it in place and to keep the pins from getting pushed out + + * Or push the black plastic bits from the headers onto the pins to hold them in place while soldering + + * Or both + +![teensy reverse](buildpix/teensy-reverse.jpg) + +Flip the board over and solder the pins to the bottom. Try to tack/solder one pin on either side in place while pushing your finger against the teensy to make sure it's absolutely flat against the main pcb. + +Once you're happy with the flatness - solder the rest of the pins. Be careful not to push down on the pins while soldering. + +Using flush cutters, trim the pins away. Be careful not to nick/scratch the pcb. + +![teensy soldered](buildpix/teensy-soldered.jpg) + +### OLED + +The OLED display sits on a regular header (not flush like the Teensy) the display should be close to level with the keyplate (the OLED glass will be about 0.5-1mm higher than the keyplate). + +__TIP:__ I suggest using a section of the header plastic you removed from the Teensy headers as a spacer to hold up the other side of the OLED PCB. Glue or tape a 1x4 chunk of the header plastic to the back of the OLED pcb and this will keep it level and support it while you solder (and after). + +![oled plastic header](buildpix/oled-plastic.jpg) +![oled soldered](buildpix/oled-soldered.jpg) + +Trim the headers on the top side of the OLED if you're worried about something shorting there. + +### JACKS, POTS, ENCODER, ETC. + +Snap pots and encoders into place and solder. + +You may need to gently squeeze the snap-in mounting pins together a tiny bit to get the pots to snap into place. + +![pots soldered](buildpix/pots-soldered.jpg) + +--- + +# __STOP HERE AND TEST THINGS__ + +At this point you can flash the firmware and do some testing. + +See the instructions here (loading a HEX file) - https://llllllll.co/t/how-to-flash-the-firmware-on-a-teensy-micro-controller/20317 if you don't know how to flash firmware to a Teensy. + +The OLED should display something as soon as you plug into USB power. + +### LED test + +On startup all the LEDs should show a rainbow pattern. + +If your LEDs work up to a certain point (e.g. LEDs 1-7 work, LED 8-27 don't): + +- The problem is most likely a bad soldering joint on the erroneous LED itself, or on the LED that is RIGHT BEFORE this LED in the chain (in the above example, check LED 7 and 8). Carefully re-solder all connections again to fix the problem (melt the existing solder again, maybe apply some more, make sure it flows nicely between LED and PCB pad) + +- Check that the orientation of the LED is correct (see pictures above) + +![startup leds](buildpix/startup-leds.jpg) + +### Switch contact test - AKA "the tweezer test" + +You will want to test the pads for each keyswitch on the PCB using tweezers or a piece of wire (a piece of wire will work much better than tweezers!). This is also a second check that the LED for that switch is working correctly. + +![switch-test](buildpix/switch-test.jpg) + +When you test the AUX key (top left-most key) - this will light up a total of 15 LEDs on the board. This is normal. + +![switch test aux](buildpix/switch-test-aux.jpg) + +If the LEDs do not light up for each switch contact, check the LEDs again first. A good test is to remove power and re-plug to see if the rainbow LED pattern shows on startup. If all the LEDs are working OK examine the diode adjacent to that switch position and be sure the soldering looks OK. + +Note - There are groups of Rows and Columns for sets of switches. If you get a group lighting up, it may be a corresponding pin on the Teensy for that row or column. Ask on Discord if you're stuck here. + + +### MIDI test + +Use the [browser_test](../browser_test/index.html) script to show USB-MIDI input to your computer. Then you can check to be sure the pots are sending CCs and that you get MIDI note-ons/note-offs when you test each keyswitch's pads. Be sure you have the `oct` (octave) set to 4 on the display (change with encoder knob). + +Also test the Hardware MIDI 1/8" jack with an appropriate adapter and synth. Check the A/B switch position for your particular setup (try both to be sure you have the right one). + +--- + +# Continue building + +### Acrylic Case Parts + +__Carefully__ remove the paper backing from the acrylic parts - the spacer and the back plate. Then set these aside for the next step. + +The spacer layer is pretty fragile - try not to break it. However, even if it does break, it might be fine since this sits in-between the other layers. + + +### Key Switches + +Check the orientation of the switches. The pins go towards the bottom-half and the LED window at the top. + +![keyswitch single](buildpix/keyswitch-single.jpg) + +Snap all the key-switches into the keyplate (from the top). + +![keyswitchs front](buildpix/keyswitch-front.jpg) + +The switches may be a tight fit. Be sure they are snapped all the way into place. + +Set the black acrylic spacer layer on the main PCB and align it around the various components. Then set the keyplate with switches into place to be sure all the pins line up and everything is nice and flat. You may need to gently bend key-switch pins into place if they got slightly bent in transport. + +![acrylic-spacer](buildpix/acrylic-spacer.jpg) +![keyswitches assemble](buildpix/keyswitches-assemble-1.jpg) + +Use the included case screws/nuts to fix everything together for soldering. I suggest using the holes down the middle of the case. This will ensure the key switches are held in place for soldering and that everything will remain flat. + +![keyswitches assemble](buildpix/keyswitches-assemble-2.jpg) + +Solder all the switches. + +### Bottom Plate + +Then remove the screws/nuts and then reassemble with the bottom plate. + +The nuts fit into the captive cutouts on the bottom plate. + +![bottom plate](buildpix/bottom-plate-nocover.jpg) + +![top plate](buildpix/top-plate-nocover.jpg) + +### Teensy Cover + +Add the teensy cover plate with the two remaining screws/nuts. + +![top plate cover](buildpix/top-plate-cover.jpg) + +### Pot Knobs + +Push the knobs onto the pots, make sure the marking on the knob aligns with the marking on the pot. + +![pots closeup](buildpix/pots-closeup.jpg) + +### Keycaps + +Then install the keycaps with the window on the top for the LEDs. + +![keycap-install](buildpix/keycap-install.jpg) diff --git a/build/buildpix/OMX-27-bottom.png b/Archive/build/buildpix/OMX-27-bottom.png similarity index 100% rename from build/buildpix/OMX-27-bottom.png rename to Archive/build/buildpix/OMX-27-bottom.png diff --git a/build/buildpix/OMX-27-build-caps.png b/Archive/build/buildpix/OMX-27-build-caps.png similarity index 100% rename from build/buildpix/OMX-27-build-caps.png rename to Archive/build/buildpix/OMX-27-build-caps.png diff --git a/build/buildpix/OMX-27-build-diodes.png b/Archive/build/buildpix/OMX-27-build-diodes.png similarity index 100% rename from build/buildpix/OMX-27-build-diodes.png rename to Archive/build/buildpix/OMX-27-build-diodes.png diff --git a/build/buildpix/OMX-27-build-leds.png b/Archive/build/buildpix/OMX-27-build-leds.png similarity index 100% rename from build/buildpix/OMX-27-build-leds.png rename to Archive/build/buildpix/OMX-27-build-leds.png diff --git a/build/buildpix/OMX-27-build-resistors.png b/Archive/build/buildpix/OMX-27-build-resistors.png similarity index 100% rename from build/buildpix/OMX-27-build-resistors.png rename to Archive/build/buildpix/OMX-27-build-resistors.png diff --git a/build/buildpix/OMX-27-ic.png b/Archive/build/buildpix/OMX-27-ic.png similarity index 100% rename from build/buildpix/OMX-27-ic.png rename to Archive/build/buildpix/OMX-27-ic.png diff --git a/build/buildpix/OMX-27-top.png b/Archive/build/buildpix/OMX-27-top.png similarity index 100% rename from build/buildpix/OMX-27-top.png rename to Archive/build/buildpix/OMX-27-top.png diff --git a/build/buildpix/T4-jig.jpg b/Archive/build/buildpix/T4-jig.jpg similarity index 100% rename from build/buildpix/T4-jig.jpg rename to Archive/build/buildpix/T4-jig.jpg diff --git a/build/buildpix/T4-jig2.jpg b/Archive/build/buildpix/T4-jig2.jpg similarity index 100% rename from build/buildpix/T4-jig2.jpg rename to Archive/build/buildpix/T4-jig2.jpg diff --git a/build/buildpix/acrylic-spacer.jpg b/Archive/build/buildpix/acrylic-spacer.jpg similarity index 100% rename from build/buildpix/acrylic-spacer.jpg rename to Archive/build/buildpix/acrylic-spacer.jpg diff --git a/build/buildpix/bottom-plate-nocover.jpg b/Archive/build/buildpix/bottom-plate-nocover.jpg similarity index 100% rename from build/buildpix/bottom-plate-nocover.jpg rename to Archive/build/buildpix/bottom-plate-nocover.jpg diff --git a/build/buildpix/keycap-install.jpg b/Archive/build/buildpix/keycap-install.jpg similarity index 100% rename from build/buildpix/keycap-install.jpg rename to Archive/build/buildpix/keycap-install.jpg diff --git a/build/buildpix/keyswitch-back.jpg b/Archive/build/buildpix/keyswitch-back.jpg similarity index 100% rename from build/buildpix/keyswitch-back.jpg rename to Archive/build/buildpix/keyswitch-back.jpg diff --git a/build/buildpix/keyswitch-front.jpg b/Archive/build/buildpix/keyswitch-front.jpg similarity index 100% rename from build/buildpix/keyswitch-front.jpg rename to Archive/build/buildpix/keyswitch-front.jpg diff --git a/build/buildpix/keyswitch-single.jpg b/Archive/build/buildpix/keyswitch-single.jpg similarity index 100% rename from build/buildpix/keyswitch-single.jpg rename to Archive/build/buildpix/keyswitch-single.jpg diff --git a/build/buildpix/keyswitches-assemble-1.jpg b/Archive/build/buildpix/keyswitches-assemble-1.jpg similarity index 100% rename from build/buildpix/keyswitches-assemble-1.jpg rename to Archive/build/buildpix/keyswitches-assemble-1.jpg diff --git a/build/buildpix/keyswitches-assemble-2.jpg b/Archive/build/buildpix/keyswitches-assemble-2.jpg similarity index 100% rename from build/buildpix/keyswitches-assemble-2.jpg rename to Archive/build/buildpix/keyswitches-assemble-2.jpg diff --git a/build/buildpix/leds1.png b/Archive/build/buildpix/leds1.png similarity index 100% rename from build/buildpix/leds1.png rename to Archive/build/buildpix/leds1.png diff --git a/build/buildpix/leds2.png b/Archive/build/buildpix/leds2.png similarity index 100% rename from build/buildpix/leds2.png rename to Archive/build/buildpix/leds2.png diff --git a/build/buildpix/leds3.png b/Archive/build/buildpix/leds3.png similarity index 100% rename from build/buildpix/leds3.png rename to Archive/build/buildpix/leds3.png diff --git a/build/buildpix/oled-plastic.jpg b/Archive/build/buildpix/oled-plastic.jpg similarity index 100% rename from build/buildpix/oled-plastic.jpg rename to Archive/build/buildpix/oled-plastic.jpg diff --git a/build/buildpix/oled-soldered.jpg b/Archive/build/buildpix/oled-soldered.jpg similarity index 100% rename from build/buildpix/oled-soldered.jpg rename to Archive/build/buildpix/oled-soldered.jpg diff --git a/build/buildpix/pots-closeup.jpg b/Archive/build/buildpix/pots-closeup.jpg similarity index 100% rename from build/buildpix/pots-closeup.jpg rename to Archive/build/buildpix/pots-closeup.jpg diff --git a/build/buildpix/pots-soldered.jpg b/Archive/build/buildpix/pots-soldered.jpg similarity index 100% rename from build/buildpix/pots-soldered.jpg rename to Archive/build/buildpix/pots-soldered.jpg diff --git a/build/buildpix/startup-leds.jpg b/Archive/build/buildpix/startup-leds.jpg similarity index 100% rename from build/buildpix/startup-leds.jpg rename to Archive/build/buildpix/startup-leds.jpg diff --git a/build/buildpix/switch-test-aux.jpg b/Archive/build/buildpix/switch-test-aux.jpg similarity index 100% rename from build/buildpix/switch-test-aux.jpg rename to Archive/build/buildpix/switch-test-aux.jpg diff --git a/build/buildpix/switch-test.jpg b/Archive/build/buildpix/switch-test.jpg similarity index 100% rename from build/buildpix/switch-test.jpg rename to Archive/build/buildpix/switch-test.jpg diff --git a/build/buildpix/teensy-flush.jpg b/Archive/build/buildpix/teensy-flush.jpg similarity index 100% rename from build/buildpix/teensy-flush.jpg rename to Archive/build/buildpix/teensy-flush.jpg diff --git a/build/buildpix/teensy-reverse.jpg b/Archive/build/buildpix/teensy-reverse.jpg similarity index 100% rename from build/buildpix/teensy-reverse.jpg rename to Archive/build/buildpix/teensy-reverse.jpg diff --git a/build/buildpix/teensy-soldered.jpg b/Archive/build/buildpix/teensy-soldered.jpg similarity index 100% rename from build/buildpix/teensy-soldered.jpg rename to Archive/build/buildpix/teensy-soldered.jpg diff --git a/build/buildpix/teensy_jig_1.jpg b/Archive/build/buildpix/teensy_jig_1.jpg similarity index 100% rename from build/buildpix/teensy_jig_1.jpg rename to Archive/build/buildpix/teensy_jig_1.jpg diff --git a/build/buildpix/teensy_jig_2.jpg b/Archive/build/buildpix/teensy_jig_2.jpg similarity index 100% rename from build/buildpix/teensy_jig_2.jpg rename to Archive/build/buildpix/teensy_jig_2.jpg diff --git a/build/buildpix/teensy_jig_3.jpg b/Archive/build/buildpix/teensy_jig_3.jpg similarity index 100% rename from build/buildpix/teensy_jig_3.jpg rename to Archive/build/buildpix/teensy_jig_3.jpg diff --git a/build/buildpix/teensy_jig_4.jpg b/Archive/build/buildpix/teensy_jig_4.jpg similarity index 100% rename from build/buildpix/teensy_jig_4.jpg rename to Archive/build/buildpix/teensy_jig_4.jpg diff --git a/build/buildpix/teensy_jig_5.jpg b/Archive/build/buildpix/teensy_jig_5.jpg similarity index 100% rename from build/buildpix/teensy_jig_5.jpg rename to Archive/build/buildpix/teensy_jig_5.jpg diff --git a/build/buildpix/top-plate-cover.jpg b/Archive/build/buildpix/top-plate-cover.jpg similarity index 100% rename from build/buildpix/top-plate-cover.jpg rename to Archive/build/buildpix/top-plate-cover.jpg diff --git a/build/buildpix/top-plate-nocover.jpg b/Archive/build/buildpix/top-plate-nocover.jpg similarity index 100% rename from build/buildpix/top-plate-nocover.jpg rename to Archive/build/buildpix/top-plate-nocover.jpg diff --git a/changelog.md b/Archive/changelog.md similarity index 100% rename from changelog.md rename to Archive/changelog.md diff --git a/clear_storage/clear_storage.T32.hex b/Archive/clear_storage/clear_storage.T32.hex similarity index 100% rename from clear_storage/clear_storage.T32.hex rename to Archive/clear_storage/clear_storage.T32.hex diff --git a/clear_storage/clear_storage.T4.hex b/Archive/clear_storage/clear_storage.T4.hex similarity index 100% rename from clear_storage/clear_storage.T4.hex rename to Archive/clear_storage/clear_storage.T4.hex diff --git a/clear_storage/clear_storage.ino b/Archive/clear_storage/clear_storage.ino similarity index 100% rename from clear_storage/clear_storage.ino rename to Archive/clear_storage/clear_storage.ino diff --git a/clear_storage/register_storage_target.py b/Archive/clear_storage/register_storage_target.py similarity index 100% rename from clear_storage/register_storage_target.py rename to Archive/clear_storage/register_storage_target.py diff --git a/eeprom_clear/README.md b/Archive/eeprom_clear/README.md similarity index 100% rename from eeprom_clear/README.md rename to Archive/eeprom_clear/README.md diff --git a/eeprom_clear/eeprom_clear.hex b/Archive/eeprom_clear/eeprom_clear.hex similarity index 100% rename from eeprom_clear/eeprom_clear.hex rename to Archive/eeprom_clear/eeprom_clear.hex diff --git a/eeprom_clear/eeprom_clear.ino b/Archive/eeprom_clear/eeprom_clear.ino similarity index 100% rename from eeprom_clear/eeprom_clear.ino rename to Archive/eeprom_clear/eeprom_clear.ino diff --git a/Archive/images/omx27_layout2.png b/Archive/images/omx27_layout2.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e487523710903f577b65a7f1c3f6d97530bbfa GIT binary patch literal 45907 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 literal 0 HcmV?d00001 diff --git a/Archive/images/omx27_layout3.png b/Archive/images/omx27_layout3.png new file mode 100644 index 0000000000000000000000000000000000000000..1e96610e2516c42278f60a2f0d4a5ba1dbcd10f0 GIT binary patch literal 142536 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
vib{(jnh1%Sg|N`M{CLOj z6Us9ZQmaKwDf+hLK|D(RmY6MmSAn1O-m}uC#(#F$a(m2%Z9RYj)%x=GiE8d;Wz#Fo z_~_60EWZ|8A%4{Zt->GimPnL;td7>cT95BaOBwPC)=+LpPP00!BWHiZi&iIR&?arn zm*QGubC?{xrX`O?oS%+j(-KzcFG*qO7BT#v zbq@6VpWZ*Hot_q}l5Wn;|iQM=a18s@F-Sw={l5u_A z*zyfWBRciH)nRI4*(?Wx!jE<=E#d7P4R=!$SzQL73nDFKG}q{MJNgz33tI$ z%n#?D%4DZqd>ZvyZ^)}f`BDwX5H{H}gbw;`YBRViWe>!$oX#Zsy1m|9b8N+Wxg@JwS@&7O9Qsq&CsIaN$HKXlIuwU1tN~qbz|4xee(F?#Uz7h%(0}BG`rQ@KMwF~+%+98x6GWh6I>O}SREIjwP|k% zz!V>TpO&w>u_;~Yr$}W=O$2elXE``#m0(A7&WcznXhN=t74W{)Mo$_bE#ojIZlLW3 zc%|z9i}zQ({LS)%kN3^^6I@Z4Q!?G_Eqi99tdg^O5=2tP73=zptZLg-!i`6ATElc! z^-~`fghcJ862`o0=R)@KioT2+2A3~BTTwSIs#CAsTmgyRdP_)^;47+#;R&(($LIJT zM0W;64jC8w@^z}9sPUm%ELh4e#A=`TVpY4M^tj7dmu7ro zG6ug_m6%}iS?Fu{q;)O6+*SD3_(zTkhfA8CcDw9p7_~C(I6#EmXoWt|t7-8`H>d3g zGjJLoIgX+9^mrK1cZsJ4x0Fe(S+RV}>HQ?y<{<*PEP`1SvoqfCVM& z>T^qU>Aoo>tP@leIz9P-YMzYjZr_j8C~F_e$=o6firmu6w7{6@e3^vZ6s79H68k0M zx=A(rk+6@6T`qW<3f4>}4Crfa$Z@%1im$Oo#vnZ~b1Oe|JneH@^lKc3r&;C|#rayC?M95_1pTp7(d;IQE7mbOLlC_|8o9CB zH7Wo0+-DuOc3v$RzlRFnRR~ChBJ9GgIw(<6VCdgyj0) zaeaT&ISqKE@nU}5rn9~j-8il7I3;>U{9t*EM8X$ka-B=lvk9dXV$Afgd@XL9_(>4v z@M;{3Xvo9b6WTK}!=X{oA#?P$z{L$Py ze=>eS;`dLzj7vJ+;mfUoA8Z#;7xQ?v>ZSoWmfv4PaHA9D9e)O1|2z+6ti0dzYMVJX zLt!SdK>pPqnjEyX0mIRZ4KOhZ`Wk_W3;VFD;qA?b{AGIj|Lzx*g7Ag>`9Uckea^9& ztSaGeSUVNz__ z?Z0WQO$J#Tcv|4iBfT2#v`L%WgtAb?L^P+bZyL0fR<=muMpXFCXoX}Lk1kq+VoHxh zh^OUxQ{AeLM!U;RP^Mm3vGaR(Am1>Qx0K_V6GmfYkNeN%B(TZa;07MbCGm{5cwE+7 z`@}~_hRgIZ1XzpQoT-tUC7kF@9F&(`fPMBXdN6gg-}*$LXHJ?W$9{9TLTz6!VqJ2P zpJ=Z7AtLc!7{zbm7yPd!TEmWyShvc*QT+Qhsu}7V5Ed+?Lz>2)bWWu52mXea=Vp6I z{Z~kC-a9-!jtay=b1vx%F)O`1six6PudPDClLK>!SU8*O0o61}g_1^l{JA1G@bzhf z-Pg53QoR3wV-YclW#KRRT%YIL4~w2m#FrC9hH5|l!HLyBVCWh^DUtBu-JxK{^H$l{ zS09YeuhdmAQyxo7BXoYX_Tc^gXuTo$=&Hdn-3h0Z7|5Cnp(|V~qT+k_Boz)=%i4{k z)w2>eUc6YDv=OZO`3%uXIPb*h{`3_cx*J>FAniuWhb+YWJ@t*@+-o`db=|9VBtMy$ z)AYNCSJP(vp|sM5>P^2ZuRyB0$My3;mym~&97ss7K&6kk8iNtwFT0=fK1`Tnx%R$< zC$@vBr0@0+ttnGJW(8NMy73WDoITr4{BkMztW;OQcF92=&q{trtJktd%!}EyjM@zp zkM7oJ13NdCPv%?O-?E&47wx5WuydswmS0Gw6l(@)a_w0GL{< zi8t#Nf%vyfUeY%h1B2_&{sZ-8cc#7kB9>Npc&D_);{4J`59@g53Nw5$v};8HkBPEM?O%7*;{=sQOYVtL^X4vzt;TD%Hm2(3c>mnPT2*z~$^I4$DdIUYSEqU4ZYUWI` z6>WCyZcA6(?VgxkX_qb5;Cqf0MZ$u2k^Ki>_SLd2qGxtgMvAyPjDx&CQA;9RhwOM* zKD_EwEvG+-1jLOE+BzfC#D4Es%kM9HjX@$-Y+?W<1{%G13beBGOI znX}FHaP>EyZVp&KR3Q_HFkjml4-OZ*w|$--ZfSF#C+NT5iTS}d*=3z`v>axgIwzhf z%sIRh4rGz8uxJooG(EA!C*66PscDH$gGxdOu9UBG$6MDM@a~KcJoMJ+A6XMhfYRE% zmpJpB1q(uhPpY*{K31V=vp{;~I!*!4=%=GEomSx~c%(au%np_xF<-k!0!GJ766dU~ z)>S|$2<4bpt4?r2-I0SW80dE@Y6nFUlUawK`1}2&V-g=t{UA$ID<9`kZ7+O*o}`ov zV`Mu9(xpv{4#U1xnZD(A!YV*4r)YePriIJd7D}JG6R=l(T3P4V-&?hmS9t00b5enz z?1pB`wLW^;5%Ub4&uu~AUN+$tZytKH8F`Jn851Bw!xn^`p|mZ6W2e(6zil*geATJ&QppF&9F%iK5q+8ZUd?=cwul1(0)Afo34U5Hei${;rxDj2e(`TjVeT&#QS zE%%e5mlcdy54}b1_mdC+qzZq=8A&O)O0Z24B++NU zC_9puvGV&Xyaed35&pn^r__%u%&ElIpbj_ExRvn?Hw1!kxr8}#b&FZYu|XAuWU&~^ zA|sZuS8b@|;NEKlplRs!I#Ou5$u(QWb2;NLb! zS@U(P=ZaaFR^{!GOxWe^d}{j8lMEh>w+RT}&dbRrr-d2B7+u)D z(reguZ)RfyM6kohNQkEM6b;d)8?rZ6G5_U{5zIT-BYau6zYY^FYvakDeZG3vcrFog zDNOC*(;O!PtP`ABbLB>Rv2(&-XS{oY7(SZt?`~H%G*M22*Z6x_2p{2-IC>Bldijr%vpM zgRYj^PXDE1O1EWgbXk(EZF4%_D=%Z)UAS_4<%2^1>k-L}@^J7}z(HX}-JGp0SD?@B zWI5BZH-lbo^h3WbmX9W{-oMnzKc=)@K4Gq18R3;FcX`(FEn7z4=c7>k8utU{E4?B0 zk0GpBZ*n!3(n6mP?u-{anpPE~oZgb>Tx5AZM?3(t;3>V~@{O*oS&|XS`q>8a7S=%y_vfkpDY;mj?ns~O(aXHN@AHv>q-#M z$T!&8lg8YdNZFV7w&5$6bVwP+-1$5aeu(9Dz9LlK>!z6xP>Ce?OjnMeg5u6JYT&4h zHbb>-`%X_Oo_LQq?cZAzCLkTX#wTvQp!z-W-1SPjpKbw=lGauihk%HOZnk9Za~)Qm zF-ALXdod{PaQp1qRo4V}WN$m)U;E>TLUg|VAY9z3o{$(UGKqkEK8jqo*P_R31p@?- zD!O5-#zF)wB_mY@E@A)*2LFMA|Jm7kT8PNW8^Z6>$B-+rkxO7sxusj`;Yix!$p_&O z;@Qr2oW8su6cB_FCux}UlX;fm8To~bGY8`CC(IPSbA>_{4VlrYK2g+sw4yJGaM z$YPw5iMOZ$3fJ$0x3Wkt&k8HhNRkFA>!XH0bZ?2O-$Zla`tTV}^h{r!Q*P$)h9bNjAqxG~0J z^VzSiyds<$#XEn2A|Ru&V$7{cd6{1np%Wiq`nOz}U_COGL~SS z{tK}A?xhLj2HMMscFAW#v8NXIWc58I^ANad+$nAPPGKp^fl%O>@;84k>EJ=+Yn@SsqNRzmwm=whn3o_h-s8s;>7)U=Wa!RmOWa1`Vz|o zW9Z(S*8HeO)#UA42*RC>B!A9CPb~xWrr#jty}TYc5@Y(yWek_d>GydEUhy`><%ziT zbij5YAvhH|eFBYg9YaN5-e6sgo;K|+g(jnDw{mY-=WI2pmiSm{^7rf9uF!-( zwIC5m4%9wJg{>vH2n;R6x%Dm{|6Djv?+t^0=lpifZTL*gxUm0tFN}!agEyA2K(L+y z5Di0r-&sX3Ga;o9#(IOkO;G|tohmPo#oUH*>J93M*gEnVV9B_<{xnq#GZ7MQuF-&# z_3jj#WAO|%I@Klpz_mRsq_Kk<2o%hLp9EJKfo3O1jhujBh|tNNC{v~9*TV3)TfIyhnxGK9EX*&=tpE*UJQw&LsSL}iwp~nk{db#a`f?x z;XO9_t;|l(8jc>3#1I=-_TJO1E56*-;w1xubOz?j0h>UNvQ!mCCy1Wv9`S_J9g}H7 zXoWe>M@3zR0K??%Q=mp5odLPJ5Pv}Cd_yNt%~9S*6!!;m(Z%o#wK|3K?L`<^Y~~PF zeu@-ubNTGv`k7bMq8OE%zw`G$IBNbkdf`RNP(&t(CoWHQK(T zQmS_B*(zyf<9SL-b>`-1^4&Rq!KqFHZXGY5x5$!0U5TDUVaQW^QlXLuZqzX6axYixFqf?Cz}Spxvxw9NX>{U?kJGBI*aHKu3Kx>>>WD`TVvT?}FSSD` z+i{~X;*G}K^0~%IowM~I(e)=E0^bQ&R0W@hd|uj$OU#LX|(&sMumf2 zOSUX>F3$)l+>+BB>!;HGJ}@`J3}cL2SGL6qo>#aKLJM-#@uGq{R)_WD*{I_lDLaURj^O#Nt7XS=?vHH1Mu~N>9~TgIT9l-a2Uk z?p;cMXbt57j7;sgn3ypz7zx-8SYjnG3D}(Am9*kdq=J-8P=R3`wA9TQ zDk9w>m0^?`mTuoia_1h5ghVwl;oY`mQ3Pjww!Gr)k00-LhWtj-d7Mx1KvbfgfBeQ( zdGD{I*h$Jg_BA#+VTkYw1ns%F8$rVf05DQBF`@J~Eq?L>xZ@GlUWaAK9ArJcG!$Pz z0(e1UBtB2x0@`&xBZBy=pM8(>2Kmgq;$qdQ5n>3Lit>T*d$=j5a6p*}r);Aw#b$f85T&fP9Sfd|5s2pm3u-rq_bdR5EU#WudQvlZQ*pd8uWT(VcJRa!l&%` zGmhbULs@zb;}103#0*lt-*_Dn-0xpfqF!{Job!eGX$=a@qylqIokIX^DSTWaAtgvR zVH4j-2xt6ngJKw(LO&FkNCo{yyDsKuh<@)3RZrx$=KS=La3+*fFaZ^xyT7Oa9-I@Y z7d=o8b=%p9XePj;hHzBCY|Jd)#OX4dp`J+ho7www^A?mA{gkSQi9^nr?B@d+P;&(W zWvZbFS^s3P8qEMkeq1B;&qo)v#vh?4%S>+ zlMv;-g+qdy>qcbsN1I_~#4-Uj6t_2Kcr4n51<@e{#S#Q@F9^iKjwL)n?y-JH3E}sV z6a>(_;l0%XrT}tR)m#4C3VLFz1M(bsehv0}3n9d2_lwdU<#=_I$LR;=Z+;#--v)!u zw!5hhUTz+d9x@Dt$X#M$5dbE|2%0EQUwpq48i9;s&-QjWAo8N=`53rlLa>$~drck?LP5l4L^1{BrKbB5)}jMc^(s54P`vFq#8R~ntIA?>2SHU>htzxmzb zwAR(iY;#R7Oe%#c8ODppDBhDD=F61TlLU5&mC|w@U3`s{tHqwzueypevz% zBx5l55ZZw}0m2fbCP;-SVKAnjY(E8kQg&c)MO{JuB4V3MHjaM$gVYGa5z3Luk*_Ax zBYjTNTjY=;R-%+P#lN8<-+7|s* zWNmHjm)bO^gjxkarBll}{#M-}VuFAYTQR!|J6kYy0ezlb5q{B1ZfDN81qLgD7BgK| zV}zP8k7S$tL-t4Y8uj(!Q`PNal~UGX9W_9Slp345X^ET)oeG`ua+RlIgL-7SSUY|{7e@BQ9){`?q8hfTqTKhD%jl_9$` zjycveAwS;6_9Znb6?d3+7-e`l6))9C3tLN0>r891p1L8*!qw7v0b>F82={1f;i10D z+7H{1F_7&eqtU?UR^+eZ?Xy@V8+jySR5K;BErl17Uvmzs(kj}NniOv`@hi>qFbg4|;Jn-=Sf$YiPiKr4ojmp=Y;mt}?nfjJ4=p8c5d*~Z8c#hiIHe`Pb1 z>PLcQs$J_s{dE24P(SUEO`&GRysdLB*Cg+xcf}pn#SKOh1}sK6EjC@I=Dvm#Ej*ny z-HFzCd3!~nhN`x11GyGUMP0?LwtlUUZMrS9EwwHELT)2{Q8&Og~BeYQ*vNF5f|TqaYFaktz1Tc+>I!pp+H7mO72O%Jh6Hw<1u zDaT_C=nV26h&f!irfs;*9p$x!dv!kW-*oXF^49XXdGg|zbICE<9W;w)l4t6S4rl7> zy{l5GlGW2)`MIKVVs#SAU&!yBWy>$GIa5wMLq8*}53T>@L}>NK#{HW1+EHMLVXSJd zs#m{PV5IBYi?6?=pqQYopnkUVT15AT(5LK}>_j0BPAFXbqL4|x1hcKGyg_7Nb+>7P}RZ;0tgibU|kh{Z(3RK@td;G^=f+{?V< zGgBHGNp`R4todbp@?GW1=f>))#sw`2+AE@V-1>4_dhk_?i`QwcIsQSvKE zO9Cr?kEv(NR3lWPRI?Nsa>?xLOClX#xKN{Ilrp|&)C(lWq{g(eT)}e$Y7ZaDZ{({M zT%FCeH?(7V6Fgh_Mt3VKPa9LX9(z;!YDzL46~y> z*Qj@7>eOg%HXfKGJ4o`T*~ZLbaHOQ7xvNcRx_qoM_N9AqHPF1TjoPCB#ZgXJiB!?t zIpMVxrF1p%Z9=^4n;KiWSvkGlliP4U+sAv-8?^h*kK0E!}rINbO9U$W_m6j%|Ck z#mmM-n}=52`VMRH%cw@|+0@jGd!DbexeXHwnYvVM^hei=%PQvTO)YwDohFELB+D1x z_WLUb4T1fUN=oXunp+xv7a+|q0 zTz5X+NgZVw<6mjFI8u_{X&%Y@+QE?3{M&u&Qgvh+ ze)e0Ht6p@Q?}gZ4WM$f8+Nj;ulBa9i+Vu`FxJ5a}SXFLQchi6Iy&{6>{U zd|B{Vb~T%1PqccBu!->Qa|=r4qcTVkx~x3(+LarKg(S$>`dtLGp5t>orii0iBFSl1 z_3sEu26~XGo|Btmy<1mjaDP7S^)vYWvO*9fNpQlM_u0mM2(vkLsgF8TG$I}db7*I5 zbR6#=({eeTpOJ1x>0(N_1F{zVK)W)$9dq^x%z-IIn5l-OnXD`bHLwf=0s)E*0tqaE z0>AvAIRBQ#Kq*1M|6B(H0SUDPf%y9wIpF#A69fFd*7@rU9v1=v4g3oQ`1QyJ`{!xM zsci6n$`BI3dmuu}!jh7}v$C<1si~c_g}n=1VDmQc0<43CrZWf#2HEQuR8oob6!`u* zOBD?l4Otm(V|!bALlb)=Q+f|uhu8Oj@Op3qi?*gNhJ+rrHg?Y39(=@qp5O+SUoSHd z6aIO`#hQ;;Lso%M*xt#Mke!~9o{^Xzj*yU$*U7|;TS-Lh@9Mz6_=qiBTpYL=7~I|6 z>D^iA?VZdSn7FvO7#Nuun3?H-PtZ97>|6{z=XfaIv(vBYb_Y zp^?3-3m-A@YeWBj{=#YMVfkN6cFuo`1r(6s^$r6QJtM=v?*>-oeZ9)9VCi9MqbXu( z3+yvs8~jX+TYkDtX#}*tG>DQ|5sIYHgyuVw*@xp!vCMb{;vG? z=HC^08D3?7(-(hr^q;H1p5}++W%yTX{BZh|9l$&n1lLkTUIlmt((LsEMhg6){Ob%X zgA(pOeELZQ0wM?^DI%oe0eaZ6H@o!H^%y>im`W;F;(epYucT0qiu5#Eo`F#B&+&eI zT-IBeq#T-DNhSkP;#_Vfv1n`xs5{|B*f^9^I>BJrf&$h0IaaePZEjEg$4zJLg!ems-Tv1F$1;saRQnj;%ykyp2wOZe6AKh7BpJgbW}CD*bMN$FLYVm$@}#7qW#TRYcbll#2My%rAr z71uvQS=wWqbW;u=;&I`aW%aZ4Xl;Mp*rJ|f+pZ(h(^vLO)+RahS!ElCvl+j~MPMAR zVeeC+A^eUa;ScfeAqA6OLRTz}{5VEQ+Pq2v`t;kW@=A2afs<2aZwnB}x9zx+tsJ++ zH)4Jbc84eo3O$gx#;o&^f=hZ^_T)})8L#twAQ0{GtW;A>?G@o4v`eCp<;XTiOs*DGsYY4-I-vOT)>em>)Z50wyiYTcoIUXx29M-Bw2D| z>6%MaI!2|pu#IK?hf^XOKVTlhl`58iFc{*-iY8myADf$8`LyfQ) z`T&PvYwQ<-1KIqi$dmB}!v(^K_etfTC#lQCg;l1WP;H!{kdte4xmlI=oas9(iVCCV zUJ>rs4a1fhop?XTsWJkuKfp_u{5qBNbj6kvo9)+F$)K?Zh(?ftq7eRbP?9mWWzz?r z3FpVG`5r(dHHSoutUEX)pDXa7aLOE~>-7PCxS++e1~u{DIEC=&`D{GYTy)HHCgDKT z_Qds#wL!}0_g%i*_{Pg86LgdCw_0U{I?}DLt3I8VsBBJL7%KV5aS4kT9VM{s4HRu^ zQmV}mq>ng!Y{IUxGcpb{;KF^2NP{Eb2ZU=+H)8z9z=sMHjo;kNf9NJ9eh7P=+y@Af zlXSY_%$kSa?t`@d4tj^86JlAH9$FpQc$;a1+Z+itZ!r&jt9v#%%g7hx$llzR3}uh{ zjRKZ8zVl#gx_-6e($Y1s>J7be;&P^Qt#F~uq#*D;nq0-$pi`;1M<(&O$sKCI#poh+x-eD zpc`d2W}FKb0SHMB2+3yWJ-3~zLLZN^gCTopq}DC|A(sOUWZgt9FB0nTa&BRjt!GGn z7}NU|{QJFoF(nT=3b_4AN&F36-#xCYyVA@O&)<8YMl#$%+4A z4Uj(l#11Y(x}{s8GDJO3sj#$;PaiUR*Vh;ej4vU)hTQb3HrkE2;UrUgw6i)Al#$1; z5-&Q`iwx`4;miw6u}+y=mjer{tbr&>fhg4fL(w2X|1y$wWnD7CY&v3PUPfB3vbtm$ zH)G3*wfq|;R@`BFP*dj}xa1qVFGbRb%%(3}hn59G!G`UJ98Yif%j_-5Ji++Pc+AI` zB##@N_md2Kb+W~9V`zFzlTk+Q3r-koXE9ct!NuKvIH>7pffSn;YY$zr$&Rj-IN1DT zJy**S!$@`45fv6%22sjMyE-uX?JYgRR-@v6`x7JPk$M`pp)gG-7absGkM+gTh2%~5 zXfOm!!|n%`&V*_V^zp&UkX3(gFm^!*4eCwkRQX#&Rvi8Ts z{B`aZ^1SL#JJ_96)ZbbBC=kuY?p^*^SY_@BmB;LkIoYore6C@kmzP=qakV*3#)A#7 zY02?0E8fGMl$@7cULO;Qp5^W77B%o}Ss&sz7Pl+U@t?I52DqYXRAkf7S@~rrwlBpC z(g%=L;^jGW;^G!w764tO8IS##qjexRMv!~@TCNQgPSYtLyAy~yg2mRB=$h3(NGeJ_ z>VVw+ZcGg*#;PkEb~-MTiIQ?VRJPA$y0QP%axn@8Fb+1)$gFTq@&nskxI-z-hyRDV zKn{0DK&UYk|5~^cQju`*dj}@1%OSSo2=vpIpLqlD>oQn&IjfSRjN;5-W{MeLqddM! zB8&xbtZqM8Zz5HG7z>jQ7i0@*3zpFzy?iHTx^DOCpC8n5Rawkr)3%n>Q*jdy=ZaQj zj7L`AId5m8pF+XQ^NaHInY@UMHC&L%N&iomV8PgkDSU0X=q(1iKq?>>mcOv&9P%Utq-%y(xZ#^;MHaANRK1N3{BjBLH4Vf6T4<9db= z;zRLEhLbx-h(pU(Z(eLfnm+<7qPH>iS5uSYTDBv)no(v@p2+=U?HZ-1wfiSZPqaQH zWXee_kgkYIPn;e)wZrF&7Ew#{Kk}h$O6Lp}HLC(gxM<9h2j@#uesO_D{_B&0g>a;~ z_H6ouTToRA2mSEwxY;mCXRdVI!ul<*S7b%Aj*v#&rB^c)(g8v3)*=~X7ENA6HH(ll zdUIj^6~zgb32nhs+VUMTlJEyb2RM?3C35}LCt9`YHJX#ATsJ2%C2ZT!q~>}V8#-NV z+k-st-LmLBNc~>u^^UfJZbOV2b*emB&M4S#osk(?HI9%j<(Y6PkWJJ9WL4;S&RnnN zMdtOl?%*J<416@;a5poE_j&amqP#wu^huYu)hB{zOJYsVTfvW~qMpwT#Hk7jn6CE2 zA##!AJ&#O3n8_#N#~jbA#^a4u8O29(`Fah-IEk&&^0fh< z`>pz9$g6pTbU&X40ReS>>YkVl9lv`WDDIW;dJy6TvL*p`Og_mj7F<#h2!n0HW8<+N zFXTjZFNtbe>u~-R*`K5s7g?8$_A5&C3iCy;C$A#&tI;Uz#ZLSgtUU!=%{kQF{HuN* z&F$RMF^i9Ae$G|Ey%{Ub+qUU`lfLNRCDc)^XA zr__|uSI>D7Hp$3YZz8kk1}SvsBis-T^}?0hlO*(1EPcJ>I5l1jBVpKcWMw9{oCO zM=?<&Irrp~#FV~giS8&?Tk>=fcUvYc7ADS3H4beHa<&=yS&m#HqEL&Z;-E~vx7dzn z9^VJ)bZfGhyVj>sPIT?ZO{)Ir51^7XNKhsUj*ZoQJE9c8q^D;iR6l~WP3<*Q0HPe% zQ(23E$OeOKNf}$8b>#Yj#MJJt7DQ5M8O+&)pE z3Zk`Igpa2N4_sEa&R-6VxB-2-Lu&zco+ePKGH;dY(KKU^vx%JE;4~8Ab_Ln0PVc>( z=UW!m>vtKn=^h=GFoP^B1N|1FCTw~_Hhq?#Py&I0IbRif%HxOGPvcyC2>8zFZ4_fb z-E!gWbn^J{?lsRQ?y~N0iQ~EKP}>eQhu);{mFEnC%F5Oove!>2W4?NM7Qi>kH~( zZp&MqF*pTM57)9iXa!U}&Xat|bLj?Sw)Gbcb#!^3i*gDEMB|#uFWf*op{rR{0b?YI z*O9UH0V+N>KHVgw*?CFW3G3mvAjv2~Yo+_zgz5BnBpXx?E(Aqj#m!fncI{kVEk&Q1{V?P z*Wsu^G(=FSQ2nVV9<3I25%R_gC|$FivRT3n#@;Vlqp#18UUgtTKOe2mNiOf?a%@kJ z1Fjwh>P z^vZ$5bh#p+A(@yvXb1Le^f*?@nq%oGlXA6y)!8z~w`WPL%8+gp`gC?yp`* z&Y~3RIX6L8uv^05U?3}Mixql8Yp{#TI6~bCb<_{6zb?5M69Vx*H4r1 z{1-F6@t=Oi=0eEG*+RUEf(SYiTAVO*!)D5J@75kk08Noy5zjyQMdjOh=Iv!8WP#}SD%5yJX5BNAd z0Q+&EiD%n`gHlgsSm%dmazGjFAnnBQEVphDATa1++Qhst_-*3N4hpxAJw7zrp+%ae zP391B(4Ei4_sR?3|DP9qK^uB$gUoY#s2Mr|n(S1fD+2ke6v#oGF5qHK?hN+*A~o+! zS-y(?u$sSU-tkB;k*>9COvFXBRn)38a=b9P!YD56^>dKRAI{h|9ZE*qbaT>`W(1;!a`25| z^FM6%D!1;=2fX@*=W(XE54wJxD>e3%tB#`tc99U^M?$}hur9FzgIYH>8;3|wa3)Sr z)1Vv=aU<*q)K(ZNE={S^T4)E=d+`rT+9Mm((5Br1GWDXCvf#fHj(IgZ&?5_RTqi!Z z>-`i|vTBN7wAzezEhGIRTRVLA%^hyX$a>pJF2-6%S7;Bu7%&Ls3<-VY$+CO|QU5>T ztDJveD>#!tKX>-wm`el@@1H)tk9BM%f}T$QLKz<@?EN`$MsTZb&mg%vK$^~9Vx8jW+&qZL84Gw?e6VK}n{{w= zRVH`*(PDE~wXoPINw@4s&0NSSOj)Gick*#B>_6$%A3r*S} zeqo>jXzdPI);fevZX`2)`noJJt{6ld&&|&NN*PKKWZ53gB*>9%`eG*AnFHBGifZ^x zwu+jGmi3OiFCrLgS&9wl2(_0iS`~{B9kn0UJ$mCowtE52W-g^Y+pu3oO+8hlO~_Zo z_5GIRbQOnnl&!Hkh-Bs5+9BBFR}CuH)~cUHnuz@A-bNatu$O_YLxYG8&?w(>_J0%# zZa-Tu^4RN-KO#k-rnhoryXKQZ^&p>B+qAYu}d6T-?}YDk8vt z^_H8K9k@{l@f0hJ(0}`##~z{Onqs>7Ek2?9JQKN%{@&Ht?-`-vwiU{84@Gz@TbGa5 zhdJ*){EGf;s=!Hw$-Yl++1%VrE>d6gRiqvb2L6vX`?)hBN@Bw2u9IwtlIz?OixJHOkf(( zxv15S>)30F;NUk4V8!3qfbvM;HFn_%b*kmF4d+>^g#th7i8Y<7VQva34x*tPAW!)t zkU^2-Ch|!?L`D%%AU1NxL?RYR-@P{Pr^Z@Jzs{>jn5+~U9#nFwJf+A>^U8gXy#`3D z;lZn+uk+OPS*7-u^o<1sQuZGtFX>0H;P&?@cTRb6gSbz&&+!?>GbFjJ>B%j>QOSLj z_7iQs_`$d2$X~{hN6(2C%sUrzBgM*q6O8UWU(c%-lPakZXqP7B`FCewU8pS)o!>ovD=%Q^s zJaAcSLO#IYvrMrDml=Ah(H!VsT*)Hl>gl&m{WV2SJA0;__vRnXxJGSpZc*;6 zdo$sdgHe1ili|xLRSlW(FfWNUM!^Mub9)k%l*N4PrLgi~b*-$);wW+_Wb!@y`9ER= zLc~G3mQbD5Wi{LT`dJ+;KZ3Gg5Pp>p0o2%?KZ5pkE8KHOkc!R57G0fk0*0b+Q>i|f z{IQp$I(soZ&(Uz=&1 zts|I;dr!eMI%eF)0b)%??=MX8(Z5*UgL7m$FX4z5xVMt#S&EITnqiq9@~{*h@61W& z&9q5X@QP||@$y?C*9;bL0z^Oi-I~0QmWrzPQL6l`Y{FTA(Y2)&IXb8hw~_=Xi5AAMYHlS58I=;_lld-jj(96LD%Qd3C6z9)~QjP_bp*8#B7em(+uk)GCm^c9~)zwKvzB~b!>`q&L6U~O=mpvwF6SP&Qn_nOn(Tw8lpTF(PvZfgW)d$<8^aEZxN#NJ zeL4o5Mi^ZrzqNeJ!>WtaHJ9SaG!f{)KH+p)nd(oJy)KULE4@PQkt~gFk=Fu>^>f=T z8X7ppAOhC}mQW|9-gq=d_y8lJrz!rqj0I0~u0;%)Qhj;1^|Oz70b>01|YKd?&wZC6ce1{iz&DA}Wa`I0}3r7ybFtLk~4T5`-3SXi)Tb!K$woFmEsHJD1)CnYFb33Ql+l0~tl@eo$X|lwpny2B)EK8OK zR-?B;SMB|)q};YZ_h5U`9ayK0GoH#E+e<3^?8DfPkE~le1DU|*6b>6{)49pH!o%4s1)v)%OGJ5C*kq^%#F0ca%G8kT>aWLsO zhZ6PB`7U6VTAZ5zm%HOc57L>DS>`;c6v z(~S`!;oK|fD*I1QtqBlSzy7Qk5SJ+^r5Oe18t7JM3?%M4s1HGJ!(^ zZSmJ7DOWOH5JJ2R#s?Hkuaoyqh!N#^QJD)o**vmV+AJC&?UzWp`mJYyaGozus~iO0 zr$Wvz&$Cj5!@orAQ79=C&Y_V%Ka=_GYMvt!--1g?X54}gZvFaN`vMZg*(x|Ej*@PpR# z!^G$6ktbO>Md3V*r?=IWqxS z2seYS)l19-KQ^s7k5{9Qji#Q2oaa3`O81`Yj@+^zQ5+}R@_&@;mIP)zsNt)WTG#^G z4_I`3abDxiB0l4(xd@P8jV+9$xQslIuF+ljk?+D6t8bt@pjFDTuUb8zLjV+wMp8o(D(UdC|vce9R=wkfHx(+8D&uQv@PXFEN3Bs!q?|E0~Gkx_bm7r{W3b zaLFn5{77l#fI{6|&7cPaS^ki`PO39S8XeaI0CYRR z^Kg~9@86j(M6Dna%=MNdO`Zkky*$4>;haciIT3!4{*Sn*u$#|J5R-||hTwjb-2@y? z97FDBzgb!g)9!*`lGpSMOe3bd=l)Zu)KLIjN$f`N?hGri`1BeW&CbW9WSb0?)^N>TLstu zlJuX2Q+BDf-#@~KaqPX@S^yWW4PbBwID9d*X|LU3Mhu+R0n-TEM<>K6L;|g6^iE>@ z({{vb+kZu2BQZ+$J!J9<@)D);V-2=K9kkITu2cClbFyE#X*zWd3UCki@NQRj71>5)MO%$`Y7sNF{Nzwm)u#XIK^4AXK>@)3tE&Wj}}7FBW1!GzZ58AAKn zk&Ikil|0{4k<2WenIKJ`c)O_k!0x56cyIN684r4sj`%|~N`gcO++7H~TtNNi7QM2? z7gm#frEdca8vH(`|9Py>2N4M}oHSXw@EorhDQ&XoDe|2FDe9jQShd1|px0~t%=`K1 zd+!y&SH?Y@NL-MGmXlFMxn)Kch>Bl+bv;^NT+MnPnY zY1n6o(BW4h1K?vp>{VhRumK?1KlRw)9>RVuMgX6`(jaG35*d+1Re=$Uyswe(oYqX^ z@yh4{dC3MgZH*q8))PYqyB`n?5#srwou@;*2kL*UD;*8=^Zx47vHK#=beE{&Q+^aL z<{#e#4Qz>fiR#@>277C@lpEks<^(NZGD5R88heZL=IT1K-72m(FzUExWr4$Ls*r3l zRWn639Rjfme=#m`+AZnR_2*iVkVM4qmxu!G%k4KSqr95`vxWrR7cs{Z&~+Q$Wns6} zETrgj0-bvBXIns!U{W@H4KcP<)`K^gN%9D-=$gzZdltoh!bYi8rhEI%sxKMHun2c51ua?P+xq|5?5kHVqv;)#1O;f;9EA=l625y%$d*OsM_p zr`{YC;%hBCnbyzuRWGUTC0R?cJAuH_OD;vQCL6&bsNH1{=Abe|=81RtW6`SL0J5%~ zs;e9&I~VKj2i$bh;-G^V9}B7#F^+=|Rz~-k0Oz!=ozz9&3Qh+v)w+ zZYBWbm4AX3xD~osu&z>6SzTS<3VZE@Zb{$>LXQPqB1yY6ODI?g{)3A9D8@7;snpe| zXZ$o9IBO(yYB4+DpJ^3$Pf5vt)!%Uf0ryb~Kxa}kiZJ$~;lEGXqtG)v+cn<)aO^c) zp-phTRrfX~dv(yQ5F=RvtB=d8Pr4UpeOav0_DNIG1vJWPiPD9)y5p7?UAal|Zt z$N4$GWg#dJJw$7?{v}1rnU#MR30LKZC~rM_OPZXJkJLmW%>D+MguI?lC_luN-^-1k zJ^#z2GY78LzvKU3+LepyPP6Zv_kLJh-PYZwaNle(Kp_lJCPhM@0u|lNSB9u>WXoEp zL6UT~?dwsGE_F8=|0D3Jg4;pd+LpGFwfo>+uw5+pzyq!3YBdUyJZ4ByepxoiKofV5OChQWO-#0Y#B!?PpFfO!~JP z32r9L-x<8J+Lu$Ud1peQ-P!E&IcJcjBH<#A8D|5E(oaA+_)IL!p>UUagmrZf>2n~rJml-mIj(@cK+j4GS8BLZ z8Hy-)0)&8H{K~N5MZk3iNVv?&*wQ2I%9BlQ zOvF>h>)5f5uNk_$^X>#*P6Tk&-2Q+4W^~WjnWuHVJaiRh`|eYK%>q{es=dG_Azkql zqx>7pAvMgIl^;}2x6+kZa^&O}F?bqQ4BCNhGEP7L_x^037oMH>YV zv2$v2)DAKK%hL4r>hqC)KJKxkLBnf=h+BR%lybgG`Z)uIfHorNKZC9|1oOL6_nYQ@ zdAvZI=J0-}$^A<0?=b0ir@i&&#eFE~(O>mPG38sP1@RIsf?I9N4$i0PtS=+023OE| z8n*v}MaZlZalE!;`yN@i%(?MhCn>&oG#5+wQD*whTJmo>q2-@4zqny}0q6O5Ye9&q zqXI8W+Jq2}>62uOEzUb(#!M8)E7bEy+Qgg2ofBNhp;t*Z%Fm|?TK2F6nu`gZWY9N% zLw4AQSn=41+-_TaqKCXv7C>(H1rkUXm2)X4GnaHY(r|Rp!PKqD-|Bsl$&8^je5ESO z`Pzr*^GI$_)0Kdpf%V^v@1NCv9W84=grLu1fguFsXt0OJ;>V=BJK$=0<~pVY-X}wQ z9gsUbTpw-Ec0FHJb_%+O_3L1VH&4t_ee~WVKqL$!X*A*aNg!1?rR{0MXl_Z{oRo>E z{A>^~7iT+|PIkc*@+Shww!Fo4&4heKUhN0gF6@)n*L+xOg%d7|%&y)LS7}hfLwQM# z7R9TEAZho*3mQs3G`yGfR-3NL-Tnwi&A=Rn6C%WDo>t6LP)QHCM&l_VC!`xXbe#$- zDB=aoe=bINPFVH*o~}}*O@T}BlG*g=O=o>UD6!Z~1&5HNl5S*J zTz!SFKTb4>lGsM7S8*C+lDWV;xvAQ6t*4@JlN1hR5Ai3` zPOpygK3z#7(*<(3_14Mr@d;(|XlQcEtFf)^Ld=j9!-sWHeXp&=y73aiKw&ojuAZqy z^FfviA(e}#X%lPfgX?9&8%~@&O$p?ie&G}iX%NXH|27DDb()`}=*_wPH7*JPl81)O zKm0r#lc5pQsVVJd#jC1^WxD0>8MSUSumWP1Z4sLJ&g&dzonw6jHHZv(9cRP2Jhnc^_`Y%^iVe6g$vwdYUez=@`-oxfDGecz)+tOeQyagTaK8N3bDlOwLpkIwbHOH)bx`06 z=A|r#7eAhr1Hp_!nmU{N+O*=>UrbiN0+7V%fo6_s~(2udN)|7b~MpeF*|{cAAa%??|x ztpGh)QTkn+o1ig-hTH%j*4SH1ejVSLH*0U4{Cwv;`qGlTB_HykB6$+9No_o}ChnKn!*Iu4@^o%wm&42qj15#ktoRN>!x&Rl2 zDAUp>RZH$G zfTFw2c=;I}=2v?F>ge?d*oQbxff4Xf87h$en#!^2t<3jaa4(|u@lSWYvfQ8uqLHW= z{8>%)cd%S~#l{!d6nI0Kte?u&ed(F%yo(~jl{sX+<31nz*O=>b0X(4tfu7F^K9(@= z2RBQbv&FNd?eh~vgmfu>0)5JE;Qiz^TYz}yQDGCykZf81L*4As1 zcNJ9A!Vb6Z9BZog3RD9z;0R{lfPM9({R%hsn^a>Ix#$qBh_V2!f{n_dY(=5$rAqvi za<6BXVB~L>=67^h;YWRep1zN~(!zL0G=@4lHdId@gVdD8H_dYzT%fuN;w4!=*P0jC zi}oBhC#(8^E!sCLJo`xgF;Sx;%{+Jl9*4g!Mg>;euNSQA_@y%fJu^1?X#codGq6RJ zDIuqW!LtbSUbXRjm=qSHU-EdA&G9ZpyFczL_Dpj-V zp3rxqfVe>NrI(ehECoX*!k3A9&3<|v0L*)M}8-PciE6hgV^iqg2=kC`QtAkCU zP#_H{gx$A=qU)NG5zr143hl|3wjoF76^apm{swl)xTqAj82dvq065JBA4x;HhBDO! zjLNR&zA|*)8U>@*k^VzZpd*nJ#GG^tZKW^VKyc-~-U3dWqfHg%nL)ii!f6S%h(6^w z*I16r;ILr(UcR)r1*G*94K|p(`Gd0s@^Rrh!LHR=(Ci%N@q0b0ir(Q0RAv?UE7J31 zAM0O^McK!B5)TV7Yep#UhK3A_@f7l@`cM1n!vxQ#&`fW4O|%jDkMa>0|H{}y8aqpY zF=~Z5M4NJV?r%XtsfOvldU8NFX&Dm)Q-!es`VX*9sX&TvYN!2adJat1A7p4*$A>i( zaZDkwb$eHL#WJ8nb4)isyQ;3$oXCkIbJp>dohJK8{|BcT!gcC)T%3RnIM*QeIsfC36IYlYcCnk32>RtW8m8Wo>YR>=C4(nDIU1-9MLQ5k9|b5iAoOl!je z(a2B?&ZdvvgKB5*F~l*j_S+hfTrP8WMzsiFE&C38`P8a?r0W{^ zdVj4VJVjE%wV=;G!8B2M;l1p6s!Dx%@O!Bn?S+CZj|JiquW06ZI%-vJZ2XZ@{ zT&m_UlwH0T7QngkZuO}+!nV$AZyX~2b{wS`DrtrA4o?U8U*1vq)z|ZSTK+Tj=TPq< z1AfTcL=T~3xzTTIAFNvNKc1>xtazPp_gRt#G$6si?gR5ms}-M{W#If3k2Td-S6~eO z_aVp*>b=r~DB=XL16o?InH}1cEb(D{w;RkFw%%;5ROQ~)^nQyA&mw8eM+1Vud)Rh3 zZ|NZb_}P{OmtxdWeBFqq6&-CiLLHq?hpBL=13Hexm^?G0etZDgt#Uu-e}I~E+cIGKEaWo zv0~gsD>bXyaQuxpq&jD-f@Tfn!~R4AzGKn&l%2bVqZp?cPrR{70>_*rT*zcj2&wz( zr+~HY7>2Z3Wd+3F>uX^!-yyCTx*lr*2Ng}&hyTQ4ua0pB=Cc7pfX;W979KqIugOtt zN(!qBv1T2ljK!$Ax`}$D4;oT>tDHxqYsA$ALU?67vFbuLDJAywHN2ImX10w}4RWPk z-$+BpzC(a=yu`5QvMJBNyQhP1R6E)y6yd;mL@ZUvIjya6)|cBj1_3t>N9|biQ5I7e z=1#)BqN0$`WbJy~Vn`EsK8vO)P9l4wPHs@|k?|9m&}@45!n`BYNv2+uK<@3k0r}_7 z7Oxxn)Fq%JAx9dkTD5&L`e;Prf_R@?L+WNuUdpCK4*1=Tp_(-6hTO+g;+DBMc(xcu2jO((wuvm4gGemQP4~2uVP1LSlTN zCk8z?L9C#Rg1BXq{i@oilHcR)88Xe*)PH$l%&TwTI(At~@!gvsyXyacOkHI_RBP82 z1O-7_=?+0@q+38lTBIAKyK{z8KpLc5x(qyN8Y;hWZY^_jid-Bq+8rNfaC_XD3&&PHnpd!WQSIWbp#&Nn8d* z&IA8F9DAT4oTV-c`0&m>0 zD|n9AoZ`yyV4;~-t+(*ME}AObS5|H^BZUI^d>E+k*Au5S ze#ZE}%jdtFY~S!(;m^x$oWM6r{2J=S4Kn-%rusBn!&li0d-1i3R_N@kzh&m4n8~A< z@#9HkYCH}#URhdd_u1v#XTlEp#qrIQ{G&$E8f!M<8~z00UlElJgZ64T`tO z*;f58po6`f$BmZ=-V}fx90%CJMpo&WcLv-jA5dJpskaZn=Zzb6tv7p?FjMOPzUUH- z?-0+QIt59LkZ#MdCKyv;91cQ>kQHlnt&8)&wBp)yhHsYpbCsmEfl*zeuq{4WiE`?K zexTeu{izPQKy;rQC@w46r2YE#lRTROH>lITjfwr!Nky7XD6R<~k#6VoaQLGz@@`@2 z7J_f_YlnwvN>R74VdQWeKvjt2sxC_07Wby}?~y|zvQ0!$&R7ao`SzBWCljKM zO|z~JHb3fKguh00?$#C@S+3WxUoV%N zwWz}PEv{HV=kvR|G+L}E6N~z0-fhuF1hJLP%^JY{U*%}q8gxcm0if1ae#o|%jCk4$ z0`!suU-10?n4+2*La(MS&QQ;W|B7(T5B$Qcp#}3MoWa?3n}fPlI3kzRu}qkVjO;Y8 zv(o;pK)5MMdFsAQ5j5xpTI7tB^bNc)cMsE%MD??eBwqI!0E@m(grPoyG8H^NvbUE) z`G9&4Y$AQGjZgaYZ-0oVkpB0zO1?f28SRgBY|TTC0?c~ zMP%p;C4GDiS9wT!DhF8qDQAX5K!@+j8Ieif*&J; zq<6FCwf z^ZO%Kp^+(f0Bvk3aLW^Lw|(x z<55Vwp-ClX%!IIkCW{20-dlJxFKQ|oAO%Ptv^_^Mzt9Yn-mA8i71g}D2>ETjzm*v0 z?-_;zoqR(jtt34_3BEAAFVNhI=|Y-)cp8uYJ@z(q{3vKsPue!ZX;k*7^HNSGxZ}mM zgceWa&hcxQtjqHPE2}I!K5~mWRKHPt0RNs=d2e)XrMzEYG+K3v-%Rlu zAY%^TeeKfLOT-)Y0XokTsoYeIA7+m!AXio$ATOLiY?eZf9-10-wiQLQ@FRQEo$NI# z{31FNDuA~31P0JPHJ-bDn;AYW5vUbU{srZJ-{>E->+CB)jrHU>$c=M>5dPp8M(gK+ zKBazoG6<~jc(}#D-}#hXCZ4;aD5xksKKL>SD;(_!J#^3Sao;H1AvV))AzYirJ`2}; zLS}OAmg*Eaw>(UW2;^e@6!w+`>n(4rfEK0W_U1>meXyzYM=M8-tKgAGfBqlsWU;c$ z2*FVwfVk#4XuZ1~$#oR@_tB8>w$PWjFi~947BBn~fs>Z@2}z8Q0lL0|X)3>QoW#|c zo5aw7?(gL?lR^=igqvluOU|e+_NhlDWocSI923H*BR|IV6lY4{%}r!iel5yA$E>U7 zkH(2L{ZF*gla9*P)D%X40eL3xyq>Z_o~*&%cKgb~UulT)SrSj|YrePQ!om3nD#?ZX zz4k7>J3skFdqa9cjpLz!btAcR!Can+NVBjF9cS?M5p+QCplMXd`{FQG$)WUb4u3^W zm9Z$P1fc1;!t|4d?mD_BFcHq`Z*2}}Vdc9KDxG*$`%)^}{^M#Jd`RNDJ{|%JhCzkh z?J2aSEiokAc^iqwEQL;!XD6H=fnnZ^3E8a{f3ocu`k+}tGR2OpwMhl0#3uuD`@pJ`0{3<-i5YN6*ih3J7g=MLGWU0>}=1^oAXpV7$=kvxxAx*!oVQl7%on z=W3Bsg6grhP%-Macx$5fRV=^3Bs9;j0A>$3Bh&>F8k>J+asPWKS-dtg!t13fGVo!8 z{2ks136R19<|fPa)h{=7?un`Mf%!(a%~bye8G{p)YxUC<{bVPkET8&EE}$-Mg;@le z^+%=hqaULR>s&L1#oYO1tSnctuV2=7TgrwMGz7+6ZU#qp3K|I{AV@TPlYK4}+eRr! zg2L5|1Yc;SYNmD{iR%6s74#=#=xS%)OoaYaSk&&obt3=p1a^azIM=4T0rYgc`#|fN z)n3&IG@^YQ?E#Mm0NQ2@h(J2U^~l%kf!M7Sd91)DWl;U?oYN3DF#1;|G_TorCXug? zQTUn}VSKy@XnO|AeQvBm@7@Cv$-n)Y>pL+3B67_Wj9M+=Ac^1nB-H=NYta8S#vhUD zoaBX#!pXXQRxt;Dn&o#ISVk@6y_zR_1$|MWEKa_(=3I@5P0Y89AA01U{bt;sUuFF{L2ih{hoa?ZV9cUZ$aC z@8vIqB-c6+XN$AYm+ItBGw*@6)CoXI8$gGn=ChSpC9?7V#%R<)N&r*kt(u~Fi*%at zpe=Fp_CFLSZ`hmz2veDahB^gd+BObV;Z4mF zQswdmN=sMmpretAkRJ% zQ`YL<>~VX!IlgLWxqwQ4!raXEZ0xA~(Vy<)o-&SSO*;9D3{t6(yiME9*w8jF{C>0W zinc`@B?B2R`E^n#$}xJsb78uEPc&`68_%~;e(;(je{+D?tAa(&$dt~#&+_e6L;(UV z?H=aiX8A)JqE}H4gWQ-^%<}@jRqk}3QbGLx zgxZghY4Rl2x&gAO-EC=U-#K`v=BIQ2d+{_gN_4VFu>slo)zYlN{w&9>X=jl#hxvrP zReV5M=ZMKU_^EzH>NhwyB>vK17*jPF5nB4bgY~PPM{|>tYKqo(vZMf?hRiep{T@47 zf5>JOIm!Ts;(=u|zvCxIMZBS$UO~35Z@+j{lD~x7y3f?XN_`6ct9wE9Y>CBCF?S=lGQ`c=<0out60d+@+sQ*hj&r!_+Aa6W1+q zeVkM;!pvsw1Rn3nJhTmxlL($wJ$LlNBo0&~o~0HU%gUt4a>D62k~?j5J1C+Q+CW{o z*h;m)&SgqW0rju^*sdC)E(*Hk?rhiHBXzyPMbjQsT{L!=FU(g7M$ACP!}0ga#?nR90(2NM&SW@Wpa8*0p3t6;|0n=fz?DLmT4 z_S)u0wiOF;``f1;*5OO<2>k{2XMWB%&S9ZYS>B7O2KHv_QtmUOup23l?yef>CTtI@ zd_TatvgOy@DKE6@YHxcVZ!G#Tp*LI8;hPhHjjC$!gu_bQ6ig=f&=Ox3tm+erDM2Y^ z{vVqv#)9lO{axeE>Mkd z&1I`XHhx}O%uSovoqmD=+w)d*NQIufkG3riv%LBw?UWZLW+O0eE%8D!Wx51V2`t|3 zyA53JVb|q(TwhcoI+W+)z<0Md6kpNiC-fpBT%)?A{f$9K-O4YFlDDieH!tFfy4d)K z`;sKKlR~p72b`m`#>9Mp_@(2gNja@iuDV%c5pnVpm(64^OI0%i^QMST()^7zm(ZjU zulZDBmHbUxVWtA?daBITveQV>+bPH^T}fM~Nb||6p`VIBpoo?H<7HH34-DOYLrg+n zUfVgP4gr)iZrcKU!h-KLU9j#}KKHA=I%yx~uRrZm|C?9n0Fx6GquRNoG9PrN85NPL z`i&ESaJ=gIt$=)jSKu?wW7k|$6{^NamZR@Qv7sFS+*q;+$L^i-2Ntx7f~>6k7WtPG z>B{=Qt9#Xm!`G2C>-s&^NPCK&TF7I+tdrIi*WF-mvHsW}(Tgk*;1=_3JDvFTXY5i| zsV{O83Z+1_gSM+*EG6iJr@il!IsnrbMDwI152q;j9)+lLVtnu(7Th2I~`%d)>!)0zi8#%gACcjfE2t#TKzX6r1vH{`Ihi8%h-0me$+yVs&%9B!wiGyI`minm2 zZl_oj#2q$rp5|ZRy=ZP3H{y;yssq!5Cy~**iuB!z&R=Z zwpw8H0)Shj&)L-GXa?B|q$dDP!=$J>i?{)k_zfUauSDFY&DJp$usP`PLj}-#TrLHQ zwQFDMmg0vSO+Vq&wgE2eD;yh_&}X)lSqc}W^4gFIW}!fYwjo^#hqZI~WD}d7|DIN`3)7Pa3Uh zAjw`~oeZv{i{rc?`k;$suY}g^Z=;dAbHDh`>KVJzVD6ZhtRoW@-^)n+1#Y=JwC$R6 zZ&f=;CVrCqJ<(bz0DlU>);lgSve~GGyEhr0z-9$}H1=H4d$=!M)s^aw6W^%2@tA7+ z0~hp3>^O$;csUkRgq;P<-ioN&v^^<`c+b90zV;_G0M`_IiWLd$u`!<#$E4ZYVhu`I zy^EV0@y}&46LAb?;m_zi`iSZhyaDh(Up-AB!P_AgFJeLyS-e1U&|rsADA~~VPK)_Y z!$4(BOYlaS2JtuH+XhZac!Hj%#j`BW`=tP; z1X9WMFlDVVz->i}r#YpQ_>oL5cp2we;d^P%7M2D1doD*$nzY@18RmWRjnf*8+%4ER zET2lLj3AD}HLagHnT=O|C&*mYNpUpsW;LBQQdwH|n}8V=xW`m*I=)?SiW7O5TR$RD zmOahxkO0*Mcl78Q3XPe9{PV%Pa_mbIe-r1{^@*q zP0**}mFn+llhrScY>doZ)(9m&ALfF81(m?6)y2h|4==p*F&F$gz7nY=_#W-Eb`%@B z_9yLcqn*86T=jr9#|j+<*9Y};9h13qtyW-TdQ9?v5__#jw+}2f;_TTF`*DWu+tqJL z{Mu8&AEP#1 zorGD4ffU}z+Y7?64*-~2a=E(&(HE@hEd4)J!hw82hPa=p*$ox4md z1AWB1=;SGXUu)Fs>?twv0f+UiS^075C~4i@A4b@9l{i%>kurgpzm85W+k$E z0^_3q=mcP-w0NC|LT&svfE0oshy*M>j&zQeZU!jo6|R``s_{2rj0J2c$)l-cen-#d zf3dXQ5gvE6kI6CO?;oUQX6o6?ebYmeQ9%91m6Ph*RAoVIz`3|pym*dg%xD#s`pA_G&LqOf-Sqr zWk>B~sXZXt7mFEU&T6BJ;&WVmll9?g{RP^GDmH$Txm_T#IE3HMao6s84|?`Dxgj)llkXNmX<*aiuyvTUEl>ESfV+=^Nv!G3!F5o^Pdr_igTs zY8pT#qgCMxYTgdiOmh&)j#sp@T(B+PSh7A-26b-dt@-emvP{;ur+uu_VydoG#*bj6 zMb6|qrv3nT z|4;FrgWqO`?R};k>B;X?*5GakaMQIlKsKIqq|<;>pkb=}%v*--2%0=QT4Kb|vpxPT zw?sf9`h-M5AgS$*KLpO1qH}SLemV;BM(ohaxO{p{XOgReg>=B=&Q}Y;N&Lq1iP(np)T?VgCK?DCy3ySg~m** zWsEn7`N)Gan&+P#aH~II^BvY8+{Z$#S?ob%rYbsIS1Y6W>>^R^`iuQ7B7v^fbElDT zCn=YP3hzDmWU{&*SW5R(_eKG?NKj^kPXoJDL0L_0!%6*M-yDB_y4Q!!SfOBU{eXrY zUnK&C8_jdVm1Dtlt`L#sqcL?Ls284?t1`80<1TxjGbKmD7^DqQQ{NTfhoOymS$ zbL*qU(o?WF<}Znh7EU#j7z@mnv$)XR(ZkC7wRl&xN(rAf5yz9@gc~hf#wVF9aI>WES$*P}cBK&+jeE2}Z)V20&y;nGL)L_$_{P*s*ZZ+HZ&`+M%w zpk!bkY)#wUtn_43gL0l%M=wZo?W0KjN^7Z<3r+ieY&l z1=QGZw*nU`+ahCgBy+lN9#8nT|mF>}F z)!0wUAlF%Gvqv$*t-Og%?icGE?aF|Q<#=){IkC(X<+bT;%QBA9$M z+LH4_5Eq^PmtM39^b37?6fv(h>lA7BL`~>He&6HxBA;h+ z&n`KzacCb*NS}v;&Bxjfmrs9!ZX9XqCf?04%H-h7KXVC|`;C>5GgXxt5$ZLU6v0Ld zI<9Z-+27|;C+sC>K3O3(M*QR(49=yz!E20)42KTIRtBA9Rd^9!NV;?h-F2M6JYW}_ zL$cQO8eM6IgPs@|K&e2BFa+3&MjGG6S1LYrW5JU?ckvI>Uj`Zv7Wz zzCzuG6D(Bm$*P+o4aL4VR)5mZ#j@ItH*^k^+kOJyzu`q)x({79-aVw)Fa!)!da%gBsqu%DdZZM_`W0Om}(Yb$t!q4g5Y8*jy% z8RR$q=NdVMf#f}ri109e-_+kKiPi7tGko#uMMeSJODH9NY$kZ$nk{ejM0(GMUj0Pp zd#2tu2B$O?lxktBKdrP@S_jxgR5k=9q{fIU1T!_V0B-=96f4u=C@VLROKDC=!mb_8+C zWMp25K-cCgnM!qW@;BQ6shv`O-~)Ov*`fS~e^B9Czfnn2yEQRR$X_H7`tw=hTDI)Jw7Pu@r5br{d6G1y3^)elqB-0pdRJhCq(cgg^4xkIO z!5P0hgo?htAoIAL^MDs50A-$ugFHiG0s@q-ooGW{s~7A#doFR7lWxUj^CJ_?63Uk` zQuXgz8HodUWHO(PiN>zB{z4slsU>>pLIr7_&~Z)g(!`tJy~bw|h%zYp1T~1~##GSz z8rQ~o+IJdx$|})mZ)?(PXl+zHG{#FujmdXe;#c{TA|7S>%Ajb;0P&ID;*7CCBDlrv zK<@e8;Sz32J(y5?#Yh85k?UcnnQXi zau@#=*K^d%n9^<$57n1Qx7isM`|BnHCVWG*1+w!6lZn4II?SENILNpf+dsCqpMHHm zva77*bGYQ^ITk9^i<$+&%hVQwm`BvI%7wP#@Isf1MG>f=n_-UN(Ua_Q?`mu_gg0kI zvvsAzQRl)bfJj!1eab-s=2*@irVVAFMruM+Y{WtxuUCJLY{D`a&4|H z{GtI#GU?G8tllaq+-mxO9G}^;CS%ylPUv5~MsgCLqy9+1QNpbe z(cUxAdC0Yyb~D*g-~+9P*I*(4TYL}kb3IV!PBOQzGv8I3MOt^sX>SAFzygX(a6ce( z0w%$H!P6`bxZNDjA+qGF!_uu{pC==-(y8L89afjFRDQ3#28WxsPA41kF2hNj>R*97j%OK0{jWB)hu(K6rd|bv0nCd6 zhm0r7bgd2_`||SwqRP~DtF$dO^_}RbUS*&<@4*)0GH!LZZFfTw{~U^o3^(1*=I3_nT1xY_TzoKdA-!xPDXnhLS@S!fR+6tcftfS20y-Ai*#e zXO~IHBT9ak@3Z3xmlcyB6~uRqKlggP*{!h7AMq1|Fy+8|Q?P0w7ifmog8$!@PI%Cg z^RZ=0g!hc-_J94XZM3iJFIPrUl}(MkWR}7KPP#a~=W(&g3Z&Hb8xv2`zuPt|nfcev zxnCC$u4jW1lUIk?I9tgoqJk+% zzPW?!5Ie>Vdr_GYIxUT3)UNui;O5JTx)$!)sxhX5O$vF$Ux&z8oVHa!6n4ffY8*Ef zO(G#K97k}YkmT!9TB3Wm=O0R6sTsJ%c|x1Tv|Yi0T#PgJh4^!7L+$b>N-d`WZo7rt zos5IT{yq!Ov(q@Mbn_J)i@ezPG4pY&OTyJ3OmQjQJ_1V%E0hbb&ifPXyA8+QTM<86 zoKur25=MvNbO2JKicTpUFqLT^In2oCddneF-Mh>8b|ezqo{D(B6XXrAjB$PUaq{2; zq3AB~B2Dg|EegwFz`KQs5-VRRRU2agi)wOJzyK5#9 z>QNfs=}R>O4YGs|3|?Z{#;kY!b)jRLgmdd?4Fi-Ql72P8om3+go9q_ipgWeCL}2Y@>e zTIm-tI;2fm2xJ-Kh0+CubgoHgfeH#(-dr+jcv)f1=ic5E)gJJ1b+gN3)+exR+K#`w zm2Gl>`BP*22PHS)h38R9`snsNt>@zi)$(=g3az@%HeM{6zGMO`>OYz}e`~-XKJQ6v z8v_Pz0TZCad?^opF?lWK3g+%MAQbFW)m{G8&w42Z@B;sOXL9Z-+RcTiQBZnPD zO?0lVak%kyW~Y6dfv1BcDB*RR*TRA?O~#HUzX^PZ!SY88fzPUdtUX&eS~7wSaIB4^ zQq|8nbP$XrHYNuOLgS*x+4@QWE!&`G7Wht!=hY$f#{{QBeq&BeO`RU@;FXxM9O0;x zj;PPA_sO1}Ph$hHTSlo?46sAbWj6liPBh%i%>6vTX?ozxgbQ8;YiQU`nTwikWl;di zYdYs(*vxtwBy8*o*u2b_%#6vjZN66cyiB71rhz*RRynGu%>IBEq+d|;Y$YtHhJxZn zWP`SW`^S9W+T%eCi!bV2vd!QOh+Th_Anm#yii^?xY8B%)2wsA z>SeC!7O^wlni}gb!07aMQ6Vwq0jdk{a_e
RqaBnJEvEZlVFzaqS@ZKh4;o~gv45_ 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%0A8QZ(lk(e_~P$#2rNXLv$cn;ng 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 CnKiWl literal 0 HcmV?d00001 diff --git a/Battery-box/omx-27_battery_box_1b.stl b/Battery-box/omx-27_battery_box_1b.stl new file mode 100644 index 0000000000000000000000000000000000000000..ef2eef99b114287aa3cdfa9dfb00f290b95f37d3 GIT binary patch literal 1266084 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 z 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

}h}R_%Bo9 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%0D=3i1@58 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

|HR$#aq$KDh{_8F{cyikS4NVN)Q1tz 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%0DvXk2x_ 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

_5a%_$eC-=VvryTk@KJiytx>Tfmw#v`>Wo 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

&!Zh(ivDKuG8)W7L381u>_p5c$6d5 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

    !6*OD-}r*Ajs4hu?M_bDp!A~p= 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%0AX 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 literal 0 HcmV?d00001 diff --git a/images/DSC06421.png b/images/DSC06421.png new file mode 100644 index 0000000000000000000000000000000000000000..da1641e3f558bae3bcb0baff4e9289a9537e46e1 GIT binary patch literal 814227 zcmbSx30%_m`?zLht&+-?=7r0aYn5oGAR?^UG{2>;th77`P0cg`@j?*REXlkoTUw&5 zY`OBzmG_BghDv2#d7voZt$-*f;venU*7p7VfB!$di0AXXpZj^<&-?Hb^P_|9rZ2R< zP*PIbWOwB72_>b~5G5t$(RFJTn1Md|M#YaZ?u704O1UjMBT7mtLEbKQKKAxX-zo;y zDQ!?zQ(C2f^cCM*%77JkjRJnEymye(v(eBcy}mh-Y8qHzyJk2{&UJFSVr+vTK!&*^0J9a`v3Ds$;r{-jFOVwG3y`p zgY8Y1Ih2klzRPy3{92(`myTC&uO3Fr`LA=>Gw6m_wd^9l$5R+|LN|0W&)-_}kw#_JE!7Wt z6&bj-?gOld;;r=`;LQs7i%;}l{Hpu`uh91Es*iTAhWx7X5mp|}cyF`va)L9ISL|0_ z4(h{?yvy*aKjl1B`3t=Ildi1~*L=X6E9lpLfR}kc+PMsWv~wB$;x9A@R^%u=QPFyM za3xk?1q@Y?Eq|8HiBx=7>g9m(0W+wH3Do$2zR5x8K?~@?14{pfQ)Ho0N$K8lZLjbt zDQ(}cw4z3Vc`x$=UTN2d=Vd+1-;d89e?QW#{GRpp!{PK#qk{a<`%ik~aHt^tli%vw z{Gfl};C`^N{-sO$HV5_39@2Moa?=0C>4#$n4uXx(?os$#@co=Z_Ik{bGdLxs4eHBZ zWu<#mO(mtx<$fn!f?e#7LA}tIj8Ny%p58{`moN%yB_&umQ~_S{4o2yRUkV7sLBp+f zu24V~@G=^-Q-6gd*xzcWi~W!K)`~LMH#agiGTsUQLNTXcLFav-Cl1?uU{^d@?Ys~i zjDdncVPRoLVWvjtAYYJ)g@pyk_yFj@f&B`K{WyGJFe-e1AkN^ukdJZ>d*i%<{4l|O z=s^8txhPL`NU+t;oy&?oecs#Y9q#w1ra;^Ww-gS7mPbG)M#i9jV?%`~9Q<=!Vn7#ZkD5Hy*|5@94uTS)tkf4B-P@MMyc?Wo3@(v8fDXcX4S6!G3=;hvm z#(ZM`o2{RQ|Ersdoc=p&I12M$nS%X%{!2)gN8Yoo@T zA5{Kr;Bzh;v==Jin0KIEpsCrVOE!K1m*8dxKQR8w*yrpYWqsg!lO$@ZKw+xe(7wSJ;HKt(sm71hygcwZ)AvEk zg&3$6}1iHWJ%LC^s+^N;ELoZxc-HVz?|JiUY92SFe0{D}FS(i$BY9E8FJe+u{~ z#OIVw7f?Z%Wt%>c{)zdV*7<^8u=n?<092r2CVe#FZ^+L%?7f4%gA|i!B~>3=#ov&h zbF4Hqmp_}Di8173cs?KcoK?|Rygy8H(~nvI6ZJXu$G)**+DB*phWwo45XL)bc_aEh zdw(Y3@A%KT>`~!=ConNSu#)wUHU9bd=K@xG@=BNfXyu=n&uOhgaKY$HC%gmCdoNGT zkCFQf{W+HtO5v8G*(s*}M~=UsKBqqH=j#`Y3OI{aC|YJxbUcuW`3G= zMNO2G}Vc!apo|AGH5hs(%Vx zPNAX@y!?FpyxvFbPnwS_>fe{k56jhu)%9cN{kO&TBfnx1{$G-4X#>c7(b_qF{) zX8)U?E9;Pg=EvoIr(zAlT=4VyODg^z+y6%NXV_rpy`U@0%)f104h01NWl{QDESJv^ zP(@?+wb~iJ|Gc*kDkLCyC;ac{>;Gw2^LNoO(7&0nY@1h*H!2t%^mjA7NTyYs(@)O(Wu`v3o9=>FX}*r&q>^e`&e+j=>aiYC8&MBZ;= zvfuc?$&bfo80g85w-*-nv!>w#mojuh=4Z~Z8 zA0mzXP8`hGW=;%nEo9dgGAM3~ijV+10N2|z7a^c`aFLP|J<5}KRx7m_lUMQU8UJ`f& zN@pj!nTfB33*5zSW{2IzM7=xLl9Q)0Oeo(ljX%>?#65Dibr?mrBcxidhi{Odz7G4B86;mzn&`y$=M+ zOHwhECrk+H#^Lt&InB(ylLd)dCMR-*uPT+cH*`Brgx(3 zNs;ndE|k`}9=R%sY{BUCkFX{DG&MQcZvlXl<>dxCB=G~tERrPk78C08T8y|Jc%)=ovX|LeQu|CbjRy<))Cs%UbLss}BX@Bo94e5GGQ_Wtv%;O2YBH zxHbct#XbZ0czb}f!4zR|6XYS-#D)gQW&Nkn<`Ax_A)(?J5znA%=8xLVW0L4MgF8Dr4ZT{fI!i4;7`tt2|62c1cpZ~X?;RGd<@eNb!gXg2+(DZ<>1kdv=A zHRQ2h{F_8lK&NCFML=~13SP%JE#VjW+6aTHhb|c^kG3ER#HJO*0BLKE{44D%S2tE8epx37Xz|&;m1oe z91-P^5Ri8>XI^WhPP8R#_HvF3d|Z5gzH3a`Xr_L8@N`;Ey!h+x#``_NMDDsJ7+JE# zMS3dA#g-~bleT$HY)1Gt%$I_8Uc|iU=p6f!Anku)fR02Nc0Fx9HMN7~7~nbag3`8wwiE~|0u5<6@dYf@_$j5WsVTOkB&3x!cUJ z=lTx9bh%(%+5C`UPJE8wD0^(WYXfQeoMtaSgx$QGByEbk4dDaWK|@Z!KDlf#(J^mO zW)61KhG^7}_5F%G=M{lRC>h1w8+;J6x*9Nrn4Iqpn4|zYtYeG(w$n-w)FJ0qB)ic> zd*&jY_dQix8rJ#(&9wx3RrKslFo~fCLi^(eWmHNuEGw*nXs;kZM<7+Al;oy|TQ7%jU zXR=0_20|K>&UwLBrX(QJ1DLpWz(P-trSA+ip-M!jUW@nbj5HlgvY$BIJMzxUz&(ZO zMa1400o}0}4nASl9>fSpnJG!Pz?g)){z;*|T|=xH(dNW^I{ zAuZO2$wNvs^kcRfrfuyM@ z=bC>(=w=7K^iRJ{p~+Tfdgjpg1FA6b*uhj-M~!XZPG1~pfN>K9>}rUbBN=XcCD zKGV~fn)l6%F6OlB9n3SYTunmsWOL*}oa1K(J;>AQN8^gmBP_a|PdLV9R_6c*3Q`*m zwU~n9gnZv2gWXhIlSd$l>o--WZf;QrnE|H?>a03^7g3_$z`U$JVc{oYywK%CcBtc| zwfh|{a@w|qmd8(z=*r^jUeq_#gnpsz5D@R#q>h79B%{@au=3#?x*viei1#gd*}S_R ziYO7U+I^qWYQIKT2fEW^vYnf76pmSkFsI_tG4} z!WNj6SE3j|npso+$hDNhJEM>W*|5$-`L&|Ff%-%6h_QzA<{DnCT}vblXM z9+qEsugK%UTyoGfJ<3tef_08KYysLBYsGMT9i$6mwGM z*(FVX)?pc1o72*-p#OMp+q^l2t0jq|*7Lg0r>Ggm-gLL;=^4k5sQ}=Q z+dU;u&rC&K-;tBn87$x!o>rT04#7<_XhtL2n~-iX7VE9ioJI4g@GezT!l*mMeTdPR z2RaWLKa=(Ps`0O}>@ve#oZpOBN8!ZSG{fI(iqwei{lRO0y-G0vH+eGY^<{OqcvbRw zucT=)X$Yu->2ZHTZch*n2iY{ib-m~_3|U`>72(K1@F z-8pyqErXK3C1nCoF08@q;wHqJwAf%dx)bqknJwjgsq}3}ZJP#O`m0fpB~KcLUnKT^ zg%ssqx5y)x8V@vFRx=FUS*3$Y$3b_dZ&S|g=tAv?Xcj+A`AVrMoou3Y(uZq=g=FI@~ND>G&y&+UO9WKN)q6%OY`}^MmN# zStR*PJ#Re5!p##ln9b#?48}P*n#?CpH*SAkj^Wsmg9eZ~RtQgr&e8i8MxMj(Tq}9? z5LeN&M|tEK_odYSmYPgAj!s&utaBuNq1MK>)6VKevJtUVCJoWs7K=8!aw>6p!%;WB zDohg0&>9(dp65C8w1$w7(?ZNv7v&~Np4Qy7-e?k9jiybTu`(l`u+};6E0+imk*Lt= z#Ejz67^G%?SGJT-0l0>|ZnzwuXRRaS2{H^KSgNO2#SW=!Xfn~H({s47_I!krrX7L{KIYnO+gr5x>$_uC@-IQ>HnKDoBUuDDS!pu6H4@-0a=jU{`u zPy}) zuVA5bLy6Ja1{wF1W!iBEbJZnA^lxO-dhk9uXI)xxgl}49rDp36ng!iJPmd}HYG~}C z56s3PkUhg3cI9-UI=j%}d3daWG?hkJO>1iLn5#EU&d4ZNDV|H3M^;HTFZ?IFD{O}8 z&06m>F`rEH$d-=Q^CPxnCPD~VcU1Elvs(Io%#ZQe@Vs(iU>&=NOt3}N>_lnoxzca4X z3oKrrcEB(>Hqc?XOu0{RzeMi}aX}t}i}y@@cqrftB(2fvPR*?SC6ALg)4~$_r<9p< zX9(fbQqpnJxy-PW{jy7Xzn43B050BP_nb>I{|%9JgI4`cd;0Da?RnE#YF}WXuh(4f zxAg0JErILg5ysf=s=E~lEoG~(seWVrbc4+$Pu=ypCZn$@_{{Ii$6Zf23{os=DkH*! zry>pCO-}XqZ$*gRQf|3XR96R0Usj~X)2(`jurndPzoC-MS$U+Fyy5ABpI4sElBhl)j)>7k2Ng;vSq8}?*cK z1VPh@KufjRTh-WCv5sNFV}J(PkSf?HKtk0tq|L@#A-y_$3p_b)@aN(8iXIK7QX`&w zc1j;-^#n`Q%_HOw;de7NvZ9Mmm1*J`w;h}Ajtvoo`S-_OG*FyJp3<`(L9XA=3iE9`ll1OMgJz~|S&c@dntWPABce1KFC z6DA!JU4xXM_!b?(8Q%$2B|D z4rUt8i1%9RmZ?PR>_Qs2o1LZa9N>$3XyI2+O$h6p`(_LsCDOEF?vQJu=Sq=O%W>+DVlOYkx$`iu&b@V0kFhz zPeN|_KrLiJGqYYjQO!I}^F$g(=siaC0w=Sm`!|MP%uF@KpudscTWFkWI^J}qifBB3 zh$t{dH?^-b)t2+})6~T_vb!Ke0oReD5&#i@-G}8Il}H$=3!ts(kPxO_hqT%jZcELI zZ-%)_N1E4b4`?Jyw76NIv2e-!4@SVPs^!C&gY}ImxiC(DL!!G8R&YR=3HHV98gV#Q z8S%rpbeCX8{=hF4<3nfZU7cD=duwgdmofUW@%$?q8D(PaV)jqBY>9;+FhbVmGPhm%VCeK*w9GSAiYXvTzk_pcc(-h3g_scf*lG{=}n0AcAhRahwZuk z7)}*vwpHZG^o3y3+T*WS3wounH;Kfh!Z!K>kvm`EUfmG663=28&a2W zR$UUy&e(!>gA%%L7J7z{SB>pI?&bwkO!X0z_WF&Kknm=dg=`|10^%OMQLF2+4oVu5!Me2k#$`fOiC=ghl2Y)IMJ^ z&p)2b532Z0L%RhR-!&b5s;BZ)ILSx|jEt-ok=NR=E#AS1Da1In(3FRySE;_Hpxthz>IU$U!5wSaeE2kqHr2B5u4ET)gH;+b zrEE?HV=r+tK|bVJonu>z#%*9jrsVAw^rVK6pAfo&?@({&XyZ+m{=7U$XPeR#annB4 z3Iu3JX7gUe9vfXa^G2oKFCe*W4g_Ayw1PKf)s8gAKVxaQE#a1c&tFHTlB`;Qteqs9 zs!r=ukzKo*e9J(Cl)csxM zVO&xA8N#`K96Xn$RpPJ{aGKOatN+HIoO%F)tlDT>b!JP{n5@V#p}s@M7jUj+Q}?DF zNbx=OMf?n|UHU5KS?JSuKl-C@o+#70hG_2GM2*Dmgv{b>Bng1-S0zCKSK9le4JXIv z<4Lq&dq60A5%xj%FK-YU78W40GW~cr1@iB*<{uuHY-kou`cq zY6>e`8;{G0E%PV=MVW>e7<t zJF*o@F15Z?fW4v4n$FRcTo0>e!~z%3&_`JH9WE2aDe4vyZTfyynrG+0=1_lvtwVsh zNj&5h=H)3Xe<~<{a1}^ae5C=IZARlO_SHnbR6EnN_A>WKe+(FUBtzPT^Dh_~I$Ha} zBVoR#k7}>hvn~=Efm1Dm>O7op62}30a>=3o5h*QONH)bhf$=TKd5xnExzbk+Eb0}0 z&o|F+qN%n08f$ggYO+p_Pi`nFcwD>+5%G*6_6$xVcrsPkZbT{rdL#l@DY&sW)ncRP z?YV8Uh3!E?JK%QhJ&yjwb95+f;Y?kr6*m(o1$D-&CV^5-Zqg62Uu;jXs0f+8cx6wn z_K0!aX8g3#3CJf!vrCkn)Zm8$#ENT;__oIg?B=~1)S#ypTg^{2%WAW2 zQWVRr`NF;7Q=P`bcqdJ1av9Y|;5lZAER|gSfdxt(LmqQuo&rd&HqTO3JYY@O4YBaR z=B(y-=_A$z=Un1Iei~7Fo`oOwQ#d~(HgGFG2@~8tS8F}eF@dB7|@2%fM@O9s#O^{;tSz6wst0&NthraJ=e)lFYM8rLpchkO7eiV7WSJB#s) z!KP0u3z?J5S&~pL-Iwdh-Q22NIDbbp1i!@figLVOV9sZegib1va-M9&ao=p;YoHMl zJSMAP%9At4Xnic|m9+ISR-1FSh`2l-~~k2OtAbY;*L zxQf?_fGrp+%`QzHn~UYCL|Rz^+Ihzxi{%M+-}t2B(dSbQP8+R4g$i$yXNOU86K5ga3n-VH= z^aN_2LzFU)(BrL*6BhvKgdaCygaBuwp!&06U)3?C2B+OB8CSjQ3=o6Dw0Cs}6Z2x7 zriSOf7tdCX^oH2ANDr((N9CU>>Hh`b!5$vLfQs-HBeE9TKI13r6X(&}fM|HI=aYhG z9@Jt*p;73Q=ltE>%tKN%2)qu8Q-9qibja=j(S5`i$B8`T39jAQUisBa!#;r{_2vF( zE46&PS;Yk(<&rLC^h=<_0;YZ{1Y#vVUpltCk~DnTK5l0ITU*=Caba>%<@DY@Dow^4 zJxFnFZVL{2Sh#&}u7y>jvx8{#;4R_3LUrg)UUsSx?c#qZUT#p3a6-0iu>Yu}@lc0- zWeH^7>H4NtEk~00DuQ4>+Y*AqbGJAp*l4mWau^}hjw+pj-=hGJt9T6N77$h@@+W6q zuBb3EByPozqIHCcwk6qi{vu(f|M{r>9gnltV%46Hx7S@Gci`}?qQ?l?x;Pp4NL{e? zeIsmeTW@(Eg-~Dk3qKB=tWh;SJ^Z#;%=BB`TGZ^TQWt*he3(vEwrK?=kw&u+yqDz{_L{L_;P>Z335-?Be8dB!9Dodr7Z(_25 zGFRV*0v(&mU2(0n^u=tms(GKZ7X$j3m!R}cRa^llju>a?0f{HhWR{*2`MYjCQXz8~Ac(+zCz?Qd;l zuyhiq-)N6?GJSUi1QqDu(`nP!pYciuK< zLC=LaybeZst#f2pr)_Z)4eT|VSVz~?!G2}3qC4>v;NZU=iqBu)|IE!NqC z7k5c>NO~^U_5;cy^)c6T9u*?Sbxpenuah*im$)1`lMW!!fw^>F$535Co-IV091a`m zsOCu?4oic{-SQN`Vz}6FU6d5MW`ggv5s`c)W$)6#NDgs&*jVf5D3cPzu^!SlnT*Y$ zxGFN#)PJgS`p2EvTmH|JI5pmJ!dvF79!rn47xdL_szoBZF1O?ASedcOZ2F6uO$Nsd zZYJlv?m0A+l>D~Py$9LJz-tzgcbvAyb>joiq zS3b^TJo4R(G--eMEX8;_FAzTPODYm8PNbFKqR8yHW=5lP55D5f;10B=rw&hz7{^(s zgGCi)`fl+5rKk!&A9UR?N3e~|@dnqMR!O#@w>h%FMm8nF4OuYh8`0NNaHfXi6NA(~ zYG?uRU7oPrHdOAb15~xL96;uD<*-Vn1zQSopJ5`>elm29=xJh=GDNsOO?vj}&gR%G zJ%ipD0R2!4?zPrw$>>+a)Z|z_qxJq8qN|DJDEF#eB`uBlV!K{XX`0Ab3LP>RGM^_c z95thVgC-X4V1Cs^eKn}WhV4ndX+@oXNvj)cau1N!Za?}&H4xTejFi+_>%>9sM0rp{ zA~(7QhIY>0>ATmr<+R06vj>oaewfsN+7BcP7-rF|_7EjnI^c07apWoEaj63h*8bIY|oSVlconRT_Sw}pXQv}r;9Y<4Y+2i(=(&wGf9S% zr~*+dF!Jj0$^6!|XEhHpH;mPR4Y`BbQ_KSkaFCtHFPImO4qMTk3}H=D3SZq3T8T=b zL@Mqhtb!eXATRFCNFvOiAxUMNKAKXz03YNI}yrYs=V0I(X4`|s@mfM>c+f#fd zJmWIqD0O&VJ{w0t&qcMJ>4Ru-t?*^!=X$jrB?D`FmL|y~wxhW4cKKm%8lWjE?h4uJ zH^RbVA_87wNKy?BoGCA?p`n|$+Yj>AgzKFgZYB9#rRZNzAy=F~nL5+0X|+!iG*^{$ z($o#6ZmNlkm?Ccr+{T!oCw3)`@$k3UfIZJ&t0TN8$>y(HqwVlkmfVKm72=*BILFQASXj%|PB|S5{oA|5&Yv z54MQ!YkqxON?wXvYrH5yYMaUnXScnq-;cET(#%ZKq^>z|V#>}!uVUR`>mzjKdJkIT z*SYFXlE_lE-Pi|@ihOXdCSqeq{e*>B&nXTeH5R|r!-os#=C`tbLm)R}QQaiAD1-`P zoCUKZ%XHl!;lDS>JP%=-HdvDvMjIwySNPEWGyDBjUHHDrzMBs<`l8!n?Q|w=!ZA%< zv&SI$oloh%7|4rXohd59T+_%JEA+{ga3f~+ASy9Kr>nxuC)f|{Wm5g4L~%@fYyGDB z7&PfW6$4BjWZ_7j8nm(wiee$u0t`eui=^ibi33G*#yvzm`gb!x3; zzo@FX7?-7k9aN>KRDVH3`e!@~cZqNTN|*%Uy2MJwYazN<(r#xyGjYSoZCqw-RPQ$! zl5slB1`68hns1~ys^4SD^i5hZt203GlPj``*^n7AEbZ{eJ?BWEPguj>Bp`8OE(INV z0XTFHQQ*pSo#fPhOM&skH+yfMw2gd-Sf~LfU|u@I2t9AoNWSBZ8Km@ZqIyUn<7#?E z2vG{50$0<5n_HQVFI(SfdU%z9&sDynq~=!m=_1B(OLbfD!*=4=kJppfWnEdVFr(2u znGt1OkJT#24FOOW;dP6-tO(B6p?Eg&y48Zqe(oL(+Wb9$+x!(c5NfV?17h$@*t4g< zfU0aF)zxkIm!YuR?FI#1%m&AOTO7%}N67|D>IRFZnL*VkW}b=V_+i9Qf2*Z(-5`3K zI;F6KR%y2LM&pMfU(c;GaMA^XZwg6qlm8p4A-r;@sO(|3JLjefpBevSjxT4DjuEB^8t(Nv}R+H0lC;8)hnX5c@cTreB{tIlq-dE z%&1dp5iScY@gt8ZJCS_;k`?(8Sv*+BL+d`jY1CAad{42tomw1`R;QxDxMefQxdg2br=_2@yaY))j=6EvZc5P8GI@HfC0 zA%$ETL7cfK&|~p*H|;i2I*(VE{&WloiC`SNB`v(uv48~LoZe}w4GSw$F9pEfxy{}W zEI$9};^B+nM$a$Jo9XczShVQr*P1$po;^mS1^m{i5g*q28rEy}=GW3p_e&2|^%IJU zq|LmC!e4z5tif(^LhK>;fDV2z26L`u1E(|3zQX)9qZ6<()!!I9Hqw^S7t=;xB;;QX zUN!CnHf(A>j+njDA0{F%7)RbPdTLF@hJELDq^ZOzv-|9Um~tbw{j*S# zaC!pV-#!z5v$a91Dw5y)>j-~#sUF`+QMqjC+bA#6NQ~FjP8hwlcjV`vI%-bKgWK!Y zj8I2Mc;E6jl;JW;N6&;@B9F%jqbZS|-4xf>40&`;W`pn@U%Z1X>AUp|u(bAj=Wd#Z z{`0xq0YQb{YLCd+3=@(K1!f~0X1to=I|oeo^W7J}X*nV^OLVq+Xuzo5Wm9aUN*MFR zTF%Aw-3QCkGzMyW^mp@(>1im+-gZkuPs@;kx?A@^vPqYue%JzXuVe# z)$EooJWGFax}fWcD>Vv8hSwK{Nop{!8txYdr|E7weT10W(5(dwEjHF2sG|W1<->|URTLSS_dr|=xrEuD09435ivLM^ zm0X->yL4_kzDVLUgxU*c=SyqOXQ}dJjDk~9HvwB%K21~E%7*hn(N4sYI$BB2;J3RK z_ezp26~psI+YQ1*vSDUgb7|jI^w8L5W&-dg{|{$vstC3@W350s=%)u3)#;pGJWBSg zuHCZ{(&nUx9S`FAwzU07VLaoJR{@QzmYwh|U zH8!Uptnje#6whtq!G>)J!4&^;1L;Rz?;rPKs?%pgTE2&aUd=utrXGMgUVD^lQCQ^c z&rY4&cW}^*edORZ8bGJ* zmzrM0;~nW4={|ihJZsYgCn1nf7>wqJzcEF478xZZ}hJCZr=M7&iZ7Llc?TyKJ#Nqx7uq;T>&_xnaJI1`^ z_38%lV2A~!cAG2vxpP?Ge4MRYsXW#mgtXu=8hY041^Ne#4kD|B;B?LQpn8>rkQ8h_ zsa~kkAoaCI#q7!Ls{=gu06#)_jjY=!z?x^qYDYfUU3)r`$Jm~Ph=d7!k0!IbHawpm zyZQ_-kN}h>1?)ZEz5nri1yYv`A2b!@fOvA+n)MiNm_$uQ$R+PbSVE zNs(TQ!9fCoIjxQU?CDH;ObX?7cn~5|N{MlljagZ)FDwz`gXL6cu{3p1NL*~aNgO29 zKh6t-Ws8W%votBx@S?DQ2|y$qyTK9>itoy@beDD>A)F>baiJ#bb=Ru{3T7rEEk=ak zCsEDcB)n=(s}w$q_G_lm+=5XMe&`*64vY1+WW3u#IWqz0`felVHV>rb zsY~h$OC^#Lo!wi)NK1*7Vq3X(ndn!KG`=HN@H;#LQv52!=vCVW#ozq|w=;;cd!qPM zi}j{J`Q)KRVNX{%acbc>uAGi`ECQ+9R>@5pGM_Eh<*<@&Gb<$W2QnT-m1<0&Fy^U@4kM~*}XAe{I=(!kR7a&w;u;#*@ z-vx84j;c~x@TYZyY9n|Z^gUQ{#2C=FVzd{W3)c8%sc^SRd-0Y*kC|LmKvgtQZ2&#t zA={m+@!P!jez;Y6;qKR&ENKnM};Qvvk;`}^W>ROSz$7B z_{NwH(-!C}$~A+^ccsVAU^f^p5nJSfOI3ByT-IqVYGa{^$ckPvrHsUDTRIN)cZ-AH zjp!1E{%QNk2D&B`$2zlgqNq7fuQis{@veOFMPPFt{Pv(uY)sjf_7SfHm3^~n#X)Bp zGDFO<1FzFaV$({@x{Bg*D)gsxD+rw;-1y^v|jqg;|>C; z)5L77dRBlJ4;+>>AQZP=37mVP7&H`)N+~iw4Md9O4ZxOm4V3;+&fT!vNkBb?{v2Id zqo_w~?b0}R?%tgWh*zaevBb=`$gsY(=U1ag&r8aUKabkjjje4|~sgPV{?digcwCOlo-w61ka0{&SwAj5(X-rTl^Hf@S_ zM`M{)rH-xz4DBx6HhqvEkb5oJ1o6x@$ukt2J$PY!K{(m#wtZ4`jtUd3+v`y8tJZEu z%x>28)LCuY5aZhi=kejzSL9m;@6O%LG^^2oBW+0mj3UGK^919J9<@k)&o0ikKl_4N-aQ~^RuNt?rQbE zN}Q@BoO@9=vS1E4+&8QHWe0eN9eAK~+Zf_}05xpiFpVX@LAU%?Qc2U;rjgWhuVg7Y zS7W@O3j%qgZS`YHWBo)#_=PV<9ttuK_QiZP)ebHfwH>jT{+@R+Nj<>mZ2?|&-A&f~ zyz_skt2?6Uf|lq-*9VL0H}NJr*bZ7W+vBZm^;JoMcU-F|dxVV#cweR(CQQM<8)jS~ zg=foi-M_bJd#Y^}p8lfQb8dI8r$kfyh>g))+)eiHTJ&Rq4$O>q?WSG_3WKFpNeZ4Axb-2B>`y}g$~0K&5_=w39|!+iT=)jw7dmObE@f3!GP>WfIb?cvxt zxX0OIq`50SMAoS*ybVO-N=MBa)Ey#l&`5hg>@~2jrOEKyBS4_sST~qaJ7iej<8sWP ztmtINRPTaim{eLXmf4??j^bf;7M<$;I~7;C^doWkol=6;t#0T(_`ulFVgUts8d8w} z^NQgPYV~QftnVS&JCNIp^C-Dj%j6N8f&R}&0f-)9A-`-W0Ys#u`$$DThSTd7EquVy zzd4T3yMA5R0LOCt9fsOf3c|IyR$`V+Xezv_YRzWBx`r$)80tnFvGo{^Qmo?j5bX3h z*D1L@SyJCxPV|)4*ge%&hYx5EBu6EN`xhthup2UQQ-6TLrwx|cyO`Q=E8X2zgY0`$Ksh_wUI%c<=QEorS6_)a1XAKo6c%X6a01a9MY zw(ys-v2Uru7us_~&bMK+Nvdup#w{iR2CgI`=lmbL2U@QtqC;_-g8Pb>>Tg&FJj-vT zl?Gk;3Pe`b-r^h}u0>^n+TF;OEOAza@8A>^a&)tj{jEZ(q_9uZnMYT$CS zH~^K;rwW+8TrB@5SK#8CmyvI~$#N0R5q?zpaqKV)?RGs3Hy%x2f8_>6ORL|8cmXgZ zDUT>Ni6=%PG?-#~3`O7J7M7iA4!-xruGZ+q`&$!sOUeQE1R~^dN+TEPDrkvMBXsATDfp+kA70jnVRxtNc1*NkTo>M!fwmR_TNVzg^+_UrJukyo%cOLkP)Cm-Ja)Xh zrkm~4YB|fp)GMEbJ8X-59!6L-wlE`|cXrO*umg>6%as3eW=h6mX6g+iwB5;-`n%PP zAmAI$?j0UoVFE>SN^=2kb3aL(gO%V#k2P8nn}4f}xz9f93z&JO@};l7JE*08q6`*h zzu26z`1-pZ)c}?uQK~K-%JY$46aA*TL*QanY?+RZ%syS&VHQ&HOcqKNT?@CnV0OX(2o*A}4hy=6qs zOGai$IA^fgC_ybTqQxWcT)|`0E!Hj2(XXut<}Qa5gy#nhTc94n39VIQ$_@n#O=*^6 zE@$kJyxq<+;mQx4s7Ho~aj(>+{nX_08q?Y3(NfS)$RI zh%%?U)e%fXG_R(x{74Hi?EU^lOhs?u_DqtfP-Te!Ar-UHtDM>%&TLA-{og_E=%d4z z^~+_+&8Ams?g*Nnj+4o0}17>qUU|QSk{G7lId+kDXwo*iZK> z3)s0nQ^UB|cEi@VCnM!?hwD22JcWFKEvoF-u#XHBCt}8U+OR`F_{pD;qA*j0Niv>P zbGK9+(CQ2y$aaw5MM{0(n6NQ0JXTHdFUet1#w2F3{xcr8k>kBJ#i*os#+krxt{!$@f)%bJ3FNZ#JaetR;?$nnu7S`^w%1oJ>i{3~*^yQb1V6?2@LdHoc>a0GZg( zK#3L}q?kQjfvph7*o?-w#Jtp1~VkWE87YWsG>;OA73 zyU)c~l+GU=O;A%#tn}TOg3EWCr$eoEHCFQtyzBWXS@GHc`yu5_z+RkWuq`kT$G$T# zcjVSq&_+xlR=(v#zrJq-y0^hfc#*z;cGyXbW=KQZ%-qYk!vrD9`R){nXCplN#`x># zFj1~-yeuG?_g|QJ-(jJ+eXFm(K-n0K+ps9YH={>!(1OQ%x+Dts_8NuGi z`Aj~mIe~fAdUzU3vU?mO_|oye>sb&POf3=X3t%O?aD{={MOAs5ry%DYd)C8Of#fFL zn@GVMSQIkdE)H9xk}keqy|I2}*;ldJ`vUFyPp;oo@<2832Tim7=jt5&tjjUC4)1yk zzd%6XyZHzUm#0#xQ7r|Ka&$8FJqWZ!8t$37GqvZ~_R3z}rkf*X-V90bZWFy6zq@@H zNLUPAYx!pV7I%8iCs3=N+ZZ=q`>$ha)O`bWd!mein4VuWE`VFF?sp zyg(i_J`}TRY6&3BEZrF^!ouWJ9#$odZX8X?Rtw-&H;=i(G)W&HNJCuMX$3tC$(Ag1 zU3E1z1}&W3@&z!ao56F5C^yp31%Sq!JfND|j47F2EhNj;SjOrVqSe}2c$ChRDawS} zfDQ>3&}CcHJSMbb);qv@Hogo-b~;YhbV9tPZ6Nkm+W6i?_Eb~78qS3**)Q6`gQa{(NfUciK=Qxl%PuBKi>wdX6l2Q}!8#((qe`zS zmyPN3%aV7srQN3QH2K`pet(+fQ?me>vd3s~Ml$)*zO+$fsWGc1&I#Z7L>AMNT#_ly z6LsjD7M$6{@hdsXVIb5>QAuO!shPHn;m{L`R}nWgoJAZlY##yV_^~!;Y5uS-HRUpn9O z4ykDYb&Y%kv5CnwkKy8GbIj=55+U0|>AN^VjaRh5cgC)i8`q(hTPl`wr6w8uzwb=} zUq}BNQOWlJM(hQy$Kz!TK52W6j^ux<*xm|>_J0MKnN0NSV}0}5Raj)KE(hxvEp0ND z6!ha)^|vEeT-)K?zoQ>)b==Z)A?u2x@v5eW!v4%{H<{Mr*&hAYNb0`|7g%`BPt?|c)htzuqCA2y8gQ12~7czgLv$AWSf zuaq!LRBjj<5!k#2FPh&^?UfW%cWu)E#!XEOapUcu*EL~ zvgMaEfd;>9f(xbh{M=a{sn+KJ@R%( zHxLkq`ES7HQWM9mqSu(~h9<0Y5>{g?T)Cmftkh9R&${YXL>sB9Oe5)oFSzkLH8FVk`=aLkkR+TzjZn$Efb8E%`qv3>$htc^crWg#poTDzBV6tR+O=K!dvC4%u<+?@OB^2&-J8#<%-0-sk(c8zxD_Kqfo?G9S_yLs9qx4;;OFX{v1kr0z zpK`CeKG14DI(I%iv73&3_Fj3TXyju+uJkcCYuQ6MUBx{Swadq=_!lsv%^47&u!b@ef z+alyUbPT+)Ccu)ls%G1|heFj4w8BnzXo1+qcwL*lT5Qg1T$_Ivmnz}W+wId!$m+3J zx9!CpEOO_*jiLZ;=7|9HDlI%Kmv_ZrAqP zznm(+>Z&f{P_FgMI{rASa&&uOCjL|yS!awwzS|zn(KJnLUnt5RG7(%3Ibc_``E^7S z$JIP?z}0@~XL7S{YteW;#blL2%*0tvy0iZHclJou6`=mBcp=*=UP#PDC@MqmXj{ zB4*4fe@04#PEyGvJxovdfakLxJ`^; z=kgxNu*=&hf;D@V3(-1jiE?;&>a8ma%Q~#z3gd5vsXiEeohVorU?CYXG0r1Td%7t9qjV6 zsm+~V;AxQR1-hB*?p$35ZXtTF;mZB9UhDG%yX%y)CL3$$L4OAH0B&QD)&;_&HKbKl z6_}O%wYM~9dwpMp`SV8kvWT;zq+Z3#Hn1C9eV8d9rb09#DsW5uOQNV;kAmHHaM$~QMg)7`|1!hjH&AkjpDU9>nN480`47HeD8*25` zj^!jpx_(rs-gv1Oo<`C87Wa^~V~2AWKP?xT|^QTi$7VO52UBE#51>| z*b`@6xa?_f^6Z;|frk3P&Ee>wsQ7zv!^S!(Ob~Z^HqFN^Nm7cxH&_*Ml#f$}blq?l zYwmA`We2Fo%6ksewe$0LgKM_-6naR5O%S7z;5j#tUn_CIqIlVDs_k%e^&L)6LR{^N z@t%-{+-*D2;l({H|7qyi$?Tbm`=(_B&lB>%Ljw&S&uuYtU8UtQ%;;fLI1VZu3ZBdy zvNHW{;B3GWUcXps(HO~ML*=&1vYz`>58@w}-#jHuiTZCmQ{!J1?pdYLITKKK9 z$477h-r9WWZWNDQ^N3z-QO+xBOYo@RV-)VtTFONflV;$NtZuN614E&QIYV@Z&UCyo z!@#b&KESmA!EYmr>Vk7beX5=pjG@nR_!<6d8PdVSrceU4oIE5TT(nPQsM!LLF+ zjV2P6PM3h624na-5kZuTL~tz6!Iv;*3dOX4wIudl)nL4~pbLM`iQ&vpzBD$?^l2RW zHRdKxv`8UrcFVKRjaG8ZHfPx1N5UK57i%gxxu6yc)w9duE5+|QM^bAm#|o)A)kTrO z(N`ycI36=T?!D!ZmpK42$iRVOH1BNfOjOF(gI&0N>s4E^qXVjZpb1km_-$BFU2p)S z7T@hLOR5s5o{|Lc0!$63by-;YWjY)#_cT`7Ya@?O|Rejq!@3moGMpc^sj#eKvuK(n(&!Oy4sKo z*EzM=-}8O(Z*WA5YrF64M%cEStKdh}_Mn;V-_E_h`f1bm3IBLJFd3^CWTxQej{W$L z*+)+^oPbFx88;%s2gRG8^-?PY*GGt7X4qnwNT<`cbqVwjycd6c_(2=HZ23j--al`T zoU8S1WzpL~+E1@*)AFlw?uBB9BQaOb55CdNVpU%Q{e^2!!XPW@ck>G?j*t}SQTLk% z9tOiET~?|IPwHf?v3QTBW_4B)Wc`zMYwBmEpdlIZ@~j;R`TWD$4wub|BXnYH-*Q^c zzaiHtk=AAL%X{3fg_0|%!Al*KP@wCd%-dTokQ%G7(+F=}?0jF&!e0!&HfyS^s4l?f zcE>kF_HZJw;_PTKh-YD_)kK!4-%a#4wmJ-WEVkYX-YXwRx&=0#Zm=7cTXXK_fL^A{ z?>f6k1;%lQjFBE+Fx6F4@kyMk^ZR_%nU2GN#} zYZq%R8gQ$yj&sJ&kk^4AXKw$R&)pj*nHSD$G~&pqHAXfodDL3;se9nkNk;O{v^JFd zWrQQ{l{ayB8=;8}ipM3A9=6n$$mv*@yk!;vqTJuSiKXS%!-n>e9cja&O4S}g(q^#^ zv&%hrnzkJW05@y;#+GuRJvQD7k@~}Z?bzI?)w9OoY>6A5vd4J#Yaj1V z0et1{KbAHT8$l-vOYxy7@7kJ~3asRcG_h(i_{}hJrqYgBZhjLY@@pNAZ@d)MYRM7v zSmPXaesM|hZ8NwvniLP|pt78A9dSWGJ5S%teys{O_r#L>sHYm3Z!ePPdTk>EA@3Q` zF{NWSt#h)tz9k53=V}B*q|TQS}lo+$+NV$fE?nwG38jy3TwLE zFY=fnd~l>lDZh2Y8Yt#t1og6Qo|^C$XsYEj;=9r1rGjhaiDfHE@{`DPpgsOi87 zTJ-94)cLK+fO4~u${VCv)cJ(Y)027EucIgH4mfHvaZLheo;yURok7bQb+fbAtwPRB ztPg1x& zv>US0Zb0`6@5)N>E2&Yc!EH^eNeS=*zI*oqPVC<})&y<8I??zN(XprOY7?@RS0|65 za1L)w4QXEMXY41gynJL)nLEMmG%+{EZ(Y=@=WiMRyk(jbgp|*|Gk)Po(vI)6g{6K+ zcl5Av7~K#K9ALdlkv~egzNr>&I=qX$^2ydsXY+q94KWDy+COhg{yjy8D{h5)5UIC5 zV9hz{!K~yD&j2l#4UW=cSdHA>(DZO?s-RBTOtrETZKk`+MmH~=l8b(=l)P;ib(-xv zvGH|qaXdx{TYTMd4Ji7~i0p`Syo-~kW%5KxNlA==F-;w474zyjv_h3pe!pazf+W=p zz-Behhv;d621vy~)B$gc#-0vPFku|Ietp_MW_|PK?9()JrX$e>whBdgDdgh;gt>Wk z1A2DtSl@71*Z<7@oGmr=>E2m1GuxtQWry>}rj?95VxJjl$ky-F0({F0T>)`)_$dAr z{jL{j!a$Yx?Iw?0lOj{A$Tdis2xur;d+ob>@q3b5>cNH>2R1 z;gtVJW5~uLqB*BvO^hhY5gp9XbSeT6*VuyNFZR2Vj*)9M&s@7f1H@0bS&8xB5wPGG zaS>9Wf{rXNehoH9Sd7gNgv>TV`WD029#OO9;bP<7v+wGuDXDR}`c>W~poqgG1nY%8 zA2h#Nix$qny*h8MTWpvCOSHWDucEF}!cKxxA!}&^yy!1%T0WdnA{Naj;2nu=3jC)L zjQLe&hLnq*k_!VZ=dTn5ptbYtvIaQxV=lmpV2~Jaw!^XF|8Z^T>TQ1yiBQ15V~L7d zud$STt9VeZ`q}sP%1ks0{R*0*!-y?iw~z8%NJ*cNx;3X2p?y2?DFVl)cBSd8aP@Yg zg%hF4F56+Ux3U>u^N}S(eZdWL+l(GRyo!t7TiP0JN)WTbeZH|$2dNKRg~h%D+i$xK zm`72n)KG(~&A#l1Vbc+Q(HhIK4A`vKfs*@hlbhb^rLd1diKYe?hR{%LuN^u?A88Ri z?js7l11g#d)MY1F7Aehn&8PLMC>akmeWYXxch|~cv+352E$Bx2mg!cx9kV2o-o(oT&uUDyu(X0MYHVYRow|_GbT5^8 zyHQj3l_3uKht2KJs=iV2;CsS}yByA`N^1gq(5w~ieHQzv3Gnw!R z+PKvX+x208eMYrj2H|~j>`m44$4>LyP@(SAPZsw_O z#4Klczo`)$ohTxPF1G#EX^^o(&X)#4cLAeZyoq7867I&TBRzl+JTkHhGQ^-7C1WZc zRggg;Y;EE`dGg9epsh2Dg=q;c8p)s5060y}?kWJZuJhc;$?&*L$4H-wbEDc<<$-S; z!rn{6PnPsILpF&jcSG8&$J5&laMKaJid_1-OQ4x-TFdHhDAme4V-0WF5*pnWwl-&6 z3y#)i5K?Qaz+rM}B$4u|IR$Vb zQCl%Kr0vT^TPTjdfs{5X>#^OYYU{?1D^8+sz13q~X1N*nd!e4Mhs@mqwaFv3gqtpo z-J5^*gMyi>v!0uj{2dZgfTutnC(KtkLvQxi5|OKV4Ayo zTbP#u@*oIt_kO=^1N*2rVHmL9Si+2-U)&o)9GHYmzZ)r{J6%BlR4Y4DSf?o*-tle= zgr?H^7$T}(Gh)`y5q9u#2JC0cw(J$1xcuE9gY!z~25Z5f$dfZjlS&g`cUli!QJ{3H!(o#>PrM*-YtuXRjJ zh5(+Qi?&UdS1_qfmXfPm>gq*npiKHS)A(pidg{$Pl!H2Z?>-$qFU>J)HgllWqTg4( z1;9V`^^@`CS0foq*WRg*RGn!N#`R-^HU<;D8!X-a-AaTFo{ZZL+WR8l!{Li&pKg}? zEOzu|YEjZ#*=`^XX?h{NYa&Y+cjIGGkAdl|yM?6^)?J*tQ7qoo~;;T5C1@;<)cj`z~Y*H9YFsf#h=?75r~M{PGyv zI+KQ7-Y314)`tJ-@GCtm~ z1Uh}Qwlm!y7F=IIb#*&{$0gsmeZvm`LfZzXHdW~tL$3OeH_P0id0g|6>kEbNgHD{} z1|hf0ha*>Tzo#``|36pK>N98i_~ByL__6F^X5ms=cD~xuZ);D>;ojYa`X;)^jzFK`1;5%zkES*ak+QykW=B+ zu~|?ev42(Bf&I4-tr-;$c-=iXc$rD09t`lSCH5^D_3)D)snV*$gJKB$l%1vGWi_?q zrOND*8=)?LBG^Ee(azMlsP1nmBdBzhgCN-4+WxkUUlg?W1m#TMDn^`-uB}n`@TA=} zna=O-4@76A@OHF_{Z9&N#wyP#hR1|KT@GExfyD{Bh*V)&;%#d$?qorRq!+~+tKbx@ zeFJpzD7HwFtU$(kt&z~_yv5>tYubHy=-Nl_(Bx%P%?zEIJUZ5gyVnrtb|6x{v<^{H zv5s1fB9qsDUr?{w<3t)FsB+D`Mh&MGnJD_|5O8tfRt~}=GaxCqu0Fhn61oymE7JTMnQ_2fDO)G3epjmM)%jPri*`6OMA;ox`!qm!+UcFIOf(SDT)Ybei25d zI+uqN`pgNo!m;hQ1SRCPK=GhS?kO4x*$Xbo=34<$Y+FVbroCtWFz?E3zqm0}n<)hk zCkX;T!Sy{{-q|aPN47ARs0X3v37W{3K-^d5rn(_Z8gxL|{;yZ95yA-_1z*<`gh>HZ zu=UBCYahV_A^yu7-!kQLx;Iokf>q3Ox=aMRxW9iHQ9SgAWd_ti((-ygw5F>(tyr5~ z;Nr`Yhrw`C^m0caXzUHGY2bE~6{;;0pdTh?`m z?Nc#%y>eYm+T0T8b>-zS4~6w1`y`Jugbj|>$L(m7pUmz`(M;cewnvg=f9AC{G-WMl zAQ?a7FMJk~RkCDGH+eA^^XoUYpdnZA((Dta{p&XTj{9%d2X3`x5I0*!x9sF(#Z&tu{01O{{nyO`?TzvTYXJ!obMR-H3i(0(*o^5ZDBZ+aQ#{82&= z&lBFzmfu`d3$aUt&q>72r+DRtkJ47AR@~>FXUr8Mz_9co^De+T|LflcCy=hLMVieM z(*ClBc$+^(?z1?*$j9X{%*XusOm%OIDlnRr#p&b)6s4+@F~A5XcbMkwRGAak7@#|* z9fthAr`V$vQ(67HnKd8x4~R3R9SW+_Dj)3xZ>fj$$zQUFVGZCze)TiJ7u*fJ(~_{F zf#`1Uup|y7g>*H{h650~5lWlx1Gn_>Sl5chV>6pfV^-Wl|E&7F*gi$jUmC@QjVSAz zH!Y5}H91$YC&%F^%)F$}FH*kS`#j9h{we`jrNCVuXRksUU6|IMa8Xz;0~>`G&&nJx zoGh##otRjfSNC9GW`W%vN8NE6ydUYx*TJ-Twhij@!okc>erGy&pEcHSAR))R5-!dHh z4;?27NFByKHZFmsr?Tqimo;|r%kJrMax)+><+mH0vhc{R`|Zn(0Y2*s!T>}v>8UO5 zbro&lZ+|QIr%vqJ=UqNU7ebOWii2G5w$)jxH<#PaavQuO%=@&*?dY2V6*!>i9hZet zeM?Ny2D`E!GzQgu7(p7IPGgz%MI$I?qx@o7L4~mW6qxl4UmFtP84~h3Gb)tWBxL)9 z5a$9kq)4ukoU>oK7+aXNOVDFI=$w1y5z==KkZy2*W-d`Q0LX(h~QXNJfP zCH7^_>5utTXYqR!QN!QfD3}ki%{;Q!!FRmGZIQpE#AXHo*!PGZ3&TFT22*#ZF^R+3 z4vV<9Hm;}NI%Xxrv@OH6C3SlopIimq@bNDLSBXb=A*>V}PV~KqM!v)@-CiH3dR{(E z(yQ89U)5e7#jRcb`pr1*Z4AvUI?(gSW*G^8W96{9DeMw6g%=i~>x#y+vDHJkKM zRdLgpXu#C8d<5K@c2t6r`~8DuhQ-Hf59Tz1;k`$eI%C#{tD?6b<+QymbZZl1^sP33 zTS^=<{+Gk#JY(lK+g_NB;@M`CfEwyfv@@vwbjkyOYj@uy&DKLfa-%IMG#yk$8+kL4^9aqSaaV7|%5G(0o#4E^PdaKYi9fw2dnTzx zKacEv{p;KR{2KGyskq05q^4{nsCMkvVApbGQy^rRVraO)UwRdB+#hQ-pFES@YQr)G zmPgDQT(=^4c1ABO64>9h+APUnE*tE}mR?O)(r?^I`ur6Vvln_;^4$P5urhx58T>=N z3!3jRhTV(l4Gt+<*1Sd+S{OV+!pAqRQeK(O$J&XU^|nbrgdEEcc@qlP8jcc>9t5?zuj4gD0Jf+SnJCBRA%zDff7L83SYK*>iW);%CcHIaN2)H=dHNZ+GPG)Gb?k0-ZmRRF|FVb6jN|J; zckGh;3r$8pJsVAY_X`lo#DIb7vBh(FiRhR{Ep@k96<*$kSYn%aZpRsh2BMqQ`Modg zG;>+Wf6k^wJ`gN>LgJdAOnbiDQC1HvbS|<#In(1xtUKaOBAyMgrzH@_7IzjqpL|e) zK&T_qkdTO@Wfq;@h{62D9b^SjJyEFnYNRj1mpz>~F!`?yNz%ih3D$P!?B&IZ+YvGH zrA(F2$>^U1Zs&37jRP;&<dlpRhD$e6FbFplh_XI*?t0&tc>OvITrzXG@JcACX9EN_{^bKh>hrVpC18pMhaUjbu=vt0Ryq$IJ~kP? zL3;r8$elan)^bDnzWvLxZDs#j!Qbg!t(=*Za0=Ize4ld**AUKTJlN~s#+cpnJBvin z{VzQ|deDV8v)#La{TSg7dP$JTB8*xY(%$b}xs%#&;$$sn)2r8jrtiz`T>)>T(K%)- zQpO893jwIYsy+Z+)7UceI{9IN={MSJf``MB`{>qZ7Rm(;|L`-LR~Jc*BF?9sYro?YGc_H}KY?CA zT=HDYoLOu*lUUimP-_ZiVU~9Tqjq}ZJ$j7xm*`;5|0i|q4Fr#lH zJnoMa^j}8GG#Ae^C9lCo=9>$z={`}qOroZ9Uod!S>=ih*b`~SFh#NYA!(2JA9znuL z8tI16X6NW%njKVfeSVk3a%1yLN?Q>orSFe&pe8SydI2EH4vu=0yoaTNR}FOtnn|O< zg2SVWJ5ATalyzVl9B7r5xaG#9FSz8EjuPj(o|acFtv_RicodqSUONY!VUEXc8{)OL90mKmHez98R$d(k^htw(#bkPy4*lAR1-bT_NWoG7j_4r76?=QN> z_Edq?5}EobI0aV7>Apq#%GR|-TRAit{!F#D-eA)z9vy~@1P@z%bI(=x2o>@+Pl>fcQaSNpbvadmtnEYW(;;pa_R+<_^L1)?Upz6bFOaP zt~dy#b12%$84U=AiQjsSY8t@ZCk5MnM!I>Fk+q*mQfZ7?k*|zL-%7wvsY;hXFY~9CcvL|&!R0#e91t)!@1E}FT!g@ zj#(AlP)l}le;HFpDhLzpGLx0;v9I1}6{!a)gD9(8=ico%AnWA)(b|QJ@QDAnoFXYT z-XPwxMewT#+B9&5LuK|t-AZFe)ukvnWM7^ua`U>#)-}~){aMlahShQ5{s{F z8O}gmcNK-@wmxcV19X8bEla-dE~qin>}na0rFdiCE1Z>gw&oE!T?0Dxq-apP_TXt< zqF?JCaiNiY<6pH9Zlq2O*j-{ChUc{ImL7TC(^mO~dJw`|Vj_;qx3pu$AC5r1jV56d zzzj^&$G9*>f0#8$BFx{DS(^^NkhN?bQub!+^DB)0`4x zPw2*!WvSGEDpu^<0C@PFbaC|`UKA8r>1tF);CeZ`hsc-4!tymqf8{hv(sJ_H1;}QH zQS&HmPuw1IyvHs1yf%}XKhS4G`*PwG@y$_SV#YKwa-@;8kC2CACURt9Wa_(Hc=G;{5KSxI6+Q`;(kdd?L2Onq@;F-9L~F6M30Slk&@NS@R_W_D05=N#mAF%7?aO$Z!P708lF# zEpsxDn)PQcTnE}`#m{2gawS>r#P#Uqp)M(0SEm4*7k9XpEE$h`N0m9%r!xZl0v6G{7_e9L?$nz$XA^Zmr(@)v6GYr_>`*bVD21ln z?~~hq9+rd;GuF6D$KJLHB_+c&9(3-)9rqV8w#`@O! zLMkN=mSfZ3#!Gk<`>N}O;-M*TBG* zd^ULtHd0K)@(|nGSn}4;FOA@J?a2?PS8%_|t<;q%KT7|@BZ>$-V7=Zxz^q2H*=H80@jx*uzCP^34Cw=~Grae_tL9 z{#wPI+c2ol_8DaaL96FgwKj@%CBd}jaOnHA{K8`~|7*OZxOQj@SNwrY+&$O+wn-p< zIskoQ`YWs5>NL#g%eKn8!q1~)Ua=DhF^2PhV54C>*erFNJ~c{|lWqDATph_txaFjc zRYPvQpbQ%!Jd0$1jy0p3K3%XvZ~2Yx=Bxf^`o`v1VblNsXJO96()-m197`r!4fx)) zFPY9Q%$>M88mi5q#IIF88~CAiW7~dx2ta9%=Py_XZyK`Znj??jb3L)s;uAE|q9xkn zJ9IN~&Jgs$RgPuVuse^2y=E;gX&yMdTHBO%dFkQQvI%DKq^2kBgf2d*vz8v^Qnw$g z8;-}UR&vu?=Y_X}&@=OBx5`B*tPz770HW4{x@N*ZrA4?w6kmaiQ==>lg$`qz*yJPj zG`SEs<1pYZlwkL~>4=#umEoLqQoa=U3TP!tVt()UhmDqEryMnH8j zb?sZ!(s0C4FQ#a8`eOr%n_KO?bbZDgKv>Q;?4Lw2wYyAyBI9ECH5&OyxoAv%Xo6`z z8a7DnccqPq`>Vx=L2$))C4gH&4EG2J18A1p6nGP3Z_FCl;pSpBpRKJdciujXPU5ux zo#x-{(5Dy%LDm%)0oJCtL;n1y&P*QkL2T3*sjBZ0O`3#a-1gA3YRmzMFn#FRgc5R4mBf*Evamqv#A09-NqGhpWJ{9x57vQQjvA-{;dxxnt&?)r*KP8$Ofw8x@ zk8e1X`~Y3Mu6*3ZZ{9ZQ2c&eG=C*%AY=dbwE(Vh)vFJ+2dpyRPp1dFB#FDEU`QK1I zst=cUgv3N)1jz@hft=|h01{Erw8ot{Ijg)#X0Cl@6zY7DEIsbQP#)yk@E{X)g^E5? zhP>RHbJeM9wHYWyg{Z2H;OQRGF0W-vC2e`z#;ZYH=vH$*aegmkUcIKKlo_qr1Mcp3 zobP%9Fa~a7DukAb0eiG_$G_+$Vt=A9*E@t8P~_|<{1`O&t#Xu`!#{jTurBG(MV$mX z|88zW>@#G}NwIgGDcoH8cDC3POv`3}o2pwXro4_XKA0QlDl6QBYQy_(37AL2{+AfK zJbBBO(wOvaP_>lXgc7W2W9Azb+p7&t9Y@-^r{3&P#oR^AqIWY_7-^{mD@JLF2hJ}& zF#dwwzx&rKsx<1BJM^}XiHr55O$xodr><12S6(s(k$5BU#y{nTskVn4j$ z=ofi<7lrCr!=_`OzOjFBmjCOIlW8-mG6Hq!E6ok{7T-i>B6J_{T!dOcTK3naf4HF- zJWFyWVC7kzXZB4Md#V;G}pNLL+ zk6ofqPO#jK)$7Qj9uAWmxtO{d=eC?XIGMbFTxcE@3(jmPtP)~mGx!IsB}JsV|xQtBs4uH|0STQDYeW<&D_*w9M`1ZvdzuH4Zpub!8%(@K!3ul=|i zn>Rf7F)Wmmt78&x>$N+FjMLg3Gw{)@;6I{Mth_;>mL^bzvT%1WGA1;hdfzr0?<@x` zdE5`mr2=p928P801)p+fm2yzc^zDNT2$yr-Fz8e~thk@kR(KwF&l|2#bW!A>u=etj z=m-Tdqji%DCd0kpalzC@&XUI)&QPwXUwApde>7T?mkA2xMJf;Cw|vMdMH3-xlJwB2 zHDWWCuMj_kmtfA~l=7iHE~7@f8O5fL2~7kWV1sC0)6w>kX~UfO*n20s3_awl<=?5BHaKOfr5uvd$d)P&{tXSu4To=TdaEy3{11`t{eM zu6_`cI5r{1AS*I0Y|r0x$%}aN3^wEqrU65LvkG>Oa79~fSMlYe;{CaW6l-u`zjcGU zK=^`Q__f`(2Xbzvah)Vvb^9y=#-<*Tyz`2j!j-T0y1QE`YWfV%zi7_K4m>=tZp^ZV zFOGfhxoJc^0A9qDQ@|`@zrt~%+}40o#-8H5zu1s}``Q%Fo&_}>D%T%Nb%I4%y{1;f zlWh_3v3bo{aM$h=CD*?x1}R)rmB1kZyvSi}X!pqYNzh9jq=rjHZ#M=KC748b-twS0 zMd40YHBDAZG6INK>^L7Dr6H~XxSKmuhWXA+fw!wZ_W#mqDE{Yp$R*)WwR}z-U;Az> zgto97;8)bUlgG=~T>)R_G*zuOd(ejJ{;CE>=h8jqH?k7k>UIR5Z$&_S`!yNmht_Eaixb*} zk(KDpff(x%2eo8SO!s3dxtS%?ASRRYh%uTJ$ff#4uRS;Se)Wq9;}}b%3P&1uHFFPI zhK78c02TYprZO3e0o9-_F2ONc8C2MnHf7^~vzqaSg(u~03?88MgaFEoS%gD^#sA2i zmQ$p|KOs>grNj`VUXIqUp#`mbe|{h>{z~<;3pnXpm(OAz9Lf6qj>1^<_f5Z{rYC=F ztXC)$l4p2ao5gQOpNj|^X=@=z0b?@ozw?vD_$MQ}>-BC@lT~wePamU@(Ve=-dEpr@5u27PXCUG5oHnz5p6h!$)#T>u8tRI zre9+Phuy!sROC$VmtDaYEB*Y|uRDsPT-F=s*40U(CtIflk;*mt2y3$O;F^>yyyQ#V2~wLi8{6|v0Om$Zs3`B1kfN8twZJQP4PAh9aTlI{%opcLF z@LgjR5;0B?p22FC9D%%*YL1c`=Y0t8d;&}iP6^zU1kV>Lum3S`)`-^=%;$ zd8=z&D;|XMT{@O{CEYs0Erq!pmL34#jw9WE$h>?ROn=;mHs^JGyGybT7SEGjS7#IWi! zsQA@9rGCtexti(RM?C@Bt}I1$=UTsbTB7W>^@}JC{~d+T8zzb#fvp)dbDDBYz%}zg zcgEbXi*~s3=0)z}LIuuzA_Jh8_ettpVwlOdO4ZkIpQ2T%cGzp2P}+ClrzlNo^{AN> zIpLmiO!Y@~6@*)cjqKy0N@_Z58tefAhq(hJMVM=Bb`D<-PHzh__q0zY#nqRk zgs?iFv9|x?dY*S~FFRppTJzRQs8Lw;_Hs5w6K0wP zSCgjB)0RU+mvzHQUj^{`)aj38c11wUT!u3%?wOPOo3(bPI2g>9??#}s8G$#UqkWPA z3jCJ0vggvN8g+;tQ9%i?7FB5S#Q`NE&HzS_ebCM&kIt zchKqk8`ih1^PIl6L6P{7&(*9LuOteGnIm5Nr#;L?+uLfn(`+>t ziw|>c2%Jsl6osfpoN7|!sH+Fv^-YE1%1i^1O1XW913>r<^mu|zU!Jbezl54(xPXB4$H^#k&Mx zcxt)5OA^u0Thh8CM%Ar8#Ht%9npd}Mh9w-o$hQD@;N%R8Af|&->(lqkX0O+npI|g4 zY|7PL|In+g){S~147vr6v@xv7>@f;J834s~xjv~xRe0C@c;z`dd2ut!_ln$X0$dMy zKQcIB#vJ0gnlMV&)G~z~Ns!=7SH#}U2@X}~G8I4bV-Le4F#Zbe~Tb_s^HB7a^C zZIMx8Sk{%Mfq^cK5@*nYZTuMLJ=d`9(`Hnz3Xyh8|lRMPD!H=EgGf@EJF%0x$8${hPQhM9{u*y+{bzn}EjZFWgB zr#P$L2N%8SC}FhWQuf)mC6Ho2-kE^65|_FT%98SXyG%>RU!e_9NbgWd>?Ctw@dQ)j z5k;@$3Q)xn7+U!ld}*m>ZWj=mJ>cq=h7MUs+=}XI(T2T3SiONq93QWMcxgcHKJFgGj+$|L(EDj)pg&WmZcHF*Pxy*O;}r7)2*1f1Xx( zH1irnSvLrwP~%CHCI|5q?WEc5N`!xrHO_@W#tXE z4l55dmq!YuhY z3{T4x8R3=lamozZ!OA8xe1vUw%I6c6#_E|}G~Q-PvjM)fXuT~I#B=5tuHC*E<`tG; za7dvo6@&pRX&-wkm<#^3bs3SF`?p$ADtI4;xO`u8>D(3AB--h!5sK9k8M&AwWj_D* z4iCL3UhM@3i75Z!_v_RWyfKPA5)|fa43Wugf```;bcrOe_DuQk8lSJxOBkOk}m$* z6wSZ^&-^LaMSA2vX|^wCgfg>(#viX%omw)MR%SX0b;^u373&7xq(e|Lg#BAZG^Ss8 zOS1yFG4910Jd?rk=sSQN>58apw}_pZj;3^C;^g^-n#)hOe(}3JKQ` z>$#;y?bpU`z=}?%&fGP74V|zMjk^{GI-Pmyvt*fXo{aCn9{DW!rZcAGztyMk6eyX- z6>h0W$nA8YE53`uG{v5+T%Y;cU%3(1Ej795P-O*`Rr5SrJYm!M_reSlNz(9>j#FCvAWmqj<1R=uZn)R z3)KeKKW(~=hZh5dJv=B8HQNEdNDI}4N7zlad)PornoAWW%u6BFak8XS$7F4&{o3G? zq>>s^pcqZ-`-e$i2*>zkS53`lxwAVdDZ!Bs;-q#)HItB5eVf_jU^yMTOTNnU0q+BEiEx%S_!5yh&@6crMEOHBW~xu z5OrF~a8QF;kQF*fRb*xXQTdfUWL$#F%cfT!nuXG`sBT0+m-&?>{;-SXAS8WDT}s!H zS_j5_kBmQDEkctXUPA_|&$+hB@0GNr9!cBTodcBtwjO}W^`i~(C8~riqx6wa`eAR^q41g+^+4g7tWJ` zXmQHkrw3uCt^IYqMRRYp7e_wxEVjPk_lER?Pm{136ZL?$?Mv}29m0>nJ`NSdtW@i3 zy>3?0rx(0}OE^8OD*=O&MJO6FKk!?kVzQIPKJ3>gzE)!3p1RXwbXn-Iwwex--_nKN z9!ZSrzVO2kBc^5FP|<t{_T3yuf(v-8S03ThA#b>Y^%dWBt$1 zcF9|smZtJu;IMU9#($;MD9n7xn=Ofg;E>T1#=qE#jBUt8`hxdPm{L|HJ5xhPw`|{R ztuHvWXHA)#x*zJox^=jqHgf)`A5LQ_ZW4Yono_N*+9zPV9;tJO<+5N*SJxiYJ?(xW zhdc-1VGRu^lZy+sDT2^#>-abEDU%DQy?#fHk4IXLZ&ZMaemCs5r>#2zY0qPWjkpG{ zA&LSp?|S2rD$_v2mu~;0RnziSJuqW)|6fzrzUU=~QmIwvoH7DJ7|7b^Z0 zHJGg$5+A9iB*z4PnnV9C;km?PtPXB^Y34p1DdH}pWzGjZph+dG19hVGTz^v7yj?OY zVnXxTS~>vd_}J8v$h~%lm>IO#2?VDGHSf!YQ=@;M$!b768zQC|kJ>~jJ|AR#7Fk6t zUF>zTG9NUT6G;LW1Rmzujv_^XCn=eXn)}g67tv!yxY3 zOc^cI*Cy8Nj~Y~0Tb=n;=09s#F9`_2RgW;W_CfaA0Aq;R28Ig9o~fl+dMkxyKKUzx zF<NtqBx)RRcX$Jf1bVrx54f&`9)_Bln{R2%N zWKmKY)8=B*NdDT#Dlre#h>g4;pMDHh#dXhUr$~2VwqiBRS}H7VP%70=`(5 zo+|IWMLEgCI9u^Uh&9}#QY6Pp&py==HLv9F+(;62Md4zHhkRm-ZEBNV(BJ5~lklF7 zu-3LxtjLI&Xf!eEu z>-|>AHFZ(Q*L^PQrk399wCCnuVNt`(ie6RcN>rDJD-6|v-mEO4q`I=+bdet;yhhb~ z(Hb$*F(Etw;sew^t=raSSu3%WljZdVY9lU+eMD<>wI1*GiDE(V7H6(lr({+=t(iOPsjXW9fc!FvAq(Fk*rkC!y8X@83ik*cTNru0=07Ps$!x znJ=TBi+z#v^Fd$Y$+A*GxPeb#c(S~Myy*7YH`cUV>y(PVz8j1AhQH*w%o-}<*EFB( z?XE1f*%Dy!h}Me<=*uz+QL%qriwn+)?nXuQvd0fmwGEx4CGl)-;XV&UK+GP0u372r zuC~DLLDe^QZh+oJgoSi@V$CVjuW3wI@_IWYs6)(8Kw`VIFNk_8b%x?4r8tdXiD4t{ z_-DnC>b_H{+q&ZY=^IGDL?NPa$woPw{$03ojU z@?V19=uKg7z0rA1_}uVnvZ4SrdsuMZF+q~fIU9wvDGyS@j>nOkXeKvYY`MI)MCAV_ zAWHRe*Z8yMlvwo7E$D#mPl=y1O`K$ZE6s}=lAG(So(-3eH}31NK`xk+4L)Hv@k#2y ze1s?fv=Q7*_q(|a)QO0}6yzE!&6_4SN1q?sYjXqjVfi25C!G{+kAz1%aylRV^8v%mIRARMQr zcbK-|)U?&#@P>^Al4@|dTgO99ZC#&EtX(L&>At<-y*h9MxL%ZM$8TBrXPA+a*7at1 zVyf?=sF-^wY<&D=r#EgbCcmr4GeGf{c95>s@V{NNDe=Z*BY+~;m{BHuw0u%h{b?$$ij=^FgfcJEbUvTtrT6^(gVNSjntsSN|X`q%Y@IU?J zV>eAiC*L>H%^g2c%f9+??p^?CviaEjQMxqEv!$+A`_H64*U&n37E!Jq^!Cyc(am;` z_bNBx!_92?*h1PGku0|ZBq~r1^}=~I zpf-Ol+Vr|Y^D6=kKsJ$5U}B9DY!@iRbwUO@yRV^ zg0R;X%NS;Dr2*}IFN`wJAD&SUvSlJf;Kr02y;vnsXdD_vkZ%B>k1?wDKp3Zzs-SD8 ze_cH4T78}tOenodG~ZOqJK&h4*&?CVLL$~(Q=a7YdShnz+QqZg*&NJ_c&O)AkCngO z%M|7dYaa-oe`z5IfQTIKiI^Jm04@nAZn%c)`_CeQQB9N608ZTU6vy0f4z6mjkx<(M z>rw)&VXkTdHB52D4TjOHtuGkxsZ_Q4Y^fae{T?!)SD9)eNYP05S)v#!FzZApkwF0XpvN&!pdee8DWZ zTbOYHFf@JpwwEE;#^XUSGh653Ii*Z_e?n)*Mpc8LI&#<=TbOZ>0wj zqK`E=Q_v3gCf9cY@wc9M6}Dv?r&+zcw7Idw_))VPhkbZ{+l{X?OQz{gS<^ub-tW$5 z)~KCE_Qy2B5!1tf`D5{Bnyv2iv&=?lhAKko-eM>>Gczb<)+a{pE+IXgZ#?r_dLiyS zacJt|#Kmysj!s*%O3qeEpJxC56IufGysLiVDYV2DT3FX~J3pCs=~VHgy7z(8o)y0( z(aU!`tnOHuQu#P!GGZGqurON(@V|!H(SPxu2^N{LU4Bz z#3^q1qg<5z&-CN7g6|AIBj`PePe0kaHfW~cvfgWCn%y#gWY_2OY)0+{kelt^1~Y#k z`(X^c)9&N00hg!==4ruAIuLZp!$}!(N|bdba6K-h6>%DsO)2tu155oN!Y>K0mXn*W z^YX6>u8$SdKBh?e*cIcJ_4_ zYCk9eXhe<8sc=?v@kpuxt&EH|-{|s~eZ3ENM( z^E@E2#9|k?;hn4Y_zKLCbGg2s{e7DR|^&T89!7GI%=>m`Lrg!K3E*)DqBcG1V#jBYnV53 zi+sWJVh?GItj7w<%HRZ63>bl++Oh07HFFNtLo#e+<5~cVH131kd{$QV(>z42>~Rq( zPy%POKbqg$el`%@LQ;9W#!OCfIE98#X%&_YxDb}<$v>RoZ;oL}pV#Gao^@%9v<2rA z)}nicCw;;EKh2A^ZpdO?DD0d3h_W@XJeBsq2iL7wS=H*wvb(BNp$qEPffE3|y;f^0 zY?#ZYtRQI2I9xNsYiMFK?|ax`Ohpk&Rr8;)h zyAh-CyE@$vhWvL>sc}O6jYyEIGdNrMwZKp{^uYpA-B!`_5z}L<|BKZQZO{Dp+8}r+ z{!i%>o}Fx0`emEWm1|;?i`Ah++)A^ckFQ_G280E6S6}7r0n0Z+R#lo|0q*YfVb{?K zp7}TCP$})86Mb#ReV+w$CY769Rc}inYixN*#~=QDT~7RjU&c(n2?cdXZ*EEobOs-P z;ISpA7o8reZr>&St$}zf2uv=e9+{~M?kfi3G-B81-FY4DXF|#0ss;&ps{^)hV`Aeb zq7}C;UnjS-ij81;{$h$RrelshO)Y#t%bh#p z0zNL8-S%MQ(^>ryrqj2zUknD7>u*CE7;*I#7f;5%Llzg={2IA-bk*5BrHtNVPbb)8 z(f(m{Lrdt$=G*;NTLbN)$8pEGHH2f6?;h&!XiN=8Y|g451cR5l5WNw6Rr_VlArTu6 z+HHTSRBhME4*&mEV>H8sPzRprCy zP{NnF1ahX`H+iE19~--=pmIPVO?q~`WE{@?{LrZM&aL+Ib)u1Z>Hq46>4kG7$j9Cz z;t1JaNH#4Ab^A@POfCp{!}PqDN=`CcsX|v@(r4ud1>CVPH1Se@9j*xz8;^dRdW@$y z@MHq5)S~5G?W%qeBULr1IAhw_9MvBFIbaek{=qOWSnxlC3>rpi1m`CvPae%crUus? z2pcnX*T~ro3d=&E^hVkxvmj9z;$%t*k0tjvAthyK38e;19uBIo!=-FhuK9ijEV7qg z4YLWj`nU?#UUqkzaecrrMg@Hy$@ROi{+1Kdnuee+ zYya4jxPro|5jqAHVUyuj9I=3OLzPd@o$5N6C{Fp_!)!R3kDT!2?qpzwgN`bRCcIGR z;_l@IVL35QXzPRb-vtYHR5dr>LHM^O^kvgEJ(Cjr^R|f9N1yLmXE2l=n(T%bW)3lbRm0^wf&R1l3lg*_272{Rf8{!`I#O27C_|eWWy}b7D$kwY( z4rW^Jzw@Mzo$b6h%?+oV=C7`6FF+VcgC@?86%7mRy3WoI z^TlfTcyCsHVa~Q%W9OP98IS8m<7AR7c1{k#$&JYJ34;t=UF_Yp@v;B`fe6`bbA(!z zFT`JsTtLCO@4*OHDPI`d zWJo6dPSG(~ubI_SrlgW|XoHQpxFhI8?cAkbeXu20;|c;TU~725os0!cZ~L6G55|LVd25@vWVx4J-f zB2wyuRPEX>#%g)*BYl$r+Vj0T(4>)A(#a|0QnR`7JVx?qM z7YKy_!d8JN{xD>rvXLBg&vGD$9 zCASNMPCELH&Mf~s$|?}P1clK~WWXV}CqVEIS65!jG3?%Avs_aDrjGorUAaVn$cBiu zso+twCVZM;ZGBgPA?7Qp9pLeO+TtL_>Fq^YbkU>T zRjxKu7v4SpSOOXp(p;CSvq=83{NXI$rWwHlnCn?$Z%vV4x)LYpJS&n$9ss~m>6O^` z_pCO|@UUXpe1JSPTSFcx98-!rYh}Aw2QGwP1LC_^`Ig!BOdTT|B8?d*M-R z`|jTOIj;20Yq3?GtMtTE@@W7QoLapwX~Jqf!&!EZ7!|&-=Aq{)L9+c}23-+|CZ~s5 zCN+r#FLrae1;j!ifxFUZbb>ancR>`nB=9SG_!Ig14XPmv=;Sp3Gte!RghXvK&_wsR zZOnEt^G=$s4K8Q62ETs-(9Y{=T|lvdLU{7T6x+wtBp^AeM;PQo5jEVd_ZNKl72)*m zd9g-|k$R~GU;Qa8SuVrZwOkPDIU&kJI?{uRm|($S8=!j8$)^PKZt|P33eOS|k2%7) zgja;T_=XD9;i~Mx#-#P#;g79Otc7=ZWkzgvy*V;-I!d2zXyq&ncEmo27}z&O$04o|$v zNnP4ZX6)moz!cw?kQ#r~Ifj=!Z6SbdX}FPY7A4wN;^t>+7-@|28UqJa_y6tUld_*0caJfF-xS6or2_NhXE)vmEK{FzeoDEg}#(BhyTV4(6`s$M#!+GjQjlHJ_s=wG}(1A1L= zWbb75SK>oWfw7bS&(0F4>^(3(|99aq$gIF&Jofe?2Tq}Etwl(j0Fmt zeWlBsl`BbhveVb({06I5iSJDF7l1Q#Dp{fiq*$%JQ|eTrzc&3PY5lUWr6YcoJJQ%X zp94tu@c*wDc;(+N59>=`%8N^-bX(Ls^j)|^2(e{GQi3PkG#swH#2 zvR!rNRefx#MyYLwfH1MC6I;s!CWa7}bdR@izZh_a!vJ9)OWS`z8s0NQx zg1@rP`o~wZE*CpQi2lS5>>$C{2wU)h*-pI!k%$xMhVG-4+T*k{MX=WqCnn~mLQofU ztPCPLSpW7dt$JfqKGt__=_>a)U(8}zn=w{{q73m8sxr|P8pCc>xA_P74{Lk&P6C}g z!&_!}%=?0x0Gq+#{@bl(-v|PBMtFSRRrzxU$4W~?8C?hq2$ZH9xTm?9vzqTyjKwak z8C^cSVneOxeJ2csS$q~^5gi>|%G_cO{7ODaiI(pHF$yGIwfEIq*grj`H(_$LZ0$|F z)l);7+ydk1@TP>Ep37l9H#+OQ$qoACI0UChD34O+CXf#>1aNNA$VcdZQ3nil!7ox( zeAU-n^UcB8^0KVnonrnK4{mU|dW9R_3rN@-B~_%YSJw0qs@X3J*T)~?E9n6SgNldn zKSA@%?u7VY{xvf3n42AVZb@hXuG>%mporfyJMo`kUQWLJf)yUSoC1oHX2grLH$BJ=y#{E2a2ET?I?()kLMs!C zC~KHDr!C!i>`fLY#t$mm^emd@-oles+3R9C<~=_?B6=9TowL*xs5AdzShICQQ^0L# zwgZ}|WsSI5Tqe@U|0c33H~JhW#r!=rZT6W#hjhj6(eW^wR?4)+`*h4oMw-*oW7~eh zJoak;KkILH#Y$)XP2N02SgMS++k6&zq8uqNNMS8)U!9Wj0wsn(5km~;qHAs(2p;Wz z<`){X;9?s(8T|L)TJJWHWoSiJK- zQ087<;1~uf?se29g`0A_bA;#!tey0vPg9quqfi^<@k#hYtwXt0i-N!O-Uh}h`tt1c z)`Gd`>(^xy;SvXC)4#nbHc#U)g{*WV`p0b9X8bjdb zWa`Ii$4M)z#b0T@Vao|rVYIK{wVFx z0@DhkoC~%#bSoaQsI`vCJQA_PA0;IMdHfzJSTK&lUoOAuZ!D}|!*IvdH@vq7E+wnG zJSm^(PQ$2|iT**4lo2aQdAT(6zF{NrT>a|m;gu)#_rj58OOn>A*$_u`GC_Z2e1`kA z3+@cKFYvhDEc7!qdoDmw-}lMC;O8~7-0OZd1^TXq1i;xAeetxu6+I|XuTy&14aOt+ zrFQ99miRWjuPe2Hbom&rj|1?PgCsB zsLxCR{90ckUGjlSm#AN}ElxNg$LsHf46?OrDiq{eQlYv}1j4aH*6fBR=RWJBm5Dg5 zkI6OwFI#H*9nsYA5d=tn$J0c`((=s_khoUb_f)Mhp5Ldg!iH0H(a+2;o>LoS^ETDR z8s*Q9Z%q!JeU{tg;_z@owzdLDuxVGNfHR7IDBRjL@?dpwJI~@vheSw`gD`zd>kyW5 z{rH5a;nNE3u%@*UVukt8*XW4pIF1$m{gg8CXu@W3B^l7^=xGD~pZkn7-g`?1DQi9q z6X=N;v*wupio4J9h#Gx)FiIln<{YwY232pY*WsXUB@Qs>_2|AW6b`zkJ&~xXRT&hL z_cs~}9*t7+GxJkI7xMQet9VAm>%q&{Uw|bH&BW(E=}Brl+P>SRb;1Tr z9yrHSKZX@GMQ8fQg>D3~Mg-c0EaZgdnFv@a6H&-GtXYj@s&)t5HD)@sN!sWQ=akOUsjW{jN@QPPxI_UwvfWIf zp$!vLTIX3;NYxht(g19O*$J&;$*p9c`(_!&V!|b}(1hRx(<8Pj@zr{zd$E8$bjYAF zm1Cjhs2Y8fvwQpaYTug4E;7~ENg^<^Wb`tYgSl!GMd#}D-;tq4@aX?+N*yi+n-L4( zqV0aP*(Q;<7MkzOgOxa6k1sBtE&FW|^0{VHIf5)pyO(yR(*w7?6w((~nl^Ub8VMb^ zNipy_OP{abZzxc1fnjCMZxTL8^oRUm2O_Zjf-VB^M6GRCfObP}&rrjON^T4oZv=F0 zDQ5)N_@u>V(^r{bBNglaPL-_URp1?9|nO)s-MD$af3%;%2kS1UvSehbal{; zK6me1Wk1LnC6noEdn+^g=mb~(*v2#-0Kh8ldY#a+@L1W3N)Q`45J2H~>l}!h?M`~M z9L@ULm-Y53W-8OfWc(;u<4`6KkBk-PhUj9(9;nD6^SNjf(f4SZ+6rXu803$UPi~&kkHULT^C)-zL~azW z_rr8hCJ?KvPgw?e*rgKh^kx@u|Pot{efdbeGQpWiKoDi;=_?@@u0nT7w$ zpt*{E3MEk#!317e^LA6=tt?L%%pbkz8>fU^?Hkj%WX$KfJY7}}2O0C_6DNnV=zgHr$;w$X4>+@NbX4Vag&m$Gt(9m=M4u#rfJwIn>lpNIYkq5M=Hoo?051Go#p>6zCHjLU=dLTi(EyG#(3_M~KtDap_onAU1H(icdpE!oE zw?(xyZ%oHyT%nT5Sb19x!&iAbRitfjU|JaUNpE0&Y}jV>f(wt8xX~VoSkM@4$f^s1 z2-Xb1_5mFVxj#3!OUDrEf~!}8uVB>t$JByPxpj!wGGld?AOzWZc6@}lxigYt6;qt^dp?c#;3MOtc1a!ZbaefP8NmBW(ID| z1=ZjIIOwE2%_vN@f=Oau)-hwKS}bDL3o;*i5M5O7n}6g76-sNKmL)+4ZTD6O)nqwn z0ZO>4G%bWT;qAXMz_E(r&l0GH!86<}nzJcm5CyK0I$Zz!1i59J?Q$S>Lzs59CH*&* z_Wro1QtN*nV0rla^819=L@q%$ck$Z{E5V#~hZJ(`3fVl5U&cB?HwEP3l83cO+csSI z$J=+pJj47MW8EYeTElA^IIF`@%kJ#Aa@qxRV*X3mN+H4;eOg|_ryFK_JQGZ#x@Q#|x1Y0OvBRZy~)<^fb z02evLTjft2Ru0D6+0_2uFDfZ%-TXQMw^22`P%$hx7 zSwKt0CiM*`HkFof8c(@)LMrd}C|=1c5H=p0=1xwKc9zM<-9h;APLXqz%Tg1MT)_w5t$;z?AHJi7fUTNTwHi>l4BPqU-+h=_jHebb+yc`0c zX+fo3Hm{933nLpig>fw+Bz?n=Gx-Qci=9#b+gCa$VP5ue`zKs-WV#4XOhwz-?^<$N zp@duoa{K)jmNj!{xU&JH=@yO=*kxfK?ohDj1u+zb4Jzv#FzOKm1Z16LZ>$R z&!_;_y}9Pcm!hUU=)?T$j$Bqh9OBlI_3-}+UI`m45}A_vF=cCwe9w4&`MgIvS*R3M zyM4H<6HwgeG`M)Wh}ur@`?EMz-1SOuAgn0+X3UKT2sf_Mk^&XE1%4jAn%z?tf9r9q<$*#zga934293F)g*9(5ySoLFHIKf*@ zjlKCou9-@9B?rITwfWLD6mwp5No(E~+(M3JrWH^idu!uq|C}WHqtT9Z4Yz3EQn~B- zV&RRjMmym@7qm7;x0e?4n6f)I#i~I=s4Rn7w|XB?1RK2_Y^B}vWLs5YX5Ll!vkE4e z_0_EOCpnbZ=RJzb>1UorqL##s%U{h*Ox-7Hx@bC|owWJ2S#MoK$NL`a*y)*$!CiNm zZE(ZWdo$dfeb-p8Vsj@%xV4+|&o9P3_oA7(|M)KbA(ie9cU20kL^qfRp%1-@1_@ST z>{N(bAfvq$jJbY@NGML7V*gg~t>3y7I^k)h<>X*k?U)^>l-~TvyPIyDqCg^zot|23 z{Pj+UYI2m0yP*{v`~e}4ht2kDWL$) zDS_+Zq_J;vhJK3H93qGUVTG+wMNm*@%ga2fw%WMevV zUnYERt5*0wthmQDkxg5H_MGL)>MUdMH=j0Y_;+8PbT%fLa-yz^ge-E>-_GO4+KJp&$=U=BcdX*w3% zPOPrV0!wNEm&9c0kSV=u8_#s`z zD`>&&#ErC4`0c}}Fnkd;{!he$de|q-bod>bdj9q6qcq?6fO)hQB!edfvj#Xz9!k zPM;^5_zijP2USSPQNMp%GZc*&{r&K_xruvgdE13d{jYu9|J=JrNd7eg{oAkDCtZy= z#r<)0iw|6d_21+;5!2}P2<(O$$Z*B&ze(OFq9$NqU^`{W_wttEdo2JUGM_LF#A#McPQ5+D8DU)5b36@k3*$4=?JqF7JpMp}u&aE5XZ~PnUeRHn=L1E<`$B2E;tjEtB)@k5=r(YWcQ7?=Hk2ka}vVEEwr`+y5JP|d= zf@P3M?ehryL9_`g4`Jo0u38#9k$jPkj>+K_KkCa>|MHcw5ihtefbkx-3^h88E^|p! zdSpsshbou4Eg`%h-#z{vhS3xk{I%nY3nKGdWLq0B!s>?jHqje8E!4B3lJ%l9QlWd7 zU7ycwDieDTCeHBj0472A#aU!0GmCmfM3A3b=yk#ENJPu0L&%Tq$-Va~&@#(;A&pj` z^Od}HnfZboGdX1B3jC#R&7~J1+QkM`{q9*V!!s?YW!?aPKo08Qa5jH*6cy0y@l6-p zU%WDYi$yWVCpR$JJ(NH!tD`qTjp_iCZ~u=CIW*bCb(ED^hR9QX^m2MtV}ndUy%SBx zrwR?2oSzmIZvn&VjNCB#EVB>bLFqPYEu>+6^Uw(vW|Y-q;8-1;$HyG72;AFCvXz|x z6l-=hI-oxWzwg`6EA9ybz1!|VpKB+P_xS`yyE`$j6%pW_9(s-*#YtQ_0cM6XR`x!@ zNN<8(Kcr&LVIZdS5z7O#Pij=8kcs~^p6qnGEwbDycxG!rear#t!vEn z`-d)$+Gc`V89;-I$1Se)3b7q;O&yCL1@*R|05r1-e0R>Hnup-s&FMw<-c-M$wC z_1u13!+Inn*_o=$s)T7HqnBK<)99r2O{E=9(N~Rk2rM=gpKpqTO#RaN>RQfG7w98~ zR*XMshF*ufZAFk-|5C?o>)$0y<%JvKwb1mrLNo4qRF7!-N4QkoHDDSh^#kAUVV}#6 zfXL4S4fProZD=%{F|=7DS|h$~IDjI4UV!x)Zm^x`28-&CX-M?3!F{!MW7`V8Tib8g zNR5i=#tqm5FR9re$+5`AyGqbT%nu@;eWxzQp6cCYf8G^$@aFxs5c0+8jP3I)JQ!sm zA$J>3F1ipoQS)V~=s<@14-Tv>1-V{MrSg{a_k$p0o!*s2*WT$pI7fvCqh2I9nV;-&-^e{=UqcQCyg*J8Z+;v3+wOL@$#;ItsUI$YNMjSpV0_&`Tx^T}5l@g+ zEPXNG%Vp*0Cz^?zh_=`gwOR}Qb$MAblUSUzlH~=mB-JaoQJ|f-LP%%)V?9=B)h~H{ z)k@*GX>~NX&0-MSeKRR5cjxqU=wfrf{txt+qVMFJeE|5Ifg?mGyC@_g!0`&L zz!In0U#D|fO9Gw`S+Okt@Ir@+$M#S2YZlVN-NiA%VT~Gv*E~5>urn;cwCP4H`I_W> zhsAdQJ7ud*sZS%1s-3Z`b7(+y_hnteILH3NK-)JdQQ-#}DiE7~;Wx9h+NbbC9fnFC z#OxdI;yD-Z8N76ISaLZxS;?u6USpkus{m)4wB%_gesR#+kk0x$fS7VQJ3_LY2=BV1 z-}~)IR6{|S-&gR8?BUjkq;P0bXKBjy&I>l`HoqvA{r$7u=ba8w84g)s1CgM|3de;= zKl`~vw`y~o#|RYjN}hw={bAQsyFm&6egG^;{Hh_Xr~5VkE|t542`5 z$kj%6GXoa@I;qLBJI#FrOt^6pM4Obn#GeF)*p*qBn%n};4(#L{pym(esB&c>Dn^iD zy|lXbwKN8!Oxr{C=T;2-X%GrN(xanRWw^w0|~2>AKA8bTT;+;MD9=ZZO;iVW^XgXUx+Sz1(Y5#8Acfsn3e`a{^=_^*%od@N!;}9Q$zCTm{Vb~ zpC%{aOI5Go+DWMD>5-7mV&bPg8T{`A>}`WLs&7| z6jrr2S!A>r>^LM{j~suyxH42}1s8>ww#9T3nWNRGQsux)r2H|+@fBsYRC(6b?*4~g zMLI6KyrY0pc7_j-#UNSvR@-aAuyUhw(=Um#p z&RXQvf-fE+QOrc6>Cntzmo2l7bsgT_Z)2{lxXwm+Ys9sOEDcN>3AC~Ll^2In-809= zUZ>nVSt?pPOLtQ}^#HP81644`Pd!B|HWp^XO=15%moz>XzUplj98OGUe%aMFo^=!6 zT^2549;@3n6v$24Tlld8B|DZH;U2hh<}UMy<7Q7Hh9${qGOwRXTVnaSWER$qH_YB; zdYrkB=iC8Ndcu>S5PX|D17D$OAzb3XMx=w`^-5hj)X66^)>BWk)jT%eT9|>?f6a{+ zKCMiO7}#pDgSXn_UY-@NzA8u~rRgilhV%T2B)xd1c=^u_G&o?x8-!V(gwM2!|GjIt zXDtmk7<0YM%69W9Q+g@3NuApEJ}*u6>&1^n%tPbAIvs_sAwwoKOpMPf^2FvufQPgt zl8#rJY;CdtnjgTkh0$NaFLtX>7oyGQn?#I6hA8hJc7y5l9L3J*7#sFB+m?2n*U)}% zr^jVY^Dh1$TAZ#&HKmY1*($JBykRrnn>v~fe7@P83lH&^{SA|50xT;z@mGMwzM9!` z`K!cM58w`}DlVosAs#bXBR?{5%m<|yVnpmKtFH<+`dH73@ils}bx^<%J(2`*SyLA} z%L3E$jQkt=@~jMWN{XZNP1LQojz&xcSBNbtBW9x_s~{6QPaKc>@Dgv06tE7IVursK z^!bSqsi&X9a(*)9dQvL*< zJfK?}^RBlS;af|#zOS#{XN5X*&E#8p@htztQ&H;0iN+7@6|qok z^-Rqx_D%9jF#iN6W||Y~+1+<=wu^*}e@t<>qtElz!^Yi?hEAUa1v*uuD~|(ToGlNY zn1cHh%UXJRt!^1Gt#C@d;P{nT2f|hkr?_|Zche!5O9Tc0pj2yA=?)1{%yh8W{|!a> zSCgtjeBQ0py0Um@Npg6?=usM`6478Yqd7;dR2tz>IWLVRQ_5!T+i;VxIj^Tl?jKm< zE!1IB{U?Ss2C05$rmqN0aLGLL*BVDZr?J4`_E5TlnvxB4*pr+TVMa2JLDUNHB; zKjnqtk^Dn%Xt#MHB;0|2Q3tWvCk(rRC>Z)wnYGLR$H6?t zrlt--FEY`)U<*D8Szqpx2N=->!LW=|b>Hvf2Y%;8WN7DKM1o@+f@J+qIH=Ywp|#}a zz2kt{A4(FFHMX8b__3Jd<1Rm7Ua|nmAJbOiqaxZBjl&C(8A;w%bv_Ft`L8n%EtTxV za3Kqg$1PQk@yiSjB1qc%=(%r6TV!|j+spb9H{ex?LVBZuKiC@O=?L1xwnR|Izg3e@W); z`~Th4KV8>#zFx<99M1zgxoTse%IPz3z&xQ~BBxbD zV~(CyBT!$^=+|Eu)ZFpfN)&2QeE$;zrFbPmZpsa%7TUSSc)h5ck)rBNVFWGp)Zx{D`G&PYHCksv z)!$Faigmu0PQHO@T9)&N!nop;XqUe;5HjT$>?NhmEv&|e6}|D`U`>wD9^Ct#m~5BO z_^Nb!6`*`%J?@xRL_G!DNKCD`Ty*!*Pdt9Bb1K%fxv__Q)TO!V+#$$&U5 zLixc$yGrdjJw+e;CZr=JSAs`R$djx=ct;bnhsBqP18I?I5L41>@9tOwW!RkNM#VJ= z*B)X?Kus)BuK9D{lC4WkCvxAMT9kqG{al{<#09G!r|*WnPQ2ga-+KbDJGdR{Z!=0` ze0I7}fQoIqhT=a7ON%RBTnFDlLr0?madLJ48Rj;47~!tPz@TfJRb#BQW+-m-6aObF zeUj;owFO>KMpc(a5x!A+6CF%u3QuiPj)N>ldv>}-w@;|QadDH_tBIG7)dhXwM@}A$ z>JT+jNx-vUG(oZ*75h`6Qsk~rBgMpJ$^Wv^)!DQliB+p_;(WZk>~2wcH+;YA0+-vE zH#pjsZdas5eyI@rmQY4oMn!g)@Nz+3DXDE5v%@^w; zhy+P@(TWDll^5TY7!|c7{nqpUvj9>|me-hoBlhtdeYm*MG_eR34qyF-agbh)KWfer zWY-gA(FWtMKQc_RT<+sstlV;$l24Ut+NO47f|UNrsaN=ok#zih?2nA5{M?K{ko;8L zok>KadOA6@Z&Bh5CT==ebv4BQK4WvT{u9S~Y5$4SEUnl`aZ|#rG5sEP>NnxTVWVji z%RthHs_le`W3;Kfb|GB0R==N(|KpuUmbKU{uKzs7Vq(p&$|IUg z1AAok!+R06U0Zr@OjIDvo>*;(`AFhQdMt?f`B^g486AR##IULy+qs5baSuxtFYp(pEC7}Y>6@J{Bxj2jjDxKs_O9y$22{M zUy^n00Cf!H>ZkZz^44Ck4dnmug#Ix-a+F)2Il>j%AbeHXNR$I}4iNgqH>^R>#=AbT zd^uOwZ!5%h=YTe60bWc~P3imB3m{C!sZ%oXy6gh{vQfDh%w=Q-Je zow#+54amZUPtgr=Knz(2p4KJp*P!~IptvF*L*Tj-KQ+W}e0~d%5X}wAGq;T2xRv-1 z*sH3yKhoxQgX`W*5{&!Qly99TT)jW9E~^%wnXSM_3Ha3mEcM?Z1gYM!Co8GLuoqzX zgK7(NRnupP1T=ocBg?J<-U%WxU3&jJ>RyuG$4mcC>Ure2m0i4=|3d;zknZuWt zBMevHUaQ~rkkr)3CYHLEI1?Q|B$&gM_k`-nhNr@AvJ&K*h?!jk>vITe4hA6NKF zS2XX8!dA*grJ#}s*~3bdzfIud)SMDFY^~-RO=@pDX}?%&iA{*c3c50rJH}O9fBir~ zcFCOdVvOplTj|cipFmnc7z``q%SiOCf?{&ayHbxP3+CmpE6C0fxLEc4VQMrgBNgKE z^Xk{#2d)uSi;PXF(L}IpT@(HMncFD;cB}S4U!(I$ZqHhP(qp%`!O&(_VLa)^D!JBC zz}VyWbm7m#E!~I3mdO<7bE&skx2}C2A3nX5qKb}yclYefsqQ&omh*sh>2j1@RQT`M zs}y109)Y^ADpIbq!ubY>ULB2B+|t19Z)Kl&i0$62(8X8xVj7Ojo0;&~QytjFz0KVR zLmVfEGwuYr{ItV)BfDndw|`dNd`wvSZ6d_`F2)f)Y-6*$GI5;Wu9bDz-h}3E|0npOk$e|NZqDX(veUF7@aDR` z1xX_)p^s^M;x@0{a7T|4FtkwpUh{oH;c4vh_}^UC02b?KCUw-bw{c7JwT@2FW6{PI zE+pI8jehb^A@R0DJ&%IUy7qqWv_grVpW$LA-|=+Ku%aU%jF~7CZr1FBn)L;R=b4MP zdg>3{AxI>5C{#Q6qg-8u}9l7?26*Lg`6{s zN6bms-_al)oEXED z;*jy!xwSn2qRVy_1(fMh;w&*t8@tiSP&ADw;x_J~ZT!oHA=coSP(74wDR^CP)0d!cEqr0}q6u4|ZpR@H>fhF4$G*Zf z`yoh}hC3$@%DfdTBK_bmrD7sA>v5 z+8FB?u$-EOOz6Zl z#k(*seIc$LBsxC5d&)_tC5*sP`fNSRb@e4;d?P$~1>UgekLW2WAmzfLa?z%ivAIsk zxWiJkaFxEfbz484RS>RyChZ!=jVLd)?0)#tT1h>)KJMl_ipt6{T_z;geVc1MYO5KS zy`EVpgMti}Zl26lnl(FtOfDo+Qi$<(1j*rs{pl zg~sRKid*g*C8)xerI5yGTW}h%y86^(MHv*aH>ck4E`B&5)x#sGq)L8sV#vHbm}O;q zNt-&K2kmxIs*O|Y9$$ucHiP*=rraw=xrA;rhZF;p^gui`%$YH6F|3-*r4ptNkR7!G z@4`|wWc+E^ljiqaBi($ez4K5iepE_vbkMsmJkuHLIIgw;7$1T#YA%kOJ zHRm_#);&R#!=&1!`=_plB<#uGxy3#-WIu7QHgZ(mt@?_n5iB9lQD6JycOD*Ab#>%Y zfyoa26dhanjf3d-Hbx%H(H7TUPk3?&I&rF# z&I4(m5;E}tQwEkWykcOOdlZ&anK*gW(x(N&5Tt;-VAUjztob3=Yn`7<5BRmcApZULb;HLlJ`HoHUN- z+=+<(RI4y8#&o7-%BZxm*4Bp?J!_b6{?k_aSF2!Iz>ZxLf-hsR8x{TR0T;{SQg>8w zVCQS&n$Ck}X+B8U%#s0~TsMF4e)O{P2Zf`ngHEf=@6)qzd5xG(Q7V;(hfTQpMl>DX zV`_Dx4j7@pOxCRbwcAa%eXYHkKbRfwF8?+;++YZG86#_p-2l24!5h;mA7|xzi_M7H zbT3tzmFUB2oQ4m7wLw0=(oI^HWhoB#Nb~W!t4CNud}abRb3LMVdqki)!vRuomt$ex zyn8Tf_dsrsH%Q3|ZXnL5OSvUGIIpdSWzjd;y4hu4DpJ^@0H<2^RpfT+mB7a8`uDU} z%CzNr3E9wD3xDIm+w1QitmQss;LA!RYidku59Y{Ru@pnP@R1Oa;uxa#FI5Y7j~BhN zG7WYJjF6mq;yIcN$^gMFP>b7!7k_+7Z|P;EY^Z1nA?(~sHXkjNMAXT-?^V#j_u**5 zuJjBPBITelGrb^UQT_)w`}okLZm+r#bz(aB*vkKD;N9 zB|T#>U_`jA_v*6}LfX9MYL=d#axPj)y-Xws-kd_{zTTaBxyZ93 zUEWdU`1rJygkrrtPs91Yr5d-&23}W_I&e3sbX9{!@Hu-G=3Mrz-u<+4`om!IVOes< zRZ3-TeuHk(bu5%$0mu(=C05rZel^OXie~;X2vEGurdCP#@R{=4#@}RNNGc?y!XRz( z2mtgq{cbH(W&&SdvUbC$oWEY`<}SPw+x1d;Qu&nI6K-`$+p?e~gcZ%cZvCX~_gWey z8Y8gJWcQ?&_&&kxJB89lornylZ=Axd#vyk(RJk^UMb&&A7>W(>LoMC4bP)86A8AwH zS4yrDyR_=|{zOeF(%@R)eFm>*y=y_RXTbWt^Wk!*TTxrQq4HM~)xbMXL;P<;8 zxU@Cmgjjdng`?sUdi~u8=9J0<#r^T;=mgZb=!tOkI7?nqdV+5Q_xSQxuMz8V-Wv)* zitn5mXh!L>aUYH+L?@pv!uY|Q@O2R?Mf#ahS7WEF$T#|J^- zqF|4quC>|6My>5eaF{~#c&n$G4!52)q4>u*Y-s>vvZ%T>e~*2-(+us{l!Zh&8amlO zATJ&FS}o%yf+4{%!XBd%f=pf-LyTmWPdZO_rS?iuizXAHR0!{G2>GyRUdAIvhi$v= zD@oTlG4@kJ0_JqC`O@n|rA~YytORcDrOuvw7FpP;_SVLStNh#9gKpZD;U5;0L7Co^ zbfz|n{v7P$2P{s-NIb*hAonxlgLX$Q?r1N-w>os`735|PR>}j+)2gi&qyMM+8a&7n zO^&nIuw&xgTl^rk9?LUi!3y97>PpJNRl2jTLQ5kAZ7M|<=3;{cIv^VVNO>*4Y>OpC z8VC|Xn?hhBz?Zx?j?D=(ZR-Kq&n!PREcscUYec*vy+oQUFD6~G364d5r%dh|JQ{%h zqo!$pi1yGtPJzkl2&h%5h@NZL&UmmSiCw~oKe#z3wuB!2#@!G1TnVWt6_$S_yO+!*~3 zmOp6k$^^pLI+rxB`Qu?E~EB#pw}cl<=zoo@3cRq zRGhi{eV-8D*-X8ouB6jbu>meR9OXM^Tvo657zpZFXjL{=pHg2g&Q*tx7oRQon-UJ^ z9FD7Cz4ynrUug0r{s9SrLP|xR7cC9ORCY0pIrw4NjI$#s^7@z*oLL**0~de1acN~y5MS;#c$tKvW-f1B-qjV9Raj`0 zeL`TM^T&HbF<%sgVD9@62hOD4;$IU1lQTnn!LBxz@3+KA0JQ+G>2_vy(&))vX|i#k zJil;lxR3kN&wQ53Xmonqyd443riC3s)#wDGFV)H?qTrkQ|0EgdE+v}4{?B#V zFSLtQ11E+tF-?5(#UehJ#{y1wrJ!S&5PjpIH-iu?Ox*uhUNZlOV4VSkTd&&JW?Vu& z{i%7s&ji#)_?AXZ1nhUy%$d#WIrGmH$v#>Q5cQY1q8eNN*DJY{6!wwr0Nd_Vyz-f* zn|&bg2j9@T$X;T&=*U`)e9^b*05#nYUOMWF;dAwTm;+PdMC$k!vK165ozr~mUzgvv zw$b(Y9kw}U$`mi_?q_uV@$bJT zBizs)G{zv57+Ul8u``K)S8@!JNG?BEm;>Q8a!Ok}z%3iOVAoC6r1l#iZPjM&Ay_=? zyJp=>jq%H^7f*xQx$kb5f7pshurp%i8xwj|&bga;R{a4RDoi@U?wZgN1|RBrVWW$^ zJr4BqU|?rP@AE(db=fNTW(~Bmr*<-qNPkVo^5-wY*3IZk`QSy=(^}XlEcEv&zc)MO zY<(VMb-3O#;~s7gUfKpd-1G7`_o(It;eky)z=WFqXMMn?dYyn(H^pR#i_H*NI`Vu* zZ{L67VeTVAdi6Vc8BxXf-TOn~{vW4!G`q*P{(XNS(x~tvd}Q$-ijGJGz{xns;>)^5 z&CCfVT7`KIj~&a3vwBfno!ZXJPEd(kn_JEEjKkkK2zY+q_icDy5EJ-1V%XlSwto=I zrfZ@Uf*(Sp@(9vrAbw@a7vnj5-rsEBStqWDW?>~=*7p1_9&$U_F zZ>X6Y|Dr&H{0##mP;^sAt$|(&LSN(!9_l=h^e;)&g3@j}eLc&10 zmEM7v0Z$!4e|FUBaKJg3NM>_IrRi#e#hrN z@w}l66bNl36qXYT4VWfqfJVf}{Izg|CKpk>%+LBh(67p!6y|r?_~RA5(Z&k(JqC#w z)RKJJY|a75pG~xLVaaPk9p6A&K`BB498K$@=C%BXG3Sj==!eAo*;mxZ8jrrNUvhhMh)*4{7zfnA&lI>K7Zj=pTP z6EF;ua@gp*kTh_fqYe#x5Dhb1UIIA%l9|Zqxeh3kA8HNa+t|A_-00tu!CSFr;EPn= zYf6bv_*_rdZhMr|MiFzVH8SzNtCQ-Qv$-~~D~A-_$@2e{qX?nZJJJb#+zvRQe5f<0 z5nnU>L>*{D(zx1A>kJPbQjOr$7ppmZOY}II0@sP*OMpTU^)5iyw)svpUpJ5^cgENMZnm30ByqOg6ZT8r85}K{)UQo=h9&nH zWyI-K^QM()DdlOr7RzhjADN3SQ!eZ#-Ql_&Yp4%?)z^6R>{hFTXg!j)NTToqhJT@{ zN`9O?n(#O_djVXJw`yO50|u2Ttk1sB?|%C2zvBSVE!%~*z}tsLo~D4rUB2zgk{_>Y zbG{Yb9sjkp$}ZKQg|yzA`rcH(w{eNF^Ukx9an70{|;qR|9@Xbktemx1v zV1jaR|0dhsbA0Qy-n(C@cw=G2T=xUD$|@J~k0*q^HS{8mzZTdWFbLh4fZhoG(PcOz zyp^!*Xgi_tKNo6Y)3UH9hqGQ zpf+)oneWAVP2ChoHl(>n967(yEqObGtBATVi@9G*TsPQ zxilMWN5f_o+ClVBA@!A|7$PUwFKyUF^hYm7*jXE)0OJdYE<m>Zqx%OwH2Udb=qKWik_d)T*Ice^@Xh%LIGiugr`4ZxbKEN`fjVBi?3n%c55QQG&wS zJWR7Ra6jb7KkjU8*+Dk`bX8Qa}mTFdiH*T9jJ0|z&)8E;_q+v5`=_y7eS>)wQ zoCoi+ZE--AY>bPnOT!37^C7x;FfBxz{xW<&g|!YiV_#hhiwSHZ@|q*rr_p}q0$PZj z&EQCWScImyCq)%<%+y>*rsK6~c)hY7+$`3m26=#gyQyd`&g-J2MkV~%>SgZ08P5%g zO5pg9Q*e#z1LZZ<^thOH%k8j}mo{ahMbhRv7|~?g4SulkfVU+o_&*U7AJB*-?^iZ+ zYj3}w)43A}5XdpjPlmt{wuPk(x_Ea_l)ma$fJwsA@5Z6C~&k8Tz$sLrYAx%LAoWtiKz1pju+k$t|)9#|rJT~=wJ~mbs!wn9CdQC=0Wu5*qXgTZQQMZhXq&5D{%_6W|Hmm_xYn)j z82zB{g>+R`oT~4;8iHUL1x76V&*|WW_>Ytn_p0%i>-ytu4$BCJDkX*GP+XmcD;*o< zj}VWAjGBsy%lVzfUdvIt!qU6MnB=-uU~imN~VA znbe44;jbXs*T+`Am0niey&+^5BDxVjDWf4}72!dOM3~R$z`Pz1MU1=R8~RI|SoL|V zMpeeXQD|LWg495@y0){?hUpUeyf9Wi4+d$2xS>;SMg_{13#HRSh~ z;2Pyp7R7)%q)vASycrD;ff#h|V0$KLe5r<#c#2@`^gGypBLktXk^e+tZH2=fI}68U zBBSl4nj&erW62@<>fh0_)U)QCI^!NuDrh@Nw`q2Ib{yuUVzFPYC;~H}9=ZJzdlrc*JjTbw~P!s-AmlE;_)!UJ0wy zl=S)nXobwr<%*qs3M&`}-Lu|tzq#Iq-({&sD8nHh?=*BH)C6+>Vc(}NNz23+hbW%o z1Wc0^H(Alzp`XbcaA_#1^kqej`}GPs0l3-&=x~Q(DMOKDJd;|pS33Y`cr&UiSCUx+ z>K!i|!W%HY%&;!VAS1rfZm^`<2B*|%kjz1AxlE;;}I}1olgT!cg`O)kdJya;n zaLR(3P`#~vng8Bw5aNuBB`#yd*v%j{WV110)SP9zH0OT_D&RENPn@!qmM`4c6}y-i z#@JN=XS=JvJD_ilSx)`eO#@sh!?u{T=6OLvrY_+UdiX0X2O+-Iu33%cCmScQcTqOs z8v_}zf+hL?gZufRvY-_|v2nK|dV3@|2o= zyCep^;b@r^p$6;-P9=Ar>32kEiK`NGxbW?qea3q7gSx>_R& z1ne9XG5|*ROZ_eQgISBe`uk|2H1U^i4C-k_Mo4^ctc*4y3e2}AVVwwTwU7OYvmuGN zuLU(T-RN;b#&S)!G(?S`R9Igh61>%AOb2!bYnBg@%KQJgq+W91?)DkOlq;-SdEVs# zb8x;FcqYY;6(s62d7GPBR?OyHqxbIxxIIgyI>Lhdc5`=lA||tSqU?F}vA5fNewS(rL)t_?e-m{r6nDL3IKr_mCrkB) zm3_@o=4E5Pfzy)_heSSUt&u-uAamtEmqks9&ym*pzFqD~jeMb>rlExq9jd|9*m9lN z!Y`HvOS=aBTT=W$U5N<0Tls}NF~KbI6^n&baZEj6khY+5_F!;mt<(PnQ^Icw4X*=~ zaT+6MkhdN@sJqRHt{HAAdr_EPCbXQZ8E!E#dy}EuB}?{cX|ZT=+mt> zH^lV$Si!-W;;sVvpA|k3`3|pMc~G0o(O+q1)#u}-l?|h{kxz8o*h|W=8erf8Y@e0c zE;z71jwg*Q?Uj4W*WBuAXjo!R$x(^}&l{DM{K8{>7aKiWjCcIa@<>28Xtm#{TU3Lfm@dqGBnWG|>YZ^SX4MFex# z&}D|fgt)hF$9&YATGb+pkcYbl&G~CuIT~b8o=v9wTj6Lsu|sE=n^~HJP$m8XH1} z#6oKm*3UKW{#HcZhH9TG-eH&O4^WbfUDoX*f|>}BIHH>YXk)Q_|&}^Vf3&2Ikvk!pExeMI&Dn(9{tlW|4^=tC(?bn|4*1d(r&J zkPhv^OQ6*M7yG3Qy?{OQuJI|2_v?FJ%E!eMSwDw@sy#C26QPGs1a(*06|bspT{F9S zBA%XH{Pxcf^lmG2533@>T%OooeP_xIMmb6xfmrQEx{Fm`6S9v)^0nc&rO+|d4M$}VmLQ1-Q+Ac$zihjcN0LTaF~PULvG z=SABm{YS*~9CRa}d#iAfz`?bXS-{SW1gW{1DbneIP@d^*dhGsjSLVubdfAeAIo_ii znCVgUFm2LesmHXBn=#&QIjE+d+2uB>ndJP#s^s50)nX88ELEQ;Czdq}|L0}H{gph| zDiAYDlr=L&tPVrPV67v$9$Ki+Y@npTU)M+0s-6kh`&o)ZM9hUyMGdFV$GC3x$)JvF zJtGaZfN3LST##!X?PB);1nv7U6}|2cYbB_3RxgVSA%`Nu{FPO018ELZy-7a1?6q?b z^Lm6&dg~l;yD#$0aa58$_E}@DGT8?hETz1l*%7YvMg_^O^|EppCZ)$q;?ft*hEcwR zLw?aFl%HCUz%i7cde5U7ea#LZ^75{NM_$O&7aPd;8!}FT*4q%C_QQVFhHm} zY#CB5??Q!B6{Y63vt5?9@BruOZ(Etmm@+QOHcHk~W$!dKtTOd-sLdjYt!)xqk`AvP zr^o$45GKa1HaVH~j`Yco=@HA6{LYahWK){{F;o8_8*o+BvIey=+`>=O3vo#d)v9Fi zQiw!9K0)wo>t>KKcYn3{EjeC z!x&&&jPz_$jjQ>2d6=Hc`@arjj6H6~8qQ)TphtVU`=? zhd%l^FMUZDkgctx>P?w)%{2*Kpl(x)=RN`@aCb~BmIU<;c8PUp1GfqE*Pg(Vz?l!F zxkWlNBtA4yc*evpvEF_J-nwOS=Q)cOx_mC@ zakTQ|=ix7nC!XhemsDlHZ@n$H%5~=C4si<(Z z@&2npi#RqjHm;zZlU~~RjWF)Japjgp9HX2cI5|@>cL$z8`d+^}(HFqm|tF|f55S$u% zWSg`b(T>n-qatZE}}86r!Jem+(Y1qL0CtlUrey4A@|RdJ2%E688ebouWJCM>cQv~OsMt;c=!s#Ql7^+pd&kXz(6JS^ zsVh;_*_g`@{NR}zSzOv5!(&7WCANqmvsrFR+mY@5s&)gUitR9D#%+nmvM1E?FAD4N z6~n~cu=2O$!ZlY+s*1KVuLfZM%l_9EWfAz9S9H*hjVT_UQQo%JwJt@?_7=nqJEP3!R{kb(yWZ;0 z5tM}^fBC@}x)$H7`e_g8jX;6y`_W;JB>0ePjr@rba|1Ehjv#Kcd2b%P^61WPB+(&z z&`9U=ECUd@cSuXu+eEhdKK?6qrttN^eOA4_Mivb7&Hn!s0%EX0anzxDJDm~8K3H5e=Gv zPV(-7taiwyReWk%T<8>X1Fv%E4iqjzdo2O*?@W8^U^4Q1P}tp{38?v**g|^DDVc|R5ZU8O(V(>(OQ@-L6v+ZZlY=Q`=N z2Kk8rxQyMEQigk2YH2(4*wYWMtlu7$JfQ<(s$uu|Ff7s z|EO+nS;TG;U4*jml9oe;r#t5APl+FFb`db|?masLs|+62ZB?oh2WLEcW(m)O7vJI6 zl1Op|!TRU-d;{85H`SjMPyMbACqKKT#Vrg!kEn-fESdV@ zqdTC~Lq$;3{BUPQv~ei5h4!30H1kDj;LP+1Cd_FvvAjlf{Qm7B&?x0}#0{@{$HsD4 z)}S7c&!67m@|qI*(;}6;*1`A{7F*`X$!9gl6tBrV8baIeIj1&eYL=D~J?pU%yvj8~ zYme(}b>)!5l9M12yd9)?kBYq7RY5Cr0bo)PA8-m|^SGMX`h+8Tx>_T|WRFbIOxst$ zG%j@8#ne3MA9Vt{+;4VgAXT5*3`z(kiy@b!cR4~;dEInjTdpxTm35guY{G8al8=I2 zh^|hWe+t?WoLW!3U07Nim<;VtEWN?@ZqsEk%%FMc`$`?=tw%)nynJLsBJn#v8-VH;XscBrR5A>nZ%3l;<8pYQH} z8&f0y6;)fQKM)3JffPk6@tBy&doRd%!jAabR_-QDI}<42a(UB_ev8-87JH?L6+u3` zW5U?nOC1$?Tz_>yS%fjbGnM?}jM;`dXC9KIHu4-@>148vczEGW>jDjmCAtoN9CC~l zL&SH{^8RfN0dbA`E??3Pw2GGqGZ)m(1s3>OEYS;$NH}pF?u?R3K_M9aH|gwd9_=aw z=~jC+!@x2=cJehvqJH563|r#XTcoLXxhWm92We4+$6!VfyRYm0L^Q@&^%--)_dy7lQPT<1iv4U_!|;^Q?j$7rjZV+*$ggpjbY`GE1kbC}jW-S>1|xQu!LGpY z8~JO**+67lLOk6DUM@He(nbwh>ZF?f8_-~v2?Z`vfl4j`4>^~nuE{_lK%5`2E{9et zy=8{Wn^k);3mKI+#7~B#{)63d>64F36O!XY%OIrnHqB2jUgO7qT?#iO48H~M%Cl#k z7GDS{Y27>tGJ09ayAY5oX%SIt|Kz*2ps{UJs>sih(;FG^Q_fq&n<0jcT><+|L_5!| zt#3 z0AND1#6IM~V*R03UfkwN)Lf)|6@1d5%HQ6x1>LJqtk+(ycr3%%GAAxzP)+j?cP!!f{PO3S% zmq+{OW6Bxj^9;v{p62@7xAPXH#LUfMuyN47U?C4kwR$*KA(Xm$fX+3ywYeWTwmhe9 zgw&2ZjjWj#Fq7S&?Nc|*qZa=2%eV)0Uiof|hlcAu>I1P^9izQxXZ$bWo9VSgD^1{z z`skYaOzV}gQQp6!UeY$A z@7Ui*yd$cw?A_hC+Mb-#)Fhz}HfW^ZFXTu>0foImlTGgEUdY03P3v2W!Rr%>z*2if zBv1EyI6La2Z{`E!7nXmURz2dOqK1NFu)zvm?4G|BG9Y+2Bfu)VBrg4Y*71hX95xuSi~^gXLJJ<>-G{hZ#?t*wE1S3{*`19(AY z$@cZT9)eC+a^E*^lx#n%u`+3A4#+tN2-I|0r8$U#;X_iM1WTo!LCDF+QBJbJA7EF) zEG~O$ic{xkJRr!H2Z94Mu4+MFC5njgqUjSA0~+1tSXJKfk2braBZC@EAPtaL-Hs8{ z1lK9X)l@HiQ}~2+7yw_jz7B_35cQ7vD%5w;$u|Oqx?V@G)(DQ;JBMw&;?X?J1)rQb zx6!HKgeuKUmm@Go#q~y(SD^`9nwuS)`+}-@oY8xpMo4RR#n}qHDHoRP^+S&1zAJSN zu5*~_iJyB!=B6XDL-CW8#8PG49%St2@_sOk+j8Gz5uLCAAF9G>V2eMQ)oz@mA>)5ETw4v;Oy7LZUYVz@eG4fa2{2#|=4gED zYu)ZuB$~4bA9NMq9Ce=Je;$+ycw(Vm1ZSm6T5@NJ)t`3iN$#P+!Rg*(V&$Epyik^JeYU>ZM-MF;{P5#HL}>XXUz}3KG`9O{ZhV4 z>2W^@!LPne%h{4>r3AV-a8DGhM>9kI$*~Ts+8nZ)07-uN*U-&Ho;S7Hb(6n#HZNn) z{aMffS#>5uk5d(N<6nJ>F1cW8q^?qQ;2c+o>VqT*!hE!X*LcL5WFPc==P(Z^yZ9h&^p|BY*mWFP~$n`M+@3gh`1*tI~uY zSd=QrBKOxnbU&`W^z8)0VjE9-gshES#B=<{M$od^ z6h~8ETaE#HTmW9^u>h^aS)U>~Jt!!zkquIVUc|=`gA8NYhB1z8qqZXjX*GScw!Pg{ z0{ejQS7PNC3Yez+1|md>z7oIo5f2LX3R^{mAyJw@1+_vWxMK!q$vIvdt-9;NBRdIr z|G2=XFay2PY$?_`!Z<$E?i9QG&6HDlj=&Pm=;xir#w~ho<gSD+;^1FyHgU%S?ic+!_5duJfa2BSQWFN+|u4Y6xh$B@}8`RI~u(s-<&d{8eTup@)*eu(M%0oW~4(4cZ+%U)D;C0$hjeD&OB`0Lh8g z;)Q^&YDc)H_aDK{zQNw|$X`8xq9DJ8K%a_AH?dMg1nEaTL^u9jVUtu@`|a`TDuS-$ zXkSihFE(W5)~UU|@|lK563L`t32eVmJ>%(kK(${Ym==6C47Cj~Q9YC2v$f*hyMtcx zb*AgA!IOgxqn-ICGjK^WnF*`#DX18LY}6CD`IHL9HRzSz`Yc^flR@=hnE38ZVelc5 zwf3jDD~+v({8U1U8y)9|mo9s`L z;051%uQS|;4nv*kFcLoQyZn-Yl9#^iUDPRLcNA{l&V^G0Cb*SkYk!?vKA^82KtWrA zTsD3!T?5r^oLO#oNV@5|A~Gz+H)c@%cAw}EdU)K1&^Y7!h&&A0ncJ|e_tqRu66F`4 zD&Z-cH)e57x})&M|7Rzak92HVn(MhQXUZM82a zElk7CerNN1&9%Ayb>jE~!X7sjV=pCh}UTMrz5z3R&$V&pmBFo$Z3u0ny!m3T{79uJkxSBY~iN6 z)P6h4*FJ?86?iviGEGHdRT@u(wd?{Re>h67+dvzBy%4eV+6Q&WLK*%`J+WzING&|> z9&ECVeb6i#+!4^Ag>NVcw!4|BcD6XQ<^GfUC-C}JBG0}biV`P_VzT77OD${pL5f$O zFDm4G#_}uw@figjhc)DMQ2VxC1D!8_9O^##v7?zzSYI3g+t@xUM(=OcbbUULCT&Hwfca;X732=oo5Vir1Pcsqp{Xc*^-D$ua}RY`GLM>2 z|H?cQE*l%-29phappGW}bF|+Z4ahd*^IWKr1H9$`qy|onR9DqGJjFqTqx_$$Z}vhA zq+(-$UL#PJjF@g=%MsH$crw=uF`aDSNDyf(<1a^OK`+_H zi@+*8p@MR!m#F&k|7beXxTMp!i%(ONHKkNmST599GL0pgqoA@((@akPT&A4Ta>1o^ zN)vHKWyv(j+$t+~Xq%igMRVL0R77&6G8J=S6F1xdML@)dH_t2H@Zr^u`~F?$I_G=t zi7xohTY~7?vr8M%n`p7wWz3QM||EGy?nSARr zzP^WF*vfBK^O=F3yAafQmHbs1CGy2|Ht$~&PWn%imoiKSfdpOh6F9 zx=pc!C^VDpekaGmq6NxNkCbu%=A@shoT;g_n7>s)OpwDwu#kmjtq z4(SXbt*$Cr=l$od#`BqksN|qr+vcyCvshM;+j6Va=5gfdXPblhq7$ik+iLehTFxRW zv2E9FJ6T{in{Hj<@d?jY$rBELouYy^VIz}Uyv@$pEGF#2$whip{*mQX^Uca3-Il+Z zAZDIJ_YP_9$JiIe`Spsa|Gf+NqoJytN(v)JK|0lak_6JRmvq4%X5-;r(RK5%9w&(m z0&QT|aqCKqRZ<=*;3XKZtSNz~g`C2DH8x;#2e3jg7FrR%Rh1OL(POUo`j84Dv!cjhvB&%>bS z6c?OF!{(EzlA;g~@Mnvk9l_Oce#`6X(WoDmns!bJhx_zln9Q5z(me@eyb12k>K^O= zX90ANUh`c)^ybjo`4}Wp&Ow9w*P`@77xBGsQO&lE|5Af659&>d4tH$q>Rql^E~Q(J z;2m#Z9=j|w#zw6eJOxcRIS@B^)9A-ek1}LXp?UpUx;?AVq%5?qqc-KqlBu555=ZX4QS;FFPVf~# zzp!l#jL5@{n53yPJ&7xU&-4&JTG(uOIrJP{BfocQ2`7%1^z=_xgR}^+1tgwZ82O+O ziSn5rn(Frqv|6MO++0pUg}1wX;pG0@?u&S5X9J|R#&M~#)E5v){D(4dpw?QLrwgnW zuZ$?$aumCsp{uyPBZx!t@*$l3-cxFG0efp=&>#mk6hP#IBU=Z3dgmU;B}66Im=0dy zRDet#(YBJ5y1P#jF^I;@^vR(mqGXyQ!KN$*mtdsqDEQdsxNmho*$s}{EdBWPKCo7a zP4fone$6YF?A1@}PZnMsh7t$;_cQnEnV_n^LXfLxtt#rJCi{X>{9!R^{kkiFG!0Y1N>4HB zWiRT`tWzKdCZCoi3pPi@@|RPf4}vB|f1(*2VaD(uGXbi7c2{|gSm9g{YD)7Mrg{qS z-U!L2YAH>#(pgkk%pt?r(D>tl4(<7J#`-PO?aqm@Smlgh#S%Vo>-6-JKNxmxAis=E zp~f`pTH$u$YjSk}qmrmS65KU8>oQy+yJxfXBRXN9TeIvu+EmFk4AsL&soMCvc&dB| zqM>>D)=$~<^<@o3#b+Z{)}&PTS2#SMm9hl?_)7MQ9K}DC#a%}D37?azQ(e*US7&!C zmc_pFx5_)sHkC7uU(B8Ls6$TqAkE{svNvX)_4iHYt`@D}M7605)rYr^BVUeRVQlv8 zbbCp>M9SEfg)%`#+9X6t9zo`(8qPnxBik)IV|Yzc(di;Br-A&t|8j$bdZ*f8#a#cOLQ6xF#akP+O>HEPy~B z6E>yzil`poQl|o-*;-?TB-TcDhwS8ma4ZZ>wa1HGmi}I@+WT)opq=|E89EZ!hcal0JFSc=8||1aECeIp+uXReyA57d zUvEZd?S8u?U556M3bJ2>+0;}0CDRrUydKPp^zFRxs&uIsBDZ%~D&kiE@}nQekhLVQ zdQ1Rz^Ql<3IYD*JdPQBZaFmD-ZYHu%_1}k~dNVU`Kis9cnplz& zN94kbn)Wh(!Zb%NF2IbV<~C;7$_3z?cK6^G%#i0}+JNR@8_2H9AM#1ot> zSITd_nV;}0P1(%p@zaGp{(O`3gs=3Bea^A+K5^gMngqku0YjhHcDlx=S?;W)Sg+A< zpHTu}>U!e(R6xJqQoy_(s)%)`D!9p^6_~hZo!ZNsOJb*(jbh+gG9mgTvT>$Fj*&<7 zf79~qRPi1DfeO>N7n06T`Z*v(x)gkfZu{W+(c+#H>wUYV%)ht^LH-4{2R%(m9|PIDeQJV2NtOfv&X&H4*P zv{B6^#=q@p9^;;`>h8%~CQs`D?RiRNhd07{HdAKckpUAcLL#LqA78}jgXxHyobvPo z*>+A1j!`jHF-T^|?|O!A^RgYf;^yL_cdW1p;@DV#Zi8X$#xIQc_X4g+tNY` z7nojwi)MA{Q6?yP`mm^~-rQZaMv?c;H)VIt#d}H!T3u~~F2U2`ny~RbhVB*G48=4? zHV>0v?EL?-lL1(l?xU2cIdO8y;fPNo%mQr6(%9X!!c00&M?v!+hx=`&@2$hFz{<)H z1|pfa@$%GMau3R>kmfuX_$+E)zaK>tu)|wdIk7T$Je=?WgB&c!f0 z&tOO)#QN}4)|&NeCmF(z%tBGyr-HtMj(9YCRw+z5KFAr0&lV}}b4(?$&E=zEX__7c zs4Bc@MJ2CFt+wbJWR}#73Gak;{DQ`j7(qv8zVeXD#6J2n!NYizV6~Em97| zxN&oV1a?P}>pS(Yo(n4q8M7)c&4aF3Q7jgUD(fs%*MJZL`ynz3P48M&zcJ(xCOZ#9 z8QA9)NI*v;OzemHJe*k6&z9LR4{xJ8_U2||9P*(wPmo|``78>rspFtFHFC&$(hrFS zjYo=hME%fWw!1!Qj%h!BmLu?azY%J-H+x85_c!oo_A#hK)hIntgVF*#&I`m-SfHq! z#W!A9)Bjp#W54nBW}d=sc40_2SYKVoKiEqLx3ReEQTNw}-KMrD*0#Hvaez2z^5I`P zarh@oIt?3f5)8Xb%opVje&hoz7FSTg6QtM`EBDxcDZ5%!Dvc}iCDjC z(W-kBiOQK}B8%a&#~fnon`C>0$yBB|Da)^yLBlmADF1ZFbZp}iTOz+%v;NI>P0%H; z6gZp^Y-Ani9s2oLJ^b|}j!af!{4VFi?}4$hk3Bg{6JhD92O)~GU$dk?jjY6`>ix+% z`<`8wbJccz_1QvK$JYXjTBG8Qu&lO@MLW184QG*L_WDPn{|5Z_CG4kLHyAgmEY*3O_!56~A%L zJ>pQL4gpXjD*Onv^@Z1u;6*@Po7QvhbgDdl|H7aO# z_9+AV(0yojc2=<;Lv7JO|17_E{=sF}6=B;0^t;GAkYQo_)sks*V#8}FaH(SUu{z&< z3<}hYcRb0)mpjGvntH3}QgbZn!U7Qu6P=mx@tvn?XduDILk>(=bUBCVhG~UUKL}YK{D`4wAMEc|&X-?#MRNeK|{+ZVDjA>N-jwlmstA#E|;9 zyN~sGMLI(>gni~6YcjO*x`_1=kZ7(!@O(T~1uCCSMewEFUNCj^tv{~u8r$E#s%g+D z=iH^HKy6?Qr7iuc5BC^>@RFff5kH-vppoUX`Y>slmm&>;H;Ho}M#9aoy(0_7fVxFZ zdtCGKeXw4&Hkv-Y)sQkSy?5ODb>ll$`F7mc>PwjTT86S$IGwANiT))C1hP%u!`^Rmb{i7(uGZm2 zHa&$CKJ*nhzv?ZsCxQ$3^4(hqw5 zhk=Vz-*Hgl-JU3!-P(p};_#-ps`HGj?jRfR4$)DmOI?P@4`{`nAYpELLRpE4sAl?t zl{(whFw9B=ce|3s#g3gr8n0Kj1VI>xQjP?g!2l?Z23GZ+5x zL>m`V%c$y+GfUs#eiR9k#>8(`p;3D#t?`9x^WYa};CdYS?n0y?GZ|PF(DZh^Wh=ra zw#CHkM;9%Pd?qW6cxsI+zEH~3bWkVsV@cFoLVk6u{fGRM;kdQpgE)4npUD#V0O|A2 zdbrvDT5jFtacrb}^cco#ZIVYmzSir3l}JFXAt`Mdgk^o=2nFwRLu+D)%dgB$LG=jd zPMRav_vC1DKJ^KuurshbyO@!8PFc8Xo&HZ~@cWwnlf;HR(ZwLO(u^%FHe0>>r&;3l zH^&mUVj#K#4_CyH@MEE1Ru+2OJwnVW;ST-AOOU=vhRQwl@IF&RurvwVKey+hiQQX9yy!;dq#JE)`S7 z)sKy5zTca`UB;F+(BHT1rL*WJv+sdU8C(_fgZYGU6I^w*kSWV1TOqZBSxq(aQaOxQ zsSq2v+sW8Lt^2EM@}EF`rgs=5Mhyqp`kvLU2v|R2T24ZJR{YqyO!9sdqf+`ANJgs$ zba2DCY)^!;{aPHdb)p$N%4?q8VRgw$DEO&DB+>xE-iUT*ckYZ~;#l-*Qh&sllbL3u zESaPkjB}X%oX&w-gxCJp!i zCWqqthW`v==bLIH1`!E+*&ah;0j8mPkh`<7xz!_!JN6uX>SVaIp<&qw)gcR zD^x;Np@hS_e*;vJ;0W&a_S+tww}P!&-9Wh{n@tH*Z)`?%M2Cly{qTzj=s?Lq8~Y)D zU4z9r-$BEJex_5xXSTQM=biv|hT4C*y_~~4M(0suT7+Jsy|Cp^mqlV$t}o+Cr`~q7 zDzRRqH?>h|Y%ra9FMYYjO0RjSzL%<%)lrGkLxy)av{<+vw+S}&*?8la9jWd5PCaPT zhNT5#Q!6RTkRL3L&lAvIyZpFTnv;?fY1KTO{#TM-4QRgMY9DGn>w)U<(b**nd-T%b z5#!A?Uz@{$xR3l%3sT_F)-=M*X^AaQB z`IW=DML8P>Ks&Q=CHfTWHKTU~wMUp{-K|)c5asS5mX!c(vnk=(%#{-@V~!w-NE7iS z3NM%!d@da6c;jy3T-$#!R9a?9#5s(h`!(&Cja}j$t4z}gXO5=1_ptw9q-)UYSPjGyjQmMr$se~4*50sF$3Qb zN>>dmxjrI?n_Iv3g00-q@haL2XZ;25&c_TnBaSJ=TircWjMdaYdXZ2x!D zZ*w_J`ej|lvGN;RHf72lf=zWJwe)brlv1ZiL!eQQ`zRDpnq=zGQYL74HM2S&{n)KY z+1(Iy7681`9L5^pWjXms%OMy-sX?{K7+urO3OZ;QLI|yx4vTorZHm{mvTTG(q{$A{t_$X-P(U}|^srBIbaI574&%0obM#}` zR_8*^>SdMo{KY>w5N+V-CVH4u#qX$MhgemJ&b2@2dxkJ(=tLlG(sA{`+TK<2M8OO| zTj)&Jof10#+}|^!L7BTzf*(EZ_zJh)?suCsg&te zwiE25N@E@bGM3?(w9A4b6_S+n#}t^*v>N>(L`k zL{&(&#jvx9T}nvP`kV*|^bJk8>s%yckT%Hd@!pc=*->(p=h{Y0lQ1=afvpzR1n)Ag zfXOCl;q6vXwMO{7xQ$Q6G^Wi;WnPowd>=6spQeG zVXcRLD*{a;)$!nsN#rIoVa>^9>CWczMY$5ufKpunq6pRO3zNa<=3CdR>2|WDa^NsY zYOKOD;DCTJOsB^fY|@eA2KMzlevnbDlK_GS5*mjf@_5G^YK z?vw3Bws7?xnlvasw~|lu-SMs;n;<*@sIoSuXZe?r7PPn`NfAA^r+1eQ{-L z0GPF>q)7P*twm-$qeSb|*RE#s81;guXo7Xz$Exz7@po~e0iZ34_eA}sLwXMgwaSY#%~H3QAQ+KT?z)9T!^0LWTB+{2 z;v0D^n$^gz8Dmvf&{QQ%CaodV1Z*SvvG$PXtLA_*_uWOoE$K`R#Z&4J(W?l|Q+*QL zF9|BnDt=-~*yuW#eRY1W%j)1nm@I*zW%1n~6jKQs*U1B;p>+p2Cy|2TUUFZNRwy~- zvh|<^KIYVHItr<3E6pU0vHIA(sbz;}`16S^mSkK&f^SIKId$c1Vb3VtvEz}sUqa$z zv#d&K9l7Qi$cGqg4kAiB3VmH1n4blIxyLWNDj)nVtAr%-zODw5)C|^Ro6;K8&#)yB%%*4f~ zp8!{7WLcuU9E;Lw*6p-~(_^Furh1?l9mS@d*;t2lkCY@=lMS~TkgvMw3S@LFC=Z$^ z^sU;=M9-?oQ->>|pvKq^u(b;l@sLjPqL?{+1h1U9R-N9}sTYnLe>5Df-A+I)9>f-gt zao=X#-l`nj%J|{^X)q_nbYnQ3M-4G$3^u(U%h;Uq-D$Z0D=lHidur7;{4MvBPb14f zMZfNEzSo=Z7gN5<>ZRf~-UFOXCU5p@R99Vz->wHDfGLJyCTrKJnvIo4s?Uy*l)OB<6eme67qlmX!J13v=0u-2iyLX{!Lp8Az(~5kcHaYZ@ll*aT0Sk>^2G3X zzEY$5Q2f_4#mMk1N|Zce<^tM*f|+!DJ%WE9zi%WRa1vo9pR$AF#G!A{qh;stswcZB zkvEpMr)YHxYPPd)*tR&~(VVC;mfP}mw&*)^1TtoV-uPjM>4`YJZ}i}n(1q^?yF|$W zgLFWCXB=m^m@!56Xi;K{W$%bZJx*TJ6wy-gnF^c7jK&Vz++7B-catf;%~^)tdACY( z0EAZ)y3iK?KrTXHh)S&K_-Ab>EH!2WVuffkr;P1>nR+Xz+J5p;EC0Ag2#^>(+v*ak z*cPW_a@nYb7eO=p(wfH7Q{lwH8_$3!_?!-S-wc~XBV|3%FkO@d>t70TuJtag$(v8D z*%IpRAL0ARS(8X-WO=etXrId0UaGI@9)2tg-M(3vzj5FoT`IJimc0Wh2A^yq^!PJQ zxjnA){g$Ei^iQqM?J|gGz4~I97g7-*r-3y+9vgK??7SQbEToUAp6U@F>q?gUKvPrE z^6S;p=}koL01)Wr(|!u_<3V~rUOC2e+VGZ*#iT%#;OVK2IJEl@+ z4WNkkQ~bhrI%R3T7V2NZKjwLMIu zzQuc9QWg@J8b2*&UeV&ygBB$yAJr3TgU%&CA-qQxgt%ujjG{Y`FPb#v;&0i+jce7O zL9n8PKjDeW2wCZy$dsgM=MYyR4Xk6HZS%Y>m4skt+Fy&%x5eHD*2<2TyS#TRDvO<2 zdvf)m<4qqA)D462fdY;h=p;SV5^SVaDs0Ws8wLHk6i#AD8sQQ~YP9xhJGb=3@V&@V zlw#FQJ1JwT)R>9H@hbUF54`QB+P|Xn))MlNo8N1PP4Q?Vi$>T>J6d6fVs~ZGyfgt7 zNVqZeHLt@zmzJLwAo>?F_?M3tRsL0n$d`sI5|(=R&LVuvf*6l!`03G* zB0yTYg_C9WUnVH4|GP{pcZs76cJ)S2S};4tA3O?||Q zq`p->MT$>11fuZP()VqIFLBlpxjZwrjzvDY3--C!0)?no_nX?o=Y=&2*7{IyopLBl zmdasg&>VY?qGP{3+i209nFT0vDDqh!cQuM_X#HUBOE1eKbyt~HdTuQw&|zg@7gc-5 z8BdN<-nQD$z5-FcXAdBEx7dX<)r8Gcq$<{(njuclr=nqEyDY4cN^{nK}4!@p({Z*q-WoK_71U zO-WM&iv?vIFC@vxUDR@TUrPB=)ZOfs!`-Jq2^s~yZ@Wo=#Hb=rdlRzVhfOvm2eCMf zq8vzgZJ~P}p1XT&s?dE}?_C=-smD(nDN%FGP^5Np)_%#H@cStFC+gf zV}&ulV+L2)BWFe5U!ZYd;eIPAnRK|U>|m4;G9nm1WO|l}lf42j^qo^Z%|1NCU4FI; ztzJ`gww{To7o_oeQ?nPmS+bd`@8a;};1+!7!O z)6C1KLtHyP%Vp1ls@=KFFVpF7dDc)juY}LLY3_B9{mJe&ED}Sj>Ntead1!jRgQ}jLdPn(iqPGsuec(xmST!%K z9}>?RJ=CRSGnNCC_ZryS`&*qkya~jYr6_mBUs@BxTEKc48zx8}z+(rw(peY~;EZVW ziQbM<<9g>FMJ33^jQCH64h?>{ zTLYz)bGxMS=CXGE+IAGf3<=k}8UDFHv&2Vnv=g_!>j%TX39NYaE3tcWVyXC>hO6Vj zbYVPsJFon9P`}5@a2K6qcO!bDfqy0g?P23j%1a(RGss4kovA>nb1FShjPsbpFH6}m zzY34I-yQ%j9Xu5N+UysH_(|6~u&J^`+Dh*0dT#=uD3NY2+rm*L!Iw6jD7s-&KDGY3 zMw8Vwhi3bk!JL4LW;CwbROCm@y0B2yY9YSC13DTB$M*7mKR=Ur*A0?|-+i|(eGep! zO5s~8<+kXJKK;d(in+Z`i((TBVi*x2dx8}X)(Xl{j|F6s)3@%Mp=GCgV2AP zubHfz?wIMx_H)IlckVRUcmY8<7HO0}&yV;I{$-%a$>!$pR+)XMtXr*n4V>#EUswVf z0}mKyO8!1@r}uH4pM^!sya=;nBXp z2?>vGma^BK!CmG9vwh7{+$N%zkKtGI^wr0_iTK%hRsssZ9f?S}?dzgVgG-N9jAl6% zT||^iuNHa(4FS!ViuG@NxoY$R)IIjsVQe+qwRE7dUU+DbTL8$a7xJA$vT27xkk(<5 z|Jdr>Bx?0{mccF6ZeJi|+(H^bmmafpBE_nm($PhMD>BJD`?{wL? zQP=+l6MYPoX!D0AEKp)xxEE|nP1Ndw?wZos&Q4dfRY1UusHennzB~<9F7+zxVTXN; z8S9(nV;}aPs158+Mo<*RsFhV}W}eDe#p)V5d_`A5^T?8yUS0tcUw2)$^Oi$U>OzK( zp(ZS#oOK>Uh+>U~-s8%22nJ(KFMiH0E7FaGU0yX^lY%gm{)bYWl`-iYHOQJd&D|`&@nlkzABapk)L=OHA&(3ht}Pguozp#W0a2*Fibz{u8<{wnx_mrL>cbEh6^sqw z4EC4>-x%w8A^IP>B@pwjO?q#fAymmp8=9W6k?csfpF33;Ua_Fr*mPObBrmehmX949 zAgRJ1$SMQEjV#>+O%y#4=ZsR#LjP$GrHAv!|7&WC^Edsnukez^ z?WYY(qXWCPaOn5@S6PYxl0*A_tTX#Rlfr=W8zpRK+V<);60NE&_T8+%*uwy~gQ`Pu zBeAzlqsGEbkn@3g=_L6}8WlU5o30e!@(q`^UCTwss&AdDfKPB91=^GKo!xWCf%%Du z4{7Bl9d{m)&&>FDpQ20HAc(I*Gcap2%6cz=a(6#Ad$y=+P8qwE;e@XD1|=fws|#oK z?^Bc=!DzZ zWkGw9peXzjf$J{^kl@82fl78%*A#s*3_1HwC9struN-vCEypQR2{rO~P(3&OW}iF! zS2VR_7G6pZ{E+)(7pit{2jjV_L=*%8UqaMf!7pIMX)W0`DxEu= z>u$qW^<;YG^aOEA^6(3)4~Rr{gxC*`whY*Ts^UIiU4d}F_V6b5R5vca9>CPrFR%2) zr~}h)E}w#iHd_b7!&ueO?wxPw&&c`iiACGUnrix)~xK`&XJqfCs;X7{fX@K2MMH=o`?|~Xj1u{w%?W6hv z#@#KP2zz4O6m=ACRV4Tt7ZxyhX1RqUzC@IE_Z37hJ~-1WwxAZuzn!AWYG@^a58wWs z=+CKBcefx=uZ%|eUTeBpE^Mo5d^(yEY-EdvE9%azWi6hO7*h+4H46x{DtH7(~VmCOZ5mqGG+KNUU)DxTrp(})2fHj4+;5z)uIdjm;$(DIrs8R-QHKz zGc?>hExebRv|)G9egD)^c9gSKl|#L}%rboHM9V0XxtsCQ=6YeXuC*>TwO7?xrAJ@- zGY@?^e&WDsu(*Ru-jnmX&_Utgo4VfcyjIHGWaGb??kwO=lz%#3)`r+-)N08dP6FkM z3&`Ign}X~)dPFx5&38G6=Ss#RCPu3CL5HJatIkPRkNt9NakpMavYy?w0qMXYa^D1V z=VwDpz;DFO7|O5NoQXRIok^P02@NX-&j@kbwX@}9Fyh~lytQp@2piVpxUB{#Ge<~K zZ~{1!QSow-z-GQ%E7ol?z{7NI!m@|~WaQ^%ZVbK@ge{zTD*xl;OX%TC2K_ZM-}PO& zW(LEQ=B)sCHV^ipI}4tnEmRp+TxPQnR@EdpN@Z5#p{30?~j(UznH8nxUSQvWm?Q;QdfJkb%e7yD=J-6> z>2z^kr{(sRGs-8~F+R&H*u0TH;&q%q++>ihyxwiB!)&U5@L-5t+ru?De@7xawg01e zLa4nD)Q@;!SvXUanM{pAv|-~_-3`t2%v=w||45-f84zI`f{<2LNX5YfoK0WLRtqby zJmDx<6{{b8k~<=7y)ftP@W~qrBvUo#YZI=z5LpkKxZBalRD!miyTdn%{jkDurXv@F zK9hiA&Z5&@}o=eM5LHS?yt0;{KjMB!m@f=-N_lVgNO-)E>3w@}H@l8TU}>+=Srd0?q-DPSFm*1%?MVn;q5f^AG>10!xzMSkw5Jzr zWh+RxZHd9obllk)+Ii!3dUAgO6+gKrHPZ@dQ<0lG2b@3=n_N zyVA1y*vg65zs2a1OK5Czw6^`J<@_MC>L~}wj##eF$y z-x5oj#Xsk5UZL73bs*3Z}b>$pEy#;99`R7XG+`Jo}tGkc6v1%he}M4 zjYG=xd*sTRgX>eTu4uPye}>A4!Nod8M)5h>eI{(y9G1s?P1{t~LZX_v3i2|oKJ2wf zK;BrCrom==;vMI8=ZH3)d`SDBWbC_goV9>ywdQLY1^y57l-e=AKYq{Y;GR!R1k{}p zqe(;+tvFy0EF5V_8?Srd^4^Z^PFaJb&L?k80JqCsN2hEUW}eIU#&%Q7gh@LEP2jHOLIBSVbUV%Tpx zi(RmZd(6#>3?opC>t-GEJK+v%WqZx~pIBPqq_yX2ieqA{8(X~oONBt~FQNL*T|##} zt}AMn)j)JPyvprKmVV9FR$lFp7uhsq8kt$&kQmZ6=lh5G(6&_m%`cLbh1KJXY`Bu+ zwdm9Cdp57BOL8~_eP%k%OZ@!> zvLUrd=W#;pT~jmLpVS>1E*_cP9T~(9c|&fy35lzESN4dcSxz}cmA#%W11+28;%36( zYGuUz^X=Z%x$cT+l`zw|(~&p#aF<_XXm8!&c@=DFKzcsg+)W)>{f2W6O^gl>cex@3Oz@Jci;u z5MPI@17*_{QvOsSH73TB+AvmL272~|9eLed=(f?lhh zK0ApBX)6_1uU84Kp|!SiXQZ?DP5gJdse`$~FM3fi@-#jB@B~<5tOi?~RXAburL1Lv zlIYET?l@!LITO&G98R#a?PH%bO!6HSHCT{Re%{@4p)n{FEPc3t&`8Q98+f~G7eb`hke_r54eano0UcGla zV=4Slom-{KJ__{1$#C`TkwkWS`q_a=H4Qjh2mTEIB_jXBpT5zA zy%W2#+s@|9PSZVtYTZu5m{p5gcKEUT#?p7WC>K~O|M7ZWu7P7wEpFGyHF0iZNdAwQ zX4x3h<&<#m#z%}ht}7}Wx%wBdN#46FMJ>XHCzO0|>K7Qy9;H)ad?c@kzPounpxpRG zdxt_p>>rM{i;7!&2mE5QJdqNmTF(L%8$|HKE?{R9H@bLciaF84y1j8Q+u|1!S+)ka zUr8InQu2bJg3tHVhtlf%1n)3@n#cHowyPyNw4e2CujvJ1gzn?k(G~0R)vd^`?Hn51 ziWZYdjPUHRp7dk1FneOW5L1CV!P81pG|ZyKZe&4GwUMWD`q!*A!aIA7N%U1V<$fFc zPH1o$IbilaqDaDP{Di$vHf6y53$Xk}+@NPsL>R1BN9`pesB=w7bpR%X+%guHLQ>U` zFYx_8-y1$F5k3iV)Uqs}iF|0A%lTL71{}*4&^{lO#3@2#&7iRYn8whI1Qb2IC`$j0 zh)T-`>>WOAKtoiOc;?gum=e#(vk_Y5inL~yN-(Lo4t;H0B zTwDiMfIih1Fe*>#8QvYl|7meyuXjU!+93*Rv4Uhz=c$h1cxV%+(N#gn!-`EEWz0^= z|B~CG{XPTqr^+&pp;DuGB9$c$%TISg*~5J|=U0=;3r6Js)Y%*2;sr^Jc=inoRcqZd zC|zwvr9OEK>ICC!nE<*Ctnm$itsDsYv5}Q=v@#B>yz`N>{tMsX z;RjfuK9si}deCfpv%$AbZ{B4
    bh-}roe$B0UL_vBitpW{?L27m_N@$u)=HaZQqBWMjAy43ZFHP5=|OI08E zzPWHf*R58cKmB)@fnqdH<)~-zh2ZtlLgg63UrZkzGT3yanmEU)+WMOpFeuEyXD~Zk4gEw{LJb&l|Q#1PvQCI(PWxrX7&nz@eRYGuJ zpGEh=Dy-}m)L*Qwg~$VI^PjT6u)^yGtlG(iXJCB?rMxz9`Ysz%ZiRWseb6~!e1 z${|eXzW&}iBm7)$13cYT&ydVrV7|YcySiEhtTxgtseW^Jz9!10n#}BO4BS8L(rdkX zl+IrKnxsz9|0E*YPS)MO%DxE#nYu&~VUvRtU$e^Sy6yG1?wnV)K9=ptHPAt1qBJ_V z`i`?~1JCdw)d6ru0}Nlz>dejbD}wcUer9()!#G9_lbbtcHTy2~(yyl8uyl**xQV&# zW#|PL-#iF0upKYwH7E`k7Wug zoQ0p6oxX52-S6XGqXd&}3}STH$jp5cjCOGUFzW!rq;zL0h|p4@2&_zB?^sVj-rgq% zpyAucJj2lts{H4y2t`NO@=@%k8j98Kwc!Na8Q_O{2QrY-iN38KzNUuQxf1+?trvtp zgI8ZS&oI41*cZAp>Gal~7kJ_K<|M_OAqcS3FxLUG+p0=;Ka^%o-Kq#*k7HQZJ5nR0 zZ?_|LVl+BK_*eGWvYjX_b1NO*x2A@$r|{{YupR6=$8cArPl)x1H_xP`zR%-iGXMPC z`PwP9dCA=V9ABTnVp78}%HCu?8ZXYRe2TFVx@0pQtrW_4s;WcV>?_n3v3To%@{xI( zDe46#vzqdrRg8uu2ELILZ>(>X$M-#NYOWNMbIOa}<=}KDp+X#;_%S{zK0R%?G3e5} z$QoV|+KxNiBNRsP#%Klgb+V0chkuWD0YmHxjAsSj^39cD#^!47`IrJ|-(kI-=f2Tw zG&2KEM#+^4TZ)k?y9Xl+XH)ZsO71Ef^Tt!wzq!z+A&*8FE=(5nhesji`Id{f?`}-T zPv0j)C@D9)A7=7ga(0obwp%y!>Amj@xp@C+bVRscm|}L!NEB;G2RKY^{U72vmu!(7 z^=dKsbn#)5%Wi47e0k9Fk?Dn{TQB62(-VV&^g6QX**bXrN^g~SF$`z%<6=w1YUq;$ ze^~us&=QBgNc)^Y+qjg4iD}D~V9e@gc#^hV^F;d(*SAua=x2i!(Zw$5#n)z4f`yvw$dl^Xj~xG%)Xi6(Aqj=?64QzJlHq=KkN*aiyj-Y`R5~( z|CTznEd4n>sib)hv(ako-ooDn?(f?I+?^!Y6%BIh)3rNF2L)_i@ z=^@3u!|2V*T<`%GM7M>zkweu$Vb5OZiJ|fullJK*0~)Cv*n}(A^AG%FjQ!k`zBtuu zfVuDdKDWBz8lSe&S!ESsi;8bEY?QTuL5bg9aLk@NN}aPF0OKTEDf9Sc9N~yUi~%ir zOL}tL3DppiNs8OzphZa!mEJrOj>?^61(`A&Ob}-Db2ix6F&=tJxd-0W_gx%57>36V z+-sn^Nt?8O$IkCKGafJ^ZyCuk80 z@zCK~IP0N%%YUiaY%`<*PB;IUqSX<>L~Ke^qKUpz>PL@k%l&YG-NZn^6A2mQr9N;X zGHhr?Q$|Zz%GmYHeR{7iZFMLG;1e@W+YDQQ&FM9@TqKIO7=jb;vi)_s>`L@bl&bxj zsA6a?NgU$t-<|DV6~NU=t0g!o^N?^)tQWctlTj~+P;ruCLb5x0ll8D9f5OGT=R5H3 z*>!-l+uRs#ir%;d;_T~1DTMo($QSH@Cx*r+i|d6W)p0&E=|Bu}q30D|WjxQi)1U(@ zouu|e$*;5ZLEw`C=8E#3boY(Myg56=C^i*>@;N8{Txhyp7H1`Wl$_)qyMBbv(v=wq z`XZ!XrWNAL*+K(0qoB_)Y>C$KwxWW!v5+ym_AhJF91z14n6FqbI&U~~BC{t5vsz)N zB+rVIvT%mnJRa4^0MCm{q4R;biDi?9>9J8=8E03?rbac5et7%a@b~170=aomA+-hEqs^zYzYoZnD~A+pDB0CnBLXmZ#U?^RCC^B=i`<$RJ*K+1K%)qE*0zW#Dcsc z?Z&#MqrI;(HIe!a{p#0s&Sv;aYTUm1`j!uW&qPJG{~t|f8kS_*zyE1!GM`K`E6j~4 zOQxwr$5Bxcrm@j_DtVfwv|Mm$bV_qqP+2NXR8lHSEf=P-$;uSX+*wpaazQh5%N;~i zR5lktgg^fmzxNy*2lsJb_kHob&hzt`sc?4CxFgo#UoLN*NaZYdj1vEh{0Wjfm-J}L zBjs;9=QhnuAa_iQ!Ak=}V^uR8L?1o?O9U{0zcBx?_qUu7wHqPbVsXVcmMvOr3~O@t zgial|tJbF*_fl3Ta#s_6kMO55=|yY*jR4o{A!4-+BORme6#UwD zOAhp;*t}Kf9cc|dU>)5~Q)W6e#`n~a_=RojK>{m7`sjCOzBKdvp20@zh*Z-oPY}@W z+w*;1=2q*xn)<}aB|C&mog#XKRnV>M*t%M628a9~3m`|(jljEbl)5Cy_5tUU!q~sX z?C-pj5_(5A={L;PvtqA2D|E{ahGU}ho28pS~K!dAZo3vtzUH&Te-U5byf$X|f ztmOZ5!UiE~FKIFIafx&GrutRnVj(*8by7>))9~=E&tL^Mu!4OY;QZ2_-%1ACB#UGp zm?N>Tsq06vjhW|W6GJ{t_(UuCHN8OZ#)1WYlui9Q=AAL_4Pq`OV)i>y^W-eLdek*^ z{haftuXj1FaiTFHF$MmT#trsAPUK1LcVRgQP*D|Ihsk+XUTS%x91`k6Ux0oU9foVx z)qBF*66JkmRIO4lRs!*NN*!8kBQgtQU1j5>KF&P$KVwNom9S;kO7%*@j~;5wTQeKC zl4vJKSb$?Hm43+Ulvq|QzK(-PRHnLW9$d2;Y@~$AaNQF_=6{9sXR>1=c zso|duJo`3=wxdqg>B3>7;kOzKNv%#Ni;_o4qq;LDxUPjd;?$mMH}EWGKkK9}p-QU9 z$64UjPp~V0j@O(LzT414Lo~dnsA|dLwHPb`kJ7e(FLw5ahp(%)p)SrrU92TXy~0h_ z1e{RH2q)KOsX1UPjS<&Uf=`jZJ!fgV$FZr`P9<50w2W6yhix9r(F{c_W3O$EcQ>L| z$UlE7H-og6r8kswN?NX)348-WRku{yp*Vo2_XD*A`m3OYVz@qZKB^&qb^MO@&cW^4 z@npCOe&uFD(l z9!tF&tzJKsXIuj~IQa4=cW!3*pkB-9FsJeu&-|KM9UA+v7__#dEVxmw;ogBd~mV* zdV~leB#x-(70-P)gZ1;tqn5x2bcOPdTuehdgc+M!+i|H(8nizSF z^#*1X1uBpQ8vD|8Nr>)hmv#uGF3k{y`xgkIA422qb@zr+(KGM()STFkEm|Z@s%&YS zd2%8`(Mv3JHJjm3#_?4wu&v;9U*Gg)zhtShL*M=FfmbwL_scN>*lZH&^1CIwGciTa zI7%e5%LiY8#Y=rRHzkYrAY`cSByP9|l;;JH$vPc2pYP_YqY{R!Mg1fPP|mcw6HDW+hb9Wr>|R zYelN0l*>KktjpxAJ|N_HXzeR|IZJ0Y2%{7eoLkLiSTl@a#09Ce=23J6yYAI6Rip>< zWJK@5P(|4Jw(G{pzfwWB!Xah6&j|sovqZ{d2|UN_{MJ&;{Zf%hm0Pl~P5zZtA{L~U zI)U@UUZ-z}s$1Q=4in&`yq`#eYg5%Ha$tLY_ZmDf6oBd({N{Z7&si*?1t`&C4wRV6 zfQ`N@?;MvdVy0i6*Nst8iL566UkD~2*3{VX>Ne6(N{L(SAc3fHK=RkFRQh#U2of1~ zQ4bxy3v}?6Wy>okAzJi-Q9H)E;$-N+`efXcJkevFUea}!`3RsBI}Yzm70%(QIG(AQ?|4UX#G@L*MNk+`|Iz-#R@jN03zm|YNE!!e;IBiNqkcquEs zxY|2J6usPCb_moOCqL0Uc#SpF6Gi5Tf}W(jUHB|ZixW3(#PV~Q`1$Z8Z!1vv_)vQQ zj1ka=h&8B+B#z%g~3KURIJcXI}B zfaa(SOi(|_sQpTad0(?{0jkjpGT7xMJbjuOdIUZdY7)GXHkTWv+KPLxvePF0{T=|C zn_dgIInqrk*qAuXvN{OI#qE1@6ZtCB+j4NbPyy#8G)TBw%fDOR8~M=-x|ILP$wtIE zwD>x;%?fF2k^9zf?d>aR>28cN>^6gp@_#nbp|o{8TaEv__?>XgkaBdmF!m(6NC1et zZ<&MqRWH9cU^2Sl%aKHA%_A>D(BgJnsfoh1Btpk|)vXuLaj4=tkok2%qZTG{K7aY0 zfn5%o;YI3np{L%_mXv=&fH3LP)I%V%o4sX?utEsH@NutcpIhSaP7uIPna2s(or}Qf z3Xk-0lch?wx0ap3ig>c!%+8Gc^Tz$m0NN6^X5f)xZEH?9b)OkI7ZbQ(PPuiKQy*T` zw+uF;tm>r2HHX^$R?wj}%tk?JUZpqmS8w$?Z(y)nQNG78tZ_6q_Pq_!Hl{$@ZjqN$ z5ilx0g-}+R%`SEytCZcjw40)OgwO;%GhxhZWUB{=o>~Nzgy|Zc9O=t??rfC*bG;23 zJ~Zm8H_vu3E|7gnl|-x;gCvU!7-=qF@FKkZn(lGK*Y)%%KBFwzv923fz-~gpPJ*)SnKE(Z!$G3kO6>c-zUNxOj|UCxOr^=J=Ui zI>mm$I_zZc#)w~1idZS9l+z#b+{cIZz|xr8P>6X}zfoMm0gwl`P>UtZq~PlohJux= zslJUSFQ31Qc^sQ|+^cSJFZH?dWz>qIBT78u?$c-l!%n{wjFv=(V+37zyYsf%wBvPt z&96j%s^@k9BXG64tZR_Me=2!T?&Nht_6H6qD&bjnVg1^Q5T8v+`PIG>t{%Yw9$@lG zUT_hDrruSg2!&ZdQk+}STl^Eq{Z7C2lr3xKQ;(xE&;9-K=!|=iB&19gXFU(emy4zEr zlwAKw`Y%xw^Hs40b}Qzae}(OZK*qV*`r)wD`RJy4hl*I`#+92()J>D)q_bYW9CF z2Lvrw1id3=f(eP5Sqsz@AE=9(x^Ud!Fv(JAk@R^t2$>?n44^C$7 zS}a6W#;XU7kT`q({lg0tf=pL!bo{vjiJCnVCx1JKMq%2(zCLw2K>9*gsmWY#LgHq4 z_$fobBB`X+-_Pwx^pI1fJQOu$?a{zv86`8;gRm7E6?mB9GSaO#Id5{soxW-urNE5V z9H$NQj%aVF0mwNuUuYgl05l%i!@n;Nh4*SLh+rV%wS9k?c36)-P zH4MjR^EzvjxylSM-kD7#+4zkQn(LZ-eUWn%#Ztwn=#r10KrbY|M^i5Xc`%lScp~ql z0x1yaVSXgf!Q%Lk?sMTxI4|K{TbA+Uc+C5bsUIM!mx_3clm^~M5XJm0(QuMsD%mey z9LUrQCk*q(&9g4SboYx#(ko&GAxK7Msz-vvG56>?HDsW`JuvzY-_2;-wM>xf82n>2 zLe<2%&$`6LPOp9lAH6=wzGX-%^x9L*QOsw@D>L=aM;lYm4_l%*SNHHbOPgq^At|=X z&&{Cxlt$UP#i#V50H;Cuk4itnDw{kN79CIM@fv||tqvfWOVpAF-&WhsC7m0iNVYc( zYd6GkEhC(pIg<~$z|02!T2UP`z+qM?6j$mmEuH8K((pRW6X7TH1}Vp zq@M3|-ih&_H(UA}ttdMLXQwW&+@zU1#MC5vEkW?i8#|cjyrt&dp<)jvYI85!J-bii zHw>Fs@K{&NyeRS)nNt^S0P9NLhl^(Lr0%3Y+j<1{F|YEHeA&148`)oIsvr>HR&cNbx!mjKIWdX6zW;P-C>Eqi0aXb zLUsf2FUO*nE~qn~3_eD#1t6Mut?X@9RK@%I>?s#tU212YVbpqhI!Kzx zzX2jYJ7tMq{HH#L2*Aa})UXGutHdTZ@_`mwoi|CJQdOMK1CqIapYO}dK`_S9G+XwT z;y``tvB6zHCto`_mWU#M`5~_s6Z)$sFNoxugL%6xuVVE1&uGgUPIn3OT2aIT=`grS zUI?BOT~hW>J(1vX>_gTK-N8?y}d}3axM5wNj79 z6lON6=YwkaH%e=U2pFrP5y5YSl&I_z4;tkUnXP(ge7sb8tlm+vgq4+sqax!4?V;Q} zAG5*4wF*IbKK9(&xWh{Cv)BNMnw8k+>)hI&+6?QiRmVK3ua$q3N5?)d7sL)2*)6&f z+Ne$Kw!DrLJJo11-OHpdoPa-$O|0P?F}Z6-EnbhO!+9Cr~ixb3tiur_8}J zMOabPMQ`L^g<&JsrC0NDNvrguX8!b=Ig)!t%*_2$Qw=))%^bnG!ZooTy?Ru;*oioa z3Xh?LtQV!Ms{|tn589?}zjk*wHJUgv)-X#O-GyV()Sitm3S9Oh=>UNGTc2xd35;Rs zZr7EIsEoZ^n{M~9I7p;tRzhNOj-WKFZlBIU4pxqN*Qo;i1EB9nfZR{)+jM$?a&A!M z-X!a2)dNkqc?+Ia6fMO(IZt1JwG)Xgp9&YE0L8mGIi(quoG>A=1& zDZv-X^$K<^#jI-U#h(p>*_3NJ?c-l9>r7TvVUToOoU~`jLJs9(1-TVsw&LZ9eAQm2 z+hk}%gDz--X}~O1u#e;b9;M*9#b&w&vmxH>26KQ^*2F?pw^wm}%^Ju^ooRXI}}2N&xN?T!un z9AAVV7ZqyxR1fv!{+WQ{liG0#Ue%4#$VhYX-%#r5fr-EN=&#+>j4xm{>1Js0QAs== zA(A|x<8Fm$YO-WV!ne{>*tFtMXa?E#Dnx}6% zJMV-$ZN?q$wRm4Y{<-_I)&4Ckv@EwRbG-qV*VGrf%1ac8ctL8|%SZ`&B8`Y6 zve@U>haIi!1>*tE=d5cFMQmj6nX`M7MQe+$HlI;SSD;-p$-LuXrR6Hj(Q}i6ss9paOzT zqIaNOu&eRXcv@SbndH_zGI;zkQ!{!NNvaboBM<=vvGv*F%I-Jg-L==*bdzzXji^xx zzqOSDz>g@F{e@1@-E$RI>zlx=oP0G-E$4Qa?K+>fZS#=&dxNquvL8Sju1ZL2elI5>$=Wh>* zB$o%&bb`Rl*n2O|M|FUZZvTMUb;N3?47X|y#LF?xZZ-@8`W0oqDSJr_pPhOD%BPPE zrj>`>C!eakMQj~|yJ8!?$tDt8UFNjCwS(h=@)_r@qN^roZ>t-zikAL?+B$GN`-!)6 zO_>v`x~v{N$o7~$;Divx4=MJz1%X!;Jeo_mCXLRx#u3mWL6H`7l*QxL1Wb`&JmJ2( z*G|8L@k3;k`&V>M?{o6?Y1dx$g1!ZzX-Qg*wroY2`U9&G*C*HBRC?jXOfWcIQY-G?LNlnF~+ z4mdk;^+~D@+kx#WGdp5}cv*N;eq#f7Q&>j)Q9VoMD60zk*$_PkQ^B9Fh%@2)3s1TE z!`Rh;kPgy`M#Um0wA_B8aLxVpMrjHt1*&|Ulj2hXI$;^%6yHPX~vlq-KB+5vh}=3?LACBqwgCwT&qDUUiNWmd+~Vx*WeM-0tQYc_a^~!H9u_ zvX}Mg5F~sx6tX@%{V)DH>fh8#TY|dU6|yj+jn2<3!Dmn1BxEa68mHvNGF)fQWmwUi-#>D zl!CBI;N0TV%PCC_+*|zoD7S~;n*_VnwLNIZab1qgg0*N&g#~ui!bZ`N=MfL*+@%mUhXmi4>G=xZC)7cwB~^zk(CghsE4{YCiSKyFQHi=s zx(#6fiu0@Je&cu0R{O-bs5XRLDoV8hsgl`KjE2D*sFU>8@J}<=Q0aaM%pVps#y>Wf z938G(hEeJ@s?P#f36ZKpP;Q~{mmv`p-G@Ej$N{ z-w9ef*sNY=@6Km7eVzi`!XefLH$wSwje@rHjS^#V17sx4 zLxXL0=EPp(i$EIH!(z0&Z7wBM|p>Ti#l$zQ^zm|5J}SvsjHJR^J4o6U=y?^EcM^isL=DW zf8)%*HXFTS`BE!fuc}EgN}fYL^^i5q#G@(MgiJ3`UGn$DI8Z^Mr?lq`tbnhsH6zxgJ9Fn3y9i+$`L~M23!+Rc z#hi)1IG@q_$5cg%)cr4;%9Q`5Gzb|f$#89T_u8fdEz9_e`-47254TIKReiIq*=H|K zGlPsP)v679UpnqdTE*bi0|W7dpntc&`9;=Wty+li z79RZq{x)P8syJDInKv#vx4y16z=VY31-nih^ymDw>C_whqs@cD6wE)bg0BMn`Rmt~ zRJVHp?S=G!mZ~u`!FD|gc_bZe@P!;Jy=YkU zJo*zqP5jl7^$^3g#r7<)J7SV}xQNKS64Mlut9ul>Qx?JRSY>xvfo()|(24=LvOlJY zLk1}c*a=baQBL-&nWs&@vhkIi+oSfIrQ+mwr9i+D)YbS3`os5D-zp?Cd!PLl`rhY8 z>M=nS@+@{VNO}!ePyZVn42?EYVIJh%V)OrIc~31!9>-o~CSj~7(E@fE)K>5vI5MRx zoxIg+2eS+YkizkNY3J^Id1eOx2R-_SsrbR)VM-_AnDcLXzW9du#iZ~U{USd_&6N{$ z+BzBqGROL{U!4DvTB?~oqL3OTjnm6Q`XDDY5z3Y{dmho4S_>UA#8(Ug$^9yLSXS5r z`=X}#w`DFd)8zW`>;_*Q?yoVQl%Tf~JEs?wMyDR%d;}Pqu+n4}MMG!D+^>h*n%ic> zQy%R1_K%3YQ`1{Q!7N2{#eV!bZ-AJlm@EqZg2cw&%qBenY!-XEodPIg^DZZ<3f&F# zDhgC$-K`Rk z&!3EOLA1ZE3?RHMBs8+!(Zk!qxjFSdt7|~S1BdELaD0{FK6C-EW(E?VL7SW4T7%ke z2jG?u(_xuLp3ZIYnh$_%+$kFlMj@-oF^+N`3KtpHNHuC&k}CIEO*JSt zdOc}N9(dcK4q3LIN5IPhr^)~sKcvEYF81Px&ZbB#RSdo@nbVnX^0woo4+N!CbAq5= zAVoE%gDw2nVR6}96cPLf7_P}t1X`qRt*74oH??sq#zlhO>h5kOPO6J@_W)C3xa=d` z(X3}WTxt9eFWzhMN{rw)3J4UpkNov<@8yKfF;mM|Uj<>yw%`s~ReFV`-%Dt;lV*iX zWA>zO7cT+ClRdbEhU6UPxTKKp(Ds}^uPQ5te3^qp=w>Fvy4@AaAu8PU`*SJ8 zw3y$&J0u)@i`f9v5Ce3(v}pf8LmuOz_&(>h|ZOPmy0SMF`;L*A|d) zHdZe34qEs2v;L@upZZR!zA>A`xtqO(51!dv+Ypje^Iylwz=>+{D@@i;xY43lC!Igb zo!*`=$zGik*mk^`DKc<;3;1RN{h{aFm4SLj>&hFK(%S4vY|(?7#-^|7(^Dmjyq-+c z2pSj_VG%T{JKzAVU+R5RYq!8ljgv`okzkT?Zexk06e?kW+ULZnsTfmuX37Rho24HT zur)YHLiol63Jyb>B6R;>W_7JBWfiRM7LNMDM_D(;bLk>Zz>I*9%)$xA{?v-yW_8ae zaqmdGg?jZ$9fw;jPA0U z%a=SpJO6omGT}pqP{*wLbK@J<*t5}n$`re`piID4M+kK#xe)2h=e|PiKspOiHXU?$NH;@9q<@=C@=_}430vtZ384K|$> zW;038+dhTKW^)P&*rj$;yUKKkwoHU>E?4NMlInK04vy>z5&u8>s~0h`$*w<}DKDH&hiQIY`R( z83wCIv(a1J82-tfesLyoo|@Pi$E<-hz4IF@+Y6U_zZ+_5>X9BB3d-`fjGmDL!qd*b zvxt_?QV|O?x`2tN2HT@dJKu+5oU{?iGqO-K# zr?D&wLEh2(-8fd+9&W(twT3_)=C+4i99i6xf{An94;WHe2Kj6K5p3ddYD#ZT{`9`F z(+`$5o-?pL`UrYBMIc-wPI32m8<rRKa1N@zz8Dox6WV*ZM&IyDMwqj->P~jAX zdix^IcG4B$a?co*(638N`sw_=``o=|Mz0q#hi~|61e|zy!M-H~J&so)y@mR#R)unx?< z*@QT-VDUXuqmoCiA9Og^mNdL`bO*CAHw1oW|FE?qz~g5PM_Yh!Sa@CtK1~Vbq5u7P zAGyETzHTPhxJP+Zs+2o#KKY9g4MP$Gz5LxB6aJvNsQ5^UxzCt>kjR zXwiJnp!p~ccgtA! zRyLtHZ{nc~?}p*@V@g&(+Azc2+cGwOFKsY&vm;bk1`_-VvO!gMk!|n|t^^aGCfVPq z#vH$sAu-91_K-pFnKCN2oR4#UID9daYH2F6qWNX*rtG)J!c{F--8{k*VO*Vqnv((O*p-{@ zYfLUvEg@wCQL~1ut6Rlj=oeOgC2hLLb%Zse z&tW#8FGzP4VNDmNgR&z$*45d;iqI!jkJcXo?CKyqfj4|f=c|8B+CN5{{NkE0sm$=r z5yXzg>@6^?mOe>+l+k}FG9uQN$KE!8;m`9NyqUTb&H#*{>fM%zMOO?}E&iNOTw6wR z0+`*9cWcF)*3#K_NNW;d`6i;P*$8qI(j%C=-a5R7vK;Lm_-am}DWEG7$*j*naoL&mGH{Da=)^VuiGcXN)wV=4lwaT;`#ByJ{PTeMB2Y`Jv<;% zHV2%`IiB9cU&7x17sx-zs8TO_Vx!gOf}LYJ@tco&{(-))8<}eUAV}n1B$eGiuIF}4 zdT^jgneE_>7B0D@ShWo3;fqV-*It+`(L+-Afc*Et=~!dvrtWRA)<ZhRFq zuk1VId@(C-u*XhxG4aFZsA=xmyM!^cch7w%9dnp7{*r)a>+~6Dd1yS)v4tF$SMIyochYs$_qRK`opI5sPl&ijZyAs z_>v4`8HoXAfqyCXx!v)LcYEmhk-lc+oS6;Nkne9Hr(CS6<}Fbwi)+!ODltpnZ0=Lr zo9&i$UnN;Jh2?{H00%>V)cS1x^4acoMMPn4?%YfZz3I&*930s0^6t^nVCHTs`f0ibPQQ{(+|5%T|NDdCuc9%f+OanpDJ*e zda=C=WUDe?<#x`zCAfXMS;&s@D=93zj-P1{za0SQY^{FvgZr{li3trO3hb%GgZp% z5AL2!3glib8Cuh;FOsaXU;E7~p}ZW<+30H0pC>6E1+m@WN?DpdGA#1w;AKVy|IS@> zI|@D|`!A|kkSXdt)f?QNw0Qua=jWKL**NX}u7T(HICyBcRWYs58)T!`iO{S@NH*3$ zP5}+Ee@9Izs=J)29Z_E}K8Jsc216DL*a<~-@L57zZ=SeQrC(46eTY#TFK z;w$v7bjpF`@VfOFCLZR31kR87$vfS7`-mSn4H=lh+j|JY_Pmvq+sm?31kb###g&qXe&1@W-tVxWYAS-{vtL{6uqR zQMMBy@A*OAWn{Z(z?_q_b+e#pIhqga6l;GaC>GuDFs$KR^dIhx((v96VpLK_g*`>H zLC^??kC}aP;c^>z>oYs|i5pCE(dQK9*7)1A#B;OxN$8Gorw81*J<^9Mf6sUbUOYc4 zJW5Fq&P&^|Un-(rZfSq`eKg4Mr>enzB4rdG__}ts{xqPnk;&ury-s%O6wA@W?BWL< zmoqQV=Ms@mH8@1b4V%i&fs3z*rkmiKx3lKR*mm7cK{Y@+*z6LB#k?+DbUS2C+<^}- z%>ILkY98U{YkM}_k@ZO|2WNv9ClR+;!ovVdr$yf~pJsrb@I`0jyrT0yz^E+1xwSs8 zpVa8g9k+alD`T}^O*K)Nd;LP#hcSoaue7rs;F_879CS!8e$$N0u)STxLD^W!P7VjM z9mJCf7`@sMJgPVPAPNAIgC=W;2 zn%%o<#h^jGYBXwXAZ6rC^Z@%NH*z+&*f9N_c7Ow5Tw~=n^oY>4*NCi(v-yBXQM90{ zMX8rVXyItFhg}TJOg5L!S?#3P zioUmm&sCTyS^R&)dl4X$tweZBRsS;)P#-D&YXV;D=qN;8fb0H=zLW#pWI7 zu(O%vqV=3nMw-yr+fK1SbSPPWNOq<@+B4Vtj4NHqx6}(Ny9~HFSx{ND7*f4bBnz^N zz%1krDeDcbylPuMxqd}8VR=Mw^1mf%0RUxN2X0f~OL?#iw5%2vEUd_xaaRL&AV8j2 z!8^hN-v(l3p^a8gid>|tg4I!CIctK(Ynv&ri+!7({MjeM>Jb1WQg9byj8(G8UXI_M z_SB={G5cWbn}%_>Ts4vgiE()CsG)9KeuciJ$_ zsENWymoARB@xpT``%_Dh^gt5WF9FD;DHvmmt{2>lx|?W<_>%UZizBi>S(p4^G5s~( zo+ehUkK8~BPf<;=Sww%ERlz-~Gu@pj$&L5dE^otO)oiffDNfhje*jzDn+f3^8C~g%)GfI3Z;RpFo?)J0f)K$9G~YLXmDj z?o}dldaGaJQzIv(YI-XY=v6DQpCACZ^d;vF(hwS+^zfDrcgj#sCbamt_GDhtG#JD5 zw>&S(YxVKkee(|lZI+;wA+bwQyshe!<`pX}hY7>=e8ZqqiZ%!B%%_yM^$?!|#w1-e zBfNqre^%H#RPZ0Dq&AW-;46^1HiK6V5VRDnrit{MSFXeLeq`xGtGH4I)99xg#((N> z`0tKJ{t9JMP_9ZL?2G~*iPv*@e(sjIr?D^7(T_4$Y|8B0zK<}|u7^`*5=rgN-_h*d zm-^&yg!0EVipxvtGvlu3Jvcd@)z5>@2VoSJd?x^Eb`ADK*-QCnP}n(vjB}fnq;-a6 z_1xCRE_pQegXrkgrR{}DrpHpo-3;c7Et{XoAD#&r%`8Y3e5$XYaZM{VzmtwmjPwnV zw%%wW=jCkyOuj!n!CBuLVKR{jImLYjiXF)jpLrM|)e?_?l!|!2R z6?urIO;`_46tr*UZV$YebP-lG$lNM&Fh9p62|*@eOJ$HvnxHVPJ^h$swiH|_{x{Xx z+5DuZc)zUjpjE(H=IQ8<#bna-in~c&Ft5z1>+XlXnZQkt95>6jwh}`!TQ_RSh48HZH-TM7}oQYg@!(S)N#8!I870u@Odab<~mkp*eT9l%l z@ET%eKsv;GTo-}P{Ug_i0c*bl$)mgsr4B9f3qb~N0yM#o6+PWGU$eY>tDs|LY8H@K zLWO_2;>whToM0~AtuQoCGc=q#C~_@H7NBy1fEPsCK3#7g&0> zfl+^{dJ>Gj7MuNEItsgy6F>McnujD%D!qg3l+*_|iy7vBey7NQ! z#K(#2U@*Mp@KLuxywz z6mKgSc5w}GK32gpTi8XJ698>|>1p|tS~`FO@YF=}^2rX>y=4yO4Ato@h9&jcakS3GN2G3pr}UZHSkiKCMVy?{?ci9z6*@e5?UP&pB${{Y z8Fpk)X%8x|Sxrd<24(;=C0cm4v1Jx)9bkoMG*SyX`yN#t;14}Dj;Q_WJ)%0mXc$tz zH&YH6g(n z1*<6EljCJ0a}w{B_u84e9Z$EriFn7J)m46geX0`H9|VW#BSRbWC6jjTn|p&Z@|#8G zb*5jLYn08I$)pv=AVBBIq+XwHPe7iC)T~rb$g>0 zsIGgnv(qgA1m3)R8-@>y>IEK(nSB8mWO+e6adig?Ar}p_Z`iKhit6Pg`Iq(%;u8FJ zN!cD%x7TV7=@4LRJrZN8+_bRgs~()v1`nAf%CQ4-ft82jh|PF}KaF0>Hr331NZ-f~ zNcIb!N2vw7eJuxlw4#2C?Rjv2*v579g6N@W+cZW&ywY?uFnf^c1=5Z*4}_cilg`5R z>WSQjIqBu#c0m`%JjZ-0UuRJI5$q$EJ)uBvwf;-Mlv7GtYKDo)A1RCkD{OVlXV+*F zhv*h*WpOtsH*8$sgX9tOFIP`nKovCyKy&p|w1K%*Xm3N89b!CUXz-~GCD_+kR3-Zx z$SiDeO;%tVBKSopo8G>Q~fl=*I6ve*rxoBy|@tt%l zx>1P*V>rgdB~cE|K03iQMj+NV=se%8rI|iT>z^q&@i&|ADZ_{1^*;G%x$LB;)dg&a zAR%hj)MWpXok$>dFJ3_o5 zQ6b3~X%x;y6N; z2S*4kR}!fIt5nbW_Jzi*IDzQcFZbf&p7~VygL8W;^P?Db;|&#p#;6Im;?0X2#j%H1 z*oj!E7`Aw7k~e&rPnGu{tZ~~kGgw0ftdT)Fdh(y=$suH>c9?*>^7H$fY=if)-+pb0 zYa1=vGSK55q8Co#^tRi#L#2 z=P=1`enjzpIJk!9vCud9(YQ=++kfsoBlK};xwroFGCrc<&)KZK;R#ZBpNEA?^Hc zUfOZ+Q6!moEBtv;1~|lj$58BHKZ*0r_PylWpn!$~k0`6=hif;GKk-+GfxqC!ie9yn z@^|M*zAX4Mxd?sKSkgxk}fRuswtezWKV0A``gc+}^AJ}yS7+rc{H zzxB2lQb?=C2|u|gq4S*qdiLac)xy9beF~JjATRT?1Uh_Na^hF z=J-*8gimH{gAXGNe4V@QKG{81Y_GMQ8*B$#Cc-1yztT+NmvjkE{pJp(UZo;_ai3nV zE)az%O44gqoz)FG)o467N~?nvJT=TA`z*aoQdik_FmB%00XGwMn$-BdZZ7vxK#SzK zSL3zrZRyBFyG)E=2g^$_ZXO>kS*_54n2c+Oz8_)lHGY>)v&85smN(4^?ihgBN6l|VJl1+H5u@6 zJ34&5nNd?8M%h&TFA_~?KXEmYCYUe>HM{pf-}YmKS>EvImsl<-BnJ^7m*p@ORp%Od zQ>uBkZ#`|I+kXffe+lCUmBxL1HvJ|lTEI##Q_;NGahx;=1RjxQ>7xkbf`E}(LsORP#Oym%nWxbQ}RLYrQoz^|S zbHlj*)C7qTaMv7vdW5BoL>r>2E7E1KZhy`kz5g@4hzYk6-d3-k%bvV>$$#*T(2T%~ zKv-AWMXIrNR6djGVvkL3tS;+?E_))JTV`7Jl+CT5M~RKTwHR!Kh2#V1;|E>o+6<-Ds|QM*qzDz~~OE(3rp;9lkt=+}}#3yVS6b%KC^lco)smpbtG|3xJrEc&I%%7WG$K zzmNGp7J$#HV4ruR2zdv?voSD-n*;u(ZLUg;ujm@PN9T8 zweq{%|3}lA2P9$t|9@L8>uXBQ3d@7arZr1+rFd|xwK6}Ythv%sA+>Vl1)it~l^Whw zR$8J|wyex6XWpVBk|&lang{{{Dk_&EAnK2Qe*Xji@_N5s&*$U8oY4msHP=gN=VbT! zJ*V1c)vk&Fn$844R2P}tgKsz6(01Ap^j9tmbGUn`{%QybETbxqAxqa?rXM0;h~LGc zi7OFN4UJcn4B9AUx2__K(gw4&UgVFMv*F>u4Z7| zqcCbW1Ipn)390*U5Mk$-0q~J_no9RcwG#$~Q5^}a3+LJP{B|x@Htp?YFTa#mWBI7+ z!iLOk{+I>X5k!jr#VPO9(VDEM#ddI)f+A-{oaIl2b9eH=M=cyk0C$7oX94}Pd6Dq@ z5L9H}rd%)hAU@08Et83@#OT7> zNo=#%5(U9CE2}F+Md!$HS37$iw3&|wW+X^%rO>4J^Pt$BuF>%NSJdDyyjRg(S+z|w z9t2!pJ{78jfbEJC);@@UK4ZG^s~;r5fVHO3GI0UYrS1u^xNXQq0WNW#ow6tfiNfgV z0?Tp(YhD3r5?dHjnu1+gLl8s%n#X;Sr1&mmHJ0v6+{(UEIoILC5#cjmxT`D71kG zTDf_-bF+Zx?f5foGI5n2YrLvsso1ueboVf*sw&#=Xku)QJlbn2vb9FU*|jn!I^jS% z2EwNf@=)PKiQsLtl*Ax?A`!(NFrg26+?6@A)jy%xCr)Yy-xi!}fM~gbp$~XXwH^p0 zoEDZb znUtY(fB*i2;No!0iGCxYguW~6W}JF9Vg**HTgQbM~V7TfrWs1M>Du(4=<`e|K!+*BNd{j$rR zUb>|}a$cDw)=AGW@6{xwR~J=90Kj%c>xfVK()d%`%(+MW!V~k z;85~!H2Nom7mgqIcJ^rvv-jYhZ)>+{}&Po)}Y(*E3dA)`sT~fszYS{AVP#?_J>Q^#C(YgJ#3_g*b0@ zk1Ja^c;lFt16?3(sIebOsZTH`4KHsb4m}`(KaHwA9Q)oTcA6pQqP$DVOiOL67Pj|( zw)uv)iRHn1XJknTcsc;k*)YF=Q?d5^74xHjv^%(f-{&sx#@fjriRMME}}H5t1&@Yk3r2Y=N;6s z$NsjlK!iG3Wt7G0LhB3sE*POoL;~_D`=;~NS|;G0QRRB!>cz*a0Vm?&fjRuW9*M4h zZO3MzjrqMUdfC&d_o9&-Iov=LyV?x1{&sPcC;742UtLCX?>)ec`X{>xY%EdOzhj)0 zR(Id*2l^bln0E|o96QRrbC7@iK<`p%e-=ogAXl4HgSB>l3 z$%NqtdVi)()Gr}uSlY_dH)n=fYoRv5&&SXv zIC2}F?T-MLg_R`H6T!c`6}AQzr;#={2L?w4H#>R;tC;`w zCi7)tNI2WT=*)8e&n*tBX!CAX%Kv>Zipv+hsuvxtG*#v~Bl;&gh*)0kmBH2KvtQhd z#qsZ!hVC_-EYgkq;$t-%cp=t~HRgIbJ1FtKJcZ;nArPBAU07RUq~yy#16sT)BXu^p z=5ZUUj!!O6yGZ}Cf{7nlXpf!2D=XtRb&-}SD|?PAjRE`S8cnYy85}=XVVY+9&$6n^ zC6Qhi}dONHEQO1 z8UDanSqx5W%2|=cMts>RnSdk_6dv`)N~GF8-Y#aO1M=S7B>H2Qe~!KwZf0kUgKyf%CGpca|@{4j+^ z!v$pqOe#b~amLSHszVfAAScPtkOe8z^rm!8Jgc;PR9<5$!Y`s8h1QHuA6YDpY*MS` zZ;gY^t3}ma=5SElD$O0LCkdxjebo2VB=o(5g}adEt9H4XVl$4yK3UhAL{Rs^EJKF|~M$yvve%9G}!!Z`7r{9+^P2O+J8FS&F)%1R($mSz`S zv3iM9f_DHNY>9Rq!+qH+B~NwPA;|Ny`Y4F8bI^8MFT|aH1rv2Uz@T*@+p?SKH8s2S zyx#F1CK{Ja{2~IG5>`+{m-C|z!~OJdmA2gUKG9*2GI3LAP5~hMnZyhh&^R5EU4V90 z2Bqy5bknW~9B-IddBMA$wO9A$>|#PoMEG}Uxm}@Mk9Rf45}XHUSH$Iz(PEJ1b-gHw z6wZoK4OiN}!exn*YIFRzgie+ExkK2YdSy|}?RXX!z%GtI(^-?Hv7AHIs2I*gXa}Hm>%xB&`nXi2xFx{lv9vI%ZCN zkB*8ADY>gcKEFAt^VxJF;IEhn(+yc}&RhDxD*hbIsVLUzv%%BEA^C*v)y0=xr#6Gs zH?OyOf^=1)K8THIp2|J2@|>3PL)%1u&yOf?*kN^kwF-R-`r8HX zocwxSy#uWtd?MNeVX^9rg&uzMqU4Ip?33s-W-WD}&YfJ%l zxwIOa|463Fm#^*C#-KKqlXdi3MYdw)ke4i%a4GH-fK<0PG5 zl8dYeYtFEg=)cX@RlmQh3}wf|^?!bM=wOm+XC?J-`*gWm-71s%Td$OH^xocsNl|;r*3=`!za@d>!|~IC4&$`p!)OU$QGduIAPc%8o%T` zgT#wzZx>!E=Ztj8cKo;@-cArOz;WpDN`|DUPQ(6JjCV=GD0m?Qq)&_vDqeD7c~`xI z@j5*sVgLjryCD9`jR~tB@1N}yp5uNmd1E)GFWDPJOP}I$`Hb%;+P>=9A$?_SpGsZO zasDxyLKENBV?N}S#!h3(BirH>Fy)W!QH%?bHCM6s{UT8n&I4I}q{(lGkxF~slbH1f z2ujes94r5%Q^bjPJ-&7Wf@1~EK78Jt9AvKOke{6QP@Sy2$7pKmIfaW{bo$Fl(;7#Eqh` zW8&XABsE@xIE9p3yDH~?y;otNz9JaPwfAx)@ z$a-tg*3_A0_Hm5=pkdB1K-ml$d032g@gc=Jx5=xUt$CMu+r#DwwYAO#(0zzw5^ zAX#lR@$lh~E_jWsoLf9GPv7Rp(e=-o3C%f&x1iiLUwz`_i)*&PV1MVS^aS!eFM`Vd z{M2k4etEC_e)n8Tm1X*(VcAf{?lNVWvat!nYbPO$oeL9t7xl(u48LqceP^YA7CVyF z%o>;J*D1$;@}JHPw(x=7CLM6rd=9)kfByY=_Wb&Bn=^G^7~^=kuB3!NmJ|m7oaxG` zH&;I@)kHz-Wb&cI)MPvPSKTa_xF%r{2hrA-pEh?#58Hcaylw(MFTkBK!HXUP zUzMLXQzeT&r)R?M8JJk!>bF?Kc=6h5N}6RbhZ}Z#jS6SG3W5K1Og(bW;Zn!rPxj+M zmFY0|9MQR35A*4#QX>Xo+54X@ZaT!=LN*$032(v+e;o_2R_7O-Nxaj;&C#x3+zVWU zK5zdq_-~R+GQeTbX2PpN$&Kj3e|l3t1Hie!y7qI+d2()Di)eC_f>vy--*6}KvNzUa zAAMi_Iq9G^GWJ2#lJPdss7vOEv;>Y{_8ktnEA#RfaZZRci8QhUyf_u6r^*rzMFIhzaC9acZ|a|EYQE+s=Vh+w$*l9 zLi~WJ7BkGlvFM~dmM`D9@X&Zye`i;UO$?4&Ed7r>?AcOQ1DztZX(PG`r zdZM@}0VduUuX^AafLVbY8MOWj78EbDI)l%Rq6xHO@sPW20pzby9A}&YfFX%W+(@vO z?7l8LmFg_);6f|)%30+4Dp$d;ak~T` zKMT=0*efKXd{1)aM&gBV=kdrRK2Fj2Ty1Q%YMN{nHf`DWnByO@`3$rvwPMYVdMkre zLb+gBF+R(4o8KLv(KR>d-{xpoY91Q(hdI^_scvKaiFZ=!vPYLJ=>IuEdY`7&RO-PX zxkVefehV@3ZcN zQq4GthM&P^8iH(!p)Gb7Z6frtr>^h-^wbxwi@f5V`hyR}Tmgo(RQ9PlpRxVre+SEH zoq9se+DxV=+Fa{AAiRj4wOH;m<@leEyIa&!m9-7|9(!mMRHx=d&0xNsvbu9;0OT&t zb13Pa9}VKJ$0yJ8_r}|$H4+EP60Z~h2+MAfi^`@ZHQjK+e|yx#q}j6dowWnXXoP=> zP*gGqGfgIU0|sxFtX^bCxU&n_wllJiS^~ z7H<;I*=cX)w$Y5`wwjYXq$idNoF8nwE1m}Am{UXv=D#u;FmO_HaiLvU0 zog=yg(^O@i=BD^qQq=RuO#iKTVqp=aD3-Ey)Xz|yA-t0h{9bChGrtO|VNMGIKUb3t z&L7uaG{rXE2{B3O7b+9aI=q7&S)l96>}(#?$7US&Ok7U7rL@awbAgI!<35cI&MM|- zy8)BXsA_~+{NJl~MHw$P)_nluS8mKt*K?AeYR@{KS5z5z;r&6;ojk zE|zn`H;Pv=$n7-)BY=?bM}3O^2H0MT>P5-EK=VKa!-HAoIxwC?{{=i2-xjlUXc2EV zzL@y>V%B8*WVWrpe+~qMTJJtibcGZ2nM()$At5mc_ke%`ST?sk3R(7Xwak9?mbh;YjmRN6Mz?CZN@ zhbl!~%BusTa_~}kOk2})Z8wT)y-a^h_5W#I7(tlOOPk58WWb+oYJ3rT(!8zhPh~87 z6})2nQETAM#w#E{#gXdNsgzjgd`u-#yK23yq&QN;&>|c>(V}NBb1Lcn+If5Ee zbMsDl9YVM!n9Z6mG$$MNJLE@~Y=E8~y)!;W_caK^L356%69+Mc*RuDA)9yJP;Yv5m&Zb{UGvhk?N#tAj>O zO2>pdN^+;l2~hb5d7xGIE&I4>LmKrIJ1YHDfVx8X%^wz_9xE2pd4TBE#~`yBugu_M z0MjP^t5R?YRNsKyXr(&ykJQh#=v~4Fwp+3tZx$~M=D-l}Kgdxjj|*xN`xs5SS#>>2 z_KHcm8j?cl^CB`b{fs>lF0(c%N0=*~i?r!qEmn?cx*ep1|JYqeKT5|Z(Sq_kXKBk5 zr6RD5wlhRi>j)mq=_zAS`J>p`zvXUDpp43{A`gb3=diR}(@cVE%z;eq-bvtonot2=(*S-Uqvh2R|FSq~Y_ z;Zs&MeVR3kG{gV?KIdu%fh==&^KV4iJzaZj;%p|V%D~G82DEQ-w=@3gyR&#R_Xpil z8~8&IZ}!?$*ueGRgmj16@c-kM@glm*p1W9cT|A)9g>lATQg%}69BhW)!)ADrEo*qI z4eb_8a9&AS;rg$AsLkFa{9yk3*&@=RT9sGExUd5XZt^yzYC>GXZX9Ix%(oohe5Tk^ zx1BW#QE`f2R;^@Io6|ItOSolPEn9UX+w%9PpNM&HnQlnc%WFxmNC2<%4(0X08m>6L ztgXLlujY6xrR*bpz!#3%zEoNw2?nMcj=8ypJ;GldwCuO**AWifA6#6WNvipEu^AD^ z&82c%ABq=&i?bb!5Ioep8E~93$tL;pS@FO>8()`;qRw(P4APLa1g7!rE6q}+f&xbOS83ho0ObhCnM}v;K~823q^$d zKM>5M${+jl2zhX;Eorb+8F63vd+)l!#ZlA;Mi*j&E+Vlb2YpQcB2-A+=7FA9HLBGm8 zpGO{CnkR#jlD*(k@o84%a@XZH`jc}Gft?ILM4xAyaG4{;@ehk4l^x@~x2U{Medsk_ zzm>!aB$weUoQ}&`%RN>8i>!bDZ4z9KKBURy?Z`8YGz%~n zTI99x({2usIF!xHuBqJhxJk2d-mCz^gapJ^1g^iJ{^;&fn_QHKN_x&OlKL#@kc29U z54mB$4Fe*gf+T_--e68-Y$Ip>)bcwtG}Lhv;Ck19qvn{j#BA2fDu1$!R89<*Nhno` zTTuq@OIs_91#j0zxMm@!b-Ch!K~WQ<8%Ny?96&RJLolajYt1Ce^W*&bmraU%wbkD(0LKcFQu+Y)k}Of3z2It z%AL+V8RGeFz`u1{5?fwfq&yInPU3v~-oS*jRquMZQdh?Ey- zvRKcItfH>a0fTk42h6ckZ|Jo2Zvd1sesmYFziYj`$gm~>ay_mKm}_(Aok;p2s)wG; zjT$u9Pmqfvx}j$+tPeF5=O9H5V&ooEj_Sj&J@Hcwnmm90bHeH3&@>{OA%$DNK%16TB8( zW{u;XA-;1g*oex_N)#UEu1)pxbO{Q)Nsz2=Z0>k@D@58@d%YsErlH^>lE7y=EjHznRl9 zsKPGh9ShLN-ri_RzL13bBIta8beP{1V7^kvBoS8`XWZuzux31_){l`^U^-kRXoyug z_{TaaQsV#C$1?^ke?88&h!%T%b>e=X;M5x9ifdOP4co=MAzKJHC)MU0vFo$U&#x`)@quN5F0J6x$V3n7lXHdU(6!~sGwtwK7v4)^Krqt@@(jJvtNAI}6< zlE*zvwHjhB3pxGnfL-Vsrfb+2AKGZf)o9#Yce~@q=S-55kA~pZx48vMUBO(H z0}S3!1Vpdh%kv|=+E*cH#x^9br5%Yktx=n8Gdp6PY>Hcta_HR@pVXIEGUTQ>7UEh_ z6E~%UQV^;>uwF;z$%GJGT^=XJnzs#ysz#%Ze#DP;y}R+T=k9E&s?=|URN^(?AbY|P zGYJJ63}8BiQk;HzZW~(T7ZO}%Gx8700wWsnvs{69Fgh$zma55T)jP2>idhLFsfF*7 zxFC$DF4pcg)C;~{$KEmaNjr+a^$N4gsF0F%_;ivoGcq7tJ3W=c_(TXQNxlS5{>c(Z zUS2qd%%qK8L3ecn2V3x+Uo!j_tA+1uG{eg4#}#Fgx=jYjPWbsVKUsn-B2=#=6wmCW zRDpXYb8&yYr+MS9q6$RS_P!@m2XVbWw)qDJj%l?3CdzVdM8cmGhpgEmgV#C&IKmw^ zF#o?wDr(E}3M{JhPVb<77W4JUIT0`BtK2LSTcUq3R-PNZWv;XGw;Odz`f0K{P63p82Yi5i;N2 zQAVbvyGyIf==PT&^P*YO7aDD}F~nl9MQs-U(JINDKa??Yl0<8@E?)f;2aC%Sq4sWx zcX>VGj4Te!e4N8vT?QK%TmWd6#FTZ#2$DnOQm%P^R`%^8JmgMnB**;``SW;@rspei zR-|daznx~i}-x0z2--tVBC zycmOc;6pZ>c_u9zT%#L04g6DjVv&Sca|RfQj`c>DKHoxp$X6a#y=I5p!xhlg8NDTS-6x`7-?p_oK$kHT*9?4tdg_x*gxwfTt#LJ9CgLW4t@Q2PnSJ6@(; zU&5Qmm)_BaZL3=iJ>m!chGoa6oky)!pOl73m)s}AWd)j0JF_sELIBPsOHAJDGawad zgH8F{3QP{S=0~CLyQ8Vu%c!8lmdJC@OchUTy`WjiiQ|TD#aE_7XqFMz_ z#`g+yPuhT*v_ty}_R%jGwn~`33;3?;+;abl+9F!|sb0_%%R%3;P?9oL+QURT4VJxA zmPX66iV%pnhf-b~ifp=k*b>egD8KnwiIfCgp2JLf;|vB< zOS))P_y~W8z}eczKw_2K5}{%{Qu>E;5>{Wtqau1{EetV#pc*>)(F9P54=1pg)gn+n=H)7TrVMfz-bxEfgbtlAB)E z1@@R$_>$`maHX3Meslq=!+4L3RTp2$UfxvMpet{5olU=>=ZpkhrdiJ=NPQY~fvb;C zO5gt*zoVrB>!u#|iDu~i&(CRB)l}|&Vi|6 z{4$eLR=%^W#;?e2u2@~)O888xZwqD}m-EJc^4AW*pPZ8O=1#f7d9o4aJpP-llc|AT zW6XaN3CD~WO4@A=lwrl7cstC}8AkDhMVWcF{UHQi*j`quo4#XKc_AR)ax|b!=wGq) z%Dhv!VYvZABz(yTM;Ud;jL-6`R@B?VTuetEFR03fH@QMKA_}J}W;L-EpMPFj{&^#) zds~*RWhfk{9(J2bUe@ug_P@UIgO#11^d+hF$9rq7UI{bjSQh6$P+FatKb>vu_C|?x z;-e3Asub!N|Ag3&fFJSJhZBG+Wz@BWvZ}k<--eJBWXgkiTFUo?XExfGSk<05@EbjHkHrT-0mO#G<>y0xhs;o^XV3^mk|xSU*=l+&sY6iJpjS4$7FM_FO>t6 z1m%|oEGeFe4XSuz30_;5=i;gQ{tVU9J9~1g=d)j|JE!4hwVo3n2G5iuy~RYp$tK=n z%Kt*gaN8B*z8a(#r7Uv&YX!PiUcFy#b4khN7*$<}Tw$Hx@&@JjmYcF0c7ep{S$mR=>)R-P?3u*&JCw09FS}NgO+YVG$$;?f?mgo1TH4Nt;JnGRGXu-1NE;6P(O%T5 z8MC{1ALZ61B-wQ?1rOkJOg;yL1vZB& z4*pnR`5O8Txt?T)goz++Vf=2RsL|3Z&I-(77o@8;80piE{dLnm1}Bq)X^r*LrK}l#kJw7W!_zn2T?Pa`7Y8Uk{{v z2Pa%Mk@wGTtHkp&^~M@OJ_r`zzOMcz4ikU-b7LHwkgtsq$TPhu__fH5MIF{R%a#(M zP#lxaf%hc2x=dMP<@yv)D$LAIsl8ueik~(}Ntwj4ws|ubotH+#WX=Qm&hLlKc;?IJ z@LIkYUD=)Z>4p(8I^#5Q(R^e#r*OcxMbUi$lud6)80h;~-Q9o{`DJ59NBkpQ(PL-D z^$D(4xncZao_!_|+1SZ7pFi|I0VX(w?7fKO|3Yx=tWn0J9`N5X%|GtkL&QsD>LEc$ zd5PAL@no`z)jre&1%a&JIeE;5)&LS%%77AGBb z!yx9LbCaKu%DlgJ*F}K#36AeUAFac^5tMv3c*3`enqW4O>)^6r?^C+v175+-4l=iQ z(eP_aQnXky4*zd!Lk|M!*S30MD&fuk2gx>!nce08P#Sp_W|pREejBkO_$VCRX?XN$ z-x|A}X|ypfaKGx|6Gl<)e@hWBxGUNt7mnF&YdQESf-Rc_xP3fqL;=Q{M|@oAdK&Ng zCWARDKQWjBG-3nTU)3GyZW-YbA=;+>a_}YH(W@v(5Y$HWQK&WR(~yi~D6jz`R5r2-bpqY}(uMZ`=w(mt<(}SkP7BF?sTN z7LByhhFRvMP+*z?(s0_zuKZ>LXpaTSn7hbT8ckLjP#fW1iVox=2P%qG2m$%NEC_kT zIcfWjT6?qWD*QiVRs`pf+kNb5~m) z8+s);zuV;FipMq2+F6Df9Br+0mTGTh^qtM5G1zC{ZL)d0IM18Si1k&@ul&;n?BwfT zG}#sG0V%3*BIyUK+=dw5J3Sd~+zrV|GRb=|V6a1*0clk3HUQlzM=aT}yicj3b~L*X z5jCp2lG-PDZwqA2oFhV<8C$3|0Z~#tQS<^}^Coyw8zu}NVX2w`!`Hj2c98+7Iyl;2 z+`o5S`QzTov4-A^%Er&GM@R}6r{#ttZUj1MB)@XwmhF=VyCfIulU>FAISve;K@s+8 z{N$5hHg4fU!bt7hiSF3S4ez{`3Z9125Cvb2p#%#rybm%B*w6{}C?ib^%4ab4wQ8;< z^aagb%?}czp{DGppOc4g8q=5;T6L0hHDiGiX2N~kU=hE)-L13C#I}e%)91l;|ES8NIg)R4fBmWIa zT31M+Jp~mw-Bt7P9QhX##0ElL?|b@pQG#jHimoN%eEJA24g4gQp!ig2EPtmQRF=@V z8fq1jFw>{e9wn*9$djSf&c?3zL~BO3BB(&hOHL-nR|zMVnV`0o>}p(Bb2J#7$Yk{WO^h28Bi+1h&p<;{g)RE)uvoGgTb*qOyPezJR>gCvhUF4>;a-vC~^07bM|+` zH|;9n)6<-=8VgJkO*j3^Yv#mE@!=wh$&LA>-+2@=A1=itB-h-V2v+DD{A!XQMa*lr z0^69h#F}{_-Hn;~wA#g2tyn=dUWV^G30Nq%39G%+S77w9P-GImG6qk0{uSLTA54$_ zi303e-fP#gruD|gQ%UDw`WeCmw`#=r2>Gm(KnUStsJUxGZO=8z`at9Vx>kP$pI^y$ z*8&!wDu*}KJvAF2LF$3Zf|peW1FJE@fk?YE(rG#Cit5hfc;<4Ja!EqB9TeHujAiCm z!h(;7P+g{nPoj-P`seNZGIo6YYUa%WNO2A9f&m#Cap&zBZ8LGC5GhwWxMucH{X4t% z`h+?}Qj4-IEkywe2Tq+Z#od^0OV#yCR3uO7Gnt9##kj7QC*n!2=JVIe|8FEVOx%(W zXaOHwBgk5TBB@UEW<&RfhP}N#Z6WJn?8`l!8BE;Jon^Q)QHt@|F%%$T5Iv<)y|@L_tF&B` zANgQWEjFlFum2WEal?~pw~+O)7)6+6WL@H60Xr~$svk114{s&hU?i~e^4jl59e=XP z3?u=vGFB?Zti}gMRjt(#sSJeG=NwIpW8lo6}yYbhLw zxE{TMN|MdhT^Y{urVI$XtU)Aa`f*ijRzmVyFC1DhZoawT6bH4E_}fE$4koaxG~Wac z)zH{j-uT0n1|7X|<=FOh-7IwfvgB;cU|*_{-i{5)3^xv*U)FzU)sc}DeT7@6&|ev+ z(w&V%eWNBS}Yj;u2s@8gmuXZA0Xsioh>u6{Aozp4|$aa6s(V2AsfJ*Vzz zKL07pBzirEpH?dMFEzBPT)#&Lkd6lmq;GC~w2xW%-2HT!FHT~>m#Aav@(Q-Bk9H@Y zbCSriyOGfO6V@s3NDu5O=tJ{L+m8mtr0p~v&)d@3qclMmqt2Nyi%c!t80&Lz3xM4{ zFiN=EO1d$uu%cf^NN-f4Z#8in_Zw4j>W39csSWhSShFG6~{4tcrFsBxdKQa?S~GJhWO{ zYy>dA%d(tLDLGQRzSja4;LnE6%+Y-Y?Y{C=cfX5g>_k^hEjGxim;B06{U_aLCYaT@ z+KvvviN!`2S1W&)YI#Atw#dqVo&SY?nSj6g^={rHnw^LewiJj-qn+lrEXNop3$31* zr$6vAN=2J%G7N$P0R7vDN?f4uf7#1Bwv1k&b~ORmJ?-#Yxzr|oJJ5BNfPz$bKm&Up z4;cNPd>ahU))a@}&n!QP+J?@qj;HXOl|rBFhYM_5xBI#Ku&)=o*c&JgiKB zoZ5zJ}Lk5te<7x*-lZq{{@t!`8YexlD_c$hy=c1=VLBqRgWo<|RO}uI|u3 z7MJ&q?#xBPo-=Ig6^{`~AA{P{1CIiNlh5YmA(F+6Nh|ocCOtT{kxA7fq0CE$9z=yt zwmtFDRf}@N&Jc2&_xM8R)q;q>ec*Bi{Rz7f2+U>6F`pUqONh=Zz*=7vcb2E=eQG+a zyjk%Cml;CM*lFB`e^*NeI&V~SaVphGJK-i9%ePLx?v7uIfGNyYr>aUfVq#kt8RXC% zE6ExrTq#hx!Z*GGoYps^TaUbUUO6e9iad%?VrFSyNj6K6Sgw=*g3ZyALq(;vnd<2T$vN%*0_g)NthpJLVgtT(@WchTs%N$ac$Fd*-()%!sr^y-K30jf@+Eci^O zzIR~k7C|D+z|uHmj?m-CwrS+$>r=U*Fv&Jec&f|5L8v|B1W1 zT}&s*g?l3Xr6WP5W#F@i| z_!8M^gMGqx^=Mb2iCce*#Y7LX9hbQ8dFq8 z5sudLJO@KwFgGpyA~GQUJ9D5a&z}~(3XfxSyHA!@dDSdM?2tbQm2YuB7SVE^_0iin zW_36GW*GHymZNqdFTefU$F-l1Z%lpZNs>|mnDT{S->h1OqG#bu4yR*J-i|%1xuv}G zm#DS1Ac-`{lU%pXNoe$8Oor$&V8ufkKUx;jB{M%IwWHqPH>lt~GP!C?=m*A^!NEM7 zOkhIN$^W69wuI|ub1WE|&+=y0hsU(7DFH{>^WARsu>`rHyT3DisAj_TOqY#F7y=}P zn$IkCHQ{P>n8$fkM-Xmw`8l-h4>{D5K=C8%Ht%`S+&DC$eheY#`fNp`z~Eh^BEj&p zp>f@r$)}oeD|Cx8--i&FxQ=}t=?P@cz3xL<;APE3?|w>^ zZho|Dz^F~TG+fAZWG}0Wdp~Q43R!zciA(@Qik-HLZ?{w>_vbMOc)58gE%nR*Ly(hm*VuYP zjb_@9Nsd9pQ77)Dor0=O)Zw~LK%Q}K$ul#}4oTv7w5A-C zKa}RSDjC_NYByE4b$rLNH@mXC|ne-VK5FeI!9p!DRk4=!8Iwc0Io?z|8a6wLSs2z*rTDCu)X}4AR-PlWzUw0k1RxpAb2?-KSBtdbZ2Rh=5`fN}8iFBF1R+l0mb7D22{> z`ZCqQ;A;f!f2icq+Q&6(CtzM7T|E=opXNo&7m+qIJ4!YWlV?aeiwtqjrki_4m!sOp|og6ONo8wkf>BFy}Ip`TluWi(1<;Hv| zPLPIxwBEjO6cnV7w$|0q9G^7%w#|-76BQQ<5@Ih=>#JC06UN?c3K})R5g2SsgpI`y z8Et`!Eo{X2(SlW7L8-snQ&5aN)krx-7W6mima52Az(8)B#(TUfdTWVb2iU zFxNa(C8)7IW#~+{a|pG~5-^6Tdt3BIDvHc;C&(uFM+RHiR%lh}Pgi!-FrMS8_`l&cF_0G9OQw<3)+>PLb#c0gr zFKwk30OfoZYv6ylc>h9Pbw?H`sSrCIY+2=}Z+By05FMQQb?E5U*V%3=b3?=%!d`TV>Vx@h!YoZC&@dmhz zCg4UPV*6~Tj}r!QbzhVj=QLN8o<8v4D3)o#Jf^(3GJ3aV5qo4a^9m!(IAY+S+6qiX&W?GN5pk7!K zYQf?h+E_DYglzO)U=9d#{bE0lznAzh4)$Y&x3MdQ1Bvy?$Kq8Wu3JH9%_x2#$0Ecz zS-Z^Qwq+Bx=g%}A**}E7sL{q+_KSa9dPrexz82dtIA(bL4})u5$M1u~;B7oZo5?Oy zI%-EIx5)G%)BM4)-@V1JxBfm#9L)L)bX}f?TdgVlUhPEfNd>iM0*}Ly+2Y8CGvIyT-DIMn4Z@r=+{~I(^vm)=Z-(>uM7Qof97o&!yn+#aS)~o+y zZozha@78h_Jr%WGY@G^!pmsj%ifK+bK=N;U_k(v%@QWRSR+^Fbiq@Ns zR71R9bG1V2974~;Hmge%n1@Y#c+}q^c&sOon%GG(w$89B&PjJ%d48Ko3h(`uYw~B^ ztwR48(K2T%?H&a5(je|f?q-62SIy&;V-BQzFIZo&PPj8vKTNn4OtF}JjWyl348nnG z+Fzv5jVYYC1|C80K@s=_Eb(dlXhF50u%s%Ov#)#77CXPplOZ6E#_^6NYh5Y^p7$>p z`XnVC0xmOcQokQoTCLk%!5k>gQuvs_^f81Xkev-E$ydXHDo7rD;5{vmQrD(%LH?gj zRZ*d;=k4{}CV-tHb#Hgl#*FZO!A9c?CI1CwuF3%SiDFqYHj=$C7I2L~>>n!M>D5BE zt+1%y)-p&`+UGdQ`BTM~4R^*I;?hbLJ@(R75frD)W>F1QbL(fQW)1 z{`mg!`C267=L_u za&7Zk%?M8FT5q?;Qy9jWQ_RX%{-3?CLZgiyh}A{|MSHb%)I!2n4-Uec^{?{^`JBnb2E4Bxs4q^~A@*-K z3CtpapO5=bc7qG(f^2DyUT}-}H4&Ld#FnV82~-4azgN%H-%vsnkJ(rz`^U}0x^=ec z&QDaIy<}(gNo$O&6Er-vij@wH3gGJ~qmdSM=OscM?>?$j_o}9?^|(%6(fw4OvH!xY z+qrFy_V5A0Z#7c!xVWF3HinZEy%DtwxdFeG*)8K1V-J{Qf+^wR%JR2kd@IXoVRLpu zJM~O0%Ne?QITuTtbNri~hDo&lWw}5f)70B?#j89>HhTeFU{d+f6`@tU3#e5Y?;%1F zgm|V)!9euttCySI_lkOIFWCHUUVb*h zVnc*W2~Cn^JgX;^P@42#{^bs3XIhB;HOHH#vrkddNt-{gGO?AcAeYfM$K{W$G~P|-*ZJPm zsq^64&Fj$@aAbP4INQ-xf4{!)Gjdt#2vU*t%7D2YDPPc&VoeBwDd$ zzv|S~RC=)`oXl&<0hM zAQ9yW2@q4D|C?4l_Ba}Zsl4}WkV3U-wLX^ zYtvk!iE%SSgqOi(&84J(60;02OueaQ*=rY_CVP5VyK`-IT?J$Wi7b28pu!^DdwNbR zM@16WIpWcmLqUMBext;MX?40mq9|i>?%rtIUqGT=N9EbAr<%H+%N8C}Jo#4r{r@X9 zYboJ^@>n%99=!maIA@bu`+t*BC4VF!4VEA zz-2e(8@-9(%GRyk+G-imYmK~BxS(BkI4z{VX~C*OU+pPrKbZDl)=cS%x=r&HR$Hv=g$ z_Z9E+f31Y?6Qk>7<7IiJAExlxk|nPG$wTJbb3e$GpX8@t!L9S%aqS0?z}<-YUb+9} z5U^cUt+BhRD?6hV_f-CkCnkkfv0e;se1C8`*dmxBmP3j; z?|ixKCN2!?jj7X4foKh*Cvb0wFcamN6jr`zas=fewes}!ssG0u6ZM{LoC5vagB2_Zp#AN0;^l`?3+(2dSo#A$oFCp%= zp$?#VK7c7g9v8bAR5cuyly1E{6cWTZZ9s|=h9z8_^9QWnL9(fEg7}Dd5S8k23RHzX zXbf5>BM=B3XqnB8F(cJqR+5yFfgyO+NT=>~Jm0HbeB9LIa=%y4qXiBkKn zZ?k~RTtS4cZ0jd|cxal_E{*9+RNrCNYCkkiIVfhXZ; zaHy}9C+R#e(LOr1^kUMAUK3_Z1>=mig^WqulGnz+9D*h1NL*Jau{#<(j+9E88a+(f zN9<*{2F8w$aMu{_lOKp@hc|cjw4T55L3xI5cl3wq zGRXbN>UHhMBj|J%7ne&;y7T#>@dEVhn|-Ne(jDE`2u5n6W$Vefq3e&@S}Q){dfu9y zT~|Bn{zqMs`&2q>x?oo4@UdO-7T-bO)dKDk>vGaJUM1gfqGWp`sDD_T%-h%hJ{wSa=G zK4E_3*R$R)?tzXp87yor3Vg%2IV;;8_>rBIWfND)0)yDYwa*?}4_oaEv&|wU1ih!) zg!IOlz@!xj&=YOpDt~8j=4jDj4_G_@9>~C3ma@A%0o%K2`JAG9hP;UI7)EBE8;iYV z+nY$UvnRjxjn>?)wlwKsx-E|^fuO?hnFsw}CRNefCES+q-KmgoUy0UJmqZO*rqoCe zLxR6IoZP)tO4@ewN_0dTwYg^^w7B=RH#b{cBFE>&3xzJQG276^JtcLqH(;$Cn&D_h zt0s!?p)E;`ibmA48e~eSNHNB1Ci!Yy3<|g|U@=;?wIRnIs@eJwamksr;jVpgHmIY@ z)&dvkRDyj<^aIcGy!bBw!>5uu9L<+SCRwMl%#D$(zf6!WUyMg^eO)jGSx!%ooPn)2 zJ2hV^z7%v!*A|}~CIbw-<*}iRJr+<|jhALzSz+V_f=M=`+moji(^}b+h7+0`a##_+ zoVp%3$z%1kCnU7Ll z_$~uiyH6&OB3AcL4y>5ph%iQ#S3&~@8Hd2Az>H@^Pi1?;`3FOAW5A6%(Bub8fcxjxJ32LQKrGKfs+ zFfXuzVJym=(8rf~reRV?7Aehw+$ah<0K;{M(oa~YKvmbsrlm=qN`*^%_}vDfjzq#_ zw$ny-(w@G}kL#K}+tWea#*GQAmU~Y=u=QQIgS2S5?`2Se>*;YsI2}M>T$Ixm9Ra^p zxs+Dpq<3%ldugi1RiAPN$SFk-Za(&i4!?<6J>lti06N!v$V+*@xn=VjVe_ZpZ8ee7 z2BWHX$W8-*ZP=ft(v@#m==# z$`&#?x64*GrS*l$_PP{y;9ZA}?c@XIwFZ0d6lS=%g^o-=oGCT@j}je|^@q|a{Kzx? zW1HvuRTpelKX`zDJ)=23X&G^c>(sx){wq9XXQJMa_R1l)^Z2P%UwW(u;zi$Q=6e_W zUNx|e<9ijbo%rt_B`N9FMb1Xs4^6jM1iC~=+=HPR$~DgPN2B%igVbr4dX(Fz+g(cz z{?gr0gWctirkITUGmnbXFnQedUuh5f{|Nwm5dI13MpM=b4nXm=$`+5u6nzz-eDGLNza~_G4KWh+LJO~)oTlun^yPGtX|Fw4O zd2_qs^N~blSbr*?Q?|^|zVcI*WHAjgV9- zbQ)W<`w}TDq#A(VY6j%`7RypL>h(F0mcMKTv*(+VM3R6-yy~^jq?6k z90WC9*`K>*p7eg=ov8N=d^FxaTufxA3gc zr`-g~FcQ2rMozvJ$X1=Y%pU0;{J)scZnu;uJL?;c2twoWmy>#A?Z?yrpi$8Rkl? zlIYXpqyT^==<8bfzd?lhA5v4}sG8yT%>m^JCBysteAgGA3W~3n_v=y3spC0@&1J+_ zZPS-Qups{7m<~=%d&F8*N!03l?}b8>ubT(2S%b<=oSduWzb_`|i@=$ko3^9vyQYw5 zCTm91!%^0lIE>i7d8^wza`a=3ptu&PNcIu&k$4thng9~WV`p6xVCnW2K^-4A7Lf7U zB-`TA07RbRI}pCBRgf{YS@04Os|u9cUj2eDpiB){{-_E7uL+vVQe#aEWh zCF5UTrD!d_`ph!C_r1EzXe@-*htsZgXkq%Yto-J8R2x|^+nrH74PTtYWGo@rcsVFpV;fc2cs&}5|?%I zVg%qfX7^Du_m=KUlG}?c+*%N7?3Fhic(0N?y?P2pUFtJR0)3x46t@0wj7B`}Ry76U zUp|r2rrPO7E4Ky>~F+7z+cSgUMq!GeXf6KPOJIY8q-47ttS=o$2DGw0@ z->X}c$Mg8JM*fR~LlNJkLDv*N*~-@2+H>SM~L{x}Uah@F?+r@IhjJaQS#1LxW_ z;;D>Z(Tsh{owJ(uoUH(yo?IN!FU4wSLyY}BG&)iIwsKsLgON)mEhIgVoV>GYwVrG` zoN9+4L8=*z1}kPeA-Y+%XNfGoEup0)UaNcE%+^nth}Xs}LxMzf=VVvfHF-HHwY93D z?*gLTF%=zlc$^;^Q{;d^wky)5cY;GA8tdd%B1*Cu*{!k`l3(OYsTPhQB%y z2#k#>mjr=n&Q8hEgX79O`b24$YQ2J$UqHuOnjd4FqN<6OD1g?8BpXX0s+1nc>5kc^OQ9zfCRP;_a}Y~<5smucytz-V6fQAHL# z;J^bDa!Hit?WrD5R5=Hf)jmFZKJqd#ztd8&1T~o6n(6ZC`Lf|L8lN}CvfjJNmsaUv zuk3^&O%W-WfYN3iNLAR99hm{|`E+on17S^(1w#;;0{Ou~j?&5k%@ET9Pgq;M4@nzC z*U)j|Yq=KTQCJf$=FUU<^s^%3w)>F*Y~8rTVSxYM(7$!iTZg$Q^%&4Cxc*ub+K96b zRw>?1$CBkN4*K38R^5cU>H?e1%P{n`UmfFLtmTHUMgSP@Rhrp9>Gh3HtP?cceCWN{ zL|N6Kib;f{^P}uyx9~B(CedqC?)APwUfoBvZ<0AmCUMku%1XP5!1jchMJ1bM%UXoIS&lnG$jlcbk^4(A8 zuIA--a;e5{ojmE*pQ!WhRs-L+7Iq1r=k#9Gi(LBtVVH3FSD!W!_q)Y!JzQgc+&e;R z2*o*FHHtkff3Ix$-_<|zr+f2#hbHfhkqV6fVEmKJCwSp9I5dQhr{Gg0(r; zrAA%!Fx6cvisSkb8v?(b2;d@8wbB2p9@pm#VlkO}KAekVc%_XdDjsjq)JcmQCr94; zkk;9P*$&j-oipXjo?Axr4(xhk!fzq#P6@6*g?+Zrj)XJRW83~_&Fr9o4pPr^hpbeN zD%%isJbvXbH@2#4H%v!U@pRPX#4S&@o!sd3%cD54g7Np$KMZnaK6>%zD*PPlU+RPisWCXpcA zZW!?c2bqFsvzqnQ&ogER7cA#80?U-yR;zUoZeO{`!oO*u9BDi9c59%yomoG`JDpZP z9GVaEW*Iw~PL1n{G^C;6J+MGR-EzoHhfj>#h%#)B;A}TP&~~$p#(&LPVs~&%GrD%U z*)IHb4i%G&z{awHRDV1~o1cqN3Uy~H&q;J)H3C(NathL!lYl~Kt$V^tc~9jW5E4E? zimm+E9;AfS`j6BV@n226m)sSvArDk)Lp0>9eXQP>Ue&u@Tr=rOGecDOBYkGhjQB&H?=l-@`t_MOSZZ%(ETN)jO184sN=Air&>a-dS zy~%$v?vn|p?k_Rpe@cbdyrgj38^TcMPu^?-!8l3gQD>i*{Hdu>owion=7ACxfM=CA{fCBDD^vF%V$OLN4= zzb5SI!*$La_H?OB*W$u7q4P48Y~w&I_b`ZYdzV3c^x2b}{x?49q-};i*UhizAxVAL zq|v%q+_gE_H9A$tOfxt+*&{#bHUC~R1z^hR6NbViW$o8D7)A)%T&85cc<6Iu3*)mk zE+XR{;B-hTCK5LsMPJ(YZx^~f+se1Vd~?<|B?-7Btt;KK4=J7C<#$ z>byP$A*Cfq+av^*KqT|b(NuBO8|J8dJp^7rBFfe-ayUkQC1EobS(#zJV5f;-`WT9f z+c7Wk9?O~U?N$BUMknyTF`nkFrTp+OsknW1jdv#^I4xgMsMUcdX0gjRn*m|2lkbh! zElWTnDVarIR97OAf=>4Y#gnh-n8ohDE96{vLQ-`s-@4bmZ2Wy1wk=}Y)oCRl5lLqK zjKpVSB&$PY|4L2#H(4sNz@>IxFHV^}nK~8!gl^CLj?~tueK-^-2)7u%0FF#?YFXoD z*BV5y9AJOjQr3_-LOXVTt5qy?Ybg6CFnp8%q?!vYd>~B@5b6E6C$eRm&W z!vk7(AP7K}E16sY8xAX_*Br~5#7c7`jKBrj$?Lx{#Ad;wZ(!(BR(05iQBs>;lxB7m zV8O*c6BMCj(pPkC4nw@2?)4r4mDuSju_%?~oNV}3DJ<_7YrM&@8Qe)5o45L+u&lO4 zNjw{AF&rM!t}-izJ4daKfo1yen7=)?{wwlwXBd-;^FIh4)1I2wH-79x1qW*enGm9p z)#fdIJq}-7rFv*3UeU!hbq*TTz8$O71Ed53^W(DowQIbF3WxVQz}qR`0ic;6Llm1k zM%h<@ecQW;ZYYRwLTdRQqB)FOOcy+Fmt~`Lvld)Kmmep%LJ=Rowmy`s{oh%cP-f%> z?)6-0Z5TbTC&B{4xDDPy#Mclo%X6_!eRAl+O4u~*y=RUjI{1?il!MMBYTs0jOSJ@hllAb z^#C)A5ksK<4}E)2g*$)z%RKMyjW*0DhC!u!;KpnvB2IeBDa%KITmuuk3p_BC}4aS9PAGViPq* z%Hr+yD}G;-ss+b1i&iAe9EBsETjRejyONkh$z??Rt7Mvn;sfCE{ zvYNNDLQ>{G+!lDdaiK1|$1OUP-Wn~{v?NP*h@E3fIin5Kt+Bu9lHt1SgjmYu5u6YKz_RiyE2LaFE$z+~xjYyHUm2^e#JW;kz)4jT|&p9+Nq2$zyD z!1?@^JLwK|+4y1!97GQ?{zBxUP`T`}EA%iW48DEMpOxS{Qvq zT0-Kaz|5AKk!&u1(5X4ud`i|Z+!S;nW}>VKUrwmDRlxD@KF zS0*Xd+vsg~`4Cv#CivNROp!PB2<+?GRK}V4jBNTPNYNkwMcOAB*e^V_@RW(GqR{~r zB39}}Xx!Da(4WVuQ@4ILPP0h$0Gk&_EfkPl2bd<6r)%medF*13kZ>|2%Ld#>gc3x% zdc-#zvqzb@yA>5kv*}G($G%kgV1ff#GMmaxpk#Bm+z6ONoF-Bh2X*^%vZ`oAz7}#8m|8F8H#fNGX(4;ihmDBG7n^o%~{rAPTwz&EH_>Ij{Q&V5f z=P$;q0TVMX{3$MG_O+1s;cNK0y$mdCvl5CGksU>Nf%W7PbX_q zmi3M*w@w^sL61ztjaJ5enBXJXmRF(9alc0*2WxaRH#4ha#_3%|6CGGrW^V-%wKVWN z2UIV-VodeHA)W+}!@5=^x!<(d6S~Md6fs*g2-MRhEVNcL1-C+?JttI^S1VAwQhF%b z93sAZr+nAXwSe(|dfeuX$`^V$9jnp8Y`+ zDLlote@#a^?U^#P4;j!2$M1y=|uCbxDoC~t1o z5|u*?;>SN?PG8004dJVQPMKsCzIe<^MG_Q)z=B2>+oqH*uD$0h9kUwYmm4(Vo$x#3 z*HuA(#iULK5iZz|psk?eo!eRWMbNCugE2w*D*lV!)x+MJ!2W|9vC3%F^KYXFr+{4k zhTr}ovU#mrl81qDh`MYWKgm4X?u^_p_*b^Lm2s8urA7g4fc@Ogb#@4$HVhLBiqm6L;r0rg1Lpi5H^2w;)KtL*{pbV~!H~3|8Y0u`SWfm;~t2s}DkQ@g9Q{$xNffBl` zEVp(;EV#-xHH9M;Oh{TXuihAGll2r8a~%#$a-K~RrFR+EMBrL|UyyL)kSNG@9sjTw zfp?~uCCqt14L~ohX5EQY|78Q(#2yydu&?bcb+I=lflH0UgudTUp^4RCHO${81T7;{C;dTQx*@eM*g>XV$ROaB#U|qPp zE4WO4hf{n;)E{DyQh&U|zMY@Hc^+W#aT|M6pl0WD2IalXqink|*KK(OF>LDH=)TpL zF?9%%p)_Th0iJfw1^YX`ITX2_qM?%@>+EMr=|0Z8ip^JMo%)F7*6|9O7T);29(t&DwwAYMIb+cW zhk`nuLZ@6l`*b_?COyyKeLX=)mVGugMY!;>wJ3L}Mv|&hjlKE@)R$%~w+KQ`-gS6D z_Tj#6%(`*f%A?+P1gj3<;s(cy$QiBXS%yT-Q0|ga*H+2bwKVjADyB)!k?NJ8B=F4m z0TYeewwpn(I4Cd=uXZ{*ZBHM4P!y4N3aT!BH%$0zSoJf?MsM%2<^+5pN5vJeHuGx> zb*sgEgIOYp*123I$MV!K3oDuyW{m+d;rN1|X7({ASR;mQOX#$L$Mq+U@geVF161tP zt^qTB5L$ZfZ>WJifV;=NSNzGv8#Wk7xjk;Lt;+B58=)b;ewDOOseDh8Ke27CgQ2jk}e5hv~uT!Wm)au?Lbo?8z@J^uyGaM%ccol~*&6WMntt z;tj0o31`kp)^@hcczwF-HOT9sqNT&2r%T4(!&TKmyvxiCjOkNH9U|M4GRf|9(|abm zT9fu7bl+(4>0y--p=oKNYIr24%RJ4*pnVG5P|I%qOfxt`uzevT>dq{auy;CQkr2Y2 z+Z-F}-*Xm}n_~*XK!vlt`~9`~_yPby!#M4wd#UK0b|_er@6Xz1l$DdaX_fDYX~tm2 zdDo!9ocgV>Su!ZqDn&VAv2y4WspEfmk93|VSlAm)zdL6E|GJsNY<9X^ujove2z^)H zwApO{(hKUI*<(e}gsso8EeoLLbz39z?fcYMOs!kyUX3jE4RH#}W5eVPF#@nLP`d(M zo9(snZ;5*9I;Qr4>iX`Ax{_NnM#jMRr$c~Y#Tjc&@p69Xy@EbBFUKD z>ewc#Ds7cGSWIiYkM_1=nOQ(g&4PaORq=jrAR-X1G1ZKg`mp+axyct5Y%{Fr$qSPR zAfFKK+rbrP#jJ-pxdQR$w`uU$xFBoiMZ!~O0$vY5Ru)ZQr4yVvhcEAsS{9Pbuc}YR z^lmsqdCaNZ7C_uUk@S;k|CPPmH7Ub-K``fis2#3BvXyO@r3QC<^7UN6qg9P|p2JQej7Nrr1pCnzS&q6OkVsB)+g zPSAQ+)nx@0D-CJKDQmsXbk^ORJ@nK)xyuACvDSc`WL;bgE2W8vEt|(YQMxQhuh_rB zf+mw~1jh2dL9<8-5JJYFqVI$^3$B9YAm^(HbA zVk(w*1*1}yw0ZtO0!>X-l2b7j^v#dgCN~EhB_RS>a2)=+$xGT)6w48KRr(W-%$1 zK6|dynm#pJH+b=%=cbJ0X6F57fc=O$1!Sw^s(6sV^7n+&-))#+c@K$3PNN#}xx*utmI|Vk!V-xPZ9*3ozt70Awah~M(wPR)ik|1Jt#4tJ8~bfkW$ zAB68szXZs~bw~791Pwc;pI!b^QA#wGxtfRJd-4X`1-qW-!(H;R(joF%sN^3LXq57R zJmsGdddk(B@NngjxKUeg1%Gm*HTiy2dOhUv=3SP%37rPdi|}b znjWH|L0QvU>}MkoGSOr>UgYk=re&s|9m6I9@1Bsg$yR7hC^-Q2YpDjaIKTo5o>*yO zph*B&SDPomDgmbD>8D10vVXAZ0kO*)%MiyE0jMO#Bt zWjck^lzSjBlr^DwKn6tV{1;7!hU~@IKk5Hmhzd~nE}BIW)PhHos#*R1fI+5wpSs2$ zhzGv`V)%1sULTAcfZ?0mnuFpfhP{%Tf}A8o=K zyav~U%Z?NHGv7t#MI?N9$THpq8e6h@+cu&+lZCP|Kw<1XmEMY+kEAki)r9hqt~=^m z*L@m*aMda*ABhKs0*&61{gie?au2fBY;S%1Y9YUhxqjj3W|U@d0){q31YyG@7qoM{ z2!RnCYUa0=L{h#c4xM~}Vo_Rca27nc&Wh%x)!pfn$74JLm<)$zx*{hNy>XZNh~MRz zS4s@)`_q@*cA8xuV#AX+OeHHnN1DvtVZy6?%rpla_cz5wB7>)NJQs%H>E%O`g@gXw zo)4ztTn8rrd1?}y>pCxoTq|lbAcUK$lFM2^L?&~o6yWX}nBW8%(Y>jv^$q${Ylhd0 z1*B3NdfdWU-Ovx6;WIl!EoFbPETGrhEQad_uY#L{B$Hq@(SmA2ZVg~n&}97vthbcG z+#8%?QZoJ&y-^ZIj~WGx3SVz{l$t^kHx33N)tA2!rf$JpQLf#jY!M0Rctj^Alhh)1 zg}qX60fT4%cm(O+3ShYJU)EizrK@mE6Z*)RKJ{+zbLT&ATwFW$Z<6)*Pj^FpK32ZN zF|#zvV)pXbadTJo*^uO${-t}gvcnamonc#I&jB}Q*@vgK2Aw(oOnBz03$k8*82tL< zoQKC@?)VO~z5PCHv5^R0oRhQ7xDp+>q0yh_82KZV;$d-ROxY%XFT_{Kmlh`_3H7ut zV{7$fyM_HmyDnCqn+m2@Rf(yFZcfVUzvSOw1AS_Xmcuxa$g+F)?F5_&KnR zQ&X1oTU2w!!F3;KRNtVHQ(#HHf@K1tsfdql6VczWQbXwd`$+Hv9Ui8k>n72!L$(_F z2sDNNx_kZOv13r4KMoUdOtf{p5R7jPB{QmbNl06+p(9U${K^WGrr5Fb$)ER;NG>{~ zLYG*W4Sus$NGvL+=?G2d+pAUM{BYk7P*DH>xGsm3T#r))G{IxMp8-X(BPj8=ka}4F zLvzx}7M-EvUMciq&_Xf8Zn_>q)LAsl5UfXnPqL|GoJm&lf~#@(0$^zOo@HJYOOH{1 ztY8c3JD?9#4qvqL^jRC9msA30n`Fi1j|>1Jt>oJ`KyQ7;!B`IF^p;akB;aL=A+W`jtzUK;HQtE1{t3pL-!0`dO{ayMw>yG@)3)Ddq zSfXyefa?#z^W_eaR^mKaEdcF7GfNf8GD&4dgw0Cd@&q-5P{odWVb!5*dE}3JI}$GN zqbfg~;OTmORf=7Qs0AMKf(sZzPprrTpFHK*I`J*IRXE6^Nk9(g%)^z zJ<)4Ba+S>&E3;RyaDN=qzOM3IL5fbbp_)WGYrbso&jSYpQEci{Ny}s7h@Ktbh&Vw* zj$op_eoK!Exaf4iiuG*Euy_$SFxMfUD=y>YBW)1sp)WVLYKqHg-POCW!xtjW(&RWM z;Aurey#TH5?Vq>Mx6<4JnOmz=OhK>COt>{$9_gu?AO0QJ6w4(0pG{^u`TOf+ zsJkyt3`XvgThxp&@2a;;x9gNMfB5F{`@JK5zwPd6N4qmmr9+wbdyr$3E%UWd1H=j8GO=u{_E}aGMz+!ML88f9QoK zm7Ji-4xxoppnd+@c<}a8qgrYyGCET0&U|-?^!c*Q+&*xci&CA*i2qaFnW!d~Q`hpt z8^S)}3ij{MNHjBbV4cfL>+vbyVgMTw2hT5?KWt0hu`-0BZ>`S-T_22mp^ICh3I!I^ z=$Ws#5SUbE;23T2i`x#%!Qxhj7-onWbhgImz=hH~l9Ohy3MZt_M=Dk??Ve`ot_eb>|!n2xv+@0c42iD&9oDAX%nevqW(Lp`r)uyWDhqdoLxNaYP&kA z98oZVwp`z_D4vj73T_W4H{>$QU8@K6J-P-7C&IbZs8<s!PLgGLeD03!%JDErEWtiCcXq&cWp`CMV6(w`20Az z(P*x{47X}DS|msgly#XE_kAk|?$I#2B}**+>=VdqL)sLuuD4Wq($E8nV=A6}4|Huu z5rkGN<9Z`cOM-R&&+uCRu$<JDD4KEBHJ=mjzWYijuDxi_wbb$rIqXoE(xp6`N&IPc58 zrs=L==p1cpEXFMmjV30sA2x8^rso;m9>A3P%xTa0+0h+I~xY5ad2KoKgz?bCEVf6$k;Yh&G;RV$I-RP#vE?AdheMn0hJd zdGEuI6`^3)5iFG<)ctGlB6fBt#Y{w$|56Y>>qwVpUAc%eWlGav+YN$!y6xHQZijx0 zY-p189oltq^Hwx_WlJM69of<#*x}U-#$bElK3^pEX@X1WGm%k6DO#5pYXVg7@Z4z(cmIt*TZB&dsvUHSg)c>uoh`E913{@8|5gd-4%m|3)-8!TCm! z7UueUKPA*C_-q#{!X;0-d1H~KSZ16Bs%=0jOCM*=eDs_HoU*;pmb#~TuyMQn4Oapm zZQ1$yam^I0X4@-cn^r04^YfI}K zxv6*Fi6c(qovQfI^A5o1NB;Ws*YveOezXIhi|iKk6Pc? z-m&A1c6EGns8zEHz$7%xe;)xsU0&y%gKqi%e-;2Gu=4HA z(~;Qm*$N90c}q0gxGgQ^@>9bT+T$0M=0*BrWlZ(3Df^uf5^zmqtvIYpmu?m3&MR8wZoxcPXyfBjuHLc z&fHGRFw@FXn`K;#FLOv{=;ssmN!CBw>hjR3!US=9F7?2>K5@W$XPS;VKm{vi-PO~o z_JGLke#w*X4C-mfxeH$NrW`>Y{vsx&)7;Cw=diblZd|$8;^s&(y)K+XZByDg$sQ#v z(dYlBwJ-Rox^s#yRT*w;*4zkjLeBIxN^8hMqhn#lHZ+8N?p6wRF4x~(oO^-A(hP%* z$ECh2OA!z^Hgyee2A|t+dQ&BBOP(QtV3=}N(VB*P;v(9NBqQQC6UzdXm+29trOyck z4F2rx)Nq7oFTR8?eZ8zXLkznx*8O+e+wRr~DXO$q@I4L_Akx5C58V~tL+6mQ0^na$ zE?!o8RE)M#PJw9-XtfIl!GU;NFl9lQL2ML!i1_ZY#ge+$n@*`h0cBG0Yy=pFZ+wu{ zMFlNta!NAGveWx-9#_>nk{TKZAEi0VZgu>q^SyG}Jm&|wbQceurkm6#fCfX_#+Y9Q z^bIruJ#d*yUfy6^+v+SyMZ`N43|`eS@#P2o&6SxQqO^6!6_^1E8)o878PH897yjbf z!#DhoJ$F?WGfG0DNvUkpy6I4fml~7{PVes+!vgJvaf$8sEfB4hWSd1(Jtw+n z(@1m7|D);5-;z$>w?9)&)|66XiG@OCX^p#$xFJkqX?-%CrqXgFm$Y1SM@5*jBv&#g zwOptyt;{WRS4a`iTu4pD6#*4-WpM#S`11Vl{0AHd$NRqS`@GKcb!PVgn%<7Bz?PKT z6Qv_C@@-$tf+anGYkrL=*iU=e>xS0x^dOB8@+XC}JCnlNnNqkSp_QViAa8D&=NHk^ z5C$OaGnLiRTko5Wre&uA5(QBvyi1FUI5}zKHOl=aNG$s|K~$lJ3a^~A>4SlN_Dl(% z+Sq3rPn=TG=pO&*`FjYb4Ln{_6Kb_wKVoN?i)Am>hjsI0fEA2%Z%cMu3Uue ze$#LxggYB3HOkaT(2cxa@N&*PKZtAv+Pq;(UTIq*MD?2@b#Gj=;T!OqVE zzRiIs7Sn9hrUWLUsA*&n6I*}r|HpZ|)CjJ2KvO(Aq4n&0FK+T)8xmhq za|=YyEM^3%)9DmLo|8Y&30;rp*nJ9nV2G)1Rb3EpbSzpuR)32%1}~1Uq_M7DS!0)% zjY#>nErlK4{ka4$SeL>!2dt2i>&@M5-;mEa&pSIKNg2NvA({<8=r)$sycEArD?)~6 z%$g_nA`%j7>$JTVsu5gE0t7eCQqL8gkb0!s9PitAn^vt!`_ZPZ{1CddlP8A4WnSFV z;77!5f3Lz|@xbAHCj%qO#C8YKf1;drtnecl>>rcSmKG=kmfu zVJj`z-W0l#Nn4Wd_&05dc>RyotEzQ~C-q|JyaSin;SkhLR^Z2m-#WBH|B)HxyLM zVhxyU_Extk2vB0}ljBjdCU_voR=dC*sWl<9R;ZSP}!pUP0IA_`W_fmd}({{c;{3n{b*hP?qW<8Q^FW+Z|0&G z4OkEZMJhM}jnWemy zq{}#76;$RoZjH6_}ZX~X_&PgXzj)o`L?e^_|>a}x_=v!-3Ht-w%rOe(_0v2CxBvdd4W zq+zzpwHcsaTbLZYEW_dQ0^h{`_C0PNeQeIBcTcvqJxnV&fp)2~2v}?>I%|DzV^WX& z8U*$krl~#~kBv71^tC2Ffhcx4kF%W>3x^Ano+=_R8wU|VTklOjE%z$H+}(Pn$f7{7 zQ-`$zd_Z)j!pjZ!dUveNBB-@sSDmKM7k>*pBERv97hLefJx^dteP^ksvMr2@zwUt= z-s_19H)+4b&cwmaYb8db{{G^mGH5?Wl6vvzPG}8Kxf4-e1>BxK^DA~ z3G|G&j<|D35~i&NabF*BkJa*{>m``uu;V;_j(X^N+Uul#!QTaWOM-pH@;_1^gvUq5 z$8yc+dT8SPQJ7-Uc|vG9Hj`qvPHk=(`V(LyzeaIf9*>l@osfk+2-7k7#@$`u`x8P0 z-joPZifiNED2?nlD)THgZH#&-G<}baW?hjolHcl3tvo5l>m$bZz-89V`EOytAsCuF z`6>ObA;~Z+UkTt5gfb7sO5>-p$QqFNIP&i!87X!_jiR;-X!C)=TU;{IKxWydBdJbF zv%x}}Y%F@D-k}^|5enU*9`8=;EKlHWx@xix1%z~um>LiDDyf3v8_4L6Qy$8(WB~** zBMvh!LUv;tf;aBvWq5yhy=?#pm1vGLf`|4XywA%pfUW;&vGPnDNCI_Fl*FQ^55k^VPOOU#2dv?ai^Xm~8K3b$9E>3?)uloZ zmTdM>m3UF#86tarj{;q8GhBv8OhoXH`^=ZwVi{{gN{!Z($o9-n&Z3{r!4spefJV?W zdn@C~&~M#SaIW3wNkO=|?p)wQZ{qmv255<>1h-J9iyo^Nq^sM2kd39|355zW{HEGz zhvev&iNfO8t36?>m^^$&j~9>xSK{n``Zq3r@wb;&e|e=dFKu@rI{E@u=;x-jkD=j; zwN1c@2pitUc|zlA-~3ynSgqN!tJEYb2^2a1EVwTqtF@5jYhWUNbjH=D_X#eXv_G1k z@cKsfs(mH1CW+i(SRnrP+9@#t*I$5Wj`R2=se^8U_7W*m(V=~#7vN(%XvE{#p58YR z?O)2hJk?4*bidDun5_MNi+oaOK-8+ycH9z13*Lss8X+eFRcU*Q8>i|jrfeXg(0_W2 z=5R8f5K4PxCF}da;`sE1<(qd609&4wwHd9Lw&v|}95up}4l$N>9GNxyTyxNJcs5p(Ej9WiAL;e-sJ0&QbOs>Mq_U+)NI% zUEPIhJ7Q5}`_gfagfPL!l1h`3B?})<(J`Xjg4%VWLW*pG~ zG3~c!9H#H6JFhe`f}^Mn{4D`Zlyeu#5WX0HDbmlqdd0$@xIin5){?Mq8g3LvZnY#$ zFYVlj=u|1b+Jeb4VUKZ2qfZRSM0TiRCXPz-2osgQM`8<MQ9Fu6mj4CmL7jEOu21TbE*>#;DY)P z5V_!2e6L0+-Ot4Fk0NOG? z6?7R=k)`MzY?5;By$w^P5vj_(TM%B7c{rcj=G`oc5U7?N9lbq%-$~r2HEgMBcz|-6)CF!xiqGa@q^sEr-m|-ug!snHenPw;#6=+k9RV(z7)m7PyM7M4YqMHA z&NM)8x0$;n*-phAAdXrwmAONlVx&WPSGN8#x0x2vKadS}iu`(`Ngei+?IRi%OM8q- zZqSQ_3=Nn6FmcnIBWdRpNwJAZe-=bJX>o{Sg4hU6oALm4$<-{s?L!GINkS># zKDvsz^G{_}EOUoF`Y1t0NU{&_JV$Vj3Z_-!Kq%c<>i~VM%%{UQ%r4+(Th5ZC#GwRh z;!v+`WMf7c4l78QF4>viD=4$aWAirEelGQxpRXtL%2Zl{#b+?(83h@I&#$<{Gbn%I z;qVrdu7kJYDZeSe*t+6kwd}5rW<6EQwNwbS5Tt@%t(`RAwU3q6U;UcuX6bz|D~EZX zcNiyS=%v??7PAr;m(M~c*#=<4BFO&b*q@w^IUBT(<&|%qTp&rR*Y`$MrYF$n1?)L1>(BOw||3KznWNO6Ta!5!oj1%l>&BP-A=uX@Cx&im0oa&$^@I z^awxGi?Dj5Pl9asu5xGcd#~nUKlefq2N{_B*Rsvm&l00X46LwQPX|=(n7}Y>RcQIp zq{6$5tQ{cwvObn(7T#Yyl#3L&CI!0n45=Uq80g#{jq$23er@na?UtyH3z(5_;^D&} zD|j>e_l>0?N!?)O#?k>0ERS{fs_DB(U)J%KrBqv+&+Otd2)@-2DfyeQQ5xLg0ItA@ zl5qUnOm}&wcyFoZ2K8>Z`?b+W-O1$>!SC}}|JCG#TGtAuCq*aZ!Cj$=g3rx~yxeic zgn|hQtcz7EFGLOP07EugaFE@I_l#PQ@{h)6CbWkG^v!Jwb1$Rk)H$oG?>>)MqsK#J3KS$tmS2Jkc zoGR0jId+;kbpF#5_zTlSchkXB4pB!JaSkNwLxh$Zoss&iY{4(xIjXQGH=zmtK!VvL zJ=YDN$FIZST|bhHimI;=t~A7=XPzKYLk}x54BtdgwL=o)m%f#YLD>!{$}2;FAzD6v zS9B+xZBFejs_12uK>Et*a~puO+w6mt()TQZ6*tvaG;@i`$N@v3pJge>ZCmDcEBYR* zHQT6#e?D#(3s+7%hFt2QDD&N9$-akWu1$__=A`CjF3+U$NwQV!785Hfe!aE#Q=#uq zbLL8e-LxgZ=H%~R&xk$dBih^cqN1#<_V)Iss(*s~tj&^q#Hr}&m}`w19VOvd4)D@P z#d_&HTMI7NCxQA*D&;obHMbJ&{u+1j&%w8LUvAseM_gg)mZv%AwSuu)?f~x&-kE|F z8+BWm*MltDE^O-8Ob^!KF3N42jJmG=F{0ekW^7s>BR}6~G)&Od03^a5J^1BX=9-}P zy=EDRNQ7#Kf3GRLR8Y`yBOP^7jplX59#}}>sJ>`>1tB*1xfW4FXefCXwe4g(Ck?Rv zz1`AWi}_EQo>Pahwipe>MjmvjuIi_kNI6^^EAZBnmI;1Zt`{{)*CHQ&uCv57T{S5^ll)4=`3 zk=d3jvcaLTjz1lk7n~#H{H!X;!)s1lO*0NKVe$Cxru*|p%iQ79kIQcun}t6qR7x&c z#h_da(A3YTv$QVlgp9JT?X>5{~;StApY8Nm0+Bo?aq5w+m9nTAqkLomqP;M>_Ij4O*68B#PYDiUnC1Z3UsAhy) zb5k&TdWHQ5l~$Y|5|nAovMdc#Oge~EcOJ&p&bWru_Nq*-rJeH<+WAR6J6Y8Zvk|Kb zmhj$qZJp%n`%vX~e+;&;wl}ee%$5X9QomZpxJd87Kzi_qO+-j|{~2d%;h$YK7HW2B^JBsnYF-U-(e@1>g@554_gj{w~xm06WVg#>}Mp_}f0 zT+CFU)QmzITy_Wfu_)=~uhyy5)VJH#*|x^00=UV~1GC?E{zM93T{&g?MRRyD%$j z5jUs_9-uaJ$N{nSEdR>{giTgUI`7yv9VHH4wnXRX*mAbtKBEuqyX-#sP5;RFo{eo= ze`^#pv1uuRpJT|RoOkwE`+Nqz9FiRxFFR(KK5T1MbnkxgU;c~N{v=*CXXQhn2_jh^ zvikeEz&YJ0SC2piFpc0^+-a4J2$?O(emo4kQP8Oit&B<|JNP8h~yR*j+VhLlHsiwp^i3wqbUt3$GH zjF{YJlj+bRDBLE(Ffn|Q*);sRx)=Gd36hr*9+r-pdO1-&Pxf<%ucc>M3L9^(67M(~ zZ?U^qe(FJtn)}-Uhb)X}?#S|?>bxMzbA^qIWt~a80@gr z?a!JBPF1Cg+XiI>^RqK=bS$0K4-t(jHet6M&)RV?L6>L(vfWcQxz@$YWwEO^_Zxx(bVqnj8@fIPOtCCe%Run+rq5y>+tq=#n*GaXu{KDX`nCCEDCyFyGXMYu%lK=yCMQSe zvDNoNo*@4#hi~&YG z^3xc7OEoU~M^1KK(_PUoJ0Baz$lDR^T!P6nTtI=g*4CaQi5(8I1VyPjwN+kYC=UdY zEZez|!$52-0^+tyIe@^4uzXBB<-A`02DbXf*+giaPce3hircc28LyDI)+y*q)0F3BKaFmqg_ zK{<`yl_38w^WQmrgFi4^GAXtO^Xgr@`u~4RU9D<*)_V(O3TYUG6IW@Ox`&=d*TYA1va{xA@$-{7rPcnyz84lAoxc(=HhqNbKzPn z*)?s-4Wp_RhW8Loi_r1>q)x__FHB)uRApSXHZgBi|| z3%uLh@+ZR<``ra!+4%&17)<8#wX_)?Q!(SBB|a?+j9)Ch>_o9-7(Z3KoGDnY^$eGH~OBfxP)@(VcO^9*$< zkcSgk;W_*+LF8np%{GXzq790R`)XihEi4Hu#@!woFefhK@5>u~U+JtyoHg2A7u6*Y z-Es8yXpX#1oE~=}p#sT!yX8MX8nz85Yt)2WV@q~5+lEE!-o(;aA67BC%(?bqwJFiO zOild6srC;Im4pz}iRj-|phNBuNXn^T!LbeRqk~y`K9`dRyi1Y6)WQ)CQ~uf6dEZD5 zL@K5(1n(yp5~~|V&-?Y7d#>HWx8$vO%;%Is-{gZ0+~pFnRuYOw{yrT0=`R+qbmvYZ zm^)^^V+1!V{mYhNN#q#b;wBUvL}EI<{}>*o83W_RJ|ANM{3Ckg=H;{_NGvBFpD)qn z6ptM(dp>N{Nz|;+fDGY+vJjrBzA9^>Jabdn2ZoUnLmEv}# z4*ddxZpr5#*b3&0A3KvQc>+Did79=u@-WnYAH5+1WA(PQS1+#CP#4w^6*}&78LzGM zF-}gfU9l($$EMY0SU8hgSPgYYOZPyvuBVR$*UrQ)Nk*Qvy#i7LuoBD7@5Qmc zCW@KMJ^T=fU%s(SSdkg)$Pyrl!Qw@^Spxd)JG%0BEw!LcBZ%MjLUwx+NwP(x(iio> zF>a3ZOW_@p)WgGz>}w2DYvef=dVx!Ckg+lzjAoJg9^C!M)}jI&)nJvpSb{wEkl*2I z)}p1|@5sg7a#YLV(kkSC=(YAUFZv(sYjgg}t;82N?=9LnnG%&2W(s~!3$U0CJ~YP} zxla)uip}{N_w=jN@v)8%`1w={Sqq6fk|g>QC!4WG{mOg2!$va3XT&#Lt**WDa6_!w zDtn3-93g8&R&o!~0}P^FlVyS4<0o3wS2_DgH}Uk8EF_eB+vH!+(A%vac|~zHQu6ZV zUg2v)y?7ya^N0LH0Ea`%G=rj`Z|?+%4i_hG1$;vYY8wW-oV+FtsxDWe%kt4#)$+M& z72lSH=Wr{pkQmkoyRsFH)QZ>`^Bif8Ol=;^W;Vb-JV~t#kKQ|y*Qc!lZgIo3b7Q+6 zgaLlaXTEr>hqFEHGJb!4+Y;Fo&snB5)D`hk9vc!a2JLg!w!Wm{Y=+jmu?Q$yUatrK zB4JZ;9QIdZ=0Vlv@P9*U{}f2i`Rkkt#HT9u;-I46XVNIG4=qQZVDImPY8l$&xIm1aOhR( z*H59K!9L*D!aoM6(N)*y8xPHpEU1x70~95Bl_s{ppWgBtV<)A2I|rfXIhhX&!@HH( z#4p<@qV=a7lMw*Cr%+`}Z(ps3!i(|Zo8EuL&EbMG@SrZMc!--(Uj^AVv)%n05YpOv zLAYY0T?yqbe074?vHkSa%tWoojJ9!WgB4{itlHGrX#3)FXhEj2n0JaxASn-cJ*T&a zX^nN-w<5oLly8H}#_?$c+m?tQ?Yck&;r{2#1hoPG{35}{WM+8Y%5XYS_PIELyYCuo zK9e*-8N%etP9qdwujmnGe_-}9m z3&${VfdV+q%d=Bl|NOEP4TJ<+$LeE1n5LPfSU8`#c(zH>jT4`cm!G-bQj40g*geip z3TPJnj}h zs|YB67p#5L!HDh{U^+I2^_5K#tmB5BFvB?XhJ{+;#!dka>-+7ws#T(yU{WgimDDtl z#+Y?aYacve9jh$}&0k|pq2;Mz8yfx&nUHsMoMm^umX~ZTqwF0#us}@~xxH#9^Ule2 zf%PedQs@gh05nE0@IW7fHJQOhPS)q~8Q+I6l6sPSJ&dcm>zlJ+m)>{Li2d9(nBE`U z*G#VQaWn!*Ap!P)pJv4Twh5)lXl;_0-*)i<5l%&quOB?@_!W$v-#T{{N-9j^)=Za% z|Fu!YZs|8g5r6x~`}cp(JAcBjl7U;d^{G*Py`Sq(h`*%J08d|~UJb4i{~M{h=y50= zFWKb^M+pyEV4 zaN8@DeK$l4Z)@L03ZK%8!yI+h04_gX%3lzWSa3^g=lox|(8j7R=LS7en?aHA`?JZ8 zk~phvtIvn%(qh0NlwD>a-0|nFMRlet~a!uOkG&Ma2xnMAoMeK zE(`oDO)E$syjL0m=0CM8OKDgyn+%v7PgeUM$rP+5d9%=0_mZ6*tNt7F!UcF&&5*?^ zi`~qavar&cumI@k96q$KM>vhg`dVD{tZK6xzAsga$NcT6)y1o-Z+ykpX%RZ&05H?z zoGN9Fi)7Se%0d@PZQbLK%{&57BUIHc@fOl*5}Q!MUvzA&o(YnJo%zOLHXg0*>|GJFC;OYe&v>u>VdwWF?^bL)v$ z7lJ`munD9r9PZADL3x1Aty-qr&?*2y=M z9{)aVtDT2tH zV6Hpa<2)mOb=4A#&N}PI&vE$3#f;|776YQs-x~y+T3T==U;lCBASAOMBey{mZg%)sB_sYGqSOmZ8GZXul z)J_&%yRND1;!+IN7sq&_?rh)|E@2I6baq9HH!qwZ(YTT76g~HR_`_?# z8C^pT%inRN0568+SC@JlqHyo#d~eH>eH0+*R&9TK(jCqqgKQrDU%mCC;?`(yKL?FE zqV*HQ?Wn;s6$^}(tbkJgSTy=nG45y@P*<4pizlNF-9Av?e~0W){dPqBZ!dy1Kw4(K zRy*X@;xq8s&>_6P4WO4OV6T6FkjbFV&abKqWk<3{88>bGpmJzm{l<_giMSrVx=FeE zNv4B_-meuY95QE6vjfDhfPx5Pm&WnVt1%KE-|nK!@CXiizJ{w);AVQhDSp`YHhK9@z{rUQN96BTu2utPGS8T~bxtG3=Yz=3&MW3xrQGj_$NYty(V`mp!r_ zf;SEAb;8WI#IIi1qjlYpD)`+0ENEzd|3M(q&DUB`iyr^nxc;(!Nr>G#-W?-i9R2Xi zz(6Gd;k)hgJ!jtwjz={RYvoTi25VWLcI3#C%WGLU?UKgx!@I4t#L}v@QHDZv$^UHK zRLg~X`|YMof;;n8_h@)+B}PA_5OSPMH3!eAeU^QFoc$?Bt+~o=gcTax9Lk^m{yZt# zZA$QQuNLflJ#17IqT{ThhJL%vDH1Q9;X0yrtE$0YUqh#-HlZs795lWmQ8e3nSc3S4twCuoE3yWaIhE-hMg>t zX=altmE}-BaqazYR>6k9yEF+MW=XYf1rf(bfUf3EzW@3rbx+Bi0nn*{6Y7v#sHjx@ z{>jGqVtLO!>)@B`ZGd;QdH`O$pkcrcGKOa)sR&>xBg?0`lQj1k@Af#5(b85iw^XhWlsz zI#O-cwbn?v)Z@f!>aHjySB|o5bJ(E>+)mX?L z2Dnc0PTY)o#;d`lq~dKo(WVoEXQQD<3eeL)_dJwIC|Yw9*6dFUa)SHhZ=H@AqRIhj zMoo(pz(e<(}r#Fwl=+y?-usi5AV2>9#7Vs_gb<6(XV`4Z09k^&|WM$6z4 zuVTIa(hRn~AI#j|#41&;8pdPblbQdmoivZ0o;Yv%*V*mT!s|}@7o&m+pc!>BqrGs_ z{{-Wb(jZBHq&?M%DRk};3rE~{8D9*`k+Bj?!0*!y6}I~Y|8lktN{)V8c0k`3+h9tO zpird{-*~S$Thux2Vn7Mr!N{tPQ|#z5`l{XyyQx&=vQ-SiImH@(5?M}PMaS;3*N+z9 zECx3ZgXKR48}imxZ)ObPNSv)M9v_0`iBc*Jxqh=`I?Xk~U#;UD1oA<}{ZNiP<60jD zkgxsCxq7-k0PjHm1r?M5kCTdJ>>yDYeONqRR3z2KS6%my^QdI;$JMZeFU*_l=(k z?ilR)tpp@`@md`pzK+}H8(w5?6QOcTQye=5k{A6MhK+c5Lv1wYEP*}14gs%P>n{FO zhE%)1xg*HA29zHNGe;vrGpg zo~bhl8_lSxJT*9JegWaRK{-C+)1Tuk9e(gMyX}<@_WE)MZl0G0fyP;7@pQzqevXy< z8fRkVk~EbvP0`i;VyN}|yw2X|4RyxMa)7qw)WTmz8yVfT)+tQo#Bds3ntobSOm?Q_ z2G6qwi^GBpIXW%F^C2{QkH8CDU3fNUksA;>zO7!Q3g|b@!J*k9L7~t-pQIqW*;|={ zXCNR6<$cHkv$#v`w`-;lDp}tGItnZcXUxn_V!Ael`%4E4gfFo0^)l7;zRP|?KkY`& zMsh(erqy;)QyI%b-f`5E?Y?brQkQ@+)s$bx*zDD;L$Tg2YVsH0BgP}L=ZHjeR)WiP zaAsj9Ai=<(G6BQ*N*#n^L5ju2Op^FxVT0mUVOQ~-5(jq$=crXynOM0fZt|UR$c$PH zI@rp04aLq|__)PtLt+a1Nt+-|b~Pdl)?5;{v_R4G%-=qu@PsrI$X{b&7Lb{#_hJDp z@#bFN*bYw^t{7;K_EpRUp2p=10U+llM~yzR@toR{cp>NV++KXIWcxc;d6|{ z-33kn9bwL9IeJKEGLK82OclCX0rAxhF9A><`L8IkpWU2{fR_Pd<%|IbDHNW%xMvOm zd)vCcrjw@)4AX*2POCxJMXvcPwobV{B`Y%$rA5x7#Fdm+0{}r{YJ>aIS2aibFN{%z zlaVh~{eaF})VEMH$*8`Y^EI5(3K#5zCogjh@0Q@W>U+3wO> z${tXtX*J$$CyKY2R==na-zOV^Eob;4%elN9XE|cL`od_9KD^viJ7i0NBb;&G+%ieE zL%1hObRzL#jur^N@^^sdM%NgHAwh?bYtqLG-z|{{!<3@zqx3_-Dwlsx`TV-A(SEwn z0f=!W6P~VHXH`D`Vu^mtkzM-H-<#7b`Sy+R>e`+MN5l?4PiIbypCA&P;>Q~2VVB|- z&Z05Xg%mw4Meog?v*p|e7ZKoiOiLvAVF6@UBA-`X{^YN_KQH9gU>=`BpdVz?v9RdZ z#d*SeX8cT}DHzHMxsF2P9Jt@F?aYn@&-9$vKDvF4d2f_o35Bd{y%U3z3*trxz=hY+ z`Vs1|pUYa!He-ue{SS^0UmH~KJ~KaO291I_ezTa2_>RfcE7JPhW+U3}vEBdHu#!5; zL~qYXN^xPHU#jwVVrJEIFq$k4J5!CzA*Q0sDg=l;oi+WA77G`4Ymg>*Tw^dOZ}hF* zl&s3sz8>K#HL*Va$7;PH$eK-KGJnJ&QkHAy&|}8)H(W7GuP8T_xHw*oy2`^FM$|Qa zOQ^e|Z?8tW&B%D>Co$A0Xx{b-`O9mY(AxEvOWQY|%HHpFjFCc3bzs%#KGQNWhgfeBnCcF0eHH){-n zFps1=r{nQq;ed@IpXz({+C1@u+p z5Xa^chKAm@bgZ1fd0;gzxq@_e+M2%DGk2@P6IpN(P+|$higc_-nAcPm8(}|KH&t^i zDYq|I+^83}N|2f*7Etq0c`!nC!~W84-gE6}1omI%bs*jc$8 z$ELLqYRJOVLe7ciK=g=>t>F8?$i|`MOPQq^rG_~4e>$FKn65Wszx7%l@3KlmjPLbN zv#HJwJ%V}GP;$7Y2w)46vETWg)h%;!^Tj+fCkjH5gss^J1SE0o>XuQfETlPT;dHO5 zo>tvZaYOs7eIqx=Jr>fKRIrQu=-^)GvSGJ)w?ic9Bfw6mrzN#hlXYq^0D_6c(Tv7} zXMUrMOP64}NqD3qb@a2H8-|zS3U}iugKx>X%i2usfbbiH3T27_^7PEU$%N+Wb?>JE z30udrUBd?}D{9X7S^Uo*Z@IipyD;Oh+O6a>Y)~ot1(}hkO>t zqvxw|*c0y|t&%KFfWD)Zqs0hjXOfdM?j&cV*oDs!`xSLw|X#g`izPrdp1l^;VLC1blNeiU{}15+?cI>V?^wJ_!&9>Oe6e8Y+lZ z>qh}2{O`ZCwc9xn6V8>8Y!0|rfA1eyr4I@3;A}AV_$6_C%&|nv5Q()!ja01xZJqlI zws!lNwMD-kpv*E|X&ULNT7D}zUFWwnlLaYX?#l>O(UhGA`8KQ_D3rSSZt&86nY5n0 z?DC22lKVdIGo5x9JjJ3)B~rcu{36$^c_@u;EH5>p#P+wz+qZ^^$bP5&T;bRO{9rrw|Z z9rxk;TCZdwC7;-IcQnAYoSY;Y4%n(B#Uk?}(x)C+NxkPvtMg`bTp1xV^;f0mCwu~uw4}+6z^(RU8 z8EMmk4-Y<2;G>>aePwb5=B6%=?K4SzZu>BVTw2K-J6Q>>jWrm}Hx9cp8Fam%-dK=g zj^KxWVn4W4>DGV7qOM#uUc4}${LbzBNGb5~Dc!`yQZ8 zRPO;tv*;VXKeT2Y(mG;S6*Bgn*#G7r=)Bp7c%V6wcZ!bpP_~xZ39_q6qS&3E`kr_h z$^y?g(d^@+`2E^R)tc?4t`m}xy7KJ`@;Pa;^KLyDbm&qj^`eLEpA){DnCB0e!U%Mj zb{9yuQMDw;IKMh(*%eO+yqr8O$S~GOWPs>khjv4zE&dh>P2A$X(k{s8g^{*M(R1|pjDJfpGOGZP8BJtg z6=Sx355H@Es$pqm8&Xkj-kEIc<2ps9>_{T5t#t)gt$3`!VRd6-3tf4}WgH9~ys-?K z;Z20lwAUYWsj1m~mXR;aNRHXDc-h6{VOvvY?l@sPxP42E2a1VjpF$-oqyomO22vU;nX5+PMJvx$w3(Kvud}!uQk~wGGXDYt`svximW*Vj$9vM0byA+dpm8 zcl8ii()zUPUP)})e&6>#!piBx?!iN^3x?W|HMV*I*^%;m4?<;jLA}e|j#1?H-#ayb z#YDJP;#`STzl8;r>vTI@zl~hi*i=Wle0L22-ko6tVZ(|3;d$z{)__Y?F9RWvUg=yo zJDZWMIOp4(wMuzn`J+_ETMR4wq^|O0^1ZVp2ak9Az0LO;5c3z02}Eu%q+@p|=TrxcD=k1C{c>6*v0Ur6z|J0-w#L(B$~zgN2hMt}!*M7I!FK$#SNPp9f`p>)g_3*%RE{VD z?ESw)W_y$wxoz^FU;C_bpA*_-GUK`@apSkK0QJv@xp&2wjSsmZkv%Z|i zLfv8h!`y7|Et|?*^|IR}H(x~iut?VYTRpWDFZaoeQD7;N^Cvn!7Kx#blJU3SmYpKo zje#zIqW0Pp&dfcWxT2}$9wEpw@546gbte~@FU@5b#hD)ALI_BX$(M}UE^nYdI^IG9 zTsY^6U`B=bMckXrO4GO1M4#tN0{72hNtb7S5*3vqzjBH6$5RW3N2bX{sf}`P?|m@G-3u6ozg;9BT)sM@~$Wa?@eV5&m z?_Ya@E-NxF2v8E0E-LMEj?llZ3 z?LlA2HRWaE8jcrwA}WM8Kge0E zdz=q3i@$#W-fownw1#yJ=Y?4EM8(WJaG|HoYVCZ0SA?=3_*{LFV2-*fZ48>RWP~5t z?Jga9x#F3|Zi!wiJA;+hGadk<@e zA`@#_C5n~p55;Pogsgp1iC``qizV44e2?qQYIVs}UQ|Y~it)I?+XY4W%PFi0EoYN$ zV#m+TMJ1;-Ja^qafxvmj>x#5a7QOl1s|}x)J@Y6^ZbK;q30P`q|A&BC&mQvEj4gA<6O>2)Ez+J)%=~xrVU5d%+p<8x zAUi)xW{Hotq0w!80>ni?YlFMBAI!70q>NW$1bAQm%7)lz2TLFwGkgg57*jU$U?C{BI>yg-gSNqvyt#@`|{XX=^cWOwI6ui2XgqIM*H&kY3e9FVX3opY2 zf?o)&bsm%pfWu_zeb$;54SdAW5*@oE5H9Fe0UI!?#L@uxw+lhOc9l2DjWkNxJGwI3 zHErpYe9Bnn4gfrEldsp(K2;yxFNvMNZeoK17r72KF_7QoZ2h_Bch}O{c4NVv>sctt zSG%RoFBcIoO;(AzQUkNn#Z6XsdkAs!S^akRm2_fivnfa9ZVUJ-qElOGtSElRS8R9+ z+49Z4EvjBIExD31#aPu!%O_$4!_>2LrSTkB1qkm2!bHD87Su}K;#_UXcho1tr>kF= z-hj{ow%N*OCp^!2i^Pe9{QktaAk@GDV=)%yL1DLj<~T&RZu7#_n$;50_T%v;sYplY zNi{+7!T~6z2}Kor;VCyMZjPo)SGJX9pnUH?jF++)(}#-d&}?pYa3VUvs2J!Kz7igf z-MJI*85aMzv{$9@eZ$Bcr6Ol^!W3vnWIV%m=aw=O_=2MR@-+FEz!>&D1t69#%DmC6 zQK*udt2Tb+&gQxeZf!cpI5D~kK5KE-Y`m{DvNk9pMwT~Xs~~NSee2;QOe7@%5;&t{ zLc0>mYQeior{Ue-Do~?e5LukTcR(=w8Bmr`*w2(IFU!T-vceylgU2;z#)x-)=zlDb8($tt{q= zH*6Ngbq|0m$^{ujHf2inErrBrx{1Xzge`Q{jqHfmWO_h;gf4#I|7be*cqae<|5qv< z94ZxZSZDPvBsmP*Dn)%9Rw?8(rzod68)mDNC8tV7IjmA4=ksA~7)B1u`D_@5VVhwG zJAD2A`2BbN{kq+*>vcVz&&T8b=qvS->_R@!x9l+ zmzpssywNaI`ZdqfUoU1&*dXo@>?Q3~CHuuhSmiarJ4U+@w7v^CpZlDS&9%$CrzUt2H6DX8x))syk|psT4? zx(D|WSPN5m7=u$(uLt?ae+9oJs#sb^Vk8dlfGobWm(Q!3Je02+So;P(aTvBzXvN~c z(8G3qPZ&bY{d5N{BWF_tvpPswwGCb^HM?vh0;*rEmsnr@(#9eU5*j?4`&#&=ZDB>a zrFH+oB7=q}NzB6;8d5TDqEq(vYPBkPWlD#50t5ITpi|5vBaNE{30?I%rKH=nSYg9W z*D4(k@;1)o+x+$rcBV5d$fY`yV=J%x**$k|O6f%$z=1H_Bf#pvBc3mII(j zrucZ@mb8qGM^1yu5vB6tl_Y#ERC@zKgMY(DeY|hTp9rXe(gOm zzFYoS$3rwy^E^a1IXSm@u@v-Bl}Q$5OCEdW?}yU_AOFqe#g9X;8r1wp0t zC38W(#Jt3@RRcMt|5j(l2h(wNx|-e-8~~G5xHw=fKU|3etG(fw z=DUwhh&k0#HuYUr^pi%FN(}br)!Ytyn+WD`k8$gKf;qC4&l8RRtxsQw%ic%>IVfB} zkJ_Mx4TYAYIGMODRky{;#*0o-NUhusi{Sj7)oO{4C1Kr3e^yI6z*q{1Veq-Fp4zA^ zi%zfYoc+)v2OOpF4E|oI5&x7F8>OTM;K?8%Dd5SP%9SkwW;^*C{1 z(&FXk$<5_b>+OqChYRGUm)9v|t8uJY)OQ{%t0@v}pu1kMfz=kf4-DMO7=+zc#C}LU zhgLnEervB1s&wYTAyNDAo0VogVL;TIq@?z*m@7fUMpS!BnvxnRHaB?>kHzEKmJ3r> z;p}%LcMWpWr$tn}uZr{H>y>8hOwQdgIXSdIx$Xz_}CUY_5QI$TK3I==YcmoDxqb zmlf!8TYe|43Mtk6-i|`M4-CO_x~=3JCj-}ehCxq>rX#WSTDYY@n&$&`x&E8;CU{2O ztb}DnC)hp0SsPU=x)b)^<9Ut-qsvbzGfVJFH|60 z>u^G{U81(pl(ggou;NR&u}gcJrrTAwSCUFKsY5V8+-)e58{9IiZ>TPQgVzGIl%eLf zRwu_-dqY+ z<~JBra3U4!!|O9;Ej%Hr8I9G8Q#if{FZuA@5%!n@h=bAE9m3aGO)*!{rx~Um&R;SU zxo(p~SB(4gAl%@?mm`>+=vz+8{J_8{kNVqlCeUTmRX=tcM}FS9F(B-Z7G{vm{C|=QMW3^!1}f1HtlN>Eha`z z+?Tr2sWxM59^6H3-BeW?tfH>1l7cs~>hY6Q;N*OH&{WsY;^}XZlm*lo6@H~0$4X7t z)!h`jTpTJGl&5T9l}`tiuqp^Ry%9o#XU0)09R$5zWQR#~biK(Oe!@mx)r7^r1bWLh;mJ={w& z_3?GL-{K5IvypI+f-dTzVwC15EQpHPhYyM zeiEs5g53dyBba8P+&;*#YOnb=0YJ{!fcjt(;WeEg!}^{qVWjps{LuBoo4m#WR<0`P z&BSoJ-8yS}c2>^o3MX z1fHBNxzpK_Y3|`fy8*Qg#5hWE@6-uQ+7~}VV4Uu=7(tm^Ut$Tby`$w7a9n|Tczl_m z3%uMP@gIKXoSY4H#vMbk9jkRsPFI0pNz<=g-v3O4xP>mq$?L*&Z`r6XR6c=bZ@iR@ zvwUTm9r6wB_O8s-XHHMm)YKxNAT7ZHxk6;FN0s*2+;L7J1xqsOuQ2asK~KudWk$2R zv4}qtj&Xsn9*g)hI=|^NE)bXU$*GmtU*SJsc)n}=WbN|mU)?B!MfU4I6N;UXmSXwO zj6D*f1fpgB9ZTJ{Kpkr{x2>>^pU|Xyp=u?P*^>}QPDyY$Xm9o#3r!97sWJz&6u}+R z`!ewQm7j}Cv)~S0Ooo12`*L(kv1sDwsO(dpg0558mLrz*PpV(ioht$VjD1>Cv6DYW zSlzh?pWYe_c(Ov#$vw-2&>pGFHVE80Jp=xBoHtSWd%k|j_;Vpxs`kywd}&3qw#kDE zr{O{wLpGzD5OPr!!RP&iO~?!jtkPTg)1}_|aKC;DlK`){OMrpQ0+f3l%TGu=iP6+B z;1$5Z?6Ly=&Cydvf=&5Q*OJ#!9NvCe2qcX(I#KfKHhKQ#kk%ESzBSb`CoHn~HE!6D zvOKj+beDe>dHD^am5e$CP)H1m^qJfU9>PdB8S~syoPw+`S-V5-krt!+&!o9dBEu3v z+&5EaMDK+D}J<*L?1Yclh`4%*cIE0Kd1&VdHA zi%q6;87eBaE$-tc;#FEu3FU-hG{rV-B`3ka0Qvz_QOn=~L~z22F+8fAJO9XXD*~b_ z7&P4&Md}vux9)CaMsuobDn^3>!TsV49Fs?&_tg3NF<7Ii5EdfZ1&s_&I?aX!HKY3m0K7$4L{vCGi+s-aRpcqgjk|(#~+~D$%JgqdK-H zz;RQtL|Yszwj8{fdQP`=09zZMFm4@29c7EbA7k#GCnS2dG|6=1!x2M)813v?Rx8P2-W zy`7JghsF(m&mh)!yTQ#{p96stKh z^Pmwdj`#m&Q5-_eed$i={FadPYF^m&lIX7Ho@Z31##P}!NtykgvL5VpbWjf%D-!cN zRIfk_1lnVFgV&K2r~mst$_AzPg%4|~Zqv4{cJ+`R%MQO;z`#j4wD z(M-K@^0@&Acl*WVJHUZ}V0C}>$CBU5g1Q`j^__0X&fXn(n(;Me8;Xmi8Xa6|PXX0b zFPe;OG#|6BT|ZM7N!08P{a@YE0oh|#KsEp?Bnd1DUuRPs0Dw7YT6{XXWV*4hNJB8X zFtWZ#$9%uNSW45Da{H++LiqO=YlUy9XGW&ukL&yDY0Hv1tC23)yQ4yPKY>OrqO_0VREe8^kiqqkx_mdz3?zHb-=97 zFey(>k3YN4y-e}%&26#Ct4|GwsH^W&Yd7XkjkNx`nn* zD`)Yt5oI+)ib@}$>JIpOl`YIMIJji&>vnY4?jtCi^)YF?-&r*HzG6pFoJqv8H$6_G z(HnjBv)NXnR+Lhc=I<9O5#2yqDhI55c0YDy@Uf#cp*F=#>)G5*4ZyAKM*2eidwe@3 z#i%HQE3>}Fb_Tp0Xo>~v7o-ev#ewVRD5jk_5SIY9(YU-wY^jPhbJEq(0H{+2UiwjI zDiU9e zAD%zo%fD;_Haf)ZPKXX&&U<07I{qeX<*j`>JZcVoRs<9lY?srI=l^cct+CGLq*_l5 z=VB_q#%TeOr3GE8N_KfxF^%Pe>Dk*DHhB8wu*5%yWq|nfyi4KuG|9kJo~5L&qt?{- zQ6}@x#m9JNN0s1hRl4&(Q{;QSR<{&i(qUb_Im0Nu`;k@)C;T|-8@FZ-yP=$?SGq$_^~0A(dEVDxE&(6gH?mC&4=z2~*rR2z6+$d3# zTw$+_+_*WAkbny5eY-u6BQ+ExrHw>UtyZ|fQZK4V?Gj*dn{-U*)_nKqiOE+d!C0nP zA3HAQBe#vctPIRxnsS}XDn!;+_cKhbyB;+WVvOOm_{wmJTTzMUp?%S z7RC&?r>a$z!83vqHda^mcMtnXH=l(D4RmS6M{AcPEk-AJW|SOFDhZ{Wzk*d8RP6Yq zTGvw5s!N+NH9Exf=qem5;NVC6RP{(3W*&70bOsG8MhURC&01Qb`5QgALXq9kyD#$J z;@z||4RU%`&)Ac&DE{KqzO~K`?kPZ@TFe|gY7^;(ejmNfW+rik;gcs{tysL2qs88K z^vEEu3$E%lE`8hUV`-iYabUByrt`$i-{-v|QPsUA-XF3wZR~@Z2^IR|?=`!-i=yVn zbUL%CQeGMTMflb$b43;9WPZ&D5#O)11?E2JevZ+poY$jO9j=n56RH8%)hE9^{Lrk8@C_AFNIbevMDl85qee8=4olZhKae>R5{v7dBi@6$EUjwl4o&YWcj~&z1sH z80e%!LqCjV#)FPXxXR{n*KzN9$eucvG~{uEN9uy7CZa?x$0WZf_&HD!b_Op0s2C8z z>(E3zEcHQp(r&D7EIU zlA;*-Hm|n#b(XKN$KH|dK6D6Zzhbfe_qN}{ykfGA{EAa5BbxXg%=cES+(e7k_FJVF zzkMO)#5UP1q)kA(OIDY)BkP>$ayL-UrLq_hpe6rYQZ_l$aqNC3I(~$tc^tK>yr7g! zEPG-v?9e9oEMTn601yC-AYvjNpJ|pl8=9U8=-ZHYXATj7Xp-P{%Xvsk_MBXgl{fvp zYUd3202#tN?Uuys#aOBO>$a}hrY$c^@G!|JTg2KmOIgvXyuIYrP?r;MbzKzS_4OHo z*UjvTmL%5bh~{SXKJS1qmE}EJFu#aUv5OL3|Mb?YBDLUzXfbMyumy_RD0JFt-%PYm zaV=)OIN?3AqBfW(fz3FGs8N7#Wy&YGY;UKo7joa1xFtkI1aMB<0pK)mZ__G;4I3KB z(>JqB3;}x#f@h|ZEgpg>$_!wLvJ+)7S3;1$nGjD;f6-*=Z@=PbUY>Cx_me%)CllxN zRg->zU|_2>kO++mXl$Fr<4CIopfm#vqvz%~iEO*-~t^eQ|_{;{T=M zOh{Os6_(?i5)tbj8GNtq&OdGxq^xL4phdrxF}s2&vy~$|7weHA-LmCXgw%5(U^ZJB zTNx@>v{fE{MIfC03phgllGbQUvqEi6HW!LJW?iB(kRI`<_3s_yeI?p@o&|~ZpJAze zid_XHt*a5sX^a`yEK5%dOEb;wyz?5O9h!j^CdG@}^l^54uC5l-W+MJRaF#KvdsVl+ zqIIUQW!vr-@B0Qj^8~X712LyY7EERr-5G=YD~`=vXUGXxteY2xhpfnqHw)C7BTb(Yl`) z_8!z&A24$Kl3{IeQ>PxdDMd2g>v6uRi>T4m#ogX_fpXOrv9EGCfuV2okk3Zm=nOmU6N4Wk_0<^YPZowkv94@me)_tquHP6Nb8piWznQ=4N zdzP0Sr~auYA}JM@vB=)(Y@n7#RZDqM)o*ndbMYRnYn}RoHFrPPAq&JIq z%#=F+Ld6cPR7Bki>hIbqT*~e$OkboEW1G&FDH2E0WDtgsO)>j=-<}zsDsrEFnxBun zr{=u#BRTb^OBzwYG@GA$IpZZY98l@n0g?rIbXjYkxb?5Rs-h#WYk?ce>Q35ll3rM@ zgvIfBw0c&yB(Zkk^e}?HAv%5-Ch3i=9!V7^B^5AKHD_HeZ;u&$$G}?!r}8&%M~Q~N zPf#-Q1}pV9f5WMEV;h<>!LE_>`~s3apxWkC)xPV)#wF8 zv$7qj>x*x3{0<7s7k(=Y_Ffx_w)kuCQ?s%=qwrK-J1cCUO|2i12MO<#ZYv^7UX8oikb<(eaqDy^d%fZ_dk3@2uJw44KWrR_7&AmPY8& zU*45qeyNVOuTmSI^WHLUysijEBr6#NyxlHf>Tq?UM2`Q%psyHRPo;+pksv7HRoMfZ z5|=p_;Te^i%-MzHsm=GvS+!7KUy!Y#xBr^RMb$uG<7DL3_`CdgvaASN?{ZpqMTxIA zPeTR^64fKU8-@eYptUNpo3=kT>3Jsr^{i8#qJg7b8iAAP7#B!0C31h@RzsxuOftHb zmvIh+z!fslAlW@wBOv!DIjj<(CAGSizEzp%8AT4b>rE&znHrK**9{$98uw3+Sb?f8 z*9<8~d{bLR`U)q7cJ(YvM-B5jD|RF2d6uNDeKgIoenGEXmS5&c2YnJ?zZ(bW9g=jnczu?rvj36Uy=9@qq`D@z%Gbysc+F^rXA#sltlivWL6OcKWF$!iDd{#OQS~ z8zN>Wy>0j|Qpt&ardK9)s3FK-pB{32K6y6$zfJS}s%umJT;LUjmxjrp{U38MyWZgA zz6%~bKOkXqD!yWU;o%*l%~s^Qvi(UDPP6rD5w*U{zOAb3>HJP^oP$SfTvfYvX@DrE{TJsxRGbJq>{)5zNDKU^5C4Kh6D5T4GRpWgcg+?#1vtZ2YXOi!?w z^e=axabcWXc$Te2QMEfJ3o5auk0NumRSkctLk)E6>EQ#`f2^YOQzsX0+3`%5=|e2ssrsmLaqvzRT?s$Hvh8p z^tDj$#Xzm4T4W`m>4We1JzW|gw}@7sdqJ5(_3g8doom*WmkR1a_)J4vNnl8s^Y-^x zGjYi|pR8%f@^V?(??bz-{3c$M;O5jc9p~q!bA5Ue#Y&hXCd$}TnF-U$J=2sJLV)FG zVzwq`&_m=>a*o<@zDSG5?0F4Jcm08N)xoV zreDCa3U-D(F}4;a%%!Q1B*0Xrdrwg{>(|bz8DC+W`HevvLmfYcMUWPFYEpRaQ?Y#H z76j+ha^wlsq&BU)fSv@9wP&1YN-=cB1*~SfZ!`5Z^@G>XP<10*Wux(3dp@RpzaxWe z%Jw$)Usx3p;5JjqDVJ2h@hl}05$?nb)o!Y)3Df?GPBisg0qLYySS!1}98qurzb!#9 z*^iKs%in4?YQ68k7R%>b>*k>X?xspq2~Evs3ou?m!4wz)2mjcYOg)C#lfuNFoDVgl zcD2RUa;W!ukJ11E#d1~Pw2Z39+I|PRVY4GVxwO>wI5eF=dIh6-!@%DijaaKJVZTrD zygEY;Q*p_&V`kjk(p;lEjzQJyjG=ir?*_12s+3+XMHH9)79?*klO=Yi{j;LGx?tir;#-z??#%2` z8=#FM2VaB-$>F!et5(5Zx8%gmZLDVZ?~vemG=FmZ9yTcB+M18!*RO8wj>&{;?5iPR zXCU?aj~4nSJ!TrnM;YBySe`j-7J_+(?uMT#%~sP3t?%}Ov5MmaMpwQTTV}+-MN8f^ zbA(seASae=REM8a8yv(aSgw#h*XtEkTBa#Qt>wS?zp;#Si}0ehF5w^oCY;E15h z#)1`z7a4F8ey)D>%qK_NHk@^BE}VHp?S&s90x*73}g{b!sHYCBZHU;pKz9op|5V zS6YIc?&DZxZJ5-ujO>+ovLmBv6RFl3^|aV~QD0wNZOQZN9>aEkh=D8Z3kT`?SVzNUgj?5q)R&n4-K9SsM6eqGb_ z2sj<;V|Q?Nieb1F-(AM%l}jf z(Wa=?)DO>+0YqN5e*D}sUk`epG(KNj9nUM0u{-)(d7VxB_RN~adl4Y#NdNWq1D%=+ zLvBNQhldA_TTx|l=C-Y9_>D1f26H)WW-dwHM`z_GH4t__L3(n{-jTueP*_&y|7>qO;ZOxXy>CW)3>$>X%mu~-Rtc#^vICUbgX(Fe_ z(u-XTwa%0fzbExNW@KRIif#RI68I8jy`D@pM2cq$#<>KVAq~;p~wlMrAkWDNEGM@qM-T1t3XCQ(Z!?0UP zj53IrNvj8b33|ys0~(U(ejTYgF2s_zek20u)brk{nj7zvMX~KbHm82dTZVjz0S;Fg zt@W!@jM;RH(0=B$CNwjzK*17krR?j53N2Vwp6L)H16Sl4AKSQAL+%)CCdvk#`wf*b z_2J(E%we2>v5Vu^lQj9EiUrWy6K|mXr0xVS><=5Z|6GE6BUnLO^1W;mvp*6J-YnAo zl1$~)G(O2gwa~mD35xF<*R}@UsDfP$ZSjo%v!zJ3SQmZ%n_vHeyP8f=N&4+%Ghw+( zg~MyJ-^&#@J|wK*>10@wzO2f5U9D8pa$X(VHQ`SR#?n2I*FAJ0KRGCKIO?1tT2)HG zCoNZ%F;?)xx*kLR{9ICvMh`GN31v_mIpDO~J&nq4h?WMpKgMQ%E+c0cjeuz?qLFQS zBzx{PTxNmg?Kc~;UNA;G&#ybBMID^aomdDJ(Tpcm3^bNp{{zL&fm0q)VYHPq zBv9lui*9r+u;g39fKFSXj`veuWZ?&5j%+~}iTJY&kSLs`bL}kIJ#6QWC%ytYk|c}W z{O-DOQOrSEI}d)PA5)+esaTAQ<5vyD+Q7^xxe(t97DK{$<5E}&Gt%_|c7LkaEB_pk zP$XtGe}Ao#t7pV-b7;_~#ZI>nHk@+~DsTV&={zUUvw@3zMAWdW#vDrg!XZ9jwjD|a>9}qhdo)tK$+)8Ji!mTR zefDs7$?1J(MK`XkX`VW9`|s_#VEHxX_qWF0SGni*sjK^X zE(bqdyrNAYg7euCgAs!x9C|G_vcS`1wH~`6R9+>9z_Pb$3%8iOTWz~QCLPI7qWIq7 zohOY>J70c(Va((tlKNE6T8L8_O1q*2&%C?lb1ok`8TnhhJHlhHC5TeKTMgO7IaF7x ztNmY*YIy&dn!VAK)d)g*fpkiQBRo~IkpByd6FmF=&gKKWWa!ABi9(7a*87TABrLk4 zer-+N4tYd|Y)PzRRMd3Te*XNv?jt{<^eK)t{UtQi-nl0e#$5g>{cK|~`NLy<`|XmHu{LMniWPUn~G$TO0D0%lD(I5SAm4IBG_J z2_6RZI?vUkidply<%m-XWZmm^az4&&_kMK!tT!y2dD76pj=)P+4``CXif5g5+cbx# z(Q5kc?~*0SRf4or{}{Ka16bdwp;S~Ka&xCcQQuBgnno#k-O{yYv0GF}$BIMyOrl?FQWc#hDi;UHbbSyoYxUs16 zaTO3+iSaFM2MJeU7chEK=~pA=E@V1LQRwY(Qf$4~VJU3sApV&d`gc-$=YBuk$#|L> zOr4iBl%}fEd{+059UCYaK#6Qk-O3~x4Jc@ z^E_*2A)I4e=07X7JLGv}(y_nl!iv_F+j<64$T-i5A^>o`+Ktnb&&D5bVB^iKYywN$ zz`?0kK@|V=dC#jQ%k>+Rxc&Y8g`!$cwlE5URCFSVq?)y99cudm9}LaP))jCnwhXo+ z$HEq>T^?ux@9ouWAkHRC7b9!nDBg&ox+H9wg&K`<2V#C=xzhjhh`cYu+jC=D zuErVW8+rZlxSoIS4c@6fN+ZAtwEydFMqyB}<3=8omuoZDNLMZTyS3WY{$I{6k4&=l znew7>nFl>%a#tQ&cD&5tj}58}3-2`?HJZJb!MxXH1u#m&K1$^M@d(M21!+1xP1hh0 z8t)Gr=IJE9wz*@v4cXiBLocEy- zZyhP*89lIFc<2tedvS_?B`HIDs#8}NmAmqty{9!#( zH_2#$IxB!zd8{;Qd)WEvg0nc(hRNnFMBc=(fxj1{bJS1w5?=|uXWP+_V@#fhunyL} zpQh^-so>esl!5QSuo%sa*Q-+T(`2u-x-?l!@gJfPr5g-X46929w-<@>BSniEdRKQq zrhwD%jb$2lr|LQKX1#aFg{tXyXA|!u``X^|Mv&OhKw>zbG zWHf+)9*ExV`RXKMWb=YfH84zGrW`GZ&y311j$Er|?9VlN6`CUN^8VUcY}kpEu-RG; zDol0b;-#cSOOV=`c5Cp`NZVSb|D8j+DsI&Sla`seLw}RCETQ}hNnuOxLZ7#?yNCvs+_zCX1lhP) zMGw{#&oIvASrwy=B*qG%!nLHAT?KDy+h0yOL6g`B~!cp|wn{)4oPr$Ms)UOxg^*T=KZ^&%hubylaxZo8wM_e z>z~yu{*o#Fu}AS9W}DSq9=}OfR@=Gb3d2DDsKNi_+i}c1nd%SyI(cW$=aj_jd0t8| zdakKtykpNqReaMY-5Be&U};Z&wX+rDN49R0pSWL^dydEw8d;HZ{?2OdV2PWu8mLWd z{x6*6Q>(D@s*Nns4CYa&Vy4`B+ws#9{JZEEo*r+qG7Q3M_CKt6;Fd%ft9P535f<<*x09uI~9Xbyw--&*fk5zfVbbu>JZJME|fF zyY&79RDV=C$}uedKrQUCru=+%1~H7{S5ee0>^Ij|rrHd)fw0!QqlN!7U6MTD<%TG| zN<7$Dta7LOz)jbS-AejryGINr(8Qy?mLuNIABIchn%|JmH(IRhv%EY}I=U`HdG0Hz zF`Ji_SL6uKZYX=brPJzv0SKodKg+{+QxAM}EHsxv70cpFRl-if{qr-|h!g(`DSBtf z(>h-smzKB6BJPp?<-$TVCQM+*u1FWT`1=2XQD^sPXR8AKiwiA+5q60hzLU39Nd3oI zHmsYk9t(ye$6il0-Xi_77TON{7#y1QetLh4G4$t{+uqBW-a6wQDd%+qSGyg*gmyI_ z^#2me`6a{ttT=dB2X91LwJW1#NrFGxIRCW77r~7&>4-ouzr3_s=V-wrUH)NoR=A_I zDa%BPC_KF2?G>5)q@)qHl{uEu!&A8DuoU; zfz^o3nQ0!Iwnx!hX>Fd&eQ@X(=dZE~h*9><*Ja_-1^*YC@{=imJGx9}SytAR@KCpg zs*_QqDx=_fzH>~p7ui#mKfWALol&BN+&1M;zYW@}_i;yrY{tR#=@2)Bg` zQz;={MXmN@{6djIPjJV=uFA~_#z;JD)bOsiGO#C2Eqr!h^F&bSc5y2AA?O1#^BE@? zw3V4TeryJQ_W+=T(qamnpC$?_;i6i{8 zmE6!S(Yk0n@YfXRlYJ+g3+XaldIwi~qShjt{R}rY%9EF|l05v* ze4!Y>su$ItEhP$G5uRB7e50t)(PN;DSF31!{}`+62!eATrcdT&*xFrGh4kJPbDWxQ&~sY21m>!IH;lKh2x$d9@VVqW z!JEAD(uVNQW-PA&8r*})=-1xc-j4SUmwxqwF{+yVZKs)Q&L8NN7du_%LnU|jXNjE+ zCWbDiq$f>3b55W%8X$vzjQw+KWVPSV2+e~|t^_N^H|j-6SI)(&k7UqKXsagSl@UW5 zzrP3KRQzkL0j2{Rzts^^vuT+)7_+2f`#fJTUacO4VfRk&uT^NE)8=ztzY}VW4C@_R>IwDf%1y2J?`TZj5?Y_VT&wX|k}_{9oeP_odZO7- z^KB`U6k1_FIT?6M;#7sQZP zNhzGD{%scXi1g*(bwnYECn;IqFA5#kb(%`AFIi{uf0@d7{xIEJj|#NgLO)eQJLrYB zpDYQD2neisO84NWvtW#D8SS*po`N&>?)n?&uNj+KD89&>?qhy%+W||q}V4-EYJ&V+1tYmR-9TOVN{Y1Bs87id6 zh;(8I{h@BuIOTsGD$l9UT5SkA)Q^|!L!s)1!ZD)-NsKu%C-#H@?RIs zO?&a5_lY!GBZ8E_n-%3niwsPL{5N&&_6_g*nGWeOh1X^_m3u_{?U-Xb z5E7`x%Dfb>>`mC*Pk^a5s%iHFZ+VN6#{%hR?cx&zjVGQL!n86KMdlvB;a#@j-qRnz zken%6yJTNz2S1`LmR#HaY{MLNvv|pOB7L(RWRfk{R`cnq+4r)a3qdz}rp(0Y zxlvcP={BY|pUo(rdf+!U&G_S{=jShf{7Xzac`_o|ElOeJeAR%d8v2bGd<&;N3sDiA znlyrbduK-gHd=*_^!>f-p61YVx9LJw6_tG#zI201U%2QiN!ndCLpGZm;@F-P9KV7? zR@{p_X6bTV>R3jJ%hQih0VU5Jd>wO=ycl-{N2E4xH~g)34w166xUOaN7s_xn&&4AL zmXb`fjHft~H|2k$HZAnWNynCrqG83E%$J;2O`{_4N;__AY6$xi ze^FjFPS~7`osA^o+3$T3)|6EO-&Fj0u~SbL-*wr>>{F}$i2$hc&i(r&l4;o~(beK% zTgI=6i$jyX&-Jv7Fv@=;Bud`XGQ9Wu<2T$!_;)X!^_C!!LjMpRNZ42;9vLWHT4(fr>Zp)5Z3L|# zPdDj4D9^=??y3?YDx(jqg)?f5k}vcuNszAIRQxq(rmvUTwQsHV|FZxfy}$9%p7r*= z3g*AG>Uu6LL8GKICD6i&;Nj|Z)yZF73zOmVHe2aCi#rZ_4E35CY>tfq}i@!6_mav80+i~~jO?u&VZ?;FZy ze0tx1YOyZ{&Pk!tM}yE)*S-}9^6F^4ex&;Us;p`#D~+9z`pqO%Mf*uZTX4OjDI_3`E~qi#Pu2>>8TDAj)XG*6P{ktx;~;VF4WYs+9fVL7g7Tj z-UUSsGdy;f?X42Alr1|Q0=!zo$Eg1ckw)+3&I4=78@kI)<5O^{GCAc!#ib`lFN>~u zyM6vw+WE8)fBj{iwEQT#SEUDsg2Ku~C__*a)b}O2L-S10=x;Fpc8x{YUWyd6UF>%- z@i%P1{aC|?xR$u3$8LR1bI)oT34dRvO_z_^UNfx%#TN6=7nQqQrE3HfhhnFCDZN!@ zl_`lv;oJGaXAZvM(Z)}{5G08Gg_7;Q)T5@QCnP;?NF&}undJJi%V){D@y6mzEy14i z8_xKq(2Lo{(F!mOiLIE#)YF#&mt}k~02y0HNp7ds+doB?Pd$a}Gf#8X?zG5!;Oxd6 zAS{m56{)&5Oy1j^*e`0`5r_TF_@t9{SG6aJXwbb7E9xc4Yhq;?^~g;hDOyFu9!fe{ zvF<)>`p?L}B^TobH3QJLeS(B9)$G>$Tz|(&fr4GX>05bv$wFp5Jt1`ZZ^PD)FVIr^ z*F7^=%5b!UyYLCRGWuOnM#?nq1TKo^PoLi)4#@&kGQp7n)%^x^j%P=5zSJb0%vK|N zQMvv)lGN4&C2e|mV%cFnnyW<6DJu;=g39dwZ>PRt;pIBVnRk*MV+Z^PkFG14m(^4; z93bOMj4?O>dT6SQ3ct}y#6C50b_T8re*7rnz2*zXhu5Nz?%kNR`{9K! zf)f;?tU8MbD*hMqx6*Fmc5znr^_a(g$G)z#l=!HVu_|-BO<}^fiZdPQ-2ub;2_36i zV?Irbn+0^>)7H1=^wxT?*P2I^zeG7_KK2U!8Rj$~E^YaC<8Fl)VajgLk%v1A%gxAS z6LA>h2UKQeN<*~eWSz9Uy4%IsT>)GZ}^A;12-9PaO@6#!o{W9gr`@pqeJ@S>Wx+b=rg&@+0y0Z{4=-zn3|(kt4qblSc9;vb@$G}J z5C6lz_oom4?EmFopMFgLf^AJ0Eqg}Y+Vtl=`t5wK(F3gVxtBbXb{W6B-2U}`*R8&t z*K_rquGhPr_VsS#bbVw9-DiBI+u~RJzqh5SS6j-ShH2VA;Ujs}DUUxkG~F@070-ZK z9_3x{Gy#r5i~&C=Tn|!W2LlJLLYx5*^TaIk{sf_}bwH!?Yyfuy`xmpWfqps0l(7UT zgYyQ=V6eZ60TvxlRy!DPU;$&WDI*W%Bl5|qfIN{s2%rohMOk^(qrHtR?J{=Jf7b;j z_@RuHLx`EVh-s%T?S>EUb|3tLVcIbmCNLW=@8E`G>nsj+z~LA`p+Gr#Hr@?z6b2HJ zIj|Du)416A)dg<#%cp;$;JcrmgMDDFJ_DMiZ15w^b96t!@rGf3(Vn2z&oxjb^x=Bm zg%dC=hh+&CI5rN!C24QvTY{v|`i@SUkHEd!SoGY=S|8LiycHeQz5C%>(!ZTwJsZ9a z$HLtbn*B^23vc*t@r!rw@eVDE zUZ3!^%7W>)x4-+SK6Po!FZf3>g%ipBKBGeL$&8Hm^uW%)+vm6~xE9VCQQNswmo~QI z699Gpo*Xxb8tBbBajMiI!S@OpEf_7&1UEgVpUT@C3Pz)j z1>Qadgq93`JU~mo`cr0qT5sB~oVpf{m$SH+Kno5v>K@Y2h@u`@_CN#>Sl}&ew%?hXAf(7YLz>shsr09876w}6HkZ3bjAc6 z;56DVV{g%jV%6^ELrY+>gqfAq&-gTYfO&eg@fN(B{tUdu55}SlwDhV~Yoi-7hIT*C z#|P>(cA=x0Rt%=>!d(Vy`oxUzwQE<)`>r5QG7zrLW*ok3Ir0P@f&pG$96kG}CpZ)1 z=;!cg8Qqbs`r|?Ev4Tslb9h+Lfw%HDqv0Uik*jb3zhHqYUu_k^3dGplP>PN0B(y%HT? z9+Us2U!4E(>bRM$96C;ARFhL4vmcS#7}c%VuoPN6**Q zhc8G2d~>AHhI2pd28Vv2Cw_27h5iTbZ~ulPFBxW(OZW zdUUvT?b% z^7+n^_~0PN`z(XB$E@z)(7daEbk(K!_FVKmesMH?(*jjDu3j4& zjqYQmXIGjHzF7O5Esl~t34+Z^k??v>8}Tb1_Pq5Y=}duy0t~_Sx^Y(-eEB+9INHumaDWEX!X5Ab4@5=UE*1J4RdqDvWPJmF@ZKo*)FnkKqQ-^Or8niUa-|d1BWaKkJKk#t5(&n;Ns|JBdE1GffYj*ny1=m+G6h z#utIHv*9ESF}S09*$vxgnjlEH5fp>Fw{HsGR2FU$isj@6zw%W*ax9nt=gf!+6zXt& zwQ@vH-oHcg4%NL{wkj-H}_lSA_1xm6rzGvc=GaUB0#NWR>Ae<>Ix{$DkXPNiGn{Ze{6 z1zPz9%ejk<@5$GT0&$_7ed&r9k%onM|^*0ug>M?L%gbe-PqcG<@fcW^o5LhrQ8{+lx^qnCuo zwM%y@uMB#+SGP9h@ow3_%kSE7o_X}-@rOZD$`O;zvOZBV#OqI_>NLQ=4e%P;?+DQD zoQ8G->ec}XQ>$~*7)PrO&y?N41V~VZb2~yDG6t3ifhjGU3#{q*7#X!aWz|uh4F`lN zuO339Uhl!Q+w{!e3_d5%!M@=%$nDu$GY*y`N$QbjkQ^-PG@#EpJ-weOU_{t$PNDwU z^=`av7%@Dcc9txynO|2J$HLSFT*eq+88K*Hw^07boE@BoyWCjn_fFF z_`tmDJ>8~f28->eDx)50aH-F|UvTbr zc3(dAQ-4=kb*$&BUz}@c!>nKG(uM?Q8xHrbbw|5o48Kv}yC3MM{HMHY8;SP|b_V0B zll<@gpsRj@gQ2@-wBaG6F9(I=X8TC0p=Xs(^Xcyl9t;x(UiXYp#t9<@eCiy$D}*dCW*pmgyg}juVWj zpTkqZ@-94BMmx)LPk8dUCAsVtgE0eX=#~tqmyX7B;GEACmgPekH*U>D=?9wbpp(Fh z>uVXVjK?@;mL@Z<)x&U-=*)+Y9|TK!HbZRmVmLh37MZI*aPex4>SaKD`|ZOqaGyQR zh|K`8clI?WRo_w_mKYnK&}%uzZ84}1nK45*I^OJUC|ZMJzq3!b_TY~}j2>o~X8C{p zbD$aBNzZtPeK&640e?DV?0ieM-9sSSq#1KCl6kEMPtrODt-f1=4Tj;L04D>CSNo*Z zeN>PEU*es`e~Ygyjeg%uw*$&9UTM6RDC z&oIRsuU;QbVCZr)qvQA%uppn8Tc$3^v{qQaR(dA9)ZpO3crsso=($xqcv{^8YOdk! zY7UlPrO6^Y1wYf7`kIst%#2vP;29nl@bHe@JCT3*KA!w&FBBx;^nqZgI^(tL*K;(Z5kwfrmH}+M%8rPy>4dYj&1oi!-oxw2 zYIy`_1hO#f^_)p?bfX4xe9IkhqlJJ6W1p_!9 z7>{FlK0b4>2ARs&Oa!cXy zl>Xvpb{|`FoUX>i*Dv2h>lM^E4o18!7&0^wbP50J#e*}RhdaEy?It`HDke}wH_Uh( z?^$VNn?Sx{I*^yu|ItEw%3cT-yhvXJ*x(!fhQ9HV6ez=&R=e23L5INYjGgh3l|&{9 zz&!e{z@j{Ok@F`|fcKqyVU>*MZ=)+cm}Z|g1Xs~gub zhl@F^f~)#=u{NGQe=+dWGSZv}5}s^-_+T|fy|ooazXee6s}(wAa1dYL@Ut-+9>7M& zdV7h(9Gk$a!!IvHH;Ij){JHaj?QmQF$#g;Q7%jRjo3jxuxanQ`KM zU*yp~Sm_J${d#z=z}E0|MS2Ne_{sRbS0}uxpJZ+h7_Be({j9)3{hVzi-P6nXMO$Nr|;wjKK1kB;nL{oS10z%`Q*?FBHMz|N8S87vT{LF z1?upvNeRIi!49+=d#?BRgYJA2Z|Nu8;vaOp&^9SHiF@g|L+90rF6w$mCsf{K0yshJ zp1h)WH`TZ7=rcvY-X>FY)WTJ(Mbgh7dUmPFEqeJzhmg{BPqQl~*x9oyWG=j)OMkph z*PGP%{)hYm>gxCRqJ~0UrGt*W??RDn-Xg^7PFD}m~0Re4lv2Nl;*Bn zo_QAWbV#QO;M>}9jbS9^clsEKsdMUv+I4`}La2Jchj2OlK*WsK+x1TUkX;0I4_%R9K}-4G`nFwQ+wcKX?u8{DtF zIZuQ+!IZzwjkA3wCHA3%i{u-8S2qF^dQQ3L+GGe#ohJ&SY~8OD+SNa_kTW6K_)&Hr z$antyRYhuR!E2^Z|LqCgFrH6oO+7uYhXbel+MPDQGBkq$Dlo=8RcDt|C;r(Cs_bUa zF)E^;87dCZ#-U$-JD(ZAxvqiUsCMcFFIc?;2YliO_owUF&o>Xev7`{)YJ-9tL%;HP zU~mKv-Jh=4y?1^GPyOz6I`4kJVN}OX;E=W;?)G+`jT>-j!~HfyPvZ~XwBv90)35uB z89N&e(wEP+ePiU>PV2cI|9fTyNa^ z)$ZwM?%!w3fQw;V_Q?bOnSDQLQ(5IGJ_h+j?6-l{IJDba@GXZ(odyuNoLR-nGdRy* z_;C35|J=WO_*ee;zueO2$2q~PpO&2J^RzRLea|zdj+!wylchfJk_FPJP0OJ1)K4D# zWbQZqyz^(K(ja-o%;DfF2O?(|U6JBa{amzI`6o~KSa~(ypr3P~UO|?cAKH>zcu>~K z+hDMi8H^K@s4oTiCvG?}`ZIKNv$=IUHS$ZV=4!x+R>NH@AsNcwu5*Xmn z!Ow=zz-)$P43La72@Slb-}jd;mT@0_hsHS$_2*UlkuNnf|GHoF8T^L#Yi8@K3SB%? z-^}>-ZY@V$xB>_5qrX?L-yDY^)joK&yqV)O^r*vS>3ws+>DxCg_qKN&InI4pbh#28 z;PWz_EeKFQF62ZF-WjIB!MNtMpxxz5jLW63;8pMh?#K;#q08u`>LE{@e|SA=2J^rD z^FKGb{XhC^zcRCu=N+te^yKh!KmWTAUwnS=@aO;he^@6vQ9VP*a#mx7dVP(<_+@Mc z13HdO#TVMVl7q^qrZ;c5f1MGhJ+nz1=?Sc4D3YDyXE~C=&EV9=<&3ZM>0L=XjjtmvqF@o?K5IO?Ty@gdqc9Bu!6d0!`t=rh!rhX zu3RjbW5vORc!-{N@a_aEbA~BmW5w;;cPH@iBFFebyz)L=9wp0k?gatI_S0Lce(lcf z!>gQRygp}>k<%Ri%dJ>A+n1tV=UiLeXSKl5@$+P+Hhcc0Ao00$&5b*E58t$s;bOSG z*@^{y5iH&~612D(?D*^``Mi7o-sp{Qzxg^`U9T?%`r5Wrw+7$GFS`D)wyeA=KSI&P zM%X8hpB%pY;>(f0=T9C@UpTT>VhDDT$!Be?(zf$8o~BC(EFJI6kk{!Vd`CyX%f)oV zxo9)1(sIgY`%i~HI_UF5xIKQ>O3nEE=8apUGuZd=jiz+Km0LIB(Pp+=;X#+24F|{1 z*ZDbH{|OeRzy^QskKVLx%8I7+Lu1SJ`u=vd3EA@WG6(imTUI!U+0x1Wi}aioP_{;> z|9yP;#)`pcRh1+EiE;9`#vR)=&Nr?KmI}^HnJj`4Yw|sOO&cVaC-#gjX1tOa$KnTY zlV{r@5{Z#(8sltmS&b&*L~hyfCR=<>EKO68FWFUBJ6W-1U$=R{I7zMFZyQ=piQ>HC@?nLWrFom$XH+0VxO)C&ID(uiKZ)9 zb~b&%HezclKS8Sa!L{)QR<@mK4AaLq$*M7sUwEcq-Nj_+e7q^RK@RIqIElp?m%~bW zI=d-5=FNMnH5&Vxv^tj#0tnS)J<8ee_O^@;LVXvVb^yD|3!-Mv1&D_ zGpw;`J{Vi#KfE506To&5ta5Ws4Su7WlN)DkjGd4^5a8``DI63`d)=y{*G(Q+S@gZ% z_0xx&_wSegZCm@Yr_znK96tE^+tHn81LnB#oi$na8ppW^$sID{LK6n(r5~@!f z2AskOHiDQzuxGy^3R~|E%zz(bQv%Ea?*?Ha&6VR|YHT9~VCwLeyOVMV$`~96nBWr(%T`6~YujuWMYCa3kAA5K z@?Cp3iNhQW5Pv0wN_lGk{i_V(pjk^aW0al|2Eh~pbgqHSy_rVKCDpy*^~;D>7e(g2 zTBFGdNUXhaX1jYDoD)4SBx*K^krCzxPJ5u!VACfD1L+(17w(pGFUmLudj^koytBtv z_XeI5MNN1y=kzZ|yOc3|?M6mH(MYpJmU~$u`sELP>hQC_H$y%JL15IOZ>Rs@2ORjw zwKjME3IEU!9~c2j-pTKG=hYYY>hNyCc0&7}p|N^ApMF%2vYWT|uY8-Ihd#k8?f2S{ zc3E|Lw(C?@l7C-=N5Uu4>At#Gm$d3y{jd1{UmF~p1;x~1^^Krt1 ziSaA|rhoEn7_bHD0F$5Bj`0h4DFu}^o%6BR~2!$S9;BHSB?yFT|D zpMLi>Ty8!A3&UDoe5tLPIC&pWoRaTd-!7|Pp1D`f^@`{>%agJ7D}U`T9sXPYz<=lP z_x?Bj{=?gFb*6x%L=n?5`nf)D8owpiH!_0FZaJ--j7p3fj;4BFG&5mfc7pq>94@o9 zxW!U;jy6qYHk5ui$Ki@5g0>s~W=PP?EPa?;!H{?!Z8!!;IiP9dX2Gw`GF&t@U_Ni( zuECjMOc%Usg#*J-zb$jLyqB&xDi5d6K2NI=?8Vm4qgg$1ZVp;>&B$cHI&mCL1T8or zw`%tv`U8L8;otqGfA8=h!}fLtC+7)Isf$i_GWZUP?UU#Qa$K98q_>W9I&bD6;{)3) zI8eqHt4x%I4~~_#8Ox6{oIPh8n+5b0&>eui9qc_;*Ajjm2kqi#9NH@}z8;)o72VNMaBcEa33Xr2_#?g~3u&Cu9{KXII znKNzR{)8{bNN-%?ga~d3w##Sx1Nkts{iAc# z0UsT;FR$($%Aj(;*b+q+h*0^4UC*fb=)mj^rW`Y z``*3#wedRGpLYFO!HPHI>|L!+ymIv9$>Db6A-m%^2V`(t+hmw5+gJZ0T9fAs@tLg% zCYQ*qLm|NrcB^JM*Z3L?BGa7oF7{j@a)B8T<{G}$lRr#yA~9> zdHvSV&Pp%=Eql*jJZ)RRtviFCr%xVE8~VS4IvfWMAbLco>HCsHTYy@T(lB}TvK1b$ zMt_-o7SwwF$g!}((DLo`*@S3r)fgjpEnDa8G^W^6lzhIWBg5OQ3W_gN z&SQ_!0|G2yoH4IH3XVEd6mMTmzYFrQ1@{b~z4c&*b9^cAHQT4EM?k^K4BNQm;RxY_ z#ChO(7mrgOW1A)S5)s0a=c@O8_7+$;qCF0#m>@jKVcXlgJlwN6L-?IVQ5bhB(6@OO zJx!W@$o8H?IU7gb8Yt2myw9my-+~w$(SBL#wyw zVm9KHf-%l(xtzYWUFAi*NPg&dye`0QoC*sEEB72adOdg+FJFxRuO_Qc(}$hAQILxq znZR5DkT>zu%fq#TS`MRp@aRF$Z;Va)GFj&Yll^ZVeltAzHroI2CqIs_&K&MHR{zic z7k}vRum9pN9lmMh;Q4~5)<`0*i3R?qv&2AUpm1 zzEvXZgSTzzsguDU?^KuZKyU%CSz$E#HaZ!5@RdBsKfzHP6Au00mk-rTPdc*#UywOx za!Hx>w*O6tR3{I8FzU!swk*$)~~M$i@v`t%`Pre1l_xAQ*scse+3`No3NxLyD`J-PiaT?J#J zJ&An?kMhtFX`T?02!+ST-+o(A@$unje&(kSzxVI@FV${3EIxkR*z;Sz_BRhd^V8ou z{Or&D!r`k&FAl%_*ZyiW$e&F9oiTKwttxjKm;R0a;NJfE4T0UZFE4-(RAM{;~I}C%Hb z@6_*^Yr2W9mL`9{zY~7>_A_!bHbnJlOPQ%ZxF?Kdf0Vsfy&2~?tsH|{9=m4P-lpgg zaSFz_Dz*n!?e!qd+$lTAXVWPu> zq!Xljw#&A1X@U#dRTg~bGD0^pm6LSQdoxo8AkP^lgnp2f!7Ytp(z|zsao;6i@_D8{ z`CMyTU5wp8X_g=cd;aa=-}=+Pbogt(^2>)`{aZggJbv`F+Rh%HWK=k~$!v)Mf?%6T znfk&Qq1p9W(#1F*2cacpqQt4SgnTipfy*Ecjr=R?eG2DFdtAFsiRyE>O36y2D?{q2q}q8MQ>y>L zqi+vi{;uDB_!s~A|MTJR{Jnq2L~mbY=%faxuR}*LOnXz+lmqMFB4z0sJ^fCb@gL`Y zaCb@wmBv@n#-ZyyJM9`wtL|k~U8qkJD4M#L;0{iLhce&*Y8!2*-|-9l?D_|`@Z@*% z1cAmE!{cBtO@QyDpPRQm*Kc(x>v#2W@$<&belIV2%)Y|}U;Qf&`Jt?Luxcp>%kq>R z~W`e~(#{RIDeMo zktN-7#!It3LWAckqkAy;7IJ!K)`_F(utJ02)#Q}ZGWi?8-q1%GD`Q;OzS*uD&6uJs zKDA{*00eB;bGQU5eY5`hwOeDHynd1V=2%39W_B_fo8i9DV9LL2~MAj^#$v0H~9e*KeK;wh*qk5lh& z-Mw}A=9`Sz`g5-tl5fg`KW;U<%Fzm~hdbZ>&f$omoZh_~d<=UI>vzBR(=*%uE<^dw z-Oq>5pFVtWxZMn>WdHZwyY_XTKRkZW7MeRZ>-(j{!>_+8uzP)0j(qdOA0KXXFr(R` zhxNhi_|4n5GH{x4ZH&9xVTdoxlE!~`?%X;2+TZ+*F-AZ8?6bp@9Ab{}{qKBn_|Ja$ zlf%PrzCC;qKJfFyufCc5oK}6kmVwW(fAIA;{oWki{ovcL$3bD(KZ+Jtqn#jwvR2!` z+4JyC#xLJ#7CTy)UAxtcFeivinr$^(%CNs#;7r@EqtnH}RJ~aTDop&|~ zC-~;=dow$D9RGfn90?+VQSioB0G@TtnRK?p^PI*D@#URs_d2WN+i^axB+r~Hdh1p) z_ByAt5r5jF(;YbKTmNoOHgb%TbFn%Tc`^JGbXuy$orp2p*by<)TbeXeP zI-K%W{ESb%yOj1pgI;J`mUBN|2J^+U1z*#5 zuL}qZ#-B?D*h*FsT`5?GcC)o38M0*mI69)&i)d}Ex?o#Y{7=4TR02^lAxVzjll&9(ns^j;NU$!0pNo2wrWOq{Oap8Y%jrYHivPRO^t@|BVa?f z(2vFqs}cQoHW?V2TZPqgWAd^z0}g;C`cOcna|e>;rDxCOCpcUaFRMoYyu}aIm%|^; z+`o_K=bVc8|4miR_R{(%pi!5n-Iy+ZUlXmiaM+rnpQG1p=fneR`%y4wE1i$u>2%wQtz^?X;}PsnfFZsoLncY+z)DZ~ z<33Bv&v_eP_{xnG=9aA+Z<>i8Jdm~U3uf@IF)5xc4<4vzqw69=zg;ycM~=S3Yo9-a3a|LJcW{@kDae;t0;559l6 zmu>Oc{Vxwc_}$+>{MxVlja2fbY@I8IpZ@%_!>@nyRYWL&)1mmr2xB#UX*>fzJl2`% zo%a1n^6uX~*6#Oy^;KOv$*-=RXU6yLJ#%d=-F;qdF8^ixq?0z)x7$~*du@Yr`1AxO z&pn%T0*g9#`$HFfjh_2j-u-^J;oUCBKZ{vMCwjJFk%vEU?hpUrKm5n6BoM%mX2vYW z<_uWwM9?g)oXBNB=_~_&n3@Av3;HQC|AA136ct0iWkR;C_$}k=T)&H3S&Hb9 za`2~K0tu!KYmWyPU=RR!fAsM1Kl+3JV49h|m~y_IQdV9x{B910f%Q^`|NSq%NWh!1 zY0#y(Mb*uU-nn;g2Fwdx-@EsDMo)uu%Q)}ey*q=ifkb|X^q6tE)qzny17^nZRxq@t zx%?NKCBCD_hYJnKzXE0q_2E@i ztByr$6kPnO48ES{5&q;&Z-czLsmTizdQa4=4rSE2ek;?nHEWdcL|bXUo16X_J}RH` zX7M*1>XcVf&*{FORwBx;K7DEzUdUP{r=JYXwdYm;7Y@{|je)&<${0k|9aLSf=%#k% zoh=0An{8l&4~kCPR>L&tlgaAV4=`za&6ceJc@Fa^8OJ|!FYncRS#pUEA0-xPU=AyecHhr^6Ql9%Na+%_^!E2&f#&+0LP5u`8Wd}jqlz6?C>(@gPn7y8QY_l_G3-5dmXR_ua7%C>fW8tCffhpZ12rG;rZOmRNu;> zVbDCz5x<;#Ursi^EsAej04Ma@9Be_D%NfHD9fP6EZp)9&x>-m$X8F1nA zW)3e$8lr9{ug9%2fzKN`=&v&9p63+aX%?4b_M-lArYsY7NZ$2yh~?vC*gIHk2L6@&Hs_k7z4=~L(kZ5VZHzv%|V$Mu?=&DF^o1$%+^b>(>Q97`8WCdGI(`8+0d_aun~`B6>fbL@P70m!q|rXl>k! zC)dh>7r~TM%Ha&YTfxV;ew@?g%L4TD<8KPAM3Zaj_=g>!hp#Nfe-Y1I&hZlrd7h)5 z<{TVYZcbM2H9l~p)Ge68=zI~*@5cA^$Ma}(ttIsW^JYu$r_<@SN7Z}tPL5pT%ES77 ztKg0??2&+1w7c2z{3qqdb5|`k1~!A-bNIJi<7x7X|2Ud2!lgu3(A$Bow;G2n z{npN2+-~W|o-e01MP!39oOP5ycA}P*osQ!HLzQS2&qvFg%3I%kc=B(D&p4yqs1zu>$Pq*b?~cpz!iS@T5BFFTpo7 zAp?Sp`o(6$Z`zr|4C|ZVwv`N=I@`Xa^PMXq00T$(_~@uWW!B2rV(E$r@}#RJhw5HV zmtG2gPg*@Ot1ZI4RkqIU&@cK={{@ig9ovKGK!F0f&$4ju1gtpRwv<^t0YBtRklL2E zt4#!0oruP_8vE!D`jw6mFfhgmJUGPkafjhvR#$cVOsmeYfz|aPoBKw=!I$Y6TZC>F z6vpS?2~6SDY@gGO~a%0DT z;lJ|phyUb1`OWAM4@NgZ1@=BWNuXv;WO%lmv@#428k%2Ua-HI6v%c?b${|VOCuYr3?B^9O_=MXN%zNb9Ghz_q_m`NzPe)N=_^G zzK8H)YmD)Sjb^-dKBCD0{H-5A0u?)m&Sx*;3)^9nve~XNTTjA))lGCx3I)PO#^1j$ zsFqAP-1YE|{&GXFBv4u8M-hFFs^7`;|GoeIKXUl%f9WqA{-uBQPaJ+eVV`BT zK}`XH2_0vKJ{+QjzDb^cr2o)$2`2h8zVN3%`TVYORZ@bR8BpAu)T{0>;JTOJJ$^@T z9BD9|Wl<+(Hh⪼cI+X83_z3md7*i`%=Q^1vGu4?k7L~$+X20dC&>* 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⁡%NArz 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%0D=Zzw4rHS;G50> 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

    kRO|xDnV_ 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

    xy)1-G9NDR_5@h{_!Vm)1o zubEpsc0B$S#Gw=&@l1X(RGsX?sC~@1E60l!Cn&&yfs{?KL%8ox8%#>xpmH3^yqVFe zO=CKSm!Mntg+InFoHCHn!N~E(SHNJ++%DwLJ|DGc9lUoaGlu8L%@KqJH5-d@Dx#A{ zJHFVb*~W%JLT4al{1l>qTz68AHGHtLqrf5zPMYtsrZ`ba>*^D9S#o`Ilm@2W8^96Z zv=@EU?~(2JHayNOboG&e&okNt%ARJR;x|sg1fCi{w1&Ti-uLSjw6l?&AOQI!U_)<> zJexAX)ID8dpiQ0OL%GR{XiUM2$T^O53;8IZ`yzS72nUy}7EUu`YR0$rIB(=jFV}YR zJXq+(3eR`6CP3~UUH2q;Hi5H#b1Kmg*=j8Is?TN2$#FB$mcB651#Df9?3I)*kbP&_ z9{FH)3O#v`vj~nk@S~H%)x&}>$CK9_ncF#>5pXo$ z%x`5lJ6jRQF!e8oUhu232eaSsJBQq4-}CT{XO8uK zvQ2}J4zU?Mx%DgpA|Q3+WyG?ql9(XR$x%)X{apE4a1!7Bv~pvSsQsy+EE# zKuBBNBO@){lR*s-@?M6<;?sELzN6OT-GWEA%h0gjo@}kF$x^z&xL*D8^VyGO>Fgj3 z-}KJ_8K4K^<4sNvjKOaF*3!msQem_~e~cdoA^i=kq<-H8fs~QCW6}oyk?}{`(Aanh z_O898k~`r_aC>+>+LKXtG`?f|s|)@I2Y?EH_+NjSA=Cflq&+m88gtK5#%v+WlfG=j zYr&qeryK9F1=Z0XS=s;fd&z-n^ke!#7tBOUKk-;y%C=8F7=wP2=`v~YmS8YG#~UXK zg2D+C^-1;0J{4dywzF(J{vvxP8-!d952u=(p1@4JE8sq`RtNji=vJ^kGl5({<8e#k z1nMpo=!><|oA-AA)Vr_je(yj3FZV2+6b);8#vwT15YM`2yf%9;3{9EAF;eRCef#rU zS-<(xGkJz?y40o4t*lS&xu*@+*1kHnd*1WgGw*EoeSg_jc=nsVfX~33Yiq;1%KB5E za@(hZ>fC;N$F=?5+I4SxPdx|PX+3`@;MNwQp&sop{#*^sAPYQOxj7x8I?Mu`$;tZjfAT-r z{q_I#Z|^R(ChqW|)@~Bw)nTnHrXRQ$R%6Chul5IDoh$CU4absBl_%;O+&<;e{KioBbw~ zhM7~=vyMB1rxvO|Txy{99LZeI}KrC1&F^}PG{Q($upU~SsJq0GT)gRwD= z(ncVVGqhfN!37>5F=S?m2g4RP!MB(w_>7Of2ZM2w;ybkD#r<+aKl5fZ+;c+NuH5Kr z+Q|42FdJGE4d^|=7+?{|?jK1Bsdv^7RtIBY&FIJcIWwGV?W}Z6vlA)2>VzXavjr@* zht5#)ESst>4xmW*(~KIIGTO9srEX0h(Tw*7#_k(0bjh)c6$T$eBb8?`p%b`K0rrlf z!fDC}Eq2=sJtM^Izo0`vj69I-w48D&$r-%CA{gmZ78_!j&1D+Rn#7c{*#f(3OOL#h z1M^z@#E8@jn7vYvj8SN2#2R2mm*AW8(#f?OIbyF~dS!6$m@~7&oUboBUFBRsxTE3K zYykLdet4@jl%9kAR_lzVDVt%sdi9Hu7XpmhLyM=INuK=x8Z*mPTJtxsU%YgAJP`@DC+S?AY6ZlS{6VUB=iSnl~PqS~DgLGC1$Y{`f-uQbdhn z{ax?P5+OK^CO9kV6;xcZHJUv2SNB4{%!OWG}pl-C#JH0?|Wj@VV zn$;8N99rysGfj*Wbxzh%a_4aU<|Ilft(y6Jo&l$C`l-D!mg?7JT-6R5Tyz+Mrq5xu!W!6-zd3#w|D#yYXk`qJzOl)xhCe zzOf9C=|`i$@S?+v`OpmGy%rgB`1O=E^W7o)^ou-cME1u!8r;_d$4b+kROQCVH9^1D z2jfkf5=$!v!|Xqh>><-H6g($iEeCNdq~Mjc(r4ol69x9^u<<8+%jlqU$mK^lbY!Uh zaOfk0adtU6aY4_>fQ2Ldw~^~!x`AWIfTX|R5kBcPY4QTUbRRom0fYokwc*?0Qd@=gJ0at(gSV|1YZWGG&l zB{#JPX1I`f;PWSXW6?N=1%IP^{hn-%+85OFo2})&NntOL%2^>tv^B8hgh;mrhdm8A zQe^4##!GgZ*=z>Ev>&|Wi+5dkL*44pzPgpuu0R6*>h|h)bfqus4SfZd_uw1ut7h(X zb8yX37Em|l)5o5ZMcNb0au3YvkP`0uz+^0Y&#bm_RepFZ*+T9x%Ju(9@_HM)$?B;5 zWJSa`c*1^R>Y3nHx?R707xdNU;1qtNb^A@6NiSUa?BnSJ^~`~@ECpQCe)Q@6ISr`y zl%e}LOJvdt&RIWR@VK(zH`@%xZ4&Nqd-{+o_u9vdti{Ll6=kYV{_xn*vKyvtGL}pZ zmKV{zbo#YSI%L*1`4Q<%+xjZ|)6fq7jFGGU(K*A@;WNPIHrYX*bz|(6!AURUEwT$O z7&}K^9>`v0f1`_8wv(-9(@HYM#c78lf7+HYhd%;wY=Z;ghy#sQlrjFXP%joxJ(yik zHEN=__Hz8{YJHN4678V#_yMkEMcRPdazV?O@vER}n{@=A;Bxg>6MM)w8!zo`G#)DE zd)=D*oc?(}($Wle_IP7~j?~Sb8opvocByBwC$o)>NkEOfkg2z5x&BwTDx2_I+#ufZd$Ql{APt%q%%Q~T(O|~g#?=*GF!WrCDr#{lV z!{2zb-{kJ$HlDY~g!kZ1AE#g8RY2iZ_7PfO^U8hWWxug~*djJ>7SIHjAiAuRSxHdeW}ItR zU{!!f#-2v;wrrlQKbH8{k=Z*3f1n9A+q}=;3EL+ucTQ*i*7v?U6UOg;^LOq3?*IFD z+Oy=@?w|a*U)X)`%F-(tK!{8O z384D+@**f*8dULy7-b-QjHVh>Zavos39>3dEC6NDjFFY{9VRCAlu3DNmynoiq+vfJ z5Or>_sGGoYZ7>W&<=iTx4?4OHf;QX};GlS2+IM*`J{-YrX3hJMHNvWQ7$wRuuE0RS z4$(qveFnEw-m}d@{H6c&KiU1Y|K)G)F12aQlO(TGKeU4}&u0`r%NV!D_2MgS@|n?i zugLVpOC4|7%nv0tYnFqXgJj2Kiqd_~mHs?RfOEJW2b25Ka$#0pA98ZPzMI&MPY-o0DXFOCie^;GK=IrR^MVa^Z_ubfpv z2>xxl#0d8tY}V8nN`lYqWYTr;M(J70{ltt%v}6Zl-;Egq!a8+yF_HD?#e3da3Ig3O zMWL(>>IhOA3(dLkj2o`XpEa1w!!|&ZQcG|GU(u~N+3a|&~Z0=Nf#uXj{13Kq0sTchEu^B0h z%*~MQQ3h0WkeD`8Wn36^_+KW_7&zgUK|QnR%Jq`>WC4(w%7G0`g1Lfy+CLhNTT4&2 zIOAR5<<8ys;!GJT(TtfQ{X^H*NDt0~GjQh5_?wL<8ucG+vnHQB)1UBzz8OEpdQ0b1 zPuxBFlfXW@=~K$lfC@72)oIz6zi^)6iN`*s;G z_3GoaQJV}bxB|BoOJpbG9*)2b7wS+R4LKnqDyhowP(2d}s-1CKTIv8No-;VT3kE@! zS$!NJWnfYXM+^F~*pU```h8aGYG~#9wf?7o5h!Jv8k5 zr1u*0K=vL(5S7tc^d0&UG_-e(&9w#e23G~tWD#1f#CVm3G4zjSGg9?!8NW-`JZ}aR z|4hIpdbKBw88>>u+J0@rg@DSjXpaL=mI?|#tLzimQH|}!9~?|N){?OM=^}lR9f!~Q zGJBJ}s4m$U9Avn&j|td~DLJ_5|KXEfM00or!7J|?8GvUSH}5j+Cuoe$Y6~uhAM`uN z`=xxY-3f%(SAnLe2p2ATYHVidT@`4XBP6w6-vl$@-FNkFcrl*t&6PgVCr+`k@?Ew9 z+9KP)$>FyL*e36xh4Zb?Y%}aP`&g_B2M)ZTzi@~L^aXtSIL?hegdR?p`x`vo>F3a# zcj(f^ckmP6^|05bKK&R+xN`H%xJQ@XxSP-QFN(EuJDDmVoG;TiHUon*Np zStc09L82?jh?ChkPYR^(jl;6W1#Piwy{|p82!36H6)S5c{0Y+0y&-~rnJf7?;}Q-Q zy)2zNJVWMJCmalH*gyE5JX$mXKcu&^V3!1n&g-}EGzGx*!DKd^EeS7dBI<~LJ zz=LudJ367)r`+h0^nQvgxR>nEBB`u?eAl;lq<5nM0Z_|g*o>CFXiL9*3KrY*V(gCO z6toX68+W?cg+>J5-GA-!>$6P$S@5{D*S|yiaEFJ~Ypex@eYf|@>?1 zCi#9KdY`Pu>d+2Y-NzU3K$jUKZ9wm4|BgIq5M=oU;ew}ecg=o&Xt93SJorJG*mR&e z=ftAgp(`wvqAwifY+npnUnk;s%X}<#oc5z%!R}#y^g^!Dul4_N-^n`@4s2%S*;V9{ zy$ji%Y<8pKIu$MBt4MhIBdE67Q0kl04Wk)ykskyfn@q#~;NO;q2Kq*Q#OJ_M zKUc7Pl^YpWeOvo@W^Bsv@0ohEu|3ze%WwDn_FcK{eoQtzzWp{{WE4Ar4ZM}#>eZ%u zJ`c39UV5VjYiApfX|#bSU;$-tHo&(=G`ftpePYm&0MzNNp6$~+>hxTlLl_M(0A>cH zXKNTJkOnOV(uwJCcvg?!?r(_L5T)L2u#}&7y2tU^E@cqz_KrFbsrv-}n6DB1)Kx2l z$!wI0!PUPH3pf~zep@4aI%59|fBH}Ce&uicZ@X99I4JHex}FfvAu=Q86cRJJJo&@99*-}V6>C`d@quEqIw8B%HAxZv^|1Ldi>qqWw>*o9JLp) zv*g6PQgcsL=6dTPi5Tyy$918g#I@3-^oIbMb+LUHJn^pR__>a_y;b0Z0DQ&wmH-@V zcGsqjcBp=sLbY++!^RPjnb9MZr1Z{_PX#A9apxVC+oxc~>un&e<^hyt&CxiUKwGYFhOS% z?5N(MyM*Xcgv;neZ}xMbtrIC@_@O(I=EZzV020XfU}!kr@QDVDF=b^PKN_^;f^ar# z>O>LgfHgc08KctDjZrp1>YDoYjS&Vk10VengcS2Qf%OwC`euwa!9caS{KofE?l?z& zyC^R(&TL9=gYQ^|#HwRCMz|FoLn`#mRmmv}w=;XA?TiR?8vE7d>WQyBe^jd81bvKI z<9l47uFFiA&mbX;D&CBcuVJ{rCeXanTEQ>F$em+4pvWihhU~7A3;DYaD zv)p?H+Zc!H(g!%<#7o14o5M#+<%~8D9%{_vZH@vXaXEp;e=}UeLC?^I_N;9-8t2ZR ziT^u3GsDaUzl=R&FsbUjPm%7`*D-L&;+*}e=y&6ioMCj4k%89O_8g5iuAXzGj5j)* zOpY1f#xEM@AWxga8GE`i+{@A@}};M`wwcCsh-X{XAkt)bcKo7qA1(O3yaG%Y_k z6SPt{d^sUXphp|%=TOJzPIg%|!vH>Xp!?yE;zLLN26psSd)iW$ezLlZ+cF{-4dP>g zh-K(yaK%&P6r6aE;b=VPsy>&#dS=GY_xU}1opck#&KY9 z9hkr(I*4u>Gw+WK2@f2KlPwh>Z^{3j_Pe0az}F^iEhEz(cq9|*=*U3*hfgP;Y`6f! z@%;@C*$EudNekBS2#94E4K4O;0&wtD-#I%2SM6(0`afMe##enBgPW5U?B1U?_p^u4 zoFELE*!XCiG4i|q*+{XWnCDN^jR(?$Hczy?2a>^U^HVgl>RvKFY3C>C002M$Nkl(-|x2|gnH;yrvyIebPKk)p&vzAUB=b8TdH-S z3{`L+%g#KJeCp-or2y^)NvWnA#2JT zWB61a{K^fitBX^X#($hn9sb+rQG7IZ)V@9;=fm*$MRPwKKgL_ZKQgLuyZ*%&GjWNh z@SMOk7{B>5-Q7~RI6789 zYwHL5A4|Qw!fjZ|?iMr(f7Q{);GV4IC(>edJpLCLUV)McE>^FlGxj7JIZ&T)p8@i& zz^Vz~b8Xc9$(L6sPMKF}0^Jo!kBRhab+i1cEu2Uw?D=`@j9x z?hpN`KfSwsuW@LS75+w!?(?~^-LiV{y|LQt+^t{Wq0e60G(DJcoU#i~aHZUKZO@H? z_VDYfd-1dH?zxopuCjR4v+cfT`cJOnHP7(T=8x;o=(O73Xmjva-Ed7NES~moF?DH$BxCNjaBa9-5E$9I-FQ{MyObs*KRK9hD5jIA@&S)SZ zhfl11M1)(}O{h(Mm2zMCsT&b^uR4Yy36g!qFhmt>)7jwg-Y{rox6Zid^0}2C#g6VP z=iVT*_kEhhngL?KhFZ}&_X*#CQq#a@P{0W3>Q=^p>+`Al_@DiW|8Vy!f9r4W-hAgP zQ;x7DTqZgkQDIm!6V7OsqHfoH#3l+Ub<|o-Le<(*_bGG26y99ph=M;VanDIFU=ehZ zb_!orKW!5vgsgsnH9G43&Dg54gzz?wJ_%pxjlMsjv>F3O#es}%ntW2fs@o<}qv#2M zV4LWFPTxlO7;A_&CO1pWFn}j82w0(wxzL2~8Bs$gwS7eU;a>kKyP09)`~(L>f$}E^ z8PpT`)i0FNm@qaDTIQ2+$rx$R+Y*HEX??j1eknpUA%&2k!sv1_C@766 zaw6juN?DkltZX=EfWQgZ){>lH33qfP#W#*v?<@lb^1D|gmf@yfgzzSi;T(R9>1+tb zpl|$U2~d19xUGM(9-8C`BEojjp!Wn%;IJ-^aqBxpY9EUYj?LMv(U~>XW`NIo6r*(7 z6``H(Pajv`@E~Xx?*vA${e=HVpa#S7cu2cuH8?^}E&!Xp>a&2FJuwjICZxdNyH9J1 z8=avM_+=0rl^)qAsW^3q6Elo2a$tv#YY%LUG0z*4aI|ER`(_;A6fOkoI9m)@d;&H~ zO*u2>-ru6j;BjQ-@nl;MUgCn`BGAOB$4_LMO&q18&IViLROPkFsY7epS@I%Y2>0EX zd$6p{F^(Hc{5yS`=YlsWe$GO_-)eXDBUNTe+%_zz(=G zVWYobu(yf6V5B&2=xoZWzd!UmV^R^rZ_f(?91ah+$~=^APgcBW$44|}iQk;gkP#~rz#&Tb_q5-plXkDO5YBb|}_DG1ATx2+W$p{)7 zCOOQOu-W#|ZTCmcz^k#1p5emr>h_a(_O#^@jUAn~8Jmm$$z;w_N6Y8*UwY-$$u6{n zaP(ds67XjmFuuWBHOX7Dr2a7W!<9*lMkRQ{dF_LVO$4U?A0DLdI7(xrhYv8$m45eb z70$cp1;SP+q<^abNo!x054?Kgaj*zLodidE{no9HGp#QIi7vCa^o{msW83b@loeDz zUJz#m^^6%?YUz)`A(@aoLr0UbSz{v?stC@EA4dl+8nr+N&A#mx{fxfxPIzM{u(deq z>c;2Zo2Sc0oH(#NNH#M(g%#Aou4X4d7X6!TAKce3IPk}r zBxm7e=smo_1^)4zoxcU^K!`ma3N z6f`?==KKUVv33|aj5ryo=@5vQJ-XTXmgkDBe(G_9^u5J6LJLI87o;$g6~Ui=bJQ6-oZ0~$P)5l1$Dwp|JBtO7=b{tG777MFk1^IhZ8~uF4Y65{b^vTZ zlfR^+W1m#l_uIQMZ*%wcZ+>HUwIg=#T)VM*>+Lt=o2M<2ZV#aP@rQolz1<)E%YS)y zr>z>*x$0f?tA6rH{b1Vo4~#22a$hFzzXvbtoh38SpUeBk)t~yePv5uaK3Cg6WiKMu zE_7nt;2IC1Q!<`B@(jIg{vjA$gYW2PhA|kC44>zI05P<-jq^Sh3J}D_SEoHcNu}-N*Al`>S9d)b^KpcF%WhLkMQsXYHwrQqeguj8Wui1gRa!P**?Q7i zW;s9#WlqD0VMATavzB}iyxQ!u(qnyqVe^iR=gQDpd z&tIH%mN(l7N>;flmS;0UYBpa6BIz24|za@62P(q)Rv+VVA)b zBuzMD*2@`r`?C>^Hz7X^hz1UyDl4Gbj`}pb5^YGkLsu?B70x$7gU+=lTFdyWz%c63 z_(@tfhid4GU_|$=9iK>kux8&zn>jAkEjp~uz#nB|W3Mq{dj%eeUTx!vh;S6EdQUtq z{jE*>2xstGD!_2I%Rb{!-HxP1XB7FNX#R9ZRS`~{0nd%S{?2|78R!&~c8rrYIQ@b{ zcwM^iQ~l^#r$z{TECWD2#-B6G$mD>zrwthif?5m!JT>FgvoX?h{FSj>N=A-;MA@^P zLomT?`K1f3(X4Nue|ar_DqF`m=e*mi2Ap=pw!!J4<4zZnVX|b&7=FP!jsW}_g6M(~ zb8OcvNJFOnke#s={LO$=Yscz%qj-opnI@F6eaBV#|uZ(8;hJVT=xDA+k7@CVL0elZx- z=XXOia5KmnxXN~~HPC`6d*SVLx^#39~`PHpJOv@oO1R5*9KWpH@3 zx=yrw4O~)DWx&K=Ih+M& z<8iDM-UM*1HkQUIcsNuCjv70?CQAw-8~5NhenW$T(A9V3xf%9l#2Kr@^_B5r+{qtD zdvoXoTCwZ|h-ybRnqbu4{nNXLH#&lM|D>YHnAxWZ@SNZX2cM1VPM1|TSzmZ_2nhAm zTuqX*oNIi3IGM5OiYR8ruu}CUx+7=mJLBA@wPuv{$!xQCBEC+V>1f~JwK3(P0!fQ6 zm;FFrTCa|F{K1gS0C*G7QvcBN3)yfvP}xC8j^2#CSf0H1x zWN#%y$;u<~m@LoH3-RgDQ4|w0#~IS6L(!1nAv{=$r(c}N#7tw@elXG8%)Up5`Z4?% zl;D~y&ulX;uJ_UGOx!d+%&>ay$>7&3yXcv?#h?0m=&5m7wsSeQx7)7f

    XD=peYI(0sUh&&(XkPzkll02j@LzT^ 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⪻hyy<$cmO6J_s10YiyRG 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

    9S(VG);Jlpka|L|8IT7K~te|~xP`4?Jd(9Zk# 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 literal 0 HcmV?d00001 diff --git a/images/DSC06422.jpg b/images/DSC06422.jpg new file mode 100644 index 0000000000000000000000000000000000000000..07154d2a5fb69dfc226ce87e0404dc136792c970 GIT binary patch literal 390390 zcmeEucR&+M*Y~DELXZ|ZVhEvy-ix52hb9nuQ6VJs8bAdF0|?RyRa8W}RHaC>0)iAp zMNzb;NmEzf=5_xtyb&dzUV&di*1c4qd>*&*wb>(c9>f8M;Xml%U}J$W0KonG065t0 za06m2tc^_-wQbaaZJ-E0>i>}%dxu9wGw3+mP&!Uk3uoi)6A&5|7U>T}Mn=*1&_i*d zVGMdqP#B=}AMaI^@n{L)SmIB)ia-HQ{KBOm#;5+2YeQz4Uzmgh0F_^OLteGipR#P^ z11vTG4kjvU>MAf66u^SG1|)+2!skE?$wU9({RW7kc|ZHT2V&T-{Kp&gzwk2L<@@8@&C>*8*vfztv^`4WoX;=-;p!*vwrs-B7(PE|usLl^x2U*-u}1_C4_u0QLoDT0;JVEiNb)u2Dv z=tlO2zBb|?_kW~+^!rEZP7jET#5sF20>Ts>>5-A%44fkoXJ(31(@@k_!G(n2%rtQB zhB#XX2b`>fskNGhwu-wP5ET#>x(&TCw)Gh_7y$b8o`6*-X3F=fvA_^@aC?qT*B`qT>N7T^N($>+{ zGd3|bGbdYEIygExySTc!`_SmVe*OW0kx|im_U?;`O*)jEayT_DJuknYu;@tf(PI^r zRn;}8YU}D-+s?Lkbar*0>$}oFaCLBKc;xn-@w@jXCa3N{otd4RfA)Og#mf(iA3rU9 z{_=JC+lE{a@Ui_7ehT&<-1Rq{4fgNj< zTi()(l2oU>=ch8p&;kUFr&1p_MEfDx|4gvN|C3~Y3idC#?gJPY1blcf9$-7LAQvF# z4^&rGmqCm2(gAnb3MSg!(jAbkNdHeUyC|SjF>F&H|u)YRr)DdPDU;(DQXqFPn~dyTY;5 zeMfDFP*X*0Li&EyusxSj@>o6G3{Itpd)-&!G*nEQAEw|o_W-2lFLr2mD)i}|Hfm6c z92ASVU(~@Cv=F7?$A5FQ_WE(SwlD&s15AI5s!=M}uYIL4$61xYR5LfUEz8a>YL*_S z^Sw!b{$-z7rq8L{jlx4)7P0HV5cQY~Y*%^b`INb?v`*}+0h;E+K0ARg2fV(IGIicL z26wvk5}F?+zWz$on=SQk-fVTQqR59S=a^z=IHaHctm@qU^LtbF=V|i~iuve2EBTVw zP>}ufdQe}-2w;Bx;&$Fzc|LcDH$<8D|UPN?G;f~Yt&F4)@{$`Q#xVQ z+6R)plsfplvKM}o^5{aGoc^+EjuMM6CBU(p0(ocSMBh1bzU5v8AGtF0Mggj7mzHla zU+uB!yxbzW;pfd&%7hC7$BB7HiCpbC1%({RLzDYn+gMtY_w;36 zV4!XqygYJTHspc1q|ku!ai!^}aV_ayAukN2y7xVT^sNKjO;uTT-ezoNr~S;1CV!%* zs6}MPPB@T}Jf-a=-}DvwnSe}pH(s#c;e{lI3aS02t zT2b4`*xshN4m>YzIBSR4{`x`WI-oG1{5ksa_mBLcMNHyBzuv(iooX$6ezcvJQ@tgS zBJVouHB!doaNC}QvNFX2_J1EC>r?A97*`8pNI+!4~P$eICyVV_(uMF5M!x98yI};ftUd@2x6fP?DrEZ z{Gj=XNgJ3J5=sMUHh2!Fh0r!|KZsNJMAJbGvj%a>o&fq@5RZeH5F8y60OGG8#)iCh7sWBABB_kk;AF# z>gwRg^u59Ks3=7{Z=WD<1`TH%7833q8Up}7W!|U-@NVc92P#=hRaZ+(QB4U{|DWOC z7XC@~@4?2i{YmlB{>L+e2weYH-oNVpD=(}90Cbi>-LU?ZM?DGvoyh^odQ=zsTw|Buyv<6#5-9M>S=t6BrFyOjX$n^*w$<~ji9;{afurC;4L&Vzz?^PZA@{*`9w4JY~Y_(H@N*ngIhN&xRnzJBmr4K z5l{n7^sN91Fa<0DTfh-;19kyEfIkodFo3JL&zia5EckmgdburA_Y-|s6n(N1`u}<^N7z#BvJq=gVaWnk#5L9 zvIjYaoJB6Nv9SrW$+H=-*|K@FMX{x@9c61|yUcc*ZJzBbI|us~b~Sc0 zc6atr_C)p~_Imb9?6=vUv#+4IQBo*9lr4&eib3U|s!-=pH&OGb6*Lc825o?LL%^lBuoV%NQf_sUFk4KfqmM4TKlc%0%m}h~PjaQo2l$XYPh_{mW z3hyi*j8Br!n9qkViLZ)pfNvg)#L8eTuz}bNY!mhd_B}r@zXrcE|33cX{1^GB1z-Zw z0u}BL37!_bE%-%9REQ)*7fKg8BXn2jn=nq;R5(aDSGZI7 zkqBIbC}JNak9#j6CP9{nmME9FA+ds& z!8_p-@n`UlB+-&OlD?7!l6{iz30nv@gad>I!hI=}l#Z0Y)DfvcsV~wp(k{}6r8}h; zWQ1faWMX9+WFE?L%5Im9kgbp%mqW_w$OXxrkh?{M5;ckb#N))9@=$p#`2hJ7@?#1J z1zm+ug$jiUMU0}M;vU5Y#ivRFO4dq=N}Wn?l?lr3%DKve%4;f`D#0pMDi2h7RV`H$ zRnMs|su9(E)Q+o-t8=QGsUKADQvaYKuR+%+)tJ=e)3nh%tl6izs->;P&^oR4LYtuN zrCp*up@Y@2)5+8s(naVR=^oU*pu4Q6r5B~ws`qZI;?|(8^;;M8W%TL#Rr<3Acmr>P za)aq@xNTnB%C=2!m)P#Ty<+e()sUVW${7Y4HX6P)QZZr}wHtjg)-#SX?lFOx zn46@V+%V-ebuv9>`q&I_=4aMm_TF66e7|`Q89}xp=aMHZHe2{u)LFc@)V7SX?6<;L zIanRDnz1HYGpx_qKy55-@@*dOklGQtqth0!wXn^%ePkzN7h!ka9%*l9f872VMU`@Z zGU&kPu-l>D;j^QWV~*nkCt0Uxr#@#cXHVxk=PxcME_p7~uF9@)uGic|+ydOX+}Yfn z-D}*JJWM?bJ?1?%JySgI?UdQMZ|CqXkzK*NF7D>q?Y+Cr3*qJBRqyrP+t$0ndx>g6 zEup^mG4?s)^NL2I70_PL4d{9F=e`EMdAKcrx%y zkZsVZp!Hyv;4>lYAzmTfp}e6%q5WavVf(_y!sWwL!lxtjA_^nkGprajk&wupkzG+( z(3rX&EgPL2{dCW^J;(Qa-Rr!!Z6D9R(0$iqh%sp~&tuJEtM|kA`|R&KAaNk!z|%Ox zxbk>NJT<=Wpya_r2j`jQ%-RHWLQukJqDo?3;-@5+q;rQhA7UPwO*T(%NZFLaNSQdi z_3+75cxpiEjWqSNqiJjDwDge-m5ic{@0mWCBU!3h#aZjwzS%c&v~o&WNLDE8UhekX z+B}}T*u2?%oBWOfTtRxlr^4NZ!$lfJCy$_yL?4+hwl3~EN;t|o`u&*yvAf5Oj-M$J zD@iN)a)Nf^b}6a!^vTU9GfsXh3n-f`H!ts~kgh1IL{{#pd{*ULHCU}vT~{MglTovJ zD)iKJEv2@-yX)^=-_L(w zd{|%1{3!hK)F+KkeM@#rk3WZeUip&#RrqV|vd;40HTL zkU}vsCN#=>pJHgFVPKs^E9x zr~u!8vGNz{jglW4`<>i78kGCLQZF6+bnt^3qyYWr8;|HGH{pMbng6=ppT+;FE1J)r zHNvAA!9Ns4^HHV;(?jT?QIR0M>d%hA=b~rKpnFHrO~7b?-xzm_s;Y`AYL0(+hJP^h zCtVoBF)S?D0RP{8BKSeQA-Y9)1*nLhD)6LnAFheZvg! z>RKwwsw%i&iH5Q&4vc@HGr<4f+{b@5VixQj>A$hR1UvQK7z_sZjXr;r|EW^F4SoF7 z3^=;~JGK0a+?wv^?Gs~R=V)va;75-Hhn0?rhOw54k*=|!jSuu8rwICJH#Tqh zZU1gUgJt^48zVh9;8(*x?*3?5U-`f2e1oAMd-KTuJuiPiD~xf7JDN z8v0B5KkE96I{xnFA9ekmhW=9ikGlS%j=#J4M_qrXp}&;>qprWG6FXIx&A782sbl+W$C(f|Sr-0S1HrI57C{DsRw(0j%-k3frg(15f#Zb;17#1Oka< z|8Zat@&v8}gMeq{em^h>+c+`!!>7D)fdY`<4-A@s2L{0tgYciH1`*JWL&-26UhrTY zfMmn-sj_3$3{jHy{6=U2b#Fl-0wqGqSXhLbAT6Vz>BDfymDMr<&+mzEu=hv!+10Qr`y z0KwQHF;Al+Ukc?Dnbdmw&dlQaUk=r+I6565tz=3Vvt;|5GiPkt$^9cwjq^m3IVvYn za~zNsfn9MjPgW@XWChVL`Kg#p;Q)b&WX@okA`@PqarsLT?lENfW6XnS6VF@~#cwFH z2!v3*mecF$Bf9*)O9D^Y6PAT7D8YO*Q5-3EG^MRy_JrF(f4mHFa*`sT1!s=-(x@*p ztQNQgchWvYoN+z=TH91kqwfg*hNEbM6935uYN}{S=b_lVzE|0GUECz?j*b_iI2meu zIl8qWr>3w8R$}Ox`CINNLKJ$KS7W=?r+Ldm2a_a*eN4}7!m3hE z8#nRZ#IpuY*iK1*JDO0uay608##(ws*KwDeMq+1j!DW1CSBfvZOO4ytRzgKZ87Zf zL(71tSd$k+aml9`LrT4nf5(ZYXOWf)+fjF0O_rCRqJ6``Bo78-Z7NfKJJ4;0>@x7r zRTV$Z@nOmBBRAK{I~9eN5)jKg1zk9?qLv^>YN9?|!ChC@_36D4bb@_yGutV76F|B8 zY{vcfJL+!HJlj&9^GM7zDm3<56=d$$R(=&S^!ymcrd>e1WwR53ba`T+>fv%F#8JY_ zNH^ko@NTV5j^?IgWWO>dn`g|o=Qe<$3dViM;LYg#F6r6O*iwfEI+=acbZVu)R>57Z zZ@dtjcZQH{CEmPKI$9JCy=uyYw?~m1yGD7^ z{_)(};f$S+7URF6Qag8qZc8tghCjLevFVH4M4_zbIp}qD%rdp%=9{50ql0t}`r(gp zzSEB%etH}ykgBRGb2DrwHsfWLK)8Rh1{vNy(@696ZDj|JGsuEB9VZi&FZMJqE;K{% zlJOmr*@vSRij~yjoT@D<`?C>SnJ{hzRwJon9hh5UXL600ov$a)-q4td_b=c!y1VEE!?I`eent~8 zWlXXf77 zyu%7tWHFyC*8%=vSy80lN#o14CRVZBJDh`4sIJ`nPGbxSODJ?5fTk_!8?5eeZ(kO@ z4yDFh?hhv63fS%DRH&{d#pqtmrJ-hu zUA5E>OOPshj~5C@@-8-(6gd*``8N%)0IK8MhdD0xE?-Q)mi0)ZNF}^*hs(pcDcNcb z3#r3|C})TPN$^RQL%D>x!pXNfMeRXw#x@dC$>p;Q70}+Hqp?kc#tlULWeRmg^y0YXdTt9eQrYLX6>X=#{i% zVumc65~BiXTB)EWUXf@2hMMLR$IXnk37)$>r`E5oE-%KU2p4cU52-dZhGnNOqzUuQ zV&d*zT4uj;2tj7&cPc1~r50W_JX0Z=qvuRiJv*c#)UJu^z11doZPwX~qh%eyxmo$+ zAB3M^bQCtuG>*G@Hel2-Rx=-JF$1k5@AAKlv9CO7s`y^B;%xNH6yB`FF;Bj*3Ju~~ z2Ts`tdw-vjuaMFyZ^Nwv_x)KMDpF1vZ7uLRK;R1@f%;AEoy7_viN9`JKU2X{kq3#6 z6t1x>XYGprE}mXBf2hBVSZ~!#bxb6kiiLhq^tR#9k20}r>XAR_-`xr~9GEvEUGoaR z4bJR*+72G0kKRY5$}_yiH>R`RyrF19k5(*Rt64Z&{;H>Chh-F8@J{FBY6rB&>`PuL7n@}@u^EoUv@ zcpwX$nrsA305K*PS(|;V>QvFlwIU)+!r9$PD3M>NO&BGs&?>TfrI1{R5Sk8#F?N|N zxLq`DUh=X|wqRq$;BwJwkDx6r6z7HHtc0@HWQ9Ym72lv8?B^CvZ98w%g*NIj7}M1v z8iH0t$sA3Rdz(s6Qii}>cG{g!cJlSy{=8(IoWl@xiW{7PAvWPbiJ|G0a3_1#Tx~{l zA(H59Bxdg$gPpTxuI7(H3g|I#gZO(|Cnc~X%1F-12TrutCLFqOow3*n#+dsod9${T}^y^IRF`ruH&#fFi5U z8a53u*4zOmMyyVVd*E_Nc6!*`7lmjh7rN#0u*7GoQEN#Gm9+vqtc026nA#&vamd~0 zsO;$ada|ccw|9Q-F-+gbB7NS{G+EBv07zRZYqcq1V}@OY_|B(jJ$`bakSuGLoJ5WE z@E>N}5Z#g^5QPyQz(MXcu8PWBzKdI?K-KK`-f(oJ7tm8kzuwuR3#lO|ae`78j8*AA zKD->V;!WOJT%KXCD&%-_x9MMIbUu-ABcTF&a84AI-)DJe7;@p{h<%ZSg?*|V%iFLn z)i9~X`etsLTV2V?MMVC=CDb^#yGvWDZ-vv47gi@Ic$Z4~vA1srPF_ka2Ao*kxrWs0 zH;d?un|CK=EvjlVoAp0YKAat#h7ep z0N2DKN5e$1x2D66dP=4*z7jr}+;FwFl(R$m(CU!M>P!gE%?kwxtiVcBPrv{K-wj!z z8gxw>@=yX((`!WOtA1%}UOl+{V>-6qj|eOi)3UA{UnG)fc4*LU;I)i_zI_}kZ|>B9H*4jS-8hV%>!FF8eg zDz`_k0|EV+mPJwtlCQqDMr@5+btsvlnP5pIb4W4~lPa9dTk9pHwW%kOELl-$cn*4X zXxjkEMM-D45St;(xJD2*;JrM+Am=JB^oTW1Z5mYKCq+@lt06);XWCwkVf(uQ9)BLz zGqfl@E3u^mYGmEW?^#j{D5a5S9+xidIQ8Yo>OhNUr9@Ey#t?lb|ESP+F9F)q_-{nL zSC`)(mqLgg(zR3ga->~7T(R4^O@iWhoGlNucMr^Kc9Wkn7V?~anN;E459?TFxox?|a zuUQ{zz1k4vp2SaQZ1!&>Pfsavfd)9fKn~75`_(6qK!i~*bOUoe+yZLbtO$#-a$8QV z7zrm_C4B;jt^)J^ou7}eMs#ULMsoTeiWUK55#HvtQ!J-?J zu3H-po$}gJ5KhvFC9?d-ndmrHKc&9DP9hw=jH!~;5Jre~=<~_|TBcQSUhoapR6lYZ z!f0vAzlI6vUYVY7>yx^eecOuxT*nY^1w zGP6`#9!XD}GIOP&>@A3ko~6xE_fce^lxGr2Cya4M$Zqt=r1tR2!eQgLE7CwAO@U_Tmg0R9R|{DO zLOvvDW~m8mp@FZZOSQ&=Y%gqh*_x&JGc)JU@Rsp~T8Mod<2CIKw7t;7Bin8wBzNr* ztPGPu|7pfz_0~!~zDXZAG*>2pJtC1tK|xRS0LQN38cp-ZESl%O4Q?kCXfjQwWD|}; zWy@nIL&AozlmZTYaht+>YwlYdN9qN-G1Wy)JCq$^DVSDiN1h&JPphrTOCQ_4JEkzB z=fx@G0NZ0?@1QO+T{Xbl#%VP_^uW3IM}=MM6YmY#H=e0~?=ia$)QcokbK36R8;2FS z{{51R>6wHAc0h6;tuJ_{;~hVdc|_n|jPi4!k{;93#WN zoBG@9nWxiT5B2b5g#$7Z6>R~lHQx@57tNEd-jXm9xs}%^X&rKSXhNNshT4^3BPXVm+x4&sF`n&w(Qxll(W z;}*?L6}VX4C(bTObIYH3vy?W{p`FIT=T<{Cq)8QNeiGU(xRX0ATQ3GrKz>tjYvGKh zfAE_da%T2uk!A*JCrpyG?nH;nnbM{C60|=F_j@+uH9kJ9 zs&e@#F>G&o&kO3Ob-kjFA^*v# zM|$~r#_QYEmFT0dZo2@=-+Q*jIVK1s$~`UIl`uNyj$N%3R%!vf=Dbt+eV=9wtJzG8 zzE?hXZu7Q-iUl1#=80>!KJB_9XUC=(cwLqK^oS86*yVLp$TQMy1-)G>a&mp+dn(mw z5B57d+Hw2L+#ei1fy5A(UnZhduYX(cCU+U&me^C=E@r;gp$V1j6NqcnEhCf4Z73n+&bt+1QPv@j>^L$Uz@;+h0BmJR#={EMGRi4pYlZmsdTB56# ztnCzkkhs|*v^d#x(s5D69#tN0Hn&@W+D_O{JCxHUdMknVFApOqBn7Jm$FSfF zc@uXOIMPn4FLFrk+&i(vI_mMcncWl!nrtn~EDR%^zSM5XK?}BD;p2gRh&iEm5T(DW z_wWg$%9A}BZ5FKV>m+ae8ODFL;G|dmoIs^%P}PtCz_Hsn+9ye7BBY>Im)ft$4HIBk zjlrhEUF^E`4r%9n7@lp+MZS*_bSe{u2l0sRda5Tu5!tG=v-n$1mLVxFVH3lC-!W8S z`s@kJx%^?p`+GXkyi`de+=AJQyX1is4PjN1W`!t0tqC68YsbWOAxsSI{Kz{kHptX_fPj0h84}3=T zj8@{hXB9-J(giZzFsHkr1Hv}R`T%OdgWI}y(&Q$0Q}yE(^-f0$@k#&V&UXnA<{l?- z<#c1$x&y=)WE)Z-hfp0w20r@<#U0F-ik~TRVXTwwWo4!;86uU;!)!9OJ;$idntCBB z%;uJrQa|)U&D}+rCEw`%Mwua6kEb_6^80r_veR|c?huJ&n{TI ze)F$#EDzc>lI(c)pta&ri!w60R%{D3=v_X)9!J2w>5PQAthntlf#Q?<)xFkUO# zT@wkEel(Ds0V__^%Prq}W1&Eu%}TtHy+=-08RI&JaT4X$8B&oSg*qE{FQ!h^iel#q zw{+(9-#+YtlPgRzH!M)4yh zCwA|lnKoSrxc#t^>3eW~AKRIG*rWN1CGkh?jot6WJZjeLnUU}{o{7W>5j0qY2y_8G!(UXCA_Do zU+tS6A@LpxkEbo~m=G{!DY#X_T@j1U!4y+C(9#eKO_AC*9eLn5k^Rn&lTm>^SQqql z&p4Xs=cFWMBC1yudtiAwVVHPm%B!eRZTID@0^Xj4&DpNp=<4GN+j=VO2Jb!Ceb*{< z+ZAT&WUH(efqlGUoY&nnFfBp;^QcdS>ywH3I~52ZoSq9*mH5>hbEb zBR38{g}8-8M1+U9VO-%Lx#gOm7^;4 z-o4U?R&DcgZOHLQ{Sn+L@HzerswA)-S2Dr!TrExK-lKZ`X47YDG`LCd7bq;~mNs)S zGm8;!BwLCSc)5gko7!AXkXzhK*R7)qRJB?fVk#zQI&5`j1}x5tKjNoA8~KwE^-kec zg`;s9iLMvn_M<68iD#*!xj)|QC{-+|xgHl?N&oDIbC1UfNdu=SUOx}Tcs@Oir;w5%AhQeVET)Hr961u_*K zdA#z3YN1E)Y(gsV`7b`N)2L-|=XRpV8Ew*-@|#bLAZ`Qk^kg8>Cf9O+nZqx}*595Y zR13HfUvuKmCvwYEFZ)zT)bO~k#2w%ENi4AlE%F(DAi2&}r9pd)PcC@UE<6&$Ov+lD zwGQakK{{k@GGrLy4_q}ZRWZZ~4yjXg#2_Lk?Hv1?-m+=?<>8&}>|K%6S4*t0`zSN} zK$L7Fzv#AoI8nlv6`Yo2^EJ2Ka^z4!!!odS&7pFjZ*Dy6Ghr zlxXNxJ_)|r<443x*MVq-9D0j;;3l{GPk2Me@p|H@qDywLj)CYxB^ z)Y=i1yLpe@%o6(QOKlDKEt3koZUobKE}q0x0wqbcK~k11qn0v=0gsGW@eq3ZON0b@ z)5szHY)kHt8sK9FR|O}p98dPaUQd!ew?rfJ`ebU)rV!h6D{?-cW97JgZEwDq<3j@c zYR; zUS%Z0%jhof5+#2OlgTVn0_-|WRXy}0$H*6kAG~PwLeIFXjD%+@))H>v8fcA~-}7L+ z&KV5ULOl&A90pvGKoCZgF^A&t98|i5}hDr-2goQ1bV^(N-~_NBnl2*)GA7Huo1a|mX;=7*Aj z6vqw%Z*9sA<=2TVihG`TejMXVENfSR?<@;`lc4bAO}j#MNO~udIda$($hlMYbgP_y zkB30D^J7zD6VnAZ!#QJi68}jOJ z_UO4qx+kBVn(UbAK7f>8dumo_l-DZ=@g>F^9c0|H!w*|D3ze97$upYX7CCmGH^7SQj*E*HCo=#nveoWvBS)LC zkebl7q3aR*js5bt1jp<@PQ3dj)4|G#9yPPHA{1tvY2(F;J{O^?4duQWv$|>9IZ8%@ zP8NY$HuMgOJ9*2yyr_s=(}Mi9Sm|5)Cf?Bio&^6S<$8E~t3TsZiW${rrKBjs4W79B z#&;8VkDIXUsg0SJwk?mJc;ju)eZ2&F4mO5ZOn((EQ+ZD3l%#~nlndqYAz6rr6u@L( zNb9Qwn#6L^i61^tC+jpg5ojS1M$p?~x&6b79gmMyiK4Gx-1+pHmfHT)K@ ztwHem^5K?vry#Mz3OdhAQ^PKOI2&-vjz#QtNG5XC>VAw-5x>-}q-EJs0SLR8sDzw8 zmh*^D&VO7MM>Tq&*V-^^ z@pwtkv$faxT3xww!Kpfwgv2(%-Hk~c!1T3|q=lyRZGK;IjL;`HpCoHOOz=^yn~Q0J zpA^n3X%HIyMx-F%%@QFo--sf;u-Bpnka5?|O>FaHjBj<^+_M-9N~KuWfhx3c7SLhH z>6JuXTi!gZ4(04zy;o(z>FXOCZSsnw>CANk=Y8Z&_~C~_lY;Dav1bT54Ts3N>XF)u z_kvriP3e@5_^lYe0!(${T!_<~Bu|>IV4C*Qcp`oeURy=W5mlPH=xKGZOU04}^hPv- zMs72e*&s+r=u6kTV2GpZB^ts`sa3ETM@wAKC~Q(pZ(dut-X;k#sV~E|*avdCC2a2= zAMJIPv1xBvuH&0!#{!3dfpDKRud#E-_9fb?2{0L2oHH8^HOx8_^GKF? z6H97c)KO3af5{|RF-h9d7zpeQ(z;Wbby!ecB`KqScsahl&QuPFJn+&cI3J|QzQ*GudDi)rCCUmp%zRy9ni z@)}#vQ(3%t@vekDdb#oWaUtTAHZ236nW+6U<#FQ*PIq|GYmp7RdZc{s`?^MWO6IPuM4@G&KoP72|HA2P5<0!{gF8igE zjy-j}?slU*EUeaZ?g`vY!Jv^>{P_!0GId(&>XHGuqBpLQ@}h1B!-J?bSz>omcpt>y zKD#|e!j)s@$sBRQWJ)8fCTJK&9+NaIpLj+(=ikJj6U(xVeJqFAJ5^IY543hhj&3rn z)aFrNx>J$suQznh^t9quya_5lmTBd}eg$uIhgGBL;o`1Vg#UW!wEtG|1K)4~`1tSU zFRM6kHIX7|SXW~Sg0^HDdvy)P^r%?GuzngJZYdG+;;o&KiXWMqx;-zw%Ebx|9dn&Z zhQ2kh@qOLJT^ny#xI22M#rWv=_K)t|%KqH&{La)ZYT2rya;-gem3wUjM=A*pEME*% z7A7EGGl)#U9Urt^4xwA90cm`VQ@D|0K};A9B2O#NV#=tq#Cr`|2yswE5BbZhk7$9H zJNjP?zL4wFrE>7SM5lPNFc}v$GcSALd~z8!Q6f)wmwEI&XfX}4koe)D zXRS~&%wV}T;`sBIBlS-+6-cd z*^;iI`{L&1b5$fD=nQ^2oSl1bvf} z48*mTg}*G|a5%thA=W!eC}f6i!z47k&Q3MiwI}P$%P8xYTUgk1xIC{Zx5%3aqFe#f z;_THS1BVx1+)nbRb)6Wj744TaOb8l;mgx}9{2w->&#-ET2`z)$WIG=^-B!}n3y`b| z%>#(0gyOr7hq8?G*sH*~Fy zmRwGAxl8neJM9%~iJeS|L=L+lS4>uI-lXQh4$_kJ+BrEdo0(|%+YFpz^Xk2pLY8cJ z*%o))Jd4V#8!b+7T`d$Tjb1o#Avfn6{eIdmkHSF8rug}zLeQ%Evbn-JsGi*Ma#pBj zM_yh*KW?d>0Qbq@9_s>BrjNAtGNlt%AMqpoJbIT8RWv3xdei5^J)SU8gj3B?7=dD_ zE~0VD$iS>wG43Mvu3u*BlpEu9&*uM4dr zhWGB=Xe<9{lQ(g-`gE!m87OkLv%&VuSBgNY0ES3{qNtog2Nnh!TDqQ0?9j<;tTUUL z1@$R2#Y(uc(4Cc>X4%efgKus3;yn=;yAGW7??QS( zGXkHwLT!N8*owM=qDvI=nsUXZ)hG*-q(?{jU7=3G!!^(>a^I0c>EXgbv3wJj&Wjg) z3^9!uDwcaF8C)CK*}imd5r&`&qz)cCogQoWr7x-{X&8Y*E>?2qnvoCVu8ZVGc)G>e zWVF^Lv5%Zh$ax2-dKN2TlpoGP6tMGY-k;b7Y{#U`6kl6l+mFp9FqFpcsXbL{QE;8y zGH7BVrgjgRRwHrS@Bnfz>zENy<%OZpUFfNb7`)l&2`d5g(0IS1nTx=7a+X!#Qzn1U z=Y{I8-zuCKj%~Z7)yf^?Z*j`4-A}~Q;=95Yb)@Vi9iUFehaDTU6&Ine9hG!wL;XTu z)sXe)7Sc{c*4R~1(J6#%TH36fi&s#QEi(Zfq2P}5XLd1(7FO#z5W^5qwK7Czb3 z+LNt>#A3a?aCBB?pm1t`?EIoZ7aFTp7}hq3OB-%}LM*W$CL066Id0s!LkidObvM~A zDtxky|GJ}^qh!kU>cq=hc%VX8nPo{Dj`^8=i`NuBx;@+h{9QxSt^;#up<_Z*l$zf2 zf?tODTGL0E?8~>2$U0Yfpr;c06rE!N&PCdeGH@n-n8a_DKUTz%+kA$ms#-Dxe!x7P zTGG|uy7szAjQ~^W%1w1{z1KK`E}3NM*bi^38+@Y_kUkZ5f4qu&R_%JGf`H==R6i85 zkTzZ;0pTF=LUjjH{U4Fwc2d^_HbFGlKQE+GVJZzGjTf>xFkgWw)dy_W%o@SZ9B!?0 z1$NY8rjR}RbP=Ud#6gJPGBzBAlN7o5nLEY3mqVbxPAU~>le6DfI1p*3@0r+*0i^8n zER4$ZN?pb~h(>c&3T1AT#=r*|+edTFSrWaL!e*J5O1cMJ4={C|gRXtPeR*uIG_@*A ztdQF0vAvTQ=xlf9pp8XJBYUKWE8}=H_H?Ti+QnZ%3|OWJjEbAHruM4}k{&TF!^T7~ z#wz_B;6#E&!I~-Qml~M|`cHm{<0qro&bJcJWjOi~Qp94r#Y=mROPh(=%j8K*Tq*ZT zFhtljPoGbOoXH(2&^RJ%S%100#3Cu_Gy0e|O=CMgap+K&jIwEYhH~A|&ip5%D)Pe4 zEY*r>sEcIIRnrv~Nvfrzr+FHR$W<{{G)-G_$CQJw%yxs!E>aMtRcrg8iES~xtdlm+ zP+;Z(djmMA1#s_siK^d(N>j6hi(B(-TUo*_P_?ek_q72KgsW3H;*&|i_PWS@sZ*+! zLd@|~D}kHjqX(X>0~+K~Z7r13CSkk9@h4I(1CF)XBdTjtH7w0I7WwGaT|IK`8*e_I zy@6P!8U-dQm&G!dVlOo>s++i#XH@7_o}?Ij~`+?RCO}T z$wR1zY9=|MocpHlv_yjQdHpyZX+nycTz_7@lPk=xFqZ?uqFy_$iy2%Nh{cDysOMtr zPmfV5(Tcr5p{^(#*<#cvN-!xB!}haCjZM4dpbc%*YF$c|eJg4Efm~_#=OXOOu~5`g zR|(-HQ4hGhs|;v@%YYO2{^{MDQ`i+5lpdOe-92NzE!_aF>f$4fx(eQ z;40u%fPveVPq~f)tTpLVY z0{DWqJXaO?t?lP4q_~9;9;a9e)BghhESi zcLZHdo0}c4gA2%1$Wr?9rsqWpB>BY-Fn1Gx>rH90pUatNE~R@c%|0L5y;=dF4GA;i zs~p_&_{oVcY&ta5CC)8cd#W_+f<^B-M!P z>a+hx(|PzMy?Fm05FCgLQE{Y*xKPVI8VU*uI6?$-CL)@dm6~<4G7-}d7vM;<;m%o( zGPR}U0JCB4>fWrhtZe928>aoZpYP-MFTCM-UaxcB=e*wT09H$M6{d+C|7e*_h`3&_ z#Z0E|RoUGWe{Rj370ZpU*BqvYYe1`r$5ti1vJa@3f{S09DM#21R6YH`bJmTFB(P;^ zIW2FXwJGX*^wAantPs(ds*XK-W$g$raTzeL-R$()Fk+$HwCdcY%ZLBgi=As?x9ikgZBb}W)&0S|-ki>{jDnpmw}?UM$Vz|O?^UEO_I-{^ z`u*1SMBof{u+fHHZHS4`8g*y=0o=!t05P!>;eq$RqI`Q#rH3~mK%cm1kZy!LvJUQvUTK#lIa zySL&qGr4RUU5X)zMh0C}G!w%mg)Xp^x!{FMPwo`vD(aOw4Zb45tD(xw^tdDxx3V4K z+Sg9H%lTybS;4A_TkET8Gd%IH!0Z?XMn+|Ubukgs?E>d9-@AlZc%+A=dt+yEddt}+ z2s7O0;33u8Hy1>%&CN;s#&*wJL-34y`48k5uTp}xdQR+}wy_Z!%8ZvcE|kBR+#XLe zecC0pm~YLfeTf^DLGa0DD#BQTqWVkdnUUrG7V%R#tQs}b?~1n8V0hyN&Hf;{s&l5i z)$+eldjJ)0SAyML>X@V3rTuTosT^6rdAaY&G;oHRnhq{Rz1SPt61R<$ur*WuXh4k3 z(9UaMW!GQYVEtqH#FdGpJl4{+Cl|;2Srl`^@RJ)hPD|ZT>EFdKIxKv&`dIR3mlvV` zymANyFUn*7{h;s^R%Fi9T#^*o=PKhk=Hy7!kHu&S_~|>~;Ub@$4`0vhc;)}}>(0ye zbMrXydo7HtVQ`X+W@0u~8g<#k90}!~2nso#^Fd;W25irH^4RhimO&3wY{LwON36k* zvs~+M-FTyY+B*)FA?C^cdeVSiqxE0RdVV>fjtEH_fXKQOdT3Jd+9)%5M2%H2Q^xF* z;l25apI%zesaulKXr-DX2ge8eDT<7}I9U!;TMriO-fj&r@#OOXH(ySIhtTB7e|2$t z%r_jhbd{+p^?By)yykg{k{Rp~@!({!#+`%lqT5sC4EV7-pP$Le%idJ)%R8Yi-RQm( ze+^WPWLoYuzR(s(tGwucM{)Ve@26I#38agw9?f|KpXBR*01882m^Q46v$Wl|fZOe@ z5m%L{_CsH~$4HJmE;H@Uc=_Y?&$nx?rpg9&wmfr#y*$7`~CTDU69DurXwggdQL2( znQthu3@&94PqTk>d^5&;4>3=_W{XaJU3C%;mz0sIy;+8(khP;Yjd7T_(TO($I7i6n z+lJUrYvsImY8{T{2Ipue%-IKeOJ5pi>dEM!R%tTSfzP^*vwVjqAt2Uq8^F(3jYv&B z2^yS#HdAN$agf!HZC`{`xVR=@S;2vC^gMd)z!#iIp>y=wx?N2r*Nt&>-|%uPTiuVQC4a=sN@geI7;BFk3*@Z zxW`AJF14qo?(y3S?&lm-i@oT^K)j#iC3h|7 z!#(7V?D%#1A+F>j;OEzgEjHEJP-rXbBaXt*((W0|_oFwK9JpKaq4r)%&jBaVVVxKG zXHbXZ!iv3F_v=Z>tk}t%AS-iY4HBzH8ZkNcFukTlk%uO&_X7`rqq6qI+3rxqB`gjt zKw-F37gQ~|Q!(j~*nduMdZR=}I0r}7>@MhosUKj0LWlzHP9-fpoLu9%={@D|k183N z{%1|P@ASm%8oMOMR6Xuy7S3)Ig!9QTsUSIpiKb`-;t!{bev&axrvHRT2F`kAb6QDs zH698DQ>EMZ{*%0Nu_I>S`uIvQN@W+g@Gj@4xf*$HCPr~t&ejf)fVH^+z9HK_XMaKU zKy%Z6qZPe4jx}J1O|(t6wyjAY8_3fOnLh_F6ly%muXnA^MB&G1Uf#*$=0(oN*2est z0=>HrE%YfJ*o=ex3j+YpaN<6)TA%5A*EEKKx%R43oNWcNGC6jmIE5{nmjmMIF^aAK z%D)}4P_WibG|OCkF(wL?#Woo`%X}|ROxdFuU-;zJUY-E^G>jAaz=XzTdQ5{#BnbhA zrv$t8MEI5WUtEf^RR|J8!x?TH^r3*-{86(AFxp;hoB==mgjm>&>&}+BbfOxFsPmNM zU9hRea1^xYBXjV|bJmZYt~;vu zohh^8+*IdwR6@R;eCZx0GvV=mK~<}M@7twf0Jf7bdf+Dz^IYU&tdM7vR##KBrh&(< z;iKYC+a~@6YlQwSGob4I6sp7xAp~F}@r*W=FLt?g!m{sFal>98fHV`STBXcTOy@(E4Hyt;& z)(F$F2?>`fbY$&wX$@x!8%|S+M`y zOr-?Sy>qi9Kw(Q;pni=_uOZ9M46tvbIk#Ue{VKU`HreCX89{Do?iLW+tE)OY{&cVF z{l~C)8L?^Ay{e^ ze+;2fAk1l@0CkBckU@>eNsKfi1u?8$xQc!`*cxzSWVgLM#&fVOdez`28fR=~44SJ9 zWbC2E*{98)??D@_gU^V9M3l`5a7BXl6Dhl#4v0A8s08gzuT>kD4ZvB~7$B8Ib@5PT zGfs1_Xit^rZzF~!d5zU~nwYdWtP2AMWR?Jf3Qaq{;kT%PiuD%<#?&mlgbvX-mgYci z`x|!;wJ`2>bXgK?4=AX$bp?jO*1$)gZ+F?)Ipydb#o6NIU(H8S=BjmJfNT zv>P#Kwl&Bmy@L8WDm_=AfiS1E1T!^?k_bK;iTd@OI5~~svM@*>HMfOFw~W08uuByZ z*V+sMJM$3TtiE}}QV#uG1hr)#T@qqXstG|L^C5&TR!t5x_@PF0zg?qsZ`TdCxw=1q zk7Gy7)9!Hkiv!M!{QN-6c&Jh$6EH57d2Fc~zEm(;9B9y$;9o>*icStP5I9^?&=ZC4 z%A^JxpcNTTgMOB?joeP$As77#iVK+6`cPB9!ofnX8)#>0&CMm85tr<7>jU+m0mHuM zvEH^hKLPP?&wzqDea1&xvizLE-%g;>TaHj4Tp$BZTH`b(Ig+42OB`6RH7}o+@6}#Y zoq2lf*8|Db^KfMi14TG_^VJ)zH*M;87x zz0&(7MraOumL;B>evnUg>RqTQC`t`5aZz88s?Y*{ah8YopwT~aCrX#`p602D307GY(5A8>8-N75yZH9N3x8v7pExHii>JR$Dd zp7GWFLZQyPnjHVGwjJ=YuH%MA-HT@MVqXj7ik>>Kr^j;ND!cl5(rZyD6#F@dq>#bi!*SBJd z7kEPNlS$qX<*Sb$SIh>CzfoW!{$bmF!!Phrbl6Oec|@_G4V_IzX5Lt}49zBw@aI%X zb=2VjiY^vNG0kBP<%V-$!Cfx=D!T=~g~gUPNR3YWE3!w;eVW)6JEzm^+M-j;%bMWf`x!w7k;ekNFrLl;(QPZwE@tP}92ZtCCF`iW^|s;5%QV8^ z=4zfuE8f|dxcw4Yz$gKmp#TcV44>0~0HXSM{V;)exEatITS*0Fi3Qy%2?GTU=xlTp zrK0En>gH!RZNuOPSnf^SE3n=I#2_4=x}jFoj-)lV0YBt%%5<50xxs(R{?7=jYWruo zPYr4Y6U(GLWyW^~+pICC*>5>yqbjuFlrhXq;Jd8@%gF^)iD#in2sqAE7>>C4;wzih zNhEtg&15K11lgioe(v7437>~XD^t}U?oNc-q_{9IEnYsl#7O5dOtlyNx4AN2-YFqgG$9eMvun_S{-J=hf9;j4{`2#2H;sxFPp* zmm2)?a~o8p6sl5Bf1Y7Jqa-MU-};|8(H@l9++0j|FF}_k0b!CdQ|=b-o63$jR%(#7 z!)JEc(^D%yYtwYzwG_6npIMuu@`^J!-Q2DV+?(yo_+6@xAH4EwfLz!7lDJY14ht+P z&H!V&3=A}bE^Rx%P~w(0Z&a9sA2R+wz7#yzQF|Xt-Ke9|3WG4T)rx*YjR(T@+j(~V z&3z`Knkx~c26UACeX78Ib_TY(yo1&29CLWBzM|h^Zk9uqWJ?(<`Lz-A!6BEl+J^gP zmA3E23FfdyUz?8G@}qF|t0hwf=Z)4iy)kWv0*XV;^!AxP6DtU`n3nkmM1F-`CND~)*3#l!3?S1yF0qq|m?@n3Q9WuY zw>yof8V$H*6K%fSuGuE>7b+e&P!dK?`A@kp&tK*z7hA)SSHW$dx6K7FEDY9e0fjLY z-ux=tU5I;o!AcuPM?IoxOG%1u z(V$~ZuzUhyUGU~h*Ilywq=VC2ze)^L9vULLA8NLB(!kJ5Hxgxj?j{CqA>wTGJj%Zq zV56M!SDfHH#$qepy@OK&s1$G&3?(Mls`g(27j$>eyJBmT;e8@ zEbL|07L8AlPtKh;hI->v?oSCXrf2C$J->=8>Tz7uMGzu$=1)}p&0&O-x zmYUnFS=3f_?}5|I-t+sfd~Sals{rzJiVUhMVTvn4^5p^fx?IqPK<9~vZs8&2TZH&M z@S_iJf7&U&`w_1j4C|8zVK8Qa9_hBxzW$j9+=&&NUV$+R*FgvM14hv*{_3`_FTi}t z7aK1{dT$9ardDy74Qs=pnq@5gbtc z&J($e3bR_889=@!EM5;;Z64?>LclV$63cbkT|NcxJ96a1mJ|7nkE*kG`Md}hYFZA4 zEzI)(cGw#Lc~*!c03GboW{Hmj z=s4%Q7fLE0ag%TFJ?i9EML@oo2Pd2`A2So9XA)pOnPGMsmWgpmuI`W0wAbahE=J?! zxa&$W2j_%onzMaw?ou10c6wSBN5ss>du&%w%Je4~9D8$DBC&J))Le~2Neb*e$2Xr% zzIu?GZj2G!_2tVHGW#A{n>cx`|;!7%~AV*9k93nKXg>xbk)3fTORZj zgu^J~il#-lQ+dG_eJ1t7@aSaB{-P8WKAwCKyxr?>9h`0QyEV7r5-&`(Tt|)ra=cYZ$hLfPfPe0~ zvIaHDt*}%tXY-#nX!lsG`uo^Tdb+>3y}4x48v-zc)||Lu4Wp|sZhi8~ch`CsolDqX z;nX_s*~IR7nrBuKf>YdH6hoUfb16O$T9LAIWjgiF2W)TriItt7dg`eXV!G9_eq~5* zj?NtP_1@+C3xBU_Tqi%x%X*<4P!QdBA+Qi z=r^Vlg%(TmWwWaL6Xv*H2A(Is4^QiC-n>}Tz?htAe1O25TQ@|TM?bdLbhkFXplX5D z`~#r)l-kt&dgVXidzL$8lix@HVZ;qw?XH;cV0xaej;=4LpH02=B^;q z;p%L?zIC!%w=IyGj@n|h_pgj$o=l47Y-1r{ zlojb8ygMwc*@9+YLcc_0+M$}PGi#ajV%Gt`lsC$R9oDsOK|+cDZ~dAOdMBNo3Su9y zjQ!2R4P_ofa;jk+ftm{IW}cDi%@IX-PCpO_862OTr@ZMmM*)zm;6a}_vD2u%(C8xb z%;FI@6jPaK26BhrRvl?Eaxw$V+Elam5b@9cjkfMb$Pu?1-(*K@ zdoC`qrjG*pRUl*_Um*VYS*Qo_7Dnb{pbM8amdgaliBxT*>`v@Dj7&FEe6>}iAd7Dt zS8OlQzdLW>sE?Z$4=Bz&Q27E$%R6hn&jj83KIbmKG9sI5%Q=p=O>}Pit{nOjtc7&> zTir*xP@JUipOFLoO4LH>qQ$}Ir__oonDrT-elGBFkc_y1=a2F3nbbzyz#R?-lsYi8 zzHn(cH))1z?Gqd)%Gq8zlb(odpWof^%jx&Z?o$nnknLL)!~a%k<{WS!sBBzSdVN%~ zOMRi3-4)|HhKdrDK2$dXJ&LQ5D|!Jt!1Ya{x!!#%uBjz;x}T{GFjem6F!aZ@a_imn zQnm)`$LAOam^Mz5`3(nJ-#m8H555GHJ*P~NhG-WfI1f8kO6NJ>oJYpc6|Buhp<7wlx+(~Y;?k+X` zSoh1G5&v;nxO5&Iqu6B#xdhSKf{4OvMiM&|RuV}wjQ^xJb%2hf*} zTK8AEWSDW%4(h*}ttWJA?R2e7a=WE-IG2PxzlVv4I*?+Kq_B=g^#Y_fqe6jmn^g4> zf(lvWy9Xu?Y~6)ycv!X!C#fHx03{(9{Oh?7o~l&zXB-VzL;1p^Jv~FTYs+I;{hC+} zGPpt$ans~1W@?Ql8(W&%ekyLDCOTn+Q92fI`OC?@av~+rZIOwEY0ZIw>1M5Ihc=j` z`~>HQ*MBsTgsj{Chfmtiwr;e$Bm`A$Ya7V0L6z^!L7!?@^1%@yrEN-!5ZTV-63rTa z^Ub#_K=d)=49M%IITKIVnpoxxm^)cH%|Cq{y6$U;Gsx;84NB|=4{|8Qk%sHuqz72fx6Jy=K?2ot>Z7>IEi>cxV$=(*UG54s3j5{;% z>uHzxRRDN1w7ByYvn!L@tz!~GdX5!&%$fJR)Hl7KY( zjnbet(R{hCcjf@*OabsvqLH=*CC_S9(;L z3^tT?&~eR}rvH=;4#PH+fBFk8!Nu)MjPu-cl`%Wns>BJQwgiI75&hyzNszHcbBLd^f>zJ zeG%VVmMAk$b&HyiZj&sgHVd`-@h;Xhx&B=DGiL5uh1jSi$bo>sdvnQzGIk7vu>{D1 zl*w3wIA%c_8f^H$p}dMdGClsbT>(GJe|%rHEK?70`#RnB!l#17~l+x z-AE=(;$mzqs;vMY*ymV5+j!-+85gK4C=co}_zwY!crQMW;->7X_9Q&XA9EhjtmBW!8!I)*Bxk2sE zGdc6ca1hFJaR`e#AsAUIiEy_u-Zs4f9NoL?51{7JVSz!HjNyKyU3thU%k`i=SR>iV zZgdYisfFxoL{bie+h91Z_;uR-CEsPXA9hlX=#;m*;t~9`O0S~FY!WDLIUj$%-FagM zL8@Y?=8yf5MV%f$&r)DBM}oK@ZdeX15v9zNnp2{==iIj@aeuLgPKjJeJ|6x5;bD=% zS)Ry-lg@~4(9OXIYch)?TQirKD@3GPqa1>0%@fo#=?KH_wGQBO9U~-l$V()?=SHr9 zpm~B@0?c7&mi2|t&A)a$aVIDVA>b?s1wIvDt;)eZHEj4#eK@Ggclp12 zPV;pv2k{X){?r>=;2-_VyiYOVi!~ZOa#i<+i_G)OGDUtt*RDyOY<1KhfFvQwOetwM zaaW#YR=ba4#_(L7i!vlXUeS?KBPV(YqkKE8pKU<5$fkxv^%8BVk);s-Z2zL;L3wsz z?dZiE%m>rmF%`stIp=3JOo2tr>J^1Z(9Zmf zGOVYqLFhg)R0)^7hdvd5rN~lVt(7W20&wr>cy~E2-33DhB-6H+mA&~L${sM2Jth?; z>%z~1H**w7LD+cHt_skXU#Odp9mdYIyEh)xKG;VCFz)3(H9|d}JwqExf25q9^5Od* z0O`0p+j3N-&F#=!h2TSDTvYv%0l2C^fPBi8h#qE`=;x_DJX0XLJLZ9=LG(Z4jOivc zPx(mHDGQbYQ*0L5>&D6mLaDUdw(m~Eq-{|zWcJEGEv9BFLuy)es(^j8)N>zyS*Bw| zsDGW%=x>=No=irBT4YNZ@G!MPW2?NusW$AD>3NC8Az{P%t4Fr$+d-X?P>oPy%WY`o z=q0dD(u46-mKUbYhDBU!-x?@cg(CAQW5`YF?#6B;r?X5`No=}UyPEg)`0B;i&T&ux z3Lg~r%L6^z-RcG);x$0EN}|f_~dv~ zf3`)rF+2iZ=^?|mJK0Kz>m5d(I?GZ2S#e?ktbo#Yc|WP8?KBDLQ8{NeN|JrnW-(ly z=}xSNSt$ZWud`oi?ClNP5qnSu4?e(te&WN}Dh+azm56ArD^}vR<(6`StYvnFLv7EC zSJ|HB`%UC^UUAMW-I>eDX?W8K^Rs0Yk%(5sswAU@7v@$xqeU5^tcuwqryTshuT4gE zpIkn_)0kaQP?fZonO%;wWIliZ%)Q{7nx4-yjbN__5gRN!m$38{T z2$aBSza?!y3{Y#2#l}IaK+}MV@>dPn^at_EZKvgeCj3eT5X5Xn74$tiKP@qD{HbGw zto~r%I|)jD$E(8i=5o@?*tKwVaC_E9Mwv1(TY51&gV8c31LYBB=I!1JLK*U9i_fD} zrJfg$iFed0;v_t0`$Lu4;82L0KX(~|^{}ZJC%>(cygi_JbR|%!yKBnb9uD0WD5Ixz zJz3M%$PwBON2ap8RnI>C+uyWN$K{g_33pi5muGj}j=fZzL^m6j&d7|`iY-$!o#TM{ zg!H3NrS*IpG6iG8v$Fv-pBM%ZEbTEjkPGo08rGX}LsnaqG`UlzE0Jh>Lg{sX86 z0SNRiK=iQX(MwKC~~ZDiFQHJxzF^5^6esPdXP@Og|% zxV?@FLj(?S#(dZ=rqxpnU-yFOR0HWO(E|S7fpr|rCMhwJ{;mCWvgfHxaHr@*&XC+Y zo+!%(&vQ>L&TfBP)KJ%3Y10XbVrCWrAcaD`s}^*LHXXBF^ZUL| zL7Usq)Sjrrp&Q%lKOY9~?Jcvro*2FDzBUOW353-I9Yv+u=6cI%L$HdiT7Li|G@rqe zuCklL4RtTw0GVQLe6TWcl12@XbrkYOsiyqpC6nVcEuydw+epaO zRlN@R$8sPC-aj5yem6b|-_rN*3!&DiT)o0ayrqZZQDK-X?t5fNw`*EfIo2!yEZ)ypIJJ zUI@%=&&$75y)=TuI2z4eanHZamX04rRKi_D&yc)hNMz8E4+GI^zlV>?T9dt>Wzajv zB|k^c0Y_4~D2zE$FY2!pIf1(Pq$S+TCHf$x>ZjJ|R#^YzHqD!+bUfL9xLqp{8def* zt^?|uIa}{q`3I1A5>VvIWEC&X;@ z)Ip^~aO)`3HdaW9gJCvvgmQy+)umXVr~NC=zjozjoJCLlvFxK@!j{rJDssw3Wzys8%*8$^a zu!)9b!4*p!K%H>qUW-swS{7Wm6l_(yzIz)J^an7GX>7{cH>Z38o1M;VlnEy0cl0}g z_3~h3u&W_bHX!oqVvSF7PoPegm!Uq+5%uuU6_oZvSUL5={jh=2Z*?R<}h3fq-jG}oBz-_nfMT$TVE7(<99Z(WS z2pPupa+u6ddCc#TjrGM97mavgv`$ar_({->zVY*HcyY6ko8+6&8H+{YDT)U|cMJ+|q0B zT)`jnBDkxT)G-9&X2dP{1NjMWiw;HL9ghN*G~Q?w(MadlQLevfdyJDu|1B(fdYB08 zjuGpVs;~NI962Y64=Z$caDn5aa-z;6UZqI$MCJ(I;~Ke3veJ92bx=6i1l*tkec8V07GT^Q?jG6*>}oWd{kO ztPU$DS!#?BQyQX5Z zy6Q4BK!_8ka!XLabqTgI!){q_m)eeo6Z(UrQT=yhA6z(}?w&M~8^o5c@?9bPb^r|- zYBR6p4g2tC0FN_J-AMp(&io;9X7%h#OdtkaO@M(&IRu$x%W@2D+Yn)=AtFQ> zGD__|V`_K4Lx0=z-nb^T=V&zoc?QE)Od5CqxF$IyU08DjXRPfe;670xa|&`(h(CZN zPlig5di>)hFps1kQh}NiSa``?vaddXx!DQ#LCy+~@z0AwLcVCo~Wm&85gVDqvI7TPq5B9OJX^ zizTWCeJ%;oplFG*x1+7i@aG2AaN($GCT0vPX8$KkOqxBdZ#svX>an@F$Yu1Pg-~JG z6^L0Bz6Qkm&W>gQuLGREII3W9US@{{Gok@WoLa;1w5D^Xvq1$e;8B}8%B{PhH8~na zLY3UlL~VVYhz)ug_da8EcUOLWwkK3eJ=zSsIn(OVfc2VyFRDH(uX0&v1e*=%0bHko zZDflYSTcZX#el&@;HNdh^Sn`(dC@Q ztkGfgsBy0q6Y-k*_Jfxmy`#to4FSa#|El}Xmb$!Prpp-4S=fNOk_H$-c5W#Dh3sif z04$pw^l7_Nx||)(+)=MSP}}@7fy|u1IvbJv+@)-+6Oaxf!|+JRUJuJ?>R1D&!|i%z_NHqO=H*KE zdXrELu7O!-hWKcv-@?EV!O>Y(3u}}H`{4mkLr+|!A*x42nb8A| zdMj<-u7d%7{J;Wz;(7xkMN8(;ehpT0aA{)S0{1)b($P!xxx$*O%4S$kB_0)E=?9Z~ z#QC<|v|HuKWrpW;uBAhXi?!gS?JP#A1b+^m@wTEiW%Go2+V`Q4Mf`{y7{JOgxRdz4vwZ2&_wh3kSXq|^hna_qPh2CnVWo>pZobfHRYwaA81$3}R z+@0r-RFD{~e)W&UX=wxiFF*O+!5)D3*+DMXa!gprlCJef!(eBgy*adC@V<)syd2oz zbhl$T+Fm=@rY<5|O zkXt|?r-%h2nm?8wlX;|Bb5w_!;rvUZlXq;QIgRH3HDgUcPHs)2ld zU2lou1bbf~lxWcQjT&-D<^lKBU)faiXHm;e5_(4OyS9U&|Lz`(11Dz^^7B z3gx^FES^Z$oP8!dG-SNqp%vMqhI4IwyCPfo|MgU9wQp( zoMIHfv_N41?ZlNT=ox4LK&E9me(#osJCd#!A9~Ik%=+G5@#|_ZJU@B|dKcAoo#mw$ zZq+7Z(iFJGU%71xZ*aOEwdKa-T7V%7!=|a)$@Zs<-A|VaWj#l)`EJlr0#xD7&+lj$Suo3ra|n8N z9UH3=kZGNF_66w1$L%$e8=Y^f#t+u(lEJtS*V?b-MhQ9*j|74GHz=IapCJbfdfr{d zZ^rk_ei}Q{GvYHc9Tc>GjNShRht=U{TX#Zu@{Dv=p8y($3zQxD^4{7f?ar0)7WI-C zg|angL5(q`s#O~JA|s|Y*Cz6snE5v!JGaVh-EFjeO9^o#N4ZAw@A7UD=qfq7f?DXK zdR~QnnVRvV+6Ph6^Fi~{POz&4I4+hkks<`-uOc2O|!0-FmP%bwa$g^ z^{e=d{=M4^Y}*Nhy~kf|R4G?9uqw2~9CXEEE)Mpw=^(>A&@y!G+lEK%jxA0%^>Yr6 z@$~-rUerQli^-O@zbucNA-mn;tL(8eT-U|rrz3(OI*i@Q5oR2vAnUXgg>S?id&YkYRVkwJLY&!Bgu2VMu z;BIUT4*r_HMOqqtS+z*knfl;ZSPwPZXED^5P8p%;8+4Zp-1v)E(^6tbvRy{WqS1 zH{a2J148SYOYLHHKEgp6^#l${O5 zW$u}lUWSi`9++c;xm@|9KjGVNup7ZvM|UmVn7C+sx9w)xGxhe_PwCqCv7)#UJp^o+Buxu7?s$yR zOrWb}yM*f>YQ8RrmZ!h4cpv!?T`q5)7Xyr>G}=ZoXXZ-ceb=7-dcNixw?=+6Z8&Tj zJg&;{FsB%ozY;0zRL|a}Vf66lI3hmqpW>?x?rkTa5A%$v42t;@XG{D{E7?^ zyLB%zC&A;e@2SFuu%YMGhW^?#kZ9P3Ir!4m(JH?7n+nn2W+X)QpVT$v8Pcn%#F|r9NU@BlG zW$QExRZ1o^*YyS0Qkh?H?oN++6f#TmO<6N&S7I&I=Tx1^&s*p37A!Ly-q1CM`DX`b zyalQauz~dahFE6r^v25~%yV$wnj1QguR(NfxCMR5kuj&C4f#eb<%7K2-M26s$-)(q zby&zl5RjJk*C6T2TwA|YAt8uab7M*xBCf4PPipzJcUq_psuGAA5d=EqzjClbOZ@}b zS+&PMJBC`@K1{_kAK$ zCH~Xg*E$szi=OzrHglV>hafowBIDEw;kCjcEons?SIv;WJa_1NL3`DFALHn=)jg}p75oilD6?=ALDwoVOieINhEgjql- zkW#$)w>l*~7?!LTVKN|u3Tn8$)ilBCAzM#}72>ZKs&;WVBBhC9ae+iVHKHkD$9h(B+Xsjn%b7#NT$laUnsW4ohYvBBO%~F*%rw-8a`kze)(r6Nai_F zi@9ubNIsh~SH&NE$aBAK_y`v${sTyG4h6Rq^#CsM3iTFhZRd1|1DPyawi$p`<%4Jg z`r(9YC(st5?t|m1R}2Yl1sN-@TaU+t2CiRCK@+oBt@?fB{;LEy{b}!s0C415Z|?Ce zYQ6^bOvP`HB7;u6{n+Tk*68PMvnb8S8?gOL`s=X(RxOx7sk=VdT+Z;C@AQ;r-XydKv$U>u8ZS~S80B$4}3v(Sw`@`0GMU?0cEeuuZlQW+Cc6d}}F-ki&dVX#7A z3{(Yn5AC&i?p$$nj)<%y0_n&9cNKBiR_X|QowQ4Gzq@@UvQ8N}S zdbL<2;cowrkt9ohOIiDsSqlT=K-x_TE-;>FV(TSM;1@7Ql!{B{(C+kHNj4efxKnQl zx^`u%3LOKBqH0Q7f%{b*Sn)Iau$8#k!Jvf1okAUvo`$#q^_olXz3IGeU(&R$a${7w zuVx5Kr`&9fAFzoIti>;qMvmY$JblG(Y>|m%uY~!f&(B{JetIIwlct>$Dj>!DCq!y$ z7GL>o_H>8~2a%h0(~FZHeA-$jXKot9qc@7Q(>*920!2ml{#5rP$sA?IrYPhMCxrB3bAaNpf3 zWAGAaFDXu{OJ_Kr1V{EI5)!tfg|fhbd$3;4LvleQH(&--Zjknm(SkH<3>VZu#l>L_ z6q#Y1OiG7cSaRafMEbq&Nd!N7a~v*|HSWtnG=#AXTfIWvaB3+@zJjCQHw)Q~!!w!) zXyN)9Hos6b1h|Y-i{^@^!qu#!*N%F+obXp>+%*X!nzJg*c=f%RCYjO}`$7GXZKd}- zj`;D*ne@WO`fXnGW&=4%x7`Tt(x&!^iEm`V@=&gfmQ~=Mx9(SV$dvCCIuiG&8Pr6k zrj~+`FW{ogkycddGr{3Y{QV6E?ALy$OvL~UH{|7Bi^8VuXCWNwLF2>g|K+pY{7x19aL6JlBxTdIX>9pM_}^`w!ZJi%E)*TtTx-&!+Ub z|6FeywQL9~^D?G~L_Sa@8!7wq@}~a)#^RX7Wbcjd1y<^9y}ys|fK#L}1r^C@!nFO| z0|mt=1>t5^qi*3RP`{u>h{jfBvK70aO;p-KZ#~ceKcngf<6@5DhkZZIQ|zu7v=m{@ z4{MB=<*NDzWdjXgX1JG&s+KU}{Do$Bv~!0jcYp6u`Tu#qRg{Ip=#OdXC$2CB_eLE9 z`IHl{Rjx_atM6lAG+_m#|Hsm|KQi6_?{8xcGl$JK=WH{~9CALCvavCz%-WnH%t)wE zx>Knk+8nnrhm;)4shlF69Exn{pb(vJR6-}|MC!Bq{r&y{uiswR^Lm`F>tc$pYGGJr zAV($1|5{I!`&YE$bn1sD;`xu(CjB;YnBKw$V}~1z$RI?Ulgw}amc!eeYy77|3t3cI z>zQQBLG|EcPdonODaB5<9Ppf6w!QR5bSo|hxma$M%LTJWKX^JzZ@uOf`5sfR4oz#ASwkQh z^&F-BiqH`yIW1^TNh|+_+JPzoZudh)tEtVmYlEL_ImbU1*;2Hf%aaI@me`iDdYVCU z8K`82hOu&n{T_(5HX{$Lr8cwXrdU&tYZ~T-8lc6cBJEI5V6Kx4d~#8(jp^?`UD^5O z&EwrSQX39u8hxLuFh=xaJ4ABM`x*eR@c_B*XmH>{y9`G;Gwez^NA}w!Nqg^bFGQpi zv005VjV1pD9G1<7UNd3c{%RMYG+HSz8eji?W!F7a1~lY=?olu%nJwL4^cUqS6yxdB z?XjCQ_rg2l+6IM_!(f5uW zsFwYgKgbvU7(SEL-#-_e{#|6r0yV4Hw3#3eFXHs~xm`Qa9Qxks%V-kSn7pm&y@@CqPXU2Sxs4pK1?vdMk z#G&me`a=p~H_iqu%+X$l+|yCJkl~@}4n6p$?^DcstGaz@$GhgpFpY|R^?kv9)SX%S zZ!E^6SXbUogCic~!tZerv9L#XS_)VY#fQ}V<$bNaJ7*{4olu6EjS&j8D5VVD0w2_8 z*^^%amFr07U5;Mz>A#AaSH4Kyp}=!32HoAPLme5BF)6YnwjrnG{rj<}9VSAa9b7uN zSjV&yjXpJ?g8Ty{J;Xec>PICRy~uvB=Qg@QSW1tmT#mR>&fU6q4VSDHcD3pGe#p}j zg<5#sG2J4yWQu-IhKGNwlBzlRz)1$Vp})}>-k+Uvyz?)hA@1>;q_XIr5}d;;0NEdI>AL=A~%<~P3Zy2he9!G4VU8`IGr?yuE$ zMKk{bp6fqspnHr5rkY(5i0+MavxP*13|GZ%fUX~_K2~%&D8{*=ilPn9v{C0KLjpgB z&u2>LMq9MpdoI=;er{ql59&n2uU9x}>*n!XT>GI)_dImcJlvM9n+`r4TvwfMMkN$t ziscI-Rf5@?>1lhfuMTb9=iTZq06LKbO;GUdZm{O8qRTV70(5Ni%xN^|sM(*Ou9`I< zPF#>f(~TgxwkUygZLV2g;)B)|!L-c@z6BnXONSq&{J5SFnpby-jZ$T(|BVK)Lq>fj<{w3(f$nv~VsOu$nroDZs5X-H_-jD=ejuR;1VW4R zt>3Z=0jPb0Hg(di5a${KWEFLY*LuHK?%d6&`|}9j7U2dZVRGfdBL>%=wqL)|@u)nM zgGgWh3HEo@urSzbMK{Z6QYc9O3jkD@*ca`4K<-6*bBNG!&R~;jvZ_?EHQi869OwZ! zkmXMFc^l(2^!wENWvMc_Q|iQ0e~Dq4AQ(R%Ci+T64K@U;IC=pgS*4R9?QL&b9va>L z3y}YXCBsj#7^ee&F7r=i(T1O8MQAD5dyLE76L{S;QE?Rm-STq+Vy9=R18Nw0@|(iH z03&hXM12+_RaXS-G;7365;>U=nG^8zMc$^O2#JUuBQy|zXDj2X}o z>q0VQRG+MU;5zu`HE5~b~50I_d=8wQ|$qF(Rp{3DD{9bsk$ zC$mZwH4rSZ`dtVD7tj{N@_I}1TK^B0FsMOS;q;oY92)#kQO}ou&uw~_x-$2 zOQ$qX2BModh0l*-Wj^J_1;W1kTf~$Pk;(3k?%Gu|vAyF4*3OLf65ZH#f^54>3EEO_ zLCzIVa?Bj0xAyGoeD461Ya35GT69D1yvybct8r9h@lw}|%_5J%x>0Xf_IvoJKH;NQL&CRRK| zQY1b>tFwK^o7uoBFM@D{6GO=>51LYFYN|!q0=B`dYL?c&*dnQXwou0zzPMcygOk#} zLNB+%sHR6e~`O6W_*3|27n?_G%C$0t8sQM@L5hcN#@x8IM0h`48pju2KvUcQG z=v4`6y3kK_D^oR}H`Kd^{SPI(Iti8L2h?Le3A=b^jEtb7;{y02OCOpVl85_TEAvIz z;_Z0M7{<+eQ8d17eZ{Q=Q!cq05%dt#fdI8J-G2y@k_X$I)KV9?mx2gi#Br|G31LwN zVsD#jpSp;d3LMB0M`bD0VfDXXG6}KOx+CQXXN4A8Q-)`|#JF!p*$Rh*R+StNGE(u%h`p=j zYa^1IE+EO&n3!bCJw|mXBz~M9ld=5v9S#6Mzk9Zm50R()K8hypj-5h?IX7n^n~sR_ zwckWKGBrj9rn?~ZB=@-H$jF?_smV4&WhTkWI=$R;VOlbX!3KPLjg561F*^qV1|~Gn zXOBotykQxhRg4~~$};qbxC9O3Z&Z5&noLWKYcR%^Ft6DQmgROdVKGFx$T~w~p-pCS z8IBD|NX2-aP5(u|)OPcZ`K408ObbVYwT5*mE(b!#+-1*dx>viFU~*bNSPX)a?n?C; z{~?Aben_?rE-!m3Rb?buc%3B@w*N^tKEu_)%tt7tnHm)Mp1j2{uR0V+Xn`J9klu0g zc9?J@WIXQrN_=FXL;(2D2k<`*`%0K>uD80^bL5&ui^_?dp`bSOycX~FWd7s}f%Y|k zscQEc24O@Qba!o{j8kNdFwF~L0t0w^(vggD&ORDwUVXF~w$SuHqS?ePTX}sl(FBx5 zm8m;w-XPUGXr*I|9XsXgW2gS^f!)KdE<`i_4 z6`RT>1eG|>g(m&?_xX^}O1MtpKzf{%Uj_+hv)c6A0>2Ce`_1ik?lx(iqtydsqj0{` zx<{m8HGziNsR z%aGe4weqqdB@7vO9kfxHE_-vdb5E?kp&Lal#_SA z4(L(9#d{+SE-uk7oH zaIgB7o3fprJ8wkt8FNP^M#8fo!I{YLn)%1Nt{ml}Fx2&P7teT{dt%YQWKL*k8NHAepumZ7n%?=Wv8@^SMhOEvG$U%AgGL=E z0)jiujkY{<8@Z%0p)?$hXW|n8Z)ri)v4rDSGyskgK6Hj^k9alRe5!m!yYk#WrUV)= zFC*`s76dS8Mf1ud0n7>2KP&rR>-1J7_&6Ykw%bcqR=>)tt7Lb*zT;tOP7Q zDU$uggWE|L2Zonq7j_6DlZ*^^T#&G=pevvyzAXqq{bL(oun=8HPu07%VJ~X5D4P~9Ego_;b(rL$>1f zVc+7|ocm2KUHnZ-HW`deygZaV$r+7Lpu$O>|3fUIjs5@ z1#zjUCWto{FqMpM`}X>A{kO^ssn&H$a?dLxZX5b|ar)2r=USr)kSEW?i#5!SoXU(Z z%?r3x{gx2Og|D%Fl~sCIE%Ql6!~xIk)p$p(Vpl7?S0y8pYwx>OS#8Z;T_XUww^p|n z2(Ij}M3dx^5l`ZDvY~DnivI*i4jSt613rB!JEgoieyMS3y;h4YW8sF3`^P*Lq?TL` zPS&0z(h_Khqxc1@(!CEC{^R@jn>s-4om-xQ@pS+hrjXQk3l=G>Wsh3> zwr-YL{NCW)+(oikaGlg0{DN*Xxqcw(d$peEeTxYhGDNjIuEX(b8b5sP@Xe2V>SE99 zg#M!IJ8;>e+kiYpf`7)vF6JToAFJEFeX+97!Y`_~xep>;r6HWQ32LAM?K{F{9q5;z zGb?|#oWFRZD)-yXU*Be^=?c*5R?X)I!Ddt-&3Y#)bV9X5dT3{>N=7f*sq3tp7#)Zv zB>V= z26g9aAB2fV}NkPqc~anDso|On)V~$H74=wonRhbZ=_W zopMuK9{Ik?^s7}0VESVLgDNLKjmH*b2EX00)*v2?JgGe$L$F~0qp;H<9U`fVTFvP3 z@on(+)>zA=oxJXOGNSj9oWEwE4R*G!+E|yO z9t>C5hI|&zRGJy`$~Bfdj48#@0`7S72&ZAZHwh|EhM1>R0Ohskh9Ej2I2(Az?+{cG zaaIucaUeN@;Md%nlezVN=Q|g6@U+>yQs~*NDB@(EQU?f_f@^n%v3}u>EnSstwO(Pc za%SLOD^2o^nl^G;CX_+(Sdg|$G@XJcZZv9Acbak0r1Y!Cje_1=r|p*>$_TiNMDnU z^;7Vm8epVFsJtOig5S?AfeeM%#a!JFVJ%;_)@-C)K)(pCjov({cRk6(-{c%(DA(DW zKU)lrx20wI9c}sx_&UQ_W;9*T{Bu%-am~Efk{6a4vAfN}S8Ab^q8OYp72u%oyu?UE zvp&YYR`rfwm-bL@fndV43 zqgu8>|5?pGcaPX%l0x@uWdl ziyO*1DBg@n0Lop*MsnfgN8nJ{LqHk_2h5=Mi)yADoFpE926>h-Lo~~ptCUJ2^2w~( zJw}uTWky5nGS8iKQv}O@QyF4kMK@U~yz0tm5V(^~q&i)gd%&&apHnLd?vbDtHhjX( z++a%)IrnYZDmfa`*fyf025PsnDPptngp8jj&9!hd_S933RdX}vr<_G+24wAHtI%+i zyVzax?({<$p$VeI|NLl?q81N5N^-@|84;B_#=q@8nbU#2S!;kYvew8^%{fB{R@G!k z^SGDs%{Lafb2N*3W9uNik`8Be|j0M3}XVkH;DQ5$)HMhHLV*G>TO$ACOVrXu*{y!2} z115ktHujSf3gaCTKW5~N0ICur4*XuB)-vh+PR`LHb?>t|HrPuF3Hf4A{nS7*y|xO_ zY_x+YDRsbIuZ(R139lcU5odU`%JL$Z#UMrGLNEfhH!#^t%C9$(CX~4V=`n@pUKz0A zt;CxCJsEtG8_&KDUN!&U&q;OKls?c$o6vMpagt1S(BFt!BLDdzfxpAVmo~7pT`7Fm zjjHHC%q1d3dkFY|Oa_(aHM$!-%m83EqGD3Opw}j@*)2Tus~I&Xb1dFPGg%AK9up6? z`X>OGuHe6y>ktq-1HbzO3wc~}BpcjhnwA zr&#Ht;}rF69A;t1A2o|g%xCv9kTPg_v{vkjtKi4L0?*_hT$ULEeo5#2Gr^D=0(w#Z z!l;s->4 z{|_7_i3c!ovvro@cMpN6;SG$4HUv`F|6qd< z_g9;1DGkXD>L!2?n<1q-)1dSldN6G~V4|+nNfz~Qu{+Am8r0+kPaO2O6QHHy3v(%K zfW~q$L#2kq(Kz<-xPlU|qb_|(g0-BniqQnEfZp@tH2s~EionoV9^vvDHhF&LaI@=u zq%^QgW~2V4C2#%9B zdk-w8#2KH3wi=V}StWwIZV@Q6%Z?5bM*NZHjIj^i$sox5HSGvoAPp>&sbsvc;-#}Y z>ci6QET(r;`x|eK|B=z=pf&!Ccd;Il-dr#JW**vRG53C!*!vBC1oyOzpCvV!#`!<4f`@ z*+XQpDype}g=Pi(kAwENgn74n*wX(39^kyV5s=g0pl-JcNJ`(!!H1ROsw@Hs4Xb3Y zz{O*{J9Fo`tH3+@Pk7G-X7&(mDHP2cCW!eO*o?(lIa|G`Y*sI+KI^rwq?@v&x-p?aQvDM$} zqLut=VBvg|ca}W;$*KJfw@1~z8nggTfDw7r|7uH$O7@|RE!CmVOPDx3tEGhsQ38{} zGXJYBo29%&NqctkJ4e67D&RB@S7KJ3X<-=fWX=FB|9xSl*5EtE6cu#OL?PQgoL`Yt zf*NWkP8Z{31gxrDgBr|9dah6hVDle2b&cv?o+doRoo^cqC;#|eqxo7BFr)@J*{$b> zZ3FtMLB##HKtva5rsxyvcWdPjj8=gfbmZj6yqS)Eq3WfJ7ti7cbM|K0I4G6< z(^aEF1!!K2J_gISx&@ID_HKO683mq~u(w*t9@a#Q-9y{=G5k4K=`-eRdYQDKD)$Y;KDc7=(1%OPX|_G@qbaxprM~H_SkygIWSsldb#7^)pk?>* z%ZzHuc|I~4E^qpAMjOYM=1QiVllC;lyuM(_gH3@q6|!v6Fl@)e2&n)m@2c>OBy+a9 zToTtYc(Rfs*b+yQ`{#K9ipw#$f06`=V6ggOWf9YWFbR!#VQs9j>*p72hta@-F0L$h zpYFG*ohB*2er$>z-hQ8GanUdiy7+ER-Ygw!C5hr6S8Bj<(9t@X6SxZ-Kew+$BAryD5@D1JjT||2qevdSsvYgKnfV}mRek5 zL-hgJ9kCltXcBAp_IS==-gH%xkICB$yycNzex2780`3Rno7xnG4*9=UH+g9}XsbZ)eihTd@)_Tg ztuUSr>PR4mR*QvH9X{?SUs;#l`f_``uX^?CqD$XiC7!#LX|>yNur?bahiUXSJ?61r zivicHOzv&iO5A?(dV3m`gUcTz|GLl&Fmjap8OF$HQIoT{=VM-*pP5X2U9kP#Zid>U zghN-pxVSQ2qmCIe)JAeCu0ppaQ3~Q!tcqcDm9qNd)s64O6uwWt(GTYW5GyS+3_e)I zZXlB6Cq8>;8%e;+XIsML{T-Y?rT(fe-=w3=!trh^xm`Rr@ zku(H5JbL%w)mRhyLD`kPI=hyI86z#4)_-Opvv=ELptz_EXcqkY?bZvGCzfeT@~&H! zEBJ*RIBEb2}$Oo<5VQdcIHb4jXvjs8sO|nRVriR8Qx8 zKfLDv>qz(IN-uepRM>%wE=|_Sa$~`OP{4E%=FRw!$Q;{Atv)mS6Ac@;v#QQqIp1Ne zMTO!K6muf12>f$~W1^+PhH)-DR}UQbU!C3$I_On!;sd0ajZDXA=7DdZFj+z>Ah(sp zbdQHgWRT8PgoKQm89ndx=wgQ(f`O=U&({ZsFXxbPH8$q_dQ)&T|Asrz^n27`;qz;j zwiZLe1A5yEntY&fvPU>0i{4?hzJH%mtWW$K=V{?|IiZ@*_S|~nuKm{?2^iG-au?hw zJ|biTFv!w6uaSR(iw6Ekarm*oN$`0-Tr#_k2^^gZVNEcJu3qxdj?o|cFs?h{Wr?ZP zW6Z5ObQrJ=(QHA0-4cgy%)Vc)={ zzi!(fPr4EMlk-|ZL)p_ef^T9lq@K%1roc@_-xGQ|UQc(~jVt!ZpDY#PGX&VSnt|fZ zrZ%~$ewIEmU=PdJinY0DTz22ZTU$(8;F>4<&_f7~WCpEv-HnxY!Z|3wXa5=+R`r$I zhO^lew!`a4jO=e>wrYZbOet$%u1OjKWSq1l)kgtx6PPk+B3E;~FElj{WHt6aXs*-{ zUGy+ndEUs`GVuz>iY-V31!mNm&T~B8znQe|`B|)1w-R?J zI0leGHKKd&iKY=}#WKQ%;tsV{Hx`pPcrz|R#pR5>SJ7X<&Sie8abF@=pY+8kAejVx z1agzPUG#BzKojmJ2gqq>b5G048kTYDOx26`91DRY)Z}F0PSXO&uM4Ah^5AC>iVIb;J|Ec_7AZiEx1Y)y<;2TPOq-)|8Pxld z8>qm0a9ZfuZBR`$rYE$j9mJ~#aE2}w*!z(^NznmNEte!Hq(ZYqxk6W61PL3ubaI6% zf=+tMuHnt|_OWZj#Zq5VQ|hFOmcQ;QIWt?v=DeALARQqE>a}+HA6so4u3;}V*BF>b zm2kJA0CwTaBF#{p7n**T^_4;%oo!nq`@Ps`a-3V@6CUo2(3t1&_H$T7Rn z$Xaay=AdTB)fi_#aH)|T$3X%^#1475p_htwJFcf?@1f5=6X7}wsBgvGlK#AM@1lyX z3uxpTD$UIXd}Qhinj=4>mTh4WVwm5=X$eNo>~Pvy$gl3dfJuNIax(5aqY**NBEIq> zh0+WjciT~h@;+I3vKZ|Pyb&u*le-JHO*2>l($q;kk~o;23s7C}`$&GrSBQ$|E9K1m zA_e%PS-p3~s309JnJ^fBp(Q7PCq|{X14?!QxyKncPPoVF;gW@%gwu^{570k>7480B zBpKbD^E**cQzLs-GSy-HAZ2RC?_9x#+b7gsp~p&oM68hK{*?VJ%lMIcGdD6zt=sxAMk_6oE&oJnSg>XQ zEJ8w(9EuYdazNMhV+7tNA3xd5Fc_>x(X<~_u4^eXp-#DTta{ASKSH<}dlUtYTj(Zt)05>X z7WF&G&Q59eu%@V+*)MXjhE+0c`$1|X2F?=tVU^0H5n224gB`}z@e(&V==np8=Co$Z zh~=b$8P}3ykw3=a1~b6*E4v&qva>VCPr0bF>*DI_Ih0Cn*>+;|2TG=Vv;hi&6uCK| z=a-kij~xL^!Gcrsv^ovA#U_pYS&azFcw}nR5Hqs$A6QoVIYdB{`J-$Azh^7U-z1lt zjk}UDybY#R@8P`e&J4QVNN1`z=EgjDv5yxG`06e}kRRokb0KN9V4|Vdy6yh@#Zml$ zm_JH73po^4l{b^=A>Ec#q7chn#C~ve>*{S~~L|Qn)$oQluD>BV-S|LYcvJQYCylcJj2#N9isb zzMo<5K4A$#Ch!o=1hHo8wa$Pb9h9OT%=w5&5KI(Xm!t#$gxxZ_Ux4KjBOWfOms{8M z4NXfN$Z5SHtjW?=63`*Pk5pPmMXZvi9L-V_y-hamYyOUCKHUvVAMH9_&@;G7?s-k9 z?jm#hCg@cqQ`^!8o7-c~B)xR>{nP5Cmy;TjWM6WCW~dB&!> z1k%!S;h8bhc2v?PO+7Eqc^JK$nXo0V_Bex(!O;ImbyHJ}Mlj@hsWk!m+A{fhJ)@=; zBXw}nFGZ)Vcv+RrYED=~R(?5M8R<3bIPvP?UqJiK;`3{zY^kY6<^nWo2J<$9?%mr5rqvo z)EKbF z`FzdYW_}W%v}I8~<6n^_Y761CWs+HPP5EUe-Mw>fU1QkrIDmM%9& z>Nh7f=2q$jp`y(Roz$FNm_G{b(9zjMEt(!#}8;or}3 z8HfJ@en$J}68O}eK{Lsr*(gtR&`n<<@tn{3$D`3o+Wx^{ps(ftO))gB{D0M;r9`TB z8m{r!*|PM+&k)Uu$}c}5D(SVwj9y`Qy(kkqEX!EhZvI6$kIJJnEmI6XZQ8tXnN6QN z|BU?~qAJ5_zC~6Mr=-%5gULw%P@kKDchPo>%!Lemnut^xt~n?qF~2#v``tQ8hOT<%@omEkSJnh=cR5VbWOrufi~ zfIZCUO_Kho62j&C-ZVq*A3qACMCxI^xTl<=1CU6PC#;iZIT;`y^q5|H9>0U4N)YT9~ww=sfEz1rA@)ww`DPI;DGG6!eB% zwRT|3s{`cWY!!6`FxTBeQXn~dSE-vafyezWz4runYWPOtl`|Py2zWXhPunsRP31RY zn3U|Q=Y{#4^(FV$`;KfGcGW-=EBwlyRC_rv>Gvp{hy=BuhkqPhwa5)EV`C$x*rO9l zGEooXS7_&=+!jxyG5Vh;q%k!!Q#I^~LzjqbGf&4eAr9eh70ww+W4gE#3q~W)(;u;( zeu7=M3_|gXt*sOewowFe8e5^mI_Sip#O>EFYVtC#eo*>CZj<_(%6wep>l4-Vb!o z-3>wI$svbj!MVrzuZ-6eb7LrTfAu-U$bbJVX?)u*(lt(P4l#R?@=^E#7U7ws&- zhEDHAzorLVp`z6-p8ksKM?Z{cFi%3!3vI8iu-!{3)^UQUE}L!K+F~B6Oya0Kmhqow z41JIZgpAd}hr*3J`m}&VqX|x(!h^4&7c0(juL@R!m5uzqUcUaB$9Ub-a7f&~7g^RW zc2}ccm7CyrvXs+I^tPR!%Q91W9YT8bK;l)5`U>vIGoJ|vrSxvf8Q8UP;R&oCd%g1K zt_&B8)8{TtYM)PJib~fLlD%t}av^nu2kDT@pvu_B#dCZGxv$k$AcKo9V6ih^Gm*9> zS`;y^Ey`ky0=lxy5O&}B3n;4+;@<0T>plnfCqtl=*{Vmq{(~a})=GB>c0pIs=?@Hj z`fVbQ$S%9QnRHw=ySCGG8f{5v7i`?90a%9tUZMRZgrlZ9xxV+m-oI`VG~YzC9L*+7 zXvv)2;Z&tXc=dhyB=*F1466pR6m^ESFU-y7S%tQv7gsL z0~-C)rtPCt!|Y5sp1s+FKuC6yQ<-lx^aU*@gukL(&KTe1KdwT#Cbk-D&MUrU{U$Y= zRbyv9no-?*FOz-qPv@G60u&g-3}t2=?P$a#LT3L0Qq31k&h+-{sZ$GA<*wJncX%RR zHYJC;S*jpPvx-r41;Sv%y1oRjXVY4oc8w+Iz00GiCfbpg;Qz$WJ24#O2_LJm&H5SV^&ADH`9XUqgXC|WuYMp_@$opTuIPdGKl0=2+tj|HCO+3|!~zEuA=Yx?UDU^Lq5|IXg6w~f z&cYehE9Z_stesV~oi_yqsqNx8I%8Ct3E43*DM*1!v>DMj{#R-N0#?Gun-Bg;s??1z_+)6#DhV-n@v@sL&}h z@G3oGF!a@fs708XA_|!c+V-?Ac^jhLn%%pspoBWYe7H_1K_l^Lflq#6^07y&&9oL9KESUuZ&|IlaKGn(0ubpdiH9(T=_3G94A&~#LyL4 zmx^A>S%V5YT0nd?>9OjjoQuGW%LFZJ+!gNq@M$y=)ZR>R?Gh>{BMP{6Axe?UMS5}_ z^@#vUVHL(VWIWUZa7k*Zz5Nat~k@Uw!F511hO2cM*Z^!vm7pmXoHfnWHtg^d}W9=NQ)DQja9P&_F@7QwzJZcKfw^5QF%Zql597(Ba z&SN`8kJzy5xC-k)QXZhTC|s%nbh7F{&d!B$)a1W^NH$b}gIamboripd#{MxsrKQt@ zjY-~EwsO%~sTnDFV!E%F*Ay`}j2@`KUX}s<8=S1nkHH%RV4t&8Ws45`B2LKx+L>K$ zL()|qtszkV4*U*qdGd#}K@!j4jvZ|^&AA4=4gcKn3{;0;?flp*q$qV{xi;(R>ee1V zB4Xv}|K8keA6@#R9k3}O$LDMtJ&|!Sk9yZR8E<9l%0KY*4xC!kKZ6x`s=Dc%q%#rI zx*C{3n?2eF83_kHYNQzl`9W$!sSzN^Rl*=BXp7DCJa#+V@GpRnip7pxfzs`==z3|> zla_hVWcN_q-KO3`>81P7Qw|a2?(Q?SZ05z_BZ1%l&04e6PlG{vXu*wQr~OUglOz?wX;MyG)w|ACVlfR}5&Y$81_TJL%j&c=TTePrHXn0d6FZlGzNBdfE(#U;mU zxCfZkj^7dbncdSKC#bmpIsfeZe3jhSN6!>I&RtHq-Dx7*9&m5D^=|)W6tmc*&PAe! zr0!PA$tEV0!_M~g5R03plp7)YxOQw4J(y-w+mjEPKwiWMV^`KH6xlnGQSY%*2O`+j#VxW(+`LVX8jF~4hgrisy_s~ww zNYQ`vhb%Bw8x79-3;56`{rSI2)F6;@IaKU) zQUvEJKjvUWH;EIK>)7{MQJsGz5!58>wjwnTeDfX)sU>b6CXqTk$UcfOjtzNytzd+M z%v@JDJ94ElpkFXFEn76M-q3mScx#`Nj=Z(5Wz4smo)=Q=H-D-*rr2rB@2?=dwk`pd zqKDEGKqlDd$i8{$Z{*k(kla*F%c+m1yRzV<;dV1i#JxYn%ctG6m$^LW^WhOl-wOmP z6!A_S9|NsJvI3V2xYev`T2`LPZ6BSv3jtP_nXA@N@A4ruswS&Bk7e^7?T1D z_#iR!#FXMZz^el1-rbRu-`Cn?3T5ncf?TsZ0~w97aCw@LV;ey-9R(`@z+YHq9XAu^ z3!}-$H!QBv6S$+;EM?u+NJjJK8%M`~_L~ST2|p77Yk&O6?$%wvcHoG0OgEKUe2LTK zl6V0H`429jj;8sE$F2m`KB)G#=TDcy1@w{0Oj0(Hs!3r zz*l4n{|f8-X>cSFw20@_Vb|f?IoPaLyK#6&RfR^7fX6yvjkrJ=@F@|?mY5CylHRQ+ z&z~a7YtkSOw1rPHfr}?hl_dwsmhWn?bGblX`|>w~CrzE|MiJ~glTi;KQpC6tyZX;+ zO!eNe!-h1Pi<*&+7XKq0E-of=U38}t4-O6$0`8r$tr<~1+k5s6c|)LeoNtLjmQ%a& zznr?PK39cR1E~rp&-#(6y8(br&MoDzvUUj#UC;8syH*%2@#_xJH@0mE%)xE{R^S)x zLN0P){*=CA!5A;_x#*Jt z{>h3eM%H5|vbT?s3{~9z%<}*we^RrEf-`;YZ{3E{_(9N?-Nlzmf_SH^qs4M?kcwFn z866?jZ9QUB93+Ku6RYF|H*DD*(3FxXjV+Bzx@I1O+EDmI`6@v~ae}h#1aeI;vMJLy z)XrKTm2;|}eph3d(U_lhWGpEnFQKbb%{|!kl2A)p8m5n{w>6~z2&Y_eF&bL9-^u8v zHiYH^eqJD52Gi!JnheB2(Lj!dmPwJdrE~;|AA~EmDfV*tyKoPiUBl0|6Ou8R?C)7^ zM!AjcC)sr;y1%}#_eqsjfVJy#3Bd`vq6%F^+f}ez5<4^6Uro~_h8f~&I??p>GKT#& z6F$nlaNw(3jj_YB?=dK1jn%?%bURCNLq?;k4LznWbE{*3{|_*#Lq09y>ZSK?@~rQD zH~GM~l27F5y8DF{0mF;vPz`A*5+t!X|=7xK68+5fL^iQ9bZF)J#I?i%I0(~x*PI- z-UnM-KuTo!n*W1Y4oS@}f0b+M-3d}O%msv1Si(LJ3iGHJp$z2R1%BO^snsik${&pV zmnM@1+TrCUbN+7Z zQ9O9p52T@=7;w<18`9XX{{2-_Bi2eSmI#?f5CaPo${-b=t1B z-H5Q@1>BBPDu>>Gbv56jWo_QKiP}#&zR_WpG-wG`(Aa-*k}4pYZd_kOD8F?%_~>)j z8TXz2eWc|2?!+X5l667o1+UxFt@4P$tRcomrpH2U!#B(FI+C2v@9XaGBY@HkkuQ8f zuH^(1qQ$Ye{F-02B6Z7_O}Q*vuEmlqAgwA{)mQDF&s{O}B7%${`57n|-Ds|%TXlF8 zcNak3HC@_Iq(CL=TXncs_Wwgt+w&Ra`}@T?q;5-V3J+R;ai(; zzO?08qf;9r>+i3axjf>xwCIE5T)UZNY@};WL2ik@R=xaWZt(YQ0qLpl?>>1Edrran zK$ZQuTZj^~-~*%`gSMP@!a!%%S0^(=tBiJ@CTm1 zFpyL7$yu#3+3X!C^?BHLvTkYh4bXmG(;$9qME_r6baXVPOx)}labs)rdf8)jEwsav zu4f0nowNgf@zkiuu#g)bckJqKFA@Q_Q~ufQI@|4?so#*08sZT1ss2xR(?j$*EbB)f z#WMM(I;QmlM=5LYE&zHFJ=i77;=rju?jmXKWn(1EXVT$`$Prn=-j6y>5~U)6{C&Y(mTE^c9x2g7`Htyf_ej;p zUL#l73X{{bh-1lBNMmEGM*IFpC72e_4suHf&<0)ce(5`T#1&jGX+TOyPP4#0QTrh! zl9saZxCh2H+2;0~1aRGkU<$mC}!b6j_@+as(2^w@9V+qZo^6?pqC zVm-$m82<}@hO!>Tr33eSd=1-mVo{>bVm)-exX6uZF;B0@QJIt~;@Cn}hN^8VIqF`} zB2Jhfw>wpUFPt*69-M7K%m?=zl~KEUt~?4g81>IM5vS?$#zv1JViEgiJ7!nezx4Jh z2FR!n{mlP;|#!M+}z{;JIUMnSPHbBA`)RgAFhzHclmA17z>HJasWvJ4oSRu3T z|5$qaf2RBY|9_j!$qX|y=b9NYa~@I3Hp85x8FOB(842a2lUFL4Icd(fImt;$PRdzM zCZZEjPBwI+RCFq>QmNy}A%!?T&*T05{sH@Cm*?$qzds)L+x>b2zq!XKmoK(MM)6r6 z$63!>=RAUkqG#J-6~SEV+9|(J?PGvR{a=tcM{XL{S=2P>PX?Fo&${{{6v2OAI{`XL zr5^i~LeYNX-RuRMDurv8`95mDEl-E7n;BocN%)*@*#A&*1)gp#+vh_dA|sV^1!LOW z_(^zLZmkbiM|GRWC(`k+X3y@i2E=l))bcLb*jr-=7;)adpClF$QDm!}r!5#pH~HY> zq0t3?R%zG)6B>x_FVQdCjZEpp+!jK{R*d38#`nkV=X)qX;Bt9dBw;8vDfrO)bqf@> zDAL{Nl-LIYy1A2OT>e9xDfHFO^Noj4F4j%DoiaSRR${)f)JoZwXddz&mo6c+BDn9;L%lx2wJ7lK{t0ghXNgWISgsN|WIpyhJpE2(q(uj+*k89u(lOlM{ zK^~M4XWxwUQbS9LxAOfXlY6T?4HpUpjzKf1q@fPP4!4NBu_hFF;P=;gx+8O^@4HSc zhNU72-oo;VntjZsltTD~n78g$tk1Vj##DEXJY1f%p3=QUfWoqF+%z}x{KsUEA%CmO z8|&337-49-j$M&ylnbGt_ob06 zMJY)MuRL0N>Zy%#@tI$ej>}>-&0~8TB5Lqyz54tysn@Sn^p_Sr1h6$Rj|ocj=GD|j zE8F0a`sQ?k6chaRd%)sV1LFRf+&Ptt-lN0|bphiUKEknq%>W^-NwJwpX4!?yRoK!) zrP4uQCCfxTsY^P~FEC|^^wO6~0_pVnd|IfFZG37~rOGlblPW-WK>uWHs)=~=_W-Vn zIGu@;c5Zy<3+yaFv@NZ7DUE%m;EG8YGUjn#XOTl>tueOLA_HSWR*KhYv3Emyp_~;h z`6JT0Nsae{#KESh;dzNcx^nCQ46itd9!n^yNx{X&cVa=Ua|5_(>yZUxAHl7%p=?KR z9WZa&vqQ%oAh|;HXV_QoIVBhIrQf`u;`T@LRY!k`eG{=i{4~k*Tl)Tio1!BS`$dbb z+0>*-vMv~z`e!Ny6F*7r*yCeHKP0$evrLCSUjeBHm(vah2v*itXuT=CPy`Yr6sjzo_hCMcR% z54z0#WJo)2tBQzPHzuNnWl3?0WKt4af^qHq860JbFE4uXi($_r$|k`7iy!c`o%4eV z{gmi|%C(f@Uz33rZYGA8_HJ)8yw})~%mha;J`E*{l-l@0kI|=HgXu7}??bb0T>ZJg zxj{dd!te#5ZGlg>IjgZ$C={#wkhRrxFchyloou|(HL1>sI@d!L^}gWkNS02mHlbkJ z8QPmD>G+)S?HM`nP=Q`@g|VDaU)Prw!KBG_fl;U?C~rOYT;Qwru}f|?*MnIH$q?BF z@T${Llc&dUR1BX~MtaK{NU?OMn)yg&PHG{ad)qRs?B|L#?wcTHCLGT`(<;vRvU}QM zQlnIGb}%Fp`$9wnsV8|`g`TnZR%<~iE$>iQXDP0Kf)gj&aiZy-{VyT<<~sJt!Smfq zR8J(`ymo5H?&jL#4j}$GxE_RBD*gFKWVXNs5yk>%teO*{T2{&8iK(Gc7EnBAP#7CY z?@xNxP~kO7X}GhTx^kH#U5-@+j1>WFgUn&Q27HWi#{hH>&=AxFgcn#F@++U4zPo68 zSodo>soEUgN7|*gf5C&aM12?JsNED4@!7}1$%IUoR6r(F)CCM~F#ag@Rf{LZW?>l8 ze%(w9m3%~3Qy@V7mg56+$xN zia@SP`=6j~K>R$75YY+dt;ycrSuQ~&33D4T#(JCQm#Be?0=pgyBQ=lR!a+bi?9|Ac z2;y_J8s3d+69zI*sPXXCcrV=8VzPKD+WDUifTNe#a8JPP#c1P~hk{r5;C4eyE4 zhuxgd$x+IST;uMA{7u2ZHk(Fxhixpl{a3<_tbC&RO4wdJO#Y3_RME*GU-G9cph45HooE$+)E+=756>VSnN z)qra-caZ!wloPdzO!8c^p>vvfb+IEBD=3vKEAqi*THI8U7qBu+mfO3eCoj3It5`T-~{WIeFaJCyXrpfJ>wvPv9fcp}Tfm3^2l%u?B_di2RV% zmv-xUE#32czToWdr~Ja!rX-e`d;N!TEBUeo6#4LOs$Uo%+NZeVrB>;oPUq}+Z6}6h zk<;JGdzPr5kkXv>>5Hs~_su8F5Y033g)AN87Hhn?{R*sN+Mz6xTD}l{ zV)>@I*2U*bzC>1t#FFHDuNV71cSeGClE;e9zpm=fZIXLGXy=f2h%{k&`e>iI)CXm* z2lyg^dgC#l>b4cJqVeUK=Od7CSxA!8XK-KQKX$69MHyr0DFg4`nrz!I4B;V)1wjW`X(Vrl`s z1PPRkf+x&Bl-7=t+s!2Hr@3z$SgG@KL(__RXwlCf=1(L#T z=8|6g`@(=k1-hZ=nZiA)2An#3EcKCa%ZF`ZfH%0rklRqTisOQ zw?*5Tq0$nzq};-(=C(B%=%f+pVd!9pY|7fRU`3iMrSA0BLJ`bMhG)p$}O z^U&KKpX2mSB&#=L?@7?ykCj74wqGL6n6j;$eM4V4;?1M|C$j7*Dgra0!RX67{9pG>0x4_0U~quS2p6YaiB8`Z$5oB zth@?(Ex#Vw2-9jLyt(Y#F>7N+8sODSbz2HUlKusaA6km@a%(-k8(Tm0It-7m`y!U|GN8+75lck_j~7s+<5+o=Q`=_ z3=s@O>&wKByZjcPrR-SEzkkwjx9dZCMUnN~ZYHTuedoHYC`?{n}l%@ zDqBflB+>86U!TP$&<@0m$g6`Z)8EbtIdI^u%&Eu9Nq&^Ewwj`RT0jyel7Owf-Fs1C zmb;9dnX|l0ByI6|`II`_5j$FUGj7zM4!ZR@p|q}+b(ITBr4K>A&>z{UF+JT#HYdjA zYiW^B-rT8GiQb)yJAM5^U=0Rb;v`{D=$@BF!X!h@sGTIY>Rqo@Tfdp^Sm5T^t`xN` zS8L?n=d0?>u(dPe-82=5CC27pN}v zq5p1!9&_yP(W}FrrPRBx-4mcWS3r}3dKio5u6ZbEmuhj$ucMIJjJE52+eeLPbym*D z_TN1x42N-`&eR@QhJX7RfY;+sC*cz?J%7R^s=2!Ty3|ICva6nW$-Ak}e@y{8cLf}h@CoS8BHJQm!DQlJn?)9&}Ds>{r_{M|CQ#=xbvPgylTL8UgvnWsZiE}6-HKNG= z$YFp@gGD7f9;AGvSkfmTvQW+C-Hmtrqi#kF#rS@G;>MYCB#f5f8%>xMQ|X3r`!g^J zo!`lhcH;PRReJlzKROuMi!Plh$lPC{_9t7v)AanC*uka(T_`FjO}H&(#hlm_wb{N{ z4;*OM5w2kK%$e`$e0U}%T&7$S3~APx_~6geflp(+!cOH2sF^N0lFY< z%&$`YR*ES--iV^kg-DIDTG_1fvj=rcPM?OD8LCmCuk<#Rt*+qnY2AbISop!@kg?9X zV#tRG9h8fVgtLgU*)3HMOpik`$$3g)D0tL zmI7-i9HfM}CA`}?ZWNeeTzfIVu;~#GUJaZ$AI7>++Jdn|ogCsWc~<}PURA(!te;lydBtdOfz+040A0OISNN?jSay`ygGl-bq z-FWY@Rt`KuJ}!LDGa2N1h~1cad+kHuqy){Ylc5~W#uscKlV{xq&J4LtGaD(ub@#fP zmIrJVnF&SY;aX2*Gvz9~#a={xks5Y-zS&%9uXh)!B`4;)qa_~&bw)Dp_PBC1p}{-Q zKYx7@C}0i5hf_NcAvOmTL$tcS@0;XD&FbyV&5T7~x9ch&mSdTu@Dl$gH3VhceIb2ysZ(DcUvZwJ;d!Hq*`4K5O*Cc2N`5tbYVbOWAsK z8;+7u?59&<45sKx8ZSqKLoJYEHdD9P1x0-}=ir-T21gF@>In>u6UaV@7v@ry-h9Jf zJF8dm_V5PHQ0=oy^LA)Rm?&=QT&*H>k!Wk;uXkT@zh;>l*@HD}plU+tHDU%`ZI)h| zMCbWBU5Dnv>VpP#+-==WvPqNeN8HPcCz0LFBhLcat%rh%gM||ZmS2>h-hvqO`2cqK&AFeo2l{y zFN@;Z{6Va_(V0O&oKRUa5kl)%yr9E}_3e)e)|a^J2jnH!zh6>H@IUH|ODtqomB~2F z&SkPuB7 z%8~N}IVy8$BAlvkEGLjq+w^8SoU!q9xfXKW*<5oOmKf?&0 z8?Ai*wQw8oj=G!y=<4_G{reOx^g-}Q8yz4S1arYClVO)=)iLY%whXH zt&Q+nbMTRpcsZ}{&^y;`DUr}JEz%nN)>}=qC)F#g1WFj{5OsJ28M$$Fb3R7!iDnwZ zYGNFrmPE^UAC%pZ)O0rzJXqEC>b!}!H?eWG_^`8Z8WB$b)U(IU(GBa=Zp4(qxI z@rm{7-}Pk%;w=xcI@zb3iUj|Hy4K%*T*YC*OAT1;(NMH!Zij#5vq6&_qBfu#**4t& zh@hX*#5xSeM7vAvJJeagPkgnxU*AWE6NSVEg=laJy+s;X3M^s=O3vQvuR9S>@ z%O5Jo(gT$2nmf`&o3TSm*tx+t8xV9V@Vi?ha~LRY<3;`a^T>&O{hIx|mTe+4EG*53 zIQRD-!efhfEmNmuK~nky-Ybl@Nb5J&NeH@C>dy57oW}7(7Pew9!lffdn8xUuK8!n^ z_~zE%M1GmGZFFr4eWE$^(c|cI0`^F{e+Bf#hxqs$R}j-sGn?bOmJYJlxL0MRZNo_8 zCe&^gH>4Z!qj5a5C?hWg*-h-^;MpcnIEsw3J`xY_Vuy4&I+bl2-2BYWY$p^+1HCBZ zrzaTcnFnIQr}MMmY-HOmW03qND&579U*YEy_v7k&pS#(CgpopOv>Q*qQ^oTO06&M} z->=^S9R#(of1kX%t%hO8wsAgvelA5^eErV;otzN_KfhTK{xIs$dRp=m|AxcK42y-r z+)Lh$^>kIpnsN}^4b`e-nNINn*~315mx!*9?JT%fyS1BKs>WB>gOJVcVTqY4EbAE! zeKG^y^`Yp=NkOkaW3PiJdcx_>;%jw-F8P9N#;J7cZ<3Lb?fAT!l%M~fUVi=K+wKhs z2t`HmY$C}62#*Mf60Ahog}#PMZdsI%%BPyGUzgNWgM)Nk(+OyfW(B8_cQ9E@7!@23Jr8UIsjW;0DxK!6n-cI7H>jWKM*--~=jx@yHb`50P z6=}6gXfJ|PAr9_w15Up05>RN7>a#tx*v-G8DC)E+cIb)P-L1#?Y5BZ*u1e#4Gfe)jU8x7iQshBN?@$CdQ4tdL0wPv*q>!2iF_4wUnr za(%%l^Zew7_mzo~0Gu%l3OgVzd-+VfFZNyd`I17QspH-Io+2wTBg1Gl+OVx_J{m%! zl9y;RuPr*f#a%OqZ|!?fj0pV{OEb@IKljt#L8efie>N*rQFl1CL?hAt#+!t+N=VQ> zh;l{*1YR0p)?}^QvhfM+S{+_{+o{kWGHN#V!Q{4Al$+hw(c@!^;Kp2q&BLC?wIQG7 zUFn%SA%YgvUGG61uOTP+kj6I?K`06O!)>ARpXWYH_{3tuSy(39=)QixyH27`NVL+H zeea=NXBN_HDeP_KV&8Wsh8BZ7;PRx?w2UD=g`dE6PsGEnjapcJ9%Jv zpTDRC$m@sU%4#sK??thzPcwRT->mr_D;;^ekjiH?k~DoTk-l7A7|L?#G0Et0+a$YM zbW^5eYJ9kJ^?Nsq4DmvNF8pta!G&);|Anq^vbt49Cm$C_q*KN^Hax@R!Pj1lK6n`u zXm1DBPe}UZ+n%>=lDP33O}`(nleH%5l`SX3uSXPeL>~Q>Z}&LUG{= zJo%>ME8DO3{XnL>b=H1rkC=Y zy0@7$)ui|k!I;9d=Ggz9EG@p%oyI=6vDfm$4SC6v#>PQVXScW1i{WEivs*;~eg3_z zSlPo=>9LcHT54j}ESReo=$FO=5tnE#PujJ&`@nh07c&DFFlzUn9q7`vO)IPip@Q2x zNo7V#H2{dXnLldQpm7{wcW7L`x5PO z_o#vtX%T6RYsqi;nV6)B?UsGmXQUr}CQGo5C{*pKuX^$3{K^%yE~z!&N4KHSfj-P8 z3?P-d{CP{yLb~K84=dc9KR$=P7Pb>p>3A|2F(HX`kDtibHlvT?wL9fjZW1p(Yz;ee zky_^wuOp=O+1~;% zR3hko?V0`uRkdazgrs6r$iA-hY{VG1v?U50tR?r?3c!eZvR+abgfe4f;?D20f^=L4 z+($(6-{6P9y4F_dW}mq4{!dVCfmO_(hO-^a%doW1mTGKR8f0wI?XT8DpYD=Al0FFn zL9NdsIbl)w7RH`Z$(i>#4pIJ10Ov9Ac~=cV8_pUZ9;xZA5v~_?1wUD#erX!Guj57l z+b4L*&H)w;7tr;VAFAnY(J&@%rkxZWhKp2Z+L0GbK=_pSbEF?`-&s}jRU1uzdAQA zGR1ov6bnA%@e@HidOE`~z8*t18bZdGxoAw`Qoq$UAArxIN;Y8-p@DfrHbEoPY!zAk zwbRvR#{#z+R;?Vai)D%V1fOK5dEu4a_#upP6|#CMBA0=P z6CO#KVOp|ZK2HbOz6rX;^Op;>0K{^S2XR7Po(^e}dyaT+8WH}qt*>nxp;jVFc3XcC zp|4qmZaAz%g6;X?5VUh(ZS&LJ^TV2l2L-Dht!eCTjU|6!F0W3huSKEO$Z`<(yKOIZ zi>yUI9rRDJto|(?0+2cxi6|9ZbUA{zVK;9 zxuB*J5wfS~#(aH~Jp6=UwtltGNQ@|0qx~K(7Fv9zE*>$iy*yAi(pi$)5iJ$m_KH1X zL4S=jo+MJoaA+Yzq;z9GXD}k`W8*UCXOsyUbxJkF z)y~l409WbKr25HhfrZDjq1?cNKvaj|9##o)5FC3rq-)Pn>anE1A=eHW!QWL}(A^TG z%87~sGYezP8`Ewq5A!;1w48%ht(-Rpm10_?X74tIL{)8+I({HT?I2H7c_DW%+}JK zMFopC-}(XL<28qwl`kCK!DV9(CTo^lVwOv&2G6@x6)8wQ+6{%X+?A<}yFAZ9ePArC zk-vi+Baym+9?*h6a4oAiwrd@VYyBh~P9B?eq`cv$C2q!qtm7b(g+M!!fD1LLD9;Im zdiDWsX60jHbLY54p`Vh3@VB$Pq#@u(BepfAtHsbA1FMs;ugFXn8lmvnWG^JQ4+=VU z{WA5ehs0KOEKuB9Kq(N7@=oFe+*y?3LkuIrQjI>~h?%H( z#|aX&Tih*P?|@$w|5r+>FfY(e24aP6hMa^9RjI56TVRITAyRxmt+{hiVMjE}#tsHo z#Po71G%x>5Xp22drAI|qDA}Ev9o9TgfCX)NKXvxBB8cOfzU*#Yhh}z7lxD`hT?nAg zXm2Z{kNa!|JOxGvy-eYWW)kA;W@dMl?(sy?RUpYN_Uh9|RHK@N-d9j*6*8`0XO zP9itUO>=!X`SEPIH5T{5DtViy)agV(h< zmLi-~7m}kC$`Hd9$^pFkPQ_iSN~&7layD_6sFE*9+WuH&r%}Tov}P#UMyrhI2b8q_ z8@N-Tya|g_K0pp4fgCygF|C)>nlpQ&Q*hX=*D zXenP2Gs)|?{D22T^nlGu3!L(=ZnWH0W9W^`qCFe(mp!zrU zEKc`=6Qh~XD=*E!Nr_gY3bm&0taP^(E|rP^!$0jrvqPt5EMoVx zR;WF4Y`eob>W=DHomD3K%rePr?=r2!!%5OX_F(W=p%k5a*MR}2;;mYDgX1xLo8jG( z5h(|hUL+@?RZ!#=L7R+MWkcI+SQ9!WO;Mq$79P^b{Y6y9jvc7W=j9Q5m|0xKfE+7Z z1>D%-onEW+86RZnoyS6%It8N0L2aK$HMO#ICY~L&(nBg4f zi%f}4Pv-!zi`Cfdx9_DKYC&F}1d-c&$?m`IvhvG|-uYZa>-mzR;$J-f&?fWnY%+B_ zn*?|xJtA*`} zIca|9HYDm;jZH0yF{=H@re3=~j|F$K*Kc4e1N3V~hvKcf-4$ucqB~B@%N(=W(JfqH0j<< zF;`2grE_q;nWnuB3iL;FGSQ`o0DZk_;{Ly{xZVN!ey@cF-_UTBmm+0jb_j;eC)t_- zLShc!+f7_H_T31+fG9`7x&No7C*~$9p3%>qiH$;@ijK`i{@N8!W+rCezCfl=G1K)U zVwL{}E{tUkshU4axc+Wi2s%ve0jC!KlaiZd+85V*oVG40@}FVk*5LHOYk3?o&pyss z$O=`x^Ifi1fdBdY$-`23UvQLiR8Fxx6DDO%SijDFU;GjSzw=AK_;OX)TNB*%ky~g! z?ZMS$vkpsbW8@hRN8k$hKK*`4fznj?;X_}zFa(k**+|b(Ef7TiUp2~Xo+SDhYA*%v zv-UfQi%smmW_Te)oFSnP`fax58|9gs0xC1mNLhOE@~X{!hQcNjkY?q#Bv_7J9zKy@ zUuse!7&TS6I+)n=*c#&Hn%p~BHE`|i101@BSz0)jShrP@2XDRiU4Y|;Xr6*TH{gV9 zRJ}SDj*Yr#6ocD*;c-H84MQvXKq7Oh2fArr{Hd@>#` zJvsoh7#5xMEIYfhN13aBiuzAn99kCSLQ?#eovan4B4t?JcMi-qkp_ER|to_u`ITf52(MSEUSn9WeA}F@{fb z9e(F<6nLXb8VAp zC>rjOY~Jm1OzGnGQ#Z&UrA}K+)x3994cT9Kd=twN${qv)EQ3^AJhe!N9~!8+H2ZO5 zUmvp7Tg63C)|yZ64+RdM_oz#PITiV>u^vuUSk+o??*;euI0mej9T9+;RTF=6C@NC)P!%XSo{XS1nJdAfsV z$+W7{YK^?R6lp!N_fHcqD=B3Q#}-agw2aiu3rNibE42%9?|k(5j4y^psB%;fXK@2e zEOmq6GZ3`ZPKkMnG<`O8Yj>fy05JjDvF)$govAojmZr*uvmeTyzqpr4Z${;qwgwyx zRll??B(CPsgMlmivbP2vCmybReG#pA&|`~E{EPeq;|V$Z)f4JT(-zuWaUd2=4DA+~|zMOX2e;S+=#7 z9s7^hYdP97K9AFYN0VUugso}bRuk1Od5@QS$4t#0D8V6wP~U*;U$t%F`gqU?b2t7` z*QEamvvQCov%K#Z8vQ~87}CIrhsY{tn%y-XQtcbpjq96m@m-9Gu$d<7jSp_HiB2p{ zq9_qk(hZPBt`~RRnzTEF(N{ zVk5EOa^Oq>_`?{#5!KPLe~zL~&D9ESmZgA$d^@p~zoka#aB-i~X_2S9`)cYWcPvzQ zEHV#~DxcPU+wByXllGIgZb{8L zx@+sjb5iFap~Q5CF@S(v!t>C{)|j69I6TJDyUC8^X%a6j1?)kaDt`Ut6&Ru{P40oWlz+t_yeAR$ zv}W?~%kyM7V&%Q<(bKOVT0`d^nMVhO8F0W2rDPnEQCAYRWjBA--gyl^?AhQZbx{cc;j8FFw( znQe%J?JYVh)lInXeQi@Y;Sbk*uR5(le_4?>iga@dmyFj7L*JP~fj@&uJ4E6vFGin>btgc=kGffOctCGiN3jMBs`7*Tt zCTEuX?$`{3d-D0xKV|XLFldc9iFVJacHDhni|sXytq9Vt*A;GmnxCGQhuytvWHfbLgCTh_x> z484-Q@cRNn4Ih5b$-|6!-;WVHPzPbKn3vN+0VC^SlX0Hu>J1!iHr2z+YMkmI4<|_# ztvCMKOGtMZG*H*DWi^DO>YGbHAqsdkrHE_Ejze~fYAZN_Fw{ASPNpb#v<7dvRo~;G z=zckc6K5*RwHtd-&%LADAclsIzu_N`9dQS?wO;N~-l49CAi;%J8TI7oScbb1%MW6;qW3ddLmB> zoy|QIBG!#8&X`nZqQ(tM8~ls2u^r3<`X~*M+&00oQrkA1jv~7Tly$xgsMP&Xl;=o1 zF7J4d5m*KcIyUPVotXX?6mLbe?S?J1Bnc&!!lelsbP_5wiG}U*AE~r!)`rRVpO^Ta zd3;h6o3>S|F$25(;~-j+fExbo`pP+(*mB7`Xs;6fpB?I;S=80<&~qi8^C&mWNp~<8 z{dRP^tr_Pan0qlp7y3b3IkG z6`2};r*84Ox%-&Me!sm_rz_;mG_wz1o_bEDbPFsNBDiE`yo#|r`xY;ATT@3H_jUC) z+%cxy^yU$CugY=+n?#siha`6lw3$lU_(ez^x>e8~xS2D%UT`Theh}Dlay_^Tn9}Rg z1al9- z_*Pe>u6&ZwQ1Qj9p-P2RKs_JT#Jo1|DmDp$De3oS0_tJS+O&BB`Df#gn^ZUIZH7vF zm=ma&9Izd9WNJ}Kd=kgdVl8{;rq!8*P6?Wg125BC)|%$eT82pX z=`iEshC*fh^K`iOIjdYqM(m+O8C=VpD3#LHtNt!aRR7NXSmMO9(PvVH>8wOMNymx~ zSSO^R^(@s(HvErHKBdLku_1m&pohDQs|pYSnvt7S2LX`W9VZMY^nTI*_n&0IEH{x= z@BG<@M-n$pCRn-4en-n?vZCY8ofPZuESU+<%eXdW?VS@$+2iffU0760_^F{ELWwmt z>3aMYvr*wlDJ zXJmYLTqjgPN8}stC3im0S+UtL+w#v|3cyZtdi|qRe96MM7Z6QW#}vi(fuIT)&QeoM z+HH$zns}2Um?C`Sbui`zfFtQD!tWxz%60Dy_#EFD5rFC5gpKb|eDhr;V{*qz;}pch zr3^dCOw7z;4K-@!ApZYWQytZu{#^s40}PO@YzT1C9q*BQ7FJGGxEnYZ(lK|P>~!%AhjTkXO$!5-Kaz-oxb{9h|+S&W!q{QzVGnfof`5NHfiSX6$H z71^a(Ex&R_vHfpa-RWSN_WLzO1uP{~c?_grQl6SB|8W#gds~kgr&=7?4=l0hAIecx zr@%-mKVseXQN7MMy^cJ-`FFHcIGX7M$fl&26?r`E7~lYz+I&OwZY;y3O2Llzfj&fN z8nEYB*$mCN2%Sv1QnwrOmj-@C5p**GkZ8zmNqrK4zQ<_i+YgoYSB2{3h2ol%5a+qEt) z-|2ivHC#P8AoeXACf!DW3rhwRprH*q{8e*v}UP@Ekw zaebs;-@`z*`F|>{l=hi_9=))#=#L3Hh6n$sO->K`=U1&kWv3u5zR}U^5+^j!&lY5% zpVvIs>=k6<#RA?t35sz)HL3qhy8XI7xy?C#@OX63mLA%cP&aTj6<7(Z!8+uk73bSs z?TUL*TCf4QdgV9Uu4u9}d@xXS1-}KjOV-9#bH$xDp}dKLd2#EcQppt`%qsZ zGIH3mCY|%mtw3F3+(LQDDo<~GYR+5EHoASzF1a9Qb~^b11uKDp`{Wjasi27TwibVQ zVqgfQ&DRZx4d7bnK2j;=))^Ve^AC3)U$;Er_)2r)&7$e*fXn>?VdeX$%62@>tk+$d zMiOO@(x8{f_Zw3&kG^R<_&7UiUU{hJzxcvKygMUju&N#|34EEwm*;+P!oQ#_753_b zo2zFAVgz`Qspm7++gf2@wnnn1ZSo*bEgLEfOM0%bPf_&osdxMhM^Q75`&;8X+rbD#N;bGfU)j=%NjCZTzf zsc96bdo@7#vjJ<}CsFH>LI32eV5{Plbkz-rTdD6i^)T5fKC<2;9Hh zVJa*MGPnBIot^yrD1pRy+=d1+CGnb-{FEj%1Avb51n(LB(pGhdsr$%dRw0V+Mas3% zWRS)om&`*@8LuGP+hzyeD)1;+QS@X(_qB{ZIBj~prEdV_MeNi3i9qJ)6QUWs_fjkm zR;nOGZQi2dSgmeFU>0?Qda-$`5zbLhv=XE8)1YFTSR886{)c0;A!b{=Y zN?6YI=x7A@YOy!%Qq)Tx`3wH=%QGm6bYO6&?{u+? zq~w_pSgV~Gd8iV<58veYNJsDUc2#jpg2CbI&bR>OPt3ipTb;Ii+gN& zs#;Lgsf{R^)FP`rwBvcxqhpfJ!${&Smj=ie3Pw8VSR2rg9ovTG7C{DL%Lkm0<1 zQZ8ds;br3ra!Y3Gi_S#Q(WOwe7Q07VbFBT8tKz+6pN>tc?Y`Dz%x*)Aj=&>25rO(X zp{hGd7hPBYZhY$P!L9OlUzkFX z1vK)zBeN)-@?7_r2S$r-DVl34KPTzNR6Yu%+=~c&8P@Bf8-C=#q`rJKtha0U_Ma(J zbcMW0Iykqfpu7X0;r1`+1lw{W7_=qk8F_=Yb^6e1L+othPe@KNESfX1)k61ih5*-x zLdIl&{_8$gdb{X}lomqQuCs4!*nivy19b+|oSGZ0$)j5%YX6yUy?iUT<@BK+%CNfD z0*?T}Q05Gv@qXLM0 zaHuo(26B2dim1UH=(w=rYAMu)HzeE9=yMkh9`}1s?4W^j#+RkTz>xlaz#-^`Yb#?$ z8X@q|s&g2x^#)JJz_KBG^Sy3x0BU&@7a3#MZ0O4Vp!fHXVB%n)Z4`Kg4#JM8XtpI( z<}7Hjz_3SxK_#Y~#$Ek_Tqtze85}g_z3cXc_ngC!^-`56hF!kdW28#sQ19_5F<9Z^ zjrnF{9nQg>*fTyO+|IjKOVECinywO;N0w5QzmVRnIOsv*7!#0C6PkT;OXDP2AbA~7BT10-MRUqANbb^y zER^rtv`MwwY3}BZ@T`3M)K1o(@(vDz_pos_+-gcmp}GA|a=CJAh{(sTiyl|FSv|*g zN2s$TBl6t5gOy@%CT-bb_%S>xz%S>Xyj)ZsNlH&^Y?ka4T6m3?iss! z7K+I6=RasPt5tw1(}rK8wHeMH&P(HoKf z)7PhqH#lv-@u|ifAk2u8;(rW2D{-y~HPaiN&ejoy>n%IKKBjW}=eoLnyyjCC(V))^ zv>iTFnRrA+cq<3AuKvq^TP{{#d$l*{f4BUoqg2TEa7-HIV9}3BjYOt4)R|5nT|w+Z z=1P*(V&X-v8Alb%pMVgBnm_Q}XE%A2z5Ii7LWI4@s>0B@$EF`P7X$c)tZ1ffS!Wat z#PyMPxg(i{@P`CmA3X#5|7?sk#J<<;2FySf_U6a-$7v6{VW2Rb)0u{D$NaZP25JJu zSx)&Tn~YK~H2tqQ13bT6{O;p};qt!+uqA-bWQdTzXPX=KVe-RE)Y1?QntVuA^j;^O ztzGA}31@>G$6Wth?&otkmSvs741N2FXT-BORvK%IC@O`t79>=dXPkTqJZhz&(HF^$?DU_k>N^;^CUHwHzdn^x?c*24>Z???VW zp5Dcg>Hmu#--fx(ZDy`zo4Jo%ax0f%9y+=YA~5K)*6vw4g8fAF!?A}H~Y?6aDH zyZX@(P~7}zn1Hq;Y8P#DGt(nc8Ec>2m(bg2VS)&_W<0ok@VebdL|8xnfWf`F>9RY-;1~om0K{x0k>jtAX+%p@3+88&wCT!u6W^M z67X`R>e~B8fkZ4^;XtG(YE}<^g@F>}4Q!Ikw+mo!=AZu&1u<2ZCvl)O(W23~Z5dKU zl2{Z;vgiWD$j^gd0McY5M5=Oyn&MIKSd=H@=KT)NY3-IB>}VPycKVoT(b82zm@Qa(cSZbR9(k(z_}xuq zEB>`8P(wz}$#jbXd|$rR4^+1=T@q}->JN|S{KYo9`v*8`_4+#LOAdgGDUv$t!TFi5 zrZH^RlWZ*t{Eu<^*#S`T_?uwPvTaYu5e?G$L{bh^^Z4+~2z-55LVv6|ndl0Hn$S!2jWGi5)q9m!lK*#@qvNJ92veHZQlL=aThZyQ>OSY0wQ8;S5DNj0q7>}Vv`R|JT$1tZh zYKd#2e-}9Jfk|84En4XUaJt2&^_qf?9K1e{evth}B3ZsyT|y@}2UbZ1K1M~%h#eiM zH)We$4MOr>D^ zA(b?CSHToiOyYIo%?4tV1@D3jnzp%P+jf+0GwvqNNOuzif|DCs2{;pV@d5Kjy;IWE?L8hiNZu+J9JilEZUk{KwAqmtac$ zcfpu9uzawB0mx12u>lxSWb6vil5^)QvC2mFI)>SktD*;kc6 zO@6@HxqgFT*rSm8dJ3nNg|HRd_>Nn4n{NI|PxkwSrmmUZK%9m_(9bTp>}nP3DyP&u zB_-WsbhKE!JRZ;=)O>~uF!o(uj>~I&lW=9R9d{2avsL0^nAG}kLjzsuF0wkYX?hXa zoDRJ!ij6p-$oZ~{dki5KsmRJMuMjyEo)Z{16~#iQ41-&bipL7ShO`VCL587!Ke7 z&H&&I_8^r>eI5binPjSbe9{4-&tLD6QRHKX)sbVt7)*B1nbVC1>ed0CIC#j)!qaa2 zO)RzOtzYQ(2YIzT0*T`0RQMa7%Lik33!4y!<2?y)uwTczsgElXMLyL-btkd3riU&_ zi$=`zH1CAoDDvl&C7|9=UkSa!sz~#Mto|tpJ!F|X2joWZS;b`_wTD#}1%t%PvYeJd(;J_vJJ^f|(MACQk^ z%0a~qD-`hg4J~er_e}Fe-^0JujAr_9+(w2bBY}+Kfk);vGXDYQ zJQ(SmPv7zypA>vRB@Y9T89$zP9G*z?up}F^(@PyCuPBgpg`*1<^ITrc-Mn!Wi9KA%?ln&s6;Me})PlOi5C57r6ae*T*nNF=i%Cg^ zBPU8%T0NR=e46T|p<2EOFXnDo;$?4(I?4FT0X1nsc`Hp3hOjwE+1d%zf{^zH0^j!z zQ}6c|9}$DUUUs^^ad8?hpSqv83VUyss4A2VQ@@$am1BzB99(;Aaa=1#&OYVagJEnl zxu3h10eVzfEeB#d6_Qs+q^cod3Fqk(2wvU7duLgCxLONBpoKetBF=vnTpYjTyu8~1 zQ`*F5TPFY1Ma<8A1xH+P{q5qH9#=A3?ZZ%ZYjTu!R8jxFMiDvhQ_3?w+Y0M3nQ@XT z{F@GM&SFPR>I?EPVpNP`uezhveoGiAqi;(Ht*cQ|Gi4>FxSTWMvt%}{_v3FAU&4>d zp$fS;2~U{!*>WeIK4sM&?vnF#{#U>Bq<`aX0^JZM+I*MH6Zz0mx%;Is-~4087Nbt# zjN%Ti;6wnrWpx_I%{BJ@vRPzMVjktDVHUk@XRS63!2_9LdEYBM#>i^=)XPOUbEr$) zJvxNWov=UX`SAIkbyzR9uwZD$onOwUDN1_TpQ~_=_SRhZs>0!|`S3jd)Vjd1D2OJ2 zD}w8zhXxy|=-fhp$RI9LZQDt!fYXr(0kAFmQ|-CiyeO5N04o>ngFeu`hKCPnOit*< zuiJKFY=3^up-n-nOaiIDJ6s z(K=)PduPH&N2#peDu8ZE@Xgg!Sz<^kU?kikL#&(6O^6aG;w28unY5+sWEZ-Hux+}K zVJso<*Upz|4NDlsC>_Y@e!suqQn-Xcph`hC(Bz`^#xV9qwBT!GKUbTV_8a@$Bt#;! z$yC>D%gS29wO06PH4(*l0!%1~8Z`}<<1RgarZSaIG?_2s#lF!udl?JRNg2X&COPJ3 zZSq!AJGkK(&b%pm?K({tzRnKb->XwDQP@VSQdI;YANh(a=r-5HU9exTit&h#EYT|4 zAu~;bypF)UA>^}_$&T)cLnuqL?2saXH1^UUvfye)KA=rj4iVMAkQP|4`T^q?7R1Q? z`_X^v1YPH#B3nu`MSeg~n7o)<6i{X!Wm6&`+gJ-z{`rx>xE`kq_?vFrpYM|;Ja%?Q zuU>%`|j3~roNnw%o%xM_h|qB0oktOHv{ zURuUae=-pC!{&7}iLM1Cu`x$w!|mt`V;(1IILbW3Phy~uOFxqhHK|`H*{m3Se12)^xmME?a36Q$kG< z!1o{f6o7m#<87ZkEkE+JOywra_!ison8 z9W|2gO6t@W$G}rTv7Rg#mdLamwr$t7Hu8yE5=~FZmUx~tJe%>caVJbB`Ohra-r_V- zRb=YkiGj)OPojf8i_lSVRf%c|M$%(7i5nY7?W+N4vX`I%YT2mbDLxryeXJK8-vb!I zYVuLuHUn}H554>>O68-GXd+)M6(gj7oAX*-tkWhA(~~}J4on#oYIWW(zB?@kb@xO) zvX)y*#S&f!&6O<`B8mBVc@UdqEjUpnxx_feZ$emUmjmnsP1SVjVT?PLGTjSn)mmqq z2@|k7syrJ-J=G-1y9|AFdM+4Z62S=#b6-ihh2Z==ay`TBkH0PqjNk}+0X2#LM#MFt z?gL*bDR-i!z948h!(DB1P$d>Y5~^mtDOH$hZ2b&1E3 zb~Dg}skfiN8eMn4T81vU!VZ=ebrLSi6XX+e^2$mFmvs$uBVGL2iwguzQAQ8B+gPZrc zfDvD4NW=Jpq-v%Xe2jE(tL|SV@%+Ahz}-hKm|X44r5!hg(k)IU|g*zKTrC53SfgTI<=npI8* zbs)X-Sl(_Zz6<`|CDe2fpo~8!<1GMG@X{VyHtzE0(9b;8Fo*9+BF!ooU!1`rmlFnhe%E@ob1JuN@h}vbAdU|B=u39A^^NS^8H6fWgmL%7 z9drrxF5Cp61ZNDrA0p&5&YuMTnFR*Q!Mgx`7jZ*=6txV0o_=fz)s zN{UuNlPjDP*k44*s@v!1<4^+x<7Ib*c||A3Ii$umA^lF+-W!+Tdr0?QpG)U!&sZfD z%0`q^_`hXqAZ-qt+9%U=qNL@bSZ znZguU;D3<8`>@c>1kbQ|7aeaAn@7A(l0o?@65z9#tOBeSxi=|U25QaOjx&qlklnlx zBKtyK7XdY3Ox+YZRACkfJa4pY;*>@w{-q6nh@tfpCoD=Ivr~@K4|Ub6#3VI!CA%ZX ze&|ZjIzjFJg481K(CxeDZo?6f`VuqNC#EDDFH+~7Cq$GH`T#ioO?QhTdVqtdsMBZ$ z{Eu)@(U<;5IMe+dfdLjAdJ+H&Wn>se*oQE74MC1>w`hd)q==bGWi%*eB?WmID2Z3XX!{GgFc(H=9H~X;D=BiA94a(AO z`XaW+%nq{6nn@i}n7U{y7B%mkN2>9MCsJWj1_;G+p5S7g|VhT*E@Ni#SbXr6M zC6xwNp#Z9+IgT2zQj{P#e`i1&&rS?Lq&nRFMv$k^;;$hisAxGyLft5x;#xu^T;uN(|vEfb#@8?=X)(5{sMHFn=|!8UO?@p`K4!&AdBlK)PGK zm^>+9RC8hE8$8-EKLA9?(xSJEvcy2LU*$#@0Lsv?|Grn5& zU2bv>LjQ18aV7t(lhJfnvtxiunCT8-$dX$oNX!Y-YEWy*=uHzt&`!<5N*;#p6HbG$ z1PfJVCEou)V{aKeSz^6X)$%<+YCm}>(#D_M2^x708Zhg7&7SL$%Dth7H>!rLI#}%M z-9RT8Wwif(=qNagoiNc6Vg2zH4*j93{@x?3MSRMkn`W6l0gsOUZXTluh46_cVj03 zk3u9~Hhfeq8!GpwBL~visD;3+oj|LJ=V`|B|5qOu` z)_|Ij`oFjzHwr5|%P7|0njamt$@@53zk1q+2LTm_x9Y#KQT7DE7-;|vBOf32=Fc~o z!iu5uqn8du2VUM%J%3HMH7UX=-~Hi^I^qP`4QipZs(O3#Yw)-7wkOIxfllo;;{l>EL#w>?&rij#Iy)Aiveem8cmapx=2 ztr5b30xWh;4^LhlV`6A{f`55x60%4VGP& z@EVoN?9&dw(m=nqJa!q$7JueY=dZ1a)-Cc!RAM8e&pT=12i~zD4t#*$bZ(t#l!bLF-M$5wzNYVCxL7O1?KTLmrIh2T4&p zW0Z^J+DNjX-p+*4@yXI!+E^D7@HFje>og2vO&rj~X&!&xqY?zYeJ2yECmU`Sep=n2 zT*Qz)IjtI@)WZgbJ?1iI>JSAq6!c`QY&jMqfEJBNe zjPXXWpUr{M0gi>Pmptg@g!pKVnKm2Furioof`j>&BLv3|8Pe+Tr%1Ak7$}kD<{v-N zn|)$mo9k#r;;}g6%DEW2W^M#c+CZMMe3q+;S5aI{Q|#=rV&dQN09Zzf|5=~;T2pq6 z3Zh2UT?y&Q=QOOI=z}vCWeE3`M!8(o2Q?_ex{nVN??qxTre5n$3o|sJdSy>e0Zp_4$#yVoB2zE2*cj zWp}On&spa#&@7phZfXAp`y2aiduf1+&bHUPeR;=IVBktLz*9ad0^e)SpMjMuAOh4~ zx26K$w02BRxY+f%2XM;aTLW`ot->(P;drzP&4KIT9Rcp_odAWOk3y&ABhun(UxQUf z`@jIoz^s?vk4O6dVVHm$=p~m`x2eTwbF%&cP;Z{q)9YKY8KB4 z=qmudWv4@MH3KH#VqEb#d?VR`62flo0O)F5e+e~pt-vtqrWp3a>DD!yKyxSF&9E_>^<|%g8|Nw0}} zue46;Z5VgW=b&VTM{Q{js)w?kcnsN%HddY7RklKWH1Lc1aExu}x(yHzQEFZ+otKqR z>Ba@RqRGI@`xy&c_fF8W^;#%$09t>)&NPfU6DI5o8n_$5R}7|y1R^(?@zO^nPlo}H z<`n2Mdz#hGyaDVTTmI&63v#3NoaE!s@e@I)-VR#*`a#fj#{0u8>Y~d-dcCd0JmeV_ zK33c)Xsw6<0m;-Sv_QG}Sz)3AD-a>($@aOF*ILT2XAF@oBWi|pgQQaZ$uIl!#pQ_+ z6~ZH_TDM8cX&&*?)lSLPzZEzSbDoW&GFFI?`g&7hGi^DwEg;#tSYQ1}Od$WhHJE-f za0wl{ZA)@`$;ZRltTN&(f-R+%2yNp0>+;V!4=3=zfy7pF2dmahmlHIM0lb|Mwj8a{ z$@a>J)hng3jW&EB4}#yqefB_d+s!Emqgg80!CX6K3>>ptGDUbR;LZ#mK^P?$= z_@OHG53~Xzk*;Cv^8IASu!cS1GCIMVQEgamBu;qLG?bCb58`p+1rMQZR<*;1#l?V~ z7rEkx%n6R9!e43pb@wM=>9u7)tQ>}&2lEv)8Wb~T5g0nz9M?^q5C{B_@js*j9 zTBRP^U)C4srUAsrR%xP()!Eau2CfH^`rP^avvC& zr|rqhaf8>K!XxvREktc{t5)F+RYWbRr2vXmvCaRHpc4kF3}nJB5Y1gSceDUfJ-<~I zuuTxHJ-9lP+WBZ3*$)Na%_yhAX2a<`kl@=hLLM>~akz(r@=dvNo6z3Q(6r+15z31h zT93z%t0+(;fMQWwhE@+C6ub~g5(kVknWgNM0Y$hqImqiuKK{dL)fonNB@!OiP+Wgu zNTh&^p(t)f$Q6}`BGKB{R4ZKqTF4oE`=|^3G-iQIM_YgX6{oRe6IqEgcA#c=;)H0Q zoWG=!lZd(ZXI>XwvnIV;C{`3-LpCx`0zYejTBwoZQ353dyLXGnJI`V(SI}nF1EKUe{;l8sn(9+fbKwZOy8?2 zHhbi@{7NI6lLnB=B^lvCb^vQ#0I%Y>8m5%yld1LHuZ{dS<%ea}V`FEbzwNSx*RQ|( zIsN6w2=|`bhTMO1mH{u?+|I38b=&^=_VGaVprGmg9)JOQ?U`T8PgbA=#yuD+qrtWm zKC7N~NlYcjo)-*v>rzfsP7Y!U(kzrNzYQ>lcf6>!>H z5RZl_r?6#NVma^Tc0{)X+^se7k_CrOaxZ`gvDa_nD}GFuB@@1*x}{4bV+-*TI5(DK zJlUhO*((9JR?#fq6Ac6ASf^0=k(V6__m-n)gTXtXm{RdzHWB1FT{R9Q-aNgIOYfRl~$;00jB;mUp>4>soYg-_=;UT zU1C<0W^vn-&kD}3r5u6)j9uhasXf2aI?*ocaE%_2jVd?}VFUKBQ~=~$7j~Yac}6LI z?4rXB3sK==_dGGiEFT%?-yCvCjFbm07-rRX_RR~_R`X*z8?f^%C7MkjfoiJr&d57pNJQIR?aJd~ z<&+!qNU~%@{%w_Dpss4BF*C1& z^z3G&eSCLr_@|&AxI-#ve%a2B`hSIFo?>DAJ$)gRZ zTv`GTINsSeb-6e}IPU=lRt(-l@hs#ex2(Ad5n)&*P|dZaywpqmh3@QNV%c{NI>Qik=OEV|AFvm7* z{~I7*PpQm$swESkzBvITn6#wj=q4DWjfo=Ph+J-f-^nR^TV?yB6T}Mw+zVvwmegX$ z?%h{ulI_s;=dE;Me;zbfe|}!Xjqg*O;kxam1TSFWo%!6#f-JQ8&fmDSLLM&Kr%#pY zQ{`+xarmnAn8eC?pB>4FvymPsvKV@e8<@*S>g6E4f3XeM91HU$ujWwYFYralfRw|k zN&>lBr;i(p1icAAC%1N&3`tB_%8yVkFnBzHvF59{J!2y>-8F>X0tE`tfBnj=z3s6$ zPZeoLY-WdWAFJ)RB)VyAS$d>Qp}0c+j7ZDGdcJ=b9Kdsuqe`YI%?9Ou2V#ym6G74< zX5Ap`H^Re7d=AKJRmmboa zP&mbB?&dUYku%7gX?1H2Yi>DvON_ksXt5TZmf*i8SN|jZ2k354de1A3rDqIKLN&gM zRw|4T#krc@xCvUYJoLm)3j>6Q!ky$M)MHfj$+@0KzF`UH}{s8hbH2-H`)f(@NuG z^<*n0t7Et>jZ7DHve%7x)5#B;8FBej94N}F(J8r)b}-I}bHmVnE8>NKPR@+N*XpET zp!SJ5>jIP`tqwYpt-|WWN13P6>(nh@z1_sS70q21mH9x<=}X`t^i>*RfHs;#Q~Dhq|7&3UdVmdHDLC$=(|stAV@l`XsCB(%NqhHe;bbl? z9rhF=vW#z>_AMPT2@{>$OqZ+=ax;~tA`hFIIx8QgW+Qfl{42`UKyiiP9|D?(z$cAn|Y+= z=z4j+KNonJZhyV_nOwPHW2OEu+v@z;Um1sf6G76dlv~NWwPAvkt=Ay=tN8H@^F-_6 zQ-lM4Mt8-BsrT=m>&edg0RIv)dX3_@e!5%}KQd47g&wiFKf^^V{TmS0IJ*%y^WDBc zZJ)7UO4>L`bVN#>`_;Ph>|uxQkbfX%Lg7i+bjZcemz?6PQXr+v#U`%2nZ3(j`Tocd zWyNt{U4=aE1;zwc+KKI|&#bA>{kaB@IPzrn$b*@garDwP2QF&Q+mU|&_3zL(v`MCG z^=!x{y@-W{5X?{Enp;(ddAGo`Nm52vZx1{DOxX|M(iH5EL?+O0yot2x`VeOIG-(SL z@@-8M$oGyS{5dFFMg`s#M!p$uR=44^%ja>mG}^vM?oEC|3LopG1U{T!PP+@2o}$}# zxI9R3v6$&DCm`IARFb{EPZei6R>j4meU~jPq{o?9jB?5}U;os{+G?wkQjLb!3w^2S zqBuOejI*-^qq)PrCQc}gx+xjrO;=@*Ltz}xe>v(8Dg!DbhBZ_RB$*Z0nvtgR^^b2x z4AQKP{OwtLeRkoF0{IZHNVjT%u-;qS(|J7iKuW~>lGo(2>K?De`3z_CT@F0<^W#yC zu3jF_S|*2od0vZVqg0P`|EFn!r{1|Qf$Iw`j?Z=!zO}ENJo-UusA2x{Ih&y4R|#Z4 zt4~ulY~kooB$g`q=|XD4=!xBhy19d*nJZEURqrJJ9t&L57<=U-o?br;Q_gtsn+LiM zn7YHYwJ+EF#I=3jTxixiZT3&s)Vho>tcuK6s;pj%zu;{yEXEuasPMd1~bn=I&(Pq~|Fnc=zx~#y`N+;MNO%>hYkD`>scO zK2B1fZwC;^HAn?Aj+Lt!GV!sucOZI)MgIUb`4Q_6Q}53#+}+XBTWa>MP$5gBus0Tq z2OS97$7izi&AC}rd9xt?AX_XRqYY!wPSZ`fz(t(P(Ke#S?VEM;nxsqTa82wDf`}#@qpAu5_HA#cx!I~wN(2meC<+kXNvzPu(vcG9`{yPFCbWVHm}f zsQG`(_Ng8IA1l346h^WKID#AP(&Uq@p ztxdYq#7EyOu0OgyAreuh+*jj8;nrB9lBY8fO3waO13X;SloQq2WwXlY=7--k7lj)O zyW%qCJU&v=*-;uel1ghU7(A>DUnFTot5mLWALZOb&7(6m$M~_{u$OyGO(5`k<9}PgHo1ctzjOc;#5*a-WO?$Or@y8q1 zO^e2w+1H%%;CyzT2nQb@UpCq9R2_I|mKSpi?l&TWqbimN96w7i{91MMzLiI?iVmXg zcFr!O3YLLSFZ{W)^LfBe<5_8PL;Ao+W#5QL5tqdKy~;YX zdPgGEgBQI8bo1)*U$r{BtJB)w%ce zKy;$CpLcoy-`TtOehNkyo5nuAA>?;v{7mqq;$LfZxmQX_mnOrD?R^F+$&IgXDI=Y# z3SZrqFRyot;8OLO__B3F=!T>5kw3{T8dIU&ylFKdSFU?n=($|}8|)IScI~m{}hUC&m?%EaoA*!a8GX|z}C}>i9E(hsot=wV* zKLVz7Bz1zwQ#0CV#HCSR`0KWj(LVrB#*uT$NPI&FzDhd<=}pjP7tAC|IW9KyR@_}W zc^2e6O%b%T8~#QmSz5h(?Qg@1oBId2{1$(1H0IzkuFFg&o7s^NHJW~9_#vEI_)%}d zUg_pltoZA0$4c|JydiO=-kv_Z=$aN3qk)OM*iYl^R1d?RCo}M3=3|2c&&DfF( zjdk_47<7{nnj9mlm!p~4k_@`ctYs(%ii@nq?hwx$qlC?e@&dG9Jv{@+96A{vc6(}IWsUwbB zH|^{tMq;o2P^XheJpr{V;&=HH2m!zpyty{?lu$O`6{f}tHRrtW7l~~NZb!2O zXn2+@j$o?C&T*U4u7LpfFZMb{DQ?WBamm`S<2P^Zhtd&b%JONRXmuWcc?Y0(N}znb z`~O z$BN=>|LfjZREctx%Afciimeh{4%+(fpq8}%!?1* zOOh^=NWguhdUDo0;j+~#hDE&`Q{BH>5a&s|iqhO_q|ZAm0ZqB$#FPN11ae_$hEq$4 z=Sq&YRzjm&bvB%@kMU`B^d<3^83ag#WQIO{9le`@z0eE4!+;jr7e zdHczV?)nqb>|47hA1+-s-mkwEyuL9#YuOltI5@N1VI_FqwKhArZLHDAvXP8PdgU4F z^>vsRVJD<7Yv97G7ZHk8zeZJ%novgwIB;D0$-Vn<_uUtvv97%hqj$`c8@tU{N@AS` zXS;ak_U}hc{rT3Wdk*7qX`=F1n?==}?)%*hZWW_PEvbjcvH(`4J6qp(EgzUFM~0)8AWo?2H6J#%L9+m*Dt zU##9-Epa`2h&sF+XLTrg{+dgd%=g&1y1|jg$$x;xE61MdJYN6Scjs_kN37xX`Ze_A z@O$I;I(#pG>^S%d9PL=`iwdRBKl*ui@9>OVOU>=6x}>BMuGhf$AV6z!kiRP8-f`_tmAp6 zpLIC#?iyX-j(g3-H=TXK$C1fj-|ZLF;WodvN*%smSbB5rMAc-IWwF8{T<+l!smvNX zamrlAg;~dpXwuu}*(02N8U0DA1IL8^gltsEoMHNXol;|lIMwz#-5K%!gqEh*N!z>| z?rY>Ply5O#^|~E+yi+7MAKj*GW1P};?brz}&9{Qqb|b}{4O)&EQ=%oH>CfPXFH>Mb zBwKT_0Pifk<_eWiDeLrdAqDiJ|Er6;D4k2&PG!or5g_696qUx>&VtXqI5eM_kH7i7 z_^cWN)Gy}}38s@U(ekuN8}hJVWG5Di_D;NO<=n5~mp>lh_`?5%6uW_B*FscewA^o} z7r>D~53`Dvy-xwb{izO323^!gA4;!(ne)ktJ27vVw9xF((f(~~U-o?TVS(Gn`IBj# z?XVJi@FeGEO`3g`xA7gvhYLD|?JK%7{<*w-T;X|NPt+jGdZ2c0XHe1d0WUcsHSGUL z6)wamcHD40f8zVQykG0ZnXlH>xJSDyXQR7j6Qi$?g3U1=&pvdZ-`dwlTlW9f{Cd1; zR3b-e_FG+33xa(g1D&sMC<2QGqV9f@xc-Cl@%?*ORozz7>&)u=9vD|9C6I%joJk z9f^(K3EIvV%tO4`UedxcSFyjmYaS<^O_%eOrk%!ty z=ydR9qpGO!ua}QJ@hK}Y*m``>O>7RiI5%dP)9LIK?qV4LZ8-f8yIP@_=L1-o0k z@T|%{j8SIg7tN0{ug&9Ul3Y>+kz+XaK!1c!(4|f!iE)>5RfWFx>rH`Ub)ZuNRtYUk zEn8sm8)Pfd;kL*oJukM5&*`T@-1ew2(`E*s4UZm514JoUI^*2gG8bjdZNy@QvRc41 zFdFp0t(;WLV)g*n^P!?V>%*WPy{5|um>T(Ih@iTCIhPxQ;&2>8m9eTd7qSeYGY{9} z52hR$sIhjT{xk+|*XgGIgyfH<7hnT;eI(HA4yIJXH;~#$y^{vvMgNF%tvBr*PagF} zn3`3S1dhg_G{oF;ZF)9qWACbSD1@0ZWLmg%s}2WgO7oRA_4bHxAf`M_E=kp@drLrB$A7IP@iETE(XDSQoxn>E0IF@!X&(j9i>!-7~Rxja>@ zuYG%(EqZS?h4`~Kr~a;MZ*gCTp`%?D`m|H{PE93^uvpFO^<>LahxCP#pga(#Jngl% z-fox+$G*3_drW$gf-}Gu+hkIbdb(}y zayPE%p(^ms31nwLAO>)}<0ia(S`eFaUC_F__)HlSqg|)6=#1)oEPMe?ktksF$kqMV z78xDDXt?;7PtVc$Nz&{$Gpw#vWKen;jwxs7kqT!;{tmDh+@Ixt0)HXQOVBzQIEi! zO5MBodkGc=|IMjo3}yv1rH^3ab34POHUm_z{|xjDNBnL5?eq^&aNNXOJ;}OB&@1`U z$o92ZIWfE(#;wse5+Q}w^*-@?@}k-s-J`BYKiM<=ExBj%C8{<|6FV^%T(PDIC1k;j zyUsZ8doV3baL2IDSYkZ!n|9NzDD=y843aP=c}zBoT?;sRB1M>)ysIjvVIlqr7U@S% zxio}vm8V%rsDeWtnAsF`FO&`(qlF5_s1|Z?$B%MIDQi3VjEjoAm}y;Ip;$_r zwjk@~33pv7hc`Q$NlKAHF5CnX1q!S2OVwt(Gu+0w%2AxKhgX%Xp<fS6 z=6}Hy{Q`J;&WfcOXfYa^G+GMCg{gr^YTeMRX(d{Aam(>FNjj!b^ez1!pr+6x#rq7ZTz6O$5T9Zg3 zxmAZ@6?6XPLDx;eYEZd@Dvu{jDKmz;fiNh+g+q!mJeKvNI^S|*I4~D5fBuohkhEC< zyihaBk6@>DDA|Ng_AIMVmVipro^E<-7@d#VhTW`<_m9N2)=>(p>n(o8M(Pb*MVX)AXvNjy5e2hI zRumS2yYTeeE2R-$fopzaj5>fF#St<(lhhtHW*3%<-rV^;T)mcjl10Er|Te+)Kd+CWH|BcY7rpsnoYO{Y&2F&PXdn9)koSjqW*Y4P@N zK{sSB+OmE2EpPG_#O+Ejybn5hn!RY~)HH=tDp2k#g%g=|Ew%#5O zh}=7;Bf2lX>9CTz=XxOi5Aa%X>+DkPvn1QSs-HxDp?4BbPwR=AFEzgEb3S)n7hVEt ze(`3|ILS2sPy2LeB7Zzn8uckg_nOe5&zx)II~|jwnG*RU7C(E%Uj%&Ar1IFgI~E%v zR5yKg@Bj4?pY4A%=5(O$VfPAq_2HiMY`3uQPyOV@OtD8>p;7}p{+?)lL0xaTKWU%4 z7Jqc#zNY%*+U3i%BS*i_FFa}9dH+g=b#7s7_Fd(7`n#Pgmm8i*m^PG#z56X1en+s@ zUn-;hQp!2Z~L}Sg)i3P8~3hUC!+Ep1m09a&{W*1&%slSfGTo#!9Tz% z_g>7*4cWgOKf&COPM#FpnCRUOJSjVKWydiz((UNvbKeC|$g0?~cJP}EQ7&OGimiOy zT53-rMG69(J}TxUhtpvEYe&rMlI5VPEQRh%vcK6D{7K`ch*e%e8IkH=ytldd3sheG z(I=Uztn##-HO)vE?P%pBLdGzKxT&)Y2NwC?0!n&>hJDZSV+jN z)@<*ngDRB=Po8b8LH`yx*9%xinL)ZKYcsVt;XqT8u~Zt%ZI(2 zR(ERmk%S?zt%_W0OTLmJ_n%B$?44D*mu4C0qqh|i(j#0w>e5V#68IUvpHgo!3>Y_4 z9J`QB0;Vsmd7_fUkrMQNLinv&w5Gx!{)5BsN57Hcv=6uM{hW{e^5xvfz+TX0qrjo% z*ml2j?d{tuI#Q)m8`6W}D<`uqZ7iHlv!oez1YfR>ZZLj`Pd?IZ%ULIloU#%6qxTPh zFZ@6?R{pd555T{)5}mBt5_hC$DN-WtW$#3t$GtF1Rfwj3$y9?4)nLEvsgvKmK+_EN zJYHe47x?G$(g(I+@4;4=W*@P~_nPy^usGdh#n#AHrHSJjGlro}5@&`UoM{FX)~*KD z6{~M9o!}bY%Xnv6PLOk|{g{?;+LDE5ezRK|Z?G|$+s2f3Z{7}V5sI(gem0PA6CP1J zOkvzV^ETj`xBa-s_C3>y81^&JC zV=yQ>TD3DywoSt&lB?=iOhO-7`qsdBjY;vnkZ_ccSvU8=sXxZIgRd+88i;$a^pQni7ZEXP8A8Z4K%-%rNWewac9$zwMbLF^(X4; zH}3bTh%qM6F$^qU`&QeIBO-X1=2AXHeMp+0vS*4s5Hzh%Xtq$fV6s57cp@GWrgOkC zr7+oEIt1&jHLJQC+2m*2WG22Li+ytkTnJ%&_I&=Aa?uk5du!}tFZv%kzcduW zr+D}|ryedJS$F*W9i;Z7FcHKfI8~xLAU)p%?v}tWRewiPN%@%T_SNcprT~zEnJf&z zM{o@_k$^~OL@-~74vG)K^EbOA2V29X&wOZ{GN;cydPjU1TO4!N>Ufy%)M1JHZznsV zPL?So@RXkh!CkCyTCjWcA7GENem#KiS<wx&$h8gkK$KI01=Q5A~WKKQUzzP-%E_mwV~qiEZZh^Sm(*gIykLE0;4~ zwV&N6mAM=}_}=^Jla~`J=8xCUJqhy|3rxARe?3=e`YX}T_+F8ZQ$ei0T@c}LSL@$~dqA9pt`5lh zbt%mTFFDPQoIvwkwS6gbMNfF z)r>_aQmk6~Z)@q)Y|AP%=4-=-g{JZ}UOYt!X=xdW5JXJ$zsYU=7NvFiO)TKEB>H&e z`4BNiGe)hFu`Ho1yO;Z5#9~RVzu#Sni*`G)yDu40*{Wi@KM7gx7R^$n0OyfAlE0VY zsft*d^uQo8tww-#064%Zp&WWM$QaUw`Dl-1V$2lKb_39W;{O1_1QYcm=YKfk$Sw*> zX(%uSeNXn-0EDW7{{SK(1~(?@tgqM%IvWiq=lA6jOsf{45lQzBKZ2H^pO6VuGbFZ^@OM1q0~oK(3+0kKn#OIDvn4hmE; z3g3U=^hE3c2vjg2I6~|MhddV&L#{%}QltuypR9l~FFgSHA|$~==ZGSX2OJm@9e4zn zPi6>9y{lOJ=AvBU2MlryT$Ot+DXilrStzB*nqxxxA~htjB^~%L?LaJH0{|#Ba7j=X zmn55`)IM=KTk26_z2mvA+uORWNtq*s^?O#Hd8KqfuxqysHk2uAVoa|rXjsTY0>b|Q zljO%gyTa6QIYh7%z1YXk044E0n`wHSW>wh zV`d9v`9h z1Lq6;Pgc$(-7X+<93P;K!ScS8zu_Cu~7H`NwLurC>MExLY0tUT7s@jwSs`i z?Tv5|Ynvv>l7Uz;a#2F#m+;Mj;g-O~f{}w9xg(y4oZtYnbxe6z0WeSHnnPf=ON|o1 z8|KLqBG6N6Fi`6mDt;ivR<3{3*;}y-b?N7{@T^FyRM!tJ!k^1#S-5(F7KwDeiv zc4|Vo00Vz%ir`2Zx#r?z2s0fuQEGP$ z7Sp2FZu`cnJ-=w$w9;yK9e${kgG~ZPM5MHZSiI=36gprGvdKsRcA}6a!p#C)U9sC; z%E1B74QzLy9E|`&jLZ-=>b|u90O8o~y~nyg9sK_QsuJt;-LAe{?LB74+q%hTc{_7o ztMR_e{;v<|*_sUm+pf`}?VZ_um1p& zaVXx(>Pp#XPG1%>I4af&{z#aUjd09JY>5n5x`6!SCFTVvVn|~`@1i3F7Y`P-wpZeYYLH0+8G{1`7qu$%V+H^hX-aYZGdEXV&X(rNa z`+kRR+;!|^Ws5|T>h+pKHGFq4Z>z7Tg=nXPuZVPk-%_VAUEvIIbafUhgPQ8KO(tay z?#aHUTr4AV3ygK%1@bn{_^sO?m>Pch@&2>Neb2MS+&X=R4PLiXye`$K-?Y8Ix9OtY z&`GoE_w7ceP}+@;O#@G*Ws)zJNup)yP<<-xsAxLv%mHu?4lQ&(I3$82m5faq*gBNx zR1VJe(x_YnHKMg4S(4LoGLU6!?;iP6{Z^*q3wNk*qU#QnEn!k61CUGra^WfiOcw$L`j>9 zq&Uz1L{F;s;)8`owcnkzFwK3V#4zm!MP(rytxL6C8Hol>asV0D>1cGaV zM8&;`c1A=6t|wybRH&w7X20C*pwkkk{E{gJVM;?PfGoKfl0X5yGGI#o0Mjc)N&Uoh zL?PXPP>W*A5G@0c2v*^Sc#=U=lM!5l$q-Wk8e#>5L9itO2Q~&rkq123BAWT5(Gl1U zN82271rQv841PLb#3==cR>T5%AITD0EqMcqvPdy4z*{Sh00u{Ve}NiR8z#t^KqCe( zXsV?${t5WaJwuw0g|I~N%U zg;j`O{{XN(6xT!KNAj7!*vplG_!nR#CGlKI%|i<%3X#Nw{bT_uoCE;_V88xNsY7LC zUt4B$1ima}YgVvL@>#sPsmd7V!Rs3+_4Ht$&`$NKglYhQ&cE| zL2;KW?LZ?GP$OotxdDkEM25?vBmPwn``E9lR%$SJ1d{5>#~3LLw!+CE5i=am1CkY7 zk@DF=86wV90XT;dHb;(nDZFz%J(7mhkN^q;IAE?F!qOom7RVffn8*8x{habu5s`9` zU@kF*vo=^2TL>tz2(~}TED0vZMVku)A7Q!IWvG-$!OE#nX@)EAKvEndg3in6h-~Jx z2K78ATjFgLpHUs&AgNPCg>Fil;0o$}7K9K%ok{-y{&^{oGT_FU zRb6dyMQlL3W^xH&aZrM>H^5PL!1VX?PZ0yJos7sJqaZjc#D)1l03c#klmN;OF6_*t zU`t{z@1g1E98U^>KpIVe-%Fe9iEy~d85An5lPhFei?fPQu1H`mN+b`kdWo7RKswqu zkTp;8s35*xlmixU%&I{P%aVA@+Q}pjP1a|@8V1TekOBp=uH34CX_<{6Y=aUnFSBIwbc>+ifG1(S zxY(ykAsAr7lw5-%SfFAH5=Jc}`zZq^B;T!d6e10-MfBtDZjA|C!44g`1=|K=KrV0l zOU9wC$pJwEfj7}Aw%nL6740HOqPK~)6ixd0TgOiIussAno!K_G-yCcn=`a>0;zncnx3 zq(hm>&Ox$L4nnELn1jdxG-C>(Pqh(z0!aXvH_!v1I{j3*wk*>H#DG}H%F1XKD((hM z^i(5I`yQlN=zu`A_O|30-$cM!V%)AKL5p&gkL?I}$SjUp$#cQFHbN%R zj7Vl?R=jZ6X$K6|MZgCCI4xa!@@DwcWx zsS;z5WqQh#^Ud;9jn5wRLRiYRN(HyEZe0zjHp*kjF(Tdl*1k!T2Df09Q`q{h^JPVMxn z(Qu~sHd^4}k)Rg%b56Ej??3%B_E*Gz)jx$WKLYk=#!mQUp9g$PTeYg;#Tt)iXm&qn z(sfs1-1;>sIkg*zbKb&90zWC+=68Jj%iT9=XVFQi{Rivy4=h_|-X+rL^sBhc(#4_C z>7^{uXrLOV)9F=~z6?P>XRqOS{3a+=G+rG|!U+x}3+VuBEB?cLGw?5F;IO!A&#gka z!%$-#TC3RVl^sTyYpT?A$$R2STPwwWdOLa9w~Y+@?E3wS$eSv6T$=sDICK&0Vg`2F zG@DR>>P*vX!^^AOwL5@Si9~ThOwx7Z!U~uSRuS%CX{TMaNe?Dk*GL2rWyj+l!=aDt z?$N;?!PKGJ9gB!|1=N|Gx$guTqNuZ_x&RmG6X1^cPbPSC#$D$W-z#qYtGBMRP;zXy zExI+(>zn&rmT90mi(`vM;(#nK{f*hUk&Nv8CMX&2XfekB0OT7E`mg-pe^Gk{-wgb5 z@i$@?cWuG;wkx`15Csa=4SFC0!(0cV+iuFNfpQeYfDxl7HU=~*fwI5=W8kSYK<3Z6 zel0OzamzdaP#BzP2t1q_K&kmcPf%5t?cQm0y)rMj2Xw01lwy%;c%`wxNG~bx}BEEQE_> zDy|)r=9;?{6x_J5(D^aN2HXzogR%tzsWolV~4w53o75@N2{{Zx%@Grx^ z)=%m0Yy21SH)wXA4ZjBbWrO&ivmM#EnpA540P}c0;-(&}YqFziVQUcb;SvduL0&hf z=7!td`t4ThxN7H@TdUPcsMbXs1sC-?hxuiWHDB$*pDWNzLa6@$`A=W-L*nc=#F*aI z$71_Yj(#f{imzU?v$2$gN|g)h0NP?2+0X$Hzv|~>e@pN^li8Rq&%g>p3x&c_!{MCw zm%q8CNK>ZgINi>Hsaua=^Ty@6?Rp(n#TWW-`af{&+S#>7Q#0%Lc7?{TOBSYcggSU5 zk^ykWwC1vFYU{z+^>MwMQv-^o#?XIfc9s(s>WzI}v-SO7UPz87tL z2Y{thv?=2%eku6w$j4#u_vY(;E4U&y?b{{WrOje8!i!~Xymd`sAsm}%7P&fD!QA!~#XDPr6k=tL~Cq$)`Y zmF%oa-KnveDt$#pMKv^E<+wj=f3^99^aP*v1qJye3P-6S2=^rNbKu93enp59Kt8@Yr6jd|@C&3{ zuk46|kfo&x6oHYDsRptoUBc$iMMALxxb-5(NxVV#&j^?cELa?IEHQ3YivG}qV__Zg zvR~+uLAr?HBq4mVASn#Ri6*$BOGp4NxgcT~1Bf@)L#J+>{dg#d02>Da)U!|_vR(lN zNstz0KN~3e6a|_l`t|*x5ZF^04ghrdJyO7HR*gt;`vG)i#?;l7q1A+5LH__(uH)Rh zXRv%@EDE}w-0$7H%RVmeeVTnnrU*CA+3uZ>VohG&`i(2DuSKYB7wel#tJ6%fX<6OY z&nNte{{X8DZZELAH{idB@Gr|-v-?vYM1t1TV}({x#WOoyAmnu!0e@lsl6FlF-LKny zn_1?YjT{~#l}6mL>~%&G8@P68E6oqU9{&7Y{7dmfUJ~$!j`t59Y(uy=F67>H{{XF* zdfYpky0>^VI$g`Sw|(nbB(rWimZl8`gF=$(9a1f}7-@ivq7wjXo%<{mrom=T&&HkFuMeFh@6%`TW4j>@^9QLopx`> zxSrF(V({2HKZI$f9PC5Mb|LJ|mBN|Ql#OCn%dha;a8GSaOZ(R}kQm!j2W-dup?Xc@ zEyZ_!!|eTKQ%kdHqMoY0O*4EmCRq?_Xe0#X?PQTckNs8tly->iU+Le%IN);^_BIxa zuOvSXKMzr-g3{IgfB1%vaob&^Ob8!{d)hDgYIxhPLbG)QGbIx4sw6nPuDG|UZZoh7 zkV*=5KglDn=yn_h@syUqLIws^P#YKfuigzHQDI2SES*h`sw0mkC7;|;F1ZRP{n%ny zy0B$K9yIJv{fAT8{gEKl>K-*FOR^|s@&JP&CM*U_z%wVfKYwSch!9EiLdd1S0K0NX zB*)1g#Dv%cs`5A_^hB2@WL!#7U`wmeU~}Lgvsq_sa42{Hk#O|C>(Lah%B2(%v`GpT zq9nV2Z5dQKYybr~Doq;Z`argwKVXV7LB}lcS^$%cBLXbqLV@ZsN*3P4^VLNyNZDc; zK>&gi+<>KBQNb?D>WFeBfdG%^q}q1X7byO7?sM$Fi9TlBbhEyTS*6B*Zv|C>Ny=_`u<}DiTdVRZFs*X7lIaoLG{2%oz7lWX1IJ_${AUHHtY&NXS zkY`(sSM+R8z;vql9Ed@iGN|B7f_4=-Q{)yPG zE~Q+TW^t?>(Pre4g1>h)_$hAP`1I+bX38 zj=s|IBuZMTA(ep(NKh>@vX;a!cc(nrIdE7L)843@hGH)MIWN^y4nrF#fSg&0qz#aA zK{<3plx6XsLI7XhGP8n`7@wfhJ+L)xX8miTCsT=Fa}L~FIaYIs3!5KI(Lp)03|4>u zo9Kzyp=B}>!HWPuVU%Z+ON&TB`uNEueuwQRq9&;sayTX+Fne1CO{j7~r35A*HZ33U zT7i;3L{GqSen0?R*+E)T!ZXZ-nlu@Hl!~#PA)DWCPl{Iu3ik47F zAr*-~eDzUC864RI7RV6A%^ZPj14&;-Fsc->YWv_4C&7X{N~01jzCx@R430858MDz) zuS59t`viyrlFVAdm1h{Y)nW)xoUPQ4m6GCtvJH_GB!u}hEKVdbENp>7n6Z&o*jgze zsNxS&ZybC2B9KsGjrOIO4jUyE{C{*YWj`A){eTuto5#J84X9|yWl-z#QmEmE42nZo z#Y@J^Rw!9o9T7;Zr2Lma#a7Nrsc9%HDOm{26?zSbJn}x={W_wFo8)iCbwY!62J!BvJ}iSz16cYoG`HZ(Xn)6RA zwzeUReYF(Z01eOm$uPc0Yhs;)!&a`>L2GHbvS0@X5@U@5_%QE3C}_3a*{G9#UGqcS z`(%efqVhjxYYv0C<{Qrj(yi+ z(r#MGB1IWGN}4T4$0-8>WR~4+fgs;sI54oBm7eNiAUsT8V04x4ZA||F+!QGh1iI}6 zUh+6w`?r4}yL(%qSa;3$$X;dcojzKvpHbbqjULJ4?$_L;h{iX~Cu{BTh2J+_K4>(O z?pjF#Om8r>I@LLAOPp#{a6gsg1~*{f#_HkD%GF`08W{Fb6*8B)n@4)~gC(Y+{H=FS zMfW-X013{sb>2S${{SRAkAK!`_l?(d{M+vRzg4>K614iwdC~YM!1~oQPdcoQu|E3n z#4F>DFIAuqUn#Qeb}{Dpn}-0AcxZmTZoZ}2jzMv32 zVsUjY7MYj>YDtcXAH;;@0V=$T1fIPs!k7Z?tBWX7)?7cU1Canm0b-%^wm6hL0b<~t z$C33#E3%^?77CUjRazoTF!<1f50(G}AJ`^{9N$;yhz})8XMn_HNnBNdI6Fl?6otrBoLx6o*uh7IsQhUVYSnNAuAU(uKv8a`Zt}KeR?q>;+1iBrEbk zx&T*GPk!!*6fnS(k_Bb8Dym2dd3KS3EC^Lp7~*mi7n+On`~LunFY*L;pXSbk#2QU; zlV|Wxi#uOo)@h?ZBvJQoe84-)bxGqaB07}WHy+nffHFj`d9z)8!dpkPuymbsSG~l% zbbI@@PgrdFuNz$9RrM|<<*gusK&Rob9GMH|=f%I2-goS6K7+IScgelly_uoiC)~7s zmAY>_&EvH8-QQg%TJ6_v?X7(BY@2@PtZ^aMYc$XePN}(eYreiSu#~CRIGjKBT>H4T zAc7*`>Q|)prY@r?(8LOrsIps4uP*Qm#l$qvg`|>WmFb^t{$74i_m_%1m$Gi2R_<84 zS}xH408Kry+d5sZwzNC;<+;s<*`VBJ*>n)^81NRRJbfAhpxsvn%B08qT#r6vdEbP}afBayz-Mr|>pC-7f zc_-1t;K{k|@vb?#w!cDw3u9R`>Mcnud0Q>WvJW%7r>A(!>Edd4ZyK@V{{X=%ll@a@ zi`HH5WKhD$ZR2bOLXpNzsSL$zDWVWDKj!+K?IWd1Xa4}hZ|<*kSN{ODQ~vVv`WVl@^>cCv`ej&4Y-B6Xn+`!8jtV+ceKCzwEqD7cK+)3HNX2cc>e&l z{dmz(%impx0<&v7@3G)s12(I>dwCSqlCntJ@XW*12Q(LtTCvp?DUl+h2;@DaeGt*C z3>sBI;L~tFWo~~c__`*Qr}A%(VpNT#V<&!gw0{z*TVwwK)s#krB(gk=O^Xb8H*+-q z0FzIsx9q2NR%5!UJB*H>vb0C%KL{e1K5g*>5F;hq$=#SmuwbV%zOy3R{@kgk)!$6* z{{WEl%pqRlv6!P)+W!D;_VcxsB;SyqkD4=%x6eKk(v@Oy)cIeqp)9NyhFSOX$yULE z6a`T~WtqS75zL4|Lb1|~Q{_$P>=m+K$`ISTlzbIIu=k!|E7u=UyjbqdV}z`C2jBv^qW>VjX)Ps9?S$@yjY!i!GfpU=K6 z1)>KM)cw%Nads-qUWl+xM*0E{gdMDA{8>)oxBmcUuRr$Rr#dQD{L}m}g_24C05N|R zqRGCW@(;w(-7Vvj_jxQp4CQ(LP4UiyTucU%cmR`qE!9rytWS4RImqbw!i4^AeiG)O z{$+kAp#ejW{Ka^WGPaDuk9ZP6Wn+;x!161DuI{1#0O`N~0K{_6SAWIdBB4K<{{V!M zKg9n4ng0NZi7TNlt@#z=H`Rx1~#D)CV{75YlsF9cQL&Sj;o(jG_)=^91${3uSSp%t-pfG7w{{Zw=KV&R+ z?IU~G#=lhu{(XN0gA*_2=i)OGGkCxAAL21%kXb_aYnc(URAt7UiT?nw>6QNg{kp&Y zil^+EU2AKl!rI<1^XGzm+}o=7W6fS4^9$^23vbEd?<97AeND2aw&T(^@egh98v>HPA>Lg!}xo?O0Oe=Pg-2WfwjFq(i>)FTufjV1iCdT2Py#oCmi#( zI5M69Bw18$Q3?elQEF9IjGWv1agdp1fB?tAQ^5;H`XY>*DqB1h3Svt75Jj9AC<2B_ zLf_nzm2^@rcb%Hz1n5(T4RX$Lw=o-`jDVEB!I~5}fG%Rz`R4a*S$ri{_PE4lDQF7vyR!aj-QV0}Su^czCwy+3LPehYFG@iW^5}7KJ2q4$1Dya;t zrLYVgz;k4rv*5L!i8BOWTl?i|aM^ocxvXVa00>eWBH1+$R*weEaBhnl>qL_q4FKCq zu0vhsd4hU$Dc6M!L>1@vJ1O;|RfK?!3Pz<#!~$=c>HrR=KC4F13{LzL);USf+Zf0M zuK}GJM*YE@Dzm7>Gf-kd7JmAFH{}G95BQA)@oA0a8Yp0y5HUlSB+`O_)R?v}kaPQ( zDw_uSx>)b1zTR3D2_%9nL>Q5{)O1wg>^m{Ry6U$0N`VgDjx4DvQW&(5@d@=Hnq;+Dm}|{+ICG7?%U?^wd{LVlM^oQz3$pA zpKFDkiz?5!Zd$E2h%+}TqD})aZ83!|`YQ+uWLoG*M2H zZhGh2lW*E|>>E?4i5L=fOs;DK9{0X-wX7yU)RJt`)U8vZ>Vl<5Ih5(raL)I*H!08z zy1ec{xYcn7{{V~?{Wc!ti@1Lv^$DN*e;zx|8?l<0&b9QE7*TYQZzENIeLK8F$Kl=y z(p^kXPt3IHRD(l~B8dhsma!0YC&8kH{{Z3){+xl!N3Hyh)fNN<(|8+mS7r4gLnfoR zq4goHi6KiKKs{4S5;Vg+-V8pKyye5_vRj4@%lOPWB#0StCh=&BWklcc1^)m~Z~9Sa z{{Sau1QCpW5P<{8R0O8fcho5p0HA=_`i@8pI=#*)MB$$XBgIeu0PeceX;5*2jKc%B z{{WQzBAg*l_=Eod00<7fx%o*cWW?d&&fkH`GOjrX@>FC100R;z^Iyq^mLgzKdDr}@ z{_A3eGe7*z4R0d69k*xEMxXHtegVs>gG`;N`BaUp#w2+>KiZ-)?!{V0W8~+MBC%F- zksMmRy2e~g+Y400$<0bU=QfL*+ev^IVkyDW8(#7M0N`l4qsL#>*ZOpM8@0!CL-{q@ zy@Xp>+jgh5{Ij+1eT&{2O-xA~wEG^rYScxzXx%1n)9%|IyH~SKF){q@Dl&|?xugeE zsx|zy-uR7k76KYpLvv17(||yiJTMv1fcPXVvR~?x{W&6JQ~8zQd&R>%TJ8E>GMzdr zO+Ko4HW@VfSoFvX&n)w-P(x14sw~i4ZQa%Nr14|vqCJo=R)B&B{rUuhz!|k&z1w}m z+uiBg-M`+Qque`Jb@q>S?0bK4cDHnP?zcy~Y#qbfyWWL29j|%Ww@oWcqTKd<$3v-u zSGMc4lD3yq10ya(KJmIjFN@Ph#0taaNJpF-i0wL7_u1!*VUehJs?Dq zV%&PCAQ}S{P*Fhu@=G9PRQjM*FE=4T1ab%^WO9Ro4LMK^+P)!>g9w^f1r4emr@X zw!5oes6iQ@OWEE++xHJ1?@-2B3rQ56!@G87<1}aryJ>@!B0B5xUl-v&5re}$upLVf z88M@3i8tz67y57i07{=1yWx-OF~d5$=}_&Q5uo-l<$|qR4knm+8nujj-RQmtw@uPf zE`wOI6^?BVjg`d~caAvX4Hy8HbY%@HkP5Njo;vt%mMEsS2W8@V0eRm zi~h`fAMuk#GlzCAUf0xn+4-TaA)tYzbX|So-T3zp{Oub{E|hm~Y$m@%7E%-ab7axO zx#t-7VEVVxYd$nkEMh2z>+#*C+3y5Y4G7r`-bSQx0NguvG<8_bNXwNTdj2u}W9-LcyEn5jG}v71 zE+Y|4kO?8RsfU|+Ft7H{{)oOXqww#?J-^wQhqP1euFS(0G49I8KM7sH>;6Z)3*-;9 zJGV|Zon&h={BJwBVVkT(%2*%;gD6I{1%U?DjW6H$Z{p6w?;P-H!F5WY7=mt3h@H4! z_VchlA;V(uICfL2!0D|Jm&B{m2 zS$kjNAL~QmZ^b_e_>;uGTJZPePmp_~WZAojL)?BS()fE_+bP@HUgy=e!KT&C;94d0O`x(S9bUG=d-&zyL<6}487fxim6e}4Rdok zz7x9_FxpNH+eQBX4nOsU@H74v{;T$fZ)c{?&G^l~^=u0nP5t9B7T-b8f#x~;dkGyVMxUXz6RNmS?lBd^5vaLM?^`Igz01SXI1 zn*KJxJnsJh`H**5pmr;%U<$=40jTu@aWN){98FKuHDtREKl=Ow{j(x;kvpP)_>F%Q zs3d=kUzqP}CP=zp#?@maYCu@gzamY_K=~q6LGtPC)RiK|n4y2ef(&U?KnIdqf%sd^ zcZ*y54!=tq6!HH6#BcbjTF>I|<@f~xw2cqrj6vdc9~^V zbBGkF_+Z|tHafr!)GlqUg?zs9?vieH@UD%16~(|;e1p9h8pgSl@c#hBU--Q? zmQ7NAGk#VyW^tvDOC!$Q7lmmL$2ks#G(Vw!JXv(^n9Q@kRRKP;c_ zk#VqwmD4U9g73sw82o~CnIkoVrhoX3KNp0lkK*6uu#4kTUPk_ne0SC;+nL`;7R?`~4;^XOJnn)CwZ~p+?BHW2>${Ltat#<)14|P937VC|_ zH$STvi2ndLJbT*xpV24a*}KPb-aMbI@yqFVJ*RWoHM<0w4Vn(a?=JAw zNvQpHyGg6nO}NLU)9DfwR5HAtzvkclO!gIS-1s-Lu${=yPqvL_3S`tEw+B(AIk`qz z2k5`6{{Tq4Qw`a_5Mp26<`u9)k!zcgv)?uCIi$=)4>jl4jeL={Pu$F4*XZXH{*l@> zoC1w;Q{v85gE7U4Pmo`ReX&@0X1BL9jf_vXbG=B-y!WK=wc)}|&e1VEqQ5aw-7}VRj3Na&)M_%uQ z`#zwpR*S}2qV|EI&G~_y!v1IR1|^}SfCgHCz=NQVkz4o3pVhO+--NqAVfg32JT2vq zB=RJK<6I6 z>G%GcyJ7vI@FV*fl!2@8?l!F#)O}I~N?oG&V`!Fu(-~Y`-%Bs^cg8fRv$T#frAM%0 zgFtI&=QB(OIL=`^EmtS}M}7%bV<+NAvtC3c**tWCGE$P(hH#P1pJ? zP_FBS(wLa>IOj|_aih8Tb{(HU-*xFA0fE^01>|+h*mF?_lJig z434TKIInj)<78qukdSW>d9A}@NGByB8+WdgCrh(!78_d#;sC8yOp*PT>9MozJyHJv z_{N?a0@Lvu&jhYN+y4Nad_Gti0CI6V`>7UH{YlDEKpvlm#GM&N5B~tZaJIxlH(Skx z%v;}7u$k^apG@g#f8sFk=Ce@_jD9Eiqi#v#mO-lAyZgn^X`_)NX=8>~(rdRF)@?+w z#~Q3!b_u9;%!TA~eLPD9icEQ%v{iiEz#>_q2jK~i#5^75fD!)y=iLJT0K{G5X*7D> za{edzdr$gdqiD36k0bcyHT#j&&2o(daE)e}n?$jlPNg*(xU$oPF^4T(UhfnC0NSSq zHT%~fgr>R&+@#}vNpB^f=znuF(4c> zFL=~d)kc5fI_x(BzYctgVaJ{p__0kzS1Z2cWQxzBmrKoXp+;1U?ZRYrpsCRkNVhcKbAfu@BaV> zZQqR@$K!2Zb8Naj==W~n<$a^Nbh-^MXK$M)bn2lSR^8g0RQj3s81}{6BEwx8z>>7t z5STZ__==7o_D(L5r%Z~>Z8BR?&Mon0Co7uSh+h8BtA@g3aJAc7tK7$u8tM&Tmo&5U z2fAW(h2hT2 z<%_mJwkmGy_4@9@!c_jy0JckWNQr|0M=SCjyI2QR7V!tT5Jwj_*>#uXNA(}oegXFH zXKpZfLO(V^dWL{=*_i z1XQ|!f5d^kMi7s|J&*#*=wI^3S(^s1ON02%Zn0cNlI{C!o^~izHYS^9b#tT8fEMaL zjW!47tme3QK%&s^R_C&$m;NL!;wy|lf_nqBlB!Aa{#tH2R4E8&AdcYYj92IOcu>vEv~0P&GKzQRTLAKHZpMG`mVruauE z+%hlY5oE$kjZ~A6rZ|o|!J}I?Qfcod9CY3ep=J2IBVCmD;lzOiGt|t$gmQnxdEa72 z_`d~v9EhWgpOf;#exWFo0Uk^E%!3jJOCekXnkA^7v@qD4c&R~;@p*~qH(g&_2*!s^ zat)>!1n=aizx-qGBbi#i20IB>FwBqt0GiI{m2m?#Vn^eOE0>V1swv15XZ)Rn#Wb`E zlt^@CmOZ5MF6+X>aaboDr||%gOGq@xF?}IZOaA~7&y|X?gYcKeI(8-?WS8<|x^+=u zEB^p-n@<;kbXh!Wk+9<-Y8sDJ;PF6+t3nJIG~Xgd@b#lx3?$^PKnB6g1dt{)FsKv$ zBY!ifFR1)A@kFC0vYvYHSXG~gQmoz~)PN5;s{zgb0PtYJ;>+@ilmrXS8ibxB$7w-` z!o-?&!4Wf7oB)6P1stF88u_K3MvL(C#DPErMgIVf-RG&EMJ6K5CQlb>!pDn}uke(S zz`Sp*w*!hK=EPyZ20!dnA2Z$^6#P~U$ZZ@`h(F_2k)QtnGRijp0Enl~%?tcLi5?n^ z(Be-schrc|0a&DCuwg5R0EV$>GT;%{BZbB0fmaSdi6)E0fBE;7x8iUtW^+#!cE|#) zB4>g!TI$}v@fLnUxh_8xJQ)hIE&l-e*YEd{P=o*+dqNP&O1QF-MDRYz==>fbt!um5 zHvo~{KHT3u*Cyidbw4F6Nw)Q=i93kN^+Z47Cj5!Xg8nY}B&@O0IPxEmSS7G7?5(k> zlyZthWlBgay>*|$;$^?yqkd>V{{ZqTF<3z%^f3(}PyPCL^8Vhcnt%9-e+n_bImWdg z2oO7`f=@%9@UZMo5v7B>uMZLre8YY}B4hsm5Xa?{IU~Sdjc7uY0P8%XF+dQRQHbtH zm6cy1VwDd9>=TD!Yc?Xi19<-cvipvo+_K+&g>ZICHOqi79f+nR{{Z?u(0};DKbA{E ze*ykB3m_L=Zw^48PYy{EbOpTN=h`$Mt#_-~p%*+{gThj909t8&MF-#6{S_kG89??^QI zi4L)J?V{3Y5m3n)cm2=8R1O}Xt5}MHoh)T`+00`cXm>&3w>gEP>+ydTRXCbVqe-u) zN!4i!koUY7g5c)>(U!(IUo#utxAi*t=bhR~TT`FWZvL z)$egtY7hx7Bnb4kMfWfiqX$F)2^9P~!$7#SaQ$?nL_%G{*Ry3+ww2)bMc40 zJW=7U%kWomcE5Ldzq$OUxoZ5C+g<+vy6^D!F7?_SgW4LcKA%zAzC`U^4BK>je`D;^ z!>5yLU0f5q*=i(KK)zqYJ3U7V&1;-PhZ?2Er!6->*{y3ySienH@MPaXzr>t zlGi=ed|8_5crGK!da3^a;{pC~sk7r>#ABV9*?R}ffE*A^S)2a=9Z4bB21E&T2ks0y z+c1xDj{cY=$(l~u;yi1~_`EnW`W3@&3|6KcK4zYYzx-f7&Cp2y0K*@|rLjjpANhUF zF{XJR{{S96P%&jJY!X4U&qIT(1h%a*(qsP9iIe{T;oWt1D+UH(M-pU9f4@uz9f$p^ zCjS8OfqywzGp~)m5!Vv&xIR7e0|f%rj~;zgDp+5}Ms5h8LuJ)CDuxNJ){c}+iQWtB zLJUR`z{Lzee#|(EXHg>k(3CCz01yx7IW7MH>gVwV(6I`q#{Oasp$ed9C-MQrrAQeZ zK*qTtxu1fqm;qg(r+(-RzCgQ0%;IP|ftc_e@4Ea#e(iAs{{X7*F~ZFZZSqebbo_&yqli*M zjL|wqd2#%77$PEZ4kQ9daBf!(E&v2an#jcAPHCl6q*Z7jfj1?jLirQ?{{Z}g?w`ot z$WJeMzrH8XuXTA-zBj({-ZcAX>Z98B)Yi!cmucB{b=A+U)j_swJ0{<@?3;3GHFHjy z2oa=_Lt5L6OTHz&>*-fS*8BKwVf;1oj=DgyIUK&MAtqw1V{{Wkd-q#)pC2?nu zhwC?Z=A$VSMr~Z1kOWa6#Y_DuYx-QO?9uWZq-!uOHX=vVg&JL%SEJw8-MCk z^?EZjISlWtx{GQyt6i8jwG&CfwjexZbP=PMp_q!eO88pzLo;FC+&~WwA+Kx3T{RLH z(Qdo?`hQRX47#ZMckuc=6i&>(7xKiV!39cVKje~2>f`s>E%c?&2Z_SGWoWBgF_KAb z8MiRsstWY-m-j%4fD7CwgKk3QugLGrPcQy&X#88{UoG$3TWcWgzUS=c?SCHV`>(V7 zU$pN%vEQ4_8f+Rf5^Y|y5jB{4%1Ao_ikPL)xJ!{X@C zs3}$h`>bR0wxuBUms?{XFQ18ZX5u^SJ$jT_>Qv53Z+l_Hxukq;77gyr3B)GD@Qt6Z9Ep$fN`BcC1{{U_mR{sD*+Zz$`0yH{TQZvk# zKOQm+xd9cLOCgvKzJGwj2LReM+6@r_v_{q|8Tv=t3$t3>(KY4u`U`AH73%~*d z=ns;vej&8MH5})F1EKC94Ww)W82ekam7SBedv^u_Ss>ar((TGM=CEW|OqiK}W4ZmR zdedmrXtNk2Qv!U}DV$MlN4}%oAeM~ewU*q27S&Asv)h?edk)B>5RR*~ZS>9~#aRQy z%D9!a3ZZbevIxGN%L`jH*juh>1C#2rHR`wq*Qn5ZL<)|WCM+k_K_6~*)MaEHxv&Rx zWpcYth9{z`(W_&n$RHsK6(O04;;fn}(`avnlR5w)p#K0153O2}6H=q38<)woq>^p9O11$@ZCVKns%7e8Ix+!Y?+^nJ%2d6Mw%mk9Ot1)@$=HLm zA#*$?U7AR7E;&TpA3c!1)3T3_wymg>6(9beqb|4Hi)p>Zq+0eS!UQPB(YA>TK8HkEen`jugGLn<5zK=YgBB4;eG>i^ zqFW+C>!YawrNK5ZBn|;wm@1Z*R3w=dB2VVc8{QPs==5<%q-pdJ#~z?akWMr}eyE4N zN96X6jA{lYq|lBcxXJ5*GGhDI$d;U_X%JC<$`!*9|)iMebXH_k0t|4 zr2ge2WfW?CX}OJ*#sDQUwI(oXiL=)$w9ZkM0n+5^NC(YkGSnf)AL0C@+)o8m#|%nT z2q1-hLXi)~U*%}S{76+8BLJBzNKAr=ID$GC)2A+xF1VNkM%_9twBGE*0v!Slr$*@l zceHG#XO2ETHAXIJ)8SQi0-NG00;?`z*sZKVizTrH^lR8aEy_r_(l5#07YeTp8G&;P zp{K;*U}hRO4f?5H;r-G^&i5Lqz@Lz?pcOKZf$#R}iQHqX!cr zC~-s~0Q1yX0|2?LCT>fhX#(XdRqvSAIphNN0O^R#a@e2o=(%sq-fH}@i^`rc+rJ;T z&kT28jCCFD+ZqkKYwcarZq{k{Z65QtX*CU_^6u$A*{{%OJ5N_5YbJ|%*y9t8V?**Q z&ZTybn95Ev3{#srU+ zK;T)_G9cp+yb#ydh+G58iUJS@rLK7_K_oF?b7CCPZXJO(=YmC^ihQ8^^+jYcW(`4# zIV`Fb2*KDWV-O|igkwxGKG|PH)aq^SQwoq9D8SeXe|qCdL=F##jGLXRuAYz`wCNwPp zsQ_$PIAVEVp{yQyBuL)>06(sZU_yj)41};Csl1AWT){wGkGHzw>cKQh8v{P=q!k)c zv1ehxuWMyc7#;>iV=Uv*Lu9sU_~@wK+Wl{7gyBM}5EK&1*<`H7#w~eS;HWAIIUWU* z$pGNnU?LW#Qq0szOdHrc0Bo(2Noyfg%9|_6XBDBuI`+ISJ?sP$Mr=C=glDs|3UOzIso+bkP78 z5x|+}ruR}PELhtzA|QT4Gf@IUR0;v`6_BDV2K%_F9uvG=8w+Z5;muDjYS0zTonhHvQ4VeQ5Z&m<00brl!qR1eKG05EdbsHqA!BZCg=qjbMRtv(e z5*BiPi2=aMt#}kVd*N!r1@*M;^VlO-GAMK`OBS$JsDP`=jFj<+vh*Z53p6?_Va4sY z5$e81Kd#4>WAZ=czi4<;ObF*t_+_;YAe4giL>n?s&k#$sT{3(<&kXM1hqyGB?VE}(DA*-plHn}G!O9x1^2S~p~avFenQY~B<66L>Q*xz-X4}1)T#y` zx5Pq-WN(nDl!F^06NpweKqDc~UD`{C1N?Os{HIkM=RnHBMuh4&jH7kyFZ6Z%3GpB2 zKjdGKwl6#H8?3%P@W)|x?|aMREswc1y{*3aOLgv@_jTByi&egCx~&&;==&eC{{Yft z)c05Xt*+5-+TG)F*>T2d@ctSj(rMvnzZZTaCmBUvpWjM<0x0E>{V8^ z%{6LayOG_~bg}Mq)Q~ctmyD-~sfnRRg-WyosNyjdD^d(KK*Q9fOi-rhhYEf7dzsFO z4QUO6WP11gTtB8S^!V^M;g5ZJzsCMJ?eE8rC-z3;*_sa>?j4)F_Y4|eBlibzcUIA| zpB-=gnYwR!{ja=rox`+hH%&p`qTA1P_PknocVVm>everkpFa`WbumsI`!H=Ho4|G# zv#=Npt`})6?8d0}($7g(c`e~(qSv;2CcRiaG*IoW_NncIEsqVu`!%1%@HVm5aXE9{s0asF|B zGIvjbyFx08ZPxyH_65v22=6AL+KZHBCJ8dGJ&z zyi~1Tqg?kr#8atJf}J`|FxD}SAQv4;xswaqiR}jA%{n-Gb;}DGo}(~zsy+2w*?iPv z99d1I<%t5)RKJOx)%|5Z3On1wF#b?>FP?mt_~qno`t9Ez_ukFr9`Nn2$WG(&%w6HU zZMznaz4ZP=?T+{IFOWMHU5{|xbee{by?4p{eZB3l&7oNIy7}PLkEGgI3hsRxRanZI z3#nxeXqL8e5crukw67cM;uzlf%yZf<_PM!VmSyfB2?c^z)MU1dU~CAF<&PEtgT{rx zqPc+76+lsHIj$?Ol)a)z(m3nCqN3F5^!g1Rt8mqc2A@Zxn^USV!up8!{}jf=+=^atAxjy;p*t)Yrw|)ob#L$Q_ZS{6X9NiQ9jQ zIu9FcTh^y+?H?=XJOkg|`{cd*Rjt+UKlp*8+;{HL@&=b??Tv`+yGGU7o0jFI+gEgb z#(l>{s+}~(D~G3td+NIrP(0bR=}VtZn29ev*dfkw(8+)-mGO0HP-8GO&wAipQn_nG zq@N2IU*cc@O|>M-;*Sz|Kl8&?w|ON;Ev_p z`*&c~2-{mHb7;0G``5IzxkSV!;|}|v+TlXB(dqyq=mYTkV-70d@l>qyO|GcN0W$gy z&eA;Le#79-(|>1tMcA0;R5U;Nx)k2|Ei~z3zp+%GCcLl9JGQ$Qe(!(BKQQ?pXnkI! zemrV?OS$*6#{`o;hqJuf-CCZ+?akj(izJ^GmrLLO0HD}44>B0z)N5i4La{w<-Gzhg zUxTrggP7cBWLKpvAZNr;#h0A4?JhL3l6V(i?JmjwyyE^C_{ZUIhA|zW<`0UyKC5uf zAiAY2T`J7Un6wfp*ALW>?d2{c1++W~CbmA+PVt0EE}yr1m$kGT#f1ov@4BsCnN~-a zo0m-v;VLFKAdW>9l^^9;?!k3l#m3_p*TxSJ+7CGiV?}n8M7V+AE-iuNztX*#{YJ*( zej~tkRzDdvF?d?onsm#W(BXv29Z`%rfLzdEZ*}!k{{Roqk=wKU_1+#OlT@Q^?*7u< zc5sXq6>ZCC*G=5LyR4O+mM@g)^u58OR2CJ!#jq!j^y3SI+NBf)jzVb0 zRI4K-iWlUuO(blX(TomRij#k5`!h%&L6C2?hT3eu=6}~u_KGqJ!~+*qEx;_UK%%Zg zQC9g8iU`OdNc-chBIb|Eop3cv7F3kuK&u{Hx=A>uuGv6HDEjV?(I!{YPr<+kUfbkGgw9NOpxa840PpsG?@^@NgLZW zDfq)Z0-?x4DNihgTMP{YeD&mWppE&lv}@+OtvTjzDeqo3+BWUGvb=xf4=4FMzas8! zhsGVh+8vp=_YZGH-dlHUZX3qixOr2%186%(#odAWy(XFsZ+7?I{h``*x~5ILM=qms z)j_9{5+4lB-IuhU@WxgF{ziW^Z~>LJh5?=CSl2Wb3GXUN{ItLZ=aT?#SIb9pe?~v+ zIppr=)Az@g{N3ZPA$cENyUD+9-a+1fF8tY}eYLv+F7$@MsOA^B#w_ypUEXqz#bR7qCaoq2@KbXd*2beF zTmTzeRq9{#yzW2h4dWja-{e!x@ z{{XamXSKUlSo~9`(QEWuX4JZV`QJOEaNj$M4cWIHo;Z7SZHcsLb&aajLo8_v{#W9v z0}b7@X{? zMMJbS0xrMOjO|=kYT)TqH4C!3okATh1PC%t-B$JQ&lq_l%sNiU+Pq!k?(_0Lb?v*R z@v^qT**gZixp$Y*?pi0;C&RbxT76EwMh&oPIf^q8)2xD2_`yAYeg6Q`KWRRPYkX{ZhJ2Iv2VLZ zx@{isvv1oD=LVB_*tfl_UbAWSdp_r;i*?#H2_nTBVn<)@kQn9%<_;u?zQaQ!P*?oG zeJ2f{sMfErQ?(+s|K;rLxI!B)G|OJ7@<`Q4MM|d4>#=$k9g8#}Fb`r8+62R7gH$ zl%Q=GK?}2Ir&W*>*FZrBVGwxo@>yVbE*2yFLDQv=36A13S*3LXLd`J}uoUAxOtO3? z*;SbmW>~2JE2_*Muqowqf_XYz{*bxu*#lcRh%q`20=;d!S8?|z{{ZVO{fd10uA>j!rMV`4X4-c0(81+$b4$d74G|N!^X8eb_6+2y$w(*%$|MNz#^>WGsUyU# z9Bh6W8;HWNNf%o$034lutf7LV~%w+illq3vDJ%1(suHnP`3k!*DGf~ugQw-ObE)At!uBP__JlE^~ z5-x9Q!zvboNzaKR#K?0%>Q^6j2Yc_EZ+xmnxoQ%%DIBUvARm(jag(b^%*e>3DKASz z-JkP!#2tZv#rAbmUk=kOC9uYVNW8!rkiV+o`*R&ayGXB42RH_TY(!jLeH#8C_jadW ztl0*lOxAd()BH|z4;0#2QxHgS9JjLVKX3TQF z-Y*qX5lN15v%oPVg5YH8vrp;~;2$sftFydu-d-i~pK^I4{{RR3Z^*l^lA`S>_T7Hz z+Z~gu9kVKL=V6m^gSdNxPp8-IGc39e(AxF8+z~U#VEsDC-G8qC0Q9Sgbu3557&?t2 zjY=JlTod_4N>yvpB6%%z`Y+{Q8vy6vfN>7bRJEa`oTN0of-D*>uPegDnRQ}0W0fU> zR1-$=GCr8V;Y3XmmN2w(7C)zTv~f%nF}}aqS79(SNVMsFy;t+$1nOniy2yKkh!G;wB;Q%tWU?AwZfrec^in3JK@}rXJWi|y zE2clfvpN(i55@`1$wiCTHXBlAK|49RtAaipNPV1#-WqANv#lVwnx-9O7>h zTC83?DIuytJ&1fySq&gT02|(9&Vh5N*B=v2>_G+%?WYB9FA8k?*5kkT#4YjY2gY#EeJRT+SC z=)@KS<0VhoVPy6E-w{HSsm505JUKxUbvIwT!@0r^XAK}sK=R}-rGLUb-&Oj4+SE&` z6XB}SP7@`~zB!eVt|lQt_}Hr};1JdI*9S(E3tS*&dq|CKeK=gP&w0!q;^IMIbBuxr z);EQ|f2ntcJhkS3$IXksd~4Zy{`A;90lW84l6<+S+qXT24a2p3f2{3Y#di+l8&2oA z=r>*e07ar3KCfB0X*+jEtKA^mp_XA2DjWT;V%8NZRUyDQfH?6N62CEtYg%7T(n)B` z0G$jA?7nmh2a$1_GGsBcG+5D)C?S$XR*qF=tX(4_&E!cJ`Ve<@<3VBRPN|5AJe2f)}iWxEjO<2T^v-z$EScvJTMb(d}@Z9Z)5CQ3V zgyup`E(}Rn&Ms61ETL=`kq@`6doDbEbJo}ia1njU*a38?`^Se_I+AySeG-8jtYICb zkT8VEr{z>?RWVHLN&*akSZx0Q+Q4zuA;iBdW}93PK(X{(Uy<)@Gsm-t7n2YQuLfL0 zDIuHW#y4M$%SMWZqoxi*;;J&CA;?)EbZZ{a9OJ3I^)ni97GF7B*WTg9giWVu(Mqt& zBL(#Ol~|dh4zWmMBEt|L2Z#%eP#0jh@HzYL+D4{RbCi(VPhD3TrX83N;sGPX0R)=@ z2C#}PJd)4SwL$Nc_mC#WSp*X+CldVVzXY+ zP0$-6@&PxCxSa}#G&<7YjW()P0V(E&Lxy7uU#lwYZIG+jve=M1!E>DA=ST)E4zbrw z%DLN4p~_lBfs`ADfh3-Zn?pt67f_-t0(-aSiArs*m)Vuv+w5v5J8pFik```59RwLUD3PRa6M3@*LRY zXjN^pxxhxo2be33649B{4wEA{JB~n9j~1^u)8Lq|xeNMs3{X=Rc-FHggbIC_5}~QN z>TvZO*$g(2HMu*kj(c8RIYAAQa}7X)@>GXUt1QaeZBb%WE-^`ifq?q>hA1jBrO8}u zfqhTIyfhHU7&_!K517?tRR*2h$P;owJi)%LP>6Mfs|m=YauHqJHYkBcY^7utp%LkT zkd`;cSTx?@cDN8t@{^^PQ&xsnjYC0+A}_7?162!ZOf?%yRgsv=ttbpotZfjHW+bWg zyJB+vilxEplj#;4f(ZbCK@-K6Va{`3O~WOm@-#Yql#yvX)a8_pjW5fPRTLeW zjl6VAjNDiamsH3N2E$T0=KWS`whniAn_)9yd(SGhcL3KP$V01C)s8@xpuh*Wc4ftK zzmSBZe4d5Om^+I^LE8Rm8jWfy^^&XpWpKdx$pz9h5bUS?efYpfB9X#@~q4VPF)1`-d+F{X^ zv!Q#)Yb2WhN!4}1;cJ{g@0#O4lJ{k^yS4)7+mZ#Bo}bmXwR?BLzn-6;{wVBD)717a zV|I6$H2sa)-KDDCH?87LueKA%UO(P+TA254;@vl$^IN9w1GxVH%(_`M`;@YNk69c^ zj7k-MPuZBqGYNWx=Ai2#_)W!&@a6}wX9?f7~MQ0 zkg4?2DwV}ZWhltRp|a{5oyETnu5@bAFM91>2CgvrxX>n=R zOl{`9y!>|YuY7g~;;(~zwcIf6+J4UbklwuIy7ouXEK$CC)I>!oVcSTx7AOtZK76Q7eMb+va_dUtE? zQ4ZMJJCnF}o!kCbZ4Sjg(YR<%*)RH>@^48LURGloO9c->_w1PG&-{MUavuj#W@;pg0hjk#A3Qdxr z05S*y<|&kr8}9fvLyJfe79^Wq0`wEzwb40@5HDvs#G7ort?{PMuGMWmJlb}xCgr=w z+1@qWJMX&A)wb(*7<+3=+`Zo(jrZ;MQKHk$rrGv&)$99zXgj{-BG9(utJ6Z$2_`_^ ziVSn^2rqNpm9s7(f?PvI^0ZxHHy#ceDMakwLU7{HpYS} zB<)W(cZT2dex$P|+ugmP+8h3!A*C-MDBF&Mb1g7K31Cop>$n8bch9H$w z?5o0JK?D1IRUS=fU<1Tm0NC5Fp(}yPS_sS^nsSXK83IP*l`y^o6M&TqV^pp325kO3 znL{+7DK?4)a6aS{I^IYUOhJX(nRpCv7L&;E>R@}6;&8x_Oi2p4S2#$eB9XpQs^pYt z(E6@KeH&rVOs@dQ5Mxb*+s}pQHR+bPWtSKN_niPU@<5Xop^L~sM+++fA`&qVfgzaX zApz8@yAM_hz;(8_yYUbVMCRK160qw1#S#RNNzBHAKrX$bO%*FJ7Qm2Rji8J;VsNPt z0mxg)g3_rWK_K+ZUhvy@WXaaTZXoC-dD#Ws;BHv}fd=-NzLHQ&E(HkZ7UsYP`lPk4AOQ`~*v;VimDT2%1b^ZjONf4VL_j~LiWw#{2tt~PY!KfN z6he?$L*hsb6AQCtN7yC@7R&7<*Z@f&YGZ}teR4_6<_Rs+TR?~!gY{8>Kshc<8Lno_HT0teP4!m1Q*ng5IAc1U5WPN)Q z-l4*{lPqx|Sx~Vnc$H?bc>ZGzBIL=m8^((+Wk)|V>Kjf&A_GaYOl-7&mOL$_^7nZ5 zS9ogs`@cIca_pTR$)wS*Ys(yvn6^!OPZ85aCh4SI1lsuIk58)-X>}TXY=xWRY`Xs2 z@aOdh;C{{ionyWb?caiN9i`i1z9O$>_WlDOLki&RML|)_?J5=Nzwr#G8C#Y-HeZ{q z*nO<;i13}OhwazlyEU|fG2M|@3~N)Y`eG?R4Oz7sC}*GUW^1M`3wUapGbFOLXNL7O&ENgz)nMfwMZx}&nZm$vzU zfK1v5(so!UlYCYAspK=hcQ=SU9kcg8W9^gm1T9Sn$aKio$I~UmaP{!jibwz4~uu=^tB}Y0MOaeo1W1{+aUeCl< zr2J2F1M_!*?Q34$@{n#u{Z|@(8u=&4``?>9pX0wScCPi=`~KtO4dcDEIz2>CX!gOa z?7eo^r;ILxO{vuBHtGKWPpX?wr_>{(Yhjh5b$&X-aWv?^3d$5}JHD?t) zRSt@Mju+H!o6LR71iMzIZNp96S|X9f1Pzf^kOSsx@s#m^IkQEikl+T5yGV0?FmUDy z`aoc6;BFn6*)p}l97qu6xvu=LXPLE%w+%!9e#k+Ra^P<=7`^JKC4B82Fy7=`QY^t;T$jCbM;wWM90$EGBaULwD zTIm`F$jjulg~Z};#5`4bbvQJh*JXPPelNoN1MAf zUQXWpiQoOhy7z~B_ivH48=O7D{oUN%%fD;&`_}8b%e!fG(>~|9>n7GaAdMVGNj%?# zABL??q0ipXbpT6?o!ypqZETgB_WatJS8*$T^tDma*XO9xe{+Ejmq8 zENWqplA($Con1ptsOQ}(c!>P1r=opAr2njZ)D9V7R z;}wyRjI8o%lha?VwX7DxzuSJmN?P6zLy!_D*+>E%}f&zSs03fTV=l#UW4GR=_G&;MD zwCbUCu0+WPf;qOu84Z8A-aL*+>=Hu6><%Easj4e%AAm*kN!r#n)9D*1){SOuC!z92 zQ5{JtWcnCjIeT?~+A_(NOCMSeMUn;el}@4olLQfXlc!WDSfD9)BLaPbWLG1ISlj4k z$%!;u*d8yU)JZaQ`bg`_nH7mwjxePFRZ>V%kSJN4s#D;>nL%qm&+*Y%9{!%88N)SK zY6?kWLX#jZLnBP2hG`C5kSy_bN@^lwQEo>bO5d*6CXHE?D<}W~S%o-+q4i(~X&WP% z_T!#QBtRxaPJ~2WVl`O6?&d-YY0|j}Wnd7pn92kO)BtEB5YEeIk~%74KocWaoi`Gy zv|ZBj>S9TujOoEcKB7bM;T%!4v%Rw@xWOMFaqOi1S6O)sW1L-Pwaz5k039`3r8OSb zfpzbVj6e@nO`vaT=f*SE8&8h9o-^PSB#oqOh}<5kU#$e2?a);}Fl*2u&7 zR<=e`%0svg{{Y@&H)B3n||GjyBEwABh(fs>64Kj zK|WifjzCp=4!O2F$C)$0n2isbu6}lgxBFmR5?To@8K8Bt%llutd&97|{iD15cix@j z=d^C{?YoAZS53QZX|DY)>8144B+;A? zU}G~IQS233SoXE#2er-)EO;NCjvx{Zj0-FmKAW2Sf~~*}bUP_&kl?}y1-$I9zDn}f zm;BAT?VInLe6{5-G48t}Ya{LLf0TTU-aYo+uNLB(Soaaz8b0LSHysabF6S1TNZXqB z{)0@rkc}FDl11p+0fQ^egPi8x8!mw7HKNVT00uRM>8VxqDdlUx%azY=RyD38@{^VZ zVLpot`JA`X*aoLC0{pKgDd5lrt}G$+-qwp3 zxW95V09|(Oi*?cN8fSR*1=)bqPVzFG-aqZfsMKm|VDBPHj-PT2%`BA^z$0H=-cRRl zSkMb**I~3TZ8}YT7MDGwL35y5{vcXL%hxaHwJ+rk-}xWr4(I%4{Aui8IBQqM8cxCP zFClqr&zqNlJYC^Izi)5dn@*p2eTT%}XYYRT+4~HujTOtI+9n z(aqPN8pj^bs@K$Q7FDR%GP8r6=hdLX1v+eOXUX0NI$%Tzk{3F81~!AAPOW0rycW^! zn%Yz7=sC*NXD{|&0Nyq+yuJG=kGx>w^yZV5BL~1*O$ld*{?`^AV z{5k%p-;tkm*!EaEe^;c~HcrcjZ_*eh)af-7 z>ON%(eV2#9Qf(q@xEHQ2sck{l4}dlk+>WKO%RI z{{Zs5UF*N=yRXPzH1Us?{A=be*6p6_?#)CyR>QpZ?0#R+_olCJ-JsLxCe~>-%}jz9 z=TYpfiebaGw1ZhqjHDVHoYMiWdq{WuZe(5CtWu=r)2-f@ygAisIp(9P7BZonu5*CS z3yf_5*jaD=kNWw36n88VPonYH<<5!Y)HE867Wd)~&e(SpKNgmKHlgoj`(zf@rObs7m0QF+<)yA51NfC5Reb7n@n*sRg1MyUSXYHkBZc!NmTi5e`|WB#i< zC*+2{ZxntNel&So%pQH!w!^+{owMeB{{Y9n3h@@*+52~QcFvQ%yT8Bup|p25l>3Xf z_DnyxsWk;SIaDc8#OR`_GJgspcJ%bJ+g?BQ|}TvvvX9S{~J(UD}%6 zF1Kye$D@mS*KcRx?NhoGu+*E})9!;9>aC(_vZ1Kv)20PBIQL=BHi=xA%Fo1NA6()p zRT3P^mHWz!{4jH?XYUx_?l1xiOlb=w@#p+P-;2AKW%hq@cW>i&<+pEZcYep%`?7d; z{?YKp<=VThgK*Q$2CrY(`~KzT?%&tfvoar z!wzAT_@ofwrKeDIE6w=26iZ*;xr91t{{U{GB(%VS&}4&S8Wr@@Xzvlu{;^AmMxca+NSL%Ki!N4F<1c+_#ONP2`UOZnLjz z_djH7cNjO`(bsO;eaa-%?XzgLQ+;27@bobKrHSkw)W_GsQhh8-1F)^9RAOsWqf-Y~ zjbl(t>0&Uot5F4n7P;ZuFY7-Mv;P2&yDQ=D+xTj|5Bj%ZVzB46TUw1;82a6pi^S2z z)fj5nYOH=8v|maZ91C6~5JZ*0z6jd(p4IG6%s(7%8fDb$wF$IqJ5O`ev4HKHmyP@H zY2P#&)RkFbFTZw9<=h$_Oiq3|;Uke%*X6rWjO>gT#@`LGf}?9=gD~aI%~LJ|7vJHY z!>DyiZX(k%zr5o+L$xs<8GlCpF>Bp~z~O7uq1)`v_RwYzw!0z1D>=jlww58Z$tEC5 z_1F41?!E}~-{eP_{1M##PSCyZ-=~_5H=>O<#(1U5(>T<<)rmZrCvauNI{h3867_zRSF?@X(fOBcVHu+%BI-0@__Nz)MgI5$qh6J8<*4?>HZ%z^*h=!-xIIP zbd6>Wl_%!Dr}BUEL-51M-NoHrVEjk^o4+WX_ZcL+9v*gH>jZyN6T?G=Y>*K72WZaSSWUpl=SRIzl~UaM+U zZD0E|^A;M7X)Oe~vr*Jwx*z~V%Jee3%{q_4(ar?|*Vn52tqpsF99vC|J=PU6z|>P^3T-9B%} zuG;daW>2K-@xAFZ`pxS}v~J@~q3wBR+a;Uf)ERmP;qdhTJr|vOgRpnahkVla9^c&? zFLmruOD^G{*Cv6q8eMMRsr^~$MVZ6R9Hq^01%#HhptL$myhM>BK$V|Dh@|SSsZF(~ zy8)uBoZws>2^n&el~$QIH02UkwWrN5Of zK(Yn(u}2j9cXY$H{^O(OS-Q*WVVctZ^08r=zg%l*c%xYabnh;eOaWfWRqf?$v?2q{AsLZKgn z!`H=CZ9>+XqMbS|sSPX+q6?i|-oRLxki6#YkLYdX&GWODwYx9+s&2i>`4_kDdYXJNHM>kQsHkzd90zy}TFs=38E@o65hPpN$>_-J^5bUEA8; zc-Xs=c)v%ii1wDv_`~13X6l1WsfukZ!8M)3uqLh-A0*OG8D&;WKAzLUvl)WKVJZ^V z)uKSCAeO_!bF>>5H)YSUdtVjVU8#iaOgU?@I6O@X><`VA<+U@pt{{SGxHN(nj=z}y z0E`{M_(%C`~l{ zMo0HeoXzqQF9CnOf2BVk{5jgRFeewV$2KA!cx4p+(3dr%rqT2KmYBdu~!%;4r ze5fM!IkNrr{&lPUKlr=i9^H<~_mT&b;XjAPe&6`durSW2N~2kZ!}gXR9ojWXVS5`#1A}wwJk-z_0B%>)&-6>$JO}yD zu=anS_8t4mz9aJQ4B?%v4poW1e1PLt?1N&9QLdk1{n zW7GEZv1*<-nhjL?==Iq}{;mF;e@ia=Op_=2NNe$?$8JL@)vCG}mHP-`4v z^l-X1!#CzD{#E|~>O1$Q8{>7$#wJEk4$ zwD;cV+XOm&(@U{zn}29_myIUfHdtVW5B1rn*TSEu*0x{PFnEf9)TIQ5Rsw7xwOZPQ zlfUMb{974Drd%~pTGqac+~*xnbx_l5a`gbo=)CjY_bIzxKIZNX8Po2Xp2_Y0{O+x_ zw;d$&=rx+&)$Kj|U$*L}(NCv{>)?IkZqd6sK)TIJ1O--5I{NhsTGHVeAQ%xAazi7L_eU` z`3Gvz#U78hc5dr^r)b-to@1xm^#1_zziI2W;a628u?5xcd#2;8W!1=ZZqgsyBiCMv zSzDVZ5D5Sof#o_%!~4dOP6>IraU}0~J1vBa<(V*TLz&|mXd_HyG9f`M0#*^t1nCrv zRb7A7G-lCqf%)x9m0V3qbZFBqt5xEgDYou=+;X+8ALLwgLUMxYtqp4h&Vt{UTU@TC z{7wF?T7ScxgMaKE&+UDuy>(N0Rxd2+H-+*B``aJs9o?eY`(w7WQp>Y!doJao?ky&t zXxX*9WSR|Tsx7sbaMrs<(gkk6S^ogSKN8ZUSl-GQqS8y-PZ3G)YaY-X&hBn!RpEOm z)~lPp3?nOYh5`W&E(TtFBoi{Z2Vw86m%T>ox^4TX>b2{*YNg%d)-JP8s7-$FBkMIX z%Py?RG>ty8R}<=fLo}~xIhHHG%;K<^ycQy@99|x-7ZNV&HP~A5n8+Ych&y9-^lQ?0 zg3SQQVPR{501a~V3nGSh3h;<=j-d()85NaKu9_eU)>0`A8b-uP`?R=&*Nyp%5IkQ! z_dORToZ{(IfGL!9SWE(fRS?pE7pi?(f*%7VuYN?EB`~ zsgp^)_`i4jf`2dSo4GqPTPCMnpgrfI*?SkZH~p`6+_txiZdd&p#U_tYsYyN;ZD4Ty zr-Q42$5YRT#ITnOW@DP*>NOj~*lrin?EF=HJ!ax46HV-V+F{v91+D_+t`Z@9+j%QV z+CCBdmGYm3x4$cPp5woGlgYi?*qZ&*dyYQBJ;|W$?bYGf`_pRK_nl6wPaeLz3?f6iYJ{4?8FF{AM=@>HIx>H3wpvSX@{G#SF!dY(WGC z{T`2LVXD2I^=fqM01ZlSaATPA(C8BqFS7N2@&5qxSMjgKQEmF32%Th#+|-{{UrwO@F7Io$wcDR-;Ozv3;+J?%Ue9qdmjw zhUOITjdNOm4B3EPbE#jGlNt8NgD% z@dp8YZDm%|Nf;%OnL$X(xMnEqQI&EIfPz$%RAS1f(yyOz1T-~`lhO^x8?3gV4h?0R zBuNGVCrhhysjEL2jM0pU%f3wbj30$79E6r|8F>omTdG}@K>)aG8lT!0$aAVP-W@gY z-*TzhvN?jeBNDWdG?p6zg&DF00L()cM0rMtTAL`!p>k5h$PKn*gGh6{GaPvv{a0!QuVzQLDKTOJ1kW85_a&fN zK#@tvsR~v{WF?-*_X7+FSj{^drL)$lkk@S+h?$+19L$a_ruZ>Bos~jrbyT6sEcyFw<`5wAr&TFL3y%MzmL^%Fdk zl8YKc8_gt=IVMQeV~N7PMZ%wd*R1o%&mI=}f4uO3b{{X`I zAB=x1{{R{P069D3yu5MS8`jC*-c`|lIc{2=&q|t|Z*X|2d`+OLxySe*+wmSpKo9>gcH*WjUPrS+8zAN0GJ>$mR)2i-{ z-`nQU>$eThvNt_~ebRkKi%mcJ&(5Vm;Qn71*|>mRTMt7$C%RbH#%4>PHNfsVFVa!Q z(xiKu&S&is2bKeo)SxMn91M5zQO+hr5}=farssFou>0leVMA-cTX#z?SCrx_q=tw zF6PnfdR=dCX*;`V>>2cJql0dqCF~y~Z4q~tgH^WyCvi)x)5s-?6l3}h&Z62ac*~Zv zYdV!e*AmwToXmAT7~tkj={jjPy^ps$qj8J18W)%{{++vWO(vaUibwd`249ey z>-1Ed{H}BdWpQqzVkbAM`4yTQR5+M0E=O258hWh7m3~!MdLfqb7G?hF3K;t+A z>|K?(_Xm)*9najm*6-a=_9tlWz2CiQf75sF-qURxT)Y1LxTe>j5KX8N#Gy<|O7;2f z(7QXvSGBDl*9loO6va3^1k7;_=8>IChU(9>U%GB)=j$4Chge~YCEHB-1Qrg-QaB> zdyUuqS8h!{wb%VCX^Hh4j-yR!B#fMO>ci8iMZ&SfRwOVm<}G$;5KFR%muqFs?PW(X z?WXoQgt)q!hz>h2FrO1f?luc#cILZ4{{WAllU>6nZ1&Ul2WDyi035WNcJC&|p3)>B8eJ*Uy>_JldVFQ>g6i2EREHSm&E#+x3wl zG3rQt3lBp1MJR|ugrNs7Yd^B3+3aBfwKF}3#KTZnWspcFbh^)RMCEyFfPCf3!a;Wu zH1k%deA~3hvKjYo*UmRA&mQTrt9)RilLt?xz;X z4_?p0Q+skYl>iz64(|b$=nl6QT-}3fMa@p_$0&Dn^Wp+>o|jR-m$pm_uH)O!5ml1` z+&V?YmYK?;qQ!^=2B!H{dC0M&#Np_$OX=a8F0;eICB$6jo%LNAgkuN+m8LTiD7ntd zp|C+GmbRINoyTA?y0XSsxFTVQmMDV-S;G(+qX3x7rG@?NU3O*}u5J6E)`KHB1`V{G zlkkkH;94uZ>M~RD4S>?~DvEC;ZBnzscU_PG{KNjEr3|CwWtcI{HTy95s=-ny-SyDn zu+63*QgL+VIqnDiW_4TcA5G2gDb;Hl=79d`7M(y~kpD#u+5A@&%8F32M>fa^5v(P9}}7gE%WNI>PDp&_f#Aj z-~l0y<_m43iWv7@9;{0in_Z-p)PsW09OaB^&m35{4I@VskB(O=D^Q?F;>;ctfP0|f zH*syC1K|Mfe?=U!u^%xeT&6C!`uhC^t$Hp-*D+Am$W;- zcSRNxeK@NTFJGw|9dnTb~4;CoXsacg@o{c<9$#4|QSZafm7}I66{D=KE zybIWSpO1Ep`^la{*?TK>@t*tT&Bt}`UpGHvL8boymo(cZ;ktIVhq*h0xi;?K+IzEg z8=N{Fw@JQhH4miLPp2Y1S$0mmU8mVU3E?|09gU;#y2PZ__e-w{+nH-{FC4OXQ|e1{&U_uv8K}YzRy2=0fdrJ;kfy7p6 zd2<`ymX{o{Ny4EZab^3g2_qEF@#XoMQkGaB{aQwwZa0%<_4oe(6({ug?~llR%d!6e zCx00{Rl0Zgkvt#c?dxXzsMv}4ovF7e}?(^a?b-YM?%-KG5${!QMy1-9Ps+qFHR z+YoM@)wXuF<@$+6pHB=?%lZz=#ynDH6o)y@ZAUet4M)?c&_i2!aG+XCX^l(VMeKei zHH=|xN1AMFj0X@vWk@Z1-sXdqwF88>z!^uU=XE^GshUTH%&MW?ibhO`>b5k}iATyO zR~a#sWE2IiM_yWx>W_4crP4JKCUTLeBXGJkj%i~Zqgn;v$cPRkYL7--VigOt`0|FkXWe_=eGcQf?fWlpcE4zL`)Txg-tF$~?^`@WZ`m}vrs<&2>9l%LF8#l2 z=S?=>q|{0q9Gc8)i(X~U@Kc)!B4m;NFczCl%%$E{Iccy5Jb>pq9CE;GK_rrN152-= zFZhSN8L9rApMk&8Q^voKJ=s5Uc2|pg8}fU!JBP?Ror`(c^?pI`pCtbP;D4CAv%NJN z2IIQw_YT$`K<~XLko&qm)z|JCjYn;!t@I{YhMyyhEhp9N`qi_zia5qK`L0`25l*#c zv91x}r`;A@X$z(xu;SpgjV_|rjF1D{hs#ehg~4@9;lzV-O5(kxn{?XyZ+Fr`JhE^7 zx7xenBp{a~eC_SGbfN>MY|?9+l2kNcuoT$!>!VPbOmTu80%r0oO7XdYh2Un9QSBx~ z33gZx6AGv)#j$xok1SPVMgdkuK*W56;-1W*DTn^i*H|Mg83bQ=I^U^X+Q1lE=Kx^D z87GM&oi37=Ty99rxjtoBDYpt_V{Leq5t52YB!b!V)+#$FkO4oYm*~8-nC4V1E+h~g z2IAKdJyh{KJY-V>>J&RRMU=U3?tcu5&d7`zvjF!3Cs!2YiYpLEj7;$hCq@@ zCUWVwQi-RLRS(E;uT?HV=PPmvE&xztL3UK$EW-NiJVG64ykAp$a93xxoK3@=ZUL}6 z$02jSMk`YwT=Koog`l-1Ei;JBLtp9n-UG^a&H_ z*HyD`gI%|_jkN17oT33EMilk>%vgA-lPS!~bm>GvZ*;*=FQj~zz@>_&%3!(Sfvzy) z;?JGs;l;x8Zz?~+&cp8i0Lc$5cE^JJAJ`r5-~LVReFt}L`$ueTIvos~j_IcCKGokl z+kTHt92(a7r;lRT_X7kU7s;&Fd~n0^Y9@^vz{-v9DAIgWb!X&bp5`&6!7-ii7z9Zs zBUSW6JI2@e;{{V+C^7GFfo!T38 zKajp({5Jf6?|&zEpw_nix$Zm1h z-JQR-cLv|`NdcJ={{Tz6Mr4eWBxclvB(eI~dWO9g)gi4f4h{gw1(MeT)uclCOm#pW z#*z&;zMnT^i)J?#LE-IONgtfH1(!~r4(sAR@6$&5cb0jH{{WnOJ8^9+s{@#lA+Ouy z)wGj@l+uLa&nzuJ{(6`E4GO@MHhW&zHp1C;mAcs-PMcgo$maqLjJ=aT`2!1TKm#-) zHOnUv$MUkMd050_jubRmvIIx!(lTVkaeaMPp6upv1+sUD&|blD$#(ssb^9^TaVHoIw)ebM&Rd*;d7%iliRFo-;VKG&p8_T!7v5U0X%&cYjT;c1UZS;y?{125HiI>Z=-77^^m5 zfKE#qeX6k{G-j3aWCX{MEk_~=v+OlqOfW&c-E$g&Jgq*Mm}w1l`bpO0*g@aqqHvFG zN}(=7rJh4>>6I!m1JGD%TO?5HRI&#&6EzR!B-(Va+$daF*Jc+m2Nt}1)J4kzS&J}Z z$WTJDjh813rje!%=n|8H33ckZ#8h}|vkiwWPiBa*$pc8>lX5)aa5J0leGDN0Fkwj5L8%V!9{{Yrhwi$gMA>_5raDV}U);Q%y zFoG($nIH_VB6CE3S=WWm9qsuc*nOKm`yQ`f+j`TnYBwDVL#6J$KkGGGy#}T9#yvKQ zJqrh#W2G>^)qLAiBmPWv`ew)C+}mmBUGp%7M(BZAxWG zQA<(8pK0FFSaHa+^aBG(VRmN`1nfNcA$Qn?g#*jDDVm(%kF_omb&MgK3yaILuebO!fS_as&D}qBZ zec;Vu0|hMNHsEs1Ks`nQnp)wZk$924)Tbckfb7h$GZPUvxFe!Y9S9Vvs?n7hMirz4 zWX#H^ATCB}7un-r5Pv-xS5}tE24|T%bd{$*q_oo$m;6PK4cB2Q-zH_#vjRmDaz$de zMr2eU9EmcZXJ)bz158Ud1RD2LFl3N&fuINW3Ol@y$|<-BE&}3g06T-SzHHse-2J^2 zuy*%%cRz2zt}1s3b}r@Lc5NoT?l@9iev@m~>7ms#qQjx0*z9=SR78&$7Lk;Y6k3hThMAAY9AV@_K?X^h5XIeyX-5Ec*{vW4 zi!|SBoxImV>cfXJWW0eOwBF-iKSfxwGnbY!rzL0ld0CB!-PPH#TLG3y+baY_oSW-4 z2_WYnMutf@;3ExZGCVn&OhaIaHqvBtI8EI%^*udsi^?c>c4g!_lSJ9o(`-~F%n z$K)>e@y7SQ_NR6DqsE<&-JQX^!LN_Hc6s)l-(`OB?7rLa_hHR0%eqCm4YRo2;&c&7 zkI3xWcve^K_E*Yk;c%6!;ORRoz4+WsFzThX4~dki)TjfScDbOASJUm2S>v$l)0%W~ zUx)ld+UGO_+1O`Lbt39;d&&ZZ z!*!On!^?$=n7Zv_ODeg;HnIbR%oSRE`{z>;c|7^&IKhd3zbBh~ma+VDK4|hyA9o1W zHVy(gko<}5h&&!&hQqj#+|vM)1+>8~1E|}g<}vt(5*=C40fGd}fSn2${PX8&KTh%a z^Uks)%EASc&E8a#u7|VBDesW%svf;WqNCt%GKP*ix6o;s1;wne-fS_vDOopjffQIQ?0TOtAvu*)aL*M()v3l@ZnHTQi# zL;#%JACU&Yh~w&<)*Rr4Lq?_eR|ocs6bnluF#*m$hAta0=SwD8E9otwe zTw2i3L_pN-Fc-}(CCzh*{Kfgi#f-@t0<`v>zCVs4Ow5t0M9#!1j0|Hgqmru{{A}il zQcvGoXmA(U>#WH7g^bjk_Yy8h5o?e&^D4P#B_c-*$jq`~nW)$T#1;kE{=&q7Db7OJ z(aE#rkX%Le+R@Z`txH=4@pns1-eM*{b#v3qu&9yM!!jl{bjE^!2xkbW5d(5#{wc4d zg6X}4->KYmP}L+jGFtFRCc(fHw10`}s@32bmYG;6V9H5^mIjprD`J4zT#9;&vJdX) z33&qg6EFykK4n%k7R#ZhaW{0E&m^PymOPqAq{%=&%mVsRP?Wqg1yx}{SqJ$V1Onp{ z4UL7rh251~Ob{RfGL3;dNIR=0_qj!=(EgM-SXNatVnKwgKnBeuP=D#QGkl*SKQur$ z9PaI=1T=zu%HdNhspWZ}5V)`$UvgJD>-~GYBdou1g7`_y_)`n?L1X% zE*}aRH6MndRrFtp?`OgtQj^=1iH6MGepMYKr` zfCNOrBynxR{T>>xhsNn_M26_$u^R>S&HXq0G5uF{ABBEo-#-ewfAL3X@vr44bZ?q1 z7m<6<$=*oq56L~B{zV(FiaWY)$^wbQe<>3bJy(fI!WK`i?xYVFz|AIrAuwwNK4b<%4lG8gmIeheBl zDb=f%lSnLe8ez3=NiUHvCT+kA#@aa7*R5Koek8P0q%k=t(}o6!r%a5}L2=C_lC*F9 zKps{8qJ4qc{{V*{i+|J>55X@d_IGt^wf+0xy+4BWerlV#H%~2iM?={?hPvO#t;@)> zY(2fd?OW77PI*3F&h4GQYTnG7(#xdM!KaS=cz)u)Y1OSw&+nA7c9&&rUM21gf8}d=cTuB`Zy{@6y7VpM z*nDrL)`i`+&-p_^tlyitAd^e1)6b!eVQ}&~`a4C<9iG~COW8{iSmo}T(@<2yFiHO9 zfF10K1QIT|VJXlU*HouXwQFJNhY<4SF|_e6AU0WZnA3v0_{}^tXR4R+n) znDywphO&JgoqF?P-Afl*gS*PWlSY`NY0zr}u=MlNeMbOX*0Z}Glz}lTwh+FHaW7>G zEo)hbtmcQ*E@;J6?y9z%ba5uBH20m&wrR zJ0oiCjgMmT{>$4QGVFg4c*|MZVqWUs`yWfW_XOSh+%oUY2H&CXY~#_qp29D=fu~)V zwm!XLC{m}D_j`-ad7agq3=Q{3vXB@|c z^tb;26c^!dkbLp@W8u#s_}rsepp?}dpA$3?a6eJh@0ST zCW~v_ww-VOmsz6Jt4Abq>CyW5U)(tQc!M=XcT}SGHcPYAaC=@km>~KuzRK^x_GTiL z3`?+eXbe4SIJVR@jWa>6!;H^qkX$N9kt_3}+&pjR$-B-z$JThq&u6%|SmV$`*}9(| zc~*V*d^1K9N{g^Q$@;z3wGlEVYoL-nOh<-fYwPu|?0i_QPMGX`b8$7=3tD?K8Q)hK zXFFPH%}WhL*?bIN#9gU~?0ns|@l9{~eheCg_`cc$14;9hx$4xbk&P2<#Bjdq{{W*0 z^mvzN?{CH*>O0@Pr{15A`%cy4UeC~X*M>Xue}}odlgVF^-Jz!MKFQSi(@D1M(a#Ty zyl1-YyQYIn+TJ(rEz?omJ7;q&`i*9vM({-@tL0UA+2DUi;>s$bG|n(P_0ita=?bw?o?g3+TX-yNualnR z?f&7=>G!=WX%6JtR@d##rqS+NM>^TGa=wwF(M+1RNq<))Uk;jhBqCuVN`-@tzhgv- zrL1FbH;wPSY`-B=v09_dP5Hmw(Q&lc9w9cyX7^>B$J=|>ZS zb1E^FYgPsWolsJE1=9A;PIYYXxe67U=AP-G56WL!wNJ`mo)yz#NOVQk&$9y}=8jWrwhWEw9zOHzZZZupirA>b6`i;uen8!rq;7CaSUhk-7-JksEolD$!%J$t^Zb4M4*spbl;6{%usk#3zb}3+ zc3^~v-AGf=+z4x8pb?yHEGH;!!_}ApUR_oZ?_jM-cx=Gtx z7kNdX?vBvZN3?IT?i*vikbL}MpzKfo05BZ)v$`x{Eflj46*oY;oYQa}U_c;B_Tg$Y zQFx@NS>Ren0+~o+$Enfp?D5 z?p=rSC$T%f@*}r=^}F|{WyPy~o4&V>{M7h6xb|3gpZSJeySl_%KV@jNaPOKuJ0eA= z4FTnzohpy48ByWQ4K&{IkU)&g0&)|%5i4$XW(Ec|q&joJ&U{l6+ZOqS=705v?yt_t z{{X0G<1c`JKKsMLo>T9S6n;7PXP5kS-98ard_BFhc9)v_uXpV&;%?)PPQmef&EC4L z_r`l(o_#m`vHq4eFVas566)q&xZv_Wt|F@ggXN5KNv7tsHNERt-s}&{-a(t}t~9;W zF!Y^GjHF!p&2xLu;#@@{;%X8cCYS;&yIcAM_N1NH{ZPNx3YUHU9vKUJ6Wy zurQJX?2gsdci&`r3$*rqHva&*;}jac+SP6U z0PDJ$HV>0msfHci4KBIl-6D@r%`VFZx;SEGX@Vb@Mw2KClJOo&PUx0s&zmPhw$=?ch2W$Q^$>p5}!{vU) z-1k1p?=63Cc28h;=9fj>yL@tXUh~|&$GT{Ak?Fgn&;E+?=#qVONjWh@&UxcgwmUx$ zUY!Tx=^RC83KVFxKCMSot>J94kR&p0Nq{$Bdk^rR#2CyKe$c1cn7VzPho<`YjC0t` zJ{h#Af@&7ku39QThPFxAFVipjV*db4?$7?48yA~4W8At9;__daJC+Xl-86d^n^_-a z_}{R%{^Rc5e`WY%vNgNhlXnks_V0{-9q(<^cSh}^(Q5mvRV16N`VGE)#kA4=99ANk z!_c5x6{+TRO0#;!!~qN+k*ott+{*YynSEDQWcOsbt#0Ef1jyuq1n#~g{{Z4R*gKoc z{{Yp8yLYW7l5KZs?Vf1yM}{`d=2-RcZJLcn)8pS4X!re(Z`QVwJ-=P4?af}!ScXz|OvD|`E}fv)vW69o10yhn=JO`GH2{&M z%C_sYdv^P_?>lDu{-)b6bL?BL#l1(gHkJ+Dc75I_UBgkJo@pf0Ppgkij|7owO3w^4 zG`O$;H{C4FPh#Rp)c9iYeiz6j<)xGc5b4s!E%I8ITeo>XO+1n9bNI(qr(vc#ch_h; z*H1enkm<&rDHBP!>NM$4D2556)c%)SBA|(4KAZ})kpsTt(#27S?AE`a?{7A zO+2#B`*c7@tC3ZU6GRN6K$9l(ekV{7(Dw%ua3*;G@5oU1F5ufAYj@vrWAUeK_}|H0 z!57B_lF1y~ACLQka?luIftFNt)9xhLX>(lD zmd*|r1*YKaxYedAQ-?T^>Xe%Rz#!EU3~CiO^zQzF9hv#t`0d`_a@BrX>wHnUc-ze$ zG4T&|c3z{z`xlWn9dw>b{{X|y4$0g*ewSzRE|*)N*?Wt+Jb*htY2G(f{@&%aZn}qx zSaj^8gR0QOxvzhFR;;z}bym@-P2MS}A>qX5n37~J`D+}`0k8whK<@#DiIdJyCL-%N z@;CI`(tk})E9!iCxB0dYIOsf^vhH2!x9-ERcTXN`HXT2YJj><(010ch$#$tX{^pBu zhjZ=^8}EAkmwel`YYy?Vq;o6_8B*qADb{UT%%)f$QO*p8fY!P)wT*A(V@8XhrBJqB zTGG;5d{QJd9Mcw(V2zcY9C$``7ZL(MiK6(6e1*OeTTD`S12--DO-$n1zG6pOX`AMc zSUr5A-E%W8gktAVFf+lh3J zg?ccq2Ae=}BPnn^=Bnw}h+jH?@dbZOe(LZC<^KSBZ=I#w-KX9Cz2s;i@7~qgH|_Un z+q?e&Mc5nE{{W-gBh~3O8u_Qx_WuBEZ`*eF*!v!{UT<*HXhgBe5Dlh>^R%nc!s1zl zs@lzKnjc1>VeV=T*h>i^$rY!c*kq)e-ij_$tmO>&+~tbJA<{n;PdVtDjm1p-XiYp7W>>?!7py;H_cA-^Gr{?%nIZwLPW1ZhNnH_wR7SqtkDl z``vo~0D<=o>fH1YYxfy;>2+|)x9MQfPp+Bt8a+IEXyubn1ZS@}a|J>q2bzvAxVUeG zc|Kaf53qTD@q2z9%s zfA@xlc=azUL!^g9y8Rz>&8ySL56dUVh+`pk>(PeqKMz8qTO@!S*6Pt96~h*3{wl2k z;L^&C0%XZ-n|XZ~YHAS5S|Fv8Ln5ci@d(HLJe2%SaE@slMkH_jEQ~#sr26|TC5_BT zB*cr&_45nH@XXGp;u`2Bu^>8Rw&zJyZ4pORDnN;*uvXf_s69Lxg!rmab5U6H$NbCI;}kMroZ!pyAmj-jiGHun@9Nn0N@A&+E0*w>Jn40 zF=s|1QHS3L;=V>9z0Gr4OF^+9yGaYlifOHg!$_-~HqK+324-m5n}F>^>lRp7 z^djGpJk8r}_;=#Th2_^aa|!GFh&#r$gV zM7yr%+g?1>Z{Ody;w6UELkUsg5wZjsF09i%Slpa1j8JKdOMd4K#{! z0WNW>=hQk$m;yEc2n)ke&UqP#8CcN9%z)G402dh=-F{!6hI%dNZGL>-H_bM;ZPj;2 z+D+^KW2}G)g(YL=74RfG1M;} zA{uj$4cs8bfw&@9UhC&E#_gH~B;d>xr8~qycEy+}!y`$Nkxc~v-=vb}$pb8HBJ%{> zLb;z4K$vLKHwJI}tvTXNJbOoQ`A=98w%u28_x}03>laf5(2tfj(QMIfkR5tP%$uIq zvuL*%Cbo%m?g#`~J{pFY4(}h`f`2oJ7HEvpe3zN7X~-$GlF#w9#GenR3%9#xTcy_Q z+g!R`WID)L5vSGZrPIoidUZE+8;ifZ+A#5Y~d%2ey1J1RD_} zEZY0HuI{Sha+bNJ%^~eF2A6Zmf?LB!s_K5viC^&>^HNwUL8sDwJ?qj93{pOdICMT& zkm~i>hka(LM6yE;yL{CJ(`t1G;e_8EdiyA~{j-2w^Y$2BtZsXNTj}*lW##{|R zTw-Lhz=8Q=fui-p`e6S6QI8XTA%9CPlYQ^68To^~AIIOCzFz!v?gjC--Qzj;9rwIE zowoM}<^KR}cP@ked-8W-Xk_f|hsB;j?Vla%wR?v0JCS?8Z+Nu(e49{@P(M*$u=_{0 zyJr)E!1r|@gux706{?CrVPA=8%EvgI#jmaeTXP6&;qdHbPappPHCQm^VR!eLM7KdO z(#lgOb?7&Je^@@u@t=tNA?Duv{51UA?SCD4_fB^o8E?9${4>{Tx4oUVU8lOcdvn~j zov-r?blf(rCwum`=PvuP#jVjty2H0=wIg2++o||tlf{GhbF{Jbv2<|Fz|^UQs_Hnl zn%M>xtxV0NGYHS0Ba1@|vgIN1qJ-0BN(?nIS&Jr^FL@P1505xIw=kU1G9yK?e1-j2 zd@19f#UBKIU~V2A{Da=RAMy{rb>2Mfp3B&F?+TwI_TK5W?fy;N=hyd+n|t$q$Jr3= z0zVjU(8n)qcjoK3H2R$n{+J`q(PE#&eWzO=i0rywhJGgoSn93sveSyxd))1)@B`W) zG{wmxBuQPK>U8RY@aDd?0VX0DNakxv7Y_dAm9usJsarn5_^Y%2V((vuADTOFgty(- zw{-el&sD7aIsX8dq3zD`-}D`!*`50P41bt1YUb@8>+XHqVcK?6pn3b2Mc3)~3AWgF zvnHuCL$NWKuF+>@(S8BlqH9*8_)uOUv?#w7QoE}LcRkitogJHKURsT1CjS6&*x^XF zlf`3*5uUT#PMs?|ybm%q%Y9{HTVM5~@D}a((cPbvaCjr~elFGQ-^gtT<6h_4I*qfy z3*;I5!*cPLZ+TV@zSz{Yf(EMr5_c6KWc(@n+CIo;eftqw5fQ*~)@<`{3X z%R6KGpzQta_^sT(nZ3LCf%%=Q@TY6;z2OF`Xm$SphF|OYzTfeubMAea= zSqE$OhjVu4bnScOd#1V$>XkO#UaLX3YBW!$nqDmIY+vJRc1azWJ4%&D(l~0BDz)_@ zm*O8$n27EgDKba}?Q@9A0Wc4qsAD^~zOFsAYIkfE1yC5r)Tr7t+UA4a6IH|sf&|GS zVqP`=vz`y~$BsPN2%FU?H#4(Mc;KsSK8B@f{&4SFCvd@YPuM+il@~=a0Oj zxoSKqX_P=EzL>5$cC1%f;{bY{Hx;! zG*rov+3A+I@{($YxZECFy34;ZwvNEjcE@GNovSZ*_LF$`eA>H@VBB{-PjxQisnY1S z{{Vt*uSMQxS+{DZmszYDnLA}QkJ}%u)5WGq9z2kGF>J*r7x0x$8m=@ABVW9II!_fq?_L3%tQXfs$=}pd$6iSDhO5ur zujQ?RKEUn`f8-9!-dlE$Rj2U=mvoD^A8vzj?5%eF+uj7-H_sRCyT0Suo0i7ftq*VS zT8(nEe46=NSkm?Uo-4oL(EL%MQiCygb41g2dWM}B76DYa%!ddQe6cI~6DXQL61TZO z->F8sYk=3XmwH+=nk{yXcDA&x68viXc-uS$U(qYFUA|x`uSvec4f_ zhM>n`nNjX=ej<<|$HWKxZ>a_s- z4{T|5rUcvjg*Cc)cAZ2my2JX|^%^&WQyoaMpMUttAVg0^Ge&OH_(d=(E>2!;-cdvE$&tYwwZSrIrZk`Pu zi@LYH2W_(HcP``HVbVvc)^74asFa$=Qt;y#`@{@{RcmV04e(SAm%f{{4siU%x(U-| z^4Z~gdy1~7M3^*7hFWe0NT$>IT1?0bH~x#C(u?rx@*~L_?&$p9*6a6A8|k*)ZjWp6 z^Z7Y^dD?ot&sVoesa?;!d(XA|r?z{~ZIfw-O27A4(uUvNK*zAF4*@YJi?--TWi@yCPwA139t z_FrmlK0fTtKFZ!l-1LxX;@0<9cJI@)eb?k2Mv6THh0Ql>#Aj*DO<~k zd{YE80tuJ^c#VgUSYu1x=Dp>>%bGJ;gG&KslhJvN{{R&C<4nFm{0;m~*tVV29Y>9S zCS=v(#3DY<|ETI!H?6Ht*JQnEpD?}WukaUwu7 za{%hI_tGeky`uz689Ks@UT{%eK zT2GM~*?R?kGFc^(JPO<5c|y{{X1mq(iE>q0B0h2Va!IlTQ`et%+?cT{jX0S=efJ zZ0iud?moQ+VQ?6luWdSRz&-UUJb>D5rHHBv-tX~j4OhtL^?~tEUf%T=(dI;wr2;NO%?_{guu;K-Xdh3SK$60?Mw&6_>A3^iNWK0 zGM+0LOB0Hsa|%@`k=-?pVah{;q+SSJ@&5o0=k%xBd&BZU{Qm&if0O=B?ENo?`#-z( zZv2nO{kacs_de?fls3I@YH52dAUijLy+8JWmV$$n% z3%ck&bE>-;TAM1;bt6EGLtfWO4-GWKWC52raReXCBroV}XZk&3hIPG)otff($nFmb_aBP8c|Iob zuW0!jW9}_3!`oZ_&8iaW0_ygCUge~lU#iY6<8spLgSpg0G;8bZylx)_+VtB>pzr%X z6@~2z)S&l`ZA$(7D$B?BMOQGxfjlpRiN#UvN;vvdF%)qX=`yAR653U17f{3uFbtzs zn?L-W!H#JSAXwRccODqj&i??8{{WAAon&(fM}<6lwQAE;6{U}H?VT(3M!pHp#%5VG zy3W^aJkXUAtns>&V3Y5{(|r+AokHf+r-;Ndr8gMJMM6tR^;~M!6!A}MGMvn&_dzB@ zs5YdYGfK!jUo6^RD)-ja3D!8@ygS@lhL1vvAZ<@+_jhP_8cV79Lf(=cx-G^@9@=Qt zSRg7I_UAs1GYIyXVW{BncNJ+lv14n&Rqiz?KA@yCW~SjHU}nnao{(W;zmfiDkHI?@ z#pEsHviCmy?5H^YE^{{AnjfZ#A!?>=tJwB`B8ZF4^HFGSyY9an56fX)RwlOEe<4E<+2RBNzxad--r5-#7&FO zebwil*8G#+e;qX4k+5!k`P&_Vx@b2I%URvKcF?*_$GE%)v1s%im*1Pmb?!b!m_E(h z&!}w{)v;~oQ8uGr^Q3Cu7@R#?^ob9kd&vQSyis#OCBg)j@HWwXT0*NZ_=~oo3=C^r z<`-6`=Kui}BgDf5k$Xz@`?I@)SKYm@vUeuyw+)Y7+?#Hjf0t>dW3;~PgIyNb427M} z+Z2()j?16Mpq2#l_Nmo*V_gzlNdOB(*dKRaHS8jwZ}`*G#d1cjIeAz7*;qzNW(uJ` zLM(zvLcn`q6V$dKvNI3|U6|7Ml3M}SBo47?(1n+^&uPj=SBC;O7TJVcl^A9b#)l^| zIcDdCAOq}e%OF%{B&fyCKr}NEyCmOB4uNrSZC8f9#i7;@xyUzm zQTej)wC9$;;rrdYkFxhqGyB=|i$bGqe|RPNo-+o{rdMq!|N zw+EfJm>*_}NVL=^iE|hHX1h|G}V9wGv5Wie|9<2%; z?K-sF%%Rjv8Bk`XS~8ah5?JDO7g)F9hL3X4{weLfqq%GK`P78sn(1s@$hV5ho-jZ*>Iqe2XCxt`EkZn8DQZ&E zvC26Ofn@Y2GqX1GZK)(}JOzN}kSe@oGZ{^fgh?j$1L}+Wl9VzmV8*cpj3Y)wO76j3 z3W1$Vm}hU1li9z3dY4mZAdn7H1ab_><#P~T<4M3=I^;+r&q+?o#lbE_YfQr=kP(Q= z$o~Lxzo8{cpg65vA31_r8zi0#>8;^)sKN;i%Ib$e3^vC$Stm{ucI-zb%A8mZO0p0_ ztYMfL7umi)kc<>FAFjGEv}SN3K>(8`bbtxcKC8;=?rR{px<%{=GJH4KHB1A)wFe0t zg=;U7ONLHlRdV6&N|@1^g#{EZty6mhmjXOiB=0jYHbz!)6BnuZfz2{BvYs*OtCKNR zLmIlqa%Cy@vbEah8OV=>3ogvY`aBsg1c$-dxZ-^mHODp6y0 z02^6CDU$-I>KSBcpXg$yT~Jj8Fy!DoyYmd$WP^JUIarqv_Bn*O8Ky&kfCgh@{$FHc zOn`c=n=la9Ac#$s~G8XaKt;YtO~d!1HYHUJ5c z8lETWszgf@+Kw@^l}H(6L?S6;LGuP|q*?)|)R(siq@KApqn%L5v={=zfMa#s)+D*0 zcnLay1dD@v82TyKnoC)8A2d`0a;k8Z8Gbm~qX?j|4Gx?Vky`*va1~t!L1?)XGpGdc zpnIE9xf&fHgEB_4;&h3hRp_UIJ7-hpuj#4%Mn4}S(Kh9;>^%=`enED|nk`PcEy_K6 zZF>E)cb7$^)9O|YR8Z-A3qs&(G`ak`lFSXQd>W1JekH-fNu}C23`Py)&EH7NV2fsP zs34vpeOmQ~GvVh{b28QJ&eLPE=Fymz2MGsYDLmTOE5P3h?!#Hw`*x9}cK-lI)oOGF z7zj$-&#TdiEx}vUYEm`(XKrgQI^GjAGf^av%C6UNPLOl}?6}q$zNuiKIt9#SM zsQJ#GEj!N}z^=2xvdWD6GQ;x&U{!;5?;ZPK-nSi(Q{7ujNw({CT3Kd~xc4^GEU-%?B^OjNh{+;E zjTXdOf zx~_PBBDMej@l!W$^ckJCDJ8{{UcV`;WQzjf+R${hQo9 z&sgyO<04*dJK%2qUdTQey=1`}Ire0{XBP#fd`?o#S8BOjd#obIan}GvB z7u^@geOL;U?MZL$ds%C0RU<5;cH-8ul;UanjfNz`X1Fv7A)1$*WXl8xg5Mqn~UIt()u4FowaeS8r7ZM8p0C5-V zfz(&SCgOc3i%OA8{EpTeB4|A#NaUrcQgFy2C`%H+@<|JgaYNS-M|b9q4!-x4zW8(H`pI8R9cAvgpTGzLk42n`;}}A#mtS&+l7Jd(-6c1iL%*S9LXV7*s)?TIV%gb;iypR0!Y59!1jLJ zEKusBgs}=Twd9f)B>;*9!~#;_ypX)*!RuVd9^qi#1i=K!8v*tTi}jxwW_BXSs2_Zg zwj3yQYhtn4EfF=(JxS^J{ZtGxZVVm4^`2LYU)JBr18ndYiTp{W)kPks%3fU4?>oMk zq_m+*FiHTu;>fQTQ-d#;0kwP{@jn&AwyvmXp^_b+ zPB%Tq2iJTPHiW!-rItMek-TtDrIH~T1pDgMJ>@2V96@o+dRX7+yicJ|BdR!@pa27A z&T*MN0^?1K^K-|#ydvNGQ@pkt#a>+@+B=I(n3V*6!FLknX-w=O#{rD}b=pVnWNP)N#rh#k3rb|%F@aiqxl_1C^{3S6 zcCFKQ(&{#?cWg_qI?ZO^+@#35ffi1a>$cU82h-~&(#I{@x`KM_{O@B4xFbMhK@x5_ zT`94qroI*vovt7m76J~=Sl0dK^zXj}cx%LacAIn4cE^UdA0SOS&)k}A<89x2_qzL= zU%7WK^`P0K+O&V@5JM)jRktRSQ>@j`G|x1@A_*w}08^#gW~aj)iP?;%+E`A@qllyr zerlTdiq+pzy<*rM*=wBO1elV)Enl%S>^?qreusm(!ZPW4Fvpd7by{)|X`+DDd zp|-CLOSyMGsL8h)38ch0|M{{TVp{+C6x?vnQ3YI{alp~OAKtY~3#paY%e{RNkQemVaDR!;u>81V0vKOehWeekzoZ$4t)rSDBA zm%GPt+}p_=n-;gU_O8N{QQBJ^n)v%?TdCPJ{l41H(cQN=XsJKpV#1Y~J&epk9lr&52m=V>rV*n+xtbD4yDs)`S*QTZfuMzs#l!y_r zUV3%tQ|$NBsZTL;Sxm6impD@;t)^Y6FSCr3BrMPIzxssv3-V|4pYTu5{{WeDc1F4n z#~%0mZ15)S-CKUgvv_l2)^_h`c|JHJ^Iwu*dy>ojg8Q%N=4E@bK3? z*2-D~BSrSdyLkihAHM$pBY!hI8Tkw0Zy%@NHu>UC&pr_H*Kv2hhv)5IB<(%Z*&V$H zdTqPj%?FTlo&Nx-ZR@=^Zu{8v1Af_deID1L+Vpy@vvHICN;!|_8{W~Sh{RT}NK<`c z+%PVr)>Ed>%i^|ozw=4bU@1-AuJ4H5g?$VyZ-=UOT{?}cOYsct3O%4IWW`d%({oKX zVQV$OQ*#X1=4iD18vaFiQ}QFgestb@b^ib*{Eg%e((T^m?p+UR>2^;2?=K;3-I=j! zwYuF@J-gd-cQ1Z<8*$n@b7R|&`c{`kxpxk?aEot*E~iyFCEM;{z9YxuFx04y-t7vl zp-(L~9?`@)l^{epw1IRnuG}^kuNm1rnAg>9d=3EM>eK|`>tQKAi_1=Gavl$O>QiE7 z7p$L)AJw0^{BNl7{{Z55XUW<jzA2 zy8EyApR+zC7?<`|GKM~jarn$ru~=s@)GL?85ZX>{pGyk*PhoRxT_Jh>rrJEe;STc9 z_UDy5Ls{BhQt?Ld+Fi@L_J4oHKDTYwZW~;iCwc6XZn5m!vDNI7lZk$Q7Xwa(V~Waa)i0L!%xmd)WyQ^--Ly0s zQe@1RT1|rbXB}DWWdTW)sfPzRW}NS6j`8l9af<*T3&6Qq--CawFKT`*`9HjT_4v8t zkHFu@4)E_E3?C79ABH?b`2PUqe%kO?lC|4Ea&8^v**)XkzCPG|udr%0eool;Eo1Ck z7jfzP;uO(#*1K@g&bp7($0QxA;T=+rQX$?VUrv)50z4u^U=VMns(vMmc+41blX)PJ z_$Em|ltq9Y775vZ)Zg<<$QuWlzax9ku{7JD{J-r_EO@I^vFzQQ-<_-Ce-FXs{l`_V z@88Hhvu%=2^E(=5Kx-q2F zL8Q}6$rLcfrqabEju0$M6iFHOF#?c}jFz^pOA*)7W5q-Hd`$zx2E(V4`R;B)(p*Re z35J64xQ(T6PsktYmERs}{5aabr@wdpK=^~l9t`pKk2Ibzhh^=~((bLBx_6V>TR-|A zZbjvNVsCrV@)SL}yF|Ui9?!ODcAb}X?g*mRYoOLo3`Kr!Ck;ZiUjC!qQS_?kV;tFK zI*c}OYe$XD+cf3WFRO;cw+}`1DbfvfRz0QQyFN$Bcm>D8*OTIbeKc4Hi2ndG{{R|) z7JIY8K4|JHyMp;{JNuH*G${A8~fin!78#w3@Em+`B7( z{{TnS>Nh^t8huIAYiEaBx9axI-)h_Su;QI368`q1YcbVxuriBjnkT6c%_2>j;qSL8pGJBP6QgT3}I6!@RTJ3n*w zmd`(Bc8$n2r zQSGW^39}na00amDpn5MRGP~=XEhe?CZ8}vc0L;+Xs%sMB=N!bBlhZ}(SM(wL%kdZE zPxTV~gX}LkcUO$ORoNa#{3-06*m9f5Oo3s=N)`fK-3fPbjh z=Xc=_r}8Uo?~U`hy9c`bP5CeQ)8*~j9bay4M^mK5cI0w=A*gw9-!SX;)RJlY&&y>#Hl_4l0%=o+AtmKk3qa3xF7gma@bG1ehaGzNbGQKduLmJdNMqm0nfzpM2~w zY(75H>O6t?$>5&U*Y<|#uxmCB(Cn7oTgRJDr?>lCWA388>8RUUF6!={{@u4tcF){8 zzy6$K+H}$Bqx`36cCI#-Hw<5j?{ZcH3ffd2%5H0`JeFdZJS=NkLj&7)GKH5|4SYE5I(@45N8&Km9QVH$ip4ws0H#1_AOHo)@L#x3 zk^cZNJon}A%1zc!9_-ssbM`lIet35mV{Tp7+ zWRR(i+y!6M>CPd4Q}Sj~q*^BA2X zXUGTC288-62pe0XOAQRM9QxI=ha2;tfja}CRNpZW){7ISgG4*t(WKoxPx&XOl+K!n ze;9nP9?7QLbbqhh^}F`>tL;9`&_}fG=6w^-t&dCHI=xXb>&A>}Vtq`K!wN{lwKq}> z#Fs!0!&PepW|zJg(kDZIMZ}!-XfdRKE7Nf^5tXidTT@}G_v89M{{Trp%iq9n$3Mzn z5c$hfy7*JR{{SMtH~#vK zUB|QPwB6sO)@U~UL3t#DQ2<7h;o{vzRNhf7H@l&vyKV@Lq#{-g~or-1a}|`}m^!=KJ3JW{Ya>KH~2F`Q3cc z<=*MvJBMe`Z2hyf?cLG8Zk|L<&$)K3ueUbsHivoCO%xg(DyqUgcq&e%MCKvo)lOE) z0gMd{48IY&#wg}A*-lz!sj&c5CaIUpKoM&$2K@|Q31yjMnu8M6$H^0~%aA}HA86#7 zva%CX94azChZeQLx|1f|E@y@FgK9RkzTn6W8A*_1{VO)ECrIa5>b@r^RZ(oZI>x3a zW-1m*PAbk60hBKy(Ha!qT-=6p2)8Fg2iRRIIJK_^M4Ov+6pPN-TS+RB2%uh#{m;pT&P~_8(w&ei6OB+dZAw&#F6$b^AjbhQczfS5p{* z%5||Nw9Qy}b68BC3g@rtLHVcPPsslO!QaM?!1I5W_73d)s_?$axjx^!$=p71E4yj? zgI(I^yR@mg_xEE&z4f7kQL^c_?H=j9YGRX7x9RlqID%%CPvE;H&BIfrgv4T>jCK{T zWjs^qR}XthCZ2ay5^6=4li`nwdmpuXGz>q)U76c%!PPiyW;YFvz+xr-Cs1{Bg{bz? z#8zjBv~`OvME;uJoj;Gii~eKq=aPH6UeMlqi^u)v8uqT=+&kX=+}mEyxo?{e?c1%s zZJn{&UA-~x9sH*AsN43YWRq2~?h;3=gZ}_k1Trtw6=;t3qg?=haoK~M8<6Ih0!$V9 zzpw<(a#?h+w*TSFIC(S-5{89Yx z{Dku-kh^2bzm{_MpKy1dgS#VB*&a&J_?x$Oeb0Q^`xmw$eV204_J)JDd`a0|sjJ$z z4G(4P{rNADchR)#HM_3ixc3h2tkzBWCSx%ayGFUFaW5F!n08SnlfxU5Db^&^%oys7 zmozkG4z^fdh3t>&N5UB1)5T$b__wh8Mz?5VY18bE%k2Di3l&zE{{Sc{Qo>Vi4ext} zN7FBR>OpaFzKh6B2jcIO{B7cX;QWN&mt@rTp7-5x_9XEIheO>PGH)J5-gI55zUp+6 zYIi+0@!CDftnoLHdulDuO}jzd+aGjol4*6@Qfa46L;mvzP!_V71-V)zy4=7#ldApg zW{Q=65L(8Xt~EfdrQj;5}_?&Z?i;<;p>j44Ft-i44kAw14;1x}T6nebfG_AI?}LlQ$RGTi1n2 zAZNXS1~0Dh$X5sg#Uyf&B|$6-R01C)qK6j|+Og;3#JyxAXB?d6ad8CPo`X|6EVcQ8 zmYjrKo_b32L%e^dUW>WA^M2p9-!99c?M?H1*Kbnon*P{*$A8f-<*YjGc8V>`Z#sRy zSPZf>T3yFgrw2}@K4@9gmOBd2Ni`e`i8*ota+4-rPQHuNoEG>*xI|3qG`8cS^c%PP zV`}ZqhhgpQrS&be_V&-UY+HBgr<+r&8cm-^r_t!!Q8a~KY0j1y%*@PWl#<|6S%Bmq z27=K6zxaV+@>vWJTwUWcn=$a2GE8kM;&h@m$0*8z%nX!%U+$&kbNAExGdKg|ZWw}j zJ9HB3k~IKaSYKUNAn?cyl24q2xmZt-_f^?@1IYWN#@lM_9`)CiKirs&KW%Pvupxv= zB$lQ!WyP5&H>kd{;ya^xfJm{tTT{Xom*i<8WD-fSld$N$yZi?HhVI|#{{Y&*m|xR3 z%zjGT`!&1E@k_8gk>fuscyq;_$K>fh9RC0#yvNvG?bzMZs^4}#*Mqmbt>nF*M<;K1 z=3TdX?Ohx8#@)H>`mi-ybXw(|e=FLUyfp{YZD!SV9?+#)lifwk4r7}Q4`yQ1c9S_t zaIp>5d~b>VF!*=jd=44E5%#q{#2uki6NbTJ>kLCFzO6b2v+32w(`)HqUK@IDtCTpH z1egnf{{TEcEc_4Uj|+Y<_@D9@xqI7R05l# zoziWRe&f;|ZreX_Y1_GF(Z?Fh!J@O|?2J|m1A_b=YR|69HLEs_Lru}7 zuXO!HdZ{$}wtz|Syoax6<1nqJ>bQ5mB_QhcTxsR-H}huivXTff0_5nwe^a+RKe(-1 z6WUl7;qaJO*2FyGskV+DivWA8R(6!bB1v_I>(qY@{{UFeFn%?D1pZ@p$C7-}zj>4M zPrZDpyLUH@U%ot7-^&cS_b$`2!`%A0yV16O*8c#P_8p6QGxq0)J3De4KEtQm zbi00?box12)8JuyN|g*wE)F)o;_3>lePGi~rL^X=i|#3xfemY00O$Z;gX|CL55fJV z+Z8)M4e^I$cE&HZyF#h#zRc|WWh`Ux^r_)9x`TfWE~AB}DVGCO$>fr}n(yBW>bw~b zjdbI?G+pc3eqQj$k38SmJNBPp)^@h(4#C|I-5sl~*!!Dc)oy*m29LOVZ@c>!x;9_+ zO^dj-{jJ^`L|RSbZPvb@Ua_a``!^PGm~mOn%6}`HtT+=eZ7tqN3;G2{hrXpOpc-U? z(sKha=D`3-f(Zvr3f7vvR3(HCtr?ZUX%ETk>=d*9=@dp))>H>5%@Pj-udLU!w&pT{ zZD(;Dki1VM2E;>5!5~Q6TP-)Vc{9BBy>EGVx3Rl-v9&$rxD96Ox#@g|;x5qh7jO3* z8!S79qer!Gi``6hJ-N1Rx?MJZ4&0zg9MR<}kOyDPekAxu;%|xmBkZcZkKfkAwT{8n zz|ie_{gqXruQi{EqUN>K>eYC(R1hK;?K>y8{vGUY#>O7dp@(gEJH4lg#9)ppi;YO8 zDZJ8iUdn9O!>Z^X19z8w==&yJzs`Nh2I1Zl_fGK!&!*aYe|gY$=F!^?tcq^k?QNS& zq|j^MOS5dxuA52QU7@$?4x4R)Nc7QMD7}8u3)nrQ*%(R~EPWhR8kE@9zMdkxag|ya zAa}T$O#-nx*a_W!O0Q^O`$DP2V2&QH9Je!S(H+=)lOdGqIJt%e%cOxG@4xo)1;qQqt~vJZ&n9R&@q!I zYU|V4^xsRi`#sLhk}4d>Q{f=nKnU0_7>Z!C4(2(6YF7ohzc2RMVXoEWjrm%e!M=C= zU)etyyVvo5@>^y6yj>pU`C+ntQ+A(tekG5_?M~oz`*(o!-VfCFpLXegA-7m|?KXhv zTUWe|UvF(1jmvWD@v&8i3y5qcmGJmF*e*Q4{OYtgC7k^N$+w3m@ zZ+o9`_BVKTk6?dK?T^Zu?endx%W?T&E$RWwC2`%7r6VUckcfHAy3;qgSAiH zUD~nhwJ(-o{P;X)#F$)8D-%Nr*p01=eL9$zn)vVTRi@W8RdoLq9WJ{${q1TP zinVCGQ^VI`EDvK|DmtHc6y8oy(M*j_mR64!{&VWP&%vF!_!s#r<+SlP;kJSqH(h6t zJbU16f0X>}`rgj+2Aj&>H}U?vSD@~#&uxRUG~MPQn@zlI9w63tPM1NpXg1wmqxAai zUcNr{`>I`}-qyj(#4FHkmaD?jfzI-R6)<8ZSL+?Ot4F=2#;3D_eGF^#k+oXMQGc{{V$s9^u(qFA8@_?*Xk%S7rXY z$r~QkHD&u zXAaaos=-!{CG3BE(GLan=sOQl&+$fMP3~lnNDeW0j_<32uIfGWp60OAsoi&jxO=G8 zZF+Be9NfXwoW{5YxCs{qOyQn8^G}a^fAPcflf)h2+l{~Pf06ocz}WjYWZipfLET-2 zz3D$2zau;2%RWrme3_-y?mB3s?Y-}`JDLr;J)=>lmOkV8HCjmwS%Q2Ws9lcjtOhN# z+WajF4xw6|Mu$4HDm=N=%MGeicsX3xKq5l*)~|-CPY&WkorT0zuEsMk68tfs-0}V` z%zTV4*B{o~^8Wz-VD9en+Pfq1A7Sqf`cBGz>+b&B{D1Ea2XuD{@${OB`#(v%Z}NHP zU$}4kcEp;UcAIV6yNYdAk86upsv0!XH118M*jRH*497C9c42V%oINUad*^{i6H)bF zOte;tH>l$@@{=r4$STT(CrDkhjH3AjgM&7ZvDl*NdoTu z(cF99qglRpM!Q`4?R?QkEIJsVfD&t`%J4ncWJ- z7vX3Jwu{|R2$xlR9a33Mw4=Zp239aM00hLFl2%Q%?Qm~@j~$7qD{^Q&q2zt0c~I$? zwx4$GA0BJq3Gyt8OmeQVh*AM3H59|I=pO^Ro+I(Jm;st}U6^y3;F%knO8!srt|DvD ztis^X=QYOU$a&aaS892(KP7GbkNC~y&eH7;!+qtvP29UC*Q)OX?f(EQ=(I3*2Z;8e zs_*?rX6{>f+It^M+WSu1yYE|et9RAv<=FR#q@PjpM&dKpo)ZaBcD5TEim5`CEJt|C zwAolqW>zMP3tE4@F0mRrLJIk{%^Iwt=dtFUT1+ovOgYra2B2%02@WzKfg@IsZoK33 z9+R{C>q*{zM)B8p?BDo(-~G|qvTM81`!8A9zCP@3@09juWcSp%UAJ)WZu{43yIZt1 z5HEFV=GS+W+TCu)Kk5|eqMUX7fw(b+_)E8ms`}WR4RHF@T=u&=DOSrutt_Ac-+?<^ zujxXtuklx71~a*%ilyDtszdV@)?s^_P`orX^oh!CXkFj=@49#|@N3RJ&-fMM55S)X zYg5JE3i02Wb-$9olU_U0`CrW+l=Alu{jqI*$GLc~zV*H5*;95-+u2*@?Wz9&Ses%^ z*Gsl{o|9Fl+j~=F+IIacv;P1s#J3w#l`~4UH!`zMVobEdkASpD$nW^;5N7N50P`Mbnh-lKf(k2}AQ`zK$g zfv1B{v1t$M_dQY3d>VZ;8f`A?rH}O!&1}+YG_&d-TZnK}eSJCUH(MD5Ls)2+# zuddUWmpRRQd^Q;aZ*MX@)~HqS7P6aO{J>=mxL}>HB$$zFFIoQpD7&9x@@Hp$4Sq0w zQ~oS$f0h{| z4&2#0vs1Y2ozJ7}4c~CqF0Hp6I_R}59xAl}+LSBMsP@#QMyp*>qr7XL1EGU9V$tIx zOGj1huZ3ktRDDWyu=H}&G+f|hJ0Yn~k$KCTIc{FM#>?WzyF5Xp{Cn<>{qQc+yX$xT zm%~0;^RI~ZozrnTXWlitUyS_oGbi%`qz-6#t2@& zMNzcF-e{Kw)FPl^Ig2~yin$B7%a{pY39qYBftLlJm|Ow~*lc(U8cj7f&%?;a3Z){_PShRGUvdaXaOcQ@pRf%oVi z#QSHD{N>`b-zM&ThsIu1*6v$g`Qtw1)W~&BxcKM1bn_9lZPDws6KeF@JxO?W){&#r zqN9P;yKW3^+8{G?S>}#cYYZo8^xy zYz?z_r-{5-;BBvR?x*g~`EJGEw|?^PzbEby%LI^UyPJC4BHOlYlVp=u8|ydecI~@W zzjs_|1XIrrmM2*-DZTYG)XE@bfh10nNx7e*?&`EnAVW)RNsD<8jK)^ zHk02;tP=W;V9Z+v$Kx_J|@`^Rk1&9wH%kcVzZtJ}0)?bw;?F)EHW6OR0>(z}=*R8z+_g!}^QyuW9@>@YAVb{uS+yj9HAYQiWd0 z><3{FY~e5`27BJo!CHYo&{PgaC7WLkqcM(XUw}shfU)6Hm=s(ys4$^e#P26 zYM=7&khC4~zilho@yobq_nzV2m$&1RZP&WBoyEFMs*_WuNZts9VhHrHmshlK{j2cb#2?ef)qN~=AO0xp z+!w>NJ4DqVhpf)bqu&;btmh+X&i^Zx)5w{rdn_%Bo8?%wJN;=SinuGU8u;>HbgYrb6)$s9CbAxOS ztEPVy{{TMxVb~qF`CH=e2F8*)9rf)gnM(b_I>{VN8H*U6nPWRz97)|PTwo)G#$&K z>@P8Q9-nFMEiSOlsT!Rg^Pt_6anmwR(te&~aLtgv+2PvO;&JS2-1avXV7w4ZO)vq1 zP0UWEe{FllB9<1r=$ch3;IQ>wOo84t#ih9%AQ0+cL6Ne9MXi%+^CymH(H%TZy>45# zXX=czED#+(b9UbAw*+SaPi=#tlMFvWk;#3EBHn$l7M!%imdK5~k%uQcC~WMOat;kliikRFEAmv~)B zQ*}J8G7E%h01zX8vLtlHl}1@2fL&GNaKK^1GpvDt2*VX=OA>3Y4i|B2i@3gqXVw&^ z_AqxXCBVzO!Xw4MAD2Z;vL+}P42)>%#7B-%h8CdW7(@vH)}m5E*RA!YIk4ys&6WVa z=GRrjyLqZyzlGN z;E)5d@vWl!DB3M>mpq3MTcw4qq)9*R2gVdAWkwWNBE`b|xYU0eugK^KCOD~qQVWs^ zvmDtZn-l(85-uVN!|BlgOxSKL?S=mT07Xy>&}EIQ0$Tnu0~Y`hBBhn)NRFl=WdsnI zeUph9fF3BYCt2yVsLDQWcNJxoi3Bn^4wE`fh#+I5g;uDZ9lgQ0@ zk#J}&GD#X(2F{>zR;< zv7)IY%582}T+5AyvN>G?+TiN1X^0@Tpi5(cxj#ivs)HdIT6Zx~w#7(OAeBS8`3os9 z#HR=pugF}QIi}eIG=dyjV^Bv^sQIg_XOgWp}M)Rl0C-@oIi((YU32a%u zPFV;i7}S!s6&vD$Kipl-96GK_fZW`RYAi>|c3^`1l3LP8bA$mlIbdn`U32(v`9I>n z#Gd2xk9&Fce(#6E-Rb!8-#$O@eOF|5&f(r0zJpV{ZW{#q9_1%$?e7lhy6v&PmvYd{ zHkAISO8U>0gnDBngW~qK8xvlx2NQ>8YM3lY#1^!G_frfd!k%Iz<_#yHkt^zUb|VhV zCurd@4h$IDRK+K`gtfSebqiQ(7D;FSWlW+l%Nyc;eNU4I+_dJ2=D#v98MEO-9+S zn6!(Wh(lbAReK3Et-vUK%ApV z8v{BnbW0d2mei*9Il#yU+gx<$iN7d3KM%l*-JQiVN{S{~HaHherxCakPzF6?%c_tB zNSSepJ0y?+=xS5Q2o)|woVJ0-n%HeHTtTHE7r-tzB4CaLs)zij@T8G^dVSNrMzPya znipNGYF!Rs5dqYRqWK_|We)H0>oZ+8Ay)~gWOwVZ=L1e`yX#bzilbK?;AI3Y+c2;!>~)M)298a+q-LDsoL~A zhPy|%nWckCHtK^>Dv)0jWGgf=&Sf*+G-hjEY{Y-akYFx!>9_F=530t~bhYlL9Z}7l zCP>WL)pGvtAA$P-oR{prWWb4y(%oFSTIy; zK&S!C*FGh{P2+-8Bf}l_s|A{E@^xYYg^OLNM2TobqzI%y!9|l}HeN{UvzYS9brKHN zBoh-L@_1Qf=giV(E(8q<_3Q9s`VoFq{$uzzS?2AF%$_aqzin!}+kNe>*V%l%tMYEu z+#TVi*mPT3>pRCm4#nB~#-B^t(r)_AUdOcRR#{(Ps?lnu!Z^f5{0zk5#agVWE3x#8 zL2D@tt|hWgXOW;gO7BvQdTpTQx{KRYk9o~hhtmQ18rW-0lM{Hc3-ne}grRi=g~+NZ zz9ZBwPEBN}$yq2LMz5~|*qs3abky240O*)TB(@90fk{OG??4d0G|}RSq#VFv8#?w| zKUYK^udlz+QX&qZYDp(k7V=JUR#s-9KwuQGY*|#UPDVqVOTPp#rT)1 zrn;aF%xUkTT5+EU0L;&ypGETd{a<{Fz2*6BwDvZeQqQ+|W5r#)u{=--KegSSM%GK+ zyUYSrKchN^?dI(SlS!+Qe^{gA_B0P{1v!2uyhtx?7P{7LCd;I4;&EN^4sAR>8isHl zbJufVU%WXQGaVo{-fP3Z%1;&Uo?P(;^V{9Ow&*ubS@~_L@Q%?za)4;w!?$0Ytub zrcKlPl1U%O@)A1wosrocsoR)}m|o4ooI~i)b$X=YFt~bj={BQj7u3XJ>Qko4dxJnO zmlFX)T7@y5qsCV{BgAe5fWQQh0Z?RMdzGNVT{4XT9^^yOqsl0Z)!cVqUh4xwdwA+80%-QFt)Tv)?_IC_r) z<5{}&(#uvH))K-&X>(jJ7jVu7Z%r1c*LFXD>DDbw-MOp~%9*1!uW6lv8I~|5hCRzs zs1hkhQxl+=U6ld4`E@B&4h?zB02{fxX)sQ!-$%3YZ;F(#cEmnmn6gMSDzLWUn7 z`4dt{!P+~pkA*^UFafLBmkJ^2oP1u}v3auJUu_wEJrYzPHNxJNg<^G(Xo*#_oW!--v ze;s?*!#fV)tnKYI8`pShyLiE*)%Q1W>w8~h(QZ0DqkZ0WyI$q0-uB&ogZ(pdgHNx9 zSng#+buIb|U7d-;y_kGh!!%VC`?u1@VDVJycc4AJ)m$Y?jd99zMES4H;;B0j(TSkP zwX~dj#~N;74bB)zYk(vIKn5=>UuZND_J;Mlc20wE)oyU@o9^Jcoqn+*gHf#AHTu8x zEp&v$8%i_OYMEe3(c+yISL0?NA9Hau@bu0RhdnA)DuJFSF{oZoh9XJXeEQgSc%J7u z)kvlw9JzyAln9>`0eN1sekXXZck*8E*`0&1piR@f_c6BV^)hHRTIn>iL8O;ktd=bX zfuPsRsnh7T>DXMvbUd+zu}Jamw9*Iqg~@a%1*%5>|MjUD`+I{zSr+<8ZM__vuz#Ax&D{9 zbuYDPC)zfxCi5=Ry1i_pTdCbNT8K_=N$XAQj5rSOdqmTF4L||Fx}hv&!=;r(7srG` z;NH=y^5-)M-^#*Eu|P}e7%UzFTxrP8MTDzB{{V$w@;WZp+B<_y`Ayk+tv>nPGIsXg zvBBZ5B)@U%S++f|aMkK1+BN;d4lShKHxb*~oiNlHS8+!%yYRhQeV2yL+D`2UFy%D~ zI2_DlMPo`{O>vc^4Aa8q?0zlu-tYQ#Gf}xgrtD~8FEsnyw4K~|+-wADR@3kgi+hv$ zM0uOaej(ZXmEzCHZJU2S3DtQ94b!)~hqHS-$n*GfxqI8ZJYlQe_DT0W+qia}Zp*!I z&}ud57XI38YU#8|snSCRd3=0D88418#OiLowFzsf)T$cB zWFgF_Rn8!qjdex}nMdU`^5`ugS$s?5e-!x#$$IUpyF9JfJ{{V-+j#E2_3lpn?rp|1 z+xsrzy>Ihw+lGfpvg)_4+=fWu+;_>BL$@~alf$t_-ver1Fb|^+8p>ghs|}@1j1F^4 zobm{0E&%FxT(Rc8L01!pq25-jSd$WOIx$=zM;*sQyDlR>dTwd(%>CBM-(5;dKvCv$lFw=~*#H~r3C z;$(e#tAsdpN>w~fs`_qg9MUp5!^H6!piJ&|fVk6sIjk)mmeVzuMPJ0d!R<7sG!_8L zWd34i3gt2V2R{*Xx(M~F{cQgL95qqJquqC%*#~Frdv5We+BS~nmt@ezwQX~LOl~sw zFL-a7Sft;!?#9zar`P`greYp)lSLzTXv49&jxMX5=F<%=qfmc!?UD&EbklBy#0XrD zBedK{{{X7m*5;{h{Jo?wi086IxXL)Kj2y}Z_Zf(%-n|z6;mu}znx+sK+G?A+WI|auS==dYX1QBX)LVRu|e`F;o8b458hOLI*oV_sPFC`^~KK3AC@NE1?a|5 zql=@9!quY3Vd_w+hkY{B-PELM_ioJI9yKGC!JWaoN#6QC`lRUdSA-*3aZY9!TaM%lSdxJf_i^@%1ynHY|~QS4@hG5A*3 zZBWu!O?T92AZ0B8eo$q9gT5>6F52u4+pmV~F5mcrv+;iq;+yzfJNtXJP6nPBR&_Ts z@Ytv1Wdlq(pf|%7D@boXHPAn8OSg7@uV1$6by-2T>vg(Kbo*o|vPPP;O*}eQjk43> z0+b-CwK!!xbHZTpWVpM)2+GppB(yp+HK+Ve#eSRNUeNxbcGfzVY2v#NwR>x_sG6q| z-p#4q97EjFz{X2Q))TXT;WNqtong~$vLhUzuJ8#;s@l{a`yM;kL4Hj2=RYu`TM)I-aPKFB6xN^ z7j4cvQ&-vgp3qn9{@n4lvst{)ymlXN_O6rtF}A(Ob#2eP_f0e&+z8vo_0QPrq_a}XB8wY3i2Xe=u?(Z;npPDD^F3s|1 zkGF_4yI*DRz16mM{{VJwT73qteI%00rqdQkFze?29}7~eDp3^ybw<{4so*sp7-_N2 zYle+!(mdCz2VWK_9{!y+zddR#W4p){NNZd`bBsOEe6?PmcE|K_{BGPkE4KTKxjfC} zJs#}+yV-jF^6d`E)p*NU+`AU@+^}eNy<}0Q;kNHvG16`u{^J(2W6%xmU1rtVkNUl2 z`hXe7)oU;;toFLCU>XAe6(}@!ks~vU4Xtv%X~g5|j$qd^r!wkK# z`i*XnMY-+0vYLqBK=SSo?h;QPqBe&Em(%RG$rUjyFRbw3`t%|trH_F}!W;>aHd+{+nvjY5ZxgF!vtqq>f(Yms6~cO{ZnrfLVTIX=YATsdjNDU5IeX3wyfQ zc9Je#n>90b#28yO`&>vZ!npW9CL0r_MgkxTmy%EYm?>F=QM{{U%tPrrPf z-W#8ib{$`Ocf=l5-Fze5TaMYeCvJ9Jw1f zc;Z4``QmBegX0Qn zLGaq4BT;4kZpHrqO6vAlW;fsiOW?-VFFmaMB|JrHc<>+Hfc!h0{EwpHm}P)u%FrG4 z;|&(OZ|&~j(e{6Lb{5yP?wSpJn*GnTwJox5M{#{N;oI6-_lisOhandXmry@ z4!v|cc7|Bv5}i~~>E#M0b9l10N8=xdyI#9l+|a1@vCeS@sc?`$k=_|~zRTlw_w<{y z8`)T_SHb@P4EAON;v0{q0?%i zJjRaMjR!ySmgNFIMQ|3mBo_+;4Y>-rb^0e}3%F@Y8CgRvqDNK%vWZ26lp{%GJ8Fif zOjFuPBJ}I1W^WE)CT8RV8+jD&OgIw&#Enj~7Sr`rnrCUF5$LyM4-Q96nr*=8^$Dnb zI7gdJI?1P+JyID8PITp9*C}wR4o!5k#6W^Jl40EGvO1r2;~?KC%oto+3EW;n^}oBk zx#OLy@V9O9ACEsi{{SlYpUZ8=4;pEA&4M5575O`?*Jyi&eb==h@*br;L%Vq=OpUTO z*B5>Pxb6BWv^~2dS{b2`393$2X!cNZDNw>w??YH?)fDQ6)Fq(2%e*l*fVWP*C>ESR zaA7rIywV^6{{U^i86fHAyqxYn?w@epw;lVud&_$6KIq;=d%pSHo$cJ4?|659^kCBI zv}1GMcisO0Tf1+&q^YHYOQ(zVn(0is7^6r`I4X74DY7ZIBSp+W8AM!=4=Y{ctK8;> z2m?S!*b+1!MT{Qu?bnJpS96WkSj-q`w>5T?`zo=#$3~0}qAz^Pg^U8SETM@4&Iob8 z0>=BU4<*w3Gb?~?+Dwh$aIE^Cw^<7cm<}a$}ReOPHkaIYmtMgwId^3Xhi?a`9~uT7O0*4LmM;hGJMEEBps6~1m;-)eU+Ymqnn5TAIBKnuu3!)XfRhq-wa3MfJD#J$E(ib|PujbUd}WUeW^((KON!*+`*(8Slo;p_L$~%}x4#{CrlK8WebcMnw&jvNn^m}NyKcWnELv%_I^ige zzHJsNP>9@;3Gm`OF0~5u9CAH|r87pW9Ovb5Advb00JiuOt@dBcdvE%6+5Z3t{7di_ zJK@iU`zx@TelqxT35c)Q-IqfK11n=&LbrNpiFGGQa0I~Jb-!!=MfpE*{Cn}&g8Tc( zvB}teJ>Pcr?e53hcF6X<7X9DNxOWz#e(#O*P|v$}PjdGU>br+~XB(dPHqEt5xa#K8 z=`_=8WoG;I=wzs8F?o>_Hx`RUz_d+{EW6ft2iRy_RXxseHfz z!E<6cGO8orwl;PvxB|4KyKVb~XbLgKB2Uw@=ZI$^#gM=dKE^?$=YDb=04B!gO}v*z z({pS<%J1@Pnn`ZSzt?s)*6H*syzTF+)<*vTq|q^!9Y&%!rEl#B=lIK5LmEPkZH)pl z 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 km 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 z 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

    MJnRQJFH;J{EVQhbd9vtpJ2<%=$*f##w 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 z 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ⅅ528BS)iqUfNrJgw~MeL^i~Ho={iZ+obte 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

    7SI86xQrYSwu%wP~ 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

    eET;n@A}4XYCMZxf7^$apZ=-8-*eHW zLDgNsvPnc0Z&d^*@9W0O*{1L|6`a8`EQ`SXNl^2lBokF*yc(U1d)NV&DLA6WKZ zYBoB5)8xn?D%iBMv-jxorhn((SU&oH{l@a~lCalRj(;YdljB&hhr5EmB&)&Wze@%E zS@+==`iKl38osG9jGb;kBmLWO60TCa$yG_E*!l4BXh@F?KJtx1#HN4v`)hJFETps0 z53V3f9573a;&1-XENhr<;=geErk2MZv@|Q6vPtW58p}en$@$2MVz%>^&(SAU9ZYv-RC8_j2<@7zu=y5NETH8 zPeP^kRC^^I#Z&Qjx^$A;@%~J%)XxL=-Z^iDv!n-qz-0s&ezeri3Gr-@WJSulw!~ zFS=h_J{^)?o_B3Kzv)fSO#B~w+x;{Co*Ny}C*6wQo!5r8@Ig<6Io7m$cJZb?@Nf4q zEI~HUZg6$`^yMD+JHNpLzWF05$$-Ab|8#N`y+PIJ0NK|W&~AfU2O1q^pF$d>b^q3x zYXbmbtWD>)&M8uaa?dET7}xN;R%n9o?$Bc}QuT1Q^Y$t>C!qbl} zCx7<8Tz2079m}4x!4{*ZiKmUF^4u%m^Zm<{|I5?M9e?y6E^m3`+a~jB26M9XwF6E; zu9*dZYFoB?N|3{a8D2*0TzUWpv4~~BaXJU<{`((TzW2Kel3ON2se$AD-}=7g z6FEJf{KO|_UE{35N3o2aHO%YGNlr|^mBmhWIylS}s?w2ou-}DO%g&7WJPRl^ANC(( z--%hyzySsKBva1w09u;^gt24`CLn}1qu&B&<`NbEP z`yY5<`TigL!Aas=PI18TH@xNT%fs(@$MRD@`IGH$@_Ye8Wp~ko^JsQiJ^_DJ^q;|6 z6$ySjl=I`0qS#-u0#6Atj$d_s{AoEu2DCQt9>WdiBNw}}q&h{3|2TSGqs++wlnBa5 z3|!lbMn9uClTCp+9Pe}^{<>;_VSjMjb1D6!Jx^AHz5qPsTF}Qio~2{NFnGrw=+nLA z)n>o@bIgYp84{atnvt>b=v2>yC$IV?&LgvpgDiMmHM!%k9IOw{v^E%O{e0!2-&ub9 zFaGFq)gS)Rfpza}2HdsED)Y>j<$*uA?0hkKdh4HU4RF;D(N5rhI6i0G1hzKOU2&F^ zQ2FAv$3xu?-w4JiV?mJ_iPJ5+ale_f02wFM=9rT-XaEzmMaMX9a0r3;&xT5pqnF}2 zus6~vqjX)6bH2BUz_(e2Nw`Jx*Gim9YW(3Jjec#&M;CK8FZNcY-}7xB>|O0QE&uQ* zeqzd}J56lj@dBUv*^{mkJWf{>M9)qTTl)u_fiOd>Dvd03VS*&Q= zZx4pklQ_95`g;S--M61u{>jh$%<|ix`^<99wQcNGJDK^>C2&?F0~dZXV~&5oF@bL# zIgek+*wMyT_p9!VI+rTX5ZF$fH@;z(~xnP6*8l`b~#-|{f0|UWcy*dtJ zV}d6$tCEYC!u#c_rGES)|K_s10&< zypbm|d%KRdhF9o_`X8Or7qBFa^EtHMwRxL5&U7$qnM>}ho1v{v&-Uzr0yN1VRZaAb2fS74WO8w+ME}44_x@<`ydmJKjJQC@ zcMF~`33R2mExhed{m09H`1ilO{LItOWruG`4s(*j0cTpWKt-jBIyAD(W@s1eWC0$) zN{%GNZn>rF^$-921c9X4;YgF74QB;%Q##!B{RKSxRJy@f{Onb*W}=5r(ZX|$oev?& zG8{xNW84rec}(u?C-UC+zIW&mM|4|l#~)xita2f_{>JydZ+ZADUtFGh>WSIc0FMr@ zf4?O|KRh)ZbKEoL&7Bx_Tyo zg7skZnS_OP8@25_hZ|4S$50?zTYZ4=t7KHre z);mrt-}!wX9sBpt7e1Yj6J4T$XYm4kJ~BAI+Zv>z(X?IvkueLxMj0NKD09?T;P_NA{lU(RdN>uK~K{$;L!B;lZ=$0>45^`f0AaM*oog?loIo zYk41a0LSx8U(;o0+MDdU?|x6{OV72h#%!K@r6nW1$qY}~cvI!=vggF|p%2`({L7#G zT>E4lp9I0Fl2Fx-250?;PjWVNY}|Yn)!RPd#U`?2Yogt3Z0}q=!#Bf+SlECCjR%i5 z=Jxht*U`g%X=ouiq*BGwWikv0)H{Bh%F1ZIuX~L75vf0eEAuYk~a*l*|fU=mPt%axM3 zmP4p=1@{Ec!KT{cXuM&MKClX&DMiadR9@ga_tWEsGV~2!dNeZpHi_PT?XLojOxT$E zwmWa@!BzL`pWN9_%bp@h;Nb0sH{4wn>(^HJYfNl6)wkJl2@$lQN8;dt4Nu|;_?rs$ ze1ZcPV6VVE8i9Lnl`JX3(V^fSy#h|Qs`hR8&qmO(rhOha4(MsHw~_`Z-#o3z{$B1acAu2)(Lw3AIbamQWDt5xqk|NQgIZ8u%N z94?vt{BtkmyEaLpf<9PP)k*V|+tlEay(Oz*jWe)l;OGP~#8Km1fzy=k>mQ< z+S%H4|Jc)>-{3;O;g?;Q_*7f_&TB&-j&%~dM%>_UYY;KF+3f*zoPgc?VpvQ&89GX! zwm4f1tk}l-Uc&DaTiX6 zbuhqd)@>c%_KdzaCUb7~yr3(?dF(rV5EwYv+6VW>2-`Wv2lLE2tiE#*1u5EeuV6_V z#^o7->o`*>Bmp|dX`daYBa(!Rne^{ z_)!^09uvyyrH5-CI?kmahZQt=7uhTu0g}ar< zW!}y1E8$W!Z&RIFW)UosEcg_E35FPXPJ53|pZISm2>#mG6ynG_xx%L$AN*uYJxA8a zhiho$Q&r0-4+`4UaQKl4mk>Oc!vDaxeOEKXH*~utAkicv>AHSS+12c^I9!q>2!^*L?DjWvef3rLwMo&H?Zyk< zC}d2kaO`t~mJ(6(CZWa%Zu-V~WATQGp?AD*&zeKQ1Fzl`;f4qP`1enr9PTTZn+>a! zom}jUvC5&l|NED}`q6hSk396q1TA};aTd7a{~0sd>>eCfSjHol!=-V#2mE-2qbCUF z1V|>)J4Z^c?Hj|o23J!;nSAd}cSzuo_jSE8V_KC!a#gcKyLDV^(uUI};Ymh0QUWV- z^j+Wm-OFvapBMaR8{Mb96NE_iTww^DYkU z-hy|!ZVYn#bcN$o-)5GE$Le)-Lo;z9W5qi=5`LzdCLZB9p`WBT+|kpcTjOctqqEU{ z<#&!GCuB8r=W`ss>pQ=DIq`-&=A7O5x1gJ&YuEJeOutAholSSc$;?8<8uS>U0H;3* zlnG|Tc_)TGQ|T3dD&61uTt8Qsj&$v~0Jvx6#8mZ>3$o~QcqCpN2dz;UPdyDzMz@7K z++%$+-q;t8B>?n6QJE=!Q%TXA-g*0Sr3ByTB@S7A!sjqT<*$40Ke7D4&38?b%uKVs zwcE&6Iq17XC6~mf@s6FXPZ0$A;nPd)N6@8YgHFI?;UpOhUCBL~kkzrgxizx{*Dt#7z3 zG_SPKuD~<3Rf7K7<-OnX!F6J%q}t4wHXbl@it(l~8rR075=rzen8)^wuFO7h#vy-j zvp&Ng6e!M82IC8?nK+=6q5=Ms44{+hD7r?2zM_}*@#WB3qg`RA>C)NAl-~u;;1MLz zDd09~mDcK6HYd3l?#Lf1$WxiK`L4z#fRd3FOfI8*FF(~9yYZG$L7!S zzwn4>9jeAu$>BR~fL$`m=kRc!V4Ea-cFq{xXMFgFzd%rDIFFp+cZv1{7@ zD!tvl8*Khgl^Hu%O8OU+^&_NZXQTH{zUeJD_PSR*XjuguC%72oN<5e99-fkTG1wVA@yoD{kJytS6g6`=j+uxz2iKTCmuIE+NHHPk;@s8e2_r~Kk z+%*w)s7Xh9-&;3oG_Y4*Q&#=ipPH z0)2t7!}HG5Gt*Z0;UD&a9J*#~J$j&BRJJWGa^O1?R1PwP~phnN8rw)^uulp^0g}Vkags^!2d9wMvn*XI>pROe~RW zde@<~!FzBI4tHq-7mlHCzNX5{*lO@(ob*EqvgBKDrM&Z=Drlc8S@UX3*Y0gEwo`57 z`qJ{io9>RaK14*@B+L{8~p|&I`|y^?h~E--h2$tz^(hXb9ly~t&OjIZv3~> zVjYL)9IlU_5D30F2^?G@bhG6LH;}Ob$Tve5B*U>wGpI2?29ZN+~Kp zK+Yhjb_`??JtW^{mKYh6usHe|V#I;&a~RNuIPJMddydtx?=n>Pd6vR-zr(W()qIbs z*5@KDqnvWI3}j1$P;{P$+*O&cZE%dWC-9omJ_@8hW^BP@rkLPamqs9m*;1+w!YKfl z^>w2}DZBM~iHFIgHr8<(+;3dbh3as;(ko?u`1igg!)RGU2ZNIF-ct!~mZjf0hm`fP zH!mN)|Mn_KT3g=Td-r{v6Hvd5nXyyOfgGwS*VP$1RFIeM8NAwuz~I;A4?WX)naQ0p z!^`29mz_7*WHbY1Haq;Gg`47*F{tp(A@C-a*}o#(8^3mx<4q}Gd<7QIo-43@(|z|> zxpDItZL<@5#_7!Xq)hiU>+wzRe)lY6ka0%`N^;tZ=b{3&Rqty+=`9}zyv3k?B?D}9 zHyb8)Uhw09+kv~E5(HDu-+dg^nQdHetB?4m@eIy_*Scnbsbk9TG7MVM zc{PI5SA5g3=1>_hl@9eCa@X;7MVp-VPK*&Gr{tG{QuZ&fa7|FD4`q<6jKl*IC^59j zVSUeGpOVJlUE|m0kls-SnscoDeqYL5K&ujCg6aCY@18de9XXq5H}a3)!Ct?{NZ0I- z?m;l;1eausQ^mRR$C$~6n^hxI%BXL+z64>5%ujkt$0Rs7Gp??0;+WFf8FwH?w+YI$ z**M7=9+@@B4Q1L_vxnu1|ara&Kj67M!GQ8X~c;t|Mb~^Xw zx4xymj6&#xpGqvHM>$YvH{gf!*+i}DhvS)}C3*J5N7kxx?BQE~VQ@w^PF6TXf3&q< zl8PGR8sindtmo!yP4!oU;+MfDUgIc%NQH=Tt^C?B;|Y8rIV$iuoQ$2Qyf}2!PvfFj zqPdwt{E78%EV+93U2lr z8!1%TdBX_jNsvNIy>4&AA3LGaXA(KlNUKv?9Na@+Nb4zTWhw%~3G8joA4KA-+p<@<0P}Q-$u(y-dMnOIbB;+JTTJHW?0FAKo4VcFqOrl1=`RLHZ26# z@YC@9>K8~F2(ATRJ-Aj;6=bhA$aHH$ki1^-HOfD&>j<+pixm@6JQ9u{}h0HaX7f;UYKe*}Kz!SiM zlaDgE&~JP#;J_M20T22yLziZnztR1J>xP&<2+WZS_t6IjyrRDE^SkHG;!YqPJcHW= z=OR7L{~8$~YbX)8*)Q=w9Zb#)OzrbjMX!iVr_}c?(CW1Hq+>h zMD;tk3)iYA$bx{+7};U7>36m)1wR<0J*>!)#DWSsLCH#dRu2s4# zUy(;>Cs*A*0n(JP!*t`FfT@HTd%W=(-HHEPyCPWRHU+By$~}(R(0!U+?F)46q|@z( z*257X+`>crVBGLI)iUElul!`J#;i>hqpD~}n>RkRqR;40_R(*2=p%Wjlj6Qrlt zY$l&{j8};3dw2tm8b6#2Uc%?u#<4slnW%%FA%KL z;)&Tvn|!UCPp|x?5B{LZ1Nv;`w|E*4(GC8~H<5&K4y&zvL8HZs$qoHHH!;K;uW~{ zMm77J@Qdv+c)GXTz4pShLu2<%607myeI5ck3rFZ@4>#@Lh2clYXnYds!v~kL!|@Fq zsF>26ap4ZI;19NQDjtL7a*0{VF4s=BH_GYuUORiLH>p%D#I8%Q&Wfj!?ravjY-7@X z=(!{M_dLGb-vruMzWVs`LJ9N%s$M1Y&J@>Jy4j6wUV46c@QYsve0vsA8o?I6jH!{8 zJX)6!j_+72&hvj)dlC)0*Fo0A7T$70{@lm5+E>gzDqa=uZ7sCL)lF2~b)t#hV!YE; z(slFd&qQau3vZqmzxu@2V=sbjWOZ~(H+F!-pY#1cboPCd1<$YiXlSb+g>Ihl+kNiw z+wuSJM_XWW-L>ud+}uCtx3%vc-?fjI$fvg1f7jsXbr|v==DzOT_{MLCd-XfdMpkV) z=RW802Hi0CtxBLl5Rl!0Y)Z}VX`FT$VE_Q2Rz&Ck<7i06&S6Gm{X#o*IV-M>m2p>M z_ze+`b%RC@TtWI6^p$94*|ulguMf}Y6MT>=Q)57k!PXvSH3RFs!*|b58$D!WADK97 zCXI=*IGSP@C6It=Pf!hMbo69G6C4g3!Ie?Ps1DB4={B*F6+PWfzGvG6=14m%BgEO1 zfTRb3;>_$TxS1?%POUO4!Xtq&yS*n6P|W!v+Bzl#PJ+i6Dxj~eZnAZ?Y1xFjdMrG*T8R*51<7QuH~KMoJE=`fQ3Y04`*lO-9Yv+h#eJt5zC=YFK}Soc5k z;3LbP=U=O&YRxcv)EjI#SQIN`KK*7L%m84vjU@zq*2i%+7&Ob1Wbx7SmVyi$p>a^0 z6L^{(#SIgw7*e{`tb8Bg*e&^Z`v_90*x zIg+cK(GBpo;%#PQ!>42uKAI(GjSa1ae!FzwWE%4(tMIo47sLOJm2qC5uS$r)Zd{%@ zdnN^58U8q~^&wD>8u3k;{`kjubtqUWLpKHq{E~gMF2n>j$w|TUTw_KDG5Fr zuSLn^DE(IOIL_N{;&M;UQ`R4n+I+0<;KV=mhfnn*Xm;S)kdTb8LC_?DMlRtZdIn}A z8NFuA#)fv<8l4+u&{UAHGqmCw^J2g_7Agg<*U#7gsu<>Seo07&J<=;|&Q6IpP8c@oXd(5ddA!^nW(hu))KCs9E^ z)i$RHNzi<=C&MG%JG1SzISzP;S4q(t*+GWT3IZKRY%!i)@}ZCI=nC;bPP2KFeg_2)}h= z+F|F;7MLH%c3w*MRd&Pzldwc@dU)mG@X<4PCobFVuXe!^FH8kjZ4ch-SE4GB2vN{UPNcNl&hQ}o`klrdRh4@uDS;>n&1XTeAo^j)t#y24Ax56|Mm`XRH2b128( zFs3?{#9VFsF3rP{nef#ea9Q{jRqWT zzJVn)^x?^uUzyh)8V~*)-b*KwD{_kmPgNmvvKcj!q2r zvH#s0I}N>o5q9Rg@_alnZ(Aa3J*$FX+j9kd$k7a_e>Ca2{M4~^F zFZvcP1%bvYC}7Vl;k&BWAkId>_@jIHTVxHqhw*s2&c@V|D0t7?YuLcy|NMi|J7m9W zH5s~A|4$nd9Rg+iiuNWX_BTThhM{+@A3RW%OdVU3?;bP&had_bj4z6e9)cUX3;r8G zIPBie4Gl-xR(YHan90D}G9#VfX)Hi&v?$?&^71n`RAWqo_qdl^|#{D zHOC}UgBQ%&^XZyo#Eh#h0F0-M9c^}O?h!l!M@a-T&Gtt-&*#GPokLqjT~&kU=u)r+ z?%;v0*N^_YX+76TIC2cX4Hrh+Xm{gnw=Ez4KYt-yy;1``oJ_#c92)Du1A9(?Vficn z{Iko|y#f<1CH2RI*Y5BJSp-kI+jyrcDA~{-8gGHTq_o81p>+1N+ju0YjLW^?w5NkM z@L3!_&$0pbqoZrjG-Gef?45&s^k$$nxiy+&_zuqaSnwrTey(bVU-}onygc#HLu~?S zU%a#}-5;M*w_o|nSC&uz%BLpDYvXC-Gxrh2)9c}wUz?5QtMgk|om%toADtwwhL7tH zFRGe4kPy4KJL;kFbr1cr(c?;E7yKK)>Kql-?v!X+=~{o}gNRa(@u}pO=MPlb5NDLA zSzlvr(xVa2v!DIk7w7FFQx%bKrm85Y!d1FIU+LMeJzJ&B6IENaZ&mU-_)muGZTLs~ zQ@Iho>CxfqVDHPwr|Wc?P0P<;YLYYn*Q%T786R!5nN`5`%|8jH;jVGipUS6;8JV%c z^*Q<}er2mH>!SOn&+dnZRqpd+;~VF-d!YMO>b}%#T0i-*k1wa&I}y*@i)0d-(E*42 z`fq$@dF)G{n^HY7UIsmO-sVeB1 z#~)ozRJDG%y{jI5^zr4I_T4z%+sHolYrir3_)xFI?7;>He5%1;pLCFR9L|v?hflx# zkqh|r$7bNQ?HC>pAMQg#&xv!l$ra}v+HmL#{=9xZx&a`{*B=z#AU9A1yc8EpEX(b?KD7xE zhy;-k0SSKlbk21LWoY2eufH2#ZH#d4o@cZ%sAon=HU4epP+#tMUK=aiF-N%Z>YuG2 zFi*dYXBfCU1$zQ40h`0F>E}`k)XoNz=e5t_z7o?*3}j2k*+GugiA`zrj92j4v*OlX z`}Y&S@`ZZH$!mS#loh5NB+El+NGfPAA+(%(a`~ArKi=jvN9seOhf}r+wQ+GgRBdeI zCNNiOZxSW(flN1N$`0%9@yxmg(5&RaFAst}Gzs_UI{2s$sm2d6)y(v8h$#)vX|J1deB-}_VP?jHUpphS z4ThsIn+c`rBp$T0(yMEYZNvTW8|0*P(S}3A$=ql!5#zi2W+T|(;J~4c^PU6K>Uf6N z38Z#|g6{3cHk)c+j9{9L5`)nW`FLmyZ$ht~$@Ip1GjkTdo1wU>4IYm*M$R51sw8>d ztDaH^|IAR8u#xp%aZH3My7)6E22aAtw)YA?R7ShW5yxEL6djxkI3ms%Pxsknd}!0y zHyo@uBwO)u_i}(ef4I{3*QyqJrA^}~8ObZhB&J6EQa(8sulBYIxB~A4&3$J8C~HXu zo1;l&t#EPL+J_@UsUJFd32ZwZ$CrJm!r|*aBjhErZw~a~g1P)egWIr|&s1D8XKfR{Q z43M&aPMle|V;ODoBM67fxNn>oZ3!}r2~U_oLhqqv&yKFoVLW@LYL525K{JrKcV;z% zoz7IralRQ$h$_EDm~(v5#Kf zc0<3oHUWeOf( zz)NHB`_;yHFc@&S*>?$8*c@4yk>mNE1slUTHZ6j1sDg{#)Cb(DF1hBqt0x$|lH6YC zInUB(+aZBHIxjgQ|6CIZg>^INklT@zrtj9V*$g&szy4R4+;0q)9Db#JMXo#)k8(y; z^l;7C^^z4$3k@Ex^wytW?yWcyIiowUV`IdyD1tvm7Lz+cDx40FH7>zYYI|(?R z`O`o3*`EJ=*J>v_Oq@d8w4!p#M%-7H7nh&+=d*rvr=%t4~|Apn*r=A`=NDspA@OAL+wG<+L z!55xc6GywhlL^T!0WjG&&i&zRWGDO+=#epgS8_kR(b*6FuRGj+Kldx@fT- zf*Z*b$xHg3ERzRA_Id2;tCnB=)n8q{_Vkl0Y=Jc-eWm~aKmbWZK~&={8u~Ww)0Msd z`oH>A`@K|cTe};+!3w|rj9}zvw_ndW_SIMH5S@~%-D48=;aWRjanB^(y6(A}izDm1 zC*8we@Ja4{`Wt)LvPb^?*evIg0n0d4uF%I0ev5(LamO9YhkpF0m*t=Tv-E>m)7tS) zX}Ze2-Lq$TYWZ7#{O>H!wwb*>%LW2^Dw-CZ_qpm?Jc92ULFC-k&;0`TB!t2XySnX< z#}Be$y?gQcB>d9Y>=9i=cg=VkyI{Lk$M&wg5Pa#D02rAce1tD}@|?u;(R{4Y*K|<7 z54YjxqtCv${M~=_kCuP-&wh4!=)o^84?p;oNo@SfU;KsTpZ?>YnYS<5_#5vGK6{QH zVwX1lnQ@0HFvSharHSI%hBZ(H!`xH95}^E9yq$~C=PEPWAH5Jh@Q0*_%5sTdd}F!N zBwFkLV6?Ddr}N|Mkg#-6J9pCE(PtrQ zCPg!r_D&R21n}V7b$FKGii+8om1bTq{K9izTh6@l!gA-`cclvsE>A!8wUN&wEj8uG zLrKV*7=}z~3+^_#g;U=Lw{z<;&A$J)kmTkt>pWfP(=~sdopwoj_khD6`fktYYxOsy|E_-02Agg=T2c)D$fFEHUWQ&KZC63~MX5J%AY=w^UB57ycDBG?&3g1@#W>EUiliLk5( zBkGx;oqMS}eL)Z-23`t$`mBBZ44jN}W8erdsEB1#DP#5QksOL`xA3EtURrx!Q8Vy0mlF-HW|W4{@l;?d^43fGUppVV{s{CLbIFEYBcSjCO*>(xc0joqyr!E6eXZcrxRTF&XuOX}h@d6w<;RC?#YnLk5r0 zhqGgbQgAdISJvhPnnkh!>Wshh$5WzTd*aD;Om>~7^x?a)5KhYc>1Usr*}KE`=t%gKEONZ2 zluI=X_BCFg{gD{~(a^Evf@jDIdXnSwIsF`hF3gzh+&@$%&$W#n2l4he#Bp8KCEi{F zZ#K_zGrr|`!1u^lKn#c04|aVmzpuX{Bysu?D^;qg`<>zj&UU(%ifl? z<+0ajiK*qG<@^8KCzc!Tx;xp?o<6{rQwPU6FW`fpx{F2`g#gMG^J}hgI0pCKF}O3?t$7-Iyw?i@$WJp`H|<`4<$Kl59k zUT(kZ_IQ^;Xm%`z1Fq?ko%r*MpZ)E?WHi^A(7|!AZ1RCNV4*|JL_6S<&Y??G8mJz# zWNntZ)DPaGBRRFkMBcqWeqaw?iOtn9gt3(uy&}-M>lkRB*Y+y!62j5Gwj?LugVW^m z(rcHO--ti&xbwEgBze0!MaIC{v03C34?nUz@wF$H;{_$dZ^5o@IM@>7=oj1L!hzBC z^^Ga3-h|sR_~`}C+R2yBqyy3e(U-FiKia+=?#a^NuJP+btMI`QRSt|q1m3w>ckB+h z>TljoHFzVF>Dh$s$f0YOKmGAvT>iT^-qC8Ro4UK+TBGdwG9XLu&|7}hz1t zkz+TncaAuDep8^efS!Lo*vzzv-naPg9sTu6r zNIWj52U3v(s~P-F&d|4$^%jrSjyBO7Ui}_>)kyYte&3O+mtXtRmzRhChrhGj^C$mU zW4b;bJsa+VDZI~=T$tYbTfesa;NSj4%l+QIjzPPPa^0A69bZ4DUx6E%dR}6OK8J_V z_32K>@JQ#_g^QIBTLJ{O{qgBp_PjOZHnBaPy`NeB+LP!C!Bgfwugk1|%e3&FeHzX& zrs3A+n}Prp17?BoisaL$KKU#0<^JWH-}nCB{BzTkOS6Ng+g1PbpZ(nOuRr;TD$~*d zog4n|xsksBlYA9KJJ{>tsjese(tcrE4KKR zHspT#$tOlHj2^+8$wP>ms*Blt8>IRP4#AQG9ldP~9P}Q425u(MFwSsvrhZZqb1(np za{C34&VB8tWdEl?oj{N*qaV4Z(=Miu=gk1Y65qDh7+i@j+hhN7_CIA2N z-~D^b|I60D#{QP&_g&}j+^edqt1s2vPWuvUw~3rMhB&}*4N4dR8Wa>p8lKFfkr?p^ zAt4QeG(4L~+-F8}(~RH=NGJ*>grE=yh+ikZm-FCa(-L9@vRi{oB z@7HJj_vr%7KJ~BP@3;5b-}SwJzw5i!Ui+W=XaASIiQ&69n0m7%=fBZF`LF!wkKR7_ zxz9y=d-vS=N~*E9Zjev3u@8A8IxpK?G8U(bvi(2Z$?gpHLt=WPZ#uf%Hh=h`2FPB) zDP9CMSZK-@*XOwBvwjbs>6C&~F)sMx@rw23GF!bw@ZqA5`NjDA18s`?ZU5_k`}UK6 z{0p~_{_ph`H`|DMj(e+38=jBWoqy(IJ5 zd~n%^qSiLttS>%^JZRE7u`=YzLB+W<_L6g9;U=e9yY(I%bwP%9SXp+EJvK6m@epZ%$=5cSBkeZp2a4E}5) zJd8*1s!oY<`H)z<$r(J9cZM6^D%X>ca?JS3AB*T;wM``u=u0Xw&>h6+{g5W}n%F z;zAree8LB?Xhwa||F=y#MZZD5nBt&Y?9l#s{D{dv{mK6xSKzATaQhoS{u8%f`QmTg zzUw=`d#`dXBe;FBl^Z|xGe6lQ@L$`$U~+Di4~47w&-xWO=!cgq$m`j^!m3G`Gl&fh ze2*RzTkz!1+^=Yiwg=()tZ@|jJuXS1C&MK5UVe*gx1|4p~#PIA3dz^aRI;q&mqgv|3EtxCH`uVRt7z5J{A`NgmN<}{u6KNar# z$3rL?MY5er2xVl?lgdg+2_;)7<5*ee949LoIYw5-$;!KoLuS^o57|k!V~>pE7-x@< z?+@QU;r`*iAJ=_d*X#M@uu^DTVKl-hjRe6Fxgb?Klr-3uDh+tMkrs-$Dg~=~<2~3k)MhO;Pptm(etOi^nS? zkQQ+Wz^H9R5x^)Q=#65Aj$9a9aH~qS{{5~;@9h;{KR*;*c7N5dQmDOqEr1C79+>oV zT9;+%*6s#<|Hz&6eJQP8ANa)Y%IK}i;R@yBwX9`D_l)2^5SvGWAY#nx{5(Z-mx5ey zRHfRWh&yfDOLp)}f9Sb#?u#heG#nOOZm737^k2!3QnvKV`8NRVYSy=xyHIf_ov+_7 zj}K^5xA?WhuiP50YvTvHFqSP5Gk@DJgmY_MhozO6aA>%P2Oqay{Y2G?+aCtn`3iC` zrK4<4e%qo@^bAZhEf&aNw9o<>R6zdz)*tRc>n%v>Ly{vI%eWVC9vQ{ttFF+*Me)Az zI=DbI+04&4Mo57oeO{v_I-Srd01~(e3HFtHqH|x6vAq*|(f)Wc1m;~pHwiWj)Sr8_ zk*a^$_}1Bd;wwd&yQYQ?!`u-Y9&ZfjKzN+*a~7yaGH$7G|nCdB7EbknV4VV0tPf-GjAg^ zEm)4U4$>`HN0l+|x&?KI>qz<*d_H2T3>ZdXXQaZ`I6GSWJFnBI@hJL~FM_rUuNOV3 zhseyGV<#KErIH5bIaqlMaC zL7vQfx5uX%iEly5R%`-WR&{B{&wwWC+uWOS8m(za9eWAU$nGPcq-(o~7|3G(}o#iwvGnbTJGH2tiV(C(bFfLK*l4Mj1@0 zgnS`W8^CkW<4%g%E@~1`?cW#JK2b?AM?ygV$^FHrXk-IQ%`KB*q zdi9+i&Yo@A`ejZ%WgK-N00JJ(AZ~8J2zz{}#E+;zN(+#1)aXd33N#F0)1IZQ!i(}F zb!Sqi+Kt!|UqI2Q*i{Eq9_R$vK36^R2zVlvS&Vw-KkLe5Z9Aa)bjM06UkD&8 z4&r~4nZtRIN?pI1d+XfS&=~h0%ViBw2P1UXHy1qQ=zm6A)C>~9wj-b8GKFgk!ilt>s*n6be4hewg<*e2Sd0~2+|k#TsMLmJuy z5rE_upmk!wfvi-FsAJ!Dt7w{d!t_Qp4oZq4W^v762fydA_g!Ck?tS9PYFhK-0;|gg zEpFEXbs8`F)+4b~=85K5TQ7IHtv8}}zb&x^YpD@hQU%z)hDwK`14$h@G3U)y!p*Av z6Pk`6f@*8Xn-a*3GEGLc+KGw9nv^P#rM>+~Ki{72LWj5Z$8uKUkKccu@#6MG8k-?c zeCA_qERJ|QF3#D9kiT`TwuFX?kIN$4(@T%2$I<&3wwhgS;pNg0JpY6{!fxDCd29=c zZENh~Q9B53csK=U#S`(p_^(6=CHYp?o&(Nu|L}!K+o1hd392dWLomk;`amz?rcu)m zl6viZwYsP?M$?+j24(y(EPvdtk+is`d+or~3C(^BOk|4e=TW}$- zcsL00imw~NsfD~-k8_63TVxWQBroL`a81gad-o2QUcR9xyFne9K+YGOXl+|WknN-g zM;Y^&pU`F-F4XbAG7y5%0wds?pufcv#-)B2uwQdPw8kv<;5=i?Aci$-T6vE196T7@ zPV{D7%RWKuBRrvWmKZ3A;vuvI7Gt?H!L&Us06)+1vf{p91Z4Z@-{zsCrw7Y{gL4VE z3P0O~P1ClO+Fv^E^b(M-ZP`a1jK9y1&T8I+kOI2SrA*2G^f&7Jp2n#d>wY(FY(WDc zekm&S!FQ`WcFBg|n5qRa|EENmzxGcsw+ghc@^iE}qV{uZ^XV;_kCd&@2MJ1N3%Q8g z2!T}D94GlOv0aeE)O+Q=Gj+ZxFZ^B{d}%!Kxx!437NBABB1Z>e{2TYj+#l_V5AJjX znZJUN9@WYGXDciLmp;4M zR-i;Pjh1_&XdV<3{i=Z1JG9#%HZ^e0`|i|P>ydX)H{dI4Ti~A$@upbV(OZK>YiDa= zhIqr-al^7CN_g9<%(=_&qH?zOkFT%ph#T;8kKSE1X(b&35NlBWlw|-p)uHf(pUi)GPLnicUM9`_j-3O)y;~B>xliqMO@-4KY&VbF zfX%NqT$v=PRc)G8uL5dZs~dVWgq&HV`D+G#yqgBJA+Btm(}Xm~1_uGngTboSArBiI zDw!#(2%1-;dOPl94nUTG5%B}TUF@4Sr`!-Tzdw;#V(2d^}apZFw4@mZTB%c zw^Y*0nV`#O|@IoM3Eb7S(N8b4|@yE^?#CFn!XPFeTyXhS@zA>EvMSn-WxI`bPnJW8^{!q~JH9Qe|aae3I z*J}MmgI>vWH~K4xjJi2&b7(1d?{BKx8|Wm1>H~Rp(>Wi8w_xPVjWQ}xPznp|0MG<& zV%o9O^`NT5{z-!n!+8AnU!ks2eN`u(OLp@F-*S_VR==eQF2AjBZkC8C)xE`?Ft+ko zqSs+i-t*q4VFXG>Ch5g&bE79cgm9U56*cvDHT>d&v2lB>tD+ z5)jB&=}S2#k(-ua0zP{qOsMYpOp1uz%Ild%H3&&vSf?+xGh=t=2KMsXqT)te_4Cv6 zUhy6;D>|JBO z?TA^r9&>O%fb>^g*e`h4>ovkXj?HT{SJ0NTvz%AOhs%1gZH_AfwF4KQetD>)=a-fX zu3tskoPGF#;~oG^nw%prIsi?y0wCRSk>0_eDJ;^XVK{bQ3_%yspNzmn9E>vZ=TP)w zpg&~9;Y<)@9jn|ws+h%X6k=~=- zM0m8?M7JW;;Gl$=vg({Y3~uB3;qp@*`IIN-aVx*+LVlxcu8q$!dD6DK6C|GMz^i3lMC+3nJCVlcJ8!c7ME7m5@#i;OC7b@)A^(6x{i0p z3yyD&*r4c>a|j|IV|x!lFJsK82{6Dme+Z!?AZj0IF=9=D_BfYJ+hfzKICHNc-%=AC3|8->anw#iZdm5FIa|e%zp*yL=Ag zv(D|tRdwn#{qLRMieY1!+Il@MKn+j;c_FR#-)CAp-$DqI>0-O~f&Tt@&Ri}OJN#{3 zV%s=irF=_T?G|BMsbLSCGOFU~z@5r9W)|myPPe`$=li~=dD;!$Wf@M>(LKyw^JvFX z2*N8sT&WbTok*Hl*ufmxhcw$cI1H`uY%LT^1uVXKb7HCCD0i@wH>&`1#$IO;Q)|M1 zw{cT$){XdmC!z*6g+qcjUAswpjZ66-Q!R+{!E5OC@s-H|Ig9Zav662mm)iP^%j&z{ z*D^0}agKWfKF-FB1RdqKbbUA)WL@QT}X)`Jgb5Vy#!7wa)4?$IHQ3_}GZ{m1p_hnf18T3&N@ zyW#y-J5e)u8*41|rg%_TtBcps>*bJR1O-_4cdA zE{cJBWaleV?#RH=ql?XRB?SqW5qS`)uU}V3b@zFPCvx1%P+*^waEH68zI~1X1&mQZ zfjXuD1c845MxXX&b-!+1D)w24 zFylV^G}#K2=ygq?_2&eO5oc36$}0#4;YRWl0P7@=W?Ld=&Iv8k;stQj{r2*<(Pgv8 zxQ%8DZ37)LE1TVs?rBJt2LLe*gV;04Jo#%5J7_wRy1XSLjGSJB%7@?_CA zoTy{HKgNl&GFnSN^L@=&T$jR+kE^cQ2^IPAmb>Fx`V)KO0b%*=cNRm2uzHA#Pys}i&0oZ9%XBGZ}&L&U&;pIv3|mFXa3*`+jnA)a+$X-n7R6ib*N-I>FnYfa=NJUWLF^og z;K*=H5eDs0?ArJ6U>E~Cj4!v6YA}+4B|3{B(HW@MLD9hI(jV`S4l%?<@;Ha>_w zOv@O~!2i9RD&m-yzedeqlfsZ{Y(RkTh@-q!r5i}?u2E&>8$V@Vb1L0QSWpgb?KWbO zH+h#KM-XnR?3$+`VbtPA4E1-GFOVqBSld%ZkcRf=+V|{iVultPWT@)WZDT z9b?f7;;~`vNM<$bXN8x))!2vQODUOXe{!CbZX!8thj04cbrO__H$@$U_@WL;qkHw= z*%BRnU!eyj&jDbx^b0XOwI8zp4VFGkTl#9GAy;EbW}?TK_?B4tno;`7s`blQKI!%B z+kIdv!VJfiz;ta`%8Cd$u7FkyP@1M6xj`V>(h8*KI2rnoOf4of%3Z@sDO`zY&17Sh z5;5J6Gj${n&mpP5U|H?Qp_f{Vb~514=9eDJeM$Rm&HV@0viv2*Kf#PTVA8yOwRI+L zcyl_n$LY}IaaC$z%mtn$Kh#6fhV0i*QvAg&HX^AY^LKj2zlL}7SKgamIG&wC+y%L6 zD^Dcw?oQcRI?(!Qa|9Rz1EWYY05E#6*Vl(mZP?U;-GAu_^4~cE)UjM=f7#>5zb~Mu zy>ur-7c0{w)BYVsTai|Ns;9Xgj&9lhAc|8#tt*olv&pqs7gp9&r!>X9HW5l#iipOU zLueuG{**t`*v0Vz$bc|C?R?Qf;LOSE>QLg}GZO8g(5n=*U9Wk>_^LIKpw9SvTGXvb zI}+_fjr$P2z;@!#XLmV3+srMY)@em4??Y_vp{s`cS`Rw6=b2V;np?QwRzKjgm|z4J@%!P-0GwXz~xv72_7n^)$? zT_!J)Tb~=>X&hcyY155ajQ8M0>PjH=bDh;zC1sicft$IM;i|1m&!bwdf5p0q*_R3C zE=mvDV0O3+0dNB8Bcqz%S)tK+T^V=lCSd=h8vX`Qw5`%U{j7Do}7ixxc=SJ)++K25^BBajY@?Y|66Cr#xPnI zTA94{nsehMg!v%{3TLGxg!mVjU_VuuM!2WV)1_zjgHRJ}`ktGCcDHJFsHH&sg{l&v zQ^jvN$OHpu5N)B^gYt;X(1c;MP0Se5zFejBkJkJmVH9iQ=FTtPaXeFTvTr1 z^euT*B_bNU|6<&W#ZvD90J6;=QgN^>UZgq=xQE~zF?Gi`{Ob}AOzRpC6FU$BqXwXQ({Kge*j*sxvhR-#C(($v zZ?pyhn}^*s`bNQT>gS6&^1_a*rX0gZ*$Z7k6a73>%bt@+`naLHKN9P9iNI-FYj)_| zSPN&H8q__kNpMyO0pt{WQ6C}?ri2dmm9X6tv{~Uh-nZ9i?-okTw{7E3ft}}N}$7i^2m2D_D?{$3)`s7{-^UU})QiBOA z%Y%rH;)p~gQXQA=Y7L8T@=FHCHMtjf%3kBDA^DMGW7^Y2v0*9bwCeyhsB4kSnl7^& z>Kz_C7fSclF?lB2^xbEV3=smN8m=9;? z)S?AuG1X!>NU`YSo?Mrl>>!_a(Z0V;a59??Ks-OJ0J4RQq#hllL$` zll>C}QA?=Yxs^zQL}yjqBQgs)^8J~_OspU!WuGOIfei1jngCl z+slgB4wSQn{+mP5@H>vgj5+Z7TV&hp>SQ|fa5=pj0WnJ&U|CZ=?hFZtDx>4hgT6|f z=*#>4#!&sIAOe^HXULwzVQ0CDEbs{=NvgTHlI0PhV>ybafs!TthYdpN2`aQ8U)E+v z$9y~LGfEeOj^gK8cr>(N%ikRhd{rXhhEw$+#Gw5yZ1X-}^3>N-o`p5PNT$3Jo*HI@ zk&0TupOWEh7a^vGSlXzXeh{Yj(Fc|BrVbsK`?E~1&+AG3!@5*4>1L!~b$Gz-{N7qy zdo~J%npK*Ythxj{KcdPmDk@OSZEty*BkkKM$Tzyd>$Tp7qn}g>Ipc9;y%60v4z3oz z!m4aPrI7s{2G0$v8Na^DFpjo`m;aXuTe0(o^#2rp^`Ia2h3p&69juO5X6^behE6sD-=1jM z)0=N8^t$E@0N(4mD($j4JwhAT6vqoKut~4g;PW17_4rcMx(`Bm=!}!h9>z5MS%op( zBD|&F3#m?-UVa9R!*0JJ*MuNVr#E|*tC}(1VLr=0n7S%HT~o8mpOC&#%dFS-@xJ(@ zzPz!x7ZJu+a-qM@=r;C0X1lKCz1H*a#x3q-t2Z8+Z7#oM=ULHbENqTI+7$sxVz2t* zYtyWBeF$%&y~sb7_*@&**`cNunhw-ApN%c1wPwc@#(NSspVi(HnZH|xA-<`8pz!Py zVVm@iTr5XaL0?2^GMQA*G@{p@AkE^ZM$>PQ zndRrA2a_Y_T-O#n1?X@5(ryq+%R(K~JvH?I1vo`zA4Py~u^^`G{P%x%-_Cbw05K^=JK~G*@Hp%!$Q0LQb;8>0%_E!`cLybWaWeSK}sTKtLGOCiZ81Xn`XOUoyFchQ}4q?3Ff zla!%mpU2Pi<;@L_&Tn}%C<30qta;C{)m~!TG1cbE@6*td1x*?RJ2J6XVLGBwY9r* zLPL|VruPA4QzM;(9-AKNW=xG>7@DWoNcq)q|06-DleF9S?53i#D0XkC$#t6{P82#H z(lXP^PMWa+5EAx4;2?32iaj<1zc<$MA0}i}WXzW0p=N!92V(-+2XjLX7)jM*Ki24D z`&)}?Z%CuLy*IT0x60X;yx`v&yRgo<=Gs+Gow1b%CV|oSG?I{=O}lPt z7xy8!6fWn%qnRV?vr>r4rV1`b4{|lp%lf0vqvV5b3q5h#TuiMVRx%Dul9BUTGASdz z9h@*TY|VqhB<(j`H$9eZM4;(*(u7--a=^*f0(;t{&=@#cd`XucBi-g<$97rH%H1YW zzf)W1&wC5sXC0>7q-c-IH^hfJ4xRBXhYdm+16GH7CVqij)v8bc^qic=5tJsh3;n zgVzha0**qsk`qmXUKH30eqg8iYqd4~ji0@l`VSNvJ&Vh*tKU+-b8yprlo0Nn1r@e^ z_e#n!CH!z{Jt!NR$net%4?r<*$Q||_KjJ>7A8|Y&6~$e1`(Z|{t0CvEYbk8z`c(Y< z_=yyEd=6m7opWY6q**i;a+ovya@V6z6;o`9`{gt#_fHI*C#AoP3T-l5#?DUKqP??~QN!+z#NXr|2~t^O@NR8z^3xa{x{z;tBmL^ELTmR1B#FqwvpGG{ z?ltACs&dWF1o~kBGqyu)dDb{F$yY1UsMq^IBj3M|9PiO5X~%zsI^*fnc<0N@&nG)s zL)OQDiDa&#$RU1dk_;{!G`n4^eTsKSM5v9d0Czy;@uVHH!OgetfVy8-AGCHi! z|B_-}a|ghO)sWV0w%FND)F(-iz@K_L8#*xwYRzc9E+hY54s;d*;@Mk1E~qfjFSxAp zUgI3DM3Cy@BKC**A z6o0E_w99bn`mTQ)5cD5;*m3jwP1wGL=g!j#c+P6%DFu!q0Q+_w1P6MsI1+nDF?#dG za&RCmb?$VB*Txsw$Ur|0U9um$^7QVj?;-6MeM8SFpi99c`5NFpgaX8>Ng*P7hOpCq zYSw`37BH8;T-5^cXP`rIC zlGL=H^+&TVkh@9%V%Ye~CPZ0hRtcXn@XcoC;kDDvmNEPF<>9n@GUd;wC3j`CJ#<75 z3}H(BZn-ya7k{obtliN7OWIzXR~FqFT=r2cATavTjwq-p z@;!|hXUCLcZm!_9!qhaz)a=Ix(pLU44QxS_{qh4$-Feo61fHP8Uy4c4_<^s6GC zf(!rjOLpuG1%bCo_u2JE#~<8mcRb%JG-V1yTGaUl|JB`20>-kp1YTIdgU;u0&7Xax zEE8h^D4ViEMN}+?mCoFX#Km=emOKt(>kobf13OmPJQAR)-xf zJA1mo3a?+{VmC=&LPc7sd^Yg2{pEddXETG_E)#;3EW0CEHOv(^!X{)}6&$;p}~{M*?wG$_#CvV7_=w|qMVYIKHG^$%v-zwX>>{?if@v~$Lbba8 z3`2^t|8rL&^X)0DBiXgy-?*9UnD_6tdh0QKR7B^XabP!>E(Jxx<+;@Z;FGwr8)XV? zE(&aD96G>T!<3sVv!7eM!0v0-E@MR|_|ez=xdi6W6c8eJ{hUQG?MtT=#;Y18R+jI$ z?1%0qO^z%@GF^Ett_cv+Zsu*rjeT#W;Bwl>E5VYVly)i}pZ!}y(O$4g=V#V{eFMQ( zO`xDseIG3A4lE$1HW>aJ8tcx&)odt@=#vi5;WgJg_)-j#vW-fAPP^y=8PcQ`zOH!TFrRR`&kzE0F|;+Ml^E&&3UBPx#rI46q9?`7eCnj)zWD z%U3|1c#Do$Iy-=-qAL{=pc8@b$xDEBovUg}e>EX+B!U zD87bx^71rbR^K+zaccZF*ULk4FPOF7!XNtQuzSyxXncG^?`Qhz`u$ylMxJ5PM#&#i zRUC?fJDirqgn4^V&$Sbixk>2~moNn{)-Q|ACak(WPanx|t+`Nh?dR0rrR_%?|DyBl zzB*pJnYU$Nb)vvX=MH?z!D`2EKbMs-p=P;(@q)M*Y9z&7lV`!jZ4NFIKOfYD)d~)j zRWt#~$v*8qfnCW1U+C7qI^)O&JU=O-!{ZNNkMd$VL$loDB-*qMmS6nEugx4@R2r7h zBfj6^k#!1kEq^1@aR{%Wt<pCHMcB6I|&1r85y|sz6H_J_UeS;yp zLo|r6*66#ug2?9%e^^x%V3HO4E#AXnM3L&U@Y-?#{30z>3YKmDfbS!?c7EU;RA)D$ zJq!3ewQ+P0oAy%j>Ff~OKD8|LpZemj_+DoG>!D5oMb1y-%J8tfHhNc61b*7+IOmM( zeZq@tevoytrpq+wsGF~@{DfY1lvWfD?=9_yGKGhgzQqu1&ivRZ3iF*c^|6Qh{L3v`Mp^Q<<&K_~f=8-3e9re~FwuT$m6K$8=+lV1; z*84xUx2@;zeDM?1xYVJ?n_)uahJPJ_1$STBY}U`x}?3OBm^^=yAYz8D(sk~Ke$(MXl#8~C&!luZ4|EN8=q(W zp6=Za2T%LXU8-J5I+}WyTHtG~Opy?2`NsFP=W?6e;~IEMFtq&q8&lZpbfJ~z&kk~9 zIH99dNu$$d;fWooXqfv!Lpy)r9!rr%y}qT&xY)tT_Omh78y%9$YyUNsTbNXQ!Rq00 z)%*@4lQa7#hBCXQ^HzO;@HCg^RDg-N9&P`hETOo(YkO|_Jg|9*96YHo&MJ^CnT z`!}zEz0?cCIlFa8C;>}Ngt}H&!c0SS%e>ONdixK8zf7?O4{rSP7;tY;ebQn+O7hfs zh2}n(UaEiLN=&za&4o6(?;{G{M^9^r$2LCr9q}|%1Uy;ZRZD5$DD7mkUG+KBYCc!4 zD(Pc4d}(+Gf%;(nqlPELC85!}+MqcW9m&m$abuM_9Xi)4od-1s4_wkgUOb!A&Y~Dj z{uq~Tw>NN^OHa~`!(`>);6LC+fe@^>71vg0_oCugUEoumMD>~7#a}6A-oRXKM~(Kl zvp%*=G8v6eWbtso+Uz&-Nah4$=Ea^sdD>vA1=l`A#?nXC7`iI`;>?4qg(N=0h9mTvBMO zb*S>=Cqev-b&=IkqG(8$Dfrmj9d~(zIGp|n*z9|EM8|yx*U>k8*fRWm3cnUNqi^N& z4ECr=DnS1E>VO)xr>s(#A3LBO|F4cN-UlMdQPPC}Ir@L+c3AT4-tdrm`fo>TY=qn3 zlOorjpK7q@j-DGv=X<@NmEms>vb;Sb%+ztu8UAmk2)69DIKSW_KwLKeKkl${qwE9s z@E#-{OH0UO+s+!bb+{NY81w zWq96D@glMOBTs}<;J%H~okr9&K0G07D;LEvlHh*{Fy-$Pu~_Vp4)Zfr-ON2%6-Tqp z1nKGGHFno8Y~xDp;uZ4mKZVJhWyAuldp;<8IvqjAN7M)U=_aZ{Xc1ET%+uqy2hYGrm-(S^0Cj>8Gm5SIUk8E&8xh9G)H|)GvMnekJ z^>##ab;{fKAxZ68eInt)RjaQ_v8!n)TNX?&?dop^lP=Q3jw4-PMGY=F##K)fD@2R;N}()E>$d!~cLf3^*46u2kK zh(*_AF!DwV`5@+#GAz@=aPw7<~-&u_*j+9dbsPfJDwb#LA{A#Ot1qzpb&GZl?)N7Hl|HRc_OKFK~V&6?@$1g32zMqsBaa2an zqF(Y|*9=dQa5+UG`Qa|f&w?A2zl4nLuF8bW0v2&=LhnnMfx6#+%#@R@xzz411UxcK zd3uB%KljW2g<{IpW_ILK73h4&cxN<==7^>ts^meDp(0y+g!T=m*>i&3V#y(pr3d48 zbcZ@cXSosmHqp8}K>iq{541ZyA)H=iGgE37J{ftiZoNG(q zKJp%j7!7CZR*uX4xJ5}TU+UZ*(ufY+eLa3%(EB3j;54>eKy+R2g?C>)b7yh)DIu@x5%sdh_N!_%WlO?APWf_Mj3t#T)gFipFOU1c zzbjem=U23EnC15P-o3w`b3^w7o}B9d@>ALzZa4X@?6N*6H(VON;*cPPU%q%o(j)Jm z`~Hrx0de4dElQFrNcsBGx5H7PQI9W)paes9oqR%s{{_h*Tbb*(&llx>KKYjNp9c~2 z*dA63heT(nLeA*2TioFQl0OQFw{@Xquf7!*H3>!$yx;1)hnHkmY>hgA1uaB913O%s zb2)G9V6DDDz(2ZMqO={Rq;B8-(70B!mI%ucZH7fxGT(TyYN&N&hN>F1d4n{TyqUWl zoVTKnGWF_D%@aNT6B79+sYYF8{9407$vZQf0gD<|?&Lb(XgQWE)D!8YBiHa%jQxEH zB6!%P{S96EFX?jsiPzmen;X;haSYS8OtAfUWs7ZO@ZR|PQ7bQT>|G@_`o1NTV^8(S zAm?KI|FZ!8@-U3iy-D2)K9VuwO&v2!NZ}Ei$rbD7qmU6)rHCEMJVNUtSz8<_Z{yM&=~5 zP82%*TyguQjM5SvHSlM`5V8tTcFWU40laywL{pYS!ks)TXARTiFL-bm5_G7y(s__6mPg6CC7hT5^PPzbZ*} zkGWl$)swotmdeS47yz0-40_r!p7_-pD}3w2^UyLFG-b#8&>Wk;DzFDl1FrNM+&KLJ)iG1^wFTXFm<#OCh zzrnUeczG|Rb!&8K{+gzvORl((;t2f5Cbv$XBcI{mwIAht+WjjBCfwE8&+UTVahWgu zHqa}2S%X zJjS_u)rWYytY?!L5^#L1DZg5#!|5%H`_DwGeN(^pJ%8_pz_s5nT=>*aQ@Sozk<7`Q>LPaTmDTh@5M{hDg3Nmy9p)$+iE0!F!E z`udo7hLpkdq^gr1X5!l{a0sQ9nXx(W75_o5Frs}WZwzc}dl zadWwoF#`OoGXcfB=5+)=(O#B_$kV|ZP_c~ckOk}z1>ux z+Fw{apCD`xn=*U8GxF19^D=^YzIHc*k5hkx>p-l!K3dQ=nd>*?FI-I@t!D*`7ZE^oz0;e4}g|;OM=cwcz&fZ`I=bXXZaXD|HZ zhO^(ba^7jpnyZB^h}|mZQd7RjL;KrU`s=v+-RoT6uA0EPqhbfX?pZOdQQhl2y1XR^ z7Xe8dHpkoA)A=&zPGI`q)}vL8Z|zoqyLmvO#QVN#k@ar4nohGwSIBr(V7GEMoMSd1 z-seeT*@740pkMG2V)pZPM-6MKpBqn_8PuWog2^SjLdNI?Pok&dRs?!|bW9_n8rD6LF;EPl$^zSa|dYM&}=7+-*GxhV~$FKbU{er<0-;W|oQ@1coOTcwc=FP5_pK zRdrjSLVq${)MIn4Zduj`i#{-+SG-H_E>xe2bdYs+buQ;4ip;xCRE_&MITpbV4t_X3iP9E4+W)DRVT7l9Hww~j!U(MKItJ;m*2c3D@DQ52Z zm500fxKoOx{eJ0E<(}(r0+|25EzH}o+C2>KNYK)6*c4%Q_V}~;@2m?Ao4rTOg~Gby z8?|j=aS0jl!3286mfg;T6c<)*Ef5{p7 zX<-S6yaW=^?8M{7&YT#HyGDj=Oee}< zl>7c(ISe)9KI~HTA3I!fjtxnR9ri2bV^d{oIZ&+~CQQSw4RFgtEkhr^k)xOXC-?PB z9JdCi)WI2=k(B?{`Rxon$o{iQ==EukhSp^Rt`CkZ;N{-4tBNE5ZxyF{&d*Nn~GStP`BjVRRV=|0dhIi zGn>oJhz+~kDglufI}`yO1Zr7>$?mnD{#|a9tW*E)=xFZYF8EwB>xC|gaX8O5k3Kn! z+b$@e1tV83Ub1ur$7pOGs*L=>~|{Mh8<@kjYDYM9o5`dgm$$Tc0L!KcwY@) z^SA!f%#%MW{J1;rc4VS8!rm6;Cm7E3Hlp`V9sB0Nzv~ z7&gGP-IDV@Olf#YU0Zzq{L+{{awf6-p^yA!|Ti(5q0i&7P`=Ys+;-|Pltf>NI zcC_oKxjY)39x=og7w1(idEY4f9*^r%XbpcM6ftVdP2DQQE`4u`y5f3;C}*2pvJRIQ zTIzMP6nH)~8@1Vdow*=n;AfXpu&&A={pX>jOPYAi)=?La|1HTqNG|| zp$NC~ttlR(poyC02d&FS?Z+oGxn_8@LbJZn03^1;wj3E^SLnijhX($e>)aDqF35k_ zzif)4^^uFq$n6P2Mg()6pU02Em??C=k3$ggQ?!{{$X;D+G-~iYw15aB{Vo>R73Z9) zo0^ib6$b{L&NS(#G6M<6h=lp7_KpD0#?xut98W=9A|*c%6H8&83xjRF!x#XY4*XTv zw9P~Ax>WU@(U$MJpuh-mo^LH{-g|G<}Go;F6t@tT_ZnGyP zp1~+U@p({sC7et9S|`-Fb#l+F89@h-oYDp5NH>9&CB z`JEt5Y1b(`wu20ZNPOWU(fR(b%C+i})FfUb>AL zwS@y67@zO@7MyWT)!D!aH#uD!ei_udpBFnxoxs}l;3=|LU4aLZ_0b~gN4MbAiEWz2 z$k`BDrgPbpS4YtSgDEqwlS_Ef!8p9CK21>cid>+^r|D>YAD$fg$@_8w0@t+Rj?Zwy zBRGV)@6<>lE8*Y~Jgcp(z(eOxG2{%&EMLbW*HYIY z#g|~Ci5vwRJiiVB;R>4gVP?R9?JT)gu|I>=x7y+UnS>-9mgL;QS7<>KeqQ{-OUHah z@Y&z=DtoaE@YtDxKm&UEt4+tl0?v|)~oHEg5(a-3!Ly&)c#^fg9|BtN*R==?D1JyVJ{^ z@4E9Pl;Q3`yA=eIe>&hd-BgU*qecC8*x}qh7e{SUMhH8)z5!|X^8u&GS-WVG6oTt- zgF8yhFp@3a&}*w{9PSer(7{%(<-aS6=p&Tby1ke9s1=>~mT1Ob^gh3v;U(+itI7S~ zj~7b{YbW`U{AmYgeX@fkYN4ntm|K1yZumPH#uwf-<3xdP`1H&KMQyhPJpkw)O?_W-9<6)yL7(Bv7T^ZH zctCFz#Np#U*Ze6+9eo|Z@oe%>x01jHCVn4&i$CAYfxtl*ID15(cJH)A*-9USNO{j@ zVnLm*k}3N<_$g2*ygn8Zy3-i%;K#H5;Kx~sdi?CebOKLP0q}KPxE~P z`^d7HBYtd<*4^8;C|@f-xcINXlVoNCc-WtPHyq<*Fu^t$x%fAq6>V0`hz9uR_+X-X zCYYQ(dT?YG-}u^$h)qhY&%Nnb^y&`>v>iW!Z{k3k74KO|xNU-joZ=^c>tKhMzKfxg z{T(mde{?bLh>p;8P9OSHDDj&=cCYXFaQUtIjn2biMF{-py4mBt4Br%FvImp@0Ar6^ z1(IBf2=y1Q8r*n=^Er-f9jON@S?M1i`6&ejG<9WqVr9n)g0o+8s<@l3z-7hQc-z+< z?%R3yM;D$N46`@i9cj@DEbM42QG!dS+^5O%kmO?EzSSA&?X{sWy_~MqpHFXFM7u*_ zfsDXJ2fR&O=vQ2-o5=@{=mT5gPxWB2M@u%2SMW9%-Gp9g z^zh0S`8zAAZ9MJ~6~2r=G68vT5H<4;mTvaBF-IL;Hlp`ZspqtJn6W5!U78$L}v?q@d&b5OZI4$-!F%)y}h4AMaMQQCS?5ToOXN^ zz2K9!w#P@B?o}9#Z^slHe2g1(cYr4*dDbkui z!2`tr$K+m{&E&^hE5Xn?28Pesz%xA3sjc=8Z++7l@^k<4dHe{T%msfHUeR`qWBAmq zI^m1ief^LZyP@WFI-SN__mMvw$@%SYe>>U+i%#JkebImCLu9zXd;6|TJ`}a{$(-$j zCs%j8uOJi(lVkTTR>qsfZ!6U5Lrhz$23N7DKHsf~|Mr_tm)D*%;h)^5$KVA^U%&g? zzvK4nzy7PY-}%~CZ=dAZ0jrUsdhp*Qr$Z@A(sJ`Z+h zFManLZzrS9^K*3b(mVI~b74WA2!`=|fz>reka;pzJY+vnB)?zzLyxhASlL1Rw03p((6mh1e5zzZTW zibBAcMUWgRK-vQi&h-Zogt>Mx5MqMI5);H{xDMwLiUAwI-Vs8OeqZo+tu|Ls0{2wZ zKsnAy+Xat4;Wnj68R5&@xDL*RHzRirF7TjCej8MQudg}AJKX$616#9fd>d4HCainC za!_(^d6Y*dI10(yUN_hE^&L)l2sW>?B0}^Eq}aiCaipt|b+2F{Xlm!!qX`oAJ9sDI ztCazCkOdudIJ{1hrOXFUJ~^xsCj}D@yNl7%T^Z7QIg(QVsZ;mDp@9dS$rfHJ`ET~y zvQu&YG7$Z7!kiyP-NudKZ1Y12`hrz`61ik==4!SySmT4wVC;25;cMUrwmv7P?op-^ z=*Q50Z!l8>$?}$r218}}ad^PjbD?yK%sq2xCSlGlymvkPeD+_wI6;D5#O{Mvw9k*k z3piXG{(y;}qoY0zIL`hDozxa@!vS6I1YA<04V`y*Q^DYkXNTANWMhNfd3GRaH=uGK zK9Q4wfHy4&YG61dk!&Dx*5=3}S|iM=dWb#G?8L$w^ z3A;+hv%yY-x!Hht=(WJi;2Ul3C-LD7`5w{TVENKbGPSBH35LtD|0R(6qKK|VFWCNk zr$ZY^g!5pNVR$I$*jZe=x}RT&;5*z;aKsA=Vn&Rd(7c&|7{TtqH^`^s=2S-q9BR*g z$X=o@apot`k;lsRLbcD$%7wRn@Yz8|aEhVh-=!P$PP@T?SCI7JAHEnQtr*bv7Xg^g zaaz;ak{ptrOzRyD-FxI6zIS-&8=ZtLe)vt#&_IX$k?Da|pv*^IGu?|9~AYuY9|5NhJMjCJr2)p2v~Aw|C~p? z34ll6Y|AKQk9W@|!@B+@mV5~t94qrR`thgmrQe+ojzV+D)%L6)9M|Y4UF1LNqvrEr zd%PtXiz!#U*(N?b%im1@YwX!-IE#ncf@{VQ`Rglu=%Mdun!PSz7pIS3 z$2T^h9T>H&oyP-`S--n&0|U4YZpdv@Uiy;zNoIp1J`SJg&-$r<-#r>&;LO)d zzr%qa)#p_>L!=c5zLjgW$8&io zQqI8l$l=&4LDjcprepDAUk>h*VcP20YJzxp@ze}D*l?ach7O*yUH9Pudo=*E0@WKq z(0lEF64Gm{2&p~c;UE6eFEPrbkl4%T$#=wsBjh_9?>0W}=+M#c;T$>oQM?f66>h6s^fovl$n>Ynmf9O^ z%0JkSRee^alC?de$SdN5QG848CWyA5MljelexPT##}_dCUJg|!-dwS`)p7xCOr&fj z3Ix(k1JtlhmutRjugvI0y{}n~DmmWHa z2Pel`QKy^5D|+=(`$rg<+W;4x9>uVFMD8=5f*CL?m?EX~0fuwDrmu3!zOK)NIJr!= z(SyEgvX4Dbo%zi4Yp;SubF$&@#1@|pHnR91&DSJ`F`3*F9moH{g$^Z;^n1QH+TpfB zQ1GCtki%OnK0^Qv{lO!yZtMfz{9Ev}Rm^rYq-dh0F?0CxjbHuhS9jmXKk@O~*WUPQ zG{19ut;bbtZfrbwKYjKHW^*UsN{ z?Zp3Zj;IUv3!i{59Y;n-R(@ai>f7JdH~&G$6!8|5x&}U6{arlrNmlN?;5lbfie+B- zZ5%@ecXHLnJ^DZNpZnqMZ~Lr$@S>SymFWuspMYchL0Y9Pr)>#R2f_iO$ccD@xQNx> zF{0xuLYvT)BmPe*AkqQ0;Iyh|c$Uu|nxaRa{TR*q+Oue21(6e16!6TMO%MfM z@|-@TAJ`xf2*B`MpKOdH3xa+*9k1E7jLnk3&Yrykx+c(F`lIc9U~)Y4jF8FgdCO=e z<&M#kE>5Q1z`>ar!q3etlw^sgbY!rP&BqT_$+*2F>^N;Y=Jk9Wszah;9}!6lqoE7r zmNeEc9l?JBR$Z5%;RSpxX?|pRc<1fmB4}ALKt8grD>2uPLEi>J!SY{;O8 zq|Q6skDt@OkU%3mCZo=ir66wQK+@`-JN`tELdyPXCvlkkwdgy3Z}mWYJ2SBn7(V#N z=C1dQLt?={Jlyw2yIem-v&hjg8%>GfX%!E~GiVU#0&&z9oC>*67H;(3SLDad5D+6A4zL-fwVb<8@~MVdl%y;JAi> z(FK+BHXp$``kat_2Fsfy?%mCTv;6SA;Oava!n3N>G-Pj(DHga`GZ3y zOG1O=)oXmbwpL3R7`v=r_TY2&makz4lV@@Ftgg#W^SO(e;lmHCC|pA1?F`*|Y#{$< zwsy~m)5-9mLt9A!$B+`E&VZxG#rPiy+|;CYwGZSTGnkDA+X-)ic%CdC_c+tDclsTD z1~N}8BwGP7R?sv_`QB#`ps8e z?YHj&!S!d!_>%eh!aI4*66olmXG^N@@RMxQE60}E*Edk+bd7BEi=S}S z#^4Q2V!i8hZMvsVF~2_WX!%FJcWvrsGrKi+Ts)Bj?Jqb$#U%f`^F@J%6TSw|Dl$5J z21VgmuC{0P$+>oMq#M(TKIrWH8Hb+j(G3avH4&vLddM1W`yDRw4)`2dX1l>*3))N= zw@9uX8srcP@BIB}>Ni~3Du4ST2cGS9t=wfc-~BW0`aQfkz9uG*wkJ()T>jB@D=zAO zdM^%;rIj$(vT}VdW&{^bD`HiFr{|&9!G|CFpB%FTdGGd_s2$(qPvhBpG~BO4`fRdF zj)dpv^vLh_rwg|HgYLpf-gfEI+lr3{*7>6d+<9=lqSERIZ?&Q8Y&2x<{Z80z8!sT zb!<8XHeT8=IV(a+^ot|OKE(L6*;eS{f9kUHbjFJgYSACvkn`2oUC{>qyN|xq-(LK1 z6;0|_@pito>*q1z=i=>lxz~M}eDf;WX8%90* zB%5pVdp=8H_1J!XK74R-uO;p_xx#dE{3;&ASMi<>kgbUhxsu75g{jf^O&OTvTr6yc z*gvl?uJ^&jVEQ||4*z%4k;(YDxA_IM8?T@T@7S1_OJBULYVjs{gu>3>k7sCkT0C5_ zf-Xd_ShMj?{_tyG``YazAAWUjR{Y`@er+^<=(SgFZ@&3vMUGaaz$0Jta(j;99r}%z zr~5rNeyt3>WO~|QG2a`X>&v+h%H40*$?cLKJpI1%ZT(y@M{D}-(>b5oX@8CX-T(iu z9r*6K?8WDJ+`Z%vhU?DxyyWZC;nO|W`Q`Vu<#(=YuKVp147LWZ-M|0G1j?JP>>^~Z z#t=B2VXWZ!O++}-RpbjaoPlRGDVF4R32u(yLTt{v&cMTnqezEgn_;d`2I>5TEGKyd zRX911fQy-6UGNTbk3iAnKJDkc!mXZOw4Jf)2M@#1!4VM}y1{f{()oS_>KvH*znIH0 zGq44qu03rN8P7j5+;y-lX>F7;Wm zlJS~Jwj2E=ShH66GG`I)1}G|q@VsCi9155hAMrYY@taqz#Pp z#h|t4_&5WOC*)Td)fc`ps=bmn*n$$8)dDrT44WTrGuAsi^)h~rff6kcPV#hZN`!iK;=@|6z+u!Vk z;}2V#S2{fIq<@D&JL9640*twZOK0#|fD;(V!HSc~*Y9L}>GlSJ;q`vO^U^!3K=gk$ z5 zN0a>J(C@{-JJ)njX*(v&Qf`B{9Ust?2XO9 zagUaC@5AiaZ+zSgYcTW$&+#^1)?2iMW4P(dOvb~PD>B6c_X^GmeB?ab!;d~pN5aMI z7N5XB(3x%@&(L+~F8e9YQ;RQDpwGREEjc!j*qjy)tjG>Vhb=~aZ z{7<}6SX6vF0L01gX(=(?*VZw+3XjN5AA?wbmwsvEEfM2)xZp5+w~1;=wDa^3P5Qaw zjnyCMdmstxymr(5K6ih7-Df(Ze|#k$=Y~_9Hz476owM?hkMey5oO}ykgPsI5y-E;+ zrPzUG$LD1O^?!8Z_+v7iT<>_#E}v9H6KC!R53bjW6B}0>R5-`?Sz6s~NIAHLti+OD zl0nStcYN(0Iz5}t_wRAku7Y!DjNj?X@|^gNe;4h8lJ4jPUsf2-_RfAOuAT$m>g~uc zxQoU0X_W_DX~%iHOkcacw-4O$-D}_RZY$^R^bu487kKCw9R^C|GWiC>Vd?iP28;R+ z&qGs`!#O2Ny>>5OW83IM+MSj+I`>!y$OqcB50{@i=XXf%fyTczV4NfA#* zLpnYlq^Hx*da;auek$1XHU(V#S2#fv_-A!e5hgU)v;5C>Z>v~buRrvHePUIz%!k-F z;^1=z6L5A+ci3(RKRKN0XZcCz4B}}EJ6K_+q76LcP5!pGORyAmz`x*>q21ni`y2BI z&bjCM^qn0UY#lu5!--2_1gZ3ZpNx0JQ}o~~6}3zxZZDh)1PVWVHN4-uXLkMcKRG5> zc6G&~>1LM~SJ`9!UBPuJkcP?J#KG*Z{uKk>3%)lnDKtpKMt6OfOi{ezbH&4pZ+st_ z;mhMTauv(1mv z^F8#c?*`9`dDE8Z9t>Uc3HMX1l`qLv@e0n0stRxP!S5IF!()Caepv-WA7aG#z}Fnx zJ`$IAZjz?1*E=8*SWk$m!I_MN{=PwwTH z;EaCuuRZzT>9>E!cip~TG2=^L`f_hn`PSX<5tUaz^h%rT7vJ~l;pmS6Z1wz!jrCU^ zx~&ev8%*@l5pc((mhbjEUDP8&fvtxv_*(bd_7ECap1gF{L889@C}1b!Mq8(3@^Q%Ltq z(*HqZVF3P)1aKY0yWgA(c&iHbsbBqpzvVp$p94O{8`l|V`WBt_kGcK8k2%utyOyfy z3oe`qT+z@8H778rO~7%0@nXpizQ>2h6$=>2b>H|^qOb(=P9_}F z{(@(DbgpW+tG>d8vN*P900qpLR_*Omp@1w^(K$2tcoackH2|6Om88TdyfQmTIXHZd z7CvSQPSwz$K;S*J^s(#O&*TB%a+$;L)rHTr>oFjK!VHgfI@IiX4ieAca^!pp1LQeO14I|u z$CFp?0`Hx@p;MCY@O}0b9`DD0cqn!`%)-650bjNnj^?xQGj5F6bVPuEP#}?Xf<-)R zP}>Kuqz^fM1v}?BnaQ9=_^jU-_FuolC3zQ_>bHB);5pEi$-iqgN{Q6{W|c3Q(jNnk z(aE2ITmKUAv;6Qd^RjX9*u~!VLJsL;f?PjiJe-nW==LWG!63NTci-oGIt7l`lJ5Cb zdJ~V9Oz|=Gk482n7zpMo(DnPpK>5;zbW(!5VBUQ;tYZ0_EsK|u$GzUM{`r*an5~2Z zeqopPaDt>kXjjH-K4*R|LKGzHsw;|>6$|Nb2_hcuEgJFPK+0+&393OD_*cRtdEh^7 z20FR0JN~WMz~`*5^xo&*z!kD|fs7^K?vWh86@0U{OKnOL`84+J=+e=$@EJ{=Lj!!z z(%}Y~^+y(ayF(0EF_r&{zAXh$4q_NK(0}yKU&bpi6(g099#maifmOr$_oxj=f0m`^ z8*G}GUWqpwq|oo$DXx$Ken>Q*O1A1JAp6{EF-3}SrVtWVUA#Dgq0mKd!Qr>Nb+9+1 zH#@}i`#sGg76jp@el7E z>r43d9S=H=PJqwP@Ok2MFze8Lavk~zUk4mk{OPy7uGqnj6yl}w43i48<81Sy=h?HT z>BixicxYu2I>E#{e$?muWjsB}G2Duu(Lx~=q>kP;QPJS=mEwke9LradE!yEXovFR= zi*;AKwViVyi9y3iXZHp%o{Y^Z7ZL2Q{kBIx9a*^c8{ z%{#iIU;azB^9}5i3NWicQcUKF0fUB7Id9rZIhPww)dTvA^5q>i`pHy8%(5F*dn zdvxJvcOH5p4&U%dPUI1i@glmX@8Pzh#*(YUa}rRrx%|rYmK-qv&sSI-FKH~rNii0yb2axDj1O0V31+V zdfW>4(V5&XeF57ljxC+(`wHgqiO+#Od3o%JHuYt23~u>6ID4%;PX+H|H~HUqkwPT* zgL_m@pV+5Zv6Ue$-5XB*hGVJF?bX*_t7v)h&^@{uU2Io>#)9;HzOS~6x#`IB_udM} zJ;1XSXK`tLiM#AlUI;IbyqZ*bw=sa6z@+i;k6*97^6K7PDO7zP zKL*e5>u?<%a9cn5o)7ZYHGfBIkDbv4{PMZ@6Tf{Yuj}5^?-?JHx8uOs*R|KDbH`SX z&6CU3=kQ4veCqFN=elzr{BzB3c+64~}*_Qhq_uZ@^=Y<#m-j698 zKu)F3?AF!61e#*(cMJfCQ;HQ!Xq~?ppxXXH98+$C zl#U@D+!+RZ!;t|w%#cumV+uY_{~Tv2z@hUF&Wx?TBliUG@LoSDl|l!cuB3u@#BBJ( zdjkb@cfabR^UuQ9?7UaQexp?!mQGVXd@)dv4CAje6W*O8gezy^5s_^ORR0F85@i7Z zp4VnZg4UznIKjVhvZ1`^EDegm^ta{Zk#6>yECc|Fr~#>VBsH<(4Tpf2@sFIqU9ul+ z4%H6rXhbu<3djbeU(djw3Nn&Ea;h(be96RuP|2meG&X~nf;X-n9QeQ+AL7XLWjYrq zg$>VAo&iL7(1YM`YHKfufz^GERguS6E+mCdMh0p}xpS@!mfUNlzzQqf_T-hG4Xkek z7Ka4iMnIDM$+G?wY3PcBj%}dYr$pMHy*AG5dGw{nRwbA@x?fO={gW4c+~0IL7&$g_ zci{7rWJpero`g?r^-WK-qgxVeiMHjUR)|PQCSR>WU64OqxZ{I<=t<6)4*Me$4K0tQ z{f-Ac=RO??&U-yO8!IMT*R@K8LhJWBiVo(Xqz};;n%fT#rKz z_lg*^4L%|`&KrCz@OaKRJ+Vi@W62Yf?q099TLE!+hiCqGuM}iYbvb_%E_)uf_H>^Q zF>uq@mU5;SRy3KJ1(QD7hsW#!Is$d{06elxN2n;@qG00r=;T^c^fZpuN5n zCCF3})T}>$((U=%L#w{bR?POIalFZY(%XJae%+Qd^bwvR0Y01rcm5BI^_9*Vm|FEB zA>@O}@#qR!@c5zI|LNf3QLxDv?oTR!=_7~K{da@Ok}G`jb|1=9^XZ!zRmlqbrLXY6 zW+3+&sk5>A5@DF@2{Y7BR@5Ac~I|08d9=T^5H>UsZD-uSh zHYs>=asSa@{&V(M`y+Sk#NYb6vzHZNO8bxkXv}{z~o1NFE`PWNT|L!5?YIXIN2l|1OF2 z)+LW3v9sw#F!p-mXe1-;#G5@r6`V6b4fhD!D^HVGjENt0a3y8kH=3rqCvJ}~A+9KM z9_OHI{dLYN4F?*pLab{u`*2;M6J2aCy!f-_2JxGX;;sBblB|&7zH-s&h?&H^#Pn2r z!rLRi=*u6_*S#$&K8h<=l8}@B6?V3~JR4dJh&Ki@n`d4_-U-u~j!3|t6`r3C|%ZAPdvBxIjSN?zgsj3QoxNpU)Ik!V6 zehtTPz@q72GC`9+xIc_%{4evG!ZL4a!=FOKf|?jC>g5`FvQ zui(b7%1o`mJ$79G9Iu=$TYuV0EqG3U*ODycIQ7#XJv;F9Z@{0QXmIH*9Q-;^mk+`( zHt3w39j)}?TCu`L@sCf(puIwMIL4&t+X~sv*XqQO;T0RQZ#ozmwTbpx)TAR{-Qb+R z5<9G{5as!q+AG$)GRzbj> zPT&jlv~w<@MNWKawFN(cX>z(vfW^D%CjJHAJX9GCCJEeFpeXokA`}NWSJazpP+RlKU zua!Hx=HDLKskXJZRtA$jie*;p@Y;)Mb##1m{fDQCAS;ti(2y%0ppoquCp>xF3h8_0 z4ap}DGk@vvDEtIxjLzqwlb=S3JOMurUrDti+;O0&y?CHFDyNf6qKiaK;y~dV=l<3g zf8+M*D<8gn>=WN|`^s;9^>!~k`L^%)doX@_`(`U*=S%PBXQN+#N0-AQ{QPFK^uhOI z&*89GlRab**SYD*5IuUMJs8)Y>j(bHx$()hBlB;z_1mHC^&L%g-MQ&ke0N-W?E3{r zKlpm#Lxv9b!rP%=-<@+@FfZEy%OBdVHrjpgyWa=D8O$94IR`$)QZ&vGGh^cn<*XQR z+c|V9q2WoU2%Uz2PA{hF@cO;);d|8JDB&0weE0bd&UM{yOz;QMF($zmBjV+$pq<&5 z@WampVut)Ml@gx8xBev)j;kNINRIX4V8Gg6Ompt4f)m^fr|a%JOvanjuV<`ZYG7sn z^jqzQ`*O1tAIhjW4Fmmp?S2mLIHS$D^l*V!#7ZpA61+QahdBJpIczuMyFS)e-!0|Z zY*08|^o>uhh2M;q@cS*8TaGAj#KB?-#WlN`qwUkcNVT04Gho6A#hu|j!#ceAAGx~k zu1l`$zVA=x1Yj_c!yqf!lHdOe@shok{D(|ZoEdV+iO3z%4Szqsa|?r|YCO32R-Lf( z-e;ds2F43^D#uB^jo)uGT$@?hfGhgc4j5h9^Xj)La)F~I%p8sz2770=njt#|czeow z%rTz>+Kv&{-uMyRXug#i!OfE{^J?hR@5x9`cY!YB5*YULF+@A~N;bXU=;m+9ngL3_ zIF9H>%Jr8V!4WN$UH>_XDy{u%8P;$}Ryhc#Gm~4(#m6T`JswC<%`hjN^ zx}-@1FtA>-t*(r%&&>qW!)SM%!9WHjJp|oWgRFgh^^Zfc%EB8z(0#g;u51QQpk13w z*rn?}1$A=@)fdd5A#TIj_0F3c#!mmMZe?~ZLN_@D7bjyd;k93qMjY{ix?BJ1lMA6% zoyInX(ZGtVxOD~zw&KK|+B4w3$z1R#Er=nro2}yi6?n~nE}C}aYCfR@DF33=v>)9DR1AyfB6 zd^kjR?b2&D#4PLjL)z%!(B1oGPR?qnVCng@baBlD3mv!uMY3?&EcA8W&1@|`_8ooT zDLJ*-?#c)}$$;5p_fnsr>38&U2^`@(y-S_gN57TdY7BB2Md>%h$QkOgUzY<~uqwET z_MX!VaGa#X6^NbfBjl5Adal0mg1^_~5**$0={cN2FuTR+A=rUW&?NYxN7I97Z@{{J zyWxvYXne}oUl<6S-S-Mb{JY-3W3YAkrw0vi?R7mgIQATTXuLtGAnhjG643h4E_oz% z2Il_A!4jvzLMJYog2yw#37)b&&Q`%}<>@yu+W;qC34G>Xx_NW~zvDyv#$$s$0;&Ds zQJs6yk^C5hfXlf#;HS$EORxwawu3Wo?JbEHJ=iOOAvkB> zqq}XObau22&ugGgs@Vhbvw>Z(QDbE<*@_9%i6y0bZe|*N>t_0bXVVjkQai(~z)N53 z+tcS~IdE7ral^|9g`Qb8ab1FK2~#rPm+UK6qH}EPWWCNM8Rq}R2lWLHvS51} znr)R_u-;49wFjr!t;%`p!syt&u(#RUA}@y*}sUoGcg}HY#U5cmfQpjd+phhBk^kIgGHWg>kXzYgU9%4(dXe6 zTyboDq3Qg3GHGB-<|W21SRupiZqT2tToOIKe*OCE`Xx#IRcEr6{F4##wiP$w`zCt? zS0xRatnj!J3Qyz9`qxf$6Dy);92}jkOoRVs`D-IA$2Z&RLT$+t2^51wGCaSN9PQjD zcqN1Qym+rq?ZD^ay;VMZ+<4f1RFZ@v2a}iXEQW$*?O)fMWRdREV?5x4#tSlbYoGt( z^Wn!Xh;P{jXq@dJ$F6CUzi{Tpe19?hqx5F6YW?zQ_`CQWZ1q7dBH6x6zDk7gqw@*r z2mJI4oSaJoPm_a{$@Y6T89~dqLU-xnw(VOH5MEYVQZx3E%%S}KcrhCgtQo5Y@@UeS zB6{;3`a&b{Ia`WXG68XX%kfd-fBc%PP!treJu#BQD8Xhc9a+Hzv7k167Yjt@qo2)M|-@u`ij_lc4$E7=~=xMH`C+8+uA_aXlEENDM5Cz3q8pcA7lzJrxC&^b^J1W z#rHEiJ3FlM5;6QU7_6SO@=mAhDLFJYn*K&RTid1+lPSJ{>>Ym&Uvyxg_hy`MUp$NV zWbSrp>$;ZA10C6q#_-cVStNt&3)@NvEzYaA2gw=7AwKe4d`r;&LW5w4;G=(a(P6S& zr^;`VhpmhVw(oBhQRVfWG}Ls-r}}2|mze4E(@%eL_tjTl+0c!aFYbQ* zKmY0ODL5)`Wji@o8?_~V4T*jyg8_!N-~q=;dPU!O@7`9#;#XxR4>vf`a(dD4Q;)13 z|2aB$AAE4Sp8LGo@ZF^km)}=C-$%RpxXPiQvR5DO`|h54_~th_{rT?lY{~6tpzpun zb;|s(Pv7+mFW>dCKHXH&r-psH1Ux6ZdQ$|#avrTRmic|%yO0Oq)!7dL@O-~-#!g@R z3-})rMY#(&a1eBt{$_NiGy%UX~eTTH;z_vLRrr(^YaWm*|L^Xf%h0zu+-q$ci*6wLw@o!BXn*DPxUt# zj%F>>^1puA;&wLiyOfH6Z^|1Vlq@VD*9|Cx3e@mygThW`<8&S)kYPx}rx%c~a9 zgtxu&X6*eLWTWMHAM6YxV+a@b(MKB#LUY2(kpZ)&23J#hFh_fI*~Rz-m9luF9lVik z<+?&?&$Qj`8Q`#-44|V{%wA3|Gn^~mZ+kO0BT<=hSN0vsWHwLuR z18yj>0=GYXIK#kON*?B6mnE-#L5|=W?v|>Nd1YODO=Ub`SjnQSxn<*fmRt#j_bi;z zMbO9yN`RQ~xJXvsk^kVJT zvS0z?4x*%w>Paw(Jk{Y)3|4D+2`_v)NtR<14m_uQ^j62;^oTPKp3Ml|oSK{W=gzpt)1o`+e-dw`UJ*FkEl@AfE=7^*-Ijhbqs(+>4fIENCI0^h>6HGcF0p z;Hy4UFAzaH!3upJefsSnJlZnnSe@q|Js0iLtwJ=%HdI*7@h_XF7#(lmPCqP+m;f23>H0$I9me$ zD7n1`R}lbsbWJYn z3+>^s1X6VZcUPFj)B4P2nK84UI)+Bl!((E2mbS*D_;u+i`-_r3(OR_Pb2?u82KzsR z1C7{#t4s_Z{Tw=Iq{hDB?^U18BUc7M^lu4GuttyhyLdZW5Pkio!{d2Oe9{{LHc+G2 zH+uyZ-<72zk}A``zN5>f&*aJKJJ%)i>Q0dXW)yQ6=2 zTy}Xd;(apeU`JccE}Ec`w)JaUpe4XdIBwv6@HQxw3!{QwPJjd+(!e?ulfh~{KT#CE8t}Z@dYjEh(BdV=VZ*=79>oxMdt91 z@7C@PbW31H?_f7;J^mZKHRCIARn8z?a$_qm)6a_!{4(0^wTt1rRezO52LlVVyH;gf zxPS{Y*fV^m_u#S33BAyg-Fa&3Wi(m;%J&Q&gB9<)=exu{-r?2R2G{n;24rWFgowySv#{4>6nQm$*|Y2UnV2<-{8>f+^3cn06iKA@2}M*H}@Hg?9p1f{Q zf@kD+nF^(S?Qcnn`Xh60%(gXHJ+>rZqpu|URv|<;?G4Uun~~jM7!Ao(e7=z}xNrVF z+~7wJ!Aic_i>>D9oAzAifZptO_QJJzFSztIo85PB)@|5;gZ>MX9S3?2->@B#(>Wz)4g8y75SMg}(dRX@J-Lu3P<`m}|Fb)Kxy zGy11o$)peBgI2OyjZ3fiCWG9?IEg;|AM@?CbLj{92iLX`QqB0NZTH}RZ3zRX)npR~ za!a3rafzfLQb&@CoQB!@f3mlXoJj_;;&kQ~57$DRjS}Ie?H$-0@5nzn#Y_BA2kmUX zdHm@4k}uQ2=52rP3W-wSihCm zf6?Cxrk~TJVl6a3@rd@5XNjQXWPiaX*4t{?Xudb%Eyg=KKqpQ9k$(pxZ{=~mYkq7q zanUzAM%v>;V=VLWt#N5Eo8-i-4~++nQSps@`is(o=TZLD*%|EVvkny1_Sav3oo&xn zC5vCSs=Us}Up!j!Zz6&3hmPvtWt2{alz%cK7Eo0e#mcid|v%s?OwmHey@Jqzy6lctiS1eZMZI( z*3Q+2`&VDZ6Q@Ifm|4J)eNSL?;t$XozdCY{F>~L&YX$>pbmZbxE+F@r(gSP=+>F%f z-iV;QKy1dUb~!}XMSRcIMJ(1tUCjR;hFd!q!}ZC~x|F4;mj5$~>Ui$+s_%2mz%;Xn zT@2ra!+r-pqwAhF8B{?*5Ow-+Gv2}FT!|$+QW}8+_`O>?zytdxoVTQfOtWj-Li*e* zZ4y$(nJ%TV3oIEd0g*m`7=WTRqrsaHPp`tf1YKYPpEKiff~L_S8lr`I6TsR;*Ne{Q z6<)_M)Z`8{g)ch-;$nL^N5Gb&?WNm?yfqt~$nA`{7&g-Cb^}NKH zzR~ygH`>8_PU!>%=M4`h@gndcqv&-G`m2w0i3u5<(FX5R6vh_(7o6Jm`dsD61-Kq{ zc$F-6QZjmOSzY)@RMg7ak~kRsDg_^HPAA9=0^%(X+of%;8z?&Do8Zm@Wg9Pafjnk&1l9JtOQ zDcpr#c&J@61x86b16qP+fXqG(rs$;n%a$I$esc^x+pw9Fc;k@FOQ+E{(4zk>C?GfC zx*)XA&6nvW$%-?fb|70Vu+gxr?8 zSH?=O&AeBJ>`HQs_UPXqnvsDel=_9ob8@wZHq+S}zHAj5cx%E2e?3RD>1Fp_NT;le z4L$88Zw9^n_H2K_!>)4DF70|Qk-#3Ik)Tr0c=3l#%9QNdjBvf{TVf0SE;_h(0;TjL z7&&)5Cx^Nr>OGZ_tL zF4rm~0}6rXR*kH!xZQt?MS=@F+R(p);m#6nvUO;LZsRM{OElz<+vCBFg=K_Q_rvg!e4I(=sdHt`#Ygt?$5)Y~5?STgZ-vKU@w=-jqN5 z=C`7^#=GbU8q|3G>GQyZ59k&I$@=ku+J?_$EQ%Xky?NIb%wT8NlxJ`8>smb_Xw{}` zGfuTTTGX`i{2g5BR?=13>}&VWil$^ddEQ{J`%lPW{iDhJlz#f7C+K#~Eb{Aw(ZC+g zE)sH9*Tj21xZfM}kmt(LXTHZZzsi0!NLJH;1`PUMId4GDXxdH)IF-~1*B$%XMbrZ*dWs)MnRUgC}3q@4XSG@90CPY~|G!*+<{2J$0?hq|@k?Bu@|aI^JNv zlC)?hUhoM`^dh@{qrYnds_qkGgKG2~9pZ10ZPn)6_+kLIc9H||D=V3;;>8R2;El^Y z<=s;r>|pRWIbPjx15dUWFKFgjO?l)B9Acy^PP<|P{3WlGqg#J?#7Ut>b@}-GDQb6KU)<1AKD`>PGq{SNksaX^hAsFzgN7>FGsVt*<|hU zF<{~4TwwGYucGXdm&Zmp^Wh`~ltbb9QvFBc(W~-S*%%`}%ig?C|6Tgg{=?BA*!o;z zQeQFC>IGXf$u@i@H}u>JFa%GI@dr)C7TSYTTnqQ;!M@g(gMMeHlRdwKY`o%oyqR!z zjjRTvcF6_$YnSf1z_685efkbB_``KLf|nm-d!wD}#H;m9mb2rYdAr!te1k2p;;}1P zsts{Dy(C-Y(;EtH9R)K@6c0I!cw3>9vn2ZNS(DtZ-~8rRO?ZFQ0i(aT`^|6vsq_Y`9E)5wD=&P-*xaWKL9Un(#1>0XD4Fy=vsT8yF5qgOAoH+WWjgkuCm&_?q7Z2 z$#vhS-^!??zI)dM>G*f+*K>U;bM>RF3$3nxeNHa%{#I8KWOk-|HxR7gX?#}b)*--jWOmSOBVY(638K1lqKT{wsj^lE z=*%-&WcMT+0LB=4reBwPo0vMk%=u^O+DWgy2z^<+UIskUh{Rv^ueD~ZQcm#6! z?QeJsChE@bt1Mjo9?bRSQuZ(XV%ULm+3KD>fBvHScXwZY`PJP=AAfxMN|C|5zN)do zP56w_8AY!NELQnGaK^B+pT5AQHW^Nt;u(nH#P}THrS99?8D8MrmW2&C6o?jRR~ya{ zuyq0a&hKCz!)CZ9DqB@y;794EdwZknPHyje zpnfla6V8Y#U}Xs4&vE)BSIjA%ZiaZqBBvdE{TCkvXf5Nm|8^m%__!&sM(DUN=jBQLhv+yn5!xPPc zzZo&XR$gYjIJJ8eOq7-4qa{7@T~J2jmc#?E!Ea0CFXyGc;Hp@1uq?POc=9f6&d3=j z=sDjsXgAY{Zte-d1Q3WloG~^WcQSUex`BE3;Llv(8^{!cFsaGZdf2Nd=^d6%nA|kqY3x@%=RO2^c!8Dw&KTg zxKDPwpExdI<{Y2P*bBbuZnpN4O}4`2tu|nAg1?!0dZJC&VC*}`F5onCI6haNJZkGW zjmm_-cKmtfQ{aGx3#Q0jG6Il2i!KK4449>;>~!DOj-*;5m%IxG$V7u9b|iX}5=(#G z-v9vLg0brR#0J0T+=Br=+S3MDqw;8X{l?3~^LQ6c(EWwC4)wY1fx{zQ0%)}3SNgNZ z7QYM*&;>lx!#J*-nHv{MKIz$T50)j7J;=`RITwxHg2Y98?OA=d*}HJ`n_oO~c>*DU zqhOGXT{QQp4ffDL)}V<_&KAQpfFy<45P`8XhPKaH|8%Ufd%io-uV5x-xc9u^2(M5-}t&C;s^m?%NTigBwnj5eNlR;M1m(+ug zzIY)si}XzpeVuKvXE$5404|xoR!Z{a`VpYBLFYR=Cg?vCKzR8m8oiIV?BG_b=`@(1 zcIMLjDL#hFm29|@7}{YMLh#^f;De^ojSi#h+)X#h(cx{M`3yY3`~Q^=Cw?O5>|V*K z;N-Ie@scG5Gw*t>WSy?PwVAIWhsumLWFi|Rd3f>W`qUpAN*?R{_{P~`b}qY|yp3M* zL>(}o1>PA<8uSstwRY7STNCtL6W2{d5|pA1{nA&e#N$ct+I*M_^WLQkU7`ra)WINp=jyN zPH-M?E2HdaVGvkZ{rl~l32&~W&+vs0pXqv2vc(xfSK{&NZ+waafM2`GCR@KPSmgB9 zmp=AADA)$Hz#C^1T(;+ueM{r{tiz*VW1Gof2Bo|4j2+3I(Ubo6R+!))zizl2@M@0^ zUT;Mc@3G0~aJHfy{SVy56Ozz7L^zos%h$EZuy~xNCCGgI@zYy95MJysILOnsby-yv zJbcIO&5_XbU%Vp@Y(DCYki=RPraL#rIi?WqipOu=vBrUsdjJ8#{d?wnE7xCIeF_`*1^i8IN z(^z3~aCS|6zqqPMI=hUnqe*qyNxD-8FT47e7)xCEq(fDebEJU@LuU^D_(wkp z{`YrZw@u|oB|3~r{_w{?hO0J$C;L%>yH{;%*Uu#fm(J4T=~HE*z+^-jF#0`Qd#3Jm zKAO=>*Ys1pXoZHutLH}t*q>+{yrb`GoLJy0tG=?@KC$7^OTYaY|Bsf%ruy*RpX>V6 zhVR;OY5V$H|IypC+3s6iZMnzi&$_(^yc#1P0o;Q*i(~Ls=oYYPYy*fGtr5W2 z-UwThkr9B53DG;sqnyj9nI1p`(r@1Zbv^T`e}Bh-FnJ+MV7jN?g*1n2xx3SZ35K9) zfk(>aQeJ!hu8ccFHzr_WWiDcj5rg{}j|Jutk&tpuKJ|+M+H+mMx1D1|2%m&f8A2yh z=M|N2b4Z*KgR8#_zcoTp8DEsE*{khkLBSvT*{3;_%RrnNGC|Dw1FL#6ih@0gAP`$y z_;?FaH*;2dJ9}XC>POERU7VBIg%bz7%sXB`m00M0ux)Uh892dw3j4UW^Pu`M0}coM zUQR9uPHrpjW`-FP;dd*JjTI=mKz}Gsjiik~IuqO$BGN-3kQmM}6h{a*QOF z+~f}*ESnSH`u;ZA7hHfFem;9rhPj6!=iXZ@iX=qBkC+N(whuqJE*g2e&yonWCAmRP z@p;P^>u6*_lXwO%X3@Z5i4l#CKLOgc?MN{ol*SWFTP-!bU%&RuUV20Cw;x#mRJ-Iy zzgzy>cdz*+lkQC}a|V`~POg(t2|JF4yt6xO&d#$42W1Rwcktq}@rOQamsyl!8=?ha zs~vQ2v3Q5+<`jcPAS#G62>C8~TYKS;Ufx?Sp~z0`mB5P+eH(52m}9LS?QifNd}}+I*ep_Q(Rs?8yv7(>YPN?NrY@hvC~E*1}qu2y-XsF+>M9vDFDBx5!*G`ZZd?% z_{V;DlgOizk>v5xEdkLb6I%vf+vsr7Z=Z?t_kIFh3iviO)o-}KOE5<^FZ+(KW_%?B zC#Sb(p&B0ym~Vl2{cT`WpZM&)PwmiSwtH==w|iz6|Kf<1mHwd{{zkuOWX8wJi@=yY zlT=MB4z>l2 zzD@t}NV)wy2DCjfpL-@wG~^}mBlbqt8{P!h@?+4TG35gPd;Zs;_6G+3I< zru(kIT6r^9@4{vK^lL}i$!5h2D6KZ(!wojsDZbBzPSjX1yFo?2*&lGAWlEJipFb=9 z$N`-OkIU!I80kJ*9M#|tj{foC;4q+(u-#$P)fcey+w==3ubDw`(14ar4GEW!dt_woB2LXC_%jpp&t>Nme(1z+_BK$!8YZWbi`$K2GiXW_p zZ9@cGNZoKh{n7o&bps896J(Yo8cgw59LaZFzu6;t%*WC>@g=z4=Tq6m(Kv{F59`C1 z@L1BPA(wWn=Gc}wBe;GexAQCbWY6g{UjXj)8*RMOlwBH)ROliT@0&?-PLTuwla}a)W-)1ainq>|;Ou%ez18AfH1YaW zJ`u0f+d=iwiH#=b+lJ76D^1Y&;_ZPs*g-KH)@Oa9DI3Oi7=W`KgkyukeARs`F#>G# zNcPwtye@ZL_xP_3x)q+ah3@Mh8asRCirF-}XH|o{x0FPR`pNGkFQW2Uh4-FQbojdd;=JClSJ4W@^+`!GAFi?!o`-)z+6Aozz{__6Qv z{mMo)G4*^(74@aOPjofe;*)H>di!ee`Kwp$IM9i^!E>EE!>`UxHmQd;+K>#B_?vz0 zw|j?=t3H_`SK>N#Hxb7t(7h7VXHwv-K%$Sw21ndvMzd==8r^@;h zPC=c@U&zDfa*USIsXyGhuN=I6B95|fxD>#>{pmMBXV{e8U?w6uxJ{c*=U49atM*jo z{GRsy;+L=6LsgLQ?BgR+nHyk|Wd)qiXvsVM{68&v9v2pis%-S+@-| z3{;up(+;I1{K_699oz}0v2HGD_!1g4JHa6*5*^XB(}M*Yf}bm4V<0%b1Opk@<|UkP zvUk}mgVx9EaMQO-JFcvOxvAsbsVH|HJgN>n(*1AUd-+kXli=l{A_jhtCBhIDk_m=_Ry!~R8W4;XNQQw z!=IT+yfhGF;H|XL1tYvnH$Cc4V6JVaM2GNXvj?NKdV=jA>fG=MPOx%zc(TMw!q<9 zu#}!?SKo}eeT!sYpPQMj9c>6~((+{VmYGk5-%A={O>|>h&~5#3$o(zQ=svmDK8H3L zsLu`J>-S0eYDwaj{ZD3Y^sJyk;Q|igP(Kes>cIm^JOd}1$!3%k3uf)>JNB>eV0N$m z%@D$PfBl|ZHV^=d*@TnOGHC2Z?Ot}xKrqBduMN&nDp{+WiiJymZ0`C(?>c+afsR;C zr;e;#@^})Pk*Gkq-x3H*RomVGi$aL8 znrk})d$#hW|7?Tc*LBedesqt1k*?uVH82T?m$VF~C(+i58M4F%8#K}je05#&wP3ow zECBAb8Nfx@@1s+I1l-87CEjv1jP3|C^tJZvag$^|M52ZF)Nfe~ch}rUcKieHE`! z_`{FRl9T7H95RbIIy2`#b!$L4f)aEnv9LMFF!xrFLC{ZFIyJ-SK<;ZQ!1( z@9ew)SK#jahB{fEQ!W=!Ni}oqM z6x#V?N0eIvX}@m?tKdP``IY+FjA3m_C>TVlyLOVAcLG!(CnM^xt#}*>Hrde4B_)PO z@E&%Y1hhnr!*$IzGi*MN{KK8Cf>(Idro+D3yz~6As4$;C4GoM1X$(O#t zJezgnr%m{E?veS@e-OWQJsyMT;>PZDEhwy8<~Sv zIJ=NY|N14Kwq>9a7{SH>TduxCp3?>J@ZD%TpVYIR1(7Un1weGe@7a@*JFz4_N*15N z&55)AGT1Un;5z-?=n+70nLMzM@tRyZ&jN0nti3KM2qOrkCi2d8^ogZWH^9BZ2q8oUID+Ae$mHD7CvM;9?ivW zd^On6%a&QmXE1>Mtg?CE8wvYP27*c1>kkcfzDM-HGq!j!XKjui=rDUF9^!Z4k)4j- zWKf@ymnIeA=H5CF1>X($cNn|-=>+*(gDn|@kGFD36pTLI8{ebjE8EK?%<4;@V6!6HN}45H$FK0X>D%xL z#%=8jey_`=$KXH%6CZCI^Uy8rSuH&~8;aV{55DN1oWdS&;l1swmGPSJ2UbOpy3?@p*98mfzl5 zDVe)uW#6yWKs)Cp8Q8>MY-A&@!(KN5S({$3eO5Ea7l3u~tMiG$u)5)KZ>zJ3$c;zc z`{tW(5{(k>(Zr|NNg8*EoO0Ymc`De*8Xom?WJn z*ADxDKJ3NEfkuACvp6 zc8*-^l_RNxiZUfIn+T~XZrGoj~}&n&p}IIqKod)PoD;KaGyS<%Yz{&X7$H#tddix>mqm# z-j<`{xjJ-Y?c!1Jke%^38!)-+;ey|Ibp?=g?8;VOdd}E#?4x6FY}-vV5O|s;IRnCQ zE_fPkZuE=*lWAK#%<2jTCEf0op(+3~2QCiYX>f;1XN zL48Sp;F0fWZ9ByVU(t~+8jNV#c_uwrP(fyolMm-mFcVHT9;J8SWQXXIl`7yG9cqV6 zlkv-zRH|pmA)JyO4v^d!JPN4&f$Qi`N!gY>nc<>ufSqjBEW5#GBubS(_FW&IpFYlv z1Cp9W#wqYa%s>Ka%1&NtdS_=;#-JPQJ482}tu%;g6^_og08AY?S1mfT?^ZUkC)%xk z{k#tkpIc%a>}bkHfLnlFqqFOL))G>+#~zV^!$a+!rIYC6S|7FVLQ{jvJlTB0(G|Ew zgW3QeInf?o(lwX++JQS;W0hb(;@k06ES-VdR*Y0`OOs*B;M}h9Qd^a?a&YpSJZw8u z{H&9eq{{}{{EL9nN-?@N+uQxkT(bW+{f{8Ek&dME?Dqn;`bN`wy8Euc(tr~DbWSi$ z{#|~LC&MrQ7LU+Tpi0Iry8v(SyTHL72z?3U_}eGAuQDlS@Byah>ec33iRNZ4AGacC zD;H~Xyss_tF3G@FNqRXPntY&jXw}d8nGG<4 z$tzY3z+yu6#Xx=^Jb|Y^UcMxU`8kXfXSIOWShP_fRC*>WXoptNK7%g=m#00izY5yu!_pNZ`y{h zL0)*0wc%Tt3nw~!O)B_qi;3UbeMElx1m9vs9d!LLuCtQSN;8@R2mE!$iB$r&vJKAY zwe4xqG=o*L?AY;ZdzgCLURxU|U}pM5eUj6QpJ)YU{?aAE0M_pwkn_Xy`SNIWFPfq8 zNuptWc+~aLjbJ5X*|Not4Mv`|EqAZ}H6RNXa>vwND>PfCWDlN-KTOJPYg&@0 zZMrl4@jSlr{53cEV#W+|#RcGYoddCb$u4xCy_h_Ai(h6vdFUk!YtsaSi)>GCYtu~r zV4y!Y8TMwUd(nA`<4~U+qvP=eJ^gJ!?} zqT%Bw$)|08{dQ@W+?X7}#|?agkq@+r!RqBDEWpyWIKJoNT>T#T5BBI`V9ag}&)WAn zm}iUg9{qmu^y9T7POw@yEDjBNZK=c-y@nmQ#6)X19dHHF;&Ad^JK+t7I8t)$Rf&mW=zPH2Y!Uf4 zE*#Cn*Vu&Y8oQt^TM-e58=k|L?ZEe)s{?`haBwQUJ9uYD>0-RLMLA&!XZ|OA$s}Ud z7e3NswiE>yw`tLM-6>mIUP_mrKS1m_RO_3mAK zzS@M7%kS%2J7MS(?mm?}dcw{fn0|QwDtq<8PF+b+c!1NNx`XZ3r+(GF+EnK35)ddQ zeBZrIaDxp1oIApdUom`vVGU7|_%x>E8%H>baD*eiR^sY-#F?Rp=@?m?6hvUgh^R9n z>$~3u3j`U^eh*lVKf*wa;QH;zrk{&=+8!?9bIILiv~SGOj&}82*CyG}kv=TTwHNdRw;2<{8oYRBu*OKc_aRvd!r`>QFu9V%;XWlp z2IuH4VRdFz0(}==%ot=;^lzYW@rmPRtOUdi%XbZ0Cs$L@Lw|gfT!AxO!0ob)1|2Om z--+&s*X16Ay}gVSAfDa#S2o z-}xOp5*udLH(P;^!Qju*`VEZo0L+Ah0wd1oGN_ZoKH*~JKvu8;;W1Efp`q|+jAWya z4xCwTJo}45NWQ-_Xh@gpYuiN%$muT!-n%E0-{diaiH=LgEVwyxaPeLHk{p$+9NpK} zfk)Q=esZxHM)Zj%_!3s**}Is-&OFGllLz`z=UcWLkq(Z@9$DBPcXUcq^{p*I@q=JT z^GlC7;tCx*A`2a_)kRx$(GMC-CgQ`p=(jg>BnyXE1s%a5Fpk3~@Y3&^<#3hL4!#!5 zg(JHqa8n;WpG3E$WpaZfdyaPXQH#l*vnXx>ZL|gp9b+F}_f{tA2A}Pb?h_AOq0s*h zoMirWGRi?pCK=d~TQZ^;SO!nuwYNa4C*+H5F_0$L+7UF3o@6gMBX7t^70kfG4ek7m z&e1*pyY?rKwU4ITQyd&#$Lh?QkeY+XKgpqE|Kgpt1r3rU(Fsok%4{b1>AK6zg?8a# zTUHeOUWaRP7yUG|e&C9?=v8}&C8-QQ^$qsSS_$pocG(1dD{}=bJSBzl+v%aNJ;L!dG9)+hP@_Yx7BcTrlc`zUx=fdyh`v=ywJB z+VJ<-`7O2iu07zk58=b)hg_kSt!fYMT!6(~rHe zqw8!7Omb^i5Nv5SOJ|T^Nw>NiAXbn5*YuKB8RyOLEy06MrkiY*Wy@BTDCduSYiqP#|7S%O+x65S zBc9q0@TlLH?CmU+OC@%17PYFwWye`QM@-#X` zS1XQOwq_a7c!jA%yR8YsA)L{cOY^Go%J#l2m-olLktI zuip|4^Z=T^zi+SrHnER4;(UKqHepHAiH*n+>>foA zLU>D1fFlka+^bvf(;>9XZ8pHpZ|oo43C3h7f^TaKMdI7hpRCV+*7R1%Mz2cGMn3PY z9G7qR)*Z2pihD7S@Bn+A%TB=*7qa&A3U}J^SKf~R_IAkl2LKvwas+{ z)dsrgYNaANl6iJywxHHWtL}jTe{9#C+$O_xicD9HKy1*yt&_n)ENKHjXZ4`ft(OlG zGm0fdI*XkKUL-E)qg@QY?@q_*%CHU^np}%MWq1Ugh#>?JmEWf?m`m4UT!NK?V2CpjbAZPJV zG#dQX_tu~|G*~`J`c&87wl|mPJ1eW%IQF`F@K4wG%ID?TA` z5-&WXoojSX*B$Ea;AlPxjA#ufKiO_DIDA~2bOz1&d^X`ttL4Q^_{<*J+GQJa#5pn& zKeR;-`E`ewN*uVi1X68mMS3>aDwGPWeJfNR*2eqv93P|T?oYOo624swZ?z=-Y(y8l z0oQgT`fRewb`(i#^xe3{8C>BJAe*G7r~l{w@n5!@WcE?tU>{H6#r{-=oJG8zr8mKgM(SOOWOc}#`_u1W7!4}p)8BRfs;gb{ zNoU-<%AvvJxaazZ-*vg~Qr>rMl9PkODWx6P;OqI--W6YJ^NOprz5eqrM{kc0QeQjj zYRBJvJDbw=eczH3*C5w}3yBl(^_#BT8e$+BS-&BET^B+8zK{j1OUHm1@v5^EjBmk> zGMvX%F72+uAv{5MtzKW(=S4gNur6)85P*N~V>Nc^9%i)U&M2;E%lphnX18VwR;(W$+aLI0JZ6MD*~?WgCP+i)6*_ z6OJCCMOY5bIYmx7+T#KGVYy($xfp^BY~UO$nUdiw%vc}Ko0YQPdxu$q2lU}%U=L2g z#*BPMhrIX>ZwY`6atngI!ghlLc!t1@ zc9H>R1ku-@WEGkmV-byN{|a8W1h!{rD0}~xa<@7Hljx-%j^WHObCQRDVC786vCKQm zY-@qRKL;++bl>5r!C?yk+|B6S4@NqN$7W3h*NJR&J}icV6$NJ|y7C3C9(uzFURjw! z{`G4Mz}ku;gRj2M;PnjpzPrznB+qoNKDTAUy#nz_d*mp1siNh!q>!T~vy+t`JgEPg z-9^UDc+p{U2d=2RvQTo7rO9hNu?0dowDmXJfnMPaU;Ho_=s|Ld|7SMsGOA=WXxERK z=xdfrpX6!n2J2)Z0sqi|%fMj2=@h=y{`N4}e-x{&0ze1_z$1TX7h%UwwCE4b=mQ#% z7yZmmRsGS!_DZV`ft$UN2n&gL3lDaYUWX4_RiEx(e3>oEsS1!KsBFR6c{I@tUk$`; zf6(7nG7X+%=nd>=o4^*#0*XhSr(>uKoDEC^&SA%3Kg)#$j|GCk?(jUxPxPT5<44d6 zGSEbykF1zTuBS6-6a55cOCDC%YAp#|c8P9)M;Y|;sSSUAOSHI@5x~{sg4*dp+%O{q z20q73IU6DnPdX3ns(W5_U0re$96OEQ_Z*#eC2rMV-$t|HCTNNWJ!^=P3?^e;c!MtZ zIUTBu{?As#0=W1^#=-uq6>7@Q_C@C%gjOHw8uYL4?(360ur+9^eR7I7NliTD7U>6Ek~X9Lt-aaRTRreBNkKnu?QMWXPJ8w=zL|6gn);&$hfmsIe+&>d zBN#vFt$Ta(OKpLl{4GArPlKP`J@Mb+r}p%V7ZT+72WE7~?<%Ks2S;)YCi*}Z$bho5 zlRv;`^r?!>xm*ga>jqbCt z!GqSD6sjIWi6`$n`B@2-*G8}r|Yi|$x z&7SU@6N%0nj_R`qE`uw-5AM+yZ|P8k7%g(nd%Hz_P0zY1p0j;K9Wu;bo)x&qCh;$m zr+5s$E!$@!YuBHo4;8`RO&p-b?ZR2B>rBeQi*Et#&Y-C8a~_^H;2Ph;!*(@-L7&Be z^jE+5U#TTv$Dip#^bH2v6~x72SFpysK>(-et9Ih40~aqkTQMhIkXSs4Zi6dwQ(1D{ zK>gjfuh#EYoySXXSZ$|&TUK0>K4@~bwy=ln-H}tstpgzUc+ zmqeGSJD=3Ble*!Z`N=i=2BS6;l_cG&8$^WqsaCG-C9bgSfU zdInZ0eXp$-oA>i17rRH_#kgB_MpwnYUF4EniLuTYP~6&>j4#mnhbb;rNtW%hFM zX>w*PP#JIL!4G;Xmiqf&|9Uaz&wlaCyFZrX_z=&3`iq~J zTq${IpigEhH&WCOz8kM=1AV}tjL*?4_U3vm%fyp{knL)CuEJxD|Gr$cevEIXOdM{n?5i2 zE;*i_WYcFeEQz^*8WA)WgTEsj;iPc{N=6Tn{Epem%3=+e9$#%-%!8PEogXL`*!;q*Af>PjwUJ=_Mwj0ahZm(kSN^ZCW zD6*v20Yln1Xyw=p-WYsFc>C-M6a^RtH51bK-PhRCYjDw|f!Ax#IP3Z_Ybw($+dVqg zr|cwyxVNL!KSO2-rQqUT&jx!ApB=iNL3kg0cq$k$;P6T+PDFbTt7{tp7!1NAQh$|? z{%$^y>S3Gv1i~8h*OgZU&5>T6gMHoGE`>Q=+A(W)Y)Lof$m&12)ULhLA({^M;1)Eg zhrV0d>gi2i$P+qC+6fK~4*Zsoa=uIffZR<;FB)S233EyDHH!Fw-zt6zc0y=309)yZGwPSVrt zdjt957*O>C-VMx>e>08zl(w}u0Sw3ao7nHS_UA|XR2H4ki%dRmmSzV9CJ$M@%E6~T zk|FKgf6s3DeRR3X*;D$}vv9o*J4JVGs*O7Q5q+AE3QjV`uRJN?jGoGZ5nWw_Cp#h}BqIY{65 z)g{fctv~2;{iDI_H?Iy4^&c*5wpm2`qRD}?pj@;6(Rwt6X8k)@*{jrD?!$x4Bf}@D z*x-Uc?wN)rspc=4~K7(Aeei{8A7xQ=%5xeD(+6c8jgJIVa#L1)Q zOQzN~opdJ5vGJ9ezT^Y*wEFZL>SG`BoIJ}i-08{`I0 ze9oWr44uUr*FBSawiEI9)m&WW+4R3Ve5A`3$Fs7mn5w~{IF{a8DXI@~jBQn7CN@{u zy*;XO-@I@TXX0Mrk&)r3#Gnq;MYCC!z zoQvhd--;5lLniQ)jvUyJ+1E>+B$1?i-|8Ue3yQ1QVP{zNqnL&h_o;D4P;WPufp&hI1tho9n`Gl2vKvAI}?JZWQg zD;QkLyC%ZMe7CF(Aby?60!w`n$gC*YC^! zxqrndR~gU6O=QodU1i9cGA^GNE}r|Y-d0w&j4C=sC_pkoT{@frrYJWc(~g9*iZ=yQ zN5lSRlxk4J?gL;#Ld*k>U|)!6e}=#I0JC7FPtWyV7a5_m>;=IX2ZJyG&iKZxgQN^@ z%&8YOqZqX#oCnB@Fh@4QrK`;P~kI*#qnuW!ov+zLWj}ioGf_GjSYb9l|wZqy1%RgB_ge>*Fj% zKY|DD3XXr+7plVLEfsrP;3`;QOgLdnSk2OEdu>&g@IC$Zz%Cma<>qt+r}8Z%D<8It zVfeeB|LE>N{NiVK|Kqp+wgD0vo}ffcokxQVHfQlDP-p8+#!deQtAgZeFxa*O zTq{iAY|v@IA$Y;7v$Cbub3`sin}ZVkP52p4#yMK(k5k$~o$>WM&X8~f7h1r(YIonZ zluut|h|J=ZzWgx^qodyqrq!`G810E!oXKdQXU;lmJ2?zg{ic*Pf&^8z-I?fcqjz_nR5s|}Kc1;j%=`bOi2jWQVKzzXjMYPE|V{TLo# zr@wiX#4G%61GR^(pS)z0Lp4}`utC2}{28zcs06T2Ht;_Btq%O?7Ca>61d(RQ#xFD_ zIl&__l zBnM9Rc_?tW$bo<$DohUC6TCi}9Krt#^4uqNe#03}X1KN2v<_V$ZyT_5??Ed8E;`bu zZ@)TAL%}7u*t2x#P0nz$jM+>2Lax95`laqhiv*#L`wQlW&nlD7n~i#0vh3UM8pL*Z zp?YS6X8UdfqXm1)rs&>lFA0k7Xm#&H_{Mkv8Qp@Hz#6>{d;;3jKmDrf!IeO4g%v{4 z8cX%j-2rIMrwNMv){gUGUcPo#(K$qzAhDa;H&X}JtrW<9`J8RYZb)Pp1k`2Uk8BGb z(QB)r$YB2}GQ80V3}>54ysG^r>d~Y=rh5YR>Qgs7LgOVh3>FtWr^6cT2{|Pi58CDd zqtP~bf)l@xajOmWkHfW;RnTj|Xgi|dR$0m6y_T_l1=rub&$jgpy*JQ^UTmMTWOi~^ z-((lP1u%m20GS@r(f1Oh1*!DhxkeDO-DE*`u)u{HReTxFjUzsV2!f#Lbn7t=*F?AN|dC5Zf!gVqgZ7&@aQ&>r<@2!jkc)Z*hH8t?z zbvyybU^xQ@g8|$oO>ufj@<&g7KgrdtatRJ}=f5QeH*;1W2CExXk1hrn`PKMxBU$=; z=(2%rQ>_(irYeW6crVz8PB5hu}Cvz%320!D1$9-1wwQ#rDsy~!rH>+I>X6B~{$ z=>dB}AMgy_oyA0V?>QJG9G#hh&IVIt=v6+DZ0?}wd?TJFUE}FyPm52stzxz@9jxAy z?5fXgXR3X4#_^)$rW11EcFVr_J+eHW{?BuBPpekpn_Q45ZQXfiKjL7;+xKP0EN9ofjmgTQ|IIc4?fnhpl5Pk-AU=gU}GAst+WHEdR300$z2v>;2+bpv*F zgKe|R5URd(!0(rLJ`$l{~rRQXS%#dk9;O~jhY$T(7A&bywU~`b^$NEIr z^$V$t2m<)ij=JDd*Pr%Zclz#(Ovd{|0!M)al#(i(B?WU`j9uM?_#8&14?=$iTR(}h z-?SG@yPrIJarecazZji<{F9IGUVZs8!*TjVlkGLn1Xw2aiXz-_V@DXX*Jf4xi%yRp zSele*-0)eS8CJoifvrn`!ARo~d~L1h)*S7Vj05_gS13id6oElZo|kFl^cn6eOS^L& zG7b*#aiKFRSfczc1N3==um9_--)3ypOD+mnr(ogj&^s5}yEs>wSN&^aOY<0}`Zve} zqicu2q?DUcixy^V=5%ZU$uP#A;VMuw>wztk&v@kD`_76$iKviq64bV&w_sjb1Hw7n z@P1}1OZd(~hjZ$7pma{njib!#{k>atYQYOP?m+?i(bKv}Z4pmj>QXy=p7H^$N6a za%kTLlYSV>t$1j#dl_&8>r2n4zsZAbI|ftwmYDMiPqTC6hh8|SQ@|$EKF1pDgEv{g zABORL-_d{a&~pi=&5jmiZI5PjUs9(2&^e;4Y{1URqXoOd@b@8hwv2wYZX zZP17x!Fd_)GkbFAOI7UeHS>t4X9mbjeTJU74G(9X=vU$juHPmgPkk1Q;Hlug?)4a~ zftt*nL{9i6zwE-28wmq`u$gFEhdnE4P#a_p-t370QhOXQc<{%n4JVx+e{%RjPUy&H zi}(=Esow%v<(!e=bM%WYuL{tfSiTw$1axL&pFBG-3Tn_u@|&KZpm}AsaI@WgSLaFu zWX=m1dKMkfh)j`T!S%QKGRgDlQ~YDT@L#)v*KHLDUj1>xqessTME!=ZUwnXM?&}f_ z5~~;g1enK;uyx1SY2$u_s>cl&&-ocGpN<}AB(S0d1QcBZJ3Qi5D+NiD!7ka==4Ori zzQJ`(TOp)v$&9^01%+!5&jok*S0lp>4YoBSIJBiBx)`S8<%0wbe_#iulStAA9{oi| zO?`p;1XR_jEp508iRv#|NY5lh*~;-ZKe>Ui$H~e9l*-?06&p~rp)CE|XZrIx85iU( z8Ihc^COdE9MpNz7==iZ%Bj_EtYAftx{v*C#v)FKVEvO21iQLh&CMJ*Moh_AY=pqXn zWF+ImzdG#gY$RFe`36qmD(F7+;9Ekl|HBVoCR5RF`lR97>1HJkT?NYOYFB(=fH65& zCOKPM$(VL#7fbeBTPR7E`v;GxlU|BnkmotMt(Uz*Qw);bcj2y;U1kprP)E09&6x{% z!4v;vN8r4Jo>vQxqG$MwS!)L>$!>g=V_+&X> zAWl^GL$tR-j7-rfZ(SJOD>K_!Ep^$GZFwcP(T*(*z36Zz6`tEh)o)U5hI+9;v^79p zJXE{t;T;=bLgBmceGt9)h%kySC=1R*-*>?^W$)ewx#$pU9Iz;?ms~cPS9MNrmRM&lWNs^2GF}R*hs_Z6pl8a~Qr$I4JDKFlW{B))ed0 z#zQjYvU-ifJF!Z5(kX364{;;hYi27*+5Di`O!;S@m1ubOS@OaDm_RCC|3U(*Z6MiS zwq^%CkFJMSpi-YrL-+lvapyE#{+CY!ueX8FM=-;K>|3ca`%ynul$hN6wz{XSbRzh? z$-^O~eCd+&(LucG+!f^{`V8WC(f@GUgw}N6+?GI&#FOhUzx?v7<6^EyQlH`($&!f3`P+Sg2dIyFN*$(wS`SizkUwrfG z$VswuzcI;YpM92Ye|z_npZ$3D*eaS&fAZtuI(wBt(Uy1>tq;x5ScOcw*ky4pfAc1| z@cWcw|Bk7#%3d(QEhY@t`J3bs-pXs+vnK710{bM$ z-23j`l;I+j3J|)KWf1m1!Wh{TV#1P1oRd1h3B(LK5&!BCa#w;vKSMS^v=bz2-#5rX z%HT~&UJ(7%FkiBUt5ARZR%I>t{=*4ue4VtalYC}g%iRI9O-6r z7#@LUxEr7w^oJ~Tqggb}v8uz7jwj);L1MHcn*;c{9WQAc%W+oT4wOP)`A1z4qN?l6^t2FpY4o7q? zTcebcW3uvlXMNwz;G6l?&(r5-(vE@D#)D=|Ib0Vx(?33-H9kB?!v-vMI^7~S91J;H z(jw7(+U$T?Zgt7uXUU*dM1X0v&p= zBoDm~*3F!UlPvpYYijt=?ARdq30ftE+&9x8XfP1lgjB#75;J}>?I-CF7r&Dw|BF*# zL$=Je_N^|c@R37w3f?8Dg71CIAo}n_=N(FVn=#lDy6IiPRCbimZ-y~j;`OtV9N$o{>kdT2zhDxSa6STHOXmgUvl!$vK=F%QYLh-njJt{-C*yqirWV5$CGgSVGEE_@)E>TL^&w)9=Ot%ySpc=RV=d)VMs8_x>1`5W>RH4Yv5 zp6Dt;^ihM2Hw_ryz3cp?=)WX%v_Kb3{a(kxU!@=!o#^Be;6Z67hCN|V1*1UN3{myL z&PEDmYBeEA50c3x;Ob*~pPe&s8Q(!km}(3Df{n>j&nLIl@q|1}sOAdR#?fIxYJJ35 z15LJCvhhu@N(gEn4K_>MC!Nuagc&#-68iMT(Qh{R^;h5Q^}ydHb2#@*Vm4WpFq|zG z1O}8PwYDdM;o0MpL>|5I4PT<&w(tZRN6IglAfTfT$uy|IUP1ZyezY0n6K@FYj$L8b zo+K;UuGR5q{e-i9&(FL6=k`OB0W*tjSCIt9SHaMwBrukm_`Sq7y-Tm~ZKZ_Q@ zN+u)dk{5>4!?W!gK8v)`Dm%;04&N56OyXeK@|waLx9msZXt`*i!ypa1FZ z$&X*uW^d+dc{ct=!tot^U~_HIW8mm{*L+Y-D!X%4qM;RowjsJL`JwE5XF>hsFggYV zRn8_PgXmu3fj`%eH*aL!rz@ik{Hn372++zSghj2F2QabF(|CX=RU{dyyV_P6t2#=JnlYU;dA~U;p!O?mqtb<0bLv$|ixT z>)NDLWoHQcjYn3$vN17WGG-hRQQ|>9(11Eh^KoR9t;8pG6mQ9=82YTjChOV3+jbx} z2JhL;4f<+JT}cwQ#CZ-cI?K;J@q;sFOaw~Q;g^*fi%o);O}}E$hQN2f`qgi$|M>1d z{g?k*Qm0qWR^HYgt09gb=QkQ$(~V#h`^_QC--R36va$0gp2ySJ1HD7{*|v10zSwT7 z?>u9-LU(wJQ7}#waa(hv^ZQ}|G1+`x@SusL>g%uLZT^++!B_mHjU`maQ*E6XUkuG( ze)h$ecmMd0|Fro2r@#E$ZHqK1gfFVYW66aksmL+>#hEVghb^D4I-JxSQt)(g*e9AR zHXinfZIUEpqxp9+!AZy;f4nhI^&WLBfj9gu=B&AJ4M*Kdsg)~AbtZfRN0!0LLuw(r*D>_Hj;MisFtOUrt_fF)^NT=-aeM-4i2p_&_ zIr-O})A6IhL2(6h&vHXSx-o+gYiAf4A%oZZy@nLb*PBsT zPBYVBc7ISr9|l~ox~0~^$OgT$XC(*4*h!d7C|;lKFchB92zCe-9G9_VD7-q=zuI{7 z&DRUuKKXHntG;=eQNJaN^j+Y(C2iGbS{Af-`(B2Ca|ry}=8Og1l?V?_ehEv3m zkUNA^aQir+f6!o5)>N<}(0tN;aNAeUFfwKaTGz^>hYt$+I%M1dOrL!8@iO`jo0J@~ zmzZol@HUbA=inbRu#DJ(_ita{eg5Y^-TmF){ayWao=QvhIUxO_i6EAUlH zEkAuMv6j&|d&4c$YkB`>CNtCpr7rZC(a3;t(z9*#`KB2h8RTCSn49g~ikFuy0ZjhM z#AanU9fIE#%13|5SHHtxq-zOsph$+xDRitisLt5g)>v9B>AKxkLzF{p-K}?(VPu z>gOfLqCIiXHE$(G184Rr|5pb6lEwHkgBh2|1s!@)n-R=@%$2VXi7$th2EcfX&w@%z zB9DbIs6PYjTv2-4{dDcTlDWR3HF#sm>g(R!7oY!e%l3aC&pm$-0VdbA1D~4T zZv!gH0cUl*u8rUP>YwiZ=5L(7{UVwL4_=3p;DHKOGF?iRs>5Cw?4V28i9LtQQmkb; z@Jez)l0^GvHsi$Xy@3?xY6issb$+4W`tyA@FWO6Vnn4eZ>DuF`*|=A4?>_&11EXX` z+38nXF*rB6L>?tp;EAU~cr@j(fBVnBiof^nKK}7f7R)?q%imUyCEF4_bWae#uKPPY zs`J}bGn1q3;q5!RoB5o+29M+$Lg-J>$SI#_uAr>}1z&it)j%oV-Sdw=IyQH0c7JyK z*n)p+Ktz96pWS0~Z??hxZ(g0jEgR=t3`@5KWWW2}zol;v?mqqW)4Lyi+RU5&YWH4I zp_vaf|6sL6Ip6FpvnJL`$RRj318)P_SRCz(BvJ%LzUY>eq8%Nt7yT^_`ZL5^Cm_GaRi@V3a z{pY)PKl@p__&4GH`0ktT%~obp*&9p29|eoEg2H@%^x%GaFu3Vg;2SJTux^=f(ICqt z5o|EYOwIm>e|MAHXq3E?>(M6t(C0IFCU@lfUePYeBRgMz@x|R&pM74i+P10e^(b4T z`iJXevo^0YD$J@!v~>TwyMO+dU(cTX?ce>o`t7X<1|u7bj?ztroWV3cNHUz2U?roH z$C$GIEv*(*^4}5}*F`>D?$MRFGJN6g924;27Xr|8za<#<8QgF-;AErU7Nr02vp?rc z<55Alb7`#Rx~_VNi0KLcpD#~Iqj~ahhP8d9~Kw=?3aJHWz?|SioN<2Mu~$K zM<#~`H2Ma#nR*EUzWr@}M?L>cF0e`b1%GG4K^seoN<7pWn@5f%8#8RtFFJKc{K58b zRYyX;>DcYb27;%bUF(2j}nqQ zgT*c=apC$fznpvh3h$+r`SlMiEbxzpMPQ2`_0|UZ@#JyADVx|fMmoBb2p1| zt+=jDv`Ig%!<4~ng`@V(g!559{pru|J}#NVg^2^IzJ4XPUGK6%5;@|B`Pte&1FzyP zejopXnOl^2;U^?awDt35>BSlBkT})h`vx>8E=hZOAdz4@=-cAYH}AfQ3}=h?>taee z^HunM)XD@CIcy3a^*mqjRkFN^IrL0UoE-x1cW+ND=2f>==79N|2A5U{`mT&mGDo+q zMD%<9Abk58yl_4~3PJcZ{^pv@6~lt9+ox{$pY1<~W^_^_KgH-U`kC(;^pMG3ICm25c+&2N1?xY>>HKA|>ksUV7QiahgMzS9wQ_H8_<;}TYFQ%ruH*>>LmJ(_O4_hktP zeP`WP9)Cr@k012*#~S{ob6o!0fBS#J?;n>KMb}S?6COpsv~TdUMJMJ>-r^nD@Xb~b z_vyuK`z>}j@js4s)gL=F`eY~g+Sje*hNp=-2}>4=Ouz|#Ivx%;QT|A)Jub-1YOSO4>$HlBGaInpG$?JfK{ zyH6$`#baYxckT;dlQAndmJHebK;Oh_iJcO{XgI$ZpIzW31C#rnZ533X+L;~uzTAmz zPW>Yni!XYPkLnw{`PAlB*UGEwyZfH+kG))f=N?+QuJ+l#l>=U~uC6lZe|=ZhJ^j0{ zyia4D>zT6P^t(wg$e+v=KPRBOD(YN8jWHsEL<3Jka3OIGWDGd9bv3T8dM@op&jE%Y z+Psjtkfc16K;M>fZ5dx$Vvr#K`5;(}d4zcFt!1#EY?i*YYxdNoEwG#b5g`%gIFb8S28)dRM-5uOC{UUqiC)@A z{9pa%*A0~a-Q6c2e>wquP!RmMKd*vShO;-QDsD}w80wodNhaS|R@L?gwD3>nRiGTm zm5ad~>%J!pz1RB$b!N+R=y<{@W(?60>=A9j!1I)CvvO_M`Evp1mj$pN{pgbzcLa|S zahkZk3|h8CF$HsIQ1SVk)%zUK-~WIAbocFl{JRWQIORC+8yG~vM-6TmlScunt+zQJ zS$+W|KJWEz-N!pl*K*aTADuG`(B2GfKu1@BUpSZiVJrk;@8K2gEE!~|$kW61TZL$% zO*DMjvdYifwo;myRZKIc~10`&WmX#CpmlC>HuMv0o0|R=s|BTx*AX)9cxhA z;ER4q7MiIN94mJXz9ePTMH>kna_Fob0n&%Z>1-~{sp3|qm^ItVq=;b2r9sEP{qA44 zRE_PBFf{O)&eX@=UeTwd>jsXsyFqufB=^7hpZ~BR=$F6zn_!H;(O2-l#8gh19JlOg za>a(>!)AUe!(ogD3~oB{^k%!rGualLlb`R(xWMi0>{jqirdg0=y|SJ;cyO-=O`jLc zKWMf;yubePPj|oj*MBa6`RwkaWW?Dy50l>`D`&9z-B)dS3$8ipa4<7(5cwkB{_fv? zd-vI&OO7=7UI6pai=I87><0DGi{J;t2|`Oo6indjpt6 zFx^ai{c!l7w|5qA1Rd})GmYM|`36J(AY!=UVHjsT3Z2N6*^I6@L-80x%9?z@q!ZR{OUNH+T za-H+*Mhlh;^M8^`wl2_ZGge4RgG{^&-&Y0BdpRx68)OlM5)Nd6)OeHT~F9(FI%SI0`1{M8i~rIXho z-LJkogI(J_)!|1B@~wJgo2*DAyL1yF*_n@97H$G5L8 z>=HS;E^#$p)^xZf8xie&13a;#qz_#%k%7N#h=iFsWK!b7jK9ILWUv|iR}KE?xbx!J zKCm0ic_s5!TTbz^ zO=ZQTJ2>|jKP{2_yWt=?O(w-ob1mJ2MKYnRK#ZSrOx5t)$@aZa4*`Txc|D=Sy#iM{t)vl;yybIdX48ajDX z$BXcN5zoihNb=V9p4TlT-b^;VO()$GNLH_lTpF_kcR@4^%yan|&cQIgqm$qyKg_)0V(nXec^TiF zFXK!v!G_b*?*^`~@84T;##Y8}I%T0wf9%n+NlRY&skTrVTgKjn510qPx-Aab(+maRnQfctYsT6)WN z1=3+>vyh$1gbNNfgS~rQo5omkPGb|<^_y&fQQzR0fO34?c$Xy@zHGW0;j4?cf(m$s z@9`vl{863QnH*@3zHGRXlWo2}a&p$^@Sl8Sv&g9J@LOA3U2-_|t&V%1j}JHWJ{!LZ z9F2U%Yx=I7GV0CzrQht}(1Wdx7w&^)gL7mVFRX@OuuCLPYBK;C7>y#x0LAI6n3SgF zgfa$8AqR+<09c)DNcgS3dj?BH+1lI)y%E5D7i6~jKK*Gwxrl+Z4?H|!HOqE>Cnf-^tjb<10o!cbDn&GHAt8cTCqWIr_Yb0kU|o=*>fLm z2Ujw(338;L$tq{ws%*p^90v;#Xi6Z65d4ff8Z)jlIOg!UC)JOjP}0-j6Dj8SDC51_ z*Kgh#CtV7>6)MicffbBa1q5->)+Cj~$N@ZGME&&fH@koOj~)ek#;enpk8;xCaZvi% zOzffunER1qxK?-V)0`}n@DeqawwKNY%ad{57%^{uKs&~gaWzG0{-;$IH$P`lZ**`|M|~( zyqkBp=YYQmABPE{v(&?rC#OTZM@RArUv$mi-ZnAOmBwRU%=@mZED}&^P z9M+{r8U6a?G?>M>Cpb8|L~sj2?G@0tmMn4%A3b=m`?^V*0l}eIf+C0UJi9Sb`pX4_ zY<+U}2wm}JjV0&g(#m9Q)(1y!+wW}8;+yJlc}++-<}=_VduU=ZVqoNWb4(a;a)@tU zvuw4P!!wiU>gN9dl&KtI~a@ zwEmvQzcFl;Hqbfqd3#7@9dF!Agc8+G#vFKK^dX5easNgJI>31NgYD3g@o%`A4;x)Q zyfp#g1i=HJWmCuoA-A%UzWwUn?$I~jPMhqra|KMa)iW5n=d+LbB>U{X6dmD<#A|ph z>xdp3L*Na*q;ayptkw)2syDD_gP#}t<=}G2pENmqT0r+C8v%Fxn8U{^kETzp3OW}h z+COWBjg8mNI0QLo+TI-1!z*ohixhCX@zz^oe@~t~Y;X8C!>_tt4rXPfN^@uir|i;< z8QIzyXAY9=_tZ_+ zXA&2EbHOHaWyY}}=lFx4Ede82&R68%hW5QaXif$Pnf@cxH0Juj)sC0vQE$ zqRnJZMw6-T6{6~&6!DP5M9s&4)}!bct<8o zPWhqaXU3{QA6E*loCTLH987SU-&?SOPf}yaPO?}zINAhpm>>3{@xs`Bv4t5~!Yc?| zvHD>T;y~ki{#165Zor8zk~gw@*;vMB9A722u*GDKzxp7bA#0nAY%AdzEX~&D_!-H8 za&Z2GfBySJ6K5-JGD{cMq%b~4zE>BMpI{<47Ekf(!rs-XH)@mojGTw>{{EGSo&Waq z@$T)n-yS+XDI3WaF*@|_d$(HDXnZY8@M7)SGK-)4Gm&332CH^ortjoxF6_d zu5o9!2L=CLe&wa}Wjl~7YSrJoUfho^fiq)U1NUgz-0UCcg2;SfOW0y_9&#nCMu3JL zq>pd~`(*FZk?P1U-771#O2f+>+<}{&r!#AtCEVBK*_I?hQgf>}9sd90AOB?N`dvY{ z+hzPc3kGue*{^>+L4bpT0)T#&b2jH|Wh>~LqXQa2!qYtUY+S$#<4JVpgSli7$>2qc zOZmZkHUZ4Foood+&}#)r!%2JE3FqNc-yQCMxlh-#!+Ypbf9lLt*-MR~ zmzq=UA6?u1x~$@p77V~7d-wXyTayiUba*{|d9Zu;Cm*%w^>x9VSXyOh0r zBl9sLl0Wkdu$h0&xY%!WVEc{X{3#b11)DlPUA~h``bJlM*Vgu_+-6^WdZs<~=ndXz zcjTXZcYmYR_y^UWxnq4Z{7T z*W`WnMUJL68HS9eD5glYJ-{J1gT+MCDM}6?rn)GLG1W?qRlE_Z43KuTH@IX_3}Av3 zo6tYZK_|%Qs4otONsTwT%xe*g_S)n4_~p0ZQp#h-gW)-7rSVxA0hAt(Oim3(hZ)r? zt>nFa+3H(|sRmI-w!le-mU2y2OU7n|GTFt0<&-3A)fIFy7&AzLJ;FV56p`?X<35v= zWavT@OMGyd5HrA(n30=-F@E4P+(mQ=IQh`GiK4VfM0*y`zW(}InH2{)?hODb5ohh$ zrZBHyjQ;qjTsclWX#uDM~&I93_`z08JUOmrW{8o}_Wn zR&e4?ulf?OL$AeqMl^jcC`BzDM#ynEY>$$5(AY5R`Gx5F=z+I)T-<&0{9g5|&;g}h z0VSZH2M69NH=1@{D0gJ_0vgNSEptFVN1`EIPzS3%a2fTqg+F z=M$62Y|6t9KaM%WJ}{C8{j*mb5R*ICCX>tQ4r`r~Q*QR~knXJkYV`Na){_(c8)!Y( zCRrVu5saL^llXq#tI*>2ajD2JUOJpP2Pe9M$*J@v4YEuQ3M8K9;BdhAFCUHGkNiYi zSXd!=)7Fpgvgv6~4I~HbLVTF5Ox=TvSIwF<1WdN7ftg-*Ut3nU`qH!Hvhu9rlHKqP zA9NJh(>4dg-?g@r%--bc8Q$<0eaVb1d*?Gl%}>B-$G2aKgRzz>|M6W8bcf zC62|p_PQP&=Fr#1j0bJM2*kmWP792kKQFynARxyy+=pg8L(7e4XgF#9CjaP}+*%A^ zHzuPbdkgPA2EQ;Eo}0XobNWE8@Dc9g+%BMIJS1DP!zOh%c_D{zS4aKHFi0j{;6KX7 zycn7UPU8oB17`Fe+~mi>ngV3AJ&fE`e>0F<%D~xzMODYX zqQ%_nzVVJM3Wi$Ed|A-kM8f3CN;vw^)v<4MgN&sA4qNmmEnG(CCfBu`3~`tndxG;u zlMs3uu|~DfA_n$WjkE1S@qr!1w^?K%bICpU)JL;S>-;9qg8ehO8@|bCiC$fJMn<<4 zM-y}S=H?D84lAzEYA-ZQ5(PmRRDI0>qV!R@aDemk)9m@RCY{;Uh~5}+ZQ7jv;1qAb zZj3#QXP3+H^9pKqh&)+Y$9MGJG`?C%i%{F)6 zRtt7?7Ol`GJ>jQV5!HuDGJI@(rHkDPzU)|KH-8n(vIe#Hra7xZfe2VYnLfbNYjP?A($<6?K zKFRQ8TIm@%j;6|S=qC`P)yiJD&{+}b1sM4f6PQ&ngEQl6H1YpthbH@^_HC;s@9(~I zcVzcX+Y{K+E4JsBeel+uTO-f-b~QR$NSdt*O#;a=Jm#R==nEIT4(P`4Ex6Ixp1BJeyk8n`PBq+q?0-EYr6j9X+wYAlPI)--2_- zUI(EIa7>V}1yN_{5R(ekPCV$6y*)A?eP*j*W5pSo6{ExbKI0vKLO^%y1aO0F&L$*( zQ;z=Yyq=A5pPzc|`qA!o*^B~x=i|3=V4qvlx%5A7T-OqOO_O?X(08M_rcBZGp`zBjgCOoqq`I3JZwep-vKC}y#4F>ni;Gkn?%u5jFkkAz0Jq0k0 zAhE660U#6y!<7-eW8gLF_Xt*>2AM@{#9VD5iZ(&NqSPze0?>_c8?ZiyNVUxYA0a*i z-YSRvfDFAr2BfSOjE7NM8!Y-GJjzl=IE+w6OgO;DWM|+^F%TIp+8gG@@U@4M;xa-p z8q<<@gFfTG(M~%37}zFVCU1uc=U1P85+hG{Z{NI@lJ(Y<3>{ zaWh=hDV4NnxNQ#Cue~+DpPoLM!>kTE$jV-EuzvpOXYsgfgA`KAtcjbpChaVRuy$|N z$GI%%JFC>etuGF@KNIld=;&+$ZJL-+Fav6otzC}J8J}x=Rz2VsUzPVKvu01WNpLer z6z8x5?gZZqGz=BB;ao~*#7{w)t5;iXz}vZu83&#G%jg*;1;?4ueNl#w-~$!X$LK`g>4WII{po^A z_M;y(XpP*%fkTe#J=<^}erw2}8~;rb_Bxa0a)0D_Qk8pj=bd*)rX3PH&Qfq6KR(%A zZ@Uy(f60JZ(HwbS#>qfn6#>d4Z#h6)&|-KJ?CM^Q?pAZ_e)y&=xELW$C`X91AP7ZH zIcg@3%P}q$kHOqe23idBdF5wyD;U_IX)8*uL8!@MoB%^Cp7Gnps1N3FK7g`6T2_}LF!b`Zx3 z{bXIBi>+q+(MzAxe{u?cTQ;um- zBNrwo?pv90UJly5$dNPI=C~Y&-_^1Po@EmRVP@=MV(=)sXg{B34w;*kS27gc*b1+~ z%jD*GI7{Yi*!E0BBqI&m2Gfe@4vaChs&6W2JESE1TXx7LtvRLmoiS4@M|x7 z;Q8h7C4*Bg-6mJt#FLG%)lD`QT64s2mOk%$z%Ba4H?oi>4qq-s{43dpK%d_=F>q}Y zqGfN54QuQb1mm=g<9a5~Q>J#{9;0eI_|tSC>@SK(E+9H3P zCo%+P<2ruGYJ)pI!4EyuH94|UZek=`Y_`ehJsil?jJN6YA~>n&W|w~0LP2bkLGtO| zCZ8+)-N>bn)fa!m^O2fl6rlD8LssAYFTY~Gn0q-%olj{ z;M&p7C4u3kdKBY-3}uChIRa1TP22`ijNVci2z;jfZ%q zj6(uV2CZrf2+D-w7m!Cm9|VYP(Z1gW-&}6bSQCHeRkZAL7n~^wJ${qo4-Mj(GYgEX z^x;Xi<kI<&Kh%BA!knkY+S!0gD0AhMS)jmg^Z2QexiAg&SZDtW${g*$zqrT zFP+CU@MyeD1ik~9UGyIv@PXYRgR_0-?D+)MIKf z&olcuuU0hy9+`ksIvInkE#MWKtPg=1Z`fmp`Kx&RtZh!qUhx~qKfJYH)u>=RTJx12 zl9wDpL28R}qYIQFzvxA@w0P&m1wU2)E2ru`#%%0THgV43N`H6FjYfupf6JivQU-SLdVweb{|8@vK6YV0+}Pfe z7J@Hii}v%+ujH>j@4!xPTC$DJypkX1fN2YZO`Phc&ntdRDg2l?sO8}f5m0X=XJDwm%45){E z&V1r;zWi!;kZsw!TDu7Xzy4|2$-ni}AMf7#>BqaD{ms9%yW87S4qHG$(|cd%!{*Dg zy^qbU1PL3)*+MoPE_gFI;ca!s&e4zl8@|;yzOn1FRO!js$!P9#yOiap%s5JB&Msxx z02G_coG}c|U4uivx3*`#e@1g(wywqg?wPS$RCIA8F9%p$)4c7p^)%8q04!S6*b~eY_zz%lR!EV6z+^P#^ znUotI83XX>3$gU8jagAb_`Xjs1{Fk3z_i0aBk<)6`!D|C-{1X*|LI>TCGMk{6j{MG zaG6GgeU<p;aYLynUq{ zOaYLgT`-7V+xC*(2{CZvPfQO=bvXzG1HFcJD1aWa*^&34d zN!{<0;9AYM62lpah+~*c=I1orV7gVRoOC&c08JS>d!4;zlj2K#G^h^mNBIeA{2eDc zGLKWS6ep0!sjq=C)Oca=Km!Nw+0!^OHHJCE8IRz?sLv|S48%(j64=t^l2KS+NP3Y72S?P#(V}Fu;Itw3iuN^$%2;;AnRE|Hn*B3b1&x$tzsZO#Z$jp&D zE`|R|2gaG;!--r9aF}#he9<>K;<&JXSDQSV(AwHY1iYo-eAzA2hu-3uzS#FU89&%u z^mlNty*D*{fv4b^)g*N2FQ{i++HeZca9NY13WpDSY7j=l`p)jqgW+p%uyyBh2IjSf z(Jr!%eAw>sAo(1gRex|xFX-~VF{^rDvyazg%2o$9D&VG$XZq-76PP9zql>}ZbA8Hu z@_g)C`hsQ~O!SZ5f|Jb>YQe*SzjB=LX?k!vv%Bv1w;Y?`h&I|`bGMZ)ZOD$|C_gPV z{Be^E^s{nDN9duITIH-};S2ofj)11@6u4IWY;qqvgC!70cLZ)WTRFIZIhX|d*&T+! zgpFf7le5|;gZMbO4f(Qj$)14uz*{{yk##h2whBFy8N@;D$LPPs1my(=jlWN`B{FeL zA~qR12zGSiL%`b=y7Qe*336EAK(`s&lEyBj zc)8$v!{=zBL8fiEhewiW7Gtql)!p=0C*{1bc#vN>m}=ZXj-8slU| zurpwvOu6bU`qgN(clkZEs3YSnlfZu+pS1dG{AAmb)h2-GY*9#XYPMn2pOx*bK{BxX zV0M|WHjZOH1vuGwTj)pzIg5nDBXGeH&-e&Fht7BxuI|agLSMcKy=PDPczCSt@CHnk znS0gaqtkoOOytPuWJUBH4F``3j1N;g7DV(nI)Nr+p6>RCrq0ROZ!&D`U_;oIC&{ut z=&`yM(#Wc}%&4=*lr>jjH{dph*Txgq%o75~I5WI#oCp78gwj`$f$9kOq5~gn4p$|o zsp2e-1nY&f@uiPo?m-lG4eVz$a5maz!{@9tv`h#2@0Sb2%-K-cuA3b?EkJIpG{GlJ z4?0%^&z!qsF7m26gHLikdNw|K?FFat0UYKRf_3H;78V6`mhFsxwG&&$|1x(NzNZtT zA61qWF*07C>hyDL;Mg=e6YS{X&{(fWRd4h8=m{Cy-nug{QRunAU4lh9s`_&G-Ush@ zUeJ@?T=h+Xsdw@R_S-W3>-4B|Sc+gyFp@lFXW*E(RIBxQW{WLSJa23OTcFH#EP?$Q z1HyR@=S`zV_p&L*0*lOiG2;#i0JpX$XwmPXY2|EtHzsK7a#{K2VKOe!mtS)3b=w%z zMRrq$6ra-DYaZsmef5i9?0)i-pVU_iX|_of9poea@t^*&UE$T;-~M0!r`>P-_>b?d z-MT*8llf6^-MF*+@W(&ieg5^m4#PgT`}E#dyZ`>b{jYYv^*evDAj(;wJGe(T0(^Lk zfnfp0IkJH!o{bG~at%L+*UNsox8w!(>r!TPG~9gpb7^;I89#h3`-;}9u6x?r`cg;T z?YHOO)Ay`RWn9X5Hu~5zpW5HrG%wgPR9PoH_DuU|uzlCohU0c$+r6DM!I+*1KuX)- zLdd6sjEA?O_^s11PTlhi0m14(F%4}2ifOz7+NVp|>DU0-ZwM&=!{1PIuzT2CX>W(qn2rL@OxETx_CTbO( zoFJ-wZ5w=6E3G&aND~!(*$e)%fy4m2-yZpPqi1-Ja{Mkg8M8%TrOaJwb^Y3ns~M+$ zt5YO0bsvQlglMdo00Sop?x7p~bMB)LXMiDLlhFW0O-36nQpiO=c7tIUgP!p-uxfpy zxq(G+WW(ioaO{_6>013|IBQd2!~WWF4CBXl2Fd#7ASlOC4wBuM_wIM7;K@vsId~?r z(^k9_cv!TJSJ6m$LW&Q(xsi(u`@mDBT!I-48F`Zda>x0+6n*f08B)VR`Dw14VWRkpa)U9NZGxtrz zt#J5$lCCk7qZPp;cxUP$9&!w9|J~? zqPZYM#IOIw>#?JKr>`S>=|7y;z}f_@m8hg(IZWxotn!e_;W37t*N6)_mdjce=y z+NH<(wIUCG83$wtZ|--%tjsZXOrT(MF4#wKP8xINW|G~6WbjJvxBltPYHK;`lPa9k z$cbJwPpVsm5sbSa^9k+y!{0x0W_unD;0b1bXs8d)s{31@2%jbx6aVR(YwTUT72L3D z$2qJ@Fck2~&c1AtN!~cD6Nol8#as2&^(nh+-trP`bO<&PYTz(Fp~u)2GALjMet(?c zGk67^Yqd5jZ`@Djwzmn4JcpC}a5L6(mY$t*?1UG?ed4h<{DbXxJda}@ZA? zvJFh^x!*F`&@pPxZ}kp((+yqQ&IWJ~9hfC>xt2Z2W=8ajz3qnFfz7ryWj$8`t&PQV zrJwY`n`ZCV_9oPlNKnGb;8+LMh*7Wo?VB4TwvI}>Z*GvmL^ zqsIT?dv&!flNMbAW$Mdzvmj)G>Nx@_Z+vt(AvGaCg3`_$@+P8yj(2Rivpr1y>NNX_ z-X<&FZ~=YeIy>>ANxez@#R4EN<}8jDd>U_NQc8#5Tbm}5>;am%2f`QW4?80p&-Uiy z0^Rh9twT3w+RawN=u#umC6?fGcwFqyxiMCd|443VvqiCj8}u+;f6*2j3u_jk$d2=# z1dHWQSQO&38ADC<1Yhu)jha;a3pf|V^LE4F|7pk5WbGgr$%QwU@cr<>Swz}&y~&rv`xTg3Ta@S}T|ieE9v0h% zX5orPChcBfJ;D0wKYjWnI zG;N1nc%kv)6T8b#Kr{Z4+i;jI8hm~XCZ4rPzSQ&m)x~5a{WHc0sPS){Wnmn$;YEVJ-3^AAlLi`E;f9G-c-d6Cz-%FdvNd+5{~DDSi-$19<=RpWC`+}O8Z zoGjz!CKo#2j7)0PKmCn<)MKCMsvY;~i`lEPBOl4!EP~a( z=h+j|%qTBM1M(^l5ex=N|8_=&M%)Jw!^8+Pasy1xKZCoBeg>sWhm^;q-ef2+;GByQ z!~jc>d`FlKQRVgJQqSeNwqE5B7(8diDEKIjG)-*~ENx7dMS{_?Vz8~c8#4#?Zq9%n ze0>{%(azSFNV~Tr3|#e%pe7v~vu9s2_Ga8T^xAfKk8=LzERGxx2OwQ*75Vr7;GfNN z=LHB1yxn__1vadpaJ+6N+#=3SvsND*glAh3Lth7wS{aybzRHgp)A;Y*taFnX?DNY;NqEj8($1~tmFtz&%C$Va7!uf_a={T?mg() znw$=ur$78%5qxdUAW-{OBL)|6g&*adNV7qs-^0fge%r3V2{x%(R@!HZ7O3QeLMR{l zQ@85Vp7MBR@&UhXGCo^fg4{aO<(wAfwTE_OxF0p#KwvLk505(s;NR$m4V z{c&&&yx`#2qldtWiyU!UHd%Jh06%EdzII#;EjjRe1wst`i!M_jnv*l>gvy|!KEb=3 zhIC^JE@#2E8JD#2m+b|g*Gnc7ug|B?4aT#LB76<(oNni?eDTSr11DMWXToT5!7hwZ ztK{)c*4a6JH6txa`arYwW?2alojH0oGpAo<{Se34K3=!rHl)n1`MCd z(QkbyHG^3V90ZHWUE}b`hn3A|XEc^hi*C<)wb^Gy)F<;{0te|qPA0t3untBKF84;4 zE1jj|?GX0x_F92~1u9^gz!01ZG~$m8BGv=!W9y>n(4h&mba=WxG^3mKy3@w!1sbLAH8mQ-!Lpi8f-j_qWZmIi z`DE$%venMA85@$FWS>kjOq}X%Xki8I!r18Q)|NvJXK;<5Xq8yZO68NYbX=>4-|Kob zB%33v0X11%)gM~ne>eyrdH#xg#@ zzZVTQ{9Z*D{gUgdPqr2Lzf+ixQ~r8(Xr8wf8Fe#KvH5RXkwGzdw^w`o6tx*LXMg zlOvY(u(43!4jqiy=wM8NgKRQ3hyB1iaKL{uyn=HMiyNMIKm9stlH)lWhh}JmvU?ps zNCr&m*rC}|AFO+|XY#>8mR>&N4TmyWm5pgd+&FbHf}e{Yp5r||Nn4S2!Bj6+kjXnq zo^2n&`)0=fO45t)^Jm4?7O@wN+g3N}HRgqNf6k@IwuY0S>~s1kH#L3ubD2t zKJ5&t`Y;inEyax~mzvx;hs*W==cPR_2+Loy9e5q+-ojX8WigZReA1gsZnSu`7Jcwn zUxJ!eU!C#hfM&Mous3K}krx;^tnHV{!Aaw@Rcx~9Ek71qz%0{`eYg~lWd2&uK?P$w%B=-6d&!a>uo7)((KGOemgnx8;(cm!gs-W(1HZ}asU1| z(YrH4k_%fgY)iS_nS3%b*tZ+EZcP10)v>_jfK)WU)>$~VF@DvS1&fv5u4duG`2YUh z_dBTh!DL?DzI`Wi_NMK|y}7B37Fkt%)PtkTyBpWvYFo>_8BewS&AqROzTSexUVhgW zW%Cod^u-sSw~hI3yt>$-r4I+^Th+f`CaHPJ?YD2wwxAb7zv}}(oxS_^I~`PfxwA2T z-UM9+TW@tM$V;x?dh7N&@I0E`t{fco>n&mQ>|S$)x1xn@te^k#lfnObuzl5nhD@#Z z-}|691X|2Wwr?$4f713VhsWEh`%ULqTx((HO1$~>;jc#KuNHWCaR1Bvy=S`*%9=k- zH;x}3&+AuZK|br1!nb;>5_))*E_rAG_`+e<$ySwAgczf9b z-N(QEXL|kg2fKg#dw+Mf9;M>DtI4IYOt!r3@(&-k@bauYkNEQ<`Eu^e%gzII8F|RR z`3?H;#4kO3?N^|ujAT@lS;UM=e5hy5rwL67jM&^Qa~=vO%dkh%m>WFLI) zO9kTycm@`IZm^<{a_X$>_3mnh^Y{PW-`V}gfB8Qvt?Hw3JQ*7_0s|xVc4r?ve)P@m z(_j6(^6i(;2tMi!3XB(x3cG$k+P(kb2lZDv(x;!!fNda&vct@^dUb{)I63k0L-|Rg z8Z@J}$p!{TOODCVJsQHzy0y2tUc z5;$G|~YiCNj@fmK@Ue9ZCc(K83>kF(n zpf2|Z@9iN7#2 z4imN<;e-^Po6|UavHE0!mf?pBrLM7=G|y{uV-DG-ANVA`s2tvyJ+44bycxJRgJauI za$TEba!c7lBa@Jghhze-R=xB~PhMHwv8o%S@Io_=t(6}KVuHh~gtx#X{%q;gGZ_g; zIyo6n>Eqy9I~$#bC$(yI*fn%R__K>6<3O-Y|K@f&tsnTi;OaSN6(89ic4eqkyRtaO zLF@kTvM2ChA3|X2I0#CxRyzV2@EUqnUl0}!@MedsY(H-T8Bu3~rcVJY?@zZc)pzHC zOt_-=@zvz~HMu7HIdoAO3Uk3n`nSoTy_6$IY-4bOYiL%z$>hnInWCk98LpQw%4k~ zv(X)N(9fDEZ2?Sj$`q+9$il{e!D@!tzGu@`^rUZd4nveQPAod~d{!%yC%Ra<32?A& zt-cOE>4uci@)FA|f>(QEbCgY3(2a^uW=6OPrVGeLj=AOp_TVu_u$St3^{B@equ~tV zCT~p!WsIF`#c{F*@l60BS%(|Az(S5v(V^31Bu3|vE&3lJ(VhGX2$=McJ$*cj{#I5; zrfP@Y*&4|KdD(ZoaSvTw`r0l$@v3ojoE5udVFfdj3NVtV?89WO)W@`;&Gf@7B0a}7 z_R{JS`^C}N%2}m@BRd3_jbHZhr|HoEylcUL4lEx6e)0Rvb__m!e&wN~f`i@EskCftAUod9MmD?!K_4;z+_%U+{o`9@Wtx(g zglaND*d_Q2TA~j;w7=T!L3Bks_eU;cK0A-sVWS z($SIVX0pOwgi!G78w~4>K325BC*#w?hH-@Kjb22+pr`=hFj*oOI?A9U%nB!0XtgXG#!3E!u$!N3vo^0WG!ao`P>%nBF2G6U;N(Z8! z<{Rou0Kr(-*9n{ruPZ;k4H@WxY~W|f4#L{{e$28`@81_^v<`4b*I<<9vrp3EFS*OzxO-4 zfB5^K?q0`()5gF5?yvr(-JkyV|D)aUv-HyZEV&|+%MNBA(+|7=2iYH4JJabzY3?bz zUF?N&E}tXkwF|fH+4h_r8(*iga3e21_2-jZ`5PP5r+&1zwe8dItvzu21FL$<``f-N zt8Jg!RMw|{HypP1w$H6?!S;bG+&B6xNDLGi;x$OsDFQ?fgqpuIK(SP@CXsC0*ZNLCl^M4ShFo9TIvc~MjzCH`C(3P~7AFy|8)Kd{ zak$jMY;WJWJ8gRF#XIl5pCLNV0JN8`!9<%5VY^idJ-SG_^2r`=jE{-~7dR;}_)L8C zW6OaFAg9R$OdUodNT+QM>r5Vc&SB=bZh|@WGqxK|IRLYdHJVTdu+0iu{R&8MHoOKE zoz_ZKv~N5_8O}~8^ z8qh&gC##6k_UooU4s3D?&)^3qnR6Lb(Zao2 zYqC4&c``BEMS5-${jg~HNlG3lW1~zcC)m^tK}7Jmc<7Hi8Bn8B92vLK`i+ToXa;;TzYPW))Ud1%&bEsz6Ms&ipdz?D zGBNiCp_c_R25P!s!ccp;ZWCNHfw7W7*2&I>i+<@^MbrHTzcGAG9(oP5iMaa$AmoYs zvpufioxYw3;g9+mVk|Kr`QNb^DtWG*;8N7a* z@QmIDtHZxs4uS+bz2J0vW0Y0@jN4?Gun4m~Agat2Z@u!n!Xs0hF_X91PGUmPcQ_!j z6=X7J@&IN7f;ZkwW=)N;le79;n)~P;okFJwHj^U(o&F|uS|8|EyE90$9ppb5W~+=T z#t1xv58D{xv*JC!!H|6<>5+8sML+Z%J47GqcgDBMnFuI7Z~BSEPm^KKW!8}0)h5}% zV^pf^U=`?Ov#cnb=Q;E)Fmt?&e{>|OFT0jpu^aH0nJ}_9;}3aDth?vc)?`&y zL<$_NCT-z0^okPb5JhI<6Mx8%$-J>Sw3Fg^8op5=`s8qdIr&g$CPinmXcGU*Bvuwe zGBdJXJvPZ?mkz=IC7j~R=!^2ooY9bMk3I)HnVW-BvrFowarM0X6O)Xpgo|KwvO~?Q zyC(dr?+7?J&Q^tB^rnKLL-I0mRckYjsox*lRx!SUE1`f5t%iD|4#cDmC(qZ~&qHk-Avu?b7j4TKo!EbX+`93p=#;0V% z_Qg3PtNvzHEuM#THL`EDD+p-C-8MSgDA%jEqhniS@np`X31)P=kPjidWn|NvOJ=f~ zeupEuSqDAV|KOEOR9|1N*_sgF&`yfJHXKSACB|l+Hql^z@yOO00j#~=(8R9LMRLIQ zvV+@LgpO94_nPb#5gVK=^62Ao^^c+#8QA(yB4={M;eMS=>ZDe}&weyvq(+8J+rV?5Yp#3DSFmhKae?*7q^} zJA3S0cF=3h*#maK!qd`!KF!h@K@@gfK*_6U*^!q8XO7x-?J}W8Bdh4+cVsuTZSfD> z>ZAAI++#vd5D-P_pOFD_ee``2%0Ka_Py~ zhbGId@thU5&bV{_4c;pUXExY* zOwY2n76}D6-1i4we3?Le_Zx`X(%g1}?5Ee<3lhq%gPT4DPp%ixK=af1tPhzJGA~Td zwPpMAUi~}Y!{lCo{(dm2o(Om(pc+F?g5+SZ2go;?K1v=d$~zqk6nyVTw8t#*R8e)Y9I zS9bKLzCAP6>VrI~JLoX^y&U)XE(S#bKmoUFS&7VgXO|s`!E06U!MjESe@y^ zs>}t>Bge4s3~eeil{Cc97p)f=pK(0^8wKkK!PlTNkoJ#rFsgd?7pc?>$qk`dB{~D{ zdmz{c2t++RlLfAdfOsYxMw=yiJa#fjtG>U`3$qZw0e5SRmR zs#ifos!Yru?l9c=)xCbB<(T*I8@?u{vqd09-X~7PD^i*MX8mNe#;WJ7+ zbi(#-X?JV^6mJ29@M!`Uy8_ z>`$9Kkn{bVEwW(ZXOa_0V;|ClI!!Om;08?bxAxPn)i!)~4NmA53vw5ShL6HuUJ5Gl|ZPF{#TRKm-1^l!={7a6=&IB%k)$6;H&RCYSP#HMRYChYS z4C42efy2%mG$9Fy(LHboqOmj5Xsw0=nRDkHnl->K+LK?nDKG4Uh`#$ec30gHe%-{& zgyz-2jebo)Dnkdf84}@gW@qbHo9oYD+;8pR^}td6{zJ2o&ln`|B7k$)R=OP@iLy$ejKF+r@^mN_eq&8}PxJ zD$KZJjL{Bzjwaq9HyIo062E5-oUM(qis1)G!6!J9EeCWn`T&wlc;NmZnQ z>^;36Ux%m-GovNp&|>x70?YgkMsntL@RN}iyS8nqLh~s{ zMuT(4tJ>8x8pzU`v7~-i23KX+tc(DgvDwuL^24nL*mR(-z-GVGc|i;QhOxwCNpsFm zAfxcWv$1C;%E`9z#JOfe=V)gV19sVV8aL73OFr<1{TjLHxpZ~gSFF6-767i$ir#C* za>kK@iGod_546OcSqcpLHBl|)I(C&FF#GX&kFrw)5QbA$kG}}27&Ftix=t4&D z>}iueTM+rv&So%~x!ff1S-L?Vo#{r-$=lJDgZe1|lFc}@@|{c|zlo|$yC2cP&((rFv1|C^07(Af<5u;_y-D!1wzyQdmGfJ{cpRS3b~jpi zwvch!g!p=?{&eUhztuL1!QZ4W|8Kt)aT7}&*cRjMCa>F~ai#k*on-%Fb)yRsAT|Lt3M z@>@D9EBSfn_TBWUH??%|r}HBY+I}O$!B&H-Wf6Swm2C{?TGV{6`j6`Kq}TVpm%V?{ zR)}wRcW$*UCJY`txWBtm`Tc@mU$>P+2E~nN_T<8xqd1T2dJDlv@%rm8zAP*LFc{t| zi{k$1@Na(n)3#rIxBITGC?EgyC(W}i?;d>m+3us@Jc{q1e)6jpldtXWl%es9U;cmj z=eyl|ANIP|=4r?E`|%(9&E^N^cVB+;NwD1AU60ql{`nv7KKjXz+gf#F_sgIEqVcrt zFCYDA_jTpH5$&UoeSGn=@?Ly4q#i zE+-p&N%otLYh(OoV@%)uuG^YuY^Y84+xVot)xTm%`u1C&;cLudztoxM40B~bKlkf@ z#uDY=VZiV_o!#22JT)lbryZ^=S{&f#H>;^_@MPs4shEc{SgLbXg0)QKs z=XXCf6c9+Nv2kny#Qp68*anP&Ltir>=(D>1Ja_pVSTgzy1EnxPPuu+-rvgDD>^KX- zp(=)Rpa!|x)xSY`0s;^{Yg-wSRwU$r1z7`F&PV-lo-t+m?b-J*MN~NWGie$3v*&xQ z8hrh$U+wYq)ZN>f;T4@&iGU#_1|jekh$jsgoS`n_uxBaqX9hN%*lYm zN_k#`zmgmM!7uQE<{Si$-UOp+8^26iz#g^7VKf-U@%lr}darG1r8=KUU^D;|8W0`4 zpGaLWad-`k69}omNdvdR$$xqnC&o%!jj3nSc&_&5{paC_N1R{nEu1M#FgI9I98OOF zjqH%+Idq2e5N-7lbqdyy=VaAHejGD_1azisQ>1^wb;#Yl2y1dYMxwUyY2-Dy>U3b@ zKnku13hafaJQHnc&NKAY6&^YlW42N>Le<JVZ$d~puSw~;|8GPz@cpN6~Cw!oPv-)29Bd>IcU7g88bVvrQ6lr$`jrty%_bD^Obw2q)4?TB# zV4IWq;}_mwr2c|5n_DTk=rIy?+4CGlZ!+#odQ)vpZA$^bUOUy1O8piE_WCT_YyFr_SVX zuIfj)fr%KcEd^PT2xt=2jaoc|Cz$YE*3sfy`dp=v75uFC;Y9!lqFiQYwAuF=J4PSs z4=m~dw67tya5KT}yNT7ZKT)_cD1kS=vAM4&fFBaU^E%lXVKM=&l1c^BtOi@d?;J<2o6Avg412vz2KU7ys!9c{BEFdEiaH*ct&-c)PzcH~C5QG_5+r z&3Q{;TH~Lrfhbm$^}Dg@px~({YJ>h??3@tS_!aev4?GdPia_xJt(Wa&b8U|s;-w2U z(I4BDO^Rlh<0&|8uM?z=68&Cwlk6E>;4e61A;uyUdP9|*fOBYIQ8TXWIM1)rL7W`iKCvnZY?lllW^8WdmCL1Se2$(C_; zi-4Pqmi=^}jGK@fd)OR)j8%N&z~h2WKo!)LL36$~uF4wd^J#&-qrNBjjbHJjx^rk} zf#8rCevTauXIZ=gc(%LUY3s&mynGfuhXo4g+N;h|VQ28;MOz&N!eod%5$K904lA}L zM&L+B(W}y4z0OqD1>5#bfdLuI0#c8<&p*6U5b8%r^R6@S`olVlYEV7VnA9+<>x^z@#mRa#E8s6+I5dPECvaqg~^-jl*JO5%onjHq)gMtoqRN&~&oW=5}V2uC+zC0-y ze64LQc=}z3BwsHGCM)W@Z|^4q1@St6}UWw{Dh2^0aK1vUQpd%J6zrIoo#jI%n%77#{cCcql-u zk3#{%_(l$mnRf)eA3B~Ut?s}4Qe>S)7C{~*Lktz-2!LLiVqV*^0Ho^O99 z^R6*I)$PkXGe~Xyh@>j-^69s%4Q>0a&v9hV2&EjNfZasKpy$#DhJ!_2&o>5+F|CYf zA_M8qGw@Jm-=!0EqrV2U1l}tj-?XwY?>tX=;Av3%;Kx7S{m#Gr@9uv4w|_eW`C|9r z(SzMrMK&3I#^!JT-M=@l1roKlAFdus(M<4z^(AsN_{}OwG^gMzRgcwAAix-HX2mR^ zIhR&{IRI8)p7(xk&M10Neteh}tLQPp+tWF>0T0n)e96T(ZAHuput?YD+`Vq;cz6o) zCg(FLj(!Gz^ptuHo|Q_s(tbCdIN{pCdlT5m;jl+N37bf3%?zpNV7SLeSP15SF@(rBT+jz#v z+s+~)D_z(DbqO~gMhY96+(p@$}`=~DU znJ(F;hvsn92Uy72tgLr~)DhYVGIoC^hxJTf@qbdm*_ytC7w_>wKXlA*v<=L}aM2Ut z$;$AsKFK#8va_6fb_7rKX$u7#N}sI)O92+_W?!aEa=?b!b};%_fBKz(a5Tcd=Cr}l zy;jHt4fMPD3}lJCHRGx5(gzN+jG%da^YDBHXUCtw5WKAp+wjA-9P$VUG^FEb0LGEO z?2d6V7L5)y8yULj8~$i#Y>g24OHDMYj}!R2coLj5`C1u?qra_u+J3|5Am;*YoLTk+ zf54`$^mGd~o8GuD+odjs#v+l=O|Yw^IUIGD!XXDi`lzxdeUU|!p-@Qb*i((=j3r!;L&_2siH zmNj13ic$J`bzSJqKg!t7c@E>;vu90qG%DqM58p-}JG?jDo`tG8H)YvIZ!W+uhtkq1 zZPV$Ym;2e4@8OD{7F*`cR>5{9T{1yO7y5%HNw{CoU$$WQMP0qH^Dw^0(zKjI(hPRWR#7Pt}ps_vvU&Ym#t3@ zWaQ&GH^HRYyuj--eK)DsCtJH6oEkuL&VuprS#3MqlMihB#M%<&ts?8}7H_KaogF1F zUK1-bguH>pWZQWVW2+mhuQVB*^Iynla_?~Y*#=a0jcg5Pq<|Zp@t7UC-Z>3v_AF95 zv=j{;Hj1urK5jCs{lg}{&a<%n!?qAc{zVh?TOAzfdf65oTT~9q#Ch47d$Jz)qwSNv z?`0Q`Dt8(#?2R)gjNi629Ldl*S5Tv8f@S=~mrbH&F5ra>g3IB2J^nX?i5L36Hh2g^ z$X236Ro_j(**=H0!pTG*jxM-)E7no8ep;Y`jk|f{ zPW)^8Om7PrI>irkzuvYMez9{mY_~Zmv*mGt3vz@8Cmo{7?%(P_QNbFo$vzOEY5Y2= zt!rhK@OcGPjv6oFEc1n}b=dH6WfIdl&qDT(#e}2iPp2M7b7Q74)Egj;QwPBy`zw*! z-Rx|PXZa?!HeGC3?N5L6H+T2q>F@nN|9G~Cq1m~3AVYRr^cjYvi)@_dGJwJE!nf_d-|lbYy5DS( z%UI((n@Rs%Y=LX$m+^0Flg&U|`aIuh))ZI(06+jqL_t*R15b=)%4o-*XMW=o{h~ME z+uGEZOPTGyI_R~*wbkFs!DsrYE#-W7!O68f_uJTkmK#3qd4BH8ufHl_IBwVgtuv00 zvmQ3*Rb%->QOH2tmk7KyH02@IeSi;vf@6>l+3)LAU75Lm_K8S-bCNdT{YD&R=dZSA zQ27CY5PU1I%=XMT5q) znJ~b|5BJ9DN(ijxti$E{%y@A?>OimcYjDf)tX+6>I3{=`jX%ZX;xYUqObLbeQQNCF zyx`4qR@Kd@BtGoe@IXLDpoqL!8NAdVdNZV6Eym&12Icn}*9&d;aJGm++`Vy{dTuaq zab)A>IEWz^RPhyz&6pe@OE#4`@0GJTFB(B-1LYiq8IId!fQRoK&KX@zmYzi;gAtzA z5&<863Z$F{6N=|P#jZ|ncKBRQzy9dS1ecO2JkpnQ5;$k{NCwI9B>A-86F=uI2ylu1 zBUklT$(d{`i!NS+igs2EIY}mxp5aep^EjY2H(3`3eez4T;WF}s?zL(Erj>6r1)pf? z`Q*nS<<8Zn7b8 zcW}Pd|L`+`ReoManiBw?uwTK1oFf;$;Gapy$VUa>jK286iIDYXf+jm6L7P*^Cvekb z>qI*D!171VE`FZo5D7GK-UXImp)a3vhJ-%IYjC;*%x1NieC3RMFH_wIGkH-TjAPr} zt1)1jByx;i)YeSel6Aq%37pk8-I&RH{Y?NMB5P9+iPN~zReM)@HJz;~_5*Vaqyd|h z33^!FVkh8EcIZ2MXCFTr7+%@7wQ|Dx(XIF!ivGwky|l$t{TUnU)MRW{j2i=|5w@px zwP}AZ*r`AHqchIvnYQa!N9ZnS|4-2 zI?4?m!OBm-C-{-+d9zov5tL9S%8on;;Fw@(3*HkTOo{|dojD-zA|Q1duV!UEf8e;u zg>6LMzGO0kR-<$A2d`vf;c0B1Hs=hd#*4u@zJYg*vus1~1S{O>@VUk{e8L~{Jg;Gm zC&tyWt7uWflL-cL%lpoj&CdhP1qGusRp!FpB(Y=H0 z-mAu-(Tn^Bk~)Ey?4!DHs^L)xd{WMK32k4rJ*GCv7k-109U*sugaSV3>lt2y&7@`m zRCP4|MfK4MlExvhv-bz-IogeHtAG3wkZW?l2T*5Z8U*MRY}z+Tbl>l%*=*;F2=pjl z3&RUrM@;05ALMT2x9>9!RYvB*oKaCZJ{CSdZA*pic7l!*jHqAdtFXBy^Xw9uz*GNl zGk(adv!L-ZxWKemzuxATR7IP{wCWmPZO;;{WxE~LoJ0=&;6#4(>AN#3yy?cd0=AMk zB-i*gY4^3mrYLtlytlV-MZJ-A@NMUnpsfIkpaNfhw)X|!slZ0~Hh|RU$taU&W8>qc z03JNRd31KBi`SCEpFEkcnyd=I_)fWQ7U+1~n^(xQ1xPd+e$|#O0nVJbBIppEo;>Q! zG2tr!rw=-8Vek04SAq8yl(u9%u8iyiTSSiYKRk0L1RaDAnmZT6p_P2Go44MYz`|)` z#5;H2FW}%@iSKr|+PXriiUMYdI_cbiF=pG12A+@4erfN*=bw%U*<>fUuu2%tvj@d9Zs^u*VA` zzK9n1_Fiw|dGY#E+i%*wQ_%8S+j)NfpZsk1?U$bp4X)k1JpsGZXhI&h>@shI5%^wj z(s|YS9AC6W>DumQ_ny3by8CbblmB4%@BHPz()Jx0E_`QMz}f2bg-*=9?1Rs3EcD$o zf8>(=7@6(TK|6d+S@BtuLR-xi%W8bK$T4?(hC}j;}OUsay6!8z2x-8dxq|6&pAc zunido-t|L-Jp}D)ES_w0N||+6N#zQJ$-72 zk(E;KzW=mWsTtQmAbrh5QF*=wDf3M8xFLxLRpx68Osc-{gf3OSk8BV z5V_(g3}0%KGd`1y?xBZ2aIGx~30xlS7;l)z&pA(`HaL7wknm;`Z}V3*JkbF@Y}cfK z=Y(3FlL2rcm?oGNUB}sNVnoOFAYcL~w1NZrs845cK_(J;5@{!=<1lw*@@#S8!vS{Nibik3OOfAGk-Ht$#DZS8RV#+3m#joM(;+p7cU3b^n^WN(@Jt0 z7}c%$3GN6U&6y7z_wMS8EKLNTzN1gHShi->iJ z4ETXRMH*U44^AvbcGV^CRhag`il2hcbvIrOlg=7>Pyyh&BXlT3@ zymb&LI3eq{+B#jw9db-uFp+k3I-(EDxEP?BR-)R`fv=x>NzAB$|WM$a8#iFrTTtfRc$R zddxPT+Sjh_lG6sb>w$a>J;^2ssC{RM377`-$TayAxSF%TY6i>c_Q)ExTg9tATlRQ; zHRAv3uJ$LbzVVk0WE%u|W~&%`*+n-^%vJrKm%+8hRlZEmx>AY3YsrWH_2oH#mF>#5 zHN&3mHq~b%WkRTrCsuebJJhlZo`aXR@c~_H<6>hyJ4oJ^4KhAN0B%5$zsK-h3lZTK zax*q}50{2h>41LFblSt8p2&awC^ds=RHQw)V_C0(B`kJ?`J(AN{PpED&~wuWgZo4)Axq z#f}{Edu)dr{-JGX>>IQDZa%SJK4i#FO?P-G-tCi{Hsu`%(? z*&e(gI*Seh>M~jL6vCx{YtJI-K^ZMF5RAS1Wk>KuoqNL9Bg_2#d6ja(E`hTdqic^3 zM}H5?E<#K6_bOmy2H)sp@H`dB4yVJ;R!alHTw{#ZaeDqD!JU8H32 zf6-!yUz-4qw%fVcXm$% zo~lRx`N9X$!D0TXS?$Ja^bd~H{;rmV<6JuDqBwi-PrQ3`_b>g0e=GWAYoi4j65w`? z{s;G_UueK~&DOPW!}Dg4fj{z<&W$nI+8K^MIhN4eYxr-!AvJ^3!R=(T{se5HV{pX#x}pECf9Bxs~;O zkgu#23l|3zjLLXUIrO3JiI|@eaU*~-o?*PUz`Y#Y1SA1g-vL8I-1xYq!)af6?Re&M zj8AMa8J1N5UfC`OmrHd&t!&Xv?|POV=al+aj8M3XDid5OXd>t6IuY^=*!y=sNFfMU z^q+Li2JDz^RTf^)pC+^%o$zKDwgH1+*t)<7NSAJ8odH?OC42ORj@w&BlejCt(W!`rD5$)9*mCcr}?2?MfW{?f5OjgG6#LBo=RKuMdpwZRf zd)=$?R~bOkirEGM-oyA}%bbwIV`q$45_L4rF#Tt)B_xX1+pDWD)Eq$o+N(?a5= z-UKfM`+1(V<{alS=9q^y7u)BT zlCrP&tglns?SQkR%;1m>T1CIHn_eXo9u@M+=657->BXSXYE%SoqJjNypc`!4u_gSm z)OYsSYNXZgWWa{)*s>C73$*?dukYmlctwZ!v6z?b*rK}~0unTFIG9#19dMU{)xPJP zTUE3*-u7+%ibSVc@six*Z^>NAG}`G>f`Hz|xZ2T^oedJeuk@RZNX8}Lo>guvmuw^v z`p*+z$>k(ZpLK{}a@VJ24-Rq_i#Nc^H{n~K8*GEh1UA_wz$J%dV{o^mEkuKxOq}E4 z&%_~JNEE%nL9tcb<3{ek-4=X1tJsCuAx5qwJF9{_Ln0pbC|){z-Zo)A=P^d{hu?%G z_y@O@M!tX!gT)Q{Yp*jS_qyhDKRje}`+Etkc3zp<@Nf3IJ~O{DiN*);u|pEuX`&cB zX#Zh}uQ#XR$Er1bJnwr5N7vi=ryXkiZExks#=tse-f$4jxn%ZRzZ-q{F<9c;{Mp2sH@Dfvc6Se4 zIqb2d+UN_&*rOzW=v*)pSK!S4vacB1;Kpt)XAK!3iVtE>1W$L*>*L-kN7CPji{6Ox zhj{YHl0g9f#@AwbeRZtVw7xO<-N$Rh3cf@)9@W|8d-46f`ZO_(jPJqFVwi3GR;ahj zA-x$iZ{QYP9%WHSOx$jW+OAFXvf(5?dvf1^j85JvR_-xH@i&>JnfV9$^{4!X9n5xu zZI_a~(pwoKu=v)hek=BN3p#`pK5*Y_<($6dg#6SsG|vu-P4X%_Vc#EiwgGzvTii2| zr0>{-VSY}pXJ?fdoLuSVAqzWeHqm+Rt(e(C)V=d^MzKV?UJN8C3C@D>iT)1NxS z!WlDc_mg(kiu-RT%k3&mhTm{-X8rHS@u~lTOP;%2G&#v54D9UCct2he*4}(!7dgCd zl_PkYn@4H9e$*t&2km4t$-vj0?EpWT?J5yVyOm;JUK3i=u`>4SD)J6A)_x3|#bSKs;e zH`+<}VY?ODJtDuVjojaE#5bbNVHcwt34JX*K$t8 zJKyMq1<~>TFMqv0UX1$*JVx?ye1E-Hv3}GeJs;E_UHaW$ z{_K~_ZP<`koLbO$o<4rp;}*sib}P_}_TOlSMTYw1Hyv{MZvCi1_^)fDUt$h+Q5=iA|t%)VY<`rB}_t*=HK{n69czxSQl5{qvu-L*-k0lnWl`dcB*heK&mm+PA;H$q9Yp*T3FQ!EDrPW54^oZ)G>{v@4`T zWyAS){oaQiP?{rmF5>s{jm}reR=?WrnZ1s-9WV|)eU=^BN%Ea!@va>!>GLba3^e?# zM_hXSN;^cp^`zs0>%)KhM`XP%3-}pv{_h$1S zw=3kmbo+S=v%mk%Z}ZM_<$O<`u{fR{_>?~~)n4&itnw$W1akS0>ul)W;}6R1%TL`i z?uMUV?Y;;Y96l+Ja?khOONOq24G!2V=|fz(G|1b1S67_bq+xY@H|F=Jj<}C5fADB? z=oTJ~E1R3BuD)tJM6zXm1D?9%ppJ6k_&(Zx^y9xsz6bb_6^wN@Zccy^!?-RZh;@BC zJR;5~#$DSi)I%TwsemBZBIG5!hj7$YN3gz3T>)PFh)0{U&i+9s0S#VsUB-N(VM$Rz ze?kqH-@%Lhi;;Eiw%5H~kpAcY`~UjnKmPmw z<&*Dx|8GT+8Q2nygoqzWvjM5(`N)ee2}O zRY&2_BlYgvL~NhuWD+zYx8hD82=o&x4L5KERA&3St`=CxteXqJxAMFM@!ckJ4{0wj<#R^z&m6(|shimbH zENef$qZ_Ycgf>pMcYQMNe^y!TGNR8HCE^|{LXXvXazLM~)b><5-m9F`b1ctK$j?q4 zam`K~0~<7%eA6lMo6KhT?&DG>qahZciibf8;|u*$%0 zOw#=!d8drSQ*f7PrWXK%ZR`Y~-Wt-{9E_*N2@ZZ?d!=C%;V+8I?hS=e#Auwif>(-xNQ* z%J4;7W7*yF5>%_X6irrmg-_z@4NixqGw9({WNRWu(n$24Cr}$)i1}xb z-9Y2f-l``Zv17K0W`n^yz$FKLmfZ{nuaZCb-Zu$k61MojUWV^s>z-xhuMXKW5osV@ z4WvCb3if_}LAVgQ=74;7ex=Kb?!2FBEb zx>es|fS`SSUwj32-|2y!uP@|3$=)kvr+dB@Ol_7g=I<5*w2?QMB#EfS2{FyHIJ}qYItDMjElVALFlL{tr zf9Vj_CcT`K^6MsGay7oGr39x1=wJkXitGJGuS*CqLd;51ya@yvI_K$2Xg3 z`Dv3JPxFQE_f{N}X21L0uQs_P*Znlu$F zEr>pC?DV7m?_cy->N}g9@%9?$B>kN~`I9G~wmA0>{-b~Q$>06Y{_|v>e-r0Pco}7klE9#07Iq2&7tt{phkH9;-R?mW%y8M3E!_OYU_4{5k zj$6s+!C@QP4S)VP|6F`HV*@bw=O#LWt?o7+JmC6%=MLb2AMfgEBd)JawDT$O)$!-L zHs$0e2$|JW3>lYXdA&&vWi#nI@FECWY+uDETvm?XEopnB=egX2=c@%as|F}E zc-R)N>K^){E5}rN>UyiH=(5fKSwYD2e3a~L36mVk;lJP)-GY|n7;f?*F3w=q8hi}d z1@Ww)DRI@gyfaaO$xY)$LrVj&%3=@MQzl#lM8>kCKa3L`l+Y2)y9vs5tEjF4dj+kqhi- z7m)A(zfbg@okgUF$CKEh-D=T`N3!CcYm$>Uqj?Enwz9!fZ481W%4}?p3-sGF&{mn9 zAg_>#1mu%^%ay%xgz^{2^P%LsnQ?f6<5}ouWj>QT8J0kSf$rIG`jWKSHDb2~m{t}` zeb#1v5G+N9VYdf+&}m!Ue=QuFz{)@Pl}Qos_c&B`={w^LWcsarvBV&Q9Fo-F8jOC; zK%|8C4hXKVznLF<>`dED<`s8$SYEPGhwYmfW9ueWg-`=1{_I{((qyKI#1k_O0t`~f z!^)@Pc~bV8`z^V3NSR#&VC;U?)Hkp}Hha6z*H0h#N+t%*iUF%AW zm6NVs6o+^YSs(g!@~3aJQ|9UCr%!O+iFjimwhlHL_0LiA70PuzUM$A%Y z_~<4);^Za|8=SB^HsDXvxL91By+vWM%j9+melou?)L>IPb=d%EfEoI9cw&V9nVi`P zza*;-6r99X5h8{=d2I5inx0QK$;P+NV~N$NEj%awoAj*zqxA5aG?e@rlp;{16DQQ? z!}@RPvoh<`b(82|zJ`wY_1K8BkA|a31-yYh{2AZ|;w7&1Z8Gn~*%LGIfp5=~b9wFX z>3kal75t9WWM%t$AESM_OZ5ygU(e6&Vi1GGpG}_Dmh8}^@AO^VFgeYZ=yUX@b2zM) zu|cc7Y;^~D)|Q=-fn0*D#dt+LwObQy2IaG%`6-!1d+^+2JkOh?`@-(A;x69xaqHXU zPf28tT6GWYc;TZW_or;Vx@^|q^R4WbiCsHD2ivF1C6ayaw+XEf>>$%@!{qqR>dOBU z@OZVu6EApD__{s~ZDJ@NBp(9~yFUXqJABb6|Hr>NXjwiXqxtNdOCV<0vEbn8?Ivmv ztnTR_9~1N8!<)%UaTz@EiNBGn_$eP){+M0j@vUOBbC5RC&5yGigJyjdozfdT>WF`2 zE6H8Fe)Ojf|CF!M2O%b9xppW5~pqm;e^r6AO(6&h9k6`gxNV`EB~8^5<_I`O1mypfH}0 zJK3r9++$thbMm&6Pwo}cy>VrcXMUI7lEJgCuV1QD{N&T#xMGrDv`9qri)6SwBYS+B z+$;{x-fBy)Cw^A9@8G4ya-wq0{M?&F?!x!yOSiX7xtd2#R| zwEBJTfur5{5|Lkl{q#pa`q390Q0J@CMeb7rhAW^842l4~?Wuy~gJH-phY7&7D|RLA zgkL@P9$i5OHZa38Tq;&)Nuu@)>Ot%k%9jJW!-VT_5T?%7?<+WMDM0ZZJ)<);J_*r8 z$eicFFIczuK6uq1A32O9`0@p&mH2fW8TUW;&JFyuXnn>eT3QE7;Lb?%ru1kqeeqm+gW< zyF`aLKd7GI1&_{$Ufw9cFIck2V47$l105ciPEiNL&V}=uvE)BzwGB+t-RgP8%B7Vc zgF-Y(+?Eh0U(ddxi|kAskm)^83J-YGk;82=%d^cNv?}$yj>WTj_w0tqSbKC^l>dhw`VD{ZJyz~U06^?TrNIZAX%)gak2V_`$0?g^YM)b>@g;|cVo>~-E&D8Z2^IGvt8 zOz6-*o$PUrY@^g@tDCk;>HxMaHv9UdPS8riM|J*^ISGm#0v-=K2T^w5Qv7%Xp)fmn zzY~4mZA+qL_J=?E%h{+wme@6(Bxd`$v;@%?lGdTzx(#y zpkyb>QMJKCE627ZHHbAShhBP=MA9i69{lXy?{}@(vBkcdSc1dzxNK3fAqiNAQyua@ zwwoUNcb<1X2PW$94B8hzqmMjH8kw}QjoL(%)ouRhU}SzL`TN^{^IzRz%76KbUrtx4 z>F7&BPz;1y9HBe3OSYYQZ_>#1`E0BB@PE{Gb)I+Pyg2fC^m@eS9^U8C4m>-Y4S#}x zl}d@aiAK-y+W!5<>*vh^^<0DJ^=$?Y&Li1sb~cC(16Bu|N#Z^#A-cPu;C9FzTVu;6 zh44X-`XgKE(QBu{c7z2_?6o6AA7e#{53(gP$EW&inSPw8uPvWs+jb&JOy2s6B=t;A z;V;wLYB@h7%Ys6m;)PYjbQoP?mv{h|I;kbyXo&s>!{UoP#3Lgn;^;toa&oYw97qz!&*({Em%eMqPV}q#cCp<=7TRC5<3`_L z!D5R){Nu5Lj(_oqaO?;G%l2}E4sRN=GWq*>Hvpq&3B0&K4&;nRE7VVC6kF4v3YiGMKBRA*891~b_|+eViOm~D5?c${w_j-g3xmC3LN zgXXpGH=6V#pJwA*L`cr)RR&9JiAH>QWMI1t@^^y{tDO2D)_Q!Y-@)E4%wX>AU)?jv z=R5F&Dc@7Xs7*}vU0-=7XR=LovIBSx%E=jivNLLVJ0G&DFK(HrK`tLPNhbc!Mw)2f z#C5;Hsd79Y|CPV+2ePoT&v^}qo^`-09C^%gB=(}7en@|cNBtdJO{B9YlVKjuAq2hy zwn;2HHE_8xW0Rc*!0Dcj{YLL5v69T<`TDdV(@F6_Q5XGqW#fB9H`#~>aI8Np*ZcH~ za{F8?>BYE5%meSjh7$~Ok&Dj1=(Ou%pv9ukiX-S%hdmFzxELIHqQP*=i=JZ- ziyi1n9AXQYv-2?d)ZXVN6@#IlQwMw{Dh{svi)|&b;KXmtiSc5lv4J)g3FyQG0$;|@ z;OArPmfpw#-}I)9aSi!R-tc8(d{eYA!Om~RFMTEdn!V@SJI^FJXRzx(;k84ZtUO|3 zoMN{giPn0!@M-6*Nl7?2IgaAm9N&%Z`Z|hRPPF(_AD~V+?bzfu;7n%mE?={YFky^G z*dl0r)4yE%#&5srm(6|c8y&t{fB%yXOl9>Sm0$h8Km5O+{CEHDpFjC~|L`Bi1D?-V zkenvp;x@XjZqT64{mo9*n>}TR_#*ek`*8bx`?w27+lz;;{PqVH_&!}%eD~)*9QXIN zq5E5ZumAS@!niP9Q|J*r`e3kLg@Fgf^~>L@pBK0GR|eq1@$|<({%PMIol%AZ7~le( z6WTd~--M!(S@V0ij%2_jMl3HVU!;f;99}whh}|0u&K?|peq+pcj41-RfM_tZdch_f z#3LAenD86l>!50X6^T{_(>k4(!b-?jfZ&3mu4}`ChRPJc3o2+v*R6B$yXV?lZ6Es4 z5C6|6|J8r}k9xJw|B+4i%ynCloFB2bM8u!u`zYwab55CWEKqYQH25=knCvMy-mNZN ze4`uEN@UOBB^#0up&O58*zvK|nRw-xo*|oqaXC1l&ezx1CHr0G7SGu0<Tf6$qbZ=O533!n-}y196@Zl&1M~#WFkv2Vkc&xCu;#X+O~UO z`aiZXdaFy8ctEotFEP9Nug}X~B`hTz4Jxe0x`+1JO0<*FI>_qj z;P_R~DueY>$KlzIg>X!7t#&OA#sBfMY`*viw~14OfW<9?-&T;&umqjZD(f#wtoWt^ z=86AZ$bZCY&)o9?#ZEO73X*7(p9bpqhwr|DgLv(1NW>32mdu>^^P+@GT!4d5PbTRI zUOOBVa$xta**<(^UNV-w&u7`E*tptK7yZ_;b-YVz47kM#*Tp!iY5HEW)VHqR)H3_W zJo9Zc;uIT1wkFVsOpT54-_4uqETOvdJfu+y^J|(p7!IO5TCvx_u{l$Oj)7E!&-_GChzP1lK z*$|knRr7&6xV52cFcrLxr{wo)66o5i_R5FYZM@U0=R@qGd9A;Jo+15PQU3@@G%J zyH5vX@@l(_gU(*1hYYj<rIK!lef=iR^qHUsPXl?bz#=vKVeOR_Cwc zRsY(r)`0rYpyj~1bh~?H4##9&UuNLC7TFZMxBltdv^qtbd++A;VileTBKqWra)?vT zwrB@OfuG)#3;W)?vbb$m>A}D6;AsEX?dY~w$9MH!6`TzR}R{kzyeQS z%Es3xgo6%lA8>g`J2?8>1NV%X_&?dXW=A;q_l%ND=lyg~9gAGfrXmCM&bRfW?ViJ@ z;+{MgO^Tfj7GKbV4iheyZ@BH)($~X*CKH7TV)d{5uMXMsr%j~l5A8f#oN9b3E|IbN zCi#q6@n%x*=fBzOM9&~K;g7}kO@Aw~F1%Bnyd*k}G9rx6M^Qkj9Zbt!uiv~A@sKF{hDkyI2 z!2xc2CBg`euyq_4=ze#PQ+?L|2nKV?b<(R8*AQx^&UU-a_NOS@qU)Om;|Mur1tZy=ttfloL6&fANHNKbEGhR5&Zu*pD3x1o8 zl&BN{#;;Y%@L5GOur+Y=?4SE+kgTGk{~a7;o?L>upvg&wCnIG)wvw@vBZu%dxbyrS z-3!L(#M1`J>BM6I2HOTj0+WQ^#Kv&DUi1^>*^*V;KO`qSI#*=}%8^e&^U!;ecY#;u zJi5DYML=R;2ZTqj)Rh#m1p{P*A39rbNJgIb-^5?_)xmp2FL6OXJF zcAa~6ogC4A^@C2OYL5i9NtIS2JvOof*Sf#D$xvryhZFb?3p5F%L)fX`>E1R!2Nc@k z{UZH(&UJ4OO82KD(aD*3kQn4|*&!LzHG4FxZs(OpniM-VtP0LfgRl6`?hM4q(kdz6 znjIzg?FA%6=U+GZ*i3P`3`z-V$4_hjiQZ-C$!k9Wv7ct z922ST(Fqz&{8%}cSom#alU(sb*7*Lg!_e$z`rJu{apRgv0r8%G6x&wc>(RX$t*w*o z@x&I`7~1&MyN^TQ@Ie-A8ZC4J7T&;EtjzG8(hlDyDwCC+2NDsn$3d|sT-UCv>_Z|4 zFWB3@-F5uhF<_^fm}(*w90gu6VYZZSEhcnb|Apq`cSly@rGxFh-T|s6q{s_we$I#3 zqU1`FN)~&Cal3hb*WqpMgS{Pk@%}-t-1}zF@9Nh)VyVq`$P^bn^K2&!SavL!^oHZ- zKmU0Lx^?hh{F%fuDF~j!hNW2K^wXdI^vNH8=exy?4#@5Bx}W{>XPYShR=D_;!&p6Y z{LQa@wdA!OFxi>iIN*G{*A{-z1au16fd8$0#Nn0X@IkuUtG1(c6MfnKhuQYCR*K(g z7ZW+*bI(FQUS&uJzxdhDdo|&ArVsXOGDtc0B)|CV$*+F?izk2lH@+X*_{xWW*K^M% zroQpbZ$0_d`#m2X9i9{a{`bGXb5PhZeBi(LUI)w-J3Kf2v%l={xbOA&P7{yx>Cin% zxC7w$6TA5FkN)Dx-)zSc`!)&rmp|(jhh4Xu>#P`ijOE2knL4Ay>mKdE`KH78vH@?Z z@l5=?;jz1tKmX+~em)(3Km7D;R|^`nb7*%Woc)_HeeZFQA7A{*Pku7oY{@PX_9VXV zfJ^rM=pPM0CgYxC-y@>cx0AX^uFX;QX9T@1qL2*_e;c&sPe(l}) z&+M)P9=-1Kd%fP$&Nw?%(J1DBt!?4@y%SqL*mL{t>rb7rV}a^suv9qKD3%W$@ka9esd9_V}?oK!4y27k!r3fFgl^h!t{PXLSU2bi>7dwST?1 zjQ%qI?$vM9kD$qc-8CE=29#nse)%HY@PX~|6z4G6Dd8LnadFvOdHW@e*i;ULCbzR&si01d( zITBBwGWN=TKkQt;9vQ2L|F?^I4#&N+1(W_K@2u7Mf?mLlq5L4;>=p>Ne1(l!+|lk% zX1FK+qm5XPnN)@JR>CXbT=0e@SPykW9rKa$r01a&iO5qcz3>Vykh@^4)OZ z(fvEA!!|cQObK{>(XL9ist$a{1d4WOl@rLRegBG`fy)=lKcba=+1aYEwmVYnCKEn^ zS2+oMau)FIMh$YgK)FY7;gEmf=kzZfr}0_6U~muKTVI*#1r~di)dI+y3S@bl^|9dc5$#ezo2iFC4#BN4v`h+vEG}2%PPF zO`q`ljXw9Mhx!Pgx1bYUE05fBgM*z6-ieXWEIY~^gdJTsf{ z-i~q4-e(lAP8Kl|MMr5%{-sm!oE)PAEt$-bd*4kY2ws;*!IG2G`+3YJXM7Bh1Ty^U zAo1bEbQ2#73A7i@@%bIY&CMoskV~ke;pV8AZQqOKt`L z4oUTVoo&o`KEa0*b%Jrpw#Q`NYTGrL*#iDqG<>B*7XNJA2=$HU?+g#VwzH&9Z)nlY zNG|nA4w%EU$r{fV?u{i|q0N`-l)D<=$C1$?fbIaM+J$8Jbk@V!mEV=Ln{1G^=*9E?@4w%B?z=AtZ?v6$b>?p-)6Ae^z!hDQp&t9$ zE8glz`6>N*PSK%t4uQKqXVS>Y&z|jk+9b#ZUXrATP7G9S-PGxCGNOp&x#vIX^lMup zosK?z2mf_CieB`SJNueH$IA=BzrnSGL=9M-e9njVTz_(7lalbe<3o~YyQB`~q<=ykDzp3?_ey;njmImFLzvpI)fp)o^P zBE(Oz?D!g8&u-F>Q}12F=kH5=ObTq0y!K@8Wb>~SqXM`(U7DQE zBVZSIu{1*H)8mNb;jtI}n&d;V4V;fk?(pvLN-~DSpUKS)Ji{x5x<)r*#HaNa+DWLi zl^nAr@^O&d+Y-uT*lf-Qdg#T!fik|pvOCV!Ycl#nJ|u~Iv)566mi^H=W7vc)gvnjkw+TDeG^jZpl|(E_lGm8=6mt3 zjqU3C7W5f&ZJT}?n9UW(&MISrjYpqF&)}lNMB+JounF4uGWcOTA>0ItmV0euc-`Wqu5PjMc{>r+Yy~*RBUgu9L;!W->O2LD#iypHH3p(|x?D@BaBa zeJfbgZTP!2noS}ocbA&B{6P$(Qxno+n4B>4(i%tvHel$Y}k1{G}`S z;0K4nj@D$%F3C$B_s3Ut!1LXt0sIO-aNPum`Z>rZBg6{uT|4(relDQl2_Gig++RKt zWVlW_pW5AlDSTuDKb_FUm4(mIS^c-1k&z9lCpTW~NRQg{v+cgDo_mThNZgN(?Y6;l z@cDrLRX#1IO%`bnPv~NQ@G9fwp(pY-se$gr#l}kV&sSyeQl=0;3ZB3wpS1E)7OtU{ zobROT?xPbw{crK+K^qwjPH=s)?L*&@*`?#k?Bd6tYv{g{GS_z1Ax~v=7CRHca6jvv z^7=o&-J?sN=p9|`r<;5RJxmQQHn-myFFU0aax{#WwWtMa%Rh}fj`qt4(j^8 zN1?lpUNmfc^x$oJW4qBW7jfShWRH_IpuT;TIDt0xjdwgsChnR@xHjsZBG30-+~LG@5}S}(my`@>+0<4c)k@+3Z1+P_f`3!9eg%JE*IC@ z*H$~S&<2j%79O%fk1@up^gjKI9#KK8Bw1q>H83cbnDyThQyp5mDF9T5)AdI|kaC)r z2oe~Ew{0+n!SDm{q?oN-{Avz`8Q9b|$?p7gR@6}%BwCK;D0S8+gyaJ9g zn2nO~pa(RnVtncd(@aheQzU1+;Vkh5;@-@Y*pjy%Z=FNk^m?5J5dO zoY~q0l)SEdUcw_w?Z`fO+hq_fejnQTvCg8l>03u~1CAsQ?pyC^yG^urU>Nz#p0YXq z3Z5V>*}MrkxnjGIWXT^-z`wq9eS13VuCq71!yP{kMU!B%Y52vN@z6j+d$TW+6ax=Q z6ARiu#Uz=bo6LVjpYU^$kS%V{+lAo-aw5A&&8FLYT6-%g5*LLWk8OI} z#TiiHlP{r*ZTYRRuS4%+tFG=dd7?owxjM;I3>WW#o~}c(n4QhwYmZ>XlU*gOQeUOs z6(cf;%Aj{NW3{J<^wL z?)yWh>+j>8*Smg7P{fL886DX$y2wBuJevxxxX*U!-k-8bi|UFsu4zx_^o@5snY0+J zep@*VWcA|3-@`BI8Xj`AV@o-@J$~Rmnx-eKfp|#%e(N9T#iWserj>YVyOVR`0@~Oe z&gq{Y-rZ2-OR$%IKi3zCL+Juf>a(Zm>=C1^N|GCX-8ad!350NH?>w!~J})`sm-3ou z-Ok72jCi1L-$0E$hhzFD_hjO?xHjBYCHsD5AP%^$oPOi@9s{g!KT0b<@hLpM&q5Fc<7q`$p!73bScI~>VBiq1f)K9EBp^S z;Bs$^Xpj5sC+Tj2mT%u;5{(WvNl;vO#t9otfTQ{H<`Fma7oA?}Lmhb7V%W-`(_=hq zqp*+NfB3io{j~wIvlv02bcJSgEbq>a67fqNh$U>7eaZdUgF^NuE??S5_G02%&aN)p zCuSXcw_8nqggytI!iOIEWM7wV@c0v3lAGTFFL(xelZkK;-Etn+*%{0FA{kle@F=S5 z(|>Z3mpV-GWkd+4)pEGep*=qV`^xCjX2OvF7O1bf#P^DlqkqV2O!!B2nHM-y4#^TumuFu$ASt@uU5PjRy75pxymVPUt*x)#o0WZ_wNI zD{H)|r?`gi%NHElpZjP({WbnB?C~Dm>bgD|MU&s^fPd}q%19eAI7dh{`A3U1{Ee^c zXV7tVbIy=KoqWRL3A+%d4nB3k)&Gc{N(i_{7$hFJv#5FL;%!lWSKOzk9wb z?%jz%egK9--s~2POP9LZ`MlS!zO-YXKCgW|{mD;%R*v#8urdKa_gk+~AbHw0>lylj zcS3zA0s)Y#Yu01~qrP7QLMX#0L`p{tr-dA`{uBz9d@MPuUI3RY=x8PYomom9gPP3g zM0>_nQu7F?V<NI6?zV?aP&Quk1s14T#9 zF$9A=1BTI1f@9FIM^v7kneNG*V+La!E<`_R-dcA$%=c`^>; zRtebl!{*rtyAy2DwLsbTYXe}+AG=3~XkKiI_qU@=LVc706?!c*<9Hj}DKnMnm|n zezXTy+xv)D%tgbAA?!lIKR$1V=i2Nvxq>lz`n(g7WOrlh#W~s6&gbaO3c?)lI`-hW zZUDXe#qLAb;f*}$9!x&q9vvy*lcP^E*#uJbqf6qfY+(49aEpS_h4)d^Q%u~_g9BK> zhfi@>tO3T25qweHx_sdU&1A4xgr^FbjTaq$dZR;iCM$HNXLR4T+Q55dIlkCkKFeS1 zGDIs_V4J}0ZeUJAWS7z8^w?=YJ_b7%zSv~)3f%IS?iCA?6FU@r_=n^I4CLWcj5@Ch z4DVzgKF${(CV$X-%84Zg@rwm$e8i3jNG``8m*7P_8q~8|HN>?uU_-|y3!?k%vOBg# z##8W;-AAWdkbq!=GVo!Pm&*b9+L@ozsdgg;U)ub z|23PcDR|-o8zLt@strdQtaODQI$EBvTX>EBsJ5N`?x0eCzFRD32eT2dV}kBxx$%AN zg{(Iy5hJHRv4$-_;%j=uBRNek{r26Kc)0dGneiXL`GiT54S3>6+#q|o%XrB(!$(1)cMmV1n&zr&p6qva{pF8CkyH_;q3oKC^|&2C5Icx-d7c*wFf)oSGQ0LTJ)xx- z4JN&kH~GRNwwpA&^r>Sv>2TVC6930fk5AYUME2tEE!W=t_I)-Uz3dEqCa{-dW((+t zOFcgBd>+@(b0?$fcvfc%P{mj@f-`-=kqwEJ2F7Aqty>RSE z;eRHqUDMB!i|^v1_}7o*b@I|ZBHC{{g4<*|ct;u;-X z_siAcwUJBrm4nA8Oyb~L{-|tV-|yuE36^a6Iep>*EI9=ja*5ePvZWKUMY|$~m=N0` z`o$$V1lgH5ymC}e4x&s)#VYXRWaM<~9UUCN$Bqoni)q=l-)KSOeC)vwm}t5%$llwh z(0}`@EN8Z?3z1{6$D_w=IC1D}(NAHo|Fr??$+b_eeC0X*ieJhWcc49~I)ML=GM~~W& zyEg1`w$0uj{X99+DtLQ5C75&#&(-~Kq(k&C<~)1@40O#_s^q&E;;n?rACC6i^PzaSBDO+ErCZLcm?;uf0cIE z6nvA{Y4ca>yXFskMf>6Ex9g+lasSp+#~-}v@5(M!LJS;=iVQf=X;H^q4P+M)Ko zlObJP+feV)OaA2H-o=Ry#pk{59vzdZ>u6Dojh_AEfAWuhumceLu~!OaU@C1}cLBf& zuZT&E@PRzSIO`V?rtasI^I-fc!}WCz31EXjNkIPy95I+1+!#QhgO-?Q7lU_b@bmN9 zTQO9J0fEWqoma3)g?@x;Z~^$V&JT`|RzLbVg5Q8w4}CL~g5|dA7NNCQVSI;+fS+;5 z_=4N^!XwP!RoOK&ccZtq>cZzhCjZC--4Ywm>Do%qu9M22B;C9cX27W&)L;l=BnO%RjpqC8d z$(vOK2{`&PS*>Ni(M2ELcCCb@G*|Bs0i&WpoQ(EuJU355X8hEv@`9(9=DM=$AL`Pd>|^Kcv*Hh370 z+DZc0W6p$kho3GPM0&r^fn)4n`|ca8&B5z1YC9H7Fz^&P1(F6;$$taxtRo`3cz8e$ zm>Za>&qk}ye(|4IO@H)(Z@Aedzosk5x>Uhk1V(dGm<`kWB*f;y3bqr;7xXY+fuAp- z)j%8^yl*zXt)oPz?Q3gSz2So?Ib^4cOA~L5)^@Kc4d!d{$gf1d(>@uFveTJ*tO5@K z0BQVgJ6}!C<0m@T>?N4{46g(EW_M`NwtM^s$MDYo^GiBA+9q0FaOi(3IM(*)t$W$O z_WYjQ)dhbs(f3enVvw%jtNHj!;5SB`mEi29$pJ>M(+I`z;GaL7LRQH>A1CkYt9;*E zn>GlG9@oi>y{HGz;!3d5J^JGJ^ARV;X7~9&`$Zx-sAJGMJIHp=n_?ab`hyyBeZdF% zoIRvy=5+MsLt1G24)O-W>ov6jb3WeZ*#>*!DZZRX0KZ0?knOuivEb3} z{6&uyK-UdE$t@hSXKnrY9j>QME=WAiV*~MD-L&!&o+QR@4ef_Fis>NXt$kH1(K5eI z7Lx}$PGZMS=?88&U%v|vVG-lTKLHfV^pT5~L4@n|e5uPPZY4V~_!nK(V)zYOoLjL- z(tUAztJvAyfPV5-2TIqc`($zlwD(avB$E9ZY?CS3u%#1M`1j&Z z{TN?Gh5lNh$D%`*j{T0`9!XJ0pEO%-0E3^|bHt$Mb9KVGK@0mUM&M<%pf|Y7Nvf>f zv61j4Z@q?+=tkEDZS{=`&8Eu1KJe0D#<1kIwsQ(P>OZ=bqq1YRw7e-=nek|wuO^&$ zV}~9Wd~U)n`#SyyBRCqMO^iN?wBPiKhI*as;^e$0?>EugZ+XM?Qu9z$Hywos?AiC) z;y-_bg?^KZxXqsLJzjRlG zSiE@nwOu+VX5r(=b8-$gy1-|P?Bp4`tF!w@%;Cgyvg|(I$rDbW3cQyF`G@cR6tR@u zZJ{s*_XfgX%=Xb44Enu=-Y3^C(W`b~%}*Zo&hPdXK2F)6=GuImzj0zHa^!+PFvKA; zdnWG++Xdt;PwaK>^U5A4cFv( z2k+@?F*uzke>{nGazky0w>Hy#vRQ7?Z?be>JKxcM@r_q)39N)EhRS%cGSK-`x z=)Q2p8zf^)NdmppAlj2dBx)W?9!q0ieWR*Ct$^^GT zTXl}(96lyw3{^&Bbl!o$4yNn6wuDFq2FIT?^Dbx&4t$hIBi)y9f+N9@Si^msnX(B# z-U3C&qjdv;f=@K#)$H+tZSv)K9OxR=oH@S7Q$XmeCIyCL@O0=mxO28HN6Kh_sI3*N z^qCPzq?9x`I!}-|da6Nn9-V!`MMsMNYv^7Z$qr2DNHUhRgosR1W^Kc%&N_#JRkE>~ zD%Q;k>KO2K1{^1d9s})eyjW2nqv<19dk=WQTG=F$&Pt;4*m0!ZvDq_uhBm9`)lOFD zp2rNX9_?;9$@g(2I`Pi*v$}|Q`jG%6-v-)Acn)J#8V6*7PVz8uMAqZXhi{07o@~)J zrPL-lz@g(IDwh?sgQYpgpDp2$Uh_w`geF4Sc^=_&d;R-KpD1~q|KVFxHn2u0j($FT zbbW0eU3;xwi0K0XOETEz=<756vUB$&4g1Tk1^0fARQ6^!S zts_1u#3j9(+%ySnz{I>H3_7m)SQ93TG2K8Hc>KVG(F!~5x5tL)V}r5U2C3W0lSYCI zk6jY3N_OZ?AxCDWYU1j?I1|q$yJXeZ_+^8Ax}R)Kf*3&6xZ2a|XarMIxe39la|q|B zm`F3o|E%3O=zqQ4QB<--jjj`*$t;g=NT&GlYpr7ILuM;LjetJsEPfaJBbc3TFgd-F z_apXG3Sny3cN0$rYbIki`4LR<^$aA#ONPmftoN*Lzc85|I`7%kNzLu`i=duH?b#p zvo~B=ZBG~enXvImo(3CLoK5U(6Ejbhlc3YnD}&eI@rmsMsEtWqys!bg5KOEYxLp5T z+vu-S1GBU8$i88~`KYLHk^uxhiuA=b!T#KR6(V7>sJ&HWfW;#;lGlNCWNrZJ?P}~r-)^FY z&X-@Hr2-$D#TQ(C%wO2gw1#cAtX{lXaSzmL4sQ26PGaKW_4Lm6@FY$xSK=$laRWWT z`Cojz7Mu+VA2frFes*yJSXhGv#&RL;1UBX7IEUKRxsS-i%;1=x-d}LZ22B0->7U~* zc=)y}0$xmQ!kO-qC;t}*`Q~C|XxDan=NTvQXMgOQZf39XO*(vDIN8JtS%6zB{$Nsv z4qgk7N1yPgOh2wC1968z1bT9}lYrhg!ItrRvm4zj@PeO3E#C7J{^2p5Px62ISl&LI zVoSC(8pHpf?TVJpNqI6EbbMbNWX69Zss`Rj0Vf}pJ6X(Pe>Zk54~gajku2(y(uaPN zugCG|I`(<|TK>;g68rj$_0!c<=jg6_#klp+2n`;&OcLZO_C)aM<68*m+WLRkk{KA{ z(BfJ=p#RA3@M!F1=LQz>NG^X}9_o`XKG!y$;oPq7*;~W|(S33>)`92920i@f&~WZi z<1wSvpR|njS!+Zj`{NmZ4{*yob!C66$IY~i| zv%vatCqz=~8fT=tp`0)iR6z5P2+g=c%pgA(T&mlZwSz=~kb%ya0yM+yI-<1o+w<@e zZ%N!{R$~y}yrzl?qs|(Wmr|H(?A;7patgCxk0GZ#qW_pU7H(6-7bY3ci! zxzvbk`wW*raguR~ak6x|`Z{FyOhD)`_c+S~uTD(x3`(*f4@pw84Dv}Yd|1F?pG07m^6m&jM54OsY+X6hE!zuYP(`$fXOQ=a1B3j4$NPO(P zSce|{OF2JAv^G@J7h^5Ewr;$U`^T4{z<` z+qPdF2z~fXPW6rl&%;j9#Nku$7%@JHUCix&7U@iuce*ftk#CUHgiUX+P zF`lC3h613S(@YKQ&|5Nvic)<6eLtk`u2Eir%8Xzpj^hpcg?wM42$ewnfaXNfG z`n<(vvSM5L)3D{k5==P6pf?_8H?ej9PQQqTiM|7o*=LV>aP$fpJda0u8E&+XKl;w6 zyDw1(+d!tPTFt-N#<3xMoupa~_JAIX4fL3F5>oKfSt3~>XFOc}sBd?if=6d}O&)-S zh#$j+&czAbFQy*e**{okke0tDKm9*^OMJU0M$S+BE=JR%7^n@Liw*Ic)JBI#5-qS~ zGP66no_|(%@{T5S+4gU6|9RWf7x$~r#*oW)(4{{6J8`1jM_pI8r5kP0tG7G@0{uVR zK#PCTog6nA8XUF-zCII!`rr)`BGjbu=k0hD`|kGZ*;(-pU!yDb#FEhz?kca(*knvP z;_o;AP=~4PoSDAg0bal=`=2k-l&uJA6|^qyx_*MeXx?BpnvXAcuj;WqpI!b@48;&V ziOB|;`uR<&0UW;VG>UCF&}Mg)w(hNMe90TO!k+w=8_k#cj=riHc+=}1%j{DTU+Kvo zJFDqpG(8;soqmBa;FVt)tgy3`Se+X5mo!&4aO&6WO#dI9{A==zzHUtSivx64-K!5f z1i?q|n;ysAXOCHmH_@hl;QJTX{31H&SH6H=g@1|HWN_jzUpV*Kdz>VLlLxX3wr8LK z_w0@w9#I1)N zhHHGx?oOYz)p>SGB*B>7_jR@~JwE!7uHjFg&%gQo&R3B)rQcU$-}*lBICyd&yx;-N z;-<;s@sa%RO1m6QKk52x?xDj1v2JYohlkGm1@g#}UG!Uw+oRIi+{xM5N`9Dq&i;}C z*o*Jc&cEK&|HAi>mxT=KIrdV0#spPC07|+0oqU+?yQYHg>}4{Gu$xzit*-^2-uS|B zMYs6nPrbkCJNdxbS-1Ru#v)E0f1(WZmDJh-y>DmP3@bP6jWN-cRA3F)bOP#29;z0H%kH#OPs9YNK zm9Aa-7T2O@dg=4TefDwu^+l5%a4a5;h7&{Za$#PX$PZtYDZGcK+W+~V|I;6+ILfgQ zGmy-nyDIS){3NC7EKnf6KxRVX);|F&XN(xvBpyqW3d-vg2_#q}?jbB#32rMU+GSJg zNR!}*mqb38!)#!q<*dG=g@LDvNHH_d7y?i|24kR18C7@~gur){Iexn?2}C!gyjka> z?vj;YX-kn3hZ#uMVAIxb$q-zAlNaTGX=u@80R5`g zup)%6o^{>=LBMsK_XKke!Ew7Y+Uy+AhCYv@rLX=8AmqAdDbtUM7@aC}I=chnp$>^Q zuPn*e_iMChT~OpW;Whd2hCx^~sXH4)FL~5%x(Vi)nT@lD9;PRPtsZ-3muPg_KMEG) z5&(G%Xd58t^av*yWGy%v_>g74x+eHWd#^h*)9l*py}I**GqMS)8Qv;g9GdpYUsATjQ9b?sNqgnMtT_;&iqK(xu0& z&Vi5QzGPv7!>^Sk^gZ~)W4I*?XSI&4L`wpkF8VH?6qE3z6XXL+8cM{D{&Y66^^hO= zFq0Pzve?LEkvunv8U66%>B=?{RF3UK$B(vZ)%Vl(D3q*TeS5)4h71t0fN0x<2IG#O z{x{h!Za+GyGwFIdM!pX(%Q^}<9rf%qnrCW+)b}$=y*uvnxOrW;4-V8hV};!42o^g>d=ab2Ok&O`Zp;9U zzH@`w4!M2oIr91;I+(hmi9Ez#Kwu*$v3LG)jO(E*yq^2peWOi99JW(wtI>=yS+asW z?4d6V18Hyhdn)@^;1RD?d zj+FILlU2X1rjf8e6G!4YU94VI9~!b7yCJ$RWJvUf6a07}SMh~Ukt2UP{lCYhoDMF^R?P3>*L6FKf@XP4R#`QmqrWS%0GfjpY>1b%(f#^qPj(p@i?%f-@r_NEN(1b zMh7|YDKXS1nkT=Mvw>hl(y_MiZI|p78Xflii1@%b+sDB;6KvFkKf;@StE}H1O#Tyj zLC%ljvw!Se8~10UxjtBpg!?_|6Q4RVkhZ6K9xD_ayJ;BXSO zeuK`%=c3H&*ui6Bo{qP=Dq-%9Sdu8#lszoJi9fU|d$gw;WU{jqvh~>+I-*C?d1J07 z8-#TE5vXS)@OZ3_y~ux;XU4zyaCEGOw#lPwaMPPVlPm@cq-lZ4qRA#u5Z=gAOrr}h z4-`D{hv>^c4btrBeL49(O#X)+KEq$hzdpCRY@6Mn<(4yndEo2Y$bzis?DZz~7dOLB z{5%a0vysK6bR9j{4>qw_E#MD|Yp3`+c!d-8jE~v%!{77^lMC9TWAQdxT~{1%j0Oad zt9*BSC(q*(wXg2=5mhHkIt(Yfxi+MICbV`g^A$RLJ^$=hIF3)!KYOxU!-S8WB8IFTboA`*{;xYa+lrbaNtjeLPVPEN)rPrOo}f3fH1#a{@-7&M{R*kd_VpZqv3S0B!W5;oP< z>44959noYsf+6ZZbXF^P`iWz+WXJx`80<@%9#06W{^&@a;toSR{r1s|oM4k=>F4BF z!4;E(3&w0HKG=gkegpIHgNa`B4KA7XowN_W_zoBSfuVh-Ug2XVT0iUQ#m_@j=e#y z?Je+u?Gv6$2U^v;*X2~RxA4#zJ5*=(1z2sBjph1IRwl_zPN}y(Q~mDAH@dj`;>qR) zy3R-8#K#_o4v$*&JY4G3?(lc=nrrhRuHL~TH}N;xquQr7!wvuA?^QUiU09>{&;IPs zesG>gXGq7;HE`1^T~OEH3Y{?@gM0`mBSk#GoJde$3|s7tfqiOz6M{6YIyL7*Ld8sdq4(r$w0RRazW?*Z4lh`8DmaMM)V`Voj`Ir%t$Sf zIf2Cv1F})qr?SC4qYB2h!3LwB@mJ@$&Vlpb{pfOfsXg86lm*x!jYo+fS>or|6PnKo z*s2xuBzp#HX zcZO3(RnyslRZGF#7E<_ikoewgWxu9dcR2V%UhMqLER#!iUq{u=zDwkejhxAsBQNGL zI_u2Nfs`i*BMX^lx6%o$J5Vd1cd6Psk0qaf#*a5>YC)e2m-#7^syOMmcOZYZvv-kkYmwvwM!K^z1{b4Kg zmbUZZq?z6DP_I# zQj&4_7QcQ-6X$j4MTtcs%0om!akIk=d zd$dmxqm4Y^3e@l#SbIEyek8^0;0&;Bn44Z>d-2&!`tw*;ehmWq$qfrt?`eGkn#t{7t-sTX; z4}v)T@^L)?wyXm})OwSyNtc)*jtoSf*`JXn)|^4i^tl0Z z`Vj;01CG8y|9|X9|Bvp&JNoBK)n_ZqHIj>dv4D7XHAdR#s*ZN}WAlL1uRe#Lk@;3w z*-gLK|KZ~Vh^`&|PG8vpc`Z(+_gzc2M~~^fzW$Rf9`J*cH^O!JI64?S@i6#2T_LNZ ztCPq1edT}TT|OD@+OFSFzjkZ}Kje1WocMsQ{jLT7*uq78vUeD#Pkf^-dHX#cf~YO~ zqtC<3>*t{3>bdvQ){@1^$tO23xEDukwkt+i_<*y&XHXb&bH7T3E0=dHi~ zx_is(kPu3IRAHa^zIDNP=}*Z}9XN-#rrJIGvp@Z(KM4Ly<=$FCE?9n*MY`I_b7J`H<$uW?vyY$2zyCiBqZ=_+*ipHUVOkOoMu=+B&)+u=W!>W1?>Hh}d$w%h_9~kVhR{PD^ z_oxJCA+bI;Xal!F-*Fg-lC8j)QLO_)OPwo`slNbK+XcJ$nU2FxPH%ZbLIH+qO>Wp# zvxA}LCUCl*yt0=QJdTs0k-ltMCqoIwlGb%p(Z7ixdORnWC%9}f+p~IBeF*21aW>tv z%Q~UhoUUvE4B_O<9~|IFMrU#&x~ix0@RG|hfx*S+5+6)as+vQY)SEn-jKa0;hVTqn zwp0D9gULI+z~MG15`fkd`p(wKI=tE59dsCQ)8FhXxE{Yj3z%SAt+UhM*a^EiL6Dvg z?jVy>b!L~z#P=x7$CG&c;|Ki;-7uulr&51nz@b(U*0GV91j5%7d+xKr^TW}0+MHF8 zaE0e4UK`Y;%b^^i(?MJt=bLYJ;xzitv$iMD&nCu8^oE1Sqg{v2P9{n;WdsHXRy5SR z{>YalC4TGJR;oLnSo}*b{nN%Z{GsIzM##u-u>o!8Oa$9YvorB*a-?6nbgl2BuPe3H zCa;?O=vX|TE^1G%?(eU*%LUTK`W8M>oKVodiHzEy5j`fTFmF&Fh{1TtLvol;vr+Vs zTlK*?3Fd+6I&~{(_shwl1+k9{cUlVfb=_P>CSGRGbv^g0j|9v zBwFc&JuQixT@gp}?$0Oqcm>Hb=O(9tWmnaB8J{GP$|TDFlgIq4Yj?7dEVtb_JpPH} zlUX?K3YvgH*6dz9*Je9Q(98xB%6wz}Nje*rp`M)Z8|uoDEjth!*Kc%{O!2h|B1q`8 zt73Fy3^tqzCS2K6z7B@R0`|J#+Rg@(quA=6L7_xX|F~QM-4ET+F?hQ#zCPNE^8^VN zqR>^<$)m5UH##V}dh@5?3^)0Bt4xI-8)Tgcrfvkpy`l zx9T1_WkKWh$OXOYJNwjDU+?+nH;ch0oR*(RxD9Si-e)ZH>-2&TF!?I(*u&FeHJVLI zh}-&o{;~c)^=QxDHW|@%S~{`cB=_OhSq%CJ{?2~H{nL8mEWII5>BE z^j!UjAhQp?7WP`itK9*QJ|VfX4K}6BM*BqDbjX&{2U+nuu+#zHC%h;3J34n?yFNAu z!q@rT1tlJi%|}l#RWVaouV4pkTpo7zwz$sp7KXC+-nZdbNOCa z&f*(w;CM@lAK;}C0V=zH^heQ5*2>`52L0G#H`=)`RxNiS?`T%IKbRIQG&uF@qq>d; z_UxKE{^`dS$sW2h2`{JQXXx~}6xoXnaw3xzd~*DRe~S>oA-n!JAHuI#$G7$S^Ko%X zJj{mY(+?iyDf$m%n)z>Z%@;9SF~&kKdNxiB)pGOn;W|3*AYMCsDem1e8COrCZ*9mN zPiI$5IBTcMWE7k`w$ldBVwihqJiC%kyuE(!Q~T+pFZ+D>h6UbN>Cwlr7qJJq%jf#C z2?XPt+HZUq?{swdC*MOK#ooRIEb<*swVS_Fd~iQWx5r=l>G9lj@9*02q50S#8QoaH z9v1t;M_&HiN5>`&r^7?%h(cHRPV7H4xUStwx|{C%4L7`3CvYy;4!${reBWi?*&`{qz=LDwNM zR>9&Zj8K#lu+YQFj$!!@7aD~bxDU<82u^Z!1h>RxkWTP(ZvsvrKJOnGjPp93Cg7js zXqzl*x5=FD z3nt{(o#_&uZOiMDx{OqyCYKYW&dQj;P4{;~KoB#aW+Mj&9UVgpgl?T+CQrt%?KQ&j zGCI%@J>hBryibGMf>v;~)n?n%s*7TQhK-?XlV>{9crnr9xp)+SJ(&)-#O~1HIbe3E zOs4TTI|?8CUwjgrJ^N11hv4%_2AiZGGG`0NhS8=So|a&mV2V+&b<*4J9G$n0gi%06 z?-G^jE^rnDP7uQLBdMy(3G7KG!?S>ca3#MnS(T)FBtE?tsBM=vKyppFJ4)`hP&AwY z*9p96p8VK5nX?}qo1_XEV07IKJ)OFbFNp?SE8{;KU?+5BQi*Knp7`dALiTYc9mZ1Wrx7#-{Z zto}Brt&X~$qFwe6>F0Y_Izn{q2FU}Ta^T?Mr42N zL}NBGY|&lk+zLCrk*i1K7L&*^yI@z&ZF%{ue{?9J@&8&ymzjJC@a#QbN=M3UeEL0n zjuJq#CiYGI{WtnOhDEe+)61dSioI8(if4~k^mdONHc^-zCiJx%zLKKF(dh^|;>hV> ze10CEH5i?X10$1l@qapbbbRS?Gz90yBUymGw&Fr|=h~8Q za&jeE$0J{**V*rbe?IEfc7qqs1{mUqR`;wP_AxnB>&h05@Z5W$iO1@VHvW>ltnw#+ z^4{cCyxJ8iuIclty(vRBAf2v0ZXHlX_ z>vV;8Dm1ZjRvisAd-FkmhZjs0!{Z$u@_Ls2J=!j_KWgPpP;a&w)%Xm^s-BNz0Xojl@Y_8hHZ z0a|CLXr^;|bMsNi)z8u24>DM6j^tx9cnt?TY4vj3tDB790FFFl) zLqD58hjk_|lQWUSeon>uy8r+{07*naRJ}6S&Qt@nGsqSb$nV6VEBiY!mScqaR!F^M6LjxMIBqc41bGu>rh!jMV4=^4U`dn+jb9By%=Q&-gew;^{Zg!Pemt!)^f&K62U4!7Xg$X8|}9 zRP43;wfn*#cJK;nP;#y_UOAHirgvOnAe=k5Xf;)6?Kq z-!=Xh=u;<1-6Qki?7N(rT};dWy;iZdz?@U|*?~nwQstR(0l1%ea)$#Ee{^t-&telP&D_{H z!}MPoSh_pVy`@&^NZQ@D>B^PAAygZFE(xiNq%1Zh?{3~s-afsfYsR%2IOj980BeDYQ|Li% zfys>$!1C?k_g}l47;;2Lv(QyefxAHzUU6+ z6BlInVRJm{i=eSN{4VCibm`>aEO2bh&n+^Z2uIG|sAv3Jc!BSY0Qp1DSpAAF%kx^y5GbQe&A!vglL*#TcxTi zfm%?zNZ}KDAN=JHIgWQ1$+b=5G?eUFA?@O{d3 zXs33hvu~l$KfZbU=x(g}sxhBqc?M2h{r<1FIH42%YN6xoc?JJygl%Jxk?G(KH#Q5w z{I4EdtXPbQ=ROswuWllS-@Bw@JglSGRtNK42}{$)lB~Scu)P z&c_aE-DnDoA2_c6gU5e#(9mg|#V(CgP;$Y-HOw75@y5mh?E=sb0+U-lA#-2zxft!@ zFm&6`4}l|3>uvh+zTasg|9!1QU;P%|@Wp|8fUn@9+r?mf99pxVIQG}I;P(x-)LC(8 z^Og@TpYj_L5r!N*TDpO!%olY!GTvN~qk2HT z!VF|Equ+o3*9-)f{vqsUmEXwJ8o}3eNG$CwiI+b@15WK5+o<0c+u{$$NPdr>Xd){h_Uv5!&25&x?F2wBDj?63ZiOnF3)xq*1m?%@+TA%G} zqg%_7t@#x>=W|C7D)5VGPN&czTi3ZEA$-=rYge<~kcugKU@m?)BNVKBZtZh7fntsf z$o&3WydmG8%?)x}~nrTU=U8pwX|?HTT4DXoPQngq9r9Tg?XNNQRTc{6bXof99qfuU=oR zDU28mKX$QB>Q`ZsONEQ>)<8BEY#5q%%&)6)tEX(Q#*K|$1)cira0 z&WoXcbwBnEz7VQ^mPfHK8TH>iP<-eqd~JqZc;vjflDe|5Rf$8*{7u*9c!-D}*Uf*M z@R7+nV|{zGpz)S5b%h@IsjmbbKLC}LM@9`A#Xw#X0 z_)NcXw(^-h=yY}B;wNICo>`ytVO;R1TYVVZUPlr~>#J>WpmX)p8d;rmFWVG)_$KD! zH*25fLo9cCUOZKi{4;+>^6H_kcHNX%rOU~Cwuj^G2DOmCZwya$R=tcdqSM9R#R@&h zcRzT0G|4l*Vw1gQqw;3vzzm?L;R~&uuEvo7dK~I4Ih0n4j=8|lM7$Rorhd~ z+Zq+R`bWnxne@U(t9A{{Xo6{9bH%)NHJO}vdC0E5Y?Femny>VTvi1%(h8C-%H$DL> zocx!sZ8=uQ5c~3<|MicoH;xzrh_1CiH?Lnw05g0XX?1%Gwo8~$tD^ll(6HV#`srK|}mVjrt)vp1&oQ z1ci4=6xIpw`&y45sATi$$%dNo@kYNs6RNQhT{Rl9Gk4Raec?e~yeh~1lF8z;uYVQ| zTzq{`-r~>PSPUmq-ebc%%7@xG`O?i3vsT*d$3qcyptt142k`@*`|Et3FotIWd7O2 z@x%>YHaPmjaq$TsagDD!Ee^yJ+OFA$%$g@aVw}D1mHmuG4^1pqu1wJVE@b$+VWA&i zo(;VTaX(~4Pm7gb^4BWP_rAV_&P^&2@}YY%(wijqXY1GpoQB8p84ovTZY0^y_0N9W zAPT#>9=^ z0!qI^uST*9UGG=vuLhdmFP>Ak=^4ISX+%C>L97o$2Y>Q`_h~-oT7R!2m)0DYGhid9 zJgNSPgW1=Zs;Vu|(J}s#C;TIDVc3?<_thqG-+WI!5hdnGe`QGj#cJ$_f4DSW)yv=; zr<>m_fv@3bp7f@QF>>^;gmhG$Of7wMWJmCycK9kX>?tE$^^LyP335~4<|ribI6uh6 ztEY0I{fXCqZIhXve%wzC$|vwiocirvPkwA3`LxUb%qQwZYIKsieBqfNTjNvf>+{%` zoTbU;{Hx}MPGbz8kS%O*w7&6^*oxU&SJ|b0Ne4LRT7TmwwA;daPqq6Xgoo0H_s_rN zO+k6~tPye&{+HuP?}K|{T|QUVaNGoQE&nE{6ik zAfembiOh@p){^kO7&xBG&DQddzjy*yKEQ!5@9539c-4lE-g;F-b1pu~W$i{g9Na|J zzNsnb(2+fS&{JnLo%mt=xuT zMJ42ZA97tTGvt05bH8pgY%|-}FW z!+oj7CKfo`8RD0^IfvNEw=E<5H!rAl{;q#@Ub9lgzR&lZ8Nj$><&n=NI zB>EI8lDqOR%}l+y+;DL<#?fFjI9{HD9M~jzg|jJyc9$)VuJ1Tk_E+-)yoN1?{Uxvb zRS~>@@fWCmaF(_hWN1s-Yh%|-TPS39H}0uKn2vR)Q&#(Zf)m12M=v&G^CBpM#;f@| zE#rafN;{U{r_N=D0+RAF zUU_3K&0hj9nYG+SmisA6pAl4@WWKpO&5ygh%Oja_LrMH>P*SIEq8PNZh@j$5l)Q#M zWv3fZ8ZKv6`2oe?N$g@L35T{NCOh3*GT!$g#|t=oK7cEi3iG$9p(?m%y9brjr(Vpa z{e|y2K6zAm@*}&PFy+fjm*}8vg4NXJ%vL4^3p@^_q_0bB_!hpLy>yN1(4B1dpgiG< zL?b}gUm1K&uyL@sxZu3T4fPp(uxD~>%c_&`e5+~6HdT;yT$EW49!Ij4{)yyVJ8 z!3|@ZH|-bA`~Mh6b>`#?AoLDqt(e;wQFHCH|CLg4hU#NmF^vhh9@_UbjHIG@oh9^R zKKnzivy$5P10HU~!y#Lnp5$=WTS3Hg&hVqN_ZBhN2tk%F-(Cz~aSz((tsP$^9-(#P=B`f;VQtB-^Nvo@uzYpo3%q;D6 zxBbT*p?oTnOIftyZDZ$+A}dV~Uja?q2I4WK+0xAYUA+zI@5i>UcCu%0T?l4GP1X1W)8pPStV@MjAx-I$7uBDEleRmL#B>UbKb*4=cvcIu!AumlZ<+-nP67Y z+v2ItZ@f_JG8e_QWppN0$O|444m#8m>bHN)7~B|Zh3<7!c9J)xfkX!ebN}(etWyf$ zDSCBG71qptMtx@byos^+P=rrUjs4e#N(TzXF@v=nf!;%?T{4iBPLZ`b9MO?|h&3xx zjLWs?DO!JUO443LORZ1Ek*Nqaw9hg|4`}x)h1RDwTY=N9wIubu7M_g_F4U4MFan{9 zy6$PB2{V}4&H(>yufL3?boWo};x;1G&d+`@T#ee3so1%MAkQ1708y3wVh>tdKwf&n zwC8l}FO+0p)_YuLuI+)xcYnzDx-}s;3 zgw+2T8#zy_N6LkKZF&ERx^2j}@vaseJYHt2)MuEKA=K^pb81nwGl}Q${u6m9tES7 zUU+e-fqcrq=G*19uer#X34w5x0_dsect5{-$(fE6N!vIbFzMJ82Xbd}p7XeKBsdp2 z94{#a)cC+w{w$pPW8HFhD{E+4-E8;L^rKIzT>T%Fgnq)Q2@!^}<`MZ=Aw_+{tyI7S zHfD46$JM648E)b3dfE(YQ`Tr^cPVHV8N8xE^;WK^7gVsNDG@2*WX>Gscjtu@Et6M> zCDrqiy0{$ME=1B^T+v?m7c<9b+z;TN^)Fue+@rw(@S7L;yr3lazYl6mPh18Z%cN?QtQl&!*K;0UCEY6v)7&DZCxgrPfTsa#0cZXtN~s5D+qdvg{h| ztsGG8ejVtxuDHW8kN?8aWEOrhq4EIKik)y_EdFZ{s zWp6d;Mxg4qS8^wIa3E9k`iqoDcMJDdvbpw9 zYMOMuZW45FM0wY~OP{-?FLN`wY%jS^?{G7m1hzDIsg_u_fi>&2ol6cTI3yW+x$*Lz z%S`mhc~`g*K7OG@fkgs_L`%YFdt{4{-KVQsz(j3W! z;*z>~I;yi7E$7*)lt{`UjCFcwdaTqWls65Hh~wMF2vca|^xf+;&mKW@%>*{$9P_wsys;RGU2 z?Tz8xTz4s5#O;H3Qq>UlrTBy>D{Iv|pnRnnucxxV9U}3*=qRUM6eL*CvwK7A!zU;8 z%*507UXHof@-M)GGn#x!#J{gO*wtbB_Y<-v<(m$_-XY^~RH(;&zY?H%O_m&n6KNH` z{xM_q-R@~E8^On(s%fkK2dDs{BJ-vO^T&N}kL1hbf==an#8c?pQse~72t z?L7wJ-tJa_4_zIKE&uf9cc?Q5I0eM(T&r3$t;c$?Bt`xK=cMRKe>FeFsXymKyG*S@ zhk-QNWLR>^-J#y3YjmjW)y5CEX4f3u6HNCPhizd;&h8~w9;9?}Gi2zDw=0)Q5YS^y zdBO9uU|5`2-J0=R#!{nf!_38fEbC#AX5274?1AHNy%NG}p1t#Y{PB8%xkr1X)u>l6Ci&eM%!K9~xKI=`-KNyfaA#0s)smkr-WYNQu#h+TZE` zJcgCZ*Uwza%=orzV%I7nElkt=vGq=*zM&Uc=b%yFE`4-M-+dYZr_>fo$+zvtXwqIu zL@^%@bv~C4!5xmrLgqN;oZbiC(aoa-{7KQwc?TF|{8m5TQkX^*vt8wjB^a)CJ`ZhH zqvv`VJatmCM_N&MqyT3(5je)K=s^x~fE$P7U(He5Jeat5owAG)FjyUfY zg9o}&puNT_o%Im(m=w@_@b}Zn20=6L;J=CvcB`X^{u^`kcYHq>Lv~TEvvzkY19{LP zJh_X0#0Srj)!aG=R3erMN8}8O%I)794%IOc>WmLgBdwqt1LUe0_H+TGN3Uk7nkIQ<_>f!LPq1MqS&8-+dgyJJg=8XOC zA@e3>G?LbyO-4_o16{;nes@3xz)+8tMqzY4{HS%IwpPDm4s`3y4!*`y6EjnHKzMG(;o;q8=-&23>pMT`ge=UZ|DT7yBJXTksP@d|s;7(J^D&Zb>w}l1QbT1%1(d z>ysMWFOV5o-4blV>~5&pYMD!3K2IC!#y7PP4vV|kwoh-F5%#y=vw?e50J!_nJCq9V^WJy;pv7?{lARQqR;RSCX>6?#CBO z#R*;Hzh*{XfM@@%KOxh?DP~Pxb1Nthh0?5ZXJtg9-qdK+E5r$on_e-lJ^L}D)m89O zm#uoN>6VCi^$SfOWt4-ITT|73C(`=TqKIrgMlpC_l5Nud6-fTb=XFFU*Wx8}14g4e&afb-%ItHIvp zA0GrcIP$YGL(eLW){;^L6}n;z);Fa)S{qWYa<`P!{Z&h{#a*21b8Gvf;8<#eJ}WTw zQTQD6sFF=&@h6%#X86JIJzbKUpO@*r)l~r=lp3o-Y+elWd9)2bV2}q?C=IQAk3k## zrS{16JdT_QPyT(sT%IOM$29_FWOYIno5VR4e0I-75Gi=tu_|A(EHMt)BoCZT*d(X? zsTjc9PCEP#u(bHzzg+CWZlKf;N+Kt8yIMKNeOM_}UV48P_-`lYE$e zRm6y{{fWkDtjD!~1f_fmRJtx0_eL}Tc>`8gKk;e7h)-)t8sb0rX-w*7VG1_P;Q7lP z>fPd5^J!FBoGrw?N%Rr6G4qmbq#KWP;1Zujc=(V>a*W<7>FSqSDmx<_sdF(CSX!IX z9Th=YPgE0v+iCy#w4rr0gfp1G{iZmUSKc^*OzV zT`vX>_aC|I@%?7VdvXIF`Tv7L1h~5f?Rv#^;D$5jT^tLi$mKQviMqih`~J@D;oC55 zRq9x&vc3A66LSkx=!GJ@5bMXurF0SE+j7Vu-y^n z)Ls5Pipq|>LRy*Z4O!?CcgnJ>3s`E=jouS8wmeRLwi|B!&d9%5&be|b<30dLMuEfK z5~%m(u3^bYhMiTk&-R(x-EhXb?zal9`sFczWVfvCp1(o|~n5Lf0~q#Ge+@xN?rcF$x z>%3HSIOocY1!YVC%S!n>4D4{SbLXZt?>TM6OnCd8UR_FY@iG;4s?Wk)(UA>Lut3p#fB%$}!B6WVYnNPEPYgnZk`a!yrKVsK!cP*7&lkPb!Huh%D?v33qjYGuswjD%qq?o+s z9e3DRM1$3qh6s7{4c4P+Hf5GY8TNP%$1Gn|Cx&0@QbVK}yI*B?+%Q+UvryU3xA#sK zUyb#v;dJYZ<;7{&&$*d76!SW&XIl>UjRLxX*2>uq8e+!#@RK~|+mQbZ)oHD=Hop$R z*lfs3JFbWi?Trhi5zQqpd-bZn@}G}7$d7dc^7gH&erhSNpM3hgvRw6(27cO>lHqel z6=+B$1nsL@{#3{k1(XstHO%qq(i<+QO0)timG@lZqRN9Pk<^{thDx!JlW!D5I-jJP zeD=K4neAh^n$btQ{G$GLn+vbOC2rjI4Vg24U%hKbC=%DqKGNw<#2qeQ&(EidZ`$GU ztzvUG*>&#{HXB{FS*sZD?2Bln^JegmAe8D{o!{*XVF1pq)mEaQ*>LRir$;*6;^R1b zKHoQbY<=ttboFr`sDjV^g8i5j)3q3Lv2-rxLnVe;m#WrUKQd}Pp4>g$-1=zs&yuJ$ z_z?rY%-t{FphP?19Qqh{#k;3%du{D>*F_s}iQ$k&)|A}VeFd`YTWqcnpEoh8J!NzG zL%NgIcj4FwF!zN${GbIuj2wsEZM#(1MIx|y_?5!8vs#}o$?cdTlBPS(0y~y7}+3Op$ z_k*_VMQ6D}*=u3F<>6FFO}jDEf@l6_(AtJ*vMgyo0Rv~;c{XNoo_l>{+|6WdcR}YBXe-gfRFo>@tv<(WtOA^ zn~-1f!hRQJW;t-70x~fBw*(qGE+07xXp7!&u$c|=V%nYD;<|=6gkN!wto#AdUUe)@`EPVMeOQ?EVo&M+nyJN=Ds;B zXxkG)=?ph8ouow7GDNoZh014DF-hwt&OI2_p0Ik=uw||aDgT2hu{S3~CKoyK`S>`o%wxuUidqzmUJHL6vJJ8)Jh zd5!L183Ue4@R5zb9|Io04qwQxLLn}X4xZ@N7D`EJK_+omC1FQ#tM0E;jd}KREr@ATnZ10gdo)Mx;kZO?)xPD%w!x4Y(F$r5mzgp)azYkjJ^Gsf!9(9}b z&q%aJe!RDSt!Br~Q~Ge}ZS|z3r=sv$mIj$Cr+8(>Pqjr)5Wzta7`Fd!=G)vGc1^$R z(f5^o2EQm^*!psDWm5TglmB=n?76gp(A9vgg3;%!j{f3vy*sV{bmtwE3=!5AwSLyN z(rKft{ctEFv4ydJJnZXDUrPZqXg~H7=Ng6)8NUNP#bfyzTdgme<2SzzGZv9Zf{#D^=q98{@$IJkq|^5JX*v`^9{1rpNt zYV}i_4<&hw#vz(b+rm~6Q1rdvCt|1=CLw7ryjho7SdlS1PCUj`v3;Jtl={&Usx%c(sQ(3mo8mgFQR%l2&9k` z{DzjFoG1k;rA^Tm?*om!vtYjAe^a(MUr&d~@|(dLsGQm%Bch9~$%UlJ156{he|O4z z&3Er86L|kE-{2jN0Zt}#EtFOUE3TzzsuAWWFPI;!Ex*N7F*&f+Azye~DFVUyiaB^o z1y}lil8_981^0$OoT$`dsAQwh7_!dJ3SgOCk6h*G7Su+woa~>j9F8LemE_YNml=ICv4eCwL+|zd$PQzw&ftho?bvTYK@R%r9@8Pw zH}Wgqow@6eedl=L?9}Aji1Dii^fxc0!VwJzBI~%Ov1r2zXn7n}48NFe;HVzrurmG? zoh5cP)+y+sE!TIP2jtQNB&3{s?%`9YmTeU2m6yL@u>Md*Kbzc;~Db^2kwR|iOySsX(oM)|$QJIPR{Nw1FPU|oN7w)9HR z{aReNzST`5*}Sa-z~IATB~O>gD2-Tqo(!pS6cT1cBX0O@7PopM*6Hd4CGz@WC4UBWj@LXxxkUE!$1HYqZ_dq`{2=<`1|dw0G_d`AauWZ8U?WM*h4 z@zDVEE}W9nNuCG>b^Pi#?xNQ8mltnC%-@~W{=P=CSo+vrT)9qOP51QYnA^{{4Ozjc zjxV=L3aEmw?y8`>JYa+EoHMv-6BT3q>VfuoPF*(b3AgSMV+SaHLu2Z5o<=xJLzIYW z1L6lb=7mlZMlZN`E6m~-rgEj3hI^Hm1lXv6$V?ab<4vwq381o@HO#<@uu*%Tu2MyO zRwU#X-hQnPbY{a1l;q{sK7D&MC0~z&(oB-#UA^eG!U{6_$fc?7M!7O|&swubvR-LI z#>*YhW(yLwt$+trY;EO|)Td%$9j?cXydO5iV(9(oCKpwt7RfG_zF&?|A0(Y|*J*=W z+pb7Vt^8q9bY%Qmee-v{*2$HbaS)A9`c0-Bh&CXpAUUW~k<>4b@1J+PqA*3#4DPqC zhbxA<;8pze0|>O`i6vK$UTJC-uF4AIca$65BJH0_z z965-W_Pj>iC>03!rf-u3T`XDk$q4z^6`$l8HDdF_$MJ<%VI! zMmTl6e&_frlXBqCSg#R9Bw429PA?lX`3VVMN)zB8sA~dB$;JOFNt;hu%AZoYHkRe~ z1~YhFf5&}Ze-m94ArEQDw^VO4HoFAdNT*-BU9Gq1W%amS`MG{0Lb+|Jh5qs8#BzOH zpH63Gw@2NWP@5Oe14z|GgwLOIs3h#0YEm`r2l<=dzM0tfrnMpj0@@lO6 zrrAa;r1mesclq-$hT2umu@mlrcebOklWVuS`&IM+JmC}PWHZDtlBOehDiqS6AkChy zkwKnHZh_wJi39;Fg7+S>S>UAbu#=y9bdG%TrW7R23lJ+Hp+7t>eJ+HUkq!5{y%DrE zo$Bt3n=Gm`MvH)Bx)+^`FgglU%BfyYk?|5#Vo6)T45_tor4w6?T`ibUx%z3oO?#M2 zPCZgFX1275Z(M=3XG@F!@AS`mxm@f5W0yehX2DO=c|M500%Hy)RrBduU9H?%hHs^^ zxbl^~=6|I;L7XAAkIA%!{T%}98wfsDUb68kZIedwJskX*ucT=~$y%_h@`!I`OA)`^ z$r+*hV2V?WP^~AJn2T02(}#=ZTKtv&bz{g9wJP_yxELW>UH#^ z&m@H7cmVt>jQxweXW&dLUC{uCR|GT2{^b|KuW_9Yyuy`eQ=884{Jt28@5%clD;H685 zAVyr{9`4&pr^Z|~!FcOZ>@Ik2r5zc#&}JxgG~7w+l`n^bAj7U>oQMqk+_;U+8bCBF zm#Sgk%oNiOF#SG{I{t0zPi@*8(OyFkVl(y;*5MS`lONq0_fdp_GC z8w?`0rSwUu>|d5w$M?hyB)b^u2IJe*Bi26o!BwCtW+ra##~G*v0_v?oB!u18V>uce z?`2W7J!LnGn!JzCSTR7R(yYIiRY}d$^9krKd_8{-g!&uHZR%KF@?Ov^p{Xa~FX{fg ze+I;JfBxefXS0MRW&zMB~m?PY84q1b#oNRn5+Fj@Tq*j6lz7c z6W~ldB!oJ~2heNoFKj`@#VYO2E?yCroy*=Gqw3OOf34F2s zrWVlrkp^ekk4uUjYYq~*G63P)*)!J5=LI%_Ya4S`D34#H5(907LcYyq6*;FQS>dy} zFVSs^W&PMgEjG%GdqMl0UG-lz?blWe5w;fI@lPnlP=#^oM2ulXP>bi3Yg}8)Q9_bs zFPB_}`EY#ot{(pS7Of<;lEwM~Xm)BDzw7~fu0x9yT~(`y6y^UZJ+~IoB%h{_g0#@i zBwtd2mU{6@y1ShqIEN+Kz4;W8KDCS0^ZWuj zJShHeJ&me)XrN1q)(y|7&w+hWqW9bSHqeBdZv`cR}-I1!*cIhr+Zu6?~GPY%)kWW-Q@*4`ZJWbsMAwIQp&P{wh zL*q<@?SDt707GXF(|V{QH=ujY&%)MX24;stVD41wOIW8FgV zIb5}F%)Dw%>dIQW3F_o1Ct6ZVW$evm+c+UdybH1p$pC1a{IvtITf2cCjNQ0_uG&j# z@uAXH$c+(=A%~-!c1<@2fUAj8!7IbzE6Ky`JT`PF(E?J5L=Rif!j94-n7c?V*x!1? zTfsz`Fz4~^ve5~&IQ^J!wZ+Js6O%?Y*jb}_lSjo0SuS=sU)eHeEk$*N!ar|v_untY zD-jihnTWh^9!>kd+saQr-~2mbfxRWmr0dG*_m6LU3k~k%Li*oQPR~|-kn7K z@n4Bie#hkGH38B7sJp2klFG$rC*tAdBJ)o-(c&bcL3x#n!dy@L`EO%fYIk%wl5~1L z7}+{Q7nMgJwkf?D3_zS}&oA=ZzrEIv;qAB>$^P!)x7~?zThHVEnp!p4kF8%&lhJ20 zsjzxF<7P?4&0G^n2)rkZu_?prpN}ZypN zl3~KvzW}T5Ipmn(^#@y4eTPK^iTmOnT*uar;|tOjN>lUi{D_M37m<-lfw zOQV#ug~qzhSa-eC^i{Jdnco9KL6zX_$=3Tz7{%&56$yt*uFD?K>|K71K@xu8Ab4(k z5f`za`|IS7q!B5dYEvqbg*9@S?6C0ov+LRMi49kR(35yjxa{18`7W{XUIIkpR%wZLZz)%nOwi)_>P6w}4ZYFX{w{GS-ek&|(v~ zumWg!`*GH8<F}VG={$;a>SG9L>3B_4l*Fc|0E?%-UrInv2v{(z)Y?Q7=xo3$ z8(LJ*fA3l@-*;A~MM2+3v$FV33CxB8+(>tsSY7l)6*FYH<1gcv%;L+Hl#I`^lX917 z>&xfHio2b|LT9DUhV92l(T^_y7DHiW20Ch)`Y=4i;7J|f3lwWL8T>f5nx}pPyJ|br z94XMU-`&L)ZL_jU+;m%6yFHhklbG8t3U>Ykn5h{lEIEc}kLsTqf^=u)hKx9=b|ONl zEd0N`#TMXDpAW!b^BPM*a1O!Og+)3eJ1?43!g?3=?b{|X%HNZaR$0KcF{^&4muP7@ zW~{DP#WsmU^k~ZLd{LziSk8Xz!Q;!h?)ari=frl--dvdEpYa3jMTPPuDZ7AC&AhZ8 z_`eU8^{OqZpT>4^jyXJ(^-0D3>Hhffe;q}n&N~fm?t^9j6*@w5S}Nn2f`{&0X=>w- zG_*x)AWg0A(>`uuRf|?UFAwYY^R-n&tebk)6nM)KZnrm|9wDnUGX|Z)9Psv&pfSoE zKr<;J(bNVI)>dQ;-feotKkE`>?UFV2Pg~L1kVG}pd{{Huy~5#5Qlcx&NP7J=`u?|U z{Gqks=8xmyEJEK7=m4@Q98m1`ZcTCjPrBTyjQGxFapMTrzdEX~D#4|FDYH(@gGxB*8NhQi@lQ3EkdjO)VW$u{ZTddswB>O{C=cQ&D8+_k z4e-9JPTd=vTeJkh9*Cw#mHGKLxm=6+_jxY~*vwLq9vrg`P4%e2lRmXP^`%f~F2io# zbi8pbE@z8u`kYBfkp}_apOmp@4}PcnwG-lS^t31N!Tbt_L)6%|%+BglTZ?@dw-gmQ zhlCosho8-I3_E+rf=HHsepO*0{$C+a2FE>+#ZOB2aNW(Go^SV-d+>gd-nu8c&m_jB zL^YtXb~<{M4trq>dM6(Ul|HPo+ji1*{QV{~(SPyXdA=FM=fg>l+`?AyGMkN3NX8Al z#vH76Fe!%XgRyeBzHUQmc$4**e7?1fIesLq&E$dM9d5^}7;fWe0?N>641Y0~vTyZ_ zcEey8^@zr)DW2S=a1x0dZ=^VcX@+^;7~AAAW>IcaW?j^6JPWnq^u^Dc*r0wEzn2DP$oz@=%Z_ zari7tQ7>E6RDn9&Uz6cl(m&z@lr{*GFin5i-|N@( z&*FZs%;&0-l^E|V!Wb zm%fai>H6U3(_DW}HrvDEgY|7;luKA_lmWdkM4Q=Msy(S!W5fiZd?4!+9_w>`1%9-l2~OIrg|Al z5~hIs8850wy>=ZJ#kc0uf*36!;}#dDmnFQ(_og_$SPiv=8U&K5mBZq#P!J<|rP=3> zCVGgjk}i7qWnu8660F!rbfh$u{g>H#zl*)((_!A^_)ApJ`*n?ciQ~_TN&;x#H-7ir zwkW^*TG|iHX2LoCc8hI)^|RLlv#Oj+Myp3a&c9U}9K;nXp_Wq;XhAwT_1hJJ>uXEB7kF*HR&ID;4`#HPS0ipJ0 z!yLFyI0`#2J9fd1;%j`+Q%?iRhOS;UE>k&j6yp&IqXv+!B@5V6_nx^LfdsOO3NZHCvA7xCN(ZVAo&rN}3 z8@z~VzEemFL?jIEggNY$NIdF`C zk>X6sJK@?#wBfEZQs%0rr0LC<`_kP_o^gSe@t^z%S(1cdTq*~^vh@-;ILk+!_7;`k zkU*@QzasqdZqF{J-Cp*)5*DXEKg^b?+PUrdCOG3PdEUyn4b2*y3iG zk=?zUy4;MS|4GTi9|TC$cq;N7b=?QW88lgE#D2@LPiaQ0*{sYNT6A-Y3EVcv*Dp(k zZgHH=japEh$rh5XIgb4&>!wW9tB5s?n3sa|q|cK}XCdm9)sn$_M@V1nOP7q+Msqn; zp6~?aAFQ6$L(Mtvf3|2by@!)J1SMN}wQ)G9CatvM+MF5AVC9BK@y7IvH#HCFcg#Sq zHI(N+JKLMPlf5q9G*l)=?1oMGhqgBFkEB`QB~m&&{Qtz?Yf}Bc3xGRk34n%&-x)c# zj+GQp_l6o8WcQC2u9~9!d7d1;9 zWUu6#{KER-%&^tUP5Qi~E$H2fQi2lj;bOi0)AYTWtFr}r6PJyVFpq>2D^ygYVnbb_ zu}7N>sTknqQD+zEaSvY+5lEW&Rr@^^zFN>OwdZ%Dt!AG*(|un|OTCHkRdzCV!2NBl zT6_5&r@mAFwL8}YYH2ESZm81sP{qd0CPk$`!iCtn)^`_wg@}22hymJGHsnr_m=u7; zx^uiW;SfI{^hKKB8Gn=;#mWEWST$krDLnMYrS$|*2x-E`>kb8Zs_%Q7jsw4Kz`tE65qCtY#xY69mO7mHohS>8+W!81^e2&lMQY##gJ zQdm`O>y`km<3i3^0rQDJUg=PbXax<3owBMo>_D&-R-!F3iP!lo^SaB*0!$K{)S{XX zHH2~RWkJHtJx`kLTMppEA6@dUjYdaHTM}a>gZ=k4WbF1_zg%a`xHLSK5)jq%cGol; z&EM_kPdDjhF-PO2o89?`QcGcCIdol{ASPC%TPJa)Ebe#FOUuO%J1g~yuS}=(z%*?% z-Mu4KpWzPCLoxdet-tMvTA3q%bvtFcZNJ2~=lbL-cD?-$40=cU7d{kc)^n z5UQuA6Wi~Y4`QQ4Ypqjyv*cI9JsSdFDcuT+_NujI;H^mDHtBU`yO4%9D`RY=`HPq) zKy(vTuIE}KSg8BJi2l7KQ@Dbhg2vGfM#kvNxL5RcEi~BqV?7Am@?)d?J^kbPqnfN|#(=NPZo_eT^O!b8}vA9>h&6R@gUTcVJF3n{trNUsquCD4^2ut*EGBCBp5_`%Os%yV13Uf)$Jx;=cDJzGQ{kqQF)W2Hn>GQpMMu|wDsRzj&{w`~B+hPM_@WxIK7T&$^-n$Yy*5vv&F zPF{xYXIqcA){8pr&P1<9OG|0H8fa6JQj*;~$ZG2Vu{%idgDyFBYX36)lEKRE;uZ9w zML5WbH(F}4lC<2qWqENswS;_h$YLNPOs}Dzd33zuXnFQPBlSr^MNrf_UxdXV_)10I ze|MSdT%M=tx9$(`I>+?cAL&c|of~H9MbY)o_U~LMiuY;w6QKJ*Ov|VORGv+KN6`Ne zNwU54-#vME`cd%3+^LfcshBIy36B<8Ag_oU4=6Wq)QmQ#&mzFBD~gY#3-FoVqA-=V z_pva{_)hR^{PD9LqCW;*BSN2Zd>Yran%5}U8#mPRX-1PflA$LKk{C99O#dSTO$}5= zpI$!2ZXHN=8#m2EFMqEgCMQKCv}4Q<9TgYKUU}P>VUk!utd|-O>umt2-BTy)%O;My zwk?pKeKzHe@z(L|EsHIr)3tYll95;UVuR0Q^S)mTi=b~ZPcMxvNHD+iENnPL5~nI# zeJkIHLK=|df8aGg#-90=Njf<1oY#)BN8|E)K2ceAjt7i6IMSIHD!4}yMT)mo%jeLT< z<1193KJpr>S_^8KiW+d|tYzPfjCE+z|GMr+X?0Bi49TH8J|{I!@QG^Sv>MCKlO3q9 zox=iMJUPUh*IETbmjQa@g`z+gyP({J{c!2-s9XEW5%$>3V0KB^(%;2f-d(r@`s(J{ zbfe&7h&%Z3E6JNXeytP@70{mhvuxcuG02%MX)ad8J*lBkYbCT27yZ%0&6d~`V@$YH zHSlt!@oy$c?!Hqx>2A-M@`d<+oqJu==Lw`RsU9yA{n4J$TMSvvwR}UTm#(m{EmhA@ z%t!f~{YK&5nuFVm?dRH7g1pWiiEHP*$gDiS0TuXg++AX%(&>iwxM2&QCB2torkr^C zXC_Lc1;(|#9G$(?GIIFc-pGv6Dp4sZ;#;MDdT_7Pf{_JX8xs+)BNdB&*}$-*2VyrK zDUeUgDho{&wLJV#!(cT)&hxD^EXz(UA@@7)^gb@vUH>q z1oltPbW&2!t~r+S0|^36OhY|OrTD~mxh6~2Qhh*hoewG{;=QgX*u-aFtwL9ik%1HQGq^!No=8eD~JI ztlXO^>b#mJ zaGd_$c+%Jh%CA&qE%p;$nTL|wvV#@F$>p!M;3D}AD%ktO(6G zU1wu}6C$k6DmNzoQI}vX3Iz1Q%QB*XjSpa|LOYS4qaBSAImuoN*L6m3zvz1?GVNAi z)|YKv(zso?Is2$!j8x}vB=CUp%b_F3XTGNlpQ_tp`|9i_xeoVV^(yr`fLGBYWizfc z_(sX#t2T6iK=a^>6xieD5Zv+m-jr#OQ5m3Ucj>NIJThC-VQi$0|H7ukK!ycmZIXkq zWTsxwU6LT5a$3mBcVT|G3=_Z000Z)l)Mi6ep(KwKq%$ow}!?#E7McAdbi4FTtFi4S7bJ;mBx$p9xV#KvZnj@pNSf@1g z!H%Chbp%70brQ}eTPPx9A006loAlLk+OPGHKMgRXZ( z>*X2cow~~6TAkCB`#U#`eE zJ}3Dnh07$bYM^ev15JBcEoMQRCkhig@0IG*K`%-~NQR#)C(U>L0?&69m~abe;ooz1 z!##X&?24?dz7wpM(R&i;uqKjhY`J+)T>b65s*XfX%EAXz_f!_TpZ7^fOjnzASPdwN>(Y3U(9v2z72W&EsBI4om@pm2l;AORB8{!cAKrd(g z`~+Ojw|}7Pa9wJ8a1bl+Egf+LRIMrRL6e5DYN|whw!W-KxU`J8BJ}y>5>gUs^Eqocb!W>2|f{J!b=iu*5JiJ#qt`d|5my?QFpk&n2!z_%e&-#-U^^ zgkX%uyyB6CR$poC>EBr5V|H)2b7HGiThzbl+RVJ)iTURR&W7L@$24ppGGm2ry#VaU+&)5rUFAzYE;{}hdzV}H! z$n5_dP7lth^WoPhKWLtXF*&$*;3;n23sJn#@q<#Y`<$p5lWGJjaf35rZ$GnmWR{`# zBxI&@4(3!?Y8 zr^qcn8D~d|%?7};b7GGhs7LT&bUc|TO>lpg;|ID{i**OJtZM*zv8!J)9zQreAWfY& zJ$xw7`%4!oE+8|YdH2MM?q+QVCuB02z-K#00Sw=h_qySxm)!BJk+#^3F zuHHwvSuOvcIj93r&WKUXd4>1+fJUl1&D`M@*_=s)l|bTB<#HzQq`&k=TM( zB2yTYyc9K4P34`Th>_%j6$W1@ZHWPm&?JS5CAheRFk|FeHAa(u4 zvw3li>2@i#^O;Llh^&i;r{|{I_gCih7Vy|Wu;9>-heE*G?Uu4pCnHSESL#)6gw-^# zNwYouNv{BNg!n(2&i$Xs$A9CMO6623XI3fd?NrXkDT+?0w>~I`IfcUJeB7Z@BirF#GHp=&cntIcKG_``w!ed-H-cvz3$g_J+BLWt5<3LQCn^jD!*Nc z2}1VGa}$qGIl5Jk1;K`Y4$Bd_xOXl3m%`GK1XpHWxtW+ysND|8=xfBFii?5DwsK z{VkRC(a`3}1Z6Zm{qp9*yk>7KX7RsbUf#IF^@fnOx)^yvBx%OrCw}mUM*)7zj z`gvyv>}#Q;fPkPO!z0>$K&X9WJbw*>pnD#-kXTf+GE_RLTKKW!F2&&?`^3LopQlNT zj8&johc)xXCq?NKHfqWrX&?kEj}>f?~ejJaIc~KodT5@jrz_ zZpc?v$0}D8EdKmH>-Y$dYZ{gG5Klf#Z9J-H^L+hFi4>$v+9zFH<b(a8tGgLY?J4y{zCg+cbwS0uMZayftyEP2MOoAK|a8m$l2AJ|Bg=Z4oMMx zWsBT>&5<&e&%B&JG#*;z$XascK!c((l==5S2`Swlo?1JSLifBjP>=`7&!~QSFFoJ| z(_x4G7bzD&ZMxvwfyL+Y5=LBpX_oVJgMBNGyzT4{&U%q%y4J=whNW*TE% zm_ms-SbC2klB;h-wQ*;i-WX{?22W`NVH=B>nf-p1MYZwMs#6=+!*{G4n<+>^iOeCj^&d(pS4@@HWp*HxyYOz}paVa4 zK1C^R>p;HXVz93lZCt!tf7MX;XmHQsBcGHyJuc1grU*?$eg}WfA_r2!QEx{B5KbB5;lQk6#4MWY+#B_F^W3JoVr$6rov#}+XTyC zBI&vk=~emDU^JMFyK=x)^ky*sH)3Vpsa07-(WnwXhIIE!z zDZ(j9>y+G&NhW8l$-Xc-fA-=()pMJ+wXv%M>^MQpP~Qb1S^B zXv^>MrbhS{W?Uzk`-i9^z(4v9rIjto__$M9g0mX=@H^sFT&x(Lh zTfF+D803wXS#@&zh2A+;%#|t=kgzlPV}nF(lkFM2p~Z}(e`8x`udV7z=fu{^#-X9M zUn{h;5m$(^F|8KdZk8V8S-Pd^wrje=)W$Y8E3hKLXaQ{Pm^@XL3UU)$&?u~FFK1l7r?Jr>1R5QwT}0HROh1Qa1%$Z5J8^nCHfgPWjA zfto|wKjJ@6sQDSV-0-2yj(pXZKf8Wfc;FzVX86`0tHXkWzetJu=9^pEjPN$s!r1?G z=-?OnkEqE_$PIbPFM3~K8W-+=cjI(|Zq6{-rQm#P34nRht?vH*uJotR^wQI#q@U>5 z)*tD|9H>C`?WQjr3VtknZb3><{}iQVzj+402> zd`ch;AkQ|fzHyQb$n_w?KbmQ4UswOpYp;v9ZOo9 zg|u}}`xdlZMLrx94!ghT$3#FK&LkvZ>(2n($ZVpGqG+idKz}DnijoxBH3bLC_e*X~ zGh1F=L#tGk}_$8qmn8gjV|HwZ$+kzN87sh7q)@3_0)x(leuq! zvXFFEn}+e|fTM5td$+X7?I9UjVD67kZWCy`G-P~8$_X;ISKZP?6T#(AsDsU4v6SaA zj*9adap;I*)sF$BNS;zRz>;dV91V*(VG%iBaQ#0W+m%J03Gwg8`RdK0Y#;D#e$?x} zlPNb%;Gvr|xow#=g$aq3kyPGdDs77pdGI#g{Fs}d?=ip5rP>%gnKIdQQ}VdtlcE(U zGrrv3uhJ$u>Ti_w+FqP_v6OZi#`7s~*4uNqM7^X!V{DU@y4#hk{4F{qAal#5bBH@% zTJM?x63dkc2ye-BFD?YgVX&4&o|xDE>ksYhurY$-u42(+?+n#N1%?(86TID^j_Ma_s!pq#BK+}o+IcanOD_4RV zD?;N`{$={z&^n#nDH_cX&t==frc;Xe9!zWPq=c0J44;Pp@ug5B&?J+OMJQUQJ45}wxik8C~gYY;FGznz7zFC3C{ zm>5s(2;6!e+E)U@{@UD(T$@0357HMfBg1`<8*TjAy`p5`SP)rkQ*JCKquZOHc-&dY zt6=m=Uwn;Nv9r6BnbhSEi6A<7?>trd_$mYJu4!rdMqW{YHLy6BG_LrUc6fczc36V_ zWP8Y`q)6!R{(EMY2u+wwzss67&S)rsh7TCtN7S~ywZG1-`w6MUvbrDI{gmNIh%b6sg1tyOMVku|dWcizx* zgfr(uIscT*TJUTpG11p;`gx(@2}(42iYTOhqHnw`yXDp&yPc7^6)~2??AW93G~>Lc z6PBO~b)&b%;SNDnroXb4`$Km?cb%F$EGL^`Gr(&e+EL2=fYn%bx#iO27=J5bgZ-bY z=Zaj_*9=V0JhUR9Eb)|%aTipLMq~3@aLNuuSH(2@kq^Z3nRGS4v;;ley<*}OZW=QknD+rv8F10t_iIG%^36Q&WlaSR}Bsj2G^j*u6NbQJVUcQDf?~*#0z0ix%zH^ z>E|MesZf&uB_eMur@wxCdUPXqcXr%CfjDDl)4gSH!QsRn_0(Oo4UB!B9f&4e$8@kGKE@B50 ziZO5QjXc9u;|?n{+pB2pI6rHu5R(v-PBDCU#41+WUj5Ulo8gf^8< zpjs9QXEs*o(dJxd%V|WuetZX-Gv6#A^sbEr+VYldn znf46qk7vI-6%m7_yVg3ur#FUyGXy&i+Xx3T);fH1vvbAXuw!;&z^B7?~lF?ipk=fc-ia!~T`~?p9vj+J;R=O1!iJ5YFK> znU5Br{Qx{$y5k2SSV^g&hFU1;4$or6;A9^iN)4Ke`Kc9!f7Qm^N+@GaW}N89B{PRd zw1FrrR2xmCr6+VoZ+$M^OaX2^x*7Dmup`Y2yy9z0Mh zrkp~AHgZmS@WIdsFfRPa0Re2zW}MUXEjpT?E6PBsx2n^ZU~%T~9@osLR&S!VHI0m} zf+q&m%X-XQ^MCuA#Mjs#x+MR|6l57`V`pi}xD?AV=h~uSEJQeS)Y{xlX?lJl6u6&? zH8vZQEh28)en!0sL}}fnAAVIffJ8jnV~i}<#`8Yu2>U40Kd#M9&UbgRE#_Wp7yhs5 zO~$mh$vBcROR`SDQrM; z^5(TFbb$O@+Iznadd&F0<++9E#=!ItgSc8?CQ{P`jCHmgS=x9c)dANxD9@iH;?T4% z8Gl}adfZC*o;p$!6xSCw%VJe0-dK0nI5d_h3PC*RvzED+DgCSSJq1(5$cZj_w~EEx z2yJ5MRzESoM17@e;H(DP2{)HgzdOH)jN2QyDT*vEELcs-{cj(ygcQ8BI`Q#}V}P!Zq9raid3S7nCV3%fKcrcPrD$8Eo9?mv zRTePP?Oaz!kVw>w$qY6{{Bnjb4rSL(VTg#`aUml*^vp##L0kOl!O0v{_`%_K|FkuG zWsU?6XoUoybb+$}w;Dhp$p7dZuj5ERz?)<0Z_w?h_-AcO>n)cUZK`jc5;wSLo``s(FIOg(JU#RE`B^EB)`C`5 zp0u~vp|*X8f1LkFnn9|%V=5n+^F34fPr}v6Q-b;zaN|`BsR4C4D;P7CZ)XX<%s>sZ zsBj3(AG56RNTR|PfP1)W2x-mCA7hwsdPY5uuKGTw>RhQm;Zo#x>X)Uzb5$Q$Mq5Fi ziF!S;=<*{n3;g1wUfTY%;Wxm|GsEcsec-N|j=6DrlFwZwYTXLykZtkdsJr)thy0^X zr$l_05K}}y?y6=xgyDVkZUbPPP@JNQDY~(;uk)urt~CY6aWHG?(M%+&_~yb|KVixshKccE1;mJy zBW0{biK+V{X5%JK>Dq7aD$o*UCZeky&@ykYDwdYF!FtPt$~3fL&cw=IE=T4}wozC5 zu;KUS!U*^v=K1Cc%PHQQ9K zatVKE#XDNJVQ-^5;sD%JI@Q4<+b6V>U?bN9bP1KO4-S2VFDsaq$3jtCPao}aRY#gO zB`s3hGnDwqSKyN>&dmBa|D=B>ox6LA$~?7Is6uIWbxn=TmH$0p(g! zvnIr2wr9U#X53E~%`YLs<#8dl<0kpzvhhp_7ltRZ8AT}#&lake#xO5mZ!%h#rY6WV zEob+W0A)vJ&pN8U%-EuQtY7@7X_$-dsSS?`Uu$<7iq02@sDu!l6_RUSD|0`)wxp*58b{9Gs;^CU zrG`DY+o>tF8Y!0t$rtY!3jRxNC@#$8{xmWvpzEMZ)VH3(j~Gj2 zq=?ZL^=%V^^jaYY`OLwLvWGR%(D(QHtQ}dW>xKh)b7lFZO0A5=@9J_d^rN;X*bXL!WT~3NDH}Qwq1(hMT+O|m;DRJBwH!njf$03iOn7nB~ z-2x3-3T%bLAD|ZUt#`FIBR8jGxP6jmUCromwbtEx=_#B^;mI#(CI6HvF(kEsh|_)xgs<6wPDO+xB%KZ(DzdD3*KsH7oRS8obNUgG z20QkcW?YZ!4JbNuq3~Lq(YkYHDyzfEn@2>gK``2GA=V}RtN!0ZPscZ7bb-PCA7TH{I%`^qh+53L`B?NVT>#^OYxIrumKT=JGyrY&r`-|I zw{AJ$usfEfp2ZpYYm*all#$hb%9!hp2YjP}a0&rns*|r3fJ>xy^XP5t-!y2O%}4mw zvSQy-WW-eMvoN1k_2T(H)Q2loO@*E*gJjO8Q6jpQEl=#+vpc<~^KgO`hl;V)TL9*O zw-~Si^`U2b_0ixhvxXruR#BnwLEcQlen`*;HW%oVlAn^55*R6Bg4E9;=$qIwJj`H* z5(OnHu5w1^c`#?{S)310a7ylCLB-#E+ys^?THTO2VAd>1o ztCz%D?1h~Y<8Ht#LQ-&P-AWIf+e|xSN)-5B0Z%oB>oz~h>|40R9+kB8IC}^E&M!UT z6|t>lMH#gs{EbLafJn}k*!hvCmHTUxOE)f3O6-?F@Xuz(-J~%6M6gk7*x#Poku3UZ z3cy&x9+nkoyT*)NezN+<(xkxLsIJ`+A|o4+BGK2yrE{>Xr|<2`e*L-kTlzM9o-r+) zva?-D9Sm=Txynz$MOQ>HQE$a`Rmr|eD)Jp(Ct3U!d|fot@RXM^|}=Ac5aAwZ&mQPgYl-vCM>> z)TeBcxmo^XhBkWORWmaO>OZ)-e|yd+A`>g?oNN7AacuZyN~CTpz@k3Iy#o0)Dvj6G zd<-5n(Hsd+N^v?LyLubUK`S`A(ni?74!PPK0bIGt8hWC?Xef9(GPH{lbwE#d39WM=d|=g zaW&tqY=(IKCfzYc{Y~;HlVP_N)lvZl;fBx9TJNM5+?rJl4E0%^4c+t_pCLB;9=dTGy=dSQ_fHlR=EY5UCLb2!f zCtLT&pGOtt*Nhk$44)|9mWo+r#Q2~C!)-|`ApF(O0>-Y-IL`>zp4psuEf?S?20!GE zMlWi@b!Cv;0;2a%kbK`EzF$=$%8k46HpAmuQkO;3M!7Ih(a9X^AGV$s7qK;5JUM&K zFqdvz-NN{@g4+R0mTIw;3@z<#0$@i@Mf>Lbr?V(0T$T5TExMZ?$gO7V=W@Jq61(|? zme2$uTRk6uF#(6=Ej|40>;QgUj;22M!kv+wq#@{Z!4x@n_S~ZZk*gBEsq_?`~W3Ry}<=d;eb+?TrmJkiiUsjA~f_}b>6*ITJV z&N;-5Ye79Y`mGOIK=RSu%l`YCCVv?($mFf2>OiP!DHbUKE=w*YA!?xfqdWY;h#U{L z=ezjM<>nYO5b=gi0Wvo#Gjy9gD+*_ukvMCo>fP? z6J>`b!&HiOgdIBxnAkY0t^RnxC)Zqw_aFTM?wHERJSX2Ug5u{I) z?2Hv_WBhM|H|ui#L3k?iANRwFO$9MmWOx3}q}K_6m@5G+_5-6GT=Hch{29 z~eB{t{7$bQ7p$|KVgz zP1}CPXhaoN2Y!b?BoA?L^|_ATeQhjs!}qmB9x=I1op2C5?Os9NUF($wcti%RDXRKb zwYvn32?R8dauh5r2nx$wov>CO|8d2$rGeY}2GYeFxi9Q}K30Dv)f{-1%02q(Qbo}y zPoKgJ`tjweiWV!b3(K==if`z7C~)kiAStmIYY9V2Z1H^VsrXYg2tjPp7b9^&9+SkO zio5es#iG%VKaw@@js1q2ZN`rTTYj#9br73fs$Vld%&olj&<&43M|C^T(ES>kU$64w zA-}&)HgmkN?4Jtx8XKW)+>uU)yJ-pe9Ae3ATgl?7M{{@H*7MJ7R@*dlEXr;J+yMFF z$ND*EjuFO`E-`kUKoqt8H`#qp(r)d3Gah>l4hq!Eo&8&P9TYAI@>uPO)mf(5l6^mq z#`2Su)-=W@OQY+f;W~4fWtr_nl3li8W@DR+&|zWjb7T+_L*_cdZq=G@xhGWSsU?7z z0La{QE}ChojixOJ&9Qm3nHA{{W;JG|W_>VJ`wo1SlxsWB+kJ~wy+_=v{wi3|SujdA$& z3&i6{>A>iwvUm+z`F` z_Itc!L*MiBtB16Xz;Bf&?TF7>vJ_<>`i_6P>=piV$wTy58DS!wVRCLQ&ohTfY4NbJ zSMolkEsNHYu5wQ>o8N5TV- zNZ4i7qLhC*lj$Xr?%+XAQ(K2^yS1dk&XHk%6<*j^W%O*b%QxqZ|B7tyV~9VsO5W|H z)JSD8%I{xdktJtk(UMbWusvE^0u+6`F6+yGIzJYUOvs$5>Hk8<9RFVu+g_H^4=R73 zJsG`wEu~y+fSZmR8?LW~U6ESoWoch+x@m8jEHSnI7CRZBH@)WgKf~sY>7|42N`fK8 z;x|zKopxe;MM^%gX2y7Z>@<#htH2P5efZmrfg(qDe$(w-JHP^21U3oK#xX6jmWtC+ z19dk#nbi9_2$GRg*~O`0Tb6YtPv0eGUrLV>Ca>X-b)0J6ISmFHzF_(mXdG&bjK^JYK_U-4Od`>#v zZ%;Or-^4K-mQL!hW*n#Zdx!PECgAhw66J$0xm(a!3!zCyG;i|D0*IeHF@39GBH_kD zAj*5I1m;p8-?UU-fYo3VS`>1^yvnxpq_kgr?AZ`+6z{o%nvR^%3j-)>3zh0_d*@F6_jNCb1SLqK# z3;mOJ)35b87~{;e*RLg|EQICeW$>Xh@NTc|#Kr zj`md)HI?nlhE|vi<_a;OFNKhz)=j2_Pp4kgp22~KJ5BmY2HotDx=(= z6ZM#FCLDK*K{;=99M*6D6~$sUM4ieodSE0Z+ZHKKO;YbWISeUjfZu$8T_{zm0liR&EYYdSBR{YwklY?O_m)PYHHdJ}%n&YmApgEDJ zrxb81qNxkv^CT#=+#Ds`j@{nr^EBVMSguZ%r>tk35l-jBmfebS5gS1hcggh)zZf6` zrl7n?n$ElSVf&f*-4Fjpa0&T9@?gT$_L3O5{uIo8vK!{xvO6DOWj5uCzCfERXlU#D z*3dQe!r)A-FHBIxJKTNgPN&7HrIj4Qex~{I(PGgf_OCyU0UR$Gbb~ zQ9)sJh5UoFKTX)gZ<_!mVBy`HR)Ih7zE~(bop8l`m-xl=r&wvGV!x)<>1)QyJXy03 zF)H<*_`2J(ig7hMuUSRqq-d1x{dk=IiHrV41WnA$h1c1w-vSkTsVO7IFvBb2UrvNI zN0=T2o9+IL#q?}@GX^&9sMn9CH|A=$avx!kVpvruJH74^_S1ftu%i=qN zFFiU~sXrugnl7@#F-ynF$HeCDKj~z?$nPR_UX=vKMHR;j!rTEC*N&W!$NCs={!EVw zmSNU;-uBqYc-4Gdt~I3y{xeuxsEgR%*sT@C%6}5KT3BrhYe#!5#|V3D0kb~9T35beeYgc`z+`UVSpM8adR1{e zXDL;7%FEUo!z)h6P=z&@Sq(yR*^I=y-BCohmx9@fSZ^J~}#sR_2_1M8 zqrIz}RGKss^jdixV$XW^)+M(6&qwdIy7VL9`L9L|2&(m!*H`?r=I;?f^8QP+(SjBe zY5&#cK4g6TqT6NsZ+qQ2(FWdhThiUF(Lik#8-X;Y7hR1k1ke+Zvoh^-_OAzeUHP9Z z7so5XY$r)z1Ys6A4KnI#IZ)V)mTljr3?g`)rT{i~vP%|nEdu@&@YG|w{pT1XRp*44 zin_GK!}5~B*cdl*#U9^#RTS}Gx1%y^_ zcg1&2?FjQ!#X#dIpKid{pn>9u@*v9>C7jj5AGN`G&r>XjLAe0-jW#k4Rl7?SQH~$$ zl5yr8gYXCHhwW>L{YAlfocEZI_<(oZZ!iTFR?r{3q&jHHH8-KBsZL}z8s=M@0okeG zOd2gt3|fqLmr7DXYJ|}$R~F>!x}_lVTOe{wObs=<72{@^N@P{;Y%!hyCL@}X?DD26 zo60p!Y^o{+H7eIFn^Itw3y+lAfq7e_&KtiRK}Bt)dww7FU8=^7jQkC8+Nv+>cIC== z*;$C(BWKGeok{RRW%Ywgalj!-)b4zxslHkJ-He^im@VfF57%G_CAXPi`kW)G9Mo%F zH6Si(x<+Srm#*i_=m3qo>acciYA#sQA7c8CkUEnHmMeyUw{iAYrjUr*Tyz2!HNHk` zr$P;Vam{_(6B>++sJJ9)!|u)A*l_pNmOP0rVEg&Qg812el(gM`XjtH!=K-_+vd9X_ z%qDp7S^s@UDvD5#ZL2=z=NG=Azb%-F7X2IOFJ;`^HcI)ghrjPp49WWTli6x$UmH5H zrXr6)qMXwbxhb2#(RNRr7k2@FIx3@!?Z$#PUBci;HjL-Qryj05yHaXcP8rFJ6FSqLV_%=`!P zKcuR=3V(9Mx*9nQ4lWdU;>Z-S=Y9-*j7LF8uvZ>yX`C z!)@R7)_BwQaDLaBkf`RvYEYS{%kCO;13t6G&bhq#MXYFkzlKL@(KYk<(@!AKhVRv~Fi$Ar!l?Y~HyJHVcvf29&<4@X?Bbw(PZ|Rop5+3tApZTdpfZjxdP6sdgQ-%)Fy)lz*;HXdYdgPQn^hMyGZL!)z zRa3Q}?Iioq?3AyJ_J|20!sZ^1v!E!JGDh>VJogy`^Jl!{Na@6F`H8q;A#$YF8T0XV zAR`l-p!s;mc=v(I`evya-b2zNG`WrS#y^HopJTz$kFym#fdzcPhh&!Raos&|_2^Vm zV|KJg#P>lQ)I)iqoqkuvmC_$Tf$74giZ_v zoFWmhzfAuZoi^O{A@sO?Xw1^uPm}-br(%|_rpT^E1WLJimc5WPU)%%1-DT+x%~I{(cFVWFI*lf?mG9l0H=%SxZ2D>!%Xz|l=hgvNVB_h zL=S!6Ms)~n)2X|wbw?WRo|p8><4P`!ZMx9uoYa6{dFDX;<5=K41<@{Y-Q^jGFP~zK z@pcZ%lP%Fn$Mv!F#kUD#r>n=_<<~S!-ET4lZ>suNMVsbtpAKB!Y<=NCvM)9zL#w*V zEYJKu3!n9`WdF8t;&CdMAfek!XWQ|$71}-WJOF{@- z(a&tN=phZ=87jaCqTp2Rzr3NyZK#8j`K+Uv5jjNXJIX?$rTp^l z6%`DFcP%}N#VFj_MpP+xGM0^)vwOiq7BS+Vv5}kVqjMLLw7ZG$DuLNYRj44guGb(| z5wqlE+x7mpo$n7pke-ySlqO3J8nD)xp1}aavse4LJaU*Q+WQq#fZx2rW?5M<^N6P$h^LC z)#uG54NZ|moP0)9Vkxg152k;b><^!1{G(cuuXnP(iD>h3_By@)WHZ*xFh)AzZtaMc z;b;_XYsTx&h6Efkx-jv}2w{lXC`pMbFMnRZ zD+!?bpkMzp4!uv8F6f+BVDx*F4$2gbLANCDygmowbpX~`2})J|$m-`fZX=_~upU}f z?($!OMgI!{)lr3wc9XBoCyVmt<$GGMk?yYX5>Jz<YYLN0VplXSI)0I_E%WDZ5sE%Kn)KcKDnlj1dyr+?6`-#ApfC_` ztB011w!8qd2q*=>X}`|c3CI-g+f5lm_zh}nseP!Qto-V6DH@&oI3mWQ(WCMj2w3@a zg7kJ5-ctyBD=H1^4d2laxO;s1pA6b7(&I;Z7h6T(yDExPj|2vtP12VBZt??i@j7L# z8P8Q84ax&$sGEdyKCl&h%!<_!e?*CD+cVfj17V(>$?k)}_EfLOkjrmNKcPWO;h3^3 z^aL)n4=~2)A6;X`L2v(}y$qyE?FqNchxggTzpr^$#oBp%GEhe)ydOlyp?@;_4G(u? zbClE~DlYlzWGt6xPnaSM@rjd4OfZAZMC>$SCU*8i0nMcUadd6ga-G+|G;;rShkse<$23;pvNFl+)Z zqweTQ^zIw5ZvZBE)|t|XcE^%p#Ja{hWum`s5>Ma@k*6VXL3+V9rt$4_INb&$$?R{1x_H zh)Tv<75|*#q=&)uPgdsvpccKTis9RHfDZ@n6Z1fWmmm7KTbEEuv!!~SxgRvjNg52+ z)bMdJAFI&h=yYB*sOYr^sJjU&S>PoL;CNd&DPcI83ZLr~KUY)>$vf@Rpsn0(Y0YId z5lFb|mTCeBe{21zZPL^>XDuY!+|<(I);Xfnt>)Vvog6{=qa*xnHd{f2qn`*(BXZe14@omA||FcHww4&#FIQvIxX4r|>HR zX&eztJn@4UX0lJT%EpM3a#|B=j1X6ZLkGk0Mp@7aMSJK|@izbVI}eqni~Nm~cDrV( zB~S)wHS-quFMv3B?NK`-)OwvgQ(0@Qcv1tp^_zYVC-iu;M_g9ix4EgiJ6W*P>n!Oa zn$;q>sSY-(ddBC%jANdS;#Sg$(%h&(spKX5rFQzH+1pf;qN&wZz3}ckBpC6TYMD9`^nM zYjO_Fv3hpq^bxU8#0wT2s;<9L+4pe6?n6jD5Yg2Qz-t|szjOIoYk1U4Ar5iM!dq4T zyoB4>1@uoz^YpHgDE9*vhV{ec)6w;45AyPc#$YM9*=*&!$Gp#P!tc?<10Kp@VR`R2 z+g2a(nG)^Zm3lZro6$qVm+LVhY3rt5A(Jh)+$1}TC0dId@sifr@m0zUtw+scGm*F$ zbLN=V9;QS&)|oZX;8c?4<{$RA0c}AizXwgIM08opn05o7sNgXj8?Sz*duhS|ALb_a z2%mCl%q9>t@6i8HO3FBn7@bX%)~807HTR~ew_{DKnyysEqoPwf7wll?-R4laTfBy&cu5|WN{C%ayz3nVgZ`A-?F+b_d{AZcq zT&>Y}2pCY14x!F<+sx_Fs$NOyNY3CJH2kZU+VG-xcQO-(D<@ioD$-ON&=pyV_qBeb zn4V&mO1+zCN>aQoJCc7`0$AI;=YRZbxLY#*u#FnW>(XKv#D)F1zb zpV~8`LJKsvk$sk1gi(k);eN_gj*@(TvtrgF;cSM|Lxv)K{`HaQ=P!k?c!h5w zE$6tmQz)+H9OZ!ZM~ZI0U>02?U;1Bl`K8bT`+F#_owtmO{%&7uq+^yWfU?Nl)=OdQ zk6*s-i01ztVVYU;@-dexqa7R?b;o#nzkR^b?CmdYSjvP@y*keK*)sLyALmkMmH_s zYP~B#`KNZdS(8!7`G^LZ>^w8k)~k27^{Nb?o@APoRy02MdLk#{E7eQo!P}A5RO(4= zhmrFMWc#PH!Tk40Hc!ezJnXIeY{(VynN>M0`G|{1 zy27OIUcEx_u`xn~jRP@w!+eb%fsLeXrbAd`OBWE;hYexg+jQg2=lF!a_H@9SZ(nwj z-j-9()zX48igNWG;iIb!(c(#Z`B<-Qq_q^+drh904Wpr28?$n@TProYm=y!coOgztWjA2_7-jch2-TlUI!i*u$I{8%a)pNVv& z-hH6N_a3x7QS!ZZ<_4azG5zre!BA%Rikpvu>~LJ?N>GjzG1YSKG`y{0%zyV zkFJxblPwa8<{RHZd4!SYqAE$9t$kt{snJS{8x_x?x`aeLa5XkIp7S=Z-xGiviD&x= z=c9M6JMzVOD>@NBTFt}*7NZJqonH0e%JxLhgwVH|zUh0ny-P&jlrjc000pHj^*r`9 z6b0wMRnpbjr4P%?p-mFNI~NB_gw&Gm#xut)VbZ&c#*^x31g?dBApy2{O3Gb~t> zA+EcF%eF^SrkQB>h7H0Y&s98qF&TiM57^cL2t=n$swW=>K_WyZ{`Q|3gY;XtoqGgSz_PhcK*K-(=b5c5-Gyw;BJqtAHVpnYiEM0vI8j)Nq1FLiy`kbBe~A!MDJx{0UD zlGcNpIcfCE{pJmHZ*O9;%pO;KZObsEUK zdk`C~N?HJBZk$9Bz16+xpCrVqL@kOMSsj{pRoYO-jXZR0384P9R*Akj!SV*w@Ojp( z^OOBwlPsrXUZC(z6XwX7Nl7o4tj{Pbq*_F;US=*A$$-!uRK^ z@OPo?f`7dlb2?^ypJKzNzT3=i0tjbF{K&(%kJc>|1vfqlxozs2RO|oftS%zNad{Ko z^O7HWSMop+Mb3g4-GZN0p;Tq>9!FwH5tL-Vwh6!a{RU%rNu7xfYwU|x`G}hr1FXW* zj47(B|02cCxm7{Qs!uBX=w9k-`ob{eRrSQ$p}jT>XD>-Z+W+RJ-;gsH1Ut$9e(0Y{ zD{J|AITEIMv9H#hfPm=^JPz9ZTr1RNC}Mf|;DT>OF3h`VciCurNVbn(fub#;0%AJ* zpZ4^uEW~T?Np6`5T45P)zWL4JHx_$6tfR4iThR>EfbmpZ@Jq5Y^D?k(wWMx6!3 z^3Y{h!t=L*8U(IuX4GR*aH@Q-=TiX2AR_&XZ?KON82KaYK4fOqWypxvm6JQ?EM%q5 zd_LZ>Kkk;Tx5q6b)ebr7;0AzBvvi1@9aVU$F| zeWaX~kRhgfC>KMuu;~KE|8NYLhrZ_dlGMcUpSGmER}>U?Ps2Obs*Ra_a)F zuo*T#r^JK9sfDPLXxAHqRKypyO4t+pw!6SDB^RlxGE=21YOx3J9GMEbvRrqR2GXV+ zKSUo5N^I(anF#JD1h@h`0FjOZLu3TAU)P@9II|LvFFFrmq82w)#X4Bcy>p&_E{9A) zjTb&aP`%_|*%bjZ_XO|mO>Wv?>kQ$ky6 z>P2U5I+j%D_DuPCqp9y^J|HmFnpnG4gZ$!fP7?~3B9;wCFdqHL`XfOt+`^hAMf8W^ zJiO*3U?;&5*2{@l6T6M|)0k$KGP;KsausplTMN1%Yr%`Zl-IGjSqW6NK zDz$d#wEBE z^&JGu9n>mW+oDw2iGlkl&RcN&Or{KCo2zIDaNX*j}I-Y4C0 zx=XG9Oq~C&9NmIGb|(L*xf#vk+0p(B{g;)b-bgT=cVgyY9gsR!u1c}glB4x zkE;uhe$Km?;Axb<+h^7b6Wqqon3F9&r+|*r2)2`B2LovjezjC96nD^mrbxF5-z>OJ zQ4e>_05RCXHqpc8zPHYd&VaXtIA2m<%(*MPE@X$Ew*N<>`2)J-N(?~r@bN{4{gDSW_Uqy51cUs+#plQNo{_gqohq1@5As#HNAoN|r+$HV? zo&n{i4p(}!gFgbKe8rJg3wvV^~pk9i01`Zc^i6M(OBKLtDpA7Yd56ax-o^mi`yxPVMvU0ACEQ-^O z;OUFG#2Lz(j9Z#HyiNSZhBl>B)`eW;iDj{inaVqTFwOyhU5c5XVgX^)nvHI=cI zyu_q*4UI-qu98ZE?|vgUHf%`=2(L1eR+q$}KLrjt4m9hQq{Ki*uj=^4;zU}TU2~wR zAYrm&f4KSWU`fAe5BKw1G(Y9RaP{Z9r_x>14Zz0COU@iZZYcb8sXDR&YWRhOidT-% z7x+)_Q3u~H0VJwBkJ85N4g|5M^hisygRnYyVJ0_dj`P4h#5*$uGRMcOvCf!p2nM z1yNqYV(*dN{Jg+#o#Q6tYB9)iqpu50{36__*#!s9x2=Q%K{B zY*oM2S;2dGRfSj^`{NKdV)&-aSHX(C~bozHOD z$lRjJhEopkIMQ6Yb>hx(d7z5FD)MP4WJ!0hq$Ls-LC-{6OXX+GodQpFS{K@@vCrMT z+*8v2fbYHj%ogY{>_)Bb%4*Nt(8?_3V$4bK@Qa4VrmCZ~Ho2Zyf}@;yd1`LD;NjQh z%Ko!sg|wxNN1wEu(#^gDC_C-nswi*ci4vm5O^=2U|7ROvrm<>&?QiPs7!~$;D4UcZ zAMqCm$##ms0I@b&xD*5BJ%DVqQkCr2zpbNnV$-!>!5Q4Zx#z1;(Z47^lkX8V!zn2` ztAh#OV`1f({A$A5-hnO<>2GBSaCdF??$DDsIcoP9MQL(v;WC zz!NEh#hQeyD}1j+L&E|qawP6_n7&K@SjGrFPuVoXHS@m9qAwC{ht^kV%#YskRw@a| zv9}^F0A*lIQ8hxDwm?-icOuoaO6Vx*K*_qQ5|b_6cf^}VOqen*v_N8|Ys8p=JuHD9OwfyFRnA9BVmcPQl5=c=AV+N&(|rE zrzSVk`;82t7~|}Ro!7vmkIl=6mIbviU(UmXCZT)Eko?S)j|TQge2+K7Fr~NDy#S); zmxg`XC_;u{1%rm*jU@g~7gWE2o5*&ZhDdIiYrNc-NjWwxea>XxvJ8 zrC+uVe!TkFXyHq*aJSJvmTdtCULUd7xby9L6KTQmm)4R@j zzQ%W-g|awg3iyM+mIL2jO`3Zv$O*Y3u>&BaQ&-l#|vPo-{H)89!z7v>x% z7OGld@Yj8b^tR@`Koi;`JU|b`c<3%s`;M%ey{+9bf#?&Lx#P|mEVN$DtG){qnOC*y z<)@tdg2oAN_5$;=jF-H!94Y0VKQCkNA-qy0-}ow5gY@xxup2?0O2-VwOevhY+7 z@ELq=M?l+J({xsb6wLj3~6W3X0m z1Fyi2Ns?MBNx^7dHTHHUH5ELU34q&JSh-E~wTIq>{_Rf<@4Wv83vZ1V&pbL-$-V32 z=bmrHj*SdIalDB8aB>VR300e5Xx%+!g=c4Rb7tTpEDorqBdE zFbHm@xsL8_IMok;KrKkUu#LFm`6;wV0ebyH-Cv(1@%&OT+A`SWrY4l@Q`hMXJTLW`v+rD--W)pYBKTb6oL=F+l<;lJoJi)({X6#MIg z-df#oQBZ94y&rS+3j0*={)@Ldz7AK?RG(k^r9O0^wV$E+{o%T2MoYHjeEMYj-4HW0 zL%d(@LPSLsoqTD@;N0}fGcOc>BGS&Ud4`fF=6V(MeGa!AJ60s#fM7grTtRA+m@X6W zKJUFV30qG;F*h;h*gl1w08ebJor|=0-_8KqIQV*`nKq9qNgdP6R#w&o%!~&Go^{bU zpP)JVs3ny8ln|)$BDXA$x{mX_Wdm%EOvGGHvi0fquOFSM+xu5vCHUedc6MX~66F>Z zy^GKW41Nmt-S>pMG-sn^evNG9(egl1b=i5}@03cN;MJRn4lDasf0zV1bhS3~`c%_D zh6*xBx8h-IN^r?r%vTVHStU%{LEuPoyd<0TXXnP@eW=iOzdb6jHEzoz#n51ExQk2W zt?TSdvG43?S0=j@QZjSfC7_F|&?sTfehq+ec5f-&I z*WL&o-KOP$+nf}ki}QuG3K|}un=toZwLFm1VYe&m!FC`eI-dE-*KZglaDa}VxaAgg zI`Q_AjtuS-MmwZ`vmp7$kQBdo^PWcxE>YQWw>)`!x2XnFR5m^p2Si_zTQqm8YO}h_ z&!vkD^VGGjdd0PQ1(k7MdP$gtuat#{<}Ho8-)YY@Y#i3|`Qb_yU!*rGzk#pb=lmwz zW3m;=zn4~Ml`wc&Q=UxcZSjyq|I)FL1^fP5ICMJtUvv&MYIcurRuMl>Y;HXh(sCxX zVd5M94NXgjq7LI;lR!K+&h580(wMdLoX0vVX90=JS{GC>ja{Ih;hI5)o8OhsOOwm= zo&+biwkJ+tj-6#5_(=iQw0vs;qE{ZJ8f5qAjR`(VrZzA%ux97aWki1*2yb4;OY|*7 zJg`hx=rDg|)6YW+nXBqs1tO9lI90S7WLFyndD8XYw@(gugy9uSvUNL{pR2NN7)o%9 znz$~MZ(hvu;mQ-~)-UpqtV#m%w(-{OBKlikNyzBbQWp z^MQV*u;lH{^#0LqbtTyH*$TOS+A3N|Yv8ztd)ZJUxSq_aZQt9IH`0+_MYV)^!UP9| z8nP0V{TB+4@6)(i`|j0~szOxujAy}lck5`wAM9HfR0s&}@poLYp+fmtwL$HTFY*Rl zR-`eB^AGk>(zK)GUHF*tBJ=N6l<&2DOC`k4F>5zo4ses0gB~pRq6coE4D&R*h{tX@ zNrbst`@t;{!n*J`b{-Q~JC=^Icv65NGEToiZvVM^MG&)5`>{rtqQsD{(eiU^y{0mz zifO=G@JJ6h;hsM--$c`Vjx~cq)0yin#VsL7(+6T1T%~$e=OfMNQo0Gn6kp`_%&(eO z5T_zF>EQA|zMsKFwZqs+a0@q72eitVqB3G3u4jM|tMwO>Yhx&k< zAKb)nE_^F-*>ecHZrkAx!G?kqHL9c=<_6=pvukAV+rj|~Q0z(0hN0}H{F~N7&4slS zoAHmg`hfdhDtpXUcgTdLYE)3}j+1kwg8#^Eao*1<;`QE0UI~A)ce0P1hN-{D0*U8# z*sC?06kV#U&&!wYeO3o*gG;p!OTCmZj2+vs+b`Q;H>w)W0K5$y*ih3yA|EI)(md{& zYoH5+I`4|$fX|Ix?mCQ!$8pq>g3dUbPUP#!V7{5xY-SQy_!72^ExKaicmNT^=dPV7LcNiDUHH*!h9Moz+IV2B5? zt_v^1ySW#uwmdxBpO`6*;72Al+?VDKapyLC&w_ZVIvK9oZ|(whRd(>{Ck4*L`I6p( z^kQ@qK`t^xG}N_GJ;&Jt_m)lNMCZjJHN%!y&`_QH+S7LT^;R#iQfkKS9`b(oz+78; z{`n~wvpA;1eaasgd1Y@U5fk(6n zC%3z7JMwuEi24}-{}DAV0v-=AjTkVW=D5&QH&(wC)gK{=cfJnyDAP;4>a&IUW0jF^xq)?jAypq&TVlSYlVWD@pM=4*b~w9+VBxj zxv$SK_FH;Jn0>PzTDzl73oVnLdZ{-)UMbEtNmDC>QJ=-J6Mu=x<$dAo5M{UkDIG3a zdC`fF1fTR3n}Rzl4}R${H-0;%?ALTzwVY^)(vKXQ)K>7}-3)sEM{VmK{EDsctfUNa zO_EW-Hiwz4KucCZyT@7~ksw?WXMgE($L%^>ws`~;vhy~GtgKMimz zhWzmct)GWqqN1Xw^wqD z5TQTe0Yf!=(3Z}RYhfoL!fU1eF5n0OShStT>z>5cPc`K=KP~bITnY63IrU^}^5L;C zv-TM}u(Fx_V0~2Qor4;rlpqCLzSod!O?xHaQLfs{sJoWGjhB!I-)AqjRNgG>)BhQ= z{w=lZ-op>bsePw|I^ZoY&kKBJV3Q~BF6){&yQ;v_w6+pme)iwo+Zez%3^;nw4H{6nmdJ0WAl7V z^E!I$*@Wvg6^>4)gRU(=nLecmzvRnsbsn_k zdMh)mt=o%w_28>2(Q`k4+Pk~uysaXqYd1ZN$Bv)!m395M?#MzCo^bz+%Zn@or zCex#!cvcr4!nHM(aN9JveY3}e5Zminb4HEA1}X?uy;X{uk=^aP9=^~3_TeDsE*;l@ z?Wxa5EQ{{dbi*>I4)eRao6`cjZfDE=Z zTFK_D5NP>667@8FdhyhlwD!)WB_~X50N(neik-{*^4ncEv|$tvoyv;S+|%VV<)Zvl^x^ zy;qeaR5BO;GgO>oIz-0@?Io;_M^LAx$2DCEo)wf`y<;?`!)sp2x9B~x0V@x$OpM9I z6(zN=dOj zG9^g(o}{B#`A&9*^B234XWvwI!9hOX{Liohb!dxiDXXoM+gp!2=l%(~6+{1R@YdDY zLl%5)Y$q9c64uJXbD=q59TEEfQ}39Bc8;Xp z-?+Q^5Qoa=>`%cBJ}m!RexyGoJvXWzDS9(YSXI{cZ~Z5QIas?F#A19i@sF-DW6)=Q zt(mqvN3Bzlh#0`*sC z$(1IAe$@j=`VpCdFG2)v)dmC#F&dMwq@GX@#zx5BG=4u}jrDjuCct}#Pw&JdKxqcG zphQ1^S9u#@RX9xW)uY}k=~CZnK~J-RqJOuwDZfBwB5LZRP@1@KX`|A^*RyYIa@auL z95ZO7IJuO0i3f4p8Kk_gw*~hclg~|x%IXuGMtBZXGou#}rkxKOy|+{(#$8SI$3?%g zxvkOf8@OKj%UT1&7s$)dHP_HtuVTZxcBCZNI!^%-?;WD+a{0hA%3KpgiqkAe%VaQ@ zGCJk8qL)fsmS%F2o0jrwR=-mT{3Dpd?b3#Wi_r+U>hpM&Cu1pZZ~HTnOc<^cb-SbB z7cO(Uf%vP?HQ8v-Uxv^>0D@Vw=cfRfwKq{!-3v*hCa3&-)kcGX#YTu z#bq>h(^fQZDC}c0gQdmcRXQ4;_3^hFYbK1dhaAvo%hl1oTHRGPvu(ko*wQ2El!jN` zsG+3ih9iHYD9CuW1iA1sYuI7+$&pDqRiK*gIs^tTX*Nwdg!&o`8YsK0Z{KgG$4Rz1 zdI^n*eV+E9=)yd=<-tMA8hz~zFIl0!S1{&>dZCCCW28tFs~8Jd!XKyv~}Utt1F*m^9_~ui`0D&_v;<= zk;n;<3_b7Od(8T4GxqM@VIBnn7ct(T_{LD+hgL_tyRe2nq7f0=J5?{(gobEmZ?pod3?u6r69*9NWFckz^!=hs zj@yUERo~K3R&yrEHb8*N6#ds9O&{l<(os)!0?x20e^b1w`sj~1yzhxV6LG+XkmJD% z?{qAxFL-X$;V-^3^_9Lg(dI@~C*LC(`($PyI}7&qmi@3cKv%)vcUTABX;ts&m*_lW zvy%)(n2v6Dt3=MC)DhiCrK1CX?e0_c!#nRq@K%3%G8HA~YhuSNM4qcL*2eteM~j|rf0q&b+j?gGx{A>$$1YR2;DdNz zGcB_1s@O=*r^VIB^Lfy~t0KfjY@}ceA{Ba}&;r$wElRX_&%UdRZHwCf0n5DhHdHB< zw9uO@x^ELumMjK*Lj`0B99b)o?K%x7LW9*?9WTHV5BWZ$2tqNxhLnkWa{5<|K#j>n zv#N;jN=mwf#^gksM6F&J8N!sbM>u^4aLUtvx;#s{B5sa35*K6xEtWNKP7Y@XaJ9KCjJUKZ04vh2M5x7sW=u9@~2w;|IM$qG8Vf@P~XgJq8hE%Xfd=N%QxzEx4-&)6?(> zg?t52tSnRhMYF_xu+{Nz2voxm+K!nFUzjipC$+@5i$ZSRok^KU*HYD)*xLPX&`aJ& zpverbx-_O1geCQ80#s6W)>k!diD#v$?#;7XroR77aMW4wD_%pq{ z76#hEQICXg?8OX6ac+f68%#hwm9N^H&2^&UoOE8Qszx8SO>Q-ixoPA)oVVUNH#TR9 zRZflWK^k5gPsSQ1ICmVbTAdOn7ph1M?8q$oj0&B>7KHe)$Z|_;D&+{%#CGzG9voZ$ z#V^9aS;-+K2mUAuy$VtNgtlcYkVmb;-_Ko@)7rdL^ki(wh{{Ql7_Hu{)AZo7-|@Tm zM|-A~z+pEVFd*ur@@k~`wM_91S)SMBMjZ;sNCtQ{WVNbh!%BSD>AN(psp_! z5}7ipkGX|##HqaPu~nweiRGB z5F7$l=3y|jj&P$3XCNipvTGtk|JH5Y)9=^$5kRr#6pBp>Vy*OE;|R~bcc{mv{Iu5WIFwx z){1$?oc)%|jP2OxA71FuHQO}n+xo{iWXy@+vA^v*u^OS#MImb8Lqi8HE|1yjgQYk4 zET*W+&(uCR(y{uV|7F2`tCQWlY}0-lGR4?oE&4WlK&K+D=!D#y0MZCPwy#Ht1$Z=0B?qqx9GeD%XBd;h}V zlKX%5;hhg+j)B1+SClTc8BaXzQu;9G+EfM6Y#{cF(lMZCEtH~Gm4ChtW&7|@sN9v` zn8s8Wud{G>6Wm-Td$lX*K5Wopdvf^M-LGuFGf0u3R8sJ!vZpH$RxTKE02@zp96IBN zeqTD^Dj1kD`{Ge^-%oeRVVv(_)BBxQoQU%D_!dV9zgP+T{rsO z;5c$KK75f8F5hUqG9(77wnT25lP$nbSHA8vi|e=rE~GY`G%0UWZ|*rZMgVeE-(<|i zKnA6awEHTn4ZopY(Q@LjymtO$EMhzI^;wA$LiJuM&^)OavoWZ&YvAI7eSYOm15qE% z=Ye1_4}0d5elMV(6DHcIGjhAKkfxW!K{=r-qF9X@gy#BP;IY40oX~Wuw%#kBg574T zrCp*bJ(Z8UBSl2+R{H!c`ZVVz^(nTDf1C3ZQWn9;{-!>|HBtwe#h%lI!A3 zXel&D>n`_quJZO=5Kby1YdZq>=6Q)nQaOULcM8Fq-zqX669eT|$xNl}$^^eL@1Xmv zF}I$c?pa73QA=*R{dnp9Fc=;botSE{ei#7h7nJh{*QVYCtg);&%&$O8cy26-!)U_7 zVGH4mov4jT#Brf253YLVMzLJAHe{APiq)DbFI<*<*WzL{BSnsga@&C z@V&AN=xH3C@~CL*&NJW)_kj_(P)tunMz7T+&y5Dx9yq-3iswL2e|MmrP#BUx`kBTLW&T8ZDiIqr7{>`AMeAH!&qcf^;&)_U4*^Ph(0r^cU@ zvRy?*1UA+`^D#(e5nj39SmRku)yHawq_@d6sL)vX)!{7$LxQ-Q^?2o9HPe`U&M&BO zS_i>ADilw0RaOm*AKY@^jMk2CH5Y$UGz=m5O_UCvZ{lqH z%(rhR*UHRV?L{6f9PJRza-JccKQv=oRwCKfVBVzkCUtem_MjK(v^?S98RgrUhCkuh zui^gx*sPkp4~{#nwi{@1Oxg9fZ|r+zL(bI!s%OFt&;RKwKeH6;bymwx!<;^E!`%Z@ej5fu0@NjZDNFOv#UjzS>Eg!ZQ*c z`)A-(a_zH5d>Mgok@Q`m>Pp(B-8U0uM0uHSeaJS5S0%DzLjh;V8p5A{{aPTJ6}v-4 z-Pe$?17*u;z82n_FXjxp^A!N1eR)WlZ2UmM9S~!^wTABwgUGx;3@4+p%P{?FEmgS(Z~Cv+YccmS7cOWm zQc-}E9p9pd*mG#aD#hxvUh$DEkWYCD50z$*#{cMgZI~ksa7~m4ZI{)K|4;&TEWFYC z>H748Tng8Zu4v9ZJTbKF)>!kcaqY&&WEUzz(B~6y!kONLyr|87KY3C9^pyu!tykQ{ zn&jwfe&?sd?iQgnSayB7S8BNz^~sfO@T?`HXci;WTa6_*)SlUP_D0${1kaZ0rewx{ z`8XY{jPQPjJ1aw+kIf|Ip^~M!pJl49NLL;bue(U^1moqRpH8RNL@K4O{I=GasV-!H zu#x{)ZrWE~V*jO_FnD7a&dlQ>!cw1c?&mux6C`_~4L%cu zs`ih(+9(3^Z?TL3H^ch>;i8n4j<5SDH`HlZ64#wni#qfS zeGxe3or&iiGGEe^?T4Q`b0s`60l(V#a&t4Byda8f8Y8y?>2J7X?1Iy%Djk55WhoTxVgj*8voD88X*d0q9}l?qW+fDk>5O_MUdH+m0LZHbpi?cwx@qC%)zSlx87 zrq`IcQ5dS8x@GQ$%UGNg{(l!h=zTouCpxS$l%-*!Qf23d>&XWO6eh0Ezu#NkX!4In zUZ23t6`QPxyRDI_+BSU-HB#u*ypzkKfL(SQVzzPH_?{bJqK=67zotfz_s`j8J({A- zZ_60WpNW`K?%!!R&4{uR=fzxKjUN#2K=X0fm>u2ur!-){ADVx*Ty!<}Nrdv0a zlp7Tt>jU0Qk*0m$0*iJtd zxdr7^G7HRo6m?QGL1x@~HThf&A6HIBl>-5K!Y|$A0mn_QL-jvva-+qU)7Il5pV%Mg21lV3)_f&>RZ;j95F&o zi;$UJ??#5h8<OtD3o5$>wJVVc7FM;d#i-dt63WnIZv5sVn6 zl)?1$niqg?dd|{EX=hYm0r!fOkII^LKQb_7W9V$|e@)4E;hg{~XX03~hc`3(A57h4 zzrrH1EA)(fw(ITmRM1&eP>nH=5}VxI^X0E&RayV17ev(xDEb(sNDNBr36BAMI0>t5 z!TN10+3@^7d_AwQos2maU?$3th`K!!cO+7H&^&jc#)VdI8htogH)OB~zmcBR{xv$; zeK~ni3g=)p*c;#NEgd}`>~Wiq1U!I}6|~EES`SqJa{rS~TRshmp7^ep?+ZJ;Mo10-tNEFz`EO6xqcvl}JaVgfe&cH^OIwrj z3sAj`A@Wa+3P+TfKM{(bD?`c`0E`p9;mb-}L-(S6v87ABCA)t)04QQXsa-BwmhY*8 zNuJE@!!KhN61mrAvU)5mGLfmHiltkF{P(8PQZ|%7Ck@ZCdMUl(t6NAeY%k_J*ft1!92duq&NNfLuqf_+`o0~-M)Msu)hW`$(8|m6zl@g}7=Dp;gcXgYQ z_Y3mqa{RFX3BYUtlJUWrLz$Nd(VS|^uR|AoGqj)hGvPSb;a@AqST01KYA8)769zJ{ zSyN(?c)@S%*qWF(*$DSvtJG~?e_2p&IaU8thz!l6m)~6{0seyt6##Q+Nrc{L(IkU4 z`f5q?^-8t9r}0F?ZRU6KYrUh$;m)6xMqzYhN0YM*#d|aUc7ERn-{+j->oensR8$?I zLuYkN?2Q!>lNXb{5>GawF{f*FHtW}jc+aZT7d2NUolls(!9^(vqf~D}t)g&^Z#U+O zg`YhB8m|7pD6?oKQ^e&-VG4J+#2p9r9c?VAN)(IWb>`yos%2!MrNMba zfN5fm^%N2=!lqUe>J91>^(5zu{z#9lj*UGJ>bN|%JcUARe{)t|#&j7q)?Xzp5 zLf>GcvsRrlY`rerYCr5Y{uNeHRb-^PW2A24P|o&5><8oc+`U0vB^X(}q=J!rJYsPH zH6ro*>%lR+7MfPgpZnVHqBz%qPU5k+JB4xIp3bI! zgAlykm5T$>_31;rV-xo34Y3YW^RaiGCt^RD&plyNroH{J^6sCMsLt&}4&ihnp~*tw z>xnq|Bie`!{MjCeK>;fx^tiJm$XSw5<7x3Q`C(9}v|%Aq5&7z@o$`;kvjM94N;eAE z7K^0Kj&~Pb^n~v7+eK}WXtf^jAjL+|4{p8l4W3*^r_0;2H7t%!49)}c_KrHgw9+(1 z;Xi#!qWLjoqB37{EKhA~_SHWjnU?%s3d>rIts~vEd3yO)5H4obw42Pn(5;AwC{yn7 z-GKjlJA2YufA+Cnw93kNHE3%i!QAJ~t84Pts4lhcnY>iNK}-cFpHxT_WL~35C-Jxmw+R*w)_wwFDv$kHRj=;T%*GVBpr0OPZ^L zBW?TY0jQ=UVnYM@I7G>w1ECyN%jfCopT9*%ip{R~BinQwfcY(kcoT0_j~YT}T4ON9 zTYk@9X-)GCbnAlQIq6~ZvMTTlwBikt=YLvfuYc>8%%C79{z+FKQX z@TrV7<63j{=1MMBj>DXp96txnSRren#=~MJ+eAGx+jt^GUXgf3+m9+JzA=C4!9b17 zYdhv4SGaSMPJOR~z^emo=fAuyxXu$;8e+6=rFLEooa+ZKl~rAm$MJqS0D#MpTULwffan9hdpQRfw%t%+3 z|J;Ks)d)$>)@s*|X9vpd*^f{%Y(s?4HdOD+=Ug@$kryAz7pp%-sP}JO{XEFixcraG zPEF#PO#6DK4!skmmwhQ?f=-|JfZsIoslE24kTdskKaH#1!0Mmk;1MH;2w%F9`Ei;k zsw~|~TDc86ftLT;ygr~{4U<#=&v-~k`qqdyKQSh zM`!qwYH6k{#Ol~0y-Srm2M~URR)<+GTZ|-kdJGAfG6Ls zwXsJDuLJW%gT!!o$!Fj2m}!bc>(&}qpWMR!E8lrSMj+j0bQCABz=h_BJ|`n0Pc)&S z<6L*^vjrFtzdPaTz|h!}RHIv)7mNT6Dbn@Z&0?}xK!#3^T%GVgpz$#`ELHKKh3f3y zv{oeRJ!*}duYWkns+OQK5iZ;>i&P!)8!ysUjcHWz3mP=wkngQ4=;iuVpgiIWoQR6D zg{5XSxvt+&Tf3){6KTkk)+hKQ`-i#`q#Y+}b`7AH8ZpV90j56PZ2ivj>wKd@R?F&!+r)yaP_EN1OcJ4Kix!pDkv-T+13}#!#z~hkR|GLoB3OVDZ;IyM@bKGXqRAo>Cz)g{0&~;BToww+ zL1}h86dCR8CHL{Wkz5_|V%b1}-Q^1#87n9ldsP{&Ff20!k}}G66{jkLWQ+daB}HIP z9GJr@60EJP1-jJZq$0n z{Gy=lH1p>G_EfFJgeXJdf~K2?Ptss>PmtXKj1GA75}-4ubm!f~YeRUBJTlyORm^~j zdN3jZM$80IX$oB&P4NQ81c!qBs)!>B zbelaJNER3?HskN!Yx*3)6N4HNUsQx-rHTfN0AjG1-No%C@o2!5F90piEh%)Zo^j-C z{G2Bk^X5~v8qZ2~9J*i14PHZ{i{+7S$mB$N=lM|nw`>L!vNC0rg$Z8|2*V~|DcgD0rxn%;jiV8|y?)&0OG7ifiprpuJ2r?jQ{&l`wZsHKPhTlKI>2kK0ETsd)`E@?T3X zy#mIA&a>)D>xaE7<|}@^&^PwYB(UVQIG%ox4CsvpNwvj~oc_vFuvb2v#M*OO2RKdK z-#gKU1rj+-EpDG~3CPrRySOGLSobkmF*}-Cnn^jk(8&a!mZ8sGludmq_BN+3IxhRJ z(Ypb|uz@@K_Y+POHaJdsT+bX8x>2(r5}PGlU4znbF>Td@7?wz~dKuF*GOJ1YnO{hk=S^)?b~x->GXoCKM0Zl7q=4}9#5?Yy&9Dnc(cs%Lv0=JR9^vE$h?Wy z%43!x5(9d=D3C0cd@!HE*sD$GG zOj8Xz2wz&2u){iOgf%OS?2*l!&*PwGk0k?2ot^($!d=B>K7JdTB1M?W`94Y~V7T>( zqev23(I=UB(~oC>Lw1QneL{=fvgv+_&jPWyUmwxUb29v-uUFFZs|@p-r6mqF zIHcjKP_yT(ytCLMa(9hEaU}3Kp0lxK@7=`%gOg|L+#1g-SUJR=pusF!ESUX13p2XH z&Cw`l2S?Bumy{pu{`SVyB~4m|->SPDJBR@0mo3v9WOa>d zIock~{46n;n;y?rea3MTdgJqiQq)s+B^u61HOe7u9j7p;X`Y_$ z`~&gD`fSV_bPZAJB?f9xXzVB&)WOyak)zn;8G{geF%!>iu*}-<;TjEyl;TJvEiM6l zwluk_OhGhH1e?#DjF-XcH!aH)aC@;L%G|{B)=p)J|H%kyd|mHER(<@z?gFd9+EAQ- zuPM1j=lGqbW$|+P)$wZQXWzRUvgmB>{}qL{^nQEmVr#zp*kh0P+BvI-?^1nPu2=TZ zvXo4a&(pcJeWkp5=R?#HCU2Sg^%Tq0k(3*T;C}CNx9yKoZ(a0m1syfcZRIK7WWW8% z`fP!-YLQ0F`nZMD-oS4-fjbfj3L=E234qS2zx9*vk}b!jj;5STP%8K*5;^Q{%9!&0aR9M=$dx-}FRRNmQP zJI~Z*`;|PJ2dS8w{HoRW%b$DJ5d0%L5$*4y^BSJh9Y|2-eyq=QtS4H``tSIgh`HYv z#z!?u)Gs(SeVfGE*{qhPBEj8ZQnq^l>b&mdT_%Y<@ZDbxvR_4{q=< zRrLyP=<$E{3S0ahvAE+7nH{1E+GRL~!(^LgmW2oC1tq0UVC)ZTC+dqw1Oxn5KO@?O zt;Fkg19zt-S~$r$I%bh5*-EYAs3OJOyw@Vv8~u`K%bP9R5$H{V92Nnc+=QiW^;%yL zy|!@0#6{$h*Xy8~*7IrqUGsi7pX@X#Fo9N|nKZ@tf;jee;!;jC_V;_b_l|RTM}E&G zItS%5Jm~aX#2wMQRlOMNY|j3L=qnAI^v@tQttEd^@Q%)WQ<1{ci630@)8#UikIASf*j`pe&&PWz0Or zt}O9&mAWni60fUj$BOLH$8CaBxcN9sy-g&kv-v^;Nz&L3#;pB_URlO?9}dM`EN?v* z^BdYS!}_gkB^v3wp&F=LbO5M)Mxa-2+zQ!#4=Rs=-v&YcJ>iq^R(M6Y>*`{c7+D$d z#>HNjTi#%jR!+2b%{eKEC9$GJU^AHCD_IoYov--T+A)w23f>ChsCTB5wYCcE69*~( z++Z~=Ri{W!)m^JO5S-b$24B7}jCz|*j5M{$ z&fs69^}-u*doH<8XDn(?GDe3sovA`RTW0gh=dX$CT1@Nhb7cTi5=|Gn?__wIY?VB6 zIE)tVuy9VT}xO z6Cgx&P8|NS&((k-MzYEK^Pey^-JG)#T`&H&lGgV z*b2ZPG&sfLjRH`!t&OKIkwn^c{1XEyt516Bz#}1kziJ)_(KfRTGnT zwgK(*W?RrL@&BHJN^;L~A1(fgI(P)Wjfb5$3;%l9zEc;|oCxE*kd?_P>oItYHG~L8 z2s7EU85fS!-p+OjvrAM$hl1|8 z^%Qu#`zEy@3)t%VE-%CKKrTGTTu6*phqaZzEG}TFwakC+6jydSvkFn7`l1r?$ri`= zsbZ%dcKtVAYU6`!V&JrkcCn!GJ!0)Vo7lPbRX`s6YRb<6Rv?dl>PpeqcmD}1rEi%y zpjD#?1a`h3lE>@{3(M#46d5Dw`c-iF+Z4w{DQN4r4+ea+xNhm(Xz;Fw8LRzbV_yv| zfX5U9MK{r}W-1>i2n4%1=AnLs{;UgF+T$fFCeVFMkao&3Ktv})U82FRA;(>GU`;b^ z<`0s)!!o!#mH6H{mk8SxaOUM@1fkZ?7pNZdeEwU1mCS7Rw-gTn8a}K1N`FR#LkdsvcNKT!;-jotYY(Bcha(4?NFzHh4OVOT7%uFTRB&f3x>&> zT&gp6^Lx8DTt|_}3nUfAWff3(ZgFZ9X3%V1+j62+zu>;B8?wDtm(4@`UhSm_&=ti? z=IhBTwrX_lX<-3cfDN0#r?Orlf_>r zMLd9FhfShYzG(3tyLet7jhg?8wo-B~xFch=WL)wV*-JM6T{q&P!1r&&II*|*cRt}Hjq);lDe^|Z`;Mn&%zLMHty3$3sAt)92G1(;v_cIo^?- z^neDV4!Vg4k`jwNU1}OCvNOyILNhcFJYM*?KJw>jVaMTAv$#Y4=lcC=hs6CowF5rF z{7pDNydoqt@;3I5vFC^nTp&(rNTDWlM9I%1S)U7msas4*U%<3R9_56azD_QW|9dkZ z*|H3aG*=ANox?}P&V=}jk}U||zhA-xKQ(`hYDJgRu*!xpw>sOg3G!~E5{zeu^J?x` z6M>VR)yx#UWzcR7D1#;KIeJzdys$LFfB=4s3;Jn;+Ea8KsUzBOwpPyDD8Qd<)X+#h z)sek9c$J#<${dH1UsNoSohUC#)b}$biSajy@V4Oy*A*9ZdPDQx*MDv%CEH$52W~6x zwC*zpz+>xk&t@zg*LGxYb5;@xS95twB#AtIdhZmc&6RA;k|dR zjEtn1kB~6At4jSX?&^wkgBkB<<3sy58piX+0(;)-GnQAl5_bwm!ZYGkQwp5_tiGJ! ztFXPK-w>IxT&+@=;uz91xEeKOydDOl?Gx-Fe7NDJuMre%Gw8`NZuNt2Z2bo4+X~UY z(ek*0u5JDbrTmUAzNP)wd{f89YrUhupanw1v|Dxve}rMgy+VO`pQp{Vm=YniTmBRa zJ-vUDWP9GAZ?Oxs7Im^uqvEdrB3ys=Q2K7LX{75{=db)3n!6*x{t4rGr|o)4gVGNeOWg-7XZA&)G!=m}yC(42r8!aR?GSn-D(nV#2EGTL1>ji!DG zBUjUu7h4ssin%Twvc4etRd5`G>R&jr)gMI4XylR4V519cN8)p<(8GY z`#-jF-2^`JK?m1rxDksklkvvrLJ!Tddq^TsNuPYk8!&fqSmj^o`Nbcju`} z>tH$`?I^N$%g^8?h2FUM0YYS(2E_Aatf@KN?Q8aKK@jei1?XVJ+#P;Q&oedrFd;{Z z^nhyyRjkSPL?HO19j35`ZnnrvT;>gp()&&W$3ai><&-b%_ez~cIxc(!W&L>qidc~I zbl~rklj7lBrjN>5uPe~E?#IcTX|tQjrEOVVnQv!WvfS}fnH+#QKP9zKg^*Csu>2Q< z$RnUQdLSM=$fs@FQ1lXVLb*xlWcbb|>X?(le5xhqW$k4qlg(PKz`$g+X3%K{z!?0`XScP3okbbR`)n3p|J0^nr zRJjw|vsm}Q&9sA*sfjv^=igs89@Xz=)NkdcO{2UINADQ%|F$-loV$4@@&)bx8AMXR9@JQEnnO*LZ6KG6$|*~9DxGn3omquxnhA%>kj!B39d{K z1x&k$+fenvCuq5)-@42Vt)R0-Fzozv!?bZqTHl&3^3d*+pbuTBfltINlj*mLS0>Ai ziTZFVKvot#cr_XB)b3OOA!UIOu7f7t(5*(wg-9s$bkxYeatjhbIh~tRppS7_$}>1l z4n1_tcfSg@T#W_Eo9>W!8s_cxP4<*{W{N~DHqe*_S)FBX{ns7|GT0rw9{=$~k@K)9$EE!FDiqF zI>W7ca8rZaldb=7mmpU}S?FHfxn!cG5Kz3|B|PhK@$IaC-!Y*pzS1xV_?kvzi5QzV z`~J=ZaE5!oRY%{|YH^2T%PUeMJFhRs%Yf>>R3cTJ=-}8K4p#V2*Q?#Y6M;>F0yA#U z%|G`uZJB50!({59h1aWMoi*^r3bL5bw2?bElMTFP`U7QCnVye)UuedD@%~I9!E9}8 zx`d0Q@Gz=f1K985mYRWWU$A>^vkW0!c>PYK2lkfy7m!tX^Mh!-1rxtbycz_%#^CNj z9~mG-=d{LoB~*Al)VkV}HSkZGlht~N;w{8XtIm|gfuU?Fq3M$}Ifr8h(vvY8Q<=Kf zth^9`iJw*?5u_^$a&Ff-NafI@n!mW0t7Qj?jZG{i0I1TcQTh4roqZ$Qz~C;65Q#U?n2hTJbz}dejFKkX=2q`r_B>GW9QY_zaK*UghFHwv z#`{O5Zzq5s-+mDYbfZ~PEl>_w3t9NpRJ0T&_{G6A#XGP@;-O&N!>ll23}o;bKJlgF z;$JN80V;RV2{1r+GyGM|!OW}IpPcMuAFdF6BF=;}#Pzj*YRYTbJfYk#JI31yL73)b zef?izy4db6-?9l4*IXukO~&LbvvxZ`HqFXb6;CIN?s^T6DPJrqA2Pikb}8P@jKu9W z#0c8dz{q{V%6t}-lL`09_UvimsAcUFZ!tSN&#I#Fnk$g}CTk&oU6Qke0YJs7QJ(#7 z$0BNZjjR=@w%bs^U;<2{3yh8MlKF_@d7{`;qFwI^aCi8HTw)+BcIF9GG61ZOe{c?< zP7?7~f&rSFii~xaUkoMj;8s4|^Pd~aVJ=_0FTHM7Lrbhm$liF?vJ?td!p1Z*hj%4s{waa7KP7`8jjAtu4ip8afz4VaA)NwqgQYt-h(9*+&(et{%cNK+>_2FhQ)u` zNK2B<4!z_vS_p>LDL3sBBD*!o({B8GmNU_7c5_PUhbXI9LoAnrysE^I*+q~ z5YBv_b-q=)>j2qL$q?{+yQl#UBz<_IU?#gq0PJ2TEI)0XmAeTy5_P;G!zW6TR<>twHK(90)?k?Y0rI5}!&!XR|7b+Snhg z%6fDIuvHBQ;OHbLC$Cr*UIE)Uc-!5}lo!F#*+tuakiVO1A=Hyni08_HGUbe(e-24$ zRX($1T{#+7sR{rEuC+QFllh|!QUgi`@I7QE?BMR8gU?f-X%9+CQ|8TR*^}jfDMPfz zFTN+(f{S-!TNNdN+jlI7>#`-ovkJtk*&qx#j(=JWlP5z$3<*9L4{G}yW=1ZG;+F%c4cZ$`6a#{5POk|Q@u>yT)h14(b=5a{CP|>E%U_gYt`L)ZZB;r zdZb_&O?Lk`YQdH{dhCFQX5Gas-xv-(qT_a!!3p>MgfRO_S4q=C)}?EAV3x*pkKUU; zg+5F78UCcl-tglkHajqs2bry#OoCO_&ANIX24iz&Ss1pB@2|$4Ji4Q3FoK8_KIrtH zudJ$fRS=UEN-BYJiJidoE4^2Ml*W^S#?*S3eVx}=(yc~JB19IJm39#ZM-^FkqpJ!s z>7jSgQbW{h|BLUxXg>R3_W!`$s<$uxhe-OHM$X=XAn`c^_wpqBC{BQFb?vl>2 zk$<+}4URRaQwxxIvh~7RYU)loq36a@tG~-bXlNot#|n5X^trrM=#d4tikl~m!SP}r z;&gfrXLE6W=uUwu78OR~dZ!}w7;l*xcq=Bl{VK-DR6f>fv z&=kkV#>+ZozbiCCh-yrX`6FCnk-GLP86FwU{v7$J$VU|Gvt}lbO|RvBG6fzGL)-UI zI+16c=T3rrCFWIb&1lANe5@W}?h?-gjm(tdEFBAaE(TuNBM0J7s6f=IXzSlzo5b+9 z!3Ek5&9KVU#hX&w52wGC?Ys^vaAy0jl0-TAgAd>^-+sEtgKfCyy5_JH(j;+IlGV_ydje=C^;hp}Z`!U$1e?l{)o56Rt3j*K* z6a%E+^T`X)WW1qKXre1iYi;YJO_7KMY z8@co?a+`jMBX(ETfBr^<;GW0x8=gySE5H_iq>~}y#(Ff1;)>(){cSHD+_!?49pX_8 zCsJHD^QvQnkFStMJam{#0)|ISpZmNr^ExoF&C>wWs+7PBZ$t$VKmgP}4)gNWu}9V3 zZQsBO7J(H$aZ?QYQELueKF!awmX9RSj|g!#_KDpC7s2Oxxluzk@uuyu4(i-Kq@n@l zFB9{zmu47m@hcmi5z>L7Uz9N)t17sZrlafGr`l8g%$K#XYoJ=D=xX#=Gd?&k4?I%~ zeV8s@?wt!4x|H!#a3OqkL;jcU_g-%XQ^H_~miLIDgW*1oL8dWMkQi^KnhAIt;E`Pw zczVch=WBQF-OyHsIxk#_jQxR*;gLBE7F=&Iu7fljjzveH*1awfj}P}VLxCHyliDM9 z!Q?KhPnxBobP>`r0(45DNfpi$<5?eIzqd)J13=mNV1D>{XH~AL0Hl*+5KXp z#34@huzH~EaNHj|C@EAnD@Ub+)ZQ~S{Wc6P;meR#p7^r3k-|~57^_eT_}aX8#;J%r zT$-w3)2yjRo{XSTe1@Ue$g}292T;%;*r#2B;73eA4~Ld5iGPv#CH2XKJO~&mYK6GFPQ16+Hg$3a}KkE?gPSTId)Gq09;+B;5+SvVX4QRcg=H5)vU>CX&u1>Prva#deTxV9KtBQ!S z4WKun(KACsUy$UUuc{GRq`9;H;n*u)%6O+vA+~%{W0r?g9DFgtJjDL00Qu&J+66cV3HRifAc~OtD3F>J}3NUKRpPuN~3yZ zjGH+;QFg>LyM@}tGO*jM&J}Lg`lR93J<8I~r?#@Fr{`A5g?&J&)CR?a9|4@ppBT83 zInfGK_~DDZAanX~m(w^rPJ?Cyove#U@^lDo7)FpQBTN5yoJ7X6oVQLiraWfs^ z0}z7hhL~5&SrZstT+#|M`}s!ZMx-ni567C+OQQCKTCkh!zp-LptWYyoOIW&^{!M575H&pTJ=;pukvz}q33B)TU!<7-TC)j3P>I75I2^_Rm>WAX@8dp>+)ak|X{ z?BST9L0m-!spD513(+|xicfHbvzL&5F_zu~qEv(qHM|H60I1hV2&|*Q4*L7xBxeWeJRE*j4diRMNk0WulgKa$KL5*8)M~_Z@PZ1qADl@U-`aFTy z#`EdMWC*atC(;;642G@^u0Ghb-2U$esID?S&nuf}_80H#Mg=Mvz*@F$X_)dVv5MrQ z3zZ)UDw$rDp0$!c)gpVcI4$Pd&TXKv@QUr8{&yNX4v?}Ucnxxr(m#y?lQIGQ1CY~% zaQ}Z3#J5{7>`&!u%p7XbljW61@~H17ADh5sbB(2gTAbRu+>G^l{g>b zGj|-`mlYC$$r7Sm|C}}No$I0mK$m-TbIK1DJ;vgFQw8O}2q-p(gG@ale!`aNK41g2 zg(cb}zKT|-a=)aP8IKVN9o zkLxf$|5Gi*ionATCT=vFdc{?`bnk?k2XR_0>7=|AI#QUzn|?1J9*Qp?`s>3daIMU6 z#dwS$mxTGD@k)I8i#`r&wad4C^+EG*+FX52p&98ckLi1;J04|ZAuq&kI~U3QpwPOpAxuc`+kenz3**pyY9l5mIsGE$!&4EkP?@PvV4o09FG6 zp~=CF-%DBb$b;`n9`y$AiN_&a3b-N2WtCJyB4o}!EPy^eerW=Cu?DipX*dXo z04@u*43Y~4q$<)f--B>@Z)jX|ef*%GiWUd#_5v}xlX@*3-zdiC%s>Hjkg7csK_1+c z8-&@5abMf+GD#<>9l>8aEt(w5xmoarHmpzV9Ov5}eB)yY{MDEpbE{xA5<2wy9AEy8#}Wwu%zb9)`MP#)&0j2Gt_Oie%9yE z0la!-T2CBP>TaJ9R3?8KU|;HqSbTZD=ghstuvFb2wE4Rb>TKCzwd+6U`F$O+ngNU1 z*OU$4EMZtY+Gq{$zN1^;la-a#t7ZRo#bd=FV8O^&Wq%h+=2`-p^9fCU_LHp;1Z;UJ zE+i|3h_lty0&4;{UA!yOjOJA&ouEz=83!tyb~y^@(=X1iJC~AIw#u+Oy*vDoo)34= z?3_(BYAL^isGpwBop(;0SE-!%WDBqEt#tAZL$w@Vtnx+mf_csM_xj!QU31x58Mm2R zTFI+oL3{fsS;SGVz~=b&^htAp*6_~quad9|N5kzGljPJVC#YOt`rYPY{!%myS2Zhp}r;>Q-j<>XF?ul$b-)sp77jbIx7*{>s;nosGmV;W`}k!DR@ z%usrdCX!iJiz)-Rrz$e^dHnjsI}e_@MS%>a5XrTt9WwQ9(E9pfYb}#1K9^a)0V(ns zOUC5Z7d4>JN4;H+arI2kEJ>M!3o8v{xe-K97spKRpO&dyw=$q+E?_Q_C zs?zSU3cB^p*;v@K^J(Xj&3=7Z{IMUm>z{_LVI8sUHN7stM{E6Lyey(qj8;lO|id&f%8;H-0 z^{1r4RehtuhJVeg!_uA&e|Tau(PIOX)YpcVuen%SGSc61kPXy6$~VZc^!u$|rh-yP zRFlBGSKhkudJ;Mu9g3_7B<+^nBR;4~(3f|zKN`K><_TGk3)rxqsorfk?e9fYxn(Ed z7LwHl={i31o)%LlA2*{f*z|2zZNZ*1rO&@EmHlaT%C-0(@uqTw8rR6=1@`sn-c#w^ z(03WClh1eQ7bz}oaIc!8EjO>Qw#2I?o)<;JRx+_K3;Jk#E5sUlThBm`JEyr=X@hcKDb15(@-7tUaMRsF|eC|~wVsW)c?!)vPX zsxF+Jv;KZxT|k|-Ly)xMzU5v@^ubw;&#L6b*6ZQZ)VZIZpK3rjl^l_2s67?(wSb1F z3^o=t9$`Uw1pzU6cL+V6hA-GXM^m^Te;=Ve9ul{9=j8xa1@xcJK*B;wD-BcRGsB#I zS+beDN?m_j3VV6ourhz&Xh^6mr2vkwG?^_qBVQd*FoLRUfScqD785vt@$aoU3m^*4 z9(Di?Nr;Rn-*2o!u&eNzm$s%F*PjC1^c8WFtGSHXFB!rnW=s6}MuJTiT4;xT-!7@~ zG>W+6tLmQKZk;d(7IY1D}xoKU9`mNPNiZ~+Vd?z#bNp_Ai?#bWV~(GCPscJSgXGK zaXK+SV0Y5%L}HaeOc8YIliP2n4_H%-6dn1BcGE{<*Lwwmj=Qi?5kK_@nLc;u@Rw>; zl`b%+_1so6)3dlFFfEW~_S}Wf#BQ;mwBoM11B716-6w(P=wbCIRh8$GlmDtcZTAz^ zwJ?gJ@cq8)lkYL3>knGWe4Ntn+HyA!CU!P81>Yf*=P6Z~LVtjcCy_T_l<;0>-@Zj9 z45TC9v`+-z&2%Xo=r7Psc3*P=LI1Y<<4B+Oal|3=PD#_uG3|M5`gsPs^eWYqraZ=U3P8HlFM#x!CCUcL>q?H74!abUl$a z6|&As^^sjouAlk*D(V9 z;Qwn#M4}~cXK^C_2b(`yaG7Y_@!d44en{!5WFaZJSolkYE6kDg`F<)r+l&$pno4M0 zrzJvWMy4Ocdey;uIPMonMF9hY9nrwvC3I(0>+#6+1qB()VW5^{?8UlV2D1403iB6fj~UvXHwquF z3dYZcUl_leL(z?yPu$yY3VPB_#)Bw%l~fAv*m57YYqekPwb3WX^Qqqe8p+tZxQj!h z(~BJ#8i$4qmeumf5;Yx2zZ^Oqw(7I54mcsU{(`J8d-j}DB?{YH-`;^wf(Fxk&mxgbgFGclk4vuG2 zl;4d=Q(vR|nnY%T^HgIq<;ga3x^h3N)H0^PKXStBbZ&IHAK^LloHBzR`|~`YPL}(? za*EDRe20q}na%elB2rh0@8Ioc_n$w!uF1iKnl2tmPsY=}o_peEc*C)d2dtaHi=+4bXH@t~JkMbX!elO^A%`Um?uJfx9E$FJYJM`dtNY{7mLPyS{AJ z^d@Qr#sNAceLZp8$PL39tDrSafE~^2_2ULJ5|N;Mtzs`8(=c#>dF7E;v`g3R7TUr!QUAk5QEwqAW zOB%hi;TJEJaS8g0@+#E@orU|bb&~1uMR@6OhZ#ZltcjV)!esN<9$TxA z8Zgfmx|VQy>*E_@e2}mj9Zv3r1b5&5Cx=y^lKpJHKK)TJITb zA%rNE%%Uu!R$8 zwGCJ*ZJ`Y#2hH3#2p;IqyR|yHahrS6=?-o_3|DKh!PkhJ?pUd0lMBV#^*-#p?(;TN z_)|bGDD-8_r3|>$`x`5A!ZD0ODYBfGj;CKFq`J`G;ODO`WCjP>s@Zk8Z)o6>d)`WE zTLM;|{UkEpNoelB{yzYgHSOV-|6MO)xylKe01Q- zGix_&E$fKCQfY!iuz7HL(8gm)zsg0rHuUZZ5PU)_Z|`1-NPD0c@;MK6GLZTOJqWyB z=fm=|@no#T7-B9N>9X;K)_=Z*x$%Whr^CDaf>xk??y8u`l034swP#i4P5Egyn(J8I z!SP*Et28Fs-z3A3ba8~1GjF`G5{az+vj3sq8%X0&j%}r;^b(xKa{qklhxKf0MV6vS|6#t)Pw9t z=MRMy-s^^0Pz4&^ez4FCY1)D|D(T$jAob+Q6uPa>Tu48VSj=}!g@zXX9z1YkIU6hR zTsPjkGw^&a*e$*8FBanL;5>n=y#aEYJTcmpW6^!h=Oq%e$1%vSt6FdLQ^<5zbop_S z4)Ik+L|V3kJnfhaa>EF{aiMd%T-F|JP@5>zAlF+yJyNTdOeJ@xoXfqrzwXIvmK)z` z3Cn77#;QqCvU1Cvhh^9 zOQUUy%M`H;3#o&#Ptre0(z7mdB~H>s`l|#E1$|kh&Tq8=o!?{^#A=on#ut669-UHV z=T2uur+H@P{d`fa2Pbmmu4=d0+UIhAV;~>r=IhsT&a^F`xY^&$rpPd)w^U5e#U)p$ zZaWI6yU<&qqb`r8lu$Ms5A?6qmFcH!Ju9tydj4%U1f(cob}|4VbU5lH|m zR%hHNxx=Q*-Iw}Se~tfi#hnd5=VyMfif*j;ENu)nm?a!g(Y^}Uf4ZHowp5XLZ9Z)X z>|8?Qr{wsfd(Vy*cq{q+%jpE(U|Kswpp)IiD6cyJOs^Vvt;ognh1-s(Q%>W?!{`cI zUON`4g_xs=i+KYpXx3+Hs6&A@Ayza1MU@=ohH4m5)GfijA_G@llS$bZDT?n+lc%0} z;@Z=|w2GHJH?lnMqq?FU6swowIjNlkT@HJ(Yxj@OM+7$VS7nKKvE%tYQC3a4Xi$c# z?K)?|SMd2LMHNmg9gAm*(cXV zV&mLL-`tz8b6>uc)1T3&=gluFdZv{ii)}KYN*=stfmOfPraOglLS*aYRq2A8gf~1M zujBLl3!cUKpDkXS4UJ8VH&)AVZt8(yE-G)Qh0W~6!nQc>9xr8cVtuY>g5+6nVb;^L zOiA7PTf&D~j}qCH3Wd0hf=w~iiHLn}Xb}g3CkZ4bM zwQ-R#Vq+lbh6$?)Cn|NcMP)SVmrl*i2ScHZwhfEnpfFfz({_4Ta7fD80_0-PK%jcF z$iT-BX2yCg#AgVsh*wA%?B=knjRd`mQ4YPITrRLcHd~la!Lh#46D_n$mCA}Mu57WB zC6KYmtUbB($Mb2PP5CxWd;4hXnyrLfy|j*p4;xw*y9!z@Q#C*T*+c48^uFomu4A4k z4|Q(qJ8}6$MY#r<&pS<1~LKmw9U7OucZXg+0A{)+@nd_xx73d+c(UjwrcS<%lJo{SX zilJu=mL`NDfQCdW{1^HC(d@?JOgRtOKXb9^pK8T#SfW&H)E^#)-1-)t3^6gvo0Daj zw9_4a-kqKUBwe}g*RwMrO@8ud5hm{B@2J3oR#Ly+E#) zsSo1KENPb#&=%>!Mt_VhBjLGfUYLU-cXvR-KKQfvOa=;y1wGDrsPJ&bpCvvmIK=!CJ>Dq z**2PVsZB8ESaA`g2?}d%X1I{~g3~XyL6T$z3cGi8Q~t8My%`dvZ1lU2!{r8et$1!# zbvI%L_9m+h8>LlbUms641e)&)MA)ucMa~rTzHW3nW1C+yjaX9ITtCQ{RN8H%WSo|* z^opKhTjVxpC2s&Mcv(*V61$w42fD zEg<)Xv^wx#XhLh}q!wgSTwUj8vk-1JiRg6%EKx92%W9CUdUNTnxNzR37u?PIk zFXtfLhX5b@SP<^H9vg~%BgX7~@(Hz{bm;F^uT!w&mJi1cpbZ7_vAQn>SaD&r*fq_( z3;!dQu1o6ws(S^w^tKZk( zx2kqf0V43+XQD6$%~0#(rJE-_rJv}s=p&^FTw+4XSmI)@C8o|};<^Jo1na$!Lx;0m z`03Q@KRogYj`=MtWMFgr1(Zej*z*11#5Q&h_F}~46Yg(yVO98RowX$ zDv4=cR+?9m_X5SPWUn=``R(A^Yc#MYI43y#`dnR)HvNI^%_K+2q}wX3ZGN+!=UmH? zjqP(9_J&rQ7X>R;o{b;z69%^gNXDkITC&aew|4!Pws*&!6<)BC*h~|Ls~K=DlAz62 zts$_*SaF=hJXs~`@pb$@J1m^enyD^aL|01#b)%L^mCKKKCHql$N<^Y$Hiwef@!L#t zV#9Jij65a$GD`2ef_#%3>n?obC{<;I`D&2y_Gh-p8y3y@t*8zqnM(oxfZv-h8&n2} zSnp*7Y)b~-@`WZT)NTYqYFIS}kK zuS(6PST4!{2J-z;EBVQnqNraVx3k_t^EC24OJhq8703D^DWR2oL~nHP=GOlN6wkjH zykton3hl*aZ~q#gp0>}PWLjiJ;WG=o$~W!rXKHESoqOm|?KdCjn!fxgTWB|PP8|&N z{bwc*oazx7O_eoWV%2`2;<+4i5vvbAk;X&1og zIne`V;ECw-zpN5|=&70{WZ^j*& zu=ZQOAJeO>n07fWCsG;B*lx&{GK1gt`gK^DTK>UJkJBsKR9V^`_ox*6k(`VqugYKD z*YAajL-GXrDYe%E71YLy%w-g){04LNN~b(7E(J!Yd4PaTWTePB#JiOEp5tWLt1Fk6 zuLn_JzC9aoB^n4AGQ2SP{xvAfnc8jI4n7!I67c9$xWHYCBMN34kM0<3WYEQ)`ACG@ z81zn$2C09TRhr<9x1go-1bgDi#fZ z`44q%%mr@lV|KEm1~eczRG8L3>5YHCa_|H4Ry53VExuZD6YyzOzR1jzd zwEg-_I^oXteDIL;mykk7gXVkQ1eV=DyGie)^-82kuYR7`9r!Y31Gfq@=#|ldr^=1> zABVpUs@2}YOmi&u{gD+N^_9mzm}tn^*<`Qx)}}j{Y-#&L5jzl!8W3U}yxVm5*2tf- zp#P)k-2a*U|36+S-i57FIU6aG974`4DN+uVA~{EmoDVt8hQyNdDam2Zl92P+oKNL^ znB#0tb2f9>!Diome)#?a+ii#IcD=6W^YOUfUCgh`Sk@i?oCCZ^o_kn3Dj8W5`v#i@ z46r<})P&dpwO*`IxvrDt&?8Hlhpu z-F?+utt2Do0NTNCg__+5{0{07f?DkVQ_P}~N zB=uj6iqkDUKT zFI6e|ks9Bd85y-(rKQ9?rR^H3w3XRX7^f;kD&S&D4Y$?0MQHa=(%KVoecrZ2S^q<` z*3XzmpI1Mg$0CGu{D`puq1@~LQfUvCC&Cc(9EIK3)AMbl-bgoEk>t~+ScTB{V#~ZK zu`TC!N72@3M7*!E_g-exh8S;GZtk7+2{P~@cvP}-Tz)d>GCRj-S+_ZFjPQ#*B$Sy(3G9w)M;A(iVbpdpK&TyLR(j6>$bXf zixvn>=-?9cGs?tra|f3DI%1z_Iu6+NXP_O!*x5CAGm|AwE(6)pNSO*_s=`2uMSSu3 zanxrhLTM#b_hMis?mXxE)Ri^C{r!qgH}Cft0P4?jsHmxP)84Pk_9gH;>K8~HK(-T^ z4_o=s^LJAgR5BJvjLSyMLZ7j}Sis%t)v>Y_gMUxGkQ&iM_#N|fm-p=x{Q%#y_a$q6 zAjWMe)5{iley;rZqJ9Q zi_4b17Ga|_uPk>R?@*I46P-~5%o#ES$Tt-_nS=Nc|c$5uJ8sA;Nm z*8pNQXGQP%Cd|DbmEfmE8+xy?0GjL*5Qco;Ug}WYnl5uIpPv0{!(o}}NPB#boUSV2 z$_&mss}L4e6bsep-KJKdeazU|kw%@e?sa+idfx6$rI|>Qe_h@1e*oK3iP!4{v#3{g zh_h#C6jw_&ct&%#V)4%J+v%C6{ZCG6My>{25F{t`2wDr%aP*Xrg98EoyordCQq}PH ziv^StAssPuh0{XJ^}-ESxV^$_6=h-5EKzsS)CtQ-j|mq=y_F)=p*G0ny#H zb=WPA{UCR&i06&LQ|(`kyhRN9RUBWu-{BL@klv3K+OzevC9qWdVu^j)q*kcCvZ3Io zPe-7SpU9@>2JMB)2yXYvNKu#jPbpK}0>=1<)}s|4z}0zVd)h=||2&nU>r@<03lknm zUs?+fDhZ28ifK!d@zjf4n492bAq}fDD?m#kVx+Of)9IguFy zS~F^sF;J;=i2YF)HScW~EIf_1PJ5T&X1?>MY^{}|Cf3s8#uTYjnOFfEN5sfMniHEy zrf0w2BOl0a&UqMMhCv(pON}~X%O>O(`|a+YSYB!zyBdwq@dE%YOp(C$W%2z^iWeGD z6qci;bu*)@HH+U^VFwQPi@tI|d3|h0!*qm?u9*8GzkMXvFDE=r%-D}LNCxc*?&w2PH_vws7W}QD@{Aew|^heZ|vpAJUATcz<%;lcm8Ey;0^yuM~ z-ZDMLx5+E$$Iob`^;~Pf&sL3{=iq$HC)r4;j{q*&)Pp_)Z`qA}pVSi5G|LYQC4RQL zYh~lH)Utocl|wH$9(!Ts@vO&u@3^IPG;S8kr7w;hy~bVrre0(|_^p3XxIrP_z*2AK z86mMp%r@OmK+jRKM6=8~=&=C+G~Qsl3!jWD`N>TdK~3oT-x0%(;R^e^Z$`H%i=WnP zZX~oSmSx6zwMRk;4Z4cHDamUR?sC7=37CTd)C{>%{ll}VKvVx)jW^kP(2Y^Uucv*k zIo16<`p6N3XtFyaDy7yIsR+FQ*gUtEqog+jka!Y?Q1dk$N9~lYE?G&5JM2GFg^%W}bNt)07n8m?NFExQBt%lRycLw}~?D&}ZXnMFinq2{OH4UoX~!8gsbl0Bxkl?@Y{-gmaY}ol zpRggHvSoYoQ&8IZ*zAQm{2<7&GdGensMN!WIx7Y_%>RDTy)scDc-d-s$-8ri?!`DC0F~#_|5Qz-tfqq0>p-8>No;e4S8T zzY7wGHFXa^_b%xfp(k+Fi-2X^osEe*>xuqw^u>-L+gFTha(x8dW7uC1eGaD)y;Z@ zxNLHlS916D+thl+#>dwkuS1rPq7^LG)@=$x-#K#Xl=S-nj0mqEd0eI*M6qziFB~^7 ztQ+1@m~S-3+%plUcOLc=4OBcW^l{9p#+)N;)#h1NM^Ddzn*B;NsPX2RMcmoN`}PWb z63@*itK7V`6uHKx?3crODm(CtSlQS1pwq=KoQ)c$WE+acd=yV96vzTT2(i4FWm+$d zR9$lL9Lwst{BT$3?CkjMwQbetkXXHXy{d@M+TjLQLiGNvq*#wgE-5vP7zAK5w--$M zD!(=`PMFV5%=()r&zDGJUzRk*`9_ez_whvuEO*d+c$KAe*M&lE&$X9@gj@#Yd5<1T zPGf!rKg<1MFFjF9_a}uGg&t#ms^=f?|As_cdvA1S{{po5zGNhL-YrL_8Ehs1()ZeI z?ccUsK3O)xSZohSy^n=$*)IhX6~xlqOV9ef4KfZKLDeNiRP~SH9gMSj4mZ)hs*Z)&6fw`qUULlb zTQ=JNQ;+76M`fdsI~w!IEFS|%pV^r48`h0<8HED7f4SZD$pYOEf*XWa>QmP`_kS|b zuDaSl=Z9%(VxQXwHAr(Rkfr_GhR@hEjI@IEAHrhc?PVH$OoSD^h7iQikUZrw?mdVWBIW%5>R)2SGoz0HnEXCzx?>(g3a(dMI!)@`e|A6aEW{@2YyYKOI7(f&$iH)ceOQfV!vE@{GcbDe`ZBtXvEK(eR>V6k%Y#PYX;H;89Y+ND#U5T4a+n)d=yJH5 z*Pr%bWfhHZQ6@vF!LX1REysUoZFOq5Nmb#>f?C<5hJL_G6u_S>~rpZfU?nth6-JcpJxrqG7i%N-G@!v znVu0nPGFPh?yZgwC;ZDwu2Jy0{Ir=XO&$-vu2dV2kuiN2;SZ6$u-nAE5P;e714sy6z7Fb_ET*?(Z6Xs=# zM%+A>k>Z3+rdns?H^VI7K?M5d-L6DWbb(a%M#x`}`1&I+Q}G6p@!j?K899G-yT%DEpLd~ke4h_Hd z`+nq<_7)J}p{It|_47ZT|6HCW!oH1yX((S|q^&Ejk65Bk`_Z+wsG3vL1wym*-= z6WCLoc+)mjK_yvL@`g#Cb9T&N!lWgSrIBR2f|WAWM2f|_ETTehu56C1BRJlu|D|5c}z=_qy+ip z3;V81AvtX}N!hkdT#&aQ%OeT!dZawmZmBz(E7i~`mB|$9ZI|bZ1ku-snp^k$1X|uj ziqV!URIh%~cLpb>I;J0N$*f-%x0rI^Nb$a*d2}28PIJ%R(Bi-u5dwHx=aMBUegodu zBdm{6c+u9@T^X&RDAcqjrS)-nWvaEZ#Hqt-STK%Qt|2G{@eF2{p?wGf+z)!xvfp7l zp@Izr$}vNw4QH!!hi+tyi5&K1E!eP2ao3xmp9sy_VXK%5SpVVcv42S$gKtmG*1A~} z*5+-bPSsKc1pRe8j_+l)SCwzyk#6>$`2bB4oy{$D<#K9e)jzf5&5Uqq8@$k*^NV~q z@+>@;v#L@Q0HCz9s5rC5hK7dTmaJqQTQ)f%QdJ&P*~qV{_XM}8!~pYAMHio{%WpvW z7m4QUC|7#G)Q?|aa_-DTT`}viox zf4d2TJ;DdfspOl_j)g-Sq_K>JjVd_|WAK=yra7c+_Y{1Lh9o6f9qK_0;GTyfKuYK& zB}VY6YR~bG3v~akR`Qt8%9Ve-^6Yts_wl|BV;S69kjb`uh9&;W=|*wFCEmpUkOyaT zmOAU74w-bugQAl>Mk(oGJL{9M3+{h=0I(PD-@Z>cI}Eosm^{e_e5;7*@?{xg8@8=5PX4FAt595q z>i$O&L1e#Z?qa}|64=o+BwmoyQ1@tF&F8NUP8S%ZSV}I&OE>b_fq%n4sRIB@WomP{ zql`(^k`p?tX#iR>!*~K~dFy<&XNXBxa}z}998j4cAU8}+=|)AlERH}49_meJ|HR#( z%%H6pnh*XeUvk&4N*FQ}h%uoi0rdp~F)ABtJ6|QG%W5ZJvbE|PUlp-Up8vHRSB+h> zd#U!HiZgS~H$17-)Nf|iz1k}@J08OFY<;i{J*O@vLZc z*L$BwsEf@MCHjqK=1KKQev+|TAv#lBE z28xzDAXxM1WMaY;dlR;Sb*pmOP@zY#xkn&a3@Z}Mc`rnk>Zq>k!Y1Fps(ExGQXCu) zS^LMsT9!-K6TI&`rKqW!Cd0vLYX5e#U(_eXoiuJo%T8{vnvTTh``lMmp2rb62#xmQ z`~GgY9Jlr1IM%benO;Efh&k~_;F^8XQ}>2k5l$!ECPY+MjkI(=)aRUNz%Un8%!h)qB@6{85ZXv9Ts&~mUgZ^(p? zHd&9Sv;E6wx%;2j9@pFFVJ7Z!?GvwYe7ee7@8+R(!R%f1v-1dkF5-;I#Dj^mt=O{h z>RV^mu|?F$3!5G45;@Ep;!BLIlY zv`lwSm689mq<(4XjWYDTzpvmEY57VV5$QzzSja-zmqw|Z@CqrX{tJA63<-F20s$A5 z3?#E!hGv0(v)tboyqzgz6>1+ieEP)n!BSyIyVk12e=Mqzr>yq-9u~@UR0J&Jd(W^< z_9H@o0ms{ri`8dq%4Hm0VQR;XzVW@RBNzZGiv5UIONv?+p1W{*DU>&2#X+jxUad*-bH@*-fTg! zLL@w(Okmv)cQY~^?R9V+1n;)7|NU#q#C6tF7;={93go&7I9L*^;$47StgiIF%uK4j zGopB!M1@RVMm{wRHw!|!To!dB1e~0Z7*2bV{0{D?czGn%$V$#r!gV1r!F9~{^ojnv ze2q+*RW3_9pShLg0pe;ain7ZRbL}hTGw}UNexc(XfNsRNJRE0KYLc_NTm>k!8zpi^ zDx6TS*LY%|tct~Q%pmvUO_AdJ$6H=$hADOOgXI0e+)_Soj~$wp$_3i*>*5nNL(Xmx zCEd%23Mb|mV?Yf*+a1jx&^nlXsc!Krh{Rm}Sb8Sp`f^W}#eMYuW*8iDSYW{4^OPRM z1p7bRc|m=T7Qh~yHI(EBDhIWGrWb-4(_2FeYW zqA9cAWNrJ4Xw2)giQCNNun($ZcT{oK?4s~2)?*564wx!Atpoj2IfGQII{DnjMTkiB ze8##{v@Zd+4GxSSIm4&H3zkfr3+0MANp2h6zVhqUdQ~WXf<9Jcd_1;5A1VH@S14EV z%VP{)J6*VaOF0TT(`VtLJlvv8>Z|A1EK|j&8!0iGMYH^7>ul2>iENWL=8}}qF@J)s z--sAF*9NpkB-YOiR%*U>DI9tbZftJJe00S;r_X-dS?cA1__?p9--5*`(wOHR!) zeNG~xN527*Pj|a7+@C+^o)_4Y$K;4Q+c;|7Z?II`ANytZuhn(=lJ4$?DxY>)uA7c| zYA(1xGuKHDbPK*5Q8IFgS!H3ngA>^PiwzowswYV(o~%}q<28Nm{F68Th%nAzza_IG zzuY>z=9D8}hwCU*zUZ%m$v=4yWsLOEo3zxjdW z`epR}Inww2ZKq}UuZ0IW62gu$p_4RUgFUlNZf`vyvgIg?f3ULmwBhn))*Q%CUn~fR znNMSUMTnADxO?8S4vCidt&g;o)oHSM#)x~5B9xS+t3#BK1~1 zexB!Lre(2?XsG{#+Ux%r|En=eb~kxmab`h%@^NmUNV7&&?XN4~QQw9DD@#P?)tn0w z(_gz?Z+FDp{=CQ~D2#mY(MC_Q{DR|}=dJS^I6Kas`=5-jGljJY(etIH%(@ zJMYcj9J02*f#+J(qE%(Q(}x^HS*@*oGuu1ioEcsWa^&x^tRez3oDx}<;E^$+)ln6hN|A=djf zN8r`Fu{%bmrzA930nB68>iHJtWTTOE>Y^K#iEQ*xLvp0|Rg89XDi`}9P7QPmY=ew;qMg-yKO3{f*IGKa9$^{BCkF$jHpUs z9pYE~UFI@@8e508*bJ-A-$q(r2>ILf9HM)9HX7!U$v6HdG|)UlS$$N#acm?}l;tPE zdUo$gjmAbYXH16mbh3RlkMzRyZsTr?CFp-+nZXZNhp-GL4OarvALJtl9E6eP3+-pW zqgOR#MoN6QQKi8#XBO=kTf#AVT*j)*481X0&*jOCzA9yYH1`$2<=x<=1dK?i_x8os zNSPMz^5Rn(#d!{6>?+4;n{Q4pJ3NCD3g*^Nm~;Tr;_Sg1snmBGb>RBQvv%5Y*C&NK zJvcNG6FH*junRv19A*R@hMFXXr;8N$q5SjJoZPsHD4Acsl71yOm$$vf@oj5HEelBo_ZL3N z+5Ya5Gho^`ri#ix=IhyxHty-q4Uc85@%BQQ6v7xhC&hLVbkGB7& z$NId9Fx~Z?)_a+F`%ts^z=v(5?=;)i0+){CL9E?BJBxyhoZ460z2j(QFE$63z|5>W zOI71O<@n@3UgB-?*=9mdQC$z#T@2{7-O5IpR<3D)szY!0`7D@**G^Svh%=SlFF zr@K-t<_5zZkBOzmL52FGJTQHm(nfS<)%g{z*^FThm2EMpPGPjoeIb{ww?)? z;->=rJWdnaiUwXU`i@H;?45&Tf3Vcsw5;>FfSLD^nYju~sarLxF7nCS8#)X{5@KuW zC4Ufq|GKNKM!m2b2dV18p_>yX1YFiiZu~q5eNX--Bdl>U%pJQhj=Wp?b^k-J%>1zF zRR=BR)3LS^PSO#oY3`D&kSi!ed;-y&4g6Tofq3IFOXQb%oI+<+9+~(hhbAJfKH#xzjbzLZTyo z(>Nl=P&HexbXP*{s{8CsN;q6+rX(M?q&Qa?6-uG|UK>zFdfw6lW>*=OQQ zszw86`Xw!wMIsf1yDLaD%@7b7YxbAbn`1BiM-w&1Q+2O0^zBp5oRSkM$=dGMj0;Mb zJ+>gSK@~JbZ|@GKEI}Xq3YRYX^KNkMn~Q!-fMbJls~(SF^Fh9h6AjacD8qkS>T11# z#n1Rr)-&P5tYkUI{K%=cm%4p22AkCfcQ8t|sWiPMLjV8B(q8I(VIyC}!K!U;i?ZiX zd|D>L^HmmW-O!!P5uU{C}p&y0xHguzeC+W^&*6PMN18 zE&`Z9!*^Lc;0aQqrPM!aF_St!G?Y3N=igT`IMF`eqgB+1+OY!vM} zm}e*6%V*RVDZa6lCI`HTrJR4v-|RVM=!+q*e*i<*_S^L}*JevEZ7WbXmJ5*|Jbb2Z z2Vp}c=;2z%;eP<%NMx@5NO7@WIM)KPfF4`=AVt8q z&~th2RZKPm{J(~0iGQS2e=+^7`RSURp!W!4w&0`4j%cBAHTA{KKONtE{!m_S`k3o#Xrzs~NnDvX|%}C)ddO1@)8Du(sOE-Fc2Z z&dj3ufY+iZzc}N`bZ>e^mNlYX$g{UO;iCr{%v#X+GK>jwKaisyCnc(4Q-ugSM9rB` z`B#l`qfssHTY>t5mkMGGLjV(u5Tl@b@KFmDBiv^$!wu`P%iSRYYze-w@!UO*4UCwm${Wn#=Osj3v#ek9$<_a&1vA992y?! zLZ`jEBH4Sn;d9fb(vFrLt5NJJV(V@4%e*-Ec5#iF;Ff0g6cDEeu`!anM~EvN^%sV%9kBWN^eR*+?#y3U&`O92H|EaStt8 z;(7$5D6GwYMs6P8MSbG`4E9=B7DW`Vl+-6xiX%93(-U>!{yE$@GWTjK0P6dwd2Q9X*~41(hRI*iS5dDzK|dLKJ#rP{_%9OOC!NKrCm^=wEowaUyudA5 zZAE>clsGfx(f&t8>sMWX@8>oNTih3s&k$Q`6?vWCMHLHsj`&D}2|I)R?u~90c911QvdN zk@%tLhQ|GuS5o!zaus>fZ&BHLzm(e;v3soY%Eoz@0y20$T8%2d{2(Tr|tP1G={X>vb#xDZvq3+9k3E;N!jsA*G7h0FgBN)9}Nhy=68L4kB8?o&kgVmE70^7yi&q4yX1mMWSdZ__%_i>p@yf-VPm zw)Bw-PsWiA3%AQ3D}9q%^@fHHwgq3*@jNMz-l0xQVGyk~1Igda?fs!6tDT!@ zeyh&8?;l!(*~_ADz1Db0qktL6)wcaj7@MKDbEuY8y^N99f@+^F{1B~vf(6k`tzWfR zGPZ_Jw&>Gd{C+1Jll{wmv*;Jr6V|kUH7KfS&^n`|hH)z`m0^y#eVn`3XSXwmuxMeW zmEnsymDK+Q$2nsRLq6Nq}?7m2-G z7rEMJN~Mf^)B%zaLzCC-GpgvEp|uG3aeZfBnpz<9^ID(K!7#r*&^1e<(a8ZaaF=N= z;bm)LXkmClQVrIcJ!CT(I22=dXZxY|!X0XF8Lhu89Yl$UVkm;_VU@A7XDO0FE2w|n zXa@P-rAg^D2J<@UoX)C@@t1-RX_rd*9ys~0xD27Ai%m0k1M#{<^A`(X{;3*2X}G-< zTkQ!qX;KM)Xh-r(zglqx?pcS>HN(UysVt3YT74{C3I7N>!T1_PSX;l+MNG*^4-}1- z>y5mRJ}vV*8iMyxsQjC%Pxax9bdoc{^MPiPtNr)?Rtt>BAT`e+Rhz2!*6qAZJv8Vl zZ<^NjYQgF~W(s3oXdx5h;l+@i>YR+-D-Gjg>}7`^&|;Qp?Y%%F+Wc=3yCu@{Ptm2r zjx1v$8KV4NX?|nQD7?XTw1zspw_!9?eIa8j+w>B2g+}<3{JTqgwpga=T!@bX=}uC0 z7PJP4pH6|agJ_d(T=7SE1kRy4H(y)=%Fna$WcKLcQs(x$cXK;irMaM5pLh7jyU+07 zqgN_ToCQWk*4+nWG9~^MJH%>kYD0KzVGIzhgRxmGFU-}U5x7v;dk!A1p5#g9J&@C5 z;h&&9d7LP*naT1P!*P8HbM)UWcF{)N;M1pfsW1(BzoY^77gFbFp-GIZO8RR_Tb|7e>f{HfmcTIB<8DPF-O3@DuhBsAB}? zSUYGLxL_~Kr`W0*R42Z9dH;Et>vrXYe@$~u{Ymr!4ZlmL(;W4|r&hH7c6S-Qf9~Z` zf4Uk;i^sKj5t}s+Vi|kj3kzing%_ zBy|1%SpXx>7O#c2^?hI?doML+*HeKe_$DXzr|8qVwq?;vBh}v{*!Vs!(^uV2x~D0m z6U+k2XrW2#z!-dJTwDIr^3Ii-=KggZA5?!HjA&c?#}0-1vU1Yl+wy}L`0?5>p$%(djBjtn)V$?1ir|jd! zcT0-&ZBFLWJmK;M8pP1_7`-7-UScR=r!|+5qUv#wMfjhtvIX56wABL-Qd~W8=uQN? z-z@=dI8EVY7Bol_b?DN)*{nYvlH4OaYU#R0+>C0F3B$mwKrAi7|I4GgZ=;Z ztTkEyy4^Uv1wyha+D~!S;AkT~g?j>ZGG2atVA}f{{~re@Onl{|v1m5R>qYNn&Lr0) z%|H;xp`KS50ND#&+G{cSp}EEdX(3PQn$^AE3BzwAOhGDXT{;`N_n!5-6A&OVbHEN_ zv@r|5!2eFhO+T4#k zEu=WOtCkqiqZ~4X{J^NTK2}qLf0X{CNQQ9_?d3Xgs41-*D|$3Z=zar{=Q>sn0>`-R ze{-T#7Jy4X5O6x0VQ5by!){K53%v1wL<;!T-TFAB9A~|7ki1k#>sqFh0zbCx8qyPK z@J>+Q5Bx$e;_?Dza94vucKiL<@Q@`Bel<~}8|WnOx02h?UFdbTdE*LtY+DGpu*v9F z@)#Qoa)5p@TggFMcN-mTT!Xs&y~nCIr+Fk{_@k`$nQmHk6D`X3FT>ff+|V zZkXD>Fw?;{y`w*i&msFZD8#`Sm_D{kXNtCrdbEf7$3QgdPPa)=UuQavsY}hR&A!hq zRCTCbHV-u(4Cvf_M|P4*H2Bu^o=uh9*^XW^fvbSGHl@It`zf8nlwYC@8CU1)cEFj9 z^+Zv)^Fr(lzuI94^JX#&VevN-81jg)UY9jgL2UIqr-A1qL7;~4`Frz`Zgyy;3pL#n zN578mA;-t+>l!j$pmYrLn#fHV+~ZvO^HUd9S+2(r0Cudo-%709pXq%zwHg3H|EbWL zUv79Wqw+@|5a_p2*mCna+nbqM!ZKs&CO259i5lFJKb+n4_9G(?W>q|9im+22X`IwC z{rD4ht;ze=jP>0TtNGHAI6bs%gNe>k)cZOM$))GJe1iTvSMj#q^xHuSYlIf6pdjj= zOoK>{E6jl`7Nk1tU<~|Q3_$-iRt-JSv=G{vR-U$R@X;?-ZJE``bRy9NC}zRw$oK4E z+(Z0q*Q#|LQUzPHXcm4NlN?a|a;}%IW|a0d1HL1^ z4CNw*2t&`+ibdJP4#edAhaGS0mZYoR?CEEUz#hrkdo*+<n@OVma?3-`FWwU$n~S5Um!d&qAq zs>=U1%h4fYJ1gfJy)e=u8Qif7@oK*}1l|Ankd}7>6?MNMtkFVus$43B=4G?nz{gdn zQHRYlC?CgAi0ZuCCEmIoNzG#|S(Sp}+~Lp^4z%Qs?GN=(ah1P~djOe+t4%wQL?}Iq zqk$0T6K8xLGq|KOa61ocDG_ zwdxKn_D}Xt7+s5{dMgY9ylD?>yj(W&s-Q#)N%2Dtep%NYHfNw(k@OZCqZcj70qvDk z^b@qdb!cp-X?CbhuRLjLF$1G_{i;Jx71vC^YVZRqR1Rq0fu;-{3{M{|a*b{5D))2m z2zK*WC%)|E22qsfbim&`1L^ww8H0Y)%MJ|ntwy2d57f*kPPQQX%$6a^2dJEq?L%#bvwP2J`{zO1#PTwAU*~QkG@-2$ zY8UD^7wf07cHpt!jvMo466$~KAHUgI>?$jRo9-%!90Z-1w5X!Gxg+jzq=o*Ix95IJ zC+Wd&?JRPmc8!t8&pHa#B@hzuXOPfB`oimHO_3?b)Ai(?Oo6>lNz+^v+CZPw?dchh z%0v4v{KqzRPMg`kISbNU{;DZYJ)g}ybO^r$AbmaISddprQzNI;JsaYu0uwXk2PYS z`?D3hYD2GY9BR?(cq3yZ$D>5O>@NZ{a^kkL%~H`)hUu;$g$WYqX>jp+b?zl}Bmbtt70wdjHS z{qm@Il*;R4Ny9x$=RPg9g^{~p0}y8V90J-E?t#v!PENPI9u&4Uz5Cd%1U zv=&=r(EN}O+#O|Cf&1PvLKR*)ct5Blz95g&X1FJW`l_y`%#T5&4=g@-E$j!E)!%qi zXmlK?%MHK#QjR!Rxw@B@csS4-0;~b9z6^RwS-L~kq?uga?7n@TWbw@Xibzy`@B_$& zq1I;wKYRTtpBF_E!U`Pu`9`grMw zT2MUd<;6GKG3WMPl?`zEd>}R38P*@2b>x>=w(7gF6=Hept~wURXmPueeg>zcbES&b zrHIBKG^Ki~jv5|0$MHB^J-VGM3NoznRxR6Jyn<26yd!PPr{g0KL|*l+VXCBapnDHP zt?Fyihgxh@=i8L$W-KdrOLi`4)9jyASdN{q)p~^g7)L3PLC@U0DX>-&T@4EFq|;I> z6;=C?nUQUd&=anNv5;{6FvCbd59gb=JQ<0i)`H%{kp=1#>nDFSoHMq`Lm*t*{8Dsl z@2?#t=v2z7iqt0CV;pcrbD_$T;jqy$Y9LpmkMxU_=Vi5eEl4!CbouCt%(rf=>?7yK zuDfQ&t)uhimz?5(eqUc%u4r;A!N|!#&3Aq+4-D9lt!frsf}EccJ?RWv6trsVb<_CX z$chdv2d-Jh868UYu?{@XF*EhSA@IHStbc`oDJ>)A-&0b12&zr>EzINnG>$enC7 z-`8N&=Tz)N`Qrz6@jF6Gj~?EohiBs3wbKGJDE6%nT6i3 zt)<ee z)WNHxK`?;@e4D9tYsY)fy|(fxtOjU4ARD&I8MNW*ktPzO-!enSW$K5`p(|-GdonjR z<|KLuMU2VXmJF|+J5>N;Ri#sf6n2VTln;XXF_-XiSO@)|hjgRVqeyXZMaRaPu_0-MMd2|fK>Yq&4bozZXP*(M*!hE5~NbTBu z;J$wkXo?^?xU;@&6m)s+khW~mK-N_8bh~*IqxrCLpw_9xl4=awqhZe|A}W+C^x(rR zOMkLLplLcAf*nih{<5ZnJ>u*cHIwT|LE};e*wbv53bur}Eyt}q!_EZSR<4b%JqN4* z&(;xO?Lj=gIy*Gj&LrRk_2q|B6*{PPgrUu--d;0Hn ztd8Z)5{*{vd;JgXi+gqhyku2hPc_4f2D1Tl&oR35r)a4i-7-*JAsf)y@1N2pV`lc~ z`(IHISc80pOeoSt0dp-R4=^urse5;2sO~f5Hj|3ZuL517t+XBW#$F^R$+pdoZY!9x zUF|mD!&5bq%OOA0kpd~L9^3Ud8!@r2T4=q+>HtUtN(!mM((LYzy%#)e16DrTQ4&!G z;_$X&H=c=NnOIi5$s1HuYI1*g?QAA~Mws8--PsPjgH z_H{~M+%9?;?a0=h+-65K8hNjF_Cb?7tWZmLoAKiaOm1X{3hz93{JW8Frj{7lOqsxB zF}24DH>8xZsl^i92UuM%aGhtMk96c!P2I%eK7&FQK+o6B=~`8i^ODRDUnvp1QeQX7 z*>rdixHA$Ty7S~M%Vt029+40aaNZ4&)X5(nfb$6DRLf0{Wfqw1S*Xo?%fB@``ShuRiQraP-yZdcx z2kIGlAb8|XX(W5)xJ$6NQBCd%(dQ{xLcHTfRo^KgP2(Ejw4p*bkDO3}fWEH3rU!(l z+wsh{Dv5ZFL^QPLhZ?%E_zF(o< z-Vt0g8MY%j-}JV2VpBA^-t=V7{%eY!rsTo6WGu*(=;pEGQ0DZjdar}{0MiJ3dKiu@ z6KH86n023riyQez?<=0I+8&z}Kk4sSBIVk|vGt$mE2m#boiN*K@rh5}+~^DaxaXA_ zL_VMid{_#l=t6T~)`xq2-vy8*$%k7q-icjsMIwo!vBU|z!n3Ew?Z$0suR;Wh)V>}y zM3w#Lu*tGT4dPb3R**R4E%LT*e^~O=Js)WhC%)| zpnHatb`7KoD7KYTK%C&;Fo@j5l0P+LT9AE`b&24wY`pLS6`u=J7Tcs)|LCAdk|e#0n}+ilHYe3Koir3P_0v0!j%rKnRJ5k|R|_r4tbq z6(satM5F|S&_fRpNa&CT>3R9`{(}1+V~?@++H1{uP2{-Ak@t}e9_QD5RNjvZoi*)% zvqVfk_NBNb?2-TULBnXz{EGmP6}Z+gcI*JI>iLU4LCJK*D@mr2i|IScKCIP>1%x!{ zArV#eq%m-~2002ik%BNd_hHUR zWE68`a?2h$dIKS?<_+FyaI^S|D67uQLc2n5-AVH%Mxn_Q6Yn+(xN(AM<2i3@%#`k$8T_G?w+sOD2c zG2tq*YAQo1Jrib+8EbzwZ`b(x&mRYBe*WiNIT&25WYn)V=1|k*Mlv^isZWgs#`@6LVo$=_+>T1K2_hp9Ft;3urt;2Bv3zDg({ec``~dG|xR z$Qg0xVgG?@qE45F6gXmKDpsjpm7wh0a$LH^0cuS` zCU~(e4MoO7DRR|w!K#qFiK$od2yUUbf8d)k3{ss*LI?lTmLFc+@QI6 zt{7Kb>X56CHHz}c-#(U-Shz0El0<(N^53-I)Vnn&AL?Uk*-;&J=HdSsTf?NePL-cirX3)PRAg;6JgFy-%vchREFhx#(>)y-$ZW z)SFOO$O~NH3iZZ3kfoQWuc4{Zp(oCv`BY2;|9urFM#A`Wj=7zj zcTZ5hV27s`0Xud0}OS>Ws8PHaS3+R zsL&EwB4aMF588JqTgEIfy@b3oD$mf!;#eYk!+WGz6ZkN=0uT9foc*!M;|a(>FWr$5 zuNz%OHMRtJ2m-fMYfT)!hfgVROAGF8HtkS_Q`iPzUv!nc+$)v9RZ+?PY$$$Z;wPx| zY4t~qIh=(1E=113h9oD}(@rTJ42K;!(s#;7C z9L`@T2ztQY-5Q|Y??!Y!v#v}nT1(vjAY-IgJ#DqP_cA8dS{%XB;D3E%T%XIjQy!lW z`{(0`ZE}T&Q3s}jp%%Sx-cz!otXIh|Rc6i3WrO7%8n1884W%w8d8>$1ismwV+b44@ z^ot*h4e=MvkUsCYC16sHv#?KgX*oo-k8U96`M1TDx=Ug7Or}r0)9sk}N5!elR1^lD z%yEMLzEICQxVszbR3&SP@?0aoUK1zHzu4#?^Bz?zoow?_wx1&C?9iVpcQYRL=OPid z4wfDFrY_bc<0p1Y#1Eia`3wQD5Xnc2*?sG94)qE`WB++FAWF@ZJahQMFVvft-2eUD zagU}03)1?gLoZx#{x`AIuqLNZIp?hT8wu!LMXMYiYK&Wm?H` zA#wU#azx{cQx|uGyutli!nc3adAdR^C;V?KRh~E=*zz?Y(;PT8Tqf8@uv!!(acSZHH)Fa9bfw^ z+oN%~?4!}tmXy-5$gaY81YL@tm6!)_D_$4gyvChbkcR;2w?cd!bEtD%k4yq~~xXJ%=?{u9zqs5{Eg2hM^3M}PWO1m2&=^M}gb z^J)IS|3FC3vbBsxQoNB%MAAqdanmyVW?K>J@N1By@AUHk zpwENkSFoChlgVZt88_}(dx<-xnIboQqnKqWm`_%2{=$#3i8?K7VxTCNJT{}TH>gZ~ zg0!aE$E|>;-ic0nAEY|Xs~K={+gUPc9@YjgKXwy7ybkv}|Ftg&8RbD1S8?bvcBRo4 zpLo7$8|4H?qPjeAH3#7~;t2A4moo|f1jia+WB%CF9M*?KNxlT*cQ~RYDYVrEGRDVG z?gq4APT%}no>!7L4*l*-W4@JU^zOJtX?gxiauxf;Tnbii!e`~ zxg0>AjC>_kuCa4k*|I)9zX+*JyRq3<`ZpkKp?Uu5>hTbhuAru>mr+j)Iv|MmbD>Grkb7H$308`^ zyyc=i?jwU0FJh4!pBW%%p#{O`zc+f92opAzA1c)y5;{1o3>2#b?2IB;w%7MoYo=3r zX!8RU)tPZysfXps9VyM!B+oNi#IGv3y60LFa%M77Zz69YzF{TG3q9Dmi{C&`*xFU) zLQf5|cwd$$K;+&qDy(1~sPk-H<6dyI%Cy_n>p|JgtqHFBOa(fgkS-@*Xw-4zXzczy z_#{BUpwHm9kCy~i2SH-Zhe*Ddedq3$tSieHCq`)9mBJwmwv6Bc?d-!)FOTEzcV5fR z_$Fv0f&VV#?mO>4*SvYZh2ff`?00)>t#gHo&`GUwH!;STCD*xbb;kWWL+oqVCv2#B zwS3A*r}j)MK0bgx2i=1DtAM;0g?A;UT7Rjwq`kl<-I5_5I!0uCcX&>%*(W#v6eS9` zUOF^_OaJRi&GrMeZ|BTijcW14E(As6l}S@X*hyH#LU)teT7l@l7{&chYJca|Q-9~0 z?aN(F6KxUpCybjtWG;NiOe(3WZXhv2)ES7%JyVx7DoUj_GNP+q%5v0VGfY!2cDbi( z^MxaP^aCeM_q0W>2Q5Pgc(E9wvK~V%>bk#znfMFzdv6gFn1TPEmxs?3Ku^o#8+ZWF z-rvtH&0ZJ_9~HKyyL!sTDtvHgC_gxT(FC9ae6k}u%DJlKSCt~kD!WV(Ed1Uwg1TIh z@Rpx$cZ_4ye-TmYaJ!a^UnB-Eq^AVLv;9zmGu*}F zEmslzPol;FHE@!%{KWi?2ZAA&)84{jtWv@MRQH!Fx7#Hj?07Wg_>F31Kwf^#31HX> z{C7QI7><@obAClIHrwt*ZS^S6vz>B<(YAFCJ57c(t*=lI`!h6pgQpZ~#w3$?gy<&S z4E&|S%I37MtBY+D?suWhH+;>izB{ln{(aqR#WqRb5%ns}Vyu(I&XoXH5{>lo7rpP8pdV zI|VpNO<>dMdL9y}vGLmz$y$JaiI(6YCTj%yv+kTK8MDH!dBdWu;iWtegQ+#)S+i`r z#VFoQo;14nuVEjvtR-Wz)0qT*phN>XbRECh^dh}Q7MaWm3Ch6!74_nheCaWKQ@JH4rtUM@t1A?a+^Rbqk@6adi<2r=-=&DN5e7m)}9OIsRQi#E00K_|{^VJhhJyB}cP?c<+&xlo}D7OWOU zr71GNJ(vSp!3ELRO&{`2DdZ7IMjs@qdEjgR`ULHnx}uccPNQ)oqcynCT-j4rM>AXh zm^}PEm&|1_e{@nmhHzHv>9;>${R-BIHM95&V;H`5pQ-|Z{(f**rnmOrH+CCy_=&|5dr^$TW5`ZH z&Yh2UjLFe=a|uu2n|``RzZ660(ew26-ose%jdGjO2sxLI-n}b|zmE6qq5Q*J>Wb)c z=eytBGvM}7_25!kE%_ks%C@4Scgu3OFM-tOONifmhPZWE_mX6~esj|aT}W;Eo~Q`f$PeVphnl&vPNGO*15%#3ldPh3=W>jksW!I%K}C&uz2rQL0T9y~A4y~$c4 zP8PXkUC5<9T>Fk~zN){ohEk145a@21?Q&aR0L|UJ3Yt(KvJ%A$eb?o*DgZhrjvo$J z<#W0XHw@hif+8*{yCvKRTN-<9l`jTe#vTUj9D4W)MZ93W-*o$RKXWayj}@3Ua4n31 z#y#ImvnhYDHMscka0kVAeO~F6--Q9$0Nz1W1MsWl=gciO$Vz@#F4<|zNs5Wu7eMr6NmKUNo(QKGIgp~qb`fNXhj}2LGsR>zhlGcvqNA-_ILyGBQ|=aAu_R< ze9?qOui5zDW@m&0-C$s$0G=fZSO!yp~A_mC*?~HUok2- zBPU>1x718!B0mXHfh_Jrewvy6LNcgwEdy2mm3n|dU@E1{nEW{)8ZvCRO5Wv=dKWMj zN&%bvSh((O2W!{Z-E$BHBtkA+3kCJ-n)@s(N_iydjqhd%qF?O8`aTJ3E3z2?cHN63 zUi^!UO}6$9OU4Ik$uA11uX{%Imb^*xmJm)ngV|u!z%GI+<#Ci!qAJN&RPG36aZlZ$ zmU;VsG;}u{l2Gh661b5qTWxKaJ^S^RAe13)Rsw~iwDlGtYTM!ZAel({;+^Sb1Yrlgz#8idi6hyjVWODTo1%*$H>=0 zysc={@>Vs-tS7CF9#QgzC|H6&2ybam)mJh7(76g|11ak+__f0Rehe4LHJbyAtO_(g zPzisZChW`PFWl~mfx&!yYJO*J0QnC{%1S_0<{?)?WQpLe`9p)W5H4yXio_GX^rI?1 zN{a_RWHiWcW+Tr?{_knUg@5@4ozMmL@JY27(Fowqv{YhboBAEGSDU{=?y0_v8Ky|9 zT^6J4d5bNNGV!w=qkSIQkOC9sUM1e?q7L(fp$jeMd!D2cb8DrvQTHd66w@W@;G0A0 z!H*t(8gjRf1)Q9Pe^{%9&M$s{3uf|6;%japS9;077O9mrqX^InX-eL!&63`avARNc}0waFRz(f z&v}qIkl^&Oqqq3lapQYF`GfhIkg*$ByPE}q(1D@pS?`?LDAvB|)T7bNh+6HA`6xAQ zGq#s>)Z)p+o$6~7v)n1)dH!1l(n?Oq`CVl(aAsi#Igejx>q<4`PuksBwKIcPy_WfVm-0uC#_%*-ZON`P}ykDSMyp z-?I-X6}lF-o~FGX?-~I>l^TA?ZCre5=b$Ez78Kx!8+b4KASDZgO|@CJXbKqJw?^*sk5|r@ysfZwJtDWe!uh|3d?!fXQPA+a6z0of52Su!!w+ z+T=AA57lUD@Yk{&J1o+@SM8*yTrNuAPe54ISkk??rRbEpjJP*f&TE;^j*} zRRQ;cE-m4=+Tu4mlesk!HI7)FPQrF}*PvmJ*8ifPHP|&(7ToV57dT*h!`ogw;H_Px zWI3~CK^{9vuOcIUlaE_m_Ha2{O*somrD-Q9fZWUmYyKc2{GK`AK9+<(nI_Q)*6QlT z6M+!xyw%lbY(@{R{L+K)=7xNV=WwUoNiI$~)!y~E790nXM>Fn4MgJSyeBg@z%Y4o= zw}zr@`%OcW$JlLgmy@J!zlX|;^Y0aco95nyy5Hs?XY3}9B_vxcC}jU3vba_C6C;i4 zljgu{cikL*Lh(#$L0lvUtf47b}FZ+=6 zXGX(^2-KxVPk~+z7C!=-v(VaKcQY7WTKkdb)q*Fz5h*wh5&2ZKsq}-T)WG}oxVaW+ zYhyk42?*-s?&C1ewXL6+h*)?JZRHxl{`VJnMytc48`7rHnN1zJMx`rNb22689h^HzIu;_K-f9Hc%O z!p&9I_YPA%DP6*8F#bhqFTlb#{DpLE&MC%-W$+5N5c>!twvIGMn-Z|038%6*i=G)~ z{kpbNfHs?XTaYIFP`xZoPt^8R^j+}=zmtn|H?HrAtd;>rt~jt?=6NQ5;A3;Hk8n># z`nUo3TgDZ=thF;l0XGNns@HQpkw{z74_$e1z9FQ0ZO}HZ_9CzujGL9^CEIV@gqmtV zmE&(|w~o-dmFYn$$a=i{lI5!)r$=X68jhB{K&cjSe?cbY}`n#sAE z*T1wo&Te|g9{*43Iy5&)Px|hJq+au2Db7OKLRcprEf)Sx4EZ)#B^-DoO+)(Ho(_L2 zt31P#OJBWX*aldi*@jCweQF<0HxL_DW1cJ+UoJfQ@_BHsFS7!TqnYH0fpNBg(+AcN#nI?9Z zruU0ASKMlRdy4V;^;SM*D^=gMU;uTv$@x#Yh1wsb0Wpl8>FAA|^e%OsowYL|uNIfK zeo%qL+D8j`v>`)@4YT3<2s&}MU60+WWV4N!9s;jjLX2n>w31?_X(gpTR<2SqJ4}bC(}Yf^NEK^vaveO`j|P+-Fyk1q*2~Obvn! zxsl7g=d!FY#0GcT*+dwkf3qGOJ(aEcG_g0>hkW%MXn**cGwG}(@AVH7cmHv1Uxo02a*>DN6LHgpisOf`B?F{W>>)X;T*+cI{$Pc*7XP-t2?O&S|2D;0bc z)S*T;P-fW}{Qco@`@t}xlh5dk9Xne(`uHM-YN3QOvT`s}*<@ehwQJY+Sp}s5N=%?N zB3VpOtSaowX~?~=gnxy!Cd%39G{sF)#AN`-JP+1%Afb9(lH|i;IoCve`%tL%LWY%X zIE(Dv%kTC(<-0zVvfq;G>gzo7rfz#z*HoFm?0l#Fc^qHXfV=DDtMZX)oao;?fnXfs zE;^$fkD4P@Fl;$3#jQTb`|-v$NK}8ll|yu|j*%OO(+H049=6r4aG{bI?MWRpUg$HA zN#t>Lmm-paxkSN`VP|J&1=f0J(N%;KIw05sQf(W#??)IgwAE*nkME)+&byWuXclLy zR?mUcGEigQz+>%#wM#9^t@_3#n4U=H?yay_uwrnZl%}e6jGUOEDJo=)po>nyxXXEo z4PB5ejXZar%LL6Id@R5~#hJMp@b}vg*fe+9buMLBDK(I`zUCNnq<8Ms8REor3e0S& zYirW%5M%_+cZnJyiI3qO^!n4t61!}HEaUQ<&el=-9+eTY^)xAuVaFp)?o)0rB#)vh z55{70XbpwLy<+2mZ7tO4fkxgdD4VlMQr|pcSvHSh^(ne7AF7~MMNeE)poG{SofMoS ze8j)>mzr`0rWUGbsnTQa_H9|^@@T65avJLDtSjn!alhWa#-km6<7V%4K{UT_bR4$6 zvBvcT}^ z=6nR5xiNqSg4>;4SY^8^MYek86nt5SWwKt}R<81DTu)JS=sEse zIjTfE%yZ&fplkiMXk3ryCDM9G1_Y0aqPF308ucHTbxe(AxZfYsdC)GCxd9{+*jrQI>v>mA{WEXvMj==;}$7 z5HaIy@Lx?Y<9cJQ(yDsGOu(mmH9Uqda^v zgQnb!wn9moG8T`HplNTjQjz7?{rvDhMD=^c0pRjmI8mi2+t#ij=*)Vkk!4g+WFmH5 z$4~cb*wis*S?CxYKZcm3r(3Zpk<1uxw zv?*OW!94jhK1E>a(0B7O+L|jun-7C{jgRYhfFxY5IU@Io+LEIqq?C#VK z_qv!-^$#1%!FC{My=rxm$B^^*60dZ!(bHn_SAE^-2RU|?_r1zeZK#3WhV;ce6WW)W zx>I?*XMz^(8sizNS<4Du<;w46Nw05Y)TA1l1nG4^NY|O_z6~?6hX1_C_q|x|w)l2A zt#AA{WukU!>S24+xpzNx+ur&3apHpHakFDABn|$#m3@G)&>H~W^g0w} zB0oZ02f*}H>03qiE@>7d&m#N&Z-}}$-uRWC6Z(@qE;>Vh}I>441UF8B56{iUKS$#0V=AP%&ydFroT=USo zT73kr<6G**5Bj>pn4w7Cy_F>Of zYp-@ah3Ftsp|FRg#`q`h;7T>>Eeke~^wP@$4v3#17Ny+wzqez#`#xN=DSfl9{K-BD zcienqoWi27GY67ZntvSSF1HzFHh#uFnUKQa+=t!?=NvJG zbu#ELkW?J%T6PpFT+KN*$|R1H-5d%*=p_`0?HzybUFP*Bx;xhmRkDWb%m*AR9VMDK zbmGJPd`Sv@oVXN1&DmWtPsGntPXNv<_|i9CtYxdH-t!0gyHBXgWTCSJs+QsnWsjr-}X)^v6* zRw;=WK=^D*8uyFtC#!&J=%B{7+%PgRMP=sbb(bVoWdEzWT2uElqTMIyA-~XppG;ra z_a4}hKSxs4AoGMjlk-1737r)p;)f~TW}u-V5qs)l(9-W}fE8n$d#kf|VCY0#bVSj8 z=dKl&Cke9$yE2!?M#ORR~naT_0z5Dk% zPcdBm?~!~fL(4q;)5^HL8Wn}~hP(-7##2>oQ;9Q1@HYWa1rev zqdx%Liy$ewqF+C@UQY$ar6o=J8lPn=b8L(N^C z3SY4q`bG6sZ1=Iaaisrf9&F5CDtu~K9RH~S^)rQ>I-E*0(vs>!UdNRE!Q5KuitTh! z#JT43=2tS2Epva8W;RZUX_*ignzzxxG>w_!Hx4Vz`<%6A=(=Mx>(iYaU+2aC{AARV zoqLbQJ03WXq#pL|eCXKj9CJTry6oiU`;l-VOiFX6;%R8RMlvhOan{O?6q>)gY?*P9 zvWdi2&)QQTr38&5j%*K%&aB)HM|D-iocJA~>k{~TR>D4HOnHZ?;bvlW%dWU3id70o zt9U^wtL}y+x)i}s@SJaadh7AdEmH=@_lcwHP$-=&7QXHr3XYBeq{OP+3>(?N;SX=m zrFSmjp~w%S71~d0%r?DsA}22(xX1xDkM6!!Q5R7@GVpWO-i{yzE^b^=#F`+NKBP|! z6_DCo)wkCY>^E{e5JZMd1+icX?AprAA3rREP&1cX?wmBd6_693zN{e8&-i z-&v(224=V$d?i;0J)LRsIURWa_g}Y!TTb$>qh@POx>~=jsMa7&srDu#Cy0ixv)i{* zz^-t}4uix)sb@X7YnA-^!x6c)qk>!&J`$~D^oUT$Dbd{H7FjgddHf(#?2Y)G*weXx z*2t;{p6s7eI`R}k#ZVYqSZO1Q`VHEM;+IpTmnbb&i|#Jy^`1!mTN>^!Bf- z67Us4|7TvrEbadL!eUrASbRVE=nGfopG|f0{yrqaL=&T5Yi9O6WG&oq%o;78wV!$M zge75rux+@O#J1Y{(QA+M>kJjH#A5tjDF;_Iz`-qM3!jWdW}aF9cECDqbNnAp&1+P< z>BV8J!P8=*W{SRB+4(qIO{R}WXHl+C+zr%IB{zSD7)o#8BXD{-+WJ^cPgiGt{;gKg z?sr}PZb~0R!8Up@kE5*jph%~=)K%v-C#Kh(;mcNeZwR>F%<=qYQdqRMTim{liN7F~ zDut1!vGU0rT4EOjC-z|Us{E>hC?_BxzrVcYa3(iT6;Q+tg|z;FZCQ6P)s;@>8{4CK zmEWT~ucS3~By)Si7$)*{OrCm=x{;R^u-dCg{FIU3*Va)~olO#jicf>?oO>3MiDvH) zFlrcknjA`deD^mABUQd!>X?orjmA9xGmQZFRL@%JISzF=)d29B_Bth^;?=B@XE-V7+ux8 zD;Td|Fn00m`sx0X(Zg3*RMRq}f5vVo=$Ke(hA+sudTK&li?FUeXS^Xk)1>O}kjW0X zk+;M8lT)Nk-#>a~$NrxM;OT>ZkW&?A|4Bd+>;fWTfu13o1L<3>1`sX444TyT!ZF`t-rdMx_wypQ&3P&gD+3Hf)@rC;uxA-I{d-K2Rm>GHt3v>$iU%TGFc(NEy3 zEYbtST=-=QiC`;sB&k>J^OvXWdVfkNVjPOBag?yC&Eidm7F(FE(E&TreD+KT*|IXO) zl(7)F+fV)z`6(V#97UY2JPY$^nYwLNGx%<`79{%J(|L2XU#TK7-zns(uvaAhE%K#R zWcT{irxL)sbw=srzq6tw#TDhY9pxRfmtp)7FhpCpBEt$aag&e1v6d=(BoUQ1)DoDh zjHzkI*dtiW)3q%52<_3=oygmM30i)yX9@`(W+1 za+(Y!-hx=mV6XXilZKIef+!q_`_dF*9lh;Rv?R*Db*wO52#nduf55#GGJyPv4MS$x zJvs^PJ8jW7>M%(i;>2vq8Za427UTSD$%flwzgw!%E!bffFBorwBI-!WF?8*OH1Ie>PX- z3W@ylNbuEwMP6uQEWmbc9+|EY4!9CQjO)rO#^pqV9=OaPpgcvjY_vm-KBD8@c`Ic* z;6<2Nlkiz`pODqN2mqVp$gbn|VXLbgY8)$@jk4_g6ssqAj^gH?jzGggLp4a}X=e8t zqAEmzno?yPzOjNaj2JoBha&(dmNJmhS5jfCz~H%YooCX7ms<@K4WA^W^DKanIre;-kC#|8HLlAI}IulC*f*NQR z-Vxl%7@3a*nNM_;fd@$x`7qooKi!BOtbh;YgNfWf+@3vN3fI(9aE&i+Ib8xpW=nMD zZ~>=Y+AFjxnie(;XYSpsa={_7x=N_RmOAW| zdbCb*%lJg7;F!%(Ly=Qpv`iD0^vJcaY&EA>_ixH|$ACvS`rkEs$(kX9;8h-ZjM&b? zkP`Q%t8vb2=ZjzGEd4t%5PhwX(w{4w>P3fR;fo6l@1vI+^b>bj85popX9#3PT4IZx zYJ-17o;!NNL<+hv72Owq*%hPik-%LZ1gjF2{5o1ZslK$JP4R(+jx}ct?Rll+TRZGg z`Np|$v_E*{zs=jl_Sod5n9G?k(4|yCG2y*J)bamXu0+?vJXQym$1i!AZhO!at#_)E z_|{4)rgm__a7_Ht^yJmSaewZACHpD|_XP+{6GH)zW4iYWOGT)6>S^@{pM+=~+q?sf&7pH2=cDOP!%t4t<-rCB-g}N)AnA);Wr-XKmv}ag|Mq#A-P8@!x zs3)rFl-pCtH`pvFxiUFLrg8szH|{6nwPOxR$1V@i7#~p93-Gi5GkDdekp8U%S$E_* zOUamfnMY9zpDw~)ts@@oKvSKJsVYs$ zZTn3tyk36}n9MC6n;<>&Wq5B_nSV!yNVdoW(5d#kk=N%q9VcI*Si$#m+1iGyV!qiW z7X1Z91gvo*0wII+VV_JjH?2PMAZubJ{C+@M|36BlGL8YrBs6{&5O(uMe=00_g)OG@ zmNR4SCay`j*=zx5DJwRhBeDax(DlR{6A^KHW4~MH zUOiJ$_|$>9xt}(8!a~W#z~1mYU=W|2rP@esMsE>-z1dcr zl6l{aKD*ZTbLuXeek6{Z4ql z56kZd(BwlAdPw8J9lf;$+?&k|+^}8Cu81^$0QYX7sLEouHuFFB(e`w-yYIns=g2&(5LEYHw~J2j3mE z2$=eatyo2szdP6g_(;pcxqEg-U_E)4Z{y1TH(J@ybNJ8Rzn>moPPLAHWoRp9-hXRe z%&*_NN%Z$5$c^$@f6F}sdJ>hs_u1?DIlQwh)9H4;xd*wDTyU73gIV+mM)w_zPAZxl z3rfCq!P-$77QXD}k*JLQ-@~o9yXM$8@XMgcT~Ja3M)*7=?*0klpM9I|sM8n(UtL2_ zaAprp0if)OS#?u7lhRaiczVUFp#IIfl%$jc{|W0GQE=E&DeeGrmiM_4ZUEX=0nigwXHs+axAl>;HA|2@`?)`6|_iT#1`vvp_pDY z3@&N4MLPZtb%drq^v_WhMA?b7fH2UXg|ehNBTd-R)98gLX7i*_8gV}c`HSCDvf(SL`G(m?J3#(VdpCUfuY{)Hq>dA9^P90`YjakpOvA~ss_y1 zpgH&lUnT0iKKTm2avw?{_zT-+Pb6UCItm27+kKdY`t4HUwJ&yIStMxTW%1PxBk-Gs zs_)>-1wi)slg=x^(BPNRf_IZ`vth4uRtv@(qiV;Tup^`M#kTOpl?CMcB=v-=3R}oj z$iee(Zwl_B>U@rLCv!^$1;WkGAf=Im^5)?x==nP(qW$65Rl!A)epKlCp~k9P{6`vj zJd>_*m8>E=a1JECrM_nC8=z}GK_v}>{=(VPqBbmVtyTEBPd>H&%f5!bY6$($-!df; zf@J=|HPNELSKH2R^GhTp{nSrU+pU`FJFH5!GHIWh%P%cdpb%+g;+E|48#lCbCU#1D z-J-82uUK>>aGX*1!RC(#?N(QKNw4tPkK$h`7V)yh+J$Sdgv{n^6r`V-qv&!0bbh2n z_`RV_ffTIZpTPNHu<*t-k?B8mIcn_Wq=P;3o5$l5xQt1=)g21#32h)`>V$X1?zl7O zy22-%2PlhG52+KPUk32o9lCpgIigx!%x4vj+&Py-H zusQEHU(A%3v$*e=QMWyBxft+p^Py=Tt#ffMM8=fEtN{K*PAj-KI@+dSex|KHRw(--JBA_QEMsQvI;2R9JUO?&1lK@ZG9X@+{eRAHamY zSp>_3zRvGdK5jd@(0oj8#c;CAOmxC_txr9OM9p9KYSw)qS{M6hLw}65>rDzYlxnLF z>Wa8ynzJhEb56nOat_5UpvNwOxZ5M!ypH)*Up;7yH1W+0N7yR~>0+dvav-3D$i5&? zU+?m|VsCa26k9uEQXFY(_0+`jcbx|pA9q7rJDrW=X5oC^`*WXSmA!?_we>8y$RyaL z`=)?jS@m!3!nuk5-oh1POB}|`AdTuaE?Al(Ru85vx;6MxmqSwA?sQ@s)Je2%hzZC2 z?|k?+yny>hS>*XG6Sf@IIOAIw8?Y^>G_Io0d= z%c?-9p*aN0wC!_lN(V1+dW1+Rfy_m@8u}`!mdkGcn9N*rzeWzUgE9EakhG4U6*O-t zp%JX0XTM%$T}R=!Y)xWlAEacU4k%TbCyh76G>+5WL|xf!z(fA3_qFAt>RpD+H9h-z zqoP=g$@md+v_3gzT@8v5}W%p```~6Tj%c|SAwi4zbN^2 zUE9>~fLp9BFmcCnPqzJ1%#g#2cl(GJGgb3w9~(~H@G|rh-n9~M8Mq}kZTbkoI+ae_ z)$9#?b(vDFPW|4WlI%jfgHUkUb$kT2x52=1*P0k~&xo}><(&e-FPqPAS?+3P!JCGF zLGTptOWKccw(9t@#3nI}nBteIx*j3pO{ZYTYa%39ku~fjG}E&|Z8C=Bl+PQ~HHb%4 zuE^*?mz^gO2)R?BJjlE$%d>xVVh&*vo-)HyyJ3ceG*xeua z8*@EOo7-hm>^>}C0AE+YM=D_$1Ae#RDd+4ppxAPH=+cZWrM{|AxR42llB) zIRDwV-T8Q9h39Ix|lcbz-Nmr8)cA!J6*%dRXJg=oEfN~*Q56kziIJSOLdfVvANro~?ge+HSn z?`R?)RVg*rkl*YK+g#o~1K@{cV!EkNc1L{k@n!>iT0MlOgAhKC0m^xU{??S%%J0@i z&H@_*XkC!}=ok|6+yBy!1pf=edE2|z1gmL2JV@`5Wi!qO&JfWa`kWq&GCBEXdcj1; zl7A(|2*$Ut6VH+j^SLE*@hr1JexgW~x3GffX0j-aCyoQ0ZoU)p-+jrG0ORDa+G=?Qd__cW4ht*z3H4C624_Hw+=am=~D-g)2>~ypSB$ zOmO&5)jSt;{xjNyldo!*K><7Xad4FvLQZ z1-%${c*yN~Lz2>Szu!+YG`=Yy1u;Tj?vPU;H+mQ+et->1-mB{T^~>Oo53re+6B}XC ztCNN3^5xTZcMK63Dn+uupGhI02qCN0aiB?o|aF4!n+FW9as)>qE(Q4O*TLX9Q z7zAiCvuM~<350bhH0QWAQVB}}BNXd{701_uv`4_T)XHnitolORW{O7%6kD$T;!5Q5 z=I+(f@(ZvH6#3A=tr(N_61-P>RFL2u)@;`7LL=6*N#`(^H9!!WmD*chA5 z_VNAU`zM_9IM>(Z`8qlpK0OFkD!i&7nNsI36GV&mTTWJ?udeh7qpPSFg0>=iN7YhH zf3A>KKTfl=(oBA)4VHtg=%cHBwx*Frlm&p>Dmi!48LFA1B!;rF+C5wzwGsK@vX3R} z4I4$Si{9=NlPE?;O2pu-DfUE%^N1y)AYZCV*i0!w%JF7D640(W&Mi7*Wzh}69fQtfq?*DTVDd#5*&R55$ zZY_jIZT~=i6;dGl?1B`eW6IMoQO)my`-#rwv)8a{8g;X7#JOE9y&t(+Af>(f4W5UF zqq!%0nw6VP?n@>I(|%WNL>2dak;%#^sr3qeIwQ}kcwfr{eBWWsDR$PKWFZ%NWVh>h zr!1tpTIKwSC=3?)RCc52ag0buOh>2zf5e|vzaPDy)y+$nEzb<5=Z~~Nx-OlP>YqLK zRa!nt$KkAuwj(q?2wna3Lqa$Gnn1(VUrYBXz#E;0N7QyZLVpkI1g)%j9iJi700f`s zX>Yq8y&Aig<5D%ye0-z(IMq|Z*j#)XRuo(6c!1WK3eiP=j%Y8I=-Z!&;XfgGO-vMP zthg8s!FQ$bRq>zj&1MEu494)6oNBHwRzf^*35>N)ZfSz?PBo&fB@DsG{0|d|SX~)D zwUG2x)N+oScgk9Rv(%4922JGFR(V-%|JBQx1mrFZiHYJ~+nq{NLCzyrGx_$t9)2k3 z)m5HbHx)O>zV&YggajS0M+Xdo)amTT^>FUsZzltlgpphG5g#y@d3UJlSRwUAtleJ< z#bMv*FpjO1S}*Kf_X!S6yg!K?_8&peE8XJYkTh=wh zL`mBF65ENaCw+f4JIHE(oL z#Xs5ftW>j{xO@J4@F!0wa+smHbUZl1Y2l28CNOsUjarV$n6}yr%Lx$pn;B8FSsE6+ z{L!6s#A4U=?puhqb6wj%FBg@4=;5C2vO?0_+SnpKBaNSCm?7KOwCo)9wP)k~i>h+zym();YoTFt& zEIp!Y?yaF(M6CWRhgWM!3pj=a`6;yIUu@tcD@}odP6oP6R8h#cnYRvD%Cr_ z06-<2wvUqSII>{74(5&GkDk8P4xA*wK>ifn{t?gXW%U#3BejcH+=!`Mv4*)vMw0by ztZ%_9vSNMAql}*`??3$2Q_&b(TpQ5E9BI(e+9O*;4>WeHzx`kK_79`)-%E1Q(CM za2hi1$|@MmqPODIGVzYDk`wJ}K3luQ4KIalM(|AAea*n~OXO(v(08LH zNv4eH|C3>v8&b;#K2diDAy1`kzn?116!hszPo>`ZEW;&Ew4@-)qd{bJ>4%mh3XMk- zim!dk)Y`@%;mBHB@FT~`Lz7W{&C-lKK39y?d*m0>_(N9ug)I-SIQIwO?KJeXg}O** zKL#JqWN0MDG*vrZMfe<(v3kU8x z_ZM1u)7tLhN)Z4X-n4EdXG`GCPsIm!H?t8qxStc;9{IzP`T$YRZpucLG$*1zp z8@|9lGF{%J}Pd@r|+M}rzBt*6}3&vrFj?~`>aQk5Zyj!lpQ z6`j`@HKfKlz7!WP-<_vU8Ao|sx8jcHuBI>Pof{uOJn^lTHAzd913#_6Q00N;bU?(d z`67qCr5t+~wk{ThpDINw678Qg1V!mUm9%R@2VWCC#+8>PrMro747xtqooUu9|FLmt3B$LEpHl zH@>FI=@3op`wxS%aq`)6-&lC>`fag1+`H45N0j1jJs)FPJ188J`W8{5@^v}(!q(*p z2@|rQ1|{;I<$1X_oYh;ngSFQ7_pc_SyIt3`Rkc|onq7X#E~)ku40X}Y#PGbD06?R~ zlWV7JoDLQ&-J2ns)i7^g1)zXvpv}wyHwo1~SpFO?Qi@j?!2+w^oNoa?#ARhL2)vu)av8bI3#k9bpdxEIz9%P(PNq8#W zjL>N~$~>x-|C>L@N~UzbfxRtZ_9aWLy*N5NF~XA;0jp3!s8=FO ziSg%n4w7=uObS(z8#Y#hKNi+(6?(Taw*0N6=pmsIdzs3m3+(-YL8IP&KnI%!2-5Cv z2allE#lWPH6o=m-n8?+=2c#oMgQFpj7R}v$4K`r#st5G9{Q7oYhqoLD4K_^GLTbq% zOC3e(hQ8!}2XKpX0@`5a6&Zu(X8r6}4gQHM&}3J&V0`%?IZ=Mx3Y{K>OU&n&NItmA z+?L>)J}>*d>+)?#&q+Yh7Ry-r;7X^XpWExGqS`HtubYq1t%hA&KbG#kQtgb{GlN=k9eB%Eh|!K=zlqP8}FS)-D{%hoK%7{n{W zyh;E1uFQ)4DbjLR$|O!*c}q}@wtHbI&&I9gJ2ue4SA8pF%Qa1#cAf@Ck5Z=TuGSxF zWP2W{1o+IouFLLu{opR%Y+`u|y&mTdN#RZn^DER?*UEyqM8+im*>rpz>qp!OzlL_d z9mkoOxL8A$(k$8#+W8~ zFDle%Q72uoK*S)ta32k81!?1)TLOKTRy>S$T;aRkMAr1~%PTSwRKEB+OhpsexA>H6 z81e`$%|uhj>=F4=hV+QzM^x_%Yii6I&yAOpi=E`5>97plZ6b^RxM2I>$OGSaBJA7q zx#KwqW3=$%6%o~ZG`;aoK0?+<{ghjPSS_I3Lt6$eV74hYP>VoCa1#nNtbb0b#vcoA z`yC%Jfl2wW3&zmDh5s$a^83cLrT=X{d}em`1E%$~qfEf&-9m+zv1UQ#sfDieBsiEY zI=!pNdssNQUq%YD5Sy2-KN#HPLg+Ixmm4#($p%0(%{m%bWB8H2h1(drgisU2bQ9m= ziLx5ry{&y61>)5o^_)E}o3eck&W_rl@>+Dg=A4V5y()C&A8NK)lk2?qU&?iiv&;o~ zVu$-kwb54+-FRpmo@VhzcZb5J8%4XF;qUR_6HI}2!HTdv{h!W=l><|PwV1t!mPa2e z3CsED>)Xl)5c7nl-|J&o3yT!{%)Ut zY4^V>5-Smg+%t2SqorwpQYNWhqLk&g(iVV%E>Px6Qzq=Z)usbC}`~cvs?7c)i%i zzkf^!R8Z~jkaw_qhhA{Up2=MBBU|NFhMmByY||?QRX+>04^NS!Te#>Qs`$Q-eoC0;eiY0Mz=0_QHx< z?-#mzXY56t&<266) zzSiv{Jj`k`^O-vg5t7D_w>DH1*C+acNHHSw2k%XdqZ|1uKeHGyQxapJ7)lx9Q$)Sqcv`$Y^sBvK_EY58#zGl@9gZzDEyj2knZqXas zJ=VDPg#{al#08g@;BXhQN=m}!Wq|c>md{D%lnGc{x{}>Bp&McD%=K5IU3xQK{uPvE zU4jHEtGj>xGh=@YuB(_(vugW+AOg225`-?E8I2{*E{3zzCby&{_aus+Y3Ux2r}tY1 zeR2L3`gq7g%Kf=>1gth~Bx`A@>Nb2_Oi!xj7~pko*qUpLke-z4-dXldL?k1n9uF@x z3|4k^8IFkZFWXq?h-!%p>yyQEx?Tzc*i5QBy!0I*`o{GfT)%S;fLVy`ua@E7jTGuz zf{F_S9`KF>Is_o%^Elwbbu=uXW4G(G&Xo>2`=exbSBuU=X`)u}te&(<60~ERJ(8z6 zZSHL%X@P55yNK@clGGNlibkt@{CToWcsujSfOC+^R0_D|o!)DrhP;eb6zk7fX#z^E z!{|R}Yv%*&QU_;GnL(UW7=O^9))ZBW|1T?!>|6Uuzpdh(hoz)K?;AwtMN_HjKCa(U^!4Bjufkaj zPe(PUBq*@lS(GEOv4G}7kk=x{!&?Wpw@`&op z>Buhv8~Zh<#e<|Bcz5i4`<1V%s>(@}f4Uht{I-L9#CJTMJy5iC{4q^Ip^QZy59$Wo zr_G%l#hkcT_Tz4EP#jGO1;z1pBO`%cJKu|IpwN`-gI%H6CIfA)b)08Ej$b_>N2>nZ zT9E-_mfG<~6TW<{;8V+`G)VxOw{!EEz4RL?y$3;3hrM7Yrte)9k=gRdhNj#B??8R- zSL!}C+a`s)sxA$)kT;dD$lGWWB4p3Vs5SjH)M(VvV#m+d>Sd-{;S?Ht17icZ@A=mk zT2z8*5G_ltB5^+_m3%@^m_&hkWQQD$5Bx=udz~;6+=KE5aIg&OMY)SWFWADa!|CA* z3KhPfbdM)#^Rt5$fT$*3tgKRhXqQp2>bRhd-Qnz(^D9UdQ0AwvTFb>j+e6`z zd?pon2qk)QXFCE^`^~q$>%DAfWC%5+Qcww5DsT9{11IS}>;O#F_W2mXHmS3IyqR|O zgC*#(H;70(Rf|iw-nHAK+7_n1!=Nm!|69#1aTX@9b=sjlV{3o41NO|Vw=3C-Y8bG^ z4CyEHwV^+`q*Z8vDbM%4=a12Ax0?c*Q!ivp(t>BF@Dv#pS98NiP+459Y5`|7L;GOF zy@2vkLeCAg(-;*C7Dp4~NRbJ}5s{D(33#6x#C$t7)rL*^X*V>qP6dua(}tSR%1@ zLD8vU_AP+1g00|(n1Qt|eELaxAmtw%J@H>{;kT!Eo-?=Y{UHBb=)T0T5_LM$HN$XH zMZm&+=f-VKiUQ!I%hf!^*H$zQ+4ojf^#l5#x1>+|*GguHRsThaTma!rG;4a?#qaIh zF>m->Nh6EK&mJU){p4=TjK2qFhwlOZTh5;<2oAfZ*b7*;MAPsf<@V>>%e0C&KsopD z|J)+bPlzfHYfe?dmIPNfyFx^@-|hHqcmQzIAAc;_(6n@S53ReJPejI!y+h$5uZ@2b z;o=jE;s-lRWuA2Uu!P>v)~GPO-O_}~55~Tpco>=#T|&=1cyFyPZmO3vcAt?7 zx0cTBzsIdy`tWDAJ(^9VNeFIsgPE?S{)yHLJt?;*u)$cNTaNDlP##MvgpD=#ac~LF zuu=Kdbz2uG#huONQV9=h6%oeoCn;vqGlRzDYRvC_`F)mR+Zalq<0|}njstQPzaf#Q zyHuwV*ekdkm7pHg*0-6d7eZXNf@fFekLQN^x}Bjg`l6Bd0-UpE>pBT`5+oQ^VJCw#tFGO+-1Fevv#jH0?L}!Pj+`p03BF-pWxO z&}UH0CDqyOI@N!mzCLL9q*ij*Q$Rr`ByP07wXmO&X&FJf3_n$X2ya-NjV!nSy*!pQ zR=mjFy8*bd8I$Uw;5kyBTDPFlQpU1-RY}KJSiy(-Ff{R^{K9ep-n8lHzBv6cnEw?1 z-cpaj6j|g0*ehG3_J;~{A68sJSrw!f*64+-6S#Z3Tsrd8K&7JI#@!OLwp!4PWsr7 zqkCcR&%nurayJ(1E6iD!nc(>n1J#C<0KBBLhw3BbStpMUI4x6E+p@!b5W-|7qko zLzFwDp=r2)X5;nlvCFw|_oG>pdXdXQ&4N0*3yJL13DYv`7m;@Zjwq);$LpJkoj);e z{hfcTbN*oTEYa?Yo`r+b-?^~%VHw;HsHWSf~dBqDA=oOOJw;waLQ*^~I&oz2@yS z>(Z)tGto5hBvm$JX|Jc1xd#7XcTaIpEgtL2*8u)HB*ax6%mM!gJ{P`mB}eh3SzRFg zOx#k#dN_LgkG^3&EJ&%vPwZsmlwDeMPF|4xs}C_t;6NOL{l#Vfp**OUyD@Apk`B{w z>+F!-)6y66!+ZAJM2nqm!&msaFFpc*j@N9wa6TX)MY^jBd#_l^LC!eAL#qAXPu_4c zgSGceAW!>(f-`&eU-+G8N8EbjpL8sRFHg_CZqwJd(-eJ>Jeln-Jr(TmWNi?mNV%iQ z=Y#*P*o+P-c84$Icut?X5wY=K7TbkDKGjfW?vkqPUJ2i(!l4Z*t38!qCs=5mbcm<7W|YEbkuP5+e` zJ11-$PMdOT1~u(WY}H$vsM}HV|2ZerKatP8hwMJqn;_M77CZgzX-6<6^9rgcV|6a2 z-{;3oJu9rF>p0ac$p^Cjk0dJE{Eu2s$3pjLdEJf&?;eHCw-X@B-TP1 z5N-laWuxox)8>Rq{>MM&(NOAL$>P?yDX}M&XEWfIV*aZ}HdmIH+f+13ZVtxksBEpt zmWob#{Y%FZ!IWYRiC!t&B7d&SL6w*CCS1p-TTmw;NZ!gAyyK8!=V2{5)!A$*8Q?rI z@~K@*bT4PZmU*&fg>4aA99G zu!Fcqc=u&z4aQq!qs7*{zZUp@jdYvRSbhh6*ITaDn9bZ?T z1cT&4JO2gKmm&|BWD~ZV{gi$hMePX$L|(@D@1J`m8?K*FH*Gz!#!yz$rnDZW2BkUrQl7s>HvN)jApPN4=-&2+io6y*dt)`5d1W+x-N(JiHu z4LD24ncSa~+I`r@J)H;51po_P1Q*?jOF3N_2biSabjz|P{!)kFb zQ*e?kRDE2O!goPuw~zPbLzg2yUJh)l%(%jS(Ywq)2;I-`z#iQ*LN8^CUKHIr1W-eY zLOwrg^ci6NJ_S@pB2+YGzdngIiaN9zsweS+Z~loBb`x`{*YDiq9MFH!yuTgp6q2l> z$JtYs-0pUdefN25+1Z-}J02P_l52KFgZUs;z4#Pgbyal8m#B#2!kU}S#f@KgJ+x~E z;?{;&V?S2@;ZxXNRb9wzIB|BO(&NrdapHTm;O>X3XDl86=6Ea5#{9)YQxq@Ou>?-8 z1T2tkZt&ZDg)WmsQfB^YXx@1x6ol{`GCJu6{AFym6#pj1B>&o9dHIJv3~D2;$rqWC z&MH-qWP+2{%65kIzv)xeZA$v%b8SE0j6K^_xQ_pGLWi0Dh0LdZvJCk~MRhY4o>pQU zGr4*GmQybYci32h{ZFG|#65266QT9D`=m2>K4e56bGTgaZ1H6D(W-<^XDdjCLBd^q zSFioY&YE2ZG}*gU4gsp$ehChjw%F zjT^_KOe_-mNfQr#xe*@9;Jr zPvWOqr5X7OiFFe!M=M6_L$*hQ*gIrF=DDdhxJrSISVd|9YfuuB*K!=TITB?bpiZ5N z6n=eX*@2D%0>{IxjcO20uN&$_s#xrEy|9P-jSB#&O-0djT+B|RNd&~JdIy}po!6Hp zEl=i%hkiIVd!tY;o$JY9(AwPqHw%Asy%B0*u7@|Uvpjtj&uAW~{wN0>fDpTkeEWCv z9^Rlm?Fz0^H1CQc)v2`5P4^w)$->}7dqm@>UblVuMqGW5^)Y^;r3_}zRC4(7a zU|MK~`UqfNF1SaR>QT&}M&PUlHC**|f6)$N-_{-jzp!CFFrPH&Mie-_b!!5+4r4M? zoR-O*3C~eq>Undht`gANGxs$#YST4w_{(AxTdCkgPBw*zZ1Zd41=`I1-n*uqSkF4~ zkYse3crzzQ-4UER?LSQYw=01l7x^wE%dh;6?uW3Jup;u{ZAX2Qsdd|`p7=*e!lm0p zdDw`jNkaR5VKdjEikO{PSi2Yom{4v>d%skMDxw=a#rNN;R2<|4?ZJDHc+BfFu{j%E zf_b@lMB0>J4uJqEwE?L z2dR}_d4XJ3u`6{sTK`6Eb;pbFDh^$ZJ5U%odXV`$8r(ZgF|ZI$~fx&ytw$S|Ioa`^5!bx{~i!hWe1=3QYtZc(+FxwKDL!Jh+N@x%Y0{SoPOE zM;E~M^@_WD3s@N+(KK(m5JFq?y#WPzZ`8f7p}AIIpNJZN(1bLwH*071#%GP)>DGnz6MGutH-@j5jttDPKc*7uZvi@Gj{0-b^s%A0|!iAni z_0EniE%Pe#vB$MrtbAR>NY2fA5}Ok1Si-?H32`nH8Fu9bMwQZW#^M;!<%{UY`>l+0 zb%f{98=wct(Z9zxtIWOwT4APj{JrxkZw>V+J|^pej+Fs1N|AX=_W1)Rf8TgCeJ?cm z&jYa~i#qJLY7HBp;PtMPz$Y-pq|;M;U6*$Ms49u{K0`cW5-2ZY+9ju!-wz)H3EFD< z{9-gI+#a_R2bD~GJvy7L(;2^%nu3#|GEHBNy45uis!9iFXZgu`U8aPR|4q9UTzN``fVa0z{x*# z(DzT3iyGH1PVfB*oF&vzGZQ8k^YWl2sXaXLd(pMlklZtxBJjh zYr~2izkh`n#|_6l2Ff`3zryGXS+z~UBy_jil`C|>#8N*8Mz{>`lZu%Jdo(8UV0Kdp*W69!XYjNuN;U-{7vCY(>h%sqD?wt@BzL=JEM zo-sZ!HYO83eP-piE9rR3%gQmQ4I>Pqi;zBLx6otE{(DR;ea<^@%UkZewC1S&+ z=sFi+na0?!i2vdpa9g}`cP@WG4PsVKZaE=?x1HPFi)SLxG&`TS9rn3tRthJ!kzvc5 zFt|V!<4GRu4C;0Y%Cck&t%A6(jg5?~Eu&Rmfyg+L3N`<57kyWXbFt^+@87u%5#K`Ptq=i(X02pH9EO zLj1YfvD}C*8g)OTQk~PY4LOj8N!Ql=n+%p#D4af1z&`mtPJCC$a&v*Z;Gz;tm~-Pk z9SG|tndD4fFfD9-L>wx)^H#74nd z#Gt)pwRgwms_(~rflZ}u&-q5uR~k3?_0-43vyaqo>*H&S)oxm+Lvu0iuD>?4h@qSM zPp@E`Bi+F?_b;fr^d|FoBxhh}ml-65ldfI71%47C6(4-z5B*M#L^ zO5!pTdLzH1flsF~wp(19LkgMpjX}Hiy6A6hDMv3tQ8bWxxMf@HHec;@fO5aP4RiOw z7=imc$uLlLMilI%OuJULesJfz%r)&w6pHgFwS1q>sH5YfzZG`}s+=CsXMaK5y?F3+ zy!M9V#Ge>ZOZ2n8Ar1HPdnGJ|Ash|fI(o_^P(|Rq6m%p_6Oxlq3SFR;*G_!-z;IRo z1(62K?LA=gsw9eP{Se0?i&b8f(xPWlqdp+V-xH^`pI=8_*(;r1E&#PV?ajV})u?yx zKU`h8)u5u%JbW=G!ktS+ajB;BGFjBqY#({;@Ag9%jJt4QN9xmxfi>XaQ`wINJI`j$ z&R!sD8jXnB)UdG^5XY%ZXVdEzZktD-ksXy@P&*Um2XkSJN6cRlv z);oH^pF9a{Y}j9^oL(=M_Y92L9{qf zu-!+~$y6<`NE=KYe>?k{noG=jvTQ$Qd=feA>rMCLp}4q?G0OIHpEu4q!WOu^Oc;IA@vpn%mmufPzeLV;?7q|9nq253 zHSnO5c^6E$W7I@6C?mvRr7_E`3TFr8`pah5Ok54kbR23sur+to_G`wY1eVJ2t{kaI zmi+wkKayNJByhRr&hR^-aGdXinbPZ_4_QoWiHa;i^#zn~0$4mUVKA@3H~C`~>;Yl* z4<_V9#3yK&)<~QccC3G1zdJ6{ef66OQd9Bq+2Uw{51i+vHO8`mK9{YgJ)nDEdp}r= zM$PY#Lgxz1$6v4#F8Vp!xuT5Fb8i!17~gFV9KbCTdg9i!3lG}5$EhYSTvsBHS{y`| z)?%*H@6DAW*XEuJ{kU2)*OB1ng0|XSrhXh0Q_L)WU^4xjaG&sB{^s%vV(~qR3Z`=X zNQ1%=z8$8grkw(3N2R6OJi9T{Ehj|eyJS~p_(+>RD;ncA$T@DTKA2gNEhW|;@0Q}h zh~p{i{_YZ3zK_g|FeKHEXIElErn4NUo^w&CtP-E3}?kGeLv|x zZW-D*cL9K|OtSq?DeCH#UcX=Bp{4?;9YDB#$+Av*33IIdXt4M}_Ey1Hom_gT`3IWn z_u>Nqgjx411mG2_UzvPn8m7Bwwqsvg`si-87%2xE%5%ElH7;-;#LummV5%WNOz59D>3O+Uh-Pqh939ttrj-D16mzpc}-~ zP;OVae*eFm?d%ERIyb5e6*zNb)k_`{g<_8 z?r0sXNO3O5vqELXAVr^a@>|XpM7v*^nWsK8bvP{Jzia{u1HUJ399U<;9;>_4OyMAZ zElf?ld5=?tx0%%MhT0dl((Jd0y_&Lvms061sI#5*Lluq87Kf4nSOvG+MdL>Uuw(rc zvQz;opfuv-qQ?X-9%!^m;95vj`+Bz-&lvgXq>nH!njh$XAHiLwUSE$g9c}Q|@hOs* zABoi^0?jN741?)-j*Eik`|vTnQYM#?8;w>XYqj7w#p)`)ZC8>dNFd2|Yl9*_@XPDi zTL+6!k0q9~(WT1ien^mGf3&j|H})-rr3)wAGi(V@a0ys3K<1%GqW+l%+|n}<2rOHZ zqjX5E&ra!t#LG)EbZcE&koP3J{bml#yBgN9BXvxb{cJ%C9Q$%^rK8}Z=NNWWI0gGp zhX7K8^X{XueoeV5uL}n)xYl(ti%3u78n&K^&wQs?b{E8kWhLRn93HNphe2%_^D4C& zms`%1Xoa(!4H;7h)RHvtvr`e5Rz7-4@pPH;AoJl17ZfCN`-Q0u&4x=oJ}NiDGTF6F zj1x5i>y%#)=1-{T#jwmrNqgu^@Srzi=_8aWLETGgqgd!N% z7=8O^Ui3~o*@}0)<&&A?DVo~A?{f_`MGp`PJWrMfYnJ{aZ?=s=e}J+ch}E|nX!(y2 zuBJ%XGXz3!EcyGES9`g?x{7@$!R?jhP!uj6S(2e@Fd0u6QO1(JxWvy7p8M{MLp)^e z%EQFYrbtbVs!Wjod%SNF>~z$8{M;D7q%c6X#P=VCuNf__G*BEuD}ClTr=c|;yoh!! zQJJlZOlrMGm~ydf>JGJ*Tj67!mRB=i?OK!mp9R1$KJYtUyNARn0A7VnuF&?ZZ63?h z_1&mEO=M5EOUIV~V7D0jywkMh4b6$Rtb!aE=N)>e+iBO%)GrZ1@m7K&YZy@NMyHUH znja;!<$BFG`-a6E=bdXsj5`fG)tPz0pk&;tc z_u!Lt2}V4aCu#UHGt(QzMda)Z!(3dHUBduLr0^Uis`3O56}q#R6!O&24)QLMYLjMv zo_7u-IMtrmm(u=NG08T0*-eR9*>a~{_@J-$z?2h?*z5nVu8w>;)Fp>puHOBJmS+@q z8(W^f2?RK}Bi{x9d5uSX{(|O(b>2rCt=Re$5bZUp>b0C{c2w-EQNM};H^wIlv7$@T z^>1DAT~VL+tPyk~gBl%;%(!Q@LL?ism-nT1#n;&wJFO8Pk)We6CuaNgcfL6W9e>Ax zktJg7qi3__SK6xEp6}1~<|8PxFI_3D2#R%QQtPmpmj5dRcRUaY{Wjj1om9oX9q9XD zByi43(`Cv2OKQ7v&}Q3@o$;@CQbtsqZ>FH8`vms?YvBInHGpLc!Ycs!ay+~B6O3hJ z19!~H^ttf3}szUn1XM$KlfXArwMk1TO!uN+3pkjSIYoRSpGPJu2S7u32NUCgyXhYwvcD?!us8bmUVT=hnMRcR_6Y;_U&li4hX}TeR>2}q3Uh@Vm z5fyJXR0EEg1Suc;HrBqe3*AgKvL;c+Q!4gOIQ-O9tf1zm43L@Tb^-Irc z7$&5}xml|c`m}31f}jh1pcJzU4i3*mYx@>g{&}zB^h^@t;kX;S2GU5Kc;zI90wD4~ zkY>4Mz#SxMPir%v7-96Bki=Om?Qi#7lcIJw0X;(Pd?hMMU$*v!-o#3dW$%f4XAWPl ztGAjFyu3wVNS5f`N%!9*E*?~OcrA7wA);5~D4*0ntqnvE%0xXUDtN(IXjhM-kgwuL z8XZ&dG>i1;j~T(_`2BKHZrYz{SRt7=|tvPqw5^r}X~rrq-hyUrjiS64SJ&&Dpw2{yB<@<3LTT zmTQ|LX9ZHE6km@R_Zi;&Z3B7Y@JD$X_xFlmyh4ZW_Hn&=Hai;C)Nl+J%%j`C=A&wA zV!gdCF+}ZqJrUPqm~=k|I`+3|m-^>+*%D&8nIr7aD2}bk4RNQhe>{GQbL79LHquXm zQ!doDBPcaY$lL~?_ehs##rFtaL*L?nKhLt)^AZG@$|k{HV&3z_kJzOm*$LZf{$wkn zV4nzae#tfV?z9t0!|$?Z;G>2vjru4{%JTChXw^u9udfkycqwcj)@7UDs=FO--BC%O zmSwC1!2LyX{MdP@JJNnm*av@+5EPP)JR?K?U5@N$zklYx>-M!hq^7jvPNQOKx4Qmn ze#;u9hvFn)E=G5e^abG z16Q9j0l`-rXnWmw;fk4D*c@-@oR`+L*R`En{q0RBEa;%%V%CJq&aDK_*CnVyzbW_> zo~#nc!TV)5@(6R~t7Utbf(Y8G_izW^38#_ui6hnbk0=$6&P=0c1$!xW)4 zvl;t-GXPw;7^F?o(f~=eT1zmP&%&=n9xmX{F(xLjzog6X8Sjan+&s@aWc0@y^~%F* zGF(mB@nvLr8b13Cnxb;J8n(F-bM$(;cJjh0_=(*h?_y*jzIq>k3dYA_93QWU3YWDJ z{_7Q!i-j_$tE~P-w)NFMZTf6P&D$RaEMbs#7+3DJzIK{rrKSr&@pI)dOImpeW41rB92 z-4o;Q`P3)1>xOdg1!znRd5|*PUxRa}oj`%Dx;;L7E5B~R-D>w!{X_hKKS8c5rMRvJ zSObOVZ>iBZ%y`Zt!S};Ec-d-?p3sjrp7q(XaH=cZ6IS4T2#WznP%H_sT75lPT6peG z6K^ny>V~b#eCZ^TTAs3s{T;2WwW(|qs#H{SvYgMAoFRhAcrwRC2r;L}Eevx9K zr}#tq9CL#oF6FHYBbHaV{aiEb#NjR4`(63(Bd=kkD(wkfZ|XO~uB=B#I24lAQf;Bg;&`@Mb`_Nr30PcQ;CX4A#UCJYCNOb;lC!oid zAA#z_o%UZan~E@^puLDF*n*qsLzYR9KKM*Yk68j%h}ZcVZ6q!DIhoeW`WZWz_+G98 zxR`)9ubzB6I*Rso%f!NmG;8&`prNwi zK)&=h1k~kZ(pWKTvaFvs4{?p)ijk+F^bIlD{QfOAisc>U3Mu0pIWJYXT<$hrKu(!bi?4NlKJxEV!`~fdZXCM zwtOCYkpA~0&b)YOY`|eCZ_mlJVJ#+exK#0>%;BZSCr+)K%132283neOeI9NOj;d2p z_2M2^fF5fha&{^$|F|F7p>)_jIVwX+O;Z0syp7Xm)k*JnX0^mEU^f9+wYB2a<^J>{ z?W!r>q*t(l;;mNpE*$}k%1vPoxIZ*44_jOo-?et|ir{2JQts*McI z;gH1*pF{F6wF#A>M(I8k^?73%0Cm`S07rdqIZMED($o^8Ry*{-X}C$t^@q>Zd7nel zmKTYuXY6M{PR}#>`BS#k``j)~{Cb)K`f#5w^3?Ap50l-ofTpEn`S)ekuQ#v7%cB*) zzJ=KR==7!ZBA};_YSZ)(LPX~GeC#UTlU?)l5^9Qi{kHskMv#VSRh1L+$I1iu@EC9d z%)Up9FOF`{+Ab);KNQalkgeXkADEF8G24>DKZ(v?qNlOJ4Ra5o6QT};B@8Mid0Q@h z@1{Lfm_#r(KhYrJ5wjGtOu2oo&QSd-@T=wXX~rM;YDFq)=AYJJcZZ*Pt*n{lPh8N^ zVrzE9qnp=uwk292L&LzM0PB%lDa#xxdmkyz81EabaQJZ}ee|AUX0&!4@!f#GfguR| zO9R|w!5WRX^JnBBcf4*y%wI^+`lZ2?YbYDI03g+AW`vr_@S%&Gy~Y2V&FT{matZbyHf=*`w(pWo42-^f*)AXi!?x5 zt(Ta+edb*q0et+Fm1s+4=k>l=8_~r1LP?EDF>#;ItRg3V*d5cD2E5H?nwlQ;c$xtK&93U zkF=bN`zm4J9mF3e`7eBRD=G6P%ZqFn!d9^I6{99${xJaV43?YDeu=v=$3G)=rVPU`6BpWWZpVGn* zMcU20&go5Gy`@`MtN%GW5O-o3k(tsc!D@p|lz(9QuFnNh94R=h{FX4?E8w7Mk=#0; zWw15VO>=fIo6$pGd!@bMr+8a(V4x>}mUgXVGi$4RKp=0cZOKf-v4QrygMJQ=FD=eb z?OoAT*n4qcFfE|bKJnAhPg%6d3b;r;Gej8EziG@RtBR?iJ`|&+Qe$l7MghK>w(*l_ z&bE5;Uw?Pp@pRVU0Y=|@l4Q5mXD26vT};^8BF)CeSTBxQ7ubE!q0g#850Y`6 z*sCHgg+t!AFcnJ8F}C><#`f&*g8i0Pi5z{ z*lE7|#X6Txws2FW<_O2Wm85z~33q+o{2BIJXl{AtjbV6RRp}K&_21hIIr6>BS1Ue> zVN+~11<$8wbZKV@wL2Loo%6X14Bnj3g87^D-+NLqt63J!FaP%;VrkTfBP#=aNj~;` zs$=4FAp&FitfS?2%rEXQ$+XxYAC+1^J}f7t3m*+x#VtiNysg*I zR|;JHYgjglv{kq1q6*dn9hL!0OaB?9l|FL(v0wy1MjCH!<_ffY5|Y}znEW3G+9C9j zy+@zAoAGIDzBQ^p#Sl>3&ZZxu7B4|dYs{jf)U>I;#Q5dTS=9W_%=Gn_x^_kOa45(1 zye3d}oy6-&v(psV4&=E~R-V@PyY&%cns6xNn$E=&xCCLRqL7V?mrd7}HLY*St_lXd z*IFol+0$x9r`O**aoL>TRt7e-HoK?ZI)kYQgxM)vEALuL(q3LP*}Wr#gLd1v;`QOe zk6Uu?QXbxy@Y*RpvHhGPw~prwyP%?m(w6!ci_}9 z4C&>B#Qb-s9R#+#-AHy<=-4Rk;akB^c6q_yzwnuNLMVSF)cxV@zu7DLHmlfm|69n5 zQf-IB!`MYP^z>vJ)JPi4;oY|H6?IxkK=~OgLhP6sj}*i1UuwI^g!51R&6%S-7Qoe{ z^{h_@)%s!YSGvQOyb2-@X8Gi}WWnpHK6_I~O!>O2K_*(;ZQrGczL!l?(d*@Ylu?C; zx7Urm!f3BZYlwbxD~azR)^RN)k6_;DMrI(3a;SoM-;{ZP<;$TXm2)Ks!oMWoz8?Z9 z{L%!askx`M8=*gPB4x%45Yc~3o+7l{o);Fy-k!d;y6WWE7%bn<<4$#2R z9NwUXO%oF;@i^RJcKK@y$wiZ@;#(DpLqc}X2Jht^%`BlNm`R=AS~Fg^|FqvaPdA-t zWmm!>nUAU;6_maZdv$`(Ke{1E+g6Z0Fcj@d{r2GYUlgd-}(aJ%?v>vyWTdXXt98^|T4%{0zh>DO|n&HUQ)KJMxNlkHY#XVCr z2e=n56gLXU`1;HDKe*4i&$-XJ-|yFTU70peft7XYhZ)KCm5qwJ&rdy~3>9@sO{1(J zHXciRPmlX<^yAB2Q~OROv4MQBcE3*$qgKOJ?{T)qWcJm%>Ze)xfA!IQ^;qb}t6Zzx zZ3u6)zLE0*k= z<#!-h1|~?Z$VcB4<|c0vYwNFRcpM}CwVB1$EL*$uzw zH6i-+j5>ybyrUe!bY2t5Y{Hy4;i`(2RV>Tgz1-ylo?pYqR#SeHE_&^(D3!+@Hp&fG zm!j*pMrpY#&G7@(l+NOJ;(wny#kCsy2ZiihX?qN7H~R+iPg;~G`H(qM@&nHGV|7{@ z6Wt9t^Os*FxsVX}HegO2M8 zd`BU8n4jS#ndnR9Ju}@q^`6gLC-M^zkucR8#RE8!&XjZXP1*0s=Gw3~TE=^O|2<=R zi=VJyvceZl)zTX;$%}vf_nXZzjYE$@j>LWc^bF+Yi?LDtF&J`d{&45zFVSbVI`*Fa z?{T#O-y-V6iY{I4ZTshf8~YZ_@qmx_8*d(|#)kpRZyGKsR+@P}>x0C(_BGq66>Rcq$u2h)~9NF5qBggmm5f0Y*d3L$)O^i-(7P(ZIs47?i+^7V$*$A|E>6D z=Vq$A4bw# zQBc*Ziu@WiAa{;)^#$LK^Ybpbx7z3W*TUh*#dX_X<0Es+$IMO`&4n4Gp0uHcGJIu; zzQXW6-{!Jy%LaV_*tYhR5A%wt<*Z&vcqaI}31ZM4I1?0UN^6ic5X0w_tfQU%nPP_f zy~2MOMlejiy*_xkmlQj>fk{*lb@$>bpYy^!jgq;YAKNYi;I!)v5Of9!J=p@|4kqoi zP#lW2=W&*D|0e-dU5p>2eO8g*spi=Drd@yh+w(~NpCpxXt}wRbeSIxC-6W{S2D-nt zh?;qpRRnwCPCSt90qeAEsolE@%;zUkruLRGhv#Wkc#Jzk0p&()iz&a{7z<~Y3cv9o z)S{NNlM!nU2QXd>UOaHre10|}>84fcK+5-8M4Nyj^y=*bVqLwa!|Y?At)*&J^>Iqs znd zuCkk!c1OItkc~$zVV{8Ti06D0^~G|+tUpP(cg1kXZqD;iVOr%uVq!$YVA5{5taRT> zov71tdV-QvJCZW~Jr=A5v~y;($Z0u7H=iW6g@f7_+MMr+nE}g3m)f!Grr{;js6E#F zvX|R_xyXFt2;y&g>|W1P?~fe$a^_br$`!Hpy~oYLD9w=Obx7lXYCE=tkMyXEIl6C; zxufuzY9>{VRXSwWNW2&zqa%^ z*Q{Y5mf?dE^MNlb>Mi!o33Der>{g{vwLn}$1j6eo9$X^50ZLBMxx+F;@iEOgH? zcq`kvo7I1w9=vRg9w7L<6R^-oFt4wsKAt0=chgRQjC%~Sj9kSnnsvDSUD(Mra+2US zG6KAuYcU^h&RGxK&So3xat}|Ux$f$xO7DVHnm?~$qW!En-TN&I7lkRQ%R1Q15A)vP zp5&c-gaUo`U%fqlAH7Mr_C?Iv<`_FazOm?0K|31uKc85H1ln<!{9$8x400{FD9o-K6z+gXm*YrT%$0SKrTDIN>Dm;_};@ zi6cjQ5WS)mPf$l%l#;INwLjnKbO!jtbJwn(T@}%4ACY^m4N%&DwAGmy0QirRlX;^&z60nR=%mFG_@=$NOMxFe)}U}0XPDLXWFdHiyy`75B%WZL&% z6`?W2P4b14pV%(2j_2SgtD4AqDuA>BsfhuO=jnSwJ+Dki4!h%A_5UUwKVcD=zb~^G zxt__II5yo8L&ot2595=yzRRUeru{ppm_I}$a*jAdjbm=rAj{@m%4$a~fDT131i67V z6_T%|>yAqBOLZHXrj(mdgbT%s{2|^{>_b67&33nkB2H+&`F^&Bqj;n|2uq;$-!;~R zq>hjIEuB4BTGq|YlXFqgb%7#QVohFHS8Lc?=X&=)7&DQy-I2lyHYJgug{U_#f`GD!^N0Y6}f{~8g z!do??=LgL#b=pm73iY`_+O8NI3jdY5d)x)ZufrW)M3;^VN$u#3$%;+N3B|2!!VO5- z&=RETSoN@}c=PIGwN<9NX;g*X571^&$KTpHZ*Hrn@*x&Gn#1a1RCH{MChqu+#;;JLI43|e4cKvRJ0j~lEVv_*mZi^lOFvv=s$aX1_3N^-@_0E z9fO}1d*h6371RE>{d`T@Nc$sCW(mJyZ)6|o^K)~ka{>8k3^7ql@R|dNSv1|!jqt(F zF}wX_w$)z$CHnjHoqrNg^u+4kCw97n=iwpd9rZw#$Vz_68y^)dd&A0noRg;^!->S<99&WRq7V{XnqmiJF@-9bFu>QUI> z!LcXv$Kbzo>SJPQVz3?O*?g$H(JZrcm&b(=TlV-GH5vRb0^qI=EmTn!TX|3>nl)kp zVy$IiiPBEd_ldllNJXir8RQ_mzM6^NN{99W{e{;1CARnDS?IR8lDn(lLG1o&5ReUu zD@C)kM{$1{xV>W+v>DfY!V8MW_VPVYw%{qByJBQJ`{Yg}?6u`^fNk(D)t=KH0M$o6 z?1E3P1SNM7?V;WEkl(pVyVGAfrkkziuH|54-{^=D3I)jvvM#|NKkS12`-KP1)Y4=H zz?~^+QT!6UAjSbf4b3#XX}ttmKbVpE4)p}I=`c4`MK|2r-?wSk{AfR&-tWiqXto}u zuq6@wiO%-k@H2~DJMCMh=I+I@YHp!=frv_}n9Z+?pEsIUm?sEGhBPH>vmO&G+HGTVA?qq37pbIY?Yt@_E&B^_dAVGHGrM&1pyT68zeR z)uxjbzPz~$%FcnDGyNZ+RF=TIxKj_n4P3h0!=^b_Kan zU%SykPs#tse55(?%gxUZilR74y&X*5PI2kQWc*zf>FK={1r_1?#SP2g6{;Xk$6xsu z25pJ7F)pvWd?|yQ3w#4x%m0!ZAqF5by^D9|xT!AGrgT*b-S_DX^%|jO%WF{+#`~PXo0H*4onW&|Z?8oGhw2!Y2*yLNk(GY@0L!yyv|@|?6Kj(PIKoyF=A&;8*JDH zkX9g^rIw~R`^IYO7^i~B%Lm1Pcq;$Y(0l&TaLv4H#jSA{INq%F(08xp%mmWFlqXwW zbKaN#`UFu2_E^qoQ~i_!Uzf9b&)mQx<(66Q4DT($k zbW3te*t_`zapiMu$PHz#{JHSZ%i0-3n`P?_`+}*&0dgR0)OF<;#tZHP8FL|483Bib z9BRYHmuw55qXhsyBY4QRR_DSmRGDtNKOV3Dg?uc&n4QZgMSFcH10;~uPY;URE*!ST zp6j@(?`j$Rt(>^hAa;uEWgTTO92+>Wrj}p|hkb}P?O)i~u!4y>*NNUNB#W*d#)h`q zaO-*o`7;qjhuOcO#vIL`x~Cw5z3@cyD{L2XX;n}Xm;EGgxfKF+Pz@XI$3JXcv;N34 z%8VrGgnHiyX_HUO>@R)yzW+d`d#8krL4$_(=uL4iZLB`2U>p|H-m5q z(5usphBCo3ezT`O)iW@NjH}w+H&sL`kgvouR`y7Prg##pE#-NHrx#|HZ}-6uKFn{J z+HY=j0q5rD%BA`%DDgz%^RRr5k^@{Sl+8Vsnz9^fq4k zlYy>}bT;Mb?A4q=db_sM%vilE?>itJ9TjUU%Fl#-W!6Khc3o;*97y%Gk^{mCdzX~lK zrTpU>Fnie$zG-1I2T4&oV)MC=jCZeS?FSVg?p`E~R&%X4sSe(kDiY=0?;8>f^*=W5*^LmmrdG7i&SVq^DdT| zVH2-Y6%G38VcP1iCE+&;Xn;j(#_PKInHyC&-d65oy5?wF;{I*$3Zd>=OnXR({-{Lt zHnex=l3%1yXHf^vlbPXXJ=ywfbf4X4+w87GFl8Th7k)H?kBu?h0vL5|B=Z~^tJLrI z&B}Hf%DKu-6aI`;q5;@@!Z?Tgj}_IMJ3|2qb+s1(&C2XDet(>gZxi8T2bnl6rc7S^ z$lW?%`wUdQ^7Fk<5p5rbR3=Qa)l$b!foxQ2Oy5d~i?WgyfO*FRL(k7^TuYBsn)aKG zG6!Y7Sa`Cy&D@SX_2W)TQ*Y|Ly{a(y`k=*=&-PpEH=i5IQNl3Wro406sRqE>kY_{h zG+WYqwV&Y4qgIxO>&otVp5?emClgP9wgJgUNwALC)fn|&TGPzQ zh$eaP@1}Rapa}P#1TZCnNX^sZ2l~0Z+I(gTT=vG-?>Ar2)cTUup9jWaM%rUt!X33N z4pqG*U0B;Jyfb}sD^XKxWW7u^LhG#6YPNfGNrY-UV(tS`=azGD8eV~8h!Md$AYb$L_m6z1WHX|-J74LX3tmo0vH87v5RPxou)MeO1VW3ign!>j z;w9j-yL3Zyb;XsGtpaH!H@?mH!+bXb6ms}j(52raAtD)j-FcJccqZ+Ppx@8rtstP!F{~mI+xYY9|ocM-&mGFPAO>Ns{RsWkSdUR>*F*Y0jT? z#9pm!5t&@B5S>ntIGZL>5;B&h^ce|K``<(&_uD~~P{Pd&`qyx45`J^SwojcTv*Ehf zHM7jc@#sKS?eC(!RcwXjaBM@?n*ZCP-G}0VZD#{ZwA0#vUIHPhNrQ`KT<=fMoW4vX zS4Zw)-OoU_3tnNrp^dyvRzD?G_;651sfwG{nuu2>r?`_ zreL)K_&z$7#*C@}|2}WNZbICU@Y1;`vMxg0Y-xs(sBT`+)5`fCs(1iuE*LJ9{`b@R zF0czt^vQ=(_b5>lrWMXJmfDQYc@OnErWuQ)5@`9bzB#~I$XWf=%eDf#zWI7PkPkoa zzQ{hYKAIjYE<$a7XudT;I2hAr@6XynMWKM&YK<2a^yYGsWG6om49f~aX{^K0aiVRfkBXH;1iM?AJ4zhdx0rV$oBecx1+V>DAi(Ab% zEi~8P3Mk0`U1-@FgX0(fmCk?KBFzbDwk_e)PnE?{h*0ecWRvg-q$%=OP+lCvIvr1W5x1KVBC z+PUmIj6_y1X2wz~s520j7qL4PyV*$$G#Iur-2NlR?BwobA22V{I0@IS)cH(UK2Mlc zkRR4=j=U8&0lwhUO)D0w9@(He_14{9$;Sg(QrESA2aL!Oe{AXL*?LB3(9ogPFKm5h zAHVG6A7UO_aE0U8#CYMh%i|JX&(`QU-fUq0xVHQ%YX+e^B+g#y9~T$MG0YA2B{~+P ze2-R(16fhtGB~mKjdxtZGM;-A&sR=KpQt*ALP%N_0LY}2bF!qLUD)gC=SK1q6ZTzB zdw4&TkiQY{-4=To+B7cgtg3tX?%dQ7gt++9I^Mb2J@m4Mm}OVi@p$*ZnA6_ELIua) zb4pe+5#Q0-ibi%OOD;c~4dOm9=HJ^2@AjV3hw}^oIwR*c40rKzSZr%JzcevOkCC(6B5zN zsm4C{-*EHXmv?+V9XnE}<`lb7p)jO2X4!O9_l>VyCiFqdzR8^hch=b;m0klH=7vh< zb|!jT%csQ|_6d;fp~%@@RMO&%0x^lgxwLcW<@O|FpPw=IAy-oDa(8ddjEPynXAE}L z0u-}x%vMs!c4?rRt2Ta)lL>mg1}3#UQ33OJ^IZl-?3E=#95k9K4<<*^q@mjeflC`+ zZn&FPHKD^K>;YnBQ@QkozuY{~i!*64{k7b#6j`z4Q=i?sJmE(dIXU}^hztV3{>sXc z(S5Adn$m?4?AiGA+cE|z0E+b5bw`}gnHqEbOLySqvAIVAWO9roj`ELwCu zbhk4~xNLnvpWZ&zDXu*o5xb4Cn(B`>Q+xLU^29hg$vWVOR=wc)9aO9=vQfLM}z4%5gx?UichM8`y$&5bX`e{dh*vP|ACDo?7mGi5gV z2l#AF`^A!!bM`v}$V+dCbA0a~5S?k2KfSG8_?=~r1M<^M>nA{vYVw_$gq9ELwq7Ag zl+T~4cH#x_NY~^ffvM44U+z=avB_b0f98iq<}Flj{L#6s&F6-b4mlVBc4Ek6o*bmQ z;%ezi%?fU_s=^PLMseGE8e->7;3~xtHBzGIg|@vn6I+IhmNwf1SWD&tt;;7}guN09 zQ|v1T?E$LG)9IG3TAG=_iB*}YvY)j%e!}$ERkvPmCuvb1;TZiU3kUkIq^LHk0Q_;Q zRmFAfwm5td`Z~N;P2z~DBg7gUuAiDW~_62`5 z)R|nUeTnlZFBv$X+a84ddp5;@@a(LFsGTT%@;{2x7c1prg?B%X|GGI*aq6d~e(N?h z>ray|UZPbVO(Cq6Ji4`?FNg!zq|@!N{UaM%tT+avKgZ^$`o-v}+mf4?&3#Rh7BmCy z;iIBVXw9=Oh=Akf38;f_fy}+TgE}l7E-vP>ciPSzw5Oe>T6A374F>VQ zkov~1@_D7JwtT%{Wa4K_nZA|R5z3uk3PP{w@j;N_fm7g}sg?fV@)reBlN%(02mGiz z2yLpXS0QlunMot!T#lrZrP~K0EdXu5)Rj0ti) zcOgj4FcW2;4^OLixTPpZ;P#6?D{59}js={LT8>1oNY?HTto!x}V*(d#3FtAD?Z_F^ zs_d&#^X9A33Yud3kpQR!MC~Gf?0vdA!R4sPiDfp;aO8C`CE8m$df%Wx*duOBJ{AI_D9G$Kgt$|1A9 z6UDp7S8rnv#FiDp#sl_2ka0=WuACM3x*~0TM7X!YDnS%gJ6(9{2G7z+yID3Pe#6fS zS4SD;wRVlw>j&wWx4#}$inG13ZZ=HyKYFcr3!una5^HDvs!5h#je)hzeBGD(+S9+I zNgr4)t!7qBP0@yTAt^&O^ib5A`_*}OS;TOC*|pAwp{n)5NB^Hj}D z_3%vqw!_bphh0RKN1*4V-kj2l2yRFEe%QnB8WwoKUquPW?$-HyrMDk&oBly#r#L;b zB0W1mUfKx0*bV);`fhzuE?3~9A^pkkdDrxpZ?q^0?lpl>HLE^S%+5u)YGSmhPXC#F z`)$hd?}DEm3@rK7PE`?uE z0OqIP)N*B5<>|fNinNWbyPy?>42UKK12(MOy_kPImuy6V2rzkMU)d1s_mBNf$hS+d z@Z%FMwpUIA=x$nqnBZGq+)I^n)>j+Mo94!d{6!*v&?^9(b?on{hla5mXG7~R{TIK` zHzo5{>38XkfB#gD!;E2MBJW}*?WY;)ldb{pFv<7}0O?|)CHyco7&6FwD+4iP)V%PN zQ8wd5VISR&Qd2GPd}#dTdTvZLBJIqNpGt#lXK$s~fBa&E{t=gZCuoWlhG%)os<8(v z;f?M`k(#})Q?_%0tEs7^A*HVT`}qa1SU%gf z(j*~opuy0O@+H7)kjjIfXvQcoKc+{h2P#{>b)y!|QQ7sM$K)SRZfqs$fDHC7SUNBE zWnbT!3MgKU2J!t$SK;(4bKfmT!n9%f@Jh?nSSg?-%7yjKL@(q}rUu1*#o@8CkyfD> zJo+lGkNxviLSsnaMXN5>Ta=8Z9U3XxyyYZTw3HO?;V==vp_Rs8f zmdk!iMtteA-&>sCWo>NZ0%bZ-gpqLJmAgd|Mc4xsN4zyYRKwEx4m-3GrI>AZ6h?CD z&)OZH#7>3g@0vUL_T7DlglOK=iM_byN+QFbQi5e@wg3t=OhF`bnr@*Tgz- zZA=pNA89P)Fj|9w9$yH)z!5RDpcG6%2adJB@>UoacE;{C>T@Rt$j*{DO>axArd{@*?HskC;$9^b zYaVFsOff?wA4vTZLcYd2As2)9{w}<5?zVBb7cxJ4wx=z9^Ocl!8DuVvKa z*B2{NGc!>H?6KY{xK+&jH$_{lE+-eb-(+Sh>16ejZZ-ZkJyG?l0{*;dfz0z#Bu7J4 z=P!ui1Gcq>_2k#3Av!2_mJfyU?o{litEE_yPV&Zic%>Ear6oyt;`-GGX`nwD;BI{s zG^aFpqbPQx42MPPsF^c8r8aC*kUMsTyNzM!adpobKYzjCsdKL5^;&W2RvVSqGyO(G zIm`4n+EOwaE&BGf=&N+YF}eki0RakrU~j-znF-yBB|^Ms?P&NEM_d$pl3hLvku2RB z1%5W;H`Fr20-&9&S^A7UC>VC7f(|kM*dH@*XGnYX*mUvi76qrY5#j8c%6eLLKl|9h zFHU)Db6WCZ$=_*BptcdB7eq6KurlL_tl^E10noboraTREXVl9A(?CMB((u@%`#@V8 zUXjjMGsQ&DUOSq$%^dKXTR*cvGT(<7^p=^8Rad+GY(uIu7UD+&w;r4Sfr=v=h=h>k z<$=J4gTvNavEt+&7`%==3U;Ldq-brMnvY=bK zEmjwSdrJX&x)Ju326)bZ04+{C#XIm&1_+Y*LdJUYo8(1-vd&eNdJFa0XjC=-%xPm6 zi8yZsdyZEcqb1(gwU*L$JF45Tgfrr&72U>_O$&}xoZ|8H(EMc!(IW;;X4l*5N&F=p z|9?|7?z?rE-H^rH`q=;Nqd~OdyI9Bnt&=$Uwjb0Oqd8ec?_=BgNm*~a1Fs&N5{&8$ zFpa)V3SmPHrVU;eVO3Ttxl(>F&Q0~V?kXTZ|;}@!2W1KPpoEFOH^#h zLx=CW_0F*&in|P4F*sH9f={qVLa#cfBgNQxZ>|ox*&3kMF6@4i+8ASyZu%u;T_`1C zrH?93g)MkY=gevCcYV}uzIvzLE}lax>s^ah*^Gqm-rI9Ms?%DjQ~A?&{B=s>wum9! z&{KPH`5+37$e}c;>)7pd>z5>7I@qU&-jPg}zp`0za!~zy90|0x?;lmrW9}97@?70A z%nmFtFB)vMu{^E7Y(4gIsA#a&P1V@zU|spC3Z8}0Pu~g57Y-bNg(<%YgF~gNmc5Os z7>uIFCx}cJ`pkM6fQOiDo4E?uF#Q*!FUk8#$tTbL2qH;243*at8o`qFguc{3GtroJ|bSsw4m?G=HLpZmL~k|bqt+%nA@&8E z+S*NE!_%K`3&A9JtXMK4%>S8nvjiXl{K8P*y@L6f`HTF8B;o_D(;G^)}q^Iy{+oqL`kF1?SJmJ;EM<$<08uxBAo~Yb7rFn zLWbgl(F22+sk$o7*M$cAQId97)jsx&B!*xz%g05QM$lT-hG=9{9s}N%5yA@Cx@TVV zV*pqbxClUcm!-p}zeUaGD|B3y%hmC^1J`-8+K`FdYaK%QbC{vgk28sZV=F8@#dnLN zo|6V_6)cQds^n24Uf=mmlFHZIZrr`h?rV$l-J<*nWKv81caT6ek$O#SUQPD0^x_ys z5bNvdBd>8>T9_2X-~U|&oyaw@&r$gVp=SYIwEaBO+N8&q!i~^#w%A$@0Ll=0?Gi+i z$Qi6=O6mVx zxhHklx2n*O!{EEeH;3|hev&<=G480phVnyt&{#UK#?=~aKIuWB{8BI{!rh_{*tQps zUvsxWE{&P~^r?hkkye9~tge=$)on+t=f@D3^!_37g{3|tTKEfp0(62r+{LOsfLkBc zw3$oHW?1^d`F|7nTQ--@qDv+9f^?;3CDEWY=A)PM;5Gj%i_uxVwtbIVA;u+Gq|X(h zt5pS^j)p$r5gglhL};;JJh;vXqPg^SQmZV3!%)w>fL3{g8jI9edA0BxDwwxxV7+)D zMB|s@Ys8BRR8zz4u|Z)k*6hD081T{pwc2_P^eAGQSlt}mz6q93o|1#4-<+&5-0NHv zDGAzn!h57AZ=TL*>|}rIo(Ag$Rd_ul{ddb$fc@vhhVZtsv1nlPkuZOE_oB2X#WG`f z!7DU}j4F0#rI=v)Zd*jeX8*n!f8>M=OSrT-gEPDmXC&|x8N|Om<&!{&yc40POL0WT zEEJ`=v)bi$GCzfRMVo z^+%t)KtzedG`j7W_1ahCuQhr^9R9a4K2M(0BxfV}MYY)R^WE%~qp5fAPKI>4NECS; zHTR4Q1`hx|Y#rF~=mUe;;R6h5bQ#3rP5P^cD*+;ZMGv2$|SO98_9>gPK1~IR~zsKW7fn zhxGuNeP0*-jzy@u_f~AAT$hejWX|6HBP)#_5Ae&X`RURh8DG-g`Z}jsaaXvWBP%|* zHFy$(O*P&6)X%sG3%sbjWVU(`o2ams^(hEgHx6$}-$-Bg{rYm@o2zzTLnc@JTtD_X z!?GHF4+jg8BL;KZ$u?prf5miDW(QgXl-8n%X71cLpoe+QBX#!BzW3+TOwMZL`N06M zpS_no6DK7T^chde)mvsLgh>8DG%2jpj^QEB)AGp)D`Ja~Tb$Fe{#pxvB|+3e=XX_` z{!@+p<xshb`RI42qb?hu@hk=Sz&9aeDV*Ls=GhI`GtQgi zpzl8R@egWT{@h-xpmDqN!G7|Qo)8_8OpFS}qtvZ?@|KI`&{xE!qx#R-o@Ev7Ia$kvlHHZ{^LV71 zd4%4~yBDux*+qeyPnBznM#@{^cJ{X%axv!6m(`v#_3>gPIFHrb1D|h!fB|$5{)ck?A zmAp2;dH5d!sbhfm`lm|0ni{bJ;$m6YT9&rd2G7);W;Kf$xm-ipU1j`-uKq}*J)6ku z_Mq&>{wRMRQ42cuOP)hjDj2j1*$Vfm><6I7;!!bcNJ8wA{t18Yk{&z+Kj7dw@RWxD z*R$=;paWfA8US{*!@)f9ZVshLKvLr1Uca94nq{n1Jsq(STgl^ZZM2zP1QY@GJ$@k_ zhwpno+zO~Xc#|HtxP8Wkj(^wEu9YsphGT|5p;C_L9z1;H)g9p#)y29HM&ubi$9Mq7 zcQNbMCV@eo5ygRLmd`B@hgS?6S@O{i6DvPf+lr(Ynz7P)tFH|IMsbtCx?iuy`6DlU z{4kk%rRebU`P-^1@7(;A0tNI)dS^H$Yhx0dcbk&lcAV)3r`7O2g;KJKlNO!em{-9K zuUR@J>mHByk>AkN$cSLA|Dk9Y7cl{bgXyqq<4oIyDqGsy7qnA2P}GM z7=)kj8^r>b`o_tx?P>cbOvEIh2^ zep7$;hHb)SWpVVFW|IC(hY85=lO*b>((nDlPpVlfg2C+R+1fi>ajX5`@d11MF7n$x z{!P8>*I#m&dkPL0<$RSUXY4DQ>M?%E#^76EQJh|pnf9uah{U;99+xg9$xju1i{2A^ z@xxFzWL1YdlO-VKJx!MJarQ@a9!%{#y+2BztaN7L_GfNmQ-|UP?6y><4a|+#@sWw4 zZO4L9_&ATC&aAxwC&n2pobU@icW5d`Xp+O1YO_le=<9Cp3v{`k$K0t@x$a3DX;%xH zQU2XmMScnVq$dSU9H?cs80o&AUHqn_gLy%JWuY=q4vFKFiRnCGd}m56JAGOguk z(b(+}nTBOooQwG6&~^pD5m9|+iyOfE=T1Nen)?E`PhS3n&zL8GhEi3IRPJi=$_&Gu z+oV@J^Ypy*4pJ26wgTcC)iNttf&0~gGwoAT_2)K=a+oh-z;vz2#&+gosr`udR#1^} zA6aH?^^$>w{mwqC*N|bC)leSdOjLJl@+cNG+FGhETC=;vllqr6`pA#_(J~_S+};9s z@$!~+T68DUrkztxK?b_(flwM3x4YhX?Gr!Nao@*EJ>MeDj}wTj{^zPltrj(VXHmt_ z%Nd&3^*n5b>-Zm{@?+ldo0|9QQLUzdKLw}KSRL??6mVLe9-7gsu@lj2DFCQb;T-3@cfEEi z^#(E#s$aQZ34R-K#?>u%Q>G5m5VFLMJAOM=)~H_rg^$E9?sfTwdt$*3@twlEb1C%; zMJ6@%(ZAAkoNx8A(fgqSnLGxrf-e@2-GA5ap(>NF_c_9PYy`gT;PWe_2TN1U?vh00 z?p>Xr+i#bZ4+o&qrbt>jlo=E5j3s1fz@(s+vtYhAqSR*$Y-86PA<*ArWjKWmQbU?_V;nu@|Z=-@{99^ce1jS0c$EYncCX<;s5NElD zXVL+@Z@5=+B}C76U%9k5pCa8=JHv#&K}vW7XsX4g8|rV?E$}z>B@1$Wlv9OQ~Uj9eyrjNUfUT1r+nQu<)mSMooW? z^G$Kd5+KR@f&K!=uWh|{)0s>3onpC$2wi zNAP7aDUEH~cHItx{0gF!X{<44biFlvNyDSrsJsjl9OPWG-Pygg*$m;c$+(bedqdZ7 zT!VBf@%l{Tfb3g%*VP*z&z@VnHwgBu?%pTKf9?;K+vSoD^aL zzQ3JE9!d= zMg+`mbjS{5(AB1UNqw&pq<5E=;4fviJt~7xbzAbq9rt2e@r%Lp!vMv<*WQku!SSg@ zK>mTi*yf4!`Uy2o@og>op>|D*0rf^93r03 z6G)tEAfSS#kePmJb(A84rrn_$kUR+(*xGjG+R;f?{KIy&jJswQe(|4JKY1?C1jMuU z>ZGPP18uwWIqop`sk&{JB*#kIbHf?@349y*kF@x{>-{3bcF0yo8VLR|iOs%Tpj>ie zKw<^|m@R;0&HRE;FB&eV2`+lR9E@PyCBBPLbS_nxtzcG!E7F&8Md;mTsQQ-n%HQC? z)+Fw(0=j2*7tgUiYNcKP`X-9)QfQ0w2K9ALVrB2~m(BE25{@%wmUtVTZYsIap#C!g zDvopP2e2W6i$)&JnbEVj@ZUiM1z=OBF51*29vnbd+w=HgmIK5PEQj>OA?G__&L5!v zNU_rx+XohLbP!yP#mgi9$dm-Lur)3QhF@3azuuH!pF)X=`Wl$Z$IK-LEEp6$S^Clq zMYm5fj^3*9@eWZ8{6>_p|1B*x9AUqp!8eI0XUnf4`vYpu%(|l{-LsP*imUq!uO~-~O_`^fX^w4fLD*mgZM~R>VKE^|bq@_yRLQT>P(-lqgtDousB%&w5@Pt56@j z-E>=X3-70B<>77-I5cs>FEww%3)THU82iK@ti9Fwzp_%jYI2GM)0ckfmKyNX0kAG| z8O%tt%mQ3aTaUWRJh*edM+V&?KErktKsIvuSqd+A)D6~bwa4eTLweLTGo-Bi#w+^+ zBhmwmod>oG*&_(|@+f_zLs+c^lHpZ!1we>sv+Lg+*2pCW@Z4)IZ7z)iREz)f z^6PRLi)D43sGf!v!i8!!|3`|sT&FhtXSjEneFaAWjLqkj?6)>R2sSGfy9Ipn2sJkJ z{VnH%rQ1vrfcz$OQ1w+D37FNvLwRd{Z<~z2RYw^);nQ0Y zdr1X->Ak5?-z5R+!VgmE1#`Q*p4(X66tT7lr|rw)3AR)Y3C$}(k0@7fl6PZ{2S81d z5QSiy>6ww{l5hW=C-CD#%JFwWmG$HLNx@snR>Y4J{{({kiC*CE@ezfreLkn1BwBgi zS1w?kxs78l7Wekc!xah-EfS2s-zqfl5^YntbUR9;wd$py#L@P^4}zE@;p1cjPeGBN z#?pr;WZKR9bkDyR)^mQ?zrge8)ivx*vCJcyzr2B&Gy0Yp>*3EC5kGhIpMUrCEnT+@ z0hnK%3lH9Xi}Bsfj`oZ=91r}#umU~!ClD5o3qrkiDGw8k_%`@n+vAu)p&c0}QG2S= z9sbW(;xj*J#u%VzLeY7tcTpNNA;*a-QZX>uVXN<^O~sDyH+Bz}L@V*memZ_g{u7v+ zHaRw~@^)D;te3PtVb&AIOeTx@74N|BX6{ zNWmq&#A6p)t3@tMoH)mup+gKe9tlh6^fg|{-U&MC=*1m}6%}i`HMm=F-J&RDglYz_ zCt}okqy){|czQQa@HE-Qd_7&EixzP@s@IwxnD=&dbO79Aa=n%4e<04EShE^W3Ho~+Y(I<3q1&u4uxMmT`x%y)zgp;m~J5!o}#0i9-A(L`z)+P?`7 zE)d8W7C+G4?^u#~ zE*4l;0yxGjQ%WkGA^hIG35_4&#byV-BM+|SA5#-r?5u(JW>u~oeYyQJ@aSoca=y7a zRA26dEe2$`GE%t-+ZB$eJX&1>SjREYUX@hBcc#y?-Obi)U!vO+W4G@Aqv_lqnf~AZ zpA_#3tCT|ys}#v8l(Vf;sl+-XhviU|^ZB$xr7Y(ppE49T3$dFC_>b7tnS z^FF>meE)~%v)ajzuN}$hIXNu6+Mtm0BgKI}kuE-~2*;nLb9}n{I%9ifIM|;Mwv$UB zM%z|>eZ!Q37ohH!LCb*n2|X&O(U|)ZjQRI2Yv)*62c`-zV$f98UBCFHYN5Qn zb#Vyq=f-|MCck7uw7TqLrN6_?5X6h#^~+ZbQGgm1C9NMt^_!M-{n3wy^By?m!N{S_ zQejtsvu9*o>68aGWP=$9JHF&**B3$#?^|XnqkVOW9&u-4(9-#3{IVK#(L(S3CMM_` zo*Z<*RPPZd_+$Kq>NdmB4w~A`2|c|eMy$S0vhLbIQZiD(ZoJHmH_nA9Mu4#>U4@Pw ze{p1qkAO1z-X~UEv39}FyIv*;ju$ua|0-RSDqVI*Zju~-E8o<4)Ng8uDgZUUI1;z< z+9J5bWT!18;JxTTLT1F*PpKWnVe4qS*-!crZfKYbg-Z$B>Oub7A0J+;>=PJR48Odj z5W{feJpt{lzb$_I^DU3MbX=IRwb16;nx|+oRKwS*ik;)iiD&edh5--v=6uZAfo=|W z^K0kfSM;|JQnMtmRCpA%A$Wj=?u`!FTsI(lh$vgF~x<3dRUx)tR^}<2q3?7Df#XjDN2EuU3O~ z;5H}iK-#Bwv#?}2*ht~;25C|MG3isK>DzCIe9?tYA!teG&F6oz{y7!njf|}@pK@W- z$xW}exGl}V@=np6Xi+k=H$v~J`(Tmgy z!tF}C0LuC)9J-rxPydbU_l|wx=##Q>5cB=l$X~vL&3=q09E%(zpWE1XlVZr+Hzzc4 zmf3WsR5I?~C1&qujw%N~TJl`vt*~LO%p88<%WT zB%UDUT=VI-(YTPT$x5I|fAbnF@qVR6R)m+si;k6-$qu(Fc8A5(6f?IR_y6>255e5} z-Y(!M93iE~Wsi{*+oXZX`N5I}O^tRsGYcasmPU=)={x5$x|54PG(`63x&8Z~&M)PG zegQP#2|;TuWA*+ulBPWiZ3FYqR@T&kXOqR(LMoeSs1k{>9PRuDZ7}pK)%n=z_B8w2 ziL&jD!xNa&8s}cUI}oDh_hge_n2sRdzV>;!Z(NN0s1GPm_!@8h(3jBgqo(z!ALB_X zJ@-$pN`&82a)a-m2pVtGDS0+-_xnIX+4j3T_d8sBUb^u&Eb=qAMgO=26`_)rx7YjP zfKm>><=l<-c|^9(4Jb(iF+2AS5JpTr2d=5Yr8lI^QGs!2i12~n6kG5(in{E5gZRK2zV-Gr`Kd#a;+L@({FD11r{Y(3C;!blgYIOgT8tvQVHQU#%h7zK5eKn z67O9eg#uX)_l6P)KSnDe75oRuKhk1d<;F7Ft9qY8qH==PN!~kBZ>lZLsk{V1yanUR zja0QBPjAF2nugBo>(#XNRe=;pA%HxPaW;=}wV`9gP-Lg&I}PM1qsFcme3$B0P#S4` z3AzBk-Lk70s0IMYc^ZMxYSEFXKp(H-Z4Otn>E`*g95uxjue9u(1{#Y3k%17BBb#gJ zuQ2bY-L4U(@}Kj`FDtakA-;>}%t7&_ic+ppj;NtsU1NohSQ2)jYIgPQTRB%PbNhjk z@l36S-oWXRFcpQNeI%D5^42#aC4xUj>X0|9 z^fsyhBHVytKo$+^+2nESXxm{`sJ1wi z_G#w#WK-1qP2M)OR3f&7cm8}W?-!NB+$_In^tARQDzxf`v?{+ zWHp?~YW+{9XgSeY&4<ggqER;j_lYs2`<)TH`yi&hdOer_gYRrEkeR62^)WjZb7sDia!`Kbm zl^&=ca9A?6ZU-K^5|%jLLby`-|+4g-!wDuLddXN`&}5=tCwIcS|hO>_9@D4p<^#(E~m87S_6gpA*>xg6H=Yk$ttiO-jjnseW3A?Q%KiA1| zgJ<}kRP(4A;$oHrVvic1Y_eOCDH=KR$iefId~j#c{~n$w{*aOUtqfwjzAyA51iF>g z9jf^3jz5kY*Ch~954uyr*o7b$F^7&z`>%QEzOwc_QDXhMw_DSw{kg6o&CV4UVha13 z!8L@xLeVez)KL;5eae${Z9Cr@tq z5&I4vMoyj6ADh2tt+JZxXv&$x3f)BfJ3M4fR5X`P{V`%v(k5Idba$e?_>Mm!u$Q7z z+KfiLkikW%f%&(aQ=J~*mVwW=c9E3fVbG8Iq_RMb!PhGII-FS2rL)Te$eJeQAUP%V zXUmUX*!1eJqZyu46hidGo<QzdDNJHY0axT^<=EIw~miIBeX1EY~(+qhq{aZ7$@=K4j0ZwAH304DGyDimKLhZ3>vGb z1BApLbN9ZfUtmWQ`u}plx?k9q=#imKoXD@PHAF(Jk#qfp9 zg4bsLGxMX*Jxq|EXz`h1*bkKFPGbd|`2aZ#jWU}H$v{(FWzESyiZ;g@M)nRCJwYL` z5)UtDR``s}W@I(1&a1c5ub`YJwG&LJf44laUh^fO)6p&bI#u+So^(KEREzQieKK5! zWdiSMUMWhhaz;Xx68PR-JMk(tHr(3Enw!o9IQIwHUIXtSDOIpZA7U4~XdB+;IE5+d zQhjI^{^XyH`+_g|;sMt0pd?TWosHbQd<$c_>#$?~o8Oy;srCTuD#co+2vMBxL0%PL z%Uk}V9;_uWx?SX**G57gt5Q0?$!p&-@8Nn`4X#5JQaX#guM02?fiszf%=dKgyza>BmP#DBqvxMI6E+9_Qfo3ltGUr$>)Yf?<;zCO$Q!Hn$f(6A<%Y3{t zo1T_)d$s69L@5nrB#O)PS@n>U;@VhQVvSyezl=2^$=Nwj_ue5>EqRlJKeVc#jfTDd zG(SKzox;mW0?PKH=XJ1YPYTquh*fvpO4|#3g;4y$i2Sy-9uNY*($5RDbbL`K<1Tm# zS;gQNQB~JzMT^(-x&WmYiPhuPAC@m&BZ;GS!`$jfQsl#SCrjM~n_s%fR|PCN_T0G% zPx^|m>9K3z!nQzDTqX@{+o8pJz76ZFuO#alx)+(&@s66pvT?Mw@-PBB=U&i!MZ_bp zP5+JEWow$N|BzP>%8JTf$>oe~BU|;f<*$U>DEXkjAWkcU1OxBK?iZfH0#z>DXI++4llRNX&!G zwyXmk-)EMAMnl1kJN1_ah;XRd<`>St3p6d1a}Kbk4!9n-50LE+ikxdAxcXyXwz?WS z?mKSNaQ=7>ai@T|-_oh!x|N9p9C1~&jfIUR=pReGq{Dh9E53K-ea;OLk+$=Z2Ge3jA{Uy50X=&?L@fm$p5t>TaNGScVR*h7yD+D~I z*+WVnb^7<&q$Tp&b`WZh@s+|T_E!#w{C(${3G>QWxzDAuseg`t`^wPLd73*`Z~yKH zUq*q=7geD@No8`(yPy1U#6K*#kNW3VN3Vi?0o z&VT3#B*7JttrlYQzN7iUgE7GoR3EL(b9K`*kO8d*2&6=naeJh!teW( zeL%{I4*e0NlGLW-g^ggoYLyDDOan2~Ht&HqJw#@9foBO1R*YypvcsU4%jY(!y9FsO zZ6zYae^QUvvUk)&o$Zc(?A}-vX>^V(DwQ(_eH?I;S4jlV_j7#D>cCG=H-Kb59^U7t-^8(17yLD?LBAK@PLb%HAIX$2yh3?3`tPqrj>X1rDOK zx!{?fjs1d29T3NS1jQ?eN`v3H}j0z0Smcb zKVUQh(?r`+%=hxt{LhrMFTud~8?@nxz9H?jdM*rD?Ci9*tjmho z8HI`=h^K~YKgOdT{m1!w7jA|V2H%^`6|)9??-Plgxd=*G%<_m2TUM6rRspAH8n@)} zTEY;$oPNeNi7FotwWr0l@^e?$7vE#5#I=GcbJs?#J2du1a-4k_Lu{}Ecai8CRP+La zryv}~Qr(QpXaia%nCfb4som)h(6P|&pkcwnhT3Sa!C+#mE&4AJQacnM%w1~#)tX*M zf30L@%1)_Bt_ZSF2jL}HKF|VC^{N?;F!M-nVqqZ{WkpiMjKG$@jIFu6@Pu({j7*jj zvqD}YXxgQ$8^kIG68M$V)Uzq~H51y49Q})*J`b%ho}%_XZD0)x5+EUj=7oSy0J6cPl=}wKZWUaSrRsG;(mB>nJ2<}*4MX_%C#U1nQQHJfWRCY z0;4p$d&bhWF|4#*g;RWQj6C|!keri)hHdq9Y&7XkESX1E`R6Fy2zWrS%e%bA(qHv-Zu`{tdh(w0_#}w8;3f`h!}CKto7#pGcR% z^f zg>~oi2UKYm!Gbj>6@NUVu{{r6r<-ps@Z5jy{^F@NPtj7&R$0UXUUcPLlLs_3OQIE_ z_uU%7P`Hfc{rs&Y=jd|SfW2A?&!thV(` zz0p}twMUKXHqf$DGWRCoeXK?V@LQQFX|3JZwC3qT)q^W0nbuQayP*lv|MrSU5BCuG z4hSt5ths1-2hhDTPCDi}X@96MP!U9L5iY$M+cbDJFYwr|)eVLpz83|}wm2i5sUx;0 z3kNSxKL!7{uH66o%9~DU)BWP;+0#i<4?BF#%tfB@p72S#EYHtohwONZe9|pzK5OYSkc~v* z{zp;yy5K`UiG(35VsSHeh!Z~E9mfy@zcTOY{cW_(dWD87g37Z!xMKi^vVy>0s8{ep z?sNcvR`O$$^$cE-ZDbprYQmiOo0097+@1&MX52}JfKoIK9wk-r?RN*l!^DUk0m>1- zY6hdrVp$u|hShV?2}PP&=ztC_2;Af z?Cv1mthvi$b*AgM)r41IF=a-wK_((C2LAS4oY%~>M$cH>(Y?fi5@+cMBsO!Wb4UeJ z&YfD`kMb+IR>lWV$G$*Jx(_)Ir=1Hq>jF5tb;0w8h4=P2AM;AH+eP5u;6xt@}N!*6X-;{G(au3Q_i*Ol7JMrXp0 z8a+CmxN+{ZdwhHQ50$E|Y5d6#=HQX2{4$yUuyF2Ql6>(RTeTr1_v64Ktk_wwQd>O^ zUu@JguPt7?zV&_<2y6b~LN*2z&}gnyC#|q0@&?)MVxBgSxc3c1#8|VR0+=Iray?Ae z>Obh37SJd~i^1aSa@eb%`|00VSJJ6|dV(_gKyQIpyH0jO;l6#qb9 z{nS7^I>GB{Db0VAFxgf@cNstlh(^@W7K2^ABL!HNxuPliaqD{~vlO(R>S~OgD$#fCJ1C|2nbxeB*49sT0 z{w$6rNv9|uis`*Id=<|8n&hjjXY!a4B1rL&)Ir2Nb;6Ao<1cd~|B9w*t_Nk3jKu9<5#47*BW z??3RpZMJR(=5yg(^#b?yZ<4!uf34vsl$nu#V#Bpq{J6z|O8$isC9ARH9q5bn)2*Em zTS8xW(o>;i{o9HWG8v_(DHu>`*wLE6-6w;=>a_=MY@|St8|W?eHtO(D)|UvbIFwJN zvQF?Rj3;MG%2fSJm7wypkc$u^|C$-`_=We|f+jz#$+R76vE~R}$$cq(=IIy($_8w#L z_M&SrFV;*NUZMg!%n9-|3bJ>rT@#eoV6YK3pX|15s?na2gm&`P@we3W<%MfLQ$-o` z?{6lCZ=Tc}f9@;kY0NDiO6cMBEKI0vWXAuuld3ZqpLbbWqTd;3@YIpMyzIIzY*CV( zm^pbuCO7kvyEme`K?WtIxgEXIKZQXgr^-`)Hcy(~_>vf}P)u)%2FxO6TB=wk>QR;| z@16hd{}tSH*U=hp&`;Dm&XmK{))nKA4HwE z3zTH#Cund}tzB22gTppIio1VVqCysxShEXxQt8mN_dpF(PtIxx*10o6Zzxq${%$jH ztK|>leFVOgTp=tHIJ`C*q@y%;mWNw+f#7CbLRur8rJ((jpuzS}^|J$=Q4o9jJ)e(j z-yF3cZTwBOT)0>O$i{u$bsa{v{2VD1SeplgS0=G`1Z;~C>e;Nal){c*k1}R0cnkaU z`Bz9I8Vy@Qh)>a#JIEOvpRyC*?8@T3i&&@)<%S~{Z{oc@>u;XRSvXu&7F%TV&Ayn` zchiOUO5zHDqsq`zSg`1IcG>8jT@sa4+Mp+D!JlV)7+%EokrZ9B?Eeu~}3*kt}DZ4O|g3Ck7t%_N5_PXyuXRh1aIAZP@Z??u zh5m=PyeeG$o41WpH+nZYoo6XgYGK7Za(N{cKz(7s$T7;J$XYTE=eD@AYh|CShpxV) zjQJEW2(cS6(Ivn6mDr@4RgA-Oi!Hl6-cx%&t;*kR$FVyfK-Iy8FLSQj2L#Lg=2pr8 zFxY|vNhRq|U}czOH3vIw-KJ9EDI4Mqn92j;Bp z&i;kkX6ASYoGbTLolG(H9K`KVu{n$Bj)sHuEXs0Tb5lAJhn?JUV)DsmF(wk3k>ee& z9G^f|zdY)2Zy$0buTnL&M?uG^294Ck#A zkAOkFq9HI>oRnE*T!??)TCK-HL@JW;aN7>tSXI4J7~ep6;BODf3gE%D6)=^MT8Ct7 zI0F~Bat_C9*gPEpH+Sjq%wPAsk{4p)9@hepmY)P!=+|Is<(k=YQHRDI5ZeOCjU&7__yvIByr=>*C8;{m3A$n8&W+ zpRxkeH|wdt++HwxA?dm%5o!Zw3H#BCw%`RfcYw-u;G0ApMj!#y5OzWFu&ldjV!C-N zCtWTl0H3<=FK&-cllt#bOy6vn^)%Xr#5A#MO<%E?MIX(|*5mvAejA>C=~-8( z-jewoqAh5NXIK-8=B)J!w^G*ms=M!qrf4~N{JIluGU(xQ!hoAj&nX%|=Jx0p*&?3N zle*22MR+{bvhA^mI%1%rVIYq3{rUZ-SVyOj>w!HHp?Ivrjgn=~so2Uk<8QqK4xDd+ zSA&sFF&c<-TG=rr6-m}G6Wi<$q?ESu>aBuuaEqcIPYv6h6m;i=4(V_M*`d(*O>J&+ z+|>wC)6`3E9{q?E+n#Cpic8ewZ*1S)pXl=<+H9TtnejOx-a~~nd$;I%uqC3TFJHyn zgz0B<6FAz5vj3gqvQy&Lx)|F43)0ZT-);8U6?s}ZIMA|g+^W2zwh^RZJ^LOO`Sz!I zMD;H-wS~Z^J6%Y(NDZVLKye%Yj5;N!zM_25^ISx7U%PmG#GJD%bFr{hRZ6OFTO+LiGw znUx0)>QlevzUUF*r$*?8a08R{Gq?I%6@!}VkHj-)cZIGe5^Pm(De8^74LFfg)-WBW)G6{u zCOQARUw2d)O`m617*44qKh01^1AO=FLQrWLCiLv2qJI^)_ z10%rVRD|PAR%W`)OvjNHD}u0EdbXUV8$-8f;1~QdZFky%v#siN7inK*v!=g4ibm&I zx4zwJby4lf6#~56I*`nz*x%M{QtPYkfy1`T zvGaEuTAY+0EIjUQ{8q#sPs6R-cybw6^0~4D&mGCfwZcB3p2}>luOxs86D{PiM=_xv z!T035t9FoeTUc?^v7X(=LQqGKp3ZA)XY^~7yoLm!cqzKY95T#j5Bl2*@__4}mEJ#S zl*xp)a;wSFe~%Iz?@-y6$lv-dFHbG`a00wm*>CR|%EY+1;dEHs_cak8de)I`Xp@p= z`@GcwiQQQYug06hel!<@iuCsHyG%63GhX;TYAUOR>i6CnwoZyq57%I zZo_colBp~PYIfR#*~pO8@~27S9UFXPqVqF&ZuocGon=vrDD8@hP(4Jlg@nC4W07G} z$h7S$>^|kQ^Qp#Qall=EwjLkI_2e!~X03d1=mUQ#Q}uZA0f-+3Aw67L14k~7##JQ{ zOKzeKz2O{tIlJK} z=ECUQUSod%+WtPpfX6iPnZafeqVEMFOX&&?C-lNZaN7ECCm-wHl8n>l8SMnjJ#Hx- z7Nb#xI<2*4d)Z)oY4-8>ttdBB|1S}pO8y&0U$`Qz0(K3q{44Oz;eRZFm~peq>}pTS znfzY;bKcV6=i~#2fO_EJARnjqKJCXlA!JA0UoNMO2SP+XSU0W@;Wm!mE)5PeSG)Sk zLuX32*z~R8k_fZ0J@U`ruqh!zfe{Qhaj|y)w}@3KOE>Gl5%Epc<3|vdZuH*5?(tDb z>bG;u)q5p=Zv)|X6q0r$)srkA-pE7<&8wVJh=go(lSGv#<_gfEqEf&!uKI@XJo9Y>E-8x&Z5>{ zhrwdEL|+v@*!b8^#(1D5sw_gfMScXrYCf6Zz%H?qr$Z&rtYkH*rjkm|9_d-x*@tvq zI3%dQr4TmD$n$ykq18EM>!;H`@A30D=DzRzeRGGDijM0&`aZ9Uyp zY4yf+qgm__wrnT*&?LW29(YPAxY-y{d_JsrZ)LgWVN<3w97<6>z${9+IM%5+y1$F!+G;^AiM!lWVOh; ztz^LnT4ZS<_?Czm;R^_<-mP)ZgRkrqbyGC? z`OZcgCmALr@jLXzQ(2hmQ?u(eW~c6S8YQ`DHVNn)$mfIA%n$b7;QHt7uq<6mUl}=TXt!~ay7MPOSljQX1-DaQN?fsu|J3KxjxT0 zjjEO~`cAyT>^Gm%4%9Y^v%)Bc_46Sjw$7S~ZEvM<-$JCMXBw9}xC)Tb`so^(PqH5q zL|)C!7V7v*W2eKuOlM=nsA8-X(oJ0@;#vkBU~IA>iM_nnWR8pRqPpr{Z}5`1tR?57 z;|4I^u;i~4@ZxhI$AvYo30w1i5nGASeTw>RRc5_KKIw=6#_fKb_{dc6MxX!TN3A2 z1u3>)!)4}JUfH&CUr0Sw7O}ZJ(B2Av*`E=UUDwa;7afs@;09; ztCbaN$E3fORHMxajdsIxUS+cG%6}8C7~&>Y=?!Him=~!G*rxM5$KIxLi!7hpn3(x* zud2XS(?0s}zGGfWn{Bp}$#rI0#*_W_+fyYb|E*2i#?kw9!}@%yJJZ?E71A==2v<(Y zc&{|(iD&Ztk>r-#(QW$99pwr@&ayJgzpq&V;g>*yZVm-e|C7rcYA#DS-%=g+UvOHp z--vi($IIqTMt4bjrYToWk(Nros595M`O+pkNCTw!r4MbsE%yQ;ty@F#J5v9S?LnmWdIU*Fq8+aUm~h?wJZp zc*6Jsc|;{I*1YvVt(5WQ*+f!Ur6tCoEnpkwUq@OG?KLtSvXQ1HsLfhw)vVFRcwJ2a z*m!v_=G1}zw<(U zq3^}~wm|1nJ%fw+{+Y+~TgZ)WpWbK>V=~AE%8H8A*Dr2$8Kshzxd_?&5R&A_)w2!? z%{jjTn+gji?(Apc5uZ0}yqyQsdSj3d>mR?UU9G|DzQ;^7Hix|SZ9!orTuMF*M$9Dy zCtwnQ8n=l3p(ajMVVjQ>pJvei$2OHgkwiMDU)=}%x%&B|guwF!0Ed@4l1LAnoS~Bk zeX)`XSu}0Nm~Btqg|}Q7_wJXCWL-Gz@rofP>)MUFwrZOj%Fk|bAgVsb?Q2?&yTw|= zMzRW|Q!CEq{N;j-CbhIAtiwCC-5f~1F<9g9Ls1I;>lo^$8IW2b7p~Jgn$qhwhoK6IF#%x#9hTu{5cM2Q&@swA?n*P`~hI@=P zN3fPTt9*aRsbyy}Kx~~~^Yj*@zY0Mx@+74kMh82aojdST(p0B?45_rIQZU?i zFEMEd|C5Sx4`V%E3H>d0bPwkXU$drIo~Y>;A0!(YPq3d-PsD}uHz^C~6b(l-UiwfeP3jc(e zk$LCWZA(@sMx!*Bkt}5;hgt9g2psa3mS&rlh8xB$jCl{hVas#QbScF!`l7KMd5BN^ zk0gEJ?++H*;9%Lj@VA{HgctwsgpKqO`em(rW6s%vl9z7tDQ=IxS~iPMNNn1#clm^t zkjdE-VcM@iLH178->kq{>;Zf<3j4jK7wNj2)}iwn|_C)jbwc3~^l$ZP}Ib)#e8a2H@iZ+Bw5 zRu2|AkiKHfTbPB~05NmFw%u1O)eD7O?nvl)iIcVWYp!C~jiR~iK7_jWc7Dm5*d6vD z=!I7)d(`?=Wew$ltD-{B=1wc*Dh`?H=2J>G|nOi-g>AFOn7m*U&$zj#V4jbdF z_AwLDkl_DFDqs4lUvl;yyRd<(2zIcTwEr-r7iVs!Qn$uBWtEt<_$&EOs5}OrHCeo? zuk%@jA=pqZaJjCYSTu885fpY7N`CH$>;7}0H6<$$XvML#Bzn2$Qpol6_U)BuvUQ#M zcR`LJzK#8_dvG1#w<6A_FvNZ}>dMnPO$W%yw|j0rL_|{8k(`<)CmWS}S0@1B@25Dh z>&M{a=eLh*_g+0|9^?!7a|fpzddsVE4DjxMpMm`|y+U6iNHNyOl+86diqtRH>7l~E) z-)b5*Q$LbfsFgK@CHTv>4QpF{7&h3-qmFf$6 zp(@dZ7F`?m&b3GhA-xCR>ru%gVc3jYZ&17e*-_4)gasvmtGQIT|AJeU&3Eb4b}2%{R#BOKE|12<3a3p^fA30<^P1q$SZxAj9+i0yNiQXQb`O3f7}6Q{9R z^1`)u?8Sx*zY>doMYcT#4tECV!P$)>TZd&mLV(+^6BYNWY_oMK!!i4e3^G)9yQw04 zv)zByWG{hfj|ZKLp}-2jB9FN(L0l2DI(HS1@SXe7BDY4JM$)A6Se8&EHOHlCt4niJ zV_#-$8Gb~;XLt6?OHipOQOd3bIAN`58jN%{iyB||`;_5nT}G)v8HHQqNr1yTwn9%= zzA3x#vLGB=@HYT3Kt1Ea?2ckTX`p{U?}j#97>p-fQS?8tovej)s_!4S6r0|f6&>F& z=sE}s{9_=UGw-v$oiZ=Y8d$G0@gtxdO~w4#xe}HxW8+6DytN~EvMDs?CfyYsY=HjK z;##}=x|jnGpZ?Z$l7xfWxg7KXC6oBXT+L^8f*nDEb}U+*Y3lPIJQa)lEG`F|y|`V$ zi-WjJExR8%$o)6*^6qMx4BMrL+4SO(JKY;u_-7jnh)lVn(2^TFNANsCWsk^6V>Pa~ zbX6Y^i%^>XvV)|L6PyFqxBk8K-w5hjlG(3yFn1dlw%uGGR$d)FU8U`;D<6Y8XcKT( zk)EyBKwX1*6`h0z#beV3hi9HTBu^Jkrq?Gw5F3%BN&@`x6iVkaCYaQ9bypg78kv5A}D|~`p=1F048UHG@~Y&k3f1|saY*aF!t0Lw^8f9 z&GdVsY=!2RI{&h3XWcpFMq%AnBt~~ekFrh$$HD;Skl*DD%IXeckZoTHrjZn#w|R)a zAktQ?VtuXCu1?Pbz4!r}x!;L$@eotqOv2ToS4chy-CAR^Ub#{_oITbD8!kpI++R}&` z_=S+Msx+DlB;=W*YcOJa>ZL-+|O>S&{dMi`FoN49-JD)NU4xc~g!)G+b z9^%ffuQx4bO#|)M>|`Nv%=X)>VUbiU7}5sH&K-X|`d01Er}EJd57^;oKV$vTp0+qq zsVK1*Vy6JsRk4!x5|8fsG@5Gd_Y}SOeBb@jsO9BrXoVP(j}mCG@;XhgL3NVaXg7raOl$?qF*29e?3cDwkuyIBMu(yJ=@<1(`!j!AxvnG zRzg4j5PE%d9kMDCTc&^LFmiMEeuxzfxCv-D_x;=%GrufNlEpaA%2=IzRk)6v2V+pt zz-YfTl%if$_R(jD0-}#kFdaHk^LNkD9BB`~g3STnHhvoZs-A2tN;Z*MKjR|V{eaNJ zIZxRb>9YCzT8Vf)y_ePBQko#mbtZ|tmKo_iI~GPF|0zS7eVRuEdosZ$n`*i!>kGz(N-#(@`?@8zsi*L)MHS zE+pSNZ;-&Ad6o{vP4eij^bWlDtYXWwYVfp)DRQ>J!E-6&^m>7`_o{X1iS4p(xL2xN z$4X=cx4#G+1K~7D$t|vW8%+0L=DyY}IVDKoccD9^s#UB>?yYQ#675AQL+5pUj zip&Cnn)~EE1jC6VWcJQ6lILpyDYaiKe$o8bpBl%ExdCI%$&lE9b*+T96iDGlP>E#* z$U%O=nb9rq`*pcnl)mkz=@H1ekUrDTY%ZdTBK#*G0+|5gz@ok5XSE~+q0NxS&jNt# zihQ{Sy@N#d>DsdO`yPTi!xqt_CBL>{3vwE3(-RMQQi6!1f{x~1{nobkPvD2A0Do%x z+v;0>hmDl%Uvq6spLw9TQ)V~)S+8m-g&1~df<}MQn!KmmoPK+a18+49Z=Zk#zQZ85 z>KCyZ>-O5LvSW(wL%Z>9lLZAt?n3pAHI80OmG(_y)*iw0a>Jg!@)v(>1Yg-LTKOd} z;QAt2smj<}%)-qGWfoSSzi0^z>oxe)eM>a!cUz5%@V>v1lc*Pju>{>> zGcy6=Xi`=O7V0W4xm6~YsTXWb^sjNbVA|aWH-9~J^?3j(GI`F^#4+BR+?r3WKQ-W)P6^f}xITYZ@nyxEoo3mMQFZe2dfKT-M&g%%=S3~ULdVT(EgmrZT^2Ewnguuz9X zPgAS-9j`In?O@sIu`8_P0G%H$!3Je5wquu?%o1u@)Qr29(okC8r?;uVEFXH9w{;ud zEz2CFD9FSMwgr4Jxb>anjp~2&H~Hgshw0kgVUbFanuPICQ-up6)(`|K8n4{B-#5(i zcBqVZ*iY)%Q3Ds3!NZXYby(lqOXGmFBah#g+`Q9CmMrj}za?ot7M$M0ZyQ4&$TQw4 zrP|ZXCGI#KBPcufB#0h){=?1uT;|JBasZ7P50E%~$?Nv*HIDaDR{nr$lcDWwDFd;+ zD|I$geFO#o$TANk**A#9rdk13_jf3Q>oy-LH{Dp8En5Jcyo;;yI8mF(s+mmm>8IDU z3wN;xuf6d~HFzKf&rM{9MUUbTzXpqu8tD4PY+0cSUDt8C3L*YCGKcu!GV=V^W>}eBv9G@B zV_Vymj9Fg2&~e2NtG=xslJg5@#<<>(+lLLEL7sQb6Kb6$q_;sOo4F_I%2gS$0*B|P zEXjZO=t)TuXfX&ZmuWq6g=3}IkYmle%ef1*p$9jju3`HM z@+eorLN#lSk9&VS5!-%_a$uw-p4kvSH?~#Qo(-E>ajei|FRabn)|6h?B#aDR3--^L zzMJS#yF~H;$V#aOeqJBRv#3zO)30E9T9fY`m5tD`ZBz_wX?&M$JU%q=K^3PS(+3;9 zQDnw*HvC4^rA(+Xoq8}t%ZGe}>*aEO-sZ%4 z=^EH~{dX9TLHC%lotahcX40cNQ!%zs)%;^#n+#(kv;1EaeCa9CyS!)VrG;i>Qv4Ev z_ru5|*MSD&wiSM%*(c!XZzlfcsCaa{0=xFDuwZ9w z`hr^`7%jOJ<52Q>j|NL{$WhE7pV?i~CvOGIYXo~LTc5$5=jQ8b(wmeaocM@xsmHv` zGl=OKN&Ym4^V_|yhr+9>GbEbmZ0(4DB84EW1a^NVf^v)Sk7=_f)(PPx*RA;f z=AQu*j3ulp%dRK>ZFSTmxXM7-#gm4SR`3>^r)(dR;cS=pW?l}D!u^e@0)HQJG+j3m z60FC(vI=65~^YCzC;4_||_BHT5uh-dL8I)~7L4jT>KU2^?BGR&=Nrb6F zy_QL57k!~!OKOTJJ?dJK%MN+Pg!3(=*c}!pyZP1R!wNCOenKUq*f3lCps3= z&}nz6;TLf9k{b!M;UI8hxShdO59ZB>tUhcAh7~z2J%hESc9sF^gHawW+hlsic78vd zYBzzY-AEvATMLl$dgBh5V3TXhX&OB%fxoT4B8!H~nzJYCH`@WRoy~dOxh>8gb^?u% zakTu)IvMq&ET6aylUnR94)6Agk9t|#{uor^QB+rh7uQks^Z4C%+chR&$;5{cZE@AV zM=%oNuPgC)b*XS-vlYk|vS9Ylv-W0obfh2=vo53+HR0Occ+WR(*Ovq?IoWF}`!Fkc zN(^>UV#DNnE?TKIw9b*~XX(7hvb5?iVUnq34@JDWV zh&0(?1kXxyjT=qBA0~JTWpoP#|L-!3?##j(7@SgCQZlf>d%a#0*Ehl zc~!IIT=zh#j^*pZ~aWfwYbUUu0;9TsbJ(uCDQTN#{bHmOc+Uo zw-Z3HOZ6!K%Rm5R*`WCpC1oV=kld_pK#8ndOg+rFuND5!R4rM_8mmdrV<8Q0h!5-z6`5`6DM+eRrMI_Q||!!k!C z$E_#Ihcc%a;x=`cc}oGYa55h}3=P@X9f>y^H(5)=yWA@Q3V6l5ApTh z-*?3m1`UJtwoe8kkfb(a>J(Z8kQq&Fcb?Go^{-90d**LLtzkiGr#^Y_5Lay0qLTE@ z+6_l4pbdI^sEMb#pDuMOYAOfTjWiD@ifFPcP(yEGmsVZ!FbG`S8=~fNTGr!FX4gCve~fwIpIx&lyI#+`k>JMphc1USh_-?o?aHq+vrsj=%rI_0xmWfMvtAXFl@ zn5_-y2PWRpqUH)ps~750+gsiBhD+n*H7kEe zJzB+_y69WkbcOscg5uDoib_=|^<7L_W1FcC9DJrE_Hn^)=oFh5+%HEGGi(0+&88`ZU3;*@Aup(6M)2t`Hk z8}Xk5ted9mhBpKGbTj;FX4B+m`yZB6nU7hP@O&VwT!+XU|*WmsMklWQDA;(goMGSFic6cAesT zpHPwR3$kxr9wKughtlrTzy|w&8|=M8Fk)^{Kuj{hAuyi<-&+l2`{5yPRuwz6G%kUICg*RJ)QW7=e)6TEHRIpRJwCF+ zby)5B9G~&u`r&kP0g;}BmzHeMn71Ci1QfUgnak=e-Di$o#2pC%JG`3bgX~Yo0VCpG zDR>J$@*OCSwd6-|(pldRkb{%MJ8Gjgq3ntR2er3LHY0H`x$tJzWXpQYXnD!Qan^vL z=r?B{5vlT73sOf$f?Iz35_=#KGUOS!n^F#E$9`?SyENP9l=s2FBX8+(g~b8HNlbR9 z4(o6@*;UNkqyFwm8EG9lQ+NG6Ho++X%1OStx;fZ} zn#os$&e`_P9m%&@9IMZBHO$K&2`am4U>^(oU* z@>j5$^#^_y&6%&H3At@^YnkOS&&o8blujqf!&L;TL$sepl`?9FGP=&{R^wRDW-?W4 z$|C`l&U~pc!i&Q6uqQto)I6jaya#D>SCNI?kB89qP_$#5{VFjD#kO;(EN#E`t}$XN zS;)JT_FSS8$QW({rcXiDlGkwT*!+ZI_Of>lVde}kG|n3QH&_o8 zATH&I+#L|=ue)q?Dq`~xr{ylUWi(jFs@}gt4PbI|qkzQw8madF(v*@)>H5Kg1_US7 z3VM>YaF2~jsL5KL8P8S3L8^M@BDBhHIbBIuHVD>m1xO!;J)Dr2m!+tz^?YT|qjdA+ zz>757FFuq?R3%^C*Vv96-Tk-A-p1=IC25pLy*Kslcl0(0(Q+ny-|*{c#Pv#d%qA&dLoRwy`q+tgS752HwRM zDwq3*!AEkvxzl78+V$p!7NS}>UeW*Qgvgk~4oAk<{e*!njeKofHhCqt721-rMCsag4YSrT8 z=Ya6GNC8_7d0Idh_5E?P5qB<0-`x&mv1kB|d!t*0B@Vd=VUn)ca{D39-zT_`hPhXC z*D6n#J(W%r!LDuEnyvUiNQUBq0)S%?85b$yG-+tVyq2WdU7?=zj~wO)k2kf5U)q?{ zB1)5i-Bx-Er~~%P#~4hL~2({*(ICE@f* z=qWup8p*IB{d@Bm-*LAou~oWK|1H$@rN8HP7B49>g^+W6Si(o4S3kAL5ufD{v;>&# zt^Rc5S>Q|6{XE)ueGY)Qc|HeeNUl{OKdPrvAP^`vKyZFZhQ3Q2JZqp2%XenpNOgA{ z%Hws95rS-^_CG3L32cNlr>O?~ivWFH%ApXfBYeEcpl+#f>aY_|bc=;*6>(+jF-3 z_a3(q#0eILGw`A}SH>G>rkKOo7n{-_gh{s97Rw=>y%iKv9c_5E18M$VZ12hQe%WnF zciTWE*S)ahsS2CW0F)2!nCc z3BxMRvt$!0#Xa@N)>#HCsn_ezQR`EYU{vCEpmn)5)vQFxW^uL-*DmV``ud_LJ^rWycJ_N(<7$cys~V1We} zyUvgsH0bI>`MgD~AGvFe-H&E{?hZHXDq2m-Ce%@BX$z3Wi;{_L$2AQ+KBIkH_hu_R zQL*-xy0~f3k!-wrJiwHiBaeHhmEkd-;@Owu<0g~BK6yTAHusIA|CcU|@7Njcm4)k8 zaF&`W`?2(oAgi^lq=8>BxNe-~26OXwdoVAI4ud{Mj94i;>=?Q1*t^v!H_Q5uGzqH`bE7@HY|40>kWjSfj2K(Z)9|O)+t-mx0uxW!eLtxG?qg4KAAMye+ZJ%% z11-1`z9lq-k?#(mjNv+;RdLEU+w}SL!mZ0LCL@0$7#^e(UNXpTL7r}-%snYs1$%f# znYh>y6g5EONF^A)HG+ARo1k4^HSU=t+1Aak~XEAIEVf z?VQkh^({w=H+XKXWN>%zuOZx0VYBzM8;p??Edbx<$!E3PCy^!%1XnC4D`)}dM|h`&rTULL1`ZFKLtOWNrW&U-arm)<*;mtX7Ra{wQ$ydltcq| zNIUmuF*qcs$QKtZcEnolEBggjeOvs{Ho=wA*y_m%cPLwzO@<&T7Z}k{bTezuhuK}Xx7(2p^QVkN>3Sa zxdu7Ac7z!^N->oS!aaTPz9FUAXgc?#VIo zzqkj;kMir05$!3Xw&YKS>(fAp^XHyQ#*9B4PLK3y6Na@#0g#+WKP4r3a!G8~w>L%e zw(TD(Cx%n=Gf}`;T^-ZPABdo00Y1H#SmHoDQ9Z2>9C-lzS)U%_Fo0)O{OzfoFVNT2 z*U`pZzE@qNmx4uX{hETQ&Imz~Pqqsn1#7cD55UuQ%I@3ZUOvpnSrOmmP;8m{@r$JO zi>?1M!&X!l)qVBUm1zrh`1E|vhy0$#U0BBMXf={6y_Rs>gIXP4RcO;u$PcwNRvFFL z`!h=e)j6TZb~@G#84DsPeLO4I;HqswA3Y`|oNJc`+VS`h@vMhwoN9PNcsL#1R?o4n zpEjTOyQ1a=42fE3mI*9211P~?hHT9CV!8!C>ZvOL^a$#-V&<-QC*`+%f(i%aN^hD= z;qy;FXO84e29{B=*wY37#|`tQ%zXHAX+E3s3PA>1_n~hG?5|V3r&;o5UD5PX_{0Nz4Y00`R+3h<}(fDumXzt;gqnJY@E<(froqON<5$G)~CYJzp?ya`Ob~- zUDZHJox5?z>{Kr;)-vjdF(NqqEbFYh3uV}2&8GC*z}fq2t-oEg=ndxD>1I^t3(rdN z+gEn87sCNlrD3{pN~qyP-TsGPt%~kFf}XKe!wNNZw4{JGiqE9Yo*AF^uW83$Ixx|7 z7KNmLU@Q*pl?J+t)VG&|KqWWELL}%I2;n?v-EnNi<(oJ*z@W@KOux7;MQ)6fY%l*$ zLGiA3U z&{lCa1MOi@i?11MBkfsYKfR};_Ne8G)XG>ydO?cMM|-i+@%9-$xu3n-^E$$T@36JK?M^UUXir&^wg&RX-@Uz`qVTlM+;u^_z;lw*s6 zyra21^sZY_iqb)06cow{uSLgbwlo||ne`b}+wzRvJKnd2!+-rxM6?bEr_UdU)4;bi zmS;Ywu1IwwXl@Rf;aFIQXYG05kjjZ(5?SP7m8~uHOOu z=g_6fSPH_w5K3yv=V4Sw8bt4Ic~hZ`VwukT1n0rwur5)}*1V;p#IFfdcfr~>r3fn4 z>uZ<}uK439sx%(v^@LlUF6km z$D%HW*6po162VrNaC;=d+K5j`=X2`Tjl}G%w~kX1lES35sxC>ZuervZj;h{;o=G*v zNiWkh)YTw!DO_U}+a4X(T?Z?gQko?xt})g7{W~h<3=>|XSsQZ2 zYHBG7qG#%k`0R1Mb@|Pe*gEUR?B0n+LhE3qv z1JdEWgyPVwbuIIL}RH-+Q)4w!+YoAqEzH` zz2TzFn8qh?nN%R6IGbQ<5b+Og(mW=E5)A+i+)ivZeBGvXk1X@kvOtLmmpI$bTYj47oz-mijHD zA4Sk|`*SG;doPJ2nMtS@3N`QYOPT?tPu4GAboMP*(mWpd-V}key(-n%LK<1G`!jmt z1V0B2P~eMt&xW6Ci$GofMi_(zk7w>ZBAj_v77F^Y<|7_Zf$1$BuKR?u4^y^XuD)qf zAZD)--Q4K(K`VabiOqkP;KnuLN&lKmmQ6!TpG1U>U=ApP3ud3iI_$3H!!Or}XPYV4 zX5Z}_oNs2r*JqnI4kk8AI2XeLuYw=$)3i8Nc5}?-W{=-vU)_|_#F-q_^3r!ME@Z18 ztsV1JWl&}9=VjEDQ1vt=Axt9sBiVXl^5`e^j~Q(r2Al3>BoMuil!@0+0ztA)+!?LF zfBgb;6J@ci{k@S=hT3`uS~`?UjTDz#m~CGUZfupxSR{NQ!@2G^ z`Tb5~g$3J-!`7;&UndeWFuSe6%I&Vvj_W2w#Xi>8+`ARE%0j;)f3bsr7vc&V-Y%L+ zo!Cx!+53fbEhnHBC7RVq6*3|%JVrR=^D0cnxW@`62lCN7(G7K@fA`;9DdHh%72g-a zJp8qxBb6c@ClUIYy$O1p6M>Qu?H7W#_CHG)TQ4=9gDC2qv-Z7g<@0m3M~C;mXvXbG zDSu4&%e3DqNg2*g^1HzZEij;fx#-;Y%TW0w{O;5U?X!%2~>#>nSPMPS`I;G5qTQhWD{ujsa$>VS*%Q$!&hg+?p(K{J82 zy;PTzQ3>xr?Cb=+;%LIo3Wx*`tfg9uW*-+r{|(T%3;GfZaa< z{iG|OvLNrRbrV-#tqiBUh9cxQ&Z@oxVr+T=J2SZxhO}v@UfmL==bc@fT;xWDpgcx= zQ`{z?!7;>@G^b@CMez+02;3$->o(iosnTY;dqO_mA4H-9f9)(7Ra}pC8Cw!IxVa%5 z12BFKm^ZPw>82Pc&1OY*v)Uh>vY&>5mK9OprJBw!E;nvV)DbB@ktT+jNeL_N62I?a z8jwedk=LvhEk2F`wL_9%b;APZJGKJS-_poSq-Sex#Mg;=34+;N49b0HNd+VG&!A&j zMzC$OTWC+zQqFz)n}+2<6+V?9S=nMJ+0@nvBZ2rDk^2iJ!Wz8$Sg%yWxKR`TWqPyu zN$>U`_2_eCNPtxJ!hN)1|82o6ie%khQfmvIi#IcB3?tmA;g*T zZUb-Ek~$9i&CSktJ3A>Y6pV^3pBZ^`hooyLn0TT{;@o=u+Z6j^V#j~xSk%5ML9hAj zF68F=A&N{f^Z9k5bYlp>MCx~h%pb+b^Q0#?mZlTDqIJ%zX@Il3bz(=7&wgLNk4D8I znX075*0L8frZE{t^G|0p{{T`-r@aD z0xL*gZrwsEDEC3T2)8XdOfAG3<-plgJnb8yl5g!zE$I8k@`#$7y^&V_pAcU6U-nw_ z=49rRzp4Cl5|GJ#4s%kn|6LYazB6u@N(dDN9Qoz6lJ9CG?bf59X%j3okj4Xswf-lF z!1yP`5 z9go2{RZX?<4J?(F%M~<RjBbzTf z3maVq-`Mc3B3iyypv5mL#3o!_x)q&cxOrfg_ z)7q97ZB0DpiNxrPdGAh!PCsURb8FEGPmeYDQ7WAhQU-BdX3yi+Q;uAcjq3|Su-!-g?sib<_FQ`0tou-mp#pq0#Fc5=w&tH4 z7AooF$#*@g*ZZ6pQm{ZYY|=NSzUtVBbkfM7hy>8lMv&~SD{tn1`0tl zp1Wv%qfc6(hOTz|+TY0`C_kLe`_Gy2izv>rUq6HeEB=RL*R8~v&uQl{2q1stp1#so z4i!6@$Bx)p1dLevM7?u(S{92z@Tk1S%HWwG3~x3I*k79}T^Zqjs_W%$)&}h4uy_Hh zcMTs=dm0w6p17TX`)EpD&o1LOyK`SdGkW#a;Cnn3hBZ1(-s3E{|4yIEmocc8kjrSb z8T)rJ4j!xqWK6s8KV|>7vvIJ8Mitd&++DbcuGp->8QE;y-+ekklJwKe-oKG=-No|6 zeX{QRX|t|dwc7wtc?|yt-%ZZ`>y>uP&6f8u=x`pJO#&c4t)6s;>lk9V&3ALyX@=UJ zVG9ee@J;94WmPx*0VU;D1BhPpX|?5De$t)xDbgT4nmekWRgXoYSCuvaa&_~{s*V8U zMvk{$j$rj7F9xeWxBXp@Y^~sCIGmVn6FkE2zI8-xj;SBnmEEF;J2 z^YKx8ZfhbiFIaBV2jlH5PsA$kQ#!ZV7WJB|fqzS^g>ci&`NCBv!X*;oQy9mC0FGk9 z*;A?k#P5K}^;Vl|4Ws7q0*BAniPMCZRfKigt0usY)Af+6$0osd%u6ho{~e>2Z-I*3 zUWX8x`h(u14=P`83Y4RC)NOY#`MA&#Y^?EYwGwwIa_VLqEKq_)|1+^?=LZMhXHHU$ z@=o9RcpL%Y%P)(GX*q~3q;SUzR;A*q&vm*O1Wa9kr=%92Z9D76oWT0J^J8_a=2h?o zuV&WGg2Fgd(tEiQb31O3s_a$n`wTf5n8xwP05B0q5OR;AuLLN6F4oSALvLg^ww_L- ztyi8*5q8>~xr~?SU9cL@3fk8v1&*xQWP%jOQc@jS6&{eL5=QsH?T8g{Zk!pSts1l z*VHl;Mi2Wg5SHMb(s(|d6ngX%tU+-^WY4Rw&>*3z5KY3!v*+7trha9vxTp9VU$

3b7n?`2+kus=EE#0pXbbsfY`**EMaEQZW2+BdDHt{kNG@;t=w*tM*2cwYTu>O z<8~7`i)2@SWiyg4GBbSU(5mWZ$tTk@T%M71LJtX#pybua-2j;}%#!l`oY#+7do-)j zEMaEQ4xkpHJi^c503wdYoSBj4+gh2CbRNN0Za1SbZ+gG$F`q}UmD_F7NI5l? zuV3VPMUUG};LM?2y{OGXyU5J&*b{LI0Gb7EnwG#7r1Y5ZsM`Ip)zw5D?N3fOK&1lSd{fLP9Ji;?$m?h~RIF+wo zB(JIOgXv_m*Ug6q4kMKAL5OFl-5v>AZGmr3S4zr{jb7n>i9`hz` z)fmB6Znud@&+JqA`bF}J9=Dso8G^g-acs8fMP`Q23O&q{^qrT@Ha+nxK&(l4%q6eN zS;EYqU5&<^nGtJ`<~)L}+zz8LXJ%B0`8>j7KFpGG1eqBDF^{7$XJ*iDMq}Ree%E6@ zk6|i{uqOZa0CmLU-Q}+6?21%nY9iJk8g)a%GS#N#CW~4C51eNO%N= zC_nWvGiX<%G3WIo)*j7y1Y5ZsMkC0~s1TcZgrBtmL>!GdGb4SszcR!4Jc6yqkV)=MkP6!z@XCqSN%0+|2{&t=iu2awhQZduN+fevz5sv%m96O|m3?M{l#rPnbU> zJc2@$pZb^?w5!pW^ZF5MkLEmrt=tZyF=u9^@Ag+>K9684x8rEcWAAr8PV)%1a=S?y z<(M-wV(^&HBiPFAHff|WoT+^MBG)T=+-?GAfA8jJu$2TBnHfIgKcCbjOVYd_wvxbv z`9s1ZD8$I!0GTn&lJfnW*N-%#!%EDn(JWzR&<>+94~Th%^Kl;GaSkBjXv`y81;l(F z;Sn5WNjc_C?{_`s&1jY|GibMoNMp`Z`T9lj%73dxE;WHO{&(}q*y<6B%nV=Uflq3Z zC25`_TRmdJ{2}2n7owac%naJqXv~=zvG!=rBiPFAFdB1aMuphSBRuBAEGfsFnGq11 zI2!ZVYvqw`Mq|#*h=}<-!ZTx-C8x_@pLT zlIB&j6+9}*rxA<9pE%naJqXv}&2h_y#^9>G>_htUW!Gb%)L9^r8wW=Z)xXO;xS zCXQwaGlO=Mh;q!E-tT(M=Mik>cAGR(P2W_$ev#`HJ#IIFD|>YF_1P*hi_8pP&84dP zS(4^~v{hmz^pNlfN?w(p0GJuHtI?SA`jL9*S5}FcN3fOKVKjowj0&-tNB9{WK*Z6Q zGc!W)*vuo?%I#(}=1uQ+J?8TWwsN~o8mR_(Dqp`yUeV)r6S$g7H@~Q@47AA1@D+Uc zq$XLC=B>4rfhNo!5*|SzM(zg4jA53P&vRZsV(rnaMze&OK|74boS9J}HuDIN^Ds-w z=Xvb?uE!>hW=X`=fOaz)b6!6pVm^=X%ot`#`eveA8A$TVTeZF47$c$l@l<()fe#F|NS&e21GlO;*jUY3lLTu&{e%1yMaWv-4jDYie z9^ny;Aezyb^ZF4H^Ld14#xP5;ZXZ_qt14e#kI!8abFAC9j@dxMBPc{U=8QA#YBYk3 zbF4i!^9Z(bJB&t#H$RB>Y&BkgE>~wsN}~J-R&aV(rIm9>G>_htXrj7*sgA^9VmbhVj69kXS*os(jr> z-sk05VLixoeoSIb!uLan@-qXE4{bSC<-B6P%6E`ulScExrZcNgGB$X#%-r9`%zxkQoaCO*<0A6k?w=G?$SD6A7?rE8cfSrQ?E@L zSkG&-ue;Rt2w&$*2>GJXdOt|8mD^1suB}~uASFw5`FS_e<8}*ZOCPuD=m($tPadbk?=ewA=j%Oam^L2ts(40GkSCxgBF=TAaHb>UaNjQ z%14(mXmE66KOQ)`i~;SCh;$#cRb1Ec`1p#h%gC5E5m+5~vmcW-knsHw0-1PLqhV31Y5Z+ z`;qR0wXN@5{@rElxoAA_%Cn|le)G;pKk&-iH$Lx_YuXdH-8ZfFo#v2Pv19$Nhh1Y= z(W+0-Qzqmpnl-kF1_`&*JVi-w-_OhH*_CT_1U+R!G_F4X%;}k@U$y1x^Z(TChy9k* zY3ggRWKXmD(+aBE`oR0NBed_1!hfgyNBV@1W zDHEdc`gNyIUvb(QOGCoxG`HdZxwd`RlT5>iwGWtVqNhxV##;~GFs*O6VClurc}S0N zI?bnl_%GUH4l)fR(%-f8lnK!|_1C9NAAQwq>7~CurAIiO^6D4Yw^!_B8b<7T$%EI@ zQzk@Xud|;!z1LT-UfTVB2lfc3WBsjP{C9iuFZaoLWyJfx_2sqnlnK$;^~PsT|LXDE zOuu#9tVcK<>+28wb$jI3Ov8xtFZtLeddh@o{N=I7O)oir=jo?T`%sT?I@Y(eH?_~b z*fc<_rKe1Y#x3VQYI^COdrcQlepiohI@XuI<+tsw?=TG~c3VqNnGlU@zjf5~E8jbC zdc%iy>Jd)I`mG4!U8(T6)TaXuSFnyG%cM z@e`*HeZdJm!s%EqZGVT^|31t#jCl1U-m#IMG9el-e9(5&T|fNv=?fopPLFUp)^EP~ zj7HE#JLv4GFhn{Xc%U-R!Y&Hn6;ra^+9G9emIJ@cZacWim-^r>g=zmbI7v3}=) zJIwC;yZh#A2?=`2glHUg%Q;KaUH)!**e%;_B;j_fH$8pF*+2c#G@LkRBRyq8G)_M6 z5lfdJ{HkgC+asKg^)_$2%j~m1GYuo;jzdqG5RL0jx^2s=c06-BB%F@**RR-l7Opl8 z67-Y_(Rlcmj^DEXN6+dsNVpyABkp#O*;AKIg9JTgLNv~O`}s#*ezR(ja68t=AGho5 z))fsB^ppwFxZ=#u9(`M-8YJ9~^%LH{`|N<9*nW_pr%ZIm>el-%-1MbacgKo^+o`AM zYxkNhUuzl<2SHDn=#JG-Ua;`@k9lRMLBj2{*6%idF}vrDrg3g2&i%>HKSocP5RK;_ z_wI%JpMTo)`N!?Pk%Zf^zW9Lq%>L~*(=b9Zk)ARk8n555dEv(&d`Y(-B;1bmM<2fT z?1y)@Yl#uB->_~YJ!L{P_TBW|g~z<=`P2P2J-tUb9qTimu+Qvq_c9G5WIyOB6Qc3s zFZ_Pt6%RhK+Yb_M$ND{w+;>(zz%-0Vf7j4cCPd=}U*EC*{a62Ln*OdO;dUCwx&NBk z@`7nNaqb#=%7kbf`=&kX|2Xck(?`DP{XN3zSTEkZcJ`l7F%2WGd*aD!=_wPU@x`+a zsGsqjdb+7Tvqv}`>m4^8F#EzOrU7CTJ!L{PcKg6X>cd}n==5$kzrIH}9qUIO^?=zM zUuPOdNX+Re6Qc3jD~_p;+HFl2a}sXH`h}l4aJIuoOv8x(dBwl1p{GoU#_2n(uTTB& z-KVGT@Us5Bf-ta5~m^2?xzK z{lGMgkYhzpnGlUXKk;wszxd9L-Fp-Xx6^g^$p_C)|D$Ob@#iQ0*BW}tglOD;;>mUU zvTrWke&V$~!s%GwT0eMp@_pp$Ioakn2N+>Z4Rwm)R{k z=qVGTam@E$Uccra&+9ZuxE<@;E;?kk{j*Jj1U+R!G(P&sGwPj>d0MAI!tGeUexE~U z&wQO}kf5hbh{iWJyrzEt9y@m$B-~ExO>8)Hw(mcf1_^q~glM$SJgffPE6(2{5hUSu zn#1%1ht3ZEnrV=rr%Z@O>d>y`_tU>f!fn+!?ncu9QAsQFlnLyIRHSqoB-GYpb<%Fy zAGEUP9UV+47aW` z4I^aF|=yH$*8T*aG!XQ zX&90Ic28vHDHEcRpZe-YzG=@MAx~sV>$B*EuQd%4@@#0HG9eoI>9v;UT@r5VGxgc; zGz}8+jBB1UAsYE9ytb!sBb?TEgCjPXh7l5Tc~&=1nGlWqHqphLgxmU#v++{XFv8wg z%u^;rBfk~Z_Euzsys@aQ?`m7VU>YFS$h(ty%7kd-x4SyM5B3PB^_}xYUo#COH;F%1&ZXJwu;AsV??t z!g}t^Qzk?s_YT(SZ`apng!J60t$miy`if~dp*@i1DHEcRdpT?A7nNQ|Biz=$*Vk+@ z4HD89YMwG78o9T&mi}E5ZfhU%k)JdT64Iw@o-!dCx!1YA<-6MJY=qO=7yhvinT8YE zvu&O-AsV^&yiR|+-g6_QXIpLU)4%FXrs0J4(3_`Bh(;a-sBIL$2eE?L4;qR?{$IWu!WL%7kd-(eQ)txwDl^o_N6QZ&Am1otnRKxPY$6dJi>^C1eQ=$pznMf7Cht9MT zQ0ioEx?R_ZOGH`=!aXF=can&#u|+h7g!c8sAlh1YA{w7bJw=~MJw>8H4}VwsHMBP> zCgMNOKeOJDYFKPP?6=tJ5l=jHrZp_0@x|2R^^VlzB^vaQKwnlOeze`I>s!8hs1S=J z*lK#+Av3LE5si1Jp1bW*&z)${LqhsBw0BVU`au9!SxkhlKQNXfLN|oPF?y`iNA+A{r#v>XM5dJkuH$(Rf(uNxeDsq>2VTB&1(M zduv7GIln%ou2T(*Xpms5%m4l0nbxp~#!ab5_|nuPEE@EXKwobn?s4{W>zz^!i)fHw ztN;D)2hFsGMKo?d;cx1lQ_r?&&_e=!)`{5R#%I<~NHr{?L4vKCk3VRpH7ug>fz(5P zRqCM^4SGnR?>!L@Irg~v6RCzpG)S=39?yQ@Olw#~<0WaN;RR`=K{V(gfiZ+c{P($! zs{bj~u!sf;w))&39x&4y7ST98jhGyoModJ59um^8p`$V}5kLCYQFWVYSVV&aTdjZj z{byRkA{slTk)H$8$d72yLjq$uiMZ{6gXr1Y6yC{rz$ci)eg1 zjf}o9jf{#0JtU-GLq}g_KYsDu>lWUhYFI>r1X~^bxclZB7SXs@8sS|?BfO$P4+)Ij zCgP0`{OZDvsfI-~NU+tm>-NeuETVB%8mYcAjZ}*UJtQy&orv{kUbOJ{sfI-~NU+s5 zyWcz4u!zQqX~g~BX~bPL=piBf8ak>k$LfK%oU`zmRKp?~B-rYPpYM@tSVSYHI)F1$ z<$!3=LqhsBv^qgFPCV}s3)57?A{r#v>YbmuXRcupjfbXshM%Ph2+^R2g!F4@m4#^h z@TA+0eo3lf5e*V-^`#BFMbBv3Px zh_vTh@}4h}V5>)7eAj$*MI#;EE&1q9=piBf8d`-U`;j8Jlq0xEf~}5!`A#`YL?dO% zQqGbIJtR=Wl!%mxOF0u4NwC$Uj`{PP?V^#geJN-AgdP&8#geT$?%hlIj9MhYRzJJf zopTL~Xr!}tDWA0ydPqpWhE})9u}W8lrF>;rB*9iU{^`$h4U1@`tItxt`b_8{f!er4 zq$}J~zQQe%V5`6Q&9?a}DjMl3x|FY?6M9IX#xD`+O1+e?)Qcq8>Q8^TL#|;FjdVAd z=DWd!9ulZkOhmflO!FOQkpx@qd9Q8qT}?F7U2U50Y7=@$NWX?wf5t?lJLfdtITuN= z)#msAsnr@5(MWgaX}&v8=pljH(L|&tfN6dLSR}z#yRQ2~t2Hd5k)AT9`6**U4++%3 zCL%q_O!Je>A_=zoz+G->^=U~o($ms3KP^q@A%R-nM5HIOX?`MGB*9k4?|pNtH7uf$ zp8BTwsc%9L3DhJfB0X77^ONNw3AXyPm)+QE4U1@`r`KtIdY#Zi0=3nNNKeSq{Dizn zg01eh{jXZBVG)h=6h6&Q;S+jDphi3q=}CW@pY#_=u+@22|FYE@7STv=6Vv=QF`( zFOp!ZJ&*Z$t2Hd5k>0ka`E7eb4+(q=l8E$1Kh1CSizL|UgbUKQGF=UeXrx|)Y3?>v?L<+OiXjn#3Bi{y8Q9iwA!yB8maeVntE8ez6^Ru;M<%;q#l-O>Q;*K>_dXB z&sjaI6NMm`5S z4SGnR|1uHzJnu9}u$7$uTB#x$`C8Ix&_e?Ku!+dmt4@OiTgi1yYfVHWUlThGdPtx@ zIT87~+i8$sE4dzPrHW|eYkMs*r-uak#S@Y5A3}83cKa>1lKYC*nutceM|B$XkU;-_ zBJzE((;&fCa(~oX6Vb@`+D?NW5*VjQM82PQ8YI|C?(?|_oz;T1Y61bl~$^V zMt)c8H0U9LaqdLq_rXqs1Y5~_qE@PiMt%<{*q3E1Y1czidL$KM(&g8H0U9LdKTR(>G$b0NU)Xk2Wh2>Xym@7PJ>HzXq00dyK9 z*h=aHv{FSha;-t9K@SOhr;&(U&(LX*U@NI}&{`AG$Tbt420bM3y-6Z+T}Ic>K!UAU zcd}CZ(e*RXLxQy?={~6Quyo%Qp~r)BuLShAq^cJZ^f+CCsM3Dej3-j>L&EJUpx4N& zce+_s=qVGTVKbgwzuj#cNw{4F^nN7`BV?=SDHEb$GoB0yr>lToyre;bo-!dCxngTc zG)TBz1@uNH4I|Rujr5cW(Xbg$Qsr5XaJmZURZSWs=qVGTVKbhjzZ*%oT?OwMM>t&tjGiP767-Y_(Xbg$M1zFeX~nUXIZ~v8 z&WP>qfAJc6%7kdxj3+O@;3GZ4=_+6}D`|k(NKcs%4bFH%!tE+xR4!>4A$v|wnGg+| z@nlFiT?LFTCJhqwlnK$W8BaumgxgiXC~49lK~I?w4V&>qG)TCeR;%z)q(Oq7G9enA@q~oiRX`O%(jY-knGg-m zctXPMDxex7X^^0&Oo#?&JR#wB6;RcYG)T}>CPafXo{(_63aCy=8YJi`6QaQxPe{03 z1ytE24HEQ}iSAfo#uE~5r+IR{3Q3L?2ztsycdUwYr1a)q38;FKW94(C>_?C5RUkye zW;~H^;z+n%1ypY(4I|`?qNhxVhRt{~B%H1Ss?d^#5$S8dHT0AT(Xbg$(iew4!s#lY znl5P=AzMXHnGlWqdiMyYtAHxzq~XN+P4tur z(Xbg$(%&B8bQMsIoivP)J*THkh=$F0G9;W%*WHylQsg<21U+R!G&ti43Ad|&>iDEV zf}S!V8l3Tjgxgg>m4DJ8K~I?w4bFH%!tE;HYlWmif}S!V8l3TjgxgiXR~Jcx1U+R! zG&ti43Ad|&uSb#w33|$eXmG|85^h)Bw>kN{nWRAi-^Xya77(J5N=v$LYg6ua^Ox9f zIjtHtmr0MP(D%aGS~?9SupfgtQhIZ*bjM2TOXU2>`!Sd!WsE>Px;Z)I_}Fi`tufas z645Bnk;1uGNQee!Jdvo`Z@I0xtMw(KK|*rLJY_;OIO7QkxAh#<`V!F~A?Jj7%7kce z#uE~5>$ODdOGJZ&oZIFp6QW@=o=9Gia9gj5HkV1CkZY8A%7kce#uE~5>$P2LLS#Qk z$hFoyWkNLa-9XL}%#qTYd!@Ta*<2=0*d50_uBUf3{eRK$8Bg@CW`x{vtd-p1Y%UWL zdgnAxnGg+|@x<=VM)>dQGlSNb$gwg)_FV4a<|z}RVKbf#38(eh$L2C|!k%QzQzk^i zXFU0M_v~YYJjtl7&u})Ei4(F_@=Rr(G9el^M#xslGp>2cglKTa6B2IgyMfl1hz1FHRyR+X5DlC0M7D~A+xm`U zbD8uBdFL=snGg+|@kBI8xUKJMT3;gjK|&dCG)n zaK;l7ZtJ_V)|ZF|35@-BGlb?jS-Q9FJaB&2V_JY}LgR>e6|dULOIeKJ~K(j6-h(nn$**VA5{Ja>v5tKu9fy}4Jq zz9p?M>5df$>FY6%>uGOPo;xLJaK;l7ZfhTz)|ZF|3F)&kPnnQoWiy_n^P`)2*a)Y! zug~T(apL6jzL+`=e3p|kAsU$RWDNlG9el^3nyDr1C=SfM8jr0N#ldv*qsqF5~sF~LE2m?G*6ij z4a|7bBVxN@Ju+ZWArwci4&3~GG=a`G9enA@q~oiT5F*7 zC2~z9A!GmMDHEb$GoHv+k#JjUCTuPfC#(X(JY_;OY>pI}@kFW~jBr~kIr5h;X+MmR zt&&;{^OOnEuyuZhgwrXnR@V8EV?~0VG69W24GVua3@TE}H7sL9@MG0!unNWPfEpGY z-Hu>QNtqB0R-}+{JD`R|G)PFC^9n%N5)z`piWCxV2h^~Lh7oUAcgq^d*SrD{wuFRe zcty%hJ;LdL8WzzoLb8N4C1pZ1tRiJdI2};KA{r!EQ&J{G!zxllgM`}wH7ufGgj^F@ zQ&J{G!z)sr*(00|s9_Ne5U5CDH4O>T@QReM%PRn3OGt=@RixOR z(+ICf38-Na4JRJ8QSPsK1t4q*3DK~Ml=QbpI2};KA{r!EQ&J{G!z)q_-bljjfEpIj z0D+1WR@0CW4X;Sqr$=~2NiWCxV2h^~L1_{=blnK#bMG6VG18P`A zgM{=a7SSLf{jGTgAZ!T<(O^Xi3AY1kSVV(_^c&|D zfUqSbM1vJ6B-{?DVG#`@e*A?qHcJ0@UI7SOLP9jGBIN~NKetCX9ZB!tH<>7SSNVnvyah8mvem;dVd`i)fHw z6-t>94OXO(a61etQb@20rA&xM8Wt?nu&_2pHM}AP1Zr5u2<%5!k>XV^O6c$EvC6CY z_?~x!Y`b}!CLtQENFm|2#$4-8ssSM}Fi)8f4OXO(a9cAmujVr#B$v!nCPaf3DJ0z1 zGb*pB z!fm~_Yo&^4kdSMwdCG)nlxtX68>9Cqt2OBpa?dc2>yZ!*t6@pE!AQbwz1M2piR=dn zx%Zi;Oo#?6Qb@S1&kT7rp8+BFaPyQ2(J0rjur@}YeXQ1`Psp=~d0dZ#Xjl!494iuT z>oc5Is>rc2!m5hRQzk^iD^j#_*$8YD^f_f zt#4j=H6IYNG7xJ@%7kcGMT)HZO2Tb@=d{WZC*)YM3Z+bl1}joXxUKKbUXemV-et{G zCPaf3DJ0z1H~PGq&w!A3a`Ti4(O^Xi3AeQ`Bd_K&AXrmUCc0yViWCxVYoCl)q~!jR zuG&!gNX%0vx?_ck6cTQ0Pmx!oV{}B(YE4M!h@yGChJ}P^ zcn!-lQNvPoBZ^AvSgKa4$gu*^jf|SdYgkB#Mjm}l>-^~Gs}Ww2qGQ5VYvP1tqKwg+ zr%Z^3)vyc+r}Nl$S9c=&L4q|UWkNKphD9_;xUD1ZTB#x$M!fZ49dS2LnGg-DNU>3U zBfKI-D+lswJ|JYPSW{9aM5A28!rBhN3Z+blhE=3kCTi6SD_tULSman4@rHG$qatOD5DlwH zNq>8USENMLu!x2eH(^#4*2a(!4Xa3b>94Qv5#3pPkgTyCQNtn{PMm^SRai|!LNr*B z!YUNEBWhSg!-%x@Syu_DD*&auO4mnSafpOySVf9e8yev?EU{NP;zXLc1r;fJJy)89 zXrLmcM|cfO>{X69Az8vIlrkY2R*^C!oQ|krkz+-IH6>+2G^`>;G)TA|QNtn{Bv^$~ zCPc$3QbdD<+p$+U;>6i|ZM&9LC}l!4tRm&08*V}k3oBh>uX4l**(z3{xE=}7u!@u+ z;dJa(j`Rsup_B>Hu!iWCxVN7S&$evpv&eyw3)H4O>T$UPHNIaVaxj;LV~ z4HD9Sq3ijuHim>~up)(o+p$+U(kG-JM%N``H4O>TU_}ZEw{X8R3F+U{^{&PU(O^Xi3Abaf za->g4Kc&{Nu$qR1Xs{xMgxj%KInpPjzg25kSQ|q^G+2>B!tL0r9O)CRLMaoXVHGKI zevoiGqJ||52-cL83DICh3JJF(YFI>rg!JRZqGOnU40F4o%VHGLqZ;x;~qJ~8@jF1Sjrld@W1}joX zxE)c$A{r!QoJ&^#Vl@p3(O^Xi3AZC^SVY4JnYl&A>vRPmR@0CW4Xa4mv~X3Aa5|!f zMKp|%W5t@1G9enQNFm{Nx{9vUu!sf;ddh@oup)(o+p$+U(kEDjQYJ)$6)7a#j=jo} zJ|W}TTEoKH7!snviWCxVN7S&$u_7Vk@>;{f+87d|!HN_TZb#Ixhz1F%FVGc$SQ|q^ zG+2>B!tIC}7SSLfbrQM)5UXiOhz2WCNVpwQ!y+0ayoN>VJ#3v~|9{a)@5Y517Oh*c zb&**)(j!pAGDcuOx{4J3mfO1LTB(Bl=m^%7lnK!&*RbfG=Q&xrm}{kqXpmq{iR)?1 z^K2`LDA%xP1g#Y-NBRUkuBW-1=VwV86>>*+a|=VwV8g)DA%y)mBCucl}Ia9BpxK_aXr0?=J{C?!HN_TZtJyOD^)~;gj{RQ zQzj&@$~7#kjnO-fR;q}G5q8HhkL!^T4Xa48yP6SRk)n4_tyB>WBhoD@vZka=h(@`F zMem$>PL}SOK`T{6g9K|zTu+}e^874`DA%y)6M(g1<%kpZB%?JfV}$I7SET6Ek`ey9 z`b1{6CM0xbJoA(Z(J0rj=o6XJ`edm!EOM-jka)1B#A{ech(@`FMV~D5EH2%Xtk#`~ z1_{=bxSl?RD9xeAR*7{<|z}RQLbTOZH&ILXbp>KkdSu{^SB-f z(J0rjgznub&*IX(t7#33Xpmq{iR+2_Jb8E zB;3|_XRTBb4HB#=DHEbmu3^zPVf|fwqt{9m(ICN^64xUk8s!?6(Dg0kSzNll46R`i z4HB#=aXszJ$n&!#f)yzw+}0iztyB>W609jH6S5z<7pHsvA>p?66ltZ3Xpmq{NtqCh zat(|26zT73ADPy$hz1GPl(-%V(J0rjXpdK(lcnqH(;61hAR&Ek=5amk>&r8@B%)ly z!b%tIv(y?E(ICN^64xUk`%$i8(H_V=i%Zw{sx>U4K|=aM&EtC7_nPNtNkqAZg|#u- zhpcrcqCtW+C9X$8_QPse(zOILw`h;B{;u|gTdhf-kiKd2xE=}7u!1(Bm z><0eHk5DiwOkZ@Z^8nlK*G>ovXWzAD2M8j%W`tz`aZpKIKdj0 zF+wy@k%Af)R=Vg|kyfgRh7odfW$ea0Uc*8{G^`?JNI0!yURrk|8YE;4$~nieVNFSy z5DiwOkZ@ZoAhd=>G)PDdgL%q?Xs{xMgxgyCp*1X`L4q|UWkNJqkwU`llvgV?ETTbz zo-!dCa#ZzSoO1P{%RhYR?3iV#XK2FRFTCH1-6!ZFA-|-xEzLlK1Y5~kNm{8gB6WZ+t4PSYYdRmuP=mk4Rdmi)iR!5qK1U)29xZs*r$G?UIJtQuF{57q9Sw1A_84@~Hn2FehBgI1q z^Na$nJzfd>858)%X<7wdq&)Za{*o&aY^6d(PitE3P5GLUegW z4_ATbFZBs}NN|1kae}S5T6>?MhwH6VyHC(Vf-9+y6KutG(fb5FT-lu3eS#hmT(f+f zU@NXbK2ETeXxo$1)`WRTa0T*lf~~loc%Pt$D}t|Xt4OeauCKxKZg}0b{o9%_4+*jD z|K}6dO0?}Qd~3oy{9Uo_|BcYfupPdAWcc>c`==|}a&Ws17yh4HYy1B`K~I@zS9%~- zgM`~{cOau6GIIWZnxnF$Gv?-gPt-m z)F9z@8x|k?sSyo&%EVBEgxhTzX}DrUgPt;xHRR6RRX{kwZKvG~&e}53V5>4w&}eXc zXva~Fek<3`L_s4$gLW9z=(lo>OcXQ%G-y|&8vRzTk%@vv1r6FV%YW7V8%D6-$~7`k z(1^8X3GJ#H)9ANyjUmB1fZGl3AMM~+@p@h+nmL5i4elR94PMX7#888T+YRm?Lk(Wf z%fwKFgxd}7A43gZ&&$M6gM`}+?jJ)9UeC+KP=kcq4elR94PMX7#888T+YRm?Lk(Wf z%fwKFgxd}7A43gZ&&$M6gM`}+&iSE+pQ*f)kr-<5EOI;I92^onC(1+|JqLMiN1TI0 z4W1LOM`EZ!!tIE2aHzp^qD%}mNVpww4h}VVPLzqE1_`$#&cUGu&xtZI)F9z@#5p+B z;5ktyh8iT?jyMO08ayY;#888T+Y#sBP=jYtnHXx2a69509BTME$g2T~p$5+)w*$_> zA;EK^OoY*Mkmq*5IXKkdIpKOFh8iT?4mbyg8ayY;#888T+o{HHSLfzyHojPnj6L36pR;*3A6A20dkB zs6oQ*STpnc8uXNjp#}-JW6jL(YtU0Bh8iT?jx{sCuR%|l7;2DkJJ!tnz6L#IVyHpF z?N~GO`x^9=iJ=Aww`0w7rLRFxnHXx2aJ$#rGPvXTImoL4iJ=D1BDbrGncv?JddkGG z--m?TRmIHjYtU0Bh8iT?t}14JUxS`9G1MU8cA9(3pG61#aP*Xkp#}-JtBRT5-w%4q z#888T+f~KP?`zOgCWaa$+^#BSeqV#0GBMO3;dWK=Tui z%7kjfZk8$Ow7vYp_3TSisk&VbV(ZwQ+WP-(cb=Dsb}K^Z)e%aoMl-6>K!bX#Ba~K+ zII0n$LA})xN~=Z~)dYMX9@K*6IY1nc|}6) zydRaEA1g%Vgl47Y66x{WRpK!h?3ePGIgPD~Lyzc@P#c5**ecx;YlW@#c*H)T$A?7L zb3y=UkYGHJC9zM0fc=0CLI7xxP&>!mw<`9D*!x}Ai%tjt4H9arM&m^66Ad&-gAf23 zB-B=oc2uK<25Arj4H9ar#`37fGBiko5RK?ZackmhXRb+kjID}-3<+x`|F3pQ!#v(f zx9Z6!tR2xHVXcH#+cdrrj@aL}$~@jmHFS&~`;maX_xD!1=hjO8pQHNyD?>hWx}%_5 z$RmQYHriJ4yd$AD2mx?(^*py$vQ=B1wXsiBL0XZ>dY&Z$K!b$Zsu7%seIh`EGzbBp zK|<|(L`F3tG)PA$1{x&PR*lAq*x#xK8l*uCG)Sne8tte?3k}jBRy1;?y5pvKtjExz zxpI$M*$?x09xI`ADX+FBm}6C8Kk`;}`(eKeJtv0y0iwcD2u=+4BWy*e9*BVk3AOY7 zjcP<_kd96aG)Sne8jTZ!{b-;;8pJ?@gxadnj%u{fAPr(ggSn(vwNjSoRdnx*Jhqw{ zB-FON+WNXnLhY=b_hW0K>h{BaSG2RTF)Dz$ulbPTb>PnPkOk@NE1eD6pp1vX=xGqUR zK)7*(gQK`Q5jwt7dO}dp$Gm=Z@!d>E*<4MH;K5b-1_24-Z33b{Dpwx@LM8&@ zzsdvzT7-aqmJJE-|6S+Wm5wOE)sf)N)ovbSMR5J^`W{#3Kijjb{mRnc&Z5Gi52Zy! zq=m)Uu8yJ-(jvkH1VkBx|MHk|?H?AdOJ)%LqfEH*$CRfb=8u<~cF%Mj2?)q(|LlYW zNhu5j1SADkuXUVs)KsNSU^arrrm**Bf^If;e^3NqH|eXQjhT}%o0|>P)=}C`mg6rC z>8tV|u@DE_Un)-4vK%^UFWBT^4rXi;g2IBr91t=#Ha4(>sk!v4r;2}vUtP&^SUNe` zNecfY zKVerKsj2<5VgKRI&DicQn2pWc6Z0Csg-eP;sgMK>l0JzajtROj_B- z*uqTP%GAm7@BaQ<`rm**OhcXjbh0Mu8{X0{ere*OyXUvB;` z{cnVZgVj|kjsH0ML*8Hd|1SG)eVuU8;|2cO5IW+%Z{_613jxcj4 zS7QgW#}-!f6T4|!V=QLSH0|SQT(O#-$uYff2JX*)qhg+ zH|c*e1{V6i7zSTeNUOn2t<2q@8atW&zasfB&3{GnHyc;ev8l0>@&7L?|E~LQcK$iu zrIqF7UpT4}e1l3xWadCN>kMOS|t zIoqzMsNle3PV?$lTcf9;$BciUZ&eOf2T$Ykja(A``Zsf+l zR|9O>ZK)MP;Bh;Xm9Sk1{-C?IKV5Da19lqd6X6K=;^RaEA>jIR+~s*~p%H?PDuNmq zINPp~J_E;MiXFaPUR>zUj4ZE}iRMEJn&6ZdDt&H??Ib{lx~Gw=dqjno2GEz6X^=+( zm#gtjo|HS9=yVQFnXK$xc~cI+Q4V^QcMQn6nd7=UsFmIm)ZeV|v03!``FyqalX%>0 zgVb85AyMhEkrQIAUif^4XEp zl%;b9gNff&R-Exz>$6a~CNCe{48u>DI+VD~K7f9*6!7*~-sUV)6FLf%^1(y4+oZ}+ zZw!sntx?StTsBUefNCwIqrfOA5agZl<_Bt~#7!lHwvAgZI5keJ2jw2#F!B)22Urcc zx!R-#Jd3ae(gLwcbf6q8s67H8cv zbujG-qL#h0DrD3!Ea!8+Y19oc@TQBvu6?GK?lT?Yv2ACi)wYWX1GsJS*?x|9o<9jaKwNs3d^y_B*Pced>bduOEYp3A5!x=&4wZ7gSmSf;o`1KD%2bGR-s0$U zKXh$(O2TYx#xs(q%OMTVT-Rw5?}!%n(pAr!P(fZ(KWe{Ir-JaW91Gb5LxgP?A`EBY zVmRZ<2w=h9O7uS5Lr=Eg5w;+MuM$9!L1S36t@~*HYz2eY5NMucf^|n zj8-e1t210=4l;5ut+08Y%j2;wKZ$hQ$s}xBFEO==9^`CIF5UnKxaa#t?$q3q5Tm+V zH(|G`+JKkcOr8Cz89EtUE>^IfRP84}I(Bh*zH201iNkgmhAB8mwz_|++ae2+!yUvU zV$$7z6#3C;(zYWfmR#1hc|6gW=JJQly9m6NfwXs4kp9u}W;|Lk@0H8qhwVN^*V&{j zX*&66{k6@)K2o}H{jju>!;fM{k)%D%x*EkcV3v{N0c&KF5W=f~8pPf9)nAAY08w&v zaI%&2cpXo}{;G%hVqYFv?haBm!VGIgSvaa3mWJPPUc(dxy^5Vl&fx}i(mPPr7VTrK z50O3bERMw^t6~KW-Vfurcb+@lFRXU>fnQQv6`1S`Tu_^+Fc`Ar+^mE}TNsJrvx@Cs zxO4Kf%|UWz61t?x^tYKWf)mBeVUSUn8q6!Vg`GSxW`hayz;SJ^nv`!xvatpGTvv9f z9xW<)q;tNwcz^nRNT|%{_n!w9n0v$p3`SL7^&i!E%zYrVIu*$uR@&- z4YLf-l|J8Wrws~QM1`vZZ}-og`FA+6FVcw^O>#-dnaw0hb}>`z&iN9{15F;iN@Q+* zKA$F1m?7ZOb`(02C@;r7mNogXaUS6?93OSAx7B8jeBgd&am2{Frc~QSF!ngD+^@96 zMhsTRoSsGK(muEZ5WgeR2qXj43t(j`vmF<#9DZCpuH*|0*WX*dS?zh*B& zYN*M`M42oxrsN+kpVL~*VQgB=6iCPs`!sq5EKQs8L~_nwBvv=QG()>rzd^$0wbjBEx`Pvi*@d!vbtt6kQJpWGQ>dc>C<+|%KIabHi;x2 zsGgF-YFe^v=`B#6?gL)=%!tnjB@{WQF}~jN{<@TM%zS#9`JlcM*$|DS|6F6!EMdS) z`Z4yr?T47cQT-9;JNFScrb}j0a}Q>p9wrgi-n6LEZV*YRV4M=uWrC7?Q!YeynGPxo z`Ms3(8wI2L*#DC9?&51e z$oGI-wN<)Wd-f)mJGG5~^G%SlDt-z@=pLrFo{^bz50?yAD!IbjHUz%o*McsWPy(gw`(Z1n=Fsu)imFx>=K_CNNl(via zeK(7v8nTJZ3-?{r49OkD@49z>F9$dA^H0psx!F23&Y7fu=f)HJKeh?Xn+-Y^OgYIN z%wC3(dMqb<+?yNZ74ftO8f>=R z4(;Rh=rQQ<)HVCL%6hn!Ufl+fL^izX=Aq%auaOi=`oMCRGS24rfsE9g10y51oI2j0 zRiC)<7{IuONm2XR%?;$g&GSg>gk^OvSNGG<$!)Lwy)+@s)u3`+dQv4@CoP!xk@HRw z1H^@1!_IYp=tqe3%NU&!NyS;pc*+!{&RVmsloEv3`e?8+s6oJVLLP8&t_xpQ=w?u9 z2`GiT*5wz1-<3^V|E46^MZ~gAj;O2QWxB+WXy78FTk|E3BqT;A2&Ul~C0@Pqw(8Ri zEwzWbG$>;^5YH}Adx0Brc)4`3%mI1gb*NJ`vl83!Qcme6CM*|K(s7UaELKoQL7ndI zsLT3qecQS8uW}8DKFXYjtW4K$uE(S%KLHf7C6T5}yd;4>$<5aHv~qx~X@nC|uLW@SHz(acMu6*6T+7`Ba#|qJ`T6O;Zq6k`&afD607c zPC%C)3dA_C%%o3TQ+FTa4D#5HKS}kk$-K=<#=tRdM?=mhWauwrA5QOcaExU2+Fm0q zEkm8VY=uO894%OtDCq6Xr6$A>3oNd3nPiucy1ID~#Fsx_EB?}OQaUg|4a9_pm7?ju zIMSSw?}nHSlT^`$uze0Q8TT8v1!nFT{kpVKTezWm_I+ZD&63}u=y@&A=##!`P{)#ZLz2J}ojKpm@ zLLaz{2CfygLn}git;bfLJE-^Ec>q3A$WO8}A>F-NUthx+*%SnsR$&7n{)G`r?J6JwNCsT$+N#D;qbJ%O|U-Dgj(Ymc* zw3T9)QA%F@{Ih*D*IhWfs2N%}Y$uoytY$62*f zu=jG81{?+L-{#s+dMPE0#edRX&!Ev0V2Q&XS(&|SV9-ce$y3M2*&->-ww+e+&A{;#w=pe zPew7{@bLA|$Fxjyblyj-ET}9Y$Wr(x%4Q}FJuJu`G~T>A8Gsp=`_uLMT7b?S zZ5vCHQ%g6q{axs(m@Zw_0c?<$WV=~kt>))$4wegfEU_dvKCFt+SdTQJw@EulaEnnl z)!pLIu(eAY&CHEaM58V*+_@<(0@l!^%qbP|yTOD2D#q*R9Mt?;!ePU4u|x6^iS*H- zggU8`h$7XvfoY2JZ9|5qR3dh6!|E+2@6|)^rKLN_$NL<;{E*Z5ZQ$O+4GG1)pUjr@ z*nN>Dr3j_Xh=*l-)=oKi?7%$^L30`~x!%FJ4wE}F$ZPQS#B(0|$l=%@Q9q9OIyyu~ z?nSlkO~c+V^^?`h*t7h$B)g`Om0tQewywcKn<03lT{ESNQI6LVjGO@z4y?S8K#oi> z6hJH-1Pj85U8>Fl&6iaQ?vydhWd7uP&orejsbYbgH8~(GmE6;Z`3+T?aAYy)SJ@`q zE6~od1(O83n7T&t5Qy<+PrEhHdo}I@gN>$jkm;$G*J{huYBcCx`31>y#~f+MuIfi` zuU|rKQSRHk7Ly4MEhXfqMFIk6yARw-9#+H5mNTd)#^-Ibg34K+*|~_ktwX)(cqRdv zDa8d$Nb7)if+~F8bSSZ|_R_eGYOS$HmR10rByG@@d6%d&d1cxUH7+kF0qJD}WfvG; z6Rw?2j3=;u;(W3axR_BUZ(;vHyP%CkraD}DTf6X+l#wA>p6{dB84+{kFP)xoAM(~T z)=75ITs9Ymv%o|Zo;$TKtkR@S#H9BS96t^k-Ym97uO72Ah836Zr!j_v&o%DJB@V}q z7)`=^*8Q{i1sE<~r4k`(GUvxj%J$JUkiGh|YXIrBbwtbSQRpX+=sOM8m!>arvJMN_ zwdf(|=SGJWpOSwxmM&W#W(8pP5-LGZ$xvAd9-AGM(d??C(m-L4SCj=!dek6-+W=%oaCav9w*EupZ;wM1OF8 zo7nj7L)}_3pt>uB&)e^yyoc!)ZuEQ zT`@JijVt8hFr_@rmZJ6p-|jT0IUkcx5u2-GTA{K>d2k7>Is4V|VM*5X$eYP%VL%`J zKCSx$C7HI%9$vKhwD|s)9~EBUC02)JlSP{SE@iDFhnZvKU~*9WQX;0n$Rk={v>zbu z&iAWiNCZD@Au9?nln7zkwSca#@)66yJPz4s;a{j*<0&5(Ph+@^!db}YzD>-F!Kyo6 zdQqwCPLGryqucPtiN|xY-imVeI;pUW#s?-R#pkxq<_ZxSeOa@U-|#~@Bs3F zM@bL0kGc`0vi9`V*IFvFDvLQiSkHt9^&K~+svwB-RXHE)3r3?gJ`-R?^2KISq0&zA z!0^3NevF5aF|1I? z(deT^ySkHLZz%C%vPxq<8-Ui6wG($ydJ(?;I93A=NSfGtvu)NVw2&cITfoTK#^d@B zU^KOBJ>cmX**oc0Yt>pQGXtXj=vOHf@$KkzRMUAVJ*yfVV&|}A(gzzh(35l(6f*Qp zq24-ZDYeVlt#_1{Jt}Q6j?Qu*-mwU%L+)tq-PzBNggfN?>@L^os&-hNs_Q%TQ@KtV zfzrKfvbg~5&`3#WpBGcWIC>Jij|K%!g(YqxMN~dP9-7n5)&9N)CZE2MPRPC&!^HPR zN?W*@=Esw}9Ka!D=9}k{FK$7@AIc_WO;JF}T=!B5e2n*F9?lJZv9d-nQbd@#Q8PJ{ z`x~U_s7l7oNCWx>*7!^Z)s+;^z3T5hAFR#yxj-4hKNkM%fBH4~Yh6>Opa|L5c<9&2 zCO^m|)Gr9Mla}%6h4F{;g_HngtYSo<=2>Pye^&z-^}WSAzykJN?FaUO{NDIcI06or z&k4!t;PURE*S!M?iByelw)NszFQ7bw&!LDWJNtd-5BDCbRq!16zYHpqcJ*T=iRIbT z3p~XFnCyPtsPx|YS(z71+| zmenK4vDr*6$ZoNIqnD*v8VcuYj^VYvhH`0q6BjR5^ZdBCJYYOmQuV@>_5r!JTP+5c zlEby&WY4E<=@zmUZ2QZ9*2^Kj)?K{Lu`h?j6h9SyEbD6JbMf>obccHJhXGQeU@Ke=)d)tKuGnvbMH4WTdei^K7^6(8`TXso9T}qfLp^z zOVtwr|9B}b;qVaKt)EViPPY`0w+?$r*=ht(#d^W|fItRw(j?y?wkn|!Ci`-u>RUXf z=y!+o_3$j!*`nlX=x8uu4bl?Gv5J#Vi5hv#L!6J)ESOmM=D8{7J9O9mwkgQE{1p3+ zvTQkkv9Kj*dcRBYa!WG8m~o8q%?+34Ur#T+^wD+`>%Z8*(jj(o%@*8)H$i~7BqaZ^7F6&hFLkc%<(o>hg z40(`MvwvFr^hdpET3)y}(8aR)75|5mN>C$jOMl=1zqh`&A)#u}_=`y)_vojOo@C`f z#P?3n0EUL7fFaZw-! zFR`uD-0c4K$8$w@fz<=al8v4uh2t?K+=MxD(sL$+ze5BXj;)jg&p12{jJ0LYn&z#+ zo1Wl~mcGe~3a&$JBJT8dT=uyMKrb;Nn!odouDL_lY#)YwGtTo;Z<5F57WbI#69LL# z6Q36IOWoQL4Hf4;Z0ts)cPD&X?$%*-h2x1SS`7i|k3Vc7EW)(ak1iQG8Ez^m+TNLndXp!)IVz;5bh^Hq0=VIzJ{~W=O-jE~OX%nT}+w zTG(EQd8AiE=CuLt&@y~!lpIVNU{Dd363YWm?yjVa2urrbU9I9Fea}QitwDwZuiCBm z?*>ud{_gtDbqd&1ZJHBnvd)XqhS6@izx+|W0eq^NfHCfsz=KUxb? z*+y>Qqe@jBN@-_XRD6tlBEpW7PgB+4iUw{QU+^cB+ z)q5DEh^^W!pw#S$aniaF_mI!CV-qTA(wTtj|FM>!6uW|;jYe#WHiQj!4~D9d5n=n|3>icNxJq?|9rMW|cgy zQ~NcSi2Ga95Y@9#=Xy`KuWd~{&?RB@c{~@wpM<`y{IShD{_HRc`srsJf=r;y5w~vV z_IR-r6xYK#V0aldv;AYJtz@;(3EEi=^n#i)V{DRGf_EL5Iz9=0PDd8>Zqt2l2+0i)z-UP~VaDxh)SGvq6o7687rFKbUJ zF9ynk##82Yie2IHwM?BG24qnB+O1`DyferVzVR_dMYkxR^Vmdek$pni z>mCHO{rS76FmQ-5kS7F@3VEXa#!-1Y0<(Tac}UHn)9bgr27AfA`o zo918rgX6)NN(5FF{34_7#w`)W^JTdjuddyQwXLvs9~O#Xu?b~Qa$Vxa-$%HK<2m#o zl&2eaQUo2|7ZhJ&UcJf;dJ@>c9hXey@sv0p5)Ll`z+JYjgL*b4n%5-u=H0*EJHyHaKHu%By>~0=!LqZf;x!i}dPi zP9F2_|Mr8{W()XjM0e^wpZtS*L5=;<-1Z=sB2!lv10NP9^m>88;~f(uQ!OlIb6`g2 zw-2ZM9MNsPZ@*x;CTHKa)iZbRwca6L*338Q#L9zoE$`&GfBZt?-8B3h8(MO2LpZto zI7}A42*L6*MaUxxJNafcNllAoWDq-3GR- z_U0yP|0u4@h1`k=)sI#7x=P<@>fHh&9PXU%-IGZ|^AC>-qA|$K9diX%ri;#-_3k$x znLRgpkj)P33F}=a55qoW!+bvDd~4?KIsq!`&E7B1fmcW8-Vqb}99As zRIGt$X4d$ui?#IZnNP(|9s7)YE%pZlThckM;Calet^Z>!=i6DtjXmaFz%25agVKA4 zE!x?Xg(S#=@!>rgNEySU;#PWArr{Hcm}>~)!(kP<)hM4Mlol``uqI%0CSeY~9t~+b zu86WWakh$%;4irAOx#!TYj!d>LL{XN30)tVWrd92=fU$2*CyJ{%sut=zOX^6G8k*I z`1`U&9;CagPvywLw;th+xOaQ4_mAW1y zY{49rEhS_DXJ!7pTfE+7swNC-Ho3E}9A8|ozdTQHX05r;uHJgjJK=i_cUD@UO;F29 zwEVSnYcqB7au9oTZ6FW7FY-4t9c#5o(fXqxwCGwdaBp0A-pr>`_&=hE1Ey#wpUX_yo{#^6H*LhLl}(`wg2zi}Qsn$aiJK zQsqa1!SdMQU&{(4ALb7CIrS>DC3Mq|f4$5XKFEyFd8+)&`FRNR3ym+S)U;B0s^Rvr zly^CaNaZ=<{=su?=lRM;Yg##B)EcJG`FIky*7IZZGvNdNyT280ol9hlqTWicNw~58g2AoZgR0{f5o2NORMmb%iyxTt8pyM?P=I&PQl%{|pguSjrMTZny`?PK8Cw-KJ{~7u!9;v6n=3>R5)} zmdLh#RH!&4;*wN%SFc!g)TNxu;M%NY_`5C4*TR6T7b1gN?$7NZTBEY1PErQ}DXNbJ zl&CQ8&H$#eWJ{0eyoAX}DZLcQB9+)*eDQYd8kUdfv6(GoQiFy9f!C##ND}kn)vL8Y zqZRrdeg>Gfo7DrmB1-f)MbdgOs@pXDJ;hXx-{U)`lywXn9%5|GpcmJdM20`)U+xT( z=+BwY3)}+IZeGv6CmSvMHkvuGz&g8`>q}hVN>d{6mJ{b9R`iJ-MT)@4FGI$hK3nIn zs3?R?MB>sx-y=6h9U|8;A_0d`0doSTy@E;l`qgtK?jHA$j{^Kf61-ncmbb2PfvDI$ z?uoq+wLBQkbNSgj?lr@l0nk@cDX3?qh>Ml@mD1Nuw@n(&`9g~N`b5$as)tSdzNg8Z z8ZvLk?GKUnLKE4Vpg!JJ-E%S}QH8Yn&_}1bs=jGi!#ASvs|^jZ{h8D2N}g^Z08D+b z49LN*_GUIB7*6u>6G=|AW&5~lN5h9^IqziO*tJbH3Zem6Yl3g5u{Mj4f0$o`5-B!g zLYdvhy8Rdg52cx%rJP%H?Rz)j3Tk>zTlgsRS196beL>sxx6lfEl9{VVy;$)|Yj?nV z&mA`l)Vk=X@jaSOV|qy)eINPn7Zaz;Sqzeel`;-6JeIx?yK^wTKQ8W|Cn>JgoHLy% z(*RdBT?;s?-JNN;>6098DxnB|xFzLWa(QBeKi<*XlBuY4O5Qzt^@+ku9Y0bTO~9pD z#%pad=2;ZxqIBuKB_`D#-KpH?eTJ~Z%B$dy1F7`BY&$VnLGO~c$KN)!EX|x{Q)c#? z%N1V|rfZv+>!TLRVU^t&8xmZ})!>FFKYAfEkz=$D&r=S@LB9)(37xTI7VZaBCPM?g zj}+f*O{Boz$Fg*o$alKU6n_ph@VP`50gJqjTVkbO33|TqI0%^y&ecE8wSyB&h~~pn zE5%2Lc(^5Ok2?+ESv>Y6igJk^Q4tjb9`85TfK?|#`zd4EwJ(Osi{VWrxjyWRD;=k~ zdB!fxr83MRWZ4ePcTqYlWzl*~@vpHgjh;&_ZeLeZ^sd#`_$M}WPCN9^T+EkNv;@`7 z@zJxE%S!PC`JQqUGcX;H%Sd;KU!1+^BR3odxGy_bOFDS>Gjs>JT}EUL#(>C&F)`Wqqp!KFnW}!`G58QMo|{}h|5DaQpVYAH$LxlB<#fsv zAgepVlmgnWx~9J>@3`C=0bif9tB0FvR=~FJgZ%6*hcx0kQxD_V!02=Df`icUrcDU%f<`mGxdULM+_2PmSyw^dJU zgA-3W1MFCf!%1G*wO&itQWSsXHBvZ0VyRP65BKB6S6jNex5!{>kVayP9UUi5FD`WM zr`Bg13!tim$*&t-NSrK)8R@p=fo#W8+zuva@;M}eVoEYR;lNeV|pCD_~CY6qtxmY*i*RB~|grzvK8l6$z-}Do(vW-FvASQb* z8gTTE3q^}}hVCo|K#;UkeJqURo{QDO$2Tt;Uq=jA?opp@W*r^26l4`1r!iCD=Zs;c zU4UHp;y9Z7tf36Ri0sP)#ZhAqBQ#nw6Z)&HY`wQ@vP(WE7N~G5jtgt9MVJi>$)0Rr z@@?A-a)7tb$yW~A#jt9jQ@&+SD{=N8L*+{fHP)x3pM0H^$@p9gIO1NCKm|66jRpSDu5nmZgSExm0PR?KGO;`ef3SD|MJEKDnO;r zk5}K)h--SMm(}b-4biY4KYm9u*{Ert`e6oyQ|%XhB+O`))d4 zflt$ztm)lw`|E7qsc%XuD_pXMT2D-5i@adCA9&w{u;0|b#j2}4qDQ533MHx zMAqoOadC?|52%Wb3@rg=#b;$@_{q|aqj-xCAKSwF)?ODy@J~wo$`ngGa7OSqB@$Crsr^?tSFnaeHzmru@B=)Fi*TbQ97i8uplvCL93XS*Xq`~Hs zGQ!QZ6?D|WwS!8MPGfz7SGNf8IjCwExf8+sVfhT$-kyya*y(7<(FwgI=F|}Yqkp)| z1KE3|o~OZh9<`obx-nh|C%n#Aq=*adp9hJ282pwaIjxhA=bYVodpNWf(bwu*`iTQr zrTj&XBe(E9iV`e&B0m2#1ZPHXgAJQUXM9sYUU0Vi;8uMa&QE>tr{4LCc&rgV*N#pL zkD0~S7P@4e!tf`sOQudwiI6_MBVM;GHKPk=vee4D?W{4J#C4zhwj>|*S)FvGXA#}J zwoVq0e|hVO)2$hc5X_kV6tsxR5s7ti23x1^+0UqvUcMhOx_|B7@Nqw-6`kO(Av5mt zTfw_4!LJCSE4^&qIYpXK%RLTKcOBs2u4y_#kBO5-6y{*P?}r#5mNe8#%-}#NRGBb` ztE1<;-<}S{hz5itJgSKU-6u?X2Y5X9?Of{9)}1s`;ucf zVB|7ePjrFOvAGn1q+q;VYUzdO0Rw)oT_alCT1axscO{Az4%=&V-ckdfAF=){Q3ZdF zIDe{tM)R2g`HAduV1DtmI`f^9jS~SiS>67#21Bx>J8lkGL5j%)YSG}k-bei@4braS zfek)%pCn$OG-!JcTE{5Ku*kR6i&3(+LEb?X)33R*HeZnsAfIp5+SG@88H8T%pj0Vm zf3zpT8dq@`XPrsQy6lOaliV9ukd_)Q-!8T<-V0geC+R4$+0(9ULo8LT3mC4KNv&rW zEBRpDN(WK~ey#FtLVu*foU#or!UXmcFJv5P^tRt4XlPi8#LiBJa=ebSq_^}ui>;6z zvkcOwPPX1tMGxM!^)|eGI(GJ8q%{T?plQTX8!3lD@7h&c=6!4HJJ_BHb$hU-$dDSA zvnzCHKA)=C{>lMG3Tp`@k>+dXYKgL$B)7YosZZn5$C{k&Z8-ghP5a&0^&B5xgjAX= z#;!uI>lC#obM+|E0vzemY2_Cz-Lhojj3%J zSO8jJy+(JEGO$NK|6nyUAnin8r6s62 z>oBIelgMh@Q|Lu{Al2J|yl@b?c*y5v0rWXBW1;YFKM!QN)`r<^7< z2Lq)3E2peW>Bs#*jKGtAqDrg;C?mOHhUkJohW-e?OURKKlQM$BXb140n#{|nXVIo- zae9*oo-`1j*roKB_dlzR!5uT6D9Bik4NRY94!){(`Z85d&4b5EAMaNuMB?K{monRk zhZraa!W_pYgy+W}quC7ZU3*|~E43pZB|;LQ^Rre;=69bANH@(d;7w&Y+eBig(l-aoTWGyeohnWK;l12!~*YBH|V#@q0cp?Mw z>(VvePJ`~GI=-2&5wU8~ogFI_1$$~_QB`H|x}cGn>_mqCFx?n~e?xq#4x!o3Z68cU)QJ`c zvob_8SQPu%&jt6E)o7t!&xOW%x*z-30;?I$i4!Q^FM4#*4eJ{=w0dGxU*#k2O*9J3 zX3Jjv>>YQ68;+?o{@Q9bK1UV;s7E%w#zN)WKYG6}lpYidlFSmuK}9zgRXO(eaBPBK zxNl&UN!4)KGRfZzqi4Q%esC(O!WGul@1MgE?f40Tn>H{&k%08q7wgMOp_g2%9WP`` zvKb^Li~!q`D8p2dT;tcT&kC+_t0U8=Eh)eaE(!ZnI*+gZ6U_L`x9P&|J1&;n)LEOXY$@OpZ=_!iiBx&kdBlnkhX(|?;9i7sedv4Q z>L6_VKz^+#Um>OVTYi8*3C%WP)>K>IvHg+G+4rqRj_>7WX=Xa}#pkn(Y~{Q&9`_Bx;9GPtdtoef0-AyT z)ap@=8|MTEJkp+;KWw4pY%#B-29fj|P9HoWjUg52?YYi+OgrT^fIX0^uH0lYh@rXrID{xwJ&xe$nK6|Hs@XB`g|lz%0M5Wve?7v3Ur zS=Vrpm`YxavOl_CICmB`JM%rKVYS?>-}0646I5nRkq=dwcHl_1P0r!b!x2IZi;9G+FOYHa)LVn&rQTJRJ5vzMYbI%=>zTd_tH~z)dG1)_+!qb? zTJTL9xWO%+oIKS&FEdsy|GJ&20C&qF71j(6y`o%iDU@1Da)R&Cw(rH3M^!<}8?U_< zy(rHOnHxEI%-D{x{lrrHH$YZkG3mMQgyZV@((H=jHR)H+#fti@7h4K)YIo_pv7~sa z^Pi;?M{*g+@Og%!_(p5j@x^yruEL;ks9nO~1PQwMCc@N)wmT8`F4Sa>h`BDsH4j*+@{jNty>6qMVS-p<~6=J1*Mamt?Ej+=45Q?+U zj9d+R_-JoA277T(KW==ANxclqOj$=3)<>XRE#LawOT%McJNZ)$ipIxXFKE5*ZQXGL zE`X&nsY+vb&Sw1r?BYASk8;h&sDIOui{~s_`lS1%m)b{Rxd635H+S-q=xJxR^X3Cc zl8DA8#WO0}pr;@Jk!$F$MKhYZ78>dx7M;h^*f0ZB&Ut0spsn3j?;XSE4vHWdZ0eBs z{6y>5>o)PS-`;F@Eyu^VSinmv#$1H94!eaA6~82?goLvv+xjRx?0|AOE@}MNmgo$n z17}$XP-^#R*O>?~Es!;O4+x&P*3(txoy3#u*z!!N=H!>#mYka>C&>Su>93rw-x9s| zpgiOAOg&v6k!uj|gjur0rc!0yx}**<0~cR6I5kASBtxdebWTC!rW(oDTP*ygofWv@ z{-DV;>q{0dFJSV_<>M&j52XX*qR|6703G3tkdR%hIaHKSSIbwA;ITLWK?GL|Mf zlg>bY$QhOZH_KTRC)7<3Haq!=zwLPKp@SP&dt*wii8VlNa(qkT zI1-mFXMeM7kM2)Rgo2p@jt6I8Gz2yTP=JUi`m@wE`)Timh7ld*0(@J?RM zkcN6oMzZvUi{C2d9?Wq$Ob|P#*3MUm1uH@=rm&9F$EC$|1Sc(Hf%aCPv=VQi zDDrKSFc0(Z)M(A3N`!U1O$wuOO*pZknajO&`9~z%N^10zp_gf>QkXBja@mV91uBq)6H#w52XyL9OZ}T6g=;f^Vf~@&>hVwU1jZ{Mwr* zMu@I@b$XyXzop}krJ^mI^HSD%f^c15!9ratRwi5BNWYhj{g30uxn1Vdk*)i*=+dSy zJFS;frfPy^f={z*n5((_c}}|kjJu@?cZOQ%cLi@n)UUD6mSnlVR{?SL1qvoA2pOK; z@36Hkvx&mBC0@6jrp6T1$Ep+Pabf%_}V}2M_PL&2`9$J%8U# zSio=e;1e)P0-?i`EteeJJ(hg`@WnlI_ClXANe|3hnVREh{v|3QGcOtM?UX3DnggYy zSK*TR=M1t-NsAFfS@134#q}rmsdVS4gd9|%YIWTaBQixRO0er&ZVUb^?7{{@f$D=_ zCBGkCkYDB{ql|MFR={9Zm!gwW!L;O4soYZ=;%hnT)MiJf{ZeK55!%{{Yhi}%ol8mB z``ZRSOZ`Pj)L}Qb_ZsoJqPJDOu0LF!GBHi57>*;l`z`b8#iDnr_-#kzVrXuc&)L=c z419-OR$3TT;qXP2Aw`&3*O7a|2xZC?HAAuQm zl%BdQxM}0k;9%W!@JP(z^GgT5Fhril<>5+v3cB((V?p}>J6LfQ6)uaa^rjulj$yxmG6v^aFgJm_kz2`0}&(wB4DUQ!lCky zVlF8q*ag*b1!a%wr;V-sZT|1rVWH2$_Y6plo`dP29v!b|D|blv!Hgg?(w`pN&s~ph zI6g;kM>icMsS#`&yxt%Wp1GsAoBGMsH*+$lBQ&bSBfP+7BS^X2pF9O06_RJTtT#Rb zO-=r4;}7oi^pbaR%UVUzi*;*z9(#ItIUAdFJ;9t!TuZSbU9BnZEicq>WSQo-L~7Kl z*S7V}q$G8$2{!rM5OM~sYxvxxl<0kV`DAIrIwfjgAx!P^O?aEL;Y8{f3;OJ?+Rd%w z?%iw)2izSN|JO#L#M~NH>)WSBoSXF--6YnvscvT&?}VS6YG$|E`9f|?U^YHxZ*1$Z zcP){4-Eq+hO_yq)`Gx4uqe3qAO8`8NRSrhlTMcYjz8|;9yOgAPE%K`E9ZR9sO_}OP z;w9|)OD6WBne8Or&bZ@D|4-r%!xqMyyOoYgw^H4$6w`Hy7CJg#kl}rzzmcThTuc+AZI&q zlJ&i&Oa-co@vdlLaM^&B@$bcX*+s$Kx1UJd2ed<3%#N6=gBx?8@(>`MwjN3-OnhGN za`2|baU%d}*m74)cGU#-DU2uE=<%0!*)Xe%6k_I!-qdvgp%NbSmr5S`rE&cZ3DZbU z%(GhWw(&2*Baii*mCw=S8pq8@ty7!?tIlz)cS!%JS25&m3YyocsmU=zK*Q~8=gj$- zeq4n&X;K$*6RS9@$JjXFPF?-e@%6h{q_SInsBP#DC{Jc==K_qV7Os)d=0;9vCMMqi z=u>+}S!`EIyHd2_Z9i+}pxIwu^Iq|X+C9~f+;kLf8N&LqbjWVY}JjR{=!Ouo@uznpbHcYgB~>NS}-%VtprWw%^Rf- z?m$09n{+LOe3o(1l~X_t)UH_1G%HzwKaGyFoqQHp8aJ>OST9c$n|#`s$LsxlK$055 zIMK%F>*xA1 z`s^m=+N*r>;ekc}@(|mECfRyE{#u#WesW}hW*vq{;LyJ2p&Jdl*LG<$&zR#W*54IN z?CDo(CqA5uUKcReeOPe&O$V@hbaN-y&h(ml90bER{$gV`QkEBc$>H-5;>2w3x9Gvm z^9_M)+$20~Xk^s1Z#Ra}6Xy}4be-33GoI3QVy}D={aIm$OP727(ESMxc=HB|4atnX z%90DePxNP{zB_W%AH|=1Ff?cGVM8|47VV?=LzZbf93lYwBKbr6p9!#NeB!}M9JFsO zk)Q4HRn*y-oa*D(Gk2w*KUN3um2iE)2FIoqPXG2*Cw9x+CxP$aK|~n=j#9|>{}=$$ z9@hY({4tP#suFRCg6SFtd_5LYU^X~f4;;QfQ(k~}A`b88ygIZ&MsCO3LO#i97Bi#I zPD)_OxV!30YX7q2r^7q{A`c5IAG=V26?Pgi=Lx*gQwZspd7jDmM zM@e-TBPOD?LCjST~dGmV=@Rv3lw2o(V@aO$Tm+{}&S^{7J002M$NklP-yXVk0)Y+f$t2*VoKHXA>s)t~<6eM&Q>D(ZRX8;vYPlAN5OO z!h*;(J@%$-?Or*j?Fa*?@WeZcPv9jGY4Ltq!=2vWN``Sl*txw=9{Nd(aJ3p}j+k7HJ`j?0P z@<@N}A3c=%CGgH*w#|93)!{DQ`dh!l^~MI+dx2+sH&-Q>$Src?>c9L~pZYMq>~=zE z>qi5hw=&Sz1}yq$k^}sfm8~(8#*Qhn#^)1%^cvlb*(shL&TkdTee->Av`0_$$%-f2 zZ`_4YH`MpfLz5Nl$qC~(unRx2nh1;=(1d5snkz^zz8o zzER@zjbG#m^7aNcx!N_`+&7wBuYB{@&|&~7=<__OhB z(+phSqG?`#JfMnU{4aYVpt*F}5kIlCr5h<}r`O7a_Ywc#8;i&0@xj`j%~r2%Te{9` zC;3r7xfYHroeNGr=siPe<2^a^PHXD1ZDMNWTprJ{i$a!eWMuxso8I2Yl^1+f_?KVu zrfSyJU$VZY5D&2hIP!FkLnwlxWez0o_On%gxI23D1D_b<{DNO;9Q#zyz;}(DO|$p= zmPXnx=c><$yZEf%dk%f$O|DhQvGTfRhkUAztz#S;`786<9}Bqtxd-r8iwCOg&>QZE zL0|CAe~D)}A9G)cR%u4(k=1!(iuB+b!?}PTa9aau8=q@a@UOvL1P0wdJ1T2!1Ng@> zU!5HO-?CoMo$Tng@C4X8MiQ44JIzdVbD zod?%0V>59*xsEOA&$rIk`lS5EZe1*gb!XnSW8@X*bW_B#KW)4F3HQF}ds~^&XK@`QhP!2#B_kvS=9!1$@lKTw!m5*WZ04KQde?Cvw@p3(Zn*`onr;**DXLK?O z2>617&CscAk#lyQ1tMx=Xn)>{BX__u2z$ca1<%SuHg>PkYJ+p5nwv810SsPV)8mWssJUm6atzRF&>$3%+WPJokahtB9Tz9kD;pZorqNo`)!B@Y`L6kE`u zH~k;+#2zy_ZcOcyF#MllPp^d1y^G2GK$5s&S9anP@{FvKS$uTtzI@kiuklZBP?8+i zrk!Xaqd_LF)>iRs=pWkAW4qtL;a53OI69h9q=n$>ZhK>xMgVMz+{zfyE^yHlE1`o@BnSZ3o^H2Mdhfk`TQXDYic3M_l_`7Qr_WR_7+3@XmtX8!m1> z|Mu?h9Xl3nY;~3NuMOz5_F;FrkgYmL7uO2-m2=P98!v%@yY{7&fAWHhO=)I<{ka{4;W1@fG+QG6XC>hQ`oCcNUC^hs5Y> z{*Ho_mx#i0v*t1J4hv$*{lKK)0p9ID$dEPC*lHyDLZ-6RU! zy`X(Rihnj1#z!-5>-*puC-N5E8?&+7{J8b};2vGz(a$32ci(G1H)(Vv$Kz{Jd`{j_ zm+x|}+=+Rxzvku_u|?T%qqSmNl_a%Q*+McDJ};|FO^b2po8um2w8Y zTgcK_3jvE23tWWh-ujC3m`IP?Vy80)2@={#NjtTNP6!_K> z+g4ko4eZiES3CI^ZskKm-}pN;W8;NC!v;u;@oT>1Gj<`D*q9sp_2tI)%uTC1KbiY% zP_RE-wivsQyrbXb3Nc?Dq6gT|u|s1zXGI?F=1FX&h!s5W6IZkOKd|(fzos&qCuj$- zbkR27k;N0`^;dt?ITYE89OMM++ zc<7EU`j${HK1GTWpa3j<+_LJbTv4C${MH z!F<+{>x#5wnl)l7p?Bt-6MK!x$lchf>_@KHxHnUww|1g4nZUwBcS~=a&IS9@uZGeV z9qI>dDf+;}AODQqYU6B>i*=iO=JIYj+6*Y>n-7hA6nf}5)>delM;j}CEiEwG%yl0> z_zD`DlUHYBbMTG*5E`omUV&FRGdAcwd8%D)_Y4z8bH8{`*Z%ezD19M0wW!@OlpNRf ztNd2m-Y{`e5Y%5u<#^u!8DA8VVjgM3-LMeZ$N z*0-Z4^F8L0>Ku6Uj{<+k2u-R##kNy`?7=Y>(gAD#{i9E?g4Yd%44Q8rvdeuO)ye66 zAFgy0(f#wBC#Wzb^i2A8%?z-|F6J5@?m9`^DpN%x(!xn}457VAJo3iPcGPMTwf$etw3 ze&kkcFVV&KRna6585-yrWE^UjR%ucXjENdgItt*~;21f_#}dLUbaB|pphWVqI)~M% z>lwRF;-A4h0|iWH$ja4Zb|%1Xh=hg(Y>)VWUT9d*vZF#jc$GJcx5}KG6=(ib$du0< zv*5Luq6=H>1Sy#rSjz)FFmRpAr}p8;k=x%Z--4DyvG~NpAbE0#8T5PmW$0_4Ivq^3u2&{7bY<^ZY)C|tj2b7wXzx9zx$r~RwJ8ENp7tBN&ammVN zl6Nd0SyjU)hcjNeOQ0~elUA%!X^iq(aD`yFeXlV zovV$Jh)v4kFL`5w3Kj|Y;?sr$F!Ih~kWJ9`T4Uptp25Lij{p(d5v672a$x}>PDb|8 z)zkg@fdHp0&d5IUEH8axqLV_Hu+@kBjrNee=#WwD&riDy-JvxLn)-`8M;7`tFD0zW zMt6J=ow%GyaOLZURr)<04s@Q546M3R{j}xi%`9W2PKF&%&U+Zg;9j#ZQRvrlWSNV6 z9(fyA#gCte3pe!d2OQVveuyn{niBZNQSiy*X|tGjkdf@<+IWF9ZTvRl{!r=yhF`qJ z1Rg&(iVFK15!&!Er*6(i??g-c!LRMaNWUi>__Y-?fDottlET_e>s7!U`>+SSYSYLu zF`I6|A39O5{JNo4H;wHkMjrW%oZ14CuSSi(P-u=gi{jdt{Q?KRwmN5R7E$KS=7Hc| zGNN;E)<&)!3LW`LzVhZ7n0&NP-LdkC7YDiIKzQ)c;+Lgc8izJY+TpF8m#(q3{@nUr z6JX)tSER}ud2~kiElbZU=W;&3h;=ylqWQ4b=8=h8^5G-zH(qnSIO? zE$nW*tPL9Lfk7Kx)`sUMc5d`WrnSxdp3&Tp(yX#XM+@7#t;x1_!J7=)j1Q%{#6l12 zw0ZinHllCmjlk1SS^K@MU)NwZjFD{g>i(_!Lx)&b<0oQKEq zTzRH#VlygDKe}hF-RTif3f!F!7<1Q&{O|R0vVuW-*6kCMSuCgh&^~m~TYbeH-NZ@b zBInhIjW^%IX$i6F5x9^&{3b@{2m9sBv=8(_k>AC-p2@Xq3-a&SXfOFGlfuUA$Nts7 z*X=qVquX(F+t7*!LL+)aMy2+?Y%}d`Ywvupfzls5Kf;4ymn-I0cLqHLOl8Y8T~@C> z&l-B*XRKyk$b>Im3lrh{BmKpt>x{>x%VyXO?%Zo68ar2XOu!5855@w!<=8lRNJ-eo zRp;eg_aTq3{TzJ@b#!FK%Ez9eIscGZIx_~|`@;p{?TDlo8}f@May!(~o45_lZlJ{X znJ1gub05nlram@vn2S9$Z(N4;#6x1KIb!UNWjF!lkr&Nvw0g-0Wn2(M|U&)A=gY|pm-s$2DMOz~fi#_rVJ+ZcCim#(8j5S%upIv+mT z+~YQ;mv^D&gETgJe^$uzKKMHp3KInSS$`i*-k@q9U8+}l$;MC43jM01Gafm&PygvF zAlMwM&jrJAhkIw9Drs>LVI5<@Ni0j~ex4hse4joyOq}jU$>3ihEeKXfX9e@p4r6tT z9tj;Dg;&`-pW;Q>mCN}xzd3+^|02WLNFhTLSzhBI1KPtcxafxu`j58k7TqQXG79j3 zu-{d{D{$9{uE}vPhM%^|aFWPV_?is55fPerkaHFUp2iHL%9UXFkY8^$iOmmPjUTXw zBN5Kq4SB;L8ylXi`%ywp#1{-%JBR}-xy(c~fwImfGyMi`>U{9OY#9dg=go4BE(OunZ?j-*J#jq!iIMczc7d%; zLii;MA-_W2_B*52$Idg!PVA78K4a5I>;Y$k(NF&wqZHA%=hWQ{_`#`NR2mDe%h+wk2z%h^Rctc6&!N<2 zk<(ip{F8?EgLgEM1+G>}9~t_zxY%bL7z;Vpo^bFsrkvMq=y&m##R$1g0Ao9g1d|3^ zj!Y{X&idFUm05hHZFt!Uj}4F28m z8DqT>Z#z>2IrX*Q@SlY?8?1ifzl+wugB^L!(?PM6L)me{7Wd;@Ho*SzkAIYgcD8j^ z8jqpdEAavs&GdPDi-KSpOU7>c$kwr(Ub5ulMrZvxeT9v0_enR4&qoY|2-=Bp0lQ)7H(BZoSC2YAwz|B+uj^FjYI zLi+UE@Wx|pS@^)=uV`PI#<+gR_Bn&q=DhIuTjXimV`1R%0lMIOzA`w@TN-!y(3x>DwDCvEIIJ#*=i>%t#zkW*_9EYGjGuMRu@O4T zj!W^O;MX@v=#RGM)D=2=`nmR*^~l71^(Jc${WE9G568k?TdRX%Lx)0-9%=6lQ(GS& zv0lRR@uc=n3twf=`X1NE$NI%s`WCKsJ@Q)LbsToUvPtmH+`RB`XM^Xlxr&z@YRt{t zF}y3ln~#gmoAy7yME70hkYDmD{oe|j4MWst4H2|w<#Yy zlL1wyTgT>!YvaMSzWgVRkJhc%6|!7oFt9q&ss4#welbrvqk|r%aCQuXrGM9M2_D{c z!#z15H1ZpTPt8T+UvvbSTrXzso1epD=J1`rDogBByGEvt)rt{L;SI+)a{O5#Q$V|c z(BCWxZ{w|hbb(&v7WjZt=!@UEJY+*7IN_8vig7vi=?25G(dz8noW@?UJ74T|^$#1e zqZQGr17_Awj~p@gQfR?xj2ZWdr-dQycy;K}Q(3zV-edf^cC1Yc+hj|O`B$9qP!?aE zefLL-wf7qVky%}_##p-aYFx!G#)mcb$|TP#;-~SKbMcO`H^x@40{;&`*rjpLpX{0Q z=rChN+aF788u{RY<$Hc`4w25=n>PwmxON35JdXV6HZR9^=E24aTA@+C{*qi)jMe@w zNCiAjje8y*y-8Z32&CJ{i5^`PCn4)wC-j_df{q~xIs$kqutmRr|6PGsz8TCmIVvZ- z8sG$C47R)%)_{&FOB!rKrxQhmJ`6{H&Y0x5G75I3Usa)R%Fq}+$~$f4b&|>^*iCpQ zs!7NccGhCvxBeC!i!#Hdd}A~yz)1( zw=x@p)p+2dQ-Iq>MvLM8B^&X4d^oa?y_g98%D#55yvO$|Bm0mAjIk+sUpLU{1NZ&e z1_0Vo`Ou!leB`bz=A*t6rzQ!05RduC-m_ugW(m#54IV#iB6UOHdKOY4!^Al`=+}Q4 z=e708tLbQ;+|XYkKjSMXkm@7VjRX4Z;fAAez`iNv5&9Re@c8s;7irPQ(~N9x>;%w7 zdW=GELXNIyGR<{TYunInTFQi6-yEO8!=IeKhGZPBoNU5|d;y0{>nrUceYI8IV+Xt% zs}_KPgTuF5v?<-#XeD|D#?u4xqs!6jlk#cf!-o3F-sT85_6lBP5Rc-M%-1GI+Le{1 z@qSzU)_#S+noTCw+jMyU07K5o7+vx|)saW#W(WAiOMCxuLM1~~&f@Ew+U9&KXr>Z)O^if zX;;9JbA8*!Hy`NOaGTtbrAp!sK0hnWaQQrKXgbIV_bt!jq#aE23po!RdZ@QA_%9jP z=b|GJWUg@6o1HI6nagE+Qt+bYr z-`UZFqUc5T@Z7Te$*+FTvGSqoZhjq`kj40plpztD9DT2+@h5+8KGF||OzIA0W5zY! zwQJ69cy^vH;Q26;jpxdKXx`}o!)NI)ZavsUHGK6~9<-9ftw&;#;PFuYRhEaZ?tTPw z&yOgQ2lUQ$_f5`~!5N)DD{p09I4J0jeXJ=mw?=NooWq|A{D~p4_lU)I9v^{mJY`(Z z8z$3xebPV3*Nt*U|H{?#!N1^Ztr=^xMnQXIVPA4*g>ivb|6>F7#xq-|zP4F@?XMqZ z9Bw;Ub@q^l_xHkBc5alj{_4D-Wo!bTkNTtUm4?@*)Rx(yXzX2hBIbB}&A+54E+itiWyOvnF z3UvFRk2R)0g}kcloFXo3Yu4{NQ? z=Yf^m)^2-loCS~V=z!LKm1kn09NW)ED+VhcR0W6pG}jAPgXJ-YnppIL9M zJb_rs7Y?mE#t!}RNbk^hj$YCErLX9wqxInITJXqFyBs?qzI3+Uxf1%x-`fADMIJXE z#du|@438#IfdkIqZ30Q)qSHi^_FYie$s4+oU0Ggy=1LHVcS%nj+$6x2anIn@=k?1m z;OaJgY$w?ZzB70wjWdWIbcV;kj(o#^WgI`zhsbysQ2b;p1gb*<&)#6hPi%nx_%i%Y z-Jsg`<-e0C8?E2maO(Hw!j}HfWF|aMOg476&lx=Yl^sld7oKfPUv&ta?`7-5vq?1d zwOt1;f)V?96Oij$5sP$NobE;*ddt_%v(1M2LBZ^Xuoazhv+XSnuYKcB*V;1lH&MG5 zzn;eF$462`qsfeYlN=gj;Y$Z~f5!En`C-BTFSzr&9WQ-rXl=cI*@gE*rITDG{S^G! zjEx*kx*IIhj+heL(N85<&1pQfnUuB=_jwEpRdV?M&(X_?K=*tLCC*1IBwcpD?QWI z*o3DsbxJ0TuLACN8N~4JCekAwSB48I6>``(mgm{dwXwHl0oZLTofG%!bngvF?Bymxe91E-XVHq!=gozoB_{Uko@j^-bntOj z#0eVuwVV6OC%$Q0;0g;b@I4NV!XLWuLZGnA1AVmjKyS+~uF%j=4zB`l0qdwff%!iv zXo}^ZmCgBh8Xb73Yp3^aU@siG_-21^1YI(9!#Z}@{Ep`qd96>lVlDlv-|_6S*>fHnqqdx240S}%hq>Jd%e*J;1SdLp_j%`sl3$Xht+#;=E+rFU=PpAeC)%P3OstE zxZ{=Y_z0eU4@l~>+&A^Bw3(#P>N@?#y9CdN{#|qOgMyYews2+_cDv5u`s)PxeDFYU0zjqKwH~S zOLOg^)qA(Im9*~263ePc@iyzj|jL#XJL}7I7O0>unmL}1`nmi zz&!1nKqz8h{&%G?`M$fe0(X9}(m zyfZn@#+2_N z{_=~7F}801k1{SZnWKKNPS8-t_o*iQQv?LRA?+$#gic9SHu z(ZOU}9gnUovbve%Er!SohJTl*C;Y$t=GT$QGI0&YV%f%yasC`%u(jw$6YeA{J{bPs z>g&L=C5JQ~k8YBG$Cfd{$JO&wd>b3O>5V`AnC|{w4|&KdmeEnzddJizOE6c7Z2V;t zgN$TVw$Ao`Nb##pobcTKvB&7q+!7beW{H?IX=a?~;3c%WSUWZp=VQCcS36;9ZG42! zmmD@Y=mLNJ6p%+5QO7p%SD(nG4g7Q7F3Iz{OWs`oky`;HY1iJL*6)1P-nP%5wR`jp z-LY>cdvxMVw&^BW-U4#Xo-402n(Q!bZdf`(XVIo70P7oPa0=h~S_#>;k#+mn$@Lw+ zxv!kVTDoHN)BCeYj0oOv z$N>E5?#DeELYK4-VgQS^W-;(n;I+Wb*gg zrSWv)Lce%0y733IhrY#^8$P7(Uij{Q=tJB5x=)Fo*^5uoS6ZRDIQX&W<-Z$!F#4DO z%H-UI&|NmVPEg3%m-yiAQ-vDbw1u(>n&E2S4 zoz|XwFE6l-!@QwyZKw`sWL@ra<_9@hnQ<{=`FaqN_T{tqg&kmE-QP4DP!Z1nX0B!hQ}X$4CS$zxzKZ7Uiira zTlmzq8$j}sTtGyYY#l%qXo{|4KJ}|Ou+kb z-eyBs6Yp#$R$J0;{$0G%K7IFf)&SR3r6mtkhw$$WU=Xcuy-`~`vv>G>uon70yooTr zr2pV;{OhC3tg9y8%{_S3kFmK8>B7(%Y}P9;iShUG+5BGN=(J;H^<%ri4G+3CrXD^J zV|1<0puEBWFXua|_ zURFnOJh}O-C0xfQYu_+veBsl4DX!K=fkn3)9E?2+@UpFVCR9e)vJRSS<^bDq)LpYK zs}cksO~~n<-8fDsjJj+&&{zU5gPo_i6C@a zr+0KJowN;)$Q!uboU5&B(|I!ieUp(v;s-BZp2tq;Ieu2g9?>QJu^e?%PUy-UZ^sEBlV$XX65{>uYl$ zGO*Lea&<@>TbfAuW|J>HYTrr}smO1$C9r#dsUMOD=(6AC$2Z{VD?lm0cNmXdFhpN} zK?z{{5)ysw5=xF;oTXYDfDwm&z*RQ1@VANd&6AD%TYrO7oYwO$EK+;K9%w7%NF+s0 zlkDj0X52)&I%)^Lwq^G~UbgxFDZ3MO*>NLD(3P7~)iwR~^!vYNm84wn*l$jYh`dTw zPvaa0Nx*k^I6#oWXdg+TOU~H?AL`uG}Hxe z@K~)+J639sJ1kA`!*eWGtgc|;`|6uHo{t7&Z&S#)zO?iCadM!qOvdd;$DR!o$MBWm z@0`pvz)bof$Bm2E5QzhJ@}Wc2n5ud>DVg{KG4s@ugB{g5PyS55kSE02$ricNCZ74; z$>f6nE{@;aPoit3Ru}0i&*nbH?f3kzvIL*a%~{y?H~tPX%6z%`Vqemiu>USO+mnU> z$O>0{-TdM7s|4f>zIwKu+_h@}=BL%4)NlOO_sIfeNONtpJw5sE`a^G|bk31FpxLmm zse1lkq~cW{u(L(%JJ^8nXQ354-NJD9Q#!- z3Z>w4^EEW|`}7+y*(xD9Cm)<_pBEHpRHoqFU(WGN_Q+8UL-)2NDDCyZ-FbJ;C_X=n zT<}>)iw`{ue4p=6vYEL;7k>he|6&DcJX#+5&HKS2 zxAI3>uaApQcI^1ce*V(O42{i^smntEsk2$|IbFy~k9#p?bk6zd1TAvO!rAx9)yF3F zvEFK|5BbjK!VBIBcX3rc(%*j%eit{gp#M$h(>L#!p2zR>qbr+5q>w`WKnY;3E+RwI6=k$%{S#dg`EU zH||unG=Q<8!*}8VAE+nG$uXGn%bd^rrzEj{{>q?y;a)tTcYKe(1zmHJ@)#y&PpMqS z&u2_gjkkJr@E%R#OEJo-H`l8jD?3}0@vWbCX_QOqz8DAUH+rj`4Q@}IZsJ9(1xH?f z>6=E^L*lXWXb<0x!-Zork{=EUS3+@zf7s8y^aRuMK=eF(EG{`#Ui;F=i=L@xi^3dS zZJY+QbU-)984b+gXgj;qs;S@lMf>rCTiWsW_nioKmGF|soJ^>5*b%N%9wrD@fFwPS zZ2j^j7m*Nr<~#BjM1x|Qh+3jX;-wlKyo+1v3d%=I&c+v zpD=UWp+TcpcmY^baoF zqa2`%G!-ym{v5AUpFU|#{RMy+ z?+S99OfGm|-$|e|`PrQuI`(~~%Q?yD1Qc6z^mLYJKa^56_N6;Xjr z!=wXLe}RD?^5=rtq8QrW7)@I2&rcoHLU+72$evFQdOihHSv$b61E2H3$;6abcN5sd zzPe5>ac%s?uE8N2>$?!|U9={3!n$jX@ah5Y#AEp%y`31d+hqF5dpELY@g*JfuCFJU(z198$H?BQd{Bc97t4M#{eR?%rc@NfgsSl# z85)O?&H3q;uLQ7j;;u0D8wt)&J$OFaR{{&pM&|Yp{1`DL0lUxWKHxsIO0pk&lmZeLOm{W#mWJ z#D|YqsDn`W=uiBM{`JMXI5?ZL-O1AhmgFceH}zP#QvR`jZf9gHxHw0ug=%?EUe_D^}i(Feji)lZ&CL8XeI{_d@mv% zJ|XPCGKe1wF5*n5te?mm1o7NF5dS^RNf+);oy|}v$$aSh-{&U_6}~$4943b^^Vv6>)Stij#J7R6x`Z!PEB^eKyjDBh#oiIK=CHam%EKRp_B5tA3c z?wlice$n6joNwg`&%5AAoV;X>e|%L2z0hV$cGAx}eq?`l>dq$31+gm`T}$B!$NL?? zUHtThrtC#J*1~>ofC-eV=-?V4Tgd zSjC?__wK92hlT6dL62{H__4KqEtfQxrmb_)#94QJZ3FWIj8thf0p z-{HmfU$Vf!qy0;LJl9<9y#J$dl)~crc5@eI+0Y@kIg~ME{xjB1hK`9RT*iU>nuGb4 zB0Tg9HZt~ks?!Vn^^2b~rzuQujaTPL_R&|2k#xSe5=YI~a&~38oOCj<340i0QqQiz z>ys1mZCc>mwSaiM_U4krv!@BfT5*EwSEs)B^lJ)S_1&;Yd+irngi!%-2*@3$L-9z+ zWfQ-VH?e7Kxy9R?Lrqs`FpA7ad?J<^uJ{*o^b}s=NlYB=YghC$-u?!+uW|-+cRGwKs>tRII~cTYauE$p@*U$N2!|e=g(^L(2IOUVM~3 z`sI1b6@Bq8FOq}*{d{|QhEM0#k>iW&i~JW~;tJW?B8y0UiXyy*Bj)h?<(I#;KZk3_ zda+R){Uh*Vdom7}tm-}0sZH_uZSqU|L;5;9sDtB4oz7Xt|Ct9AFEW=zKFD)p#l>zF z2o+(pxnOl|-o4yen@84OuQ$)+Is<=y@p0ppE@39V+V3A;?D%J;`Ub`gM%Nmh3&2es zUkIA!EPU}v{b#|mO0}B*ueCbRQEq!GD^I0G_3Y*5Srjg>#Y8Ej-qWdgdZ%24z#L&j z8AE||L3M&mSTTY2P0BK0r-C5r!1rP&xQQ?xPF=P*sQ!ACL^~MebB2mIX*+)OuGaav z&Nw}=P3oXijn5S@4~@rwpZKFO=KVi;Y4{qK8Ks9ddBr=1GH>3~BFx@bJ}v*Rj&{$Q&Av z&oI59cyz23KAsNpIHjNN)wLZoBn6eF0Zt=7V)%KUx$zW zl1P)1fhuvO-Ni6kFCXQ&3vR(tx*%tg<#FEUMZNa~go}t9FwviFZcvRBWsbsK)H~Xn z@O$AE9DYCEHyJ;BU0?Y;HgOT_Y%pH)S?Pw(;MeETp5L`8aJuFE=fOz_1`k`CiXMXCnaL4!^uhS!)wzg##G)&S@HoiL>ABFcPIyd2eh{u+b{T873 zF#}EG>-e0H`R?M|B-b2+?rbL}>1lF@zue?P|C@Xr0}Q)WuZSUh_^T_9Nk2$&u{8bvuouH|Z5PF# zd;|XEX4~tJn-JXH+Q?#2C(YwEns8Tl5u;}1`iXY*?QQv}9~f=*=&|Qu)wl0~$*O(r zn7$)N_dOHw4S0SyS&rvRu9(!tY&h08gTcPFeDi$$hM$^8$wdw{ZGm)-K;=FbPdzGE zfYgQA$yZ)T2L5oVdwSDJ9IdQ==i8sGh@M~UODlB5;PggsW$oqh*jim-vtPV|U#=}q z&dH(OUV#I~UU~K39K!+oxvg$;jjp}A=}9)*_@S{foSlQgSG?PwZ1F>m#llTI&z8OG zm;7A*vHkJ6n2QMYP3Z=YpF8(@=3hrwE8WjeZy%jK%J0F0JGm$G_Gsl_xFmjNCpJ8~ z)5ZJ`jk`#AVpzY-xDqX@2VKM=2|Sg5F&drlV8_Pn@hQK2kYn=<^wop^-35jH1JeLL z)k2-T!@Zb0Jw5;mM2ixvOb_Cb3jXC%eu{rVV%~WSe}j&%JE6T}W2nWyvp-+S1pqI$ z;P)aVHArQdy}2!t_U2k)H9W=P@i|>ew{@pS?a8LuTu9!zJ}&MPh3`*MKN zCu9R@US0d9&IKpIj!vlLn9a9i>{xIIi|(Ns5Mm%c1&D!EU8u3`s@jw z?bBb4{qzxh94n1qbG^X^&^168e65x&9 zw=l%6CkLH2FK>Ltyj7t*YfhqN3!Hd~&L{JI1={<1nqSji`{Y9PZ2px#gh)BLpLsMM zSFNRO+4(o%SH>+ygXGsPxEw@|U&uY6Ga1ygCHV8?*?Z7wI(^tICv0Xx>g!UQJ@bLH zpTYKY0Lu;*LG>*$hM&Fu;O~=U@$rH9@W&fp{97JlfL$5i<-haS^#L$%So-GHU*>xJ z;pa{H;jMq_(pi4bc>R5zY-B4m;h(MUMpk1W0=i)_Tb4#d8oitE(J%T$2m2k*=B0Cn zK2_+H|Htvu~pODTxOdR{grS_euJH9Mfxp0piv}-d@ z**r^A7bo1RV~Ef#SpgFuX7NB_$YE{ z`|d~F)uvb+wSePtr8<7#)2Ft`KJToIVWPB2bUW#H=~QFT#BRm!g7T68AuedFC@x6o zfc+WcOOuXcg8kzkKV_dg(m^Hs0`(>2;}qxGZt);O3RYi3v4~sTI5M5-kL8TAx*4f7 zpgl%gy8#R>A=69mPrLa?OhNCLl-#O)tgv3{=X?So6XTW8E+ATA3pWP zgMM4l)J9f!D?Ab@L7}DC8$@)xUUa5i;!)6XY;S7`9C~N@tJ-I65_%2T*vVj4xq{1< zD1a#(8jrvE>Et;3IIqls8T{uSzw38*(JR*97n9HAEQMVnZ5PF{O;%IhVk zfg{iK1h)-bWldiBJwLT9kNxAPf4ua7!$&{=?B}C@dcIO|y3!k+Pr3q1{_CB{$Wr?D zfis}6B^ecX;u{Sz{8@q1wipOMcBl`6YhV*+^wk!E%_G(4;i(=x8+m%;(>9A2bpGl+ zK#^m<8cma7*}IEX(QC3cUIVYp{G7N zJLhB}1Krr5?cj6l@z&+x(Lj4VKI_zzXLVoO%DJ{b$oxTTvWXqV_`xc>`vY%!t1qAI z(H%{;`h-_MJaIMtc)^pe^Z~JipZIHE3ZC-mFLZ`Knqbr^Yp-0XBP%{=ELOG64sdoZ zHnxqYuM@5Abks*eSATyd%If#>@!AH_6nx=M&oGKD{l#9{CUYn4NxYvr!$%jcaud6= z2OiU1Uy%oI9^p82!$I7zr41iXti=Q^pZF>k+h>#Go5&;J%T8z%FTCuF_w0A9-o?3i zEll@q&Bw()I=16=eF4NjmFjW1cx`C%^6=SqbP5BfUH(DN;uF3b%RMo6{BO+pEjOIp zk!E*u7h?l>xxfAKF_@gGUO`Ji=kr**I%Tnj?zW=`mv3U@z{=<-s&r!KE%5)Ecxbi zp>{D+!XF>#uaLX^y{Dps`^EE1cQy!&mt(8T$53B;IgHKdd<(GAq5N~Llevw0JmIsq zW0teH8{&^XsY$&!qhD?O;&5@u-du_f7`Etz@B>GN@uAn^x^fprUc4uGwEJmZZStA@ z<-gMpeNW-Met;n2>7%}NV962``sN}^pEe_ZboFF($VZmDP9l?Sv4;2Mh111(6bj6T zZ%g$)+Gj)8ScX2m`K&jxW03wu{#S{tXc|*~`|h`Y`{7I8t(T`%;40?K=D>}k^qJ*Y z^40d_%kkxM`lhgZwLY2Y{(4K#e=5vixdqnrt7e6qcaejoUet7mzN<2EjFY8CQ z#snJK$|vpStc@=`{zU;_|AsgpR~Vn@=0ES?pyW+hmq0w;B2hAW0n?5JCtc?{<`KOP zX=7SOhk?$~cQH%g3My#nC96J#95lC>QN^s;Zyeima2*6v-((b+?a`wfd>gt=tfBQO&)T;acL8|W zW4c>pVE^4wkIj)Xy%b zL(TnyrEy^*V^^3HzvDMtz@z6_{C+3*WB@mjJ-T@e+#(g3;_rSnBzmHuy?3~>4{;>^ zP}tmE1Tj&11}r+{Px%~l(PO{KR-f@(Hg)!s)gCOnZ(wW=dF)@}&j&bV11ufePti_1 zmuBReZF<3(wpgQ+O1!o4NhQ}m!e70&zH4)?ROTl)!^h`r|F3#?(fYBA1vKc@2@d(# zHN3*4^lOWUe`N^v>2UGXf$||cx!zpv=(8Tb&(aqQhraj&NAKC1T*`DV-<;FFz7D*) z*I*sl*EirP<85DE_~Ao_)qV0HgZ$~&Gwjhv*E>(d#+87*~e#nllIyy_)2+X zUzz!lt)HT9G*`DhTIeiZoy!A#*>CJ7Z)n2>&Dvx8(8YK9ji&R)SlZ#r2Y2+2ENt`5y2J1Da z>9`Oc{qA`vkcl1WJzt^suL|B}YWHCWmBy#V;>Ez(slL_r%2kJp&-_lS*?6%opLq{N zSw8bdPfWo1OMW%aJ4euj$A@ItoDjX{-n5@d52oW?{K+r3-J(fYWwAN5Vhg_>wNgF! zEftP!__2R|`PiUs56t4Xwi=;lukJ1H9~(#av07sK=DvfX+rKKsWzPVtZ|M_?w$-mM zrSkL$PWeTzPr1!ulQjfaYs{HsJCNPMbeaP|F{EKj|@-!1-Yzs`C4*kdzttTg6dPc&UEdUWX6o*zr- zacGEN<0hH$pPia#@D92t85*LR4V8?55a{cObB=c-~l7$1l4+;fqbzXWskNwBe|;EW4D(M@B>%dpA9TWJ@xDEoO82qre50O)&UbDY=bAEvEf=9l_LUyzG@7@H&M*6r zJ?Hgcj?D=#IRrF^sd>fEA%7hYxvs^~rtEGjL91k(s?^X3QY7bhH&C()gVZZvK7~6+ z-(XFu3j#qKVA}&9to)2!6iL+vHj||@&RtMSWR$y=G(o|6x61al!O&B{`}?y}ebNBe z@$^R%U*%ID!EzntXzP6a21?+|Ar8EO>?We^=+DYwX+8Eec@}K$B%2uYQOEGBLj`)b zb)eH7ya5g_*=*!#M~oeIE|~vSIlJ92VHBo9Pe%dx)_cA>oC{8|a6h$cA><~n*LluQ zy?8?;Wx+YSUL4$tTN40IfRFCan>{^#~W$-!d2lRkn3)>C@q zCaVd+_|JX?3!nNUi_>5#OKhpG-*=_Qr+!uPpFiNSO)pFWf1UDyBR4+JY2&3ZF=+qa zu}a4OuIQiT6}ZY8;9}&QEvsYdzJFpIuNS|E@Zz&{)G;I*+CS%Qi;UuJ^=yk59<$-v zpsAaUkIYT7+?n~W|N5_9=&R@Z-=C)(!252y;`no0-S+iKWUN0UOPmYo<$G`~Rp!9aT#S0JPA6eGuQfu)i`p*!&qg~QEjCzu&j$ATq58giCW{=7`C|3( zY|dxL$@#g*=aJ@)9=z5*_>PCOdV91#&&j2zFW>0*TLyIRYFJ$S+cz1n-K@zNy@K}1 zcrii`iy+=vBu2!ByKiV1Q^6~>hl2-yw$mS`zh=kU+MaWh%Fpx3t4^T>4)U7?X+;ju z|16#@uautlN1o}in^NX7#Z9|5^giQUpT&kYBjQ}_+dKiZw1p;X-;BMl+@ z-e-JBEXF^YdswXSIeT4hI=ktwNM9^{;*quTQa*Bt?fRSEAF`mcco+_wtcY*pmZu7% zasRFj{j*o&mLQ>3AEm#2sc#?1kV8_0xu9d~Z@>Mpx$!Fgth_}*2Ryu!2 zOeRqOgu=kPj|$BPql-qOs&$^mZT>?qc5&Rkiq?ZS|Ed^`#$?Vrp4$WN_O|!zyF4*E zg?%Kf9^tDD9$eVJ;)-0u9WAh3;K-t6<&K?x^(0L;VsvrEJfyVlN$wx|o{zLO2LveA z!iTeJlfVv7zH3|tfQ2TCRpOOKDhex>?e=Y#mj63!RD57$t@xt-d*>T`SL*XS77*&ZNZ~?#7@7> zeSXh3L+~eGgdk1}dGOp~jLNlwN3S%4UD#p)3jJ)0p@TUc@jtq;lRF~|&H-IAx|gy5 z{KFPyytu~(9_}{h3wVjdv59>zG@5iGR0a=X1oWgyeB#%;7zWjBz2FRA^s=in7M$?Z z8NBc%+vI-f9utADlB<07lhNsLo8X@I))~Mef5N3Oop9q5zVi7yIYbyT)^(>4`nJA! zCHgBCY{=8E1PG$Xg#sc~D8#SZY3B@7xn<(K2X{p0VofsTzYxOVc;s*i&U)}xjRdFXgHyVZ9(fdRjQ&UAIW zb8tJi&q;0jO)iL?)4#GygyAJoj_z!xeX!%FO`SH|mrfKeZpch08<@eZ4h^mibbHF= zmLN^!@NaU=v81Jave+x*fi@k%I9AS97F_OP%Vd*`r61ThC@Z=51QB@r;G$W$?8_&0 z;$Pp_rr)6XKmN!6fcBj81v{L+9%KC4HwDfI@j9u^g@*W7@b%MsVkS!G`=F_7%lo6c zMt*d~g}pjIN6n^eB_<8h{fTO{Qaa$!yRu(g(bf5Hd8CmC@PG4*EuB30Xt2XaJjP5`rF1^% zmT&4uw=m$*7cM&|LF(V$;+bU8~XL*2R=CQrA#k%O8Gsu z_&stNtI9ic*lf1vXK_L%eArv;qBokO_rgir>h>!=udn329DV1AAlE{ty@=1;#naD1RJ~K{jLGNs5546s1{Vsm`G#Gx?uArk2 z*#A?hDTDvOX|H{=ch}V7L+kQ!(j2{;yS!oHn8UcJV9U}7(W}2U^1L^6-!I3mZ0z~S zxENVX;0|V6Z5nX&zRP=rBJGP8d6ALdEcCF)Vvl{V{jBrFRbLt&`*2CYJvUoi|Q~4y^{%G+@=%$IRWIG?-9EEIhA#>Vv5 zzN718CIh^VnGc_yryfpvZsepRKOVoaXS=lZTJZUC1h(ui=D04x9o@=sa$L@?l5Lx8IVle<7UvXgzH;rf zKhSZ;d9}T8L*LhMX5acegy@0y$q;(<6l?a8uZ3=WlXsHP<4fjgiG;INa)%on?F-dr z`V93wp7h4*qeJCLtbA|bH+|KHCwbT_huznYXNpG@b30?+dtJd8^LbraT`K?SaXMXp zLxiuwsQu*h485ZsrUt+#h-bVF4)nV^0g>SN&Udmr!b0HpM6nKk6wwx{4|$BwAgzAt zPvE5XIP+Vu5+6h+QIpGgvgNhO!3;a5gl-XcrSU$Le(|INdVPDr`A<4~!_$~UwtsE*tn;BeG;DaYTwD`KV((W&HN<4Tvr-eTE53#zJci`tc^v1{jlmCwGKaVFXpR82QoNH6qSsBc5S_$T%2@Y-h z9mC;Q=fiJ%?8$F9G?!)nDVsVOe06Y(_sFz3`8u}1FJ{O`R=D!eE7rnW-DG9Qm%Mm> zr3X4-_)3{fpLS5!g`Dh{3&EB*{*U~_wV!P4%|>7p_>IfJDCQH|z)#NYwXbcowJD$S z)lN^mw;n*p&*OpLXv&LNqf0J@{m5BavsXOMOlKDiY!-ySV4`M5rh{^_iqeems9 zM%XuP%_+$h?f1t%GM=1Jt1p}56W^*k8Lp2{p5yzrrE_#X<-7UK%|pn4bK&Cw-nn@v z95(Z=Hbf=^81jo%`079Pa}Ku}+Y|PLxO(R)&8dmG_TikDp9Z|T%N{E5;B>rxa3@O_ z-`J4H!7L_o3`Qyc?t6yR%a?<}vr;|ujWypS?f`?aRnF8e{*U_6uTPuXFBbQdcl{r2 z#K`&=J;ciB_UDSp|H$h75NoqXyOKY$t&MEQ_vGUXH)4a_xTE)UCr20PLTmW;pLBcj z@qrzfV@tmL#lGZRtaDVol|9?bE#E}HT}Qwt^j_C61A?jt`sw_RSC zPUNxCwK?N64$G>BdfDe?le8I?zT{mVozqngx<2{CF9T%(79Shs#o_qY-l>gHPyaJ! z1vj$4c)V}{#)^+$MzeOUc$e?k1IS&I+T(lHhg+U^P&iZ-^|k-AH}AvAV_$pYM63^S~tI6+7BggD0^v%!E9n10eMKQC4{pQAWplaX~;bPu1v zr!crpRJ6^Rw?F5f(VxfRaxwi0v!K9>ES~|Y11Wfz*!yWV-$h!Y3H1(+egcZYptFfP z3jg)D|LT((f5~d#_xbL=J1z}@*pfX=5PByfNcj3~`0|gAyYe+_&|9hK>v z6+5(Jqb%s|!s-@6*y=hxe(LBUxD=03vYS$Q9{Kkutu`-cf)mPte3vtVeA9-XIup!PUMJ5U3_E_G7cJ69!uDPjv`3GWrTNgM#}bkF z!Q0QhiXk|7;zv&V&kY?gc$H3Qi;3COWCeUaT3@)(?}RvX75L!4E?V)f&ScGoA3kwL z>*1g;X7TND_U^R(m>99L`jQQ;z|*fkqZ%5H(LG7Zu(Dd%QYu3}$Gh|+Zx@wFH#%_i{p z(B5JaJv%Y4yf+DC8#GD&`}ZGk{8S;PQNkc}nk%A1FAV;gd`I-bJ?cBRFy<=t(@OxEqeqs=;=IwT+Z>IcKe>Pjngng=4I zc$==d0UB9Z9y>t9*E7~WUI<(k>O~J_%xF#N{zgQsrxAa{AEt&97mBrnQ`*LRozZ*eFeh}rqBcM&5Cn(Y4fzyGbg zH^x`C*q%%Z-0yAX8I61Sv(x7A5MS(dHUp3Eo*Mse#qv<$YPH_E_Ygxxdo}wAz$0GU!Lp2 zd;qlBn&Ie0j^tN*HVz_>bN#&i%CB(5PA=%(DgE-?aSw^ee6-l>GakvI%udxM^!W3N z7{6SjZMZkC++AXD=*|~AuAL%>$Iu;@QiQ4O=93@xJYMIwaSl?e;noiHO)T18bvq|B zMNR&yN95%hdNkHjkFPl{9n3xYl+-h(E@o%1jxXXP zbk*&b;_x8V(YmiSbgmP6_;n$PEN9--T&WLoNCyReX|reI?a?xOHe@_d+2!~-Z2amQ zS08?%<*Nr|SKYZu=w69`@-zl-;YH`!7GK4p|97F^IDT?ZB?&yf=+j9%9Yf&!ubsZx z`V;T@(Fm{v<&XIUkIR40oG>(Ykl`O?C-3S=T`P(N6S;*_miq2JCJ0^8%$HgZRK z7wiJO#*JW;p>m|jejB`&mzAE=)<>TFz1o9Urx*W>$0_eYEQ3%k(gm{x4*Zobk^e0p znyG8zd}!zVe)IV00L}$gWDwlU>bUmz3pU|@7fA48$VaZArJjtAPET}JCi~q{INrNh zBda$Fud~28@pZDY2<_YFv&Z*qGkmOrO9JeFvYx&-(L~#1$pGe&TWyjM+0@(C0UC2@ zzlquDN|yPn`>XKzhr)$;8DMA))&SU?CPC}UT)Ge`jEVWpv8*GS_PY2T+ zvu))JBQ~&+V>*KWEM#*5gFhIX3F9VF>-%(KHxuW-{x!cdpM<(WVYJ&vB3mSSvv6*s zxI*?jdVNkm1631H^34WKvMb}^czW5BYjStOO2*)HkPWO@mRD+%$kkkx!JZ6k_}b*T zwEy0xD)goB(O>h|7zCf~>~VO2>f`Wx(Fsj3`>KHU=Fmr0a%;b8kn+BZ zcR5ZSng)su0*&J*X4tm=d3=Z`+YIj?fB$>?mb-4~uv2+s$OZwd{MlEZVx}%MPTw3` z)C>O&RzME+l^Kh5y5N6f249>k&!m*B+3-{L-WpQuB8H6uQW!nh;xb-J2f7?@;BRGc z+vmh+Y=GZ)e(@l-l~2Y?e&JWNEK**MI|}N^Fh5$f;8lBuX2(T#n`rJi544?C{L&x z-&RiVlb2lh@SQ>*1puU+WFT)cYH}{ip2f5B1}t&-luZa+GcOr52j{HA9f)wt6|ofk+*C%_aIjo7K@L zXLU{7lfxpy^~=-Ev3doKcq!Y>chupfkkR$cr+i1}##=T!yOFb^o($y6AN=wGH(7gp zb9MQP7-Ev{%FoT2*N>`y=qwMAbN(st^AVDStpL-@UUdXKsPF+&{2~C4l+P9>;S}8u ztF}*sJY)~f9H!S5!QnUCEs7tl_L+w^ra0s0PeFhDnlp0VI4#bHZlPbsMS6Irj$b-n zLe$>nmRcMpA!W7H-HbU!Q(sTp2XyX#FRm? zcg)}h<}Aan8z{ua#Yd6yadhu&yq%e>N>y-ek^-A3aI}Ax>Jb_A3&(!3K>385?LP4w zPe(dzaz0tM*n?+f4Q(sw5~w>LY_S#i7k#FC$N0h7MI714 zNHzt`HoPTDZC&8V`T1lk$)m@fCTd)yuiQ2{5}mn-&!+x$=Pda{+=r$(q#oI#WYN$= zhi|Wc9BqRdeI`fk9Jo&0A6tL>7Z(Tmgjl!V#$K1xY6rZ7>$rVXE_>?KPj_};r}+YG zZIprkKLe)?4>mo0Vh`uRyDTtEoDP$x3)uWG*|c z<*J^~6BYCl8}RMT8-4nqL+6$03~p_o zw7_ZG27Yx17rrq^Kwf=d?T2&YT&(frms?07Bm6FaJw7OrAnUu0p|s~L+xm2lvv3QS z4mWw+S7O+$oQnhhOU7UMOFtDWa#Quy_H54eXZE>C`rRqz$L5yQ)8lve;d|rx*#Ngc zD`?9DOjSMsk^@bA@v+H^#umC%*5J@z98Wen%J-kSu>2T1+j3m6daezbjsdZodbGs< zi%05z&reEzn=iL}T9<9+Q}}fK)6)7sX=@dG2CE;3y?9AwY2sn7I9s3p@5cK<9z43@fUf6)KaQn9 z+Mhb^99QvSJmdQt!(#LJM~t$axOvCR;p5p@ea0_z8H#TG>Sc6RCR^)2>;>18!L@}M zQ}u>$IPh*u4s`5~%>#mRefG#}kt2vB?hZoh%>2fB|R_>xS17{I(8O~&Y=W?=5gkDHHtNj_+<3I8j`5XWavy6hM) zw9u}dtM7Y(gAJRPm)inM|I+yI5n0%)bo0r^{B3c`jaBazySewp3|?#ikF19qwBRV@ zLT>e~{QUTA1IYe(1_sV;5FDeW<>=o0^-%B$W(%0c(_^36qqGB2KgN#yIvVIJ=)BAL zU#`?5-gkZS*%uH0!F_Z<2YeScVy995zDXfMVrIf*KSN$ZJBRmsY-!^-ciOg^iZEjv zq}zsg;FL2E$D%2)Q=f%~G!#Y>#Or00V*T->@+64Cpx23N$T+WIL+%WBfjE8InPbQW zVt*1xApAGua>#RSm003JX{l*=^-h+znYSPHeYQJAOH2YpYjOqy>QbVD0i?7BwaMf&+EmS4N(44@L{`Y z)XJ|v{$Pivqdhhh%Y9Ti_A_u9Y<=I5oa9kH?QJ0blBD9Lkr!9Tzj8=W!RtliBLlhC znF!edu63*vKYqYHhuzI@{7?VipBPX-dGNCRS+O`&pG2m`5PfVNm_z65g05K8zU13; zlZVu?l{R%~dpe}Fa{hBJBzX>5&Vu^7y8>F3rf+IN3frSEt8*WL&(dZ`?)~10p#UI-<3h5Z7!Do(-qd z|NFoH_v?=JVnJMxUB9e6k=321ZlPgN=mg)Bb@8o*4!GiCHYnf76L7*lbSm0EeUQm7 zKJ}df78?Vv+?~?%8MIkJu*vY)CHcU4+d!TzJN07m>z6=i^y9!rNZm z|DVE=lLd}ry5lRaxUeuOCr@q7PJy}Pdw%!>pU}`>|Im`U#!~8Iw9Cf5IN%jPQLV|3WIdFGino&DI6Ip4M{Ph*d{aSA)-KjjVM?6cIy zsi;36pE*`KKBR8;vA}Ka6KB`X<(G5u**GOn7R@GmX;g;u3t2b!o7^X}I60e@aXzZM zd2#q}F)NjAUhYQYwP|_I3j~&I;m-?;n|FRM)bsK5Gf!&9zpUl+MLTqFZhG@0{c3c; zu=6J@{IXA^RgZ@Y80U)PKP&3Z*NgWjuwtRHp1jfVDdR2vG5nD`@+Z#|FUGj%mi170q>g^giN8ZrE8?V+yf7c~HX5nnFWgxqau4vHdoiE&Mdp|iscI~gZ zM`R!U`ig$G&@vBN?x_zV%dS@|Omyc73KLl#xqia#H>Y{|?(y%PXABN5Sa`esJlao8 zmBD?4d}O}7MlV}!4?jH79G#6@^2TJQZ~dNqb<4i826s;0yuzR8t+46%s+-OvMx*bF3H|9l8&>Y<&{BC1_jHLb2?R*t*iP`CfC^{?=ByA1 z2)G7wu;+ZrE;#Ht*fyGHJk$|58usWkNCK-&`3j7Fu0Cq=9M_%6vw`FF-FE zm5q;wn?N(z35ai#Q2uDzvcC^B#^>C9L~`7};NSPHLO5j(>>I_Opixh>1rs4SWBPVc z$9X!XBrb?2d%~f}3+(Is<9&{fackfDA-vdzzULbgV8MIxUEOt5w7d{j-FM&REw}OY z@4vsF5>QWW`+QQPbk8qGb3S_eLu~wU69eE1OZNman|0#+v~6*WjVkNQPr)ny)2kgl zHu~=h{u0ReiiO&SK0&M|JGRe8HpMYKG}t5Jrp-b|X|g-ZfEdA|~5|V?Ve8KOd`G3|j0_ zoYQT0^(MzI43=!g&Pw~5!8x|5?Z0YMH-2zFkE>VYr{~(hf67e;bt~gN9h=Y}-T@p~ zY?9-U#m}#l^h9f5*pl5A8{MZ57XDeO#?zlUu|71p@Ld}gJMWW8=|}Mdrp+yVG9kG9 zoHY7%S1Nl9)`h&(t$uz%BTSpM>s`9ab50(4>!U|D^pv~MiQOMev7wEe zwOZxMV2MWZMIU>vPPu{!Ko{FW3jAr69U6$|vwDSw3NowrjmF9g;^8&F?%aMhV0Tui zB_7?imk+qKfw|q;<_~sx@L%vb=a;`4mE;)$+;=V+lTo(q?K?fb!NaG!fLDp&X|f2v~}{OuJubhI!0v!739 z%K|?ilh^*UeA4)ofAE8Kj_%-hZr|AZ6Tg68+xEpHgPalK4%r6XZFo9Xz?;m=4#qxq z5Z9S~(C=4cw)Lv{>BdD{{ zDe~BwC(*WI`xNl<%4fNS?29+`$gJqySXAD~(OJQXsebjH^UBupX4P|V>r0>+AkNL&8lyC zhOZozKWKg7G+#!xljr0Tv+FO!{*)Cj@Gp6C;wLSmRr#KbsjTVF#`p9!N~un~RKEy- zM$Kj)x?h*Y>^G68HyP{az&)_T5xb7*Nq?I-x_NzMAuzP;9Ig!CdFM$FT~W^`oi9G} zg6*IEvvn-?K1RC4AEom!7|d(0pG2R6sJ+$z_kDi`T#%Bv0Y%!h5>3HKHUR}&c zOt;Mb!ADo|)P=8MxZ(BX%lo=&GSD|<{%CV}>_WyIgT?nTRnE@`vj-W$tkj~F;o`sV zfy$iAYasrtoUg8BbT0RWX6Q^-QPtxSNgG~bX!=^nuRSBL;@GCZ?QxL4&BD{o(e65B zJm_fQYQ@<0Id@U-9G_}ThHQg5U9N6EC1fQHLg(8?05%i1|qh;RIm&zni$}{|w8Y(p4odG%dab$Kg-leWU zB~tt~0K!gUmc)Ne(Bh@ckoGZsh`j5_{b%KzeNMXeM~0kqzzyCW4@CE5wQ@=Sn{dKI zpS`+>(c?&KpWwIB*!sw?xS*Ge`ZJEfagp&$R>0^JC0;>wdZa@<^ru7XgYTR?n>3;A z{1SoSlSt@ua`V^sdGR2d!yP`H(bmD)o}J;|vEY9P^TEQ0hwH^defHstCX28Kw*t2V zVD7m8?CxyfZOZG|x$TG#^|c3Q;1r{d*&R(di%a!Hb3T~q=t9C>vBtLxsObNW<(uSV zCP69i9f=ard#lUYKW*oOORkICG#!2Z6&K<0buyl9UpQpuKl(g4lNmifU8;>d=yjzy z`jP$X0uNn#uof^T2Y9}**9OK`8-~#E@KI`~O*}%A{YKZ|qM$W+Z7b@?`D^MXxBX!8 zM}IizbijOki_Yxic!M^0G_;BLw%JAG4%VU5g-JNmE$xo|6;7OI1IHe=$>pNjq{c-W zV0?T9YyG>q0qtz;=B`6&fQe2@dF6Pp>d>E#d;(V8bV17o*Q4Rpg`9z5Cxw0R0yAEp z_Sf#*24;R8kF}}iKTluK^S6g@nLHoWAv7BQ$p`X4@gJE?9KQ4?ackVXfQ6F+t{HfiIhUw-v6%;cy1b#jxuiibis$6L4)C#(1K zgx}>tk}Qp-(89y9Z4)H$VDMu1+ADhn7q&+CIJWxrG25c2y*fNH0jeFAbHW?X${q$6~t$IGXp(mcejt=?puHPe5<1Kt9GoGKv z;|DJd<>~wM>J|G>ISQA0{MH7}xdL{$t;mP-)!E~38_v$bf9kh-Jf|OgJix6VjK2C6 z?Y7bIs5EXfsSU##%Y zje$3}J$j}4^kU-58H>jf`}nBsW2ZkWwRH$AMoz}#OBQmLm%NuTiY>@?dg*K8?6Fns z{_8JKtfiJrz3~%xGAOl$eKxdebF#B@HvV$#=i%{pAvJ#R6@EOfXk_fl1teRd?R_YC zIfgf%yyO3Dd-5Ou*&s;O(Y)Mv0tS8;IC5NBL-S-HNaRR;ZI)vrn||o)DP%C#`ZYQQ z4|jwwPlr$HDkE)z>#zKy2Uxs*{`qKYcdlOPan8#>e#Jk%JN1WGppOrHc2VY7Xn~`Sc?k%Lgp}coavhXHibPdkUtW%8L7&*cu=WwWe97YQn2cK~hBhpslsDYo$yj53Noa%we9aMvymKgYiFXfZ~| zMbp5fqtZ#y8Ps18-Jn5F_9vH%*jpJre*ef_!Ty2{B|}0aTux6^rSrPm-!EB6*w=~Si6`e|kvuwK5hpPi zyEG1pdv)ZPu6S=iYVwtU4RrWR0)gdcrF#`8(M^!Z@z@bB^ty${_-|j#2Zl`SYOkOH z&Nh2HUK#vn+m46Jx5K$doiE|3BRd++Jr7Uy@)o;`o7yyTRQ}kN_FzVnT{n@S>umUn zg@*IfFI`X*KE8y9#t-Q?8{o(;4qeQA@~AHG0xx!0fIRB)9PEz42+GP5SQm;nX*k>A zLvLFzlpi~Tv8^4w(X?041Vhg5-GRt49rXX%smHNb^9UL7h+bqH@7hoo$YNzD1Qv3W zxY!)O+9FN{3oBGLuC)K4;^v_4u>4 z)lJ4vJxd?o(6{m3O*pU5!5JRjj^U7RyxCuI{z-ed7NGRI-%Xs;cRXg@ui_>yv4q#3 z0S#~XE?i?t+yYna+m9OH<#aM7>}yXl8(Y5Dm*njDz}RP!SUPlwyr5CjC%=i0!nFLf z(FdK$KRxN@j^jH=#ZHkIkCW%IUC!qpBEs+Y#KEPIqcT-j@gKV7+2*(Ha#}wm)V}@Z z9&MM$;iBJ|iTokchMvojGo-{ZEiqazd3p*6K4f>v;uc`Q(?y%)XnXCXi(U&xc_ zzw6Le#n#QKX)A~f_{0Wz;mucK858wzR!WO3X6B|d5oy`Z4Y#*(nXq1o-4dpc)Rg+N>X%p_|WL+?sF7fsG|x^1rbVKZ_%qf8m32GBW9#w_d!uF#bHf5aIab z6>~Xv{K|c4Q}`?m?RR$#et2lIBb<$6-~wHE{*WW5cjbi>d-&;LHrWq$FonKweMSEd z9=_25Z86ZCr5mIg-|G1Im1Cyk)gP_-uO@@|6nqdMJG|kdd$DnV)(H-JioQOChm^|W!XTQIkq&J5$_8f<01q1yd6qD8%k%ck96F?>cZ?)_M zN`M7VldU`mmWKqt^}V{ZX{a=D?hJlB&j|S}4Ruzrj@O5S(Ju4b|G`+H-!2fxaXMM? zbUd6HS|{9v0A65guhe@q$*Q1sc9e+hKNCj8Xh*j102MyfE3_nFCuFlY5JM35l6dw8 z8gF)X(VoNd1=|56dmT|BBU)rT*z+6Wscr9Oit-KIa)~5lLBaw}?H5`88KpP*AW7(<`dUV@?E@sZhZ(aF8 zonWq=qN~CO+HA84Bl(d}uchC)(V$_Z$eT`0T0n(LEHz62}e!nvO6|#td-Pv=jbiw7}JO1k%=%`cR zZ?B#$@myaZ%kXQ%0FwtExxw?<Wlg;Agcln9u+3ClB zOTYOcu>=`Tc754&aOSH|x-K62omDHdDfH;e4g;L9Yu-s!i#~5M@~vNVik{O|u3!26 z=bHdEr}}zSWDiyoncQ=^cDeg}QrkpU1^@2*>Em=?-F+`v9=`hdqV2)0?X^AQ!swM! z>cb%akw-4e!ih1HWg64*%kLR86+UX8%Q2ehu)VtJPHuMZMRVF554S#!joitqF9XX; z)s-A6quG<^L*2#b@oas z4_z``9+G3a5Ea0cV;hzx80l>76Tj+5JdWyha;x~`~qj=o~C0dGEDLAyR~ z`#bK`Z)`=U{(NK|&id7t-+t`Ry#Dl$=ciC(m*a^qnrCzQLmB%`wkIDscA<@jdVRqQ zpB4SH6VXQ>J^-hHwRuu@7NRE|^cXo%`^hfOzU`e+dTo=F!AxFrkB;?$VFMc(?ZGOd zu(>omjyC+qz7Nji;R`S(*XT6P1JgNF7BY!hUx=ZOO|e06ygZyPol|8`WhtU`^Ffwx z5}(tYd>cc>@0F9Eyq90-5n0cCiO07c*B>6lm)`1Y-jDY$*Wv~?#7b{2m@8rgVm-sQp=+4_6!F*gqZd1Tf9&Tk0wcf&lzoRRA zQ4s)l(vGV|QOmnR`BsO5lSMkQn?>kLnQ_|w$DfD9J*7H;*XkFdJ{8i3ilKb==s?X(8&H6j6OKY3J7*!OEbNw;F zzbRC#AsimHs(zvLsmA7G-6V+(r2TYiNzh(YTJ*thMT^w^WO>*NLE*W)TZmJ9dFpjy?Bcf)q4Yq?%uw| zJu}*<6W8;$r=gRhh19NBl&&MaPS_cb73p({>QqAg$>+0-Rw7Ss{Br3g{kCHqF2)40 z7BdG{w+%b?_3yH`|7uno*e6JKR`trV#OyCXN0Bzk)~nx8O!CGViJ&FQm2 z0g@*fdtG`{C;;@5qV!hcG)U`=A!}rKhxs#UJE~FII#B~4&f-0F<5-Hed*`lJ&Mz4I zD?O~ws>j;s-&NlzH6g2jOx2!5<%HPZ@|C^gUcYwj(wi)2OWt4ecH?;y)8cgZ>rcOL zD(KwGmP;cjkGEbkma!v`+~Ztb+CDs@N>qicEh4L`cw3dkqdE1k|GNODL^MUCSbk70 zXXAz*0eCz*H#qF@;>jJKrPH-A$rBIHiu_1_-M*A8Cf<4?K7ZC~I>8QyRuR}zF~CK1 z`L>bfwYL&u^&K;|js^Mrez7>~E4d@88sx9jp_RVt=BE42RZ3S=!KmK%XgM3Qb?y{w zIpXzp-Yzckt9nM8jmrG@_^AfrdTquG^+2Ua(3^LsBEDa8GY*PO-}|DGUx08Y8|6YrLiZjn^aHeaJ#{UI&Wn3tpJZ%U5} zV%nUg$bzx*YP?M>FR`s{H4HVU*iS$0Y9yMZwLP}C@h|bN7sB7tlyMBsR4VvWccO3G z3s(V18NFk7kKRoX| zqUBcg^y(%A@Uy(cy8qBr(_|3ilk$ZUVh!kn&&jL!06QXEs7YHSXH)_2>1q25nVknN%&%fd-XzcROW;;@$REN>AiJn z;OGT^qCO|PiKp7o!U|UwT3f6>5!L*`Fe$ehj7-R967e2M-Ew{Bg89GiATqY%<`jKn zj;hQCC7!8%*jV}0hW__mOzmb|a_gj#7-45-{NVM+fhT)kReA3Y)J}X9wEmVn@D8l= z7fg`SOG(nue$oLkb)yf4xXa7KtQ0@$9PNRV@QJl=HRhT%L<7_&tc$yZCHNn12CfBd z`nyR4jiEIiqSj}yOLTfqao{(-)Hc<~xm19VX_qurZ=-64oO2yA*>`ZC zifjL|wkb(YKYE?lTRWhOekcu>pG}B>+eJ#TyF28rV>ze?eNns3Jl|TT1D|-vF(LCu zB~LnVQS?8*#8Hytdlt9N%cOfKJQq%L+Qo{fG>ui8uR%`6uYEbBb+xkK5D|1$1fT4qkv zumZ!rn?#{a)N*bd96b80hoh$f=zQO?a5o^)NHWMZdlha(!D$ezj@BhA@uBu|0+&Rk zAvr28S-vojrE>jDk)YimB_cr5#lFS$vTy z&0(F7TgZp-dC~u|xAB`)@sy?yse-+HqpiXU?Qz(Dp6xq{eAXX0*2wy82ecrgx&^XI zlJTN=sQpcty7RA{H2SM{hVVoWF*ak&{=$?FELzX9fmj;Osw2o7#71z5u;6F zN1ft@#(R_FlS(zEk|c*?omm&;40oy!*Wc+**&seZ6}nIS74;cuF`E@~y(a|*DGD^& z?Had_?R`GnDJMjYiMW0J?1i+^hUjXs45g7@IA`;&;iFHxbtb1XOi&*7mpMc7?@;lz z&Q`kib=AtTcb}>|y7S~k3W-etGKx1}_hk4Y25tL~*j=+=NpJEL{`P{_nA zw4;NkPl!-grr~V18X~^Q5BVr?|2taD0W4#EEKKj&+y0WjAbtJ!u42-Sb8P6VY)F8D z&t=$rZ{YUH6&vLD`%zmrHx}BQtHqTpCE<6qtl_n*y5O(LZVfvTokK}3DW zN`GU&V{f9OV=<(>)-cPkwCq+bYvqSfe;?r0KkycDl_SyeSL)wf7!^;SvEO&CI{epN z0qFkxt*?2VCj2cO@3-a0v5wbkiAE9*Ll=}UzM5{j>v_-`d4wXAdyv%$e@U?lciqQ9 zc+9fUA0Q;h&>|?|pZ^H{3bChpPVk}5Ej2}(l}{R*dWD(w{1?4WJO^CH=wObtxI5)E z++AQEV(Zln+}9P2cKilo09|Rb|M+qf^n$3_S^d4!MVO!?h6nd7F31)r!0GbhI&lPT z$&{044$gjw30T_na zm;Zr=pD)(-JAlHS#2TF`w4eEPnAaUr5?(z8IbhE1Z(csLdh^46pL2TXP9)y5mXg-; zZa;i|3^Xrgx(I=}EsbOrGv00)P5sje$$Tzkk~>CTtCinNk2xN+VLF=+oj;2v#I0PJ z8B@Q1GZQocLE&E!4l%$Ej~VuJjRun1lkML_D?HCmEI!qG9YfQhzJfBlafAaOrKFmx zYO>1gca`4m3(pdR4P0%CKbqFjH}srK)!m%Bg+xyZg!QHEc)z-s*L`F6i0!-kZS$DCoDn;u}dx4h@^g3lwQsw@~eFpJN8bBt;O5N<5ZTYvYJ3qwE>^Q;59 zD>`H26AnX^)!jD$KG%-26_FADJn*dfUYueVLyyJ0NT|kR7x4AoyNmVOKG;02W5Bfe zUb)fIv?;EO!{l#N*9?9@;rNj;nnZV~9C^Y&^NClFXkdcF`ZfePS}|%e)ZYbRs-dF|?D0-srEM?-1gjI*>;!-T3o6wQk$3AsoXBGCX>>!_L zViU+}sJGbqG@KbAA5$UA;A4|3xOl&Sc-XU`IemLZDVC{ul`=G0eLM_%v! z-n?nVx?t)SzQgH5i?7j>&X-ms22y!LkOT^mO{Cu8%0*`DE) znZBs+mv;P|^Q&(Re$5C}k6jS|1$Lzv$zB@}U3gNDc|b9h=q_W~F?rIgnk^pKJGC0- zSDuhMS^RXw4WxI6g4{f?<;Yk6xuV=p+0T1*hO?N-LkSF-0ylHIGF^o1C-ECS3757I zSHAE*mb`tJ+DFmx)cl7=h>9`HR)fCAkv#Ts%jD;`^SS2fN4}aSg*HECzlXd~hFMI+ zNWd0}q>HUojz+MWAdPs%cZ;?wlSo!DI`Fs7edDi$q`Q0YZkNf=)1cJZ{QiulV;Of+m@-tc5e~sP1-&r0h z{j;vhjG8N9^?e;QjX4wB*iw4zJbQv1wKt?wyjuSP|8(P5<7L4iJ@Enj>!&7BJF(&x z!DY>%3Hb-l1r~{R$&!D%h5xWe41{Xeo%&J|^YHTuyTbYQ--6~ResI@>qsDw*8xeg| zn_(7j)sLp*atI)Kkx5Z^cj2p?P4m64O|ZQtCdS>h~b@A2x!d!$^COuOURD{5JwsNb=fK#)#N?StSH;$#?Au+ zzu0iH4^EN{kStX-!7PwHMTN2VU;at(w6E$rL+3=9w1#ooOBIz)x=0AlrH!5;04r}L z*hgSKle5oZBCeqRvR1Qd7W`$d-M#GXS4QNIJH~gcthFSX=y6@Ru&*T26WfHz?s1rdnJu zu_n=RWW~t_ZD_;Yiqg@+6D+62O#F`Mh;0XG?}5(+Y}T6hkxz$m{_L9PGEVYd?mJXt4T8nNOTZ3n%GMPR`SNeG z!8@1cR>YXCtBx=~gW<@9S=Q3$w6R^&2U@oE;oP;Zxx@O&%{jkg^VJz%@#<+F3e$YF zx8@!~Fs>syeag_$Exg1{YOnTi-n$H?8gs&G^_ZMWj|{+aI&DP|Tpi=_B844Y)Ug#M zAT$laoA5UF$0Z$ti~Bz%p*SX2$GWOJGMk?&j}QkVp4BjLAZDk@hT%>;Iu54eudslF z+`BSx5(lvx$#mBkH4V-Tt50dcqBR-ScGh*a?UX;TkXvs4^<}+wHo{twvo4~ z1@5S`{67CcZi6$S!pm`4ofBvJS&*hflj{!bn_jNG{9dN^b9UMM+mSm3Jm>MoYfjB& zx}Le$=jWzdZfuH=X%Mae7?Cpl7a4a{YOxWFnzER{eh;hxNd4EqLH?h-(_z*lgW=+7 zTISHn4dalILk#S-muELBupn6;P=o62rmO_<=WVrTMmfG6u~#p^qRWV?7VRQn^W^j? z5nyy$Kh@w(fca!p9*6Ll_u6=+;&;AjdP6mvMQQk|ZRu!wm#=gb&Xp{}8xFa9UD}PB z9$mf~F8jMFNR9W@_FIWtZzSh{iSpAwTf+eZLqDT$0L1HXn@K^KibS098~1^H`f+@iN#2o`Mgy9W+}6aXwV{)n!!u11$37NUTvAE^`V-coic-p@20i`) z%u2}(`O=-*wBigvRF}XIs|MkudkMTg%V+8F;qJCHT;PFIS2uAzrra}E9=Soe5?<0m z+N7t!Lc|RPQg^--uJ?(3jy(OCw66Orw!*oQXSZ>b_e180qI*}qugR3=os0vf)7BsI zx1GbQ;tzi;JgMV|p?&BBpE@L@ByZBEHJDR92fr-Ts$Fa7x953FMJe^!aKzmu4cqKT z-`)!mmLmDbJi5bN2xm3^(_ZfYx|&ZgM~-^K&a#htW$o#&e&y1`n;D$2KG_7)3P(}P zby>_MKT&CUAMcISGWlFt;hK>y^t4j{ofSCZkIe>%qaEGe$}thj=(9dhm%;?0Vig?f z4z}Rt))qxHoL_oCeDxO+`2J`^uK&FLQI>5E6ORryjC3dJ5H?P1Lk#KDX*gWqn zACwmI;G=hLFn8dFtED+lp?gczCmuP3I+I5bJ}KOq?-Fjj`TEMH{5a$C@k!;*?9lWnG!%G7|J9a{{_gCFxRSvh(@I*{Fb18S9jf3~;Tf<*=~UDF zq=je<7OB_0w8qY#yEZD#Yote@1hoL6?Y(=6dU6|wOA(&BQ?tH>J%;t|^}ZWt`udGm z?P4Y`4L>`PA$x9C>~83VwnXt50!x^ zZ~r(C$X4XS0hCsUx2m3>PM0--`iw{XRQUL;Q*8Nn$Q!W zWnR68A4l)-RO|g;;I{l@ieh%sK5W{m^yV}6klhV^9q&nB!jS-|$QZ(z^D$Q1b=1F>A6`snN0FcO zU#revE8EC*MNkdQ#U{bIq#-R8Hm}gB#^4pAbf&{y`fT%|DAlX^O2Al@$+nG(p4p6T zZyo3gZr$>Cs<`cPt&8ge+i|@|Mqt=fuwz@e$C&@d-MH)0>X5K=>UD}XWsIr?EwGg? z@oK40+}DuKXrVpH;nnFBp{32vd~pH`o#eHkg7OO?N!azgl@;hK*1wUgNFk!%SLA@; zb1wV3Mjg@tLUq^i5bw*u8~p$IRIFLslpTQ}SFWgSABHuuay(BW)cZ*{x%%T`bCQZ1 zkIoB@m_oPGUSHa;0W{Gj7NxwMB;fJDQ;(4tYZFYV%Ll%vI(eLzlp~)Q#V7D|w5sOU zS5>B0BrH#OKAOuhdw{mrc3Th#ZlpzwuP;po?!Pe`dCzy7cDJcq6I=JcT~%qQ?L?s_ z*JqtdjGhNg_%A`rh#TL;TJP{(SW~hUFH|bPfoW7TQc8hkQ$3^g<;lPIQZ60cjDc}AL%H6LynoDK~+?TwjFOcP1ZX(y38)1{*|FasXCw;-r6-qSWE`LWG> zoI_SYTrRfCa8W8_xz!=6b}L|LSTI?Ryc&0S?gb7Zm|;IZ*_;rabs+4w$oB@SKahIl z#`Dv@k-B~%;1yrMk)+RH=JJuqA9rzh+9)^Swedtt<-6I-k?I9#2QqW{;=%i-Blr?( zy2{_7wd(mx5_+yuN=p%e?x2aItfOXWm!HtDHBnJ>Dc>R}qgaOu>_NK3(fqb+ea78x zfC=j24l41d$_25YgHwG6V)|zBp}{BZ#L{zypJ6G_H>!Swf=*n$25{n0PJtm5GrzuD z`Q(J=nztdzI{95JBM4LM3HE|!*a=DOM)SX)ozrK7J1+{=vcxi4ig}lvF5n|6^W9^? ztlQP?Yf6#eGjXv3?~vTp$o^9}5XJhR3#(&k=rk zt?UdSvGrw+BRt-be{{2{NgbY3Q$r+%#N)%uw36*3Xs6Hey(o82_@wJ8?Ccdc!B!B| ziH2p3TgU0f#0%L~-yvkpp9jDX!S8waozA)hc>&}p&uiS!QT4r^W157h;hh)A z`{#nV4EI=)G^2~YSXsBNoWlD_*Mm?qkhG-9eM9Ep#~N^yl4ndS1_TY-c1dh^SB}_L zj7aQpkKU$55~CTTBU%rT-E3U#ocYR#z(B{AwBD;3z1!7=_6k=jcR=wIPi25fTkGxa z#)HVDbGFXjHuVo`!5BMoUca>7(*)tP2?6PGH;2|Ia1?0$(QBbomWR!F)eIv z)6wNiaQ;7LdnNh#e~}pzJ7vdLPUNwnS$EB(-JOin`&}#5v#4Jgz=A+t6I$F0nB4K}uajgzPT4$aQpP-#C5wrPcS3cqJ za$S!%XRBuzJPc!<-dWgbTmyO)LR>@5EJwY>Se%Z_Tf*Yj_>!L{zMzZs`QL)fWHc0K zV2i$%#g@#Kw;-kWS4W4F{fDr+M>KTYx)o|E9=LHHJEwLc{r1;^Wte7IO&xD8OkKlh zceQ=wBZi%WqGft;Q=7Dd3X@{ZR>TWP8u{H-MmTHja>1aQ?N?EaLjPF1L+B)7U14** z^!uhBoCQa}_Iuz*TNy>jR54GbsPlWQi;&?@*fGB#jhuGX>w}Qv=}r%#6uexJyB)0D zNn@$Mt0ze%10JNBs+)%Rhy@3SJ1zntAgrG6Mmwn3RW~Chbyk0D9oH8uW4)&M>fP$j z&pX2gE39l|jRrZH$CN|=eq4O`@rci<_v9T@ms_LlxovS;2mSE9!k>#W?{zaZp||~G zmc?Wa`h@MHij>fB@8@%ao}(n^fpu!m%cC#Gzqa`hdsPoLejh={UgqQa&W>J_I`k~P znVK6W>U>7NO(XPu^DJRl2gLRA`_l{z!0!yb-pbH@Tv7~pbMVBJva7~LCv-{pRjCgX zwJrY$yqLH%{v)KP4Ylt{2j*&usuoXaAGJrQ z;2Q~nwNKvwO$RfTYO8*yNq{V@x!W(V@WU2293@|~4!7F(GnabpyWLK*Y2i2vUO`p* z$IeVi=s?@Mr{-p0jda+PKJ%Wd9rAM9w$%Aar7^)^`JtDOsi7vcIQcn$)no=EHCBTH zK?v;KApTkCLv(hd2$8rBB?wnu*-5KU$3bj(`? z&UBSc$muu#b}Oe}OA>}Ljy3CKRwnJtpd|)gwhY(PHK9i%Nr_sI)8as7UOmWyxPKZQ zy|?{kF6cVQ0WfgxO)lB}u3z5=CM$X}4(;G4*kxnES$stAM+w3LN!2V!TK2!{Fb`H% zF}r2Q+HToMHV2tp;=cdkd=H#nCwl(0&A5Xz&Z9NgM#m%ZMtwE7`ku0?U^7bzfQ5Zd z19Sci13a)7{at=EOk?vetlm$)CkT|Ogk?F-N62rmhK^yKC$!&BY!-O3yj(Ciqi29& z)FG{+9-vcC4#c0O1Wg)Ei=Unwlzykw@gyggV6rxl-+MHy{z;RAM2GltkH8B5_6DCo z#*&9#vpD&PY#sv5D}73qr|^8REr&t~EZVp9e?#a0QM@`*WU zO{uBSM`pQH|E)RuWmR;`DQGhad!3M5B_1-SEl)hF2wq6Wni71_LM-F>EJu`9pA{~? z55l@|InbIMeLFsBK8Nel5INTT)h$koHd-j87x=m`if0-(+*vZuW$dJ3yU@T5&fGH*iB+2)8}g zePtOHFC?TV)kxjVQbhmx%7r(1>Pt5SOxBJx3JNw>3{PTp88 z$!PG_@X&niFhS;bQ9;xc-!yqpxo(XeU@tcsj|Ypd!_xaF>o><_m?u=CV9zxe)!qYo4-cI1{CLb0%2KTF&ikmG?pErW4z zd-uJ&thw1!wXG&VAl+*APJ`b-lDc}O9-8(Sq&k;9U6*!_3C+~p7WvjW%wnJLyNB#D z_z^YpAHe>k#rw9nDup;leLB%G*fusK{v3R5<(Mxe<3mNhxo1MHRfN0aXVDe0j(i`4ze4+^gq%oDzfQ0G6M*361X zZ5kB0018kk6F|Bl9m+xipMKx^E-!m77nM2Hx(r9q5D2{v-aq+8W(&NY5P_usgF9g3 z^mIB1Q_8FAkq_S;v#BoK&A_Qzxs+sZJ_UiM(ZuI8;(TLFY1A=Py+8V$hhm}$P9M2s zH@VdE43?!sqc3Zuj@-;Mb|;@!OmlrHYmOya3j8_J>L%=ZM({S~Sef!t-6U3= z;D(#hjODm(jV5yMEQ4+0+-j74-&dEd7rZ|fk26ST4Okzc=lkLu1Y{?tHjgi^HBUzC zxv6|6bh5XbKX_l?cs*N7~a{@s<<8q124aRIA$H8O0D(&08>j6MwEdO zQ@c&=><$xVq;OmjsN1ITf{5C7XVj`%C2$Bhivto}?N;r6IZ}ofQ-okFX~|jk2COe> z=6Q&!0UzRQ;&9ASUm+MUlVsCFz*OsAH%F5+B-j0UA%Venkv`qxTkzh?Zt?i}@XY=3 zzR52b^G08S>Zyef#2jG&x4P~$2vL?*mX#_rm$5kr%mZ3)ykC`v(cO%Ey)pH8K^vSx zd`*F+I2iexVriU|pn8Zf&y!~1PiGeS+GvxLY(5P6<6xGB&Rz+p;~{Ewq8reEe6(t^ zMXEsS@rD(|i;aco+FV3oaa1yAec!HUm#$)HwU;UANfo0rjky6XE`2+9yRDt{Fo?G~ z^PgUbSSn5C$Xt)T&ryLBQi{L_GlClVv^WK9hufENEm@t#`fOZj{`(3fD>Os;((F^}zmZ2$E+r#3$3Mz!_!Z4A6pkqTWmjqM zZ~Thzu{}%&B|s zPyG$ZjLU9cEY-7rxDdbTp}ExYVp-w8^z%46HD>hIk8p_;?Ogx!itF)$Daqc4W11be zyvu+O*SiE>#8+Ig4cYSy7n2-5xV}_q@NjG+0w-G(a_8M)ySIhhZVGJe(&EqaJ{p2w zHTxDbNq)tGhT9qUmft)s_POKKFI3X5G$}6Te(}Nzqm-MHeC*_*QCe9BSb1*iMO*6g zK%a24A6U_v0+2Nkx0VTi>-d5%${+F3Hsk7@r}c~Pi8;v}+4D9~AGJrzBZ3d!?wE0@ zp`+gqBsTnDS~YGTJ9WN0RANg0yv;X%)QI@BAZhgKSD*6jD7dyYc+T#020)P^$+u?` zRX-A-_;ftLJ;5_EFS;e~`&1^agIr)n&{%pob@U4~h2Gk=_ECF9JY~>ik^!hd#VbiW z>?(VW*X^80E}azdQ@UJ+`!a_uLQw~0<#S;%eJ-cDM-iMRu+Yo6ii zV)O&KbbX;yD;n#t8?=b!4o$Y`4c@~y$ySb*ORr1z!=pECK6Q`vWo(Cx+g0F;DkVO7 z{#h**BTVQDIR1w>uhgocq_uYhO5?tsr%uuR9_`Mxj|~xs#OANNb>#={tpkc8%Ca+% zU&AeH*>{K9|4^npbPG!MgBtt3-ubGnnS6Ln%V(b{m=4@tq!v#ye?pIRNC!MK?r67{ zhCkW};v{0>>;vX2&|MbwK$28;n}@eV-5?;aDuYXiG#_`+%tX<(hVo+b9G5QX|6_f> z%*}yzANT$<)^27T-@D#k0kBvPSG6pg4x3Sa5ND#n=c^12-Zdx#$Mp6Hx2Le;gxb-{ z7{9`P7m~XUE8m0pRf9p3Y0YZ_1uiL<^Z^p>r}(q`v(4pN%NUEkpbNp<8sl>({VeaJML@k*Hz<8y&9if(1Vo+UZ+(hFPuM|mk4fSHNCwlu`itf#d)F9Eghyb z-!D|BTbgbCc1)Ge;s0k>gbMOh1qT**{s6?RQ?8J@zng)3T$j6r%qY2QYwNo8;*Qf8 zae(6*K713-%hfO3yf=6Hw*Vd>+Zcc<**iqD+MH|B-vExp&R z1W7uUuZ6CI2K<=6w(W#R;Sjy^FKm1Y+VT-Wc*BzK;ljNNpqWrsRF^S#JjlmeVY1Ku z{O`GQh`U|dewmq^k<^LHU#iHAy4l7$Fy=aveIV$Jb3j@tL4DdgZSM{HH`^5^2^ zjT`%FY`16$4aR@Kz~^ZQQw(VDZ<;jK5F2RF#N3G4o~cqY`w_lo*&*5b=vYNm9r;ac3!FvIf^iMrJ{Z8}v5RtoafW!H- z&8No0Wqmq!3J-h>Uk3kBD)}WH*k9=~vW`d8ec1SAtd8;UXus7ZL8=@Uct+{IO-Px|PxlQlMT7Mi zn(THv@0=4fwI9owgo4sm)}6W-7{ng1k=p`~kd zgtB}~{K+pPyHbrrXP_b#`dH2F%m*kmY)kHl&K(;It(U4HQ|6zQ==Bx}5wPZ}+$DCui=t&M5>-N7$?N zc1yTWbX315g4)d#TEjaoXIb~KW{+6_qEl&)*Y12UEhhrJ<6B39M=~5T#azskSCe;J z#XB}E(?7LS(v1HDQ{sW<0#N!q<%balzHg&_{W^8aRqQ* zNQ@Tcx3mW!3?+dfo2$vWo>{P`JQ@-+&TsZy0eO0fWT{47yDs4&D_+#3)KdRe#GZG@ zJWYB6bTrAc3SwEE28TxBblUsXx@!Wo3PwiE1fWus2{BDYNU)pCa`u3Y705;P&uV{^DAESk)5`73@c>0~( z+7IJ$zZonw_+CH3J*8x7Vzxjes6VxH7jgM|#d)(JQvaox-t`p+pPpzd4Ht3TzM2H3 z^${()JbMYy$_liZN?U`w%;xNP5=>j^vy|~{4)Iq{=spGrfN7`g%ZU^%n|Q1 z8>zkUx!Uzl3MB?+)Dugup86%^oZF+a>_HZiT6UEozEGg^#!eZo@t07xHN2{*XQ-+` z+QXiiUXnSi934+Vpt(-fO8@^hnK^RXByDP6v+ zN51Eyg^n9@Bm{I?X|WQn8KVf5y>d8NFeY*8$Nllex(OmEkUXWOl~}TNK^&#AVK1_~ zRWU!KaOb-mlEy3~TkqgUmqfxJp%Hc8vMNAmwEkIa)~?vTOdX)y-vxXw0mwPk8-|fC zcgV1dYZ26Axn5lEh+pK@9>`mqWlKzmng5eU48Mk(yTiM6MI>Fz*CO0F%_yH@X-!Cp zU}UQ>jdglM>PnOzuV?6{gC6B~VqG(_inCqR-UW(nS513EmQBM^D+P(GoQz?K7aX?1 z+^J;Mo}+SOmV_f3wCGK*oCjFe=4TTq^_;#0=G271rc{?|~dn5&EX|AQ}1gxq`XjQs+ntx{H+56eQy>!`Dh(3;`|;Gs-i1 zqV8Gy!duOIP#~Ay`JIwqeIZ z=u`|O9yDtt|7{GZ{U0!gv%|V6ixc08)O#vVX?X!%r?wNT)5nsl{B4^vbw^$3w4rMkuU5^o9VutDy@*n&7zw@9Ht*`II72S!l)8~M1E-%n*?2vz*^U->Pxkb z!Oy0jrIggyc)P`P)6C3~ub@~}g!fa`ge2`P+f@wrT+T1rh&8eUyI=&D(S6|uCPQ91 z8Lc1udQM?<%RMLZ2&J_P>s$DSmqye26B zy-Bf}+t_gXu>%ba507Q`Z;f5qX6=l=hx$^FuzeUNZ;d1BY~&X zR{nT?=kmKO;fE}~3}Tx-tP_>tQ(xK2Nrifo{1@eSD~Au!Fmf{rQpqpFCfCj_-t!1o z9(A~kg0;`E$_pOtOvQ9iq@tjLbV5@+qF-* zxzdj~$q!tC@kytAzIQCtr&ECbc3M6ku$p=21Pr{5@G3YVab7L~i$Frnbte_vq9Qb> zfT(^H8avtD&ZcKsx{3~0N12ZjHd{7Py3Vpv6vC#0Wc4~d0sW+k0^lW!#~CqnIjEu<}jq}#=?ka`*{bF@4e)w8r+uxE8 zSC`!ABP3O;D;G7=(w|lmQKGAM57O-GU8NB$<_lD`-#*O8_0C*+N6bH%MqOOTw``1D zZbp?FQ27Dex8Ez?k-a^CmJ9%S32SQ06%B9MSD+WU%P=fw9)=ADo>G|Ou-+?b)3&oZ zW-B~9^9R@*lV7!y{DoVsk^a1Jeo?S~eleviycfQ?>cVKYl73BSrMd;+NbZO2z4uGkBLGKX;9~aUKy(YQ+~X}KO!a0m<#0%pg*57;nt>=Q%6KtG{lYp&dE#G zW83!UM?)ZBTk5`wTC7NR$yh;2Sn%&oGGsZh>N(8hrF&)a=b8eyC9y#7tQ+ZrM z7iUN_;-$v>p_1j_BW`H$pu*Z$jSe`#7e0dcTqdD@wDY!_uh!DQdBGv#NN@7GOG;Oizl{WHf06!`$D))J z#f40&KA)#F){=&8?q)psL92CnmyhLqf?m-Z6ErtginCvquJdxa6a>Uoj($!^x=(4q zQvXG|tTufaHdYAF6kdJNNTh{kiR~(hs=Id%uK8%Ezj~ zU#Q1t*@};~GyRL29Wy8Bz~z{VO<4+a;L!Sx@g2B5f9C*xIK+C|ds4DApVYs#tZsV+ z6*~Jm?ua>8xQ@d!!`vW<`uJq<(tpR~)i3m7X=tGlbJi#UW*rq_=&b0~xIPicJ=f$z z4#h>ZZpRcE0riQ?Li7tBAF-4UB(nsVp-0?&N!p3kEA{PWx!!FktLJVlPWd$3!ENHj zA^m@$i@_D#VGk$Uy^8BxhnRyro3jxkB3fNViD0jB^V6TENN;gw<7O7pb@xQYt4HMt zqaCAF`8%FaeeBUbZ$G!gS=EV?sqnSX3;4yF_)_5Sl2s`(Vk>?E314)#|{Rx^hDgTcx|E%LR_j6_E3MUb6 zipF^I7P80AopKoAL33A%0rmhz^~P=UCm(vfUX}GPgj+CLAji1maVd}ayDaXRRFIF$ z&eSH!f;pER_I1_#)MJ=W+G({Wna_mDYVG2)H z(zXxtri^$W%PNsEf(sfl;mdm~}; z79odx;{`CoWuY(5Xkq&7r=u&yWQmvs;g*~_2OTkhgz2WA(}9DIg~cM?I-SbrX#$OD zDg7-T2mEIYJCbSV1$KdTnyUA(tAF`U!=u(2ZzU%AA1fA-&l?|8+-mBYH}K`mySPi- zwc%@h84Bsg>;>_JQ(!)of0yZLDh|1!Ek9<$V34pZPL@f)-iC|vd+Ya4t(~w0S*u4w zZO^UL7_}fwvxMn=+E}fh9wx;#Sj12V$-vHC63;Mg60?B=qkTFzbkPq!nK*`saRNd- zY$R;1Z=~?R2o7W|`@;9mdHD=N?>V0>#l{VMic^0xqy=0Ge{p1#U1$Y)H z{(0P?VrCbf1i1}3(reAOuC$D;!i>;$uQy_4x3)gz^klN07gzr|i|qL@I!*CmEr@<} zjg!9oXhU9N(Svwyv^{fahI%Af_YIgovi!YiLpeOa*2vPn3$otaurI}jTfF}OwEXM# z&}TLBufxtECEqb(MZ`9zHu~O^A-fmj%*6fM=L9%Oy_vvT#= z>)(yTAlP`Ko4y7%>vzeG_d1`{Z`$y)VWUyO9^rroca5WtVOdp0e+hXxM^WoDzuD?--e~J9kG8R{I&N0zLZygJvQw?aJ)6S1H zn_FM?|b#S1&@&)J#EvHst#|9?L(z(^Yp;bY=xXZCd8Lna2R#(^HKhN@7OTTE zp!xER%>Froi|(zcy;e(NV*NG>FXvs~`Nz>C7#D3QsiR))OJv8A66G}{6l9>$`(oS; zvva8&nbo)5O7(q=1v9#nEV&ipssnCSfyKTKaJI~-YG0CH8{=}Xeww{aMsb<@2a4uj zLdoVh=T3*ySeAFT`}L(A7I=M0^W~)T6j6iV(dvcKIX{=l>9y4`pKRyiM&$Q`MAU;~ z!C3CG#F*T<@lDgHBA2=GR5+vHV?&0 z;|yl3E(9d`7!|MtVu|F51+4M#Oo)mCv-2_o-p$snRqJw!yR$!l1;~p z%J`xZ-pUlONF&8Rv`Xm2q+83b<55Ge5qb4K^EoW$uHd&gVVeVjOUY2_&GlgH7Wwdg z9t^;7csw;(n;bKcM07)Xo^c6*HnNttp5IWE>d?qtPp)ZSJl19Vl`MG}{d|)(%X61K z@9-k#YPYyo(#(^os!#Pe$2rTAtrH7F(s|x9iT+x*p*Z?k2vulv-ut+6Us)ZfTi4fx zH1`VrGeM&Eo7oK1fHK|=4Ow>ye!x8^J2CyeHRdgGYvF!hu(2aebIQIEgHY9gG>aZ! zP4N#uyz9IE{Td%<)ZNUjtlt5wvzXQ|+*RqW zn*HZ61Z3ErY;;<;N?-K|k!-3NYOE75O=0ajJ(k!pHha^?eOoRzPA>?r$`nSd)3~!I z0$?$IZYhk!z_KfZs>`~L-md(;uC(UOC`|l8;;4{PAt{r0?qFQphzF)lYuTQbs#yK! zHd@^5B>2Ra`eN3laZl&p(LqwQin`}5+1T2+R3rV0iL&_}$K6>7x@;TIoj`%@yv z;L!XHS`dxEHFixoefM>js+Q=z-Qhd8X0?DbN^r@vBbvDrZp*fz+q2HYbIKVHkcZ#j z&J6_ov$MbLCc=a~;=7%pe=*tWtt!uFO0{+Lt;T)b@}QN{oxCupxyiGvx+BUd=T3c3wW*%_R-*pKZb8gNYcu`HIWrM% z1*^j53wf<+3pdZnp-r^{yDu2w&(sM#>^x9~Pd9b{f^9nnyT7U$8asdAD!wJF>KW)X zfujEkpk}N1y=uLqkjeFMv~aLe{`#yh#ie0d8(Ls%j{UGSS!0=>yNx+1N9NL!?NAsmT3fTa;d>`H$ z019u?;U!AnlQ<~Oq3iI~fu{202aNbf9`0$|s^a~&^*@V91qd2{fbpZl}ii5sK;4mCo8_*@<~Dh&^v^cHUY+>?X6mtQ+4 z>;B05W5PFI8uOdMiN7l{Q~Q4kk!%Or0q| z?Vn$nRTpXv@?=a6l}z(9;t@?&EP};F>Ne)3VwEW`T#R~YD#3t^Q6i8U@0unf z@1C!U#zTAo0&}jP1DNB(X}(RbYnNtagOrVT5M&ufu7Cea=^eR*|x;lcLab!k+n*)#AOn4L8bc*QIQEQ~#VaElTDcq-- zZ!Lb?ZTBU*G53tWf6QOm=E;%gH%c>c(fK=jlwBF~=HY+1=(fVI0gi6y@k(RHfWS3` zfOh_NyP`e;g37(PXlxC78n8s3{FeBb_$5(uYF~l6QLiA04_Z0^ZC0ULGAhuzyK|X; z>lc--a2StT2(9>rtgJa0Y3k&PO6=)qR05%$jf8|v*7uq@D};srV;9bx$z-qURqxox zGYLMv-9ABOOb7QNPsW@vGRw57AV7X%`%>rEZ<^C>T3J-fHlf$IVY3_oc)PVS_;2HK zrK%v5JX2q&t0HE7-); zq#GifA1fw+T=y~Qn548gRKA?P5Y{QiD%;r#w!T%Ij{@qt@HsGOt_L=ypK%(#YwBDi zLf>DW*H2KAB4qD$x3$?-&b!m$SOv(_r!cw_>>+Hz9Qb5axp}B)o%cX#32-d~J|%KEW6lpkQn&v_k! zI-2(xwTAIJ&9YLPSfX|O;vx7h;q9-&W~KA_*2Vu03)~`piJ^Rv$WN`xVXT=2LPYB09z(*B-Uaqd*I1vKez_h(=?PJsOKO+i zwR8Mj^2cKX_$}Bj`*1+ehJ=6qFV6hBl2mvO+k@!{%j|4V#1|Z#VRF3xRd&O~2Oh(sSE@*ue=woKLmgm>)WwI6yDO7Cq z*S0n)oEYvCwy&83S_E#hVXe zV?JE~(&T9#c6)BHeMYUw%`zkS&#&@2#j!7OK+~kat z&#b>`lx>temvf@_rq7wzynvw5gX;82W4LbCcT|+ zy>*bZ;$|Cn^>{~E+qanlvgRooNiLW?Ixo09?>gT2ESOC-WD~bPIuxK_S&s~W*4D(4 zRw;7n@)%S!jxiau9YoAt$Yx7|+JCE#8r+*2c$vI!q9h!{5 zlCnRRpm8@~de&kBw_@+NUfkz_O%y450Q=pN`@ty_AJIzr7D_!%Bbkr@6a*>H-}|y# zV)3w-V>jGBm>Nvm`~Ab6X_*%+IAS9Ia;0f6*tvG3>zA#B{Gm}OK0z+Y^4t0y8&$W zO8!Ot*xnPJSk9A3O`olhxos25go4hM8=t#zrvb!FOz@BL}Q zP~|)&YHt6X4R%vv#TX@o`hMW>7VnD*h0gk@tx;-8;GSEPBw_NXixscHFX#+U((8vN zcO7jg^4QxzuXdl=Sw7uiNy)8u6>CjoXNgOAN=Z_r6c6Pa)fU!oapwx_Opp@9im=?e z5229=FFkPjlk#rANMVBd6g-8$lBnV(~3vln|Rl@#Ux|)>kY(e8a#~I97-%k zER5w&PB39;>Jc)-zgftYlv3V zCQBpr-PP*OQ#baNvlO&jdJ1Hy@ZRrC@0!5Dm;ZI)ta53#1@$LbH^fLGGhoai+&!Hrk1n>c&LE!CI`a2Q8&;PXsQCGf;YzpS&Tv|1z!zkfAh04tc%{HpATL6}Q z+l@G^q}h`N2%{B%p@ODD4%Xg)#TH%w93|qCnUKdiIyUp|=kWY245WyI0Y+i=l4}VG zzzhqAioJQ1jnhrs#`x~$QI8tt48+@OHA?McenXYNYagwg37dY63IFq1T(fZQ>aMm| zFKC{bhgb>xpmKvmvbKDQg6Qj=30oU62Pm1WbJ%)|%2#MgH_uwpZ9AIcoX>Mj9b~QD zDN6)>87h}Z<%lu2a%l5C;e@?HU5}*-tn%}HQxf9Z_{7oN`tF18s+&Lo7yl{_8HGXXgAC5N|) zGqT4^>%+pM3V$MI+gTtT>naNWbd}^CttxDiB?$LJhB5=sesh-rG_c32H>Wi z>GAO{4XggPp8tc!FLXtK6AAb@VX|xN^d>%40N}c`_n2(`={uS!8PWRS*~x0|D?#&< zdZ|`>!;$wqcZa8KO|>47@rgmLLA*1c=*x|L-3xuvzBG`g^SguYIQ(6hs#_AMUqsla zf^o&O5tnpP1<`)1yjk#S+!vZ|htj#G0&y`M;#c$S-$&Wq)@?Sd(qFq>QU3OK1hhu= z#SjI`CH)_}g(WAS1rRGCp9UmLpVZ}UJ1?OKhNyNKyE^hguMuindnq4*uO_kIlgxnZ zJD3a`L#1o=^ZITkyC?q27g2lVx$yCUXS7*sIV{AvSE9HDZjV#DS>cf^@s1YvpXTHc zufvacolC;-5eCd_zhHlB?a=bW;+IItAi)dpeY=sX%_L>&RF6@SpbbETsUI>Ty5Qen zoS1Wia-%}HO5P4i#ruX*mm?MrwodU5d4F`XQ-8ec>dlQ+-We4J&@4I5z~ytv{3KWW zjjiP^O?9zjQc-FE1r-$HS5{dm#zfmDv3gE!`oi4+w0|Mr?&S}{eY@RtPOU+8-g<Fg4UbznnPE0{18884S1IqlPJ$4-Z>-J4` ziU@Art z7)+ym1Khpzq-^cRae7;Dp1`yUo%M?_?1hUY|L14x6KC=aV@ zY;Q!xmOZL(mi}q_pRT!O3vR$sCNX5P;S`(?jkePv`lJfUm#6-E*27u8tqQu0rFjH56PF}@d+v|sEqq09_M zB?s=bG7p**y$d7Ghh3?hzjGFXxtweyK(qNb=f`&<4f0s2;rd#2ohmF!#c$$tGU41Q zM2)lKO<>2Vv0?);ZR(;a$TtSa43yzEMcWowD#1EuMclYS#V;%P)t~#?06JXqak=e^ z#x`VYuucuiNIZMLOs6gLv*sL3J|ip^``nP#mjf<%7b6RK3S;H8C5Q8eM0vkcE(}GqO5RMZK+ZFF z`mGnbHnl_%Y6PL?z$($LfxEt|j=~`>*lnXiWW97=JM7?Y7}M|A17_s8d~wGJQ}LrG zX@YgDKND(yFlFY}O!aR2u_r~z-jCVl`BHJP-0Nt`G@ZYf@C-S|$)zEokl9xz`9?}E zvQN20xmQUjw;DWnV&WR~)u!IVhy^K#yEtq5$^PEn?YN9_G9|4PmGWILowd|FpWmu%C@%%@XFDN_*Bb$gEp{WoUSTo1 zKqONhbP|VdynR$@^k?KjM{PLq4$*ZaDV=(cO-&Q;>fvZekH&9_7 zr%w~wbAC$|?0jy;8X9fi872ey?@Z+FV|J$t4b0p5t{LRTodt3SK@08YK7R1e15~2l z5et00xy|-18GxC-o)M7*oxFUA*1Ew-80W(?r!MWt+u>VGh9dTfrKx@^!1l~s-*NbGdVJLrS^q2v26)AVW_o4?}oT`$LwEL{iUZsaqgQkMUx=;(} zzYPttL1F3nVP@G+OXW;Y*cCF(4T&o z0ouRn_~4MS-c*}po=1{zX_^_}MeD~RGTMy@!WhUvf29;lVS&-E zKW|8$x14R^6-!r4Y4dx|t+e8W+)t_0*P%aaT04f+yw>)u<7f3Yi1ADwT@2Wr-Xsi; z;}$!^P#gzzHU%F?S4KuS2+mWJBF9h=hJ;~gDKXX559}ZS37JCLYUS*cuJ|rq8jA6nCUMW?f^p=y zu~r3qwp))(9pN@!DD1@Lt03v=^o)s*`1!b8TltH@~>(T7Rvld z0u`1PwJ(|(-N`L|qfs5$GJ9;$gd@7qyZ0sLJAIgAzc%QHx|$es`f$=>R)H=MC-_{O z{JWcFMY$rcI_(;-0}z_zQ>#O&jXlGyT6)Kp3wK$NP(}dV zjOU|C`!m47Lk(E`iI&%lq~o#vG0~B=2eN5?EtaRy3li;V1+AHWTua&$NatZ}m`Kr! z;lSoC9i<^b1*7=Jq2ftx;Q%>t_JQ&@5t(t-atA$2mT6*qJ~Kes62=b%w3zJz({uwf zX*!o&*c86Io?1C1vc0-l&Ztv|t?P@H!F9}rpJn!a7@j_*a5PQX{l@67x7nN3FrOM7 zAmC7&kI>d(dxS;Z08uGI7^9Lk&RGhx%WBXRg23kkwHnTyF<#)bO|H~8R2M>o&|TV< zgYiBl>6{!7f+vRy5_3)zv|CdQ&*<=Ap2Yr(C(C;AVmbl7U8GG_KO@Nh@hU}K71a@bKwv#O^sb&BE zd9=T<#o_Hy;kGGo57cpMx|tB#vVXo+XO~|9$sInQ%zZ48)75nNuJ9syb{z~a%D3}> zt0+EUJ)UKf*D(LOSF^pX$EjYq&PhSxv;OlWTAxVJQJO%r!zZ||L+2Zx$0nN*)i=Fg z|7oo39noe|*=+pA`3?5~K(=|~4dOKmInG$Bq|a?b%OD;xtzq*{14AMmno=p?s8skn zw&%3R#nlYjw{q_UH`jy9Lrbu!92%{;*@xny@A#XnG%-@R?FtSHlPsXdqmS)@aSkLo zXv()dn@fLbQM3zR3RHzOir7R!Yv0LRxr0mMmHxm?HR%@Kf_M{vde3AfBDLMZZ#h90 zrzSWe)MRe1yZ2O}zEiTek~Pm6xU`w@qjw2FwM+hvHm~>-EtdK25$}8gA1x{`zeoEZ zv`x9qYXX@+>+0@)+QLn0?MU|X;vbhGv~8l>n1P4VKOop!oGvKb_jIH^V|8UTb->7> zRVj%1Q{j&cv!Isj#PtOF4d13-c@?7Rhs7ds^bX_--8g+#m{}Xmhz2uUY3$ylog}K> zUBpN90}3AJ0s=6fR;rPrN#1bXGVGY~uJfp08A$$ubK16OEiNrU6QZ`cqfAZnkz%msm9EW;v(I6_wd2 z!i6GeBu=-3sY!BT2sChBowWSjodJVRyXK`z_&}#IZj!p~dL*Soin)3z~6Kyk|)@dXr zd9|{6`Z}h|e3avw0*$W3^Sc)I>Kna!?OGC#jlCMsi_;7$RI-0V*BFCvF>;KOzkT>Z zjx_pgv_4WqXYI9{=@OFbLjH!;8VrRJg1pPW~oCUa>_0zfuTAr)Dru{~$l5D0se>LwyT8R(@%bxuVJtaF5)f-45qPe!^2{xu$}5w) zW$ON?!KtY+VO8Rt7%K>P{ZgL!nAgYi%LHlnk8(Y(e48=3sTk}(QqgaHDZ}M6+U*0WDo)-*Z`-Gp&80nRqjN6{%EwvbMY=`T<;TxB?a`mxhE_hePz9gd`IzPvjtWg^ur2 z&-nt2;m%_7QmG_Ma3ZWd^+q}Pg4X>`;DMV3$#Rw z&81#-rHmN`iA`@h4@->>e@`+G4+ADMwnoU-9fcEd%#tyx-+fZ(_Xi;j7tXK$bExY^ zO`LV3K_p)2bgB3MnO2lJwm$Tx0w-KSR^s@8$k~ykVPLU z7I=r6lC~Kr?B`m@ph!pkyCU#$1GoA4n81J1$48=WdpBVKg^VB@IFh4OcIclTyj{Ko zj4Twa0Z5W-hlAc?O_So$xb3Ra96FLqjA~%>Y12rH??ZnlC`hS-Gb@B|Ju+SP(uq0x z&nk>w#4JI}nK(9AC2@&|wrrFWwy`M8LV`if9k+8_^gnG8E|IM-!?`|}9dc`H1=)Ts zY(eVC|%7t+?L;kP8k0|=X6iimRfpFVP8I;+Am+|1JVJvb2Ah|;Rj|{q`A*!DEYs&E=*1GJ9M@jIM~`drOty(PmrbQ8QHP##(!QWk={@ z-&}n{KIC%E!fL59v+$Di_VPbu%r$ZHFe@Qc3a`p71jZ5J^ll7SQw&}?1ECQOPZMnf5)p@+L3Ei3JQ_oaOif?)^|Z7%Xs9vcz{hC^K50yt z(XI_N0q2*Jz*mluWr zZ$<(saK)!Dtb3?`4NF8OgXaTWv^oAwrvz{Z!b@-uQYMdbIBU@Wn9#thMdJGwR-?DZ z1x_7pC#SHKHgScbsxmAVV_X+FX-~p$!bhsYbAd5OP>okX-KR&`xWHYr&q_2KQI*e~ z_E(q9MfXfmw)S4G@Y1Isikfgp&T!|RHX6em5bR$JyZZO?Ff8W2|;&+eiW-<=*x*yWD zC<<^MI+}Q!h**oEC%lY~p|6-Xq@xT&N6&<~^D1efVVs|fE+j1aC2vBI}2A)UoGkc^KZ8-7#=K-8=gwQl2_2Ma;;-U9WfVVgJ zX6ACAFr6Ys|8$1dt+6^Fd{kT*vo;`bxRVu8`jzWeyURPT5J5}UdgZCm7}Z_lEeOFd zhBHCZNXV*3g!z41fgr>Vez>ad4aFt0;7L24Dr zQ`dsZ-XQ=*%mA*iYWv%s>{Cd58UEKFL zJZp0#qE1lseQ+>w<$XDKlz(7D`i}QUo@aX_nWwGeb=hnJ1D+c9uoq>_*OhH1d^Ac_ zqpY5_d~H5i#-y_jkh3EHE@U*Z#4AYp^Xt2d<30h!8LpEqF4K$~zkHOWoM?Z#JzN9c zKXg|y*N-+7`B|HKAIhicshac`C@OzvwR1&Y()B4Mf4LdR>sUUvuv{uuo7K*K&wD*8 zK==nODK}h{;i_NhPJ!M;1|9k019&4Y7~U2Dpi*nwqAc_DOdbVJEzxPat5-B>DSB$w zG|ra^5HYq7sJ+9OS}Ehna1JqYK+QQ_x~P5^xaW#Q$Au+K8kuMY4qwk8r2gCOYC>Mr zA>BQu@_|-wqOUk0R_(fmjJBuy1#*S~!x}=q=+-JZGlqW$GgEx^GkjMfI&5oCnq)3- zb^#OW_ZU=7oxaK-E(Ip>Y$Gv&u3SG$dSk(MV?8J9(R)N}f1Z7cQ-(`x$;$U7>eigQqu)RzgZ=vVX+E?4EgujslbIiLHWRJ%w)| z({f{RLw4s=Zy8n)@s*Q z3EfDbE$mgM{KL_5SHd}ZWl$+?E4tFR`RTv5;GR(rM}LNsJ9qvxKYZ5Uz`8gW8hSKw zm)_m5y6pX-99o`lt=6_dU`vBmrPsHIIa3&|6{&?#TG=o_{ zh#9~rr%+8-U4fYiBd2|F?<*d-s=#;OX%<)F>rDaVrA*l8ho4lPm1{oRrh=?zdWu1g zqGfe*HOM><%0O@-ty>>O+rn5Gr7XBi^oRL=Kt~rs?{=Kx?C3GCnf%gHT0&^+fkKgn?8d4o?1XI$a!*DMNIW(+Nv1N4v3#H-)+xW{$xr&UG|4?;sWKWbND_Z6^oQZSFfHIVl;0vDI8iu!;F*grWNjUKs0Z zL02I;xFn@hxmhh$r~&Kgipbm@IkmpJdiy`}O?p<4UBFsy)S>-*&(T7>cuQ8|^QoBb zl|3_);GNG_Dy=8gF&XmP(_dEitnYtMBNlTxxjhukImp=iyCm5=Fwsk2@p=;JUiCYs zNMMG&8FyiCWyYo0YoWGMcW=O&-g@V(87C(T;5wesv<(G%%J-zsOd6el?6j7<4Z?qi zP|qU-^N+(LArz}W{py?ve|1t5+SD>zsu0HV3&--JT3veJt>t~O#=Wi2Jo_@!QxP4< zL}AyLGqm3;Dq+2_)XFf0ds?q*@_l`utZm;@%r)2Uh7kh&q-N*Wrw z+hOmhcE4nrk2=rq(7Jbbp`}f<9a;jPnzU-skx1Q=+uB+Clkj3=Zx<8H@A z_3zT-5w7-_~3khm(r5$UL;)8$-*T)lugHKTj3hl zOzp1A(;B)=RMv!veKnYtVBfVL{M$0l4-XeJ7k1SleId{w-^P(;0kz+HPFjmo+4gOs zpefDvm0}zBD}9lG3*JtqeqT9zmS%I6t;eI4&M+wBh%Hu6#ROt1{4kG6#5ZdSY0{#E zdw|XsLhbF(2JMuD0bR7K>62fLXR~KC^R2t-=tn!~?P4cbW;x+#^a%q-zq4+_P;2Wa zC)RK0&i7%8wxG8gFk}O2}P1zXS&yN8)nKApecVii%J1GL8OTw(s)ZBvue409Q2rjn4RV45pVM zdTKEW9>hu>cp|bPF>$^^H6O-4yyB-*W-QyfchsHUT}?vDFgxEv)`wVILCDZDzh>nMB$i2&DIdaa<#Ul5dq7ixB!~d@{Cs5c z{)pCE#*|((cJ0}xN`eiOUqWQ+mw;7S`=NBuo3*XXy_M_jq*jO)Z{z!$2(YbA&Gf*Z zkJm;^LxpL`>d?hb_66T=3DDMfW0)a-&`>4j@Km7q&3E{7LC%*@%jb*eg>mlcPdbLm zrx~v+1W^T2#cDq)iE&})Az^6n!u9uW8H&qrGh?HWj%Eu3i~UcJe*_mgP10k9TsKHP zg%8ED7g68IAs$L5klE!ozbky$(2F;CJ*PN3!g38wq@qMNb6r#DGj-h<O|yR9^wyB` zWxtIGn)SKNKAuA9X71kUHm!UaU}IF z*UHRv7f9B*-}(pW%rGk1;UIK8kCk3CG+j0Vk z#%jTSN3$f4Lc9yr?{pK^zH<^x_?8$zwWak#LrZw;? zwTBvaUl@A-)Bc1Hzc#-k8U&hK%hmDS*R|d-ck+-SZ-wu}^!>ay)W6lTP{qZ1 z(rWLAGi8AzPPx(D0TtWDJ{ns%iJ;{-QF}N4wBJ2^l>cT*@Kj?>j2qR^5S#5aV+|$s z+{mfiehmDz^^;W-jmjiFMZ0fPA-`bx+kuHm@$KOC$Rt4gHSf9NjKk6sR%4Aw_kRt8 zJXP5Wh0XSZsznNZKXqB(>iami9Hu2%iq;o`xiHvFnU%uT$n6}AGyB>#V5^77bai_K zW>0=Fym-S#;Usel@( zZkX@%NVg*p6E;;Yo9}Fno2=1z-)hW}rN*=;l}Doq&R?dOo5eaY8OupcfS1_(UBzsBkWna-kJwf=(L{uusaY*#}M`bfUL?E$js&D;31nHsQM( zAl7{5n8BgX$$64ZSGT0#7JoxZxz!9Rut#}gFti_9!weQ!#bDGb54ykh`gCZrS9Dk@ zGT4FHecu8su_800#PD`_q3_+bg3FABs~bMB{M3^xGR~x!={(xhkAw?ekb;ca#G7D~ zubQ$kd10&78PUdtu*J?dniy4myMB|tgM5y$W37ffcy}Hg4ggx1#~ulpQ(D20!&#cF zKRc>NrR6`F=I+EPoxv=-VVGLyYaL^Gxnat>-QXpj?VMrHWR^X2|L|8hEG}W<T@Pcb+tqndMqYS`Y)%IbMH@bV0r zU>y)E$MAmbqUoQElyXpIYVJgfyi7C$vK-1l5s{$|`{q8&Tip#dph%-)H zDRL0IVGjiCfV-v7!ene{ViR&bMF)l+-@|VCG3`70TbthWxaW}XY_q5C(}1Y++G1=! zqj~!Dj;!U^lwYYvyU&GSgi@1VKRp1u}L+^qC`ObcF#cKp%CZf8`G7GmR~ypQBI?CQV{eU za%3`ve`#L(nPpBK6ncAi*vxAo`(gX0YhY9QBRkcp0?t5uF!I4uVCvEahcH7@92ti!BAb!;^@Nz%`5y$>V zFgVq6Zrq<1D)3}|aqPk5>D;KxaFZPTD?Qh*8^vmVz}ET$Fq?yt+_@1Uyhh_m?tCrQ zjr#e*`K@mcivM*|jn;uEbgza^fINjh|HqK-)_LeEJd$&-)MxJ8&U6wfqF;uINLfkd zJwY9Y^Yy*Cqmk>X4NW1@S90T*=HH_cV*@tZTf=v^1Dtl8Z*04fz|WUlaOcbK8a$pf z1Kmsap_;e+VX+Z(=RcTjxxgH51!^}Nl5N{hj=!&PYZy;oNxQpbF$|2XYM2&{hgE9w zmn%OxxUN+r8u0g%32lWPXvr~L*Bxb&*Ok~mv^T2DnVH*7vWa#-Am@Bvkq(`f0d?dj zZ4~1-?(t>O>_sd!HMfoV1Qh^Lh zp1XcQ66YHyWiyXET7{sH(UqKLv1}eHdp$Bc0j8S4y`Nkis|z^gaozt~@V7ht+8%_2 z3Z8WM3NR!MoeN41wz=T~cB}HLak0O#%lUxDSfB4A(7u!Bs?IJ^2RltoSUp$Mh$(9c zCl#CU@5v5Vg{>UEw(mWjnc~AE@9u1DEs^>}@?}u_xo!T?JCd;G#cyaOF9#WQu@0n` zUx#5tBA`Mi$X4Vr5*poj>tTo>1sZq^q_!t-2$Sn_4_86rpzH;a4b8TpbMcWi0lDx^30V6>S+7CbaFP z!auFj>lSouxMxFsN2}p>|LpQf6xO!|FGwIftlOoc#ZOW=MOkRv8J_718L3s9ivSFfm| zi-)EQu}Sv85VZaC&|8vlEM(u#o}>nE$61G76jOWdOf73 zgUsLe;M82Wq5~XKsHf`QI2>!*gv);u0i^dR>iue@Xvw@^F52&SM}&~%8^%Rj_P4Gr z#icFnygFr8H}x*$53FCcw>4oJf=l{b7^e6fquK;bhP!6vQ+Y@_V@lrdYos8*sAyA8 ztYg_M!S9*t-uo=-Qv$-F(yyJj1$k@x7w@mTN6K_Xl_CE(vcBy9;(f? zZyM!%xhfD7l%s2!NX0HjVCs-P4L;9Z3T%#pDs8s$H&{dZ(<+q8WX^ZU@jj!oV=!Y+ z=pPichzWc_9LkffbR`fbSCQi=TE_y-+ytB)ftIz@Rije!xp6wG(yNi-3oGw7R2;B5 zNTv6;dq%w`y`RLN7MUBp)J$yYytaPvMHWa}tJ{skITrndbFHhe*u!oW{#!=z+*5I( z&stvWI?mwiRjX9+~w2H6F4hSDsgmrb&?z?xBYN) zZ8v&&)Yf+|HB|m|Ys%FU9-QdqkIBC_BKIN_UHHBxh-`xRj513zww7~}eIyHvHBP>q z5_T>a<0qOfgsXPe#~B1x^{o!yc7kW+yH;n>(8_}gVLHo!iAao+Wo zUvh`vcp=b5?IL~q>vh~jvtNBqyKh7TV81J7<*jb`Y7q=ph1(U*l>dm9)ItZ`4(}nl z@{PdE)RqV*%m6F1?{p~j#%}>Z=3&s0)#6pi)b(SP^@zCbCL1Su@gMBZPRBbwdYTX& zl^eZF`Cxsj*t!OFf!hF-du|h7;T2R0dAT^PR~P6|F{_Ckdn*jMvbc9wj5+zS+wE`h zcT(lsF0^@VcCyW!si&EPydX*uV?b#Q~c;17tl0(!K)MNC&K zOGgbt-Rj%3THO7@EtjEwb@LJV3E}83*%k9KEn0NcDg<8(oowPyibnWrt)nbOa<2UK zB3T?&%Hm5}p;sJGBtB{`^qjy-)DdL z+$-Pq*{i-(Hfod`FS>ra1}v*-lCVLnPdfYYrOh&Td#CcJxEayO9^lPXEk*rH-2Z&T zwM~lGNMK;y@4I1_-YRM8aCB&WG+R2a%`la**^HYO2K(cbL)h={HKSxUdnzguC~xhl zW^Y51c6fr4UU`FyA56u~#1%DRyZ>QZ+twW{o1SsWE&X5#+uKboXH5=*mrY<6A!;0E z4Wp$DRcIZyHuS_cQQP~*`Oi#rP! zXPjg|2`iG^NUM z4x-sX@AF*ov}t*(OuhR?X@FRR|vx1Z;?*Hnwn0s7)5GTJgQ1Hs;Wq-gR)Dd5^wb?<;Aqa z4b%3mS#b+0RPamd#Q@96+)9rC5%%HeZAc6O{n58%5F&RfHb`TwU-BNlpz=Z(=9yD#hG|N3p$2M&i~ zm37qBEsEOtBQ3@KsQ)_nFzA~-E8TViP|@q)K%-kV&> z&EMQg#LJi9y|OH~L1X=|oIZ=}7LJ=UW>!I;{|55=9C!fYd0Ly4_6oo?sR=r3-}-y~ zJ!?ZM?bP+SYfoH%SSt8DBvPI23<|6p;TfGt;8FT^dpG`yXgUm^bJqV((0dp`tyzIjsY?o=^6wihg_w21)#V zIcI-~ZP{6xV@}PfIH{n~f3^?FHL>J#UNRVD1;mZ8{}f=3=~^HkSH7>mt>M^@QROY)%Tdwh z>t}G;w^T5LU7aR&k^cvEK#IQ_o)ZTaHeV~^5if&;r!lfJTp2vYwemh?nK+#IuHS>R zx{?X+%9%c(|Dd5>9MHqozMYQS?}|o7br#Yrtg_{9=-BW~7gQeHbr=eCSRAzja5MXsr$oS!{~B#!K>77eX%*;0G4m zOd?{B@UfL&_RT}3Gko}GeS(MMmAA|eZtu{A{_?O7(Vpw`c+gn=^3qRAPkoNTTkviC zt*rU6ASC{3zuzRi@ovnX~hu+fIw&k&W?Ek93g@^vqaSX@#(&9(; zV3&`&tzUVyDaI*nWEX!KCX1KPvB}A=@AIB0eC8rx`bbWiYbv#m5u-Ap4IW*0viE|i zx`s)At~mS_cjSUKv1l&PIoAuDpjRllmrb(qp?=@`e5BW%^NoSAg}&paQ*S(Z68YF} z?8F|U-`dFjwKDSxw|l0Lb$l_t@zdV5CEYVG*m)2bbC>lW`8WRT*%M4}y2USEfV{Gh zef_#pX)8@~W~0a2=S}RBktqGwylO76cb)^U)(ZdrW&bSU$_;l(Ghgh@PsqM@4kng8 z@iMs%?Tt4Cz9#R|?Twd|hR??2P5l4wXmzd*88hVe8T;$?$y548$l}MwwJRH`>u2`C z^Y_eU8{23Xwof+SKIj}gZQ5<^Gx0HK}81iJOx7%MY=Ro?PRY%;TF`B*3>e3QPcFgVWz4$Glh0HOY(z@W_Fl z;p?1l$jrfqx`sPReak>%6&0~w=?$Tv10T(sh&E)tE+&=WIc*M<)n z{E!0@>THTw^p&LV-{ys*>a>~1y3woPd)Y8;$r-0%TBk9DC*dI$K}vK4YJy~`66ZRFjbLM1Cd&*FvzoOlUB?H1loJ_yxk z*>C?sxv~b&8@&5hN`pCY|^YP4R}7y8e!NYzc1cI<{PyYJXqP%iRD)ANrvn zG~%`zjSk}U4LAABucp|0H$ihi+sF~RWQlxU;6>*hEY*EVo{p1SPgZrx?hl#v3H?RA zP5tgxNmSGQ%`RyMTMZ9TX>f9};UO~-4?g;Dpi)CbW^Y$ywBudL1s zr%v1Qu_x!ss9l{+*|wgDpNf>PU?JBWd!LmTqZ1&+v2ndz82 zwruUI=uiCBY4LU*He&J3Tr4*h!b|=CPhsEO5iAPRnztH{=|>JXdwS8NF@-!EQ?04~ zWBV$3;P@Kcj9nuX842i&?Kj7(AAWainNNgSX^?To*31#k4M0AYWAtM(fAxzR$QETNcJYTIdsDAp7#Q=E?z0D2!Wn~Tl@;O&3zk@N!z=WT6^Vq)c?%>wG0UTQ- z?}WcOzXb<3xbR|MF{H59E{>r8J~yw$7&&a6+xEgZahmh>hdo;Ght6pak&U&j|N1Ut zS)LfHiL1m>q?q>ynpeJw(riT^^|eQDRwozYnfCbwp!s?xf4mDH@|er?Wvjt6zb?zb zdq<*ZnCoh>>nwlSvWb_kO;xK@?y}O?nKIg26apj1O*tJ%lBQ6hzk%brh!g z+wUr=gM;=eWbb9BR_O#e*dtr%UBOijw}R`;Z5Kc~jt;7>$zg=5A(rUE!)M^ao>jgL zLIJ4rd6bAg9AjmOLFvGlY(sCSO7)eTQ$cMZl9gn9Bj>SriSBUZT`m2v?vti&^c9K89 zi7E7z4%%q7bI^gtRj0JT{=3M(FNy;i>@jj ze%pUKaXWg`$GMm?0U>W=B5}cv%HRI>x5gV-e8tMzLEFSoeilrk2widI!Wt}^zC-zI z{6HpgQ`y6Z-pbak-1;69yw6LOHVJ`a8+}CGpYa_V!$nt_0lJ5CPL{w>wf+p;`um2O zqp25ba~H-WqPiv@1UqzQQG$&1TkNc_kcaQdWK-zA{34u7&&sHdJe}ahHkD0V@Yz$m z;?+bM*qO+R3JPSGLetf^75N~8x|IPf=ji|AAOHC2-~avJ+aKf%3!@(Sbjk5=D$fn0oOaX17khu>KzS0^uYbD@x}`Kj=c z|G;#SCp^U;`F|mIp5F1YvGOq43*DUvMS#n%W8*moyM7RdGq9bU38{tbj5|7jUq5x9 zb2f1tvoTXk{TLsrZ!SFkXRF3{>J{+#+Jmhvr%7whMaOMJFn?8^u@0uT&<~Oa^mTSy ze0<)dZ#Zuqy6p?%Y9?mnL}MqWXo6Lz>;$hlEI4aVa_GD45(M|&+O~GscqGHdzT=DL zk%qbplxN= zwtUfYK68b63Pc?|1)i;WBj)VfWSWM4eA)Kw+0JHhwY=I#`5?0851%cSA?=InLdbD* zSb+3}vccb9Qqs&d8Z+J2Zek9sTmfE)-Op166!%GoH1cd$c0zK)Nl&rdGi zemtFJa#I;RK8S?2ITIW2hBoyh!SD}Y=aPXXSLZoP2ay2RUPa1z>UNHUK3Nuj(d^;y z0h;u*rvrLy>MNEX-}&mwyNnb0YA4@xz8jddz3+|5#5VZYV&jDW+c$0(KG~K}`FDJx zW%|>h&A9b<=x+?BDYYtf~B zHG48|**J0Tn&#WPiJP|9ee1XJE1GQ4oDx}Fr+)Zl-hpCF^tB$k(#IkOdGvj>@t^t6 z9aG6Deh%Gl2(Bp4?p3USYe2h0>)j{D?{ciQ`^;_f>N zTjQvhzsLRMS$mroMz$ya=@*li=&H++XSStv0wTEUxB5lj3#^!OZB0&^rFIq$b8NAR zoUW;A^XRB7U%HS-dp?TaxC~6W##eZu+c_@eQ^tzP({)l3%mh}L=I*-}jeW^ab$JZE zlbRT5I$;QhauY`wvg}i-rBRD7r@{;#!@SAD!rSzc8ln2|j&lgv=hIUPO|)u`66$x0 zu)zuM)XfF;1V6*57winDz-L@RC}^Dzvq^3YMz<_M^zE)5sT#WJfT`ckSsDVZt=Po$ z2`Yvx-BaIoK@~o0j6U~geHR(gbzFJE2mMbObUuHcuZ8SnfKGy%-M;3@7#9G8H@IG;iZ8k9pF=r6!fcbJRV%TtG9NMcZ`EB@z^|8l<(%U$tvP2$Qv-bEuddCmqxfc)G#NdI` zxBQw#V<~VJF}l(ld|$~ZT=rcA3~n!yk}SagsXh1-!>@ilD2Y#uD;opr%km6-`2?2@ zu7w(UxxkgsJO$D|7}{_Yb}4>*f>&jT9670; z?4&>O>$XFU*kd#LW?Mg?iQW#VxL7!;&l9hq)~|E)D`gjriH$x+m_cH316rQ=e#oZa z!;UL|1$or7J9wK#Vzf*I^c8YGi*t5aT4V)b(B}XCQVDw={p%b028K-xQgSYvDg6Zt zL|Ci7q+t42Vxus?0x#RVPanp&^%bj#jF%jrcbueugh_bwXC}EOLg6je__r^fMLzWC z8sO4%jxIaxe)5Dqb^EVw8mfISblpk zDi^tH`}L~{ePmDT@+Q+f*)bQElN-qeMyuR4^r)eI=a}RxL>d}*(JdNYw88q?9$jja z$V_g94Lr%|yzPi*1J`+?u_FR(j%T;@-28pbm~J7*uUEjoZB3`fbf7{eNVyenzrabh41v8NI6p3CK&k!$Da=X6lW zL~eE!ll;)wNemdb#kPE2or6<<23{F{d^TmzS?`b^n`^%Ku^As6q#QUe-M|>zj8Amy zS1vNHi?6Spd&Wj$EN!1X32^*Pw|9}14rLYE;z8V^Lm!2mY!)EsWzNQa^c>&CW-$w& zG&aQK54y7H@dMt+A85}Fj#>De>zL_p<`8`5mw@o@1v{M+Pf_5SE22@m^9M(T_HOO_ zWT9s-m?zHgS3E6bj=ksV9M@-&pRROdpXwRD-}~b7@qb+tQskU(89e5xv3KRpsPgfB z7K`#1%ho3|=7dK6+&qe9!q|Cqh#vOQw0~`ipZm0Z)Vt=}fjVjs8(4ktCVXpqc`wCS z;-;fq;F^eT_`Ura-zID~4~ATA;d)yEE53}cb3@u3V`8D#Q{lrVXq6s&Jz}P{!AGNg zK77kNMA(JR5ENm~#Uy&wk74sqCopO4*Oo|zZe_J55O^Cu*(>6v*9DmizVWmbzNr^K z;=i(2&eR_qc>E3q@%I)nR1j>L41)lD9!98s$x{O^i^t$~}&M?a2a3y<;H^H-flM)ld~s#Do&kz<$gjGPkc4tn4vDsAwhRmw5>!e1c2TE*w8a4~eaJ6WKGz)h$r)BpS9` ze|PYX4X#d~Xd%1pd*7qNy6J53xeeU->=un&?ELAIixpinah$Jp=mWm{s~ruSR5K<0 zBn=;8!+F_GyjEYNJ-%rc2+d&k?k^h$Fuu$}&L8>tq;uy$%6eRgTEX5=mk%yjY60|Bu(&KV_{QL1+}pamTd}i@Sm|aKfN}& z`|SL-zqzKQ!HHBBx8drSu8AU!Ou4NYX)$7iZ+WJ)B<*8l{0WAZUWgyfVIP` zPxO_E$r(T_Vh4xiVoQlv-?Px;=amOX-wUn4?SxT2uO0h{>>1b&AM$qsm;KnA&Bh1L zr=Ly#W{I`&=DzKV8>gXCI_h`fgN?<<%I)ype7CLs(vL>hS}+^wA*i#1fki zzmeTBnzL{-KO2}Fedy4&ybjIAagNm~lLv3z?|L@9$F^sTqU~|%aE=dy>p#8#zi_CR zR^-~T)2|TFLA=pT*%(?~TbYlsTP>R&Gkwy{ji+9Cp@k;Be66lFihVjsJuV%#qMUWj$bQlD>&s9__52xxjN@;yL6xXJw|(Jz_D#vdV5Y5?e^%(eQW_v9Xd09 z2P1VkX&sowMeEtmoF|jjM$Kul2Rg$Zd}D`BSKehvVk$=(YV}@Qgi~Cxj+ijmzMdM&@zl6C5%&4v+3L*&eyjkwZhG zcxvJ2KSd-pnj!=L^WDVhm&l~0w#b6S`_4bcM)3P4Zy@q?GK^Y8nPm!5QGA4T3FAA0DM1HR+0`A+|9MZ1gk$`~cbeg5}8C*B;hq4$2Z^5FhBa5_s)?G4qO}i484i(g_p})$dV^%YFh&gr&?rUm;5#7>l>+e-oL<= zuKpXi-O|{38eOf)vt^oFDo5($`iT_&(e%gC!UU~ zp01qt^LaD=(jU4wNX!YK1j=eBXe&c1IB84kIIvieZ5v+fCqQ-PNk;1o_%r#{c?6;W z&+k3wBA5M~56r+huD;Pndu>ddFfLpUt{~drId!2>sm9lib!6RY|r{L^hin@p2bN56{k%E!n@k4ZS>xb^w=Jrj*2-LXro z5T4)PN46y1jidC4%He#2-?8K>p2g+T*ZI);@B9Y10owu%`MeWi7s?_^wCD2?7p}yH zrcyt)>rB!G&&R`q3}e?n|2!+LAv8%Q$e~$1qvK7dWGC_Sf8x;KC;sqUANmTF0i+Wx zwb6y&4H$fee`6!$R$qHC_N8@nK$D$KX0%I$Z$cZKZQ^Cu3@&QY>%18g;OMHCcT_+ieOLITy zsfYpgh4)LoQqq#9eS&N0y3i4CjlBTxuudGq?`kX%|l(PfU{Q`(@@OOtDMaK;tp}aQv5w@-LD-!UKDx?WD9)0B@Wmw zU~S{sYZEDG^qofsXJzAq&3kC|j!KNyyIi3;xz!z_84u9Yuiz_NZ*N0SpD@M-s4zZ9 z*P9-B*@0XP=&O_MuaQAvmw^f0z;#T(yxNWp)hYN^|04ss&TGraP#wdkyiiDcb%2}W z)uDbt@DwtSe3`U|FSzE=)cbR;bPj<&eQo57T6!)%ThPN}`8a=W;GDmU0(s=G z%IdT-!z)jFdInLQJc72DLN~`G{${);H=Ez{l(}J(Inw)?GY|xg(ev0Ybn#Ip_Cg~t zV8OXtYH?=I!Ls|yZRM876@2t%@jW@79S&aFaa`E)PsO(92#M(@vE@~QAE5N_(P85f z{`wA$wdLYzSNAzjb8l(?%>~EsWV^{j&K2_iPvw?%pjLnNaGmErWppl7&WEnNF&E(A zCzfVTTK;frq1z_v<#PBlHVhB;6$i@91;(%RYu(WUK6|l)J^3P8`ts;mel_pNOLk+O zJLQYJ_MV%(Y!|zQ9-4G`*NfI!Byi6E!)Ia)o$?FbC%^0%-nJ4#i;TxE;+za)r@0Pe zPTTZ`v5gBz7xRi6h*w^Zj$Jq)pZHCYqtGRr*dw=bf9KBc&W{hMzxqOO>0Q|~2+n+X zWH#S4-zyz5kSw%RmspED`^Hj{&akle^-Z=9bN2sJFyY``Y-+ETA*Y5@W%7&FW%WA2hHLb zytR857JslSGmVXc?WE`VA&UEg1~Q{IP;^hyQ z2}EFxsbiM>B_KFg!n&Ls#ddLJVaae$*yf^UeKEfKu``ZsB)9n*1=)RPP)8Yk5-TTB z(eaisbdt+VFu-j<-}<~flJswzK07#{ywBaQ&y7p+qc_Q=F_d@^8_K*yHc~_sdgiF{n&BVhUlSMhn8olt-=}zoIUVGU;@y4F_#DOjZG`Nl}1|A%_E346F(9VDNmhyD4lI&?VEQ!(12ev%{mwqLRz`X$>(}y`s>*o|tAFn#ks?W-xB^(i>Y_<3?8y|is?X(I#K*vwC7E8y_K!=eeA zTTc!#JN*d{c4wDk_nc2ook4MYJQt5cXY8=@fAjY06BBrp4qDkp4z*L9lhv+=Io=5- z8cP#TeUx3;ul9f$Bs$BJi+}SQnqbC0vp=khhyKX0wfBDXoY+BAZpiMGmH8f@R&Gx? z@WIL^j|`vjgu6$XQ8(OTxZGp>&VEg6?Y%OQSNU-F{`-m_xJuD|>A=bQf1{T>UC{8p=2D zaGQstud#6CpK%ch{jc=1|6%-y|EB()oGJ{yW4_nNf=;YBLXqxfxj^m~C&->w3e;iv^ zhY(pAwC#n9i%9gfnLuw|-}qDaHcx9BBfyH4nFB=lBXecQF+R_YpTURd6>pckwadf; zI&#Ry2$;%GwnTg$n!E7F8$;#x6a$UTbI?Zk{9>aU9`(I>WyVr<+O{}<#s)pq*~VT- z%$x*{y3uv|Xy+=YPibFV$FCK*TlRQys(WH4RL+L?z(<@OPd^+zz$^WVV`K=xphC&^ zU{$zjoWq&BoO~TznFzg^le2+XnLHzRUO6dswVwG1pqYGmfqcen@V!QpU&xyIjSJP%E3J@2@r)md z-0J4N6>Kf9&c$O|0xvej=*HCQK##X?=j-I9ci~NbozZM;#3r4l2WOuQ^5S$fc5|0r zZor2ec$=5vxAKFnjLEYb2jpKGRqXMh9{%14WiNR8xVG&F-gSH7%AsUxt1f!vtA6HZY_Ykfe7uBIjAZL|JENY$w_Dz?vsGe( z&=_n2XD&d-kRxo4AA&3)`znwJ{Ky}VaGM_+&P%UzZc_kL7YGfCv6)byC(qo+R@!_sg3AV(Rw~duYZzj z7Fg0LPUqS4m?S*W9G%D$vTtsYe5EI?RMQ zMDp+V=bghxm_Mp(r1<=1Ui@Xkfev~WH3YRg&H@b{AKUP#9Q4VbL?VHGPp26jMz7bc zG_}uoVHaD-hVJPc0c%2cn))yK-r2{GS=~*i)&Wd1{oGY$%0kb`n3p)ZYm<$d9<{7p z;_DL0r>`~m9cg#RS6B2ddxRHRw&XNrKDUnUo1Dj-V^1=efJi227n4%{vqz<|7^M1% z9pfhnXjj)~0W5JH`T5HNhYfu1Jn)S{EWWY6htFPMkeg4pfVYWd(%Lik}jm>!k??Zg4 zzO=!2UlA;zZ* zvwlFAY*#@)n@Jklj>%L0IYy6toKOFZZJG;)23q)U-yEBbFP0V>A3rAM*??{2g3zeM zp^d(nGsyspp1T5GK^OxKDVC!plw$Ii!bcR@cWFeEDPd2j_mt6DU-h&d+3}D&jjai)D^}FAS@jI<>g8rbWTmIJoliY&rd~g6 zKMvp8J#`9N#SMOO&VJ(`%+`yFE_`HPIW#^>=^VPM(Pj(t5KrEbR{>Z3zvsr(SrDvF zr)}xrp;Z3p+qmt1`b8*(*6;!2#*jVQ_Ba3Ae4b z;k^C|^2TIZTF@Y8VR}&;`67sVI$!WPSJ07H)OW7dIZ*tW_RqP&*r&W>|M_Y@pL>b@ zr#w;dNB8FK=73%t?ujLQtB0F6k+t&B>G*E!VqBtQ?AiUqclC@MUIwgx`Z`N(8k*JV z*ch!Hzv&RI!q?Fm$Lzzi^wLnB_50*TFaGQ`16s)!?98q=?DSi5H{#NWRvsujrCGe9TiDk8F{JC{MzC%liq7oB8I4 zH@R7py+1T2zqvs7?FLV(PH7wZiFJiMtFGhWpMJ+r;8JH1$dkw;`}E`6CwRoJfmbJ1 zJh@M1=f2+d#v%olCoZOcj}OSOv4P!;y>9K%d)gegUq%+=TKfyyK_KrIy3Z3z!;7CQ zQ*SH|6dAU!wNFL%%6Vi%uXbpT)^F)IeqQ~TUl%xfLWVnL>V#!fW~ZGqUlLhjwNMnb zUm?cvbEnjC1&e@af*INom~~$%9@DeZ6`M6s3{D1*PAsChLisJdLy!|T6+kPiJ@tk^ z-hs)4KI%*Wrj2}xVBiEiE*Vqr7_ZfB_eFZ;gKl0NxioHFM`n*gspuH3RmzFYd{&BwsZWX1wgZB$j+D{<0+(8c0?;o1d?@b{BNlF)ZCk&d*FfzLoo z88Wl0V}(BUqYIfVJ{ds8Co9!wu~+vwul0k(551r{$MZ90_R}c=P8UZP#xVa?}ku zPWQM<+#MUIJ-LLVyyry`SA2vnJpF|x>#M><*^R%gUzyM|rlwHx$FUNQIj|_0Zr@4C1!m3I3 z_;GDGFe3*$E)V$2cVH*R)W251+VCG)*k;DHnGkQV==*vmzZ%T%$Bx+@uZ@$+Rvpls zzSTUjq)_3Lg*nHms0`#Jiv`Zgclurzqas7w#Gb7|AYKpg?D#BNv~Pm7v5`HVXu^G2 zN{>Cl4@`hY&Hz3a#p&7h?AhuIxdXd&m$v=F;pJQ`+qT|*kJoPB6K9SWM|))pexDM| zW3)XFz%^+~8~xJ2xL3V)ef$iAqtBsT2IphxuTSh(hCSXrJ}c8xM!Aq~y*MIAyr7@k z??nojmb2G0@m4B-kH%J8udgY1lEHrK4*07(u&dYZ0q$bU(g%k(nhUpWyI+`B8KqLY zviM|Vize6h{fXBOcn5CB-pM6$i+Gv%KnG1viL#&L*~Z0qy)1azB1Gk2+uAg^;(sRU zkBiC3xAG1@@sqq08Wy|tYhRxl%~GGdg+5qgf9CgPE{L;3kr?NV$+qhG= zeR*ND;f2<~8cSc-2knJ}?|irAXFu|=-SNNvlE1Zp3wrq~fSq@k!(28+xaE$W+V|*I z{lZsnLyx3u2lIhM;<3Tt%jM+Rv8wpP;F70x2|+)eu=-7WPyd2{StLw*O!v^KPC2Ge z$Kd$MrK6bXT;y;;&%97P_x(e)_vEDEIX+`Ei~C=`=#Zhm#$nU{{{qN@6Vt&JmQ{6*H~K_oD4lx!Ze*FJNm>96GM+$sFPuMg>-rmK)A z=$BqYM_=G)*Kl)l7Y%Lb<{RM=;)W*eM^se>|+-ARiTP;CY(JeCi8kZbXNklP8Tq%_bBmgijE`Wmerh`<@F=p$GK zUp#W?$0ufL@!_llPBP&ikM`6z+9Ic9aScErfybYp{!BWVwkEpT`V2_n;&C`Q@O3;- z$8_?pGeplXS$ILm9bGHO;PRi1KPFl9QKBZNk!|9o5menfAr(>8ixpm$NhCviJIqWX zSb}^TI|EYzx;kx|jNn;lK9N&WlZ|6YG}5_FimCfwqsT#UdH z6Fal`L|+RJ5;z$=62mw26}x!$aoFgwKCC?h!?p??iko9GvxV+rOWSYfrKIQJASP^>z_QnB@fS7 zKe}sE7KSV?z*e{M<;0QrARBuv&dBv+Tx=Vfn`c+%!MuM(0xfX#t{vi&$vtBSvf}Y` zLh;w|v z8zUyB*yZ(HgC?G~vE?0aPa7<68u1;~={9rDp>3|RbAZAeAHiLl4X*f@T*>zQVBThd zwu>A|n8uiiyZF7P8T~KbU7<4~!|JrJHuoN$d5ujW7x{-?#VIYmo}4h(8~r7~M}F>HKfail82b^4MbXkH z&{q7a$=CPyc;)A1Ez;Ky(ZBk}7fQdv6#cZVKem5ve51b`9Qb&d2g3Onn{E5jnR)8; zGi}Bwd+qFNzvr|dA6=&Y<}vif2jpq~Ix;k_k#y|=q zU+rPS*gDi+q<}#~(N^P0Ft$T`+gxBVFz^jKLMHq@ga;YbjU35&{TA~XHiebomgJS2Of>q1yArfSI9Rj zZES6jnc&if$958+{8_@-}^{Ta&HH*yuG$6eSld zGoW}hdV+c6qCel_btm1?VRfSt9y1-#sYvT%68+UOneiZ0*DBr~B zljq@DSK=4Z3j3e``JXwSpY8l#fB#<{fIR_V@LhV~#euK0>~Bif2aQh&n%^Y`o!y{x z>~=aMdDsoTTxJ!neJDcx@yG9hpO@)=%DI|Y>}k=WgI9evlYJNR z+x@J*gzawWb3MHWEWfbNN#B^%<|qzBz~<+|MlI*H=d3OaRV25zvcXoJZia% z8{)tAi`?wj3z(x1G1uUHum6HyjysBtt=s!e>UOUZ1MGdffpH42^Nijbb$(R zym`@B+tpP00N;Fg{LB``Pd#7D3) zrooV_v6JJ~Z)HcjB}&X90k6ehd3&~0sU1&?I&jG8?qw(N5cx1GL+YJ;^R+V+f=fo* z@PI21(P0Mp^38|71)r?DA6kTxauVdR22iz9*&o;++u<_a% zzPguqXtXZD!gQe&WoA#Fws%i91v{FY0x}c@p-Z}Y)5-IgfVBSQRvGVwZ>Aarom|yP=t5;~;z6o^~d0sbnv2lZQ2Iwb^Oc z&zAo7IXZtD^-K+`THx5P^*;4?lO>6+eASzit}V(RuKpTk_+MY6 zid>D2j0f<%P+s40eIr*Y^hLk185&cUu_-qxExOAwYlH5cpT3Q@x*f-64iE~=$*=AR zL|0FZn!BJ?SUl6$@mw1C(t$hX8ex3k$qo97Ww5r5H8_>KbB~D!`i-t^eCKQZSgI76n_Axg5CA?PWZ&^UO7LgiLV-LI)aH)25a3)8%Hu6+z`xu@0Jo-8soktJ0 zAy?%?DD>#(Js@bWu5grTbDi*`Z^FK9uJLA0W-b(+&7p$Fu8Q`)&rGm93c9_Se!X;l zY`3%`HWe!qS#0kacpiD;+8+(Gf|f_(iZaUg+zsr6?wm7>|BDeWFUmUO(jvkt6P_kePA@_PLpEicmiBXep9`AQ4w*~l;^d>%#LK}1S@e$~@Kb7!=ylP1 z1mME2Bf%&>O?m~v1_GFE&q0s3&12|vU3xjH9eNQ`2`6bil<1@BVUmlldjLb9{Rn_o z^Kx|er>)63djN$?eSZ?t%S~HP`dZ}d=Qx<92@@WB>im8}Yrm7PzQHMZhnD2(Yc#V! zz(=d|1X>57*hKNTw>(v!hR(<~7dkGIKIeODv(Q3+mO&D^PxWXZ`_&vmU*w6DcL^N7th>+fB@m-NX?3Q*OKRwZ)2!T}p@- z^6vu14h9Bkdh+Kb?}@>YfiH4VA3b}abz~vG_}Z8{LL8e-Y)Y(aGd$Smt?vYiofa{B z`(y0Dzhh&%qCZJ~Xrku@Rn;B6&~5yz0K1P9#($$XJdWu_oTZ}J4nHvTm}7B0i)w3E zc3NA3C42Kj%$=Wv8YhJ(IYLawuwYKcuFZ!WV>y|7L9|0Lu9nrgw4=l z=u7VScNR+r4lEklH|Fr?gY1H;rIyHfXk|gmS#wozXTmV@4!#M%=q*n0H~1=!>7jsG zxK=#sz-_xWvXFCVX-j3!^Zx@J7&0teFG3KI7+c0)3#V%NjK0fvpr4<3g53pd@b|_C zneY~WxL%+5g+FhVa3@X}<*%lXPtQ)nAOKIa&%mSH_IjDX|g$h7?q9KI6@GYK^5lvDV$7Z*dVdRg^$JK!F>!7)j8F$Yd`z*(5uG6`e#*!{|P@ykK^hpvLZP2I`?M^U%>*sHgH!aZT- zBt9RBa2XOf>7~16BF>P#+n1}?9^%wgY*Vw@LbK4KSnTO1{H1mOZvTpm>4?H6b zt@(H_&dAc(7^AFcjgbg8xtlCG)@NE5ScjBjTWxFO(u<6q0B=B$zaYh}WDm?B4GTEM zI~?nh9MkvpGJSph3ud1tG=|o8!IjHPBRuu9kx%{b)3&nO?{V>Cm(7{gH~tZSj zaGrkCzx@KtOL~E%Q;@zx;PyEVgOySQaR-D+7)g#|K!m= zHA6KtR$e?RIo>Jc-MsGQ$0&it1Fd}AuZN8d002M$NklXco04C~S~SMW30$wKA7PnyHw3wnyBca5#N;m|Qf&J6SZf>!vN^D^|c>HI!AMy+ zrJel>gMJ5iJRj{Ky$4|?BMAf+Id~h8CHCTD4LLz^28je$lQa_k4j-sZnhg|An1Qty z5UC>cU2{V4q5hc8)B7 zfFmzh{2JIzb|$PNKM5;KIu9B;Bns-^^(CTN!SXU09d(miXstiOsw<_Pe8nD;V+Zlj za?D?&tGk`PV&ralzTOep$>tGxPc6VFIJ&Eg4o8PwSzKD9XW+;|H@x!K_h95)!IK=J z*z=LkMGm=IRoT=Jzrp#}fBn~9WRlP7Ta|SN1gpnr|MuIj zop?z!d^%4vm=K*9t1$CKgpjoe1P1&LM0D94!ZtSj zrmOflmNC_>Z5%5ryFFf3(Je5#aQhSICq`FV%qqb&*YkYPY{xx zCbCfTEnoMdo5_VIHzH9vj$CBcM_ug91yB7Fhz?j89NVXBuUS|W2Z}`+g^lzVa5E<0 zB}V4E$Jh5+BYWdpKh35u$PLM8wGn>oqs(M(;z{pc@%p zE85u0o*eAvX_t{Hc#%PjD}4$kaQbr8=>?s9U;Tnxy9bwlqD<>+-Qb`<{Uef}{J=*3 zx~SnOeB`VE58v?NQ~FfK#DI$>vY~~hO&Om}Uu=EsgLa7KADzTs-dFT4xa>*?a67h@ zUgUb8F~tH09{gh~kJ6dk4yQbVzjg($Z2j)FFU+<-_iI~q%Ju;DbkaW>2V9UkUzzjr zLGr3c+kWgcHb!Up7v{*O9z0y~YQtmg>39o#HV5zSk~UlE1*kC)82!*!6>GoLe+!Nx zZkqFRyt2qm;GM5c)G6xFD8GkH3;UD}-0H9wrcb!ltAzjJqk0@$Ed1JLWm~zHgj|r| zt*p_ow%{l5V}r?mtAp`%#{0>u<{IK@Y(Q@`Cf8Sf{UTj{FVxg2b$t&er;BCwV1o!$ z2(YzZ;e1Tq5K(f8$J1)JjuCK%HoWH2=r!~Ldia)z53~>cE`UVeD19~efE`W^I?W;3 zqtCuBh#gN}onzqYwum#Z&py!$oX8q8H8-%Wcx~JS7y8g$?nL7g`{^Ifx5yh~gTMy6x`TNYtw1Vq) zjw4#*WqAWKd%~0NY}01mmp&3&d(qv7S3YLGJ$-I;A6#-6Z~2G*o%e?Rb)50hJnQFQ zGQZDt3Ha(4STMb)4z{O2_|1ksn9YmeS`sMVa&fHPq6B@=GtY>X>u>S;B|ijF+F~uZ z#)~(}i+jxgUzu@z^ZdqAYze0j6Ei*BkDyKj9KXhXGq=6tXhENQ`m{8>=6LO>-aN4V zp}w3xVs6pcOPqjh?1{e|8>c<-nvfUyIN_*T>h=!&T#LLN0P`eYqj@E_ks4+Q9xKlVSvQ{*JuiT}v9yL4OlR1Bm4iC^1co|23Um4$*HJdAy&eS zox&OG5DNtystn!`dkR7@NvspPz;P(p-H!pL9!C>9d^hox_-h~JO8t`;c`94#?eD1w z%HfeZMH?ARJ6N^PQXun2*L)lt(v&yIBN*t_;q%eY zo&1qid?=pgad&2YuonsJ?khy(@bxu%fO!`DdgnNM`bnT=6lH2rN>y0$O4L$=q@klQH#Y#Jak^`T8 z%v9U^55Au{IraOe(S7v42c-}$ozWAIvBlVbaJ+O79$AkVm2dLY^v$(B87FTIUv$U3 zLl+$TA~ZUTj$iZBWBapgcx~BZc(0Y2cubDaXTV=u&JXkQ!WR|sQF_kLF?}r}>F-xN zhJo35AXTW3i4e+mqPjdAOR7(Nzl+P<(0v=f!mF^_q_A zZCwODakH_5hqm^K6Z6X#jBU@^!m+Y;>B-|`=@lmQ=v0j0^%(x~m0c&6IiQD*Qkcl2 zEZ?4-k0*V{E62+A#8J2X*E~ks>QnfUtp0Ez!nXlxEx5g)fY*BbA_t$AFPx*x$^uW@ zmih$EY-DL1;ghmB^2`?a<(<4aYzL2hHXoq@*Y;Xj{+02_vd3_h#a%k44Q$}Nut!$< zRfpq~>W^mN)aPL6#U^tUU(%;08$XV{0#>x(oxHTXYWE{k<*E$EUu?wg*z~s3a5AUS z7J)0bT<5|C4n4usrF;(k&euX%pQZ1P0Vu9KbgUfNZ)y7o)GBlppFQq5pG=O~99Ezc zFXd-G)-tf{Bsb@5>`vYTQ6rw?`Xp`i>U=E6TeskH9iOmw8V9|^>H$i1?mX~gm&HYM zV?!PEE=ni2Y!QQa8ha+UkEGQXE zeaHGdvGXj$o30@i!p=88*9QSkYwZiB^F{k?o_29=j_@J8n}dENUirY1+dHw?SSkL| z^)M)JH0BCMt{@NKY*v~InB9vK@+l+J-88ziCG9hgjem{ZzUseUd9MwOBiD`Bk*{*2 zeDt+nU-8rQ-@`G2>QAJv4f!LRCsP!4%}eQH8)Msd*!jXaKEz9$?EHcqcHGZFWJ0wc z4r-ddh?~8fo_Oq78QsudJqF^(Pi-#?9NTphIbW@#17FhNIX9&{S@He;CB6tTiyX#Q z^<5+ht&x4^n{v<2vC1p9>OQhGO5r75`!(Uj4SSfA&O!-NA|xg7;_xb6U754J83lIw zXZ#fZf6rINd!D$W`{*^tOwpf#4R!IjF^h(_u@%^hV-NgjhB9ih9o@$v7IhW2*tkKD z4;v3T249_eJhr!BeX+R?O6o5^-s|XBIfqXNNAxOT?|+#xNIT$h1f$rC+h=}vaBQQ-mwnOy| z+L3D>%bO0k#s**d(jkTc3{fw7WMTf9}P!`h$y1@OR)|rO0GMXY6z?&N)9DK9z~Q znE+Iu2(-bwcBpRb5m~eA2Yb-HgGT%^L9A{kAk(?(HBWFv%AbD!^7~J}|M%}d{l|a& zN9p}7FNyqn-toZ^ofPG0aQSa+%C7rV0cDm4`90ww3GF*%5FMLD-r%hq)q%iDXsjM+ zc!`wn5%;_7ksHpRc`~53%dtE0`dgn8BFpK6O9R{vYKTwbVv`sp|8Enk_VCJ{ZB8<8 z&d9k0g+4j)w@E^tzR20=!RBzouaA(@J3d>xv6I^_CX-;uVL`*ne-}y;Csz7*B1AqL zUh3!ok24!DVm~oM&*~E4tCE0npipt)!Jc|FXONk=8ad}>M{n}At}f69W_4Xz$Z7i{ zvb3*7u3_e#ftOn#N6|J;ZCRi@q|;E9o|dYwoL@9^j3!@;U23pVA8}6I!j;~U zck9Snobb^v9e43AcxziecJXHMxc!Sv;`GSo`1gz_#!7u+@ya7|^rgw6D?Z4s-lA*m z6kK)6%l#4chaKFG8yzo>4UD1j_0mQcoTAR=P9uA06Fcnlgj*)?)UPab+2e)T{p#5l zJqPbeb4IMm(K~LjQ}g_TKiV61Bk~z*6CaZ!1kpgqZ==`II|#K0{SLf6Ikx_iKQQXi zpx?r1=QCSnIW$+tmwUJ`%ksi|bOtn;e$p>!73i4|7ehxIn zA$YObcu1rA)e$cH(U1Aa?dz%by$A`cV{@04$A0A}mzdWd)SDajPGjngMdKS#@qy37 zTWq2GHe+qR?_K#pp+U};$`GtQCrdV^{>m|W(-$*e4xDCVVf$S6E2noy5uo(LLzy=8 zY<4g9Q+s{F#g{+i_$^BlJsaCbi^^3w0=Rk^A-+VfE$S6}3*+@e&e1V$4KICbj_0XN zFMynPda&V3{`?02Ti%8C?(nLX#~vf+$S`tE42W$$G!N3Lf=kJ~_pBJuAjL!vYw7vYKPoSq=VXJPD zKMkQ1J7$E$n@+Xm(Q)Ol*EU}_n-~H&ec8L@CU;l9$gh6d#Bcg~aJ|%cL%)LTN60PT zOExkl2HBn+6fg=|UMt#ns}2F$_}+M81KYyc<3q06EI7ExU*bxsAK2+y+#r*m|IL_M zo@|%Az>>OY=HzPNZA>B6_sMCth2E`4Yf^ic$`u=|oIlzCycj!qxV{-*kULrrufwCf z5|^))#!O;s`Ly33z0DicyFOZ3or^_yYz$s*8hhWzquiq*w+DB z0eb7v7{(1#lSW05Rgk!CgMI`X1K)~GU`zHR?2iG3N1b%&)=QxemQf?dUn;SK1YX1Y z1XYPl-3B6kzMfU3@;p4W*SL|R6S7Ros&~$J-@s+`;5^+4PpPh2=d^YE0lqKD3BI75 z7c$1C(G6a|e-t0k(}%%L!TU;pIqoBM2{1u`5Bsk$;5>=ar%_Jj%GMRS1R*`grqP$J zkE~7Fpoyj3N`dWaCSLaPK(S=`koA{xJ zIA@%}3qoM5mcIMR!UmaKzdqsWzL%Z6jY5mKO>Kz>M zQ#rE-i;Vayk<{R~e0adZAi30oU3*Ty`Lpd774_}4ZT%iuKYpCtvOYsYP6G#K`>kWL z=rew@d33t6SvKEjSB-uRJ2odQN|qBVX;lmCAX+`Xu|vHg^_u@d@~HFVHe`-*GDxx%t=7e<}q zYYQAXz@VqBEfx=K5C$jho$SqgyN~!6Ded0DvvDl`W02BBMbg*A} z)U(mXINI>9_V5nn;yig6p8|O0ZuoHU)1S2228X@qI5PS=+I&51a@>wx_%4r?0ZkkF zX!q%$$S)2XJHdJK1_Rd~t-mU0f}^|RjT3mv?j3{MZD0px>iA;(SDO0t;Xm)~8d$RM z6quI4h~M_T$gpGD_#yFnZc^+#p?aM$YU7-!;Ax5H*Hq}6bSbYx1FpYsy*oazWN05@ z$Fw&Su}SL5*gP9rg~NmWwP*kBPA!W#<_?8V-L=qCE@ctFn~TU#`Z|9c{)f-xx%fPDpF}KXEqv4k7#BNuq?X+3 z(X5?PNuK8JwT#AGO z#<}7K!N@ZC*In(-`+|4z&hhvtG6xU6?}xyC6?drJpWx}Sy3E{L4w|?Hxpo1={}!9% zycuiFXY#Z}==ABS!Vr4;CVj`(_aecq>x@78j2Ik!vPc^}*mBG;i$Ttf&uH;s`A5dm zia+-WOTN*U`Be_|jt6#x-!FgC)qL%h0;jTuhWWs5Py0O4)@Ec-7Vg@I&*&j$?%cWd ztdCAC;j0)w=eqM~AGyKLwabjr^qKe^o_O#@%rky;{cYg^L2=N2J36BuXe}+pt!=hq z_7OM5huAnVl4G)Y+Tu;VQsm|iy=q%BWc!|LtMyF`A6|*`FEbWkW7~NIou@yHjC5#0 zXO4={@wN8zYg&`1CQi|vSYf`Ena|0Me&^kowwqj3m-;{L=PN4ELv6P)@C?K-h^MaK z0k*OkM*FypcAclnRU)t}eel97PYM&LwMLy9x~c*l2k0)!3y7a8J8)sg15x+Va zJpAItufP75LDdDSm|$NQ>l63Yxi)2czO#^UCbWUV0}QjUw*$PFKfbLiOmxzgW9Iry z-|Wc&UX;_NelxiU?Jjgh&)O?67k+TdFZgVsI2R8nl`vlZ$d=v2w z-*dD~ZaQFTEA7<5E8pQ&zl665($_S{fgyy&Cini-n#VQWqY77TU?_InTVXcn_X7F*8!ZoxZGn zF7ViGU`>*qPsmIToOUonH=#X@*t;z2hQE+*tjR3MpzWe?}!Gf|2b%^@nvH&u*ON0 z$TzeyR^@A{oy#2fS-dg+gh%Yc=e0vI#rJ&m)Dvlb^=mGo##VTSaGxZk$HqqeR{M`` z<)3zTX*@*V&J*P5Bb$Bav7uM~&d)}6c=ZOwZOeO(3Ojs5Jbd~-5Bt-uZSAXbAd#x> zSB4=u_S(8UZ9cNb4v3Xb5J|w7@};^q-rRB?yBs;`y2s=H;Ke@8^XydJMj&*nhcO^@ z#W7jFbj*rPLX(}-(Dwq(&&%g&$1G_0d1!pZq$fFyFUIcW4JRFbWG{^{JN~X;B8R-@ zY1^ImtR2u0ht8{QbskyaR<7zx=An!BbV^!@M6xqz;>u5b#-{KJUO9>ZxxO++nd9Oq zFPJOiHTHHbGdDccnS+!aI>8r9Z$jVkz~_K``3GUXLZ|B0eQ=UMLLEYJ)+ROEfu%`% zY0f=yL#NV%BNp;UZu76t=`+2l7Fmo5U%nVK9{n+}?K80}Ihq#(tB`y28k)5d8EUhM zr(WB{pYqwrI`a;>$tGp=8Z$ApPg0g<+WN|Xa*E#NkMHR4?(K|ir+Msj^xW&h#^|xr z9;3a5UFzGw)Xr(>QxxKQeaNtZ^S?AMU!|$Co^f&OT?>6q4ii5L+T#7WsguvMYnkhY zTsNLyajbFkLE0|vUvQH<&GW#R&n*o!??P@R_R@bFHK}X$w1F45TNdB^aPsrC@V~xB z{?aSsnNQ0L&-`Lx0-fd)eeuY|PCMqX)4;4>!KaQtf|J@Z9(lyp6mh~2O5LJG0>b2vPz{{ZK^%{eggaa4f?I=<^V1(Xzm>hvPvAH41>WMu zySH;kt92Nzpplwg=rac5)EP`Xiv9Lu5?q2vsUxaww2N$A`OhzMY-!LP#qmLJ`IVjX z0N0r3xQQpQJJ@vscwjo{MIZ7Bt~Vx`*(;@whr|`z)@IpDd_M=K$>FjQd$Lu8%YXI2 zQxdG#O0f=SKfZA%qJ^BGw3)$_Y+Qcu}hyQs> zA@+3vRzHa4*ply9P66N8%A{116bp0)V^Fck6N2Tt{SF>_rI|hZ81S`EGMRS1)Zc#3 z#V0=d6MNu({&`lrO&-4a%11W!>DY}gFSawWb8*Yw9^z!I5#lPe(?D z4DWKM#pF>Op+UxZ+JkEP+(~-uNAL2>BkTF27n|#!&dKsFlUrpLGvtQYC+~7d(>1t> zqZqJ0{W(9AE9(FF)18lb3_D+o41Dy>>cqw_@|3}6{Bss=Qg0=?ZTZ@lUxu1rhmyE+ z;TS%BIambPi;4OnHd!B$mo4^u^{jnjcY1Cf;7>X?PIBDy*vM{5*7cm$T9u1IXZP>UrdT! zvbX@3E6D#oFOo}jecu>5@@v%27L_e{ey&dH@m=PQG3i&vh31tkAoJPq4^VvX;tAY0 z`76530!NyzGCHuO{@-`+=qr)0G%-)n_xQK|O1tOo`I1^))%*W{*;7+e zK9m`I&ovmG849Uqb`e1*3E0~V1`wpv#fh>$bu9mYM+<*rUU{+M5J04S2Y+nay2>|j zaE&K56Zpg_U+5Sc-=!NFoGTpDcR6kJbOCW9BW5=eQ&=w z_<-pa8GE6SJuT>s2idhN>g0i?m4?>KpY)^9(2HV;J-)V3*YD|vC||f>tS@uX{_$hx zJ@^GCQzuU@r|-L13@-T8zX`m4zB=yQZuFX56UfRgE}9EMlg|2v1%fUzrmpWls9aFa{PdypmM6Fn*Jf&8eD3RRBQG0Y(@5l&1k8lk>Z2hxt3op2V3h#-9#GEHd zAtwhu_#yTb?-twHS20FD zy~#L|{HE`q@8^2IyBqHpRrml*HZs+BN4MH5f}p8?DCP)siq<_3X!?gdJGQJXqDS=u zVjEEc!=CH^v0)dOV}t2S!E4-1?1+bn_vn=|xpM(?i;%2riD`=#%Ts>GtNMhd1vh?0 zM_&EpMp5Rn3V!C_aBN4!!jI786I)_q#s#`w^6NV`wm9~>UOI1n9Ewk|vwkE-6u9FL z@iF-<DJfgiz$tC(}o5N@I>_GimAcIRM6cfqtWj$g)mz4lL= zIiYo(Y7=o_h8G^C+R2^VRK9Kkh*pofZbY0jzFYw}Th(4nTpWd#zSEHQZ>S=RA7@ zr-J4mD0tWZKk#+|G0W>uD&!W{VUL{Smesq~hj>*{Ce|0OP z@@H>nc+YW@8^5TjE|Vmi;1WwSAtkph_Bb#TXVamZoa0#d^XR)oGn0x`q5RODUa2&B zn>OvyE4)5Lb{&`9n>Z3^eLt&(4YGLvNDx z3?6Ab{3huZvh1EcdgDJnUisnm4!{__$$jOJ(6n2y>eCLD_s}Lt zia`eqdg!x#`>MFgdHKXfCKu>>>61xR5K679r7Jf4o$vwG2}fgxiH8RM;jaTTfOuj=lZ9*+Adu> zDwkguX=0OEi1=I@E)dBw`6ldW6PWSa=u}G|U%DuGo2xK<=AwbGCI;X-W?T4EV$HgY zpXAh;1a-pf0%L6y{Tp8f%9?^4p%prP^gRoz`n55E&FA;x0~m&Q-V2z+wDDTs2S{!o zzlT@;#PR4cv9U7Or{ytyk02etz~2~+@1u3vcj3FRiyMC0S_khO@4jPAVAhvFnq%WT zvUF@!cZ(OeemZ;KNl`d)7?{D2eF;ehTV+5bKC)ma7*h7J_suKq7e_ueu_mknfRvOeT;-xTD7V83;-RIfPC%KrfN&)S&_dusT4iE7>L~Z z4*BI%D(Y7o2c=sg51Y;DoRf9++_8BAGdjxAX&*sG7&^Ovj1{pGWQ~pTIRbZ_D3kH1 zYI&f2?(ow*Q89q!b8zlExRbZh7(2~=V!87QdZ%oRiuGRj2Y%_Y-}=%xxnFsJw>H9y zQk5$oR3G*6J^inhfh$mQ?C~Eu_03&IB8a3 zqLugyZe!{2aa`G|%g8+BA2|wbwos_yd^WbQO~2Xt0vaTKeoySVWFKr_enIY^s|md%yHsaMBl?65Hc z%vY5=za+!@Bgf$M-?@-WJ~keB22j1jm@9g;j z2iGCJ7RkBhrPKX6muvsX3o`GyEYpelD)-l6Jd6#lRo*|3Z2W_cug=2h7XIUd)Snor4*@FKn{Tn( zo>ynhF$o*cXY*&r3#PJ|lrq=Ed!08n1h4~M|>Ec%6oM3-S+%1ExcYU+upT>vuMID`gn54`8q)jKLilh zUn%PGY)n1Y?2WJxJ04&?JnGxxwaFFgoeGNr?w~Xl*cW;Po+F zG$Iceu)WZY;NS8r9%)TJckrR$(3nT7=&=DuHo;@B6TVj3>0fI|9r@r!f$krPMo35= z39vZUe&kGT>cBOO&DXZ4hlyuNoEreLTJ|pVW`urEHm*+C(b~%aS_1!-k>tS zw$O+Ei=Q{!hT8ajo+6k#B#jLTAuExU>-b5>9sf^ar7oHK^RF2g=iA2Y&ngweHKg6&Lb@a&ZDFLhgOvwkz#OvgnN$O+g^;d!N(SBn~3;Jw4H2uYULXz`zyDG-rSKVCAYVR^%9r37@@-@%kD~3m9n^L(2M< zzv5CUmhW@NCZ47k=F*E#aLfQbK>e z9yDVr$Z#@Wi0>YfMJ9!(oKd;ICP+nr})A@;@} zALowA2j8Zkk&ng)9u`6Pu=1u}zeZo3_?A%#g+AbJ8u%^iTYGp48FwR_Siuv_`dRz*uZa=o zr4_yC<}S2iUVv^dCPHI<(njsJ#FBZ;hY$Rh@nhva@YR=o*~EtlG9MZ9Y|W9C(^o#n zo}II0TC;k{6|QbP6|oChWYAuD)4Vw{+DEQOT!HfyxwpAUvDJL#~W+-d*1_Gun*b+itWi93uHGo zMx*=?NztlQ&p9X`aN6qQ=sK231^pvid4(UJ$}#oV!Bi4=C7XHAyyTe; z-pCUcnj;rGC}gtfxBm4#*LD_s&}(P7=<;rD&M>9s7 zTpFB-fBnjhmw6(WFB<|kPN@YEllDEyp4>WhVHw{Vk`I?S4)qz^KzYoGm9|B zOBN*8=#>le&?B$CDUvqV18BZ|OV-4AkoZnp0Ndutv#~4N#pdP|XFU1GKiF{WhHm{4 zBII@*rjGs5Q#WK8a`>y?O&$31h)jebd*#a6H7*2a=Hs(qL^i$#3&s#WvJ8zg1R~#Y zt8+NHHuQ&Atpe0c2f9T|66SyzsM0*xy=#=31BtXo`(pCd68wL)n6>vQ8XCo(@B>1Ru zMR0>*=>`toB%GPhN+9#y-|2wGsk{THL&(=*Q+g8V(1;#~o(oxc?4=FAZ=tI+xu#AS z^zLFh0~n<-g+}1<>BVb!Z`q64>3~CjI}zM|4J5!`Oob+!b}|{7bJ1p!z>fSF+0x!p zxrZOkTwraonq)IEtWzl?uSJ}nVM|{>sqka4sczuIWt~P>)E*Xb^@OpIm%kkODz;}EI zUs>L@)3GU9Hf>7f41D{tm`a=YH90O^V7{V9Hn`|?oEtu1BYbJS{J_I}0ZsIslTU2$ z$Gkhl1b#55J-U(&OSz^dNjy2ozf${YZrXL zI43*W3b-u`Yrh+Qmw$6yS=b2PfxGY>q)wsh<`L(O)x*;7Si`~ghlE0zz03E&DU(^ zt0HKShjwhRcH3j;>#vK>D+l1#w!6P#?ELd zp8O*F(rxAWV7nH22afLQ@P?0PP8v7mMc2r%zH5Adzu~NI+kfp9^ug)l z>f%ExXWp~%5t=Xh>m6??BV9Qold}HOKU+`s${V}p*!+!Mj5BbF-8pzdp--{I?rRqo zdE>@z?64aij$5)T?a*5rsz;x%@G`D9zHheNajNp69r)tK59}x|;Xa>S(^yCyn&B89 zoblzrQ)GBfOl%Cuy``HMSN@Whp7S|5D_i^wk1VO^aba^@A7_tF{cG+?pS;(C%ycHx zw%g0!>X!!p@Wu1aC(_VZI<`ww^8wq7IeB97C#E=d<`mWK(Dsl7`QeMn`D$2BQdYL6 zPxQOVO&%N=yV7H>TW0a&zQ|#GsBifyw3}N)L*3>KeEJl8F2vl-BDXvqE}E{wQ?+k| zppWwzvxZ)q^D&DX4-;W9uW$i*9$oDp}66>*XMB2yIwL1V1rU1LfSw9-0#tau{v<=Xmw5$ z+kKeTA)y6MaXxoUC8-&>#?S*(dPm5@M!~_Ez{Z)(WBgJkS4&;Lzkad zzm@SQ5v-A^z9B=l+L^vbuJWjE64Tm$I@=_W(Fu=@apFzKpLm-Ep-D2{0uGO`_XMej zl8-EFBXq7pm*~njc*R%)7XW&?@Td&Y$(?%rlMT^w;iiD=z(bFmoAj_19p^iH^F%;S zLnAzDl6oX`c)xCH9P}g~lQ>3}tpodNo+ploe1B*&mG*Y z-II%`&cCc+3{Eda{=LDoXb|Hf6D*p z-}_L|TiQQ!w7B4Q(yMPRAHeuE8X}k5Ref*Dv1J=Z(!t4k1l|Eet4}t)Ysqf zb^F1wgZlP^oUeVHI~E6Bq{;EMfRN*tg$XJLInysITje7A3%M_3`sKt&2rSP_-qiQ_ zz|W#)>T=Gmdk5`Ho~Wf4e{5mz`ZoQh3(yufVjp+Yw{%=D|M4}-`ezpa<&+$wDXv^# z^_>@JAaG>s_?=VwlBwT0kG_pG?IXJn9{82d@y@B-#aFg%&ITVZu-gvCc*?Rb#alcu1E+6@ zSGi+oz-0^i?f#;j19_6Y$qpHv%1S47DeTl(J9$#PyAWc7okN)yRqi9p%Cqfs*S@qb zo1S??m=FHh7j`1LGQ9lIzIrcRc}sYB_no#sl~irL=8dy3F7LJ_^g4cJfD zuKjlYdfkXQwp(7+sZYSej}0;xg zfX5NgUX%``2j)dnIE?$7%yo_ky^f=^qHQ|3AmMQS*6FKsDYUbtZhq%D_2oD4WGrL? zwGNA;#}+eDM(69-Ode|UwV&jK`@9s4TtUuvJUvSEcx;OgYJ;?W&enq8Zc{TbCP;!m zwwu+=FO3b08-m=QPP8u%f@*QeBf)IZN5@WJUyBLH4;4P}?R25>e0(03HAQ7SxT&c; ze9HccxKi*Q|FVaONLzTnk3N#*y)!n6gqKO2*zKcU^a$+4^DGj~M8(DATF6YdFxMMo5&=#TklT)|NYEg!l=C9x%mIm7kPSug+2Gq+K(5FaFizhz;$sWesPYD zf_L@Fotes+*sZ@JDZcWlpYO$I?3oEx=#eb7f;m%pKNrhj5*%B?r_J z9*)T17#<((f&%*VQsC|)ob#2(UK`$y(fH%^@zPA4uSwBM%!+k6(&lRmeB$e>E~M!C zT0uv_LqGcWzyIBZ6mi3-+YZKY?Ug;*?`?SbFHG9Ws(5**akTbQce79RY;=qb*b1Bi ze|0CDdK>!o+U8fXe(6twgYlI?_2?>&7sppNEKoVG4bxuDQzth$(T2`gWOT2NX(vxF zic5K5gV4MRzHm9uL5~Zcu`OriBsRrL?Q_Pn>sTMlU+omx$-xSvNATzWa1QT$P0lYy zRbDqyj_o&|%Q1A|t1Db=f&YiR46=4f?xs(lrq5nobvRt$h*vl-3*XB{VCuv0SerNB z1gEr9uarN#;&))xmFFSu+$P_tU%b-E6PMK`cG~(oU$(mFp_6ko#M8>jANq+LsSm<$ zjt)P4vGNC({}u2`b4cpsjrCs}Zo1(G&pZ|#GFQIro43=}d=mOw$Xh|T;>CXLp}M-z zCw;#$BVJ!A=0aPH&ELMw;&+f5BTJM2_82^xdtUlSZguOA_1o%7lc(736PV~{>|ir+ zbhV#8F!>fAxZ=?sK06hrF&5wUso;^P_6zJToWuW9X`r`zME*x>wcL z>m1dOVoyK8oQ_|=&fLkh%l>S)uTUz@%kg9VnmA&E$$#TBqfFy34A@uSlI5n4ow(46k+?o!Bya#;DeAY4oce#)FN`&9xZ!P}b)Ug>3_9PZLwoO< zbx*YZhe0|v!Twb0zzlY2FqTx{9M7KMoI8%OUmf-W)p>(43d8YTwC?-H*h8mD;yCjt zYjTVB8Y(B_^g7kqD@7n2V}?ojEY#hA%(XAr*+2z%*Ph(t_$03Ujl(4~kTt~Bc{bs$ zZR)T4t>RT5ZJ8tl1FM&)#CDClXxIOUby72CRVg)nx>iSiU!jn;Ou%nGX1a&lF zzO!n%^0}3;EN$;bQGfo!FjBA)ZO!bMN|t~|7^ zpZo5D=~L>qFS~HLm<#P7p_{m4%N>B2byl$xQ%44V;|G6epuh4^ zG?(U$9dP48pO4akBvDWgw`t-PjhDrsMjpD;Q$M>G^=!Q{@@QixI3_|fIE?+~!Ur#H z9ROmF`YXswhmAX73GIomSqyee{gu_ZGW4{}aWy$|m1cFD_8mysPmH$T=h#Ke{8VCc zLE=Q8`Rwb0@!=MJp$D4n>nF}AgHE?&$MN&SH!jvYaED%HFo8%Mh&dB?FQ>$p-chK0 z=*NDYbTgRq*sJH+gTuSFRUdr1lY@(&_m`~#qn^yW(TPP0%T|GD++|-oXHOQi3w!oG z$p_o9yFaDJIVT_deesr<#*@v|@_(TlG77tS&f`rE=22#%8CUO@r9;3rAfFSTxaI9QELA>h00qvhwVcJ!E_npTFm` z?D3=H;?XaRngc6G4AQs=L3A4fU{aRvWwXd8ujqf^*tu{AuP5P;zEb}=9QCRnnzcz_ z?3KzEdVNPh+WRh?v_bQ=8a7!S79P$XuRSiGq(QrL_E@`-cX`8I{@RsfyzYY>-l6Y* z`Ba)YZ!DkOvyb|ZG(&UqOZ5sqs_YiSwVyuaBE{HYlF4uE1eQ(h`B_UXGuJRaHvYnY?Z?JzU;2B(3|{4n zO!V&}UU<;g`O?kdoM+!YqatNv9UPrPtn}Jeh|#}?hu8WHj}`}qr#7^d%B4QC0l};D zl=#~5%CR_XUl|T;+tEYp(6p~ksVZA~Z`+Z9jmjI})G2ZeIlPoqDa`{9W@T9T0=@FF zu$mmN9`==MRR0s^+_;&3^!$8VC_0clwzMlTxmPbb$M+j^My!Qtu1Wh9w{T8hqHpC3 zt>UI_<*cnkvv}F#O?0-~IU1g$PCn7?iFkX6hMpoe*B+kQ5}#cdKa2g_w((n}e2mWM zAwIFJPdV3*l!2+nQ!h?a=)N`q!zjHdO`mH%s=NiQ-b+WDdD-w-pG+SIT|ZXY@vk`} z9GkIy?y5iJVW&qS$He^FX2n?k_H6vz1?I=E5TcFlxnoEyOdR^>k1;1()`8Gzx4B3^nx8t$Z*q}FJ=@q%_!yH>M zv6z9+%2Qs^(wKnp_B3CddI=>`wpHwga zy~lYYN9nBPgD1Fa@Eni9h90>T!3|&1eyvoe1mVz)gn_+|4}!tj!UI~fxG{J8;TAt_ z-lz=^44LTRXE1fd%&==W0k?|{Yi}$nYiNlla<+r!ycfcu?N={)@fq2C?F0|@@7E3v zK6TZhg|-4tJ-JM}XK_Seu+8WKPCJgpu;CxOG;;&{*Z*q+__ zjeKaEw3$3~Vwo6Te?6bob8^t{ZD8ShMA%-E1ly+u&ZPb0k%uq5Op|^5oG07U*MNfF zz8uvBq{W8&*9dwSna#qZx-xn#84E>*FMbj=b^8c)h=(Sb=55FHUzzv9OFwo;`pc(z zGQr(OI)JmW?btQ?=i2`3zy7NidY<5LSHqoN_=@}m&bb(C9a^E`++Hkv2tCE1=LtFf z%Gt;fIC`?T7(vT9USiMj%8#CnzUYff=j6yik6DQPaN7Sv4_xoa1ZL~iv5lvoKE&Vs z3Pak-F*-d4ldYoz+GJW;z&eh%sw)_>*~AWge#JMu=(DAh)70q`U=@AAi}@O-Ij3j) zZR#sS=)5dzpOs;CmpIhn56gDRPUdXvCf?ELSd_ieNAC|WZ8mv11jiR-Wb>5m>&+dh zqa(S&Z|-1o+tMoD;YGg5FVi2vk$V^59rqmEkp*2(%BWX1#^J7=@NzEJ8ZUvx%iTTr zaN)@>%4e|9eiBy{+uV(cJU_&qi^Uc@ZrJn-j9_t zf}Hk&Tb-s7-i*yFoBHi@Fwy;xyhuj4Y$=}TwszTL_28EWyRZeBY`duK_$4g5`0a%U zIa*>CH2pP!rm`~iC2j6>(m6RIV+A?VSpLfs4e-VtPgaQc>XFIw`y?=TC?^Mxzxwo9 zU@SZ;E*y;UCcX5rCp$kX>Xfks8;@W3jBUp@=3w&_FFnaqSwWxgLa@1u@M)VnXXrAD zK1?5SIPz^57ILf~JDxk&p&6L!8oF1krVfmA3&wbp!=_jqQQ+l6L}af2BhT8AEklD0 zTJheC7K>cyrt!*sbXSKioZ{&hnBB^@txfLdGykL2FQtj4DE>#bh^bF>i?>c zYwb|@*g@T0UOrVWnGQWX;THbJpmJzCIcagl!rgE9jfvxXzRn+7v1<0mmOVBPoLu|! z&;L(fjQo4%Zs}dsalejWzr04)u@{=+Nh~R3mM4|!9DN36@+e$#KAD5%Z+@P1`r*ho zwrKxNei$11*gP%uAMf+x=5up5=+(=`vpJV}E%@e@V^`Nv?ei`ck6dJ9k0i`g>HC`E zMY2gH!sE1z!bCW0#(+uWfvi8~koLD9u@v$oLi>Z$HGAnHR0BbfW{_ zaY6QTb5oxpS4~Wh$UF}QOkb@H>W{G-8kH@0XxYGg{74>S>-ey~{PzB*Pfxy{2uFM5 z#)_@;)ny1f2U-4&#`<~u81jYBx6NAc`tU&?e}o7b=&5L5x!9-IPZ`v_%W&RjxP2h9 z2WRI6wdJv^#gFY5jr-8wYt}N!$J$<8k=ePz&g{8zs9PWKC*8>h9t?ZIvAxqVP-|n2 zHBMfIv_ZmP19p)yS~&YHE7+c2dxjmW7f(GbiknE6hKih{v0EB0<4}x&2t9lzXvP#H z&mA8wH$CKJkmK3Z-wS&5T)tL48$d@EG}wavj=|aQWC1O@%y*j}1~0v|*%Q6;XTLJ# zK;xW8za8ZG#_t*51FcD)jQIn%j+SH%Mw_t6iQV$B&lxGQDYMrp=K^m#-vmh$-U*&@ z8P7fVq1WVKAu1OG{W?>qcCe7MsDw*xIKGmc$VCdBfE|@yLtd zy@M~Ap9yDhpW@Ri@fSJpfrVq$883;X@l!sM9hhwGAhAPWB_kb}oc3e4(PxiG&Z(0? z|M;BAVrZI-)IaeXUtm7=9ow2{soy(TI~gMG>O3(rv7mnZxW1ZLBZol}Y$sx4nZ}_u zx_UFYN6N*?n?E93zI!-2WiUWEB-vJh!z2&Ah6Y;=|Ctb%XE6*`(--)HXV`7~!Pwy8 z$4x@J$gy%BBw_|`_jBP*Zw0wHph7GI}+?PEZzZif#j z{kd^>aL{Hicw!TM$NHmTTE78Pd!^ofzrM8-54_o_G$ONjDEY%f`^$o+GLyfF6?OW% zJ^Snne5=o?>yrvOCWnZ$04n1u@aSUC&UA2WYpGwy-(+>6tj)!!WA?Ny-qHe7KgB*< zYLA@YW7A%la?Fmly%1O5JD5j~6TM67NIyPBN8FM@>4ib%o{1b<+R!JfSgnszuh45{ z;cLhE?Rcc!1~@EHmle6wd#?aS^Gwhy%=b&3ewt%Z^aEBbZkyZOh@RE`z&7I+x!ri z_QSKkCaU>bUt=Tozc`DkrKJNlYM9^R2%&{xj(134)2Om!B!^?5!D&)7N)Z4+^pNUn+K7DVP_Oz{^ z&|{YtI61EjsTgVwCLZww5C3j2elS+bOT|BOqGJqxmzxKxfBD=#(7JCU{m6I&`{7U@ zW)HA%*M^OU^yQ;wKnw5L|OV5w(iXRyC*hh?BvK?yR>%*Mac5D+p$+WW6C#m0< z24}nyZxOd}Yu%xbc<2NspNG@befl&vDfY=^7hrUsIUF5MdB;}hHU=6qV^{Dy z2jT-Vm4BGH$F%a7=V`A{DfJ`s$}lfIzT3ef&x|P# zyWluw&~G&Z%zgX zEEqU!W!@rhT)K@x0+X1F3`qMb%*X-#^sgh!uojn&CO#kg5ew)pZqu7gGk+btYDI=p zh;8VM9vh{O{n&^8NgyC#KZY0-$Nt*+YoG_I1CdqhB+Ae%=`dHSSdv>4(h;hH9~u?OaW?hk zdtO9V!-Yn9r@it7#@--iAHPR6}AQr)q2SFtKz0vkNsYT=w zeD?y!Kg7GcPa}tzvjG+R?F-Sf{UGO^ETS5sy%V3W>-0h~HvF7lK%smmMzIk)8G!LM zP_qj>G`Fy~t;s-JeLitT2OHjS_nboN(6#^d*I&yE?IySO<5^%y7iejGrJYT|tsM61 zYQNA^+=Zg&%5Pyqyb)p(e!ue{T)NmwCvnhy=%7blZ6;%l%`8l*L#v6e+{QnMuS{TT z@5sSn2GVVV;&}ItHy&Gg+BYZQzxK!5F?jVZ3Y?c#KSDS4Xx_KgPh2R=uk`41>|noo zFWv6h;tVYNsqT52MV3~Df|=*XL~VIKb^QKzlgc~k*a)W zG1u2N`WJfa>aMZA3BGwQ{crWfr(6$>$`H8bi0rFL;(ix4!Q<7zS3eG2vMKFT@hdyD zPoxe#gOUYr`he9>8rwLheYVkg`v!V1OFYJ`-PRw4iTUPNZ1Se{^yB_Y%CVvL?~zkk zpLT&KF`%HMe(CMRyp2b;2-v}#%nF??aO}mx#@y0iTZLZQ6g<}Ej#rj2u1fkM*zFUw zL-63Jr}n+z)snX29X|YQp;fzuYJBk6v1NIDNnPbReL+UAX%F3%oyL1iM)C9^PjHa4 z3%coFCTY!YXeBR=KgU&UU0L_NTVZm^9@={hMSm*9>&?RfWiTZI*rQ;;FKObLT_iRA&pF@M>I#rXmNfuiH1!%tp7i zLrfodd&Z@eOWV*4e2&3?%^f~trkalH`N?o?`y|4CW%@9pBK3b?(O$uFzi4bv}QZ9 zYHNs(?O)<`ZkI|l)(#hqqYo>s-m4QjmFF}2s?SQwogu5p4XhJj8J(LdTr^k z)5tkv9XX9F;%pY@z+*m;@y z+B9|a%Ps)J3%!<0riTp)x$>20KSuKUT0b~8A0kzq(Yp28HZ~iE*^$$E3ORF{CVCwC zRJ4f3wD~Nl@iVJ=1%dtOlQ_(6GBk!3{n4I2`>q#Rhv*MaFQkqF4KPGQ;4TPbYA=(t zw`7O$>xHPH)4vDA7*7DrAXi1xj5Z#OU{lH~a!G1CAdigUO4e+5xXKc7)OJN(I~fyb zuazd6z%U11qhHQn083&WtZxfLj~aCdC=u z4Hmrvl1Fdgda9!XaO#!4aKjVbS~`F_^n=zqC_nF`|>! ztW1(+W1=0)3;o*ZqjMAHaAmKtWe{SI^=JKtdTjG`b-<1RX{3Abpn6PL?pGb(_`bBk$?rhCYd~KDV&K53~zDN1{ z#KgHElkDkXG0i}_-}@&EnkM@BZrIJ%85Gji_zSL=Qc1coHW6FKF9x#}lWpK{rRtF*xam3E6f4{8z&_i5Shb>| zoj*mJ_vbWkL`McH-|X?)^OdzoOXsozu(inOk4Aankv1D!O|PE|)va6H#zOshxEvX@ zdve4ocT3I{pW1Btp)!1<^MPsQsTbdP*!UalpUcP%zY_wM5|qJF^tbk*?3>#Hr`^P5 zezjoW3wMY&FP&pDh+74JanZQ1uSO>IXt|K{eSSDkU2N1-Mn1|n*U~dvU*daWpfQs8 zu5Ds-c0zN1hM7F=H&GuAFFJcpj5QymtvPH5tHc0$WRUM%aBPmR9pW#4F1psH_#RJH z&-+K)LT_RF#Msr30~uk_+ePE$MF$tb~(8uNKti z!KrP7&(Uf<+{xrkj_dNMd1aGUlS!>WGTy6|_CiQUD+(hu6u2tp+d&ey#3y78Mn zH;+E!otS0PEGo^#x_BI4$cMe_udl{0ew8WD%g$3p8OO{gvL;^`d^axG7SDXUw)Ud0 zA`dyPjC77Y=scD!NIz`slPftLkGVZlShWd1*14umR4mW zUpA%iWC$G-VNWp054GFr`@iMIxcjw3aqvriA??@TcRUS^(k!*1*YogQxisw@apkkG zOyr9$j=}HT6(4l=W)~W(Ggy7k)4}`IBz0)QXWN{Vrid$@V=r{JJY?YmaWl5s_WOQe z)sbVizlOi#f?e9x`Ou)F_~t|QUmfK9>*>MRV0mj_SUM@%nuqu=w5ogRH?QK&m(yX2 z^5X{;ve~i0-q#Yb_XAfs`DcQ(bda3KY zE|k|+L2r3^?mCRX@)4TNdx;(64*ux3o}A@9@xFDVW8$S+2VX`ar*r=ZK4o8 z$6o&jrSS(Yg3+l~2!ZF?_Vr!n`d`kC zgY7@|v6a90YGW6VEqfGiG)}aMGo|Bg0P3ck^H=9n;xBzG0$jE&!f@*0k8v@%l!|@I z;?NrZAI$J2LuC^dN3fNZ&%EGO{mQIu+bd+w$y^?UJ{xlP_;@pq6jfh7)eg2^gp=Yr z_AXy5^T7wgXRafsPp=$(2Zs}g2I(1z1Dx-9{a}1b1db*;TPKFuzhpQ86QCERD|HF- zWatWi8KH3F$S}C*Y1f$rmSlpDtsN;iE?q{R@RH;z+u*Z@4rI?X?L6@DYTapYek%-B z1qbr9&}Ez~DC=-F=$&mHC162=8~){3Id?@#&0es;r^B_KPFfn7IItyAOoA3xu=xH} zlNx`a7drW{Fr9rqdXYwkNx-#Jbt?Db^aJSG=sBjG(rxG)q`p4S z<6C{4HN1Ow{^*4Q+Wgk9X5?G~ti0qdU$(?y3VEwLnbniAA31Pp=T|S5ZW3$3dN-b4vC!|h}am&etn4^y820? zGZXqpf@6zE0_FeMF(N&AxuZUEqqDX^&*NZQmJhAOM6m+Xi{}pa zt?vSZE_u8UWRHi}T(FeifpO1(&1&E5b99>N$%Z*)&jZszI5q^2hXRYO2wXZyKn#rY z(kSFW^J3w0`mo!`T$=}9`{0fYE5Cg?W+KA9^NS;Klsp8nUw)26AcQGy54x<$jaY6VJ!r?L%OX9Qg9jcaLU954=olCr_g~ zGKF#J_k49>!}PIlp{-vxuaY4XF8QYC_=F}tXumAw7hL_kGU1m_w!SEQ(8#!pR{GBR zP_(YTVB5#SOS}HReDAp&+}hExTnTPBGKsT|HGBNqr?L<6u~UwhzIJqM^+WA2a7$l3 z3xGv)`H|sXYLmd+_itiTKh65>+gvz;UpXUCc~-{Yku#081zER%XKJN3-q_;1{E55r zOw7FVGvo2$T;>l>C*Lj<0*8m25#Xaputy$wnv!WPk`^)dJy-Q?z6%^0E02AU9oHVy zFm1<9?51rCJ@?!(+&j$b4<4Mh!l@vx{VA0JjhyeiKnyj0yN~?&(~rcE0w*7r46V#Z zc^x^sXhAXK1Uk0JVNL)J*zBVl8~OCaYhdspBc31LSmFq5&&S?$S$*eXZ@g5yB>pz1 z&}j>Q^QL|};!o?{?zP3SCHl+5UfDXwi|6=W*52xNY<4`l();xd%)L)6@2m`s-A+zf z8Q4>?$46hMx2K!zYvAZoodQQ&{$0PVO$$e+w8LAzg=Z+`@Va2Z+tAA%k9!=pAEj+& zLgIpP!rOA($+u|1Z_AN+?8FBTdlld>KENyFC-$6*(b0SD^#l6RZ+$tqk1@8|hXC5z z5bmNth-_{gIn8xv4z@NfAIzgy<1+Z72rsx>3SaM>#B>_&`l#yDWTDZ80<^M?cjmKt z#*3Y^2EOx1VUS}y#*Xp`8761cCy4V$A(xi^m|Fc1LfYg2W#!tvI{MW<+Ve-&>qf+v zY1Av=|V1h>FbIp;>O}hO`P~j3EV8n=R-~;0+ju6{88xh#y9OVG7o^RceRL<|BUK;N{ z0JgR*Z}tt5&Xo|dIS<{LmnR5vtcYi_sW;xPoaB4FcVz5eeS=2^#|(on*lEktA~P|? ze2{vfSfshzD#7Sf3{k`ya12$Vm6uARR3|H8@Ujs0?ZI8xJB-d!XUF*XNa9}1NMUVt zPJ%(9OFLES{ft)cp`EwocAz~SX^b?EHMt&RjhuJhd(7?)Dz?fN>fyzBV|d0JhmL-o zjHS`f>Pdj^1dtUReEclvxZu~mgF$T}(4x--LcneV&Q5~ZmrVquyQ041#lCYvJTj0E zJ0BOVz{G8}Bl~Tqnkb^2BC|l8V0Z+*)pbEVtBYiylRbT0(Cet|fTvDc*+Xk&(FqMo zV+XpXA(!}ebKLK<^_&a}A5D8d4B*SYsk`eDv7reTPwgrR#$Xy+{5ifD-LLoSBNAIOs zyvVNb#z5p|tFd)n0(xRc4z&;l#?RW4i=0zNKgXNb_*%2L z3&GlQpJ;No=R@#oJ72d5pkrFbQ@Nv>yyY)=7BiFB9Q}7%cj$X~%@iQIurTY2gBe3oNiN{XfPhQdY*0=oroH(sH#Zo<3;<$RQ)^@F!5`3TbcQpV$f=F>8U| z3$M|}uj3*%Y2TYD>hYk!%0?#RzZZ~JzL4}@pUulFyZ)lo?>UA)3nzgM-JZwi<&A$f z@}oKSnPW7zPW|Ruu-mrny9cK%ZO7{HWD`$JHs>BV?PQ8#l|i2?jeKo^Nz7-QqtEi) zz^AC&jZAo6a_~+1ts*8iwo4~)>J&Ii>GWvi5g+)kKAQIZWnhaR8kJ3+tSn@G$h9^Y zdy#b*4D30Xsy}_MT%*(2VS)77iOa2-{f?bmOSbBL>>}^jE_)t7@~isIYn6}9vy~6Q zv)%Psd$;Z$4|s;($W6z=BNMvjplCYoJSBcIzTs_r6w3-3&6m8qSg>(Ev+5RX;nScDbw7;a<*eFG0?YgjX{`9k<$pL)w$f5$?{+2-Y*Gw&cde&T|B)w#AC84+#$II{Ta z#EHHs$28W=Hv(hvL}8M_oBj`O3vI>x_*w4e3%QQH$XJLY)5I)V{5tX)uSR!c9PiBy zy&1zsm()fGbE~L-*?VnR?3%qF4H+MIdp`NWi^K-|N2Gf10q?PG#;68wI&=3prEs!N zzDcO(L0aYQ)e*$q07YFV&LM$0+}0gtv{-!Y_hb02W4U>`A0&e8n3-v+6X8l*X>F}Ez>VXK=_^F-|Fois1 z<`+1V3}UD7;xmQrHWxq=Yfk!RWARHDUs+N5*l921Jya&XBX<}Wx7@*Jlg5$65x&*O z;z8)G-AV}dk!N2HYB2fvXYZq!m%6S$KD?WY0C?!Z+fG_r)P6Iugp2=gzs;kteOrC- z#6<7L<#=LXVs!_3lZr=-1&AVG>E}4QxKPPweY~<22pnC?d+gMo0@bH7+0|zy7=3JC zSP33&bSB}7p|Rc8hh=$}zdPoYQJu;I@n%)8}LN zsu(}c1bpJVu@<70wVmPQFadQdmG5@W&u|+bk*^c{?q?ua`%B0M6|!zoxAIS43L&*}`C&iTV$rF(Q^CwTko zR-QltInvE%>4nyo_MeV%kC6ASP|_ ztCc4S3KQKc^=RAXoa?i_pbBj|;-{@PPF*iDlW)xh+_f7u$67AplQh~V)VoPi-PZr< zBb|%TH!_f^+;d(TQ)^rjlL$99!Q_~(-nmqIsS^Xw&G8mG5?^Rn!z$MpbODQpc5U|b zQP6R2uc&t{=i;?^3$u0V9pAS*tmD^;_zZ(IRrA;(cFkX(FiY)+_Zf$N@h&ZWIs4fD z`m$y8>q6R-XW0ZEhN|HT;E@cZ(aoyz7q+@}gY#&wu`- zvi$s7rf(h_NbhfD2=nUM$W%Da3n8Kc9gTbRm`_B1@&oSy=|x~5KS zvq2Q;7&2NsauJl;;@~^}VVteLfL1;>w4ucJV+Z`|K{9EJO^~b&&?x=1q@RdQW#A?b zTLF(6*%}^bXLDShq0#f~k*giS=g7FyHu*q{n`@d<49~R*JK9qCcb`CPZYZ5;t{;w^ z;;c4F-w|ic<;Y-|LWjmm&PB$lJjc$b4oz{`JNCu9K+9B~DPR5ez!n~C&f8}L$I4{SCCo%S>B@^b5EEO19XnKVAT^Fupz;hEhT2PgLB3$)M> zo3@ZWHwPvU)74ko<=T58hc=7Wa`q2}FKTCT8-E^KkB#}7pXHov-*W@$?OD9Z9H71l z{`$bUmCRNd-8`Rp!Xw5bMd{&Bm-gxG6*hdEUjlR8)rF0m*RI(s#siR(8&6y8#~$K^ z41X?sKZ~`seL(Cx28d7NOUO5OM>G#8k%_GYh--pAOu%pGXG@IE#Km4&ArXE~a5WG@ z+}_{9Fb3i}7$X-i*>;20IcD~St3rcMx#iPNe*>v9M;%?7}4=&2t>;&CuH_A#Vy)c)!(%acm0z|KJ=2)-r6nJ$?^N|^YdgQLt>gBDfI+d^urL2rK*oMF;f`=yMy4$O~JKy3=aI* zA+#ftmy!NQUIO@g?oiA&?-(I#C$z^;dv^tXZ5LYX*~!Swr(~hW*bl6JIh*l}rJREy zqXiv_JP^$n?4+=*g2%`*_JgDCOWqey-htVRT5^GB_{PYgQF|R9^%zWP108#=Z!Fl- zyK)Rz9)r*1EXk7%lv+QuEd;6q+Y5pAjnPp~l!zN!$3B%U_*<9d!WlRs&-WOo_52zb zId0!~!amv5r5o!kReU!a#R z+B_5+%L8i*y5<`1$^*>>(OW$m8e6I#WzHs>X?N~VF2w)ihmW=O^Y`E#oi-+$w~j3M zv(v;2{lt3YKsU$qc3vK-BdfBs9M>-gwlR|9AkU&gbZ4^;>gxD3FF}TbQvKj5!F)}S zz2D@kCYy)Q;)~_wyu2b$<;6RHl`&s2;}i8Of28kAZQFlWzTi}^?CA=gy=?B{k5rM& zdQ0NPggWB4tUPOj;brWbezo=jT>XySEll_P?CH}j7jY(%`m2S}>cRGGoPYF|)(`v8 z)o;Py%N4`HUs}y);xL_a^_qPYCniwNJ=Kf9`8Nw z!TDI3Ph;s69`3=P{yTas92ghB%F?babFQsowz-mo?oU7c=Rba(oRz+`FHWsZ%4h7* zxp`oh7D8n+3RSRoa?a++^2H+Z zv%7P4&TZ_}SN~o-!Yx8+rrl zbYf!jWCaP8Kl0Y#fs;?^JFwsvcKZRi;gcAMjCAQ3cWAQ%e$Uaj{V)1*|z* zHUnKI6m@=hodAM^RzNFvWzjM4*P?-ZJ$vOtTej+bbcc#AUX||!+FYc$*d3!!2Z&5T ztkZ+%c%MXRqK(aUjwm&}BG>wX1N&mo@O+a&Rw7tmP>c<#XXIjAD{o{Tm{}}YpFM(9 zQp##!E~xQgJ9e7(@iCnx+uXuWa0xIOfFWJDdokWDRM1cGncVD!xQTK1nJs)bo>qCPMJ_C%OrI zv7wY-_Uw+{=g*&J&=2qJUnV>sqML!-f{}$SVu^7V(SP(pX6P-=r8`gFNbr-)$j1+K z>tY4FW>Yq%$YJnA!$QpW=iH^ru|)hFJoR8pD|Q6G`1acClfZVOpS?nNu=WwZGN4m> zg&17EQ5Ovh(+P<7AZ?y8F$cr8>^bo4IDO7VF&S)~Fd~v*?lKI z;mLQaCptTbI9_`8@E(Kb_^UBp9z%mXl{IpThj;HL|9Je5%%#bOp{JX74NmPF_`fQR`OsR~ z!Bwx1F1Vv(`cV@u~Gp@~2GcU<_jvx8Ia?d-O?SLevNb-=+YU>x^}weT>%s)7tKV>0^ZO{&2Y0SiNpSm%rjSS)I8bX@|(77nUgDp=VH}}e)aTCwY zrz`)+0oM2tTIr9BK4b2~<|{8-)gKxA#wPqaGFn8k$p1@n-tqwhcNf*xF812c()aj5 z;WwL783W@2Gr+C$u{0fT?809e)rkptB?$-lKWrdHwWg`Tu!DmFN=-_O9(xqvOT_ zIU7fbadYI#!k&TYI|kBc6n&_=f!Bsc#*sZ9nD{33{fgd!*?J3n%E0T}aP?0%=i@d% zKKPj&+2Cwx97QH_KB4(&DhRq?bMs3~z~gTlzcuHbd1hr7TSv~-Z~5H!%m3~lY{j2n zw%B@438MG#{lrT&y6RPjY(}=A)P_-~GA|5% z#-ENOr>*vHEQ22S7`gc48#>6rT64_Kp(BgpXIq)s2QQ#DHuBYAl;O4Pe$M)-51|8J zY}Aigj5ZhdG|JOE{fl2G4#k3T{s@&9nTE`C^Bj;jbAgCiVR|u_>I&y&F)7n&r@hAE z;CA9kpqMdaA45$t@1!EDX-W;8J^BrZsM>wtJ6TAZ#U*vjz}RmO-<%X5jV6r%_9a27B$uCZ@`B~M(?2b`DcFnkV#J_JnucV;7%9Yor|{&G-RngE6?LX zx5+DX=r0f_QE<(Plk7)+K~45;oA_zu@<-ZSpp!`x_JZXJ3v(meeng9A2dtaPf(Yw0(qleF$hezRqtDoMc8my7iH&>~q4gm%ckdo9<{D zsgC|)V=627*b5BUo zNb=uKvbC2N>@=>t>d@%m)22yeCXVA{w8i<6wWbl*;si0|#&#pasVncfASmDP*GKl( zYgh$5pI)+^^YM=XeV!berv*${C)VLC9$axtZ}yaT*fvB7AK@ZXpKi!T_c z`1YXnhyJ0r_JVKQiBRdCy3z~p+Um%+a#q#=bdnYLwI`hILtxgvyJ&pHMA|x`4m`Wn z;zwUJekhazuQD(fuhjWvt;S32QQw@r?V^rs>;z|@W?Vg2|I2rwwfTPQy1&K3cw=l_ zz0=vMV{BC1z_za+d5Noi9vL+OnF+jH$Vc?{fzSHE`)GP`ef(G79C~c|cV+0Eeh|XV zxmg4zo0wI+Tgmw9ZjKu?y`d1f@gWCWR_5?(e>n_)uu0&+4Bf}v;SLXN`w`gE&P4Ay z{EJJ^W($2+oxY za@ukYY>PMzw%Eg{2uW2@;`P|D+P5&u6n;&=3o*>bEeJmO6o z{+pZob)yqM^K?bVF^eCu{m>a34~>bLkt}f>S{t|O;OuoqVbX5V(UTh?766soyyBw%KbIf;bMV9@ z8kHfmJ7>%J`V-E~4<>Fe8Ub(d?OX6Ov;z@Zm)N_Q3w=tz8UbNvXWd3u;#@vCoC z|80*Q%tKJ7k@-AUO07(+@}6atP=*@qGJ(Y9X&=8s4>7XAfq>E2%AEUb((z_ zJF;&AIM#*#(k0ei*@txM_1pyGp0m3AFMu*2WU zbpxYB9s%L>wX&1%-rb-VW|5a})w{v*BPQ+1XI*E5foqfp{c(14xgX>{8H%ARXsX7!<4}}C)Z9e@P|DC1Tx&ETO9)Z zEk8B49VDFdr*PtC#Q*?607*naRAWgd^V4LWI0%92NuIgGp`*;BPde@Q6klA*F&1)nNtbA)S`dtHZd@hMWsRd0 zz8%d48vN{8sBwqvU74VK8(5EnA4tulhybjbV{S)Yq|Jz^`(vf4aw99z?<8W4qYN&*jw!gJ`<8;=Z`Xv12N- zv7fI_v!_pCUTJc$wiJIZ2+X_a2_w=o!7lbJcJ#Ic0iOL#dG!mDE3k4Ir@n3)_8L+C<~)LqL!g|G#-j>sZr$!?Py6x!TQ9c6g+Ki? zs}6wf?=lkIWc*?p=y}!f;BU9lh3c@^j7Z?LeXt_(8psbfbS6@TF&!YyW3`MDi|jh- zd`e`Qx~pb(Ux}#lwgZXQ46;mE#=GE$6&epB@zY1c78y0o5kRKA33mv27-EZ>ouj|h z>|i9io`fI(l3eu#ysY#H$jJY)66VNjjVEJMz$!hfT~7&92!ahrt-ei)JoCKipASSV z$uzy>Y(}3kZO?ey2T<4D-c6<)7v@7A<>CwyYTh1fadTiE48AMZGeKJie(+7#`v;3pbB&k3;s3@(mSRLLR43l6Q>{P zywd}79B<^yJukT~0ny_5W~bz3BtNUxShl@5X+whq22_*njzEnm?FH~a44+3esOXqK4Ora_`@EbsXJTy*3I4C+VPN0N>g}ofqJELJOQ}H5ejh+y3yEDKdz?z{M<9eK{uIK8%e zPObKAaAiD_OYTeeYORiHqQ}u_UZ1! zkM_9!RT0-DB5Iu3*<~FzZTk1D_rdRff#5dZSP*kLo1R@m=?1 z}7MDbM4y$DEvdgB=ASiizA- zEM7MW+gI=1qW3EVX`jEnduN;0EjlP-*dOAXzr)VgEGpND034l|BAW+n*#n^m-PN8P zj|At+xvk1#(P<>&tsGqWrNuL`iuQO2m0!vuuI8tm1np3B$#%oo*6>-oGi*3Ke!Bfy z5cL^BAL-&)CLCn%cm4ZM?g9iCDw^A`y!K7LG#Z_E#{UOqSD$=*es(2GuJ()m@$~n? zK0d#0L2LSZgScJGEHkO&B4^9e_UQO<2cXyF-(8V<7fzgA1#HacZIq=CXPnMc=6AHD zuS?DHB5q821U-T+*2O%1ppAx(Cj_WS{xjy!aRH!V?v;{OLarS(289t{>;w zM&*Y8z$rhA9p~-J4&5~$T<6t{H6dzMsv@^UE{r5l*4AL(HMLexyJJSz!>!j{0`@2? zq0_f&_fDk`|8ko`P=cGon_1_nb{MX$W&Xz7gY5xi)Rlf}lumHtP6Osw>6!4UOpH_^ zKx;1=3K_eBh>hxs6}!682|DFhc9q`Q;DWg4XxGEl+dUH6TL^n|VW$_g%yH|j-3%=Z zx%`ZTn~n&%RTf0C^!lECQ-|jI=Yy5Nv)`&_r%3+#vRd_%%;Y&{TolB{PPfp{odD%7orCgL4SD?Ey##}GV0MzD z#<_Wu`&j-UeSoiW2}2}Ue3nD|tqBk3lI<*~V8TnHDqtM&P1b(IDtkwi%UO@!D)jGC zjl%uKe~>tS9ksJXPBN3 z_PzS|=X+ajBGC9c$03*|)3*-<*xT0nS6o{qOP0t$y;i_w0k&Re*z>){G${6p*&qqL zirvG5*!6>GFr8&tJ-fN%k)9-uv3M28#Hb3QHuQ(spwU3wvK*=}^kE$>Kt#Ycc}VBp z;SohVp9JgHx)q)ct&6I5mZGo}7B~15ne07gR+sXNHHIDZQ%&s;@1(W z|A>hA!|0tuHc;z*y0QAlLw#m~P4z*z$53ZyrbeWfc6#=Nht{e1B(JBZ1NeOtTLm7u zUh-0S+!Ir;|IsGLY?%6k;!f$B;*67TBgI9rwXh6{1 z_vsO8^ae9UbyCe@ElhNitTL(1ILCQ8vPgw=D;rastwqe%`S=m+_oixd0R+#h5V!~E^jhGH#Xus zF1hJuJsT`>ob2IuiNNnMy#Bd)SZZ6*4a@>WXXI?<#i-vJuOH91dZPKTW4Uv>%nbz{ zsHFiPZloOmr}Q-+oWFJBa!hW4ok1xP?%5ZgNDln#R#}c{I`q+y?-F4u1;m)Sgc>e7 z!&UmioWvsoFY(}p>33CyCrvYkBfG*w1Exa|!0wIwh$((M`>CU+I!``J9RFpK+r8Vv z27AN3@lVQX*OJkHy6@P9BV;XbU*?QEPO#Ma{M@3tFQZG7d{v#~Iug>UparxL$51-CnACiZNrx+( zq_vyy^-dGU{HKddz?x3ewCe@IM-F6no|5$iWF^1nA#{Y~5RVJ6yUr%f-pVxa4$|>H ztbmOIV2jBXn;$zLn2E$5`JcXzPUAE6_$Ni3YD?|oG?!oTkS}i)who7?eKymNo1z25 zf!V#&3EnD;B%hBO;eQ6332kW^r1D2i;$kkl6&LC$<>YC8Kf7W@q*kZ5XML@sKlH%y zeJC$%FTK$gu{q5f6m;x^TMXIpas6s%-mZ)W`R_`zb=q0F9S1WS73i`egbvf}E85K| zx(77@%a7+*Ap+~H5*%OsbzaxF%zWFZ;<_+FRW&DQFn5>Vd`P5wVS+7VUQCnwOl?$w zZ9WHk)eOQ|PVMfVN7B)nJG%0h13s(owAya#OGMtWE$%ZB{{r+zg_znds@V?WY9h!w zPId+hD_PK!p&{V_?s@$6jrI2s$I)6^jwVrbsBK6-9L_*K!SqKGJVq;0&(^n=K}%#l zd6}$Cd6$o0#;>GR`2bx2bA(?T8r8a*$Tt4!-c8V3=kb@q-g3f_@ICvbV2y= z$oxZ6{C2$1{v#tVvn*dyl_qXl(cF}5*f@o9ow0XH#aj69Ebe(b&l5Q?(nnIRP^#?l zRCfRM0x#37CW;$6U)DsXs7Vo;!GEH4QBh^>CH;-xT?};TFr|Qt|E&eDN5XdGf@4?EMBtf6i4#MhZ`%oR)f@%@+=lGl+st#yXGLSXLRvx~-l z%3mH5eecVv@CoH(r8ov1$XCl<9Qt5MxmzB7r!Uic-KQ#|xjVuH8aq3-Tld!N3~#9d{d6g8SKSM+P+0!bmP*-kMPk=hp5R-D$-QyJ8 z?h&rx)Iwy9#ksy{a|s z!X49f5yEdb-pqkSLppOV*G&(unB@G*$7(*bS>t(-ID&e!Bmrm6Z3i)_aQXq5$-ps$ zcPTIXY6RDY7B{SBJM6(0H^5(%`1Y5EBHIDN2S=mCu2~)j*MZncyz7B3voY=5JO14v zatmCSnTd3uOM=ZZ2U^R@-f%pr9R%!GyR+sayj6Q=qoSrqlxtE88J{oCG+jHyWpj8V z&Z3v%`5IQWg9+dKRC)|lR`V|i@jt6lb^YqM5VAV%PrGPUpc}L*K4z>~9h|$xt5~)5 zW8r;|C(i{O65i9t>;Q&4R8iD}Mw1q7i(H z6H5Rh-}ixh>n8)_;bYR+;iz>qOkS%riZDx z&APlTFG6XetM~jDkpU;zG@{?;^Ul1HmY7d6aOG`KS1tR-n~#{Zryp|*v(FKmty{iZ z1uj3Hp3F0!J*EiC<#v}%5}ni(Lw6%*)j~fG5e7rL)Rfh}Qsn)9{ZMW6TEajT7AI>8 z4!bS}ThJHPn8UqEN3ms}i_|KogFlM)!(`-jI^yrm)WAM5U2Gdrs}ViMmZU4Xmg-tH zI8Nl;-&BbG&HbK%A)OZB;PF`f!llsO^K`9j8YePJIA2tjOo-AB(#LHKz0Sw)#kqPr z*@t2KE*^jnfZA`QQyLpSWZmXH?w+V|%Po}gl0eauEiHCh?VRHtVGbyL!oiH65FQS6 z9?i{dhyRs*RFCV*su+9zVV^t3e!_jR&ii<(G&Q5GHN;M8j$D#eoD`^LI)b>MyoE}a zRzYI+hAk{+&50Z$ij9tQ;LpvpFBzJx-&>3#9z>cCziIgNLt{AnM!HA zRGu}H0QCJ&wb5&HQOKEnW|%SHku2FuaTLU`iPW#WFT$Hv-i;1tE*~w+*e?pxCK%#m|b?YwejAzt+c8wcJ zm>YdUJxGi=^8)s>32$?Fj1WO=%uU|qmxg*Jold6PKuln8tJe0ZkShDsM$RQs$j&zx2v$t@zg;;UU!l#C}%bg{2Y% zb-DHCd%N{sAR9{e*m^^YapP^JgQV75Iqq`%Uhl@h)um`~qG2EEXwrAXv27SbU9W2l ztwNia)JE@0VxL|}Pv!@_=LhK2>A-b1$yb85bDZa{gD6* z&TVs~HUJ>oCHjel#$jyQ_9Ld9~xcS!G?$CB7c-kcZw|LKN3luy|OpUux7uuBJ7w z1|Y~_EKcwKDhv-+K87347~2cahRUA*dZ%UqJAYbt^Ue^c!XW#@Fk;s7=DyaU+qE?J zp}~ebfZZ6KI?N4C^e?~{?BRvENbOfI z9m*<#o|JJDr7o$s*{nF!?jww|?LYGig?=D)zCBJIltw52sc2^sW(dnl<32LvIDd5> z=(-)glQG?w!0jnnQ@t2JFc2#db(Sf!`l5z~$I1=>f3;czVe6Ye{{^up|1xqLDyMt< z-1}hpkj*!ZT6GyQ>$kOT`yh?Rpa;f9}5u(Lc9Mi3$E$O zbY*a8&Ezep*P*40d#=_oR@XY@!hHTl_yhX|6cWbf$?&x+|8@{?B5v*^cS6WlxCR{Bu=jM-CQD8io{Zt zSD&-25Y zI%1?46k2>!KQ**B0@i53@$)4YexTsUQ6)oYd-bNV7k+|mu!?k0+Mmi#YUfVnG|@sX zJ8o)w`ZL0?yDPoI4p+A8yJO?m8gV|u!71c;28;k4+ZyEC{U*0;z0b?@+a?%vti zpQHQg%&$%-?97;_u5%zF12ZutXPr3gF3qz>{)FV>Hlp2xv*ZbkXAM>65>e9!JILFI zS(vt&S~ViVp%C6ySftZqJ(Gnk2EX3@JlMW7Wo?!FA`b3A;JbxOKA*d;QK!hFXv29`a;kTAh=Qu>bBO1STXjSXKnkd zZ$t6$U(o_OG&zUSsSvH`fYL6pjwuM8vO*_T`oF9nV7M3eI@$5pijHs;Tpt#R{eRh8Cuat`3Ts0kn!{TWEC#k zJ6-jQ^U`rUWa6V?o{D_Y6~c9-G~2prvpxM)^TSETQRWjyenQwYrL({!a~gD+14|F$JO1Aw@v2i6iW6YjG$HoVs(8XJvD;6Cx zC1{5cX^T8|pgLdsp|tEsOeU=2LG}lW)${WK6hFqbFWl>qWKkHqy5HqJvaprwawc2( z-DHO)@5J}_^jP|Q!c!Vu=mVx6`HMg`@*Ef>b4!_T)A4#J5v|WB38>1~&5!yr5V4XH8Puy_J26=89NSFhW zgm7tI7aWsH5NsY5?Pt4+&P6G%4c-h7?R%j_@ea`uaK(K zgZ-e-ALE1c!~;L2G}%t2*7V}L{Zn7+40}@o15I9fhMT~@xXY(dlC@Y~l8lNwfpouX z%05^9$&>FlYSwpu1@OW{%DsV};x!9<1`xwizA^9IPSsTJIQPa$J3k+-q!)j#1mly% zOD0FY%pJiBA%o9QMY^ofqV~9OIW0JI2InkoF*@KJn$dRW1w24Bze$6p5~2kWy-la( zSZ19!J<(fKV>#oL*ZOpiP{Dl-SBRlH7Pn(U{1y(3t3^EiSmIVpaWQ^*>j9S-D0l)1 zMZA@u*jWRv*G3KE?v`d~b~Mn<0n3<7e-XojB}&(tG`A}DuUR5A@V@nNutz2^9&iei znp&lfh9&O=J>@;#eiROU{u?wiHh+Sk`{5l3)hLt@u&EyZ&p zZLjWp!;$#OgA*e`(ZNXObnL7B)n84wj)vV&ia)g~7#zEAFN(ZmPQR#zM0)P|8Z57sP^WVNdqwPi_mSG4`W@xfhybS>CF#fR!*I8IF(?ulhfpBe!MG&tlvvKu$c{Sr*dczo8J}n@>c^P z+4@0VJAJyOu*dt2gs^Nb%FDWC_(}vOu4}Pi!?dLC9i2Vp+)tdWrq_Er`${INDa5Er zrzENwU6=X6&JHZ+cw7VUU}yuQiFfJyL-0ZKT{6Y3(t39FAM`7#l4bX#P>~r+f3mec zvP2OHS^fgxbsfO8RM?$igX~%FiPY`>T~pjiK4FC`OIpmJRo{l5)oJtD`+TN9%(TVw!99r(rrEiM z@>ncm2!dW7Bezh~rm;fBU$W!7f5sj5sG6wPIu|VTG#8!6>NM@`x7R!^t+H~gFFxfL zpgTUE62nqb_2R(Adh70kL5jP^JII!S*PPJi%3|?a-i9i;TR+;;G~24Het^XtGN5Wt z>gn+eS)SlqSCQ_0K}QaSQ|s2Ai?zlIc;Wm^ri%I|`)m%-L$70&%yb$LY_EJks= zOMUafe-`Qwg0VN4{b^b7>FPr|0Aqo#RRvroS2{nakJv7^hB9sy3%duBF?>w|%h ze@=Oa!T3HhW~Q0%=VB-_Wz^!5@lXN#)^Hc$PvmSam_@K~(- zD53WV9{j7lRdwbEqPZ+pso`XppKdD{AcCSNJ3$(cwqzT-_tl|cbNha__}lK6c9qZ8?erwAD|zht(*7bZBwS`BXsImT36Mrlt*+(W zRW8M;>ZzJf_`Mz-ln#FS$IdHXxuE>F9siT9=AOt6VNqr8vYhT_Ya=IaZX0yfQFd}j z22!hdt9jY>%&H3(_vTm3p38^PAJqsc{_|z0MYH-2R+XaGAKr3d?6wX-+%m_jD`$v! z*{rRhMGKt)Zo&~;XeLyiCZpL%Kxx#23awl5x2~tH?w0rfYA4_9WGBB3UgptJIfza~ zHNSjfUsg8>&?ZV>F#%Xmepc@ZYQ^^>kSd7OxtQ4-*CVLah`1#E?FRJ{(k>>tTC`7agi**7V;U6ixnQ=vv#jJ5f z+_T7ti^^u()1p{J5&)4xtw&Ggtv z&&vX*|2_rBJ@~h2t!vP^zQnDyGf86vkfNk5Y`jA6b8YK4@$zxmu1P{dWMlOS`WqOn zORs&;7VMKowrJ2EE``b1k~e-_q@#5BplU#I)U7P)IT0eeui4+a4^3(9GSVj72w;#1 z7F>1xisB>P5BLm$-BKyv*8N^%2C3I$Qy(*7P{Joz>J%)y(o2ZwPuY z#?cGn7w&wLu~mp)aO>A=uU=tz&(bc!GM^f3;wwVzgtd_B=iQg_uKqbM>gZgQs;W1& zo<}gokMIJ8ZY{g#YVNFHQr{s-OMyfpZQMUAcWM zWsb1G5@74wM&+*BSCo(|KhZ=|F-!rroJ&pkQDfE9aC6nNM>?j9Pw-AzVzAt|k?rqkfxE5Qje#>Y)i1%0(|qrKpOJxt64qcfZH}Ntl|0v4nrXJ{R@gMTYyT|Z!q|n+tR>yhTzWz{KG}xesy}f z(G5SPsZ)Y=DnaGyIv~po>cf4oZrC=~(*C3!(ep|uFeegu5s{VAf7{mhA(@egQlfob zIo`(k&&CgltypLoBxLKxN#$2RGSR#TM|=02ADH_PRTN3-m zRF`%~-N#=Mp~ITJLCXk39n%gEMbmAUbV{fcop&AcLr=B31>t1yjXH;WUvOoS2QlDaooUh`-Jf@koOK3*T|mFc0Hi}=L%8; z49>pOy*&(%#dRMa%F1)*(VZ5I`A-r3O+ArI`~) zLl5)fO_0H5>1sW zdoY&qd}It7CBN$;eGx~iJzW`a0elf_xH~xw5g#hM?-Qu4O(yL1Y}eHfw}LR8EezRu zOdM5GYkKMvX5Mdq>HAL4xDzH6y{-M&=zuk-=b>y$S21a-Yw4)Amr14Y@wU*3 z1cr%a_rcm_$o`<4kd-g8sT2+SDU^25n@@G|9y)$%C06nmzF-^H_=HI%W$znTAYS(u zH|CWKyOx80Z-kOqrca%y=q{+;DFk^7Lt6i{1Y3%X!C1j08Q#9;BjcN{j_z=+)$WxH zSs(Oj9{z&HLA9(Sr8D*cJwn7snkCCl!3oYG%M?25^mFyX2wZNO+JS_4h`NHXolb;X z9-BW=bTwgk;GG2y(jCM|YHMD{w$jC0Dza*cG7AUuhQZ0Zb6%%%E4^Mjl9P9#sst}67wnT%9B;#-(c4vg2 zbxxSMGm_twQ6~Qu=DNRZkj2N46V21T*%Sqb1|QP0gI*FZBX<3c3|5ob<>H_Y% z18|memXUHLBL09AMc$p8BsWw3N|r0u|eIkT9AXeOY%EwXcL3D_76c8sWKDRRcTi z>fV;YqaxK`-1Dmx+UNq4`QuF(SR;JS(4~}1`U26I7YrlM@|?7~V|gPx{gAv;&u`j& z?QgE(eeRmLEJtou!B!r@E-xQ09gi{>PB7r5TOetZH~lKJsQ{VJ*XeTtaJp@v&Yxnd zuS;C=!9E}VgX53d=H+^w;ojo0T{rPBzLca*egBFEF{z#^Av0$_GWywo1C~>>?eK{p z!5|?A?@!N!WBXQEt55!l?)5{X1}CX&hV_+&(lgY1nsrr8XTSFh)#%dp`!e{y$;J;j zY*4%Q1m!&?EgGu(hK6Rr7;oVm^UqiSN7O&t9O)SVZ!KYQ!llJJJ)}5?=raKMo&`Y) zu+H#OrIpkv1TR-Zw_()Wgmc@b|6JP9BW<-+$6%6!Uzy(15}(W+L@3pQ9z^!?#s25x zCWq$_`HTCcMV|?p)3|6%#5TYeFQxl@7sd?AY&bBY*OxttGjA_6 z?QfoV*f&Qh;-uX3^eHL?UddP`Q`taQj}!pePfp*l_pKCWIkI@xqUQBsKAKZYZ@TN% zZc2Txr}XU)!T}~6&8=@vtXyZOs^6mxDug~S`s|$#{LFEKt8wtR8!m7A)4eN2|C-b` zw*$l&{A}iKcEXlJ6G0g6_{*h9{KqnM`bVOe#6JSfhbr)2f7f%Jvh#nNN~0a;+QxVo zS}VpWRiqKa)Y8m&xjU|jllJFnd|C(ogPhOV!mQN@!s*r`Iy#r3L6!Q?-fm0i7&WB= z=o0)h_POa$gL-c=)*y?dB)KrY zPyXg7b2$kKXw%PFBbK!${+4SCOTzB%VI6#FMvn9*EZXO{=mGC>#TJlpgUh2+HM`>j z@|eOI5_n$~u}-0CP}|$Zlwo!uhyHl`iH5XkP9Yw7crKjN(t70^34$i~#HW5A7=mAq z)b>Hm-8<~#4>jZS9~x?15LmfQCU>)54eKi-M#PDPR5#>A4Ts2rL9PIpz+`HtF4977-o*tR^`;8f4r>1AkAyTj-kf(KIW zXQAD%EMz#$Upsv9x9?w9UD>Cv%}X5X7YsJDYkz!lpDMW14A6wFtDHi-S^oS&yHwu| zlaDH*7J_t|q^B?RM*4Zp+SF&>1YgC)USq7sMnq0pEqJMphn};0_AOBhrHL>Oo$+h_#Vlp;>6gjcZ%Xe)5<; zmPcaGZ%oC+;IWpmU6~9x21eButgfgaPiC_0R;TtJ#!9lIv_SoM8n)?j5iASe_8HvPBM?uq|OrOpJ#1$(CByEsQw z^_dFjwimiBCGfXK6Wo-YfbDnZDP8HZ$RJ2P04Fwp0%tgQ{1|zbWxYkSFKpaFI1{5b zd#c9y7u5p~AxydqU^$h1kz_w!Tqoe)!zyYt(AV1#LIWjeNv% zlCxK(QTr#8HU7sQQn#l0=RNOsby6#amIgyTUoFYuw(a%D2)i-Uy=Y-OTA_X zNywX_W!-BfW^@Bbw1~l~Tw+L*dFYKteG2OG#8i+KJd!~bR4=^^Suu2VL*E^&Yu!Ee zwz@PvP`4t0o?Ld?vl?o|a%f!x)9(JYjcP=20%+fYS+kP7^g2QqkKs|x@?twO)D-jG zZOT?D7R<_XO)^B}^s>4>opsZ(vM%Aq&Kci94bXo@aoyHYQn?|=cM-lDXkt= zEBYV3H7Dr-(A1v7_sOM3xoP@8--tzgEeG2d)+D8cPvJ(G@ysSX*XWB&r@7;`=T^Bu zWm;R(78#?Y?sa{~{R63}`%=|aVKD$Tz&w|T!6@Z=kFjpBFJZrQ+|XpU0`KFd%ja64 zHmlxR@!BfQx@mk}eI;KL`+(xMf$9Yi|EdCpwh(dJRpvhCt`BSPcv<@+a z(ho`6j$ixgx+0&hm%FpWId9VDfAoq2pO5GA`Grol>*z{W(@%U1&n7N&KHhep8}~oW zV-Zyen+Ac8O;+9V3OIV_zxTL@!MoLQEq0d(X0X;^nZvDZ7cYig$dd;KK%LG7!NwV2 z7C+{q_T15y-_^g!rdJOwI_4h;xWd}pr#gD9>$IW0rF&D$dyWLDZ~MK{4hsS)GKQL> zOJ{kGH5Hcnn98xZH9RRe$SKL+akvLVE>!!L(#JbXKqMiDZUb;s{;hKf+8z(LUB+rM zp72)9tiL2WPQey=k>lp6*b)YM?`pGlUD+Zy~?iPNmG__qxI-4##aJYI*A{ zgO^G&_Sc^1%>>WpL;qgNoo++MCweKV+sZSd%~gCV(jgIWg(V=dN*!aJ@W}5t_z-LI z=l~RVg3$LJbk{41)lxnFTWBicE@G}VVkI{`>sN_kCyj^=bcI_IUR5qjEyXvxJ#&!W ztllvEwfJHEQ|p7jjr|Ja%zog0MAN|=ziGeZgKawyEdRE!rJLp5)ZRu1Gr2HdHfvY*8zry9qic7kE)QxBXzMJJKEC#mlkIUs zds4ycl>|bFZMv9gQ!FL)t#>fhYA-)99sL=iF6#!?`IgP@?7Q=JwW>83D&IIYHhV8) zYvpU)FVuGto7?lNb33q}Crue|t8P~!gSAYv!I4njI>)vuwA^6gRM{A{&C~Jz_))!$ zD)G=@VQT*F)3ZX!Ej}i+PU%SP;vCIEG>mKBWq`h9_*M7IMnC0w7DsCTU52?U4UYtbDVGgIdhR%UX^h4G2-DtB;wK6 zU0m;BV+iH`(HcCeUT-byeeVi6={~6!T5QFsHFx)=zr+V!VQ%Ai`FhU{5cMPxV6-F@F8=)f!;!Cv|;PK^rYB9L2I1Z|+(+T%NHP8}q=rax{u#MW77YD&) z&1`vny}RjF68hYYs_a#}`22b@L9kFcw;AlYp>b3F)n;_GhVvJze0i?b8M9?jw%A(i z+&+g&d8{fr*elB?{9i>YO*~%3e+c3rY^~nHUZHs?q}TLE6@2DkZLKnqD19A>J{4}N zfNq(Cx!%d%QDFAR|N2Q=oDSH5WvhJpW%r0EHyI(Cbq2WvRZMM;d!tfp&wBaH0j_l)`ohI4Rm==ZAL*Hy15@Y2D!*a*mah)tM^~$yfc*E8a9JWZ&7yH-q%tc zER!BOkTgDZo)Ub>tw|Z=G!f(Xa@mplAcg094q`_!#hka3I4MbBM^3UXtyYuT&KvCI zxl;U1SeV)0S4lPFX_K2Mb;FlPgT&X|#D_6bp{!bTK3Rs0`x?z-~49 zLfv+>`ta9vY{WC%@<8Ub{%Z%4yQ*RVr@wpVJTHr+!QYjQD_kqvKYP!+9l6QLrDM_j zNn2nHIe9C7?i?LNYe$Khmgp*7&2^6!QhwrH4gMQ;%4DKIJNIHXY%Hz>e=qjV`Pl&0 z5(aYivzYL#J(GxIRM=fMf-|OgIIT76qx111l8bctcYnZ~0fR1Ax5(B=?lu}$=l z)^htv7U{Nk<`qp$H7t_bfVMY8Fx(TC@>n)d(21XKTaA|Hz#H4QcKFxzoL8mZE~eR^ zWUnLq5K@v(u2mDA`dK9B)zn!hFLYqU301R~x9oLu{P!MXlg~=tYb*X3Y8@uRpk_BC z^Id2y)vo|7H2!Ekb%XlTGvBU6%Yfe1G<*%gHTV=q+FZ+YWoXT3U$tk+S_k6Xpf~Mw zCLdM%)tU@V!9q0ZZS!=s>~SwyI$M*(wos}gL)%cdKPrPC=8#QqU2^%Q=v17d)Lo3u zO3KYN*D1{I7KhK0QpDo;HdJ%Snr#0J(>;7*=^7&BQnAKsJIdQ6B8P+bYYAi))OiSX zxSu74|F?#XKSG%-Yor=Y96E6T8)7WXCPV7(r0>2W6xt_wieH3NASij^(A~av|rVMn>v5-Pf>>H5NNXms3^a-Z#!Cl=jhh&)vD%a@F;2RTwP?uFHfSO z&WY>lKe{BgyiQ;uNmk-ehyxxi!r)k1BJ23Nd0A%nRTWt+2!Vm}*;-2vs}q4MqGoxh z+Pp%$3A>}IQx+u2eX2Cm()xGJtB1JR4a>#UnH1etI=O@tzgtrFh_e+sde^+PPZpn& zT95%GYfM*|H6IL5d?Qn2DLqIq?Vw=gA>msn`6=!xs5Z0eR-_WUtDXek1^fLqO*z@- zh}FN`P3rNEKpK1uvp%WhJNXlbJ+x=8Ld@8;aT_cF6e$_)P76Sb6M4nE0zc z(7;&2??k;+5Yd7ZuJx>2xg>YR(C*A#n2QcXs;rE;FqZHjPF+ZbwjnLdqUm21;@Sx@ zdK*?*0KM`=cxnXSHCylRVK1iI z`legDt^}PB1TJX#UYfxbtm8lH9KIh};TMJCY70I76B|pB>XHSYi zcol36uR4ni)9$a$CI$%%-|{CVacuOR^!{Sa66S=;Q}$N?%nlWCvOJvgFS(O_;9#X! zevqG^9^<|?j8zd!4^CeB)^$~YvFi^M9|Sj(Di!LkR3>)w_XdA!oqQn0bSo~_j;H%? z)szWzBx%$4Dt)^KdZTEVe+U*iIHRKMW8wyr;-VGP)bHNk4rVKlz1~CI53E0M@~sF| zFz67=5@zpt+3gsoWgZMmP?)N9(VnQ@zq{AC&9Yg4vKtgh@1l5&9Q>YqAwh%n&XsO0_C?p~Afln9dT82*@RL8O_hDY|9% zjCL09hYdTM1`b!Wy30Oo0`wsd$p22>TIkOn*Vv$58dKbtp$3)SII{u`7y^%B{941? z^}YCmc+At2^bE!cdN(8_n7bFqy;pwv{sMA&Mi=cqaIt8p-MDjwu0eQ1)Scn{!KcnP zHFo`Mm4w&z(Xs}C_;~pgjRFEnH#x{MK<-So!1vy=YGB>1HnAR;ym~Ilql*&*A171W zbz$y%F-GD}OnEJzmcl)$s-&mi;>ep{rK^`Ugm>CbIGqn8s5-Y3IRIWGBrN4sX2{Tu zHM3W4RJp&@r@{Zv0?>{3XS~3r`kYmQBC0 zhCp|-+y#bc9tvn_o?KBfO^=S9lm{gzE$ zZs6cy>D$;E)}Kp}I}Y6s1{}d=;duD#$$@i^89RRVMa5a9nAizSH>}fj$Xw8#--~uI z^<~^Vr8UmP?N>go6#RQ72dJ!t2PAaEZ+5a;!U)@rMx}ebeI7)1s24|u9I0lgZ&&-= zs*?~BZ}04D^_1O-rcI|YmaXwu3c}U5D#D^#gXRGHcLeJtGu@H}1*Zh-&brlvR(c2b zPu$|A(46wI%`Gmp<^S>_&G`eE19ksFo+j=(tIN{06wA$M78{=&PHb~hH|!F;s?VJR zjo}Jg^eQ_fKoRQ_HJ$TyyVmit0k;)P=QU9Z8Jq5FJ9!GoTv(3mV3Wo-~;FdALpFub9*Z6^L@^|`I-N=pD<*(kNNXlpsYa(Hi(Th8bJqVO@_?00_l zgel^yI&+`%3Tt0i1o4mDRs|O_<}kr93hc3#(w+Fas2i8q(B1zNNFh6_GB~ky?^sdBN zL43y(0;F#~TV{LG-%MCP(?$e)!{nn+)aZKITUN36;?xi=1RXcSvdtMAnp~gwb5A87 zDpG1x&Mg|8UzL1Yq^1%ssIAnNIJYooLO>_OpnGN1+ddfEKA$T{H2-wRA=CO zmV@k!-6Zx<{i*qqitQWA+IDBpYVPS6euITQ-(3C1{4XIuU~l<% z(aibf(cd@kV~qG~y5rpVEHt7Go9jgU17Qe0=&*ZQP9PVpt)VkMxJpoU-%>TeKVEph zD_fJxhnszdhb`SJAFCd8*aahJN z)=&g22ux9##9~C*S=A{z;*+x-;Fd-b9A@^6Xxn*q%R>*aW=7iDEb6S<-L2OQdH5S?dMvr(0?Hh++!YlT8Df#LoL^>tPgnuP<%>lL>_a` zIal`ew~2v%9wIeMWGDMnzzLey&6;ghfOgYw|4LDH$nK$XY1PF-{!RR0^obT1qT@m^ zyLP21O4Z56G^zkQQsXPQJt?2Ii#(jvDVOjhBsK8M8Ky#A$1m?7*WRH6K#mM6iyrQ!u~S)*ULJZc z=s%N|@9pn*Q<{_`7Bc~!a*1oGCZ^y>c(QZ)!AqY9)&8ZIl#e0)hc-1$?z>R`NxmBJ z2zvX{Bvt!+x*(Df@Kz%b-{uP?21eq zQsOUZC`WUU*lGo5*7Hr4&aW ztIN|p*rx5p=3PH5r@k^%+5W!kJ|~Cw&}?;xUa@Jc-I3=fm5I(j>76i{Xi9G;F^~mj{6{Zx)pcQ3Y5M#cg*Xm-IJ{6I< zR)++T&d;5r_eS&1r9`{-XyOiUtBUY&c2!9GWkYHoX~UEdn!h{qTW0tc!-c%4lEyS& zjJ8P85*ZnLp6h40D6~$Q(tJ`5?S)Zao&U2#{x1OVPW!+MaGAGAB~bC>@pgyL(jPf% zI+#(zb}cM1AUqEqcp`@vQ0y3aN7upc+GlO91qe(<31&K&6Z{DOvb#llNX8b6;YB6k zL^-7BE=GE5H<3J>8hoK}KeR*BfRX=VotC6*kXB=S*tPL<-a7r3A^+5BpS3QtI^d6g z+7-wP{VZGsD9-$;atI==ES=BqMs45CJcyF0_;t{y*y!4wPNfC5>aJ%TtD)^jZS%CE z?e-7{bm~U9z$P1+VwC1n@{j@Rmvn;!2s`~{ORF59R{VkQ=VPp=XxV8T^bOT1s}A$? z`4GP*#2D~~Dn@$EENcQ~qO$X$@7BAil`!=*Mq^UtszGr%*mfWo?m=wXzZd5?SX^ej z<7k})DkU2i)f9VS1b+ALwRgKN9MYBn*zOR>4nI~dT{}=Afj``?NBqRM9PIgfFG`Rv z5|XnL*zN1)W|&TrRgrig`g7vQ9a++yj_#b)YtbUXfA6gFmoBp?CmkIc*lOuG#btF{ zVSV@Fy^!YV%J*}8Q8AXLpM-Oldy30re-QhbApDyjT{pI`2M`iCeZy2S>%PR!H3&mP zcc9D7)b%T1pex_3N#$4(U}*QLBoh+a4iyAi6;-AHF0By*X9kEYf#UKI^oQCo;ecwS zQ!^;yYX3$X+V<>@Og}vqi!NB&W3n7STYTN^q3iIDNXWvrmX6B>@^-BLr$YTM`a>fz z`Y5-*vlxtt`2|mz7;IZ+BN~u4EVGnc-;q3L`CNBo(Z}auygg?_iUPa&T2C6$>pVv$ z?ooBPe(k&Td2oH+u>)LrxTexf2`nh>C4k^&=c7qBxi%T#Sf7^cZ65f|aN%aFV=eR& zJ9wg_a9@yV&KPX#UqIabO*M##(?(>z_v!X$x%9i!H2;9x-nghZKY#e0T;4BJtKx$0 z+z)8ObAll9{1#dhzRagIG5YwHH!891gO}U6O177Q{}J1=k$yBc!r(#F52FzLT7ynD zE8y4E(UxXReN8QUsmToRs4FJ#0+v5}K!+rDJ?&Z{sz-~*^gfoStBKZLVWec2$Ce3H z7UpeGsa#uA@SRnAHU8|*wjE&BzwuPGDmW|Vu|K$ExTiE`j@iRJx7p;cQ~pjJjGbo1 z+hlY-5b#KBSpKI?mGzB-h+7}~uFTMf`|{v=?L7?OmEAxpP~PLI@HjVg_tb9 zi-L<~Xw*dA>41f@?>K@9-FV|a#9iY;Vtz0IG%fZQ@KmC>RigFXr^q~M5c5V~rTzhO zrQ5LU!t6w4wQtzP)i#Y;bgompmTSuS2RvoK13Z-H@rx6g!*%Sn|+ z6FwO(gcpUESaZ+P>Z&vN>BND4h?w90R~$56X9Kbprw+=p0@QFWWDeqCnbl=y@!8I57*ZVa*|0`QDY&DL8Fof0 zlKW)H-G6WJXq|~3>tNryd%sz;hjJcxlm8lNIYVc}pISPE+Fnj|4Flt2r~KBoZfUN= z2T73zhkfzUI4zEpw%^c7HN>wHJ%BPecCgK!Itw%w_F(-PRTM4cv9{w{eH{OMD)+zGQybV&8W`0idDu+9sF06iA9TeoQIZ!_7ep8bykuq z8uud55pDWNl*t}-+{pF%kVdn7xk!TJ}ILw>?(rwUYBvm}nI=VhRlK3_S zOI_1D28kZN0T+sI#RfNNigDYL@9!rU<)^Aw(V47jA+jwAMBo z9k)tqH~M-6IFs+oz*FSj^zkSy+rnk^OHi@oK~krb`i!y3li41$$2Ruf%CjYHil3g^ zVGt>AO#!gY=Hk7kV}tV-s&s};$lm}r03TSIs0u0<{S_D~Kj!C${gKNBj6J1=Y}1n; z!K6qdEUj&GRLVXlW}srI>w4g@P7&Nd0g3Ucm_RMUrn@@a3vDhOfsVlBht}j3B z-tK#}c0q@Sa-pLmWM}itBiZ@Ecs+Mb=3VwmnV8LxHD+@D{(oP4-qm)hsy?Ym9$CG> zMpwD&yjJQMK&j9&k53r+_4Etc>H3DtV|p{!Pm|@6mNPzD9$!L&1@wX1tXJRT*`KIR zSVR4<%IO~6xs!1+QkcqaLhBa-Y2d$X=FzmF6m^yLltM2jd7}iu0i24rcx1-+)Wf%b zr3yQ|Rh*n2lrWNyyh8>KWb^~>*^q}6^l!|=r!&2 zF8)aW08Db!<>4BA`jjUU6#msXb|q>9*t9z_yEF;O?K(=+q;)_qy_a3XA1@TwrC!?Q zE<0vF?h-Uv3w!W-zLX$LUlT0@`H3ka|Mcgj{~bP!dIjRcgOp5TEnhdG+z~jX@0>k4 zQBSXJawdoTo%wk<_+;$D;mVR;%RP%}Ax%OD_d-j0`IaX1csve5(a0}Mqg%DekuF7cmy5YM{8ER0 zHhj=<(dUzHhsbk>CVTU{(8^2VKb%rhw?LPArwAt9k_5pvEVV92&7*E&(ms(`~ zNq9^3xOV?HUbAA!gODV> z5-@+5YAG1cDqkEYp4@N%|+AL&wG!hZo84XFR7%Lr69wdZOh>XYQMfc_C|JYL5K zS*z~nqZV}}&c!3Y=n09aKd+OPs!|hgU>^PowYTj(V^%X@vDwWBn>F zwxRU*SYRNB=pNJn609aWdgyjuPbSnf zqm&4G<0i^F<47T6w4ayJ7WN(&%zDG{kkQr!m#w4b0CX*aI~ZG(WS~s6z;4m9v7)g~ z2Ys+pv&MkY`mKfkfi$|-rNOiOP{+wx8T>?y5fS~p=s3(jc}KTv#17?mHVOFjno41+ zIX+f}-+$kdu@qj0n+tf_TM-81tG+jUT%^-hU-Ia9T?KAmD6hDDQFtLA@YEv}m0tND zhf(vJ+TnKW0QH+G@-#oC(lgb=w;ld(BU(V-%68_v$)ZlLQ#k6&p$UekxV)n)iMVZ{V-LOwQm<=V^sWLtyjWK4GvTRj%K zT(u1{w(Nrch<9gcOUYW)t@#j7!h@ytR)${>$fR@g+LEE%y|b1lrAMeIQWqd z(?6p|9zH>#S&F;0iznDuM(4No2<$ofb?XfG$UPD39JGc+e2viv9+J6}YnE~pdx5WT zx97Ub(_3}^B67Sv3ySYtw={_|(E}ozg=}-qyIG3B<1S0^iNaD8JU7-gP7Z=S>KCY# zdPm)|iCZ{H_Efmw6fDg6o8T%f3yuKng!59U87WeVJH}aCxcf1g12Ijf%*e^n@14({ zZ;MXu1FJgiEgwaVB-PzShKT2!~^PdQX+y8X{dkTQOG^Oce^A zbM3fsqC1xpgPj_g_o)85bt_8ARxolz_7-o(^FtLvv0t7B!~Jw* zUQu--T&CBnR+Y{J*zsTtPA3;jgO13UHeB(}FHMvLv^ZuUDD6H7^Va1gFjfFVm7sj; z|MeG}^^f%|8_yvTFLP#-jbNu+aOkeH0OPrp7Yvw9b=Ybi>G;s~PD4LEkkZ*a%;V}= zJUOEIlwu_GYlj`+!5z4gG_fRXS5jBCaa!-z|J-p-f5tT8zoO`L-}eIYLY^fLj(_#h zJzg}NB?_UxH3Yu27l`jdDr=A&GkPJAG(?`M$*Us;+Ytk^}0TH<_U{Zf*}; za9jGsH#?xKjTVT}MNqA4b0NJvu*%eWM0^?HtGP4%US#Ug*GL%OmgTq2V1N{6e2DVV zTPAokJXpN}`K!%UW;mEL4c-lL9QH;`TBW8Bh0IV2-$G7kOJ94lbUuFh>}(cLqklnl zC5-k7@01#S=m?r)*MmF>4N7@rA4&8DpEB6^uvtTHLwm}SI&^Qey`no5GJsw}_iYv5 zsESBfp0;Rb$zQC7ytN%bZxp404@~gsmCcS!uh9>740WPzME2*Vg7yWV(`i`?ubd6- zApMJ2UxB#|#M;Wsk|4S-lxlHX)#IN8P%tw%B`RyY-$k*VY&O|^MBtoqqE|#l&;qm* z-!P+0;4caZ`^N|Be!kXxsmtc3=2B>u`R+6ess3mMxZ89*b3RB^$ISFjT+1EQ->}zz zusWzcuB$u3c8SjFxAgmpI@&i*ETCw_NHb`S}4!d!J5n;^F@jw)tHUh5S`BQzlki{aEMS_(z9btA`0iNdCHyCZ7Ac zho!(~WKS9jNwtgO+_fyk4U3^1`IR&4FmD>qQ+Jgy!VJnYM8{2GfO@-zNZNUv)vMrAhXp#^@94NSVB+N--zJK%L5&hm2q+* zLfs#T?2B$q6=+Kb>aTL9XN11sX9Rl%`R(7LZ;n+%`x{_NmvlG{ofcV2#iR91#?$HR zS`~|M(=wuBz zY#Vo%QJ^QHBMz0k>>~?EWp;xqxHdswR{_){m+5L2cHf}*H;eCalEVOH8eGIvsl>`J zG$C2%9iMRZra!i4N~$aBxq8eZ-!rqS z{s1a~A7`Ymk4O-5YX6+6G!OT>cu7G&-RI2LS?s3kwJMIpJjNSu+wP7I+^FVo9csxy z>;a*yKRlvK4izdX*S>a05F7mBU&fus4~fND!e zM#Oyu>|PG&i;DM>^y=C-BJ~-5+v-CVl7-Wc;O~~Pt^TRArutt|G_>0j5G@dAL6`Ck z&{X5Y*L4I7cSGO(;Ld3$3$Z+DR}TDqX*IuYNx@=^;q@uS6!V(Ik}<9Sh&W zPTCJt-mXz)d-f9==oK;5pS$O67RGpaW$#aKeVMIfV?Mlac4CX-;67y?z4QL(3~yk^ zxTQZQQg@?Wktt0BD6s4s092i@z?~JROJol!>l}9%40^qa{mgBymhhv2XhO?i{jV~# zW)Y|@&+9KHD#Yl>d6&7DGnnFX<{{UW5 zeeEd+m@6*22gNzgP9d~8-;hGm5PmTebZIt^^Z45yd3W)-wzWZ8PfiH7tV6NsJNo3% zSV!^Vu)p=Urt|_{G*wO8{M$o?SRcNN=>z&*ZT9X%7`}x4AiY_=#tzpa7uqmdx6`Ihb=Yji)XKzGs>z1N5_adRx6oExbU}3d&UThYUR8L zUZP{E9OifMyG#%aSgckeam}@gGu#isQgt_|T)~|$&5edYDVS@bDb|yO?^B)~RvN6m z9w2M0sBh8q!Aw`zCxJ!yaP|7f20ts)e-3`Cq{+3b$r{ugUOvWEE9Ul#Z{%Gt%vpUi z-Tu^>XfX9_7rvg0r<^rZnsO0(|Nc99#rh@mz$pn@fj5R-IUQhmwRSxF5!ADnr0=Kx z?SbJv78T?TLD5;#$l;<~rbzGbW#Qz8<%(?wyVQE)AKRYOe>bO2%}AWk^>dG*TEw4@ zS-PqJj-Hhc2KWb6mi3t9H1qzAb%;kD+Q~x3Em!g-4e_a|{Ku&+DqCBjtHoaIAL;Oe zu)M`Go#-vO0ltM?O$t|~l#C+Xd|N!)^wn~PfI+`Yvg2`94`KB#MC5TcaAV-d$U5Xk zl+HbaX4rpX(M9V+imuzLm#=4tUbfj+{(uuWFAe1D=35=)fnB}VhS9~u-9qv4Vt zC{25G6TZj1vMn-m{D*uSCPQnzTcK9Ea{0LPQ?xlaetW{;>(4nN_gtIt-_#tNXjhf= zrBp*1y=BLNO4FxiRtX~~**C<;d07~$_}DIc6#L1FDM8*)!G-DN7+juZ#;uRg_o|Hy zf8%|<$coR-8lg96Kwfiy{E_^Tuqb!Z;QoxQ?t2;0W=z~6U{+q@dimtRLz!MZmWS{^ z^AGPt91#S=?x)qqqx=?YFYz2E@GP#rC$+UlbfCuGy&1xS_;I0H^uwub0)G&k*?eUT z=&Ek;rt_sC%Io)~0{T$R_X^4`!tGG~(^F~_CX%y4BH0}Is3q6pQ9vaQV-+xaeRhb2 zF$F3v2KbPeAAhi)WLsJ&*eRFb9Z4TN88m!yk60Kdajra4cF zxMVBN6|b`?6@vdRdLmQoaBF%*Xs*)bb~QhfUem?Jc=ove3}v33M75&6^E?@DV(GE@$+l^66aAgYX0A|E2hkR%b_(sxR_~PuqW|k%oeYAqGz0dB4f|oQ z6rj83GI)(M0T;USP~4qyZVLSnUp-SBoZeM;O~@D!yF5_);g+zgk}Fn=;WSnE_RhJ< zV-o(xQxO(`$$G6(I%MM2tWyt!(}EJPxB@{g7~~!uBVmw!b%$Z4-nK|iYe&ZD(8+^~ zaiYN}s)N#TCnZkDKo=%s^z%(YtotV9fh(a0z5dmhAm5a({iv#0A2dC1*Q4y-$qI|2 zb9z@kuf@R!&3u6>zU;g=oT#~~h@K|)jQgd6-&Weqr~KuyCCc?;p4%Igm*(3+-u$gM zU2FI*UjU&rxLiQUB=%2W5b&{RQ3;#HaT}v19&qEJT>Tt;+LEw0>k}?oQyDHfJsD?q zGCu*q(}`e48D?p^OhUhxKntSNAllf+AuNtd+^+sJrlq{USKngHz-b$JUPZzhRE^oH zBjwTVfC$#v%e{)XyLmpRmo9LBE4*XQz)~tJUVZ-sf111TgJk1F2af^ho;^;n2C1on zA&%QiZ-{AfWQ?1eOqdETzer?D6r9GDR1+3FinuL3fjn++wZMD(!63b0q%lDIllxZP zggO?e2n2@5(sU-AOd`mOG_OOaI`Jtf){(y?~zOD=uTi&4HJBs&zlWF+C- zq=xuY0Yzn~`%6c0T04iMfY8nn?K~}mjsUM{+-=9b8=kAuvXcMmZ_-1WE z7+kn+XTl`BWagrSuKVhFmzAx1-&UFYx~^MWdD2a&O1R-X96uV)JkI=5v>x2KDw(Xd zlG}J8de{{^f+QH^rNL{zTOzS)MgUE;eR%^}^BrnnPH*RhP7aLahFeYzvc`Y82H{a(R^Qow7-|2z zc;?o$cy7;ji-)u4y|RgmHK*qgM#Le~1Q;@Z%UD$g=(uqgT%VtvJz1i4^qBoJPX7yAZ zQ!ZAjP1`qX$CZbcR1$+J+r~G()8XKmH!{00d6Q;Wsi3c^lH?s4HCF+m05sp^+$iL< z%(GJ_dTrUsonxRY_u{mCj+`zhw)iJw2I2?I&zS!l?1|p>(7b(7;%@`iw%{jrf079I z?xp^Q41zXO{uXqa^>0f+J=^c`n_U7=Mfg3(e@+?y^QKLXuV{P zbZB_+hgKF85oHIteNEFQ7v+4$R>}5ZM(<^w`%OqO+Wn`)ozH8+&E)Gk=ROrTefrxK zaORq2#8U@^ujh`ml2U-P*ZTvq>LELe@`YLnY4Bd&raJjNm8SZH&;f>Dk!p zkAh@^M&`+zKB(=zx8%={Io zw?~$H;$|-E+T&wX%dZVK=o-rrSaf^fR;mwi%UNmKJNl>ra}KQBo{9dOs@Z7vu87#N*iwgFyk z5XqxF7f5v&=&KxS+o1>S#S@NRa9ptF3DH?;cL|Jq)>=ao)lohn(XwZAXE46;==hSZ zV;TQJd&Abp9CK|2e14~g`JSKS2;H~%H>SEiz@gW-W7nb9x6bT=qTU8ao2H=IKD#NE zpU_}yLv4z*F@b_qho6^0nP7V8c9=i%Q-h-DRV<{&&0bOXH+sDc0PgLM#;SXSzn!Tc zw=R)>4C)6`rG7kouvHt|^)kRK$GOr43({9~+H@3WLz=|aTc&kamiQpLnP-l_n996` zAQV(5?F7hK%}BrZ>3H9tS?Uu5u2Yllcp{>`G9qbF#N1Jvkz1Y9TlQy2HMMY7HFwmIzu|MxQ1Otaa;-_B?Z4Oy{i6 zn3o5yz^kd955Hxfgn1)X8n!S>Q6Cg@jL;$2>6cAaPg~A;xd&c z0E`QHZ9W|pocx4;P>wI_d4r*&l*bQoliyq5$Kj(3GOs}M4Zrk$NS8en|9B4wICQuD z2MG_ZcTOP<&m&g%%+H5#nfaU9lOHOwX}mv4f}|A9EpboJ=R#y=v^MUmW1?KF*CJtS z<)~1=K^w8dP%SeLMx?l1Fe(A?)ViiX6WM&+?1p?Z(H zSoYhL1@2!-y_66gm1W+xdI34tHc9QKq(w-c+Fu{2!UVDAE~cRRG3jNCkXqDo9$`!h z&*WYA;{e}U;FxSjOMwuRt`Kw1PbD1ra{}u4xsef3qy_sgyG)CQ$c1k%PN?SrCVU4h z6RwzlFM?|m0G&6h^%Nv{bie58!E=V%LkMfb6|5>QqkyP>(qph z>+VYVp1D-I64vbk3wjV%WOJ(ui5&Z6r)it5^S*Jx_jjQe?795In*N^v9sJQ`mfv*5>E)D7oi}{=KdUf!zU^wwM}t8=`OwgtA|e;jx6%VMJZ3)2U2Los*5vOn{j~8k@Wmy! z@!yxyBRYNH@7!;hW%t*15#N1Gi)yhRy}ShhS?gUM zDf0Zgok5VCsjEn4t54@W*5h* zMz7NQ+0SeW2$ZpY1E>jeF%vR3?9Tb!PiL&pOV;>m;lG=hPxxXqt=*TW;a*~o+~Lyq z)9bp6%R>Te=eArH7hnyq`zy1GkX#ZwKjOx3vi8;oc~c1aQ{9OH@{$vid>nFV7B(z z;weFE52Tx%43eB73k|7cj5^CTOc`F&RJy|)x=uyy}OXU;+Lmi9g~A$ygg>O z)D_HCr}I#JVN8kuogL0aZmFYxZ3o2!#K@@!WqpjK^)q~z_8-V(f1`ukodHtoDdXKP z&8f%xWIngy4xYcbdhGpN=pRz~o!K60!wiw}z5krN4a#V5`-`^_H$WK%BF|<;6PTcD zEh8eh5R)C{FH6+!$RiuG8_JGjP}jc}lDKdjdYht_0y|!Oif}mS+fxOZMO~+MWslI| z|D6~_`SLg(2t}&jWJaujF{5Hd4UbZskX2Wxtw$2kJCGMPzZz8b2b09dmbaX(?M)cU zI~~@AcE*12Du~vSh5}Z?dMVe^0;vK@2HrT03~m*x0pXstRjB}u%UY4MUAv~6`U7pLO! zu^?_7C|Rej+B^2YZ9~-IM@8RGd5$#9eGJVo{!35f&lsP2{mp5XwgzQp`e~OKF!3ZM zNyX>7TF~#TU6`7OIVz_Q8fe+0CfJbXR`axPbSG6$ae%LCg}UXh)k5 z&?X&aS)#vy3qP9lJgAVC9lD2iJ>F!Qa^X(|N3qdItWg~sus8;Fmi8#B`prO=F0!6# z?5yyvDWT-HLPmn2FDG!w>2G~ry1624dlc#*b(<-%3}WIpSwwd*z*fsZ{;2Y4n9cwZ zO+K4H@&mfQE3QVanbLS*o@RNS!Ee%vo+gU)6HNWOa#H>}k|zvTxm$kp?hGE?>Ci`C zB}ni_uk)Mr=}x=#y)DDKhr&UBfx~w%kjp7?7fA~P@j}K-AL|}`Y9AgQ;63{L_VB1P z?0b2ZtT@nhh3;8%-VF337>@?;Hko0s;-s=GfS;P88%gZh@ z?V-+9sB7lEh3KlAAy-nRe4kV*2FQY-2z122`#mcZ0urzg|5=e3CU8=DO>^w@{FN6; zi)*udx)+wTdG=H&GWn0Di+yc@McViO!_jk|F#2Y3m2Y*AH T^yy}*Y0*)xB(QuD z2m>YiHEX(WT`_-xK1np;#OJ4XyEB|N!w;UDdXy7E{x{Eb?XX#o7H(BW9! zbUMF5<`ViiPV$b#Nhf}hXDFd4sK3PtkG}}!0OFXJBvBN z{R~D9BzIYh-W?e}GA(qiK4pX{iw`pZgnS3!ZTeMN`Xz3j{k~OcX0b-*t6IyN@4n&3 zv}LD0WYIYgukW2UaSlZV3o(`BMdH0pAjS%_Jd`!~(Y#!D<#?yFm?Q0h8Gm)xmmsu< zbX+z9xF_E8iD50o%Fwml43V+un^|}@7*D&&v}Js-@9V>lHoeH6J+c?TYa^B z$0Tmrxr)I+ZShT)W*?^>7PS2}!>^sbqgz`oTzQ_|!u@#q=~no4$hVEX8hq`byxJA` zkwmi-BmO@ruig&mPbzA2PaBdSzlvr}-+f^7TK66Nr~Q(N5=MJpQ-PcLLq3EYv|g=U z9}G4k=+B9&o%m7(ajSydbJfRH^?TBZ5~qjQ&${d*#MJ)yS!pud+*>%ScF*6TmHRm? z$XKKsKbJPX1oD12n`LLexE)$DMG3`@6yRcugzCAB+$KL1v5(oQ9!us=H#;4JQsv(j zHs**k7RJFlRv#69Hhgon_`$w{rK*w>zDqrr8Zgcl4c>pt!`dbiFyK1L!s!BgKELi8 zecGu5*mx0cBlB?U7ZaUVRs{JioUO9oq7hOZzn?5o*&`*{vO8B^$JfVVPUzEn6B^qW z+{kEf#dzMWFHlvnb~1WxgPAOEN zI>KLyH{0dJ29etexViSJ%y5rXHrl{+JSe753@g0Lm$1bVjI=LT@%*Qlq%IFs7{mkx zfmZe!H?Rrl0wxhK+?i`X)6Y{p<-v#jc}<0VbAFZfR7S+sd}HTiSjm(Azq3m{()KS< z_Z#mmS?enO-bPy!EU&_}bYsia%N5)2c;7@py@ZcDq@KiV60d%r?{k^@Xq_ODAXkcs z=HKWF8FP#;`_jy^7*4x%&wh_>77qQfO~}IL>3$4u?34i8s`4j3@`Vff<9unV6yiPy zXvBo~2e8%hkP}FZnJP6Sga)n2Lqp>`p8(lL*R40MpS%#rC@MUR4M4JX2r!o3{TpXV z?K`_7KfSoYyod6Abf^3v#n5t`7Ep@E*IVNHf~IaCR=6*N0FbC?P|!D(l;(lMt0zKr zs6ze^8$Sa*gjauu59nHp$dZ2DjnrWxP}m|@ik@f=iKkSPV^}V4BuX7LkDL<%p(h}O-ucjL98#wn(eF zcvhJc6=(oYcB>wuCu)d-r`^5x~q5olW^IE=6u=&}ZYuj8_ z9=>r*_2Kj`QM9`9mB{kU5x$6m2{&XcczEabLfNm~&bP?@ACN(jK!FW1qsYTsY@jmuVyB%`l7${3} zN>3o^=$9;1m+&2j#YdL?3d7|lEddku@5{7;(Mj=dU9!SUG1Y#J`@;0ebW+xt%{gVy}i(qts0;QorU^n2lmEs?gu_!>@@V&Fjh+FFfz4l6AJt z_Bn%Ynz7+8p(B+s=bHp8=AEzT;T=r!O;FpLM!arvVvO(F_LL~|-P&I%?0w7^Qd61w zQR~j**@V&f>Osrz&KY@}IYqs?Q3YIRmQ%`I?}U|FR5!a_}Ai zK4U*qbc$f&k*1QIP6I4{3HYs86MHYGh4fn%;wj6m(VjDAKSjq3A`9-B ztRx;(4tfO6+HYx~_TS8Qx^Z9OzG@Z8Qn}RIZn$Ib{aQB|SnVE zdUO2masQ?`X#fh$xLS5~-Ps9ha*f+nrJYmEporty;LI!CeBX!9Xu@ID_Vvs{pv0Hm zMI=UYXGZjZeHKI-WGd}*flElX z=j+R)$@hjeQ#1ZLo{u#@-;9`~Wo9|-59m}pBj=U6-9IqNfqWQzu#I>vAs+=oRCS{( zX_TUqi580+${yj0@{5d#;1?Ktc0MjSB+CdMk0l87NKK~)j9sLlvE!E?0+Jil#|zZ6b}Z( z?Ps+65!=r3t1qE{+YEtxw3a2>WKu?Zp)j|3mR3PLls4neTVoxc6?6gI7?fq7zvWP; zoK78@0HM{3FgMZ7q+^NJmF|2jqJTcZ68Ut0!V;-bRKs|j%$^l+K&3Iy17r(}Qlnn( zl3^6LOf(7Nd_N_GIY@m%RE&H_QSKG&A>Sv74YCJOtiD1J;hkJ?DWyH$fi{}>BhZlY zk7c9?q(i%uKH1N~8{E%&cHcIb^}2qGal;a4GCxyS{+=jxs1P526o?BztJMZZYwvpS z93O$i0^beY$DYT+U3VqRsr$=61swT}Heio-M|@&f4A%c7dY`gS?M1nMQ+WIl%8ER8CD~uc z>$!RXrrl<2R55RAA5e5XKGjXoVv^oO7Ys&Af5%05*&xYz>kFFSG(53T_vI-T%#w(j zjDT5X#oyl{#vwKje4e0R@CWh^Sk-OTWWKu5>NPK^Yo8j?zuB=BAfP1lDiwEoOT^x% z3^p}%xt9T>fIm~NCR~EVm?_3|CBm>T))7vNkpRr>S44abEcc9)<<>CuN;a>E^5_o+ z`R&ePhs7SIhnpJ=#}{Iry^ol>!zF%jyYWn8h~j56yd*)T<@w~&-lMTslR!%CQ?il8 zGcVPr;tb;z4}5kkt+PvF87!!BHas4`)=e$%@XxE^~CBXgTNj!{*M>lD`h z*QqZ~aa$#=U!XYgXYqclz1F+yQn8cgXGS=8LgHhAolH^vJXc)YX6_uppWpu=(jxtB zP?D)`}CyUznUg!p1{eVh~F3imv5L96c^P&6^0-Ik6eMmHvFtR=}+ zXZ+5H){xanKA85&&9KqT)c?J(5NH1mN10%KVk2Sny1yCNh$aHK zmu@=Z`@zu~{muYq?2{c6f#KZmhHEC*tYCy3eE|s};sui$fU-)Lo?vym%RITy%$U%2 z|I}&E5cWKox|~>)%vnG*Ja&?*)KZg0ym)<2(*iQrw&ROV`&nltiRZ$?8__sk!}NDk zX(7Z4Z)cmI9Um0ckOy&-%a8o4?aR@k=+C=kW^SN-TNpF{!Og5pO~vSk_m(Ah8@~_^ zg?M9@*90?7XIcY;OoZl+4JVRQ#ewg6`E3fCtg&T7ia05qbkq3-)Y_lbva2J;@Hg`W z_B6)NBn|D1vDjA>Wynq^bPlqJZ|U-{@6uA_$7N-v7ENdh9;c?I0x$?mfI$7`xaxoq zZDoKY`QYeX)cBBRl%X@)dS%L-_PXdq;joe_rck)CsKSDs9g!{Z6aTj^87sTDIo)@I zlT&_TmQGg54fLl)u=B|2Lu$7-?^B)|&Nn6kheo{1{{i&41t4;>X4d68K(Mm3INsD{ znR^;fdgNHEjU^NFTEzeoQ-dngsi}RzRx}6Tecj$xb@kKSt7B==hF!hyqJuApNnWl3 zmr?i3+q2(&TdU)WyJGHgV7m1K8W)iJ-HSF9JFZ3mBqN|m)mPJVA3An7{2OZkO*a&I9I5Iz9eOl7yl zxJ8NiOKF*(T-<42><}CJjO-pS37!GZey~&UKq^$bN4XBkjvEesJzFWz6Tr4q5H9ef z#3D>A0DAeOAx7V+`!iIOB{^xai6cq!(gEoeNH~l`eLPS@{QliAIa^qgP-S6ptRe13 zt4I}pvMaSkvM;aDPX^{qKJ>HVQmY2#{PaJdE^D9v&)mVFwE#1~!fQxtxoh5x;rltT ze6RGxeA25Mej7Dc-Kw*OR>u+etA4K;R+T{kFBsiwpPiu1uYC4)%LNq80m{#w>+RW) zGY(t5sC!oKL?DS9NRouEGUUBk-pTwAZa|U0P;09;$rz}{c~}y zKa4+l*Efb6e}~V{i9PXoIRFp!*EjG#9non#_p8>SSNkUyWbcZG+>3ieFEXAF#uF6UAF+1lT4sCkHn=!`zSr<7jP$f;hkxT!UF8n#)Lk)g^g>CcK7VXh z`F!`39UnWt>!MyE>mA!)Y^WCxgl<1Hi7IT?XyOO7JWfkf^|!!LqCSE*eqv?Gx5+Q? zVlvk4LJHZsg(e@HM17l=|M}{T#k7zPzro;jh4hn~kEVk@TOG2`QSJ7qIiG~s`HoG+ zE`1e)Gh8wo3~pd@eueM(Q~u&4xeJ|$o^3t=>%vc4`&RKQZRiiyT}d`mUOWRQ-n}=4 z?XS??`3)SW-*2H0EapR{;AEZrY)7}p_fNd}dVzwEeWjLWld>esW!L!g6jOfS~iN-UmT&UR%g-$&-s&O+1Q{=Rn~ zfO(%}>h~^4`LI0EjND?I&G^4xaf|)srGD*-WFG@XC7XTUWDgy3y>E0E(}nGzwH)sK zKw|&wM0C8^-=A`e`N_Pm*bH$hK3>+(NB`)YUEt$;=RJnU#*eOO!QU9MvEhTx!#^-& zKf9y*Q)qM?$uSx6xIUsCjrPAR;KCKJbWracyy$43`62vMpT^psOkhfbZ0%D za*dfkWn2_HbaI#N>*u{e|i9INS=F4uBOwpe@X?=La@}(hH)#qvFJIC}!-`1GP#QNKBSt#7v z&Nexzxy9)I%G~i2C+vB1m-XFe;V=px{oK}mc#L3ktq#H{*?N(cI3U~CzodVL_W8Q7 zfkC@G^;u%2Zv87dM&9G~z6X9yqXUSXn^jyj$eyc$?U-{Hd?(wRdPCnR2<*aqWgwLIm>tyMLalWEm%U0jmGk=X0c|3C06n)G=3YA735N+8|Iyu304wk(#TI>7lB5%zP*Y}ny8xO)Px#4V7 z0?$X~i)|F~qJTTOcXL$!TMpD7QD3?^zw%K(c=gls@lWV(-n#r(nt@r~85KSe3g_p= z+~$1fUm+jgCVLluy5REjXI36E``s89S{JKqcQluTYQ)O_#90?OFy>fa>(KdJ6flxfMv+5D0SC$AMh9LK;D=Fx^D*Pj(dyi# za=9yP+ha>zi$ENw5bl@12|B?wVI7~tu#uR_(*&FeL!&kqxSeP)fG7?iqfe(f znQrT-!Hu&`+;jkUZ0G~0N$26apScXf@QPJ37DpbA&W8W!{hIIpho6Ou)aiAu8Nkua z>aGayq&tbKCG9ZK8NDR|ZD}ez2=c*`d^i@*-aU$qQUS6w*t+(9e5Jndf$4-Y=lJOK z;C}m!uHoGax+Uy(=+vmJLM&=(tMkh6mTyF7)oIMDak=>6MIY(2b7eip0Ht$o=r z0<@C^4^6(aY1bEi$V*GpP?*}L$BPH&Y0Ng3`o>E3B)jCM-UYoCcs61C_KnDGVxt|r zy8+iH^ih7T?!mE#+t>?!{_6vZ_Iu~)^Y#`tx@7|UpFjVlIB@wC&-3-n zlkeL9L;UhUNEAlmcahma9KG!z|LVKF*&F!D$9|P9 zHi742hizi@AUg*em@M-4r?eh_bg~+L?UQVo<16a$`}ya+7;SXd2Nu~oMw>6iDH&Ys z;Kg6HLqv!Wl@U#S3S953WFaq6U;PS|db&p7#%#sUxt9cf^DH2qe6ef}>9*K{ckxHo z@=q96$K=-Y*FByZv0LPwD~_<|Z}5HBMr0CGWEV$dYTi$bkIh6DZkWTxjOYW{1x>kTkZGp#UKB;pMuoR zKM|oh^;dUqs&DYS_#T_4s&a;2b@lNS_GJgzQg3`8x!pkpb9S?sPX70}agL_G z+I$n3j^U}#f9>Tb3o-XTr`kFV)9taaW+^7|Lj*bPC`Cz$u@%qfU>fe%i z;MvRO9v^$*VZq-Sy6CGD|JhxA_O|09ieLT*%i!t zsXxR(rQN=ke*>&MCsX#dLu8JzUN^+(;3ePHD?Y9L)1I2jjYeaFesIwT|JJUbg83%8 z=$n4xb8$Ty44kN9#M)VZUrdZP-1kkK7C-f!m&Z0gJ~uELkEoC^Dmv`C-p97uh4<4 zbTvo!OOJf(_W!$_gBRQJWAc+yy`p!x%@$}ycJ{V4P98Y(voh(9#mV79>aWgA9=$W6D8m{^|DZN#a*GMXX%D)_vYle_U3qv(tD zyK62+JQy_b2?yp% zos`L#`K{1130T_$5SYgfWmu$qVBX*k;?Ew}jsw5xz<2@q5fq$Sn&Hu88d$%%-0Fu- zjT)t^RQ8q=yCXce{TAa@8JzA z?H523d{FP7_$oTY^q3+IhD!YoUC0FJf_ZX;NA&BH2r^*`+)jLYHYYp83+#A4c(G4? z8~?hdjjSXE;4c+V#l`(sKl=H<_S;sG)N&8K57f;DYphJM}iRmBD z@BGq4 zg->G2)(h~EKi%1fE|&{VCp29={79GRK_mlDzn+lT_$vM43R<@68rvE_=o=Ng0HIH5 zZywHfQNV2j7a;ggF29`fT42*@wX7UuSX@e^n(~moGEbWeMM|5 z=!hlM;s5FTKjkZGu~T!vGXV{6@Z>!`F21Mlr}5_NW!0%6rk9JE_0zNI^+)vDw+Ita zZ&JzMyMT@!kEc%}1*j3(CpH zJ$TkH{E%(!`-&o3Vn_c{On%SSzeetZugwB`KG9e75&B;~IKNcq_*!uh#s816t$Y8d zY-vB8>^UG7kKFUQx{XJV&LN=Rk!fw(#G*$Q@*{qJDWO z_RE}Le2cPx6IBuWCYJXyIex{%*mr%uBIko0Ceuiq?d%tO^O42jjln`r#cQX3)C$v1mFHehM z`TXq6UN#JkHS&|9t`q*wZI)}iNLnng2hVq&7I_>WomV`fnL-w^#D0azF`JcV+Ua!L z(IJbzg+9Ty2ijPtL*HPFC%= zP;p<$D4hrQaPU^hbFoAJ(hJYU%=pp$-DXDv{v%QGB2oTBV_{tdA&22_=xU2xZ*jvMx^x0t+GoMEzw-G}PMtn#OcK*x(r)29ufq@Q?l`kC zyy>5&l=tI1*H7Sl-d2R?&H4q;;8phG&(>&mGtQ+2$Vm(yJ(oo=_S`Jr_49>!{^~2c%|w*@%27WZ{zDD_IiM$MPo;W8*G=` z&c25NZX7=3ptm9hy2$a&D;i&~wkM8q{<786cCkM?NBzTBzMdyG=-V;;nG4`)j>RtQ zC^zLmb>S_J=-Y7B;)92CH%bZ*_Q8>RW;kTnb#`tHBKn1bZ~JE3f}i}fL&wpj?VC?j z{wK$L3z0A;R}HLS&7mXE!6z^mAc1VqGHT0*ogRLJUE{~6AX3&zHxQxq3P_Eg(PD&C ztlu4sA!3dgpHVLOQztp(uPcio!?5RE`0hmh))%;KBC`PgV1|}WJzVAVeYG`7X-P*I zK#l6~_X;@9tbJqSlc@u0*x#V>Ier%}0zVnB`Ovk&lD2*?3QauNB75|e+3Xevc5x9g z>Q~9M-^-58_<1s2r=E-j|vjd9i@qM=q`OEg<-SbqT%O)nS>~yp{ zs62xZ)RoD7XCpXDl`(Spo6ew~LGg(PCh&B}esYulQUT|YAs%S#obLnB^0HaLeFcK< z>(JutNkIAoho_vaHc=VhrO z_A23tcH=*l?!Ir*m4QC*d+{jv-~RU3>H|xT@sqz~aTj=TbptKRvv2ihx5v+2q<#8w zb*y|J$*+_0izC8a-)1v8CUnsBYb%0NnKyh}qAi-`XG2qlI7Z+?S z-=wj*mAlxL9xhqg^kRn%ToBl!&g9iYJ(*3KvWx7Ci;vitt#7ijzOf0xCI%l1qV8@*+R7!W-SyNLEK;4UC)0GC zbdGO3dpakBa*LT{bTLVO^t!QI>REX6q=eC(j;S zZ5cc60heIxY|Z#Hrorbr{8S#F^3?hn+MGavF|Nv=>x_k zg-H0a|H%cT=h3tmqp$LIJebLWyr;YFeF5kwjjW*WTrP3U{vUQdSn$<> z9@)@e%nz2%*uTTSA0I9{zgNJ|zUH*!2lg%+H_x6<;J}MNvFms;t-ZD(lMRj1iJvGL zK{qe_=qLEVK?iK{DU@=)yG6A24LK*xtD8NFTOH(r;g-PL$4jo%f&aa7_;_`DZ2nHQ zeu#czK%O_dtE?_k(|3RFy#FH>dp#1lPrvfWN$F%P2&okQT%1$k+dTPYA+z>v-kQXX zogMze=h>mQZmWL5x3d`@+Q8i$AWSP4PjzfEmkn-dk-3W!V?}O$y?2qQ1(%P~J-myH z>yPw8fAFB9;7(uuy4XMa7x?X?eApEEf|d|#TRT`TBESgPP70t! zu+}k1=twG*cBkU*KJ*Tz0DiW|bEOORg0!;7Fq7>DF5fNNaW1p!Ogy^6EFg49L{jFY z814D#sc=*~b}V>+fIlyh9p4*xu5*@jaX&}cc{#x4Q2TPDtJBf6Kif9ZJfsd63K*06 ztnn{ULT|yl6=Q95?qo7{d`)5k=We*ii4@6LL9dHR*()y}<@o&G_YUN%2h$nNBso5c zzGAERq3`9cU*(ZqfB0IQ5Ccc|bmJ#{FMird$}coL-W^|Aoa@9qzC*tg?7+ag;`nHO zTv(BtozcmK+=EM(U>6mR3Flw(i1L5_=YKY7i>=x%6EJd3rVW&k@G9?+DBUd5xFZeD z1bIJgx&eRijfj2i;N2JrU;J(Z$KTcKnUJef&K7Y`G)>=2 zUEJ`6q-~<(FQt>+x^pPvI#Se*gU+E8l%BL>t-v<3Il64}VE)kgu^3SVh0;1y^klyTpzL z5*{Qy8_idX@U9twZ|rq^soi#HF*$+ql31u#{Io_nb?Qzyj8jvXgQXD@B`n0 zUaZ7!Y}f7S2lVJb6?wtF_os{Zy$E)Tr+E2Q1u}btmmCUSaP1o`mH)B2mNzP(UntY2Yq zkF4W;^vHxCUg~cT{?02?+S#=mALO_{oh#=@_irt*k}>qkC-}t+ZS+aR54>6bJoYdK z)935wmr*7o9sK4TS{q=`DiQ>r?FiLTwH@I}rmu_z&{I`en@zv+W>hcagjh$dN<{NXfKfdKn zTG7XdKR9 z7E8Z1mj@?!Ao19Ep0U|GW1Q!r*uMDa7k0L#(+V3em%hV^d$@ZdxpiBUP_^Man6AYy-b=8StvnCSQZ6mZ=_;AG}UMSUEif#Y_bx`oJW z$N%-!LnlCuQ)A4HZ|IQu)wdJ#%Gt2=bKaa5UVZZXV!x1I{y5piOg;C=uz21)po`d{ z`Qf84(;|zUrx?E!^rxlI_pMP7E2Wcu#<%49`WZWn{c!ama-rFCV_kT&GlT7#Yd%BQ91P`-BV^Ck zb*+wln-5$JR)9eJQ>qWz@zJ-r;q`THL|_w!IZx$1KG~`QegsJ6F)0hfkl4ifwW0>& zqr4jrQ@9*ONt4P>#xs%oxe2HeMEL~=VVi88&H$&5nGU7V3)7)hDedI4DdV}Mw2FRy zd;}g0BQ_$^LjR-jYD-SMCt8}!qxW^z+9Sw#6UF)Om5P1=5gAV>d~W*^ZiDi{!vL=h z0FSNG##TxbDE$eN`r1tWOR(Wr$A^|C`uH96TNogZj`LF%H3YUvzDalOP)_^MIVnz; zvx(%)q-Yqhzs*I%C3burljrjVvnHJ2ia)gU=#zW<#SqEB12GEbr_TgK8BEvd8{*@v2 zxR^t)wr`){`S&uKjWo7-;tu>C|4n5|bqh@^ue90IOG|}Lb-lYzSdo=mUI|R%34tKH2_jFhEzkX$;z85<&Qux2$ zRUr!;PjJj;v$x~Bi`pca+(b6;R-bqAI=|DOo!e1Eza_x6@|~}?x*+7wi}il{ZC`yM z>tFH8R#9m~l zGrN2G=I1`fx}3xQB_cZ(FT6`Cu2vB6>hF>4ua5p7FpX?x{pre4c((vfPAp+;h#_L91MG2UeZ38 z$qY_WhqqJk%H__>>*^ZMS^PIS_|^hqkS>Pbd0)Sz@5!=uejiWt_{72(ZD)_gkT!jG zcej?a;Wu~2$LKd_2X3(xd*_cW!1-z8#dZL&OC7tH#^FYe@~rOj6`$9hfjPaL>pQj& z$@A_DFRG3m*kBEg|FKm6H(WB1M{&IKkK>-BnF5!79n*3?{o1s)$Cl!gyzB`^j>KZI zx^ZcB=29l}e9Ra8oqc&McK3d-#b5J9d}xw*emtD7EMDjD+9nmblh-59@$UgX@#lOo zz3}|B{{`2i)7Tv3_O0-qJ?3Y!E7wlG=A)n44HmNB_KvUL zDCA*Z=j&tg)?xzu;m-CSv}$Jxq=dywHgs$qi-M14S__9Be%fNl*H;?VD`<}H##i<- zZrZQt8=Kq8X)VFk=dM2;zP9osTnasc++U_}{;Ab-&cBa*jio@~RUg+z^#DrHQy!gm z^3uP2p1RL>u4ky)7)T=zOy}K1toU&cby};{hF8HsX?y2_J>oLs51lZqIEp6{UD{Si?KjGg^Y-ap; zBrnc|La1X2cYXW|b9w;aljpn3Ih!c(-s85F&xba4Hc$Lp=CvEkpLh;TWkc)HaM#Sc zd3U7g4u_~tn|%(*_Wz8|S7Cx5c9BLCq})`Vc>8a^6$wXnm!)4$WF zzPbjk*O9@8lLZcphp6I=a1+*tLV`--j-#_`>kgWiqkXAdvTX-@=xspUg$d<;G0=vu z(g1dG=^`*2S+waK*Fh?13}EktefC$b?apglgJQ+|NTL^rH{jd=MBbNig9IPVPN40% zK%Qea=h;Z^1(t=Yi&DYpgm`S(eU59}@F-q8zm6FEw6VpPOMKD>17aMVB-q3h-U6u; z!Y3i4s}r6dCsV{tovpzdTI%ui(|Et;rHzqFobm6k67a*O^WOspWPk#1tm-A@3__MlChx?8{S*nv5P5lz_;cUMF9B1-eCl_n( z^oa*iL_aY0^tZp*wto^q4riCUh={EDDnc&`VmFZF_Od*1=UW%Fckz03?ccYH=~Px1 z7w7E6U(S8E56rG9(xNMk))l5tqYq4 z1m91cZP43y`)KNe^ypq4!c&#fy*9^@o1Wyc zVDs0%{#So;%GYPa=l}X&|EqT{Eqb}5D~>CBaM+HX7G*p+;Ub{1h;HcP-#(IaW%d;> zjz6}wJ~%lUszCyNVj`i^C!Qkfdu-wD0;Vhc&!mkV*qr?OwTU17`trFv;%MS#@s3<% zY@DZF;TPN42aK4?7joKX&c=~&xZ$n*8s68R*o1vbKW)ti;e(etF|2=aB;Mlq?jFDT zXxi}dl_7gFHSPj$P~!tn+n`-vBo4LP9^qfQX}^MwoQIFQYG{*PBz(lceFbb6HYd~B zruKRCsgFZk-D@n9Bc4s(*~N71YT+UB&kpPRr5)Ue^M{|lb`cvJ<;4D-wmRix=*cQ- z4>7FV;{0S>A3Zu}N4m08ztR)^#RvNOveK{dL?(8uJ<*LkSHvUz_$&?8i9eLnuP2WV z>@Oo%ugIy7{F0ce?N8UV-+K^l(UhF@_`IkSM@sF)rai7W`FQFpa$5!$dE}tRU-op^ zoxAb5$uhe1(TC)riwg^kjkU!0EzF*L_P$c<(f-O8z4%?9ST0*%V^1~`E9}vWsLovy zAK5Fn|FHR4D_yOZ~jPo z{rt4iMH@Yi|1P#Z>ck^`!2JF1%bUeBx6Ge>xR_y|^^MX>ayb2+H+CYDU#H>+xzLB0~7{UhV?y73pi zqkne4oTjbY8?C#(fX_Z;_=v;xX*kNxdiekNF&`urBD1*iL=jp0RnF$D^;7X{p38RN z=w=@9OUB}THEe#M1KF-LHtJ?}w$MBj8>cpZfz|jKKATkc)YFsPp5X8o7u1gR>t}Fazf{n= z7gn3QHZKLRxh{J?0yCR#Y%pgyIXpd0pT=-wx-OYB1L$ zwa0D2;r}70@oR%g0ydqVzxW1ky11C>9U^vnXzK*jYX`(D+rgIxd!+sQT=?r$wRz1U z{&q0~-e6>8YaWik{er%IPa&$KYy# z#p1{=M#%o{H;czzu`gRf(dzw^>o!+HnsQ7?>CWrV-@MKuri`vOc z2W{l7KJa48**5(+Z7#UP$h+TBAWvgCtCfu*i&~*aY_R;HEcOW{uk6Cc&rbcvfBa`I z?tjj&Dg4(T{^$SvpM`}--ajRd{^-%Z$R&65VlVQWu(FMU7an|naq6ou;hsg2KhAzR zqqkghi)x#kY+*|q{oC)*Ouj)+43Nv+h31IBsAp?~mW|Gx^pwWh0@8_k?MeSfSU!I( zzNW5uJb2enz=^^8C5cceKl>8#b)V2SAgAsKSl`br%;GyWKF4nD${w*7k{TNj5TpBL#>rU!<<$*Zq^Ek^~B zpA|k--*F;*=QB2tOVXDf8u)7~PL5yn9y%5W&^5u~3w=|6XLn;=ZwIAaT=!St(vBY4 zhPW6g18|{(=f&RjZIgd?S^UdYV1LPC=k5Z_8Svn5;T)ai7W$C8vY-B^OU^y6oYMz? z`GQU_+vm9XFR@<02#$~K<|pJo9x=cx*HoX_p*DJ8*#0YaOXcBAwoOKTrSALWc{sIG z_GHm7(Np-5jo9+!oDPF^%ol4*PJdz&KHI5pEc7Dmqu-w2$RnQ`$H0PjEsxF@C%G_ zO#us6TV;}elJh*3CsvFF9i#9IjT(29u{s9h8uz1nM-dNhP=#c?k z1+B@nK8fDue(b#5J9*e-c5#l+WSd;8!)x^L`lo;TbLAk{>E2(5i9DCL$UwIGBym%O zM^8F-1C&D6>nmh-ezKiS*w4Z-Im7`uJ6`CYbj?*Dn#GGg%CC=)j~BQvm7^mz!=Uj9 z&J7M98W;_}<{f@to7aQLNezMFC^f8wCBl+4My&{j? zDIe3V*9r}yl6)9M>}Tw(iuo`;h`rg0T70mabT;0Y`RUW#rz5|eZ^=`Z%!dKmpKa;~ zmmI)Gk-72L*Eb~hJ@QT9lBfbK^QD4K=TipK6nZP+JUg&Sn%E^-GJ7XEwgvXRNeyQqdsBp^cB>^oj>Ijo3WA7oEB%}tBrlwqTAsGwZDWG9CqOw z+UR>F^DI20fnMinZ}KBvr2g2Zj6VMu!8$etand*-S61KoDQd>j;wqn?eGncPSm2qhmMn>9X~kK+vfrlmHMoKGP$j= zHSyq~DxJ+_kaz6ynT?+g@k}^)?p1=@75(VJ28E~d+^YLU;=Ym#I*NK1X z>H_;5Ts?YAMkWTMcN0(it~8khR;m7x|M;uB1snr-6Gd=6VS!c`?!vdedBuZBBU2K; zn1AAY_THf7!s>MH9sCRuio{NCFQ*fOCU6ot85ie^tBXatD%;P`&X-7MxAm1REVPUA z@#CZVCOpXUZ7$+^XTmQKq|TjtI$}Yl#ZqXe!V5hKs2_u|&|?ANzy9*q<_Yk=tLTY| zKWFdQrXE4|t*ygHX*AV;RlDbWCl=}EVyS-0G1-3WFO9tQi?o9~z0f2VK5RiwcbKhw zl0V>`V0iLuHZXY;w~L?2w?WLY5^JW_qRb|s;(XTExTDj{{+ldfRo`NNe3)o77KBKu z!QQ5xzvRY?MRuUuF7RhN`jFcbGQJALcb%*xM$uB}srYTt<-p8}J<@)h4oz~9}XL!@A^h$E)`djIw4zBXelQ*UfjV6nI zZ5cSUX|5Ii^bkY4uzckTNCz8zR{}S)y?DaEi6+~+`(qER@=uKMDc6Tob}#;^Csikx ziI>_!|3>f4hV?an)c*Qh`(<0=BWIzO>WaBWgWLv@N!Qo~?c9;YT+7%Y!zl zM^nAK@zo7IIX`x{UHO<_+}IP}1P`uQH`%p6pVC(>U#!`8^7uBM;79J_2EI1R-VFun zRHy9eA&#A+;ere9hfEtsB1&^+C)t6k9(X)DqI2c!HA^pk#EZ!(ouW+Sae=5`=$Gs? zY!_ez^mS9hp>k+&*hz*Njz7!sfDfS4A zc5=c4b2f%vT=odedjZ?N1Th8m+TZ~?noiX>hU%4_^Q{~b*R>RvO>!pwp6d2TeaZLV z7l(@-^vmO+58t`DjP2$!h_hSk_~5NfBXkzeXutzsdDsN}R4it39^RdM1*afydxw`l z$h5d-X_2!(iue5@X;)4kvMA>R^;hV>c%SVLhApQ*$k{>Lr{%q`e)zcb$s1qjQ|21C z2t5CM%q7C4{yAB(=p5v6A{oqkHsAO@Hs8F*PcXM%vGe`WKLU2_ijJEzN0889KWaDU zVUm-_N>vFT_N8I%>{xvF1_#Ix2*%}1@`7V?ElPFBzV)l{`AI3)kSp)dz(Zd>T;riW z%P(Doj_%io&5b$_OIyE&p@)P(AQwJtIlHly>o0wi zoTp=HYOkM8KrP8BR*3YpOFxEr{Rk>x#p+Bc@eeq!U%nH-U$$8sj6Z^!vfEG{-sz>}%FJhCrKoOV}cntp~ z%LfaNqBHd(DSL&h{JHb{U6K;!OYT{Hj^I|L7St89IQuw9)~rwc5(XN-BSzs!!b!Rg z9%RGA*6%uX!lhFNCLO=}2C@_E*y9ES^%Bdq}hZkT<8Vf&*+-4e3d5vI*|yR zK$)!b{mFO9=b<`cpMTOPvfPERNfVjau|c0exjSl2=z&+xAD@#013$aki2ZLPm$sV( zIKMh~TTRf|hh5yM*5+K%sr$2*N#x?(1(RRvnE!S9C4@eK5uR**wmli?gpMS|UJ4#y z@6Nb$#X#F%sEHi)S#Ylm0lf&%qmQ_w3)|#U zws&9|u{0mvXcl6J1&efBtd_#xb9a{ubU*AV_u+=O1xpGD*aQ+4}-1+Sp zFJpUn<2T;rB{v0EPCZ;Ipy#|#%J6qKlm5n2+a{0v-0|v>>3sQ~Q{eqM@qBp~-|6|} zkI+;2Q6Zy~PNLZgKYn@SKpQRR>;PLl<=ag;-`IrY>2Me9a>d1&V>0X_e3R)ie?H*K z`)uGCFZR3bmtUUoI5f1219CYgy!bU9D*WQ9HHEE8FEGA84wekNK`_6Fk&gFraOl$& z-;M!^p_9k{Wrt_-&;I5+a-Fu5pIyMy8Eto|6?#?9h#l=xGx@-_aK)SM=&{TEJDc<( zu3wv(tj>*}Y1?=BY5kRtizeoX~0d}8q&#h!SEj*A+&k2KY5I?cb$%b&{{+>^ii zCza5X9r_aCa2b!sN1^edS7eEdZeZM_(p|iX?arRpmlntCD|8L(!ZhX{x#*?95r3Uq zM2;VG=ezbS-SCY0k1n}k$w`M_B5xn+(Niw22r!yxFBVG(Omq^5)$?pt?2ivTYj6BR z%T{@_?@h!n;KBJl8ISVGYOk-bTgU7m8xx=k`H%mvcNFpB<9v38S48JSqb^ zWX|5X+^?Xe1giVbKSDKs+7*0rHX`+>zS#blyv5#fQT5N)etXSO;S&c z>KfTQ{)L7Jr$=a&Uj6sj8A-I$_HB*x073ht5KspVp&B}mo@@__Y5%d*k*S7r3LQ?r zckHVj8QgDTc`)$S@jjJ-4lCNpEUANOTDZnf_8WErBcMXS`Q(C2wznV+rjEc4r)MR= zOd(fxLgPb}8B*e7v&wFtvkuVDTcrizoQ6j_Zg_*@Ty$Ab0$_vk&be~3?z@Sjk2v}Y zd%`<;(Vn=cC#Xj*d>%WfH8In1Ovt?`&>+Ic?{P3blaIZw)Q`^z8Q~N!b=qvTMcO`j zR5SVs;3oNZf)B0Y=9nMIW}w*M_zVbdICNIT{FnaGQ#sj>zdEps(b@j&kD$~Pq$aoQTEs3n ze(69-l1y|gSmwo?-^Ryje(^S7eQlB+8|o=x~{ z$8*>nccPOvvX)-#=Au+-TxU=AzL&t2&ExOlr|mf{EPVF(wRsqYkHRn8a)3U$(u~vf zn}hy3bnvYI^?m%)7cFjB=pdH@X7PyJBtgqDd$k7@X8iz;HZXULMr|H=`J#GN*3sL! z*==&TZQ3$H=m~is|FuWJ1~gsQ=H8;K6l5kmJv7 zh|ZP9T*fxJB1oUwFF?dPd^Rut&}3VdJK2usogeSxW8aviPxu6}cWH+AK?nU!MyEUb zD}iY2Rj(%>s3%)_KC+Z=@LYfCQ)}iB zkNJtOcLDMdr*rX#9K)S`>+AHD?kR>&DLz&p!&?D&zP>%4>}o;6UHa9J7`fnpxdmN5 zl3(F~?QlyseAw*aso(u~rFIPr8x|*chr4~wqub4YK8N|7_Tj20ukA|dbY6Nj+xH@y zlD|`~3w^32Tv6BiaN1o51vkIn_myd zUOBxF*8cdA$)*p^Z;>HSO;+=962~?g>v{_Z2rk zeQS>GI)~7+?Fk){twY0tPP%0vR@8Z4j zqrUyn1b`Qv^~rBC2bw&~6OGNl^yWffN;ffa3*e{si_XIbPx62Jo^VvW8vtWY6Cld3 zg3W*Gi1Vegi-_Hw;!vdu1g}pCaZWa!TrtSvD{;=Ck5$?l9CwZdPQb67m}vf9X;Wk! z-|MhTV$*4|qbE?=z(D2>Uz8o$5IG*>yQEP^=*-U_!Dw=H?{onrnx88-8gf8ixuGrT~^vL#Jz+9CUa=1wT=v*HYv`!{Mzi{-bJ>IFYh|VM? zwjg1kySSw5^qoENQOK~tX&s?=2U9QRb{B1n7A}sRDGTb@p2o8NY)wEZCRGfw$F^3OJJeI_!PWaELp z1rBomNnQx=U-F1x{rAKwKAzlg@eCfG7e?}nzTF&zA-4hlRzU@h!KkcyCuu(4iu>n`@ZZJMS}IN| z?djSBP3oRad?!=2&ZLyCHig`F@mfbg;L__x$PD%|=Qo#e4|j^UODI@$Vjmf?>EK7INucE2Y@&ZgR5d_t$%nFykv?FyKC>gRAmIWiPu z{NCce7h~ZIwod{?Z*rhf-Jc7OH0S)C({U6sqy6&Rb8aGJd&v>}oRtn(eY-ruPx+=d zCFD5ripAwSex2QR4z`mnAkk|#F=E%`6n^8s>X3IN4c8d3TyyqE<5ePlb%=W6p}3EY zme=T)E%P96jyDI}gmd=rc{a$wi|pqIcza?=e+F+aj*J=nUY&xZ?+$jp`0=OwLX?Y+ z;MmynxQGwi*JtO)mgGP~bbzN*s&f3$2@m>siq`ac;fdnJWsj&UO}h)9suX`ZHXM@wwQ1HY3{FW zK74XMw*RnM+Mjc@&=?tS_o3BTaxt8~B~DMrd*ToU3%gxxi9Jq->8dZu!ymTd zSA9wjCu{Y5_=x^)+J3L3jXlsmTF%LTbMNNeGtk3?*r;QE$v@<9N{SuBlvXM0+_LD{!dJU4P56n z4?SqckjkE8<4>ei9T^uxbW}wSG@Re{7rdJnpNy5};k!OMoT?m}n^%2#zCU_fBovEi zlIC(+=ehj#*hhP1eb0HV*~e~veDwdfrd}hypZ}j8N446Etlb{O+NHLTb`5>~lQNK5ZwTu_=oPy|2bLIRJYypWVQhf7-tF2=|8olpDK4 zx;;W|3_u4qO80N@B`RhDhfxzq1cKie_{4!}?dsLH`I^cl^x<*$aLcD>`=G=PzVNSn z4tMppf7W6ec%Cv{klPES4de$)=UaU{`D>E^-e5Ar1Tcp6U7;qZ$5wtTybe!W2vvUx zjt$y@!U#Rbb3zb9yS9xD*ZFngk02-8mvn4L3U2R)QRF2<AoDHvce+@_CdGhklu)Urz{~AMy(;UK0D)uPij}VuGwL@PElmNw62_D zyM9pKj^pJ%B)`n=nJDE6 z4*od*qp!`+6zU6|n2;gm?2SLT+b+JHSN7ncXH!O7AF$9gpWB0nJ6q2m;*McWE?f}P z!)Au z?hT#O-yYlGZPOp@Eru%Waz4Ag_7!pXOt5|){?pLiJ<;HV4Nw2(i05L5j%h8=#xJ;( z##fK_fp={gc*hxa(^p5Ap8eWW_LVm%r_cKNa%?J}{4xJmkJPc`>2`Zu<;{5S)rOC| zN%r6xqj0myOY){VGF11#(a$0Z7*^}VJ15}UFEY1Kw!mn@!|!U&#*SCmr+Ve|d?1Gb z1>Nx@eWG>@Z~FQ})Ylun$qT((w590t{RO1v0cCOCM#^ZLN-qAfB+KKdwh_Lqo#pg!Gc zGsdz#oYHKZfQwRie5S7!aQ|JocJkhZ-pvWc$Istw3>Nd#n$Z@|=(2I`5&YUI=k0rG ztNy81?)db@1MY3)I2ikPxt!asSR8ZX1D~_=!LU!qlmLrcHWBlMOPjvA7;-~qi>lz2 z`?=7a%y#_I*64xG&95t8Wd2?r$b4Fq4)C?>SNHnsh2+;~66+_Y7&yD_+5~>;;x2vP z&l4Me;9cG(7o0DZquVjv^+5B*Alu_(hxbT$*)8<(J$s{b`Rtcp6Psj0=3y&0)yApc zK5Ze)kL-H!fQI5+-Xr$AkJUS`P1Co&$uB&@r|UOAe|nuL7aUK=vXIzp{|Oy8fKPsc zqT~AHuFdE~Uohr+Xt@OfE>*49Mz@Y@DpSrsJ$r+Ll-~Ven?nENM_AV1do9B9-0Z&G z0HgY&SJ*u%1?Ed-^30~>yv4NjyUF||y!ZZi?Nq$_ryD+~bpg|Bw@tC7Y`9Q&_5cVIwRR1!yrj#Wx zFmvvbg8J(7(0V^^aHQfWp>lzt4lQ!xrh_y{22?o_E{yjK8ls5QaSAwcCFnZDx# zNi(qO4zHJXfo}W@M1ejCq$>UY-n(3Gmp(`QtOmryb_) zZe4k$eLQuNPyJ8s%AP@IKEOR4HFPgAoxF6bJiSPX-Pk4DCINgqdt0nH+)KJ>!pCb0 zsBx4!a+4#pB(B=<;U)IB`F`WTAq=sNhq;^D$?rxcL6VOuOEHK zKV`aY@E~jLnt{s12%@?sv+VnRl$Wg}IPzNQ_7sK*K9mpppKh0Eo$qTgvdhyCQ3)PC z+QIHF%V>**AH_i09pCojSI;ld6lZoL3;bQ+x;XgbGw54vFfo(od@TnraXOwgP~?D1 zmc=5O-X}Is07u zh6drm@A9WTe5JOKh*Q9>9q`WWtN&xqN2Jh5!{?<;a356Vjz4PuwDsLlPdu4at3R7h zM}B+gh6Embb`#%Tctl2Q)V=&b?`+@ykoWV%Pe1=;VtB%x9n(+svB*OwrSxM9743hi zZ}#Fl@ry{nz5L9@Dm!zEc)vw%iyUI`#!hsb2OTIOF!WukXm~e6z8( zvOP93-Ycw{3`K;}Al~xIzCy$vyIA3|G^V`lK#tb&4lQHbHlk`H_i_r}u*v1_s)@gT zx39Q8bU}1AIU?uwQV?pXMn1rX_siU!`+UhDcmocQLM`qP*-7 zn9(s#FCXLENO*vDUbM%LkF4=s`2_yxmUi&)RHv`Hxa?wo_UpTm`R^MSs$*oRs3r1F zDKv6=dY&BX7vx^d;JH2ncKG(w=Ph2tM7%2654N$KwvC5m9L~$PiK~u>(FhJ%ZP!oX zt2e$oCSUUrpyG%OxH)_L>O>Uj9=A9m#-Yd)-ig;=ql%4BzUKAvI^N+YW&>lpdGzd) z`5u0cuK1md@`)cOP}dwAns~el8G16C%np$wa@Bu9?RcWkpp!DadQ`iVc4$_%^y#z7 zhyBSm8RlOLoVOqy?wX!;TxV2e0RiF4p?8wiGSclxd#O2)_XuLi1 z;$Ws;tUkDMc*mpEb?zy`;)B@8@M&?AO!8!JR)k;M!)0({$|D~L=B0)RO9BFj0N;Q2 z!v?_&Ah&AF$eqAo#2}Ail=Fj|^89VDt|@F#>ZdrJU$|fi)Sw z&dcg<0*6L}C7q-0(~%!|d(PYb(eIIsoOA34{K-R)wuN{3!m&kWZHB|6yUFi-Mz2_^ zckNz0<9q=i5nRyND|7>Qd%o*sZR#Y2C4ZB?U2I#-z`tMl$i?s_=dQF$3h{%wPM$J> z`tzUvskBWN^b0>z<<3!K?9qiBza>8MnN4sfP}5=gsXEqw{A(aWAKcC>PmWig!2xW9 zaKU>&|0-r(xL+qLoyh6ssB{^v@QpnEib(3%MBDUV68eB!oE0%2;FgqD@7GqAJo3}E zo{o9+ZQqD)jmsG0KmOxCY8&T`u_O5GYxCG$oY3#*zq5@ zcnu60Euyf69MQhhxN-6EsgIi^gFhJu3+DX9ZsNE5^nu0xCX&9Nx{K9KPP_;%;F0y4 zJc8-#Hi`3UI33TW2JG*}bSC>`6K8Z|S9Y#XDrbC<_Fvu2^k{Mvl~Z!ie@9;S1m4$@ zrrQQ^brw$)_9Qod+2~RqJvo3y)zvbQ;j8#3S0u&R*L_N+d3Rs8;|Fri*67d1>nCyr z{z`qoH_thHG?xeG{5Soa>F?`9z`KZvM)dGg&2ou)v}ca#62Qu;U*l(Dsb9DdBOBkg z&*!*#I!w^$69d@B)_s3b{MH4Y&?sJI%pKeCo;-nl>Q44JrnG9m0NE=SbNHy^o9*#l zKLbO3zOOH{TVp%$?K_c24q9KJba?6qv8mjqbexPme`8be zmp_YtzE<~BV(;gl*wZ)aeEsZ=XJE*puo2zw?lT$0EC0z65wr4uHP`S?2eQAvXUS8n z=rk9FR(U2LqG1fFWco$^I&aYz@>fH{qaLWL1&Y6nU-MaM#D+>2zysl_uso<1+4huP zC#Y%fIMN)tuP0{qN6E*3TMVJ2ekES`qQ1?Xu`zpjtTNyqnZ0c==Z=5M;?(GEfkhuA ze04~>W4gV@J9EYi8vOg-KNg$jZ^oXDjny~!<(d62q1Owl>}!$72JE1qsn9v#je*XX za|WY0_-aeJ7`10pv@NP#45)7$wjb|~GnvX39K3tnUS+m~T6Gqy%lXDl{8fX=e{9rV zRYExrQFH_e2 zr?;{G!|p8E7=CCIVfl`N702g%(-{94j{+IHZR{oU(K&nC@AznK{>#<}tIuKW9A9l8 zc#%$<{98+j|BaDgnm5w+T5;Cpa5&4^Tfn44_4EE3?BdUD za}=yz2!vp$FZ_VXw^? zwHvydFN^Q%2WPi*l*02bTzC`KHrBqz#~d3My0Bfjrtj>ueo-3X^HX13pRqEsG`3@V1M;AiQeVau1@#hrrjWdTPH^4I=&9)*V%$BO{Su^HjHg! z(=M;R$xCOtpb6&|=J0ai$w!XK4-OA|I?VcBRs3S zT|_63q^jUS2m8KUE_YiCo3>q$tPMSI^E+PX>|%QKTo`}E(H-koexa%H%`|}__YH(- zx^U2ci75wFUW`)F2Dij*J`H$RP;E4jFUPalZ28qQ2-g1bgNuw4Hc?l}>DLPme!}nJj~6}Fk?Zuw z_x)Tfz1wB&v#p;hMXo&S%Y4L^wM84&1VE;;S!jhv9&R5lXIBfTnj=5l;x`5Uu z*N!H(jmaI9N97M*zvdEM>37@7fPdwCh&fjH2cN-Pq_}>(cJ@(<8ytQWtLpDv0gh`^ zHkVs0#u?njUgXL@3X{9E#HBpE{VoXSNA&5Bd&jvf=+zDhC;NMWv%Bg4H)Z#}WI1x2 z2|lZ;?`%@iNE%zy3yiI;&HKN|*#5QBtTb9_L~$ryy4jcNuG;VSc{mO-yQmQ(69+(q z-`&F_5Wv9!>ldBC#Kd}DG6D&*02$rT)B7m&peeYG>wO!&z<3xc&N zX&S6!8~A-fCH0LPT*am&rl2`TPI^?Eh9C(=dlk-#^s4UTFFnN8I2y-{O+t6sj=L&(hvJQJB`BSWLyVu|qikIe0y6 z{ax0yrU7km13Qo-Gdg0R{WcfoaMiILnV;iKTrd3#F0qD-++Yr*+~vD+V}M+A#qDVq z&yy1^R<6!_lLtN+vNz|1!;YD1)sxMb+_T7F?Av}jGLE0Lci}cL`an==W|uNvz{|Nk zSw7ADa~HDpoz)GrxCM&`SbP134as0%`_+c%vW^n$<~7(tEH)k`d+wup2gVpm#(U9M zsWTnLI~H1;5$*e3)x>w|~T}SeEnIhpB5%^3zErNps#f z>G=?y7@eG}ZTJpvG8tdH9|{>}!m}cbPsmL7&KJOh#$=!1l?A?`T3Qn`9aB@uj_R3a zi@LrR;>gMuBeVF7j|x9^BX2N`eReqJpB>0k+~ePl8w83E+f_4utjr^u#>Zk}t{pR} zAf#Z`5~ADbHrQ##!0vQZFt7qRw8q$DbU)8CBwTEb5{%YCFUiB0#cXJ_Los4#qw&WI z{} zo|MT?{FE0Oy$C!j*LbO0ec?Fw>lWlSiTgIUsyuB1_RS|rZ2daTJpP8;()jjUgPTR2 zdEdg-AChRUfvuuW@~gb!D;*3^lRiH^>nRJ1D*UG2(+GS|hPflH!_Q=F2eS3SSmN=C zwj{892poBB_)CIxZxYG*EYgV?NoxE`4(D%j?q!!v0_=K9dFzj7p%CppZhrWPn@uce z)n19Gm1%Q>ecPflefxd<$csLG>$e;mjJ9a&pcFsR!SUlO6w|NQjsXp=Y+0#QR&VWl zOeQPN_6nLx`JjL7^(q&^UQ*-&+Txc25B&HtlZ}{&PT$3ETV`T{w?xkG6RY^|6HQ`n z6e|4tm?^RAcUij)#i~$TkAGf8Xsb0CTr|l+!Jr` zY;3ErcP|cNOK{@X;s$v(uJ8y_W2m^n+b6NmP?xACO#V&C$Tu>Q4c&#SEMeZ7e7qME z@D?VvF1^rHUzzl)6E`K)5B)xLDsy5f`WG*IJeS|rYumbkgFE=@hmM#C-JFA&8v*FL zBQrmNXAb~;@eZz-D9*uizA)gnjXdhNjr|?7b#2=Ap+6i}mRLA_O72)%=qlo`PiKbC zwl5F#S0C}tHWrt`89!DIeTEFBcWl{{e3a(VhhB6*s}mgi{OJdM@p<4oA!{tee~~Rr zGRjQ-=*zFFD_Qi>I;D9IZshhZsCV!36RnBI>YljonANz*Six2~ew|-spk;N9Uh?%U zUOnuLx;Pfsl@(s_)vfN1<&BLQw%NQ3e{#y$U%&FV_S63Icx*B;JZ&S7iygF#QC-Z4 zu52vV&|&-Co#y;Xk_r37Ha~9PLQB41J>F;0D5G9rV_)%_zUdC6ufX&L?y=+C6&zdP z(|lIHnxpvM{XR`JF`+NIS=GE9dL!q&uyA53vL^=APY&Qa+vtoxr%&vNpP9#qW##3* zbz<#Iw4Jk|K4DKDytX*EkcOJ}8M7xRfB`Gl<5N0lWxGlcn^zl?Lu1?E7U$@4$0Od2 z%B2U=VyC#Z+vvRUg?8;0-_1qThvjOF0uC)-XVwqUSbLELpURQF^KG-YZJbnxTlO55k|k<|y=B znhQ5EHGRqtN&ET)UwevJAF!X;ntZVNdEtn< zo&T1G7?o>Z6xUUriiy=5XL#6}PxV14p?&w^^0HXDg-zAVwKGnbe@(7ro6-bh978u{ zX*w4Zs~33}$90N%+c)1lcrDMR5kiTd@!;sLJ4Amx?!dQWw%LVV)$B0+f8@G>UWeqZ zEfbDiyiJZ*$4JH3Poke2RN_Q#6AN_*sGQT2pOn%{b5f3+csO7~U;m>^{^xw;AO2&w5C+utfVI>S(W^m{cIP%awhc~7;nAO??&@HpMdcfc zi@)%dQ_v()XuIS_R5|=s=1veJ57-UL3n%=m<6!o4WSCBY*6?KyPeypOE&AjbEwBPn z!u9xF1MBdje{FDR&xP&L{qWsK_6B5lq33ZzwDGSD2KR=xI7&Tye9r~qiccnG;}xty zrx%!^)d4yK(#S0tq@x`i_93J1dK(N^cJ?vJ)d>wM1~iL4bFmS>rrm|2pW4OOX7GTo z?RUTXeG+JX!6o&aj355uy>&70_@$yh|2X|=V?ZOiqvuWpcxe1JejOW07|!7;wJZL? zuTRyby=~d^1$jFN#SZYCzYm?-`@olfXzV1wxk8`a@K%4(h`wZ2SO48)!eb`mBTJ>t z;kU6Fc(!&iWCFeyh5B`U7+f}`hjZ|IOeV)<*=^X44YXTOAoByy@g#q;n_ln0G%&Dc z(zbR*TU_wv>Q7g4kDQ)5deecvvaRfqcPA=hhYcEcNz9V-OvvI_i6}LB$Uw%hE6>55^L&;L%c)leE;^+Dj(x{}^;7%-t~mxQ-40UwP3)Eq7P|~X z@?>o5;8$Mh(;3x+GkG^!lutR+sr*YZI_FHj4K23XQaQ;=jsxFG4rCO%U+7aeQeHZu zLEbxEkaHda#6KiR<-wB<(3!Y_X)aAYzS_lBqF~xmSN#t?qSp>+#va;OjSNIxKIGZ5 z^0E2Q4je!q8LQ)+E({cxjoY}`WDRXPCY~9jv;(vJJFyVEX(L-e&m?C0o5zLG?j$;L z$xmfZ{%jD?SJ)U4z!WCY$KLel50)^|4pr@adNRN^Y`J zQ~%-lXf^s6^E3pcmSIO5Ud18#^Ro82_HCYA+Qaap$J&2%V&~O4`bRJQW8~6@M~>Pj zd?&v=_^!RSW@R255jpuVV|5=5Kl;n#a=!iazr@3NnIIbtO*xvZ83*6W$#dgF4pQU; z3nyM!KJW4v2^z=8c6>8iEGWO#_Hx$HfKk6?2>+<#p4>3`JgU|fmF1Y)G2F3_1v+st zxnpSYuh?O|IjB7RcnTV|(N^5{5w|je>DY;m-0d9E4-~b%aLir|p%P+7si|a_NK-a@AS{MwkXR>$I)%%8~u^(Si@g8 zJaR1$@b{u#`Otpr2E{mzrx=fpA!C7l=nc*C2=6OoCj|AVn^v5F}@R@5^jLr|w(f6_KFG;oX^qSRLEJ2kXhI-~RTu{kpL}{?1(Q zaOy6bEBbr=3TYJ;ZMjlUTjSkT*Pf&?N=lHlTcv;8?7hQ1GH+u^aGj_S$h2x{v7$aU?*|N}pUHpu^Amdxj~P!R)y22hy7lMHw`4y)u6+)lwTJmY>EoS0 ze%iABv^TGKmHx!9%}37B&IX6{*Z6Yk#N9`PRSJCe&UI7(A#oA9h%J*&WEg4$V;nFW zyy)zm5_}|xPDC7|f0DsnDL5|+nl$LX5)DKZ({?M2L?g+G>`H4=xw?*nQX2Xq6(dvpZVou0N$ypmxW2QKi{J-!Ch3;)m~dp>JJlc3U$IdOu2_gU4-2Re9` zS77XSLOYX^dvYI{bzsJ;tlY&k-5D2>V){tvc>jXMjxP4FbJ`?daQKns(_AdF z0r}gnj-62ZNijgj5dL;>3wY>=>al@j*F~pX7cGs4LPJNKL|=U8Yd^Kt zGdk5FFumvxP3L4NS}^Ba|36>5h+cHJU_*xDM>fTvK^E;R>)NRR?11>$S99kn=-9{# z2A+Jp3vx?WpWz>OF24Ty5B;S83q7?*WL&th!_Y))f8_=XKkGYs4X>4zT%dS@meR+YtE_#YP&b&aFL_1#c^Txh71dsQ9 z3>cV4{=shXYu7_-x}dC8}GtAB{HI+ zMC!_;ugYV58_Tqfj^<8m_R(i=p1yhiO>`bTt7~ZU&6_NmfU&jTrhe#$bM&(*Y~$&_ zci@9pf3A6`$KYM*%|dJ~`A#opC9$F)azbZiDs)-iqeXw%Py(#)NsZ}diI^}^>-#8`O6 zMSZd)__Zs5W1Es^*HqzWY~O;HLM{s=uX4WPsPFNi>1$m>Maxf1bxF1TZVN@tshb+d z%Uex#4uADq=6L*j_dzH{HF6)nm*4c$MQ2~}_uw=01GM?A<4yR{+txZ1owHl^`Rv@J zIV){?&Xm!Q%-a0wPUnHO_k3--IB5riwsx}E9&NMmqOSH2ta(cNPWpwIRPUm?n0oQry;di3b=QOdRD@X$j3 zqDJmy!uUVVo@Oz**gXVkN?Cn8F$R8TRflmfHv^{mswS(BY;-y|c z6ZaoE0JsDkOQIO|F-?=ELkMwgT^T)(w6qO_v~^;YeVMKS^~NK>I4`15D2lYhGt|K; z;ENCRZB;9%6xrjY(ev=Da%Zx0|JukHB~am`fKyC{YaZ28H5~+p)B#(AtsKrP!*PUb z6tLwHUHb@ZU_YajZtar~w1z_fBn7$z?P9Qo{R zkzr^~=dTY!ZxiNDxCBFk(25$LWbz=H864&UY=Q~C*l-o&hKnJH?p9MeD{(=ys5Z;h#=#O7a*q3Q`@W{Zi3w|cV20n!h z?u^g-KqmRM;r78N20`=`yhfJLKYH?4^*Of23m@`_MM^(r?}9g?$Lbm=H*uc50tfxQ z&_-7gPmT?gwfV^vZS-;A=5TDjKBgmj@C?-C^>eW735KssntPEcZbQpr*k}5B^rw$U z;Jf>j?=AwCZbHR@vUBEZin>1(Q1HN*}dx0aj zr!nAFht#3Z9@GY_-J_t|?+Ynl26iSbd}$F(fAPXDw&~L;x%)}tp*c23w+tBdl=?I= zK<>G)F)G5?Wa1+NfFw>I^Q*UB9d5xcYXDB|`Zd2Hzu@IW$ zTX|}oz|8#;E*vYBWE{Exd&3CEt*kb+C=J6rlvUSJ1z>goNkEgouD@)Oi|JAK7 zyH{6v$x%Ov;fY5u12=iMF`qhdHsiy{tiAyew54%cB8(<~V;A*kYG4bKiB5*e7QLko z@9tThRt7SyuU8K=s&Dq5bhOAJTeN5h&ge1{^f>j#9LJ;EEZ$u)-_F1S9Sm>08E-sp{%+5^+i%H(Ki z&>2o+vN@rxY1co}$J2jx-gj@pKQhnLNHZ4$snJ(XU!Sj?PTkRgeNF{+jZ=F~#I9tZ zs~5842qU zkyroUe$=ndWs$>IsiWG+R{BGCV`*%bcKvBMhW^mQtM(L6$r+XH%o*ilG&;@(E?SIj zM<}R2DXfB?h~4?e@}lKh?T!e3V|Qg%w>cC3%VOTr_cca7M3;sWuF>uFS+5M(Ir!3< z`Ow2Z^-*AbP3!&p`4I*5_o@3+Ucr%{8ix=2bPgDp!og)MahKiFg40}L?1&5&VDW=f_>MvJedP6z zbWQ`u7-Iyg@=VeHM-br&?o#4~B591GlM==OA#f}3wv-=7rlP5jwR5s^*eh^)Ocqt( z?DDr0(_Jjk!uSWZFb&XAr1Xn?;2JF024VTNGaMQlG;qkV=jC&Bv4S;&wS#P!X9I)g z9~(&1I{)BLsT}9HdX&m~BNX$$@-_Jdw{mAM2yA^Lag)&m9Xc+=SB}-Qyx>SIf$6(7 za;_fECb034ykUTtz~);vSJtP47nO931}_Ul-UJ_d@X4nP?;fPnoQ`vNr?EP292Mc^ zM@>AkqNNNsB0i7T%U)UK2MNwL@oBO-7xD0RGFcjdsZHZ&Uw84f0`-c$$(Qe((ci|t z)6ok;jl(1Q#8%V6_1Q_#%MbL}WAs^js)xt^F2vZi6T{eXz1MX$dz>0U9!Zx<8+k_^Wh=g67TN~lMxZZhCIRdBM#usDXB+bn~ z>Vo%UE{HGF=}Eqc2dV~e8mTSdLwNJi}Ci|oX>^( z#58*3-AA&MB7u(%IcWUX50hvs6FKV#d+;j2u3Y@nrrJf^*QcdZ8mtruYRvM3mKn%`gmu@ zyl2E?>Y2!eC;Rk0A;G1mzTGFII?#=;>B>&%&LYS7QcS?N2^_IXkI^OmNIRO1!|1kl z9LtS{>e@GwXRaqU0E`)H=Z+Nzsj(KjwLb*6U_$E1PnPxzZP^q#jI6a8SyTPm3(EAC zz?4?-$+^de-KAfBdD_u3QLSD9BtQ$JD`k$lJaX8rmxp zd2>#))d!oaq@j0yvIg3VzL)yJjUKz9VR2*Wsc+0>k0(Djk75v5=j;;#l_v+q^~nmC z&gu^>F|muu$UO2vp{qxE#SRKQg=}+kVDelmZy&(sJJCOFue~fh<$t)8Vrky(=6HTu zZ)6w8Krq>xVVfFDti5!Mz)#%;lFy97hM}=6FVz!+kzyX+@NdR z8uRq)?87RXy>We@AD^lB7g5G1k>~iDZItR|f3rgyPF=^A5Vkj7g40Ls+egu%Z|W@W z8}s`lNA~s8AqKvEYKfoy$^mxr(acZi@=_+}wmV&97H-DwhY>oCvsG|L(_xyLiT5%Y zdoOJebX^!R*7IYx!T~DH$sddeo_^Z>gdO> zjfc@^<(s&`e(Vo}EPW4!7|5SCiw{49w{duKQ~E>n#sA7}Y~HvDmgB^+Wa7O!3V(d4 zto;W^Oj@)&@pzIEi__p)N#)2t@uST+RqI9O)p6p4CKD4us(tIl0|$5forADxTXaQZ z&ZfQO1JL52=Ko|j6EXKA5>=HYSUuWoHHdOdKQk3RQ&Hg?vB+ZI_m?x3Fy zj-rj6`Yh#6b&p9g?GJmwQ66w}jx6|*(e?b)w{{wvPsD(q?N$bMa!KcDosflw9M?WR zFNdES1?b|y_H+Z|8kCAl2h0(R5onsfQ+l3w2|hTnJo)0- zIsU9|Lc8_}oHF{DFVEbge7iDqoL~SGKmctzOPzBhS%pk)yP94$!1ATCvb3M%9Is8lg*!Ie0h1l+>@Gf<6C;x0tg4bl6q8GVw?61`cyF6_ z$G*11$MQ~N^XNBsLOcyXU$FyY>{owA2k_)@VGquxkOPh)nKp5k&e)~8rH}AISB>9T z)6dTz$L}U9pB(+r_FfiujL|`t9`trs*WM$ZmGSgXlZKh>KYY{JjjZAWO@;1`Yww)* zS8}o^lYG4G_WT5vow?UtQGI6Pnq1TW<;uy4E2G5?aOC>(%b!&?G`FBT=bs+?d7{b7 ztmZ-nZ?ru9;k&}92a9C@eloOU>5RCso2(A9?fZ0Yar5{GXWVN>6HN{=4T6LDgb4OQ}? zvUmK~H|oe#ACW<9MK^VHx%UO4&7zNfNKUcB7O_Ea&_u@t1U)J%0MPB@qZ``ts^YkQ z29v+F-@&!Gb1Szv_2t{?R~_5EJK~BrzAj}N zrydWn_y?t2}`Y-fZ7HrXi;PY~LYI?WHdUHrKpQKjz&VV|)GO(Kl#Vc=%^y z)$Oa?Qafd@udNOE1ik4W;Sqm;)2@)6Jrj0USv!N{cm7xEXTE;6(O3LUePtZ*e)198 z;{$#eUpPl+cub$t=ZD`cWd4|W%8cEEPcF9P^NF{4+RiaLox3y-$j|fSojjxXI;Olp z9x`sck>O2#!qwu2JlL2DOc%`>WkoOj{hA;@*X}W)a1hgE(%1TgC_Qp+krl78$;2UQ z{Npb0d^KSD969C!u9hrQGH!WkuRZ5mu4Gqo*yNXx>r=}^cc_f6lh4)6cstH@0l|h! zeH9v8nydIXdMSLgHgpbeaOprEw8qb~kDbzkEVMi?Vo)5g~G7~k;o(!`@W2Y>n5?=ij)SUknNO}q}BZQs2%{#-ja zUq7LzEbN@kC!F0qm65!7*~GB-N{oD?$Ml6DrQJCA z%{PDO6H;hz8+hmR**L(bbW>*!hMli^vhikC?)OP9F$XpxJiRj?$@WS5Z2c2lbBV9N zp7&Pi*Wg2T_{8DM!~Tz!(0|MsjY~)W$a$5(e5lY@OrbBH$QkB6S8r?nO6Nrf)h{(0603PsX+%PoL4h7UoV%-mw`gwL}Ua002M$NklbMLybW6p~w+aUryFjPB@FOSZiYIRXw!etPuB znR97b*3I#oI& z8Q;fW63#Aa*n=6kfhnE9s9U+mW~1lE0FLSvao~<3S%TQ45{8v$2dkZ|?ZgdUlP~|a z1G3e0{vBwMtDf{p(jQsL8NP=;ookH&4vnEhwhlOf+fF?FVfaPVJ;^90TqKZv``w5%eQhTK;&YPD*ppqz>cXG>P*d23 zj1pq+V1$naPlE;cwLKY{l!D`NvQAVz@=a#+$e2Akcr~6XGar-9pl5(s&a>ZNNMfTc zXx$4L@Zfs}vS{Kd4ff2q1cm=eQawRZPnxW%elc~ z;s*U=L1AKPAAhu5_a#I}`IIBsby>TXB2t)D%(p<~|*hBGc} zXPdRpz!$u<#92qDkPsVguvG5wajrB*dXVug?KXO|sXUK%<2?2tHyK5poael#Xq^QH zlcfYx@e+yEd1%Sa1R1^Mtfj{kex<47eCijT9Q>sC)fbp1!IdF=ydB@g{O0G$Eo-Zy zT_0;(JZ;2Sf7sL0zV+-IOft4#ut7G*8-r-Dm3-8=4*b#+7j)3)Kl^N6G`un|{_>nL zMEn}7u`xM&v_4GF*cOS3!|LSTv8Rh(!MymTeddaR^T#LI zwv3Huym4$(;DeK2wr+6-08sx68=#Bl!j+zrmo(^}A~tOLm3i*=uQukRPzTrX>Vz(T zeW{1> zIxO&>@y_wspT{2DW2*r1HLcd4WLUn<8)@q}lzC}&D)i6;yZWH@lY&{Q^`VShZLU6n zC9D2BU+v0^fAiJSS!9$a2DUliB8%5>`1g2DtiAAS@Qx^#3_~gPOEeYLM?Z4B05`ps z29X@sE{<<@ShU$M#`9W!VTaB0SeOTIjC{zJmFLLXc1ZcJ{5j^c%{920qh7k*1$lE+A$Nr?C5jz})Zpdv6 z(yuy-*W{{CJ~=OAjh+^hzj^yj^S(Cue~U#k{nK39wXgYA=XmE@VeB{8nEg6-ZkQSW z6n#$n{(2Idv4A-J_+w-5jLr5f;=K7_^1HgrFF9sc^lJMYj}ImX=d5jAvPQ0r2E-6I z=pZBs3zU4EL3;?U!-DoF7tSz%-;)?3E8MevWQde9OZiZyTMXM|dIW(}8vPi>eBadI z(TfRm0%9`!SdC1@pw&{7@W?T+OOqAxoKEz7LNN*N4A>l%U@6hSFQ2&psd$}G`HFKQ zx)+3i6QOwx#;y++(j|2+wCFILbqoIsX!$T5%p`30C+FfeI1v15-Ws=$p+(nn*T zPDH{3u2}prKkei%71a~0cw*;HUMtUIkz@2Y@}iNAjmJOg`&UmLK4Sn_jq+UYwN zGvSjw^ZHd5knoD|V98y(-fYNDE%XW;+Qdh1>@#)arDkcNRREk~8s4VI!;YHg)1-V|S>D;W@&~qQc8Ns}@A*B=1dZOx|%mkLRa7L^gk+ zW^GkjzcRq`NoC`${c!zoAR9YCpW&i9I?Y3(kqpzh|UjQNxum|YnU)k9)fU>8r^u5Yc53lmIq`Al*`5GUG zPnjLtj4k4we#4-IsA=ZD0FVAjA=`S zc6|$<#(t3Wy?*8F^hr46ow>;N)7c}X4X-V8KK(-cg33FDm$gsujh`2`9ovlW#3dc?g-&AhUf?J`Bi;u~=?1Ql;KN_t%DsE_ zdn_KnkYSIVH$KrwVW)+6zQ=B*ul}Kbw*z=|^p|;=DLk^W>$Ev1HyLv@x{e}a!}|X8 zQ;g4?Y{xq?>o0hr`$tP@j{f9PDr@%qW8Tz$oi^vMKXVf$zk>3ucc`8Bj^NR)==pf? zQ_a5jLbu9xuiWE+inM1KIYCERyUkfEFendgw)-4*;nd&D`21e;I9^b6@`uFA2}Zx!8yu?>UCW!0+3=eDwsA9KAs>Pr zUX`degx$ZO?|ccIve$`gM=Vy>s}3N#_9cyREed&_=8s|{S`G2%v zNO(^XxJaPvItfo5vVjuD&i9xg*Tf#P$g>Wl;L^~v4yL5| zB$KadAN=vD41tlj*yGCXZSV0u_FMQq6>{Wtytdkb*Q3EMkgb+#+ddLjjg?fE9zTekz2F2(KNDDV zcha?X5I5x9bGR<(ocF@u^hJEg+ZSmDM(p6hM`RfrJ|@lT(NfT|HKv`X-Z|OO#K+eh z?A2LdqDR}3i+oiC&g#t{jn#w$81?xG;fEgVHYN1VFNDaSwM{N+Doc2HRPXa7-#)b= zMuNxp@`JgL1qX$$aOA4p*r|y+?W@N=$~SrK!DsSD^lglc@5PJwOmAtvKp!2xvau1{ z+SDt3`apZ+Np!WJ%WE6I9$~~A{M3!klLz!mI?NLc@E6X$cRivn+VnEGjecv_@d1e}JDOdd`?K6@iPOXe0$V@vV2aHWy+&VACL{&nsy zO&@1>5pZZk*2Zu0dPF;NQ=v-CMR)u$y!E5RV{_EltoqbH7TITF*L)DUcDy0`%d$S* zaYFmsj3d}?8=m_T?&*W|ERfph$Jh$Y#LUE#KFp5h3GAv*$}NuN)1j@e&bXrfL#4Ls zyS>sH8}gO;4h`+|4KxokK4G)wHp*(0^nf;EkOLgUH0Lv8np&nBO~gjn7sV zdpeS1?RDo=`R)}trY~2Jv-;zeZFRRNe`EQyRi5}|`6B7Kx*j`^txv3<_B%Wr{I)Mf z>?8ZsZ~N}Se*E$2Lx%@{_wo41IKG>{fhJw&X~O9{`b+Qh9=^`OG;d(?qM$eP(Xofv zW~|pa;hzod@t*%W#A;~ZPaM}z%5#pvaY;vp;(g8}S#CFVxHYrJ8^SX}>PLp=E1 zuUskM9lj3!j^SYSd3a;v5-I%SLtXfT3hcm7MkeRZui4}e`K2`TtDk@Qb0nX>`S#Ig zwYR)r;qVc5@0 zE5(a(lka++nfVa@8`BHFds1n~gH0`7IVY|n;sn%qdL2d z>}W;zz?ggUTj#Tx2Yq+GUILDN*B=&i$m*J`evB`A4U(~FZH0dG2%foH)9{%YNkO#NhB4-%c>W?L|?)axwtw zMn0djmB+bIaLjID5&doCv7Zi)J{WEIOGJX6jl9$h+z+{{?ZTtHD#LUZdMaS*qcCYq z3IFNwsYYo6dx zPYOkxhG&o~ckQ9Cu>;z8Pb}ks{uUy`VME`;U6N~;5I#w2Vr=X=7cB;ULKHT(_1#3r zW1~sZLz`^M#0r?z$%MYXAt;5i*RF0a{7XM|_}R$NRr8}q&()DNcs7Ne;C)|GOp?Li z9LX*l=&u8RCQw8;v`mWX(+ zhrR^=(3KwJD|}W5v}Up4#9Mv6zKj1t$K+-wPqkks^JB|t4@~)nu6T;Q(O2qMHcwwM zk(0MRK3^y7eZT~(OB5VqmpT`$`&5n<|fgMl-BZjF zZ{pwa_ECP|J0F$h=FgQav%=b*Oj}1MMIV%|j)o`bt`z;*nxsM|PN zKUmBXgWBv}_^!Rx^*hG(+4u!sX_M*5fu=e#Y;nGu`o>jw(ZRhNzFmED*s&2V-TETe zPUfA19R2ufdI9c1FL)wej19qIYYen zZmW1o+sjfq#~tXqxg-BLX7jhfXO|$ij*UHeB^Ouj2?wEg`s>v93DNWcqzB|Mxda&7 zZSDGr-g12HAK2Rb=yai;12QW5TOu)g{vX@Z8x1hkD>^B1*qC8#xQiRjGto`X>4o>f zgF7#T*zMBXqY6?VOcHsIEN#RQ~ncV$7ai z^ss;ApY*{`VuSo`A1!uhwiH+&j=Zt|_W#-)9kI)w{_s9q;i_Mo2su%OC zC)s*25`Gr<@WdNW<8~At(Hy6gXJa!lg;wg&BD%KHT^n^jd1o%XQJ8YsF)+ql<0V_G zf19V%^p>Tk&N#Nk)0+IQ48O!d^6=z?)@pI^lfoyfBl!o8El>WCse@X3<)BpX&!S|< zQaAyg@pLcRh7DO1`<1=@*;t?YU|sPVM-E(Uz43u(*&jL``#K*aQvND$S-kiNzr@D7 z_J4Vg5Cc;C96i7N?%P(XbF(i?=XpBw+vk0P=~JLrkMV5l?jPE=)cbpSi^C8I$Pjd> ziCy?vS=pMm+74jq=?eB`QD+mMHxUMGWjM6auLNSb@HtPN{q`JS0vI_T=nMT(SP9vZQ>MU<)|%2PA<-A>+R8T zsg8bmL?f{{?~L*;qsg=AY`;UG^Xb!<=6ZE#g4aj)W*1vIZ@;{FT*~Q8<(rI>v1aD^ zZdks_*ID$x<%>=WnU9~$pI^(>`gmw}thn=toMxqD4Zx-2>blpMwNdcsHDmX%%2$pj zFr3!uA!JZfFoS3Vw+W+8jF5j);Q%xx^n6d#3pD%GLnh}W;Pgq%0)`@~=*Mtbg~-ws z{OnEE8z4tE@+pHm0;=1AKPZ1T%J3%tAq;O1iMmt;ihZcH{uM&LpY2fFk zwxAiprLC?ubiM%D51G(IHz$2LS}xw60o~xyD4noboRMXy>dfwxD112=Yk9Ohc&}bP zUg$_S7fS;8>r5;h)7@Z4zYRneN60Xu<$d(1-O@*L)Cpe|3!g|>Imh2{ zW`Z^NR2iGIi=S;HBfcgC>e}f8ERT~N{px!7quYL!bNe129&0}qC6CVPqMS_NHW}dq zWCwcoFRd^gnj<6ITeY_WYf=jzuDwUgTEeH3oYZ$wY+tZjTd z{v$Wv;EfM>iOL2}as!F)!l1z}^)X-a_4+e7l4{*?@V*JICw-Kl^#jj-l_fk~kWAk< zIPx1COcJcUfqXAAqpZxS? z@AY^2h~>03-YPiJgB!e=w2yuCna2FF#l}MYfAnEL8yVQy#jk}x3bShn*WO+2PTNjW zI{^~&$z^OZJ~)eC-m#SVBR=fEw!&YTfox)x&}2uK9G?98HZL4iw=$8ddWY6N1%g!T zYVVmy_h|_e_B7haw7dfy&STpO@#2Hu(CeMI^vBY6zBr**Kc=n|M{?x2$w$1Lvm1VP$n92X~U38Hn z!0{cLdUB-cdFiCyB%2)`=jqSM72Y%PU2N^q+;8ItW6CG#%bw~P_|XyG`c7OKbJ(Kv zyj(4Mu<;LP9Kug5svo(GIV5}7Y};4=;-_!DENhc^vNHMAqw)7F$Qsj~<2io7LmaTi z$<2`;OpI7t=`-y&M;(|zaPYM27sToa8U0B6QN~3k(S9#vZYr$dNbo4-OD0um=esRri3F`5oRM8Syy9f9 zln45^Qv9{!txYVkO~){}ZHrv^4Z9wX9s|2}0Mqg0&>I`goKAdC?va0{jy^+o>sS;jE24v0*&Kzi_cFdP|dE9h;}VKTiVl&H7%OV+CDLrmmbkCD0uE(bdsArxEhcX5D8zuht08g7+6@2Gb>x~m`q0_ua46C^Ma5oG#INI<>?^^r&4Ow zBuRhns~@=_W4CX=^*E8YF6SaJfL%1|V!%Gt5U!yg3bp&h!|70J$()Z3UVEM8b!3=3 zI6FW^h*S7%{bbO0ao7%;c8e0FZ|o=3E15N&!(Tu3A} zY!a*EnzEfw{e7^@dFa*;b;Rgc*&;uAd=183)xG_|O@q|E1g(Y63S5u)m*07Ny#aaKcE2(X{OC(2!O1jl&K*k0#T(k+ z<)UZ4FD`!BbS`p#c$)|RunQwexC$Bgi2tDnLl0kn8)u_; z1`QL(F#Iu#!yZ2;n{(0kcsb_i&VKXLz%{{%6B9&u{6Dcw#_AFpy^EbaF*aUuIl>y+3jb}V8l(4?oW19<%;E{5mWZtTo%O6yKciv@rF+eS$XjrJ!ePE;n2A}o8s zv9aLTdTd!ArGDYa(}6M(_<$$- z!cBYZmHw`<+rqUi^7smuWA)WHaPa9UchBPE@K9gdXP=tF*Sj^t$WIR&*eP?Ks@gFP zb-Q*83E@^-b_|H@;>`sxUD%_!!lF%FV$3n089Rqgb3;h@)tb|X+ZV#@^^ckNV3}AR z+m0Nmx@4o{CmFl+p|urxHjkmto9h?nKYB_uMct2?tQog<5k4Ycw2cMTF?O}LtsEWa zgD+q8f;sfGcYcwJVsP;LL~f3qla)gBn}vGz$Q~7&T-^g_;ZAJBXM@Hn_oTS71@B$nTUA?^k482>v!5*T4Ph>9@cA{VWb!ILkP+<1?GN;H_^v_WR!Yr};`~ex^I)srixl z6uuUZBk9;M<2`*UYj~4Cs#ntXwTP#Ws%GW&bH8fZG0Gz7JndKA$)Am_*B0F)nu5Q+ zwsy^7`RnUD)`K6r44jxD6xbOPhYlJl8w=UjCy6cZSz7vZ7@q~-A3MdK=qX)H%JJ|> z1^G*MVs!f4^dUJ409$~kw}lwz3b~0iw1+Pr;fs#kg2uqj_^H0SwttDE^uO?km}A2n zYcJl3m2wE9>Xx}v+55<5ex7g~J>Z7t+>$5N=nTI&Iqg2@&0FyGwdi4+zB+x84S&cy z=c}*g>o#Ia`!~5!;UW|zxkMZ)GtP}5WB0LV4TS#r3nTx>Zb4-GQkV~IY}A~v_0gSw z$;dXBui2KZvWn16vkn&+R>Ja1$XltTJ+HH}BfH1gmt>L42QU3<`CDioBhJn2QYoF*Jp(98I2? z+&{DqK;<{iDq~Z!Z=a(dtAt2M_9pMK@#NE?Tf0V?;wM*5zZ>5`9QzJm{pNnHGCZdr zkircD3wZL>_wD;D*Di37lst2Dl)u^AoSEOJu&w%nRW351-9?WaJFi>`S=Yz%NQROV zyN60`H$M4@Lnc>Bg_L2Oxrk{eVDsbA@D4%Q^9&XUYhxtI@rcPgl2YrX<&zK?bOLet zWWb1Wt7ro>=c{lHo^?5^*k~klD(gok_kuYC%)%~f`(DuJ=jw>&;*Y-lUVWVOo;CVi z&m-5-jovePz(4wh{&qYaLEZRAG8p}sq8Ee-G(5=59+fqgr>~2t?Nr+E5eTFjSRLZv zp)9gxyZoaGZlB8NV~ad0K6OMeId2E(1&_`mSlB*o0ma*--1f6CW`OpH`w!LeDKCR@ zmwUc%1u0U6c5Fk8PGrtR0FBg>b!>%KI&LqPf|>dsb3APZZ9~1m%>Xl{ZQ^1U=eD~0 z{WjFvWRmT{3m>-7wgvBYVhtw|INFZmX_}E?_Tt1q5T_Pza31vF*4p$&+u+qII!>q3 zu0y&2a)%F1a_abaX;(~~w5byxl1e92>}p~c`r6bRV8GG^9gjj&v-UhTM{{*=Y~mGG zVsz|)o)y>m`6UB1TIecxIp5;AzKI^tmrwf^XFa;_D2O zCN5~R$2DjjewQC}j@Pkf6`qFWc7|c*bzQIDEjc&O@1PjHd^R>Gf3mJy7Zzru|Y;Y z!b2SzHs|2A?;?%`jNG@+_9%FeiLAYtcHtHrMr02q*6BrK2aL>F2nr9!_;;}<_UN6-grP}k?H58O z6Jt9Q8Pb|{m zTklEAAHR^(hOR!(ZwlJ&*M|vsv|euLDI1IS=<$)wVkVgOx#SUL{4=!rRl>wqa2$BPuEpyo;P}@!(Q|Z~n4cUuvC;WYZ1u>SlZ)QveFd!ACuHsE z8JhO>Wn^2v5h!t!n9ASSu!gDF)h)74yi6|bfCM%+kW1aDK}(@Qh0Siq4|4+H=)3w! z0_6kx$Gmv@UFM1COpY1-+7A!C$@hqw_J;rQ`CfFJCjf083msikgrfKR-+%q|%U}NL z>F@vkAD{m1*Z7>crp*P|VMcj1eI+I+F9IS={*fQ14DMHxL)mw5W3d&%S|WhaA+FDq2QH z{uK|q>C2PT2Wn&1*}zP{cAQ%bwQ+Mo&V?E3onwZM_g%1O{gBw_uL1;y4`*(ZxK8!- zLl-<5PbeBf@D%40|Bu*`-#k4O6P*4#G1T!XyhgqntTvFxe~f=No=UfR51u~OCrd3V z#K8VKo`r<3Bey>WX=3WgReXBHk+JK@G3%oN=o7hiyorDl(-p)=+K>I@6u(Ml zk*+xPnfV%76DT3>YhPb~{Z;d!m=X)~lA_#d8Ll7Hoh&~F^w^r`^2kARmR-A9hoSB{79ny0PC@1x_`u&MRX0@ql` zIXY}x5&_btOg(-!{@gb3bKDy>sWrQ|tc6;u=3{K=IO_`r;;F`P64f})IVuFKkOxqbhu03yurW?Awj7^< zYbZWGv1l+JTA|oKb+MwES|>mFOwk_h(=%GNL18~~FYH0NcI3ZKDmx{00tpI_b^4Xi z3-03GKsJ*TRbbl@(lB_O5W5@(TQ_2k-6lB479361PRK$}+dP_s-b^%7d&rH@Xy(8C z$RJ@E*!rR_&J6!vV25@GFOOrL(mT@`^mXWbbP#c&Cz1T__rL9`m<~<4Ep}|o z@0|p9cuWX7*~-3p)-Gdva;%;38~w(%+Srs{V91|cXhhd+N)t>js=-cjtg!>fUh@)I zkBEA~=n?!48x|i43A<^9k#oPDz@uqh`YJ)y4Q<*0|^`Y_U zmP`Q}1pbO85x9+Ca|&wo*PG8;JfsdOz4L_!le?}K@j z*^Y%z{$qo&oBTL^2cACN$EDeg9XrriXgTq~{?#|KqE6YdLS=v-v()C5Kg|n6UK6eQ z1)b0@c4!z2oD|mHA78P7E!0Jw9!AC-;FD>wS#!{x0DHjf@}P9Iu7u1+%<+FT(% z*l1$pq90t2fNN94_4YmIcufwDwt;15a=S?5TXFMo?l2ZFw(Nvmdp7d2Z)t>%T6L=j z+pPc6ICSG5>sjRWVsm%>`Ng(o_@a(tDSJO1XRh_=cgQwJRIkxFHBZ0&>Z_-J{a?R+`p5szS46*f`o+(`eEOTe`9Gfi`al2m z(_j3>pM^)BzD+!I9>N~^8+9jdkdoO$u`q26fWBmmdG+Bpt=M{`>Txc@`D%l z`d00Xt@2R#PZUJ9!A)ZpI=-$?D?{d%{fYYOKC$1P!|B1rM=k*Sp+diB<#sx46W6!u z+9U)kL*pejRMg-zF*J5-J`*$YO>#)bl@N2&eSBvQ6o1H9WK0{r%|iCa2P6OZ@^I?d zZhW_moq8~_5T0cGPze+>`Yi0itS$bStrqS>d$_Yr>w|_os}9%aWp!(9a*u^^F+KBd zfe^%_gIpG4l!v%`l|H3!ugsh8`?Pj&u$0r-)b%F&m@jVbt$g6H;GZL!SV!M4r~E8^ z_;1@)zVu%G3~v1_32#6bM+U1oeTV408vvu-%P z?ahyACl$Ef(a9N`^a3Qj z`Rra6U!7yNGN~gM{^aBvG9FxzsrKxE)3%(t`x^MbYr5>%mP_(EKJm;cCnmImFCJD;doeOksEif) zgshaOOAvcDt?F!iDh8((jxsy;hWIE~dvGR3(iY(I3M}kmIL^Tf^uzNxO@2!+%j9Qb zLk@7k*2hXqafsHg@lE|r*Wh(rNb^2jz&2@0ISM(v6}SosK&<`v$t1%BeRIwlrEv94 z`fp^c4I*Fdhg>h%w;$i)FtRFmY;20H`o8$|Wuu7&x{z#bSv$nG@GA?OobwCj#Hzl4 zhyJGxkKKw>N#cr(M6{2Xk{`7UR-|sRll|8s5}L+l*$)o zyD!beq%pRB6GO)jP{5IGgo{jGMDPdB*w3LTEBpW*<3>0==tSMc6Kc4(;ua^L57uZ~0|$#|9^tgoZvZ z*Ng2B7x6gb+rr%Y;l`VoqF==dA+fg$m|&dCH((TUh@H-@-e(LCkLqFWL7xVJsyT-P zb@7es<(YbSrq%D5+BWuJ!P=-I{W%3 zx}}$v*IZ;5{Mkoo9XUzCP9&9!oKIbjGY3%G=TqtHE%iy~CzBV+9jLwNsQ-P$T- z>Qk`f5PB1T&xNU76aQkkCC%c`^@zMJ_G6Uxr|NZlflBowcj~sSwx`qC&}^)MBS&Dt ztDCU_CHzM&=|jD;H&587I;3v;c5ItJW2x<-bF6pd6AQ1hP=^-T;Ej&_!qzuj%oY#q z?f9NYfPEyvVIl$OfC8vNlsZC6GMsJ#qEi@jw^JeTr<65vop3`G@H;^!Pi5E+z+VhV ziQr7q$Uw23B=s)~1ACVN1g)!+y;4W@C_aQAJ(Y)i6U6G6w&eqS9!(>I#8QU|z`&E^ zlgLgd8@^ZY1R3m>?d*iO9&b(K%G6FJ2!n#weizIj#3l`Z@D1l8^^u+~PGkU1yE|3B z>hq()_Sm7k!PH744>=@dK92@7D96^)EBQbDI6qyQ3r#k2k!P|ngVpFRX6no6wm~|p z-Sp2zvBdg;QhTNT9`L+}hKYpuYjS3T9_v(OSH=dHeFIaU9v{@^VhC=w#&AI9?$XeJ zqMbd_>n=xiQFIhLR*&t)o}}{m=U?Z73OM%J_lq|JjWOvMVy?6l^ zx@_w)#@a=@BpDcY^VmV@U=)4W+9CtlKgrW4UW7P0Pa=u}=w%cbbRr9|ra)@24?)Gv>zk?dSeKb1+dcklOv*cVqxwpEB>ETC4V*xow zcYf1GKQdd`p(EL4NIvKmVLT1vX%U0|#~;riHE>b6a*e-7AA#?Poy49v8XGOnv_AjT zwz(F8_K6!v^%z23h$fT5BYHdA)CaA7{sFS!)qVQH5%DZy27s*WTAw9e#8_f&3;yU2 z+qt0Hw)-9oYm7dL`ygC7Ec9RH-3`?(HrG$ra^#T@W3Vw_@M>H3P2<{be8r~I7e=NB zEFbo1z2FfR-Hs)hUE%A`n5wj&I$*2lh_?Jfzm8K8d~|-qEAT(HERBhYM{Yq! z%*}QdF~UC(*(Nr{mR!-V)QZdcAh8f!a`GR1E@I~ym&9NxFc!~UeBjSJ%uau7z>NOp zRgq|H5j=TdV?E?bvoV-lGv^!YG>P4Evq|py{+*j97Dhua$<})<%(ci%E;77r|1nP# zPdU$=4-RSD57W2$&Y*m?RcBnVy68;KMXE=vk{pe1^+lBx{psro=5xe*+rduy<_vree!hrUVJUj zg~#^O#Th@(8F{+JrUIh&h*JL0>k~1?v&576YWsgQT^nwWninp^N(nw0LaoPR(-S*C zRjd5viO>Bt`I{&GKe4UpaL^4F|`iRdWSX&CG!hZ~J`yuh8;)@f1d^y){ zkLwR{P`zTe+V9wr?r3f)-<;4*%=9{_vP=xomyfiCQ2ASse|nl#RRFv|<**6H#3Vt0HnFcZ;yLAHiuiAA0LiIZs-h@0tSuRSh5by+V1eyMt75kNfMLL zb&Sg<;XxRp5Xq-OXeW^-@$@i2l8bMZ(QjYaHmjLBC|S@J-~8_dBnHJbe8#kXfC8~Vz~l7VQ%Bly(@WZV1r>FKBX-b_sKn?8NW zh2O-^;KmOj-8%{4%@4E9Q%{)kldbX6RrfqmmOdp{jE^5Lnq@-rd}vGMv-(wtmTUq? z;V-lw@U5=S%_AZ#?PH&b)#W>o<6H8Iy;-?`@D>+2YkU~sr$3C1*quN0op2~zK1LS1 z+F}N!8Cb;ut|!O#xZsyQcUzj^D_>ws2g%;!8F#)FoO^i~|$r^gQ`Ga7z7V9`nxE08$Z>ZU)Sl!{>BHd-N(y zbjOeH6Sl<(T1)NOSRB#lFSZjQV^{ep8yP#fKX`VPJ9{|%AohD97ucRh_7==iH~m-a z9($mxANk|IG-$JjKj*`Hq&vAFwCdC7!gnU$wuQIH58JKFL2;bJ(OO^UymK9VN80%e zK2xCsZpNmO@eWowQz81vgos>aUNpSNHv9qhUPyty;)VErG|1TMC8DqL9tclue3h4A z|I7Vj=_E(`#Z>V$%!y%FLIj~>79d`?lqfstu6LY~cAO3yl`8tEA z@XW{lD(~p{GGAe7LHm@YM_&C)OLiTj*z>jVrd@aD1GwTHFY%|4>Frx`jsM3`6Ys{V&h^@cm)xt5&rKN&D_7{qgW`o=+ZVQ5eD@)}z`&~QV)vfO zjeB9$nm_HMvhh`9>U`s7mnsu-E6b(Fu{rxqEYFjOyTIXTj=|xZ8KY`zdZ&iY?6BL? zp%1nO=;0jQyUa5Q zmUOdmN8R;=X)RA}9o!i)W%Qb)C$LN;ySNm3ALl8JPd<&Z zN9Iq$t1{6$TP2bNN@r-fE}j6R*GwLR9@%CR)`aYPf3f`*GPJNslHSk@zQ5DP))o~M zI*i=m*};vBZ5rJ%%%-XnU&*hDd!b7olXZB?*x^jz z4u7^JhuD)?w%_@AGjh3$F)==gLf?`&>Vw#lPd09Q9A5x$K#;#aUi^A|a$=v1@K|;A zv0|=neJLJSUb=fJD8E&PG58e+>cFB!_NA}RF?_{ddlytQn0U0@qL5f1OW`s>hj`0DUrr+rf7PE#W1GZ!din!YhQiiyc}`iBbv`c0pLgWg`uPv4t93syb3=|kq) z{MbtSe4QkHEdHj)C+~B|EinUrx7z#IV(qcCBaon|T-t0iNVM0~hHS47C}daOXCV^} zg`I8Xdybtx%ErKfZO(h>2)7p?E>yWI;BvP~_~>|iAAaCQ&dKvDEBmYGC)@ZzOtHiG zW#!!bhW2dZ7xI!@9a?i9A6A!%i+R&_>_L{JtG&AmJ5X+{)Ru=Py33z_mqFV;_8U8d zw%7>5=$TxQc-lU(a*<6L%brhir_N9R@>vvVyPW==$??&NeDawbEk=yVc%#y%@d%qT zG2Fv`Z2xr9JaOnf?08}V@098rMe&FzJ@-}2`Y5>e+E!LT8?)1grvISheB-#eB6u_T zCU6E_CGljIn`pA?d!(+M{@(5BK{#!oE*g*wYO$wwMKkp(792 zNgN*9PD;`^p-x*iEKJ0jTZ>-hg@DgmklH^W3eu{isIdYTNUJQ;6_pa{t^@$_2 zJFzVG!HMqpD>%uIXa37Q5mkr zPBMT?&BDWRygo-A?$8<^INz9KgMB9wyzL+Gw!r1H_jzh$>31Lf6cgMnwe8U=!sbX` zja@?f@@MKdAJs;sKQ?6#I^yRkHSKH)mwfjkTJca^0O9dT=SP0=s?6ct{w)UZVq3Z-5B698@^S_7^s8U} zFD`m|n+28s`d|OA+;qw>VuX~~=%?f0DePmOUVE}bkEg$&3+@hEd!}wKEMrZ%xjM5e zdyKqj!)sG(A2Cs$d>&r^KXdoNbV+iZiTP_Y-T(tn7!u1RBP9I*?f?G)k{Gc94T$9| z2!b$!!Fb!Z~+sjRy2+|pQI&_726=!Qo!2fl6N zoTuIEw|tN6^R}z{yVvp5ZJMiFKNxBBHRA-nNzZAe5FcHPFM!wfJk

qq@JK38Ytbq`DFD)4}V`<+U7@k+Bw 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%0D^r5oH~R3T=PFydMl(-N~-v9zQseimw* zQCII_5OvT>YM%R?H5mL988`d0Kg81wFC7G5U489&S$xguy1x=2=#P(NOf|Gub`l(I zVMfoONM~y{GhwPB>z%qIJiSO)T1mZGKQl9*Io&buGfWs9^CaXVb%RP>=#G@Pr6$FO zZuwkhvaZ46)W@3u+cYk3eEdDI0YN_8_NqjKL5lST$@pEOx)&JZ_kB|ZsC8@{DTeHl zW~ecnwvh|WGiM76`EQY#QDC9M%xx`}RsAvw_1&ctqIqbZ^H`Nza2u*}#Lul zp1bYI1KbiwHGQM{%qhe4RdA1nDt&>4=Xw4@=Ut$sb3WLVfN7a} z`>n0Tnfk@_%GWuzH_ci`oE15QYD3Zb*EqLXvYyz;XxVDKoqA^G&!!B1mGu!+V~m0| z7uOqcvjnvWz5e2&bKs$Nc0scjC?UE)cF`sq)H}S(pwKPtZ06}Jo%RM~$6Qd2em*3l zQ4nWNe3yG!qU*ki0)NrxrKZU#7V`kKj|@-nXnsAL?tBRX5f};-=EE%=>74%{> zr?rVYiBar7ow3{#1>m4KgFD|uV(=})jL@~uH+L_JV~5}5W&$9+ zj#r%%cJJ`%+?v=gG$QwZ&NpeT8?vVFWl@H@J~bAbcmhAtF|(k4OifaloK<X$+)`(n4|yMABsnE%9dy9t!!m%YY0Ys2Bcw z;NX2DxTyqCT>y@}0r~LEVV?eoy3 z_fC}KkZKQ?F|GFUJKJN)*~e6xmP$ob**13}Gwd-G;*Y;&PBF6!+fTogL$=>haFoN8 z`Rjx9j}i2u@_$FIi*$=A1j^{vUY@^{vsKx=M6Ku|r+?|~Qf#quxb0hL``JU=4nte7 z<&E@qc#VYQeJ3ah&ZFJ@wU+h&hq5n^hx*(9uW8gsG7^gHTahJ8vX2y@m`W7cDp7>& zJ0nr4R6-F(3sd%F2{X1zW#88^$vzmu*q7gVPg%P6bMN>5{_%$g=Y7uWyq4$dd0yvr zY+SI$7h+GN7DCnGp4c0}o3 zn+h+P-c@n2{ZYm_1o_PPF&=ktFQ;bf+F=;r4kCf8cyseQ=sa`2)_5o8%Wz-c(~lo@ zrld{hZ2g@Xh;@O7MFFn0AKTX)7R#D4a`4S}L8rKm%f(ky6czjGyk4`Z)#gUG3+!ah zqF0tZyTsquG;vqmi67@2lJD(gv7Wvti2yT=-$Zjtlexa&oxn!Q>45pb+lcHx{3$@=3q%TLw?$?sbYqt&fc|=iIUj3ap^NYcQ_TWV{ zk;U1bovt%3Wvi8Nzr!a{jgCfJ4hTK+pjUQy%=yApvMHiyT0XClc<|bmK*gkP`|9Q{ zhKR6(3i?y8lHFfYFj=Q=G+&PbUUhJDsau$>@uF z1LyDhxV-uLo~7w!{0o*hGY#A#T$d>&3W6mO7o$fX4GwzUIk_P6cxM~aS7VsV9uU=t z{$ZBTLBns|SP+K%9JtNBLFwfS-bH;kUsw>xjAczffgW(_sJ@o_G-6PzZSU}N%kQ^# z_%4P7B}_8iiK@NK>Y1$ZvNQXZy9mi?fK#}Z56ZnJeAezafe)bp(2_iDz=0sM?sH)~ z3KqkDrrQ2H`uJI(4Dy=}=hf0}C%-V{RIXto2+o~Q(#D6gC&y#M^?OgED^;)or!`o@ z@0t))qPRL^BXVOnCMs%y4>axj%JT{+UWwDXHh^YNytt5KJAMDCx$MR1YLnJ4)-Ad& z73McM&F8O1hxyM3Eo!L~g>TZm z+>(RH+~+&qvFA4YtO1Er{>YSa$Jh7N%MPFVPCk#=X!)`Bsw6f1C%@dy7X%T{yA8k6Pg*16Yl z6ijxio28P3GJ7M>uo-2~7TpjOJ4~R+N>eYYaF@H8+}3+e2jAwGe|dnvWy^hTMnc@G zOi;cm(z2(m_Nm}j3^?Ei6dR-U4vn?dS>!^_F_m^M78_N(zolYQ!ZISuf1< zH?yp_cWyoQD`)wT0c04n7fKPUmWOPWgaXdk%D~EE@<_?81&B4D+j*W(Y74kd^xXRV z7ty4tM%HZ5Y+Ol_L)~{kWK%`_6I59GJ8r&LsaRJETZm=ZgNnQz5zfOm`Xlp5wT| zz)r9%!T{6F^^L25HjYR;YXuu;076aLbuQY*m9#f!ZhvP0%tR+p04^+q<%zl*ey70a zz1t4mN^W=Exb%eLU{KTkD_UpAsPl9c>B!v8WqsATBMVLGe&-fH%rS9+cJp4sYIt)2 ze=+9}ud!HO{jJEVnaAGxU{7?N<<0n1nTUz3RO}wCO z+(!)+s!z!}r!;aGYLo{0GF=4?&!4%({BD#M2T#m1qg?n-DNXUPpDAf~-)8lh0o?8W z)qi^4nEtC)lFya)%N52WNjE}=_m_Q}luIe;m8vr9JJ*wpm+r3Hw^y7vFDp3k4pgT0 z-XVSOOz0X&;oG{l#*teP2(S4Q@1Fhi^6X+wwRZEq3w^64i$fH&tk@S&%nvT_H=IzX zmw5b@(%>g_NcwkntTU6k14OKBtN8*MznI90U=~j zbX;zlN~Qg6=K`i?!nU0z7X$+54c(r&+64qGop^9iq(o>}8?n<{f@M%%sl`c0KzuG= z;ey@!QZmzp+}CbLSOOITz3T7Y+Q9Aag+5UB=L1speG`SD=YNeD0{ycb6*KEf)6qhc zn%uHlsmKhTRP`oC4a~q1qS@qgY~eL8{PlO`E#lE0DFuyITg8Y1I04+S!WZT>;h=s1 zPG#v+X%6T&#MrLOhb($xrgOU^t!(>%n`DY_2RtWB5l$T)5fW4+|Q_gbWpzaIL!m#FdngcyHU1Min!DrMajXiT9r5P&cjH7$%Q^N_n-+3~{JK z+VmN4M%VeK@k5egX@yGxPj_ovUdqi>1lhJz?s_l^_p(F3`@ql?z|N7mda=DaJ$%&1 z^=A%0NqVc$z8gvsvsvI<))XiJ6%6ng{EvQSwB$`1zOQN1sOzL?9m&x@I($JcaNcYB zo(><9&v6lv6aR_1=5(b>|J&eR{JVtggCx_GiHNgYsngfXQk^esi?MYDH5ON1J6r)* zZ>{Opi@i5(*8KssganT`Se^>C2lt}npw6dmJzpMZ4qX7I# zrkS#bj4y)6?*b>NzvI~y@(2^Ar`&P&n)2sfl>uCEAN2M5Ja5<6?G+8pJ5tX^>^!_1 zqAe>}Zf)JLIPD+c;iKDFzvnB&*K&o(#+D4-#v`m4*FxPS<0a_{<2vO|CZ(MF*WdDM zZu;Hs(NOEh?CE`e{Q8*>xt$F(Cd`^@&s%k7tDed2eQSET=V>+)iVOWR!Kc@?OdrxR z0)Vt2NVc=K_)L)~!)R&xQDK4p+r4AOIu(>s2cloL=~59M0sY>A|{L zryC++XOs6S%f8%#A!TyrLsqh2z1?tqcn4_s{z*XZg@;!<`n^EFN-=pYB-IVeqU) zpx4wfOWJV)O)?s9d=zp+Z^R`+dN&~QZ#YNJ%2)Cj%{iC=zv zug8Awgil6gGsS7*NcQ(}4FN^uELTA@7lc~XbTih@nKm{`bTxxbbGUcuOsjbBj}BSb z^>8evS=uNJOQ`fs5JlWS!MkF!Q!Q4j((LuUUZX6Zy*3^3iaa;mY&a#XZL}K{!%}Pd zj{-Z)9oV`-y)avVn_4+ZEBuI!3c!Df&3)oq!@a$~n*d~#m|Y24W=cAn;DSiY*o zmFW*Yw!YIBb*+Pr+W8hIX?DfulSHqy;g@d*#7~QZenCaEpC#WzeHW81vSfqE1lcEJ zjcR@FxYhD3RzBTXeQ9Z-Tki4Zbzf$277C-I$DrDi*eKM`zVX826pQKcGenB+k(@32 zk}vWH&Wq+gc*$2Af?8(2q4s9swavY|y$_$op8Peh*!NXNe!jvYu#~4CslH^bws2v3 zC@EesJIwYdnkP!6Z3Eqq2!Wrh-|;#g<&mo7e|+IxF-zrWoJY?B|A&W7{J8YX@wi>E z9^`)2H=|nABiAYp>Rm54$Zz3bq`v7_n9cUc-O-WXcn(elPr4-m91}J=E(qGEX=gmy zy34%3{Pw7EE8NMdjC*Y3*xs$skNFbD!pee-T3aoEa{s=Do$6 zloeDx^_GXr?ucMenEl|9v%^+;I7bIm*GremONaT?$p9d+wiXmfa#aMK23J0tFCL#B ztb4T>{G!HZTMF{o-2i-b?Asty{bAFW!*L#$3xczMdao_iVNYobauCg z@>--jv!AZ5zBhghykO*DXYFB_brDW&vSYn{)Zz+k{w^_5)IBz*(tEqh$)u8ub4OYP z$dOXxjcT*P$3En>T0-8SVXx+T1po>Ke3sZ<@-O}6Uj6rDelrE2{nWuJwxh*n!xFDw zn?7Y`skBnNbh%(tR_SrDQ;rS$_rhK=<9tF570Z&2Bo0SpBi?BmdRO(G^92w?`jSL> z7^ABRXhArb79#`qsBt&bi4H_t%%=bl*!+#3RA)v1W8N5Cr7=VpKT&J@~ki}XBb%Kg7AdVHCdbLH{ z%5<7B{Sz1EjDGa^paH$4-KDzp^vfpqbkXF`oWQ3od0fA_dO!&lA_djbsDW0~1)y{2 zh0n96;M8BwpWO6;Ii*$%`@jtzA0geZlm#gm_3hUu>@Zs(rSSYOdSb)kxZ#7x=`SP5 z(NfC&EFTV@4Tgy0GMSJK`&z6x2E5!r_bgz%1&5MQ6FgTkA z@B9r8E*o+Doe@sI`%3%rg|ug?RU~5^&PIW*)Ch8_h|sQ>2DY^UrQ;7Yf`?Ni>Nr)W^7(Lq6 zylb}GdH@23Jv3k#rH$>NPD;0AOua)kMiDfKWDWG#7X}A}T|8=7{#vregVPS`rZRnJ zxw zE$`a|>i|u!C}Tpjgw~1vQ+jZe$z-%Br^f|C;v33KLpascP9`)6r3I^VIK%ZQ9d;vk zKtj2JI7~m;dUp2hIrkLfdX>q%`U@OXDj$fmMl}*%Ya-eN+t73^N*7xwXl8#mISss| z+SFkr#;uMIhH#VPuBgig>x-`I*1Tt~XtSufJlyT7`z(Pda0drBP;7fg=X#+(z`=on zW~ye{SpNX(f~mWXzrkS5O4O}|;O~q|#141~S?$adH2=1J=A3ZgJYhPf=_r;H)9lb- z7;=eFpKRwMrcpQ?_TZX+GljYF^wtv^V`qwRv>8Ww3PmVN>BkeFZx!t~z&lX|L@&0T;OSLu(o1c<5T(k7i^NiL zV1AyQh#j|U;>|5PH7V$U$CA~1Z><;BjDW5-`TpQA3UFI#Apzc=g>e(?Mh61tf9704 zt0Ty_#+i3uxR5qWY&TqS-@8UBs*TEN+{U@BKl)D(Uu)0iJ#_IK&)h_v*UJ942OYq) z-ElFKw}jVJDF6koS9;NDwW$NzsrLLKOncw2do9w|Lt7-u2M)%3(-MJhX~U-xb(&lrh@0L>B&&rwyT@P~d>b4CP zMt=z+KEV51;j-1Kd>E9oRzKON?#niEayur1`NZ;<`%2B4*Mr@J3D~roen&~~4n2Ow z@`(!=<>M?mnYD$t%3(m8Va0{T$r>5YlRr4jjM6TC<5u=~L@e}lu6F`Y4}ebIbjb7N zN`9NM6T5(IWinkh#9(PhvKAF^MPHNVSlh_x1TM45u|e>icIhY<7i6P)W6HE16f;JjC5IC@lQ zyfeGa`0DM_-dE5SY(}BGycsuPu>=gcT28m>(Ud?8sKttLjvIvI@hW2-y~!#qF^PKmoXsb<4= z)?tckTw>^4wfCE!Yx>j_r`_DRBk&k{B?|OX{z-{R%sBJ~l+^6F*SobP_@845fht8b(!Zq0jK&elU82%&NW4m54GLgrEdCebWXflz+AZF`mXg8%qED!%SHY!vvx)z zB*rRsU5fg8Xhk~XvcO^ea@jn|JAiQtJbdd6Zw3dDm+8*xx<`YkSj{2h!(`QS6(xt- zh+DS-vr(S-9LK$Wi+2-zClnE7Xc3VWX3LBGy7`u_CYtBI<4t;GBYUpUZa9V&d1Bd3 zK_Sk#WS*8TnB=)X9NL3D8$&yZQxQM12DvvQUI4R+Ki}F6YHU{o7Ql0BJtMz*YEqtq z7TXyxnCA99Z;av8(^3+m^nvp)b8cPY&EN;qwUoG(6dmIV+C$v2^?R8A&DZX5rI~vU z+u4pTI%-S0S$aRysW$P~>z4_6rNklekGT^jV@LE?ru0EbP(II>VMF_b-oJg~8%YXW zT}6=fu$S*W-hWYP);7-UW&ZPRAikQ`2yHx+5CQO0ge~WH@ABe&#GV5dPXXPfRg#Aj zM36(VBZG_XRjIn_u)s0h5!&=#iuupSXo6zp-sQQPv{m?Ht&n z+?i0#MXnOr{%S2~Sj0n{=KK3LKrsixEh9oL(4=IKrT;?OMJ^G;3 zd%(0plOrU!Erw;^0C=zz?Vx&k&$|1DTBlORl>W@@1oqV;T7vly{#fS6t%39XIZx@- z!Mkj`iq4VkT|;LC_c#byU1=LHe3#R8DgU)X^(_cusU&Y)Ds&}vMVXcq-7e;!cX`Ak zTA_hX|Iuo&P2Klw$G1zofV%wT5c$p|+sI(_Sz(hwrzls=f`tZJ?fuZ)jcS?3o&h$2 z^|g*cfCqY_WnsLGNrVWv89>(UgINnb+OM)(?weKa>`dXJ>Tv$E6g3d-mPhUYrauT3 z;t+W&Bh_4TGvSjmYp#ySSL=Mx2wOAE0h}F|h5Z!<03Yaj0QA2H?IF%JA94e;w0qfm ztJnwL{yJn_+GJ6q!>37R5<-qiSRFmY$X!&2yzcGew>}X0^nrPahBqoQW;OfR2KVfX z@#qabm{y((aLZ^)@j7DzIx7Py$8V}**82Nz}%0LD69E5f{-!3}BwM&^#X7ng6`v18pMhB^OZa3bOE<^k3y91LyNje%p$H zuG$=U3Z03x)4QP4IeEU+KM_&9NE>IGRo2T+2OSmRHk&#;F(K`}v|Szl3vRj2y^lb> z#fm^N8PM9EUA4Am_`+~PPI>HIJ0$3I3OdWuo{I=(u63Aul9MErQ_L&+7!i$U{gXeSai!;$#1)DObSxfZ_o76De-si6;d=7VsIl;P#z}PH4zy{!gmqzxXRR zOKoLxMZ|k?R)(}$46ezGHiL=uA3d)Rzs(6Z1_qY9>Czq;a_|IiH>Zj=GI-3V&9Y`0+mHsnv@|3BbMY5VR=j7I>>CkrX*h-l3Fu-KN`d{5myN z^YHXx5nRP}7Ju*j!oo_kqN8XBW%WJl$Kpy*Et7*X1O#klHh&Dhk$*C)B@aQaI=J_C z@lz=Jz1Foyj6?)1MTSWo$@_3bGgzR%?Bv`Jt7ZSoi%yohq%7?6^3uWxC{=il7+&wQ z1oUiUH~dr=nAc}kmL^wamCFUzc4^ZmlzB7Ef#ep5-iA9dLtsNIcrF_66DVVzv{aen z4fOiiEWF$wgpK>kBERnMG$2_g()`_FmReh4>zn9@^43GD95LzM!u-4$P(!$dR%=6g z45;{+ja2*i!r1d5?PUhgWnpxsh%F{`KQ zd48DJq-)JlID8u1vGV0vs1)UMG=tHTCPbpnR*2W{bvr368`a>vZO#hYRud#B>)Fc? z=A(V&)L(fC)Lj?E!;9+c)kI?RN_4xqJ&Tz^SA*2i<5zkWJdOn>SM+1K3U_;z%zyb%gNKOcxFEb#4qRe&TbFq9LlS1AEFF$GsYL($s?7kX6Yba#G@+Y zm#)n=I)%CfbA{6%N6Sk^$J{Lv|Fwg9^*-pX@n^ai6)2r?r@dg5{X78QOqFOE@o-M0 zyz25HX8rq+zOH%g$*i`)r?UDJgLOUc%zu>xe8EoYWBmj5YZx1Iiq^@Q8Oo8spl08` ze7eEqP+jjJd)T_j?wGno2ZST=MJYRBlSrGn$e9pd+ssWeSEB2(Sycr>L1;mc>sTJH zmoa2qhBU1IkA^+6Z4hsF;-0J_~nw}a=48#GjS)_#;GM^L|CfLEt|7$KAT{K_A z{bs-MZ!0lB_f?(YYJH8B&^!@iMi7ARefx>D33wXQ8Ox zj#l}F=J!)Qj-gR=?DL-joC5p5D9};C<-jXOX)lIa!h=BPciqX4CHvPuAp?D4=FcY{ zC13QWZvoE?%62?bK5RI!=S*n-o}R&`!Ie+SMyQ}ZzenIx%Z|*@g zhafBlJG2BR_$&w4`QR)+;P8rZ$VYjXAmjLSmTrR=5`%Qa?GNh0dM(97ntbk8&AcXa zuuQk*K+{*_8~%G)&wP%CxB$-?92ZPiu)`x!#dDEvC)MBl z+qle)(1R;iK}n+?!{Crmjo!dsvPw7ex@>qIA&{Wz^hY?a&B(@l3UXIFbp|SgZF6mN z4)!PCd)@+dM;ui;v4lLYxOt%}qJ_gHmdvRWa&~fTdQ*PkrS}4lJ zJtKknjqMYhbpB6Wii3Bp*XtgJ5HHDM^@A75!BO4^4)qv*EVSbb?>l$mxGpHzBTR9< zR7Ir3qQ-AI)OHrghg}rBx_t@?6uVLcK_Vs!uawWdW_a;k zY`)R81Ds8W(YdmZO+2+yGyD1G`|g3oP~rslte5yyLzr0vz)o;(>;r0+chwk;JhyHh zUY60Xa1jHAeuSS@uUrr*!2xsqVD1ycW^dlu&2}$4+EceJ3Th<>4YCg>0>U|6Vk*zg z`$yOlV~&k{(#D4?<I?|$RA zc&>m>LC(JA(q`b~rr>6erf_){fg`bJCpC)#4_^;0=a>P^2F;9bXAmMw$2vcTf8$|{ zU9IaEvPi#C@P$%kF7ZHIGQCJ%I3*XlGF1&{0FHzX(C*N1{$AhfeWxSzvu=!&*Xd(`=m!8m7@&qNZ&E7YZZ235!7k2x7c#!hQ z>H~J#`?a{bBW8rq3|fe5|kI%0B$+zCAZ zdCnzXp#4n#^kSBSyXGTl|@B2?-1!*yO9ILEe1T81^9?L-PHFX=zIw zIBmY+y}Ug~Md0Op&WwBxV1V}Q9RVZG!Y3Ri?9KbPjoI9n`SGk$@!_i~z1#kS@7>jx zsL3tC0st6q91{%pn}QpjqYrAy8A!KSkl}yl;2&1T$`1-c2f+lwne#@dr~LM^ci-|+ zZ@Exj_llT#c%YxoHGy?b{Krzk40s?B@bmPyHy%_#&ZxXFngdKF4gj*VaEKnK%PZzh>|&Dclev zhP|vrz3&;4|60v2dr1C;%&T9bTF@z9ML6cK0u`X2;5{105HGrIv2@HfA9tIf-+ zV=fhYPW#3#v>M6u=oZ+$*6ZZO>243Nk>z~CgExLr zW=Vr`!QuD#*4CY20%>Y9E$~(A^A{e~Q;ayqX+Qo}|MvPJxoz9spbbicPD;PkJmA1w44voSAr zZHB=SNM4jhHVj6cuVZK&mN0e@lk%y-kJ>l8Q!{G|)uJ+&soLTz59!DiY641vj_k0d zEkA!ugpJ<^e=}|`{EyS?aE`oOl+HC+buj>n} zj*1U^y!Fqhn=lVh_+?P}x^dJ=a#^j9heX-3tEl)w8knjoPl14=Jgj>&v*?_-n+Cw` zMyD&;M_HC0(`WbF(vd-L{tjhjWxFnqo~>cEk9Ft6p6L0!aADy^1#AK`F+9kNPUj(@ z@RXNSH(2&eXUFJOqEQ;&D{A2Euz7Cl1jP(XD3r+*fVm$)tL~du_O5>5Hd#7yBo)Zx zW~JHawcf8m##tz$eB+F&CI=*9+PFR%zP&QMXdXsl3{v)QTue49;yK zT=E>-1DZxa(`8@+R>dT)&@DY8v2B43C-3cYSPv_XndoMY6J*J)t76FNx&JbG|CdAF*-4KD zSgu!fsLk=CNw*q*OBND^(`Jm<(iX6D1vdDHsL|MIMI*O}XcP~2W}v>s_HuSMA1~UW z=f%hq)Ff=_R?ja@pv2j0((rw$CY{iH5afl8BB}=Y^ndm&c{dP3*b=C@iBOy;ZGz`*#J4pG08^8Cx>BU^AjfZgRpC(oK2U=V%w! z&pxLy^LhGx-zfTo`_4mreL;a!K8_Rt~^}R6jN20h_eL*|4>G}aQHT8jY%#fC; zH%pJss_`udIEnznyP`7tS;2@#pWF_>Y}pV@bLem9@>i!g zUF3BCBu;K+Skj*`2c5w*tKb*fvaDl5LPDxI9XiJ!E9HGa{U^1J)51j1tez7Ti&^A9@Z*CjoDdF9w#}AnsVB;1Ljm|vyHPcetj%f6M zjiAGL{Xi?cDqfuFk}+#M^A@$TofuzrUd8m7^;sa_#D^7E=|70os-5Q^<29J@Ca+qV zD7waXK53<4KM7s)acb8e@6rr;t@z(w%LQlvKFNG|oHa6|poC$xTmI(w{fT=fm=wS9 zpTY;v06qPBIr9K)Mg+;74D{4?T~ECzXH}QX!*=5aE_$t6fh`-b0)2Cuazz&}x_33C zInR!~8MPZf<2}pBCEJs4q-0~e)%*l_FM{uU#V%eXU1^V;!OuL)RLIB`jAJqa*$}FjPSCu%x-q%2I!*B%!s?i~4TwL#UQ6#=XmP;N=RDALAv%6Owq? z*xLv{%6QO0ODSylb7xCIJ%#erUW^xAlvcG#;jTN-ym-mg@tW|dh;+f(xe-nhU<#SHj0%CDAZYR*^W z1*#@nRLZ`VEZ8lE_FJDXdjF|QNbIsKF$xS$sBR!4&!?a~(t>peeQUl5M(wm7?+8Gt z4Akq=0tW(lJ_{9!nb-H52(JQ9d@Oy7lJj@uEC6%Qk0NAV5z%gWkAWt~5)|V1jWimayUmRBw^C=By;VH6neOls_~X)3Ev>UPnFP zM@<{#A*U3^@@yr|yK{c>>VuI>uRXh>+4sqLq^nrt2&Vakqj+7@@tlMB9U#I;SC>d2 zI`OEv40`>zyGmpIx7%)N0$#xy=tWS;umTJEu8zwzpo(V#xR$DGR&M zVmy7&zztlld;6*$8(>wtC-Vzt8P&1>X?(Cl54~ISC$)^A@r$|`wb;h;h!WErR~;y` z&$A>gf0P0lF{tr&2slc@x}S53&T(yUtopNs6bU~KBu?LXullO4B?Cw8HvyyOhc=hN z`-^(Gb0~#%5y?i;{i)fHPJi~c&wYgtzQCzs-<@%k|ow(F~Un=q!CuGCrHU_xnl zbp!IpQA<_wq!+C#toflNB=E-LZuEab0_qhcq!M~a&6xfyqTv-dUXnePo>k2JxxhZR z03ZDA6p!jgfU|A;hHb!X2z{dM5&P$m;d;2@Wv73#~auc zU2p%Chhyg7KI>mab`&FM?@efXZwZ?u-DEOx_nP|g{T6v@@pjn$F86|1iri~?$JRlY z1F;W)m*!MC(jik>zU0KI+9#kYVN zx1`dMUD;D7>H3RE)#lD!U%y9)otkVm9>+wBeU@AC$0wCCLo1jt)itBO9_!LW7O`}R48S9l8deHVc zK0SWs*PMNfRYm0MlrhZ%soEgSBsRFE!|nGYQRp;maL$ zdi7&+(8rRNzYII%FH_u$Sa2<#AF7ehR{WGMXSQiDtszGwFp#=e z>GX}>^lD+Odk9h71=Zb?TaCC4n9LnYWah6F7M1HfBM_ImGU!N8Qcbl$l;g5C;>+;D zEYD3Lm_-#%t%lD!)jFQ%Qg&=OfTjOkh>}onh?SJ`k&IQFY)=1AuV|Sax3H9tyo%lQ0h;N?I^B+`BI=gS za0utR&EEee#ApK`aaSv*O#)*Gq7dXAHlUdJaZj?}ym*OxhZh710`mJ*O0Mhqj?ZQ#Ru~SNEMfw^R&>8i+KSk-|lT!yy2ANyvoi%DrIX@fl=w>lk73` z$|A3T_0iNw3<5|@zX4Jnz;m5tEphU%-rv$`D9pB(y)L<#WP8Nsa#EG*;F+zG2EZ(8 zZ)J+ZW`vP(xd44#TU8&BB?Rf$EzQf*`A@tVM+>g1C;}*V@vqCrvC9ItOYZ`|<*Z*= zJ2>^2>%MH5gmdyk{1k|hKVl=q?Dl@2FA05K`x>nD+vTiluu=LTYY09&(ij1tHtPS#3{4z5(}l2ssW_Dv@grZn?nKU z=i<-Lp;a9YMcH!=;BBbf`j4D(poyNRhsTkb_adn?#2L~JGv7(_Yq^uF5CEB{55bO$ zH1}Lizk_r-%%pE$){|I4(}BDRb=wi4PJjW#<>hAIC+nMN#_frJI<3ie)8EoZe(&y2Dk zldCklPART1x1{LZFNg%b-?%{yFkz`d(x znqawA8dtR!?gkUzO72k0oTU_u*@K=KIR%epqTpoft=XL*J8|!_#fUp-6(|*%Rr=z^ zMk#tj;8_c5$9#bzrU?;LZinlI|M$_=7RSr_Djei@R7frhGR0!B3kaiN3syUlA89#?;1#20@n&#RTuzC2@$@eC(s_j!u zk>#9-h{eb?{n*|p;&Uk%rQ(HSUJckIK$(<6-wUE8<(}4vORW%RI*oG7PFZkbqpZ&) zxAb4L1t6u1($=PcNrZn7(eX5S{iPN2*8FeSw6MU(oPjaqEu0aw8X2?k$rDbv4nB`d4J)LpZuE{S< zuq$8YKel9djY4Xkss-Ur|iGLzn*H*Fvo=Q5rGOX|a;{41MaDzj^ zhO0|M=EVVF*o)JWp!nixd^Xedkg<$`f_o9we6{fn3eE4oNP~}59N7jAGiHA0`KfDp ziHa1hK$$0|2=rv>C#@{`>qA5m{}!r)Ibe~fD~kfF9+6iH5Hn22^Yhm!1yx+^ii8hg z*yI`k<*zqsz2~C~$V}?>zb+#>@1i`40qt>XO-%uSTcHBf=ri3m5EG_4Klv#?$(^B5 zU;e`?Q58^31v7QErD4TB0E3y#?U@YIAlgAfJa>DeiK>dXNbRHFdjuuBVg0KalJ8XY#QW7 z?-F7E$@mG0KplVDQmzwQL;=?}_mt{d@xglrMs=&HuBMk2`b|M;uI?Z$xQwvjw3y`9 z$W$;bU+Y5$eaB0RZVf5@}$4C&)fjSFOXEz%_ z(E4A-rEd)3C%5bd_|2!vG~(^A6~?gR^nI}FEH79Tj~d{q@*czugBakD?rvqo!SWSG9rd(Yx@>#BC=Iyf{H`=j zz>jzHaf>Qw|1HXC5%ZTJ9DkC&fMPum*0c6R!pR!UR1^A2e2CzI1*UQ1nKJ15zu#bCCrX%d>4Uo}Q}N z%dTHPI7flauKun^FDw3shh}vBS036jOKt9_K4IiP$uSqmak%R$dz#{o%8&u+5s@5a z@Y#v#PY)5DZ%`hnARWJgHSJzF=6|I$;{sL!WYnnjjM@-|RfWPG*p^(DJ%q6?dy(Nn zC-H-lHLshC^xj&LvQfTm1DD<56iuuTYRYr^Ma(cn5g2cv2+C;O_L#tH%&KSqaT*M} ztd7Kmbqsz?Egp}Z$tk!{(`0Mu>B*M8Odb5-ngpZfR9D#3%Zi~@1>xkL^4Z0?$*Qul zve^L6saa04Jjz{rHQy8fA?w$zU9`dQC=Za)xKaGJUAFY}-+6h-ovC4var;`fxAMrN z(;Xz@YmwoDKInkABgR()Q2HXO=yiG+AS6&Y$=*DCjB7q943Yp-AZ@ZY z04gcWB~~q6#50w9lL&rl?t^+>02E1fi)@Cmvkvm?4`Zi~SbYEgv-RwI2s2%NS~te9 zJ8E)stni~sSqss?@g=@|unCjJ5ESBy>y7#g|KBAp_v%ie*W7w5Aidq$%ATNn_rD~_ z0)$wr+cEckT0q&n+4JIMc^K7pf5FzxFyA1e_P+5(%5S3K2;Z`-6Hv=G`9@z2-=AC7 zPe+U~Y+I=8l4f>h1fP#>%Z0san0X=BR9^{9_rlo6X44AA(y8nhE`|CSFK7~g)$iux z5}l)4bOnM?LuRA&FM97zj3<5g%t}WVkBe4eu|e}HKLyVA`I=g5!O1H# zYAeo@{>wdT!hl%!UYOa(!_BQ{K6qaY(O7fm+JV(mfmnLGE!1?v{PoG1q80perAc|( zDFyy9nD#K|jd9H=)_TlN?8bp2I5JgSI&VyX;uSgHv}ud*UIcIKuI6d9FjwMYPt+u(Qu?bP>Uu3rJu9Pp=fbxt49ohNKeX#k0m~p9{5k74j zR}$|tG1MQfuNnuS4h2%AoE4LLH4@sq{#q-;D&6M^>}vk`Y`7%gdPc$6<@N({58K{K zE$zu(h!a2;jZM0`!@>Oz?oWUM$=pbRh`1GbQLj%D-ASJ{*Mjn9m_9V1R`=2jiL}__ zzf@E;%^{|lb_la!XswCCbsK0HeI4AyhuN zO2qyHklaXmnXmzpn%Hl;y`e)n*JR8X>o?5e=nE5LMlf}wzis{>Gyq05E3Ih;0n0Ym zH3>|n+E%*&810bk$n9b-hM;YZxL$eUs?kEM_P?ZAya3p}(lTek&Fu2)x&?gA=wXWC zv#u`+;;sPVyotN-%bX{J86OACujYUAet#5_HXU!~XDikC5hb=n$ps(d)>st&_SyGZ zFn3-gcOk&97ykxxf8$~rGWR`&?b4m~)CW>7i1KVHowAD4wJq3%%XPant&2U48LtJ? z3I1QD;|)k|3O+@NJyCL4*|-aoG4wTLxx*O2X`wxkPTl`19q71l%&HSF<-2#lQL+Gu zBUNbUGr<_x5lkKEZ}MIL>p024@W(s0BN`lr{lkoa=JdSH7lASCMliL5Vb(nC|Fv0J zU^?R+`@t|heq%vpb%SJFXzbrXmKrqQY-jHMNtsokED-^!l>D?c?&|00+?|$n3%@e#KI7bYRj|X zRY~!F(wUSYqNG`2tKCZOYkvRzj4`;33+We@Nv)_JgO;Qh6cAJ7AX=^WI4T9wQd8 z6Mkm;$;`Y`{7CM=1ZnB+w;xwS&mc2qK7M7fu79!yIKhlHoD4Sv7M0FJ%hn@`72xk@ z{4M7df>Iv?yeGru3rD;F-17*?hmQSim4ByLt5FQZbhk;+XnKUo?z~(tKc^i~d>cNm zjC$tBXHl^gVlvTus2^uwOJ$=sm(bt-D}D4w3m2*!{IcdgOZxGl$J7C|4k(TVH4|gK zyu_`THw-};N(K|LYdnRiBX)UwJi~K&aqiP{dWSf=C@mMr<2N^93?2OFk3jE`_Zt<> zN1*W4ub|WJD&XQ`R1`TyY9mpI0-)4kYa8)Tap%WydQq312Gwv`#e3Rra-y%I3Y=Se z)`>GTN`AM!2_RG_pw|6lyx4^^Brr&~5FN_e@%R5>vw-ydK>*ywjB6YvxcCy?(N+LZ zBmYOYst+3gj;yPwZI^= zYHAmN0>wCzQukh>@Wp6B$E%pPkU~5!5oZVU!f4#ygwdrB3Ngj?8vSKaZGg~sXVY2B zXk5Ww6OTiLmd=k(SlL0K0rr-|j3B~mFuTIw5}1^{{yT2}p^_TG zU%RqHEAfTJ5sV|7s-ub=Lf4eW!T)?>iAoE8SXm*Gdq8;CXb=iQDpssoPb~TJ9oVG8F zE*noYM)K*%N(@44{7pV&qx=xv2C5vuAqb4xtY5oKFUwDxv;+2kTsT0o#$Xz`eu2~a zSZ10w`E6NqLJ*uO07PH)(Y5`@jJ?_relso#e-k*5FFPONGaTlh0 z@C9sw2{7PzWZ&8N_srEsvOG!a%~*PQZqJ1yd=3QP;W9EvqcmI{9ogP{Ea_!bKKkwI5TM>a7rX`&9dfQO2@^o*II-?Je=(Zr^goSWgn z%xKG8(e`vTo_43B^%47W%%7rsG5QSvyq$LpTAc;21%tU^4CaPTO4o3 z#m!-ud2kyx*?FM)!S>@=RZ&Trqzr`t9VqS9wFh&Jp0?1PlL_J?f~Mar7mh2z$wf=V zv3E(jvsfV*mCi&<{*SPD1B%<}k+=?%qgeZb+IwL39_+m68N#hfp3NdK(GkPr3$T6- z6TK7pPs*l4!9mA3Xh+(sdl_6-THVtCaTNGpFowhjelX82Iz%IWjCWG2`0nq;1*|U) z)P?v&+ry||KrgZ1(gvb60UP8tH>B@xywvpn*n9JMsQ0jMJku1~h*MP7gv#1#XQEOO zQ}!66B$Y(Av5lcZDoT@|+(AD|->v6!`@r`ei*A7c3zPxDiEXz*wS=ZHM8I=p9 ztpN;J!s8f3X-*rMmhk<@%GQe^3s8eig+|ar@zTfwud@fh-8HS?B@{QSN`?3?JT;?_iP3CVKbM{e#d|y zY93Vz@cyGP0d}O8F_knCr@{Z`+xkz?5pf{fY+;_w1b1u;iS3v;8l&tv@Y`4nl;XfdP}o#>SQ1 zq!MsNT^6GT^VjZg2G;G<^D{R7(;h$<%g;}1ZbkuXU;O*9!y5`aruY54lP%O)#Ml4K zBL2qF{Pbb`ebn;*TZ_DghbLV(RK$cv5-u$npO{ErDIkAK72NS+`p-0UFnOl-!=Oh2 zO?)Dv>3b+KeuS4`FLoDl^Fbi$c6xj8=_+^~ifu;{rhcSq!_?Yz>WeF!aOwt7`CkrF zNEp|JYfAzcK^L}EAZ(hKv1734sy`(WdWrHl1Z}Je6Vu@OTM(bU3W&O8^#6o%AWr}H zq1;bv7)W}+q#9gmONm!5NP3FqOh)s0AD`mZz~$;O2rNQhK5#y@xLdb?F9~ME}<$r4_9AK1;ZOt<*iGUw+jX^2qjiRz!jNC1A%$> z&C3@4c+NEcMSQ`V2!D)Q+jbyHzEdvlz15OF`Hz4$;bYg`W^qhQ-hzDr^Qbd$}|5@SnSM8iNt~eGmyH-MX_i==J56()E4jw zYmgrg#7X>5EdT#tZu*k~==|xze$zJ*wC=_N%_o}E{kc>yvFOs08PEtsm$>HqEl?#zGc&h=3`0>>3 zi{}29o^1ajFs!K=|7f>tp{a|xVBGDu?>vvU=qDN^ijb5hA?#;vHO^LmhW7mWv&A8u zRDf440W7eD93QXFiq9{tMCTVUtN?96e9VuMv`7H1kSKw zlgDz<%vs27*MbQlO$e(Zx6~rvDH>r^5-A#qzX_Q=83;Dppy70@>>1qHBjd*2;J{1X zk(z5C`!;A-amS`McK8YtHUiKYvtFk0BQ}w5SW) z>1Ogw&ISvk8)`A1IX<{DwwA#2^6i1&;H7&|0(XUfF~IHJN0U$a{^BtDJtY~pt`D@g z0x-JOBga-Smto=4;n1fW7ya~CbMR>Ztsk}DfK{j2ZFpD0IWH7#mcS|bwZ9Ccf}Wy> zniogjNAIf5!ZG`(ZEf*GtIv$HkLd`&ye}a^;ARfnu45KR57~)`H#11Q*ejcR8-b1f zQX;VMdq$9x!-NhE4e=AEXYSe7fgdP40*=`1T~&;PqA*8fQu@oC0M9cv{d6#qxWc^! zj8B?7gkecY&;&4la{?#97MhP+9M}YiAQUgdc|j<{LmNjgx^Zyk<|_raBhkYL0|!f@ zc_gu@Qd~m1`Sig}^9%Mb`vtmx6hIaKdj0FjX)jOsuMz~W&#r7Cd~Dub)w2)i)kQ46 zI%q+!6alhYK;mC4Wl7{twdXet%=7mOYaY@$EI>SbN#sNH=)=Z>i>3*FjMP1!_BH0u z8INOHg1yi9LDHMD&Q^VXaf%vHN>&9j)W5)P3qO4Z;d=V^O2?C7BIz=t{V&5Fd-?58 z1Y>c#CwOkp%lHyl9ylcCZE(JSMT3tX(um34{$$zirS~Nqtj?~yazE$8u?maVUc2q9 zLhr33I5|0)6&DwSmz0Xmxj|6y+^;@~fzDlGv2*`;m6FSy{_+H3SE9<(H-Y(zgbj^C zd9fz3x~}6h*AT!;Sdv1&?Vp!jDS)J2#4TOSE+P1jS4llt;lT01zx(Y*fiEu;&s=b& zxR`=tY#5b*xq~{@kc285$p)%|UI{On8RSoBh_ zr_5dI{K+GC<*S@mNmmY?YWT2+i^Bacc4zoEyBp1oao{EJgG!p{Cn(clTX20~z?)~6 zLs*`?lIX>LkBmXRL->8DLs;%FtlV|;ep<}u?q**j?Y68mH$HcCu z`~?ht>R{5j@?%`lJ93cfs{1&VPa8)0SL%%RL8}oUj-EX@e`~x^P^RAs8U`1El>hK6 z-lWMo43=Z`t4m}?!}G@xh&Tia*MVFJow$<0Qc@4P>d#kNE&yA`kQ$J3*k^Nl*?mv% zy@yRYBkI1dX`?){enDRiNWZX4MV%ZG(eLqh$$r2X*_RBY&sxYASboR33IHwmA)D6KS(jr+)Fu$ zBq31pJ8=}f+4!a;gGB4e%7@@#uJ5a{0VSJ@xJ`@6v;T@zlRF9s40XHcCaNLz|Vja886^i)aQb*VG8D!l1a-+T65*i3W`&6kp*)!C1HJw@AK|~ zfr0ZFOu?5g;c8v=9j_(Ob+)2W%jWG#b|v(?gNv{1&F@xr_7(y)t2_KiPaqw~{Ce|c z3{Sm&qGqh5*>43k^LU{Djz<@>D9~{em;B+l&kQ1m0?4WJ2B~a60Qv`R|M;MJ1H50P z=;p$yS=Oc0OUn!vLJQu{ZqUq9Qyvj@Lc*g#yA05^k_FN#U2N0W%1Q%zxpaatC+9>- zwj$e81n>jMAz{gNaW1isXvDIPw6|FqYVMKXB^SZ{iPpotpMdZ!4K9@I+DRr$rUy@}=LY*=D4|}aUEB=G>cK_hp%uTE z)oX~-wwj00h*D0Glm++1zZRHDrTdE_JkZ5){8wJw&x!U&DLB=~$0zVW=HqAtcF$l5 zyEqCN`!-;^np@<4d~RMm6pV)lfMJ_oZZ@j{?a1IEuLbcN-U5YF>ld{lkkl;LkpGdI z`Jm?i0jZfYh`RtqTKzX;D76_}wbSnZ;;Y_$Fwu|6pi_r~1!_sGX_5fsaN^?PfWyH& zU%AE^P!KqH3*qyIC%YX|;N?G7VBl<+;~6ov&BdIxqO-%(|F^x(fA-e}ILiI6Yo`}94$`5RxrMXA_yG|@Ug3B0YsJG>pZA@`mr zC0OO08xsGcHKPSTtj|JEJcs>e54kQB`I8Y?C#S3;kAV|_p`$?^2Q5eMDqaJZ7Z3@& zUDnk&r2{tJ>{#hy(m(rzx1{rT$@e{r*4lztqsWh`8o=03)U}WTTT@I1v0K=ED}Z0z zVE>lijqfqj-$<@l0OM6K4|rX`y3k@rKv7J_sR!VI*z}dG=6j0b@V!QCKUJUp&uii( z;Fa#{67M>K7dJTIC7>qg)2z~c+ke+wI1Yrt|AFlwvZ{o0L-yD(mk0IP&oqK5sh;HmQ zc|-9|7SMKUOo*36oBmu}@!%)!3sHJO2U3VO6X5asDt9=+W4YNOjrNa18lY7C1pNP8 z_J6a>-ffyVJ5bPS%A%uLCZ411_rJ#{?efZHkz5o`L?_=u4iE&=P`pyqk7WQPIV1)( zof?Xpv2Fhl>>z~{tqhm>Eq|1SCc<6#3G-;XjEeS~vXdme@mos>m3vR0kM}v?Z+HQb zIGyijMJm*{_s{7}#U>^XYnZ3D0-u!zT1RPOY_)(}fi$`Ji@elLfApLsiukc5`i7qQ zim$CrpN8r~|9d|K6`5u=1H3J+u?+;6bXP>uuzkbz{1>)?==$$#AOO#@Dpth^Me-~C z($KKM9nZBu69dd`irLG`n9TqngYxo%dBEatyeG({_>w^>_yr?M0Y=~9UI^6+vq8%> zz4rNNCYQbe+hT3|Z)0=(M!SznlGsGu@7jXo1L9e3yzW12>4#cLSt1(V#=;^ZMHV}% z{su3H@&a%7@7TiMf->oUV~<0TL*gR}&XDe7&WEH?q0kbK_OoDZFPXOaU|$)V z+F7q!%0;O^rxdjk$N@X}&yEM~s|zc>m@hncDDHIqo9&dh<4Gg^&MN}E;Tr~J0vOKs zthnb>{m;fgmS~lWn~w+p9LDEi*e6F@mtIv0g}GbEk-7bIaIOb z6#6p&&-^JCQ2R@w|5IKOIe}nKx_3;w1gl~QqO8HhW%JuWh=CBmaL*Ws!^RUKsAum! zfTHnx+}R`6hJY4fY;woY`i}w0e{d0h6Ak`k9JWyg$zsh;lhU1tvqi(*ul6LUxIPX? z_l<2vqEnh}sbP;0Oc+P%byNi7WFef;pzSkj{>14tDePZr0QxF z?U)wGns|4G9WV1bgW}8J`Qj*9nBOusv~~24ImMz;D{eeD!36Yvtqt&wp7Sqpz`qpB z*}mkOobxaAdH)gzMm@xh`8jxSObegt8?aQ8iBFn+yu@(Vyaoa_%w-*5&SF8s?L+D? zXo@5Q9M2sjoJTatXWt71FrtdA08gLS91HV#VHYLr%EzO>Qb&`v}mKvS&4K@oP5906Lzm$bJ6e~ftF3;zWT{J$6I zi-5r{0|N}5!ys4JZ3db8JfjPAwa_E8M;~+P8?v3C+z*^!RsbWX*`w^i-`qp~5+ z!A(if!VR8z4QRCaH?Bh;a{!a1i5`|OukwD@pNoF8{xSN6AWNsc3l-pakPK@KiMZ;P z-I+^-Pz5A09urz9(ROGq;r}CO1YWT8{(Tuj94bTPvU*rE7W58LoUyRbEf&{dpXKcC zBCb`S+eq`-)_Oo_n1g$Q`~Immpbfq~eumX4t(7rLW=;OaeR~8pSK(+|%{4g(faJ|@ zZqX9M+|RTYx~4Fus&JsNKg#Zvdj1RGlN37YZ{)zu9rgNuv}T7OwEn`6&-WjeumF<& ze@@~TkMrjAd;zZp#K-2*!5tX5&>Z@+`5&E-IEPaJqpr@>ec($TwZ9?v;UM2{3{Nn) zm2u>=ml6E2G+S@i|FhBqP?QOn#kGa5JqQ2eZgEbwe^xX8RBGgg>gX}QmDv7H&*$pa zK)e4?V*4NAgy;_P5^afn&l?%xuERLDH5{p7Wg!L@}r$1aeD z^pTLwaQiu%p}Lo!fVtYS@NJvRF!1mQFwPwES?_E?9Zgr+V1c42wG|5PRDaIs z|INYw*u=V}Axbq>faX?nx=}X9j%Azv5D5QO zLWb89D%Kxn6FZM#04MpU(zM^SCWY_wmoI76=(=*+=vJoP?IgDRfbo?;ZnXaG1xCSW zNfi+62AX}%K#EaIs*G2&92gihp(VZNOVcCK!8idFeSDzt2$2XL?wCzHJC%J_C4>ap zMvQ_7>!zNuMgJB=L*DdbojLm!fy$J{mtyf4Wc7JMQeO574qQ&a*_KRf9t zPS`9wzo4Km!JcOI<)(mwDPA6xc4aKr-kyUYtB+4`-+54bEK^}>gCxgvUwu{|8ax9~ zn`>W1MS}svI!sqfZBJ{qPE-)F6 z^Y>SOaAa^lUW^H5&A4BaZ!ao2g|x0O=SSrij7eC3eQxLSTCEO>HXK0CP|fq6llrd+FVEwlCjfSzZ{Z5a6A0rG0HZOyvAPTpOHysD{H)8XGIt9a z;(|UbrFXBV$2oKQSY7b8zF_&U#i!p zEn@A3O}FJqor7b74=VU1c>#FUA;VK&3a4J0<$F>g+}DboK(Rr!=3-3F%`CR$N`rD& z!JP$q>)+;bP(AOp0NR*#)_(_@Z~vuWM$}6Pg)@+F?tUMwx}OE!a!B*k^_O#wm>)Dq==+y~Faqo0VkdGdO5)>*}JvV12utr(HaH+FXe0dN% zpe}BTI9QgzjvKQM{2t4hcVTV&+dxJ~&#mqn9NWF$Ff`+%dQiJ5+N$W*;ic}}H630% zr8Gi%JSVq@`rlDxre_h;0IQ}UL3GqC&9b}?NXddvX<)q4uqwZk7 z78Q)pS_dHHw{sBkQ;;QwzwlCnhR;Cso6Wz^5*K17P8i>ViqYyS;J1Ps&na84p!9{Q zbHAx^JzajBT>p4EmF9ZP8tQKa4^3&+ik@HqANKqL5juqkXkI!)G3D{sU0v9b6V(djUSVo3?OSOGBfWdA;>i8J**(jtBRw5p zXq_2npSl^g851%k?q9YO(lWarYZ(MesO}|~9TK@z1`OfM%0o-!S-C6BY&?ITa%N^h zsMaoxf!4bSRNZ!5uP1Ak$ta}qNsT~w{bN9mx;Ui%$CTE;h4Uxft@lzAWac zmfdGmV(S(L$ZTuBli3`^#P&UJiuCJx7fA)ZF}nM_R=urpw))bEFG<#z4Oa~b#a^;{ zVt2vUu`8g6QZ8Y=cN-F)5XqOOG!o8C1GsQT2aa`zOnR%tp#VM@ z3w^Nb-+u7A|J5d_S}wA5STIUYj?}qsx>I?)XTU2io`1U2!PjxBEu z2@2v`GJWXU83Vcx=LD5Z8s7J4q&NV08O3#wOHKK)OZ`K1WX>O;hnG(!mmK1f4=5~o z(q;vl+`ZK>v_tqC&BXc~`bpoKDO|32bpkP@wo>b^aos&mYPFP>QrDFu;KgD~?C1xj zT9D@@M?C&-|^M`{NRp27tbIA?%WK8y}Eu)Rt3s?8k2-+sf<)SAEWC zHN}oe%ROej16b!rL(To46r5U1GKkZI#ndX?Z0<(0gtsgx=hjnHXWkm2X`J=k9wBx1NSON08 zoD!-k_s39rRXn$ZqcwU5GW12^6N#1#d6uv@>!Jujk91WJqTbLu%lWe^>{=iLaeW!! zWzZ}nXxEfckVBe z`m7F7mU(N=p!)|ve1r2UUk8vN>ZKcZE!h`vgi7pP}&^a#kR`vE!RatZ4>l&t$wFBF!ekz0Av=S`$}SE+PyZGk!7152rVE-^X}R} zbuSYcG{*C6izE|gz_={cq6pL*wk6wp6q2B0|5k#;vcZrTRFQA$mqv}*Cb#I2t6e)N zAuqg2a@GBgzM_wrR~q(>nKQmlxyWW^Y(e5b&TO^9tJOs4mR|5pl&?CT5J+{wGoZW& z!JK7IyKb4)f+Q&bT+8@lzWL_7--k79p5mfmP4;OH?&n2B_)T{^VxCacDX4U2RbjknY4b-)GjkC+mbh7=nRm(iuPD@e%oQp6NccLUTRbWZtmY;VP$;FwwT{TSZJT-reN}WLOrgxyRIs>O%!RgyWs-# z`I$z1#Q1C5!s!`;R_V0W;LG^Hw|sXi;yzc!Yo?QkzEe;AnyxotvO~MSa*Uv%V|8k_`M{8UDO0= zEFchMulZ=(X2o;j6Dy+d9jcEeum+kq23mw16s9VIiCNEys=E`G_0Zlebw3w@K)pGH zo}q(HQK6tR?({0Q>=;3Hy|^tul%22%1WE*r3^ob0lP|W=7Ml_)737nfW_oGCdCv-j z*_h9U5na#tnH8xI9`FnLwfIv9s=@uEh{yonbmzNs$oTw)0YC)$?*!Qtg>^{pi^GQ871s0oY0 z@usdNRB-Ru5{mAM6?{Op-5?O!m0m(qM17G|)bjN*Z@n%bDs$)K{&?IVUGgIBP}C-+ zixfP0CKyWhL}&b4b$(^da_YG#Fg@$Jh>#FO0up8_ zTxhJ@CkjOofYM%+arkG|joaU|Q%_gjK*wf32X}y^KAs%;w!?bMmQc}y8()p?7Bg%- zWiB*rci*xx*BLwB?_QWW6OLEEw?F>6{JtXfme;Q&P}J)alQ2d4^agCfI+9Ks2yP4Y}S#=Vu@J5on@T{=ee@d`-_8bFMIV zxGuwzuAmZw>RbCz_8PF_ZfLj9TX#?hmaCbBvg@0Wq~oAqJbkTA8RW? zrY0XUHFZBWHS89K`AlE&0ir|=HS25*z{$_}xLx#)L#I6Bm-pnz0ZHwY#&3=rkV;BZI_`&=i&f5;)12FO$t@D_J2VB2tGtDWk3)&NO{<%I}FU3l*VTTX=^I@LExNXGId?tVOFXk4_TsW9dQ_LtUU}wf1C@ zy7kq1XBbUj9prTVXf+AOcm-4@>+9F8$OMg*-QSeGf{OZeSJic;&xH3h;3k?e?%A46 z{m&uZO14!1m?Bum`Wl2l74s7uc($|SIN*zwP6}8og{_(6^UxNx6>H&Jo*!LGpPU&} z)o(p7GR^nOZG!^Vg*@6p4h0mMc%i^z34JFT{%%hy#2-o3oNT+IYK%`vpy|awl+PN| zIovni0CXc?FG?QWVT%TZU$QM)iq#BX0;rLl3Y=YN?eZ!W1%*N6#8ad9(DVv(1wf*s zf8jZErR>cL0?Q)fhHv>F*G3B#pSp4F6PRR6@><1OB&>CJrbA1w90yl0kQ34fZLt!H%4ce~CikoVb(*9pYp=l0v zU{DRVbo@$#SauGKEj;L_zo&c6R|IWrIHpRsp7h>GDA3SC!5YBGx!NQ~nNhooG;bJA zc(^@S)KnBVbBQVbl=fMmL8nj$Wz83_7uT93UsZtDCBBvLW^?03*pYq5&+huWYAydI ztTouO(XzH>&>Bm2^=;B)y8Dd3NNx`qn>2Yj7R)1B7wWUYd7~BeE{rdY^-WhREg@YV zx0Y|ITj8yB1ij}X2^bt;_l9b9S?**{6)S{r7BGJN`yhmWq>e3U&?;G*WmLYzga#EO zEg6lVUfNsUmtz4VK34KURF@R*RkgO+BBaM41wf$UF;%VxQbZ3G<)O+^RKCZ0&N5X;@VbF-o2yFdbP?m-!1B{O z(5DFU;*fbI{W3K>J=DjvN-$C62b$P+8h{FP@NAXY^z<|xr)QY|t|oLdQmb@>Jw&GO z1LHi1gKEFd@P6i{EipP{7!Myn762=x`LCqdB<5*gFM; zwTD(wYzgu>ZoVO7ydo7SBZM^v#lq^L=7^n4wgoccv zL-^vFj<{a6Tzf)=t#;?qLtQdi^mSpR$>(09XWW4zFckKkb^?jgD>v@Ct}BP_v_SES zM7(+O3~)0DK#*?^S{Og}li`*a$CSoaOmdItq3!KYuJ-bky^HJRdr3Qi<7g;Q!wgbh z6usZeLyQ-iN@PKevVdK*{IDoiD8Qii>X13QE@{h1{^x`^+XE#@IQ@ zs;2HPU4(XI!c3=hEui#pCO_jRUnGNqkuZx|R+Ycg2+qp|IrjqCU-8sfZc5?A z%d1vAA5Bia$laH+qNZynJ+Q(IAD_{XWjQzDrnmoW6JEXUB$y#X;n}Y`0A52dlzHO` z4_XHnMV;z(v1iEI;1dKC;z+|W>}HMLy|$L+E}hA+|%C9b#t2n^@_a|``%Jhc@<%Q|&Ar#6RRgq+GN zqgN}NB>K6%czC7%^5~||g*r^EBu+6rI~ZJ>tQo?uRoKUmA&bQ8URKA=#`ZWUVAKwJ z6+n4Xl`-Bv9k>GG5%3g9`zvTv*25A70cgy{8z@z_TLimAwr#zyq54+fQb~uWo=4?{ zGC(SYdc_3LzIRI7hb2ROH?-W9+1zG5`?Rk$7&*-NNHn(m9QrOtCg2T z;?;iXvMA?!l2xGx(-=ge@y#|OM*Lx|xRI$|z9&vjj`gC5cfny7>o70D13P^@+ca>q zGsg(>FN)NwgL$NypOl{2!=(?YQp;i`3x4F<{O!MA02m}Hwe&8Wx>U@C8?MUrcBqsw z)tgH?9f3p*p1xOnkB5iH3vR?&<*sFi!;u)^JzuM#DKLSITH1Z(a6Ps@3Z!*VdE(v? z6P8Ra8oc_OTSb0u&y&a=o>2B%6T>=)A^Y|I`-9~bjp$qs9Zo7O$VG`8Ll|8}A9vF9 zUMpygfVoeZ$H(rG0>fI!xO z58FM%&5&{6>E2Ox=k0Sqs=^f5=?ikS!gSjwKkX|L$-RTnkUa5q2Zo@qHl{#ZY;9Pp z4~U3Cd}{(*!ENs4m{|tu%xR%ov(H;xfp)k~L`RCV+2P}BDoCo(J2ar``DZ>W3ATNw zS>TgibDdIT@tz$7&e*RabVbd=%U)YCLDsPvI!rWvI4N0Or@0BXacxwxKb#7#kjBN! zy*2rE{h5_-gCn3}p4Q1T%ih(b7}~d2?8DYG&Sb^bf|Ao?HY0A4JUIoXoAdG0KC8Dm zK}D}F-tKu%tXmocMpwLqrkV&0BA#v#+U$=I<>0RD7_I4OhUD~%FGquu*FDDTn*x13 zgwYqtF{GX+ya7kSK^0)`{uMr2v&?vR`U;EpIYHim9u7|@y_W=dZ{GPf3GUOhL5)jN zU|-v>Fxs@drWWe5n+V_Gvukv6c+Wq)4kO-v#c%XhI zZgTh}z3s)7Uh(Wxa9-zaz$rRy`m2Q$T0wBOTK6={b~Sy)K;4CrTwdz_j*yne>L?Bk3-=2cfokhP z(6N?t2)r$2v^oSr$v*&6LF+B->2+Ms`IK)w4PEnfEOZY=*uz0x+E)@;g1An|d-$`WHx%v-X0=+I(Ygm8C8_l_)PwQ_wN^P;gB8*J29bN?KxB%!%6e_V$Ar zp|61tIRlXir;q#<(Mf@A7t-1uvgW->-bAH=I8v#Zv73)D@u|ZKZlJ)s)cxgHO{3%2 z4Yap-V7!edhFW`oXQB}`mkBVgVO|7dp0DTAo(P}V*WnXy` zy&1Z%KLr$~jkh#xgHs<{CLDy(HN9hRmi59kjnidYd~2LVOpDs;K_E2{2H@ zlNX$qrhY?>ZAE2*7J6W4s6NzkQ$-X4D{GOdW)~1RRd)aDg_o>qbR_em2ey7+BJnY) zJZe2GMmEvUS$Lf;XLog@kA2E5@Zx){%C2eT^P9CKzmY(d6!A@62@{|RA%vmTZK#HZ z(Q9t(5D6FrCaQU0@6>xRmcbNc=b)Zs#!)LZ#OKHH%TVd4Tv16CqY>4(gL;ZIHmbyp( zx&cN%GHdh86-`&$vp}5o!M_ge8bpd-b+wg$3aVhx8!~?V6`-28_Y6uF4oYf92tR{z z5+|_r2U78<ZBc%$?ZjVAZQ{oU-UgUxb0|_9KTh}6Nd^za0Lj+}2Md^<%YHD_62$YoAkZ$5^ z2yn|AJjJu&ps|I!2ESyWU#``-$W!#c0YwopOIZd2}Y~eBxKr~HgM`?iR*Ch~n9fV4e z>edeLNfhuXDYL+DI)P$<)2KAJ<=E?UTgkpZ)vM80_&Glzl*xPn+TF{3L29Y?Y3B*4 zrIcd!#v+(e7Ol(UlUmHeM%OAs(~-+#AFCdjbuo({nFcU=Dqr?RU{N-MDaiP$)G!?P z{zPJv)6+m)zU81>kXONNE6TaE21^sKl-HE3v^`+M<mx*OI-6{@g_ojko7#PJC&nt> z0~;`ZY9+t{Ke3F03!*~%Eck7oU2VM60Z(gRb{f)^r&UE`g4?NA7F5tsrRzkSLK5MNe}g!jEg-*paV z@ZPstIvLQq&>GH-EIf3~Tl|iAr1ay(Fmj}MRk%}QP2XdxXHJ1rfb#A(7 zz#nfD!=1(VI3{Rd^1bOa6FQi0eNOv{b1g(oVr}kt8MrdC$wCv1-cu9DeJY2-baVF0 z1@>>&fZI~p7H29XWK?RNVp~V`9FP`#w)xwM_774Wubtd4_HBNa*}5;KA$o@_zN^}9 z5Kc{*8ngjq$5m2^em1p%=T*iv2TF6>!Bk6#7_w%~pb3e^#EHaIeOwLRg8RNaExpb` zw?aMC%X)ICXqBJ3{0z71(I-(-H8zME#;dRCb}`Nx%y^CSxKb$Q zypw~w8jPr&j9vvm$<7_((hoPCzB|(u2%<pGkf1fL+1;B;sJ+4+T6K!= z_r}g_$4V>S0`E7KV{Y96`kIXxwRQHO{PG%ePI%|a9Ve!1((9HEe5&5AW!(k3=ZlYs zpvsyvdX;#{Tu%xRB{C;q?%Zww!Q#ev$$`*m^YIc;8+Y*qyqkTZ(@$efhM}fz1O(GJ z$}Oj2>{&GW=Zaa0@|=?~H6NW`Fe?YMl=WBDgUfOWw4L^Pa8J_1m@`&EMzMlEMrnHLiP($vk+lH^)4SfC+4@+Kf_w4wZ z{Rtl_IBpT7#tNuwCO^@{jDWdW69>CN*8kBYaq5@~w9u{-!IU`Z5grH6BRFyVa(eybntsyk;g zAcG#)*E=gqp^C3dxn!!oL%L~34zWK<=u`o0_MzWiAPFPa_kF->Mn&l zrWB$PjbDTMN4dLP>&O$1s8{0@v+k%mve~C3yWy1{QLnav=uvCgdL5v+<{b1VI&B2%h^|ue(y)&0e%QI+W|@7FXw z$-hhIa_XjqI}ih2jD403-4hGbV#;A|)R=0x^`FzNp480QTQ3)P$wug-x3?<+3g`h+>RbWjPN(e~8I5%|UYBJqbSD-q#GmE8yX~9UI3Wufd74QS-^y!l8!#D= z?1Cu*&piY6t?5dKm+}$7Bkh?ZEB4x+cWNOX0{|xJeHf2asprVoGqPbO5JD&i9crwh z=G5trJd(F@H?|$vpF>iAsBPH8zp{Q)YGL#l*WJ~YabKT4-IN|*RZfyPB4L=*#?Q0I z_UvE-l?bMIX?{x zdv+VCOOO^=s>VAU>wnLq(5*MzVo*|nBH5Ur?!||@!@5sW-f&jvwX&8Ds)BTg&?l<0 zTQ6=kjMu-ciCc`4uKWBt(hw)Jtwy7Fv{ud}w%6qOgG!Ewo9*k3mS1QIO%wQRr&Ts_ z>p}l3OAEUOv4XTjb61PV*H$8rCIy{ycOVEpZX4FFfZsbLR*1bH*Gb?zU>DN4pTRS8 zB<(QmQB|bW)6SK8#AF4&aq+f293KuEYK0jeXU2LG9LPOb&z4i%pI@PXzS}n`NV&6Suc%CXl>YK7jDzbg@8>4}ucaUM9j-ij{9OK)wMj(r zS|`I(*Y;4RcO>tIzu7Dnkhy{C;ZbBkv%^S#Q4uAbN|K459&Xne-6-?;(X)rR=e(^T zq!PGV)ET~4Bg(jX?zCgsr(M5-P8BNLRgQ^KE=^UdFxf##($-5aa3g$Z>^DvGVrsZ} z3!MnHUTyq~`O<(#UzTu*QI-mB(Y{(1%YE7puH>nhYJU1%a{Cj*3ntV@fqMMWNg+r> zG^$^x%mH@7bUzP~QjF5V+AG}a?J?Cx?KEQ{JV1-fnbcyT^3PkZ737;Kpf@CCl9nH; zLe?Kw1W=qVp}5lk#p~~nhx1ZvUxjnIPv^bbc+STP<#u=1-dlbrQ`cKwS>0H7A(Yck zw6HM1XV)cqS*+)hvn{SLF83@hicS|{56kw7?r?ju zfofV(;1JLRUHwaOe`J4 zao=B}t?{j0!jtQ&q1b3glhEnoN7T%tB~)_kLcGJJQSRq9@1k^Upn4~YY=VomDRFSS z%T1gLEQ;*y#+G*8yeFBHOL4-vtEp;e(2I>Y_DjbL$XlD2k136~C}gz?ddVl`Mv{nDote=;E(uq*c;n&A@5{kXcvjzg|5< zkf2yDk&uB)Z5B();^vku137p7RX(*46B{C=g1(qCUf_N7GTXhlR55v#@+Z*-ErrP}|P9=iU1T;_*L zeZ!UX5@TILutv*%uxZd#fz0aOk~E9YB4t)8QldMjKOtAILJfHeBlVKXE0cPsjahXv z;#il1SCoy-s-MT+x>WS?X<|)J-0p9>l3eauZvwW8WuJwWGi&>|=tk<_)tTtkuMEGU zAD)rnwONm-sMBn{rv%aqJ}Ri`?$x_-)?)49(J@A^s=^ETq>J@NT7DivSbDA5%(^4N zch*$_s9{$l`l}TSA%6XIU=g+;w}uYL*X!>2_Lkk>%B@-cp~5TU;I+ zKfaeKenvWx)uMiF_j;;nq62r_v;76R6uO_M=eK4JzwTH2C&ZS3VGqCyBq^<@zRucG z8@c?_!PfGxl0D((!M$yYc~bifi+A-^9=(~5>f5t4r||8~+WQY0cm8ryR{DT5^)n@V zXmxrfleV0f+GTYpa0&e2yp!6rPs+XS5b|MW5Z_L?#!zyKG^&dS{mJ3&s}^C?!u*cg}WU8 ztM6*3y^gA@tK01*p%Zd@Efu%ne7OL2?U9v9F9jY_rk=V|3+2%6)?TKT#62+=Tg_ml zCGj+4OBeAW#J3$E^)B0MMQAvyC~TkYx@7VhuMO{dw6a0{@MjS@?dFJ+n^$qkMkBh( z4^-YJ-+i#HbL$r4t@Lo;nB`BUqmwFi4lC6!_u(DJ`(G`(_e+j;b7lgOzv>{~sy>JI z?a^*I=Ba!B*Ky*SDk|5BGqj3tpyn{^@iF4MfOkL!-% z_3`@)DoVd81H0GId!$~}MlVzEF>3#re7<7Rw@AyFXB3~Q@M{{wp(8_eNN*-u`QV!MN%2Wl9B{z#59n;M_XvOZ z&UuB(3hr?;3gC#I%n#^43|Y?HdQM&5;RyeA)Ts^BZjR&}#RBbSkw(tDM+lp8M0%z` z=hQ7@{E{;je7p}G>N7J=d(SL6zDo@&S3OYFdoJgqeTtr}MZEX5ZQ2?YkrKev`$4*I z%NR{ysWWa~kwiajHN7!vFxrzYL2J`TzF6;N_o_-{oh$y4xt)bare+4Z*O89tt;lC6 z_iW-AI{3NR|Nd=3?a~d>F8h|imhvAOOo9ylg}ktbVQmKqeF0d~bo0>m4rh1mTv4yB zsWSH|O9SlIew20nfUIYVW^=q<#-CC_c}7P;@q1e+M!iip2K2A*y((W z{L>cjbRU_$r;14=(NdL0+0j$Wiq=ubn;%<7XJT%LzU%va9D<2KDokyRut-em_jT9f zkK^9_RyO9s+lGf13`n8fV~q#;j-9o%F~~k5U*R@!RSIWyJQ;obKCURoEu&YxcWgty z1jSzQni~hqRm^5ExBSE2hSdK1F5lwgI`uuC9$3LcCcG`!9;uPKfqG(jJ2X8rznUY2 zm%0@3=m?kWRm2H`Lpgr5cx0zS&t5&EF}J%!V;)>z)|(#w3lYcCJdVXSC)*WG3R)1Y zsjpXzjTP??r*+yB(nXlI!Bm?oOThix!?@_wPs|4Ipd#ksFlOB`)J57Z5qOatykb|? zHcKg=yH#p8JC?a!npU1#lSn<%+#*xSIJzWhaAJ~I7{301n1@QATtg0bD)6y|{ zSx8n*!t5`-d&Yv0qW2Z)IyNovG34=#nz)3dOnPbzBllmlwbA zs0fvLx~21-kF+VUM|bX>U&~**rHU?p^7MhCBR3;7>b!&-F#~;Bq0fYPK+LfuppYMO z#@XwrwJK7YMkA>6md3(2E~IDnsE{7?HbqCfJ#=O1t-QDIPNKY?LWWq_uOE|r-p({< zA0%+nK5f?Lk`3@Ll$4(6I&JSzA7NE)uvZNT=)(_puJZCoI_lgi;f)IM|23;_s_ufD zL~T_T@CxKJQr@!f`2&a#YilY3i;{~vhXD(3O4|J2*t>lSyPV8=b|pj-do3Ueuc zz+hl69te$w93{iNUgc3=bEc!#G0fTZP`+>$?pEb9Ih<6;x?Oj+D#)#hbg3g~%Az4R zE#oz7f;DR~HrePzwl^9PPTl_bUPF4?2E}F;myDXI^S4MW75iY-J0UwSCuHA>rfY4C zv+v$KB2ubd#3=Z^U&jPsBK(R41D!2#{TFU4mq+$@=Jwq6w$qHPh^K@ryhq~haK76C zf;RC0&`z>Z+~%~mdhv-NzFzNoS$CP*5BhE&kgc03lC^maoRK1;qCTHHPHI$=Z3-*DsJ(v?H@E+Bj3pL|lz2I|NgrN(j9o6ZG#K3m`5rrhL; zCVE(@m6UG%aR=#&;jq>+Z9BqatA6hx$ZU#Skf@>P{D`p8WZx7 zGvr=;Vq?6V(dd9L{cP=t$-_drmG9FsUi1goLi%S0JgG+hp3(^*INhM_2Hui~R{ySGXTxWSC1N671B8R2Y(a143XOFM1 zPk*16z{q-Ya#;L~M4g<~MYW8i6&|@N^^Dzh7))Wd$&(l3yOABw&GRApxR|0ztH8Py zF}7o-AbzvnQXI=2{$};w!9%6l?D~x!2W$RvVrRlXG40A+SAxi5ekPO<0K$>g4LD=@7@oM9ibUo! zaZ-FLuQPRg&Y6u%RER(6M)Nmyhk#I3dFp^yf>gt{Za)o_vp{I-B;- zjaAJQG=)=QD#mx(d9|k=UI|yE46So&i zd8O|rRi!k7S57k0aG)C`Cm+!1^f$C84rgBa$Kf%9^eZNDu(FKre%(wNE4x&o}M_B~gONcito3 z?Hu_W-H`b#daj9aeZ7k1>2;~>>@=6>O>^AXN-kG^taDK050EWa2Wc${8sWbjdGa7= zE{y#)o~&RB%PP?C{iN`%PW^_KUJhCbzFhfWB0w76Cn#x{dh!PvZjhj10l^E#%v<(T zZ|t(g`Y(ffLWLH!LZ+(Y^0UZS>vp*ih`pu_536t(QLtK9`b?-Bi1m*y%V@G!X7vHe z8g@s~_Hb!hGXFzwxP4I*9nPuLrLc)^ZIek~09*NMthqmbu4r%6e*{SN+W|LO2|iv9 z&I8)S%cYs}8>4OGH`+ZGUz*J=E-Z9}@zA+EY(h>@3Vdu3k$NyFL5J(f-`Zup9JiYH z8GK9d`6;DVL_s(s?z)UOPj{xYaML)m zOMQjDDW>s_%HRe*FzH&d?07WcU~l7UZ4d%cwr2Gty&)$%-sQlCyXgn|R%`Lz=$55F zp)O%Y%QK_Mw{X&K%&s?pER>C88qq3>d-BPF*TZMwCBQF)g?Rk8j8b}=cP2;p&3P_bJTiNiI{ECJ54EW0nQugXRy#rLr<&Ni<9m$r zl3|z)PL)8~dzZ+z?dpEj*Tw1Q8dwQu^v`VJ%gvdjqiAtZ!W!d8I>;ff+vZ5;%B=7F zt2ZwYN&2x&Pc?ruK|Is+P0gAox1}4Erm|t}u!3u>tm@XmM-6oRKm?GXBItArGoF~D zF;TGt99a5WZVY$psE9yYC4*`3h?3>9b5OJEpunt_PwTYZLALz|c@kORrX51kqpajd zrk@juR4?h4_~(C9!Tjx-j4UjYvg?+Owf#rBn##t*jU^U6r_-MtmwgXxI>TzALZueB zP8t;u@cU#S&Xm_N+wH^EMSni1ihG_e0Cu^D;Nl$!Qugl9lFoHFe%qOe>wPw*g;%&*#{m1AiebdVp zRoW%fHwCcX6^FNGy{$`W0KEtqgm`Tzm!!n%b6_`){j=U34Sv{4?llZ|o;~;WzQy&8 zG|rYrDvPU*{vJx#ggCQAW#a07g}-J!BMn?2-5lXLq71N4F`Pt3>puj=2BLaPpu$G`OwRPaL?%rjVUhKq{w`J>+6hxOdS1x6Ok zB#%jpo5Y86Lc+-KW5W5di;r0lhsIx=5NR_%u%F4Wp~;1Ut7`ZZfx%+G{$;aTOL-@pX?8k4 z9RQBQu@5&OO6<9ddVPX~Bbfa~^v5@hxP&$7f%dHgII_Wi?fCT(IzjrVN(K|7V;-o7 zUhaG1UYWzvIvj1?ckn5SIErHo&*v2$B+-qQI!oS%y1yKwBk3y@RI)CkFha>~< zcnZ#U*A?92X)7MAQ`^hera#;tqZFFLhFTm&>E*g6zr!9Jqq3%NUE)NNKY>0T_&Jz! z$R(#zqW3gQjr~+855!g>eoBm@bmv=Dw^*=6)eO_ zyzY>omWO7MVUCRVeA?1g z4#Za*r&5HIf0^Xb{8bmhvGBU-y$7;^M&hILFPg%Qt3^=4UsSsQGzX!n(_TwfSyErF zIM-J6XII)y3la(kfo)AYz3_#G!E83(TkQZTo?3VcjSer@K*NuyMzP53>;{+Z)V|G= zB@lqMbN9UR5}7m&9#xuM0*kp^sc*{MQ$D$hs3ozfdtxL2SP9_9)?0^b4{1#m)oZ;p z^7YvgcW}3^Yu(h!3qRwzH7t0-%S`kBicr{EgRFVIrZNg%^LScFa^g#Zc6Ya%^p@aRvuEhhBJi23=0Bc?v_p1ymq@qr(5+x5Gzy$x zRNexUDg4+@{u zs&2|yz&8MMuv_=Kb04HTF6yzVpsI4BBwc1Ae0+T=m=$=HklTbp&x*!#<+E$<%jaa6 zDju7~8)pePR;Z3AjIi*OD*JdfKA&j(u7jHy&&GQ?fA^i0C)~+Z0BaNc0t}ws0w92k)4->WRNy)QO)4vXAp=lk*$H$LXQ$Bo9iJrcUbBxTMN7K)?>GgLE zFqmGO(i=SITK59eW31^l_7HEFz0>AAkvt}~o|BoW($&?~-RCnl_$OOi3h}ZI1X%;K za{>%!ttbfz8=S(o?aTXFDsh9o<8`vD8c&WffvaM2yXudN)We$cRzrjYGPscgMbC-Z z8y02?OW66kr5PA%#ldyPK1+4bx;)rr$LnqW~+=*zb>N=}aV zP8dP-*xZK7mfGo+g|+R3X}E(xNFWsW1py+sG^$TfmU3&ScR!7V6lup;Y zwz9|)N+8iw7`0^D0^W#1R%0at)@w-DA2jmv7NLJG{Rx6KvL7181x zhh11r_#JnCZ`vgz(uhxUkx<1B0dkBrNT&lCSL;hB3(@?3{gcgN`_%?{C8W=Ytb%A~ z^`rf3*~}D7H4cYRUM_OW_0D0X5~j2`Q0ny4AnpHrk4~gg?Gq(4mN02po8RxdY+TSC zj@j>Q2eQ83au&I2t&@FKc5E*^<2`?6NVGX$t$Zzg_PdS1yQLQ=QOjY zk<3o@Vjy3#|0h^hv{62VYP%mle*gscPgsHw%LA<{39wYBj8`{lcDwS(^+Xuxo~ZW` zZtk8ap^{j>)?VJ9nfviw(*M+~It6Mji-OC8|Jk-QmBOzZgN3ORicEy+MV%7CfGmX24 zZrY*6&V8EESyVg{(e#u&r~y81n_CQTC>JR#$nl zG_E;SxttQkG8I850=cN&F*Bc-5m+~xs$rg7eU1^Yfxc0sKR-MBY6md#o99+h2J*F> z7fCcV;Sh8o+UpR&l{l&4aYft+gn}1J*bL+%oa;v_1x@F`=;=igRCWWQ-(k_D#s0(t zyfx1pP&srNO?_f)FEf%9T}^WiEmNKz(7WP?|MU#6=|+ZTN!X++P{?l@Ct#luondF1 z-s?Q>W$b3ztzxraRyPAyE=WTPBL*oe0yWS%)I~-`kCr-iWV1-;bMNrGq95&wPKOpC z8^75`v;k=7ZG^L7x!=uaR*p+c9#l&nNRPuTuA-{M%$HQfX3y=;4V8jT3hB@$X#gm0 z(c#eFxveYo1cDe#t88|}R~Mdioa4x{VljfpcsVahXlIx+oh%INuyicQQNIn9fA;+# ziS<{FHiNVhlH=D+Dl(`Sr%h0p^YH{Gp+QeGN#I!j&7Y%+eg0k;Vh>ZSn-MigI7!F+5= z;69txma5WhbLDSjiSWl=ZrtO(Y*ur*qVJ{_tKXk+{S~{#SRfOpFj1pb*Th9T!d4){ zl0se5D?t{9amvF2E<&xB1ICyjj6g0In9JCFGuWJb|WKV6xQa zP^Oc4tE{x;JthQoI$#=eU$^q0kf%JkmvP_~k-IzN7OvdA?Y}uj&ouT@dnYCSxNFwz z>d+|AUlrwI|F&!Yrufm<58?Jcn0|+ITM8uPqy3@<7VMS7ZB+KLFy~~Fd{s>G>Sc6; zgtPZT;5*;Pedm93>36N|bxbU1m!UartLXz|wfCL~e8A2XnuH;k9=|4$1#TM`Y{p4L z47bIb!$y&fr+{st+urh>3cXA_bXsdZ_~dAX6oRjP&_b>zQ=zg`RzPx>FmeLgs!49P z%`5FTDJ22{_-7?&bOhp-HrwY3a#b$XgK77jHZGWbsC(zjHajRP?U^ili4Amv1!LO2 z=;_LH#7tjEbz$(VMbJW(AtA-jR!3@a8&~UYahQ*dSJjL+WulI*wZO}BXSQSj87^>=E z7BoNSSGOOhA7rCGo{+}+h8GyAy@?2xAkJTT)YG1CgdY0YSJQxwDm47LAfrF#bRs>@ zm#3CiMwC@T5c7?PEuRT8axbUMAZ}YQrBaB85oJHcTPfPOL;BBxl0wgFR3=e7y_t=`UVUovgB3S4==><=%s4;rSVVMLS8`>Q5U%@3w1 ztty;PbGN`VIXOB?>%T12v*j#!B}RyRpIG--G~$_HwpWpS^rsI~x9yM_p1q;^Inxm% ztWd#-j-h%i9j;H`dZ;V1N+~y?V_+bL4!6;|XXOR%!_sspZ)U&|sjkU+8P$(8xJZ*q zKxELJKgtI*9nQB*TwF}EWK{AP2iPKDF5iCz&PrUGf^2vX1>3P0z4(BIi38(=w$ zS#}`bP&}Oebj6L0)Aj@5uP=x-*KuiKavyYIz!KbenU77pK zT7*mvyGe(4y8M|hU|Y(Hy&Ww_yVHpg1bHR6_z2LV+1eM>xAfY}PLin9!b|Yk^amEG zDpwvyYtzFbgAtQ_ZM?^753I~18_RQR`PE)^&846l+?zOfx|0|Sw~mkFOEF>S+iTH0 z&o(&hac-niUOFEEQ1*O!QH36&2H}Up{kp`Dv0xN`^l%}Hp&=hJES6;{y9BmT6uMCf z?xD^Br@4j%O-o@Ktcb7@*8f5hNl>M5sZW9K^>Uh6Lxf~X zf=s5^xbbw=X{EK~*ixr~#Y*j*p5JKZ(_sh;+aKYlAT1m=K`jJ29In4CL8+a@8{Vtl z0dS_zmRo28o;b0$uLSBuHPFFv?MW7aM+xq4)sArf(WHX08q85}a7=msIUekXVuuh3 z{szTRR^_XY#f{LCpVFj5tyq;!79PgpV0-;{KW4zXnRlHBk^89A*8)^#K*izvkY%%~ zL{MpAOt9w&l(1CsnG&!&0KuQ}d}F2$oxAE3WI-arJK*83^FVHNVTjthvQiinkBHvl zPH>Oe#XbT*N;q;GM<^#L7KT9_dR1X z=FtwK6;nPqTy^kL67E3xE1|&0nL2Gcd|~A9#acNYv%R);^f||OHi(a~*c3*;=jYCW z?XuH>fuo}c>5FZNQG&Bq_DnC_Qc(OeI%Cr4-f*%-f;*{Qtw;sctfsc+=BumTKP}PL zBmHaJ6V;rYLw06C9v-$I!OA6j4&R_}oxK--m6SgOk605PCpe+}cCw=B z-UKMY{r2cN;EP1bG?S|`uBS2R`EY~*Nfll~RSK%e2D5Q+;KjIoed_Ocu{k-iwhM%v zYBjL;0y(o>_Ey!4O>+$wiL0xnW^Jk)3CrM8Fj0TvA$86ACYT^_9Y-X|&Au7xcx+u} zENv~Ve}XRK+vWk!mwu~ew+zQ-`zD;loJvzVs!dAx^{hu(obMZm^-~WCmi$nd#1EU&wy?eoD0@_CuNpNF9b!rm{xG6iNfnCjaXpj6i!&mQ2&D^`@Pi2)0t2iEF($ zCBRJf_9>Fz`V~hqdHtp9*m_&B0Hb~mWKmk3Q?dZubwB9V`?b58kyF&%56|jsU1u}3 z6XUCS*@OIck1mg?n>}{(_9;5tcef%&VB!#RqywKz;2|ztko48}4`CNb6pVy$iZ&M^ zK%#^A8Gda3_;Y2gKFue>!_)mN5}Z;kRWP)EbWLhPRP!xm;gj5Ot25${^kz-7+s+%w z2xi)n{NwbEl~ z=ssbuvB>N-k)e2Yojd73ts^KXFse7j@0)5qP+oNukEU$0od;xCk}RbjE1`S@ZgCAB z2EGi@Wo$~O)EYy(OoC6+dV)y@l6WUemN|+gI_Wyi8`*};F28hLA!BtDq&>5*^NX$H zCLIC?6b;X7RD?$FY5sLuW3xU&pT_P-1U-qocg!qZ>o*8q&O+y(91fmDw*lyUQRzGQ z;vcB}XIW2yH?HFJgLhWq{X=$khHpl7fC{Io>1f62{H3zyEgA0*{WuX;MaU=Mc~`4ql($(usC1Fg6AWdWz~3`(f& z3IkcB(07!n7CFz%0NR8R7nlV8`e%i}-=xtF6(o<28ggQ-Tm0z4j96hM!N0$%5AU_@ zY3=|^m>jP1y)}85cx{ZrEaii`gelW@@|f*emgiHS&${H`*xAVCgC2KXN?XcN2qRwl ze&;H{krfDH&>)sGX!#5M#Desuk| z1G#)KBK+Ij&+Tx1*2mXMn1E>Dbx0HAZfarGf~$~aNjrFodL)J8kCy9SGcclydo3?3 z8||~Vo0sU<#3Z!OQ5v*$_%WbVK2qOx`AJz#Y}}mSP?=>L{%zUY3pEXw6Eb6b)Le(| z&KQa7k+%gug&Vq_>?@Zvvz*2Oui3&rRNV|NmC#FX+mi)PW3qeuX=G zJ7WY~HJ1-+cbE5G+^(@Lu-uONd(2GQ#{KQGj=u}e3TDYLtk zo@dkR!OJgS^mf4&QwMT&3uCF$4tS`|{pT0>+BL{gfeCPGUGyNU((IW4960eUTsAII za`vUM*RgxwF3ZWt$jrITG}kb}zckazA$Isiw7vgZix<55JVMQHaOMS=2$=WV5_MTX zBeSsFx@EncOE_Pt&H{{OgxjVGT=;?>iS-R z_w&gP=a(_T$Fw-lOTk27vPSfx=&l$8WT_I|I`zCTs|v*d#jxaj;03v$!?y_{ynh3j zB{}`Q>0>ez4-FBfjB*S^y+CPkTQe?4fUL}~=Yieyjhf7zIbTEV>8iwAgl5~Spr$J_ zrbt6=VZW&2a>P{hD;j@rbEMq^Oc;hm1Cfwkcs%oxK+yJ<%jiO<;V?XOxK)ADEK7r* z$G#O_2jABxc5lu%O_9TGSqnylL-o&+OOd03>O5z^AiivXGdF)OB@rl4S0H^t^r$(% zOM@E~$6kBCw(fhmxzVn|M%Jg%`QY{=iK=JOw7=3qVE!ZO)SDgFIo0&-cFo|~^_|Tw zR?{AX6b@tWrns=O{J~{zISyfk55mOcm{&-UIu1epj7h=`emBD{F;aO~mbxSd4+mxb zoZj~La@{g1>2)A%%L$2e-@WQ|IpbihGGH2`2=5yZsBntgrhRk=Flh=Zl$CnKHW=hD zNMAKSa{+P0z62%+SZTMck(Lyn1YY1Qg0rNs-75yM@{Bn(jpV1j!UbmZfME^GYyW&mi5nj{Dp1kWk-L8WIpTB zin^}6MdcM9aZ>e62(nfuVp0anwjd2Y(xDVq;k3_`b9~pV-OleiHh$Hj>Xu}&Ieu;Y zOk?Njn>y#e+|QFUQ})42_D-ldurgNW48X?Tv)i~NK?&=pFM>O&Xce@32DB$m7YSRn zJhDo7K};wx!_kN66kvMZ5pZhSN&*c``ARgeZ>-NzigGQhwbmXQPGncTwI3nr58^cRFr_N>O=B<|v0@zQba0z#J3+r1L1Xdb!=KH={oS?_;)P z6k2_o#HH8%d_3;y_<>8w1_k7iRLp+rvuY(W6qq+j^UQw-6=euRggjIG44gihrgy)AUIC&-B;F+@NORCA z$DmBaw1m@l6jE@0w5yPHa*DdJa6Gd0oNIZiC+($(4$J45=0Of6WG*cBF>rzkl$q>U z$Dl*MUN|YzG+?CJJP## zCvGIsuRCSA3(sxyjUwr>^>R@Hu9pG#Gt3}jqUhD6LCw?<%k=j1y(#MF^!TuWGv)kT z%;cQ3H966A=~o&keRI^qh$W}h?ZCoeA${xhD5IPMYH!VLph+Ls$sy(y9CZQ-mx#;f zET2oLpA5VtSWCiYS~1W*z8J@+*pWr9e=|8JeV5-5x(+R+8a8 zO7qQo^n0Pzn;;Av_uP9F*zz651#3>rbt$TK^#Ff%JA%k=0w#IOA(oD;#?zyhaQu$VW^vGCJi}_gbNsg1`31Ty)j5$(^)R)%*KxQTT-Mc$5 z5M3m9dn|!5@zRsZ{)9woWoR8P-?QNSs&LPuhx zF^qDLNQlE>tt;#Wi0g1`zApgazJlaoxP$ESMX(1faN^le{|j+ODS~JbPV9DXdj+de znXI|6{faXJWQk0Uh?&Bz0A*f#r0-wbkLZE*i%1NjhCYl?ud2kuSeYKPk&%W|4`|L`le+&04Vu-liSdF%U5~BuR%ag@@R$94$$ni^FnGvUb1~CTur59nxg6SRCHXtqv^-zLpu;L2Prr5ZYG8!Otm1Zk4SOzsj z0-)FNMcYy#9iVOo4LZVGtAj)iGy1-H#u+l8w|Wt;t7tO}z-C?0yY(u{s`fDI$3dL< z*fIwe?wBXV|E7qwah>{my@R9lw5OzVVjvLjD-scVl08fDO(%UE*o;wLUJ&USk{h=d z462qm&3Xyp6RdEm_!4|!p_NxQY38w~l#sIHo=+%I@?Cce^=R+0kjWLi5jB)+$i|GD zpvA|+U*kM!al#VA3GIwVo|ZY9VF>SmMP$P2W*}wXy34|`XOw=<#+cq9*vA);zRHFN z$(S%=`^iDOI;iqF-80;KLO-o6)NDJUgQj6`fVI}RAoe!%xFAH(y|af>Hw%-V0K8U| ziQJ?tCp%jW!A-+27sG0V$*y$)8{cA_XhZx3g_krNsd$b$I9Eq`B$pa-Vhy{Tud*pX zo^ptyWu6`k3MOQl-hV4e%fy>SZ)?-m3u6%kR!@V+csc0B;N<^%`@W=V)H+L>W!<21Ye9uU-+Jqr) zn~KJR4CHB`0v>y9L<28z`qUrP;)1aUZ4x5QeN^}&n!p=(@EffCy66iJTN1k&g1Ei|Tl5m%8RU*4NA&S*#eu?|>31N|QI685@rk3n2F};Z5O~gw2Pn`=AtK!pc*!x1 zssHUT%#mqVSS7t_094wv)q#YA`9SIosQ7%~8=(L>2t78Tu~G3c37J_f@8-j(0a!=# z7cdfYlciBTg;#ADI6D^ZRa6&4f5#}n$Sm_h zdVxg|AUis)><6CGQ!F)aF56iTqdM|r-c21r3v5CauqkmmyK;TKrgT}=Zs z&5@}Ke0iiJFpXA>yhF)g>3@qo;N~N)EPhune~BJ!>3#^6bNEwz8ox)BpoDfQCd4HR zJ=b=5Mp<)k<0HPv+PpFYoKJwyZWELe%DGg4Ie=t(EpScAkPYBKuTi%6Z}XTPcMcd0 ziku{5mmU)dc&kgv0@&V~q|f;Y1$7Ap4ZQj)q&!-qYbbpdlwr*ei~(DE#`T;;+s7*o zJ4H^M5RZ%OSoIEVkkn92h0LATF2Pg1>x40h!&)_p@D0uAt62(N1|s*ZB30zTRkVbr zS1WIi?v%v#W{d+H-=x$in@+>2m9^i7_nU}-LdU>fJje;2{oWkZX7nuc!K!BNije2^ zrVrWucUx?_>M1Al_rE<3G?N&(ZEdoe&5j+t`2`psTO0@NYyH^ZDJSF(h++Zn0-+tJ z5FziO)$ZluX?88B2WbOxBF}yFYg(-&T;atIiDvTJ6k@`f%#I(n?nI3nO2Rrm z0`^CdgbOq+jnS`WjWUj*Pc%uuzPYs}!K?o<6D-E9YXAFER6ep9adPIDGK6NG1N|ii z-WJx@>N?gie~i*+b?SHogzeB6MGcVC9irLoozR(|oQxdkJRzw&f`Dlr+&GU?3)QFb z{t*Fka*tq&36|nxdZ6i2MAtgidsNT1wu*qQG(zLcU@frs=vi=JcTojsPa1CT1+OWe zCcEQ{@r|FSZlrcH32+R6L&8K+@oP+yG@@(F#mw2Wg+=EjS`=w}cA^-u=h$0k(lH^=N>jokwfHxq@Q6M5w1HvIz#=W&G$|Zv?8mqJ* z6Rf-dTKs{Ay7r!=lHA2rz+cw10h~Bdb~^3ZNVU8iw2$(wDx?^mvWyRA0S2pxi+NT5uIUv19pYaj2MU?x2i^1bnRBuPM8f zWzYclCGL?wbPVJu9r?$QjJWB0W@+_8gGS4TjCe;5v!|2!x2@UP;mJTsaEcrxP`#@l zq(3o20-12;1Kc8`++PT62H6JR;k{eTK)C}I5h{EH~C)FDEV{tS3o6BmOD;^@Irj7;jp(c4P>wMD5j=s>Ntc0 z7%1QxzZy9qXG2pJ&Ba9MG}>tdm5`AW)JRZ|xkC5rZV5i+cn7mej|aK^o4r8ePaN3K zQbTfH0CNK(FrwGm@{pJk@_fDqD?kQ$NQIFC(*1F=Pc6PQBRuI7z7!94DrIG5%|P}) zu1)|TA#YF|}^fRD+Zql7(RaLe(uZt@Jb@?EQNF_E6I|GueQBB`dT2Eg7C5_kbP$hJ2E zamNEdZHBDkl+gvXj=wX)9l_+Tb1i0-rNStdK@$bJ>%sb^KM+Zv<@Z2gU^`OOiN9Xm zU4)8qd)0qPu6uH8=Kf5B?Ms>?ZyzbC^3N3fE_R9~&5N4O0K%i8zqzo4-k?=w4Usj~ zfaZYV{q1E3mFy}-(3C}s+h&B@e`iB-pZ zesmUqX>5oH=pxMs0#^clmJfUFJ^G~GT6a{h1P$Z8#td!x(fvSL|Phd_fDbx zTzuCm-S|2imX}*1p5HI)gD+B#S8bKn}Xg)6*??{dKS7o$7Hou9e$@GG+Vei-;lJ>a(`S3shfc9 zJ}T9Ic_bWUAzZ`&i?1^xca~R&5(=%jcYs$Y;TCNGq23DpO2VqS!felu9KaW588O8U z(9-9fquzD$g%)=lOGgJRew0?!;AjlrzXdWoPOB+c@b3!PTc@Vf{Cv*sfZe#e*6l%Z z#GO&S{Ao0rl28Vn;>#|R*04THR+Y4Nn{%*U_BIa2c0{RMvR9}{B6^JwE^P2-ly&N5 zVP#)~Ud*FgnAw{aYU0D-;?4_cr0b18fA(6GYX`SSkg8E(AhpHv>Gu8=Zl&3Ycy?h> zpQ9j80MOVeUxMv3Qiz-|QkbnM1`EN}JOJL+?DRwl*EzoWe%jF%oF}%LCx96|j8$j_ zuDlU+Kc7qlADM11=UdcCNhLAiq{o4hY7YROF0COYNbiCu*PibwH3Y@-qlWG#*dmTl z$>EHZ20*Xt4i}?Rme>n@bO<{ji&$c`N`&d_Jh<$EmsD=$7vlW(Xl$)hgAivHSS_@L$pB`oH>?muPNg_>B7_ve`z#=Uxt$?6> zE}Z2d@Fa!6`h)jzg=R!mg!YYb*9EiR3uak^H9vH)K zyW0x%dGDhnkH)~;4#d%w-K=J1Nr^j0WU0HS zlrn7=9)U8?3RwEN(=4ha_jlovVF~_gK42-Ph|-kV*4am{zBFm_8?aY%LZry!{^_4@ zo1xxailyfPC5MDgxLWZ7Zw}G|;09<{7E9@~rv$JYeFi15cWRJVRl~FY;j&<23Ba|b z$P#w|cmASfBZ#U>TL!PUM3EXCCev2aYpc>$f!&#sBKlOojEI4sJYHtAVT*HhGidLf z4Xv*adNHiJ-&Wsg+$MOwuoXxK5X3dd9dJeP%CKatni;OsN{YyQ!g{jF$_da;tUqA$ z+#q0T#gPdn-~^sfW`b^+<5+r<`Cgy{^PGR{&N=eo5PTnW9E^u&YukqXVZI$8dC(~v3Y9-M1J(H8PdNlz4rkRBSV=Ty3~GALWe&+H*a z8ivC2e-mE48y|KM16H$fSOQ(*V;NFS!%zn`~dNw{N8g?PKO6lSJ!ek@?ekE zP2iEzOIfgg-=NXgvEaq%{8)J+A7~9lb5v$jecxWbhkNMG#LR330ei;r!oNlrCz3Yj zznrBzIPS*o&dqwz_tS_P=}@a>wM&<4@&ezAFRDY@>Ng{MeP3mHfFJ%1nF~5F*=awX zh&51}{WNqW|G;ShX-VEm*9*3<>s1UXaM^`S^?EhD19uD;TnGM6Fsvh039bRaG5?Pi z6BER+p6O7U^4!w?nRk6GpMkz`&t8%$vLK5%v?&;v#l7HZ(sJzS1iJ9O_`BZyh-bZZ2}5CfI|JL)Gg42 zl3w@N+)i*&@!fd*7eP2fnF?Fz-*cN?|5~S|*3Ti$e4}qMitiE~F4U?2OfTe-ggjQT z0!3DLHY{*3K+MV(N1F;7O5EiljOxd@Cq%5C@QiV<5v%N`Ohfq3GSN522EMt$_3X?2 z;%Y_XM5Kyac-(a$odOvA_Xuu;o@@snyV9g(Z`_076GaAUQy?$%(}7VVCL^05#-iUR z!`6l^rCZm6ut6n)Wcl*r${Tf(nh>DG?s|ay&Fvz5S29|R^ zDK%Su?C!V>*lSWy)rt?PCS&X)1-(Ch<3U-yc*`4| z0TAVI%eO5ctmWKrq|4<6V4F=1xeq3MOb6T`I`{y+^5e(H_Js)O|NT7p(y#1}dGNfw zs%e##_uC&Z25-g?<$zxIv-uB2%F^%2gLRHb(q7ss6bpCzHz=@8xY%60R0x(Qg4^(lSB{S; zhC$IbIfCuCyy*(ztu>MXD4w6Jm{+aBS=?dV`oDhFQ!*_e zd|%J;I1Vm2b&6q4Qw1awg&fLt{{|0+OM>sSG67xLVrM(`$ID8(&P5M&D!7}$`D=6ar7 zGaPthGcxGpV15vj;{}M&zc>Vb^o#C-rR?-l>)u>c(648#Dhc4xuTJsN>3ePKW0JBm zM$hc{KBH`1BVzvS2!fPF4^h7hAk6GPo0&gck{kwiVYF5Zj9UEvBUS96{W3ovd%Wa& z%!5G?9`E!^#^xm^UfB3-gv0e*F!X&l-BEN_`2dVO9IPwL`E%@Gz{m7&-M_27srQs8 zE{X(SW@cqQxXKs*uahBJ;wf@n%C)t%kM$$-v2A;;dfKh_CYaHSpQ`b#S34H24 zeW^U3bRr?3M8>j^OD6_m03kA=qrCO)L4{adJ-y<;UW}7y{(tKldWX`o#qS33r*HdJ zJAq^$U$TfxM{AJa)pWUZFQ+xzhXVlPw0N^?G%~_z2nW0xK`#aM92iU=a z{(2rVuHNqU)z-_)O9*jtM3X0AdS2%djA2!$>j9!+mgDI~vy9!GKtLqwKv_twJdf1lGmg{JCLTW3Yz`Mh;@4hJ2(mYW zTfKwoc)*pup7F_yt3A5TPHNsh<&=I|`!h}3!-cT@y2v35{Kz=F@9zT)E`eF$r|eYqXwdVg9H@F~vhKrJaQE}RQrV0m@u5lJNe}ttSLk7Ox2aQzsQ5@nJ=}8-lbVaMX znzc6)RC5g+|9Tr=h-0DX;+aspU9j5ke;Ev1pJ%~0yH>&OFKm}S;fm_-SU7pB_QFwu(+~7(>vvL z@WnMP4;HU=AK8N)rE3A`$?E22ncA84xm)$7GBnc<&RDkvjy=}I^r!R~f3E(vRW1~4 zUnlH8>Bhk>+x6hR6W@3%M9xD$3QUKU#bU) zr>~HJRrF?Petv$mO_ELU;cxerabl^N>(S268!3RH%zTDqnSBY0?@*~>N;ts-tFh9jD_f_!9^aFN z7M#1XstaXMdmFbqcn94&8D?L~?5AWgP69HxUqjZ7s!w8DT1M zN4CGNfX7uGvFZuC*QeQJ>;45lTE5Vy{1(5p9a*^y#dxS#qZAbkTHot_nj1IJsNpR_ z>MFLY3G z+qoXx1wRw$zbCI~t$2nxeEWdyo9qhyT?%N}Ym0`s|2vHT;O;uDm!ce-cda6BTlY1Hs;blB4E2k3{twLm#`P7Q+}z=d z{2@-A1~eltHkF!oJ8m81Js-?QSf+nDrK%fvi|=lHq0=eGu`%x08B6%>OpxsP1SAry zu@XZ6>u&&VLLu~n4f=GM&|Qd1@JdnH^Q|?#*el6uZ2QzxF*1jO|F4Z}k7s&+<1@Em zWuuZyH8YnJxy{L4bDykmbRm+;y$Dmwt@fQJE3`Q(QXAb|(&Tb-OD`ei(1c2qYAlz? zsZ$blbUw@Z72EIo_xJmJp3n0eD zaO5!1Q-pc%qmX^ar343ijx^abu*5aOcQtgE$a}ry?K@i@WACqFuj6}K6?!@HR&z5C z&CWcTNgX}fc^mX6oWe?rN*v%PZPO$4wu3DRY1{Qpj39!2td4oH_D8l|2*QHdnmfBg zV;R@+^s4WEi+-ef6z|Y*SK4KpsH}2iAwl8?n!svL^6Fm0h8%OqE(;(tA>H+IEiv0; z>HEBvYj3cze)1;%n?f>o)X1S>=(9Icba%t{n3>zRV72V~w97qFt;WSs637A6r4 zU1m~LBugL}s(g4ll{(V&RJ*Y0ps!c_v)AEkOL7frA9j8Q)p?x#7GYpC%3_fvX)zC% zV4X;gvE<@+|$#amCW`XL2~s?!4<=$2&uY8_c2e7K%I7riaUK$b%9p_2@c~ z&0B0)4-mK`5v_0wR;*iSUU|%gYvd33)#|ZJ~wh^GrW<2oXuqt)OqP{c{2nY6VVs%Fx)G_-iG zR2z;C0NGXD6BhiV&Re+_im34r=^Tl@owYd=7I#cXeju0sG=s|00eCVbxb3|yk>Bih zrr23+@Rqbe#WvyGDVFAZC*(pS@N~q)*y5F|7_T;3`AA|Ld+6K;`;n3wN)D+6ZAif0 za^}*z-I;hzUOSOB{Jo@&SOV^=g(P55url#HucM_D?dvu&Y}-nY;_WvW0mY}nNU_lZ zL}v4OiJu{;P%1tsC_U!_BYS6-kH@Z(-10|^-1N}8Q~!J-dqevA`pnXfHaVdJ?7*b9 zFE&;!^KGsRbX$pGdNCk{zMwHWsW8NZlws{PT1VO2za`duvSKJ*nwB|UXeFf33^uQL z@65R$fyxj5uSl6%by=(Wsl{rd%h}FZsy!3MW0|**Ycra^zdVxv3Lx1ro?U%QqmaWdm}T({X_afWj`eX$%I= zFh!EMXEOrqYo3wZbR*$^p+;Q-$FG>Bbb6Yv%?3BHzY<8}Ty_H^g+&&JB;IL90GQhnJD*_7UqG`_I(Ob@o;+k${0FO$=##9nQ>dq5m)`Z{t=x!58@F8scH96d^W2k|S z0UAX zA>8fr7q;?<_x;^R`Nx*~azK@~ZE3mA4sjZxa0Y?!{MV4QpabbA(w8D|94|i=&Q|w5 z&nYc4HMeZTuaAu=7EHEL(K2H43?#u_G%({ec`NsYy}+OI_5R%^S= zF%g)4N40f(=+rg9n;c1(^b#=@@YyXLs?T)7VFXW80$1;tvqc(G1qYxr+H*`vlnp|l z9z1QT;QnuAr=*zUcA4@f_5e{sOoh+%Sc$!hv49h&UZti}SD^@8YbtR$DhH(BXOS{2 zLvbdqVyHeGnpNa10aiQNtcPm8h&aFR=`(?>ck|a(6`GH%2@Bd|e(qHt&ZxI=|3r|4 zoY4fXQAABO09=6yoFNsr{A*GgLu&BU;+ygR|z5i90B_{a)kioOTWP7keYw5Nb7oO zSm;z|^!L+UK66gPgJg#1bf^tON>n>SIPCsZA5wc&455+ULPp7K{iw~%8ZD7$y-*qb z__{s`G+6hXQb&u+DP$9@)^41Cg}hEK4t;oC9;SXD{1;ZH6J<$n+3dL_J2bdFRmCn( z5dQr9&WuG_cMVtX4o{0aYnD=aZ32J7Q!!RgPECwWkTw#4v=LG9Ia*JdG8s{Lb(<7w z?0WRNUn=bi5mVY37RlmrIlK{QaI6va1P4sy_rTtZqiwC-hH~UT5^ zIN%XRw75eQ&W2}>2P{>v-{b_VeW7eq*_{aYkBR}sq#s z6&Me8)2>cV&{zsx&uVzbf7@jg1SGL+9f+ZgE;*=)eF4xYtmiv&hd<}>=kDBiR8jT> zT`{_OjvG8%s~7xOeTBBVREe;s?>=+B!Ecd@8V%%@J=cg$J~KorY|?$`d!z8HrK#=L z@y6=am`BO#=s|IhNeDCpy6p1oK}jW`!wh;^V+|JGHEd9U$wpg>I5(k{`@nz+z-4j` zc{IWm|6S9WzGIauLk?I&p3{fI5MuEz0Jw{R6%=AU>QP~?7$ZRc?PpfKEl6`FhGhTr z4?ngMXb(iDptiqG9ysOvRKSM}s!%+x5kh%X|7x7DY!q{YB+PwhS~q~ZU6kc~U0{12 z)Mdi=P{Pvx?kt z=A4WDh7mLF@!s>A_ge3M*0bh%_s@CGbDy!cd-b_b-F@DZpLE`yC;j-7eth@E&wR!+ zpS}G4_rL$|cmKoxd*Q!WTKd@QKC=A2N4$PxY5w1pFMZtVq2(iPyYAlgm8LgW-f`3J z)jKb;*Ed#PbqNVNHL*D-zV(}Lyy)vs-8W>AXnJ$ytYdbseq_}%oH+mLcb`e8CM@G+ zSA6-R&m8_M8@E6GZ#$yVoAYzpwfd`1^$aI;=FO=I%lPZNAG7ztk6yaL8m4xE8K~ zZJhMM`#Yl1n=8Nb;Lg=U|8mS|#PxJ)!ZPMxi@o!A_|{kb?h!YTXnJ$y^c#1se*2d_ zqY-aBi%v~g#(Yifov)Nzcl_L2JEGB>D-Zno&efZ*_KZdxdjp-Cu#EY&v3I`WKYs9* z<2$0!wyx&y)oU$-gw|DaTGe_uD$g*Y_1!>U5(jbSk!bY6@b3DV8_~{o14lx_GW_ci ziAEm`tAs@Rs%_v%NLa@FY8qCeWsqq4U|j7W+UncDk&qZNa7B@5`e3+f{fe@qYFE() zj)a6|OkL-VJ{Wc%5^Xowz>$!!jH&&q(FemWN}}y*wyu2dB4HW6@7kG@X!>Bd8<1$b z^9GKDgk?o;9<=K_RP`FR|(^Fe;Z>`V69QJiBqFTF=@Ri>a^SR`DI^Nfg%3s%c_%%46OFDv8emyF~ z3A+aARD?3By~KJsZB@P#DT4%^icm(iCt5G3t;%;)WjHaPORlF=5nCCUGDx_#D!(&q zWi;YUIu)S|zemmIlCwy-wkp5FDWef@yn#+dD8uiy^SPuWoVF^zQ!Aqp$DT!}B9!4X z!+b932&b*eCk|yep>?IX#GH!IRa+6}kZ`S?VLL)QgR-^zRD?O~>smY9c7#>=nQIrV z2y@uCY1^r{Cv2zIdFXCX6Z?>H*{H9(*X}sm5mx0H*WGJ(wTdvukKKr-?OwY*VfR{} zQP<~0wI^C%-{G#imotN%2MOP!rinPokZ78-k7ZPQqGi;CWpIb{UCoH5Im1~73E!ip z3Cr*u&aNmDO>-8t3=+OaSw>9^8RfjYznevUC$dgcGxZc<8NS2Wd9YX0d^WHQ623=S zdQDh{?{JnuqUnQJyOu$st?K>V(?omSGPn|bz1mFW+K$jyj3zP?bSgscE>|K6*H-0g zOc^BTRD?3P5=pqWDqk_mAVH@hl);rq!nIZT3RMOPIu)^%QLJ6-<+N4#irLBlL8l^= z!IenDwN?2VQw9k-6`>5SL=vv8%2%Q?NYJSWWpE|>>a#mp)0biG+N4jy*U~g$cQvj= z5>4A(P0xn9*OH)96PCf1NTTV>uy*Y{NcdXPJ=~9kgk^9gl4!cEF`WkqUrXlH#E^lN zNTTV>uy*Y{s?Rbkqb4kaE74b<5lvr)wQCt9d@W5Amcf-sqUko5Sf`$7Yj+opgoI^O zE79gpU%S+r6G?cLIj-$Ue2ry-PDSWExOPdnwklth${<0fB9y_kOTx8P`5IFO2|5*_ z46a=guC2<~m@-JvsfewNVzpZ@r>)9Yw!(dtP%DG0-K)%Tov)AWGK}^Wql{`@SzoWBUW~9RUoj%8b!C0M zih41^s(i(45yiT)zFtMW7-3buVnkHy%KCa0^c+is!ME^ zp8q$S|KEl?_B{yCFx{T+?0XYK{qX;08+1tcyP)r8OcAW|uT4h`M@7e1$>K-V6aJa? zL!F1OcFXXqD<2gdzke)#R6XIJQ$O@kwW?n`^2g@iV}1D6_lo%L((z9=?Wo>%{CQj7 zm5muBShfEH7fxi*A+dhb%0vbUR=s!i850?FNc{DSo;8s{f>j^-%H z<6R$^$e=^w#?M|qkwJo0*ZtBTOk~g@anbufJdr_yRp?ZvKfiS%g9NKCy7RV)3_2tZJN45O86;SB$F+YpkwJ&Vd%pF#i3}2~y7XmV zoXDU<;@nT(J&{3zRe$l6&4~;;BtG@7dnPhSuR(P|kYLp}zx4Hq z3_2vfec?AJGDxuM-(COhi3~a<-hABOOk|K?)!+Zx_a`#wkl1zK-%VtYVAbu9d)Qh% zm(U@xdHG>;!hh<8lMD$~nSRPiVfGp3L^`Ig{a>nLr+#{+lZi+4^VN_+LRwXNM*=ZF zo!JJROdMHckdRiDzOsQBGU$*n{m08k^%*7MRo3YflY~3$YsB039^GdQ?-hHo%C3Un zh{SMIbRu!r@*|535~jV%u4dQ$*PIRs(}$KH)n^Px6$!7>jxj}e75j=frq3AOEB0cQ zcD_IiM@1(S#}*kRq*bLIJP<<$olN|rB7=mqs&pp`#E?NJ6OS%3NJy(ncho=(8FVsn zT#-RST2-110x@LJ$;9zR1_^0ZX~GG_kU=LCk0~-pNUKVdS|ElDI+6Ibi%uvqNSO92 zn>c?t5<>ST0UtagM?RUa-Jf*ihV_#+-J<}Zopow z(i1=+hBK#=iBpOU64I*DlT09n3_6+EQDl&iR+XN}0x@LJ$;6Ko86>1tr6kDX z@z^4RgtV&kgdB(=gH9$+Eiy<*t4dG$ffzFAWa3AQ3=-0+(kB*y7&7Q&VrP*-LRwY& zClkAh3=-0+(kEeo7&7Q&Vt0{2LRwY!dFj(08;Bu; zP9$zQ`Eh;5NVr2ndND#(mVM3%|9B$99rl%8j8K(jT>I$LCo(@D$98B!_Jz>aEE=R7b8?< z8Hau_MYzMh`po+5iKB9YRrX2xJr@RIX7^e?(V2eO?Rq}rQ&|6OKqnJN_D3~jkdRgt zpThbKIwVYQluurf@G3rqrAR(B6XD5g$RHuDDn5nv8FVrc zp1g((64I*TQ&^utClYUnPhLX?3DaI>PcQ!5)@RTmVfxha$tx0GWv}~lTh4HYeNFrG z)k70rWf`tB;ST$X2v1(ad&OR?;!{|kK_?U8$!o|UA+0Jth4mS9G7+ArAR(B6XD5g$RHuDDn5nv8FVrcp1g(( z64I*TQ&^utCllexYserWttvi+^%-0}~2c?}tyCQZNOfaXL_fc<&UA@ROnJZ$Z`w})ADI4TmX z;sls8e3~TjmoGnTZPz!aGMr%5!8aYY_JNbacN&H>r*qp4hmAAtVn;>d?7I$I`?;5d zjPcC^25o=$6k@_xn zRFUwhe_V;fnX{K^ud*i#*CR2U2OScoeV%`4!mF&4>rA-Az9On;1NLH-o-6_}oClpu zRL=$^q*bLSi$Dw+bTUyr8<3Dzm7XjDF=WumMD=VyLRwXNvIxYGK_?T{vjGWdRq4qh z5JLu?OjOSXB&1cPCyPJ~8FVsHJsXgaR+XMC0x@LJiNt~O*?@#;ud*kLYa%gZ&>>;^ zhZk1g$BBej+3UxaPZM<5*R;>`{Z$(Yud>%&XTlx!6;VAKuotWJWD$try`qze>e+yV zw5s%E5r`p!P9~~n0}|4z(vw9Xh73BHsGbc-NUKUu7J(Qt=wzaLHXtFbDm_^QV#uJA ziR#&agtV&kWD$rVgH9%@X9E(_s?w81AchP&nW&x(NJy(nPZog~GU#NYdNv>-ttvfP z1Y*dblZootfP}QF^kfl;A%jjP!lXa5NuPwYs`O+Lh#`YcCaPxx64I*DlSLqg3_6(z z-<288gM_rI^du9AA%jjPs_)8h3ggsw^wAGr`$GKbogsq`iQl>W;cNfT>#FIM1grk_ zoey8zcOVeMnbW!bUp!*%4?m_VcIxj2bV#gz<`HWr|9Qwr=fSFf^Q%l6$>($c)9TL)u5vo$B>S=-w`${iHs7jrxrwKajE4>(@ zDs`%!Cg`xQ^kRgn)Tw%!pu@h>ixH|)r|M~f4*N?^$(p(^XNYj5~D zvSDYS!@j1UxDer0M*L#={6U9(zjW(yYtP=6V3lcqW*B#d;XLS&_|fZ6T!3JeI#o{- zbVx`qMyN`is;3D$>?^$(p(=H%o+jw9uk>Pss?@1^nxMnJ(u)zQQm5)^f)4viFGi?J zovNn^I_xXG7@;b4s-7n3u&?xDgsRl3dYYiazS4^ks#2%wX@U;>N-svJN}Z~w2|Da6 zy%?b?b*i2w=&-N!VuY&Hsd}2A!@kms5vo$B>S=-w`${iHs7jrx=MOsUE4>(@Ds`%U zDvS>MN-svJN}Z~o3Zuim(u)zQQm5*t!sxKC^kRgn)ak7LXQOZ*l*7K#ixH}N$>&d) z-#O1NGU%}H6>mLdf}qnAJJ$T?%li8{i7VdPs_wq|l(qDeXTzD(A#wkGr>uSdg6cfz zkhtR59cve#UlDXjeCxa&Yxg{?Z+Rr7aYXGPE<@xW_$tle@# zMbIJf+TYr-_TW(!!DpujPCRDqx}VpRm(6qalNTKlr`>eS+LK=po(G4oAPH7&UViM_ zOD^AzV3n?q>bHdGkT~*`<0mpmuuAK=%AiBy$#9e1wW9Jc8 z@0F@D5sqreU@vJ^@d*12I+>`>gM_rI^o|4q@0FZPgs1KCz4G_R&iv?S>pXab{dv&I zL^vwESL~aQu+QMJE008V9wekyrS~cjc(3GSB7ABvzE}SK*qMLh5*-zfus;tvnFvRP z_lkY<5%w88cIA<%&Vz)ss`Oq30`HZaOoUHA#`ntKA3O8U{j83PN7$bSolJzI!h6NO z`3Ur>GY}EkioMxef64-ibvR=2c1YfwLA|JroD@`hfA{?AQ_e_um0q7F(hiB5~g4Ogz8gH_F|P@pC;sxFnz_D z)u){7#VWl%O~@f(dhPV;Q%?3`m0q7F(hiB5~j~Pvig*h zy;!B!rwKVEOrKExel2^kO0QR+i_#%s`a4V2r<{@SD!o2U$YEd8^=Fp+T=b=nw(nHx zlQf$?4lN^NK4I8@vkf{VG$Df!5C~SO6W*(t5YLc9LK;NKAR(;`e9c3K9QKt45i&?f zD+6mcWXNG(X%HcUgtRhn4TcOk>?;i-WRQ?n2KJJWA%}gXL4*tv(#pV|7&7FruQZ5| zK|)#?*xN&f9QKt45i&?fD+BkakRgYCr9p%Y64J`Ry*6aXVP9zwA%ldpGB7iQ3_0v8 z4I*TakX8m}pO7JkeWgK!3=-1Hzzi2M$@-S{ax{Lxvpol?D+qNJuLKGj+(2 z!@klWLIw$GW#HK$WXNG(X%HcUgtRj7j1w~Cu&*?TkU>IP8F*F;8FJWH8brt-A*~EN zrG^YS>?;i-WRPe&{S?wXXSQLz++kn)38+`_`FuPo60G9SObyTHMhqErNZ3!eJ|=!% zV$cQ&R@v)^mhownWz7E*;SLGY{(AqZ0ei7Zuj_NI@jQ?rhlDhU;h5S{k&sq~K4+{l z$@-S{eG>x5|*izS1B<1_^0p=yUigLk{~&g9sTUq?Lj1F3p7a*IW+!N`nX) zB&3yr@7;wAIqWM9B4m(|RtCN^8ZzXtuQZ5|L858@`Q+j2VZ=OVwqd>8VPF2F{74wI z!O8pO&$91lYi`#rfhm06-~Q8H;uAdyojC{rfnb#~Fon;Ac!nGj(jYjWUuh5_gM_p)FolNIP8JNODh8*^l1`#qyNGk(Vc*u~$zS1B<1_^0p zU$@-S{azaLxvpol?D+qNJuLKQ+UXb!@klW zLIw$GWnc;q8FJWH8brt-(R4S38!^w(?Bfpm+P(d?<=k#nPO!>!H-*ppx0%5m5;ij& zQO@n`#VUKfo5C$){-5R&cSxA_*ZaAIy;!B!F@?{Dh%rMB326`lN$@-S{azaLxvpol?D+qNJuLKQ+UXb!@klWLIw$GWnc;q8FJWH8brt-A*~Ed;UPl~ z`$~fd86>2Yfhjy>$YEb;5Fvv^)AipL;T(PSJM8IKQ@E~q%+%vi(IKJp05KjF30CQK z%+w)64hd-xA%ldpGB8tz3_0v84I*TakX8m}>X0FaeWgK!3=-1Hz)T%7$@- zS{azBLxvpol?D+qNJuLKGj+(2!@klWLIw$GWniWb8FJWH8brt-A*~F|)FDF-`$~fd z86>2YftfmF$YEb;5Fvwvv@$SLhYUIFD-9xKkdRgeX6le3hkd0%gbWhW%D_w=GUTwY zG>DKvLRuM^sY8Yw_LT+^GDt`(12c8Vki)*xAVLNSX=Pxh4jFRTR~kgfAR(;`%+w)6 z4*N=j2pJ@#m4TT$WXNG(X%HcUgtRg+Q-=&W>?;i-WRPgOo2iYM=V*F$hkb1V`0a8E zw<;%CWxAWG=lzvIhlKrwuD>n+77__o+3Vd*Z5i|bW*c-!=&yj`^L7CR;eFK!Gxbb} zXUJh+X%HcUgtRg+Q-=&W>?;i-WRQ?n24?DzA%}gXL4*tv(#pV09WvywuQZ5|K|)#? zn5jdC9QKt45i&?fD+4oi$dJRn(jYnAQ^KQtHLqZxv$RHuD49vSBLk{~&g9sTUq?LhrH)P0RUuh5_gM_p)Fz<#8IqWM9 zB4m(|RtDzXkRgYCr9p%Y64J`Ryc;s)u&*?TkU>IP8JKrNh8*^l1`#qyNGk*LZpe_s zzS1B<1_^0pVBQTGa@bcIM93f^tqjb&Awv%PN`nX)B&3yrc{gOpVP9zwA%ldpGBEFk z3_0v84I*TakX8of-H;)NeWgK!3=-1Hz`PqW$@-S{aykLxvpol?D+qNJuLK z^KQtH!@klWLIw$GWnkV78FJWH8brt-A*~F|yCFjk`$~fd86=wS=3OJ^Ihy+1VPBg7 z-dj${R^GNG(E7dGYhs4qcZS9Kg*DeWG>8L`+ z{Oo;|$RTm`IS)=`uotWJUR4=%NId34-#(Ngz2^aSxx%v#j1aH#(k@A{n&N{tJGnBbnvg@{$(Md@_21qO zB7Du|uu6Y59mJCUn{Ch`al&q2E z=aY~6AFJ>BxT=_4y;rItp}%5ZWv~~k^g5nv$8|-Agfxh-uH>*vo$y>6GUSku1`#qy zNGk)+wIM?e`$~fd86>2Yf#=$gA%}gXL4*tv(#pVdZOD+rzS1B<1_^0p;JG$r$YEb; z5Fvwvv@-Bq8#3guuQZ5|K|)#?c&-f@a@bcIM93f^tqeTZh739ED-9xKkdRgeo@+yf z9QKt45i&?fD+AB9Awv%PN`nX)B&3yr=h~1Vhkd0%gbWf*f056%M$B_&8`jGm_O*X? z<7*`5)%IUcu*&qu_*^@)awF)Fuzz*qMiO(t{_6==8SPK3{oYQ81pj4^e%_6Q_topw zb1m-~S0A>y`qLlKJwxwXb^oA4;y--zzpwtyTec%u_2Zxa^6JO;RRo=%`j1~){lgdk zLyn5X?XNnt`jzJ(V>Wy_w!Y?vmgTTY=U3g;=#aSQDR-}4_A}EN>cuL3J*o^kB;Nmj zzPNhU1;`i{m9MKq%j(6dAN#L&t-j#gKnyF9&h;<ofEvpMT9suKRPPlX63;*Vj(+Wq?-dDF>2-Vs z10jdRE5H7!{u(R^R(=1b+sA9Z-xKLP{Oz}m`^REOMdJ7V%_sZ)YJ7Lui&gp;e5y02 zL*ll}KQZp8{VE~RRXzKU$Em+R^H;(756{~epCH(2I)lVx|MjgCPb}=ks?WXg;}g$O zBv_@_t0ylyBwq88Kgv&c^RLNlg9NMYyMKLrn(W^zI{#&PeS9)yr=FlgLjR)DcIUw= zb;2qc*A*QS(jdm`BNM99>$uKCh8*^l1`#qyNGk(RULivc`$~fd86>2YfhVt!A%}gX zL4*tv(#pV-SICgVzS1B<1_^0p;K?gw$YEb;5Fvwvv@-DI6*ALj^m_G4DjgCxJpSg1 z&t6He>JL79)A(6$e;=gtjr})`pBuANPtYN8-Ot}N@i{dKR{i}?-Zb&)ISE$jb$q5D zz8-Q&oObD`wT${ZChWy3y^in7gbe?#OzUg3 ze^00S3O2&4l!5O@g$z0DYr6Xm)+FIoM)>!p`lF(A)dhbzR;8nwDP*=mhlKtW#_i67 zRq5Rg8G5fsNN@M`V3jhkNDKvLRuNvsY8Yw_LT+^GDt`(1CwRQki)*xAVLNSX=Pxt3>k9RR~kgfAR(;`OqL-- z4*N=j2pJ@#m4V4JWXNG(X%HcUgtRg+S%wTb>?;i-WRQ?n1}4jpA%}gXL4*tv(#pVO z88YOsuQZ5|K|)#?m@Gqv9QKt45i&?fD+7~d$dJRn(jYTN63&vLK;NKAR(;`+&@Bw9QKt4 z5i&?fD+BkBkRgYCr9p%Y64J`R{Uc<^VP9zwA%ldpGI0M08FJWH8brt-A*~GDKSG8a z_LT+^GDt`(1NV=RA%}gXL4*tv(#pX7BV@>7Uuh5_gM_p)aQ_Gya@bcIM93f^tqj~h zLWUgnl?D+qNJuLK_m7Yvhkd0%gbWhW%E0|2WXNG(X%HcUgtRhn{|Fg!*jE}v$RHuD z4BS6Lh8*^l1`#qyNGqede{erP=92f1cLQZ$Zy%3}4hjA1=^)0VBEc%Xj=eo($RQyO zB4m(|RtEO=kRgYCr9p%Y64J`R-X1dKu&*?TkU>IP8Q9xHh8*^l1`#qyNGk(-d&rQ( zzS1B<1_^0pU~dl@a@bcIM93f^tqkn#Awv%PN`nX)B&3yry**^eVP9zwA%ldpGO)LY z3_0v84I*TakX8ov_K+cmeWgK!3=-1Hz}_A*$@-S{c~eLxvpol?D+qNJuLK zdwa-`!@klWLIw$GWmJ1R_u3ae|2^YQtqknD<5AHe@$m2d?wkfO9u)~z>2>V8Awv!c zX%HcUgtRiS?}iLH>?;i-WRQ?n2KL>MA%}gXL4*tv(#pWT8#3guuQZ5|K|)#?*mpyQ z9QKt45i&?fD+Bv($dJRn(jYIP z8P&eaeegq9zJ1(9m4Q8RJSsXQUh{;vPVAy2Sf$soCx#3;B&0!%XU<-%((Bk0Lxvm@ z(jYIP8Q2p;h8*^l1`#qyNGk(- zV#tugzS1B<1_^0pU{4Gga@bcIM93f^t&D0<IP8Q8Bvh8*^l1`#qyNGk*TRmhOT zzS1B<1_^0pV803(a@bcIM93f^tqkl}Awv%PN`nX)B&3y5?N{7CF4;F5cOPX`yAK@_ zckOuf#O_0aReBwJ$#~{;NJxVi&pZ>V((BkuLWUgnl?D+qNJuLKdr8QU!@klWLIw$G zWneD}8FJWH8brt-A*~GTB_Tr&`$~fd86>2YfxRST$YEb;5Fvwvv@)=lgbX?CD-9xK zkdRge_L7hxhkd0%gbWhW%D`R{GUTwYG>DKvLRuNsUczg8`S4ecJA*Q+oq-OCKYsO9 z6FUP5R_S$I=i`~vAt4Q7Jo8MbO0VNO4;gaUR~kgfAR(;`T<0M}4*N=j2pJ@#m4WL# zWXNG(X%HcUgtRhnorerL>?;i-WRQ?n2CnmvA%}gXL4*tv(#pVf9x~*xuQZ5|K|)#? zxXwd{9QKt45i&?fE2Fy3dEI^Glq<%oRvFb*ONYdVzH<4*RZD_ZdL7r`c;<9SNP`&9 zJQJ$Y>$nC(h8*^l1`#qyNGk)^V91cezS1B<1_^0p;2I1Wa@bcIM93f^tqfd)Awv%P zN`nX)B&3yrYcOQUVP9zwA%ldpGH?xs3_0v84I*TakXA-@4f2|J{Sz-8uP9|yR}>u* z?_GVy#1%z?ReBxQ$9U#+NJxVi&pZ>V((AZBLWUgnl?D+qNJuLK*GI^Z!@klWLIw$G zW#IY<8FJWH8brt-A*~EtA0a~y`$~fd86>2Yf$Jk=$YEb;5Fvwvv@)vegX?wo>gu@K zl~JvBIwbag;KGU3PJ&f>9cyAzs^^_^l{@VQ3h7YnDLIAcCX%Zq5k&YS;y>N{r&~gSH5)T zYW=UW)9Hy_s~4Y-zalthkht=tt?HaFpSF6>lPZGFcYfit)$g784>>9lzw_YyJa$$Y zJStY5e&f#7TTZA5IuHE%&eaExTI8sn_E_CnhP<7csr2=z<|{gxsGf01NUKV#q$22K zqWbiMgtV%(UsVL1OjMt}l8{!F?#>lKCllp&mxiY}_EnYU-HM>2JQCIS=t)ScN>8a3 zK_?T{Pg9YQR+T=#st7unsD8GVgtV&k>3K!a$wc+r93-SwrSA_`1f5LaH;c#JhlI4M z^iviUK_?T{-*h4&tt$OITt(0!Vfv}dC*F45y_+lj?^;H}tL*ikBr(&e&o=0=ujv<* zf72-vUS+TU@+9F7`x@bYttp>}6Rgrtc~^fAnNB9EzXC-&7IcRi(e^QW11AQT=se64I*D-{h$XI+>{cx-ki9Rq1aeRRo<(RDTbd zgtV&kSFS38P9~~1trN6&j5u6Q8zxZ*Q^f=G;`!1bKR5Kh2X;pEa>oe$NqMG4I zNUMtTT%SQF6V(hyLRwXv=lTpfnW$zs64I*TJlAK?$wW27k&spu=ea(EP9~}uj)b(T zIM4MNbTU!Ra3rKv#d)sJpp%Jeh9e=ZD$a9#2Axb)GaLzNRoNVLXt^TjkTCr`&Ttyx z=6^LJ5?*Dm`vf?g$GD5qVPDhFC}+4xc$K~G6JY;d(P3YEy`K6=u!{3spFt-R)eJ{M zT2-9q`V2amsAf14(yHP-*JselL^Z>akX9AvxjutVCaM{ZgtV$S&-EE}GEvQNB&1cv zd9Kf(lZk4EBO$FS&U1YRolI0S90_Svah~fl=#Vh&^V~xdUd4HCAja#Q4*S~c&njm) z60G7p*B=#~NZiI5Zrra(nD#2pbNzYHAz|9*uKuVZ;Z>aHGT~M1E25g=*o#%1=lTpf znW$zs64I*T1lVVAZZrMu$7>?vtkn~AGEq%rB&1cvS*y>WlZk2~BO$FS&RTs2olH~{ z83}1san|ZH=wzar$Vf=5inCUqK_?T{L`FhdRh+f@3_6*pCNdJzs^YBGXVA$+HIb2! zRuyNhK7&pss`-k9w5n`IsV6czBuxKOIgv%etL$~3&W7_CcWOH9YkF@vkwwC*>~){c z`uB^@G7{3N;;hwY(8)wKk&%#A6=$tJgH9%@iHwA_syJ)) z8FVsHO=KjbRmEAW&!CfuY9b>ctt!r1eFmLOR1+BqX;pF7>NDtMqMFD^NUMsoR-ZwK zglV6(9-8nf&RPR8Ugvb!*Ixgrav~$aD$ZK{QPGLS?d3#9!n9X$*6PoL4hhpfMfFD& z39sU;l?kt6UlG+r#$K%Atkq}G$wW1gk&spur?WnTGnMH#oULhzb5Kvv$wW0Rk&spu z=b%1=P9~~piG;MOI0y9^bTUy*OC+RK#W|?Ypp%JeS|TB>D$YTD2Axb)(-H}3RdEjL zGw5WZnwCgNtBP|_pFt-R)wD!HT2(eb)YB3j5~g2SPD_#SDtp~0r{O%tU6c;{n*ND$ zT8e~M+3P+z_3srO_O;jRX^8}@I0y9^bTUy*OC+RK#W|?Ypp%JeS|TB>D$YTD2Axb) z(-H}3RdEjLGw5WZnwCgNtBP|_pFt-R)wD!HT2-8b`V2amsHPiZe=|K_?T{Btt@4Rh&`!3_6*p zCK(das^W~&XVA$+HOY{WR+Zh`>q&+V3DdK3l8J;@+3P;l4CgWKaCF$$^cm$O6A7=f z*L|w#-zz%oYp>Un3<*|oM(H!?WTKj6NJy)SGfJO9Cll2qLqb|roKgA=I+>^@84}W} z;*8Q~(8)wK$&ip%6=#$_gH9%@Nrr^9syL(c8FVsHO)?~;RmB;l&!CfuYLX!#tt!qa zeFhy8rhP_vXu_*FqYT7&ozr1od;R!wk|Dt=&M5s+(TT*T%SncWX|Ljp(w_$%5~h9n z=#MHAUd0(D6JEu>BC1J-y;#K=rO%*~iE5G|A+0J-HGKwW5!2V6t0{x?Lr>7jL^WlQ zkX9AvhdzT&CaNiegtV$SKlB-NGEq$#B&1cv`JvCClZk4|AR(%Cg!mI3cpE&yWiVpkQ>-CgDf>oR! z`V2amsHO}O(yHS8&}Y!eL^WlQkX9AvhdzT&CaNiegtV$SKlB-NGEq$#B&1cv`JvCC zlZk4|AR(jaUCc!Gs5B+)2iNqb{ltIF@S8;ym&w~yL(>@vWM->UL;{1>auVP;j z)s(?rtm6F8XVA$+HD!>HRuw0XK7(_D>2v<6CIH^sdxB0TstJIEw5oV-?=$FRqM86m zNUMtX_CAA7CaMX5gtV%7Z|^hcWTKh?NJy*7?uqpTK!=3sYs(2B5?*Dm`!q0|$G9`l zVPDgaDkp$Qc$K~G(?I`T(P3YEy`BI_u!{HgK7&psstJIEw5oV-?=$FRqM86mNUMtX z_CAA7CaMX5gtV%7Z|^hcWTKh?NJy)S_x3)6P9~}efP}QFcyI4B=wzar07yuyiud+D zgH9%@34nyOs(5ejGw6^o?f3SFCcKLG_JJ6$b2{v6um4p!0gzx7@9q6j(TT*LloJ36 z(_Y1Udw(8uNSOA!c7Ifn@G9QhGvQV2E25eJ*o#%XxAz%zGEq$cB&1cvX`s*GJ>2vy z|4esh-gkR~PA00mGYM%`@xI$<(8)w~cP1gND&BYd3_6*p?#?8nRb}_9`tD4Jgz4We z@6M6%Dtq1U)Wdmwc&1-zz%oYp>ULXA-R9eYek`lZoo? zOhQ^!yzllIbTU!hok>Wmiuc_@(GQtl~YfKPozr_)K}{Bw^aCcu(xlgANJPez)t7DiU7BdtxTMihV^?cTVaTJ|!mI4{KjD3_%W#K%O~2u3)$<^GvC3Y*m-oRg!yOW)AN`E#Z)~v_tL*jeKGtdD zd$CHdg9sUNNSJ=ZuT+1Pi@jK-*Fl5~IV4O!`eoJkYuSrc_WC!LL3A1JkT8AiE2_WB z#a^tk*YD8jjf|!Fe{*WKL5GBqL01|1Tb`l}2Qtdg!W=#bFUOO-)_ zRnk=k9TIv9t1?KiO1jFRLqboJRR#%GNmm(kNa(4!${@ii=_-Q`2|e9c86;RGU1iWA zVV_de*B}X2Nmm(kNO0%tcWM%>n%)!h9;JH*_my$dA9gr8(js*ISNaS(By{~(86;T6eWlN!LqgYol|h14+*kSxIwW-cR~aN&#eJpE zphH5}f0aRkRoqwl3_2uq{Z|*MF5kf>qpC`V2ZGbp2NuBv{3LrO%*4 zLf3zlL4sA>SNaS(B(#@Q86;T6ooL9I*|yMj2KBOC!av2~H9sEJu$Rz@#Gl0pdB`AP z+N*fY_Zf5|@!2wiglVthHQ#5@iNxp13=*cjir0LfK_?QQFEdD(_9|ZUeFmLK+*xLj zFzr>m=KBmfk@)j6gM?|X;x*rA(22ws$_x^wy^7a-pFt-Qca<3=OnVit`96bAB)(W? zkTC64yyp81I+6HqWd;e;Ud3Ia&!7_tf8OnhxEuIq)4YO5V%!;gH?S%v?0UR$@{?^R zSj8*2&!9uXuE%$l86;T6E4a^~L&C1d*OeJ0Sj8*2&!9uXuE$?3Gf1$CS8$&}hlE{^ z&n+`Zu!>i3pFxL&U5|Uq3=*v372IdgAz|0!KPfXvu!>i3pFxL&U5_V~86;T6E4a^~ zL&C1dr80vAt9S+X8FWb4_3xjZjl?hkkYJVRv@;CXx&58?jjesj^vzqp^=W^}^8@8? zfYOPC|7HI1sD=y@roGDkHkIp<7|w$Z3Dbv`@ww={+WwnuM8d1|_phc1uVP;j__i@Gy64I*D_Xh(pWYEb(_zu?0))fh9 zRp}GfKnxjlB5_Upy@?@%glVs`&p6%?i6Mgy3Dd{&`-Agp`%j>9ffzFAWFq`soFRjRw5n{1I!A%jjP z!e1&JGDt|P%BHA8%Yhg&=wu@Ned-~DgtV$`iaN9$h#`YcCc?jbGGvgDR+UXrhn52| zWYEb(_*eLb3=-0+vMK7&av+8bI++Onn&6N@LRwWeMIBlW#E?NJ6XD;;9WqErtIDRR zL(72}GU#L?{OhMf1_^0Z=@~8%Lk68p;NQ-i_qYG_uch(%%ztjluCDZ~HZy{bX(#Mj zaXn0A^J@FACs<`VJ*&-(phLp0mAmI@RBGM%2)h739+>{_WaNU+LudR7}U=#a2$rOqJ1D%0s%ZOEWQ!mgD%g9NKg zr)RYxgANH@E7i|4kYJVR^sF{y&>^8~v&taBD%0s%ZOGttXWE}Ec&+qLMRX$J^hgXD zBusl1ua%Kl@+-=}Qju_aB!&$3GVN8oRz_mTpc4tFM`FkzVcM&Bt&GHwK_?PUkHnBc z!n9ZMS{aEUgH9xz9*H4?glVthwK5Vz2AxPaJrY9(3DaK1Yh@&c3_6i;dL)Jn5~jV1 z*UCr?8FVrcp3jF264I*T)zxRv$wbH)j_RFXI%e(AvYyN5a3 zB!2Yz6Z?$$S=)d9FJ~!T*P#0HdK}Mu=66m%UJ|;xa8&bZ`%m{;Cs@VnvCp7GLRVLn zL4sAh9{UVBBy@FE86;T6>#@(ELqbS96s?f>qMfSFJuh<2BD~b2zHmaCwZ^htjorRwzEX8#73-iYvd*phH3{w8|jCDz5xKgANI;&?E40cW!78r&K7$Skt@bK|1gm(hj2Xk-K%X1ylV5#Kt-jLu zL^!NnRcVc>imP(Wm{YS2IwZ7ustgjW;;QU3=#bFrsWM2gimS5EphH5dr^+C~Dz3^t zgANI;o+^U`tGFur3_2vVda4W(tm3NdGw6`eN~|(Su!`$=%$Qia>Z>(feW!sASGe?I zgsRl3`c4BK_LW|YP?b7W-)W%3zS4^ks#2%wI}LQ$S9&o*Ro3aA@;eQ5*w^&e7b3jM zh#N1ge%px-``UN@-n%WqDt)gIzk@Yjh4$ZUgANJ(TiDwXtWu}yI}LP5NH0dHN}a0j zG|*vR>BR_DsZ;fx20H93y%?b?b*jG8K!<&$7b8@qPStlB=&-N!VuY&HsrpU>9rl%8 zj8K(2Ro`i#!@kms5vo$B>N^c|*jIWnLRIQieW!sA`${iHs7jrx?=;Y1U+KjNRjE_; zod!DWE4>(@Ds`&9(?ExPr57VqrB3+Xgto+SPn5&H(u)zQQpV}+H<3by9QKu7j8K&_ z9zU5Ohkd0NBUGh~GbS_Su&?xDgsPNr=46H(_LW|YP?a*yn#_>HzS1CO`V#uHf#x<% zoU1`wTiHG;3EGBv{26zR#dTLbG<2L4sAB;rk3a zBs6PR86;T68NSb;Lqcuu4CX z6o`4wY=cfF!W2GakdRiDej+IlLk68pR8u&Qgl8^|^Ozrz{pVMd-XE=FRdMC_Uk^GY zv_h*460G9N?=$F-&xvFnhV){Ds?=$ECAMe4L(3wRu^6E$%lPy1d5{kKny#NYBjHs>e5`yPq{F^^ zvh2SeBv@tIf4;0I=#bF8wt9jj!79C8JrB|$A-x!(Ds`%!2kEe{^kRgn)Tw$Nq{F__ zixH|)r|Nl-4*NvE>?^$(p(=H%o(Ji$uk>Pss?@1^9;Cy*(u)zQQm5*9 zkPiDwFGi?JovP9DW#VuY&Hsd^ry!@kms5vo$B>Uoe3`${iHs7jrx=RrE` zE4>(@Ds{s1;4q2WEJ}xcr9sSu%r^4;sVRdq<9M%~Q?m^^(jqk5Ne{%BL4sAB8T$-6 zBsAMq86;T6nX%8HLqc<6l|h14oHF|iO?P>k^~%)cc5RHSs#(jvmtH+((Vi&c8| z3B-^=ClVhk=R{WVsHBk*zUDf1eQi|5ujY8>!+Fplp?AH?Ai*krHTw)YB=i-mGDxtB zU;i;3RyMLqfY!HHDL4 zm0quAYC0sO7b8@qPSs3Jhkd0NBUGhM)l5x?eWe#8RHaVUOihP_dlrr57VqrB2oCLx+8(7b8@qPSxx~hkd0NBUGhM)$BuueWe#8RHaVU z>_dlrr57VqrB2oCLx+8(7b8@qPSxx~hkd0NBUGhM)$BuueWe#8RHaVU>_dlrr57Vq zrB2oCLx+8(E5hyu{x`|vox%T|j(!)lJAgZpsP7-PBl}KfN8-Eo^iEBJRl1{APmpnM z_x;>n|6#dP(~0}MA8mi;k?<;e-E}71u?*KD!oEARnSs4nrN6uoh+)d0lZk5I<&p5r zwR);|*S^kv>|8OL1}cJ1Bz*Ps@0GshIzxW_r@!VTSS4M(S3Gl`tzMrdOt@cD+soWpA^Hn>XuDiT9zS4^ks#2$F z-=)L8(u)zQQm1O)rNh3`ixH|)r)uA&!@kms5vo$BYTu>9zS0$;Yg_A;*ZlNVOM+F> z)%BsBOpY|K!R@ZvOjNrMGxRPnqdF>`hpwW0PTLVYTj}bm)ltdGM_6T$(0Qmzy2{Y8 z>q_N0O&=8rR!LVogN{m0KEmp#NbuODs|+2Lc7uF`+Yvl=>1y}UQOU_iSY?plu}fDO zI(F?iJg4cSBEc%@YKPNN$;n4p9Tf>4yL6SIqtdRHk8nGJ$1Yv%qB<%$`3S2F5N|=$DmnQGtE1BKl91l+JoH_}e1z3esfyosRF%%7|E}e1 zV?OFHUHQ_-%|9tRV)(75rq@^AcKmtc>;C*P5HmV8vA)s~OC*|JUs=CtWg>%4O~ecm zO|P%~^^2Z0kwK>>Vg`w(*H=zD@)svE=+s2aAkp;t%G!rtF_A&1CSnGOrq@?q@x0g9 z8B26(B4o@+G`+rZ$?Nvl88bRH5i*uYG`+rZ-=%Mx$e>dbF@r?Y>npE52nKyysh=o5-M36ETBC z)9Wkee)8^#3_3LtGe|VOzVfMe-7}FvrzTK!tGrVp#td^jqt|;TGGbNB2m~_r zAfxFwU3355`s;D=9etH&Bx1}k$IpZMn4K@0$cR;*k%%$F9M7P>^S2MbwLXtnwRlL&g$k+?og(GZIZ7z)T%7W}IX^Y9w6c$iRfm>7GQ$z!c6|{Qzd_n86vh&D11f z28pH*V5W{4oN;R+W{_z50A}itvBVj-CPK!HMAHW_Q^yR>xHSwRlV+Lp3nur-Bnm&M;I%F(y#;u8vF(c9R0nF4PW5yY`CPKy%iKY)=rj8k$ zacd%GkZAe5!W^WavJDo zA37CbbVuN`zBcbz6{mrYz?4xFIfK1iTNS5)K7&q0k?D z&!AHgIfI02tKu}!XV9sLoI%31RdE{VGw4)A&LH91syGew8FVTlXOM7hRh$O;3_2B& zGf23$Doz7^2Azt?86;d=6{mqdgHA={3=*!biqk-!L8l^e1_{?z#c80=pi>b!gM@3V z;xy1_(5Z-=LBh3FaT@3|=u||`AmQ4oI1Tg}bSffekZ^5PoCf*~Iu(&KNVv8tP6J)W z5}k@j88Z^Dt%}n?mocML5h-JdglntfG|*?zsfe6G!nIX#8t5{X=u||?n2~U8Rc-nR zQ^t%=MWl@J^AdB~l(A==OA;}DUNTL@&#!!vF{0@`<6M$6I49IZ%plS9o^dY88JrVp zB4&_ide1nQOL7M1gqnyMB%0nc&Lug6b3#qT3=&Q68RwFm!8xHO zVg`w(_l$E%&fuI-6ETBC(|g9bBxi6=sEL?CqUk;3T#_?5C)7mDAkp-maW2UjoD*sy zW{_xl&p4Ol49*EP5i>|My=R4+J=aQVkIiV(E z28pKkjB`oO;G9qsF@r?Yd&apWXK+raiI_p6={@6Ik~26b)I`i6(e$2iF3B036KW!6 zkZ5|(IG5xM&IvUUGe|VOXPirN2IqvDh#4fBZr^Fj89tYoQxh?RvxsZ^P7|krZoa}? zvS*xRNSN-3CH8V{Rh$MoV*I?szOPmhIfK1iTNS5)K7&q0f(c&!AHgIfI02tKu}!XV9sLoI%31RdE{VGw4)A&LH91syGew8FVTlXOM7hRh$O; z3_2B&Gf23$Doz7^2Azt?86;d=6{mqdgHA={3=*!biqk-!L8l^e1_{?z#c80=pi>b! zgM@3V;xy1_(5Z-=LBh3FaT@3|=u||`AmQ4oI1Tg}bSffekZ^5PoCf*~Iu(&KNVv8t zP6K@gor=gABwSk+r-43$PDSJl60WU^(?Fj=ry_C&3D;J|X`s)bQxQ3Xglns6(?^&x z#?MRaeqIqdgR_Wh`{@);1O0i>sR*MxVw_7X-D#`hG|&;_Trx%E4EAzuRh$O;3_2B& zGf23$Doz7^2Azt?86;d=6{mqdgHA={3=*!biqk-!L8l^e1_{?z#c80=pi>b!gM@3V z;xy1_(5Z-=LBh3FaT@3|=u||`AmQ4oI1Tg}bSffekZ^5PoCf*~Iu(&KNVv8tP6K@g zor=gABwSk+r-43$PDSJl60WU^(?Fj=ry_C&3D;J|X`s)bQxQ3XglntfG|*?zsfe6G z!nIX#8t60VR7B1o;o7P=4fGjwDk5i)aBWqb2Ko#-6_GPYxV9=z1APXaipUuxTw4{V zfj)yyMdS<;uC2=Fk~C$EbBQ?>kux}1xVE2;<^0f}2c3$@KU+(}wN-H%=rib4M9v`L z+NwAW^ci$2B4?0rZB?8G`V2Z1kuylRwkl2oeFmM1$QdMDTNS5)K7&q0f(c&!AHgIfI02tKu}!XV9sLoI%31RdE{VGw4)A&LH91syGew8FVTl zXOM7hRh$O;3_2B&Gf23$Doz7^2Azt?86;d=6{mqdgHA={3=*!biqk-!L8l^e1_{?z z#c80=pi>b!gM@3V;xy1_(5Z-=LBh3FaT@3|=u||`AmQ4oI1Tg}bSffekZ^5PoCf*~ zIu(&KNVv8tP6K@gor=gABwSmS&n0Qf80QjmDnc3Wd&KMae(ZH0S++lCb>&NUt{(b< z{rzV9?HbpcD-Zno&eaExI(z>5#{8#Poj7>Q@i)+^iOo6j^{4LJ`>o%6<3&4u?%0lK z^ybRxH||`$f<%HEe<@#TwN^}9#hK%(i*mEU=Aeoi|*g9M$Lu#5*k zdg^bLBg~aN6qk&h!irH_)kxA>)Yi_dYoP-^pM7d`C2TbLE^b zpSF6>lg5lK!oGrZYQi$?9PG#<(dfzLiE-@m{!oVfkz`>v-`6P96X%2vwxSD(@mjow^&$4$Fe@43)38u9Kk>C}W} z*tKCRe*X{u>5)wnk*3MuVB$_@Lb|2pvjA*;T29AV;W%zy-iAEm`yC{jat8L&&NLYsN zyOu$s>4V{JK%(u=8#odYmf`mg%OKITtrEZctOtTlO&pjc4&c~%RQneq_K!!UpPAr! z_)(eDj%xp?FTUfli3}1})jHYtKkAGNr*5xd3=eU?#Wn8UuV-*nBL^Y4Fb zM_84ghvt%sFo%6zAG34sL5=5t9$IBivahf{_V^SR_q zIu)S|zt_&^l8$iNs{Br^j7GfsdO8)M44)b1bIE@s;o7Qv;!uVY^KExVry_LKf>?6G z91^azGk_Q~NN8u!w4~h!#F$|Y`?}T+2V%@1VO4&#_PydZ!`U5&4*NE3J9U*|y;#*c z?du6-?CS`pue;aoICVxNtjaU4yVve&AjS-H*tcoB*MgX_7pvOqcCYn4(N>A?YIY<| zb7rvfAmMw|G!Z758HuJj`&fqWiFQ=JM_EQqScdO#k!Un$ILjd6dz59=#E^j4V)m?uoWu_jgYd?RCrGO7!(=GnH#QLSHeO$Vkws2&4OzNW!&M`HE3SwRX*^2xV|3 zvX^VC@)e^D5_BqJD+4Q$glntv6|W&(d?hM_1f7ad23Ml5KD(1O-Byh5gCu+{O%rxk<4Ppa^krDP_B27l z*OFz_gk^9gl4$xetX<0>;cLk^yRGo{x@BM`F8Ru^`P0`f zwdO<+8 zXzOapzs}aztEdw(s|c&|*F|7mE&12k`g#?0B4!m~RsOmNtg9veI$K|_qE5uDBCN_^ z7lC!Ph({&bRvUJMdS<;uC3}Tr(7|SL8l^e1_{?zwS4$1 zCo-as~<4R`sDP-#(E+ry_C&3D;Kj z!sowdB7;svTR=t7>|4GNZ3*owkTsyw}=V@;j$}HF<~Y&x1}y#B*JseFh@3&f zwN>#B*JseFh@3&fwN>#B*JseFh@3&fwN>#B*JseFh@3&fwN>#B*JseFh@3&fwN>#B z*JseFh@3&fwN>#B*JseFh@3&fwN>#B*JseFh@3&fwN>#B*JseFh@3&fwN>#B*JseF zh@3&fwN?3kmF{XYIu$Wyr2Wbq-+k=Pz+Iw04>}c*?@=UNTNQVSK7&q0fVS&!AHgIfI02tKu%vXV9sLoI%31RdJW-Gw4)A&LH91s<=z^8FVTl zXOM7hRoo@|3_2B&Gf23$D((_}2Azt?86;d=6?cg~gHA={3=*!bin~OgL8l^e1_{?z z<-5|j`^?9<;ggARzcQyH#*DOInbUTkedB&L5@QDUkD7?{E{Uf1jrQmn)F@r?Y z`^Nn$XK??hiI_p6>3!pVl{2`1)I`i6(e%D?zsechKWZXokZ5}Tw{f>V%g7mYY9eNk zXnNncU*!z$A2ks(NHo1~+^=#5_m7&086=vX|6R_l&oXibotlUlB%0ng?pHa3`$tX0 z3=&Px{|5HfXBjzzPEEuN5>2-!)|}xxnK?DFl~L?h`^Npso>;j{^!qLy->*oR?uhZT zS9>OR+N!uqbi|BKMdS<;uC0o@M4v&YB60=^*H*<{qR*gH5jlf|Ypdce(Pz-9h@3&f zwN-JK=rib4M9v`L+N!uq^ci$2B4?0rZB^VQ`V2Z1kuylRwkqxteFmM1$QdMDTNQVS zK7&q0mF)}_F=nLw%AB_QtatlLe;(XFY9f4c zH||%K(dhMYzZ#EfoZ+~C)I`i6(e(PbU*!z$A2ks(NHo1Z?pHa3`$tX03=&PRkNZ{5 z;Qmn)F@r?Y^M7Y_Yre`EbZR1IkZ5{++^=#5_m7&086=usANQ-A!TqBqVg`w(=l{mx z)_j#S=+s2aAkp;txL@TA?jJP~Ge|T&|M!Hq=Bu1RrzT;d5i_{sG`)%aDrRv1sEL?C zqUlZSS22V8M@_^G5>0Pnzls^$KWZXokZ5`n`&G=~{!tS#gGAGt*so#+_m7&086=wC z#C{bsxPR0{%plS9CibhC!TqBqVg`w(H?d#E4DKH_5i>|Mz1i&&{dLa$qb6boiKaKl z`6_)!5&IQ)P7;cPb*4poeJ29L&oSLwV`OkQ5*w3p)qV?Te`PO+m*4pp5lb}-*mNEa0-wpq* zUlL7kuDs^b9c%bq{Vn3;uU>K^othXjK6>ef{k+;qAACheG*}rZ_iFh26Oo|P^m;g|sf?P~`i+s{ z%%_iP{(HjRyUR1D)6Rp0W%$>_GDtLiFsu?1?W?wdBOzfKzOF2TMAHZ3YTsIkMzqzp zfg>R?WZ;S-(e%M^)lOZ5HDMW3*Lk}J4~E@`MB5EEa3mxwV`{%@^ue%;l4!fy29AV; zW%#~p?=Fd^4~Dw|iMBg$;7CYVhTlIdgGAHwGsm5%C+O6~fsoON`M-EN-pP1W_WMyh zs+!n89+iD!Q4{90jQyk5Z`V{AB&^D__4#g1%>N~lt@ALVY5OgR?TKAuhQ8-j5$3S3 zYyJH0c7#>=dFbZ=D#9H0b!|UkT%QLCtMZKT_k@Q@=HDLwjO*#JuWJ#$cIR`+4Rl;v zhOhjdn9n62q*D<(55ETIb4f=yJ)FnZ^q~wV=D)XngJ0X`RD?2oFS+l|8#=;itMZ*l z8BW+WNT(u{QSFJ=%W13f{ZScC%;%D`=~Tp4#yDlXq9dHPD!(&qWsJoAXVIw$W%xa6 zK9`(L!nIZT9Znfe*n35%B9u|xYps{lR^|6yWssm#5z44$2J7XtRr&m&3@85gPw#yK zor=&^>x7-T6XuX`t({>zLOX+|CG9>HVGjGc*6*=wM_82~t#;9hFo%7czHGjWZco@w zt@F^`peFVqWsvYaYMQVN-{I`2 zNHon^)G|o;9%UIdF=UkU?tV;9^U`|CS!&l<@SHHU>ysuUH3RQ*^c2smKLK$3% zzWVG=*7RjqyIa5SJbbEV8NQaL3A?LtC6Z`*eplPtU3IS|L8m4xgDa6l)0biGZvFoG z_^Fz&rQsev9tjD{;7TOX^krDPmO;YTl4aDykb#v*qUp9`^j=k;WtdYFmf)A@m@-JvsR(6o?UHb9RldfQL4r<2 zY-JRy-Fi7~RldfyGCs8c?5mv<&YTr?uZP+<1 zEv?l9m|MBok7C1 zXIydSsS_FQSVko33=*b2_mn;mJx|MgM?|%xb}%ZGLhkqWkjORAYs}w{^;Bt z6B+JUMkMMC5~e-lFMi^bi41ovBNBB63DchO-SbbL$Z*FpB2j0MFzp$qTyWAvhC7xK zi8_OXY0o(S!V@Pl+_8*E)EOj9d&YD2o-mQ&j%7rm&LCmhGp=5H%tVGemJx|MgM?|% zc>B*BKat^%WkjORAYs}wKK!)fCNkWyj7ZcOBusn8=YICl6B+JUMkMMC5~e-l8<+f} zi41ovBNBB63Dcf&^s|qh$Z*FpB2j0MFzp#=J-q(*% z-zBRuNLZC;bVQfoRhH4~ee+L>s*G6GGC+ikeZ!F`qiO%SaDOUl@0ERz&d=7WJfkDJ z46m|`UfXxcs`H3dEdxZzu%ENkD$&ney55}3AfcZ;v(=-2!6hD*{Y;v#E7Shf^yjvG z9`4vtMWS0*OZJ~tkudEU{uGuo+;N&jok7C16aEyIGu*L^NYoi5OnZhuh2;!)EF%(i z1_{%i;ZI>X!yU_rM4dsxv}gEJSk7?AG9poDkTC5T{uGuo+_8*E)EOj9dxk%Sxh(w)1!n9}jQ&`S$$1);OXOJ-M8U7TOGu*L^NYoi5 zOnZhuh2;!)EF%(i1_{%i;ZI>X!yU_rM4dsxv}gEJSk7?AG9poDkTC5T{uGuo+_8*E z)EOj9dxk%SBVQ?d>-ytMkI`W zXu@dE@JTik?pQ`7>I@R5J;Nv2oZ*gTM54|hVcIi%lFb?JSVko33=*b2!zbCC;f`fQ zqRt>;+B1BT%^B`kMkMMC5~e-FC)u3gj%7rm&LCmhGklWG8SYp{B?pQ`7>I@R5J;Nv2oZ*gTM54|hVcIi%lFb?JSVko33=*b2!zbCC z;f`fQqRt>;+B1BT%^B`kMkMMC5~e-FC)u3gj%7rm&LCmhGklWG8SYp{B?pQ`7>I@R5J;Nv2oZ*gTM54|hVcIi%lFb?JSVko33=*b2 z!zbCC;f`fQqRt>;+B1BT%^B`kMkMMC5~e-FC)u3gj%7rm&LCmhGklWG8SYp{B?pQ`7>I@R5J;Nv2oZ*gTM54|hVcIi%lFb?JSVko3 z3=*b2!zSl?LUzY8B2i~>Dwfu#^*+hw^Ki#9GJ)?KjFUbIX=V5%n={<8j7(G+B&3z$ zlWfj#$1*ZeWss0ohEK9N!yU`WM3q58S{Xjc<_vc%BNJ5y329~cB%3qbv5ZVq86>2Y z;gf96aK|z-QDu;jR)$ZqIl~>x$V8PvLRuL<$>t1qEF%+D1_^0p_#~S%+_8*IR2d|s zmEn_Y&Tz*vGErrakXD9IvN^*Y%g98PK|)#?KFQ_`cPt|lRR#%ZW%wkUGu*L^OjH>p zq?O^5Y|e1UGBQzRkdRh}PqI0~9m~i>l|e#U89vG840kLe6IBKYX=V5%n={<8j7(G+ zB&3z$lWfj#$1*ZeWss0ohEK9N!yU`WM3q58S{Xjc<_vc%BNJ5y329~cB%3qbv5ZVq z86>2Y;gf96aK|z-QDu;jR)$ZqIl~>x$V8PvLRuL<$>t1qEF%+D1_^0p_#~S%+_8*I zR2d|smEn_Y&Tz*vGErrakXD9IvN^*Y%g98PK|)#?HaXW5vOAWMi7JCrv1$M56rW`C zdAMU4kudt938Ov3C)rH6V;PaCGf0^B44-6khC7xKi8_OXY0vOUHfOkF8IhT8gY?HcaM z_SbMkH6{}EHAu*I4fkaGYdE4B6N&m7BxJjWd$RpC98rylM12hsvR%VH+5Q@isK!L1 zz6J@|uHl|+e+@@eVpe-1}fqo2UM@NAsge|ykT!#&yl8jh$&KT%hMMA%WoJ=y*mj;KaI zQCEXR*ipkh+5Q@is760gSA#^@QNumi{u+*`Mn6$kgGAU-!#&yl8jh$&KT%hMMA%Wo zJ=y*mj;KaIQCEXR*ipkh+5Q@is760gSA#^@QNumi{u+*`Mn6$kgGAU-!#&yl8jh$& zKT%hMMA%WoJ=y*mj;KaIQCEXR*ipkh+5Q@is760gSA#^@QNumi{u+*`Mn6$kgGAU- z!#&yl8jh$&KT%hMMA%WoJ=y*mj;KaIQCEXR*ipkh+5Q@is760gSA#^@QNumi{u+*` zMn6$kgGAU-!#&yl8jh$&KT%hMMA%WoJ=y*mj;KaIQCEXR*ipkh+5Q@is760gSA#^@ zQNumi{u+*`Mn6$kgGAU-!#&yl8jh$&KT%hMMA%WoJ=y*mj;KaIQCEXR*ipkh+5Q@i zs760gSA#^@QNumi{u+*`Mn6$kgGAU-!#&yl8jh$&KT%hMMA%WoJ=y*mj;KaIQCEXR z*ipkh+5Q@is760gSA#^@QA0iF`W~_)s?kr>)nKnU?8Ut`k?zU%e-1}fqn}tj$vCyw zR|Xw5+>`CE;fQMV6LmF6gdH{9lkKnJh-&l`bu~zY9W~sO?XTg8YV;FzHAsXVHQbZ! zui=Pl^b>V8NQ50V+>`CE;fQMV6LmF6gdH{9lkKnJh-&l`bu~zY9W~sO?XTg8YV;Fz zHAsXVHQbZ!ui=Pl^b>V8NQ50V+>`CE;fQMV6LmF6gdH{9lkKnJh-&l`bu~zY9W~sO z?XTg8YV;FzHAsXVHQbZ!ui=Pl^b>V8NQ50V+>`CE;fQMV6LmF6gdH{9lkKnJh-&l` zbu~zY9W~sO?XTg8YV;FzHAsXVHQbZ!ui=Pl^b>V8NQ50V+>`CE;fQMV6LmF6gdH{9 zlkKnJh-&l`bu~zY9W~sO?XTg8YV;FzHAsXVHQbZ!ui=Pl^b>V8NQ50V+>`CE;fQMV z6LmF6gdH{9lkKnJh-&l`bu~zY9W~sO?XTg8YV;FzHAsXVHQbZ!ui=Pl^b>V8NQ50V z+>`CE;fQMV6LmF6gdH{9lkKnJh-&l`bu~zY9W~sO?XTg8YV;FzHAsXVHKOOdu%`Fw zh-&l`s`2^DPAG3a>dHl5dVZ_nnV))NOTXcE*3!RCzd0GUb_bFF%pDrtgJwSRZz5%n zC29^M6NzVc)vv*+#*{TrD8Du5{IS+~OY~~EEz!<8?=x>~-MnX`d;QtJPQ*>`JifeS zlWCm;w)^5DMo3J%@r|w9KH(Zi9dcZG&k1kqy!(_jheLVMa*YG&rTT_G$hcv$q>9*L?WvoriZ^CnK13-ux-8XU}SM z-+!_Gsttd0XnFMiySB5&u7hKYka+v0Q(8a2$Thxj>-_TVkKNMw{q(JdNigfDuS{ue z_RU83_uJ`n-1pjn<@;wo)H!9@d*(1gVw?A`(AxItNFXA{_tB@YCZ92qr2}Rzn+`_Rk#25_T{&> zo?h;C%<998koev$E4IG(P@{YLvcFBoYV+0(<>5bHwY>b9IT^t$9+A8_9UbW&yMMXcl;3sU_3h=GjF7nR_9?9^ zFKl#AIPrI>#>u-LQtmahu(Q%9znNVn%;NWEbY#tIK2hE=>$1)UcdpiCgv4EIPH8=I zLZf@?C91)1EeU4v`#(Bz*{q|>8y?=K^X#pwG#MeGt7q1{M)!ZVSBpX_FBWIwCiIu+e?ruO3Z=R5U5*SW?oAV3xj7`)%InUebCz z5jr19LC2DkHW?wIBYn&M=}xrP|NaMpSvs@p?%e2p=bGOqLRU$;LOSV6>0Kp`kXU@p zl-3cWjqca?eBwV4%+fVBwqN=-|KksdIOeYhln)&D!OmV^xwXj%iOqLkp>@&8jqZa- zJ^3F9W<7q?3a!5!+UR!P^>iZMwEUjsu3!Fa=bclZY%)S(-&rfR*7$OxyV4Q=iD1?q zTdvr;_EU}S*V=zfH7z26da%$^M=QO&4 z4%l{`vh&_wcHaGuHx-PK*m;MQTOV88yROka>6RB0aoy5OmPfDu&(5*$ z+n`{C#2=nswe_Yu6Y*F5Rg)3SdTjY=t&`IyU+%F#C*qv@AMAYTXUmlPY%!-`gv2Vl zuGU)mzD9TJ-|4TKj9}I$7p&I0scdxTcmI-zS3h@k=cMswqn#axS1o`1)D{IJB!0ZhVC(2d8r?T9tG{Y8 zf?3NRIoO(?`V1G|r5a~0u~KKs12f9|_S?E(gv8>5pIEp2;DrY-V!veS;MCUQ7yJ7tqa&Yu_nh+F{njgIyzkjL?2C~2-$c(% z^lSI14>$I@x#j#78|5wEyL^}gv)JRv2}VeK`$sFaI!`vb%bcux?dT4hmzynGy}Wj{ zwVNcEwe4{$wl4lzqx-=x=^jOb5fZ=q_)4uEf0Mo+Z`M8Ppk1~uxB1da<@;Ygs!4)b z(#oIzxY7OiKPM85kdX3CP3Qc-FVQ_px|=jt+S??-ENSqb-%Iz8?R1YK!3YT{>RL&C zMh0}pIrM<-%g$a;cD{1rtxXclQjhbXOB>w>j+{s^LPA&1wckmfys0~mYNYl%sZNsw zvv@Db2}Ve$UUkR0;{J8Z>1Pj@yC1s5Ft5HRH(j~)qk-AI=S*HPqa#23+3fO!^^5YN z6E_=Xgv2l2v2yD-OU&**w7&XR-}u4$<^A(FEH~ccUm3wHUNJer2#MqFn%a8X%SnBn z*Ohokz>{u!7N@eIl%}C-Knqnd87O2`A?-9e>`fq zy#7r~mX{p)Xp;o9c*W!dBP4Y7JTNA;d*~V~aeDv#U zmIsY)R(|f>orZa3@Jf8c6)U$sv+V5dQ}gufJa^9Y@?V>7U#{Lgbc_)aKl$t`t?y2a zD?dG-e|_b0m*4GJ?zGR_hel?$Y0pQm=dNK>6w!dzH_>>;KJRgv5XU zcGcDeZ+4BlKK%F29Z!6yT=|9p4O-Zs0tXi%U0r04GHyy3BrmY+TRD;dG8sV}eA+TIijNO7LgJ}yR%`9Cjz7l_kGr<>=(2~EKiqkxg(R4@?=90?_q^N0*RFi9)BgMZ z<es_@wgOj_ig5Orat+} z@`&qB8D@mU0ejADo$&tI-8&mPx({!B-`MDO$CtA|dQV0$Yuk;6S~qMwySv#mDclh& z-Z!?<_Q#ja-R>D?gv6b<4Ylr`GrQY3QlEU?$7hZ$b=C3Z(>E>EB*858WX?;3MkYr` z9=Pq#KYH;yCzLZ@-D;STiNpiLK33~Jz17(K^G_(3xcuHZA{-&{hlghNYQ&i3xl=9~ zyX=`yl}Db?8fJt9KU4bE>0(-Er;U#X&rix_sx68OM~(H#9SX zSy#0NTQ8@p{niUK2JoIe*XjIX@!{p{8$Z`%gv5P!&uE>q?(FUoJE|wM%@e0|2A};z z`PwyyW(2ct-g|oMBeQ0APv2PgsG+xgxpU(o2bS}Gd0CSY5=XweTI-J0XLpZyQGK7| z{n9sGvb z-PcZeG7*nI`%>rfFYi#kXU;Vl!K}CbX_eN+OU~|&eL(lYQ}_L6=Z-tu<-4xAzsU#* zJ;VL}FOBZq&*-k!UT&3g{&E|a=U;zQMlefHmcvgsx=)<1ze>-X>3LJnolQna==t+! zziMha3ELvmiORJ8S zQ+B+lk8svs?iy;Xw%+XSk2lcyc=5m`=B&BQVdXK$UfX1Z?aJ2O;Hz)d(Ou#5>x^AG zb$+?b#dq`(&Kf>ysP&n(W_RzsL}&29U%YA23LibNeB}4PYBIuhW$VtlQjH^01*rJUvKR2Q-;e2y6YBXDHKW zDcG)TjqmH3oOGOzbS}ztPWqnD{Y)kio>SLp3&RPBr#Md;d1*KH?VzXc;~SGL|2z43^@B|_hi^xf#B z??@lvEPd1VN#k(0+$loe!Swy>r0-$D2-}sdcV3U5{P#rYd!D}Io%CJrBb+70IP24m z?!%Xfkd`DJ=_EZV7-74z^?q>UEnZE8^eSmpCuvq6;VkLcLB}<^zg(yqy4R-rY$x4s z3r5(k?#}ZMOuD;|YUo~@?z6hzW(2d;@4EN@rDwHwiBSJ4^{v#$Di|T5{=>hvY;X`f(Y-EcG%prXQbN{gTutd4KAg6pWD2_eR9}i&R5>pVaSB|EKr;aD;^V zLHq60=-zm<2=%X0-)d3nV`T)hbllX^rH_kHA1?LZ#!^47_lg+Jr|6n=Yx!3mYz%Q+`7?iJg;w*o>UJ&UMD zd~5Yol%9yj(vwj}FiTG?Uo0Bkcm7t&pl6))eA7(NIRzsm^z5S=p+0)LOHX!V=?O0* zn5Cz_Q_~rIc3sub6J&aN97|7;1tTQ%WV!KnjqX$TY0Prro&)8K-@ZJy<>&Uu2xc95 z(WL;d^ceE}an|JH>8Nn6~DMghpOA+P%>| zY%?9*n{QmbJpU)_cCH-Qydc3W9_gH5goMWAHu-p?d;A-9KHj<6n&o{LpVVn?yh%ZV zSv=A?!3YVB$(@s~#7oZBo1YDio>hL~x7T!@K54yz1heupNP-a(e0vt7QE4PtKOKTwx|@gwoDxO!)Swv`f7vEIHNNprz1boa zp}8Mv-p5#)|530l5_&K4kEFXR7kbaB`6X#?$yl0Wk`c_}=Zm*8=^f5kdY6-Z4iXx_ zz9XsVg>!W!>dj9b!7QGq7(Gv8?PF=oJv$#Hc;!z{FpF1D%qdFqiN?~rq9%_IkF;j* z+|g`wH~F5P)imEH&Gi{hbAFnPkkC9JosW2e)ZC~vFKSVmAC(cz(rlPDKG5jybC{kW zHUBEjy&6k%uzK@k93i23SqnF9bgy1o&$XH-ljg{brMWU0!7R=}$O%SB>M>JP0%~Kmo^VOP+kjQIjK3tj$HWJThZ{5o zaQ=f!cfN7xuI1SE%Vf{z%;IQ5PB22^{%;JnuAVWwd)+P?nb>*sxv@)rJFooO{HK~E zn8i_%oM42+70(a0j!z>j&o6#5)i~yy+r|$1>iqJ8X*Xx%CCuXJPEIgF;ZP@J9M)&sJbzNybLz?|irdbdL31;zZ<^&@oG?(I~*U#?$ za0y*k2b_0M=l;`oF0bBp$=(bIUvbRh*~|$>NSwa*jMhJ<&F&t4nsoQ;ckkZ$+^6;} z*L>>NO%lxF*~|$>NX$BHMr-)3v%9PORVupsKR4|RUvhAH)Vy#NGhiksn8j->^+mV6wzI`I-%|eYzIPXl zkl;+7$q8oZX>#S?rykCo8Xdg+%3pO3y>_tt{6=pt7$LzKNs|-I(sRkNziD(gdr04p zZ;TF`7mM(GPiNaXLGCnK1ZkLl~2r}JH=^PZh^o*Sw} zoO2V5kkHv&_)?>L&F6HiG{-B=2rJXfu!01$s1iBB2no$E`{h#U{;`JUCw^qg<(=1G zxMR8N7B4qRFpDaY6O53!{kqj!8>jL1nP;mHx9k(=cb0!?@AAwof8Hd)EUH9KFhYXw zrt-IBB$!2AiSI}HHkIjHm3^c5o#1iH2}VfhyK>00slR)=u0+iQO!EfIG=H!l!7LuP zoM426W+C43k2FtahI$#F+T`BOo3GoZ{Mgt2&?Lbu9=DuegaqHp~ssTS!PB213DltE4;tTuh+SOdnH1kt4K$|3(#m|%zjF8~F!u+iz31;yqgkB|e zlgecZME}NRN)Jve#bacEdmItaRzs*<3X}-L3o8 zG+KAY6LUFFE+-fvq1o7nrWtfUI8N_5HD^1`*Y2cw+u58uW^uk>PB213v%j}YbMAKA zQt#*wJ8ZXdzxl5#XZ)m{%^hSG=Pl+0BP6&^BVRE>f?1q@IXbe>dk-wHS@)Zr>(}^v zlgCF-lS66DYM;~pcP>9uPB213^Xbn>^V{d0txv95_i4s`C(XQXl3*4;Q%*2KLQlxm zsuZqcA;Byjg}6%6HPuPiR_~m9KED1!&;RG#$edt=1drk9$R8d!wEV!4r**bCW7ppE zxsRxxg!enV(Ov7v$L8`gDvzdUwzy!7RN`I46zCeC4y6txkdw5*o9t<{|6-M|$_6 zcOb(gn58!<)m%;zjF8Ycd^N+AvyeEah{uidnc@vrdV8g}SlPTK5_+?BOqyS^{sp=Z zayAv)VixCRB`x{c)17?}+Os_H>`!I$uSm@L>$KKOX@=?Nr|1lFRv6o27U!3Zj(ld1 z?{?nvy@Sik&e}GcM@FLj#q`$S(+tx!Mm3|6v)kAfvp7#K&9XT2pw5hWN0lcZIz5{Y zM}qS&^I3Xqi&+}KtmawjjiS#7j}OlWuh4kUnci{gU1yU7v-JLR=jpS%kNiTPTyI8A zFhYV?XuN$*?`rkVc9;aSI1@N07$L!HI=@QzIarTpGmX8j_M6V?@7=%L;tOjv86mOW zA*;2nY0U2aeRx!FKsM zcntHuitUo-9O!%oHX|hR8X9#@BhFxgxEQ{-Nd?kYI!aXF$amavE{&q><->1hX`v_ny=jUG$LVWoVq* z1S2Fk11iRl(};5?jXW15n8mq9Il%}C&VY)s*ECXF-hcYe*_t?w^?FrXZ^R<4D>`{u zoez!gnqY(kk9v%~rjc5W*cK$1r4fsRFKl#=I#lOF?x(}VN^P%xw6O54HQIFBuG|yS{oeL7ok{(}_)(Lk{)qEe#jyAyv37)5XRu~Cp zaqd@)My0VUjbUXgCpDJkwT~LHI6Tekd;OuBC!-NB6O54Hd5Y1fGQWf?2wwe&)nR_uH%L3~FAu2}VfpJjLBP%{$lp z^MVAkq^>(1+~}^otj?hB=O!2-!SfVKo$lqjrxzrc#kpTO!3c@`oNFd|nnkYJU z&dbqQO|^zsV`OQ3OygwP8eWZ;c@?fkaUM=16GLZdW(^5ONbp*SF|ss&Ui0V+63kM+ zYu7I{x}Tb&t3;$EBX{$r^ZP>^62XYb_%BP4kB#7e!iuCJ5U z_hswoIb%m_{=S=z)kF8{{fAZqnqY(k=l;Zs!?ZrJlh!E~B$&lH8acrT3C_`o^|fhj zZ6~d<&GsD7T0-v{pfRU8^V3YgUu)D^D{@URLV|y7toluBgga@ia6y7uoX?UIjF8~x zOWK}xJW0EqbkeRT*}M$SxX=hvwWEVZ?$W4TCym|}jA-1?dopNjY1a>>Hzq&QSU3qr zNbvK;$X(j!Wi0LYQjlO4XT#(KBP4i4;^{7}lhJyaY(^tz9#S!4)Y%Hh2#H+b^aNQ~ zgESQ*_N+-e4vnRqhqAdioPWb3lAl3FNbo#OUV}7`VLY*%c>R3D*q~{ww=VUWw^=#nTvHv%MS=6z3Hb^To$I=STY{svi2RzI7|3)y2%GcYE ztnlt)ho3go_Woe=zA)6*EF`VYliz!Y1>qgc7@0_jj`f3SC!NAO>5!1^tgn7{s9o*7 zllCJkyps+iB))%4(BnJl6y8aP1hXz)Fx1X=(kZ-?4kIKEK5VF+?W9w9Cmj;Z+HCis zws*hj?MGI4{uLu6ww@QCBi3N0IbMb5c#&Y%%G(dMtGQ}v9$DdeWQ>sbco8*X23?vD zS9m@g31;0kd#LSsa=rb?3eUM?gv6{FL+xr_U)s&8uriQf*6aQ_v+X&Ty}5&h=MFML zV!_PrPU`NDF)kKSCZFA zD@K}LF~SImx9&IC_PwOHVx;L6BP5u`&(|AIEWBcb5fZQ7GuW=yf27g#@$*4~Sv*g@ zG5x};2N)sos|{whtF-`WZ;`@tok=ij`(tLdtNGMvr;x(Ea7IY9PM_JXditX~Y+ks( zOM+QX+&;6N^{ET@sTm=$<^wa^?w9uZqJ?{}B$zdKxuJH|-%W4B3-4gY2#F_G8fyE! zVefry;eFLeFl))-p|;;H_TE7jext|;32CL@nD*Y?6@C*(f?3jFzgG>yZ(kW9vGhJe z?P}k_w2NTjT?9!mOLuL*$LsBkS9pI>Mo8#xQ0+*XcHb+!hbakW>Aq6!ld3z8cfe$X zg#OxUN76KByYL>SjF3>zpnBVR+SNPyG$X#2 zV3zLl)gGqlS*`Hyl#Gzj^;XTYn2cc7SN}1yUG15fp4AG^%V30ruKa4>sL2Rs>6=#V zW|f|V3-3+E2#G(PJF{KwG&LE)EPdyz{jbufLE$}w7$NcQU1zqd9f2kzn6>d%GuzcZ zMd=N1;djD}kT~xRGuzcp2$K=aI_e*T?dmOZde2#Sw*^K>{Q5_O?QDOBT7p^My>_sj z?E%sB9uSO>xaq@#?P_*g8tbbinDy;l2iw)o6lvtH>G^PskQiKUuwBi8oQz=Bmaold zS2G&Z7;@9ICK(~|(`#n5t9jv*5zN~4!Wr#qmUnv7&`j?odNauxA@M)k%xHUtdGFms zEy1jx49{p+D-_b(rKVRwFhb%Nf0*9(eh0nxQMClKPFOs>UG2}1c3T+sZVQZ%(4O1g zd7-zue~x!_Ai*rz-VdU;vr*G)c-cc@Uu%P>XSB0*!cDIeW`x8gH_Yhu6UWygH@y~_ z1hcOC@{D%2-nr@Z&Ww;)dzYvY>(A4g>ZaFJlVH}_@0-!CR>h|^?oF?8XN1JQE6r$E ztK!o-`eCo5C&8>I9-iK=*6OEyiiW*Ph!GM?-!Q#ht#ME5&xgJKoCLFU2E8u5x5j-F zuW@H&A`#;n|6WHw>~-`a93fG@5dQJC`omtU&j<;ArnDBInAY@u03?{jBi&m^Kga9n z`8i~J?*tx^-rfnr-aCO25|{mLdb`?fA?=;e^xg?1nDxcoX0)?6aZSI8V}!&~Mu);P&fb_b{l

tDmty5EL3BC<6kVpdz1%#FV|USXoY?OXX#nt7!+YUaZVG?=-6v z8B@Lf>J2*A)p|8>IzS{M9-!7AFzEx5?0YN`KQefN5DK=SlH6Jy9-&pG_>vLFgThky z&m|t~SC2NyvzlDutSzs9aZ)0>Kg!)kaFQNS9B z0R%IWZFu8InE}d%IHceVdT@oI$?)2pq;-(Hnm(;FEo=qQ`2(0-c@tnVUrI8ut_)jL#{G7X~r% z4jq>C9e60Zm#e7wy0+if__Z!gJd+bjC>S!Hs@A{FjQ_k#2~y*!YxTQMvrwz~#fmuG zk?&qgL262jlw#%mI-_O=p0ELSn#%)n&P42@WyEh|7}fTEpw~-rA0;topalrd(58{f zb$eo(mVpph{C;=_u=>Q99f1xc+xa2;dBf+vUdfL&*`-dvb`wf3RCa*XtP?IjW5bs> z&4|GlWn4{jbb~_q0Qy0|V}N4C=w-~xqqJ4~_!8)okK>Kd ztM3m#gyhG%n2PI!J3C#DB}%eAPDARDxa$4N`+M;d_6ZxW`0mkqVkq|rs;v|9fE37k zMbV5ZmF3iJ{EONy8RB5#c(Mdj^FtSKz&sLTn>*&3dQzUt#!tNFmGA(H3d^E1n9Ii` zST|)>;SMnjJmga(B-{At;aX34jZj$cshLF_^VnEUEItH45*b*Fl*G}|N$*=CyeYY* z_$u~WEM=V8IH1kIYIW|O zaKoOE4k~Ea#}8frSDJ$(+H`h>$(Il4Y*uESMLrn?geIp}AFCD@yTdBTBsmCzP-jad z1lCb`-raXg9Ei4vzsjaw0vXh(B+j8Px!LhwSGgu8zN139J}CbBKBcbCL(H?0w`N%- z0@IvQcumO>ycf6{ha~H1>R{h;*>})8Olul=flKui6>%6U$PBKY8<$vj_idQLDS=_p z-oC72FL1It>JI#tBub;={#c&odN*I3Z^J3gSbaE?9lb&hLuWAKd>kG1ET<*^t-eDn z|Hw4n>hn`w?;IMge%fULw5CA`(_!k_AO1_yu!X@(KWN@)O|(DyF|@U-2xm}>7|?-0 zPA)TqJF6r-r`>;%l8S|Dx3oE)1 zac;e{5S~#2nTT?tFzwfTNcWlmzoZ8k;kdeD&U>9fWaD$x3Y|`&iNUhANHuCGUj}b& z=F9N$d(rPhP)on4Z+vmLyQ=Q%52^X9Q^Kpfc;h&MO*)l&&0 z_Q+fC@_s-T0s)nH0+%bgsG>>%&=Px|2Gbf(@R#?K>J}XmI~NsB6&3}yS9@aU^(Ze# zB+0yPTWse=i<|wOdBHvOm!U00nwSzwmUv*!Vc-(Teh_|M!e`bP7mFn>QOgV!sI_-F z1ztI42kfpf>q!Z&`4`Bqkxh!&XpfK{#cxwE#(K zeDIZZT4Fn<`sja8e~uQl6ze*w|H)^x_jD0?FTR&jnv%?MrUJGcTxLJ((A$U1+}7P5 zkp;(K4Pa#;v+J36>XmmiT3JkP-cO4X`vdRg*tSbbG7%6w-hv-5(Dlct2WD`$9gPkr z(_!SUX*bw{ni@4J{mWf*V)e^mUL6d+E_-GsWToH8qNF_cN{C_$Tt)&BWaAj@G>OnB zv&x0|ohL(&Hx4*zz*DqKf~Q(a^wjq=)k|tpBHC&eH}0m=z(Zf)CN{{Nnuvuy1}n}3 zrdb_r7(t?DbD45nB_{jm^4;bgyT326j_kx56+L}OIr6%Q^4((^MPd*sqGSGBL<2Fc z?MFIdHyNnlhTk=H8>gR6F{K??36OL2L;o_s%=8MeQVuTcvewQ`%&fuasxs*I*e>-* z|B6$^j`>h*gVSo%G+2~NwC@sv2MCsd={*RC&>|KG5;OUpf@^vw$%%F~t0z6qc^VSJ zJ-Uy|gM>1uJw+Z}OJU0rN`B*AKMoEuhl;u|Za$!w z(cgi?)q%i|k{ua{eAggSXp)`m?e3PK0zv7Gc#`7!eon=5Uw;>>-mD}S9_cAtUp8?u zSyRNh`!kNAzPUICD6+dHBqXMP_!iv@luLeDn$#c+nhj@y;acfdo61vCa-9^02T4GQ zn&KuF#jL*ha1u5`e4u5hOg3yq{=*_k(Gn0yhpckiKcZxT@COf(l@0D}ci|3S zk!#i_0gO7PM4=ZE;oSrXV1&)&%YI%XaC1>jDcd;A4VZ+~qJj=WQvATtK%#=eSZKQR zl5-8{ot*(gm0ztH7x>X~NK^mfRv31>f^YR&SRWTGR&q_tHGY%tb-<)^kW~Sqml?{gtDTGD)C_JxO_~@skAE9p_m^Ee~&k9ACe~u0NdZ7yEx(K45_6ERJQ}O1P(4l zjKNY)?n{M%cxqOxfZ*ffG`tTL)phnJcB8A}VfAZltTb)T*T-iML$hIIp*(TiV$JC9 zc3|WNDofIM&G5wA4pOHgWxFpi_#jn{b0$yU&gu7RWe(yQ71%1v>5kO4Vix&OiFQ#N z+G%WU3cGc}V!DzVP8Wa|1w_6FQWpbe`y~wlbL03W6KE^ zf09l6rSOci6!!8eCaSZ_(6x}$2hK&4RO3QK9P!$O|(QgHF)%{iyh*PFD$0Ey3~ zZm0Yy^}8A!VQmZ=yU|Z7m;6mbeZiQLIU(rfZRam7o&ddEE*Z8D zweTPp|46I^v-{1PO49wwX5o@c z9fUbvSA#vWS1MQhz{a(x2KTLH$B?F3`fQiN_3{Zqy6Q?SSZ9~AdgXOt(0ymUhZofJ z!xX91$434P?a%n&)Um`leUW%8?M~(d^Azb!UkiAT&kGHavN|RNGP$^^S(`9nS)+-f zW`p*?bhw^M>YPtBlUzc8|0+Z;?#wIc?VGd_y}kAlewTkMFXUAPegQ{N0<^{x-(4#?U(!GK7@0sh%0WT zP^3(7lr|PpS9r)yQtXRFr8yL(Xo`(vcPj%D?5*0erW(qPZqPY}S*zeC*5KOyKEq4& z>V)dxsh^tEJOPcvT^JG49!i)?XqiJqoq8=(FZP_wML&-3n@TyFK$DO>()rbROXuWL zxYHhC%zDWiV#*_eS1GfaBma1ytkzTi1rq!`O43rxp`4Hye(T3lhVF_yZCU)@VXTC5 zIn{Wh;MQIVpnPtsRGeI^35$d@X}3|>M=M#~`?c&rY48Xl+oxuz@=8*oBDi!T^o?r6 zsUA_E-d*RhXaOl>RH})xG66$Z4UQ#oSeZfNk8tKrZmn&UJ-=v^3=7|X{ru^NoFEv+ z{U~vpEfbk7**YaoBzFGjvdb^?649x4j-6Nzy>vu^TXO3hgU>IyVkhNwdS82-J5x5x zy-m+033CNsxWQ3NDVerUkt)vE>vFn!qs(StssVi7N0QfeZ%=P7Yoj@L0OV(?v^p-~ z6AouxewQoS~nZfuLrWciW4<{jWY(BB{HjmKbm&gS>q4)ZE`WSPAtKw2TDrc1OcflYt zv6a6I#F8kePg%-lV5;-WqmK!vka%0c(h7o*1U0Ad+z-uzQoHo*!uR{(UbmGc>r_-; zj5iaQywM=y&njtg^+w}eGx4ZqNG|x&f$6mggf2<6vDv1X$gs;UHOZ&;5$@ITJ}IO( z#_RCB?8U0^9Y3Xy#+x2HuFC2M*z&8;gd7MGNYH;9f@PH`<=d%Uqb`AMK^BlLe1Xp@ z`PX}rWs!F#)@)~S4#}6Nj3{RP!U!R2uewGOZeHfE9}Rz=`tz)HM_pDOsYk!?VSNH8 z)vriqOcJHUO7h}Z9`#)YQ|;D@dI{;a(!F9Z92MnTM$!$07YE;IydPDAmX;i#)e!}u zck^(Qq`aNuT}&Da|5NQ)yU#n)h(&h}UfC0JOFc%XUoR(LLT!XB?Q5KU>+&E>*{=5% z@V)7t)2rHZHIRE6g5=akw*@yRE4I~DF&Lf&eOmN{rwyNXHoWW z)I|0aJ7Y$m{zCgkDRo=+ca2BY2^&XJS=d`127?{imN1gR>U1&eT5o7!!gzi5$&(jXaiE0uwHDEGmOSfJ`t6 z(N@&CZ(gR)1o#MBgS0}2`*P5yg2$MI8O!RgBJC~-SZCP-f1b#H9tsTd zdtL^m4Gq9qlg0UC*-c2l-TTS8%t4y}u> zO6An-u}Ga81GTQFJyz3Hi0LVX8M;uZM+A7>e|Zzxea6fjH$`9fg6I1ys|Hu)y4o{n zlTo#~#<||tu=IY22gdKRrjU{dzsRs_VOl=nUMYL4Uo9jPNOX6qYZoZe`M!*R6vWi5 zh)4E>`}(03r$x9pXjbFGwQ_t| zn$W#H&ZJF5>q&9Jh=Mcj0V89qN5?mSAXFI>9NSPS;|^ey`aG+ z+JG~n^V>*z&{Lxx8kAQ)-;0~~;Oj}AnB&C;r$XHyl{1jo0#nP&L!LA>-LsYW4Na6x z3X$0Q(CeO6lmHC|>gPz`V|q`!r2bj2DNu9^FT6IbXo+#rxYaLGbkCr#11`DCZmDM? zobvkEE&m)1OGJsIxiTvx!denha*hj*luzU951Z*X#uscY9 zs*9d7>^rwZ2LbmlIG9f1+v$_9p|LwxhiZhLi>a+za%s>?qAhd-Kf$1*-SySk@q0N? znq-8Wo28oip|fHu;nqzdYzxQP{D_$W=?=Mv0gdr&41JH|(a~GbX1ypYQcp+|8Wb~U z)Q*aJ2IZjoD7lDD{!C%XqZ$Nan8$j4Bz^fnE?$19#Q~mVD0$h4M*MW4#Q}(9D0|tc zNQiv2C*75z9)LsRf}ip;kldz5Bws2?=vw#76Crs==Mpx!m#f}oFYDKRZ`mRmDGS}< zpV!U68G#rj7wJ+~Ys6ekG)|#dEpweUj@6ejm`UAqkxr3lTdBs__gc6pVfiJ zD$SwAkJc61Ozh;{1vb)?a5r$rL)PQ=@|jQtY2fEb7FRWq+tdN3yrMV*k-9m1giR%R zoLJi7tT))gU*NGy`8=ZRD;b-GJ*$;XeW3UxkLE5Qht>pfpl%)Rz@pM`^??VyJ{soT z76I8#yadkBC-2eA3Vb_IfozS>3~wY>%JNJeXBss~>wDdFub1A2`q$yH zZ3!2KR|V{Do!PzS=FrM|FR9DiPYYfHBp=VRj9&R|PX;bG4tFkkHu|;^$$|BKO*uLa z3j^iRqx1Khui>lK!P8Rh`v6L>|3mI$thh)w#N&*PDCf)l)K>e0@=Ff5rjzbXw_&T} z$&ycvcry4J9bQ(lNOxU$Bh64|P)rl}7T(a>(sEuS;!jl4Uh~rQm)b_>*1?&=Xi(>T z>&Ja}_7Mtcok&QRUEOB)u6|NvtcI}L&n~^8;EL(`Zff=0F%S@1uI@^Igw4zPhQGUN z@r~Z)snMgda`MIWi9>89RG(s@q7;~$pUO_n^g!B!E#JEiOqEW_`s*Qr#LLC1>{mz6 zNITCuU7lplH+pB2xhxTb7uMjFe$iuYE9Y@pPP@O zP=o?Eh}*g9>eL&W1K^7@q>!Scy2asPSiknx_ie6SZVqm#Ztxqt=|OM0JZZGj$||Vx zR!BBKBxh`&Y%fLk?kk6m-!!zY?M!$L=_c7*(2`sjU5Qhy9TwS^d5PV4+m&MOYz;Xu z+i&mhn)P1s7+kV)t+cEcExxa}-5vpu6K7jpP9I%w>>e&FOcz{DDRwqdoX4Dhj=n>yJ*8C8002HaLyrr- z%C<$0#tHeqdJyxsPz)@r?(DvVjvxVlJMk>O;(rL?Afo)%`nH08n@j*}1FHUBK4&LN zAnpTwOAs{->vdA`=jwydhpPwm2Y@d=3;^Yq#G}p^-wLWBnV&$=k3Cc;Xt({TewD+S z6CyeT0m$X4hCAKuedW86`vG@WFKY63h~fNu2MNMnT*CX$j;FOpM{p0mY$Fo5+5I*+tJvRQ&Cv-|FHjU@erCjJKJ;8(Yd*~ z(Yi6w+BurhF>r8j(9tu}F*4HprJ!;0uyruV?PDYLv_Rbb|w)p>% zYhY;S;><%x_@9aX`Teh+Chivhoypee|CsgHK)U~o&@s@`)BV4(Ia`?if3W>$%WHn z#rhvrIOQBIO#XW5Kfd5);HLY(`u-0+H{E|6^)JW$@2dPy@84zNh2*CDXNh?siKv{y z0RZ>`B!mT&-2pFiz`c=&H%9%`=DpzJMeXLRoGl2;$$wEs7OFRVqFh+rbh8b`!cawm z3JW9?b_Z_@;X|Bt>t?-VtZhu{h{G2X2bl4WZ(Uzr{$bkb&hf~t026?{Ob0;H2a@)O zpa&%F1No;B;7Ouiy|T#R@bAw5Qt%__1Lyet`oGxzLxBkZ$U2MFC!~+?kF@_X`a{$Q zO!xk~{oi?E`~k2|VRi}X|KH`V@}KMgAeE~D{n#LZZhIH#;$f0a|D*AugugRZy9BZw zvI-eNPajCEa9`g>H4X%vo)HjCmOt|%44BX$YGR4ee{Jov5a)MEkH;O!T(x+$zhIEs z4APCe<**>#CEUFf=UW~zHOa=ikf{}Z`?q&SrFMH`z__=S8{mSK0Ym$odO@ za{S+Rg6x0&^?)ofVE4*~ZWG*&9~)Y1TSD9AW^8isGFEQGk)8L?s3~;Mrzi31%YKzz zs^L(vM0mr^(229QX=~B%fxvoG9ESJ6J@H6ret~ya?~f@xbo=p=Q+Pbsz5KRlZIkS= zlMx4oe;k+#;+#{;?F7vGaqo7h{EkmK0f$n8LQY%F|KpIv&?JQo4aV$B1;=ff; zs8%SE0dh1hn|rTbN--S&o<`fvxLp!|ncl~MxQqK}1TxZ}(RYV58)@scM(}xm=lu8h z&TCc8vdr9sKsQ{kHzQ!9Y$r6?5Gv9UcK7(~g@~vQ*`!^|;Us6_Zu`a0U~nYG{lE`x zZ(vpg|guwEyL(vA*STFu;&6I#uzpJH(F7csMUm=D?fI&2UakteFYClk_Rn=XMhVYUeU zO3!R zAjC~wkec2L_W0YA<+`hhYo4v9@6)cQRQSD57$q@)vMJUag050Hcq_7HaP;7fjc>61 z>a*VL$gFMmvg-EhrgeA1)f93G!8B5d!?vEs0WQ+W@SnK1B*}l_2OokNu)2X0^<5X0 z4#x|tn3)+WR>)c6bWkK2-|mI!WV+wQf{$szStp#G1n4XQ;cBrK@ondq)~0Hbh!j+@ z091U&@t?BhmoOj+BrKe(ltJ{yQ5j=zL!+ozqjwL(r=`Ut6~c(LDKJk#hhds%uzK)) zRd@|HO^{UmiI)d?_o%vtJ2Rlqf=9;y#j^vZHsM%pqzf{xFIY4cw$=v9WQ+2zDFmtb zcrNTCtiREx?Fbf&hcy*4F<@=E+7vU82@jVL&QhI<&*;GM`(nl_v8ff<2^I*CVkY9U zfpfhaFLgGY`)xuM{917gng%UN|E&-7Bj^wF=m$8ImeDs(#1GcS5nZ?wtLLW|OhtDV ze#ioKHz<2=c~t_VR3>CopUgTsP7vdov<$pcX{QIB$&UDj5yIb@L`E|D=bxNIA3%hd zzioJCOxM!Nou6y|B(i;$CbwN#ha~;M()gyQ_%hPt&ML`dP8yS6M#c;T;HA`avN2)_% zU%%@StnwY>s#CgKV~4hzDpedn>$N2jbbne8U#}T+`_f>rk?C>jIt{~LX4`iRbISdV z@F(X908-66z?R5XG%B~d!S2e^IqQ-9QyTR3`N^W~yn$JpbsAi63ZgGiWhUSJgST25 zP}P?iSg5l(z)phF7Mlh1FCxA_o7cNLv2tSYzW4yIpDgqy5%&-;vbP6EDo^z{)mse@ zzleS{-O+WRG`-Nr${qr{BKc=7BN*x?L>av};1?ViT>eCE8+To74 zJVv@5$6_-&IDy;S?#vVI#dX^|!`c~P!J`>SPUvrQF{kVL8ZU8wzqbcLoJ}+H3y1*D z+U-wJ!+*=;+ufqY>buruN@#mZx6%ev6wmL~ZqpedcAit0gU}6o#uUWeE9ZIGyQ~;PHs|V<$PL$8cEu)fRBpcXpJ_2e5mim_xUGPFI-k5?Pfcf$)CX($)1-*(03x@4idwx;ePX$ zennX#%qmxd=P*0!~}23+9&bgOIZ$@z~~NV2G+tpzpPz-W_y6 zz8!)iRS}xo4VyI9Jmx`6H!!@I)!w*{D2EI{HEPiX;D(=Wb&@7L`X*Rx`%U@Dx9;^D zLHqp{`Vsq^W%}9&!4}Jn%6{47buYsy8MBxL4y4fPgx3Ofrx4*ury(BY_$cpu}ntf;zUg! z@+n#E`|a=6&9u3oD_WE(HC0N&VwRs`Un?){PE9A)UWkB}j)|Z`Bp7m%>w+Bm(;*pT zm7h;i9y=N$+Z+fC6E-!e1H135RWE$?)6`0l^ujSKv2 zm^~M^YV`oCwsrx=D%cIcV-`J3TlxE9k+Vny!$qCHUw4 z72@Xm^9nldQ6D66(R^i1w{Et}uhcPSYQ0-bQQcnb89sVUuW!x3MsV#Q{LKB8N;x&{ zIXrRLtDtW)i>Sdft=^|Lcgl5dKCteO>midb^Xu0Yzk}4Wlfvda46Jf3;8y@QZv5Tu zGoj*lX^~a|9(hCDh#k6K_@Bv6T)f^lUixF*R}c`Q0Kp7t_i&Mvt5s|H8Z95IS9CyRi5)tDJpV? zs_d5k;xdB*ca_6u)q zw>NfYnO`9a$VPXGB<5VlxZ0aV7~=&l%HkS8MVdu^KTfj=s%CNF7Ex5Sz2GZ)GEprF zwJ!EIe6PDoP^H=o@Hw7(;aX&JeY>G35__kLQzL`n@u(D&8w-_kNH? z1Lu51_T92iFU;f#Ul<^p3ckzWg81x7&BBW>=0&f^4;Gv;fsPn^sJa2p%ch(x43rR!)wGK! zx09X#TjOl2+V#`24RT%01|2CyAE_2RUH6&O-HtCNdQ zKBR4{63geNU{u`e>qjT}!oD-=VOFAn5{_DZ^tMO}>9pYkjZx;h4hW>TjJTPt1q z`1w3O( z-Sj;n77oiS7mVjwSq!y$7IHQYpJ=n>NEQ42hQfMiVpdc=0G8J$KO}5kGw^#pfo6K5 zT}4?E#6U#AmY3!lH@aS*j|SSul4ic6oz82@1Q9G5?WCxDAYiQgmwQ6=v~}C{0r0<~ zZ;=YnK+IQ`6?xU`#2ei63mJM*I1G{X&|t2puXG&i2_h_P(9OOrHHkz1BxXg?@IJ#+ix| z@0?2g$J3g<)b9~)!oq!N8pf*rg1>-q#3Y31M}@8T;k)^PZ!|`YC+yPECPhU+=sYJ) z+4=82>7S?!c*oB_qfY)^1ahZZe^SO2c#=I&)AhMa&dbGSIPBF)5Pziy>>xF+pUL|LBW`HH;1QSU3d_gmLL zf``iCXe=u}TUXl6d~ls95p8dd%2qfH%gpF)qW5k$r8_<=1*$VGS$f)Tz7j^GeQZLs z7mjz1{pDPZ-o%_M{c<>+h5`J6M-dO@vjGDDfFQwa6#$OSlH2Zd5ILO?n(4JHQDQfdTsk{cIF+wqx>@STzV zVsz~wUzwQ}T8RRbxsOl1dxN0kZMV-K@$w$QFZN@vHY0pv1zw|1{3HPQb}+^ zV@6-0!0;EPT0}2KdL=XY{s|C3Qu_&rUtxdnolU$Ca5%Da7mLE-D~z}xv>e~NC>qumE-yI%U! zR#R1@k9EQf?~CuktJnQsc)u{(OH`AQQSl3}?4`S{p$!GQRqVRA`yD2jW*~CsK-$2+ zqJ2NJ-wufKoA!(J|r2rWe82pO+HMHE@JMu%i z8BJKHp8lJa(8CO~+Bg?YQP0mb1cCIzRh#V_qIxG$)X|)(q61|A|B+RI0Xd##4#|fy z{S^0Z??+>M^M)SDdIV*CS&#X?=~=C3lod(n-XZdQe?yA?;Gb6m{I(GYhm8|3&qs5l z^j}>y2g!ijYkbM;|Iu9!PY=fLa(MvpX7pomjB>miHj3NpUV3Z#-3bG?%?%61YVMh> zT@c1Kf3er^l(>uQ{Ea{#@OK|S!fR1eY4Yl`O{odk#72uf51dbMMmMt)eJ9jOSWbzh z$J2{5sOt-mU_4niZ|tOpsc=msO|Ky5qVEp!o9aQqa>;Y{NV_~8mgsJ_Dk}bQjZJ)< zqR(w6dN{kJ?%?5MWcR#^jOgveBmAlmW^29Mn1_|Ev7grzf4cpY+jv?poX`)C*!4P; zmWNjGFMxL{3Wvl)#~hZSSScJLCHCk8OGSCW=1?7ruE>F&pT4|%xj z%{aHzMq6{Y*PFlR_3v=)0*Pj>sUu#&V%zp&%JuPvTy}vO7^Jf$>9%0s_j(k`&&&J) z|LMaYYOxJKtpWGvTx8fimq1@`M_NZ|6)j^>Guj_&2xqD3MUz?{(dZU0#f;t(m>%kFpiI`}HN&dUca<%6=$fyvYJf1lH20 z1GnXW*o<^HQbo5v+tcgtVk0%@_~>)G%z)^0oLt4B6sQ`|I=4^0t;>rHY$G5DRS+yH zN-!q2Os{ETTI!+G^DBrgrU2shL1a`w#=w~!e9>Nnc&_okAn$pGzdu`GP*5_mfj~ew z-$sU2pCd6~!#cD-tX?!iUXCl%#{!7ZZ@Xpt;@qZ+Zd&mpof zp72nMKS7FV`+^TI?_Y$8^lQwxaLT@;PZH|u9@{x2p6@)uUx}!$Y>`8QbXFZ=mfPk` zl~yBS3F_c(z-y(@XM;DL`3?ix=7q&qy#WfUSJR)tEH9)srzvvS{O_&o02%e)<`~O$ zT0uLg-!X^X{O{`9jKG4wPniFfxUY09nhyiO+G2=+S|xP zWHKVHsRioYR8SB$VEF55eS%eKl_(n(dwr?hP*gt}fr?pZ>nt|0Pdn2iT_skxFI^n! zEf(M~b}vK=-9WDAU9DWz<&<>u&#);O`*+%jKwSUS5Bazd;zVnQDKUJhv?KF0TJ(N% zgr7Nkz<5P$frKlDpl6EX#Z)z09SA6-jP>L7p%ChwzBuy}=6;Xyq+^>6I2S9|LM067 z{ogY6o_E~UdJkwlJ|8B`Q4pbcPXlVHX-T}oP;(N%JBorj=*jeMs*49nC&lgHIex&> zyXp{Qm_o2#zf0%sD?o4CUj;T9pDbUgxH`N$3gi*+IO1+<(dO{IKs6)`(Bq#9%n_iG>{#(5twP zoW>gS!C6KWpVF&a2(;NY6r6IkA#Lf2KSc&mqFWM#@`=h~L_gTJV-|%yjg+YE_=hdW zjHU~8t8mKsHvG~F`ZN#klv&#cYu_M*@p4lU)uzC?pbH#i`UjjR%l3!ZyPI2m-P>r3 z6s5YB;|Lz*)r>fHkZAkd8=Z68tWkfJA%`tNF?>x)LV(8&2}r^lAyShTio5=D_{wK! zD;WHX1|Fl$dF?H-K>I(50D5$&& zDf#z0Q%VIoH=w}B+)r&~b?Wlp z$_cr`oYD)Ww-1F!8<#0#;*-KCXOg^4Ce<070)~YH`i;p%TvXt?{d3{J?u0}HQ12%| zXfm;6oR)2xTx?JwBdg%CF@jF%G55rIjyXb5enG}9J5xx`SV9YfoN4@~3&lYyhx_}@ zfE92T*#~BP{2J?*L@lngDV?TMat=&KS(L~OQeKG%Eg92!+A$_LvW>AO(38p-=Qsdo zMI6yi!WftKu(F3gCYx0cmIO^oYlz;-&C*lO*$}sA|3I35563_PI9*aO-{oWstSoI6 z)tpw2xMwW4r%t5*e{6koc%;p@?F19s=ER!Vwryu(+qP}n=ERxUwr$(FJ>Tz~d%pYJ z^JhQZRqxwXdspq+Ypq?|^8ifkW4`V%QHB%PP)^Z^z@w|_`(`5yl=)4P_Q~a8dq;ln z=xE=Bc%K&IWCi!Z$K{_w!s;OsSces0f~%Q5#^FYCUx^d}cb&PZioN-{geUBzI9a#Y zjn}4O1sYWR|H-NVo`n?a9@BpK!wJKM8_>gxq;{nS>ujIdYfLc}WIEh&Vks~r1RtQ_w~($ zR4y%W{XuiJ#rf3#MDG9P9c-DtJYf&lROfyF-&gBSckhZE?MpV!&g6C9bX2y}E5Kx0kV(+ImyB%KWVm)+#XA;xlU6_%7VT+RA2QfOLz)e9tkMY$8RA?X}c`F+x=Q3JLXEIJ_dX0}su zUhdI(uvB4}7pz=YY9wSi(ETeVj+aiKFYmwOTM+>`>0z+}Ie?@9@_N7~TtKbTp)<>T ztFwj!qPG~Qu9Vd@(t%8~Q4Gg3oZ*_3)w7u7-9z?gGi19kC)vs4@E@EFB4J~^Ca1Jh zzhriPZ1Gj%$f(G?$lCkka04u2NSu#KMyqJdZqS+1CdDX9MW(H!{H5*fnjYCy4Ycrb ze^wGJ*_0X%eMB}yJLsZy_Kx` zk+Nw^;4v?K{Q%D=B&FET3Q2aC`Ccx);e(z6BTf8qc3DW_GwJDCC_GsG$COW;pM|Ab z8@fUjh2!Zsa+m;r1xB{btVyfQ^Wmu~jy}HQFD!401A1@Juc7RlmEn?KJ9S=$mfjarb(bsb*YOAVyx2{Yt0Y^l@RJ z!SvINNm7(-R!-8NS~T2OddbrcX$FK{sxucGzcGHb!4Al9WVFA0qvfK)n^%S{-&t_- z3SFNms)4P$6U#A(qpW&=Yhg2&9TV?Y@#p4r-jVZz702ZuTj6zoil%@l@W?^3cYMFdDZnas`|b};xM^YvJ>5);G|jamd>dTA1o4x>BU5QjT7 z8yuVlEVu4UN?|1W#<*t(cZLs+|Re7c^5TNn=e@8QHlimrOCzXg{mEa|qOTtvc|NTH}i_*jZ9( z$J5huIzHMtpB;wf==fV3zanYHT(V!q$9&an$fvU2#V|<)V+}*iTis8 z5*%$_d#-fP_Ypw;GY)dPqKrNLb1prag%FDS%~8ZPl{Ijpd=!iwXGuXGEWpMC)FY$u z`ZlZBAmEg_h$>~=F&yV@Kkywn|KKd&SQ0= zPWmssLltcpk!G9U8K18Bixwh}i)Sc>B{rmQD$xW~MVN^-UpbkL%1Twh6+dOP=lfLU zHKxew5X`b#Z!O`Of!LC1=D5W6|1;0lP=t-N|qi8MhJ=Q zbrk!Yq0c|e-PuvKi^is?KD>{WQ}=3=F{ZYY)}%rIge=zDK6F9~dJ?n73c(oH#)#n4 zi9mWcqcmo1FrT}|>&L4b4gUkd`^4YPm~9V2$)eaqYmvQAD%TF7w6v7Z$Ou(Hz+c;; z>{QzxTbwW1K+O>*|5vZpE)%X7P4$}t9_BH)9YH&2(Eyx~D29Fo_2A~k$Z{?7cV%bd z{9TO#7rOL4-1Cx1b$z;_Kanu|a#BDf--io#vQ|R*^u#dUy^3}zW1D=)7OS^>Gm)_U z0}5u^EZ`k2@lF)rXb#xb-ljB`1(BzTSRmRHRP}XLD0&T$W;$i@e~5rhXUbwKe}}_m z^JOA&f}EX&CmTdPYGwHVkIth6YYOh(VqhZOv4p?j$^bK)7|L3<4McyM!1XCE8y657K{1B z963&C^sxiAOkLt-MRobk78K1jnh{YRk9`F12uaIWS?!rY%Lq0YSrVSc&Kz(T#cLh7 z!;)*#nj;tp2q?kRdNxTF^}WqireFye3^hr@_p{fg*W#bdv z*L1NAiSNX&(>DQw0g^x7ys~VJhzU$%D>~l{lg@C?4aEYLI{emXx&(>4N=Dc(D=A7c z_%}27P6gB{E`^nUiwl}WgIHG=3Q@2lwjf+8%5@;juGZ~NG8$EPyiALQ+1{de)^lh zY<-sIO0bPgdYuC~{6xgcijIhg2rKIHI@P*^J;erm4`K{JWdQLN-&zty83QBZKr)SH z;DCYrQQKD;+KPTl#Si%ESM|skVq8Y=+-GmWY(*Gp6++7XNbIS&@{D7Tz6t{yIBi;K z)GID7^%rrUkFRs+O9aUllZv;a&bQh_d`z-@;7t8VZ-sMiCE=wDg9DqZ2tup!D`mSz zEF$A^bsFk)HG`>eOrk&3eLq6c?4-3%hHI^+(x^YBCgsd~L!d={Ar#dBl7QUC!1hoULDbIJz7K#s|>!Y%zdBrgf7d6W#Jt+36I{F8!kodPD0_bcaA^9TDYkm(MRhW zmELc6_WZ%hJp#qg-FTAlHG?KzI8^sbLQP7dZXp7Ei;3v@6LwZry%F5&lw;duxa|9E zr)p8Y65F@X-foT3l{nDw5L%w174GA94Pu?#-?~J9zRM8bnaH z(8ByWZEBxKWCn&u$r3N=_x&YAA(2O0n;nxykx^OpDX#BvnnF}1{w&X(32;^_`jxPW7>ByoK_}w>q4%OyfWD5P9Avc*gG?4TSB{yzot;(=mYw_Vt8q* zbC`aw${w_K|33Qjg{-Q>(0|}FR&giXYHmo5wAEELv_o9XdlT$>(F!g^w}K(?1lRSd z9A|=>zdcQRb3Y#;EJ`9+iQzfpv|F}h5=H|Kne3F~dOg~p{M_@*zq`W9iz2(JY<0c$ zHRx%6nH%gINwPaAxvR|p)Bdh+Ly_&iO?trk ze2Ok4;ap}={Ux#h=>sq^IdC8skPp=v!KCk5{m_ivC_Y~eO4RRr@O7p$M0KV+_`5Md zRKm{uY2jpEM-uchK?|e4k~STxT#i%H`B9fk-s#KfI+eYL#nk9aSp`8LZDAgGUK;BT z2@RQN-bKra>g3LqpTiH6@N8d{H_LnQp@_IyPfV@;SW-=3OGyoYVYA+TJ{xGDAhWpxyBjHJXi(bMHw0yA1f0#ax=*Wq{vd5k7}Y?gzxE&5y==cia#?q4 zNp=1JEwVKOv*)~7$>9`Mz7et8C`FUd&+uH6G|<%vvQ>i`$d|=Ku_?HO$m zx+BLl@wj=9%n^p9h%I7o@7J80Qr-D^tzYLBW2|<$#UkpcByqX28{_1moOw&^G=^l? zbsK{Y?Q9qkK1+SGY${EU%kh9&XKe!%M2YS*k#?d~Pq?X78}xp@n{$=PJ?Tf>pVD24 zXeb#`sVzCsnbJ5nD{6By;=hnTZj8?UmK*_IGZ*>PC5VsAu-M^M(Vs}mQ1$a>9~|0@ z+W#=w`y>6B)(Gl~Tblbg#R8V%7a1?1vvE>rc|1&=!H7hhrh@p5DKXZnuFz5=Kb*jF z_`o2ug|K_}9NSVmsCL;M(BG&G`I>3Ey_`XWO7%XDVqq(wKO8rWGW{Nxs$WQ#X5C5F zlSskd3^bBPb=>=nuuAIY+$=#7>y^ZjpPZZsJQf17=uuI=EP0{kV1JWx zOw_=yyX-(fK(Sx2LnFeGg;c$>IlKivvLl{I;JXXxx;;imjrd-Tx*nS{ z!KaK7zZh&U-_3j^xYV81WRX+R$RVckMNG}e7v@0n@T@`&vRHgqc-k*NyP**@C2aLl zOVNP=p;1H0!6?MgLkK;j8M+A6v7+9I|#y zqL@Gn+(kNNAUBqg>y`?Pw)*xojfaZxi;e?bTSE??x0MG(RPWxcr|pH$-J1QpQK7So z&Mm<~#6WI~ws9O8VWSOvP>TbO&hrU|1Gf9y5$rLXPrB&kRtME99Nst2Yu5Mud{-2f zlHZ{1@kZx7p_aQ*7iUX!-+=W1{Xq{;QJ9OCF>Y?LTxF3?~$dkR}Y^(zo6W{ zt{~gnMKtM?B}JM++M~58d#^$biOn{aA3Dn61@4@hMf-C;>%uk|c^b)UY$f3C%}!Zv zI)R*_Wf+()D+((Z!?Ftc0_Qc!ALERumYgJNAipCK5xToxk2&u$(k^)a+w){Q~*)(yS zHS{L@dTceMN<~e632M3j^BhTBY2d-zi9Jrpy3g zc}K!G-_)u>AMqu_Lr%9Bs8Cs*aQ z=V--ha~830e>qz^@Vae_Ly_lQ4OeUXS^vyDppngvkW7xc)d_J^G_Xc)g{0f6w`yNq zE>TREWCqe9&=ee)3P+>Ye8RA-m+)4Rp!i0tXpW|dsH7<5N@|VAD5ib)z8rR5X>dUD zYi1TXQB^vP)Cu!IndJ1f`C&`XGRKC?CdDK}L0&_MOWY1ITH)4IBxF@UW?m9ZBQgig z;#S0SNFQVE6?0sh8$D*G`w}UmrFUBLs;6MCM%Vy_87~$A_RysadSpu~7YM18mJ_Dj z5|lY@yg3G`b+tIcDTt6pfF z0Iru(wFlf8s0Mj z=uah+;ZELtsB8DV;-M2ZlNMXMELJ*|_0`q`0>pi)%0x9#} zf*y=7??nUc#yW%s6a0++#OXz621`P@SVzPbLfCgc&p*J#>=S58v7$5>x=i>a?WNi{5a zW?tRAzFBZ@S!==w3ww(6O>+il&LFTmDXewD%OerlB2)sL)fB}j;PT(B`nN{XQ-`e* z3x7*%!VZM^ko=lY;Wcp406M6HYE5gWe|igges0yA33Bf$&f0?2x%XXQailE+@X3Dq ztwNYyl^&tyF zTlq_1AY-m;h#$qm+6tVdwalV&e>d+ftd}|~E}>{w(iwhhyq#Lh5W!`iLlL1n)lO-R zErRn>M9ASg8m6VRDV9ABSpLa5N@<$FMn~CTx)jz6%*er7fJ<02H`{Rhb-08FvP3s9G;DgTeRk2m=TYuP`L`J-_8{+4t zV`*nGR4}ucgebD3aT2Lg?FVb0g>>1KJ0ygf(F&rJkrcM(59er6yozyj4v9)+JN@%; zE6kT`oQMs(InP+F9dp74;j+n&SzgyFY}Z@ z8neW2Jsle2UMZSc*UZ_xnK|lN$@-|;k}cSDC^;PXeErAJ90*f|4r8p51!!wuymL4a zs;+FwSm{ef>5%q8KVm2ly7Zp`ZDg%K&<${Z$jTw#Ggs>^m8SC<`&fOOMHL96evajp z?8D^I{M>2dv{NbFlraX@YOC)%a(7M<%!k!|x;qR80H! zq4c~=e#1O*k>9eR#<^eYPw+UYYzPpqJTv5&1Yxy#U@{|KN3oV+CLc94Dmpwgj zG67lD2Y90bVwNz>yE96d=1R<|O&z12^Kqy&grA1MWTC#5Q&7;*W)Z6hEQ4NjHsrf1a9iCEDvVaZipXN6L{jkfwd5M}#xq+jRbR2nFHy+gevmSc z#M~q~A*-Z<9mNuJ;)@msaw-s$G7RpEzJVld7iMV4w*>xwxj=u3tLIfVOI z7pqzAyj>8fG!eZXaP9uugX^PTieASDgQF!X|65kgpAee~f$^RSySK)%8S2!-sf1Xj z-@aPkRmL*{LgTHEH`>8DoMd`KlY8*HCk7e6mT+3MIH6_=TWqwOzAB9OkV;B)bP<%3A*;j9&Uc7X@hrnN-V>`^)>^@*H=OXv|M=p1Ie}^--LSpL9DyAiu zi*LXS2oL^C!zvB(WiUTcjD`h`pFvSZO=42gzDpw3!I>9hjXey*p17}; zY+pQeS=JOOSRaw+KaWNB=tbBv_%;0ba@G3S)2C~YJ|A0FTJ9!%WXjbX*`y20IM$J&3=co|nmGp9_F+I%) zt~jh4gN=k9Wi+>hNg6dLsjUFyu@fduV+1azbFRr$HmslvM_%jxu#5-rz2JW(qjGC@ zX`lGF8qE|tuMWy;cD?lmVkWDGIl}2waA${co4Mg&OC1?Dnx6${{|qn6I*JA7BOSoExj&%=hmSExev(DYsgYR;^>e^&UY%^thg^v?X&(FHnenPle77G*3gNz3L zHPv^%TRH>RK#%3qJu1A{V-~yFtyo!wudvhhKWG2~$=|{7tkE@@1`GzH~pOgC5OCsU;DI+HG zggid{YjDzgICSnV(Jn#QOrP>`B4cA~3@PDdzZyNcK5pETn)_NQJ%mTB?bdoux$@QN z=yPR7RdGVw)TlLl$iGqcV66e?}Q_ecqn1)KKF$6~ZS?7-FU3%s21~yU4VQM7dw6lIA^C$3@ zr!~y4(hOasx4WiWv#T~bZbQpmtxoNftNNoZME1s9E~{m7@2`FD7RP+yrAw=dsi_y< zI^Gbd%uyIS3w#r|yCR1WsE~=I9FE*NR^(?{P{$4N>dh|86^2dY3tsvCjMEH&pieQX zFB+0b4A`EUfZfN(M@U4ZE!gygyXJwUVPpt@LUeGKdIpkka$ylZMfi%fSb8d0%kK(J zbUP|#t9MnYH8#$-MVArF-;1*vmlvX5R>a(Kr%H4i^_0Te+78OjKKGsY%Opx&2UAP-v zFA%z4jgiHOC`8@k(4Fq^LT}l`wi~dDKWm}WFiy+NxK09b0jGUYg50FT`54Pb(Hd_r z1lg-x-V5p-9$?|ed`&6|{ac#|zEh{i;+GR#GqLf@NNXj$mp1pA37)Rdvqe-Ze-1WP zyAsp)jO}!A9TBlPmFMk>AoA*53PC1i5~6B!>&`Ql#t6vb**s32Piqp6jt?+zjb>yK ztj@ikpa#bSigt6b$gvp35B4p`-iTdUPe9o|W@rp!V{*n1L)Uj6#Qn|CK6JVfh1UeB zhH=8&&%~r#F-C|JH;bIQzg(ONtC$UhpBh5+mX|ARX)bc(FwBCB#v{?VX#>B?VL0Fy zj0>QN@&)7M>wf*+aREFBo7V955q2Y?Ctm&$TPCUPLZqL=X#NT5z@h-Tb&nmgoJg8A zKdy`A5W1h%!;-|>^>9$&e)yL0+>Dv};wVF6V)D$oD98kTiSXEalYU0FTY>V3Sr@m{ zVLXv!1*GCYxryd9&O?2?z0!>NAX9+Gz>aJMoJI7Z;asnTxv&G)+lla6?FsS3L9Bd4 zP_Q4RkH)=NSjC8Cf$;La|Bby`7c0#usj5yr$KF%%&i$qS#i9gCQu4GD5PmlwDELbP z%IpYHV({;^%KjiU!vfTVPSXc>ZR_^T3OZGd685dlMw0l;t5}>QUf7G0#?qh3{-qdI z%1Pu@R3S-dwh3!P-$B3kuC*>Bs~ZC3i*N;g?>b{wSGSQ=G;fizx<&NVsrIGB$4Ni6eagefI+h}Fql@UH5+3`1?$O6!h znjG|X0Uu9)Fkt-T~4w|%QZ*D0oNqxR`~31qIt z17|_s+zk$;`L#_GlzI2Mqu1mwvc~CmdV4IU|KPIlfajjrWNqjAy!5$wYIkzdx;xK( z+-{7q!hNa2)fO}l$KAJtx5ynyHGy@Dheq%5pDG8wILdB?M5&MfN{!qW=suc-N`>-- zu#2kesV1#V&c7H(uyMXjHWH@k$?H+VYmZHY5+e-seyfmdCJ+nWab5rlPbn|3`q z&EgpZ$pit+a>`v(TDm=2#Loqb=Knu!Ye6$X0v_-jS;n!?6Ab=D^8vKe#63HbQn`c( zv1^sWLPAWbR*P7`$jN^Hw~-z&Gvu)%P*kH;-ny~0_dof=Z&Um>ma>rt0QFj~H{|f5 zo5peI-xc*=@5u(B$*Z3TAs;-a_J|Yo2sX+9&wpW&U>|)Y;cNjQn|}m4+lh#J8z+f* zhk-Ib|AzlR<)Wh@Ghu*VW2+JnS%=&#LHFIi9UL4CIU|P{|LvXWC-6Yyx3Udu8$E?O zHmU9YzwP_$_ETkO{w3SP4b*Nla+`Kzz+$(R{r5TVNn68=M1A( zAE0H=+I`Hb<@^}aMhAMys4g$x-E!9UUGC=pJB<9icxabWq`6d5FE204?JjgS4U2r< zFba7|u%!Q~tPz#=?Fw!-H3x4@hYaY5@)9r~6B(=xmr7*hUDL6Uso3?l)YyOlkrPCC z(1AOY{{rpp?LF0nNd9LcZ8Jf4cX#zzEX)buzw^kXdU^y95K z0q{_I;Jt0BZ6)OEhZ}w|F$fx*YGwAI z4LL8;Q$!p$ih_wbvR1hO7WRR~1+-~g^@o=T?OKYAAjE9MCt+ltVRp)q^dZg1>(oyY zvQ$=|&FXJgJw87O#u#XaK8d-ys&lhN_gR|MH`xRm#3gvY=NiWj(Cyg(FgurJmDJiLA zLL zOaS}f?+?6~g|+OUZx9!UXC4+=;g@E?~cWzb&Z{R*EgG705w~ii$4Pe9Pqc z`)b>4ki+hUMq|mku?j{^0No23?f(sM^gxMagFr5|0j?)e zt8qNlMEif2nXGSsMd1Uo&eI9Nvu!|JU%fhdn-o* zhUy$N{YjlN04FaI)?q^i_;_Y3Xn1%yfY&(g^ox6fW5ZnecVZD7gcg$HnEY0DcoZETZA}|z-rBr8tIzk>C8ulJpNdq( zA81;kF%l3F)jn*XWl3Y{8fAp2cq;-5X9|;qcmJu<~{6eSs7|=JAzI&kBJ2=QIobbunVtC5?`NuP`!2p@gG9hh}S^)}c zOzG9|Im^(FlGEz)`Unk*^i_bVa+_%?vop-XDQG2K!@`LskV+$-i`K_ENN(I&9|euZ zd+wtq_P`Zn!^YUcwe#_bkrVa$^TYQfsmAb?y!KOsAi&{p#QN_-`3dtRP|`hD{UbK4{8C5zUL}QBd)z=+NUNRswm4#>7-7T|p*?7yJUo1Ksas zyhS%-<2#!0^rGJJlzAi5dCH8C>5!$x*PG zDnF%Qhi4Bxx_y8jyj-eB0-09T?{_Mt`TasE76kiX#+*6NjIlh!YkX+%sBk~(Ms0Zjd5HUMTp2y4Z*Aqxi3=CW5ciELGzQIJVgV)%qkS@K76kcaQh6^i^4<_SGqa z1fTJ$4QxX5$4+NXO6-etbRw9Un8XqJY7l&OD+W#c;BFK=`fkk%JRxBnAT=J@17Gn} z4!Ae5yn*%W1GgF{-WQE#bteqdA+M^BS{Z4=43$AHu?}czogQ&Rqe*bdT6?BW&_XKx z@khKO)PwIN=XzJ6)M+EamghawE>eQ+-IMo95#pmFj$4HzA0S4!ox7vhm0-x z{NA&t)&Zw*xG^Y)xa{QMj$Q@`lkXR`sC#pwC3EYIi>d4`aS3sK1ILD;q^**w@@*hb zS{^*)d;E!OIlDKKR-R)(1=`Yt67|5qBp!m#AiY9zxVNkOaBT-8);4kOU+0ndZO`hPes7`Dh)K zeV0`}+h-`F&iYV?sMP)e%bOTTw>Y1-APF_G|R9pj@k#z(s9fkYC{9P?NL z4-UrHg&20ckE*h%83y=igjRhAfEewV&%emN!(#i_q3ebsa3o$;NkqYTs}mMb;_7xh zq2PHvsVe9L)7$ow_s>wSc6;BleO^tp4%3jV#FX}{%PGWH6ao}h;0g+NvFUC2Z%GhQeh>D%ypN2V@@`v`TNSx=YbbZ(O`*P&GlLL#j5sp}(JHT%Rfq z%2hR9v0;FdNYd>(cpE@h2X)*#LQ1ISN>5HDT9R`oHBlkiDvgH6)nvWF^;G)=#qk=> z$H;p#V|4qhWW7L^BkT^ipLP!^`b<6jJ-u(;Ot+ZloJ1}M>w_yDYtHbvYr)@6&#K2t zuK7kuwZ+9DF#}IV#dw2892A@oN-HY`jEszMRae^c5Np@Y$tAXA42%qhsy8&$r8@g4 zDB5eij%eTShAgEp=Kw?+%`%vUwo&8{uSBN=V|&e7gFm9j*eSl8cwgzK)u*o%+-^YD z+%=dYThE{@hNj&~r*GmYPxV7i=i-yfEUnc`)G_5#@bG7tDMM+L))jI}g$or){h}2S zr84;eG(Ho9jp8xHA9`pS_uZ&5A6rSGaF2k(u6e;X_}MB>t*3Sq#PUxJ8r^as@2>|~ zTlH*-w?;+QJ>eBdmny=dYAr7BA?f>NxJ4b1fiAhSp`HHjLVuNpKKA)iiMvqQ9 ztp+h4;YUm5UWSl(Wc=%8$!1ReH$!s5(nlmSxFjm4o3;a(>kC-9AR{bA)#DP~oYR$@ zlY+Xi;LR%BVAT{)>Ex2<6H=GXZ$aD|O$K=QDYd-lE1zB3$YZR6Xl;BM+=6XAEN8l` zf{qgICw88%bM6kNGjAuJuXbi~@`cwHw+oWB#t-I|8ch-( zU!P|=YF&=si=$6MzG04Uno7)YD-?VCvbBmMo*`>hs7fpDV}I5jmtNxu5xf zx%UhZOrLS1mYUQ<;Y|L#Mzn6dfJL?6Z<5`c0k0MgOi8Y;=37WER`5TeeX?LcqA`DU zJSw9dreZc)oIE&qwYQH;0Ekf*QVEP=r;@cl5M!Yyhkcx*0(}4I1*Yg`B00|nToGkd>zgVD0LG_*ZVR@4x%OFoh=>VOT~3nf#`n&qGl4~yp=3YiNO=Ivf8 z;@!gI@YyrOYAL`~^tGyo>kM?>u^fs%cc(Y*c!Ox`msf1YsT1K|NI!8qmm{+mk%S%bef@*Bj2Ux#*oZ9=w2Pg116NFT1~235d%l z&Y_7>C{m`p)2oNqTHQGtqN#_918%6WiW=6_ea(VQL^npB61*l%L)tUgv06l77FEV% zfGZ}dS@-juCN)h$;744E?Xn?Ln6;;9DeMOm$&=1tfq+$NKssrYI-log?Mz?Mg0DF( zn=mdAry(sC+0!YAdzV5@+;lNX!`bM-ea+rL)j+1aIbMP8Iv`PN-_|)Va1vF3M=4O1 z`mq2+vfN~b{b-W(hj$tusIf~tB3T^bri7D%wu-BNv%XFsaOW?V?&Cg<86wR63R01E9+*IXf`EThf|mGDGvaMR!2QK#tftdvppMDuiTqP z%>y}DF7Mh#)Q2%11z^QR$)MtElQf}FO*k?$&Oa0vl{)m}CHpnI)7v=*m#T~GRVZ9r-ZIpe zKvq$r>quCVu6*>Q=37Yzo|C2UR^?(d5`9PeGK-oJbT`)ACMmS+@!+MxlR5CHWt)`n_ zIC@ZKvP{-^9V5KRv9}Fs+lj9;KTd5}P*&9~7{uS=Kccst)^nOU_bJ_K9yoCw=wQL2 zCA^h=IHpl8OAv)!yeU;?Ww!2pIbHdxRuaE?ThNTrHhfV`#bP`E!QA-uv&r_r_^^eq z)3J{U_wl$rrvgS=x~w--sOf$Jd|_Wvv_fXWSM)cQ^DO3RmkE!Oddfdd9B0zGc z6UFJ!)^-{`worQ+x~2lltzVk%^wePfrXP{72+x+6sP4S#?lfSwK3B+NKJ&z>r1CD} z^dSWOHvNZj{)h@*W5rgTUm_2&<&4$os{_;AmbH*%p?K-$wDRt-l@G`!+>FoGo|L^BIiUdHyCH&h!C;O+uRc z%lu)-1zV|F<|Ln0#+>=7sJ2$_Cf>ZHgE=K3&l16u4MGfCKGj=kqT8s_yTr!Bp;dwk zK!z?a9X1zq_HO5k5`LRL!+99F5>bDLs8%Efb99*p@jHEv`?cVPKBc^6#b(-s zElgoP(A$o?Bdt8OCnNXKj#HBTVH)=OvQ)F6v;nv)c&(@fi`6)kV=o8ERz6{#xQ1Fq)Cr_SiC?GQ-T2XQp=HX}>4jOf9P=or@b1(@%Vxpm zo%wV~8hl}u4!smHb7~*jxZI+KNB2P}J5PH)c4u#)3cj-lj`P&0jI1jDz*)j4Oqq_? zvZ>pJ>oIL~>R04tdk^8%&FM{xw@MI)K^WyB)T%_m{O810sar~R*{kD1L1ww=Ro-cb z#g%fmWwcTG%V_}FmC8n1jO5p6<*N2-VcGEne#J-${IA!&`F!1G`cBV>1={*QwmX4`=Zc7V`HFg{W>|8%h!EF@E!It?3YUS>^Gb4No75!dKQS4t%Em{g z*o~ppUzzrarP|${h6gJrln-}peJbPeQcdnRyttot^NSxUngHbn75m*9fgVEX7DVpl z*vJUISIMikR4^wz#QaL5mh&OMMzdij-XFHN{D>3(Xh_HVH%ttVlZZXv}X*l8h2HrkqHDkrXrn1J8Fnvb~+ z#aiMC*%|`8moEvA7wUZpw_c{N9h}EA*pqn>*%ZEWnguT-zuj@NsD>pE5^VR%*rx{U zx%1ri!gQg`5hX5&dc|&bsAtYXom~zvL5C=TrUxS*ceuerA0PHXw5D~p-8R-yRvX^n zSDT|uu}e;P%o(zLWH`JYHr!Vy8ZcjIR^?NMuJXEeq{&&WSh>C4VDEQTGn`f#C))#o z6If@%lXPcRQ$LxCmzc6g>LzR8i(p2lq>B#!cu^F(AxxR0D0;UAsTwN+-3uXsKBYjysu1^zCRUYJSiLC8p5Mbug+pjdaU_K_kMome%*-?di{ubD!q$M zAitVcbljevYkZtmcGRk|H6Ohr3n5aS;XJE#F5r&BUJdtty-IMrD*#*%Gs*POJ5~l# zbG}~p>T`dgifww`nlkg!5lftE^L<)dAVRxVWe=|5$QZ11P@e^pNe{GABk>6joq5MS z`#UW8t_d>bFsA_3mxinl-{T_Fc8 zi$sI&$3$gk?^{*0Im}j3=gUsyHGV&fuGa5}W)pq|UuJM7X|PZfp9g|CZf~P~+H!B! z^Je)F;%C1M*k_;O$?9`e=%!}Ku+;^0y`y}c+}{<;w+uHmy5C(j2Jq7KdEDxkC^~Yg zYV@6!zT#^(ysBsVq;@@9GER8CN`82(j~vaxHpm=dx@u3HKEf_&8_ZuhUJV@0Dp;p; z!16>HOJ7QBrhJ8Ted=L*xs-;od>j#CF;_B@IIIg#eF-p@=m>z2KJLEO$1eIbWU9Qk z1s(5mmg!z~HNL&I93Nui<(o!xKHftgdsZhP!&&9p_`LcL0FPJxNP%J z7pW;4x^&kO&7t?eX|l1g%5q?mc4jzi=kFod28Ym74qb^p1pjWN<{0A(-q&f|kwv^L zaiMWzv(Ny$I-Rg^)O~prHhEz_`7)Fzt^CB@(w|OYLOVK{>vN$GhD&^xd3msf10d8B z-(;YbLk^uer}s_C^S)!2^}S3Jh<40^=b%;lpr9I+({29Ngzl;Ga_5)Qmu8pv6w`i* zjj~VoBNOhGO-yHr0&c?gKoG@g5W8aI7q4#1C?TC)RNH%E_3Hnj>Mh*b0GjP#TnYpz z?pCb0ySrP97Ap?Lp=fY-iWc|a?(SMNxVyVMzr63g_j{i2A4oQvnb~vB&YrP9E9)+0-;qQv6(cDueYC&W=fz{r0F-SC#f zmGFfF3)fEG3{;`PF?2Woboo{0t-z1_neSF8pG_}0ov5NbJnAn84ZaVi-G-H=jHl`4u_=<+i~=Y^bs%K`cr&_0AV3%rrmf3 z`!BLRfT2Jg3_GO zt`UCD2tsGYp3du*Z`YA3cQhqTMgbBkFg*#%Nr0xz{QC4oW=~4}beNt1WhdD*|%2Xv<4r z)*72PaZSL9``jk2MD}aW*4OJ9D@ijf2ktK0f{B0DBt~gF@mg_27eSbd@nKdc`xL)`B3;@0x%Q*_QgK{A*7%#?z4Mu z0r@#CA)hC4G|?NYEuRsI<u;Y_idvdkkH$rU?w2+c2hlYvm+7c6OUudM?J4%GYp2(c#C2mEKF&~^Gq zk8O#lo<{cH8nnP@JU?VJ`}9;}DL~VK9}jf;+-A+|FAIX@IKhp(b_8v#>*;F<=@?5C zBCA67z^3ZSC}GhWoz(ASDk(p_>CrCcG!KA#s|;4ecq9YA4%!Z}TnJAW7-V;=C=O=+ z5r9jy+B9eHnl&u%$5W0jF|uq~>YT)0lHU_NV%yD)mz{UR+m~}>ICQUi-frm)>q7N! zpd+pVD6fv*!qw)#MnS_4fy0G#)qg1xbJ=VpC}#;ufi{|axNt5Fo)adzG(X;d_B3H< zXDY}Mu+`trp)FtZMk*I*VpcrfdTPr4wnA3(_M4SnuC*d6nGf`c-Nrs%PUA3jFbxig z(MI{Gx4R}Xx<{OcSrj&pPfaaG&$?o34c8n(%K2p0_szNH;Kl98zGLvM1ac_)^mKuDC$}>znh>U%z*V`IKbHh4 zhIobUNxra0tf!XnO~8e^Oh-R6=a+8_b-7ziB@!|jFUIhuGWPjv^kHn#%EHFv+01w< zHCMr$PBTZGpT8T-eu|Le8*Q-USjV%Q>r46988MORE!Y6KkOo(^#?Zu^17KRm`THmR z^HmBN_7y=Bw&Eohmvu*@RtHq67JmbgP<*~Rm3j#D>iYEzaTWSVw5cAiPaZY!h~!Dy z1r)B+?-Fr0R;^daMQ8KJv^Lm}^4RsOkDXIlZ7=37`;PAiCMtCtW`GBeHnJ<09iGhWL%m!B61pKW%`BgQS|G>QzxY47a{!2;>RZwl|Z zw)LZ*wNn~nV;qK_pa^Qbj>cj)@|reY{Difu{csr{{nou6n4T|c=MsCo4oVK`Y?r+y z!)6}o55SMp?Hi=bA-{tfugF&!g|lMFJ9+8{)pc*FuCIy*r!* z9B!rVCFy4LwQ^yMsRpP14Y%8OEdB(oF9U@xW7JeuXC>(1q>o2*;PdF2H|;O4v?<{b z1PAw#fBwG;dfCknHV2-2L@KVJ(>#x0T{c9DuB^^hOEwkb5VMCQw$AuZil3_m6QOja zy@>(R1nx5v(&=aFzgMqpmRCRReDq|tsd)*5!~UdJpOcuY0o;l)u@6J417LD7NekY@)u4+J3+8ROWh=H0~@v6->j$r$4l63TQSQ3fe{w+a~&Sjv>q-0;+|Q9-&gdM-eD6PXnc zi$KO5y=;tbxpRjd=H}$0C}L5u@raV*>L7GC8>zRDY*8wim?Gg!rao3`b97+KVb?9# zQ`m)_J}?a){t9^DjkHIjI_x%E_-Js-iL3A_!aXDDL?`OK7K@5K5?zXc&JWsjZb_$v z?_2qh1<&-2%Blp4F5+RJ49cfkORC>1Q^FA=qx;9)ejBc3`ZjpW8G16m1sx&+860EX za>lRi<`V63Hv0~Fo%{2c+j$U`#Gws!j@2_y92R`Ty~)iFkn4_;@II77yMUSdzq~R# zeRhDlp7Vb>A9{27J(0=MQj%>6oHl%K1D^JP$T*MTo! z9Xtd16yMxO?YQ z22Z!5iA*EEJgoksr+0@VR!b-1nOv}=%kePg>v+dbLr4L7&JgL2-%Oq#Ca(5#9cPW5 zK%^|+xr?OV+-$P+*4mZ#MO#v8n`3Jr0<8WPKTr2CrwgIEdIFfU+{5O{7F6^G2l`cH zGDZ~Su0Si$X=4y{V7SbX^0ezc08L$n9p6^QFwRHb&3-GR*p~jzXOA0wOd{XYWT?R6 z1Eihae>m!pvH<6JvE(|OU*y$&4aBJsUr`;KDiS>O>&T_%w0xv@>Aj4fEj<}|{?ru% z^qdJo1Wj!Zb%Cnhn}UAA_<|LG_@2NWZy%-_zBV-#yH=qezL|-r|8hbo9HgDDV(6UB zhF?janh5?V5EE30bpkUm{}?FF-S8d`KbLK=-!R}|FO1NWARw$Y!0av=vV4rbL5EW% z)O+ZMtF0=4<<9z1UJ7S@F!7V0e z!+ck0dzpAbR&r94H&l92t_#Q%wW!!aZTXdVX1LV=0s7+{YEP zqyF3wYvi02ef2r=fRg)~%YN0IOH7&>z+<>rW@h?puJ-&`SMMhqe`to(r0^v=zjMFn zC~CI!#_J_LlU_sgy8b0wrrYla=3*Afode1(r;)_O+Nvb`k}xjb|v}(>?aG=m~uY;5%h_Xft-FbSRZ;jl3PY2fTk6aw?eR#zbWw8C3Ah6cY&TC_h zna2b2{wN;Q=NX;oVRZ4bp7w!SyX$61{O$5dsN?O))*5v%n~tj5weleTSWT0+qCa|tw;}#Z!;-tJ*SE;$rTe($ zP#Dc1$jPNd=y+8K56=SzolGHQNyRXy$*;LXL0w%tJJVH5A-OdyvWfJnVYsPQ*ipaK z(MDOd?QpEh`J2wD$xqgsA7C1!Cd(dqsu!kysv(UdL3LHa%akJ`0CmOe9g&%buy$aJ z-&CgMMmzTtyN}}BZrhF>+E=|xUx?hIvOEw=frsvkpgK{6n!kt9aJ%<1rhUvN%?e{b z@oY)l)zS%pQhWRQ%FVKrTEW#@8YK)smF%0fA)D`v5VNX;P_&%izfSvtFXu!PnA_4P z(w#-fZu=DwBCf609_*)%!0&PctHwfUiREZ6Hmtog8Am0H;P_HDcLt?quLrw~ zqWjUV8Pqg5GmPqmaiuf_Rg|nW+xdb*E{5n-V*km$O|fZF`Iy+k4P4(!aM$G$8Rx@l z0$tF_-(8`yBY%b=@N4w=*e?iAYh^xw{^=-~XvGwG(8sG+UtftPp&hBp{X6|C1wcEc zAKNZ^5OvgzwexHL8r5A_{%h5{l~RQ+cYa=gsd`MHU?u{jaq3U_P6;CHkJ)L7S$6t( z+Eugz$O)vly>|~W(GpIuYyHhlbT~OR$dXl5sG$Pt;Ze@b={6#TT2Qmx#<@9sCn{1y zLMU;c<;kv!ANz{5+uE2k7jt=6pi$Wtgm$}N^&V+|nVf6-iGV*?Ig59Yvik!zP2ExcA)ZV0Ripzm&HdR^}?*>aV~b##U}h_*jwLn(|8$gzIjHKg06 z5e{bSLTF3li{mMwG6BfQY^`guV;dU-%q#qJIh?7kK?1dAC~tRt3$GPCnF0p{y3b1% z^^h(?-C9!u;L{#^+Q)L>EEZ<|MiJLb-lKvIzsaD-W$q&m%M{AZMlM(S{Zu?ve7)y@ z%*Q&L9dui|V_7ycbp|Q(3DrC!}JwDt`4{V4g^kJQ6iFY-dwE;Oo{x zJ?5)hy(S!zJ_9;_rx^zrhn1z}Sz<9(!Q!@`=myCLv*aasi^o8W!2vvVbk@c3&Ej=Sfy zozUl09$J>2?5GcmG2*jy(EDU>@5;CUd}9W_tVqktjuqX`O6tCi58Ym9;mz0)yKMT| zEQVoO9=BvLQ-^MAgey013lg$g#ue%QNs$~A@lGc7@S!;4#a7|-kn$FHz(t?ib#|L@ zg4U+)nJ8gTc8h*XaRQ*Ak(O_PZ?Cqzmd$1xoxQBg-S0 zg|5hL7wZ$Y6DpW^wBIXj7V5E=2drZIX{-Z<%6A-Ru>|rzWgU`d!|CF68L$1#{`UHfn!R- zu^KQjY!g;UmfQ}4gv0Mrzuy(_Ved~>7FK)vz{IR^*clJ+&pwXaI40wQy5z<&zDu2y zu1EGpTb343{z9b51w4B%hc(NE1iop`UNad@UpGxXjTSoJnKM!mwiLDCr=-L(b>Tx922h(;T9gq&)?POiEi>n-$%bNVI?Xa$4%0*2I^K?}WfcmI?M zL1))Ku3YZbuFFkD1GiZQ&C=lKlh6h1^a=jhlkC?YW@E-<)JMlV2m3l6H*&`;%GnLQhn{SZmw`h^aiIit(=JI(~7 z*M0sJ+<5s!d77^uO}st>1f(+gXIeLY9Duif+>M~er>SIYPbBaWyVdG8zxv(xb=?-s zS<4&VqjyQawfFFQ@X%VNx1RjTQf}Ru%qUeRn4NwW+Ej0FVqsnx*RWsP;|xR_%5%$B~@wJ9yiig`>PwgH5!RJ+;So?vJ;~hM6 zfgA7bz6O3lA?y5BV;F}T;R6HL{MMh#a0eG-q}oLhoY0ag8W+Nj2^^U|4 z3qHwR z--d(^?|&vXf2ES|xNnM&Y0XJ!wLZ^0ZsdzeXLlh1|LC~xGdP*BmEKy2&1%}#9kZV8 zGSC~XAYR~XOD@q+V-Ywm+_4bOzaPqdr~5W$&^~>%;r5TudLnwEG`D#i)={ETJsmRn zxa2rqVbH3}x8v^b3={SF<9?}(T^GbVJ(Ayhv4y9U#Hx@d;g{}xz;=W7@oI}ov3ADi z$;xl@Ga9RgK9A~|KIcMY*MIluTc?NGo?wJOmz}oKze!hRzy2>Imn#$tRxKC(Y$Iw#BNGpiz zR}?ijUcg3(AiwQPviB`bU&hsm00mY{5s~Ev@}vGq*7K4K-oq_T#kM1w@2wO~(iq?D_Kok} z>)gsJ0nal%gzm?TcOyI^W%eST-&|dSGCg)|CQh0nNHS^h58G#TZ$x&AcvcAyjpPa6 zf`-wKw}@!?1wMHrHWB(Riw<2Ndv{ETF-dGsP#@2dZUSp{TSt%E$;pMRqSK0>{+9Tx zTI#zZd^`eui)Ai&C#6%szcX_Temq9XD>k*7Tp`YvA(|%<*4bAq4zCSS-u2GS-LLTX#CXheEnk3M5M&NHZ(k9g~Yh9!ef6#K!-8yF2-FFpI=yNh_51 zTUuwq3D=ZFO<~=SMVG+###*fau5F zPKrxb;6$f})P5pitzNQDAOgtnra0otGH0mx;G#_wl>PPquiU45yquR|dDp8nFUs_& zSKIT)WAeCaR*8A>Qj_AY|0MFesd|WAUxl8c#@uymh1gnUM^PDCO`)xrfqC9?^|c1q z!wlHODisaNS@d+n`x3uDdpJ^D(4tyPtnr834j1bD1772+h}Zg*7DU8BMG`N#R2q_XBs!CCs~h_$+$Fm#mPz=aeZ~%JzY`OnO%o z+~ZFxEpbhHb&E2!e!swySmwfw1M9;KmBw zVKI;P6k(2VaDlp=0W(>1S+P>Oa{ISds;ebWWuH3r&vbl&DY)1El9-GN>B&8b#BM<< zr%ZYCwkucnP+9XBOY+xr&zG3;d%#1fb}<%C#(-9rEv%_Pd=r_B*HhC7g-z=Caq$w^ z8*pAr18+4sOJLQW@oHMA`Vio3F`Lcgy+W1g)5XBQBHow;t*IcD)&rYehv4`a(=!Hp z^^B@2XNAe_+5_syiWRq9?jBqK-w|?#{U@^Key<^qa8n0MeAn~kOmrl1z#k0&@Unm7 zs1FX{8=?j~U}kKU#B9Y_TYkP{kh^u28g^2V*^- zc;a`dDm=xJ{V5W*IqS6dOq#&Y{o%T!Nb;*%8wtTvS^+IDqgHmzO$^PP((LFzN zii#2m0pVArs+xV&NBPNAs+#t8fs}`IyqonK4C|FjEZ1!t`Yne!h+AE#jL>S4zL)iw zRxw{0n-$MY0zDgjG`KNuLZ4rItclOo&hs-%g9@mq$9T5J*=yatO0M;lp`hRqPFUkh zwzzJv2CW?fb=vp6WL55kk}LX_RRDu^&w;bcFI%Rk3E7DJ=6=qvQ=tov0#j)#{^#vX z$Y-B;@)l{NmZon9`?O}5SYD-5*4x6?eQrO0+G$Ni6w6paX8*HuNM{(FHjWsv&0n_} zhl@R51Z(0~r!7C$8|(=93Gn#KKjAJH7M=g2^Jl$22=IeO@ZcgL;oh%iw0e0s!}}y7 z9i!fAO%m4*OtLcVO?hGwuNr!`(Ut9ae_GN6^GNU#qW|9mY$^w{m>M>d&4sfRC-+F0 zkY~PCDVaG41qaZN>$W6giQWLN^G)Hc^bveLZ&AB<7)Z{PwgR*8x%+yKPsV?XG8CXz zc?#=lz2n_LP z3^~WR&QUQ|BRzWr5(xQhFzPmTk_f#|q}+DjEza3Z?=2CY-@@|>lvMuvhJ8-h#qYZl z(eR6u(RwHl*ZjiSl~RvO_vQW!3~ENl_d~&pF55tIFXjp`yGXi%5O|B)ZPrCYpeASWZlcqIsSNLsjSQoVe4NssWTc6ZLkb!B>F9+t~<74emC z(sw|y-77}XIs-8bKJ3A6Xmiij;LI-l+H)2rp41~~HkpE_diW7h^&lJ!Bo|ZXtfzIc z98cro{MnCWJ)IY<;I%SUz;(?j4d-6?HGA79h_NUIHz<)5ooo{g2KK}GB zndKzXe`%Pg&Z+x7dBaCzzxNqCgM1&@j|*aa@pJJ!#K!)VaE3@325$db=#|_~ z95sDtvefb36d<;wiXr}L8XM>^f>K9LsKb<=qzQHyHb~Bjj8gV4S1y{+t-I*{cA!D( zwu^3}b1UIq^Lj<*ofu+6rtgy>B2LV&k<3%}ulP%*&*Mdh%lh2~CBd{G*y?&0>rTsD z>jcWdn9}SP1(Wd~If_$>KCMR|?+~y7(;I^f)#a*6-%imk01A*LPJn-aj>LN`ERz|M zqJJ#%u&Q_0()KL5ol;_Pb_P$mc%%T#!(!KuL9tVn5%aAFT)FAjSpmiMM_uz{CS7CG zJr^;*B_n|7NHQ9yr46_}|7d23XPYd|=;h+7%*5yjp78$-q|W@lpc_&-r7A_h`7!a= z<)E$0QhW>RLu%*QZJIslvKvtX>gNv&y=w``g@Wxg{XqBj;J7cEx|LUshe>Ov0MA|& zyD>~_^la3#^0=W%8dl|7!!GK^I!2uE=d9^zw)W+U$Rhy{*ndH&K+K!}^8%PtfU}+y zUD!^!Kx&p4Scm?K6%(>HkEGCNKnS9I#tGI-{6X}>{?vS_n&x)I6Z@JXO@A{^+NEf4 zuT6S$$C!}GEZdTQMkq6MGh5=k)k7k*_Eeh`ALiF=x1#{}cFP!vGw$46M$FG56B_wQ zNM%4W$(%Tm=EyYu7buiDtC1|R%zI)^Z6W6eXIyeVu7&wXTskIdEKj$ z%gn<(o2tBYyRL9gm+rm7n8FKXn)3VZ^>596-2`iAc#~)TD~EQ1V~HHgbUcoPrFfU; zD@`ofPWF{LHpOPYc57*LZjFke`^YyfkY?9EyNSRKR_i$<4Ii41?`_Jr#68T(XxvUS zTCe3Y+#Me`e~v+W9CiDoZ?*7x@%k#*dCin9F7cFQOe)AW0cjSr+(mL&8%WZ6gB8P3 zJI$4qhmbsrj=yG=tp8gijWAe| zI2Gakx%}v3T<~PTG2D>|4i0W;4qZrV5tG404B32z>fo$jr`+wuNB@$e0a%YNBSXp& zyd_t8Ga7Q34#N;#qjt3f;t+YwDxBz&-6t$)i4j5@7LnS(1+NZEaRNcol~6v6oorKY z&6ls?u182;sHxRVO-(C^G8S#Z_O|XhP+y@%HbazKbe0W#1&Wf88$Bz#LbZ<6>SC}W zcs6ufhCN1zs;R}Vt1yu$cs!?d)(iwXW~HYquznhsb$Fu#o?7({@dk?Olasqz>hIcK z|Kdg3)b3hb)D95t`P-=7XY|fR4mV{H5gW?`1R;DYik8DR$>AxQsYI-Wyv@+i)=s@~ z;Kt7xY>^S=SG2OS@+|6eDOlYx^+tngF=GK_dZ2gXD<|p$NcbSO|sU3zE!PL5tit7xper#Yx^Lw&eYrX!Z z0gKTewyA}bSRv8Jd9i(<6@YJk0uM8lxf3gr6%Y^*#XJ}JnN9H<56sln{&;$Nr-m!6 z&Eec9n0@RAUH>K1pBTmbFxuNOu>_07{2?@j5PJ8YKOP?r6($-H`d<$1moKU>fHQhl z^6D!jyDzpFNca%f0qlIt-v9KlGQpWXW&G_ZXX;lHhM-|lC2~JKrPs5~*|hGSDbD|X z${iYX9b!jkk}T|jOeNB1Dv*DqO}~vFQa9_+(4hk?;|~!GWLHZuF@G`#Ywhw2B>bKB z&Xl;V$^S%s`G3BwCfS>5jA;;6xhp0-oDF0>&;Cx+b}Ru!d%R;}K2?UUAyM)Z?$p)N z#id@E+y@85&4voIhbgM}kVM9UnMY2s^g<`$ zmy`+)=1;PU1j0;8UQ@xDqPHFiJgMapXl6nZ5O%HaY7B=<87Ei((>BQPt8)&QGL=2# zh;+W6{wMCKi9g-)@1J5sWF!@%Z7`PaB)yWX66F-ctE>0_A9hGci3YaT%FT92dse1& zp?>+bunw1BJ?N^n2~ga4K!Fa=aF{yFyr=4`p4Ozt|QQLLK@Mm;p|9h(GOqzO3+B-V`r zi5!CtPd-GVXl4)SF}Nojm{iU`K2{V}7;FiIKHt4VbP!>pdqrjXV5wx1Ti_57lG&Qi zj9H1#22H;AsZtmXV&O=UACPr>L?p1jBG_-r5chsjx!fY8sVkNZb+GzIO_JqM$>E)b zCzD$Cy51XvH|3&af$lso&YUlV`ub@y$11}D4h}Rmr5a7(5cGfBgMn+lCZ?a@fxnCZ zt%8)wKa0ga*j0;URQ;bVlaLU7mUX{BUIH)0;(mnCRKE>u2Z&n2m&@lNAZBvn-aF$S7&e>|JJU2ODE=F+BlZ$&OPLXc@^a{cwB7(d9VKb9H_fmQMMSmQ)b{d|p zHB)fMs?-VJ3;bCP!ezg^*vJ+a7tgpJVl#&Tc)}+rqRTJLY;68)4ao-ipQDUcjq3a2 z6crTmA>A+5r2MYOk|YGMJO7_J^MBdfPE-HcGA|EU=QnzCn#}fs_@9hOm1#O{7;0^NLQ!HC7U?RY_P){}ngk;jpm`p)))W}jv z3%ydvLA((eg&zeDm-V$z=F>&*;TpK_c(W-C< z)K5=Yqy7I=KmM0wPq|}a=;d5d8hv@tf+IXdZEa6X722q?K#wLBS~eUjo_NGX1)BRs z%c2@IE71DzLJM$kL|R<6r4Sfh@}Xl*ldBFPLFPu;0CaCQlN=HJm&LmcLi6-bz@XTb z*2cz1wx>rCn5(NR&&zdJg^Ujc^DqBX1mB}Y14T+u>IPCPLL?9o$+T$S`TtR8Xz+r+ zr_KjE5VZQ>hb-A|m{mtPhtby^p3nS5_SGzEF&~#AX@6&=qsz%S{iWW%-P_zML(a$d zmvzcCLoA0GgLR>N4*nR8MWudnQJEGoZo3JxrjQ^g7s9~5+7;FrV%-}UmemNY_~DDO z(H&riODtb6vG6Xy4)5)hnpqhNT_n*_`_ z0M-P6xBKNO5>nUh#917Q^IWV?;3Y!BrGudwDgN3@M3)ZRC~7<&ML=ts#K&r?PFmWk)uI5TS#)U42kEf>s zYcAO8q^_35hz70&8o0_T$_I+Ri9(^F@GJ37i=?MC@5mFs^!VKcjt!0lC#vj7b;}x@ zAQ_ntno>i;NO9Y+@t z@7Ap_BRKKt{~c)dU3zysN+XczCsnFgjv6@>EDaQ_u=x~7Ez!*cdj_?DXHeZ9pPgq> z=x`<+@(>R3al#Q)S59)Ea#Q#lvs=t!zdL5s*zPXdv`2GqCT(#p77EqbyCA0IofuUr z(9Z%c$E^r(7Zr6J{f6|Ns z{q*2wv{M`o3myMAFI2lQESnKp`!LWyeafqh(O5mfyNymD`o+^-vdaz|WOEvI69ZML z6DVfMzq9UGS}_FyG9dqNdLC)ss4xM3v$@wRf@m<`#h}hcCNc$(&rmX~3`+y@9)JCKR_CS^QKpOy3oEX};$m|~Hwemp4v6Iu?&dfz!^zq^Vv0sC zqkz+P`%lUL@nAff7vjKeIz~a>I-hGIQxO=p8Efmv*Apd^Ne%_Ja>if_g43QYsbxez_zXnv1-L3y&uOde$x>kara-CU-~n z;i4-1P#wrDbGop$bw1Pe7~Yh#y;1x7nj>;3x@1priP*_NmESdB+xMW__t)vN>5mQm zD>oYI7w@QduBhvB1^QN(qr5tv)^90=M%R_da8qsp22C~#far$ln>45;X)Jf5omB)` zF7LaeG%mUp{IrvWDv*BLZ@vc%Em(9eX&CQ5{9jA8)LX3B@wtQSE)w`jeZ^||#gJNV zCr*@|;sR&g#wZz@pPzqJ6-|U3I`;(L;_X(bw(-_A`N9nWOmNU8h}La@q}OrqfAQcW z3QW<(w;SqU?vn3in*SmF9XMEg^4V?s&i2iG-z;-h#0=^!F@bM)3!K1b7u(b2zGEWE zO{L@}Q!_I)clYK2$`_6st_kLA`{jCiDJiMxEFmw;^VJqk_sdPss(O5jat{}4;&*m} zu&nLY4n6yhB$_NAel$|{f`7GF?8yJn1N~&+AahbPD~?#o!UQ9J!n^{YXU+Ttyiws_J?#MROq-FRQ8}<1)*L zBsHdnJukW#exb9m;fvaR8)NC3(n+8N>-)awWgZ2LEdF=9h*4lH!47}gfGcA)Qyf-A zEHL=HC1p$&(Ri*@En+#wlzulJ!cV(cg#0daTL?@?UOb9cHU_1i&|HiuL`1TcA+scH zGfb=;fLyG>hJwaW0T*#`7-#w`R0G|}(Hr5kS+WdTl?A`fzcsjA{yYG$xLwBDWX^y& zAU;TO`N`Qk$th4TpC#P+d>1P9?`nPQUDiUbPXA5k%Rpp4xycF3cENI9s77~aW6KjE zVLRmHhkiPuN}WDq#~h0G6_Y%$Ln303`cmqUTfd|0A3&WPlWzSKyGeMo0B!3hU64vf zaehvMo*pdRxqE38*)5WpKMnzu^=+vSG6huE$ThA?*eEe_P2-A&$`H7sZAGu@XnXtP1g8(t&#Bq zFCTXOsK0g!1D~gKEHd{v8jIzh}iOFae!7cvpVmI|g&ll@hLz$s-;7 zm~pKbq0*x{9JiAOp_ )0+MP*_lTBJQIPAuKKN)okQ`BWUG01G|*Z$}=Eq)Y^rj zs2T2D7QoBYEY)0K=OlvXovGH#x8wS0$8x+OC}?vxWAg24UOHzfoZz7R0Dp?|=w+x2 zl&N@xKsxpl)TQ7UmSMb`F>0&nD+yf{Ks_c|yPTlmwe?zS!}*U^FMsNeVN_CYHa`r* zM}#hMM3oX&0EsZfv1uu5i`iGDcD_Mm6nh1xfK#%wb-%1;f1_3DWbkWid>a5Wjvu87 zDa@bQ$8|V)WH}b|aJD4Dxp%7~U5;lHx)haZJpynZkUMO%;ZiIz~YFIGyaWmm(B8ruLS0 z{e&oat_OYH7y^!6gGC)2Shq|v#5T1tL zQK#o8QeM+jADVgqz7HrU=Mu>EGyWiu{&eVedUpS5P1 z`Q;ElMlUszTz)^(X1e?l=E8BSgV@=fVC7zsgfx^%7!?07-KY;*Il79m;hv!G_xx$d z3-B!|ht)?VTtw@w_0YjS!}qhtpY7yLB#yGeKlth0Rs?${noQuebLz3uMHQWi_&T@= zV>*~4Eh!0ywj&|td3!3iSVdn(8#kB)n1L*@7!{^iV-o`I2xb*mO{7GRSyqGmIq0kB z#9w2Q8s#>4F+~l<5I%@#VWj^@f>Ra2EUxuGw;2-MF1$hBZ|+6ua#STWk2y2utsw4l zj3tedT+CoSWc7;D7?_URv}X4HLc&ka#>Tdcgedf~w#+*J`SWMG@G8`VC0)5tz&)h) z){BKM+299S7Hnc52u~yT_WbJbyqiHNE0FR*>LV2$rtpG}N4)3Xfpfxd7Fyz!^yCeq z=)mvH&CLx$zb4_bPK?<(Bb({9BE8&=B`q=vBvf_>i#%@B;O9aFS|7z?V%w3v_i{xa zI)%dk;8J{MvNzt}zy33}n44u8|8NO$t~Mj$cX!ZLPy;qi_|@<7>m3%UZcF~Xk3aXM zZRKH-``sh*2&C3w5Q-Tuw&ZtE-iKJV!Cp4PKP2Hzqjv||87yiGrt zU%wEm6a;RarYZNvfq=R*eTNRLra z%SS?9_fv5c5{erm7PE@|&jF$y40VKj60|UAP*M8$qmPUFSlp&t4p6wl=fughCfv*C z{foWDEK#^_0BM&dyR}t#tNeC|ER( zq#=Xiv{Hoxque<q@6!b?oc0wdhpRjS?Y)f;~@?*5(Dm@?-mU2j1AoV3&0F4$y3&Bw?l3DgU_|gj@L8- zmv>y1JpAwYA<)c5^V)k=_GTf<6%bb4DhhQ+j!<#c!_T<#oY!hJw0krJA*Ro_M?0r1 zPc?KQu7RQiaHl|O#rGxOlyFNQNPS_0`OY)7Bzt#AJSYHw>+>;rImC&wcpdDR75RAO zh$iOyGa>x)OQ_9&geCsukE=jz#0}HFN>Zi-v#d`Ly1QP7Cs&1bO~85c4uFu;GLC!Z zjD6Vc-)<@YTyOCN(K!C4M27&A zIVK0dP6vG#F)QN_f%-^XraUwv?kV8I+8AP?>u-g;POtmjC5RVKr}vXnnvfSa@Np}2 zw#u-}Nt%E6lGDpThafWv#UyqKixjuKC0=Z#k11hz!PZYpMQBGOIEY$sN<&*!Q7P~- z>z*bqlf&ZOFBA)_itojZe4T8;ZMch?eU%7u7D4#rV9Tt>{l)iOvzh;B$q;cP#xKKo zZfcM7noAI_ykY-){1~DHLu$&_R=r(D4qaw=g;XeyN{hf90rj z>5IWbvkot5o2?sF>ymsgBVH}!@j>uU6NTcD--G~%oJLI1Oj_6C?;msAh%{aQ5o?fv zRR1Tu<@ivj?h&})YvZ_LU@$8bPa$nS3`P@K&HS}EZtED3#p1u-4O33MEib#lyI=Ki z0Qd-oD6ne-6*suDhN<2wRk-C``6&WvO#^b>d*Jb=41M3EAhKB=o5|o}{^5mk%V_Yo zQwnd257)?z0{yL&DW!zI!%)ND;6n~&P~Zkr&Ubi=Dd0kES!yae8#cOhH`0VkbYXVa zV_0J$CrFcmiHV`vGJtkLkXqlY55sUqGomO7<74dVCp=&E&81JP65=lmsG-f~&ZVqJNf%_WoIYCv zrQfuZYw!=eBTx52Wy+(+BTOPUZ%;W3cpdfDnerIcDThLaMRzcd+oCLg6DO1T)rN`B z`skD`zdQeWixayjN5CG~=U~U%zqbHw+)1 zzquV&Ydx(EA13BUES^G|2oO;5Rn0$3b+K=PA~@GZR7sjWz*24=5yW<29n`I^2e&>c z`*Ksw!tLbB&{kOs)Au=Km>HF-gnvp!2>vFbIim=zZKESZWQW>D^T-dGV{04kj{SZQ ziH+V(qd>*%Cr6E~fSr6PowbsQzR7G5)q%7*8kvUchT zF~lVMTr%Ae@r1)f&d~EQZHVEb$yh~Q``Np-XP4f~yxXy4uEB~y7? z4Q}c_Z+Gb(a8;x~s9+iU+7lX5rzvWKZ{uhykzIaA>3_LOo?u|f*`W|&7_Lh+IGU$T zGcYZ$MP0Yd!xrk(q`Ht!+PhR&R(}^KQYn#8%l35o-1T*9edbvqb#q_Y$DZ9?VL`Q5 zGUkWyFy0$$TbVTp4d+??=|+dK0hKYX#Bbb;jgApZ>YE>q-;%T}_V*PkDEtC*9mjPc zqP%OS4vEmNuF1OT?BRd06^hegf8MnWE0wk}g}34Ef1&y)G(8`$4Ff?Ih!7`1W`)3Tck(PN9B%MF0I zx0TjViho#m`$+mkBZZCAlG*68RcjPP z3FkkwnQW@Rdax#Y(>uWiFE=#EjN+nr?jb|FEDQzj%Zb0)L4SfhVTpn0`vZg!>M{d8 zWZ#a0zZ)JFHU(-~xq(G@N@2RLy=bZpr9iVI#XuyD12|%YxLjv_$EI;27q*n=pF;S5 z0Ifh$zfH&jKhU)ED%fx!HTMwaE*AN?J?5GasuA?7*{^*w*(wzjM=ga`9H8HzS z>37!-erZU>-@qF9;9&sj&}T5^efK$i5Z{`*4{b{;mb^_Fc@Z>mbO#*+|E##qpOyY1 zvK3~f(zZX>QW6Ex20m^7n*#|nc2F)ipb>N;FRknp(cBJIh51NB78)8#_*Cqyaz(uG z&SU5wa|Y9io!gdAW-G7qfz|Jml$4|gYha{dzzH2gT!ALIB_t$J6kjcfGVk5Hw;s5W zFr|AGDbHqd^DqKZGSGCu={*4`Tuj7+`65EWg(QyoF-GzyXBoPXrs_25iug z11^30_SNa|58EO@7d*os*PMY5V2_mr2lgM(ijM)Xu3fu2(}Dj(hYsm->e8i)#zykP zfZ5KSJ9U2T+O^YRB0unojEtnL%q(i%rnQz)h$3Iep3QX$^6tfT0*od&@P3%1Mq-zJ6y4W{Gf^aFc>Hf^pF;Oq3p}(6!Qn&z`KVP zKF|+f0zQEqR{Y>QbPYNse4^goyLT@SDi-jdqNQ*0{sJ552I7DZlm}?Rp?r{EW=1B3 zM_6I#aKj-VyG}vh1UI`*;a$RP2igm9XhZPsAU<#dHgMqAsZ#-gG@w7@=D4FC{EAKi zQ^<#Mmikn53VeYkbV}sMI{|FqTy-jo@q=zae(0JVHyF#<=7cB80+@?VLEk_V__t}( zrkqXzH|P`&RmFQF*nmIi4fq8n*cxQ7L!+V&Gd9Uumyk~CR-Bt6I)(DVGG>I~j29Re zzy@?d6TG4h5NFpZ=$nNN1_1(eeF0t}7vzKP2&Q-+4)Oa2J&<}zFwM)&quslAJHwDx z^afZ$H=tX<2Kq1h2Ko1~E@JRo>M*-b0aN6QcM0jFt%XiOKIn~viB5qhyidRs@kOVE zSLhV#BIE;_sKX=-D*%CO8J%K!;1~3eC+bgkIt9G}9lTRryLJ<}wQP_BIN-(?U?cg# z5APyyXxp|ep*%4711CBK`P*{&_2)8{bl^dB3YbDS1RKyoIf?u-P%M}q<}lRZz^#l< zF{W{GvAha0LCcH!4RN4rsMCR4G~aGx)l)sWekj!`Y5N2lyo)F!=m7YKjKCD~LwCgC zT?D3hr%;F6v4OszO$1Hop{q^_rjQ?Xia5mIvu7{AZ{>9gx+^**b&=o(Y=IkOK^=rT ztc*?_iK5h$R9#khr;cqxMz}T4V?h8q-G=K_(d}cQWzv=+fOo;}q~4JMwz8r2nC5$B z5NN`{dc{&IQB;ykmMkG0?xr1*vGRL!=*;ZmMj4$7ROINmzWnmbG;`)m?I*N_Mm|@# z`?;cqaUO_9$P;~VjI3=upwey2ovai2+BR1w(bIXU@D4ttE*FLsHwI;#(2}PuP#_w> za&+NNnY`?nwX#ehBAiSQgYCNOu5&h$k}v#00~l1=Ir%A}Eh`pNbn`KE?u1^ICgW=Y z#f>dGVtGkN=)1-5)84#rYFeB}g~dccJOP{Aq&rQ!=sX(KtCh2}=PT{X#uL$VGh=AO z#=VqRz%$IO7m5dCf?Ic_p*&C!-h$PD347PX%I54j{+2CUbY}pa2eyn4b0@`EPi2X69S+i?Sr;8h&r zBOT%(4C%zs5NwdIU?Vh<9@qdkq=Oui4q<|+C)~X16w3$)Udmv@dF466M5kbwpwl~a z=uqd1A6K2i>{+glIu#VmxH;ZF7=IXG6`g{NB0sPZor2tU`2{z@2D&Il2;>r-LORIk zsy9xZ;&hnR6({-z9w5IR8~rZ2;08VrSM&{Z1UI1x*}#vhPDxrA49Iur2}52O%SP5+~Roookpoosx7~r=V|)jjuX|w4!go zRM%5@HylKzp7KSfyx|7jfIQ*^8+Y%UJDn2UM;P#tbnb9N9-=pr4%k4C!GkL{-gK&@ zq?r3$xti^o(y21oa2WubLdW~&PNyKlAvWSsHiLNZ8t;s8b%y|S40;Kjv+H=>apd1Q z15Y?lSYn{5m!3k0IR^;bm&Fh+xs#rT`?Ch&S9hnw_`*6`nzbu z+8xw;#23$k<_(qb8djJ98n~!m~Q1`Kst+lZcZ%y`r``9Q@m`H4OFFa z>5p%IrnB#Uj&8er0yX2ZP$<{RXHw}DXm~|0?VVvE~BNz{j0KXGUhfT*JN5 z1P`7DexSFWbPw-=w=lZ_Vdn?w&@sWso%7_6xZdPI7##A2fo^x+u&F4_-bu961U5B+ zn>YEr;f4+bKJJ`1+`Q@(>sqLbzCm}|z>6GY|t1RwtgKool z(@^|IlJnV)LY=mRi}IkW16nm*wZ1*{=V76 zG;X$)Q?6ll`R!rg)iul>ZkHea_OLSVo0~Au7H3aaC2W|Gt4`TzYTRswzT}IiC!MM& z%-g$I)%qQIdeb*ookDzhZ`_3;9L^O}_(?ioBdcQIZ+EUbWe*GBRWqLIFkoue8+*Dc zV}rJj+b8!eUny?D4=X;TPO#@~zSk}SC~I%}T)W)(e{S;5LK5`T@R5OatjKx%@yF@P zE3fp}x2g>Uq~5jj$_<0n8nZs|thDuR@^??pPQ&`n=^WARVMs5(H7(G$JZ-JN4sq6Z z)-T`wSKUDOM&BU`UJNYt5~HLHU@qw)WCqW;!+1u#GD5q=b^VFBx+}y_UtMMCqcOzj zFh+E>gN&8P&sV-Y#|xma@K9Rw<~?-Bp$QaJ%=^R&vnVFDDcx}2OLX%^gE?t6GzpN2 zJC~%g=+{r5q?_mG)8~tZQ`?Xd+VtH^^hxFvn*ZQz>e|{WBX4EuP8O^tzzdCKgWl7Y zz7P=|N7I8(j4nfN@3fETUvGXx7hgJodSalU8bmLXfrlTxdi8QH_x2FQ(hJ8s;2OuF zsr(Y_*SJhD!uXnZ^jymLSM)o)bEyuFy}ktDx)JW zEb&EW&YknbE93`VcXD_Ovy!<_r}M9({8~m=`7}X`Pmkrx`FR>>@+7;E^^~Vmrx1~O z!qQUvwgb!CT`2-m&)8Ho%*n5tFWzW+lFuTe-vBohEg2xUdkHy-$1=9wR8J{gc@_G4 z`vquvaIWd>(JBf7 zZ#1hCCTXx0!CF@BMo{Br5b!euM6bd2HeP|e{?9-4_84qUfjxxx7Ig@W_1Uv$(?u6u zq$RYct4)!m9w}2T*!uwX?;aQv8VI(3FZ-MO2)Y_9TMvrdWqmm%N9J12U9}0aZe7h7 z=#H#VXfV>ja79jLCPlc4;(H30^uFZjiH19WP1jvOt@)KuW_lh?p7SO>d^4Y>j-|4E zC=w3F3u+;==jBwQ(%cDt`A7HDH(%|hr=EF-26VBO_+E13y|ilHziI25J7=Ag;-QE^cr6&082U6TOt<7itrPxtwjXQt`~da2~)sUCxmuZ+9P0>Fqe z$lk)(vLOL23Luom@Ts5Th zK$c49VNc-5FQ`pB>enNPHmzSv!@7;2rrgVk+PsnCi`r7V_STYpFYTh8Vwvx#Eb#&X z8#vEugiajFlb6yYY@w%~{Fqv_38#>trlgAVDKozrT{UAm;n+COG;|i#`cL?Fr(e~Y zk(SHqFkwIgopKzKgU%fz!!Ni^F{(S`I;2;d_|~DAb(Xckw`QTQ4Sdm-pbm9)$Q$(% z&bj#h`|tIP23Dg8PpT?_2J*^YH^4RM%;Ov`e#>76%bulgf@5{6)wJ+WK_vw@$ zw}TeU|2KW|-JjH|%SgI>&K#O~-pO=m^*1#C?GGrruo)F)nd_Q!k{!T(~ijyJ+W*?X-T?*Yx4H>2&8~|3`hh!$3b4^ep*NPP+YW z(Sc66_)2=~m8JC0KR%*jg#*Ld(`C2cNXPfWE-dRXxyqu}Dzp_>l>8DnmeqOI3(GhM z{r26)(xVS|rmb6dQF109q}GH_5FRv=Mh))4p)51=TwBgFzct4J4yJ()IZuT>_F}F% zW{;6_UEq6+Ec;b*gKy0hmvj=4gZ+DT=ZG0PsXyJ)<_a8j1`ggr`&*_hbeq6<)-(br z1C#|03#@ZzYcDb53peEmY|3ac}xz&AG?iS+UQk=Svt+vKh9f3do_(S(U z#W;5z)RTS%p7Oowxm6*hqfcB^R6sjFdyU>$tLUUrBWYx>5Gu@#r^T<&rguM?Mps=w zi@Nj~M(3QCMa>;Hh_#XzdCI}z&8gq;2^83(6&2(p(vLr^CK`OTgDJipWaFQ-Dyj+H zep4)c{LCzR^soMO|Ft(z=Hbos`DZI=^vRjRGuc~<6 zdK2E$otto&w(rQMxsSa`{ks-l{0I zGQCfcshf#r#{n{sglc7HIo5cf|g*;d&OVR2xul~fFuBEv`#5HQ@yx=Sa zslTdA4%DHb3EKF;NxkZtha9dYvqrAr=6CHPAi7W&eGicoJUE@B@y0cYaz+rsbR2|n zTu-{?q+!04Ljagzwh@Cd@{X2^WISpO0d!GuMXb@~DnM?lFZS%&LnCcBWC725g{jRJ zX>-CrqR(HaU)Np62Kso4+4?2D_X*42vn_AQ4WQ6=?WtG)w$y_1=-~Esv~hP5l@w)C zPH{^*aqJ`--ZzL^cj!YSyLP6~R#DWnMN4Ylv^0aD79rHRO9-VT#nbYa|Dwl!_=s+q z%z3g6mYl>_Uh*N@D|s3Hi8PNMf8s%cwX^G#cJ%T1Pk2?^O++2}8cAU5sDr(gOqC6E zZ$zarDqv$ck?&i@-Mlc+eQ}mK>PyVBaYR{gwOg5n$QBJJ>%#b~ZHFtlTt}RI=79mx zd+|6y%8|`9_vQyEmxj~)i)K(k+b*nVJ*;IM*brVVvY`Yx&q6*a{eSEDZ&&;&NnJ2Mki;l*8^u72QG^cg(ko>%BI40Mz!{Cttcm2PEzqoK#X zVRr*hm7!B#$VPM zU9z8WT}GcAdRE4-u@qJ%e64v;c;i+?5aG0}ZTK=c;%??Arp4g-~N z;_o}9#v2n_4ZNVkH~{XPbI#FVNPSX2k>R?o$eIa%>A$OK`sw}YXTI@iKbQ^XYl?Zz z`=4LELl@qyC?)$T+Ozgmnt9_=x^UJE`trX^XzI0M)~avL&q9NIz*hQHA-=;1dk!TR&GvzOtY;l zhhRNq(v5U9^-7A`^A|1Ud)L=(-Amh^dY+1Ix{aoc>QGcUC>nozf^p`GviQLz@1>;3tyu6 zAO=3TA+Ti#@fi+Wi|{`m72eK^x9`%hLZ9qB%ghwgimut?dZSsHFncBFdPR-aD@UiR zGBoR3Tr59>w&|N29L%}H7eVO!KyG_kIFgu$2L!}Gv||P%QfAET13nVh11aO}1_3)} zf~9@NTKtgI9@h;ipS|q$g3pOe#5zZyvh8GbF?=lg(oou&>cY|;9lY1lF3J0jIzYZl z7}8c(9pH`+OR}4*)xg zBVm_v&Y4wMp#%tl0FiUB$-x9iz&6I=xA6go4K{}fXE?xMaOP}m&Ni52EKJ4(gUBFq zQqCFWfZ|H~*VpgW+kUe%^Wv`dX{V*PGt=EwT~%FOox8vIrGuo^r_aiDSAHy?EL|xV zU-h5zkH4+agQjbxOSisq&_1aF^;WIg%AptBCcnP^JMuqYyh^@w^GovH>|>?(PRGic zj(TvWmTxW0+V8Ml7~7>=%ciyKrEA}j@~s;t$f_$YldHb>XYHqKlikj`LVk18kECOV zcCt#Q%C)!uNru#{l#eD&mD4Z(x*j5D%jomtr|1rPs_PV=2q%{AGHR5boR`|FPhn{^ z=MQ-_TB7w6f@2gKS1SLl+qRcZifhO&`^ooyyqlcx@%u92xmRS>(lrjhrjUM?@<`Dt zI$OTF<%#n18+Gr*{=H?b&Y-6z=oxfLt%l&<<3b(FYni#rXW+)r_wKj1eC4>OtS8v({>p8=<*VPmSo$dmh}Ys4N>5mPGeG1Q?-(dX#plhNCkq!Y)KkXW%b-Dn zbWhGs(nC*D?xsKDrYc}$Qn*}#bbya5ERYq>FK?_yG1_=mqVpRo%;>JxAKPK(&YkOK zAC@dxB2@#cq*qTplu)k*^9MsJmFLFFC$l#uGiG&>F{?iosf^JnbegS4tW@AMaN-(V zBH#F&GC7%i+4h2b7c5vH^HhJ)ZDd_lRpnMHaP3mL{^Xyu$GzfD!)$_`1Ipt!k{NZd>rlV@@0(+J} zrP48S*4x^-o8*wQPnN+QC(0?G|EZkv-QUSq&ln(oyZu3(`_|&OZL1DAq;zESh8o#t zm;N$HFTz^dPgi<(o+BGJZqg#E=Y^n0x_o)-T0PX-K|)^}og8l|n?6;U=vURQhv`b* zSLK(Q?t)2A>A6_P%4=twC}Y~SlD_gKdHC5s$*?{h72bqq0qD}{!;B2tkQ~XBm+0; zWk*qDIUUnN(z0DwIrUpVm4l9-B@37976zrK|Da*gzX#X9r5YhoI12SQI)R%uZJIpy z+;hVI8#*#Hv{@3kX3bi8^Ub%klk+b(vPeVbzyl9-jqwzGp{dr7&ob}HlP9}#6RfNm zZT<8V|6O(2mX$3FuaBi^`oIUafkBT~Uwu_xeDOsmSLDkmEqa0MIhce-&xjEtrSciPydh0FeqO&yE2=o{Ee(=EuGGW35wWL^l|^`|i8D0T1^4tAQxm z1~hx&#|R*kFDl=BTqb@#k(+ZIm8a{hR)P$)|I%v95~-2ia_|AC%8$P~MfUr~Y0|6n z8}iAgy5$UBG)~LbwtBOTw9*cHjqM=V> zrwvnN!pqM{yFIUxwace#8|qEzHEMquGoq)g+pNppWhaH#6*SNxTV&PprLtDH!!G`0 zmEzl=hlHjE2J#hU(H-=%D|caZ=gVIvUMRf~$)j=N2TX`^y*P_CNeq)_ril{Biv5^3!h}fZZ>HgG-&I*|bg8E&Na(nLJ4qc#CY%dv!N% zSSMRL?N;Mk(%p!+f zlQdNa446UV&<>Y|rz1XnP3_&6%RBG9=T~2S zb!GrAAKc6Y|MxZ5$ew%d>FPeimk;cY9LKi-l#mt)z`hK~0|xPa z{_~&9XFl^8`P}C|m)KZeK&8H`Jyd}@nX*FjQ*EnSKJlde-L-4i)CvaurhcQXVdr95 z+)~L%;J2d$Qr#A<9Jk7Hz2$1jiZ#-6(6RF4TmC3rdUlaHAFmc!y};dnE;Vap;=5b4 z|Dt=z*DaD|TQ@txYil;jYqJ(>N4-YYubCw)^~R{ydc@neZvB&-cg#0rpWfsM5XJ=1Y2Q>NtE&$7m2c&ZfAR0Ad$?oLmoAg7({*l1)5XFaF>E!00G zq+Zl~JXm7N9*&|q=$b%EGaEhRZD;8>aFl%c!kI!^SpA`V?>oPBD6anPeX{SU_OiJ}FX^nyH*m!)5@Lpl*;9TFM;>~#ZL3~0 zwqmW+q>U>hTlDeUweKk1yXo4LGC1@An%1jvzwNf$TnG3^Kl+gj95^t8J*X=fd1fE^ zz4X#c@}K|tpK|%-m&=hy9_jR|Si_ILe5$8yGuvr$G9u7h8uy>*;fr*zprQ0UH|!1f zG}%EvgAc#|{qNsKqf4;xc>Aj~U)S{NWF-p?Sp>S2)=eD__IEBRzdt z{PnMYb%Po|_`wfk=+L1VHiPm-cNpa1$AAg)rD4vj8M60rW{@<~7he{4-F26|^2#f6 z;e{8Lnk|5z2QpF&mMcM8>s%_4}a+J6|1k6lS}cG`usBh${^i2=bYnK zCKx1fe22V8jvVQJthBpE2R&w}4Y=fzOA;IF3#!O>*Y;5vquZ>yn>ll)YZuXar+rF( z(Dt@%ftCzytLo}%moK?iavDtXY`PLKyVkm0AGz}NiPE9p5JxPXb6oF%N6Ra(?kOV% z=|Ig%|4-f=w@o^>=_Ci8ajWbiecT0Wy>>ZM-nipf8C*SB#(e8u+1zQcgB^YJSLN@M z_LiB8mdVx@y1jMSt}@bHYu!_BdU&RsH)*zfs#kos?bJhtjTj{ZyR?;#hn_C4y|};B zw9q+l9SCUAx}yx=Z8z!LwM{|we$g}Nj`AFTxYmrNx)^&3NYHp?fv4@7D{xr>{zqM- zCL9+hrTX!`cMV8oV(K(i4n3#Re9IOa>9vvWMSH+XtJ-|Pb)wyv+bs%nfY8dV`(g3^rl>M-Q9ZKK}Tt${rVPq zkNUc0OJ&I3hs!tq-&du#9uk)_$GPbUi$VTFA2VLe)bdWF#Aa&I2^!SKgW+&`qp&oF znBBek=9}G*j?V!H9N^?=aSM5xZX5m}EO~^pc&V?Z{}=hO?Dy7NZvA>;QEbXVKvDslzyv0vo_;n%i%`UB30LZ@K(Pv)?$Eyrl&>ow`=Zfd^Ej$m%jmdZy>y2I!sW1Mt;ObcbF;MK7#MxgLAFr#mE0 zPh=mw%UJ!T!}NiFt?E^eenaIT{rPU2b}swq7F>Qo=X6lv@^z_c%zR_#8P5b$qa7Y* z0~yK9>C!ZZkycXCmwxLrY_Na$SO37S}HAtQUTAO@`gP2#J^?QoMoC( zt<+09PkI91hPBJ(m8Tz-=iiv5BOO{eYd)2CUwB#`S3~>u@qIlFP!C2+os5=~{J040P3+%4wZAhiUR0RnXOF>$$t}91>ib_jLH6EftQ>d7 z_vDVh-Xw?aoSsFth*600@OKKN@is1+Coez0PEPyE1#-dJhsf-=K9DtafhQ#p;46_X^ zZ)axLI_DVssHLdzLO3`u_$&v!?6S+;OeCY^(3H~8kc69&mo@kp;lA^(JLUT8uXmku z{E?5VP$P2C$zNqm#mjR4OE10Djfk_n7)Kr?GEOPeQ%^nRma8KpI_K6{L55*2sJ}Ee znRTZD%D#16BHOw_B04MV<)vXx=N$QBqf+`?U&54s7p9Sj3(O4)%a#JR#NdjNud|^f zoVY{+0STZ_=m&Rkv-kYulTUWbuFVDqqKAH>v&3f*=+skBl?QaY7x?h6)pk~MbS76i zf)79Zup0oyUKU!1F+p+Vl~=m0FW|v3y^y%VC1AFba{$CAiHI|N?j!jVDS=#avigZ<&^1OFWs+5Zf%+{?z@%0dJU0vginWgty!RkwQN;u_$Lmz(jCq zNfeCPsCrmcm@Qhhk(#wDmFrD!Ojny2r-N6__HSg>>&bP!2x&vvSIb zr^<0h9V}J7Si(^xfuV_}aBbbHqmHwllgFMMFZcfQ-}3y+ugU%Q-zR^6uL`DOfZ}@^NMefMG8+jT-i*r5fR!0=SdDQ293JyasDCYt zxaP=5R!4x7bm#XxkI=}%>7-bb3MjW=00tZddZT`ezWd(4Au|>k+1h4)GGd@@) z-YV_yr|WQOdB=}(Pn>-1gz?5RzaEGWVec`SWKlR}ddQF=Zo~?|dpt$W zN1Q5OK1`Q9%y?LyoH#}A*shU9Gv1Ov-1oM^9Uxyh<1p#dt-a3vr)Eh~$hO~K_*pW0 zip*ZLGK&b57a5h!sq*65bQ>UNU3`)B+_FGcwcbO1bk!+3t3FreF5phYQ~}YH3r?09 zYW8{ig)<6?*~?Gny(4%0bDCWIi(kvNS6?O9>oT#6zq^}^zkj?te1XZ=!YN4^4%10i zQ|zOs+|ogTHVRfD4m^g7rGXd?W{eY;k^sxDSF22pI_fCrVX`VjJ_f_N04z)65Hy_m z7lLa?iEDbwfkg}saab8;!Tj^()0ZKQ@~vw3IAOoJJF`<9^2ERgt7LG#yz-Ti!Hm{? zV#~&>dblLc(#Qu7ILwCT6F-U5{3O7PAggIOxC~c_ewnn;GaA1%F2VD-b|yKrv^hGH z-^4d3x=si7(VUfO`_A=5p5Uvlu6El7%*GaqCs#VnDI9tFowh=F2M#??T>cV>>uu0s z<+{;Xv-FTP?cDl~0WQMWT0qCxmpdI~>=t31uM~8Pbpm3x;=~5|E3&~sM;bVA*Q7h| zR%Qv~Tmo)fp`&e%a60sJ=FD+}WYCQ>I0gyefvc72ko%5KKa)ei@{Th&KVCWB8*~pk z9c7mE6hb_W%Q^+nFFmrpcJo?UF#An;CC%~TS?|i*A1;v*hgNIcy4Wem)B$Ee;kbV1 zHXX&#&U%e@#=G>vf@suF$FI;f4?7nj!(TLjERhS^M z#{5=A($=7+*g~dExJ$17`&2pXh{I%`vE%d_fpOBabBf<=xfM?!6$Sa#wrd|b@~rR3 zkrAkfW200NQL?;=4{izto!6ar-Z{q%UmZsqHq4hcy9|>NL;J|)^=qYt?nNJ_2QF-V z>3zN0K%`e&l}}yttaS7F*syVfD{!3FUWzl>F+$F1?k~RdqU$i3KhNgmEYIPYlkWG} zV-GibfKe^90|^dajvU0terrZSIe5@di@43f8PAlbiEq3ir|8NJ9Q&h6kuOUC8DwJF zAO{;YSBHF&BaH`^{BxC}&C(PrUv!^FI%ifeD|w8b>fAQZvlJ}9v7yWea6p~;HP<{! z_^vMjw*N4I$>C(BIMZ=XCui{Q(MKMUZ|IE>&8;3YekV_wtOvjz;p(tb%ALWINB8PV zyJL<+q2J%_XML%YK2EW+4+Y>t)I^a;Y+ zhQJRSK0FiVAL_?DlWLsrKs@SaoTWKv&_FjB&bJT8cmMwVrB9zeF0O?c9R93!3&Me$ zt!k`J!UcJBo@M+~*fgP^FqzcAjwD*O*8Nm#R>`~1+@qVY`o$FMe5VQX0Wbo|D5f8HzEdfg@0G8$g@vV;FI`C$i{F{`c~S~CBZA9O6*Xs3nQL>y@)E|EY}mjH*OML7ob z=!nzdwob3bMeqGE9}8i0u7R^ow!!iA!>s&RIOzZf?)qUVoP^ncV;Ed8jE=YA3=0Dv zKkJ|y&T>DCo@ zvVV0)*{p}b)u$yUT~&r!z5A|ZhrYU>`y_emgZE^@#CMg2k@A((j+K#BU1ZB94cFQB zaya%Yuq@F=U5drov0HE1Sx2Zkv~R6<{e39EzwZf|x4w<+bI8eZ;AoxkFN5Qt1olsC zS}{)^(mliNb~{E6+I@(0>(W))rFz3ImHhKRo2U-D?O~g)s<7GjXbGqG{{!8x`e=FZ zU*lxc7VawqLK|gzLt*F6U8IZapl7e60HzSfG8WDW2o~-_a0KJBwSx+mhEsEQbSRJo z4U%#>3^pU2&2`x&ax{Hq0I+LUy&XZzmGAF9iu^<6#LO}B#cmZ_-iu7WNrACSgF}TF z6vCO@iy_ir$tz|XY>8YUxHx6s^12YX^2XIVw^eIt?dnKuvL1%Rb}$YMadt0V|7u;^ zs-@1B=o8yrtM}A$c&m=Qt6xf%+jQGm%~m>+x?nDilPJ``TWj>bTD=6PtzO^Z2HEw- z4wj|5LwejcBy4}J!gCNU`~BGK=aO=J4oTA;^rK$X8=SDK9y*Q>Uae!aai^YXe;29Z z{$N{aMAF81?6Jq>lv7SA=+5(4hMh1)`u6QB#~**ZJfgGc36$*r;;7(2KT zgJK;!rnXU*!V)qAFZCBQb-^XHrQl9r6A5f@3832;VeB&Y*LN-q-?Uxv!+4JiCoBvu z7YumA;Bux1Tq+U>cuP5@!*S;OSy-8$MR(9WawAEi!e9>od-oV^FhNEFXg~%pnW2?! z&6Z6v^^I3$jfS1H_dprE>mD+4r+q}8pCBK9I7P+{8z(K&`wlXAQII-J8Sl(XN`G|U zxk#VE17z^%-9$ckO@{10Qg$9zE$u`vs@KTHFE7ZXUWYpbprmf`E$wlZ+*_q*0? zSS2%O&ywZqTIk)d!=!J|PO@z79NE^XkM!%&!6mhA(;7XuWTC8By+QlLHPW+ci1h8& zRz8_OS5|G%yJ$Q0)T^onNav0m@T9xSHm;Icx}R|I>dn%lca>BR>?<8wZ!shI;WDUyS6M!PrYv5zQfung(xdMn_3J4cbWnNTlI5~-GpFY2lF1R(QoDYIELyx& z2l2H#-maGn>EGFPh`RL~EM41dmL&`4NlW$b-K(?S?o#5CxpE1&Ks?rPefQmW-M-0h zfBV}h*(=Y%*`ESYyH=FhZ?+ZDL1*7I`>-wDLUC4Nd07O6tPG$%+e)3XAe5g}AU>;Th_K9dZ56goU$FHs9j=ph2QTNZPEM z^4Xk^am&}y(8g)^+>N?#TE9qMdgU4Q*-LgCGDv!K=p?(2-BYiY7kP8i$1-oVp6uL; z5lM_DV(X}t63;qJ`jK&NK2w8<-?qaxnf1{mdH;#mT=<;VAC-x3z9VaEv~xwA3{+_^ zG^iMXF3NdyZ2NSkJoMsQa{AYPAeaBgw`6RWIeI_%ujGRT9Ac0fl`Sd_4~W@wgwv*L zKRNCEE9I`c{whDc@C=#!z&Wzt-n+`cvu}}U3sMIvaHT+FxJ?^Y%4@H_?DjEF)V<8F zzW$oL{NnTS!L*rfAcdSNg%X<$C^s)j=R74*Gm_<8O@M5z;Ycc!_~z>TC1K^#Im1(G z1Aj-z6Z98dE2sW~3mH3mTTw#7(o)lIkau+3(IYQUmBn-4ll$*^L>8@BE0bS+LEf67 zOLiGd)tU2}wR7be-4i`y;R;iPPWb>LO^8N?YWzB}oGV|RR!6_Ubm`JXIHVJ2{-xrt z1b9|qSe@hO&7=LB4_{_y^NE|pNhHt|B+#7OT8%CLqG!-uZI+LbDzMhG%m+2ifW;rb zDetrGsnrH~{iSDR>5SL3qMj8bt)eD)}r`_#YXFLypFyN@0&2kxQ= zl5Nm|1=raxE?cO;XwHC-heuG4tqNZJM0 zrH^ghtiE1JqRSk&ZE$PbOJKAPl>A|D-PUdSUrkj99sb5aPOO?pIyhQ{wEWQ_;dIV& z&7w1_$w`|u7@Mn0b?{oa<<8uUfGf4pY&co{M4p*^OT}BsdBjXN@?|Rl%hJo?ST@f! zG~li%NA;kcm2EXEWXinda`*}7$^KQFW&9uiCQBEukoMiX$Ywn^#yO2!t5rqEZX@KN zL-b0}9_`g0wv$EL@$NeO5IOFIV`S}|-tyPSX2`Pr_mS$ZH8SVpnbK$HW98tZM(g%A z(%K|%yggg?JN9%re(yfA>xlQIRzi%j0uO7=YPU^#rx0h)Fj*}Q6!E`1jn|CeWF&mo_cuHE%YLglBDoeeNo zS69n^`|T&=|1n-JzWCzI3a(PhuGs_R^Y{DjmxJ`6MBBbq3f@YQxAE9Xm$oAdTaNC_ zrBGf}tzEkS`?{u#tDg#`BZ;3#Adx`RmO$|x^gQ@t3F-(v(a#zoX6)iXFLrG4t) zLYGFVf0&D=1#od zM=6a*69k=6_Bjt4G$`ejPRqiZ!_(|_4;{dx6T|@1fB^$alCR|r2Sf4B9#ovAm5*Gp zp}>}FTSGo+X5vtxIoCp$r+1Q09k|N?5UH#J$fH5$5d^VmtK5H+9|z*80$?Do#w4_A19n} zf?R#|)xx!abk@t|UU}seS*AMs{r~una-pmYJZXLBP)D|E7Jb;S$1M{?403Vy%~G`~ zoPU$JL;{r}0oUZN6k;o!&fjb;>rVO09seiy-1Qf^`jT%r(NB1HmMmPdM%uP-EB$vKEjw%f>hW8z32v+vtg+`e#bfT>D) z^v*l))DJAu=e_sdb9W}&40_S|Uu61C0nB)22{u>C*a^TT(S}l}0~fRL)z#JR+tP9$ z&E!u?658R=!-o2+4uAOJhmLbAYlVsdIMdgcUw+vg>gVi%`deCs;;iKO#(PiQqQt>i zQ>RXK?3AKw2FvXOoRm)o9l4u-oV+Yw>D#ffoxVv<1TPvHlsO>rGRQck$=g0xO?JR9;H%W^& zz4WTmqomWSm*mmM7f3rD;ofd?EK}x~uCg?pbzGBu*tbOxq((}2H%NC&hjf>;G>mSL zF6qt@A|V3O-Cd)*1`Gjd82Rpgp7;5GpY7VNYri^=?{V%z;6;Fp;G_Cr$r*n7>c8^k#-UphibA=Z0>-}0 zDrSu=o?{M@Qdd@DcnN4z8AUdt=sv~jVa9FOYkIY>duID>l&?{F-Y>rH7fH3LTd)84 z>ebUJOl6U1GLDSPFcNRj_XjKfW$Kuqd}Z`W?O$zHM~B_GyjEY%iyc9cb&5ybC=f2W zI_qrl3-FcO8ddH%r?P|%HuJglB2PM#;(wlzze{QEHlwBh&PZLtD=e*{;a^DkwD)_| za`{ycrVBYyPP)56^n^*ic*dbP$*9i1I&V|pNvC!-05{9Qj4T*#25s2g2|)z7w&Yg9 zPr@#(-+X%<6Y7Ym|Fk!|e} zHYHq6eXH0XY-Vf^-w@xJ(eXPv`J(gcb@`$^Jh{9dPFS@*H$D5$`bl%KytFD2`w<70N?6nzP_wH5scjS8F68 zbk9?$hod&PCUvcSul=c^Q`T@1m?Ze*+RPX6P>pZv2OGdsZwWVnZ+W&fXLQ)Ap~&GA zsf_AgH$)Rz0caK&q#=Rj7;rt+)zpyt=e(6jX;*qTJXGFDq!wri8KP!_)ZfGmIaU*R zjD<{#h#CX`Q7rpU39VK%;vxnaZQCy>wHcgTs1@*#6du1Bxbtjdj0*QKY+Pn@01DlG zr*0qBK%t}pA$xfwJU9uvtLJumjyKJD-(wSZToDlq2V`BJmGJDfskgpvC)W=b_>V;6 zfUMxq7`O9!m;3st*>`ZFgbMQQF%=(LhxNFhK~s5WJVircz}dY_S=-Odwf@bYCi2i# z4@TnJyN$#R|B&k%5;iemheJKqAdhFh>TvIc$cv#35KtT%y?rjQ@;fcY0Ly5~t_984 zaH&0=WA>j&krFZ%8JiB`!|~0z6)xz0 zSomcXe3}RTA&|*QvFlbgZcGkDt7=4L#Jrt^F9mJS;wK2ZXTkdFpg8)ollH)~)$U7*O%sYy=OSKHCa9N8(6aKZ58ZuNHrFN$Jq9P1;c+S4=Y>?-mvg#$}re#)IT38Tyg$ z7N|}`=Bt+wcNRxhC!MZ`k~Zf+Nd;%MjJ3b!h3h;k&gP7)S8DbM41UL|-JZE`w}_QB zpJ{*x4gFl#bYZe0VC4*#?>LWSbnUuWDF`~xrIU*~tM+EBAb_Bu*IKL6YC~C#JSFi= zMb$NF5zob`ztS|tMpu_~TQc&y zJ+0txtXQ-RFZJI-@Jsk%`daCPXqF-LNy8lJyy0s}DUbb^xo=)z#p|0*|9=a&(}K-& zBTtq+4PiweNGHuV%w8@Dh5mJ185488R*#6>M~$ZQqZK}@*bD}ub54hZmqjA*K=y5NAcHQlM18Nv8+JAlEZ-E zaY_pbx!XMAnzn&)@0^yYVI!2Pozf>PUhG@dGJm^V9ALr$EOl3zuxTcjxU$8k{q@i6 zN}G;ybGMI2LLao-i`;MAR!t1dZuV;yutyM~=THSYH7YeKq;~H!pao|7)jYT;ZT-q| zPTQyH!0BTqld>IRI5L|MXi+E*eElkP6rI06MENXf6YxR>UH&Oot{NamaJ``}m%#QU zZVpO@v@8lu=ZcHroZq`_(NqL<*Bp%NHUs}@<aN6+XYzFhurJ-pY+t{-?lX_(G{ zYn^p|rK~9)?Qg4W$^~=1>w_5#qKmp2*w~$G)JYkO91C22%;p;LUUO<5_3nP$s76*x zi&uFWK_>2gdH7q4=sU@`)Dqk8`tL{m_#mM>Xg2<3F8T#dg;7E)@{?#2Mf*ncxON9d zmzK8v6Ul7^z9hJmHevI5!)St2dkMSmKefVntsA9UQ}?mT3IcjFl7ngS$Le+0eoPJr zOz+wNhV{$uVi(Jwx26MmcPVdYoBo;7M+Mn%y`3ur1UNhk1CySu29~uMk-AAvJ+Vl* zRc_TNo5u1Ffdh}^V)`(Run!qk2Td&vriP;Ypg1DnFRRga6Fmqv1@9^d@87@kYN-X8%)2dnBz@-KEk!)0`PN0sTl3m9JbS;ai5&|M^?n-i8_*Md7E=1)FpsNK16V3b8%#8HmOK3@6fo!oH;> z2JFT#j!g&M^1#}i!%IC>^R<5@SRXvW*PCfZ&aIzT{|c#2y3K%yR^)r@R6|e+nlN0? zbi@JVwr^4qv7F+h#9b$u0oM5$d`{?7idi+RRIRw-P)J@Kk93JWLozF@hPQbE+K{${2;uhu^$$ZNVaKeQ?h z^9*Z#2z=dX97={=mDX>z1jVi4p>#w*N<=vFaIU^&Tu1J(p@>=d@C1!4TAK^NPL^uZ z&SV%y{K1D~nm43DBbksV5Y`gn8gJ8B=l2zle)XNH<`5B0-i=zZsPSxDfB=4|?E_ay zh>KLAeVJt;bgAo>ul4w6)&Au;r#B{EszAEk433S2O-;~U`&R4UfS~(+N}KDA?eIFc zEnPK?=0HTe1Hz~(=5JCwmzH!H;E3eY;Mcq0@!;pBU~8NE?b$={(XD5Me-M-^S%U0@ zkYH;&2aHEdZHAn|p$Rhu#g*t*8&g*l2Kkj&L*~q^M#aH|ran@&ExWN+rR!Q$U^89j zr~6@vjH_vht^BTukOHV}-pku0%gS?d@AVyI1bgiiM&y6=nOEsXICCc3d2XcK(lv|e zxi_`|aR(sOIX@}F>X9lzl_IaI63m~~>$N4cvf#YX6mmNN26VIMB=%}-Rpf03JEx0L zjF{+=!c3vj%pyNOkn8o9pO>Q6z5nna%U`ZXM&#WISXM3IRrHz#huVAtp6 zdawswrWOj?6K$e>P*t>|)f*E$EHHNMeOG%{5`MSv3+}iF2ROc|>ORUd^FRG_7N2y$ z22SCY4P{qfZFczwkX{^;w9=eJ2<9kr-n$|M)LOQ%&6S5ExA`yB95W{F5t3LP4;*;+95 zdQLV~DD1v=on7XTY2uabpwOU_CI>)d)4(Jp5rcd2li>r#@F1+0Ucxoqhxr31sAmSz zx%nw!LP6x*d2Wa~e}jKD`X_$WQ&B$hl;@HOBOHKha45|SoLb?wI>%n3YP`hVkD-56 z7l)OuHIGk#oM@>{@l~*g6JHVnX0vzN#P*cPds-le65dAiY9gn+%}-)V!OhUGrLZf) z5wW}VJsW(Yr@GX!-{CRJiapnv#NYm-cP!cz3hGp{vPTqGHNHe( zHt-LwMzM)>bn>7)k`_^`Acr!Y@w~Tn>)WY3WS2XJ4qt6GSVHx%xv;4T__3SQriIZ> z(K4RQCkbW{VDNIzm=C#6yRpa-tl$Al6c6q0@1L*3ECJm?&#{Y3PfWG(`bTJx>|Q?M zWsDIm%D^3TGgoWjG2|Zds6BUQG+T9JKWN$6jG`+-YRfLYIV7_eyq74VMsVDOptdUC zlwoGx>~k<3@0y;0wO0FeXHcu&QpSA~i&cKc65j0!Y-E*t1oXWrIwA-XN86AS!O>YQ z`VBdS^`vEXmWS5h!pcqhl@KG9izF7r=MwAvR^D5GoGaU{a8nxQnK_7+tAG;n7*QtF z1-%!|xj676$q@Sp8qqw4>oQxO_kr^(VAN+|!HUdn{n;eUY7|$X-e*pcQOJa|>B8x< zsCOFUV}%^4s^}uqD9(SZb^WFPhetB0hS#3itF5Yx-je2Oh4ARQ+N9$pO4_$ z+iXkL=%|27J0XMD@H>g`$HfbmAj;>FN#Py?`il*HAq!zq>AP0$_tJ=u{{e7q-_#n| zR&VJ6)x1DpzrD zV>r#aq^IBcm|!L3olTkSv=H736F5*7p`n}e&mS+ie#P4=r$cBsO;82n$dl~|MaHU9Y6L`*T@=kc{m=$` z;3K}cdCNw6J60+W2d&TixFQ;x#?HkFzn6PW98_H2BVwi~bF`M4qgD6Hhd;t++laOH zhBfDQYd&o*8!b=8g_3vZ((<-wYK;?b&U;*{&xUtb$@4A-AK`VJL$$B34@=zz5Ow`B zk^6yk&3hHyys(L4itroWAl7A7MRB&Q!|sbQ?(XJ4sS37a&!5zH-u26d=P6}^Yn{@+ zT^O*am-gG$nWS6Z_e{SpFSC6~zrMD%VlMFXr^J|Y10 z^B_r&3NKcQJ(--3LxS_~O{5or6ZS;hE#WVk0D}YD$Mb+?w$f2~xwl>M1a^UgR4D3z zw>7iw%6CyKN@Gm^w8@2NbI2&?Q)2c;=E&&@^Zg0F8tNM}SPGQR_C&Cy- zL%=+7!cO(+P;VsJ(+IBlZR##1gy*ei=%&gFFXqMm7A33V*i_DCZE)DQx zS!!*tav_io?%%K3*x zLK~6<22eRo=DcC(yg5dIrQ^i*%$q|xcVq%CwVaN(ROEhRLStq|GW)M9 z02)&0dyvh+oo}P&J49_HGBW9VROmjM3BZSCwV3n3<|;- zY97QIQtfJ>H?Oy>%j~y=PEX|UjbkcYb?IQCI8~y!f$pl=_Tcu06Z%>pD*lEPrx z$XqEGi!i=!?js~N{oqXhWuZ&vG2YEFMGki_e~KwyOoBuNNc5}*GQ&wr#p;LbVI3z7 zqCV)2HP5;#WA=b!!HV0m&+y1`p`ixNE!lXJJo&IUtdF^r7ox)v#kZIZYt^VRfo zr}~RirnTmKSmG%0?&>s_^5!@v!gwat0n@8_$9{Vk()WC*kS7*vQ9oI@-@0p$ig1-D zE-5ZU+0%3ES(ef&{qOJwZzU=o`20J9v8##&x&$LsDGesg}rj1hXJaCrUQ3R9xD=}Fz)c}DDo(Ykd^IX)F{Kn` zcaKdnoq>6Dr9f0VcMg+C)W~vn1fb}T!^LLHKkwJDY*m~&FiiOdP%$H&L>3p`5B>mx0sr!KR=OtF4&qR`A| z0x_2NsP4Sv%8FQKa`Y|KZdaW%ffDPgb zS;>m;BxNCuX5jEN<)W~E#S z1p*1Jngh9}6JSo{^A@_nPPVFm1$Ym5|MR||IZ&(3x;Ixo3m^Sf`%5MeGCA_6ZA4h) zD^Qrg_pHa0{=Sy^NY*AmHKbsz@mwL;Mhk}wpot?kTRTJw>qwHdwcufZw_6%fOv2hl=OaW zb~dEmupDl)A>-6&n$?+yiVOzAcW5i;ljm`wHuTc@9mjm2oMLU_^ z0snJlHQxdz9;QN>CbH(JEmz1n>Mw!CG^cCL-uXMBGLbC+;e2BOL+5mE)HUos3t+b( z`wj!FIF|zL0*-uM=c^^g>!!uP0J(0$v>UX1jc}YY(*~Op8~SBQO0~^c5k2t;dKW}o z3yXuL23z%=TG`YO2BC4^bXpg`Qs{SRpR{!+yLxKSY?YXUo@jA=5sK^1i`-(9E2G** zJ0mZ1%DFk>nKX9p_xh|pyxV(ot*-4;t3#sU8YyrL-F}Z@A8^RhpkcpTC~aW22Qnv< zL=861p|)nr$N>7?RI0oyb^U1Z*m*L#EtTJ*txV6* z4jVsP+);Fr;5rV~1%w@q>69|lR9nBa7BWytKuhQf@Jrp6eY>Xo77mQ<0mbpkht~gn z<3XR?grEBdZ;^lLr?vn(JMsUaqxShA&sOlmN8{z=ND(;&k!zNie-l~2d9T6m$>kZh zJIMDB%)=;E*!+&`M>ZD*CgyI9J;pQK1{ zZxB&T?)yPPX8gTe_qN+3qjERDJ1;G!u)^i+_*T9Hpvlfz>pk`s8t#aMh}vE2Y^O>A z^}@)l-yqB|IsGWWzIW~fo3&%XPc`RNh0Sk=&`8XEZ>6oZWC8nP7)-URIQO6^w1ZlW z**7*QTP++66mDc=`j>m-r`Y#Bp;rp;<;ius^dt;x<9s|UqBZ(~QFlv+@i)#k>al;d zVQ0!*Ek*&SnkUM2ynkoE6UX=(=gbt(qFi1O6Jkjzg_ zdv4+hLT1jrek+-nYX`BF{<}c5>^>AXR|DY>ns-_2hF^(pc`5TXscl!7fkR8AtZ}8} zc(Z-7L)#%pBSxgaJ-t)-ooF>^5q4CN`{;wE1iP_HnmYih_vp9C^z3>Yz0? zA)rAix31OWu&oZ>_fIH~NbIQ?HK516%{6n%q@IPyE|14Hv6frE7`ZdtA&ZoZ6$_3> zbByb;Wdc@x2e*xg7`wt#uinp4>eBpRup6$9fah9t%bC|x=#|M5X1==S;YwHzVZh)8 zTVvW3`kR9vY45{LSvWG{a#WHhp$$i=R(=tWt~Sth(*jLY^?cz^85}0ZR;#L4YnKUi1`ResLRzyR@WJs|-?bY5I>V1^jHQw`W za{;!EF9KjJCjA{r#JPDr!W58%`19g#YKO(@8b*Oj0&(46hU_Noo}S!%trm$yzQfa3mbxRtwo6cheW z9pkN+s$diAnzeBK!V@5}17vYxRBU(I>LSjYK~%HSQm^2BhUH+50D?vsx4LKq%$aGI zKO>7z6yr76lmXFJJ`+?Ps#Gwj7o3bS-~W)A7=+^2BLG%DGd!|+xBs6D0Bx4p3b8Xy ztov-Gq&}w%7S|QJ)m%KIyxA{Nj|FDF4D)*5_?bXeK!raj>q5Umi`B$HhCd@otwLL% zPEVJBJzi9DGibw7a1>Eboz1k=udqgIpVb;|P0uJ!&2xIcyFrV`Rw!SZ|J(&yEC9v_ ztZDo@o8{X7;;BBP1{41Df_$0=#TPyi{$#&FMR^QlSyKzVL>1;6zd%r{(E15F!mt0h zHvQ()MsMq`Ba!Pe>D=Ww>63a6@8~GLXqOtbfE{%=lUY~(>d!4$lWjo0bkp|0kjqS{ z8F02)%j57%g{JT)eO=!xE5z5JDBt9R$GnwF_gLdF_$PymU`J^XiKe$LKW^ip_ubfr%elYT84J$S*pp2Rtq%9scKfnUVrManux#ijCEHrz*uD- z`v%4LRqwQWqUCfTEb8vcH>|noRasze*r_GYTC`};O4BmVQWG-5pJ65xf@$fZ7Ns7o zu>R`UWnitD$g0iY`)w0e9YKJ7+^QhoAAv?f`wF*>jL>Hq;}Q$7^`KE%+`jw^el!-xTh|q8@ zha)^fqM%-`t_uP2kPF{$fIj$;Tx$QMb&+!giyCUFD_U3CRO5GZm)VS6v(nRQ(1B#^ zCSNOLBBKsXP*QP`u^+3OlCmw zn7!+bhIbe#3yz8_1?EIOGn%%HB~DUl>peKb!L?j{#ps78-==y-_!pWNXZcGD*n7I{ z#OK@`b;9!Nrc!9-US&szfM|YhPHQQImD!)Wc>F+)f83gygNW+RO{3L{^-4{Cs!7q- zcBw5uBG9$6xoJt}NxODtuaP(EM0xXC$MCJ2J#*~>$IApDEbvGVnzXgjM(!@6=}Z~P zm|P5eu0+n3hvHihcg}hPXRVH-_`bpa?g80t_4<**Yn)r9cx3|TN8=1?&b?f~NnrAI z*eUTGos;g91?2?HOIU3Sjosxuw92+34Y{v~UN38O5=f=wyxn&@e1TQiqL8l{h?Sb# zOYPG9MG727VYd^7o=WOEldkL>Bre?zN#!I(Mtnl>&a}I%phNvGuuqG~^WX9J(|MG{ z1W6t%sxJ?+^EtpT!;uek+bXm z%hGHg)qUi;J{Ka1W3_?LWi=-P>-mig%Q)jmR3JzK-rRHs;pc|5XL)^#qxgJE@alsu zkM0svmG+q`VcV8)79}SHXAKG5$w9+)VyJ} zI}qcX;gie}GuPwV!f+6WU(kWnVZre~El8(%d@Ep^o}u-DfkwZ}j9F$}d!+7%g0o0$!<(CHaTrrn5UwkI*& zB@NQWu9N*B9zJz0+{y$$vf_HeApCcJIF2geF>odS6ezeW3s2Qpa+Moi`S*k%06H%Y z;ZOC}M73T$kMF&E-*nfkzwTxo#-ulL1r8jq+{xy;;S&9}R%j5jW7a7Hq*)^c6vM$CG6fd#ndS!ScyRt4WZKY82n z3T}e>&TS(@A@OMwiw*)0bAzH(h&s%ju;0(&ej(}d;)z^&_t{r_55OGu-@I(% z>bu$OAA>0gx|uq9xsDNzL*NvraEI<@*gcssT2?nlt^aQc7W4|Ik^ZN-X???Jt#1Y8 zJ!oJT5aQ+x`C2VrS&|enk*GaNe^0M3k}NpQ8sE@bOxSQ0u(4Bv0l=XyhO!X1|u(ZjZwQ5%OLp-!94?Q9^59Pk;SmGOgUvZHcq&^!Z_b zy>VXske6hkEebXQ9-&PKyd`E&{*8>7u<&)!*5USsCVa^I1h@%$rGrqzX6<6=InOu@UwyfB1`mb>7t*@OM%GQrL!u z@Whs0ev$C;dXF%LA)U%MEVN-Lvo{=XU0bDzbGi>LFf13~{k2e2Ug&Cq#~R-B7J$i% zJylT6Sl}Z~bZV7ED2&hB5>XyErGrI&%wpa>`-bA)XgEk`qd_+o1Cuac(`OlOZQ6$; zM-!_q3S^gYWA)1&Z-;Naq*hf0W``gDb#IX)E81ov`!M^Wu%+L_>v*6mwY%>P-3g81 zZMnbl;wdi^C|Ui9zJb8DeyAKxN1_!H8TE53?`pMQ9`64ABe{$mF3=yVG4c%l>St!A zZ^>Zx5}o)JYEG?4D*(_fA>u0#z*P=3Lhb>InHeddKb z+NvH&2yKvs(R=?5)3Xb^^VX}+aeMcKqS#yxUBZo8{%OHeb=pWTk!?&J8ZVJ_9HML( z63AKAe6{O}}&=R|-^ zK#ajfQqmd?Kp-H)*u|Xh?cxmBK{v1#eGjFpghmP9B)yMWviSaK2PmbXkIqUug1xe{ zIq!w)EBEaD2w7RgmXAV=zi&{zySzJ@1+N4v(-Qq5JH>T%2J=s$Ey!QLmZqw?M-lJ2 zJQd$zNnA!xEVe}o=RIJWurG#Yb}qx^O&(0O8Eu+zp_)^aOrHpgu~w29)5sY{5=Ac+ znq@b}NDk{n;p=YaIgA{~U*5kvh}UO|7YtqQMpE$lRcB;!^6(_hs99Vv)z|TsG5-pT z~~ zybF6{xA&-^R3bW(+HX7e<=lsL?|0`$=<>Y#m`;f5we?-ZiYf|OuL+RVNPh4VRdP-4 z$VaFQs_5%1NS4v^S$+zq1a(;S`;~R4V!&x^@b_xNSmZQ&UzwPmGMW7}#D3H=tJAvd>6 zR2j7sPZEisj`aYrs{1Hb(09)n{3szk zQxdNMLfavTc|l*$l^_WKOJmrlBqr}N-Wl^Zq9f7S?ILF_GK-buLUJO3+c!?OY4NP1 zTlcW-aIAe>iO1|buT^{ZDWSs_KN_{9OUTDUQFNn)G|nKxqyWXk=XrZANTS5Xjxa68 zG6@!(&iS_=L1^j3|db|Hb3&inPN?H;i$m8s?(MBvkox%{vCufcx5z$ zf9Y4y4J%Chuh>a2yqf*R$&0#ipTz;<=rQZ<12@`1;C4VznQfqwynwRO4789GW z3j}tZJl(lhAc~(mpcLO$NIX}{{7P`Fs8|k-bQPEAy^B;(Ck6j8gBNNYey1<1I#n-p zJsekICTnL*2_U=7v#!om2f`nGa*5Jbkl>#6Vzt4at?uox)x*NV8LH}cSEH}a(MX=( zJ8t0vXzjv^dz9()kIDsrW(@$DU)DWYc!es4S(CiFrt_#I?yDyOnBD@m{29teVCq2I z^?bYb=P=*f^rxv^$UxvTdY6Etdm!d^}=nScatg`PAjBXI<;!>Ua3MVr!DqH-iBomHD}iwYKF; zRD)ZYVujDq?k@w&AqDwp4~z3X5f^EsgaoNr<1Aa(3W}`0>umzO-&g2gQx~~} zSrzjT>-j0hB(B;mgejZ;crUqqgQr1 zkG#-YF=*vj7rlokAha-fUg8<5-gbSfB2ZuT4zy2POGSSE;U>J?U8sLB{%ycVQl!FZ ziPsL19m?#lkivAzvU2i4!WTL9N_!$v-~OZfv-W=+)1p`LMyI{8SaZ~ziVd3Nw5R9W zX0SfKc(zv?J|sx{x^Gl<$z@WV`vIjdO7O`itJ`rKoh*%=kZdIm?;+ChDFXznr7yoZ zpYQjQDzB?9)rAIL&=g3)p6lt4n0cY!OQsY^4757X)b@=OU8y zFzM&`XIn*)Q#OF8%^>ONuNuESmFvjZH}#?tpnJrQJijlVYe%z|`>lrsh!SnoZzer%5nKwMMr5^Jd@~yq^g?-@ez>2lSkl$tD4j1DW7<;2nW1(Ba2&cSk!~-kd za7(o7KTC{Wp!S9>cuRPdPd@J3_wr<%KaW20!x5#>rG1IZXV~O=GLgleHh^s z_Wh(wP^$gBAW2$=`_)ob2Q(l|`3#=4b_-{r47^T`hj)^P8PHZ}6F;0M4CX>mq2zGp zeonU;;L3QFxLaMU$e840fI=BiXNf6d+41Pk2@zAXDci>ElWtzYM&?=jyZx}`c^>NI z22YP9#=Bo3W4duDSTb*k2cP^t=^|MEu^7g~X-ZWHv-H z2|N*eA3cSWI7T=2acn$Ksl#_7(x#ipn@%2nKI&%nUTwEcg!3jQ8G~o}#5$6YMdmhP zw{N%g%`+lJmFy(vnWFc=Y;tW!-!4Hc9@#c#LEY(IQhEBRnvWT?7Y)Gq17e8C|6f$0+-o~T9$yONF5`{&2rn@ick;WFrm42>j zGK3~$luyKLWR1LL_Tyk5lvLKJ9LCN6U;rC=#O+K*GKy)aqr%t%J{cb-c_jw*SG>|C z{u>ssMfo!uI>6L%gm!o%nE#e)8>7&--DSbWX0+e+A*lLn{}u(A#x*Ewr-2cwMR4UQ zr{`#(Wp!@rcGau8-ol@G5kj6_TJ=ypY2709Ua-|>vNTyVw;n0>Uy*=ytryj5SOQg- z{YWkjnq@ko7QtUBzj%BCO?!&~6sUV2h433}V6FR1?AHj20Dd#9?l_UU!6-hVBo0?WX!zT8v z+y0Wxog^os=d@;ywz*#6{p@=d9x~C^SOw^^2Kj?!f?7Ai>DBm-L)^{Gfb=Dx!_k1a z#CJH}E-kls3DbE#)!675AqghvUef7I2?de6Is`=YCc{%2l?D-l8&;@v5NB0CYgzF& z=vc$?kmRZ41FLmB01W=b(qO%+zzZ|v750|;>Im*-2{ zNha-`BozW&(-OK^_KHN=P8WnpRa)axYm)Fbqt|pqwze^y!!P%wZ6`BGwj82-nm=H> zanlyoEh&Rhgb&6AVROoQBPZHAI+RF{W!&`B1jjw{KOK=gn#8lNGz5VizW^M~T1I3C zBb-5L^kDfTRN(|jhL$Fl>)u-qN|v68iAX4a`Ylw(A-n}`~%G7G%0WL zw%GJS^*KI16L#HXJdorC;uM_NLl?!g@Q-2gC5NUXBabpUs~9u&@ER)!av+P?WA9R<23#rbcN->@oQc*w^mQOW+B__ zgGx~K*G-KWa2@53aCt$hn&j-J+?M{dW}MXTg9V$vGW zjKae6$-wToRZ6`#zmk>idS*mBFW}z8r@1weH(bxnIe#qPeK_78A5*;JqFFZ6o2Txh zKFXUCVQ5dpg^l}A`3!L`2$OkJ^)|>);~(#LVd#XR*?#d;irQz}<>uR%IpT#GwB4!m zA*xdTXnEHtuaQ{5c3w3awP2P$-g9J`pjb~v>YdhtZW{oxt%?g49d@rlZrA@?QGKJL z0fOw%NL@WJpPDu}iDdT@T;khgIzINfQ;6zo-6W7MQR29Gbd1!C@X&k?bwOF+H0h<6 zv?6#+Tv|d|iYC$>Wa39R4lJR?L~q<#!lCrlx(#>kCY0d5utyVJ}3sMsTt`%_R58!NgysgR~$K#m5IwZTjqc!9$<`H zD0dyuDHk5gqHh36`35gyu)M*bzOJ(p8+#L3X4%+_k^qt>t1DIhq;QxQ+vnML`RT3t z!#F(_Fh_8xkUPr-tyW6j(nmmyG(>5%H^uoIsGnH3QdZW*eN+1GZXSKGJT+w)tnM8|jjaYH@++el+q7b?j|T6IhJ~D4YwgjDoOh3aM0J-e^LH`&xTif!d&zU^x;KFB}BCIu$fFd z6T6$RVn;)Fse+ z@AB?yZUCX0Ek#e+Q|G;}-gohG7^{BdyZw*X=aydG%c3A~4~BqGwetw0Lp*1}ZyOaDi32BWj7G z$r~-!^cWClZFoM<26hKP_xYLepCAaqw_%mO0rQ)eqOh8Aj&5yMXjHef@L@(5h!xJV z=~Me+GKHJ7B@8bLp|}({B%>6XUhnfIOQxp&=R-KDpV=p>vI?7@upOyL9^{ z&|+h}XC8}L1*+!4ATnd=XIHZPNd8U}?#GcUmg~S~A$MVzkbcwIvM-ephpS)2JsMUS zl4K0S=Ecg3`&@5Ye#OA+gw87E#r7xBqZrB}X;Wy_7D^BWI;x|&!Ock)QC1Xlt-Yy19=DVU=>$IOxI}W2^RHOSF9`v zNKDB+UMZ5Z%IlsQ6J9i}LUg$)>~e*8YeMU6Q!pV5xzPeQcuh{ccE+`=l1?w|BLf6i zD~Wz%ha*A)!v3CO;oeF+H#Va4NW<+*%*Irxj$cSx)l<5K|4@n*Eb$9LPRz)MeW{%X z)S(F2#qMUpP_*D8LjAT%iqJM&&0K=E0ZCaS;8xvx>8K zs}3<8)W67>^_3d1{&wz6#5(xQGHzb6(;6sTBen=G zr|>XlnS0zjBPGO*Hw4HUTXpfX*+zCM>~52`>aUE*15C*@vDh65P&z*CP8CsMKAsn7 zKxh~Q~L}yZm-|Tap-s?VPZE%4}ZR#$QOY;F_ z@eV_YGS0E?^duH@7<&!ahQ{*TnC4IC&~EvQLKop);R4=%GL%`jXDw|XA{DJm%b92; zj3P7APK*N2I8Oi zeh}qf?fkV&x~p7}VNbyFe{1nC@%2lD0h_Vt=m%m$l`grDIkUr(-|F`b-q<>~X|3ux zScB3;)%WUn6DSofRa2`_*gD^Ij@s@iQCU;=t&wL0b4V!9#<|z+vwlXnpW)l=3 zSN`i=k*fUUwEH1p)%m>EX(hf_A?0hQmyvy?yp;TCd{ux@0tMlR3Rg9}XxX=rOi5Ip zBM2iyufEw^n-T6vx*5A7wP^0oH@^oTzZ0NH?-;jf`;=zZO6rdd22sjU@LUgos?j&5 z(rwW@a}qm4(Qm9w&*Y{se29YEFyh6MpHvP!2MAvY2CUsJZ^`^v7KkaOUg9a2bU!|8 zOw+7!s7>p0wvgwacT6tFEGcLs%T1Q@3I6my7NaQiZ ztF_giWPZSGZXo?GBjn>@|6so_<@dWong@l+?K|mG*E?twfm#>mYB5T|UX}6fjEoV^ zFAeM8M7t~gZJ&Q}?Y*h`Au3}wo^0bB*eJ?id)i4<`$iq})R@M19-=W=!|7EK5L_F~uUGTEyBzP!6!8DL1I`R7&S^^;cunZ zSvaN|<=f4%pG%8b3XES`ME+L(=6!RzR#A+*c~!DjMWsAzIQIqXaec+3aTGV9a=+v1 z2y;B#oGUHuQ`Lu$QTT3`UTNV1*Jb*LU}DDpFBkH?$=-R}5-?CwNl6R$XI>Ws&-Vdx z<*l^HX;o@+OCvnBiLvhctQREx3o8z0adFBkTwM2(6-;BjMi)ab-!yDV(I4M2KHD*~0ry-2n@R&hg>Kbkq zijxcF3?9qwXnTb?R;6-HaN-gPG<69S-9c~ajO_^YVP7_GT<= zqeZJyu|#3d)4u^#xS{njn{?!u?USbjii$?wHCW?$JF7%d0%;(ia*Cos^Q=hz%gJ9u zm$xEWOu!-}z-(*r!;=w6n}~OVmbHjZYGJIGR`T+`RtJ7^jB9`XJCv?9siBpskU1E$wuafxtP#%~ut{(tfrgMk zn4M{wwOtscg-WDpa#ko87C&Q0%p-Xw5@@0lD7u5*n9C%asO%byEHfZH*)PMjGUhDI zzWt|fM$2KAecYwL`_vVWtvpzYPrp#esQh9E#~Pl6;%o}>Ifo$b6jYZ_US?%pGcQen zi$ZD0CcaX~SE6(>QX1K8M@HK&0Rh?qpWB6`#z-`b&oIBnprzC_a_M6|zUq0DN$sT@j+(ZN{mA}Z)gZg&+UqXedMB~bhlcS=Un>jhSBPI#1?0pZCB?j1XJ z%!FE4#>0DQ+Sw689bT~()?+UH8iJ*Mqzdq1(1lra_Cm$wX;Wo|>;Gt2L%Th*Y1NDk zo6)Q242&Q?jL&RgRQ6W{+m+2!Wm6xTB{WEPL|wFo_KwI~WvgNS)Q2i;{@|4m6BY|> z&NMt*MU@%2@G`6@91YJJDR@-oogjzvwrSI*;kI4nO-T|lkwClziteB{;W8V~aRr6a z`58QTu%npH9J8)*vkiq;4!RB^7Kr;`vjtX{e*LiQn8B}*ghIT6P{D6N0we{a)O{;+ zaY5UIo>#kZn3br|(6V3f(ifLB)Z%m+FftdKH+(Jw}0Sd1Xug~ScR zm-v-K0)^QSOVRQ!n5P!r(9e8Ls?k}Wo^0C}9gkv=r{T+&s4QXvxCE|uW0G{MCkw8OBpy&>I0o|mA=Al{Pk259#vzl8j zEm}#N*3r8hwr$(0S3J=u0u_}ehds5{fr8Z4P+K!sg5*xBTrmpav867a%LAU%XeWx=&VbY2(`fj=sMLedQK8O$%MkigAVYZ>QgC?%x~rY7+MCq7G=iZqu% z0n$8R`Fv0s+^0>x=>P0?y25Zra!b|CR;B1>q^_hyn&BZW;b7k8EBF>Ib$fu)8FVS$ z0y?L>amWsONqSBOdfnkR?vBktZxFwIyS%ZFaz7(%N{Vjf%~Oh0Rx59S(B(SMvVorV;38!Aic;S zePHVQf4_6z_vXAi@4m(i%-}ol=H7eCcfNMM)6YSVQHBVYZ#gq?rKM$E)k*W~aP~y= zCF?j&B^ozH(RBFbM56&TB>ZQd<<5ge7 zP+VFm^<&0JRe$}~PDQbF$dz>*c2^{gR6&0eSM9d#H<}~l?zSFQl-DSX@|W0 z@~hIgt3?J5877BKY>+|aC3>x%LO2A=gwNLA@E)m;#pq+5)YevMIZ}P>G9aWWTer)y zW$PtYUM*wBj*^PvU~nlTT{)^>MtD&XRDWU}t+IB-E3&<*&Dj=Iin3K!K1lVkP6k(& z#chcOXxz=~SIFx-TY>>G;A(;nEstfDLuJ&c5i+1uI~#aM<(csJhzysX@OL6j;RSu% z-MCIxZP+HoY9HJHJN(i?P3+?^)yE|7NyJ6wYhd{n`=#Sn=6KWtg4mz5j9e(5E*=pb?lK9E7nOMb=i!l&ZF2n0b%kZK7Rd;D$bjix|$OS_$SuU?mJ|z-s-YF~BY>-`wbD7GHx|v&S zDk`dF#Hc!{C@Xc>rGl{5^xBy(l6^b2Xx+A2cDLwu&f%lvurYPgPm{J~q$@LmN$o2y zI=APr#J%7O9O&&FD0I+!xr7+Cw@w|X`tJeiX1bFb4V}JS3B;b#c;3Bvsa$)_Z{(%* ztg3&Uuj89o_pYKx%OATm$p&0vT1$t-R}L5m?!`KnNP{AaTU_svQrk{akKp8 z=G)|%*S0v^CmngBTzL6=WZnsfOTS{RG!pDH^^_V{*=5_Ia0Q3g}=|StW*x0JVg$ldWu~BmIX3#WRN|rHcY%bWWk}PR z72V{FW(9B(;LCLTUPW}G}%E7?>*bcmo|BHUm^5x}a%qN-9kCO8*xD*WPl^T%l33F&nR@nB^0^PZT_z3{X<nZM)aWUAO!~es@Qs)Rt|Q#?~P2=!PjWdFnB8-es4_ zvEyrWz)Rbc+Vfcb`~&jaKi({NKJ<)>ST$m@oO$-e@{UXA$nXKBD&Oqtwjh@je?%1-&RlSulP=-T4}C)a*8uyHCFTMyre*`&Bu1^guVOnUB8H zP)t<`^z~ERw{G3)mgraMKCV>s1+vX7t<*ZuE_=7?fY6Q#nKS1ssT|NxC%2kp*;Dt) z9XCHOTbhdGiyyl{Y6jAajmer99+qEz?E>f&Z;Q`nhIG1;4onpv>${dwvlMcKG&gX|nIF|a90 zTf53`={@($pI%uidrSMv`*nb2sJt$>{q9=%{aw$>q?u>R`BR3=+UM_;yZ?Hflnodn zAAA1=I>4f7v!Kn#*Qe9>FT6)^K#NJc4x_xWy-~(ZKUVc|mea?5yBg)52OpE?UwBN4 z2mVMdJ?%*8U(_1NLuc1pcde2|_x@d0DcE_Fj+D`Zw8PYz+SWznoV_<~jl5h?541Py zm5@94$c*FX$gC49+;ZE-^)JYh2X2ui%XZ5T|LrO{Zu)3xYtn((eY<4Wjv_g2&RiK* ztuubHVrkPAJwqncNq?Pm%NrFR|84=|13Yxzkr?{8<&8!eqn)~WC(IJH{<3fPR=MYa z$K{0=9#{ML1G#MW(NdxM*w(=SZIe9v#A9;PL!0IJb1#$W4OMOyI(M#QuV=&z*D#q< zJ8dj#m&T3jWKYL91Y-j<&t>{N0P?rdOYnJtgJx;kTVHL$%G-s%3DWQa|hD zi)2`Zb}094kw+FS7TLSq4TN<;AQi#gqHC$B4P~ZLVrsAVG|}SPB~xb4mq9v+r)%A0 z&5L)*J-08Db-Ie>Gaq}OOdVDsd$%oM#78^WgYn$L3_H}XCh%00ty^B2pq`2gMJW@eY0fA+=k88HS4H;YlTi< zn2Rtv1p9W(RR)$O;>q4aojjH~Z#i53>BDcA8XdiM4Pqeaf0lxG=qzQi=K0cne{!Ak zx#uj9S8u;V`sq5POr3({Y<=vKLvs1b48=Id9jnq`M$S?l%u)MbV4LNqyz+~p`2g25wwP!A%dQ)6h zcJPaGL6zPqtxSy<9}a^kEI=E4;(YnoCoYsR!z=Wv!M(El@nhv@|M5L}@*fY#>UYhP zp@S;5`Lb1(zVLu{&WFkQ7aSqC{&kTX&3C$)OQt>oQSY7PM8(MLuQ1pvi97q^x65Vo zPLhiDW@+BrD6{_hJNf1>ZjpaHxKb9LFkMQua6a_cWg7DodH;t$CbOp0$SY4zmbD-K zx;(RdgB~)tPnUh_%mveyNu?j?$u0?Xn3KkiB&W>n3!Boc(?VxnxIjMn!OPXAw5gsn z$El*8>DC+M8$Z8E?s|BI zoIPWbR1VQut(Fe8{kl5op(j+9tEJ)Ox5#NHO_O5wk1C8LJ#$d^|Bs0{ADc;@#4aPu#`T;6u>X-*$o_Prse{O$Mh^`HJ( z{_&9N<1tfYV6`r*)}_kZ*1jMQ-}8G-F;31~c#71N2TQ5*(HEC-o`2AN)74ZUT&qs) zW2-LaJMEJB@=qVTLWUKqeeBpPOJ^S`-~IAW7q$ z$cbYsWz$QGWYsf^W!;3~GIDfva6V9~jC{X5?17&=c+aj>7wIf|kxuf+xY_dlPkcru zR_Oq`ZV_Cw{B*hIdta8ti(inJ=e;gRjXF$Lz51%W@W48mbjn-gpFaLRnNr_R9vQEz zHox^7S+jDLG{=t80T|6a9Yeb!n&fk!<)4&!;iJHTZr}jZpLx0cC^vcK_hw3z=whmI z<)q1qiq31+y0>)@b4yT5SthI_w(g(i=_bXsvF8q=QeO@*>0dofKKt)KmbWaJEkjfo zE!{CgnVsFwTlC9NWiwEj5 zxg+JoQ+02-=yxm2w1fJ4z@SO;|33e(a{0L@I5gT=DdFC7{6l8xT&8fBHgnDinJb>W zx9XbN0lLKf$m33xkqRTGjT#2VDh3UcE57yx`Q~@7lnJ$i)UQLTYO7_i#@V!6m+!Z> zI{s(C+F_LxCo4K!vONC8+?f_?JlqN!4ni#MH&CX`JXt0Kjcp0-ty0>5q`dpn|0Uo5 z!Id((p;jBIMLO6pR0h?GY}PW@svV=i)+J${2R?6}Bzben^nvNBxIR|s689sIKUKyk z``j{GY^jD7mGqP5t*hm+C3opOnRcSim@DI|v_nLhi`&**Ii4sF84~789|O(iVmji( z(&)NTljYP|lbm;l_TSyXRBBOTMLK7(rBPma;TgIA{`+Ln{g3E*5j)-1n{4s4yb8~J zIS`k$>KpYm_OZV%aX&)!alC?TLtyO1=CIB7-Lm}oC*^NTb%6an?~xOyj?_UGrZ{@5 z(>4dFp>PapseLTc^Kd3(A8A-Mw>tY+R5Da9{nF>93+W0R=xGiVX3%?@ z!}|fB2G6Kbqg=y>9v&9IWyY%3y4Vwo@OEVR_ zhU!S~!0Mq=sjC3k!Zl{n44E*kSUUw;W#~S|*Iv}d*&VlQPKU|(@xy`)sWkFzfTp5l z`}Xa^KJEz8yyG?R_Rp8^qD8>SrNJ~^Nr2&+zZR(>Bk?C`(G8AeZgow zoU)%bN@>dWF50@6Q{4+~e>vs!QTbh}hdJ%jEf?tHT19cB3Y1$CV!GVBUumm6|I)K^ zx6N zb?bB>P`2GCKl%6jWVZ_yIqI~x%LlHwK#rMQrz?51L#4bZxSr=g!akypyBlS>>f>vg z?Qm5C+Ad{Ue{Wv3S{}UpdWTGN$5wg#k*8(Sq{C%o4d-)c<$eHVm6Zw`+Z3-NJtLu5 z_uY5s4El0~k;AwqYTsBlrnY%#I*F!bchVI<-ysi|xTO*8>BWKQ#N?j`7 zq8gjg_S0_3(G`W;I^pkh@W>9@be0GDN{icN-Lhxpl~s>uz$EEVf7-Ic$BmO|#}AP^ z?)}g`81}6Z!u_Y>Ao#>cij9-dE!oH zd9;zaZ-=y3kC*p+_|tO6lp(GY(Au(3n)h+CZ-3dg=6PNE_;q<$Tc#IYb)_6VT05fJ z_{^dzj6lcm34%?2%%1Prqa(_F)EOO7jn!nTJ>3ikq@rIN1T5{@x_puR>Y7zjS)seM zbq3*;rT55-I&F8v{IjG%&qvT*uR0r1Ce?bHEvN9eFuLSiCe4pW>+;BeTvTwBe;4?H zhw*OF9eCe?YiWanWB<5dGg*{I*Fcp8mDR@Zrb_eEz( z`S$1Jr@wzrjy-Lz9Cy@Mm09i`SUMTm%z0+)jHHr;s(GwTzuzEvhk%y2D-BWmOp*3 z+^nmGUev3o?dQRdH`EF(t@(XAvcqPt0)oi5iI^i?mbzCN&BCLDXV96ecA9AUpP;U3@g ztERW{~^Er$u|;sS2vs_v*%2ea>b!VX^d)LBogHDvSY^%xB4%Sq=h5}4jfPp z(uwONlIoj+`KK&zmi8d;8f^JGfj|%P~WuGSxM!MQqW?vK^5C*ySZXme#TE zk}P8@DU>3f&9WyRk!4RXGM!F%<*~cu+HWya zbeJBr^ER0^tzKuQTa$FlAZ2`_lexGY! zK4@c3XU3SV8CW|^j=kU=(zy63S+ev+dG6^a<n=9QZc7oH(?m4SUkYh${lB(`U>9v1wRaKFsF*(b?x-D4k2FK0njj&S2-7K@uV<66ev9$y`-f)xwh{vU(VoUIX;51yiJDU(lgp`Bgvd9I%X-`io9b zQA?vNzUv10#jVdt{gLO%hpw0}^+U@wjm`+M{xMG%E+_U~TU#saVyUkPOx(j=Cqg|G*k)(1sUxfVa8cD>ByR#Qyip z19URLG1(dJ37V1`LHMRuY*jz!E`ImNWX^GVz*g%%)x{DSI%2ep*1K>^bdROeO{K29 zpI)`L@)7yza?$fJ=w2bzvte1J0=%HLEJ*x*LeNygy z{24j#oHJ!)gRUZQD~A%C4pE|?p`gs%?+W5j@d@i^wse_zFTC<2a>fZqND2Dbjy{f( z(Iac6n0-KM1NUs(B#+*Hvjcm!p4Y*h_S<%`3aDOM_Uw|KyP9-8i*9YmHsg4_O!{ba zQP!Qn4dE>E!9oNq*+m~n1f5LcC@!okPKy=TMwP@;_b8;algsVy#D4Iq`r$d|u- zg^Z}sLx^=nO<6^ijGZu6s`>|q_m%48$jaxRmKz^jE5|SRuzd6bm&n+fQh7lKo!5Wi zN3!^lM`hkwGi8iUj<}VhdC-uK_Nh~+su>BCEGr&%5?FXEaNvM)Any+P{*KlkP%8Uq zX7G6Z`t?F5sIxQIwecTsw&YADhL|pFnKqWo%gd#o8ZDhD37qC_uQ>zm!36QTJ8ceO zyvucsSURwZJ+ z46&ht|NV4t`tHW%@`vlLl?PrFx#+4d%BAO?Duc9>+p5a& zvQMwdD=P91$Bd#W#O}~%RH}l%&w;r9j#Pa-`dHORJ%&F?A9b{>Us;EqnV~C;{_(0y z`LZtkzV78mbg4M2B=*W}H(xI;75(IbQ;w3s%vx&aHmO+n`Gwvy$*j|6#>=?sQr3yr|y4PUXKlz<7Vj9adrJ=pLXt>IL)e* zfxv9@%@8ja{Ie#s7e~y7URZ`qc$hwpSNo{?SRT?x?YHXSklK@$J?S*5~GOR`> zA9b`$7+9wE9)f~;n^l<1&2z}>4n5=)H*Ulj8B0vTqgvdIj+oA0U%!*0} zE9*bm8m6oP79tin&@&v!yMt~=;^8T1G_LDO~%t&Pi z2a>p2gxn(2gunBF*&EV8M=rGF%0e{0L{EHe(-kDG zdeVNdtQ5*q>7_vro;`L*oMjUiK;kp!Mo^HlO%E+(RYwuC;jZDL)X{j*qQb#=dv|Y= z+y3}lx$*v$Qakm0Ic?@t>DaMZ*67UhfWcKVXrS)H=O8uGWN>~A<)CKKQ{}NpSX03% z^vy~e|6Bt!fgkeI69e>4-&?Nzt*n-bI)h#-v!~bSK}q+?BM+<;nRb|-V6VF~JB?8y zb(a^PFb(9hrzq=^_o3nu*B_^kx2h1)lGwGPgbb4Ht&?bfBnDY zZcY5*&wf`Ho<2@qc=TTR+X~&2KDWws0y&wQ@{`_W2+tA!^m+Ax&}`^UVp;Ifrn9dt zs*lBC`$!3AV7=cEcQeF;f4)y1Kk{(tfAmm!X7PjajIv~AO@)*X(B+zY<;Lx95%R^3sDhxzM?%PLhEG`|B*Vc5bubDXFrJ z=W>YplO&v|NMxq<7I%#30d`tPwJM=O2R%p<@Jwr-SU(v)bg+z4@4FtpSB{@KLMGRh z%VQ5eArEZSwJsC5RY(JsFTtN|^Cy166*zF{a3Jpv`k}*u-b)DvjlIfcdQDh5haJO& zIeQk5=)Xs$jpcAC~`!0;v=p-vSc(yx1rtkD{ojRv?; zTAl4^ZD#qUUJ0k8xbQL{(eO}6dZkWL#};|y{yW{t*m}W}+;z+E^+2nb?A*Oin)K3- zi{JSXx$N`_!BQ&+ZU6pI@#1*$OSg4l|8nZt)I){@2kd3rP{~?XR6NWi>o~k#B^KzI zYY?k{ro3XhoEq1}K3MmbG#uv<3RuqRVCz{7&d&;Kj;^>bfK4d%yi{u*X~nSxR*!$LeSP zB>()ao8-M8{fbo z-!*mL^T~l;WRb9s5&8%N2pT+iq|E!^0(tP4cgT0X`enKE=z4kX*<~6!Ugpj?LPk{S zs)&{>mx2Q{2ZtT=b%>;yY>%_=Y9GDBu}966xn~_E z|9kg6^108xD#spPCQmJ8bfDks7vcj6q6UA} zpBb(4ior5>=42@!U!}9?W&@)V`2f;kGq!aD+GJOYF1^xG{G41i2r9tF#>T`oYf*B|Dc=Je znGU+SRE-rEhLXiw9$B%4NUCF{x)*fXDN|+C#5x_E;v`sxT%sW0&wQ{R^w+;ePS+*l z4Rv}ATUzZm%tO!QR#GUCGL?)&hUm%Z<4M7Dz~E7G)a02`S2alY$1*4B!wue{xvYGk z&f=XeO*)&dO-!(i6wDT*QIGwTcdjscw6+`9hQ;wIq z(Zf4!iU$sx#{SXb(khw%)(=WW^+>t@$yasRajTqo(it*i)?7K~tmE|>A)WD5*5t%v z%?CQW$I^I6AF{7OxvA8S&WtIlk9r?*)Uiw|TAi^RB%{aZ0%HA$(Lra$)%GcJ^o+CQ z@QLGPxL*6WcekER;bzghk!hv`Ai=wRXUu~5YTqXpjc;RQD)>A*b+I?p~ya ziO!t!R{6JBrQH3{i?XM=MP{8cS7x1lj?6p#Xuax@?HXY#5Q3G>XV&;<1FR3k$(r6k z9|x#D9y4{O)T=%gcd?I%U*)BPcg5v{<&=f*k*^IHCim#UVom$n<&@bAWzPI_WX=gw z5-UNv$UBNvfVq=126I@{xHdjBD^aP|pOHMTx(A2n49V9rkJO!>auyJW@@N6Crj zpDeXQ2J7s()&V)-nF7ro@nUUFNm-?gpLUkat{)-gdT1-W2$SaMQrYzz+#qlJz&}at z=sRS|i?8V*b4*T~d!C#z?>sr>*u!;4iJndpFYb9G9KomM%a<3fS<9QLg@gx^1NnE* zt+G6j*uDw#vgPe=G||!DwF*dO2)oAWWFB^lM)IH$$I0iua$GzhSY{hGsFn)D%967Y zdXnltf9ogat^205!4s7z5$gcIC_e42MKW{#TlE*@-RAZ}`H0fc(oR6ETFyHEUHS{+ zb*=n@EtVbP|EszHIiwZ}?j?DTWwhd((dh^~$P@Tu3( z%J#{jbu;8MU!D;MtLc69RbLu>Eg4RfjweofgjF;tFwYNg!$u7ndAxl7tH;Noq_!!@ znWd){gGR{NmtG}jUcl00?fU3B5#_q?o~B)!lX-~XRJetR34NwYap?Nxq>$*N?t6`u z$mnScXtCbzQC_C&Z8gvA>$(hD zm<9f6Nb7q+Sba z=jhe)*PiR@lpJV^BbD<5+;p^9iYmv+ z-uLU*PY=K=)uPt!wpyl0nt;7OFKip-5XgcnaGROxSYhl`}gms`^g5T zNKo*C116K~_0pwEG{|yG7w36cR&np#9$Az;%_k@gs+Z{$Q)6`tN+ANWz%Y~|m(Na| zGs%Dh@whRfL_6lCdX=0jr`mDnj$f01#+(C2W{mcxh>*9kn9Q=!M?HJQSRP~-Puqh^ zW%&g)TIW}`GBsVwq>qjSowZMIDlF{`sYI`jauK(S~ZJHU17#Lg%uGn=$JH5W(=xL>sbUTM1jdSTVQl-aUlN=dUs(^fYT!!$ZYz_mdY%MX@)g3GM1*Z zqRE^l$Sb>e>0^Oyw)HN1nO(i6wL!Wx%;rV%D?{4!*hYs|R}Yb@s%qU!793<39kX|a zWV&X}VGZ;1Y$dtTca>UB$yMHgI_H=!TNa0uDD)YJ5~)d@xhP*c0>#WgpOv-Fr2bp> zWtNhDpq$~HSq2V&Eqlx&B^>1~C!r@&7GCn^fXaZ`MyzCNrA`Amkav&D%=7^z20!~w zgOwj-_C0$X1AcVEDClG-FAl_84m#y@Az5C?IY$+V6P2^_Co#jB^dz5DAKBYSQqyS- zI=cslrc@N9^9$;2ifCqD62;1W+g?#?<6&)Sp*-s-JV z9qsR_JT0%Dd~VsY#Vr#XKYo04C1=DcBH8Gok8fT&w!d=Bu7#CAGc4OgKo&3A(wA+# zEV4XcQF6lh0L$!vF`-Xol%<`FpeZMLN5DwyZROGorhTVPmbT3Jq>9nMe?= zi6VrRS8GoPeaDU+p$^c2HMqTvJ=R9+ZFoiD!#+x#GsJzLkw zfoxOs!g!(9SD&LPj(;#C(+l~V4@$I(3ohV5AGaxyVvLJ8VMz-jk7QLLpumA-4s=Ih z=?)mlSQWks94K%gGY9hTpdYG@fy_MX`55s=C!>+fo|o(48J#ZLSSC7u8rgsEOj~$6 z@Ei!qD=wH|DVW}Ms)wTVMORf-S=p$S(`gn#08#Soh3;p2A`{P#@h3gJD+fvDNa?c2A>x^?T_fi^vt zd(S~0Hf)&G*ViXjdW3Uw&4P#uG90(peCLaAzUdAi;Ys$O58#_MYu?1|&n`SVl;r9Y zXZ`X+l|G-=!h3-O-N}JBb2~kP_SLIbCvMP*YM*td2nw(Y9LSdg`FGF@m1Vv>&pI6= zeElmb^n}ZPi4J?U8ZoJ3@JE!Sm{KujzEr(d|``eL^2Sd{YY} zN}8!-_a@&Y{%54KH(_4Db(iayl^>W3Cn{Uo*wokwj`FWN04l^1m}4~MCx_khIOw)?7$=B>E(gX z{J`bdJ0;#7SS1bb9yo?(nNuW%5qej~0lg7nS!P*?R^Y$^;XvLSU@5YZ1>=CA{^rPp zy~^1dliqDcyGLGqPVX4SO;H)JM7*}PRo27^Y;+R3FvPzmNa2sDfqMBR7HrC}XG zRKfd@<3R6}ch`M3=^yyMs8gzZkULJDFSRm+-;6UCp=mo{@dHK_D z*|>3|Y}>ZY9cmGkqZw14_8t}YVEQL;i!huA6SwZkJ3(OrT$geZZ(&kFxXx|gX>lfK z;$_{sb;4dQzf<5xaGdaH>%s>=a&LL}@J)qM)Kc7lwyv^I1><1)nGEciH7;6SBO5_k z1L>iN$gDTx*F$8d0_)4Q_iJM(1wP)LzMXFtZco=s&rnu7Qy+vka7%|@y0C+QZjWc# z%jzZhAWr=K=c4|v7ti7}%EG{mR zexVs;%N==?-@G1sFxDj|@mV6RGm=P0ra6l}CAb zxzK*f+QsR>?x4rCxq2CCjuhwvw|+_=E@N49u{z_?=AwSHvKJ5THIGD_D+TkTY(us@ z=ru$Z5P8#bpwL0@g`)Qj3&x)cF1-sXJ&fsykt1D2!&MT!$$?L4X_?g2)O2T0PQF`^e9&JuIi#SI)ZNU9abbS_-6oBZf7j2S!DHGYEY^U^^%uwj%t8j&?Mx}C!8 zNR-f0phlVzdXoe&a=G_D1*mTKGG5o{R*?$5juK}w>GsU}0>HRj>1foe%;*#uk9rIG zbQZvA*zn=m%PdZp*%V}5#|;wddK-Ohty&LMR!a4dA-#p=2OSS=$4G6LP+4^JvUUmh z6c-gsZQXF!Nza8@)CZI`+9c4HR6n4zPH*E{>)sW5_}MwK8)O|0kAh+T;rIp*Xc}hi zl0jNmo6E*VS{!Wa5T&oJ7apnxZIxQqtj!f(=anQ6Bi^yaEQ#k?cr9?C7jhu)J?OoV zmO~CDjO4g+<6J`vV`D}$l2DCbrxjsyON*>txzaUWNE2nKBH?sn0Qu91qLM!B@WW+T zykV7l7BL57($uN0L$&RVH(ZC~VA2K+Mjw^f6y4iIfe*%81dU zM|XCdT#CN&hyC+`3-l|jn~b>o)gbb3IP5TKQQdq)X{Y07yf|1Co9u?_pwYxhlQPbr zr@|8&m|+;H9U|npas7H1t+&v|EfCN~Lo0U|NU>H2of;-gkX33^XcQsWgE^yu+#KIk zhsLW;jcaJgY#VbYzE7t>W|O8&k(ZY(3uJb%>jAhK#{qpDqxD*1z$iyfGiW_lW!~D- zDw{TLV7l+1>SI7!P|sBktdxn9C%FO19LYMQqt|P@q)j`+D_?!J*R)HpA?VTsZI_H1 zJtk-VTb(y%%ou6fy<0YK+T`re!M6RTkKn;djtLVd${-zpHh;9yWITGV#Lvw)Z&Py?zPumle)S(8K47w&}eduPEiOcaNyu@Any)(L9u&Y zU>FXJ2#!v!84`P@!hq$C%;qt>xohW6XIQf_#;IU+i=P@mW^%xXQQUNmvh-C(&?sja zGDdmF_U*E7-#%ff_`!7G+`oT+*C0!D&OL;JE>7U#%dM%YN#4*w20G|{(M8G8r_rYi zdr_&njO^I9v3KuYKls4E$17$!u;^wg*%?yc4!x;pGe2~EqBitub!KpnHrCusQ5KCL z%cI+$iZg>Eg9i_G%E5M}+8JW@n*lMmEI3{UQ{m;)M)?anmLwlGNe6s~50l+m z-dvo6tdlGwuGTVAshuGo|1j?9!oqR;(sw$#7{nZ{?Gjch?N)tst8osdyp*x5IHYq& zM-SZ5p)d{R7xwq%!WNs!)22z4!r7`2whw+^T z9{56Az1jdK4}1r1ep@SDT@L-Uxuz(6y{XNGU8CN%&bd!t;vG8SS;)Qq`s;4BoVBe( z!G+HP2YL+$^6sFgQv6;+)ggq4Yj}9{z;`M)el${3Is9n^@#{;D&NjHa$~y(((C#V> zZRFXK))dhWnwM4PJ_1%fK$F|95U(&8**?@N2KIK$qR_>Td zKz3c6#-X9c>HPe9rwdC(+${nO{_#t9H!KZo8nV4{>29iWXZ(jQ2G9;QM_EG``9(Q& zmd1IwfgTnAK>A0?%=8f3$Z8v$*^V%Nbkc|EOc=ku;u7{TUJvvYyffjMjXu&5?5*vR zD1G$pepI`J^&8X)OpGv)39R1Wz&%yj@oNES0^caxPkO>>Z}pWnm+_uu`RHZ%rX1=6 z{0pwYf!@x6Oq-i~JN}0}eqkfaXeP^}83n}Apg9!W+O=yPEt7QlBQwjmR25yS3a7Ww zp9(jV53|Pgy1d^GA{(Neol&|hI#rt9LQgt8Xgpg3+TvB|Y%M3dn@c4>3+oF{lg$QQ zwmx&_Olj2F5u5q%>$DmFw%h=INoQ0XJ{P}43foyxj&tzkG+SA7$nvOZ3!z_Lj z91A~~&s4Y>4cm2&xP|uu2M#6&^6sEpAvl=GAL@C-ujbPikL_t;~PIr8zRG9+%gAG6c$r*SQQ_(^*F62JI&D!9P%`Z)@!FIEp2g{jRu3C>N`Pq9Ite72{ZaFUijG&3-}$*t4ln^ zk;;9iZZ&xH(MRRjV~=$*BOQ%vmgpM&eNC6QY}w+j00eKNVb)0}$qO&M;ACg?gn44$ zKJUWs_H8;w8vM*Z0mJ-5^6=AHT1#W!VOV~+#epswFn8Q>hkWKUpK}_c#v>e;*zf0gqVE_4GBci(-tqYa%k z_~EpC`}wE*4#n|dxwIPY(h<*#Yw--eALip>@q9o3-E{AvhaPftS_j?y`|=aHK|fm; zChFeOzu$g)dYQ%b$MM^H_xTm(r}5w7*mpu6@$zOc{q(_mr+w@i*0r7@j@55ZKKZ0H zH#f`M-u5=#U%pXZdF2&HpWzbq1ctBs;e1`VN56%qOJjL;(w&UE!8BMFKl~)z%G-VS z-6toUa6&=_%|GGMM_)KAhXLnB_bqZ1MA;CZSB`(44Tz~;S-8msUb=Xme9h12b0Qt_ zQpnlTbP4m~8a(ng00u$%zJ0vso_l2SY5rlqa9ENKcy+v=w-3Y8qkC+7 zp&iNK1CBIS)>s;!auuA5S@=`nK=0u|-W~L8NMNB4g(mF$LX}gPE+w+Gxupy6$Q2jz zNaUA>4viE>r!!rb5D#XCF!H8@P6rQX%WE&b_+q*3w%fFmzQp-cnP7a<{aEJXe(}*= z;#xX;njhcp=fw%b29_V+-rdu};^}?(VK@+gA${P12VCd8K}R=F(vIFoKJpPqdt}-; z&EfD=-wC?oco`0<;u;;{FiYdY_0(63=lh4>fx!s;_rCW%nW6`+Ow)Z_IO0V)D>IpO zHKcQ@D+ygq0ld4yELUbrm`yf3c}~!S#7;ZyH2MDbzwh>$hxy@u`}_^R+qdZ$>F_gu zgVQP3WO?}MEUl%n?=UPs+~QEF|LkW!a|2?hpMJWWefHV%>tFxcHD+LOIv9q7kGCH` z>>rNrXp7Tr_*nX+v|bz+Profb&s0CsF3VgA22~qSE`} zK0Yq*I8GMFo-PbI8ji&C;#xd|=ZE=tSUle^{7&QZzyJHcT}O|`n6IbdvS8o-(=kE+ z_sbzGFIXVI{N*oYlODbmmDb=m92Iwi=f`(p zA^TzB30;f`ckqlSarjAjhSFJ>|0FNmAO7$MH^YpL#92qfeRzLNU+n1x<*!o;#NhGt zo$ntGBVJUv#f1*sC6`V-+}g?1 z@{X`6K3q#ryM#8^VS0e*5l0;1WJ#FmvGef$n7`?>7vx?oJnYYRHespYW|b~QhL$cJ z%v{5g=tyH5QlR7LPvu|m>mCjisW6kRbqFrTmjc7m)j$2|Px9$ce>#XkGFAG5>p2b} zn&r!vyV(+VO^KJ)!w)~KjhSD|ym|A5&V#?78Dr!-U&K8Th93Aik{{nFR#blYbHDrF zbfDq6=bn>~e)OYqxE``)j*bws&Qu!A6k)7QQNu9RN_2(+Ad3DJcv^lA|18syCYq;o zlmnP7D+AMD+AN(Tp{eeQFga|f=0CId;o``zz^&Jm3^4r1#o4%)EgEM>pxrkjKr z=KuPy|4JNGNTcm1KlzDk*w83t8%AGoCO7mC+xV+r{mQL+IQ7(1`w9tp;kkap2Km;1 z{D*6Zo`3%NuC6d%bJYKL%(|*FgvdG-;Puy`3wp10CPW4TI{eCPHTa`JewO zQ}yN;9IL6m{q1kNEeh{^=R4g=;N6L%YcF*tKo6GDMth!tFgoY&fB*Xhn_-T6?ZF2h zl&h|~%B^OkuApU=+`6;az3XZ8vGS5Z^@fH9q0NQ8u&~~R@u7na{Ke76qiyk>?|er- z``OR-$-1bwNhSXddKQ$}p&EXr$}F(?V*soG0S@Cq0}Fw(OvPV@f*)aS`H?Du-!M*u z#Rn5e=XVH5N51$GM!x3Kg@LCX!ULY*WX|X?n5n{`2Y;V_pGN${VdUwjW2p{tSPo4? zhA{Al{+C~V+0BBn+?a3t2?vH>Xh@$bj9zrVvd#{M1h7O7SS`A|kpro4G};)&hHhZ;BaYGNBIzGs8vh9o({FlY zxT+#JT>yVe2P|mx=`{MeyO%3s$QS2iUW$$dgAidFkp*xV$z?Ubg%@7v$~F_@pyku(X8n!}+}8n>2)xH}v}afL`*% z;ZL6CNJkj?nF9uU?D7Bm-~a9!*1$A6fJYqgcaEg-)*JpwVFon*B&?*A17AAJE@*gLooA6|p2!Ni|9mKRUH{dB~^g=yq;c^aS%39-mxj|)qUtu7=T@cf^_OKcbn@t< zk9Im)t+x)CZU74y(8-VZ&}}+LnCT+#rpG*Sq$w*ST_A5uM;Pf$r`VFkm2`w#82W9v zgAXvF0Y9rh_%?k6SHlz7IN%XZJn#c1X&Kz4b4zCleIzW3Z@>wM5uYE<_{ul98O|1F zX$=QIo!J}WlFq^uXppD+<7YqO0S{hKFJF4;rLJ9q-r-L@fNuWnZ+~->3gl_LFg$tU zfSC$c3-j~j-FJp7u)xLSZD}k%;oy}DrXNPQ!Nk@hBgz`*JP?m|NDx0Jix=PL1~|zx zRer?dXLmG(I?I>1ewe0;(-A-kaPBOp=pw64X>%bvbkFEO z$I(~tp>AW_6K!hXn~syOUoOanFylY^Z}KKCX@SYR9|m5eA&hq`Hv!fGP3gkO6WHL2 ztU8^xkF^|I7`T!*j(iMP()nS8lb`V-9gT#6uQ{V5Oe5jsha*1u6Q|HYcP#0)Ki%Fz zH$ibI)`}G?WV|*6YxFd6^JhQxx^?TEa5?CPeM`P$7KaL(Fe)?OVel~~9BRZ8INz}h zjuB46Fs{C11RKSnqY%E<3Vi6`5;j&(;q)Ew2t(mX=PNFFtXj3oRkjp%|Kw&4IkN^X zGv9UxrNJg0%1s*f!}u;8jqJyxvY;_Tht?d%heizeQi*V&2?Y(FQ@}RpEDMH@tV^ zA*fZjI)F)fcnD6&5jl|`4!rP3cfo}+P8fKim*^g4 zo_lEbC@$@7G^T?FGkk$}q}je>y9*;7_)t!`4;vYvAFh0Aew?HXO!hH@7d98(kta9+ z6TU$^<%)C+oRunF=q0$|pwZ|6Pkzuy-q45~x$2R@E$FM&yV%h^(t$60L4Np=A9_vM zL0*&-9AT76;u#%;kq3N+2I$|Rv^O>Fb^fL=q=O!4M346>TxjGnu`VQRS8+y+mBsUkJQ??2Un`&}~KKPBz z#=#fL4r!r}bd+^q!WZlY_5m4#D|Hrp#If26zGL%{6Nfeq(jV!_5BlH*dBQXBg)Zbl z80nA`w2+>#ZHnt|O^=RSI>X0kM>n`)3_9Q`xRD=t0)uquVvWilTnR&#grPIg4&QL# zYIYa;k%QSf_y&!XN28x`a5Wm?8)493@+Tko;^d)pf&*dj7X5_|@WG*nH42lJGwmJi zYUcx8B_8@oI&=;_qD=7vKKTI;o+2ywhRtCx7MR#%w4UT+PY5M?t z;0_@K)^-{1{;VLAtmR^GrHT#*NH&>OU9CR4o7(VcmAGnhaSpfsRhCXCP9>}R)`GY-&r^tysiHB{RrrXi%`Y!yj zkI+MYY*jP&s@~~t?NxLF`v$G#53b}%xk3i;j(nj5Kda}#4}WY6^#}CBGozpKZMxA4 z9a;x&Q+(kYFiqdU9o|5r(GNcG2^yh;AH0GF^uru@qI2Mee9;Z^hcEoV2l&QsbPtD) zTAO2_;$Nq-fL86o>*~lRXLFGUJOM6G9OV#P$q(70k5)F|GrCItz~;Is=XH8@+%=bEY@6+emnK5IA3$rxD1#j}@K&hvmddj7<{ESAz zp^?H#8h(U<53u1A1{Oyc{GlQx4tPKZH1dOAX7DITR!GSMd@)WK#d4(^n#@oVPJyR_ zRScXlrr>j3)I_b^r%jux70_Cj|8%{-n!=4k7A!l&;E^|l*o+gnV$>hRj)h_~MH% zI-Mae9O;k=-^dW1QpOmKbti6@*bK^F`k?n_#hV=Ow4BBz!mz4j~vlu8iM3SSw$wKBOE@PokVY;5gMScL}#u8J5lH43mnox z6N5_F0(eJ!^opm!1Sc9s_>nJ9I$_uabj`X@U>9p~LVK z`+-h^JMxF##zs0)O%6}^K{+e988o>v=2pc%C(hY2oo-k-34EnLb3?|TF zqV6Ic<$y3~qmDo~@FOj_k_YuK^h2woQNzFoXYwTu`5;Ghj={C#k3T-CQA`?S&EVgQ zs*l7qJLo!6yY(LV=AeU4e#oAVw{^mSPk#6t{pcIG?%BOZ2ewLG7~zx+Xhc`3leoGH zz9D1unX+JZ9$t}#Jb5?zkqNv4NAiPy;L?C*KQTIBvQy+*#^YURyz9Gs9p zd}awW`bHRXf(~F>e()4t!YAMnhK!LDanLbjWaZK1pbr?l!x!Mtks~f) zW;@7>_8jz}f5-# zXm^nge!~lRiX)7J9Kj8qY*oC_HE19{dd7JR@XciJ66zlYsMx~D4Jp7xZ*agO41FXY z2aV(pZ_q2=`Jor^4Tmh&sO>Tb9pnd0_=4_}2KtdB zVZ5Uo;7K?K2f9wM#={msBhF;MWXTd)rENRxCTZZE!9Z8FOehZ z&>Mc}DfWgilOcH$$85ZnDfHX&gvZ!9{NS0<2+q)m-NDA7kF#dYO2}h?=0k@b+>A!j z;Gm1VpatIG7@R4%?&CnW&!8J>C?Sf2LZosiE_+omtSA7Ah=TA#8Bkt+=I}!qa3~$i zs!bILBQH}-6bWTE2Ta1ji9&3+0mt&>9izh2oTcL%T!2Yl{3x^-L=^MwZ-2Y19Brv1 z4eDENxy30y4P7%@z%e=)uApG2qY->?;6#C<@BoX#i*dIw=q4@&g(r;_qXW9(hgC*| z8E?RWkz&&0M;NnRG(6U?U#Au0VQwiD#?E;B?6c3xb-($In`N+>S_(cm5eEmZ{BTra z@S8BB!}x(e;TT}@pi|7@%NTHhYY#tB0uZ9p&%>CcGgnaiN1BG*E#+lZ82C^$%gtK|1(QRjnhW zab)o)9WbDeP73@Z9~@8U2QK;f4jKppE_!1!1{QKh9|>bwwsrVOPd@B9enLC3G~%c% z$%pj7Hl!co7EfG$zQ~=rI`3K^%Uhs-ELxZCYnD&D&MhE#g7Y}Df!ou)(_$d9%6q5&XB;3*&u2g8` z>u?Pc#=!=&@X%?pBEZtY6W)Cqp^XM19X*yEQt6uGMEt+}UrHynrpAHmUvrLo`V4{ySu;>s$ z8_sya9?yUL;~&m`f)Ds3t1`BZ6erV2e$WZbusj_7PL3ryLtEqO5%4A-!uVMl8aLPx zzJbY)_XPdmr$5qwi_y;$2TUA|8RQRdSxV`zf+38u#y}V{qh7-~JT*UG{^ZR!Kl0-V zE{2aEhCWi)fQye0a4BOn_>CSvKcnAZk`}nspV)eEFgfy$En1}wOYGEJ-tv~j{##(8 z_w4Pbb55NNPIP1xAqUg=M%*wRsltdy-q?QXC*qI}Jow?jhx|;BEu1ie2|dIQhnb8G z7jzL=*b(Y%_(@uLvUKTEw{*Ex>#-3kH?!^F2kZpj;(9~=1~*k0X$B6g)Ur0x#RC`c z#SsSF?aI$B@eT#yMu*9RxJHA8`7~M>xoK9n`i#{h;o_7&3}p~J=x+NeW~cB6y% z_yG@Gq07Q30km((6Isy6M{Z%>kPaBk*6&uEOnUqbSMo6Wd0KviCxvO=*c{}KeWct{ z);Mp+9C&hW0kXq}P`8mEFfBjcp~K`zTJW**#y4TiUR&8mFRVl5=vO=xh=WU6V_=G> zOQ&gpZ!me{NJqHo20XJcqaPVi){qC=;8?W<4)7XT{_&50bc0vav$T;colhfl;EYBW zrr)l7dtsy{A8Zm&OGjG6m39m^d*40=PzmV_13oierPm)ga1ZdnKyCb;qIVL z>K)RPX1T7c_`Pm{z(E@W>21mjcnmCTf$4_Nw7hUA|=_2SK+K(K*ioCEh&;m?;=8O)W zQDMY|4s?X}8f6V<_<##P;?SO@e3-rw&zBS5gc(oK4Y&P+0Cm9RM;a?@92&bo59!S0 zNCOS%6!akX!VG#QuH_J}0#56c`7T@yNlY1^h^xwxcu)7@$Fp}8V(eod`&jJDU;c7T z8%;6oZ0c(303J_!PX{*~mQNakLC#U>qx{uC$Fy-B(}Oi)AN=44W7=SI;B;A6OdB>a zJy|!VBVjQ$FqTc?3Ct+CL`oNy0FvSbS?RL8E+NjJu(&M!2;ngDhBoNY!(L+l`mg^Q z)57nP+;`u7F|GV#ixw@4slkisNS=ck#+Pq{n@gCFSNJ_0OyXL8>1ae2;H{m#*t_5T z?$|ZgT$9M=M?d;eOb>pE>1>XRLwrUlu?7Qu0d)jW7;{0 zJ^b*)F+FfErh7JBB+A-XzVemW*S_|(m<~=k*@k%p%+$H%uZxDEgB|Ck`SDET8463p zkH;Y{`lyZT*v&WJ9Mi+goQ&{axpHM}&YU^1>#n=bl|}Rsmw@fQf{_Wo!9mHL{c(Kz*y?!vJjno+OHO$h%bYYsF zXV|6k3&(NaURobss`SR!a2Vf|HQnYE`}oH{9{c7uznREN2UKEuZBa}IAY2@1^PS66 z)7#SzS2qwCqL=xHE7EQ zronYUyg!!K^UCVg(xrl%DNH+GPTy|7{dQMpLnDrQn)b0CcIMj0#54GC#o)Tgp+8Y! zQU0OiDL*YO&#;RMLq4?abwJOxhjp;tCB>fT*)B2d#JYAR^# z0J!{8&_`5D$2)a4v}s2+cJ2Qp$-|1)| zcBXJ>qpazn%`u$_aqTLXPHBkZjbUNo^ohRor7tuAQK}a z%nERFu}D4P!vFw407*naR5?aWGC3DRJIL{O4{q=nG%?LSlB)VDYr~OtAfM zO9Q@9KjK@wq_h$KQStF-#EIEamR@N=bl09SV#c*F+$+f_w#~p1-*=g4Oob!qqv*mP z#|T-fw3c5sVZ?zpmai}i`-CpjWJwewg1@}x8h466I>5-Fjo5|Z`uSxWrUg8bK4?n^ zGaSyh?<_6+0dGeCq3s7h{Gl7cWkmN8U2et5A0y1fu{8Gd;qh+%Ji{&=mX5X{eKL$x zewIh7{0M_KMlqS$V)@lifBI8tXlQVUzG#KwPPArb0NI9N@STi-<(9guQQ%#r{7-~V;rEZ_T+UJJ%)@vOih4z&5s^0KEN z#=H6R47;?nY5Y`a983?c57W=fasyxRX2yoA6Lp}^l{+24bh8QEbOPPJeGKQD1UCg8 z7H+t7hdvt2bhtnpWr-CX%#gD>g)Kq9{q1jEUH9P+f7s2ghiNn37`{BC^7F%Z&xSVQ z;nKm>z{qgYfitVgC~GTq*)U7Fsn=+aa8mY@H7Lxfw=i%Lb;w4d-cT@lU6Zg!wQmo$qI`GlgOM z(Kq(+veM?iuf0|d*LPM;VH0 zV9d-@)>x&29idLJvPS$=&WD*YJmi^rSuDDXxSY-okKls59+;)J5h6YzA zET0f+iBH0Hz{MRh$m#;*i_4TQ0if{Gg#&qa(4E>vC?C1#sFEu%i2@imZ0zB|xcZnb!00A6dUeg8JEId$#bUzGKcR30T6$p(Pt_owh6$Xh81CH?Sbm{0KtXpYQ zK0(`&x~ENNF5R^wEWCI8}X#llmQg-|Efm~>qP18N+EVa^6 zT{rMR1=8Iz!z!kutvh7~EO^KO1k0gyCQlpN74E7!DwHl|ZGV`kX`|$2{@p@bT=qsA z17a-w=B{1j^{#il%TbY#o9T)@^Q6&eNd4STbqtjiaHp&_G&DHdNT=w^E3Zr}=SF8_vp=Cn{>r>iG5l{Eu6*`2lTsGKkdO`bg&KXzLbzj8kZ^Y#$&p zqoMYxPkqV_uynV~qU2@%hEEp(7;YDe5&`cgroEK02?tgo{tath!3yj> zu{$#{tX*i!gC0NsbaWBs$KBs|_7*}L9XnPAuV%IYbU_P_E5h!)^G?@TWA*`m^wf{Pzwa)iG=KIN zzDuw0c|x1n77nqZ@o8lZ|Aaoqn2@E zOItVPVX_Bz96HD$bGlki8XCqszwV}sJkvSDsXLxV7x^(;z#ec0jOef@>0>wXGaX%o zbq7rb1KOy+a8svDbu%KzsXd`V3T=JTj>P2v?l@M6G1#Ze+Y={q_w_m(`Qhj^(7yZwIz$|X$^bjJ2=wK$#`!;H3%MD9fpzL`9G&wnatqaqx$-uR$Xrma@VdnJ@B?>f zV-SYkd0Q_D*F9n z{p{ix@j;0UrokYh562R^yi{p9LCc}+5nQ%Z4tikBR zF?dl=M*ZNMkDp5)mmiH7j4LD6{L(pKK$}Y+k7)Eo<&Qs=lyCInNfVD$x?u1uQmStb zGE3>=w1F=bJ`K@Kj+5y*u+SX&nS;h~{uXBZwQv7P{=n6JPrkQ%H+c5M)83I6aB*R| zIZyp#2Lhp!nOvB^mJjLtcOOnRWzBTK(g6$S^D7KLlb(~FZ7~e4WGa)ywX(*$pFiI? z%ij;ngac*G-Bb{ONP^?Tw0EA+jNRpA^(e=E&Dcoj8ZxBw+QC%uk-OP43pdE7O-7rA z^8|Lw> z_o07$yJGd4AH!($F(cf*!J(M;o&gL!fp2r_zAK#7C&?!#r~rPTO@Qqc|986bWXmQ)UMs(4p-=`P}(?UvPhSUcXe?(LxjRJ zmW=`53T8MhG!X{=7_6|fu=RREexr`4nc)iJrJyg)dD6AEw9060{EgI(ve6QTzfHn^){$3cI|7{v!SV1ko&u*#%jGbw#G#FbQYvS3rIQ)y8ub); zuGr&b=H$4>6O&`-H+XZMUPF9;w4cAx$;{MCdiw;8_Mp?`)8@a&Q^#rTue=(eWvyB} za>@8~=0e%&)P+ue|BZ&m>#8%aD}BUI?>h0pMqzy24GwaZ`sm79LPsoL;(2*nnb&y8X1wm-q+EoZ$&EXN zSFd`_4aVU|y%9Kj_hCa?py%iVb|hWBLflMp+r3LqBwxG6?N))MSUP$QE%0=DKs2q#0+DX7tblPCvm zQ4MfQ18=dDh@B<&w_Gn1+Tf@-i8snK~W;)NwHhy7^L{ zQP$9hM7mH+rw71_yH3o^C%E}zt+un!8^g&$qn==eOb*kTZ0@y>N=G|~a-1wz#lj(C zv~_+12b^h#P}b-iq;kZ8<}P|3io8c}Q()B}%f>r-)R|u*y2o#3b!qEi`v>dF!6@g- znx2~9Nt+`ob#wn1Y!L(HNGSc^}lBti49wOK~?VFc$20vhx@hSl#cyX}fVexnR zG3aBuvSxL5N_+z(+|{78`>~VYl9;|OEZfc~g}43SK>i){gd!y8 zZc6IUZsF%EWvW>jH!=PR1*Bb zAG}al8n`q8QjKn+s8KMf=(#hJ0RjwRE)JT^sFKc#nh%4<4p%lcE8o)1wD@V@TgTRz ztHdVj(%NvPlqlNDw-SwR~E582X1{=h|M^;&VIb2L2PP<=^757 ze8ZUvHWfV`O&T-KVyB9f!p~?+1>edBakyp&JZ))g3Q#G%xX+Vr=P0chQ|UUe?UxDw zcx}+ZqSthQfcv|%b?}VFCxZmQk8;4LBg=j(tHh$>hW(*!vJN5+Q#+E%fdjT8%7Gsp zXd1sT2YzSkX!KNSqdt{0J_CQd;@CO(kScapKPzif^ne_j0ZNLc8DRH|bcs8>O;wH= zjekWCY)svVNrIOAq40n`I)ki{*H*nEhsJ+8`TD@Ylg#M^%`Nj zw5+|n{AJ~>cA^z#wo)T4wu>v#BAv#eBeG4)TGxhkWGWYctkE|bp{aD)(UqoN1IT8r z*EndCfv{{HJaqB@KYQN+XGc~2f3hvTkc1QrkWd1lg$|)8QiOn@AYuV43JUlaMMXsY zDT<1U3W!ofK|w`|B2{`1HH8)u5|WVKdp6l*cmC&lXU@Dkvor6_d;7}F%enh`J2SVO zd%oXu%iJB$yj>U*EWi=ATOn-FZyw+HqOPHjE5>!S z^S6<`mC(3!sB8H28~6|F7MI4f{frBJJ=zi6WJkHEw%Lw{dywf<-{#4Oh5m5P4v#yB zp6IhN@sQ7LPzC1FzUcWKvSJ+WAvb#yd~xXzXYJZG z+>W^4Sx?$VK_1!>emk0(?2Fj4#K*_ZfKkP^l>LI!{KsmJ|E2d zn|j7&IH^Nf0ydOKv?Eat(ts__!B)5z!5|vtpqM@zeC3;DM4ph3b|i}TIGy0Xa>Yus zFtaPavjUSW;q~^KX9IBDh6*b@>@6uJz0>D-ash*#{y-Tx{SQ`svfA(MG;e zGb_a~HVVERkw(ttXuMEG+*wK!j(9N+D}PuG!1gHq@IX!;;)_fiLk^AC+uSf>u(6G| zl`#}0@1=Aa=oroFz2HJBIk%7SXFZ@vJ0DGF6`>cR8Rx|@TTQ)L!~ho&vXO6NBY(S) zEBDOl(`gKUhZ8I6QrXbtbY{ZK&pKc*gvJ#*n#qBvgyH-l+p|TX9TjL)o7i4Z2IqdG zVe?_j7k~Ccr#OSl6eb{|wqaQ?I-TMM3b?THmMf2l7EvZ8HRlN(@vLoQBhU6T#(WO- z#4V5RcUVnXkOaUXxWv!9#>^^s$E3;#o?#6;V*=qJ5a=2QZ+6GZ)LOpr#j1gEkPR13 zCpz%a#l|}+Vs5}T|}^9plng-O{eG{`}nKv{>~U_ZA!qHsb9)}m7$(9-os+XmgR(u}$m<)BBL zGpoQnKsP%-ns`zN`N2t^?v?vr{P+lo_!VlGkvFgblaI}kV+4ou^ukxJaCyfrCcjL% znwbAa2gHqVxDml>B31*ytBZ#tO7uux-STL3T_hj)8){u1 zFe!qzAFFF&=UKp4Rl=bc^2C4!yPLp|yLtvtZh7cbUL=1nEqFm+B{Yca@Da8`SvR&r zAmrH2vys8*3Q!^R1Dtd9h>cXQuClP?=7 zk2o4WL|!0uP`uYCu3wAF+oQ%z3{2xb8yMY5 zZ_WhtNZ$4l`Fq?U3hp5b^=pXV*x=$a*dR|FWZBo^?^ZuqgHT8hH}9fR}0O@_!1=PemJekl3d@sl99_yLZ ziAb#Ip{|*m7$_2%F)h~&rwI98+Hg3&p>8J0ElImR-X)3&o8Z`hcX);NZxZ1VbB?8!)(XBXL2vr$-Kx7e6jzv~zHr&ZH3> zuCM!F{N!k&^W*~${xOg(de?#{8+8qwm_8e_MSh_p^7nM`L`5HrNUtpo$B4_ri--0R z?MN%@SggZf3KM-e2HFv+=i$7O0sDdfoZSlND)Id^kQ@GavR!Fl%^f78uB}~{{C-68 zz=|8nB=~X5s4LS5M&9CVJ>chsA%+!8Vs|>4c$`M^mGpt5lh9*B&cjC&*PZCYWDmaffMZf8Z8Ppg0t-A+ z79q$eV;#kh{X6lGuox$Hm7^a`HBu*ySQ^xP&G>qOV8)*1(Gz9JW={o-Op`-{z@LlgK~Wh8*dODeDmaU7QuWP<-<9qK4{7gWMU z;VdN|V>6GxVq~HWgICyH_$@a7QqvX62RNV?CL^Ux7KM#%CNc`;RZO_A1NinhFDAVk z7p!^ZsstIP&n~$~^)&GE_3=QX2wh6DFWXISKHc1s|Ch2{Qodd`fZFLW$ofG$#Cvr3dBkzaZn;z?k;#XaWZ=MixNOvYxMz8o&ERf^04x|w?s)R~w* zJD*L^uiKGif$-Si7`|fThXM=+uM!9zM3Hkj zmW(b`!HVK2ls2S#{!8!@mp%e-eqo`|C}YLtWhD)lS1YKfQ)Dl8k)sHZYdMO4DaR-o zvGx=EILdhmnZ{ugU2qifvAX2Rx0Ey@t}AJc45PbScmxmp<=n+q`asgiG8q;5&(xJ7 z(}bc6hLE?9%{N*&Legt7dR+XNcF<)zE>V7e5gCWgPtCe@rECOr3|#m*M4lMEM9Ih) zg*~IN`F`NM3)qZmo{X?2NnrBrbvRk_YtC1;aQb*SwVdOaM2F-V77??nHVfeh=WH;7 z_bNEyvn*LLFOl*rERo?QW}c*U1>#tGB+oKu2hm-QMusIb;GaB$TuktnyDIXm#FQw@ zj6rmlBQlqBvr`ZrT`czy0avd3C|6qk|G?nmuxur%B&-rT<+BLF@C%erQ7Yk4bdSqN z!V`+i8_nh?NxQxjFTLh%^5X3D;-|;b87O^#9#IKwHSkgf%=ksQ_`(_=5+x_>huJ&- zWjYa!48jnnoCP|pLq)E+W@0v3W`^xbAm>)l+1R8E!aQ;gT)+-J66q4MZ7FF&B1*bMzL-%Ky9gc#lXHZX zvQpqH6wx;MVTDe*U^9reXUpxZM66le>56`q(8zieQ^&1jMVA*58Q0&4Y_v0xI!T0L zjzU<{G@@kE_*OiWwWxMP$|Kr+ca^4AwZ>Am$W!RXg@H z1^6n_Vn%&n@oi=Uvd#nTjOAa-X^@}1sEv5^xpu!BOkauyn#N{;-&#-^hi}40Rg{Y4 z#)TNqQ{Xv9yv(5wzktbfd{S{Z9J7OXK@*-M!80XQ)2$4EQRwmPJ6`64w~U6d0Xv=p z$MZ?$tRRJ}XV<{N26!$LZ%KyU{)S$v=?It;w< z23st{s(@RBzbKFRtO=gk#j~lU)V0zyvlS`f z9J;f*DNY7rqjE(&A;uRe{x`P|k+S#oHY@7u8nwM4bR|)(!5Ou+;6DX5-rvYx% zvWRUVf3gtIQ=_dnWzNF}EVzlmml)9Alu{l`W4!CBpgUf`hR-UYK84$UUuZe;RSklA*5gCP#)nJ zJM4zKh;nJLxglly-$`}U@iI8r4S4W*P&~^H-NSVa?FUxY%7zQH6{9|QE&(s}#WrSq zjRyByHZD+S>LQ2Z`FNa{?25rsawfrq&=>6lzDR@5tp!wIu7DlSfn&R}v0DlJ1#_(4 z71|LzpO3m`-bQY>Bdi82h4(9U!D7_|6Uqtuhw$Q5Q{L<{2m5&C9J`g_iY}90AqbQO zEB_>XVVoxuBUVy9EfWJJ575zgMHL9~gW=#Lo@wkvX}h3_Ul)(a7kS{5FZkY|TP;IH zkK>^65gogjWz~{HU(8bBO^}^C9&Fom8(7n@mPsqIS8OGg(VlL^yEaSgfnG?)mhAzNl+>L$bjXgAF$YrC@XO&d*64{y6`9c?8@| zB(cs|5WoZj21jhLU`!4N{w}v8L8%qLf-S%iKJ{g|3grlth=aGdmtwb&ICClOf4SsE zW2<@!KCv0{ zvd`o4-p2d%oGDXm2X*CTpyUC1Qd2}0oQf7`_j3c~rK$GPz#|3))pE!$Zv}-7r9vhx z3^B@A3R|gam6|RJUROJYD4Cu7#12t66rCd59$iCq?*OykMmC| z7x4@>e4Z^OE(#O;^4cDdAsW^TrRUX57$K~J2U+Sd^=o;Fp^x2&NRL7&5_mDt@I#3N) z%erRThYEr;*m&1Ur5r32X{9RJu2Q(_L2l`HGitnguzwCiIeYJ%)S8}^3aQj|H3b{W zJhH(J#VPMCTPNY_5z9dS5|%$SR;UJ4lYwLvET>Ty2In~;l{hOFNF{Vgr_3ZTNlK^Y zom=*;t4-Ou(5AHvs$SV(Ahx!ow$I82ujSCPZ~Ym9|30d9qWYmTIG5$piF4M#amomM>ctjYc^T)z$DWdtk_YI8 z^w0YO6g6TY`l=rus*HI3P+n)-u;gAfZw@sJEP%XbdKH&(eV`}~bA80Fo9dLH2quV< zPNQa4@pRIePOa*uCKl?=(@B3(T4{xBePvi2Nf&O&z~B~aa0?RL-8HxbcMT9cxCD2% zAi*7i2Mw-+!{F}ju7TuEcC)+ReeV6$&-8Sksygykb;)}eBABA}gn(jqV>?)S#4`F; zI|TQ`SiY^d{;?rUQ{4cer({L~nt>r#i;0zRjDf}7dsi)Z& zyUo1zj{<_4Utrp^bt2=g+&2;Ap(G{xL)x5pC5!cE(p5Y zXPkK3Jz+Q4d>dG920Wt56}EJOnUOTa^H5TCcQ8PYmM?#P=^FF8#6Y%gvxF5u8yGCB zrE#cJDYP>dk%xC zN;5gc!D=@v*y_>ONoOyhsI@96WXcn!Nz7T33p~iXkGVuXBCxSeC_s=a*>oA2p~u4#O;3{h@VM@1nk&iuS zVyjWL)moSI4eF$~@{y=gPbo~=Vv%^vT%wy6{Zm)Y?8*+$0yEqhOpTNKu&IhUZo5O) z67ccIJ`4%DFZ4ZCJ^>RJDjz*@(oJ6x$!ub$+e>aqPuEL4KmjlQyi#f?1E(2@N9B>B zcCyr5335h7Q3#Arm?xjNppj7lkR_N8&0ul1c%nelR!nky;shZqmOF^*H#@&!+^ESy zIYurn0Y*Fy=0jnE9BH;vSK4~6GCF3q^e!x>sJ-4aXFYMTw0+~4z#f`%P=(tt{5XHq zYECwyXlz&{k1bVG?D1t`v~^QQCix$dXeP|-VGx?Ky_q0 zRm+{2qsj4x9kM+OGuF#Bs@&@r%~s&1rJmHa9_7s=WoNCw7nk${oBu)C<|(O@x%oss ze04`P-{9N=UpmkAH6$e$PJwmP(`p@A?OT&q+{-~#{ERs>eA}g9%a)?orPc{((ot7@ z<&Fkj!GioXS$Jl@JDlbIuLY`Tq(aN%ty=j%5N`@RQGy8YTP8J>!rAt);Q}1_mecTT z900^VX*XX3nwtDEp9*6RbqmXk!d_~_9;=YqQ3q7;;b{VGiL|@213&ZEI&SkTb&I!O z&maRDS{Y4m)MP{z+Y6r)v1!%6BIW*UQ)B(Ch$rci@Q7t2omZfyb49W3rY=}8F2aer zSb*T83gXNjybLbHkX59TbL2&xu7|Y+pKsh}a0w}!tZ43jgw!&zDPO)=kyqZedi~{# zz(lnH7@l8$n}=|)hf7wOcM46O3@+l07qF62B&UWBn}$OBq}5wjhCN*xhnz|&i33O_ zk}Oq^e7LQYj2)GB$eEjQ+ozEcmDEqfaE1~Z6#NZDxEEI5r;S#)y}BSRcK8e77%2Rc zs?Ozuwy5CMkMQXaX%#+=8XRB5w97^!huy3}P3Fa)&=X^csdakc7_s4lBFMuz^_O^vU{1;C8;HA9r&zKQ-M>z`b{LpINR;Y%w? z$HZt>3Ms~wH46w7F_-I9l^Qao(aIFqta;>SmMjQQ(dddp&@Is4LHcG4-Uj*##$gyQ z$$r%QdVHyz8J_%2ErN|xTMhj#J{V=E@hq64h_O}KJhCNJo-l@Qwis&g+=cmQLhe^S z&7N8DlkaTIN5n|?4?xQGS{d3bhTEf>@<)W7q(;=pZyS+_O&L;9k0o(SO9-1dHqT(` zm18f{!Ts|xZ+|+^Al4^EK-Zo%q%*O1HqYw60$x3_rBe9htG!7(6j@L(MSd0BAkmQ^ zL&qwtkeuRQK3$M_|=9N%Q1C-4Ii_GV{mS-{_ zkOJPrqi#fmbe<8ww`wkE~1^3go%mis2aJ>xH`94;3hCNibC^`?9uOG_$x&di%m(zPZ%1 zZhzgY}n= z#b>D&mv1txC;8HrH2C$@I#=VvBDhO2JRA{&%RCDnn9m!za*JErqr?EO}-_&bG z6?2Zw#m#kxE4ARaT01Rf*~WrL)pmQrAv8;X&n^{;aGks=YRdv=h93cJ*`8?`P z%S)Z1YQ4D`R=*B<1tl77S;J4gZ)c^bw#WNR|9lgjq zSWt-#RTUUvLiX)b_%%wzs7;`CS6GE9%o8SK9hJC}b&p7!Rw2ouiVY&dbpE`ShKNmc z-DbfVN4ic*Xg?H{kFs{s_g*)C>1v>kY8Tic=Tv2T$!wW8U9Fiw@$k4kGFuV$QB8@9 zeh~6TPVMrAprL;~s}#O~m5#2W&RA`^mjRl1XWlXHTl=*f>H|?gc$pVwfX2#5S$z7q zFPfF;4|VY>w%vGf4XNBWI5-pb1PVv-fg>iDM|zWDNeTrE(|n~0m;F~Yc(zARAImTg zk50{T+bct$u%bdDI80fH{miKl=kM8qj+p0E^(_Xop6VOeta>H#n^N+#EJ;rPs)VPM ze(ihI3WK)h(+0ubjj@m9EX|>QI2kx7YOBhdNpa-SiZzQkgdMvM&x5bzoQ~>tA3uxw z^988yf^!+Oblfqg(wERPL zlXcE0P@&tz3BqH2=SwkE7~4K=d(Oay^5pt3@Jgk%iVLe=Mhc^@lx~AfuFv!1cTw#f z3KRyaIjX80ybmuNO>vEXC3R|W^08ukjdn3^!JzKaL(t6?4IYrWV#Up0@mt)p0_HcH zC-}df7tu+@>xNULm^qT{|Rmz%UpjZwDJTO$S7gZK|gcsvm zNy|zU4^EDVfQJoibmNWkknJ5C;SY32E5qqN_fNv_vj(f8yw)W#61XUPMLk-C4HT=d zTdyFXvzN!GrTW29SQ>gsV9}A|drqg$^)`|1tDFo<4#`5MTT5TlI(S=G9BmHlf0FVoZ+j-gnbf*Vj0!fgW6lp!Tz32vCxeWmsIUH zj&(KAFJRcayH7uEIbZMdRI!=oUNfE|-jo*0e!=+2mA_CwEglD68Z;RgZT{J3gxWvK z=DKfy_B>2ZIb!WmNlB;c0c#;5Yg~pM6aO+5(as=1rwB*gr|mKnh&j8W-gulh{&iQy zQ~F_t*}AWIfVpZUSF(}Ve5^xuQ`IgwPpgE6!FZjkp)<%c0Oz`zp^b?dfJ2zm1A#G3 z(LDPiQ;Y00np7eI#{A5B!9qb{OQpsTIl^$T2-oS@fIK_socw;Dq}W$gc8HwP%Al{G z{^XhHpiZM^KcCUsG%`lTMrbFNw1i)>j*?n`(S9hh^PSK8cXaW{h5AhIzM50izclAo ziCC0~`1+$yBXgP=$x**7<>Tk7B#8w!HXra(7PJd{dn%sgx>7SPKJg@HR7LY7RGpNO zBqS1Bs%FB_x?+EjKm{zi$LZCxk<(K)dZ2u5=RB0{B1zTU^l=5)9Jj3QU%p_Mwm~I| zUps7Vf`+85R&Tm1M{z=E&+e&39eYUYPbE0dHHIm*J34pchX=Th~8B#avYENE$=GF0u$Hd73b|l;cj!v!C zQZXiK2+Y@+DSow7o?x9e!=5Jlw(=(Rt0$)N9IWom#|kk;lo31TS4%MFQ*_ztkh*(@ z%Y94J80--^o{HP#29ZVIrT3HE(k7PzDa?k7au1RELhUB>)1f^zJWU}&iSjgysLrLlPv}U(6V>U4= zMrTusTdNNr@t1cWh$FPwJyJ}Y!Q6p#;Ae5+$2d@=CboB_*Q08 z9ZSd=_6$;kz0!PlEPAqh+rl)tITN(CXKpIGrdw`pl-}rU?}+R;bVyj;WjD&mSZ?YD zVDx4uZV39c65#wKp4Q+&mz*EbXJKP0UGS`wmtPk~J3L8BEu+bb;uwHWxaiY`i^n)b zdho=>HXS3?SJhzH7-A=MS1qmj6SInSlcZ?zQF;e{1!9rEa)$4AmfeqAk`H1Rkx~`P zyDkYLU4)%Sw1pYM(Zh&X`H;G<_=^Rs3qAWaCQM7VS7kxP3V9f7f6bbSWi0ZVn>JHC z|I>N5|A}-=fi}B^lypfhGheOf6Sx}&08A?AtKR5AtW}_Y(3IWMQ!PS#)g?tte8SlyQ$dZ;vJUV+bVe z+b%-BBjOlDe0~>xZ+Y&x_5GweSMoDW7bNs(u~RhAva8i&IzCSd=dr%Neu8VsMm!LR z&J@l!J=OKpgO;Vbn47?+5QlK{GSM4SW&i6Zb?|(TB8jFiBpeNzO+J~)Kt7$z_L5(n z-?n1RAGu@W%!~A9e@DS2Pmgu?H5$OV?)hl0f_+V0k`TXN{FTQ}L?9PNVr(kHlIy-Q z`$CFZ!+Znjk|%AWsMGs#F76L9Q<{_{z`0KkgbkgzJ4o90>HYw#7R@cr7^H!5Iu153W_XK=4?x!T*-ohE5;j|vPa-!c)PFoCj5_i)!$NTf57zV5GKv^`IXPuqiR^X;>OVnbg-Vk+C}>ccC*Rsa9vb;mBq{J%Uc5 zFoNt_DeR65U)c3a;lT^H0OELF*~KuR*IF)}HRT_0B%do->JT~iqmC%HoDOkk+fgxU zaF67jH2gT_usu}Msr7VmmXvH8(40FF z?+z4NP8+E|M8^un~s6{9zx4ELVGj0ghPgN&Gz%dYZD@4`OJk z2dn1SmQ%Y%o3vFY$Yt21`LHc{pOzepRXpI?AFlggH!AgtSi=_<7j<}TjHls_V+I5D zZ|4I;oLbf(6$8=QBa|%Y8-#PSnXY-?1>zKj4@nLQ>_%KSZ!xiS3V9sZ6C5{ywi{0m z6BJ12M>KS5y9qFRYRdgf_y+Q zRvtCi*{~9Z$?;(?Q|?PfFkNczvh4_neSWFhSR6wa--S^MdnEEQD13{!X$|a=bY#}3 z{EI#Hhs3qDr8JlQs-B>Y#}KSdNO<+icj7K1jxm?+_mUFxVZ^RE3Q<-+z0S1BSFJE_ z@|`v(Kl$0dnB%NlNv)>uGj4=kB!_Oy$t^aid>g|8S@My-BYAbFr^1vyiqWBzEmX&T zN?xo~jCwSuStYPI6f#6@6S4x@uT?4P^hy$M^+vnPP6rV_a!&L1NX8TGC6eOfc5n7y zJms=4o560lmV3q%ueS56@DsQ&xl1Xj5x@G=biJt*Ks{w#U2nL)1;y%x2ww(&XVZLmi6)k z=WrWUXdJyPvnd{qYa~F^0R^v!^O9iR^Fjob{m>D$ESse$N@hWFD=N)eUdZT$wzWlr z?uBdPstq^K#FQSw1#7B2(V3xAvcEsWA%TXfH~&)nSMQh^V(&am7shO%heLwN+{);U z=7tzImx8=XM?o0seH=F|z*o3hqMmC2_xmgI;?MA?KwTcy&s7%)hz)PIz*vu>ciy)L z1zB?;WTUrwbHK}J2B3sid{v?Ncpzb&fu0hiVTTZ9rw3Vx44!)~)mw~T)!Jqq=lP3K zZ@*=&w`TR>9*@0~={{ER#onSaJ!|RC9T%z2V+;K1_Xd4$cE!{fClr%p{ zjOUcRD|SIL_{SCj-#Zd*dxim=W?@`TfAZt?P)|OSA1791N_;Z<$o*xvoQDL}JI_R} zuvyhv&^-i3_YM+mOyT~}c|KRFkrXE$5<4{(aUk9duWYb%e=1dI8mr9(n040CUmB29 z6(6IZyYa$GBp*86UwE*8siwst24We?VU<eFig>;Oq&hC}en|-2FC6s> zElmEUbIp-3A?;8YI9BEXWk9f~Eg1t`OmsG!`_bAe+F%#r@$r_EY~k$$p`#F7$faM& zV=K!Y1E7m~=>g;zgDoOjI!8JgE6N?p<9_J2GTT?)QOMkAO^AKW^k}IQrvSsGz%~qc zEcOQtVE&{=5A)dj0YWU1&Uz-L?9t#ElrUD>v4F(p;6XDRLuQV_&-Kkf!W`Q=$KbOb z40sn*toi%Gq1^FJHk=)0+=-v|^N#( zno7xfN)z;h+N=8b&WLd3r*FHn=UWs3Gqd_nkh7Z&&k(~e8T0bjbuK;6tcw^?3)3?p z{!ddb56%%*B2ZCeBI9$x&bwVKaDavqT z$8SiVN4c>+UH-mH!~8jZFkgP7E(yn`Gx#oY9Uk5nF>&A6pjQ~RpLRvUH%a{3`mFUT zMg_-_iUGA5uMFS}4@~M$Yi%P0P@s^k7ogK>yuaCMsnAbak-%%!#uu)maUfQ-b;}Pk z2#>+MlQAJQ3K)f0$fc*1UV@;kaq%g107{~Bb41-H0fLn_AJIpfG(QY4q}y_0f7IJ9 zGF%swCbKTGVXi>pUanO6E)d#Tvmf#jo)2hm0n7jVou&|wz_*tvn+KZ<1T1s3Z@a-I zcAYo2b5?5&150h@cbZg3zk&TQGv4MNdI}u9g>OsJ5 zm+?K9_kKMP^?f*vbV171G?A%uLd^3-MhWS0b$NX&xI(jz3X|i&lR70y7q(1i>{+D4KuM8)PcP%-b zel76Hcz7Sz^p9*Y&wEC+8)tvI-LRN(a#5Hpz{&2cy}`DD9`hFVkUJTRvi4ud5)Obq z;CLQhAhV@%%^@wPDZg(V{Lrvumw&OPl!MRyelm5XKlLQbpCi{Zg*pm?H8v~rSP#7q zsT~)R>nC<2Qpn($xVE2Hcx@{@8CE-0yd@AO;|#~uWRc|&vbwcbr837dFHUH6XB|LZ zai5c7B(@amlqB8Ma@ri}x*;ve;t1QJk}tJW9lYeJ6tiCOFhN#b?coA{f&direLgZg zfD)<~Ha@_)d7X2)es{xdgLY}VAn@T}LKCN;n9|Q&j=W`KWB5BAC@FL3K_8xBK_D96 zz_CqFKD?AtFP@%NH;ld(cT;uNIiLX%i`rp{C(w1zZI?l-+V6JF_m`eWT{W4Ip2CUA z0T$Twh|1+;?bpx7g;9qQ*8ZG2d_AU!Wnb+i32i8LlVq%~O1gTyZAp?Vve+T_ zowV(?7|%L+f*NkD?_~WZ7NMUw<04bY_Dc_HG%ubo@5lcA45u;Pv6i!TLUM9lgQuvn ztHfa@C%eb1?C8yoU(e7*!ZDs6?fMVq4So`q!}Qf-P>NxhJt*z0gZt;MzsR|v+%Lbv z!qNnp?Ibds#s%j#W@JM(O*1c`=RB9m%+cQlfuX)x>$DM!$G3dIFR*K2hcAcFErDFM0sEWQIZ9IE0xLl9_+F0Bk)Vhre09$0%b3HqXmj zomM^ec)3^IO(jN-JudvZ9+vln_Rgcf^puShtzNvgy@ghH1gmyzuH&ams9QOYfblkw z%d`rbQk_KaNHX5}(|M?{b7kADPX4{%-SQTc%0rmtb{IEdY%#Cx7nF12VA=QAC+hPA zIVQ*Un+kj0r+vx20sJdbd;uuiJ@M*=(PCef_YVD7eyq?JR_uvGC{6hZ$9 zcKWrflI;XZ>8B*kK-`%c$y$cXtoB&an|B$U)*Ad!2D=X{%i^n}cins0zU@5#2UAS^ zmf+Dq*Y}6hrR{gJmFXaww+qp7do+;5RupG(%k~KYEE|o=>XXYc{Otnvi1lOOj^B%4rx=sZSoBXaIWq)FALNwY>}*f%Z0VsAEmpkjlDNl_Y3 zZ!&Z@VawPt*Zp*{koo)BPH7I^gKnDJE}K(i0c6)J#zqJno}LIPl;ArmZ@$PGN)VB* zo|mY|H&{MIK_g*yFahUu$X6K+@B3~Rpz;Hl?6y@w$@4$*d> z{tk7-B_fZ>0bhQawfR(idI3byc^LoC6zr5AcANZ#G8Km?53vsk&<92LE;cPt7QOP4 zvWa-7bR0XSUk{mPN9B;<{WNpiwJO0V^Xs4<#d1QsCV$r*?j@5xOXaVt+zCC#NvO|> z%30WKEk#DcSvEz+PnXb{no&y;w>dEu-gXLFILn5YmR8eAZ4sb@D847W&U6 z)&dvO^D4oaCR!WAci+SZ=(4e9Tc{ne?yM7O6!M^n98%oiqPXcjwHUjvZaSVv?MJTm zNq^nQ!N()i-BzOp`cr$&-B zS+CU{bLm*9_JdE?12m&zFS($GX;sHhPrk?f{DUyc7?u|HmF5u0d7#9(Tx=lfy8FiP zwY579yb|`qxZ#@j@aXj+ebwY|7XL+fezJM+#T|uldQcVe1{0T0tH2xGrqGOD7t~K& z%vzYIc)7wtCvIEWKg~!~e(XyN%kp1o;wt-4>9=lQ2N}`xyOs)EL&UH9n0?}7_zr3F ziCin5E>k)<_yr*C>r}zoRzJFgkI9}1s-M<=J!c=xT`mCW_d96~Pr4PYmm9r*EUj_z z6J8Z6#7a(;$s7QjIau^IHi^Cp%rz@UN7z=+8F)ok-#|Z#K<5+;$Y|9QHFw7g>Gs{= zv@w`qLO2}hCTOfgP`923c#xAk)dr4!Qo*wOGLaj*F+S3X$R*I=cOu)Q(xX85RJ&`m*?Al? zPZo6Lz6%{?fpnSTLQ`-QbkWTlQ3?e3qhS$SXe?sxqo(H)cNI@nN24sYZ}`FdoM#G2 z_k%)JkBxtjuLjX^2n^97bWo655}eo^Lg)`q>J1UF&+c=Dop;?ECnE9fzIadnHA&j2 zH(7cf^#t+hVmQKjn=PEX#gy<69!mJ2=z^NaSYi#rc&Vwe_%;c;S+KPp)Krawqj($= zj(cql>fAbFB_?hn9SoT%i0-9{RoreMH59{WAw${0*m0!xrNho<9+CA3I(0_@8s2uA zk>ENtY;YUP5xzV+uO#w>W_Cc4npbwP==w+-tCiYK8E^S(Vq9hk{rLg`@09XFD6Rb3 z8lrnhKte1K0bkV#Pve3b=q68XY(lVCt*en?)I%BQj*W_i;t+reP!s5m6e25oCSWlZ zgS(@0)sOrZufNtAjRwirqFbpl0bG021xLpOL|OQ$3>a_M@$ZL$`+cx#j1uyVM7AQ* z)5>{J2+jo%fnJ-ii9~&*S>N?F@t| z7l044?xK{w@5-&r#T=b9Lg${5IV1q?(3+PeGg3GshO z5&uEtu5np_slk0zQMs{;wZkgsGU~lM^uwFdhO!}n@@bvL1J>qTsiVhC%hd5%N9vHE zNtz#eC`FoQN#mBcyBcI7G#(t8#J|6a^-O?{-HVuYj>dv=>3|;Ioc!6fAhkIp7;`zr ztjpgwN!m-Z+@8Ck)RuIabj#vLA--u-rRW@w4Q=c`;M=+%`P#E1IZC%b8U&eDUC;gC zY+Q-YK@^@OB60{JuzQ234AVVc9XB&t{CwW$K7_(Y+nEcEFrA|aq_>_T32zfX8HJjN z9SB4nqbL_?`{p>vdq~h=U_R0JS-LAkv{f)}{1sSi{;;$%SGfA3=+fyeB2sL$=nz@V zx%5&1VU}lwbt*!Pm*|GbnJQGS1stYHU0is9`rO3N=Czq>yo@! z?Qm8XH5WipsA{iSWBjgv{v=-AVy?d2qy)b0_ZnXgUeC~1*7u0t@plX>r$kioiDb6S zerymiS%EeqS{<76x|e(J?K2p$NK_t!w#W?Tndyi(yQomb^>iyUD@#};ZmFfa50-P5 zBf>ICyVvuc*6ok5ViGwR7}gZ~@!@5a$r!|#`31_Acu4hnWCUdB=j<$TSakTvlqSS4 z8*jpqYqul{k%v+H8+VckLIjTMWXy48EruoZnrMaZX-3&I+9wb4oTaji1-mcuHq~_I zsug9fkdH``O+8;$j&CLmp$?b2G*=4+&>Y(z;qLAp#a0xAu5Zoh& z8c4)%+b$4^DlTVyN>;%Ic<2f?|K2XD-+f^t7>OvZ$6t}zctV<-#+(^`MBVATCOO#f zj4?6BZV1|3+;DAn09BrxR~FSyiF4`AGcyVIDiGi%TNl$)GpJ+@*Poqb4YNW5?SZdCJ ze;;>oj80@`I*f;;jrGHrO1dGOoT!-$h5l=*dZQ)^3k(d=06g0X3l!B}51@}@yrjGg zGC=6j@Nk?*qco1Q7_ z)!ZQPm@TzLW8P!NGD#hD%58wi$|;5z0p`4(Jz%c&KHSQTm&&5f)UklHJn)8T6(D&(#Fd!N#y?Kj4htW}{O&y#3TW^!l)78}X^ctuyTD_{61}*(SV+mK!0_`E6jG3Md|L zvYV-z)h7Y%2E!a}P6gCOXcNq5Dy#vc3qv_6r~UaB!8icZXI-jW8I25!4?pS|-&D?R z4)nCvuqDF8&4?>y1dsNnjMi;a`MpNf#^d~|=(E=Q91<_v&ql}Nt=}*bu`>|B1_oZQ zjVDO}luc6FI7F%%y1Z-2yVQ*&UMH-uOQ3i(qHq9kJ*YyN8-w~r_M9-PoW}VT{FssH z`U{|dDWhxBEy%G8*@gk_Q9PT``*_e8B7K;@E)8muT8Y0!fWGfi;N^DByL1ob>Rm+L zMpleNJBjC+C%sLmX8BFYo#dFr-xYtPIT#eYL^lv@P+b*``B-K2$*8vE7J;WX#?>oG z=`}gALnpY?cnNd>OF5Z#8z!1}-HF>dG2()=l(NMVU_VVtNICgZxZBT=$Oa`Uj1Y|Q ztfFcAWFj3TN*yzR+$_r*!caGpzSKl?x33q|2ks2vW4h19>Ndif=NbYd1fn4z*GZ2c zUt6tzBj-Xhg+-gkIH`01JWo`1%JAYwS%#8fna}p`BL6w7i@)fk2Qg%!1) zs|iirv!lW654gp9qUDFeIOcQ2IdH*!+I9=90HmCh(T9_A06aOY1C3441LGb2RRQrg;q@|Q?lxXsngC=49{gptI?);wJZ zpU9CxR45x@@DXp+8Ltt25~Jf=${S4cWxFzYee+X@Yv>ueKju9vaDQusKU{tu7o@@! zhj)&Qwl2lDF2W0LYYie7ViDt7Bq+cl>I`#+AU22zCbMkQ?||;((UzMl)2(`-#GxIs z)FWV8u8=1dsr@j4+>~X053%T&SGd8L_uO0U0ZT&rrcmQ`VqQyUCVHX}$JuR3E%S4v zSBrrP4fV%eTu@U?yGR>YS7H2{5r`ZH*JK;7ArCVYbvn3nfDRU&ctGhlqQs z!TuZxPq8Vn*K*HUr$E68zYnGX@SzbJ@qI!RrxF1X z$iI2(+9jDQ#e+n0S&Pg>U=)HcOW)&GI5?; zt~1P@|D`YiHKFk3tElxC#34MbX42h$Do{^bH*9uBTym_nI`>!6<6lC$pNP+4f59C9 z;Kry9Hj;Qq01p~%0}-O*mYc$eQKi5gCVjHt6-yf!flUYYYNIYO@a&4w2q!eXsbT?2z{)RR?rrUhqP?s<^ zCJn^k_rqP4St6b>L)cma?2){j-Qba5QG<+4YZ6f)xmZJRLtl+Lb5w}VBZ*Zklw%~b zHBRgN0esvapQ|sHK*lsvyPjg0qzwT!b!VyAICcesFTw50tA2!CFj1W^yhPDaAP)Ix zP*UDl7NhGWN)6nySG4^QoNqbBR%JY>fm}O?_x|V`P*)P7Eqe>!rkuqhf)~oNt~HwI zE9iB5X-E>{U?hPrO*Cy%T)od$#n z^yxlfg`$?bBknyWJh8DUPvFFdvVw8jJ()4vMq-;|@`FVXrCIl^`v?k8Z+J90A?V~5 z!4Ny{7QxDfFqD;IWZHCGqZ7eEMU$1MhP6^Zvbyl;V>PfNBT}f7d>!q9LccDu;P>p0$yIYicN~V8|5HE|r*nTsJ<0KY2}F*(1JY8~P~lQOeXTT)_t9AV zDTkS;TSXHSNbCo5&{wh7U=Oo|dC`?tQ`1klNM{5~QUHhMc&^*zfN97Fq;$rCUy@A^ zyhX4r=Gm_e`e9nP_51^U{YRjYzT_uZ+2S;|b;=rMvZ(YwIt+pCR0( zWhT-_uxNEo6j;qw>pzNSqNtFzbVxE7^>-IBZ}A8ziO=&#;EuyyxE76Xuo%I@zxNya znc6C*pXjQ`LV>DBxP-u?tPzTWSTC(df-1EO)9gn`NO?%-ESBa^3`g1IGJK%}o}W6m zJ*3+UWhsEE>h$-FVW|lX>O$wqJ4NqmE8Wx34Q_4@vqcGYU192{4ecbq!x?yYDUL4< ziYbXjz#>|IwS#(x(;4d{`AF0i#*)OD^oEeqCbn+h2`*nH=9dg;Ge2vS<}rteS*H%N zj{(I+T;5LF1L$V(re%H^&`?b@rdBValvQj_8P9oCA0tYMe@(V}EG9gUG7tl(Z}YTo zuLA7E>sIjEuIIh)hFe@NlEUk-H9beng#3yO6zrw`>x|snr-Y`3T8nfg_j5PemGNin zfhn$6NZC9~q&_ zsqaKUGz^^MABu+~S%WBW-Uqe+|dPif_W~OTYF<<(ngvI!Clvq9g@-8^@W3F0u6(XBgWE zN(n5-nUGeB0Cgrxgl_A7aHorcsSGnLTu}jHg7>OZZ!Q4+T zLnl#fsQH!Ocb}j;l*oZaHgTLsGS*vm?yqMJyiPvLH{;P~`%hxO5AjO{M>$$e)~o5i zsF<$PmT6Qs>XkQ_=dHkd(o;5N-KCFA>pr6+v>I&g8gPwrvg!&`hbsq$34N@)iMdQX zSM7;w|NUA@6^T90eIt;N9^72g|8Qv9eoJlG%n)oYGv|FffTw{N^-UL${k50rg}{gM z$|DqPJ<&!Bk@L2}-)!e7lkqO@QWZysC9viq_{zW}81tNF6r&~b2F1lC#ptX4vJYMOcbEToP-}z9sLtJE1RqDy3iMej;w%fhHQ0H&&VSZDtk-zX?G;;dN%&#xmMm6ACkAr;=p_Tuu4gQ`cB0m~D zzZIFN{BDp4ehD>zkB6CgDO?kBVzVO!wsG8h(faZ&$`)zQPmFcc(@~=}D6`QLei~-t ziv*zKGc+qyqbBU78)fQA1dJeWiLd8jD?1sQiiV))Tca3D`S@c^NJ?sdaz!mLmP z)45ziN^i=Otu_zdr{1*~`)&pjsu-etGm7W|5dmIwQpphFe&K$ZC?ePe#qGt`aMGAf z3FaR_8nQDLC&RLdkoy{Y zPOcmtp&wQoc@Dunud`%~o@=+l8&B}uVww;VTOAqiZGA70`%|1VW8w%Cg6kTH^m@YW zPSq_)Bw|aN&TFrdc{XV_8hr1G<~F-M!rSA2j-(q!A>j!VZAjpbQAH_vbg^;-OBzX-(m2>uy?c*(uNFq)Rr3SB_J7JC@ti73#vZL`?O(bIA4Uw`X90H6C z@$O#!Qt-TEo0s|`!mQ_f=W_AV5tZhnp#3kM$u7gmA(hQVHXGsiHz%1v!Ov8&w7dz_ zM7S=DALD=)%Iv*J(U~PserCs&S@+@S?lRk%54WisB%-PvOWGeF{1c7Q@xg zHlKbg8HGnS^F;r{v)ln==K z-N)Cidht|j$LbKGydbbQSGOAGqQ2TL&!y~PEzQ^!~ zY^^Uc*}t`TVu%TLiVr_O|DH)r6l1N35zCAHelz{GsJ z;rkLM=o|rw-n?PuR*W4TH}RNc%DKws0#A1aIohQ^*70t@ukenbg~zuUB^;YH7gS6! zn<+}JpwNNDYo3tj?ZssKALP-^mu$+DFWOq^N;v)vNmrDSbnfxi?e}Y+?ogLGW)vw$ zwf~N)-wxlP0eofexTb@sy8Kt9(gJQqU#yBPwRzn=0!#P*2@4o=GAxvRBv0y*0$IAh zV_Gc&#@hsSP4o;3$%WsPzyEptughx_5$NE?a`Nr}-uy2JMa=ObjHjP>Gz;nfmi6CX zztMsg5DtRCcv5`fNcij5|06_M8|dt3pzWjH{P+JNL-<;4o}8oE!oufPX-Q?}hj0Fs zE0W2U1GwhnEbmtRJD}f!U$pzTdoO%5i|0)KU->v@&`RUH)|C8Hse){OFj(rt2Rp@% zysx?cJvl81P;iM=hWVohT7U-##A5W~=5Qtwno=#9CK>o&>3(d=9>8mM>(6^yPJbcf zAE5l73ldw7?lQ7!0p=fFA7;VymwJUEDgS4r$#Fk4$doey03o&sWKw)ocJ0J8F$|e zLN8i5r1rO#pq2H{`)vgkXDhRRpwUcZZQUSNLtXwKi-_EUAdO8HyAGe{AzF3G|4SDF&^j__u`A^M2jc&T`fd26Oqi8T16Nt~oIlc%K@Rs=*7v3F z{;d?WkC{c`n9+e5HT*|EB~*aNClAJjxz_)*(fM9P6JpDCt@rmsMrEc(&yP2C-VY!3 zCD#ras{HK@k%5}beBql5xbrdd(+aJ8q&Dm^OuPa(hcVF~p*lF`V=KZdtq zL~*A4UdS%=LO&~ zt^OsfRrP=F^}n&8j0$vCGUU{n75ML+|8bop|CcEHFWO#+5|sb{6{;2pL!6@-Xg&%} zaPnJ)Wc4U@4GoirGiC3}vg!WED|FGJmRa+(sd)QGF%%%J`VTlzJ1TVql5|CT{%1xJ z7ksE&xID}*|EZHISj5YVAG#^AP@Z00`agv=Nd5MF-TWDx+CQxu7y0G$ygXk1Amo|% zKNS|S1wo)&;X~X;)&G0@e;bUz0u2#>^M3H(ayn`Q(QUMw8GP&XCnWw-0aWG90S10#s2YF!REa(C_qm#**@`mzxCq7nD!|qS z4LWvXYIW7W@8zhXlxx)lydTf1SX!o+tR7PT*D3vbp=J>^yvD!Q(G|JU{8RE9z^BLSQmda|zW=ZFyZwCLE2Kj5|Fl(O&<`;EMD6xTds)NE z2d?7Z=0?Eiizjp27bH+J8PKQvchU z_4sp7|5&rHbGKo1dU5d!UFJWse}l|C-*3#;EndN?hYC0Q0s|i_|3fi5^R|@spdh!@ z{|n)liaM^2mHP!}dRofj7)_Bn8wn7K3r!$bw8+1uyA1fXzpg}!{u&1@F2?}h;oix} zJxx21(-K=4<+aQ71l90WP6L2B(%Q)9lW2F<=yy`BL@a#omNd645r?KI1V6Q8#2)st z{lsN_aa9vy`0V~GxSdkKZ2>a$G`!506!5=L@%6X;%DTSo{slH7c=!(R=HLBCl5ZK` zSFbKFAEPU=upG_i0Af{3z#`~aq?=s!3ns2_>NxhezH|ZEs(ZfcMP?UNY^z*GjRE*} zhQdf`BUYg5-!{iu9b$CYUqQaA{88bDF=)xwb}!Zc3RV9n zlx?87?e%RL)_#5CT47-sH)MB|c)INF1p(_v3%>QZKub%*)uQN`DYN|Kr!+gsT%iu) zBg@Mm#Ov9Xvx!U2ie4wO>Be6oi^jz(`#Iw1IWUY*oDFCs16N315OoV!22VSKmQ(}x zTdObMZIGh{O$1K3KlnY!XP5%p(b{e%DLKr+Y>UuQ9_qp~0^cP>u+&W)9$ob$6Gjwv zrs>sl=_j1F`)#M|v8Tf6iaY2N=RKC8#%)iCvE9wvz~#uI4l$(;j?Y}K*17R5vH5qT z)#9|@@#eIp6Ady%s@jE8fM_c*tHM9s36_^D!UV)kZvKP}bo7h?_+IFbWS(R42Ulb* zI!UJ?1kHQn9mS;CpWY}$VBFP=|031*KHznRFfCn>Wi~#02EHx0)9)QBBnljBq(y=g|^=XIbP0xj%)u}H(Nq=vE4Nb~xv{&RLmy4|) ztk2JG9R+gjSA;tAGCIC|Ke|aLCGmXy!6-{1C7%Ea=>q=L@)^=CG5lZ9R-L>)obIB+ zw$*h#<)6>Drd`x$TQj)Y?48cOwcc%$@qOyXzmDyb&=lfXL4i=+EntxroMn7`wK8rj z0Y4#}{eW@P?H$nZEo-&(V8<{3mbiy}@&7yMMO1;yT?i&hKIit%mE1g}ZENn$ z+n3h+U~69m!=LvPz2Z{MN4rN>v)waN)%*k9wNoH$;}=KI?#h7{^R}U)$sT6fo97dX zDUs=kiB~<^QNr6M!);V};uHc~w)}|b{lNwsFl1h^&Q4R!KD=p|50~q_QA@oR9&ugy znx41WbCA8Zu7`H%3`ODZm$A+(XH3QHN_;^*no|lLE$O&b%SH*ddhMyFZM%`z!A?R- zZXE)Vi{~JYkOmTt+9A8GU8notxF5?#LXz&CHBNeojK7@VKcl%6!|?amYaY(kP7L(j zKFyr9$#(p>m|N+3Xpo*7MPHH4<}tx87F$hy;TZe9l_kaWVCRV8!9#j&jc{6Ov1^9k z#_+8laqe0&r_;f#u+KPYM(lpSKRkNjDPy#O6dW1@d<(35NYJY117MU)%nUC=;mNQ&GCQ7Aa zHb8b1C<6o|8h5UX^UZ0R(}bncckkVdSIT?2+yOKsMowQD)43;h8HuN-ClkLAvbrsa zo(MSDB%LgmN8yjuh_#dUi}`@pta6}-XkXBj724fCA=WmyjHuxRj*52l z^z``~AYg@bkNBoO(z@?~{B926q6Pp2QGuTv1hMTUUgM`EiYWWquR{qxXEIJVJ0jal zk8j|%@gzG^^JUjJG8Pw~ep3@HUf9)HqLFgJm5%BQV8$t{QPk|tYw~1OL*Q&j__*S zyRpvs?qPIc%?#(hAG=ytNq7Ez$jz*_^AxF%gyypw@CSN+ww}+MOqVB1p*`!uA9D6NyMeSjfiZ8OVFj5Piv=7tgSBP#;2T^?}{9MoJz=9v?{V|-WFZZ zkV;dA-sIy%uI0g>dc}kW1s;gg5G&+|v;=10M82Oey%Uxw%YeD|PZXBV550AQ4-gQ^ z68`i`@Mb!aBT)0!>zYu)^p;32l-Pp>byMB2iF0^&it_Gf$}C58PK_5@p@+Rv(VHne zmAjuk`<>$G`HrE-3W6SfJHmG>6H-oVp8~UdZzaF*+P^`k*0n5dLoafaCKAgJxdt~) zG!@nw=38Wa5wRcBkyZEvgfQjbnJkA+p8pg~B_rv*5Lt6Q(M_J*)Zo6@kS3NlbtAL^ zei2wL*cIiU#NYE-iC7gqlh2f>QqVPj+Ew_JmX!^8+Y=I7pzlUxDN$u06l&nU`R2?0 z7}4SGb)GT*i6VS7p|lsp@|5Fg-Qe~8*0{=eZi`bh(DNWI#cHA%ji7mjmTwy(Zj~)4 zmB77byknb5z)M(~o5nf;1<0bcNlDFR3yKW4g{pmPL!mFlf>CLsWH>Mt^sD(P5BNXu zsK;^?6a+0>F!`sNDA5a9DMRCH-;)SlY$smdcDoXIK_;Age=ZSf-*X@B(CnwZv7ZPz z<)4HXa$tyF$W7aAKMDcN;-P@F%U#He>3uR zlmBl(nKWhNyOq`3kGlVdL|flxBe4dfxBvHeRbnNUe^jG?U7=xR^HTPv1`fWb8L^Gc zTJMh3<1*TomX>%&VFTT$)u+t&#qez1OR9tbW!zvkZ|n;2W_USsP@S^Ydfb*CTF3nQ zj(u%38^do+gq1NlU++TT0yDQsH=?7Rz{GyE&UW*n=Z{vP!KQS_jGDF?v%<_E@J>xO zi_y527x=Cu_iNhJOjJ1Wv5dK*LLO28tI%n48I_!E7~p7vFq-!~-H8zsVB+OX7?I8C z;e8DYUxCY5hrXGj*5ZiYRF&P`3xd{5h;A7)!-je2Bv)uOx=_=J2BBC%O8ODcG3^5g zP>YodcT9~Ki(aB`?#>i2%tpf8CnLb4fiU5F`@;!WSx0DeS!0c%BGc`@;JOm1$wFSB ziWZ&Do0>5sCbGe_W&h#tpcx-Rz?jQa>G=6mJ$`j}EAxRJ8@-0sA;dtueO~-Y^(Xoj z@a_$&T;w&5DiQzt?!w6_;i+)tbApjbmNRkTD$uA3Tt_xEZi9gN9fW*!SEmVw6rY1# zL9X!N4`K@h_M~!N^s95!2paBmr_Iat5arVg-F3$hF9tv3euXhhXn8P)u?e-pbYfiMF|e`IkFCY!N5`TsHP1lt62uqmtzyEnTP)t+Fx%NH043- zH7gi3A5mW0UcW?;?r#+G6cxYEsg4G2cUj-u^g6)UL#g9Q)~}|658-sF`?-8Do>S+voRoi0kQygpmDum^B%w9 zeGkb4Y=A1Qm622mJmbQ~j?ASxMD$zv(oIOd!IV0S6AxLP0>_-w!ks88Z(78A>@}(%;j6QrZ z7VEXe`@4iNbn=KzOVX?Wgl=T-pJ73Rs+y&_Py({)3D>m20kM<3hVGn$!R(3=t)}J! zl$9MOp#!K{H*4Mgc{H@>DgwSm&2@_m)&xO|_+4^07<=PMdRX#>0si7qM7liv0k<<* zIHO9L2z`I}hxlQz+xA9lkVynhGH9a&{1%r?wn<_qo4&Znx~Kx(pk0EWKXwh<9VEY}T?s--bca&a<`f8-&% zHXKsT($?i0UPBt^uE0|wQw*mRSQvm(F-u6-`vMrsejzZG=*nc$p+`meA_HzF1`+Hi(3DQ&o{X?Dh=wnmif!2J)1wAK@6QT z`+*a#T{w&-hjHo3S*#c-d~;aX{7p^aH)4fD)He=eRnVDtpdsmpSQt$=BQq}%8rppK z_sg=}ym(=7O{=|#)SB{wv9{ZRO}`+e`i-L*wUk;_kaUAK`MWRFh1$U4F^NCfqibWp zf~MhL;nS-5LYpj)$>n|J%y9~V!DX<5J%^3IyQw$+a+-kg(_wjPP4vqB@f%AxrYI2@ z6_Q(Ze?vT@)^8@9h%p2G_};+5^i;J~=9YAN|~g6Ij#aa8tG>l(6oRSrwy)7Y;+_a(fJDN+}VX zC74pwlf$*`b3}U`@)MPnfv)gT!=)DoQ}7wgPBRmT`#7cRve4i3liKv*dEREiUE+MU zw2|sk>_TLIIV5uEYp(z18zTL?8^%6w6RjnE|E%d-)#Z^=N#e_y&in&vcQ}NZP6vYp=h(-C zJuYZULqs|=Cb0dJ>GYu5>~~D?oE5F>SS|3upQ(paIXt`k0a`ui3}-0V%Hh9Q(z|D( zk>dH`KEZ#JB=6pc-i`I0*GV!JE>TDms;J97#{4tgp->INAs^H3e4QAjNVqnC<0bPw zEdH~rr7+mtL&V`;O{K=^g`NqT8sGLOgdm0@P-n4Py? zY*iyH%EKkJdqQ$|dlx5nHb}o)Nt`;ks>2dG3*>8ndVQ0@HjipTrtqo#;R{WzKHvBo z9)X9j9lLaHVEkZjp}fVDMuH6RTUr6if8?!>5LO_UVI6?T``h z!-meaS+vSDXrLRQW@YyXhYzc63Kr{bEuM=6Y7a0-mhA4L?&QYzesfNfFwR~ZCrhYZ zwoNrf1z}pRFp<9;6EYm1!X0;nN!E?1$iv1(zotr%o}WjhRZ}3%1-=N!9))WKhwgYn{i6G!96fDt?V2>esSZm32t6*Gmgs&6iQ>LpRnJIwAXW-W{;rb(L8 z3&_!)2;uf25$z1iLq8Z|zUVgUNhjScpw|ukEnIC+DJ|eBiN2S`{ml1hTAz(%{j3T! zECfZ;i%@-NJJVNVkz8BulrpBo6DlwzhYbp<7m)3NW!RDCgKug7GI-|6e-ZP^F9v-7 zCIK!HpKcypilaw9#(uW$g=|JNM_TGhH&gAxb1FH+?Lpm9ltO2vtZNj*sY~AEaY%9L z28`rDY&v!{*RcA%qGqqRE~sQ9*_pQQ}$4rp^L8gCyi=P=G9pnJ)@Ha009BwpNIrnc^c%I33I|Fi$2E}n7c_E z768T@M56(eesEJNg14qgqNsi>3eTqOHq}qzt`t({{D;PGgZH+Jt<_W?b|BMwVMJaQ z0|g4prIbNk36O?YQ8LrZo&BL@P+m^G-;rx>EMM=^0{X&4aui27N-CeMUE86;{e8i# z5L)ngH+j%g&SbrRWNtmTvP8zt;F)RoesPL%z^9O7evUC!$XQin-UYLk$KNYvL?eLn zSKE~WRa{nS!rpvnS5d!mXgbx_a%0XCpkz`|dm+cPc(yKsa4~fhZfdegQluhfe#Iby z$b`AcKszm&qvN;4`)~$(J#Rj3*s33Ur}wp-{flJ_cxMG9Hsvz;5j^n6y|H?`AQn>d zEhB<)bl6P=IS~*}n$KpCe6Yq{nk%^%c4r}P@R#3+Xbg44s@}Gk`VVqm(Af%Q6rJwh z_V+@$l`Fd8o`cj(JuctytCzhLvLioWIQr4kCdkT7Zy#u}>xl1GPTFP_3(vGG%IBPC z1Xu8O)=&@5cR;U$30u`cl=NN?KY~oNqpB8$a_fQk98Ppvn9a-$#m|* zD$Fi_2m$CZ(VcMCY#YjD;qqo<&rF*!%CFk$_uB*D?|M9a(kx#Jotht_B~4N;?RHFP z3(fPCG>Cn-PE&Jo;%4;T?-yl_5F#^b8RVGS`;#$d3IpYyyK7c%ZfdxZ^LHJ}u&@w| z>Z?pM8#xKt-PyLMDOgAP18_#1xsR@V+1#1*4L0C zsc|pPhCVAns|8@vjy>KlO`MQ-jw31I;ZW13)T)+BPVD;*{9`tY5YnPUa z7)}mjY{53wOO`TO(Uk|rp~lumsc!;VRPC>&#?$M5dl?A6F=829t4Z63-7!>j92b$ z(39?c2b1l85bg^V2bRk+X|>mUKUz$^Q>bB0R*)8lL$4#g2cY}umR%>Jd?VFuP`GCo z8MVbLj;(4_jw-YV85@)h6mS+g4lQHD0F+b;9}4Fu9hCb77a6mkdg+<)`#CG?;nh=gP;Rg{VtSCz%Bt}-+DO39t_iBtX!nWGWvEm%qUhqZocpRAQlw*D?G94H%AZ4DpFD+cN-guia)Nfv-up=;(8(hYbDWQT?J9crHzyv zjU0o}ie8jsQYE6sKeoMIYE!z3+W5I)Y)-473mXdPMk|NvIXc$YF-kT+Awl;nj$LF} zE1P;~g2#%o`^z3ISL!|otoldRl98tR0!O(2d~pyZ22!1hpvvez`c%F`$#DEos*F_ddRY@CHR|anf?16%<VfXxhLwA zs$Z2K)Z4$U_b%_pnlqS?h~SXvx(kV@x8!(W|AO6EC)AYia(y!@s>BE3e^Qbhd^Xvs zI|c%OR=F{Q@#?HkwQns#&gGOt*Y~&V`Js4mZSmamkilq8ib}lzMkr00QARJxA0!ck zE7ng?JnH!{fVfq6^;Fi>tV(^3D}sj%TG_&l_9%{)U`qHFh3 z2L+|-bY6yDpHO*k^`K(ZLm*Q^}(90vfi)mI-mJ?z!x&apMo5Qgi_DgyH;+pE3j zHi8CSTfOK$J$;l)fl|c?L%V*$6I^U!Ej2Fcqii%8gb1cUmGqt@pbwj_er_#8VtpR= zf;9VjG>tRpF6T0vp8TE*`rcGr7D=|?QuuZxP+n0iN{->#6hl9ey2VkXA(XQkhw=}- z@-k-M_jOx5Rxq}AWTw@b`k+M|Q4VS{xc?}Lr>kDgK!BLxQk+fzcI*n_@L;^H$s=Hn z&c=iKd9E^hBWZIHhxvdVpvGM5x}>aF5!shJA`lsq$*uZTx1O z%I=Z%+4LSXIx9vCng6p<~)x57$gYfm-K1_^63pY5DKDz9{AClocY_)rVa9h~zQJVsm<__Fnwc|A_FIlRX1+0}d> zGIpG>w&+6a2*22Az{%R3m%tna#uFka;8ARyw35;*w^hGU3U1vDio2(+wwe+UrnZ?r zfbusT>g=BS5Kjr1T7eCdL%Ul1%vc@;D~$xBa!xGm>KG5hoCpAM1^P{C?XKh3LM_K? zdo;bl2Hjiu-2p+dY+CBN_j>aT_noS6exxgNq98R$L$DT=Cpi{RD&fJ+Ij>r^m)?WJ z>m!I^-Y+-TVPRDW4Fpe)@lY!|7uh%&F(u(J0CnZ(A)7rOGUISWhKA9JeN5{fVJ!3a zL+sh0-#VsX$^Wth&UBlPvW(d^|0V@`cZl5Cjgu+N6oC4XP2uW_f|jk)2I0zRT<7n; zgRWYBlb%)1oNob}heQ6ze=-Spd`bDNS;%tLkWIC4g+_|hOnOJ42(-GvjnT5$Fi==e zQ&97!U1`4^S4EPZ_@>h}h#N~NDLoS2CzC;432gGy^};Vb{!Y@brz!{uje&{DUtUad z2uO0sTA@RD{W9Cl8?RzneDB+)Zb2nb!y7hn;>E=H%&8XX_Hl-hUH^u$*;n><> z%(z###NrTazijqr7vgI`=b7FHuM%0mpEUSloLIEtrPPJv)oC*y}9J{7Lgxn=!dsy@?A;}-q(N{lxLQdYb}*_ zgtm>&fvoL$o)uSrobyD0hGq2&BdkobR~NBoe|_0O>HA>Rz-p7y)w~y1$+z~O=+lEd zKu1kGTPZKlun&59)>`S6THlXnXyrHoC!6Uv24S-XMQ?k(vQGQdG*`!Ygl-l?dq0J1 z3JhS`8%v=FbFydAKWhrzY}7t1{hBd0t#Y-^iZ4GozJUZ5Ggxx>>g8v`HlFC#RJ6Tp zN6STinHdTB<#I$SPL0I*6aKuuvrZnWBYQ;d5N%F}FSzBySeDcpty?k4n8uiu z4C>@^4>}ulBu-SxGRqh*S8kN~z(NkDeI24@rW5vd>5BQzQ=%sdw?Tl>#)2o4n0xB~ zNM4n1yEf|a?O5A4$9K|viP2qh)7z)dxhGseeAt`@Jd}7OSN22B4;*ZP5oNh17lvBx z6&Te>GnKqN_AQkdJn;olyUHFd>)+p(lWi-JbZnJVe!tn&QVDaWmvU;W?hlEgG6StS zKA&{M^SRwsO{tvZ$%}sJ*L43dg@Ib@mg;^3PWDkc$FqG;IL-(a)Dv0?j8iJWi@Q~w z&1BQML*|v)Q7;bIeY^nWdmlEg6YFo?-nBdyKY9IB4DNY{O}Z^vshtY%I{s1Z{;Dx( zK&2*>ZyUiD9i|$`P_k~(o9!6IGjE;7*b|Be5tN9m(0+7}`xMeDTGTGh&OSY`)p;+_ z>(SA1$ueWA*Lb9C`SEILOrW>TKdO3d?)}GU!I!J*Wi|ikYFW7F(?RPKPtyi3g*I zKv%OwsEVVn8LKO8)zL_AAE~VZQq>}#p_<#Ct9l_N@)#qw#o|sG>s!`k;jV$cR#8m@ zS+Iw3!8yw9c_%v+7d#E=J}i9@$NCrx8&=rj(7{RuFH$Lyi7kfLDMKlj_1Fr(CR4lW zq6DiOCe>`9qqa8fED(e(wbyr@tzz@30qlpg@L9JsN&E-<|7)gs&yKn%BZ>3zA-Dhd zOE=MHW&C5dQpH)h8Tx{&r$X|^jahY1_)yzs% zKUJcA;b=&O-O3bp!9K}(T9I%xZHL5EqH*PYNcJb2JMVE9OfoPj(kmhPPCcp%KUUl2 zlodZ!T=p@}D5#>iIftueCBB+D@9W4t<*oMZ@z8H5`BlK$^*`kj_tFvx-R~6^$*dkN z&6qXza35ea#jXIO{djCN%!qa6-xUGbLlQ9oQqMPD|LeU+4@KundO@y_?R5W|ke;R& z8nE<)mvHw~M)geTVDBjm|4ZL%&d>{xrraW$aW%Z)vUToeK@;jk`g`*2*Zu)&{G02S zbs(OXJlxtI^3&U|J5i!H^F1+_m914;Ft?QLhikU?*Pht85F;^Mvj4fy%HqO^{}=o= z^~90Sg%9fA(=6w1+Fo!{D0QGB->$RIx>G|oeZ%go{r9x`J7(orzSnQ(|2;>btf$8< z5?6S-12)-OA4xW4Apq&qw0lU;_wAu6;Pr99u0CbiL$2)@9f$KtYKviAe)s*Nk%Rn4 z5P1m<;lEwcOtv-`W8tB;!B+oli^6Sj*Y1B(XIb8<-1YkDzP~kdD*E-dpv3SiXPw?} z+mh8`cN%zx1pD}BHUXNd#&KT<%^0|8hs;Okf1UZuDs46SZum$2vw}eTBB|5=m;BSw y-#5*TmsA|2n#hTZ!Cn6j`rlB0wYc|(Q1s(#;|CuOUWyahx-MU^wW_qZ|LlML;iBOH literal 0 HcmV?d00001 diff --git a/Archive/images/omx27_layout4.png b/Archive/images/omx27_layout4.png new file mode 100644 index 0000000000000000000000000000000000000000..c4ef119cb14a1f1f0ba8cdb59d59c7cc04f5f746 GIT binary patch literal 74331 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 literal 0 HcmV?d00001 diff --git a/Archive/images/omx27_m8macro.png b/Archive/images/omx27_m8macro.png new file mode 100644 index 0000000000000000000000000000000000000000..c984eabaa0ee069727ead4cc4ae38bf3ae6be8af GIT binary patch literal 61968 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 -#include #include "src/consts/consts.h" +#include "src/globals.h" #include "src/config.h" -#include "src/consts/colors.h" +#include #include "src/midi/midi.h" +#include "src/consts/colors.h" #include "src/ClearUI/ClearUI.h" #include "src/modes/sequencer.h" #include "src/midi/noteoffs.h" @@ -37,16 +38,20 @@ #include "src/modes/omx_mode_euclidean.h" #include "src/modes/omx_mode_chords.h" #include "src/modes/omx_screensaver.h" -#include "src/hardware/omx_leds.h" #include "src/utils/music_scales.h" +#include "src/hardware/omx_leds.h" +#include "src/midi/MIDIClockStats.h" // Allows code to compile with smallest code LTO + +#if BOARDTYPE != OMX2040 extern "C" { int _getpid() { return -1; } int _kill(int pid, int sig) { return -1; } int _write() { return -1; } } +#endif // #define RAM_MONITOR // #ifdef RAM_MONITOR @@ -68,6 +73,8 @@ OmxScreensaver omxScreensaver; MusicScales globalScale; +MIDIClockStats clockstats; + // storage of pot values; current is in the main loop; last value is for midi output int volatile currentValue[NUM_CC_POTS]; int lastMidiValue[NUM_CC_POTS]; @@ -81,14 +88,39 @@ uint16_t AMAX; int V_scale; // ENCODER -Encoder myEncoder(12, 11); // encoder pins on hardware -const int buttonPin = 0; +#if BOARDTYPE == OMX2040 + Encoder myEncoder(25, 26); // encoder pins on hardware + const int buttonPin = 20; +#else + Encoder myEncoder(12, 11); // encoder pins on hardware + const int buttonPin = 0; +#endif int buttonState = 1; Button encButton(buttonPin); // long newPosition = 0; // long oldPosition = -999; +#if BOARDTYPE == OMX2040 + char mfgstr[32] = "denki-oto"; + char prodstr[32] = "omx-27-v3"; + // MUX config + const int muxMapping[5] = {2,3,0,1,4}; //{A2, A3, A0, A1, A4}; + const int mux_common_pin = 29; + const int mux1 = 23; + const int mux2 = 24; + const int mux3 = 22; + using namespace admux; + Mux mux(Pin(mux_common_pin, INPUT, PinType::Analog), Pinset(mux1, mux2, mux3)); + + // USB WebUSB object + // Landing Page: scheme (0: http, 1: https), url + // Page source can be found at https://github.com/hathach/tinyusb-webusb-page/tree/main/webusb-rgb + Adafruit_USBD_WebUSB usb_web; + WEBUSB_URL_DEF(landingPage, 1 /*https*/, "denki-oto-to-go-go.surge.sh/#/"); + +#endif + // KEYPAD // initialize an instance of custom Keypad class unsigned long longPressInterval = 800; @@ -96,8 +128,8 @@ unsigned long clickWindow = 200; OMXKeypad keypad(longPressInterval, clickWindow, makeKeymap(keys), rowPins, colPins, ROWS, COLS); // setup EEPROM/FRAM storage -Storage *storage; -SysEx *sysEx; +// Storage *storage; +// SysEx *sysEx; #ifdef RAM_MONITOR RamMonitor ram; @@ -214,10 +246,13 @@ void readPotentimeters() { int prevValue = potSettings.analogValues[k]; int prevAnalog = potSettings.analog[k]->getValue(); - +#if BOARDTYPE == OMX2040 + temp = mux.read(muxMapping[k]); +// temp = 0; +#else temp = analogRead(analogPins[k]); +#endif potSettings.analog[k]->update(temp); - // read from the smoother, constrain (to account for tolerances), and map it temp = potSettings.analog[k]->getValue(); temp = constrain(temp, potMinVal, potMaxVal); @@ -255,80 +290,11 @@ void readPotentimeters() activeOmxMode->onPotChanged(k, prevValue, potSettings.analogValues[k], analogDelta); } } - } -} - -// ####### END POTENTIOMETERS ####### -void handleNoteOn(byte channel, byte note, byte velocity) -{ - if (midiSettings.midiSoftThru) - { - MM::sendNoteOnHW(note, velocity, channel); - } - if (midiSettings.midiInToCV) - { - cvNoteUtil.cvNoteOn(note); } - - omxScreensaver.resetCounter(); - - activeOmxMode->inMidiNoteOn(channel, note, velocity); -} - -void handleNoteOff(byte channel, byte note, byte velocity) -{ - if (midiSettings.midiSoftThru) - { - MM::sendNoteOffHW(note, velocity, channel); - } - - if (midiSettings.midiInToCV) - { - cvNoteUtil.cvNoteOff(note); - } - - activeOmxMode->inMidiNoteOff(channel, note, velocity); -} - -void handleControlChange(byte channel, byte control, byte value) -{ - if (midiSettings.midiSoftThru) - { - MM::sendControlChangeHW(control, value, channel); - } - // change potbank on bank select - if (control == 0){ - midiSettings.isBankSelect = true; - potSettings.potbank = constrain(value, 0, NUM_CC_BANKS - 1); - omxDisp.setDirty(); - // }else if (midiSettings.isBankSelect && control == 32){ - // midiSettings.isBankSelect = true; - }else{ - midiSettings.isBankSelect = false; - } - - activeOmxMode->inMidiControlChange(channel, control, value); -} - -// #### Inbound MIDI callbacks -void OnNoteOn(byte channel, byte note, byte velocity) -{ - handleNoteOn(channel, note, velocity); -} -void OnNoteOff(byte channel, byte note, byte velocity) -{ - handleNoteOff(channel, note, velocity); -} -void OnControlChange(byte channel, byte control, byte value) -{ - handleControlChange(channel, control, value); } +// ####### END POTENTIOMETERS ####### -void OnSysEx(const uint8_t *data, uint16_t length, bool complete) -{ - sysEx->processIncomingSysex(data, length); -} void saveHeader() { @@ -379,6 +345,8 @@ void saveHeader() storage->write(EEPROM_HEADER_ADDRESS + 37, cvNoteUtil.triggerMode); storage->write(EEPROM_HEADER_ADDRESS + 38, potSettings.potbank); + + // 38 bytes } // returns true if the header contained initialized data @@ -389,13 +357,13 @@ bool loadHeader(void) char buf[64]; snprintf(buf, sizeof(buf), "EEPROM Header Version is %d\n", version); - Serial.print(buf); + // Serial.print(buf); // Uninitalized EEPROM memory is filled with 0xFF if (version == 0xFF) { // EEPROM was uninitialized - Serial.println("version was 0xFF"); + // Serial.println("version was 0xFF"); return false; } @@ -403,7 +371,7 @@ bool loadHeader(void) { // write an adapter if we ever need to increment the EEPROM version and also save the existing patterns // for now, return false will essentially reset the state - Serial.println("version not matched"); + // Serial.println("version not matched"); return false; } @@ -415,7 +383,7 @@ bool loadHeader(void) uint8_t unMidiChannel = storage->read(EEPROM_HEADER_ADDRESS + 3); sysSettings.midiChannel = unMidiChannel + 1; - Serial.println("Loading banks"); + // Serial.println("Loading banks"); for (int b = 0; b < NUM_CC_BANKS; b++) { for (int i = 0; i < NUM_CC_POTS; i++) @@ -452,6 +420,7 @@ bool loadHeader(void) potSettings.potbank = constrain(storage->read(EEPROM_HEADER_ADDRESS + 38), 0, NUM_CC_BANKS-1); + // digitalWrite(BLUELED, HIGH); return true; } @@ -480,10 +449,10 @@ void savePatterns(void) { return; } - Serial.println((String)"nLocalAddress: " + nLocalAddress); // 5784 + // Serial.println((String)"nLocalAddress: " + nLocalAddress); // 5784 #ifdef OMXMODEGRIDS - Serial.println("Saving Grids"); + // Serial.println("Saving Grids"); // Grids patterns patternSize = OmxModeGrids::serializedPatternSize(isEeprom); @@ -502,29 +471,29 @@ void savePatterns(void) nLocalAddress += patternSize; } - Serial.println((String)"nLocalAddress: " + nLocalAddress); // 6008 + // Serial.println((String)"nLocalAddress: " + nLocalAddress); // 6008 #endif - Serial.println("Saving Euclidean"); + // Serial.println("Saving Euclidean"); nLocalAddress = omxModeEuclid.saveToDisk(nLocalAddress, storage); - Serial.println((String)"nLocalAddress: " + nLocalAddress); // 7433 + // Serial.println((String)"nLocalAddress: " + nLocalAddress); // 7433 - Serial.println("Saving Chords"); + // Serial.println("Saving Chords"); nLocalAddress = omxModeChords.saveToDisk(nLocalAddress, storage); - Serial.println((String)"nLocalAddress: " + nLocalAddress); // 10505 + // Serial.println((String)"nLocalAddress: " + nLocalAddress); // 10505 - Serial.println("Saving Drums"); + // Serial.println("Saving Drums"); nLocalAddress = omxModeDrum.saveToDisk(nLocalAddress, storage); - Serial.println((String)"nLocalAddress: " + nLocalAddress); // 11545 + // Serial.println((String)"nLocalAddress: " + nLocalAddress); // 11545 - Serial.println("Saving MidiFX"); + // Serial.println("Saving MidiFX"); for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) { nLocalAddress = subModeMidiFx[i].saveToDisk(nLocalAddress, storage); // Serial.println((String)"Saved: " + i); // Serial.println((String)"nLocalAddress: " + nLocalAddress); } - Serial.println((String)"nLocalAddress: " + nLocalAddress); // 11585 + // Serial.println((String)"nLocalAddress: " + nLocalAddress); // 11585 // Starting 11545 // MidiFX with nothing 11585 @@ -550,8 +519,8 @@ void loadPatterns(void) int patternSize = serializedPatternSize(isEeprom); int nLocalAddress = EEPROM_PATTERN_ADDRESS; - Serial.print("Seq patterns - nLocalAddress: "); - Serial.println(nLocalAddress); + // Serial.print("Seq patterns - nLocalAddress: "); + // Serial.println(nLocalAddress); int seqPatternNum = isEeprom ? NUM_SEQ_PATTERNS_EEPROM : NUM_SEQ_PATTERNS; @@ -574,8 +543,8 @@ void loadPatterns(void) return; } - Serial.print("Grids patterns - nLocalAddress: "); - Serial.println(nLocalAddress); + // Serial.print("Grids patterns - nLocalAddress: "); + // Serial.println(nLocalAddress); // 332 - eeprom size // 332 * 8 = 2656 @@ -598,34 +567,34 @@ void loadPatterns(void) } #endif - Serial.print("Pattern size: "); - Serial.print(patternSize); + // Serial.print("Pattern size: "); + // Serial.print(patternSize); - Serial.print(" - nLocalAddress: "); - Serial.println(nLocalAddress); + // Serial.print(" - nLocalAddress: "); + // Serial.println(nLocalAddress); - Serial.print("Loading Euclidean - "); + // Serial.print("Loading Euclidean - "); nLocalAddress = omxModeEuclid.loadFromDisk(nLocalAddress, storage); - Serial.println((String) "nLocalAddress: " + nLocalAddress); // 5988 + // Serial.println((String) "nLocalAddress: " + nLocalAddress); // 5988 - Serial.print("Loading Chords - "); + // Serial.print("Loading Chords - "); nLocalAddress = omxModeChords.loadFromDisk(nLocalAddress, storage); - Serial.println((String)"nLocalAddress: " + nLocalAddress); // 5988 + // Serial.println((String)"nLocalAddress: " + nLocalAddress); // 5988 - Serial.print("Loading Drums - "); + // Serial.print("Loading Drums - "); nLocalAddress = omxModeDrum.loadFromDisk(nLocalAddress, storage); - Serial.println((String)"nLocalAddress: " + nLocalAddress); // 5988 + // Serial.println((String)"nLocalAddress: " + nLocalAddress); // 5988 // Serial.println((String)"nLocalAddress: " + nLocalAddress); // 5968 - Serial.print("Loading MidiFX - "); + // Serial.print("Loading MidiFX - "); for (uint8_t i = 0; i < NUM_MIDIFX_GROUPS; i++) { nLocalAddress = subModeMidiFx[i].loadFromDisk(nLocalAddress, storage); // Serial.println((String)"Loaded: " + i); // Serial.println((String)"nLocalAddress: " + nLocalAddress); } - Serial.println((String) "nLocalAddress: " + nLocalAddress); // 5988 + // Serial.println((String) "nLocalAddress: " + nLocalAddress); // 5988 // with 8 note chords, 10929 @@ -648,7 +617,7 @@ void loadPatterns(void) // currently saves everything ( mode + patterns ) void saveToStorage(void) { - Serial.println("Saving to Storage..."); + // Serial.println("Saving to Storage..."); saveHeader(); savePatterns(); } @@ -656,15 +625,16 @@ void saveToStorage(void) // currently loads everything ( mode + patterns ) bool loadFromStorage(void) { - // This load can happen soon after Serial.begin - enable this 'wait for Serial' if you need to Serial.print during loading + // This load can happen soon after Serial.begin + // - enable this 'wait for Serial' if you need to Serial.print during loading // while( !Serial ); - Serial.println("Read the header"); + // Serial.println("Read the header"); bool bContainedData = loadHeader(); if (bContainedData) { - Serial.println("Loading patterns"); + // Serial.println("Loading patterns"); loadPatterns(); changeOmxMode(sysSettings.omxMode); @@ -673,7 +643,7 @@ bool loadFromStorage(void) return true; } - Serial.println("-- Failed to load --"); + // Serial.println("-- Failed to load --"); omxDisp.isDirty(); omxLeds.isDirty(); @@ -710,7 +680,7 @@ void loop() omxUtil.advanceSteps(passed); } - // DISPLAY SETUP + // DISPLAY SETUP -- why is this display. instead of omxDisp. ?? display.clearDisplay(); // ############### SLEEP MODE ############### @@ -742,6 +712,7 @@ void loop() // ############### ENCODER ############### // auto u = myEncoder.update(); +// Serial.println("Encoder update"); if (u.active()) { auto amt = u.accel(1); // where 5 is the acceleration factor if you want it, 0 if you don't) @@ -834,6 +805,7 @@ void loop() // while (keypad.available()) { +// Serial.println("keypad"); auto e = keypad.next(); int thisKey = e.key(); bool keyConsumed = false; @@ -905,7 +877,6 @@ void loop() // DISPLAY at end of loop omxDisp.showDisplay(); - omxLeds.showLeds(); while (MM::usbMidiRead()) @@ -914,9 +885,11 @@ void loop() } while (MM::midiRead()) { - // ignore incoming messages + // incoming messages - see handlers } + // Serial.println(clockstats.getBPM()); + // Micros elapsed = micros() - timeStart; // if ((timeStart - reporttime) > 2000) // { @@ -939,77 +912,122 @@ void loop() } // ######## END MAIN LOOP ######## + + // ####### SETUP ####### void setup() { - Serial.begin(115200); - // while( !Serial ); -#if T4 - Serial.println("Teensy 4.0"); - // Serial.println("DAC Start!"); + +#if BOARDTYPE == TEENSY4 +// Serial.println("Teensy 4.0"); +// Serial.println("DAC Start!"); dac.begin(DAC_ADDR); + +#elif BOARDTYPE == OMX2040 +// Serial.println("RP2040"); + TinyUSBDevice.setManufacturerDescriptor(mfgstr); + TinyUSBDevice.setProductDescriptor(prodstr); + + pinMode(REDLED, OUTPUT); // RED LED + pinMode(BLUELED, OUTPUT); // BLUE LED + digitalWrite(REDLED, LOW); // digitalWrite(REDLED, LOW); + digitalWrite(BLUELED, HIGH); + + pinMode(FIVEVEN, OUTPUT); // 5v enable Pin + digitalWrite(FIVEVEN, HIGH); // Turn 5v enable ON + + pinMode(TXLED, OUTPUT); // TX + pinMode(RXLED, INPUT); // RX + + digitalWrite(TXLED, LOW); + digitalWrite(RXLED, LOW); + Wire1.setSDA(I2C_SDA); // i2c1 SDA + Wire1.setSCL(I2C_SCL); // i2c1 SCL + +// Serial1.setRX(RXLED); +// Serial1.setTX(TXLED); + + dac.begin(DAC_ADDR, &Wire1); + + // Initialize WebUSB for connection notification, etc + usb_web.setLandingPage(&landingPage); + usb_web.begin(); + #else - Serial.println("Teensy 3.2"); +// Serial.println("Teensy 3.2"); #endif - // Init Display - omxDisp.setup(); - // Startup screen - omxDisp.drawStartupScreen(); + // HW MIDI + MM::begin(); - // Storage + // CV GATE pin + pinMode(CVGATE_PIN, OUTPUT); + // ENCODER BUTTON pin + pinMode(buttonPin, INPUT_PULLUP); + + // Storage - FIX? storage = Storage::initStorage(); sysEx = new SysEx(storage, &sysSettings); + // Serial.println( "initStorage" ); #ifdef RAM_MONITOR ram.initialize(); #endif - // incoming usbMIDI callbacks - usbMIDI.setHandleNoteOff(OnNoteOff); - usbMIDI.setHandleNoteOn(OnNoteOn); - usbMIDI.setHandleControlChange(OnControlChange); - usbMIDI.setHandleSystemExclusive(OnSysEx); - // clksTimer = 0; // TODO - didn't see this used anywhere omxScreensaver.resetCounter(); // ssstep = 0; lastProcessTime = micros(); - omxUtil.resetClocks(); + omxUtil.restartClocks(); omxUtil.subModeClearStorage.setStoragePtr(storage); - // HW MIDI - MM::begin(); - randomSeed(analogRead(13)); - srand(analogRead(13)); +// #if BOARDTYPE == OMX2040 + // while (!TinyUSBDevice.mounted()){ + // delay(100); + // } +// #endif + + // Serial + Serial.begin(115200); + delay(100); + // SET ANALOG READ resolution to teensy's 13 usable bits -#if T4 +#if BOARDTYPE == TEENSY4 + randomSeed(analogRead(13)); + srand(analogRead(13)); analogReadResolution(10); // Teensy 4 = 10 bits +#elif BOARDTYPE == OMX2040 +// randomSeed(analogRead(29)); +// srand(analogRead(29)); + analogReadResolution(10); // MUX = 10 bits #else + randomSeed(analogRead(13)); + srand(analogRead(13)); analogReadResolution(13); // Teensy 3.x = 13 bits #endif - // CV GATE pin - pinMode(CVGATE_PIN, OUTPUT); - // ENCODER BUTTON pin - pinMode(buttonPin, INPUT_PULLUP); // initialize ANALOG INPUTS and ResponsiveAnalogRead for (int i = 0; i < potCount; i++) { - // potSettings.analog[i] = new ResponsiveAnalogRead(0, true, .001); - // potSettings.analog[i]->setAnalogResolution(1 << 13); +// potSettings.analog[i] = new ResponsiveAnalogRead(0, true, .001); +// potSettings.analog[i]->setAnalogResolution(1 << 13); + +#if BOARDTYPE == TEENSY4 pinMode(analogPins[i], INPUT); potSettings.analog[i] = new ResponsiveAnalogRead(analogPins[i], true, .001); +// potSettings.analog[i]->setAnalogResolution(10); +// potSettings.analog[i]->setActivityThreshold(8); +#elif BOARDTYPE == OMX2040 + potSettings.analog[i] = new ResponsiveAnalogRead(mux_common_pin, true, .001); -#if T4 - // potSettings.analog[i]->setAnalogResolution(10); - // potSettings.analog[i]->setActivityThreshold(8); #else + pinMode(analogPins[i], INPUT); + potSettings.analog[i] = new ResponsiveAnalogRead(analogPins[i], true, .001); potSettings.analog[i]->setAnalogResolution(1 << 13); potSettings.analog[i]->setActivityThreshold(32); #endif @@ -1023,7 +1041,9 @@ void setup() AMAX = pow(2, RES); V_scale = 64; // pow(2,(RES-7)); 4095 max -#if T4 +#if BOARDTYPE == TEENSY4 + dac.setVoltage(0, false); +#elif BOARDTYPE == OMX2040 dac.setVoltage(0, false); #else analogWriteResolution(RES); // set resolution for DAC @@ -1034,21 +1054,40 @@ void setup() omxModeMidi.SetScale(&globalScale); omxModeDrum.SetScale(&globalScale); omxModeSeq.SetScale(&globalScale); + #ifdef OMXMODEGRIDS omxModeGrids.SetScale(&globalScale); #endif omxModeEuclid.SetScale(&globalScale); omxModeChords.SetScale(&globalScale); - // Load from EEPROM + // Keypad + // customKeypad.begin(); + keypad.begin(); + // Serial.println( "Init keypad" ); + + // Init Display + omxDisp.setup(); + + // Startup screen + omxDisp.drawStartupScreen(); + + // LEDs + omxLeds.initSetup(); + // Serial.println( "Init LEDs" ); + + + // Load settings from EEPROM + // bool bLoaded = false; // loadFromStorage(); + // Serial.println( "Load from EEPROM" ); bool bLoaded = loadFromStorage(); + if (!bLoaded) { - Serial.println( "Init load fail. Reinitializing" ); + // Serial.println( "Init load fail. Reinitializing" ); // Failed to load due to initialized EEPROM or version mismatch // defaults - // sysSettings.omxMode = DEFAULT_MODE; sequencer.playingPattern = 0; sysSettings.playingPattern = 0; sysSettings.midiChannel = 1; @@ -1065,17 +1104,12 @@ void setup() saveToStorage(); } - // Keypad - // customKeypad.begin(); - keypad.begin(); - - // LEDs - omxLeds.initSetup(); - #ifdef RAM_MONITOR reporttime = millis(); #endif + + } // ####### END SETUP ####### diff --git a/OMX-27-firmware/src/ClearUI/ClearUI_Display.cpp b/OMX-27-firmware/src/ClearUI/ClearUI_Display.cpp index a796664c..64a3b6ec 100644 --- a/OMX-27-firmware/src/ClearUI/ClearUI_Display.cpp +++ b/OMX-27-firmware/src/ClearUI/ClearUI_Display.cpp @@ -36,7 +36,11 @@ #define CLKDURING 1000000 #define CLKAFTER 400000 +#if BOARDTYPE == OMX2040 +Adafruit_SSD1306 display = Adafruit_SSD1306(DISPLAY_WIDTH, DISPLAY_HEIGHT, &Wire1, OLED_RST, CLKDURING, CLKAFTER); +#else Adafruit_SSD1306 display = Adafruit_SSD1306(DISPLAY_WIDTH, DISPLAY_HEIGHT, &Wire, OLED_RST, CLKDURING, CLKAFTER); +#endif void initializeDisplay() { @@ -167,38 +171,38 @@ namespace int16_t saverPhase; const unsigned char wipePattern[] = { // 24 x 32 - B00000010, B10101011, B11111111, - B00000010, B10101011, B11111111, - B00000010, B10101011, B11111111, - B00000101, B01010111, B11111110, - B00000101, B01010111, B11111110, - B00000101, B01010111, B11111110, - B00000101, B01010111, B11111110, - B00000101, B01010111, B11111110, - B00000101, B01010111, B11111110, - B00001010, B10101111, B11111100, - B00001010, B10101111, B11111100, - B00001010, B10101111, B11111100, - B00001010, B10101111, B11111100, - B00001010, B10101111, B11111100, - B00010101, B01011111, B11111000, - B00010101, B01011111, B11111000, - B00010101, B01011111, B11111000, - B00010101, B01011111, B11111000, - B00010101, B01011111, B11111000, - B00101010, B10111111, B11110000, - B00101010, B10111111, B11110000, - B00101010, B10111111, B11110000, - B00101010, B10111111, B11110000, - B00101010, B10111111, B11110000, - B00101010, B10111111, B11110000, - B01010101, B01111111, B11100000, - B01010101, B01111111, B11100000, - B01010101, B01111111, B11100000, - B01010101, B01111111, B11100000, - B01010101, B01111111, B11100000, - B10101010, B11111111, B11000000, - B10101010, B11111111, B11000000, + 0b00000010, 0b10101011, 0b11111111, + 0b00000010, 0b10101011, 0b11111111, + 0b00000010, 0b10101011, 0b11111111, + 0b00000101, 0b01010111, 0b11111110, + 0b00000101, 0b01010111, 0b11111110, + 0b00000101, 0b01010111, 0b11111110, + 0b00000101, 0b01010111, 0b11111110, + 0b00000101, 0b01010111, 0b11111110, + 0b00000101, 0b01010111, 0b11111110, + 0b00001010, 0b10101111, 0b11111100, + 0b00001010, 0b10101111, 0b11111100, + 0b00001010, 0b10101111, 0b11111100, + 0b00001010, 0b10101111, 0b11111100, + 0b00001010, 0b10101111, 0b11111100, + 0b00010101, 0b01011111, 0b11111000, + 0b00010101, 0b01011111, 0b11111000, + 0b00010101, 0b01011111, 0b11111000, + 0b00010101, 0b01011111, 0b11111000, + 0b00010101, 0b01011111, 0b11111000, + 0b00101010, 0b10111111, 0b11110000, + 0b00101010, 0b10111111, 0b11110000, + 0b00101010, 0b10111111, 0b11110000, + 0b00101010, 0b10111111, 0b11110000, + 0b00101010, 0b10111111, 0b11110000, + 0b00101010, 0b10111111, 0b11110000, + 0b01010101, 0b01111111, 0b11100000, + 0b01010101, 0b01111111, 0b11100000, + 0b01010101, 0b01111111, 0b11100000, + 0b01010101, 0b01111111, 0b11100000, + 0b01010101, 0b01111111, 0b11100000, + 0b10101010, 0b11111111, 0b11000000, + 0b10101010, 0b11111111, 0b11000000, }; } diff --git a/OMX-27-firmware/src/config.cpp b/OMX-27-firmware/src/config.cpp index 96ae5bec..ea50b3db 100644 --- a/OMX-27-firmware/src/config.cpp +++ b/OMX-27-firmware/src/config.cpp @@ -2,7 +2,7 @@ #include "consts/consts.h" const OMXMode DEFAULT_MODE = MODE_MIDI; -const uint8_t EEPROM_VERSION = 36; +const uint8_t EEPROM_VERSION = 38; // v30 - adds storage to header for velocity // v31 - adds storage for drums @@ -23,25 +23,32 @@ const int CC_AUX = 25; // Mother mode - AUX key const int CC_OM1 = 26; // Mother mode - enc switch const int CC_OM2 = 28; // Mother mode - enc turn -const int LED_BRIGHTNESS = 50; +const int LED_BRIGHTNESS = 90; // DONT CHANGE ANYTHING BELOW HERE - -const int LED_PIN = 14; const int LED_COUNT = 27; +#if BOARDTYPE == OMX2040 + const int LED_PIN = 19; +#else + const int LED_PIN = 14; +#endif + #if DEV -const int analogPins[] = {23, 22, 21, 20, 16}; // DEV/beta boards -const byte DAC_ADDR = 0x62; + const int analogPins[] = {23, 22, 21, 20, 16}; // DEV/beta boards + const byte DAC_ADDR = 0x62; #elif MIDIONLY -const int analogPins[] = {23, 22, 21, 20, 16}; // on MIDI only boards - {23,A10,21,20,16} on Bodged MIDI boards -const byte DAC_ADDR = 0x60; -#elif T4 -const int analogPins[] = {23, 22, 21, 20, 16}; // on 2.0 -const byte DAC_ADDR = 0x60; + const int analogPins[] = {23, 22, 21, 20, 16}; // on MIDI only boards - {23,A10,21,20,16} on Bodged MIDI boards + const byte DAC_ADDR = 0x60; +#elif BOARDTYPE == TEENSY4 + const int analogPins[] = {23, 22, 21, 20, 16}; // on 2.0 + const byte DAC_ADDR = 0x60; +#elif BOARDTYPE == OMX2040 + const int analogPins[] = {2, 3 ,0, 1, 4}; // mux pin numbers + const byte DAC_ADDR = 0x60; #else -const int analogPins[] = {34, 22, 21, 20, 16}; // on 1.0 -const byte DAC_ADDR = 0x60; + const int analogPins[] = {34, 22, 21, 20, 16}; // on 1.0 + const byte DAC_ADDR = 0x60; #endif const int potCount = NUM_CC_POTS; @@ -54,10 +61,12 @@ int pots[NUM_CC_BANKS][NUM_CC_POTS] = { {91, 93, 103, 104, 7}}; // the MIDI CC (continuous controller) for each analog input int potMinVal = 0; -#if T4 -int potMaxVal = 1019; // T4 = 1019 // T3.2 = 8191; +#if BOARDTYPE == TEENSY4 + int potMaxVal = 1019; // T4 = 1019 // T3.2 = 8190; +#elif BOARDTYPE == OMX2040 + int potMaxVal = 1018; #else -int potMaxVal = 8191; // T4 = 1019 // T3.2 = 8191; + int potMaxVal = 8191; // T4 = 1019 // T3.2 = 8191; #endif const int gridh = 32; @@ -99,8 +108,13 @@ char keys[ROWS][COLS] = { {11, 12, 13, 14, 15, 24}, {16, 17, 18, 19, 20, 25}, {22, 23, 21}}; -byte rowPins[ROWS] = {6, 4, 3, 5, 2}; // row pins for key switches -byte colPins[COLS] = {7, 8, 10, 9, 15, 17}; // column pins for key switches +#if BOARDTYPE == OMX2040 + byte rowPins[ROWS] = {28, 14, 13, 12, 6}; // row pins for key switches + byte colPins[COLS] = {10, 9, 4, 5, 8, 11}; // column pins for key switches +#else + byte rowPins[ROWS] = {6, 4, 3, 5, 2}; // row pins for key switches + byte colPins[COLS] = {7, 8, 10, 9, 15, 17}; // column pins for key switches +#endif // KEYBOARD MIDI NOTE LAYOUT const int notes[] = {0, @@ -114,10 +128,7 @@ const int steps[] = {0, const int midiKeyMap[] = {12, 1, 13, 2, 14, 15, 3, 16, 4, 17, 5, 18, 19, 6, 20, 7, 21, 22, 8, 23, 9, 24, 10, 25, 26}; Adafruit_MCP4725 dac; -SysSettings sysSettings; -PotSettings potSettings; MidiConfig midiSettings; -MidiMacroConfig midiMacroConfig; EncoderConfig encoderConfig; ClockConfig clockConfig; SequencerConfig seqConfig; diff --git a/OMX-27-firmware/src/config.h b/OMX-27-firmware/src/config.h index d5179673..6ce20d53 100644 --- a/OMX-27-firmware/src/config.h +++ b/OMX-27-firmware/src/config.h @@ -11,20 +11,20 @@ #include #include #include "consts/colors.h" +#include // #include /* * firmware metadata */ -// OMX_VERSION = 1.13.8 +// OMX_VERSION = 1.14.0 const int MAJOR_VERSION = 1; -const int MINOR_VERSION = 13; -const int POINT_VERSION = 8; +const int MINOR_VERSION = 14; +const int POINT_VERSION = 0; // 1.13.2 - Adds CV Trigger modes for legato and regtrig // 1.13.3 - Bugfix for CV Trigger modes -// 1.13.5 - Bugfix for grids T4 pots -// 1.13.6 - start/stop midi fixes in grids, sysex tweaks for pot banks // 1.13.8 - option to send midi all the time or not +// 1.14.0 - finish RP2040 port const int DEVICE_ID = 2; @@ -102,7 +102,7 @@ extern const int LED_BRIGHTNESS; extern const int LED_PIN; extern const int LED_COUNT; -// POTS/ANALOG INPUTS - teensy pins for analog inputs +// POTS/ANALOG INPUTS - pins for analog inputs extern const int analogPins[]; #define NUM_CC_BANKS 5 @@ -123,7 +123,7 @@ struct SysSettings unsigned long timeElasped; }; -extern SysSettings sysSettings; + extern const int potCount; @@ -141,7 +141,6 @@ struct PotSettings int potNum = 0; }; // Put in global struct to share across classes -extern PotSettings potSettings; extern int potMinVal; extern int potMaxVal; @@ -193,7 +192,6 @@ struct MidiMacroConfig int midiMacroChan = 10; }; -extern MidiMacroConfig midiMacroConfig; // extern bool m8mutesolo[]; @@ -298,9 +296,9 @@ struct ColorConfig uint32_t mfxQuickEdit = RED; - uint32_t mfxNone = LEDOFF; - uint32_t mfxChance = MEDRED; - uint32_t mfxTranspose = PURPLE; + uint32_t mfxNone = LEDOFF; + uint32_t mfxChance = MEDRED; + uint32_t mfxTranspose = PURPLE; uint32_t mfxRandomizer = RED; uint32_t mfxSelector = ORANGE; uint32_t mfxChord = CYAN; diff --git a/OMX-27-firmware/src/consts/consts.h b/OMX-27-firmware/src/consts/consts.h index b53b3c75..bc478fb6 100644 --- a/OMX-27-firmware/src/consts/consts.h +++ b/OMX-27-firmware/src/consts/consts.h @@ -4,34 +4,72 @@ // HW_VERSIONS +#define PICO 1 +#define OMX2040 2 +#define TEENSY32 3 +#define TEENSY4 4 + +#ifndef BOARDTYPE + // AUTOMATICALLY GET BOARD TYPE - DO NOT MODIFY #ifdef ARDUINO_TEENSY40 -#define T4 1 +// #define T4 1 + #define BOARDTYPE TEENSY4 +#elif ARDUINO_TEENSY32 + #define BOARDTYPE TEENSY32 #else -#define T4 0 +// #define T4 0 + #define BOARDTYPE OMX2040 +#endif + #endif +// #ifndef BOARDTYPE +// #define BOARDTYPE OMX2040 +// #endif + + #define DEV 0 #define MIDIONLY 0 + +#if BOARDTYPE == OMX2040 + // I2C pin defs + const uint8_t I2C_SDA = 2; + const uint8_t I2C_SCL = 3; + + // pin defs + const uint8_t TXLED = 0; + const uint8_t RXLED = 1; + const int REDLED = 16; // RED LED + const int BLUELED = 18; // BLUE LED + const int NEOPIXPIN = 19; + const int FIVEVEN = 17; + +#endif + // Comment out defines to disable modes if needed for debug build #define OMXMODEGRIDS // HARDWARE Pin for CVGATE_PIN = 13 on beta1 boards, 22 on bodge/midi, 23 on 1.0 #if DEV -const int CVGATE_PIN = 13; -#elif T4 -const int CVGATE_PIN = 13; + const int CVGATE_PIN = 13; +#elif BOARDTYPE == TEENSY4 + const int CVGATE_PIN = 13; #elif MIDIONLY -const int CVGATE_PIN = 22; // 13 on beta1 boards, A10 (broken) on test/midi, 23 on 1.0 + const int CVGATE_PIN = 22; // 13 on beta1 boards, A10 (broken) on test/midi, 23 on 1.0 +#elif BOARDTYPE == OMX2040 + const int CVGATE_PIN = 27; #else -const int CVGATE_PIN = 23; // 13 on beta1 boards, 22 on test, 23 on 1.0 + const int CVGATE_PIN = 23; // 13 on beta1 boards, 22 on test, 23 on 1.0 #endif -#if T4 +#if BOARDTYPE == TEENSY4 // const int CVPITCH_PIN = A14; +#elif BOARDTYPE == OMX2040 + #else -const int CVPITCH_PIN = A14; + const int CVPITCH_PIN = A14; #endif const int loSkip = 0; diff --git a/OMX-27-firmware/src/globals.cpp b/OMX-27-firmware/src/globals.cpp new file mode 100644 index 00000000..6b1e572a --- /dev/null +++ b/OMX-27-firmware/src/globals.cpp @@ -0,0 +1,11 @@ + +#include "globals.h" + +SysSettings sysSettings; +PotSettings potSettings; +MidiMacroConfig midiMacroConfig; + +// setup EEPROM/FRAM storage +Storage *storage; +SysEx *sysEx; + diff --git a/OMX-27-firmware/src/globals.h b/OMX-27-firmware/src/globals.h new file mode 100644 index 00000000..440f5867 --- /dev/null +++ b/OMX-27-firmware/src/globals.h @@ -0,0 +1,14 @@ +#include "config.h" +#include "hardware/storage.h" +#include "midi/sysex.h" +#include "midi/MIDIClockStats.h" + +extern SysSettings sysSettings; +extern PotSettings potSettings; +extern MidiMacroConfig midiMacroConfig; +extern MIDIClockStats clockstats; + +// setup EEPROM/FRAM storage +extern Storage *storage; +extern SysEx *sysEx; + diff --git a/OMX-27-firmware/src/hardware/omx_disp.cpp b/OMX-27-firmware/src/hardware/omx_disp.cpp index 36c6fbfb..bdb76c73 100644 --- a/OMX-27-firmware/src/hardware/omx_disp.cpp +++ b/OMX-27-firmware/src/hardware/omx_disp.cpp @@ -3,6 +3,7 @@ #include "omx_disp.h" #include "../consts/consts.h" #include "../ClearUI/ClearUI.h" +#include "../globals.h" U8G2_FOR_ADAFRUIT_GFX u8g2_display; @@ -256,7 +257,7 @@ bool OmxDisp::validateLegendIndex(uint8_t index) { if(index >= 4) { - Serial.println("ERROR: Param index out of range!"); +// Serial.println("ERROR: Param index out of range!"); return false; } return true; diff --git a/OMX-27-firmware/src/hardware/omx_disp.h b/OMX-27-firmware/src/hardware/omx_disp.h index 1970d9ec..76b9b722 100644 --- a/OMX-27-firmware/src/hardware/omx_disp.h +++ b/OMX-27-firmware/src/hardware/omx_disp.h @@ -1,5 +1,6 @@ #pragma once #include "../config.h" +#include // MESSAGE DISPLAY const int MESSAGE_TIMEOUT_US = 500000; @@ -8,7 +9,7 @@ class OmxDisp { public: // Should make into function - + const char *legends[4] = {"", "", "", ""}; int legendVals[4] = {0, 0, 0, 0}; int dispPage = 0; diff --git a/OMX-27-firmware/src/hardware/omx_leds.cpp b/OMX-27-firmware/src/hardware/omx_leds.cpp index 35b9ff6c..65805e51 100644 --- a/OMX-27-firmware/src/hardware/omx_leds.cpp +++ b/OMX-27-firmware/src/hardware/omx_leds.cpp @@ -1,6 +1,7 @@ #include "omx_leds.h" #include "../consts/consts.h" #include "../consts/colors.h" +#include "../globals.h" Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); diff --git a/OMX-27-firmware/src/hardware/omx_leds.h b/OMX-27-firmware/src/hardware/omx_leds.h index f1af5ae4..b9b01c65 100644 --- a/OMX-27-firmware/src/hardware/omx_leds.h +++ b/OMX-27-firmware/src/hardware/omx_leds.h @@ -4,6 +4,7 @@ #include "../utils/music_scales.h" #include +#include // Declare NeoPixel strip object extern Adafruit_NeoPixel strip; @@ -13,7 +14,7 @@ class OmxLeds public: static const int octDnColor = ORANGE; static const int octUpColor = RBLUE; - + // OmxLeds() : strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800){}; OmxLeds(){}; @@ -69,7 +70,7 @@ class OmxLeds uint8_t blinkPatPos[10]; const uint8_t blinkPatternDelay_ = 2; - + }; extern OmxLeds omxLeds; diff --git a/OMX-27-firmware/src/hardware/storage.cpp b/OMX-27-firmware/src/hardware/storage.cpp index 2f443311..075623d3 100644 --- a/OMX-27-firmware/src/hardware/storage.cpp +++ b/OMX-27-firmware/src/hardware/storage.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include "storage.h" @@ -10,10 +11,17 @@ Storage *Storage::initStorage() { Adafruit_FRAM_I2C fram = Adafruit_FRAM_I2C(); // check if FRAM chip can be initialised +#if BOARDTYPE == OMX2040 + if (fram.begin(0x50, &Wire1)) + { + return new FRAMStorage(fram); + } +#else if (fram.begin()) { return new FRAMStorage(fram); } +#endif // fall back to EEPROM return new EEPROMStorage(); } diff --git a/OMX-27-firmware/src/hardware/storage.h b/OMX-27-firmware/src/hardware/storage.h index 8db2f3b2..8fd2dd30 100644 --- a/OMX-27-firmware/src/hardware/storage.h +++ b/OMX-27-firmware/src/hardware/storage.h @@ -8,6 +8,12 @@ enum StorageType FRAM_MEMORY = 1 }; +// EEPROM available +// Teensy 3.2 2048 bytes +// Teensy 4.0 1080 bytes +// FRAM = 32 KBytes + + // abstract storage class class Storage { diff --git a/OMX-27-firmware/src/midi/MIDIClockStats.h b/OMX-27-firmware/src/midi/MIDIClockStats.h new file mode 100644 index 00000000..9fe3ac72 --- /dev/null +++ b/OMX-27-firmware/src/midi/MIDIClockStats.h @@ -0,0 +1,114 @@ +// MIDIClockStats.h +#pragma once + +using Micros = unsigned long; + +class MIDIClockStats +{ +private: + static const size_t WINDOW_SIZE = 48; // Store 2 quarter notes worth of timing data (24 PPQ * 2) + static const size_t PPQ_IN = 24; // Incoming MIDI Clock Pulses Per Quarter Note + static constexpr float MICROS_PER_MINUTE = 60.0f * 1000000.0f; + + // Simple circular buffer for last N intervals + Micros intervals[WINDOW_SIZE]; + size_t writeIndex; + size_t count; + + // Last timestamp for interval calculation + Micros lastTimestamp; + + // Running statistics + float currentBPM; + bool isRunning; + + // Debug + Micros lastInterval; + +public: + MIDIClockStats() : writeIndex(0), + count(0), + lastTimestamp(0), + currentBPM(120.0f), + isRunning(false), + lastInterval(0) + { + for (size_t i = 0; i < WINDOW_SIZE; i++) + { + intervals[i] = 0; + } + } + + void clockPulse(Micros currentTime) + { + if (!isRunning) + return; + + // Calculate interval if we have a previous timestamp + if (lastTimestamp > 0) + { + Micros interval = currentTime - lastTimestamp; + + // Store in circular buffer + intervals[writeIndex] = interval; + writeIndex = (writeIndex + 1) % WINDOW_SIZE; + if (count < WINDOW_SIZE) + count++; + + // Calculate average interval + Micros totalInterval = 0; + size_t samplesToUse = count; + + for (size_t i = 0; i < samplesToUse; i++) + { + totalInterval += intervals[i]; + } + + float avgInterval = float(totalInterval) / samplesToUse; + lastInterval = interval; // Store for debugging + + // Calculate BPM + if (avgInterval > 0) + { + float newBPM = MICROS_PER_MINUTE / (avgInterval * PPQ_IN); + // Simple low-pass filter + // More aggressive smoothing to handle jittery sources like DAWs + currentBPM = currentBPM * 0.95f + newBPM * 0.05f; + } + } + + lastTimestamp = currentTime; + } + + void start() + { + reset(); + isRunning = true; + } + + void stop() + { + isRunning = false; + } + + void reset() + { + writeIndex = 0; + count = 0; + lastTimestamp = 0; + // Don't reset currentBPM to allow for smooth restarts + + for (size_t i = 0; i < WINDOW_SIZE; i++) + { + intervals[i] = 0; + } + } + + // Getters + float getBPM() const { return currentBPM; } + bool isClockRunning() const { return isRunning; } + + // Debug getters + Micros getLastInterval() const { return lastInterval; } + size_t getSampleCount() const { return count; } +}; \ No newline at end of file diff --git a/OMX-27-firmware/src/midi/midi.cpp b/OMX-27-firmware/src/midi/midi.cpp index 841dd483..c2aaf410 100644 --- a/OMX-27-firmware/src/midi/midi.cpp +++ b/OMX-27-firmware/src/midi/midi.cpp @@ -1,26 +1,214 @@ -#include "./midi.h" #include +#include "../globals.h" +#include "./midi.h" +#include "../consts/consts.h" +#include "../config.h" +#include "../utils/omx_util.h" +#include "../hardware/omx_disp.h" +#include "../utils/cvNote_util.h" +#include "../modes/omx_screensaver.h" +#include "../modes/omx_mode_interface.h" +#include "../modes/sequencer.h" +#include "sysex.h" + +extern OmxModeInterface *activeOmxMode; +extern OmxScreensaver omxScreensaver; +extern SequencerState sequencer; + namespace { + +#if BOARDTYPE == OMX2040 + Adafruit_USBD_MIDI usb_midi; + MIDI_CREATE_INSTANCE(Adafruit_USBD_MIDI, usb_midi, usbMIDI); // USBMIDI is USB MIDI + MIDI_CREATE_INSTANCE(HardwareSerial, Serial1, HWMIDI); // HWMIDI is Hardware MIDI + +#else using SerialMIDI = midi::SerialMIDI; using MidiInterface = midi::MidiInterface; - SerialMIDI theSerialInstance(Serial1); MidiInterface HWMIDI(theSerialInstance); + +#endif } namespace MM -{ +{ void begin() { - HWMIDI.begin(); + #if BOARDTYPE == OMX2040 + HWMIDI.begin(MIDI_CHANNEL_OMNI); + usbMIDI.begin(MIDI_CHANNEL_OMNI); + + HWMIDI.turnThruOff(); + usbMIDI.turnThruOff(); + + // handlers / callbacks + usbMIDI.setHandleNoteOn(handleNoteOn); + usbMIDI.setHandleNoteOff(handleNoteOff); + usbMIDI.setHandleClock(handleClock); + usbMIDI.setHandleStart(handleStart); + usbMIDI.setHandleStop(handleStop); + usbMIDI.setHandleContinue(handleContinue); + usbMIDI.setHandleControlChange(handleControlChange); + usbMIDI.setHandleSystemExclusive(OnSysEx); + + HWMIDI.setHandleNoteOn(handleNoteOn); + HWMIDI.setHandleNoteOff(handleNoteOff); + HWMIDI.setHandleClock(handleClock); + HWMIDI.setHandleStart(handleStart); + HWMIDI.setHandleStop(handleStop); + HWMIDI.setHandleContinue(handleContinue); + HWMIDI.setHandleControlChange(handleControlChange); + HWMIDI.setHandleSystemExclusive(OnSysExHW); + #else + HWMIDI.begin(); + #endif + } + // #### Inbound MIDI callbacks + + // void onControlChange(byte channel, byte number, byte value){ + // // if bank select MSB (0)- set flag + // // if flag, then look for next CC - LSB (32), + // // then do bank change and reset flag + // // or if not 32, reset flag + // } + + void handleNoteOn(byte channel, byte note, byte velocity) + { + digitalWrite(BLUELED, HIGH); + if (midiSettings.midiSoftThru) + { + sendNoteOnHW(note, velocity, channel); + } + if (midiSettings.midiInToCV) + { + cvNoteUtil.cvNoteOn(note); + } + omxScreensaver.resetCounter(); + activeOmxMode->inMidiNoteOn(channel, note, velocity); + } + + void handleNoteOff(byte channel, byte note, byte velocity) + { + digitalWrite(BLUELED, LOW); + if (midiSettings.midiSoftThru) + { + sendNoteOffHW(note, velocity, channel); + } + if (midiSettings.midiInToCV) + { + cvNoteUtil.cvNoteOff(note); + } + activeOmxMode->inMidiNoteOff(channel, note, velocity); + } + + void handleControlChange(byte channel, byte control, byte value) + { + // digitalWrite(REDLED, HIGH); + if (midiSettings.midiSoftThru) + { + sendControlChangeHW(control, value, channel); + } + // change potbank on bank select + if (control == 0){ + midiSettings.isBankSelect = true; + potSettings.potbank = constrain(value, 0, NUM_CC_BANKS - 1); + omxDisp.setDirty(); + // }else if (midiSettings.isBankSelect && control == 32){ + // midiSettings.isBankSelect = true; + }else{ + midiSettings.isBankSelect = false; + } + + // sendControlChange(control, value, channel); + } + + // absolute_time_t last_ext_tick_at_ = 0; + // void externalMidiClockTick(absolute_time_t timestamp) { + // uint32_t delta = absolute_time_diff_us(last_ext_tick_at_, timestamp); + // if ( delta > 0) { + // clockConfig.ppqInterval = delta / 4 ; + // clockConfig.clockbpm = (60000000 / clockConfig.ppqInterval) / PPQ; + + // last_ext_tick_at_ = timestamp; + // } + // } + + // FIXME: This is debug stuff for incoming midi clock average. + // unsigned int cnt; + // int cntmax = 24; + void handleClock() { + // start a rolling average clock + // PPQN for MIDI is 24 + + // bool clockSource; // Internal clock (0), external clock (1) + + if (sequencer.clockSource == 1){ // external clock + + // absolute_time_t Now = time_us_32(); + // externalMidiClockTick(Now); + // // omxDisp.setDirty(); + // } + +/* + if (cnt == cntmax) + { + Serial.print("BPM: "); + Serial.print(clockstats.getBPM()); + Serial.print(" Last Interval: "); + Serial.print(clockstats.getLastInterval()); + Serial.print(" Samples: "); + Serial.println(clockstats.getSampleCount()); + cnt = 0; + } + */ + clockstats.clockPulse(micros()); + clockConfig.clockbpm = clockstats.getBPM(); + } + + if (midiSettings.midiSoftThru){ + // sendClock(); + } + } + + void handleStart() { + digitalWrite(REDLED, HIGH); + clockstats.start(); + startTransport(); + if (midiSettings.midiSoftThru){ + } + } + + void handleStop() { + digitalWrite(REDLED, LOW); + clockstats.stop(); + stopTransport(); + if (midiSettings.midiSoftThru){ + } + } + + void handleContinue() { + digitalWrite(REDLED, HIGH); + continueTransport(); + if (midiSettings.midiSoftThru){ + } + } + + void OnSysEx(byte *sysexData, unsigned length) + { + sysEx->processIncomingSysex(sysexData, length); + } + void OnSysExHW(byte* sysexData, unsigned length) + { + sendSysEx(length, sysexData, false); } void sendNoteOn(int note, int velocity, int channel) { - usbMIDI.sendNoteOn(note, velocity, channel); HWMIDI.sendNoteOn(note, velocity, channel); + usbMIDI.sendNoteOn(note, velocity, channel); } void sendNoteOnHW(int note, int velocity, int channel) @@ -30,8 +218,8 @@ namespace MM void sendNoteOff(int note, int velocity, int channel) { - usbMIDI.sendNoteOff(note, velocity, channel); HWMIDI.sendNoteOff(note, velocity, channel); + usbMIDI.sendNoteOff(note, velocity, channel); } void sendNoteOffHW(int note, int velocity, int channel) @@ -41,47 +229,58 @@ namespace MM void sendControlChange(int control, int value, int channel) { - usbMIDI.sendControlChange(control, value, channel); HWMIDI.sendControlChange(control, value, channel); + usbMIDI.sendControlChange(control, value, channel); } void sendControlChangeHW(int control, int value, int channel) { HWMIDI.sendControlChange(control, value, channel); } - - void sendProgramChange(int program, int channel) + + void sendProgramChange(byte program, byte channel) { - usbMIDI.sendProgramChange(program, channel); + // Bank switch? HWMIDI.sendProgramChange(program, channel); + usbMIDI.sendProgramChange(program, channel); } void sendSysEx(uint32_t length, const uint8_t *sysexData, bool hasBeginEnd) { usbMIDI.sendSysEx(length, sysexData, hasBeginEnd); + HWMIDI.sendSysEx(length, sysexData, hasBeginEnd); } void sendClock() { - usbMIDI.sendRealTime(usbMIDI.Clock); - HWMIDI.sendClock(); + // usbMIDI.sendRealTime(midi::Clock); + if (sequencer.clockSource == 0){ // internal clock + usbMIDI.sendClock(); + HWMIDI.sendClock(); + } } - void startClock() + void startTransport() { - usbMIDI.sendRealTime(usbMIDI.Start); + // usbMIDI.sendRealTime(midi::Start); + // Serial.println("Start received"); + usbMIDI.sendStart(); HWMIDI.sendStart(); } - void continueClock() + void continueTransport() { - usbMIDI.sendRealTime(usbMIDI.Continue); + // usbMIDI.sendRealTime(midi::Continue); + // Serial.println("Continue received"); + usbMIDI.sendContinue(); HWMIDI.sendContinue(); } - void stopClock() + void stopTransport() { - usbMIDI.sendRealTime(usbMIDI.Stop); + // usbMIDI.sendRealTime(midi::Stop); + // Serial.println("Stop received"); + usbMIDI.sendStop(); HWMIDI.sendStop(); } diff --git a/OMX-27-firmware/src/midi/midi.h b/OMX-27-firmware/src/midi/midi.h index 12cc9f0a..3863e2a2 100644 --- a/OMX-27-firmware/src/midi/midi.h +++ b/OMX-27-firmware/src/midi/midi.h @@ -1,6 +1,14 @@ #pragma once #include +#include + +#include "../consts/consts.h" +#include "../modes/omx_mode_interface.h" + +#if BOARDTYPE == OMX2040 +#include // https://github.com/adafruit/Adafruit_TinyUSB_Arduino +#endif namespace MM { @@ -10,17 +18,34 @@ namespace MM void sendNoteOn(int note, int velocity, int channel); void sendNoteOff(int note, int velocity, int channel); void sendControlChange(int control, int value, int channel); - void sendProgramChange(int program, int channel); + void sendProgramChange(byte program, byte channel); void sendNoteOnHW(int note, int velocity, int channel); void sendNoteOffHW(int note, int velocity, int channel); void sendControlChangeHW(int control, int value, int channel); void sendSysEx(uint32_t length, const uint8_t *sysexData, bool hasBeginEnd); + // handlers/callbacks? + // void handleProgramChange(byte program, byte channel); + void handleNoteOn(byte channel, byte note, byte velocity); + void handleNoteOff(byte channel, byte note, byte velocity); + void handleControlChange(byte channel, byte number, byte value); + + void OnControlChange(byte channel, byte number, byte value); + void OnSysEx(unsigned char *data, unsigned length); + void OnSysExHW(unsigned char *data, unsigned length); + + void handleClock(); + void handleStart(); + void handleStop(); + void handleContinue(); + void sendClock(); - void startClock(); - void continueClock(); - void stopClock(); + void startTransport(); + void continueTransport(); + void stopTransport(); bool usbMidiRead(); bool midiRead(); + + } diff --git a/OMX-27-firmware/src/midi/noteoffs.cpp b/OMX-27-firmware/src/midi/noteoffs.cpp index a503d226..b523ec10 100644 --- a/OMX-27-firmware/src/midi/noteoffs.cpp +++ b/OMX-27-firmware/src/midi/noteoffs.cpp @@ -1,5 +1,4 @@ #include "noteoffs.h" - #include #include "../consts/consts.h" #include "../config.h" diff --git a/OMX-27-firmware/src/midi/sysex.cpp b/OMX-27-firmware/src/midi/sysex.cpp index 4431eb32..7bb12b1f 100644 --- a/OMX-27-firmware/src/midi/sysex.cpp +++ b/OMX-27-firmware/src/midi/sysex.cpp @@ -1,13 +1,17 @@ + +#include "../globals.h" #include "../midi/sysex.h" -#include "../midi/midi.h" -#include "../config.h" + +// #include "../midi/midi.h" +// #include "../config.h" const uint8_t INFO = 0x1F; const uint8_t CONFIG_EDIT = 0x0E; const uint8_t CONFIG_DEVICE_EDIT = 0x0D; -void SysEx::processIncomingSysex(const uint8_t *sysexData, unsigned size) +void SysEx::processIncomingSysex(const byte *sysexData, unsigned size) { + Serial.println("Sysex received"); if (size < 3) { // Serial.println("That's an empty sysex"); @@ -118,15 +122,22 @@ void SysEx::sendCurrentState() sysexData[6] = MINOR_VERSION; // minor version sysexData[7] = POINT_VERSION; // point version - // 32 bytes of data: - // EEPROM VERSION - // MODE - // PlayingPattern - // MidiChannel - // Pots (x25 - 5 banks of 5 pots) - // 00 - // 00 - // 00 + // X bytes of data: + // 0 - EEPROM VERSION + // 1 - Current MODE + // 2 - Sequencer PlayingPattern + // 3 - MIDI mode MidiChannel + // 4 - 28 - Pots (x25 - 5 banks of 5 pots) + // 29 - MIDI Macro Channel + // 30 - MIDI Macro Type + // 31 - Scale Root + // 32 - Scale Pattern, -1 for chromatic + // 33 - Lock Scale - Bool + // 34 - Scale Group 16 - Bool + // 35 - midiSettings.defaultVelocity + // 36 - clockConfig.globalQuantizeStepIndex + // 37 - cvNoteUtil.triggerMode + // 38 - actvie pot bank uint8_t buffer[EEPROM_HEADER_SIZE]; this->storage->readArray(0, buffer, EEPROM_HEADER_SIZE); diff --git a/OMX-27-firmware/src/midi/sysex.h b/OMX-27-firmware/src/midi/sysex.h index 5a70be8d..d4fcd7ad 100644 --- a/OMX-27-firmware/src/midi/sysex.h +++ b/OMX-27-firmware/src/midi/sysex.h @@ -1,12 +1,13 @@ #pragma once +// #include "../config.h" #include "../hardware/storage.h" -#include "../config.h" +#include "midi.h" class SysEx { - Storage *storage; SysSettings *settings; + Storage *storage; public: SysEx(Storage *storage, SysSettings *settings) : storage(storage), diff --git a/OMX-27-firmware/src/midifx/midifx_arpeggiator.cpp b/OMX-27-firmware/src/midifx/midifx_arpeggiator.cpp index 63d37014..2f41052b 100644 --- a/OMX-27-firmware/src/midifx/midifx_arpeggiator.cpp +++ b/OMX-27-firmware/src/midifx/midifx_arpeggiator.cpp @@ -1,8 +1,10 @@ +#include "../globals.h" #include "midifx_arpeggiator.h" #include "../hardware/omx_disp.h" #include "../utils/omx_util.h" #include "../hardware/omx_leds.h" #include "../consts/colors.h" + // #include "../sequencer.h" #include // #include diff --git a/OMX-27-firmware/src/midifx/midifx_chord.cpp b/OMX-27-firmware/src/midifx/midifx_chord.cpp index f74c0dcd..5d28c52a 100644 --- a/OMX-27-firmware/src/midifx/midifx_chord.cpp +++ b/OMX-27-firmware/src/midifx/midifx_chord.cpp @@ -441,9 +441,9 @@ namespace midifx { if (i > 0) { - tempString.append(" "); + tempString += " "; } - tempString.append(MusicScales::getFullNoteName(note)); + tempString += (MusicScales::getFullNoteName(note)); } } diff --git a/OMX-27-firmware/src/midifx/midifx_repeat.cpp b/OMX-27-firmware/src/midifx/midifx_repeat.cpp index d68b3215..5ca3e96c 100644 --- a/OMX-27-firmware/src/midifx/midifx_repeat.cpp +++ b/OMX-27-firmware/src/midifx/midifx_repeat.cpp @@ -1,4 +1,5 @@ #include "midifx_repeat.h" +#include "../globals.h" #include "../hardware/omx_disp.h" #include "../utils/omx_util.h" diff --git a/OMX-27-firmware/src/midimacro/midimacro_deluge.cpp b/OMX-27-firmware/src/midimacro/midimacro_deluge.cpp index 166bfd6b..68dd435b 100644 --- a/OMX-27-firmware/src/midimacro/midimacro_deluge.cpp +++ b/OMX-27-firmware/src/midimacro/midimacro_deluge.cpp @@ -1,4 +1,5 @@ #include "midimacro_deluge.h" +#include "../globals.h" #include "../utils/omx_util.h" #include "../hardware/omx_disp.h" #include "../hardware/omx_leds.h" @@ -126,10 +127,10 @@ namespace midimacro paramBanks[15].SetCCs("Pot 1", 105, "Pot 2", 106, "Pot 3", 107, "Pot 4", 108, "Pot 5", 109); - params_.addPage(5); // - // params_.addPage(1); // - // params_.addPage(1); // - // params_.addPage(1); // + params_.addPage(5); // + // params_.addPage(1); // + // params_.addPage(1); // + // params_.addPage(1); // for(uint8_t i = 0; i < 127; i++) { @@ -184,7 +185,7 @@ namespace midimacro { if (bankIndex >= kNumBanks) { - Serial.println((String)"ERROR:MidiMacroDeluge: Cannot set active bank to " + bankIndex); +// Serial.println((String)"ERROR:MidiMacroDeluge: Cannot set active bank to " + bankIndex); return; } @@ -197,7 +198,7 @@ namespace midimacro if(params_.getSelPage() == 0) { - params_.setSelParam(activeParam); + params_.setSelParam(activeParam); } updatePotPickups(); @@ -208,7 +209,7 @@ namespace midimacro // Updates the pot pickups to the values saved in the active bank // Thus if we switch banks, the value will need to be picked up - // by the pot before it sends out to avoid jumping values. + // by the pot before it sends out to avoid jumping values. void MidiMacroDeluge::updatePotPickups() { auto activeBank = getActiveBank(); @@ -296,7 +297,7 @@ namespace midimacro // if(activeBank != nullptr) // { - + // } // Serial.println((String)"IN CC: " + control + " VAL: " + value); // 5968 @@ -339,7 +340,7 @@ namespace midimacro // omxDisp.displayMessageTimed(String(activeBank->paramNames[potIndex]) + " " + String(delugeMapVal), 5); MM::sendControlChange(cc, potPickups[potIndex].value, midiMacroConfig.midiMacroChan); } - else + else { // uint8_t delugeMapNewVal = (uint8_t)map(newValue, 0, 127, 0, 50); // uint8_t delugeMapVal = (uint8_t)map(potPickups[potIndex].value, 0, 127, 0, 50); @@ -409,7 +410,7 @@ namespace midimacro } } // Change Octave - else if (thisKey == 11 || thisKey == 12) + else if (thisKey == 11 || thisKey == 12) { int amt = thisKey == 11 ? -1 : 1; midiSettings.octave = constrain(midiSettings.octave + amt, -5, 4); @@ -587,7 +588,7 @@ namespace midimacro void MidiMacroDeluge::onEncoderChangedSelectParam(Encoder::Update enc) { params_.changeParam(enc.dir()); - + if(params_.getSelPage() == 0) { activeParam = params_.getSelParam(); @@ -666,7 +667,7 @@ namespace midimacro // // omxDisp.displayMessageTimed(String(activeBank->paramNames[potIndex]) + " " + String(delugeMapVal), 5); // MM::sendControlChange(cc, potPickups[potIndex].value, midiMacroConfig.midiMacroChan); // } - // else + // else // { // uint8_t delugeMapNewVal = (uint8_t)map(newValue, 0, 127, 0, 50); // uint8_t delugeMapVal = (uint8_t)map(potPickups[potIndex].value, 0, 127, 0, 50); @@ -677,7 +678,7 @@ namespace midimacro uint8_t delugeMapPotVal = (uint8_t)map(potPickups[activeParam].potValue, 0, 127, 0, 50); uint8_t delugeMapVal = (uint8_t)map(potPickups[activeParam].value, 0, 127, 0, 50); - + omxDisp.dispParamBar(delugeMapPotVal, delugeMapVal, 0, 50, potPickups[activeParam].pickedUp, false, activeBank->bankName, activeBank->paramNames[activeParam]); // omxDisp.dispGenericModeLabel(activeBank->bankName, params_.getNumPages(), params_.getSelPage()); diff --git a/OMX-27-firmware/src/midimacro/midimacro_m8.cpp b/OMX-27-firmware/src/midimacro/midimacro_m8.cpp index 5502dce4..37eb449d 100644 --- a/OMX-27-firmware/src/midimacro/midimacro_m8.cpp +++ b/OMX-27-firmware/src/midimacro/midimacro_m8.cpp @@ -1,4 +1,5 @@ #include "midimacro_m8.h" +#include "../globals.h" #include "../utils/omx_util.h" #include "../hardware/omx_disp.h" #include "../hardware/omx_leds.h" diff --git a/OMX-27-firmware/src/midimacro/midimacro_norns.cpp b/OMX-27-firmware/src/midimacro/midimacro_norns.cpp index 5c72ccba..bc2cb9f8 100644 --- a/OMX-27-firmware/src/midimacro/midimacro_norns.cpp +++ b/OMX-27-firmware/src/midimacro/midimacro_norns.cpp @@ -1,4 +1,5 @@ #include "midimacro_norns.h" +#include "../globals.h" #include "../utils/omx_util.h" #include "../hardware/omx_disp.h" #include "../hardware/omx_leds.h" diff --git a/OMX-27-firmware/src/modes/euclidean_sequencer.cpp b/OMX-27-firmware/src/modes/euclidean_sequencer.cpp index 4af1db76..47e75678 100644 --- a/OMX-27-firmware/src/modes/euclidean_sequencer.cpp +++ b/OMX-27-firmware/src/modes/euclidean_sequencer.cpp @@ -336,7 +336,7 @@ namespace euclidean { sOut += (pattern_[i] ? "X" : "-"); } - Serial.println(sOut.c_str()); +// Serial.println(sOut.c_str()); } EuclidSave EuclideanSequencer::getSave() { diff --git a/OMX-27-firmware/src/modes/omx_mode_chords.cpp b/OMX-27-firmware/src/modes/omx_mode_chords.cpp index 9c2626b9..5ff3d8be 100644 --- a/OMX-27-firmware/src/modes/omx_mode_chords.cpp +++ b/OMX-27-firmware/src/modes/omx_mode_chords.cpp @@ -1,5 +1,6 @@ #include "omx_mode_chords.h" #include "../config.h" +#include "../globals.h" #include "../consts/colors.h" #include "../utils/omx_util.h" #include "../utils/cvNote_util.h" @@ -2825,9 +2826,9 @@ void OmxModeChords::onDisplayUpdate() { if (i > 0) { - notesString.append(" "); + notesString += " "; } - notesString.append(musicScale_->getFullNoteName(note)); + notesString += (musicScale_->getFullNoteName(note)); // if(i < 4) // { diff --git a/OMX-27-firmware/src/modes/omx_mode_chords.h b/OMX-27-firmware/src/modes/omx_mode_chords.h index c6a521d0..279f1478 100644 --- a/OMX-27-firmware/src/modes/omx_mode_chords.h +++ b/OMX-27-firmware/src/modes/omx_mode_chords.h @@ -1,8 +1,10 @@ #pragma once + #include "../modes/omx_mode_interface.h" #include "../utils/music_scales.h" // #include "../consts/colors.h" #include "../config.h" +#include "../globals.h" // #include "../modes/omx_mode_midi_keyboard.h" #include "../utils/param_manager.h" #include "../hardware/storage.h" diff --git a/OMX-27-firmware/src/modes/omx_mode_drum.cpp b/OMX-27-firmware/src/modes/omx_mode_drum.cpp index 59d16506..875fbcbc 100644 --- a/OMX-27-firmware/src/modes/omx_mode_drum.cpp +++ b/OMX-27-firmware/src/modes/omx_mode_drum.cpp @@ -1,5 +1,6 @@ #include "omx_mode_drum.h" #include "../config.h" +#include "../globals.h" #include "../consts/colors.h" #include "../utils/omx_util.h" #include "../utils/cvNote_util.h" diff --git a/OMX-27-firmware/src/modes/omx_mode_euclidean.cpp b/OMX-27-firmware/src/modes/omx_mode_euclidean.cpp index f9a42914..c5e3d097 100644 --- a/OMX-27-firmware/src/modes/omx_mode_euclidean.cpp +++ b/OMX-27-firmware/src/modes/omx_mode_euclidean.cpp @@ -347,14 +347,23 @@ void OmxModeEuclidean::onPotChanged(int potIndex, int prevValue, int newValue, i EuclideanSequencer *activeEuclid = &euclids[selectedEuclid_]; // Serial.println(String("PotChanged ") + String(potIndex)); + // Serial.println(String("newValue ") + String(newValue)); + // Serial.println(String("analogDelta ") + String(analogDelta)); // --- EDIT MODE --- if (paramMode_ == PARAMMODE_EDIT) { // Serial.println("Edit Mode"); +#if (BOARDTYPE == TEENSY4 || BOARDTYPE == OMX2040) + // Assuming delta also small for T4 + // Small delta on OMX2040 + if (analogDelta < 1) + return; +#else if (analogDelta < 3) return; +#endif if (potIndex == 0) { diff --git a/OMX-27-firmware/src/modes/omx_mode_grids.cpp b/OMX-27-firmware/src/modes/omx_mode_grids.cpp index cf929390..05c06c8e 100644 --- a/OMX-27-firmware/src/modes/omx_mode_grids.cpp +++ b/OMX-27-firmware/src/modes/omx_mode_grids.cpp @@ -1,5 +1,6 @@ #include "omx_mode_grids.h" #include "../config.h" +#include "../globals.h" #include "../utils/omx_util.h" #include "../hardware/omx_disp.h" #include "../hardware/omx_leds.h" @@ -75,7 +76,7 @@ void OmxModeGrids::onClockTick() void OmxModeGrids::onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) { -#if T4 +#if (BOARDTYPE == TEENSY4 || BOARDTYPE == OMX2040) int deltaTheshold = 1; #else int deltaTheshold = 6; @@ -91,7 +92,7 @@ void OmxModeGrids::onPotChanged(int potIndex, int prevValue, int newValue, int a // if (analogDelta < 3) // return; -#if T4 +#if (BOARDTYPE == TEENSY4 || BOARDTYPE == OMX2040) // prevents values from being modified until pot is modified if (potPostLoadThresh[potIndex]) { @@ -416,7 +417,7 @@ void OmxModeGrids::onEncoderChanged(Encoder::Update enc) if (noteLength != newNoteLength) { grids_.setNoteLength(lockedInst_, newNoteLength); - omxDisp.displayMessage(kNoteLengths[newNoteLength]); + omxDisp.displayMessage((String) kNoteLengths[newNoteLength]); omxDisp.setDirty(); } } @@ -543,8 +544,8 @@ void OmxModeGrids::loadActivePattern(uint8_t pattIndex) void OmxModeGrids::startPlayback() { gridsAUX = true; - omxUtil.resetClocks(); grids_.start(); + omxUtil.resetClocks(); omxUtil.startClocks(); // sequencer.playing = true; isPlaying_ = true; diff --git a/OMX-27-firmware/src/modes/omx_mode_midi_keyboard.cpp b/OMX-27-firmware/src/modes/omx_mode_midi_keyboard.cpp index b9d82c61..b707a941 100644 --- a/OMX-27-firmware/src/modes/omx_mode_midi_keyboard.cpp +++ b/OMX-27-firmware/src/modes/omx_mode_midi_keyboard.cpp @@ -1,5 +1,6 @@ #include "omx_mode_midi_keyboard.h" #include "../config.h" +#include "../globals.h" #include "../consts/colors.h" #include "../utils/omx_util.h" #include "../utils/cvNote_util.h" @@ -23,8 +24,7 @@ enum MIKeyModePage { MIPAGE_POTSANDMACROS, MIPAGE_SCALES, MIPAGE_CFG, - MIPAGE_CLOCK_SOURCE, - MIPAGE_CLOCK_SEND, + MIPAGE_CLOCK_SOURCE, MIPAGE_VERSION }; @@ -37,6 +37,7 @@ OmxModeMidiKeyboard::OmxModeMidiKeyboard() params.addPage(4); // PotBank, Thru, Macro, Macro Channel params.addPage(4); // Root, Scale, Lock Scale Notes, Group notes. params.addPage(4); // Pot CC CFG + params.addPage(4); // MIPAGE_CLOCK_SOURCE params.addPage(4); // MIPAGE_VERSION // subModeMidiFx.setNoteOutputFunc(&OmxModeMidiKeyboard::onNotePostFXForwarder, this); @@ -476,7 +477,7 @@ void OmxModeMidiKeyboard::onEncoderChanged(Encoder::Update enc) cvNoteUtil.triggerMode = constrain(cvNoteUtil.triggerMode + amt, 0, 1); } } - else if (selPage == MIPAGE_CLOCK_SOURCE) + else if (selPage == MIPAGE_CLOCK_SOURCE) { if (selParam == 1) { @@ -488,7 +489,6 @@ void OmxModeMidiKeyboard::onEncoderChanged(Encoder::Update enc) } } - omxDisp.setDirty(); } @@ -1238,13 +1238,13 @@ void OmxModeMidiKeyboard::onDisplayUpdate() omxDisp.setLegend(2,"QUANT", "1/" + String(kArpRates[clockConfig.globalQuantizeStepIndex])); omxDisp.setLegend(3,"CV M", cvNoteUtil.getTriggerModeDispName()); } - else if (params.getSelPage() == MIPAGE_CLOCK_SOURCE) - { + else if (params.getSelPage() == MIPAGE_CLOCK_SOURCE) { omxDisp.clearLegends(); omxDisp.setLegend(0,"CLKS", sequencer.clockSource ? "Ext" : "Int"); omxDisp.setLegend(1,"SEND", clockConfig.send_always ? "ON" : "OFF"); // Always send clock or not } + omxDisp.dispGenericMode2(params.getNumPages(), params.getSelPage(), params.getSelParam(), encoderSelect && !midiSettings.midiAUX); } } @@ -1345,7 +1345,6 @@ void OmxModeMidiKeyboard::SetScale(MusicScales *scale) m8Macro_.setScale(scale); nornsMarco_.setScale(scale); } - void OmxModeMidiKeyboard::sendMidiClock(bool send) { clockConfig.send_always = !clockConfig.send_always; diff --git a/OMX-27-firmware/src/modes/omx_mode_sequencer.cpp b/OMX-27-firmware/src/modes/omx_mode_sequencer.cpp index 0b9789f0..8850e05b 100644 --- a/OMX-27-firmware/src/modes/omx_mode_sequencer.cpp +++ b/OMX-27-firmware/src/modes/omx_mode_sequencer.cpp @@ -1,5 +1,6 @@ #include "omx_mode_sequencer.h" #include "../config.h" +#include "../globals.h" #include "../consts/colors.h" #include "../utils/omx_util.h" #include "../hardware/omx_disp.h" diff --git a/OMX-27-firmware/src/modes/omx_screensaver.cpp b/OMX-27-firmware/src/modes/omx_screensaver.cpp index f3cf5e19..0798dadb 100644 --- a/OMX-27-firmware/src/modes/omx_screensaver.cpp +++ b/OMX-27-firmware/src/modes/omx_screensaver.cpp @@ -1,4 +1,5 @@ #include "omx_screensaver.h" +#include "../globals.h" #include "../consts/consts.h" #include "../config.h" #include "../utils/omx_util.h" @@ -7,12 +8,13 @@ void OmxScreensaver::setScreenSaverColor() { - colorConfig.screensaverColor = map(potSettings.analog[4]->getValue(), potMinVal, potMaxVal, 0, ssMaxColorDepth); + int tempcolor = potSettings.analog[4]->getValue(); + colorConfig.screensaverColor = map(tempcolor, potMinVal, potMaxVal, 0, ssMaxColorDepth); + // Serial.println(colorConfig.screensaverColor); } void OmxScreensaver::onPotChanged(int potIndex, int prevValue, int newValue, int analogDelta) { - // set screensaver color with pot 4 if (potSettings.analog[4]->hasChanged()) { setScreenSaverColor(); @@ -28,7 +30,7 @@ void OmxScreensaver::updateScreenSaverState() { if (screenSaverCounter > screensaverInterval) { - if (!screenSaverActive) + if (!screenSaverActive) { screenSaverActive = true; setScreenSaverColor(); @@ -51,6 +53,7 @@ void OmxScreensaver::updateScreenSaverState() bool OmxScreensaver::shouldShowScreenSaver() { + // setScreenSaverColor(); return screenSaverActive; } @@ -67,12 +70,10 @@ void OmxScreensaver::onDisplayUpdate() updateLEDs(); omxDisp.clearDisplay(); } - void OmxScreensaver::resetCounter() { screenSaverCounter = 0; } - void OmxScreensaver::updateLEDs() { unsigned long playstepmillis = millis(); @@ -83,13 +84,18 @@ void OmxScreensaver::updateLEDs() int j = 26 - ssloop; int i = ssstep + 11; + int saturation = 255; + int brightness = 255; for (int z = 1; z < 11; z++) { - strip.setPixelColor(z, 0); + strip.setPixelColor(z, 0, 0, 0 ); } if (colorConfig.screensaverColor < ssMaxColorDepth) { + if (colorConfig.screensaverColor > 65200){ + brightness = 0; + } if (!ssreverse) { // turn off all leds @@ -97,14 +103,14 @@ void OmxScreensaver::updateLEDs() { if (i < j) { - strip.setPixelColor(x + 11, 0); + strip.setPixelColor(x + 11, 0, 0, 0 ); } if (x + 11 > j) { - strip.setPixelColor(x + 11, strip.gamma32(strip.ColorHSV(colorConfig.screensaverColor))); + strip.setPixelColor(x + 11, strip.gamma32(strip.ColorHSV(colorConfig.screensaverColor, saturation, brightness))); } } - strip.setPixelColor(i + 1, strip.gamma32(strip.ColorHSV(colorConfig.screensaverColor))); + strip.setPixelColor(i + 1, strip.gamma32(strip.ColorHSV(colorConfig.screensaverColor, saturation, brightness))); } else { @@ -112,21 +118,21 @@ void OmxScreensaver::updateLEDs() { if (i >= j) { - strip.setPixelColor(y + 11, 0); + strip.setPixelColor(y + 11, 0, 0, 0 ); } if (y + 11 < j) { - strip.setPixelColor(y + 11, strip.gamma32(strip.ColorHSV(colorConfig.screensaverColor))); + strip.setPixelColor(y + 11, strip.gamma32(strip.ColorHSV(colorConfig.screensaverColor, saturation, brightness))); } } - strip.setPixelColor(i + 1, strip.gamma32(strip.ColorHSV(colorConfig.screensaverColor))); + strip.setPixelColor(i + 1, strip.gamma32(strip.ColorHSV(colorConfig.screensaverColor, saturation, brightness))); } } else { for (int w = 0; w < 27; w++) { - strip.setPixelColor(w, 0); + strip.setPixelColor(w, 0, 0, 0 ); } } ssstep++; diff --git a/OMX-27-firmware/src/modes/omx_screensaver.h b/OMX-27-firmware/src/modes/omx_screensaver.h index b7abd7b3..ed2e50ad 100644 --- a/OMX-27-firmware/src/modes/omx_screensaver.h +++ b/OMX-27-firmware/src/modes/omx_screensaver.h @@ -1,6 +1,7 @@ #pragma once #include "./omx_mode_interface.h" +#include class OmxScreensaver : public OmxModeInterface { @@ -30,9 +31,12 @@ class OmxScreensaver : public OmxModeInterface private: void setScreenSaverColor(); elapsedMillis screenSaverCounter = 0; - unsigned long screensaverInterval = 1000 * 60 * 3; // 3 minutes default - uint32_t ssMaxColorDepth = 65528; // used by setScreenSaverColor(). Allows for full rainbow of colors, plus a little extra for 'black' + unsigned long screensaverInterval = 1000 * 60 * 3; // 3 minutes default? // 10000; 15000; // + uint32_t ssMaxColorDepth = 65528; // used by setScreenSaverColor(). + // Allows for full rainbow of colors, plus a little extra for 'black' + // Uncomment for 10 second screensaver for testing + // unsigned long screensaverInterval = 1000 * 10; int ssstep = 0; int ssloop = 0; volatile unsigned long nextStepTimeSS = 0; diff --git a/OMX-27-firmware/src/modes/retro_grids.cpp b/OMX-27-firmware/src/modes/retro_grids.cpp index d2db09f5..5ec4fdd3 100644 --- a/OMX-27-firmware/src/modes/retro_grids.cpp +++ b/OMX-27-firmware/src/modes/retro_grids.cpp @@ -451,7 +451,7 @@ namespace grids { tickCount_ = 0; running_ = true; -// MM::startClock(); + // MM::startClock(); nextStepTimeP_ = micros(); lastStepTimeP_ = micros(); @@ -460,13 +460,13 @@ namespace grids void GridsWrapper::stop() { running_ = false; -// MM::stopClock(); + // MM::stopClock(); } void GridsWrapper::proceed() { running_ = true; - MM::continueClock(); + MM::continueTransport(); } void GridsWrapper::setNoteOutputFunc(void (*fptr)(void *, uint8_t, MidiNoteGroup), void *context) diff --git a/OMX-27-firmware/src/modes/sequencer.cpp b/OMX-27-firmware/src/modes/sequencer.cpp index a2442386..04fe17fb 100644 --- a/OMX-27-firmware/src/modes/sequencer.cpp +++ b/OMX-27-firmware/src/modes/sequencer.cpp @@ -1,6 +1,7 @@ #include #include "sequencer.h" +#include "../globals.h" #include "../config.h" #include "../consts/consts.h" #include "../consts/colors.h" @@ -733,7 +734,9 @@ void allNotesOff() void allNotesOffPanic() { -#if T4 +#if BOARDTYPE == TEENSY4 + dac.setVoltage(0, false); +#elif BOARDTYPE == OMX2040 dac.setVoltage(0, false); #else analogWrite(CVPITCH_PIN, 0); @@ -775,8 +778,8 @@ void seqReset() sequencer.lastSeqPos[k] = sequencer.seqPos[k]; } } -// omxUtil.stopClocks(); -// omxUtil.startClocks(); + // omxUtil.stopClocks(); + // omxUtil.startClocks(); // MM::stopClock(); // MM::startClock(); sequencer.seqResetFlag = false; @@ -797,7 +800,9 @@ void seqStart() { omxUtil.resumeClocks(); // MM::continueClock(); -// } else if (sequencer.seqPos[sequencer.playingPattern]==0) { + // } else if (seqPos[sequencer.playingPattern]==0) { + // MM::startClock(); + // } else if (sequencer.seqPos[sequencer.playingPattern]==0) { } else { omxUtil.startClocks(); // MM::startClock(); diff --git a/OMX-27-firmware/src/modes/submodes/submode_potconfig.cpp b/OMX-27-firmware/src/modes/submodes/submode_potconfig.cpp index c70931bf..377d3aa1 100644 --- a/OMX-27-firmware/src/modes/submodes/submode_potconfig.cpp +++ b/OMX-27-firmware/src/modes/submodes/submode_potconfig.cpp @@ -1,3 +1,5 @@ + +#include "../../globals.h" #include "submode_potconfig.h" #include "../../hardware/omx_disp.h" #include "../../hardware/omx_leds.h" diff --git a/OMX-27-firmware/src/utils/cvNote_util.cpp b/OMX-27-firmware/src/utils/cvNote_util.cpp index 0d952c2c..4cea5588 100644 --- a/OMX-27-firmware/src/utils/cvNote_util.cpp +++ b/OMX-27-firmware/src/utils/cvNote_util.cpp @@ -186,18 +186,20 @@ void CVNoteUtil::setGate(bool high) // Serial.println("SetGate: " + String(high)); // Serial.println("notes Size: " + String(cvNotes_.size())); - + digitalWrite(CVGATE_PIN, high); } void CVNoteUtil::setPitch(uint8_t cvNoteNum) { cvPitch = static_cast(roundf(cvNoteNum * stepsPerSemitone)); // map (adjnote, 36, 91, 0, 4080); -#if T4 +#if BOARDTYPE == TEENSY4 dac.setVoltage(cvPitch, false); +#elif BOARDTYPE == OMX2040 + dac.setVoltage(cvPitch, false); #else analogWrite(CVPITCH_PIN, cvPitch); #endif } -CVNoteUtil cvNoteUtil; \ No newline at end of file +CVNoteUtil cvNoteUtil; diff --git a/OMX-27-firmware/src/utils/logic_util.h b/OMX-27-firmware/src/utils/logic_util.h index edbcf547..eba43199 100644 --- a/OMX-27-firmware/src/utils/logic_util.h +++ b/OMX-27-firmware/src/utils/logic_util.h @@ -1,8 +1,25 @@ #pragma once +#ifndef WRAP #define WRAP(a, b) ((b) + ((a) % (b))) % (b) +#endif + +#ifndef ARRAYLEN #define ARRAYLEN(x) (sizeof(x) / sizeof(x[0])) +#endif + +#ifndef SGN #define SGN(x) ((x) < 0 ? -1 : 1) +#endif + +#ifndef MIN #define MIN(a, b) ((a) < (b) ? (a) : (b)) +#endif + +#ifndef MAX #define MAX(a, b) ((a) > (b) ? (a) : (b)) +#endif + +#ifndef CLAMP #define CLAMP(a, min, max) (MAX(MIN(a, max), min)) +#endif diff --git a/OMX-27-firmware/src/utils/omx_util.cpp b/OMX-27-firmware/src/utils/omx_util.cpp index 82e22373..f64308d7 100644 --- a/OMX-27-firmware/src/utils/omx_util.cpp +++ b/OMX-27-firmware/src/utils/omx_util.cpp @@ -1,7 +1,8 @@ #include -#include "omx_util.h" +#include "../globals.h" #include "../consts/consts.h" +#include "omx_util.h" #include "../midi/midi.h" #include "../consts/colors.h" #include "../hardware/omx_leds.h" @@ -34,7 +35,7 @@ float OmxUtil::lerp(float a, float b, float t) void OmxUtil::advanceClock(OmxModeInterface *activeOmxMode, Micros advance) { - // advance is delta in Micros from previous loop update to this loop update. + // advance is delta in Micros from previous loop update to this loop update. // XXXXXXXXXXXXXXXXXXXXXXXX // Txxxxxxxxxxxxxxxxxxxxxxx - Quarter Note - 24 ticks @@ -55,7 +56,7 @@ void OmxUtil::advanceClock(OmxModeInterface *activeOmxMode, Micros advance) // in a while loop like this is // Maybe so if there is a long advance multiple clocks // will get fired to catch up? - // Keeping like this for now as it works. + // Keeping like this for now as it works. while (adv >= timeToNextClock) { adv -= timeToNextClock; @@ -79,10 +80,12 @@ void OmxUtil::advanceClock(OmxModeInterface *activeOmxMode, Micros advance) { // Should always send clock // This way external gear can update themselves + // MM::sendClock(); if (clockConfig.send_always) { MM::sendClock(); } + } if (activeOmxMode_ != nullptr) @@ -139,7 +142,7 @@ void OmxUtil::resetClocks() { // BPM tempo to step_delay calculation // 60000000 = 60 secs - clockConfig.ppqInterval = 60000000 / (PPQ * clockConfig.clockbpm); // ppq interval is in microseconds, 96 * 120 = 11520, 60000000 / 11520 = 52083 microsecond, * 0.001 = 5.208 milliseconds, + clockConfig.ppqInterval = 60000000 / (PPQ * clockConfig.clockbpm); // ppq interval is in microseconds, 96 * 120 = 11520, 60000000 / 11520 = 5208.3 microsecond, * 0.001 = 5.208 milliseconds, clockConfig.step_micros = clockConfig.ppqInterval * (PPQ / 4); // 16th note step in microseconds (quarter of quarter note) // 16th note step length in milliseconds @@ -158,21 +161,21 @@ void OmxUtil::startClocks() { sendClocks_ = true; clockConfig.send_always = true; - MM::startClock(); + MM::startTransport(); } void OmxUtil::resumeClocks() { sendClocks_ = true; clockConfig.send_always = true; - MM::continueClock(); + MM::continueTransport(); } void OmxUtil::stopClocks() { sendClocks_ = false; clockConfig.send_always = false; - MM::stopClock(); + MM::stopTransport(); } bool OmxUtil::areClocksRunning() @@ -187,7 +190,7 @@ bool OmxUtil::areClocksRunning() // midiSettings.pitchCV = static_cast(roundf((notenum - cvLowestNote) * stepsPerSemitone)); // map (adjnote, 36, 91, 0, 4080); // digitalWrite(CVGATE_PIN, HIGH); // // analogWrite(CVPITCH_PIN, midiSettings.pitchCV); -// #if T4 +// #if BOARDTYPE == TEENSY4 // dac.setVoltage(midiSettings.pitchCV, false); // #else // analogWrite(CVPITCH_PIN, midiSettings.pitchCV); @@ -555,8 +558,8 @@ void OmxUtil::onEncoderChangedEditParam(Encoder::Update *enc, MusicScales *music case GPARAM_POTS_LASTVAL: case GPARAM_POTS_LASTCC: { - Serial.println("Param not editable: "); - Serial.println(paramType); +// Serial.println("Param not editable: "); +// Serial.println(paramType); } break; } @@ -597,13 +600,13 @@ void OmxUtil::setupPageLegend(MusicScales *musicScale, uint8_t index, uint8_t pa break; case GPARAM_MIDI_LASTNOTE: { - omxDisp.legends[index] = "NOTE"; + omxDisp.legends[index] = "NOTE"; omxDisp.legendVals[index] = midiSettings.midiLastNote; } break; case GPARAM_MIDI_LASTVEL: { - omxDisp.legends[index] = "VEL"; + omxDisp.legends[index] = "VEL"; omxDisp.legendVals[index] = midiSettings.midiLastVel; } break; @@ -666,6 +669,18 @@ void OmxUtil::setupPageLegend(MusicScales *musicScale, uint8_t index, uint8_t pa omxDisp.legendText[index] = macromodes[midiMacroConfig.midiMacro]; } break; + case GPARAM_CLOCK_SOURCE: + { + omxDisp.legends[index] = "CLKS"; + omxDisp.legendText[index] = sequencer.clockSource ? "Int" : "Ext"; + } + break; + case GPARAM_CLOCK_SEND: + { + omxDisp.legends[index] = "SEND"; + omxDisp.legendText[index] = clockConfig.send_always ? "ON" : "OFF"; + } + break; case GPARAM_MACRO_CHAN: { omxDisp.legends[index] = "M-CH"; diff --git a/README.md b/README.md index a44c0d54..a0493d8e 100644 --- a/README.md +++ b/README.md @@ -1,62 +1,48 @@ -# OMX-27 +# OMX-27 version 3 ![Build Status](https://github.com/okyeron/OMX-27/actions/workflows/platformio-ci.yml/badge.svg) -Mechanical key switch midi keyboard and sequencer. Based on Teensy 3.2 and Cherry MX RGB key switches. +OMX-27 is a compact DIY hardware MIDI controller and sequencer with RGB LED backlit mechanical key switches. -Full kits and partial kits are [available for sale here](https://www.denki-oto.com/). - -Dimensions: 313mm x 65mm - -## Firmware +Version 3 of the hardware is based on the RP2040 microprocessor +Kits and specs are [available here](https://www.denki-oto.com/). -Kits are shipped with a blank Teensy. You will need to flash the firmware to the device. +Information and code for earlier heardware versions is included in the [Archive](Archive/ReadMe.md) directory. -### Load pre-compiled firmware w/ TyUpdater - -Download the correct OMX-27 firmware "hex" file from the [GitHub Releases page](https://github.com/okyeron/OMX-27/releases) page or the Firmware-Hexes directory in this repo. +Dimensions: 313mm x 65mm -NOTE - 2023 boards with Teensy 4.0 have a different firmware and will have a "T4" suffix. +## Firmware -Get TyTools [from GitHub here](https://github.com/Koromix/tytools/releases). More info here (https://koromix.dev/tytools). +Kits are shipped with the current firmware already flashed. -Copy TyUploader to your machine and open it. Be sure your OMX-27 is plugged in. It should show up in the TyUpdater application. +The OMX-27 firmware is Open Source and current uses PlatformIO (Arduino) -tyupdater +See [below](<#Firmware-Development>) to compile the firmware yourself. -Click the Upload button and select the firmware hex file you want to upload. This should upload the firmware and the OMX-27 should reboot. That's it. +## Build +[Build Guide]() -### Teensyduino (compile yourself) +## Docs -Install Teensyduino from the [PJRC website](https://www.pjrc.com/teensy/teensyduino.html). +[Documentation]() -In Teensyduino Library Manager - check to be sure these are installed and on the most recent versions. +## Web Configurator -__Libraries:__ -Adafruit_Keypad -Adafruit_NeoPixel -Adafruit_SSD1306 -Adafruit_GFX_Library -U8g2_for_Adafruit_GFX -Adafruit_FRAM_I2C -Adafruit_MCP4725 +[Online Configurator](https://okyeron.github.io/OMX-27/webconfig/index.html) -![image](https://github.com/okyeron/OMX-27/assets/19356109/c241a3f8-1e7d-416c-8437-411b19238e09) +## BOM +OMX-27 v3 comes with SMD parts pre-assembled. Some alternate thru-hole parts are listed in the [Bill of Materials]() for reference -Also check to be sure MIDI Library (by Francois Best / fortyseveneffects) is updated to 5.02 (I believe this is installed by default with Teensyduino) -Set the following for the Teensy under the Tools menu: -__Board: Teensy 3.2/3.1__ or __Board: Teensy 4.0__ -__USB Type: MIDI__ -__CPU Speed: 120 MHz (overclock)__ +## Firmware Development -Open the sketch at `OMX-27-firmware/OMX-27-firmware.ino`, click verify to ensure it all compiles and upload to flash the firmware to the hardware, pushing the button on the Teensy first. +Currently the firmware is best worked on with PlatformIO and VSCode. This may change in future. -### PlatformIO / VSCode (optional) +### PlatformIO / VSCode Ensure Homebrew in installed. [Instructions](https://brew.sh/) Install PlatformIO CLI tools. [Detailed Instructions](https://platformio.org/install/cli) @@ -69,19 +55,15 @@ brew install platformio git checkout https://github.com/okyeron/OMX-27.git # go to the project directory -cd OMX-27 +cd OMX-27-RP2040 # compile the project (this may take a while the first time) pio run -# upload to hardware (don't forget to push button on Teensy) +# upload to hardware (press reset and boot and release reset before boot) pio run -t upload -# use serial monitor for debugging -pio device monitor -# clear FRAM/EEPROM -pio run -t clear-storage ``` (optional) Install PlatformIO IDE VSCode extension. [Instructions](https://platformio.org/platformio-ide) @@ -90,38 +72,20 @@ Install EditorConfig extension for your text editor. [Instructions](https://edit Note: when making changes using the PlatformIO toolchain, please ensure the sketch still builds on Teensyduino before opening a PR. -## BOM - -[Bill of Materials]() - -## Build - -[Build Guide]() - -## Docs - -[Documentation]() - -## Web Configurator - -[Online Configurator](https://okyeron.github.io/OMX-27/webconfig/index.html) ## FAQ Q: What key switches are recommended? -A: Any RGB switches with a Cherry MX footprint can be used - I'm using Cherry MX RGB and these are linked in the [BOM](). Different varieties are available (Red, Brown, etc.) +A: The board uses a dual-footprint for either Cherry MX or Kailh Choc V1 switches. Q: Can I use other key switches? -A: Yes - as long as they have the same footprint as Cherry MX switches and a window/opening for the LED to shine through. Low profile keys like the Cherry Low Profile or Kailh Choc switches have a different footprint and will not work. +A: Yes - as long as they have the same footprint as Cherry MX or Kailh Choc V1 switches and a window/opening for the LED to shine through. NOTE - __Cherry Low Profile__ or__ Kailh Choc V2__ switches have a different footprint and will not work. -Q: What about recommended Keycaps? -A: Also listed in the [BOM](). You want an MX stem cap, with translucency or a window for the LED to shine through. DSA profile caps work well. +Q: What about recommended Keycaps if I want to customize? +A: Also listed in the [BOM](). It depends on which switches you use. You want a "shine thru" cap with a window for the LED. Q: Does this project require soldering? -A: Yes. Thru-hole soldering is required along with some easy SMD (LEDs and jacks). - -Q: What's with these LEDs? -A: This project uses SK6812-MINI-E reverse mount LEDs. They are somewhat hard to find, so I'll try to offer them included with kits. They are easy to solder, even if you've not done much SMD. +A: Yes. Thru-hole soldering is required (Pots and switches). Q: Can I get the Gerbers or order the pcbs myself? A: No. Not open source at this time. diff --git a/build/BOM.md b/build/BOM.md index e52ae2c6..65bf7fe2 100644 --- a/build/BOM.md +++ b/build/BOM.md @@ -1,76 +1,59 @@ -# OMX-27 BOM +# OMX-27 v3 BOM +OMX-27 v3 comes with SMD parts pre-assembled. Some alternate/replacement parts are listed here for reference | Mouser | QTY | Part | Value | Package | |-----|:--:|-----|-----|-----| -|[RC0805FR-1047RL](http://www.mouser.com/Search/ProductDetail.aspx?R=RC0805FR-1047RL)|2|R7 R8|47R|0805| -|[603-RC0805FR-0710KL](http://www.mouser.com/Search/ProductDetail.aspx?R=603-RC0805FR-0710KL)|2|R1 R2|10K|0805| -|[652-CR0805-FX2202ELF](http://www.mouser.com/Search/ProductDetail.aspx?R=652-CR0805-FX2202ELF)|2|R4 R6|22K|0805| -|[RC0805FR-1056KL](http://www.mouser.com/Search/ProductDetail.aspx?R=RC0805FR-1056KL)|2|R3 R5|56K|0805| -|[80-C0805C104J5RACLR](http://www.mouser.com/Search/ProductDetail.aspx?R=80-C0805C104J5RACLR)|28|C1-C29|100nF|0805| -|[710-885382207006](http://www.mouser.com/Search/ProductDetail.aspx?R=710-885382207006)|2|C30, C31|10nF|0805| -|[621-1N4148W-F](http://www.mouser.com/Search/ProductDetail.aspx?R=621-1N4148W-F)|27|D1-D27|1N4148 Diode|SOD-123| -|[SJ-3523-SMT-TR](http://www.mouser.com/Search/ProductDetail.aspx?R=SJ-3523-SMT-TR)|1|J1|SJ-3523-SMT-TR|3.5 mm jack stereo| -|[490-MJ-3523-SMT-TR](http://www.mouser.com/Search/ProductDetail.aspx?R=490-MJ-3523-SMT-TR)|2|J2,J3|MJ-3523-SMT|3.5 mm jack mono| -|[540-MX3A-L1NA](http://www.mouser.com/Search/ProductDetail.aspx?R=540-MX3A-L1NA)|27|K1-K27|CHERRY-MX|CHERRY-MX RGB Silent Red \*| -|[595-TLV9062IDR](http://www.mouser.com/Search/ProductDetail.aspx?R=595-TLV9062IDR)|1|U1|SOIC127P600X175-8N|TLV9062IDR| -|[AYZ0202AGRLC](http://www.mouser.com/Search/ProductDetail.aspx?R=AYZ0202AGRLC)|1|S1|DPDT Switch|SWITCH-DPDT-SMD-AYZ0202| -|[688-RK09K1130A5R](http://www.mouser.com/Search/ProductDetail.aspx?R=688-RK09K1130A5R)|5|VR1-VR4,VR6|10K|9MM_SNAP-IN_POT*| -|[652-PEC11R-4015F-S24](http://www.mouser.com/Search/ProductDetail.aspx?R=652-PEC11R-4015F-S24)|1|VR5|PEC11+SWITCH|Encoder with Switch| -| [aliexpress](https://www.aliexpress.com/item/4000475685852.html?spm=a2g0s.9042311.0.0.601b4c4dcyhOZn) / [ebay](https://www.ebay.com/itm/100-2000pcs-SK6812-MINI-E-LED-CHIP-SK6812-3228-4pin-dream-color-LEDS-DC5V/224140435419?hash=item342fcf9fdb:g:XbAAAOSwzkRd8g96)|27|LED1-LED27|SK6812MINIE|SK6812-MINI-E| -| [PJRC Store](https://www.pjrc.com/store/teensy32.html) |1| |TEENSY 3.2|| +|[688-RK09K1130A5R](http://www.mouser.com/Search/ProductDetail.aspx?R=688-RK09K1130A5R)|5|VR1-VR4,VR6|10K linear |9MM_SNAP-IN_POT*| +|[652-PEC11R-4015F-S24](http://www.mouser.com/Search/ProductDetail.aspx?R=652-PEC11R-4015F-S24)|1|VR5|PEC11 + SWITCH|Encoder with Switch| +|[540-MX3A-L1NA](http://www.mouser.com/Search/ProductDetail.aspx?R=540-MX3A-L1NA)|27|K1-K27|CHERRY-MX|CHERRY-MX RGB Silent Red \***| +| (alt) |27|K1-K27|Kailh Choc V1|Kailh Choc V1 Red \***| | |1| |OLED - 128x32 I2C display| \**See below| -| | | |header pins| \***See below| -\* POTS - I used trimmer type pots because they're a little more low profile. But you can use alpha pots or whatever you have around. +\* POTS - I used trimmer type pots because they're a little more low profile. But you can use alpha pots (10K linear) or whatever you have around. \** OLED - 128x32 I2C display (SSD1306) with pin order ( GND, VCC, SCL, SDA ) -example from eBay: -"0.91" 128x32 IIC I2C White OLED LCD Display DIY Module For Arduino" -https://www.ebay.com/itm/293660021494 +example search terms: "0.91" 128x32 IIC I2C White OLED LCD Display DIY Module For Arduino" -\*** Headers: -1X04 (oled) -1x14 x 2 (teensy) -1x01 (teensy dac pin) +--- +### Optional battery -TIP: Get 1x40 breakaway headers and cut what you need. +A lipo battery can be added. -[Mouser Cart (work in progress)](https://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=13c0107d30) - __DOES NOT include Teensy, OLED, LEDs or headers__ +[This battery from tinycircuits is recommended](https://tinycircuits.com/products/lithium-ion-polymer-battery-3-7v-290mah). Also available from [Mouser](https://www.mouser.com/ProductDetail/TinyCircuits/ASR00007) or [Digikey](https://www.digikey.com/en/products/detail/tinycircuits/ASR00007/7404517) -Mounting Hardware is NOT LISTED +The battery plug on the PCB is a JST SH connector (2 pin, 1.0 mm pitch) or you can solder the battery wires directly to the PCB. Please note the PCB markings for polarity. -Knobs are up to you. +A 3D printable battery box is also available. [Model link] --- -### \* Key switches: +### \*** Key switches: + +Cherry MX or Kailh Choc V1 switches can be used for the build. Denki-oto kits default to Cherry MX RGB Silent Red or Kailh Choc V1 Red switches and will have a different keyplate and spacer setup depending on the switch choice. + +Switches can be best obtained from various online keyboard shops like [mechanicalkeyboards.com](https://mechanicalkeyboards.com/). -Any of the Cherry MX RGB switches will work. Red/SilentRed/Blue/Brown/Black/SpeedSilver. -Red is linear (45g). Blue is clicky & tactile (50g). Brown is tactile (45g). Black is similar to Red but 60g actuation force. SpeedSilver (shorter key travel for gamers) are linear and __Expensive__( 45g) -Cherry MX RGB part numbers: +### Keycaps - Choc: -| name | part num | type | actuation | -|-----|----|-----|----| -|SilentRed |[MX3A-L1NA](https://www.mouser.com/ProductDetail/CHERRY/MX3A-L1NA/?qs=F5EMLAvA7IA6PAS7ry3I9w%3D%3D)| linear | (45g) | -|Red |MX1A-L1NA| linear | (45g) | -|SilentBlack |[MX3A-11NA](https://www.mouser.com/ProductDetail/CHERRY/MX3A-11NA/?qs=F5EMLAvA7ICizK1XKjfN9w%3D%3D)| linear | (60g) | -|Black |MX1A-11NA| linear | (60g) | -|Brown |[MX1A-G1NA](https://www.mouser.com/ProductDetail/540-MX1A-G1NA/)| tactile | (45g) | -|Blue |MX1A-E1NA| clicky & tactile | (50g) | -|Silver |[MX1A-51NA](https://www.mouser.com/ProductDetail/CHERRY/MX1A-51NA/?qs=F5EMLAvA7IB4ByA0zXdBkg%3D%3D)| linear | (45g) | +Choc Kits come with FK MBK "Dot Glow" keycaps. -Reference: https://www.mouser.com/pdfDocs/cherrykeyswitches.pdf +Nice blank Choc keycaps with shine-thru are hard to find. A translucent white MBK keycap made with POM material looks great with backlighting. Search online keyboard shops in your country for "MBK POM" +FK offers a [Custom Service](https://fkcaps.com/custom/) if you wanted to create your own. + +--- -### Keycaps: +### Keycaps - MX: Any MX-compatible keycaps will work, but you'll want one designed for backlighting, such as a "backlit two-shot", "translucent", "shine-through", or "windowed". I like the DSA profile caps for this application. -[DSA "Dolch" Keyset (Two Shot) "Windowed" Keys](https://pimpmykeyboard.com/dsa-dolch-keyset-two-shot/) (choose the __LED Kit__ option). -These come in a pack of 4 keycaps. You will need 7 packs (@ ~$70 total). +I have the DSA windowed keycaps in various colors available for sale in sets [on my shop](https://www.denki-oto.com/store/p62/OMX-27_Keycap_sets.html#/). + +Signature Plastics sells the keycap I use in a Light or Dark grey - [DSA "Dolch" Keyset (Two Shot) "Windowed" Keys](https://spkeyboards.com/products/dsa-dolch) (choose the __LED Keys__ option). +These come in a pack of 4 keycaps. You will need 7 packs (@ ~$60 total). [Flashquark Translucent DSA Keycaps](https://flashquark.com/product/translucent-dsa-keycaps/) (in Black, White, Clear, Blue, Red) - __50 per pack__. ($12.99-$15.99 per pack) @@ -79,6 +62,8 @@ These come in a pack of 4 keycaps. You will need 7 packs (@ ~$70 total). [Maxkeyboard Black Translucent MX Blank](https://www.maxkeyboard.com/black-translucent-cherry-mx-blank-keycap-set-for-esc-w-a-s-d-or-e-s-d-f-and-arrow-keys.html) (pack of 9). ($21 for 3 packs) +--- + ### Knobs So many opinions about knobs. @@ -88,9 +73,10 @@ https://www.thonk.co.uk/shop/tall-trimmer-toppers/ https://www.thonk.co.uk/shop/micro-knobs/ https://www.thonk.co.uk/shop/tall-trimmer-toppers/ +--- ### USB Cable: I recommend using a right angle extension cable [like this one from Amazon](https://www.amazon.com/gp/product/B015PSU5F6/) -Be sure you have a good, known working, USB DATA CABLE and not just a charging cable. +Be sure you have a good, known working, __USB DATA CABLE__ and not just a charging cable. diff --git a/build/Build-Kit.md b/build/Build-Kit.md index a3adb5a7..f3937b90 100644 --- a/build/Build-Kit.md +++ b/build/Build-Kit.md @@ -1,246 +1,123 @@ -# OMX-27 +# OMX-27 version 3 -Top -Bottom +### PLEASE READ THIS ENTIRE GUIDE FIRST -# Before you start +## Before you start -## READ THIS ENTIRE GUIDE FIRST +### Notes / Reminders -Also - see these __Build Videos:__ +- Kit PCBs have been flashed and tested. They should be fully functional. The microprocessor, LEDs, OLED, etc. are already assembled. Thru-hole soldering is required for the pots, encoder and switches. -[Part 1 - LEDs](https://youtu.be/UFm8Dfpjoz4) -[Part 2 - Teensy](https://youtu.be/W-rJqxFzsLw) (Not yet updated for Teensy 4.0) -[Part 3- Pots and Testing](https://youtu.be/rtUBW4xm9us) -[Part 4 - Switches and Assembly](https://youtu.be/jUWWuaacoz4) +- For the Cherry MX kit - the keyswitches are snapped into the keyplate first (before soldering them). -The key-switches are going to be the VERY LAST thing you solder. __After you solder the switches in, everything on the inside is going to be inaccessible.__ +- For the Choc kits - the keyplate fits over the switches and it can be attached later. -Ideally you want to be able to test all the LEDs, the OLED, and the pots/encoder before putting the switches on. - -I'd also suggest testing each switch connection with a piece of wire or tweezers so you can confirm the diodes/LEDs/caps are all soldered correctly. - -Follow the order of operations here to make your life easier. __NOTE - the keyswitches are absolutely the last thing you solder.__ Make sure everything else looks good before you do the switches. - -Also important - Keyswitches are snapped into the keyplate first (before soldering them). - -Don't forget to put the spacer layer in-between the main PCB and the keyplate before you solder all the switches. +- Don't forget to put the spacer layer(s) in-between the main PCB and the keyplate before you solder all the switches. ### Soldering Tips -I work with a fine point tip on my iron at 400C. With this setup I typically hold the iron on a pad for about 2 seconds and then apply a bit of solder and then hold the iron there for anything 2-3 seconds. You want to watch for the solder to flow around the joint, but not to hold the iron there forever. +I work with a fine point or chisel tip on my iron at 380C-400C. With this setup I typically hold the iron on a pad for about 2 seconds and then apply a bit of solder and then hold the iron there for anything 2-3 seconds. You want to watch for the solder to flow around the joint, but not to hold the iron there forever. See [Adafruit's guide to excellent soldering](https://learn.adafruit.com/adafruit-guide-excellent-soldering) for lots of good tips and tricks. -Nice to have tools: - - flush diagonal cutters - - tweezers - - ---- - -# Build from Kit - -### LEDs - -The LEDs are __Reverse Mount__ and are soldered to the back-side of the PCB with the LED facing towards the top of the PCB. When looking at the back of the PCB as in the picture, the GND leg is the top right pad for each one (marked with a red triangle in the picture below). The LED itself has a "notched" leg for GND. - -![led board locations](buildpix/OMX-27-build-leds.png) - -Set each LED into position (tweezers are handy for this) and __then double check the ground pin is in the right position__. - -LEDs -LEDs -LEDs - -Solder/tack the bottom right corner pad of each LED to hold each one in place. Then check the orientation of each LED to be sure they're nice and square in the hole. If not, warm up the solder there and reposition as needed. - -After you're happy with the LEDs being in the proper positions - solder the rest of the pads. - -### TEENSY - -For the keyplate to fit properly, the Teensy MUST be flush-mounted to the top of the main PCB. - -(Teensy 3.2 and PCB v1.5 only) An insulating kapton spacer is included with your kit . Use this between the bottom of the teensy and the main PCB to reduce the chances of unintended shorts. - -See below for Teensy 4.0 instructions (2023 v2.0 boards). - -__Teensy 3.2 jig__ - -Use the included acrylic jig to set up your Teensy like the following for soldering. - -Short side of the headers goes down to the jig and the long side up. - -![teensy 3.2 jig](buildpix/teensy_jig_1.jpg) - -Add a 1x3 and 1x1 in the appropriate places. The 1x1 directly next to the 1x3 is not connected to anything so you can solder that or not (your choice). - -![teensy 3.2 jig](buildpix/teensy_jig_2.jpg) -![teensy 3.2 jig](buildpix/teensy_jig_3.jpg) - -Add the two spacers (maybe even tape those two together so they don't wiggle around. - -![teensy 3.2 jig](buildpix/teensy_jig_4.jpg) - -Drop the Teensy into place. There should just be a small amount of header sticking up from the Teensy at this point. - -![teensy 3.2 jig](buildpix/teensy_jig_5.jpg) - -DON'T SOLDER A HEADER TO THE VUSB PIN - it's not used. This is the 1x1 pin/hole right next to the USB jack on the Teensy (on the inside row). - -__Teensy 4.0 jig__ - -The Teensy 4.0 version (board v2.0) only uses the 2 outer rows of pins. (4 less pins to solder!) - -Note the plastic parts of the jig have an etched out area - this is to allow space for the components on the underside of the Teensy 4.0. - -![teensy 4 jig](buildpix/T4-jig.jpg) -![teensy 4 jig](buildpix/T4-jig2.jpg) - -__Soldering__ - -Solder the pins to the Teensy first. -Then remove the jig and carefully remove the black plastic from the headers. __Hold onto the black spacers for the next step.__ -After you've removed the plastic, slide the thin yellow kapton spacer thingy onto the bottom of the teensy - this should end up between the teensy and the main board as an insulator. Then drop the Teensy onto the main board so it sits nice and flat. +# Build Video -![teensy flush](buildpix/teensy-flush.jpg) +[Build/assembly](https://youtu.be/jUWWuaacoz4) -To keep the pins from wiggling around while soldering the bottom, either - - * Put a big piece of tape over the whole teensy to keep it in place and to keep the pins from getting pushed out - - * Or push the black plastic bits from the headers onto the pins to hold them in place while soldering - - * Or both - -![teensy reverse](buildpix/teensy-reverse.jpg) - -Flip the board over and solder the pins to the bottom. Try to tack/solder one pin on either side in place while pushing your finger against the teensy to make sure it's absolutely flat against the main pcb. - -Once you're happy with the flatness - solder the rest of the pins. Be careful not to push down on the pins while soldering. - -Using flush cutters, trim the pins away. Be careful not to nick/scratch the pcb. - -![teensy soldered](buildpix/teensy-soldered.jpg) - -### OLED - -The OLED display sits on a regular header (not flush like the Teensy) the display should be close to level with the keyplate (the OLED glass will be about 0.5-1mm higher than the keyplate). - -__TIP:__ I suggest using a section of the header plastic you removed from the Teensy headers as a spacer to hold up the other side of the OLED PCB. Glue or tape a 1x4 chunk of the header plastic to the back of the OLED pcb and this will keep it level and support it while you solder (and after). +--- -![oled plastic header](buildpix/oled-plastic.jpg) -![oled soldered](buildpix/oled-soldered.jpg) +# Kit Build Instructions -Trim the headers on the top side of the OLED if you're worried about something shorting there. +The microprocessor, LEDs, OLED, etc. are already assembled. Thru-hole soldering is required for the pots, encoder and switches. -### JACKS, POTS, ENCODER, ETC. +## POTS AND ENCODER Snap pots and encoders into place and solder. You may need to gently squeeze the snap-in mounting pins together a tiny bit to get the pots to snap into place. +Note - You don't need loads of solder on the lugs - just enough to keep them in place. + ![pots soldered](buildpix/pots-soldered.jpg) --- -# __STOP HERE AND TEST THINGS__ - -At this point you can flash the firmware and do some testing. - -See the instructions here (loading a HEX file) - https://llllllll.co/t/how-to-flash-the-firmware-on-a-teensy-micro-controller/20317 if you don't know how to flash firmware to a Teensy. - -The OLED should display something as soon as you plug into USB power. - -### LED test - -On startup all the LEDs should show a rainbow pattern. - -If your LEDs work up to a certain point (e.g. LEDs 1-7 work, LED 8-27 don't): - -- The problem is most likely a bad soldering joint on the erroneous LED itself, or on the LED that is RIGHT BEFORE this LED in the chain (in the above example, check LED 7 and 8). Carefully re-solder all connections again to fix the problem (melt the existing solder again, maybe apply some more, make sure it flows nicely between LED and PCB pad) +## STOP HERE AND TEST -- Check that the orientation of the LED is correct (see pictures above) +At this point you can do a quick test. -![startup leds](buildpix/startup-leds.jpg) +Plug into USB power and the OLED should display the startup routine. Then the LEDs will light up in a "rainbow" pattern and the main screen will show on the display. Turn the encoder to the right to get to the second page and you can test each of the pots - which should show the CC number and value on the display. -### Switch contact test - AKA "the tweezer test" +If you get random values for the CCs, you may need to check and reflow the solder on the potentiometer pins. -You will want to test the pads for each keyswitch on the PCB using tweezers or a piece of wire (a piece of wire will work much better than tweezers!). This is also a second check that the LED for that switch is working correctly. +If the display does not light up or you don't see LEDs light up when you connect to USB power, double check the Power Switch on the right edge of the device. The "On" position is towards the USB port. -![switch-test](buildpix/switch-test.jpg) +--- -When you test the AUX key (top left-most key) - this will light up a total of 15 LEDs on the board. This is normal. +# Continue building -![switch test aux](buildpix/switch-test-aux.jpg) +## Case Parts -If the LEDs do not light up for each switch contact, check the LEDs again first. A good test is to remove power and re-plug to see if the rainbow LED pattern shows on startup. If all the LEDs are working OK examine the diode adjacent to that switch position and be sure the soldering looks OK. +__Carefully__ remove the paper backing from the acrylic base plate and set it aside. -Note - There are groups of Rows and Columns for sets of switches. If you get a group lighting up, it may be a corresponding pin on the Teensy for that row or column. Ask on Discord if you're stuck here. +If the brown paper backing material does not come off easily, you can often rub your finger along the surface to get the paper backing to "roll up" a bit +Cherry MX kits have __two__ foam spacer layers. The Choc kit has __one__ foam spacer layer. -### MIDI test +For the Cherry MX kit, you will need the PCB "keyplate" for the next step. For the Choc kit, set the keyplate aside until later. -Use the [browser_test](../browser_test/index.html) script to show USB-MIDI input to your computer. Then you can check to be sure the pots are sending CCs and that you get MIDI note-ons/note-offs when you test each keyswitch's pads. Be sure you have the `oct` (octave) set to 4 on the display (change with encoder knob). -Also test the Hardware MIDI 1/8" jack with an appropriate adapter and synth. Check the A/B switch position for your particular setup (try both to be sure you have the right one). +## Key Switch Prep (MX Kit) ---- +Check the orientation of the switches. The pins go towards the bottom-half and the LED window is at the top. -# Continue building +Snap all the key-switches into the keyplate (from the top - keyplate top has text labels for the MIDI anc CV jacks). -### Acrylic Case Parts +The switches may be a tight fit in the keyplate. Be sure they are snapped all the way into place. -__Carefully__ remove the paper backing from the acrylic parts - the spacer and the back plate. Then set these aside for the next step. +Set the two black foam spacer layers on the main PCB and align it around the various components. Then set the keyplate with switches into place to be sure all the pins line up and everything is nice and flat. -The spacer layer is pretty fragile - try not to break it. However, even if it does break, it might be fine since this sits in-between the other layers. +Inspect from the bottom that you have 2 pins sticking out for each switch. You may need to gently bend key-switch pins into place if they got slightly bent in transport. +Use the three of included case screws/nuts to fix everything together for soldering. I suggest using the holes down the middle of the case. This will ensure the key switches are held in place for soldering and that everything will remain flat. -### Key Switches +## Key Switch Prep (Choc Kit) Check the orientation of the switches. The pins go towards the bottom-half and the LED window at the top. -![keyswitch single](buildpix/keyswitch-single.jpg) - -Snap all the key-switches into the keyplate (from the top). +Insert all the key-switches into the PCB. -![keyswitchs front](buildpix/keyswitch-front.jpg) +## Switch Soldering -The switches may be a tight fit. Be sure they are snapped all the way into place. +I suggest going thru and tack-soldering one pin for each switch (just enough solder to hold it in place). Then for each switch - use your not-soldering-iron hand to fully press each switch with your thumb on the bottom side, and re-heat the tacked solder joint. In some cases the swtich might not have been fully inserted and it will snap into place when you do this. -Set the black acrylic spacer layer on the main PCB and align it around the various components. Then set the keyplate with switches into place to be sure all the pins line up and everything is nice and flat. You may need to gently bend key-switch pins into place if they got slightly bent in transport. +After all the switches look nice, make another pass and solder the other pin for each switch. Make a third pass and add a touch of solder if needed to the pins you tacked in place earlier. -![acrylic-spacer](buildpix/acrylic-spacer.jpg) -![keyswitches assemble](buildpix/keyswitches-assemble-1.jpg) -Use the included case screws/nuts to fix everything together for soldering. I suggest using the holes down the middle of the case. This will ensure the key switches are held in place for soldering and that everything will remain flat. +## Assembly -![keyswitches assemble](buildpix/keyswitches-assemble-2.jpg) - -Solder all the switches. - -### Bottom Plate - -Then remove the screws/nuts and then reassemble with the bottom plate. +Remove the screws/nuts if you used them earlier and then reassemble with the bottom plate. The nuts fit into the captive cutouts on the bottom plate. +There are three longer screws which are used for the USB protector. + ![bottom plate](buildpix/bottom-plate-nocover.jpg) ![top plate](buildpix/top-plate-nocover.jpg) -### Teensy Cover +### USB Protector/Cover -Add the teensy cover plate with the two remaining screws/nuts. +Add the cover plate with the three remaining (longer) screws/nuts. ![top plate cover](buildpix/top-plate-cover.jpg) -### Pot Knobs +### Knobs -Push the knobs onto the pots, make sure the marking on the knob aligns with the marking on the pot. +Push the knobs onto the pots, make sure the marking on the knob aligns with the marking on the pot. Be carefull not to press the knobs on too hard if you want to change them later. They can be difficult to remove if pressed on too hard. ![pots closeup](buildpix/pots-closeup.jpg) @@ -249,3 +126,14 @@ Push the knobs onto the pots, make sure the marking on the knob aligns with the Then install the keycaps with the window on the top for the LEDs. ![keycap-install](buildpix/keycap-install.jpg) + + + + + +## MIDI test + +You can use the [browser_test](../browser_test/index.html) script to show USB-MIDI input to your computer. Then you can check to be sure the pots are sending CCs and that you get MIDI note-ons/note-offs when you test each keyswitch's pads. Be sure you have the `oct` (octave) set to 4 on the display (change with encoder knob). + +Also test the Hardware MIDI OUT 1/8" jack (with an appropriate adapter if needed) and a synth of your choice. Check the MIDI A/B switch position for your particular setup (try both to be sure you have the right one). + diff --git a/platformio.ini b/platformio.ini index 9b8944a4..367aeb58 100644 --- a/platformio.ini +++ b/platformio.ini @@ -10,33 +10,32 @@ [platformio] src_dir = OMX-27-firmware +include_dir = -[env] + +[env:pico] +platform = https://github.com/maxgerhardt/platform-raspberrypi.git +board = pico framework = arduino -upload_protocol = teensy-cli +board_build.core = earlephilhower +board_build.filesystem_size = 1m +build_flags = + -DUSE_TINYUSB monitor_speed = 115200 -lib_deps = + +lib_deps = + adafruit/Adafruit TinyUSB Library@^3.3.4 + fortyseveneffects/MIDI Library @ ^5.0.2 adafruit/Adafruit BusIO @ ^1.9.3 adafruit/Adafruit FRAM I2C @ ^2.0.0 adafruit/Adafruit Keypad @ ^1.3.0 - adafruit/Adafruit NeoPixel @ ^1.9.0 + adafruit/Adafruit NeoPixel @ ^1.12.3 adafruit/Adafruit SSD1306 @ ^2.4.6 adafruit/Adafruit GFX Library @ ^1.10.12 olikraus/U8g2_for_Adafruit_GFX @ ^1.8.0 adafruit/Adafruit MCP4725@^2.0.0 - + dxinteractive/ResponsiveAnalogRead @ ^1.2.1 + stechio/Analog-Digital Multiplexers@^3.0.0 + pfeerick/elapsedMillis@^1.0.6 + extra_scripts = clear_storage/register_storage_target.py - -[env:teensy40] -platform = teensy -board = teensy40 -build_flags = -D USB_MIDI_SERIAL - -[env:teensy31] -platform = teensy -board = teensy31 -; build_flags = -D USB_MIDI_SERIAL -D TEENSY_OPT_FAST_LTO -build_flags = -D USB_MIDI_SERIAL -D TEENSY_OPT_SMALLEST_CODE_LTO -; build_flags = -D USB_MIDI_SERIAL -D TEENSY_OPT_DEBUG_LTO - - From 898f6a7bd93ea3b7a0c57f4a446397cf9d299211 Mon Sep 17 00:00:00 2001 From: Steven Noreyko <1909661+okyeron@users.noreply.github.com> Date: Sat, 1 Nov 2025 17:24:46 -0500 Subject: [PATCH 2/9] fix platformio.ini --- .DS_Store | Bin 14340 -> 14340 bytes README.md | 7 ++++--- platformio.ini | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.DS_Store b/.DS_Store index 62c816d8096f0c8eee533e77b35bd3a937899351..98ba0b21b92123fe79a564aeb414065a630956d5 100644 GIT binary patch delta 14 VcmZoEXeroWFT}{O*+J-tDgY=31la%p delta 14 VcmZoEXeroWFT}{W*+J-tDgY=91lj-q diff --git a/README.md b/README.md index a0493d8e..e80f54c9 100644 --- a/README.md +++ b/README.md @@ -62,15 +62,16 @@ pio run # upload to hardware (press reset and boot and release reset before boot) pio run -t upload - - ``` (optional) Install PlatformIO IDE VSCode extension. [Instructions](https://platformio.org/platformio-ide) Install EditorConfig extension for your text editor. [Instructions](https://editorconfig.org/) -Note: when making changes using the PlatformIO toolchain, please ensure the sketch still builds on Teensyduino before opening a PR. +To open the project in VSCode : +- open a new window +- select the PlatformIO icon from the Primary Side Bar (left toolbar) +- use the "Pick a folder" button to select the OMX-27 folder you created above ## FAQ diff --git a/platformio.ini b/platformio.ini index 367aeb58..98a0a8ec 100644 --- a/platformio.ini +++ b/platformio.ini @@ -38,4 +38,4 @@ lib_deps = stechio/Analog-Digital Multiplexers@^3.0.0 pfeerick/elapsedMillis@^1.0.6 -extra_scripts = clear_storage/register_storage_target.py +; extra_scripts = clear_storage/register_storage_target.py From 2051400da4c3745f8750dc9b7048e1aa48dbb070 Mon Sep 17 00:00:00 2001 From: Steven Noreyko <1909661+okyeron@users.noreply.github.com> Date: Mon, 3 Nov 2025 11:47:58 -0600 Subject: [PATCH 3/9] Picture updates and battery page --- .DS_Store | Bin 14340 -> 14340 bytes Battery-box/battery.md | 17 +++++++++++++++++ Battery-box/box-L.png | Bin 0 -> 145379 bytes Battery-box/box-rect.png | Bin 0 -> 125459 bytes Battery-box/box_inside.png | Bin 0 -> 132364 bytes Battery-box/omx-27_battery_box_1a.stl | Bin 0 -> 939084 bytes Battery-box/omx-27_battery_box_1b.stl | Bin 0 -> 1266084 bytes images/808caps.png | Bin 0 -> 735310 bytes images/DSC06421.png | Bin 0 -> 814227 bytes images/DSC06422.jpg | Bin 0 -> 390390 bytes images/DSC06424.jpg | Bin 0 -> 570282 bytes images/DSC06427.jpg | Bin 0 -> 430555 bytes images/DSC06429.jpg | Bin 0 -> 569315 bytes images/DSC06433.png | Bin 0 -> 687453 bytes images/boot-reset.png | Bin 0 -> 1154031 bytes 15 files changed, 17 insertions(+) create mode 100644 Battery-box/battery.md create mode 100644 Battery-box/box-L.png create mode 100644 Battery-box/box-rect.png create mode 100644 Battery-box/box_inside.png create mode 100644 Battery-box/omx-27_battery_box_1a.stl create mode 100644 Battery-box/omx-27_battery_box_1b.stl create mode 100644 images/808caps.png create mode 100644 images/DSC06421.png create mode 100644 images/DSC06422.jpg create mode 100644 images/DSC06424.jpg create mode 100644 images/DSC06427.jpg create mode 100644 images/DSC06429.jpg create mode 100644 images/DSC06433.png create mode 100644 images/boot-reset.png diff --git a/.DS_Store b/.DS_Store index 98ba0b21b92123fe79a564aeb414065a630956d5..5362a3e03e86e0ff62b97eac7b27ffb41f9cae75 100644 GIT binary patch delta 1349 zcmaKrTWl0n7{|Z=wB0>3EHJz6me$GArQ6lIv~(@Sinh>gD^*+U0$X|kmD$cv24^qs zEWMy)U%(h7-X>_gykZ0s65VJp;lW$b2ScK%5e@pn3&zC6XhMvMdS<5>4XrcDocYfA z&Uen4-*1lRkLO<)MbnGPy?}kdAA0B0p|$YYKKWc#_m;T*fqXb>TC)RbGnXc+3a0a> zVHM-?D-f!xYdl^iN~@H;ueHm8F1GXa8K^P?|C{JzF#m8hSyLFN>+Hn$Z{K`gIMBw<*floS_vDO{&(kp4E)( z%=oNf8EI3WIFdG=IARnR2^qh0C{WlKywZe*9{c1m4L*2FPWP3xvxu3Os5V8S zzcdF!&L`N}q$rcl+=Qm-8b4`6{W@9Mt)%Q@b&Wz_%uYtarABI|F6yBqO_D})bc#;X z%XEg$)BALhF433t6)n=&^c`KJAL&>61J&@r3kE*|s6!CV*oZc?V=MYGfcvon!$@Ha zAB7*60hJdc-P;|-iC;Z3}Sv$%kd@G(BYWqgAx_!d9mH~fje z1QJ9+5`4mHAuMbVVnT-yr^+S3ZE0$$U222`fANq(8B%G6bh5a2dDlB3e~WjHc%dCb z(u22%w=LjvO!Eh7>w@bet?iw6-`8iiMMq1nTvBL^W7g+aa!mF*K-r>`-4vEWat#;3 z4O^l-^l%B>@XlB$Bnw6Ijzxc6?D z=;xIjV;GD4FW$5CE?uAx=?jkc2M+c+-2ic{KGb79!ib;+QEWmSo!E>n^kO>_6}%&O z7)k8HZtUZ5AHxBt9IlBBvY6wDpR6E$8qeS)p2ew7oW?776|doShc?dPZI{zO_#XN% zK3pu<`r81M`vPki0%c$Lnzyuy`Z>)azjZ3m0<}|`ax|}5(`GuCGaVIHNHJ&b+QWaU z{J&ONAv2R39CS4yR`dO(8z=XF=BVUkCze?|lham8UnaYJ^$st}zt`^al)drm-r%x( F_#16KI643T delta 75 zcmZoEXepTB&nPi5AdHb=GNY#K#v|_hj9im>1XeK{8JbSsDUh}KftU;](box_inside.png "box_inside") + +[Rectangular box](omx-27_battery_box_1a.stl) +![<# alt text #>](box-rect.png "box-rect") + +[L-shaped box](omx-27_battery_box_1b.stl) +![<# alt text #>](box-L.png "box-L") diff --git a/Battery-box/box-L.png b/Battery-box/box-L.png new file mode 100644 index 0000000000000000000000000000000000000000..334ac65964509ef004da43ea7d8f5da31d86be76 GIT binary patch literal 145379 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 =+F5*5 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 literal 0 HcmV?d00001 diff --git a/Battery-box/box-rect.png b/Battery-box/box-rect.png new file mode 100644 index 0000000000000000000000000000000000000000..f79d01baea2945511c1d773ae20fb5e7b6a90838 GIT binary patch literal 125459 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≫;4q#09)7Q~ zv_qa9b*(;l{> zSpze~%9@l|<|$7pPMOu%)n9N0jn#*^OpnprMYKzTOzt`e1teu&pgAr>4RDW$y_8_? zuK5C+R8?)Hvko2;5n)>cQa=l|dosvPWl&AQy+i5ns@kv0pf1Rc_g~^bO+=tR7+vh> z;(>{rytg4~PnOjl;YzDeLwXtQq9>zi625lnM4-ckM|%*%4-A8gypi9dDMPN?Z6P~8 z8#wp6#=Ry~GWL1v|5$Ybtex^ZJCL$OUivkzi?~LVZ!n2QQq~JMN#wD1RMaZYEVwx0 zu&kAwg>4iGnz$s6;vR(^*}Hx}GX4z73dx1M*UTc4l6Y+s7V})LRk!(e`Zl}{Or$!8 z!aZMBJ=3uU8dUbBj&uCp_8{+O@)$2~MF`FQnZ8qQJVz)XcQjw47HM@5c~C@AcA51- zunRb^GtJDx`rMNzn#>$P^MiG&c!gD8@oVPQU*^v(PpFfb6&i`CxLe$5>K+w-2_HPD!t)uPb zdPjc{Q*)4Y)wXv)n;+82s|V|9aME=nH){h6_Rk<19XkcvEAY>E0Fs8kCbkD*f-+A8 zR&J?l5Z(VGkSPhxwQW8}IwbcH$RWpuV0)8ko>?{ia{}@uM%#h&8Z3c=R&W}4Wm)jb zRiH4Y2&qEh^cA4gqhl?h^*H48>kBY~&~4gZbFln6{llU9q|#;H3JkOa3UCgP3tiBc z$H3EyP>X|EyB>G&lV@3&ev%3;Y;RY;Pr3gq6njL>iuWI=+c0!_yCHYe2zpu$%Q8Xo zhozayp$|6dbVx^+ON)-%Nm87&yDcZKJ}_cn$kjV9Ozlq>`)h{abdrf$nxxBzpG)#d zyfR=us|K$OfJ>QeNe>o)Ft6#*n|&YdYF{7f4z)G51oeb#1ttU`NGtID1A>Fb0b%y~ z3jYP!PL1lb$1C`_v0%G%!J~APEhb)B5ZC!No@u)5jE{*!PvF;sFAS=a&1#3^Ou}>B z_<+$+sgU=X(p-#XdgP`{3s)k`libgKf=kpJ+k`@zf4#%d=7hD>raft z!@PTp@w^E6NU>zMM*3E(R{8_JsCCl$G*PS8*Z|Ixu64DNT7K3@h@ecUq7^gC>=N$2<4c*#tTls-{e#R z6{r=nTfkx$3J~Y{88qKw?j1iJB!WYds2(032=$s6<<;|XHv-`BY3k3H{=utHDi4rS zu>ciy5}w11K==*f$9jEm$xL!a-*qFv;Z>Oh991x?A(R$;8J>uk9^A)hhT(!KW7P$~ zLVxZLv-zTK^V49C>GC4_8KCLEErhX{EF8g%Ag-UF zD!LyY=J^tt2(TWS2yit7-Xx;S`VXz&@H&(3whH&$khR1S$}`(gSj&XD%|8LTxbw*e z@l%%>m_BVfa2?WdK0rSbnquN~`S0-t647wJ%{{U4w7osApn-Os4+TcMs+B8zeyXYM z*<&Wig9^VwbdmY+=zV97W7DhZO{n`cFsb^v2Ow#ppahYJ6hs~vf=f^7=U~*ri5N1x zq>~^m$|_bC0LR*|U?gd>#`#q)L`8qS2k=#m=w_wgUA$L)Wm^bKcdxYSPy~tR}Q(j{jMEn8GbiTSX z3Pz0v@MNb!YV%9l>I#GVxsJ{b4a@y92y#MTvTY$hggapCAVfmwiJ|FrUa@NOJb3?$ z-fdUkYle47`){z}0|DMi&0G(;;SX@U`W9foVDD#q8b<(fm3wd(CRn&fqbN zTuL}Y;mQARwam%!eD%)~cBTtn!pG)xX=8#w01B`fEO~DeYi2tHc3&I~?#o|VD9z5% zwg`gf&){{M%exV1x>vl}>p=9&VsFjJl-+-JKh*NKB2Z?qd`Rg!+$~xl@oBw zFSJPJvU`u#F-?+HGIl`XZzddv=Rt9BoR4G+@_m^srh~k(q6O_giuu^5M?rce;CQ#e z@or%bga9{umRHH34!?B z-L#OJHNqOA&9TI9`!$~iO$~P{?C!)XaDlem6w*^ zAAVr;;Pcuvr7?lN8WeX^#vBkA+IJeS{k$B6G>d~f5e-93QVn8~;9)xM9&(2ywl9!a z1Y5)eeH}ftgVH~_^vF}i%E-!6sE(HdovuyxzEd^5Bpq}x&gAD^zr40Kivn4zCtE&$ zP99Y7z5eMFjX)6n=U0=3U39(P_6f*_eSG?UHB}#l0b&s)HwFrSE}2*+k6xQ|b=A>* z_`Krcp{Z$&GAZNDD*2AG2X*tE+cOOKHR8#OhfLS5u4m@}VmQ`+e+cbno%>)^>4GA- z<9)KV@%!&b=MwE*TpGXVT&w9=Se5(q7~Xd2mhF;Noo#%lHplEXBEH4*z7l zXG2b$+LcU`bRo*&ZppP}Zi75j8vZcz!&WSTf3g0+YV6wbav~6p%-KCWFP>M7K=r3%`yEaNj7V zK`Khkuu%NJ#qfbuLR^QxGwwz^U@0A&a2A%`nU+N^B}jpp65f}?QWg%I4liY))?}rK zP65~3Wiia>HFu1!uHw;Pn3QFv1S~%DoB3|+(0)ATh~)*EtVAL^T9^mf)wLD7qTugE zJ7h7M`;HuL;n!Cxa#mAQJ71c4_{b4ahIC5~XGjpT&=q8%>*y(X322)+a%#SOYs;?_ z`=4Br^YrnFUX4q$jQP&K5_Hx*p0l+%K`e+6K#W+6$HxRq|6hG+>0^173zome{vrHJycR5Pf}G zLNvfn>0B|D*0mGf1u>YO{&2Q>9?P})&0RfB8XLXq(~)a%xLduNySiY==P@Y=h+6(? zfc{oSFm9~?PR+`>Df{$&^BCoBKXd(|Oj&e;c~O2o883<#(+SU=)tx!MDP zMEkAA8+TuY7i0w;7VQ}qmmGS(v(rO(MF!TPN+~8=GBJiq1&&;OT5S*M9!B*$UhplK zQsYz%WvG|mkoIhGb-qk&E|KI|;P^19OIdi+MOO%}Pvs0sv7xLE6PM;kQu>2GgsTv3 z*Knc;wcj)HUZU{L0f^N4k&!Le{P+>w{q7wq;6a80Nt5PsBj540sA2&5Yt2L9zni4u z(8sB?h^#dI>cw^WGK^-`VC+FrJ8I3>uV=E#{ih?m3CC*?A;OZT!K5!ke%$ zmBUo&oEP(Cq4n}xq{bp@LRXq$;wZ^Yc$2Mn4Wpb_P~h~Ud*?5MC=;0|HRTlwLfpl% z)$9B4Wg*!MZ-y^;LaDq<`P#>#pqq$x>X6`U3H#W0 zQ(4&J1tEyzm`fXIQ@DP?pcXAzuMt4N#V^cl{Nhk1SnmCmUm=U3r3*M@XB=R`aojFiqleV|P8Uc~eEn9k3-h5Ljz zEZ+bzmCPo%=eRk}JDA3^ze$3PK2T`%=+UEZkfY|nNzA_OH39LZzU0RS1(;uYUP{WbvuJq5_nm?@1)|y*TN8 zF3!$LS&XczG47C15QH_Fa1W^G7dgPNJSN8O$ne;;LA9KiUSb_{SCoYBYd=$$aRtpS zp3gJw7}G~_XpdD(bJG3q3W%vSY)7D%ZzSJ2hAq_o8i#X|{`}mNG*Pgg@pvNM6+Lv3 z0RK9f`L7i>sLl}WPk7h+&Ck^D^__b2cK9b|4-Nfb;dtBKD+zavf-iJ?7#$%-scl^; zUTDq(R2q+Y(}{MKgX_~8JZzpo&tRS@UQtD5or{?sC6uY?y<*6nw0tapJK4azlOxET z{Bc*tqlu(jw4791&A*?|LgnH*o<`ORrU`LTX`3xDc8-qS8AQ^{uU};+C>&^irp>Y< z2NL_me98q`IrPO5Srrdk#UsTi_8dz#$6?AhBjxyecz2eY-!nQO2cVVMVQ8;f(t{Ll&u@a5L38hTc_1>w2xWkN;4gSX;z?*DQ$M_w&gD{R1Cd^f z^Cfdo9(HKY=oNh>l6D29VRxb75QTOIy>$2qt!L88KLup%(F$36A#eNSl8p)nPVM~O zcfmdCoDixs^+czHIa#OSR`{u*E7O*tk_MUM7h{FFcC8OY2PCP3k3H!sb0* znAwuMY9y85wTaKWx|BLCSji5ppQf$5-CZ>=kiU{w9w%Db>p2|gPjBa>t&CiKbc1-B zKK)tsL~w##2rD!)Ffi!rq7lWi#+hazbv2mP z&COnDHdL%JqN*W6Yd2Zp^B$HD9WD3jgM9ABfk@PY#QAsFyAdY6sUAjmL!}Q=XtHQP zI|geJE5C=q>WTJA4#etrJ#oig`Pkqhsz z7LS%YWfrzY`D;H4jrQY3lQT`K?@Ht!ER!s|$vUt!yzuxF^5@pv7>c`5EjOHL zIP*-OGtcx{chS3n0iCP}6MPyMx@+gHeQQ=4y9WR{99|s}zA#m1Fr{LM;5LCRgsqIj z*4AqSX2{oQwBN9>Q~=KyIv73wh;Zv4^Hns zCmh)YB{(upTz7Z(x9{H-IB<50r~<@(Yk1NcHtt_T$bZ?EEkombe1eaA`TgJ-+`nx| zvZ0wCfZPVrG%&Ug+S}URefxH__-Oryq}{(^fjgMQ7FL`VtUb>>xlhcKyL$Di!f7kF zvP_K5Os=M=_ECW-b1esTw6&q(c5v})R*3yqE^zTI{{lBI{1tOt;ya58ibI;Sscr9S zvhw0ThjeLNbmh0$w7oHB--1!990Nbd z_k4xl*xIbcj1dZrfb8=EH#av2PGHfzzZo1b^(ZK?&$W*i;D%(GH)M_6P)($U`uU}~ z5Ao$Bk~#K{hmmObcL7|!qy7!0mF66itBlYOq@m?rH(m~#@pVU~Un7d`a_ zFXD}<+c;2!(kgptP^3et-z&-%GHYJY#K4$dl6->32?maq2BHX&iRgK z0%pCyK>xve)EC^~Sh)!K9csP_Avi&@!y4zLj4CGhY32nj^_Tv!8HHDvV%|f#gKYpi zy1;REFopNq?Udv)pNh=`^jr@kF0srrrzUjruWO`xDARW$m_2g2nZ;v*LLO}uqhW7w z;JBo=#+qE94MY|DFO(+1!?5~6HZsi3WFwpDw^xA8FcJIe4QodN@Z+EA`KDpmMj?PE znGfN>#h;ffw!fA18x+` zURIo6=Mx|yjM&@k`hmz)HL(l*D;FsNh-HRP)06}B05vJeqNA3U+-K{paDNP}Fc?_( zz#0q(M!FJl@;tjXbW{@UU0qua>5P;}MT$U>^^8cOvLi|Trt)$lQYRqHQkG#c}2Gj4~ehf?RCUt}BwsmahFEqMt zNLDKN&;R zp%)R0Te!95Uih?1>BN*2w`pY+tqU|rO$evyJuv^3TIX#}KDajR7Xd-9N0vKvc!z=w zVn#N!T;V=W+=gRvN%@5UP)|r$8~< z(=EjW{`P)d0RQqo_vyiMSC|U52f3#HzNaDIU;-Qhqaai;=C^UB0_xO@=jq&oyVG-W z#WHvd`tbMOcKGX6UrVZgMsi{c590T)k$6*h`ge$=Bl2|BZ(C^?NUSCt77rxe;^g}9 zsCze=U4AoV>l_!o0lbnYt-w)s74B|OE+CZ7j2my1tqCT=EsL?^TbEfPR6f?^JA;cb z`EX>z^B|P-0Zdw*AoK(Y@8ZN+ICS$1%|Mig!ZR><2Bj(&p6|OW!4&z(RY$iX36l04 zn=)`RpTQxKs*O)Rz^9MSV|Qu<&}(`e>;4i$xkI^CHBC1a*J zrUVj$J|Nk)DsF(Y`V!1#Zkm??6zDrEsN*0UgsNdJ~8G~Yo^X!xg< zhp^f8j?xkc2GL*}KD8M-^~mh`i1_obphae5*WGF$uR#JYWD$-|N~f;lCMc_@XqnTh zQRZO9o5^j0NScsaET0##4x3h52V=H_=)U$Fh0YJp_17HImkw3krH*Dgd5r#~yQCKu zF5Scj4D0I@dmhMJs$szfy$MUFR&e6Zv`_Xu)t#RI^{8A;EZ_0PUBJQ8v}R=pZ42jS zw@5Syr`2u!>s;Zts$fp{(@~r_A9+qbyF7!45ety*y{GKRS#i(V=p`k)Zf~U4tQXN> zW+XO%kKM4>i^jqxAb=P?Ev4LPV!wuQO6k(K(O_crK!o%`-40rtAc;n-E;{qtLk`J2 z)U2@OLlzLSO_qYmc4MPsbRZ)60At`!MT~k%+(L-y!+cc$xuH=E$p(Mi;}#29oCriL zYIWItd6DNv)>U&BIKGzSz?c>wntSGT7aMx?0AeFhh>fs5vC>8~=LK@|`u9MNYVD*| zpT+aL1SjWf0GT2dINI}_zaG8;t}u}J8Qg}f=Zjso92f@)lNpzuuV2n~r&D`YjoJnsFruxdb`sCNnzF8SM8Pu+pHY3lBovafG2qCvqQj% zN^*4>8;yv)#qjkkm z-Y1uWE`yy-O*6khc4+^^9$IeAM+Ll`w=5;b%HbmbQDQ|ok`oh@#Zn-x`g&)>ix*r} za?T*N9m!NkfSyT@*MDvXT<(S}R-v?^!xBH<`-J_r{OFmt`~#8SZ8{tw!}m;~`dhbJ zLDC8*!pc!9NC7z!-+Kr}$gh``Fq5zoz@6zl?wm9)5y{M^KKzZ^FmRSL+K8hpM=s6` zj*%1hb2hw8&D7JZ&X$I=j@!j=r|zo*GH>shP9vtFgiI?bawk;1i5Eypkw?Q!x>U$}=kKb@p z3Iq^a4rTU4S1x)_M{v=Tn>ghWz@{%v#P6?;c_AtqNSsEXwNIFX?KHKft?l4UPloz_1+kXGFTK5C-5)-* zD+vDfSepQ109oQ+h*3uDZ>tU}^E|u5@T43iz$!o%*h5!iedw{~O?;;s(mES}4; zSy~UaQBBN@(wr@Gt6_yA7q6j0Du_xGv^>Q-Q8^@gQ19QefltLZc)!=EJM*P#$VEx8 zRto8GN8&#A9iX&A*@#T2t8eJA2I}pKQRvuR_~de^y5X+4q~l{FQ#+F5y$I>-0)vAx zQC)jiSVk7Mb%GRgy^g7o(kvlLzGHWOS=qYmOWVqA%2^RdSk(a`d-#IPCl(M35$3hD zI@o$rkvHWh>hDkd5(gjhdL@LgdKg#`(cmeL)jzC?l_fl^e{i}x_MR&+O<;(4K0KrM z5G(xp9r+H*KeS+9u zCn8cJZ^QHBm-rd~ZzxXeXxC0GC1W4Q3U#sVWjiv1xl7neci^M&cPk60Y%2SB^Vn@? zNEmbA*fow^M8Ju{X1IxuuE`w+a1*)An~>ko;f;6oJoeP+l$&lAjwHZa*k*vFnePNt@eXJTQ)kKsle+^;s zSLe?tPHfk4J6hopBo{j9e$zRInM9$UfeSaAn|GT8*o8(giR6ZkBmYI5XAv!Yepl?u zTdbfu|0Q&HT$kL6Yk_WCeg~99SHANBJhmETkE)wU8CH zH{8cx2GyBMh|_yhr_H__96FSK%*j^u7Rtda)lH)NlO|O}_VKf$=hDxL()P9`t|-c2 zir27~ZL8NPYcAAdr3v1PMNw(Il3N+7>gpcD!^3uK%>Ruvi6_9r%KCoYbq*p;F4)m{ zegA@k?Hn`I^jjQD_JyZSe!C%70Idh`c6KyQjD=%f-E9Ba?ki>0e!q>!zvpOsm`#oy z?dRoj6;4lCCKPoIC-vAlrZUHyASfvKZe(PuIgZU9abB`p!J_rWG^IhdQU#pD%#_*3 z3S?o@gzg@A|9147|M{Ojd(HHqRKOR*=WmX!g@CP=g*%NayCy;)=bR8o)|(;3qy?>pOd+FlMP}osbSjY)_MpibW@rgYB^My45s*;;CA#j+ z{d-DApt}aIKmeF0syU$uzjh%usH=x5433UlVkI5758IbznylZS(A*^}IwBvDxJBYX z+0zv^nrNHA=Fxytf7GxCcQ=kw;H;)P(?2ym9a7SLQ4qPVs!+gL;m_%|DzJg`%nR7v zQq=~>67p-Kn~R$pIGdj4Y&|#1j3r9qA;itIhn<_@3!Mksr1k9BOL``S%2MAX(p~e6_0c z*g8a@Uao^O(!5*MX4o5wnRZV}r+y*Y`}%f6&Fr#Xx0xt*Aksve++cj%s4O#9VZ|>>+JuEc~odR5tne)zpUVbEt$51yb)Rzj(ypiB8dPEJVt>q41z zpLpOtOxDANzqo#e2eO)7X#U5$i#E1>mzZ<1-Gn%v;r5)KvC5^*OviKLEw*7aaq`4b zO^h*peC9iL247>E&)8yd|_cf7^n8Ch+=1{|QC@5wLKMS%-8KfraB%s4+flYe;+Xc7IfK~=k(Y-7NP?# zCYg|6!TCKnE(v~}A!Ut#R-mi8N)%iDTaf)>#UClhB9H(TGjs?)KH0gWXzoi41oN<| zfpAD6vxVGAJljn!%j9WX1;qmJLjV4--NaGKMc~(&sn6C@=o^fJQcL>>Bs#R;v`={s zDd^)9inuq-X@@$`Gm0{p{B8GfV(9ngAkc4|DvOOJAdv>`6;^7N8ESK5+-NhaGaO=LyJZG}KX|*6G=JpUki-8GH17YIKTv3@NM2Zc~_A z!ff{Lqdqb}w9V!`(!Y^nS6ug9tt4P67IqE;EUGT0z)za=#@GhtF{e^~;kD$~c-6z7e(McWZUEJPm z^r%zRb<6H4khqUyL|w8|I2hOB7ZZ$AE;6ZRgTmp3qVn<)6al9x2&YXw00=5}cJll= z@G#j#_lk@2mJ#K-8!1_8{Vg|jzb(v7>*2A7bl*7sH2IZ!7fR$?y>joOECc3wzOTrQ z;Ta-SDwXDu<2iO*lXg%B?icKhgXcYhdn7Vu$%bZCM2x5aWXH0q^ae0cz{{_Sx^CA2 z>wQ;XzByQ2{0-`ZFG3S@!c(nV7529+S5o2=&RG&&rd#>Wqt-?q=OnI0bK7Yo!4m~~ zDNgqSsA;CzOKDUXNsTQ3UM2VINB^x`nRAi6gjEHO8~7<5oW54VcEgvQ6MwF}pv{~S z?_P$t6zW~W3EN2ge{5ZOJe2DnWugYf%vh7MuWc%X3Qa;vO=XLSN)alBHmPBRLQ0Dy znHGsiWE6>{qy;T@3YC;4L=^Hn@95s>{{Fc4)5fEoc=>kdbt1>&=fhNJBLSBmS3P@>*mGM@h0WQ-Fc9YDJF31@ zX{(g4l&NFYB!Zg~n10!Nn>bU<$w>0gc}^V1pG`tC#gmUreRV=|8Y}Muj9s?A)9y*zQ!Z*} z<;lESC@kOf5x1=V=NUPb0t55qBFpxphz+#s8-Itxv6wPtN@L1xPr-?UL_9uajd*`nU?Ra6@nPb_x3T*hKR#;(-^MW;ZKWXCDk%HSZ7J;Is2yk3X>aB7SpJOwN7bDA zw2SZ8wp)Ci_OyV!=-uZas(f@yxZ{Z5U>_qO+&>>K}YAR|KBlRTphYF;aXSXRqzuYx(!eQ1025+b2kW8-F={IDC% zY8mNztaJY@WE54lIZ~LX9 zH$LaZ=X%q16!s^p$!w#h_}!E<_9zXzd`n&z|0NN@%bcCewv`7aJI8? zwx{Sgd&&Og`KiQNRRow|!qcUNqqqcELWE&MOHf7XGG<_sqLxh=;~PK=7h_9#w$N@N zS&wy7(tV0{oZ89-7JmnR9_B`JPY|uh(u}34kQC{fRl8CoT#+3LUgf9rxdif}g7t{D z466i^ua0W9vHyK*F2lJH3tmT5MoEe>FSg7NW5~Tcpyok-z#87iAUjKbiJ8YO;Qoz{ zE|j!^*blbeIimGD*VU?=w+9%jRC3YqYY(t{zIDV#G*?DLl=Qmz0qV%xq?f&2U9wbu zTHet2^8;WcZ6N4QIO@_8W@>3pV|VXU1x?M!vIo5#SAqR$2q_jcRJ5-I>^*?EV){=U zR7T&U*0}6rBsRh>rW+~r#fuk=NsDt5igWjI$J_rDS*O+-F#}Z2FPKi2rI-OVkA25W z>~@OoO0acwr^exsJteQ8nfVP5^>w_ycD&<3-~e0y((K62_Hz>M$5PKo8y5UBSDQ9Z z!7+8B)&$fRe|G;>$+UrsAB>7nh%i$Y5~( zGC6ja;KP$W=*of}TnkLWc+++$GpOCUQHBMN* ztzi9bm9Zx$jO6<+O6Gk1ub%DqXM~k~3#`#8Z=JN~<5QO!9p%F_i2eBy2~w?S-v>3k zB^L3ML2X%i=)S~gP7l1-nTnpio{$Mi2e%sRoUgN*b*MPTa; zZ{dPm>zsPu{T?13cXD$}u|HN77p37TSSJsx?Z%6S-=`t%C~2;gV@Ea)-re0%kzxUw zs8|6xWo;QFxpKYdOK<`#YP3nAlP|~_j0tUms%4VqGNNX-nJg=F@4AQqtk!>kL9o{IPjbzMR&k2l)&1yOM#^7#J?=MO%2=z^#+MINe4f3;+ zM_okBI8D?mg>KDqs8>$qgP|HeWj=DnEyX6VCMIL9XT}!#x>%l-G9}Y+;qlRji!A0~ z)VCA~IpTUGqgEx;L%&Ry=D*zvjf=+5tiwYDz3?Z{o}Y{Q@uf60G&Oz?34_mAyx1}? zOxC%aD*Xl=U-g}7Mg_m5)rgFIbj|LnG4Dv8H)poF@H)1!_qZ+ZO zqznC`5%WDsz{+%R=zGe6?>%ns`l<523*R2RmRZ^FDGH9$?ug#t@+khTAk0xgm^PNJ zd2i-=0f=$kW2gX{kX2WTBq^Eqe{4Y5jo(Ea=LH{Sz*m__lM?6J<+itDj79f6N0*x8 zoRe_>Sm)ve4+!2FH}P@*70)7>b_A`#EP|@vqZyxhGlE=BYu|pFRk0z*H{6I$A@Vbd zRkD(xKdBmUTy%JTqR~bGDJ;st_87~_)Jd+M)lvR8A?TcuB z>i)L{A$L5Zeo3_j%ladq@^JI%QFW~8^KXwG0WgLUPk@X{+-?@2Vt{)r6=LU2zdWUA>{kv`j6a}cp|b~-1~+-8$bpaD%R%+KWf5}f}a z0>Ad_*7HV%B8CSfMSx=)G%)aW{xWb*MV#A0YBrLU#B^APFG;Sb+AvTkZ+y@1j`o?+ zM+`|FNo?(|9%TFOa_Y8vj2Oktw9Z=~N$%w)$w!#XsJ+$ObR1Dxm=s6~O~HWTi(_X5 z0OMoZf<$6wpe6Qvac<0~Vt|Q;rCzbR{Z$CZVyf)Q+xDK+1VSi zZ4M2IKV^!WBs#1eWVBEMLM?GXRBzwh?`Zf}4NI00M5*liOsxJ?bwh=Yi0AqJY{)}S zpB4w`Y9i-l_7oyt92}(if>;e-0E*4(6o&zQej2Vk@PYcEeTrd0lH!-l{bXrNJ!i>R zpV8N^lABWsq;^c>P33R%SFi4~R0H)sZdCz!gZfLi0ggrcLym=|nNk3EL4v4QkmuJo znqooXNS}?G9*0j^CguFz)K+fwlvlV;~VERbb=3Q;uFVJQCa4s~1QDLz;Vrs-JdRBm^zo|QP0mF6?=tp(9Fk6LiGdxtwN zYE{=wT`TWgPP0~rKBPKhYdt9MC{Tty8;Bv{HbfDt1@C2MBL#?sj0-)`*O60tvG1f{ zsHU&+4o!E!5k3<7SC){4R8JmjW!i669vhV$cyo4`^F;^%0dqBKMX3u~eV+r72NZZW z6N5vwBiK!IN<b4`quNoCXHB%3h1T1u9vp`i>_So54UVf~jt@>-?Nh!$-Tz-HaN}VSUmN@}NZ|LEl zLENCrBzm1!sl|_vGt{UBAwdrr3aPA+B_Vr%^c)XcG%73N3wEn(rkNK!tsI(#Usf}) z*zUOSshtm^2Wkk9RSC=0J7D@sTlJg>4rnJwh#Ua6%PnI^RDKL_`S zP}R`dZo!=JFF~}=Mhb&sZ=t8qel1%Jki6dJwt_Ko5SmpiQrm%{Uy5@4+Mit`Tcc zx^)aa%^{#VFo|7W6^X6WNvWClGS%&u>fxEARu)cU{6B%`U!jNIH!3I~8>aO#chrkP zSl8(p=j-cQYgs&-Isx*oAYlD!Z$58C&+Rmgr190Nv-9F`oiEt^C8SWsq{dq9pnW&# z2nsi7bjeb?3bEOxn+$)f82xUH;ys9_L{Rljy882jYHW>A>tylqoQhoO_hzTsYaetW zv`t11c)HhG56w@snNc~lG;Yy1$(yxE0Lc-yH-1Q16y0_|iZi9IQlmSY*xP^Jy~ZrG z6jwBqj5k@)bVS(3sAVy6dYDdFh?!Xq9w=-?j+ukdd30ok9ew#Qf`3X1qodYCXGtbF zj+3^eM6w-|gTDlq-7mH=o+v2aMzZ^>4+ARD%aJ}^pofR=?(|6HK`ppHx)n9JU zeCW4n(?g6qcS5?he=;$J1Cokgv}=UF@WjMO{^8x-pXyTV&o|!O){|j}xhg7A4W(D@ zF}H*5uBi*F7YP0uJN%(YEq6L;1VYxD+62cS7G1z?5Y8JBdJa&7|}Q zhA<+eqzD)?8rDI1391aJ0{V1u+AnIBM|$T2yLpe0lb=1Db4z5*#xgp==e^@XUv;R>XR4HH<``oe~_a66`ICln+Mhfi_QMjMyVblIsCJ8<26aXdE&mhR`P70 z_Z-iSPOSy8yNHylK@f!=M3u;6+u9g03t^QE8laV_E5$vCCOBElxFw*fM%!&&tM)qJ zRL}p$smLp4JN4NVt5$hh@0bzlEl2h5kYRNZ_+;WOqO1F0hqAr$TJQy+K>GyL!uAfJ zOZwU41_laAKvq}nFfxviN)v@BQ``-I5OR<|$1PriILQ(#t9U9aIG=wvM@ii&jk;8$ zcvo!5r3*H-A%{FS#uvvRp#Ivbi^AY&%Yh!+uMt|aG0S4D%!;Z9v^Csi10rQF4=o`wN=;PBb0!`DCV90fKHZGAhZ+n%hUi2x{ zVacCYOb|kG&^Lec4r0Y+Xb7B7_E}3-t(ki5K}xUbW{`oEBPkL@h>4ts9Ugmu;)`~= zc{chPm_0UVIWEmFp+XP?pJiHQ3LG8g>)n zSFl(~ds~}jL0BNs7avu?E<82wkw5zB6@0koxxp@FM@Pwp1>4=+)WfFEL1Y$^_hzoh zNjMivGXU5(YMZo(Mk_^{)#&s-KEY^BuulFsUCDpvq<3+94xBf-B!U~&k+0T*S*ZI_ zG`|_)%bwTDbm6}4!XeyHoBGm&l?2Lb;uV|Yk7_nbEvGvNhKtX^yvnD#W0C#n7X=Z| zY)v=06T-@<^rbBbNDR;;RA1oujV{Sm5xbz#{n%qO&nrh|%5yu&uKmSLX7t$24eETb zLx%uKqS~on$EFpEnb5?E%6>vB=RF3=Loziw*XaevmDvY!3Cw3(?d`0->VrRfir+q# zA%1(qDTMo#KlsuhB6zaWY2Uu;EVpgh!vlH4tsM8HJw@TZI|IVkeEHq;d<_sF-#vzRhK7ddQx_~ivjou( zy4f3B&%6hQp!hohOx#kRIA3@|Mu(MYOMuP$Wh_cTFcpnPj$B3TSSZfO$)DsqeA?r| z_J;^>kz9~c%mSb2x;1QQDG&2HpP0!#KS&W^)Zwh@KFKx3OTlsy`zcPgvz&Y8mRE-> ze$n@Uw@9(6r90-X zR~TY>`+<>Q_o;-r_B8A93F43|%4oCEsTvTS>Q!Q#@X_sKJi?#^L#nIq-Ju+qUt>FY@RBMg1n(g4Ro} zAj@M7KdPl53Mz;s*)RSRL*L$^?sr@(Loa;x?VUS^$bqABJwBhn<@S4`nmc1L;l2;B z=qm-phkr0dqBI<#9qEygDEm4t3=H+XTjFCp*PkUK13I#6>6_$;w4>0PanS>(|D57< z(X@eEn~(Y0S4^qX7gnOXu&m7bp&wNO&RPeiwG~Z(+uG-UM)@8avA`a?HViez!o8jO zkb-+T0RR#9l4I8k8V)o(C=f`=aH2mOJI&)ERST?;Hp6*q?`WvVzBbSpEK62OU*PFM zES40Ci8+x$r?ChUSOm~RLiAr9f6YnVa zX~+bT4%v69#WqXS;_-%Rw3S)huK&-wze{NmQo3z=ouMGCbW%_thz2Q>EQTl!x%8cy*Hp*6^{tRBV1N$PdIAS zi?=_B%YPg5i?&yOn2^B{a^RPMkOWd4F2VQTM6IjMTYt?heP1@6Ui!$22K_6a=zaR7 z`fWMBIqj(%@;bhMH^^Ca(ctsUk@cDk*2LzCCCxZ(QY^S^AzE|N840r6Fl$N{=7E56?K75~j3F=zhav1?6^J&IR^ zf%D3bTDO2Q88z4<3T@iA7aX9Y8lWDQQ-2CY_w-W*<-`osT*)HC8BY(o3)LGb2+Jo% zsC}7#cxZGIWu^m|?E9;K5m;?EJu1i@jEqi*OuWtECpZMii$#nUsT7M6)wv@W)BX=jOZt>S=AHAgeH&? ziQxBkT9SgWaQ5!XlnC+z<0MZ}ahhVXlew4AFYD0{1IaNZ+O^}0`^gKQp zQmb=e(SeGT)YMlTx74jiMTk5V0aQvx+j$Zan=QHo82Ns=@Ard73N1@2wlP~#lUf{b zl(aUj_0P`7Uzpru<_k8DW39@A^#odW>C`)lFhH1Y@Lx`R%6NDmY~Vtoguwl^HS?}7 zjhZH{+GLiK5Cf80vNFB10cV+qzT4t^UEzZKDWk#y5g?j1occU<_FQMCWOm&#FCdCN z5F#3C+I{z84$2zZJR|gO+$;m4)N4Wa*Ydsr{64kx!v$mqGlPBIRodq*Ymh| zgX2%dY=NR69@1T6nDEif`5Nj0X)LhFw1qpt!JEj$oZPb2+6-b{W?-|B|6s_{4f2hf zf;;xoa(O_kMmh?Xb@6VRy{`K6(>6MX!fU;i@+<+{V326D-qE&vx=7>Z+Zg#A5 z9#+LV9|J`1GN+1VaxYOWzc*v0IUD69=(5txLks9>@5e4oF~7ISwc_UY;PT8oFPzPU z1`rVBhYe!F@O#>&ip9xUTOf?Z(IN>d66N1J{{xzL9HMr-5KB@tfmshnKq*0Q+`X~U z^$B?5#xyh6*ZABoR%U9ku9{D38EUogv2+}br=$j*L)iekiHqqC^P^?AxgS_+Y7u*#BS zfBA{24#i9GK$oTmU?&sZ3Mrbq0LP>s<1eBx30bqMjzCeJ1Sr;z{vx3{Y)=)lm= zOnAOse%r!v{{n}MClK)T5`7XpZzQ$`dyaYlejQ3yR6utv)u(R|LZQv1>WnK~*>B3qDVBOKUL~4nG^a2G-gR<1?E!SeW%z!^JZM@)$ zDL6A}Mgbg)ac=8~Y3*}-(#Ga1esU!8W_5rC7`D_uxIz4*Z9uSYih|Sbj?dtnS&3A~oqoMnPUbu+qros3esAC3IO%P%`qV*KRT zXDkFIE!CZOJDjTclGzboZV(1m8n}fGtj@7R!hCg9I2V-9%f93k1MW1jJ^g3;@;j?m zqlkL`_S7nLr9_!rmwTX+5G-4osd)noQf9JtR9+Djn6xqFi@-qgY%$O{Qxn(9&Rv7ZN$NVJ|h(Fv~;=*e_Xs$3#&Tz`Bj z_!Usdep!(=7Rzh!CJuQ`j-uyzegBClW&Pi7&w9x1x5(_m&vC0bh#wyjO4PpI{rH5U zmU*}!1kOLT1Qkg8{0l<9z|xR|{BOPFRoE5w+Assh0v!SQi6dn)!G5tK42AdXr(<5$Je!>i{~Ub`WWj+k}-x{VcZ_$@tmCFRQ`7l9e;=9 zd+4kTv%Yz%cjXmiBL)F;fcX9x#gUoZ2{|qoZE%VmEDLK*Hm@|H2jSo(1|N*S#?+Mef|_nz!` zMFoBj75K+I5|12XA#V^BfoL~g&_GptjJI==pn!!JnL1l?RluUr{$x?_@GTFon-`4FmGFue?R`i1MnGoo+nvLZTdf?S|R}-#sz{R^|wzj_L5U z`X{hu5CCGh;zh*9$pY)|?R_b-Irme?ySz_CZg6IaD2dHgi!OU~?S`Z$}kfm z(2ejJ9Pa2&ET*`MqVM`DiuUiE2l{ex-)8 zpC+4Q5pMF@;qI<;MhXwVJx;)2RT}THT(?w4nRJzkVFRug-nsB|m!g;^LY&sMm~msr zBMG!Du{sL3=V#oJwEF~lA?6430a}(X$Wfmv!5!yAY)yeJ`(vh zdp)kg-EE_C!A^bBWqPP?B>6Nomq8zAXOA9c<~{GvG-l!FSULxgu`&@nK8Jox19t^8 zSxf^C&jF!Uwm^!8m|7vR!gUbFBp4A`t!klLg7)F-ysh<_>mx3K{?DVVB+>@%7ecXo zLYOF~EeXAn$o4~r41cH*T?>9P5%}Il>`^#ubc7^0jp)R5p!^v+ZJxVY#JSL`Jw|Ki zI#2c#vzCqCjH|{+g7dL-`2YU=Yc9cya-HAA09df*nTnNp|J`4dl^D~zco$Tm!Lc+! zN}G%ITpC|RY^ERGR|g=wS%10FUVAB%HEHvO?Uh%A7-+hIPvpwPeHhCm=3%}P2opqy zap@*qVOwoa{hqD$kB%jSAXlFiI1Vu4YYZ%PXYS(w;Swc)%iW(=szt#SYmS1YHalN_ zD$xk%YSJa+A@ocWT4Qhca%JbnQQsfGgjqnY8rqQlP}Q}zFu!7ie32iDL$I>2=sfW1 z=_9>Xi#3cH7;=q85owxqV9Gk;3kl%O7 zk8P!U?VD|xbr?*Iqp*$j@>B^u`eqR0PNd8S(9Kl;-Gjl%xeg6RjkbmJ6Z=0en)sqg z+)=^q@Oe@Rfp6N=LR@l=iN?+)i*Cx<1S!~o?p0~+oG$in7C z6kd;Atb+~eLeOh!Cx6^af%zorWBY{7gCPU~i6(T+pVDf#hvHtNeY*2lKJ@Q@-U-%7 z5G2nQMR8--qqRB^0a`DxG$&fFPuEY9N3;PeW+K07Pu+o>KLc;1CE#muR1qMa&rNeD z8(!)tI^JnTwUgA4_gj=Y(|yDBh$l^9wy_Cc0?5FBLzf1LGaQBP zUp7}Tymp3A76za#73(RyRZF&9iVF4j@M`_#YI0-X_zdeiPK#O1U-)ByfU#L|1fbis z%W6<}<(LP>e;GN)X&)&odgucDwCu0<_V;Qqjmz^^$QS~zv^@+{78W6^eh!W{ceGc< z*zqRHh#Qj_V4R-K+?g)K_z#enr0CQaSWK<;bjEmFNWRC<*0+9fN@ktgo(UZ50Tr;E zMo2YlQ6R0bD4K$S>f7J_7J#^%t5>gXmuei=PfXJ*S`>Y69CCG6$>alJMlLAA7W(y<1=DgGFRfBe z-;a#EZSYhCi5PlAd)_f&+`UOj7E_V?f+F>Iuu0k?n03~s5%DhT2BU6#%E51E)b zEhLI-_S3E0@e?Y&Y@g|V)(ibXyp>qNGAA3xXCjW5OXNIYz1_?N!SKI%dl6`^Dy-CowV>+k|%(X7NY}Cwn<__otG(E3dVq=YpB! zbrPY`l+mhubmc{g!&<4T{Y2#3mwYPZY{tUz9CYY^LMsx02m#l8pPPCzO|vO}ep+Ux z=SG=Ozt~mZNr2A?!fV~`qBupyw%_9}G=92PrdnUZPoT}XP!fyW2;8Z^4z9#z5_P|-u5)_v?b!N3XWg&^J6yXMNCM7N*oTSAm3R~ z=}p2iaS$>0Obo?T!XIe9<+clt5u=!_idx0X4qM0es>qjOy1RC`vI`@PE@5~KtR+bF zUwZTIy{Fm;dRXKR1QNfCvfqW7=7MT_aU=MGzGt)ZbccGE<-VNy+^$?i$KM$IEqRnA zS}1xXR=PUeyK(VvVqKCtHd*A;6C8_e)d*RGu^fx?!M8i#AgBJ3PHB$AySlfxs{rPP zHQLhmtzN^r=mBe%iZ+MkU}^Uol$hKmAdub!zI9*X6 zYK4DCID99GF`APfeoI%%UQnbqD> zOJ{78C}!kjsfJ8?lA$17S5u?ox#O!?LkJwgQ3?_cia+#a+W>Rz{Wo3of47j2#JIW; zZLhS%!5~(EfZ@8FgtR*Qt&%bS8RW}3^@WDA>Svj}H*3-3r^Z0h#cNE~z&7qF+6`wY zky24}zVY0n^%zKq)cK>5NZS%P_P++dt?I+}U=mIB97M^tQw!}{wW2c}Y@v)c_A!>& z8unK&`iPn~@Obm_wb&Wgl9fCr3h;~WcbySR90%Mx0-Tx2MGd4@p$}N7>WHmR;30Po z^ra3!giTgz`a-r^Vk`HuGPO9E8b~LTLc>-{pC4PZ2`XuFM^Zoah>@*pwr{&M)0kPZ zAP4#52f-vO+UGPIm7proVDNJr3_5QhoUo<9C!>>d^56X3yzua1z_N5;-Jwp21k}rP zvW0x?PJ_snOiw{^T8eM~K8(EX9pP9onTLpUc?&`1@y4d5++wXD1h>y+gP<^tRnCp*OjqW`ZbqF8-LV*F_VlbQAJc zn82fF*v!93UO5T-FURrGDiVsDl>0R+e&5;zArV(m#xiNM9UAmn7e4;IInuz6?6G<4*KHq@c+uWRBZ@V7f z+`o++F6z9=42+;-ODDNbZ8o@3cDN!2>E}=cfx(Pg6NUmLLXtV-lE zQM;{@rw&S<-v9Stm4|7T-ys`ih3=~LI7*IjcJ3Eo!SDH+@LcRzmj#6pZ8>+&Adfh+ z#K{&+y=r2h@$zyJ1h{(|6;>+We1F?r(2DwNl`YD`)KgD7$W=u6{%E7fPh zE#cEJGCewZ-Cvz~Gy}1bYGYQlYwj82fi%KZ^7rgtpzrWmf)Mk^Mc~PW{O;~__n(xF z?(WY@&!@ia3|!|v2pa*!$wa@-_sd-`s9=VE=0Iy3ea+vzJXn7VR2|&ht)Fv2Ml&tb z@vgwbH=8XxKX26xYoeSd$DZqc5=96SD38+J)al=Jp z?@ynN=!QjXR>xLx!VH#Uv1kGAK{=dH!3xQ1-hdY1hfrd7W8GcYZ+uI5E$76Zs{l2; zCSh$Y4@(m3HOjdr{mD>Qpozr(5z>N7HMNx521abulu`jL{-t%J1>+&hRn$bQ` zkXzA?RiqXlO68}q?FwwxxE?+G@IP!%BPSA3JsM~TE00ILdb$w7k^vJUeu|e10l&kQSl2@t11&U*th$$+QEdA2dz5 z2q45ztd1QR8=K3WFyf-4GQ>#JE)A>^Zc()F+ZNZ-D+Gf^j4tpleHm}yG`mk3!I~nx ztR3ZAYAjSbEmv+$9&-@mNkr>NOi)tRKmlj9Y<-@8z0F!(xZ1Df)gJMr-+GYTH|tkV zM)NVB4dN)N3wG_8cIH5POw-2|A_3uJJA3k}HAa2s_A5or6rOCl5s}E`@@M4Z75}_6 zZ!p;URenE%Pxl9+Tjh^iwZ4C)Aa zt&garz_keO5>5V6>_uc2H$=tTWJ9RN>i7r*Yx%lbg1MMl?UB8CkPN1Uj0x+^3Pq4; zRa1Ok*ZD?^{FS^CV*${Ik_7f>rg^@8{MaO|_U#s#(5DAOb>a0WrGdbB>WC`Negy$w zb$?hU^=A6*ZAj9|i_pTg1k85BbQVJh^U$E}S6Oj3WVX6vT(5ukzR@v^$bjNyLkZK0 zHy^uPqw`~ql2#mRnzZRgH@9MkY;TNa1(b;X^ziV7x3yWdFNb64#8mA0D%36*pWV@1 zE4Lb2+gzKe&h6(;-aS+@izIIAdUU!%)5jm}b1sf`+>v8w^X5oeMAVW5QlvER_yA;f zB;1!DfLQT6Eq{2=Z6uR0PG9{oqx6S+2EM8kHd`KT|2nD+px1QuX!5zBm8gI(b zyDKaTeVjd5`5}At9zJwh``3>Xr$|YgPZR?2*pj(}pSV&Z10{ZRkitc@YKr_I@-#gX z>igO2E}7-Nrpn1P#^b(gd(7aqBp|YU;&j*ai+@`@a9_CZyK{c2_5LOYO>WGk-&}?b zEKZxSx;EkK{ROSF9M==R1;xbR%mFClmv=l7vLl0{`v+???NTUa(5wbclrWa5OkE}! zC}BoSZ2ulq7%e5J1~XzAnrv%}2?o(+LpLjuiP?}%&#^*hY$__Ym!i@Q^b`A#r0;mW zHzCWuLjB-W_7Dfx%$5g|{C%;L3~)i(=$zRPy(Wt$Zb_j)XyGxfKtL9?u&;&l z-HNGIHM7Y7=S4Y!7jIlnEc0J>cghDbdVOHpV|iHnB1okXbOgi#z77 zHAOy*!7~yUvVK~$S zr_qr$AiS@hZoRn4R8ElzM(XceA~G`ul0l^TZ<2eK)vCyv*mlO>oyDj9=-K3UgTFdP zB#p!M!8HphSLg!nJ@WVpJ+_hRmsmX}m_kc_6PV7D#x`}ADV1y_MEm*TgBw8OqvO~xtaoRE~ z;~j%!;9vAYacWoh`aLmRI?d=$&KH_EN$JXKa1E!zU7ebw^d|kf4FP%eI-%|wc~z_N zs*c9(6`nHks-OtNE#74_XU+`bO`ZVH6jx$YeU0@OJV0Kdrm1yG3XZs!0fdoNE}{R4 zWPIWwg$k_VnT@Z!25iq$U%Yo|l0PiRJK2#p)Ql!>*vDR5JG&iFK3&pBP)%#Yjou^$ zt+ZbH%pcRml24@x8T~iGKQYhmFpX-j_H=_F<)`=Q!gwe<6uF(;NV>HGD<-jN-KS{k z6Ei%jxp@m&Qu>97RGNNjWZBXSC?59RMEm}IoTK|IFh()3{ZF>#VH)t(pZ{`V#mlBA z#4icKtKzur_?ki7?9%PUodH{6kdXMQy4jZcgwX)4a7Sz9Y=5KH14J6hhJ^dQ>6`4` z{1bmx2aKQO+CIChpj3JZ9fPF*+saQCm^ev!JUBAtG=u953bc#2Z{4DPkLFlRzM!jv z_Tnx8yeIYQ&cPJ5V9b#S%Z#GPe$}2QmU1UjBXj|P$Y$5*Rd0x^a;o%g+}ip~zHs$_ z3cUP|J!Yv|UEyol7l0@IeN1HS28GgjS zhI-64J~1;7&wAf>-|2kdii||Y*tm>i`uq~b=^`3hpSR}5{Y8q#2nvC*e6y?x?nyCf z4Rm#Kf0uf_zT1lC?+@^q6v~Aj6HlTVK3$?ybkt}(DalWFPe*KR9hhs{kKUU?Z1RJx zAY7~SL$e@Y!V4evH7tfxUp20x8oT7<_>YXI?eCQWw|=Uu$!$NiMy{IU->@i8gvARU z!s0mVNVtSs;-`y;2#cdDj5Kb_O>3F1v@J8u9(1YCaNnCzB3(PWJ46PPGIerQn*;Zz zPeF5(^d~rPA7>9Hwrn>@eYoT=u*4nd#1iS`s{RF;iKJ^pCucbP<2Y=I_e_G=E7w|N zF)M&SInr!=M(RLPh~s&c^Q}!QZ0FEpRqSo_ziyvD~XkH^6K2v_sAICW?}lNAtpOtP|$%kG=g9@=ma z+sq8BLyyz(m1g=00{DVRp&rDJ9C4aKSQ;dD7E$4{w`^OjmbyB%2HCxegMD@zsWeHs zdtYH228E+{0!~AlzqVe-vRa+qf7`l|OfN`edfjI-iX)kxC|2aZgl|8OI|y+><*}JV zH_&alU5Kl^@=-T3?PI6X-;`jv$Z@>&IS7@Uy-?XfSa_PYKhb6F>{CF$_V-I+@)Uz` zX;h4A-rPSxZy{eg4Pt^)L&99i&>K2Y`JEvT$w5L~Ek8yOhXf=^nac<8^6_D$2=O$tWkA#B5Q)d?!!;i^7cxPDViH?p6zMcgnrhsN*>u z-hsFhOxpAk9Q(NAs1Gf5>C*w`5hCFqKf6C;e2tVtNb*iE!Dz6Y@);bM6W|^NnUl-S z)e>>751OH;JiFq@ED&_G)Myn#6XoXA>bldNuq0}S&em6O_h1`t@{!X_;b9iu-gOV0 zNgB2r7}Bs1I9TbS;{Ze|WkCch;K;}XM`$VxsWrJ>=cpaPpfG{nd|!aUerlwy)GN+s z_-K%)@=KXsl2g4{kI|_p@^fs+aY)e)Bc>5EyP<)vdF(n%CM!u%Ove_-a(XP|nTiD< zWQKZUGNR}I;i*7$##Ce*1K8=nbkMc>!*Y4Lk1?2}hHW{1KjwO#-{tF1=p3VuV0dZ{C`V_+S17TKa~7OIRJi^vA4Kxs3EPDbw7g&UF`9ye z4JhmvJ&Bm(z4om9FkKPDejN+JDYtKQTOmf2z)e-Zol^mS(r*(*f-U4Rl%r>_HOPG# z{#pI&vXApi4@qhai}T1yG#om=anczKNSUF02(~{@y&b-9N2Xf;_ySRwjXBO{gorZi zTnjjE#C0BEv6>SdR8!P5w)_YqWZ^#A_;+gvAAT)dBg97$l=sU?*nC&gKrK2==&m>U z#4o*Ln>J3tz+e?`{k;*w2Iy9Yw{zmw9+V#L(-EJtgD$s@Ure$#v(p*rT8v+bc<6SA9tOl?Qq#&*Pm6RdEKrcN#0|HfJ1zc zgvBv~qh-jMxP^4#5TN0!B0(EymOpz+2OFMsAJll}^?Z=;8*`IT=TzzQ8c~wF4CXp- zQN$)N>fmdeR^hvXY1}`|N_2^eTdU1dS#&Kpi01i@boaHsj4Aylv_4{x!N=dg*Kt{t zAtOneOa^8N46UO)*`~fr(T|7Cpf3(ek}Ft`_!^tm@Zj+=vK1}Y+Cp%qNBS|nf6Gu@ zKQ^e4H~2|6S#id*J=bRxohaY8bwMD1|FlWI=Xz`Uf0aMi&T?6_v#mO#0}likXt3IE8stOffYWTQ1zuPjZwn9w?)L5X4-QC>LN$-DL=?r0A#2Op zw#J1ut3XU&$(gl*gN`9fNKXKMQ_LvAs-WRzhQWQKO*KHW{O}{@ZHN8qfy9gLdTTRq zM~gC@+&E5I$o8-Dq-s0~!2)=bW7N8bCU zKlHL3T9Pk`4`e}&Q-Wqf{dY-@ku}_;_B?S zC|`NUs&P(5qe&5fUoUq!Hyx<#ac}=+-P*1vq#(A?Rq!-*wc5*{6@q<_DpMU4BNN}u z4-Z@#Z--4-uK!MECTSj_JiUAOT-a1L1#15r8U-2(S~i{WLUUjAX5=X?ueiRlAg(ef z=FE^r!dwBFQ}3O6a$TM>jY3y0QNO=dSzlJK-`8fpWZPNo(Tv$7lPs&mtzXI8t6*FL#aqllFs3;dw1t?dq>=z|0K6^kg4a^jufuEK+% zBfrS^3}35fg6bzjH5J%SgzX3-oH_ZFT2+iqS)yTslk|qehu!^>_vM}3J!ePb7eD`L zdCRlUmOl*2yZ-H4%W$d3p$RW~hsCAm(bwunRtGvu+EHKpW!pF#>${s zin(tHo7tjU>~|K3WgLca-Qjz0nYA0ERpPCdxW*gTB z({d?vanWp^*AFYy{X)i(Q?iO3-3{jvnw4}hH7m2T*^^6No$x%pJl=9RSFPc?yq{Xb zvQ1~X;C$Ecsw2ZMzBd-84YynKuyNBIJ%nQ1Lkb1ki&=<4b6uwF%^#HzZpN=k1c*;Q zJ>C6nbcDcnAI^%eP&-w&r0*rSk#hN^u+xKVNtjh#QjL3P z;$+9{=%?o0h4%LsqA}U|G|aYa`B_0C6>-J>oP%;`tnnO!L%;m)d{v1|tjP*^zcjuM!Q!Jqp3GFzJaJt2*(+%_69cLpZ1_*I z3iz#-*~&RH1B0j>#|0Zt(>N=n=DdFWF!-`tdUsKs_piNk>X6p)2CdEI%#2hW7b;wsW05gnT+@h<#S2_x5Ovs*XyF8mM3 zXC+C7a_>v8tS6 z#JjoZ$cFCOev=RS^;$@+nRD3>#(AU4RxAZS4Hf}Pk)4ZKb~>NCARS#RzdHWglT`4& zTv2nsG`R=z)P5w;U+^vJWSob&iS(VCX@XO4mym+@>ak#UoPu*5dC@+5_B zIC~ZpoBNxpq{e<{qYi$pw9K0MZXo)LCPkLnMu01@>(I}t#b}n-Vnnk-%@N|Hl6B8i zz|fV)l}G5e{c!W(-I=)XBuMPOuENBpL1SH^h&|aO@Tk50OVQpEmSkXQWi-`c4`!hL+XJBn^M;OebUfPt1AOEAfJ z=~-*}Rd`E^6M<=XRwpU1bSbJPdY>@|lAnTmPGk)W9!CNaSzqN&3MIuZ^o5Z3G2l3< zW1*7rXketnkH|7w0}gaHEVi|ldfBBEUi&|rnLJSf zRtJzz8Nr7>F;c3n&<;s66-m>pbn1Z!@LLl-UtcyoUceD&sGUlz%(kK?9Z91UoarqH za-5iMoSj9YDd1*i!^%oaM%t%gH>2{8E-U*{i zJgN~6=n8LPYdubA!nICvOc?nZGI}o^==_rHDzDo*TI(+Z(8S=BF$WFuH zk3k(W%f|ftksaYQ^Sq_JSM&38odM~5va~q-mNHfN(89lTfvn!8O*RVn z0pvi?;)x@(B zBaEoyLeqz7_x0c1_mlY?U$*4kt;Mb1(uy8__pBLqoTy*oT>Io<*QyK=KHBTVu4ypk z$2z<_w5J}ovB5^rIMHXV)clQJZ2PH=p9JBU8OlGr8wYscki59zbs2-P8#4d8P>aa0 z))Ck^666lZx^qNi4PtBjEe4jCudQ{~S?|VNocG*Nz|1jkIK!YMO3LD!BY4(t_KJ|i zCE*H;I|FeE1t9*@Ag-z%W=vPL&`C9Z^jX*M@7H()AO;w~L(GdEnb$lkPgQQXBD`p4 zoRQo(X3y;ICFS)MpT8{#U`K_UX`rRrc5wIBGo^PThFyM^ zl$10IC1q>5CGNCa$(nrm^me_8X*YCQR=jXfp#Z}nH7TeNRUu6Z5lcUwt z1%kn59217}Eiu?FBPj9Lae1?)sr`}pEuOR(b?NuPH&YtI&k0oNJ@W_@-JW>#-PO;f0?b0zhS`po&Hh>KsNMx?!5)xI6O^+#f)-pCOR}T(@cXo?+ z{>?zT2@kyg@rs#j+8!#4fk&KSOhH#Svxer~!g$-c^}dreIa1{@dDUmvYB&d`9tiq_ ziMx@~;r77$U{v+wa05*1TSfJoaB9@Zt(KatE5ba!gvctxnCa3(e(+=3Wt_HQ?jSZT zF;>;oB%~I(NIP?|I6NifvYCgF*%skdN*rrmv+?i95tAy&=^k` z=#NPBo(*&ng^NKfhrxSN&{4}o);Rih0xoEnbF4Ov3?O{1aki)wuoUv>^Y%XgFPmdm zuGJ@C-TBGe&~1(H>i&y(yWQIzA3+a>p?Aw|$!b$uO?cmCMpA{Qe;VxmjJFt(qY{i5 z+h{QGE$$J(hxky(-rK%{j=^UP1r10m7H`@-3ImZ+)UX2y5V;|4&@wY>m?q8Zi`ifJ z3l0F#sF?i_MZeL(f;U}Oz(Cyaw)FbPsiR5T5UuEd9Uq3lS@dd2n{;8;c_HsGN8;uM z&Y^yKqNbax!b(k4<{QbaP!fhKKaarZGg5Kq!`)7RO6V_|nchO)d;(^kg^{>E!DCh9 z_@MWe{eK(=V8eSdnLvLnboTvcRjEW&$Ftx)eF(3xrrRJNS7S9%f_L2(#f`jO_L!ad z_dETI$p+eEO>SLBl6CP2YSvF3fPE~e2i<+ySv73HD_}woRWEc7YWY1&DDEv!t%!?e z%eU!bPPD#>2!$h+Xa9dvMg4uHc=X|HeTfUa05k$8JXjt!$)Z_5_Uoe=f89Oy+|}0d zXDF$m$o^*RcE916-TYMS&i0oh=YKog+`J7;nULo31Yk(|C`Kw*a7wn%D`$~B0-Z$1n=m1?1VAo{25^bjgtWf3G&Ghyc^&4SL=!{(WdIeY?<@6?yF6x@Jrbi zGH<3jx&&IGC}phbt$EV%?7+;>M<+EuWnqzN0R5D%qV|^RWQ5@$VG62`emp#{Zfr(G zKnKVPuED~%-;-TVYi)u*;m z7K{4e0VXw+#I=4A)CSkIGt;o7f9I1TQ+W9v0eYGKwX_}#)9-EAeFe1v;Ax%yxA+53 z6!%JN(}|1GvG_oeAbKSuX4{jJl=(~4Hse9P{&B+^N(6q#+Cq>RZA1W+dVk5VJi&-7 z>XuFV{loe`f>9$pjhCQRI`Jn64go{57+h|7l~@c=N2gW>W9be1dv5Sg=4*5hKOx+M zdmR5N;tjgR^eL#fXmEx!-s*5wBW)Kkc9#k*$G~i^l|9IOk$=CN&j^fviPI9igl++~ zvkoW6H3ze!LV%}arVS~Ta^)qYHc@$5Y?^ua3`qb zn=5~TgszaO{X@)VS;c4GuI|C^Ylo!=Hg?XLUu{FHt#-KccED&EhVJSWa zZ#1aYwV8rsUxU&}Ou@OL=u66HqQDz&#!yC?2p&$HmO8G^2^Mt=riP#Xe5P0&VaR4eb;2DH2f zHWKtt_2Kc(*NX-{WcO8wq9^s#n*QP{&Y=@=8^I%+z$~F3H2#s>OY;%+UUm1bp5%Q@ z8`b0;i#YCeWKmwCiP;HGp7zbLEvyl$xQ}l9+J0^ol)qv@Zr{EQ9*ZfBOfdusUj-w( z_QElvXy`mY;b?dcc9fb>8BTb*(g$%|`J2KJxeP|haN0qaqrUKZ9FizYh{*BmC}_NPRFq$4*3;!-0xcvnWOp&|*-C4F2f$pQn?k5HuT8UWI6U!4}x z7;2^zcXL)Vk~-XQ3I*TJ=XD+i{@P`I;d0ot+P2#P^3dj=Zv#nu1SHYK+#CbZJ(P z@hdTdKfi_K^UmKYJ-=P;N+0^aV&O#bR6<)fMJ78A@%5nCAH`g zefbkoT`EZ;J?Q8FRYX5I{j6&<`c3awKj~SoehWIY^Dlx_=1n5>y@I-z4R141=xRMK`{fsm62+I%Q|zR1i#m7op#}H?TOx zO#9}r{VtW5LSs!j;aqm0&6_%pxJf_jO0{?$FO>QFEtRXK47@wM`a6JDkCg|5wm@G< zQt>6w^>&!w95~MlW!s=ABn){IIZ()T^BI@~4-}vB?@2)5u&r2#%ZycfsAhVNSGE?r z&HF=j3z_U$v$P;G6{ySAIV@sU-&T_tzUN1@Z+9=r8*q2Ds@zL^c%a+SwvwK9MEmbE zR)4yDP?vR^ifnYMsist_*7hAh3D|({0rSR~akKor8}Lk<s+Q%N(SA%>kQ6z^oR4(ci&F;1NDH9~Ns)es*v z3T##BgMuJ`F%k$laDv4|LjXGZb^K%zV7I#-!jVhl?)L_MGzVVYAbC_~ZO`LTiGpBK4$L@=nry*UON*rmidrOo zb%){-!@)x}^yKrt!3`Rn5d78=1s z94snDo1nZyjc`AQ1^K-u<`32+jG|&My6=y=R=0V;N=cC>%6vbR_OxMHWW8V46 z5M3$sGPi%YhwT!%sBkcp_IeC04F0_i5mh=5x_r7R+h#Xe(`F{oK7~`i_4iKjFpSDW11uP%kOB7=6^&cU3BqjknHFkK|+Oc=O<|%^u6|qdbiO>jNS68z)X^i*f zaIwc%Z&_Mg<~g%B=mj#yRO1#1$y$@c+NiBPM`GZoC!?JMViZp)jTfQPTi5L!Gbf#L z(}j(#GDpgnoeu|F*rxhb5R<#%)?oB44t{8wsV|Y<8oQ|Y16M2ZAn}LZ%3p9w*Y9F8 zv|#z*W(y8Qk+0W724hd3C=_>-QPw}8IgY|I8k=@<5Vm%m3*M=V{h|aHy;c=erqVJx zIINZpdr3|l^pd*}2MZ#AkCdH^Hm@CQ)bdx?RG;a-BT(TGA|y%uHbfll&3PAWH`R2Z z0QN%U%=SERk%-BeZGCGLRgm|56qM$|2Thk$c^rxWY_e<~C9|3)#XLPMpRLl8C|G0) z0!jDCK zM8%$r(pw9;l_c4%Obe7aJ6T9yiRoBNQ?G)MY#55s-LfEqfOjP0&f9|CQwv}-KN%*yuK9mL_-8qUV`XY|pa!MBfQgUHJjcz_ z7og?Wj~HwyZF|L5Z)`mhBL|?yIlAt6Kg%HiNg3+kOdcuz(QEys52F#jbmIXvJh+Bi zf*M(k(Ww7BD{Tq%dPDXU%IE=i!RmaJs>j6~{wGYFy%ing)8C_H_+LFADk8GCrR>7L zckgOC4}_#a!_!p;7V~$2-4!=q44Cg%9ph zV>2XbLr6UC2m0fkKHVSZ(3~3bd(ZpK$6V_eyd)TA(r8fI+cD2$qnXVXvwya$wxw)$ zYvssCXfK3ERvz=SckaJ=lZY?g^FA2}*(-3!lUv|@vGY(WuIPgr2VC)FIFdzPmYP)_ zPTe=9Ro!)0Yfb1c(F{Rcr?5n!qNQYF1itMrsJPB>n~w{I!iji_ZFRUdM+AOaq^=Hq z>uW3Y9O_ujT+TvDemAc?KFD;FA4^Mno$1~*d1*QJ|_R4JRXp=3z zlu1+^2@KoCe+=8xU$?LsCVQAz#|XqdUxBBfr=INb)e85lr3fLERcxOuL zk)6cK!i%M+A%ffUWn3R*j5nc>xN-H~w!$?!}c zF7Z{lAK<|~7!VZQHm-FnKqTJSkh|gD_^#@Y>v(l(S`QzIbb@&|uebDxW`lIWDa~@P z=OrKozGFnDe{;#TGPP3_bm?_t)5vd{=kYy!BfF<%4r=g)f_k1W-NtOS!Y`NFhLmUy4$H0aP+&^y9vq7@X$x2?m zn#Ovti~3X%mXY%<&CIPQ<&)%ra4Vbb5Kh0fiwvtYvr)(AA(w(3=S1DbaqBxIy4_C^ ziH}9DV?mPez_m4a32}p`bxscDwois_ge0i3sdTQPF?TNbGbI>Sz*0w*^Gh1}fA$0O z2ZP(hAH8?U-L&na-v&kMRHmwq>#|OmM5le2w74#-AI_@d(8n=ibOj z9{-LQo-g?WG){@`5Jc5FIv!bBuWcrRRiQU^Jb`0QmLma&D;;{Cr_YQ&V9b+qGV(rnJqLq10D~P$ z)&x8@uDGZ7S;4+YCmWZ`1R?3jU7^(1AQZppyz=3IlZfqmC{BIkQ#X~_vF?pgW04sr zsQ|^3V-9TE{i0CtGF}W{U0vPeU&9&bUtV4QO-v{`0STpyg21MWd2I0&B1`9+-&lZY zM5pw~hNL;o*w;(Npd-*5=Ux+4|9u>q75+OyDbfwX{P(*pV|`2NV+psEwXYb+{?uq$ ztg774?PROC#%ZJr+s}2IdMqtX8pQKn_5yJEw}_KyUBTeqwmR37XM(2kP@1?eJyL;1 z8PO|L+8P>P#JzDJCBt9<2HlpGSWGej4N}ht*kkzHfbyeIY+6D6?)w^}K%w@RkJxnW zbpl55c)`HyYQ5-sCf0k~iakmZ-DOm2N%EvJ?6z*aH`Pv#C1gA1+m#TBY&5UWq4A(C z!0CGXIMi=-`+2z|p*Jvi>C&2@W^fz?hWW>k_n~4;$Qd`H#1aG{xuYmAs3E`2u_*3m zK-0cs`*QZDDxco$Fm+m}$y^`rrV(!n+tkfrrKArcO&QZGMa8{!PCxT0AtZ|Ci%<|d z5Ms7#htUCFI? z?YBV|)R#kVmUdfW!QYWv`moB@_|l6#C_k5RL9$1vyzmlE@;+USkUa{1jN7SjNzVL=_2AMLj)$mtDhCh*{JSm@1|LZvSf8*YcfbyCO zR;m7CPj{pi{^-Vhl5tVaK{3kk&1g|zC864qPc<9wk0FWf+0)CjqYL1|1Cl zENZjJ{Da!K_vXBttutt7373%%dh;TtW|dwFEaPzBF7)_H&#T?6CWX)mp|=GukL~cl zeY0yi*H+Zlwx5U1PxQeoI83|Q?$4jnOaKgu5rP`srd%5GT#qK@wzZtKVo@AA&C;Jg z)No6^4jfxb-TX+- zA?f+F==Nw0n|8)gkNFC^h|Jp^Sv@(?7ZDM$rxmMkp2X0XzMCs{DEKU83Yqc-VF7J$h^l`O_ZHQ6n-Iol~?-&AW_n^uPN?6kc+t;Q(qgsdVg+q-fs zTnOy=7i()~o+Zw75%&5@X1Ene$Y;7E-}!Pvp!DS4?u{KnC)HrOuGTsc3g++ar6%MU zgH2!Pj*LposD834KOr?7O3QK)pK(r|$&uI{_ldglqw2ETv z%P$U#SDxP>lA6(w(%#Rq%Op`)8ISs=j3?iFvbm2Z9%IIc1A$&3>06(@f9@PV-ecrL z1@DAL`*D}5im%6z>B&jz_`-|_5{a0*xQ#=rlUvF1;EwELJ;^hdVSEJ$i+=#4(6{~G zEMYORm?0nDz||tZONipN4iEc+vhSPD!Vw9}kf_S}H@R+gTfoxv%bQ_BPvCNQR)LVa zp4eGCTD}hq0$+ks#0ff9-Zz!UM@E)rG+hV+Ppkfuxpwu02O9EF+BgAJxStJy_{CA5 zL34%|)`rpY2DU2xijA%n1|mE!o~Ifts=g{!>+>-aZUF8Uee1T5ty6pj{w_HjT^6 zrd(ma+8P?NwQ9!f2bM}%Yg=uZu0)DytuEyXVN=UqAr4CSRc62pOb1Y?jq>_-uTU=c zvxsMVxIXKQ7}yv-9SmbqhJ^v-G6-Caes49t@Tuzrvo(Jv(Fl%W)0h<*-1q{Z-0`m2 z255aV7*2{ zq#<5REaFM`=H%yD;O=DN1i!}9!CG;78m(!c5>tmWF$RY-5yKV%unRZ9$@ui&6@z%# zA_x(cJ3rOdbV&4b^2f8w0RbHB)?13RRlcnx zmgqCzcBQi9kv$6U|CR@#k>;Ak;?+B_lT3grK)^t+a}r9n>gSH!9%J+&UOPi;p*6tG zBB8WgDs_{fV0kWyMz!jmn*D%c6;qcN+tT;ga^VO!U#|Cyyk2Il1q&`q_lv^!SMA7x z226DcupswHfXWKh9*YT9-U6@)@Gm5(rcrV>_A?Qn?47p{>_F z`RW0Kg*F4^5=?CP0vVOb6plH|I}+3f6>+9gU&GH_BO-wqa9WiW@wrR@lP`k^6ilY{ zbxC#T9{LRY5{u-h{D(Kk0YZ`^aZ59iZQqx9ZDM6=G{ZGdj%pz!2QDUb2yJ?Zmg}A# znf8Fm@$vd9(9=mnE{RDUet2-|O9=qioFx2qFnpc)Q0m_Yn~Assp7aKJXGBfjpKi#O z-&3vPQL`84eOq!f3!!T}7N8hkFl5j^do4@K>n_ihs*2OmP8E=%odOVxT*CuWWL|f` z<(4oo{dsycRO(U^ZDKPpg@n?{a+eE$wIDr9-6XL5!=$0Ct12ohTeu0tL&GYog-V1= zTX~m?G|?&c&GAl0>@~*+c~7u>js#0d;2bo72zB25H9NDl_-s!rqY>BVP=#ctn=6GW zs-<;PP_cpWH{v<%{1nm7Hke@g2E`gvbSlteYg|zzuNr1=>3w$TTZ5!8((zmDNzo~G zEjzYH>?Oy`1xQK5^@~b1>#Bv%L8%M|0jg!!~~-M z;O9} zdOGaW528dLTD8VzWOrRNwt>Buw#I5^Vuk}7b#wU%N+&&RI>jZ;IzyKV{f9OZ}Z+t)=x zX)DzRL7#pweO-1EwESt8Bn3Q|#HV7Zdq%V(w@yW)^$=*+oHrm9{R1MWY@|L842^~4cNLe=#2%Uag4yD<}+zm+~ zb99AmOQ4I;x18f9jkgezrV3ubXI;a1LC{>m^!Q+{4y?8V6yb+3l%nOM52q1zCN=zy z#|1^`X+`j70fff<%#_qI$0Fk^cO)ayz_{YP%~E?mqX#*<5V7aPk|wj|x`fg(+Y)Nm z02yv>F(88HF{vD_{Kg{M$q%|RMKF>(s??&7lY@zS^`Mm0tTn!JB!e9`-CT5ksht-_ z?UqMvq}DX<9Jk%M3d`vn+5%qTmg)8PVf;d%62yr9J}RW;SF?`4K<);6g@O#j=+;Xg^%laLgV{^)b{ts=c5u$ax^~V@FUp{G#L!?*{z3hFVb=-r5&oT1{N%gYi;0(ZyGQ$fT#!q zF1DWaJN}qhpR~G6R2J|mn=6C2p;j(huX$NsVs09Q59Pt#z9;MzR26kg8B+O zHiM3aEcIEH*Nz3h4NxI0Kc4qxV5?S%V^Bm`gcyZFdp!zrkBp~S*VS~V;lmbH8WT3{ z7fU-b5LS`>38kVhmDIQZ9+gWX(Qqgg1M{hLR9uBDEcIkgT@My`m|!B+4=6Pd*pyb( z92Glm%(Nlt7VL)la=T*rlP~qQe+?a5KHR3xcSc*+;bd;br;1?Hrdrx7L7+|`TyF#| zzPQcn+yL~bZV?mzDbFoXi;6?qzChw58k>C_Qnoe)Wj4>|CX{0VLh5dl5>%8|uvqE7 zFLF(-0p~4$=w*3>7rd-iz@NI;J3t^LQ!4y`xjc{m06gK@7&PeMX3x_yV~f)qc^gvh zQ0W+gO-s!I!}3}vmXeDBI9FxztsH20pZ-Df^Cz85A;ICJs_o@yH}ZgURCV$ZrRGATHW4 zjE>W%p|!)tWEMHCs4K1{(H3@C4$9L#Ej*h<$wt7X`Zw2RbdPK9WEOjN!sOaVv3w3# zAtWDvih!X}Aa|fYhVTW0^X$=netvC!wsj1JwKE5IK{%xHs zQ!&;lQ2X^+LOEL)EMjAgDypaeL`aXxAePV5$V6Q6(5}8t8>5Hr^}bLjtx`{9<|Frd z{mV(T$9q#k+?ZhzGwYM2joW$Ro%#iS2=+g~%q@hb}Te=bymqi`;mWfO0yHH#c0!$#&-`^kY*SZ9vsPnnH zp^cytjQda42b=cEaIxvjx2L~vObQP7Iz>UUmr7b`y4Q7Prm$X{7|dDD(8A$&()wh9 zW`O)mLSz59bL`1pGYEL-0b2R!1?b35;%U7YPLN1)x&9FL{}G~6jIc@pl5KkxOnHk2 zfoZ-Y7_LZtTPaXL;VE;LUv~1N%kX>&EG!>It}F={k2%K6Zx5SC+Y8m80GB`-3N#%` z0WP~3Fv|s$CzD~}v#gohr=gfKW)*ode{Ugmzy6R^aqG_r@VnG0y&K-jcB^YG6UGS?VyvI|S4BARH=*MX4&P$Ubv3oVe=eI|b%p zB|Tb*#0i}cqzf`t?5{)=27|qO7Rf0BBXu0pE$4hZj@r5*~)w~RR z5r^p&VesP0_fIRVM`5DUi$GYE?GG|3{vlK~HS4~4O{W?><^(3^r4NwDsYw?Q5a=ZX zEPoo*-i4YKX*ZgJ3X~fZmeNE;ah0}Fy2Nc6{H;zuR`@rrp&AmMmZAxUWB9m|H*yq# z%I2_UfhgpsJf|Y40)b)j88p9(T*7fnG0X$NVCGXS4`7eaGUEA|e0X_M_YmKQ>WStSmlSZWl%%CLau`u;Rt!VEF!> zl{8HBVG9U6l?O73hM~yh&*H$Beq!_~sg>(E6e~MEXp!)3z zs*7bw#KXpecS<}p_QV-DxX~Ie%xnu4B|SmYu%N3?pN)Z_@DUtBg6ZkZEp+%x7#75c zLr2{llxi%I1Z*d#U#k3>pMR4MXbdOcyx|{Z7Vz4vX}Q!l7c1 zkzw60eH`LJRgNyYV38fFm(DO2H?zr4Pxl=GVAsSR?j^vT*5^A0>0Be^k*>NlDGpGKw?aa;Zn-e)VlJ$1L~80n;gG z;0~yXvAoII1;^FhY-=3%e;VGgmFI;Aiz1P#hkkI8@CFq>5_K{#H_F(TDCvHA%2)ny`~Nq=36ko-QihNF;p zF2It##;{}}fN7zoG&zbtIW$-V)Wb{fdSOtKg3a{m1FrZB;7p4X34|5@Qx#(6w_sJk z9W6RUZuLmLyG;Q`^eDn2;>p2;jvF zlKY+l%qdL*Ts?U-CI@=UQdjhG9f9}p}IO(}!g;R3hk9{j|; zo)4p~pi#Qnq=yl{IFf@J*imoq)J~E+lJfY{o&ko@eU5L_PbUmo|3N(C{geFh+KnVb zR`xqP?X3LV{tDw1HNW^nRtZYn7RBkt`J~=kx~2>>XNFw?)*(Cnjv}Cv?a-VOzxf9$ zeF~!D0HO@oOYw(5o`IRUi_Jv6(^dlX-HyjI6m`MsbJ0~V01{qi<%0otwz7mx%MA4Daf*y0=# zIELb1PMhVNrt)MVzs_>T^Vlt*lx1wh4EW@gQJLu7u~}O-NE^(1rl<1jiurC;S&wxv z$gD-XyCb86mZ7-W((tz-yP%kVy^{!t3dlBtstzQ;)ev}!$VEV`WL42BoWhEKZ1w2K z&yI`!3z4~o6K{u%*M>ilydtczYW1(D1RzU*hYJSJ*F=+sf}F1+M%)?YVoNgs?3B={ z0nI&5DO~;&G_?bSjSo)JT`lm{SHy!rm6(BycfC<$ zg+MFu8a>*NLA=i}z6WYL+r^$VYV|aFdxIMRwSgX&MIYO2l$-(aZ!qFEd7xVDdU7-# zJ??s7+AQA^eGct`z3(6@Hf)U`WD7k{PeL3Ni92QpNQ?-CQ);7@+ffN16kP7CzWhU| zYpyR9txSRX83$mNGyS_xQ)xe*U~=E%yN;Td-iI!4m=z*g%_a^t-aPOzvT2Ou}21evZ!9+tFGxg8cb9{yY#<&+*w_a?=F zKot!#=2OYR`X|_+2YJLHYWRs?S&{M7jfhh?JsC=X%XY{uh&E9rv#=O z-)`m6b19VGnh(|Cq__?5Os2*}7Vi1`i~FS$4LOTOu zZWrLItp9ew1sxXJvT)Zpqox|=?cRyw$%$%Uk;xvHW4h(-%`s8d8#6?3-zLu&H7>YX?y6y`~IE0XL;anb7sHC zP{TWysKda=QP@$UGD`yWU`F35v&^HSozZVGDbBSR?