diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 9300cc846..6de956328 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -85,6 +85,12 @@ All pull requests must comply with the above requirements and with the [stylegui Translations are managed on [Transifex](https://www.transifex.com/keepassxc/keepassxc/) which offers a web interface. Please join an existing language team or request a new one if there is none. +If you open a Pull Request with new strings that require translations, you will need to run the following: +``` +./release-tool i18n lupdate +``` +This will make the new strings available for translation in Transifex. + ## Styleguides ### Git branch strategy diff --git a/.gitignore b/.gitignore index 9ab62e190..766c9018f 100644 --- a/.gitignore +++ b/.gitignore @@ -25,4 +25,8 @@ desktop.ini CMakeSettings.json CMakePresets.json .vs/ -out/ \ No newline at end of file +out/ + +# vcpkg +vcpkg_installed*/ + diff --git a/.tx/config b/.tx/config index ce45c5ebd..83910523a 100644 --- a/.tx/config +++ b/.tx/config @@ -1,14 +1,17 @@ [main] -host = https://www.transifex.com +host = https://app.transifex.com -[keepassxc.share-translations-keepassxc-en-ts--develop] -source_file = share/translations/keepassxc_en.ts -file_filter = share/translations/keepassxc_.ts -source_lang = en -type = QT +[o:keepassxc:p:keepassxc:r:share-translations-keepassxc-en-ts--develop] +file_filter = share/translations/keepassxc_.ts +source_file = share/translations/keepassxc_en.ts +type = QT +minimum_perc = 0 +resource_name = keepassxc_en.ts (develop) + +[o:keepassxc:p:keepassxc:r:share-translations-keepassxc-en-ts--master] +file_filter = share/translations/keepassxc_.ts +source_file = share/translations/keepassxc_en.ts +type = QT +minimum_perc = 0 +resource_name = keepassxc_en.ts (2.7.x stable) -[keepassxc.share-translations-keepassxc-en-ts--master] -source_file = share/translations/keepassxc_en.ts -file_filter = share/translations/keepassxc_.ts -source_lang = en -type = QT diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fe082165..b90442ab5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,235 @@ # Changelog +## 2.7.9 (2024-06-19) + +### Changes +* Passkeys: Ability to easily remove a passkey from an entry [#10777] +* Snap: Use new desktop portal for native messaging integration [#10906] + +### Fixes +* Improve entry placeholder/reference feature [#10846] +* Improve CSV importing when title field isn't specified [#10843] +* Improve encrypted Bitwarden importing [#10800] +* Improve database settings UX [#10821] +* Improve handling of clipboard actions from entry preview [#10810] +* Improve group/entry view resize behavior and set sensible defaults [#10641] +* Passkeys: Fix incorrect username fill [#10874] +* Passkeys: Return additional data to the extension [#10857] +* Fix password clear timer inconsistency on unlock view [#10708] +* Fix portability check [#10760] +* Fix page overflow on HTML exports [#10735] +* Fix broken builds when using system provided zxcvbn [#10717] +* Fix copy password button when text is selected [#10853] +* Fix tab ordering on application settings pages [#10907] +* SSH Agent: Fix broken decrypt button [#10638] +* Windows: Fix ALT Auto-Type modifier [#10795] +* Windows: Fix wrong DACL memory size allocation [#10712] +* macOS: Fix monospace font sizing [#10739] +* Flatpak: Fix configuration settings off-by-one error [#10688] +* BSD: Fix compiling with libusb implementation [#10736] + +## 2.7.8 (2024-05-05) + +### Changes +- Add hotkey for showing search help [#10591] +- Add hotkey for group switching (Ctrl+Shift+PgUp/PgDown) [#10625] +- Add per-database auto-save delay setting [#9100] +- Add setting to hide menubar [#10341] +- Improve Bitwarden 1PUX import and support organization collections [#10499] +- Show advanced settings checkbox only for settings that have them [#6513] +- Remove obsolete setting for requiring repeated password entry [#9722] +- Passkeys: Allow registering Passkeys to existing entries [#10408] +- Passkeys: Show warning about data being unencrypted before Passkey export [#10411] +- Passkeys: Support NFC and USB transports [#10402] +- Passkeys: Pass extension JSON data to browser [#10615] +- SSH Agent: Do not use entries from recycle bin [#10518] +- Linux: Change hotkey sequence used for {CLEARFIELD} Auto-Type [#10008] +- Windows: Improve DACL memory access protection [#10618] + +### Fixes +- Fix crash when deleting history items [#10451] +- Fix crash on screen lock or computer sleep [#10458] +- Fix search field not being focused after unlock [#10459] +- Fix loss of window focus when Auto-Type needs to unlock a database [#10555] +- Fix inconsistent TOTP visibility on unlock [#10009] +- Fix CSV import skipping over single-name groups [#10575] +- Fix key file folder being remembered even if disabled in settings [#10636] +- Fix issues with entry editing and database locking [#10667] +- Fix key file text when provided on command line [#10642] +- Fix issues with hardware key auto detection [#10663] +- Do not override monospace font size [#10282] +- Perform group sort only when group view is in focus [#10202] +- Do not show decimals for attachment sizes in Bytes [#10595] +- Prevent merging of global custom data when merging databases [#10452] +- Fix minor translation issues [#10635] +- Passkeys: Fix StrongBox incompatibility [#10420] +- Passkeys: Set RP ID to effective domain if unset instead of returning an error [#10384] +- Passkeys: Various UI fixes and improvements [#10427, #10608, #10609] +- AppImage: Fix URL opening [#10624] +- Flatpak: Fix application autostart [#10563] +- Linux/macOS: Fix button sizes on modal alert popups [#10500] +- Linux: Fix clipboard clear on Wayland [#10500] +- Windows: Preserve file-hidden attribute [#10343] + +## 2.7.7 (2024-03-09) + +### Changes +- Support USB Hotplug for Hardware Key interface [#10092] +- Support 1PUX and Bitwarden import [#9815] +- Browser: Add support for PassKeys [#8825, #9987, #10318] +- Build System: Move to vcpkg manifest mode [#10088] + +### Fixes +- Fix multiple TOTP issues [#9874] +- Fix focus loss on save when the editor is not visible anymore [#10075] +- Fix visual when removing entry from history [#9947] +- Fix first entry is not selected when a search is performed [#9868] +- Prevent scrollbars on entry drag/drop [#9747] +- Prevent duplicate characters in "Also choose from" field of password generator [#9803] +- Security: Prevent byte-by-byte and attachment inference side channel attacks [#10266] +- Browser: Fix raising Update Entry messagebox [#9853] +- Browser: Fix bugs when returning credentials [#9136] +- Browser: Fix crash on database open from browser [#9939] +- Browser: Fix support for referenced URL fields [#8788] +- MacOS: Fix crash when changing highlight/accent color [#10348] +- MacOS: Fix TouchID appearing even though lid is closed [#10092] +- Windows: Fix terminating KeePassXC processes with MSI installer [#9822] +- FdoSecrets: Fix database merge crash when enabled [#10136] + +## 2.7.6 (2023-08-15) + +### Changes +- Significant improvement to visual when drag/drop entries [#9698] +- Automatically prompt for Quick Unlock when showing unlock dialog [#9697] +- Improve colorful lock icon and fix file MIME icon on KDE [#9632] +- Ability to search by entry UUID [#9571] +- Add challenge-response support for NitroKey 3 [#9631] +- Auto-Type: Disable entry level Auto-Type when disabled at group/entry [#9672] +- Browser: Show warning when adding duplicate URL's to entry [#9588][#9635] +- Browser: Improve error message when proxy cannot be found [#9385] + +### Fixes +- Fix crash on exit on macOS [#9620] +- Fix crash on search if entry doesn't have a group [#9633] +- Fix several issues with Quick Unlock [#9697] +- Enable save button when not auto-saving non-data changes [#9634] +- Several UI/UX fixes [#9647] +- Move toolbar back to top of window when disabling movement [#9699] +- Browser: Fix closing password generator dialog with X button [#9636] +- Browser: Fix handling of expired credentials [#9595] +- Windows: Prevent white flicker when launching application [#9637] +- Linux: Fix warning message about allow screencapture [#9638] +- FdoSecrets: Fix access confirmation dialog showing even when disabled [#9690] + +## 2.7.5 (2023-05-14) + +### Changes +- Add menu option to allow screenshots [#8841] +- Add support for Botan 3 [#9388] +- Increase max TOTP step to 24 hours [#9149] +- Improve HTML export layout [#8987] +- Turn search reset off by default [#9153] +- Use QClipboard::clear() instead of setting blank text [#9148] +- Hide group column header choice when not in search [#9171] +- Improve look of KeePassXC logo and icons [#9355] +- Add keyboard shortcuts for app and database settings [#9007] +- Hide rename button from attachments preview panel [#8842] +- Linux: Set SingleMainWindow in .desktop file [#7430] + +### Fixes +- Fix crash when search clears while creating new entry [#9230] +- Fix crash when using Windows Hello in a Remote Desktop session [#9006] +- Fix crash in Group Edit after enabling Browser Integration [#8778] +- Fix canceling quick unlock when it is unavailable [#9034] +- Set password input field font correctly [#8732] +- Greatly improve performance when rendering entry view [#9398] +- Fix various accessibility issues [#9138] +- Fix arrows size when expand/collapse a group [#9096] +- Select the clone instead of the original after cloning an entry [#9070] +- Fix bugs with preview widget [#9170] +- Fix status bar update when switching to other DB [#9073] +- Fix database settings spin box bug [#9101] +- Fix Ctrl+Tab shortcut to cycle databases in unlock dialog [#8839] +- Fix TOTP QR code maintaining square ratio [#9027] +- Fix Auto-Type configuration page on custom sequence selection [#8752] +- Fix unexpected behavior of `--lock` when KeePassXC is not running [#8889] +- Make open folder icon exempt from "Apply group icon to entry" [#9205] +- Allow setting default file open directory with env var [#9192] +- SSH Agent: Fix support for AES-256/GCM openssh keys [#8968] +- Browser: Fix Native Messaging script path with BSD OS's [#8835] +- MacOS: Fix text selection for Auto-Type clear field [#9066] +- MacOS: Don't rely on AppleInterfaceStyle for theme switching [#8615] +- Windows: Remove registry detection of desktop shortcut [#9380] + +## 2.7.4 (2022-10-29) + +### Changes +- Add 2 months expiration preset [#8687] +- CLI: Add Unicode support on Windows [#8618] + +### Fixes +- Fix crash on macOS when unlocking database [#8676] +- Fix display of passwords in preview panel [#8633] +- Fix clicking links in entry preview panel [#8644] +- Prevent expired entries search if no results returned [#8643] +- Browser: Revert code causing connection problems [#8665] +- Browser: Fix socket file symbolic link on Linux [#8656] +- Flatpak: Fix launching browser proxy service [#8680] +- SSH Agent: Fix paegent support on Windows [#8619] + +## 2.7.3 (2022-10-23) + +### Changes +- Enhance Tags Support and Add Saved Searches [#8435, #8607] +- Significant improvements to entry preview panel [#7993] +- Add password strength indicator to all password fields [#7885] +- Limit zxcvbn entropy estimation length to 128 characters [#7748] +- Try full URL path when fetching favicon [#8565] +- Hide usernames in preview panel when hidden in entry view [#8608] +- Enable dark title bar on windows when accent color is not used [#8498] +- Add option to display passwords in color in preview panel [#7097] +- Add XML Export option to GUI [#8524] +- Increase entropy required for a "good" password rating to 75 [#8523] +- Add shortcut to copy password with TOTP appended [#8443] +- Show entry count in status bar [#8435] +- Allow KeePassXC to be built without X11 [#8147] +- Enable use of VivoKey Apex and Dangerous Things FlexSecure tokens [#8332] +- Add setting for number of recent files [#8239] +- Add Ctrl+Tab shortcut to cycle databases in unlock dialog [#8168] +- Replace offensive words in eff_large.wordlist [#7968] +- Auto-Type: PICKCHARS can specify attribute and ignore BEEP [#8118] +- Linux: Add isHardwareKeySupported and refreshHardwareKeys to DBus methods [#8055] +- Add config variable to specify default database file name [#8042] +- Support numeric aware sorting on Windows and macOS [#8363] +- CLI: Add `db-edit` command [#8400] +- CLI: Add option to display all attributes with `show` command [#8256] +- CLI: Show UUID and tags with `show` and `clip` commands [#8241] +- Browser: Move socket into separate directory on Linux [#8030] +- Browser: Add group setting to omit WWW subdomain when matching URLs [#7988] +- FdoSecrets: Ask to unlock the database when creating items [#8022, #8028] +- FdoSecrets: Skip entries in recycle bin when searching [#8021] + +### Fixes +- Fix potential deadlock in UI when saving [#8606] +- Fix newlines when copying notes from preview panel [#8542] +- Fix dark mode detection on Linux [#8477] +- Fix crash when deleting items in recycle bin while searching [#8117] +- Fix crash when trying to close database during unlock [#8144] +- Fix tabbing around the interface [#8435, #8520] +- Fix OPVault import when there are multiple OTP fields [#8436] +- Fix various Windows Hello bugs [#8354] +- Fix use of Apple Watch for Quick Unlock [#8311] +- Better handling of "Lock on Minimize" setting [#8202] +- Check for write permission before entering portable mode [#8447] +- Correct regex escape logic to prevent parse errors [#7778] +- Normalize slashes and file case for last used databases [#7864, #7214] +- Link ykcore against pthread [#7807] +- Auto-Type: Fix menu entries in selection dialog on Windows [#7987] +- Auto-Type: Fix use of modifiers under macOS [#8111] +- CLI: Fix output when using clip with the -t flag [#8271] +- Browser: Use asynchronous access confirm dialog [#8273] +- Browser: Always send database locked/unlocked status [#8114] + ## 2.7.1 (2022-04-05) ### Changes diff --git a/CMakeLists.txt b/CMakeLists.txt index db732d677..1c4af09c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -cmake_minimum_required(VERSION 3.3.0) +cmake_minimum_required(VERSION 3.10.0) project(KeePassXC) set(APP_ID "org.keepassxc.${PROJECT_NAME}") @@ -53,6 +53,7 @@ set(WITH_XC_ALL OFF CACHE BOOL "Build in all available plugins") option(WITH_XC_AUTOTYPE "Include Auto-Type." ON) option(WITH_XC_NETWORKING "Include networking code (e.g. for downloading website icons)." OFF) option(WITH_XC_BROWSER "Include browser integration with keepassxc-browser." OFF) +option(WITH_XC_BROWSER_PASSKEYS "Passkeys support for browser integration." OFF) option(WITH_XC_YUBIKEY "Include YubiKey support." OFF) option(WITH_XC_SSHAGENT "Include SSH agent support." OFF) option(WITH_XC_KEESHARE "Sharing integration with KeeShare" OFF) @@ -62,6 +63,27 @@ if(UNIX AND NOT APPLE) endif() option(WITH_XC_DOCS "Enable building of documentation" ON) +set(WITH_XC_X11 ON CACHE BOOL "Enable building with X11 deps") + +if(APPLE) + # Perform the platform checks before applying the stricter compiler flags. + # Otherwise the kSecAccessControlTouchIDCurrentSet deprecation warning will result in an error. + try_compile(XC_APPLE_COMPILER_SUPPORT_BIOMETRY + ${CMAKE_CURRENT_BINARY_DIR}/tiometry_test/ + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compiler-checks/macos/control_biometry_support.mm) + message(STATUS "Biometry compiler support: ${XC_APPLE_COMPILER_SUPPORT_BIOMETRY}") + + try_compile(XC_APPLE_COMPILER_SUPPORT_TOUCH_ID + ${CMAKE_CURRENT_BINARY_DIR}/touch_id_test/ + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compiler-checks/macos/control_touch_id_support.mm) + message(STATUS "Touch ID compiler support: ${XC_APPLE_COMPILER_SUPPORT_TOUCH_ID}") + + try_compile(XC_APPLE_COMPILER_SUPPORT_WATCH + ${CMAKE_CURRENT_BINARY_DIR}/tiometry_test/ + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compiler-checks/macos/control_watch_support.mm) + message(STATUS "Apple watch compiler support: ${XC_APPLE_COMPILER_SUPPORT_WATCH}") +endif() + if(WITH_CCACHE) # Use the Compiler Cache (ccache) program # (install with: sudo apt get ccache) @@ -77,6 +99,7 @@ if(WITH_XC_ALL) set(WITH_XC_AUTOTYPE ON) set(WITH_XC_NETWORKING ON) set(WITH_XC_BROWSER ON) + set(WITH_XC_BROWSER_PASSKEYS ON) set(WITH_XC_YUBIKEY ON) set(WITH_XC_SSHAGENT ON) set(WITH_XC_KEESHARE ON) @@ -91,9 +114,14 @@ if(NOT WITH_XC_NETWORKING AND WITH_XC_UPDATECHECK) set(WITH_XC_UPDATECHECK OFF) endif() +if(UNIX AND NOT APPLE AND NOT WITH_XC_X11) + message(STATUS "Disabling WITH_XC_AUTOTYPE because WITH_XC_X11 is disabled") + set(WITH_XC_AUTOTYPE OFF) +endif() + set(KEEPASSXC_VERSION_MAJOR "2") set(KEEPASSXC_VERSION_MINOR "7") -set(KEEPASSXC_VERSION_PATCH "1") +set(KEEPASSXC_VERSION_PATCH "9") set(KEEPASSXC_VERSION "${KEEPASSXC_VERSION_MAJOR}.${KEEPASSXC_VERSION_MINOR}.${KEEPASSXC_VERSION_PATCH}") set(OVERRIDE_VERSION "" CACHE STRING "Override the KeePassXC Version for Snapshot builds") @@ -177,6 +205,16 @@ if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.14.0") check_pie_supported() endif() +# Find Botan early since the version affects subsequent compiler options +find_package(Botan REQUIRED) +if(BOTAN_VERSION VERSION_GREATER_EQUAL "3.0.0") + set(WITH_XC_BOTAN3 TRUE) +elseif(BOTAN_VERSION VERSION_LESS "2.11.0") + # Check for minimum Botan version + message(FATAL_ERROR "Botan 2.11.0 or higher is required") +endif() +include_directories(SYSTEM ${BOTAN_INCLUDE_DIR}) + # Create position independent code for shared libraries and executables set(CMAKE_POSITION_INDEPENDENT_CODE ON) @@ -272,6 +310,10 @@ if(CMAKE_BUILD_TYPE_LOWER STREQUAL "debug") check_add_gcc_compiler_flag("-Wshadow-compatible-local") check_add_gcc_compiler_flag("-Wshadow-local") add_gcc_compiler_flags("-Werror") + # This is needed since compiling aginst Botan3 requires compiling against C++20 + if(WITH_XC_BOTAN3) + add_gcc_compiler_cxxflags("-Wno-error=deprecated-enum-enum-conversion -Wno-error=deprecated") + endif() endif() if (NOT HAIKU) @@ -310,14 +352,18 @@ check_add_gcc_compiler_flag("-Wcast-align") if(UNIX AND NOT APPLE) check_add_gcc_compiler_flag("-Qunused-arguments") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-add-needed -Wl,--as-needed -Wl,--no-undefined") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed -Wl,--no-undefined") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro,-z,now -pie") - set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-add-needed -Wl,--as-needed") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--as-needed") set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-z,relro,-z,now") endif() set(CMAKE_C_STANDARD 99) -set(CMAKE_CXX_STANDARD 17) +if(WITH_XC_BOTAN3) + set(CMAKE_CXX_STANDARD 20) +else() + set(CMAKE_CXX_STANDARD 17) +endif() set(CMAKE_CXX_STANDARD_REQUIRED ON) check_cxx_compiler_flag("-fsized-deallocation" CXX_HAS_fsized_deallocation) @@ -349,7 +395,7 @@ if (MSVC) if(MSVC_TOOLSET_VERSION LESS 141) message(FATAL_ERROR "Only Microsoft Visual Studio 17 and newer are supported!") endif() - add_compile_options(/permissive- /utf-8) + add_compile_options(/permissive- /utf-8 /MP) if(IS_DEBUG_BUILD) add_compile_options(/Zf) if(MSVC_TOOLSET_VERSION GREATER 141) @@ -421,7 +467,7 @@ if(WITH_COVERAGE) append_coverage_compiler_flags() set(COVERAGE_EXCLUDES - "'^(.+/)?(thirdparty|zxcvbn)/.*'" + "'^(.+/)?thirdparty/.*'" "'^(.+/)?main\\.cpp$$'" "'^(.+/)?cli/keepassxc-cli\\.cpp$$'" "'^(.+/)?proxy/keepassxc-proxy\\.cpp$$'") @@ -447,17 +493,20 @@ include(CLangFormat) set(QT_COMPONENTS Core Network Concurrent Gui Svg Widgets Test LinguistTools) if(UNIX AND NOT APPLE) - find_package(Qt5 COMPONENTS ${QT_COMPONENTS} DBus X11Extras REQUIRED) + if(WITH_XC_X11) + list(APPEND QT_COMPONENTS X11Extras) + endif() + find_package(Qt5 COMPONENTS ${QT_COMPONENTS} DBus REQUIRED) elseif(APPLE) find_package(Qt5 COMPONENTS ${QT_COMPONENTS} REQUIRED HINTS - /usr/local/opt/qt/lib/cmake - /usr/local/Cellar/qt/*/lib/cmake - /opt/homebrew/opt/qt/lib/cmake + /usr/local/opt/qt@5/lib/cmake + /usr/local/Cellar/qt@5/*/lib/cmake + /opt/homebrew/opt/qt@5/lib/cmake ENV PATH) find_package(Qt5 COMPONENTS MacExtras HINTS - /usr/local/opt/qt/lib/cmake - /usr/local/Cellar/qt/*/lib/cmake - /opt/homebrew/opt/qt/lib/cmake + /usr/local/opt/qt@5/lib/cmake + /usr/local/Cellar/qt@5/*/lib/cmake + /opt/homebrew/opt/qt@5/lib/cmake ENV PATH) else() find_package(Qt5 COMPONENTS ${QT_COMPONENTS} REQUIRED) @@ -467,7 +516,17 @@ if(Qt5Core_VERSION VERSION_LESS "5.2.0") message(FATAL_ERROR "Qt version 5.2.0 or higher is required") endif() +# CBOR for Passkeys requires Qt 5.12 +if(Qt5Core_VERSION VERSION_LESS "5.12.0") + message(STATUS "Qt version 5.12.0 or higher is required for Passkeys support") + set(WITH_XC_BROWSER_PASSKEYS OFF) +endif() + get_filename_component(Qt5_PREFIX ${Qt5_DIR}/../../.. REALPATH) +if(APPLE) + # Add includes under Qt5 Prefix in case Qt6 is also installed + include_directories(SYSTEM ${Qt5_PREFIX}/include) +endif() # Process moc automatically set(CMAKE_AUTOMOC ON) @@ -496,12 +555,6 @@ endif() # Make sure we don't enable asserts there. set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_NONE QT_NO_DEBUG) -# Find Botan2 -find_package(Botan2 REQUIRED) -if(BOTAN2_VERSION VERSION_LESS "2.11.0") - message(FATAL_ERROR "Botan2 2.11.0 or higher is required") -endif() -include_directories(SYSTEM ${BOTAN2_INCLUDE_DIR}) # Find Argon2 -- Botan 2.18 and below does not support threaded Argon2 find_library(ARGON2_LIBRARIES NAMES argon2) find_path(ARGON2_INCLUDE_DIR NAMES argon2.h PATH_SUFFIXES local/include) @@ -514,9 +567,18 @@ if(ZLIB_VERSION_STRING VERSION_LESS "1.2.0") endif() include_directories(SYSTEM ${ZLIB_INCLUDE_DIR}) +# Find Minizip +find_package(Minizip REQUIRED) + if(WITH_XC_YUBIKEY) find_package(PCSC REQUIRED) include_directories(SYSTEM ${PCSC_INCLUDE_DIRS}) + + if(UNIX AND NOT APPLE) + find_library(LIBUSB_LIBRARIES NAMES usb-1.0 REQUIRED) + find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h PATH_SUFFIXES "libusb-1.0" "libusb" REQUIRED) + include_directories(SYSTEM ${LIBUSB_INCLUDE_DIR}) + endif() endif() if(UNIX) @@ -551,6 +613,12 @@ endif() include_directories(SYSTEM ${ZLIB_INCLUDE_DIR}) +find_library(ZXCVBN_LIBRARIES zxcvbn) +if(NOT ZXCVBN_LIBRARIES) + add_subdirectory(src/thirdparty/zxcvbn) + set(ZXCVBN_LIBRARIES zxcvbn) +endif(NOT ZXCVBN_LIBRARIES) + add_subdirectory(src) add_subdirectory(share) if(WITH_TESTS) diff --git a/COPYING b/COPYING index 35cfc1b1e..7e24fcf66 100644 --- a/COPYING +++ b/COPYING @@ -1,5 +1,5 @@ KeePassXC - http://www.keepassxc.org/ -Copyright (C) 2016-2020 KeePassXC Team +Copyright (C) 2016-2023 KeePassXC Team This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,28 +27,24 @@ Copyright: 2010-2012, Felix Geyer 2000-2008, Tom Sato 2013, Laszlo Papp 2013, David Faure - 2016-2020, KeePassXC Team + 2016-2023, KeePassXC Team License: GPL-2 or GPL-3 Comment: The "KeePassXC Team" in every copyright notice is formed by the following people: - droidmonkey - phoerious - - TheZ3ro + - varjolintu + - hifi - louib - - weslly Every other contributor is listed on https://github.com/keepassxreboot/keepassxc/graphs/contributors Files: cmake/CodeCoverage.cmake Copyright: 2012 - 2015, Lars Bilke License: BSD-3-clause -Files: cmake/FindYubiKey.cmake -Copyright: 2014 Kyle Manna -License: GPL-2 or GPL-3 - -Files: cmake/FindBotan2.cmake -Copyright: 2018 Ribose Inc. -License: BSD-2-clause +Files: cmake/FindBotan.cmake +Copyright: none +License: LGPL-2.1 Files: cmake/GenerateProductVersion.cmake Copyright: 2015 halex2005 @@ -144,10 +140,23 @@ Files: share/icons/badges/2_Expired.svg Copyright: 2022 KeePassXC Team License: MIT -Files: share/icons/application/scalable/actions/chevron-double-down.svg +Files: share/icons/application/scalable/actions/application-exit.svg + share/icons/application/scalable/actions/attributes-copy.svg + share/icons/application/scalable/actions/auto-type.svg + share/icons/application/scalable/actions/bitwarden.svg + share/icons/application/scalable/actions/bugreport.svg + share/icons/application/scalable/actions/chevron-double-down.svg share/icons/application/scalable/actions/chevron-double-right.svg + share/icons/application/scalable/actions/clipboard-text.svg + share/icons/application/scalable/actions/configure.svg + share/icons/application/scalable/actions/csv.svg + share/icons/application/scalable/actions/database-change-key.svg share/icons/application/scalable/actions/database-lock.svg share/icons/application/scalable/actions/database-lock-all.svg + share/icons/application/scalable/actions/database-merge.svg + share/icons/application/scalable/actions/database-search.svg + share/icons/application/scalable/actions/dialog-close.svg + share/icons/application/scalable/actions/dialog-ok.svg share/icons/application/scalable/actions/document-close.svg share/icons/application/scalable/actions/document-edit.svg share/icons/application/scalable/actions/document-export.svg @@ -159,43 +168,63 @@ Files: share/icons/application/scalable/actions/chevron-double-down.svg share/icons/application/scalable/actions/document-save.svg share/icons/application/scalable/actions/document-save-as.svg share/icons/application/scalable/actions/document-save-copy.svg + share/icons/application/scalable/actions/donate.svg share/icons/application/scalable/actions/edit-clear-locationbar-ltr.svg share/icons/application/scalable/actions/edit-clear-locationbar-rtl.svg share/icons/application/scalable/actions/entry-clone.svg share/icons/application/scalable/actions/entry-delete.svg + share/icons/application/scalable/actions/entry-restore.svg share/icons/application/scalable/actions/entry-edit.svg share/icons/application/scalable/actions/entry-new.svg share/icons/application/scalable/actions/favicon-download.svg share/icons/application/scalable/actions/fingerprint.svg - share/icons/application/scalable/actions/group-clone.svg + share/icons/application/scalable/actions/getting-started.svg share/icons/application/scalable/actions/group-delete.svg share/icons/application/scalable/actions/group-edit.svg + share/icons/application/scalable/actions/group-clone.svg share/icons/application/scalable/actions/group-empty-trash.svg share/icons/application/scalable/actions/group-new.svg share/icons/application/scalable/actions/hammer-wrench.svg share/icons/application/scalable/actions/health.svg share/icons/application/scalable/actions/help-about.svg share/icons/application/scalable/actions/lock-question.svg + share/icons/application/scalable/actions/keyboard-shortcuts.svg share/icons/application/scalable/actions/message-close.svg share/icons/application/scalable/actions/move-down.svg share/icons/application/scalable/actions/move-up.svg + share/icons/application/scalable/actions/object-locked.svg + share/icons/application/scalable/actions/object-unlocked.svg + share/icons/application/scalable/actions/onepassword.svg share/icons/application/scalable/actions/paperclip.svg share/icons/application/scalable/actions/password-copy.svg + share/icons/application/scalable/actions/passkey.svg share/icons/application/scalable/actions/password-generator.svg share/icons/application/scalable/actions/password-show-off.svg share/icons/application/scalable/actions/password-show-on.svg + share/icons/application/scalable/actions/qrcode.svg share/icons/application/scalable/actions/refresh.svg share/icons/application/scalable/actions/reports.svg share/icons/application/scalable/actions/reports-exclude.svg + share/icons/application/scalable/actions/sort-alphabetical-ascending.svg + share/icons/application/scalable/actions/sort-alphabetical-descending.svg share/icons/application/scalable/actions/statistics.svg share/icons/application/scalable/actions/system-help.svg share/icons/application/scalable/actions/system-search.svg + share/icons/application/scalable/actions/system-software-update.svg share/icons/application/scalable/actions/tag.svg + share/icons/application/scalable/actions/tag-multiple.svg share/icons/application/scalable/actions/tag-search.svg + share/icons/application/scalable/actions/totp.svg + share/icons/application/scalable/actions/totp-copy.svg + share/icons/application/scalable/actions/totp-copy-password.svg + share/icons/application/scalable/actions/totp-edit.svg share/icons/application/scalable/actions/trash.svg share/icons/application/scalable/actions/url-copy.svg + share/icons/application/scalable/actions/user-guide.svg share/icons/application/scalable/actions/username-copy.svg share/icons/application/scalable/actions/view-history.svg + share/icons/application/scalable/actions/web.svg + share/icons/application/scalable/actions/yubikey-refresh.svg share/icons/application/scalable/apps/internet-web-browser.svg share/icons/application/scalable/apps/keepassxc.svg share/icons/application/scalable/apps/keepassxc-dark.svg @@ -220,7 +249,7 @@ Files: src/streams/qtiocompressor.* Copyright: 2009-2012, Nokia Corporation and/or its subsidiary(-ies) License: LGPL-2.1 or GPL-3 -Files: src/zxcvbn/zxcvbn.* +Files: src/thirdparty/zxcvbn/zxcvbn.* Copyright: 2015-2017, Tony Evans License: MIT diff --git a/INSTALL.md b/INSTALL.md index 5bd818ec1..da62ffb88 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -6,34 +6,21 @@ For more information, see also the [_Building KeePassXC_](https://github.com/kee The [QuickStart Guide](https://keepassxc.org/docs/KeePassXC_GettingStarted.html) gets you started using KeePassXC on your Windows, macOS, or Linux computer using pre-compiled binaries from the [downloads page](https://keepassxc.org/download). -Build Dependencies -================== - -The following tools must exist within your PATH: - -* make -* cmake (>= 3.3.0) -* g++ (>= 4.7) or clang++ (>= 6.0) -* asciidoctor (>= 2.0) - -The following libraries are required: - -* Qt 5 (>= 5.9.5): qtbase5, qtbase5-private, libqt5svg5, qttools5, qt5-image-formats-plugins -* botan (>= 2.12) -* libargon2 -* zlib -* minizip -* readline (for completion in cli) -* qtx11extras, libxi, and libxtst (for auto-type on X11) -* qrencode -* libusb-1.0, pcsc-lite (for Yubikey support on Linux) - -Prepare the Building Environment +Toolchain and Build Dependencies ================================ -* [Building Environment on Linux](https://github.com/keepassxreboot/keepassxc/wiki/Set-up-Build-Environment-on-Linux) -* [Building Environment on Windows](https://github.com/keepassxreboot/keepassxc/wiki/Set-up-Build-Environment-on-Windows) -* [Building Environment on MacOS](https://github.com/keepassxreboot/keepassxc/wiki/Set-up-Build-Environment-on-macOS) +The following build tools must exist within your PATH: + +* cmake (>= 3.10.0) +* make (>= 4.2) or ninja (>= 1.10) +* g++ (>= 4.9) or clang++ (>= 6.0) +* asciidoctor (>= 2.0) + +* Besides a working C++ toolchain, KeePassXC also has a number of direct build and runtime dependencies. For detailed information about how to install them, please refer to the GitHub wiki: + +* [Set up Build Environment on Linux](https://github.com/keepassxreboot/keepassxc/wiki/Set-up-Build-Environment-on-Linux) +* [Set up Build Environment on Windows](https://github.com/keepassxreboot/keepassxc/wiki/Set-up-Build-Environment-on-Windows) +* [Set up Build Environment on macOS](https://github.com/keepassxreboot/keepassxc/wiki/Set-up-Build-Environment-on-macOS) Build Steps =========== @@ -57,13 +44,13 @@ To compile from source, open a **Terminal (Linux/MacOS)**, the **MSVC Tools Comm git pull ``` - For a stable build, it is recommended to check out the master branch. + For a stable build, it is recommended to check out the `latest` tag. ``` - git checkout master + git checkout latest ``` -2. Navigate to the directory where you have downloaded KeePassXC and type these commands: +2. Navigate to the directory where you have downloaded KeePassXC and run: ``` mkdir build @@ -71,40 +58,37 @@ To compile from source, open a **Terminal (Linux/MacOS)**, the **MSVC Tools Comm cmake -DWITH_XC_ALL=ON .. make ``` + +If you have `vcpkg` installed, add `-DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake` to the `cmake` command to automatically download and install all required build and runtime dependencies locally to your build directory before compiling KeePassXC. Using `vcpkg` is the preferred way to install dependencies on macOS and required on Windows if using the MSVC toolchain. -Note: These steps place the compiled KeePassXC binary inside the `./build/src/` directory. +For more detailed build instructions for each platform, please refer to the [GitHub wiki](https://github.com/keepassxreboot/keepassxc/wiki/Building-KeePassXC). + +Note: These steps place the compiled KeePassXC binary inside the `./build/src/` directory (`src/KeePassXC.app/Contents/MacOS` on macOS). ## MacOS Build Notes -If you installed Qt5 via Homebrew, you should be able to compile KeePassXC without any changes. If CMake fails to find your Qt installation, you can specify it manually by adding the following parameter: +If you installed Qt5 via Homebrew and CMake fails to find your Qt installation, you can specify it manually by adding the following parameter: -`-DCMAKE_PREFIX_PATH=/usr/local/opt/qt/lib/cmake` - -(or whatever your Qt installation path is) +`-DCMAKE_PREFIX_PATH=$(brew --prefix qt5)/lib/cmake` When building with ASAN support on macOS, you need to use `export ASAN_OPTIONS=detect_leaks=0` before running the tests (LSAN is no supported on macOS). ## Windows Build Notes -For detailed build steps see the [Windows Build Instructions](https://github.com/keepassxreboot/keepassxc/wiki/Building-KeePassXC#windows). - -If you are using MSVC, you may have to specify your Vcpkg toolchain by adding the following CMake parameter: `-DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake` - If you are using MSYS2, you have to add ```-G "MSYS Makefiles"``` at the beginning of the cmake command. CMake Configuration Options ========================== -## Common Parameters +## Recommended CMake Build Parameters ``` --DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE= -DWITH_GUI_TESTS=ON ``` -## KeePassXC Parameters +## Additional CMake Parameters KeePassXC comes with a variety of build options that can turn on/off features. Most notably, we allow you to build the application with all TCP/IP networking code disabled. Please note that we still require and link against Qt5's network library in order to use local named pipes on all operating systems. Each of these build options are supplied at the time of calling cmake: @@ -112,6 +96,7 @@ KeePassXC comes with a variety of build options that can turn on/off features. M -DWITH_XC_AUTOTYPE=[ON|OFF] Enable/Disable Auto-Type (default: ON) -DWITH_XC_YUBIKEY=[ON|OFF] Enable/Disable YubiKey HMAC-SHA1 authentication support (default: OFF) -DWITH_XC_BROWSER=[ON|OFF] Enable/Disable KeePassXC-Browser extension support (default: OFF) +-DWITH_XC_BROWSER_PASSKEYS=[ON|OFF] Enable/Disable Passkeys support for browser integration (default: OFF) -DWITH_XC_NETWORKING=[ON|OFF] Enable/Disable Networking support (e.g., favicon downloading) (default: OFF) -DWITH_XC_SSHAGENT=[ON|OFF] Enable/Disable SSHAgent support (default: OFF) -DWITH_XC_FDOSECRETS=[ON|OFF] (Linux Only) Enable/Disable Freedesktop.org Secrets Service support (default:OFF) diff --git a/README.md b/README.md index a2245590e..2cce89e8b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -# KeePassXC +# KeePassXC +[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/6326/badge)](https://bestpractices.coreinfrastructure.org/projects/6326) [![TeamCity Build Status](https://ci.keepassxc.org/app/rest/builds/buildType:\(project:KeepassXC\)/statusIcon)](https://ci.keepassxc.org/?guest=1) [![codecov](https://codecov.io/gh/keepassxreboot/keepassxc/branch/develop/graph/badge.svg)](https://codecov.io/gh/keepassxreboot/keepassxc) [![GitHub release](https://img.shields.io/github/release/keepassxreboot/keepassxc)](https://github.com/keepassxreboot/keepassxc/releases/) @@ -35,7 +36,7 @@ KeePassXC has numerous features for novice and power users alike. Our goal is to * Command line interface (keepassxc-cli) * Auto-Open databases * KeeShare shared databases (import, export, and synchronize) -* SSH Agent +* SSH Agent integration * FreeDesktop.org Secret Service (replace Gnome keyring, etc.) * Additional encryption choices: Twofish and ChaCha20 diff --git a/cmake/CLangFormat.cmake b/cmake/CLangFormat.cmake index b2df97d4d..df5469c4d 100644 --- a/cmake/CLangFormat.cmake +++ b/cmake/CLangFormat.cmake @@ -16,7 +16,6 @@ set(EXCLUDED_DIRS # third-party directories src/thirdparty - src/zxcvbn # objective-c directories src/touchid src/autotype/mac diff --git a/cmake/FindBotan.cmake b/cmake/FindBotan.cmake new file mode 100644 index 000000000..94d9df98a --- /dev/null +++ b/cmake/FindBotan.cmake @@ -0,0 +1,65 @@ +# - Find botan +# Find the botan cryptographic library +# +# This module defines the following variables: +# BOTAN_FOUND - True if library and include directory are found +# If set to TRUE, the following are also defined: +# BOTAN_INCLUDE_DIRS - The directory where to find the header file +# BOTAN_LIBRARIES - Where to find the library files +# +# This file is in the public domain (https://github.com/vistle/vistle/blob/master/cmake/Modules/FindBOTAN.cmake) + +include(FindPackageHandleStandardArgs) + +set(BOTAN_VERSIONS botan-3 botan-2) +set(BOTAN_NAMES botan-3 botan-2 botan) +set(BOTAN_NAMES_DEBUG botand-3 botand-2 botand botan botan-3) + +find_path( + BOTAN_INCLUDE_DIR + NAMES botan/build.h + PATH_SUFFIXES ${BOTAN_VERSIONS} + DOC "The Botan include directory") +if(BOTAN_INCLUDE_DIR) + file(READ "${BOTAN_INCLUDE_DIR}/botan/build.h" build) + string(REGEX MATCH "BOTAN_VERSION_MAJOR ([0-9]*)" _ ${build}) + set(BOTAN_VERSION_MAJOR ${CMAKE_MATCH_1}) + string(REGEX MATCH "BOTAN_VERSION_MINOR ([0-9]*)" _ ${build}) + set(BOTAN_VERSION_MINOR ${CMAKE_MATCH_1}) + string(REGEX MATCH "BOTAN_VERSION_PATCH ([0-9]*)" _ ${build}) + set(BOTAN_VERSION_PATCH ${CMAKE_MATCH_1}) + set(BOTAN_VERSION "${BOTAN_VERSION_MAJOR}.${BOTAN_VERSION_MINOR}.${BOTAN_VERSION_PATCH}") +endif() + +find_library( + BOTAN_LIBRARY + NAMES ${BOTAN_NAMES} + PATH_SUFFIXES release/lib lib + DOC "The Botan (release) library") +if(MSVC) + find_library( + BOTAN_LIBRARY_DEBUG + NAMES ${BOTAN_NAMES_DEBUG} + PATH_SUFFIXES debug/lib lib + DOC "The Botan debug library") + find_package_handle_standard_args( + Botan + REQUIRED_VARS BOTAN_LIBRARY BOTAN_LIBRARY_DEBUG BOTAN_INCLUDE_DIR + VERSION_VAR BOTAN_VERSION) +else() + find_package_handle_standard_args( + Botan + REQUIRED_VARS BOTAN_LIBRARY BOTAN_INCLUDE_DIR + VERSION_VAR BOTAN_VERSION) +endif() + +if(BOTAN_FOUND) + set(BOTAN_INCLUDE_DIRS ${BOTAN_INCLUDE_DIR}) + if(MSVC) + set(BOTAN_LIBRARIES optimized ${BOTAN_LIBRARY} debug ${BOTAN_LIBRARY_DEBUG}) + else() + set(BOTAN_LIBRARIES ${BOTAN_LIBRARY}) + endif() +endif() + +mark_as_advanced(BOTAN_INCLUDE_DIR BOTAN_LIBRARY BOTAN_LIBRARY_DEBUG) diff --git a/cmake/FindBotan2.cmake b/cmake/FindBotan2.cmake deleted file mode 100644 index 20a9e7fc3..000000000 --- a/cmake/FindBotan2.cmake +++ /dev/null @@ -1,106 +0,0 @@ -# Copyright (c) 2018 Ribose Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - -#.rst: -# FindBotan2 -# ----------- -# -# Find the botan-2 library. -# -# IMPORTED Targets -# ^^^^^^^^^^^^^^^^ -# -# This module defines :prop_tgt:`IMPORTED` targets: -# -# ``Botan2::Botan2`` -# The botan-2 library, if found. -# -# Result variables -# ^^^^^^^^^^^^^^^^ -# -# This module defines the following variables: -# -# :: -# -# BOTAN2_FOUND - true if the headers and library were found -# BOTAN2_INCLUDE_DIRS - where to find headers -# BOTAN2_LIBRARIES - list of libraries to link -# BOTAN2_VERSION - library version that was found, if any - -# find the headers -find_path(BOTAN2_INCLUDE_DIR - NAMES botan/version.h - PATH_SUFFIXES botan-2 -) - -# find the library -find_library(BOTAN2_LIBRARY NAMES botan-2 libbotan-2 botan) - -# determine the version -if(BOTAN2_INCLUDE_DIR AND EXISTS "${BOTAN2_INCLUDE_DIR}/botan/build.h") - file(STRINGS "${BOTAN2_INCLUDE_DIR}/botan/build.h" botan2_version_str - REGEX "^#define[\t ]+(BOTAN_VERSION_[A-Z]+)[\t ]+[0-9]+") - - string(REGEX REPLACE ".*#define[\t ]+BOTAN_VERSION_MAJOR[\t ]+([0-9]+).*" - "\\1" _botan2_version_major "${botan2_version_str}") - string(REGEX REPLACE ".*#define[\t ]+BOTAN_VERSION_MINOR[\t ]+([0-9]+).*" - "\\1" _botan2_version_minor "${botan2_version_str}") - string(REGEX REPLACE ".*#define[\t ]+BOTAN_VERSION_PATCH[\t ]+([0-9]+).*" - "\\1" _botan2_version_patch "${botan2_version_str}") - set(BOTAN2_VERSION "${_botan2_version_major}.${_botan2_version_minor}.${_botan2_version_patch}" - CACHE INTERNAL "The version of Botan which was detected") -endif() - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Botan2 - REQUIRED_VARS BOTAN2_LIBRARY BOTAN2_INCLUDE_DIR - VERSION_VAR BOTAN2_VERSION -) - -if(BOTAN2_FOUND) - set(BOTAN2_INCLUDE_DIRS ${BOTAN2_INCLUDE_DIR} ${PC_BOTAN2_INCLUDE_DIRS}) - set(BOTAN2_LIBRARIES ${BOTAN2_LIBRARY}) -endif() - -if(BOTAN2_FOUND AND NOT TARGET Botan2::Botan2) - # create the new library target - add_library(Botan2::Botan2 UNKNOWN IMPORTED) - # set the required include dirs for the target - if(BOTAN2_INCLUDE_DIRS) - set_target_properties(Botan2::Botan2 - PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${BOTAN2_INCLUDE_DIRS}" - ) - endif() - # set the required libraries for the target - if(EXISTS "${BOTAN2_LIBRARY}") - set_target_properties(Botan2::Botan2 - PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES "C" - IMPORTED_LOCATION "${BOTAN2_LIBRARY}" - ) - endif() -endif() - -mark_as_advanced(BOTAN2_INCLUDE_DIR BOTAN2_LIBRARY) diff --git a/cmake/FindQREncode.cmake b/cmake/FindQREncode.cmake index 69850edf5..fdd98278c 100644 --- a/cmake/FindQREncode.cmake +++ b/cmake/FindQREncode.cmake @@ -15,12 +15,12 @@ find_path(QRENCODE_INCLUDE_DIR NAMES qrencode.h) -if (VCPKG_INSTALLED_DIR) - find_library(QRENCODE_LIBRARY_RELEASE qrencode) - find_library(QRENCODE_LIBRARY_DEBUG qrencoded) - set(QRENCODE_LIBRARY optimized ${QRENCODE_LIBRARY_RELEASE} debug ${QRENCODE_LIBRARY_DEBUG}) +if(WIN32 AND MSVC) + find_library(QRENCODE_LIBRARY_RELEASE qrencode) + find_library(QRENCODE_LIBRARY_DEBUG qrencoded) + set(QRENCODE_LIBRARY optimized ${QRENCODE_LIBRARY_RELEASE} debug ${QRENCODE_LIBRARY_DEBUG}) else() - find_library(QRENCODE_LIBRARY qrencode) + find_library(QRENCODE_LIBRARY qrencode) endif() mark_as_advanced(QRENCODE_LIBRARY QRENCODE_INCLUDE_DIR) diff --git a/cmake/compiler-checks/macos/control_biometry_support.mm b/cmake/compiler-checks/macos/control_biometry_support.mm new file mode 100644 index 000000000..1bfbab184 --- /dev/null +++ b/cmake/compiler-checks/macos/control_biometry_support.mm @@ -0,0 +1,5 @@ +#include + +int main() { + return static_cast(kSecAccessControlBiometryCurrentSet); +} \ No newline at end of file diff --git a/cmake/compiler-checks/macos/control_touch_id_support.mm b/cmake/compiler-checks/macos/control_touch_id_support.mm new file mode 100644 index 000000000..e78767498 --- /dev/null +++ b/cmake/compiler-checks/macos/control_touch_id_support.mm @@ -0,0 +1,5 @@ +#include + +int main() { + return static_cast(kSecAccessControlTouchIDCurrentSet); +} \ No newline at end of file diff --git a/cmake/compiler-checks/macos/control_watch_support.mm b/cmake/compiler-checks/macos/control_watch_support.mm new file mode 100644 index 000000000..fce69edc0 --- /dev/null +++ b/cmake/compiler-checks/macos/control_watch_support.mm @@ -0,0 +1,5 @@ +#include + +int main() { + return static_cast(kSecAccessControlWatch); +} \ No newline at end of file diff --git a/codecov.yaml b/codecov.yaml index d92656b6f..96ac133ef 100644 --- a/codecov.yaml +++ b/codecov.yaml @@ -1,8 +1,27 @@ +codecov: + require_ci_to_pass: false coverage: range: 60..80 round: nearest precision: 2 + status: + project: + default: + target: auto + threshold: 0.5% + paths: + - "src" + patch: + default: + target: 50% + threshold: 0% + informational: true + paths: + - "src" fixes: - "*/src/::" +ignore: + - "src/gui/styles/**" + - "src/thirdparty/**" comment: require_changes: true diff --git a/docs/FuzzTest.md b/docs/FuzzTest.md index 542999841..cb73fbd27 100644 --- a/docs/FuzzTest.md +++ b/docs/FuzzTest.md @@ -19,7 +19,7 @@ Optionally, build AFL from source: ## Building KeePassXC For Fuzzing -A special "instrumented build" is used that allows the fuzzer to look into the program as it executes. We place it in its own build directory so it doesn't confused with the production build. +A special "instrumented build" is used that allows the fuzzer to look into the program as it executes. We place it in its own build directory so it doesn't get confused with the production build. $ cd your_keepassxc_source_directory $ mkdir buildafl diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 4000f5641..2ebd77793 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -29,6 +29,8 @@ include::topics/PasswordGenerator.adoc[tags=*] include::topics/BrowserPlugin.adoc[tags=*] +include::topics/Passkeys.adoc[tags=*] + include::topics/AutoType.adoc[tags=*] include::topics/KeeShare.adoc[tags=*] diff --git a/docs/images/autoopen.png b/docs/images/autoopen.png index a825accc2..3bc9ac85d 100644 Binary files a/docs/images/autoopen.png and b/docs/images/autoopen.png differ diff --git a/docs/images/autoopen_ifdevice.png b/docs/images/autoopen_ifdevice.png index 96af037fc..0bfb756f5 100644 Binary files a/docs/images/autoopen_ifdevice.png and b/docs/images/autoopen_ifdevice.png differ diff --git a/docs/images/autotype_entry_sequences.png b/docs/images/autotype_entry_sequences.png index 36b38348c..5c9581519 100644 Binary files a/docs/images/autotype_entry_sequences.png and b/docs/images/autotype_entry_sequences.png differ diff --git a/docs/images/autotype_entrylevel.png b/docs/images/autotype_entrylevel.png index 0c9479912..ea4e5a2cb 100644 Binary files a/docs/images/autotype_entrylevel.png and b/docs/images/autotype_entrylevel.png differ diff --git a/docs/images/autotype_selection_dialog.png b/docs/images/autotype_selection_dialog.png index ce94f6cfa..f7304513b 100644 Binary files a/docs/images/autotype_selection_dialog.png and b/docs/images/autotype_selection_dialog.png differ diff --git a/docs/images/autotype_selection_dialog_search.png b/docs/images/autotype_selection_dialog_search.png index 96d0fbeec..078a9c36f 100644 Binary files a/docs/images/autotype_selection_dialog_search.png and b/docs/images/autotype_selection_dialog_search.png differ diff --git a/docs/images/autotype_selection_dialog_type_menu.png b/docs/images/autotype_selection_dialog_type_menu.png index 08fb0f9ee..bf99ce627 100644 Binary files a/docs/images/autotype_selection_dialog_type_menu.png and b/docs/images/autotype_selection_dialog_type_menu.png differ diff --git a/docs/images/autotype_settings.png b/docs/images/autotype_settings.png index 624185a23..dd70000c8 100644 Binary files a/docs/images/autotype_settings.png and b/docs/images/autotype_settings.png differ diff --git a/docs/images/browser_advanced_settings.png b/docs/images/browser_advanced_settings.png index 9f4a8bd2f..60c6a8762 100644 Binary files a/docs/images/browser_advanced_settings.png and b/docs/images/browser_advanced_settings.png differ diff --git a/docs/images/browser_confirm_access_dialog.png b/docs/images/browser_confirm_access_dialog.png index 0e268e4ff..5bdd84502 100644 Binary files a/docs/images/browser_confirm_access_dialog.png and b/docs/images/browser_confirm_access_dialog.png differ diff --git a/docs/images/browser_database_settings.png b/docs/images/browser_database_settings.png index e8fb7d59e..2e4e28fd3 100644 Binary files a/docs/images/browser_database_settings.png and b/docs/images/browser_database_settings.png differ diff --git a/docs/images/browser_entry_settings.png b/docs/images/browser_entry_settings.png index 0a2b4dd71..3545f2bfa 100644 Binary files a/docs/images/browser_entry_settings.png and b/docs/images/browser_entry_settings.png differ diff --git a/docs/images/browser_extension_association.png b/docs/images/browser_extension_association.png index 1a2368eb0..3c3ef0ae9 100644 Binary files a/docs/images/browser_extension_association.png and b/docs/images/browser_extension_association.png differ diff --git a/docs/images/browser_extension_connect.png b/docs/images/browser_extension_connect.png index 74674745f..39caca0ad 100644 Binary files a/docs/images/browser_extension_connect.png and b/docs/images/browser_extension_connect.png differ diff --git a/docs/images/browser_extension_icons.png b/docs/images/browser_extension_icons.png index bd2ba77ef..e4fb1d8a3 100644 Binary files a/docs/images/browser_extension_icons.png and b/docs/images/browser_extension_icons.png differ diff --git a/docs/images/browser_extension_reload.png b/docs/images/browser_extension_reload.png index e3272582f..178c19ff0 100644 Binary files a/docs/images/browser_extension_reload.png and b/docs/images/browser_extension_reload.png differ diff --git a/docs/images/browser_fill_credentials.png b/docs/images/browser_fill_credentials.png index 5766f4a84..6be94ee2b 100644 Binary files a/docs/images/browser_fill_credentials.png and b/docs/images/browser_fill_credentials.png differ diff --git a/docs/images/browser_group_settings.png b/docs/images/browser_group_settings.png index c9dc5bd60..57794492d 100644 Binary files a/docs/images/browser_group_settings.png and b/docs/images/browser_group_settings.png differ diff --git a/docs/images/browser_settings.png b/docs/images/browser_settings.png index aa14eb4ce..a8dd708a0 100644 Binary files a/docs/images/browser_settings.png and b/docs/images/browser_settings.png differ diff --git a/docs/images/browser_statistics.png b/docs/images/browser_statistics.png index 5321ff8da..1417aeaa9 100644 Binary files a/docs/images/browser_statistics.png and b/docs/images/browser_statistics.png differ diff --git a/docs/images/clone_entry.png b/docs/images/clone_entry.png index bd3145fb9..e01b38e0b 100644 Binary files a/docs/images/clone_entry.png and b/docs/images/clone_entry.png differ diff --git a/docs/images/clone_entry_dialog.png b/docs/images/clone_entry_dialog.png index 8fd9d49c5..c4df4c575 100644 Binary files a/docs/images/clone_entry_dialog.png and b/docs/images/clone_entry_dialog.png differ diff --git a/docs/images/clone_entry_references.png b/docs/images/clone_entry_references.png index 99e16d6a4..ce4321c0c 100644 Binary files a/docs/images/clone_entry_references.png and b/docs/images/clone_entry_references.png differ diff --git a/docs/images/compact_mode_comparison.png b/docs/images/compact_mode_comparison.png index dbc4a31d1..ec37cfd9d 100644 Binary files a/docs/images/compact_mode_comparison.png and b/docs/images/compact_mode_comparison.png differ diff --git a/docs/images/csv_import.png b/docs/images/csv_import.png index 7867d0043..cddd2c4e0 100644 Binary files a/docs/images/csv_import.png and b/docs/images/csv_import.png differ diff --git a/docs/images/database_maintenance.png b/docs/images/database_maintenance.png index 4c3f2b4e0..4f994373d 100644 Binary files a/docs/images/database_maintenance.png and b/docs/images/database_maintenance.png differ diff --git a/docs/images/database_security.png b/docs/images/database_security.png index f2d8b0586..3ecf5fc3a 100644 Binary files a/docs/images/database_security.png and b/docs/images/database_security.png differ diff --git a/docs/images/database_security_credentials.png b/docs/images/database_security_credentials.png index bc947fbc6..2ae903f5c 100644 Binary files a/docs/images/database_security_credentials.png and b/docs/images/database_security_credentials.png differ diff --git a/docs/images/database_security_encryption.png b/docs/images/database_security_encryption.png index 86f0f9996..3718cd19f 100644 Binary files a/docs/images/database_security_encryption.png and b/docs/images/database_security_encryption.png differ diff --git a/docs/images/database_security_encryption_advanced.png b/docs/images/database_security_encryption_advanced.png index cb68078e2..deb112ac1 100644 Binary files a/docs/images/database_security_encryption_advanced.png and b/docs/images/database_security_encryption_advanced.png differ diff --git a/docs/images/database_settings.png b/docs/images/database_settings.png index 26a352590..ebc713560 100644 Binary files a/docs/images/database_settings.png and b/docs/images/database_settings.png differ diff --git a/docs/images/database_view.png b/docs/images/database_view.png index 3d5dc4b3b..bf273c12f 100644 Binary files a/docs/images/database_view.png and b/docs/images/database_view.png differ diff --git a/docs/images/edit_entry.png b/docs/images/edit_entry.png index 8672a22b5..ad5b14652 100644 Binary files a/docs/images/edit_entry.png and b/docs/images/edit_entry.png differ diff --git a/docs/images/edit_entry_attachments.png b/docs/images/edit_entry_attachments.png index 42bef27da..fea995b52 100644 Binary files a/docs/images/edit_entry_attachments.png and b/docs/images/edit_entry_attachments.png differ diff --git a/docs/images/edit_entry_attributes.png b/docs/images/edit_entry_attributes.png index 047c4fd68..2a48669fb 100644 Binary files a/docs/images/edit_entry_attributes.png and b/docs/images/edit_entry_attributes.png differ diff --git a/docs/images/edit_entry_colors.png b/docs/images/edit_entry_colors.png index 0c9482a82..c2eff3969 100644 Binary files a/docs/images/edit_entry_colors.png and b/docs/images/edit_entry_colors.png differ diff --git a/docs/images/edit_entry_history.png b/docs/images/edit_entry_history.png index 9a6c1cbb4..e4856642b 100644 Binary files a/docs/images/edit_entry_history.png and b/docs/images/edit_entry_history.png differ diff --git a/docs/images/edit_entry_icons.png b/docs/images/edit_entry_icons.png index 1cc46cdec..7b2f0fae5 100644 Binary files a/docs/images/edit_entry_icons.png and b/docs/images/edit_entry_icons.png differ diff --git a/docs/images/edit_entry_properties.png b/docs/images/edit_entry_properties.png index c781192ae..a50c21ff0 100644 Binary files a/docs/images/edit_entry_properties.png and b/docs/images/edit_entry_properties.png differ diff --git a/docs/images/export_database.png b/docs/images/export_database.png index 92a417ac0..8f7f7b994 100644 Binary files a/docs/images/export_database.png and b/docs/images/export_database.png differ diff --git a/docs/images/import_wizard.png b/docs/images/import_wizard.png new file mode 100644 index 000000000..bba4cdd94 Binary files /dev/null and b/docs/images/import_wizard.png differ diff --git a/docs/images/install_wizard_1.png b/docs/images/install_wizard_1.png index a466f834b..a3b49c541 100644 Binary files a/docs/images/install_wizard_1.png and b/docs/images/install_wizard_1.png differ diff --git a/docs/images/install_wizard_2.png b/docs/images/install_wizard_2.png index b7c9c0712..f3ca19e16 100644 Binary files a/docs/images/install_wizard_2.png and b/docs/images/install_wizard_2.png differ diff --git a/docs/images/keeshare_application_settings.png b/docs/images/keeshare_application_settings.png index c3bb7f26c..5d22e85b6 100644 Binary files a/docs/images/keeshare_application_settings.png and b/docs/images/keeshare_application_settings.png differ diff --git a/docs/images/keeshare_group_settings.png b/docs/images/keeshare_group_settings.png index 51febf41f..8f9fa2175 100644 Binary files a/docs/images/keeshare_group_settings.png and b/docs/images/keeshare_group_settings.png differ diff --git a/docs/images/keeshare_shared_group.png b/docs/images/keeshare_shared_group.png index 4d23aca89..ef6886aa0 100644 Binary files a/docs/images/keeshare_shared_group.png and b/docs/images/keeshare_shared_group.png differ diff --git a/docs/images/kpxc_logo.png b/docs/images/kpxc_logo.png index 9af29eb30..8803335f1 100644 Binary files a/docs/images/kpxc_logo.png and b/docs/images/kpxc_logo.png differ diff --git a/docs/images/linux_store.png b/docs/images/linux_store.png index 7c63ca7be..aab68a0b3 100644 Binary files a/docs/images/linux_store.png and b/docs/images/linux_store.png differ diff --git a/docs/images/macos_install.png b/docs/images/macos_install.png index f72222786..5bd105170 100644 Binary files a/docs/images/macos_install.png and b/docs/images/macos_install.png differ diff --git a/docs/images/main_interface.png b/docs/images/main_interface.png index 088a05aaa..d598e4743 100644 Binary files a/docs/images/main_interface.png and b/docs/images/main_interface.png differ diff --git a/docs/images/new_db_wizard_1.png b/docs/images/new_db_wizard_1.png index 360033543..ea3cdc669 100644 Binary files a/docs/images/new_db_wizard_1.png and b/docs/images/new_db_wizard_1.png differ diff --git a/docs/images/new_db_wizard_2.png b/docs/images/new_db_wizard_2.png index 3c384e1d5..02191c665 100644 Binary files a/docs/images/new_db_wizard_2.png and b/docs/images/new_db_wizard_2.png differ diff --git a/docs/images/new_db_wizard_3.png b/docs/images/new_db_wizard_3.png index e6ac46769..fe8acd65c 100644 Binary files a/docs/images/new_db_wizard_3.png and b/docs/images/new_db_wizard_3.png differ diff --git a/docs/images/open_database.png b/docs/images/open_database.png index ca94c5cc8..e14841fe8 100644 Binary files a/docs/images/open_database.png and b/docs/images/open_database.png differ diff --git a/docs/images/passkeys_all_passkeys.png b/docs/images/passkeys_all_passkeys.png new file mode 100644 index 000000000..b61551e02 Binary files /dev/null and b/docs/images/passkeys_all_passkeys.png differ diff --git a/docs/images/passkeys_authentication_dialog.png b/docs/images/passkeys_authentication_dialog.png new file mode 100644 index 000000000..ab5f1ee1d Binary files /dev/null and b/docs/images/passkeys_authentication_dialog.png differ diff --git a/docs/images/passkeys_enable_from_extension.png b/docs/images/passkeys_enable_from_extension.png new file mode 100644 index 000000000..b0744c8cf Binary files /dev/null and b/docs/images/passkeys_enable_from_extension.png differ diff --git a/docs/images/passkeys_export_dialog.png b/docs/images/passkeys_export_dialog.png new file mode 100644 index 000000000..3e7fd36c3 Binary files /dev/null and b/docs/images/passkeys_export_dialog.png differ diff --git a/docs/images/passkeys_github_1.png b/docs/images/passkeys_github_1.png new file mode 100644 index 000000000..1bd0e731d Binary files /dev/null and b/docs/images/passkeys_github_1.png differ diff --git a/docs/images/passkeys_github_2.png b/docs/images/passkeys_github_2.png new file mode 100644 index 000000000..553e1c4c1 Binary files /dev/null and b/docs/images/passkeys_github_2.png differ diff --git a/docs/images/passkeys_github_3.png b/docs/images/passkeys_github_3.png new file mode 100644 index 000000000..dff08f198 Binary files /dev/null and b/docs/images/passkeys_github_3.png differ diff --git a/docs/images/passkeys_github_4.png b/docs/images/passkeys_github_4.png new file mode 100644 index 000000000..82c31eaad Binary files /dev/null and b/docs/images/passkeys_github_4.png differ diff --git a/docs/images/passkeys_github_5.png b/docs/images/passkeys_github_5.png new file mode 100644 index 000000000..305ed7f5f Binary files /dev/null and b/docs/images/passkeys_github_5.png differ diff --git a/docs/images/passkeys_import_dialog.png b/docs/images/passkeys_import_dialog.png new file mode 100644 index 000000000..58b07fc45 Binary files /dev/null and b/docs/images/passkeys_import_dialog.png differ diff --git a/docs/images/passkeys_import_passkey_to_entry.png b/docs/images/passkeys_import_passkey_to_entry.png new file mode 100644 index 000000000..abc106edc Binary files /dev/null and b/docs/images/passkeys_import_passkey_to_entry.png differ diff --git a/docs/images/passkeys_register_dialog.png b/docs/images/passkeys_register_dialog.png new file mode 100644 index 000000000..5750522b9 Binary files /dev/null and b/docs/images/passkeys_register_dialog.png differ diff --git a/docs/images/passkeys_update_dialog.png b/docs/images/passkeys_update_dialog.png new file mode 100644 index 000000000..5657a8b87 Binary files /dev/null and b/docs/images/passkeys_update_dialog.png differ diff --git a/docs/images/passphrase_generator.png b/docs/images/passphrase_generator.png index b8180b323..abe7f73a4 100644 Binary files a/docs/images/passphrase_generator.png and b/docs/images/passphrase_generator.png differ diff --git a/docs/images/password_generator.png b/docs/images/password_generator.png index 230d656af..7299629e0 100644 Binary files a/docs/images/password_generator.png and b/docs/images/password_generator.png differ diff --git a/docs/images/password_generator_advanced.png b/docs/images/password_generator_advanced.png index f32754e57..0e534e02d 100644 Binary files a/docs/images/password_generator_advanced.png and b/docs/images/password_generator_advanced.png differ diff --git a/docs/images/quick_unlock.png b/docs/images/quick_unlock.png index 7c878a567..bc47c6480 100644 Binary files a/docs/images/quick_unlock.png and b/docs/images/quick_unlock.png differ diff --git a/docs/images/quick_unlock_windows_hello.png b/docs/images/quick_unlock_windows_hello.png index 59ec70057..935ff305d 100644 Binary files a/docs/images/quick_unlock_windows_hello.png and b/docs/images/quick_unlock_windows_hello.png differ diff --git a/docs/images/save_database_backup.png b/docs/images/save_database_backup.png index ad543b4c3..c453de34b 100644 Binary files a/docs/images/save_database_backup.png and b/docs/images/save_database_backup.png differ diff --git a/docs/images/save_options.png b/docs/images/save_options.png index cf16c92e8..55c3e640f 100644 Binary files a/docs/images/save_options.png and b/docs/images/save_options.png differ diff --git a/docs/images/sshagent_application_settings.png b/docs/images/sshagent_application_settings.png index 7f07ee49b..8ac594c11 100644 Binary files a/docs/images/sshagent_application_settings.png and b/docs/images/sshagent_application_settings.png differ diff --git a/docs/images/sshagent_context_menu.png b/docs/images/sshagent_context_menu.png index 8bd280fde..d2743f6e9 100644 Binary files a/docs/images/sshagent_context_menu.png and b/docs/images/sshagent_context_menu.png differ diff --git a/docs/images/sshagent_entry_settings.png b/docs/images/sshagent_entry_settings.png index 263f55822..d2a405cbd 100644 Binary files a/docs/images/sshagent_entry_settings.png and b/docs/images/sshagent_entry_settings.png differ diff --git a/docs/images/sshagent_puttygen.png b/docs/images/sshagent_puttygen.png index ee68842b3..c463cc084 100644 Binary files a/docs/images/sshagent_puttygen.png and b/docs/images/sshagent_puttygen.png differ diff --git a/docs/images/theme_comparison.png b/docs/images/theme_comparison.png index 408bb892c..bc344c019 100644 Binary files a/docs/images/theme_comparison.png and b/docs/images/theme_comparison.png differ diff --git a/docs/images/theme_selection.png b/docs/images/theme_selection.png index 2b087a84e..0a67e2e4e 100644 Binary files a/docs/images/theme_selection.png and b/docs/images/theme_selection.png differ diff --git a/docs/images/toolbar.png b/docs/images/toolbar.png index 9ae4049ab..ed5c1c803 100644 Binary files a/docs/images/toolbar.png and b/docs/images/toolbar.png differ diff --git a/docs/images/totp_code_example.png b/docs/images/totp_code_example.png index cf6084bda..81b251977 100644 Binary files a/docs/images/totp_code_example.png and b/docs/images/totp_code_example.png differ diff --git a/docs/images/totp_setup.png b/docs/images/totp_setup.png index 2c975889e..c8027b654 100644 Binary files a/docs/images/totp_setup.png and b/docs/images/totp_setup.png differ diff --git a/docs/images/totp_usage_examples.png b/docs/images/totp_usage_examples.png index 25c358567..60ef63bd5 100644 Binary files a/docs/images/totp_usage_examples.png and b/docs/images/totp_usage_examples.png differ diff --git a/docs/images/uac_dialog.png b/docs/images/uac_dialog.png index 1477626c2..5838d6f7c 100644 Binary files a/docs/images/uac_dialog.png and b/docs/images/uac_dialog.png differ diff --git a/docs/images/unlock_database.png b/docs/images/unlock_database.png index 5cd3c37d8..953cbf51e 100644 Binary files a/docs/images/unlock_database.png and b/docs/images/unlock_database.png differ diff --git a/docs/images/welcome_screen.png b/docs/images/welcome_screen.png index 0b4695f0f..bb6ea742c 100644 Binary files a/docs/images/welcome_screen.png and b/docs/images/welcome_screen.png differ diff --git a/docs/man/keepassxc-cli.1.adoc b/docs/man/keepassxc-cli.1.adoc index c891e2d8b..5fd076f6e 100644 --- a/docs/man/keepassxc-cli.1.adoc +++ b/docs/man/keepassxc-cli.1.adoc @@ -16,7 +16,7 @@ = keepassxc-cli(1) KeePassXC Team -:docdate: 2020-08-31 +:docdate: 2022-08-20 :doctype: manpage :mansource: KeePassXC {revnumber} :manmanual: General Commands Manual @@ -66,6 +66,11 @@ It provides the ability to query and modify the entries of a KeePass database, d The key file will be created if the file that is referred to does not exist. If both the key file and password are empty, no database will be created. +*db-edit* [_options_] <__database__>:: + Edits a database. + When setting a key file, the key file will be created if the file that is referred to + does not exist. + *db-info* [_options_] <__database__>:: Show a database's information. @@ -154,7 +159,7 @@ It provides the ability to query and modify the entries of a KeePass database, d *--no-password*:: Deactivates the password key for the database. -*-y*, *--yubikey* <__slot__>:: +*-y*, *--yubikey* <__slot[:serial]__>:: Specifies a yubikey slot for unlocking the database. In a merge operation this option is used to specify the YubiKey slot for the first database. @@ -177,7 +182,7 @@ It provides the ability to query and modify the entries of a KeePass database, d *--no-password-from*:: Deactivates password key for the database to merge from. -*--yubikey-from* <__slot__>:: +*--yubikey-from* <__slot[:serial]__>:: YubiKey slot for the second database. *-s*, *--same-credentials*:: @@ -235,16 +240,24 @@ The same password generation options as documented for the generate command can If a unique matching entry is found it will be copied to the clipboard. If multiple entries are found they will be listed to refine the search. (no clip performed) -=== Create and Import options -*-k*, *--set-key-file* <__path__>:: +=== Db-create, Db-edit and Import options +*--set-key-file* <__path__>:: Set the key file for the database. *-p*, *--set-password*:: Set a password for the database. +=== Db-create, Import options *-t*, *--decryption-time* <__time__>:: Target decryption time in MS for the database. +=== Db-edit options +*--unset-password* <__path__>:: + Removes the password for the database. + +*--unset-key-file* <__path__>:: + Removes the key file for the database. + === Show options *-a*, *--attributes* <__attribute__>...:: Shows the named attributes. @@ -252,6 +265,9 @@ The same password generation options as documented for the generate command can If no attributes are specified and *-t* is not specified, a summary of the default attributes is given. Protected attributes will be displayed in clear text if specified explicitly by this option. +*--all*:: + Show all the attributes of the entry. + *-s*, *--show-protected*:: Shows the protected attributes in clear text. @@ -270,7 +286,7 @@ The same password generation options as documented for the generate command can Sets the Path of the wordlist for the diceware generator. The wordlist must have > 1000 words, otherwise the program will fail. If the wordlist has < 4000 words a warning will be printed to STDERR. - Any *diceware*-compatible wordlist can used. Note however that *KeePassXC* will NOT verify the PGP signature of signed wordlists. + Any *diceware*-compatible wordlist can be used. Note however that *KeePassXC* will NOT verify the PGP signature of signed wordlists. === Export options *-f*, *--format*:: diff --git a/docs/man/keepassxc.1.adoc b/docs/man/keepassxc.1.adoc index a37c9a098..16e10de9c 100644 --- a/docs/man/keepassxc.1.adoc +++ b/docs/man/keepassxc.1.adoc @@ -49,9 +49,6 @@ Your wallet works offline and requires no Internet connection. *--pw-stdin*:: Read password of the database from stdin. -*--pw*, *--parent-window* <__handle__>:: - Parent window handle. - *--debug-info*:: Displays debugging information. diff --git a/docs/topics/AutoType.adoc b/docs/topics/AutoType.adoc index 836d2c7d1..04c5e7b96 100644 --- a/docs/topics/AutoType.adoc +++ b/docs/topics/AutoType.adoc @@ -1,4 +1,4 @@ -= KeePassXC - Auto-Type += KeePassXC – Auto-Type :imagesdir: ../images // tag::content[] diff --git a/docs/topics/BrowserPlugin.adoc b/docs/topics/BrowserPlugin.adoc index 9435a1c9c..f36767492 100644 --- a/docs/topics/BrowserPlugin.adoc +++ b/docs/topics/BrowserPlugin.adoc @@ -1,4 +1,4 @@ -= KeePassXC - Browser Plugin += KeePassXC – Browser Plugin include::.sharedheader[] :imagesdir: ../images diff --git a/docs/topics/DatabaseOperations.adoc b/docs/topics/DatabaseOperations.adoc index af3ca6c32..35bcdbb16 100644 --- a/docs/topics/DatabaseOperations.adoc +++ b/docs/topics/DatabaseOperations.adoc @@ -1,4 +1,4 @@ -= KeePassXC - Database Operations += KeePassXC – Database Operations include::.sharedheader[] :imagesdir: ../images @@ -11,22 +11,22 @@ To create a database, perform the following steps: 1. Open your KeePassXC application. Click the create new database button *(A)*: + -.Create database - Welcome screen +.Create database – Welcome screen image::welcome_screen.png[] 2. The database creation wizard appears. Enter the desired database name and a short description (optional): + -.Create database - General information +.Create database – General information image::new_db_wizard_1.png[,80%] -3. Click Continue. The Encryption Settings screen appears, we don't recommend making any changes besides increasing or decreasing the decryption time using the slider. Setting the Decryption Time slider at a higher values means that the database will have higher level of protection but the time taken by the database to open will increase. +3. Click Continue. The Encryption Settings screen appears, we don't recommend making any changes besides increasing or decreasing the decryption time using the slider. Setting the Decryption Time slider at higher values means that the database will have higher level of protection but the time taken by the database to open will increase. + -.Create database - Encryption settings +.Create database – Encryption settings image::new_db_wizard_2.png[,80%] 4. Click the Continue button. The Database Credentials screen appears, enter your desired database password. We recommend using a long, randomized password. + -.Create database - Database credentials +.Create database – Database credentials image::new_db_wizard_3.png[,80%] + *(A)* Open the password generator + @@ -44,7 +44,7 @@ To open an existing database, perform the following steps: .Open an existing database image::open_database.png[] -2. Navigate to the location of the your database on your computer and open the database file. The database unlock screen will appear: +2. Navigate to the location of the database on your computer and open the database file. The database unlock screen will appear: + .Database unlock screen image::unlock_database.png[] @@ -61,7 +61,7 @@ image::database_view.png[] === Quick Unlock On Windows and macOS, subject to hardware availability, your credentials can be securely stored to enable subsequent unlocking of your database through biometric authentication. This is enabled by default on Windows using _Windows Hello_ and on macOS using _Touch ID or Apple Watch_ services. You can disable this feature in the Application Settings under the Security section. -NOTE: On Windows you will be prompted to authenticate to Windows Hello on the initial database unlock. This is required to access the hardware certificate store that encrypts your credentials. +NOTE: On Windows, you will be prompted to authenticate to Windows Hello after unlocking your database with full credentials. This is required to setup Quick Unlock. If you cancel this prompt then Quick Unlock will not be enabled and your database will continue to unlock. .Windows Hello example image::quick_unlock_windows_hello.png[] @@ -84,7 +84,7 @@ There are three ways that KeePassXC can handle database files. This behavior is 3. *Direct-write saves* write directly to the existing database file. This is an unsafe operation since any interruption can leave your entire database inaccessible. We only recommend using this option when interfacing with Linux GVFS services (e.g. Google Cloud on Gnome) and other types of storage services that host a virtual drive system. -In addition to these save options, KeePassXC can create a backup of your existing database file just prior to saving. This backup can be placed in a custom folder with a custom file naming scheme. +In addition to these save options, KeePassXC can create a backup of your existing database file just prior to saving. This backup will be saved at the path specified in the *Backup destination* field. This path can be absolute or relative. The latter will be resolved according to the databases path. It is possible to specify a custom naming scheme with placeholders. See xref:UserGuide.adoc#_backup_path_placeholders[Backup Path Placeholders] for available placeholders and examples. image::save_options.png[] // end::advanced[] @@ -196,7 +196,7 @@ KeePassXC provides an enhanced and granular search features the enables you to s |* |Term is handled as a regular expression |=== -The following fields can be searched along with their abbreviated name in parenthesis: +The following fields can be searched along with their abbreviated name in parentheses: * Title (t) * Username (u) @@ -242,7 +242,7 @@ The following tables lists a few samples search queries for your reference: == Advanced Entry Options === Additional Attributes -A lot of applications and web sites now require to provide additional information when you create accounts. The additional information is used to block hackers if any suspicious activity is detected. In addition, the additional information you provide can be used to reset passwords if you forget them. You can also store arbitrary information here that can be copied to the clipboard or Auto-Typed using the `{S:}` action code. +A lot of applications and web sites now require providing additional information when you create accounts. The additional information is used to block hackers if any suspicious activity is detected. In addition, the additional information you provide can be used to reset passwords if you forget them. You can also store arbitrary information here that can be copied to the clipboard or Auto-Typed using the `{S:}` action code. To protect an attribute from being displayed by default, activate the _Protect_ checkbox *(A)*. To show the contents of the attribute while keeping it protected, press the _Reveal_ button *(B)*. @@ -332,7 +332,8 @@ image::database_settings.png[] * *Max history items:* This is the maximum number of history items that are stored for each entry. When you set this to 0, no history will be saved. Set this value to a low value to prevent the database from getting too large (we recommend no more than 10). * *Max. history size:* When the history of an entry gets above this size, it is truncated. For example, this happens when entries have large attachments. Set this value small to prevent the database from getting too large (we recommend 6 MiB). * *Use recycle bin:* Select this check-box if you want deleted entries to move to the recycle bin instead of being permanently removed. The recycle bin will be created if it does not already exist after your first deletion. To delete entries permanently, you must empty the recycle bin manually. - * *Enable compression:* KeePassXC databases can be compressed before being encrypted. Compression reduces the size of the database and does not have any appreciable affect on speed. It is recommended to always save databases with compression. + * *Enable compression:* KeePassXC databases can be compressed before being encrypted. Compression reduces the size of the database and does not have any appreciable affect on speed. It is recommended to always save databases with compression. + * *Autosave delay:* Customize the automatic database save operation by delaying it for a set time since the last change. By default, this option is disabled for fast saving, but can be useful for large databases to avoid delays after each change. 3. Click the Security button in the left-hand menu bar to change your database credentials and change encryption settings. + @@ -346,7 +347,7 @@ image::database_security_credentials.png[] + WARNING: Consider creating a backup of your YubiKey. Please refer to <> -5. Encryption settings allows you to change the average time it takes to encrypt and decrypt the database. The longer time that is chosen, the harder it will be to brute force attack your database. *We recommend a setting of one second.* +5. Encryption settings allow you to change the average time it takes to encrypt and decrypt the database. The longer time that is chosen, the harder it will be to brute force attack your database. *We recommend a setting of one second.* + .Database encryption image::database_security_encryption.png[] @@ -362,7 +363,7 @@ The following key derivation functions are supported: * AES-KDF (KDBX 4 and KDBX 3.1): This key derivation function is based on iterating AES. Users can change the number of iterations. The more iterations, the harder are dictionary and guessing attacks, but also database loading/saving takes more time (linearly). KDBX 3.1 only supports AES-KDF; any other key derivation function, like for instance Argon2, requires KDBX 4. - * Argon2 (KDBX 4 - recommended): KDBX 4, the Argon2 key derivation function can be used for transforming the composite master key (as protection against dictionary attacks). The main advantage of Argon2 over AES-KDF is that it provides a better resistance against GPU/ASIC attacks (due to being a memory-hard function). The number of iterations scales linearly with the required time. By increasing the memory parameter, GPU/ASIC attacks become harder and the required time increases. The parallelism parameter can be used to specify how many threads should be used. We recommend using Argon2id to prevent against timing-based attacks. Argon2d offers maximum compatibility with other KeePass-based apps, the default settings provide sufficient protection against any known attacks. + * Argon2 (KDBX 4 – recommended): KDBX 4, the Argon2 key derivation function can be used for transforming the composite master key (as protection against dictionary attacks). The main advantage of Argon2 over AES-KDF is that it provides a better resistance against GPU/ASIC attacks (due to being a memory-hard function). The number of iterations scales linearly with the required time. By increasing the memory parameter, GPU/ASIC attacks become harder and the required time increases. The parallelism parameter can be used to specify how many threads should be used. We recommend using Argon2id to prevent against timing-based attacks. Argon2d offers maximum compatibility with other KeePass-based apps, the default settings provide sufficient protection against any known attacks. == Database Maintenance KeePassXC offers some maintenance features that can be applied to clean up your database. Navigate to _Database_ -> _Database settings_ then click on _Maintenance_ on the left hand panel. The following screen appears. On this screen you can delete multiple icons at once and purge any unused icons in your database. @@ -395,9 +396,9 @@ The database file that you create might contain highly sensitive data and must b Make sure that you or someone else does not accidentally delete the database file. Deletion of the database file will result in the total loss of all your information (including all your passwords!) and a lot of inconvenience to manually retrieve your logins for various web applications. Do not share the credentials to access your database file with anyone unless you absolutely trust them (spouse, child, etc.). -TIP: You can safely store your database file in the cloud (e.g., OneDrive, Dropbox, Google Drive, Nextcloud, Syncthing, etc). The database file is always fully encrypted; unencrypted data is never written to disk and is never accessible to your cloud storage provider. We recommend using a storage service that keeps automatic backups (version history) of your database file in the event of corruption or accidental deletion. +TIP: You can safely store your database file in the cloud (OneDrive, Dropbox, Google Drive, Nextcloud, Syncthing, etc.). The database file is always fully encrypted; unencrypted data is never written to disk and is never accessible to your cloud storage provider. We recommend using a storage service that keeps automatic backups (version history) of your database file in the event of corruption or accidental deletion. -== Backing up a Database File +== Backing up a Database File It is a good practice to create copies of your database file and store the copies of your database on a different computer, smart phone, or cloud storage space such a Google Drive or Microsoft OneDrive. Backups can be created automatically by selecting the _Backup database file before saving_ option in the application settings. Additionally, you can create a backup on-demand using the _Database_ -> _Save Database Backup..._ menu feature. .Saving a database backup diff --git a/docs/topics/Disclaimers.adoc b/docs/topics/Disclaimers.adoc index a8e9be57c..419778ace 100644 --- a/docs/topics/Disclaimers.adoc +++ b/docs/topics/Disclaimers.adoc @@ -21,12 +21,3 @@ Special, incidental or consequential damages arising out of the use or inability Limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of The program to operate with any other programs), even if such holder or other party has been advised of the possibility Of such damages. - -== Contact Us - -We are committed to continually improve KeePassXC through customer experience and your feedback is important to us. -Please send us your feedback or comments to team@keepassxc.org. -To report issues, visit: https://github.com/keepassxreboot/keepassxc. - -Thank You, + -Team KeePassXC diff --git a/docs/topics/DownloadInstall.adoc b/docs/topics/DownloadInstall.adoc index e96c885de..f5a967ec5 100644 --- a/docs/topics/DownloadInstall.adoc +++ b/docs/topics/DownloadInstall.adoc @@ -1,4 +1,4 @@ -= KeePassXC - Download and Install += KeePassXC – Download and Install include::.sharedheader[] :imagesdir: ../images @@ -8,9 +8,9 @@ KeePassXC is available for download for the following operating systems and plat * Microsoft Windows ** Portable and MSI Installer (64-bit and 32-bit) -* Linux - Official Cross-Distribution Packages +* Linux – Official Cross-Distribution Packages ** AppImage and Snap Package -* Linux - Distribution-Specific Packages +* Linux – Distribution-Specific Packages ** Ubuntu, Debian, Arch Linux, Gentoo, Fedora, CentOS, and OpenSUSE * macOS ** DMG Installer, Homebrew Cask @@ -45,9 +45,9 @@ image::install_wizard_2.png[,80%] The following options can be set when running the MSI in an unattended installation: -* *LAUNCHAPPONEXIT* - Launch KeePassXC after install (default ON) -* *AUTOSTARTPROGRAM* - KeePassXC will auto-start on login (default ON) -* *INSTALLDESKTOPSHORTCUT* - A desktop icon will be installed (default OFF) +* *LAUNCHAPPONEXIT* – Launch KeePassXC after install (default ON) +* *AUTOSTARTPROGRAM* – KeePassXC will auto-start on login (default ON) +* *INSTALLDESKTOPSHORTCUT* – A desktop icon will be installed (default OFF) Example: `msiexec.exe /q /i KeePassXC-Y.Y.Y-WinZZ.msi AUTOSTARTPROGRAM=0` @@ -69,4 +69,4 @@ image::macos_install.png[,80%] // end::content[] // tag::advanced[] -// end::advanced[] \ No newline at end of file +// end::advanced[] diff --git a/docs/topics/ImportExport.adoc b/docs/topics/ImportExport.adoc index f56135a1c..bcae4ce57 100644 --- a/docs/topics/ImportExport.adoc +++ b/docs/topics/ImportExport.adoc @@ -1,61 +1,74 @@ -= KeePassXC - Import/Export Operations += KeePassXC – Import/Export Operations include::.sharedheader[] :imagesdir: ../images // tag::content[] == Importing External Databases -KeePassXC allows your to import external databases from the following options: +KeePassXC allows you to import external databases from the following options: -* Comma-Separated Values (CSV) file -* 1Password OPVault -* KeePass 1 Database +* Comma Separated Values (.csv) +* 1Password Export (.1pux) +* 1Password Vault (.opvault) +* Bitwarden (.json) +* KeePass 1 Database (.kdb) + +To import any of these files, start KeePassXC and either click the `Import File` button on the welcome screen or use the menu Database > Import... to launch the Import Wizard. + +.Import Wizard +image::import_wizard.png[] + +For each of the import options, you will be prompted to select the file to import and then provide credentials to unlock the file, if necessary. You can then choose to import the file into a new database or into an existing database that is already unlocked in KeePassXC. === Importing CSV File -If you have been saving your URLs, usernames, passwords, and so on in a CSV file, you can migrate all that information from the CSV file to KeePassXC and start using KeePassXC to maintain your data. +WARNING: A CSV file is unencrypted and you should securely delete this file after successfully importing it into KeePassXC. -To open the CSV file, perform the following steps: +1. Follow the steps above and click `Continue`. The CSV import wizard will appear. -1. Open KeePassXC. - -2. Click Import from CSV button on the welcome screen or use the menu Database > Import > CSV File. - -3. Navigate to the location of the your CSV file on your computer and open the file. The new database wizard will appear. Follow the steps of creating a new database in Chapter 1. - -4. After saving your new database file, the CSV import wizard will appear. On this dialog you can choose the various options for properly importing the data. You may need to select the _First line has field names_ checkbox before starting. Analyze the output in the preview at the bottom to determine the correct import settings. +2. On this dialog you can choose the various options for properly importing the data. Analyze the output in the preview at the bottom to determine the correct import settings. You may need to re-map the column associations to match the data in your CSV file. + .CSV Import Wizard image::csv_import.png[] -Your CSV file gets imported to KeePassXC and the data is converted to the KeePassXC format for further usage and maintenance. The new database file is saved on to your computer with the default `.kdbx` extension. +3. Click `Done` to complete the import. If you chose to create a new database, the New Database dialog will appear. Otherwise your entries will be nested under the group you chose for the existing database. + +=== Importing 1Password Export +WARNING: A 1Password Export file is unencrypted and you should securely delete this file after successfully importing it into KeePassXC. + +1. Open the Import Wizard as shown above. Select the 1Password Export option. + +2. Click `Continue` to unlock and preview the import. Click `Done` to complete the import. === Importing 1Password OPVault +NOTE: You must have 1Password version 7 or 8 to export your data to an OPVault. If you are using a newer version of 1Password, you should use the 1Password Export (1PUX) format instead. + Save your 1Password Vault locally to create an OPVault directory. Please see 1Password instructions on how to do this. Once an OPVault is created, perform the following steps: -1. Open KeePassXC. +1. Open the Import Wizard as shown above. Select the 1Password Vault option. -2. Use the menu Database > Import > 1Password Vault. Select the OPVault to import. +2. Enter the password for your vault and click `Continue` to unlock and preview the import. Click `Done` to complete the import. -3. Enter the password for your OPVault to unlock and import. +=== Importing Bitwarden +WARNING: A Bitwarden Export file may be unencrypted and you should securely delete this file after successfully importing it into KeePassXC. + +1. Open the Import Wizard as shown above. Select the Bitwarden option. + +2. Optionally provide a password to decrypt the Bitwarden export file. You should only need to do this if you have chosen the encrypted json export option within Bitwarden. + +3. Click `Continue` to unlock and preview the import. Click `Done` to complete the import. === Importing KeePass 1 Database -KeePass 1 database is an older format of the database created using legacy version of KeePass. KeePassXC lets your import this older format of the database and you can seamlessly start using this database in your new KeePassXC application. +KeePass 1 database is an older format of the database created using a legacy version of KeePass. KeePassXC lets your import this older format of the database and you can seamlessly start using this database in your new KeePassXC application. To import a KeePass 1 database file in KeePassXC, perform the following steps: -1. Open KeePassXC. +1. Open the Import Wizard as shown above. Select the KeePass1 Database option. -2. Click Import from KeePass 1 button on the welcome screen or use the menu Database > Import > KeePass 1 Database. +2. Enter the password for your database and optionally provide a key file if it was configured for your KeePass1 database. -3. Navigate to the location of the your legacy KeePass 1 database file (`.kdb`) on your computer and open the file. You are prompted for the password and the Key file for your `.kdb` file. - -4. Enter the password for your old `.kdb` file and click *OK*. You are prompted for provide a name for the new database format that KeePassXC recognizes. - -5. Provide a name for the new database format, select a folder on your computer to save the file, and click Save. - -6. The data from the `.kdb` file gets imported and converted to the new format, which is compatible with KeePassXC. You can now start using the new database file (`.kdbx`) in KeePassXC. +3. Click `Continue` to unlock and preview the import. Click `Done` to complete the import. == Exporting Databases -KeePassXC supports multiple ways to export your database for transfer to another program or to print out and archive. To export your database into the KDB XML format, you must use the KeePassXC CLI: `keepassxc-cli export `. +KeePassXC supports multiple ways to export your database for transfer to another program or to print out and archive. WARNING: Exporting your database will result in all of your passwords and sensitive information being stored in an unencrypted format. We do not recommend saving your exported database for long periods of time as that can cause a compromise of sensitive information. diff --git a/docs/topics/KeeShare.adoc b/docs/topics/KeeShare.adoc index 306389f88..75769bdb4 100644 --- a/docs/topics/KeeShare.adoc +++ b/docs/topics/KeeShare.adoc @@ -1,4 +1,4 @@ -= KeePassXC - KeeShare += KeePassXC – KeeShare include::.sharedheader[] :imagesdir: ../images @@ -17,17 +17,17 @@ To use sharing, you need to enable it for the application. image::keeshare_application_settings.png[] === Sharing Credentials -If you checked _Allow export_ in the Sharing settings you can now share a group of passwords. Sharing is always is defined on a particular group. If you enable sharing on a group, every entry under this group, and its children, are shared. If you enable sharing on the root node, **every password** inside your database gets shared! +If you checked _Allow export_ in the Sharing settings you can now share a group of passwords. Sharing is always defined on a particular group. If you enable sharing on a group, every entry under this group, and its children, are shared. If you enable sharing on the root node, **every password** inside your database gets shared! NOTE: KeeShare does not synchronize group structure after the initial share is created. At this time, KeeShare operates at the entry level; shared entries moved outside of a shared group are still synchronized. 1. Open the edit sheet on a group you want to share. 2. Select the KeeShare category on the left toolbar. 3. Choose a sharing type: - a. *Inactive* - Disable sharing this group - b. *Import* - Read-only import of entries, merge changes - c. *Export* - Write-only export of entries, no merge - d. *Synchronize* - Read/Write entries from the share, merge changes + a. *Inactive* – Disable sharing this group + b. *Import* – Read-only import of entries, merge changes + c. *Export* – Write-only export of entries, no merge + d. *Synchronize* – Read/Write entries from the share, merge changes 4. Choose a path to store the shared credentials to. 5. The password to use for this share container. @@ -45,7 +45,7 @@ A shared group shows a cloud icon badge over the group icon *(A)* and a banner i image::keeshare_shared_group.png[] === Technical Details and Limitations of Sharing -Sharing relies on the combination of file exports and imports as well as the synchronization mechanism provided by KeePassXC. Since the merge algorithm uses the history of entries to prevent data loss, this history must be enabled and have a sufficient size. Furthermore, the merge algorithm is location independent, therefore it does not matter if entries are moved outside of an import group. These entries will be updated none the less. Moving entries outside of export groups will prevent a further export of the entry, but it will not ensure that the already shared data will be removed from any client. +Sharing relies on the combination of file exports and imports as well as the synchronization mechanism provided by KeePassXC. Since the merge algorithm uses the history of entries to prevent data loss, this history must be enabled and have a sufficient size. Furthermore, the merge algorithm is location independent, therefore it does not matter if entries are moved outside of an import group. These entries will be updated nonetheless. Moving entries outside of export groups will prevent a further export of the entry, but it will not ensure that the already shared data will be removed from any client. KeeShare uses a custom certification mechanism to ensure that the source of the data is the expected one. This ensures that the data was exported by the signer but it is not possible to detect if someone replaced the data with an older version from a valid signer. To prevent this, the container could be placed at a location which is only writeable for valid signers. // end::content[] diff --git a/docs/topics/KeyboardShortcuts.adoc b/docs/topics/KeyboardShortcuts.adoc index 93baa303d..034633659 100644 --- a/docs/topics/KeyboardShortcuts.adoc +++ b/docs/topics/KeyboardShortcuts.adoc @@ -1,4 +1,4 @@ -= KeePassXC - Keyboard Shortcuts += KeePassXC – Keyboard Shortcuts include::.sharedheader[] :imagesdir: ../images @@ -9,12 +9,15 @@ NOTE: On macOS please substitute `Ctrl` with `Cmd` (aka `⌘`). |=== |Action | Keyboard Shortcut +|Settings | Ctrl + , |Open Database | Ctrl + O |Save Database | Ctrl + S |Save Database As | Ctrl + Shift + S |New Database | Ctrl + Shift + N |Close Database | Ctrl + W ; Ctrl + F4 |Lock All Databases | Ctrl + L +|Database Settings | Ctrl + Shift + , +|Database Reports | Ctrl + Shift + R |Quit | Ctrl + Q |New Entry | Ctrl + N |Edit Entry | Enter ; Ctrl + E @@ -25,10 +28,15 @@ NOTE: On macOS please substitute `Ctrl` with `Cmd` (aka `⌘`). |Copy URL | Ctrl + U |Open URL | Ctrl + Shift + U |Copy TOTP | Ctrl + T +|Copy Password and TOTP | Ctrl + Y |Show TOTP | Ctrl + Shift + T |Trigger AutoType | Ctrl + Shift + V |Add key to SSH Agent | Ctrl + H |Remove key from SSH Agent | Ctrl + Shift + H +|Move entry up (if unsorted) | Ctrl + Alt + Up +|Move entry down (if unsorted) | Ctrl + Alt + Down +|Sort Groups A-Z | Ctrl + Down +|Sort Groups Z-A | Ctrl + Up |Minimize Window | Ctrl + M |Hide Window | Ctrl + Shift + M |Select Next Database Tab | Ctrl + Tab ; Ctrl + PageDn diff --git a/docs/topics/Passkeys.adoc b/docs/topics/Passkeys.adoc new file mode 100644 index 000000000..b341eb3fe --- /dev/null +++ b/docs/topics/Passkeys.adoc @@ -0,0 +1,104 @@ += KeePassXC – Passkeys +include::.sharedheader[] +:imagesdir: ../images + +// tag::content[] +== Passkeys + +Passkeys are a secure way for replacing passwords that is supported by all major browser vendors and an increasing number of websites. For more information on what Passkeys are and how they work, please go to the FIDO Alliance's documentation: https://fidoalliance.org/passkeys/ + +=== Enabling Passkey Support + +KeePassXC supports Passkeys directly through the Browser Integration service. Passkeys are only supported with the use of the KeePassXC Browser Extension and a properly connected database. To enable Passkey support on the extension, you must check the _Enable Passkeys_ option in the extension settings page. + +.Enable Passkey Support in the KeePassXC Browser Extension +image::passkeys_enable_from_extension.png[,75%] + +Optionally, you can disable falling back to the built-in Passkey support from your browser and operating system. If left enabled, the extension will show the default Passkey dialogs if KeePassXC cannot handle the request or the request is canceled. + +=== Create a New Passkey + +Creating a new Passkey and authenticating with it is a simple process. This workflow will be demonstrated using GitHub as an example site. Please note that GitHub allows two use cases for Passkeys, one for 2FA only and the other for replacement of username and password entirely. We will be configuring the latter use case in this example. + +After navigating to GitHub's _Settings_ -> _Password and authentication_, there is a separate section shown for Passkeys. + +.GitHub's Passkey Registration +image::passkeys_github_1.png[] + +After clicking the _Add a Passkey_ button, the user is redirected to another page showing the actual configuration option. + +.Configure Passwordless Authentication +image::passkeys_github_2.png[,50%] + +Clicking the _Add Passkey_ button now shows the following popup dialog for the user, asking confirmation for creating a new Passkey. + +.Passkey Registration Confirmation Dialog +image::passkeys_register_dialog.png[,30%] + +After the Passkey has been registered, a new entry is created to the database under _KeePassXC-Browser Passwords_ with _(Passkey)_ added to the entry title. The entry holds additional attributes that are used for authenticating the Passkey. + +After registration, GitHub will ask a name for the Passkey. This is only relevant for the server. + +.GitHub's Passkey Nickname +image::passkeys_github_3.png[,50%] + +Now the Passkey should be shown on the GitHub's Passkey section. + +.Registered Passkeys on GitHub +image::passkeys_github_4.png[] + +=== Login With a Passkey + +The Passkey created in the previous section can now be used to login to GitHub. Instead of logging in with normal credentials, choose _Sign in with a passkey_ at the bottom of GitHub's login page. + +.GitHub's login page with a Passkey option +image::passkeys_github_5.png[,50%] + +After clicking the button, KeePassXC-Browser detects the Passkeys authentication and KeePassXC shows the following dialog for confirmation. + +.Passkey authentication confirmation dialog +image::passkeys_authentication_dialog.png[,50%] + +After confirmation user is now authenticated and logged into GitHub. + +// tag::advanced[] +=== Advanced Usage + +==== Multiple Passkeys for a Site + +Multiple Passkeys can be created for a single site. When registering a new Passkey with a different username, KeePassXC shows an option to register a new Passkey or update the previous one. Updating a Passkey will override the existing entry, so this option should be only used when actually needed. + +.Passkey authentication confirmation dialog +image::passkeys_update_dialog.png[,50%] + +==== Exporting Passkeys + +All Passkeys in a database can be viewed and accessed from the _Database_ -> _Passkeys..._ menu item. The page shows both _Import_ and _Export_ buttons for Passkeys. + +.Passkeys Overview +image::passkeys_all_passkeys.png[] + +After selecting one or more entries, the following dialog is shown. One or multiple Passkeys can be selected for export from the previously selected list of entries. + +.Passkeys Export Dialog +image::passkeys_export_dialog.png[,65%] + +Exported Passkeys are stored in JSON format using the `.passkey` file extension. The file includes all relevant information for importing a Passkey to another database or saving a backup. + +WARNING: The exported Passkey file is unencrypted and should be securely stored. + +==== Importing Passkeys + +An exported Passkey can be imported directly to a database or to an entry. To import directly, use the _Database_ -> _Import Passkey_ menu item. +When right-clicking an entry, a separate menu item for _Import Passkey_ is shown. This is useful if user wants to import a previously created Passkey to an existing entry. + +.Import Passkey to an Entry +image::passkeys_import_passkey_to_entry.png[,50%] + +After selecting a Passkey file to import, a separate dialog is shown where you can select which database, group, and entry to target. By default, the group is set to _Imported Passkeys_. The default action is to create a new entry that contains the imported Passkey. + +.Passkey import dialog +image::passkeys_import_dialog.png[,65%] + +// end::advanced[] +// end::content[] diff --git a/docs/topics/PasswordGenerator.adoc b/docs/topics/PasswordGenerator.adoc index 2d8310b83..a1f1915e9 100644 --- a/docs/topics/PasswordGenerator.adoc +++ b/docs/topics/PasswordGenerator.adoc @@ -1,4 +1,4 @@ -= KeePassXC - Password Generator += KeePassXC – Password Generator include::.sharedheader[] :imagesdir: ../images diff --git a/docs/topics/Reference.adoc b/docs/topics/Reference.adoc index c123befc4..4171ed9a5 100644 --- a/docs/topics/Reference.adoc +++ b/docs/topics/Reference.adoc @@ -1,4 +1,4 @@ -= KeePassXC - Reference += KeePassXC – Reference include::.sharedheader[] :imagesdir: ../images @@ -48,18 +48,18 @@ This section contains full details on advanced features available in KeePassXC. |=== === Entry Cross-Reference -A reference to another entry's field is possible using the short-hand syntax: +A reference to another entry's field is possible using the shorthand syntax: `{REF:<FIELD>@<SEARCH_IN>:<SEARCH_TEXT>}` `<FIELD>` and `<SEARCH_IN>` can be one of following: -* T - Title -* U - Username -* P - Password -* A - URL -* N - Notes -* I - UUID (found on entry properties page) -* O - Custom Attribute _(SEARCH_IN only)_ +* T – Title +* U – Username +* P – Password +* A – URL +* N – Notes +* I – UUID (found on entry properties page) +* O – Custom Attribute _(SEARCH_IN only)_ Examples: + `{REF:U@I:033054D445C648C59092CC1D661B1B71}` + @@ -100,4 +100,29 @@ Convert resolved placeholder (e.g., {USERNAME}, {PASSWORD}, etc.) using the foll `{T-REPLACE-RX:/<PLACEHOLDER>/<SEARCH>/<REPLACE>/}` + Use regular expressions to find and replace data from a resolved placeholder. Refer to match groups using $1, $2, etc. + +=== Backup Path Placeholders +[grid=rows, frame=none, width=90%] +|=== +|Database Backup Path Placeholder |Description + +|{DB_FILENAME} |The database's filename without extension +|{TIME} |The current time formatted as dd_MM_yyyy_hh-mm-ss. +|{TIME:} |The current time formatted according to the format string specified by . See https://doc.qt.io/qt-5/qtime.html#toString for a list of available placeholders. +|=== + +[grid=rows, frame=none, width=90%] +|=== +|Backup path example |Location of backup(s) + +|`{DB_FILENAME}-{TIME}.bak.kdbx` |`C:\Users\MyUsername\MyDatabase-02_01_2022_03-04-05.bak.kdbx` + +`C:\Users\MyUsername\MyDatabase-05_01_2022_12-10-00.bak.kdbx` +|`backups\\{DB_FILENAME}.bak.kdbx` |`C:\Users\MyUsername\backups\MyDatabase.bak.kdbx` +|`C:\Backups\{TIME:dd.MM.yyyy}\\{DB_FILENAME}.kdbx` |`C:\Backups\02.01.2022\MyDatabase.kdbx` + +`C:\Backups\05.01.2022\MyDatabase.kdbx` +|`C:\Backups\\{DB_FILENAME}\{TIME:MM-dd-yyyy}.kdbx` |`C:\Backups\MyDatabase\01-02-2022.kdbx` + +`C:\Backups\MyDatabase\01-05-2022.kdbx` +|=== + + // end::content[] diff --git a/docs/topics/SSHAgent.adoc b/docs/topics/SSHAgent.adoc index 8c6a086fd..5539e0e67 100644 --- a/docs/topics/SSHAgent.adoc +++ b/docs/topics/SSHAgent.adoc @@ -1,9 +1,9 @@ -= KeePassXC - SSH Agent += KeePassXC – SSH Agent integration include::.sharedheader[] :imagesdir: ../images // tag::content[] -== SSH Agent +== SSH Agent integration SSH (Secure Shell) is a widely used remote secure shell protocol and is considered an industry standard for secure remote access to UNIX-like systems including Linux, BSDs, macOS and more recently even Windows received native support. SSH supports multiple types of authentication and the most widely used ones are either interactive keyboard input with a password or a public-key cryptography pair of keys. KeePassXC SSH Agent integration is built to manage SSH keys in a secure manner by either storing them completely within your KeePassXC database or by having only the decryption key of a key file that is stored elsewhere. SSH Agent integration _does not_ provide an agent itself but works as a client for any agent implementation that is OpenSSH compatible. @@ -173,7 +173,7 @@ The last step is to setup an entry to contain the SSH Agent settings and key fil .SSH Agent Entry Settings Page image::sshagent_entry_settings.png[] -If you chose to not auto-load the key on database unlock, you can manually make the key available by using the context menu from the entry list. +If you chose to not autoload the key on database unlock, you can manually make the key available by using the context menu from the entry list. .SSH Agent Load Key from Context Menu image::sshagent_context_menu.png[] diff --git a/docs/topics/UserInterface.adoc b/docs/topics/UserInterface.adoc index c61dc85a8..456c09ea6 100644 --- a/docs/topics/UserInterface.adoc +++ b/docs/topics/UserInterface.adoc @@ -1,22 +1,22 @@ -= KeePassXC - Database Operations += KeePassXC – Database Operations include::.sharedheader[] :imagesdir: ../images // tag::content[] == Interface Overview === Application Layout -The KeePassXC interface is designed for simplicity and easy access to your information. The main database view is split into three main partitions detailed below. You can open multiple databases at the same time, they will appear in tabs. +The KeePassXC interface is designed for simplicity and easy access to your information. The main database view is split into four main partitions detailed below. You can open multiple databases at the same time, they will appear in tabs. .Main database interface image::main_interface.png[] -*(A) Groups* - Organize your entries into discrete groups to bring order to all of your sensitive information. Groups can be nested under each other to create a hierarchy. Settings from parent groups get applied to their children. You can hide this panel on the View menu. +*(A) Groups* – Organize your entries into discrete groups to bring order to all of your sensitive information. Groups can be nested under each other to create a hierarchy. Settings from parent groups get applied to their children. You can hide this panel on the View menu. -*(B) Tags* - Dynamic groups of entries that can be quickly displayed with one click. Any number of custom tags can be added when editing an entry. This panel also includes useful pre-defined searches, such as finding expired and weak passwords. +*(B) Tags* – Dynamic groups of entries that can be quickly displayed with one click. Any number of custom tags can be added when editing an entry. This panel also includes useful pre-defined searches, such as finding expired and weak passwords. -*\(C) Entries* - Entries contain all the information you want to store for a website or application you are storing in KeePassXC. This view shows all the entries in the selected group. Each column can be resized, reordered, and shown or hidden based on your preference. Right-click the header row to see all available options. +*\(C) Entries* – Entries contain all the information you want to store for a website or application you are storing in KeePassXC. This view shows all the entries in the selected group. Each column can be resized, reordered, and shown or hidden based on your preference. Right-click the header row to see all available options. -*(D) Preview* - Shows a preview of the selected group or entry. You can temporarily hide this preview using the close button on the right hand side or completely disabled in the application settings. +*(D) Preview* – Shows a preview of the selected group or entry. You can temporarily hide this preview using the close button on the right hand side or completely disabled in the application settings. TIP: You can enable double-click copying of entry username and password in the Application Security Settings. This is turned off by default starting with version 2.7.0. @@ -26,10 +26,10 @@ The toolbar provides a quick way to perform common tasks with your database. Som .Toolbar overview image::toolbar.png[] -*(A) Database* - Open Database, Save Database, Lock Database + -*(B) Entries* - Create Entry, Edit Entry, Delete Selected Entries + -*\(C) Entry Data* - Copy Username, Copy Password, Copy URL, Perform Auto-Type + -*(D) Tools* - Password Generator, Application Settings + +*(A) Database* – Open Database, Save Database, Lock Database + +*(B) Entries* – Create Entry, Edit Entry, Delete Selected Entries + +*\(C) Entry Data* – Copy Username, Copy Password, Copy URL, Perform Auto-Type + +*(D) Tools* – Password Generator, Application Settings + *(E) Search* === Application Settings @@ -59,7 +59,7 @@ You can use the following command line options to tailor the application to your ---- Usage: keepassxc.exe [options] [filename(s)] -KeePassXC - cross-platform password manager +KeePassXC – cross-platform password manager Options: -?, -h, --help Displays help on commandline options. @@ -85,7 +85,8 @@ Additionally, the following environment variables may be useful when running the |KPXC_CONFIG | Override default path to roaming configuration file |KPXC_CONFIG_LOCAL | Override default path to local configuration file -|SSH_AUTH_SOCKET | Path of the unix file socket that the agent uses for communication with other processes (SSH Agent) +|KPXC_INITIAL_DIR | Override initial location picking for databases +|SSH_AUTH_SOCK | Path of the unix file socket that the agent uses for communication with other processes (SSH Agent) |QT_SCALE_FACTOR [numeric] | Defines a global scale factor for the whole application, including point-sized fonts. |QT_SCREEN_SCALE_FACTORS [list] | Specifies scale factors for each screen. See https://doc.qt.io/qt-5/highdpi.html#high-dpi-support-in-qt |QT_SCALE_FACTOR_ROUNDING_POLICY | Control device pixel ratio rounding to the nearest integer. See https://doc.qt.io/qt-5/highdpi.html#high-dpi-support-in-qt diff --git a/docs/topics/Welcome.adoc b/docs/topics/Welcome.adoc index 4eb168e6c..b10b04f3d 100644 --- a/docs/topics/Welcome.adoc +++ b/docs/topics/Welcome.adoc @@ -1,4 +1,4 @@ -= KeePassXC - Welcome += KeePassXC – Welcome include::.sharedheader[] :imagesdir: ../images @@ -9,7 +9,7 @@ KeePassXC is a modern, secure, and open-source password manager that stores and KeePassXC is for people with extremely high demands of secure personal data management. It saves many different types of information, such as usernames, passwords, URLs, attachments, and notes in an offline, encrypted file that can be stored in any location, including private and public cloud solutions. For easy identification and management, user-defined titles and icons can be specified for entries. In addition, entries are sorted in customizable groups. An integrated search function allows you to use advanced patterns to easily find any entry in your database. A customizable, fast, and easy-to-use password generator utility allows you to create passwords with any combination of characters or easy to remember passphrases. === Overview -You can store an unlimited number of passwords and information in a KeePassXC database. Every piece of information you store in your database is encrypted at all times within the `kdbx` file. When you are accessing your database from within KeePassXC, your information in decrypted and stored in your computer's memory. KeePassXC places controls over the access to this data so other applications cannot read it (unless they have administrative rights). The interface is designed to let you quickly access your passwords, search for the right entry, perform Auto-Type or copy/paste operations, make and save changes, and then get out of your way. +You can store an unlimited number of passwords and information in a KeePassXC database. Every piece of information you store in your database is encrypted at all times within the `kdbx` file. When you are accessing your database from within KeePassXC, your information is decrypted and stored in your computer's memory. KeePassXC places controls over the access to this data so other applications cannot read it (unless they have administrative rights). The interface is designed to let you quickly access your passwords, search for the right entry, perform Auto-Type or copy/paste operations, make and save changes, and then get out of your way. KeePassXC ships with light and dark themes specifically designed to meet accessibility standards. In most cases, the appropriate theme for your system will be determined automatically, but you can always set a specific theme in the application settings. @@ -43,6 +43,18 @@ KeePassXC has numerous features for novice and power users alike. This guide wil ** SSH Agent ** FreeDesktop.org Secret Service (replace Gnome keyring, etc.) ** Additional encryption choices: Twofish and ChaCha20 + +== Contact Us + +We are committed to continually improve KeePassXC through customer experience and your feedback is important to us. +Please report any bugs you encounter at our https://github.com/keepassxreboot/keepassxc/issues[GitHub issue tracker]. + +We are also https://matrix.to/#/#keepassxc-community:mozilla.org[available on Matrix] for real-time feedback and +discussions. See our https://keepassxc.org/team/#contact[contact page] for further options. + +Thank You, + +Team KeePassXC + // end::content[] // tag::advanced[] -// end::advanced[] \ No newline at end of file +// end::advanced[] diff --git a/release-tool b/release-tool index 6d8310d7b..43f058000 100755 --- a/release-tool +++ b/release-tool @@ -51,7 +51,7 @@ BUILD_PLUGINS="all" INSTALL_PREFIX="/usr/local" ORIG_BRANCH="" ORIG_CWD="$(pwd)" -MACOSX_DEPLOYMENT_TARGET=10.13 +MACOSX_DEPLOYMENT_TARGET=10.15 TIMESTAMP_SERVER="http://timestamp.sectigo.com" # ----------------------------------------------------------------------- @@ -883,7 +883,6 @@ build() { fi fi - OUTPUT_DIR="$(realpath "$OUTPUT_DIR")" if ! ${build_snapshot} && [ -d "$OUTPUT_DIR" ]; then exitError "Output dir '${OUTPUT_DIR}' already exists." fi @@ -892,6 +891,7 @@ build() { if ! mkdir -p "$OUTPUT_DIR"; then exitError "Failed to create output directory!" fi + OUTPUT_DIR="$(realpath "$OUTPUT_DIR")" if ${build_source_tarball}; then logInfo "Creating source tarball..." @@ -930,6 +930,13 @@ build() { # linuxdeploy requires /usr as install prefix INSTALL_PREFIX="/usr" fi + if [ -n "$OS_MACOS" ]; then + type brew &> /dev/null 2>&1 + if [ $? -eq 0 ]; then + INSTALL_PREFIX=$(brew --prefix) + fi + fi + # Do not build tests cases CMAKE_OPTIONS="${CMAKE_OPTIONS} -DWITH_TESTS=OFF" @@ -1404,8 +1411,8 @@ i18n() { if ! command -v $LUPDATE > /dev/null; then LUPDATE=lupdate fi - $LUPDATE -no-ui-lines -disable-heuristic similartext -locations none -no-obsolete src \ - -ts share/translations/keepassxc_en.ts $@ + $LUPDATE -no-ui-lines -disable-heuristic similartext -locations none -extensions c,cpp,h,js,mm,qrc,ui \ + -no-obsolete src -ts share/translations/keepassxc_en.ts $@ return 0 fi @@ -1438,7 +1445,7 @@ i18n() { elif [ "$cmd" == "tx-pull" ]; then logInfo "Pulling updated translations from Transifex..." - tx pull -af --minimum-perc=45 --parallel -r "$resource" $@ + tx pull -af --minimum-perc=60 -r "$resource" $@ fi } diff --git a/release-tool.ps1 b/release-tool.ps1 index aebdd4883..fe39cdcc3 100644 --- a/release-tool.ps1 +++ b/release-tool.ps1 @@ -10,7 +10,7 @@ Commands: .NOTES The following are descriptions of certain parameters: - -Vcpkg Specify VCPKG toolchain file (example: C:\vcpkg\scripts\buildsystems\vcpkg.cmake) + -Vcpkg Specify VCPKG toolchain location (example: C:\vcpkg) -Tag Release tag to check out (defaults to version number) -Snapshot Build current HEAD without checkout out Tag -CMakeGenerator Override the default CMake generator @@ -19,7 +19,7 @@ The following are descriptions of certain parameters: -Compiler Compiler to use (example: g++, clang, msbuild) -MakeOptions Options to pass to the make program -SignBuild Perform platform specific App Signing before packaging - -SignKey Specify the App Signing Key/Identity + -SignCert Specify the App Signing Certificate -TimeStamp Explicitly set the timestamp server to use for appsign -SourceBranch Source branch to merge from (default: 'release/$Version') -TargetBranch Target branch to merge to (default: master) @@ -65,7 +65,7 @@ param( [string] $MakeOptions, [Parameter(ParameterSetName = "build")] [Parameter(ParameterSetName = "sign")] - [string] $SignKey, + [X509Certificate] $SignCert, [Parameter(ParameterSetName = "build")] [Parameter(ParameterSetName = "sign")] [string] $Timestamp = "http://timestamp.sectigo.com", @@ -103,10 +103,7 @@ function Test-RequiredPrograms { Get-Command tx | Out-Null Get-Command lupdate | Out-Null } - if ($Sign -or $SignBuild) { - if ($SignKey.Length) { - Get-Command signtool | Out-Null - } + if ($Sign) { Get-Command gpg | Out-Null } } @@ -141,7 +138,8 @@ function Test-WorkingTreeClean { function Invoke-VSToolchain([String] $Toolchain, [String] $Path, [String] $Arch) { # Find Visual Studio installations - $vs = Get-CimInstance MSFT_VSInstance + $vs = Get-CimInstance MSFT_VSInstance -Namespace root/cimv2/vs + if ($vs.count -eq 0) { $err = "No Visual Studio installations found, download one from https://visualstudio.com/downloads." $err = "$err`nIf Visual Studio is installed, you may need to repair the install then restart." @@ -197,20 +195,43 @@ function Invoke-Cmd([string] $command, [string[]] $options = @(), [switch] $mask Write-Host #insert newline after command output } -function Invoke-SignFiles([string[]] $files, [string] $key, [string] $time) { - if (!(Test-Path -Path "$key" -PathType leaf)) { - throw "Appsign key file was not found! ($key)" +function Find-SignCert() { + $certs = Get-ChildItem Cert:\CurrentUser\My -codesign + if ($certs.Count -eq 0) { + throw "No code signing certificate found in User certificate store" + } elseif ($certs.Count -gt 1) { + # Ask the user which to use + $i = 0 + foreach ($_ in $certs) { + $i = $i + 1 + $i.ToString() + ") $($_.Thumbprint) - $($_.NotAfter)" | Write-Host + } + $i = Read-Host -Prompt "Which certificate do you want to use?" + $i = [Convert]::ToInt32($i, 10) - 1 + if ($i -lt 0 -or $i -ge $certs.count) { + throw "Invalid selection made" + } + return $certs[$i] + } else { + Write-Host "Found signing certificate: $($certs[0].Subject) ($($certs[0].Thumbprint))" -ForegroundColor Cyan + Write-Host + return $certs[0] } +} + +function Invoke-SignFiles([string[]] $files, [X509Certificate] $cert, [string] $time) { if ($files.Length -eq 0) { return } - Write-Host "Signing files using $key" -ForegroundColor Cyan - $KeyPassword = Read-Host "Key password: " -MaskInput - + Write-Host "Signing files using $($cert.Subject) ($($cert.Thumbprint))" -ForegroundColor Cyan + foreach ($_ in $files) { - Write-Host "Signing file '$_' using Microsoft signtool..." - Invoke-Cmd "signtool" "sign -f `"$key`" -p `"$KeyPassword`" -d `"KeePassXC`" -td sha256 -fd sha256 -tr `"$time`" `"$_`"" -maskargs + $sig = Get-AuthenticodeSignature -FilePath "$_" -ErrorAction SilentlyContinue + if ($sig.Status -ne "Valid") { + Write-Host "Signing file '$_'" + $tmp = Set-AuthenticodeSignature -Certificate $cert -FilePath "$_" -TimestampServer "$Timestamp" -HashAlgorithm "SHA256" + } } } @@ -284,14 +305,14 @@ if ($Merge) { # Update translation files Write-Host "Updating source translation file..." Invoke-Cmd "lupdate" "-no-ui-lines -disable-heuristic similartext -locations none", ` - "-no-obsolete ./src -ts share/translations/keepassxc_en.ts" + "-extensions c,cpp,h,js,mm,qrc,ui -no-obsolete ./src -ts share/translations/keepassxc_en.ts" Write-Host "Pulling updated translations from Transifex..." - Invoke-Cmd "tx" "pull -af --minimum-perc=60 --parallel -r keepassxc.share-translations-keepassxc-en-ts--develop" + Invoke-Cmd "tx" "pull -af --minimum-perc=60 -r keepassxc.share-translations-keepassxc-en-ts--develop" # Only commit if there are changes - & git diff-index --quiet HEAD -- - if ($LASTEXITCODE) { + $changes = & git status --porcelain + if ($changes.Length -gt 0) { Write-Host "Committing translation updates..." Invoke-Cmd "git" "add -A ./share/translations/" -quiet Invoke-Cmd "git" "commit -m `"Update translations`"" -quiet @@ -313,7 +334,10 @@ if ($Merge) { } Write-Host "Creating tag for '$Version'..." - Invoke-Cmd "git" "tag -a `"$Version`" -m `"Release $Version`" -m `"$Changelog`" -s" -quiet + $tmp = New-TemporaryFile + "Release $Version`n$Changelog" | Out-File $tmp.FullName + Invoke-Cmd "git" "tag -a `"$Version`" -F `"$tmp`" -s" -quiet + Remove-Item $tmp.FullName -Force Write-Host "Moving latest tag..." Invoke-Cmd "git" "tag -f -a `"latest`" -m `"Latest stable release`" -s" -quiet @@ -322,18 +346,22 @@ if ($Merge) { Write-Host "Please merge the release branch back into the develop branch now and then push your changes." Write-Host "Don't forget to also push the tags using 'git push --tags'." } elseif ($Build) { - $Vcpkg = (Resolve-Path $Vcpkg).Path + $Vcpkg = (Resolve-Path "$Vcpkg/scripts/buildsystems/vcpkg.cmake").Path # Find Visual Studio and establish build environment Invoke-VSToolchain $VSToolChain $SourceDir -Arch "amd64" + if ($SignBuild && !$SignCert) { + $SignCert = Find-SignCert + } + Test-RequiredPrograms if ($Snapshot) { $Tag = "HEAD" $SourceBranch = & git rev-parse --abbrev-ref HEAD $ReleaseName = "$Version-snapshot" - $CMakeOptions = "$CMakeOptions -DKEEPASSXC_BUILD_TYPE=Snapshot -DOVERRIDE_VERSION=`"$ReleaseName`"" + $CMakeOptions = "-DKEEPASSXC_BUILD_TYPE=Snapshot -DOVERRIDE_VERSION=`"$ReleaseName`" $CMakeOptions" Write-Host "Using current branch '$SourceBranch' to build." -ForegroundColor Cyan } else { Test-WorkingTreeClean @@ -344,9 +372,9 @@ if ($Merge) { } if ($Version -match "-beta\d*$") { - $CMakeOptions = "$CMakeOptions -DKEEPASSXC_BUILD_TYPE=PreRelease" + $CMakeOptions = "-DKEEPASSXC_BUILD_TYPE=PreRelease $CMakeOptions" } else { - $CMakeOptions = "$CMakeOptions -DKEEPASSXC_BUILD_TYPE=Release" + $CMakeOptions = "-DKEEPASSXC_BUILD_TYPE=Release $CMakeOptions" } # Setup Tag if not defined then checkout tag @@ -368,18 +396,24 @@ if ($Merge) { Set-Location "$BuildDir" # Setup CMake options - $CMakeOptions = "$CMakeOptions -DWITH_XC_ALL=ON -DWITH_TESTS=OFF -DCMAKE_BUILD_TYPE=Release" - $CMakeOptions = "$CMakeOptions -DCMAKE_TOOLCHAIN_FILE:FILEPATH=`"$Vcpkg`" -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON" + $CMakeOptions = "-DWITH_XC_ALL=ON -DWITH_TESTS=OFF -DCMAKE_BUILD_TYPE=Release $CMakeOptions" + $CMakeOptions = "-DCMAKE_TOOLCHAIN_FILE:FILEPATH=`"$Vcpkg`" -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON $CMakeOptions" Write-Host "Configuring build..." -ForegroundColor Cyan - Invoke-Cmd "cmake" "$CMakeOptions -G `"$CMakeGenerator`" `"$SourceDir`"" + Invoke-Cmd "cmake" "-G `"$CMakeGenerator`" $CMakeOptions `"$SourceDir`"" Write-Host "Compiling sources..." -ForegroundColor Cyan Invoke-Cmd "cmake" "--build . --config Release -- $MakeOptions" if ($SignBuild) { - $files = Get-ChildItem "$BuildDir\src" -Include "*keepassxc*.exe", "*keepassxc*.dll" -Recurse -File | ForEach-Object { $_.FullName } - Invoke-SignFiles $files $SignKey $Timestamp + $VcpkgDir = $BuildDir + "\vcpkg_installed\" + if (Test-Path $VcpkgDir) { + $files = Get-ChildItem $VcpkgDir -Filter "*.dll" -Recurse -File | + Where-Object {$_.FullName -notlike "$VcpkgDir*debug\*" -and $_.FullName -notlike "$VcpkgDir*tools\*"} | + ForEach-Object {$_.FullName} + } + $files += Get-ChildItem "$BuildDir\src" -Include "*keepassxc*.exe", "*keepassxc*.dll" -Recurse -File | ForEach-Object { $_.FullName } + Invoke-SignFiles $files $SignCert $Timestamp } Write-Host "Create deployment packages..." -ForegroundColor Cyan @@ -392,7 +426,7 @@ if ($Merge) { # Sign MSI files using AppSign key $files = Get-ChildItem $OutDir -Include "*.msi" -Name - Invoke-SignFiles $files $SignKey $Timestamp + Invoke-SignFiles $files $SignCert $Timestamp # Sign all output files using the GPG key then hash them $files = Get-ChildItem $OutDir -Include "*.msi", "*.zip" -Name @@ -403,13 +437,12 @@ if ($Merge) { Invoke-Command {git checkout $OrigBranch} Set-Location "$OrigDir" } elseif ($Sign) { - if (Test-Path $SignKey) { - # Need to include path to signtool program - Invoke-VSToolchain $VSToolChain $SourceDir -Arch "amd64" - } - Test-RequiredPrograms + if (!$SignCert) { + $SignCert = Find-SignCert + } + # Resolve wildcard paths $ResolvedFiles = @() foreach ($_ in $SignFiles) { @@ -417,116 +450,219 @@ if ($Merge) { } $AppSignFiles = $ResolvedFiles.Where({ $_ -match "\.(msi|exe|dll)$" }) - Invoke-SignFiles $AppSignFiles $SignKey $Timestamp + Invoke-SignFiles $AppSignFiles $SignCert $Timestamp $GpgSignFiles = $ResolvedFiles.Where({ $_ -match "\.(msi|zip|gz|xz|dmg|appimage)$" }) Invoke-GpgSignFiles $GpgSignFiles $GpgKey } # SIG # Begin signature block -# MIIThAYJKoZIhvcNAQcCoIITdTCCE3ECAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB -# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR -# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUyaXWK5K1LP2TD/IgGb5Tfs8v -# C2GgghC8MIIFOjCCBCKgAwIBAgIQWKLXLYzA/YnM/yHg1O3HSjANBgkqhkiG9w0B -# AQsFADB8MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy -# MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxJDAi -# BgNVBAMTG1NlY3RpZ28gUlNBIENvZGUgU2lnbmluZyBDQTAeFw0yMTAzMTUwMDAw -# MDBaFw0yNDAzMTQyMzU5NTlaMIGhMQswCQYDVQQGEwJVUzEOMAwGA1UEEQwFMjIz -# MTUxETAPBgNVBAgMCFZpcmdpbmlhMRIwEAYDVQQHDAlGcmFuY29uaWExGzAZBgNV -# BAkMEjY2NTMgQXVkcmV5IEtheSBDdDEeMBwGA1UECgwVRHJvaWRNb25rZXkgQXBw -# cywgTExDMR4wHAYDVQQDDBVEcm9pZE1vbmtleSBBcHBzLCBMTEMwggEiMA0GCSqG -# SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwB9L/+1zlcXOQLoYvdrYAWS9B5ui+7E9c -# XCn6wcB4NdmaRbNM3kdWc8nbjOOHeOct2jVzVu/pJR1SagI+V1R1BfzgfzuW55Yy -# iHrqXQGfL9xhqJAWSvdQRinvlkZ+WY3QxnOhzcQk+BTLYdUwq04O3jMv7vnH6fuL -# q/HXEsgDObZC7EyKEtVbWVo4nqY0tUTviJXvRI/sFDN8DvULefwZWIvF7G11NFeK -# It24+hDCzvVBKtEn7DNmFGO1CJAB7Sz4jFewV4MP1gviMAfGbSBqavyRDBOG7eda -# SVb1Zq482yoHNAs+mpIQK2SGvUKKAJK2wCDbzgpvu5sfzwStpc0hAgMBAAGjggGQ -# MIIBjDAfBgNVHSMEGDAWgBQO4TqoUzox1Yq+wbutZxoDha00DjAdBgNVHQ4EFgQU -# 7u2WZ7fqJiaM3u9SlzAwGBhoWH0wDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQC -# MAAwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEQYJYIZIAYb4QgEBBAQDAgQQMEoGA1Ud -# IARDMEEwNQYMKwYBBAGyMQECAQMCMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2Vj -# dGlnby5jb20vQ1BTMAgGBmeBDAEEATBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8v -# Y3JsLnNlY3RpZ28uY29tL1NlY3RpZ29SU0FDb2RlU2lnbmluZ0NBLmNybDBzBggr -# BgEFBQcBAQRnMGUwPgYIKwYBBQUHMAKGMmh0dHA6Ly9jcnQuc2VjdGlnby5jb20v -# U2VjdGlnb1JTQUNvZGVTaWduaW5nQ0EuY3J0MCMGCCsGAQUFBzABhhdodHRwOi8v -# b2NzcC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAD2w/Tt5KyPbX2M+h -# WVwgqpKm42nk6aN2HvSp+KWlrB2t+ziL+1IRXwq7S0V7p2e1ZK8uXLzBjUDVGjBc -# ugh5hGG95MGVltxCJrr/bk1He62L7MwVxfH5b5MrE/vC/cHcSxEB1AZwZxYKjDPf -# R81biDVch++XeKmvUxfT4XGo7McJqT4K/TcLwijSb/AWsXR+r2BXEAqgsoG37kk/ -# fbPKimpJ07hxd/RNYVpE33E93zCQ1Tjc1tP3DaLq8cpS6jGUY5NNOzRgp2mGcGHy -# lv6Q/xf45qNvHiqFVctdvY9of0QFjg5eYDr4rLDa+mks9f1Jd8aDWKcsfCBnlohT -# KIffbTCCBYEwggRpoAMCAQICEDlyRDr5IrdR19NsEN0xNZUwDQYJKoZIhvcNAQEM -# BQAwezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQ -# MA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAf -# BgNVBAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0xOTAzMTIwMDAwMDBa -# Fw0yODEyMzEyMzU5NTlaMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEpl -# cnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJV -# U1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0aW9u -# IEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIASZRc2 -# DsPbCLPQrFcNdu3NJ9NMrVCDYeKqIE0JLWQJ3M6Jn8w9qez2z8Hc8dOx1ns3KBEr -# R9o5xrw6GbRfpr19naNjQrZ28qk7K5H44m/Q7BYgkAk+4uh0yRi0kdRiZNt/owbx -# iBhqkCI8vP4T8IcUe/bkH47U5FHGEWdGCFHLhhRUP7wz/n5snP8WnRi9UY41pqdm -# yHJn2yFmsdSbeAPAUDrozPDcvJ5M/q8FljUfV1q3/875PbcstvZU3cjnEjpNrkyK -# t1yatLcgPcp/IjSufjtoZgFE5wFORlObM2D3lL5TN5BzQ/Myw1Pv26r+dE5px2uM -# YJPexMcM3+EyrsyTO1F4lWeL7j1W/gzQaQ8bD/MlJmszbfduR/pzQ+V+DqVmsSl8 -# MoRjVYnEDcGTVDAZE6zTfTen6106bDVc20HXEtqpSQvf2ICKCZNijrVmzyWIzYS4 -# sT+kOQ/ZAp7rEkyVfPNrBaleFoPMuGfi6BOdzFuC00yz7Vv/3uVzrCM7LQC/NVV0 -# CUnYSVgaf5I25lGSDvMmfRxNF7zJ7EMm0L9BX0CpRET0medXh55QH1dUqD79dGMv -# sVBlCeZYQi5DGky08CVHWfoEHpPUJkZKUIGy3r54t/xnFeHJV4QeD2PW6WK61l9V -# LupcxigIBCU5uA4rqfJMlxwHPw1S9e3vL4IPAgMBAAGjgfIwge8wHwYDVR0jBBgw -# FoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYEFFN5v1qqK0rPVIDh2JvA -# nfKyA2bLMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MBEGA1UdIAQK -# MAgwBgYEVR0gADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsLmNvbW9kb2Nh -# LmNvbS9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDA0BggrBgEFBQcBAQQoMCYw -# JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9kb2NhLmNvbTANBgkqhkiG9w0B -# AQwFAAOCAQEAGIdR3HQhPZyK4Ce3M9AuzOzw5steEd4ib5t1jp5y/uTW/qofnJYt -# 7wNKfq70jW9yPEM7wD/ruN9cqqnGrvL82O6je0P2hjZ8FODN9Pc//t64tIrwkZb+ -# /UNkfv3M0gGhfX34GRnJQisTv1iLuqSiZgR2iJFODIkUzqJNyTKzuugUGrxx8Vvw -# QQuYAAoiAxDlDLH5zZI3Ge078eQ6tvlFEyZ1r7uq7z97dzvSxAKRPRkA0xdcOds/ -# exgNRc2ThZYvXd9ZFk8/Ub3VRRg/7UqO6AZhdCMWtQ1QcydER38QXYkqa4UxFMTo -# qWpMgLxqeM+4f452cpkMnf7XkQgWoaNflTCCBfUwggPdoAMCAQICEB2iSDBvmyYY -# 0ILgln0z02owDQYJKoZIhvcNAQEMBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQI -# EwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhl -# IFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRp -# ZmljYXRpb24gQXV0aG9yaXR5MB4XDTE4MTEwMjAwMDAwMFoXDTMwMTIzMTIzNTk1 -# OVowfDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQ -# MA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSQwIgYD -# VQQDExtTZWN0aWdvIFJTQSBDb2RlIFNpZ25pbmcgQ0EwggEiMA0GCSqGSIb3DQEB -# AQUAA4IBDwAwggEKAoIBAQCGIo0yhXoYn0nwli9jCB4t3HyfFM/jJrYlZilAhlRG -# dDFixRDtsocnppnLlTDAVvWkdcapDlBipVGREGrgS2Ku/fD4GKyn/+4uMyD6DBmJ -# qGx7rQDDYaHcaWVtH24nlteXUYam9CflfGqLlR5bYNV+1xaSnAAvaPeX7Wpyvjg7 -# Y96Pv25MQV0SIAhZ6DnNj9LWzwa0VwW2TqE+V2sfmLzEYtYbC43HZhtKn52BxHJA -# teJf7wtF/6POF6YtVbC3sLxUap28jVZTxvC6eVBJLPcDuf4vZTXyIuosB69G2flG -# HNyMfHEo8/6nxhTdVZFuihEN3wYklX0Pp6F8OtqGNWHTAgMBAAGjggFkMIIBYDAf -# BgNVHSMEGDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQUDuE6qFM6 -# MdWKvsG7rWcaA4WtNA4wDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8C -# AQAwHQYDVR0lBBYwFAYIKwYBBQUHAwMGCCsGAQUFBwMIMBEGA1UdIAQKMAgwBgYE -# VR0gADBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20v -# VVNFUlRydXN0UlNBQ2VydGlmaWNhdGlvbkF1dGhvcml0eS5jcmwwdgYIKwYBBQUH -# AQEEajBoMD8GCCsGAQUFBzAChjNodHRwOi8vY3J0LnVzZXJ0cnVzdC5jb20vVVNF -# UlRydXN0UlNBQWRkVHJ1c3RDQS5jcnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3Nw -# LnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggIBAE1jUO1HNEphpNveaiqM -# m/EAAB4dYns61zLC9rPgY7P7YQCImhttEAcET7646ol4IusPRuzzRl5ARokS9At3 -# WpwqQTr81vTr5/cVlTPDoYMot94v5JT3hTODLUpASL+awk9KsY8k9LOBN9O3ZLCm -# I2pZaFJCX/8E6+F0ZXkI9amT3mtxQJmWunjxucjiwwgWsatjWsgVgG10Xkp1fqW4 -# w2y1z99KeYdcx0BNYzX2MNPPtQoOCwR/oEuuu6Ol0IQAkz5TXTSlADVpbL6fICUQ -# DRn7UJBhvjmPeo5N9p8OHv4HURJmgyYZSJXOSsnBf/M6BZv5b9+If8AjntIeQ3pF -# McGcTanwWbJZGehqjSkEAnd8S0vNcL46slVaeD68u28DECV3FTSK+TbMQ5Lkuk/x -# YpMoJVcp+1EZx6ElQGqEV8aynbG8HArafGd+fS7pKEwYfsR7MUFxmksp7As9V1DS -# yt39ngVR5UR43QHesXWYDVQk/fBO4+L4g71yuss9Ou7wXheSaG3IYfmm8SoKC6W5 -# 9J7umDIFhZ7r+YMp08Ysfb06dy6LN0KgaoLtO0qqlBCk4Q34F8W2WnkzGJLjtXX4 -# oemOCiUe5B7xn1qHI/+fpFGe+zmAEc3btcSnqIBv5VPU4OOiwtJbGvoyJi1qV3Ac -# PKRYLqPzW0sH3DJZ84enGm1YMYICMjCCAi4CAQEwgZAwfDELMAkGA1UEBhMCR0Ix -# GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEY -# MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSQwIgYDVQQDExtTZWN0aWdvIFJTQSBD -# b2RlIFNpZ25pbmcgQ0ECEFii1y2MwP2JzP8h4NTtx0owCQYFKw4DAhoFAKB4MBgG -# CisGAQQBgjcCAQwxCjAIoAKAAKECgAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcC -# AQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYE -# FPvoURlVLtMyc41aoH1W7jNXhNkUMA0GCSqGSIb3DQEBAQUABIIBACa4ISoVYuy4 -# LQD5f2XzRDboWCOwR2ClFczB/vOn7uX+RKpbW+vZwllcL0wk0kA4Iotk12yKLAni -# K0DkhX8P/Gt5B4hMFaWYKkwTZljITgCEHoAy8vQzpfDUdfJF40R7IIEQLzr2/n5q -# Iztv/ApXsPX8SkgEGdikFbBA0i/xtzI8+3sI1QINiRig8xEH/1eOZlR54YHwClvS -# 8QhXueb9NbqNN9oKBwx5gRWcOE4I2E5mYAppDDQyhqitbeeY2Pw4Eo5koLM3zTDy -# 4/zc+A9lNkAa5eDTavxMHQVqKgO5KomzIYHAdIFnKs85SdntIOr5nSAHnAl6svTh -# iJXqSEggdX8= +# MIIm2gYJKoZIhvcNAQcCoIImyzCCJscCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDuejql+mhHrYzE +# MGUrjGMbUzkTkzwhj8dkNuT2x9j8+KCCH8cwggVvMIIEV6ADAgECAhBI/JO0YFWU +# jTanyYqJ1pQWMA0GCSqGSIb3DQEBDAUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQI +# DBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoM +# EUNvbW9kbyBDQSBMaW1pdGVkMSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2Vy +# dmljZXMwHhcNMjEwNTI1MDAwMDAwWhcNMjgxMjMxMjM1OTU5WjBWMQswCQYDVQQG +# EwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMS0wKwYDVQQDEyRTZWN0aWdv +# IFB1YmxpYyBDb2RlIFNpZ25pbmcgUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEBAQUA +# A4ICDwAwggIKAoICAQCN55QSIgQkdC7/FiMCkoq2rjaFrEfUI5ErPtx94jGgUW+s +# hJHjUoq14pbe0IdjJImK/+8Skzt9u7aKvb0Ffyeba2XTpQxpsbxJOZrxbW6q5KCD +# J9qaDStQ6Utbs7hkNqR+Sj2pcaths3OzPAsM79szV+W+NDfjlxtd/R8SPYIDdub7 +# P2bSlDFp+m2zNKzBenjcklDyZMeqLQSrw2rq4C+np9xu1+j/2iGrQL+57g2extme +# me/G3h+pDHazJyCh1rr9gOcB0u/rgimVcI3/uxXP/tEPNqIuTzKQdEZrRzUTdwUz +# T2MuuC3hv2WnBGsY2HH6zAjybYmZELGt2z4s5KoYsMYHAXVn3m3pY2MeNn9pib6q +# RT5uWl+PoVvLnTCGMOgDs0DGDQ84zWeoU4j6uDBl+m/H5x2xg3RpPqzEaDux5mcz +# mrYI4IAFSEDu9oJkRqj1c7AGlfJsZZ+/VVscnFcax3hGfHCqlBuCF6yH6bbJDoEc +# QNYWFyn8XJwYK+pF9e+91WdPKF4F7pBMeufG9ND8+s0+MkYTIDaKBOq3qgdGnA2T +# OglmmVhcKaO5DKYwODzQRjY1fJy67sPV+Qp2+n4FG0DKkjXp1XrRtX8ArqmQqsV/ +# AZwQsRb8zG4Y3G9i/qZQp7h7uJ0VP/4gDHXIIloTlRmQAOka1cKG8eOO7F/05QID +# AQABo4IBEjCCAQ4wHwYDVR0jBBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYD +# VR0OBBYEFDLrkpr/NZZILyhAQnAgNpFcF4XmMA4GA1UdDwEB/wQEAwIBhjAPBgNV +# HRMBAf8EBTADAQH/MBMGA1UdJQQMMAoGCCsGAQUFBwMDMBsGA1UdIAQUMBIwBgYE +# VR0gADAIBgZngQwBBAEwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5jb21v +# ZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNAYIKwYBBQUHAQEE +# KDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wDQYJKoZI +# hvcNAQEMBQADggEBABK/oe+LdJqYRLhpRrWrJAoMpIpnuDqBv0WKfVIHqI0fTiGF +# OaNrXi0ghr8QuK55O1PNtPvYRL4G2VxjZ9RAFodEhnIq1jIV9RKDwvnhXRFAZ/ZC +# J3LFI+ICOBpMIOLbAffNRk8monxmwFE2tokCVMf8WPtsAO7+mKYulaEMUykfb9gZ +# pk+e96wJ6l2CxouvgKe9gUhShDHaMuwV5KZMPWw5c9QLhTkg4IUaaOGnSDip0TYl +# d8GNGRbFiExmfS9jzpjoad+sPKhdnckcW67Y8y90z7h+9teDnRGWYpquRRPaf9xH +# +9/DUp/mBlXpnYzyOmJRvOwkDynUWICE5EV7WtgwggYaMIIEAqADAgECAhBiHW0M +# UgGeO5B5FSCJIRwKMA0GCSqGSIb3DQEBDAUAMFYxCzAJBgNVBAYTAkdCMRgwFgYD +# VQQKEw9TZWN0aWdvIExpbWl0ZWQxLTArBgNVBAMTJFNlY3RpZ28gUHVibGljIENv +# ZGUgU2lnbmluZyBSb290IFI0NjAeFw0yMTAzMjIwMDAwMDBaFw0zNjAzMjEyMzU5 +# NTlaMFQxCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxKzAp +# BgNVBAMTIlNlY3RpZ28gUHVibGljIENvZGUgU2lnbmluZyBDQSBSMzYwggGiMA0G +# CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCbK51T+jU/jmAGQ2rAz/V/9shTUxjI +# ztNsfvxYB5UXeWUzCxEeAEZGbEN4QMgCsJLZUKhWThj/yPqy0iSZhXkZ6Pg2A2NV +# DgFigOMYzB2OKhdqfWGVoYW3haT29PSTahYkwmMv0b/83nbeECbiMXhSOtbam+/3 +# 6F09fy1tsB8je/RV0mIk8XL/tfCK6cPuYHE215wzrK0h1SWHTxPbPuYkRdkP05Zw +# mRmTnAO5/arnY83jeNzhP06ShdnRqtZlV59+8yv+KIhE5ILMqgOZYAENHNX9SJDm +# +qxp4VqpB3MV/h53yl41aHU5pledi9lCBbH9JeIkNFICiVHNkRmq4TpxtwfvjsUe +# dyz8rNyfQJy/aOs5b4s+ac7IH60B+Ja7TVM+EKv1WuTGwcLmoU3FpOFMbmPj8pz4 +# 4MPZ1f9+YEQIQty/NQd/2yGgW+ufflcZ/ZE9o1M7a5Jnqf2i2/uMSWymR8r2oQBM +# dlyh2n5HirY4jKnFH/9gRvd+QOfdRrJZb1sCAwEAAaOCAWQwggFgMB8GA1UdIwQY +# MBaAFDLrkpr/NZZILyhAQnAgNpFcF4XmMB0GA1UdDgQWBBQPKssghyi47G9IritU +# pimqF6TNDDAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADATBgNV +# HSUEDDAKBggrBgEFBQcDAzAbBgNVHSAEFDASMAYGBFUdIAAwCAYGZ4EMAQQBMEsG +# A1UdHwREMEIwQKA+oDyGOmh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGlnb1B1 +# YmxpY0NvZGVTaWduaW5nUm9vdFI0Ni5jcmwwewYIKwYBBQUHAQEEbzBtMEYGCCsG +# AQUFBzAChjpodHRwOi8vY3J0LnNlY3RpZ28uY29tL1NlY3RpZ29QdWJsaWNDb2Rl +# U2lnbmluZ1Jvb3RSNDYucDdjMCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5zZWN0 +# aWdvLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEABv+C4XdjNm57oRUgmxP/BP6YdURh +# w1aVcdGRP4Wh60BAscjW4HL9hcpkOTz5jUug2oeunbYAowbFC2AKK+cMcXIBD0Zd +# OaWTsyNyBBsMLHqafvIhrCymlaS98+QpoBCyKppP0OcxYEdU0hpsaqBBIZOtBajj +# cw5+w/KeFvPYfLF/ldYpmlG+vd0xqlqd099iChnyIMvY5HexjO2AmtsbpVn0OhNc +# WbWDRF/3sBp6fWXhz7DcML4iTAWS+MVXeNLj1lJziVKEoroGs9Mlizg0bUMbOalO +# hOfCipnx8CaLZeVme5yELg09Jlo8BMe80jO37PU8ejfkP9/uPak7VLwELKxAMcJs +# zkyeiaerlphwoKx1uHRzNyE6bxuSKcutisqmKL5OTunAvtONEoteSiabkPVSZ2z7 +# 6mKnzAfZxCl/3dq3dUNw4rg3sTCggkHSRqTqlLMS7gjrhTqBmzu1L90Y1KWN/Y5J +# KdGvspbOrTfOXyXvmPL6E52z1NZJ6ctuMFBQZH3pwWvqURR8AgQdULUvrxjUYbHH +# j95Ejza63zdrEcxWLDX6xWls/GDnVNueKjWUH3fTv1Y8Wdho698YADR7TNx8X8z2 +# Bev6SivBBOHY+uqiirZtg0y9ShQoPzmCcn63Syatatvx157YK9hlcPmVoa1oDE5/ +# L9Uo2bC5a4CH2RwwggZJMIIEsaADAgECAhAGQz/MzOQzqJLMF7dGpYxlMA0GCSqG +# SIb3DQEBDAUAMFQxCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0 +# ZWQxKzApBgNVBAMTIlNlY3RpZ28gUHVibGljIENvZGUgU2lnbmluZyBDQSBSMzYw +# HhcNMjQwMjIzMDAwMDAwWhcNMjcwMjIyMjM1OTU5WjBgMQswCQYDVQQGEwJVUzER +# MA8GA1UECAwIVmlyZ2luaWExHjAcBgNVBAoMFURyb2lkTW9ua2V5IEFwcHMsIExM +# QzEeMBwGA1UEAwwVRHJvaWRNb25rZXkgQXBwcywgTExDMIICIjANBgkqhkiG9w0B +# AQEFAAOCAg8AMIICCgKCAgEAuJtEjRyetghx6Abi1cpMT88uT6nIcTe3AyUvdSkj +# CtUM8Gat0YJfqTxokb9dBzJa7j8YWOUU1Yc4EDXoYYtVRE+1UkdPAcXNMf2hNXGI +# 45iZVwhBPQZBU4QfKltzYqrjAZgDvxeYd68qImjzUfrCY3uZHwEIuCewmNMPpEgb +# djuSXDyBAKKBtaO2iqyaJpqcC39QnDKlXMicDPqqH5fI7wK7Lg9f4BwOsaO4P68I +# 3pOv7L/6E5GR9+hTj6txhxFz/yCbDxN1PUvDsGaXjMmVeP2M95fkwOFwut5yBESD +# IwAGEWUFsTJ32hSmE74+xG6rVqtueayV7U9cGURznSk9ZlTUqQOW9Z4K+pu29gTZ +# 9zVWlONIsQR7QXfGKZWF+Xik6rTujSRTTsK7QNMYzBI6b9v0nD2pEWuGZDXIO5o5 +# N2HzXEFlwxCFY483yWSObHNBp9PFtiDueqv+8vrN+lsirZlDFCxI6hW+F8oYp3Xx +# HdSqxsMRTqbO6dUjH2Tyd0G5fbyT8Rid7DbP6p/apzIrdFOM0kdcKLmppYBp7BIn +# TdjbWJYhtuORIUZQbUOSM71vYCUHj7xkckiYYmkUf0XH8xx8jqgVWseBW63gCEow +# hCEYxaWt0QGyXJ6UrlV4WTUCWzxm45I5OQoofymUvdutKgr9bR3nJ5yS/c+E3Knq +# JhkCAwEAAaOCAYkwggGFMB8GA1UdIwQYMBaAFA8qyyCHKLjsb0iuK1SmKaoXpM0M +# MB0GA1UdDgQWBBQta729krTac3CUndU0S0DdDscjHTAOBgNVHQ8BAf8EBAMCB4Aw +# DAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDAzBKBgNVHSAEQzBBMDUG +# DCsGAQQBsjEBAgEDAjAlMCMGCCsGAQUFBwIBFhdodHRwczovL3NlY3RpZ28uY29t +# L0NQUzAIBgZngQwBBAEwSQYDVR0fBEIwQDA+oDygOoY4aHR0cDovL2NybC5zZWN0 +# aWdvLmNvbS9TZWN0aWdvUHVibGljQ29kZVNpZ25pbmdDQVIzNi5jcmwweQYIKwYB +# BQUHAQEEbTBrMEQGCCsGAQUFBzAChjhodHRwOi8vY3J0LnNlY3RpZ28uY29tL1Nl +# Y3RpZ29QdWJsaWNDb2RlU2lnbmluZ0NBUjM2LmNydDAjBggrBgEFBQcwAYYXaHR0 +# cDovL29jc3Auc2VjdGlnby5jb20wDQYJKoZIhvcNAQEMBQADggGBAJSy5YPCbh9Z +# suDCKgDuzOWZzNza4/FrA+kT7EitDezYN3S/P0EVc0tPbgYAKfNqY+ihAMyjZHdg +# ybfBWhGzUTDo+HEipcnZ2pgwPadsw23jJ8MN1tdms9iKDakIQ2MVsB7cGFRU8QjL +# ovkPdZkyLcjuYbkiZRoNoKlhmrOOf6n1oCwXVJ9ONJijc+Lr3+4EIqZ39ET2+uI9 +# Wg9Bfd9XrDZfYFEcRJjNzRpCtHb26aIzV/XiMWasHRPaII34SzD0BmaPbsLeGW1U +# GvW3tQcgVNdT/uajegmShVb+c5J5ktRSJ0cqyxmTAYaeMuA6IxG1f6kui1SAFQs2 +# lzlGyEgxgiNGo7cHHN2KidhrBL3U2bGr9Tkdp3gmV+Gj3esCdQzJE4aqmUZvIvHp +# krair4qbLFZRNozAZJn2SIeQa5u2U0ZmvcAr1C7S3JVLP3t9LKE0mlFkV9pbIU97 +# ND3iH3tO0Zb3SvCK/XjO1PZVb8EXsi67wbfMSWAwi2CETDonb7+gBjCCBuwwggTU +# oAMCAQICEDAPb6zdZph0fKlGNqd4LbkwDQYJKoZIhvcNAQEMBQAwgYgxCzAJBgNV +# BAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtKZXJzZXkgQ2l0 +# eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYDVQQDEyVVU0VS +# VHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE5MDUwMjAwMDAw +# MFoXDTM4MDExODIzNTk1OVowfTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0 +# ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGln +# byBMaW1pdGVkMSUwIwYDVQQDExxTZWN0aWdvIFJTQSBUaW1lIFN0YW1waW5nIENB +# MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyBsBr9ksfoiZfQGYPyCQ +# vZyAIVSTuc+gPlPvs1rAdtYaBKXOR4O168TMSTTL80VlufmnZBYmCfvVMlJ5Lslj +# whObtoY/AQWSZm8hq9VxEHmH9EYqzcRaydvXXUlNclYP3MnjU5g6Kh78zlhJ07/z +# Obu5pCNCrNAVw3+eolzXOPEWsnDTo8Tfs8VyrC4Kd/wNlFK3/B+VcyQ9ASi8Dw1P +# s5EBjm6dJ3VV0Rc7NCF7lwGUr3+Az9ERCleEyX9W4L1GnIK+lJ2/tCCwYH64TfUN +# P9vQ6oWMilZx0S2UTMiMPNMUopy9Jv/TUyDHYGmbWApU9AXn/TGs+ciFF8e4KRmk +# KS9G493bkV+fPzY+DjBnK0a3Na+WvtpMYMyou58NFNQYxDCYdIIhz2JWtSFzEh79 +# qsoIWId3pBXrGVX/0DlULSbuRRo6b83XhPDX8CjFT2SDAtT74t7xvAIo9G3aJ4oG +# 0paH3uhrDvBbfel2aZMgHEqXLHcZK5OVmJyXnuuOwXhWxkQl3wYSmgYtnwNe/YOi +# U2fKsfqNoWTJiJJZy6hGwMnypv99V9sSdvqKQSTUG/xypRSi1K1DHKRJi0E5FAMe +# KfobpSKupcNNgtCN2mu32/cYQFdz8HGj+0p9RTbB942C+rnJDVOAffq2OVgy728Y +# UInXT50zvRq1naHelUF6p4MCAwEAAaOCAVowggFWMB8GA1UdIwQYMBaAFFN5v1qq +# K0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBQaofhhGSAPw0F3RSiO0TVfBhIEVTAO +# BgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADATBgNVHSUEDDAKBggr +# BgEFBQcDCDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0 +# cDovL2NybC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25B +# dXRob3JpdHkuY3JsMHYGCCsGAQUFBwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDov +# L2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUFkZFRydXN0Q0EuY3J0MCUG +# CCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0GCSqGSIb3DQEB +# DAUAA4ICAQBtVIGlM10W4bVTgZF13wN6MgstJYQRsrDbKn0qBfW8Oyf0WqC5SVmQ +# KWxhy7VQ2+J9+Z8A70DDrdPi5Fb5WEHP8ULlEH3/sHQfj8ZcCfkzXuqgHCZYXPO0 +# EQ/V1cPivNVYeL9IduFEZ22PsEMQD43k+ThivxMBxYWjTMXMslMwlaTW9JZWCLjN +# XH8Blr5yUmo7Qjd8Fng5k5OUm7Hcsm1BbWfNyW+QPX9FcsEbI9bCVYRm5LPFZgb2 +# 89ZLXq2jK0KKIZL+qG9aJXBigXNjXqC72NzXStM9r4MGOBIdJIct5PwC1j53BLwE +# NrXnd8ucLo0jGLmjwkcd8F3WoXNXBWiap8k3ZR2+6rzYQoNDBaWLpgn/0aGUpk6q +# PQn1BWy30mRa2Coiwkud8TleTN5IPZs0lpoJX47997FSkc4/ifYcobWpdR9xv1tD +# XWU9UIFuq/DQ0/yysx+2mZYm9Dx5i1xkzM3uJ5rloMAMcofBbk1a0x7q8ETmMm8c +# 6xdOlMN4ZSA7D0GqH+mhQZ3+sbigZSo04N6o+TzmwTC7wKBjLPxcFgCo0MR/6hGd +# HgbGpm0yXbQ4CStJB6r97DDa8acvz7f9+tCjhNknnvsBZne5VhDhIG7GrrH5trrI +# NV0zdo7xfCAMKneutaIChrop7rRaALGMq+P5CslUXdS5anSevUiumDCCBvUwggTd +# oAMCAQICEDlMJeF8oG0nqGXiO9kdItQwDQYJKoZIhvcNAQEMBQAwfTELMAkGA1UE +# BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2Fs +# Zm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSUwIwYDVQQDExxTZWN0aWdv +# IFJTQSBUaW1lIFN0YW1waW5nIENBMB4XDTIzMDUwMzAwMDAwMFoXDTM0MDgwMjIz +# NTk1OVowajELMAkGA1UEBhMCR0IxEzARBgNVBAgTCk1hbmNoZXN0ZXIxGDAWBgNV +# BAoTD1NlY3RpZ28gTGltaXRlZDEsMCoGA1UEAwwjU2VjdGlnbyBSU0EgVGltZSBT +# dGFtcGluZyBTaWduZXIgIzQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +# AQCkkyhSS88nh3akKRyZOMDnDtTRHOxoywFk5IrNd7BxZYK8n/yLu7uVmPslEY5a +# iAlmERRYsroiW+b2MvFdLcB6og7g4FZk7aHlgSByIGRBbMfDCPrzfV3vIZrCftcs +# w7oRmB780yAIQrNfv3+IWDKrMLPYjHqWShkTXKz856vpHBYusLA4lUrPhVCrZwMl +# obs46Q9vqVqakSgTNbkf8z3hJMhrsZnoDe+7TeU9jFQDkdD8Lc9VMzh6CRwH0SLg +# Y4anvv3Sg3MSFJuaTAlGvTS84UtQe3LgW/0Zux88ahl7brstRCq+PEzMrIoEk8ZX +# hqBzNiuBl/obm36Ih9hSeYn+bnc317tQn/oYJU8T8l58qbEgWimro0KHd+D0TAJI +# 3VilU6ajoO0ZlmUVKcXtMzAl5paDgZr2YGaQWAeAzUJ1rPu0kdDF3QFAaraoEO72 +# jXq3nnWv06VLGKEMn1ewXiVHkXTNdRLRnG/kXg2b7HUm7v7T9ZIvUoXo2kRRKqLM +# AMqHZkOjGwDvorWWnWKtJwvyG0rJw5RCN4gghKiHrsO6I3J7+FTv+GsnsIX1p0OF +# 2Cs5dNtadwLRpPr1zZw9zB+uUdB7bNgdLRFCU3F0wuU1qi1SEtklz/DT0JFDEtcy +# fZhs43dByP8fJFTvbq3GPlV78VyHOmTxYEsFT++5L+wJEwIDAQABo4IBgjCCAX4w +# HwYDVR0jBBgwFoAUGqH4YRkgD8NBd0UojtE1XwYSBFUwHQYDVR0OBBYEFAMPMciR +# KpO9Y/PRXU2kNA/SlQEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8EAjAAMBYG +# A1UdJQEB/wQMMAoGCCsGAQUFBwMIMEoGA1UdIARDMEEwNQYMKwYBBAGyMQECAQMI +# MCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMAgGBmeBDAEE +# AjBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vY3JsLnNlY3RpZ28uY29tL1NlY3Rp +# Z29SU0FUaW1lU3RhbXBpbmdDQS5jcmwwdAYIKwYBBQUHAQEEaDBmMD8GCCsGAQUF +# BzAChjNodHRwOi8vY3J0LnNlY3RpZ28uY29tL1NlY3RpZ29SU0FUaW1lU3RhbXBp +# bmdDQS5jcnQwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMA0G +# CSqGSIb3DQEBDAUAA4ICAQBMm2VY+uB5z+8VwzJt3jOR63dY4uu9y0o8dd5+lG3D +# IscEld9laWETDPYMnvWJIF7Bh8cDJMrHpfAm3/j4MWUN4OttUVemjIRSCEYcKsLe +# 8tqKRfO+9/YuxH7t+O1ov3pWSOlh5Zo5d7y+upFkiHX/XYUWNCfSKcv/7S3a/76T +# DOxtog3Mw/FuvSGRGiMAUq2X1GJ4KoR5qNc9rCGPcMMkeTqX8Q2jo1tT2KsAulj7 +# NYBPXyhxbBlewoNykK7gxtjymfvqtJJlfAd8NUQdrVgYa2L73mzECqls0yFGcNwv +# jXVMI8JB0HqWO8NL3c2SJnR2XDegmiSeTl9O048P5RNPWURlS0Nkz0j4Z2e5Tb/M +# DbE6MNChPUitemXk7N/gAfCzKko5rMGk+al9NdAyQKCxGSoYIbLIfQVxGksnNqrg +# mByDdefHfkuEQ81D+5CXdioSrEDBcFuZCkD6gG2UYXvIbrnIZ2ckXFCNASDeB/cB +# 1PguEc2dg+X4yiUcRD0n5bCGRyoLG4R2fXtoT4239xO07aAt7nMP2RC6nZksfNd1 +# H48QxJTmfiTllUqIjCfWhWYd+a5kdpHoSP7IVQrtKcMf3jimwBT7Mj34qYNiNsjD +# vgCHHKv6SkIciQPc9Vx8cNldeE7un14g5glqfCsIo0j1FfwET9/NIRx65fWOGtS5 +# QDGCBmkwggZlAgEBMGgwVDELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1NlY3RpZ28g +# TGltaXRlZDErMCkGA1UEAxMiU2VjdGlnbyBQdWJsaWMgQ29kZSBTaWduaW5nIENB +# IFIzNgIQBkM/zMzkM6iSzBe3RqWMZTANBglghkgBZQMEAgEFAKCBhDAYBgorBgEE +# AYI3AgEMMQowCKACgAChAoAAMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwG +# CisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCCn5BDd +# F+7Q6LMoJuJxenFHgWAZjm1CET9oBKnlZKClzjANBgkqhkiG9w0BAQEFAASCAgAS +# ypiTBQb39I43fGdH6t2OYAl53TSbJfPG99/11OYS+6nMTKhy7dHtzzgMFxBQmL/L +# P4eJJMqh1yIYEjrjhNLLddRhVP2lfsuQ1OkLVx5lS8M32I3SzpskOe+SywMLDYJy +# sYHEcZkyQX0Q2J/RGzF8/tDcltZodYEdZrQdaAKo7bGv1JcYpW7B6JZnNjquE90d +# WVNAsQ6Mc3kzkjbs2qDaRAdkOmX5uENWbNf1GgTRpud7Ic5hMyb4v9qfWAptlFuO +# pLHyuINNsBuTfzD/cGVR9qecDPIE90UnHQHZWws9U+m84CzAmqpptp4VhrAWc7Hc +# bHsbmg4tGA41ythKyERpW9YlwID6fJYMigEVmJihXdM/qRGO2XdfbPAr0C0AMPIV +# re8r86BJw1lxJJYL2gsS/ttgrnW2C8aFq+IxxXWnv/7maPG69K/jmRLQGZuLIZCl +# 7rT6hob37zZMsdnqDZ0DjJb/FGonJr7GpyeMEWPy8eVwZydMbC9hBl8HNgQ04sp7 +# ouskM1nCco9DV+d1Y6Oyje6IylZjD+xgX7VfsDa2O3Lw27cfyxJBW359meYHytkJ +# oYqh4Y4fC9YlYTD3913ryqTbPaWtWjvFV+GR8biHxDoTmTRuNaeN6RDyyZJkdON7 +# CnR/8X8y4C9BXdesvjfIdhHZsGwLJcZ87cnYGb7oYqGCA0swggNHBgkqhkiG9w0B +# CQYxggM4MIIDNAIBATCBkTB9MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRl +# ciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdv +# IExpbWl0ZWQxJTAjBgNVBAMTHFNlY3RpZ28gUlNBIFRpbWUgU3RhbXBpbmcgQ0EC +# EDlMJeF8oG0nqGXiO9kdItQwDQYJYIZIAWUDBAICBQCgeTAYBgkqhkiG9w0BCQMx +# CwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yNDA0MjgyMjE0MzdaMD8GCSqG +# SIb3DQEJBDEyBDARWlO4ZY7Qij7x/efLB7SJrHgfXJwezYW7sskwZhfhnoQ8JQ8Q +# HfefvIk4nF1+1PkwDQYJKoZIhvcNAQEBBQAEggIAWpBgtEaYVRayRmCTjyOoKg0b +# 2vXn3dqpcpckspX4t58xHLbhapGm3Akg9N6C0xZWm9qQ9vhjoOeuLZ0Z+017JRUe +# YExYYIYcyNGlxyt/uXiBst8KiAFFzn6RwIjycQcsnOsGRBAz2E9/k7wGtdg8kqBI +# Q71cDl+seRjWVcTR4JgthphZuRTKS1Jxn3tjDNJuK+LFo4jL38ojxhhdOnb3xzZ0 +# M1AQ+l2YuDxBX4H9aZsbiTfdI1mxvmPgmZbq4fjV28TUCiBhD1UYuHUPN3Ff9Fwo +# 9BMbTLvKqED8Mm9A25S4M8kVZsGt8j3EAt0AJaWbdHLpLC0l0ykDAcSiwZNYsdMu +# vN0q6z5knfhKv4M8FXQ2wu8pbPww7/4kBqqy9L8VMI8UIazG9Z/R7yhkZjEz3jgc +# a/VZMcsDn41B79/9eSx4wED7NYtc0T6DB8WFH1a2CqlORSHnRolnms+VjWerfmZP +# a9lV7Sk1gGZ+MePsWwXj7liURI/ubTtPtxWElWuYookkQMmrOJYj+IZCW4RvV3I3 +# utzHUwfbBaON3Mq46ADayLxKP2SE9j3JXpl4mZeWXdYUrywt2TgQktCXT7iZOinl +# dbx1tso5uDAj1DQDiTm4Nps+UWjyo2bZB/g1ONMqxPDIuY75HryfmJDlvCMp80Tk +# cJchA5s/dVwNSWKti4Q= # SIG # End signature block diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt index 34017e95c..90f7e6e68 100644 --- a/share/CMakeLists.txt +++ b/share/CMakeLists.txt @@ -66,6 +66,10 @@ if(APPLE) install(FILES macosx/keepassxc.icns DESTINATION ${DATA_INSTALL_DIR}) endif() +if(WIN32) + install(FILES windows/qt.conf DESTINATION ${BIN_INSTALL_DIR}) +endif() + install(FILES icons/application/256x256/apps/keepassxc.png DESTINATION ${DATA_INSTALL_DIR}/icons/application/256x256/apps) add_custom_target(icons) diff --git a/share/branding/keepassxc-fileicon.ai b/share/branding/keepassxc-fileicon.ai new file mode 100644 index 000000000..f33835310 --- /dev/null +++ b/share/branding/keepassxc-fileicon.ai @@ -0,0 +1,1906 @@ +%PDF-1.6 % +1 0 obj <>/OCGs[26 0 R 27 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + application/pdf + + + keepassxc-fileicon + + + 2023-04-23T19:15:39+02:00 + 2023-04-23T19:15:39+02:00 + 2023-04-23T19:15:39+02:00 + Adobe Illustrator 27.2 (Windows) + + + + 256 + 256 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqkmqed/J +lXbWepazZ2l2gBe3lmRXUMKjkpNRUb74qhP+Vnfl5/1MVh/yPT+uKu/5Wd+Xn/UxWH/ACPT+uKu /wCVnfl5/wBTFYf8j0/rirv+Vnfl5/1MVh/yPT+uKu/5Wd+Xn/UxWH/I9P64q7/lZ35ef9TFYf8A I9P64q7/AJWd+Xn/AFMVh/yPT+uKu/5Wd+Xn/UxWH/I9P64q7/lZ35ef9TFYf8j0/rirv+Vnfl5/ 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 ihUUAKoFAANgABireKuxV2KuxV2KuxV2KuxV/9k= + + + + uuid:cb06a81b-9f9d-42c2-a74c-232788afe4f6 + xmp.did:945db5ee-7e5a-7846-803f-65206778cf92 + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + uuid:9e4c6a5d-5850-4b2d-ba62-ca6055f90c72 + xmp.did:a9e5b225-fa58-1749-879e-ee0cbc42b5ab + uuid:5D20892493BFDB11914A8590D31508C8 + default + + + + + saved + xmp.iid:22bad6a9-99e9-a547-b4a8-c9417d49a540 + 2023-03-29T23:10:27+02:00 + Adobe Illustrator 27.2 (Windows) + / + + + saved + xmp.iid:945db5ee-7e5a-7846-803f-65206778cf92 + 2023-03-29T23:39:55+02:00 + Adobe Illustrator 27.2 (Windows) + / + + + + Print + AIRobin + Document + False + True + 1 + + 128.000000 + 128.000000 + Pixels + + + + Cyan + Magenta + Yellow + Black + + + + + + Default Swatch Group + 0 + + + + White + RGB + PROCESS + 255 + 255 + 255 + + + Black + RGB + PROCESS + 22 + 22 + 21 + + + CMYK Magenta + PROCESS + 100.000000 + RGB + 192 + 0 + 128 + + + K=50 + PROCESS + 100.000000 + RGB + 14 + 14 + 13 + + + R=106 G=181 B=54 + PROCESS + 100.000000 + RGB + 106 + 181 + 54 + + + R=46 G=107 B=38 + PROCESS + 100.000000 + RGB + 45 + 107 + 38 + + + R=252 G=252 B=252 + PROCESS + 100.000000 + RGB + 252 + 252 + 252 + + + Branding Primary + PROCESS + 100.000000 + RGB + 97 + 153 + 48 + + + + + + Grays + 1 + + + + C=0 M=0 Y=0 K=100 + RGB + PROCESS + 22 + 22 + 21 + + + C=0 M=0 Y=0 K=90 + RGB + PROCESS + 51 + 52 + 51 + + + C=0 M=0 Y=0 K=80 + RGB + PROCESS + 79 + 80 + 79 + + + C=0 M=0 Y=0 K=70 + RGB + PROCESS + 103 + 104 + 103 + + + C=0 M=0 Y=0 K=60 + RGB + PROCESS + 128 + 129 + 128 + + + C=0 M=0 Y=0 K=50 + RGB + PROCESS + 150 + 151 + 151 + + + C=0 M=0 Y=0 K=40 + RGB + PROCESS + 172 + 173 + 173 + + + C=0 M=0 Y=0 K=30 + RGB + PROCESS + 192 + 194 + 194 + + + C=0 M=0 Y=0 K=20 + RGB + PROCESS + 213 + 214 + 214 + + + C=0 M=0 Y=0 K=10 + RGB + PROCESS + 234 + 235 + 235 + + + C=0 M=0 Y=0 K=5 + RGB + PROCESS + 244 + 245 + 245 + + + + + + Brights + 1 + + + + C=0 M=100 Y=100 K=0 + RGB + PROCESS + 193 + 33 + 27 + + + C=0 M=75 Y=100 K=0 + RGB + PROCESS + 209 + 85 + 0 + + + C=0 M=10 Y=95 K=0 + RGB + PROCESS + 245 + 215 + 55 + + + C=85 M=10 Y=100 K=0 + RGB + PROCESS + 80 + 158 + 69 + + + C=100 M=90 Y=0 K=0 + RGB + PROCESS + 42 + 48 + 142 + + + C=60 M=90 Y=0 K=0 + RGB + PROCESS + 119 + 43 + 172 + + + + + + + Adobe PDF library 17.00 + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 5 0 obj <>/ExtGState<>/Properties<>/Shading<>/XObject<>>>/Thumb 51 0 R/TrimBox[0.0 0.0 128.0 128.0]/Type/Page/PieceInfo<>>> endobj 29 0 obj <>stream +HWn}޾_^R /֫`LC"ms2.&93=u9fAx $eJ&W<ۛͯ*Z_aG?-r%'V+/Nw =[v1ʨVz-V$7h j;2iqZvJxYd?Nb29v Zj$lȧ%RBs [%nŻDZ>CAW7BW#=w(Aqp6f@Tz\;@BByg}gF(bkEyk5%:hي4T BZ{<؆.@2ǷkH.>E){x|2E}4PYggmu>? D +endstream endobj 30 0 obj <> endobj 51 0 obj <>stream +8;UT4_%"16#Qk>&/&RS^e+D+'(a_JN;Zf`mPmAXV!=SH7#,&:[c47&t0F9&")_X-P +l)6W\S61.j=$r`0[U*ro,X(^NKri,r-\j(I1u7tloG;_rqOZm#M:21e[le=#ZgUPQ +l5fqh,+If~> +endstream endobj 9 0 obj <> endobj 11 0 obj <> endobj 12 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 24.0 +%%AI8_CreatorVersion: 27.2.0 +%%For: (janek) () +%%Title: (keepassxc-fileicon.ai) +%%CreationDate: 4/23/2023 7:15 PM +%%Canvassize: 16383 +%%BoundingBox: 0 -128 128 0 +%%HiResBoundingBox: 0 -128 128 0 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%AI5_FileFormat 14.0 +%AI12_BuildNumber: 339 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%RGBProcessColor: 0.382499992847443 0.600000023841858 0.191249996423721 (Branding Primary) +%%+ 0.752972662448883 0 0.505330502986908 (CMYK Magenta) +%%+ 0.057919479906559 0.057945560663939 0.052277076989412 (K=50) +%%+ 0.417439699172974 0.709999978542328 0.212999999523163 (R=106 G=181 B=54) +%%+ 0.988235294818878 0.988235294818878 0.988235294818878 (R=252 G=252 B=252) +%%+ 0.178956523537636 0.419999986886978 0.149739146232605 (R=46 G=107 B=38) +%%+ 0 0 0 ([Registration]) +%AI3_Cropmarks: 0 -128 128 0 +%AI3_TemplateBox: 64.5 -64.5 64.5 -64.5 +%AI3_TileBox: -221.600006103516 -472.899993896484 349.600006103516 344.899993896484 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 6 +%AI24_LargeCanvasScale: 1 +%AI9_ColorModel: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 2 +%AI17_Begin_Content_if_version_gt:24 4 +%AI10_OpenToVie: -89.6405817596406 31.8513286850885 10.3658946694974 0 8188.47999682482 8187.80830472083 3147 1901 18 0 0 6 181 0 0 0 1 1 0 1 1 0 0 +%AI17_Alternate_Content +%AI9_OpenToView: -89.6405817596406 31.8513286850885 10.3658946694974 3147 1901 18 0 0 6 181 0 0 0 1 1 0 1 1 0 0 +%AI17_End_Versioned_Content +%AI5_OpenViewLayers: 77 +%AI17_Begin_Content_if_version_gt:24 4 +%AI17_Alternate_Content +%AI17_End_Versioned_Content +%%PageOrigin:-242 -460 +%AI7_GridSettings: 2.83464574813843 5 2.83464574813843 5 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 13 0 obj <>stream +%AI24_ZStandard_Data(/Xb[M?"U`9$dBVU"^E,WEyUy͹,m gy#~ʐ|ԜY1xXBaBĂi80Ȩs06 #>PH7cGC0Te8X᠘$#a8 4:7w30 ia8-Ra`v[0H q( Z(0*% JTy#a$QEEHТh8820 g54GiuU6Â0\$2&xp-3FQg6-<3oƨv33o!F2!d㡉s85LJ,lҙYWI#L+"U}jȈ?a84|(pHĂCs-ZSVd8 [w H((-D*C +Fg8;-la C0ޫ4s"q p@,wb Ba8,@\bCHPP?(3&|KW %" cH1vXcPWXwܱN *(EQ]k7ó+CجMUy}:yg!DʴӖdS]v23<'ꥰƬ +|^i7Ga&!Y4f&$ddس20\HH y|7u +'|0·Fgs<^"y|:31 T`4a! +78Aq;K;[$04Ѣe,fQRp79 4 #  + Al@᠁$D@ $‚4 +A*HX GT`8X e&ǃ" *@`u_:Ѹȗ= ض2]fK4&;LI$RBD´?,r1]XWfe}{1_T`8|yt#QsJδc$"U6Y+6O4 l!^C[e*Ρb*ˣ]EoNG)gj<%,n7+L3BmY׊^WeB+z^J@2xCly!O#*y%T8C#g)ѵt ZTZ#Yumny-U#Vo+u +*S"Ǣ$W~dwC\ԱRhqy \1yuD%;o:vG{*+VR;S_X4QV8f2l=bV]7<ѲPZ%Y88 V_%KlN7AS#R晙l58hx+N#=_0lBFe L~dΑz?,"z!:R2yRtūBEź[% xw94e_EElRR#tixM9#b gJY F~1#b{y!;rIEhzHt[zxWWC}<97֯Y=ySJ<#QTX%mWFVeh5zM?gmZU& + 

*k`M!V =XUIjceN Va +z +U p48+pbm #" 4A8f854 C0Ȏ 2R$08MaY!k7#;+uY# h5'+֮8eKgelĮX6ʘ\Ty^sϟG99S<f[%P9LtڽX o\bѴ>;CfoB U>H.۞g//\*B+ Ρ2罷Kz1 U?33"xC[T$Ek{/vQKY5KE|շS˥'--R'R,6oc ҹ\hxl"YGJe^5J$\j,YB'K-WSokQm =}ZX ='bgɖ\FweahfZj$}WbҜ\/uXfsk4>0 mFU:MeAS,'AǾl8ٝ bo|FBIJSCee*h%婗"pʫ>×$:Tf5%X~W|FC%7,FsZMdQl扙M5,wTmJpv$ʰ8IU.4ar>YsXy4;IΫ=IyQT^1뱼bXmd2Xm~X.RH=,9Oi=V֤| [96n{]9+1'f-yxP56@rMrDYvJ{LIomtfQkdJhfRVJz6G^qZVa-:DUGSsbAC{Ű.yw:d֌78Ŋ9tb7Ҷ2]/L4,IDV,mw$[dRN͔#MQi\2 Ce4<[LKWTKtK{:txNS&L m>˒vU/ +ٹSFn$bUy- K+Qz?*3r9Tx̆lISᝯBG$fg}>5akRs.S_%4u&*ռ6ٸT',5튦84˫Xy⡶z q lKc"bb@VR)YDyeɓO%]'x ]I\+sbCjD$J_yhv;emg9GBIi6ĪMF冈_L\JNdJ꘦L:g{$]_Րe9iioߊս[n7^Wn#3YՇܷKߍܷ#=-#D<UZd;bZh4C&v;=2If;SB,zSy^sZ1$jjs#2I|"çy5W` 1.ARZ͵tQ$ORFw'W\use'?+vtR#+ UI,D9Ϯz&WL% hyx%SwI*meHli +ͰO f>JOH\ocX#fa&&sۼ8ͻ5]ʜ؛bNŬɳ+j~Yʜy]s&693Xzjt׍<+s=|roFWU.K֟'ޟwU\GDvS]$ _#]Ed鰰ZK+kdIrYt{HH:;Ff*ɰ=_uY9sVsɮv?:˜ihc2lޥё]}Lfs;MĖ5 +]Xዕ6 |3-t 5mxTv<5[p|rXhzyx_`i}eVҪ׻DWz^ꕧXQ ) }Weftʺ4ӐXh*$5ӽwJ7O3j>wxD 皇L,ܼ[,;;|gC:<<Ÿ+Os0V-oHX'ފK ʒח:)l蚥'ޑvVzTG2]2 eRay;6Eج˄QY9,HDS$,$yJ%fF:;P͘gΪlvÛRn<3nSgc#Jg"LRue"NMY4HԴNR!jNtHd9o +4}F˚Nͱ5:V]o&oJSL4s,7>_Jze֍St*Yv+,{.="5ir'iyEwV.q2s!e/ƜvJXr}Jϝ4XSYsGNh1ݜ7Ze5?{ oY6S:D蔗jy vnv ˼]&W} >v1W2 PFJdq +gvED9R*}jNBtFWd;y*yf;G*->bJ+܅pNx.FhsؔGnTeIxb<&KdHRL)LjF$c 0(1P}BlFgI01  3!CG62MZsu8(kڪAqF!5trCp= +B܈*Öi9/-hSF% `).wj2[8}Vz%띒ez\?Qj 2%љEH $VM(D@}t]jɳ lhȆ҃9-NlSD"yGקiN[WEϬ+N2s@^fSʡIx.6tv^"Gq,d4E'b4Ss+󦶥N#rVX;wr2b(si_^4XfvaSY Wx+ljVx٪F}%H%MfE!af | k>E=VbۍT,sdWS;H{ U\"rN`,1!Pq:Q.0NRPo\, +oY]ؙ~Sf`=z3:lI/, V9hyM i2 FڴaBNY)*whDxbN0aRЧVxbĺKM\% 1cđC2Z=F9#0q*0x /0mٿrZ8F?}~'e]lBzzE']-G!t՘Z{}%@Xpu@t($f?{`fʠqAUMqeA +uxv=5Y@? +s۰׭Ыd:k¥6lj~b`I@̤ OȲG@:$? ϐG؄ي߉-U4(y:n va4許όJD2+?m0k& 7N[Jciu Q7!9'~@'&*Km&> }ևƵ|ԞDLd;B 'R=B|ZCtȇ}\EM$YTW͜2:W9@@Wx,P1k8c)e~!S''~ŶSW W6P\Cne:5Dn[|K/5,$r*J?Ħ TTl޵x(H Np @,ffk6/[w3W +pV۱hKgnV:̜Rz֢%v2EG7G- %zg@ .f J,r0cQġbC\Ocʈovː*rX-/JYi V&^ɏyYRI 6 k:Ҕ>Iv\%IB~m_5Cy}eZ6+Elm]Yda1cHshy84TG( Ön\ha$$.cY0/| $7'nf!տzTb@ +pRX7Qo5,dpBиG=,rZu\?2cjU~Pyqvޮ%2 `sa 4k2b,pȺlg:4zӪL" +} OФW &4ܯwB8gs8_vJ6}e\I@lw ĝ()^LP C|05`R1/+ t+^dCq kk!c`~ϫ{0pgd$7+4 / Ke\,!w^5S(  l h%afg*sb5Aǟqpl,2u9OQ1{mAPe?Be җЁ ޲~] PrEx̊C@Jf{-XNXir>]DJʄ/9RQ;P !u%r. +IOM16_Y=-t;v交K|6J?Ebf<0sJ0%rۘj̄+mueZ8HǬɃE37JK8HSx#Pg鰱}$7F +ǃeZO%Xw]8j+pYͮ)76oYXUlh2Avؘ3J⋹E+(#^4i97ЙAIqkHt+[wjCޖ~! +z{9iPHO9Zٟ{nKkvBZen/㓯Y$ZP9rln2Eu +ϐ>DxA`-M癸پ&@f@RQ'ǶY ]d 4)e?ocpSU36w)[0;ILsS:bM-m +*A`m4|3c*D6RqTif{̐hVʫz$埃bd]#RJrp-؞/K=;<|ӿ, 0iz-i% Ę)f'Fѩg|PP0KG*&4Y=G5˵/"B~bϚ"Ǯ _q ;xVveIC #,xjqSEXΫƖnjaa's'#@aka6c%&AX^kaI0hd<ڲEA&iZ}u`(NyuD$rp%W, Cqňz"NW,}=ɈN_mH6 A=d_߬8*׹(.ԗ=G̭4Q6$MHIfiwK]~-jGdb+_x/5𫁍S%uHB=˓V +$EfaI]` Uz"9WNB$pj"SqakelrQɀVZ8XxUdOIZ :oʸr?  +Į&ob7({Pv+e\8܂ZQϡ3']1[߲ega)B`s0~?fswi*za%TJ!$9tKxBfb~BɧxXoo%6D 1g]낌>v9hEns菘?CM#ݯg\]攊kbmv Rfz+;|zV +FND̠!=A~:-WbcJPqȝTqP\/rir0A=)^_8!Wo<9 ff{}a,:ۣטwSxqe#-QiDFf <-)NjrR=9L$tb1O8 Z=#+"2IXǀeҝ/'z9'XQٯ1.; +$S &GKHay I`|%Q/tŮNRb]Jw|e UkdcS@#̼QB<8/?S Al)Dqɇ芧YVW K5)^I=RD~?,Znllr(:ۤiD.7^WO6?UR FuK`]ҢOSc#S eoR\(߂M`EQ_dSP峺=\n+i:hWhvIʇtfIsaH$[&# |G GT%nubzOO˔-44`(|216S)mX rwasȷ12BÓr;8W@RDŽM=Otg!; puR ++4!~0s~X(R3S0p7 =HfO}]Rz/`o5 ,)؟Krî.ʪ\l/s` yQGx:Xw܆v,:pDǟSRAR#@C C/%k..ճD!gjeS+&vh ɤ-P8:T&0>ZbHQI-lg&:PofIR))4{ɕn?rEvN\^!d+I4Ryݾw&^ $InQWSTFY׬B>M+贛z,FfL̢f$y $ +LlmόtnK;2B&@Eu =KP +93.TBZ)Kb%'VO|HU:#@1^A@o)1o;gNq)H)avkvtcTrTñ{]CI2aJ +mƁ䋈y 5f|S lipHۈbaEP` +^cƈ#fVR1 a=˺9(V a\ѥ֪10]w ;f +֋| ]Jure,YaQ-6?=%̀'NT5hD,k(|몶H܃|as.uJ#?j>;}t>yꎻhݠ!cیO^:;c9~8\܇0i(YwH K3a h%T Yq ˋV 3gwLʻHޝjU2+D8ئ^ F1{R?b=t"MUDN3_E^x)-^V^Pm`+t"HSQҘ(:o[+k%s]2 *KVR 5B(Ǯ2!M&*z=зF-Ë".dB>AMU?mk +`r),j.Sɠ&`@jo4-5I)8%R|aFnBFavC K70+cCq>* II4H +6)?&ԕ=Ssr{_* %UK%#kZ6٬Dqj_kfvg":z2}#]Žhήˌ!ms|N9̸` ȝ2u(֫0`,m(NU<.BOMz,ӱ/eg@컩[lF!EputQfaQ{'U\Ѱ27XVDR6 {+^=8ѥf37*¿J\BXj + IDq=8su7c.̅QV^ք{AtZgy[#Axƍe#xe^ {9~H@rdŕTɑ~iE)B!{!_0LdK42"VISS x A]"3#{c^4eGF6܀Xb粨\Ǯ=!؄ pp \co* -`yK+TޟnQq,l""?=K[ G EۮB3M;?r$f9ˁ ^6@ OoTB;oK3dx1f3o9J^?~E_UJMq4<>H̓NRm5D|ab#s2nHyXWe*~/w]%/eZ /ݨ6kOxV+ڙdrn0;CIQz=<ȻټZ^M펭V;,ھ{g y:?hlЍlDChJe+VEAFʰP@O0,9ЁDQ6S"vk/IYЦUs!.d+eKˬ e(f"%r)(Zyr ij{L}'cx5Ũ7Fts XE@(J +GZEK)&c4rǥ*&kr[/54M ,[U$mح|y*Ppѯe/%ˁWܛ H{*=.-ȣ'1[g+ |*l,; D|?a>g)N޽@. RK8><@t :Z_ʅAM%}XiN|6`j-ս@'@!Q=BǺtehj[7(l=(Sz +G"% M1uбd*`-KzL@Є~A\6ؠb^,^ iA1g b -a8rBks+7#5yUR=mj@rG\S9]{pčbn,`ouc̜T oYVc!Ul7 #(jt3r@lX'K ^Fwd?[v%z]pŐ\({=am" ݁~ʗ Wz`>v#싡/afO + +b*^%ocYÎZՄ$Օ!RI_\TcOV͆ +AJAh?D1!m8-GzHIБA/*Һ%]?:>t}gE/_}-W +#N'iD 1ܠq0 ߏ|t! FK: Gıwze-5EsKe>Ռ8^Mqz=lUSus!j +L,aʀMSßEydexb@^U]6IWN8 z^ƧQ_V .ۑ0A)1p/xWZml g3/ |Sڦck:s}cs`HOd|c}?󭵈87R]3XB8HVfZr'|c9u pJ:N'qu gwWB\ҏ OphN'۽7G͑o0%n# "%kTkHw8ݷIKM^$Ubl-,x/q%)o)K8uP8!rC՛蔖;p_u͍dx>ɲ%Tq7eeK{ۓLS$0;*3KoKY&$"T!쿘e}<8ZLPʼn#ۣ)(ِsH3H$ ء#+!(g6ƹ2B|Cxke @u:G[[{Ӥ1$;v!MMӑDc_w؛`,&6뚺Ů[q) 53 +S3%,0l\3 -Af7 +z`gJ6pW9h5@6z_]6 M^,/>aS@(FɚG8:$_ST#X2[-hsD/ܣ +sNjk1l'>bWhwk*Q(i" =1!\]~YZ|ާ%:)E7bj P:QpƐK&-࿳2sq"p>ߥ~fp(gt2Yt2x.:EʪqXsn#‹(HG/ElBSg )~)&#כ_Pjz)х6G/c@L>[@ad94ʀy99"]ɩ!T8ւ#Hy6i%%͖8_Elk~#E m|Rl}~EoE&up?Gyu4$s@v8+d03OX%>ɊlD&{L2nUҒS&W&OR%(:M>k5^hWy;7!L@}?,%⮘qk#7"( BěM_$!S͛wSu~٪ZAUKolz}/s(L&i:l;[P^EmWv L%΂t@C%0ͻJUNx`Y ܰ_NfA/[)I*&/ Z;&xhhU*_x yvR)t BDgYaYm''%fOw߂hrMjBv) V/^.VT62[IT + wK/ %cBt\?^T%C>9Q6BlɈW9J6 +7Osof MBxٛm5(46uyLYD4RC9]k?g1 WSy`q_a5܊@줗&ȃǽ׼FICy;V32 -0x羠!hf,TrEU S;7]:pT0q%u4q[pg-a}r h'iôi%LMځ 'mVTA?H_;wSL<8NB nX~"x*<%Qn|Ok]iC.g`2[*'-ѭ4[@Cq{x+BQFJ  [@+fQab3^vbvHq9r/쁡GVGÞ>?JqiV`~6 K*26R#Fo$u<W_Q\Azl2Slw=h7=bgW%fX ;2H0=m2Elt5r.r+_Dah}O/0kS5``o ;"]u0]rTwbbA[C\c!֩"7]cd^&r?\%7#}X|MoCZK뒥7@krvpvNF7uɏ6 9:*",>AWr۬{`s{-\"Щ!ok" &HJ&`+͌~bێ~COXs}?+1zQOUEй)*^mo,mガ vɩXȲ5b>dJ/ +{{UE!~2Ǔ'~}?22]u!| >+D/ &10P=. ևZ+$|#E,gP}CgE>=sGe>8/"2`ާW$)je +eѾmU8y\)BBn0JH'?~c)gVWYI20#MA2fvFf䓏*Rf ̦P܂*Fev,2_lVVKq j&+g XOoDIp`{[k$C$"U3xUFHRV|zJ.o<"Ot򔂭4FXlJc=p~RZzvWy" +zo@ݱO[JF< ;o@%þ;' yT+{MY` Ѫ͓zVKPo +*z!g)|wC=-pqކ)\]H4nSb fRE$24_r'jkN8{|rTεNiQs%=g"+\:!0.!?9BY~(;¨?!1ѿ2_<]N=iCY8fHmE$R&r/H(dR~\H,((FO'9Q +YGM-!@8z!S~ڬXHQé7 kayL}u9 +TddDVtk,r{}24_6 +Pl7~*4`Iy345k#ƪs<(PTCC Nt@=~Hj.7uzo& B;JucSs(Ú!>àѕ%h&AL@?~]bD{tqOIM4γ ٤f}X8wT'H( lkas.w_;py;[wtA`Es;V ^v3ArJMJ dtvqIG`p!1GH`Mؔ%I uA*IjEIC H$Rm'%` |)6gВ禖tBc{jRm$[ZKaKtZ3/@@&0(F <QM$O-6 3Y R0qϯ4)=Hlfa|սE zwč3(|¼;S*YטWaMYKdA\7#嵙Θz0 D>/֑Jdft%iM;y_nmyђnOݜ`\_Zc\LE El#PŬ&U/QUmvQ Mu%@O5㊢&B2w%#H,iQQnKBUb;Y:Nt|EGNڝ6u80hJJkbNw~F6aq:0ڗ'FLTn +/]73~<%ޏwś!@bxR{<̇0Ż@+ k%ɰ`J*XL>K8{p!琰 ALO]_XEF)Qf8Qġ8FZ +~/bQEK 6zT2:yOXc +F(R4/3wrǘ&;9;qc*wTyg*(p\$^ЂKO}mRp =#ѢqW|_U8Y\ sHǿPK>84!$01BL/+g 6KkGi.zk鐔gv'FM+AFPqbsT]beeҎleeXa&4p,ig*Raۧ!%+GK#x>裃 )ԷI7 D_ղhUrkJ-`d @8{BTֆf /`p%% }U C2n:y[EתtpCxsej̻_Nh,7tIHoj?/P6Yv,]loUI޿ _+2 Yo=m ‰ճ ~HH# GJHe`3  ~WCG1@f'iDq#>&=+*r0Aorl'Vt[ 0R(5ab$v/I8-2*`;~8}x+3/yكɻ nLbj%tАCO:T<=uF3Fs-h;d)hV'cq÷J}gkW87}|=K-yI>oq40]H2TqڵxX|f@-Eb+c`a  r|:=+mͱ7T k=7.M(akX8/^vJBр6}jdSd>}3/Q<0לY(mpgW":ZymN-_{X(@hW=/i[dšjγ/Lnjf-:[Ec3]{xPnQ- A@%@VLuKojIL|{%;,k ?)<|tʇSj_24SnCpChfXDK_lT) Pϼ xM6sL]4gmOdž}AZtP0h?  8ByXR*yynWpWܒ@F*ƄS@S> + ي*2Nf7Fո^gv w@ZDyQ"ZAUQEZ}@穓pyӧ2c^yO'n.#SR-;Lr." Ah1yUS#l$&伖>Ni@pW2C&;H;pmO;y>3;wRi )bLް/@rzbG7@>8۷?SY  hW +awJM܇͇8!k %6_L +g (47iPVZ"p4ӍɅƈ$dGXSb7n{-P7٭@&Elxu6[ϞF[ycd/\1WĈ PMB0F]۱2w4JORJR* oRucROBӇ!#B-"S;Ŋwqxg8k${JJ C#bsv/>gGqDZ8#q8IsѧzFk(); qw"+\!4/bs8i랧N$P [~ROx)(/ѭ +C4t44a#(8B$ix"rȋKt99^ȻJKЯ{ji3,&ez1Y]4T,-_H ,iI5>ʞVhA{wj]evuG4Z*$>(4+qSfFk>? zz|R*i;53\-d+i;mS9QG~jO-#;ÖkUC_YVi|UWWUċwx]nUąʒvJ+ʖ1*W}K]YQnTڵ{q qUwd[,n\f >ءyjR72]##iʩPbڇM~͔g<_$ҋpRGRWI$JcIC"Av?ZOb~˓/OO| }cO愄#U͙L|%s>x31d 뗱Ot")Ag^g"^Eb=~DLi'v'[ˬcK3/1 N 1s-D{R ߳tiJ Q,)rtgسB]Fal=ɲ/[pR<ųh:ERR[O"ir='5#mXlz ++YHz -Q_jbgWfkQ3)ɷ~LGmU k"d= &Ԟ>kJxrd^rEi$7'GMUʞQnbVa+xhx?yzOth.̅D!?тJi'1;6fguatg>lrrm:/l;eiej}Viu!g0?9'씩E%jrG-z8 JJ!ZT'!TB?o~Ɉ[pr,NΏRUޱQۣC9c ϗI``$,;1)Sв᪷I[o= Z黨eH)Pzc Qk8>?@h $(p``  ,@."RnuBYA# pҺ8P)LD@ #]!|or*[CCީT,?Xփ}ZNmtkWkwC"R)=wM83})>SV18Itk2ŕ~~V/S9$9˸k=Lm9k +y1ȮrzZHO 9T4 &If](=Re(B#a&bkQÉAZ )iꥤDlz +Ej.}) +~5Ch%3!!_xF [bce$x&2Pj)IL&D D mf15QTH/uɺƍ [%Z3*O\QS5k=;o+Nw{Di!j)KI(Nӑxĉk).1c酜pDӈR"!i]M)BUdJ^rE].qRG3zڨ廮-Iez:o~N(F?Ķh% 2P>$Eo"YEbъwQfDVGqUqf2(+iP,rD>܋_4.tӵd jjyh)}̬cy%y5LWx#w?vCo{ f5TՉxţ*eV8Dq?^l{hW-xv6*bxZO:Vnj~{M+ӑh7 1xYgք|WڝX!tÝm4:"A'paH8NԸAui4'^ӉuZx5+~5w|:>T*ăZeJ.rɥyLUtM\'-7-D$N;Ej99Թ]UUÐܚa${2"2GK]ZRr'2nɕ2 E_.4l)ZRƊy>s,nx"gP)||GQzD'g4wq5$~_ؤ!R~{A9sZTBk (T󐘂UT%f A~`#Hܠ^<`)6 +A֬Az>Vz~B֒*ci+6sz D\EҋrԸR9*Ʀd7rw&6"\esb*m*ElVeNu֙ǡxFڐTdF3laZϛ;X)1snnԴ$ȑWCiiEqua((BF\DR%C9by6n^R r":MêDE +!Ad U\BLF&B{wLB2ҍHxO{3pFZWшP"XDAp} +Fջ +JJdDN*խJj&A1$G*VAeFFWGIqfX]OR2rIq uѧ!]j憬~׍jo2yE1\jQ4}J?B'JG"J!TIyqz +9޼Ч ])EFI%rDC YokS3l!(j}/u=oVj"92E.FQFP;#y/k9FfǸr26pTZLa#C*:@"%5vaO>QctNzDF!rY}xqb͙R0|s"4X`&?H(A(K\Uﳾ R8eFD c|4)_UЋ1$ݘb3%!Ty6BA2-C!ZbnHW͜Dz|]~ ΢#tޒ4Py>s6 +:9=z35(4)FK-xYy"EI.䬙LOZ> Q|QڼZQ<Ÿ\rZ @\b4M|,sknZ#\Y:tfb=_3ab +8bs0FĠKOhGiI ժ)eTtJ$9,m!jJʩ"X,`XT"b;k$(j0䉖K\^y8Dբ:jAAdTqNmNrX]92-x&lR8] A\ a>_|ƍY|_-MɗgN}tR&45:􈍴Mq&6GDU"H ch"/[iRWDI}Ar51$Fb7ECs`LD~)x[Mä>bb+G Skr\_PqA$C| A=O݈:XƗF!_Tõ d9aymf֍FUp>4''gg4=KgurWL<'o fA:6!0*@ +Й΅ԊX?'waEhu&Zsh;IƧR Rlޙݘ5p2B"I#&vfYptɐ*xDn:SF_E7\ f^͹yݻ^y]_승 9" +Qz˒U%hw*Oab$GPB^+~D8Ÿ\|uv6[+ uwteVX5^W׎ģOf{FbF)(Y[GLD(~xVE29[n05NydzSJx&AIk,irX4I 4NF::rb(ĪZ-^VlKX r>:9jeK[$5V +fdƋ7ZQ;j jG \Q*9{-$Í&60US5E))NLA<yxx f15ZP4"^ ,q%bJV3A\qŝ)S9HJ6B(H'+8&i2]NZռ +Ou ,;%lC/Vd2ԈzӚҸr=圓zHV W + ]MOױ5}_cZ'!3_+h5K*9#슯, z8"1C: bjaOX0$_D!bXʰ%l*js&!VV/)A9QEFX2QV'f\4T Y$I1s2׉ECQɊ*DGg(LijD ":8[1eg<ȕZ f/./G-QsԲAY/ V(W\X "͟,b~B +݊Q"G5Qf[UOp.MHQ,ZOXsFڭ-5+vU*RO!˴,iYO#W‘dN.).Ireo g̐E[Qr/f2JaUp[$7-*bP.Gcӊ8Y!xp"iL̼RL.vd'8XTLR#Kv}kk9ʝovp"57"*gXi]][;ESQilZ*ؔ!"CԞW,\28*MF抗ʉu^-"IUi5ъCLգDP CfBʴ*j:(O2J2m4f)+tb"}R}PGI]!TQ42%y;U7ܐhSq%^s%cOֺHGS0>GXYQK#3R+'iZR2U\HE-]jc3݄$>iZ$nfit8aiŽhG"X]EȉhhG/$IQKMV.dVt%ts=]iuyaǢבQkE)\NJrNo ;;ւE}L1pA uJʫjk0j*"'BE>F墧n㺗'Sdq'B9hrFC9ٛ7 +̈HHCʐd 9Qwr s6l 167i!IEմ筲Jr[e}&]Y\8z:o,huL|KӃEiS|=oIJVe#");ɈDg!D"ʣԢL9|OE^Z Gˏe,Š m2yRY5*!Hy>GGV(Yt_ZTM$Ϛh!+[ְ#ٷҸӡ߾ C,\(ia'(|[1)@§w #.)nT|pFgV~pZ" IV:3 f0{u˱P4by2%mʘ]l.c2g:Z:?WxUKٳ8ʂ_tԹiI2[Rа d2\0gouB &SP[ +M rX;|`Y ‰E$\R1%ky}Y)ZHNPɓjt49Á¹c4#ViyIu9,oձ,R\-fJϕ(= F2.Pz8'mN0yfw^zS e -MIs>Lg"t]8 gw=Dp@m%DOj+03ZzPt5. ґPJ*~)1ؕVL?'+616+H%UvG/:7 |;+qj8cP[3puIiNBi>p gu d8gZ^ DdݭR8ЄQS8aot`)b~t+x7#d<<&;c)g_)l, -nDLX`_ 3t:_*XV*o]dOHnSI@Ph7 +)E94?mȯEwٓ@57\hR-vp<\E ЇL"P`4 Վ%Fkރ/&r}湚N2T].`%UR}1 AFC*@3(WƀC-^8@meB*+aM&3]~jI[y.oea QI\ve}#g~,*(oD'%7I(@$OE( o@8EQ"xdg~?75Nss t@*(rAH +9{㺱X_X]n`nB)[VA@g:f.7 M@6_D{u`n`z뤼y>2ҵû pf@CA_* iͯŘr6!76$\fS8~t.ԩ%s@oܕdSڸ:?Y)M{# P¢A7P ;Ji`L)Cp5戫XCn-nQj}x< hj@SSYC 17֫pFFiBE[n{6!cy/Wׁx2I~f:*H܀b d8sv922 45Q`B4e"r߉܀Bb ; Mz*Ҟ0&6{2;M+c8VJZJ-?0а(rokX.g X1- *:Q?x[f `aOe XʀZѿ~ DzH-2`kx y $wEY$zPg F(U1nqV0Օ8~Rݜ-Z `_ۊRY钒1b`1@v B - |ݹuNi``Wum\(H_|z DGDp"Js2b(DuoN 5Pg'[!苽Č|-pB 8ed U9R E;ceɧcQq),  +8FnVV{_T9K+P<1`$Cؕw1uN8 6Xoho2Ğn5LU^G/}=LWrM9M)BP +p+IL +d$հUP\ PJX + 0S h̃y>k.<͠ +xLO6*L a +teel{onfHa]$0L@l.Ff.Dw ]SDiɚ|]_$pV_dUI O1Vu#b$Z fvS@IgEkTr߀PApFͤW'وR&" *ڒL~*yqh\@2YNE3>G]>?p/}[}@pYrrE,K9q?",FB_'1xoDJ}!~; @ @$P 0lȢ04Ht@(@@Bkcs;Ij<mb"CZ0jpo@'܂۴.zk +Чl@YJnmj3~Uh5kd 96&J't4;&D R5E`%!}aVL {iyo@&|-yf83T:f]Vy\ŎZ$0xb.IuwN ⃩yC8{SjA13t':{wKjmlcMQcԀ`&-~`hJQnyI + 5 D݌_j@fܘNRh)5᭹;p[CJ 2'bR.._nș40h@v"Ef@!D̀Z]GyX#Qm X|Up:(΀Tx4O2>fXVWv˶6a{2R\4* cۄ +Y,ջeWvP +.(eS<niy @{qD@B+sف Ma@'m | +LygCv~e髄ELP]*B~(f>7 +nV|N`@ma |V+?k)9ýpS6{-`B.`|ˬD9Q6 QS2U:ע +n|3G73ND "t ꮀCGGV#I@W6 L'14nXf=]ywME)zc| +zZ Mɠ&o1VS|\7%.\{Ѡf`ph_ESF9߹umV**`V Bqí@1nP#,1J[7CVԥԀU u~۹+ j˘VtOi9 +|*"|UX ^xmy] +X4nfT[cKWXA~ +HgK Oz8 \,,E.4QN5H(4fQb# P4h?' & a&0HhT*FLw^ %{$gO{="/HCry6zXY 2xSsE,`>ĻV8*]~]>|}^PO +N*=M]Y&lt!\oT `dWe.'rpb:fD@7j8q|y_ٛsi`:'4"`/wAyn%Ђj/{ 3BXoN) m(ZprMu$ +KpNR"M T%R˟(G1ڏ [N iRVtr @zH$r+5@36 Px6B!YD$0fd׵G4=7\svE tzDy(7cMx;]mP0柢% ԋZ][QZ6R@b:wQ(RJC+B12F#2m0 +Lv8Ww#=:a ";gt: 6c/HȄլa/A-1-J]k`Wyd +z% +9ndrHɒR7J<(?a9\{S_ ֏Y +|3 vc4+-(E&@}߿(^rtWX GUIcs g~{Kc42iCv&Y;{?)m#_19c6wcYd{EV0sRr.eT̓/m5E7?!B_hylYnnND)v˲*ƥS'Q p&~ JPYkg1owH%^4fGNgl>;{ӆiǴOє#[~6OI,"`B-Jsiƨ;+hVpW$#sIaCo^ߔ.\p0m\XyPV֡ED6ar z:uyߦPfgaˁwl]2N`bza`n]䡍{7̽e?&u(%?R_~Nvf$ 8GpQߨDfjO$SvR1f'߃;%$%58PXZ-b8uvKdkT~)?%SJ' ݍ#d&"YHSݭ#?#C\ +F[OȿA NR`hYOF98Fރ飓O\bݣcOɑ6*'U$EeA Y@?HofHV{OW;O*ÏͰ UpDu)8|kJNut@/OCSҒKdcVPK>Q' {P6H .&O3*IQ$//U/@:ܽAQ;%$m 4xn߯x.Z%@A;Z Sʋ(_ [ 3$a]s5]g燚% +pUk(k +'KP3/Y?.+OA 7]aYE \G՛I[Tw )J 8gMoî){b,FNr)[}J)@nhݯE%Ϛci?c="~&} '1SQ îP!_%{|3Үg Lԅq25j;i$?cш^A5Q&#sv֊E("D[2o? gUMU N\▊׿u+Jo ۗ_ߵV3$i qR+G/Qȩ A3md#Tv%ٲtӖ)秧|#f!l ΖȧxAUʁW'!V#؄>!gTJ{'%yXFw: +cj|&⇳_X +SPdWlV_*a]H$R +Yex?C^-|1co ƿb- FZ>ڽݤOSepf SNT/?،9a |"GݡkgtDv9%-7$硒1ف[~pI|Wt:Pu~~w,g9Pzg*bo.hT`d5N~UڻE~yN5+﷕Y(韛qr =q_ɬc} ?UFEF2!GyXpbFs>:k/g0uw%(NbrhYR{Aڇ1\Wi@mBMꀖ5 [tZ܋Ee?"ё8}A(fV&f6[adDY?龾 +#y}dBLT]GhHYo ᕭ΋VZ*{x{]`_8X1粽BNSםn^V8\%sT:[~MsǃGӗ'#ӯX˒qBraʂ(]H7GZJ@PP~^2eHK ]yT5K$~PJ/]Y. )dwt*kMNUQQsۍâq8'4X4ϿO~xN +Bx߶o&$ld/0AO7{n|[2oſ0ert#94ibA֘ ķڵD}dF*|`EP)јF:qXf>8=ٟOnU)hb9cQ2iՏ(Ż|Ϗ;%L)".b_-秮|YZTd|ɖR>; +2 +c{N}obOen7H/'+W#YܿWi*yC+, إn_ +a7(t'uCށi;g靾rA3dƩcgC:kt?{ =\Vu[5Fș jn&տ2P,4?}"[/k~]A݆?䤏Ɣ@OiWwNdo!4/ŭ W qcY0O#.%(gJrÕ84j"#g BjfHd߫&r,YeW +؞5{FDY_$8{~('ؿ1HwMZא%l6dR u8&Z^[Pt 1oJ﵄ Ce1{B!&3 |x|={>~d-Y>vb voU5rt?iGYte3rQџgi?p{ˤ;9 7X~©Hr؈aL\Adhܛ>Xƿo͡4D}~{n~r[w2"^s9C:WA" 6Tꊁ: >v}}臭/VY9 +$ڜȊfe>|,oW}H}MRl% +-6g~vϿO6M.8oE\EoS$֞|яpO5{Viwkgo3ʩW>mPn^P6$˘~nkmi=k5rٓ󊏜,A LWZ`Z#9b|BPl{q m?jVqk{`G{&dSb?TiTbpG#O4&hT1[iۿX8]*}1tվڨt۾ov@ DmuJz")m V)Ȋ XcFUr3`;f&_c- p(b-=/l,'N>U+Q.k7~kU3Ͽ$Biuv R _Kg? l />=ǣvk{NA~?(X(n$Q~mk{rCk{ʠzLܵ}`J.+ 7IeeۿjP})l^gR?@E27ӁeiIv2&3zjZ`p:t-ח0Q}>Vtx9! B$T!pVeu.4NUWk"v:+aJz^fS)l0iu2!sxE䴁y>fJ_dn綱 J +[c#0tT8s/%ZBd\P,d{V)@BlV:>DTno(Πr%}.Og`%-Gԑn#r} +&I$:f^K puD+@,|5[V/ ` 34>ČHOQ cZ< %H]TG,ؘԧ8/+}ϸhuݧxn397:;̯R6{hU3_R*+\)Ζ-;W' !P\e@R  *qjmU h}͹4\RA1]A<ՙu obZ^Qhn(y"OMMAՁ +dS9MJMGSNԍTlq\mpbƝA'9Y=k{k +QNu|J {]iMTVz%V1#z() +RGLOIEq)Qn궜AJFG-zQiu^b4qiZA$*$⮨U u=θ{ :%qRI|o z產LOu)ħ:3S +&)-d=ű5;Caja1jȇ:SEh)e_ƥ ꝒkSuaͫLaig- @5UUb-i7w ͶRjw$Jwʓwo̕@WvWڒbճ3@qȆlgJqYj5k}n@!G-yfP<t5T?Gk n]y ,9=2:F#{]u՘XL )79M7X&YG[@TTXNQcE fͩk2Y,K$7J8G#G +kQ/5p@{ G{@KȪTD% +,؆O,,1?>PgpEN\ߘd]4| + QO|LY7 /Q \fKfU+& s4i>5vwcM^VA]}+^?I\dZx_2} ?ǐ"/s~)^6GHgB$ п Qɢav7o[Q頻bTA&P s7pT=g K7ŔPئzRw ~q6]5њ-je;9jl9pJvZ>fEfw( \oT61եimċ +z`ѹK4Ȱ :2TPPRmA3Nˤ,8(DJ\C&sD%_^@MVtGaM<8 w[Or,/6K,:Iu0ZVm*e~8IT ֱ<1U#.#94L v5t$X,DY]G\?ElFpg*[[PItUPn?h jt\jµUeJhRPS\$(x֦U׬@pPb| WЪ8,M.2wN%Y sM7Pg'[A(M'ܛfSPU/f$4}VԂ>i2zØ@;QGcFtHXv3@8;y/H"' +WC"M }MSƱfM7z&5DAVc OpljBqHvT8)A(ocS_`*M) +|aSr̶Ȧ|7 }lςT +YeT .@Ĥ%@æ+VO M|LXAgAoj7M/lAb}A(ːWl_а*r A5/i lS pHG2m-AO$)H m:V6m76­VD4A86eȹn]:wedi{FzЄG~Tw7&mAZ}VŝT:2el3Quؾq"Sun&Hp4d6 8ud8Dd{ %ofHR<B7-!DL@Ah(B9HCQ>#y ܔl~`la[[i {4?> e([YAh68uWٹnPʎM}W\t4ћ7t DoZҸij;:EoVB')r'ϹB^Y T́C7%~:B{jzmwӃ,UI r&◗/M^_Mit w++f󆐽oz)d\AܝTh`z1"X?$qD+BТZ? c.*BU%Fw? zzS8(x"yl vݕ! @5&}u`-B;rz v!$L%EhdmpzYG)DSAMaNzd/BA6d zR\j$[Lb%PR,Bŏ{Ϟ07&߄\bsUs9Zdbb3v)}sڎWEhObzU|Ѵ%D.DTK*f /[r.B5vT>.{!)`gm{2"ChJ$u\$3PʣvnC2^JB?-0@_Mj< Əf L!Mc+xzXA)%X36Ît !tE!B>&U>5$5 a!TEddWu3Xֻu;ȍ OI @Ir&AC! -cp|Հ\E !2^T3KqO,@!$D}7K-Co06@4x; 2 !48[u1pMPgdw D 4`W!4w%5?!䀙F$ C(ut1R!6)3enHcx&߅}bܭA/+öP2ͿD?inB1]e(XdP&2=rlU#rHHt4QMݐ i1+;f7A0Nm)}!_V%>:q4yJKcDzHaTHOOu\mFyXJp,6e=_}| +-zv֊I"%(1JN1q{_0&AwoCW=f'O *y{gBӿNF3!ЫH8τ..E&$nn^Pjta%'/H5v,ъ@M9};zJHTýDYJhdIjzP/" + AGL˞Ib+TP*VOhePzBy' +pZP8a_N +Bʠ8Sr @^hg0=[Nٲk-'#@1Tͩeҡi-DݐNZ,'!P2nt4x2~U ZFnAc7Z Hn7z 3T?Dx  9T9"H<NLAS)E.Y`> 2&m8FO1 QD !ySk^za="=EKӁaO7W*4=i|A(,z_̲tUQ"UXM'bd7"h*\$Lpo<3 :R}\VY +H(bu8L:F2̎Lg"JNiLq2@8$}dː 1Ռ*I*˜ф\Kw* YJIπLcJjއO*)R ׉!.b+bR9”}FOi`FDq;.~ ĩP2b:s9TV11h2 ˬ/**c~JƤ%L4͘fL/JL(.-SD+И3c^: әtItZU̘W1(|oT+c1YXLrX9dT=8YL(k_(RVYB '%I[Tw"hHн /ƀFL5/GLZ-jlK]0 Dc:bWT#9#&IbA|K'o|.UB!`EW.򘨹favLdaRn>,GfK \"LW(2۲#r3Uj&K8٩ep6S4IAFLyC%G ait@ +"+F & ^)0?FQhΞ9GQoRӦ *n)T}0 T"E|U0M5R92e'_ +bq@|)3ԯ 8*i\LbmRĻ-.&Pա:qPUbou9O[oU8-)Xп +L #qޢe|`7%*-&m<S!5х$xO/ 9ѱ$&XBb' 6\BvTSm]Trأ!oF|15;v֥']OȌb*:R +\08!(!+ff@\[N}ڒx$E&9br2MUs7"rL3,u2_o –&cjdFL3=5ў㹓Mj;mSQ3yhI5$5| &Fr2r*쥃Ss*2ݱI $v +7=BPu2mr6 cw8%Z6OA r#5BʜFtQN4.ET1Ps.YqXo ChNI,|(-Q5V5J˙Ťב)PJIgk; +&`GP2u:! ,SA}M_-(mk2 Ebؖ c܈ڈN +g'T{R w,K{vº[^JvMPFT#2i-ҖU +k%3C|@ֽG .$>S3@;S=YNF'Gug=:= mi@Ƿ><|* CYA{QEl:uR]HT;53/;ukO]v; >pE1)&R8|!Z'ҨN+l g|x!s'|'l#b6\vjRO#-i'SyG1NJOjvZ$:|R ʓ ǗOϛ'3TO)Hk +kK"nĥ׋򔵲Y4y3D^R9H019pz/Xm^> ̕{XJ!@RYΞ3uxcm64T +շTJv^O=3rJEa>O:)QKiJT$h4ET[*ޏꘀNnD_NF;FJb9 ߺT3- &(.oFSc('mҪt^ w쟿Q%kv408i4,JH(̛F q]!`]F%mXhUY|gX}Fee]v+\ebڏiHX$jeѷB3j y١RkY-FP[CUxvH]xtH߉nPu\Ld$y5Kqɉ9@V eڪ9Y7m +Rn[ۤwF) cOamH _ + kï`<@kb_֨`歇 U/ EOs[`F xhlˑ)̱lXPW1O}R|QzxT6T4!D\ِ ¥aԯA Gd3Q8Tޅgl%ޑ[ 2xWDCm*! dUVZgA( 3iuubS KQd!*@⛫`&:SM F\E?nr9,\; +$u,i6Uߵ玒@5/*Urn" SdTQ^ >_BtGUoިE UZ4J.n 4PT^⓺G"00mBT\;luH͂Ӷ\?a@ג uxZ65Qt?°;RޜSʌΠU-epUfh+R8+bbOR5ݙ5t:g7Zl.Rgc]K+ M#{Es$%YcE +*2{nLꍤL-S'L+$aWj)/?G }]ؓd@>MT} "=FRb=~k_ksλ2] 9KT EbW6aQu*`)E,&Ѯ"̋suMQk7ڕ ߱#hWSXTQ8U)@UBy8^+dL}@4-Zj u'|AqNMz pKwL*n=4T:W+J*ָ!:"U*a#ӫJٳ* Vy7XqH_iO* +*f4"`V:C&Tc +_<3o Vp7yncXEʣ,è&Vu+`.A su.V!طB +s8+Uo讞NH7ٱd5kX߃ +%c}Ds=5#+mz`cyZa?kاz~X.Rj6 +0"!#zm_YQS,WHdhz,X+Dde'(kY_̳8" EQQdY,nTCrh|jr` F2n$sؐх+m/Y(vg;6 GhgC# L䃙,3_Y{ 7 5Aϊ+:G yQLϳʲy9`IWv#(YSW%t.?ϳDW>stream +ɬgQ@i$k7e/-k>e!1/SVE|%X >YA\dwBrʪn: !Y J4/:M<'xd*sX*!jDY YKT3AzNsBg;~1CpjJ?EUCH2鲠b>ڱn,A,Oe+rKw_Pi7ΚRxzylY;D;K#g P4;LyjᒴgqL[wWy2c`l +d"0`oQ''״*Bx8gI#v=4cgyJ`=@geC[PKf /Ϫ-˘QrV<jy8k$TR15]3ڴvuM"&|BzV,cu@DMJ^zVmtRPϳ0N_1,i{SG/[+?ϊhӊt6҉ƸDʳ$KFe\~xP+;- , 5hW\ g +xݽ +VR^8 غga2~bRYLK,D&DKȉq8LO/; R~X+ŅS$^><˧w hwEw0t lh0t[; +!v|ZwcZ!f1FYhb wVH#4MGV wj.2KMUYlDbPB9 )_mY.Cb +fB#3^{YCDѝEiI@ ; [ b͐GRgѫ,$NYpFMeYOXKǁP`!S;kwceub0)YXx]g WYvn̹ [YVsP(W:gy%uVYr G)E9Kʸs s)gU=)$tȭi9u/W*H E#=6P4SUQ񍳀/BOP6XaJAPT)9 UD$9k$ |nEVVa+q`-O>Z`I8+)o,TAX-lqJTgrhs` ΂YX99v,zEg{+E@,(Ҟ&MgP_+V6 qe (4t;.`Y +RT_#?=je-C0b*iL<қy^XvJjp5J嚜=~X z?z&XExW`JO6j.A ]?ύ>w ZYn+~(5U, ԪEee:E7RWM돥w=o."d= +ӌ717ʂ0mevfD8+$6Oq +]Y:TpOK8+lwgѓVY/8WѦQW8_J}fקNj|e]~3eو+H߫*c^E}EqVg=2)v"]Ճd/%Dapg!r&$8K|SPdz%|CKG|cYg@T7|"9$F\T{r5k w2#2W!g͛-E%Ou +ɥ䚂hh]/p7j}YYcQ%9kԯq$G>tPFXiPWYGBakziB쪰9K`jV7ge`s=I:蠳Pfx@WL-1g?0g -9=IYy9KJfCտs֦!؞hR,19 Ͳ3Y#|9إf0$ҷ^5!ͩYcS;x.mNnf9$DHeV*VKUև91ԬLdCKPky9KjD Ԇ#p,cM',X$JPlc-Y .<(ܛdHa\5 +Df6`r,k,Tpny͚,8> +A.[&޾j5 # G-kwLpTE4B`{o |rJe0:֬KMgehIjV2G`}e5 d}G +(S%o`j7_G,yEzjIAf],fCfl}"'gͱAM?e#Ru&`5x0H{ඪ#3/2Aile?S>mRWФYUI0f9GAriVY08ZoiqnY "˂}KIo2kN=V ,.}jV2*JY1$lC6T,S ,d6 MlzɄ5(jyE Ylӯ4jVA +P&MUC8ff2q!>5pU :fp;7T,bլSFլtYF>r'F=lmͲ֬ui:(NEך]yB5f +qW,/K@5-}eD駲 S-Sex膲fhi\*)|Ͳ./'p>Y^J߱CEP+f= :ep@חOeYڮ)ӗXRDJNUP)1NhT'a;Gf_Pyc5̀E9 #jՖp=Vif`u;ARXAfi2iԬcFHLy554z + +UIWyEKJp8oMy${5X:՟2,@RcPfxXlkŔ2(^҇]!-k+0=nTph?,,eҤĭ:,fa'2Le dwY3SYpY%<5KEBwsԬv@3LW Q,tfH^,͢m#͊;kTm*ŭ6&Jln]bC vG'װF\z̢YmD43<\ctY,ȩo2 ԬJU5#Z~͂)2cysDneZ4kHv1,ys)ͲSf<YZq%KҬLU ]',7P#JȌ+֏Mau$ot @j &e,\A/qۊnM4 g4k}2QVa$5|9,.4 6J-f]%3g5n4ҬhF Z&KrO|4K,r+B#!;y*KiY)LcWaB]jV(<,P@4Stxϻ)T+C͢@UǠ7Z^ԬZ3a\1+S[wG֪͊I:x2P|]K$Bq5+ȓНfMf=OzWȃjI7#͛Ԭ|/TS-HjjLvrK=+QQ1BYkY4+QJ2! iy44k%|/Q,&A˜f7f4&4b+ ,Ή4͸d,f:%rD5+fi\]Y$ƈG]'͔w:ח򩍜'rgӚu`3)+9 Ѻf=Mkp +5 /75KX={L:ٮYxE3X[)t^([j5KDٖ<5zZunYNFwfu8YS'i+Nh%p" v+,ZOSY{62$3_1$ +.,xW%0RYgH +f!T܊Ѯi C%Br%EkV~D7ǤYBlE- >}Yج8eY(5 8_E9)Eѽ,yMi$tQ +^.vrYo.85kWTۭYm7+kX6=2.y-^.݋y0ZY]FSԌu͒0Є9{adWXYR0XlYK+^pK:d,6KIj +ʱi/ZɎ$ ?e6+$BfHfUM eR<.G]ByVQ^9FK,Ϊc=8a^7KrOTL,ެsK%QRz@Eɷͺ^eÿ|ʝ5 V 胳4m ]b/X% z ,g%HJs[<&@q(Ѹ βTp8ϝ(G,FӿО +_ҫ,RpPIqjElN~=7:$0|4@T$$q/9SE$'F8 N:d~ty㏳̊KEg-K8pFStJ*KAc,%nC}n05害V+ H٫̲ĂI8Rٺ^8KZlˍ!!-+ґɊn mQqVHTpj@[ٯ$p^{ Y,GkX’8PJB + ȗt| cVYѫgpNx,!Y2\MgY,׺`Nq%1U q')!<W?BǽiM狝%qOo-3nk <ʺ?tfh{#mAzKu{ FgII@c!dHRгx\l2gʚɈW8n17K~@H&? + Vib~Y/YAjyY,\G8dqV!gB3YF)8_J@4HtU}ޝ%J,u$ @fᜪC geKBĀ!h](&*̢c3Cb,Q0 k)Ag pYaPKYI[oV>)ϖDE!"Ab@m6}pFuY:0P82¬d*s毤p7Wlwɥ{А&]S%y^bp֠R(D ,s!8k| VMUxio8Kr晲'z&ԍAb![ugX*lz8W8V8|W a͒/@]W(|㬬>X\_;Κ;\~Vj oNqU8+0I +)pg"$Np 풧^x(\p2vY{|G1xHL g7  ]Ml*ef^kY\yWHشNg?eqI.=ڠ9Y~ldM +P10A$94F 7r9 x, 2j|=,.ܕE$$ =J"nyT {㬥DQ"˚Z,T=l`Z"9+<'ˀ*">rOT'h[\Ќn[~*{XC'-\$gɊ 'MJ՜ݓe?E&YF9mY^ScT'ʟwDκ6,Ʃ?왖b#'/}&Dp4YOPْ/YGxNHcK; <pΑ8DΒzùҰ?$!gqz(@·5KaE/K%D-\r-E>8rx[ׂ+eAMZ2ϳ솉RrXX& lYSD6r +hzy)e\ȯP. ތơvC60u[ P=Io۟b*gm@*lI|O=#|,YY5}gTݠEQ9Yn5X8K|ԙAR -ve>ס}w'\IYM8igi F2z?) ٗξ!qr`Q`xC b ISpI$ 5衁_r$WSv[Y9H8) +;Bhx%Q<ߩY% D'T ?Dƈ7s;j-A230l]b{d?$89_GD,8=h: _Jx2Z oKbb^q;zS@hZH5/pƺB T\4+!"s[k*\uO$2o3&ɨS,] Ix %2/lx*%+"%M|WO +,޸b ͌3fFΈnv)&}L60M81"aE% AAeĒJeB#М_e`2|Dhe0B2eS/gC~{=3>a_ \?f 8şӭ-0!~:zǵ20{1E :lo!E)l8.&$nGp4h?B ]0 m|dda;$IgdQ ,JGS#zD 3@ 17 Ğ}!BC0˂daD8>!4B %wUBx,gSAtB(4~ A<!4fB$?֘gmCC $A woAB?m'by~GY_m_-}N:ɝk*/Ћw4?H%8M2΍F>!„;?y~<=ʽ&@?B|G!ckA?- f B1$wghD-J)AD 3|GC` z>maN&8,MlD$"m,f c, =R !A'= % j<*&Fyt( +3G/.%>\KG\w!} qyJ'oXﳶ!%/FGhBgè52͘R⪄vܩCD>C"yP/JBaBiF)Q~,+m7HmHB"̜g1k }3Wu \X^ '+A!4滙Zl_Y*HvLh?rC ]Џ(X!h `t1 _O?4\R +^PC4D!U!X?0aZy.HhL(_SFэ0( +UxJA2l䃶?1$;,53V%*ߪwz?N ܆Ja(a؊.c3@s(SOa_ΟrzA=?1|_aA9CŠ?qbd,0Țߣ01DYxIcoI癉HP t/2:|w. '>8?&a>HI A U$T63ǸQHBG$'lɰ$(7&R_]sb:Rթ24TC(BMCc<,G +^ RTyoЗbtU4LI<%]'x J1 +[FA# "EFH3{m173<}֐\uNrZCm|nScHU:Q 1<1UwL:Q+{NA+4t'ȐF#6?cg_bH[*^! pOdHc#@gcH#WiȡB9Ő$P2K Wz؛5(tˤ J8rv4סVD`z1&e& iL +hp8nxTEp_pH;%Z5>! _SAtp!Ґ(ftHBYU-`:&pnЎv…0!-̽!Vmi iv |nX=D`ÐFZew!k2L\7HisHMnFhe ؇ + K#}+T^e>7x\sULPcF ӕʝ k C +i|#"hm冎 ~lBƁTqy0LA3+SApP4ip;ܰܚ '( +p`Y#]}A(leA+ga@Gzd)bœ<iCV(?#@=~4\Bs8g۶P$gsSqr*RҨg={dZ pmE7NW-7DnnZn^DGQ M۽ LGC,ƸgSvʹfNJ6GC̻LJkX _֙m۴ E,Ʒhm?ٺ1ˆ+lʟ4q33ɲܰO;S(&iuLQ`,[Kz>8n(BZl4ltilREh.'H 6Y7n8Fbp\TqD 1 ŽJ5Кun0=9KԵZ24Ҹ~ex(ڰu XKe -(.߻9qOvF+hΌ#i [ +/tEf&4 Z(@NE?ڞy ϶Cdv'vWZ h,={diPDɝ(AX@earIyHz7xsh-M +H,{F mAit/Ch84Ip ZMd@}-=h/S+{]I[AO1Վ48)0aQ'ã:0QRmTX +iGॼ~]"HNSO i#OQ݂`Eϐ~a!Y"!@(aH8ރ +vMfHc7 VC i(ln iqB3'2N(HL|KiLH"L#B+Y},t܂!6\3_MC{;cm`_A +"4I,Ze% iM4vN[`ߓ il}|GBɘB$2!"JHT ,#Lc4o]v!:cIԾ \pewv*VDzyx Kc8AdFq (4h +a0!W?H=ԫfڴYD#, AHcƭ9Xp4K#T?! xy19g|g6=x+!π@TI",iđѸEz"2B?38>G|8QsDZW|s`74nEN4 E1Hib $,pi`vdHoV D{4Dc NIP t1m HJ Y):nE Ced?Zqt >\ +sPR͠hH|V0DPsu@_`5X$оyA^ 2QҠ?9Iqq@FahmAX wfQ +epE!zh"t_=@3g{j7 <~c4gVYKʜG֏!db +,G#ĩX{.ȫZF&QF`=xmQ6[3+N<DkVv:Fz#\Ɉ3K|e(f㏮>b,S,2[5eX~\.v>p&4Gѓ]Q,CO0o NG + }+}}48 Y@ 5hT"(CQ?$/x y*d\UG -&R҉&<:ql[b)d{E,S@)cIF)CmLx/ ϫ)@&t.D[9*8JHWx)2e cA:<O4D~ +-"y2p? S.(d~oJ[~kΔ\-]0ۗ)Ca^0T)EIc-D*>H0ijYZH@顅+ZHC0[`ڈ&pZb1䰢BFf\=*)^>F}4iz>Xt3M&p-z}GCwJrBѰZѰS _bΣ/G)(l yFIєaf9*M@lGC| {p,D )CV>/,ĉ*Fs +&TW"=+ WXϚ2h F9RGJѰ𦱔}4F`/hx&~fO{=3cbG쑤Ӕ0i8h)6zr呟eVj)ff5g=2]}vG6 +=v=N(0h@ޣR-Д[&뗧E F#{4pud1)Cb噸=_ +hoOs1Ub, O5ۣ+IX00rÙ:ORwh\rBFٟpգ8iv]w6֣1q\sԒvmWԒaCfߣ1VZtkO rJIבG,v.B2&hx*Z׷1£c':ZtRP'Hu;|o Aiei*mL3A|#I` 2IdX{&p P X921I02pg 8 snZSjuHJ-~Gi$5GSJnaŢqأѬ$ډd9Aj12^mѮn~!DC%$G&t|fJu!lo\\%+bT#ȵ,ۋ@ 2WqD;c *`]\9Fv3^{ h‹@ _@Q;nJy3Qs= 9h|UdBGcw7z4N`oPA8"bHӠ) k +b1$ |NHMϣ!+| +Zz h_Ea3tg~@üj['$!g7eAh.vS~7%bnѠ4>A=Zi21h5P+.}Wگ8s8R\L*T@Kՙ +}קνm 8XB*ƥ%D '+Y~^\sW "^^[ ;O7u1p4 c9e'. eB{\ T]XxJ.8%Ud՗@0CD(nCM٭ O1ѳq/56HmѰ<}lG6~n4d$( +UvdX6͹p-#a!!,F#iF4^n 'C7 @Bo4_T qkPF7F T節ki"l`&مP-,Yg}WuB1X]d)[ՙj  w!耠l؁[;GSM`)sd6~PU(#S3@h8 yqv'"?hp0 [1XX(_-Ў9s$o4)ӂ#*׋ئU%w\`H 63 +g2Y*hTm/S-g%`KRhx|K|F[KUF:.å-ѧa>|]8U0܌r>[M ټLZlq4~\ܸ/:hZp4r_zhYߡ!@KCRv_s&r :R'! ?p}G#xE{4Kl努mGZaW,qdt?ڡ>cDp +ңO + _ z|KWrpRWRcwdAG$E"+,yx"v-Ċ@Y2sE 7.\?WX=[YߣZp:&ZG~ɘW 3~ +ь1xO$*F[Ir1Vp(k0 [j fAZ 4<Vt֍u B̭"8k縋U㷭hd7U*R CحM|-7ruGc_ 1TWEռ;B) DU]i &\ˤ[hی|{~&t+PLǣqF"hG#iWlXKf6rh 89 0h晸eKϊZa! F`%οs̨ʧ_FP:DkG_lBpXv3`h +bVΤGc>pRAzFBCY˷j1Qb=ƬGcm1i {4RѰv>ྡྷXh.8v(j@ QZ(8MzUx.#&QAAbE8v=$F<.xuQ<%R!vȇ_0dѿp O+JOƭfjh-->PK=;3<jN#$pwZ!LFFa/)ѣmNܲM+Zͣ_K ,<C(֠賕gks؛VХfy$e0=F!Bhg"dJM+t_<? }hXj4 +#4!f>cZģFՀ|ihMlqGw4Y$i5> ]LUI%Sw4fӘzigC~Ffe$0Bp0c\$`D9+I%'4gؤoh`_\%р2E[qъű8ZY٣!F!KZxiJK_X +{wV\fڇdeoFV>W/BIQ_pI-ؒ/" +yqP-_E.P I1@.I#UۮOTENj#% VT-QI5i`z 9Pm6: Ru`ԼlU.5Q}G0­ddps {_dn⏥vN f ըŜ|AQa|2QKS n~rQRMj|腙DG~-$y1[j",?^-^ />յ%x9Mm]ʻ@=y}b\]RujGj̚t +SrOT" iV ص6E%g.­ʅbږ\KM\ r~ G~\\WGR[{ 76\4.q\.RIJ-(oEŒHxԦԦ-v-`J[pGSC([|5sBJ$[x- +K ~kֱ^ژкZ̩ZԂ"bVjVBM7rZ@Y-AjRZ +WyOa&|ԴG V 2CȰ][xpUM,RtWg,&,Tm̢ŚFZU, +e`X?8PpXmcAd5(6ܮ漮Fږ5jsXa| 擵_DtIWkǰVlcѱǚ|1Q&^c}|Bڱ嬱PXX4Y,DIr B˱LQ,H,k"ƆCT|ĢV$ ް0B-a!f{-k0`n%X,k'${kcXp_q& +++jW=BzE w"FWtTxt# ʍ8pSYTQ1EQAL0CQ*pHwSn{ +ES['Ny)\ I9oqMq61k{;v7ʙ⍾Դob?~{S7$0fXbbp#zT \JBpS)+Q~I)^@)*IATk/)]RpI +#)<- +R(^ yEuXU!Dgo; |W-UoFkvku:&Wub'hDNP&;jUu+Zյɪ X`'.TGGu0:؉Jmm1WI0$X:8OMHQ&LB%1Qg$^J<rI"0IL8I|ף "Dz@g!!﹞oBq&!ҍxɆrXڻ+s!c1Yf}G8\Ļws e{TYBx V5!n‡8qHp3}8 +bJAP"!vA7qC- +\AĒ 7}io 4v!K璂!6A }$mZ]A3Ǽ@U(W؝Aq1 7 hE ~>R5!7#/-@q ™+Q+|+.Wy~m`b~ +).9m zV.c%OS>4ǏrgD!~l8y*Ug*[?ݜz+ۏU~?XAyM'omN?!#oLt;h:R y?Z {h@BFc_Ѥ Cd`neփJ < z EJ kSxGFP484x#F/A',B,v5{ +Iސ'G6&OP 'T?4~j&([ӗ2_^O4Ճx3ţA)(S5f"vB2&$]~HO?$id4}mއz f8J +> ,E)WN>P~ܥxc[=ZG{=!60pxZ!'/&̡҃>u |MSbx< <\ j./xsTØcx xscMedР S2; +@ +@pK~;`I 4]&td ;YuN't:`VC(Fd=T4d,atHVp +YYH6S~bsV9`Zs`PfHA8<3|r-9pn :c#"Le&~ơ'/8x8f8|T0 Chܿ!}CHz2hooȤ7D8A!vڄ>^leB1.M]70U~edI[IKQ0or2H7"̍#EE*Yc +W Y7*z9~"tn Rl ^ ׏A+iʎA+/ۢ`A1c1(c /8:Lƶ p8*PL#i-|uó<͓'e0.O xGnP7pCuA낵]Ph޻ua; Յ^ 0O8r| WǦ E׆n, n;]pta$N՜μuD]&;"xn_ /Bդ.̗]jS6R&Clp]0C\pI;\s%] 7.].3tA,.-x[`yn-Jmala صNszZ(R- js\|shYL+ H, AæQ  K*~z> Â`),88 W@R@tA+vsq_{+D\j-28չ +4c4 +=$02][Z +! +̇*) +TD{*I +)R +Gy0ٌ¡ ꢠ.dTQ؛ Q:G:LPB’%A!GAaHr/k P8Op8y'%(IR RU۝@!b,tQwB\u~w?pڼZߝpDh wDuw:;wBM;N14=YN@ _a;A/X޹: :6 NS]0pS 9DV[/3٩*wArB8͌]) ɹ ڄa]XOMXLi&:˄#hLHJ LP_KPDouA(wӂ|K ̺^P\]¸%i\K0`A]P;@]v[KuAL(i# Vz R.aE?tĠ%, k]B7vr^. %^gxA\.!}68-A#Z d LPl+/~{%\Kl^ &.`J rSRWB/[G0X8Ȯ + y\/HQ^ [/ z%ےD`IC评'K` oNa ` %+0X=  K,V +a FXKe շ+X-O"*#|4vXBh08K0He`m] !o0HIncآQ(4KMO K MF 4L( ·%̫~FhjZ$ɰ`o_{$,t^IDB<`$0_iQ- ; 7O%%Ͼ0zP#`k$Y$xH`!NT$G*|"0@ # ϟ`:B#$kW#h 7a +F -epP:d@BE +B@B ~""X㶕^!B'KB2/xGabT_ C95!QUr0Ua •Z %Bȡ/TD\oA`ӅCUurp:9a*9?| A@ ƒA:w<@5 "Z 8bY: $%F0Hwж?0Tl[R`p7Ћܭ.:WFQZҀAl{%|`mGaa.W7͐AA*_lΦ`0 zyoqFʃxBG@v|;$`!ڦlD`Kӝ;9]h=اb J頌 `,ab9Ls`:E08'Qy; @-d86⁃L}`ȩg}J|ܠ}`66ةŖn`b@``<56g «ADC[Uwr15<Ԁ/ J: Pl(0 +\4 +ph@=A*hp4_f, fpA^ {2Hʠ(GAL`Vϐi!ǀ(Ot CJ +A A۟:#y{a`. F`\OCO00U` A# w/^ 0=G D.. >sA0XqsR. F=?AAL,d A`DT9. +$2W2η`PY`7<[p-ȚbZ.`a;oQz O-} (oZ#߂) JS[ 5motނmނ [[n&b|Y -Y@#o0z 7oAnlAA~WzL ZK$rRWH|RIau0.K}_]nbQe~X۴>Y`\SeALW27z0,=+(׃b~̵U8 +P.,.kIov8cSYMs;[~jgvk]ApʏU5RbH=U!B]C<?gaSA/JzT 3T@(:qjO@BNGje+0d I&*&jHWLA`p1DY +Qn"\w!W?$6B| m7 +j- Rko7 +XתEAý% +cctV<]Ѻ笾̄R&(4(?r'tFXyy1 $,Gj Yn.rv:-?t_+'zlgۇ0+N/.@*~M|Kl6355EMĔ`x4#S`A*,[댃PȆIfKCY|҂xW\2O8HT=^+b*.%p; +D ZݓS$hѰ$Z<4rI<;K#pF4`홁G G,gd[P,m <(gUD+0 regV NS* mE M1E*n2WvdJ;lnS'+D祦X'Wn AbҞd[Ji7Q]"+ID)A#bM w7v +V1d{!qL<͆/r @hECl2'ߜL|9#R׮9GcQ6C +Aq䕤d,roX"pO+t p>Nb/Q ePh m!$P!#w*kC=S9apL2?rF4|yŤSp94eiOK0%S?JBsJR.3+]3.1wNBL<9#^/"2WTNEn?4Wܮ㤅!8- [CpBY'CpI?I~CdΎqgPJZf3Dǹ=crRDOb#3ˉi\$H4"D2fiXLXH0 Vbf!Lέ>/M|IRE:c)N[^d_ӱdt:lH9mD%fZbQmfVC8xG CuE|Bt8Ψ%S->tm+y!/ horbJJi5r5Hk -Q_)AפdJWjFիЮh +jPL*l~\)Ơ4!oxT:%TΌ@: E/a4iE3b  ԵD&"^FWuF=:L٦}:gs;WCN9Ճ\ $2e 疫tPrPRp佸5,Uz֭VjZV,o&N&Ԓ͊?8dAI'N4uH15YZ(cC%/cZ446hG1"8(S)UZ0D 2 % 8p84 .@\`d"P@ `@ @8@.@@A* BA +\``%`d@2.@L!*z`ԠAA`a"3331ĤJ:2*,&47 /܀_(s /AHe"^ӚDJbes8d`Z4q Osφbe:-#aB|Fqx/ +&"-,6沈NRl~l3^dCZMZPE*Sǂ˙!X0MiAE-PT Y\؂^--@1da! $O.wla #mfA*XmU-T{-Զd&' -d=~,+8AT@p 0@0" ؀  L  P8'T"c%D˦`JFJ(8\B6РdL +V&)i h 0D2嚅!ch ©! Qg78 nQeȊx52)RCT")Pp寚2VKZaSbIԚp +%W(LC/ld*6k"+`]r?dhP eaDU +/ =HJU|*%/ĝ9QfՒR Q}C2QCˤȾd蓺i<*ײuZe:gLdt q<$}%)^f +rfv-?rօmsq]jސva*uvK%t/Y;J{ *yؚ, * ]Y~2IHɘFIٍlD"zGEcD pa 9d\*f@v8R)TU/ 2jšY1CYE5J~t T:U2]lnZiN/DF}U ׸ܛd @IÂT[~~ +\N%`X{g"G<e^?ﭷ0 K/1hyD_GK_|1Cr܊_qlj'V?ˆad{*GeLs.b .}vԋo놻L,#-dUKmLzRe_9V76*s\ |fk3KDt +K/K -$"B(\` +,~ %C?[_lЕ smËoގfK9.ŐG 87P-[*e6"HH#Uya,F8FkgΗ/+Ecxx}#HaE6ʱ!&PTw\x%1dF'HF?向cou! r|?2Wr& J_ 6`0 `,z$}p6\X%ȸc+$a*)BP|;yD n#89h(| a`$@ Zqe!}%=wH +Z&tB!&"9 W8B0e] <.ޓyK| wc`K/-8`=I t|gnVGrił>0Ҫ*m`E_kfݺ\=>@ <oUn;'ri,čQ RkRʡ?O\#fl96iK|)FO(31??:7ET/zU:ǝ zB[qꦢ@])^[h+*Ea'a)KTM<:JsqvnSO/vfbGah!c~U̹W )Jm/xkQ$gF}iM[½0.fG|z&-38>}0@5}.qRhlQr-1D\6)`ñH AC-$LS:/^|Ay(%Q+vjf/mʛvrsGLl rT!9G`:g: 'O =K8-| u ^{yyA CsA߉t-&<| ^ Zzzz036JBl'q{(.NHg'=O%/!X#l4b.Tw m[)hg PC"O#fXvn +=]c,j0bR]V:u#\ªfRD{6,7I^Ak) +(,_3Q Iқ ,k2p",WB'sm¸Mݚ\jZ}!hl4&(Vp=mYl=NT8pduxn+~]8|!e(?BIVӤa(fJUGTϢv\NJCU)L +ӷuI_k[ } +o'F#v`ТˑD! 72 +;V/Q"X8W8}=QVw9 쪒}L>";[%hHׅ0YJIK7s,iX.t8By +•ة/&AaY%X:k 7wu}$]oRCQ?MTq; ӏGq'Bxn&n2sTcdH$Iٶ;M" x~,C4& ^LޛI\w~X kOAl鼟}{e(ig2>c_aHkWi3r܍vĻB Dlf0B3xxA #\x5O@\/@dkn u\ =<0rS x"K\o2N= 8r%L} +gzLaqFx9\{3ۼY!5W %ߺ^o~GȥoF7RDE E%t|l")$u킚`.K7$izz} +i{V|b*[Vꀝ)ڕ4y*TzyqkSrT|e ݢwx!X&?77!rTDJP< 3N/"9U*;kbvfml[mR/lh%-eMͻ9T2[[/^ݥ V"ƙf!TAEƮ#\s/HnBq ӱHZp5ͫ)eL/zh9i U_ Š(򾮱Q"wHPD`MRL(D5enxAAfWpDNDݽ; +Fm4!SVL~хt3>8/ЃM~K&%F= /9>6kԡ?MYmYx^z?C:" +7g6%updǍz%UZj{_zW"$C_ְږ.0)k#eYI6Az) +i ׾O7j>6,o`haLG b7Uq1-o^Q3W!yk}U}uC c=G-D1yRT)CqFbg :1 .C%w'ЩlRLvm-bNCE7CGBt[)`5v*h"+ggkӚuTp Uc:Sh4i|?c0aǝ crTُ݋@FJctBE0G~QZՍ2:sV{>=?b{bBx؏Ii +u=_Ql41+b{,46XǼc {5!(6oҘ g %k=6S/Q@fJ*4V=Z۸;̀Vi%g}ƺ4ZB%C;&U Gynjձ;m4JNÿjPQkJHiw!|1G~,% @kLj8VP*|̟ǐ(k +"\iEX]F$:+ A$15?~}l!󁬢WXd`Ȳ1{1TY4tXH|,٬ jP !K#Y1$H̃JKff E (,?2ϛ26TU{e e V\mW, VeHY:%fݘd.*/ f D5HLjbc5_=>2cy3}]=E6 wOcᚖƞA{Ɣѡ2!P|UX&Zz!#C 3uyvhog>:~DNK'h Qhp>gbH&&YZO+ +m<=v=44pF4K9A$jQq55a>@[.JAd4ߵZҠZ-_, vZ@|F䜫W#V /i0?@X !N ӲYsT*&P0a5 4ê*)$rF]%Jc2j+j4]Z5Z㫦UmZ6W6&y^iQe/-~T v ,1j|P5SxU8pDfe,wB4(Rw:B~I\Xɫw S UV{V#b=jbjVXmU+ҸyhU+}UͿ'ciDU)y9AY +tcx#i5ՈY"- YݦX4/gY!OkwY^Ak>kg`ԸK4 ot*k*=kZsaX4#wR@ө7rkξYpZFLkʮ; A4Є 9K֬e*FAyci[K,ci`id@(Ҡ[65Z?Ҩ55/'J B,XMdiӵ VciH18~ѰimZȵV5J# T}-iҠʳϧfZZ4\4XD/.\Y`Sq@m̵k|5LA#Al隸ꚾC6*q`%8gJcJckڪJCN 8[QVi0r4mT.>llUSFd7ڹl6%$Yiel}ж8vQqMKjh٭҈ckJlm>lHnKVmLHi q+7Inp[;t[SE[Ɠ[ihn:q1w#^i4U>FOM"Bo'YޯI^k|CB[K,]GJ `Y37@NB+ 9$4 WO4\y + ZiGqQ+ rdnB⊮4@+n}~qqEƁ<X`W`~\9u[ [LFTr@2|ʥ]ilr]P.7cN?E\WJOs0 3&77p˹ sݹoJ#XV +J3SӋXi* n`rV; %t:U5l]t34IҭZQfJG/J#^#7JHiuA) Mne$u:ǪV'_]X0VJmX9}ϸI~.P6 !S6 8S6]NPםPidŧ^ק4Yס) GE&{USE`yίҠSbIP +^9T0jY* -օUGuY]idEiQ=GҐ-NUi YGU斳duJÝ&cu* _ ,XW +0?Ҩ>0hRMaΣҠ_TQitϺ,oq"Fy\ n~.T8T4TqgJC'luޕE^ 6g]ʹ(JV@[\ C ˆ_1oxd@u ;D GvXvfghЧ!+ -v*!v$RLwi: F%Qi䔆tWK*ݍ .!w)V@j,mJCs wN;ϸsUJTc4b.-{I` eNiDQ8#,+/CڟoiUb+2 +G]4 +ꏔV@ƇIPwLzqhNY;b^sˡ7ab 4AaLF049Ɛ3{|1{w4idȪI|& L$`,j8 & u<{kp&*k￷8iKatsݳL@3=vO>ZkFZhrķŇa4>}{|7Nlm?䓆-TlhQ8RBiL|94ta."L4=MY@aXCgKJ >~ uHJu4S4t/ -~ r҃vSp(ѸΏ!J#xpW\flnV#̏C-PAREi4W +^Q0W_"cF{5 MPCX>~F_K1ayc)) <XWjzE?) &hWEiJpJEi T[H^  +F ;` b("5PMmX'`Jix-4 +t6-Qāl#N~`B {`t>" HPAJp{3ANrHc'dFyY]hHe4(Ar yRHh0׭:*ҰfYHœT|)A~[C3ŀ c|[`8ko1i_ wv!KU@IꆭT| R#$\b-yP +n NIRwn > 2lCS@03plHp ED.(ZdD{.{wpHfDtA|`OIAiffi(`I + F=Wհ nD#R,F/H D>d~FwvH#{]0 C! xT4R4e<5 MD܂ϓ $>/&NZB<1 z"/PCavB|aq|/%UE +4ihH &4.4 ЬxHWv|M{ j0 q1H?.}';јI .hc[ш7GC~hDrҸ.xVsynn +QL@,fR/84H㙆h^pG5]:PgG ;BN42hKzY4r @㍼`i8 /ČBw 6M]{ /h01Te9n:? >?~[\t۷4Pm?XJ( h24Ẹ@~^d^'! >/Xz=R!A.y6~0_3c0x iA*#PByy áH?Mhh0! 7yI n8A za&){4~A:`ihT !(qȕ=-B>TIɾV? 0(ӱe(8O +ՏFgQ9ࠊ ңMT2Gl8ғYX3%17C#W`3},Fb;iEI!;58K6G$`u(0H;rͣa^'v]$;RZo`ϴ;; +O6*RYE#Tʝ&p  w.h{O pBNl rjqGɣ08HKCaC-?Py45D#Q(_5'2W26m`D8Jx͟ApG9麦1Nax4ŘG-ldPo, +ڥۣ*TVIEȀ +n<Up"Z1~*dA5 +z4ܿ69O: }" +#gxo|FNz4$cyT&@tOLQ(|4  T)9^ ;h 3:178i|4J&4QYL=ĜA$Y ½GcUuC8TFa࣑͂-. #z|4Hg c6D᱾JbE'F#DZrO| +H!% H*拱IHLqhChL5dbKh>itmhŲ +CG3\&6ы&GCqEQjܧevl(x+>Ѱ%WEhˀ3GcPE&hƖE?X6|v GW섇C=H$H)#m>n?πahT6^RFkUTlaY⁶etIuăVqeOҨxȱ)/PhҨA& u膸5 &Bh 4FEv +5!F +-j֪ѱSHC5cLBs! {O4; X1= +ZWh$4dFc<_ i?6A*yH(hAaL@miȪOaj5wwB}E+@ X$M'M(A HA[g4 &¾v Sd͇l1 [J0EJ;6 L7QˡJ1s Deuo[ +'Y'ǐFO +~j QCkZ45ثDʐ1e.0RѐF'ΐMuUbnΐT~JQ*bD2( JjҐƆKvEBr!GjbHIqG! i|&YMWWӑ@8}f5*bH*_3ajHFA$%^vQP|o1xALܧАƫ6d4PR1VwhH|ap01RFsGk4nLK6#"ΜQ@1;l)+rϷt/QnAQqބS8kgdQz`J;ED͖(N +FѺJ A3[q]FHFa/L0%[|^y9)-)8жֱR}PCRa َoRwP\iԼ%F ݰ)[81dsOODrn\m" hHZwh=nPNC7aN8':T gCXz!р5زBFOŐ<i4$9 ]Jr="'' 1{"HC3.$ope0ryc#wVUVI(/udD"0H ^8Ա &gNb/F`4>RovX}mK6zHcr<I嚏eCO{ֱK8}v@dB.1C`mjQء"Ҙ0j=Qx4Yہ:ƷEALCYEH#Gt=ҨXP*8C`IX g'EG feA[gjDQ@4,5xz)2%OCr\" H&+NQQ]SkHL$ȑ g ZAdc[ךbTہt0T9Ai0IHI.dM: pSH~/ "nlb3%&|e™HND~|4^j:G`]mhfQWPȯ0!k;tbsDhv=@aSiAz  ?g[A= ?4LlRKsXDoD#'3)Yaُcl`s@3\t;BF(Avvv@3qf9i4edcHZxdHx&kNBۢHxD&3 y3RNLy zlƁũ)"xvxh~ܳGWWaqj;wvjekFRHc"5Bp#G iXn<0RC;C/2aκ@z4 uJ:8Hc\iVA >bk(0HFIs#V_QK0!|Rہ>FTUAi_FV+ghLg(QCkEe1?!¤ȽpBw2)bs'䚜9mxMYPҨ}\!Xtb9!8\ +c I@94_(z Br0LGwb Q6f +UdR iɉ6g3F𳳠E$+L[Xz(8n!KXHcutp]*_KfHÎoNJِFե)v$bHN(;PC/XAf+!XXԐo4@[@yئ>O1kf |1O#895AͲiw,`Dѩp֤Ir]$i %(OyH#YPENPL &[ i08/A8ĩ=UHUnYUhHcm1rNxG4æPv`?C%҇4Nsqֶ#Ҙ,0-eqzDstaIo(X 2n z{1 )A @SR`=ĀPAHRJR**kL9<6JV<읩IȌO Efjނ&g(R؅LavsjUDlbsDT?Nȫ(i2ssrU}k8壍eX?3yuL@̔pNEqaj m2- iu:S>ch5\"9L}dfRAAD&J43Dɉi:H::ShV !oDLFaNwdGbٵIRPk^HTeF=MXvFX`9éWb]2bMˑ [\-M` aRc y\$e{v䞉ȹMHsu;p=W.1|F_g|b(F^\b4Yp`0ዢGFN)HPp弪gp:3HUwgI'UMu΢xUĆ7'$PE ӡ,CVQM-5|1f`f"6`Uiw~ԛe9#B=3Z 3J"*MF UtbĠmd84R\)T*]yhػ&-_bUJ!ݝQwrq\mF r8; ;"1%0 n#"A!V dnDI !~V4T )u#2WC4\yN2!::U01rӒ!+j0T!Tp'(3)LUw5IU}Rfț3nS6YFYI h_(9f(M`=J^PMQL,5JGɂ^.Ŵd5A8VQ +nj\هU##*:}(me%*ɨ y4C{.Zt*z@W i{LT:.ނH ά +A% i n~D vA!D:A"Tg:U) ^'M'Fك} 5욽j%ߤD\viL]>N"c4)kI|%ň:uv{L¾a|8 R_QuPnu|ї0(ށP#p@9X@ITPC%YL?pc PUiEΪ׈wUjh6BXUm튩 +'ck|*XcRT͸PbL<~Hŷ푻ĥP4bL>]^^4&ҋ'thG"SoT^Qpo*)nh oa0ݖ f E^RՇ#zr3YZKK'†Lk 5-ٶJ 9]=B"<|9j.<' ij*V~`b%ƓA$E,c FIQFgcrxXIXKt|/irw-hb-mxmRnb[1YDM? iG5doJ]Btbљfi^n\&Hw|-ʫ]WJzZe$+ ˼a AeC΁T!Fn{aM(4TTDU^4<%GKKчe5+x*䙋4`"HԘ +DQ iRGDt֌-Uam;WzyY_F`/R_ +23+QqFBSIJ(𦦘%b7,O|ϒjw/Q]K5Z18GEtTZUdJR&-TѲ{@. 4!ŔTGZ4UTR;=YI j*v K;*<#S]#r'hBΉ1 NH8R=h7&8mQmk$H&O={< '$$AqRMy;] )vKL24!!!OLlqpT3"D>U?AY\??o"hr6-!vxH4b+Vk^cHc&Y]HDZ k}}QxK%5K裏חEo0oe*y]n*J9~.X'D/&gGDSqNcާTNB@1sWG emGj ^^XtO%T4Tr:C< IhPѸ{zD lH0T_j\`D\ ՐI&:yh0$%󤇊b("*j&(jakTBf"d=UcuPs8V#Un\5b#xZBO2XJBZȧ1R!l(38JWszCL!8i9NWHT Qpf9#| 2|bnCBNAX +".k(KWߤY @BCk7 gQ<Vp< @`hAlp@fP#`$P +(x` l@0P h`:T4 @ c=/"{Ucj AT'c!6ΠO!\+Y`[  "8pA Sk`,5؂ B?Enx2z~=8UeӪ[,&n (8U>5]&Gb񔣊zb5He"fkd aX׾&6=^ RECi#٧:"4aR뮪ܒT1pSY uCѨ͜dw+kfÊz:7)4 /$̅u7TDah OSIJCsɓҴ&:iTUhZ <2Z*H (1CfF@8:.TAE1W4nP)P<\׵>1XM'O_&Vv)q!̰XD–%"ylr,Ct 25k[b!cMnڡLtG([i d5F-h^@o275T{}Ge$)W>kY&4Jg ̯ O{g +3tC7Ttvvd'^4Ԃe{p/$1fBzbR^ل9(FIz*sD?/p^|Bl' mu' 8l>,j3@]q ~*n"ҐI9$Pp ؄{S(Γ\n$X7xgqzx`ro:-m&-ZۥhҠğE[ [5|{P/Y +XqyA6ek(NkO l"[4, EB V/wU}p؜MQFZ:h "3{a7^l/i;ˎ_/d_+rXQCeoV7czl7 +"kX0X gs]gX@{0iBdM^~zIFX_F>'N]^*HYO;RI'+`  `-f1en;z&2c#N֬*[A`bqIðb7 +]Ue;Yf`h` +d#y _!nʯKS :L 'c$f=2= Zsh]8v7ʬV?Y3Xԓ5VYmSǥ@uȗRS@vs&+\PMPғthJ@#?bsX"E,`GrMu.`J?-~S*44ùqX- Cb@M0rUB6:^ +y +#z Xߨ[0< 1+x028)f dML0هA"(Y܏s|sڨܿ?:da+ &}pP!;A +ǮO?A@0eZ}*(qX?)) ް$RaYG޴b`4oI C!\`$5*Yxv6r;J-%3RQY`.F1];Pd5"~TMH + r.iY"$<|v8G sY~Q\a\*VVqJVHA{ACJ &C z:XorxØd`382]V2 +Hzjq%YPXL栯i@%0z8hzzȯqpc8I#khOu_GFƬ{ |50D}+='>GZWK "~A=˜.C\ Hh0Зf#ZǶAofL©218P B6 \C@1<|"qBzs-Kɍؘ +.T<,Qxr@2U7yME[R QL0`w'[ .(a̔ +XBFBt8@#(m$3,Ɏx,mKOHo*1^.,3pd#H*b[rU ]=磅7hwQyS}w,=w yJl~4H6{E*Y{JZCD zVag^qN,_'6!@zP'u +݀_Ҽ8n܋Z +nwP 3,qd#_gI ]\O%JJO2J9:?PT]U>ؼ:\+qdƨ5 X_s<WWȦW_dfL.&.r@ER<+{,)v17Bx] eZtW2S*2LpT-mbdz.Dll>r.S)lC4׷?\)LKP2ZX|EfT7nR?luH,Ӽ3>/2/^O%Z?h\hNEBgKvHg: 3?S_jۿV2U Yp +cB +cqW@#XW/fI}E+,0@[KWb"H{gk(؆,5-d, R#]|:7A`4@2wwMx(AW{8f-HS/+޵1xIa +eCCxYZdvMJ0]v>ˌC]:eȹ,s&2 9.e),.I[Fڲ  `\-,2-x5/fW pYe$k⽼Od;舎VW#x) *SSi5h9gEg~VXͭjCٺe؁]m0TϲL&eDUU/MSY72ߝ(Lu,}RF"J|M&NTHI6֦@>(#qa?wzӧENtuP2eB͓.)(J@R'~*@Reӥm2KB0$HЏUh7QM +8Mu1LŧϺ231gIJZ_,RtIYr}z3+1J0B$%)K('"I㍴5[d+KTT-(8)n +=t-؞++_|`t ?kR @ ,d\A y`f 8&Z5ۑȚ7"9/I _ȇ 1DG Œ)B.#p:;Og`+1 {t_%*P'"xQGߘ"o8{(ϯ2}{ʯf0~ /=q1=سзzzZqþg+_@`I2/S 7=_&w 85В^bɄ/&sh/!;~fz5[?^3IN +F~'9w_wm](*mJPwM&uA =<ʥ*]^fHA**"x6z0<^6z!Bα9WGI=qm93q9?ugZ~cYGsѣ @P*xGwxe ӌVlvѴrQ?U,O%TEjD7:U/=H__bô5yl[+"(x8o^Ɔ"W1j\FX0!/a5ǔDcB1\W\׼ɋvY*[#pDd=6]/.J mQ+ӧ6 j6崲m;0mN~b;l7(Ԑ#zԼ {jn#Ӕ)dM)Mb|`!O-\o^c>9E ww*O:u'ApM5閃GsԀLjT $Ju~z2ӕGd8NpưԩSlwYĊ2lu*Y_dTgC$;'C'R]z%oTQ*]Jm$5AvX-ㄘsJRگILJ7)FbҎGf +w@;1C(3Bn"l~S8KT]:Dqse\xS &2.c #)KiҘI&M?Q3oK[N|`J ]ai>At$p~ٱ niQJ].U +";TYP{`<5Cn֭ ΋3MfnZLf9=Smbdp~.#6p- p|jM&@2P@qf%_ٯ $Brx|щWqѷ%ή0r! =\gdSaK^4,7j"򬫝6Ʋ٪BrMI2i.E穙;`$dGQ2 eY"W]kD%J3$d N|H5 C'Kc@D+Jy%,@[^x*hL(nS83$ '-c: %ŁiU lyB +q%fN'SmJQ)pX@*=H}zFkT<-Ht:8F)h<rHR?^1Fg <%*JC EMTԊ SSD c֜#D1^{ "p㳓Ӄ u.$pLgI0q4:#n܏r4Ư~e#E13<0ci3Bx<՜Jc3&1)[WRNq pvٻnx7lzGW\gk,v>5/ ]b&J`ii14 +[mgkx@VΥO  qǞِNԸMʱ<_b$S݋hMFkj<-}"i06t=4 +-5}@Z\U|9pR@c0-ۄM(WUWFoXhj0wR˚:UM3t듉l!#X׊ p,\)n$*%2BAZ,mdF9&UEBA*UnT/x[灝\*~%SOwIh&*Jo JQ [ǘ=ڪiMQ}WЬLF@2)8'Bx"p.1h^2p(n497p SBvn/l44S@ z+_Dѐ4*L6w%6DiCRd!"{FJcKb< O..Sn~C\)[M-GCi,--*èelK]dYD1 8xkA ʍ;,?2'hcS1Sp[-e}-qk`ձ›E-~Ҳ/'c#".}>d#K[<Ɓ dT(€&;إג|#r{1X=-7mbu b9,q}<ްPm= ^c 5HgX 񲅇hh249>`k\(:E+:eQ&laE6Phkn!2tP\Pt"qESqwIRtGs9OanҠ>it G&Lt(Mq foa%Vk)D&;U$E"A}Z!Tx*2pDbEY + tsKVlo}lد%- ;Vh=n{) C`&Xg ./[:^mڎ& /H5.[r{!/5p{|2?rY0fOXXtAr1#)kl{H̺bV6@3Pb`u;g>t-P8zURWQ,=ש +[x*.KBϯHІY)`[Ȉ):`5#{K Vt5 qAۜY:n]%;c=5zG@h|U"%e;8J +oVs@Dbm|~ɰǶO)/Ep6c@OǠ{'6W<[OVS +2l~_(3 X;~zp$N U$"H7i'HOdVyEeUzat(tM .D;q-ND_vZ^q5S67:*:ƢG~M.!RM3liHyhd 3MkR^jO:J s24P4BX½muqB3!Z]xA7 K.L ڛJPWHИ\: G*~gJ +QϓF|R3XX]s7[o C@Y9Ѕ2}7:FS{@fNB})UnL) +Q3K ̽*H䉾goݪN gTM5=#zm䥊 _U9 -89 #+v]Cy"B_writ7G50̅_hGHlw" >O\fѡRW?:$))TQDd.5I*=Z%hܳ,~ 둼ouOIl fI=:m] ]8vjN'LS BcKgWW/X=euA@iL~q+ 6)!LbўמCNF- %CP>IEX ̰MriHXDAYǚCvʃWG$sbuĔ9ecVkoxE"ȉnz #MܗȮ&IUGi7&Th9}2Kkm"iނZnue|Bh;<])qL1>ih/՝a}Nm+2U*~ +.)6Sy&%x A $7wrh$l`aj̐[Q32TWTK_V|@0Pq{G4}&~ϳ)3v^dޥ 4@]:MK+c'w~༊Գ&Z66Ğs"+TV7 3' OEw!q RtI=82VY wF7xCGzD 4ۦE; ~ /mQg>D{^=aMA 7mOieLT13 ]}J;fŭC#}[AVz["gFh.zw">G6ʆ+ua4o"f0ۺ;kR +y 8UIʾ+Ut!-yw͝1’\޶Ql !c3Ix1$]O +![<|竲[-)xNP-sK2)h"gT+vZNNz!6B餎 +~&P,Ue Pm_O }´!è"OCei%eNuB0*. ם0q`82Յ0boфn?:)F2ܔlp[1[;9clG'y7V;-<.B'}3Tfv(Kπg$Wf#=έ:C}qŎ}0?=s +2ݼܢqϣx']e|{7>thӞZ{ [c) bu$]"p?c(;t{"r5UYIY62kvྴ^߾^,UM*yޫdYC=֣WAFh7 +R_j$`D\qoR= dBẋ|)'?)E0.w?%'> ..c/Sh "pxqO-hs6 2..,:BJc#`I0\4E~uvQ꟡ E^xT3PP++HHđYJįAbE*S/CJԼsL)["v 0n[eNqvYp$: a6&%Sl[u$I,f Sa^3*Ң~T`,SQ@2wUq=[fPU \rhԊ❮nSc +fSg6+SDN+ί؍/G!1%,-CuD\@}M299BrCf%g#hqTC k`ޣriöp(cdo .GIV[(xbmOE8,wNE),~ +@1PkW"YӾ()K|bJr HTAO^~O;b3fcFHfd8pfX ~XؔTd(şs?m`h@ٜ?-):hE/i]FQJL8,Щ +a-eK-#**ޗ(%OXrĈ䏻M+ʙГU\hFIYj\^'" 5ظ0S4HA6EЧ.툷vs5^ksjep{5R難;m/e cwm9 l+d1^Q.~"3j %Eϐ32rV) v +endstream endobj 15 0 obj <>stream +&SXB:t5HeLHGs>!-o6N}}DԢWD)DRFzSE TC 8H"{K~4ϻc%H1v)&ސE$/4Rⸯ9&O!̠w_V@=;;3n ZS%]oz,=X:u07̴ǺlGTsAps?]=:b )f-!5*SFDZӆnX67pED-+e(v-4$k .W{"2Q%v7 =*((TmהUPsf=^ +[&y|btsH F ;ˈ;z$TauNkMYTP/u +]_ +ahw#6[ZdaM`2%@znwŰ&| @i21=ƛZ>d3ChBoSVSSV'!:NzY'P!z1ɋC$u,Ut)jLMߟX bۇ=[ .2C) eB^D"-}:j +b[1 3hŽV"pZo*_\9Wρ*gpApɡ;2\h@epm$hE_k\4Ax!/cjޫ%yB%OCok7Jwo +ۭ[ި~do&dZBZ(ym$%1rZ@A +B0uO.Sn'2MٛdGO_, t T NL|L=W{|jȫéK^894p7Q!i@{cB,:04EK{V! +]r'q)ln>`Ovق}T򝖻PָIƿ="%t",toi9ᖭ4b.W"3.YE`ٺZɮ^~‘`,lmRPt  >nqٵ*yЌ8/NOcT + >C?69 OyDB^_gD9\[JfLyt]FSƈwVP@_mH@O>~l%,dHή \˘3pe +Q->*-4+7HCvYB8GXVN{p̦`M5@8G[TQCqoo'j8BSˉt!+ 12cK} ` @Y8h4Z(8dPsj9^ϲ8b~qevGQ$q./7EaJ {׷7G`C?Lvmd˿%TOB#igq][m6y PJnVtlXq&/Zt[m.f. ןXvD8u#WUhXQW2*ZnXR'ÊݍCHAŤ+ Wv٦YFy1%TiU.euZ.RVl7vkʊ_|:+,a>wYaҳb( $ D7`'^4kU +gEQ@8OԊBmZtp$blaS:l10!ڊ)tpV>KD\M[AP# ĢV-*Vi+.B7QR&8!AmZ8*9Kj+v@!mEQ)ӻZNFS Eӆ<-B 1|UIwƟF(1KaD{K/߮ d22z 0P%{ =*5D (sF2w ۼxh'L׃4B8Fec14V2Z 69l+\^uQA/:`!91ETP#_QR08iA=vEBYa-:K2H(2qJlPExuS4?DLylUFE/BDQckZO aab*PcD$,ـH h/!ujLhf6}j+K7*5bګy!?Uͻ%d{`e*l(cX7 _o)VPOp(5V>z&P4WH }&[Y(FZx U bhEU-Uo\*i)7[,Z]ZtALh;»SQ]Քz.TA-Зt*zq'seo5#/~K^Eav%1B +F 0z${}MvC%/R|M (^g`'*^T;Of8Cx+8/:c^]+1[brKRAkbOɤ V4I dV-;ފH 92iPp/v; QC :c/z,WߢygkǟpEkRID]r1E`U5aA14ȣ5^+ ]pPWi4_DTl:h'=tQu8Z"̰:Fr+:4"gW?q!3N8V=2EpV=JW!PyLπWEyPTL+u^,qɰeǻA 8V}f&_\Mӡ OƋ9 +^WZR%R P"QRLǞ.u[ؚʮ^\tTմ])sOߣj/}[n2jh,~zio"?)Ҍ6 RJwa~W2EKy@[BV'.lᭃ^iTavLDyuwv|`x}fkx?! +8|J'ʎ^k$Иji\6838-[!dy:w*ʢz Q s_UI8 7E׀SqǙ›߄t '=;G}:LR3Vtq Zei@O(0ZO5&p?%) +}T]fHH)%).ʱx7*I<+饭p2E7 0.bv"g.gurcr&t2)怴 wpC,U Ž;btP_w T] XV +&CɤqŐ)9ITj:1Fa; +eH_Ej ^ϢFa:ˢҥt2C c]ޕ y+9շiWb!]-۞hd= 'Wxw,w=sR1R I&"F@̈ênC' $ QX!p`q 8ߏ/jtnA>okV(pX%f^*&ZxZ[ʙH +wIE; Y#8/A ^ZY8n02ob&C zدY$YUi a8PG%_0u뜜k\rˣu.)jUyBilxYkɜyNZ?U7gLcf)}Xe̋XrgvW#!{Mp_뙴P)OJ9GJdXr \1v]gO _Ҟa]=Žӣ5n g,0O, +9@]|#iM?)Sʡ&ظl@%>$W8t2AyـNSH؂#BpLi%t{+5٠"ra:`Vy̑s+qU8(8E oɼB{&[| -2\R4" 'ku;Cq)kdRAFJ$!Uk1IQ&f lrI>1 +͸յR n[xc7⧆ω !O:AEERU(1۝H g Vp4{0ఏKplX/vX# [,oPї890KYđ!2E8 h+*Wq]Ee?T#JZ$[2iZ;? ^p@IRa10/`CX&0~YigΈiDxQ4Lc.WXr0ɂRĨ88Ә6ͫN8%CNǢHSF֢F/e?\WwQ㡸OUA` U{&FP.d~M5`4ڼ,8kd4AZg0V3BF޲[o"OIjhRז5Rdm"gC_W5[iI3#DUc r&A!~dDZGVIzgEJԘ/$AWM1NFI”Q3 8Xy2>ɰwߴo~h޵"])nEFx}RP̆;9C_׍^TIv<֕R]߭(IGt=DAH=6sBnCR ",[7 yk&)߁hWV m Ax qJgND@ٞW$d'@SqLׅIyVU%]ck;{jc-rCuLZckǃmWZ^Zj"/޴]b[ݱ})ickZ|JziJyXc"ZC3ғZ:TL[ggI<|T[:al |&\I^&{'3ЩQ#m~^"Ss >ε'Wey$t/oFDmI58Fڮ4m@}air!lTWf%_nOuky邧u\M>g}|Wʽ#dsywPCa&_F7%ƬG( g$SM }J"҆sIE@'s(tj4PB]j; +.ǛF Uo\DqL2Ǭ1(ڪtBf0XŴk-Weftl_å@N +:Lpc=dl3U ڡIC xq|Ǭ?GU_Ḅ8QFw&8-%W X Y?8] QF݁cfSH|Nbj[zLn"aC(!'"k v .S#A9|M0;$KJk*4dgC&1쑉,I +s=j\ kTf#%ߍ5\!ƃRRE2I/Aaȑ'a:69q-Ŕ֋a%&'8iaaV r'|O7|Xd6h)Z-H"yE-q}nIdG$aAYKֵpr&8%Ipx5^c(M{=" }$M&& (qf .n: 9EhI'6 ɜ{GK5t*b;u6 nmVnԥ٩U{Ŕ +LrKLp D43lP*+ANbZ[&O*5Ɲ?HB;s$?EDcY Pjթ'cx0BpYDe$FQڨ- 04[—` @қEZk-~ymv=̄pC):Km(Up Ȥ8ɯ0xM"pÛEQm.^P=G,}pPA$:NtN@tS?>%G钷 +ی@szgaK 0me$X?1.;ǯ=$Q}Rd"/4P,8@m5"U+Z01>tI6:YzvR;j`R&| Uʷ%:@nk[c 5ϫ0GpD+4VeVb馈"O"MHaD;1 +(lg54g``Al􁩥%it'ei@ +P^G}9Rs͌#~+ +X3u' ,אR^%]|Fs~;@it\ PkJoKQ%Q0Vn>lFt2s٪;gݻ|V>֔asPSH|NgK8f]L숬~3SѰ 1Z5 'A DhA\sɎJzF 6_讜+ꢼ+(/tTTʣ`JDExJ*S +6T >`4(/0f_R,$O|%b =PIՇ4=Ȇz9 +0L7\`0Hu}GSOS=-0y:uf \G0(G-SSfؓU6BGS6@zim-h9; Z`0pDL/:Ǖ)LW\i՚`,\_XM=TZs F>i6v!D;xb$NpёH$[` kH;Jg̙cO@NN"2#9\(0´JG9qo_ +nOIHot6%ңtD}G΍⁲`36cr#!pPHp`1u,0!Huu`!s>SWwHN"S|X>wv$SGT:.~L.&0 lƂ?{H$f %H[U&"Pr>NOoZz<ܼH;E)@]J05M>rم )IV!󐰨T?٩p +$I|(Vß#$Ճ*<UEkY@] +7@+/[tD.m\Ќ!ɰ~M_PN@Td~`.bPaHq9ҀR^B6O>[ 1x?$$qwܹJ쉹 $.=} bz5eeOLr*ba$je(]9w(ђ1d#EO2oIa1sL4J2DΤ-@(ӯ-Uw5//fzݐ烵<\朎 +6W|jB-#xzv:ZuݴQ2VxD >ԓ:ƪH hx*#:<>.Z?xK)[jO 1::{jhWMEGnHi075ٺz1Xa4%} XB$Th lwh Z{Zj bV ` %Ӫ5і2t{DBYJ. $4giIvVryF[8z@aI.4)2. + ,5l͋s ՍΈlS/ ֠1 3ed[1nER 9VeTiU|b"h6J5 +'y(hE7U@<*&Il!I-g+`39(+vtOǨsT*x:cȜxĸ!>xYc8aqURR QU򋲧t +EoNrDA3]/[-qmUcUk +(wP-+ݜx>Jy,# ߹=d!N_EIsT3 n~^-b>? +XAB91!=-?Jȍn8歘 +$]¦J)E?j6Ux1EW)}=[@U:lҫt$sV*=(J`\b6~J)Sp;JO`7\ +DjUH ^ŒRMבAq$-f{!I-5罠P5l=Z`._@̉f8ZxNDuWT~@ +s/JÕȏZiY>l+hoE&fW:+D߇:Y]wz9%jy蝺?Ti㠶~?G\~ιϭ~6+{xDFГz0f~TsVv&t^LzeW ]3k$,2M9)6m0)4,W$ #R@ ]LfHY9l,*??dZ )MMy:p7[c{fP4';Dwvs0ov@M`5JsS )@XY{RNt(χ)x`pYWppſho-QLɡyaIzDv|M d:U~AL ;l0="!GV/Dp8@i&G9ubO_*($_0L/i*HE@ =orDigj B/܋Rzͨn. W0chĥY0yYHt'}GDXa8} zIRXK&9+s|-t f%e<x 3U4U n0#G}s0 ԫ4Fwԙ0PJWz=:h{;m5X :{4iٙ(T T/Udz1bз@Q:Q;EY6g +ј8 omrd#>B)s+f.X^_\6XzC/0\vl\`%X4HAb {E~:j ﴚ9Tm1`hTUZg⑵ht,]1hQ=$N$QÂ!2O+ +bM.C?7kfAӻ⭆*u usQb C$`7Ǹd }הyfAXQbއoTo3a󗕡2dV1Wk,whI|=udDE T_%mfsnh> ,OXiAD44 'dzSX} p\0l?H"67}?]6l{ݯ8!LNfUk{|-v8>=Yoا :%uSm'H1̢xk]@FnPvGxv<^%G5Xt= k +z#3Ieu&@qYIBEl/+" lO*Ո% }iYKR +k܁cyE#rH +l5:_RxAX }>I g޻t|iȋ;"Pa4Q'?Mg4JnSቲ1/ [J9{))-}8nVpA:sZ %,:n\m7R <<? ?g9N;:n[E?FGGGGGGGGGGGGQ3:,9ކHH)Gȉԇܵ;%iT]>/iV!wEK2*ED * ^ +T" rW{ZT%凋L*tUB2+K>92@T, %bY yVz[Dž$".d~y\UūE$:Eqz ){Eԣx7[W9ɗ?aҒ}Nr%SŌ)DxEd5IrZI,VEݳ%3TI`dX-nѰ_\JpkfU&w ' *#0鴌 +cCbEBβ,+ZbN."MZ=)~TU/IZw\|&P ax\SZd%B<2r[1_8Z5BgyjUjx^Cٕ>op:G2咛^}ͮ +oxUҟ6)dH{ r1Zβ4 ) ~8`({ ~pdAIN+aT򦘓 =JTĞ[n.i5Gjc vYs.cO)vY_$ ][둊Ħ;cQSEcH5=XwuƝ֗-~\ sI1d$Mj=OqۣdfJnGiZOz0բ09x +n?8BGЮH̲ZTt:A5=N"aDV-QZ۩GnThBͿOm:ߵ8rU +;?멂U>H_>*Ms3λmqݟzّ&m[~6ع[6 799|{c -O^il ^^vz]W{^jn[i%8MǞ,Ss\q(Sr8pYfOcȃ`el3w\uh'Mc(zF4A;y9ղNiz9ޝփq$f=So47\-N|2EIq!AGjݴ| o1|䮤EYO:''2w},l&h-]<:I{PITCxCsڧYڊYd)ElCۨUC))GX/EtRE02! J!iMO+S t=H=EzOj{y7)i_!&z<#(2Ø%9իXT"{c-e{{7lNIy؋O(^kY 7g4AogσlMHm%gn[qƐùpHeɇ}z(Ά +p0;_zs۹ٸ<B\enӿ4!!cH1E +2E +Ñ76p︽;7qN6tB%(O3?1CB:rSm*UϛݶC y7>vZnY544ܶ?c2YbfpnRxjՏ9Eꩋ a9)Nc-EkJrُIkt8 jUz.y8TW6mcmA)Jϐ9\$$>D$sn0ðv~R"8ZM3CB@)CpMcfn6dfմ^nPM?5M+gjڪi$bմV\-ntTNpҌp@4S}޸át!]Vn6]r8ꆓr8aHȺuΪe"U9defHesv]upRΦ37(TL#|ߛ%mov:hƁm4K4Az_mYfo6:&"K~av JKݸϤ%,p8tZ:=)ʜs?蓢$E'ɏ` viޗGZkYe(ʮZ)ew1E0?B슏bq >5fujƁ,'\ t5MlN'޸d;lOS/9r?hϛ/= Ir8mYn6/ݧfZfce;"duA9)NHm.[,<;ه"DEi'rB3CBʐ& Iafٿ3u5Aaoqhm87u,9ոVޮk7d_HqTun@Љhwx8p@v8lu3Yr6ZVwqJqfYٌB:jYeY֔Ժ&CP޴nkNلV'Q}4=&z= q1'QwR=ղ1;=}17/}n+9! y ծ1\礟kBn3ų8znAĮv}Hw]e%dvZI=rpnS5NqĐ&';S'4⮃mt81 h{uجv8jOq[$anK3mjZ2םML2q0ǭgN3?X븝8ݦi:w\k7h-' Q(CBP'DC8XP4TѬoLb<Ӫbr6ffeZwv40$$ҠfYYG8f1,5_Yǹ-64՟$, S@3BbLG +sm_ǁNQctZ8xT,:2eȲ1N!Cp4LSl։M-=폢햵&bUAs0:nh/~pd4]>8u0md*s[)M}qnͲq5-@8!(Ng CR9($emk3 pm=@WM k卋 2k֙pl3lMpN I8(LN4Tx?)egCw]}85.dƹC7}ʱAfմHh:*I#g ookٜ᜝qq'ɋrǕNbfqaHuG1Bh~}J:m1,9xrAC<:aOm[l:qcxBMj v:fsa_ØE6}Aaz~/n] Re%ٌ㟢-6UCQD+uܭq!{ v9)zN'Ev_p{D$E.k ~#UU.2^{^u(ʹf}oY܄8 Ȑe;ڻmtAp8yRp8c0$7!J2s97s17!!u=t{-Ͳ9;ubϣ=t)p,_'s]i3Gsi/ݺNFlVMAp)5qvmk9.8)в4sEi73Pm:ҊwԪ-ǕefȌ.+hMiEP4:q(mnMqApղw9JN"gmBDΦjN4Wϫ643 +=HŢ" -[rϓ탊$;#cDdn~K%)o,&{m'8\մ'=,},W=d8bSъ6dz]y4"#KfQ](ڣfYglMPE}MK;r^մ; ,9qI3ոy7 =YƱݸ/d IDMe^G{]!!$gjYeݷA\MSմT,cW.H1n6ױ;-BeM4'EPX}qN^XTh?OG^wQl?o0S&Q͆$J|j:ۆf39> +mslt&Ll,/ݶ3eY{YfuRv~2_'s>8ݞ!iIr8gw^EQ;.8Vxu8IYneci\-~2ȁס5n[ټvqyw8o#kyWerchmg'#9Q83X=%u^b 1D ԗ np\'2ݦ|B#3}mq;ժ$vmƉռ9H=Wg~Xe)':v8(gjuZvnBmӽCen[q4vv8("9{_霝Njy=)_ҪR/4 %=/9Ԓ~YxĪhIp(ZS|ruNٲ ~w]%KbvYl2fc vtQ+zv&9=rz UY|xf!v)eriV5퓻>/O3ȱdEK. j=RT;WIgmUb[O9_vqjy(N!g{ݚu(b1n +~p<9g'DɊ 7iΚqNf4ڬv:᝷r8cH1$ټ1wNz14?嶫}'EYHigӥ@vIe?xp3~PɏiPEjNhU?o[udn=n:}L2knCP17!'gj/|*ˆJݶqy6l%6Cl{(Us3NmG{fnearBˏ)PGAYrz,a6{ zItFJIT:* + =N|q+nE)iZKJtچ eӞ3 " +VK]z'z*nc4]RS_.OtVm~Op[d4$z8ZeQh8^#]QZZy֞e.8-96ҪN:3d3nBJ:t?j`8s\ijnm fN٘Mjۚe8z]OY_EUn+BQ>&IJOnGqxfMִ= m;K3mOśfwJUSp$;;4[g?/،rBE:9Sd{o[e&so)EE`T27m{Ltpn?2޲ WB}̆Mt})_GbY#:I䗴"/E)z@neJ-;^rӟC:}M.ˋ!]cOp:t> !w-PQUF,CUx@fY^q+!4KbwS+u_]uקH=ys9hT,_m=( + +bjȋ_c=٦},39WQ$r=AWP/K{7MpGpFͲqfilVs\imjmII:OY_珢_.=4opҐө=olЬw[OYfWm7pϫp;kDEhjZY$ec 2f>HBOYzF>P8%wu˒N3XT-S,6D&!,}rDiiMm0lLtPz\U6ح%+a^vëuUCA͜U +ܷ]Qr[L2jR2VW2eQ* +ݗִ:j֔E*M]1ْU8VL*~O9P-:=o7E"oROj&Y^UEm[{\ W{ iٛ$Ei㰽50{0w!O&"e,Fy5 YN!)HCGbzJÿm@A9!6$ o" IQr87k[5DZ᜜M^7Rӝ$;$KrُIr4W.=o67PKlT3{yZkٴYݴVMK;hdmiNi݆g S+*%+¦ǹ u{;.:8wߺi!''Cϳ81OSCximQ +*vvBXmjFԯ*@}-R9ӨG + !qƒ_zW=]u)hEq||^?ֻ. Pi@CJvY3dĢw5=fɏ-Qkrz'su4'w??)JrŮ|\rAhWU+mugL!}]5S'%Em Q˓$i/ejUHgE_\0}/:vNǐ 㷊[&+(b,BOIzq(Wr6㨋`}ICyeuϳ%=/:Hub]j>(f%.h9)~tqێJT}cx4mn T/KqA93$DtR'pFzr_bn[;Y鰙6w4!H_yxݦnRZ6Xܖt?SjTE2Gղrs\.?)Znur1$j?"sT[1{׮E;gBxx&JNزUUѯ8`vxL&ܛ=~zzNGd#O3赜f1GcV9^ $U-=Sr[dYo˓(vQ,nd*ln_[zW5]35 4;\ZRKTܔE&fٛ^taMMa,g1t65/Qǐ$Rluҟ1c"&k&y]4 n4THRd +L3R!ie0+t!Wx\iqƈmۮ뺮ۖik]scI;w#鼦w7t]߸|};{.tOۺ4N׸{}׻u}׹M\ӻ^˶}wmunm}]m6o͗r{q~雯eݾw[me;m;ܶys=vmmmӷ}5-4w96M|Mnm=Zosumo<:oYm]k]\s>kNqUߥ풫m{q{w>y]k뻶;[oy];;n߸mt/x,x=zmmmu9]]77};]:Ӵ4ܾZu|q[۶eks|m]N˽M_b %$,.i?c$~ qݳ>+q)DZgn~'{&ukNL0帻4]({ޛe^j}4E7!({-!t@>hd>= vKx`"%ZF bDjT XNcXcyzqrTpMh=4iL"%lsc$ +ku@)qG]SrWM%){z̪2^$]@VnjGM u.\?yOodIo!Kq3G vGp;es9渇2^XrqIG !l " d̘q18GOd9FϠ4?04a>uX-?ot"5MwΆ!޳OӜE&En03C#Ƅ"e<̔D`a UnjLkxNStݴBRnqzFkm4++#.R,RʧnQ>oᤘ듏'~~)BL39^{r6&Ղ%rN!!2\^hDJ;CR^75(ˀn;n< un)\u2P`.LFB1)$;fp:ßv/G~M]]\|{j#;5,Xf3:.DX(亻Y$) z+>0Tx$hRɀIۤ3>\F"N7uYfo|qR 'S +yW.dRnj + Sl0>)Vr m֣h,}YbXjeߞ>ʡȓ$#'Z.s:(_E* F j1bg wTk4j٪if#r8f3f-$e3Qr|4A+Rj^ňO$=k4w (G.bbz5S7>ϔG_<]ysN:[o9;,I%E&!Ά4 ءgHT`b / ^%!إQlVH;9NeyIz^i#s49`H>IòJ]7,O# J3f=c۔qOm`@*}CPU<1TA"EQ5qɟkN{Ex1Qd~aD>Ic夆 +~5ER|x$I8,h Co7Ǐzf9+P! >h8DXõx<,iՃ=S@ # EĔT q$AtQ#01'0_%e b:MѲnJX:얩@JA;@i80=l{ȰbFE,E$G hG=. +hwsMU;rSS܎GMWN;3cP'wr׏zgIG4A +1+9HZDp1 )t2ޫvf^ e g"Ѭ\џGJOzؖŶ$4j=>nIINZVq^'}Ut zscCyCͲQ;Sy,j +meP|iWP(y$MN*PN?9{iKrܪuzS>Ь衈0Mq^+bz_ +&Vwun3J˖ʿԓ8;`N(=dRdX#Eojv=(f 7Ml#ҏo豤HO考JIVKz1>7G%"1?_*z3ñ0Akj`o=zZ Tj_@-B(rh2\9 3"$$9VFuItzu21]_D~T$14;!eg]Sf)!~%<2JU.S 9Pb/\)x4}{a89,VvIqJ`$|yzSLףc=q!h!~&Q8쾄(#4ddcY mja-~mz7Yʞ'uC+fiƉ!4E+*JMRZ ~xYbOUZoQTQ +R\ [nKlrbbHKr @-1$Ϯ$muAQ/M&v[uDiӹ0ĵ8C+@Z"%<̈̈NtzG2"h`Arz^q(cd%UnY "|x:aǘ>2JX4ZFrhd(:xA˱=4`hZ+z Rݳ]\`r1L gT#(Ԣnxp!npJ;sҀ"tE"+v1+GyxBƊ4~z&n秥#fPAhmǹ^GS#!Y`T+R#=ۥ'q_YVB=O¨L&n7ۮfGPۊ64^L=VPtL#2o ȿI`iITHZ.,hG끠MouQ1l}fG; ո ^+ XU'E[ kQlԶmumAiIQ=X ,9`J:HZ)Yƌ<+~ԪV}C<<]׮S7-/ɻ,_I9ӍOģ״L"gSve-ճĞ+J|$II}yrI22ϫ=Z6ϫpw{sR B(,'׉4lyѢſ4FX 3/-:s`|IC.;3PjDURTn[I(0LR[a) V UuYq31}D>yE|&:.n)f_z=:h7ŐZvpAE$Q&'{VOM5[ # + fb1-5LFjViΤD5*ҊCߙYMC'_G$|޲,ӜDZpvP Zג1']۱}^(QoIOZ}Ԭ1:Sԕ۬N2mg7 Q\wuޖ$E;}i#Iz_RUߡ4=OAIzNSt>IGz]~G/k~SruLtuǮ!bA\ݧ)u*bU F5/[Fo+}9nT]FHŸGw.)9ӳ?Sޤw]~.^eӳ@Ҁ#Pr nayͲM_CGM(ڧF:.iԄcp%3TU)]ZܦECEDJ Fèm,gR͓pR uSWUOˢh3P,$G?mZ]뮄<.{ˑwvҔ=^)R8N]n ~OG՘zQ,X,T'wNIS~[F<=l{獚)^}Q<}*~11pԞ0\>o-i]ijUӧ iHMhMs_GuU˚Ӵ$v8,gճ _owIeɫg+@b&;$EcDvj*@Uٯ>v@1V0+'.Jս,[CBXv#þAxn+iO0^:rSݺvSS?G\e4Iv:)xy]M/T-+㣘fY}XQm_&t(v霛] l9KgǺ/&6b(g]H=eHRî#cjHfmi€^Ԧ_VȀX5E[Ԫ5)^wjq<⸒c,I%q"sRξZu5o趙Yg$=Ę{RˊVOћQGVM0s=OOۦ?olB4Ϻ䨧%Ϧ*^ٷ}y/{^A7JnCi\[UU HUIKr;,ǒCcmsv46x?WWLh0=ws4iS4DzdhCU*ZBE0:9i8Vv=my!yqf5E)#(=hWW6hG%(8fbbĺ*8^ bO7wI uvrhh]k1t9Զ;Ij]-M&6ɔŰC]mC3ʬ\|eIbW,hʣ,Ǚ[w +:arY~SL 8*~Su]ԨIL5%2P~j6rY1~1Cl;L͓ݺV^D2Rbv>EFBEmynϤ*"7Q()&7?tAbB񪺗$I^]oUzXh PvS5;iCѻz(Jێ7PMC5˕ݓdmjCn6_Mu=ږVf)PSTV㠜$u|;7E$oQTlL9 s,iWjݗ"KEMA/宾9Z"#e :H]0q?>Muuh8AzO?鯛Tht97!nǹ]gឲt|ww<±&<صQo(uo7d9b8(FѶ+avM!ػ|eyt!)RMzxjlZoMeɒ%}T!wuAI]ICv4N2:XnS4%julM4ݸuT5˨,)"Kjeeƣze\!I~>Q8 Ez([yq>h)1q(zRL8w x^D.7!=,~^PE:pPcr[=[8x۳I*_QCOW>M_0T=7E-KZ'i9]xFuo3OWDB6-Z+09ɞf-.db`HJFF)h;fh⍦X+baD<BȀP`T@ +`Bċ6VK#AvRM#)%&&HJ WJ?:%\ۺH'6r8 +\"@AT`0 X P ㇌-*/%=?Vv/dz߿hzxQ4A \C- M j T GFļ a8)(ߺ|k9H\'P"!,xA +f C,,n|B+pd=/ݶn5Ŗo!!ACR`1A+4! +Pz@ZfbZ,#1#xA;|Q>ϞmQ@` U'8a -x:|"d$:ݐ!=췆VFWx4a\u?5üCH(F1DxD3hQDe +B>Y [o6Q4_֥}b! I(QD &``HyQTZX0H_X#߆ @!P@$@ D@"d W0".XA +` Hxa;mS/4G;,Ss7Z TBPx`"@A1 +Rp0/ Sv! E d$ +-((=_o=HHQ,P $ I$\ ZЄ)@J / GPBTЂ!$` **s^3(z~+JF& `/B/|@A.x g@#+( +N=d\bdTV^_;U|݇9H@*0Bp.xQhB0/ EHR}lt1?M`V؂`2H +V`'$a b`/ VPDXĸE.2(v2R/t5&#BP2 op$< X +Qȁr>#e:zzbJDHl2 <؁fH IЁlh- r0 @0 vG(0g$w$8b|A d,T e8%8A U&0p,F#+^NzWjzIL +=tdPJ჏% #~=n&o%-L+͝tjxBifYuTVhS. ZC`$("v%2fFDFB!վDV/]yMu= D `2H@ p,D = ANP"%ȓ3$i!h^&Z~qpatD +LrP +H x:Ac"BZN#ӳka<_x$^_@p@x R<&bnj +e5jyhRDZJZ+f%R!}r$b"ɡ8r:"C`(MScYj_7ǻEt"t ‥hJ(\r##~jz^)8f$7-b#6u=- 9|\x1qA5+$\f"TS'A˶:Or)4?lȜjq։ʈ.Lks\ yVB+\%i:x}+qNݷNOu 34d|`U,{w)鳨$͒$\hUN,XidꦉTYm2(iː>(6sf0ųui wt]=l|jJTj:e|0En2|B%(1OU]rٝ,S+|çf7KGOӛU2%FS0Kj̢j8e,m Eճ U"كD_Q@0b'2tLSѴ~x@6D\USU/|&qZ%xno`(=%2ϱ$*;b)"1+!IXQd-K`I=YB/ e=a^0-S;lV[F%lrB jsATaX> oUyA i`HOxp-,k!hEK2dQyZDO7={ִSE SLu$GP43_b +0+vKq?G$2T@3Scyꢸ$Y渲aXL@dfys˞M0#l+> G +Iʇ_y>-~cT%ddIr&bDI*() *nYD4'*\fT4QH$$vPݶE[2AȬ2Be)D#v`n/#$K +/Ř~$"+v& X EKsKө6e/ZVn(eL*/#+'o=6:ߎG[T9XDx^J ҠD=\NDr +/'!ӏ@44n>Z)8JV! 6HF[-YL{5NX1JX2JZ3Ϫ"͈F>7U.O1T\>WD*V/"Unu0|]QtFI7ɱv  +dQej_w}a]}7Ƴf9` UeP$Z,Ch+OC)#7P`8R`:Pb${EZo)W_IH1!qaZFԨD]@Ig'=Gj7#eseV$2.&/ur%zeNWشO쮀 Hq܆XT5 89GmӠD2^)"\$E2(<\FjX%T=`>J +/BåKqSJ XX#~#CKJ A%V.Ś$T'WMUU3'٠$x&M]xc +C]ҌIhQ~$86yMxG@tT KJ9<6 1'7VDb\Jߪ 75 ut,$-.T /`"ϪJ2񂇚)- +S{,~\m&Xm3a _6n${2Ko|rR,zG+ ViųbwxihD\)z#npB7#WUT$ _+B%vԨF3bڠG]d(mD2&>PZ|Ŧ) 5;9#@DL41#ǰs +T}Jx)}b@ +OtgS3<\0T`=rJ$uRM{േ (:jXĤL8@NL + e:}NC 9pcB١Y_QO@JȓUB3^𴏕*#'$7P$f^6f>bJAà SSԦ.-|XUa%FU/)x%"$>N-#)qPlcEDCBRJ\eǬ{l O< LXr +^_7\s3 +ȊHœ8S4c&ʊ/h<  F̨!b: qH )$p1ez:=ԇ`hBT<9+V~QAƤ/<`NDڂ0 +h@ s"dVY):J(a xR]Nj2D +ɃAQz38T|u<+=z,$ϊ(F8);1ǖd0<+]MvԦ֥8kŰR)^ + +B"Lhl4y^%,XzPY!R70)R8dhDh%&ċ0(+[A0`%XPB}MdcEd$9dcEIYpBYN0UD/&nHxrˮr;%jS@*[V-EL2|ӧ[N!̒Z7M,p!e'}cӅ-#EĿcNʿ7GRQh^DN#9_W ZNJ WūClW%Ux-ѫր^F)\$[u\W_-ы鵫iT(hŃØ<).yp4O.Klzղ"I1;%nα[cB| +Va9]jUx$s2|pNu?+n +neD$eÏAhYb)=rјF+N"e͒E$|w,ud^nKnKnN&>o#%ǐjxҊo==y՗ѿ )\L%&\(}ѱnԦ-X$')0,R'qMtaF q(#!\1cf,8HP-}s6`F1$ IKbUJ-%٫N%w-~ d:)1PkS{]<˖uDѭ +/&/$(܍($2nW 鮒,L^Lر2 +jxĆ '*},=3N<_]qMSEPzqbhw{ѯ.oyNSemIr'cEɛʦS1s\4$s0yNٗ`v6(]]7m㫘eͬjnmRE0E"yfڪeV]H=UZR,;-`Ī+9V?yq29:zȩ^uEVAp/ǓMv~U'.S_B4^NKS5:=!V6 sS7| Q4ovw&蟞"VeճfzQc/C묈$1&(-KZKk8XJJޥ*&k~Co:H"Z6lcEZ uuQ6ٳ I tudpwc[-A'ŕ~o19],QI2኿X`D$fچqT3mr)}ZJ3P(Ze%#ֵEPĢ-#?f%!yV3Ln8!w܉3VtS+j[xdͳk";miPtEJibYN+Q嶑G?EMoY=%1X_- v]y59iM9q?,F~}'q#{st^B, Ѵ?MAkʗ$9V4u!;owˮY ZU?MSMP<@!U!ʲX`؉,YLt1>tEʑ\{N= =%j\Ywhx{zӋb}Rs23 +,4{N9b&_ïGOEfQve&^4/.rAfpR N +_]2RPbH۶r6)ۆ".XH"*`z'3P*~FT%G=?evnݺ_JMK}~sOZi̔Txw56YP軻G1ERQR8`GMT<֞ۻb"I5R>&=/] z?7Mtϫ״~aeoQjP"80{߲ +l,sP Y)Nx4 X):Lr43T~ìbZZU"}z] Wm(BFNƛq$0H9&gW/H+:N1;. T݋̰PI}Xcz ʚLe:%(Zt?;1Xy^BO$cCsf!|r4]r2K(&yJZ}&doL{[I6_B QqPU@,Up0=)"\E&!O%Y}M9\$[Π=Y4` nCn0cи@ VE$% I~%#AEP0p0h(AfV_ѭ\c\M\\ʱ@ `ph,UtF?lL+%. +5Gx08a+ G -$ ЍdAr1fN;t4ʲ#T &6pc9h"O@"lt1htVjM4<(H +( =@ K +; 1>T'| :5QXGl~\$P9h7hB<P"T$0D_Dl҃ R ':ٵ5( (EXЃ=xQ LY鍮'Gn8be6LNvfѺ EDns|Ṓ=wUvd-B0 řq|c*ͺ;?za,@%8~Hd = h~ eL;$*$-L-1]"C#I9mtm{j]܆o+`YOLyW^];md?04ϧJXkmKiT슾A\'WvFpibo(}'nI%(>jon牝y(xvy"I枞3,)]U7D9穗e~? 6O.dSj-HԸiYDG%XEAmW_ܪˊJn\XIs_YOd%ByB;}뱬`Xj|>fa]K?lm8`" @0n}Uuw5ű<ρ?q7&:HхYE۟6r?ِKZfԭcBP<˥%zu)ЌEWYDQ<?&Q>}gѤŒ_Wp9vBۍG4M!ڗ#nTP$H$u+ׅjKX5EDk3Ŷ7ǯ9rp99pT)E),a~,;z8EԶ5I(ji{P4x,aOqXqu&uhE_WO~&_fB\=Aom10M'~O,9͒94Ɛz1bO_ uƑrY Xtk}A)TLzV/QD3E Tx_n|ʒ`n\oX-?ϑퟞ;IzG\Mr"繓dHMU[ZW ̵O(8Zg"DcڢDR T0z~(YFǥa^X*|e׍,$9=Yc~ ޤ\zJ %rѣdx^9f#׶.Q𼦭-߮dZ}:⸷Auc'K6ݻ6J)" .`z>mMgM\oUUԮ* &i% EKv` WYeɎ~a&\u{4nu] u&n+M}hee0|OGQ]pgW\]YtsTu >f߽ΦL(XuE" Y<W[[n1GӾ}uU6g u4oM(+{N<}mSu,O7`hyo8:3?9 iqqjFJtepL)"yj%ݵ蓫'Eq jDۍS-6TPO|=^M5Q +iSt.Z]zKQ[?]|14xbSO oS5\o_n5HV!9Vɳ$:$7B@ĘQnj$n1y^2aW6lu"{^BKr&VI $C + 42[$erAiAqr>T$%7yh]_[~MIkbQSn>~'ponhx'I_*@Z3,+A|6-HV"d?̺ )1imMKqc' EWr_<sL +Gtyt҈tۮv"`bL"S-ꆟvG~zJw!yL~?ǴỸfcr:ƹjuX-s-Ϫ` a7mϚnz$*yDmbڅמL h#m҈d(z~1:iP|O7MOq0)#h@:аnwTϡV\;aҊʖA+&*%>P1c9hqBPzޠn z.NF ~MwZPDh5${]+%xTDpi7b{2EWW +6pFv$mǩZ0- + 3ZF. b1/ML(1c>h@q#zy+`hK +g!4T]$ +==æ)Uz]W{ZD('R +K"X {1q#G8h0Aq4M3o$#r8d'.Lpl;OE$Z|P0lݒ~%y۔{ۧTB)IBȞMLՇQњJӋ4dre-׹a] ek9<MoQQԣ^%U/czVj0t9mC2iS j壓?$]:v^@<]7n̋{GTˮ>OtʞG̿nlqK*GxoQ$S2oq(෋c|^wTRt +.>~ӓ:ȑBxpS] L + h]QIb ?Q2Ċ.K9bPH@, / @pAR㥄2 h/T`h\4hLw<?,@ $NL(?!4ԏ!fAK)tH%{ZFuD 5X8Ć,f -Zy1z9TyiYe,3m<?+K}ƥ׍i!'BդH)FyNǞ{vabe) Ȫ + MŒ:2]D~-;asp/P|V$yr]Sl..ױjךEST4U-?[/G-d^0=p=M<{ TErrXcFEEc 1%AA"hL"&(>~6e B 1JJph8R`7LX1?ŔO0D3B#d̈XF8JX.$3G:1S& / XĘ|mdO~֥r\~$Ǡvu8)- o@1jG "WF0PDlPMgX&i.,+|B0O) +wI5 + ɐ<5K?fهmk$vEU@Qu2DLˈeO܀%`y~6nĶ~8hūkMu1v 8@XR2(&~EKIM3 +˵eKlyž'n6D3,V͋z]TMk47$w4 H(ADG54$I.\*-v:c*9u0SOq5hz71rBƌ *rc$jk$j$1fĿ G.GbU˭.b6M=$QJoܓ$=[z_70EBCHd.bl\N,SE<@IyD8&(W4z& 6bN+>' p"Z8x#X0*ZvH!QkvsbDz|<\8A>smrJ5i)B0L^0׍!áPMa /)P hXJf4  @AШD@OajU_U_Λ&(=Yۏ܁ƙΆxP{E :]u`pt!A۫ +cV%)G cZ+iQ^we2FX~=/ǔ7o˾v:t|K2eaAE +gZ67.-5#%!5qI` JO\nS;0;'~)?H  ^PXN깈=d`$VUB @ +˨/m2ZV @-'_$&$鮣?fbL׎EU%~bxZF]Ew's R +82R[y.(k"x<.!l~2عzEI4#u|Y9M9S+ciIa"$035˨9azAS ~C:bĈXTo& igv:-yHRab0~Q?rXR~i,F̐B TgH(ǰ壟>vY-BdEgY{pHn8$Sѐ},_>G2v+;SHp WEl%C܀D bH|PQB.~⇋t9VYȪU+~z-Oh@ ՌXjE +󽚺"(j$[-{/ (J\pjQfP%=cM}L jfeR/a9jDZ|ȃ\-{pZ!^yMrUz'v ) B̈|,mR\; \*-M@;qqQ47f0GfݰX DeNEۃ1T+&8P˖7)lѲ=8>UM/[ח>a1մ=`Qbnj"v𡂥:3Ϫj?+&qҪGQlw]$_l`9 "j]-}ZduŸ^,ֿ%}8}SvϓdD6\ZfZUh,7#9n62LNhXOh.7`{Q=0jŰZ7ZVxX1#D0(vI5,Qsg^(%gr;s0Vu&Gr$q^_t|û$v豂$V#%xp !j^x^L(^0TP4.^&crmo7GЪΠǗcM8]IIE{-D&xQA 3jphF!&JnEB}G bh9ia39մTϣVyyޗ~ m5+>n\c)f[|}[F?Ljm Fl0+*d~Ԡ@-^dO3|W, b\M}$i^F""}5;Zql=s8Yfڙi׍ݳorG` %LIQB#G *XV^ma0l`'II9UC>M5qq m~ ,mw`ajq ˞W=u)Bbso}<ɡv!Cqc>pI!y̴/$tTm;3˜4I 2O$qKS&G D=ZЈ~"4"_&ǔ0l=ϳu_q(ZèTa"B#zѳ +vOnߪ#G%(48hVNjpGmߎC̴Ym/4G.K ?ѣ"B eأ$hEOۓ v->JOO)`wbM*we)fXƳzwu"KQFִЉr&7c$% ςTA\F8VҀpΌCޏ0ѠRIg1u70 "ˡ1n+[󑌹/ǖ2(P멓ai"6}n$Cdȏ-E9-'0=mE1V'mr]{FŢ,yGO;V̾7xĐ!a9*EnklwR諞s`1&2Z wGlg@NV "~Άl yh#emQ[@*Լ7Nu>`]U~5"5bջ,=XN,O.v%7Р'Rgr65%9TvyïĪq(P[&b,}%$_+- QQiZt4Uܞ^6#X˱4Ǯf&k:܍SJnZO<|8͜`LHsq)V3ſIn#9ŝmU%,HMTT'^vXF)ڗ$q᠘Mjפs#) ~?&v6E(7rW}#)v{.J +gVbWƐbص,5_L(UMMS&wcE",e+N.e1arQX̞ԓEb#uKvA3'lx/O۾t<JIeg=U4MYXIː n$wI"x +nUv;VG0ԻxpfOqįϞ'}ϓquou#v=:ϺiR/=BK{leEZ:ՠeW~~'{ݏ&]=6$wM7Ix;8P{CV؟WZ)+QojO=HZOZ[BBOy]#uO=vK [; k^,~Muq*ьpHMESYWI6W^1<"%o,~s0'9.wb]YnpzAnXʹL4oRHţjCp{h{Nc5ݏ#uLM|4 ŞKkbSp?4/fs| nZU'$>ou^lݣ'ZKv{=GE[\Z=F(#wAAFe&* +bז.J5C(g\?R-+2' B˜ G/g:YflW;%=' {`8ÉcER.=~?^ |/+v=fb.D'o'kNǹ[3'tIE=dh^.bԛ𴌨_PJajo=2XʐB*Prq})ܲzFP˖xJEywᡥdG$2϶wX͛eבT4T2܄^GR19vpM̱iMW-3;DY2GM[ղ} k#*=MlXē0zSzrERvkur\;.EOjԮRd( ShC;HV7HV+PʠD/^78Rd~aF4V~ʐ?Xt4˖U< +vcn;NC,[̂fժ*9zcZSM[5='O) +FK|\3)jgĦ{loϻ$MC+Z v.w=eY_jx>g^m%2C:nƱF*ÊȎWL(9v^.N,{X.N%Iӑ0Aֲ%A؞7HskZ4[ E|< T9V--=\s8Y750DCRZvu(nqѣAX;o!!Yfdj tЬo[u}q Eㅒ29xmr=1H4( Wll9ơuE' fG}9%v\"hR+@|TTZ_znSͭ3-;NFXs̟eM~yZs1G=H()d}I"GPd~g>~(Z2BKv%&5ӼAP>(ZM΀Pjv=,aU4sRIq>NRLh2}N} 蟞8cxIz3Ū~9G{>})d %Y +[m+}yq'<+9A2jo3)=tG<~T4IK~U ZOXZe}45.=7n$f"(jU-y..7^w u'3sܚejVOQM Aoղw_mS1|"d@OfXP ˎQt;9P>~jseQu|/lHNnQ'GRj^vŪ*5z2؅R֤P0<7K Al:ZU$Ï'$y2;}C+Zbӟqo8d5ǯG/S}IޢD  +(Ge=$Xw\H1Es$m&^C3d%>% +6ǥx ˈ+5_k gflޮ/KuyiEEP/E-[3)RbJOjH߻mf-!RS#ܗ㊞ox%Ɍ YZ\6GK @"4P +~aC-8J0LX,FJcjUؔţnj<+GK.oNj(-GjmoR=GZ(}XWYx+닕)Vse-p-;9oo]XOEQqrSq5IvoӬqG>MqS.}!6ɐ/̎Zփ1ZF,N7[{ +-бjE+* +vGz"ȇ\c?j_.؅uԊ#> p0,#خE/G?5ySE/ϚzT45OhN ~goay=zHJO^-Ytlj[ Ş*U fRTefamY5c$mQKREq8 œ?u՝o +SHy2?OUO8q,"ŖjYuq^^ò'1n=/'K +ΌGwij`Wi|z]0,sW=2,X-5\V!UXrWPb0ne4(_i*e󕼆o;lB:1YOI^PԴAzܴ]<-e+|BIҚ9I- (=F-+#v5-e2(ȮNF^^ժ9z*CײַKE%aASv7KN=2ȍr~U$a:)^$ׅBN +}F$5ܓba3,Jn#ek+0qCrגm9KU\v;nkQJZt/A.w]^o=ȟ%o 6-/^1!>\HVHNjɛ,]o(ZiˎO/ BOzm o]_y C<(* +e]rסvS/ɽ$Y~]ժo(p0C6;RRPt=n6K.W8 :-bj7HR9R Ife_R )RZ~ܶHMy\OWTWc9zXI2 +L"83Tף,]@}ItLtL,Klfo+K7Mۺ`i%,#Yq8,Q/;jjfYm.>oulK*w(:: +AӢ#O̖q?. {ܻuZ:ċ$>߬ǁZV'7ǓZ5L?Kq;=b&ǖTuJV$țb ql- )-ݢ߿UE2,q=Bx'5Kߦ*[TA{`X|vU$f 7`RbBĤ`H1\_=V+#I˅H+4oewG0%cHUIjR@-$Bpi1g^P}^~Ժ\v7RTXZH(?%eIX7I1CBGtb:mŀJLĢoǯqjW]U_rLϧŏ6Z@"|ro%Y<;mOڛc \ԄX6涑Z备JQ;&G+Y-S9R0[JOn1d.%Ⱦ{N?.׸T,H^7N\4hECS +^t 3~UN=̰^EW˴1 +fs2Lɯ^5uzSs,&A:& r6(]<4!(5eGn^ ~Y䴌7ٚz&c2ͳM5mW8xeL!)$%ymپ]l^\%8os?j#"[,vC5bi&c-z42( +Ѣ -XF%8]X m+7(rIr$}4w@ɋ#)|<*?#w-iOxdqtݷ^Uk9/I] eZ~1|}Um[7-'C-K-1X&+2oqוTĎKrzFBI*;Zbx][4L{<){rag zu٤:P3|p1}zYI ZpFfx%sE8JZ>R^Cx;_u*n(;mUS3K~rlL+%aQ; h/?-K lEOE_m~zgIH҇h!Êh%i*'|YB +rt S^YmSKb*~c-m5.k +-߮cbUs<>k;kNUejUmT9tBl"bHȪiPs׵Y) ղn06, >stream +kN&5Lb"7MjUy{,kA%6#Ǎ4ճ E]-$i-r۔;WZq  U 铲;MSpTCw><'<^܂T'ɵsHhF{n%We/O9o/EgQOn 庞mm3S0ճ9}X()Z-h^LX6'GRf6N;>izzm1C$KE%'P.(K jٳ9ɳef3wmQF*], ,b]Yg_Y旅kEb[ty;,} (Ean+LsWVܦ\6&cɈԫeKtEa[˦6]8NDFAkX|nv\>-9gi_5cH݆uVb5L\)U +vnrdq̈~>ϒ,GzfDmR7Z$??K*$&0Nsf1c$FIKE11hxh!1Ls\~}n`D +}M}E1aފѺޡQђ&rUe>푼o4lhM='V^Y+.9z~WYvL-GoG -&:9@,"'5w󜣨MKZjzIɱqxgn3+ QڒV>ʠ7Y\UeΊTU2czjYuGNm*B$%m'&E`y՜!yf@:Ksq+.|P'yׅvF=z,둽~m-# xk~{s$ieG~ +U}pBx Ҳ7ǝ Q/X1! Gim &UE{Pt$+=鯦=kVZZ^ٱʇ元5v?c|qM bbqB8%#TDgKnax,jURf8O0Fcy.H܄L)JQxt4u%53ǩ!ط6"b:Lw1 ;,HEMlzE%vg. Iss*hnvUC'YZƤF+`.zzБE[v0.+݅ϡ=UhԳxF%}:D͑",jOQ>XɡIkGpģYa$q2T8b(0??g,SɎ~ڴ%UqFjtsׁؖD4z~X$Hes1KĪ?Դ0?,z,JNti20>eqN]i>ec5aFe,#aͣ*5IV3@xHw+$G2B#~9t%iN8D\,TZU?=S{Cd?M{fF<̯ܕ^oёe|>40c3cF/jշn4T'I!2|w~]S/ʩ3X*UulN(~d?`TɯZ7 +Qr<#%&Z'-&*]I&AbNiQNz=H>o)mKKxv؎yUa{TFD6,E:bQ- +"}qʟϨD4N\1F\|8&Au.Tˎ_w|zW WD铟",|bBEZ3^+'%Q.1;6*Jvr4KIx+H~ PsE4Jle"yZF:uQh5:f\;C 'Pd*t%"v\]gP,{,) XƋ$O2 +XPzYS.:TNVI|mZ0{MQ'PZru)4"nĀ!`lrWӫ*!_%Qs :hvXpp_+`p?ܸg#jN$ #XԈR7C @`+b#,#ȣ׈`D'WE +9NB$[\tKʁfD@HV>N\waL*V-*Z'' JwD1}bLHs}k  G[P&nx%ĿD..leYL:ŠL#;elZ-&?0#" 4>԰ѢEI]:nÄ8s88x^=Q,RV=45R kMɺO/S ^GG&)RQҡכd &\B˾ZKRt1J^X'~Uk\Ͳݶ2^"'#%%h(@>`Ntݶm?qˇg\T2JZ,ܶɒERGFg~IEȐB{9T\-Lg*Xtj>L.ٝ3X$-I׃\ǎ"|11bQ 8Ёꤲ0+:^bZ8B!9^TXN7L^7e)GyJWsxfJ+ iZ)X~ӨD3`'#)VHhP$Ӣx)딑#%DFXy,Syn!/^UåVE쏖/!z9FCV/}ղ,MH&N"4LBOW묜nK~iN"iYgEr# 3gJ?TVbFȜBŊ-\xFIS22zhhBĥe h_`!nqʧq9̨?B):.F h%$P ydiT/NaD1&O +h!3X`P5R%RK VJW~EeLү"3 /zdI.r]Oje:W~)^v[cR&".G0-X|VSq;bWҚ8L*ZSiгEEJE(CQz~NC9jZb&q.v3y;N8$W5$}5" *F"$(ul[{N/$b:i~f.idP40ZN1Z$\^,i9ZJ$9u ԇğS%մAnqZ"Y~nm/{y9~IzJcDg7kNiY;L`-UA,P n,bUbQ;̞xZ6-U(*Zy)k'vs vIҙ"T&f+%DяrOdȏV11c 擿hlб 4LBv]JTagnݰ)w޶!R*8UA)_ФN1&OР ( RMYB]՚$UDhEMG< K)$*=*[芨_q^M+%*e'5R%+0>xv" RRl,zDtR 1 @0MBD?j6;o)ZT@>>iM-o?!}adb) XК^n"ŷqTz>ޯ+eX|q@S$LJKV#=YaԉxOszLxZC9=_#aog1e] N<{Z/HOojsZye~{S[<}WH/kc31Z}]  e1]ホyךC9Y'J#;;;pH琣>uZxsەk%k!M]C`X徜x{o:B~"@ X8D26ϓ{%5Q@j3; +B"|@ u1 + s|-h+SR}J ) 84uCA,c[_ m L&2G=IkMk*}$ .l_ Xxw){5& Kp+j:q( L*DM_ɫSOՀk9uI*d^)-6q5O`eue Ft*BB[AΧ"FtyYi/h Ug a`b W‚>e*[EPn5{XkRU]soL'urYXtIݤ]E'n1Y@)35C?22p9CgУ` CJinM4[jFZ3A5;iC'`I߃]XC#]m0 )/y*D`Z@$QJd7v]҅`RgV=h_ͽq;Q0vS\n#<ܸ_'ʅEHEKtؼ2w&U]S3M%6Av@ߵBlAڐ@Gw1W:(4d095ut A!&q%^jrWzpnsKpcWӵak( a)/4F?<(: |fmV5r +JND8>'C3ACM'7NAȹ>ɴ v;lIzL.@۳Gn4ίfdJ{a7nj k_Ɉ`QYNH`!<Y rMܒW*0f sA=~*{ 4M&iiگѧ +qu0Zq pJ,)a_E3$_GE'{4Ү􊵹]U䧹$ %F͘=Ű:)go٠-#*2q*zGE[+ʡ`Mj,l5|Hjg~'i#H7bFԨtXM VJ䤚{#hRm٭sXą$ +meiFks*l^?Ɓʩ(y+)Oņؘ̹}aw 3fYdlVP(=% +hW2 vկXYMVſ&fj?\bF'AOo>R7RSi@vϒXu yƴ 8M)b2Vs`%&9"ySfu]Mzquv rX\y.37hBUbׇ,.sX\I՚0|% +=EpT>%!Krh["Is@+TgT8`:R( +uG_JpY& 0 V)P^qLd/98~l ^r-!&׊tQefvEYG?=x̗MM0 +h"QdZ9 +\"̓Ve??\K¥)W"n/Ÿ}YI6PbRYDyoj5 9uOkBcN|5 dн&-Lp&R  _6GtMs&O +*뺉oG[8O2WNNl[x0pYu} lBq8&!襍+Y眴k(>żG0yTcz0LアX!(AF>L4zUD%86euRfF4}@~ #3+#=^[c7SjktPq|R-(`vSCM vRL+qyGr_%H.ȵWˁmZ,_5li` Jxy8Bh#ee3Sa΢yn$@7AO'!/:J}2j 7n-ʪ^ ?S8=^JVJ<=dB\N QPNA  eT$r{m[\ҕ(\BDSk>rժD)-6q.-gJkhKU أ=6 .EK!J2|JldE\VY}IAPASI?yz:aи*%?a QCchKyLdQ[t!%.?U"dh~Q9(nifCB(jb ^]33>"TD@8p3#2sf+ DzIAތO pfs_i_mvb&Y[eJ' ?)7>%!3 ,U`Wm(M,O@sڴGddyNR&dXp%=l#xdJ#j ) oH([*pN9]uMCc[An +;EAyUi|þR_L(pUZ\&^XBOH鼫6,$U5#b d+%x1:"x@vM{z&XDn3C&ziquL& Pyk,To_dy5gβG +N:1=suQxlɠV\}10kfӵ)J'j  N% :[f#OBWZI5n4J-amjsYQ&#1 3a7u_o9`jgk™o$g5P#NG6QpVI!R@ SVupT\lK2V6FI( M=͒ ! Np]TxOXXOc]RXM{:_e ~%|k@fgrCB+lׯc؇s> W]iPyB0UJ]s!VQߎ+𜬹 Tu^}A'g3uRpE_:A 4 p+Z38qA>HF +7}rΞ0) DtTFp-œ3 n'Jt"R\4TQFG(JU-jfϓy 7AMʈ-GC.+XɊHpHDTƏ)u:bckvqP,{-Ky/zej|7GPm 5p;=UEiV/~VRBa_\)ēb@Oqm:@off22J+1Bt68x`{Z~e q>8d5_ Z*.t!8QR0de^LX\x/"%F7 ]Z{I +?P@ $lLnrxe9̡HsM~Ӊ Y" ߟk + PrjE{0 + w{HJM HHTF?C;xp(=-0Y"}Rp4\.bIy jnl0<"j.38]}82Zu*Œ&"rb P}'qXj( + BCyEdRb:@-E.܌ͱ[wDI0*N9h :^F$BPjAj~*FZr\?W{E%%ɗ}Auڗ ~ɺ8aܛIÞ +XIIh&ݑ%;l;<`;\AQr\>=hyuIUF%: ]g][4G~BH ݣ/I?L[Iՠ:r,4LaxN|Z-6%M%cgw(/y2JZZh#'x0VPPNpq"lJ1ؔ9X2/+BB͞#X޽L,5Eɰt&6t,DVy/I)_s EѶM_r.oI\{vlir:$ ~ ړ0"L{W(.'l`M F+a$H[7kdX~Om;(^&=i VOԮ K_-4ǭen] O5&L~kԜOf8iZ~[45DkI?Lـ=|CPLg OtyH$sxt &p´m3 RVcQ &Hoc贒) ({JKs'M1ᯁGW:!E6DKhB`c ;s kDD3KwcdMW7cQEΎŕ o?yF^R;cw +ʵ3 kD˂F'OGd rXAq!:|G#֭gWY i3 n׿ua'+II`,+mzM8y$%96˭&*sW1 \YGGHTZ0!TG[ *v۫2Oɣ\^<Fsʸ̲`B' *rTEVWnVaQ`ܰKJNҮ#EȦjtxUQZ K/] E +!ɭo=]&~PK )%'{).eS2Pm2L==D${e Z5D}CϙzҫG+}T5M'u/1u#.*XV4x|5wDTIÕJg+w>AO`nC{#F; Jx"8 uQt\*/-wjH$KO~p!FD2$BZ3,ȏ14&"UeΑx$b2ZZ V gA9C8EZ~s'Q.t"+ݵ ic| Ev$֤\zR1c!TIo6j5u v3#4HkX[k=k#HnL b*B}>euJ8קa(5|EzQ-нeU(|X!6jHchV(TCW8dw`'H~+|~7t,삊&})e۰wpLFp&ꁫp~t7T1ܬe}4H'M>t K&8;M㹜6w~{O벮4o*A}?!i I N8jt@ OaPw\OH 9ЩWoVD?ʼ'='cA\CTV,-e4a5cd5c-ba2c-475b-8ee3-694c470af0c642b-42e1-4e7d-8146-fa48247ee4fc04188m10SVGFil/ : +/XMLNode(fxmlnode-nodenamid;attribute(AI__1valu2nodet/Arrachildren; ,w100%whyyxxobject,1feTurbulencet2resultstitchTilesnoSbaseFrequenc.0numOctav2feCompositinSourceGraphiininope/Def ;4fractalNois4BevelShadow44-2xGaussianBlurstdDevibfeOffsedddyoSpecularLightingstyll-color:whspecOusurfaceExponent1ConstafePointL-1000-5xz2zkk4k1litkkk13arithmetMergNodiCoolBreez14-xMorphologyaradiu1.dilabb-d25DisplacementMap3s3bxChannelSelRyAm340 0 14155animfillftaralwaybeg0sfromd(5totoaccumunondditivrecalcMlineaNc8cccccc8cccc1ccccbD_d66Eroder66_d(_77PixelPlayR50 5remov11 1;20 15;200 200; 15 20;1 1 spliNrepeatDindefin7dc2;20 20;Diffused1yellow5;gr٨rJHF$4Z*)i@`c C AA(AVdv쵠cNʣn@(:v{h6K+ yAOo}Q:o_ϬR$&I!kWzK,h'aߓO`lE9-w{qTʍ⷏Lע_;жx=:g=Ju)$;+( S> %U_IFo>8Hl,Yɼ0;7nYҲBˀ\х +C%ٮmeq51Xfu (<`$$#2h!=+!fw,iW3&.DЏ|{pIR⤠DpU'eD*9(b.8M2;(~a5ҥBY8,-!SRe@ZSHؒ4XS%xfP^a?&KlS9^tc` OpBkB~`?SU Ӊي F4^c[rv8vqnD6YL18j ziGNdNJ'LMQ 5vn*8G4gomSi?3?g򚧌ETsO/9ϸ߯@`jiHeFoPؘ+w2z0#'x6N|.ꐆHsshP,]ΐ6kM3k[м|d%t]\F3U눊[GI^*ڴbi vBڷ".y/Gΰ =@GS HJI6v8 *`zz_jX,]sj0-5>XW]($PX7T5eS%L־I'l@+=MHhsp8ZjK~?41yK + +6+OSf+ Y&)7X} Zy`NE#@*SnFӌE5!a/%BkeҸM Z-H|- Z&D$ xi:5RRk($GqM0G}&R#$.4]C%j\TtyIXYjg ?vH=/k=-+Tգi29(-OS4fQT>UȂ)~X$5L /,APsTQ?=ÿף;(#@Ă)ӻ!*%?Vո}KL [VQ#X?išoזYwC(*(ʤ5QS}Q@@cc٩[CJk C.BH=-\"hFRL|Wa + +"Ӄ !(N_i='h"GZu#!inx.ͻXG}lK][O$lCB*߉%pk7E킗YR6b7`fpqwncyKOz;& ߑ|^yŕiS$G>'j nBVG3+B:g:$ ٠OB[F1ȍ r\uޡ9C}@17c0{=82X$.+]^ˢ`aݤoڲ^Ө L"OTc)no{@ٞsP jV;Ae,{Rw5Ei]6G痦 +;#Ib(5cu͙.%+zpo>1GQlfplfkx@t/(4K6M]Z"r%z3 + 7tEy`E$"5޲VE=.Cc5D8Rë3c]TDBQZTv3C$F)_LlYId ŅeK^qMsZ.vk\'NIAc9kh" 5b<4aFAD$wn&35S&NbQɥؗ^/|ʱJpў3fwHxfG?v]2Go|җFGU>+'ʗZJ)W%~t_ԗ9H7銑{aV$٧?7f>eZO]D/pOhz~j5r ;i?;bGx:eÔHlA8ߥkQe^hO88r=Kӄ8я7HrQ "g?g3Ѵ+ XTjّjX|ݵuB_tOH}>?ꑻ>r7Z-bݾ!E=ڑȿiI."lŢľ^9VڢE$"4>k׼ՠEF<" ]xH4\o>e#ύlӍGC#dj{LsG%K%;ʭ3ϸY!33 0Hg0 `:,3(Yz`5p `8,@B +H`X`8 "hP 'PpxWE@ 4H8440 q-xƃ_:8UH+Gs!"XDaPJj9jɒ;f2hb! JUgv4U%lTLŮXp¹,{GI:I)kG*k۪[*W,cG{輮RM1"$3ѝSrwNx)Z^]$]8PKKjJc䶑 6~xDxPZԜGLN__kAI;USÔ9cL lMNg2:Ge=)A1s:JGg I>2D E[2ܐt$wP<,?oH(2%Gr53=53F$"RQ!-j?aʾ# :D$"(@9!"р*OG$&TH  wRpo.xO [KSҺΣj"3aݕ55X+ ohNPSyWT:ryG%9J~:DbDܪ[z$;k)?l{~D͛<^gf?)pIOoݠn+kZEOck*3M%O^RݐqnPrL66wQgښ{&d+L1 +j-m%=m*T7j[:[;6InL:o>2Y^am8M;)g1RZ6\}dBn~VOv)9Guzt?D&c># &uӑ&iJU;x&;'?*Y206Z%oK%Io{ڸaA X,`a THsӃi5ooHmcڵiLKu_BoR8 DH@e1,0 (3]%w٦,kͥ\wc鳍Ͻjͦ r5htQ15:_"铪O۽q5xk>̻ⱐ-62ufәuM/YPҘ_܋s! +b(BY1`P/ . yd{ H$/ ML6+&=iZ^oeUw2O 8QW |Sz/oci~q˻)aL^6<0kU }spK|-$-tUkh(^D'O `SXsxwcrV h['k [i{o׃+=%``fׂ.+[P͵C0)>ֈ9CiCCE.7A>/0 M j I>腲d|sWÒ8/g+ϳg~Pj6ͨjEΎo/N[afWzmVM!#H0a + c +I)< SNS3\y;yi r<( RIK-PG"m_ +QH| oVp)إp@:evzyF3P|cbѠB, SC"pq4 !SAj`,)MS(VS8ȘSB(yhu_LRP̎]R KAZ<8k{#YXc)ަ*)SS8qox)oK!D- R t2N-O:kK*}~ZkT +J\FAYD2p0:pLܠ}||E!xsd(--{} &@5>A[>!rP󉚷TW&Tnc3(ޝeYS1eAtn~Sån6\S Τn:1_SE<,CڜtԢ i^`TcC(xtt6X۔7nS$4{J4 7 X y6CǕٞFÌ:iZ_9AB^ 1-aJx%jaXA*|}3֕wvP`)pRtU' m|f@=jqpoeׂRH&+J]5!iS>Ip'bq1S:`E V%3>e.R@5%GI`)kJSyof%]e#D?0 m,*PRՇ5 g / iq9rɲU/Sxen[^Yd؁P HhcY /F+~('I jI՟r0 +dP4X̅25D)vKidn"'-6eY<)V@Ym{/;X;ɴ܆c1p#lG N!~˞=~7*3f:02.;Ĥ=υR9P0{y#OB4fRj`7ܐT`oGFX5;38dtd?0 +xx78TIZX`d8g BV}t̍ޏa}Ϻ).jYYw }6|lR7(멩UËwwb5^Ф QrܦxW~őLSL).lUn}Ye GЧf1D-:+nfwK;)a^;3~ H'&$YӁ-2¼kT[6ʐؖLL#u7e줺e8~We8ÑAC#[](>B>dлvŏZ\+F\<# ~  dQrԜ=ρvMvjq1FD̓23:N U.;gwKOEsrڲum3y؋2I >X#~%fPpu"Ҡspw]qȻ/$.%li_dښ=A17Bb|c9i6*3Ae^[^e#k0ly7=V!b)f6sA얂7~&Y>~5Tss#/9I;~7 [YfB*h$[JS\ژ]/̙GH3; @5AN8 &)Wė&,C> +Sw݋hUc6Ҽf.C/ Hd>- \m^e oIFƓ1952ۥ~wp( 4I2Am* _?;;[R04\8sZjHwI] +dSqV"#EtuX9[svddmvO*Ӱtﺥ^%Ahަ/wp,̸r酰Oٳ fl +?έ0*[htGρfq\M'0L`1 i`6 +s"CҡI%BPͧ =:iIBe @AC+Z9=STӰU?Y_I2(LȊ+&" R? +Z:ZrLNH#<5#ڦ,Gw0DDzfP9LXueȜ w5w<ȾkmQ/ɎN :g|D\>=(ѼTyCuU38;i_W7_߀u`?d8 #s_L S +;c-߄e 9 + [oӁ/nѿmkmJ4N qCfkca/#ґord m|9MCRvJXYn&r}=S&#C*YeὬ#[/=h\~KDHu5Umr̴aK- /թ>9&~ŤNv0־;6LJn y cP ' f)gX; 9)kG\r`Snj:BRO& i!AP=Z0'휞6 joYSv'QЌd=aF]C/ +8aI'c"O%LU@*A z;m*Sʓ}Lmo.~G d6ES`8 eӿr #=oP]/r@/t47b$t }Z:u*Sqc=FX>VUU/ g+RPV^5Edlgu .Byxb*+zRȗv 1>S$$Pbܚ4Vk66$)RiXncwqE)udK[!ƼV%O481](SEFBTM +>E⨋!$]gj2q4ƕ~6 +x`~qB8M'KZUvT{y'28C㲍V V<-oa̬)@g M499j7;$ E#ιiCy|hk|/e2MuEHwg>o1(4cĸہ {LtTw2Ozr8DQlQ=H +y=?w?W٦_5O9^q8V&2e7aR"\^nʾNM4~MϜ?Fq <%IrSƯyX!0Mҝ6uyW<4hp"p7+ *6!o]3L zP̘855 Mm2 "K,_WhqrA~Q ;u9Bmz*N[r2 +#k fH= +zYL@9{3&dH+vS1ƽ)JI1!c*&~?0غF69e\{ڝ{dr,(=ĩGV:.ànICZCIi$5ߐ4w]6MJ=}EU7*r "^۵5sB1'WiCL鱥w L[Y—<4͂@ +jTAPDa3rXzRmMsw"LBF58mnshsת@į`(WE\o5fA4ryʔ./(d۸PR;CYˑS3-$<TC4 ~ZJF 'p@>2?5A{3ȝMx",0I0Uh˕%Co"p?oڳ؉H_ +Lh=CBDQ7i*x%*'*V'7ͮ- S >RDoD .3wCZѴOu=1'9WS~X)j'3eB2/tI,4H_Gԋ8Kdp"vWqЪ _t>7,$vJ$Zb6x̰Ӧ`uDNJHr[X0s"V.TAB&;ԁP[$$oXpSb R,p*1/Uhav9=ѸP!ȴ,ڧMNdwUflԌޯ(χ>gz֕!'>!(k $,S.WPm><‰VmWhw!`s!/*($0bD VHÖ/wZ8SRhfXX}Q]C6Ft${٤j''(={~Jq9qǝ> F&غ(/ANĉ;$t]0a0*89i(=1姲f +`N9ˮ ꕭX肈]޳<ޮ%WVJJ.ߐޠaOTt$@s;Mޯ /$$K;`ݟ!4׀]%eh~-φ!~Rke]JIdn'm5 @hC\3X@b9Kt-aHI<6ف?qʤ Ε$/^kq"/*__ԥEwE¾%GR㮇V":kOLrtulobz~._Eh&HNoMGÙ f/m7JrX_tI+ĭ|jOZ3G1d +H{LF';h+AmŅ#'R>JVT6\9IyCliwXwe9X&QmKpz8urTX9p,,w?Mgfpz(=^Uzh X1`:Wv)D) L7?s1D7#QV{M˘ٻ +}QiΉʨ0X0HcsdV$a0o+a +IZ_E%e?'^@wmR?:(\`Z ķPRŨK+[VF¡؈9xz\z| \H{ CCznwRF_=A&fy_k,i8IUTd~Hn)[cB?4Ck Kf0OdX肏N3cM%?f_/dЍ1ȇS8~4Eix m]FJ#Q۴#-I((0U/7'BeJ(?H⮓hHԫBviٙNz5(g'Þ(4<ѽEnHgNv$H_/u+#!2i^ZH -w?e썇^A;æ< }S`h(]0 ҂UC +O*&*ShL-_ږ8m +(eu2 rPIhjAEa/*OQyc= Qԕ}.mʴ r:z9-3S+9mxqp ^M$̔Mc9WIGSP|!4gFڵϯ)* jILTFLi J0R2\0?":MΖAI1: G+ߎu7!tɸGz84rG#4[ VK2Hߖ5G֒ BO_j8 C| ŒڦJH4>xjJg[̂7LKL'7mhCtnˠHJT!_437oBrDz 86]Vn**9rji٫ihzBxP&k\;#P-*p=%Cy<êX.N^-aObi~[h4&^gsb!gm +i޳@RZUe)65lǺ},%S{l̪}jwb.⳾Y?0QsHG ~(@vpNšG*R"\V#-*& +,A*Ͱ{r;l淭9߮zE5IY٦yt 66sʲW7iN#Fef?*2d&(QJ*;f\}ٔ\6!74YQg~[?@Ljp- /9ߌ4}gC+?PvnS46b;G/ͪ f#T +  >PE}b1&9䓮!4z(Ri;p;0{UJOvx+Po2D.̣܅lsaΒ؃A}.J*: Oڣ];cL@/'L8Z"uNR{$z3~Tx +U,i.O $FK3sLhͫb# EӒ6O1֌<ҐR7΀إL|jZIJ[K69( +EpU4shb1tCƬݸ &ξSGK#q,GA Ha#+a!MtOW#h>u҉|YӒ(NMsM x@)Ii38k*j.ruDc `FcԵ8' |dSr 7FZJT3ZBLJS,J9l9zvÍ.nZw{ݽ<yXׅCVAYA-ֽɤG$d~iV`NVWX 1ty6 +5ZX%(9ɤ`b^$fiC|ݨ3"5'(j&WQW /| +<ݾ ^OGrAWZ +d ' @81{Q Axlr_ \znSU!MxZ-K9X582 MM^myM>zֽIdհQ=>D0# ?,jɘs6319/aBˑ2Yj,93 cM(k1 I&Y[jNh&yʊE\u)Wx5a5ۭL4sM4EU&ht#rSe3⚠J- /sW%cs\ҲDLo;g$grb1F$O.eJa#%ك#JdcQY>AuA^8RzEgkQ<(|mhi3BV FM@uoQY'j +j& +,/@2q جZۻNz)%{Y tᖭm^Sz_ڥ +5#ô uO;ԜhuM/N2 ):rO&)sBH(4*EQDNFS6.G2꫃oۘc_u9 L]HL#gjE,} 9@s/ +}ݔ؜EBQ~VʾL-= ȿƻiv,NDWj*+g[?ajI9 BhjHj_ȌwlJr]%Yh|/ +U+hdb!0cHxD-nJV(jIf:j[[ +bnG$KFZOv +`|CQ6R _Ir}~ѿ&n/"`쉠:; +%C"߀B\@Ui$d,U4逘6FYjDE^%;^@gJW`Y^b1DOyFCRPOǵ_"C_,k_G El$Ңgv҂"=<]K7aUd7b3H2n^$.'Qgo/S?3mc(VR8֚g6Xw"$Y(A ; N=l&B5ʘhVB73ۗ+h c2Ǔ71N&;dpW6=hܘSRI#DD A9 6}xѢ pCWܣJVIpHWĸU uJ7#4N2 [k=e~i^6حce?ff9QMrdj X\Acrh- Ch^ٕRfD +%U4fƄ+NBc)6n,A + 2?6ECPUSW}[ )od#i$W˵"q:y"aI"^jsG;c=N@~`'Cw@y ! e[@q D7JtDJTOxrd>A|LrL6 TFTU9 7ֵT>7jX䖰Y$2: }#JQ +q' -t*J7r,w u$>U6 mD # x@A '"`e3sH|Â#Ana o#q@9}zUAMjSMUb(2?48c>V:KČ0  4T*QnY}{s:P1,_Ppw}-8$#96V$*f1b!At"xα!=a;(2/k.ZKt0dQ:J,( {ȝE(sx +,2aq5Sz( ۿ:J$"C`*M!֗EފH`@d![!Rj)2 kmvo&U-<@_} yf eR+xbLx|=Hw yO{  #w&;JFxBF)th=ZP>ǡ E. dj! ;\@AdLh01Բ`mkם-)|aU +"5kɵpF*@Izp= THocl*>xZ-FѠ1}= }%̌my@&<+?2c9w^/g wE\};p]Oc>bS>#g`YI^ pÊw#p۞ˌm}st2ey'tTj&шYѱݲI5a]P&^Э!%*KP@ǀpHPg܁B)MxBk †aNCG{ 8GV +C/g_Asq7E)=hoQ{Z>'`ЅK1uIL0& &$oyW}L-KzFZdOlRI3jz"::Zf׊\ dΪ8g_nJoeteBAW8oe4=%K ?3F&D}e-9=-uswXvEb[e]QT`|c6^"9;(ԨIa0W5QRJ(9 F _| +VS4RNj.3k`7LT@#42])ooʕX* (ެIZBD##d 3W +ʙW u?F +X~Av}G UmsM| %ۖԕEdu͝Qra@swaAg +l]vpxx+SVτmOxoPJ"Beylf0'@NFѢ[FiDgOJRth(}Ww|46)a;hPO%JP_IMz[JkrFĔinsHv-)NWFl52븄+=JoLVA.![:C4z!N>0F$TdnձА[CG-Hf& H_ BJ4 i`hsKAB1A;hrz>:Ng,ϏMMߚ6Mzi|-`XbftΙHy3L 63SU=C!]VuSs)kynQ~wO&"熵(X_@Xm7gB&^7mG4}|;KsG#O_(7],*`EODT!δyj+C[72\{8+@iLZ2I* N( +`"?q}xJ6TuF%9Ęu0j%_q:=!>іJLSjeA(tX&x7[];a̹Yp0-!䫸F9?ls 'y╾ΡЪyX[&m3Bm|9q/GovTd-A;{=Chu+zxKF5Etɜ9SR!FD&Rj|'RbL b5 #Ӥڸ\EؠjЁs  VfGNYH^cm}҄~\꽟#UR:OT1 7f>#ZӢW“\3+Óh9fNݠB Gfjvw浈[,(Go؜gb2 +XFlhYVw¾C*פWJWA yi71skΖȯf^Um""},/A+@i(GBFpm&}A}L墏ǧ}8x}|O +f*ƍӉ})5(ɝLſH}l1sDh.t7YyP(h.EQPg, 5Ԍe +\TDؔD#̾( ڦN> M!ӉmŭKmZ^p߭aPL,? +z$DWcsֶfp,;@KT$ 4ФPAb +,z::׉q¶+R/N&WB8}D*fdj(Du%5@QUUXWVa"E ? +"o/rEs<{{}ޜc/r=w.vkqyc(nc{3ǟキg9{c>bEGϾ9\k7c>z"k1[q...li;|z{>Z"ǣb]uu;}<8_ǹ~wq34`8,Neۖ'y|Ts=wd)ݪW_v-5-zǼE9!;=RSn;+ZŸcw9y>vwĹ=wA\W6JKCwc5]Xqgq]b>k!'Qkk?޽95aý;uuF0cApl3CXݾw3QߟCh8l_-+{ߟ{-rok.w_ww߆;=szϿv-Q"_:_yι8/,3a988oؽwu1]Z˳Y"|!__í{oqb݋wQ>G~sǘ̹9Csy}AP̾P??f~Q{{:ᨵ~{pܣ汏]wqy缻r;E- jQ75G0wZwA yzo r19ח,99y{:x=c66Xnq7xهpű̳wÁw7v˽ߙ?u(~f8cq;Yν7gޠo7spwރ#:#xQŜ3v~nkD3׏ 5Orkgem-{;9߻/سk7:{v{5]sα5:;p(<1Vebc{Xsw;s޻;{>̙s-!A֧zo7[Zk=v}'1g9gw>}{{Μo3=oߡv{ػ]s?]{;w}w;\  5gh 5*tհp 4ZQҘ7\c-lx  eB5FC` qN bta(( +#Wx}>GeTnSհ,>HJA>Ҁk}CeGӪSF 1!LBERR R02gԑEFEuˆDaDńP2 6qۤg8(B"< :$+VV )*P$$ +RD `ɜEO 2ӑ]"XUg1Zg8ē8P92:D!@:'C!WA!K _6uk  QҨ Ď y`>)tIk,P]4OjɼH_%x} }í+:!v-,B*P^/NrbI2;p%TSȃNO.:^,a8ƃd*gY,'XTphg3&{Fo0mb{g:W1mBOB+i(RF/Uuyixaa'$BKeR/'-^T(O3yG Ly#"-|C y * +py n ut \y)*B*@ѥ蛗@>a#݈5D!4L~h:խ2'Pُ iG+YP9m<$t@n-7N=cTdŚy@=>)yH&d|>aUqxWS8yyFdV˜.qk(,`x0<<3>%F>NϬ!<Ʊz*Y DOP|M5Zv{K= 23;1ǁƐH$pN-pp"J$h n tP=]GvvTI3ieanV䎦*ؐi!mf+Kj6R]IPY+i:\JEPV-Zkɳ֖,[ɜWRNZ-) q9: Yu@nf Uk +`Cv6 sgIKs4UEm&[BYP+OZx:1knoE!]$pyTMNj„*`R m#iKf(,3:(cl0PG#r*LΒs!re޽N8IU W TRN^34P&[+'9((j߼b z6\LڵesʩXKA+G[ ESE< ҙAfUph,%{S֒N) u +H S@0& )Yk&a5:,Vc=P+L Or +:M(* +of"C ֲȪBM +j&%cp^_yJ8Ҁ\ + Xj+ X5[3J P,jVj +Bo(¨ +Xh,YLi%pY+ T A%KI>*֢D\"[/)|4R>k&"]Cm촃]By'3EvS +M@n`  :>3p}ȀG(Z6RjyQR0hH CE UHUlZSqd +*#YMtp[DDi C~Fff +)8el#tn.n=q@шAf3 Ax5<,\9oU `x^x0V5ӲtTp$ϡ\ +N#mDmXH:ُp٪j fHۡFN LFhi@ ˨ } #$T '!/'j njp% Xde}"Ejeh*9Pqu+ 5&$`*l0=l) B:(,áx>NIϑʜ5\L&DDu

;EC3ӭ&˲)+07%?Á}P7J 8NZq FN:Ig(j@ۉIm$=A%T +lBr3Fd BFk~Wo-|X2@B\`ہTKpz Lk$ d 8 n"@,Yd^;3ELۉ@d M"ֈ|O!ZH(  !D99H 'p 2A,m&#OL_2]b8E8,$w cVjHNd1"2 "` Vu1jf^kReǖ8[❶ሑ%f.{{H9FϺl2#UeQNub'ʢ\OHј(D9Q'pH!hmK@ Υɮ)ɮӥ.;KkF |p`9NV#/K:,Bau2cP.1pp<Ac5>M.a,sc,WK y7JF·"z ARוr: HTiDkEAxƒan I&ʼnxp0 +RE((=B+P(XS3Mjٕ2;r˄vBJrt$f?"أ +'|$0+{"p1WoLxcB7a "CY}//X'oLNބ:F "OXXy <ı%f +>J\;L%Ν>-{xeэw|F (_DQlQN:*6+ʗ~c7萂hKH 2@XK b-׺4Zqi-y4ZP?4ѥ+>4Czv.>g¢Áuy!W3Z:ɟF^`'FM'K#e4" ΉvW1!ʄ̊d-B' ]'CZ x0yWǭpuR ) J<@~O>׀ sR +YCM @Xr.8>a@-v" +R)E#,Opx_jxR#O߉A@&E،fe؎|̇1G!lxiM nn.~K[޸ZkӘpkPa14&53.!Ȱ #%5LX`. AfAf> Gr\uFǨᇎQßD 8HzHBJAJ7Ǧg8-p# okZ8@HY;}TFoTH$0c{g8ԑ?5TGu̺-uٟО&D>M5Ex*ubVfboerѲ@ &E4.: QUapqV ԰44 Ulmehو* B#L͟>H"H -1fI8N֤-qa;},jeQ-hQ@:-X'2I6Z8>騑W&y5d3 T]\Ri?!҉X N$/ 7)o&Ț"_b>A's >E~>>q@8&YŔ|uFH' B!D2+?U\IcўONq$2I^|]c*>j@,iXR9}q Q aNح +o tsqYȄ] @Lӗ(ʃ%4׋iF +C#%D)IjxsU$% l`U-Hlff +t +8gh%/_ճT Yu qhN!% FIfY Dp80J0<:6^?7py|V.n.,juJct0O +e2ERVtXh-H*:\E_,PS_BexG kJ$cMMk1j,K aL2}A!YBg@ĄCI]*U, +KxV.8G} |k25I,P1ī2E5h& +DiYWuUxDup/@  p= ]#@(4a@¼\"epX+ )vk$3y$` ԰0$8[ɂ;C(gv0ATߚ(mq4TdK3B8 +!ֱ8 6|CZZxX&  ,uSPF(0(A#g8 1 V͠R3&x(a Og8A$S>-AG? pɰ +3.D~dd`rSBq_{<ؤs)ŷyx׋0ǭ[&'B)t*o XWpQ[J%\=AokLzg0NLJ4د3$tdGNXY +J>x兀Q <Uq"1#TY AlZs΋A6n,EcOٵ |?"+ ?Á4@B?(X`u4[ +?b,_x d'v(SS^"VMᆊKp(R[W,e]?Á%)Fo>U"i $TITA9ef@ #0  RTSj:\:>(X( 0!1F!dfjhR|xԕlX#u'hv{ iOvZXmr/VYPCpwr;Mz`%ВתMf`AOA)[1*7#43r$%]SHX,[z1Rv&{*p?Ř63y- }͝&{Mq9(X$x H7 Al,ܰw}|.FS> gۺ4 ovU)Hf JZ]!¸S^&9)ۮ)Œ׫"hD'E$C$B0x߭j|[ .39'i:nL^$y;@vFxњ`r`La$cgboQ~}/ph6XΈ +H ӄ߾H oA!vO-?' $ 5k/1N/l}6XRr&7Rt'c]7'Ct~ja[۝ +ّV8i+9 u$#?6:mBTY)~dN(e] gfSPžwӿhäT!g^Bٲր DcP~.݀hD9me^7 +[@a6Ϲ +Jf[QdIQsJdDEb):v0 88$MUGW>Wi ϯlV*Gՙ nb_M 4эX1_a,4RϾC΢qح%PAڝUɊWRASU|"Dz]/;5!),4Զg#d\kG$SapD0i'DE.Γ;1Cn+,ӇebTG vqgiL<,=upD?xb#n|8)C=† )Uð& ikEz3ܫA.VxkKpQ,H6g?J `xE ԛ=))^BC)BWνNԊ 5wpDyӎЂ5 y@^Gi X|K˪o9pk$b + +v.TS)O;ބ1e1u,gdŧ.vxM v8,<woo=4Z8,\e,,%~ &3Nk]~p?v X:QaW %j t~>I[vo.2'M P"teO˖竲6voƔB ҥէ7]HN9 z.^ތcၵtla8;cGë"9v^b`³\)>f'6;..z Kb2vEpŌqR\<+zP) 82Q$gl*z Ѝ(~ i_Uo?aA8Vuq#. Q Vm{ʖY0[fZ5 N7nC +vY#3Ј1`AwpQ]U  H#g"WbjZ[qVMs11ᬨbшR\ \'k9~!t\u]|;RcHĕM=ЙANXu[RsH_FaH:TSXeEs<_ 1yK[GT}aP򒾫E2V׀S=_UgH!tK-dhs8vbq E(CX#L3M` /g#[1!L6Ijϓ_-d WɚlnJ#/GU{9I_隘ۓtŠ:B4ƂPmu"x4I*uyor"A"ˌavb(%cGUewIb  Tؒ bqtX8Oꞕ iҰ XњU0C^J.~+ٕo urt22p(ak&L = ]ADݗd߭D9~m|͉̌Z, J"&oUhI?9"*fm2N.!5Rn_=;j8 9&H+2{zh) +pO"WTa+Bp}1'z_y}TpqTjz؛$TB>`}}P<9*|k.lVk( L<S7P_li\; k&j =AW#wzfZĆk1EXս]JpH&t61]韱:8ʍ +_=n VE^pp̘ƒox82ڑ*cIkcyկvvjw,8 +2{or\[V2 +UMT84Kl 3΅7좍%i*!RWC|r(8Zz#cVKxUŇspPҵaӆ.w4rL{wt3˄}{S44D|n!YUk%aI%4eG<甘g8b|}9\27c3}ޡIP/`-7e /.K<)d_iЂU"vQkQˆW?ʳQP$&pKeEͶ V +1U+xZ"}m5NLt\nA )ű{۠_f1Tв6Wq5afCrhf8NyaQUTeᏡ<9T+logPo +Lr imЬ(_aKic>A aYGVS7WV]|25hVPvG|8/(E[3 +dB;2l8EYh@ yz,؄2j5HEs!čc`sdb}^&nXX| kQ8F n@͇gCN:oT{= 5U/AԔ4<c% L{AإA1x_p|7VS/ X2齬 3f2D9 ah@qyQ! +I/h#k [,[-P#&+pr鋎6θnA^^e[=`FV |q=#N[%MGnT,E0"x2R/\C cj/z8@JZjNbҌaH +&nҼDN}cP04$Jkk*[.\ +E4FJn Wxz&UBC>yrX.-^aRp$T$Y w@hA@t/Nk(dq.>Dٗ~Y"d#-@DEm8EM<% yI,U> +z:Қ4"]cMT$ O'ĪY%)ti*<^K s8JԥHӧ䨢D9^P]2ae95QQ C,-Q$P!.PbagVo2xc;E!.8`vF۬{H9ݥ 蓺:|qjҷVN0>G5+8ٿ1Ts4qeX[ۺ%u:~Ό(F0,v.pi H o$X#4~g'' -YFT#f۪mN-mKrR?H|%0+%lmn FE 'w+29 Ah lzaQ9DkLSU*i}`8wRuc 沗 +Yvtw#69l .e< +KT +n MR7Mps˜l\`"$g e"pZ4A,hh4Z"Z9wu6k; =5Ln 32j[u&wHÍ+rs9)8g\[EYNZuH:NaFxIs=A@yϓ+OeyL+P*/6͠׋%<%cLHT[?̸{ +(ϤzуzO*%B[Y0wَZ2Y"DE] +e&zig{~b/ ٬;9>!1j& +\+fڬ +y\$LoUf嵚KTq/?5Ğsq-0Bׂ#r4jƶd 詿J7:JeѼ1K撨@YM}|#Ƭ^\ w[ #ymq玨 u#y&IِhԼa +-o  CϬ&­- cn?*+KW럦}NI->脒+5 +Rnxg0;ŞIB6 +]lF6MʁAA7 (HvQ}h~裥j fčl$g4BT^P$B1o8ɡ5gf<І~tebI$ ǁBWJ&ykk4*DS#[}3h~VQ@X_&u.r~0!A!s '7."1D$6dXo6$9~P hp $^r1ū0 8\?;HĽ}0E >9HI;6h;@afgXOҥZͮsQ U(ŅY|1e)zSHd2f`g;lDL$sry|6y<_B;e"NrD"ec̨$_AcW!92 wIp8WR>ai)zJ"*A,} o`f*Y Dpg:-j}NxuLoI輠3P?9D9e2۵ Y jylYB+E64KOXԆ?X*oỳc-UWc2g+{i@# ɩ*~")L}˹_0!T8p&lh&HӽNhzǧٕ> {4s:w3Rxn\J>9-}q18~ޓo[%Sӓᱩ>xj^X,aPW, )q2A Ld Rw3=.y\:5gQ͊x]#j\jCd +L%rg͛\kq5IL0PAjOF,)>C Z9 Ax[s^U.I.SykUt /"JY$k e7'ED^MpR-%)k|喿bK0lXx1˻$?GiĖXoZYL%7Z r {b`d|NLjhE*tN9}3OlTIK&5ߓ+wG&ľ8SKk ƉϺr|vNU: ÁF pϭ_V/Ju.FB +4:X4]`$R,&^bAJȇ):${씀桽Y礳#WϥڀGgNH>iU+6hzTkx1u OƛSb-|[OȊ{۰S^?}56y[ؖNҴ}dO6z>Wނ20{d])G>a8^C\U/0 +l%@"nke64z$ ͂!jI~$p?%܎Ѽ`z1}-a0Vpk>Yz= DE#VRcZEi(bzw@WU5RCԴ* ul{*)9Byl[Q5 , #\[$1cAnܸA8v"aq +JjDjF軐.%X̐T)Toķ1ӄbG.NF~zv?QgO90gS% }һf=@YD:MN"p*Pb +6V sTkI%%zZHvQD-(dH\PԤ9镦6)hN]h1QDOE:f'3r1_{ "iĔ,B0;,Εᬺmw)8LI 8;lGW}*lR"Z%5b 7ԩD:0!Hkn΅8i|T{ȉx)3OԴ{Jۈ$g#u1UMmOlSbme G5[P uaAD? v%cPF(6ZPOAXE ݈oaP9a=Wg +Kpx%& ,CJY>OH*uKWT'>Ii#%?,稚1mͷ{tR08egMƼ%v]tߙ]t8RbZpb:?L3jӘvs>ga@ Yѫs9 tyAc.8 Ogre出!/#Z-NIIgTE5$s +bx ( 9*!/j);LS"[k:= W$SW|b ݬvq@5[߬Wk2J?8T0۔e.Z!*N?2e,ggfJ6͎. .hi_i`-hD #Α_v{wj68%e&YVRu;YFBDЧ\__=%ƧaуYj#Ωݽ"#VnOVob1*]vTV)[c"@řJ3D) Qڏ|3yL1'Tt;0S3S~(}4hd+$R/W_6lpM+ܼڪu3 E zwYRU±C04QW~NS.K|eZ垗~Pc@f@'0@H!07 +!I^FCnfG;Do#EheEv@[~zg ?Vc\vi'LEܱ[ʔlI +:[L/3h_(#L%dGDOtx5ƈ[^!l$؛FrpHKcLyܤ(Yg?ȼ VџE-.1̰ Ec W0\g J&ek ɦ]2&of+p8˩4˵:iz  +vSԥRE$D܈=I^:躷qװ6}*&i z׵ɕLbioMsЀlm*5Fw g6GrUMko#hS;$Q 󳜥(A>m7TgrYhksv `Q)v,RUG{|o>W;f-=^p#:zLQakJ4 ˋoB +t=j^%{"{_ #n7@L`Ņ˟jvC A3aq@oX+c9qq Pr1X^OТ Vl`?~&wLmyhJG/ruҢkxhCY+o_{ |5Vt?ifYwT0o7D:zS c _rtH$~V6ldSejiX[' rODx1׿)/1q\lcp^B۾fۨzp49`bo0 LEP7p3Vn3"%Zy2ftz=Yqp2_r/APj\RE*z*H>vXY`ެIx~sx&g !7tXa!a_zwzqmK`عfQͩV ܘ ?tbᢊH2.?W)OAlCmϧPqQ)ZY$&"GS^.~guw4} Aճ)±WkfJ:d#4=ӟok2yMT07-nٔRWd< qƋP^%hx;#TmR `6}dsA| U*G5ɘF)г6H_${Oҭm +iQK mx\+\ZvJv { ;‹?ncΦՒl3Wzd;:=PhiWk/^&MY+p4hKyX.Q,! #fc7S1\3* C,i#l+ѨYy8Ѧ`>(̗ #[1م5r }顺f7/Хp Z֤Xߔfqe'X 5K`wf2υ^` r_)(ŏ4 MLWZ:6Uڝ +B-aiIqĚ0nm!mZp&<>= *yv]G;FQ#5m +ƌ?&^}x:S<9TU$ Uନӳa0l%gt_ۘfBș2kpe-+q ko~) $WΨ6w8zE_|PO%\QEMcFfbc@7-]k ~9Up(Q;vu2|5DE67(R;QvVLvUOD`vR4єIg!zP~&y fʜF+|]%Rv.{lHn(a([051YՓ?ݹb&(粝Q:,Qf`Re~eH6W7>fDoS]H7AMiݦY[ AE +-=շ' X= ʈ'_ +(3T[ա!ߨn d'z4Gx@}fHwt1XN +й Ove*u! +i]zEyPWb" =zPܞ@50#ڛvs2ኰHVISul|ceG 22zӸx7LʶC|g[9Ge}shYa6kc3JNgXds32]U+9jBjëP\t0I +%"W~/{oYO?|VGg}+3rIKXҴ;(xjCWBۦ"b0lf + +P\ut".!ͨ(B `[` +wd 5B@y(]pk urZ-a*}W~oSc,'PxoFElNUu=dcT(ju[[v:3B E*X. "TZP`8$V +C2#{dwBFAZ{ʜoFcЍ]H._t+(QQ-udI q0oo<((#$.#`NE yAg!_+>Ľ戎;EIBh>% Ba-֢5hzѭrkBF,UN,o/-H;*zay}}" h=/ԃMS<l̓ARfnO&\鿨!b@5wIwHUc* =EL{O +*iC!` +bCHn8@׻oJ]ՁsԫJH~~|{`U..7+D8E:[IŠ9%Y%8{dvP!M”OKsyhe$KI +iaZuyNjY?2^LLِ#,ZRmiZBM$ٯQ`S4Rkd +i + HiV<OE"QSTYP2G\< 2SH@A^.A[hjVWiv]PHm`sYcBkVÚiyR*􉶯kXpN'G4d)h.wyE2aVOFxea@=FAUά)w%`ȋ7z Mks2O?3=2 $wMRwдVC~z-唄w'疈H H_0lch/>4mNzso(g6S)(n.%S7XD[n?s^4pB|NyB89J5x)~Y MK~h9: g=T`m;zM5(NjՔq+UJ@iB+qd/ ~-+5ryJ+sI]RjF=1o|fu‹c0#;]|]٢3Ol¡l.L>ɜFX!i|d{`ƙ) LSDe6 m2='R*rjğI-a9:@Ch$X.pěr"6Ai.:! e^=_gRD"9QS%O+H90DE9bGkr{csY +endstream endobj 17 0 obj <>stream +7p^AT&*wUfIZ zޒJAQฐA*ͼщ)DU@ ]>63G ZicLٌ=~Bm9nz 03[ǀ` f|8vM܌H~ۣQ ͎br@BӸ:%вC\0Yj?bEXlE'("tf@ 61F$Ly O5OANZy[܊j P郊ۻ?`[\@"D$ؖP@s"ڌHH,e͊|V.Q`zĞP?yV$Y2H, E_1=6~(O<<" K2W]7e~KQaՒDa=alCZ |>J#] &::|<hKb}a-p >@ p!9@g_%GSN#iAW֓T9Ul l3jOKӆcgX k/eNGernǚHs!6,! $%?ipH^]=Ub:=؜Z\l͉L)+;j(t^m R8K9֩`Qf\H5Qyx${<Τ3ݰյF*2 'gk4j*qgc>/p5(+MwzhBSC%/A{?5S?8?w+j _}(mojeP)9wq8zydnQ*WY2U*V{VQ5&whA$bm +XQ4NmD'"Kq|wu] , ?U`y8`wLI$}Sx)JH"B<Iƒ\cc:nǔ,߯gpEQ$OX +[3JDx7DQ$KDʆ{'`5 &Qlnܴ*2@ު@pϹ:hpasҤ&0ox-Ӷ2a̵X(I=vf=@Е&i6~G{s,鷐K̝֝lDp5NRX߸Ц85>1"%*V(TW_ܫF%M 6~TyVQHfN5}Ig4!n%qQt1hқf>N9Ĺ}d5y=R~}mmùA  r{p#N[ жyac_>C"$fH(*q05Ta 0O {(5Z; i ̽ +'}){-F8m\.$3*y"tAk[&W=X`n)Iu_˗B~wJe7S)^=*'/I-@ Qk tr AmE VOʟƙ؂K}xjglSۡ?ӯ;ˆ[JŬ0f0]wD*ODrP!Ix:#cejE*R| &OYj> V( lsC'^:1S3*\H4քZl( mZye)؎SHVd9 I آG:y~jA(M?!6J~?<v`NN!xڰ!YhKC0[t7n$P}H% }k(ޮw$`tUlv3"4oS2@e),4 ֎-̦T,|du_/o G @EYJ`&Cgۦ#.~j ;7GD 4R | ~f$7?UX9L+r +N@Gmk ;`O]NS O}A,=5R3;%V_?,N79+!Q6m)jrc 9iy[f:/BB6pȜBzs"^gg-@s1MЦֲVO*bɟS0yu;c#-^"JORxM/2Kjct۳ӫ =8HL0t@TpI'G7?_NT7>֣פ}zkh,i_nhNr7_3vdeT{|lb6/V߁K0Yj+ (xΜxNfk.}n #7I=d::W܊22-a4ΖayKXK|D[P= }G|^[Wa- M7 5}w-YS#^:`G{1$̴JLJm *5Y̢lg` (EɇT~Rw\ v<5!)=0T^ '6d~&4'l:^01=vԲ"#ԏ3E IYZR5XȷAлF.)sQ+E|HGw eFKDzl7j:h5њf1 +8'(o?, 9M`Ub EsttۂzH]WhPbU[_ h +:iyVZ]M$!3\pALٚ&]rf5܉qyiy x +*@ZGlmaM-'&k)`)#;|X,y *KvMa(8U&3r/aSzkJl b ] :EX92iGzr:ph9T YS;Iʹaa~4`;tXeQ&V + %'!lP#P%ab5Ks f \ pIL*򣃔-HV3\+ïvh=C{Ó첫SDک$S!^0RT@rN[)ّ<_R*r*RC$Uj۠B:ҚQ2včи3KC[ wv_Q͹Nfj&>Hx~9(=jrN,D#z4#GAx[Fg_lŃp[lFI;Js&i{|{%awVT JXPmxUSlฦ" =Y'Q#X#\1J:T%+_ڰ6)kPKq +}CjW*aTӣZSO'"¯=O 2jbK/YZ0'U0#4BŴg% ,<1q_/ ;à/!]1OA{0c.w%t͘53w +z!Uw2A +KҨOu=#F{:JrpLp]WUC*ӊoO`V < m62Bi_y>H9>lSI!ZA}9 m ލ gf56JBføA* JyO^ DŽ }) WFmycDyj@>~D_#/_[L[Wq::v<-;Q[4Vf,6C |ύ%1>Y(ZWm$sg\S㸽a ` Xpx_dbeHPi tq+Ƨ8-_`- KPp"C{aNzHq=:ƛom3(Db+2nG`Ceο跠\Wl${-~`+ԥh+SNmrx>80#븃ZS F̊h`#JXBO[Jk=U~B˓@Oڠ' +9oj|A6TtYx@y=_"yw :v?Jpc]5"  a%jjAҔ$Xh ߱-@)/J=%({heSUV`` };O_Oky3-/:jTUXC +fgUuβʰf1 + +UE &Feހ5T嚋H"G6r^;c.:\ >xIPKc>X>ørZlXAIrn"wW5 ρ߲ER 5)O\Ǚ҆_ENiڸ׺C-ߘ /gv]F";t[3NpQH@q|,6p(7[ƅQ}ap dA.@+?'PL6ڻ+9־-unZr֪.Xfjm堥 Eؽm՛{[=*&%9M:p`+(2A=Npa?`\"[wW@b7 C;Kl+fNqri݌jl%MIPuh`rM=|L>3Gz?@R- ld(\a(7iu'peY&sTв݊vECV%bR?'$gz "VDDD$1+@5 Ĉ`1Trʒ- PRDUv)pJxl6 +:N4jLhM/%A`Kj]a& iNP& fDBXZҹ80#SrMGL ,,9F1:F0Q"s#"8aEpZ ʃMʶH,6H$M*@$&*Wb;VltB2§ 6(`J_cyRE4S1!HHWxT/&DlBc2PrH8NNGupq8((L$Z0" Tr*APTJJX(a- ?iP)DJo<*Jp:,ԃ&L@l<36zux"[8N3* 2 E CDtqJR($>hjp:1R@} <Z +ՇQVH@aG Q09QH ʔp !F70\DNBryL4Їӡh$Ks2x@NGGBXPVDEpb$T`+&cs,qb~8oܸ>·y0 r(U8hrؘܨB9paA 0N Ӈӡ( t`Q5Hrp(IӋG\|8p:"y|8>L!x (y2jV6.,'jB8dZ, +ҨP0de!-QFi@hpe#ˍ‡aHR2 + u +*A5cq6FDqV&7G*P/e*J..LZ*J EX!Ã5! 3%SaJIVEPi sYTt2^$N(bC*=<1$tjTzaXTT +&6brYZh^`JG$ +QIq=PXࠡI}8Yҩ7ʛh% BYFq!, /4"JE)4@&{p: 8 VcRrY<0O!y|qq*)Ȝ^JL>΋dd,aA<:6P-!."0,4uy \$4\-]ٰ!`8t_Dcpcx%ph%NGbqPD:(<-g"G"򴐊鴍Sj$B6:NUEidЂ2+Pb ]&͇ABha$4|8}8}L^ M%= p>K&.ȍH:ĠX\T0*rPJ\6P$&yH8I%/3 &Qu +AQb0q&DHAqŚ9|t>%u9 x -D 1P4` n>#Hm@Q%AKu xa +Vj-XX#$HZ(HP2:jx@̧T N DP(lJU"  B"PR8VP:Q*\ et K|<72LLZq5:p sJ;htPXRi)a4Dc(" ~ r`((DH!y F9BDɓE@+gb/+г84&bbat>4B Ѡ.( DpAITX-m"4J +XɍK%QRh)hS2'ׇө)hXQ9hiȼ|T =2Pʀ@y2jB-( ( +"De2GI")zB)WFI@=* ӇӁp8^rHH ^\IRp GSrBXP} 80ht">(0RH4.>0 +_p1@𰄈tVZ˂B:I&cKzW ޸f\˅(-9 p:'"q7 #cskJq-*0Dz:֑Z.3˜Ҁ+ xx H‚՘D tZX#x D>ņH%`S:d@ ^KDR&˄Q@PkHaS"g *ZŢt3⦥eeqX|:IXR+@ + "9PF@$0(R<VdEB2!f:D//KT\&er"1QƇƇ +a]*b54  z0A#hЉhPV &A$B-6*P+F/ %KF$q$KnR>QPf\>/kCàJ},ÃLPr)-1 ܸF Y1Q!XuDUX8f1Z P |! ;8!X) H(  Jn\ J0PA@XT-*ap: +C_P,%dP,C&%+8,D:3"B( (.N hVQBIx«%^' H*Eݘ]t;릧( ~=mN%3O5}uLt]OnmL92j'=2@LwՖrr#k&v!~3SNK%6.ɑ$"8Z)6.@@IKNQ9r:.Rd>N'EcL+>qĀ>Net>· mB4QQrX!eJZ.N2-'AFEI*8 Jecq1PI"lڏ볢ań!0 P(,YhǪǁ KIIE +9ey91y!H0A,'diC4rDP:Rǀ Tp2NLZ'%AMT*q =8X@tKj%4,@D!VJ&Ѡx˸(k]qQPh6&KML(aej5dAH0|ZKY3(<"y^L&$Ãb2@ ltFCP$r%B bjAMİPN'*DAQb 4P>XH\ ),AE 70DPpAX:1*DZ:p:3 %0!f13BIa@HHM&4+$Hfg(J!*.9p: 2H("ċI< "jAy P"+P!%#HHTkLd^Q9 s@q `IU +`JOU +#R2P1(ȁuX#Ufc@"A  9x 48x|<(G y<=`N-i!Zz881D(J1&7s"aHHB+BYHB  +.(d4nJr @O*S//*20Ax@€EER bXZPSEFT,|y:NR:Ct>>xܨc!c-*HJT(!N3% +DU +$"@%Nftcep:6ҩ`-ND\ +4+#b:HĩH'KA ڌNa9 (xxO Ղ!GAANxHD f9N܇L #JҀx Ԃ0+#%ĺ׈iʇӑQt%grL"y4 r1y2J##OBBF@:((eR(P|hQn\***zH NP^$bX@M(dnV`*c>lS1@}H Ja§VGt,N!z9QQqA̤p(p:#N4t7}DRMR ++FV! +6,X0kV8&Q ߵL !z)I:$*Mp@leMM6BV +$0b8\5H92py|8^>J7s:xAit eJX '*16Az*Q"l- D D$:26:|8d \HD +B&Q( 'ɆH'.AI}T!Aq`,X(  (T0 +zʇ!Hr\`6’ɕ ,l5@Xҩ@ղD Ch2b>2BQk!im 2@%T㰪QWv`^$#LX0}R6mTJp: M2/ -qx>zк\60A@\>f<! +рE&_,\g.dqBHi *p)@j:L #ɥ$Cfr@˕RA)p(H%ip:+xl<b@zjx䡠3D%ɁbQ(гX +XX&[VhY(:@kB 8â2B%`HdFh9a +pY r ~D!Z KtPʭƀ "8 ҹu^$ML"6 +I `MdqarpxhyN MB):j<6g 3 +fc@%! 0ЇYMEq$,ܩbDP:$riyB+_q"<@ D6Ru1Qh]4ВJG 4< + +8d<%'(GǃhC(dHG$3nHC3yb6)=$b$1 =IUJ˚7F}Țcs;]w̻?kLiSY:6 5W;,GFdwx|߮7$y|"swexΚs:1{>w9~|}NeQe~߷2~Ktּl{ w>&߷o]e7=M3=~IBl˻uۆM۶n93禙z{[{lfƸ32lMqo<昝}z}Y3]5v&wj&߶^scmw6{ۡ;rkx}:n熏Srn͉˚3۱]:u;7_ns^CϿ|q1G߼3UOw=dd٪ȸlNL2.krte e_:nC},[sKN۶x26ggw}׶=O[-e;:VLFmN1؏e7ϼx /2켾e˰9[}'"3SfUloln n.>þskܼέ߮=l;r:1ȭy};זolͩl;1؜̹=_?k5@>onm۲-bkȰ%CEdw퉎{y{̯zyw￳{s^u#bf> +d:ns:(}Q)8UVmqznl5Ƕ$Nw]?2j\d=|{4ѹ%3^/׍;ٮ2q}lΚ>w2Tn65C֮<;vi7m5gk*<L=}}d|ebR53ѓ!z_7^v|~뫬=kcfkE<拷~MbN~v5ު"cFvt~{eڪr6V]V)ٜZi_vk,UU=3/cTkɚ2sez[\|d||| 3Yew%f7obne˼|LדӉiElӗ))273.L>kILVhcp:*,&4iy fl^*.X8 +kC㿛ܞM=񱽷1k/>72{{nٲ=/ޮj)m=:^="z:9fֺub_Qqnc;-nmֽ?5tvةw$NMֶξ9?[n?_7nN'ܩ뎿pߥC?fGuo^O~gg1"6~zmC<5nޘ0W1 ۛoߛ}_@V>dloMwvo1ow1{p]9[ks_u~Lfl%n{'yƭ^Yu{ϛ{_[nyɋʈZr3::cdM|/|~ޮZ~kZ&c:tRqk߾7j{oz*{+WsѻٓssmnJ;e~{}Qnce5=Tceλw8w5uTGx׼ά5|֯ZtP֖q:-Tet^dܘitZ[W[|$~֮غo٬f{2n?dޛUSۮna>co?~ +bqwלac{;dCœT&:=37kCϋⰉ qk`z} qYٹboJžV\\]Tkެ~f֍{c?S?s&j鱫6k6ߛnfk~k]nnbk ջucmq[sR&?3+6sO[sN|ꌈٚs[+c}y57mvܘύawWX]~n%~[lӗ[UfE"z̭Θ}}ko9qq!;\omiSl17mAOolʽ},Y7sY/|Qߩj}wyظ5_;]fέzʪϷwڼz5kq1;9]ouo3lpܻnؾa#k_۷k7=2g?+ISG1u_if\*UUTxt^y}Q2Ke{Qo>7/U?Ws9QEF&+e$Wzyw)nvOlZX\Z$v$$F^Gn؇˛r)޹O֘Uu5vk٪{ͷ{o8yH㒁.䰟Iz}})ot]95;~cM17]Uw1Ϩkc" x6Od{Y~7:>s7r2NLi^e^Wl߼o3֝32WDRs։ 0:9ט^z3EwH޶m-߫'>ko]KNe̾N\W P ˌQ6>TwMY!CnWt~d&Y3]]/))s񿙵2Ϗmrx/"/6nȘۖSS3k%uOK6x|팪w{6X[Y{um͊ט޼m[ߺnu6Tz5xbDƃ"&I#0 qP0JR":$&b`00 +(@C9VF9e vҏ3 8 H[7}9)Հ(]hY6zxHr =bjkiR-c}i/G*Hp{#revF݁^5<65L6ج391SDaw;|e;wtep?ȃ`U#J},L\!חq@n7Zٿy0Y& LI3a6Ij(tk2|LCgD4р +8yO!OҰ$ u<l+.nfw~ĕt_ˎD9jIQhnw8_9D  O׫! ecH|( +(i,R]KSS̷Duz=3?&f{uw=n9q= $&` 3PxdK9K=-;KGtogd|+¨r-F_A#EF:XMl7B.Vv6IPL| 9$/.M%u=a"%Fďi՘jAee?%Z4E|)m *[ uϖi^[$T` /0RvM~k\*z/?|_@i4iU0+0U6np.PWj~J,VC)d} #4xp^jIƱOM^)qv_! ( h6h7h1&ЖhAz5\ y]+ŝ@wTJ`g*.+ NdjOg7݉#(՗튯P`HwYtb*ؘ`>6JrfA Ix)e &)4*E}/ek[E\A!T&Y VԹ\ yH sS !-IWVrP2Ukt/k3OWR|LSY#Wʊ`SӚLlhJ[Söҙ`i)PO/T*KVL̳b~y0u:]k/T%H.Kftsݢ}:qoD.PIK͞BF! jBQ k&i?d`9dt^(9 PE ݤwY#E}ڇᖽD# 6=VZ0IG)L"VKuXB4󵣨C"0ɸROBmy) $bOwllN`SG,P=sbLްUǴH>sD`^_Y#:y*RɻV.k27%3 7H%ykM& ~_uy S${ ϔ3k.KF,#S/9Ky3ܙdGK[$C+\R3g^+Hz碓bA[}}LnB]N$Ɖj(*(piIPDz$ )PbxGξ7聫 ^fo$ph˴}`iAw9xíiF|J4n:1JGzT;bAR蛢S+9٘{#DC^ژFBH=B+ %{i+r %G{_UfWT0/P/XY߅3Ḣc аF . 4}>9%(ce]L(0֨f>V\IlԹ m4S|!E:'n24*x?X8ʘsEWݯ5>Q=_ѓ2Vh-p5:l)D<DJ̩ٙZ?Fm?fU?-Yg?/6-6g#-V!ɮڳ 9By2:^F_~d 29-[NDPI֍$>Jďw!G}?|3C+;FюHQf5+[/w5(k4w_k5rwW7K-Q p[OIb"#=~_=`&黙XiEV(piq֧*;SZC# +JN|=G?h)V<% Vӣ~]cs Ҍ~֌I~ؚ޺D|'cЀp2e54!m@?'iz1Մ}(&G/bPf)@mk|b&Ufk10޸-1Z:6T 4̑Qj{+5,pVSEGycJȨNwq#z +="p٦\<:Цy .Tam +9::(1KxW,54?d{ZXms0w E06.1Xlfc%<grq)v D#5W~I;Ƥmzp;p$(bγ0RAfM Q ¥`_EuhjөX6;a 8j%fr n=5- +Ѧc8#Cr ȧ.bDuH^םvggR.K yvyz6Dd!'V>۞IL2<*B1-vIÎU^"XCbk3?i oYΘv'~:gqm0vg`Wn9aiM +1,cMIdv "Y !tvLr|kĩi{q״ "joC;41 7`EU& @3!e Ai'OݼfW7c!s!/im.%u`FoMUOπjN6v wvѴ|$b[g+^g$gCiW>7Bd`R+#b#DHEc<;SݪipbyWXD3 S &*;cAHz':wdR7nJ |GE6Y`$clM,IJv_(^ڽxuyUZΣzr?DM$ -|aٴ3qn +>gu5Bq30WBgKCYQ vrP:ᩣUl  Œ)3#]Ԏ[ WS8&ܫ&:R)-v̤v)NJWfT''4< +XK  7 +K{5J.zUD>JVh[VK]2"`jF+Ƅw;}3gfAhYg`gjH !qאEӤy 9BgT((&^!slԨm(L8_"1gʄ=ab9Vj:mYF*8_zZ#=Q0GH=얾5B(p؂Vwߑ;wde[@sbWe;ǧކ Wv3IOO1^H]hNnv{SZAJZ29 SY7.Mn\  S2[gM0?s2З+=]ݒBFO)A7]D 5 T[; _)@YawGi+K3S, M&k }:il5ȯyG=6f+6EŤ2%J+K' ^g%`z?k4V&28ezN֊to]톁+!Z*9TomW,. Zi;i,hIgƞ٭*BO+qZhD4"WA>m>3cEDs]q36\w4>[ە-9vlM9ӜkKnmjemOItTL: p'lp?HFE0V\6 ߋHj?@{4b7Z}vP{~7eGyK"fj! HDRKoQ רzTWd†чa䤢rAl{{2/q]9d35LUŵD}X}dZZlo6t=@^I=y֡WRO{9,~bY@RZamr@l?| lR]yeEB r)kw%$',oyODϺNj~hop}k"P[޿Ґ_lK=~ %wna^@.v$oŠ\! "QFt("l}[ g tÑEi"4WI1rO:׀c-=K8z\*f#S|JO KtOMTԋscru,a0vU)Qpuq 8,+'Ֆ{J`XZ(BZI)_,ޥvj>aڊ +wQ'WY1'X{Z'w s Z? + *sb,@O{o$k(S,} zKOk$ < a!5;FUx7%&o FFҩ[ZsRW tMA'FZt/fX!)0{gQI/?IQad@=6OgD$']RY fqo­+X?ŵ+V3U/[!Y< ++(,Bؖc닁a$wl-;Dd`f͈)+#oWT)'߬_ b_3Baou)ẘs5Q¨C"ltMx2ay +PZQ]K"jaF?X8G^y}ȩ]3 v4"YLr푎Aa¡tvEjc[cpهQKx$V=)Q96&&\m4 ԬF'\95:;# 5KgdFm̆N)A>kRRfI9˔RF8t6(&Jz ۘRaeR܀u,jkpRk)MJ,{5RZ5#A?5)y#ԩ!=$cäȥԔT|mXGu@qc ^%ھ>MnwtA4gg!.. +VRvotM>V鶘cPq?^]zg̿S9g٨iW+.45F[BKxt7R*aG=.7ske^_%-,^hte-tz[63a|W[ai(f~fIY @0[`k(S*U^ Uw'? :Y v%Erf%J7Á*0JFn[ٜe +nK誖qMw/%0wXr"BmRB;^%cɵ i(gdᶔ߾ [2΀30&J#H*(+3'Dqk/T{:u&d[zL,qa ":dGV:gb\u q,FB\yęiP.BD3gKI\(vNEA!%ly_TZΦʱ~6TC,ctFsQ:4a{k0dzӐ~A-‘3(hfBO1.ws #DVOŎ*~9:ؘ[eY+v]N.h/tEBˡ,64N<ȼa(lx"jDRA&WvϼMor[ST$%,+UH2~PޗkJNrjj_ԉo9wc?pkh0;Qx}F>崢P H b44Œ<6n +oFĢ-i-Qފ4MAEAz( - +'rY*IEۥ:-w«Bl!0vg;]ÉK +_uHHnqV2 5f_E C6HDv$D%KZ ;p*nnEÝ!p,87GEӎjUiv?OßϿ(cvzoYd9UvWtsϤwVU'&c?ƫ_X|1 vqSXX Iyf%)iCjh9OA=7I$ΈzKS4#vPy_jnQUytǩcmH"-vbO3]@Rz6ڢG=b{~ l-Er l77WE5LIeM3qH{]=[Pf +B^|a%N@T^Rw߾/"= YP:7}I쑷ܬ9)z%nҒqrbj7؟ +n곸Tr|L*ou/ Yr+Zx]0K'XT/FЂuv8Nw2p_ oU(|K epey MJa"JWn )2CdS+ $7/#b&4Lu%"{F>"|o .Lv 7g9*Oj>{`3V9T9 +:xR7cjAoˠ yCYց}?Qn/x,ooR1}UTaZ~x@fԏ]MaIDs&*[6W~2v704"$зgDFHٱb-ltenD&j_%}bX@uVuo?fGjxO̪4PAJe z6cEl%/7x 4 2C\pXg@9}0E)mrFl  dI|*o^#Ǖˮ}m <_U ~O1nO(ҳJ$/49=Bo +ӽcf"fG@ 7,#Ȃۘdd' LG/M=o } ^ +RY2ŘB},!9 -y5 D>DnVx`IF!5c"ɢC_wNƯtnAx^n#|ܩ|{1sxp1a'SDciT*bhMlݨ5Fڸ9ޞ~؜ Cs}/PqJIL**oW!Z _M'#YNF#fUߝC4W7Eb7f7z>~O/vהFRޞT4l(P׿7qፋ ;(DKi0(o/߫2X۽#iJgPϭԭ(Ћ_;hd?![$BdT1aNnh2:EE%Fe8̭6I 9eXi@H#em|HLo_J@,ѮIܥڨB>0|B[(ł:pYBC g 1G_(r8t/xc/RxM$HTG8Ēl/3e+ňl=ǦGX,1=ڙh41;^N_lΆ SNi`^$$>\3b_ tETiʨ%z 3&‚~I(`ђaLdX/Ш_tJ(3GǴҳh!“EBgMFזR|8}4< <q8g d͵k7!]PIr] 9p#%m8hX)Ù{~}~ë +"e42oG,C݆^)Y%R0sw yH$CG+Iȥ +N6R6 JUEX3_,LוcG(E`&HE$"96ʾ +;E=kc֝0y3j1`_[NORL޹ycI ֧eLjzdvX!p7ʓg xp]%"۷|x(3,R8ʼMT~^<Zm \8)c/QF3TT-b6G0OgtYLbO0O[3֭y[3W"wfaO InǶM3vw]e㍿R4ת!Kio JP\>OpFnJ'HOigHևլ)k+ [M+u1X$Td^ѼSo2@ ,^44jar D[ty&ǵ'!n5M9o"o kD}'] +*c$SXY>Ӥ@h'A֮Č]/;gX|K 6}ufՐ`&Vӈʊ-L< ٙHNQFE)UѳOj-K. j ?Phōg;Khopzmd*ie[MʨbDɍbN^}2Yy DV 1 ,,8qdNDVbj&G뵡` 2­f'OBOƉgNt؉+ o࠳kpPX\:Ra_|&^B IxE Nxtzc(apvwv8!}|Y ?~w\,"FiU%yRO)Nx]K@0lBh$>hŹgigwn8p,>&(5IiF];d,uk"wۗ + N%BPxg !>5^ +v?%cC4)Fem.πd{$>q3xN!@Al3!3&1/^/M2z{.IN(swA 5J额5NwΦV𙮭XS`$].lw2Mn3 <(/Me"sEH*j'oex%h T4.wqf Kʯdl>U!I`0UD2&**d l9%Kn=k{&+mZeynG(}'Nf'rȨ;Y|s\*pBU68ρO]@Pٸ]ryn:0xi[D΋Nh7yܔxc +^PH[Ίa48+>`VUA{ \Y ۑ*@Mn$@lr +)T)-D~(x 6G/zys ^ +9TbMW&uI^Q->yyVyR&}&M͌ag Y5wF: +8Z|LtP [Tb|%PY/!lc~qJwX , +Z5tp]L^AqEs@aOy‘ݏZN쎸1 1k|K֌9/t?P+4!z⁡ب+ yBj&fBF?wl +U,ѷ dک]M4;mѲ%mg4\$_!4dj4j1}` кl~mJηQ]D +>? ձX1s0o7""H)jvҐCIpdU{ M 7\*8B6n;S2>AnWxmx,m|&.Bv|vZk 1V1Yl( UjW8pnGF9MK +y7kt9W%\M#+3B9h} 6лFIJ;]JbVhCnrvb r) +hUn﹝SxZ5Z |)~7-\/41k 3~Ѣneq`9 %"ܚm JeIoݞGҚ)!~D<0uXpɗ績kx2AVv%A_IwNJJ4MC(vt59u8n=`i;h?j>g&6bu@cw@UڂMpvk,7A境$ [|B{kSÞO2"<ۃ:aIa'q-Zվ]#ACV7Fii`f4a67k5,v݃ԇ0* U6NЎ7b]sNRn~0ݯ bΩ?ua%$D3h*Ƞ] ++d-;e4Kz5pI/}22t$..p[8#%IICfϜdWKsnkꍗSpYR '~rŧ||1&jSϡNq_R"sDaS,^Y^Fx>`}A YD1"ȘdyđT`υeŢO~/{@;?0C⃜X}P*w_,8ɭT.$. )YpO~?s]<[Hqoc|7D6 WsX-8[R"cmbi)#+_m wqYqyơ rQ9&X3`]o^@>Дcj}pAGAlѤB:;~k'x6&sd,sG-&墆١ +eK6 %-1)y`!{*47ƹMJ) ]6,G4r®{Ǣq,f>71Mɗ$= k2-Da00aÆ0q 8کoٌs0x q1QoE(:XaDZ,qEجhID[e:p~yB)'6~#eTxͫsʨىMwFbCrs)k]woI :§]`<Dzĥs!.z&Od?(!XIhMˋ cR!6t~!g0ȹ &0 s !MzbXVc91B!*$!f!$L kvF!D2#pBa' 1R~Cls$7[GF<ěh=GUIPգڐG#'8-%ﲭ?` p. + +Uy  +r%g(áԓ(yff$NSil&W%nOKZ"\U@eGUoQβM wd'P rBVr4jCـxzw<^b`Tpx^I4wѴ9.GY1g@X(fX[CGְ)kCA͜܌oH♇u=qg:(~)k׼MK,ZBNPOu _l$Fgasc*0gԄ{\=A 3Ul}ՖU˨I*Uh#V 0T Zț0 "*&hO;Yw,jpȽJB ȭ`#@O ? (ZEj0?i.h;TC +endstream endobj 53 0 obj [/Indexed/DeviceRGB 255 54 0 R] endobj 54 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> +endstream endobj 44 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +81.999 87.966 m +58.509 87.966 39.398 68.855 39.398 45.365 c +39.398 21.876 58.509 2.765 81.999 2.765 c +105.489 2.765 124.599 21.876 124.599 45.365 c +124.599 68.855 105.489 87.966 81.999 87.966 c +W n +q +0 g +/Perceptual ri +/GS0 gs +51.3276672 0 0 -51.082531 79.320961 52.8889999 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 45 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +81.999 84.397 m +60.486 84.397 42.985 66.887 42.985 45.365 c +42.985 23.844 60.486 6.334 81.999 6.334 c +103.511 6.334 121.013 23.844 121.013 45.365 c +121.013 66.887 103.511 84.397 81.999 84.397 c +81.999 2.748 m +58.5 2.748 39.382 21.866 39.382 45.365 c +39.382 68.865 58.5 87.982 81.999 87.982 c +105.498 87.982 124.616 68.865 124.616 45.365 c +124.616 21.866 105.498 2.748 81.999 2.748 c +W n +q +0 g +/Perceptual ri +/GS0 gs +42.6973495 0 0 -42.4934349 81.3880463 46.1602249 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 46 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 81.9989 84.1684 cm +0 0 m +-21.678 0 -39.315 -17.636 -39.315 -39.315 c +-39.315 -60.993 -21.678 -78.629 0 -78.629 c +21.678 -78.629 39.315 -60.993 39.315 -39.315 c +39.315 -17.636 21.678 0 0 0 c +f +Q + +endstream endobj 47 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 81.9989 87.0704 cm +0 0 m +-23.499 0 -42.617 -18.864 -42.617 -42.05 c +-42.617 -65.236 -23.499 -84.1 0 -84.1 c +23.499 -84.1 42.617 -65.236 42.617 -42.05 c +42.617 -18.864 23.499 0 0 0 c +-0 -84.322 m +-23.499 -84.322 -42.617 -65.204 -42.617 -41.705 c +-42.617 -18.206 -23.499 0.912 -0 0.912 c +23.499 0.912 42.617 -18.206 42.617 -41.705 c +42.617 -65.204 23.499 -84.322 -0 -84.322 c +f +Q + +endstream endobj 48 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +81.999 81.152 m +75.588 81.152 70.373 75.936 70.373 69.526 c +70.373 63.115 75.588 57.9 81.999 57.9 c +88.409 57.9 93.625 63.115 93.625 69.526 c +93.625 75.936 88.409 81.152 81.999 81.152 c +W n +q +0 g +/Perceptual ri +/GS0 gs +16.1964035 0 0 -16.119051 82.1906052 72.0745926 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 49 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +102.511 78.7 m +102.519 78.664 102.525 78.629 102.532 78.594 c +102.665 78.566 102.669 78.596 102.511 78.7 c +90.96 53.648 m +90.42 44.003 l +96.789 37.064 l +90.42 30.124 l +94.63 25.537 l +90.42 20.95 l +90.96 11.384 l +73.038 11.384 l +73.038 53.648 l +65.913 57.294 61.054 65.174 61.054 74.231 c +61.054 75.746 61.266 77.147 61.48 78.66 c +62.254 78.806 74.754 84.045 y +74.65 83.479 89.348 83.479 89.244 84.045 c +101.321 78.849 102.532 78.594 v +102.839 77.106 102.943 75.724 102.943 74.231 c +102.943 65.174 97.977 57.294 90.96 53.648 c +61.486 78.7 m +61.484 78.687 61.482 78.674 61.48 78.66 c +61.43 78.651 61.429 78.663 61.486 78.7 c +W n +q +0 g +/Perceptual ri +/GS0 gs +22.6831684 0 0 -37.6614571 81.9402084 62.7759361 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 50 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 76.7188 76.9968 cm +0 0 m +1.956 0.356 4.002 0.534 5.958 0.534 c +8.003 0.623 9.959 0.356 11.916 0 c +12.005 -0.445 12.094 -0.889 12.094 -1.334 c +12.094 -4.714 9.337 -7.471 5.958 -7.471 c +2.579 -7.471 -0.178 -4.714 -0.178 -1.334 c +-0.178 -0.889 -0.089 -0.445 0 0 c +3.557 -51.764 -2.49 24.637 re +-15.632 -57.126 m +-22.559 -51.102 -26.944 -42.223 -26.944 -32.286 c +-26.944 -20.723 -20.897 -10.05 -10.938 -4.091 c +-11.115 -5.248 -11.293 -6.315 -11.293 -7.471 c +-11.293 -14.32 -7.292 -20.279 -1.423 -23.036 c +-1.423 -54.254 l +5.958 -61.636 l +13.338 -54.254 l +12.894 -47.762 l +16.362 -44.293 l +12.894 -40.824 l +18.14 -35.577 l +12.894 -30.329 l +13.338 -23.036 l +19.118 -20.279 23.209 -14.32 23.209 -7.471 c +23.209 -6.315 23.12 -5.248 22.853 -4.091 c +26.467 -6.273 29.566 -9.089 32.05 -12.347 c +26.043 -4.097 16.284 1.27 5.264 1.27 c +-12.994 1.27 -27.795 -13.46 -27.795 -31.631 c +-27.795 -41.913 -23.055 -51.093 -15.632 -57.126 c +f +Q + +endstream endobj 68 0 obj <> endobj 32 0 obj <> endobj 31 0 obj [/ICCBased 69 0 R] endobj 69 0 obj <>stream +HyTSwoɞc [5laQIBHADED2mtFOE.c}08׎8GNg9w߽'0 ֠Jb  + 2y.-;!KZ ^i"L0- @8(r;q7Ly&Qq4j|9 +V)gB0iW8#8wթ8_٥ʨQQj@&A)/g>'Kt;\ ӥ$պFZUn(4T%)뫔0C&Zi8bxEB;Pӓ̹A om?W= +x-[0}y)7ta>jT7@tܛ`q2ʀ&6ZLĄ?_yxg)˔zçLU*uSkSeO4?׸c. R ߁-25 S>ӣVd`rn~Y&+`;A4 A9=-tl`;~p Gp| [`L`< "A YA+Cb(R,*T2B- +ꇆnQt}MA0alSx k&^>0|>_',G!"F$H:R!zFQd?r 9\A&G rQ hE]a4zBgE#H *B=0HIpp0MxJ$D1D, VĭKĻYdE"EI2EBGt4MzNr!YK ?%_&#(0J:EAiQ(()ӔWT6U@P+!~mD eԴ!hӦh/']B/ҏӿ?a0nhF!X8܌kc&5S6lIa2cKMA!E#ƒdV(kel }}Cq9 +N')].uJr + wG xR^[oƜchg`>b$*~ :Eb~,m,-ݖ,Y¬*6X[ݱF=3뭷Y~dó ti zf6~`{v.Ng#{}}jc1X6fm;'_9 r:8q:˜O:ϸ8uJqnv=MmR 4 +n3ܣkGݯz=[==<=GTB(/S,]6*-W:#7*e^YDY}UjAyT`#D="b{ų+ʯ:!kJ4Gmt}uC%K7YVfFY .=b?SƕƩȺy چ k5%4m7lqlioZlG+Zz͹mzy]?uuw|"űNwW&e֥ﺱ*|j5kyݭǯg^ykEklD_p߶7Dmo꿻1ml{Mś nLl<9O[$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! +zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km +endstream endobj 65 0 obj <> endobj 67 0 obj <> endobj 70 0 obj <> endobj 71 0 obj <> endobj 72 0 obj <> endobj 66 0 obj <> endobj 73 0 obj <> endobj 74 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +22.6831684 0 0 -37.6614571 81.9402084 62.7759361 cm +BX /Sh0 sh EX Q + +endstream endobj 75 0 obj <> endobj 76 0 obj <> endobj 77 0 obj <> endobj 78 0 obj <> endobj 79 0 obj <> endobj 63 0 obj <> endobj 64 0 obj <> endobj 80 0 obj <> endobj 81 0 obj <> endobj 62 0 obj <> endobj 61 0 obj <> endobj 58 0 obj <> endobj 60 0 obj <> endobj 82 0 obj <> endobj 83 0 obj <> endobj 84 0 obj <> endobj 85 0 obj <> endobj 59 0 obj <> endobj 86 0 obj <> endobj 87 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +42.6973495 0 0 -42.4934349 81.3880463 46.1602249 cm +BX /Sh0 sh EX Q + +endstream endobj 88 0 obj <> endobj 89 0 obj <> endobj 90 0 obj <> endobj 91 0 obj <> endobj 92 0 obj <> endobj 55 0 obj <> endobj 57 0 obj <> endobj 93 0 obj <> endobj 94 0 obj <> endobj 56 0 obj <> endobj 95 0 obj <> endobj 96 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +51.3276672 0 0 -51.082531 79.320961 52.8889999 cm +BX /Sh0 sh EX Q + +endstream endobj 97 0 obj <> endobj 98 0 obj <> endobj 99 0 obj <> endobj 100 0 obj <> endobj 39 0 obj <> endobj 40 0 obj <> endobj 41 0 obj <> endobj 42 0 obj <> endobj 43 0 obj <> endobj 105 0 obj <> endobj 106 0 obj <> endobj 107 0 obj <> endobj 104 0 obj <> endobj 108 0 obj <> endobj 103 0 obj <> endobj 109 0 obj <> endobj 102 0 obj <> endobj 110 0 obj <> endobj 101 0 obj <> endobj 111 0 obj <> endobj 112 0 obj <> endobj 26 0 obj <> endobj 27 0 obj <> endobj 115 0 obj [/View/Design] endobj 116 0 obj <>>> endobj 113 0 obj [/View/Design] endobj 114 0 obj <>>> endobj 33 0 obj <> endobj 34 0 obj <> endobj 35 0 obj <> endobj 36 0 obj <> endobj 37 0 obj <> endobj 38 0 obj <> endobj 52 0 obj [/ICCBased 69 0 R] endobj 28 0 obj [27 0 R 26 0 R] endobj 117 0 obj <> endobj xref +0 118 +0000000004 65535 f +0000000016 00000 n +0000000161 00000 n +0000038951 00000 n +0000000000 00000 f +0000039002 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000042686 00000 n +0000000000 00000 f +0000042759 00000 n +0000042999 00000 n +0000045017 00000 n +0000110606 00000 n +0000176195 00000 n +0000241784 00000 n +0000307373 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000357014 00000 n +0000357089 00000 n +0000358179 00000 n +0000039627 00000 n +0000042339 00000 n +0000347025 00000 n +0000346912 00000 n +0000357400 00000 n +0000357524 00000 n +0000357647 00000 n +0000357770 00000 n +0000357894 00000 n +0000358019 00000 n +0000354929 00000 n +0000355081 00000 n +0000355225 00000 n +0000355369 00000 n +0000355521 00000 n +0000341784 00000 n +0000342316 00000 n +0000343039 00000 n +0000343509 00000 n +0000344163 00000 n +0000344688 00000 n +0000345650 00000 n +0000042401 00000 n +0000358144 00000 n +0000341222 00000 n +0000341270 00000 n +0000353578 00000 n +0000354030 00000 n +0000353641 00000 n +0000351799 00000 n +0000352554 00000 n +0000351862 00000 n +0000351736 00000 n +0000351673 00000 n +0000351245 00000 n +0000351308 00000 n +0000349709 00000 n +0000350269 00000 n +0000349772 00000 n +0000346849 00000 n +0000347060 00000 n +0000349923 00000 n +0000350041 00000 n +0000350149 00000 n +0000350384 00000 n +0000350437 00000 n +0000350744 00000 n +0000350821 00000 n +0000350976 00000 n +0000351094 00000 n +0000351171 00000 n +0000351459 00000 n +0000351554 00000 n +0000352013 00000 n +0000352179 00000 n +0000352305 00000 n +0000352428 00000 n +0000352669 00000 n +0000352722 00000 n +0000353029 00000 n +0000353106 00000 n +0000353261 00000 n +0000353427 00000 n +0000353504 00000 n +0000353792 00000 n +0000353910 00000 n +0000354145 00000 n +0000354198 00000 n +0000354503 00000 n +0000354580 00000 n +0000354735 00000 n +0000354854 00000 n +0000356666 00000 n +0000356465 00000 n +0000356244 00000 n +0000356027 00000 n +0000355673 00000 n +0000355794 00000 n +0000355912 00000 n +0000356124 00000 n +0000356341 00000 n +0000356562 00000 n +0000356787 00000 n +0000356893 00000 n +0000357282 00000 n +0000357314 00000 n +0000357164 00000 n +0000357196 00000 n +0000358211 00000 n +trailer +<<9F89EF539AF2504791E293B62117F98B>]>> +startxref +358408 +%%EOF diff --git a/share/branding/keepassxc-icon.ai b/share/branding/keepassxc-icon.ai new file mode 100644 index 000000000..47283e03e --- /dev/null +++ b/share/branding/keepassxc-icon.ai @@ -0,0 +1,1637 @@ +%PDF-1.6 % +1 0 obj <>/OCGs[29 0 R 30 0 R 31 0 R 32 0 R 33 0 R 34 0 R 35 0 R 36 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + Adobe Illustrator 27.8 (Windows) + 2023-08-14T23:38:54+02:00 + 2023-08-14T23:38:54+02:00 + 2023-08-14T23:38:54+02:00 + + + + 124 + 256 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAB8AwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4qxHz3+Zvl3yesMF16 l9rN3/vDo1mvqXMpOyniPsqW25H6KkUxViKn8+PNP7+S7s/JOnSA8LaKNby94np6jPVQf9UofbAq 3/lVnmUfDP8AmVrX1w048ZvTWuwH7rma/fgQuOi/nn5cAl0rzFa+arWOpOn6nAIJWHgsyHkW92kA /VhSyDyV+bema7qJ0DWLOXy95pjHxaVebCWne3lIUSbb0oD4VArhtWeYq7FXYqlnmPzLoflvSpdV 1q7SzsotjI/VmNSERRVnY02VRXFXmi+evzX86/H5N0qLy7oMn91rWrjlcSr15xQDkoqOlQwP82Kt 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 + + + + 1 + True + False + + 128.000000 + 128.000000 + Pixels + + + + Cyan + Magenta + Yellow + Black + + + + + + Default Swatch Group + 0 + + + + R=252 G=252 B=252 + PROCESS + 100.000000 + RGB + 252 + 252 + 252 + + + K=50 + PROCESS + 100.000000 + RGB + 14 + 14 + 13 + + + R=106 G=181 B=54 + PROCESS + 100.000000 + RGB + 106 + 181 + 54 + + + R=46 G=107 B=38 + PROCESS + 100.000000 + RGB + 45 + 107 + 38 + + + Branding Primary + PROCESS + 100.000000 + RGB + 97 + 153 + 48 + + + + + + + application/pdf + + + keepassxc-icon + + + AIRobin + Document + xmp.did:d74b68e3-299e-3d42-84a6-fb7353bfd658 + uuid:8ca93482-ba60-4213-8393-bfa8062707e5 + xmp.did:2520a7c9-03a3-1044-b2dc-89724d81ad50 + proof:pdf + + uuid:979eccb3-da43-4d82-8b4b-67c29f55eeea + xmp.did:f1663097-f590-6c4b-81b4-e504359f1e0d + xmp.did:2520a7c9-03a3-1044-b2dc-89724d81ad50 + default + + + + + saved + xmp.iid:2520a7c9-03a3-1044-b2dc-89724d81ad50 + 2020-12-19T13:48:23+01:00 + Adobe Illustrator 25.0 (Windows) + / + + + saved + xmp.iid:d74b68e3-299e-3d42-84a6-fb7353bfd658 + 2023-08-14T23:29:13+02:00 + Adobe Illustrator 27.8 (Windows) + / + + + + Adobe PDF library 17.00 + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 5 0 obj <>/ExtGState<>/Properties<>/Shading<>/XObject<>>>/TrimBox[0.0 0.0 128.0 128.0]/Type/Page/PieceInfo<>>> endobj 23 0 obj <>/ExtGState<>/Properties<>/Shading<>/XObject<>>>/TrimBox[0.0 0.0 128.0 128.0]/Type/Page/PieceInfo<>>> endobj 24 0 obj <>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 128.0 128.0]/Type/Page/PieceInfo<>>> endobj 25 0 obj <>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 128.0 128.0]/Type/Page/PieceInfo<>>> endobj 26 0 obj <>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 128.0 128.0]/Type/Page/PieceInfo<>>> endobj 27 0 obj <>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 128.0 128.0]/Type/Page/PieceInfo<>>> endobj 28 0 obj <>/ExtGState<>/ProcSet[/PDF/ImageC/ImageI]/Properties<>/Shading<>/XObject<>>>/TrimBox[0.0 0.0 128.0 128.0]/Type/Page/PieceInfo<>>> endobj 38 0 obj <>/ExtGState<>/ProcSet[/PDF/ImageC/ImageI]/Properties<>/Shading<>/XObject<>>>/TrimBox[0.0 0.0 128.0 128.0]/Type/Page/PieceInfo<>>> endobj 106 0 obj <>stream +HVn0}W2WJAHTPPm-?g8VOsΌG;~Յo^h7FxQNbȅRJ֐Ods8db&X==ÃokDu MAYKlM +~3,X4Q㆗-iEI-AW|ȡexHx9jؒm[ N`8{U?JmT,2z`c)w`tt:eאmЛ[=r/ou6 ?wm糿|m>ws;7 $>hC&ݯez|#((R<2W(НC!50~15LRk`c3 Q@T05zno:Q,wνӧ&7R;z^nPbĎؾRN)- IgmΉ9 3Îg ++/1 + +endstream endobj 107 0 obj <> endobj 9 0 obj <> endobj 11 0 obj <> endobj 12 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 24.0 +%%AI8_CreatorVersion: 27.8.1 +%%For: (janek) () +%%Title: (keepassxc-icon.ai) +%%CreationDate: 8/14/2023 11:38 PM +%%Canvassize: 16383 +%%BoundingBox: -88 -236 188 337 +%%HiResBoundingBox: -88 -235.889763779498 188 336.110236220502 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%AI5_FileFormat 14.0 +%AI12_BuildNumber: 268 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%RGBProcessColor: 0.382499992847443 0.600000023841858 0.191249996423721 (Branding Primary) +%%+ 0.057919479906559 0.057945560663939 0.052277076989412 (K=50) +%%+ 0.417439699172974 0.709999978542328 0.212999999523163 (R=106 G=181 B=54) +%%+ 0.988235294818878 0.988235294818878 0.988235294818878 (R=252 G=252 B=252) +%%+ 0.178956523537636 0.419999986886978 0.149739146232605 (R=46 G=107 B=38) +%%+ 0 0 0 ([Registration]) +%AI3_Cropmarks: 60 208.110236220502 188 336.110236220502 +%AI3_TemplateBox: 50.5 49.610236220502 50.5 49.610236220502 +%AI3_TileBox: -161.600006103516 -136.789757675982 409.600006103516 681.010230116986 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 6 +%AI24_LargeCanvasScale: 1 +%AI9_ColorModel: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 8 +%AI17_Begin_Content_if_version_gt:24 4 +%AI10_OpenToVie: -423.465748926613 333.510683876831 3.26889526208565 0 8196.74813662337 8201.58266374714 3147 1902 18 0 0 6 181 0 0 0 1 1 0 1 1 0 1 +%AI17_Alternate_Content +%AI9_OpenToView: -423.465748926613 333.510683876831 3.26889526208565 3147 1902 18 0 0 6 181 0 0 0 1 1 0 1 1 0 1 +%AI17_End_Versioned_Content +%AI5_OpenViewLayers: 77777777 +%AI17_Begin_Content_if_version_gt:24 4 +%AI6_ViewPalette: 0 8 4.52777777777778 8162.61349693252 8190.55214723927 0 8162.61349693252 8190.55214723927 0 8 7 +%%+ 7777777 Fully Shaded, Precomposed +%AI6_ViewPalette: 1 8 4.52777777777778 8162.61349693252 8190.55214723927 0 8162.61349693252 8190.55214723927 0 8 7 +%%+ 7777777 Fully Shaded +%AI6_ViewPalette: 2 8 4.52777777777778 8162.61349693252 8190.55214723927 0 8162.61349693252 8190.55214723927 0 8 7 +%%+ 7777777 Flat +%AI17_Alternate_Content +%AI5_ViewPalette: 0 8 4.52777777777778 8162.61349693252 8190.55214723927 0 8 77777777 Fully Shaded, Precomposed +%AI5_ViewPalette: 1 8 4.52777777777778 8162.61349693252 8190.55214723927 0 8 77777777 Fully Shaded +%AI5_ViewPalette: 2 8 4.52777777777778 8162.61349693252 8190.55214723927 0 8 77777777 Flat +%AI17_End_Versioned_Content +%%PageOrigin:-247 -370.8897637795 +%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 13 0 obj <>stream +%AI24_ZStandard_Data(/Xt^ -DP{\t]!`qzd7#.&F9G]sWBM  o5>l/X~Ͽlo-o6.f/oaw3v96mm{=7jq~qw~Şո/<,r _{ٍ{?g-zj-6}ƚY{{{眭7ۯunA.f5/,"(Z~3ly__ ?؁v_X_؆|ߟt. ~~z~u=.zֻ`ym09Ɨ_{awa]z{{szg[76[{ƶ羭g8|7vۯzWk7cv3ck1g/_{{;k~xnߙ[|rߗ_{9{y{{olϸ۹s1wwwf|3g7brۭ߆{O]E,ZQ =sC z`/(~}?=e~> ЃsݵÎ{}{w^0_;=/5yv`7A uO@<׽}a+ ׿?~a:ޅp{^y^艞o}}~g b0 /@:°޿e0rv ,s|/rm{쯷^a׽}Erc_rs _g ^wuV{0~_1xc;B{/,@;[{lW[3}lΜ0Zcsk?us6_w{1g3ޭ~9/bO X_7;Zԡ=Zg|s喋V[mo}7{=5߷q7k-[7}ꏹ٬km{Ykw[ko;o.ۮygv뎹{:ۯο{=g<̻l߼y/ El/Ι!㞻޻w_{ngw/ Awx׻Nw=eO{ mfsyy矻e/WcuZou]{uӟ4C-jwz7}wo;cyoy{ysy旋;vnC jOwkZk:`/wgwm1?A0Yg|Ï=9X3.la{׻'vbv!}^uw.l.wwv(w?twaw텩h072kofwƳ7l{_{[fk/ƽ띭vor6F[=A0EІ7auCЇ?B/0C+^YE/~=A1E~]/̅e[,{ -h?~mnm^k\Ņ g6fDd$KӘjN/,"Wu4K嚎Z(i5&$kL2BY+#ײRt:~$VzB:dt4EI6AeiL2I6YKd!3e%2D(TIʵDԔ@2STiGP p=v&>i'&&>d)zYj?'ÄUJ*Ru M,EfgJ\z:9j2?#pa\2fVBM4%Tד\tva g{:c}^9n*Sͨo۳%[0g*S5~:He~4)P64[bF:w}ޜgxr3{Ǜәl9~ Ј2Mt|rϔ\^3oY7gv3oZ쳞3<_;6bc.g7{}圳|9뾹2֖ C!$Y #{u1fENh=DYHooQSrj-e*鰒t|;IPϿ4DH fZAkڍ6y & @r6c{-w=Vgy|-;/&dȇQt qBӉʼn%td6^֭6pdr1{l3yg_O ${xgˮk 2/lqzvfgݯ۠#m9|o}[f*O6$gjͲ]{ i2:u%A$j\qF=ÐQeqIIҪ`2˖7—lW)*f)6.LUM/ 5MRIFOv ~JUBm0lŘglys[%Ͷ]X9f@ +S,>7 ,Na FhHO E4;<j-T4M M45iZ" &2>+phh +aJ >{ Fh6Ѱ!lMӴDӴ4$M6MLE4MRM.!Ei ۅ9$ h1Ѵ "Z"Q˿"0`6وTsy6ps&#F^BMFCTdH? _No@(R2!2OiB=*%=KGL%Rhd,a-O+ze(DHIc7҄@JJ%HzrTr5.c U(:nL$2eimlx(vLhp>PwJo$ӎd&gn)u-$meKZ0K_gS$˵iܽD.&YڲIk|SO쳼ͬMY{-Gݖd'-{_&WN"m-ϼ[>,&Oj˿d!-9ZRbu5&d-bmt-˯I_'̹ Ioª*\7w3~JP]KS +BWPf"iLJe*tHX~%L3ZU,SVJ@YJHu,1+swS4I㚢,$#6[m6w{{{キє1cc͗߻/^quΘk7cqX_us1Xw9owVޜ5>cD` qJq %%Q+Bn1ˋӄpࣾjj a, pEE(B+L*2 *w(ӥP Sy8PHa&NMxLa!"AX.A<* aaF86?qBuۅi7!'RCA>k}`Ul :Ē.>8]. &.y0\.6&!98X.9q1@tFN@!EHBnJ!p& 9GeI9p*'Ò+vȂ̎%BctLP2Ţz8iU 3F?C-1TJQ +q{$ºcpޓATHI%<,PNbL(#t(UI QBHPhnnۛ2夣/AbbRq +jh&zq0((ɇ]&%ҋLopVIR+*$ ɀD@ %0`$A&".AFFU"⧈'պ$eD S@ F;^ YtDBZ"XZ.MCe^lC!pM :-Րl d`t+qneSXlۅӬ,Hu<'f. !`Vv#`F rO@cu2/ж@F +4W>R.,3+|g|8X(Ep8$Hdlva+cjq؃‐HIqx<9c+Q4i0+mc!*mє14I9HZe?`hfÅ!$*R -# $,=Vv!mB9XFۨu-KG{8ZkhQH!6zP|84=4A@cHd1ж [K%Bh-~-{n.%@!ZYXY#zj%M,$N+,Z"TD>B>l\&ZB` +ѰۅI4yx@B {pbR`0x^LC +0(LW) +07 J}_p|<̃x 25)L"4HvHu, Ka cab6=<]GaYOΌDHÝT&4$k$<I8 &I "HG8hDNȩ9YH3 >%BC8ST*i3EB7p?4AC  %3H+!3H> `lo4v5hA^?/[ j||1ssʑpQ}, +J"oqX-BɁj9 jAa5Jxxs%>J|dP^ kdV +;iL!2Ƥ _1I$ƤJDpUccQEq+"jQҐËb n*~@k4"pE13a/T ?2"D: a ģA4#NS pAo)舖EĤ8LRHxő8&*,&3`/J(>Lf0ccMbE GC9[@p0P#.wU"  +`?Qf\a,  *P(<4< Hv m"*tᾓJ.4$<$<,RI"n"$(۹%Ӷ-H0'{aDc#"""Hxa{{rܓFEDere0B+EN%҄LEx ] V"@@8@*ԋJEC&A9Aɜ e4&d75`:AdsiK3:AǮ +J:d( Z J* I$@8@Jval,'c"d((R- +J<  +J8G(9@"P8+(9p`Hjfݨ=X}4ۅe7Vf 5M$RfkvaA>r!:*&Z @zV ;CGA;R{x5ttwB2(/OI!s M[9B 2]%G4h D{0*"T"v :2q?LRYJGJI0A8d. ҽJD ^.#+M>m;T7A$ae:p|+Ť ( 4siApZ$ QZ@p^lH'Ct'.ZJp4t.$^@ y0ƿqw,BE&rʰb`BfP4 Ba(/a,M "d7]kV+44)$QhV(V  }l` &@2#*= %hrg2DVAZՊJTFnZAVhs 5-b H_,ł7# "] %\FeaXHva+Aq6~*"CI & ^hH *˭hVǘÁOI&=, iiX%Btۅ +!T$$:.aT%cSxpd\/d%,i# H_lǛiH%HSUr15;C<ƫtd"XhG6)Lܫqr4 b>y1:[d`:`@-\b cM>m棈7`( 9,+͢FVa0h E{J!wÕ(ڧPb" +Md*j1Q @?7-h h \i+NӇJbAqc +6 F'>5P E +]XEH4+iT6D6T",nPʠYH u6h`"D (B3m߻DQ\FKŇ!2: y_2=@%0va8tI)S(RB&T4WLp(]TN + +2X` +,XJ!w0 XJx*Ӣh cTE @hE3H8AILZe5Ph. { ;QMH vQ&:H +B{7 }^ b w &P.B +P:P.l@>lY"O4sӉLhfD$`  9mVH2VBB,.@, $1(c 1CՐ3j6WFAʩuZdL W^R&I%(SSI` |w(2QH&A ٠c0mw:s?Pa'VԸ]ԅt"e@}ifS1D~z^{ְ9uc*)m*Ye ߩ`@]qa@u(]F;qGغ{yiHZS҄c5/ cGDpPqBnyf&iX 1cݨ-3Ȁl6Du>c ]^p>3QC &<TVS<ùcPgpw5FJ?ɴFeDx N8>FCn;s aKN֔֐9N!L"Q-1찮9$yqbR[&# +diHkN6Mx H,SDDܱITI= smr?ޖN8(R\}A6Fk̯Oa[ī6 ++{|Ka"p TC[  LH4ETTN'C0>q0:zڇqKuPHن/(~2$ʒMLg1dׅ$t&i'I_c":Y>*wBAԊ 2A{Sm/m *HiۏHhzE8w:&`qm{3inAɚ!^715opQղZWZUo/̙/L# +/3o;3Ed)\<~1 ?ނ +/ +z?w +1Ԕ$s?u.lI:8Q5t^b ֿ0B9^+ ;ǜP!w"c,߅O8T HxPНTW7.˜!stw-e+W p!B)VWM3T|^X6:ղ G Uz}E8i0ġxGY۹(Bμ>Vq56?yQytjS6ycďnC(ss+xsKمhx8&o,s r+z )nMo<ٞ=Vjlyyekc|G}3In)P8P#BF.AI8jڒ-"ފ5vOͫD&SoA=M2HLF25<^UYfq3scfL3g&IMKiK7@rY" +ai|.qgwkŭ0M#&}wA5g'}O2$h՗yiQ2u חDTEE& !]fl%,}|gzor"@5H;Y"uVMΰJ+ON j\y}~2'`(?5>Skn=W%8,#,)jn'OAr eZe`(5 aj:*j|%qg&O]fD3όM} 6>i:epTCZѲ> +ʁfCGN +Lp@P)__~"iSa)]Fev0XBz;{gx1,.2}B80⮙P3?96]&OY%?TjaaaSq|Jـ@{F$ED# {CP0V2)aDU$`)ЖSRup8 +8=_ 2N 8R_[Xh~ں3&iQO-} BLTspWm~Cr +֋U|\)Y_eA;]-VwqEHp}븊pڹ%~[~ hg(e X6mAʶ/~|N/a\QO4shpC(ǫvD&+3Z܋*EH\+P'C&IrŶ +4ߌP Lk~[޷XY$ώg1Qީ?"I(}ba:ױ}ߞ&ꢉɗgow0·Rrܣ!yS !#$ $ i:S -e&PZ|nPom-g] 4BT2iqCb,q.62LcM@؃,wݯ\iq5rO2 .,,ioxsr"cTˮ@o`A0lϸpƳ32Tj@۫i W}3}'S?'cⓤ]ˠqFꙓd/޺)#|rP5z@䡪'A!eA|a"We> ٖsa) ߊ|CJ5*) +,o>&vT~93C #_ߖ` 01F4p6QhD'm2BYj8Aځ.tɦc!½Hȡg!\G +gOn^n +:B6/ׂW_DtsQ5S9UUՙ H >^Rjx1, X%E88V6XqV/>Ɩ~WԞ6Rף7}ȉ3()yIRB3dGu5+ +G[59LFۀj‘f\[(j0bR 'E2@Cn{Օ~465fdW9cA 672y;'FjBp)lE@spI!ۑTn`ҵL+ Ui/Cq3kJJ8|2R8h?02Wk5ٟW8')"G gO;PƓoc9:=ˆ6| z0Sjg ÿQlwd4xX_HrvQrlĴS+h eBv +nSՐ #TyjV>9Y@FLBT??EúKfMPmNe4T`zetF]`xǭ <-;3sOy^b);h[$ڔS$Ol<(:JB/BZ{M jk l"'N,dព^S'Efu&qny(NCku8 j~kBf-w`W p<VdƕLr-HF:IFG{٘|bX|yK @h"~ ƠJc l" +S0;9376]Yĺ @j&b;sπTQ^ψ)@@`ts>f +mJ#KU;I6  Ш&Xt5p"̶OՄVQiI17 7 +>Rf)J!!у1tg=~(e6?Cҗ>GM=zÒ"S(̏?kr*:h+~K̟=X9bF9>Ca,\k80KB>( G^7+T 5[>o;PL M"{|+x\uRn'Pq}̆,yP&[r +b^t9'#c.f6p#8) +NSW jxYҺ =JS fI@QJ[〲 M +ąe0fQs*h2??o`x5HJ سDxU{Mv㦏R?mӘj|&z)1:V (d)GYvs hozʺ7E 3H.fp3%fUsl~w MzD-EJ쏑?4  c/'"ЁO1D(̣mb$x@Kvv -AW1!x [bUBY9eHWѭe Jmd^N(f Q2 O-22sWp]4:V .M @yЈBN +eQ?Rpj-udJ]`րtA-N;%iqTJT=ٖ;>Km4µfQ:àZz"q׎'`؆Q!2&lh 8C ,ٿZ?Fҟc4|<'c@]RwYqE!U{} '//*wy2%$aVdr-)PT*bY4Do+Z(~q`B=%}3S7[)H1x(2CްoݘԶՁB;ÐNsǝŧ x؂g=o <󣴧ȖaH%Ӟj7ӵ[:*HGt6KsW Ԅ dhw|KSJ|rK!< 'o%H娷 o7;x+a"it+Y@ihi<Ѣ@$sU:Q#|h!F.i\Sز TI?dlqRT_U4[YO}_T:'൧#K&53v`#0sKګJ0aEZ +T_e`]{5*:o7K(".mv+nIg!B{v2~m=lIL`0:nd2/fc@ Ol/dxiPf=tõlbYG+8l$; f|jY$fmު:"r#$mWrg˓L͠b✲O .Zλ!n n,~YB)J8lo4N>s+SZ1BKo `˚/"asCm<7k"2{HןJ5S.+A@-jP܃|{T<7HfxZ?H@ t&.RN'bG8c-8ѓ'v-Y :B`1RQGG%nvco@I-6-i/K[D|Ȧ"?s=}EwA[~SSKh$Ӥu-pMF/-J0~G$-#~lzs8OfpF{W}xф;I2#keW`K+*/zJtwmRKP5(c9 %,Bmݵ!ɝcPϯ٫]@W eo_J#D1h$qfmUzUe^&iVzA{ MܢkD _yF?$ɫd9P"Ə6:$vzpw LuM-N1yFR`e6a +'ήꜞT׵~q0q#umTun| xMQe6K/&:u~@P_Om*2-7ҋM*TX2UE;%h ֌a::˴#7MHN _7?i_hzaRiNp5m>M:S<포F+&0~nE;e9x TD"mʫ';[/ +W_\ƃ zZ~)>9T*f8}z\* ^rA:щ(DflK]@v^!2(Qdp, 8>A-XQ}پW~${ԫzťXh|pxIDwE]Gj^Ke娰&e$vq G4CREuCw˞{'v+wR{ܴ1}ޯ؟ r_jqM˰*i $^ EMOVaA]ox}q?˨y5\7J?._4K`ASB)(PFS'%HkdE1鲃AVˡx1|GA #nw4Hϥ +P$tq.řƿSzEtyկW\]@U9->fpίy+h*uIN4: +&2nY0%X`\Kp?Q*baD:@0-Dt.w-.C3Czh +@܌ﻫ/Ŗ~!VޯtmD wŎ6_n4-NdVvhwDjcaY@ zM1;`Jxsu#2*q%FjMmiLQp!z``և~#F#iѷu%.&ϸH?Lۤ>)2H#Hf[/F25+ދ$تw_dw9%GRh9j]U ]7 7dJ#;b/f"%kA@NjQ`'r!P7EXa"tg+P?At/ wւnw 贉ėSF_BiĞ*z)7s>nL^' jОGp> Ѿ!!oD.'#i-u;>Wqj]G1uE8='&'yѩ؟+gz}c}Ϗޛ_(ꠑ%|{:!swa~_p \)g5'=> +(g yNb0 RߝLy7rfb~PDk^ƌL-=^e*qYrǶ9ֽ][`- a.<\eĢHn5w1[6_8#;ʏ72c =pe@}js„FۣBQz?LݷŒs4J?!h˩3 Vf8n'_3nv2eQB)RR6ccS1yeiZyj4)F~-@e,eG1]tM65Ԟj -'iM0M2WCr QhRI7_B:ܿ9%^ .@ @{rj]RUcTz\gR 6ؘrSeɳriO_q;e^2 ˑ +bvK\r8Vx0A1ŏMwe`jR˄g&E# zM)V%G4 e*:P3ģpr(b MU3aXif?S:.Tٞ^%ڔ +UKM3+!Ĩh8qNI_e6WѨx%7pl-P|eRFÙU]#ѯQdACA$ʱ _ݍ+l_&ETVLa>7hkB +J>K77ěqQ$WqD$ åT UABb*ȳbX +6J >_aJΧCuvxC>V7l)xEWH}gLT4jR_ױ?ujrI~ohLZmNbIk .a +D^#bJLXq7?$kHcF`t!iI+DzIi#?sWE{.7a$4\VvIeT@>@J 31c2Vߒ'0?G\s ++7~Zّ `JoM|'Eqmf(E.J1GA_=DAliJpmJ?#G@ͽh=7-d iT2T&6\_ey`Gw-Vݥ1ņ:,*gݵZeu8%YA+Rvh$<ʱ2h|ESj +M YW֨J"NW+v +*/P30GP0|?Oڸݼ$oyo`}CQn0vr>N뎛*OTgj͵)?-%KuM+$8/kXEfVS 8pbgɜhՄۚ}8X4W*l5 Z"X`A1?zF? F+P@#<.U$"u=sSO,3~D0 -!~&@ڽ&]d$۠E%ȋt]ܔJ3dS=`G6K\RJٯ{]$9jʍt[ a_DnK>,~ڲ: \ijiGL&\H,GTm Vo m## 1dCFi,!vJb.XY7{vS3Rws* :)}}q"-({bm]q؛\H\ E\4ҕmWPS9`è 4vȠ)i#egd9ᖏ.\alؚk-&1?-YIq!,+Ug^g!~1ȿiTnA+a +zF<!ͬآ<&6"̑{@A(nѓ*v`GXw"F.-;Y(!!v{pL̑((8c>ܧ %T@zDl4=JX9?:ͳ-ع2"B"8FY? ځ!"DQ Ye8E5g.:^s)9߬Ȃ DfipJfZqaK,X弗h()^c佑ӊMyrM' aA`zGXMX|"D8LUUL%±a:URbCZH@BQGt#0fe4¹ l% +PT^KHKA\ŭI85:n1̷ڤ/epq_{+-LҒmts*%ihs cmƭ':at3f('a{V|f1#% ss6ڳAi)3w +iЯJ43%N|zh-qan ;!Z;:I*PG%9d*r +4t|wf3(r} lu4Q3Px(سWmBǍMpxM (9~o +b׏`Kԭ)D./:d ܎=Ff~u8\l E"U/ހ(X!2Vz%v6nF>XO9dW'J;БY{B ae2L/xG g o}Q{`so/ Vr(٪Q"0#t*$Y7J 6(O%PF T8D=^Yx{X6 c`ڮ# @>>O$(1/y:9]`@Hz͠d|,4 [mSWVM!KSˌ^iڤ= FTK)Oc.뀊}SyZd,|Kz0hI]nP8Hb`1}q^FRnkGBRh>{~gWǹN6SV@IMR vH Msl[T_NЕ4!z*}->+ w]HGh,B` cJ&V+D|R;C}ƺ4u^Rv^BhPT-ҼwBY*Gq*.=?ZgE f//j^7*o|Y>6pa&y&Cv"m]d<2 9%:HeY+e%'C R5`pG&9`p>.հ&a ̅qC[z a#˴Z\=}n}/'7J2nlZᦩwelыT +*qU:0%9H H@qa]W5wJI۶mKD@J}*B4К% +߸:J;S +u͎E]bɎ"]A#;0;Bv`~]~nr|ԕ6ZK>t>C2R^L8^ԿJG6Sa m6 ތ;_tk[(xI FzB.l4,MRUX=G [ NX+#`6iPN'|yl::঵?z?v``H;v# o%'̥ń0!9 &Jh=]P 8j"pJЇn-4 ;È?U)LؚvQ^/ +C(ZoNؿ\:=Aq3dXvt(׼&r-*WXQ\]d@2`D6mjs($΢4yXE ևh#8Os~ɸOo%$@"Ԝ^O蝈{Kb/,ɼױO|R,гq.;RP8 Pj='m%;<,߭v;k}Bǖ0t9Zxm/ dCAQ=/VT } X|vʍE;kb=p@q=pӒ ֺbR)niE}N dH l,KvTlf&(DȎ"N䘐 mJ XXNne;88-u>n4}_ CHwn9(:lnݍxƚ&%x,fm&Ob{'s2rg]mzR94va0Cuɫ0cÚL#*XX*6 +m!Ƴi퇔dEP="F86oZFyfF L L*š\JrF3 `X)P<7V3Dڣ| +Ƙ@hT& [=[y߶oI rTV禝̆ԟ/:S '1`i_ؠDZVQUCKݦ s#4\UbL`FQsQsUNȹ JL`b*fI"oUYU_G8*"2/"ZF4$GyCSډ(_~]D;"XJ˛դ?B;rJ7y ݼJ) +-xG";&޹{I1%h%Ғ0"gTD?};gR`+ψ 3'؁4^ZEdJ< K%Q(B{% +H k*;zNnS%;E->GVxuj΃G%{'*,WlNNh&'d֣`vcu4yH?t({QU+RHɤŢ;d* 䪂T$94Г@ɺCDѣo:'fS KQx_?BǗ +3$.` rѨZHܔ&Hxv3spǾ<4C)E7HV$xUp)t;,fXBRMcpf龁e,Įq3$1qe;oNcdyh](fNfV/AzFJ 6N0^H0* k@,׋A/kK#Tj`H/;dj x/I"Nui?ch-HoNP!%3̈6eW/B)OǚZ[ۚK{Dj)cdң^UD^I58CK]LmEsavEe] +zOSD WȎgQ@#X...,{p>T !`$KڟxOk+d;Xy7?gЁRAGMԵ,g؇2)+g5M/ qJ.T'/;y" *\!Q*Mծlh]_HX~v\odbFeI@4v5 yH Ѱƕ c,j  EQFmA8%UJ˞c"/ +]!Էƒ +eJSzoDً8oćMFITzoX*qؐѢqbɮ'̎%hDQD9Ype]?SY,bX;n!_WE0dwWaV94lШaL6c^t9K@юyqEst"boLPr?5_S_C o# 򡅵uV{>6,Hqڗ1C:PJ*m܌%;fe #ZZ\]Tr +y#IL~kiJS" AV,;L.;<]ŒXcCPCw /r #v/ncDҴDÐqBf8JT "ajp%%ѧȇ576[>0ԏ,Mkw>Vc;=%)X1Br|>Zط~7D"4CgWp*5XږeVa N_ASW㥎Ce:_U/EJc"U䩁TY$IdM5Y$Y88z7[`;bM.IM!oZ0I4ݡzj)TSN]igFUR@5 -m tq]-v9ǺNS(XEeK#aRMw8+}%}~pdU=NO_FUL5MyԔy?'8b KCBB=y@6ɚ'*˒h?1KnCߔiM4RρdӦ!D ,=*QY$%DW5 Qt?LYC*FfCtP  +(P @A +(P @A +(P @AۣqDOD+i@ WB("M$ ޠ=S̀^EqNcN-̝ zYmRВ(~+S%UYJ-Z @]הLA GNIw z5Ehe][%GmD"1lvҍ~ 76NFkHAK)⏼nI TzbGq&I@j@GU(X<H]̼:?YT1ܕGeIpBA[5Tb:R=R\jUz&VDUɿȪ~NFFn]X~Sw:G $O~Tem)r96>KNr]od/}۸۸D8/vEcQS>_M YdEPYݡskKxPPS!{WA0-pu,167$7 +/)n;h/zS|ޜf?3"O鯬,2-*K^8-9KГVYo:/Pb}A 9{ 4Vl(q]F/',"6hXZx VZGWYm\rQhXMh#6u,"_φ$[ҐʒPRY2xؐʒ"~#_aHL!:PpGI>R?E9*K82dpʒshfPwQYWPUaS +Mu0$;2-~bGNw\m?G4xʒG-*KzydCKʒ'2+8'_d6u!!{@ݼމsCo'%XXVfZI㢴%ヿ@Vsˇ_z1hF|^OR=Ƴ@4F[_KKY!fҏg#op3O~a&A%ht"qLv\.6+R䇠h',mqwA]Ȃ.+]]]6:/P\Ž!6.jRFҿ}2¿:bd +_4kKI⌺)h;ᴱ=eQ :+#j$ !wFFZ;h:ދ Bޭ}oj2PW@~ Y~U2 y5; ]\/0"\Jg\jo[ ԇYa-5Q@xI>,J˹ n>`lw3:c =BkJM-C7Bn6eluG c-gQ;]uqz`ܧS;v*]XHd<^~18ptR+z^;o$#p3owLfs>7!*tGwSes6 ^JApt1H!=r4= $Q|^߰E yT=on7lo0 7qP+ {m, 7ox7ܠMj@O\/\i奶{v˥ ȃ;E΋'#j(=}s u]~0KI^WE2Gj*9`صY bXQC=V]1m`Sr ?QL]m9RQBc |*I8 !(>Ddg5ԓň"@A8"zB5y8GԳȾ1`7Uh="R4ƛLDF5 HBnġhE|cK f+YQ"60m\C40Qc:IF|<&K]̿ڔvJp;p fVe p$ f4z7KQF%) 6Dw[_C +hY:7o0&+頶șP1sPCY"Ǽ_n449c{bJq/2#n`lKjK輚MWsɫQ~Cּnc 7.=|5guXz5E_vGKUhl"L{^fI9Ԙ׼ Pcnd0/oj1?z@l>nGgimSY5$+( I nTo>}tQW^a T墁KrQtm;SmKB`uVɽ[w_ZF|Xjş8,- +P=AxH:-3WW+C8j&W$wf,-RSѬc:2ҳ-w +U3]҉دeB`)B1;#|b٥_ip~?<|ui3fڮ_>i{3h0bECYz,js,Ul-dr{M~x*^=5VJ㐤Ul8Wbl/hAfou jxҶ׷πqČ֛,l!7Cw ^ݶB; f +mW H$`UK&bD>.8rnCT}?3QJ'n%M;RCDIZ)(Jx3:C;3Ⱦ&6l&0b~JfDz */D3iY1dXCk=87/YJy_)sX wR2bWԖx?mm\(H[> JJ8JP챎Ѷ\+;" +K8"l=$M= +s7Vב& }>b"m}Qúk:R$o[Xe7z԰JK/( A rk;+AњSxXĘUlz5̎eN&QɾjFi;竧$ 3s_)G$W}J0ȀG4hX? $$CȒoG€̯m 6Na9^]oc?D$xͭ5ІO΅< 610ݧ"\8OW1Fyz9Ԕ@;vtBdіI򋃳@ucW- fG$z)$+qV( b6PsLjF#Ϟ_q+yʼ@7613 }H48$Lr{ *M*ݣ;U~Ψs7aʪ*'g?b(ml+{{͑ +w+@ʈC8)+'e~v(|G\>25g֑ːhuQɴLΜv*?ZX{MG T+AbWXV4f5ה%4P& U:kd9zN{,o$~k!)PٗŶRȤYV!yH氨-gDgAd ~Bbل+xP.]'$;Ss'+~0>%(䞁N$(jƁ%/ #!H +$1;ͽP)^ =ai.92Mgp]4:E&myX- 7RtH%„&ZWxz6PNO!eq8olVV5q/LBb"k-d{[AEʉ ċ5/vwe*wŕv +'(HE0ͨFv⻶[}K4f%ة ZPjT-"v *岰WK2Sa9nu3ӻ $4_FgQ-W:߁8׿9 X` |¼G(n i#ܜX6äH+D?Z,׍NI5AS2*eh]ZvIj! R5Z@BJ+r0"QBr%ʾ|H#ZzS[B? /%9Ti@6q`>ڀf4XCFBG؛S7ӵh7U~.lEuFkG fn ,{b3F ZAdDΧS\94]bP#nCsP6/q ANW1h1(+7]%V +NJrI z-sC%d0Jy&L0{d-7e@[h-9THbH5ɯoUͭOu#D|Z= N-ѴV=W|&d;4mN ' قj2_?׃d Fp.!!3$aIjJlه(cF3`(PRTy@ +q0 :821%)xyh޵cWg9 4F_!=UJlq#Ǔx -}x{ߖu@AnaxNz noRt#amlhS."W2(ͭ=L su]7xeKo'O]JKK[ځfYُȯ^`*9:MhY234IWTw& 4QA<5`A(Amd83!B,9^wR~u:UP9W I˹v߷E^yxA4\Y@`6@RSbE@}]4Ɵ^9$7T,n$ŲT2b('V+D'YFdJybD*4^$ǒܔT68!|NpO) n{8w&P x*b]L%w *jJv|r֤'&tnV~Yu']K[Lu5ZŧV!+Wŗgu :OUm15:'=a#ʁN<t%OrkCjY;Q6U#:ɻv(7^LW]җhb0lwKVQ!٣pqS@(B_9A=77) + UzbGU9LYR7t\V 3͗uDL 6Mc#iԗSq nZ<@yBz*]GN"+$s3q!׊xkA4[kb5_靏O4\*GNniŽ ЂՑuŠIrQShE2xܩYm z*R;Ȓv#g#dYOͰx+46ezsM0*DHB  KXRZ +cvcJ+Q>` /)0P^:ON$`zj?eɮqwbZ7 H(#,]PxL$bٟM;uS~8! M.'' ٩WsZy`ulؠ?Z\Lt ջbvz(6'Gr N؅-HaH£S`co(ۓ!c75̘3H(j_֬5@",tc@GCe?hB%y|+p {y6ӌܰl7ј-+gNA~~mW QD&E31-Vv@4) fLAJD^3 !d41AʺS Zbْ}`hRE,E‹I]n~kʕӚϱ?52UvKO7Bg%$ݡCkJnxVܤz'&j Ǭ.5 XBr IIkD?f"8VIT}mMQbηf6KܽK{N['Ğ#n:9֪ aD(gPhJ O Jݽ7+ QGdK%LJ՟;؏bM"*q5i yBH5# c#T`ad|<02N!%!vTh8}=w\l +@ݡ\S[aj٠xz!9:LEwM1B0|gϋ]vF2 +>jܮfI#C\w䞂q{x-fKhQV|6˱` +XOH =Y3Ef.2[eG&2BVG9jlqcЊ:LaNX.p/ 2J%Ӭ1ƪX{tuhWhUPJT8%RUNQO T$Fi疢R)")Hb{K @A!8!8!@ AueB|Z] $X8!v5rA^^)e}͑^aEd_4!eaJpp bi(vlH"g ヂ? ?vP \hoՇE$##PrJVqIiiCubCP1j]F)iaXleUb(XQx%E'D3UFUKOl+&"\i0׍P^>|@(*Lb%̐t2JÐ ;BZ C~O, ͤYH.*0 ;%-piY +<*m8.Pn03333333333333S,GI,c6#&ahN$OWZ)zrU%<]}c}߷,7Kz\y(뺲,ۺ۶mۚfIa4 m;D4ʮ:Hϗ}`牢hPi)hYiB(,M4O4Mǰa B=?@ CQD 8di$I(ahYE=mq]}W(dv] <C1<˲TUiu]yyBBA 6ceYV0hˊ뺰Yv=?*|h@**`@"?)  I|(` χ"i +@?ISAC?fS5-ǰۮjBmdg4ID3$0TW}cy%g*<{(c[۲±L6b`&G~ݒ[`6Dں/h8HDubXt]#<_D:hہ+3M3p7EoG"E͒|B)7Y_!:EH2yDf9":.0l.y$w8Dp,3]׶BqߏCpۮizUI 3M׶}?y? *zm^,v]wR}a뺶mV, ,,zzw؞?3Mtm0n۲J DBi(ڶ0 q,,˲,q캪H  O߹`ոqHDw0˪25K +c0Gca_CLϹTMe^4H- {~e<~5(hz1K$@q|G$Nz$"cal\X|M+dW&A;h !C~,Hts܎Bj L +FCv0v=ǰ'I3UeV,P&uQ?첪L3hAgx|UMODgV, Cωtzb,Mym]4 EM1zօ㙖h6}w]L&۲j5KC!i^'ߍ5 o \ɦE؞/8v D8U(Hc{ D2_7CQC݆Ǯ^$Y+7'V i4f.KbVW6f/(?(XJo˚@Q4K(A7K&}ԁXu}#.i*sh8$&~[i{87_"u*0蕞X$izUg7o&>Az&3U}ii4 0 +&kՅeڎH(zł #픉,G&m{dB{ޠ$wi&I1@hXD6@<( bAB" B! L ?ءC e`KH+0Bqf* +b@ZbH#DFzb>p zR 0\tXBh8]!hDE *oŠLw8Z!bNϷ' +#<)HX.64_bI|fy#`m;P%|~*!QE !Hde*H:X 7#Sѩ+&¢Y ؽ!« A2E$VfBJ]VRY8ZwΠ' ٘E0!^}9p.}g )|{am1XF-~!Yb1YX&V$tx.$%\h ҇60 ONSM AđA/`4VQMSߎ}EYh ]9J [:C SHU@ڴM0qF'f@ O>00 +V!xu-~l' G7ٻ xh@Cmp`{+8 !8aRX]=1L=bS(mE!k 0rExQ"%8cA@ x$D#P0A#R{P؂jD[BHħ*g פVad\ +f.bD \@Y+Kfz +q}2C/V)?VP:Cy(i) ;w͘ \c dI\sđ" B*֏eltDP/T(xW6Xw 8,EP GGISe@ =7YDAF1,9)pT<0M` z8~"0 Zq!!5$8"To™B` F F + +D~:Ā)AAqQ`P`\LRpY`VB7D0094 d<@KxxrB!ςLG4q ?7& B@CˁĻ@Q \v1BsA@ł"HJAa@̄6, ;4]+Tr@e5`aO:!2ȫF@͋N- F8#B\&P*dHL@P!D{ @.1gTT U9bU>V3qTX} &UNJg +"&1p< j@Od< .̂ B6zphgT#PkA>#0|BQ/F TG` K@ȅp{m A&\m؆H.0DPT07W|GXJ&tM!'p,8Y `w1R/`H`?@ہx-F^'>H 3лaB j?3/ ll`I p6I Nչ0=|y!!`VG +J w^@ *8ho&oqE@2M@!p%-8)ߤ㽎 p>7fBȀ 7 H" Nh +PWsT`1Hk ~ 3 @JZ@yf B@@hCJfpxO@m1+L`Z6*h0MAoNדZQva&e? ]E@w3 +pxF/Y3л8aw~@x%[ %X_ &3iT@4w4% x#v@ +WHAl,do :w%K?]  Ƙ }HWrQ$[e@~`?2-6P.Anֿn=m} +{`4$" t T'.vF8( f|_"藠[fHX=~qF@aNAOf0 }:`R1Q ^JI`v +( >9 `&5g y^-!p3 &=Q~@Qs673p8{R=ǾOJ mB +230P`0 [^0-"9 01@`3YT|/t@0x.QB\'޿~bP9!V4L'{-w?f@Ia[xH{]G9x ptkᡲ +Xh8`abiJ?O@n%r#(/М {3q3\ +cW} {uP !175(yލj1nk($__bKL}(k ?4&0Ctۃ·m=*sa(yޚԐR;,w(1#_~ZAG\ +{ qM{n{`AP= sx%27A$#xA΄I$yM,l#] +.'`QPb{Ѽ9 ݹ!9ܞbSP#9>8ЭO s !bSݝ9?8Zc򩡝\rf:[y3p -1y" sy9A/HG"( ?G*'y'C [>JƂt"\v}1V4 wca?rDAh=8'9 ( 1B!Bm8ESP1ąAr"!m@Q ' APGG@P=; +Y4&*qP#OFfe eO蒐]aAOAûV0ՊÃiH'={`$_XD@.!\TLȈ%ӳ0j Ͽg :T@!3-ts :Q?ӢǿJu2 +~gTf?94S)6x7yE™O4IP&~0?5ޞ߸w"վ.y~ӗӻMF?FN8Kq$׶("\PuzvzA0T">7mɢi^ԔO33u.0nO^a}FU&(5Q4 %,@ )C|qv>1P?Ca*{grPX(V~ց]9)ih(`AhpPyAC&dB@.1HT0l鴹tv.*Ҽ}_ij1,Ҏ}͙Jc-9 +iG|y^Hx3лwLȅF2Ӻ"}1z~΄h&$8 `m5JWzt3dHa7ɯ0HDj + 5.1!N]wn3N>43TlĸQJ$ !W!W1JX  ÔQ1b`WD冊 *4PB0*00Uk@P Z`!!KÃRaqK ,,0`qA0` +!@`6t<.( !"CG"F4BHi6X*d! BD ,812b ,(ЁD##A + +%F0(Plt (a>hx  |\*D4J@GHXp QB$'d.X,%{P, t`AA %,쀙PP +hX D|X,H .ZXpxbr:6|``b +PZ0!bb丠C&(.pdRPJHDt(AR9a# +)1"E(),6%%-|X:RD"E墜d(1  8wz>Zպ&&Yl],"=c)~IMdB(_= ;"u"]pug_e⦥Zm7f{̴c25CaB=&PLzxOE7hz4[<,.eE"m$o[WO~ZvoL?ٝbSOZCd+\VK}?35m ][JynA.+_7jUa9<ӞM݃h-W_t k]FIIokvozr&rB&I+_F|)L.%RRB+%YGE4{h rQrY5䲒͛ϡA.3VT:JjW':lWwTxE[=}흮%ḤΟ-5:/{"G=ݕD,D,ړrY=s tW伺Ϭh,S\;M4!]mSFybQ "Cƍ5J2.hڲZ%n6WbOu Y>Fvt+ãi&hfjimW4}rO4lԐ +DqCk&$BLIsyʽQLϵO^["#U42=uLcdXzeD<ƥ[Nsk:WJHj˫6ZCˊ͏^W'cF1vwvάD롣R)ޝ~+Myp 1wG'(b2y0euucǀ\@hiX +BLj(e-w|%RݔLvCZ]((&#"ṹ9UۮCKz'FiNz76pϔ~c{.}fwk] NIGUvRӳ))4H)UmǴxp뵷'u)|t\GVUqQ~L/J,Mh}R!ZA0H)e 0 + Eap +@L6lV>2$H  1B""9(Ԫ$΁Im~3k_` _Gr)c"/V:c>v`$;t76Bl.G lAY˰}iʮ_Y "īA~]#Wb=AU%(d%㍩-3Cq,\4'cWz9E;"/^iˑ=<.B6%Po}l.*ľ6Q8eݩWG%W91{0S{}RE=S(. -uv}]a=e:w[;p"uR_1 D%sb39.w`O*%Q݈uzT9>>0q/J=ѽ%hHf6e|wAIhexd!wA\Oww=(CK8x)N;z5c/I;7 HXY=3* ݔm` +y}QHDZL*{Y k.\wK `%`.9/_?!`[y +EhĄV=fjfL40G]!Eqѽa-Ժ'Crգ1ub/$Y2n9t>IETO,^q=O_W܀ +NuYtPk =0LJX_Oh8? Xrs+uU8uUFȐ&rOѤrY05;':@L)tU@}Nwr 8j|$X'aITzīXfɽ]ŋCнF LdԙÚ怭{<GJxtVB2؄T;m Y&*u^!0CGxV&(ÚKL%EKZ9M+Ɩo!=HTb+Û(Iv;w7wE)V$ ATKx1NDbO~EC_LS }J)富%O-}#%K .q N'-9@d?Nˋbq&!|Ƀ)hm0Q?|)76%b) @ +%&]?ϱƎU +!UVNA8OҐس4,;;YޯϏִS؎HRdTGm WfK.aD{aү $V1m&7fҗKiZ>u(Wko, ȯ'a] Bfd _``#P58t +pX:N>D *nyDN7k<"Äp$\M[H' >tU#: 4Հ>Bh тt0L"f^$ ++7* 8hV3i!8 8/36wn^)pF; 4tSVa#p5'*dCIӿ}2pX7'k_se8sIJx"!e=˵͈y%c~]Ԉ񕷤oƷ'I~¬8rl(4iC-#opdT[Ǟh4vgc(࠽z$AЫ!Nu2H52A?83/e!`ۅWഄgG¾aforjB:b &<8@DԢ+$mzOdxp>kG !vK>R +}c<,,%FWYqCX8Y&ja@Fdt!3- vXA嵒 Y?5z8XiLnzy_{yW\Wna7:^༹6 ^^]5ʵm+BWws0H]\G7 XҭG"nq3;qrkֶ0[^Y[}ֶAX`gXY~Ԯ9E^ +]SYyȚuqVVM5',+K#YY  )0R ڊfk "-)`Q0֫+ue"}ꪋU,+ +V>VtN$e)ۀOR]F+0}jʪʽUu`eBU5BúĶ[Uj,;TT`8`)NORQ3MO :>yGUPQIF5bTty95ݞ- FM03t{ ׄpU0p(%LI)}#%-H:JFtP ++L@# èhgg(F+`Fէ*m(Z4E(76YTIE y eFLGU=AOP;-m:hh9陶IIlzuzJP~ z(b#' p(5747lKNy&g{+ǸST3i223tXpjJfbWc#<:7ibnij49MԟiPu%3XP9&-/JOY%N%HLqҽČic^$üD/.̴MR61)+O/- BF-<,+-c.<@ʲ2 +ȑEJ^MN %͵)KeUl2 HJI JJ e%4ȑ{>IQ7q|\6>&4),'%8l'yQrDJ$% JF%'UlLR1LGX=>֛$숄l$!c/n!?Bb !oGG:!%Q +93 +yccc'&#EWt(c| rt GF1LұQEv422_ŌRrYg\ + +@>p?(~-)Z>!Q96 a&``RG]_ӣ$XDi00F/?P1X +藱Ơ!q ŀ^603z@?MJE>ʠMԷ= @lZ}|}/>?.=ȂI1wxlyyTswAi';A yx8%M7ǎ-3@OシN K(xw4p&L`%vvf:n]XQ;leSI.n47׶0.(/]nN@sq(XTѲN4|ٹxusHgpq,2,| PGpPq|7kl[jlDoo8M߇0/ݛf*y3 8')(Sg:Rt9Xjm:1^<,6 ki4 L:`ghPS4 0 +TFvͭiD)iv;mavf;6zQX\PK`{39h<vA-`5cS+-pct KhN (F"$/ @ZȐmtT:acA+7I&VD[:v?i@rD. a +(llyڇr3ghf; #.# } `D C +|ac,hKL6%F*K lv}u{u€! ;dT4UQ1. +-(B; + +0Dq( +|%Vc RbPkH [v"XX^a 𷾏2u,VG, +SU6UV1]UM(PO%շ @& +@C1 SMqҲJJȁ%@ 䶸-pbJj[ (-uzZ59-#-9 +~P'`x@Ub")i-D M"x1c}A''& nke#*9'?RHb{z +Y@Se\92BIɩҖ2ęB>`DPe!fCB AXFS9LC(a P[gfQJ20]0fChIDD%^ ,UIR|h +{ z|wz08ĤP(hwʩDAW2,O?ɧzzi=Ϣ?Qatty`h +U @{f O`^ "PA|@[l lY+!P.P? +-!ȹ7n|%3MGǀ^1hhAD3dĂ23#}zq::^ lQiA| tL[sF3_  *RG<B01\^>}x87BY~`\|`hvc7<=BHsRZ¼$x+8D,9.DHZ!65KB/ +➰JD@h;F ȗli= =I& Ssـ) HyTzNN**.-K0$"~%.i"scCy9xob.LJCBNƗ@p~EIHF֖A孀3\*)ZV jAIaaPЂ!@W?$6`rt@>NW0zdX?:@"`*+FFFT:L9L9L9L9L9L9L?9|\H!WR- q`1 ^PX$eJ475o6(-S-eC]_qu5K1jYb/!@@tRsYuP(YCGTf $ER™fg_U&EGTn]38˹T&?T ?zG\@dR FAJrk'v6࠮Fb$Ӱ$+:Q 2Ȁ +P tp={}'-Œy +kPb6KXU|ց6nbYF %9. #3[؍\d$"iL=Hlե`"*oke(5P/j +[ADre CҌZߩ{dlr}/@x  V4}NY +/P?j&0Q9j#"F,ỶLͥӐ= j*DQ#E"ɡT"HK#K nU4KȣO8?6\S]SQT'9>2RP(W  `Q  LP^@ H +WèXP^.`l~4*U]h@~u\YI iJ#1%&Lrr"aܼgKB4V<)qP[A;: XU1S`q iEkTCP"Ear;V̵EJJ]T1% 2QMʔڬF_b31NkFx[etD@H,]T')HR4jMD<58x{ 0jL08l7oӠ . vUZlNwrmkt-ӌg + TYQUf# J$Wg yQĎXLgVE{P9VtfF'Πko +ޠnP\EF)"f/U{jf"攍ejf>6=f>F +tRV j hp[CS@g A +@ T0p 0 C4 +Pt,pB0 `59(A$Qa&”3ZŔayOF(p S2"ipXU=LCV`c$.3%UÌqk SͧA\%혣i1&T$M{08S.$Հjq: ^?,BQdsƪ@l0ok8LA(҄j_A7gDjwIie85UAؠ)>PRjLF (j^"XC$ Nx#b16 r(F5HK(6]VaXuPd{2oy>Nq]!gi !2$&_f{&A.ECxG\5sBg  5QӢ!f^´Vl*C!>np%MPnP CD=͆BIõ+C [1>4zEaADdXu$86ً`5;0-qQ2LP( ~"-X`*a Ĉ +Ը(sby$Q]M|+=jƒk2$TȪ^AjbDT`h׹IO:lěBKěf !uƻԈ"5OL=l09 ZQdjk7B;X"%N(<>^MV!2d y9 +uepĞK4zW\ Q eFQȣCQA(LD53ajӪ Ȭ&wTv@!Bۜ8sZp$g,-;U:2Av`тGI;>RZ>Pj v&>t@B{Da5LiB3e5ITi@y +-W*178#D& |5'QCdDӇd&DH uԻSwKȘ( +,`6# +VeIUM^LԄ:Bv5"^Fb1Q.6 + b$9el!CAO7sTHF)t>} $ZO6 Iؐ'"*퀪aam\3PD50z0ʔƴ= 1miX%z:Yܚ&6zԉ6DE6ğmjX*{xc*\-R0GMmqqYH8X%QTDT05QĺU֎ ۵NJ/DsST#AX"h{Zi0"l4x)7U*kI[7n n +aD^GVb G`Q;B5`LH|Wfՙ(S9:= ,>Ɉ!iq )Q름XWEڈpD̅.a*7R6r'BcMpūB2vgpc5c^#G dvtSL#] +/Q"/છ2Gfyh~*"AI¶%Z5Ra 4TtP}.ƚdbbb%۪}\VǢ!av!rIe1֪@3PBUK_^:ȨK,spB=K=O 5L_G*rO|aR!4{B*̓AoFhB"s4&*Q>D +?ݓN&jCNd z\grPIͦ2?X> QQG3`Y~\7d! 5/>,} QlE(b[jSC6QCm*rj7Vct(拘zylvx<)Oq6L}iBlw$^GZxNYb$Bq柋#X7f#:Z@&$FnyZh&b]? +t /Ũ +USY0烙 +iĜ TL< +59|FPJB>E*gaJSox'ݩ䉻#%" ]4F\d՛Bj7DQ"y44J\QBx c?d<2 be2R 0 A(Ajf [D 賲IY%QG]*<6M]@ ;6ow+uOdjt-k3gz\M]z^agi?܃aNul MO^!KuH*Rƒ0sGU5f _\ +y Vvf~3g(E q2}UK#lFi7y)CJ.]?#QCrz (:ξ*0;0@H`]lLǬEF %UCIKT#ynKQ Iz\FCSmp& E,dvKq8S9S2II83ywI?Uc1 +g[%8:L`f|OX=Df-K%gJ[Dw8ĕ^t:1rl;x%:38xۨ:Lt"T m^zN M+`p(.kUy< +?t8@wPc1pOl +tkjfK/JW Z +@B!ځaSAĻRs>n7WJ&*)Vr.|&>4icvAi_NЈ4H +Um?x=/sQ9Cy<^`JRriN# 9t1._QAʿ谇Km:}B_0QϠI팛Ԁ$nد%6Y:;3t;t{2(o^|ssd?L*ğ)?$ڀUӽSG|p`Gr7/YPF}xmCsxa.YmSh (}yHo1;'&EjtHüë+!|pGˠf-9G7ؤSm0XWJa{| y e)2odtY>stream +j@yE®%C% +Jrde'+HHD~j +=FvsIe](r.ڨHNN[AtO #OZy[o`YI7`& &bH1ME/P8W \E9zJMܴMm0"qS@f+0%#YJ[i$^S+7j2r WRl"D 34\O~qs \pMhFh;&z}Zѱj"~w9;i.C9,٤{Ed ʲR5D'96̩P|bısb;sRwc\H*y}L75toFAspٚWe"2n\Gs-d^161nݳ'z8ÁXR;{EM{ufJ\= FyNz$9ŔD$wY%mU^N`QZ_9b& <@Xꡦr[:d5VOoҩ&H$]L%>I)SKF"Mk˥y pʄomWWc'Ilaiђ $Q4=+=DX:!ZωF0I4kt;ƙd+Qw"Z+8>s꤂DXli8X8W gV7#Fu +b_CHL /i$*K6®QG<=Nj]c%5x`,i",ŴDI/2 :rh+ݒ$|+*m3I懹 l?-JIA +2 OnjQ77sb3ܝ4LVv_1 usN}dD|ȁPiis3#l^U5?4;B +:A|ѭ&^V^BH0 C8J=q)8AT6+KWS64RūK^;:`q/9>)i0਍>j:iJ=_$##/-D %HЩF~1z)}! @@2tu!\?ua nh6҃, bLVtIr#޺N1XofQz*YnD u?X&$RDTA)i3(8<@H F/'#AǛ>qA\"y:pw+yYS7H!)HcxjÚ@<`b.Dc llo3 tcy),ꨏp0TK ){|FP(>n(QjnA2%!q/-(m*s:/ fح|2W$1ykS#TIi7HNj6@MГfC+ѨVaT-.-/2UjVbrTm+j_s5"1y>۠=?{+n= ATnrk Mp& nIbnt%smU%@m4 T^;Dk`f63 >P ԴvשJAiҧ6`q`B_8b`'yR! `[[TqHp4m۾#E |@stJM ng捐*s<363{Αe!aAkPp?^cO=zBjII,~]Uxi MIoN48٪#esgbҐ1yJj v(TH'rfemܣGd>ȋT* (~-uw.\<3<951'`RK̃yCƐIZهR,f{b=l*FAi!j}ԆѬl_pѨC. "N(GGOϷ6 +QNIs='R1+,jg)>B83*19-b ¡P؎zXuTժ.p.2cЌBÖ8h;\24I(vw`号 y[*@Y'* 7E2UOg"mzTԉ[ |"]3[gCYAE/p*+\~5 $"6(IZAQuR 76/b񼺏j ʉ]] wƖxrLYQ) ]~_q-iŀfCV=SŗѢ7:芻ưxM =KQ>lA8PSQ9_ +&;G`dh%Ws3H~/BiXÕ4|M8љ[D ҄9v$-E'lat9}W|K3n*n4P@UNp&btRpPP}\g#dk5( ;U%q`8S|PrT잭D<åNKC2--6,v$ OZcXK>,T3ibnd $R>{ޝ(AY8!Vu( +V8<-@@Pb]1Čw {PJǙea%?`M@ *ф k] *+rFÓkCy)d8-Y$1MO@GG-i :u@bkEeQ-,0SI tlnVs!RojGu2vOU1&@) T.D<"DWD?/b9bxI*e ˀ|پy+eGA@ƽ PH+ -Ke5[{AXQktyuq#Hi0o5?{NCs5$e{~Ɲ4fh*+%8 W얹V/i1=f@ kAe5gEǥ̳g0RA *YDRIB45_0(r:〆ٛ^3c u+3H? Ե\S^+S|a/Ut h \]Xmg_ "0T:r&`7u8 #3l;HEc'F% |\nvV iF- )M]e췀{@>tU p# 5'xOhL|X6bS[7k)Q[? L  }@J[j t[]Zf0v_c} a+Yj 1H瞢T)Hy YHA|]5 å9X!iGPTǞ$dCo5+S^M@ L2Ju7)E@[0',y`i/!lq򒲆Tlb5B[i#B[0v;?Kp a?}wجDfX"`F)eEUS߰@Qgq_ }_&!e|W J +%J* +X$ | 0XN 08rd0^R+&inܘW k>@O,& Yoj|&w0@`IV +@%ً +PP0wh$jVVk|hRf,N֞rb'W(*=0.[FXWkt^C1!o#<,hi:mLD3b@T)!a)qa/ P] ħtׂX,3uU}_:JcݿGeDyE%b,uwqިῦRi.H)uʂCW\ @XOT} LR* Ѿ +<+"`cǺ5# k0;{8F U2)`6a($Ɛb.\f pm9{Uaˣvwb_rz ``HJI:qMb3H,Ы>^%׊aUez +8}U@^J'⇺AC0NT&%@h,m7|cL&Wۋ1)Y1VUl֤keplh-OdeԆNNatϴIIL, ќ%"i#Cɺp֊Ěl7>aJJ+(W,,@t)` 6=*YX {+aq=3YXp u"]abN,:W?`nwӦ*~A +DWGz WhgA6V>B>6l.>M.n3Q"PaaM܍7e +Q92`ΐo,ˑF*t +,XǢ-ڿ=xV`>p03^;2}%g^ǎW{G)X |c t*`R)y.,rR*a^y`ׂn +(Z0cv`-X dGv@SncXf4T ^d UI:a L S$Z=[ii_S TL+8H1ޙ#h7$2+p?#q00"uRiq +''+5 RdJ3:mb"W M%wCp: < pC*4ƒHlx*kӉ\Q0b‹TGhQۗrpҋNH8m(kboo#?MD&?E(AܜxVx"Zk78h0^Hq2n˧tN9SPQ`q-$G59ga&y2eayC,4)f rPoFLAq/`!3TZ2* #086N,35HӸ^8¥3/P$e!ڻxВ.+j̚ +3R}xhqDt٢M|~U=-"Os1uwBM ="%{xĊ1# CL8DB,.ZN "t(zibEXxr09O&&m|(- Wd9YCDܔH(f4*`TCC 2)99㑰dLID%TaD cI-DQS#ۓ\ǘţⵡƃk,fndА:E%k =&L'nWjEFTY@LpE5jZU7eVGĐB.BERcʉ56)r:j_u$vUa(hrb94Ȇ^ 2&Uצ*p6|Q[Ji|42/O.ц[UD$%a( BLHOQua@q! ״sD%H9|DXb(al*6'Lи @<=_xP3ykL `Exq*5 KV\NJU,M-P:&2Tq9 ?HK +dr}jmdRP\2]5*-E3yND fNPw) %l&M4J'"*ǩB1&ɟLfH4L +&``"u$d$Yͺ3< *8քB:K.FcCVBp ӈI͎*ۧ(V {OxMSh&k`U1B4|0.ˁݘVYٲGxSa^Q>awu*#m(;$FP + KoVP.hOo@R2ڽJ lFN<Ϳ4gި+BL94LEH4PkD׬`HbZC!A6{EoR +DP8$H4#VT8!:QL[0xja<$I T] :<|v*RҘM#ёF|؊F>MDʠG>j%tx@$@Qb>Ok'?C,:"W h"jY+W0ސH" .aN# +)}8F *Ș<` NzÚW m*EGr.1: -&&`ٰHjtW13"硺*=T:_tA:w)KS!j-Q\Ix {w,2u3d"L|U.p@ &` *2.@  * p\ +> 4 +< 0L@7>u:\>dG%EBr9pQӣB%"3N9Ի!Ng>cZŀUM47hK\(b9j>6TU4+g^$ /L#6*VJJ- ^) &s9C jdo]Fb!֚Pl6`6pu/2PмH_\i /[7@,عzf#&PKݲ*Va2N{[j Q̍5FUщqi , +kWYi2baRNPL4 j/ⴄ(3/٠GDB2@q=f5pXlV.3G"id pb U?RQtqT]tx"؀Z}\,NJyd)/z*hqi3 Ȍ4p M*316G dEK( 7?yLN 0ְIm> ً*n1W܍蛘 m6_ΔN` +&Iv]DlZ *Vpj"6P(DD}ӕUA'a{W:7,!oN$ 3V\Q&W^,yTKб3 ^c;d5vFGN/S+Aq5 aB Sab{WaPKyOxc]0y7˜?6>{jWjbFw$XY葡? ĸ4 %xN̰7<]0:Y0b &JP;afu<)#o9c#(A2hT8uTs%aQcDj"Xv4t: pHjۏ=Τ$ ~ aCFz^5s ck4┰_#G*-e=1=ۜHFWn9|6 x.$ohn}k&:lR&$کw42ln&he~1cCpC, v\5`cy|$$U^G'vz_!B,Z-\($yzwxnktKH?*-/}c;z7E5TXMǡ:zR7n쾯'B.)d쩙Rk} L2?9x*S+_Պpz,EOƑ+q2Un MOZ#Cx0G<ޯװ]18srxX +ˏ^K;C ^iK +38pQ#+ DZ/<^ixMןxmu |n>^iI^F(\SY 35ot^=NuO鞾] z>t~!^2@L:~FF2ֵתu2u<5< e9^lc?:j\shQ w'yV!yӪԧ( +8TjGK^M94pz9ϣr_T\{G>+=]\a>:v{q2V2oXAw3?Cs"I!M{'Ir]nYu'(c\\o4)r/{J'=Sl\A .U%T7?Qt\_Kxv62?[밠8;!͚1Y޷&q+vt.ޚ~f7=~,hIsו"S a02?34;5.U7|>>޵JnpM5~nŽLѶt謶oAo-\fydwqWcT(Wkm=ebE.@(qƩqA5֚Pt\ovg[A}q`VIƦm-$A2 ?d><6([ˠ-Y+ܪ?&gHjqN+#&^̤ 1[3+I)puЅ˫J\$HkR~e\#Gl/iuGNziTܜeC]Zi'R?ZBj'B_mېr:u*uYrط77۝t%kɀB6 +0hW-b K9k GBȘ~JeiPzҽfR**k>9 Xz Bs1Ǹ퐇~tL}C'-+n\: 2h1SKr%ؼtRǥt&Kex|[I-M;X41 xɰΗ2(WMz[{I8i& ͦ^Ӏl_¤ё +^B9|@g&0. 9V{Zd=U CJA*vM=&v;V>BgĤͲ tPdԱɁB;,RL:( nū̸LzX3飊8L:K ՙ t ~Yo v +D +]+ehIW?z5 +tH7klTNqV4(-L!+e߽-d%<{;a]VhkZ2ǩW]YU0i#KyHQG3@[&Flyp_hɈ4)vĆnn=s&~'+8Ci}щr3j3V7,m#lOyFljtZ{ W@~o־!#bsRf`@sΧxuM/ZCA[38_΋Fc39?T@bA +YpzhmM"r0X8g!24[x#|OQ͉؟vɏ=Aӹ;U j5(*Q1Y8&^a6A:c@xMacL"uX6Avh. ʄ O@ؼ hluW6nF[c5 HI&HRFyۯQ--'4 +Ϥ3urB*V A9-GӔ*a*ۅ #5jbe«V6c ̘ F뙤sqO3{* ԋonI,O׸I7V4p^;z$($S5LG;gF5svD!sx)WB>m֧2֣/iJ7Bdx$"ʒ4;ƼHoZtNcBA2.nQe*Ţ#a$Dji+6tw +ݨ!`- ƯUjqͣfb׻%PZƃ7h0){¿W>#R%q5uSv[a$U"Alqqd 3k,:y% szf~hcħ`0!WωY ~JJ&Cd֝O V6͗[ge@EҾ_dy28&IRtC# )B|AiY.E*p-UmX!l:k͜K ܻHe`[:CMDs3l˫ӑUX'(;يvzL z]\C-u֨~fOzktWȥ 쀈|$Ddg1o"G6|#-xݻ YV? 푇?O +m9QU=)BCOY<O=4_Ką.C pD0O+ ԍ`2!$Mu0+r: :Z.oz[g3([;PK35Xdf,3ATt"vLqW`PJGk4Pgy}vseP& 9w?ZnT?580=2(W}ShV^܂E#w(W蜶lF X}g"K)Eq$c7<*҄;ahJoO]8HE|Z" 0l:vCgQxR76#OSTT̴E>ԍm"չ!6i쐼_'PZF+f*_=E>ϜGTH"˼aB!P įp 9Iaԅ >;X*Ypsؙʕq^*T@t"ʠL;F ʬ{p ,& ŞVZYWƒ_G #APKJ# #傞+;9wf@L`ߙ*]#UEH{v5Eu23Hf]s sV'f%k E[GZB`^%<ˋdCS؃QzISC](냢G$)ZdTΑi9BߢF5Kk)(LJâ GNm5mDiH 4'#+ʹX fo?F|˰&%{>^&ZO2 Bj}VN2G墝ɴ (9c:!2!xR30v&M`2 $=gaG%j`Zrx# TY1iTZP;6xgR筺 y1W1t(kQ`bVCޔ6_}8"gT(pΛ ^D X\FtX0>]\Nوy㒳^ b&/QZ[dl W"`&6Jde^bsfFCIƐ#!mp!g(0b Mx=ۖJ!OW`YfP𲩱 4O5jst!Y"`PsɥlprV"T+v+HAw|r+V%@A6(% F' + p'gW.O"sQ*`TDnV!%\|y^Y0ճ X+B Zs>K5N]\Tr͂ᛊT}sq!ټ Duɨʅ^< }D r>/ExtGState<>>>/Subtype/Form>>stream +/CS0 CS 0.725 0.725 0.725 SCN +0.106 w 10 M 0 j 0 J []0 d +/Perceptual ri +/GS0 gs +q 1 0 0 1 92.5943 12.5728 cm +0 0 m +-57.189 0 l +-69.799 0 -80.022 10.223 -80.022 22.833 c +-80.022 80.022 l +-80.022 92.632 -69.799 102.854 -57.189 102.854 c +0 102.854 l +12.61 102.854 22.833 92.632 22.833 80.022 c +22.833 22.833 l +22.833 10.223 12.61 0 0 0 c +h +S +Q + +endstream endobj 109 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 107.549 m +40.102 107.549 20.659 88.013 20.659 64 c +20.659 39.987 40.102 20.451 64 20.451 c +87.898 20.451 107.34 39.987 107.34 64 c +107.34 88.013 87.898 107.549 64 107.549 c +64 107.196 m +87.704 107.196 106.988 87.818 106.988 64 c +106.988 40.182 87.704 20.804 64 20.804 c +40.296 20.804 21.012 40.182 21.012 64 c +21.012 87.818 40.296 107.196 64 107.196 c +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -87.0974426 -87.0974426 -0 63.9997368 107.5486832 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 105 0 obj <>stream +HMA?i$fB^֛Wgzl}ͭ>K`w]z΃Zv-m} K;^dwzZ_jOw:?c=O/X,%?%f};A֗i+)ǿXPz@''< yS@'< Ou +@: OyS@'<) Oy +@': NyS@P<) Ou +S@:) OuS@P':)NuS@P:) Ou +@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:}p j@EAg!LԚ9U+hO~oLP:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:}Wv:)Nu +S@ @ Mu +S@@[S@PؘP:=hؕPP'PP' n @Q@H`3 +{ Ľ66r؄(@;x'l$Ľ(@+;",$ + +@: $# @98 ,$PRN@+9% ,$" @K83,$p' ;= Hή@u=]n$p;W > D5psH&50nz_6=o_GDM/7?r闤LdL4L~֦}5_Q4LmdzMn #i}_\pGz;S1=Թ{s\f74=ɘ~?PpH~ +endstream endobj 84 0 obj [/Indexed 41 0 R 1 116 0 R] endobj 115 0 obj <>/Filter/FlateDecode/Height 502/Intent/Perceptual/Length 10070/Name/X/Subtype/Image/Type/XObject/Width 514>>stream +H엉BIguhPi]uuvv_g3ϣئj2ޠ2ߊƥ4PuyہRfWunkFvnF)j4\ݦz6opUҵ$Ly{4}f#y +6?Oۘn;o|[@|}4/PPpa3cp!G?j" B <gu[/O8ғUǁP E d~c~<T(B3P?Y}A8 A@^gyV3?8` +"nI;~}Yi` - $~|Y(Zj ` Xr Q>y/s,V%jAh  +A@>ySI֦SG b +ĀD!`O{{vޙ.z :,Q@At07~~>zϾӃ l1 +>, +& ;}67PիVrA@ +<@CCד&iQo")p@~LF p8gzq}ڝ~o/g(F `P8&,*O??>O΋{FyO!M@.U0 __~}4gP}+}9@ BC`I ` P??޳$GFH` 0 &4UPo $ +?Y}4gOPNgS.L0@9 b6r @@yY{r^ :o P ]U@ ho>zk!t)>lA@  @5xpTWW=#H 8  e@@] 5?>O֫T͐^%@  b jh 4?h>Y_>6Fŗ@` p1``$Pp_GyzOύ~'Ł@ 0 +8 fUAu P ,[~uWׯ4C{PQXpbp O ƍ@- `g~uTA(P"xD1q N]Ph[5M +QQ7)3{@@0Ɖ@@>xP>|t*Nςb0 8؄T + WETHBA `pH ]8vr+mPb?woi +i` $ U54bFJ@.zW q`p0 {@@ ow +Q`  f@&!@g@Q"G'Ph?|nb3U 1G45j +g6 Owvqp8!5@,x + ẀTjcE60/~! 5@Mc  :6 Ln ??n0"l +D+ `u؀0ph})!p &5M7< Or E  ?w0H`pQ@7A%#3`vnق`ߣNHAnރ S`#   `_aݾԪ<W h T"X\h 7L87ZXZ IX9! h M`f +$ g"&$kt>7!+ˋZz "v +DV]I@N +~U1b@ Fs@`M:@@@ݯ< +3GWB#U+j\_\F( $8h +=0\#4Ni_Vk- y w&iao\ [t =0hF@j +pc!G yN$3Ў *"נLt 7x,p ?L dx#S`=`#@w>( KQ"@2# #'o6+9{`^*ك03; #SE +|f: X1aɎW@֠N !?%3; pF2ƠA"Nnr;_(E@NH<"/g`T5S@{a@61u`G@`T!==B`BK ]z ;@;#`OB;X^M3;; u)q C NAŕ6]8뀺k +!{\Yw^KPfNt ! #(5P[M{B\"! vD0(PP|1@[0ށ(MI|1&%@OG\Y]"f  @: ~j ;pO(0vN}ox܎"ez <w_A p G/:1^1`/A逺_hڕ{;Cx=V@1ʆ/ <@nF TG'P"`\BlfG5CSp +R|N#itKӣ}ނH|R ܁G1>GI|B؂UI #;~^,0~!pYBڂ@%;p5) tz5r@GJ@w%Ƭ(h Vpw%%;P#0^yTBπG8K )%[Pj@9W7' s p Qv`= Sϥ<~@? ++S~FnASt lS s2fn6 i) P8:7" /<螜K7i`g܂eU8?; PJ`Ԁ}j V΀_qj xp +CقfS?!N^<~}Q !\ ^p`L =6-(<پ 8{#>?3}^@􇀙_>ϼf +f 3 Ap/13)XJLɗNAOxx +`L {8,5 xS^ٶSp\@p +Lħ7=yn VF@|줆 3Y{27Vcw NE;C} 7?h +^!pMj106 |?8<9K>p +&+04)Cn{2cQ9>Scp.>[1B3$.cp:_SE1pM9z\`[.F]s | s1,% A_@1)`l <K #SVYZF_(`"`Nͭrmgw}xQ NA+G/`sm%%+c0^ڪ{ǧI)q {͝j +X0B%ݝZyks=:aph<' ӹL@n?KDg"` +81;.p{{*`)" _,<-pyn$o˫J2/OOFUZ_f%`mvl3HV^.m CzP!@=CzP!@=CzP!@=CzP!@=CzP!@=CzP!@=CzP!@=CzP!@=CzP!@=CzP!@=CzP!@=CzP!@=CzP!@=CzP!@=ް엇Z"IguGG QrN&:[Qt?Cy"}/Vjv?x?>$b?>Fx߻r1wJ"gB;[k?WWWV$H(H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H Ѓ@=H,X"u+k $ŋNQ-rT<89W7=${ăN. B +jAM,{חfZ*d3xp藀' pIxx KC+#$/(n($`Q  m `;Mu4B0DF;'?XE'P)i,kDLP :HE@[p# ؜r8NNd:/UMBA 趛J1NX*?,v]7$`Q" \u I@&`e + +N$O !g>>:K' +5F@,;j + /F@Q+sD' %e 1"EX5ݫB$ XV4TtZjˤ# 55IZI@,)Ow=2[uI@8gLP +(8>%P*d3x4|FEp/-X' SJz wIfRgh4 ~d&K hb  LJnY1H }y +o9AH2" "F_:JF3`sp8 -b Vc`X.?5b + @.XBt P"ijSY_W ҀpDg=|@EVA!#ejS`M/NCdDXlƶ: Ep:lQ<`**HE`xk@j)SOOT@ E]L\$U0W"нXn`DRD  (H 89:1jo28tDDD`ѱNقRDT>4TAG±x2-h{k`iq-^MZDΉ̬^"@k =O{PՀtAD`QQKlAFȹe ,<4-8h8{P=b26<)-H5 i4"@k@@te9!@RfՀOj:{Z "<pM<^K@Հu=(k@~^_h5Kg!_t k #,& =\&@, +< XP0P'dI%Q{ѸxI'@x`:AJc J-LlЎ" '`(NP'`-8̗h[GMD`q:ujeθ.k`(k`9cjC\&8pk@`<5`=N@\_huh#y2+x~T'O0#2ط{O x&'眀,91v<%N@UX;l +*\.h:D=z:c%zP 5rD SPzXG@$92?R@%950:G` =@U`ORX$`ƖaE^ /:@-450 AM=%<@N@c^G@I*%vHh*!&J%OAP'@sAu T=T@ D x $OqP2􀘄9*z8lr<ήXa&l6(2/]P puY{!r68## +pt]DOxyHt T<^G@ARlbj 6`w>Ly== lP 7lk +`@-P>p!@sT47z@x*z@ 7Ȁx %. ;i`p'@KL^ dl0@1pv~-}TPx"@u!2#PI 8apx +Ax'! |%{ /f~LIؠ&{?w@O: 0[; +AI30LKI  $z!{A h >|yX0B #hU7` >95Unp~{@ ߄vxH(W\_]vFbfytIll\KT.0 @ Tyw?;|2hY܁< _,WjRU 4 Wxמ_{(%6C0@mnBl'iy82 0)Aw?kꀕR!<: EO3"@ @*2ҩ @pķi/:T +̤^mV'!'R* &Q @bǏ +J"<A#prz$M@6A@``* 'nED&c`! VH@K PPHܪ5ӳGvgw nuR .kl܀CXCk(6j [AHLg~]_p  +p PQ } +M+| MU@="n{Dh3:2o +l}Fl] +=Z_<VE@ iDh1~8 v¯{X`h|RmA5ރ| **I =H*4?`/+n/ FM׀} +޾98E "d240Gߤg;,7K  +1`@5{@E%Ѐ e>./)5}gm^*lw-)9AnՀ} +1fPɆF {O?`_{` خ +<oDp|vPQR8MOWA@@ (T:Gw/?}'o +PU-k>s::I` Z`PP%f8$G{ٷ?؅#kzdx +y@(,'8odO-?%7)msҁ(]hl=OV 2O +V 7 X@ ݆f3'zc7<Dk`ʁ ,p @<4/$Ie$@Mm +D h4A2xA??T5 s@E lhLJG|G_(6P VA逊%q`02~y_D @T +2X.A<0F|; ~^Ts 0T $@т[z̄Wat{}~o\@́r QoX`*0/[I'}~u{#t x{%]@ `&< üXN*ql7~AJ|yF|N 7~2aKO8e&Ѕ,-5嘜Gp>yS `@C9 .\ ݆S_7%^t /$@6O;?_"؁Jn4]\rI5<>_gp$ {.(|o>/#d@sgb/owX@ *9_Njz{!L:PW!륧WGL90 X5ʗm% E`~!GjD ԀD?O?3p I, uOQ p:i ;LI \(Bi}?KPZp2eB3A ??`JM`A.„`X+?ZiPsǐΧj‚ 8d5DFL?:}ʌ$BsĶm(l̍gg0s#-s̙{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzZ +endstream endobj 41 0 obj [/ICCBased 117 0 R] endobj 116 0 obj <>stream + +endstream endobj 117 0 obj <>stream +HyTSwoɞc [5laQIBHADED2mtFOE.c}08׎8GNg9w߽'0 ֠Jb  + 2y.-;!KZ ^i"L0- @8(r;q7Ly&Qq4j|9 +V)gB0iW8#8wթ8_٥ʨQQj@&A)/g>'Kt;\ ӥ$պFZUn(4T%)뫔0C&Zi8bxEB;Pӓ̹A om?W= +x-[0}y)7ta>jT7@tܛ`q2ʀ&6ZLĄ?_yxg)˔zçLU*uSkSeO4?׸c. R ߁-25 S>ӣVd`rn~Y&+`;A4 A9=-tl`;~p Gp| [`L`< "A YA+Cb(R,*T2B- +ꇆnQt}MA0alSx k&^>0|>_',G!"F$H:R!zFQd?r 9\A&G rQ hE]a4zBgE#H *B=0HIpp0MxJ$D1D, VĭKĻYdE"EI2EBGt4MzNr!YK ?%_&#(0J:EAiQ(()ӔWT6U@P+!~mD eԴ!hӦh/']B/ҏӿ?a0nhF!X8܌kc&5S6lIa2cKMA!E#ƒdV(kel }}Cq9 +N')].uJr + wG xR^[oƜchg`>b$*~ :Eb~,m,-ݖ,Y¬*6X[ݱF=3뭷Y~dó ti zf6~`{v.Ng#{}}jc1X6fm;'_9 r:8q:˜O:ϸ8uJqnv=MmR 4 +n3ܣkGݯz=[==<=GTB(/S,]6*-W:#7*e^YDY}UjAyT`#D="b{ų+ʯ:!kJ4Gmt}uC%K7YVfFY .=b?SƕƩȺy چ k5%4m7lqlioZlG+Zz͹mzy]?uuw|"űNwW&e֥ﺱ*|j5kyݭǯg^ykEklD_p߶7Dmo꿻1ml{Mś nLl<9O[$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! +zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km +endstream endobj 112 0 obj <> endobj 114 0 obj <> endobj 118 0 obj <> endobj 119 0 obj <> endobj 113 0 obj <> endobj 120 0 obj <> endobj 121 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -87.0974426 -87.0974426 -0 63.9997368 107.5486832 cm +BX /Sh0 sh EX Q + +endstream endobj 122 0 obj <> endobj 123 0 obj <> endobj 124 0 obj <> endobj 125 0 obj <> endobj 42 0 obj <> endobj 111 0 obj <> endobj 91 0 obj <> endobj 126 0 obj <> endobj 127 0 obj <> endobj 29 0 obj <> endobj 30 0 obj <> endobj 31 0 obj <> endobj 32 0 obj <> endobj 33 0 obj <> endobj 34 0 obj <> endobj 35 0 obj <> endobj 36 0 obj <> endobj 142 0 obj [/View/Design] endobj 143 0 obj <>>> endobj 140 0 obj [/View/Design] endobj 141 0 obj <>>> endobj 138 0 obj [/View/Design] endobj 139 0 obj <>>> endobj 136 0 obj [/View/Design] endobj 137 0 obj <>>> endobj 134 0 obj [/View/Design] endobj 135 0 obj <>>> endobj 132 0 obj [/View/Design] endobj 133 0 obj <>>> endobj 130 0 obj [/View/Design] endobj 131 0 obj <>>> endobj 128 0 obj [/View/Design] endobj 129 0 obj <>>> endobj 88 0 obj <> endobj 89 0 obj <> endobj 90 0 obj <> endobj 110 0 obj [/ICCBased 117 0 R] endobj 82 0 obj <>stream +HWn7WV\#@P (EN?d79H뱋WsV>>|¿S۲m(O??_z};}3귯`wFslvb3:2&Q^{*Xi<KINeڱ+|v:?n'ۓX]Rs:c:Me i| ,`:o+w;B셩u;aXxap֍o౮=\-R}cәw_T1&6:ѻ/t`jz{Tfz5Ɖ-Lh4 +F2>zUtɱ!kq0"#nHodadV(]6ny3邞 +Np), E A+^u)l@@ "%$|i4-ίVVNoQ6ĥ A#uu'xLlmlyNJX^wOa._ƹ6PwOupfÀEAGB}X+&dO>, +-`1o6hi1v wrɽtלk/:׳HK{;,қ,dPJRHG@-F3b Rl;:Q$g0xF%3;]Ȋ2(f0$$cзЭrp[>%GXwE=RbhNPh0%ea.fqbzQ#S/g"C_D(f$a>\A@+OЊD +Mp` r!R;;al, V9wr(0dpvXp8%5> endobj 93 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 20.434 m +40.092 20.434 20.642 39.978 20.642 64 c +20.642 88.022 40.092 107.566 64 107.566 c +87.907 107.566 107.357 88.022 107.357 64 c +107.357 39.978 87.907 20.434 64 20.434 c +64 109.038 m +39.284 109.038 19.177 88.834 19.177 64 c +19.177 39.166 39.284 18.962 64 18.962 c +88.716 18.962 108.823 39.166 108.823 64 c +108.823 88.834 88.716 109.038 64 109.038 c +W n +q +0 g +/Perceptual ri +/GS0 gs +45.7043571 0 0 -45.7043953 64.1565933 60.7857552 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 94 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 20.434 m +40.092 20.434 20.642 39.978 20.642 64 c +20.642 88.022 40.092 107.566 64 107.566 c +87.907 107.566 107.357 88.022 107.357 64 c +107.357 39.978 87.907 20.434 64 20.434 c +64 109.038 m +39.284 109.038 19.177 88.834 19.177 64 c +19.177 39.166 39.284 18.962 64 18.962 c +88.716 18.962 108.823 39.166 108.823 64 c +108.823 88.834 88.716 109.038 64 109.038 c +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -58.6434212 -58.6434212 -0 63.9998055 76.269043 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 95 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +84.937 98.025 m +84.945 97.989 84.951 97.953 84.959 97.917 c +85.094 97.888 85.099 97.919 84.937 98.025 c +73.146 72.454 m +72.595 62.609 l +79.097 55.526 l +72.595 48.443 l +76.893 43.761 l +72.595 39.079 l +73.146 29.315 l +54.853 29.315 l +54.853 72.454 l +47.58 76.176 42.621 84.219 42.621 93.463 c +42.621 95.01 42.838 96.44 43.056 97.985 c +43.845 98.133 56.605 103.481 y +56.499 102.903 71.501 102.903 71.395 103.481 c +83.722 98.177 84.959 97.917 v +85.272 96.398 85.378 94.987 85.378 93.463 c +85.378 84.219 80.309 76.176 73.146 72.454 c +43.062 98.025 m +43.06 98.012 43.058 97.998 43.056 97.985 c +43.005 97.975 43.004 97.987 43.062 98.025 c +W n +q +0 g +/Perceptual ri +/GS0 gs +23.1531162 0 0 -38.4417267 63.9400253 81.7712097 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 96 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 58.6104 96.2867 cm +0 0 m +1.997 0.363 4.084 0.545 6.081 0.545 c +8.169 0.636 10.166 0.363 12.163 0 c +12.253 -0.454 12.344 -0.908 12.344 -1.362 c +12.344 -4.812 9.53 -7.626 6.081 -7.626 c +2.632 -7.626 -0.182 -4.812 -0.182 -1.362 c +-0.182 -0.908 -0.091 -0.454 0 0 c +3.631 -52.836 -2.541 25.147 re +-15.956 -58.309 m +-23.026 -52.161 -27.502 -43.097 -27.502 -32.955 c +-27.502 -21.153 -21.33 -10.259 -11.164 -4.176 c +-11.346 -5.356 -11.527 -6.446 -11.527 -7.626 c +-11.527 -14.616 -7.443 -20.699 -1.452 -23.513 c +-1.452 -55.378 l +6.081 -62.913 l +13.615 -55.378 l +13.161 -48.751 l +16.701 -45.21 l +13.161 -41.67 l +18.516 -36.314 l +13.161 -30.957 l +13.615 -23.513 l +19.514 -20.699 23.69 -14.616 23.69 -7.626 c +23.69 -6.446 23.599 -5.356 23.327 -4.176 c +27.015 -6.403 30.178 -9.277 32.714 -12.603 c +26.582 -4.182 16.621 1.296 5.373 1.296 c +-13.263 1.296 -28.371 -13.739 -28.371 -32.287 c +-28.371 -42.782 -23.533 -52.151 -15.956 -58.309 c +f +Q + +endstream endobj 97 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 CS 0.058 0.058 0.052 SCN +0.035 w 10 M 0 j 0 J []0 d +/Perceptual ri +/GS0 gs +q 1 0 0 1 63.9999 20.4342 cm +0 0 m +-23.908 0 -43.358 19.544 -43.358 43.566 c +-43.358 67.588 -23.908 87.131 0 87.131 c +23.908 87.131 43.358 67.588 43.358 43.566 c +43.358 19.544 23.908 0 0 0 c +h +0 88.604 m +-24.716 88.604 -44.823 68.4 -44.823 43.566 c +-44.823 18.732 -24.716 -1.472 0 -1.472 c +24.716 -1.472 44.823 18.732 44.823 43.566 c +44.823 68.4 24.716 88.604 0 88.604 c +h +S +Q + +endstream endobj 98 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 CS 0.725 0.725 0.725 SCN +0.106 w 10 M 0 j 0 J []0 d +/Perceptual ri +/GS0 gs +q 1 0 0 1 92.5943 12.5728 cm +0 0 m +-57.189 0 l +-69.799 0 -80.021 10.223 -80.021 22.833 c +-80.021 80.022 l +-80.021 92.632 -69.799 102.854 -57.189 102.854 c +0 102.854 l +12.61 102.854 22.833 92.632 22.833 80.022 c +22.833 22.833 l +22.833 10.223 12.61 0 0 0 c +h +S +Q + +endstream endobj 99 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 107.549 m +40.102 107.549 20.659 88.013 20.659 64 c +20.659 39.987 40.102 20.451 64 20.451 c +87.898 20.451 107.341 39.987 107.341 64 c +107.341 88.013 87.898 107.549 64 107.549 c +64 107.196 m +87.704 107.196 106.988 87.818 106.988 64 c +106.988 40.182 87.704 20.804 64 20.804 c +40.296 20.804 21.012 40.182 21.012 64 c +21.012 87.818 40.296 107.196 64 107.196 c +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -87.0974426 -87.0974426 -0 63.9998055 107.5486679 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 100 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 107.483 m +40.023 107.483 20.517 87.977 20.517 64 c +20.517 40.023 40.023 20.517 64 20.517 c +87.977 20.517 107.483 40.023 107.483 64 c +107.483 87.977 87.977 107.483 64 107.483 c +W n +q +0 g +/Perceptual ri +/GS0 gs +52.3910713 0 0 -52.1408577 61.26651 71.6794434 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 101 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 103.84 m +42.042 103.84 24.177 85.968 24.177 64 c +24.177 42.032 42.042 24.16 64 24.16 c +85.958 24.16 103.822 42.032 103.822 64 c +103.822 85.968 85.958 103.84 64 103.84 c +64 20.5 m +40.014 20.5 20.5 40.014 20.5 64 c +20.5 87.986 40.014 107.5 64 107.5 c +87.986 107.5 107.5 87.986 107.5 64 c +107.5 40.014 87.986 20.5 64 20.5 c +W n +q +0 g +/Perceptual ri +/GS0 gs +43.5819511 0 0 -43.3738098 63.3764191 64.8112564 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 102 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 63.9999 103.6069 cm +0 0 m +-22.127 0 -40.129 -18.002 -40.129 -40.129 c +-40.129 -62.256 -22.127 -80.258 0 -80.258 c +22.127 -80.258 40.129 -62.256 40.129 -40.129 c +40.129 -18.002 22.127 0 0 0 c +f +Q + +endstream endobj 103 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 63.9999 106.569 cm +0 0 m +-23.986 0 -43.5 -19.254 -43.5 -42.921 c +-43.5 -66.588 -23.986 -85.843 0 -85.843 c +23.986 -85.843 43.5 -66.588 43.5 -42.921 c +43.5 -19.254 23.986 0 0 0 c +0 -86.069 m +-23.986 -86.069 -43.5 -66.555 -43.5 -42.569 c +-43.5 -18.583 -23.986 0.931 0 0.931 c +23.986 0.931 43.5 -18.583 43.5 -42.569 c +43.5 -66.555 23.986 -86.069 0 -86.069 c +f +Q + +endstream endobj 104 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 100.528 m +57.456 100.528 52.133 95.204 52.133 88.661 c +52.133 82.117 57.456 76.794 64 76.794 c +70.543 76.794 75.867 82.117 75.867 88.661 c +75.867 95.204 70.543 100.528 64 100.528 c +W n +q +0 g +/Perceptual ri +/GS0 gs +16.5319595 0 0 -16.4530048 64.19561 91.2625198 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 167 0 obj <> endobj 168 0 obj <> endobj 169 0 obj <> endobj 170 0 obj <> endobj 166 0 obj <> endobj 165 0 obj <> endobj 162 0 obj <> endobj 164 0 obj <> endobj 171 0 obj <> endobj 172 0 obj <> endobj 173 0 obj <> endobj 174 0 obj <> endobj 163 0 obj <> endobj 175 0 obj <> endobj 176 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +43.5819511 0 0 -43.3738098 63.3764191 64.8112564 cm +BX /Sh0 sh EX Q + +endstream endobj 177 0 obj <> endobj 178 0 obj <> endobj 179 0 obj <> endobj 180 0 obj <> endobj 181 0 obj <> endobj 182 0 obj <> endobj 159 0 obj <> endobj 161 0 obj <> endobj 183 0 obj <> endobj 184 0 obj <> endobj 160 0 obj <> endobj 185 0 obj <> endobj 186 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +52.3910713 0 0 -52.1408577 61.26651 71.6794434 cm +BX /Sh0 sh EX Q + +endstream endobj 187 0 obj <> endobj 188 0 obj <> endobj 189 0 obj <> endobj 190 0 obj <> endobj 157 0 obj <> endobj 158 0 obj <> endobj 191 0 obj <> endobj 192 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -87.0974426 -87.0974426 -0 63.9998055 107.5486679 cm +BX /Sh0 sh EX Q + +endstream endobj 193 0 obj <> endobj 156 0 obj <> endobj 155 0 obj <> endobj 154 0 obj <> endobj 151 0 obj <> endobj 153 0 obj <> endobj 194 0 obj <> endobj 195 0 obj <> endobj 196 0 obj <> endobj 152 0 obj <> endobj 197 0 obj <> endobj 198 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +23.1531162 0 0 -38.4417267 63.9400253 81.7712097 cm +BX /Sh0 sh EX Q + +endstream endobj 199 0 obj <> endobj 200 0 obj <> endobj 201 0 obj <> endobj 202 0 obj <> endobj 148 0 obj <> endobj 150 0 obj <> endobj 203 0 obj <> endobj 204 0 obj <> endobj 149 0 obj <> endobj 205 0 obj <> endobj 206 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -58.6434212 -58.6434212 -0 63.9998055 76.269043 cm +BX /Sh0 sh EX Q + +endstream endobj 207 0 obj <> endobj 208 0 obj <> endobj 209 0 obj <> endobj 145 0 obj <> endobj 147 0 obj <> endobj 210 0 obj <> endobj 211 0 obj <> endobj 212 0 obj <> endobj 146 0 obj <> endobj 213 0 obj <> endobj 214 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +45.7043571 0 0 -45.7043953 64.1565933 60.7857552 cm +BX /Sh0 sh EX Q + +endstream endobj 215 0 obj <> endobj 216 0 obj <> endobj 217 0 obj <> endobj 218 0 obj <> endobj 219 0 obj <> endobj 49 0 obj <> endobj 50 0 obj <> endobj 92 0 obj <> endobj 222 0 obj <> endobj 223 0 obj <> endobj 224 0 obj <> endobj 221 0 obj <> endobj 225 0 obj <> endobj 220 0 obj <> endobj 226 0 obj <> endobj 85 0 obj <> endobj 86 0 obj <> endobj 46 0 obj <> endobj 47 0 obj <> endobj 48 0 obj <> endobj 87 0 obj <> endobj 43 0 obj <> endobj 44 0 obj <> endobj 45 0 obj <> endobj 144 0 obj [/ICCBased 117 0 R] endobj 80 0 obj <>stream +HlUn1 +Ckݢ z M580C@F#D/t Xi׺>`-/nt-:^~ h|k*zaui +endstream endobj 81 0 obj <> endobj 227 0 obj [/ICCBased 117 0 R] endobj 78 0 obj <>stream +HdTˎ0 +fDJkӢE ݤv90hCه/G:<#}xᝒ{JNHmM}9=;"g +g>?xs8|sx#G2$5tka?egq'/fR*5\Z&N(31@$euD5vqndpLF-}%N SUR1BIXKzBf*rfJ{QTJ^б}@f>{mԼi &~.V8Rs>S )F EWk5dq Ҽc8`- yQ_7]yoi͡Y!(s58&v_8v237ujcMiv i(dU&:;^(ߘ"hJ #\ \p_m3㱻gx>,[S) j= +endstream endobj 79 0 obj <> endobj 228 0 obj [/ICCBased 117 0 R] endobj 76 0 obj <>stream +HlVێ6 }WERl>M> {(Yw&CQ巧pÇOaAGRz$#I?^÷5[)+??^r-?52f חi/RM J% t[YuF)+J*\2 +b&$,g̤&*-O; \i[v,\O]?/'kk Q܎L!^sXOd$HDwc-ۂ0KmA!~jۄC)2<:$ln2 w%Mn$6l!aۑRX:7V5F\dRGH<S{&E +yfp,U ọ0:Fz8"JȶBwW #Men o; (c})*"|۱!P{."ĩW߆L;6EfE Cވ=zAj(HT7uZjzj9&ii.\J@_vBBG2rr7 3x9@ҡVqXt5jOާ>*23Xm< ͈>0eP蜍R0~܍ZTKho={ +3t@'=SsfxL%4>{zL#sPy鵀I)JmжևjLφf#XAJmW{wE@0 LR+\ brG9e '6uÿeBgɇy&E/TN{!fX&pczzhos@fsQd{c#)."LC׶ mήO}("˙Yt˂ji wfm XQUS)#H)ass +H"1DyؚFe8Du Qn%.RـLg?Ο5PnIlj~3JLj-F_Q47.W=~GR9,1 +endstream endobj 77 0 obj <> endobj 229 0 obj [/ICCBased 117 0 R] endobj 74 0 obj <>stream +HlTˎ0 +E}mZh=\bE7iCb'E[3cHQhx8DL=T=gj8} 4^(pmT憯O?^ϰuqrXXR YC] 6=~7NB?w"WgܫKܴcո㞖%F7)dP% ((.sIk4K)vyˊl~tcMyܕKH$ڄ!p,[$.RL4*hI7j`+'{qp( %=dYOj{S,*)&ԆN`"DB,@NB#{ ϝ15@[Mj>iD jLucA#V9Nnkm3p}Un5NqZkr'!7&n*Jǀ f36 i栲A{Sp_ֶ61&goQtmL*fS +b' .ꈩMSB{c}Wsr;2 +endstream endobj 75 0 obj <> endobj 230 0 obj [/ICCBased 117 0 R] endobj 59 0 obj <>stream +HWێ7 },.٤}i.Ry-E8i7P 6<Cj|>;Y>|ǡZU| +*VŦ{aK&s;|b:.]Xd|i2.%k=9|l\ͽONμZ_ɌndόSx6ջx:@_=E^]8nBxD +9%lYb):)5td%dbLn,کEnWq4EޭSٍkEg<]8դ( W+ Ygb]DQUD?.TX[m%F[<6%.!Ygg<M/*fG bgY6h3ȚM7eR 8ih#oE^gӓaD*yNyM [X땰gL&D +nsR3W PΏjOj1^Qudӛz8$e/!\R`@|[>+@XXzTIlȺYI UP0{6YS*d=WtLSƀMU;GOq/*命Gxp/MV5Q"q(m;VM iH2AIp ZGw]1@ tʮzb]qY\>OnɝYY<(oSeq BkHQ%i p K (V# Z=Ɯgl-HD)Y3X=``^ňAQ`<+0^&Ar>ʄ׆I3GH ʕ"IV16"'hsqU.k"9_&JA6(\;n#o,F+!X$D[D];dlKmWv՟;:#Mя%3_0xMkklprqd' C9 +GɹC OC ~/+YmFn~4|XiI +endstream endobj 60 0 obj <> endobj 52 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 124.876 m +30.432 124.876 3.124 97.567 3.124 64 c +3.124 30.433 30.432 3.124 64 3.124 c +97.567 3.124 124.876 30.433 124.876 64 c +124.876 97.567 97.567 124.876 64 124.876 c +W n +q +0 g +/Perceptual ri +/GS0 gs +73.347496 0 0 -72.9972 60.1731949 74.751236 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 53 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 119.776 m +33.258 119.776 8.248 94.755 8.248 64 c +8.248 33.245 33.258 8.224 64 8.224 c +94.741 8.224 119.751 33.245 119.751 64 c +119.751 94.755 94.741 119.776 64 119.776 c +64 3.1 m +30.419 3.1 3.1 30.42 3.1 64 c +3.1 97.58 30.419 124.9 64 124.9 c +97.58 124.9 124.9 97.58 124.9 64 c +124.9 30.42 97.58 3.1 64 3.1 c +W n +q +0 g +/Perceptual ri +/GS0 gs +61.0147362 0 0 -60.7233353 63.1270676 65.1357803 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 69 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.988 0.988 0.988 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 81.2522 80.7289 cm +0 0 m +-6.657 -3.252 -10.749 -10.159 -10.749 -17.568 c +-10.749 -19.492 l +-6.024 -18.851 -1.588 -17.668 2.415 -16.045 c +2.441 -13.912 3.539 -11.914 5.357 -10.792 c +8.171 -9.055 10.967 -8.89 13.279 -9.71 c +16.664 -6.923 19.279 -3.69 20.904 -0.16 c +15.08 3.095 7.568 3.696 0 0 c +f +Q + +endstream endobj 54 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 63.9999 119.4496 cm +0 0 m +-30.978 0 -56.181 -25.203 -56.181 -56.181 c +-56.181 -87.159 -30.978 -112.362 0 -112.362 c +30.978 -112.362 56.181 -87.159 56.181 -56.181 c +56.181 -25.203 30.978 0 0 0 c +f +Q + +endstream endobj 55 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 64 123.5966 cm +0 0 m +-33.58 0 -60.9 -26.956 -60.9 -60.09 c +-60.9 -93.223 -33.58 -120.18 0 -120.18 c +33.58 -120.18 60.9 -93.223 60.9 -60.09 c +60.9 -26.956 33.58 0 0 0 c +-0 -120.497 m +-33.581 -120.497 -60.9 -93.177 -60.9 -59.597 c +-60.9 -26.016 -33.581 1.303 -0 1.303 c +33.581 1.303 60.9 -26.016 60.9 -59.597 c +60.9 -93.177 33.581 -120.497 -0 -120.497 c +f +Q + +endstream endobj 70 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 115.139 m +54.839 115.139 47.386 107.686 47.386 98.525 c +47.386 89.364 54.839 81.912 64 81.912 c +73.161 81.912 80.613 89.364 80.613 98.525 c +80.613 107.686 73.161 115.139 64 115.139 c +W n +q +0 g +/Perceptual ri +/GS0 gs +23.144743 0 0 -23.0342064 64.2739258 102.1675491 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 57 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +93.313 111.636 m +93.323 111.584 93.332 111.534 93.342 111.483 c +93.532 111.444 93.538 111.487 93.313 111.636 c +76.805 75.835 m +76.033 62.053 l +85.136 52.137 l +76.033 42.22 l +82.05 35.665 l +76.033 29.11 l +76.805 15.441 l +51.195 15.441 l +51.195 75.835 l +41.012 81.046 34.07 92.307 34.07 105.249 c +34.07 107.414 34.373 109.416 34.679 111.579 c +35.784 111.787 53.646 119.273 y +53.498 118.464 74.502 118.464 74.353 119.273 c +91.611 111.848 93.342 111.483 v +93.78 109.357 93.93 107.382 93.93 105.249 c +93.93 92.307 86.833 81.046 76.805 75.835 c +34.687 111.636 m +34.684 111.616 34.682 111.598 34.679 111.579 c +34.607 111.565 34.605 111.582 34.687 111.636 c +W n +q +0 g +/Perceptual ri +/GS0 gs +32.4143639 0 0 -53.8184166 63.9161148 88.879715 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 58 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 56.4546 109.2014 cm +0 0 m +2.796 0.508 5.718 0.763 8.514 0.763 c +11.436 0.89 14.232 0.508 17.028 0 c +17.155 -0.636 17.282 -1.271 17.282 -1.906 c +17.282 -6.736 13.342 -10.676 8.514 -10.676 c +3.685 -10.676 -0.254 -6.736 -0.254 -1.906 c +-0.254 -1.271 -0.127 -0.636 0 0 c +5.083 -73.971 -3.558 35.206 re +-22.339 -81.633 m +-32.236 -73.025 -38.503 -60.336 -38.503 -46.136 c +-38.503 -29.614 -29.862 -14.362 -15.63 -5.846 c +-15.884 -7.499 -16.138 -9.024 -16.138 -10.676 c +-16.138 -20.463 -10.42 -28.978 -2.033 -32.918 c +-2.033 -77.53 l +8.514 -88.079 l +19.061 -77.53 l +18.425 -68.251 l +23.381 -63.295 l +18.425 -58.338 l +25.923 -50.839 l +18.425 -43.34 l +19.061 -32.918 l +27.32 -28.978 33.166 -20.463 33.166 -10.676 c +33.166 -9.024 33.039 -7.499 32.657 -5.846 c +37.822 -8.964 42.25 -12.988 45.799 -17.644 c +37.215 -5.855 23.27 1.815 7.523 1.815 c +-18.568 1.815 -39.719 -19.235 -39.719 -45.201 c +-39.719 -59.894 -32.946 -73.012 -22.339 -81.633 c +f +Q + +endstream endobj 71 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.22 0.22 0.22 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 92.2746 69.1907 cm +0 0 m +-0.002 0 l +h +6.394 -11.422 m +6.394 -6.345 l +6.439 -2.933 3.489 0.029 0.057 -0.003 c +-0.037 -0.001 l +-1.657 -0.047 -3.3 -0.628 -4.594 -1.595 c +-4.936 -1.916 l +-5.083 -2.061 -5.162 -2.169 -5.244 -2.274 c +-5.365 -2.419 l +-5.444 -2.525 -5.565 -2.735 -5.655 -2.887 c +-5.983 -3.5 -6.163 -4.2 -6.171 -4.907 c +-6.176 -5.032 l +-6.176 -11.422 l +h +-22.368 -63.529 m +-22.837 -63.533 -23.414 -63.476 -23.939 -63.39 c +-28.319 -62.725 -31.774 -58.615 -31.703 -54.195 c +-31.703 -54.195 -31.703 -22.834 y +-31.703 -17.807 -28.323 -13.358 -23.6 -11.852 c +-23.6 -6.431 l +-23.6 1.937 -18.868 9.656 -11.547 13.232 c +-5.654 16.152 1.364 16.917 7.613 14.767 c +8.519 14.454 9.426 14.09 10.288 13.677 c +18.442 9.77 23.692 1.408 23.674 -7.624 c +23.674 -7.624 23.674 -11.854 y +26.69 -12.804 29.348 -15.126 30.685 -18.003 c +31.049 -18.781 31.341 -19.649 31.522 -20.482 c +31.582 -20.764 31.626 -21.036 31.663 -21.31 c +31.748 -21.833 31.771 -22.305 31.777 -22.834 c +31.777 -22.834 31.777 -54.195 y +31.777 -59.342 27.59 -63.529 22.443 -63.529 c +h +f +Q + +endstream endobj 72 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 118.8371 52.9832 cm +0 0 m +0.109 -6.655 0.375 -27.216 -0.111 -34.362 c +-0.38 -38.325 -3.337 -41.347 -7.304 -41.555 c +-17.684 -42.099 -45.945 -41.765 -54.571 -41.648 c +-53.02 -42.963 -51.528 -44.058 -49.121 -44.058 c +-4.987 -44.058 l +-1.015 -44.058 2.206 -40.838 2.206 -36.865 c +2.206 -5.978 l +2.206 -4.02 1.546 -2.064 0 0 c +f +Q + +endstream endobj 73 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.22 0.22 0.22 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 70.4654 58.589 cm +0 0 m +0 -2.344 l +13.198 -2.344 l +13.198 1.093 l +h +f +Q +q 1 0 0 1 100.0429 61.0422 cm +0 0 m +0 -4.797 l +13.02 -4.797 l +13.02 0.943 l +13.02 0.989 13.016 1.035 13.016 1.081 c +h +f +Q + +endstream endobj 246 0 obj <> endobj 245 0 obj <> endobj 244 0 obj <> endobj 243 0 obj <> endobj 241 0 obj <> endobj 242 0 obj <> endobj 247 0 obj <> endobj 248 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +32.4143639 0 0 -53.8184166 63.9161148 88.879715 cm +BX /Sh0 sh EX Q + +endstream endobj 249 0 obj <> endobj 239 0 obj <> endobj 240 0 obj <> endobj 250 0 obj <> endobj 251 0 obj <> endobj 238 0 obj <> endobj 237 0 obj <> endobj 236 0 obj <> endobj 234 0 obj <> endobj 235 0 obj <> endobj 252 0 obj <> endobj 253 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +61.0147362 0 0 -60.7233353 63.1270676 65.1357803 cm +BX /Sh0 sh EX Q + +endstream endobj 254 0 obj <> endobj 232 0 obj <> endobj 233 0 obj <> endobj 255 0 obj <> endobj 256 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +73.347496 0 0 -72.9972 60.1731949 74.751236 cm +BX /Sh0 sh EX Q + +endstream endobj 257 0 obj <> endobj 65 0 obj <> endobj 66 0 obj <> endobj 67 0 obj <> endobj 68 0 obj <> endobj 261 0 obj <> endobj 262 0 obj <> endobj 260 0 obj <> endobj 263 0 obj <> endobj 259 0 obj <> endobj 258 0 obj <> endobj 264 0 obj <> endobj 61 0 obj <> endobj 62 0 obj <> endobj 63 0 obj <> endobj 64 0 obj <> endobj 231 0 obj [/ICCBased 117 0 R] endobj 39 0 obj <>stream +HVn\7 }_0D-qҾ$hh^Q8h )bwxx<˽9|g}Ur*w*VkU6Gb7MpL޶d3ԏ6H2Bwl#LgrY{]̞qQ2Z!|{a? j"fA W.\]YzIbż~;B rΉkNȉd|~2>9]M>^o斞ټ_Ln?3ͪlG O1y'c ʋWyug=+Išr0߻)YN JXs YHjpw{ec4^>5Drch+,;t*.Mď Zp)>( NAꎠ5'xln3:loęr:mn;7wa: +endstream endobj 40 0 obj <> endobj 56 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 115.139 m +54.839 115.139 47.386 107.686 47.386 98.525 c +47.386 89.364 54.839 81.912 64 81.912 c +73.161 81.912 80.613 89.364 80.613 98.525 c +80.613 107.686 73.161 115.139 64 115.139 c +W n +q +0 g +/Perceptual ri +/GS0 gs +23.144743 0 0 -23.0342064 64.2739258 102.1675491 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 266 0 obj <> endobj 51 0 obj <> endobj 267 0 obj <> endobj 265 0 obj [/ICCBased 117 0 R] endobj 37 0 obj [36 0 R 35 0 R 34 0 R 33 0 R 32 0 R 31 0 R 30 0 R 29 0 R] endobj 268 0 obj <> endobj xref +0 269 +0000000004 65535 f +0000000016 00000 n +0000000245 00000 n +0000023840 00000 n +0000000000 00000 f +0000023940 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000029615 00000 n +0000000000 00000 f +0000029688 00000 n +0000029862 00000 n +0000032629 00000 n +0000098218 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000024596 00000 n +0000025365 00000 n +0000025822 00000 n +0000026279 00000 n +0000026736 00000 n +0000027193 00000 n +0000131674 00000 n +0000131761 00000 n +0000131837 00000 n +0000131931 00000 n +0000132018 00000 n +0000132106 00000 n +0000132187 00000 n +0000132264 00000 n +0000174039 00000 n +0000028043 00000 n +0000172126 00000 n +0000173074 00000 n +0000127117 00000 n +0000131150 00000 n +0000154049 00000 n +0000154173 00000 n +0000154296 00000 n +0000153550 00000 n +0000153674 00000 n +0000153799 00000 n +0000152070 00000 n +0000152214 00000 n +0000173729 00000 n +0000159514 00000 n +0000160024 00000 n +0000161250 00000 n +0000161724 00000 n +0000173137 00000 n +0000162881 00000 n +0000163871 00000 n +0000158163 00000 n +0000159451 00000 n +0000171595 00000 n +0000171718 00000 n +0000171841 00000 n +0000171966 00000 n +0000170224 00000 n +0000170376 00000 n +0000170528 00000 n +0000170680 00000 n +0000160675 00000 n +0000162353 00000 n +0000165085 00000 n +0000166403 00000 n +0000167007 00000 n +0000157413 00000 n +0000158063 00000 n +0000156155 00000 n +0000157313 00000 n +0000155467 00000 n +0000156055 00000 n +0000154456 00000 n +0000155367 00000 n +0000133664 00000 n +0000134774 00000 n +0000116760 00000 n +0000153310 00000 n +0000153437 00000 n +0000153924 00000 n +0000133278 00000 n +0000133390 00000 n +0000133504 00000 n +0000131327 00000 n +0000152366 00000 n +0000134837 00000 n +0000135537 00000 n +0000136238 00000 n +0000137213 00000 n +0000138418 00000 n +0000139090 00000 n +0000139644 00000 n +0000140348 00000 n +0000140869 00000 n +0000141530 00000 n +0000142003 00000 n +0000142633 00000 n +0000114941 00000 n +0000028645 00000 n +0000029551 00000 n +0000113686 00000 n +0000114241 00000 n +0000133627 00000 n +0000131263 00000 n +0000129868 00000 n +0000130265 00000 n +0000129932 00000 n +0000116804 00000 n +0000127153 00000 n +0000127209 00000 n +0000130077 00000 n +0000130174 00000 n +0000130382 00000 n +0000130437 00000 n +0000130751 00000 n +0000130829 00000 n +0000130978 00000 n +0000131075 00000 n +0000131471 00000 n +0000131568 00000 n +0000133160 00000 n +0000133192 00000 n +0000133042 00000 n +0000133074 00000 n +0000132924 00000 n +0000132956 00000 n +0000132806 00000 n +0000132838 00000 n +0000132688 00000 n +0000132720 00000 n +0000132570 00000 n +0000132602 00000 n +0000132452 00000 n +0000132484 00000 n +0000132334 00000 n +0000132366 00000 n +0000154419 00000 n +0000150478 00000 n +0000151055 00000 n +0000150542 00000 n +0000149274 00000 n +0000149671 00000 n +0000149338 00000 n +0000147790 00000 n +0000148358 00000 n +0000147854 00000 n +0000147726 00000 n +0000147662 00000 n +0000147598 00000 n +0000146970 00000 n +0000147034 00000 n +0000145600 00000 n +0000146059 00000 n +0000145664 00000 n +0000143718 00000 n +0000144484 00000 n +0000143782 00000 n +0000143654 00000 n +0000143590 00000 n +0000143156 00000 n +0000143220 00000 n +0000143373 00000 n +0000143470 00000 n +0000143935 00000 n +0000144106 00000 n +0000144233 00000 n +0000144357 00000 n +0000144601 00000 n +0000144656 00000 n +0000144966 00000 n +0000145044 00000 n +0000145201 00000 n +0000145372 00000 n +0000145447 00000 n +0000145525 00000 n +0000145817 00000 n +0000145938 00000 n +0000146176 00000 n +0000146231 00000 n +0000146539 00000 n +0000146617 00000 n +0000146774 00000 n +0000146895 00000 n +0000147151 00000 n +0000147206 00000 n +0000147520 00000 n +0000148007 00000 n +0000148128 00000 n +0000148237 00000 n +0000148475 00000 n +0000148530 00000 n +0000148840 00000 n +0000148918 00000 n +0000149075 00000 n +0000149196 00000 n +0000149483 00000 n +0000149580 00000 n +0000149788 00000 n +0000149843 00000 n +0000150154 00000 n +0000150232 00000 n +0000150381 00000 n +0000150695 00000 n +0000150843 00000 n +0000150949 00000 n +0000151172 00000 n +0000151227 00000 n +0000151537 00000 n +0000151615 00000 n +0000151772 00000 n +0000151920 00000 n +0000151995 00000 n +0000153089 00000 n +0000152872 00000 n +0000152518 00000 n +0000152639 00000 n +0000152757 00000 n +0000152969 00000 n +0000153186 00000 n +0000155430 00000 n +0000156118 00000 n +0000157376 00000 n +0000158126 00000 n +0000172089 00000 n +0000169605 00000 n +0000169669 00000 n +0000168981 00000 n +0000169045 00000 n +0000168917 00000 n +0000168853 00000 n +0000168789 00000 n +0000168354 00000 n +0000168418 00000 n +0000167731 00000 n +0000167795 00000 n +0000167667 00000 n +0000167603 00000 n +0000167539 00000 n +0000167475 00000 n +0000167912 00000 n +0000167967 00000 n +0000168276 00000 n +0000168571 00000 n +0000168668 00000 n +0000169162 00000 n +0000169217 00000 n +0000169527 00000 n +0000169786 00000 n +0000169841 00000 n +0000170146 00000 n +0000171379 00000 n +0000171258 00000 n +0000171040 00000 n +0000170832 00000 n +0000170929 00000 n +0000171137 00000 n +0000171476 00000 n +0000174002 00000 n +0000173665 00000 n +0000173881 00000 n +0000174113 00000 n +trailer +<]>> +startxref +174306 +%%EOF diff --git a/share/branding/keepassxc.ai b/share/branding/keepassxc.ai new file mode 100644 index 000000000..b1574e45b --- /dev/null +++ b/share/branding/keepassxc.ai @@ -0,0 +1,1872 @@ +%PDF-1.6 % +1 0 obj <>/OCGs[24 0 R 25 0 R 26 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + Adobe Illustrator 27.2 (Windows) + 2023-04-23T23:19:03+02:00 + 2023-04-23T23:19:03+02:00 + 2023-04-23T23:19:03+02:00 + + + + 256 + 84 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAVAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FWmdF+0wHzOKtetF/Ov3jFXetF/Ov3jFXetF /Ov3jFXetF/Ov3jFW1ZW3Ugj2xVvFXYq7FVsssUMTyyuscUal5JHIVVVRUkk7AAYq881n8/fy40+ 7+pWl3Nrd7yK+hpUJudx4SVSJv8AYucbVDH8+dOCc28n+aFSlSx0+OgHjX18FhbTDy9+ef5b61Ot r+kjpl8xI+qakjWrAgVoZGrDU9hzrhVnwIIBBqD0OKuxV2KuxV2KuxV2KuxVB6vrOkaNYyX+rXkN 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 + + + + 1 + True + False + + 128.000000 + 128.000000 + Pixels + + + + Cyan + Magenta + Yellow + Black + + + + + + Default Swatch Group + 0 + + + + R=252 G=252 B=252 + PROCESS + 100.000000 + RGB + 252 + 252 + 252 + + + K=50 + PROCESS + 100.000000 + RGB + 14 + 14 + 13 + + + R=106 G=181 B=54 + PROCESS + 100.000000 + RGB + 106 + 181 + 54 + + + R=46 G=107 B=38 + PROCESS + 100.000000 + RGB + 45 + 107 + 38 + + + Branding Primary + PROCESS + 100.000000 + RGB + 97 + 153 + 48 + + + + + + + application/pdf + + + keepassxc + + + AIRobin + Document + xmp.did:15104d2c-f19a-5647-92fd-ebfb7e2a9d9c + uuid:a5c10b3a-0105-47dd-9dc7-c8c8656a539d + xmp.did:2520a7c9-03a3-1044-b2dc-89724d81ad50 + proof:pdf + + uuid:fbc32be4-4dc7-432b-b68a-63696265f39c + xmp.did:5ec6b319-42f4-834f-9a94-1742c43249e6 + xmp.did:2520a7c9-03a3-1044-b2dc-89724d81ad50 + default + + + + + saved + xmp.iid:2520a7c9-03a3-1044-b2dc-89724d81ad50 + 2020-12-19T13:48:23+01:00 + Adobe Illustrator 25.0 (Windows) + / + + + saved + xmp.iid:15104d2c-f19a-5647-92fd-ebfb7e2a9d9c + 2023-03-30T00:28:09+02:00 + Adobe Illustrator 27.2 (Windows) + / + + + + Adobe PDF library 17.00 + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 5 0 obj <>/ExtGState<>/Properties<>/Shading<>/XObject<>>>/TrimBox[0.0 0.0 128.0 128.0]/Type/Page/PieceInfo<>>> endobj 23 0 obj <>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 128.0 128.0]/Type/Page/PieceInfo<>>> endobj 28 0 obj <>/ExtGState<>/ProcSet[/PDF/ImageC/ImageI]/Properties<>/Shading<>/XObject<>>>/TrimBox[0.0 0.0 128.0 128.0]/Type/Page/PieceInfo<>>> endobj 51 0 obj <>stream +HWn7 }WV+J.qҢ@HXum:6#a# x(ӝ<;)?i7qUSJHdr`+2GI>F^U_=ZVN$j +cTHŰL)z &,P火Unt.V ]ĊF7`{Q.y؃:gY<_ B'FEv8 h0ETf}OZ~{>P4ֿSЧi>NFjnR3js隋X: ;ܡjEp#~-oGj-3m݋j! +endstream endobj 52 0 obj <> endobj 9 0 obj <> endobj 11 0 obj <> endobj 12 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 24.0 +%%AI8_CreatorVersion: 27.2.0 +%%For: (janek) () +%%Title: (keepassxc.ai) +%%CreationDate: 4/23/2023 11:19 PM +%%Canvassize: 16383 +%%BoundingBox: -142 -14 262 115 +%%HiResBoundingBox: -141.500194631545 -13.8897637794908 261.999999999991 114.110236220508 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%AI5_FileFormat 14.0 +%AI12_BuildNumber: 339 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%RGBProcessColor: 0.382499992847443 0.600000023841858 0.191249996423721 (Branding Primary) +%%+ 0.057919479906559 0.057945560663939 0.052277076989412 (K=50) +%%+ 0.417439699172974 0.709999978542328 0.212999999523163 (R=106 G=181 B=54) +%%+ 0.988235294818878 0.988235294818878 0.988235294818878 (R=252 G=252 B=252) +%%+ 0.178956523537636 0.419999986886978 0.149739146232605 (R=46 G=107 B=38) +%%+ 0 0 0 ([Registration]) +%AI3_Cropmarks: -162 -13.889763779498 -34 114.110236220502 +%AI3_TemplateBox: 50.5 49.610236220502 50.5 49.610236220502 +%AI3_TileBox: -383.600006103516 -358.789757675982 187.600006103516 459.010230116986 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 6 +%AI24_LargeCanvasScale: 1 +%AI9_ColorModel: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 3 +%AI17_Begin_Content_if_version_gt:24 4 +%AI10_OpenToVie: -301.827610325819 270.77290632912 3.88349315223746 0 8242.54634672557 8217.66620684501 3147 1901 18 0 0 6 181 0 0 0 1 1 0 1 1 0 1 +%AI17_Alternate_Content +%AI9_OpenToView: -301.827610325819 270.77290632912 3.88349315223746 3147 1901 18 0 0 6 181 0 0 0 1 1 0 1 1 0 1 +%AI17_End_Versioned_Content +%AI5_OpenViewLayers: 777 +%AI17_Begin_Content_if_version_gt:24 4 +%AI6_ViewPalette: 0 3 4.52777777777778 8162.61349693252 8190.55214723927 0 8162.61349693252 8190.55214723927 0 3 7 +%%+ 77 Fully Shaded, Precomposed +%AI6_ViewPalette: 1 3 4.52777777777778 8162.61349693252 8190.55214723927 0 8162.61349693252 8190.55214723927 0 3 7 +%%+ 77 Fully Shaded +%AI6_ViewPalette: 2 3 4.52777777777778 8162.61349693252 8190.55214723927 0 8162.61349693252 8190.55214723927 0 3 7 +%%+ 77 Flat +%AI17_Alternate_Content +%AI5_ViewPalette: 0 3 4.52777777777778 8162.61349693252 8190.55214723927 0 3 777 Fully Shaded, Precomposed +%AI5_ViewPalette: 1 3 4.52777777777778 8162.61349693252 8190.55214723927 0 3 777 Fully Shaded +%AI5_ViewPalette: 2 3 4.52777777777778 8162.61349693252 8190.55214723927 0 3 777 Flat +%AI17_End_Versioned_Content +%%PageOrigin:-247 -370.8897637795 +%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 13 0 obj <>stream +%AI24_ZStandard_Data(/Xl4jK.D +fn;?j"nL̔((A~J +w  ن yΜ_9kǼ[;giq{}o=ss8go\[_No-o5|_}|{ߛ[}~k/{m{.8kb30 C0Zw]u؁^׽~~_y^wa[q徹y㎽ֽ_yߙ_zۭ^|ݟ͸}ckŽgl{{y9ߏwo_..~glbzw_nc?vZ~Z{{w-{c{}έsŜtv|mxa Ϲ0p۞ߛk,®`v [:ԠP7noޅy^y{W=;_=]w\ ӡ.{:>BOw?O_? ^9xa``-.k/ 9X16s|/r-: 1v`y]=?}o}_o{umyAqs3rzoE}a{Y3;gCl=|> _g ^wuV{0]~ x-bsq{aywwo}|w~ƞ[w{Ynߺ_9<5wϟV-ޞ_f]l;mZcZ{ݙg5ln1|{7[gcolۛyr-w;񅁡9<"vs}w{{`حߞ>ߟ>h.wzyׁ]؉io{!6ߌs:3=s/bjZ뭹kN{ӟuEm[ovmp;r3\9s?8s5rq}wxmwAN5[kV.:|!;1s00ow1kq߅m[=az׳N.ww݅m.v/@r6޽=c-g3|Vm_|9@ A qC= 0 ЊWbE.vы_DODP EQ_6sac|7w򻯾khC zz-j-Z{a~{ _n:CгVFۅіY{33 g6˲m߯kW_ݚvoܭ;s^c9{af2$㛡2!a֓,Mc9 X\U!,k:Vji)TPM'iBkڭiZG e5BlJe+,Ou(`CR[kLQi_J ZrTHs4UR*c]KS)c&\K$KMI 5IgJ F2IF)JXE2 ,KcE2Z"1HD(St-ȅj,Q-4 :,SЉ.lVk%C(DSYHu= +Lgmpz')>[ﵞ2݌=[s2ݳD(kULiL2{mϸ>ϿΗs_7 r]Is@@m"G3 xjvqkͺ9vk-sbq:s9lus9ǽs_qwk%Ðu8Igdu1fENh=DYHoo0jJVLT%V}GS4I7ÐX +tTiaԵ<Rl5XuhM&Ot!@H?fl ;9%wg{ybs_g\G"Ζc~-FU㊅-K0lf3 [mɶ8c_ٌgx}&4D|z] 6נ!e~3_vfgݯ۠m9|o}[f*SP6^$gjͲ]{ m2:u%C$j\qF=ÐQ}sIIҪ`2˖7—lW)*f)6.LUM/ 5MR"דD |FMQT,)h=Uvan1{q׿גmo_k7wUDض fL_Kd:KBm3,P(=_̽Y_2 C#xUY$d\Km0I$sĈd1q9RMIsm0iI")骶Le]G22e IBM%Ҷc:Kd*LLZ323R%SU:zR4WBAM`L7=5EL$izצW*ͳ\UĪ*=(ZcIG9!LBU:x똒');g(({9ih)u=Q1%;ں)86Z:QjY#Y +@=Y X*Kd +ڈBQhywZ2I +\D;bfQ& +z|$o{96 +42pVLonkݜ۾y{v') $ՇHfw0U4K4Kq-[t] #"مefh,flDn,!F "DRD6%K?&&UhJ:zҸLRKv/]$YґqI ?%g'zv dgٹ\JКv^3ȅI"f:Ñ2%UjE$j{y~q ǽ"h|awy_0y>~°Y`~ uCοcr8ߎys6{qg۱ǾosW;g9e{|:{5g3ݯky]恡$P2MUfJR'CNiBqF僓ԊJ@DnIɄheJmp頥Jۅ_j MRHd@C#@3R8ciPhq䂒(pF7z@X8-V(*H\Va((G $i;t'$*8(0NxBPJ DɣBED( +fN)Dc Nb0$$dR5"Cp +LxQi@:(Or(8x +ECs`I>!RezxPªAs񢆎5 t4H8İ]*z֩BcX-Ec + 0Si5&>Z}@‚cC,L[H:eA#0<|p|^+`LR +R.#Gr #Y0H'CR )PAfpKn>+Mt!Q}*Yº'(Ùt2$ v6L ,΀hdPJ $cIh,N +?pJ)PAlG@q%$@*@ . 4p(1)h !b0 S)_1@^TYA|q|N2g! x;I45uΈzDbӷ M߹f$Q..o2}Re)mF{([ȪV$HL"t"@S (|0+rAbBy>C$C +Hp,auL`ܕ΋~tqGǎ Epva +vUiwf Y%К`qkmAX(!ECK^1Bl_H KANh\3:#7P "]Xg8g£p6eI5p*’)Ȃ̎"ctLP2Ţr8iU EAZTJQ +qs"zCcpރAHI#<,PN1%P&F:(U$M,HTb2 9&*d|xpJM73$ۅi2/!BbRq +fl$jdD.A$F̈+)Gtd@'A cD0H?q l9PGaHējY@XP ЇhǃP0@ +D\H > KAcb. m< *ǩ<:"ylʃaՃ{0TMcU:6c%iP[ڐ$ϖbHmz[PQop7 +H),D< ZmV@KP :3D 0P+ taro@cu2#?zF6W 4{p: ` *" ֯p@$ (@C!'ath8p. +J~lׁC8Rp ?@vab5*XU#Cl`WH  hV Z'ӧAPh +NCw,F!52$҃F4(N A#Y nl =q|CD*x8Gj m}P-CC#260iIl dC]X`@ +hhi'AHP4 hehևQ6 $j#FO'O@C4'!:@.l-4 !hksttfp-5ի1VV3(QMb!qFHaD5(GЙhh(h&m,m?MKM#QViEӴ%Q(MӴVih Q144M}ii4 SC[.r%@すrw$w@ۜpQRZ+ԡ +Pд*r9';iۦ. 1q o(!ZK +?*p'V]SN +csaר$e(V}Մ*0 gO E$. +Z/ +!4WR0'*u8pBW]a.S@80*SxI Tb"ۅ({hL ]C os5!7p 6hFi*M,:MK4va#iCr:@59=H4@ +lFɬRϢ8Ł֣@+{2)Q 7 Šs'^(njC\<(dkb: *N`EhyHO E4;8j-T4M m454qvaMN 44MkD4Mceߕ0 AtB I2*D[4-4m ym|C4M4U;MӴt@ӴaHiZOva5 M/$V@!Z_#=`C-d m >LFBy +5M+U, =o:dzTh2Vi~.sR{4+R@XyLici4IY—D28SZb$q$ÚzY,sUד,SM XI5M9րzJYv-WAZIuYPΔJ5MQkɝN(y4RXȱXr-SkʭLx$&2U%q*K%u4O* n1ofc Qɩ3%TJTVb+L)3gy"\bZ*]Oĩ\b%.eHsLIӘR9e<ʙSP,kBWTY2}B%*Lk@ly X2o.6R*|"dwE=ՖY:9r=I3֑'ZiBS%u%kSlKRD"!Vuʴ w HyJONYRRiXcPYfkde蚙HZ(*ev# +uki"de-'s1#A6=5n2(>d@N ȩ9DEx?FbsPT**zxx20+Aau00`4+IpV  a]Mª =P)T Hjj/ FUGiTx0LU4]DYESPe(Z#U@CDSYX?h$ שP$@.\sx>{9ċ`GCNvs_ ,w\E0h1D0QRw0{>"Ć%aI"*$rzT>Q=DTJT*ia_j0-D*x(Hfh$ +Ʉ"$P] دs;vu䄕9&!ҹ3qs5 9a!`HRj.8V +F4*F m2VBZ hT@HDx^zUoLPWi3fyU&]OcLʈc&nR"ZD(oEbcPBNL" 'DT"iK'"psղX|O:X*4-rZAGH袲ѪP __TB2 x2P y (>B ' 0Y (>ۅ} ntjh+va_XDUq怑h?} E EȝE -DmpZ4EnFdpq/Iu  .j,}lvaӱ"Kǀ/F.}'SQI +HDHD$"(}'TR:ddQĀ)F2!2taȠȠȠȠ"clEE"((e@Ng@NFFA\ ;x0|D0"TU>JEE MH Ғ$AAIkmB6TԣF6Ů@ ÷.sM~t6Ê`4€tXʃ&ksi%\MDPrϭ$":' `rNXX W0"2 'MI&o8`dk9Vob)\ئ6 +BF@QwEx ͺЬ(ML1YTœƉDU 9i6CiY@ +\ +nL +`OcL<=ƨ1 +Q^Z$R610x "^EqO$SKb}t6DF!0`4Z8L1`Hk %|p ҊD8Pwۅ8Q+‹BT҂ +ɐ K@#NP}*rz*[PrH_,d`g&L]6L]<(8㠛\ad۶0"؃P&h TQO&V@0pE1:/_ &2,>0zφ86|`.l$/9x.舖FD$  oiVH?pl2Kl>sJ N +4mE\,ć xA#9T ifa\ ɠ8  62l)"^@l=4wQ4`(t *awwQ'F+)p}dx. SBBD8Z @,ɧmVvaVz +IsJ/ BSW.M/+ArAffAL [IUiB)JGeI T!IX-XE+ %$K 0cpߨ`tb)X +>Q@ 'ƇWhB "ЩiH+s0❆BN`4T +C9F~]7Bŧ'+bۅ 8mZEj2 +&P(\. N;+aDQ +u0a"wPhhq$Ԕ +" HW 4L.vadG=J5ZfmW.@h܂~j7J> #+F<(va Z1)#0Pçj n44H9,.cn.* + +|Dd?/b@3 +.QILJ&o:(Ӊnf Lv8`hQE^J!8X$KPH0 Yۅ1H>mnrV`z:vgÖzP" 9jE wI@:^G'ÄRv-%6x9.a@3&>(O jjڌ=AA'[4!c +4P.6) \$PP.l@: +"6Th"ETKTJLr@ Ӂ2Mnd*䲖6FD\4 +ʺ@,bVAB!2BrK餸Lj*8XeVy[g ̑zT&U cEapJ ]Da 4sh$B` I3`  +eu3SD4R@B.*"ɣ8( 90 r +dC?5'o1YbАZvT +\[]VZ vKG!d[gdm``L̘Hb!Ă dZ2q) 03k7Jw׀7 }w&uo( GD/DQ GDƻ99g4]̀3!,0>m1'G1H>NUb>}jr$db5`2ZB${PTtC5d4`<>Yք _f -,S +YɎCOT~ `FSyr +VS(Q:$3@'P [gɺ`!~+$>h +`bnT3\?Nu41F|AQ>9{P!Pfm+Q\ir:22Ss0fFY j)LD5:8M>@*|hhvdt;ɉ=7afYx*# Rg}e"喟zm%uWQGc=%Ɍ[;WHpo\,'36ٕez.(QaRdP3 = +Z2ٍRP"T+RϕAVy Nj e"FAS0 @:xҷ4&ӯ.Bypt9a_!Py!9yT+є£H幆8[|-fB-'a|WI{ψ1&\w|j)N bbycz͂w Tx;A (?9<i}3ޣ".FcGUD0ͰRfpIޝ۠YF @/iv@~f&-8x&+b5} \aն;$[6P*䍸ԓ/G7+qlTR'Ө_fيuMkf|% ut}Ί|t|FjQύ eA*G}/7:ṾΓʼn +]CGvhʓڳXZo0-达XQ__ 6~dQ6꠵ںFp!׍BLjsž!DHQ n``[<ZE'_VPd,L"V(PuB 8GOPŹ޵}8I:S]㊑{ +fI_KeKw#OWаaJc5˂ |66 k R Ykn N2DZ־sS_K'װL=)Y?k3 cNY<3#l +qQ сT:ʓ=7ȬYH^jyh섭:(u|nJԳu09V&8c`H$+Æӕ%Ch+K" +@H.u醕ծ@豲Ki 0c@G )`xK n=f" Eƅ't9@jutøK$ma;c6QS9S ^ ʨŪ.jntliZKIGW*y +5y(;Rua)[Xoz]·;^zžғbJ\s:r#ݠ|,/k?b} rN^S7,E.PքŠjo`ue|=q&Յز$|Fvn@ q4[*m7*х#UІḶ?):BX&s%O,T$o5,()d+4HuU|s((m(?Y+B=:3]lKc.0s>0:˪l}yKV9. ˆ$HO}eq6G-D%yٸS]XY1ea +}s]ۈT)Zbcɇ]w{Bx>('KDI3lz%&A!`j,N,vۘzRO D ٸrls=tg9]ȪMFed +3SvY>jc j ~K4?1\[9XbR0@_A5 Bi}+">mmޭGSTkn(jk +iu8tǃ>t\g¿4ȸ#u_639iu #p`+@3Mqԫ)pR^˞pLD˹OBv/ԝH`%)o*t\+򁣣8WfXbys\ ׋ TȇǘݸpT盲9>ͫ3L +m)9p.P?yz0H!!vp0p6F$'쬩>Պ $BSTp+44oc4I/Fȁ+u"uicuFnÂ,"A5ó 83^G5@g,:/Frd>V J?.# |=WЉ*{fCʧv )Ӌ6$A|?~cO܈JV}e5(_2D w<6tDڢDm,'TբfKcgtjLG ,)+Ήb 0}Ibz6E6y0L8ɑp8`=>Xks0XZ? +Uf"ȲBFky[Jz:B3~߶.\Zš]c +hoc՟ѿ=V7`pHfn[7)adh9moj9K@K6>(᫕PFjCazv,y8₢]XqY/+3ep"|ED2ѴKg3DX_2+a \e.Bf1zLv7i j&cc?SƩA(U'N+܍|ڜef.3"N{ySMgoaE٨ ,5KI/t?;@ '߸0}K!vd,+?#73 b$>A =Rz/]'OiǍzSaHf;cx ̲lUe<4 + يS ^6/N/`  ^%jA$"%&=Q aFFJ & 6aa߹ԓU,B2GG4r+Sc]s8#4dwm +Qa3'[o\$ҫҒS~Nv+7"FP1 0e4g'药Yt"y4WR!uGAfРĄ|HMS t铿rD +Z6wJAN 6a*TdA+|ԳçF.yXJuWpއE GuyZ$mD]M=<krtr/TTLxm:N;q#B0l2 }- :3|N\t= \NVǻ- +Z#1L2ӲӈW2w9(rc1vG@Se$؂ 駬4h-'y/MCxy#WU!0$]F0 [-w^ ] %H46װbjԇ4%b)J\Pw1cC >T#k/7#UQWb~[=~'RצE|-sj%H[to@GL4iE''ݻ}a 9H;dZ)zaD30s5Ķ R ~h0%&ee70QXWF3C,&)[<ӀS$CEH!q#?Թpŭ;5Y-@M tޙaO`l"hzb*('58m ،D-<Ůu)ЇZhÄ*p؂kpGPUf3e`Am@/'j= b0 +׼A?r#:ОOߧ^3mv_k{p1y?mtv8z(,4]w6bzh /[,ӎ-Edczr^:mǬx>p~l?bO~?@8>^.-4oҥG]M*,'@fEFH֜2 #ſN _%cl\04- ^ύz ^#y0[_W\&1X j2F#oU5#!SSdɌ`E v;¤| M>7u\I7ՃNGJ&F/qF~1Z#('\xԋnTpvuP/'$OߋzM.7"7kLl{^ʑ}տIBiRϷӦ P{` YEXŸ^D**!Ȫ\TP4C3wvo[}{Ҥ:rq9pV<*PAMDA!N YGkM O׹#dDў1xWr\2$<ȥj6~ +8xf*zqri~tֹ43tCm"s"5vw[y츎_hrV3M |?[u{G0WE!:Tb{Q| &zOBE&uIrWMH%;خT]H9L˰WqiLʁaX S>DQ)5*H( +\']:Cl J.㕻0m%8@ +$aǓP)2B[?< 啸7:"MKW]憎$ bԷ7/HL( [y/(/T;sNjLcՁ^ X vT} 粓 +"mfU~?ޓ;A7],Ja KX1p"Ĝ^ `brq})KevDSc ӕz aS6QN"DؗTTǕ/mwQ:Nz%cеdO3-X.WtKq:A.CH(HhaH +Jpά9rLk1Ȕ$'#6;p̣10d`mE]X S7W:9\2@ )O ަUZf!mIqSc(QYs\Q((­`h' d_]ZTj0)g 16nWJ +sN]*1H$56*H&=wzK4DRh99m{Sw5A[#ZXԕ C8ŷ(sazmqF1Ib)jW:qޕٽf1f! <>CCwW>׊^ d&V +Y%b[  +`Wu\Pl$TJÐr-D)@b~ì^[by{!˳"~+L{tx Y&!}h wl?)aG_vg]zoWNeBǿ[)-@, +Cznlw8YWg@:7?)Se+ћ^!DIjs#&Rb3uKnPʄoKs|׃ec>h5Lx*2 kT~\ wIx)x +}R]a7sEV2SKHm甪ylŁSiM?K qY='%FRR8N֪7?O?{H*YG+ ggI^2K c_ݹ(.@҇P9"zV ++kJ l1HɽVkGƷY{]Z7jGqډi韨3_~Oj R.mV'+Sbhg}xQw7@|iU +JLd D$u7Dx#?U)yH/z]J"| x5@(@#9Nv)l<9jȜGRbQ+9+Vs%ZKBLħ9`CdF.> -l[,P>3SGLŁ/Kญ4D&iL8NW<03Pɔ}8^kh] jYWbPid*KYRFHgSя@L:+J ;`)|p"PO6 ч/et#MVJX>. .t$TI7! Ҡ@ӆE+ZX,ZAəOshC's3~6F }iƺ?2 ՜\Tw=@^\q>伢LNkT[CM.~9W J +( >`4] +Sv-sBRgZ]Nc[LGV` eaհS[r/g“'vYlSHY6kiw\2t7/$8K_MlUGY-a5˖YiLX#67D!ҨNM*`-$[=_S8wJML,P{4 sƾ4TGl]W77ҁkA{wl-P {Z`ӑ;oڰÙz/quȟq ,1e+i9Tjpg@ }(4m}tG2=PzEPG4,v层^ٷjba{e%Swk\= j"":Ŷ_D'ϑN*mYE7GCr&ā!_J uYϛ7dlդM+cGr/h# ߖg]̣t;A=Df#`H.G5Af0-!˕HPN̫TPMhF"Hץ:3HɊIs,^,JL?$-ߗe $׳lJ%(IޞzzJ6̃xȌj3xL'Iy.RnaQ& ( wͶ͵}4]OWK&G!fA;VxDPW2 aߔ&4f1ZgmKwds> "Ƀ$+m7,j[HB?ROZ„LmuoW_~)rl=c\Dcw YpXa>P]oi֯Y&mrv^졛!ͼӵ׵KOW:0So:imO͒&ĢC;r'8 7, +$b{k2-°z}|(^aoh/;!gcCg2.'T_t%%S,,YNEJHj0R) H>QFWuԈl#eHK3J詴88܌ үH[Se}ʝ)gCɅJG do4cf̓\/iL-XIbtJS&㺙k }>| Ay=ʂU h7׳e[jsӄ V6 ӚT'ԛr!:ZnF\縨?5ڝ};r i) ץȤ 2͠ 0 %c$wZ·t{ +iZ_׷sa&-omawTpڏL.TGWe :&N4$ʩuiu=<#ZBz-lKo 3z^!=-'=T"dÝ!%TDK G@n+Fc =[qPKQ&Iq":dAk͓ VͥF4T4xHDqx+[#ƂdD['Nj٘V0k,HnN“DM0+#(MrLqM|{9Eޠ-{r +S5z̬LJ^z-D*CoTYEz7d,E% +km ~\g0cC-T8rNڭJ;UXTNCE%2IsZK+s; 0h,ʁ w>N5OD5 'R)X]xS,`ͯwq .Q>ȧrz4$j&-Ձ܃,[)&>>3/0Ѐo4)eePkVѩ-#oF?`ѯ٥j$:z$Pzf)'={쀧Mu[2u_뫕 Bν}{|}\qerTXFxRcBK$*q]kgďi|[{[*Ĉq3fHt*z T"uCrqݺ)pDYjsi}^"ζX%٥;#kQ)~ /poDe<`VT-B \8I6O*Zמ . t8Ƞq\&[@X$ r@qY +Ry0u!HP#([-!F:%!!AR<x0rrpm> oVi=2o#%L?O[5u\dV/?2M;` ŻD%"-VRioz`3|:MV](\u eJ? J-'59흵ApdpUJy3l6\eX:_L?wuׁΓ jj6g(ۏF'3JhQRKK|?/흙jtNl X%'`M_*CVm';A8û+5wQ}>.q\dV: -Yt4E?3|\=5j>u[ 09{n.HqZt[ \P$.lɨZz|>X^@_`B Uiy6- Uڏ>GeC*׉< ?q!A uu9^sHcaY>/ G,QJ00֫:8|\%VFMv *4=qیe C ;V +j?aga`*ҧcF2WHBOS&J:&khQ7ޝ?"K*+Mk1P M?ӼY]*D#n<\fbΉ،@v, Wi{`U} seJN"IEz`Db~v8Qc>6Tn'KKB(}H.қRDnd? ⬓>|lչ1QJWAi4;q<uAdwgѪ[}Ɇ2_Qʏ4T(=r7 Xi; +Oqk&gA6Ϫ0vVUUfV3?T'HJ0uPm7I +m0u-gļwCr {K)ꊽ%]Nj+@a'FPVNjD ֱO%3AAl/!+﵈I$]V^_ Gl!" U{u VS /n(o@>xM6(hLF%ulJ7gh]YyO+ 4I "I/WHO{S]X;og̗pdIxt‡IA6a 8V%02 CS(hNNbEn(@lcE&.´{h BVff~jP&2c&N̽ h6d7 0  0  0  0  0  0EfK$:@= |5ԧO{?'H&7@~24'. &}MA5єwp +:$wwr%~I|ƺDB{e/sW&C S}۶zv@X! bgtMӶM@l+/+UK6/mil@5 4l)lFU]B5ThLc^ XdFׁ0%Ƌu4ƚ*_ Ta{Cc:z(X -saH~06Qd`ׂ~<,J)O9Ⱦ[utLRi甸l/xdcS@hyEeVLu,G +ECu5AgGR9ΗXR&)'i;4X~gO[/_6铛 ˬRUw0@i[pz6|tݒ*_"_B+unV,'6O,:Su 똎#lST|\b N_Tݦi_==d}{VwL >kqџr2^*"zK MNrGW'*;G/D>x';yIQrG)&r }q9,"uTP 3+(9@_g.@q (c); ɴ5x~^_(|M0n1X 78&&` daH\"!q^:qtBO IUD(nTV;QJe Y opzuH_0&C_#,I@^K\z=K0D0/=^ +>o$MAFL4q5[?5Z{V4C}\1VFӿ'(G"~֯VAz%6p +% wxi-aetI൧F3[}N Sq]E!)E &zlCQD=UXLP(+n(՗A7OXN>ו6ftZ[NwbF\Q8~kY+8S6 +$ѢBHd@f`  ƤxD>&P6N"( DpPp00Y0dK-*?z|ErU\/l׳W%zJVf\_[Woz=8cƷ+~z3*#c[%> g[F5lw7ˆW;(x<C^ K=Ĕvh8qcO3!](Y[ɲ,T:,.&%1|P^T^pGxud"=^c`~na"Xx/SZn`!(.xG:X*;qA z/c6lLl{«pz&/aԘ9 HM[w9I)ɿAAg~qyݍ_rA@Fhҟ{>c`-^=Vwť#wquPFS}tB^и +S5"!((Tӻ4vt);w@7ٽys+{ۃva=n + +gޜ{qdClSPssJ?=D%. {p)@ J\AC0¡Ͷbό+5؄8 +. &$hvz0.Q IZl)s8#4LBd.;D}ETKRQ'B+2 f# 6d *m`*\ 8r0R,fjx[F5\ +XUg e->eFpmH hg45a֫Z;نxlmJk"9xȌp@]X&|sc972(4R:{}9H;tߢ4XkfIfdN tk5(7GF5Iv¿"76$jC}_A&SIlY]ء7Jl?c.Λ߾S,^]N}K˺2L8P}r_[RѾnAK(h>ӄܹL/i8Q/*tŰֱjO(BqP=4Az5Qj4I[ bofY +veJ4' [OR[>x<¶'0L"u1ul#vrDR=:|rNdU|f8izr,PDoZ#YcOb:z0fĴѥg;T6 +8\W6vyYXROFI `k$~\3ESc×*m_e-R@_u7Squ '-31'v&z(tx?@/q p׿Tf#櫭Mu w:Rix)cBERZxf-Hyy:agёٹT]OJn㍸  +ϊzC*-z/ +@/jY[V@Y8iC_桳BG-dwv}Tbv"?h^ H})SĒ>KLv S"lP]&Q\WNvYJ۪ *:7Lw&>뇋BDiB\tn#-) #XTC:(:V:~d%ϟQZ3t6o%Yc5q/-ա6}joP6gDks ,=[ij뫩ZnF~ ;'NDj,^xWy* ugf/_`pCAB~sJ"Ne +Ry"mpFu_8,}öO vPǿ'\}6Q⿱mkׄheWxBsB~y$r )L᝻'\ H#FV 9ws}X MN wT1zj(ao98qͤb d-4ߍ>`ԋaB\0{V5BO2/`;p$IԤ'WJ{wQ+Q}ʢj㼤l'Um]c/E_ ̤kCb#\bzJX'0NRz9) ,:P^ P}XM%Ylo S$8Mw|ztrG;FbUIG P7ˎS$"'i+ldaTȠo< } Hsp'ilԷN""ND"c{r:^bl"J|;$g(@۴i +AXT^h v|CdLچ9|Lύ% _֗QáN>Wݞz^]~-e u!S T +6`AM8C ~@rr9Vi<:WԿMc+Nid򣸦l*ũ%OqqdYFC frŴe=LQY1" + `UU'|kg tE顕I(uץC0T^rG'pK\HK-i-I1' &i"Q@5{)OcOq~B4"'Σ^;pKJyX#҆aO{Cxwq`#p91H\^C :&U5eTdm t:>qx'hLO,_HU1a{ +ys/,&SE0Ӣn4:R{ {|#+ljNރBUҏEpZh^R%I/vQ)jӇ EIrSFzSk4R1[O[(jIUY7aK,t!M2iٕIq.$*`"?0 n9栗Cx1o5oaVesD3!Yg*3Uzb)ߕ'vِ߾XaT 35VNwnlZ9WY c]$\|_EvFώ~TS%7OUhDw(8jGN+` 'R ;]L\B׳Vbx !£N1l\` fG>pMi!"o}<6v/Ӑtm,i^ ^?Ow?ज-?'{'X(<0v)x,;m 5J6}#x_]9!D,hN,J s*nA `+–F_8RE}]_-\*<`hNSH 56"׼"t^ЛU,ʷIW3$Zolڥ66qA%:?I p)oM9# G9$ፌ$Ci]ЁWM"D'j|`8E*{%{)$/m 4q}KRX]#[h(|4E\񿣞g;xLI2tw2Z4%ʱ]Sb xPۭd4T +we`?XHPfȘ(5)?{+ +B y>5<$ =wk2۹  ngH8# t(?;~9u$qӏ;X*6I*/ :' E]U˶.MW$7]q.Y,}.pChfw7\j1eBS)@%$IsSQEoxߓ"\y!BZ5j>B%t#mM%C %HHUa~gJؿDR4Gc7J`~[=]0 Wi;kAz N+. D@Պ`d ;{7mʰ a i2p[g]I}4rġ<ٖXD3\ q2àg`>錗dO0EI%Aeq%q>WܟwH$OǾV[I}1G8>1TBaSˮ Ŀيj 6CxF@Gԙ.vUc%w5GQE{&@@p|n}90BS/fJ +kqI]?1RZe-OвCe;k'7`䅟t,n)SE&|XvF}H4QR Ai)հ-ӅEp}N5ғ#mcE7,쳆 +H7X8EFyn[&0R/[ oP@gւ rKe]&7%uŗԚnMȫ<^1ΆObIQ|RzNXT0f 0U\`;8>ahGP5%=s DvEoG3*\H@]K$`]q އC̑&sGe(.t +.c@m 09s(~T+I Y>=9;Ihtwӣ0vb +6aAk)$kCh=HE| ="<64/l1R꣢=&dm/Nh:@ :i^[oף徟W&Q30kTlx{*'[Nc!ؠsME A0*(YMÁ;m{iX?`p?jʑ)\5_R"Q~6ظ;u tleɢO=wjH'tKl i[ɹnD}ȅl+dg2xPbи`րo@% KΓb}FgڿX&2_ȜJAл<3Iۗ\0ZiiAsěXdjQur/ͬUȰlT9?뫢Bx1eu J)ol_{] 44cuz.2k:ysQ5*i~Q%z oU%tO9d\A^=@M7b-y,d 374rf?IXu#$JQyM]SA'0'ahFg+3 vN+Mw9c c/:Bfa( +A*$F=c34;(w$\{ |:ES}6hQn& + {Uw_.\̕R.SJTv(rodQr&Ͼ,Ԙ%2nwQynѤ'/9` #2Spth!&  jjJٖK6s<1*Q]BQ'Đ=hP(0 CH qIU8B9+ÂCm 4&ZCQG?B,+ + +rIs]b\mZA]dؾ#,YM&*כMO1̹euNhc8;b:.[Lsb.2(m_ˍP=2P15BeZZŷdO;-> MzHFIH4iaŚ-e Je1\#G}zlB)U!rY NTuGn logF*lF b&`{{n*zd{ A)]XDБT3_Ts4˲50p: :t,֤F̚q 2*0#=#j +, n|^L DhGQfr`J_ڪ{M?@Gg^pҁ¡iCg^7a4Q58\v}>M]3<0 4_ 29y7 +XG +UlEf-3sŶXd,e,dqKX5JP:,aX_^a]J+b|뇷dK4ḵkϮ +* JUT +XYJ- +iᜄlSH3T*I}Z$mVPr ?>!psb9Efs|%4yush-gʫ򭝜%W"\pk\˱ B;0` &&t1D4~a0gg& `b_LكI>=g}~V(L9/zʹ4 z Ls$>!8!8!!HG2jH^2Xt,j]PiK;5{4UQ Ce@DHp qFtBcC <[ > 0ڡB\nQE$(z%4\4mHI@'3FۨfJCTX+JW,^!da8Y "3~$ĶW!j\j`y}W $إ7GL @Eޱ1 c#+b#`eaY5kEe >ǂb_ k.Pn03333333333333S,˲,Ql&[`M6xj$JRVD}a8ca,1t,۶¯뺮{fYvn +3 6`D 뺮l˒N =_lh*bEi)4(@4<=$I: +-˞ea8$<Ͳ,rEQ8`: yӴ î+zua} 8uY֟ʲ: o>ii) +3p0,˲L+lˊ뺰Lˬ QEx>4 PA?Q@0 HE $E>IS@0LRC4)H벫B<0h VФP\噮!H{zC}` ]\0Cae'8ھ%01egGZaN4Ebd2T,cgU+]/y.PP,}H&C =%yCP2@ +žiQ? l뾉D738P!gm\wm5=<`麶W䍜C.jcYbm O/um}7P$yn=麮k_mY$ &@Qyiq˲<5=<˲P˪2#5K/ c/LX(w s}'c=..Hђ(Eh4=ߠoz~Z}HyC GE VGr`.:OB۴~ieY auPCȍw,HVȰ ++g9CmZ?IOuں<6X0rJ#0 +-1˪^.NX9cᶫFCi*;v î*z)]xBp:˥Lځ4ϙ$d EYNᄆL͆L$H HOeUQ_E7.L(KFT(ۮg9CV0 ΄^(ȣ/QBd/W\ېᱫ0^ &j\L|G4y+dW1KP6v'$ +Xr 1$ ǰn& +&9PC"}G#iviXn蔾3oykʴ/rݑtz^#.͆,v7{~SÏ:EH&T$o@o`E!IyQum1LzFCiLH8 U1\dB\0 #a$jcMwHD|ak_H$sw,E-rKMH&I1!0V@<( bAB" B! L +[i2mŭ +B~x> +;x(œ}AX#"OO^gv1gQwH)0H$nY#&.QC$۫0$,cCABSE̽! '1 eS}MI+d  $ +@-N57Ϡ'C(c Us.8(Nn n kp_V={2I(ˆN\?1D4)!C#Z;EFEjE€[J9gLq ȹ`WlIAX +3A*lvDo(+!X2VҸ8]1|jWAE@+DwA.e ?\&ɉ@^3% Yヌj" DHjY2 +S  Xo@px F{qdB9Hl@qQ [޿ g +)8PRz!dAyqfiDC1l@T١68AF{dtB+L!vh)9♂`1 ; [0Ɉ:Pu9 HtlM/X5ZJ]v]2@=Ǐ!:7% +Z`\Bja)䀅ZZ+h]48Ҁon Z6`VE0S^ 8vn@YU#|`gD![Z&eo t?2.>MA "|6 `c00;VP @SE@| $y4 + r.xA +aSV!@GAC;aϬo +lB j 2jFɊ@d6]B>)ha4nGcV6Z8vaSt @BlxLٹ` k8`6Bj!P,&E,C@?pӀ/ %@J8!S Q <)H̤ H&ڈ(!''إ` v?`Ӡ4s0^ #`_0;3B,`Jްg 37~W 1p)I |hRK  v`;yAkq| lE1^:j /> @ +L6RB {gwvfqN@/0 +ۀ{Nf7g(! p*с +PJhc uan{'`H&rEagG&^klI?spȁ-qUB;<59A +n `O .+B>HaWg XV2p#xdTDÑ~?@4ux  -<-(`oPaPl 0?=30 +@& +x1u16( p zCW"/p@?}4%j&` +0V V0qH]a8F(W$H@&Cu<3A0q" d ݬ< Wy,xj2B3Ɂ Й / ]'$B[@W`mnϧ~4c9,0D*(#~C_%iH2+@zvA$Q΁"P}Ap  +*jܿ!pR + +09)hs/3pLz3lhE^7c*_0&P#HÐP@@QA;. G}01p W{&o5((ŀ6D&s:@z#f@j]B7܀}܋Lli p䂈gTB`A,䘞HxJ{ +<4*8 +f'klg59 PU 3owyZl>(u{i@Lg/ZwL#'`0yt#m`F~yzE}NdrVy/G@>g +$Jm/k;1x ~w@Q1@> +T MW@H H@fZqP @T(!c5Pg&M`y|Tf)% +}f);jr:@ u\ғ}L! =Hk#ki 8ݣ7? :@`@u0π=,')+tXHxl(!0~]z/Tcۿ,A؈{!Y|O=Yp2sc9G_y`8Ç ? 0&a,ߓ.AMU +,0> W󉒅;nAVqoh>t/!M.]Sv5x过̉.>h&F8?6<愞LXﵜ='2}=\_0` F)e)H7$T: (c0qDg,)xf':&ujwXڦy"} ^'_]TN'nث^U? Ƙ|= m(* +qЎ(q9T^M09qh4{7 RX&,Լ;>Oć:S,Dl(wֆYy8eN/ 5h@0nO}Y)P 9z/ة1\9ZQJ^- }Ԭ%n-"Mq*j/дrA<Fj>GA@@@İEJ\ +`?>d*QNƂaܗm|y"u;ff4rDX2F) @9c2" C vrVCCEF*(lB;0yz<9!`/b\d HJ=Bd`A[3!d$Z~ސ;1HH\aѼ0)>HhL}8.o;V:z ˱Gt|\5>y4XH,-z3,Z3} +Zi KQ5>[]N+-cd<.U{V{FcU9}Ew`r4F'TIbZ.TQ 9@`=N6sBg+Oc(: `8Qx `LEQHa&@MAk"7LDH:斴33Wnc^$ch?:RjӴ%6c6 :pO5V4U=>M^+ب$?Ʊ> ZCCX +QaSUj*v}12K0b;dukgBV/6W̹u2|KevǥPɻJU ،Dh.%wЄH]D/&^Eafd4%f'?G^{-^2!cV1Z2Cf>ʷAszCN([fdI UH4b>ア'hKOFOMi}la(;&z0w͇Eմh3gL:W^$w" ."a.QDfI$W^q% +>΀A ^!\&&^X'b%VUZh!1NIqN@4@La +"AJWMBtЅB'(N`La 2ؠ + EV9j&IyWy#Y*xaB"ENkD̸$¦W2C4/-wFqc팔ˠ(618ƻW3^4ʴ>vUhbT+mC#֏JE,imT;&@L8(R:%$_*]С(x d !" D`@ +"l' ' +``HĀ(P FA + +:@(R:,`8% , `(@:t( XpP@ +C X0;JP@(R "8T +! H@`papL +) +B )0 +'P J(\A:V@8 0HxABt!D ,p `00` +@#`*A T``x,PD !H@PAR $P`T  b DL ^V*0@ !^a)HaF(LB $!D +@ +Z!b + +P@!#AmaY1/L1\tGS ܎bO;9X~Isw43E7$IuLF(ټ>UC|m8>Pz#ט)TE͝tGhX?]>X^(uըxۘ TSs(sE*HƢ+grI7E|'WeUW"fv 7סDU G_zGV0ĵ;X>(g^6'u>#Ał~=}.R3߭Cu;_Sb5.fU5l\>Uͦx&T5|O{HRXEZ* +]CX*xLGJ hhjgԣPkkxMc7[xtuu +.6:fξ;<9K~Y8K7 G"*ArXFE#_Kfό;'3~Debbywu<#7gqG4rMdOpйRƛ]ψlHD #|)Q%t'9W(JR茎Cx&r1u&:M_,U6NZBBiX჈ZnJ\6Won#ϾeklEHB#ȃW5ʊRdjl٦dZxrClQ/nwZv^?\}o!?,jFfBRtଜɔ$vuJvbUTuRwaDݑtZ +( l *HU =؁ 6 "r806 +Ta #T! 77 ĐC AA2 ѪPQ(Bjl1a| +"Rpp c~0~xC98a"#`5RHTWͤ^KJiT{]Hn+ڨ9e˻)fIS׷5ɉp tC3]BV;?C9gȕæ}rH]q6bR˨8qUW_P5mhoN61㬸$UuXcCTtx6aD 50oLE)݉g%>vrDCŌ=gUr:2FWǩʓcQސ9JQ/(4+d{71s;&Fuuj!˘)w?syE1f8s2bVHFPT3 &@L{RfR23Ϙ&#<:Ddy2*Qд)8ލJisdDmQgǾ4a[篧>lYm%WH9"G!Yjk"s>O U*NG֪aɬ>]caC&T2u3uHhL纩|vWGZ4H~>KCȏD&2&4ژcqStwS2UG5%vuɽjEMl)âJKdudf=RI~'kнHy]4dCh9yLWp""5ݧ:'BY ⤗a8_9a9&qj+\:a:F4$gwci3xbZș!S\sybM;)"_)&9H7r,_?!-!5b3(D  &@'@pJD{ 1:N^Ô("5d|d̆5r4Z=o [aUX;'(+szAbMH|/\6b̖;;I4wuc){ʾ73vCR/㪸ZUL)m%1IR%j#V㨨T#A;]GpsaF` /34>'Vm,ι>*sDIU "Wcc%U'UkpSHntduF|1w{OV' bMyɾ +oMjk ov?qQ.nCD)N $Sfc sK,4Sڭ2Hj4Cnb!:kSW*_='¿ŽWՒyXj7F#Vo:?ן=kPo؏2}F+[mgFC7`]Bt6kNW6e"hc}"cB'#:dlLATЇie -g%[?!ᙡn=(-^;I|cn>XVMjVk6VF˕L9!vZɰtIռtin2#Ve\œsDF,#oⱢ3`btV7kqL]JVu;dmlM64B?vֻDŽj\w~Q,D%%dTl"GCGRHKxbtWQ!O,bD1֝rA+f˯46'DX)7nbZL虦N!V&QN籟(Q\GF)&$<|QF#J7t? ,H6Tǚa$[lNUf>pwv]fD6BY=|A#Uԫ4+i5bRTP\fάthXCtrDG49::{ȕ\]um̙Ъc"ADKH) x(ĐTH4"c2ñ4%/iDq{G!d)291Dn;KsD1C%Gk!UC+WcůHw:وyUӟP7ryhiv)ǟtUy17!'MWHn%I~&qz;WlWDƼ8 ~&3Z42=\e3wnqhh%B:?oRFWDhP>S-)e9HKPޢ{QttVzISaB.CB>4~V[f6'*!zXw(q'S1ҢxۑN|=7Dؖ!&k]t)Rxr\UՕޏ|Ҟc{ʒTIZ+o*df"V-}kQʪ^{]WGr呑EMk%qʹeEk4U}$ +NTSQUlzp}XTڅE+Ә3?Mݘ__DRbJX[.ֲmx'2o_J!QJDSB$?5k{|HJ|oȤpU,~cJݾSt1k_Ԉn7ttF4Б.[eihZӉHrl'd3%{ ݐ~Tmv>?W s#b6JqW1B1ϝudVDAC^?*Qh~+vM$k% +lR-̯Ƶ=jI}QsⓆPƿwXk|Y"=}/\z4>c7S4ʥmw8 +;t2ÚM꘍r+ 9s$JcJ9E#`HFD2).`N6ZF.$F!$QD1 1! TȂr]\AXb wŋ& +RO(OD +KډfxCA-xI&'n_]$c7y}eGPTf2ZS>!WpblP͈|Ɓg?)sAQ#*.՗l2;4 #L.7Dl쳜tDd׏}Rsk=|$b"a$N{ayෂQ) %ൡ}O5?U[E>dEk9RDEnŴp{~9W"ЮRRxB1CWnLit%Mexd5.;vM{a#6jX],YH[ǯ*]r.<}UN Xf/edAʒ3khY&k2"j 0,lR>ꎏP3($ӓPτ4򢷿t^YD~"mKY+] f:Cg2]儭2vesNWGS*F^uГ-:+5+q_M +ʲHzcoJSɁc,*`ឳ2ן68 F?S.k;%%Fו?nlV&B8~ h0p'DdYhdNjˇ8M\K:+GQ+ $ujDi3i<!y) 9d|G t_Җk +8r)YjA&ݦ"5PЩw‹VPh% HXNd2 jɵ@b%1l.Mw.IgƲ0>2o!sdp8&$K7_AIQ'_E ƀÈ#W{QJU,Dq;d:\9Q^!AMyM<ɢ1=-:\9вՓ,CKxX-7R }\HOF?X8Nѭ;jŹZH Bq4ўΑ5Z ) HiZTHʨ-\M1 ~m̉]f,LidJ,5ƃ%P sh 30iҹS [wd2$#ieLő:DTXXxgͫ6X Jd+nHD`; <.Blim(=N˂Fsv zc)o&0Cn?&8:{\XIb$cDyvt HGʂtKA+}cFF[} 藒BZ~[x f9`ޛ{j ؼ,rxCݘM`%'nyqѷ#+.ԓKA!JnoNM00 Ѵ%rR 1d~rђӽkC_]ƒ СrT"ZXO  HEeO-Sd!kJe9ІW%sb-P(dApM8?7-b4|vl0q0 ǑKJX8ЬE+m';FcjHm4^_j;cJ vg[K; w&*rɲ/eU)1eߍr*amWeL%Q~xaCi$!,SO( uJ鈻R ,Ò ylp(_UQ%qJ0Kica(#pu8CN2t` e =pO$!,b&!N"5K˩ +ᚈ E4g."3㦌hdZrW5cTbĄ [ ezj4p\hd~n5CS{Y:e-8@ ^fҒtP'GPYO !*gCT3ӊ//8rnR$8))TD4\-9 %e !*7,-MةI'Q à;Xɍ+(-A +kEv> +tY\x!DŽq=d1 B- 7+2 l}$K4oS +E#5*Z)"GnR"/֑U~)̂L\_WDոU4X: +]@wqHbVGDmi{"<ry'E'BkD"|h,?5%6zU#=S%B!f :" +jV)$Ęm 񹍟5*ql"V +l0ǎĈXe m^XOazHJ93ݛC/<53ÄD'٩d4HtGbBOs F<&@`{){\N(^T':}䲤9 +L $`1+VQJQ=ڠ3PeE= @YK)` RA^^Tr4,iu +(-GWk+ +w_`JJR!/\L)n?L#!Dw9fP>xlqϵ?cgndx +_Hcđp~ =ݑ + *6sx.캌#z]Z6lOe,+/UmOe+cF~`?}&adt"sBngg ʎ@L ^osc|w{aP67'J]Qp +)`j|OF>B~me";i%R2&XHA#=jL0'E;M3~%svŽ&I#6c-2tvidCȘ$ +cirYBeLj+Y2dղ_@zCJxK)>&d(^@E56`.dXhu3 dpПR?a3u6d8vhz/@ڋOz a獼+`&3ERtkǚ ?tNAtǾ%>d'0- dNn$BٴOҋ8Η.|wMP7u vƊ!]#θhR0c(N ŋܨYhtucكZ،VEd gןncI +o`ƫ)L_oޣ|g}+AF/!YNTF(t7 y|}Y/G\;eNه#(߷Ѝ ,FXB!pk[- +zHJ 3Ld>ʧlvX`#f0ecE&s<,|^Ւ_80#Bڼ:Z>{6* ]=-ek;4LeG}Snj3bA{ND]%%ҳ7PqY.Vpur55$FSG #".e62IBUN%R;6oGe` \*t *h XB1th  +EjEΜ&}YՈ .acdJuoB# D_참\#otGmy2f h*IxiFZa}ǔNUj`sFLv.-ѯZ WXW +[#_۶oQ%Abх ƊzYF?Rj=T/L X8q,_&N^r @QP8VbinjP6u"ĺи<6)=8jk`bF(2@CVG#*;\IyɖU(tXJL ]@XqC2pY >;mAm +U\n"BD.rM+%h%'18S z2B 0{& _T-7v|(+;`W) D@0 v f.5.ej0-(Ua +DBYӒ2LKY֪we>R*aZ?u"Ij}с;?%i2Mo؁*'LJуJʤ ?M睖VD^W܈gR܋XƥS@I7Oi&MoY7TBq256*r-;:1s< +_g_>#=cB-a%Hw--f>]j+!&[JPTZp:tIѮD6$ۣsjavF}H*Lߙy"ևĈ` )2)xPû/[X- okŠjp'a(^겂"D55p$\7{ڣM:h#՛7@ R脳S u'V0ض'&YJbP&YG*!g$$䃿R5;1a;'S3]/d8'"&`*fzC83W5篅o3j$fURuj܄Rd=I[^Jz;ڞdԁjwPbŻ*_8AJ عEL'W J?,%,.5.VD9,pd#\6aKQV QYI匵es[?NT+C7 oB:\Jߣ{=2QrJEvJc0 @JGʕ57qX~qKqqqs$$ WX'<+:n Zh-<&Zuc'PYxWn( C1PZ=/W NBQ4&|\hwP¢$e5rj&o +@w,(,55Vie,!< +bHgCNGbhp]c> dC 뇾syeok+#0i¿ UD7Г$ +[x: 1A ޮi ԑ#lU55BfwH 4Ӳix2{AcS t}cI +*U DݨWBL`|a"kltmJ !V>9ׂ}0B׉ nL;Vx.{M*8*π1TLTKsGMEd+C=f0YN2Hs'{;H3@B;cfG[R7(i6q DIG((f}LW*QLCIPH'Jf_S'2,~bkW!K[/#K8!Nh~ueԈ+~ 1^Kr|NHt5f#7n \yp6g^0c YEvo  ~ hw eucJtL64̞@+3&&XQR /dà= +ìaV2=Q_B $|Hl̘cV 8[v(1'pP@gD#6”sQDRa&0LNސtk.PoͤJK(͟hOۧ:Eh>tk|>lFPGR? + +QwC_(:.wYBC"sp{2Go >RGhec4u>焗9>tY>& pq~%?t8#<:»7\jo]87hra|Re{٭ jYO?*@0[ƿX1Z(0p\)[uyM 'TJx}___vHˋc//P/خߵ..協7W43̏0N켫+WuVWY `YW:[_ힱ[W3+.рn'V]= U\Y+Ue(ڪu'j +Y_7<ު+k@VUCV՛ UTՉUSR pzjQ** +ME5QzjbǑMGQy?EuPU#70PZl' + `-SSwQf5jJto05BA L})%}YJdJzۑB7J1hEJ*4T` rR ++Ŷ'|?(mJg(58 BE]-#hh|x&M&IE=~R(hQP>#.E l +y,* +k&g"|z'] mz9眡5g + +67#Ojn }%&|''8Esv&дLCgdfcf|;NM]יІ ,㌉ӗqfMS3&g\&eXk4u%XpgH61%~i ^(ԍ<,cWZ0' խT`b"pw;iGJ:R$s҄%IGIARf3I):%Jd#%)P! +#5.GGLJYN͓;O~2g"p%CXI[%#E# )$%bb D\C=>JT(R$(e!~i >!%({ )xM]DE9qQ@(ƝC:U+eita|T(w#wrlQ4 "`d vl ##f)CF _d\쌋ael^\t͸hԸxb""a)?dcMQb"VLԘHZ(&~\Аd0BחpxP$EP<@w sʮaa臅.$aI`H +C8pP< 쎊|@/0pYs<( " k0D@ E? N }+* -'v@~H{~bM(P$/*_canACO :Ga`^=0x Bݬ}tǍ_Z,0/臩_䀃㋡>Q~z9>?<|{vp.j {O @^msw)Ob=h^ %'4mT B^\ݝLuvhwsBؼ"y 6^ꤤg astqagͼݝtݝ^[2$mnNi|:Ovpzsq5h˂pѭ$Ňjl! KPN&PBÂF(mIA3s\auZ{s +sK?,641]"e34= xR5hj+J^ɱmEnoMffgǜeliit+QkҸ+2@rbPKӟ@f + rRN`E, ^X+"dbS n- %cd;acOAiV22kZt bgg"u`%"̢ dcqj/ghrhYT@|1"@a_ H0XD.l.3Xdbaʊ +&X2yq` O,[\PTpA~D@D +M|bl gV.|..@x;`ax (Ǻ~^,/U*{ڜ@`ch +endstream endobj 14 0 obj <>stream +!WJg8PQ"%.pC'HjjhC`%%5ρ;FI ,2Q95WSR(ݚƠMN()iriI53`>ԓ05-| 8P9pY$ d/?Jġ\p'U62Z+*Nz:qT-x)2Tϰc4JJ395'F)+%=8!Qe )H +ڞ k # ܀1PNĀvM)1삋Ȉ7A^dJ"";e~l(h%)m|6G@_{ۇPǧ +lzcRP,RK +2ppIm4*I=>t\QKt +LE @ߨ#%,>>:!˩1 JR<(_1%f؀@ dXAj#&Pu+AYDGgpŠ F$Ah@[P"I_erpB E%̃hCw aYBHAa ė@ܠyΫ]IBlC@]syQ#΍ Fhyҁq@C94s6pG~=B3@0/qll342}A1+BJB448[R݄ +ˀ! ěi⑑PeP "o׀lUq$ *0μDm]5 #!OL +F8;sa+**pa>E`ń.s""\{ͱX+*z\Ol1!Y}FCC+*;  {ˋ$qU &URƴ,mp,h-(0\@U?>ʉpkȔȇv +z` +%b8eF +jq0GCYАIQ6NOSǝ.G +%&F$bpP r.S"B@tQ?@ѱ_{,`T0HJtGk{@B1]L#AoAN +^ ‚xp12DP񎦠qwo@ PK  DTccHckJfBAj֗TbTc 뮂ZsWw̓Od/6o}zV;|b ~މx1ung܉TF(+z%3&.p<9CߐWwbĿ)Mhz1TmU#Q.7WYaV5Ka̭<d9a7T2"#v8W\V%.LY۰㠱dKJ'F3#s[1ٔXoPM*+VC)%!]=H*(D BB H@ + $,@  + (,@B̊uw#ͼRx$)VdnJZ DuW6k:_f^.NJ~F]d?bURDAc4z 63ZMױ2uP!jK-0_h!lgxv/~v(.+qKylw#:XS+Ns|}U=9{{"OçcbbRtCff&In2 0 0%_ q( +8CI A)af'2E 佸wSk$:Vk~Z$ZʱbV9HAɮSX8tW3m( 3=k;d5U7ۓޤGӪr잆6vX'xZ17;<IYwu^w5$/,~\w c ( (@0bDz} $%5<|&wݛ]gZa(57YQpa Ưȁ_(qvnQLR/1 +ۛu~Iy=߬ \Zx̤oTJF ŜGvp{e{cWUz.rB 4ixa +DSKr6m]J myu( XtѪxQzx^w[DC+C+Kvofةkj{ +Ca9D蕭!ڮVXBZ6l%dGz^ +M4伮Bڢ_[Ŋ&vp~lܳNsX ^~׍=6u40|PrC*k|FB)TE;2:]ZQ@|jpz)Ѭd41R& OۧY,ܜ +݂ ~c$5R2 +-$ +=7HK낤oYWwgJ62Tn]*#%[׿? H)1+ڰS#U`z+ں!w}|_l4_"C>mF#N+Eumt9:G)ͱW^XҀςEzIxDmBg֕l˺϶"T]2Eiѩl`r3RZA̅@uf3EV@uwKq6c:_ 6@8<31|u;6zO[Ym ^|N!SdZW!S]ru- W'y=#@14/]>;$KR04-ZiAN\V'bu:^.:PTW]&$dB s)1ݫ@̪Ы:%9865ՍDA3P,߈iՅ!-rXJ6]APv @Aڇu-mS6M!n3Oٛ:*IG*0u{dm r~`qe,y-V%48KdPEK/¨4l1k7 eQ8X.mԕ1iܖJ2vJOi:z(rZNԳE] pۏ\nYJL#Ņ u=boh## n*"L@B[<} +ҹ:ViӶ}:t?]= 3^=?y:h3$A Ρu[fOFN.+t&Xltђ0S9،ɆCsqjG[ǀ5tzC BNWT陡J$ϑJ=bt6b %:!S-2^D1"x޹R"ReɜOX#<,MT_uljH&DPF5-> F>?I1e_JʵRǑԻ"k%հ Y6hXS`,*SS@؁d)]VruF0+Xw~5Z7J?xiƩxepQ!pkJa8, vQG{PWpkw)aV-ML+U*E _[MX>4s$EoD}k#u 0Ԧɼ~DZͲ!wO +0یZpf!f>ϲX*=1}GcoםO1Pʲ/LauBkݢg0+Dxs|"T`)! + B!h)'*sT=&_O "XcgqpEF"$dژ9<q(3G_S?2d%^$Gm)7 đqL@?6N=Yu$^w +endstream endobj 67 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 CS 0.725 0.725 0.725 SCN +0.106 w 10 M 0 j 0 J []0 d +/Perceptual ri +/GS0 gs +q 1 0 0 1 92.5947 12.5728 cm +0 0 m +-57.189 0 l +-69.8 0 -80.022 10.223 -80.022 22.833 c +-80.022 80.022 l +-80.022 92.632 -69.8 102.854 -57.189 102.854 c +0 102.854 l +12.61 102.854 22.833 92.632 22.833 80.022 c +22.833 22.833 l +22.833 10.223 12.61 0 0 0 c +h +S +Q + +endstream endobj 68 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +63.875 20.434 m +39.901 20.434 20.397 39.978 20.397 64 c +20.397 88.022 39.901 107.566 63.875 107.566 c +87.849 107.566 107.352 88.022 107.352 64 c +107.352 39.978 87.849 20.434 63.875 20.434 c +63.875 109.038 m +39.091 109.038 18.927 88.834 18.927 64 c +18.927 39.166 39.091 18.962 63.875 18.962 c +88.659 18.962 108.822 39.166 108.822 64 c +108.822 88.834 88.659 109.038 63.875 109.038 c +W n +q +0 g +/Perceptual ri +/GS0 gs +45.8308182 0 0 -45.7046585 64.0319138 60.785759 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 69 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +85.176 98.025 m +85.184 97.989 85.19 97.953 85.197 97.917 c +85.333 97.888 85.337 97.919 85.176 98.025 c +73.385 72.454 m +72.834 62.609 l +79.336 55.526 l +72.834 48.443 l +77.132 43.761 l +72.834 39.079 l +73.385 29.315 l +55.092 29.315 l +55.092 72.454 l +47.819 76.176 42.86 84.219 42.86 93.463 c +42.86 95.01 43.077 96.44 43.295 97.985 c +44.084 98.133 56.843 103.481 y +56.737 102.903 71.74 102.903 71.634 103.481 c +83.961 98.177 85.197 97.917 v +85.51 96.398 85.617 94.987 85.617 93.463 c +85.617 84.219 80.548 76.176 73.385 72.454 c +43.301 98.025 m +43.299 98.012 43.297 97.998 43.295 97.985 c +43.243 97.975 43.243 97.987 43.301 98.025 c +W n +q +0 g +/Perceptual ri +/GS0 gs +23.1531162 0 0 -38.4417267 64.1787186 81.7712097 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 70 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 58.6266 96.2867 cm +0 0 m +1.997 0.363 4.084 0.545 6.081 0.545 c +8.169 0.636 10.166 0.363 12.163 0 c +12.253 -0.454 12.344 -0.908 12.344 -1.362 c +12.344 -4.812 9.53 -7.626 6.081 -7.626 c +2.632 -7.626 -0.182 -4.812 -0.182 -1.362 c +-0.182 -0.908 -0.091 -0.454 0 0 c +3.631 -52.836 -2.541 25.147 re +-15.956 -58.309 m +-23.026 -52.161 -27.502 -43.097 -27.502 -32.955 c +-27.502 -21.153 -21.33 -10.259 -11.164 -4.176 c +-11.346 -5.356 -11.527 -6.446 -11.527 -7.626 c +-11.527 -14.616 -7.443 -20.699 -1.452 -23.513 c +-1.452 -55.378 l +6.081 -62.913 l +13.615 -55.378 l +13.161 -48.751 l +16.701 -45.21 l +13.161 -41.67 l +18.516 -36.314 l +13.161 -30.957 l +13.615 -23.513 l +19.514 -20.699 23.69 -14.616 23.69 -7.626 c +23.69 -6.446 23.599 -5.356 23.327 -4.176 c +27.015 -6.403 30.178 -9.277 32.714 -12.603 c +26.582 -4.182 16.621 1.296 5.373 1.296 c +-13.263 1.296 -28.371 -13.739 -28.371 -32.287 c +-28.371 -42.782 -23.533 -52.151 -15.956 -58.309 c +f +Q + +endstream endobj 71 0 obj <>/XObject<>>>/Subtype/Form>>stream +q +0 Tc 0 Tw 0 Ts 100 Tz 0 Tr /Perceptual ri +/GS0 gs +0 TL/Fm0 Do +Q +q +0 Tc 0 Tw 0 Ts 100 Tz 0 Tr /Perceptual ri +/GS0 gs +0 TL/Fm1 Do +Q +q +0 Tc 0 Tw 0 Ts 100 Tz 0 Tr /Perceptual ri +/GS0 gs +0 TL/Fm2 Do +Q + +endstream endobj 72 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64.819 97.953 m +64.542 97.953 64.263 97.948 63.983 97.936 c +63.977 97.936 l +61.953 97.936 59.828 97.745 57.847 97.385 c +57.58 97.336 l +57.526 97.069 l +57.433 96.604 57.337 96.123 57.337 95.629 c +57.337 91.955 60.326 88.965 64 88.965 c +67.674 88.965 70.663 91.955 70.663 95.629 c +70.663 96.123 70.567 96.603 70.474 97.068 c +70.42 97.335 l +70.153 97.385 l +68.606 97.666 66.763 97.953 64.819 97.953 c +64.819 97.553 m +66.613 97.554 68.347 97.307 70.081 96.991 c +70.172 96.537 70.263 96.083 70.263 95.629 c +70.263 92.18 67.449 89.365 64 89.365 c +60.551 89.365 57.737 92.18 57.737 95.629 c +57.737 96.083 57.828 96.537 57.919 96.991 c +59.916 97.354 62.003 97.536 64 97.536 c +64.274 97.548 64.548 97.553 64.819 97.553 c +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -8.9881496 -8.9881496 -0 64.0000153 97.9534912 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 73 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 103.84 m +42.032 103.84 24.16 85.968 24.16 64 c +24.16 42.032 42.032 24.16 64 24.16 c +85.968 24.16 103.84 42.032 103.84 64 c +103.84 85.968 85.968 103.84 64 103.84 c +64 103.593 m +85.831 103.593 103.593 85.831 103.593 64 c +103.593 42.168 85.831 24.407 64 24.407 c +42.168 24.407 24.407 42.168 24.407 64 c +24.407 85.831 42.168 103.593 64 103.593 c +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -79.6798859 -79.6798859 -0 63.9999008 103.8398895 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 74 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 103.822 m +42.042 103.822 24.178 85.958 24.178 64 c +24.178 42.042 42.042 24.178 64 24.178 c +85.958 24.178 103.822 42.042 103.822 64 c +103.822 85.958 85.958 103.822 64 103.822 c +64 103.422 m +85.738 103.422 103.422 85.738 103.422 64 c +103.422 42.262 85.738 24.578 64 24.578 c +42.262 24.578 24.578 42.262 24.578 64 c +24.578 85.738 42.262 103.422 64 103.422 c +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -79.6447525 -79.6447525 -0 63.9999008 103.8223267 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 75 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 97.883 m +45.317 97.883 30.116 82.683 30.116 64 c +30.116 45.317 45.317 30.117 64 30.117 c +82.683 30.117 97.883 45.317 97.883 64 c +97.883 82.683 82.683 97.883 64 97.883 c +64 97.583 m +82.518 97.583 97.583 82.518 97.583 64 c +97.583 45.482 82.518 30.417 64 30.417 c +45.482 30.417 30.417 45.482 30.417 64 c +30.417 82.518 45.482 97.583 64 97.583 c +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -67.7668991 -67.7668991 -0 63.9999008 97.8834 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 76 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +81.21 93.107 m +81.235 92.989 81.256 92.869 81.279 92.75 c +91.022 86.873 97.552 76.185 97.552 64 c +97.552 45.499 82.501 30.448 64 30.448 c +45.499 30.448 30.448 45.499 30.448 64 c +30.448 76.199 36.993 86.897 46.755 92.77 c +46.777 92.889 46.799 93.009 46.824 93.127 c +36.867 87.234 30.175 76.384 30.175 64 c +30.175 45.35 45.349 30.177 64 30.177 c +82.651 30.177 97.825 45.35 97.825 64 c +97.825 76.37 91.148 87.209 81.21 93.107 c +64 97.552 m +61.94 97.552 59.923 97.364 57.965 97.007 c +57.99 97.104 58.012 97.203 58.041 97.298 c +59.976 97.643 61.967 97.823 64 97.823 c +66.043 97.823 68.045 97.641 69.99 97.292 c +70.019 97.197 70.041 97.098 70.066 97.001 c +68.098 97.362 66.071 97.552 64 97.552 c +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -67.6468887 -67.6468887 -0 63.9999123 97.8234024 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 77 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +61.549 69.302 m +59.008 69.302 l +59.362 69.459 l +61.195 69.459 l +h +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -0.1565536 -0.1565536 -0 60.2786407 69.4586182 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 78 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +63.875 20.434 m +39.901 20.434 20.397 39.978 20.397 64 c +20.397 88.022 39.901 107.566 63.875 107.566 c +87.849 107.566 107.352 88.022 107.352 64 c +107.352 39.978 87.849 20.434 63.875 20.434 c +63.875 109.038 m +39.091 109.038 18.927 88.834 18.927 64 c +18.927 39.166 39.091 18.962 63.875 18.962 c +88.659 18.962 108.822 39.166 108.822 64 c +108.822 88.834 88.659 109.038 63.875 109.038 c +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -58.6434479 -58.6434479 -0 63.8746872 76.2690582 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 79 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 CS 0.058 0.058 0.052 SCN +0.1 w 10 M 0 j 0 J []0 d +/Perceptual ri +/GS0 gs +q 1 0 0 1 63.8748 20.4342 cm +0 0 m +-23.974 0 -43.478 19.544 -43.478 43.566 c +-43.478 67.588 -23.974 87.132 0 87.132 c +23.974 87.132 43.478 67.588 43.478 43.566 c +43.478 19.544 23.974 0 0 0 c +h +0 88.604 m +-24.784 88.604 -44.947 68.4 -44.947 43.566 c +-44.947 18.732 -24.784 -1.473 0 -1.473 c +24.784 -1.473 44.947 18.732 44.947 43.566 c +44.947 68.4 24.784 88.604 0 88.604 c +h +S +Q + +endstream endobj 80 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +63.875 107.549 m +39.91 107.549 20.414 88.013 20.414 64 c +20.414 39.987 39.91 20.451 63.875 20.451 c +87.839 20.451 107.336 39.987 107.336 64 c +107.336 88.013 87.839 107.549 63.875 107.549 c +63.875 107.248 m +87.673 107.248 107.035 87.847 107.035 64 c +107.035 40.153 87.673 20.752 63.875 20.752 c +40.076 20.752 20.714 40.153 20.714 64 c +20.714 87.847 40.076 107.248 63.875 107.248 c +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -87.0974808 -87.0974808 -0 63.8746872 107.5486984 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 81 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 107.483 m +40.023 107.483 20.517 87.977 20.517 64 c +20.517 40.023 40.023 20.517 64 20.517 c +87.977 20.517 107.483 40.023 107.483 64 c +107.483 87.977 87.977 107.483 64 107.483 c +W n +q +0 g +/Perceptual ri +/GS0 gs +52.3910713 0 0 -52.1408577 61.2666092 71.6794434 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 82 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 103.84 m +42.042 103.84 24.178 85.968 24.178 64 c +24.178 42.032 42.042 24.16 64 24.16 c +85.958 24.16 103.822 42.032 103.822 64 c +103.822 85.968 85.958 103.84 64 103.84 c +64 20.5 m +40.014 20.5 20.5 40.014 20.5 64 c +20.5 87.986 40.014 107.5 64 107.5 c +87.986 107.5 107.5 87.986 107.5 64 c +107.5 40.014 87.986 20.5 64 20.5 c +W n +q +0 g +/Perceptual ri +/GS0 gs +43.5819511 0 0 -43.3738098 63.3765182 64.8112564 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 83 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 64 103.6069 cm +0 0 m +-22.127 0 -40.129 -18.002 -40.129 -40.129 c +-40.129 -62.256 -22.127 -80.258 0 -80.258 c +22.127 -80.258 40.129 -62.256 40.129 -40.129 c +40.129 -18.002 22.127 0 0 0 c +f +Q + +endstream endobj 84 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 64 106.569 cm +0 0 m +-23.986 0 -43.5 -19.254 -43.5 -42.921 c +-43.5 -66.588 -23.986 -85.843 0 -85.843 c +23.986 -85.843 43.5 -66.588 43.5 -42.921 c +43.5 -19.254 23.986 0 0 0 c +-0 -86.069 m +-23.986 -86.069 -43.5 -66.555 -43.5 -42.569 c +-43.5 -18.583 -23.986 0.931 -0 0.931 c +23.986 0.931 43.5 -18.583 43.5 -42.569 c +43.5 -66.555 23.986 -86.069 -0 -86.069 c +f +Q + +endstream endobj 85 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 100.528 m +57.457 100.528 52.133 95.204 52.133 88.661 c +52.133 82.117 57.457 76.794 64 76.794 c +70.543 76.794 75.867 82.117 75.867 88.661 c +75.867 95.204 70.543 100.528 64 100.528 c +W n +q +0 g +/Perceptual ri +/GS0 gs +16.5319595 0 0 -16.4530048 64.1957092 91.2625198 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 86 0 obj <>stream +H FA6,cwF*|נM?p+g\kztaLﺘ6=碦o;K>} n`wLo#_3f|`[jGMﴵs0=< '4G`zhz3=H?iLO5}g(8  y@y@'< Oy@P< Oy +@': Ny@:)NyS@':)Nu +@P< Ny +@P':)NuS@P':)Nu +@P:) Ou +S@P<)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)Nu +S@P:)$;)Nu +S@i +H`o +S@@ؚPP:) G P:=6:=:=6:=Yvl +؍@Q@ H`'( $Ľ&PF;(`o ( $<Ľw@X(`a TVuT +XaH`M %tl +XH`9 rBX)H`!' Uq^X™(` ;9 H.(@wvEkm]$pC ۹: HV&}ۘ @0qkz^!lM5}(W{LӓLY22 /:~mmLg0=ՖO}\%ӣmdM/4=;˚>H[gSL5Msoh1(GpH~ +endstream endobj 53 0 obj [/Indexed 31 0 R 1 135 0 R] endobj 134 0 obj <>/Filter/FlateDecode/Height 502/Intent/Perceptual/Length 9936/Name/X/Subtype/Image/Type/XObject/Width 514>>stream +H엉BIguhPi]uuvv_g3ϣئj2ޠ2ߊƥ4PuyہRfWunkFvnF)j4\ݦz6opUҵ$Ly{4}f#y +6?Oۘn;o|[@|}4/PPpa3cp!G?j" B <gu[/O8ғUǁP E d~c~<T(B3P?Y}A8 A@^gyV3?8` +"nI;~}Yi` - $~|Y(Zj ` Xr Q>y/s,V%jAh  +A@>ySI֦SG b +ĀD!`O{{vޙ.z :,Q@At07~~>zϾӃ l1 +>, +& ;}67PիVrA@ +<@CCד&iQo")p@~LF p8gzq}ڝ~o/g(F `P8&,*O??>O΋{FyO!M@.U0 __~}4gP}+}9@ BC`I ` P??޳$GFH` 0 &4UPo $ +?Y}4gOPNgS.L0@9 b6r @@yY{r^ :o P ]U@ ho>zk!t)>lA@  @5xpTWW=#H 8  e@@] 5?>O֫T͐^%@  b jh 4?h>Y_>6Fŗ@` p1``$Pp_GyzOύ~'Ł@ 0 +8 fUAu P ,[~uWׯ4C{PQXpbp O ƍ@- `g~uTA(P"xD1q N]Ph[5M +QQ7)3{@@0Ɖ@@>xP>|t*Nςb0 8؄T + WETHBA `pH ]8vr+mPb?woi +i` $ U54bFJ@.zW q`p0 {@@ ow +Q`  f@&!@g@Q"G'Ph?|nb3U 1G45j +g6 Owvqp8!5@,x + ẀTjcE60/~! 5@Mc  :6 Ln ??n0"l +D+ `u؀0ph})!p &5M7< Or E  ?w0H`pQ@7A%#3`vnق`ߣNHAnރ S`#   `_aݾԪ<W h T"X\h 7L87ZXZ IX9! h M`f +$ g"&$kt>7!+ˋZz "v +DV]I@N +~U1b@ Fs@`M:@@@ݯ< +3GWB#U+j\_\F( $8h +=0\#4Ni_Vk- y w&iao\ [t =0hF@j +pc!G yN$3Ў *"נLt 7x,p ?L dx#S`=`#@w>( KQ"@2# #'o6+9{`^*ك03; #SE +|f: X1aɎW@֠N !?%3; pF2ƠA"Nnr;_(E@NH<"/g`T5S@{a@61u`G@`T!==B`BK ]z ;@;#`OB;X^M3;; u)q C NAŕ6]8뀺k +!{\Yw^KPfNt ! #(5P[M{B\"! vD0(PP|1@[0ށ(MI|1&%@OG\Y]"f  @: ~j ;pO(0vN}ox܎"ez <w_A p G/:1^1`/A逺_hڕ{;Cx=V@1ʆ/ <@nF TG'P"`\BlfG5CSp +R|N#itKӣ}ނH|R ܁G1>GI|B؂UI #;~^,0~!pYBڂ@%;p5) tz5r@GJ@w%Ƭ(h Vpw%%;P#0^yTBπG8K )%[Pj@9W7' s p Qv`= Sϥ<~@? ++S~FnASt lS s2fn6 i) P8:7" /<螜K7i`g܂eU8?; PJ`Ԁ}j V΀_qj xp +CقfS?!N^<~}Q>'$$4ӛqwľ4Hw쵾K>foK@/%@h5jek)xr7 9CP1O? k +&)1T)B3) d=|C`.32&)Poon3]=c@ +Mu +T{R@ LA(CAvvǠq +|`wy <)h綀Y<39u +h} +:{ + +oCA%`01 AkP@y:sk +2wXBJ@cpe x +AGڄֵq +#D*/Vj{ +Xlr +Je#1ƒlT5׷8vV.2R@xB!RgR+s)8>( >!'۳ S{}YG +XEpp#< ot~;(L mo"`gW ptn/^hN""OR(`5 x~Jl*JpJ +jCiN\PB6S? +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@У(= +@od:[(UB n+|6Oə+ٹhv" d %S|Ro)`e xzyn*|&EYl[†k!ۣs)w^LJ3 ؐ_%~Q@9Cx{iյ /Hϯ])oNfg _srU zt)u_fZ*dxc@)d:[(Uͭ2#ݬWJl*^)[ WET h-#^͚ [K[c L])PgRX$|&`h{e:ۖp4&+&U+@׭F\e#D*#4ZJ} P@p)) tZ`BmS99 ( {-%@c=6)!=1[ ,?cpR_־c`w<NzSs +} + @1 9!n4k + Xv x!xS`r=>83q +PژE0z + ,O|<3` {j +F)(π!8))(@C` Pf5#`$ 4|X2Jz7d3 g'o?w@^ o  ~bd 0Sh,{@C 3x0l@8r܃o@oAXV foL'==!@'nnig!@PCo@>o-ӧg?q  D do)7-Dv't~΀5P~7ق$g;V/3`}6ԿlA.ei>o=OY@ںnix~7@jnA {X'07'S|g `Iyjޟ@H‘Ѩ'ށWqOV lk7`<JOXL| [0W@ҏ ,20TK;pK[ Z[0[si>o!`=T2/W[0? #̴w :@yws >;O@zSف ݃]ӧ xOdUO8x@< ,,yV I l?=j zCKP={'@'0@y y g`U' #|)w|~(G@AR!0t@R<? 8=Ŝ|{[pg $9g 9ߵ%?0ƠyBPO 1=,G@ !`Q=?`LX@^w@U_?˅/#BBH|" +DđD eYIztW;1;;37>>uj\`kI {@8*cU-/;X !`zRL@eP7uG/\*`mP@e`44v]woS#!-u{@F +TFQ K@o0bBAVrM0 +3o-!eP h"Pt*@ +Z/a$5pp!/Bz*Pvmd5pdZOyAD20 /\}2%wE@ *"{ uWxt!NAϕ HJ1bU@ǫ6*_#Kc {eP'al TK,JXI=-_ \Y D**o@`%P0XB@TiF 8*1-x|H @i(t*p @`CP).m#zJ l)c +툀\o]c 0Pbzo' #gɔVnv<Oޞ_X*@?a(?J`p Mh9\ *06 +~go^ -p; %U>rN^IpaU b^䏆rrx@;[`G@"8{p(}6Ac C` +>Wα_` g(%RxU0Aoog +@W`Z`7m +r@1H |C +6KL. m 2Mpe`07O7%B``8% +ģI2@c@W3@}!P +'ݹ)@#6BM@1@mPA(G-8@6U͇ZCX[G2c@V0 A 9(L:</o@;0郴 8 Q Fp 8z"#?S$xhLu &U9 A ` +s$Z<c}؏F@'5 l6JC; `}78  (,`" =  |v_~? V0YZnԁȀ@ ` ( = 7 {CRp@b^@(0 A-j>p`U7("eB: +=f A@ P@0BET>$.ޓW2 A8 +Kp hp ,4~qT'?gaNn[Hp &Aadl<، +`GV@;&0vcZ1 H8Sz#'a>7@:`7K(@`T8kv|uo? (! VA@)@0 0K26X͇>@] @@@(@`XE60 |H6e`*H PCp\Gx# PϘ@$$0yqT \̇5C3%U "0F'} 19@}@CYHr Gxl8O֓H~7y  €8®<^zD?@r  :(` 'tLOmӟd |/  % Ib{2?/?h 0>"FAyy W~ +7 |2 P +pEV2 |꾳_@TfA( 04pqTOF+'}j}jgA ( ) ~O}3Ȁ BAk2=0_VAQJǕ'Pa?p9FA@@7{oσPA1` +=f/YH` x0?9@( ՜(\_c%s_;YmA!h^qޛMh AJaUcoS9_T( ʆ6>rTaPb?J!OZZj@B_I`]7-ZnQVLIm7ީkƩp@JӵcQ~0)6j>{յ=SS=ڒwS +endstream endobj 31 0 obj [/ICCBased 136 0 R] endobj 135 0 obj <>stream + +endstream endobj 136 0 obj <>stream +HyTSwoɞc [5laQIBHADED2mtFOE.c}08׎8GNg9w߽'0 ֠Jb  + 2y.-;!KZ ^i"L0- @8(r;q7Ly&Qq4j|9 +V)gB0iW8#8wթ8_٥ʨQQj@&A)/g>'Kt;\ ӥ$պFZUn(4T%)뫔0C&Zi8bxEB;Pӓ̹A om?W= +x-[0}y)7ta>jT7@tܛ`q2ʀ&6ZLĄ?_yxg)˔zçLU*uSkSeO4?׸c. R ߁-25 S>ӣVd`rn~Y&+`;A4 A9=-tl`;~p Gp| [`L`< "A YA+Cb(R,*T2B- +ꇆnQt}MA0alSx k&^>0|>_',G!"F$H:R!zFQd?r 9\A&G rQ hE]a4zBgE#H *B=0HIpp0MxJ$D1D, VĭKĻYdE"EI2EBGt4MzNr!YK ?%_&#(0J:EAiQ(()ӔWT6U@P+!~mD eԴ!hӦh/']B/ҏӿ?a0nhF!X8܌kc&5S6lIa2cKMA!E#ƒdV(kel }}Cq9 +N')].uJr + wG xR^[oƜchg`>b$*~ :Eb~,m,-ݖ,Y¬*6X[ݱF=3뭷Y~dó ti zf6~`{v.Ng#{}}jc1X6fm;'_9 r:8q:˜O:ϸ8uJqnv=MmR 4 +n3ܣkGݯz=[==<=GTB(/S,]6*-W:#7*e^YDY}UjAyT`#D="b{ų+ʯ:!kJ4Gmt}uC%K7YVfFY .=b?SƕƩȺy چ k5%4m7lqlioZlG+Zz͹mzy]?uuw|"űNwW&e֥ﺱ*|j5kyݭǯg^ykEklD_p߶7Dmo꿻1ml{Mś nLl<9O[$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! +zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km +endstream endobj 132 0 obj <> endobj 133 0 obj <> endobj 137 0 obj <> endobj 138 0 obj <> endobj 32 0 obj <> endobj 131 0 obj <> endobj 130 0 obj <> endobj 127 0 obj <> endobj 129 0 obj <> endobj 139 0 obj <> endobj 140 0 obj <> endobj 141 0 obj <> endobj 142 0 obj <> endobj 128 0 obj <> endobj 143 0 obj <> endobj 144 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +43.5819511 0 0 -43.3738098 63.3765182 64.8112564 cm +BX /Sh0 sh EX Q + +endstream endobj 145 0 obj <> endobj 146 0 obj <> endobj 147 0 obj <> endobj 148 0 obj <> endobj 149 0 obj <> endobj 150 0 obj <> endobj 124 0 obj <> endobj 126 0 obj <> endobj 151 0 obj <> endobj 152 0 obj <> endobj 125 0 obj <> endobj 153 0 obj <> endobj 154 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +52.3910713 0 0 -52.1408577 61.2666092 71.6794434 cm +BX /Sh0 sh EX Q + +endstream endobj 155 0 obj <> endobj 156 0 obj <> endobj 157 0 obj <> endobj 158 0 obj <> endobj 122 0 obj <> endobj 117 0 obj <> endobj 159 0 obj <> endobj 160 0 obj <> endobj 123 0 obj <> endobj 161 0 obj <> endobj 162 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -87.0974808 -87.0974808 -0 63.8746872 107.5486984 cm +BX /Sh0 sh EX Q + +endstream endobj 163 0 obj <> endobj 164 0 obj <> endobj 165 0 obj <> endobj 166 0 obj <> endobj 121 0 obj <> endobj 118 0 obj <> endobj 120 0 obj <> endobj 167 0 obj <> endobj 168 0 obj <> endobj 119 0 obj <> endobj 169 0 obj <> endobj 170 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -58.6434479 -58.6434479 -0 63.8746872 76.2690582 cm +BX /Sh0 sh EX Q + +endstream endobj 171 0 obj <> endobj 172 0 obj <> endobj 173 0 obj <> endobj 115 0 obj <> endobj 116 0 obj <> endobj 174 0 obj <> endobj 175 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -0.1565536 -0.1565536 -0 60.2786407 69.4586182 cm +BX /Sh0 sh EX Q + +endstream endobj 176 0 obj <> endobj 112 0 obj <> endobj 114 0 obj <> endobj 177 0 obj <> endobj 113 0 obj <> endobj 178 0 obj <> endobj 179 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -67.6468887 -67.6468887 -0 63.9999123 97.8234024 cm +BX /Sh0 sh EX Q + +endstream endobj 180 0 obj <> endobj 181 0 obj <> endobj 182 0 obj <> endobj 183 0 obj <> endobj 110 0 obj <> endobj 103 0 obj <> endobj 184 0 obj <> endobj 185 0 obj <> endobj 111 0 obj <> endobj 186 0 obj <> endobj 187 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -67.7668991 -67.7668991 -0 63.9999008 97.8834 cm +BX /Sh0 sh EX Q + +endstream endobj 188 0 obj <> endobj 189 0 obj <> endobj 190 0 obj <> endobj 191 0 obj <> endobj 107 0 obj <> endobj 109 0 obj <> endobj 192 0 obj <> endobj 108 0 obj <> endobj 193 0 obj <> endobj 194 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -79.6447525 -79.6447525 -0 63.9999008 103.8223267 cm +BX /Sh0 sh EX Q + +endstream endobj 195 0 obj <> endobj 196 0 obj <> endobj 197 0 obj <> endobj 104 0 obj <> endobj 106 0 obj <> endobj 198 0 obj <> endobj 199 0 obj <> endobj 200 0 obj <> endobj 105 0 obj <> endobj 201 0 obj <> endobj 202 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -79.6798859 -79.6798859 -0 63.9999008 103.8398895 cm +BX /Sh0 sh EX Q + +endstream endobj 203 0 obj <> endobj 204 0 obj <> endobj 205 0 obj <> endobj 206 0 obj <> endobj 101 0 obj <> endobj 102 0 obj <> endobj 207 0 obj <> endobj 208 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -8.9881496 -8.9881496 -0 64.0000153 97.9534912 cm +BX /Sh0 sh EX Q + +endstream endobj 209 0 obj <> endobj 96 0 obj <> endobj 98 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +70.936 66.189 m +71.386 73.577 l +71.52 73.641 l +77.553 76.519 81.579 82.965 81.455 89.584 c +81.434 90.684 81.326 91.695 81.132 92.602 c +81.245 92.815 l +81.484 91.83 81.582 90.769 81.608 89.584 c +81.756 82.884 77.672 76.407 71.587 73.504 c +71.534 73.478 l +71.08 66.043 l +h +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -14.6765232 -14.6064301 -0 67.8957977 84.3313522 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 99 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +56.466 41.613 m +56.789 41.51 l +63.994 34.295 l +71.375 41.673 l +70.921 48.3 l +74.402 51.781 l +74.62 51.781 l +71.08 48.24 l +71.534 41.613 l +63.994 34.078 l +h +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -10.7909908 -10.7394543 -0 67.0767288 44.2208672 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 100 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +70.873 55.321 m +76.219 60.678 l +76.435 60.678 l +71.09 55.321 l +h +W n +q +0 g +/Perceptual ri +/GS0 gs +0 -4.5232949 -4.5016923 -0 72.1971588 59.7019844 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 215 0 obj <> endobj 212 0 obj <> endobj 217 0 obj <> endobj 218 0 obj <> endobj 216 0 obj <> endobj 219 0 obj <> endobj 220 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -4.5232949 -4.5016923 -0 72.1971588 59.7019844 cm +BX /Sh0 sh EX Q + +endstream endobj 221 0 obj <> endobj 222 0 obj <> endobj 223 0 obj <> endobj 224 0 obj <> endobj 213 0 obj <> endobj 214 0 obj <> endobj 225 0 obj <> endobj 226 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -10.7909908 -10.7394543 -0 67.0767288 44.2208672 cm +BX /Sh0 sh EX Q + +endstream endobj 227 0 obj <> endobj 210 0 obj <> endobj 211 0 obj <> endobj 228 0 obj <> endobj 229 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -14.6765232 -14.6064301 -0 67.8957977 84.3313522 cm +BX /Sh0 sh EX Q + +endstream endobj 230 0 obj <> endobj 97 0 obj <> endobj 95 0 obj <> endobj 92 0 obj <> endobj 94 0 obj <> endobj 231 0 obj <> endobj 232 0 obj <> endobj 233 0 obj <> endobj 93 0 obj <> endobj 234 0 obj <> endobj 235 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +23.1531162 0 0 -38.4417267 64.1787186 81.7712097 cm +BX /Sh0 sh EX Q + +endstream endobj 236 0 obj <> endobj 237 0 obj <> endobj 238 0 obj <> endobj 239 0 obj <> endobj 89 0 obj <> endobj 91 0 obj <> endobj 240 0 obj <> endobj 241 0 obj <> endobj 242 0 obj <> endobj 90 0 obj <> endobj 243 0 obj <> endobj 244 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +45.8308182 0 0 -45.7046585 64.0319138 60.785759 cm +BX /Sh0 sh EX Q + +endstream endobj 245 0 obj <> endobj 246 0 obj <> endobj 247 0 obj <> endobj 248 0 obj <> endobj 249 0 obj <> endobj 88 0 obj <> endobj 64 0 obj <> endobj 39 0 obj <> endobj 40 0 obj <> endobj 65 0 obj <> endobj 66 0 obj <> endobj 254 0 obj <> endobj 253 0 obj <> endobj 255 0 obj <> endobj 256 0 obj <> endobj 257 0 obj <> endobj 252 0 obj <> endobj 258 0 obj <> endobj 251 0 obj <> endobj 259 0 obj <> endobj 250 0 obj <> endobj 260 0 obj <> endobj 24 0 obj <> endobj 25 0 obj <> endobj 26 0 obj <> endobj 265 0 obj [/View/Design] endobj 266 0 obj <>>> endobj 263 0 obj [/View/Design] endobj 264 0 obj <>>> endobj 261 0 obj [/View/Design] endobj 262 0 obj <>>> endobj 54 0 obj <> endobj 55 0 obj <> endobj 37 0 obj <> endobj 38 0 obj <> endobj 56 0 obj <> endobj 57 0 obj <> endobj 58 0 obj <> endobj 59 0 obj <> endobj 60 0 obj <> endobj 61 0 obj <> endobj 62 0 obj <> endobj 63 0 obj <> endobj 33 0 obj <> endobj 34 0 obj <> endobj 35 0 obj <> endobj 267 0 obj <> endobj 268 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +0 -0.1565536 -0.1565536 -0 60.2786407 44.1548843 cm +BX /Sh0 sh EX Q + +endstream endobj 269 0 obj <> endobj 270 0 obj <> endobj 271 0 obj <> endobj 87 0 obj [/ICCBased 136 0 R] endobj 49 0 obj <>stream +HlTˎ0+q+ⴂ(Zq2Bة~TY>]hy8zBedGTW|~O~Lןf7;W)FsB>B'ݼGkY]~WFBPT/F8Ɔ>DǻV"O]ga"P Q\T᧙+V299=+hWϊ~(6 W9069}3R.;  ѲGU(oAx܍]s%7$)tK}:儸j'q,\J۾}v'9!c;SnP2泏C`GYn^8cL;p +5'9em}{~> +endstream endobj 50 0 obj <> endobj 272 0 obj [/ICCBased 136 0 R] endobj 29 0 obj <>stream +HVn1 +Q5K{i)\ #h +]D-3IfHqy$s:\+|#m~ I^+m8K>bHEr + xS,]F7edo^zMNrH[S7,u,#(Sk<&(T'~K pXhbpv%"ݯ?]hQhK} N圓&dM(QͽV^kܨ?pwғi>ؿ;jyٕ͟9VjujUYcbvջS pᵁ2A^Z:ظU 1RoEaFK'V$]X6odٯ +OB+5:VjaK[~3 ˼<+U Y'EU)ɤCJ @ "rlrE9fEP2G0hW9G8.Tqh Q RvDdB| NMX&ʠ }Kh(3GM L-)Ӥl%&b,P52*&΢&R28ko^=Gfjm4HhBMH'cd})&CvD +ȝYAo.8k b5( \.q~&D{t ťbnȡz:2q#E (P4b6 ܻp-A\'lNhYR6$eLRD5y/[A. #Y\ֵ'/ +endstream endobj 30 0 obj <> endobj 42 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 107.483 m +40.023 107.483 20.517 87.977 20.517 64 c +20.517 40.023 40.023 20.517 64 20.517 c +87.977 20.517 107.483 40.023 107.483 64 c +107.483 87.977 87.977 107.483 64 107.483 c +W n +q +0 g +/Perceptual ri +/GS0 gs +52.3910713 0 0 -52.1408577 61.26651 71.6794434 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 43 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 103.84 m +42.042 103.84 24.177 85.968 24.177 64 c +24.177 42.032 42.042 24.16 64 24.16 c +85.958 24.16 103.822 42.032 103.822 64 c +103.822 85.968 85.958 103.84 64 103.84 c +64 20.5 m +40.014 20.5 20.5 40.014 20.5 64 c +20.5 87.986 40.014 107.5 64 107.5 c +87.986 107.5 107.5 87.986 107.5 64 c +107.5 40.014 87.986 20.5 64 20.5 c +W n +q +0 g +/Perceptual ri +/GS0 gs +43.5819511 0 0 -43.3738098 63.3764191 64.8112564 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 44 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 63.9999 103.6069 cm +0 0 m +-22.127 0 -40.129 -18.002 -40.129 -40.129 c +-40.129 -62.256 -22.127 -80.258 0 -80.258 c +22.127 -80.258 40.129 -62.256 40.129 -40.129 c +40.129 -18.002 22.127 0 0 0 c +f +Q + +endstream endobj 45 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 63.9999 106.569 cm +0 0 m +-23.986 0 -43.5 -19.254 -43.5 -42.921 c +-43.5 -66.588 -23.986 -85.843 0 -85.843 c +23.986 -85.843 43.5 -66.588 43.5 -42.921 c +43.5 -19.254 23.986 0 0 0 c +0 -86.069 m +-23.986 -86.069 -43.5 -66.555 -43.5 -42.569 c +-43.5 -18.583 -23.986 0.931 0 0.931 c +23.986 0.931 43.5 -18.583 43.5 -42.569 c +43.5 -66.555 23.986 -86.069 0 -86.069 c +f +Q + +endstream endobj 46 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +64 100.528 m +57.456 100.528 52.133 95.204 52.133 88.661 c +52.133 82.117 57.456 76.794 64 76.794 c +70.543 76.794 75.867 82.117 75.867 88.661 c +75.867 95.204 70.543 100.528 64 100.528 c +W n +q +0 g +/Perceptual ri +/GS0 gs +16.5319595 0 0 -16.4530048 64.19561 91.2625198 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 47 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +84.937 98.025 m +84.945 97.989 84.951 97.953 84.959 97.917 c +85.094 97.888 85.099 97.919 84.937 98.025 c +73.146 72.454 m +72.595 62.609 l +79.097 55.526 l +72.595 48.443 l +76.893 43.761 l +72.595 39.079 l +73.146 29.315 l +54.853 29.315 l +54.853 72.454 l +47.58 76.176 42.621 84.219 42.621 93.463 c +42.621 95.01 42.838 96.44 43.056 97.985 c +43.845 98.133 56.605 103.481 y +56.499 102.903 71.501 102.903 71.395 103.481 c +83.722 98.177 84.959 97.917 v +85.272 96.398 85.378 94.987 85.378 93.463 c +85.378 84.219 80.309 76.176 73.146 72.454 c +43.062 98.025 m +43.06 98.012 43.058 97.998 43.056 97.985 c +43.005 97.975 43.004 97.987 43.062 98.025 c +W n +q +0 g +/Perceptual ri +/GS0 gs +23.1531162 0 0 -38.4417267 63.9400253 81.7712097 cm +BX /Sh0 sh EX Q +Q + +endstream endobj 48 0 obj <>/ExtGState<>>>/Subtype/Form>>stream +/CS0 cs 0.058 0.058 0.052 scn +/Perceptual ri +/GS0 gs +q 1 0 0 1 58.6104 96.2867 cm +0 0 m +1.997 0.363 4.084 0.545 6.081 0.545 c +8.169 0.636 10.166 0.363 12.163 0 c +12.253 -0.454 12.344 -0.908 12.344 -1.362 c +12.344 -4.812 9.53 -7.626 6.081 -7.626 c +2.632 -7.626 -0.182 -4.812 -0.182 -1.362 c +-0.182 -0.908 -0.091 -0.454 0 0 c +3.631 -52.836 -2.541 25.147 re +-15.956 -58.309 m +-23.026 -52.161 -27.502 -43.097 -27.502 -32.955 c +-27.502 -21.153 -21.33 -10.259 -11.164 -4.176 c +-11.346 -5.356 -11.527 -6.446 -11.527 -7.626 c +-11.527 -14.616 -7.443 -20.699 -1.452 -23.513 c +-1.452 -55.378 l +6.081 -62.913 l +13.615 -55.378 l +13.161 -48.751 l +16.701 -45.21 l +13.161 -41.67 l +18.516 -36.314 l +13.161 -30.957 l +13.615 -23.513 l +19.514 -20.699 23.69 -14.616 23.69 -7.626 c +23.69 -6.446 23.599 -5.356 23.327 -4.176 c +27.015 -6.403 30.178 -9.277 32.714 -12.603 c +26.582 -4.182 16.621 1.296 5.373 1.296 c +-13.263 1.296 -28.371 -13.739 -28.371 -32.287 c +-28.371 -42.782 -23.533 -52.151 -15.956 -58.309 c +f +Q + +endstream endobj 284 0 obj <> endobj 281 0 obj <> endobj 283 0 obj <> endobj 285 0 obj <> endobj 282 0 obj <> endobj 286 0 obj <> endobj 287 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +23.1531162 0 0 -38.4417267 63.9400253 81.7712097 cm +BX /Sh0 sh EX Q + +endstream endobj 288 0 obj <> endobj 289 0 obj <> endobj 290 0 obj <> endobj 280 0 obj <> endobj 279 0 obj <> endobj 278 0 obj <> endobj 276 0 obj <> endobj 277 0 obj <> endobj 291 0 obj <> endobj 292 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +43.5819511 0 0 -43.3738098 63.3764191 64.8112564 cm +BX /Sh0 sh EX Q + +endstream endobj 293 0 obj <> endobj 274 0 obj <> endobj 275 0 obj <> endobj 294 0 obj <> endobj 295 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/Perceptual ri +/GS0 gs +52.3910713 0 0 -52.1408577 61.26651 71.6794434 cm +BX /Sh0 sh EX Q + +endstream endobj 296 0 obj <> endobj 41 0 obj <> endobj 297 0 obj <> endobj 298 0 obj <> endobj 299 0 obj <> endobj 36 0 obj <> endobj 273 0 obj [/ICCBased 136 0 R] endobj 27 0 obj [26 0 R 25 0 R 24 0 R] endobj 300 0 obj <> endobj xref +0 301 +0000000004 65535 f +0000000016 00000 n +0000000175 00000 n +0000018904 00000 n +0000000000 00000 f +0000018969 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000022143 00000 n +0000000000 00000 f +0000022216 00000 n +0000022390 00000 n +0000025144 00000 n +0000090733 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000019575 00000 n +0000146050 00000 n +0000146134 00000 n +0000146216 00000 n +0000159188 00000 n +0000019982 00000 n +0000149910 00000 n +0000150797 00000 n +0000120860 00000 n +0000124036 00000 n +0000148071 00000 n +0000148195 00000 n +0000148318 00000 n +0000159027 00000 n +0000146873 00000 n +0000146998 00000 n +0000144208 00000 n +0000144352 00000 n +0000158521 00000 n +0000150860 00000 n +0000151380 00000 n +0000152040 00000 n +0000152512 00000 n +0000153141 00000 n +0000153663 00000 n +0000154638 00000 n +0000149190 00000 n +0000149810 00000 n +0000020902 00000 n +0000022081 00000 n +0000110638 00000 n +0000146647 00000 n +0000146759 00000 n +0000147123 00000 n +0000147246 00000 n +0000147363 00000 n +0000147479 00000 n +0000147593 00000 n +0000147720 00000 n +0000147833 00000 n +0000147958 00000 n +0000144064 00000 n +0000144504 00000 n +0000144656 00000 n +0000095503 00000 n +0000096053 00000 n +0000096773 00000 n +0000097741 00000 n +0000098945 00000 n +0000099375 00000 n +0000100430 00000 n +0000101115 00000 n +0000101819 00000 n +0000102505 00000 n +0000103540 00000 n +0000103949 00000 n +0000104675 00000 n +0000105345 00000 n +0000106071 00000 n +0000106593 00000 n +0000107253 00000 n +0000107720 00000 n +0000108347 00000 n +0000108872 00000 n +0000149154 00000 n +0000144001 00000 n +0000142413 00000 n +0000142988 00000 n +0000142476 00000 n +0000140932 00000 n +0000141498 00000 n +0000140995 00000 n +0000140869 00000 n +0000136563 00000 n +0000140754 00000 n +0000136626 00000 n +0000137242 00000 n +0000137743 00000 n +0000135939 00000 n +0000136003 00000 n +0000132059 00000 n +0000134492 00000 n +0000135026 00000 n +0000134556 00000 n +0000133328 00000 n +0000133658 00000 n +0000133392 00000 n +0000131995 00000 n +0000132420 00000 n +0000130706 00000 n +0000131062 00000 n +0000130770 00000 n +0000130082 00000 n +0000130146 00000 n +0000127595 00000 n +0000128877 00000 n +0000129274 00000 n +0000128941 00000 n +0000128813 00000 n +0000127531 00000 n +0000127928 00000 n +0000126159 00000 n +0000126618 00000 n +0000126223 00000 n +0000124277 00000 n +0000125043 00000 n +0000124341 00000 n +0000124213 00000 n +0000124149 00000 n +0000123602 00000 n +0000123666 00000 n +0000110682 00000 n +0000120896 00000 n +0000120952 00000 n +0000123819 00000 n +0000123916 00000 n +0000124494 00000 n +0000124665 00000 n +0000124792 00000 n +0000124916 00000 n +0000125160 00000 n +0000125215 00000 n +0000125525 00000 n +0000125603 00000 n +0000125760 00000 n +0000125931 00000 n +0000126006 00000 n +0000126084 00000 n +0000126376 00000 n +0000126497 00000 n +0000126735 00000 n +0000126790 00000 n +0000127100 00000 n +0000127178 00000 n +0000127335 00000 n +0000127456 00000 n +0000127740 00000 n +0000127837 00000 n +0000128045 00000 n +0000128100 00000 n +0000128414 00000 n +0000128492 00000 n +0000128641 00000 n +0000128738 00000 n +0000129086 00000 n +0000129183 00000 n +0000129391 00000 n +0000129446 00000 n +0000129758 00000 n +0000129836 00000 n +0000129985 00000 n +0000130263 00000 n +0000130318 00000 n +0000130628 00000 n +0000130915 00000 n +0000131179 00000 n +0000131234 00000 n +0000131546 00000 n +0000131624 00000 n +0000131773 00000 n +0000131920 00000 n +0000132204 00000 n +0000132325 00000 n +0000132537 00000 n +0000132592 00000 n +0000132901 00000 n +0000132979 00000 n +0000133128 00000 n +0000133249 00000 n +0000133537 00000 n +0000133775 00000 n +0000133830 00000 n +0000134144 00000 n +0000134222 00000 n +0000134371 00000 n +0000134701 00000 n +0000134822 00000 n +0000134925 00000 n +0000135143 00000 n +0000135198 00000 n +0000135512 00000 n +0000135590 00000 n +0000135739 00000 n +0000135860 00000 n +0000136120 00000 n +0000136175 00000 n +0000136485 00000 n +0000140128 00000 n +0000140192 00000 n +0000138216 00000 n +0000139502 00000 n +0000139566 00000 n +0000138152 00000 n +0000138585 00000 n +0000138369 00000 n +0000138490 00000 n +0000138702 00000 n +0000138757 00000 n +0000139067 00000 n +0000139145 00000 n +0000139302 00000 n +0000139423 00000 n +0000139683 00000 n +0000139738 00000 n +0000140050 00000 n +0000140309 00000 n +0000140364 00000 n +0000140676 00000 n +0000141147 00000 n +0000141268 00000 n +0000141377 00000 n +0000141614 00000 n +0000141669 00000 n +0000141979 00000 n +0000142057 00000 n +0000142214 00000 n +0000142335 00000 n +0000142628 00000 n +0000142776 00000 n +0000142882 00000 n +0000143104 00000 n +0000143159 00000 n +0000143468 00000 n +0000143546 00000 n +0000143703 00000 n +0000143851 00000 n +0000143926 00000 n +0000145847 00000 n +0000145626 00000 n +0000145409 00000 n +0000144921 00000 n +0000144800 00000 n +0000145067 00000 n +0000145170 00000 n +0000145288 00000 n +0000145506 00000 n +0000145723 00000 n +0000145944 00000 n +0000146529 00000 n +0000146561 00000 n +0000146411 00000 n +0000146443 00000 n +0000146293 00000 n +0000146325 00000 n +0000148441 00000 n +0000148496 00000 n +0000148806 00000 n +0000148884 00000 n +0000149033 00000 n +0000149873 00000 n +0000159151 00000 n +0000157899 00000 n +0000157963 00000 n +0000157275 00000 n +0000157339 00000 n +0000157211 00000 n +0000157147 00000 n +0000157083 00000 n +0000155907 00000 n +0000156245 00000 n +0000155971 00000 n +0000155843 00000 n +0000156124 00000 n +0000156362 00000 n +0000156417 00000 n +0000156727 00000 n +0000156805 00000 n +0000156962 00000 n +0000157456 00000 n +0000157511 00000 n +0000157821 00000 n +0000158080 00000 n +0000158135 00000 n +0000158443 00000 n +0000158673 00000 n +0000158794 00000 n +0000158912 00000 n +0000159227 00000 n +trailer +<]>> +startxref +159415 +%%EOF diff --git a/share/branding/png/keepassxc-128x128.png b/share/branding/png/keepassxc-128x128.png new file mode 100644 index 000000000..88f358de7 Binary files /dev/null and b/share/branding/png/keepassxc-128x128.png differ diff --git a/share/branding/png/keepassxc-256x256.png b/share/branding/png/keepassxc-256x256.png new file mode 100644 index 000000000..335639784 Binary files /dev/null and b/share/branding/png/keepassxc-256x256.png differ diff --git a/share/branding/png/keepassxc-512x512.png b/share/branding/png/keepassxc-512x512.png new file mode 100644 index 000000000..4a2d14c95 Binary files /dev/null and b/share/branding/png/keepassxc-512x512.png differ diff --git a/share/branding/png/keepassxc-64x64.png b/share/branding/png/keepassxc-64x64.png new file mode 100644 index 000000000..bf6fdb81c Binary files /dev/null and b/share/branding/png/keepassxc-64x64.png differ diff --git a/share/branding/png/keepassxc-locked-128x128.png b/share/branding/png/keepassxc-locked-128x128.png new file mode 100644 index 000000000..7677d5d9e Binary files /dev/null and b/share/branding/png/keepassxc-locked-128x128.png differ diff --git a/share/branding/png/keepassxc-locked-256x256.png b/share/branding/png/keepassxc-locked-256x256.png new file mode 100644 index 000000000..749bbb186 Binary files /dev/null and b/share/branding/png/keepassxc-locked-256x256.png differ diff --git a/share/branding/png/keepassxc-locked-512x512.png b/share/branding/png/keepassxc-locked-512x512.png new file mode 100644 index 000000000..85b75de52 Binary files /dev/null and b/share/branding/png/keepassxc-locked-512x512.png differ diff --git a/share/branding/png/keepassxc-locked-64x64.png b/share/branding/png/keepassxc-locked-64x64.png new file mode 100644 index 000000000..2621def2e Binary files /dev/null and b/share/branding/png/keepassxc-locked-64x64.png differ diff --git a/share/branding/png/keepassxc-monochrome-dark-128x128.png b/share/branding/png/keepassxc-monochrome-dark-128x128.png new file mode 100644 index 000000000..4e67b878f Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-dark-128x128.png differ diff --git a/share/branding/png/keepassxc-monochrome-dark-256x256.png b/share/branding/png/keepassxc-monochrome-dark-256x256.png new file mode 100644 index 000000000..c4a078505 Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-dark-256x256.png differ diff --git a/share/branding/png/keepassxc-monochrome-dark-512x512.png b/share/branding/png/keepassxc-monochrome-dark-512x512.png new file mode 100644 index 000000000..fea1174ef Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-dark-512x512.png differ diff --git a/share/branding/png/keepassxc-monochrome-dark-64x64.png b/share/branding/png/keepassxc-monochrome-dark-64x64.png new file mode 100644 index 000000000..a723fc647 Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-dark-64x64.png differ diff --git a/share/branding/png/keepassxc-monochrome-dark-locked-128x128.png b/share/branding/png/keepassxc-monochrome-dark-locked-128x128.png new file mode 100644 index 000000000..c22815b5b Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-dark-locked-128x128.png differ diff --git a/share/branding/png/keepassxc-monochrome-dark-locked-256x256.png b/share/branding/png/keepassxc-monochrome-dark-locked-256x256.png new file mode 100644 index 000000000..c4525b651 Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-dark-locked-256x256.png differ diff --git a/share/branding/png/keepassxc-monochrome-dark-locked-512x512.png b/share/branding/png/keepassxc-monochrome-dark-locked-512x512.png new file mode 100644 index 000000000..323dbede8 Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-dark-locked-512x512.png differ diff --git a/share/branding/png/keepassxc-monochrome-dark-locked-64x64.png b/share/branding/png/keepassxc-monochrome-dark-locked-64x64.png new file mode 100644 index 000000000..04c1246f4 Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-dark-locked-64x64.png differ diff --git a/share/branding/png/keepassxc-monochrome-light-128x128.png b/share/branding/png/keepassxc-monochrome-light-128x128.png new file mode 100644 index 000000000..c5ac3c42c Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-light-128x128.png differ diff --git a/share/branding/png/keepassxc-monochrome-light-256x256.png b/share/branding/png/keepassxc-monochrome-light-256x256.png new file mode 100644 index 000000000..7140833d7 Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-light-256x256.png differ diff --git a/share/branding/png/keepassxc-monochrome-light-512x512.png b/share/branding/png/keepassxc-monochrome-light-512x512.png new file mode 100644 index 000000000..1abc22225 Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-light-512x512.png differ diff --git a/share/branding/png/keepassxc-monochrome-light-64x64.png b/share/branding/png/keepassxc-monochrome-light-64x64.png new file mode 100644 index 000000000..9755f0982 Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-light-64x64.png differ diff --git a/share/branding/png/keepassxc-monochrome-light-locked-128x128.png b/share/branding/png/keepassxc-monochrome-light-locked-128x128.png new file mode 100644 index 000000000..3ea3e6e04 Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-light-locked-128x128.png differ diff --git a/share/branding/png/keepassxc-monochrome-light-locked-256x256.png b/share/branding/png/keepassxc-monochrome-light-locked-256x256.png new file mode 100644 index 000000000..9f6004f53 Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-light-locked-256x256.png differ diff --git a/share/branding/png/keepassxc-monochrome-light-locked-512x512.png b/share/branding/png/keepassxc-monochrome-light-locked-512x512.png new file mode 100644 index 000000000..486a3b3ef Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-light-locked-512x512.png differ diff --git a/share/branding/png/keepassxc-monochrome-light-locked-64x64.png b/share/branding/png/keepassxc-monochrome-light-locked-64x64.png new file mode 100644 index 000000000..dcd4ad40d Binary files /dev/null and b/share/branding/png/keepassxc-monochrome-light-locked-64x64.png differ diff --git a/share/branding/png/macos-128x128.png b/share/branding/png/macos-128x128.png new file mode 100644 index 000000000..02d22c1b6 Binary files /dev/null and b/share/branding/png/macos-128x128.png differ diff --git a/share/branding/png/macos-256x256.png b/share/branding/png/macos-256x256.png new file mode 100644 index 000000000..1726dab67 Binary files /dev/null and b/share/branding/png/macos-256x256.png differ diff --git a/share/branding/png/macos-512x512.png b/share/branding/png/macos-512x512.png new file mode 100644 index 000000000..dfe4f6f0f Binary files /dev/null and b/share/branding/png/macos-512x512.png differ diff --git a/share/branding/png/macos-64x64.png b/share/branding/png/macos-64x64.png new file mode 100644 index 000000000..b76ccc951 Binary files /dev/null and b/share/branding/png/macos-64x64.png differ diff --git a/share/branding/png/macos-monochrome-dark-128x128.png b/share/branding/png/macos-monochrome-dark-128x128.png new file mode 100644 index 000000000..dd30e51c8 Binary files /dev/null and b/share/branding/png/macos-monochrome-dark-128x128.png differ diff --git a/share/branding/png/macos-monochrome-dark-256x256.png b/share/branding/png/macos-monochrome-dark-256x256.png new file mode 100644 index 000000000..d769b171a Binary files /dev/null and b/share/branding/png/macos-monochrome-dark-256x256.png differ diff --git a/share/branding/png/macos-monochrome-dark-512x512.png b/share/branding/png/macos-monochrome-dark-512x512.png new file mode 100644 index 000000000..b849f199f Binary files /dev/null and b/share/branding/png/macos-monochrome-dark-512x512.png differ diff --git a/share/branding/png/macos-monochrome-dark-64x64.png b/share/branding/png/macos-monochrome-dark-64x64.png new file mode 100644 index 000000000..9811284c2 Binary files /dev/null and b/share/branding/png/macos-monochrome-dark-64x64.png differ diff --git a/share/branding/scalable/keepassxc-monochrome-dark.svg b/share/branding/scalable/keepassxc-monochrome-dark.svg new file mode 100644 index 000000000..51e107088 --- /dev/null +++ b/share/branding/scalable/keepassxc-monochrome-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/branding/scalable/keepassxc-monochrome-light.svg b/share/branding/scalable/keepassxc-monochrome-light.svg new file mode 100644 index 000000000..35c886cd7 --- /dev/null +++ b/share/branding/scalable/keepassxc-monochrome-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/branding/scalable/keepassxc.svg b/share/branding/scalable/keepassxc.svg new file mode 100644 index 000000000..aad6c5a16 --- /dev/null +++ b/share/branding/scalable/keepassxc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/branding/scalable/macos-monochrome-dark.svg b/share/branding/scalable/macos-monochrome-dark.svg new file mode 100644 index 000000000..2d8e45a1f --- /dev/null +++ b/share/branding/scalable/macos-monochrome-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/branding/scalable/macos.svg b/share/branding/scalable/macos.svg new file mode 100644 index 000000000..f1d48eebc --- /dev/null +++ b/share/branding/scalable/macos.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/icons/application/256x256/apps/keepassxc.png b/share/icons/application/256x256/apps/keepassxc.png index 91a232118..335639784 100644 Binary files a/share/icons/application/256x256/apps/keepassxc.png and b/share/icons/application/256x256/apps/keepassxc.png differ diff --git a/share/icons/application/scalable/actions/attributes-copy.svg b/share/icons/application/scalable/actions/attributes-copy.svg new file mode 100644 index 000000000..b4e4725b7 --- /dev/null +++ b/share/icons/application/scalable/actions/attributes-copy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/icons/application/scalable/actions/bitwarden.svg b/share/icons/application/scalable/actions/bitwarden.svg new file mode 100644 index 000000000..9d22e9adc --- /dev/null +++ b/share/icons/application/scalable/actions/bitwarden.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/icons/application/scalable/actions/csv.svg b/share/icons/application/scalable/actions/csv.svg new file mode 100644 index 000000000..e76afb0a8 --- /dev/null +++ b/share/icons/application/scalable/actions/csv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/icons/application/scalable/actions/database-search.svg b/share/icons/application/scalable/actions/database-search.svg new file mode 100644 index 000000000..a1a30a675 --- /dev/null +++ b/share/icons/application/scalable/actions/database-search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/icons/application/scalable/actions/onepassword.svg b/share/icons/application/scalable/actions/onepassword.svg new file mode 100644 index 000000000..b43237abc --- /dev/null +++ b/share/icons/application/scalable/actions/onepassword.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/icons/application/scalable/actions/passkey.svg b/share/icons/application/scalable/actions/passkey.svg new file mode 100644 index 000000000..c1345f1f2 --- /dev/null +++ b/share/icons/application/scalable/actions/passkey.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/icons/application/scalable/actions/qrcode.svg b/share/icons/application/scalable/actions/qrcode.svg new file mode 100644 index 000000000..7778d1054 --- /dev/null +++ b/share/icons/application/scalable/actions/qrcode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/icons/application/scalable/actions/tag-multiple.svg b/share/icons/application/scalable/actions/tag-multiple.svg new file mode 100644 index 000000000..925e47ed1 --- /dev/null +++ b/share/icons/application/scalable/actions/tag-multiple.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/icons/application/scalable/actions/totp-copy-password.svg b/share/icons/application/scalable/actions/totp-copy-password.svg new file mode 100644 index 000000000..935501117 --- /dev/null +++ b/share/icons/application/scalable/actions/totp-copy-password.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/icons/application/scalable/actions/totp-copy.svg b/share/icons/application/scalable/actions/totp-copy.svg new file mode 100644 index 000000000..1f134017c --- /dev/null +++ b/share/icons/application/scalable/actions/totp-copy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/icons/application/scalable/actions/totp-edit.svg b/share/icons/application/scalable/actions/totp-edit.svg new file mode 100644 index 000000000..b3814fc4d --- /dev/null +++ b/share/icons/application/scalable/actions/totp-edit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/share/icons/application/scalable/actions/chronometer.svg b/share/icons/application/scalable/actions/totp.svg similarity index 100% rename from share/icons/application/scalable/actions/chronometer.svg rename to share/icons/application/scalable/actions/totp.svg diff --git a/share/icons/application/scalable/actions/yubikey-refresh.svg b/share/icons/application/scalable/actions/yubikey-refresh.svg new file mode 100644 index 000000000..4e51f88a1 --- /dev/null +++ b/share/icons/application/scalable/actions/yubikey-refresh.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/share/icons/application/scalable/apps/keepassxc-locked.svg b/share/icons/application/scalable/apps/keepassxc-locked.svg index 7d84d536e..a838d8ad4 100644 --- a/share/icons/application/scalable/apps/keepassxc-locked.svg +++ b/share/icons/application/scalable/apps/keepassxc-locked.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/share/icons/application/scalable/apps/keepassxc-monochrome-dark-locked.svg b/share/icons/application/scalable/apps/keepassxc-monochrome-dark-locked.svg index 128588928..e3d392c07 100644 --- a/share/icons/application/scalable/apps/keepassxc-monochrome-dark-locked.svg +++ b/share/icons/application/scalable/apps/keepassxc-monochrome-dark-locked.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/share/icons/application/scalable/apps/keepassxc-monochrome-dark.svg b/share/icons/application/scalable/apps/keepassxc-monochrome-dark.svg index 93452845a..51e107088 100644 --- a/share/icons/application/scalable/apps/keepassxc-monochrome-dark.svg +++ b/share/icons/application/scalable/apps/keepassxc-monochrome-dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/share/icons/application/scalable/apps/keepassxc-monochrome-light-locked.svg b/share/icons/application/scalable/apps/keepassxc-monochrome-light-locked.svg index 79bc8d49d..8b2a3fad4 100644 --- a/share/icons/application/scalable/apps/keepassxc-monochrome-light-locked.svg +++ b/share/icons/application/scalable/apps/keepassxc-monochrome-light-locked.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/share/icons/application/scalable/apps/keepassxc-monochrome-light.svg b/share/icons/application/scalable/apps/keepassxc-monochrome-light.svg index 4e72e893b..35c886cd7 100644 --- a/share/icons/application/scalable/apps/keepassxc-monochrome-light.svg +++ b/share/icons/application/scalable/apps/keepassxc-monochrome-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/share/icons/application/scalable/apps/keepassxc-unlocked.svg b/share/icons/application/scalable/apps/keepassxc-unlocked.svg index 88a440965..a377b782d 100644 --- a/share/icons/application/scalable/apps/keepassxc-unlocked.svg +++ b/share/icons/application/scalable/apps/keepassxc-unlocked.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/share/icons/application/scalable/apps/keepassxc.svg b/share/icons/application/scalable/apps/keepassxc.svg index 433a4041b..aad6c5a16 100644 --- a/share/icons/application/scalable/apps/keepassxc.svg +++ b/share/icons/application/scalable/apps/keepassxc.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/share/icons/application/scalable/mimetypes/application-x-keepassxc.svg b/share/icons/application/scalable/mimetypes/application-x-keepassxc.svg index 4b33c5a69..f846a4e46 100644 --- a/share/icons/application/scalable/mimetypes/application-x-keepassxc.svg +++ b/share/icons/application/scalable/mimetypes/application-x-keepassxc.svg @@ -1,2 +1 @@ - - + \ No newline at end of file diff --git a/share/icons/icons.qrc b/share/icons/icons.qrc index 209a1d35c..a846bf7bc 100644 --- a/share/icons/icons.qrc +++ b/share/icons/icons.qrc @@ -6,17 +6,20 @@ application/256x256/apps/keepassxc.png application/scalable/actions/application-exit.svg + application/scalable/actions/attributes-copy.svg application/scalable/actions/auto-type.svg + application/scalable/actions/bitwarden.svg application/scalable/actions/bugreport.svg application/scalable/actions/chevron-double-down.svg application/scalable/actions/chevron-double-right.svg - application/scalable/actions/chronometer.svg application/scalable/actions/clipboard-text.svg application/scalable/actions/configure.svg + application/scalable/actions/csv.svg application/scalable/actions/database-change-key.svg application/scalable/actions/database-lock.svg application/scalable/actions/database-lock-all.svg application/scalable/actions/database-merge.svg + application/scalable/actions/database-search.svg application/scalable/actions/dialog-close.svg application/scalable/actions/dialog-ok.svg application/scalable/actions/document-close.svg @@ -57,11 +60,14 @@ application/scalable/actions/move-up.svg application/scalable/actions/object-locked.svg application/scalable/actions/object-unlocked.svg + application/scalable/actions/onepassword.svg application/scalable/actions/paperclip.svg + application/scalable/actions/passkey.svg application/scalable/actions/password-copy.svg application/scalable/actions/password-generator.svg application/scalable/actions/password-show-off.svg application/scalable/actions/password-show-on.svg + application/scalable/actions/qrcode.svg application/scalable/actions/refresh.svg application/scalable/actions/reports.svg application/scalable/actions/reports-exclude.svg @@ -72,13 +78,19 @@ application/scalable/actions/system-search.svg application/scalable/actions/system-software-update.svg application/scalable/actions/tag.svg + application/scalable/actions/tag-multiple.svg application/scalable/actions/tag-search.svg + application/scalable/actions/totp.svg + application/scalable/actions/totp-copy.svg + application/scalable/actions/totp-copy-password.svg + application/scalable/actions/totp-edit.svg application/scalable/actions/trash.svg application/scalable/actions/url-copy.svg application/scalable/actions/user-guide.svg application/scalable/actions/username-copy.svg application/scalable/actions/view-history.svg application/scalable/actions/web.svg + application/scalable/actions/yubikey-refresh.svg application/scalable/apps/freedesktop.svg application/scalable/apps/internet-web-browser.svg application/scalable/apps/keepassxc.svg diff --git a/share/linux/org.keepassxc.KeePassXC.appdata.xml b/share/linux/org.keepassxc.KeePassXC.appdata.xml index 0efc17c68..d778571a4 100644 --- a/share/linux/org.keepassxc.KeePassXC.appdata.xml +++ b/share/linux/org.keepassxc.KeePassXC.appdata.xml @@ -5,10 +5,8 @@ KeePassXC CC-BY-3.0 GPL-3.0+ - - application/x-keepass2 -

Community-driven port of the Windows application “KeePass Password Safe” + Von der Community entwickelter Port der Windows Anwendung “KeePass Password Safe” KeePassXC Team

@@ -16,6 +14,12 @@ personal data management. It has a light interface, is cross-platform and published under the terms of the GNU General Public License.

+

+ KeePassXC ist eine Anwendung für Menschen, die extrem hohe Anforderungen + an die sichere Verwaltung von persönlichen Daten stellen. Sie hat eine leichtgewichtige + Benutzeroberfläche, ist auf vielen verschiedenen Plattformen verfügbar und + wird unter den Bedingungen der GNU General Public License veröffentlicht. +

org.keepassxc.KeePassXC.desktop @@ -25,31 +29,256 @@ https://keepassxc.org/docs#faq https://keepassxc.org/docs https://www.transifex.com/keepassxc/keepassxc + https://github.com/keepassxreboot/keepassxc + https://keepassxc.org/docs#contribute - https://keepassxc.org/images/screenshots/thumbs/welcome_screen.png - Create, Import or Open Databases - - - https://keepassxc.org/images/screenshots/thumbs/database_view.png + https://keepassxc.org/assets/img/screenshots/database_view.png Organize with Groups and Entries - https://keepassxc.org/images/screenshots/thumbs/edit_entry.png - Database Entry + https://keepassxc.org/assets/img/screenshots/unlock_database.png + Unlock database - https://keepassxc.org/images/screenshots/thumbs/edit_entry_icons.png + https://keepassxc.org/assets/img/screenshots/edit_entry_icons.png Icon Selection for Entry - https://keepassxc.org/images/screenshots/thumbs/password_generator_advanced.png + https://keepassxc.org/assets/img/screenshots/password_generator_advanced.png Password Generator + + +
    +
  • Passkeys: Ability to easily remove a passkey from an entry [#10777]
  • +
  • Snap: Use new desktop portal for native messaging integration [#10906]
  • +
  • Improve entry placeholder/reference feature [#10846]
  • +
  • Improve CSV importing when title field isn't specified [#10843]
  • +
  • Improve encrypted Bitwarden importing [#10800]
  • +
  • Improve database settings UX [#10821]
  • +
  • Improve handling of clipboard actions from entry preview [#10810]
  • +
  • Improve group/entry view resize behavior and set sensible defaults [#10641]
  • +
  • Passkeys: Fix incorrect username fill [#10874]
  • +
  • Passkeys: Return additional data to the extension [#10857]
  • +
  • Fix password clear timer inconsistency on unlock view [#10708]
  • +
  • Fix portability check [#10760]
  • +
  • Fix page overflow on HTML exports [#10735]
  • +
  • Fix broken builds when using system provided zxcvbn [#10717]
  • +
  • Fix copy password button when text is selected [#10853]
  • +
  • Fix tab ordering on application settings pages [#10907]
  • +
  • SSH Agent: Fix broken decrypt button [#10638]
  • +
  • Windows: Fix ALT Auto-Type modifier [#10795]
  • +
  • Windows: Fix wrong DACL memory size allocation [#10712]
  • +
  • macOS: Fix monospace font sizing [#10739]
  • +
  • Flatpak: Fix configuration settings off-by-one error [#10688]
  • +
  • BSD: Fix compiling with libusb implementation [#10736]
  • +
+
+
+ + +
    +
  • Add hotkey for showing search help [#10591]
  • +
  • Add hotkey for group switching (Ctrl+Shift+PgUp/PgDown) [#10625]
  • +
  • Add per-database auto-save delay setting [#9100]
  • +
  • Add setting to hide menubar [#10341]
  • +
  • Improve Bitwarden 1PUX import and support organization collections [#10499]
  • +
  • Show advanced settings checkbox only for settings that have them [#6513]
  • +
  • Remove obsolete setting for requiring repeated password entry [#9722]
  • +
  • Passkeys: Allow registering Passkeys to existing entries [#10408]
  • +
  • Passkeys: Show warning about data being unencrypted before Passkey export [#10411]
  • +
  • Passkeys: Support NFC and USB transports [#10402]
  • +
  • Passkeys: Pass extension JSON data to browser [#10615]
  • +
  • SSH Agent: Do not use entries from recycle bin [#10518]
  • +
  • Linux: Change hotkey sequence used for {CLEARFIELD} Auto-Type [#10008]
  • +
  • Windows: Improve DACL memory access protection [#10618]
  • +
  • Fix crash when deleting history items [#10451]
  • +
  • Fix crash on screen lock or computer sleep [#10458]
  • +
  • Fix search field not being focused after unlock [#10459]
  • +
  • Fix loss of window focus when Auto-Type needs to unlock a database [#10555]
  • +
  • Fix inconsistent TOTP visibility on unlock [#10009]
  • +
  • Fix CSV import skipping over single-name groups [#10575]
  • +
  • Fix key file folder being remembered even if disabled in settings [#10636]
  • +
  • Fix issues with entry editing and database locking [#10667]
  • +
  • Fix key file text when provided on command line [#10642]
  • +
  • Fix issues with hardware key auto detection [#10663]
  • +
  • Do not override monospace font size [#10282]
  • +
  • Perform group sort only when group view is in focus [#10202]
  • +
  • Do not show decimals for attachment sizes in Bytes [#10595]
  • +
  • Prevent merging of global custom data when merging databases [#10452]
  • +
  • Fix minor translation issues [#10635]
  • +
  • Passkeys: Fix StrongBox incompatibility [#10420]
  • +
  • Passkeys: Set RP ID to effective domain if unset instead of returning an error [#10384]
  • +
  • Passkeys: Various UI fixes and improvements [#10427, #10608, #10609]
  • +
  • AppImage: Fix URL opening [#10624]
  • +
  • Flatpak: Fix application autostart [#10563]
  • +
  • Linux/macOS: Fix button sizes on modal alert popups [#10500]
  • +
  • Linux: Fix clipboard clear on Wayland [#10500]
  • +
  • Windows: Preserve file-hidden attribute [#10343]
  • +
+
+
+ + +
    +
  • Support USB Hotplug for Hardware Key interface [#10092]
  • +
  • Support 1PUX and Bitwarden import [#9815]
  • +
  • Browser: Add support for PassKeys [#8825, #9987, #10318]
  • +
  • Build System: Move to vcpkg manifest mode [#10088]
  • +
  • Fix multiple TOTP issues [#9874]
  • +
  • Fix focus loss on save when the editor is not visible anymore [#10075]
  • +
  • Fix visual when removing entry from history [#9947]
  • +
  • Fix first entry is not selected when a search is performed [#9868]
  • +
  • Prevent scrollbars on entry drag/drop [#9747]
  • +
  • Prevent duplicate characters in "Also choose from" field of password generator [#9803]
  • +
  • Security: Prevent byte-by-byte and attachment inference side channel attacks [#10266]
  • +
  • Browser: Fix raising Update Entry messagebox [#9853]
  • +
  • Browser: Fix bugs when returning credentials [#9136]
  • +
  • Browser: Fix crash on database open from browser [#9939]
  • +
  • Browser: Fix support for referenced URL fields [#8788]
  • +
  • MacOS: Fix crash when changing highlight/accent color [#10348]
  • +
  • MacOS: Fix TouchID appearing even though lid is closed [#10092]
  • +
  • Windows: Fix terminating KeePassXC processes with MSI installer [#9822]
  • +
  • FdoSecrets: Fix database merge crash when enabled [#10136]
  • +
+
+
+ + +
    +
  • Significant improvement to visual when drag/drop entries [#9698]
  • +
  • Automatically prompt for Quick Unlock when showing unlock dialog [#9697]
  • +
  • Improve colorful lock icon [#9632]
  • +
  • Ability to search by entry UUID [#9571]
  • +
  • Add challenge-response support for NitroKey 3 [#9631]
  • +
  • Auto-Type: Disable entry level Auto-Type when disabled at group/entry [#9672]
  • +
  • Browser: Show warning when adding duplicate URL's to entry [#9588][#9635]
  • +
  • Browser: Improve error message when proxy cannot be found [#9385]
  • +
  • Fix crash on exit on macOS [#9620]
  • +
  • Fix crash on search if entry doesn't have a group [#9633]
  • +
  • Fix several issues with Quick Unlock [#9697]
  • +
  • Enable save button when not auto-saving non-data changes [#9634]
  • +
  • Several UI/UX fixes [#9647]
  • +
  • Move toolbar back to top of window when disabling movement [#9699]
  • +
  • Browser: Fix closing password generator dialog with X button [#9636]
  • +
  • Browser: Fix handling of expired credentials [#9595]
  • +
  • Windows: Prevent white flicker when launching application [#9637]
  • +
  • Linux: Fix warning message about allow screencapture [#9638]
  • +
  • FdoSecrets: Fix access confirmation dialog showing even when disabled [#9690]
  • +
+
+
+ + +
    +
  • Add menu option to allow screenshots [#8841]
  • +
  • Add support for Botan 3 [#9388]
  • +
  • Increase max TOTP step to 24 hours [#9149]
  • +
  • Improve HTML export layout [#8987]
  • +
  • Turn search reset off by default [#9153]
  • +
  • Use QClipboard::clear() instead of setting blank text [#9148]
  • +
  • Hide group column header choice when not in search [#9171]
  • +
  • Improve look of KeePassXC logo and icons [#9355]
  • +
  • Add keyboard shortcuts for app and database settings [#9007]
  • +
  • Hide rename button from attachments preview panel [#8842]
  • +
  • Linux: Set SingleMainWindow in .desktop file [#7430]
  • +
  • Fix crash when search clears while creating new entry [#9230]
  • +
  • Fix crash when using Windows Hello in a Remote Desktop session [#9006]
  • +
  • Fix crash in Group Edit after enabling Browser Integration [#8778]
  • +
  • Fix canceling quick unlock when it is unavailable [#9034]
  • +
  • Set password input field font correctly [#8732]
  • +
  • Greatly improve performance when rendering entry view [#9398]
  • +
  • Fix various accessibility issues [#9138]
  • +
  • Fix arrows size when expand/collapse a group [#9096]
  • +
  • Select the clone instead of the original after cloning an entry [#9070]
  • +
  • Fix bugs with preview widget [#9170]
  • +
  • Fix status bar update when switching to other DB [#9073]
  • +
  • Fix database settings spin box bug [#9101]
  • +
  • Fix Ctrl+Tab shortcut to cycle databases in unlock dialog [#8839]
  • +
  • Fix TOTP QR code maintaining square ratio [#9027]
  • +
  • Fix Auto-Type configuration page on custom sequence selection [#8752]
  • +
  • Fix unexpected behavior of `--lock` when KeePassXC is not running [#8889]
  • +
  • Make open folder icon exempt from "Apply group icon to entry" [#9205]
  • +
  • Allow setting default file open directory with env var [#9192]
  • +
  • SSH Agent: Fix support for AES-256/GCM openssh keys [#8968]
  • +
  • Browser: Fix Native Messaging script path with BSD OS's [#8835]
  • +
+
+
+ + +
    +
  • Add 2 months expiration preset [#8687]
  • +
  • CLI: Add Unicode support on Windows [#8618]
  • +
  • Fix crash on macOS when unlocking database [#8676]
  • +
  • Fix display of passwords in preview panel [#8633]
  • +
  • Fix clicking links in entry preview panel [#8644]
  • +
  • Prevent expired entries search if no results returned [#8643]
  • +
  • Browser: Revert code causing connection problems [#8665]
  • +
  • Browser: Fix socket file symbolic link on Linux [#8656]
  • +
  • Flatpak: Fix launching browser proxy service [#8680]
  • +
  • SSH Agent: Fix paegent support on Windows [#8619]
  • +
+
+
+ + +
    +
  • Enhance Tags Support and Add Saved Searches [#8435, #8607]
  • +
  • Significant improvements to entry preview panel [#7993]
  • +
  • Add password strength indicator to all password fields [#7885]
  • +
  • Limit zxcvbn entropy estimation length to 128 characters [#7748]
  • +
  • Try full URL path when fetching favicon [#8565]
  • +
  • Hide usernames in preview panel when hidden in entry view [#8608]
  • +
  • Enable dark title bar on windows when accent color is not used [#8498]
  • +
  • Add option to display passwords in color in preview panel [#7097]
  • +
  • Add XML Export option to GUI [#8524]
  • +
  • Increase entropy required for a "good" password rating to 75 [#8523]
  • +
  • Add shortcut to copy password with TOTP appended [#8443]
  • +
  • Show entry count in status bar [#8435]
  • +
  • Allow KeePassXC to be built without X11 [#8147]
  • +
  • Enable use of VivoKey Apex and Dangerous Things FlexSecure tokens [#8332]
  • +
  • Add setting for number of recent files [#8239]
  • +
  • Add Ctrl+Tab shortcut to cycle databases in unlock dialog [#8168]
  • +
  • Replace offensive words in eff_large.wordlist [#7968]
  • +
  • Auto-Type: PICKCHARS can specify attribute and ignore BEEP [#8118]
  • +
  • Linux: Add isHardwareKeySupported and refreshHardwareKeys to DBus methods [#8055]
  • +
  • Add config variable to specify default database file name [#8042]
  • +
  • CLI: Add `db-edit` command [#8400]
  • +
  • CLI: Add option to display all attributes with `show` command [#8256]
  • +
  • CLI: Show UUID and tags with `show` and `clip` commands [#8241]
  • +
  • Browser: Move socket into separate directory on Linux [#8030]
  • +
  • Browser: Add group setting to omit WWW subdomain when matching URLs [#7988]
  • +
  • FdoSecrets: Ask to unlock the database when creating items [#8022, #8028]
  • +
  • FdoSecrets: Skip entries in recycle bin when searching [#8021]
  • +
  • Fix potential deadlock in UI when saving [#8606]
  • +
  • Fix newlines when copying notes from preview panel [#8542]
  • +
  • Fix dark mode detection on Linux [#8477]
  • +
  • Fix crash when deleting items in recycle bin while searching [#8117]
  • +
  • Fix crash when trying to close database during unlock [#8144]
  • +
  • Fix tabbing around the interface [#8435, #8520]
  • +
  • Fix OPVault import when there are multiple OTP fields [#8436]
  • +
  • Fix various Windows Hello bugs [#8354]
  • +
  • Fix use of Apple Watch for Quick Unlock [#8311]
  • +
  • Better handling of "Lock on Minimize" setting [#8202]
  • +
  • Support numeric aware sorting on Windows and macOS [#8363]
  • +
  • Check for write permission before entering portable mode [#8447]
  • +
  • Correct regex escape logic to prevent parse errors [#7778]
  • +
  • Normalize slashes and file case for last used databases [#7864, #7214]
  • +
  • Link ykcore against pthread [#7807]
  • +
  • Auto-Type: Fix menu entries in selection dialog on Windows [#7987]
  • +
  • Auto-Type: Fix use of modifiers under macOS [#8111]
  • +
  • CLI: Fix output when using clip with the -t flag [#8271]
  • +
  • Browser: Use asynchronous access confirm dialog [#8273]
  • +
  • Browser: Always send database locked/unlocked status [#8114]
  • +
+
+