libuct-devel-1.13.1-150500.2.17 >  A dZfop9|غ>GXJia~40K7[c3e{ P+EI6$6<'L>3"Atd, 3O87N@Ͷݬc͓V]_k?Q piyq^Z>ywSB_e( Թ*Y0+K/vbRh:>b.>zm Ckֲli t۫ \qx.Xe>@>L! !b SBH2ʚ|o͢34a4aa1256350eb442d186155487a5d7c1ec0d3d33a130202744da7d6ff40f08dd77eb78aa4d499746f79df8b32f301393f29334넉dZfop9|(tZ+:B dWK.#:6!p!RP8M|o*LIIzcgXh(w^!cѕ~ &(l0Rc〲l9@ hg&! h:qiI΄TJTTc E[esy0^Lu)b=" zc Mn0KI\-N"(%Z86 !&ŃRqe+-d8o}6`>p>e8?e(d " _ =QW`    # |Nt D  ((809: F`lG`H`I`XaYa \ad]a^b/bbcc@dcecfclcucvcwd$xd`yd zdddde$Clibuct-devel1.13.1150500.2.17Development files for Unified Communication Transport (UC-T)Low-level API that expose network operations supported by underlying hardware.dZf,sheep91-]SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Libraries/C and C++http://openucx.org/linuxx86_64GRQHs|AA큤AdZf$dZf$dZf$dZf$dZf$dZf$dZf$dZf%dZf$dZf%dZf$dZf'dZf%dZf$dZf%406c39260c8ee90a04b88c4d9a47f064c3e2bfcffc6a1f05e4e1dfd9898d032e414afc1eab041456d328ddb341b6b8ca536ba90b49fc848598126c784c73915c7194479352211053451377a002ccb09c49812ee212a293b6d1773c77179445fb717dfe560801624717f68dfc596f125034a65375b39f1f1aeff5b5b83c0d22ee9f0110a643a4454873627a7cb623aca878d7fc4e8b854148555ed8f358d9b010f739780122170014e22a92a27727bf0b9aa5e5707bbe5357075bdf7858d63931f9b9c329144190ffec560128b2c472486b4ff95b0ab8513365101688e7cdc5a6db2e7b0239ca541f7fe4556915079fe100992f2fff3553618f39e3fe916f08falibuct.so.0.0.0libuct_cma.so.0.0.0libuct_ib.so.0.0.0libuct_rdmacm.so.0.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenucx-1.13.1-150500.2.17.src.rpmlibuct-devellibuct-devel(x86-64)pkgconfig(ucx-cma)pkgconfig(ucx-ib)pkgconfig(ucx-rdmacm)pkgconfig(ucx-uct)@@@@    /usr/bin/pkg-configlibuct0pkgconfig(libibverbs)pkgconfig(librdmacm)pkgconfig(ucx-ucs)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.13.13.0.4-14.6.0-14.0-15.2-14.14.3c< @c2a@aLl@`6?_{ _ L^3^@]4@]@\@\s\o@[@[ā@[l,[!@Z2@Zc/@ZaZ*~YYYV=@YS@Y9<@Y(We7Ue@U@nmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comjengelh@inai.denmoreychaisemartin@suse.comjengelh@inai.denmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.commliska@suse.cznmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comjengelh@inai.denmoreychaisemartin@suse.comdimstar@opensuse.orgjengelh@inai.denmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comjengelh@inai.dejengelh@inai.dejengelh@inai.dejengelh@inai.de- Update openucx-s390x-support.patch to add missing ucs_ffs32 on s390x - Drop baselibs.conf as openucx only works on 64b systems- Update to v1.13.1 (jsc#PED-912) - Core - Added new objects to VFS: local and remote address of endpoint, statistics of ucp_ep_create success/failure, failed/destroyed endpoints - Added support for UCX static libraries - Added profiling for rkey management routines - PCIe relaxed order enabled by default for AMD CPUs - Fixed not deallocating memory from ucp_mem_unmap if no rcache - Fixed versioning infrastructure - Multiple code improvements: refactoring, debug prints and assertions, etc. - Multiple improvements in build, test and docs infrastructure - Added new objects to VFS (md, component, log_level, etc.) - Added configuration variable to specify which loadable modules are allowed - Added build-time configuration to disable sigaction overriding - UCP - Added API to pass pre-registered memory handle to UCP operations - Added implementation of AM rendezvous protocol - Added 2-stage pipeline rendezvous protocol for GPU - Added support for fragment mem_type for v1 pipeline proto, disabled by default - Added active message support for proto v2 - Added UCP memory registration cache - Improved adaptive progress - deactivate iface when all p2p lanes are destroyed - Added support for user memh in proto_v1 - Added support for selecting local address when creating a client endpoint - Added option to limit GPUDirectRDMA size in rendezvous protocol, UCX_RNDV_MEMTYPE_DIRECT_SIZE - Deprecated UCX_SOCKADDR_AUX_TLS configuration parameter - Resolving remote EP ID when creating local EP disabled by default - Added client_id to ucp_worker_create() and ucp_conn_request_query() APIs - Added ucp_worker_address_query() API - Updated ucp_ep_query() API for getting local and remote addresses - Added address versioning to correctly preserve wire compatibility starting from version 1.11.0 - Added new client/server connection establishment packet header format - Enabled rendezvous and tag sync protocols when error handling is enabled on the endpoint - Added iov zcopy support to RMA operations - Reduced memory usage of unexpected messages by fitting receive buffer size to packet size - Added support for modifying UCT and UCS configs by ucp_config_modify() API - Optimized unpacked rkeys memory consumption - Added request flag to influence latency vs. bandwidth protocol - Reduced memory management overhead with new protocols - Improved performance calculations for new protocols - Added AMO support with GPU memory target using new protocols - Added put_zcopy, get_zcopy and pipeline based rendezvous in new protocols - Added support for user-defined alignment in Active Messages - Added support for offload tag sync in new protocols - Updated ucp_atomic_post() to use NBX flow - UCT - Introduced API uct_md_mkey_pack_v2 - Introduced UCT iface features API - Introduced max_inflight_eps parameter in perf_attr API - Introduced UCT_SEND_FLAG_PEER_CHECK flag that forces checking connectivity to a peer - Introduced UCX_RCACHE_PURGE_ON_FORK to enable/disable cleaning regions when application is forking - Disabled PEER_FAILURE capability for XPMEM - Added API - uct_iface_is_reachable_v2() - Added IPv6 address support in TCP - Added latency estimation to uct_iface_estimate_perf() - Adjusted knem and cma overhead cost - Increased built-in TCP keep-alive interval to 2 seconds - RDMA CORE (IB, ROCE, etc.) - Introduced NDR autorecognition - Introduced CQE zipping support - Set the default MAX_RD_ATOMIC to maximum value supported by the hardware - Disabled mlx5 ifaces on verbs MD - Added detection of IB NDR devices - Added check for CQ overrun in assert mode - Added bitmap usage for releasing detached DCIs - Added configuration for requests ack frequency with DevX - Added remote QP info to tx error CQE traces - ROCM - Increased maximum number of HSA agents - UCS - Added topo module infrastructure - Added memtrack and rcache information to VFS - Added API for a per-process aggregate-sum statistics report - Added memory pool set data structure - Added new ptr_array API for bulk allocation - Added ucs_string_buffer_append_flags() for string buffer - Added ucs_ffs32() - Added ucs_vsnprintf_safe() which always adds '\0' - Added thread-safe put to ptr_map - Improved accuracy of the topology distance estimation - Added prints of leaked callbacks from the callback queue - Removed a diagnostic message when fuse thread is stopped - Added configurable limit for the memory consumed by rcache - Added configuration for VFS(FUSE) thread affinity - Added memory limit support to memtrack - Packaging - Added cmake config files for better integration with external cmake based projects - Tools - Added loop-back transport support in ucx_perftest - Split ucx_perftest into separate modules - Added process placement option for ucx_info - Extended parameters correctness check in ucx_perftest - Backported UCS-DEBUG-replace-PTR-with-void.patch from upstream to fix compilation- Fix UCM bistro support on non s390x archs - Add ucm-fix-UCX_MEM_MALLOC_RELOC.patch to disable malloc relocations by default (bsc#1194369)- Update to v1.11.1 (jsc#SLE-19260)- Update openucx-s390x-support.patch to fix mmap syscall on s390x (bsc#1182691) - Core: - Added support for UCX monitoring using virtual file system (VFS)/FUSE - Added support for applications with static CUDA runtime linking - Added support for a configuration file - Updated clang format configuration - UCP - Added rendezvous API for active messages - Added user-defined name to context, worker, and endpoint objects - Added flag to silence request leak check - Added API for endpoint performance evaluation - Added API - ucp_request_query - Added API - ucp_lib_query - Added bandwidth optimizations for new protocols multi-lane - Added support for multi-rail over lanes with BW ratio >= 1/4 - Added support for tracking outstanding requests and aborting those in case of connection failure - Refactored keep-alive protocol - Added device id to wireup protocol - Added support up to 128 transport layer resources in UCP context - Added support CUDA memory allocations with ucp_mem_map - Increased UCP_WORKER_MAX_EP_CONFIG to 64 - Adjusted memory type zcopy threshold when UCX_ZCOPY_THRESH set - Refactored wireup protocols, rendezvous, get, zcopy protocols - Added put zcopy multi-rail - Improved logging for new protocols - Added system topology information - Added new protocols for eager offload protocols - UCT - Extended connection establishment API - Added active message AM alignment in iface params - Added active message short IOV API. - Added support for interface query by operation and memory type - Added API to get allocation base address and length - Added md_dereg_v2 API - UCS - Added log filter by source file name. - Added checking for last element in fraglist queue - Added a method to get IP address from sockaddr. - Added memory usage limits to registration cache - RDMA CORE (IB, ROCE, etc.) - Added report of QP info in case of completion with error - Refactored of FC send operations - Added support for DevX unique QPN allocation - Optimized endpoint lookup for DCI - Added support for RDMA sub-function (SF) - Added support for DCI via DEVX - Added DCI pool per LAG port - Added support for RoCE IP reachability check using a subnet mask - Added active message short IOV for UD/DC/RC mlx, UD/RC verbs - Added endpoint keep alive check for UD - Suppressed warning if device can't be opened - Added support for multiple flush cancel without completion - Added ignore for devices with invalid GID - Added support for SRQ linked list reordering - Added flush by flow control on old devices - Added support for configurable rdma_resolve_addr/route timeout - Shared memory - Added active message short IOV support for posix, sysv, and self transports - TCP - Added support for peer failure in case of CONNECT_TO_EP - Added support for active message short IOV - See NEWS for a complete changelog and bug fixes - Refresh openucx-s390x-support against latest sources- Update to v1.9.0 (jsc#SLE-15163) - Features: - Added a new class of communication APIs '*_nbx' that enable API extendability while - preserving ABI backward compatibility - Added asynchronous event support to UCT/IB/DEVX - Added support for latest CUDA library version - Added NAK-based reliability protocol for UCT/IB/UD to optimize resends - Added new tests for ROCm - Added new configuration parameters for protocol selection - Added performance optimization for Fujitsu A64FX with InfiniBand - Added performance optimization for clear cache code aarch64 - Added support for relaxed-order PCIe access in IB RDMA transports - Added new TCP connection manager - Added support for UCT/IB PKey with partial membership in IB transports - Added support for RoCE LAG - Added support for ROCm 3.7 and above - Added flow control for RDMA read operations - Improved endpoint flush implementation for UCT/IB - Improved UD timer to avoid interrupting the main thread when not in use - Improved latency estimation for network path with CUDA - Improved error reporting messages - Improved performance in active message flow (removed malloc call) - Improved performance in ptr_array flow - Improved performance in UCT/SM progress engine flow - Improved I/O demo code - Improved rendezvous protocol for CUDA - Updated examples code - Bugfixes: - Fixes for most resent versions of GCC, CLANG, ARMCLANG, PGI - Fixes in UCT/IB for strict order keys - Fixes in memory barrier code for aarch64 - Fixes in UCT/IB/DEVX for fork system call - Fixes in UCT/IB for rand() call in rdma-core - Fixed in group rescheduling for UCT/IB/DC - Fixes in UCT/CUDA bandwidth reporting - Fixes in rkey_ptr protocol - Fixes in lane selection for rendezvous protocol based on get-zero-copy flow - Fixes for ROCm build - Fixes for XPMEM transport - Fixes in closing endpoint code - Fixes in RDMACM code - Fixes in memcpy selection for AMD - Fixed in UCT/UD endpoint flush functionality - Fixes in XPMEM detection - Fixes in rendezvous staging protocol - Fixes in ROCEv1 mlx5 UDP source port configuration - Multiple fixes in RPM spec file - Multiple fixes in UCP documentation - Multiple fixes in socket connection manager - Multiple fixes in gtest - Multiple fixes in JAVA API implementation - Refresh openucx-s390x-support.patch against new version- Update to v1.8.1 - Features: - Added binary release pipeline in Azure CI - Bugfixes: - Multiple fixes in testing environment - Fixes in InfiniBand DEVX transport - Fixes in memory management for CUDA IPC transport - Fixes for binutils 2.34+ - Fixes for AMD ROCM build environment- Trim bias and filler wording from descriptions.- Update to v1.8.0 - Features: - Improved detection for DEVX support - Improved TCP scalability - Added support for ROCM to perftest - Added support for different source and target memory types to perftest - Added optimized memcpy for ROCM devices - Added hardware tag-matching for CUDA buffers - Added support for CUDA and ROCM managed memories - Added support for client/server disconnect protocol over rdma connection manager - Added support for striding receive queue for hardware tag-matching - Added XPMEM-based rendezvous protocol for shared memory - Added support shared memory communication between containers on same machine - Added support for multi-threaded RDMA memory registration for large regions - Added new test cases to Azure CI - Added support for multiple listening transports - Added UCT socket-based connection manager transport - Updated API for UCT component management - Added API to retrieve the listening port - Added UCP active message API - Removed deprecated API for querying UCT memory domains - Refactored server/client examples - Added support for dlopen interception in UCM - Added support for PCIe atomics - Updated Java API: added support for most of UCP layer operations - Updated support for Mellanox DevX API - Added multiple UCT/TCP transport performance optimizations - Optimized memcpy() for Intel platforms - Added protection from non-UCX socket based app connections - Improved search time for PKEY object - Enabled gtest over IPv6 interfaces - Updated Mellanox and Bull device IDs - Added support for CUDA_VISIBLE_DEVICES - Increased limits for CUDA IPC registration - Bugfixes: - Multiple fixes in JUCX - Fixes in UCP thread safety - Fixes for most recent versions GCC, PGI, and ICC - Fixes for CPU affinity on Azure instances - Fixes in XPMEM support on PPC64 - Performance fixes in CUDA IPC - Fixes in RDMA CM flows - Multiple fixes in TCP transport - Multiple fixes in documentation - Fixes in transport lane selection logic - Fixes in Java jar build - Fixes in socket connection manager for Nvidia DGX-2 platform - Multiple fixes in UCP, UCT, UCM libraries - Multiple fixes for BSD and Mac OS systems - Fixes for Clang compiler - Fix CPU optimization configuration options - Fix JUCX build on GPU nodes - Fix in Azure release pipeline flow - Fix in CUDA memory hooks management - Fix in GPU memory peer direct gtest - Fix in TCP connection establishment flow - Fix in GPU IPC check - Fix in CUDA Jenkins test flow - Multiple fixes in CUDA IPC flow - Fix adding missing header files - Fix to prevent failures in presence of VPN enabled Ethernet interfaces - Refresh openucx-s390x-support.patch against new version- Ensure /usr/lib/ucx is owned at all times.- Update to v1.6.0 - Features: - Modular architecture for UCT transports - ROCm transport re-design: support for managed memory, direct copy, ROCm GDR - Random scheduling policy for DC transport - Optimized out-of-box settings for multi-rail - Added support for OmniPath (using Verbs) - Support for PCI atomics with IB transports - Reduced UCP address size for homogeneous environments - Bugfixes: - Multiple stability and performance improvements in TCP transport - Multiple stability fixed in Verbs and MLX5 transports - Multiple stability fixes in UCM memory hooks - Multiple stability fixes in UGNI transport - RPM Spec file cleanup - Fixing compilation issues with most recent clang and gcc compilers - Fixing the wrong name of aliases - Fix data race in UCP wireup - Fix segfault when libuct.so is reloaded - issue #3558 - Include Java sources in distribution - Handle EADDRNOTAVAIL in rdma_cm connection manager - Disable ibcm on RHEL7+ by default - Fix data race in UCP proxy endpoint - Static checker fixes - Fallback to ibv_create_cq() if ibv_create_cq_ex() returns ENOSYS - Fix malloc hooks test - Fix checking return status in ucp_client_server example - Fix gdrcopy libdir config value - Fix printing atomic capabilities in ucx_info - Fix perftest warmup iterations to be non-zero - Fixing default values for configure logic - Fix race condition updating fired_events from multiple threads - Fix madvise() hook - Refresh openucx-s390x-support.patch against new version- Disable Werror to handle boo#1121267- Update openucx-s390x-support.patch to fix support of 1.5.0 on s390x (bsc#1121267) - Add baselibs.conf for ppc- Update to v1.5.0 (bsc#1121267) * Features: * New emulation mode enabling full UCX functionality (Atomic, Put, Get) * over TCP and RDMA-CORE interconnects which don't implement full RDMA semantics * Non-blocking API for all one-sided operations. All blocking communication APIs marked * as deprecated * New client/server connection establishment API, which allows connected handover between workers * Support for rdma-core direct-verbs (DEVX) and DC with mlx5 transports * GPU - Support for stream API and receive side pipelining * Malloc hooks using binary instrumentation instead of symbol override * Statistics for UCT tag API * GPU-to-Infiniband HCA affinity support based on locality/distance (PCIe) * Bugfixes: * Fix overflow in RC/DC flush operations * Update description in SPEC file and README * Fix RoCE source port for dc_mlx5 flow control * Improve ucx_info help message * Fix segfault in UCP, due to int truncation in count_one_bits() * Multiple other bugfixes (full list on github) * Tested configurations: * InfiniBand: MLNX_OFED 4.4-4.5, distribution inbox drivers, rdma-core * CUDA: gdrcopy 1.2, cuda 9.1.85 * XPMEM: 2.6.2 * KNEM: 1.1.2- Update to v1.4.0 (bsc#1103494) * Features: * Improved support for installation with latest ROCm * Improved support for latest rdma-core * Added support for CUDA IPC for intra-node GPU, CUDA memory allocation cache for mem-type detection, latest Mellanox devices, Nvidia GPU managed memory, multiple connections between the same pair of workers, large worker address for client/server connection establishment and INADDR_ANY, and for bitwise atomics operations. * Bugfixes: * Performance fixes for rendezvous protocol * Memory hook fixes * Clang support fixes * Self tl multi-rail fix * Thread safety fixes in IB/RDMA transport * Compilation fixes with upstream rdma-core * Multiple minor bugfixes (full list on github) * Segfault fix for a code generated by armclang compiler * UCP memory-domain index fix for zero-copy active messages- Update to v1.3.1 (fate#325996) - Prevent potential out-of-order sending in shared memory active messages - CUDA: Include cudamem.h in source tarball, pass cudaFree memory size - Registration cache: fix large range lookup, handle shmat(REMAP)/mmap(FIXED) - Limit IB CQE size for specific ARM boards- Update to v1.3.0 (bsc#1104159) - Added stream-based communication API to UCP - Added support for GPU platforms: Nvidia CUDA and AMD ROCM software stacks - Added API for client/server based connection establishment - Added support for TCP transport - Support for InfiniBand tag-matching offload for DC and accelerated transports - Multi-rail support for eager and rendezvous protocols - Added support for tag-matching communications with CUDA buffers - Added ucp_rkey_ptr() to obtain pointer for shared memory region - Avoid progress overhead on unused transports - Improved scalability of software tag-matching by using a hash table - Added transparent huge-pages allocator - Added non-blocking flush and disconnect for UCP - Support fixed-address memory allocation via ucp_mem_map() - Added ucp_tag_send_nbr() API to avoid send request allocation - Support global addressing in all IB transports - Add support for external epoll fd and edge-triggered events - Added registration cache for knem - Initial support for Java bindings - Multiple bugfixes (full list on github) - Drop UCT-UD-fixed-compilation-by-gcc8.patch as it was fixed upstream - Refresh openucx-s390x-support.patch against latest sources- Remove libnuma-devel on s390x for older releases- Add UCT-UD-fixed-compilation-by-gcc8.patch to fix compilation with GCC8 (bsc#1084635)- Use right documentation path.- Update to 1.2.2 - Support including UCX API headers from C++ code - UD transport to handle unicast flood on RoCE fabric - Compilation fixes for gcc 7.1.1, clang 3.6, clang 5 - When UD transport is used with RoCE, packets intended for other peers may arrive on different adapters (as a result of unicast flooding). - This change adds packet filtering based on destination GIDs. Now the packet is silently dropped, if its destination GID does not match the local GID. - Added a new device ID for InfiniBand HCA- Drop doxygen BuildRequires: The documentation was already not built with this enabled. Removing the BR causes no regression in the package but eliminates a build cycle boost -> curl -> doxygen -> openucx -> boost- Rediff openucx-s390x-support.patch as p1 to be in line with potential git-generated patches.- Switch to version 1.2.1 (Fate#324050) Previous 1.3+ version was based on a development branch. Supported platforms - Shared memory: KNEM, CMA, XPMEM, SYSV, Posix - VERBs over InfiniBand and RoCE. VERBS over other RDMA interconnects (iWarp, OmniPath, etc.) is available for community evaluation and has not been tested in context of this release - Cray Gemini and Aries - Architectures: x86_64, ARMv8 (64bit), Power64 Features: - Added support for InfiniBand DC and UD transports, including accelerated verbs for Mellanox devices - Full support for PGAS/SHMEM interfaces, blocking and non-blocking APIs - Support for MPI tag matching, both in software and offload mode - Zero copy protocols and rendezvous, registration cache - Handling transport errors - Flow control for DC/RC - Dataypes support: contiguous, IOV, generic - Multi-threading support - Support for ARMv8 64bit architecture - A new API for efficient memory polling - Support for malloc-hooks and memory registration caching- Disable avx at configure level- Add openucx-s390x-support.patch to fix compilation on s390x - Compile openucx on s390x- Fix compilation on ppc- Update to snapshot 1.3+git44 * No changelog was found - Add -Wno-error and disable AVX/SSE as it is not guaranteed to exist.- Update to snapshot 0~git1727 * New: libucm. libucm is a standalone non-unloadable library which installs hooks for virtual memory changes in the current process.- Update to snapshot 0~git862 * License clarification on upstream's behalf- Initial package for build.opensuse.org (version 0~git713)sheep91 1683645996 1.13.1-150500.2.171.13.1-150500.2.171.13.11.13.11.13.11.13.1uctapitl.huct.huct_def.hversion.hlibuct.soucx-cma.pcucx-ib.pcucx-rdmacm.pcucx-uct.pcucxlibuct_cma.solibuct_ib.solibuct_rdmacm.so/usr/include//usr/include/uct//usr/include/uct/api//usr/lib64//usr/lib64/pkgconfig//usr/lib64/ucx/-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:SLE-15-SP5:GA/standard/87f022ac0f6d68cd280646c0898f2d13-openucxcpioxz5x86_64-suse-linuxdirectoryC source, ASCII textpkgconfig filePRPRRPRRPRRY>(utf-82bd0ba5c784393943765da6772f7bf5755004b91e14b6be3878a88b0bec92456? 7zXZ !t/6_] crt:bLL ֭h)Z+l =|P5A@Celu*#V#,{#eԟ↩A"yDzCAy%//Sfc5 dH!R-)}"CJq8dEpUkrꢊa~ )_.6B( ' Sѧ}ASSi;D@#anԬYt7ݖG.$oX[t,WU# 9HR1rKzTFlRwh8ҵE7JGUVy=AGWtwO!+ҕ[Rޤ׬|&UfY` dtёx F.ΥVpcL.?>i8pNf L) =CZ]AX8EÙ? Cl0o[G; 7)l;SOxVʜH7D!mq2bYҘj"D>Ֆ/T_t:Oj5`8 7YvPHMж\lH[">_56 N2d ߕ;a}/pIt+G}Ͷsc~ૉJ؜[6Q[ *ɎTR8jz9ɪq#8{z%>]|qm)efvu  >I5Ki=z_{hUʞkeuX$,wU٢]wv@\Xy[8}`UEUay MLHV( QROw,5HXٯmu, QoQfȹ|*W.E_<2\(O (h r< öB{z9%εqtWqf{s\Rx ).MQX({&XIɣnZuVE9e >S &OĨ9P.Fby Fԓ䎡KmvwԒ^tܷyWzD ՗\W5[%/>ޛ_}1@$9{D898B\y4S xtFp"[]NVs 8gIj6W\x /%JdutYrR^J i1p;UaK3zLry2G4m*"Ɠ٦̶ΒdaQ%dnzoy13Ӓ, nbLU"9CWl^!-b Dgn,B-쪂1}di8.jKEش0('זEHuwq2-7)y%UbaL9,*,T w]6`0A~;'L9h_qxpEcU;EsH6Xz>Mƒ qǢXƃ*ʩnx@zGD⮯xt@G]KOcpP2˓'v <=gI\GQm \Ye@c󓩱1 <]a?b~H**O~?Dt@R (Z\8Ø.0aN/g-%"8{QњyCqsחбRѭqaLT2fj8zZt=Y )h|{C%py_ip­T.iJmclv "/wXz?[>ye%!!um6 $YŒp!~,4c[GA_FD^΂saqXl6bXpT$l 65Xʀ xX螒{[FXWLъj#ʬC RԵiϮiW4Lj5O=$f=5bE>3ޭ{yG`mhg6Ywٵb,Z8SΑz5o19>Cĸ|4g#aw=JD|jaw/j~4v㻗ǔGf!Rv'k%ga>O&|.&mgy,kvC?Al9NsՏ\4x֘X|*v|RVbˡ<ϷvپK[5E :*JdSmf4peb4/J#Xɿ 7EG=X=iQtFDP)@ KokeFݼ#ŃG鵜*&qzoUH!=7qIF:fj:3}/7w8pRiDF-οίYd s F"T. ,Ӕ_)'-0Wt8I<k A}Gu ) Q Iiu Rs%ltZc/{DZQ(jw)XPb L=29S5D ?Bp-N^U} ?JOGްc:dA#!;f: XvDuBȥt@"#E&p eUA!EkEXWdŬh :ÞYΐ\=Di-~` { -%yujc3<|cupi0_Ec7A'g-{E.4HH=а=&uAziUa? >\7ٹr Azc^/4(E|, jcn *ۡ*ZckSHn*H]hjMUBq,OO.uaQAν ^M 8Y"їn-2ۏ=aB6F==Lm|lz2xLcX%[CO[^&UAvj[|o[7}<rГ|X@_؍4^B(m?F+jx/K6LN] T*,ǰ5 @.3gY7ypz,ۑyϘO{ χ]094M1VFjyTGnET>kRMnFNKd!ZbVPH*^i7^SSI.yl *;8ak PKN+ǫXkߙk{Q,7omH"%xԪko0Wp("C №r=cnLõ?3Vk͑uwd#|I_dHSZH5/K@hh;~KӤVS9F]i''Q#5pjiϑDu\,!zSM8:*DIk>"# <ɂ}tgH-@͜Uvcw. 2"D'1>ߏb0 _Ͻvv"V>%;5 FHXw8!؞ϵC4;꘮*㏵C~B](VD>ЄK5lq WU\7r]G0S'X ♂ڣ1xI(+K ?Pi䆷۩>~ż7n.lm^[ 8gRSLLxLO{IlrjDre}R6g~0 gZF~Ps wr+-!~%#T)⍋o(:Վ3yY&O]ybPiV7P +wOq_׿;$ Dd|hiyQ Oc r]M:hV52)6G0IAm7=Wf*Ltny1y%8/-xN@ B]*9 QD};47l Kx1xWD&mפm巽UR9\JtrDmc١+φxem(!ޱQ$fSK 8'0-uX"'uPRR|{y B,=]cuL9¸u`.$9r >dgsKsppj-R\<oz`![\pX|nضx$VCĎs+z]H$ۂX2bN饬c/xX?gڥC ]MX-Zx٢9*]ҊͭRto 3@[e"7{_"mKHs򇾤Ġ:wAnpw~'?Tl4>)!ݵ5Ptf|B.KrC|wêLI":= WW>tea>yek@`x9ױyj;3ǁ Oxk'O_l]Y%4qQt փxi5t`3}/x${p [/Lhd/AUg/JV3E竞!A5D kE]ҟx駓wr{ǕG|v?UPxbIA|n!lHIJ/{{ThwnG]!EBqc PL8wiZG}9`4cfS]4S<)KCn)Յ%W>un[WVo g4  vqD;$Wteo:CpVog-yE&21ԅEjoHgӫ-/ +UA՞pvLja!it } z6W =Y|aiK]Z.7']6H&8Cs㾌d217nXbĖ=:SۂBbLbOТ"z{:$hաMإߦ;XBd#pBa@L*eFT&͏t>855q%2sNX}D }ʝ `'c J8o*ngϝsy#Ć%ozJٱ~BЯyFf|f{/fC 5Pٱ)@򿝍v19Af-Rfp@+\=t×MɌjK\3ATZ}fVQ{ptrوFcЖl뗧R]`H @5!{3/p=J]N 0δ629 6YD̉':Y ܙx{S]fZ? 'S"h;пVpU'a(|9^˽pD1:*aH!TIC4EpóC!p{_ pnY-%UEedbQ~blpb"H6uԑ6_$"AyOh9e^:{KrM5xN?W">r_w fV >E(L-{-C3a'YS!`'*yC#$\I^ʪ,C'2+Be2-rpaAQm2@}o8Ć~=2]rKq?[Xe8ո9L: *e~¶)Ulٴn=au-E0 =w!:5#U=A3 ςO{X=r<Tc3bfKo["\e鐁C|c0ԈgHĝmTha #KyZ8-QU shrkI궇ixUI9.قɲ֛iUyﷅާMXt>6&}qM룍g3/} |m`(%Fۘ8HO"Cߒʛ1c]]ЯY?B?ՃYt?UFhklG4]t̀2p^# ~/tYOK $ +N+ҟ!4_m R xz9fM [ 5ѴUB,,H9;H>WҾ,)WO,T/[?3PXMNÀH0@hw_󁦇DaUБ|UqL_3aNsoݷ~u2o+d=Dbu. _ C ݌'ZfI_ ;4UaJYB 5uld cZ@@T\hҐѼ1εzyqDa7xz|2ofk(ΪOS0]UsrWPJwJpxeGϗ$ι%]ffy1DF{'͗,ď~@ۖ r 눆oAw:<4 nJ$7=؆ye]{璅z>6{r4Aٽ[~T+nĒh NJQ.B͛^J#Ѿ qhiTO~zJG Aۑ=B+독F\&U;`?zM.fg&S>%g(v+ұ_%X3yKBٴl1[cNRWt]#5d VK/huF-+TvFƒ?@qv\]J$W'-FjnHp$A$1С`Kf6<⣒PRbãPH``d=_NT7O>Y<@Eϸլc Y)đBF=n >4A9ӕe~=o hoY{WςqVP*0pm@r@hbZ5=580ȗH )TƨPCOF 3\@9r .(`R^IT|PjP&=io/jzX1t~8G]m7~vx_h=׋Zn1bJ YArf˜́zRePuZYx9{>y*"&/bCK89`q֍fbtԀ$%؎(H\o/1ɜ4#;c9y.bbSU[[S%7A>:PEh )116M+[s$E.T\8nݥ5Pi %OxwʑauT4;EqW)kBgR-PhG7y=[Wi&սq:3=~RsWԠgp vQ84 Jf+!RJ$|n6^em= lnCpB| hvOA8ȏ.AN>p¬HxP'vV6wy<0YĆ}pi,8# N\jrESWnsk@s"b=@Cb%c7wHOGZXm r+vǖ:: - à\&7m闯P[v>wto{=~‰@jIot.e vzh% 9Y3'g+ zqZCnfUr)lbS(2PGµ@4)o 1`PPL[K9EWʥγ[SȽƬ`.7d9;]օW)D{X< `\Y;~wQByYn5dW,b8Se~#؈$ݦnlt͚f,d#Z <ߪ$W59H5EbXہSwfAC0MvW ׎(U_+5iS"r{t8V1V,|BlG8⿺3&uIQ<ǩHrDKYjG-6xu@.T ̗hn@Pnrd^SSgˢ3 YonӼ2c_75ˋ]SEWL+I5ŀ ۴!V_He1 >c+ui? \(-X|;&-|)A@kݳ:jzk*$?ySa- KעӬ|.m斞gt-rqiI iݼ|c 8"r]aLA : }LDy`ÛK 4'|S1]`i<*#oN9@xix|qA۷64ߦiIwm?MW>4&!n.|\Ӭ*~f.eӕg_VQ [s W@c1{[\SsCH?b#^ )jvƿ1A+fsRYҨd*E g%Vi}jkl|Oby'*,4[PKi)D8e,g1=<2¸QЃ}$"^?p/B97DW JVT(TeičCXa+hN[_ LWB %3oEm0wRbl.La?%QF g ){pךO*MgJ츯W#uk{d ɶF#woKiVzp?,i$f# E)CPf[D-|TDgm +0D*v&%BG*v`>' y yF5[,pexjܴtpɼ_ 婐db} [3JK> h[(Y @a_؜ m^ۙOUg_ka}R9Yh&ClWf_H6 Uw={j/LOT<%!hμΌe0ڬ@>F׭c/}/`&#ʢoX5*+" Hj^2acfw/Ypg]~@II,+~~1c'&f[!Mc/X~/~t$7gXaNWӍ"`8R1î{JeECs5x3D(M%tq^رx9dS$YMߴx2U}2z?k@Z7#Oc)mHrj#uZdY|" 8'G 8Lf*{dzcAX 5=\O|RyC#M)xKv(2 *uPO*PJb(;jg*|SG0kv2e%7V_:*D "|_?i*&Op,"XD7OR*צoe`AMijߦ-لvNb#ٸ3Y$ iс;cD%FTcwX|^6GϮGa3`Q)P7"`bFD?fO@ {_1/jjZ3GP> /?}fJW$b*+>v݃叔AK_ S5GH]p0m!':.> a5bbݓXrn􈽉J>' }y^M~н02e)0>ş^cX~W#".* I5"eW:@|GfE f#-}w}%8ϘVcZCi8MZ^]h4Qelol];gn99w6 ;cx) ΍xb}BE^_$q Q~n@ߜ%P <o-nY[ah3Z.(`Z Z?*d} U&:X;F #$~qCLZJd( ́X!/zC"V^!!5qfjL8 8-YK4,i")剷GJ.q};`Iod$pPαsh,,<bJ݁2j'?0r_*l z+!^Y캚)gEL6WN=nVOWTb`Kق:tve-*#vb.n$<+:]&jh~3jՉZ7|awcy !Ci)YU]4_Mvop0Bk>vg䜏[d @/~A F(tuK|lG0ғC5o:dGbA9G*mā|N!)! FtȔB&\q9!Mڹ(rO=Z[r%s(r3 4R2BOn]ZiF.=j^u:SUUIRsgWB$6ؑu~P]ĭF E(OR*c‚&銽b5+g@𕄱I7X⁲ }1=#'DA Frh%g4)LSE_dCnfu@x7B4Y3l8h֨4- O_$Ծw˼;;fOKC. AIܣK {[o"Ca%ӆVN>Xlx_ V FyK)J1eW#sJ ߵ4zch@8mr [#ϸ0 uwN!B@XWkXtjcހ"yL,sPa'p\eN&ֶPup6ȼkbe% !9Iu}%|k7Lf%8r5w|Ua.B,܈qcsUCG:*sh=gaJH'bD`O-tЋ#?}* ~D>)u%č{Ye vHʺ`#Nb3FCůBp^-a:xX`E,DJQ2rjo)& Wf9{C 6KZ yv~Nd$a_ϵ: @gĊCuZ 3/%a F߳vڔ[b!kLw"1R,@kb?]< [GUaQuKS|{]ᖹm'B">!U䛯Ma^n3ܰj,㎂ Dd,EK2<3zpeO\!д .t!-zH U%?][3t:A'8ϸ8.uQL+ÐgjF#WTsyϼq*݉k%+Wˡ5YX8 7z|^x O\R_5rdlG01dС *o)7ZGheqh(柏q v9yJ!`j#yPy.W[&O̓H7'ht<,&av T”MCwĴgZ][^`C¾UhJ.x?7/ kX 9;jseײ4+Z-v_`qn.tFi}6TN%Gs{Yl T$ƫGifr xʄ?>=;0PL;>w0osRCȕ논i)T]%3sޫM~7?neT$Ukrӧ#?.M`*s_[zQǛk$V? M o}2r/ԿXU -tw 2V6\त [DE j)*wy9=DьzN-za;ށWgk [8±9OկayKΏUxYV]ELv vxv~S+& tyGىݜΣLn&)4?8rO[ q0_ҮOkE0dR͝;sLd焔Qm*#HmR-yߺ}lrKPCXӕP,kV'AU("hvk(C5*82gxD!e`]-Oo)ӏ'/_t4!8*?16h񋦠9h9P3ػF2g'i30pwccL\d[,K3-gF*A^9[Ls_xÉIkWؼܱWV",@ٔմ Ȯ1 [Ȃid$4di:TRΦ.|4 q^1S 3k5ejanֆcx?"[OhLҔTo6*7it`2c@{myIкgWaBLё}9ܘ)G% wlz_aHkLK~vO8c?\jL!$ȍ$IEf+?Bd BYvX<9Gh vמA1"<_eborڠ5>PˆO4gŀ+w3PM7NOA^Mό{ ?ͦsDQ6t k}ڞx`zoʜBX 3B2LdIhI %t!%7h 8Nf, ?52*iKyP1<ƀUnm"2k]SX~f kd 3*dj'&W82C7N* W5̐sUDFHbaAy'+aM.9_RKSH]*>]0KQhH0z;ڴ/[uV~ eЭJ2($M2fMG="Mצ7ʘU3L@MG& %upgeQ[>s@J [" a+d|BS2tm#Y\cN)ϽyQFyg~Tn& E(Iy?/]0_[iN*4YjT179hv_hoAx̲]=hB>.xǨWʝxb A. xI_CA\jx%wW`tCNOu,=UK"+H24bQO_v>\9{F.TPݒS-C4v~~#ҧu=`0 ?<~\( `C`j^d g 50% by"}tЌ?=ND?L|Xo&3M,Hz0mֳ?Xc LGAҷbM>N9y\,~TYCveĉXe^PJmd[RabJ`s{pu1@3uqvJRG1Ig첐 LvC"hkuAWkEnWkGx%y"09T: ƀ6woK(X7iҐ-5-x JRAQ;}pRF|A tԳSRˁjKov$ٳAM=U},vRYVe/ru\bhzO.(hDMs'E?#JfqӡzN8OgX xŘe҇}?ۻ@1tX7}3ٔ|m eaW<_&TzzX8` s=FX?=p BC_to(3_.WND*UcLөaO+us>_B/ Ki^ /NZڮ(gR}{^(q''O3> fDdl4=%<%韑Y^iaQ#T[I.!slk]:R6lV;ַ1C%#Tں3pp۫G!Ez'H6}*.w9|#^\@U}-,c*x)uq=u\OShs ͈](PUK亝 K dx;" ]|(hF9Oн配s]nK*UR:O9ײxϬ*@=޽6ߡ9,^5x&{$hFʅf-a/t=:=t>bN(NyvGOCSLD9S{{- U WL5p1TDlʏFnB( `<]2rVO?ܒ?a-hp02wY; -e@'(laN7kT&My1-g>cEXSFWPؐ%]Ũ&8@jc$7;}PXLG8b0Ex5h~T_G&xms>: ?9mE  ~ji2Mb صFDz!b H11cEquTd ?E ktz.4?nŶP':0\EvǞr(`%e4AB[[q?%Jl+<yKhjk)?H ʵγތ0&8 7BovfA? qULJ#cD]m57Gؾ 3ۑ-ɚ%xq$ ?KGxk%,6g$G20BU`1Ǔ"#JF>ҶG #PfsTXVl?\zk۪^[!Ri*by|/s [ͽmi"جc22NYS)H}w,Z'a6RKv#F50@B{>2_@2MEL\H"~2=Iy/nX4韐>HCs|j:G ⋶2qD9Eh)&ZTxVNg8Pqa#kpdE52WI( 3}ڍX#@~NgIg–]Y<75!yt51u >WYCH$2iژyr%~`:H e\(#'}h+BöG6֊鳄L!S!>]EF /@ڷ5Ǡʕ 2gArJgL Iۿņ[;};}l]&G%pپ4ѹԂ*msӴ+?bÕ-S6 =gK6x*$4v2~eqiP}'@?ycQ+ڝ0c M"27NWR@Β}.vf!Vgї~^;ݻ`dTwmTwAmHXoo`ى G@O4/3Qĸ3ěhPv0Ɋ;]D2/R#+f0(XfN<}?vxQ-AVS! /]-wIK;6V_{StLi@%bM|ǐ!S|VbG@]OHM#Ycxpl]"GZh!X-po Sik{qzt):P[WN~o(f@HX63Hw7!zD+UW[ݍ*Y<򛎓[b8T϶ )xd_޷BUNƗo@HUz3 [_>ޏ,xgP< Z ~:XmHuDɽ˕ .2$G]^`%-@dEz6(ub!o<"fѱ&J؍м:KRt2pBj% \}&wt#~aDy }2. wB E)H0Ta0hK+c'8b~# 2p4,\>%pUvabEBy#rD3ׂzjƄߎ~,i'{9 1bhtJ@IZߥtU#I>z˜*$8r/ 4Ϯ|)&q,.iGNYta 0,߄{R7pz(1e.#ϩ0>)'&L3X I(rt$B>ڢy!Xbe$ǙdQz8#g|@h[vmC%2QZK<i>)H4w6 -9VixԆV![y S1x]wI^,SЦUJ{됎hҜɝbChj.Sli^o"%c]JY\nt FgW& nuqΤznwAG g,^cQ_ni;Rn=J<˪tQ7J( pR`q_QJݜT <, ta2ߩ:gF5 ?2S$b='V]38XLel<‘>|4'Lִ)'jq_l%100 wk &Ĺ1I3.&'c\;̘9|C}u-RVOv`<ć1o6$]Kd27|1y&'gvF$Dײ~ՎNxЫzEcL(| ]B!=-!k] jZY—f7zc1 2}$O /R:ۼ8^2| >mʒ9ߍfys~Z$0`gI6C~za:GNXgrUq ~@8MNC8lx#q;S[Uڼ]G"wJ熡:_gTLn! TCJyPX08fVewU48 /#WC 틻~ɀ})M&qd쿭#xq7%]7<B fEF2|_[`&Y5O+c=D$ElD"{HoPL]@+CR**hlj4m o+ "ҙ~pkӛo}EF.B",ʍ2cMEpK/\y<H5k:_ŀSۚgȋYc*y{ *\G&ǭb1d8j+]I =E|BOj#3\|mVnJ}#'aZ{ ³x:_.fXaܗiA2wD:2n| 35ݳ4<ݚE*5jTFz ñYP:kS1|LY)><-PVr5#y\nU{J[8Q('됹-p&z"dUTsV4i '#l31J./G<- Z^W R!~wm}* VtFpNbyȜǗ$sq\q @y1m<=<*w+P$2Mق-I1e[Wll5J~JG޹ŕR6̪1GMBw/X(de;<^s6O aE8b2{_*vO!bʓw&٪W)6'hV́)U^sZ^ck$.;XaJ?́`|Q-B[͡@A&2ZJx乏4C1t)KFM Pڶf2ed?qEy+2h9x3ƆhQID'j2uB: ē3=J=(5颢 {׆SHF~2v*=oV+ʂHr4J^8 ;n!pe @i4`u ,ݟ4L6T,>/wvj&@Iʔ;eG|sBQ(z(R`;aSG>Yug ",6e #R|VУ d#1|ZRL۴"zœ.5#׳[y_2>L -)NwvOX 7׬0ֺ1NbVuaq*a7>>t3֢ek{Hؒ{ha>iM}^ 5g{{1O_36x"RRdmᄝu<m־6|FqG79޴Ro3sp96#@8k|Ay%҂UmNYI5P VN-E \V n] 03})R)KYxjmƚL(2#AE- z^[٢#5^}ϻT;l J [_~pRqfp\sVE9R:''rpr>#0Ih"olM5.Yhj@ t7x11*'@pCK?[C Q9h!#"/ϴG!W1PL#T!J6h_Tƪ1^c dJ꫸Xi0FhuSm%h2x _;!]N'1gGf;!n4$JmEo_!y_=כ7T977{#~arᏌ!!og9LLYzϨyGxȜb1E [뼭Y?+ժexȸMEEvb(F, 75!VYή.CBR\̠E> Ԍ)X vf B4x: Mp(eR:=hR%;MM~pPQ'%t]˷9DHx>dsfH!OX>ds%{.+(6b>TI_bo֞0zWmn"ޘ(ӻi5wև:v8Dx"9Q@g |}1$9Q RpM rDI~&h-o$v҄SS"7UHDpp47K6MWoAp\ҚF}u.oAs; +9d| &d=δw+gd1x ցoFjqn##4kP6R`׷Lf-ˍb"-G{8]Kά ,\ʑO8>b~ Q0`XxO7wMB ?Yu6 M Z1ZIp6S.uW]{8k;˼[;%V-Mm6[Mx`)kEt)Ɛ~ŗt> q&߲W1^'3Drl@esO؊ADL<8(guBUL[P7r y k\l/\-Sp~A5)>-$y+@IŻ~9I * yh@j-+9\9ϸ/D)`lnc'[ԗH:'?(_|i>hpQT&HtcߡtJ;[7[]uQʺ7$OWH{NER!+AYKX*&\nȶ%Б)L%n#f;`ȈWaҵ3p|rPڴ/AbNsRZf%~߃ֺeammJ:bR>p/CyVU-G<9)SWC*|*F&H/ª?'㖂CڗEعq=QqFzf7պ;-NE#E/8de NK fwXaXg氧QG%M!%h!Q| c ~HqnrHETl^n;t/koMnr-D;d!j DUv{%dV5lKo!Yz[OnHhY4h`ͣN!nlQ #6gNJ3x6EKWfњH =T$V>0-+@ғN9$}@2*؊Q ݘIMMKqո ݣtWOyJ2H`q KJ ȋ@{poMgI2MaHI+ < sUz _pɛo>TL;{M ~ue#ido~2 `Sj "?2̰a5 G\)ɐ`G!0ލJBr|,a@0=!gPy_/SW Y5p~^ O>x/9侨h^"901Mem2SF2dv %)+0/@_"}" Km/P )jH7 0>,wjAÞE$3M մ8Iy`.*A&28<*6fZaNzՆ%P{Z^qMz 6G/;g$pW"D77$"n{}x[נ%d,M ( 7`AML}v)lCd]ug"J]r)+ Z $M`Lpi\,Цθ`fKb{÷Ö~ƕ~UG[26෶L-%곺X_hh:l # vurȰ2&zoJ#z+tP)̹=pr?ѷN x 𡘻 XS!ﵕSIUwD^#Ñ=M{rʨp=UXUU %`Qd2{l:f툜][Nc0~puzlTN,a2T*)/'}7vid~!%8ç.wJ&U/g7(xtv׬~׳ %th5P s:*mF}LsF?p2`󮷀x x$gO;o"}gz9]u,P|⇮ڲ4p8HaTxljtC:\Q|{ 6'!Na"z1ЮM q"Cvd7a4(EU nz(,*2b>5ӜCZ"+`Q8%$ӞPSwҞR.U^6v48K=FK`qCF?-@%X!@5nu84uIz;;Fk  TXČ_sLd*Y;C89HW?`Zu!0֎Z(zyЀmMF4ف.VuOnURrdƁZH[x)c%;iFX$hV LN}&|J6]+/G0nuba}Ċ*.2Ѵ cP rJ/㶎 oh ˰$ 돥Cj,ss&lc>p€`Q~WM.[#s /jdNp ^j-PG2 5 YZ