dpdk-tools-19.11.4-6.1 >  A `qp9|YdfKpk{:i.$uMwo΀0&`݁L1 hF9DɌ{K@zjj )\-0u@=}(75^\0!o,?d,ɳjRz'QyFrNjK=W׶H@#۪X:?U+JiP# Y`dXS?䁜 , %Qm0R6-L #Q͟TYJ =܁` 3HPdD'3&4d9a92b9a655f9c37a71fa8ddaf47deb42c6b283b0298e055ec90fdae4fb52f18d330e21536a139f0d015945c55f9a29d3f28e7b?$`qp9|R1wsB"n@ J+ݴjV4p߈Gh:4g=XpwŊLK{>LhX\x!3-JeƦ vjC;^H%+m\_1@HAw.E"\4%>!X9Ux`Q)(-qul*M/B*knz*.It7tyxT@>p??d   U& <M]cl           < h   L"" "   ( 8 C9 (C:CG0 H\ I XY\ ] ^bcdeflu0 v\wX x y/lpvCdpdk-tools19.11.46.1Tools for setting up Data Plane Development Kit environmentThis package contains tools for setting up Data Plane Development Kit environment`ibs-arm-2M6SUSE Linux Enterprise 15SUSE LLC BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/System/Librarieshttp://dpdk.orglinuxaarch64 "' qnxO36ˁA`k`k`k`[`l`[_VC_VC_VC_VC_VC7e615a61417a469fc1404c3dc3754374d94c11f48c6c943a77b6fbb5537f7bda50e80ff4a0325d9aab14680790d7001f339de84806722c0651f6e09f9106d3dda9234bb81493dbba1686eeac0ad3602c56a04aa2b5ffd0b64471587ccb6153a6b1667c72791ee656282ada727011a8afcb89a722c34948a2a32585fad61eccd958ab9def0175d542e58290fdc3b08c8ffe139cd88346a2dee3b766bea482a16768c3f56eaf2063d50ff6225971dde7c3f85283524df0613a26df0d9d5ab5026eb8a280044aead4cc4b338782cfafaafbd0ad87e1d09218a44dee10d317c527874f308474f47ba0bfec65dfc3b289a08c6befefb7d31138293a4ad1ff0f5a6205../share/dpdk/usertools/dpdk-devbind.pydpdk-devbindrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootdpdk-19.11.4-6.1.src.rpmdpdk-any-toolsdpdk-toolsdpdk-tools(aarch-64)@@@@@@@@@@@@@@@@@@@@@@@@@    /bin/bash/usr/bin/envdpdkfindutilsiproutekmodlibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)librte_compressdev.so.0.200()(64bit)librte_compressdev.so.0.200(EXPERIMENTAL)(64bit)librte_cryptodev.so.20.0()(64bit)librte_cryptodev.so.20.0(DPDK_20.0)(64bit)librte_cryptodev.so.20.0(EXPERIMENTAL)(64bit)librte_eal.so.20.0()(64bit)librte_eal.so.20.0(DPDK_20.0)(64bit)librte_ethdev.so.20.0()(64bit)librte_ethdev.so.20.0(DPDK_20.0)(64bit)librte_eventdev.so.20.0()(64bit)librte_eventdev.so.20.0(DPDK_20.0)(64bit)librte_mbuf.so.20.0()(64bit)librte_mbuf.so.20.0(DPDK_20.0)(64bit)librte_mempool.so.20.0()(64bit)librte_mempool.so.20.0(DPDK_20.0)(64bit)librte_pmd_crypto_scheduler.so.20.0()(64bit)librte_pmd_crypto_scheduler.so.20.0(DPDK_20.0)(64bit)librte_security.so.20.0()(64bit)librte_security.so.20.0(DPDK_20.0)(64bit)pciutilsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)19.11.43.0.4-14.6.0-14.0-15.2-1dpdk-any-tools4.14.1_s!_i@_2@^@^l@^\@]@]@]\@\Y@\o@\I[Ѱ@[[['ZZ@ZZZH@Z\ZTZ@X6@W= SLES15 It needs rdma-core >= v16.- Removed 0002-kni-fix-build-on-SLE12-SP3.patch since no longer referenced in .spec files - Added 0002-dpdk-eal-ppc-rte_smp_mb.patch to fix an issue on ppc64le platforms with v18.02 - Updated to version 18.02; some of the changes include: * Added function to allow releasing internal EAL resources on exit * Added igb, ixgbe and i40e ethernet driver to support RSS with flow API * Updated i40e driver to support PPPoE/PPPoL2TP * Added MAC loopback support for i40e * Added support of run time determination of number of queues per i40e VF * Updated mlx5 driver * Updated mlx4 driver * Added NVGRE and UDP tunnels support in Solarflare network PMD * Added AVF (Adaptive Virtual Function) net PMD * Added feature supports for live migration from vhost-net to vhost-user * Updated the AESNI-MB PMD * Updated the DPAA_SEC crypto driver to support rte_security * Added Wireless Base Band Device (bbdev) abstraction * Added New eventdev Ordered Packet Distribution Library (OPDL) PMD * Added new pipeline use case for dpdk-test-eventdev application * Updated Eventdev sample application to support event devices based on capability * Added Rawdev, a generic device support library * Added new multi-process communication channel * Added GRO support for VxLAN-tunneled packets * Increased default Rx and Tx ring size in sample applications * Added new DPDK build system using the tools “meson” and “ninja” [EXPERIMENTAL]- The vm_power example does not work for ppc64le since it uses the IXGBE PMD driver which is not available for that platform(bsc#1082154): * Disable CONFIG_RTE_LIBRTE_POWER for the sample application; * Disable CONFIG_RTE_LIBRTE_IXGBE_PMD for the actual PMD driver;- Upgraded to latest stable release 17.11.1 (LTS): some of the fixes include: * location changes of the GPL and LGPL licenses; * net/mlx4: - fix drop flow resources leak * net/bnxt: - double increment of idx during Tx ring alloc - group info usage - check for ether type - size of Tx ring in HW - number of pools for RSS - return code in MAC address set - link speed setting with autoneg off * net/nfp: - MTU settings - jumbo settings - CRC strip check behaviour * net/sfc: - multicast address list copy memory leak - DMA memory leak after kvarg processing failure - fix label name to be consistent * net/i40e: - VLAN offload setting issue - FDIR input set conflict - FDIR rule confiliction issue - setting MAC address of VF - flow director Rx resource defect - warn when writing global registers - multiple driver support - interrupt conflict with multi-driver - Rx interrupt - check multi-driver option parsing - flow director filter * net/qede: - enable LRO over tunnels - reject config with no Rx queue - check tunnel L3 header - tunnel header size in Tx BD configuration - VF LRO tunnel configuration * net/mlx5: - Tx checksum offloads - un-supported RSS hash fields use - device operation type - pedantic compilation - fix pedantic compilation - flow item validation - flow RSS configuration - UAR remapping on non configured queues - secondary process verification - port stop by verify flows are still present - flow priority on queue action- Enable(disabled by default) MLX4 and MLX5 pmd(fate#322609)- Upgraded to latest major 17.11(fate#322609); some of the fixes include: * Extended port_id range from uint8_t to uint16_t * Added a new driver for Marvell Armada 7k/8k devices * Updated mlx4 driver * Updated mlx5 driver * Added SoftNIC PMD * Added support for NXP DPAA Devices * Updated support for Cavium OCTEONTX Device * Added PF support to the Netronome NFP PMD * Updated bnxt PMD * Added bus agnostic functions to cryptodev for PMD initialization * Updated QAT crypto PMD * Updated the AESNI MB PMD * Updated the OpenSSL PMD * Added NXP DPAA SEC crypto PMD * Add new benchmarking mode to dpdk-test-crypto-perf application * Added IOMMU support to libvhost-user * Added the Generic Segmentation Offload Library * Added the Flow Classification Library - Removed 0002-kni-fix-build-on-SLE12-SP3.patch since patch merged upstream and available in 17.11- Added missing supported broadcom chipset family Broadcom NetXtreme II BCM57810- Upgraded to latest stable 17.08.1; some of the fixes include: * net/qede: disable per-VF Tx switching feature * revert "net/virtio: flush Rx queues on start" * various fixes for mlx5 PMD drivers * various fixes for bnxt PMD drivers * various fixes for i40e PMD drivers * various fixes for crypto PMD drivers * testpmd: fix for non-consecutive ports * ethdev: fix ABI version- Add missing libelf-devel dependency- Updated to 17.08(bsc#1050250, bsc#1046598, fate#322913, fate#322608) Some of the new features are listed below: * Increase minimum x86 ISA version to SSE4.2 * Added Fail-Safe PMD * Added support for generic flow API (rte_flow) on igb NICs * Added support for generic flow API (rte_flow) on enic * Added support for Chelsio T6 family of adapters * Added latency and performance improvements for cxgbe * Updated mlx5 driver * Added NXP DPAA2 Eventdev PMD * Added dpdk-test-eventdev test application * from 17.05: * Added mbuf raw free API * Added free Tx mbuf on demand API * Added VFIO hotplug support * Added PowerPC support for i40e and its vector PMD * Added VF max bandwidth setting in i40e * Added LiquidIO network PMD * Added support for NXP DPAA2 Network PMD * Added support for NXP DPAA2 - FSLMC bus * Added support for the Wind River Systems AVP PMD * Added vmxnet3 version 3 support * Added MTU feature support to Virtio and Vhost * Added event driven programming model library (rte_eventdev) * Added Software Eventdev PMD * Added Cavium OCTEONTX Eventdev PMD * Added NXP DPAA2 SEC crypto PMD * from 17.02: * Added generic EAL API for I/O device memory read/write operations * Added VF Daemon (VFD) for i40e. - EXPERIMENTAL * Added generic flow API (rte_flow) * Added APIs for MACsec offload support to the ixgbe PMD * Added Solarflare libefx-based network PMD. * Added support for Mellanox ConnectX-5 adapters (mlx5) * Added ARMv8 crypto PMD * Added crypto performance test application * more details can be found in http://dpdk.org/doc/guides/rel_notes/release_17_08.html http://dpdk.org/doc/guides/rel_notes/release_17_05.html http://dpdk.org/doc/guides/rel_notes/release_17_02.html [-0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch - 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch - 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch - 0005-kni-fix-build-with-gcc-7.1.patch - 0006-kni-fix-ethtool-build-with-kernel-4.11.patch - 0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch] - Use updated patch to enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+ 0002-kni-fix-build-on-SLE12-SP3.patch]- Enabled CONFIG_RTE_MAJOR_ABI: libs SONAME equal the DPDK release version- Split libs into a subpackage to provide multiple installable versions on same sytem- Do not use obsolete pci_enable_msix for() kernel > 4.8 [+0006-kni-fix-ethtool-build-with-kernel-4.11.patch, +0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch]- Updated to 16.11.2 which provide bug fixes as below(fate#321541): * mbuf: fix missing includes in exported header * eal: fix debug macro redefinition * net/nfp: fix packet/data length conversion * net/i40e: fix setup when bulk is disabled * pci: fix device registration on FreeBSD * net/i40e: ensure vector mode is not used with QinQ * nic_uio: fix device binding at boot * net/bnx2x: fix transmit queue free threshold * net/vmxnet3: fix queue size changes * kni: fix build with kernel 4.11 * kni: fix possible memory leak * kni: fix crash caused by freeing mempool * net/i40e: fix allocation check * net/virtio: fix crash when closing twice * net/ixgbevf: set xstats id values * net/i40e: fix hash input set on X722 * eal/linux: fix build with glibc 2.25 * net/i40e: fix incorrect packet index reference * net/thunderx: fix 32-bit build * net/thunderx: fix build on FreeBSD * net/thunderx: fix deadlock in Rx path * net/ixgbe: fix setting MTU on stopped device * vfio: fix secondary process start * net/virtio-user: fix address on 32-bit system * net/virtio: fix MSI-X for modern devices * net/virtio: fix link status always down * net/ixgbe: fix multi-queue mode check in SRIOV mode * net/i40e/base: fix potential out of bound array access * vhost: fix false sharing * net/thunderx: fix stats access out of bounds * net/virtio: disable LSC interrupt if MSIX not enabled * net/i40e: fix mbuf alloc failed counter * net: fix stripped VLAN flag for offload emulation * vfio: fix disabling INTx * net/igb: fix VF MAC address setting * net/igb: fix VF MAC address setting * net/ixgbe: fix VF Rx mode for allmulticast disabled * net/bonding: fix updating slave link status * net/virtio-user: fix overflow * net/i40e: fix TC bitmap of VEB * net/ixgbe/base: fix build error * net/ixgbe: fix Rx queue blocking issue * net/ixgbe: fix all queues drop setting of DCB * net/ixgbe: fix TC bandwidth setting more details can be found in http://dpdk.org/ml/archives/stable/2017-May/001809.html [- 0005-kni-fix-build-with-kernel-4.11.patch] - use default gcc which is now gcc7 (bsc#1042372) [+0005-kni-fix-build-with-gcc-7.1.patch]- Add upstream patch to fix building against linux kernel 4.11 [+0005-kni-fix-build-with-kernel-4.11.patch]- sync mailbox definitions with Linux PF driver(bsc#1035993) [+0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch]- Enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch]- Fix dpdk KMP build fails(bsc#1031750) - enable igb_uio kernel module(fate#322394) - update kernel version for SLES12SP3 4.4.59 for bsc#1031705 [*0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Enable HAVE_VF_VLAN_PROTO for SLE12SP3(bsc#1031705). [+0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Disable dpdk-kmp package for ix86.- Upgrade to LTS release of 16.11 which contains fixes below(fate#321541): * app/test: fix symmetric session free in crypto perf tests * app/testpmd: fix check for invalid ports * app/testpmd: fix static build link ordering * crypto/aesni_gcm: fix IV size in capabilities * crypto/aesni_gcm: fix J0 padding bytes * crypto/aesni_mb: fix incorrect crypto session * crypto/openssl: fix extra bytes written at end of data * crypto/openssl: fix indentation in guide * crypto/qat: fix IV size in capabilities * crypto/qat: fix to avoid buffer overwrite in OOP case * cryptodev: fix crash on null dereference * cryptodev: fix loop in device query * devargs: reset driver name pointer on parsing failure * drivers/crypto: fix different auth/cipher keys * ethdev: check maximum number of queues for statistics * ethdev: fix extended statistics name index * ethdev: fix port data mismatched in multiple process model * ethdev: fix port lookup if none * ethdev: remove invalid function from version map * examples/ethtool: fix driver information * examples/ethtool: fix querying non-PCI devices * examples/ip_pipeline: fix coremask limitation * examples/ip_pipeline: fix parsing of pass-through pipeline * examples/l2fwd-crypto: fix overflow * examples/vhost: fix calculation of mbuf count * examples/vhost: fix lcore initialization * mempool: fix API documentation * mempool: fix stack handler dequeue * net/af_packet: fix fd use after free * net/bnx2x: fix Rx mode configuration * net/cxgbe/base: initialize variable before reading EEPROM * net/cxgbe: fix parenthesis on bitwise operation * net/ena: fix setting host attributes * net/enic: fix hardcoding of some flow director masks * net/enic: fix memory leak with oversized Tx packets * net/enic: remove unnecessary function parameter attributes * net/i40e: enable auto link update for 25G * net/i40e: fix Rx checksum flag * net/i40e: fix TC bandwidth definition * net/i40e: fix VF reset flow * net/i40e: fix checksum flag in x86 vector Rx * net/i40e: fix crash in close * net/i40e: fix deletion of all macvlan filters * net/i40e: fix ethertype filter on X722 * net/i40e: fix link update delay * net/i40e: fix logging for Tx free threshold check * net/i40e: fix segment number in reassemble process * net/i40e: fix wrong return value when handling PF message * net/i40e: fix xstats value mapping * net/i40evf: fix casting between structs * net/i40evf: fix reporting of imissed packets * net/ixgbe: fix blocked interrupts * net/ixgbe: fix received packets number for ARM * net/ixgbe: fix received packets number for ARM NEON * net/ixgbevf: fix max packet length * net/mlx5: fix RSS hash result for flows * net/mlx5: fix Rx packet validation and type * net/mlx5: fix Tx doorbell * net/mlx5: fix endianness in Tx completion queue * net/mlx5: fix inconsistent link status * net/mlx5: fix leak when starvation occurs * net/mlx5: fix link status query * net/mlx5: fix memory leak when parsing device params * net/mlx5: fix missing inline attributes * net/mlx5: fix updating total length of multi-packet send * net/mlx: fix IPv4 and IPv6 packet type * net/nfp: fix VLAN offload flags check * net/nfp: fix typo in Tx offload capabilities * net/pcap: fix timestamps in output pcap file * net/qede/base: fix FreeBSD build * net/qede: add vendor/device id info * net/qede: fix PF fastpath status block index * net/qede: fix filtering code * net/qede: fix function declaration * net/qede: fix per queue statisitics * net/qede: fix resource leak * net/vhost: fix socket file deleted on stop * net/vhost: fix unix socket not removed as closing * net/virtio-user: fix not properly reset device * net/virtio-user: fix wrongly get/set features * net/virtio: fix build without virtio-user * net/virtio: fix crash when number of virtio devices > 1 * net/virtio: fix multiple process support * net/virtio: fix performance regression due to TSO * net/virtio: fix rewriting LSC flag * net/virtio: fix wrong Rx/Tx method for secondary process * net/virtio: optimize header reset on any layout * net/virtio: store IO port info locally * net/virtio: store PCI operators pointer locally * net/vmxnet3: fix Rx deadlock * pci: fix check of mknod * pmdinfogen: fix endianness with cross-compilation * pmdinfogen: fix null dereference * sched: fix crash when freeing port * usertools: fix active interface detection when binding * vdev: fix detaching with alias * vfio: fix file descriptor leak in multi-process * vhost: allow many vhost-user ports * vhost: do not GSO when no header is present * vhost: fix dead loop in enqueue path * vhost: fix guest/host physical address mapping * vhost: fix long stall of negotiation * vhost: fix memory leak- Fix broken dpdk-pmd/* soft links(bsc#1026804).- Do not disable cryptodev as EXPREMENTAL tag has been removed. - Remove CONFIG_RTE_LIBRTE_MBUF_OFFLOAD as cryptodev is not depending on it anymore and its removed from the upstream.- Enable rte_kni kernel module for dpdk(fate#322394). [+preamble] - Build dpdk-thunderx only for aarch64- Update to version 16.11(fate#321541). Some of the new features are listed below: * Added software parser for packet type. * Improved offloads support in mbuf. * Added vhost-user dequeue zero copy support. * Added vhost-user indirect descriptors support. * Added vhost PMD xstats. * Added virtio NEON support for ARM. * Updated the ixgbe base driver. * Added APIs for VF management to the ixgbe PMD. * Updated the enic driver. * Added openssl PMD. * Added support for new gcc -march option. Detailed changes can be obtained from http://dpdk.org/doc/guides/rel_notes/release_16_11.html - Resolved fixes in the updated versions are : * enic: Fixed several flow director issues. * enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets. * enic: Fixed high driver overhead when servicing Rx queues beyond the first.- Added gcc-6 as default compiler for CRC/mtune & other optimizations. - Fix possible parallel installation of dpdk subpackages.- Add pre_checkin.sh to generate the dpdk-thunderx.spec file- Fixed paths using %{name} to have the dpdk.spec aligned with dpdk-thunderx.spec- Added back in all the architectures to keep .spec files aligned * Driving thunderx platform architectural dependency via the ExclusiveArch tag- Added support to build code for Thunderx platform(fate#321960). - Introduced new dpdk-thunderx.spec file: * Removed architectures not supporting Thunderx platform (e.g. x86) * Added dependency on gcc v5.0 for armv8a-crc- Update to version 16.07.2. Some of the fixes are listed below: * ethdev: prevent duplicate event callback * hash: fix bucket size usage * hash: fix unlimited cuckoo path * lpm: fix freeing memory * lpm: fix freeing unused sub-table on rule delete * mempool: fix leak if populate fails * mempool: fix search of maximum contiguous pages * pci: fix probing error if no driver found * net/bnx2x: fix maximum PF queues * net/bnxt: fix bit shift size * net/bnxt: fix crash when closing * net/enic: fix Rx queue index when not using Rx scatter * net/enic: fix crash on MTU update or Rx queue reconfigure * net/enic: fix crash with removed flow director filters * net/enic: fix max packet length check * net/enic: fix multi-queue Rx performance * net/enic: revert truncated packets counter fix * net/fm10k: fix VF Tx queue initialization * net/i40e: fix Rx hang when disable LLDP * net/ixgbe: fix VF registers * net/thunderx: fix Tx checksum handling * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#id2]- Update to version 16.07.1. Some of the fixes are listed below: * contigmem: zero all pages during mmap * crypto/null: fix key size increment value * hash: fix false zero signature key hit lookup * mem: fix crash on hugepage mapping error * mbuf: fix error handling on pool creation * net/e1000: fix returned number of available Rx descriptors * net/enic: fix freeing memory for descriptor ring * net/i40e: fix dropping packets with ethertype 0x88A8 * net/i40e: fix mbuf leak during Rx queue release * net/i40e: fix null pointer dereferences when using VMDq+RSS * net/ixgbe/base: fix possible corruption of shadow RAM * net/ixgbe: fix VF reset to apply to correct VF * net/virtio_user: fix error management during init * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#fixes-in-16-07-01-stable-release]- Drop code for generating our own linker script. * Commit 948fd64befc3 (" mk: replace the combined library with a linker script") added upstream support for building and installing a linker script so we drop our code from the spec file which generated a much larger and possibly broken linker script resulting to linking issues (boo#1002534)- Update to version 16.07. Some of the new features are listed below: * Removed the mempool cache memory if caching is not being used. * Added mempool external cache for non-EAL thread. * Changed the memory allocation scheme in the mempool library. * Added a new driver for Broadcom NetXtreme-C devices. * Added a new driver for ThunderX nicvf devices. * Added mailbox interrupt support for ixgbe and igb VFs. * Updated the ixgbe base driver. * Updated the i40e base driver. * Updated the enic driver. * Updated the mlx5 driver. * Added support for virtio on IBM POWER8. * Added support for Virtio in containers. * Added vhost-user client mode. * Added NSH packet recognition in i40e. * Added AES-CTR support to AESNI MB PMD. * Added AES counter mode support for Intel QuickAssist devices. * Added KASUMI SW PMD. * Added multi-writer support for RTE Hash with Intel TSX. * Improved IP Pipeline Application. * Added keepalive enhancements. * Added packet capture framework. * Added floating VEB support for i40e PF driver. * Added support for live migration of a VM with SRIOV VF. * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides/rel_notes/release_16_07.html - http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/release_16_07.rst - Or the doc/guides/rel_notes/release_16_07.rst file in the released tarball.] - Removed patches that are already avilable in dpdk-16.07 [ -0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch - 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch - 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch - 0005-d293dac-vhost-claim-support-of-guest-announce.patch - 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch - 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch - 0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch - 0009-bonding-copy-entire-config-structure-in-mode-4.patch - 0010-bonding-fix-active-slaves-with-no-primary.patch - 0011-bonding-do-not-ignore-multicast-in-mode-4.patch - 0012-bonding-do-not-activate-slave-twice.patch - 0013-bonding-fix-crash-when-no-slave-device.patch - 0014-bonding-fix-detach-of-bonded-device.patch - 0015-bonding-fix-detach-of-slave-devices.patch - 0016-eal-linux-support-built-in-kernel-modules.patch - 0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch - 0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch - 0019-i40e-base-fix-driver-load-failure.patch - 0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch - 0021-i40e-fix-inverted-check-for-no-refcount.patch - 0022-i40e-fix-overflow.patch - 0023-i40e-fix-VLAN-filtering.patch - 0024-mempool-fix-leak-when-creation-fails.patch - 0025-pcap-fix-captured-frame-length.patch - 0026-port-fix-crash-for-ethdev-writer-nodrop.patch - 0027-port-fix-crash-for-ring-writer-nodrop.patch - 0028-tools-fix-unbinding-failure-handling.patch - 0029-tools-support-Python-3-in-bind-script.patch - 0030-tools-support-binding-to-built-in-kernel-modules.patch - 0031-vhost-fix-leak-of-fds-and-mmaps.patch - 0032-virtio-fix-crash-in-statistics-functions.patch - 0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch - 0034-virtio-fix-restart.patch - 0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch - 0036-examples-fix-build-dependencies.patch - 0037-examples-ethtool-fix-build.patch - 0099-mk-fix-gcc-5-version-on-suse.patch - 0100-kni-fix-build-with-gcc-6.patch - 0101-ixgbe-fix-uninitialized-warning.patch - 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch - 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch - 0104-igb-fix-constant-sign-in-left-shift-operator.patch - 0105-e1000-fix-missing-link-interrupt-check-brackets.patch - 0106-app-test-fix-missing-brackets.patch - 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch ] - Created soft link for dpdk_proc_info and dpdk_nic_bind(from dpdk-procinfo, dpdk-devbind) to keep compatibility. - Added a new binary dpdk-pdump dpdk-procinfo- Add _constraints file to force build dpdk with sse3 enabled x86 machine(bsc#993462). - Enable compilation for ppc64le with the help of Rüdiger(ro@suse.de). - Enable example package for aarch64 using Rüdiger(ro@suse.de) changes. - Do not enable PMD_RING on ppc64le (missing rte_eth_from_rings). - Disable examples that need LPM which is disabled on non-x86. [+0036-examples-fix-build-dependencies.patch, +0037-examples-ethtool-fix-build.patch, +_constraints]- Added support for aarch64 compilation. [+0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch] - Disabled aarch64 dpdk-examples package for the time being as it contains lots of Intel specific code. - Added proper "Group" field for the subpackages .- Add upstream patches to fix building with gcc >= 6 * 0100-kni-fix-build-with-gcc-6.patch * 0101-ixgbe-fix-uninitialized-warning.patch * 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch * 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch * 0104-igb-fix-constant-sign-in-left-shift-operator.patch * 0105-e1000-fix-missing-link-interrupt-check-brackets.patch * 0106-app-test-fix-missing-brackets.patch * 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch- Removed unwanted files(bsc#984437).- Added missing GPL-2.0 and LGPL-2.1 licenses.- Update tarball URL.- Applied all the fixes recommended by upstream for v2.2 stable release(bsc#981996). [+0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch, +0009-bonding-copy-entire-config-structure-in-mode-4.patch, +0010-bonding-fix-active-slaves-with-no-primary.patch, +0011-bonding-do-not-ignore-multicast-in-mode-4.patch, +0012-bonding-do-not-activate-slave-twice.patch, +0013-bonding-fix-crash-when-no-slave-device.patch, +0014-bonding-fix-detach-of-bonded-device.patch, +0015-bonding-fix-detach-of-slave-devices.patch, +0016-eal-linux-support-built-in-kernel-modules.patch, +0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch, +0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch, +0019-i40e-base-fix-driver-load-failure.patch, +0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch, +0021-i40e-fix-inverted-check-for-no-refcount.patch, +0022-i40e-fix-overflow.patch, +0023-i40e-fix-VLAN-filtering.patch, +0024-mempool-fix-leak-when-creation-fails.patch, +0025-pcap-fix-captured-frame-length.patch, +0026-port-fix-crash-for-ethdev-writer-nodrop.patch, +0027-port-fix-crash-for-ring-writer-nodrop.patch, +0028-tools-fix-unbinding-failure-handling.patch, +0029-tools-support-Python-3-in-bind-script.patch, +0030-tools-support-binding-to-built-in-kernel-modules.patch, +0031-vhost-fix-leak-of-fds-and-mmaps.patch, +0032-virtio-fix-crash-in-statistics-functions.patch, +0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch, +0034-virtio-fix-restart.patch]- Use fdupes to manage duplicate files- Create DPDK packages for 32 bit x86(bsc#977639).- Add upstream patch for the ixgbe driver * 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch: Fix VLAN filtering logic by adding the missing brackets in the 'if' statement.- DPDK is most common vhost-user backend, Adding upstream patches to help qemu vm live migration with vhost-user (fate#320713). [+ 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch + 0005-d293dac-vhost-claim-support-of-guest-announce.patch + 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch]- Move the combined library back to the devel package (bsc#975123) Ever since we dropped the CONFIG_RTE_BUILD_COMBINE_LIBS=y option, the libdpdk.so is no longer a shared object but rather a linker script generated by the spec file. This means that it is only used during linking and the linker will add the individual DPDK libraries to the DT_NEEDED tag on the dependent binaries.- Fix shared linking against libdpdk.so (bsc#975123) * Restore the 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch patch which sets the correct dependencies for the shared libraries. * Drop CONFIG_RTE_BUILD_COMBINE_LIBS since a custom linker script is used to create and install a more lightweight version of libdpdk.so. * Include the combined libdpdk.so library to the regular package since it is also necessary during runtime.- Removed unwnated patch and reformated patch file names(bsc#974903). [- dpdk-2.2-dtneeded.patch, - dpdk-2.2-examples.patch, - enic-pun-fix.patch, - dpdk-2.2-warningflags.patch, + 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch + 0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch] - Added CONFIG_RTE_BUILD_COMBINE_LIBS flags to club all all *.so into one library- Intial version 2.2.0(fate#319169) 19.11.419.11.4-6.119.11.4-6.1dpdk-test-compress-perfdpdk-test-crypto-perfdpdk-test-eventdevdpdk-devbinddpdk_nic_bindusertoolscpu_layout.pydpdk-devbind.pydpdk-pmdinfo.pydpdk-setup.shdpdk-telemetry-client.py/usr/bin//usr/sbin//usr/share/dpdk//usr/share/dpdk/usertools/-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:20111/SUSE_SLE-15-SP3_Update/9ce04651bcd3e010f364bf4c5e6bb18e-dpdk.SUSE_SLE-15-SP3_Updatecpioxz5aarch64-suse-linuxELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=6021c24c50ba7520d348d16108e1c8511ba1b8a9, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=32cfbd042cbac38f35bae37224998e716f0d9f13, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=223cd09895a467d5022069835e8ace32dd1a6a63, for GNU/Linux 3.7.0, strippeddirectoryPython script, ASCII text executablea /usr/bin/env python script, ASCII text executableBourne-Again shell script, ASCII text executable *+,-.  R RRR RRRR RRRRR RRRRRR RRRRR RRRRRRRRRRRRRRRRRRRRRRRutf-8c7a6bd735c31c7bf66b5ef5af133839a52a655e8c9ddefdc9eee0d98d005574a?7zXZ !t/.d] crv9w7 RNne@#Y#n㤁ogS_κ~g,>>1 _>AKHG{ ;9r4QyvAzft#~!ư`w *$#ɆcJuXTnth%Y^2VBgqE7P%?q]-ibF@c2l uەvn0AAx& u 3{7&O{=H6tU#,A`,"'V:rK(t~c$bͬwerW3͉x22Xv5ր2}<fzHE5{ c('n<_8|Ys3+["KWdG|&&{P/MI(%B#p٨" 8,eie{aݓZ_=w&jhd|Ȣ K@g*^J71 񤳄ȍgӂkmDmi]9C}FJw q6`~jD5+-Ϸ -<]*y)ćFqb|~caޯOߎ)TCݧ?;7_?E(ʝHM{ZC:jPۦFU+ 2Ῡ)"ǶWr<)G3(P G`~/X/ƹݪu:723 tY wq-tθ/+A4\KhV "iz}X[]i8Y([9I0 D>C^#}0$&@AØԸ L/|t\n7 ϘۧUaRf0Yf 3].?~8UvVc2񐦿!^ Hx'Ɩ6%2ْe}O(dq|׼ZWcAû$5VA: ,ƛ,si1~ɘ~*ƥ"ф.V ˇLlg+0S)8e= %PVeI=S<*lsܮk]}OU\PH~|./N|-8U<ޡz֎qpiH{<.ɓiLCW)J^^D :n VN -A{y0tVR`00(wMR*W+\7*|nX";ZvnjK&Gvtu cQ.s[2Sh&Rs. hzen<=^|j! 9muB*Im C=;0Tnl/n} wo07XMx>TQ֛ǪLkNsƷ>4/j+ ê^XFZ+57n}7OflpA~kY4g:^ 0udך՘ݰ"?|gde͊4>^_}bsǕe&5} *O'bJL]I7؏;$D.@ (ЩWLK?&^n96.tRbj4Ι5$ݨ{:+O2S5*s[,Y VDrΜP8v"11w){Ե t;=ގ9oÊz߿חTp`){HkcO?4{jo2P'~I8(87~!9Qa|&=7WUҤ^JH͌O1jtQ0s:th C4ghVZb;WqBtS#h66CI</ѵ~T}pqX@V.ODalQ|'T u%bkDDLNI~ܐtMٰzI'WD晌v^-Y.3\HUoi~ Um */ACOO1?aoOSV!~#uҶ`14?f8Q2GvYAȲҾ4u9^2tLn 9G!eF0>g/03ل&CO,RBc..LN7EptT{)9dr [& `=)F,$Nzucݩ+ )7q堂4i r#֨ی9A \+>gUk]GCD}JD|cefIF/}VVi^ࠖ[l"yq\ ;Fl=히tg< Ӷ0mz]zUM~i(Ym']\#* @&[%VGsNZ!J(Ķ5Da}1ƷsJo]EjrhC N6Ѻ*FRXQ״*>&(ï_u6Fqؕ{oƾ;6凞!YCz5N .+K 鵱t OElٛUyʵ#kb0\`QB-'͗tN +1h:M8`pnMzFLt^ng [v6bDUb!o+&q+4x{F4EX'`e =j0pTN^O.NWG)F/ 95:upy/A^υ֊jJUmpHHc.kʴ/?xO|q@.0Aԓ|{LƎl8#,,:Q5nGRp/c#n˹z` ĦϊQMÈJֻ̣3|ꗈ^f̅g5/9ɢ`NyVX~Z܋NW#yNy sc%7[^j vg$=J,^ `H\XĻ8[bܙH #E2LšT: ?EU3U|J O(CkSZBZ:2St$~k}O狢ϯz~?:sJS(^"s)~/q&vՏ@[EӐdl:b@Swh\O[pL]RIiܞ߃7 JT\9fk¸,B>I= gR&J۝RiOV4;͡pne&z@{hu ݻ[4rRJq$m:Cf&Rm);ax,8F,߁Yz3$Ⱦ'9i70{]bVab0a). W۫PX5+HJpƏ%)^;Կ #}6OSFs ۹Vʌ#lY4)(JprB QfLK7k>I u <MPI>Z?Uu[Hʽ&6@߫/w|=k@P~U˯PYi|~w\]!:b<(bA=Kj RvúoA!Vݦ6Ikc)_R|!wRMq[dl-7ڽQ8YEI"6ԡs(Q\ߚŝPz/b~F,>sGV\44] Іn9C[iK{T,*U * cǼ>6^iPƁZG$PE+T5 B?R#hC;%G4L38r}6kU_Ne5ޝ|;r9s<ΣF(۬m]*SC4 Uֽ~hd2(~R?à'n#T;#%nZ rǻmn[ 0t Fʽ+%N+ݔ\e kISkrcItWS9g7hkխ-ťN1D*|'\7R;|zGDD */@8BWX;aY)wM)}FBP(hBOe!NJYTeBzOwQ /!"SwQR69#iJ8z Q*; p8j[?SFܔp ׎Vy~JVuCXp訍$մ)w_uFh!C!M[$SPle׷f_Q^Ղ>MS79V/ğ+E8% +>9.$P)Ɂ9{W9@G 1F$q>61mH1a.^zl*;`r$0%Ţ-՟7sd }-2ӧ}R; (C;[xgWfa vHl<-|T⸜z o3@.;Kwn⡪\mYZNoJ6|/Š >4f> r/yh.-oٖi dݯUj7eRw3uZ6H1S(zz!ktYv3ʝ!xGCkK H? JRp[ߗ\f.JICFR7< Z*igxS&I; ygX&x֔ۦq<}'|Tk9#/>㩰Ft; l yc]+pUtLbKL$k%g@gS7 rx[kNX<#{Gbb7~EX7յOA/2J*pŹZC#eD'TtpYsNJAQl2W_]$Sڴdu$qJ5;$z 8`UO52İA2@ҧa;l*'>_}/'"GZW'\zDPXΥ?S_vMZ4uŧ ҉($e}jn Y$i=6r@#AGַq'j7)_7`?:}X(l!!piڍy,䆯=LNY&DF#>d|'gӎ胮qmAN uq$\@vzGk7+|L!^C|~(oeB[=h˯az< :pVw$hCJNzi!lio^@'KvrT3꿐vJ@6PiUq'ŤrV2fN!7y;:%jԢ(8`x`(#U4%Y%`t9Q4H.о1F\ Vv?=gzi4z8 5<8<õ@a^($`ܠ~G0 cH~@O|yV&s7l)RoI$-S7ܬa#ifnVjߏ,$1( _w$C>'(s:Fjˡ~ELNE%u oNfMK-ո,D+sbmaxR0_= U. 972FPi\3 myRUWPL2*'SV)هMKϼș rTc񭱛tcQCC%8Y>x |a9MQд4Sc{f,=&ܖe(S_9hg&MourQMp29|vq(+ѽ]9?3q¨,#Bձ|#r6Q9mZ=; 5/*?T߻uL/ObO@޽}l*[ı,NS"f}bgfQ^_=7BSvu~Oi8turR~+׭tU" O"/lNH%W#y_LVW| ҆ギ2K+surl99'7kKh9rs.0l˦,U~xV O~Wm~ hON8;Mh{ =O) 08?C/%d"Uť..{ZgZŰ7IEY+8Ls{a$qO_"}³{8`4XOWnZ^ y[`L>!|TȯAQu Ho1֪uX?.v^\QJeMˆU$tJ9IBG,o¶/ SMGUchRV`/伴CAq nv'Nh=<(Aי"]̅Wzy6[[$"7>[0ﴨ^(vҟ5!$fMPMD#% (qE"A̶VyS~LGu9qi(`œ6m ~fchE}=AN*6@+r+l=99TS-X$7sKN3U>}Qp-<4OhGnۿ2>Ї~m(X kU;c7P.~+ q6o)#clϡgm 3 PJP[%¸M*XlQb U5+7\0rUDC4?erg,u)iʪ[_)DDc{7y$u˲FѠ.J+i)zjZqhe%uR^s+i005XY.(+H_goyEϽnkz{๞f^>U} K ^*G2LP]lh7d±ЪjF}ᶎ+`^G ET"$ƙ@YxYkmoG '!{,ʳ$)C-{!>1oG17ጅvv|6fa)݊Fǁw-;!ss]ó )ݚ7鉭y}<6m^yB<ÈMIdf*|nҦx<[l񨥟ūړ<RF `^gӧw#=ځvqJI ]~?"&ro<A81dd]_L:RfG7^=(ۙ4 Q9Ig)Z\leM|xPNF8@+.8ј0[\bDHB 'V`wGxjP8Z V w$T2ݻ xKl[Qq59DP;3͔la6#w:6?06sM޷G<&7b񟠡(guNJI^+/BQW}7h`R,aY NayCX'q/[7H m}\~ft".{_t9TF)Z 6ߒo<"`>S'9҇Șt 7ZH1ZZzM|OglGݟKX?8 ²8u_kn"bY¬Rl^ylVQ3`/T7Z8cLK71l w_㡛Wd^#Cֈ[C;:7t2GW,jG5}ƬT7h)]U9( dꎬ=iS FQy ܸV|{å`9h~'{i6QCXsCwn8Z/#Q">g2'&,b 02#mw)q#Z 4t.ͅe}\5(+SuV[UIA:PD;*w k9࢕G$]X6-ԣ\E)P4B7̗2K[f\Q4eJXޯM#k xD]-23p}5tBDVE:w'e@Mva|?u#3 Dg=:͌_"y Vd/bFZ0*G2 QơwqHX@N-p }vMVqK1\ha-i\$(; 4-枡8Qؠ%xN)vbjfK# *WAĜRUXxYuYnw3^0UVDo 6gY+mL>)v_GA \<=5P( "zY]̆zƅοGp2B5k_=\+ý,[ ƄcM,i381 45ʥ>) E:J,mj2_e^D(#fk`?i=$Y bġ61XȰgWh}?p<*(ҋ 1M!QL>%= ֢n= h΍hVR(xOө#LH,2HHTWuܨ戝(CP۴*ξZ΃=U.`´gCץ"}~z+H6+GʑX1ͱM( >7jK9Nx׶U(~ ujaڹq5Q9P_MhEjʦI~gf]⬖ ފ+OK)l.7!<|n.dT8&4o6Ubv?`:&[1py} rljep|,Xd04O W΅O& FLj#䱈WN$-ah#C][<]E b@fsnlSfQHslm&jyS$4Tqaΐ]Ԅd64~J.]]>mBfZ:Z0f7% [Ӓ4R^ smSDx()/?tXT0МsJfA0q(N ]ј1#~E a <[!Alָõ$7E[՞>LmwnK)(u5F/UcꙊ^3; C!-ce>@C:uI fslb(Sj%X}4 DC|9\)T?*#Q(g {l%`YVQ\xADsbH4@ZSKb"IU)uf"x5”c[${,1,yqix̺΋Y2 KD>[W r/$ 용35Kڢ( وh_#aۚ?ZV-RrDǢ;[*ZZw]bo{(@`[l}4Dr?P6rė ᠂dA0E"[ރDu^a ?ꮺUMUv{ ć9\Il.PR QBBI׾ P"a05aj'8wjKnwIUõ%p E0ʌv}ܔU`׊xI&;Mh5D̐%6fn ck4\%^x`d0#:Fuu`<3z\Ӽ5JQ>_)/uyeoO۔-x"!X@rȶ*?0֯.DHsȊQP?tJ؜cXS)Dڭ'ŷo [&9 tJ&o2Vr{CG@<ϱ|ISXx_>?q{N Cz"w 3&GcD -!=>qw+D["nud}qܮϟsbmDQrTaƐiP,wܣ1smSY|ٻiR_rS\X1`>*Zqeb)@X"W.;ns6X͑?ѯh[ fS,h0Ssߪ2Wjh~NbMYIIGBER[;38BZdRʿ.maCFB;+кi m2byRfnt:#b?vQm~`4-W۽͟nG$rQM ߨd  aְ(y:Z-^v?YL!ahq[AmW\)Um?/ٛ5D"nKT%Vs iYTc*chnxFRbsŦޅa@~C['t~{  q `%u"d2QI[mW:a!7bL͡ IHش`4#dysWjg]Nr~4NF.e6q0m?]v6ϷWpE(#N:`hbH%|Qҫ;A+;g- Ru'6, 楲=z:GVy#?| ^6,0%1;T~md<{5m50ܶ׫n%XN>,ҎRi oIg}ShL{GW<Ԭpҕn5JQ zCJ5E) :[ްNWw'Ϣtҍ'㹥]۞߬P ;Zs:T;+Ϥq`Xbϭ{ ӵ~r^SFnV ZTijȯ(}sp6ΔDL(>`'%r9I 3RϧݶuCk0Wyjʅ4w`,5PBlzϙl 7+mQ"Ą@R1m)\0Xo@R@Y6(`qa(7u5K*u6l4^:vMëuFQ*d*|Ct3SG4p\_bm;/Wdn | _k=Ʃd?06gXZlD Jbg:blfwXKc+' ⹽b~zN{6>ȥ75PP3T23^!D6`%,/'Z=\3Oi|1( c;p}}2k7Dݼ+ҘvV/rk+N@O"K\zqkBkGSyO>rN1H$ x/Cg8isӶ( /71d\4wص_k̕fTGϮ;6xޗld'Q-vq=()#3nބ҂kn;\ǷRӶZԂCXu5 4"= vBHrsżY=%&l u>a^S"d"km)d Y[R5}ۜ&MB2tJSt lՂW |+V'5E(b97%qtR|_ hM|@'@+夛ek h*jBaQ5+|O }2yBAэ)a,.GcQ t/(_s.@+-YTX@ #9J2jsA?ګ,{ E Wew_ 1lj)lsvQKeBht,9ZOc *GxC Y^K6PiZXT*RjZ lH#%,^_ba]U~$$72ivN{pspł)-6Z-pyQvT-%Ѓbrs4h\\Am)7r+NѮrSXjbqc5pH(/n`׶w7L讝p1Uء{`$>V+NnlZt1C>n #+#ƌi>0_:}E k&fd3lBA2X&vr N |F Uw ;WVrI2ϵI1 /,U f\l!=秫Ηmz?^%*r! > <0v ;&]/J-`MUY2$@LG@<1>:@w'!oZ2W5Y~>yQQqiHG5wĎqP/˪2)C'b`ǵ* gJYU]B{^^;(>ܺKDjdKP;k@ 9Cր^xn+l!o2:,0u]#p EbZCf̍,/0F`bqoo|N@t$',RۗP帒V!$j<7J/rb4 z{(B6U,._r$%JaVVTCPRIMɟmm)qb6+눞 ß- >5gHH>zSf-stmt-"T>h',9W:GM< aE|FNJ8z–/?=\NrO"G SqQҲ`5V~QK^ϏZNkiדt@rbk?k!pg̈?-xnO<(`$8Vϻ>NƃxarxCyS0w<'J_cZn_iKP* AZ=n3'n 2 P4^j9kxꄤ(Oe:8R县ԥ]jT-<3{aƪrܣ}~M|rj,Dl A5K2X 2nUE"1$ϏsS ${w*cbo2.m*~exmwX k⒉u#]HS;N_=oq*iTpח`<}ڴ+҇N cavc_&z]'rd5|unu 椁N^ۡŽ"2kO? ȇ_P>K,cQQ-`>\2mBR!rzbhV75OhjYh#=ض: S }[{_ZG~E uC+x|[rqK#+20;żI+(]ȮA'DgPys${be䤨 Jyvr,t_#չ+c]]`Ugq5,B;M gJ FD"\p$jx{wdnIT>eE["KjhG4L}nH݋ `UH:NѫAi4n@7=zs٤r26 "mm&+ם BۈW"~e|"*N1fGq9п碔()4-Aڃ*ړ9}*tr*'ףޢ #X s G mCv"/q_ԧ{raWpkۭ%FAHHߐ_: M!ձSvF%h5`9Aȃh6U.WBwt cҁ[(&Dd_gpo-2XD.<0ܠ݃SmcrOOw AHہX",HEh`< FW99s"gR]F '刏o%y }jO-g SÍyKW=3Vz;ֽk vˤ^`ncĮ@:mEd.mOb&%EM Ԯ& !EۧH|#+$Q%nᇲBe2pt>E>%|3!e'k$B0_m:xϛ6m)0a ?\ Fcޝ `8t׉MTCYqGּvk?a0q{ x 0Zp'LJzJ̇~u_OJ̴c&uݥ\;fgCLa:ϠvHi]6JKSaHag"qX20ެ4BE >9/;a O(Vs@+-+ cR^Nw|fASB MUt"6Z׸vcdLJ{H.5,.:R>JA8]3Ǩq-UhO:~Ӑhap?@Z 'Cx:h vתSS'M79et&agX1Wi[2m|TC̰U( ~[YHJ@ QcT2Ajq/RR*k >V~ j<՘s O˻ůZ/An(_[ *zBBVd6MkbU(J?X0 1h]4(ҤnmH#*~&p0NE ıa7˟=Ph:ݙ*8T߯ ZW;T$KqQ_1%unLD z@B,'B+[8xD3IHC-8%c9ᱚPXT7ւDhߙ>SQyz? ןZB׭Wͭ`: 4hƅMDZus "XS Oa'ic- a8[.(5I7ߟꆕߺxeoՏ+<&;wA>scY!ٸNfj?r\nq9䕋m q9|s>Rȧ?ė)* -17GD.fꃉl`Èy?ŃүCL^e w19ø^OV*F/f–z^]?9] 8%)`o5#ӳ9Au'R~:d.;"\:0g s~'.€)D5o,82-YNI[&0ZL~P^Ȗ>B0ljE59wy\DiخX6LM|&$#]ʫ_wzBOއF7fHJ 06~\!ƍ?'U@^S]BJ$CJPs67kO:q֨ < 1v="ԚcuUhnP\څ- eo?lOI8:e`#ER{Ҿ6Fo&]Xn&{# $Fߣ,b1D$iWJ3eUZ x::s+-R<vkO@YfSO\8v[>]F'`dM'!e(+y#~  }oH[Jߣ8Gp?[lqۻfh}\#2tTCbuSmH^(=IK1%c"BAWX7C&_J; O2m6SμP8G(W>OczoF9tC VemWL8w3xA0`v7\Ȱ2ҫ>0z#yL-zAT*$2\Lvyĸ5Ɉ0pn~ϫ #AQM g"V'C74f6K1Tf9y2 ;W[j<@tr<`ظsߠC v. M'VK +A/ (T/ *܀KŌ:=WUuvxHrqKUL-͢+tz!_; 1c?ȘE0.b 0}'/9 iv7U|zj]5bS2y`} LQKei.lM౑ޒKl";F^1$gv;oUӏ[X8+r0M4;_pzET5 $d҃aM7vV2C=[Bh1n/|Ahs3YӋ&6gNccB&~@Q6p#Yuk3>4}0e;"tB6ce1 &|/630 HPb܋܇HsdRW=ѓS#[3Fc2S;=>qpatJ^R~\FPxH8ؕ$zʆLH!+A۳$TYһL2M%CRtx\$^ TŸ)":\DԬ}5W2F)IWa6~BX-e;U(zuZ1-fDʡm#7s~_B}#ÄXwݗ} NJg<)sA)IP.:b Aql \*#4!1"JX7⾊'xSú] Hg!yиT ɜ qq 0˄# 03OH?K U&nr,*FW"ǘՆ/S-w |Us$uWEF\T}$f9Vm^;ltNB6^G.\VAK B^i7PZٻֺ̺llq8>AeBx'kP7i!fhD-?*lQ'D4E{ˁ#SHF- UAʓ^ll$]2WJM/c@O)0|Fuȩw@|4B8U\3NeTbQC,I̍[*_{#esLI%XtɹL r~ިE[kf?>kOIo?ԣv) pL=vޢ9cs6&m@p59ufDy|q1* KDVofXz!sE0e>Tξ tHjs% 4&hwE vq?~)#Jg˹z3Қ[ķ TA:ꗈRe_,R#x & jq,wY]u#f7vYQ4"'\o+)vEben]Nݿފ~N&v=6t)Α{OϙWL/GN BQ>sa lg4>Y%/ds֬`hmGUYHBP/PiғG>}HY$7w"5Tl]c\hY5$'@)qsaMy/6v*DcRV=BG!o[qrRWE3,֣=G:`S$A/)̜>^_E7B'Ԩ|ZZ󑣙_@߮9_J(-H`5a3a,FUB yq֡S+{:#,`AԄ?KCvthtqb2O%C8M}0ܖ-йN8i=e],"uNs;AQp{kՇ&Xtح2VT]@N=WM e{y 7S>mHMUiZhlp8 AUA!u2@%}w=ǹx"U #d-1$> +0v=eo^+6m^l?-5c"=51ZД>|xM8H?f9XYSUKeAGrljcʞ0ǂRZa̕q3Pti47cOW\8rXUza(UdCuCCYi T LF88jѫǠ&Z)6 PC.'}m. 7x0" =ZT#Ao:fs 0Ho17]R;\x"h#Vg|nO/ppgڦr y'V5j/Jdk=dQ 9_ QRWut:dZ7˾T ˠ2Nnԣ_5\Ҩ Vlk c7;VH*&U8Hd,ˋȼpY*NLʸ\i…$p$}́$3paiTl3'7<[~9T4;%×A;Pjc@^)K#)Pnȁ=4u<[z1z M)j ]tN}#&h7 dqk\w :u|*`ߙh VI'SFm2͠RD⊁r |pk \鯉NOI.' rJ7rGHDװUW7GL )\~3t$q`W&HOY$s;76)M*(=8g/aV@tZEWcNQ &h0)sd\XɭZep_*Qlf0^=Ohe%}LW2K?IrMΝ pȶJas` .Ŵ'HSxǿ`W־o J 0??YH{g/fZ|lZ)7ahp ,٢w3A3_ <&85Uf{Eٵ˭ѹ{ FDn̘A mo~Yn5Tv*~vۑ<# 2H"kE>*}tPr*_T p=U"bI4]9|yma((Fhz:,hx#hcS>njӗ5s.)Cuڷ]P~kh?ڴzV.-`\*Dh]5 t2} ҋ? xQCD2wnѼƉϥ  ݙWxB @'r1q} 4RO8NOYdb澓W QKzdgGߘ MV|xR 8԰U873)?e^qEҳ.EثNZ9zzG)H>_]cw訯cgEOTcgvT#UŪaC̨x߼G"Rki m9 6=Q#-."Ԅ[=C {0bdl+}T3D'@}yxculŗCs3[+3&]G&;#orZ(Ssۇ;9!~K^St娢:ӾԙbbOvֱ_BR;Pf#`b:d~OP!x&ǜ7Lml;gf6/Rҁ,%:PZ!0rcY2cec' *T@'Bh,0V2mOU|Qx:?[-k ޑ" i$Ƒ8|=aD哎& " x}vh4oFӂjۚ P,f.!="f0:(E\XKluN)*eN@OUn #0i[Λ#(*b:+#'l><׍y2@zWlm8k)aJATB@2[!!6IG}Q>eq$"*tEovDA4&iݹk]j2!,bW>f/i0/fzt=u=f<zXT4Oƹ$eK;#0Am∷#43}l l%Zg$# Df; Pzõ2¤Uˆέ(-~XZrg eFIk-4Qlבr/:ڸK@أo# tEVB^;t)D2_[)~(-.K<:pZ >6>.Gwc✂88 qV89& _{P3FM7PMn.#8.nuo"]&9d{mí4$UeU V6$K?۷n\ZS UR4) g@6MGxVl{U =Hm |L @fCc a ŵh'̝֜(+`6UAé@8h噦ς"ϘԸ 3_)%Mŕq,6B6@MD+>H_m#U +7l0: VA&;uȮob|a ȽoPz%gy4᯲sy^OGOg'tf0^b2 ?^UDe4A: V_~a<4`_0 ߙߚᄋԦZ/=xwqf$+TG-S͚ȷk^;:iz!6bCC;!yd 7kRN# e3BGHz; B~qi׏die TVVHAN|Փп]>2e48mb{-s+cՖW:1o ;t - ߦ`Ǩָ9rm3?`$4VykZPr 1rN f"]=.A۾i^a <~okƹGըEqxQ#jsEz>epxrSCfgA?H_5| 2I3 x*c̹P֛9Do d mnѰ W ~b&jx},*{(†-l3CȔ7$gTФyCB&"SoJ +h+$Ff]:5|P|yݎOЅhBpV3.w]~>dR7SZ .z[n @,M \E99/@vuؠ'R=a棩=.Ų=Ū30bhTU?v˨C~  t79{AGC%\OCҧh>B_VV}FN@Tb(]%'hʐFzkF񬋅3sme 6ͮGI>/h149UxZ*.sR>QDW_t!li˹?d݊; kzGVXpܔl]3e.)~p+xTIЍRCGnZdRnE퐿I/C Hh*%_21)903.4s]JTy q@.uW% ~צ:ddI(3¥HY5fDjfVfsno@Jtp"Ʌ2r*:ab%7qK-_&ңCd '>8C[rP5S-8?] iFZV6/ ԉK I!W F5T#k> x6F] R߆(-,f4nXgoz,[?mN] )uVxH Ӯ5K(' `1md\†; 4ᄄ*@Ovq<*Ӓ^sAд{ЏnAfkXk<a|Z&jpA_uiktuT8."ϻ(3#:hEgϻ ,тMv ibYW!znܮs 6Qk`PLCp.(sȬFcA.>^˖ ./('4Z٣-e(TQuo l 1'=yAlȂm;t$Mx\|kfS-3i5@v&Y,Lڕmj?rzmS~F?=l.UXɴ=D:6lR?^ ^vz##ڢ\F| ꖲ\@áa.Df\@k^;ꕱ ؋ 7{_JPr5Rj#vN6ܞ !;{ld#+<S/}h1z*yI0"c;\j%P\!\Y&ڇf裨[e}'ySlVõHur dl;V%G[)~kr t4$٤,Jx=(UJqYM:@&ωdoXgw_Nnď$&S4jeqy4+sd;UGB颹Ǣjxֿť#U7>K9,Z"XqF' [%!ųrBk{$ @< &"%Y})4cv9w3BK;ߘ{׻L!KK]n˹@P]-dr!x$mͻg oW^`ce7}r8B ;U= Z]6L&K4ֱ/-Yp3V0FQkX#S>}ܝ5:]7kFw~BWANL@՚;zkz#r((:ge -S` `d?H 84Fi%} 4]޹FYDVM꽊Tp)d.EI2rG2Cfg:޾?S_V%}z $)"Jf& 1G蓈 A9Ҩ[ra _ц7ʲ/E!m(7gH];I df3bJؗ_-ssa+'H Km\ FIjj tidF͌eYŘ^2쓖*]2Wl3`AK~wE&ڍf!8aWkՔ $߇Dp!{%NcR`B y1)zq $>\#6N%Ptȏ?An-&UUzzoU=M6Srm1A*= ;tܰXc?읕OsPO{Rn7%5ׅ@_`5\ [C1r#TvMw)MqIz2I}NMڑ%ȶhyFSɥerW8 txLW{~af4ܤ"+1-p2v<[ڨdG{ܺ}>25I7f8<$oIeͫ ikU8ZQ|Z:!\ϴ P#^5̫7z}Hki=dcaC Ą߁,n}wMϠʲXvH[7}"C`aHm+Z Ŕq),uLMW* e lh^'b-= Ώ52W4iZZxnE֘H(\gY3~ѕ7ɰ  ٍ43 Q5$c‡[Q$ڬȘ,# KytHp5FCFrNoKuɭaScb#VSR[e4A/tus2"7,%{c. X';5Q"'vCZ.Ol$uz"?M(\`;"uCl[&LkhwN }. E:+N*ZgPfF< U,݌x,S8Si:n jO]T ""ݏ^A"PWS ԍ >gi-<*jj$V*6c/\M+mQsR~kCk[]zaD}*Lɛ܃5WMB A wΰ5ĆՈ+:;b*x\։FH }Nm3vxX~igpQDNdM_A7`EhVҿrKgZ%)g!AR.ѮU="ƔFUP~HsmA(#]tw_"M#7T0aZؠfF>2PJʾ|` b9}Mn(.8cGԝj6곯jH&/[\"'R_٩Cn"DZn_l4q9u-10f3gjjR;c>"\ &.5fǤ>zeǚQ+4/EYחb,K'g_ P4[`\o޳_@eF 9 fj'A:9~5{Y _dky;­p'u吚Eĩ^!5o?zfm5Vt-ͿΥ_GX&rZX#=tA k[@^!Z6葘 S4e=_#B3(7 +߀L/X%@JO"HMeqʂ)#/w߾V4WZC6QEQ57k[l` T[bK 0Ý+k'Nl2hdKU=@Σ$"U(v@Vun_?Wo'5WIYsJy{nYhfBZ򷒚S=Uwy|ݶ̼Y쐊2)MB/]#h0xG7<^ChT45CkBf@>Ƃ8&J` ' Jfg)NXB)`yt2ƹp4yH1lS:6yG}/dR [MFqu0% L2Pom^{/Rd.{X&5\BUcv,:̢uT)"s0KW >c\ (aS@LAG!Y2|UM+D!5F}Nۋ/B$[xB)#Vd\|q=ƚ$#T)mu`}Xs@ّ5u-1V̢Ow-$C` EԼ踠Ӈ7P{ئc˯ɬ؄hLU .oI]=nwjJMC 4dITg_G.:FeμXW'@?~B9t8\}물} HjyѮY2ts݉yu.|C}S\tSMس a)Wf"Yi--_L7ɤihn@kI5Y =Ѕ]VYK72E.Kkz2'ĜFk33B{**UL\@Dx/=ykҀEށŚ2=οjUK%Ubrl,]\yÀ. )lgmʶ q۝*p'|ڙ Lmsi3j~ƔcL['M7^&\DߵJ *\^e$H͛G$z$/fnBpƖRK"(},xB{ݑ#l/~A׷(v =@YR; ?= 3ϒWוbԪan+Wyr uhOZjX!QC_<9+__ \Y#X긎8~@F|Ŏ!:Jh".%-ٶ+[}s' "QIfw(s ҹnSk8+&[8!|_O(ߗE6 %8ve\IVCN8|g{/P!<Q6VCBoY c?*`7k9zsV9x(LEdl۳QI6|sPrDjsG?t6BGR#t% ?a mz,u4ry&Vtcyi-+6 LB ~XIXP_{8%p$$۾|ۏ5X{q!}槙Fo?;HGgx>ʌ43mvպAt]KIPVZW+bZYQ3Ul'#Jsr)jhb G, t'wJxs颕C7IGF.1/w~< cl@Ƙ3s.>B ^ֹqp$vc{VtByZ!qW=J8 i߿s~W&)jrn(2 سRhEbxIl I= PtZ]ցY/q_`xϹu*^t6[?w hg8a DpK8V)t4jVC ;ԝbW|Xclī d-@DnbjYNo_% p[#T2CSA{/I=p5Y15r5P';,OxRՕK(r[$;1x G J&CFo|:ux~FlkR:=~pk"'^ޠ{Oí{ИnKS<7#܋/q 1uŅ& L3/n1)/Z2 +/+Aiz(xw ,erӅN5a]&pH$x3MUVdȱuєv@E#슈΂lC,?d@thdBZk٦D<~cwPx'g_W)!6ڞ> dGKm!0P˖y +F] 6xl.LG6lV D!\"}|x/vj.53:4OZm¿^"bRUnNiAG>r:hQN=ij?3d̴6!wLƥKۤ&ŚOH@l헤<¢:vE. ""1nnOq)@C?@OR>h]azיHq"_6tFPz lb\7֚Cfh r8|e(F% yP/^gyv&xwzM[WEU!!\|,ї1097`= ʹjs\wJj^í[ HZ J}kW+ dr ,٦XYm5]DWMxہֈ{\C߿|p:1;~2$𕛏F#^P`i|1ZQ6&dxi5J~+X@]a6'QDUvYPgqtS`9_wpDiCR[cW"q u΅eڇcv {؎Ȭ9ꞗ4NQ[ >ʭ{ͫ4=BbpOzw󠬘mJ43-b~BZ\!PQzzGn>:Q(OYWBk)6ꭺ"/B8Ύؑʆb+b7[t/ߊp.:5MQq ;LìCaPY!Y]7V?6DV,1~7F鏵=lP9fNgrքUd=tAcM~.3 du)#|Y² F{@.5XO0 aIs " Cu8a%[œpYr7 j 8F}xCy:nzesɾBڐ"q|("[@zN ]nHmh, |pB AMAgV+|D'QaO~oIڜ%>5l t%s}J/)eS:{ 9E;ɀ8$ @2 avskl>&Hlh5FdIz.uC-ΈrYº?E:{W5xdCJ"Kn coPk{ 4]a%X#iIDwk=(쓾VO}VQ>{df(j7tHv?ʜ7dʀ{>4M[Ta[H̚(-'0 I5Xc" o[j|mzrB|;|ϭd) ]@ɄہмQkm@E#;4^r NoPFϴ^8;2lwS֖QKAvjrC|ۤ'>)R.JS{$M d'~24 J.Y156(g ="fXL'ހVA!'Kf/nג+M|&RX)I88sh>;u9qۨidñ#Z=9 R*-Od?CcT4g,T'Y`boЁq+vJrt *M~Ǟ^msrmG7)'c }=DIBV~FA|&>Jgzyyۢ*x&ivyE`,ML\ܾq:T`&~G.-RQ{({K:a6J.$w! f7f{r[=*(}k8R3;݅ ?h8ýT1dk*w*fx X,i/`ӈ("QwP9PJ VϛU#*=uf\A],C1zCiJ/sdSib|fˬ|/Oa@%-Zw0ek5.0k@;?^PKNFe1ʚޢ*M?1WqE!D-Wx.H-X$ ~WwЮfLo%A n5 ࿪|5_gu}37uCLd K#ć0,w;b!]|%=IT!I*O! SVЏ#b!qR+2C/X,-ToxŊ4ޥhfO?j=W0i{9ekx/S5R+F'RpG1uɳaUTI̥T d@!67Uej?Cw*o~QM=PfzWFO·z9 4uAx!ʌI1~ukPf_}xz_riyg8K6_^x*/.17G1>t[:i!,:c3Hqg”rD.*=55~ZcZJeGw1&gRe[*lu挽,VQV2CܾaLg']0HחB0DyಃRJC,S* %= ޖ"szfcnփbEg/c} I`E ";)=We("*YH_q$/C&;_G[!-|=}aV~; [M"#3ټK&4_Y/j'4QC$H 8-W6=׏:-yI p9𿦩U-U\uVUMwWC?"Gvr R{e!;Ns"{*gF:qxВn$Շ4tіf*s cI l,$A:1= THdJD+ D(0Tm+6HGm󄧻v6~X#Q.twG;8pb;~LM;CSXdEW<3/}nol~kȥ׮(_cSC#8eAoL0vg'a\oO-v x{pڱ[r9D08 ;p~Ğ(#5e$R]+LB(TwdRC;#DB&hir ̬飤[њ&< փ+z&G]@T9ۼ5Q LV<7QA/V&wBj.XZǭO Ri"dUU'|I E-xʈƌl7;tӞ*}30ť\LtȍX ÏMS3Ch^|Smىh3'ա Va_35J?DwPlD~[CI[.6LфUf8@(Nzcmi O 4+o=ZМ_Xw9"a-4{V)K%e~享bWᕜPU@0>E])a';2,?(ݬY9,"\äL|evySoWpȜ,!^DG\1z_e骶ɻGE ei!TOWp)vY[m{ %c[O0â+T+%YD jh ;MHߣ&Pk =F@! f#A|!(J]xQnC; A•T86GrFCԓ}G6vc/ص18H~ : N~HSp?Gnx@㭆l i q AYDŽzU<$1To#FL~ _Ҍ) ;*{Qˌ$<3 ل/opRҠ9p嘻m؀CG(o,+#OZv6fbxNW"\H!!p.+alCxA3JٶCr-j"l7/ <롃?MNl5ؤ!ypb~j%f! 6kiQ~+ ^E'iS@רk@M&-%Ǯ0g;@c;-EA2^]}λFFX E|0*9)@B&K2QuZ@&ss?=6VrU]O-"LjcE*^=yӚKRvq]]⦀^\]dg9R vybZ u! > GeXnmmzޘ* /<Î`T{ ']i3ٰ<\ |D f&1Z"XүEu6%:hRT8fShnQ^\BȔ' o$\^ʴ oB%=x V1W(8[%D_ڋn 懲wW2 U[8}%3DJh1UELLBKBkޒ7&9GgN|%3)砹媓 ^v-x7'^,n(Ix4 ~:f}%Y<26XFD`0 x`_Άs#F7Hltn-i^@C͙~˨0eWesFoC=Nfha,h(I:$ Vj#l;';aJPփ Jr ޖ6dJ:L4 r[́ȫ:OJ9^2~y来[~l6*!_u*Џ9>&V/y\FmcKXbcv:l:^ΉŁWnіςdIJ@:da$G*\@4^z ?Ymh?I_ôJzJiRE!e{nite-m՚#רThvi`( "K4 B[N/ ;`.7GTcCD}C:`HJ)nCPQ'$9ⶔ z.@wj#RS1& pz0K,%hTwj~ObI^Bpwg~U1ܾǶ~\sj$Cg@CToe7jr’SG;S,N 0<(מ9chUvCpaB'(2f+ˆ7Ҽ|(p;E *ty8S["2GlE/y˥=Ͼ.Q[CVlXL 2?WhjvF _7tɩ ą7-񥇣0ߔ>[n)tɢ|mz7 ZoZ=:,q 8?(>s7,S\S a!$!Um"tM%.z  ӌ/r3aEȱ*;w7>ڦ;bb΋퉉p۳m׎W֝,FtЂv> UqyFGI&,KtR]? l;${?{uiHNR^5u-=|,91;ԍ윞򿏺!NΣglkӲbBuim1/!3td6#| ÙnGnVJ*ENnT, K)21%ci6g23PM90;ȅ`ė[9 S"m_SqSբD:8F?9Cc]ω&{[\9p[c n" J" ;gy`K<6Q84Q 1q`؛;"N "* ηm;o:-73UI_Ba'ԗY9>c3r z=h!DBdw" Y/!  *cmٹ)cq/At.S5Z)* -7j6;jj׷ˣQo)Zn'MbBfHZə7 r©,Cj;5>\C` 9 uѸ6yĶuԫ{%P=%F0UҹZ3hI{,Oe.P\u K]Jj (8.U`ꝫJN sWq )G(]*_zmNMepҘlΠ^o4\͜Xlv\s,^فPxa\dZ>PڒA黑tvbn 7KU뽍vK!0>Ƞ 0+, =_Hn1p͉R#+9 ;<XI.O^g3Q1ΉzruKMןk*1a#aڽU}xǣYXA:7ُ>fqWNo0=)#G.ى<|EZ(} *XkQ%-3ݸtpT͞&P6M*^ 66.]waZms hg&%ĢolEC+\ q o3h=l]bJ= n} L0c !oίXB+iD+. | #?7`ܳg ҉yL/ݪuE 93f{ v-x6;89H/#gb/kC5q=WckdzMAe::hw۔2U fWC](G߇@98] 6dIڿ/P?*p`pEx%",P1UȑRiu< h7w'˜&~  @_f-C${bS?nصt4_aƒ-7UY#Gީ8&W̙Kn% o^ /WF@CM9>ȜP=d^U-K]Cx~k&^򟣆¾AM[ =}f0% `.3BM'n TFK"=h(UyJRgg5< ^/7Eۇi0=\]Tal*J ן6AhЕ@ C=bZ?EuXږ 0e4 z~ ~fG5ܪ.t~>zPj}[J )("YtvSʍH~$9}R\&Cf vpN}Sr+e¹Yط*6 4dS8WrOrt^{c?NZ!X^;4^:4]ÁnVKz_˹uV]9-avUt=q&:# *p6grP|]ִl~m0*/'@b ST G!NQXv}huN|) iSc@\lpWI~ϧ7go tp})^ ~-ۧ}?O n`p qjr^‘&B f%i1Wi\xm-2,h |ќAepuqidc+3 1L X 8±)փ6VX`|lZPڛ OW#گm;S2 X)Džz-[26'h&^ ~C"s+K>/[J;8>Um{`TqTn`[c/@^IYA<{.*A>xeJIenxzL4uŗ0㹯]0L[zIsK}21oWa6zHkxVcKtfcϓ6V[-~BdB@O<WPxyKo ,ܥb@O&W<< &.tNPj: yJQz,"9sWt2- ^ݥOSm` WLJyw:]9+{-{]I& }GrRn[Eϴw@- -<2?_/ 6%MIl+UN/nNfpr r/Âpwt{ 6 14xoc f HYm(GWOQ_r!nad/Uxv:;2QJӑQ]%d* WoҊ=AfR*Qd e O7 PVOx=h; S . .-h#ԥE>PS%8)5▮Pڱ T#dj c6` EM(U JSMX9iHS u@o6x}LZ"vsuch uPH3n}ՇkLCAa$v(tF9s#Z3J9ܕT Nd oTYl[4ˡq f&u}r'OEtg%YI̞$8]TijDqFhymLڅ.PNH8F״ D21NZܹHQokc,Wr@6'VEd:-%2aR߹Ή ~ىElxq&岨\vbKJ+C} jr%)?+M8\!1Io%Z3֋w^?ߒmuF.3XX]}bCgN0PYc w-f[ݬNZU4 > ]9Saŧ:^4Ot`Ƞ ٶ2qAԪ_l-]Q/Zj R3BEfͬPxX3G;-`֋%a9KoE;;z#=֣Jt5ˉ,>%Mw3 .4H} r _V ->#tp}RZzz&9xk%sNiUԐKzL"Ȣrd[߶Q!8}bpVG|O짡RF>m"o\HX.@8{Cz~wR}lᰐO[M/v. Q4m,RBơDF>]]_'34 $=**Q3MyCdWMF7n_!P=C )ơ3Pot9,oAvY񰑅dUi |V\Ih왬~Gno`"wsXG&~q2q~b`v1Ʊrt@hk]13 ̂>)eT~^^ñ:B5܂Y:e6l1(e?[۬[@_j2CeΖTeUӮwC5ki}^ ) "eFXrS.7٬U"ܘBj, ).;q\׹G&ܗ`8 ˾ v_` yh":'vkAxV-ԝ GP Ñ!eZ^JEc|}~g@C2v|} 605:DM3-"څ[I+G fdH׾~d6jvoOhxMlD*"kpl0R0Gm pfy ZOsChfӲN5}:HXz]?2S+DوLd472:4IW7ݥgTI.w~wQ:!`ùbn7†s?߸<&EK#<@ =HO.&%GC33YROTN) 3_ZFU׀ kz4h͖0F/\%ɿ6rΝXԯhӰl>6Á6級}N= }cnuymAdlֻYQ<2=p.\hS@i'{q?ss>3*z6Jn7ȧVkyYK&_xtQMU]٧p_n y(&Ks )0oW2Elͽol㗢s H&P4s;CK_JQg,U|7EO*FZDOS=PƀZ0t2i6^ZQ  MsjT5Q?54.ͩv3Ϊ&լjv.9DwYhF5U\j8FVi>7TURIkw>;) "zsrb ^.|Ly w EuI׉:}+ԯ{4i@8:S+aͪG)T2XSs22s&7Dţ>~1u]/_ 'B=mgr!{+lj3TJ;U8ѱ|&ά]n!+XV~bbh)¾` c`{@+y} CZc *u7wn4H ^Ӯ1ږ,q LAMNxq% 􉹠hա#ױ}Q 1i qc\$gXp(e9k?k?I "`fd-@AmjMA( kw KM7'}!ZY2Lzd1!=BϦnRd} &zuoRك"i.VXѪ*f#J:3<}N%..nYtaɵ!>qְ'ӊL :}b5=]De>UTu9vMyf%~: tZ܋W!$xu= TtU|꣦bw?~كӳҥ`mb=ta#8P#nPDgHR=G/Q=bF8z34~kHHeݛr y\wyIA" =}90bBͰ=ƲռI Ak]/Օ/pRR^^<tKoq=K!X^ ^\sӽ%Ditw׆ڍOM&^rўl 9˧/X#GMT˩vo%2-/ *أxOZ?&4l Κ?4|Ho&cD! 5;٭^X:-}[ߪGU+dP#"^qUw$C/p^(Sk3cǦI/HFJU}8WA@&9RcJ3ipPA` 0RµШ"+U/JqGj[ ;]%z1֘`4jw@7R2c(M܉ā zbN-"yѰ6wfbd:( 5A dlEےË_TF8j͠mCY鑄:aC4FDFk,(% y19E3.y뻬(9&xw@#KsF@㥺Gz'm!^)=[t[7VUXv9~y?||L43Գ]2J##m(ҺMƂsS ] ~b2Kp`?v'.%uvs\)uDŽ]pYlW6" 5A+4&p'.c֠1E$\EG’f$ԦaOrTlw=X}3#Z|^zy&1۞\al`rR<}͗85_YV ɻd興0=vYa|uB_>,^Om{ke>c:ˋ3 ;Ldeo&}(RoʐEteIqޱ͒Ձr e^ XTa-'`G,P7 tQ\%M-j;"7xmd.LG1,% L9Ē. iUE4DŽkAW^ȩ5q%1 h)Oj(M\<$ wd-aRX#&='T4%2>q L|;?v]~?B|E=z;j\&r> Ρ8Bb6.(}CL3 3VF- N\yY a('BױT*/G492$axij*.(E\ZA;r8L=nhHˎ-Y. `x1gΗ.~n_7@B]AxD]$#hXXH8i"OO6?D)$2ްI>ڝ0e{ ę*|ΘF\JdUuJ:ks^AJP9/h‹m7D?i ڽ kIkR.U<vVnZ𙓎<&Јg>DLy^2CSB]RRkO1!&h:t3qrH_(̈ _cj !K?%s?9W#R7 ,X f*ͯ*4f6Bju t sQA!H5a{YmPωC%| 0#s)e>1Rtf1ПWZF0JK,* '2rYI*aKi]65t--÷m0NkUrleVH*;o۾".۱!N8Z,U7 ]RL%BG@/r;>֠сV$=r%X2`I5 K=+DaLZP:"fQTh=Z#Sw&tx~F~!\+yGM{-f-lQ[[ds |IPhcn*>'Spj۳H@+֥P>~P(K6Jթ.3*wUsyNpƶLuld硩t޽KײYkXaޗObЍT(fɤ9mC'BV5AqNkai8۲am~9I`7hEh/p!hH~(29* R;xJ&'c/oC^\d3In*:ZtOzt)/8Z16'"]i#O3*(GpTDAŃFA} ۼ\aMu!R6pAsB-Ӕ9 'W `5!J6&%ǠF@ROa+y,I1텄1LZb;iy²MpJ*diHf$#$OG/s})(M4E#܆PY4.k 2ԴǵYF ݓ ҩ>k!aV#GCp7>*&qYrz\:øF$U"Wj)mO0NG:sF/qxazxR(gѥšQ!?҃Dԍ+龔I&3|J@x%E4P{ү9AZkS]V5! #Y0>< ~i}]1%IVU}52A4.b[[h7y+w+a^E|d]QwO8!>Xm*q C%Ҟ⭨ڧN78:4 %+B06$(7]0sl%~G%F<8-f`6@G eͰh8zD_-NY% e q2 ǬF|g LdKпktOY]5W4yfo},b[ʖxdTxs P9=Np#L7x>A4 MY\OBȝE]1C4ޢ0"QaN]E[@!)r2"*O^Cn*WՅx]rOwj^Ev%$'V"aO?_}5|3jSo'7ĽJΐK:z%q&Uޚzb?۫&KR4D;Wu EU $]sw z[ v .!Uqlg8- UŔi7J{`q >#:쁢) >Ȭw9\f'hv)K5g05I͏E$LUţIjeUBջ/"D܁|QO&pF}u@Ϡ@kp,h&)z܏>m>O% k)x K[~AljnLMOD$3F"Itiw$uhn>˴P揎-:zud[DM>ч(S pu'SilgR"eWG 󎿕B#I+&ײѺBv Њ Űh)ǰhgw|s₳eK?!AhZ $Dz;V~.[ ѵõ|a6'O ˛-`R:3Nk')F4wtun=]c槖X?p bcAFHƌټ!g.-~hgkVk?)/juP:,-ujЉ)SBMW>r=&gDP*8`[=ʺ2{cV2fCVwСRt6Lpb"bP"wx~j"DAPRU~t~_HFTmqJ+{iŜvWz C[<ľÛC3pY1ߵe%,>9cr@qJ}-a.o9H pkoBe>w&D%s-&^ZȐ0+k,C0{W%UN*^."""CJG%q2Dײk_9$z<dپ2'&QCs vomi6?T εµPhs%}cQO8:t^]kt IGRrtUrN_:V x%냁Rb$lA.T;}}Z fѾvg=AeP L wRER3̌L\G,g81Aqlu철l "$pZKG̃ͺ'AHwsG4VxF]urံԻ4V.w66("T\!R+!MQ,P $Fь ܪc -{b|}e]G #CC9d:n`_MEI$;i D-BPs`5hL^mEg!Lّ: ߊ"sUlZk'_ W]tbmҘsVRp4$3iqbWbĜ?uһniڅOOXP%']x`=ȃ4pnqʂghLN]V|,nI>fتw!bd%+O /Il5W.Ze#CbYw H r "JˢCrt" ؎>6rP(~]0W07&~j RemiA9{m#U8[b(NܘѧcRۯJMiV魝?HMEYDLVˆMkLNoJ%<>$( y_8O+2/1=|2ӊܳ^®6i (-Mz"ϗAD%'<}9-3魉hېX2>[0TT}M{(~eP$kkeƓI]9&Íވ⼨?[^ޡgEc8ZtB.ޡq0j ?ćcwCJ(v'I# 4g[Qn)m -mmTE^O([dϟp\23HCgT Zd48Z Ӽ0#cyzCB&A7pߎdX ^vg)Ff1GzBShP^=¢  pZR8ν\kQ,;&dH:v?XkSV>p|jP"2+-8R4O,m+X z@t|5i!$y$3:2X?%rT\R~y!e=̘S8{'`|*ۍxܤ D/f"`lo}F#l;u\n=rgtm胴9Z!2DйZf(dJбOpbRDOohjX6pԉf+S.$ڀJnJ 4*f!_%sZB=m $t"ys9pe/+jY9JQBY +>NT 2^0QUA.zjq[d:{1r3[HU35!=s[^gVɀQw!}ӄu ~ }/˞X jˤE(pvb[粨Ln-׬2wgί|sS=cC.+JÈ|ҽ; }3Emmo`̝ ї~ge[N N>/S+SuXՔi̮$bt{2qz*Cը5s|,oY5](FJ7~>zt' 1DLϜ.gxEOC5̐7ZR4BdHO_ fFJ֦vQHcaSl" MN]m_|ෛN:3_y&E4/F9`.|P<(tvc@zFS(yg"1]|;o~U眐ZyJp:\@%&V@WsԩvDSRv%"m7Ė&kU_]E[57Ws $ϯ|XSz] }2Pݹnp$]l@lO/cYSJIto wc1L 8Aρ#60=9b/օm:F~C\EMvLS~M,MR;/SK\*(p$FGɔP)~ *PD1nV5ͣe6N@E^*9~ !tftHE2zQJvɅ]y&wV(owYšD E#6f5EJڋplwdZ'$t Mԥ@R$Փ왪[:+e+hLC#Ԧ^D'nScww Xb7OoN~Н̜LuBo"ٸgY.B֠@EM)ΣzX`aT5۵?pC2id4-v.8#5K_%۩X!0Y^NE (6KJ_O:l~`L_tyHU&*p|YNpx+pExq5`j nb2c*/PP sr7VU}7s<,X9縳1Ӂrwy ,: 9{TʳAz**#L6}IBC>𣖷C \я#.mR_9.V.v%°3cdU#qQ<%8PN^4Jpȱ5fӥ%d}8+8q]c+w:yNJ̓S Ǖ .̦D°!,' @`ٓ3̶*#<$Vy"w?-AzsIa.[q: G)=Xo lv>hLquITiHxg0k27]ӆ?%4)VCG-_ԞISf:2Lj89T~iQʒHA]>#򫝱\=<2BC)EplD)UXEl\BhS#ӏ ,@I#p 4:E<2I8N˱U`kw.+Ӿ7[l|B5v{ B&Y>eOִ1SXg Us'/tcΦ!zD8ʨ͠c08чˠ.lm`GY|`| qw)zӪNeog:k$}2V.Ԙ{9?>I94mˀ#"֊F8{jst"Z j/Iz4x/ !IgkpϼKڌRUaj,f zQٌ>k7SE9q"ZC-?K|p&@Q;%6~+䭶2~ [߲wL;:Z7r벜ՒhrQvrJrV!ެDlq93HWd %]A9=1{xmdqn f9F u6|~]9X3>/1)eT*UKkU2.SJQbƮL@Z^ ">غ^d'0swJyXcW`sf8=TKOc}Èԯ4p?,o % 31-q]p prbI+/h/#oS[raB-0.t7F<c5ʌ&Z'#+Χky'X5^,zeiE͓>cůvbd:>aE/ H*Ut{8+p`R?mU{?iE}yޒ⸚ҽ-C:B,+?#pD R݊N3:vC5S"/mDw}d/Vo|D\D$4?U$ݕ+V" y:ĥLJyfh$ 2 <X¹|]H! FKjk}#y ;K]!vhu(/ls$/pEQ6$ cZ vi,P2VL"pw2HY?@*Bgtp"Xݬ #$ B֍)ZS)Ӏ(B@ Ǝ^ ?%͢‱D4Y/ Ғ@O.IBˣƐa#eg_i!V96zPߋ΁mH0{6Vg\vc#R\KzS*GNk{GN>/@8\pO I\i53!wJEs~@zy8R@׫RJ5„!rg{@й- ;v+-%!$?E$,įE .!.;gY.Hۡn.0b1 m]=Dp9,:-0%#)#EdXp\ŏ\g뉟P}g} ?8U"(GB]RA#%<胒}07nZvoҪj WG8V7j) s^ *˻39^9eM%3wrߊm(yTc#IR܇E. GԌB!>>ῆBXoe~w''{ K=IYb~pa2p'nIBQ2Pmyc@Δ2&p_k;Mk5AܵܛJX9M4)]Kqͤa)a.8Vs.}jn*;#XȐB* f |IEgE5ܧQN'&'>U=DxTw7_8$u蛒` n_,~0bݨrl)&7r JS,Vb 3U!x^E\,6_|[oOOl%=`Kgcȸ/vpVCV!(Ƕ@y W] i~;}o#;^\rɬz(|I@}N Y?"`tᓒ6.&s9XX.샢d&:2Ob`$/PyK7Gj`Ŭb+CLf7W+l Jnr4 i< b7m ;V.QF3qߠvImZ~`ҩyMem-yӾD҆aL9T*M$&6qf oǧ-fL3>50dnÈ}&EsbZ%޵Q=8X0 8HHJW@<,O|p7,09HJUmQ{PR}lJBָ|A/雡S#p$(1h$T 8lȻJQx~ I`V@Fw.nB ax't(M]?ou޽dfd8U}gܘ(i [~V(:9R,^8yl{-߲pMbS;Wh_qx-]{wvc{(fbdO;&Zm}ULutV830 |Jr@Q+!r*wX9R9BEMH#E:ջ j0;o<qxȧ{ `˸L5h 8,ʏo'b{{$ygO@Ѯ gx^g \[yWt|42ktߘiw^݊DNQD97U̘Ol870uFru $biN:xu]2) 2JUIJc65ՎrU/Z Ѿk ;u^ҟ+V<ʥ$S.3ʓ4F3XߐŕV5qʵ@C#E)K| bj4ԕlx1sa>|s+%sGl Шp|EqHޝeЀ'A ; ݎA K14@δҚ;T8&W L'|J0u"iQer,F1]7e NUael1;U|XE3cyGx?5ƾ Ti \!~ 3<:R Kxm2ׄa)H K6ĐS.q[\[28> )P h3pAlΙ,1V5E7nO$)8rlY<@q[|&,]x&ς3~C!쵃Y0q %;E{3AY˷$*OHvQ[eD j&%B|?ä h/{3T3[:KI){ACZyw߳I۷HT0 <](l ttX؏ F3]44u6?d;jnZ*}; m]JV1j.َG}f)AFR,o3Tzn4 ]֝%60DWP =cIg[e_Tބ\, D\W\]QU=+:$ߓzƪy(el&;Yγ#@G_\*+t)zg`y^ތ(~ݱZ[1vvzpm}lMf`lblo2R0같QLN&k#C_[ -z'* ΂%NO%.0JN FM>ʊÀ л(sk1KU/nڏȳmA]y ܍:%S/qLb|35FIbz__+/S4SYqbxHܢi.{srD2T3Y>/bw_AVDHR:hzԁ6WVЉUWD-R5ЀsGVc `-npµI'azS/~#l[˴v p~jSlwBgޅ|4B1}MGfI`-! b^ׅ-5b=\#xO(mOȹ(³űmҬ-u#N#f=e2FwnD(С ⟪0C9}7Pt) bUS4\^F%R޻BJ,0_4ـ@o+|ˢƬ;%jSv8O(qʚnzQM92ܿIdc*#i*sVjW=\_0 OټĻֵs7|8|~ ?G?۔6 CѲ).`n'&2R(ߚ!Fa^wEOzW[ ҏ*ZQ|ޕ CC*> >Z4>/Uf: Hf?^_!q'[|Ա%8J7~f渡ۯ+dy~m3JlָQ~C&~P^@VYY=7K_$AZ4 C4X}\dxY #E!+ Y1v$hp M/rǝ\vnmV7֭CFɧkgآwYPm$:8sx-Rc1   ^6(?Me=۾gr r :5DiBo~C~ʬ\LaB"y% /#;LzϯT}t&I_/JBj.J-,bWQrҰVT8P1, d.Q,;p/T1F(#,|IG>|}%xcyR :Nh{B lA |v]|7r VQYJyKNU?@wĈmF0-?m| ԨolʔNBΛ_]AknCLхHބU5Nak l)Q␪jfKPCLtdC\:Tͧ6P務Bi|Q 'Vz"*M}O֙~oP>؛2fž$uOtljw-N}.94[0ȃZ } 2mrү'G4ɂ}:>ܳ/Iqz+ƬeT`IΞInJgtgS:w Hۋ ;Wx}tjl/hC?^eKL+3AO"YAg9 7UdW 57\;;9OQyh޼'hs9] 09)듘=a+'J8vMQY<#5P;5ڈ[5݋UZ=۞ EYȚ}ه+|UAxW.Ě&`>E\0-Iub=woIQ c/T$/uڴh\.ՆE]y#ᒷF!.%]4֗_ёԂf9LkU\9>%+h¢.>Ɏ^gڷn0O&Eὣ<${]W5At_hjĴ0ۆz 3i$fMy.:q۱ ^ E) y{^S}LJ%EFHD-l(HCcZ'nXXUTNf<[00iTpb4*_K$7?]_)$Qħ U]Go ZO˼ԽS:}fʟk7v*Z!#O5W B&ۛ_V_H.'M*)xY]]+n{CHI$wiFׁ6ᨀ/ЃGWi'G/2bS51'%CF4uޛv_G7|Ofrvݣ[GqQw :/nCRNmU{61K(TMj)D&N%ddkޮFr@IDx;{n,'10)EekJαI; %i~/5|:scVRG Pe@/xnW3& ̺="Y1} O}!Q?( \/85ؚe,p-LFK̲U/О-[X)6FIF Î6LneaS_=.`Ylª+(y'}J\(:ryzY&kX"}d9 pSϯ43ŞhE!wWqNx>36NB"!>Rx{G1s:!@dT/״\$*+~juEƂo̷K#07]~iPEU|;G#"͒W9kn+g ~p 7UBQr>j=bFvaUZaXp4 R7G՘d6fcmw8jWw dWBٖ[#=xXk#a"w'y{TzcN؛>F%_[Aa04;*KܹL84œOV =DXR* V=jH>DoHX ptGЁM.Zsh\Ӯ*l/Lc8#- SY" fKe)6g IL?gդҎ1 > P3/ta[i~R{|Q%\Z颸Q|-l|Kfq66'{!fJ'c !&<$OqSsV@etqgI] %F7zUl˭"];s**DC4$n`>6 &Sxͷmsꥅ{J'_?E8%aD^4QAt ư;ꀆ䍑5r}$+IA4,9o; E7ێ=9O:ͷqwf˽X(~z솑&ߞF`AsRe>[T&Z3#bqTd:}MK̹1kSkqR/oWAyÏЮ~w?gpvzEA=l/_x^ּ9E!ds{!gEۄhC[񫐋mAo'M-9:JD$,neeZ^7~!j䞲۟S\ [IWC~wz/5aAa *C;C@tvK3ƿ$79_M`.}w]~r"ZC)\14odQ̊nǤ/z?r4C^Đ(_T(>mC渚 q{SƴdBu顳?GQfkV3̱8ztfMUFw&&>QXE4XvJ[;3TtCsC)'IGxkݖM pǵ7-YM˲*uUYa}*2va8ϛ8I-o73 KpֺEV |,,P>#SzBYhORLW*w_f u%)O `pk@K[һrվYD8g{oFԣR-jtWx4 DyLԼ\Ȇ }1!zĚȌru'-H LzC]rļU1>JENF))A]z7 iV}M@tN{NěQF6/t6Q /vwL_lS0y0{ \i%j YZ