fwupd-devel-1.7.3-150400.3.3.19 >  A bwqp9|Xwuq3"  ϾJ.B-!Yɜ X;/r#VV!i۠G8 N NL8 3:Pk̋hpݒRjY211^vG96(D7ЧZ՞7RA1$b8r=gjWZJ ʅj2af6adb1ebd92579d1c21545731724c921ce4e82afbf3308b9140a0fb8517c2fb1bb8eb12b140a474459032b726cb98c5b8aa67abwqp9|XOV7uEžqoqըsDUJ\(+e[ ۚ`#'՝Y8Vf緩J Qr{{gȉkFpgA/WXSbcӶI26p3뼔h$JؘS؝+!xuF=atQl5.-Y,BӴƛ=sYsKB-:wuw1.wfFi)ZQGvL>FmWtLp>?d " S% ;[nt|    'c (*,/2/T1`113(383[95h[:<'[F~G~H(I4XY\]^Y bEcdnesfvlxuvwx y,zCfwupd-devel1.7.3150400.3.3.19Allow session software to update device firmwarefwupd is a daemon to allows session software to update device firmware on the local machine.bwqibs-arm-3M'SUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-later AND LGPL-2.1-or-laterhttps://www.suse.com/Development/Languages/C and C++https://fwupd.org/linuxaarch64>r g 5r Fd'H*[9 RX'Z`m mJ!s} Xs8 k=.w Q . 0 a &".alSU040Q[PX[WEHAyDES libfwupdplugin5)- Update to version 1.7.2: * This release adds the following features: + Add a new HSI check that PCR registers 0-7 are not empty + Add several compile flags to reduce the install size by over 300Kb + Allow overriding HwId data from the daemon.conf config file + Allow overriding the firmware GType from a quirk file + Export the component release ID over DBus + Remove support for the SoloKey and ChaosKey devices + Show a daemon warning if quirk flags are malformed + Speed up the daemon startup by ~40% by doing less at startup * This release fixes the following bugs: + Be case insensitive when fixing the device model + Fix a critial warning in ccgx found by the fuzzer + Fix a DFU crash if the attach failed due to a hardware fault + Fix a Redfish crash when specifying a URL without a port + Fix CLI downloads when using fwupdmgr --ipfs + Fix critical warning when /etc/machine-id does not exist + Inhibit thunderbolt devices to correctly use UPDATABLE_HIDDEN + Set SSL_VERIFYHOST=0 when using Redfish to fix OpenBMC auth + Skip UEFI devices that fail coldplug * This release adds support for the following hardware: All exported MTD block devices - Changes from version 1.7.1: * This release adds the following features: + Allow specifying 'fwupdmgr device-test foo --json' for unattended testing + Allow using a filename when using set-approved-firmware + Inhibit ModemManager device in mbim-qdu + Share the Common Flash Memory Interface quirks between plugins + Show changes in HSI attributes when using 'fwupdmgr security' + Show the user a warning if updating may affect full-disk-encryption + Show translated firmware release notes when provided + Support loading remotes from /var/lib/fwupd/remotes.d * This release fixes the following bugs: + Fix a CCGX regression when loading firmware + Fix a potential crash when dumping Parade devices + Fix build error when sys/io.h is not available + Fix building the Synaptics RMI self tests on s390x + Fix the CSME CVE detection for new generations + Handle EPERM when running the self tests on systems with IPMI + Mark as SUPPORTED even if on battery power + Only save the HSI attributes to the database if different + Raise the client timeout value from 25 seconds to fix Redfish startup + Redirect the old HSI links to the correct place + Relax the ITE SuperIO signature checks for new hardware support + Set device time and timezone for logitech bulkcontroller devices + Set the verfmt of the returned device when the daemon device is unset * This release adds support for the following hardware: + Dell Atomic Dock + HP Thunderbolt Dock G4 + More PixArt devices + Steelseries Stratus + Wacom 3rd-gen Intuos BT - Changes from version 1.7.0: * This release adds the following features: + Add FuCfuPayload and FuCfuOffer for future usage + Add support for an 'unreachable' device flag + Add support for Logitech devices supporting the Unified Battery feature + Allow adding GUIDs to each HSI security attribute + Allow installing the LVFS remote, but with it disabled by default + Convert security attributes to JSON and write then to the database + Convert the device test script to a fwupdmgr subcommand + Create Redfish user accounts automatically using IPMI + Use an interactive request to restart some Logitech DFU devices * This release fixes the following bugs: + Abort on invalid SREC files early to avoid a fuzzing timeout + Allow using interrupt transfers for HID devices + Allow waiting for multiple devices to replug + Fix a critical warning on a Unifying flash failure + Fix a regression in flashing the Dell dock + Fix Thunderbolt host controller probing + Forcefully set checksums found in cabinet files to lowercase + Force UX-capsule over full size BGRT + Make the SuperIO ports and timeouts specific to the DMI model + Only probe SynapticsMST devices that have opted-in + Remove support for --ignore-power as it did not work for UEFI firmware + Reset the CMOS as required when changing system firmware branch + Restart the daemon if any of the the plugin config files are modified + Show HSiLevel=0 attributes in JSON security output + Update the child composite ID if the parent changes + Use a per-device global percentage completion + Write the BMP image upside down to avoid using a negative bitmap height * This release adds support for the following hardware: + A huge number of Synaptics CAPE devices + Elan fingerprint readers + Logitech Bolt peripherals, receivers and radio hardware + Logitech devices supporting the bulk controller protocol + More supported PixArt devices + More supported StarBook coreboot devices + Union Point SPI hardware - Add pkgconfig(libprotobuf-c) and pkgconfig(protobuf) BuildRequires: New dependencies. - Refresh patches with quilt. - Drop sub-package fwupdtpmevlog, no longer built. - Update URL in _service, new home.- Update to version 1.6.4: * Allow overriding the quirks directory at runtime * Fix a regression in flashing the Dell dock * Fix probing the Dell TPM * Show HSiLevel=0 attributes in JSON security output * Abort on invalid SREC files early to avoid a fuzzing timeout * This release adds support for the following hardware: + AVer ATLAS CAM/CAM520 Pro2 + Cayenne/Spyder Synaptics MST + VL819 USB devices - Changes from version 1.6.3: * This release adds the following features: Fall back to the parent if the child does not have a battery level set * This release fixes the following bugs: + Disable the uefi_capsule plugin if Redfish coldplug succeeded + Fix an elantp crash when starting the daemon + Fix compiling with old versions of libxmlb + Fix detection of 8Bitdo wireless usb adapter + Fix the 8bitdo N30 Pro 2 install duration + Fix the modem-manager report that failed to get device after update + Fix writing large redfish firmware files * This release adds support for the following hardware: + Poly Studio P21 + Realtek RTD2141B - Switch service to obs_scm, and recompress to buildtime. - Drop automatic changesgenerate, upstream have perfectly fine and human understandable release notes at https://github.com/fwupd/fwupd/releases that should be copied into .changes.- Add requires to udisks2 for dbxtool update. (bnc#1192344)- If the machine we install onto has shim installed, it is likely an EFI based system. Require fwupd-efi in this case (boo#1192206).- Require libfwupdplugin2 by the -devel package: the -devel package installs the .so symlink, thus we must guarantee the target library to be present.- Added hardening to systemd service(s) (bsc#1181400). Added patch(es): * harden_fwupd-offline-update.service.patch * harden_fwupd-refresh.service.patch- Update to version 1.6.2 - The fwupd efi program be separated to fwupd-efi package. - Removed pesign-obs-integration, moved needssslcertforbuild , SBAT and EFI signing stuff to fwupd-efi. - Moved libfwupdplugin1 to libfwupdplugin2 - Change log from upstream: https://github.com/fwupd/fwupd/blob/main/data/org.freedesktop.fwupd.metainfo.xml - This release adds the following features: * Add a plugin to check Lenovo firmware settings * Add initial support for the powerd daemon * Add support for CapsuleOnDisk * Add support for installing UEFI updates from GRUB * Add support for soft-requirements that can be ignored with --force * Allow devices to only accept version upgrades * Allow discovery of Redfish BMCs specified by VID-PID or MAC * Allow the daemon to request interactive action from the end user * Automatically connect the BMC network interface at startup * Show the build timestamp if set on the device * Show the user how to switch out of Wacom tablet Android-mode - This release fixes the following bugs: * Add the alternate vendor name into the 8BitDo allowlist * Allow multiple devices to set WAIT_FOR_REPLUG * Allow the client to watch for more property changes * Always ensure the SuperIO version string is NUL terminated * Automatically clear the update error as required * Disable all UX capsules for Lenovo hardware * Do not assume the metainfo file is NUL-terminated * Do not save invalid files on LVFS server error * Fix a VLI regression in enumerating the PD device * Fix a VLI regression when installing VL820Q7 firmware * Fix enumeration of the Synaptics Prometheus config child * Fix parsing Redfish USB/PCI network VID/PIDs * Fix the fwupdmgr progressbar spinner to actually work * Fix version number for legacy Wacom Bluetooth modules * Ignore virtual M.2 ATA devices * Preserve NEEDS_REBOOT on successful update * Prevent a corrupt PHAT table from allocating lots of memory * Read the Redfish SMBIOS table when required * Remove the vendor string from the device name where required * Save the update state to the database correctly all of the time * Switch from sysctl to ioctl for ESRT on FreeBSD * Try reading from /sys/class/dmi if SMBIOS direct access fails * Watch for children added or removed after setup has been completed * Work around a XCC-ism on Lenovo hardware - This release adds support for the following hardware: * ModemManager devices supporting Firehose or MBIM QDU * More models of RTS54HUB * More Poly DFU devices * Parade LSPCON * PixArt receiver and wireless hardware * Realtek MST with RTD2142 * SuperIO IT5570 * USB4 Dell dock- Remove valgrind from BuildRequires since it's not a hard requirement anymore. (bsc#1184248)- Update to version 1.5.8: New features: * Add a new internal flag to opt-in to GUID matching * Add D501 Baklava device support * Add fu_device_set_battery_level() * Add missing uint64 read and write helpers * Add Qubes wrapper source and create packages * Allow enabling plugins only matching a specific HwId * Prompt for unlock keypress if reset command is blocked * Remove obsolete dell-dock non-passive update flow support * Remove the Hughski public key * Show a warning when parsing invalid quirk files * Support for GATT characteristic signals/notifications * Support more than one protocol for a given device Fixes: * Align the CCGX DMC firmware to 64 byte chunks * Be more strict for custom quirk keys * Check pixart firmware compatibility with hardware before flashing * Correct a thunderbolt assertion if kernel failed FW read * Correctly erase STM32 devices when transfer size is less than sector size * Detect SREC overflow to avoid adding ~4GB of 0xFF padding * Do not show a critical error when flashing footer-less binary files * Don't allow device updates while needing activation * Fix a regression in the elantp defined IAP start address * Fix a regression where activate stopped working * Fix firmware update of pointing device on Lenovo ThinkPad Nano * Fix the HSI plugin 'Disabled' state * Fix the quirk key name for the Lenovo HDMI with power * Fix writing to the GD32VF103 bootloader * Only call elantp->detach() when writing a firmware blob * Updated StarLabs GUIDs * Wait a few ms for the Logitech hardware to settle after detach - Remove GPG-KEY-Hughski-Limited from the filelist - Drop upstreamed patch + fwupd-bsc1182057-fix-sbat-section-copy.patch- Add fwupd-bsc1182057-fix-sbat-section-copy.patch to set the proper section flags for .sbat section so that objcopy can copy it into fwupd*.efi (bsc#1182057)- Update to version 1.5.7: New features: * Add initial support for Bluez bluetooth devices * Add more supported pixart devices * Add support for the RTD21xx HDMI converter Fixes * Convert MBR types to GPT GUIDs to help find the ESP * Do not allow updating a synaptics-mst device with no customer ID * Drop unused heap pages after startup has completed * Ensure SBAT metadata is added correctly * Move the plugin build logic to the plugins themselves * Only allow verify-update for plugins that support CAN_VERIFY - Specify SBAT metadata for openSUSE/SLE (bsc#1182057) - Adjust the meson options + plugin_uefi => plugin_uefi_capsule and plugin_uefi_pk + plugin_synaptics => plugin_synaptics_mst and plugin_synaptics_rmi + Disable Intel AMT plugin in non-x86 systems- Update to 1.5.6: New features: * Add SBAT metadata to the fwupd EFI binary * Add support for GD32VF103 as found in the Longan Nano * Add support for RMI PS2 devices * Add support for the System76 Keyboard * Allow downloading firmware from IPFS * Install the UX data into a single .tar.xz file * Add a plugin to update PixArt RF devices * Add new hardware to use the elantp and rts54hid plugins * Allow specifying more than one VendorID for a device * Detect the AMD TSME encryption state for HSI-4 * Detect the AMI PK test key is not installed for HSI-1 * Add Maple Ridge Thunderbolt firmware parsing support * Add --no-remote-check to ignore checking for download remotes * Allow creating FMAP and Synaptics firmware using builder.xml Fixes: * Add support for the Starlabs LabTop L4 * Allow using an external ESP again * Ask the user to reboot when required if downgrading * Be more paranoid when parsing ASCII buffers and devices * Check if the fwupd BootXXXX entry exists on failure * Clear the pending flag if restarting the system * Do not allow flashing using flashrom if BLE is enabled * Do not allow Lenovo hardware to install multiple capsules * Do not parse the OptionROM image * Do not show Unknown [***] for every client connection * Fix dnload wBlockNum wraparound for ST devices * Fix OOM when using large ArchiveSizeMax values * Fix several crashes spotted by AddressSanitizer * Fix several places where the Goodix MOC plugin could crash * Include the PCR0 to the report metadata * Report the lockdown status from UEFI and SuperIO plugins * Show a console warning if the system clock is not set * Fix flashing a fingerprint reader that is in use * Fix several critical warnings when parsing invalid firmware * Fix updating DFU devices that use DNLOAD_BUSY * Ignore the legacy UEFI OVMF dummy GUID * Make libfwupd more thread safe to fix a crash in gnome-software * Never show unprintable chars from invalid firmware in the logs * Allow using fwupdtool as non-root for firmware commands * Do not trust the Block.HintSystem boolean for ESP filtering * Fix a memory leak when parsing Synaptics firmware * Fix a possible crash when reading the Goodix MOC USB request * Fix crashes when parsing invalid FMAP, DMC, Solokey and Synaptics images - Deprecate fwupd-bsc1179790-disable-hintsystem.patch- Add fwupd-bsc1179790-disable-hintsystem.patch to remove Block.HintSystem from ESP filtering (bsc#1179790)- Update to version 1.5.3: + Lower the CURL version required to fix build in RHEL + Do not use meson ternary operations to avoid bumping the required meson version + Added Lite Mk III + Allow setting the GMainContext when used for sync methods + Fall back to the misc device for serio devices + Actually implement rescan in FuUdevDevice + bcm57xx: Refactor CRC code to remove extra byteswap + bcm57xx: Fix CRC check + synaptics-rmi: Don't crash if calling ->to_string() before - >setup() + Fix a possible critical warning due to missing retval + Add the serio->firmare_id for UDev devices + Export the driver name from FuUdevDevice + Allow the client to send PKCS7 and GPG signatures + Force the remote kind to JCat server-side + Only parse the signature if the remote is JCat + fu-main: Fix sender_features insert with wrong size + make platform integrity plugin optional and disabled by default + Add quirk for Western Digital + Mark more user-visible strings as translatable + modem-manager: validate firmware update method combinations + modem-manager: remove unused byte counts in QMI/PDC update logic + modem-manager: make sure the correct interface number is used for QMI + modem-manager: udev monitoring only if device switches layout + modem-manager: plug udev client leak + Restrict loading component types of firmware - Enable supported_build to clarify that this package is supported (bsc#1179790) - Drop fwupd-platform-integrity.conf since upstream disables the platform integrity module by default now due to incompleteness. - Address fwupd-refresh.service in %preun, %pre, %post, and %postun and provide a rc link for it - Version "Obsoletes: dbxtool" and "Obsoletes: fwupdate"- Update to version 1.5.2: + ata: Add OUI quirk for Toshiba + libfwupd: Restore recognizing gpg and pkcs7 types still + Register the SoupSession gtype when required + Switch from libsoup to libcurl + Fix sync method when called from threads without a context + Move ABI check to Github actions + Enable github workflows + libfwupd: Add fwupd_client_download_file() + libfwupd: Add fwupd_client_get_user_agent() + Only download the remote metadata as required + Add breaks for fwupdate 12-7 (Closes: #960688) + Install modules-load configs in the correct directory + vli: Do not be clever replugging the MSP430 device + vli: Make some trivial debugging more specific to help debug an issue + make gcab optional + Fall back to FAT32 internal partitions for detecting ESP + Add a flag to indicate if packages are supported + uefi: a new option for uefi configuration to use UEFI removable path + Add a section to man page on scripting + synaptics-mst: Improve reliability by waiting 2 seconds after writing data + hailuck: Add an plugin for the Pinebook Pro laptop + Allow setting global flags for FuHidDevice + Set the SMBIOS chassis type to portable if a DT battery exists + colorhug: Don't set the version format to triplet at startup + Allow components to set the icon from the metadata + colorhug: Fix detection of version on older firmware versions + bcm57xx: Fix reading vendor/device ids from firmware. + Remove HSI update and attestation suffixes + trivial: make dbxtool executable to fix snap build + Ignore an invalid vendor-id when adding releases for display + Notify the service manager when idle-quitting - Refresh fwupd-bsc1130056-change-shim-path.patch - Changes in BuildRequires: + Replace pkgconfig(libsoup-2.4) with pkgconfig(libcurl) + Replace pkgconfig(systemd) with pkgconfig(libsystemd) - fwupd-msr.conf and fwupd-platform-integrity.conf are moved to %{_modulesloaddir}.- Obsoletes and Provides dbxtool since fwupd 1.5.0+ now embeds dbxtool in the dbxtool plugin- Amend the spec file (jsc#SLE-16818) + Only enable fish support for Tumbleweed + Only enable the MSR plugin for x86 + Only install dbxtool in the architectures with UEFI support- Update to version 1.5.1: + Use UDisks to find out if swap devices are encrypted. + Show a link to discover more information about a specific plugin failure. + updated fish completions to 1.5.0. + Remove the duplicate parent-child data in FwupdDevice and FuDevice. + Show a less scary fwupdate output for devices without info. + thunderbolt: recognize authorized value of '2' as well. + bcm57xx: Make hotplug more reliable. + Use a different Device ID for the OptionROM devices. + contrib/ci: switch TPM simulator from ibmswtpm to swtpm. + Delete unused EFI variables when deploying firmware. + Fix probe warning for the Logitech Unifying device. + Include the amount of NVRAM size in use in the LVFS failure report. + Add external interface messages.- Update to version 1.5.0: + Add a compatible re-implementation of the rhboot dbxtool. + Add async versions of the library for GUI tools. + Add commands for interacting with the ESP to fwupdtool. + Add firmware-extract subcommand to fwupdtool. + Add FwupdPlugin so we can convey enumerated system errors to the end user. + Add plugin for Goodix fingerprint sensors. + Add plugin that can update the BCM5719 network adapter. + Add plugin to update Elan Touchpads using HID. + Add support for a delayed activation flow for Thunderbolt. + Add support for ChromeOS Quiche and Gingerbread. + Add support for Hyper hardware. + Add support for the Host Security ID. + Add support for ThunderBolt retimers. + Add switch-branch command to fwupdtool and fwupdmgr. + Allow blocking specific firmware releases by checksum. + Allow contructing a firmware with multiple images. + Allow firmware to require specific features from front-end clients. + Allow updating the dbx using the LVFS, validating it is safe to apply. + Include the HSI results and attributes in the uploaded report. + Support loading DMI data from DT systems. + Support LVFS::UpdateImage for GUI clients.- Add fwupd-jscSLE-11766-close-efidir-leap-gap.patch: Set SLE and openSUSE esp os dir at runtime (jsc#SLE-11766) - Drop _multibuild and build option -Defi_os_dir="%{efidir}": with the above patch fwupd can detect esp os dir dynamically - Update the efidir related %post and %postun scripts in spec file- Update to version 1.4.5: * Add XB_QUERY_FLAG_FORCE_NODE_CACHE * Add support for a delayed activation flow for Thunderbolt * Allow firmware to require specific features from front-end clients * Allow multi-byte FuUdevDevice preads and writes * Be more defensive when remotes are missing required keys * Disable the SQLite lookaside cache * ccgx: Add more hybrid dock support * ccgx: Modify readme to remove customer info * ccgx: add new protocol for dmc dock * ccgx: remove verify flag in plugin * modem-manager: read the vendor ID directly from sysfs attribute Fixes: #2209 * thelio-io: Add the DFU instance ID as a counterpart only * thunderbolt: Add a new subclassed thunderbolt firmware update type * thunderbolt: Allow quirks to skip the authentication step * thunderbolt: drop support for force power * tpm-eventlog: fix PCR0 calculation * uefi: check for free space after cleaning up ESP * vli: Add dual-image feature for VL103 backup firmware * vli: Add the project ID shared SPI PD controllers * vli: Allow chained usb hub devices where the parent needs GPIOB reset * vli: Do not modify the class vfuncs depending on device type * vli: Do not use GUID matching for the MSP device * vli: Rename FuVliUsbhubI2cDevice to FuVliUsbhubMsp430Device * vli: Set FuQuirks on the shared SPI object * vli: Set the i2c instance IDs in probe() * vli: Use the GPIOB reset for the MiniDock VL103 * vli: Wait for the root device to be replugged when updating the MSP430- Update to version 1.4.4: * Release fwupd 1.4.4 * Fix regression when checking for downgraded metadata- Update to version 1.4.3: * Release fwupd 1.4.3 * ata: A OUI quirk for Kingston * ccgx: Fix a potential division by zero * Check the device requirements when returning from GetDetails * fu-engine: Allow --plugin-whitelist to use dashes instead of underscores * Always enforce the metadata signature has a valid timestamp * ccgx: modify install duration for dmc device * ccgx: Add support for HP DMC dock devices * dell-dock: prevent updates to occur via synaptics-mst plugin * dell-dock: Capture the dock SKU in metadata * synaptics-prometheus: Force the minor version from 0x02 to 0x01 to make sure the devices can be updated back to 0x01. * Generate a body for github releases (Fixes: #2034)- Build the package separately for openSUSE and SLE using _multibuild (jsc#SLE-11744).- Update to version 1.4.2: * vli: Add no-guid-matching for all VLI devices * vli: Remove a copy-and-paste mistake * Add two OUI quirks * ata: Add WD OUI quirk 000cca * synaptics-rmi: Essentially blacklist Dell K12A * dfu: Avoid communicating when bitManifestationTolerant is off * ata: Add OUI quirk for Western Digital * dfu: Support MATEKF722SE quirk * Fix various build issues with -Wdiscarded-qualifiers * thunderbolt/dell-dock: Delay activation for Thunderbolt updates * Switch the default of EnumerateAllDevices to false * Add OUI quirk for SanDisk * vli: Add two standard USB instance IDs for shared-PD devices * vli: Use GPIOB to reset the VL817 found in two Lenovo products * tpm-eventlog: Correct the display of final calculated PCRs * wacom-raw: fixup switching to bootloader mode- Update to version 1.4.1: * thunderbolt: Don't show safe mode errors for USB4 host controllers * ep963x: Various changes to make the plugin actually work on real hardware * Make tss2-esys conditional * ep963x: Remove some dead code spotted by Coverity * ccgx: Only update the FW2 partition of the ThinkPad USB-C Dock Gen2 * ccgx: Expand the FWImageType for future hardware * Allow specifying the device on the command line by GUID * Fix the DeviceID set by GetDetails * wacom-usb: Fix a theoretical buffer over-read to make GCC happy * vli: Only show the i2c devices on the USB3 hub * Allow devices to be updatable, but only when upgrading a proxy device * Reset the progressbar time estimate if the percentage is invalid * ccgx: Always report 100% when finished writing * Add a device quirk that forces an explicit device-id match * ccgx: Set the device name and summary from quirk files * vli: Only do the APP5 FW bug fix on affected hardware * vli: Show all the buffer when debugging with FWUPD_VLI_USBHUB_VERBOSE * fu-engine: Refresh device name and format before setting supported flag * Allow a device to set the logical or physical ID during ->setup() * ccgx: Split out a trivial helper to set the instance IDs * ccgx: Set the device name to be more useful * ccgx: Set the logical ID as the FwMode * ccgx: Split out a trivial function to set the version * ccgx: Do not reboot the device write after installing * ccgx: Do no show the flash parameters when unknown * Allow devices to match the proxy device by GUID * Do not skip attach() if the device is marked _WILL_DISAPPEAR * dell-dock: Port to using fu_device_get_proxy() * Allow adding a device 'proxy' device that can do actions on it * vli: Do not show the USB 2 recovery devices for USB 3 hubs * vli: Add metadata to identify which is the same physical device * uefi: correctly format firmware version of Dynabook (né Toshiba) X30, X40 and probably others * synaptics-cxaudio: Use the ->attach() device vfunc * synaptics-cxaudio: Wait for the device to reboot after writing firmware * logitech_hidpp: decrease verbosity of messages that hid++ ID is missing * Prefer to update the child first if the order is unspecified * Do not modify the device priority for child devices- Exclude fwupdate from the architectures without UEFI support.- Update to version 1.4.0: * Release fwupd 1.4.0 * Allow removing device flags from quirk files * Use black to format python source in a consistent manner * Define SOURCE_VERSION when building a package * Only set the parent when adopting children * Do not conditionalize attach() and detach() on IS_BOOTLOADER * Do not crash the daemon if a plugin does something dumb * wacom-usb: Add more sanity checks in case the daemon goes crazy * wacom-usb: Use a per-device cleanup function * Add some more device regression tests * wacom-usb: Add a lot of missing metadata about the devices * wacom-usb: Hide a lot of debugging behind FWUPD_WACOM_VERBOSE * Only auto-add counterpart GUIDs when required * ccgx: remove update message * ccgx: add parent guid for hybrid dock * ccgx: Use a smaller timeout for i2c read and write operations * ccgx: Retry the register read and write with a i2c reset * ccgx: Fix buffer overflow when reading out i2c status * ccgx: Retry the HID disconnect up to 5 times * ccgx: Show a better error message on failure * ccgx: Allow forcing firmware of the wrong app_type with fwupdtool * Modularize the hardware tests * Ignore indirect devices that replug during the composite firmware update * Export the device state as part of the D-Bus interface * Fix devices that use CounterpartGuid when more than one device is installed * Use the GUID as a fallback rather than the connection ID * ccgx: Fix critical warning on i2c write failure * logitech-hidpp: Do not add peripheral devices for receiver in BL mode * Install the installed-tests only if tests are enabled * Load the signature to get the aliased CDN-safe version of the metadata * vli: Only reboot the USB hub once * synaptics-cxaudio: Only use the PATCH2 address when the patch level is 2 * add STM32F745 stm dfuse quirk * dfu: Add a way to set the timeout from a quirk * Export the release urgency * Export the release creation time * Check the firmware requirements before adding SUPPORTED * data/motd/fwupd-refresh: Only order after network.target * ccgx: Do not add the HID device that will disconnect * ccgx: Use Silicon ID and Application type to set flash parameters * Add a new daemon configuration option to control EnumerateAllDevices * logitech_hidpp: set the bootloader protocol * Install meson from pip for LGTM * bash: add completion for fwupdtool reinstall * fu-tool: add reinstall command * fu-engine: export fu_engine_get_releases_for_device in header * vli: Wait for the VL103 to timeout to fix detach * ccgx: Show the UpdateMessage in the correct device mode * ccgx: Add extra instance IDs to match specific firmware * Use a static version number * thunderbolt: Rather than hardcoding to PCI slot numbers, use domain in GUID * Revert "thunderbolt: Create a unique GUID including Thunderbolt controller path" * dell-dock: Port to fu_device_retry() * nitrokey: Convert to use FuHidDevice * nitrokey: Port to fu_device_retry() * vli: Port to fu_device_retry() * Add fu_device_retry() helper functionality * ccgx: Implement writing firmware to flash * ccgx: Add i2c status check when reading or writing registers * ccgx: Add 5ms delay between read registers to avoid an i2c error * libfwupdplugin: Use fu_device_locker_close() * synaptics-mst: Use fu_device_locker_close() * Add fu_device_locker_close() * ccgx: Do not store the silicon ID in the image address * ccgx: Add device quirks for the Lenovo Hybrid Dock * ccgx: Switch HID mode to HPI mode at startup * ccgx: Clear the event queue when in startup * ccgx: Wait for hardware to settle when coming out of reset * ccgx: Do not mark the device as updatable when in boot mode * ccgx: Verify the firmware app type when preparing firmware * ccgx: Set the update message when running in backup firmware * ccgx: Read the FwAppType from the hardware * ccgx: Set the HPI version number for the current firmware * ccgx: Get the silicon ID to map the flash parameters * ccgx: Read the HPI device mode at startup * ccgx: Set up the HPI I²C config at startup * ccgx: Create devices when in HID and I2C modes * Add a new ChromeOS CI target to build without GPG and PKCS7 * Use Jcat files in firmware archives and for metadata - Removed fu-keyring-gpg which caused CVE-2020-10759 (boo#1172643) * csr: Allow truncated HID reads * vli: Only consider the high nibble when building the sub-version * csr: Parse the firmware as a DFU file * Add support for EP963x hardware * Add FuHidDevice abstraction * vli: Correctly attach VL103 after a firmware update * ccgx: Parse the metadata block in the firmware image * ccgx: Add a firmare parser for cyacd files * logitech: Correctly set the protocol * Add the optional device-id to the update --help output * Fix a difficult-to-trigger daemon hang when replugging devices * vli: Remove a dock device from the whitelist that is never going to be updated * vli: Add some trivial debugging to help track down a bug * vli: Never add USB hub devices that are not upgradable * uefi: Don't use shim for non-secure boot configurations * Start fwupd-activate.service after snapd.service * dfu: Actually reload the DFU device after upgrade has completed * dfu: Add one more m-stack device requiring a quirk * Apply version format to releases and devices at same time * Ensure that the DeviceID is set for child devices * Fix a daemon crash when removing children * Allow waiting for the parent device when replugging * Add fu_device_get_root() shared API * vli: Fix an error when detaching MSP430 * vli: Fix a critical warning when getting the USB speed * vli: Fix the error enum values for the MSP430 * Do not add blank lines when tokenizing Intel hex files * vli: Fix the version calculation for MSP430 * vli: Ignore one more error when attaching * vli: Always expect the VL103 header at 0x1003 or 0x4000 * vli: Do not fall back to the recovery write for usbhubs * vli: Only show the 2nd header if the device ID is valid * vli: Fix VL103 reboot from ROM mode to FW mode * vli: Add some better comments for writing GPIOs * Add a helper script to add a DFU header * Add 'firmware-convert' subcommand to fwupdtool * fu-engine: Make two passes of requirements checking * fu-engine: Copy the VersionFormat from the CAB if specified in `get-details` * Add a new plugin for CPU microcode * Don't build/install fwupdagent man page if agent build is not requested * Introduce a new VersionFormat for `hex` * Drop UEFI quirks we now inherit from metadata * ci: build Debian using libflashrom * When TPM PCR0 measurements fail, query if secure boot is available and enabled * fix fwupd.shutdown.in according to the movement of fwupdtool to bindir * ata: Add OUI quirk for Western Digital and Intel * improved fish shell completion * vli: Set the MSP430 version format to pair * Always return AppStream markup for remote agreements * ata: Add trivial OUI quirk for Micron * added completion script for fish shell * Do not fail loading in /etc/machine-id is not available * Use xb_builder_source_add_simple_adapter * Create FuCabinet and untangle a lot of legacy code * nvme: Do not try to handle integer version numbers * Allow server metadata to set the version format on some devices * fu-tool: Correctly append the release to devices in `get-details` * For the `get-details` command make sure to always show devices * fu-engine: Copy the version and format from donor device in get-details * fu-engine: Use unknown for version format by default on get-details * Inihbit all power management actions using logind when updating * Decouple the version format from the version itself * Add raw versions for bootloader and lowest * Allow server metadata to set the device name on some devices * Remove support for GCab less than v1.0 * fu-device-list: Check protocol before de-duping devices * Do not allow devices that have no vendor ID to be UPDATABLE * ata: Include a vendor ID for ATA hardware * ata: Switch off the verbose logging by default * Always check for PLAIN when doing vercmp() operations * Discard the reason upgrades aren't available (Fixes: #1678) * Improve the description of `fwupdtpmevlog` for man page * Move `fwupdtpmevlog` into `bindir` * uefi: Move `fwupdate` into `bindir` * Move `fwupdtool` and `fwupdagent` into `bindir` * Use the system provided flashrom on Fedora * Add a plugin vfunc to run after subclassed FuDevice creation * ci: use standalone script to generate build dependencies * Move the daemons from /usr/lib/fwupd to /usr/libexec/fwupd * Use the recently released flashrom v1.2 * Generate an additional UEFI quirk file using the stable LVFS metadata * uefi: Apply capsule update even with single valid capsule * Fix a critical warning when installing some firmware * ebitdo: Fix the endpoint address logged in the error message * uefi: Find the correct lds and crt name when specifying -Defi_ldsdir * upower: Move battery threshold declaration into a configuration file * upower: Decrease minimum battery requirement to 10% - Refresh fwupd-bsc1130056-change-shim-path.patch - Add new dependency: jcat- Update to version 1.3.9: * Release fwupd 1.3.9 * Always check for PLAIN when doing vercmp() operations * improved fish shell completion * vli: Set the MSP430 version format to pair * added completion script for fish shell * Always return AppStream markup for remote agreements * Do not fail loading in /etc/machine-id is not available * fu-engine: Fixup broken-ness from 0c0fada18fc9cb2a0efec351db67f0867bf045cd * Use xb_builder_source_add_simple_adapter * fu-tool: Correctly append the release to devices in `get-details` * For the `get-details` command make sure to always show devices * fu-engine: Copy the version and format from donor device in get-details * fu-engine: Use unknown for version format by default on get-details * Inihbit all power management actions using logind when updating * fu-device-list: Check protocol before de-duping devices * ata: Switch off the verbose logging by default * Discard the reason upgrades aren't available (Fixes: #1678) * Improve the description of `fwupdtpmevlog` for man page * Move `fwupdtpmevlog` into `bindir` * uefi: Move `fwupdate` into `bindir` * Move `fwupdtool` and `fwupdagent` into `bindir` * ci: use standalone script to generate build dependencies * Move the daemons from /usr/lib/fwupd to /usr/libexec/fwupd * Use the recently released flashrom v1.2 * uefi: Apply capsule update even with single valid capsule * Fix a critical warning when installing some firmware * ebitdo: Fix the endpoint address logged in the error message * fu-util: fix a logic error in report uploading introduced in e076d48afb74d1447936d353f12781755f13b047 * uefi: Find the correct lds and crt name when specifying -Defi_ldsdir * upower: Move battery threshold declaration into a configuration file * upower: Decrease minimum battery requirement to 10% - Update to version 1.3.8: * Release fwupd 1.3.8 * Do not use fu_common_vercmp() when the device verfmt is PLAIN * altos: Output raw buffer data when using FWUPD_ALTOS_VERBOSE * altos: Prefix an error to provide more context * altos: Add a trivial _to_string() implementation * synaptics-cxaudio: Make the verfmt match that of the existing Windows tools * synaptics-mst: Allow MST to fall back if no PCI device is marked as parent * Allow specifying a list of subsystems when setting a physical ID * synaptics-mst: Fix trivial thinko caused by the wrong dock connected * vli: Invert the logic to reboot the parent FuCliUsbhubDevice, not the child * vli: Switch around the hub tier values * uefi: Fix a build regression with Fedora 30 * logitech_hidpp: Ignore detach failures (Fixes: #1183) * logitech_hidpp: When detaching to bootloader use non-blocking IO and wait for timeout * vli: Show erase progress when doing a v2 recovery * uefi: Do not remove the 'Linux Firmware Updater' boot entry before update * uefi: Do not rewrite BootOrder in the EFI helper * vli: Add support for the PS186 device * Set up more parent devices for various Lenovo USB hubs * cxaudio: Set the update protocol to prevent a daemon warning * vli: Add support for Lenovo Modularized dock * Add an extra instance ID to disambiguate USB hubs * vli: Remove the unused tierX custom flags for each device * Revert "Correctly delete UEFI variables" * uefi: make debugging output more readable * vli: Fix a potential buffer-overflow when parsing firmware * tpm: Optimize the string parsing and fix the boolean logic * synaptics-rmi: Add a missing error enum value * synaptics-rmi: Correctly identify a checksum failure * synaptics-rmi: Fix Coverity issue that is impossible to hit in reality * solokeys: Parse old versions of the bootloader string * Add a plugin to update PD controllers by Fresco Logic * vli: Set the device progress correctly when erasing a PD device * vli: Use the correct command to get the device firmware version * vli: Correctly reset all VL100 devices * vli: Set all standalone PD devices to not do SPI auto-detection * vli: Mark standalone PD devices as updatable * vli: Set the protocol for FuVliUsbhubPdDevice types * Support the new gnuefi file locations * Cleanup ancient fwupdate-* EFI variables too (Fixes: #1739) * Detect kernel lockdown status * vli: Add the DEV instance ID to all devices * tpm-eventlog: Replay the TPM event log to get the PCRx values * tpm-eventlog: Store the eventlog hashes in binary form - Update to version 1.3.7: * Release fwupd 1.3.7 * Correctly delete UEFI variables * ci: allow working with podman w/o aliases * ci: fedora: force correct rpm package version * src: fu-engine: check version was updated by checking version * Correctly import PKCS-7 remote metadata * Add 'refresh' to fwupdtool * Add 'get-remotes' to fwupdtool * Generate a win32 setup binary * Fix display of UTF-8 characters on Windows * Move MOTD population into the daemon * fu-util: Discourage metadata refreshes more than once per day * Disable the battery percentage checks if UPower is unavailable * Allow getting the list of updates in JSON format from fwupdagent * Revert "trivial: Attempt to fix Debian CI" * fu-remote-list: emit a changed signal when modifying a remote * synaptics-mst: Skip self tests for systems with amdgpu * Allow applying all releases to get to a target version * Split up fu_engine_install() into two halves * logitech_hidpp: use the correct timeout for IO channel writes * Allow quirking devices that always require a version check * Shut down automatically when there is system memory pressure * Show the device parent if there is an interesting child * Allow the client to get the list of FwupdDevice children * Set the FwupdDevice parents in fwupdtool * Don't always get the vendor ID for udev devices using the parent * Add a runtime warning when adding a device without an vendor-id or protocol set * vli: Set more of the firmware max sizes automatically * vli: Add a SpiAutoDetect quirk for some of the PD devices * vli: Use a different protocol ID for i2c devices * vli: Add support for standalone Single PD devices * vli: Move generic SPI functionality into the FuVliDevice base class * vli: Remove the PD emulation code * vli: Use a more standard GUID for the child i²c and shared SPI devices * vli: Allow setting the device kind from a quirk * vli: Make more function names match the docs * vli: Move the SPI command quirking from FuVliUsbhubDevice down to FuVliDevice * vli: Rename FuVliUsbhubPdFirmware to FuVliPdFirmware * vli: Allow the device to specify the PD firmware header offset * vli: Add a FuVliDevice as a subclass to FuVliUsbhubDevice * vli: Define the device GType in the quirk file * vli: Move the CRC calculations out of usbhub scope * vli: Have one 'DeviceKind' for all objects * vli: Rename the `vli_usbhub` plugin to `vli` * Capitalize GNOME - package has grown a few new binaries: fwupdagent, fwupdate, fwupdtool and a tpm event debugging tool, that is packaged separately: fwupdtpmevlog- Drop docbook-utils-minimal build dependency, manpages are generated with gtk-doc.- Update to version 1.3.6: * plugins/coreboot: Add missing fu_hash dependency * trivial: synaptics-cxaudio: Add Google type C <-> 3.5mm adapter * fu-engine: don't expose bootloader version errors to users * trivial: dell-dock: drop unused quirk keyx * trivial: rename synapticsmst to synaptics-mst * trivial: actually set vendor ID for synaptics * fu-remote-list: Drop fallback path behavior * libfwupdplugin: Make sure systemd created environment variables exist * trivial: fu-remotes-list: drop usage of `FU_SELF_TEST_REMOTES_DIR` * trivial: synaptics-rmi: hardcode Vendor string * trivial: Set vendor ID for Dell WD19 to USB:0x413C (Fixes: #1653) * trivial: Document the use of vendor-id in each plugin * superio: Use the baseboard vendor as the vendor ID * uefi: Use the BIOS vendor as the vendor ID * coreboot: Use the BIOS vendor as the vendor ID * flashrom: Use the BIOS vendor as the vendor ID * dell: Hardcode a plausible vendor ID * emmc: Set the correct vendor ID prefix * fu-util-common: correct the default prompt for reboot/shutdown (Fixes: #1617) * Split out the remote loading from FuConfig * vli-usbhub: Fix the quirk for the legacy VIA 813 chip * Clarify error messages when no upgrades available * trivial: Don't handle a vendor-id requirement error that cannot happen * Only check the vendor ID if the device has one set * fu-install-task: Enforce that device protocol matches metadata * Add a new plugin that can parse the TPM event log * Allow other plugins to contribute report metadata * trivial: dell: hardcode the physical device ID for tpm to match the tpm plugin * Add a new plugin that exposes the system TPM device firmware version * Add fu_udev_device_set_flags() * trivial: Render large values of VersionRaw in a more portable way * trivial: wacom-raw: mark all Moffett SKUs as self recovery * Throw exit status 0 (instead of 2) if there is no firmware to be updated * Add a `dell-bios` version format * Add support for multiple LVFS::VersionFormat tags * Do not do semver conversion in fu_common_vercmp() * trivial: Deprecate fu_common_version_parse() * trivial: Support 'plain' in fu_common_version_from_uintXX() * Add the sysfs 'description' as the one-line device summary * trivial: Also print the parent keys when using FU_UDEV_DEVICE_DEBUG * trivial: Add fu_common_version_from_uint64() * trivial: Convert the VersionRaw value to a uint64_t for future use * Allow building on Windows with MinGW * synaptics-prometheus: Allow incremental version major and minor number * Replace 'scheduing' with 'scheduling' * Export the raw device version to the client --verbose output * trivial: Only dlopen the test plugin once * Export the device protocol to the client --verbose output * trivial: installed-tests: try to display journal for failed tests * trivial: ci: debian: enable verbose daemon logging for failure analysis * trivial: installed-tests: explicitly choose webcam device ID * trivial: debian: remove obj-* built files to fix back to back builds * trivial: ci: don't let bad symlinks cause debian build failures * trivial: debian: correct a dependency for libfwupdplugin-dev - Changes from version 1.3.5: * plugins: Fix potential use of NULL pointer in fu_dell_dock_mst_write_register * Fix shifting integer by more than 31 in fu_util_filter_device * synaptics-prometheus: Reload the device version after IOTA update * synaptics-prometheus: Reload the device version after update * trivial: wacom: remove coretronic config from Moffett scope * trivial: Fix a NULL/FALSE confusion * trivial: Add a BR for Fedora * trivial: Fix coreboot commit to fix CI * trivial: libfwupdplugin: clarify name of self test * plugins/coreboot: Improve version detection * plugins/coreboot: Get rid of FU_HWIDS_KEY_BIOS_VENDOR in coldplug * trivial: Move progressbar out of libfwupdplugin * trivial: Unexport fu_test_get_filename() * trivial: Unexport fu_test_compare_lines() * trivial: Unexport fu_test_loop_run_with_timeout() * trivial: Do not include non-introspectable functions in the GIR * trivial: Fix up a few introspection problems in FwupdPlugin * trivial: Include the Fwupd GIR in the FwupdPLugin GIR * trivial: Never add duplicate symbols to the map file * trivial: Properly namespace the defines in the exported header * Install development files for libfwupdplugin * Convert libfwupdprivate to a shared library libfwupdplugin * trivial: Allow building GCab from a subpackage * trivial: Fix under-include to define O_RDONLY * trivial: Allow compiling without * trivial: Do not use FuProgressbar in dfu-tool * synaptics-prometheus: Manually set the bootloader mode when attaching * trivial: Split out a new helper funtion * trivial: Add some optional debugging when hotplugging devices * trivial: Include the correct header for S_IRWXU * Always use the more portable 3-arg form for open() * trivial: Untangle FuHistory from FuPlugin * trivial: Allow compiling without * Revert "synaptics-rmi: Use the build ID as the version number to match the vendor tool" * Add missing documentation from the plugin interface * trivial: fu-udev-device: remove a prototype that was missed in b3d4d2ff * trivial: add missing gtk-doc fields for many files in src/ * trivial: fix compile failure without gudev * synaptics-prometheus: Mirror the _IS_BOOTLOADER from device to config * Allow setting the device flags using GObject properties * vli_usbhub: Set the composite parent at construction time * synaptics-prometheus: Set the composite parent at construction time * Allow plugins to set the parent during construction * vli-usbhub: Whitelist the PD and I²C devices * Set the protocol per-device not per-plugin * synaptics-rmi: Use the build ID as the version number to match the vendor tool * Create a REV_00 instance ID as this may be what the vendor needs to target * fu-util-common: Invert default behavior for reboot and shutdown prompts * trivial: fu-plugin-vfuncs: Add GTK documentation for all vfuncs * Make gudev a compile-time option * trivial: Set the offline trigger using an environment variable * trivial: ci: pull lintian from unstable for now. * trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h * Fix shebangs on scripts * trivial: Use prefixes for DATADIR in config.h for portability * Allow compiling GUsb as a subproject * trivial: fu-udev-device: add a to_string func for debugging * trivial: Don't assume that plugins end in .so * trivial: optionrom: remove unneeded includes * trivial: debian: ci: ignore library-not-linked-against-libc for more * trivial: remove version-format.md * trivial: Allow compiling without pwrite() * trivial: Allow compiling without * trivial: Allow compiling without realpath() * trivial: Allow compiling without HAVE_LC_MESSAGES * trivial: Allow compiling without getuid() * trivial: Allow compiling without * trivial: Allow compiling without * trivial: Allow compiling without * Ensure the _get_type() gets the same ABI version as the constructor * Use the correct unlocker when using GRWLock * trivial: plugins: only build coreboot when option set * fwupdtool: don't show a warning when calling `get-plugins` - Changes from version 1.3.4: * trivial: Don't force specific linker flash when cross building * dell: Use the more portable g_usleep() * trivial: Fix unused header includes * vli-usbhub: Make erasing less verbose and writing more obvious * vli-usbhub: Correctly print the 24-bit USB3 offset * vli-usbhub: Print the PD firmware offset and size for debugging * vli-usbhub: Open the parent device before attempting to read or write from the child * vli-usbhub: Set the install duration for the PD device * trivial: Fix a failed error prefix string * trivial: wacom-raw: Remove embedded from device name * wacom-raw: Correct HWID support * uefi: Just use a uint16_t for BootNext processing * uefi: Use a simpler entries set algorithm * vli-usbhub: Add support for writing using I2C passthru * vli-usbhub: Support updating PD devices that share the hub flash * vli-usbhub: Support the PD file format * trivial: uefi: correct a NULL pointer dereference * uefi: fall back to `ID_LIKE` when the path for `ID` doesn't exist (Fixes:# 1566) * uefi: Make generate_binary.sh more robust * Tokenize the Intel Hex file before parsing * trivial: Detect the USB version automatically * trivial: fu-util/fu-tool: explicitly block unsupported flags * Add support for matching requirements on device parents * Skip cleanup after device is done updating if `will-disappear` is set (Fixes: #1529) * efi: use a wildcard section copy for final EFI generation * modem-manager: explicitly use plain version format * modem-manager: add quirks for the Foxconn T77W968 modules * Allows confined snaps to activate fwupd via D-Bus * trivial: thunderbolt: clarify error message * Add a new property `Interactive` to the daemon * trivial: contrib/get-version.py: require git less hard * superio: Never read from port offset zero * superio: Fix regression when coldplugging superio devices * trivial: Fix Fedora CI build * trivial: Fix the autobuilt spec file with the new tarball version * Dynamically determine release version * trivial: synapticmst: allow missing `/proc/modules` * synapticsmst: filter invalid chip IDs * trivial: Provide some defines for common image names * Allow aborting early when using fu_archive_iterate() * Add fu_firmware_image_set_version() for future use * modem-manager: increase re-enumeration delay to 20000ms * modem-manager: add counterpart GUID for the DW5821e/eSIM * Add versions formats for the Microsoft Surface devices * usb: make loading vendor/product/serial strings non-fatal * trivial: Fix the protocol ID for VLI usbhub devices * trivial: wacom-raw: add more device IDs for Dell devices * trivial: contrib: don't require TSS for debian archs without EFI * fu-udev-device: Adjust bounds checking to be safer * fu-udev-device: Don't assume all devices have `device_file` * synaptics-rmi: correct an error cleaning up on probe * trivial: fu-udev-device: add some safety checks for fd * udev-device: fix offset of vendor id of hidraw devices * flashrom: switch to upstream source * trivial: fu-plugin: only show an error once "failed to open plugin" was being prefixed twice * trivial: debian: only use mingw-w64-tools in archs with UEFI plugin * fastboot: Fix a regression when updating modem firmware * trivial: conflict with old unifying plugin * Rename unifying plugin to logitech-hidpp (Fixes: #1329) * Add a new contrib script for installing a Dell BIOS from an EXE file * trivial: add-capsule-header: rename to make it easier to import * trivial: simple_client: make it easier to reuse code * trivial: firmware-packager: make it easier to reuse code * trivial: add-capsule-header: make it actually work * trivial: fix some gtkdoc sections * Bump the required gudev version * trivial: Fix a compile error with older versions of gudev * trivial: wacom: add vid/pid for panels in Moffett * trivial: post release version bump - Changes from version 1.3.3 * unifying: notify users to replug when using dfu control (Fixes: #1383) * trivial: 8bitdo: set a transient failure while waiting for user action * libfwupd: Add a new error type for user action needed * trivial: 8bitdo: show the same message for SN30pro and SN30pro+ * trivial: Fix up some typos from codespell * trivial: Ensure config.h is included in all source files * trivial: Fix up some NULL/FALSE confusion * trivial: Add all the _LAST enums that shouldn't be checked for ABI * trivial: Fix a typo that means that UEFI results were never cleared * Always report the update-error correctly for multiple updates * trivial: Fix fwupdmgr get-history if the firmware was not installed from the LVFS * trivial: Do not emit a warning if a child has no version number * Move the file descriptor lifecycle into FuUdevDevice * trivial: Fix some GtkDoc annotations * ebitdo: Modernize the plugin to use FuFirmware * nitrokey: Use fu_common_dump_raw() when debugging * thunderbolt: Create a unique GUID including Thunderbolt controller path * Use device safety flags to show prompts before installing updates * trivial: Use the new possible_plugin support for USB devices too * jabra: Move the Jabra-specific detach out into its own plugin * Ensure the device is open when doing the subclassed prepare() and cleanup() * vli-usbhub: Add support for updating V2 devices * Allow verifying the device image itself from fwupdtool * Use XMLb to query quirks * trivial: ci: disable pulling libxmlb from unstable * synaptics-prometheus: Don't add a config-subdevice in bootloader mode * dfu: Use the VID/PID to identify devices without download capability in runtime * trivial: debian: remove some unneeded lintian * trivial: debian: bump compat version * ebitdo: Add SN30Pro+ to recognized quirk list (Fixes: #1503) * dfu: Add several quirks for Realtek camera hardware * dfu: Always mark devices as UPDATABLE * uefi: use `genpeimg` to mark ASLR and DP/NX on EFI binary * trivial: solokey: correct a typo * trivial: fu-util: fix typo * uefi: rework ESP path detection and lifecycle * trivial: uefi: show more metadata in to_string method * trivial: fu-device: add new method to remove metadata * Add a plugin to update VIA USB hub hardware * trivial: Add fu_common_read_uint8_safe() * trivial: Fix two typos in fu_common_read_uint16_safe() * solokey: Allow parsing firmware with fwupdtool * Allow fwupdtool to dump details of common firmware formats * trivial: Do not do system coldplug when using FU_ENGINE_LOAD_FLAG_NO_ENUMERATE * trivial: fu-self-test: set polling self tests to slow * trivial: fu-tool: Allow `detach`/`attach` to prompt for device * Strip trailing whitespace from USB descriptors * trivial: Add fu_common_read_uint16_safe() * trivial: Add version to the FuFirmware->to_string() output * Add fu_firmware_set_version() * Add a systemd preset file for `fwupd-refresh.service` * trivial: dell: work around a memory leak caught by address sanitizer * ebitdo: if the device has the will disappear flag, don't wait for ack (Fixes: #994) * Add a new plugin for working with eMMC devices (Fixes: #1455) * fu-engine: Check multiple plugins if quirks match * trivial: don't try to enable LVFS from systemd * trivial: coreboot: fix a clang compiler error * fu-util: Add user friendly strings for all device flags * Add new device flags indicating update resilience * plugins: Add coreboot plugin * fu-plugin: Add fu_plugin_get_hwid_replace_value * trivial: Increase verbosity when actually updating devices * trivial: Allow plugins to use WAIT_FOR_REPLUG in prepare and cleanup * Add FuDevice->prepare() and FuDevice->cleanup() vfuncs for future use * dfu: Implement FuDevice->to_string() * trivial: colorhug: fix a crash that occurs when flashing sometimes * trivial: fu-util: break out of automatic reports if one is not automatic * thunderbolt: some more clarifications when using ICL * trivial: fwupd-refresh: activate motd if using systemd v243 or later * trivial: fwupd-refresh: allow exit code 2 for success * trivial: synaptics-cxaudio: Add Google Pixel buds * trivial: arch: ci: Wait some time for tpm_server to start up * Allow a custom FuFirmwareImage->write() in superclassed objects * dfu: Remove two completely unused helpers * dfu: Make DfuFirmware derive from FuFirmware * dfu: Make DfuImage derive from FuFirmwareImage * dfu: Remove private headers that do not need to exist * Fix device flag filtering * trivial: fu-engine: Don't compare device and content checksums * fu-engine: Read all releases and convert versions when comparing * Add new flags `can-verify` and `can-verify-image` * trivial: make verify and verify-update safer * trivial: test: add checksums for "stock" 1.2.2 * trivial: fu-udev-device: use parent udev device to indicate `internal` * trivial: fix TPM2 simulator tests for arch * trivial: uefi: don't add PCRs with all 0's * trivial: Fix a recent regression causing a double-free * synaptics-cxaudio: Support the ThinkPad USB-C Dock Gen2 * trivial: fu-util: add some extra checks around automatic reports * trivial: fu-tool: typo * fu-systemd: Use correct method for stopping units. * trivial: fu-udev-device: Use ID_PCI_CLASS_FROM_DATABASE if name not set * trivial: fu-plugin: quiet down debug output for optionrom plugin * 8bitdo: use will-disappear flag for sf30/sn30 controllers (Fixes: #783) * trivial: ebitdo: don't dump out firmware header unless plugin verbose * trivial: ebitdo: don't use local errors when writing firmware * Add a new device flag for indicating device won't come back * wacom-emr: Fix a regression for EMR devices * Add a generic DFU firmware object for plugins to use * dfu: Use FwupdInstallFlags rather than a DFU-specific version * dfu: Remove functionality for modifying DfuSe files * dfu: Remove functionality you can do now with fwupdtool * dfu: Remove the merge command as it's unused and broken * trivial: Add fu_firmware_parse_file() helper for future use * trivial: Remove the fuzzing details for DfuPatch * trivial: Add klass->to_string for superclassed FuFirmwareImage objects * dfu: Remove DfuPatch as no vendor actually uses this * dfu: Don't wrap provided VID-PID functions * dfu: Use the standard FuDevice custom flags functionality * dfu: Use klass_device->write_firmware() directly * dfu: Use the generic fu_plugin_usb_device_added() function * dfu: Use daemon flags to ignore devices rather than a special flag * dfu: Set the device state directly to avoid proxying signals * dfu: Use the built-in detach() and attach() vfuncs * Read firmware back from the device as a FuFirmware * dfu: Remove a pointless function * dfu: Remove support for the Metadata Store Proposal * dfu: Remove XTEA support * dfu: Remove the SREC and IHEX parsing out of the DFU plugin * ebitdo: Use klass_device->write_firmware like other plugins * trivial: Remove G_BEGIN_DECLS from all private headers * Remove FU_PLUGIN_RULE_REQUIRES_QUIRK as all the plugins now use it * Set all FuUdevDevice plugins to use FU_QUIRKS_PLUGIN * thunderbolt: recognize new 'generation' sysfs attribute * Rename and modernize the udev plugin * synaptics-rmi: Also add the product ID as a GUID without the minor version * synaptics-rmi: Correctly set the payload length rather than hardcoding it * synaptics-rmi: Write the core config correctly * synaptics-rmi: Decode BL7 status failures as actual errors * synaptics-rmi: Add some trivial debugging to help debug a write problem * trivial: uefi: Make efivarvs errors clearer (Fixes: 1330) * trivial: uefi: don't prefix efivar errors * trivial: Remove some now-unused vfuncs * altos: Modernize the plugin to simplify it * Create the custom plugin GType in common code * Reduce more boilerplate in plugins * synaptics-rmi: Check the correct register when querying bootloader mode * trivial: fu-engine: fix never reporting remotes * trivial: fu-util: don't show warnings for no reports to upload * trivial: debian: remove more conffiles from transitions (Closes: #932617) * trivial: debian/control*: Update for fwupdate transition * trivial: Fix a tiny memory leak when starting the daemon * modem-manager: Fix a tiny memory leak when starting the daemon * synaptics-rmi: Copy the behavior of rmi4utils for BL7 detach * synaptics-rmi: Simplify fu_synaptics_rmi_device_read() * synaptics-rmi: Set the version after ->setup has run * synaptics-rmi: Use the correct mask when getting the bootloader mode on BL7 * syanptics-rmi: The build_id is 3 bytes long, not 2 * synaptics-rmi: Read the config partition the same as rmi4utils * Provide a default implementation of common FuDevice actions * thunderbolt-power: avoid checking for bolt support * synaptics-rmi: Add some debugging for BL7 devices * Fix usage of incorrect type for return value * synaptics-rmi: Do as little as possible in device setup * synaptics-rmi: Speed up reading the PDT from 900ms to 30ms * fu-util: add support for a reinstall command * trivial: fu-util/fu-tool: update re-install help text to reinstall * trivial: fu-util: remove double printed message about succesful firmware update * trivial: fu-util: show no updatable devices error for update command * synaptics-rmi: Ignore the ATTN reports from the hardware when reading DATA * synaptics-rmi: Move the fuzzing instructions to the toplevel README * Fuzz the SREC and IHEX file parsers once more * Use parallel fuzzing for the SMBIOS checks too * synaptics-rmi: Fix the packing of the partition table * Add a plugin to update Synaptics RMI4 devices * trivial: Add a parallel fuzzing script * trivial: fu-util: output newline after prompt. * trivial: fix %u output in report upload * Add a --no-domain logging option * trivial: Fix compiler warning for impossible-to-hit condition * Add support for automatically uploading reports * trivial: motd: disable updating motd for now * trivial: fwupd-refresh: fix a clash with fwupd.service (Closes: #941360) * trivial: Fix Fedora CI * trivial: fu-udev-device: fix some assertions * Search up the tree for a vendor name rather than (ab)using the HID_NAME * Add some success messages when CLI tasks have completed * trivial: Put the boolean prompt on the same line as the text * Never show LicenseRef-proprietary to the end user * trivial: snap: correct install hook root directory * Export the instructions for detaching the device * uefi: detect unmounted ESP partitions (Fixes: #1405) * uefi: stop recording efibootmgr output after flash * trivial: post release version bump - Changes from version 1.3.2: * Add support for '' to disambiguate some firmware * thelio-io: Add a plugin to detach the Thelio IO board * trivial: uefi, dell: skip self tests with TPM if non-root (Fixes: #1396) * trivial: dell: quiet the TSS output * trivial: uefi: allow forcing to TPM2 via environment variable * Do not ask the user to upload a report if ReportURI is not set * Do not enumerate physical devices when running the internal self tests * trivial: libfwupd: skip tests if machine-id is empty too * Add a new plugin to update Conexant audio devices * Export the salted machine ID as a daemon property * Fall back to /var/lib/dbus/machine-id when required * trivial: add stalebot (Fixes: #1393) * trivial: dell-dock: correct another write_size error * Align the key values to the text *width* not the number of bytes * trivial: Move dbus directory location for snap too * trivial: Fix some NULL/FALSE confusion * synaptics-prometheus: Fix tiny memory leak when using FuSynapromConfig * trivial: Fix tiny memory leak when using FuSrecFirmware * snap: switch to core18 * trivial: Return the correct property when getting the host product * trivial: fu-util-common: fix description wrapping (Fixes: #1378) * fu-util/fu-tool: Map out changelogs from remotes * fu-util/fu-tool: Better display historical information * fu-history: Update device_modified in sql database during updates * unifying: Use the instance ID to check for supported devices * unifying: Ensure HID++ v2.0 peripheral devices get scanned by the plugin * trivial: Add some more defines to the srec parser * trivial: fix wget command in fu-tool.c * Allow parsing a raw SREC file * trivial: wacom: Add support for second vendor ID * uefi, dell-esrt: Show firmware version when capsule updates unavailable * Add some more debugging to the SREC and IHEX parsers * Print the instance IDs if the GUIDs are unconverted * Add fu_common_bytes_compare_raw() for future usage * Call the set_quirk_kv() vfunc for the superclassed object * uefi: make the TPM optional for runtime again (Fixes: #1362) * trivial: uefi: Make the TCTI output less verbose * Support in AppStream metadata * Include all GUIDs when uploading a report * Do not crash when starting tpm2-abrmd * trivial: Update DBus conf path for example Fedora package * Move D-Bus conf file to datadir/dbus-1/system.d * trivial: Add fu_io_channel_write_byte_array() for future use * trivial: post release version bump - Package new sub-packages typelib-1_0-FwupdPlugin-1_0 and libfwupdplugin1.- Fix file list- Update to version 1.3.1: (jsc#SLE-10751) * Allow disabling all plugins * trivial: Specify the tpm2-tss-devel version in the example spec file * Move to CI Fedora 30 * modem-manager: Fix two build warnings on Fedora 30 * synapticsmst: Add another name quirk for the ThinkPad USB-C Dock * Re-introduce GUID support to fwupdmgr and fwupdtool * uefi-recovery: Add a plugin to add a fake ESRT entry for device recovery * Add a DMI quirk for the Minnowboard Turbot * trivial: Make it easy to disable or enable libflashrom for distros * trivial: Don't use Recommends for RHEL 7 * unifying: fix timeout metadata * ci: arch: minor improvements * unifying: fix timeout * Allow disabling SSL strict mode for broken corporate proxies * trivial: Allow ignoring the daemon version check by using --force * Try to only show DMI product name once * trivial: fu-util-common: Show unknown devices as interesting devices * dell: Use TSS to query and build TPM vendor strings for GUIDs * trivial: dell: show reasons for lack of updates in `UpdateError` * fu-util-common: strip all trailing whitespace in XML description * trivial: fu-common: match all whitespace not just ' ' in `fu_common_strstrip` * fu-util: show release output in get-details again * unifying: use fu_firmware_strparse_uint16 to read be 16bit values * unifying: fix incomplete hex file parsing * fu-util/fu-tool: Print devices, remotes, releases using a tree * Add aliases for `get-upgrades` and `upgrade` * trivial: UEFI skip self tests if library fails to initialize * libfwupd: Add a new private function `fwupd_remote_set_remotes_dir` * trivial: add libtss2-dev into debian/control (Closes: #1324) * trivial: Fix up the GtkDoc Since lines for API only available in 1.3.x * trivial: Post branch version bump * thunderbolt: Add support for kernel safety checks (Fixes: #1312) * Include the kernel release as a runtime version * trivial: fu-util: Drop GUID support from get-devices * synapticsmst: Partially rewrite the plugin (Fixes #1105) * Remove replug flag after the device comes back from reboot * trivial: Fix running the tests on devices with the TPM in v1.2 mode * trivial: fu-util-common: more cleanup related to topology * trivial: fu-util: cleanup fwupdmgr get-details output * trivial: Don't use topology printing in --verbose mode * Make get-devices and get-topology aliases for one another * trivial: Adjust daemon device sorting * Make get-topology more useful by showing all information * trivial: Fix fu_common_string_append_kv() to align properly with idx > 0 * trivial: dell-dock: correct an error preventing write_size from being set * trivial: Do not warn about deprecated declarations * trivial: Update BRs for the example Fedora package * uefi: add test for TPM 2.0 PCR read function * uefi: use tpm2-tss library to read PCR values * fu-common: Use environment variables for systemd managed directories * Use more systemd directives for directories * trivial: fu-util: fix debug output for devices * Allow turning off the timestamp prefix for debugging * Add a ->udev_device_changed plugin vfunc * Add fu_device_rescan() and a FuDevice->rescan() vfunc * Remove the duplicate files in meson.build * Hash the source files when generating the daemon hash * Split up source files in the build script * uefi: add support for tpm2-tools 4.X * trivial: plugins: clarify stance on afuefi.efi * trivial: plugins/: Update README * trivial: disable gtkdoc by default * trivial: update references of hughsie/fwupd to fwupd/fwupd * Publish docs to fwupd.github.io using CircelCI * Add support to integrate into the motd (Fixes: #1270) * Simplify get-devices output to not show un-useful fields * fu-engine/fu-config: Reload metadata store when configuration changes * trivial: If no devices support updates, show messaging (Closes: #1295) * trivial: uefi: set vendor name for system firwmare from DMI data * unifying: update Solaar url * thunderbolt: Fix logic to work properly with ICL thunderbolt controller * Add fu_udev_device_get_device_file() helper * trivial: Fix regression when using fu_device_incorporate() * trivial: Fix a potential crash when using FuPlugin in the self tests * synapticsmst: Make FuSynapticsmstConnection an actual GObject * synapticsmst: Use the same style as other plugins * trivial: Add some helper functions for GByteArray * Do not use FuDevice metadata for the physical and logical IDs * Use fu_common_string_append_kv() in subclassed device * synapticsmst: Use G_DECLARE_FINAL_TYPE to simplify the object * synapticsmst: Add a SynapticsMSTBoardID for another Lenovo dock * trivial: remove unnecessary CUSTOMERID_DELL define * synapticsmst: Add a SynapticsMSTBoardID for a Lenovo dock * synapticsmst: Display the board ID in non-hex form in the error message * synapticsmst: Use a more suitable icon for the device * trivial: Remove unused variable * Never use memcpy() in a possibly unsafe way * Add a ->to_string() vfunc to FuFirmware * Use FuFirmware as a container for firmware images * Allow filtering devices when using the command line tools * Be more accepting when trying to recover a failed database migration * trivial: Add translation for X-ThunderboltController * trivial: fixup standalone installer * modem-manager: add counterpart GUID for the DW5821e * solokey: Release the interface and rebind the kernel driver on close * fu-tool: Port ability to update a single device from fwupdmgr * uefi: Actually write the new device path if different than before * Allow setting custom flags when using fwupdate * trivial: Do not show a critical warning if no firmware is specified * trivial: Fix overzealous search-replace action in user string * Verify we don't break the ABI * Fix a crash when stopping the fwupd service * Relax the certificate time checks in the self tests for the legacy certificate * trivial: add cache directory into systemd unit rw paths * Never show AppStream markup on the console * Do not segfault when trying to quit the downgrade selection * trivial: Update icons for Thunderbolt and MST devices * Add support for the SoloKey Secure * trivial: Allow a device to *clear* a firmware version * trivial: debian: For signed package fill out Built-Using (Closes: #932757) * Allow specifying GUID to check any version exists * trivial: post release version bump * Release fwupd 1.2.10 * Disable the flashrom plugin by default * trivial: thunderbolt: catch failure setting up device * dell-esrt: Improve the experience for the plugin (Closes: #1245) * fu-util: When unlocking prompt for reboot if applicable * remove those PIDs with Bluetooth interface, Wacom updater doesn't support updating from Bluetooth interface * flashrom: Only show DEBUG and DEBUG2 output if using --plugin-verbose=flashrom * flashrom: Only call flashrom_programmer_init() on whitelisted boards * flashrom: Fix no version format set * fu-util: Show devices with an UpdateError in get-devices output * trivial: uefi: use UEFI-dummy for device ID instead of just uefi * trivial: fix error handling for non UEFI case (#1220) * Add a specific error code for the low battery case * Fix Fedora docker build missing directory: dist * uefi: Determine whether running in legacy mode or not (Fixes: #1220) * trivial: ci: debian: Only turn on flashrom when running CI * trivial: Fix typos in error messages * Allow client code to construct objects from GVariant blobs * Export functionality to build an array of objects * flashrom: Use libflashrom * trivial: Fix the version script to pick up boxed types * trivial: Correctly order the map entries according to vercmp rules * trivial: Fix pylint issue in the version script * Add meson target to fix translations * Add support for 8bitdo USB Retro Receiver * Use the newer features of GRWLock rather than reinventing it * Revert "Allow SuperIO updates to be done live" * uefi: Try to find a duplicate using the loadopt name * uefi: Provide a quirk to disable the use of the UX capsule * trivial: uefi: use the path for efibootmgr that was detected * synaptics-prometheus: Fix installing CONFIG firmware updates * synaptics-prometheus: Set the install duration from a quirk * synaptics-prometheus: Don't emit critial warning when updating config firmware * synaptics-prometheus: Fix missing field in the IOTA reply struct * Create SECURITY.md * redfish: Never set NULL device name * modem-manager: Never set NULL device name * ata: Never set NULL device name * trivial: Add some parameter guards to FuDevice * trivial: snap: make polkit directories if they don't exist (Fixes: #1205) * trivial: fu-main: clarify missing PK file error * synapticsmst: fix GUID generation (Closes: #1207) * Lite Mk II flag for use-shim-unique * trivial: circleci: try to fix automatic snap deployment * Allow SuperIO updates to be done live * fu-util-common: Support empty proxy strings (Fixes: #1199) * trivial: uefi: clarify error message * trivial: Fix non-systemd build * trivial: Sync example spec file with downstream * trivial: post release version bump - Drop fwupd-bsc1143905-hash-the-source-files.patch: Applied upstream. - Add pkgconfig(tss2-esys) BuildRequires: New dependency. - Add gtk-doc BuildRequires and pass gtkdoc=true to meson, build api docs even when using source service.- Add fwupd-bsc1143905-hash-the-source-files.patch to hash the source files instead of libfwupdprivate.a to avoid the checksum change due to the random naming LTO profile sections (bsc#1143905)- Update to version 1.2.10: * Disable the flashrom plugin by default * dell-esrt: Improve the experience for the plugin (Closes: #1245) * fu-util: When unlocking prompt for reboot if applicable * remove those PIDs with Bluetooth interface, Wacom updater doesn't support updating from Bluetooth interface * flashrom: Only show DEBUG and DEBUG2 output if using - -plugin-verbose=flashrom * flashrom: Only call flashrom_programmer_init() on whitelisted boards * flashrom: Fix no version format set * fu-util: Show devices with an UpdateError in get-devices output * Add a specific error code for the low battery case * Fix Fedora docker build missing directory: dist * uefi: Determine whether running in legacy mode or not (Fixes: #1220) * Allow client code to construct objects from GVariant blobs * Export functionality to build an array of objects * flashrom: Use libflashrom * Add meson target to fix translations * Add support for 8bitdo USB Retro Receiver * Use the newer features of GRWLock rather than reinventing it * uefi: Try to find a duplicate using the loadopt name * uefi: Provide a quirk to disable the use of the UX capsule * synaptics-prometheus: Fix installing CONFIG firmware updates * synaptics-prometheus: Set the install duration from a quirk * synaptics-prometheus: Don't emit critial warning when updating config firmware * synaptics-prometheus: Fix missing field in the IOTA reply struct * Create SECURITY.md * redfish: Never set NULL device name * modem-manager: Never set NULL device name * ata: Never set NULL device name * synapticsmst: fix GUID generation (Closes: #1207) * Lite Mk II flag for use-shim-unique * fu-util-common: Support empty proxy strings (Fixes: #1199) - Add python3-setuptools to BuildRequires for generate-version-script.py- Update to version 1.2.9: * Release fwupd 1.2.9 * trivial: Add two new translatable strings for new category types * Check if the system is offline during install, rather than at startup * Prompt the user to shutdown if requried when installing by ID * Use the correct file extension for the offline updates cache * trivial: Allow using --force to use the wrong daemon version * trivial: Display the correct expected command * standalone-installer: Be smarter about existing installed fwupd * Add a plugin to update Synaptics Prometheus fingerprint readers * trivial: standalone-installer: rename uninstall argument to cleanup * fu-util: Check the daemon version is at least the client version * fu-util: Check that daemon is started by expected unit * fu-util-common: when stopping a daemon, check for snap too * Allow using --force to trigger a duplicate offline update * trivial: Allow using FuUsbDevice without a GUsbDevice * trivial: Copy the icons if unset for the device child * trivial: Copy the physical ID if unset for the device child * trivial: Ensure the parent ID is up to date if the device ID changes * trivial: Fix typo when setting the parent ID * trivial: Disable the flatpak CI build * Allow handling FORCE for devices that subclass FuDevice * uefi: Fix a libasan failure when reading a UEFI variable * trivial: Fix a memory leak found using libasan * trivial: Fix an libasan failure in the dell plugin * trivial: Fix some dead code spotted by coverity * trivial: Fix a typo spotted by coverity * trivial: Fix a missing config.h include in a new source file * Dynamically read path to use for /system-update * Display the remote warning on the console in an easy-to-read way * ata: Set version format to plain for devices obtained from udev * trivial: Only apply SmbiosManufacturer to release version for internal * trivial: Fix two bugs in the hardware self tests script * Never guess the version format from the version string * Only force a semver when the device opts-in * Export the version-format to clients * Add missing gtk-doc documentation * dfu: Add some trivial, but useful, debugging for AVR DFU devices * dfu: Correctly identify DFU firmware that starts at offset zero * dfu: Don't keep showing trivial debug output * dfu: Reset the forced version during attach and detach * ata/nvme: For devices running Dell firmware, set `VersionFormat` (Fixes: #1169) * fu-engine: Check if VersionFormat is ambiguous when adding devices * trivial: Fix fwupdate --apply * Only use class-based instance IDs for quirk matching * trivial: dell-dock: set minimum board to 6 * trivial: post release version bump- Update to version 1.2.8: * Don't upload reports when the user has configured their system in a broken way * Allow setting the daemon verbose domains at runtime * Allow fwupdmgr to modify the daemon config * Do not compare version formats when the release format is unknown * Do not fall back integers to a plain version format * Use the device version format when converting the release version * Set the VersionFormat using the metadata or the UEFI quirk - Changes from version 1.2.7: * l10n: Create Lithuanian translation file * l10n: Update LINGUAS * Updated: Add support for 8BitDo M30. * modem-manager: increase the timeout to wait for modem after uninhibited * modem-manager: implement qmi pdc active config selection as attach() * fu-engine: When removing activation flag match the correct version * Require --force to install a release with a different version format * Match the old or new version number when setting NEEDS_REBOOT * Make an error message clearer when there are no updates available * Add support for the not-child extension from Logitech * thunderbolt: Set require-ac for Thunderbolt devices (Fixes: gh#hughsie/fwupd#1142) * Fix some typos spotted using codespell * Add a component categories to express the firmware type * fu-tool: Port get-history command to fwupdtool * Recreate the history database if migration failed * Move the core built-in 'fwupd' remote over to the dell-esrt plugin * snap: Add a custom systemd unit to call activation on shutdown (Fixes: gh#hughsie/fwupd#1125) * ata: Flush cache before standby and activate * synapticsmst: blacklist plugin when using amdgpu (Fixes: gh#hughsie/fwupd#1121) * uefi: add a new option to specify the os name * Return the newest device when using fu_history_get_device_by_id() * uefi: More carefully check the output from tpm2_pcrlist * uefi: Don't overwrite CustomFlags if set from a quirk * Shut down the daemon if the on-disk binary is replaced * ata: Correct activation functionality * Fix version comparisons after reboot for some formats * fu-tool: save history from stuff installed with `fwupdtool` - Changes from version 1.2.6: * ata: send ATA standby immediate when activating firmware * offline: Be more graceful when dealing with Plymouth failures * Save the new version in the history database for offline updates * Show the DeviceID when showing the updates list * Allow forcing an offline-only update on a live system using --force * Do not schedule an update on battery power if it requires AC power * superio: Add InstallDuration default value * superio: Add support for writing new e-flash contents * superio: Fix reading the attestation checksum * superio: Add support for reading the device checksum * superio: Use the chipset ID in the device name * superio: Move the device flush before getting the register map * superio: Move all the IT89xx code to a subclassed device object * superio: Move all the IT85xx code to a subclassed device object * superio: Split and export fu_superio_device_ec_writeX() * superio: Remove the port from fu_superio_device_ec_read() * superio: Move the register read/write into the FuSuperioDevice object * superio: Check the IOBAD0 is usable during setup * superio: Use fu_device_set_firmware_size() * superio: Move some constants out to the common header * superio: Use GObject properties in FuSuperioDevice * superio: Convert FuSuperioDevice to be derivable * Update Plymouth when updating pending firmware * Ask to reboot after scheduling an offline firmware update * Do not fail when scheduling more than one update to be run offline * Allow running offline updates when in system-update.target * Fix the location of fwupdoffline in the service file * Add optional vfuncs to allow detaching and attaching verify() * superio: Add list of SPI commands for future usage * Add a verify-update command to fwupdtool * uefi: Actually upload the UPDATE_INFO entry for the UX capsule * superio: Get the chip size from the EC rather than hardcoding * uefi: Check the error code of QueryCapsuleCapabilities() correctly * Update the UEFI UX Capsule Header checksum when needed. * uefi: Copy the shimx64.efi binary for known broken firmware * Correctly get the check the new version for devices that replug * Add a simple script to add a capsule header * Ensure the PKCS-7 client certificate exists at startup * fix makecab directive options * fwpup.service: use display-manager.service instead of gdm.service * Allow signing the fwupd report with the client certificate * Add a D-Bus method to generate a signature using the self-signed client certificate * Allow signing and verifying data using a PKCS-7 self-signed client certificate * Fix a critical warning when loading a PKCS-7 certificate with no DN * Include all device checksums in the LVFS report * modem-manager: Fix a trivial build warning * superio: Fix a trivial build warning * Move out the offline update functionality to a new binary * Do not reboot when failing to start fwupd during offline updates * Do not write the schema version to the db when loading * Do not recreate XbSilo caches when running on a readonly filesystem * Add the fwupdagent binary for use in shell scripts * Allow restricting firmware updates for enterprise use * standalone-installer: new --allow-older and --allow-reinstall options * Show the upgrade and downgrade flags when getting releases for a device * Rename FwupdRelease:trust-flags to FwupdRelease:flags * fu-tool: Save device state to @LOCALSTATEDIR@/lib/fwupd/state.json on actions * modem-manager: implement support for qmi-pdc * Add a plugin to support ModemManager hardware * fu-tool: Don't let failing to find dbus prevent engine from starting * ata: Support delayed activation * dell-dock: Use activation when calling fwupdtool activate * Add a support for delayed activation * uefi: Fix the self tests when running on Fedora SilverBlue * Do not fail to start the daemon if tpm2_pcrlist hangs * po/make-images.sh: quote LOCALEDIR and PYTHON3 * meson: print stderr of python3 command instead of stdout * Revert "contrib/debian: Switch to debian unstable" * Add elogind support - Changes from version 1.2.5: * uefi: fix segfault in fwup_set_update_statuses * Show in Flathub correctly * debian: explicitly depend on shared-mime-info * superio: Implement detach() and attach() * superio: Correct the names of some constants and improve debugging support * dell-dock: Filter the last supported payloads of certain board 4 SKUs * circleci: Manage the lifecycle of the snap * Add support to run snap build in CircleCI * wacom-usb: Use the correct buffer format for the touch module * wacom-usb: Set the install duration for each device type * wacom-usb: Return with an error if there were too many retries * wacom-usb: Make updating less verbose * Convert all child instance IDs when converting the parent * uefi: Allow devices to create more complete fake UEFI devices * unifying: Fix regression when recovering from failed flash * Ensure libxmlb dir exists for LGTM.com * Add C build configuration for LGTM.com * Use G_BEGIN_DECLS correctly for internal headers * standalone-installer: Fix issue found by LGTM * Use '#pragma once' to avoid a lot of boilerplate * Force LGTM to see Python 3 * fwupd: Hide firmware-packager behind meson option` * fu-common-cab: Correct handling of CAB files w/ nested directories and older libgcab * Fix a regression in using the InstanceIDs for quirk matching * thunderbolt: Convert the instance IDs as we never open the device * udev: Manally call fu_device_setup() to convert the instance IDs * fu-tool: Correct a crash caused by calling fwupdtool update * fu-tool: Don't fail if dbus is unavailable * contrib/debian: Switch to debian unstable * wacom-usb: Record the block number when failing * wacom-usb: The touch address is big endian * wacom-usb: Accept a non-binary IHEX file for the touch update * wacom-usb: Only poll when the device status is 'busy' * wacom-usb: Only reboot the device when all composite devices have been updated * wacom-usb: Fix flashing failure with latest Intuos Pro tablet * dfu: Fill holes when reading SREC files * Add fwupd_guid_from_string() to drop dep on uuid * wacom-raw: Check the InstanceID rather than GUID * Defer the InstanceID->GUID hashing until after setup * ata: Check for USB enclosures as well * Do not use efivar just to print a mixed endian GUID * Add fu_device_add_instance_id() and prefer explicit conversion * Report the DeviceInstanceIDs to `fwupdmgr get-updates` * Export some of the GUID functionality * Allow a plugin to set _ANOTHER_WRITE_REQUIRED to run more than one plugin * nvme: Add an extra check for Dell plugins to avoid false positives * ata: Add support for detecting Dell GUIDs * Fix the self tests when using glib2 >=2.59.0 * Add support to call composite prepare and cleanup using fwupdtool * uefi: Disable -Wno-address-of-packed-member * uefi: Don't unconditionally enable Werror for the EFI binary * Disable -Wno-address-of-packed-member - Changes from version 1.2.4: * Remove the autogenerated headers in the gettext files * ata: Default to the non-activation 0xE subcommand * fastboot: Use a much longer timeout as the removal delay * fu-progressbar: be more quiet when running non-interactive * fu-tool: Show UpdateMessage if applicable for install command * dfu: Simplify the SREC parser to avoid a crash with an invalid file * wacom-raw: Use the correct error codes when the panel is not supported * wacom-usb: Add some more information to the README * fu-keyring-utils: Don't fail missing PKI directory when compiled with GPG/PKCS7 * dell: Check that the flash interface command is available * wacom-usb: Fix the plugin name to allow devices to be updated * fastboot: flash the partition after downloading the file * uefi: Add a quirk to use the legacy bootmgr description * ata: Mark all devices as needing a reboot * ata: Add a new plugin to upgrade firmware on ATA/ATAPI hardware * udev-device: Add a utility function for debugging * udev-device: Set the firmware revision automatically * udev-device: Set the serial number automatically * udev-device: Fall back to non-database model and vendor values * udev-device: Fix critical warning if the device has no parent * dell-dock: Add support for a passive flow * Add support for an `UpdateMessage` and display it in tools * fu-tool: Port the `get-updates` command over * When using `directory` remote type automatically generate metadata * libfwupd: Add support for new remote type "directory" * Ensure cabinet archives always have a container checksum * Add support for a per-release source and details URL * When generating a CAB Silo use the prefix "components" * uefi: Add a trivial debugging statement to debug a UX capsule failure * uefi: Use fwup_new0() to allocate the updates table array * nitrokey: Correct Nitrokey Storage invalid firmware version read * dell-dock: Add support for flashing Thunderbolt over I2C * wacom-raw: Add a plugin to update Wacom embedded EMR and AES panels * fu-util/fu-tool: sync up reboot and shutdown behavior * dfu: Ignore the SUB ASCII value * dfu: Fix the parser to support extended segment addresses * dfu: Support ihex files with leading comments don't show an error * uefi: Correct a boot order creation bug (Fixes: gh#hughsie/fwupd#956) * uefi: Remove all variable length arrays * uefi: Fix a logic bug in fwup_search_file() * uefi: Use _cleanup_free in one more place * uefi: Do not pass required attrs to fwup_delete_variable() * uefi: Delete the old Linux-Firmware-Updater boot entry * uefi: Use the GNU-EFI BOOL type * Check if plugin changed after the device attaches or detaches * uefi: Refactor and simplify the EFI loader * Show a console warning if loading an out-of-tree plugin * UEFI: Do the UX checksum calculation in fwupd * wacom-usb: Add two more Intuos tablets * nvme: Add the needs-shutdown quirk to Phison NVMe drives * Add _NEEDS_SHUTDOWN flag for devices * Use GCC __cleanup__ features in the EFI loader * nvme: Add flag to support manually aligning the firmware to the FWUG value * nvme: Support FGUID to get the SKU GUID * nvme: Support FWUG to get the write block size * nvme: Add trivial comment to clarify address bitshifting * uefi: Do not check the BGRT status before uploading a UX capsule * dfu: Fix flashing various Jabra devices * upower: Add support for checking battery percentage * nvme: Check the return code of the admin passthru ioctl * fu-tool: Add support for an 'update' command to fwupdtool * dell-dock: Set minimum board to board 4 * dell-dock: Workaround a manufacturing bug for board level 4 * dell-dock: Wait longer for re-enumeration on TBT SKU * superio: Support IT89xx devices * fu-main: remove incompatible locale error message * Add a new plugin checklist (Fixes: gh#hughsie/fwupd#899) - Dropped obsolete patch: fwupd-bsc1130056-change-esp-os-name.patch (upstream PR: gh#hughsie/fwupd#1119 - Fixed fwupd-bsc1130056-change-shim-path.patch so that it works with the new files - Cleaned up changelog- Stop shipping polkit rules, as we have the distro specific setup in polkit-default-privs (boo#1125428).- Add fwupd-bsc1130056-change-esp-os-name.patch to change the OS directory in ESP (bsc#1130056) - Add fwupd-bsc1130056-change-shim-path.patch to set the default shim binary for openSUSE/SLE (bsc#1130056) - Link fwupd*.efi.signed to fwupd*.efi as requested by fwupd (bsc#1129466)- fwupd.spec: fix shell syntax error in %postun section (boo#1120363).- Update to version 1.2.3: * Correctly migrate the history database - Changes from version 1.2.2: * Log an error if started with an incompatible locale * Fix building with -Wl,-z,defs * ebitdo: Fix the reported version number if the daemon locale is not C.UTF-8 * Add Dell TB18DC to the known devices list * Allow replacing the last byte in the image when using 'dfu-tool replace-data' * Check the device checksum as well as the content checksum during verify * Submit the device firmware checksum and update protocol in the submitted report * Include the device checksum and update protocol in the historydb * uefi: Add the PCR0 value as the device checksum for system firmware * Add new API to get the release protocol from the metadata * Allow plugins to define support for a 'well-known' protocol * uefi: When adding headers set the header size to 4k * uefi: Append the header on capsules without headers from Linux * flashrom: Ensure the quirks database is set on the new object * uefi: Do not add devices with invalid GUIDs * Do not allow a GUID of zero * Add shared functionality for reading and writing with O_NONBLOCK * Only run attach and detach if the device is in the wrong mode * Sanitize the version if the version format has been specified * wacom-usb: Remove the DTH generation hardware as it will not work with fwupd * thunderbolt: Remove a superfluous boundary condition when verifying update * Add a plugin to update hardware that supports fastboot * Fix a regression when doing GetReleases on unsupported hardware * dfu: Require a specific USB class and subclass for DFU mode * Correctly parse format the version numbers correctly using old metadata * amt: Fix a crash if AMT returns an empty response * Check plugins set error on failure * contrib: Add a simple python3 client * installed-tests: Adjust to actually use a remote for installed tests * Add more standard USB identifier GUIDs * wacomhid: Rename to wacom-usb * Provide a way for plugins to decompress a custom archive to ram - Changes from version 1.2.1: * Remove DaemonVersionFormat=quad * Shut down the daemon after 2h of inactivity * Create a silo index to speed up GUID queries * Fix flashing the 8bitdo SF30 * Speed up fwupd startup by loading less thunderbolt firmware * Query the XbSilo when calling fu_plugin_check_supported() * Guess the version format when it is not provided * Fix a use-after-free when using valgrind and --immediate-exit * Add per-release install duration values * Fix showing the custom remote agreements * Be more explicit setting the update state * Include the os-release information in the release metadata - Changes from version 1.2.0: * ebitdo: remove SF30/SN30 pro device ids * dell-dock: Drop delayed MST callback routine * synapticsmst: Adjust EVB board handling * synapticsmst: Remove the content checking of firmware * synapticsmst: Access Board ID through memory instead In firmware images HDCP 2.2 will be enabled by default,so access to flash region will fail.` * contrib: Adjust flatpak build for moving to flathub * dell-dock: Prefer to flash VMM5331 via I2C instead of DP aux * Use HTTPS_PROXY if set * firmware-packager: Make it clearer to use * Sort the firmware sack by component priority * flatpak: Update gnu-efi to latest version * amt: Set the full device version including the BuildNum * fwupdmgr/fwupdtool: Move monitor command to fwupdtool * fwupdmgr/fwupdtool: Move firmware builder from fwupdmgr to fwupdtool * Add version format quirks for several Lenovo machines * uefi: Set the quirks on created devices * dell_dock: Use correct offset for finding version of MST * dell-dock: Add missing unlock call for MST via dell_dock plugin * Support the Intel ME version format * Port from libappstream-glib to libxmlb * Bump requirement to meson 0.46.0 * fu-main: Catch SIGTERM while update is in progress * fu-tool: Stop any running daemon over dbus before loading engine * meson: Bump dependency to 0.44 and adjust sysconfdir handling * dell-dock: If marketing name is invalid don't fail initialization * Readme Updated: Added KDE Discover as one more graphical front-end available for fwupd. * dell-dock: Correct a situation that error wasn't propagating * Don't segfault if a plugin returns FALSE from UpdateFunc with no error set * dell-dock: Use different debug strings for each device type * dell-dock: Don't use the VLA feature in the new dock * Add a plugin for an upcoming Dell USB-C dock * contrib: Add information on how to use debugging scripts * Allow setting the version format from a quirk entry * Don't use AppStream-glib for string helpers * Don't use AppStream-glib for version helpers * Don't use AppStream-glib for the GUID helpers * fu-device: Ensure that parent ID is created before creating quirked children * Update all sub-devices for a composite update * Stop showing the current release during updates in fwupdmgr * uefi: Move the TPM unlocking functionality from the Dell to UEFI plugin * Run the Dell plugin initialization after the UEFI plugin * thunderbolt-power: Fix possible linker problem * Allow firmware files to depend on versions from other devices * fu-debug: Redirect all debugging output to stderr instead of stdout * synapticsmst: Adjust panamera ESM update routine for some reported issues * fu-engine: Optionally wait for replug before updating a device * fu-device-list: Use delayed device removal when removing the tree * thunderbolt: Use replugging from the daemon * Add support for devices to show an estimated flash time * Marked some CL options for translation * ci: Run clang static analysis for Ubuntu build rather than just clang compiler * nvme: Initialize the buffer before reading the contents * contrib: Add a standalone installer creation script * rts54hid: Add support for Realtek USB devices using vendor HID commands * fu-engine: Don't show devices pending a reboot in GetUpgrades * Add FuMutex helper to make various parts of the daemon thread-safe * rts54hub: Add support for Realtek USB devices using vendor HUB commands * uefi: Check the amount of free space on the ESP * fu-tool: Import debugging options from fu-debug like fu-main * superio: Set the physical and logical IDs - Add pkgconfig(xmlb) BuildRequires: New dependency.- Add pesign-obs-integration to BuildRequires and add fwupd*.efi to BRP_PESIGN_FILES to get it signed - Add LC_IMAGES and use efivar only if %{with efi_fw_update} + Also update the version requirement of efivar - Disable Redfish and NVME plugins if %{without efi_fw_update} since those two plugins require efivar - Remove fwup from BuildRequires since fwupdate is already merged into fwupd.- Use gnu-efi only if %{with efi_fw_update}, always use pkgconfig(efivar) - Fix file list- Amend %post and %postun to install/uninstall fwupd*.efi to the EFI system partition + Also add shim to Requires for fwupdx64.efi - Mark fwupdate as obsolete + fwupdate has been merged into fwupd since fwupd 1.1.0.- fwupd is require for thunderbolt firmware update in SLE15-SP1(fate#322681)- Update to version 1.1.2: + New Features: - Add a new device flag "ignore-validation" that will override checks - Add a new plugin to enumerate EC firmware - Add a new plugin to update NVMe hardware - Add a plugin for updating using the flashrom command line tool - Allow the device list to take care of waiting for the device replug - Allow updating just one specific device from the command line - Allow upgrades using a self-signed fwupd.efi binary - Download firmware if the user specifies a URI - Include serial number in daemon device output when trusted - Notify all plugins of device removals through a new vfunc - Use boltd force power API if available + Bugfixes: - Add an install hook for classic snap - Allow forcing installation even if no AC power is applied - Allow using --force to ignore version_lowest - Always use the same HardwareIDs as Windows - Check the device state before assuming a fake DFU runtime - Copy over parent GUIDs from other plugin donors - Detect location of python3 interpreter - Do not add udev devices after a small delay - Don't fail to run if compiled without GPG/PKCS7 - Fix a segfault in fwupdtool caused by cleanup of USB plugins - Implement the systemd recommendations for offline updates - Improve performance when reading keys from the quirk database - Remove children of devices when the parent is removed - Rewrite synapticsmst to use modern error handling - Rewrite the unifying plugin to use the new daemon-provided functionality - Show a time estimate on the progressbar after an update has started- Use noun phrase for summary. Trim request for comments from description.- Update to version 1.1.1: + New Features: - Add support for the Synaptics Panamera hardware - Add validation for Alpine and Titan Ridge - Improve the Redfish plugin to actually work with real hardware + Bugfixes: - Allow different plugins to add the same device - Allow flashing unifying devices in recovery mode - Allow running synapticsmst on non-Dell hardware - Check the ESP for sanity at at startup - Do not hold hidraw devices open forever - Don't override _FORTIFY_SOURCE when building the EFI binary - Don't show passwords in fwupdmgr - Fix a potential segfault in smbios data parsing - Fix encoding the GUID into the capsule EFI variable - Fix various bugs when reading the thunderbolt version number - Reboot synapticsmst devices at the end of flash cycle - Show status messages when the daemon is initializing - Show the correct title when updating devices - Show the reasons that plugins are not run on the CLI - Use localedir in po/make-images- Run %udev_rules_update in post as package install udev rules- Update to version 1.1.0: (FATE#326702) + New Features: - Add a initial Redfish support - Add a tool to mimic the original fwupdate CLI interface - Allow devices to assign a plugin from the quirk subsystem - Change the quirk file structure to be more efficient - Merge fwupdate functionality into fwupd - Run a plugin vfunc before and after all the composite devices are updated - Support more Wacom tablets + Bugfixes: - Add release information for locked devices - Allow building with older meson - Detect the EFI system partition location at runtime - Do not use 8bitdo bootloader commands after a successful flash - Enable accesing downloaded files in flatpak and snap - Fix a potential buffer overflow when applying a DFU patch - Fix downgrading older releases to devices - Fix flashing devices that require a manual replug - Fix several small memory leaks in various places - Fix the retrieval of Redfish version - Fix unifying failure to detach when using a slow host controller - Set the Wacom device status when erasing and writing firmware - Show errors in the CLI if unable to access directory - Use the parent device name for Wacom sub-modules - Removed enable_pkcs7_when_testing_only.patch- Update to version 1.0.8: + New Features (including version 1.0.7): - Add an plugin to update some future Wacom tablets - Add 'fwupdmgr get-topology' to show logical device tree - Add support for creating a flatpak - Add support for creating a snap - Add support for Motorola S-record files - Add the Linux Foundation public GPG keys for firmware and metadata - Show a translated warning when the server is limiting downloads - Add enable-remote and disable-remote commands to fwupdmgr - Add fu_plugin_add_compile_version() for libraries to use - Allow requiring specific versions of libraries for firmware updates - If no remotes are enabled try to enable the LVFS - Show a warning with interactive prompt when enabling a remote + Bugfixes (including version 1.0.7): - Add a firmware diagnostic tool called fwupdtool - Adjust all licensing to LGPL 2.1+ - Allow installing more than one firmware using 'fwupdmgr install' - Allow specifying hwids with OR relationships - Do not call fu_plugin_init() on blacklisted plugins - Do not require libcolorhug to build - Fix a crash in libfwupd where no device ID is set - Fix a potential DoS in libdfu by limiting holes to 1MiB - Fix a segfault that sometimes occurs during cleanup of USB plugins - Fix Hardware-ID{0,1,2,12} compatibility with Microsoft - Hide devices that aren't updatable by default in fwupdmgr - Search all UEFI GUIDs when matching hardware - Stop matching Nintendo Switch Pro in the 8bitdo plugin - Check that EFI system partition is mounted before update - Disable synapticsmst remote control on failure - Don't recoldplug thunderbolt to fix a flashing failure - Fix SQL error when running 'fwupdmgr clear-offline' - Improve the update report message - Only enumerate Dell Docks if the type is known - Only run certtool if a new enough gnutls is present - Prevent a client crash if the daemon somehow sends invalid data - Reboot after scheduling using logind not systemd - Use the right encoding for the label in make-images - Added/backported enable_pkcs7_when_testing_only.patch: + needed to disable pkcs7 test during build (can be removed for fwupd >= 1.0.9)- Update hasbang in installed files from /usr/bin/env python3 to /usr/bin/python3.- Update url - Small packaging cleanup with spec-cleaner- Update to version 1.0.6: + New Features: - Add bash completion for fwupdmgr. - Add support for newest Thunderbolt chips. - Allow all functions that take device arguments to be prompted. - Allow devices to use the runtime version when in bootloader mode. - Allow overriding ESP mount point via conf file. - Delete any old fwupdate capsules and efivars when launching fwupd. - Generate Vala bindings. + Bugfixes: - Allow ctrl-d out of the prompt for devices. - Allow to create package out of provided binary. - Correct handling of unknown Thunderbolt devices. - Correctly detect new remotes that are manually copied. - Fix a crash related to when passing device to downgrade in CLI. - Fix running the self tests when no fwupd is installed. - Fix Unifying signature writing and parsing for Texas bootloader. - Only send success and failure reports to the server. - Use a CNAME to redirect to the correct CDN for metadata. - Use a longer timeout when powering back the Thunderbolt device.- Ensure library package has a dependency on main package, otherwise it won't be usable.- Update to version 1.0.5: + New Features: - Offer to reboot when processing an offline update. - Report the efivar, libsmbios and fwupdate library versions. - Report Thunderbolt safe mode and SecureBoot status. - Show the user a URL when they report a known problem. - Support split cabinet archives as produced by Windows Update. + Bugfixes: - Be more careful deleting and modifying device history. - Clarify which devices don't have upgrades. - Ensure the Thunderbolt version is xx.yy. - Fix a daemon warning when using fwupdmgr get-results. - Fix crasher with MST flashing. - Fix DFU detach with newer releases of libusb. - Include the device VID and PID when generating the device-id. - Set the RemoteId when using GetDetails. - Stop matching 8bitdo DS4 controller VID/PID. - Use help2man for dfu-tool and drop docbook dependencies. - Use ngettext for any strings with plurals. - Use the default value if ArchiveSizeMax is unspecified.- Update to version 1.0.4: + New Features: - Add D-Bus methods to get and modify the history information. - Allow the user to share firmware update success or failure. - Ask the user to refresh metadata when it is very old. - Store firmware update success and failure to a local database. + Bugfixes: - Add a device name for locked UEFI devices. - Allow each plugin to opt-in to the recoldplug action. - Fix firmware downloading using gnome-software. - Fix UX capsule reference to the one specified in efivar. - Never add two devices to the daemon with the same ID. - Rescan supported flags when refreshing metadata. - Add pkgconfig(json-glib-1.0) BuildRequires: new dependency.- Update to version 1.0.3: + New Features: - Add a new plugin to add support for CSR "Driverless DFU". - Add initial SF30/SN30 Pro support. - Support AppStream metadata with relative URLs. + Bugfixes: - Add more metadata to the user-agent string. - Block owned Dell TPM updates. - Choose the correct component from provides matches using requirements. - Do not try to parse huge compressed archive files. - Fix a double-free bug in the Udev code. - Handle Thunderbolt "native" mode. - Use the new functionality in libgcab >= 1.0 to avoid writing temp files.- Unbreak compilation on non-x86, upstream renamed options to disable plugins.- Update to version 1.0.2: + Add a plugin for the Nitrokey Storage device + Add support for the original AVR DFU protocol + Allow different plugins to claim the same device + Allow quirks to set common USB properties + Move a common plugin functionality out to a new shared object + Optionally delay the device removal for better replugging + Set environment variables to allow easy per-plugin debugging + Use a SHA1 hash for the internal DeviceID + Add quirk for AT32UC3B1256 as used in the RubberDucky + Disable the dell plugin if libsmbios fails + Don't register for USB UDev events to later ignore them + Fix a possible buffer overflow when debugging ebitdo devices + Fix critical warning when more than one remote fails to load + Fix DFU attaching AVR32 devices like the XMEGA + Ignore useless Thunderbolt device types + Refactor ColorHug into a much more modern plugin + Release the Steelseries interface if getting the version failed + Remove autoconf-isms from the meson configure options + Show a nicer error message if the requirement fails + Sort the output of GetUpgrades correctly - Changes from version 1.0.1: + Add support for HWID requirements + Add support for programming various AVR32 and XMEGA parts using DFU + Add the various DFU quirks for the Jabra Speak devices + Allow specifying the output file type for 'dfu-tool read' + Move the database of supported devices out into runtime loaded files + Support the IHEX record type 0x05 + Use help2man to generate the man page at build time + Use the new quirk infrastructure for version numbers + Catch invalid Dell dock component requests + Correctly output Intel HEX files with > 16bit offset addresses + Do not try to verify the element write if upload is unsupported + Fix a double-unref when updating any 8Bitdo device + Fix crash when enumerating with Dell dock connected but with no UEFI + Fix uploading large firmware files over DFU + Format the BCD USB revision numbers correctly + Guess the DFU transfer size if it is not specified + Include the reset timeout as wValue to fix some DFU bootloaders + Make the error message clearer when sans fonts are missing + Support devices with truncated DFU interface data + Use the correct remote-specified username and passord when using fwupdmgr + Use the correct wDetachTimeOut when writing DFU firmware + Verify devices with legacy VIDs are actually 8Bitdo controllers - Add help2man as BuildRequires.- Fix dependencies and build options for non-x86 architectures. At least FW updates for USB are arch independent, and EFI FW updates can also be applied on Aarch64.- Update to version 1.0.0: * Add the plugin documentation to the main gtk-doc * Add a waiting-for-auth daemon state * Add fwupd_remote_get_checksum() to use in client programs * Generate the LD script from the GObject Introspection data * Prevent fwupd from mounting filesystems * uefi: Do not use system-specific infomation for PCI devices * uefi: Support uploading the firmware splash image * dell: only set coldplug delay when we know we need it * dell: only run SMI to toggle host MST GPIO on systems with host MST * dell: add functionality to blacklist HW with problems * dell: only run on intended chassis * thunderbolt-power: always run after thunderbolt plugin * Allow plugins to depend on each other * Add support for SMBIOSv3 * dell: prefer to use hwids to get DMI keys and DE table * debian: remove /etc/fwupd.conf on upgrade * unifying: Use fu_plugin_check_supported() * Add fu_plugin_check_supported() * unifying: Use a device whitelist to avoid breaking devices * Fix various printing issues with the progressbar * dell: Fix a trivial whitespace issue * Do not fail to load the daemon if cached metadata is invalid * Do not store the newest release as part of the FuDevice object * Add a method to return a list of upgrades for a specific device * Move the downgrade calculation to the daemon * Make FuDevice derive from FwupdDevice rather than FwupdResult * Add a command 'clear-offline' to fwupdmgr * Merge releases where multiple remotes provide the same firmware * Remove the UniqueID property * uefi: Do not set the release version * udev: Do not match USB devices, even with a GUID set * Use the intel-wmi-thunderbolt kernel module to force power * dell: drop thunderbolt force power code * unifying: Add hardcoded summaries for peripheral kinds * Create CODE_OF_CONDUCT.md * Ensure more devices set the device summary * Add an 'Summary' property to each device * Add a human-readable title for each remote * unifying: Disable if the kernel has no CONFIG_HIDRAW support * Move deprecated symbols to a new header * Introduce an s390x cross compile target to CI * Add ModifyRemote as an easy way to enable and disable remotes like the LVFS * Do not auto-open all USB devices at startup * dfu: Use FuDeviceLocker * unifying: Use FuDeviceLocker * colorhug: Use FuDeviceLocker * ebitdo: Use FuDeviceLocker * altos: Use FuDeviceLocker * steelseries: Use FuDeviceLocker * usb: Use FuDeviceLocker * Add FuDeviceLocker to simplify device open/close lifecycles * dfu: Remove DEVO support * dfu: Remove the now-unused symtab support * Remove the ELF support from libdfu and move the code to the altos plugin * Use -Werror when building in Travis CI * Do not install the libdfu helper library * Parse the SMBIOS DMI table directly * usb: Disable the fallback USB plugin * Test for missing language translations at build time * Fix the libdfu self test failure on s390 and ppc64- Update to version 0.9.8: * Add a command 'clear-offline' to fwupdmgr * Do not fail to load the daemon if cached metadata is invalid * Fix a crash when using fu_plugin_device_add_delay() * Fix the libdfu self test failure on s390 and ppc64 * Format the BCD USB revision numbers correctly * Never fallback to an offline update from client code * Prevent fwupd from mounting filesystems * dfu: Allow flashing when the target does not specify an alt-name * dfu: Do not try to verify the element write if upload is unsupported * dfu: Fix uploading large firmware files * dfu: Include the reset timeout as wValue to fix some hardware * dfu: Set the vendor ID to the runtime USB VID * dfu: Use 0x0101 as an alias for 0x0110 * thunderbolt: move test for mock environment (gh#hughsie/fwupd#280) * udev: Do not match USB devices, even with a GUID set * uefi: Do not set the release version * unifying: Disable if the kernel has no CONFIG_HIDRAW support- Update to version 0.9.7: + 10 months worth of bugfixing, integrating more vendor specific Firmware update paths.- Update to version 0.8.1: + Delete duplicate translations (gh#hughsie/fwupd#89). + Do not hardcode docbook2man path. + Fix fwupdmgr timeout with missing pending database. + Fix compiler warnings. + Fix a crash when enumerating devices on a Dell WLD15. + dell: don't initialize libsmbios on unsupported systems. + Do not fail to start on Dell hardware. + Adjust systemd confinement restrictions. + Do not dlclose modules when running under valgrind. + Really remove the NoNewPrivileges systemd confinement. + Release fwupd 0.8.1.- Update to version 0.8.0: + Show a different error when checking for updates while on + battery power (gh#hughsie/fwupd#68). + Clarify the test in --help and man page related to offline + (gh#hughsie/fwupd#69). + libdfu: Use a heuristic for the start address if the firmware + has no DfuSe footer. + dell: Don't return the address of a stack variable. + dell: Fix a possibly-impossible-to-hit buffer overrun. + close USB devices before error returns (gh#hughsie/fwupd#73). + Make libelf support optional. + Always make sure we're getting a C99 compiler. + Fix redeclaration of polkit autocleanup functions. + Uncomment SystemdService parameter in the dbus service file + (gh#hughsie/fwupd#74). + Make all providers and plugins share a GUsbContext. + Unexport libebitdo. + Move the plugins into plugin-specific directories. + Convert the providers to plugins to simplify code and for + future features. + Add support for Logitech Unifying devices. + Add a set of vfuncs that are run before and after a device + update. + Return the pending UEFI update when not on AC power. + Move the UPower functionality to a plugin. + Fix udev plugin loading. + fix dfu plugin loading. + Disable PrivateNetwork on systemd service. + Use more restrictive settings when running under systemd. + dell: add a new method for forcing a controller to flash mode. + Add VerifyUpdate to update the device checksums server-side. + Move the Option ROM parsing to the Udev plugin. + Move the device add delay to shared code. + Add initial skeleton for Intel Thunderbolt support. + unifying: Use the actual bootloader VID/PIDs when in firmware + mode. + Allow the metadata to match a version of fwupd and the existing + fw version. + Add fwupd_result_get_device_version_bootloader(). + Fix the appstream-glib version guards. + dell: Add coldplug methods to let other plugins turn on + TBT/GPIO. + libdfu: Don't read data from some DfuSe targets. + Add the ability to run a prepare->exec->cleanup on coldplug. + Allow plugins to request that all plugins re-coldplug. + thunderbolt: Detecting new devices and add an actual device to + the daemon. + Add support for flashing the ChaosKey. + thunderbolt: add some guards around empty arrays. + dell: Adjust the coldplug preparation and cleanup sequence. + dell: Fix possible linker problem. + Revert "thunderbolt: add some guards around empty arrays". + Add fu_plugin_set_coldplug_delay() to allow hardware to + initialize if required. + altos: Add error checking when using termios. + ebitdo: Subclass FuDevice like the altos plugin. + altos: Set the flags in the init_real so they work for the + cmdline tool. + unifying: Subclass FuDevice like the altos plugin. + Include all debug messages when run with --verbose. + dell: introduce a standalone (noinst) tool to force mode + flashes. + Introduce plugin for Synaptics MST hubs. + synapticsmst: Add cascade support. + Only register the D-Bus service when all devices have been + added. + synapticsmst: Refactor away the global state. + synapticsmst: fix cascade support in the plugin. + Updates for thunderbolt plugin. + thunderbolt: Add special handling for safe mode on Dell systems + (gh#hughsie/fwupd#84). + synapticsmst: Iterate all nodes rather than hardcoding to 3. + synapticsmst: build GUID using dock type. + Add a new function fu_dell_supported to fu-dell-common. + synapticsmst: add a test suite. + synapticsmst: Fix up some trivial whitespace issues. + Fix a refcounting issue in the udev plugin. - Add rpmlintrc untill security review is resolved- Update to version 0.7.5: + Clean up PO files + Verify devices support updating in mode they are called. + Fix an assert when unlocking the dummy ESRT device + Don't create the UEFI dummy device if the unlock will happen on + next boot + dell: Match on TB16 as well + Fix a -fstack-protector-strong crash when uploading firmware + Enable the stack protection in local builds + dell: If running in test suite, don't try to get product ID + from sysfs + libfdfu: Show a warning when getting the alt-name failed + dfu: Fix listing devices using the ST reference bootloader + Show the nicely formatted target name for DfuSe devices + libdfu: Fix two possible critical warnings for corrupt USB + descriptors + libdfu: Correctly offset addresses when one zone has multiple + sectors + libdfu: Do not do GetStatus on dfuse upload + libdfu: Fix uploading from DfuSe devices + libdfu: Use the device offset when writing DfuSe firmware + libdfu: Add DfuAction enumerated value to represent a device + action + libdfu: Use an animated progress bar when performing DFU + operations + libdfu: Do not do a zero-byte download when in DfuSe mode + libdfu: Fix verification of written DfuSe firmware + libdfu: Ensure the device is open before claiming the interface + libdfu: Ensure the mode is set correctly when faking a runtime + libdfu: Re-get the quirks when the DfuDevice gets a new + GUsbDevice + libdfu: Add quirks for HydraBus as it does not have a DFU + runtime + libdfu: Match the device booloader or runtime VID and PID when + checking firmware + Add a 'replace-data' command to dfu-tool + string + libdfu: Add dfu_sector_get_zone() to get the continuous memory + zone number + libdfu: Wait for DNBUSY to be cleared when checking the DfuSe + status + libdfu: Correctly erase DfuSe devices + Enable hardening flags on more binaries + libdfu: Correctly set the element address when uploading from + DfuSe devices - Add pkgconfig(gmodule-2.0) BuildRequires: Align with what + configure checks for. - Add pkgconfig(libsmbios_c) BuildRequires: Support dell bios. + Unfortunatly, until we have fwup packaged and enabled, this will + not work. - Add disabled pkgconfig(libtbtfwu): For future thunderbolt + support.- Update to version 0.7.4: + Add a fallback for older appstream-glib releases + Write the ELF files with the correct section type + Fix libfwupd self tests when a host-provided fwupd is not + available + Add dfu_firmware_add_symbol() + Add the Altos symbol table to the DfuFirmware + Use the symtab to set the VID/PID from Altos IHEX firmware + images + Show the human-readable version in the 'dfu-tool dump' output + Allow specifying the argument to 'dfu-tool set-release' in + major.minor format. + sections + Support writing the IHEX symbol table + call + Load the symbol table from ELF firmware + Load the Altos USB descriptor from ELF files + Add DFU_CIPHER_KIND_RSA + Fix a possible crash when uploading firmware files using libdfu- Update to version 0.7.3: + build: Fix gtk-doc build when srcdir != builddir + In get-details output, display the blob filename + Ensure the update ID is set when getting local firmware details + Use a private gnupg key store + Add support for installing against multiple devices from a CAB + file + Use the correct firmware blob when installing a composite + device update + in get-details output, display update_name rather than Unknown + Device + statements + Don't make failures critical while checking versions or locked + state + Show a more detailed error when installing firmware on the + wildcard + Add Dell TPM and TB15/WD15 support via new Dell provider. + file + Allow blacklisting devices by their GUID + header file + Add XPS 9250 to Dell TPM modeswitch blacklist + Only display flashes left in results output when it gets low. + Add a small library for talking with 0bitdo hardware + Add another compile warning and fix up any build failures + Embed fwupd version in generated libfwupd and libdfu + documentation + Update fwupdmgr manpage for new commands and arguments + build: Fix gtk-doc build when srcdir != builddir + online not offline + Get the firmware version correctly from 0Bitdo gamepads + Switch to the Amazon S3 CDN for firmware metadata + Fix writing 8Bitdo device firmware + be updated + Show the vendor flashing instructions when installing + Split out the DFU file formats to separate files + Add fwupd_result_remove_device_flag() + Add FU_DEVICE_FLAG_NEEDS_BOOTLOADER + get-updates output + Allow providers to export percentage completion + Add fwupd_client_get_status() + Handle the 8Bitdo bootloader in a better way + Show a progress notification when installing firmware + Add fwupd_result_get_unique_id() + Use the SHA1 hash of the local file data as the component + origin + Use the correct define prefix for FwupdDeviceFlags + libdfu: Fix hang when parsing corrupt IHEX files + Add a set-target-size command to dfu-tool + Support the 'DEVO' cipher kind in libdfu + Add a set-address command to dfu-util + Disable the Dell specific code by default + Conditionally enable all providers based upon what's installed + Add a summary of providers that are enabled from configure + Do not use the deprecated GNOME_COMPILE_WARNINGS + Ignore devices that do not add at least one GUID + Do not attempt to add DFU devices not in runtime mode + Save the unique ID in the pending database + libdfu: Add initial ELF reading and writing support + Add dfu_firmware_format_from_string() + Normalize the DfuFirmwareFormat enums- Update to version 0.7.2: + Allow devices to have multiple assigned GUIDs + Only return updatable devices from GetDevices() + Add fu_device_get_alternate() + Allow metainfo files to match only specific revisions of + devices + Re-read flags for a device after a provider's unlock routine is + done + Test for a locked device when trying to install firmware update + Enforce allowing providers to take away flash abilities + Support returning multiple GUIDs from GetDetails + Add a GetDetailsLocal() method to eventually replace + GetDetails() + break + libdfu: Add DfuVersion enumerated values + libdfu: Show the DFU protocol version in 'dfu-tool list' + Only claim the DFU interface when required- Update to version 0.7.1: + Fix libdfu CRC check for big endian architectures + Add dfu_image_get_element_default() + Fix libdfu CRC check for big endian architectures + Fix big endian issues when reading and writing DFU and DfuSe + files + Remove non-interactive pinentry setting from fu-keyring + Set the system's DMI product name as the DisplayName for UEFI + Re-order output of get-devices to be easier to read + Make the device display name nicer + update version + Return all update descriptions newer than the installed version + Add summary and name field for Rival SteelSeries + Fix a critical warning when restarting the daemon + Add a 'supported' flag to the FuDevice + Add fwupd_client_connect() + Add a 'monitor' debugging command for fwupdmgr + Add device-added, device-removed and device-changed signals + Match the AppStream metadata after a device has been adedd + Re-match devices when the AppStream metadata is updated + Show 'Unknow Device' in fwupdmgr when a device name is not set + Set the device description when parsing local firmware files + Add support for a new device field "Flashes Left". + src/Makefile.am: reshuffle so enableable bits are only + referenced when on + Add support for a --force flag to override provider warnings- Update to version 0.7.0: + Use g_usb_context_wait_for_replug() + Run vendor plugins as required + Add a plugin for SteelSeries hardware + Add fwupd_device_flag_to_string() + Return the device flags when getting firmware details + Show device flags in 'fwupdmgr get-devices' + Add fwupd_trust_flag_to_string() + Export FwupdUpdateState in libfwupd + Export FwupdUpdateFlags in libfwupd + Add FwupdResult to libfwupd + Add a self test framework for libfwupd + Add FwupdClient to libfwupd + Use FwupdClient from libfwupd in fwupdmgr + Use libfwupd inside the daemon + Emit a FwupdClient::changed when the daemon emits this signal + Rename some of the new libfwupd API to align with the D-Bus + names + libdfu: Fix up some NULL/FALSE confusion + libfwup: Fix up some NULL/FALSE confusion + FwupdClient + Allow other checksum kinds in FwupdResult + Allow SHA-256 hashes when verifying + Show the checksum kind in the fwupdmgr output + Add Alienware to the version quirk table + Do not use /tmp for downloaded files + Add fwupd_result_has_device_flag() + Do not return updates that require AC when on battery + Connect to UPower at startup + Test that GPG key import actually was successful (or didn't + change a key already in the keyring) + Use g_auto() in FuKeyring + Return errors of the correct type when using libfwupd + Allow overridding the location of the pending database for + test suite + Allow overriding the location of the provider offline files for + test suite + Validate that the dbus system bus is available before running + libfwupd tests + Update README.md for changes that have happened in the project + Add some basic explanation of how to use fwupd with various + frontends + Split out the libdfu-devel package + Revert "Allow overridding the location of the pending database + for test suite" + Revert "Allow overriding the location of the provider offline + files for test suite" + Allow the test suite to run in %check + Generate gtk-doc documentation for libfwupd- Update to version 0.6.3: + Require AC power before scheduling some types of firmware + update + Install the hardcoded firmware AppStream file + Correct the BCD version number for DFU 1.1 + Add an unlock method for devices + Add ESRT enable method into UEFI provider. + Only read PCI OptionROM firmware when devices are manually + unlocked + Do not use deprecated API from libappstream-glib + Ignore the DFU runtime on the DW1820A + Export the attribute and quirk values in libdfu + Show ignored DFU devices in dfu-util, but not in fwupd + Allow defining update vfuncs with no runtime support + Revert "Allow defining update vfuncs with no runtime support" + Add a simple plugin infrastructure- Update to version 0.6.2: + Add 'Created' and 'Modified' properties on managed devices + Fix get-results for UEFI provider. + Support vendor-specific UEFI version encodings + Move quirks directly into a single table and file.- Update to version 0.6.1: + Only dump the profiling data when run with --verbose + Always persist ColorHug devices after replug + Do not misdetect different ColorHug devices- Update to version 0.6.0: + Add support for updating USB devices with DFU + libdfu: Add support for DfuSe firmware + libdfu: Generate gtk-doc documentation + libdfu: Don't rely on specific hardware to be present + libdfu: Move the VID:PID checks from the tool to DfuDevice + libdfu: Use a custom error domain + Use the same device identification string format as Microsoft + libdfu: Fix crash when setting a target size + libdfu: Allow setting the alternate settings in DfuSe firmware + libdfu: Add a merge command to dfu-tool + libdfu: Allow choosing a different alt-setting when downloading + libdfu: Fix a crash when setting a NULL image name + libdfu: Correctly implement auto-boot in dfu_device_download() + libdfu: Check for extra args to dfu-tool convert + libdfu: Call the progress callback when doing detach + Ignore the DFU device detach:attach when verifying + libdfu: Require a --force flag to flash wildcard firmware + Use new API available in fwup 0.5 + libdfu: Make the element address 32 bits in size + libdfu: Support the ST-specific bitCanAccelerate + libdfu: Only do a Detach notification if we're actually doing to do it + libdfu: Use the progress bar for all uploads and downloads + libdfu: Improve the output of 'dfu-util list' + libdfu: Support download and upload to ST DfuSe devices + libdfu: Fix multi-interface devices like the Neo Freerunner + libdfu: Add a pkgconfig file + libdfu: Use signals to propagate device state + libdfu: Add a context object to handle device hotplug + libdfu: Add an example showing GObject Introspection + libdfu: Do not ref DfuDevice in DfuTarget so the auto-close + logic works + Close DFU devices as soon as possible after the transfer has completed + Emit the changed signal after doing an update + Rescan the DFU device after replug to get the new version + libdfu: Add dfu_context_get_device_by_platform_id() + libdfu: Add dfu_device_get_runtime_release() + libdfu: Add dfu_device_get_display_name() + libdfu: Fix self tests after recent API change + Split out the DFU provider as a new file + libdfu: Copy the platform ID and invalidate the GUsbDevice when removed + libdfu: Accept multiple spaces after the DfuSe sector name + libdfu: Verify the GUsbDevice is set before using it + libdfu: Remove the weak pointer when destroying the DfuTarget + libdfu: Fix dfu_device_wait_for_replug() so it can work with a DfuContext + Export the AppStream ID when returning device results + Rescan the DFU device after firmware has been updated + libdfu: Handle cancellation with ctrl+c in dfu-tool + libdfu: Add a quirk to support DFU runtime-less devices + libdfu: Add an explicit 'attach' method + libdfu: Add dfu_firmware_get_image_by_name() + libdfu: Make reading and writing to targets easier to + understand + Fix compile with --disable-shared + libdfu: Display all the files shown with 'dfu-tool dump' + libdfu: Fix a few crashers found using afl + libdfu: Fix another bug discovered by the fuzzer + libdfu: Add commands to encrypt and decrypt firmware images + libdfu: Show better device errors + libdfu: Add DfuCipher which is a property on a target and a + firmware file + libdfu: Add support for the draft 'DFU Metadata Table + Specification' + libdfu: Only enumerate the DfuContext when required + libdfu: Fix several reported crashes in the inhex32 import code + Release fwupd 0.6.0- Update to version 0.5.4: + Fix compile error against fwupdate git due to dropped + functions. + Use strerror() when printing errors from libfwupdate + Use new API available in fwup 0.5 + Release fwupd 0.5.4- Update to version 0.5.3: + Avoid seeking when reading the file magic during refresh + Do not assume that the compressed XML data will be NUL + terminated + debugging + Use the correct user agent string for fwupdmgr + Release fwupd 0.5.3- Update to version 0.5.2: + Ensure D-Bus remote errors are registered at fwupdmgr startup + Show the dotted-decimal representation of the UEFI version + number + require appstream-glib 0.5.1 + not found + When the version is from the 'FW' extension do not cache the + device + Support cabinet archives files with more than one firmware + Add the update description to the GetDetails results + Add profiling data to debug slow startup times + Fix verify-update to produce components with the correct + provide values + Clear the in-memory firmware store only after parsing a valid + XML file + Release fwupd 0.5.2- Update to version 0.5.1: + Fix the error message when no devices can be updated + offline update: Use glib api for for reading symlinks + Release fwupd 0.5.1- Update to version 0.5.0: + Do not merge the existing firmware metadata with the submitted + files + Raise the dep on GLib to support and use g_autoptr() + Do not reboot if racing with the PackageKit offline update + mechanism + Release fwupd 0.5.0- Update to version 0.1.6: + Install fwupd and fwsignd into /usr/lib/$(triplet)/fwupd + instead. + Use the new secure metadata URI + Update the offline update service to invoke right command + Don't apply firmware if something else is processing the + offline update + Remove fwsignd, we have the LVFS now + Depend on appstream-glib >= 0.5.0 + Add application metadata when getting the updates list + Simplify the version properties on devices to avoid complexity + and bugs + Release fwupd 0.1.6- Update to version 0.1.5: + Allow fwupd to be autostarted by systemd + Sign the test binary with the correct key + Do not pre-convert the update description from AppStream XML + Devices with option ROM are always internal + Prefer the GUID from the firmware than the device + Allow no arguments to 'fwupdmgr verify-update' and use sane + defaults + Add the ability to remove a vendor on the LVFS site + Fix validation of written firmware + Move the verification and metadata matching phase to the daemon + Add a simple config file to store the correct LVFS download URI + Make parsing the option ROM runtime optional + Add a Raspberry Pi firmware provider + Use the AppStream 0.9 firmware specification by default + Generate the ColorHug test files at runtime + Release fwupd 0.1.5- Update to version 0.1.4: + man/Makefile.am: Add --sgml to docbook2man invocation + Make statements about storing private keys stronger. + Provide a way for clients to add new firmware metadata to the + system cache + Fix fwupd-offline-update.service + Revert "man/Makefile.am: Add --sgml to docbook2man invocation" + Add a Udev firmware provider + Extract the version string from the ROM in PCI devices + Add a 'verify' command that verifies the cryptographic hash of + device firmware + Make the ROM parsing more robust and add self tests + Get the version number out from Intel VBIOS too + Provide a way to dump the option ROM using the command line + build: gusb is required even without colorhug + remove unused variables + Do not return NULL as a gboolean + Fix Intel VBIOS detection on Dell hardware + Do not use the subsystem information when constructing the fake + GUID + Actually parse the PCI option ROM + Accept multiple files at one time when using fwupdmgr dump-rom + verify run + Add a 'verify-update' command to fwupdmgr + Fix trivial bug when parsing firmware versions + Keep hitting the hardware until it gives us enough ROM + Make the version parsing more resilient to corrupt firmware + Fix the example .inf file to reflect reality + Fix ROM PPID searching to work for all ROMs + Move the LVFS website to the fwupd project + Add the ability to create detached signatures + Allow cab files to be saved + Add a simple signing server that operates on .cab files + Automatically download metadata using fwupdmgr if required + Don't call efibootmgr after fwupdate. + Associate the contact email address directly with the vendor + key + Use the actual LVFS GPG key + Allow running fwsignd as the non-root user + metadata + Do not merge existing LVFS metadata + Do not use the file hash when storing the LVFS submitted + firmwares + Move GetUpdates to the daemon + Change the DBus method for installing firmware to 'Install' + Allow installing an offline UEFI update without --offline + Add a 'fwupdmgr update' command to update all devices to latest + versions + 'update' command + Increase the size limit of firmware to 50Mb + Only sign files when the entire file has been copied + Fallback to offline install when calling the update argument. + Reload appstream data after refreshing. + Release fwupd 0.1.4- Update to version 0.1.3: + Coldplug the devices before acquiring the well known name + Add an UNKNOWN status so we can return meaningful enum values + Run the offline actions using systemd when required + Get the firmware version from the device descriptors + Added syntax highlighting + More markup + Support OpenHardware devices using the fwupd vendor extensions + Move boolean properties on the device to a set of flags + Release fwupd 0.1.3- Update to version 0.1.2: + More markup + Fixed typos and markup for executable + Add slovak translation + Add helper code to validate public key signatures + Decompress any firmware signatures in the .cab file + Verify firmware if a detached signature is present + Show the firmware trust status when doing GetDetails() + Only allow signed firmware to be upgraded without a password + Add some guidelines for vendors to README + Small grammar fix + Extract the .cat file alongside the firmware + Release fwupd 0.1.2- Update to version fwupd_0_1_1: + Do not crash when there are no devices to return + Add a 'get-updates' command to fwupdmgr + Add and document the offline-update lifecycle + Create runtime directories if they do not exist + Create a libfwupd shared library + Export the status as an enumerated value rather than a string + Release fwupd 0.1.1- Initial package.ibs-arm-3 1651995037  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.7.3-150400.3.3.191.7.3-150400.3.3.191.7.31.7.3 fwupd-1fwupd.hfwupdplugin.hlibfwupdfwupd-client-sync.hfwupd-client.hfwupd-common.hfwupd-deprecated.hfwupd-device.hfwupd-enums.hfwupd-error.hfwupd-plugin.hfwupd-release.hfwupd-remote.hfwupd-request.hfwupd-security-attr.hfwupd-version.hlibfwupdpluginfu-archive-firmware.hfu-archive.hfu-backend.hfu-bluez-device.hfu-cabinet.hfu-cfi-device.hfu-cfu-common.hfu-cfu-offer.hfu-cfu-payload.hfu-chunk.hfu-common-cab.hfu-common-guid.hfu-common-version.hfu-common.hfu-context.hfu-deprecated.hfu-device-locker.hfu-device-metadata.hfu-device.hfu-dfu-firmware.hfu-dfuse-firmware.hfu-efi-common.hfu-efi-firmware-file.hfu-efi-firmware-filesystem.hfu-efi-firmware-section.hfu-efi-firmware-volume.hfu-efi-signature-list.hfu-efi-signature.hfu-efivar.hfu-firmware-common.hfu-firmware.hfu-fmap-firmware.hfu-hid-device.hfu-hwids.hfu-i2c-device.hfu-ifd-bios.hfu-ifd-common.hfu-ifd-firmware.hfu-ifd-image.hfu-ihex-firmware.hfu-io-channel.hfu-plugin-vfuncs.hfu-plugin.hfu-progress.hfu-quirks.hfu-security-attrs.hfu-smbios.hfu-srec-firmware.hfu-udev-device.hfu-usb-device.hfu-volume.hlibfwupd.solibfwupdplugin.sofwupd.pcfwupdplugin.pcFwupd-2.0.girFwupdPlugin-1.0.girfwupdannotation-glossary.htmlapi-index-full.htmlfwupd-FuCfuOffer.htmlfwupd-FuCfuPayload.htmlfwupd-FuContext.htmlfwupd-FuDevice.htmlfwupd-FuDfuFirmware.htmlfwupd-FuFirmware.htmlfwupd-FuIhexFirmware.htmlfwupd-FuPlugin.htmlfwupd-FuProgress.htmlfwupd-FuSrecFirmware.htmlfwupd-FuUdevDevice.htmlfwupd-FuUsbDevice.htmlfwupd-FwupdClient.htmlfwupd-FwupdDevice.htmlfwupd-FwupdPlugin.htmlfwupd-FwupdRelease.htmlfwupd-FwupdRemote.htmlfwupd-fu-archive.htmlfwupd-fu-chunk.htmlfwupd-fu-common-cab.htmlfwupd-fu-common-guid.htmlfwupd-fu-common-version.htmlfwupd-fu-common.htmlfwupd-fu-device-locker.htmlfwupd-fu-device-metadata.htmlfwupd-fu-efi-signature-list.htmlfwupd-fu-efi-signature.htmlfwupd-fu-firmware-common.htmlfwupd-fu-hwids.htmlfwupd-fu-io-channel.htmlfwupd-fu-mutex.htmlfwupd-fu-plugin-vfuncs.htmlfwupd-fu-quirks.htmlfwupd-fu-smbios.htmlfwupd-fwupd-client-sync.htmlfwupd-fwupd-enums.htmlfwupd-fwupd-error.htmlfwupd-fwupd-version.htmlfwupd.devhelp2home.pngindex.htmlintro.htmlleft-insensitive.pngleft.pnglibfwupd.htmlplugin-reference.htmlright-insensitive.pngright.pngstyle.cssup-insensitive.pngup.pngfwupd.depsfwupd.vapi/usr/include//usr/include/fwupd-1//usr/include/fwupd-1/libfwupd//usr/include/fwupd-1/libfwupdplugin//usr/lib64//usr/lib64/pkgconfig//usr/share/gir-1.0//usr/share/gtk-doc/html//usr/share/gtk-doc/html/fwupd//usr/share/vala/vapi/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:23263/SUSE_SLE-15-SP4_Update/750aa8ed3b8c572d33f16bee8c502649-fwupd.SUSE_SLE-15-SP4_Updatecpioxz5aarch64-suse-linux directoryC source, ASCII textC source, UTF-8 Unicode textpkgconfig fileXML 1.0 document, ASCII textXML 1.0 document, UTF-8 Unicode textHTML document, UTF-8 Unicode textHTML document, UTF-8 Unicode text, with very long linesPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedHTML document, ASCII textassembler source, ASCII textASCII textC++ source, ASCII textPRR R R RRRPR RRR R RRRRRRRR vSs}C8W#utf-84b9183e49a4b89ee1cd48754b446c66a83704746e19a6a50ac4bf36df867a1a2? 7zXZ !t/I] crt:bLL 'N| v6^-,5 TPhҐ{,jP:?dbČiR![Ui*PC|CB IbޅN-&Ԅ:n0P,2TPIkS&%uA\f:!2>u=z@bƧMQs s̭J {)CT }w_5Rc0=p$ciXѼ#١Un Ub 1Egӏ)($ute=9k@O??&->y)PN5Y7 ާg(\pnM鋧cc^{~O w Qc2~)#)1b|mrH '-qVpH:L;RO(0 3llqP7f lGzX dV٪!Q <3"Ky^kYG7O'jv&gxQ'0ݵ: 2_Ex\Bk *-iF.P{CXNHKϻRT=oY ֭k}/)$?_ʔKmb"'Q5=c^sh(uq+cTerKZ KK59޷p)-O8<ɇG1XdaJ[1XYrd ?2c!>LV䌲P ~g?E;;NMV$냎'`bP{qa8+l~`B,i*ӕ\ JܝtSK'~) ht^{dIJ.F(IZ}8b1닮"X=5Vy{C;6 KȑbX~lBNYۘz.}9*<8?Zcy=PY݆AF ED&/}p6*`9G\pq[N]GF܇쮏x?8]LcZɂ0;UЬ# bcGjh ,S Juഌ Se;~c f9 C,%`>*: \Q~O (*vy42zvoZw+,N iKB^$)!zYI C ΋}*"DŽ9xk3 (?#ҕD``ucڰWp-K( -P5Su`WIS/ $˯.#{ۑ[ܶiu~tPmrk"^ݳ B%\<%CGL`J53~bͳ$9hpѴES&<:<<7 %nASƟ:dMNəPR75/?yX- vaݺv%M!]0Lw!8x9̸XF[ 5YT󚟣ݯ~!c|X><)"rDR0Й 5{Kg]MoxV2*M`9[ݖLĊV^ehew\Q]ԿBc'3x$4XqG0QY-Fl.sIT~ltEM 6%6;L!̥X Ĝ+`O@$>.?7$R4 +҃lQAyجL W}CV;201YmYȃy=vC`2ۀF/sel+Zþ A0Bh٩`*kWBa_ e=1 7:}0\hHJ{&b0~^m0vA8,юS!9tS?`f)-&G-3NYlAC?:CBxA$b潚-K/4?rđկWٽaJe73@M+Q}R_űif ճoY`"2cB`Hxژ0i ' K>"n @QY8 7"ƐW* вR~ 7+)ۏL_#IR .&j:Ģqz?K%ő&C?Xm^2=|eo41Bg>VB!ڪfdeH)^TZ夓A7N2)XX#u%._VuefQmd_mM*wR3|HCe=êyF1$,6O?(~nb\!v| A ]ʢ `랄}̢IERxN ]3 F;a'oE5L!]R7Kǩ WzS/tOO~AwX9 6F kS̍(s*KXgjbMV˙[L3s 7JC 0C}N*@uN,VJ|s(`v,.ࠕr$O +|),ɕJ\/<Ņ7[,S39یZwH&v\j L+vjyBL٠3F`it}-R;Mr$%s[x8Xy6yOuIjCĘScgX <7LMƟ}jQ#n(o2YStp`K.vteO 01oPgo=˩Į}YƤ7a]I@o-*K%@arzfa~qpv%q7Tb#J`-BMZiq̴fМ7BH^N(#ݟ@w>MCc2e,9dܔ1ul`4;s^PyKPۉ \ռIg< k[Cř]S0lB~e>OfV'._7hHȏs9l̟jea91ȿ+l6)E=Ĺy;7 tG;օ&IYlC&i=a5j0l4SY>y`,/ w^bqϔE,5SdXJw&_{촾RvAKL܆$H:&`w`imMyL1y^F_o7z+J(u)b; @f8L6;d?Dq[NOT: }ݘU .t>+}$GW1j5Ľ8%TH{" ⦝;!:ϟJpY~*%|޶&5p/y"GֶmYsR `rٮC3ݏ{5$[KݲI'z=ט K6|a-09gܦSBV1BI8 }kSr TWl!ЅF!9FHs#2Fv렵E`C@Kl?ڙsveb?/6~ТjVՏUPd2ED,SiUl.5>k!4}p'vhత=$jhh֡Kpxk+n·,['i[<ִxo4z1\woG0˩0cՅy[(&2  0gE1B/J'Ҏk.>R󓡹ދ~/k[-a7F9no 3v|,fخnlskJjmA=Y3_ i-c񏑩SzWJCq?,?3k҉d)#6u]#Cs)о{+Fk`e*f+L&E g,4:_ؔk T,9/ҽ5uz0yGK!S,Y7 n-h=du pD)mnHq͓fh*nrڼey胲tF殺>W#.Lr˕3MDQs do%Oᩍ^QgT&PX{]._ukV1f? 2,ưVlϐ*4 6/=H4tB~$ui^|K(b "Er .hap4)nB&ҚOBT/9: iAN)K~d3fLAs2KE{J슧lLac)@j^ k%oNן=Bڢ"YjIӡ`Ɉ>u:7deI2 De'tT GW&%wфl drܷ=}&yP_4i"zH~~"|VA Luc}eVԡG~hڲ2P]{$X5OUsз~1O֑BEt1<"㵠 IWlthGbKdKҦI5f_tAwv$<g9$ z?A@veN2KM<’|_r=(V2o\ k߂iSNk{sIzEfQWxJ~m 9: Y38|CG{Ql ?O! ⟳=G]u⎩P9 =t]hOဃzöp;ٸCm)/_dU<( c+Pf5 #ꉾO%2TPoPh%-ߥ G sz HKF;圮w~<؀h*„9B#ڃ9Cj(vHR~ Lֳj)ItC^x1% +(SWU ;HH '/"؛m!q4oU ^ɃEyaE{8{@tx`'J,#ɮ R9ʼn&iC?_Rn*a6㸕~puV}.LtL^! 46? EQHN2wQ&3"x>Z"xheB-{r\411ݤaPD:23 <2gZ4Xr(Ң~iU$K5@W7 +?II֜pkq x5=ǹݶʏ/[s蹌OarRUԸrdDn|sMl*[@yKo|еmf :@r wʇ8D7702覆`a>cr' ]-}Yޞ8c,4Cſ~a@@h\ח1U|mT~s3ز) XTD)-n@QtZV~+G38o WoJV;[:lϸ .Al%0s6B"&<O9HԀIf3T$8SҎ7h{%}3;&WOS[YЍS.I,ߊJhy<Q!`⣊@mf *w\"y,Ș!F \4SЍTW<-`*/~XhYCs;Ր4S'@9D=xɡ܆ %1'|y;h(IEя+ e wty̤1{7j39}y6GB:UZ8vwd[-BPǷ~mv^i"9;$hmq "UriiLA?S+Gr3 "H&B11~1@\H)yS5N(Ӑ+ Ѱ<]oO?:e6 fIz.-0ӱ49}y9ϻZ%%-,uB9:@: T5~N&pLz~5()&4̓u$#&7;pr Y}|j` K[Ёdt^&%*8o9\ W %^19i+]q~h/yGudpc0s هG_2CVg+8;|lkrT QnQl0}Ga^ХTaiw+?7|0d,=F γ^9C0 aJ Xv]z(M"a+{78+h=%C39P게TDnzCRm-!^w!x(/u%Vȁ=b]Y}3eIO4Lb3"kLr:)LAWa]d҅yT-``3h%V)ӷRo}XӹoY(S"L^GSt#\tOp:|1xOn%\l(C"e@IoVqG3/C+Dv/E.߾Ғ>w◱,r3Q;CIg*9܂% iEͳYŠjfpoi{BEr)^|PӜ8Qynʀ4$J2*h\sD&7ADu`-@kHUb9YFg[B6p.]$aNqB ;:P^z˦}[oS1e]6q- UJbcb&VL{)akwR$b`)):R~P ]LoPC[e_G]Ve̬vsvU Hȭ7XQ[pTM`}#LS>or !U_]L ҙp huy=wcAOG*=?˞o)+cG,xD G&q)F.: fF&’5"rjy+ܹzgd֕L_ IDIawrx3gGѴrW5-l*'r%bB`Wt F CJ&C_sݫ9'#*\ʟqm9]>¹spRlYx' M74¢kXۧƆF`wrU+Ĉۓ=1`DyZq~]e {"v[)iVƞCRzB ;XUϨuXSo2aIﷶO lzUQE}A)N<!!yJ`x*!ڳMx[s*?u/OZ'Ht{#+ wd} dΕ**jlzh˄]0#tAؔ;bR=+~9BP0}4یMV>Kt1ZT_o0mN%q&_7 ӴJ8!aNQ1L IkT.+BL9bV`SdT~U Y'.. ;'<jnqߋFþǯݭ؇Xѷ^Yj؛լq ;v|.Y_Pq{3sCsq֩&3юޱ*i-u.T Ŷ ;ro Mw$m?tE$0ҧIvL@\3tAbR~FmPOiJ#/Z[8mE%)H#PgMtۺ3xپxƧ2;m řPI4o &sZ!Դ AR^= 2BQe N-<`[c8 1~+hN +"d1m/1}gs>Z4S* 7S+z/T,kA[܄ z,>;~ɋkW]exA*+# `PdoBvro 8w9nB2 6|M /9[m09sdWUiް хq%T/E*Wzbہ,ڪ G o ͂}}3^xcqyņ=V\4.+7Sg5L&*_(̍b Z` ~ĆQL0f^{f'[<ӂ$r hT3ǎ;99l M\wy-ݛ=ryQkX?@/lIRb-e'6C'^ W<0?lhG?4wY&l~-WmV 6AhlO:I!ki):pDu c]%؊G|ai7zib3Q <]Ky9IZf -ɇgQT &98֋V')}c +is}r cC@ɀ8QRRme2g:V4kS t.zOd[^h`[_{S$oH )}Y?#ߑ7NhE:XDah+Yv#Jd ֟Һӓ+r/mdeh1 XNPn[囒s$eaT7I]t'Qe`<6fy!EFLc>*څpHf˲Lt0~6tCTb7FǑ(U:( vG<yâ_]bHsgR60/v/3T^xpjq 2ڣ l\ JN*A7VȞX+"Syt64o4ޜ/y=e#!<}3ڟZ7a1(wjtIjS~4: `;軅!Dlr T&]K> \˽:z N6h]6*2,`fs8&Yga!G5qNӼO-vaDD~[IGbJl &trq ؜l fu=?GPy~$> h}T7 ` 1}R}(sqRYd(@4π*|d#ԷbXG56NljOʫeQLUIBa|cu9^Q5JiB "܊H}T1.5ݒ]6qc` -@x 7]o&.,L!,nF0A ߍ?*H!<+.CFo &w{+yU2e%I\v2V#oҢnn6:ϒf&ehx@gc5 .d{),]c3KԛᑜL^^Ը,nا˯ ` ?8rჿ9Gr*$Ns]zl. #1CGdkB7ƻOh@X}bg &haAcw.gnGS,$3XeJx58kl~R!޷)3K# _/`D;鏃?$}Eҩnd'Y&".vT[Cqm^*rA]m10 'zH,^P[lp+&OhbH=,AQoWHsai8FKe[1)z?l;KO3|;`?b ȶEWPƙ~wܑm"(bV$8BsH8K68,ʼne6r&0(:>]ܳW^c: }|daUR:XiiWo91i܀_ٍIX:! "4BLQB[8>h,PǣTi3ewT:QLe^ ht{yV%}-TN7 ;;BZsD LR&Z7]ȶǫ $xq974iT@.1l.'0TA,G5\G?'L{7ɠ}4al籯e^t|T16$ hȔGx][NcT,Zi5Z]b4*j3I줡 FmS)&-wÐNF4B+Qlޛ8m)LKqZij-9f5T=qRM!dzSbBzm) 0'zjq-vs[ޅJsC x}]Aw_/CgZk] q9$"b|c }߅sOId=>p0F5I OH6:S$xZP.uO#GW+k~ &;bzbmJ?9v: YFaآ}Z0ͅGø^hC:pvxkAG8'\uYR<D|›LIc:*A4:@n/=s/ ]32|޻Lp;ӆZu!a';oe0n6. jS`(_o*K䮲Eχ 9N6v@b$<@#.( Hf/f)5!,)FàxJqo884!1lǰWoGvc?ϧ (_raͅMd |e&`p(Kxyd"Pz$frv/`׾wK+Y @ \K,Kpq2B>(Q,Y/v|S!ČU)bt^ "-u-.<śCE A6\@;>V3Z _PVQϹ'&o2=P'/$=c. lJz"׺Ru%Π=Y3<|삩Y8Ys"45ɝLaUA9"Q!;h`UM |w6Elg MgS$jjpMPK4bO9uXH &]h4)';EGcm(oc$kEϚ?|\ )vARbe]3*۱pǿʺ8Uki&b]ja3''tv9:AmRGz .6YyJ!7S%p[M-q!R˒=: dtݡ5I8lN/ od}Ɓl <\+;5>IsCս25Ĭ+ŷXXܳ#ӈ,Fbs2֎SvyYI, F~\lG:p ~dm@U3C8^M(64(AriA%} {c+'ADp/_;2(]_M CqP% so6FZqˆVQL$^p(qSG[?RZPA+f631P L.wAҘEVzuaw@G;OJޚϾq2Е43/b3/k$.;nCN0U %bbL:IuNzH=Ŀ*7[XU+QǤ;o]|{&FJȠpN8L݃̉ڶU+&mV:8ow 5?ϵTF8:y)8CgcP\L3َ\/4Eq Rc(zfM iBxo|T#KyE:| tdz5ҷ3[9'7-65qW6/TgQ]USߊQ 32p+I ^Ѐ|F1a.G$RRc=4F,z:IgA#@lR@iH bT%H)3qcQќdBX!\Ьm1jH?y[Ǎ0>mrEO5oi}:'<]K4[`XZn$=N]a,c~tijy|# `i򊱏\m2&{e4WM]Nj@mȷ|P S_Ҏ[)6Z~[4Nl-N< 9@M̊~Hr6\G#:ě$my2 x#UJIDX4*fhxbC1q#ZKx Vd}3&̿GQY]ȶv"oCt,qS͋'1,ae[36B|,xh*,vthJCA״M# uSWr{f"Ӥ .T,.i.9zSLüt9eY!=>9jSMu>-Ѳs6d$yן4R=B&< *PY ~7.RB[L9«*;K'wS78O$wBwFmC(vI:_WP?uYX$~Dji k  XT9%aOJi ñ!Wr4xHXJLhmq[o Jf86`mh=,h:β8d#oQ> \ooB%d|.av!L{p?k2]!N 5w:~GI#C3t֢2rgUx<<6m$'^e+Qc!c\-_y.uJG]7 p󃧁/u&<>l0^+#6^8kB)6&Q>9 0xEW~^5YgVZ%ܚ&Е#]2<5+= B9V'ߧ•t3DڡQ-)(*DPh"&{͚7ȃ7Lzڛ2HX,4|Z6%om2$ְ៟g_>A-SyvT]S ooDeEJ*y\z|'Y`e0\RmT(F:Xtܤb7CG-kRA8!g$ڂMQGJ&z.h%G!,f7jb?8`n)5`7:8/ai"G?GUM;6 W8đ |^(n֏p 4-h̯PcÝ{o^gmq#vq8ڦ6Ix!p;$5+8X|] 0S9#Iu81plcgmʟGoQLg)&ĬYP`dJR:&+U&,)e-2_MsxZ橂(FuZ9xtKy)Fm8w嶺p]o^h}~7=F<Щ_849p$ݽK!6x b7*cǽKEAK/9ۘah wx9WV5CDCpq21K_*K6 b+˦ s!S7A ռԘq-kE]f*-|)gP! *$z P0?ZxtY=Y"O]9S*75ɒUͯj_Pc&ZQ=+sBrLz/HK^Z0O!~[lkO3y)Z99{ Nlզ-͑NvX'~?adGs wTI!u0ҁ8%uw4"5ɇ ic闿EK.h4e#tC88y͟1;]6@ p_6my77=i1L#36꠳5ԚHhabLJ"cE%Oإ9-ZҚxifz×}G~Ymr#C2O_=F}]DҦ5N5%춤 Tv ZgQSEAVV-*~Y$ꢘ5y0’8QڬlƹivcQv]]m ~*}*fq( -i|rJR7FH@Z&zÄf,Z8*B<\&Z!kXxJ8ovmN0N',dubGH3ZvN(+|4aÖP)e~h; ndR̩R6w6^m MU"_#J37Xdv`:7atϬS2ߴo~Dҕ!ZZi~b D" ~uL'MQ9fčs"赠0NRU:b -˼b;6sjqZ&T;j$Ӆ4 1Y/ A.V 迕`A%(+, \(_C:mzuJZ1&^-]jyI8unP?ifۙ=omGX-%1P6A\mڤvؚ~Q"T ȇ*  ء+I\G 2tr7>P QfDQɣ,N/m잂v;UeOcl3Dh;dh.FP:X)rPI=uNre%ؠGb4c2k(ȆDBOPc>"Tn 0y"31kiU;ÑC2% (?> =)w&m͞#崤oGJ 96Ci]pfK*6еxv8kgC5uTR'CՍ$xM_ށFFi9Gk{}_YT~H_}W8_kT3v} gh$䛯q]1g* VF~|[fY_8pntjn~?CRmQhČ +ö+(aK>rЌeq5 O>p[A%)/Ѵ6^} A̾T}GF9Nҧ&LLHSy!=JZ L'xA5I&kop2zo" q|`l7u7EȪsq6%8>=OE:BMJh͝Ndy!>lql{cI5joJM;4bP{BYq~L:zq^B)Hg#gLB?q-K/уx1tVu8i/=T,BǖLׂH7*Gr"QګmpZ0OߺW}nP;2LYܺ%=h Aرn1䮺ғS7F54Z^uif\I"7L8Z Z97\ ~L)%tL`؃>v;N4dDsby_\ + &l7!!滉;VGT;yC8A' Rh7A8vmW:ӲƮ=FnJ_M`3AB0&F\99+P=!a]dGd`:&-:ҺĀǹHH'gA4 ٲtvw+w!0׼x[dmۊ3{NnZ02vduvh;=W&Њk*Q'A~B,V7rA_s˓UXhUҨU1D7لH0M'BR#w m)Ny;'V9h75D`|h*fXT0LU; CDO_yf4Y%s~ g䌤'3:$K mmNR>s~qLVb7vQ?`J #h桼K9\ >Xr5"ϡs§I=3ɸů~b@ vߊU21B^ۮycd :]`}: ~>~nһtjt8?|KìGZ7.Q9 D!ȦN<&pAU(*v Cy٨ߌ2n0 ?4 nvyqkӮn) 'qu {ݾ(B u wRWzԦ\1Hm12TJO(V3'kx$%yWZf~`;F*v@(_JTnN&, j[T{q3qJN(.Wcc΄^g*{ _5qpI )\~G@`KӁzH7|13+s|yv6bI.S@ǹCj1{)U~Phgܧ 7M)k}boejk 5 ƼjciV_}Wp-\]ZXuLbEl >WZt/̈́sP.02;@RU+sG`i~+E-+b x"F[$C9Xhgc2 |@[ a$PE-Vq=Bg!lH}c8xbuR5#$rEp rr}^~][5'T]__ ߎaJؖw\MIC3 6 `O^s63>4*`=v1m˘~B,*mN4 zG5!3`?{)&B0@}Hz;EKĤ ! 4fiTr\o㕲cJim,hd4\G& bQWH = DLM!m6UGy*Sey7 Ӝ 8]ҍ#ֺ2Gg-9'[K^< jl -^~$~V<2ÜI=0K**;1$ּ潚8? ]%dwn{L[Jq6 P)!t\ TaEwIX'#Kj :q4its톞 Ԅo}dIEJ?m;|%kv.'FI2sL v 3~.Ф%@؛[SwK1y1]7EdȗͣP^V.Kl+TWRÑRM{zqEbUz_\# `h |T?-e{.+FBt q/ʑ.ȓ5IߝGI}">[~BiV H ͙QVWRh4Sviu.?;VJ|J e7]qA\qU[?Cshҏ°fۦw( t:ԘOCP8D)%$]_ł*^aFt8yJl9K\>b_ t`%j4MH꫷.W0%poup7OKؤVhdWۈWOk]1ehx 1=hrɫ~)vnz?ЙĚ'dl@2 ^g QO V#//8'A$xo~ݒV/Ʒ@nJh#~HqǨBY8.VKOe3k [ؤ!FNHWK:7hҡ-8`tob ~_c75Ey}CGd c1s}iTdY{>P9TЉvTlʀ~d_C(*?2j׀/~WQDeΒKR!Q&`3dE[0Z˂D8;cZ-I'j! Un9m!dGbimO<=.E4[;FH^s"bo6JOp7*r5e\Ii4#}/,ܳ]`T$H3E*X3f,NiD\gOK. wԓk\X,֣\PrhXasA_<3A?dy+֗@ vEu^,+:?TZp}{ǿ&V9i/?tyTHt⯐exw=gmx32>R'|cf Bt@S 7l)ۜPO2ŒI9 ')T8RM a>q\'⤐1Yhº܋ g,b%=m~('+FX!%_cD5B#liO"0ߟ`nq8EWjz_Z5]!jя10rLSH?޸T1%bm4v:8JC¾_N+G}ǜX\gjF=+5 mD#A}!w+gQd;UKExqF |?3y|QMOHܰuK_Tf_8S]c ͻT%:'3b| /۳l#/ku{34Z?z^Pj|aVN$Hn+aߊ9;ƐYS+t}#ЧtG.7'ڠ4kA0Fy׀z9͐uASK=|qNf;Cszet[Ϣ@P  _~m,3G PÎh"}ȆpPkw- /ʩ0sZy`%s"@9Fit9X@(TtLb6UdqFʇ71l%)Η{Wfʷ2(K57@D9)y!LڃVNp|5-ɢ1.ۈ?o"6/Uνd-UGOtꁩܷz)ή)?ab[7C\0;xNUACqOdgm{nD82y,_^˖+"cnX6IPV\Mf;Y@~PyQ'聅&ز6~ar1rߛ ?&P4wxgBJF3P*e-96JJQgdGX3-p}rΞQAsN}-9fim-QcYb<*3*S 9Ȏϯt굦xE<hx͆.p4 bU⼊qȳ4IVb$p3SjqPiㆌ{w߫xqJjf,Q DǸ lAw,1a]PPŽѷhn#d2vmMD9Dr(l1%qw%\LMEޖ{ęC,nHp3\Eũ=ǩ6F| ?@(!_+v&5gK2s+z;g_M-rh*7PϠ?-<:6&HF BNvŁ8 n/A-Y>/%: Ydή2!4OV^π^. FD]:w#cщBJXo1]#\Z6nhOw*cJlɍKדTY ar}K*N8lX=+l&`+NgӍ`3[lcԼ\H: T11 (O=`)JbDib &P6K™K8 NR31I``2(:agkO>D`JZVB9>lM#ћfyεj1z ܗk`);/XCGGwF8Bb -ϵ"9esm8`\[1~~H?6?\׋Ak Mt\ᨛ>N "GY*˷d*&*Rp觼J㼠8dHYcEV?W[% / /'3MHѧ͕5fFnƶNއȦ[]гUv:BqB+݀[p*'yqVByV:DVJ辵=+X8!wOkF{< $J-f՝rRkѳPN&94bUrYB<҂:Ӫ5,CCҠR@4D*' 8ǥ= rI c=ߌ< NF.]n Zj*i:ImUqK+T,R@/)$FĊefXO5xbu9$H(ʢ"t%}MvR@9,Mɿ $]DASP&Y/޷lkYNt#=,USwY=,B7Ln7SwU䁿`7G!FR LíkbKȝV-9OU%bdwwl=Je7fl/i@`TG[n g hsA&yD08(%QW='RTjRڍ8- !`xwR xHM8m6ᐙ+/Z񠤗Gh$.gZZ G(j/6fv:mo6pԽUi1))o+90j2lIg:B u&G#i=^MfПUQwiN׮],Ju͟7|M_$ yJ} Qڧu}^UU.*w43 wm϶*~,˙<5?e~36[l@DL6cH ^~ofgrDcuֱ0|w&oR8X%.e] }7n^T9c Lpzf򧶲'JaI2n3H3牖)(8&2#aH\neuxf½+>;A {SvU8fXYk"++AƱ;%J|06fyWtld0u.Rn rVϩxN;gYMj*:$E_kiâ<4+! "eBR(N `7s|)ge@9<-ry06]xyUu2 [ں-ȧm"Ыc쩫 \d- 5ظ6ɲ y߼yΣp8|=QIJt$Q6'̥ 6}r)@^,Ѵg-}m9<Cy VK%nXC"&ڤE`d0,`fq9`9ջ&s6p31 v/ISmobr$C׈% d쒟wrH.%Sk9*M "\:~gk;K8>bwM_mIS#J$Ҝ8T5eS5)׽2 49JvrF]ÖEmI_6x6^m^vAp zO^?;6r][I gʔdl|\&@UxmAGZ[wI\f0(5W#)$)Gw2'KD3vFP{G9 +m=0LxSǡBָ B-P7jScٚ Bԥ*qTE*X9yƯGOw+>(AX1h8.4Qwu_ՊWT%"70$ H |), "gc`ujIﯛ 9enp3$Bݯ|:Qġ0}"qf`ƶ^-RŽXDӈz3k%Ϗ:oKH6p~SY{gIUqUJo"Xoo3k6,}O&wcqr9;!1S7-I52#ƌշ.5m9H0agexoюo1V&VOܾ>]|ɮPFtx$MgڐVqY"SYS+v;[:OD''m!R[SÙR܄@tV.k*%]\=P5C7E.J ac?'9_O]%LSV&5!J]* [N.d<䣟WMku͔=cM$ LtïLܸ.E}1ôK,RSyi$!ޠZW3Jeh cEwHF(51T3UZ,Iھ) \/Ab21nwM/' 1Vf?KQhE*[yΧ}T:t8{N{∳\E߾#*ʀK$[UUYRٝ:=<+7;[*omc TV\0VÖDEyU>@PTif'1zmh >U#ůfř AEW~f]l2Y3g_XR}*pFdKS (}19}-&|JdvN(ꍼL;x/mN`GqݱmDy)C\M&n1c,LLB8.<Ŧ|O:`ɧ2xC7v K"hLAvUE7||v`[DXdҕ}*-};u&ˋwx}_Sϔfsq) A-eXKUt+#TC3"NKl4o=?GY^rXd,HO=̣e[٫Ku;VG/WLuh|RlxH<uBT59»$f}`b-pn?>z}x63i;oczD!dT;/Bݨ!L~9$lZlJ DD@tL3=OW%s.ZxDTg2P V*iy;PG1؅_"xU;%цJs/6(@B}VCf*!_F qB^BS _}cm6㍌"ͮsej.MNsh1|*zK-F̐vX9TGfmx58KπhAuc^;=An[&([ AayE,| U{S|hR0O){S4 /:dђIkdȝx7~hBV8e/@RAW? mi~|@=_\A<>:pn=ıQ<_Ec-qF [MX%e+<+x.Q^HJB"Nn0riĶ0./'|ꐳJ32ZPȐ! >;c Pg_̱`etۻnpĴLti=[ PfDɐ>Z\Jifgk jҘli+Jb6F&k;UF+$^`h \sƪ;+,8 c5YT0iȈx)U瀍EX9GqX%oaǖc/`1+9X09rO6T5؜2ipo"y^]=T9PC U$OmGyni_< qVR;>j[Wz2K(B!|cesfRxSjlWT/|F {')*t݄\? cTM7Dp4 o`9vqjRh2` /Ξc5|,-Dn*PU)wUVS˱ڻ C{\=(*D./$;m'U *m 'dh3ᒬNjB%N$@ ?ExZͩ6~F<]a፫W)3"VJDiz$,0>H{TF ,ٵ=WBbI@'̶|OwX6ٌ:]ɽ[ߡFY7%mG, Fh:.PWgcqJmɤVen~fy`S![ 52xV/K֛ Ǡ%^pfJ"U.FZUGf6uoHX$`fX/zM-%*m9gSöڇd>y;1jj7IUr$rr"n^`)1u rl(_'{;h .06Ƃylqs6YH1q_erЍëuf[VeDi=Ud* w[v-Xع*K$L0X4e(hͳe?*!IxL8]zׄXdgN.h6пI{0ԟ?e:l8A]@e]a8F3DCkzxxb B!T~bvVKx!hajba)9 背Kļq"mؕ:_蹕gCc[nnfa&`Hj;2ٵB\X.ܞQdF$9 Π8EWO1qK[Pr_2O #nhRHA`{ yeڂ- #tҜj۱o &jA2W & N2@`ݘY H0r.cUHi/(6HxFcIH %{R@-T*!jȗ:bX gla#l܁yGlx<վ˩9oUHaBvnl:YkgHC 6SƔ]Ujj*UO H|@VXZyҠ<`l#hZ^woS5k8 o_8x^;ԻJc|/X]uՙbU= Whr6yдou@9 >y]/Fn> B&mEBڒ~8(1doJg+_Mn-\U7`WCjU}e){Hb ]qؙ%9;PܙlVb TбG&$:@;+K[ppƠ=e z]CIUSm 웸9usuGr P}>Ȉx6۝&/&W0*ބ/)зN4DIHpRx'a/(6w¦V3"Da,o^ k }*v1+5K>`|DP Qy$Ǝ/8FǂhmrRh/dmsgBrH[3"B>Z >S^_?kfIE u9:^W 3L"{-ygh]eHKH*f|tuMt:+!h;;7Ntg n+!z!t% xQ,&3F+Onڨ&TN @3!#LG{>6&З@T'%f~2Jv2anl>CVE%&TPYɻv[)F&Ld 2pH MV0FVOx~۹֗ff$;X'0sch-;HԹ`lmb\|ӈd!< Ϩ~ؑ(絟L`=wMDU ٗro|N]Zg3L[p3\dFZ؊\kSi]%vYkfhV ㄿkX3d}UMzzTz:K{YP_KO;=y>n2{oטINB=GqUo@ZZb`VyFH񣫯f}wm]nceT$dX^}8JqR"Q8e떨MwҶ$d$M׎`#A+v S~z}"8 XʼnFW&B_n5)6Ɍcj\J2nUZ.I'-2=qwHDHp798lOut۹\ /a?ޡ7`[G7|=0{р'Gf/[;[]b%ݹWwpIK182nTs*099!2EUɞ2'qt8^ /dFϗR4:-j@Ȕ= -/#iQ4~Q<-&5b:|1qͬVIF(߲m#I33lP#B]܈Y9؝QYt<Trhd_v'+6~nz"E | &i=[dWXJ(P%'u fѹ.Ŝӕ9`B¦E~Ŗ%\D1}KÄkѾ5o:dқZ:q|>_d ^[5[DpԆ9EqSb%|[3rm<}w7<8-H]ژUTΒ!~ :(d4(bv0fTnr0i"JT 󝩗cB@@<^J@aKh<዇>{H8-|*-];Q-7RRUw{!Gl!`w[@wu2{vO%G{|ƺx3,\59 2[bvtO(0|O7) xy9xl.{CA9^ `Kq& skY1j@x=36Fc_o >ޡ@<jZ+4o"~pk,ZQqy\}~W?2 1r9ז>N"ti0]e[7KJǹVD9 rq`F⋼<'|dM['OqlKƬ8@RpGUQL F ,a ًJJvB0Zb>`2QmEk|oV|yA7$.[ inKVvo&*Î0K2}5D^&gO HG{Kf^VZ<ӑ;Iсk[<ӭ/`鿴49}"0KR/NyP+lTwg%|L =|̘-mU֣2ܐOwl~#Koy{NRV/6 ;xGD_K'fy5ܫѧfR7+QU`k|'ޝ$HH;1WX4%ӻ3UY!=iz˯v3`9LӒ̙YŞ]L4Dࡈ6pǺs8<:x7Ç٦)a踕CgKb=y^*u" yWlo=uJMEh$)i>q|4b,%Y[Cz3i ^)| L/;5~`.SXgr2Lh]Q"\O|„dX!xe*D b8^#.Ia[s4~ oY9Uhy|YQstaTyxq(ٴ_# <ިȺ(Q} F'kDLlP8EJG~({90 O蚫 D%}L0w]'Q8=JeC]fxeD+.]:a;P0 N%]Q3JmGEm\BM˜|26w2 gဧ#rT2#t4DƕJUq)y(5͐a|u5p&R#%k9 *UV`|\*<B mx DLpmb9P)̫W F>YC#DU2Sa5 .43$mA(FzAustSGWfWKIHeO0r D=SmP'^\K~pAyGOX:,bSsmnskC;083:L, eC:v`|ixuθ `<% @†;T=7={}پ?uAsAYJM%"wXDZ9#5\j S4 )}&mx)Ŕm?^v[y_KI P^ 86tb ICv|2Uʯ:cʭ'F=^6U>#ha# D)+m3G> iEEc[jOI:kRkn췮b7?U0˻餓[@$͚HR%]Ju{a.c0TQ DMdY)"Z,]܂&2Jd!l<'Fzmu ±d'"!"G5kjdV7ꎱE fF2,(O#L8"Aݔ d8x/3k1`BwM:p/&d)r>M1-czڔ׬)/KC1X̎öLX>&U_#p_f%(qpz$5d c'/m~{ 뵷?ZʏSf}yE7)@ӷ]+p~_MZuB=mea:܊?6}{|n188K[g}m%Mm֙lyƭ҄ة):߯#_;"yЧ q}M .Z92aӢh$Y$@3=5yu0oY)>xЬU*}%] aiH 1ѧm65y S1=~xxOp㖄ZlV_') cفpzr^ 4zIcU . iVh@9M$ ]_2~?R,4Iids1WPDG\Q 8Ӳؓr`DDFg^1 0jhZkk,36)a3#iD(P cN@;ЄbF:}><,Wwh~*VPο("QVb!E~հ4"AB|r#F Ay)X 02 A0!e=`%d.x AT$If,g#IH詊EB%HbP W ԟo|Ԩ5lPt-0p~8*FV*c䗯rV,g塴z˷(j&LF.# 5K. `]^U[ D:ڒ,sqWr10B&yKz 9msãk± ڴxl^.x ;ru Y_  nJua@ϒ;Q48M(UGF4Dswv=;!}v"YԪ( `^ehb[/Y4re/h?}'\W㱋}4;J 0_ +@洄aLFR2 6ӲaD?p@AYM`R<7n8L}Fbn0ȏSTZ%*L\/kBV {޾'u"8_pezl X<dCrt}bzcζea%rհԽQߛ Aaq+J-?qArq6R)ͼĉSc&Po UkAҭ fħېPFŞ3?]{#R8H.UY,>)%e*VF.0ʾN

oC9 %@$݉jLKRQxͯ8N$V98" ]cCJ9ᤦN[V\ź!TݮoqF}a{$1. \B 43vixma>xRwI,ܿ݅)=ϨP,=״nl5zN䧨ax*PUcb(N^%K)pgX?\H-P㦴]&[Tا#0<&+(m&5aמI7ГTC3n_e-#I zU1*:F>C[r޴uѤԀsbzT)H \-~OFmi(]AimCZ[Gl?A?9|<ʫv.8(D-㛪X!$"2)n-{pR g\nSM%pm)7 92Kؾ uWLc#ݟWe 9evo֬*s?/.^%` )Ri͗nFY*(`؋{Hmsl:b Ԕ}kX6l?[8 BPKe,at*ˌl@X>O2lLF,zөE@O۬2LF(UpHΔLLv&,Vp_3DFpZf6fyȖA&2YqG,"&yrƛZU`?M_}ea'eF=ǂ jzz( GR 4YV_=u&R!3BfvdĬ6u%au.v~.p-|j6x0?A7ޟ#"sB$s)JZ~.qY>3E<|wv#,`PY0' ·uu3@eU m4Q;-+lueGJW_I+dH|ć 9W;C%`[mљEi0@ Z݊#vg0]n~*+ib[K^VN̈aB`G$C1K/j, BME[+'-Dm\%RV@*LJ;C_+JÙ9h ,*?A([HՇ"X#2 PDZs`_{~2i0u[@@.pVpp;CMĘ  (lU(3dFg'~TUA"[6Y Zj1:2aV+5>iګ#AR'yT".Νcmധ$W ֿ{Yض-i<|ئazt^Tll9v Rf4:%(3@$-QR/őAM{fv3 Qg `o?cZ9lAD1}3--˰ꅸsՃ>J.*]Hk]FNh¾?>˿FS}"kcgnKW!ZZϋt4#,W9K<CI>ڷw݋SKaC/'͟nQ Ӈ4 }T mG0[`f]Idh!ʳ]~#AԎMFPC/rM.4]72Tbk`Z'˲0Ǫv Z1BK'4E9dǐs3mvdh$kr|1i/1v=^V4R:Q2 Q`osOD-z=XX q}K,us8Fl`9O3Y [,U#FLfJqߛ|KɀxGRE xL]P`jN_QAӪl;q#W%2ؑ$wש}űP")ujױ%@~DH<W<_ŏRaNU1~֝@3ߦʺe2x$fһvg"%eO #d1Y?UpHT Kj+l:PHSE\k4T [V ٯ6U tTX[ ~T6۠?}G` 'bEDt"u@9`,rPHy7DLzn2'bd a2 KfHKɀ{yEbUͳ l0SoٵJƓ$" 1c3I&ɮXPkA^} D$&#A"nE0ş'mnK569'GH$ܲ?2Fff*tՒO'ibzGp8Lbܒ~{3 Nj\f~B \T;2 w @ߖx1NV˻>olǖjQr@Eh`R`?Uִ4#ͫ^mhQuEHrW2PIo٫NW 6fہCx ry(`]%g$ꫥRot/RBԛ, ^$ʙ(Tis6?/ַF,2McRd}R 80-Ik̍ 8ɫMruHLfoǭ4')Ծ&bba.C؄~@V!\@9([| oږBJbjr*uu3Q ˯v]LI9K"])^_N>e5 !4V? dP%mdoKK۴j Ta JccbOCjb%+/ KK|5RܽBx7< I"ܯgM\sӛ-R rz&i teO*Kg+IGMNjزRZ_o{xz+vF1MM/MZ^X7p%h$-J 89~^ kʈw< r AWxr+qi!\ B{X=\x DϜ3OS0$lo+Oۋ^ qxSc&Rm,?"qͰ 0hybY0_TxơZ6Ffb|_Z;#jOUX,/{ar8ǯy4JVfe?Z\WM/ds@Ox :^-jα%l,-z$-q t*2ҲRTarK!C Wև F*PZBihP/Qd_/X'ȘX?ʾL 0] g3F$Tq!+Ӹ1In$8o9ihP}2Tӯ^$ǝatSѡ Rs.m_  f3_ԡx|mn7Z#cEt"_pjJGQ8f9P n7O %"NTC\0*p&Ĩ)_ =7D%eSfjy PbE؜-%l<^vaweݫT0HfY ~ku2MwuI片xmg*N _W\P/c.qg Fy{.^{u/{^rt#! =HBqQ7u/dx+h{ʀ4Tǀ*B⵰^|I,L (ђ1 Mŵ"kGWwh=ϱķ9H c2-ʟ P}D9i[_ Wt|5&;@l Np57V?Me)E (iXYgI{ӪYip1(p_?K)=AOң> nh=F2P]ٰCxZE3Bi-wLC.s;'ieg*6o,%vd<΂ny"(} cW=MT1 3Tq)D㰓E5`@Yjޚ\(rUWc[ ^pʰו\;+ZI!Ոk7_ߖ-&]n5ǟ$ 1$MxH0QY?8lj ި~b51iYB*!d6~7|-UoKr0s;%"ĝ.Z,4PqގeMZNr._?ik&>`_?l}}-'S<5 u$v C͘M<^IUS M96ռ_am7Ͼݬ<nzJR|D7 dx2M%lA]&JP;Ձd@6ϻ຦1.]Bu`5Bɵ>nV yLt\f$*h4=wvBŔO4jmX6;O(9Sj-7hХj6dIKCuߐp?ֱNBA{tªdiW/q ;`w4 ّHo[aGP2Z^<<77ł c Wr D,K,( %;.,L{/Ae#HF/1EGdL97 c~/»ÁQڐc߉hb-pWwZ=pA3TUTA&3uW j[̲9ʣƶ IƇ7mG4G*CzQ7-ĩ;ejo A!CK_`,RR>"O kXJZZnPnv‹% +Tk@\{šFbEߟfҿɉ(QBucJsb>x%3a(~RܹwKy-wTQ_)>?T!=w5ݧ0T?Ei9!|p-%X&:n%LS˲#Q>d]\BObAkq[_cBXʼn&\ ?zL>g:'sg֔% 3fE??gMYvUbKɇ&$ Ҹ:M0`^HQL)~s#^ , j`S#yܱ-!E,m@w:Q`7}!%=0 `5<B'4YQ 6}Mo:d1*qq@+  !P|ɍsP=vfaل%jCL-H"Co%[M)C|DoWΚ([]QǨ/ZUb MQ4i/,$C'#r/x9OcԲ=L2h9:6țE";!9zNސ 7kt.>z槇\|]W~gA TAϮHěvtZ$@֣xDͦTFX}?NʹIʃpXǎ[`Յ!m~8(l[DMۖ=m3f]=-s{ȣܛAZWBz!ȡU`,ÄiWm59im$y5pymF 泧-琾C.%eP㒖$|*"ooAoNʼn[e#:/~ l"8~!U*ȵLeMVoq?8}kC8jfs"=E$b9Ƈ]@Yz]n03AWT&u)GfyEҫ[@<0فY5 YTX׊ۻ+~e[uiQ"/7l _ӗ74Q&Gi);`pX>:tJON4i^sq#Ke_:UI%WٵZn䫅cr$@1;BT1`+=f Aa!GGM^09"׿2s'@OT*5!*mdnв4GX,?5E<H/CiZ3}͒w4 Xg``0 8JhS~_ꍚkf>ChdXa'iNlv̩lQVj6ȯJhfX ;P YN"a`T[nT+%XDcs2} R@T v Q^ے9aYնa<7-_%E5D96ZVMr%ׇetnN>6dYr&u@2ZÞUB="ruzPWpg uwA#\.n@0݊&O9gN.3 WR d9̝Pe-^A Me~0i?$vB,=wԜOC ϯmhqZIp;;dq{=7 o!5/&Ad}f93o,6`7"X`Nx3%|IмgQ!sO'>Ǣ2Uew /}uI ߮zq }Yǀ96ڦ|S%ۥlϙ:8Ώ=+)"~1˅kR(ED{Y$_~a2%)*HkA;CH btE >ti[SHvLl[שFݐh+$È'RܯAΌqk Ҥ#^@$L/ >[70O 7D+Y) )DICkE'<Ұ]NO cPs{9p:ޢk->K F y_U'ɲFP{<:+C4Ѕ\*dqGY^*-o A4&Tf@];]bD(+TN54 ױNma]CP=``C"5\٘m~؎D||}*&p:Ouq= $#5dRw?ݪv:Ƶ MB炵I6?.k-`V0 nHŻbj{^ϱ栫Rt!jz;%wp Xe^ !R#dҊ9=+19eBbő[m!W2wAU9 *n\K#":,ѤLF-C''f[50:ďρڑ({h]>mpr-a`8uIR(:GG,Valxzy{  ?*º\g|r~Y:]Kp_2v;vn:.=Zpj<[onK}}Uj>J66 jՂ7n8<.:%Nۀ-kᣐz]?3 mW>RAwrh1錑sic cH" x.-0&+HM7\xܸ|KDmt_ `ȡߘ ܯb9{EUVk1Koήp *- 招B7O)q:2m0nnjhaNx"h5ŦpGx7 I=1Wg?Q+zoa($!@/?bmWxWh|~I*;RnsvSfQwɩ O oqQ ]aIi7>%H{JɨVQuQI`qX{%r }bqrNQsJ{Z1<{PT.L*H豎w\uC-3+p Q'#V)K~,,'$`G]VFJuʝn!7kqCQv%Z#_|wmS%C2EtL/ ص?LPvu>/W~MMe qZG?W L).ǔjt9Sӡe:OKͯƶD2I Bg]mJ &9[aȒ+,0!cy_8blr |R rY3ȅ %,2dO@vq*TC.]D6گE2}+ _4,oV:Z} ҿk<㊃<p6ECa3B%3ltcHr'ߥ/] Tz-:Ll] ?#aMk8ok#O\A.6B 750JETᄺrX!H]t 6s_SحiѠ6YA5E%D'%6{76y y??g=A51T\~c Sczþsk)v{62>dLv~Cbx7@]"f"yޘӢ7kb~:{0}8U|ޢù,Q7_2hŜ6FFbɴS"n<쿽G3j۫ϐ뎞İ21@)By&=COڻ.3X΀@D_~NEUX%X^gAX,8EqPxI&`d8]`[?᧔`d֗& iHKzZ>=;SI~-z;;(ddf\ uK{B# kO hpgb!m蝱ӽ0h: u]6'A\8]&=n)lķUǐ|L"X>1u"AM*hTRs8K@kJj)?0'׊qLIFaŋ/\Gspw .2.yGo /du"3ÀtO8Ǎ7uq&- KUgg,bOI`cAq{4Bt0! a#>9%W˓V<)IZΉ m_2i_\7/ߟD@膹uå^Gmo $mv w͏x*ߟRjoR>*FX4lᾢٯug!`IOK"A'e}rѫeTP mT ޙ>K9c /AZD۶jZT>ע↉V7+w( T`(0 =5w)EZBL~䈡_t^*9YO .UEԨnZ28<Ó޿ JH֒f ~"lRPt5nwf՞I;Z:,7{ jdѸ*K LdC`#$ziȡ&+*7Y"@u#~^y+0Aځc߶~"Բ{=*LhF'-jۈ.V¬tOfl$zr 鷭僷BnT(I^%=@$a䅠dl}$d7Bq>BJ&}_: N&&DF+j` bҬfQourŮoWkQ{7 uh٭'q|;: S:fjS0*+H\Q/{q?c75i_3p5R'guIrL#s/uE<h\^1ǂXe%)6^WC^yЫ,g`b! e)@RJU]EG7%*_U*SO6y[s<w[%jV\߽ҫ7<^6_A?;vV%ni\1n?FGot=>l7YHD/ucWKÁM -rB¦4e4z/J >BT|^5A5}vZ`ͧ"R[AI`vNc]=bUjJYcDݧ8}hSP0T]n|cP7(pe"=%Wf1[^o{$B.MCܖ `_;ߥ /('҉̙pmz- DDa饵Mh]@=H] OcY*!* SFqHִM渁bS R.;\ U-+4v) Φ2ʮ͕t#pO0G\ݱ,};x8Du+}AyoBz{z"DbC9DpٶnڅP^VZz#SZka˵0ŝaH~H{ NVޫ٪_KցF7fYePĄN1 | hyAF=[4Ց,[\&x/(uvƌ>.ĺ]E4=^(/,?1j;LjULcHMi XTim8tߌmkBVNodZE ~˓7ᑆ`8{lp C9Q(pY; *<y٬9$vd^3l4P(?](A_բqs7\EX:ߩ9nX6y"ո)k ^ԼK4(ep(?dI_nXX7.Tv_M榛_q {tMGPOqo`ΨT1? HӚPrB Bo:*Q_Uo-3eIU@4ҷ[G/tT٪'׳X+5Xu`SJaFw`tg Es6͋tk7-5g)e2#5TD/+!1pf(AC#"=~N2"F ޡcjgr<Ź8Nlt[;Sky~ȄH C,Fҏ\P3QjA[aΎ%<U92+#RQC +1v%icHUfD̅m,v.A;4 rM*OM=~OpSJٺM&$*Ms'Rkm}Q^|~JUŤMtH;I#&' 5Eeʝ7<D\ #^Ġ?z_`x80gku~c.:| s+Jh#PoӹZ,ǝ,92RJgA1.pƕ@E*h[Vw]|+W;U6>dGNJA U kUĂy^:?YUj~L&9PI?ӌ3U헰#sOK`{ċh_fƟY fo1ƓSa 2D BVM>4e$7knvoV XULV2cDy}=vM5h5~"$f)=$mFo:;$NGNuu~{ĂH)[?eҪ_KyMMt&1EC) SpA8z!߱fGt2ҙww<|c u.<0~5khfP--Poxv傂1;~4Q| l`&SY ~&nCy0 3y+_F3>K_ԕ{1g[/rs)wo7ɲqJ;Bd N())֋8>1 /g}Q?܁T&Xoړ--Hg)fy)GNu}"b{s4* #X nʿBTϜ{~^б%ύG링uG.@zz6Kq$IJY5#uQhdv +tg״Bh!"v A׋|hwVٽ-L?gۏvQJ#)%Tʊ/hశO^qxPXm` F0)|n7ы^,v$xN\acf"mb_\j+!X88ZI F$, {&ү @J xh"f>z¹(0Ct6Ck.V}͆1߭xޏms!WT XݹAKijX.;Ks^,t%-B[)|>R V4]Umjcs L(.4&:pꮴ̴f!AќJgb /I[Zk>M1o.L.5}yGJۯDJ!5NQ+3>],RCа( mߐMXz\"9JfֵQ^7+pDՖsr ^SsmaIuү_"c'd:<)|S]mp0 }9z:k%)VK74t͒3{*~n;;.)]h;jLYE&YgYTCzzم(#[}32kk't4e%$Ni9Rc<*zv'oBl$9aؾ0."Lalpr*rhFY?YU -j>thsc\iYƗ`d/,Pv  ƽs3^]-67jQRt,>' yml҆x*ђ|`C8NY3fD32͟}NzptJ3gX\?z3.~L$lHur`*/M8ׇ􂋯9˸6Qc{}n4erT$[7uHO f,9!9\rWlSh$]r`@lHXҠ6!WTTj(vyBij?#2) ׊0J]E=e)5p#] |odߔ@KG.QP$ (5]>mQ+ǒH@g"nE@)*P3q3eu|KoQL;2`SOWtԳMyDKN#'#<"*!ֳݭIV܌o ]KRqD0l/!JfI=sbD}c|sFʾ``/8m͗PQ-BYs_ &`l؊6oFui~d(Cw6oic'Q0L!f@m=#2ڍ!8A2phT n."ádIđ%kF9̿nb#I3!6)CtYp l_)̼ erg]7j.wL FֺݑP LȢa*يBOXGYjfa=DC* >gY'wͧ6a/S Di+WE3- &6=@vV Gm64N!vg#W_=< ?J*y6@I6$x{y 0]%5(mbE-Y |&L;aNYw鐓?fz3" UH]/4 Zq<ܯ []rĘm ̓ ?\U#cľTKC狤ލ|erQstӁdgGǩii~**Ჭ׭TΎq6KZFz[iNA/cK`pt1L`sfK td<L [zPN`~=CrKtнt6BjH6"A jP0púҮ2f(t;|1خ8ǐP\+-.o]Ц" )E $FtUN2iY_R0cʙp37 z{z Y a`K/v[pr.*Uw9je}ҋUmO7NO(mEhml'+ߔx2 t}uQ?TD63+' r6ռW@'^Yj Dsq3,p@fC%,rXUxwbAmxÅ|eUS˪ 3^G3s+ ݂n9Ǡܪ!_3E%$81Ypw~MTn&HtOocz)ӣ̶9F2qݱ4 mE1~7PV5*ue$?xK>ʚ9?K{=l1FPA oYde1}+<)H'}l64o%.ƯS)W H?tՌCX&femm-c^Eԡ`PcֻP4yůvKz=%˂_4{h6:\VJ&"ƣbLlՆl^^]@(F-D E"-y糢UMq){UoaMk@>ч̉7ߑm5?#yB"fqD~@e|oqQV*8;J k`0`"W߿#ox _KotP,02צwA=>QW@qZ+OܔAzKܿ0LD=۴É9?K4fng+/Lvf:mE Ni31)XٛGۊ[Z.$"Xa;8' MDQ?vELz!'NDn#vgFTٹےrv8_FHKe6,)mTM KݮD|~jtGϽXE$&zyu Rum`}HF`X d me&]}q3VPFOٻA5Bs@3N1Ѱ]"Գޤҷ~ 賒^jDT]o:K[~[gɜZBrZc (;vDl+>pQcuͭ~ƣ ͳBc9)HWv?DZv6Rƹr`o\hIo{)v*cVkd"}Ɨ ZT#-~ò;Q4I~[# ΋]NAyxeZ ]Wrȇpfxoʤ&mNU}J݃L?V{Ň@b}N)n93I$EoN 'OqP2-hf=q ,}|g\@-H_<ǖ!Z}J OG܈xV$N Ig>i:[FKoIUR0y{h3ң]>ws#M!ZF"9Vس%ﵯ#߼#.2>Ï zp nJM5 l8 &6ĥU\_ΞNJKt歂zyIoL=-LS-<"Tik[@WT)sS֨H}dOmdM w3Zy.ߋE^! $8іKm8e8|RM> l;@p t#\2%I]I b^McjWS lǙ&CΆH]_ n0ΠE:Ħ7A8ɞv ^аgu]B6%  ޭoòy@``RKDjǰ]8Bz#0/_WX&%Ktîhq[^Zj|ZY6Fc,%S+)kvQgY[FSAҿz}je,0 rwQ9ďMr:DAU< }nt"8>S)+K "4bgk#5tXrvW9UgV_^QBsAv<蜒)H0 34u.:DYm>I4ƣف*0P}~pvRB1"P[bpmkF"nt!m=:;E81U˶` {j~- } ʳ@,dh ow. nTQ1\HKH`PJy^f&,³v"1j@٢0 C 9g!D3(zVe@XT4w[DfvO@Cylܥ*c'qqcr U Ìp%;jk_LYl Yp٪7ON6xV`BM X']3p* A–@`YC {H9-|l"K&K@dvEreNG ʑWkxܗ=H`X;jS&!a࿻M'ŢmDZ츛$'q}z;#p_"oޠTuz2?D?#Dſ8UXZ%rЂ U{AZ++@5وu+^̱If-PvM@X˿>lf 8&ؖ@տp(dzl圹~/O!s)zb,CwIB΋x,p1(j)f Ř*g8Ck6mom72q=AOWl#(Ede"IC`A>kv{g^lSj+KYה~o%[H M5y+0@axUĔ6/Q>TĻVS|FryŒVCF\J v# ESvC0j(\.sׂ͟,\./NQfvr ZfMp 4tRΨ7RŚm5"fo vGBnpLT֓l>oHݹFw nKܖP-AG ^?K̛iX<~r3XGV0IB:l:ix\²G56HఔcdOcDCRdv{j72uDQ ޿_k(l5>0nNm=z"lA>bTVH3;^nVW>Jk$?e7rD*L,~=y?>YY[5[0Y#2~{YWLoWꡖpJ˫*UR[MsHfйI 4ZGY_IoCJ}rMhykV4ɠA_ _~HeVر~H@&}ZMTH`E02wΗ’4 cj嶱ˑ< 5&UUR/yt\JIbd{Z^K4  )Y# P2$2s#9]@cvX{F@?>6wd.h?O\ ^n =s=|7toJ4tR/f(_5ؓNWl5kK2 (hcr\(x)dQ ic>Ć%4KoMPfwjo1:ޣ(Lyh[n OCDi9ӄk?w Eqٚʇb:x l$r z*ot umaeɬ+w:&SgHR/3灪v$S6l{~\v0 0C!j#de]AՒa4QH4`o!9 ڄwșvUWD64n^!U%i)1LAhuW6D)cDYaCtvCg!''SA(G0Reo8?i!S}ݿ}d(Ba!p%Ud6bYi!VB܏KX55}މc7d[Uq;dM_r^ "r?ec rnHlOF**UVA`jc|G[ ~I|hs5iLj@LVw=yR v,\SOb OOrbk\s T0pw@3<1? ɰ&;u;+Tpαthg|̏u}*M[3}y/ZcqG--5#R+\bc$Bȹh*,DzxgAnd p*;Dm9{sI-CCصXLӬdXxC511ٵVXX^n QX 3+*B-Y$V&gƋK_{e/䒘̀iM$ZP*'pqMuNWf̣>ɡ"wC\0nJY~[As,$Ndg$w2+dFJ7I7}PQ|TsjYt]Cshic6G'0)`߹BT!Kс'2DlޣA~!mq? U5qTfj ҟ|DBvwhXԦ -Jh_sgZG %[x좽)}3V\<&`<Õ;1ıBJtk9|:AwomʃjZF=ddչ!!4H^9|0&ʘ:'Rjz,)?T]Wx^imlMNy wʶ7y=)LW22[{ s=s^O]JXrEᲨk@#Y6XLޞh14`>15.2V՚D[~!M)AQeރSkxU5\աEͪpg\⊧,&,iGgHt=S:O#Bs>YwYuP!r'~FX],0ٲ/En/{kl( %\~{`"+]kښ 5Wcvzm||kwO0A=P:3]+[RJRbeK0++yU!|7c 闢: ]FJ/ N!k0"1 c.֢VX /7adweI P4x,%×out000 ᤩ8@( x tEV~ 4i̞fu! )I bYXՙ'iop| jY,B 1*ԽEqV96_E0 Irc[؉Ӡ-cEi\É!VZѡB0Ĭ'y(pt%*U(>C4Jth^5;wNts8b76WH·n3(8d'崱c!7,8'3@J.ק@ိPkhBI1?=P=<ϛmM Q,Γbvl`d Mǭ썆1toD۷8~! 0hbY&{OրE'D[Q=qM,>fJ)2U1AA{CSlDN;Z.D(zJ5l`҈DNu .-蘩h]hȍI3 ZFX J tރ6.zR:U$T5)s1|$7>(KNZI|a8B" E;a([i)ll<7,cGCa*Zx587Pf8pEzx u숞RrL ,XsT_;EL78T^iR5(+%O?a¨9c,e Θ:îJT]*5uˤy;?vIl8s=!wt8ŇdN4:Rmë=Ssk\PketvI.0؇ !M# _5I[vط Dyq/݅LL?exo\F؁̿"嵁I)8@5G']$$U0Z@A#p`;kBOAi'`'H:N&ᢵ@3u!NJ$,jBa`}@&8ĺP^>NQ5Rc-)L?%4MZ_/h5eK{[$>vWxߟ--_F/K4 9EcIulAua$YCR?kaHyl-T;mJ(gc)Wb/g>Y,þ;T OԦX6Nϳ:vCN*y22303ϒՊvJo@}EiE2OE\b$!H_(qb%ZJ*pKBdD;w\LvםwCabu^7>F-Gf@D ],|e=ccH^(먣aϾYNQ!`t9P,V͹SbYݯl`LԩTTR%mj<oCd/dmTDF̎%dymjGD[PFXDRcPwҘu'3st88Y,v_cXcuo=La1H-MT=@$x$nX**o68zg5UR٪CӰ`CB`@#Z5 }Phطȡb3R ZZ|W;(õ6^Zлũr3ⲩ^ix" epzcBVB^j8qmϭ8R!Fȶ(b-,-_௘h.: p_}V5uȗg1pڪ6&73]5u`3#]g\Ћю֏l%s2E~he[WrB0Dn YS;欹[ ߟZ}1h<E@VwգMŹI]Ԯ\WS~{"%?gxf>}oP%N}뺁iJԲ-<) FNiDj*߃ cc\Ahicm&%DtPxN8@ P9>qD(Hz0R<FuםXmk5&/o)xJv)(C꼽[1~CP T b+@ъy>.~9y>|uWZx 6') A@U$/.E@]K*>3ٍqEc=&sCDƽNjb V8 iVt񐕘F5f$@f7H>OY Y7XbU-EW-AкD[EM;躵q\*laU]xv;I*vz;sbeo객QNREzdóRSDpX )+ެ˴^Zɻ=J!Ft֥eǀP!t?"4iv>qQHt3m ?;9=\zgIpXCB?'ƿ"r C] +F (u G4h OA q96A a3;B*bҸDCy5`}74+gGuklN),Eu`_ 4NX+?퇃7Z焀1G6'c:vy͝{ӽ_`0nr!Yj#G3Gm>۷GI. Dǭ\8/TF9 őr3đ 7Z`SQwe ZM. \/ 7$nxN(ߑh/A݄< SXA&mci^fs6M򸭤f3u&Qᛟ1[҈m)XEn_2>`t."cpBbJ 6,RX@rb¡[ f /wO.Ѳ !~k]ญVxe"lʰmR=юXht^6oD@pj+e B;&OU "| ݠ5tl"c%`D\_dy,5' &yC&V(/\8Z8%q%,̃ldnrB(`\|F Jd;!kGwC&Wzן|A-Se}%^Gt֕wpؒz%`@C"DqmQ^5#?hMt/`|ƭzY=T;זi4 Hw-5ޤv) X@swOI!m =} `_5wB5re-˲ ZtI+?/[ Ȕn'8k]J_DlU&kY1Eiii?^ H`[.c~=u trf 幷e) x9K, %ukn RL1as_Ψyl*6SfĎd I.WiX|M2TQ}?xqԐ܂&x}ŋ C~T'HOHrG*Hi`%,1Ɉd 9'slOy6xxu iF;G5\}Z[^Pk^"S9w1%!eώ{kC⩔Q\h"cO]՘J,4~-%yr&Yǽ,PL\K2L) Kvb=k w'7l 3~͎'x2Y"x=l@o#ٙ29[X\(itC3g钗NŰ`D;Ya\W cJcFڜs{y;63;fa-F^d\,_i빳X*ښe`n ̤$➵a黣eR7^fsOYWѐ J(gAʇLkvr,5LO1X,Uޭ*V :Xv:PrT?~;umTx߻Yg3|],,4ҍtsO*RO3Ȑ8޲&J❈U IDI7kGWX`v8L)3V~$mc ]:*#xK.m\!MXj]mTE'gDhq'T%2D"Yߧ,ˍ-3]UM\lc~ļ {m琣C"iz46qTJUsf`ַɉr Z?VhZ1WJoa#Zg"M`3eۚ !.TIhث%H.>Co#\+&@vI4mx**]1k>$0ЃZ`77յqdcD ͓nzKTNs 3AKF%[Pϼy`ݜY%L6˻ ^l]VV HkN0f=HNszvBzKcB Ds*00˿VGD?N~v;3~#趍PU0 J"tPE1|ٛ1hldT.!+oon)} 1~4YTLOx;hRPvtiCbUqQ&Upo 1-*M !գ2)nP 6m$pi"c$X~d\3trs.fzOjݪ)VVBX\Haק74lN g? Q)N>k '-p!qfT$Z 0#.:r ! /#&FG4𩨄,L>:ddJr [5t*FPQkdˍ9ۊhש4eu&Kr<]g{sg{V cim2ʸ{TF}:2&[9N=~ fm>A6Q^B2 n! j\pȸVa&J53B#$;Eop2u(ZvycͶ{x-:. VMfݍo>@fyvPPpIOo% `x|jZ~ my; sUPPC(8""鳑 Yyxmq(iw 7'AqY(asH(M\٬2i&8#1!;M芝aG?K_UR{%XjU݁eXX\@A2YOC]> 2 Y/Д]W*$魣|Mʾ9%Aaf1Ѱ+sQs`J@IحWmlwvq^KP}v(EB !{6s9A &6QGۧf7=㼏h-"8-y~nj#  Ij~#aވ)@9p>(ƺFBcA0hy!%GW]ۉ ӗϐ!x+S=_p,Gp*ڵ#˥iCK2F-4_Rԇ_c0K`ýs*n/򃤁ժкV +M-Xon*f_t19U4<,jpБkl$0DVt|wI:p{m2sM2ucS dX E/Жu fp_C`ʐ̣3u̪͋g[rmr'^(%Œ穕OiD$m-mG/1QO9L ss5_ȧ i G :Nh}.WSєtMEFSXp:dQZVj?YΔJd7$Ԍ^Wy7*hpa2s[FϺT8Ǖc:5m`!iOrHYEl0WgؗŒ2N4C^``IuA-I0l=rb\!vܙ #lݵU*(vR%Fvʼڲ2Ҳj7@oxN1*"uɩE. W?n7~@n7ky~gԸnwajxCc7K& X ~5-1zE<R>@efv帘C,NgM<*ӬM`uSRp*dҿɊ0HPZ1ddѩcۉ(%kJT,O S؍Re*')KXˌ7#\\lbEf?>2]2fKܲo|R$k:lD֟em9{g*@.K\ xf$n[s4r9΋c`H/IF/ɣ/.C웎 w ˖ɦ`w>J:1((lš1Q.UQHWsg<'MtxQQ s<tV/G v(F/? 9|MbI .elI-)`bWR6ɦ9/jۙd'!w`}o=wᘷ+W:N}SEPc:lפ>ZԳM!+ ,2 cG< 5F, ZxyweboSl|!JՁmN61N֚Xٳw,%rH3zNcc|\.Sn%!WbTZB>t #`*@ gCD>ݶ @cKxfFZ-.'<2hk=wڴm+{L*芞>e\5ݸ 9""?G[QG3qv}v+Jd:pO&77/34M-ЗM V,lJn+R ]!}D[3h1Hv5gJ_ˌ C $Zze)տh'~ +-afecZ>.7>qUeGw(]qs֞ "*_LL|e撡;NDŽOi1e.*ly Q̻51K E:..?quR- VR\N$։QC{ socrǔbɬ};SQj0QoH3$hKJ.|H¯5KeئyJv-/4QBX8"\0U']F dV5qg =E*BUeUNIj@M{NGb!" ?Pˬ3F %y)de q>p=joo,vةR  cXTyMl7ӫĘ-ei?_0- 2: E Lm$h3/Kh_ņ3A %5,Ao$9l&Yi~+m;󩂮]F@H˘cDO~ZR՗L3̹cXt96WBH?0s|ՕKFvȓR 4yٷjZ+1b&b;h7H`ߖFnT뮦r'$"ńv"zmh-hwQ7z4tD:+k!ߟmw; Ҏzf>d*,ܭ K'|+)sMP7u rV2;A#MnzxǷ(U+ap^|UxԿ Be}hҳ4?6s8\=RA.v)e M p $t:c\^:  Y2W O7?Kğ`"Hhp9BE.]p@ݫUG֜=,Cc7ӾK׹"*` R }L8Nx 4yppLqD0]5NAŝL0y/٣ oqAn=@"[I m޽tF"]IݞN E[ 򨯰5ocInXkD`$ yC a1 COq-tYsV>1ȾZE\Sh! Ѝd ݲh 7k[v {}r^3z7}7/')q<кPQJ=G]KYRg%ssA\X-hIz]i;I=x76kE KtWfqk HUfPլ3s\~Ҕ|8 J <'IqG@ W6D& !j`;$My W:XR L':Xl2bEh]՜HX P{iZ<P #Gcqw҃|Oz0Ex-8T- X~{c9^J!JĽACn7酯"sYi`4 8 2ZUጕ*1I&%Y"D >XQ@'?P!rOBZ$ V*=(O o1Ĭ׵XC8 3xtQ}0"4-p.*%|^6^ǂ$s%o5_[[V!dlC|Lhx5~Җ4Q5+x{5:%cdaF1mx4˫. ~}3R SUx=YԤ/ᰁ #lIh*~Jxq͗|)׊oDm^o}x}1pHV e_Թlf 3Se^yz$(V#I'tWjVP)}\q>EE.DJl c PgȦm!V!_a&\ijkJ'y4ti|F:u,`֍Q~d^qGM0 Gj w[-TG` s̭6?F_GV7.kK7EY ̳5`Әg,L[r ([ ?qɢjFhv(l6,C}zMFr?q!!Hӌb5 2̎LíVdq>B}EZd7kT ݙI9- Ve @F,Q(#yal~k81t}o?>~XR P3@v׃w#xa 곴M1s\l1ҰCBG?|RJ^UQР>!r3EcJW{ =qeiEί[@6igT~*u36 ;5%щ*j.Yahih\˯Drw5(B *=<cr=l]A-mӯ0Jy|k 8P(8,qȑ zmy,.IК wBz._{Rj70qrh5["*W@_Pq7j %H ʩvMq^*+>C`c~Sȩڕ6\_r'~A$!*)"k_HDDZkrkS 34Bơ]w (*A! [w{R/ROĖ_dHvߴu) -j-<ϭY? z>h82ŤiF-:HN3l;J<"k) ̲/#i_ae})O]-Q ~zr4~ɷLHt ?)<گІZ?U^p B.b.r';6  `ubk>ϒ:z}N$]JQFCp#+K.2*'_A Qu3-7,p 雁k|ft&Ynws4)I QOA[%fG 8AtK{0'>eGdօV1h**vD8}BFr0:o\P (pȎ:vOm+^;31;'v)Ϸ? M("e gH=mT0Ll (kq}- ~*i85A]݆EEi:*|=i @?[K>~Â͌AƤ Jl#]T^x8;5E$>#/^Up` U{ƙ^<G)J ɖVx˃ Nulρè.DdX v7 ԡ1Ov/6Fq.2@ԍ. ԬJboZ511HFŇQ:ZN~U!m_CdPO΍3l"voxvʘq5h6UNJOlG; }&W+`7m2>Lیch`i]vx{i9b@*h!yf4>1(Q";B Yg p7*ք`q>M¨ 2"Wh0qGFAL'דA*EpuX]N&&!!7O|=Sq ВoNБHp78;W4NiNjw%+d<^}=̔@8s>6 Fu(3boiIn&R,br8eb 0Iȴ PO.SC/;]YCsi~ x#gI#@=f Tk?M6yJaR9Uz[ wR"z(`u1<6@C*6qu2Dz ©'yց ÿp^A(bf$ L3g90 ˓v y57Klsou!xnH5]![;33F#iz)~YޥYb-s8pki'{/ÎgmL{xBKZccS"dh[nS8#g!d/rhENܫ%{ugΈY$rĤ1l%:ɨQBL5%p6_LWj-#q xH*%C9yբGГyZ^I0)F2{4ad= D3B||!œ@}}R_g8-gˀ]Y&P~۬oV<l?t&zE⎫$s,a$wpZ6 o=(@- $q ?-"ٲ|FrRa$n u)ҰoncmlSna& ^Z}Z'CCVv;z6?Jbv {0nYt3]7}GAa"f+3U7>'e0qM,[n蹀x_I!a@h65h\:ΰ4ͽ8ot !K]$4ugrF9?1%\ LE HW =stiH} xhѤoN&p5Ȫ.Hwg* *7fcD{\p-]#P )(zjp P5Xl=o,!"OX[{Î$@x#fJCPl"-D*;%%XJcr?~MB{4⁣3H~0d}-}brIAMl[ n7b' 'gaqD7DſF(5LVM kXox_oJTgI֊SΕ1^]' zNXJG&YH5 $]HSz\޾0z:e>'kd\^!f֢}j%ɋ^0ПùTޫHΟYdxejP:'7#9 X? 䂥*"uAWL`>A ~DvJNBH5QPH[bԛwxbT ̲U@NF۞s =Oiax(VhwSΏm=|3@ z|N`EhQƷ[jm"fv A[Jɹ%)@k *9v%a T *R^3 T޿영^񚅖O#om)61P˙s>4ÁTa1jK~ r>NQ cG_vGb4*R=m%_AhZ e THT 7/X*f߅/a55,A5ԁ#*t@;+e*bQLB"A̠FYF/5Q1kA P4:nXcIXj$lXH[<2]gZ~8;ߠdDPljP]?L=eBiV?k0 *T=_͂ԫ o Ǔ!9I@ha+(DKCKślnO⠉y׫%Őql}E+2(q^>MFS+5o4 =;1VP^Qθ"h6rQ쩇s6$]fCG*:Om1нP`S(P{ T"]y1HvV?mkGLh6"ĕy="~}NqWjC> +Mw~sJչέIJNd{/ThIc& {:TzUlzpN8X5/~Gezk]…pkD.1cǜټ'{Q풳sHIUIQ]@u|A C"ڜ1cVBm%~Rg>ZڴxŻ-7b$X9ޥDKL"/Cِ:Td{Mm]0 Z~f[۾eZDp?[y-L4u /6׆6Oh8hW91&kOG~4ޅHi tV}eEw >?=7,*I_nL6 `g|i}{ )dnʳ u_#ᰞ%D*J;p[Hʝ0b{۷y TF2?j:?|wcUQZu~IV{$ -!eI)t샢J8";Sla'qvT<(n n[jBypJ(|n xkQ!;WHax_t]8T ࡩ zLy(;9G0ӡ`MqH @-|Ƅ LMeo?b}dV۰Olt$C1ZINaW0`rG6Nؑ&*y*Gg] W(6eCUⲶ?vF PB{1?%c|/[5d!H*sKFLsY(iS x-xor>9((VDsA8 %FA{T-n}jݒ1rP*d!x7͕AN00@8ܵLӇGs\=%psfJ1x6~rwRp)(jjlgƀD]PܸhNFޓF;ŏJEhI{0ZIU{iY( N:hFU<\zި yD >:Mr(㢸%N1q"OR)'H_Y抓+0ySozHTè+R:G62B?[)~,GΝ׍W7TjV'{ٖ^Q >Q˚{qAQ+ eL͡% ~Z^`~ލ+eSl]IoT#ibsk:ͦvm9!Υ@4gvX~y -m}Id.Rl6K 83z&]k\CeF8ç6Ò 8۷CAiA#QHe+XM^[@U'3 *f@@<>jx1>(n̒wvT.*L>>RR'a{<a\=ûˎEf^J} t`-2E:]2)k/DI!Fe`i&:Dz=|7$R3#֠r4_cJb:LtfHW69\ +T932>PmsQ2ykD#7vÒ@5A>**̎{q5m!)893Awp.E`?U `-G 8|,$XX8? %# MƊHBYaq`֘_[Duq/{7f¸TF[U$l2Q'b\b\n8sy ~ [w+C=hhvk"&yԬXWҖr1O69k:Or oD߆6*45Wfլ#Yp(侄$͸߳8i{Ķ¯hA\iׇN'M5)$< PSmE!v˘\<|LYsJcŒKFc67=<,PdC&w@ lk38$;AL)^*tsW4s D e sT.PɬA!|WXoBYRb۰M7BShN=~W6(i'"3.[p|! dFEP˾KhIEMF]'!\ҍˋl=/1~uXi-KO&|g]N!Vy\8>_`XK:' k.pOŅ,-׎=8߶dp6MtW{ S)wv!zrC2ԣV OW^C4bi+-yZ, %VtEkEe2楲)+Icn3 ? 䝊 -1ߨԉ꓈YO@]A?ϊk}Ј{NXC%2]I܍]| RX% S(qPgV^SԠ*^rWݩN:Ռį냠 x7Y%y~. vXe 4wL$ 2 7geSSDCi$[C2Ćkv 6iXɮAsz=<|ːͬT HbZ*S8?e_<(qE޲w3k2a?  msX1$t#okMh;QH`>ʈ|f,R`*Rde>,@ÌPQ^jcd.s0XoѨN*i{ߧNzGg:ffR#pz'}#pະ +uSL;K8jX֩#Owĺ 16&@CC -6p)51 \#, }`) f@5C;8 T ˕$"}PcreQǓrYnm / H5; +[X{%J#RC=zxPycpz^m:-ei1w^#f)ĦN[u5d Fv@j+ z#־/ҹB0e)%DJUm.Ϯ)VXuʉKq&ζrOϭ_lqJՠj*,۩?RZQD"а!N#>yTW{/j%2@ɤA:Q6K'$7m8_M<9s D'Hlfb`RLqg)@K܎5`mԫ %ʈcRjFg1VһbEhf o6"<;@Z7$ Qɉe{K QAIԞ)OcU?e04p4lIb()%$0RPt(-QL0ť4+*X`)KM,)2r?mv=Cj^)`k1waE3kggJKUD͉jyRGm;CWxXq9Ga"_gĈI>!.q-,'~UIcQoF;;aVdSfn'Ro>>aAủ"j;=0״u"ªf gR։xYəa2x# Bm[LJZ7I tzJ>FC~ ԣFM8iB;J̧'έ| ;rLOW<>7rdV,B:IZ[A/K!]HVuK`٢hQDhEMIэSB}}4Q˾OR52 ^Y}Z*1I,w/ pD>,ظ %+u-VҾi\)}/ `Bj 8IFD0@_n]Li>̻}j{?:!\*^vjU]Oô$B/f7O[l[s*vxw! I&czނӶӜVHuF2;mfٵ/W E[gHdKlf/MeGf#LlxCrӖ\hf,9 Ì/g_4p'DVTn&LSdIuALjp5Kqb,BC4SҜ!=C-[ ̉dX;tj+9N^bu$-OwqԿH(Z_)0bćpqu%Bp_V8~Ew CܕvzX<[5U Bu xͱ^!Xq.%Ua5􃷼|SzJp3u8]% ita6DuI= h߼)RMn9"Ln؞f ůo/lcC31vCls>d!SYt?k[˺׎|tO$DtUδTEՔhϱə̪!_0  0t-f7 > yŲB\x>ՔǞ* f:_~Kfuq!|j f"E𮁗g .f^pj+P\hWYyU@a˗~ ( nuׂ̍W)C:3Oq퓅@EySe'tY+OYX;^>쨤6Kt0\$VTϧ, LWKDna{ B[w>"\ei/\QW0'S#ߪZW4x:UUXNorT/&SG*Ȩ|cb[ٛG-/ 6p^n5|LpN{(%s^< dLlQPnZG6IӒ %Т_j |m俶,`"d j(# Hk]W." f tJR m;E{`'%}|d>b&NbDmdc!fUNe#y\YjIӡK:~INA [NFH=Q$y%1;]\'HCn/֗ &͝uJDq/SFLWs_UD=O)J|QnH}g ɝ,'"s1"SnD(O"D=˟tObPuǟ` ε`eB͓YlHf`ɾߍ(`#B]X#z]^T#0rEڨO`A5uSO&cbxѰ/CٕO'u1RǜJCS]bNR ;PmD9eɀYSNiH\$hQk[Y(LVHL@+rOV^mXPjoZ"N 4iRo6^hb؄?U( B Ywj'&u4F>Zܠ>ϵW( Cˈ+)z t>$ j-'|=1)&uQɃsT+egԈ ,'mhHXb3EsؒS p`y f˭(:TElĶg!C\n񨆕6ۡ\jy/=h (Fdi( LXu=cY_ІclkOK×C QlA<}y5ߝ0p9O`Fb:4޷|zZ?jYCŵ `T1^Óc-ؘ9ʌ=a<%=$ nϋ 6acMYroX;ZLXq°M{[Bh`kITsk(%#dNzaBԇRCS y.lAF t%c~ 2JM`)3.w2i67SvDxy̱p Nر7qR}YlŜFz.'VtKR,Zå"\WuO}_Ka.I[ΨaYmfb=}RwG'H,^AdzODõ q;>BR/(<`eq_+>Ij@;L62z+ݫ/e#yF.nnEnw=-)Fg!ymp՘ aUGP,])W]c|´7P>w*,Ǵo%H~Em\ 57Vw$yZ%T<+BpWw캎Rc<ܳ j,|ytO8N+G6ȁv홙:ʠO+"O˜tP#BЧ-j&=Q*bfcrzPb K-IP9Np:W٤dkźk ru(D@X~"HS̓9.c |vypB±3 M:d}ic16A9bӣ47ʢWH ,V\*u#lct]Zz%h,i-,!.*l`e"ϛ++qRX\2hEٌNKna#㾍9rć쯥1'S_`~T}h6Ȏ_U4-Ia-jk;/mZ>W(ষ6g{N|ئ܄H!7AZeDdW/Q֨J9'aAוv[^.iqɗNc*EjED?ќSC|b}5vIN/u4~>Co!~@;sntVoܲLq ,='Y 4FT_Yyyĸ)$ @Wl)ݫNgeBۄ3B4WTK? >:+:!EYġIU˱t {nP&0 ~|_Oڍ|g\nA?Е NX'Xz>&h? P!2;?{Go5!*QԽ4GhT ÷D8jB x*jY{w&3iq$Sh;}s;?]޻Ao@>DKe=R\NƐhvt6Sj~hJ҇@<%C;%ȃ6[0ycbq9?U?)o6%9)09#:aNv'pkޓ5M\6@p~ZAQ(n*~@eyqhd;d"a=KZHn뚎B} ̞c![0٢v`lRח&ٛ ceV9Y"fC{I3FXh_#H</cv07υ!e>jؘیgn .4dHhYc/uAR`?mwc+缍ʧ˳Zmʙ %8<0P؆f@ibi.#w ֩v^ͩQF̝P 6NMW O8(6&[$L-Ȉ.yl$Hd'gwAPY vTXxi(٦=bve/@- O1!JM-SM+1@zLXnBlolhS $>*qu"=;2CuNuUPdUcDt?k΄D%N* )}u߭IWanWFǶ=@i*G5xFeaUeq;<'fr"l9CF ۲6x1C?TBMOXB"?V32C%RtASytr;LZ,[kyp,%U̎ +!@S{r<_'%r-אа:̠_C |di x}"<>hJ kg䉠\5  NyjvY%|z04<@0,)=e#Y0  ^,E7uWFd?ϭȉQdiz{O20f~Y/HynJ: Gi {z4$'7RДhNpf \d Ex=\U*/b+@\%bZZ@W߆c!:Bx}@VJH և;nbm[ 4oH~m(JEޚV+'CJ~I/8^)Lk!aBh0t>2x#% `Go_v$[DD`|X3e$3MMG)z"\ 9;n >T_ Ff$$?Vj6ܓÖ0NpT*MU$fY1d=qTɸ/ȦQugk׃!y+6)Upas'GA)065cdu'O'wuJq&},zA/jLww V];Y\Qtg"S=sk֫VSߙNْ}tV:Hw2 '˵CLD(W:z@0x3%$v^_㉺Elҝ s |g,Gm:]ǔ-pW LҢ+iCY2vA oHzZjd$64UgQBVKy/SFމ_ d1FVtx?G/ݱͧ'=ˀ Ǡ̿:NΑ1|ѽ%֊g˖al/Iu.ό-KQ\M̽ơo"[*WGBV6G/< V0B F=]9K 2w 4!)e#M`8-|X~9Ո}ݓ`Ҙu/Ii. i?”LFf e >|,e'C+嗪|FmݽEq[aֲEsE^gX~Bh+J%0 7ܶz-䥯+*\F4C0*|c@`j-B%ЅȜT#i5jNL0}N;A2N5( N]eik&i n )}Ƴ3`L\&\ZَlgL=Bq|I67kDtmV-U ƧÌy0)Wi~ߠֽ3fKq'M[.kC̚^i{ғO=/F?Oì~nL 䖊, "i5^?+U(Iu¢X-]f%1mk$C>KU+?*?;'l5.V`)z4Xuɏ ަo~CB;p1kzo1(0C]zCRjt D9k` ѽ(hT$ x,_ۣ,ZzEt .Vd@og]8t#E?pFD{.?w9U{H+~~VlINs]<朌wrN J{T=(%A8j4yC ' ŸY!<-z fMc~7Id]7x$ l 6]2̈́DSkXW#+NWi*dF d6u{"֯ogk\a1ZEw.&o:ԍN U;IE3W>F6OYwM-֮y|1#l׹._P!E2U"!Н=1(E%$|G+";oo/bcOz$!:#MDf!)ם*Dm} 8)=HyP=,o d\)B0#Lqȣ|'#T.#heނv&`Nև/@:ǧ@6'.W:*+7{W;7lu8~^Z&8[hv "Bbڸ0FÇmZYnL2¾{uƸ+I6)f~N!չNp)~K:p&T5|>AƗz;Z>$qmvutG*M<{HS`l羋Wibj9<.zCcxNjQgcM vRh:O쿧80i򼴾:Ma2vzH|:0q"~ V45OJZ5IE=iTQC$ L-po=J:.$bNƹSEFJ*󇿞MbqfWf`F ioSvp1&{;Vf֨\C<Ԗ}gL1Q}^<1npӚ@J]I$o{/zн&P(]/IOZ#M8aUlZ٥0lboRZ/0?QL\-yΈ/)n!V&-ًl/DwLk\s-.!]( h!|P91\i~vIvr^qlL"FQ WȢ췙n2-_'5z}o|<Ȧ示9i[+Jf!!H_ݒ>D<:NWDs,3ʹ7۪}T{az p07_LT5:>X( I Rc4(6,0 |:ǐ4 #\F .O. xګ7힅szlDp\71`Qd[ 6^rP\ #8_Ӎ+)ѕE8q"sgoNM 5`%)RZ ֐g+Ցqa- @ ӇPLXꛁ_nf(3N"e_{Jo_L\L봿JqҪ>}k:D@x )W W]sp3lzu/q.45:De 6c3 >ƅ"AA~f 905p:Az~\- 3;tF' Q^5 j)ԧFu Q'<^y,*~?i4VI%eY>m)Ao^:R Z GZ?Df KVl]&\:)sLq :1Ne+L~.4oh`.iT&{,d}1:Az էn%9Qrv Z$f? "5񉟓;fZgoSc7-~SوoTէT#y6l>6eQ2g`6 8]?KiKɹș kYȸ,Z׏5ِ0&[w8|(QN]:e(õ!%큚Mw(H)eH Y/s㝈-QzQdW4XiQP\Eb8' '|5ta&)v-<HN֌@Ƕ,N*)|6PK:ثX3JrX0AY=G+̀N8WR,m6qXŷ8A[h4"b"2x>$] 7=GJ|/'q'af*B!G>#B7~M171efǑRu"V\_LZ6R?Ǩa[Ltm)^b b}_ubcDːf{p+I $,rK(q۶hJ|ā!M"HD ߙv bJ"qM۝&M$NbФg*kHeT%6lhgŁP݇5CvKl7;{Qf*6:߻_}45&!K67USocOrm\(sr[=Ozz8p}O >X,iQE[ǀwP"rnr# ||16J*j bb'i )lwx&hFR!<#^Vdy2~tm-(<ϝ`*gNY&}7S!̮?Q i3-}\{n JuT2hO:cծCT"o0 wQOC VLV+C7^NeҡH`A S5*2^Od[x7\ͱ loؽ5Osk:Ū-EȈ7WtOhpm[i,xV\bZt3-3Ǜ(nN!ypbZ9FrѼp%To_\śE~ 5)OLx8u*v@b 58F0Ҁ5̅^N4!3T(q L VF\$) /aV"L%4/ߞlhRMU ]&F~QxM 𨅹H|2Q%&J8'2~e-n}%bq>nkbA!sC]aPްYk); &wLAir h%9؊l{;t=fhiXZ;q뢚Db:RS+'ZkZZ7}&^'2#l@bzP%Aaz$[߹9yI8ĭGWQBLvLVp+A 1Ju 4JD(@"BI״Eyypco$k֜ML3]uiLi|~!XSV-I3bfP*DMfhqN+ӏ=\  Ÿ8 #JCOZ;K04,y8{B~}h5h Ǻ^C Yrm_q *J zB l T6UhD{:Aj\]k:ejd?CPOL/M+6["%au| ;䵫ɆZ9bVgc 9<чs RGKY)g6wG"8/H3+%T%9 yvӲhduP\[4ES.-zUĩ ٴv983A3aݤi ];${R)oQt-_zHE 9+yb݌g[V%ɂ잌Dt٠ $GOaK5|&(FzN|>Oj݌+:9Ihw_{ζ4HmaaS%?Z` nяi}>p.b(Ӹ^m`FPI35ı}/և]U$^ܫe_ˏZ1Ӯ+S1VM0"ӠI)PabNNϾ$/P%'sZg)svzCPk%=QIW Yz#yWzI.˪)r0=+;]Uʀ|VQRmHJ~sFCq kY)״4y+dK&Zɡl: x6O/Z3yilR›'аc9c?(Ff [Ԕ$d HvciYukb%i8줮}/h ˸F|V6u2nAjk/N_tn(-h%a.|։ZB0sِC\"-MA?֏v2Ꭲm0R`MYPMKmDxg[Y;aOP6J.kZKC;<CV]kBEm4\-)5 >)ߩ;8wF*{BK"KQʴZ)Co:Ȱ ;Y Γi\xs0vcM[xkgv=1Qm Wu)"aA@Eї8QsB|vxBR8:o\mpSނ=HhD2vIY69 !&QR0/:xx؅͸c cT֥Zeu/#?#O?RQEJTgX \P,C Жe. -VY=! SY]z 5 ɓ<}D Ȇm.q~PRKv4CCBܝsdq9{z إqx@iCfObYj&NkB|hqq@vE2U!$5 nPSPAC_'rolpIGXoH>a`bTǤ]wOȨ'lŁO+{uYǎyF$̈Q* G5z+yKSQdqD4[}+ZڟآD˿X I(0g`RxՓ6]5!)1/?Y'gSmXʵUXjJ&k5 $wB]ntGC ͥ%uC& tt iS-F;Vc$_P'Fa*PW3xb2nJ[д>xPٛ?>B(n6xX*+j13I?iB7Ҡ71`$'W>RN\6y^Ǒ 'Y=@yi>D_10xI(kOh-}DI 0Ib '2Îp0gcy$L"VWϴGX+ʨP&cU7s+ܿ xLԀdn[ '2(M~QM'ESS8qG@z R`t-\)C&ћAR XфbCs <9Om!ۅl ب47O pN(CA!;b_?ͭ>>oS? fbHg ̉%kF+{HG#go7}y()NؑzO`J'C2V`9O'K˘~{"d1;=!؊փdBQX5ԍƩCN[V;+FC8а#椰?Mҋ4Zib[Fi722Il#2}Htת;~ <J8DV̍PP >/͕jjs  4~M50Mb5e&(#giy'tDKn8Qsa@0^fĪg#ؗ)}V.ݭw!lK2bxŪwxӀDejNzf |V i Y}_&K[|%5%֪?ˁlɥb"u`QUy<ij0Kycbdj(;\ S&Br ջoUΥ '1 :d0y*!H1P1D1Bب ם}ì>_k,y?A|Lvd9ө 2uX FsX|*+.AJbH[yŠE_`EZ\g/W̯g.ǵp#7UNK^!9G;D<(ݾ’G860dž2oo{zUEfGzpbӋw0a?KCM%-^d Pچhmuc`xЩ$F%造5ɇp|;eU{6Q1#nG^_Y'zD9_6N9u@7oNh5YfN MjC@)I&65Wv;jNC8G>c~9TG.$'yx- ̂V.uWDiEZTnB3j GzJXh8ԳL's:]D@fps=7SOCPxm#XZWXBƤ}DME~ۧVi 0c4_pm'-*Ȟk#v؞WŜh}$0#nV9޷` )ZHJSZYB24XIŠw̋cjXm&' D,"}֤Y/4{[wR ^^i;YY@`Ctyo(׾oXrvv)|N94"L\_yuYXxJ>ӓS@OQN [nrP;/w>bH+ߨ@]>" a˶iJM cG4?fqk]2# 8,OZ `%>TJ5lsQqn~=ǐդj5@|Q`8:!V%R/噾0[Fhx9(^ E+>h2O3ps\<+"/?`/pƜv(-\~p*s'G9j i'̳|1c/m:?NL1ZL1זbq:||h+ZS̙ Ga>2Ő(5'}]7k#O'KNW'1Wo4e\}Kgob<-bjİ90Hwm"`FT+ZJB_.}қXyidY%nĄrn0`)*Nqf ɳ. @0~Ȋ(")x}6EiR/Q+K "@1a#~BbwOux.e UkyC,Ǣ0~&e~:Bkfm iX!#\Y!Hom X7%cT+I@G]ONE=/p5(/eCOi+z(-)A)Km@憽÷yk1\jl.(vul,>s6mrv7{Y,F6K/jTgR}S9icuFY-Xl;\;GUcԧq.a[賧͵`&[6KǟCh&<#k$*wCx$B0rvaK1,:lt_.Y=w3zq~#^ê UWN~0c/A]?kt}<6.QZ+h;@ .l{ WPey}VcPXnh=!FXZ>]w'1m]Y޹P'O1իXUSZS`@wyl9xqtdjb1uAB&3xIe3lU?SW@-_+CkH_M]LBELqyEzC̛".yj'+7Z cێWS[}T~-w{o zTP} ͙]j?N)'6/qI})TY aM!&j!U2-}Xsh]fe$+µn9~8xq $u'!n!N# [JyE!h: xGS(=)65Еe=ؾqE/*y 2H-O?&0֌nI $b(N wa02K1xWD.RO羱1c  uRY@WxAblsbW\_r\yk~<̨A<]p>;]DA|PLo腗SξCw8<8A:Yo3['UuPS#j#q]8ǂot s@;^:V%ML(P)+uxwTD:ܝv*iZ!9ys`v~K5 ]nK4eʷv#xT7hz Z\7*Ĺw}dMQ?si"'Ί]GG{Dut4xyE  S]^i9d&Go4>,\??'oK \G3{ R9WQje=J 9fZ&=3?0I4Or}!_`Q*X01A!ƃjs#iü:Ĕ[0$;3w_DIxcge䄇#-م'B#b=@C}>iO+JUoͲE Q..ȉ}V P uzw㮴WV9{ߡErHkzR*& Xk5FAz+Bw 6֯Ž '^_YJ:im3] ľ5?@YBAnkRV5t o^|)S#LqHj3:B=BB݆CWpȿ цch@(@g )l!d}ZFZk{s~^1K/whi?3KZι+v|֓*Ea2o(,lZMt0AќBBF/nηm>ZR1r +b'Hn YI\;PVW1/ yRnF5TOկͿ&Cp Jj~T}B'R-}#S`4*rTV檂M `(Qʳ ɠ  ՞!7ݬ+LT@BONrr8*]a%fF-qgC zϦ5@Ͷ !6,M]Bs9?KK{sVV0"(:-Ϩ&oC༼n~+J:t0>EfIP0#=򳯤@M[*| ?]]f榐}hxMu7["̟̣TǟΌDVT%ܝ™jm*s737z(/,F'ACõp4JRPl/b'#5#P}KЛ*VD+$XKڋta9߹"ws'BU ƶN>GA/jfHPI/lXwV1! hTdPGyIy@7GAK$wR%ux"R}gd)7奺4w5*'QR4&.h'q&&W{[nOV0YiroB0dWKه~Dvij:0hOs0gUjF8UܩD^zd?w\ԦF9$P,c:w騥Yn8^NVjMK(L%ivƿ6nI\[yb/ 6.\J`~!}~fQzjMJGٍD]̤`CQ MWGPPl;1RàH E"!*ySeL!HX uV/*_=_dNp.D͉q;2EwtdQ-sZ04 tu- PWt Y%m)fqq>:??`,4A?ns /V34Ni`*2U5jZsAEa;MXlbabgiݸpDG!,=l B4ߥfwH#O>b}o  h]A)9Ա1![|vmEnfN'q~XѪZV5$oXR5A(EC$9.Ee@Uup3;qTa9{B)0Xlicig|eL+f}Pԋ6D#q9/|PxE,#7~C/ LoP+{܏ڛO5f4s9bξ2ڿpOwXV"ff6íEECz{Ra40eRd8]g3'+iqT4uȂAڼήe?ryjo2ޛZܧw3=EvEy$u%8΄^ 61(e`A?^FvU &~:D+\jOfzN_I]!!W}Cz$Qvb,=:5*ӗ;zIum;],p@z…s)*HGH*;Q+۲@ۘ/@"LP- U̴}ՏFwzA~dUdwM<)[[9Pl#PŁ}[\(ܨ4WPD)"-ciKdz9$ d>ܚfČgcgtdF/Ն=9~Hj0#Ey2]*S! cJA/^x7uqB5A 7w7i^W*nvZ5_hI"(0IBV^/4Eq~T\h I1و/.\K #Aqw9C2Mg2*BpbY>~>%LyybyTTȉdX9C{#R5&/6qJ31q-Ww_cN{ԕ"*Ogsp qe%F\ +pS%Sխ]_ J N8{g1Ӷ{K[pU7QNrё*rC%\^k!Y)P/vu7]7Mn%1GC >;Y>M+SVVmd&x U7altT`F)z*8(ϔm@0)Ivyt"wIZoޛTwh~#mx_!J1&g\0ӱspnicmT3}EotTF9afͮog,CKYiYxDWT]3҆w$-sHeFȉ%=r T7wP-du'bɏJ%]tƋWm.Bb-z]Mۆdׄ.@|K>Ť\yEǑ|>Hf Ը!է>_DȃX,1}#X*a +S/oosBT H}]6>vOQDIXG`$ϱ}; rP*OBڟか0,D:b pts1⟜n_ -@vwq7Yi|/oMvxK}?PשPUzey_RW"?yT6M{)Aw>9;t+#ta3_|mYtܒqqoXIјL1NJM[GGFnVHݭ"pRf2毵iF:M!qd~4("5FW*:w/sJd[V~v_Do2Of@(%kɴV$L= {Jf[+s%%٦K(HI2'[I lU(`˸Ԧ̵fk^_Tٌ|Z12%]ܱ8'u {Ug?QÂs. uv$yumүiY(f`eh/5UqiK>fJka2\r$ E4R[rQ\{rcaCa% qhCx}Xք"^;}V֜q6~ixztP@@؆TErD wl9OcUk,USm۠oMyb@*e`gt#C&=Xpa (HnkGj.l$p(ӮJԚL&o0Y?>2 OO"mG BAȚӞwJօ\Tlg6mEI?FnEhBBY 1+wi{V&-_ub+eNn`BMr2Ⱦ>k V.MiAO&D0.BV3`K6 '-yտ )z$av{n9!RK4 Dd_v_8х[]r[/4ik3H0ɪ3j83~TLƕ"eRztHW5bDKwm+?]|X|Y mig~{kSP}3Wyi\ހat7Y& ϋ>/$) oSl:5Zb |+0x%eq'y*ib|)Gt5=vz3X;."V[CGv eOpwfE;x 49O8⠘'Q.|l>U;@$(m2F/?X=T1/9~ ILV[=g|z No'~ 9á59='2|ҨD e时{n EZЖE)$|PXL}ta oW4"SGE]w1F&h4 5k߳Tg=xH] [㐰DʃP*p 3c6rl&>5UtvDuŶ?;dzo{VN> T y DG,`-YX&giPΰJUe`Pj<Ъ"ayv<,_T_f$o[7G 8iz&yr:o˪}%Ɠ}·.a򒗢t}#P/ {/>#ۭkI}Z2EQ,:0 S !VjHz6!7V&NUXxXoVPufWqK.T.HtMExkbQ l{j CO -3#zFe╡{ Xh *n/R32,J W0$УcV QV:)~g6i&p SߝQQIl 3iZrЙm)q")!S:&fGCP~pEK߷Oި2;\/d I\jd/U &u,oHX0}%Wzi"VVmQ[Y(Bk0,C>GH0] Xa~kO|<5^'ŋ>%u >J.LjDy7ͻ^e[{{&\:r/}~8g7jl1<Y[Ahy./YBF&<]RʑXJT@*[o1sص4yX#["ۂ^xm>SHɛ U1s}-f sd"㯆-9D'/!Gq{)gހN[ uf6KY#>L210P*Hdw ~*jJH2 `*(jE݇~9~fT#fUȭ.!>VmNwd'{LjkA PcR'& q<(-4}q51:ءkRKGQۜ~IX0H m4;6UY/ 7?Kǒq\غ顠¼%oySO^a7-N1=_B.UE<5T7'"<ṉ5̥@T5ѓK?f7jGZH+-uuʶjyđ`ub,4sx*iܾ;|:(ii.ٰDEh9!2PBȅAw t5-񨒯82'q9fӹ }KG k5=0{o2Ocΐ wϞe U߻pa e_B:ropxBk4NL+a`2e@A<05n;yG:3)L)A;x<肸 z"A&|x"j4cҠ7O^+e<|6m "|,[HgI-]8#2*)·vaͅLe[gI<9f:@9%餽%TUv%B"+645c$99 yȾ$\x71 199Ec`'H7K4,Wl2ǐLAkWmX^VMoĚ ;1ySxp1Si^GD!N#*ݥWCy.b{Fd:o,8Jf&IMܞPsF߽c#DL-|t# +m;QBTC,Q6$jh'l ݴ6c+o%jZPnB)h`xȄ9b$fy؊"ү9Q5D9\}V͋ޜH*; bc${H2u$Ij 7@SjWi L4[0$#IC?t$=FA^oTHnYR $2hqO.9&mo:$~XRpj;55F SF'ꖆ}D ''eg0ZV#7)EVE0:HQujcWWB>>nipV? >ܤN3⨍E(K&CL{ozc)GedDώ uy =i2$J&$>9!2M3In8vZcq5QY[1[)IDȝ ?3m-QftmP[`cAQ~G`+ov]|қT)u9UH6}_dgA]>Ĩ'Q}C:/ih &hhiX_9 ]!(+wC9NX՚HKti & Y^,x#uyLY;qT88Qo{0ꦎy42sNȟn xDw}Iq1e{MxQ7[޼VP;k(jIqs-:?ӬKaͼ{o%pva'nq7MagݫۓY妲AwFs9_2zc"u7vQS坯FGoU,=BPxթd-,YG=E *&(PCcMks{y+0%[ۃ4o=*4Ic\3[S?<4m,./S}܅֌/)Vry;,C\cBRן۸9<`׃ukm`csXݧ#_%9vN*xnW&39I:FѼ;/WI^6SSwZ]>%EkԶ*>#1+G.pPPvaƣn@okEK)l'+ on\Ջ?YM9 hob+m8%8J1ݦR]-{5L7U 0e['KˌSZ|inj'`]xR|#R{@v/) * es+U\[ =Ҫ .Yy~ (cܓ}M*TOZyoz0¦W4'Q,> 4\C-ay̬:\L@-"WV/rIWbI#hsph9T$fRrة(E>O1 Ujm9Ы,KW AQ׃40 EUhKĮ|Hd+(m @y-ON+ VU fm!%?g(6~WB;;bv^ ̎q;,PϸFJX^.ZƕJk!㴱Fp%o]V-n-`ۿxɯvs פֿMQ܌u̖ka` OD`RuF" @|D4v,"ɠk=}1[sCWh%7L;<f0@%N~VV=1d^7c Ԙ/Ѭ["hN Zۀ@ FpIVgK-j+ QJ+/\{ʚ{\.ԮM.A3E6J:dSڊ?ݫ_RhtV *)<xmvvʘnNsć[%!"Akl lY|aٚN¹w/'ZN< VA2=-i6<`|.?_ջ3̱\_/ [pџD/LzvEѥFտ wln3%rdCTZom= eH)ɛ3bA 23å_h^jp}#ZܠGC5&9{AfTd$)c'NMͬ"OT8X?X:B> Ƞz HGހ R?=j`bP\[XA>ė^*ی1 Z;' 2z16eS{1/v#@4ué4T/7q3ҋBKH(d›q1 tMxo5,PKnU?qD56 RH︽KhDJ":_%iG7T.+Anʹ9r:T+Sf躠WL2~Z{g1mbV?#D\2=cAYb0orp"K?Kn 30뺄'{Z{*0%d4 kOrg`E'ߚzk[zVr3M N>ȽF`5w33[3""`"ݡҗ_I| ߭UalŪ`O,)Z!irENrjnX E|CeIXO>|{8=FaCF|k+F'A D^z;(LٛjqG+J7= '(TPJt@N` tӏxg18nFjFIsc@na1I)Tۧ!nۜ) 8%OӃ=&.z38~&׫O٬3ى+d$/%lYGT PH^uUs~UW% 6ga:ݺ\e>5#HYd`w{mPs\ i߫.=ң$5n_QNͣ>V!lM-1}8OpD<졲{;6|'37T}X!:@FF݈] Tnt-IIeS$h.2"4hu bC1u55w{g̓uU($Ll}Db<.JNOE29{0 >6H+c_8L$HYxD{ uj!}cfML i]#* #)<C;3NKzӮ%J_,%T>Oh8&c$9FV◞0aDryJ ERU@ʋ yVn5JxbṖK+秫cа?\<]A='Dw\3#XYRd as9zZ[R:osCg,Uf!"-7C[ewvgi^OwO )dG*Թjs8:L:Ċ'SEVHbs1sܥ6^):i3݀0$Q}:HgCэp;/ҘUg},V27jN7c_H1?Z_޲@"Κ#-g]в[#eeU+I=4 xݡRǝi5 =\U'L$rd.>;[6D6SC]1Z/w:BSF%Or2SVۙ'MG٫@)҄䑵?ԦV'zU._'h,q_Y0Tpldž5L{/L]2g^Y O叶q+:y{  E()f.P]1.#'mm]p~9}DqRϖF5FJ'KY\灟[?̵9,aSM[ՊH.q05hrZxp]ֱD(0\ץB7(X\RMDbHBkaCDV)qP󮁼ܒp68`4Okn7CBm2\No!;r *d|loj$9wde\S?<{@iK<4ЧC,O>+ȉjQɾϚHx.I_ "4|sRUh\Lqd_w?avLZe:2jOw?OnAΞ[B!, QA-ÅX" D)ە 㽮:#RS¿Ь*2_ƒQ0x)`"tNἒQެtlg69' DyYfpgbP$"n3mN˝b kE ST{1p.]ALI1Wrenis/yٻq8$_? Y_閷 $oS<2o ɏ8Z~שܢ vιpt1QSU=@Ti\oqpZ,5u>6œE!h,n{[yhEuāKgU4俤ʥV8ݓDiH@ST1qWs+.r$C5"F٦zMiϗ"CMxJL:hi K\fj5_E ?Ģ$+_Ra [ݣL5lge"Ucg:&,H cd>۴Le!hag` T5*9ݼSo ^"-!#qnʆn)3f3e|T{:1SDmLV¨}P(ab +ݺa܅ [ nQZE02{ۙf2hw"$*" lUX#>T-3V!Z%[/x(ZyE1TZs9wUbݴCIUkTfJ1-p.xc/uo䗵 lK3-X[ YY-d ႚ0̣A.bi"~B,' QWy58W LL┹\!RKܻp*]'!Y!)`cYDB=NQ7McUMw=s{Oy̐ΘhhbJ Ag/EwH]J۞uHJge?:Md9}9u 웠od́ \Yh:_2%5$Lc,|0e 9dFWݐuRėF쯄QQ *M7&nKO!kJU*__yxo5/>q6k]rD#i=zSLA*qk ɭ{x{QV"׆zQs\pHn%uKl_Pl#a7ehlصxW^Ļ3m/nP=S9^o30m;N#Dnpv'^Uҍ*7FCnQs{`zKI(z:<$d`d^k0u!h#:l1>m5JxUd2j Rr$ZF gqCzsnE]ڌuu~R&8&fs$,ʬKBNo!N˺}VNw%~>ID"iƾ DqPȯ1VhD0phCe~SDO-_Z9M6=[70hs`eŀ=wG8@(wR57q2z#|1(Zk^LjCK+(yR,}^S›1X0y[fTc9+q8V{YPQ*Xd?UYGIW_6hkCή5{ 3O4hgm1ZFN!'#V١=57pdM1ԝ7{R*>NA-IlZݠ__ݮ۲߸vS$_[q)nٳ Qnölt1ԍY&`2\5y'Խ&Te P+iC<'.t>#o <;c*"`V`i3kѮX#:.mfׂ7~ARUq(3m;G#Z[f  Ko1#l,Whܤ'*e)t2:!,8ROWO^~Ad:DfѤB:я/r!&# IOSen]7Ϣ JTGXY#1 %6NxP}ⱥA13}%jR WX4DE'҉q*@i&*fU^5\?ڬ`97i  R7AL15rRoJ6iP&|LA4J|qzW^VEm&'tт< ImЩP5v(9E٦Nd!3QǬTqe2# ̞(Jrwx͛Y{gHQ+H7JٷW$}l>$Ի4WTU=uSB{m׷O`kʏC[J@VE)=?5BqM;$=B\2`l&nA+$lu"=q)OKGA~CD #kECl!kj&,ιpwu(-RQmX$xҹr UfR> oeS¼ujEI~82$K* P< 쮱 7rA"o+GpqYĜ[VsyG-ͥh7fndeZ SO]XQK9j 70aW˅& S#h6X3K>M7]Pҽ"'X<ƀ,j>Rf癖䅪S9 Il+oƌ8̌D@nūc _K:bwA#z1}{NQ&-8&(6ض% ]y1p/Ga&8ljǿG]QAV 糹)=p0|f:{9JG4QRmeȥjN  /|XIߖԜcL6ht˼eyִ@ `"gר(^.޳YL'0*uFSN'z:z#6IrٴarzI2$3S{8M6!2BJ2؀rҀ3Wym|=S%$j̺8iV|$2xv̡|3b|^./z556q +Q1*MJSi}/ڨnmt U15FczRUfd)h `maDЈՠ_oCxS _ơ1XUB(s%C%M:bH=32-tNP ='\$Hmcl`cZK4ᗠ}gI1{7nxR bW<^}1ы)!l.+O[J<\-2=I=n(Vi$ͳS6l}ЉȲsVߤ }rLZ]\)$&6m$q~|f::'+H(UgI g[cOBbX~;S2f z:}WVa'S^;tWQa eT3DEghct=dM)馀$i'P DsJȄDR_83d3olM^YJL (#R{uB󆘣`KD7C"[ml~'m딄&b gn͆{EN1hR 7d&~}K3r> 2_O= J6xmu~.-j?Z[vǑ?9c2:>zd=`Vnll`:;miLwHݽ5̧e6(>b_$r:$,X`*ISwN'c9lNm7bZGrVKi]HνzVm[APt3,Fme= ۍ*iU)3`yP=jp[v]N_bYN C1M8LѺpa'9$p%C6oosYGONI$-u XF݊hA53Ģ% z=^jιȁqi֜HHPX5 h0q DbGpS ֋fay ъwĭUy#B 2]3]̎?5.eїM[li9 Rxx^J\VH`&pw x[~8wU  mߵᥙ 4rp #*7=(~ ;L=0EaĪژw0`&6t.:.\|:mrm*ܹXUmk%KXr\UCEb.DhF"|3+ ArIXגuI3,_WmhDas7i-K_b3с= ?"6}A`Q^V Va3͖|OC?aleAG}nb濩7G[1#CJ>G?la#=&F~i zJ-Ot(`Ui3a3~`Z *:īt u>Ǎxчo0I_s)r Nj+mPG` tLv9".N]*u[LxH#n)d#㮒*N6xDߙ.|]QN.a017Mn-t,|=Fv3rFR&'^,gjd~7N"FP`)Uc751W !"܊ Wq?=e(\=``zFˑ``UۃsڂN~R֒r %xkJöR:qBehhΰU,xJ;6r6nX\mR3؇+'U;O`q[U `$8ut%:B*.*":mT]]V@DALO'/?BBm`2$G!gqua^ Ѩ. {U^p6p saZ|&އqT bB17&F09՗ov6@tRڸD3AW|#p $j{dSuIx1l3do\k;ՂR20'[bN;.U '>dG2b{;aĀջ9C٢']ifMЙ*_&JE~!:&: ˰ΰ%|@֌".٠Tu+rX[WNi*8tV KnY2/:n~RBY^ Wa9؟Q}9o:$];cM&GG'XyƔ2Y {v`%hRQ9(lk!EnNkV{`"I7 '/-d6Lz"h[_[[Pĕ~[38coIh}A議+ЗydF BI,湣nZ A1[|2,<Jpக]RT4ҵ4:gY^ξar](|=7\Gȥs ]:bgePc^M?<80/o ߯+A%CE]˟o*>luS_;w4QZ" 23leԔt%(j) _c@/W/![D5@_xS:awPܬՈ3-߁Ul֛  5fX>NSJӳ9,^Z}"VAFp9źN9S$g v%l}b6]2:nBFWP|a U'P(QkER 1Lۄ-H[O9@V/2X4~UaK 6Gs3mL0cLU. f(o$;l{sdB7F@)T <(4ʁdcQZ:?H\ig P2)>Z0Roj ]d)С0]R㕁 _!V^/.M3ձɊr*QDZP;(fAѓ޺Z{' 8i'Jrwf H4U PK{k[ 2e`I)4]6O, ^{dGFElo>PfX$D09^P#'௠W řk3-@s\hgO0&. Ӱջ ]AM-ip"mn7FoXbg˙LYrbl~uPy~z1Jƃ'! b8zY%tӰ_9ʍ# 5YW"rNk8 -x||e)a^Wg ܓ>";~r+YX94O6-Jş̻?Ӻ;NXPxma#;(og'Pى *,LNqZۏvw%"nW fD$6$:g]g|׺'~[#}D]+@O4O>$Y~A7 T"ByR@82X'١9uz#x8,3/X,6_Wc۵sޅEߒQ1¦h*7ؼk[̍6Yq%Qu u-sӀy\F[7g!Η¼i58poH֘w-lϏzO=!v*eRyt'xOm@]$%!^40t n@V>JOIB^וb5t N_x .o=3J)rKG@pm'CߗrL뇓(Xw {>NՁO ?P#\ty.Hm< ]~l`@E(W:"B&, ƕ"ֹg-#0gp4e y[y*^bk)b[ڟO1&wpo|LH<olR;ENd^V>;gcF_9DF/xKI3K*QewZ/F˰0MK8zM>[]I2S}Yr33y(uάx,GAscX>H;q!kB6 8gO삀HŦhKp8(<&fksР6/xk΍:Nk+᭄biHfwLN߽L4<8"#k 4:$tOq$1?]6ˊ'aHa)ƭ[&iQjR!X܉nϣ>NB&+l5PD|=zb8~ͧ+_sJ?2 -‹P1v5[gIHo~: űsnfSmVv.ܐ>eHȠ.U(P,UJx4$RppTw1ՙz~&=U`n(\>XeurWJT{Imp#'!;{mz䲱 N\ˆqnvK|fտ ڬ%F0'BOfPy=on!qC#`2n|U, s13W[RѢ:l$c a4MaCYjg ;' /7~3>S="(kKgC{wk.D<4ֈP:PtJ)yn JHܯp#&oY͇̒h'+ >!C@]рα|Ф7ȭ.Wσ@;R*"ݻ:9 ب* gA,U]4VDs>* D'QWӎfmɄ#16;}B/Z&@5v X+uZ!X 8pmգ Q4 t%:m:VԅO͵т0mZ:Wi,޺]-@MNdZO}]k'S~V5%`5aJ01k1XPi5٨h;f,\?ٹp^ \,Gu 5jpGlAⴈc U˷20Q q;CK+Uh_uspxڇ{J'{_J]| Uk~b^ 'v}yƝ".| v, Q *E!3X@zHm4YLlly#ډתOUdL B&NX|%ːc/17f(proND.V?ydpi-=)2}>l'{j5Q~uM VXuhhBF.y­d4UNgEC$IJ瞵 M{DOO*wH-琜dvk0Sg.T(H.vyR_f)_ǁ:$ڃSwRfZzY >SI8vsNFmɔA|4l q ezơ1<9\$2w md,/A%:ZP 9P ]#rOUj:l~].r*Rf|P`fJ@)EJ3K\T7Qh;vgp `/W XD*g_. Ey bXĥXP]rAtjcqI_s=W3T7Jz[1 qe\lzZFY7m/\ʼnq&y`g D]ѫnMo"SZxgn$5gk+E[?ŠՈ5z膪-T.\B;=jO,߾=B$>.߱IX#azZK6rD{J<8`LMU q >GwR &CXx'8:aM'lH"Y\ambc @D? T n]ԝ'NW$%V6L̍͠BT^#x=aB S]}\%u3 @]M]Z}QLKS]yZ)E\_%v[ӒЗѳW,;f BGL k||hm۞fo@ˉe1oPDĆ60y~G 30\ u/V[)r#dAKbG.@8&ˍ 2 j{UȪW›O<*+9UQGuD aA{rtY+UċswNPuwd]w6D쟶:0\Q RϮn~-,/>DY^g2i v( ʠIǂ8B2 󂚧H&{%j#"8*O(g'f[9іzU~)zo޳i u|-Jk5J"^b=R4` PYӌ]/|pއj^ME%^9IL,&0,y~-<r6=m] +c Zp H?XȁۋWi@HK P-%myĐgVO&x@t9ƮxRvxI3иplL4(_J5,>\\'١we'X .9)|惯H3.5NQ94{|sΓ17PBZ`BE,wwft9LmKI^PdinhΐXnyM{e9iG0Aw&(a8$5>Î2YJ Z0jtOB]}͵$8Rs;sG,Zc@Z0ĂC+'gaJ-Kd,38]Q\l6-]T{-ܼyKx蝸LaTA pϕ!c 4Ca(0IZ͝Atj0;)|Qlڅfa  [y#IY̸gG:IBp&LI+`>tȮsi]&eLm%m#.Ak2ǭ Cw!0πN ިcђUsn35Y_aҪ/VdDAc&Mǫ'IhbJHА0.07DGf(ipGo{T6y_i!Ҍ(v\qR`pHؚbU5.^El>dd~yzqzacJ$#+dp$#N[3$ےm^Vs!SFN OlTפ1\sc&!mm`)ғu_`T.&FR NP5|&л[X(& ĿkfiEN-u>`fG {L(^}eQ/ZҮ(Chq!o;Ō$ؖ'l#h!VKbZs]Cʫ!R.$8NܟlY:1 ݇Ӻ6GYk˘t{(dl=“ͬ)QfhKyܟ,5:rC'JSw*{%pD)Uqbc}5#~:Zs,4$}}<0~s=QE[ ߘf d6-I/%;.;Z~} XM H;iگ[$Y!0);\zTD:d%08=d,"?}r!nJQ)j-;> o""y8E)bxb= ݺV_o|)YYi2˨m=KľFd1Ԏ)GuQ|HZnU~G-7*щ&ˡ ;T>ig^2Ln6cr)pUT*4@h~7WD]8Q]^cg?`nI;& J4&rDx⠏FoBYWÀ[ !- F2jF %z84?;OdRbWɰm W}EΦCy|q!^{Is,v*l}5ꆖš]Nq L:樢qvX9vLP&GkeLG gV]Jr|C5 gzix0ꢷ+n>si-i9ss @7c_}0s=؆OQ6U"[dfz˽ ti汪Xt! V1hϲAHW}.sFMXe* )ΪB?X88h:7op܇lx L1bM?q绹A^]SYt@k{a n]B=_:edlA]gw<>G'!a%~t,3?Vzy,d2_W(nF%0dJz9r2'8hRkv}HkNyHP:Qs*x7lbrJFBq.Տ m.4WQBy-z%#1}-1Q~ҧsP~"$ U8Ot!CC4|xAڨgmwr :PL*-lvJcG?vnQkI^?HimB;1Dw(|vֳ@-YfUJ)ˉw_VBiQ+9WE"Rp{%sC&Yr}g\Zh/\jԼGbzf`˗{`zIN%wPJ+}2>Ro5DЩ Տze,U F͸f@"@, ?VLْ`[&4q(sV ~y`zhWNI)9wvNDl\r@rl}j٦VZ{Pt% AH5)3/-.dT;ɠTbӚi// ֱLQ]P%U=&"0T!DZwoBx伍ŋS!Kξ prH%I[Jʞ9e>_qhn(Gj,xx5gu,!o`+GAA:;ɦ;zKD%T  KG$fK ] TIqjfJPⰬsKg#hO`=bͺVN(oT 9]2,F-8S2N6:}>yA̙ؑ\ʴV""xg$k77ѯ!D5L)?tf:Ox1w(6!Yߦ2k4B<{) Zn&g1CuaVӏm6Wjx'kdqWMVDs):v<x6- p%wlʂ=N @iCRlUsx7Šn&o@g-)㠢cu6F+=8wv:7i8EU{MfLzRy&7jkzPHi'[75$ l5Q(6ZjWFtSΖ绢p殀rĸJz%h2w)挵}6H4w":DO$Cko6/UANbŸPJ3 A;r͌+ȡIzjTm?đwX'tXOAa鉮m \;{0dinD~/5F!Ӛ^.K'خw$? s#֫71_ 4l="r{{]Nl嚗L5Gj'wB} $#_ w~oitZCDVqO3wP(DlR Ҷ1_!D|p[+*O "k9d̨m釿0p )W+nAh%B'AQ\mw8nMF,D s'PEQ\$J#y{~L1%I: ݗvˈGt Z!.nC\[!9暋NS)VǒFplXX"#h&('+$NkM͖cQRaԙ84òhŠGYRl+TcFg{.tTi@t$x5Pr+d,?e% [rŭ@()!<\_U A , pbQ;Ħ߱&ox I _Ry|pgW5'a^CF}J.NQ_&C¬o:=~%bݴǯf!E/DXNl졍H nq tG]LFl0\CZ-kކ](`('ĥkY]!_,ps4vbS89^y1t<|`*8x^F=E]Ȱxl<4U{QvNa&(urDdͿF4 r3}i +8eO,,ި`.攬)j~c;K^|/m !vi|p>RFVx>ϋ !iӆJn7Ay5F4ۓVq)?_o@ɄEqcs "BpbVct,WƻphaHJWD5~ujaY.5$g8tK.6%br kf0-%D`H-˕B,+v,OQh=;Iةq32,z^6\(] Q7&%uqKT4_Qց ?h;DLqJHIguSiJ`0|q\ϧY(#G0i~#˞_zR'|ΉRRjBO- V&o#g^ &WwMdna㒵!j)Έ`M|UL헆%gfM{!Z!!{E7`ZI%ES yȐD+#п f~cp3=w#D,!6զ7{3N+wR4Q'ǡ\m ._d3:\BS@nwE@ /zr8Ƃؘ/^Z"% wS+6ry]S}%}4ƷP }-*gr5QGՒ62|xNʨ&πI$" vO=ih-~MBI VŰָk)84h< kK.-:#0(/b̊tz{}涶*r+g_<4r|rHZjo@RǛB<k#W %˧:v^uF3t3O~C)1O"m }YW8ߍ͙oL.R\Ð 1 x2!=6 CFZ^t_B`1l8UmE]X ?kF:y[Eퟀ  ʗHTQ5! }S=';3]c 'B]nLUW!Yٓ#y)Kt!c}|_p7ߤQBzcJ9fME`O)VrwЋHYdzɥ8]iu9O}irb_oĥossI$˿0 G ބ.wSq6&WXB!B^xaۻ~?UP'[r6?e߅3 eRA}!3ezo350F )PSCtN-5ƵL>h.;v$|ށrZMs_sYASM"N& +; ѶU?[qհfPAs'!pYxjWdO:Ӷ ~&"rmj&b{ʣnMDga&"\Hc?9k*3}^޹q5_mu$XzbN t (Y ,ׇ!3'R,wtD9oK-kUԆ`xgFv4ܲ-.v]v*#1 +.ݥF@wNZbvڃ@5pVm>DwnBL³iCJ9X\ߓ쓎?ޠZgd}G W\+lr~V~ Fj+I"BAv( v?ӹӮu簨tRQ L&^NRKN*2!o^Wm?5.J'S33JDɟoʉ hޕp8%C'3MH(6`na:]U3Q5Uy)'Z"{F=Go^˹ML"u6QĆNy0se YX:mۙfTGvCbæ VTDϚjjڈC}OV`g(h5l"L,_c#ap\.)>>׍]e7{TP L)M_'X_ :̒rJ`]d!srɻMna԰FUv*&.UAA/rÇqJ}F{O0PZޤ:`?N\vhxj>m??r# ܔhro-WP"4F`BrSZV1ʒLO4n[Һ>($mM=ɒh f3^_˷]$-1DH&3HIsB^<<1kx(`c'yvJ7#"U@m[vx=o ћ0n`=Ζו$G޼3PrDL xDiMml϶oU/c!逯WFlx= y3yl%Hԥham{ֈZlaf#={Ǩ2R.ǾtjK`~l%i[RK_ڒĽT!@-c|]Hh*8\,R<,g>>_{Rz<¼Z\߈eꋧ&_\e21v=!v4$K҃%-lT@T`>{ &;C8jMmkD#b b$K2#;6ޣ&U@xYBgj Tc1ܸ[e"Up8ӝz"~6vwYL'c|Q9xbΟ)M_cM?trkYy@qb!}KH'npX3#GZr5??gȖub\^ Ygj>A$i/.H4LJwk4-i>g2|;eNju! (B.@AꃂU ZB,XY.A4 ~cC:Vrw<8.Uտ ܪ'S3\8Xmٷ=X71oGS+d[X@K6`EQ>PGq63P)4J6"ﭚφEĭJ*V$?NرDEug%B%D{ۥoaDM[%Mp%u)7!Y/&_\ .Z}wdiV6JVs\J cO ӔŎl};<45#r $jPԀ Dtv$Q1f ; :ITyL0@c= s(6/8 '<25HD{;Dt4=CtV#k< "[i R0?F FIϠi8C%*K;Oeu!ol>@#񸧀 |SٖQ\t QbsF3|Z֦Rt;R~bX}(4q۞\7v&=@Q^?VLàωԮ{Z(XQ;>K#(` wbts} `g*}BVc efD% *$#|}9/_pʺ> ȁ">4-$m)F^XtUCAK‡R>+Dn^Eiw#/}D`{_Qxɯ ҟ\>/w$[ڤ\< m!.O4rQ-T(#xۂ BkC9>wXsVVE \(YN˕0WM*XH>U-USm} ;5Xʺ+ :rL%+&Aa o95(>>{[Uŀ(Y(e$"KМXL*?MF΢"SxaQ)?*Bc)]O3 듐'ȿBc2Zq7vmU@rfRӋVͦ&b"+!Ni8H?(j@ u]p^eݩU2_h ٶc3HQ\:/JěMu-5$`Z%Ro-Fĵ#]2i:tGsx05-[|XQA(7#ҰE?.IAr_k3o~, 2W\z{ty6ƚ'o E@kyl4e c$|0XbhwK6xreƯ+!pUf5E!c? >2. _$IgLdR@B&~j3B\]wL'MAO`Q(o!$dT~MZͅ>XPȍEv> , ]II0imV4VuX5- IU4X>LQgF`87?DƩCݙ!5h\+ |(mZ0]Enö;l-ִL+ί 'y>F] _yFn6障N2+8V]Ť^pCʁe X__4Oƻ1:sڳ[`>YEGj e7 9BTL"'mF>L=Vd@q4llBx\.g㊬q"*z.!!#nuwD#"$[P6de)lbra}[4E|,ObȖ-5@6yTYKNƸ^*hM}(G/ sm4,|%KKjӊ! ky`"c 2]1C6Dd7vH8I(7nx+TE;]@p\?Yo.N&ES.K _ECS;NVH#sQW-5 %uǪV~T$A8"x~O6o+bϛ(>= OU֎"fwǡٝl8a97S3&׬8垚P҆A˅2iL} ҂鋹6O/C,v͑0,^fR#OR"2 c0Y݀I%?mb|GigdwfΘtow+*ԍЀہ*V$~i.`E2 1ETѵvFI|6 d{5ԁs0ilZd֍޹C(~sO!ǖ\֍ǪjP%<MxH45RvZJ<} yۛUe23-FI`t{$6bex'k.嚰A8  y/ t !*qUjatTǦg XBij7ڑC3Qo& ƣN)` 0_a sjMq9ī ƍW $sp1soGcswS¼ܸIs&.V('+%y?X۝-Ea\rfŤd+v\ #G*}pwa|RRV oxNl['+@ej?Pf *Skp2q;=IeSOEb|DCQCv#̶YU⋛@ #'erpbUT_ۃNv?d5& U/ '~o [Oi n!JMuq 'XumeY Ԉ!([]TDXhɖ 윃_,] ]߭$]n * Efl]+]-K;l6̣6(_Q_XJW^ )/dq08nb=+`z0M/AyH${jMr兗}GnZ|^U?6S1wd]K}l> M]ü] Jk2Z r8X+M"|%|;,<QaJ|k KJu5Ujò}f7.z:h`nHnZ焬1J OhV }˷ >Us KA_h۫܂:AeZr".ThP4h18 ]Q|i>WPԆI:*X6P n[ZL3g\&Q .v^ *OT.$׳3S]8YM`j܂& K ɧ?o\|gz#渃;]oNl30 LalFI|*zߔ\G t́ƛݩ* LMEG5V#^Q׵.9Y)1YO9}RyNӏ ţKogVK?F`&&fLy΄ٺˈ;IQ`Z 1ԃˬ !=o$;{;F.> '\YEW\u4 )6{1B{'*S&H_}w)Ղ!B4x Hو\8-KzE17򙵎 VC9߻[xۑD,vڍ%\{(b=ၥ+'F/ DC=RC90ːe7e:Q1o_3O#Z[%pXE 5T[٭!heCQ޽6U2Zה ;.Xlj_&r9 cZiccCdLLdp$0!NMV"RbV0t !M}hl+em!@,0=O Ji裑v8*r_9%/<`HgйfXonyDV6OnDV2.HE@/COd# r-;G RN0;?M~"BČ|$ j^k|H7d1&š [3ff<آ`Cp @ UV=ZVy1v 㙗h)ὭOXegD gL|[ ?}!J8/N=Z3znXJ /mr[|E,𩬓_'EG)uUa#,'&|T=L: H% K<2kYOgt vpυ= T$~^RPW0G3=KB3gH&Hot׹SHcV|؞$mdTH   eLuj!Vs] [,;`#U,ϒ,M|@Z2XSK{jKPWfԨk8 jZV>DWaD_kA5yBtWnh,'+:јR[~Nۣ:xW-\ma\} 4CQqFGtcn`AG9v8iMgA*so%n#(EQzLbd=uE Z_ ߺBiE{զ*;{4Hɟc2,j< =<aB/ڽwD"'.j ѹHJNr@*uTiRݪOJ{r-dXN.O݊UjEwd;qhsb0fu%dG^4={BЛ \ލ| i}m U`)'m uC0j&L"ZT`&zd1\ f#ը0Nj3ʠ .R@dk({xDXx?x_bI$iHQ? Wc >'j\`s N39^`Bx+`%W _]D!N$L/v!n)vM W[Gs4}A1=sJ]l<^kVe6Ŵ4{@g{hlPSK,]:/ Twa mUױ&bV"GQ4CFZb)7.*dfAmH8VB횧Jfj  u| *{Oݜ<߾lrM?e`چ WA_21k2>MZ־O1lWDea0,0w@G:1sў^MfbsP+Tg s6kU-:3mVAGTE@-cŭ's򪓦Q'Jvٰq8>cː^u˾:~ XnNwr_R+" _a #Gtb=#AZ71Ma 67,&[qQ51)iE]UW'dNKxq>oY؜>{/U}>aB?{hU&"ӱ0:[JW׎(ƅܭ?,r7$a UHo'Jfį <AYn$0'i.oJ|[ (u"t:U^x۵aecC!xyed6-B)TnTq^2iI(AsjIr Ҿ όZW?Ucu$O|!H9D\ٚR IMM?%04)% FZh9Ԉ? PNw2V_-;;R@/{mŷ0rENF_SWCtO\ay逈6dȹjIv/ 8%-0l{/iE϶BFʢ0eju/iM9k"jx59CbAC,5@|w?1ߴ{[xc9I70p9mBxlwO*J EH{9P3|:}0ˋߓlzqjnˆ8"%ћ7Y;<~ߏ\oI.c|P1Z"g]j>@ "IIºAcU%Kڻ$!;"I{%UBݕ*X@]x_c9S,2yɸAQw:4R2$>JL jHL!x|MAȺR ׏MCx,{jA:_b$$zܬtF49fu˻Grf,1ur1q@"[M9vN JD]Vb9z,.bٙZl5lR5`9"E4E/M kbIt{Jej`R_Lrқ\]Yg&C.2: 43>Z,ЄS+`SC;4:]]mkl-ءpW/-E1 1 _1,ݏ6qs˂Q?GrL.:4 N m &KuZwq~Bcsnd+:%UT1|@qϫ㗻! 6o1ZyF&zэՉ>œV ' XY:`a^:x0A Q-} I~k$Y{g<=G{V/لBK|= J=v! 4ىGɶ/l;6w1ڨb|L. Idơoo BIzێljV(]=p2Ip[`{d$N>AC],~qO'-JD_$ʝkz.wj cNۖs3ςD%۬,ǶHcpKYYTnkKn>Ӎd5EP !:@7Xvg,8oDKWa,\+1B#wgXB6Pm(,f*H<8,74EڜY=? 9EyĘ7*bwd]m*x\o/UҐ1Kgp]kN)id /9n0Ky+uE9eQ{P6!O{{~Ͳ=ޗ]߂gc̲ʢp.Ex 2Ӎ1CɁvP\j&mUt,@L3[L˟R}Q5&l|ˊJa+Al_R# H;؂ҏpK\ Z.?h^g|yBR 1ֵ.u`PܘqX:U( 1>+ү>/;(),PȨ2ʤie)`!gi&77FLLB7G98PN%&*ŪSGU.͒U=WN$ 0[:+ea>UxF܀ \q]` ,,e*y0#P=,eZ\|{W`NUbQ[ز'wf8!u`16,tzmh).k_ G-EՌ'h4 Eկz4N?Hv9%"sBXd}ăMKAF}De)ʸ ɏ\q"бOQYr@Z wVT1d9L3B nC=T?!|mcۄt|@Ded)+ (Ω3H FxuobtcIfJl@MbBST![Y;>|m?) H'Edk~G؁ q:)#kq(^`{ܰ8.gTqn*7ăTF|ODoU9uDEFo$|Zb3[q_3wh! "BIyAmADF&ʺ%U8=m+ )]x l` låtjRB%[mBr&yw~CP홴fɂng,vSGjU$Jeʧ1,ke8icXIploN7eY^Zz2R91 9E=|%4RQ뿹jLtBS[d ߜb ?"NjFB '^Fj}4"$ i`~ઙul6I 0oݐ]B[[Dd$>MTH!p .ѻOW<믲-ҹ-3AɏU e,N8ddK 1CvELG86Zcd  &'v^{v*De9 @mR `| zNe^V[y_E.ۧn11\;5Cz]XIUݟD+ 0_T9yB Yt@Azz~za-л˃D&Ks?9\;eqڣQWV/ircs6}? kO(C, p E5 vBlG|6삎m(֍Zwl8Y [GF6} P3A9e #kX9ZOvT|Mn4kdRX^ CaT.Cen Pan#s| i5rU:1P} Ӯjz0$~+|L8JuS*\ˀ-'汑)RtHP ^k׆`Z q!>Dv'=-D-?n)s~ۃ:G*+pز?#NcJJ֝r:NO2P'zDOt =(Ev7koUcJxV<~s~ZX!^Haᢴ&O RCl*RANښҞ-JWzqȼzw^]C$ZPlO оMٗ[UߗDn=L=*$"帿%OP5?EX/""oǯּ9h /乃Pd_3-TLA,⩣}pXwbFT}ae$ cMYf4W7+ׂw_LՎ1CՒϊҩjk$t0"!jAjeFˆ~ [tJg+pPD =(ˀ(JM@}l$)/9o/"Wj0HbE /gYB'shB yR%yGC?i١y,, !,D{uY?3wHLhI:Ox눭-ʽaQЈekG\oQ ךâtw.'U1ӟ0;i ^Q+p%:{G?jf90;9X)V p(\g7O]zspZ{ňfŽNŅg $^vZ_ vȁ-*cO3gx@0CA P|7y/{.&^YPkKK>}%"\{3 ̅Vb) cp9=\v̧!N_2_"K?ba XF|YeK\tQ44C)T^I'rXJe: ׺AL1\WuڇT`gSuë#B\/0qJd*wy}QF5>~w Ix/08 O1*VbLAho츲QWXP8G ~ߵ0-BJK2$7)Hp8!Yx+ƹ,]{Nla4ir^skw+,Ғo<}|*̀J執KͿ8slCߔ#̖Έa Fz2WFr~& X94{ou.?*z\u;Lۍz.K_}ꦫ}mb SU:|/]pcLhՕ ĥɇnT{) $v(de7] Oi\p<؂+({XDJ(8FNHB\O@[d7Ud&8T0ZZ~x?jЧYlN@@e̡l&ht 9PS2[03إ'4Hw6D!0 4l_h'n5o~X5iTcё>˔^8kQ'pI-Nm<_SRmnĆ/F;8Y`OGo Ȭ}6&ݪ_m#96=F9Q/1O%vtkXsց~V:1漉3GA@Bʆ;kn,-j ?96fgt|.`{xf0WRW](cTvwQ@afYe3SG>GY>&I/ ڥ}W 9R}ou>ڻBJ+û+Ǡ+Y.͛:L LЗKH =Fk%)Zãly+-hJzȆN&XЫ}~oOdv1&{Vs+(,˱sXȓS@jq0f="~dd?xU .Ь9;hu\#o ZV}l)"s#ͩ=)5mXgv(BC9`3`oV*δnSN=qwKf9l)_ XbnA}-|χ3-h ;f8A0?0@QB(_XrBY_+(n++ HA*c< "ߢ$ǨwAڜ#vN_IK7<[*/0pBhrd֡I߶r (j@1 Yӯ½MYt s#ܯtwvAoٜɪ+0!EFMplKF[J꼣\Tpmk-6 ɜQRA0CFSf0`C> |W9H' ߄8^!L G@ 'N1٢-.d[Sf=WPrB|EbH`bK!${@))a%F ny0e.UZF]{Zݬz$Tb Qr& OdW+馨O sן|&%>e:Ǔg ڇIu:wAﴩv']Rg3H-L <==Gպi=ӧ|gzLYD9\hTesE/"k6ZC*6[$PA/ꍪadSR+ %:VZAx='%\;f55&ŅG5tzU>>w4 BP3 3O ÌݫIl  Ҹz&fK&3GG|?%QbsL\+ UM5m2ƠX†U)gv͵(Gr1*GÍoĊS[fCos9l@"{Fpq4vr2/u@ذ~W)xo\ᘀ^Vy@CPuۊd06::[C!i'3 ל_\$|Y͋$qAf `*oא$8G&P?yyvPmG}LJ*$hDtX-aOw06<7 E~LM\Brĩ5s^zs$)܈#NEҹcVD܏7ApcckO0iW,DQqt}Uw12lZ`\g"dQظ#a]e EZHE'Iӫ6o󶂔o J֚V ̑++L !)%[XQRgJxÔs"P {_m7_HBg;+ UP^~&5rs9,U3{UE^ӂ~tYAu0[mk<ק$2!4e~cLټ/dNHE+`=9߈^DFMvK8-iKf;8 O<km7x6=gN2] .rfG!,>3ӷ.#(; GïXV{-i0;sQ=J3-sPEe ?w_ш:8͋tI=M'A'\Ou|IOӀa.|5ԫ(:(QF_jߖg~IO]&Z^3W9콲~U/`q/;|R<1F^}B}HJ $WL[YVG8!:4.ep0}{+H83^^ZNmp'0YSکx);%'f<31Z"s/(c Z%IZT rkV<_՛ߦ]>zM풙GOJH*!掕 -V17WLWJbp*U_,ze$l5pDŽou /8Z`}6BҵFc\uW.nbOH77`)J)$ϹtU)L3{ ep>1f5*!'lj |O/E:6}\J~GS:C V4%<u lm\5q :^}yBe~Q `Ք1mY% 7C0ʪSlMfN(8V#K~]/%W8& 4m.4T+ @P21Ir ⧐*cViD,UL[_ms%Og;H8tWY}d `'b g|:6~Fѽaz20xa "Yljv|2A_FSѭ{l+}d4@ۧ͡uaE%j.n+`eDwW:ZxQ 0J 9XX G&PDd̈́8*7tB武U`(d~7Rt >R)^kM)lW3⬧3{!T*N˼Nn eEJ8I겫=MICoR=ȨT4wmDb *}:J f ժ4"Ǽ,lkse#l '%onLB}MĮ>a \v;8d\P $m\@oU+7*aF"f}/<6H_FBN @B:+}PSGm9QD@(:\vO#f\`6vx޵K7b_:" HG}>q {y7 s2oCEhN=E5G{,$?MVX#tTʹjꏇ.spUDzmG6]r\Y;Ow%Y456xY1nOB?/xڻt ( ƝslR_FOpS?~(x$*D"Voݛ^h_Qo4h}%hQyA0I=AZs^dp̱?ˌ[~'OB#/2aS+M.Bm"pG|1wGuN;PmulH8y<Dop9(V[b(ySȜbSWYT1]-Qw8ܝn=1S~ҭԖKg!0CMcDIK_y[I_MV c1D֏ml}Z Unj[.$瞚hl)aLGmŋcrw_:tIf<(VCUv5e 13VZ$3 H@pT@g3Ybdh#;,-^YKsJ锑d/$fE m [Ee٤PY8oX{dJ|R͸I;:jk UlY|,h|n {τV9>@X^WuX5 ـ׽.3$Ǥ>Ri6A\Oi,g[TEY}Ōt X;R [aTdħ{"{gt{[IXa9ߦ#BڼH ԠbJэ%[UZqp9-T"'D) %ЉIl+Բ5|^>9oeΆRY0?Oݸ.=k{j; "D4MxAUS|fn=>'.{5Rz&$~EmmPU`js|OoDKzySh tڂ6s`/JJn e`j6뱱ßزEo⵴:r0ܪz7j$^W-^>(a <*}0!f SϷ@P5%&4޺/?ulQwUSPŹ[УAWRu:xLDҡ?ʨ"kH z4 lKO~ ziW"CA5_`zeB˭e^r(:!hLI?63,-L~dٴ+)!<N{g&ڣrJl9;J;*)ȓ7W m}vnJ$;:/5= ;ٲw\7\ 8g>EiZ(B Rf Ҩ,s`SY=8m!!z\tx㵈"0^_FN #;6_ݡA2 )KHs"poM/Qs=mD0̈*R2g*ɗt=7u4 U:D4k#$ZoϏTo͛@OoMgnVVf6kWYw%V1 2{lTTQkrgjy3Hnt.s9R jU{F_?7K$l gϵg`~K] jDu )2;.h,Ǡ-gqޢk?^k?/KM֟H8LКNNv|οKؚ pJȀP SlߪacE~u,,01;xǧe_m$͟qߩ%YLf.kie 7xU$쀻Wh.~g>"rǸzUuG6H,I.[b]WOgqr_y$8%<Ϸ8|3#.|m~c ^4!㹕#kY\,ybFS=٧>kA _mXU.Xh?TT\y(P]s> ;ҏ uIl։OΎܝZΖØi$E9s+g~ȡ@8)NR@aųĻ ۱/qdQMei)pM,(uEL w3>ג-sDi(Z^ c{nSb3|IKEq qeT@Fz曪\Z/K9]dpp=&Ȑk𠲶^O_u28 vi*3*kuÜKZV=C]9BBTˬ-y)܈iPܭg!( ._ 5o { L]=>u`2wI!a$鈘 )}VZiܭXcCCfDU4[kTCtoΒϥfl_UV(T>yfh[ڮUM!3Y&^>e]?4vt"&(/N_ m]O 8D3$M$⻗n˅vTt*/zNgcEq8+>BgY[lJ=ݠ(~C0O9[C3K&}= <5OV:I"Z8$ s/O? ߲V~7tn M]zm2{e?knOOzq zԮ㳸Lnb,Sp憥uk@~ֿYǥq:|% qͯh$Rl-16ߣ*u4:H}E*M߱Df94J.[U; G6?fZZG`ij)`%mS@ͪ*`^Y|*Gx>_4k-n{66|:lջsOqz(6/ _j 38U!+6@Aks ,Ѡ h1M(4O !ݤY)w)28Pl3O4=#iII1 4):1HJTel\T]2*&εi? mM}!Ơ wV#N=-v>[IbIz:@l.: ĥ$4."Wȱf:B4%K+ӟJ؇qclp ϭJ$5MrhjEd7, qk졘q!/AXgkT{l(#gT AXbH;(ƞ5WU%peoWu#V-B^3_>teBVxnu7m8+]PF&ҒFfu @ݤe eSûϭ@B*=, :5Yfv'W+O^+7G1/LL!:F bn \$}/-w @ݦajӹ`m8WU)eY8oTfh{9 3ɵg s;yӓ{ ?*n'rQKK-/f;gUFK%A3J{{]ʆ̎>z@=1gYG,l TXQB" @؉Id03!4o#Cubz:FA&:" vUبL[WftbQC.]$y+w 0%P$)Y޿XgrZQoXDG YA33맅G~s̋gAns~b6:Q4y&كlsfm|: a ʬl p3Uݻ5*}Z>Chp6!#Kj&O]ށˏK"T.NaL|b㼵cuG&\h c[ȵƶ(Uon7PC0\ IzO|.FweeGG1M]$L=U8fCFW1i(twvl:b9%+Ppl"t8?v.⯲VF{s4ɒI[2KK8_>,O꠴bwezk>A*1 O'AњTh9x3ɨב}`J}U'ق!׮=qN8/j꠻@y"bbx^[G1y0WQFC p< jC9Mc^wszySww?E޷ty5=!Z;"n*&.\35 GD6*X`Q齬`~nɀ{$xe($w_FmOE p2k@ 20w@lkƍOXpg#r+)2M#Cm/BgSvbaAW _1Vzj ZV0Ͻ ۺETZ`sovk0 ErX|c#c?󹕔TJ9m3Dh’:;2%pƿ/'QnQ-3ez@ ~۴Gϥ`qoy+bPR&̦ 9O`ywp 2'! ԞkakM8?c/Y gz[  Ƌϗds?UE>5#+BeW@j>ڹ,ZDoN #^9tʃ +4Ǽ`I/eO2" k1 xC?%HwסY0يhu̫e OE3 j:M@A_y1LfZUAnk5zUG3gHqiK49'Y%^rfIה4_T 6G5ݲY7u Yی~Wˢ5㨙5*(E³9r]Vt@V--$0;U+Lِ@jͭ (13(3A~ǀX1w-Dil@so5gq]òoQk4h"0+My{_ >/${!.z\* qy1_"Zc^fMp03R?2] 7a/Xu=Ai٬)|_SKzTjĴ~` O$6cN_{S⍵X@pv}2N4â`fG(bZuFZZ![EL] vVBb̙0^ c#?NM;UMEqJ?mEtwLVD-h޶'aUDclm y[uLε0JbraKi6x:5)a]ׯG's$og4Y(qK#MbfGiAم?8mCf ow':.qJYb[!4M#z֦>]Y*2T/*2YPl]%#(`#&(+#U+$=mbE|$"8P\IcjOu/:)ޒW&bv=LZ}ٍu VۑKV68iFh3!`˕DL@UQqm4u4BXm]ج6 %C<_.dOfIg6oXɂ(, B5hM O*aaJ=G"zd9 _oW7 DC0D:oYSMUI|\65T-р"_QR\9o(7ٕҶ96`Vj1_9d'W2W,hz(ݾX畘5th< %4I212U-?`{w>Zw+fv~(%,ji-D1kȶ먴&z''Ul}SOo#}֩޹y܁':  44j3Kt"S ~B6b+!+iFge̻LWKfGg\s$4GRzV[1A%{*OOef#gk1ON^۫dTf>`O:uqrkr}(RJjܖ60e<0OD;ZEOÊHF1,0PRD7 ѯ6k }G#stnk~Ƿ/!UͼM@dG Z_tT5d{E5uOĘ,qG2YVj-#hO>65!X.R6 ηa6%S9FeUmX~ju?zꯆ_φ1T\.j>R0t؊`+i>NeCQ.SORFumiM"ۏ)s׆_7>ciH/@C'E&$41ؖ1`S^=?_}Uw]cFg# *GJWVS+ "Y7oF䌔=ȷEK+`CD=KRିъOk .x2H5E 312=Tgƭt$7 Mx1UIVKrӃ홢ܺȧ=x=!6A(ϒ:*eBvi𲼽glMd)5#N#;%}@SX)К!kٺ {QMtKoN>ܔ&B*pIL8cxJC9"zS8idH$*뷲֝ʸ~艽xu~>orP11HR: 7qK~7bfuRǵXoqbdф^갎CGurO H^swWE=QQx\k~٭Zܯa'iú[u&$m=&FxxAJ eɸ[YH}@7 "-y*Ӧ-ch-˾ԫz;q orPԌ}-`y@gߢ\^ZsZd! 8pM2hdΏ1G d]&'Q4 c|'oV9٦!%Xc:ZeeqZ 5'Oj)F8aL3̟4:Wo fĎSPVC6^6\<;߳-7[rT7Ju+qw|p )@K: c-/̉C֯%YS3Y oZHtH oWB+S!H3W:n5  tvBGJE<abE%VXG@jFQrPn~ ak[py]9TcXs{#4:xf(fǂVcvUg{FgnWmn{Vqưe 8ߏVUY-"1D ʛHNORZ{fi1cJLv]xt.c\7@vb|jPJdXYoZW-y*#o94AJ'c 0"kp.6=因>SCBρ=”lu,fH=r`c3Yw W=UMB:8>ͿΚY QFa#I?:2ngOaUx?-(`Wݽ ϥ*ҙ<se OGeLfE0`uI LY^g_wϗO+tf ՆDhՁN1Fr8 qٱЪ12κ>nf6#`$ XΘ E#FJHпآY]LWM2czix\gFFCPFF~Qcİ xjmF}{K-T싷 +rR`j`5YjQxWX))CJeګ\ide$GTg2,Tۛj75 ن!Q5;Ğu!y _O>imq6)6%m;2e7E P< @eGsvH7:#wR#d8SL4d1N'c[n_e& ''S Sp8}z~.5.9\I1QCd3\|0,^l :&k-\^nwͶ?:r81%-,=zXk$GK0aY$XT!5?[w=±@؃ļO?5FP }fX|[6;@e}. Y/x; й2'E8kIO0lk)i[&c b ڷ.nO$(U{!RѭvX85ANQJΫoߊTߐ9ӽ͈< !DdxGXefFdJₑdgI xoⱼ6ۘ  ֏HHW`=8%~[90Mu/}&CŠVoh 0ZKmKV#U hx^gs5iw"mp\%\Q'2}졗hZ?ZbD2!07F՚h0Kq}H1j)=G؜e* ַe-A$L%rg>eZ|'eV#(ձbnLjZ7)a٪x JbV ,(?H;9>d8+P%, ^9~y}8תnRբ#3GC)yʭ8;E??|"bOnGt/ĐZB2PޚƂ+X=K=͍aooM~כZw K:6CO>vrñXptW5"$dGez ǿ2C~ UJ>}kfXqr⁐ )^ӯ 2 Tqi;X<c?s:]Ȭ@Swπc=ue6E6L:z)bVofƷ^KPqڃ: :<=IxnxPKv<q5'6ɍc\oӔhhR;6}Ą(•hɦl嚼&o9`/$%h?8-3+U(XPHC{Vz.C8r RvɲH_'2/wyo\$w L{sX؝GŤk { _Da9i^Oe" Q͂F,̫ ֣6dN9=\l7։㴦bׯͅ;,[O2ew{;:-:a]tn@OXP:nis|,5jЛV/ܒ.1.l/%` m$6݁(ঢ?0|t$ۗօr.OnhM΁>w5P. r 9s k~I(<2k7xG4dVŧ.׏DQa_nad}a.Ѱ>u7<^Җxu7n`8 ) Ec y"tb^d1ZRz0H=8OKѓ!8٤B$,-:N| fw?2ȌWd[JXV_DI1I}Arz PU+ (oDȖU/u2n;;}sRC?#0NJx$dCssI\\N =R-zqBoOak*r=yBGܕ#$Zʧz2I`I|{qݟ"|BHNAXf '4ל:2l+-{Dur6(գLҬ7, KN i?IU![E,?`4*4e5?n2Oqz*f4z lTD-Y V@^S[T$Eȹ (12;ނ K/9faw]@'E>W;f2=Z؜{zX4_ΚoSf֋зDҤ9 |3x,Qea`ĞZ> h0]%z~ʸ؉ )^Q9U8ޗb{ `{>F_RSoLLt4ǼmI>9]=Bpǖ R H}̳ ,rYBqGKێDOsޘߴ1sfUȮCIU[5HsTJPUX 4|*'O'G/pi Zo̬jbilzg»C? x~6ܶ*H8}}X(E y>3X͠Rdd1[;7_zZRH7@z_ ?m~P;1U"əZ iL?ͥY /)ܨI UP_ `5TPu"˵ Vp%dX[ ä9$o0S8}  uڎi T?95Ӱkb| 5>]l)`uEˁ@5Sj90+bfcz(uc `W2tx)i,q0$:yo*0 H)IY߈<1:}D1tꊜ5Ztˊhxjz Cd4RW{H?k[ IIIٽ3abkvneTViОmZ f"B6S7,( ݄;bo8&F& &d,uD~V,P;Vb6lZb|րlჀ"pN4vQG@*]_Մdf( 'SdbEy"I<_&A' rekKS  ZLBA?} P&v,t0,Q>'@Q&8o.]bʓo6W.v ;˩4H 5 *C%O"jYA'WE6Q뻂BQOiIPX`{\t5x~W;OL @~6ZYaI{XPY7^eӅ=}Y=ag>+Hpro E ogD ⮝it^aϊ}4¡EΓ -HqZ:)uR (/ci"&A3aw$;* C:?|b0;BJ$>ɽ0(H3zﺝ!9$M$=8u L-O7= gCkfoӫF]{ZnXR\ D=~DU37cn]闥i]0JcvXGeͶ|}p$+uy4+HB9a"y'?5j |㹳%=a-FK='e]F$wWRp-Ĥ_C(.ٖALR jH}3Ug~mB WՙQ۩Djd6A&Xl3UW' y #̑H giVhYȆ Tdl&ި-`+茶qJϧAWwz{"Mn ƛH.ʰWk~!p4 -vQ򡧠^Rup/Bԏ^~}%90Rm-X[1DȏLХ0Ip;̟s]J?xօ#6Xa(0P J1-OMtH Ip]ξg[V8 ?C152gBg-m"8@02Qߊ$+Q S5wǫ)N6hf;:_N,>- S$T^yP%;ÔKx΂l1aGnOf;SpPZ}>E0hc+nO]rhOFFcBI\r=l[g՗%8}d~9KPвP=P(ܻG5Sws- $1lE,G-}Xq;2&Ȳ LՋUEJptKKTz~ u-e qgI0!ONf;D`Pg'ο< zâ'Yv@VhMq<ɷ7JBGaՔ3jhzOVh?e2]Bđ p9;$c s¹Y_]ǛJ;ro.+ -% j1Ik[+9MelcZ}mQdVfl_ <i T@ֆMyf_F@!f]eX7ZQD0c^a*D6%Ͽ@`_KwB6e0XuutKIM/V{qCjY\K }<A|6HdyDΰsE2Vĺ H r},GK;5)}n&`)+APfPKm;А´^K+X(w3:")'y qnӸo|X}A jyJ! lC0tқK7k#@&G(UQ;38Jy_H clu]ߘ_|Y;Ƞ/a8Lܽ! s=,>/37Պoijj}'* YwjwS J\ԭ h v>UM'Z\.OƼT KRʦM9ƪ^12W;Q!}y$Bm,!ZeJ,nLT:3ª >S#v(:8Bs_! ]Gm_^%#)u+,/H:b?zI7։Q8NI>V+[.]$O6,>@gA?F; F9@_d#gmڔa]x G'Ұ1r+$ |/\ڠĎ6vaDԷNB$j12"7~p*}¾Ql9sw01w·QV9jepE#]wY0{CGY6k!S\{zPHegPSFܶvкp[m(;g!5XøNTbQ?9)n.SH2 Vk+Wc">8J9xjFFM9e{9x(v'99ߗ7 ,x'(p4j<7Y&<H2*O]n ?%@|d2.GP߶zKvSi08bwإjTp_Hfv0$-&C] ^{*\M3U_ToYǰ O`"o;J̀=:&w̫ p Jl9fe#ݒfߝf?OI$q9_Z!@16|$ɂWqY͟ 3% ~ߩ@-DXݬ)mJ\ 'fHVӾ࿯{43t)a˺AShGXyTkzNTC.~aK֔ϊVQT_\]2s#]_DVeSvx]µ,@Нe+Lfs Q)p%q֤smUWb~‘'{KT(zvpn,˟̒:CNu!19 *~ЦX@C46þ (wnjW*&_;a-9"9[,oHjoV5'_wi4f{#ЋȼzH嫲D-ugXx%;:,8Lj R&p8*β!ߓ?&n鹻GR"IcuR%;; l#`HE tjXVueU>ïaȎ}pkΗ()C*Oh+Q#ƻ) % `=],v$E: (bt|.$#mKTGJޗLr)VmO-%>끿;!7ǓUYԊx``J OE!,9%`k | optl r!>RXSG *Y*; u./_c;Zvd< I{8'5ksֈ+<"& zRLh- nE9r j춽c8@]I/bKL|al?ZɴƔ;&`y%RV8(4 ͘H' W@}4[|*]dU"6DnI>dk垆"@mBS%9*zD}tg$ŒUzI$FNK<\h" }eꙴ&Z> :ZN-2jDԛ{MK]F:aa/KdFԈxb_m(lЈI^pfRh|/ m+=:~ovD#g41N #WyRO,/[y<[<8fzyg b-zNVE<(=dMY[s*n Lb,Xg.1^2ݻG!TD/aLTbGlٍ/bVky/"&W.-ϒڏY\S|nf`ʩ F[廄WjC\Oe9:VG *О8»ebc{^&gT$|jamB\L sSi8̭]๮8Gv'|:XoknyնK~DM(+2SĿMxa+:Pܣ,{BIe^F3(sKg D$G߀9Sq&5!`xob[TЫ⁆9IP/e[6#4=m]ŰɖD O'Ki^|uNQ# ]<ìXrPhG,'NT;Sp n=fg":*+g >y^pA2ڴe)JaF #a/2Y, ꎞjƸ?bǫ ^2ܙwg~Ea1V4 ;P;~S$+Ler< ʏ+fF; jT}~Uy/;i&x4*io}j7yf PzRPzW@-oak@/,hhtucwui΄N y-̧xN7K~H(!\YkfLM FQ_Qc.JxV~H(VqLgz֧G_|mrXL4ɧO{PKa%m0 NȮM^Qimi/J5т iYq]4I$<Bʓ1* :ʥaйK1s'иd<<:ZkG:"}4˂$f[' ^#uN ^vl3o= ]'͗='@ǦNZiJ8{o /=4C | Q{ez9WYuQ+O?,7D^%k~izp5C%=|xVu ܑN3f@=1Kqq'Z$? @G49Ғ/ ܳOT)0ێ {̶8 /{RGl*Wi.cX?}JBCNzPhF>Felt DFuBc!s]5*w5PutuYzp6ѧVŔ*[܅ 䌥RL=yBt鷦&-c">jܕ++K&[qPp* EßY |L2A{$[&ڧsN wgm P.;ݭw~D1Þ|,V1r ޞ?^Sm/F_8fe?,wωcY+jl=Zt(>w /.FX] 0+J.猄:xS#IV:~75|67MvW<b܋ab7!.3Wx0-eT#) eċ!L^6,Vv燷Cl5q?GGxQbFobJ`r,kᨒ;yF9TV9R/b?=E\'hu qD?U;$2b(SL7½t41v!A:+^),PN86'h3Ͷ*F  áYbcmEƂ/u[c(=G}Wv 3WRz؇ZEt,bmI#SH)v,v/|l&ف ;ΨLw='478՚[7t$jhYӃ:z=HFnohrVJm&.ՎaȟxA]'yYy΅Hl%xnsoX]Ky@= '}R%Mfmcfʘ5w|}|- R_}v dɰ4; I^-%uY,u"muD椭?-^biee׌թdWb+-]TTs*@6!hy8l-40Ȣ.W*mMxMNUCQIl UE%ֶE E'd_xs%ZR P"=]\ 6adH!R'3*$}(f`N50/ 3]{SDH %"|hd:·=iYqy?;$Ɛ0*^A^ԻGbwc}AWbT[/Z7#y!1[{^s ԛolPʉΠ_צH+p\{KX4N7vsq&t(6GR] =wf 9 ([!3m66:kgU-k5Ci)W ӎg.&z#f]ͽ#||vQH+aQWɩ+}mT9qhy+A;=5T){VXKXeG(ϗ&2P>P>x(|B&1`f6}< $}[jԔ >&|)}lW:՜u96(a%D5u#ؙբ)K/ZS}4xe5ezVLpV_&$R-VW@Rxnw[EcCB]0K|A.{ʗ31뇳Ll{ӓ:LjE?&cUd}9i\P%VVxz\kKaDfPn*8=>˗h(CBD^= 7׎EV<ºG {-ު+KCy?]۟30n.*$6M0%6kѷuczZQJ~?:9CϣDq'KiY%l"i_-WtEb=&%̴}}{(Sͅ  ne+l&j]L ssfQvı,hc]ލ,OiiQo0 ZrʰvpeI WdK* w#ijG$K3]I6>]0^h$`(@o!U=RALQٶ'z=~(ԧ>޳+6eqi-]7+~C$Cu_3>-\ v azQ8M|3=Aѝj(z'0QOdd>G]suw&W\]WuG^>>.!7b@cni(djqKKkAiմ(@+~VxP^[U{BqA` 'Dl`ې7qNh9ƌ)CbihG9㽎Pq-c=~2=LꡒĠÍO_ Hڹ'C]Gy7S}l]طɍ~@GJ\`9DX,Wh(9-jmMx#cu߂;EՇa4;tSPBpp)55 Qvȃkr^RY @ 7)ӵ:<|eڋx_Qbmm{ gOL'$A*۸rTvxG(w,ūT CxSwJC[EX5*\VUL±{ڮUBT  8*>.zNO|fcf=4p9?$2J bF`hFHSL-C~ %ӣ{LJ*nPp%[%M4k}_$!aUF#LGJj?=GaDIn qJ%KT29WR-R>-Tw sƙp8ImRqW8o=06IarCcRRûṮH T[RDݞ/Z/\oo1 ng"8^CϮZ>5={ҡ֌[V9f &Vl_g)OYݭ hwY6IphSv 8M2CW$2h5`;I]׳ookoEW7b[ wmymbkݐz-(rD4zaoCG Gg2(<`,^8%_,JY6rų YMrHQ^Ǵ(fO堺ٕ-8Dpj >㋶vѨJu{EZϾZlۑ2񓭷ul ,3i*x2;3_Wr4|Ju\x37ӵ_o"WЬ!$`03?ON:xl{ MnZQl@\\&pÃri_UјSIj!}o\g=j5 ~Bޓ: n4ڽK?d /fH=ӻߨFo5s˦*3ZzChY|#UL3n=`RPe՟#ܬX?/vpL,'H)Oe~_j#\{ϕ 3-!-P9w (h_؆2yr577I≹^Z-:w%KjovԺ%WSK!P&*7!ny=luhL\oȚ9 ͊Ыd=ꭸc#^Jn|rW 8|-f{T9b5md )~d�ikry\5ˏnPU^^ 'բIs)qoMQ\<8s6>lN*]a@gHR.na\|)2eeMA& Z3L)֘ס+QOnM\6厔}puU|-s6/h!bH-+&#Q_~ 4캀|,D(TX>U1+F{˦)}1Pp:n9 +$cJyi4:Φ%Tzk(T{?Ih(k}Ral7"/]_܌Mj#NhbpTHp48KaRP377F7Ō+@xO /1;Rσ!Vha<\@p B+4ʬnn%.:O*1#t r4"K(@(iB)S26 }y5ȢPT]3$qFKGSALލPዚso"dwEB:j+\۹c^ԉu;(cV;*`D?$ʈd5s;T2O4A IjOu rCnݒO"Io+Y+l7 ݞ|Rn-]e'şThSpy] aR:&w Zv'T{?yD Eᕔ;\T2i6gJgK풀Q56,W5>)y,a|7T+?{7?|q +&]4w8.4_:f!AaVkes>.lsB×7_e< x" DpULeb_up`M;,nr `+BfՅaPلg-ix"YZFVDoe,kU+g@@͝9;dyvso"#%Tؑ农.)Ki̟k2$پ)Tʂ'GbFY &+ }A,e2kM~aׇ@Z^pxs'NoBo|.X蚛5wC#aų{'B.o06Z~y4*%o V &fj=fucjA?E@:IŔYQ`qIwM,K<5mo=a#\@,q {g Ӱֺ`ʺ݁f=DkJ9E#ߞj{Rm(*lP!B?ߏjBg _(MvRשRP<&$Nif K͢]OYLrYo0XڹW+2*oC. P'g$7b[aaN(5i'.xgq4ıyUܲt19aRyq8>Zjy֏|lNx#c/y4l> 0D" 9. #B4ecd\؜qz@_8iYdFnXnp%ٱbQ0-iq%'rebb[")83 q 7oA{^U?N}v ~hX wd!~4y>f;+d=v/O] ƚԀJZ,UnB ߲E^e{zk9>Njt,0 lv233Nifh'"7B"X-tR`V(?e&Ya Ƹ6X^= 9n3+١Ϩ%BD{f?P:Pmc ^1{$lgON;~&c/fpB5Į2N3mlR.ՠ{$m3<ܴ7mSaO7s=o8dZ_e̴lJe$|[M-lկF[xen gvw.aM"7{19#4^!{܅BapTï+wl d;3R;!"EmH2,A2DU4n3S"I\l= MH}  A>%ذShշYʬ9F>0ޑZ] (8!]$ׁXoG)d'ɚNU"<ɭ\^h#0{-V (lbnDanm)Hjk#8l|K{`jCSI"\?YTwX麍ל1=fJj͒A۔-5~!dH]Vy:yǃm0Pɢt?d؞Uͼ03!mr3ؗ\seE~*M]s?rZJK# (1Aߤ읠8vawMsU{^@m#^8ZX>hQM ?Ly7# >!?):Ck*aY!VW gRgaUM U$R8 1:| \lm&%!2K3mbӧ ¬[Jߺ|Ԙ.㧱{pDQt-r$[ !X I?9l2:2_88YC/bF)1צp0T?&iHkT|xd6?%{d.leEPٱ>*n.$@aQԭ?9jT }}C\)ǣ[Ûw;\,x։.;8_@`|0>x0C^kR c[W#**3-}"k,3Iv* ǹFzvQZjam9)! ?xb/#\j8E>F!`sGDskklEr2!,8ʓ>T[(^*JCP DUm n,}DѺofݡpQ1$lJ>n Lv5'qeі8ctM V5T˗"&N]кTLӞTeyDikлwCƍ[D4) taPaw.h8rɟE3̮zRRP8`~֭b; B]CVT.E6~Nh|I}uS{D:1-3B©Uzoi"`^(8"f[Iu5r&D-GdivXu_R~NJ**VȄom_3K _ "ȒA<{ieA5r"IIC@ @|Cdnf˕*< EOUw)ogiR652w$ Ja $`s&g%D;N+FN>Hu ykhOd{.*?4&+3 Nign!qdLJSs•$ }mco|dɿ9+|[q)HCEs䉉ϯ@zvd&gqςQOS vȲ۵ju9}T˝Ns]w1&EJ ٢lǞ(7aEE7ul sG)N,fPZc\WKI0 śp?Yc_9\KͼmYaYNA2w_Ϯ<忸G295]ѳ:*Ok\3x)G r5~h˚lA ݎ;C=]cS ư:}2/۰q[WV˛rXIВa ^)I eSt:;#-p٠*IJ'jx@ڟCT^P"77 #'#)5-e 1Y:j\J[?ry{LڬM-N==Ɣ؆lbY;ùH<${Џp ZG^7S,w!wu?{z1Ćh2(3bTEoG隲b.P^9yK@WTrnh=WH>dڛVjԹÖ[=}:^bP+#Q"&`byhU}bpC׫AfJ'F6x'QEo(a_ϭzh²u'7:J%8_ rϧyqVkD=OysEbkn1N퇧 QJf `qUjM`MN^}h"AϛvzK*|!I yx3,fƢ!͠ m۟=)*qT2QJm| QȧU;tٻ>jԜ_޹F5"/]JB0 xv Df[zʧRoi10'/; gtXs[꠭XxUf2:HκjOPU<%XQx`2y[ *,CRxơSm.4kU_9,[u4vI7WRVOCCla#nނ4I7(uvbG Nr%CIzf'gC.uk2)h_[mFuA!^2^}W/ǒxNWd(/5)I7]W׶a/OiZan^Q{GH8U =JjTr`:!@}8vةvM(vrC{ܤb4,e8#{-M9$ib.YZ;7MA^RT cq8քrcUҞoʌA E4!kl\k E1!PVD;6 @T].XBa5(BNlY?U/8@ %KpJiY;iϤ̸[IGZPUoqg3!+Rso9+iz5nWJP>bΥb`[ skI> ڥ3E଑'xiE+C/.s |Йm 2ixǡe nֱ\w:~ ~S)b}hV + 7IFY)i|xo\ l7:<8c:,.FC$SxyǕ|}}v-`OIWZХggvW!>1"RΠXbO9s*tG"|æ$ǡ>DQ>r?q J]`oG(@(X,S󵭣׀._UH:G^@@<\~$;嶎K^jkÿ.0n mnl;" #<T;i&ȧ.[:7>F7b%(R5bzM?qZ~pڦ$QW1YpOG)F10!.s?Px9}kiU3JZ?:rwhLgX^Oo e/"c])[ ';j߃9g|{g_($+4?cݣrˍ|h5Cv<`Mɥ|% ڿY0㟸|2t~ɚ6x',!㱄 8djQԺ(g0iJaS$EfEt=xmqOT&_gOꆾXm~8 @AX)ڷCyѡ )WPiM$MdHP%֧CB9]̚_AwH+#{M "y( @=v<ŚZSͺ_M%mgn8CݎܲO1e\#<3mY(MR0Ί$^+j^2oΖ" (Wegj#w JMlӧ՝'Liji(=u:E*cH0Es"'cT z 0*s@A-(!㠮! ~o_|dNc7C%FСPb=Y =~!&Dk 1B;_|ԔNSwtN'v bԦa|WI'řB̾`nveƷ7tB 8BwG^q|2RY簛i'Z)>|J> #)P tkOŰߦR޶7i+Jᄚt+pG%@gl( *䓭I$^ U/yr+0.@؝7?P ⁧[cTy=eGk0:hHs=&d2!RKp0ޛ*J/Wؘ mqtJ6 z7r@?J`N62̝B;f6xOꋐ)+B+V%iCU_0}bCIaMJ}#pOQ-Xxrߑ[O H.W,±nEl/gﺥeNs)$\3z2Fj2*l,kЭkk.SRa"?? QDV#ZcQ6'i<=Skz2AgDBlNecAs6CZUs Nr䩇KA6 \3v8;1*j כCc^y:RZbZ}ne ss%hrd+'\tNq=yFW@>jǗ;Ҵw h*r뇧0FԓNӗ?&)m}BN="J\C1tL.OǴ;K+֑^%zgT0Zt߷@6h3Rܩ @lį(~ٕ !BJXblLgs g6{ݷIFmժFxA2D,Qzu_#3/)H'ㇴw` \ ^ÓA;dn?:?eJ"TRI1 9L^/F$΋ήpbj42%t*m 9by;o]Qz#q֊ZK.jDU]EdҚDͬ_&g 1DrY_D, vkxʍ!NY݇ټ#l ?wDLOijc'_Z2 |! r‡a<"MƴUSʖh*W#2R2=$AV' y39^OQy/Vږd?_#yB'q"r>^O(yGՆڰkg{LWBQ;%axniP)Nыں$mc$-T(@YRٍ5\u.)AD6$Kaύmmچ8W J3YbG +L ,,( P=p@\>=eWI+z!'GT YqN$DO!P i08~F9jh͘ nQdž1d17hlraPч ٯ=[Y)0қt(ev]yvϺѬQrBhtvYgR׹|3L'qu@~hӦtsc3f7۠ΛY;`782KBB!N n>u*d}ظjlmGlMދ #?-$C:ͤMtQ6PbfD/R&A|զ-YW@\VlhgQ zJ$&W*ԨD`azMyw}W դw0fUYkxkyqmk ;ƶ:+Mb F 6\(DӮEu[b2}2unPkRR]HA%`D -JB*6j݃C T)gSh{ȰS@-s3MWMel䐛(,E`W.U:Fv|K]r_xXffH|9~ϙFW$IJI Jn`z| ;K"};̨:D0fm),.MyIb:UR,`bw D@<1+\M|~(q>u`B\P6[>$*eM+XjdgSAn^._!6i>D'il\Eހ=ㆫ"Q<&09;Jф*e Q7BBeP#HY(TH0AyeO %DtdT0%KsC,+]po7 S yJG` ws꧐DjɏosI3$|:M4怵7HL86⑾Tw@V KMʎa۞a)cV*V(:"- & p>5Of994LY*QڱoNxEQao4{f9(/QOWf8AT`DgOpB4F L Rk%a,7L54ퟦ8, sMOǚo?U5-DS5GjުYÊBE}r}v PŃWOavdGĸ>8fG>eL>q &1}+%ܿZ_WqD߻;S[}oyuo#j3a+؜gfK w_Zԍ>b:FaFxξ@$@ Ywuf: !3OTN`p_@8 NJQ;ZƀS%51Ռ!@gnqz-XuD&Dd .h?u$oRX^ig@ׁV>I\YaB\H˨&^ֵ4(xN^DqTǐn5(<`@jK#L nPT0/wh;2 /ǟfFa3GJ9bo1klpTߝt8[ 4j3SS VoKE>$Hs&qȲcn}w#e%tji ZY+'vjeZW\x}4/Asl#nwÔU[L n $h9@F0V !{Hh(\7\gլAJ'F356E{l^KpsADlORXPR>3%gI{U*i1Y؞ٺMbH<[I0 k~J:'=5aWȖ#з99DLz@46T΃ò^!'}$4*&<`"cH$4X7g 8,pmcX]Hz41vN*3 Q_Y#N@LêM5ސYca)L=G~~[54ЕK6qݑZ6t&@c_Ky5o:g\? `Ujh?0R4EWzsGm仅 b1Z.O|C[: I=mփw*VfLM Xc7{/e:|.y=O  %">cΫJfz~ L,GOw&q@%l=N1W䫳f|ʺnɣwI?d׵2r ]ѥzz( G0GsO$y#E¤NQFʓ&~@ j`W>蕡5`gM?mi`H`V*dS͜N@o9:T6u] 4Qqo GJ2q=9To7١1R0d@%Y7LZ5tJdj}0ɛPӳlIJM*E[D/ZzҊAJz;>ZJ:T%;^[e D>لB~ٷ5K P2r$0]h}H -I^)͆!A)מ%ϨPFl2#"H>lQ;`ܷ*?>[ө)SnDsgW?L'G\u4h<A֦Dz`H19M%8"÷BEb-ڑ,sR:5 a arnݜʃ/γCCԝTWB}xÜV4YpwwW8Ԩ5=]͢ kaq2/jˇJG@5=_jl Ө:10,X!!s/ 1Bt?? ~Cga7g!ludv'Uí>u^;DTj=Ei0EDt;x޸SmbD;/pĪgOTafs 0(4ҀQF>2yb9/1:|pEUBrdCSvx# Mzk_jtl$b U Kw.$pYf2U4Jhy}>i*.ŬM U'uME8Zgf ב7{ldm;#jݺb^׌,Qk#{[z,&#ZiOҊYrMHk<}M8TJ¡8788 `ß}cW%.FΏb 9NӿJ/Odzus1` ,MԼK Cv]P{{-:IR NZNI,5;[N֒lfcm V5CL~ZAx n.N\|\>T;`rRlI=2SMɾ9aA֮cB{񕱎lET~*h<(yI eM@j.pVض6eS$e,{~mk*?15܈ eCɤ8xO|30jCRIswwڔL:,0 L.E{krr`^!S>я,+z.%tT-+?IԱ%r6jч_25~kbALwUenrg**+OB-=pb)5DFG=!1WiQmEM p_@9H>X3,lf`/w5.8kzyc zz]7ApeIe_m (Ed_I_׾4Ĭ_3D[@ ) w{s#c)"AD)cLpgG<(q;w $l5(>2 %KQhyx!b,5qO&?P͜=HA :]zdYl\:4;mF#}ŻC lmn$&2sѕ6ƣYխVͧ3F5*g+Nip(~xDwtoeuip.d}7'?rI-sH9fs93j ͯ]xޡd')rEq4qf!꺏 XP8Im@R{ox%(nMXL8]cqwOTNfC|6qμ}/dnqjc(ɿK Ћq4]N (~"dG{oЛƩsW"Y PG+sjSH:JtW G$/oX;TwTqp7$gGA0|JOY(-~Oog""ZVW6}S} Ĉ[Fo'g/uzi~aAD:G^s0ouƚϺӷW T0t])].-lF`f mQM ߴ7MwX,E725ߩ4awޞ[$l2Nn1ۼ;c1kiu\SPbER腓r7KlKQUq5лB ]dՇ_:zrL4'B!gMx"qRefG)쮣ZXOm hGCSyr90|'bV!J xeeЪ2OnſSKTg};4=ɺ ]nGcÎ f*KV^-mn9FXCZ:YiGllubuo=A T8kk)QE8:MAvӦeD$ v"r?# ,_qc6c\V }M @9^$X!x$}!2pPoNY %׮8sJ lz63૪LH8I22z>kѤ=L3}EcJ hZS<ۢRL`=Q mubIo^]KgMfZ] ^ xo(V{5F+vb@WloHL;^N%NFv;.OA+>sSK[ӛtdzrp_bob|gk;m{BT7/N_z0nyGNydB-c! di?ҋA]'8jLϷS{wuP:ծi6!hkBaPHWn;=~91[j,BdWvpA뾯4ZwުE{<@/v5:~Ue"`UV8 !6[*2ΔBgr>*VbJzM[ 4QtdΫ YĴrbLHu!׾k.65'4ҁI=uK-B%9H4G!zSܖZPqX.hT+"(dRl'9'fMj"hM2jn( 5D#͈_C'5_"ER>+GrzzʈX&A. -R3iDQTa6Od~Cn'9٫^/RT.]nJ{ ;J/3.+Z(Жoi/W>ȁË#fmWe_1zFkfp*h&_\BWgg|ޙ4TF2Kn&O3bB-@ORvɥbdtC6IN{ȣx gS3&Kt&wFKx;Q5 Dtg-X;ɗV\tjăD@RC@pt[4V rnEYw +Â׃Mݵ&x'Z̓yZ>`ܳU6*9|)i"?23ɸj%s(ϑTAWHKPv):`ȕwʦDw"BŨt8_IBKy=jCfHŰ:-0a?*,Aj; -Jn͖,QSfqοtR&4'uWe7qPq Iiߤ+AQ3i_y9U -Ryj~=#%xKS9 fI88znGcwK,A< 5lKIUͫ>ӡNZkL LOn$*"eDGQQ+bvf?H HjG3۹kݫTu{JaܼyȷMmRI啪R0 )Hѧĕe5`8|:=SA1(kPD ˷]Y*&SHAy1&qU# 9+̨xnx}aFHSR=WQiqW}9l\$oyF.XvPutƚUQh)aEɂTGq1J;UlI^ٶH.q˧8ɵMIQd^ +.>6Zy\/  WȆN}vOj0j6€Ub5ozS҆U*R؄+([Dl\2%#G뿦\xI0&Ш][tPס%jwZGAb79T^+\}ly0&x>iNr7BY$HH7N$bV!ciy.ǵć]ڮ҅F<.I|05Sa͠ͺGH=Pm'(-bxa5*-16:S>*Ovb5]XOxP.BYLc:VHbTU,Lp0XĖ 2&~IRL2l6qrN<Yw<}Q%O&Lڬ'9&IV)]8!ȋqQ.j=lByzϷų^) 8HpڅզKp|e5lyVs*T񭃺/k'"yqeQgg@FmTH?PZ[>WXfq Y OV \|ga8:YG 0NV+x_ #@e2a+; iMz[)%aĔypX?>0r$Qb3ք~:>]jLw#HrfKfz< aǑ,eAۼOѣV˱ǷB8wh}[|NB'Cl1uKG0hBO+j;*8TAQ,"%T& ѰW@>DŽKƤr'YKFuU.LŚEK`5vNkYi~g$pψuf$6 w(? xس#dL$1_%ZX`xq;%Jݒĺݓa㫍tZ½[!.,~Oz'0 3U($Pܚ3e!+ϑ/Eu)"eȣwyQ|sak8FuVaDՌ錼ˉȑ85Ox QDHkj"eӃ%{v#$ ǡ^2"YE;cO}je SX_*ُ 6"Ex\g~xD P;KXVS8-(Gčb/nhRҠM>dY373DAHqQ<άz77lS>5\#ڌ6i.~H!) 29U$-BXlzdVeo|mϝkRӺ{ҌiWcVq6NV}  JGp혓32UJBD<0R3tQ<N{җKTSl,;el Z ,13 P:b|# Li!icAvI8QDj$sw xrR :b zݴy0?j,Ma!Q ?QuIj%Sq&'{0O :p;uA:OhS5D)\j"5[$]k̺LCĵ,Aҿ Yʐ鹔7mڑbE&tBteRm9}ۗ %)^]+¦RU*F,OdY-]n_c؏)$k⸬^t)zW{NV&b^HFSt⦘ D@H_ٙ"}C4wZ J}(bR)T 6Mv֍P/fO򦮸:{i7?E!T{Pqjs#kW2߮};Us ֲ#FZкyKi1s IM-[qVR)Br6( bsHk[ gd% $^'sb>/{ʚ}K}|Et( DڭT}VkœXzd;xfJKEqu~tLOmNj7&XND߻1>D}*Ms!vSϣ_I' D/!j]=F="o.vc0{MOKt 0r/3ldթԗ흇iM55u i 2H=\.tMa% "g*faqD)=mHPܽ՟Ĭ Vą7Kl82+ 4-2-QMṯ)졪&[I/_oMv97g=+1O1uwqi1 ~6Q:l`:$'ԭܪJ_1.%C# -y׽ Zy"KZZ*fp!qBkhK5C֠ ]dټ[ ;pW} 7jpxohս2 n\dV!{F򝋟+L()p%Z6ആýyYPtiItR#D5TEm0zOvw}C֓ &9bhl _"(PP3 nTިa䮑TuQ7M-#cuO̅gG?u\*D\,gp_% %m}X0qS>,?9ֽf l=K-Nf ,W1?Ig[0`y2.QMM ^,[! lN[Q?{pw0 D.?գTO;)[`7ٔ:ZQۚ`yu*F׭QĿiqőTV"SAZ}zFij'f^8.d`䵚 0Jo}~gȫ(%1k4F^9Cz(l5PQZbfL7VvQږnx@ץѠ-]0AX0iGea c8c!kq;? FHE3{s'`GS~HDGfZRLtҝ2PT*mJ~l@QU*B/z1Qh&)@2dAb7u+› \IgkS~J}<WZR\9!EG<[M{|c:tUqsJ5. Ǿt(d7yhۢ 6eCR:<s߽£8YiXo~:ʜt,y*n}EO-%&X͘m*DvRfK8ф'$F)Wb<1h XKӵ6n#5D s^2r|-13L3 -3iE*gq _Zdt6.¿B"uʻdONڂ&o@-=ۑ`M_\"$j=q-.Wԥ5S8G^J6Gu1h5qz-?E(x1etYnETԲ _gٌQN“f/_* lʱ*ǽI#pR&x%6F`2٪ ?rf{M&/u=r}D:eKwcJl.niʸmUdЍCHH6IsW ED6D={RaC|\"f@4hj8>+Fƛђ-b&YUϬH3++`)EYg_3FT,bO j,I Q-:W9=^!ƾbx6e8[ٟ&a b\M4wax`+' RU֢r4_"ke%zHw=sp{BƌTQG0ߵ_UO}f(yk ݄&R*N4PNQ\` b nW!k :hbWH39jpr95n23O|]Exr ^,ȤJR'+QȤ jK| YGXLUuQx dy$3h6_& +҃}9dp|IGx3yƯ.e iR.f!G`i\~I>y`Y=X,҈pOǘ}\]7=L4L uLIUׇ1ZdwIͩIm-#4zah@|?tQq.V1>,Y/| Nߔ񡘤q .+~.ܟ F>I\|<_jE̸/$2JquU%, K Z}+Iزoe9W,dI iRgj򋕘IKe;wf]z"cϩ Ӈ~0sRPjJZ5Ε[xEXX\ u ~TEj9ۘJp(J|JjXFVi] T<7PB ,*05Iy$!TMrB7﵆ޫZ6).6R=-݉ 0xTۙ<7gX5*E-MFpxҙlR$j4XYՐf~kź[o .1 EZm)<ҕnw)W8 6{dJ9|vsO_%;1UNݐHv#!Z[}9*sAn%N^%6.ubxs^’_kdi(q=#@,>.4mr)yau!a<>Z?)O^k/+0]EO <: zAzϑzBkRI).#5XA¡\Oo8Y$'E{Ӽc }-0/up,}ܸ`SVPRqF,CiM?3!!_Db]?=4vwUܿPqbsPP:U6՟? zWY.) 9{`Qc" }?:#lYTLu7=4Epћ1v^ ,g=CmWqYsS V]S2jTc ϬK3N[{eeeǴE 8;c=1]@mD5}3{_~qtFtc[I ,*'BĎ愰m0zhl?0uF,)ٕ.s6luo`A}j_J-A `U 9Q0}*e̍|DL! 2\^bC!'R@.gAZpαF^''*g\ O6qL/44$j,R|968 xleIB*ι$<]ohĥlF:X]6/7hi6FQHN` Tk j/:r1 "4:O !E{$ BnQeDu "e墾$t iP-*aPٟd,[ث"3}]0ԇԘzoǭQ}Yx~+/l}X}h<[7tk]59`{% ;j0b@lC\t&W&e3$v ]WR<Y+|} m60eȮX3fNwf-j}+95(쟑{-%;˕`9]9rA9Il'j>+X |BmW.uP,&0)|QRyЉD+z|Ёr&LBFm-kv[YlUI5[~ :w(4þR9^LBg^8,ua4e fG;HQB8~2F Jެc1ݽ["Mv>GȠ%(b Uh@5"$^ٚLR6 ޔ,; c([|9[cejĎ+UMLAi1=sdaU6i_Q\ ;UWÐp6KGNM/ӧ&. ֔e[3LǺ79CX7Ҝ͏^9_IP% WP-,v+ _WUiI]3}M )K>uo n`'?t RQak2X[[aBI 'ۚE9۱g+ycH{-6±"Mi "-ZC׭Y91:d@>|39tI ,)NXŖ}-"mY '/T$!^$ M =1 t -jž_0WÅH4o_IK!c|cq28" @yI~3˽ Čm#۴ ?y!ƅ*ٔ qLاRW$4ߓ4`fx98[Pq"jO襥؂IG,I9.MZ#8ngcv˟#')~5X+)lf7XAR2@쐁Ws4e?r!cؤgۓYjbQo>L%1<9;3Ӭ}_hp/i`VIz ^%'}vu튀c10+BWś:n@6\vޢO['SMLh\`=;Za!_T}#Jdo?h>'c8^{'Աٽ%~XB70\v>^o¯i 7RU&HVc6 ;dGb ^suse٦:ƃ $~O8vFPmv\Ż? b9I[\ p=YNUY88k ӷc#ߕDIh70@NBoŶD8b9K GOuZ<zfmE}#1h:0_z׭.+(lP 'w0iSeB>@YfT34ƅeJqt8r_BM5+ݔR/ t_K1H}tJ_L:#ő9dOl3d!jb+E$=U$mMFB}C1<}V]}6lEͦےPK(y]ۣKe%YkHn ڎLpńzJ[;T֡lf;G|D~rP<:9o kس>Xxw1U6V &a:Dwh:|U:iop8%Xdl6N;k,7䢉ö`[_>@q;ERr!} VB 'º W -Uo5d٥ApqU{y8){JU鍖1Rr,/N隳m*I-0j«Q8< ܁8R1=mV3EMlyӜW ji_ê@MY3:h}n!iF1MP, Pnt; I˾{Ƹ熜WHICȑt+zI+:qt>ׇߏtT%h^=)Zuf ̀#VO,;WSYU9q_ v-fZWEFMaXQ_ I{ e(wh0@JY5Ҫ.}4(ᬉݞۈ|X# ea^Oec` +k.0☢HiUʃW[ W4Yoɼ*vd՛UexAqGYE,K%h*ճ 5~[nc|a{~*ot)$~j|q3^K/+з]O/?c󈔦S5C{9+{}-Sm$)o /I)NtPy7.LiK2k!WjbLs G|3!lk,Y2w XP6r]9uψ|5_$\"Զ~j>G-wyXʞH1IjWGB23sM s4!1Qx"s[D}LkIA`:咎bAD&Oj>oZ s֘1w/5.=%3/h .V d׍4z|Q_M[%S>sB3Q>`;ԳPl%漌2[ vK=q:qt+:%$ûpW;Z23W}j0nv+!!(Œ< cWPcatq W\ .Vs%K {\|4l~: QFӜqߍ{90SJ6RvאO7c[H#W;cηi:7p 1kA+!2?# g5>QΧ,8 Br1)[0E e>_"Ό;08Lstb0[/h S^j%a3y\H7bJK7'aS>))g =Ss߱9Wm '>AŖ&1cAM%Fe<98;, 9d?jW=V{ U [#O|gD9x$N4QBt9(#L.yLkO?R?8Xk_V\i,YsX{ˊ\t/k@4B@%Z qyI9YR|tDRƭ2(okw \"@\K*n:дSMf{52k.DX H6E3$ptٟTĻ  uTj-ҳ[(/rk;` {-XoBKNV/qwq|VJW|aO!SkN3} C4Ve@ hÓ2I<9D.f!XG+څÔL3k'2QMzDŽ,vU,[(qJH2<_XL8M#(WJHM'#H nj#!K`(5ۘ(73\}iwqԘgk/vzB9L46V(f7%uF&Tfj%RNƣP*jy'I_ aU)dTe$u }\Bj99i+᎐6 ]*TBξ7 {{3"笑~'(O)ȥZaG< /lcYWA{ y 2π Q?HB$^,6 * Advt_os/RĎ!W[-EHMRӟ{դdVl{nF$"2dzy"YCn}VؒW\&& n/)$J(D |A76V]e2`UNŇH~6;O MԌ0^!ÉY"hYN>Fs pLheh\˼2RckQz 1&ꠜ҇j^7t%޿샻u K)$M?,Ewǐ~r9k!=g$B3g-7 ߳6aA5?s\c%WGs1&TK@b:`zVtUKj \#k_xʲCq̻k~}pFxA ,={:yeN92ͿFHbV_  %L)B ^j%0Dq $*<8n6ڎ ^WD0/򊻕;zi1B< )uIxvIZd>-Mtڶm5ϼSqjذ[!Nt^lR^6p\(<>s@p5lݨѣv!l>ÿǀp >;!dƼTui3*v/b^jNe.1@?<)k9Mq&K5gajڠZj9@̢RS2@UMZܳŵ͜jY @U}RVKr٠229D(J@7&z /%@ VGO3Wi[]H2lV  U-ƒ`F&o%8Wdin3ژ7Y5 kfU!F&^i$1a5kJo.5N80Z.eaRs"_pocOGklnH~1J5?Й=Ԡ3\jބh%{in4 [Ml1'_ɕ`(xhYZAd\fQs_=Fo,LN|-%ѓRAjq~kcS'SM픰w0*Eմ,bcӅMs`$S"pnW-H'>St\NU8_ݎ?Oݍ4ٹ c9@h$xd n,@Iu;)ݫ{fjSZ%SuԺ7(|;djkT6lC_vt*ct7j_p {@)_?~<[q؈}+:V&Aw!q芩u`pM߄WHBmoK2o|<Խz7n .6l`^ Hkfe6;Pg(Tf)dN}~BD؞r䛄JQhU+>eN^c7e|m䆆G8 =v߆hm|L8@>M*ʯѪ8~M3b2:oUN d EϙP@k.v,K`5kxWHm8TѦEz?DkO bO3׊!'õ%iB)R%~iSCmq6J-5JXkPs\}"(c4#DaYu[T.S u58Jݔ`')~h}y/lV{E+`7T%>W,]uvdZ4Dz2L; Ub LkghHw_::]:. o)[ 3odBӭةpP5ËNg&Rd֖6/5s%.1SF⢻lZ2"[I4w<\)h-fVVIU C%|h 9vD1aWYH+qHHbM{TlwctqOϣU6.~z^ZpBc޹K @Z AyiNVcUHh!0cBN;bGމZR#=@t4]͜1|Y'LרSXD*d-ɫj@.Ð* {tXڝgYP`َd1?2j:a/gg:h_^ k#,dŌ4ED#~æZ Hs 9c6#vY?D-'Sˊi 3cxyw-VƘT]\@ľ2]r|wob4L 9qV{'e:=)#hʗG,+#b}#I WPV@0 Hdiw7S5bGGO<8@N8sM |ԨnGMpz)Q2 CYi r' 0FaYѯڙ4q"293m5]'҄"i.-0R 5CשsS'gBJۼGWP][(E{rݴ+76@Rf /zC&^>TDϙվ+bj;e*^ׅC!r ~H['%Cc7ߌ>95߽^Eվ߲Do̮q]lX#e` CS'Yq';m `_iWKaM$„p{:פ]uߵY¶PU}~1Ӄ١GsL Y=Тg!'oSE WА؎5PQj Èƪ  ql# hB \8ពĶ*n.%_6}1{uS kQ楐E xܺE^=Gz ҥs}1DV]ߚ:]h2֠yIYo\]!ɿ\YΩ(h5@7Nڃo,ᴉA9Dŧse%gm Y39 *gsRlĕ{`*u$l[BbA1^…wBԖC7,:HdK*vU+8a`C︩[:GݨȥpWRX߹֡\-uOxF;w i}'n,X-_9$Zi%y'`'N>%<k1ۜCw<%4qr !GPfKL}- ?ϋ}-}'Zqip?>'&`Odzu%)̆dªN @_߳8-DJgVKPs BRd@ҊeWg([l(~gy9hefNL8TPQ?+㊮ڲ]6aFU[@!5h?&n-E&cͷdLۺW[\ L'2 J𘝗ŧ) HJ[5C4$o>ޒ)чJRFz̡^o'ݨ( d57QFla;•xՇP s4SĬuSoN{*ٹ` V3#uJ,ʜs/'̎<@&-%YaWZNLQ#QrvgkHaB<`/6@rވLL%Zp>DK>%p=PXb Xd/VrxNV'n3Tk#Ӈ}JTOl@˭QJɎoLRYuoNUY/^xͪ@}LC07|6?*7ZvB Ȇw!['L:2g5=tURk̜o)CP} u ۮ@dW<ɫ+HBw;:Ҏk('\wQlkSqUA6pj,U=$!iZg卵w3Mp_t-FO*,^te4@f|Mſ4>JR) BoPG?9~ޝ5I%k>i>P^$ހC9u: `0'$!? ZMxQ,ŚN(*2v Pzv|W &~ul烥:dq+OTpkfjbM 2=gFV -(؃r BM|y|3,pSyp c*L:.#5Ck7Y+n\l?үX*%rBVլQ7-[ߌ,0 4:Xt+}Tm93^hf xSounW,\4;-17'[Vr>cu]F! pH/%lv@#775`[ɗyx.KEj۶lh>t`90ov dm$xx1] wT =^LS,˺ţ;@rOgI \nM`-EGyKf>F}2a c.#Wx|ۓ]QeO)2qaw*}Vw,I1* [Yxg~vHV EĬYT L A)T*\Y2OZʧbϘB8BHn,+eV'鮌 <6E~wD=][P4\*l9G)7O,)Y mgnb>J>.B jMcXE ԴF>nnvMcxU7JAm4@y(*Ӈ;fz5;l"ij-_FkDMѭFوY@AWto(SwJ-Y1Յ Ǹے  !"} V?[X=;+|3r3smҼ|7]H)q]:g:DGB/ҡi=S<oa֡QIRVQu[6[ ~bѢ-NJ;@ +T:zWSMNԱ0#v w=\ MuP >fJUy'hNLQ5ALȽZቕ;tȿx$ zx_/.joP펽 `æW4lEpYp$rq3˟|bY+ӊ|@cS*:L<>XjAILfO1h7m1QD:e_5$.10EPSO%pz,ȗKu^ez6)JX:HHop42tVkrSuXA=b^bMd$61^,L?K/ \'Tq_!S(f p@$e/6VU gEP" }SX!bm#%#mAAQt͘“U1Hhah4H% mեNހ$S5EE'xvp7_v !3wYvG } =P.DdX_g eB^8!Q[gnSmrC|̡AtUO3m:#E7W%r@RTH뽞s^,w"k8& QXxpxg<Q$ƕkVa&" |5`z.åʃ?sPdI9yD*ٙ%tۭD&|%$e ӸQ ʄx_͐y3vФ7hAN}Yb6 ͷm6V#.3dl:`R]!mӕ(Ǫq^]Khkh?i1!!9iF҇~2ǻ-pC] X^(!~k9E<')7Md/F豤UoU2-0iWƏփۙ u+ZËZ*@ / 1<FĤ7+]yg `w¦{]y{vثݑ&pkh R`F~s&͎C?[@?n/[9Õk/Vse[:(ߢ Py8΅L9*}*;fEŅNWS !ZH/iALاOn~Q4A:҄NxjsSXdžD Ŧڟ‘~f2-pӄ8C?SA5(83YfmJo%5Ok(gBLO`pЅV5e, Ibv[)r3;I)k{#J]Ku 8ݱ4XT/s,geA gN;fFل#bqMC+rx!- zx{7XcI*Jm|Rq0jn %9(u mY jJ7c^ V$ys 8A}akq*,274: J>"cNT(VFSv8J_uRMeSZk }:E0×a^ǟ A(W3"W2_;(Ou?>X^~=cH[RW^Uj7'Sh)(yv3&J/ΡUx[\=ԘK VO>uA|+#4qWSm9}6f䇒@|T'4,uŤx? (_=06Y\k t`pX^-6A 6Nh ` ³oI岚˙M9}#_򷳷ӡj/ϮA3B,|j%H9i@(vNq2,ݪGyM*tjbL $ hav8|VŎo4ṆgQѩb&gf4QkgD/)f͙k?1b~yDZ$MϒxB7S2ǿzi 3"hOшBr\{ ١Gݎ YW>UC?7ŐQRRMYu .TNh) MrH \>%6MYdVqyULWk p2Y+p00JqFHq!|'`[);5{*~}@  V0i"gy+js)!D-1ĺjG/jl\}Zg&7&o}u Uz@_WH,[3;@p:91[V=pEsW ^Tw01S jOڙD;vKfZSLs&NsJ:j;[!^B`4ҵ&lsx^y|.MpHúk0f*~NM.*ogYt7IM/ T$ұ3:b&lk6- >w<&!]$;ΰ:Ȥye턟g!Ki4YE 3 g{%݅lqP>a&uuLG*AxIpWL  VnOT@-ckgtP+TOɾFFJ^ c;\x)eViYA=ԓ&u@M \wA^z(%2g;I4~Q9 ;Gz##8daHTA۰FV'5szxOvVTҚOxƸ 9=KZ{U8c\l`Q4AgȨ܂7VzY#:HvMSl_=!wKjA?m&.?3S& ܜ&pja-NېNN5D ^Sk^F@0)k5HgsXDi 1x=Qu0R!0_Li{y#]^j.|,9H~$i%6#UR9lWJcW]=zF9ae -Gi%"/5L$`+m'YCaG;)" Q5Kƙ8kԩ=9 P H̫?Ԃas87cmF:q`GRG:~f vD#5BXAP@GIz0`nɧ'@k@&ʡ&:>ny@R5nNr+Oȶm>g#vΜNcu?z*8b\Bd=E3sA9nQ]n`7\|suDo60z JMeb:FɞO?.7v!|![XVkb6vM4gbW(o +TvT9zZ~c SjB#~=q Q0 'XlL~'K[A~_"hxwHN'Hpd.tĶe qJ;CZ@%֎w es]?U5Ml~KK'Dٟ1e&N@Z,kK qGr_gox g_Z?v3񍬟qp.UJMy OpTJvǘv@wKR@DHAx%99}o=EVcbRa&<3hv|p mØ ?m-@`xi_A gdgм(V]cgapIXh`84gT(2Fmpn[J S.T Hh{äbG$A]}$ΈGqG:|*fDg."_z|KWqa(e֭3y\@/K lAWǵ 45/uh$&1FcqE |=$ܔU"l95̢+$C|uuĬWpTLaXk} D &78!#7*K̗cHBM?E:- pȓ/MB= #A녊3dsÕ I "sphmXȑ1MdXfwag^Twfn{+|-*{ Oȉ;]Hc z%ϕtWUVn}4,Y{iL}ytl8(o/Q蔋Gfy EglVې@ACyuWxe9ESm@AǗiph\WꎃH8h#Gmz|5 bt?lpe%" O*[yzՃ$H#l']_4x go7TnU%<#SŌ̮*ꏎjZt{ =) miָmQҗNա ǡʹ' _S׈'+1=;Yi9% wV|ƻ1SPҧ"CWksttS)!yq_\ b:7`2x# QjPà `cxf3wlX{}^\̨AyA~[ (G2c#5Xkp8WԛNYeI<.8zñɊ{7+sߥvԱ*gdvɷWN_N!2rp(8ٴnXR2? BB7Q@UU3|}x_!.PηO?F8d)jCQ;cz4;\ 6Zn7)[8@] ֿK^]%0Ѫ _oGBDR>e!qa@ ^e89~[=}O.Y J5\<8<MN/*l@/M\?Y0ӻYf[ r oF|kBǜI u ߙl;^'CP7&+=Z d?9&g_F p6J%ݧ|xIO8n 3I/$ ˜OE|uu cw;=Tp>!Y^$Qs\4.u![P.MXFݾbBaD ,RMY_V9|eۑvFCZdH{]$}!`FzGm[Z2FeYkb[%]vwjOrWX=z{ ]CcՒ4$B= kW^2:{Q=Pm Ng'A/N&[`LEw藨ѱ+KIW2SJ0BHqo GY#T锸qRʯ%g|>_ ɸ9 G~9sZi@3v=}&"Q m;u-h8jHU{amfqdSK"_w>Zi'Bhmz _7= k:]/N i"O)p3(dy^hkcaΫٗ%rCU*'mMb>jۋB ЍܓQ]!H I&Dc7\潂".PЕQ@ ^5G\|Iφ15-4ټMs#63Co;yd!3g;#(֠7]ԎW_A {e֍ 'WarG,kNJ*¿ɻYckc8a&s^AAM4HzYa#,Zʌ;Pnj7~m}Mdc~[cx$9jzRe BPwx u (ɹ˰#B-_dyr,tW=DƟ4|vf{mkdc4ZЇo W?#]`!O@8^BۂD0]əB.Wgoq2y-5z-~. z$ @>6MUצȔ#M+en/Mcetbm}MOøXI=a!D4j́ۋ2DhZ7wM&5ZC:k;|T}2S DJ?#c|_=t膁M$F,q;T8~"1^|^ _kĚGxd aeUUO[@ݵ@"Npc{q&d@/zDbRP$f2 Hѳ<ݙ;d7E .SB͗-&1ڠoŦ5@C;Zi7DBB,%쮫qrPUB"@3۟l幃(Wj#/ʅPAJ=J x0B|ZjS:K7ӭ[4(*̀6z倢<}$UT9ŁpL.n^F2xhfQtqFNl!tA9SNPGxhNMDGl~⺘m.oIh;6iKaiXk !Vaq%Xp']2;oH Tbr#txEA/&#R`i|JfeІe8 Y`5 vc2 R9SꣻMsS"]BQOBrC ,(}~Z4wÑ)Fj{%nELj> Wu0!k)oo)Zu{(ˋliX H9kl%]ׇi?X$'Z|}pcM+zlLԡ E_^)qVb"h 5gp|6 /v2bQBQwZ`Ϟ41_.3Q0s0<w<`hmry?t/UNoi?,$/xE=ýt ĘLgmD˪.py}uZd3.ֳCi-VPA03)PHXh_pJ׎͛xe%ehAl$CB[rLh0h=& i}E 5X1Ҽ'FnlC况ebۄ.D/LJfcy62t&pDrEqP.[FFO&|40U=~Ĥd]ڠ*eCvJXiAn ^cA@2]\~Oƫ9L>ߙQh*.bKO,|u'j5, *V/Tޯ<HQ$^< x^,=n.~XDADg3.3h6c^pڞoUѥ()\ 4:Ȝz;E-` }KEvsp(_L?JD)UZAt܂Mjl%7"Y-:?_]K7=^f탔?]$VL >Z' rp`чbgɌMb7ԣӣ8 pkM9}N'4GؗEX-Ihaؚ046 v Ya|RynWm? \ź, nGdSn\' CRU`GVv!FH?ECPʀ ${ecqJV[@\zx@L/י#qb Wnu5&|>&eJ17"?owywwNOPϋ(S4]9TKkP7t9t*a*͕- C_Rh2TWh ilY?"z>@b+R"겎vlXMfQ?b Y,T!dR-ePȺgq k3rtu~[CUQX,|1ŅPZc:[ݗXG4"`ӶUbJ,'o{_)I1{ȉwmI JhxмdY IV%(Nc݉^FߦH1*W s9l,(:#4v^0u,wߚ1{c N?w ]z|VCQU S NY֕MIJpu֏8-ђz ǡei[<"Ojbrpr@OAf(;[Alîu#N`Y;2xoszfeB`06|SCtq'GCg\Kp侼Lq78mj{Ni R Wݐ>tş٪čKJ-|ĥ8+ݚyhMLChQ\gL+eq|?Dzha_w뎶(SVE!$;P4bvЇue&!8{J`HR~({"t߆͞k?sv$ JMpapN\/D Lc0՘82i?cF R12`bD}zy բ;l4Lj̯M7''iZg9g{,m gvNQBCȡl-@)p_ |,ܢ=CҰ{I O%u;A)dHh.( 06(/D&@_B@b5* -PqRO2Ϥ6-ː8F\khPHbH 6-e^"U{*˲.G|@,k ^9!K`[c{ߑi}qI% qfgWjIP{-Inɯ($p{W J6=푽7԰BF o'x!6w,Xꠓw/DV;VosGʙ$N5P3/i!?(#Uy5` HߏJL!u/2x7p|I^mpd>2BآC>6ט[ 6m,uQbݱ $J}Whn^ga!D@:N@olS"pv*'RO u't!2,.Tv7V+ՆZSUAQD&!KaƦdzʬԜe>kwUǃaJW1Sh!`pD.)Wpߺ?b )$DXran[fG;Y7( /BwЛ͊hU1-#FS)_C1<<Ƀ~ٝ. S I81{'O ecбhBc+MMX*iElR$K%+NՕ*CPׅdCtZQ& ؠ#5=_ʨOXNDB=#F<dEA(@^Xet&`YkcՕi|s{pcۧ1*fud='Dw֎B!,5@PVq^Ϊ]GGGlldr( &MC"ϪPJkۃ? {LQ]eW(׿k c$|I@P"OϤ3`vYB{Ǚ7{['}PwGRЁu E{oTb.Y83>6TBWtU5da#|g[yD>MF>"cqe [ W@N<)n'\LPM0 "׬D?o17 _R]s[m(8W-Oe3~u}dcrlzarȋt6<,kջ1gyp{?']v@Sݻc~=#t47?`y#b<<3;Sfo$EM8Z鼬 uWz |[GԦK9t Qm =,VTdjrIZ}T R.>t;̓;:+ep 08ue]8 &NQDPmE}6avq2@hejVx QĪ Mu ƟMSsB=']4"v Ba6d0c)^2唭hh9p9F"VVoF,g&}͢khvݠCst4b} j ެ-+hgD^?'u 7lv*M ZHz(,m_}"PqJ(Jt)[X~ 4C1{̆ȭv5v8ƭ g>f:m<(Nxc`3Pt*gt(09pttFL9ւN'ξB>*Ѻ/-iP.7~ncw}3oQzN,X'FG(}u./ǹshfl$kg2";Z$tEh(6=c|4 ʳ qWFZgw TJkno@?X~\7ZoM,ڣ- Q7%xͨ袉~Nh] /Ӯے`cEP YVi<#x6zJo6 [I3K` < ݍ^J,gfA@/3G&'ʇr T%6h,V^r wi c_%6T ua"бݥVd$?1B4xL؁–~{b#h0U_ Gu"0ܜXC $zx4%o6ݪb0u+,ĚYo6 evʰvbكvuzpyuȻ^퇫ޭ1|=fHDB9ɜ'= aEIC.ܪ;Q߼G] ﹟o2NJ'l[>dNoՇr`O҉Y h=+='߫pPѧf`==rTVNPǭ$Fm*Z$;<@ǝn Qn iڡP`g7Ѫ+w6™iJ8?54WjU؅%DZ߳3|*x>ҮXA԰Ex_1T_yr<|<-.v;\a;?wpf)=1^ri|W;q, bHG5x,BÔi-2n#a3DZ-3tY>FqY83zX1ekiAUޝNΙʹA&4 z<%PBpMUY" hW7Q; .ཝU0@̭^8[CRЙi|#)>0rl}LHxhݿ9F{e\JGh #wX{,LɝD,ɔ2w7fbح){s:Ln+=}rA֐f3fcW3Kx?_iLlYOQ='17bceG|J*f؍8UeV:b\MX;ˀ }2X'+/"S^|UrO ui-scM"A,?3\:u #=eGsYT 躦& "J:6Kr_4Tc7b:%_^Ic0y׵y@Ps/=C=!z1Tr)o;<ӄa\76ygì8 -~) I nIt^*1'0^ğX\ fT `ܬw1BAthJ$L#+u⇌p>b#9UxR<k7FVQ) yeq>ZS[WDyBnP:rBT Rxuޣ!8Iް4-"AXs| c7V}fxrZwQDžsn]L0إ%]x0G Z}5PVfl`M&|7ComqR m*c 5㪼MA*E?A2swl_`MqiEVV\7yL2pC|AvnDž^MiӾӝ`zz*It~(ʞQw M=ARt;͏#X%)뺟HveYE ƴA)lϑrWеtYԿ $to .4}Gh.͔{T7+~tcVf]*醖s\ɫ$=|j:bǞJvB_`C_g}9Tf4\Όh+UȖfl|ng,ߣk[ IȞa3ov[lB UIp/Cw)x5kdr_(i`k!WjNH|Y8xaAUM[2<^xie H93me ;t|x;.R+X1Ef+5rX9M/io+`P+ڒܦL7|J8_rۜ:4>  nSj`UɆ$FSzY HN0cΊ 50:y]ucy{_jǽbYyR%߹A?fĜ뚂{Awg~TL9QFTh:kZhMNϗ$e&-Rk|E՟6MFg40-x%&/i 4}:*l7F)Rl Q{ Aߨ;ᥗ \5J_ȷePڄQgcz| Y]hlZi|_Oǧl:NnA?X9i:d ( (cZ^1:"8澟IU|!g%4ךdFR{۫|jϟ0pVjN{Z p "A$8:ڠ Z`A{5%j5O@SQ0U/P(4.=XM(U}X,U;a? Y > OOUPCxWpDg&m>M ,8#?*}s~*5rO)bK1(ϭ@X -$M2xP ̲H()lRƐI)SMB=i` :^[i+7;`3b.ZO-T SjAE(_ 0%VvgnVfJ?JS]͗1M= P)G[",X@ Vg-we-m.kA ]P[zI.FdGU+Ch''R@ `Yv_DU~DbD ~2+2\e2dE$}`}:7:?7< _B۾mb(8^j'9:L 3aE1↔v\~W޸6+: YZ