libucs-devel-1.13.1-150500.2.17 >  A dZdp9|c, un]B TLTɮ{=u7XHEWgtK,-ר4Clu}@8 Ent~O7*X$^E| BQZ/n.$5iR`w !\>>;U|' P9#H31cO˂ 5"\jOU(p+^y^{SSwjٕ*9p4nkݳH&oĚV| +O026a3e3f88191691d625f68df70b14e6509a35ec3bc56adcbc91680e2733f13ff0d79959f66c6fc49cbc202b65e89a88381113c0wldZdp9| t} \TPld7 fGI/p b.z0o<3bMӒ-`%ɛ39E&5(*S!!sy nHh!<;M<~+ chձ ,ոznOE Kh{Od_'0ưT]_+…\.6$_%V265В %vl7%F 1>G e|aX1FƭR"uK{_)[8>p>?d " ^+ Aau{VV V 4V V V  VxV&VVP(C8L9: FvGvVHwVIyPVXyYy\yV]{<V^~{bcsdefluVvDwtVxVy$z,<@FClibucs-devel1.13.1150500.2.17Development files for Unified Communication Services (UC-S)This framework provides infrastructure for component based programming, memory management, and system utilities.dZdsmourvedreSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Libraries/C and C++http://openucx.org/linuxppc64leC J4@v: i:|^(#G ,?!`k#9"4 V=&2(S(Sj' $ { ?x )AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤dZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdfdZdgdZdf6e22c0bde2472752547ed0bb23b146fddc2041c38d1aac159504ba570593c997b1f5a51464a27bd226e978cdfbbfa29ce1c236523b3d11c7373c82f716da7a136223a9e50ee221db7e3ad298ee5f6c7e0b4f13ba8ac7ee8f485e2ac2a8b7f78d9bb9768878071721961bc90f8474803496dd0428e615aee8c424a1d7af80c9439506ba0b867a3665b3fd3bdf9472ecf09156530e38687d0b348a01d9b7a3c7c2622b792fc6a25b9f431c4674426fcaecf9b057fc559cb71d36131c4e8577091872f593d3be421c18a19f215cede686dcff8d4df3ba1fd3e81760b58244a7cdb72d4f78e1f338c69acb66a8376b09c00e9e0bc3b4fb2626253fb4b4badc818bf3f2eb2d5daf248cef39634289aab343cc83413bcede30fe0d80f05ee4ab8e57827205b0eb62a3d11299fc12162b5a31ca67e5fbcf5860ad7ae52d017c9107c3fcfecaebb381dcf04e37648a7183dc78420717d89ff230ab12325eed20ea34e3a8daeefd2f720abb3d5351e7c7445c26f79b1a93b59af87173f66abdda8bd19c596bd5d9f147e2782f72c709cf7e372d896722f2f0e2f150b5c88674f7b8e934165bde1f8813f417629f11682a7610ee510fef875a7eab17574daa7a39c9384ffdb2932c6d3ae9ea7f430df29a660113c6bc908e99665790a9b6e1cc8adcb70a9d4875f6c212e3c7b4e947754476104467e677f8542a0566fe339d68214919d7e54b8712efbafc055eea724140db81b3ae2ff9e85a52adeb08fa2c454cf28835d66a387c83ce3bf3ea04ca18d09825364fdd1dd393deb4bcdc1d5f96867fe4ef57dcbc4cbdabb4218df03e88f134ca869dc4c99f46d47c927cd8a36a1badfc3a694c7996d4c040a70c810396e859ba731af138963d90509e3eac3d6b5874b3eeea398e663e1af3afb67911fde76be99428a5a0c421ad5302ecd793cd9e53c4867067725647182f8b8c18b059a28a425ef0fcf42f5f76497fef057aec46a038e4c18b1a53b12e2f5e2b506faaf7f3a5dc793a7eea22328a7e1f23162c2cf78a4768e0b3b7e24c8f4a36de6b2fc2778e77cd01dbe45e3a65fd9a7c5289bd79522fbce968b56d44c51e70aad4a18d4f381f5348f9a7be644c6aaa6c8153a755036ccd75d00cdf046882578b7bc60c5fa9351df10c190f49b2330aa4c4e54f87b8e6f4dc436d72e0e18c151666d9b9524420a8ad273e01a5f8d4c74ec7f5061995e1a910e49f231c3bee284539cda6b12923eec434383b7a9e1e7c32400b8bc22bc606f7faf943e3af16c43013093d88e331ab1b0ac07e90942dac57ffdceeedff7ba66238d777d8fc15fc576236415a19f9a4cfed71a1b42059b92b096a3cf64d1a302504cdfe3b948cfa11549195c756367bec2d4456855417e62d04f39f0bd2c9ac357286ba0f0f2dcf319da0c08ac3e076c9e14fc4071c6ddf72e20245e2849e749f764cf6edb43ba87881dbf46728a0ad95de97bec7b64f1d4d80727c513957087c080c5d499144fe41117af5e85bc8ddb28074a6227ed5b5d3e42903100d9f5942781a204a45a20c7f03ec35e174a167f73fddf22564af1b51dbe57b112352c89015b7783e046803baecdc55afe2fa3d24b89f385d37aaf4f37eeaecddbd37eeb2841b4711fccb243cfd40b6d0b0ee9471979a6d63059971330d78f2ca8313543f689e40fa4c4c295067c2fb4eae7c2276518e93d7dc308c4f02779075f2fb07ad80bc578e2363c3e41390033ebc72a364b57d2e1b8c16b5af04c86a033d6b49413ea2d46a325910eea169e92ea8cca46be08afc9af2545fc93376751bfecb71e6d59057c9d6efb1959743a6edf6205b11181eb49efe3594a5a8d8e5c8338a9923991435b700e55ebe242ab06fb58af26a868ef8bf4b3f843b1bdea2628c6556a687c449af78fc0e94a572157bd90679f51417024a2b7216ddb1d16a4d075ec1cfec479505821a4a3b5e309c7008d54f2ada73bf0b8248f796d898dbb00cbd55a71c7267c7a86c439dc51b719bd9e927ff2ee70a29b7f4bf3d5e5b105672cc93fad71d1a425e0fcf7f9e535d3905fe2aa5a79c71d28a86b57f32441e69d8c537e8d18c0af59e37c58759355c5b979f95e870ecf21356feeeb0d98d866e49bd73511de5162d368ea01760e07fee7302ff2759fb41b685a79e18ec205e7fb2868244c1d4bc437c0e75eb1dc9291beb3944998df3b28ac1205ee2e2162870eadc20eb86f4906f8bc47012a66705c745229a92be2fdf10de88ea038781770bd6075ef63d174dc60c59db78a7f68aa862a81ee9b57ca5ab1baddcf795d03098da0ccc71efac7fb56daffbcda33683cb794a7d5f99bc439c839f04c826d3b55127934422fccb1d1fb8f4a879e9d95c62a72944921b55f96c1dfc5e24a0da1ecc0c01e604b25011adb48a3879774669277db21a92afcf67be2e241054bf99265833fd5a2a2938ad46b1038c70cc07fdf1da6e1c7de45b8da0803ddc36a345e8238fb1fe431b3cef8b9b2fbcabf504ab97d497cb76388c9beb9dcf101ad84ea5394651ffd08d05011dca1212bee25d1c7808798cefc9c67cd6a593e0ce2873739df35572b35cf2aa6ce522c57fb0da91e2c5b77b734e4d8071029dc5dc6a4f1c7caff8eb82da40a5b67bb1799281e8d39842e3af310b5a60be846f194cb2703b59d5f8e6444ff20cb11e09c3d792d47b0c40b7e2b773a77352b0957fdc2c1df3175df0a67775cc2b9463d680179072dce54dc945e7eb58a1050bbd41dc3c75c82200e655e591e9d697a5ed0ed3cdf263a156ff23977ff3a8e062af0bcec1d3316af5bad7166c8181f24e1d115a8b0e61feb498e0f32857f37c06bfaf4446ab10160f0851libucs.so.0.0.0libucs_signal.so.0.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenucx-1.13.1-150500.2.17.src.rpmlibucs-devellibucs-devel(ppc-64)pkgconfig(ucx-ucs)@    /usr/bin/pkg-configlibucs0rpmlib(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)mourvedre 1683645555  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV1.13.1-150500.2.171.13.1-150500.2.171.13.1     ucsalgorithmcrc.hqsort_r.harchaarch64bitops.hglobal_opts.hatomic.hbitops.hgenericatomic.hglobal_opts.hppc64bitops.hglobal_opts.hx86_64atomic.hbitops.hglobal_opts.hasyncasync_fwd.hconfigglobal_opts.hini.hparser.htypes.hdatastructarray.harray.inlcallbackq.hhlist.hkhash.hlinear_func.hlist.hmpool.hmpool_set.hpgtable.hqueue_types.hstrided_alloc.hstring_buffer.hstring_set.hdebugdebug.hlog_def.hmemtrack.hmemorymemory_type.hmemtype_cache.hrcache.hprofileprofile_defs.hprofile_off.hprofile_on.hstatslibstats.hstats_fwd.hsyscompiler_def.hevent_set.hmath.hpreprocessor.hsock.hstring.hstubs.htopobasetopo.huid.htimetime_def.htypeclass.hcpu_set.hinit_once.hparam.hspinlock.hstatus.hthread_mode.hvfsbasevfs_cb.hvfs_obj.hlibucs.solibucs_signal.soucx-ucs.pc/usr/include//usr/include/ucs//usr/include/ucs/algorithm//usr/include/ucs/arch//usr/include/ucs/arch/aarch64//usr/include/ucs/arch/generic//usr/include/ucs/arch/ppc64//usr/include/ucs/arch/x86_64//usr/include/ucs/async//usr/include/ucs/config//usr/include/ucs/datastruct//usr/include/ucs/debug//usr/include/ucs/memory//usr/include/ucs/profile//usr/include/ucs/stats//usr/include/ucs/sys//usr/include/ucs/sys/topo//usr/include/ucs/sys/topo/base//usr/include/ucs/time//usr/include/ucs/type//usr/include/ucs/vfs//usr/include/ucs/vfs/base//usr/lib64//usr/lib64/pkgconfig/-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-openucxcpioxz5ppc64le-suse-linuxdirectoryC source, ASCII textpkgconfig filePRFEzHGcja,utf-8d7a2863494a556c6a53b2970a123964b7073d88effba3d2caceeb9f02c4a2318? 7zXZ !t/] crt:bLL ֭ꭈAi>QcΗru-"s R qFc trԇen#'6ÿHw5L40J Y諱s6U^O-(5h! Se/헛6Us Iwӆy8Jx*ƾ=$-˭T^%(Y/7PWQ.@MPS<<6MUL3C{}o1Y;p*pjAd8, j6apHWԎǡ"5Q !3 Ni VgbCI5> c3h5JFEBf1O 8nt}bue|@76$ɇ䩚2`^G:7!4 LN{)1B??KAtȣXMHkr`:'(lYuT a\֕"ҮurM> J8 DH TFz%^ѝJjv l}N|.~̱UB.wc{ u=lq 2j\8ȷU ')%Dr;mn,O|u8.%lhR9_7w"34)9£q1I!u;-Ğz*0#o>XL&,4"/kE1]!57lB\@[Σ5p`Q ]n^w h> i>u󚿟wqlzc8mD1\F\I_G__rSb٢\&RRQ7UgpqMSs @U1-$D}2{ۙ]4YQ066'rsixonބW}KNLehT/h$ǷFy89XQYmqy0U%+W>@c[+%g_\ы &m170hp?6+2U5.XQ@aTDX`{ZXe;V6ޣ oTpD.il~rFc# 9՛.2*Ho597hbo\!t|Yd-k'# A9F?ևfp`9R藜`x(&3ϧRVbGVBthh˲4WUX2aMNw>|„cEbĒn=k_l-boҜ/[ۮiˊduU|2|гzi8IcՄu8j5$[&LG7#8vKιX,Ec.ߛYY_7YZoH4ݟj৪lr7ErK郋>"v/rvUsL$yb UW5!ֹBC…Ґ4p2>bi8IT[ {3pcGr cѶ} ўyuܣ@˲hTJ\NWpGu)/^; ] zV}(+?[ {փ=?ث61Is<=$N:Mߟq7 >vN9p='t8E\kOj˞.^EN P*2?FPvϏ_&Qnf;c(mFwRBv%}LjvpgZA )/%mW+ vADYը|)Tj뤫#qC >QՕ;z/Q&l49zh#iDN  M;$'ొi:" zkgveO6s7'9Ѩ3}65DBN΄vtn٥P`jDe4H^쉃+0,L?b7|4ME+w; إʅUr/>s/t6zR9Sቫ+dFU:K{N>U縈fZ֢"m?Ȫڇ5 eCp_89:4*XAHp؉>Nrخ:T̚Dbtv-!?5=3s"py9 CB>ʐS`&=[;J4Qjy%OnEqcW87=Fso%Pg b% #]nx2$rPSEdxי79`oO_uNp* Lgҫ9맺:M>*G> pL\εІnI3ҼO!;/Fm˕1.g1 pz"MVik'6f -`|YX_5q (x'$n3s8b^Єj  VKɀ~UJSϮV.9@(/kvb#G @qn, :QWn?G'r{wp' Ϲ*IHkZkVe.#_;nskgofIݨWoΫҬŅK)F&=Qw-]1u;ζo„_,=&#MT̠Q}e? )^q+!Թ= PNq"}y,[,ڞu=4"@DVUB]@IM<)C`l0zS454{U,(%rfl`EӼ? g 6LŌ6<,tƢu Do@h$:+ ]PS$ 4^t9rã0;h$8M֠ֈJA>]G۝@=av@4taP9RsZ$>}oQE>zy,eN 6&`I9[ _b[ihvZci8{驘y( tLdM]-gE/X'gB̛9ddI[eW(`%i{+D>]I!m TY"coyY9fZmiO[HOa*I->~v*.h9xOr 57\ 4 tU y9RPnjs \RYOmb헼14T1&a ^Nm('lV:db1(;A .FtHJC;x} yPvi/sr_ϱyPhB##^ދV^0wrNz_5t<&wk!f,- <tOCÈJr"N3l5fnÒi5L{hzx'&\uU^OZYS;l0a]@'[l@knGBJqqCvDCP oG3cT֮1:NƳ]?oE>s ^ r^mxE=F/bqI˭ސqgӜ8*/zgaK.\kH2x>/^p_Ɲ(TŏθNWʺS1^vZ@_MFkty r5BLx3y0w*Rykb_!.{p5t+@2ɟs-͟8esشVd 2)#5ma ֜G3C+P)'Ub`ߤh\E2Z wq赾c15EUQ>XmO"ȫm{dNxlϢZ@ihu18r 8džz*j-c8[ӐBĶYqq5TO)b=t6괡mWIWɥE]0RR Ձghf7̖.Dn.%ƕ,K2+/zT\wfTlZ{llx<~կ)x !w^G"3z$q߁C!7|Q"Nep!PDfe L{16jإ4 A.++8*n{¡hW>5xD.837\r_'b `ScێbXTUSr9כ9="=Bb sb8a_ o^#̯Xh{]+ӧ&Ag)9,Ǝ a_? iG; 2QNJ@:@Л]#uzvplEoy \pp`8Du~e׺Ӗm~ʴK{8p 1teY/M$Lu7S:V LzSftRIj":6F;8 'q'ܛ1& &T]N">4?"4`D G&*& 漵L6 ђU/LKF5Qع}ҞsqW1-Q3W'5,'O4kvDqQIo4Z"y P ƚWOLd,T &hd@Tci2$ôu󵃂'ǚMoa.ܲSBĸnHh#9ni8BM(/E;IdȖHԥkhUjPH>;B(E=@-܄I\M; 0 #Mdog6ۘRBE"z4q(4"(%4/2S5I3;kjq;0~1p߶BNq.z^]9`.ӥ 8q5 dari<ӱ:(j73]pN1Eh ).ky8xf<IN$bȧcnWL#^GHϰBjD6FT$?l}PgWXecDgɹ;g!-: FlFIUd{6*OُSrB.d~!lgbk*`ڠ4b8$KaQ!QE#e8RW2f fp4PLIkGaBUc;>=uZT"T:9(5:1m㡈4cޅ SSMi宿kdub9KU1/T_mIZ4 <}j5w:A_2AO!A`?.-&WG|O(9vȧTnU|d̐.;\ȷk\=j3XQ7m:adlԪ[,<L=V'^U*KkR:كpx9]_Gsձ<τ oK7 &9}>s2Ma7-cZ*~U8['ASLƻ!Ř 9&1λ$Bc`j~G3에]M} fQ\%K%vGM:RD+sV\SzŐmϓyWkr{ÞIV_%%v_MlKt>C!$*Cxgb02&%uك7CFhpӦ4aynzzp)>,.r|}sVRS Z!O!f >4[׻5Gv5@9BkcA‘R.[*ˊrkt:3M 0g.c#{Eʁ¯3۲x9-g- `Ɖrn$NQRx|E렟{ uz-W3B^x|)lpě7.W{\c j<lw!΄&Y3LY΢Z}nIY+冖* 9HF]` 'DtR~Q967Q2өgP~ۀʰ;w C$7v­m~8a-ԑq"3gB΂!.8 Q|]T N'N܎.3$r@qi'CL`):-ڪyԎt[$|-JPI ")+dl]syU$~vclra(иȍUO~>jyy]FQ6gܟdo|`9:3n%4DiB^ PIH =D nvR9>IZT /״H9RNH(v]t:yAURp`qApU&\*lXc{"G?7 pu'. iߣ,akWⒻAL~QI):0 Np&YDB[+s {9_]nFi,x)h﬎* 0\:K;?Ƨ{Zp3-d׭Ax`V431cde6eGU.+m~)]lK·ccA(w%"LU>MTYꃘ."4(UNJSVż2%km:YI}ZFE 5l/Rz JFChQYV0:Gy4K'&Xj~N; F;>r33`1am6D&UwUkr k٭k88I(=?s1}fy]KoMV V~I!3(L4Hcs7cuv[xZL"E9\}O>%oKb饶N`X7ޅkrfO?E]J λZX\rlj{YHPf<m×\5Y7Ȧ6DU lĒ} -g155ѸU n']P+ crbt-(ֳ r㫝;]9O=rhf5i/v<3١U R7uLߠƸІVLdbgQ2Q ׾HV6G0Wk .p>=nZݰ"\1mk|e5@"' ٝ(UvB {(lA-б[OK a)C|]CW`aDwkMp((\בڡ^sgF({)=')~]ō֮iRH|"&bȂN`q;.'}C'a1xSX5pڒ- 7}*+.m%VUC8˵4έ}W9!mcl׺t<s{M̵;5sH`cZ-k/qtn3A:%! \>qo%| |ܗ5}pɺ9]TErGv755xŴ+ N?ZO}JeMj&ϭg3"KX}"F{`-@:gDjʺ dH>u d6WqgnӢkFI##R=Nlwq"J1" +6AΤJ״AǼR1?&g^]S-3a\%/b.@Eq>];B- V)  ܇/]9 JwW) `'23ka^W1NHq7x{k\導K'+F?m^<~#e=x O ,D{|/G ѯ+=t!-jwM̰.ݚ@i-͜[M#WcA]8=E2kߐ1j+{6̇֜ *fs 3q"ݮu]sցP\`2,E g 便(D}7 ~cGe7Gݐ -Aª`M ȋL jf׍\%=Vs GY& 3 MZ<,2 HZNfqZ==f9!x) +FEo([3Zxw=[  "WFdI Rb(>x>ڧwvf=bx3[ 'xIqo4ajDr~LjG?ž-Snes"M9uz)^bLY*~}߆) "uŧ!pVdE/nR[ܴЭh9149D\8uLf՘:mQdaOr N.JQtZtWz&PBN> :G5z79: 2 GW}F,<9VVn串8JX碑Hx}KVFqNsVQ,]]Y"dqYXOgDi_H"_: =D.˭GZ,l)Ä83$Mj-4p\m^UR9Uz\A&Oq-)q5}vj>6^ զeV#D}JшU;uO>ҁPR86bfJ^D;9~k0WEZLC֕λtr9$;0*j\*OuxsÊ>OriQ9̠h5Rg9sS&sao@/^-N$R7{Xy дؙg2cE’5M>e9\KSMS/ \wPku%m=;Yg,'fƒҕ؈qoaO|vP}sIr(^f FQ&'s_ '~UAɣ:p N)\<Ҍ^\ =1r''0m"kv94}uwb\RF>Ԫ.jZBƻ:Ե(k3sHu,QBxE혆{EMwS';$wO@{7.}j0B]p I4bYP,:pp6rJ4X"J\ӑxXUyʥ}+1 [iKt]S'$7%/|R߀fy1Fb-ճwg<%^ʍF|qM"1\"r |pш1|YF3xHym0x _E4ٟfH[R+SȖ)oݲE2 3Yce,8H'I_XNI*h ;PH"&Ϸv ,KNID\rvLxfUJJj) t.@-^Dj F(i6b~ݾ^&eWt`?[~Ԗ~XVʄ O=?sz݈|Ԍ5}=S6uX"P!RHǕ䃇ip4c35Siދe/ 3gR"+b!׋h||\Tnat=8 e*fxB;NT*Yu#tTmiۭk> yNBb|75U Uߎe|2GL>Vd\Xfrbё5e/Ax }^C i+7-(VK; ٜwYvgRU׍B=![XoV+%99 yO ܉~;!y#DԽMN.l-.[+I|޶0!\N`㋐PA:Ul:5uU0_`dگ?ի֡Z$$黺ʫf*ĺՖ^de7hӴH \lmk9_a2G3ΊuF>=}o*yꎐMo=ej):wr dQg%XshhDXJ5ʭ4&/Z AeG⦽O'I~? gZwXkҮ{RI|Q:}lzHHR}NRCy[^rw{:H̗[Nqk,7>/VK5Hlk8hܴ&JHS>#6Y:NFn 9Ҕ?: 2{kq!\IYzb`2/`G2!a|-7ԛя^y}XO m 8k2򜹎x#q(&h#mWAVLc缀'N3t=(ḄR/J Z LUA-haȆ;н{% ؙ>-t,[_4BDP9:m%>me%x/1K Liꉪn|L}ZtI/CuqM@qNM"G=!E^>6b5 /&וCiq@\Wvƙ{&+n␩[L_3e`,q{M^u%uȐ7?OJy 0DGnT e2?|m)D7s\>]l2nư \\URL^oԍ!+qxrT^p`Cyv禈/8IO(sP֫f4P:~|HHKfMJv?4^OI5QAhe=V"̶d_18 !V~`Is%;,hRImJoJЪ!U`?sxUªCr%KO qN12; ~`N4ۊc4ȉ&(*tNDŽ<<1`6Fr '@a"wJ˝7cv̽Ą G+~zE ^c~ԷGԓEY %˱!,c{oժ6trէ0F>Z8 &ek~=0L; |ߗ́}3h&UKcPܬ2Q4!ғ^Rz)^C iaIeVET]R^[%e9}P,qgJL)zQ׍TRV!]gyT7 s"m"([4#egꀏL?i .`q7.x-:ΰP[arVٟ4xG'a9s:n6S/!(6 j!6]SA|RG*ZDN!y+wk5>uԙ:9X~L{樗'Y [\ ivM<q0WO1m"&c> 譗 ԿSsO{f64{]QNyR>[JCdc Z-y"ȶS'== lX0"r NAZ7E0( YN:4n_Д;:6h)H.SLk^krDሬ3 j""|M;^U0ɏMhu }9!:DϤޤx6,V׉[- JfQSVM}5 J m4T\ \+/= la„%רNH_=W2q~E)1؃߹m?t1Fzopσ Dveve Z-jsp>mxiƵgЃA)OB^ 6ӷr2$篘 )i-aSБ'jA*ג `ҟ(=Su&X^ \, C_ɝuqX6n7+ αV2C 5;|үai:r5=[q,ZԀ@&F{ODݫ*F-k9e"ܜInn]G.&Q+*-n&,7$͓HGfP]ӕ̶&fYưF5]#m*&&(֚ۘ?O+W[_JiO+pt=owkYFĉJ̜ :wdT~6de'>S.c{j>|eGkByTN{ ZW&I¾Bn 3 Y^ 30=]4 'fɌ2j! aU_a)5{NaT('W3oki=*(}Zx΍"&yd-ô[?uTF=9["YLdJ|[j~j[9.44X. ҷTUXF +GڇGQ5E)<Ӄ}t9M+B}ӂHA($ÍʬZfciwm<*Ry߲0'W> "Z . $P[|W%Rf\YK/]bq!X6㘬rIgzy)Q~ec) 2 o4 @{#q O{thˍDҁUk:d^0[kR7k$ᘒv(rJ+ 2JHaϞ{ْϊ|+Fӭ9#x2iR4T)ΐyvn0/BlE, eJ}bXP|5P:àZZ,l(/>>.z Z Y,9Ҙy2-,/BRT-*0~K7m{s@cnu[RIoe)XJXy̥1Y./mT˼2*XԄ-8iJrtT-/ُgD &Wc5񼂒qHmJ zmg9,ڳ3ϗW_ s#&E&@WmUy=0f 6+#e]-*{װd媶v #QIv= ]* 8|K2N9 @BV5dE5M2}g 9bQL JgIJl 6_zw"OA9^H)̵\RvX|yL8J\fk[Hg2t0m ٵX8Gr똏6&R+kc\4suVV$t8.#n#K<],F{}sn͞:&u;O'oS)ccۯxӉru;9{f͕쑥t;c\נsG/p AW*% FH|yl#%x d}_,ŗJ iǫW2wSKRGiׂPSC_ɹy([gRC'vSFw@:/ףV10ڎ~pRH^mq _VVۦ @?%1fayE  ZJ3ǧ>E9³BRzh-h;b>8"#vB/*W\Xwt/^w[:3n_ Woqc.nyEjq/fToy5w ū:>+_ FeUk(e l`hLfK*")NtQ}MWb',Ng.*օp:lgQjC3eܦtS0 mgǃβrwRyiva}mjpM<{ei2䶳MfʛM2==-WFc߯a2a * MlD1MW[zwQ/)$al?tg%I"'}H%#/% ˈ%92R#GkJF TNqɉ+,9< gXp29=Tppw*`*Y6q,Z=B5ԦOSyn6J'nD1ژ󩍥X}6w Cdk%&hw[ vAxcz+\g+&jIneK8ʼ6D\ 0 < Al"w @OЃV9>A;/ O \uF$91m &=䦋 } 8BYAR[aj"-j]'c}A8G? wvخm`m?|zdW=w2TM3IщwJ-t8h+*7~'5Dj) ztq`\Ka59? 60 !@ Y6eWєA TAM9{ ,"=[b+E_6utj-l$ڊr{I]qŔ3̢XZ8[!CBzK *j? RqӄgN:rZe}@\.٭YP'0hmET2;f.o];G KCos۱n$ebʲH ld#&m6S;Nd7ZΞ؁HN>JhNftˍ@xX8y[v!S_VD _2T֗hMaUh l9%RON"[  aWM tr3߻=FUB aAv> :0DŽ_t'Ҧ5dODu&Xd} 4fRhpdlBnH, E qq[HWr@Uft}.ӧ "7-3F98.PHi^(=)4c' g3/%ϳe΍.1RoϷ '=i7"k6qA7g:Ӎ!')JԐUm(n,\xX#FNov+p>_򸻘b H )o@B]B݌8i 05U'ZH#Bҕ$U+Qc!s:P@^BBB!޶&Rxtޭf;{=K+HfzU6d:9OE0vy Sq1MꡋKVj#)o8XhӛtBoS !t0SaNU'Al-ZznNИmve,<O= wj<{<6p:ٹ 2ĉ{OL=' v ePBdev%CZcE3 J8re0 #LHʩܚQB_8|._HIyԱk~ˆvp%L(7# |L،SEϮT] 1s9q{mlC;hz&Z":Ie|9;?qT"`G^q` 6tPK(bd082FCYAA@.,]`KD~\A2I$H˫lԂ]fO~qdNrn8xg  <;{/TñOm*5>ҙBr'8$=u 5 of8VFm)L]]-Co$b4?!m(mAn,@k/o(, N 70~& 49s\Yh4 ^{k=yo᧓TLb/YggQhgb<1Ekw;nת#,lRt+ ƴ`fp; L ,2t/?/"U7UP^ҳ눯~G8.˦"q0!B.5tgK YssŁa - mGZ(Y*$x>D=cJ6^ J '44GW l)VZ]Z晁/+}Hp9RqsJU jX'=6MR_|n ǦJ|QᢿJs3NpȚtI?Z)?n*l Fye$drKI=[Z.zt))&: 9Dd¥,t2P:=R<^gB3q 5>F2``ej9cfܻt8ƭkR6t.ɮq`, qKw֫uPQrRҩLD^uJkè bZ^DL ۞ꀓRJC̴vۣ#jEA;⻦Gм eJ3 B>g\zs2,c?–A'!F<m[dW &tS'{g] ) 㶳0CVَ`[=yqޝ)3t`?>!9/)!?qY6Ks̩њclx 1Ot߻m Χ${Ƌ}t.Te N?[7JE•9J6Z69?`$XQLԿ؜E`o3X1,(-AKQA, :y9X h,dlKԳz=ƫJ]&Rǥ~w:g;?yRuZX&. f=_[⿙K,-^T*QU/ˠQny cUldx''V߅zvh.Secq2V^kSiB9 LYl +gRkc/1:Uf#GX4e#fg$?-ElhYYAjHL\Eĵs*C W6!z@ԅ;*9){faV61^!2O `6!CIŗd7;qa锣23uA„@bx@¿B!Nyc5%߾yoH 3:9S[g"z,l2oi5%c4ŗ7V+Bk2уXY a۸srM#љVus=?幍HEgkyѠ(}>NQʱP6H?4џ4G^^c mSq%9@ڇ ?ah:5Jڝ.j:N׎z@je*Tgg(]n7_\ ٍCvLF>/ ?eN)#Ͳ#I7.L,ċh7Z(=\$82% ߪ%aP2.)ЍT3oa[FMTirj.jUbLq{n@^sqUDu 3dBF?bi]=<_t<{gHoV# Md[hOv$i\BbdAG)ݥ ! %а}8B ٔa6`X{a2 vZý{03)j)Yp c).it\_YbjDS"[PW>Kd[$tfp&w=8bP'O?JbD`'`9Mc r/62@͋"Wɗv>#9E w D6˳ǫn)\FFci+t7=χmxE$ȓ,m"$1SIBTsD8#z9'=!q K[F_ZWGBWNȕBiXQ¬D/7" 0JB(e಺u&p'?vlkq"zRXC2b|yb`v&$ B<;cv/FxVF_VיXsG'ʭ6agJ`MsUBRre"#%q%!f'PcvcKM/9l|͜NWfnmObɶЀ6lFD qk~NcFfS${O;KIKFz-좦;?aGyQy1Q׫G1*{xw[%{VJr\k>MjBﮀo1j4-ҒChxp#nkxZ촭"4s,FhTNDASimgSf gV+B4b"<=)hNff,xb+BuHsusFn5z2Dw-<^մ8̥2A˅N-ٍo׃9< 2>o]^V.ɕlf*pr I=0^f?[i7G|jG> Jb3R,&L̀ep7fn: qJ[ ݖӃE9gvdb̘#(Y) :^Xm_Pqmˢ3H?(BW r}[ںPORUTtpȒ JNHKk & ea\{;TAH!C9sS543 !I8SoMoڙ-zg SƓ9.aBƽss5XWԪNZh<ʬhh.KO"S^qn\ È׎w1j^oBNXWA;]j Y(E&]n*S:$4iNL ,| a~XD~C& 5fn,~ޯޙl]O`Q m &Z5֥o ۙѴ;N{k XGm`t~lϟ؉]˵k3}"_oȮܶFq/஧d!F#W}0st8yɵGhejM6,LN[G8I/t'!13ոw߇ƩA?ͥ(pbwjz]uSK܈U&4X E_/)Xzw0"KDFXP-=/q i{m &*7+Knn! s NKUD`j ?œFpw`% DeYSg/~=x9(Ӏ55-RJo7Ze"%#sffP)ן2I[b&tFcLxqrO6]Wu /ՔɎeicȆf{|rJ4 Ǜ`uas(bli˕' sH؍\pb$Ɵz3!N'"w*0sa`dwtϭ*ɂ<> -gA CUէ$jPqztB(*3SmKTwQh}g+n;h"RX)x7Tg!Qoxl6#];a'Bcg&[s5HȬcSRy"5ҁihKߚƮEpd(|D bIrB)攓G!})'WGD%FaZbd/uرnXV "Δu+( Rmpʧ Dd [;uNv`{*BBp P Noϝ<=pNWb!!{o$<ǯœʥYXH 2BxhƤA\DCa]-Kƶ'̥NLaO*[pNLU~cjA:=jZ\ژ~x%`4 pԛ?=[&(eoh}qo%728|z=Tsqݘ5uR\y%kۍ)kײ\EKğyWUSAk9ScP/p#:ǚ$Nu 9[:|o J-x [sz.V7HH1ZTMC z̖ٲWͤBN&K3\]M9Û $(CXX զ#.8 FBIk@I*l?P *fv86`Gٮ*KB3>٩8'U>ld2no>_Tvô;iGZZ҇`v&]BLBޜi?id!^U骿)sQY?G c߄<[C\oʡkbaD^]tg\ql+[¦|WI\$g@7X=\V&"Rlm`"g$> -J2Yj ˘At/|ߣ&Pf 5,ï@#MJɽVn.^+*x9[_Vd{oOgBBMyS Hw{9Pd%xMrAbsp+IO=8o#@!]tM9Q; uw&c"quO+f1]2vL< C,q% yec%xdPe2iRo+'wxk;ck_wQrQfuNR!qP'gruWp[p&ME*_ﰶqgLzko%ZCa-1Q2y"УUooh#FJ|nIR_ S[f$(9{-MN5&PK!L΍fyox!f'Jq֒sG%a|Ghϝhg#}XqA8`5zax >MM%[Z.=E}h,<>}&Gp=e*PhZdd)a0G=:*E$_%H`h!0o|WJ` `9O@Kǿ_7N F.i pqf8ap9Xްw6F*2B|S#_q tu9݌žZD?jg%&dVP9Js,Z;7qIɅIo^7qNۮ0F\3MCKWzA F=Nk3 ߂\^Cg)YvNho řQ"=oCgzg[j`ֹNyrIhC- 4 6fO]v W>,;Y)4yNV4wshx ć_Զx9)\AWu@ 쾸 ܟ&l//`m>("e`'[t+-J"/Gʧ!ND^l매qJm[dz)LdaE"y'g ?,8=b`gH/ R`6\ϊ&yadKKtr )X7!e57Uހ"=̖8 +c1xl&La>XzJMHc"$(t7Uî F0 KZ2ͤQcXY\FhPʻy sޤj>Ŋȴb#Z4T+dM4lnf)JUwBFS&֖tgXbNd4XWh4н=%f ~dkvAd[tҞ5޳.? bHp7n8%)RK"<<:@Aܒ f{FJ\.UE@5E2:+YD;볺e TzXJQ^_ fC̨ɦR7/&mq~>{h%\ēGLE;P/\ "o ke^ gط- A+4cd9ZXØսi s}kwFğnhOgc ֘! :Kwjg?dgѫԪ&42[C`V(rG9FovbI OF%zs@@r,]y XkW d> [/ GWALp 0܏6MGnTM)&EL|lhOMp/\t纝{nQ '-E |]Xƪ 0ӭJYJE_wAQ,F4M5ɥ}򒕤ecv5J Mzi2ƅjusB"/nX 8(yD>ՊiD`C:-ʛSEUYƪL~`5z`724&_CSL rU0X8{A`kZgO`<#`[5ןH]-IkwCmm?+r>8q2J>N(, 6v*YB3~CTS HB]zZʲg!@}j $Z#]}Wdq<6vZ#xߚ6[ _,iE 5VN˭~l}*aJ@M2>BPD~#,h7xGQ{~\&i^be@m1[{=m\N[yxtQfgABg{rűA\%3 s yds^]>[\Ǚ>S=ympftFbwHz3ö;>75&wʶ+nE"EbBA{z8 6!$: M۝8u4YamؗnUKHeY*2@˼#-`~)z*G7;n- ϝ>/2S0M>tԝ>']TQ#+f$Q#k]$(PP-QȤi(:[٠ cS(V.m8 Il)JA(ӄ.I66 2ID?uUTd Ȳs$ƻ?TΨ҃6Ez|Zí޸e剢yޘgnRd;+x.fBo\1fCe"mR]w,x5ӧGA\^mAZ*3؏DMJw3 ގu %la .A a˷%,>`𓀳7\ KY?n*pVKoPb۬-QR[jvK@dsxV,FiwOvҋ(p&*:F:~]9ńHG$Txm)IsTAWt {cjgka` ᄰBE򆮲DzOTXs ىq>L9 vs~\o9?ġx:21n-lp\#[xMSDŽ&/*~6 Js!o2 _TWV"io_hrj>& f F}0I+:^<dޕӟ@%\cbH}lwQ|6.NFp+4!=N^^݊Ҳ'1([mњHjL9:݄߰>TO[ Gi+>@k1z%Dne\]k`ӎ a|SmwRd׍(` $YXr4EK͊EXxn#ǩZ&XPi6L(x,N/A.p,)$]mt&Ri[G\LНOEk-#acHq=Fq G*6\Ň;t=_iU0t ]Cr|_˞d儘|md7Zj~K*k?q[Ɍog"$`(*mZ)ѭӯsAEE V^枭 Oxtm GMN2 DT*VXvW (%NjԴ4uD>fm}ǘ,kـIQZMq Vվ%R^hc-Z{nk NFOq=g&ͬ1=Qs|x\~12/~Dz?xWz ?X͟;ym ǨdnZxSjOC?qd+M%uNO!,֨arJF,55wp=|-$ui=;R=^r<Ԑ-!þPzV : AFQΎaY֌Jp_&8;j`2o30wk_2z!S۫Hy!6sӅK4JzmPe~eLΑǾ~C2w ܃g;|sjRоgz~GX3iHGDj&_aGv HG2$sCpM]H8n`>1IS:Qo"T!+<:Y.x(r:Z<5s*Uyot"Hxp _BLHVqXtF1ue]c[gWStC:T"?M6kw#^pZKndpEvjĽ8@4z2z.(xNSAuiKGRoiIߟZ] kG=gNn}Eӆpq)缘+HޖQaG? qizMP>j\؃6T8W'6;)znGUYmL &nބHWDԑ YG:D PHSAI%,\av]"$m-˜P'ķ}_+gEVZtP}G0I&@cnp`LS&KM:*-nFgJCiNh[HS ;>WA1ҏiٰ#{Qo>bxd?? .CgoY*TkD^4tCp-_,ݏe*'Ma(q%_bXrB`:C06TcMٻ=ֲ'Pukql`P=o6?nez;]6( /MM7-Dsi뫍ׇ1⭿UBi`c|s9q`4F}҃,ɞ5a*łb$l{&]G{7~%H*o[B%u(_$'q7p "'!6tתM*fCե>bU\VR/\h7s}l/d_ҧWrXSrvR+LxwF= YH0Սe1+<>c^~|KR BGnG{;ˡ+(% r. sCc?pUx.Ko\K}1GGKڿ)Z=S%m1ĩmkO*TuVNSqw:-߱WbS˺4R)ktFQU|ܩ*1m&*C*(pvɂ"^QM?|/ͬ(4ߐ/t?\>dJLIƉ9\hIdFls^Z SQm}Q1$uT FўW$:˿jPT5Q3RzA<h};n;<T ?2fjS8xp5c ax2P:n@ṭ:p4(\FR< ?cB7(Үu~Y]QaZ,>y;DOt/|'=t:(xs < ыe,>],wAjg/VqB&J<^|;N:R<ڲ&'j61Ϻ lX {j zWz'؜&jQG.itxqLTx^m(꒟}GqўA֦:2vͪ@:  pw1w6mcˏ~?Nv#E"&\q5,§b3&?ŠزDEbu"PGah<D/ @b0[Hz3i?zdN,O_)cw=<& bnU5zZxh@- hg$k܍5Ǡgq" e߼J譄fq|񁻺-hڜK4%LXBJ~J'6l:Va-ab^[-Khb>a6d>UbBUƐr8!c^VTJ=쌠W*jn=04ј*loA΋_C8sw%:?OZgwtC{mpPhG[f[&,AW#  \{tݘ1T:yceeDICܨ#FU"m⨂.__Cjı|rr*)K0mig aJ>hDܾL"48۷YWbܾB3 ooo/u4OJefҬI ( fG(o+=ˌ_b1ib #)ndDk9Xvs*=NST(UU\!4_RH|bo9z`j&s_JM㬊g|>{IpHe~DG3vZW?$OU.NezB#J56ЕarZR,煒%}J1A;8 P t?nɂ),ǣ\JyVzd^y`$:ZlKyQ 6yU'`J.,;sǫ= ӡDf![pFG7:"r{7d' ykX |?:5LQB_N.% ."ꇀJ;vWݬ¨1ă^cdufKNw\,òPg a Z?B(&Z$lk=<RH"_};vC/G #ҕQ]{x W4@>djl17mA%F%c=9\ծ(lT EQZ1/[`T+ç}=^L+l0-Iе|11ǘu E/vX 05}.΃-%N@ﯘDƦr,oE<Fhe3Lcņ }诺O ;s j˽h wdmf\O m%HY ["z=; q#3 iVMj⥡ Z9^6s JFhTUfl _*u<9^ h7@\1AZ_]{!a1rCh%-ɯo{c(u йş5Sz} jl4^ gΪjF@de++95n A|x{? ǔ1oNv=KV>VF i :$!z$o%Iɥ>&lR2^֐>3b8Z<6zyO{lY"Fa*.4(8-s0}$56q!_R60V%Op7 [+8DE^@UQ3z1 fygaF#YK%lW1+^Rph>R GLwc2m%*`qcfLMIE͹ޫ 3&&D-8;2-r\ = A~h֪[%fap'Y8N.[_\SUOUm[EB.JA._M~Ww*7)w wSR3,P(̤81m\ OePk|$U)NqѶEH (~x 1 m"J44RB?G8+:悗i<'g,Av]bxރx<)a{@0~1"n`6:0@.- ǣ$֭( z6SȼJY<^N Pҟq*b}%$ T#x#Aݷv[̶H]b kl?L)V]QkH^!qh6ߪ)Qf]֊.藢 qDlgRwDb+V@,Id9}]/o(z"[M\(Ǥg1pzg~p1D9:@:0i2S2F).7)hNZjuJlf\'&rΛUPHaV!n4 =d%@=MbnҫUIDIeNBWϻp<7CܘXXWPaC}FMUYci%222Tx"V]R1}^d| w|]]ZI#kUg)H?PVͪFk󜣫n!DWڪ k^(j-1GVjK woey8QI6@I$ږ}&Et\bs6VŌ;)$ H?nBY}5NV[*$ATe;iβYZtS8J@<w3x;hL!gIsWvBS  zdP2g⼺쟖D2:ZhP(Տ[scB5-QjAl/+9d'MKMԋXۨW͛Io4T^K2qdy-7V2&.p cОc׉`*8U+kX@WT ܎'H.r8<[H>ZyI}[A'>ʸΚGSh%cS|iwnD,W*H)\;0ɣ1twKd/\<;ИXq. |hmmM m&! {\^,"Rh#%# ~?~+Qɥ<`D+raoq̄2ZyzZq#FCXvabF~5ҁ%Z'vM|{E%[KmبZ!$BW,]Kܤdv)5*k)TEJh p&?Pd{)KPh)(,|'hCEyO$nCN *et=Q_CSM}F}@~Fb ,\"*b*ik!YROXq09ThSRs^"ejp 7A1p+ivhHnG-fpZl̻tU4  ,q%g%0 .P05ul[\nO'ot̔S!QO;WӴ@֝"Q:vR1PW Og6Mo@#_O@SR4JY{跷y!QA+4 ZhCi%F@P"I/ZLi\jVtϢ8q#Ӕs#L6E̻wqommS^ʟbd=XhW[uZ ~kmQ@s?!?RTp\2#1sNsf0A1-*Uo K(bOd- >6@ˋ9x~7CO ϨaQP2iu&ɋsjR="C>nG AKp[atl04a O$| װh&#b6iD2lU2D.٫\쾙U~| Ir}Zkpz]\I)|*Hv`:[^44>{_0,< Wj/mձ+ė_ר9hyQ6#t_JH&fN[D"`ڄ04̜qtO~ϫ]W[E#jlTGTtB!M.܍}/oELS-V_:2CsQc$L x8$Jk* Ǥ3567jGMjD#Th if?ɉL%S Fhon ƌB92-8|Ə, Լi1@,)Z߻4DupiyVE Gٻ1s`o@[|'blnpf \zO#J4j%O9i޻VG|o8DmTg~jXSQL&;W^`⤏7HLϩn'ɸY2CDQ=嗶iYйX^1Do|b5zB6 @FUaBu +(ŦI@ puMhEFa+Ԛ!ZQ vKÛ6.E F_&3"QQYWyI|~$eٹ, _hHiu>`?tiHlTҳ|n^Ѐ1K}6o[ 2@!ۇveSzV+u%E8E,"IuGݪ%hðKvYl5?.I,i(*sAD3vOjd|VNf G5jS@~Yr)y`r\yfoqWQUU&s1b䈐B[HaO)'w."V6\'ͼbdnCWl!w;SyLϯPCJ)fk^1ؐaQeY]hU/fZـOurŋt>yӂhl ? N-U7XFXXF'A( (8Pr]9]/x\WI\ &! M1Zjd(k~5T:+7(%:5_bΙvoKȴ)u#6|jP5%vor{eV_*MClg㤗:E3a.9."؄y:<)#-dˋC8Zyqș[K_|ga\8^O}#f9ZQ Sa4D' 0kv,@ `W3U+Hג1Wa,S3W7 =A'VYj)<]s[J 0 ; b&z0G6'%l41($zlo&d\?UB}S+<bgujcfMw4z}JCT)<>KMUHX{ncsI%{vN&+sDEఈPP%wƦpπqb~}~{Fӓ?[֩'jÅTsH W'(1ḦdKV2 ';)yi^L0Z24/yf921QWL5!dAf]i }H2B t>gĸNF$Ga/TmhƀD ebTF99H%Q2^ ׿gNEKHomn^rE4lMJfm^/hΆ ޙsdC6][QR&e˯9,R 4o{V7 _Unؘ.MH|UӓzZ;Hyh36QRypŐO O0~% zm%wwxuz|H1pbMWqoD^r&$!mWz@Ax5&<9O?`u[K딋h m:4Ιf]@!:T36/>.Hgnjw;W 0Z\W_uvTM3UeJw@2׷G!h1aGXձM Qjߎ9;N:ӠHjSFfΦ9kW!pŃ"ky_O  R2{eiHHOts<'L]q 3"nGP@b\%L!kcLˬUmr(Pv8c v 8it?P2M移\֨ aD)T2wB1hC~(3H|,"eW=okp]=uehULĩRDNӄ5єE,]ikHïtߔ'}nt*0ux+^WlepYZ[BMsШJׂ0+?‘`hRcz[mg$7ϥ=e)BƃšV@ ;[Jߜ=ݛ3e$m7۬R` )#PĀ7]zHl+?!//׊OgeB<Mh{]ՒՔ"0Ė? ǒv,MޝB^KT/Bδvߝav{[(zr\f6XM.NtҲKoQ2]@-"bC_BgdXDg!})^ܯ,bt,2[ӿ!Y^Vȁ18G}Wy煩-r~wwpސfvs8]~a{:ZcT؃ԑNAfAi񓠷2:_EXz,ېk1+w ŒM-'™LdbKsHp !0:a88`Iqg'?Eopkk]A O5Lꆰ=6 NU~ǜ|"PB(o\\~˱..W{xRT}9oά6,S"CEwE3ψAZ_rGƫNO(C2.oZ&ap߰zvgZ'<&k3`&ds <؂8}+O6~:F&'y#t>%؀B3!!UhR@Mr*\jҟ\͡\n2HxSF=e,,*`\ۣM_u<+?SA*WyMl4KWiτY-N}ğwYZؠ2fǹggD;fZ]cj>IѿuAP8T~X#?X` w ސM(ղfV%c K(wGTD`H#Jnp8L[ ]jA*1.tqvagW'/4}=;Yő`S+Z:8Jp2" V((VЏ*C~&Yg(+#wGU ZM3K>t]A0,˒YRxOY/1O(OW4)oӈ:RyVB1&25рHˈIh=ӣ l+jCafi^~x?Eʛ6)`> KlyrC"1fÐXqʳo✨l,BH+ 7IjW?_N^\}W^[ٮnȲVbʜ]\XaM/KWGȬrmC"3tߞ]e%ws _knA<ɥLβ\ѷ]zJyJ@*dS;>#F<2׃IKY_{Py2sϳ Io9~2RWV~jmGՏN GN)-c䢄tRg5;0 ]CҬ p4R.M3lr>Ra,K6/gXeKaPOJV ݫx8aA!E6cltJl[5Z9b^*M4;").-rV#fj1Zjݜ5!̅B1&kͷWJD}:+c g\Na7.DQϓo(&z8D,87|̥ŴWBQ@$P*4΂\#:{&aJċ.EJ>unjpI.6CveK؟muqДus=\m2KɌzMHtRr׻q&&+fW]xQrd5$ki!#5z*iEF|f5ȳ8EXV, Q%hC|7q!Maǯ33v~n PiLq&%4T$H?Cvq= 3_tA)ϓU|.*R#;zo%!9*I* ĩ}7Ȍ=RLF2jpb4]Lza ٩*ޞ L‹Ild֖FNB7wY_h$[5i=z@_ IcS~/fNM kԧ}Gh 9jc=һPSЇn?+"9\m!]8 ׮BrVIV?mXkX|&fՆ@;*|.`DغS |׍9F 9c\{,홗 ì!R̨n:=/c} ]07/dyE㩦6)icqgA*^2;T>UШ=C4U^3Jʻn'黾8=TlD @I'󯋴 kGzT ):s>U&n)tȗhIFV7eO$hRye I\pw$t%žYil}˾F::=@L#2P=fUKÎ-|#S,<WKb)POn졅5M2 [H/v,˰{:C/W}_<$3Ph2Uv(S`gǿbJmWv3Dm%]Ыd/թ4;xE)F~ 6}3Ul&֟^j+T1adlw"_E]DR;%+ jᦹ[lxEa ~bm@S+ෂ=<8PQEy}& ıEd ?nQ#ȯ=  ei9cuea.=s!o굍yN.[nQ`uX\xA&noZ+nM"޶NyFYL}qϚ睅+\PBqy$r@aI(QޤNsGT"͡+&gm?λQ\ZmUFExG wtɝ3ЗȊ#R*;+ka+2ϝ?wdD݅Bww*pD@OWy;]{}LQ\ p9w>(@܈X&s(W3?]?F^3?jVQ&~W In{s:,łp`gFݬkyF7rMy}vV49bLw۠-E0F&vo-r3qZHgg~Rf l`(w" ;Dx],^/Q:7['7tp{pyAͳ&Exh8Qgl7 \GYQCFK#VRΐUƒ7m\nieYX@44 JRdxhĐ@5_SI,pQ094^&W% WDYS'0N; HHi(2;,&W6;y>jk=.p{7ZEUS&>bkHK]l`f3@X*tC>O:w5 ZX $vO-XiJ0(b(}D>AcN pkV(o5]%5ګ\wr.EdUMҪ!;Wa3<&UCPjIȷ.JFHnN^:TM|u7fFRt_ qfhO"2%*Zsi-ƚVfUUEl. u^]HI1[~! EW#.]TK,O($Zt~,$!lu#Y%Sx_*鿸3|yj<$SȆLɚ JzY1V$E?Ԗ[9Wv9N}y ٿ;!ȥĨ5> p5~L^e- 5 e8 V{Ʀfm܇^=EL8r޹w~c_yېa"\)Ӎd4^&W(\7+;kpIn6ye!tb)0s+~4XAZpCHkV^GTMR} [}_) Ǽ;* |ːdI9 dcPsj+O$s+@Y~2q¤TTCY /rjaZd#G*irn oKNVBhWsCZW[`q( 60 :ݶ04t묜8z<n5K *65h茂3YfLlu[U&,z}ƓПņtEtcAˠ */88NGxJj&(>QoSm,ttM9N_ΚwuݼПN!VL vҌbVa}Ҡ*!]}l" (pPk94 ܃F9x3]*gȀOL _fxr^(`̫B(( -d9fM7unju֪.>:e|Xqiy'j몾at>"XFT$E? n9ͩt;3ۙ}1^9aWL>?lxx םe^)e^j]RGla)u/2Õ).X낂\7A* *LiFVER3N;C/ ɏ>CtMPoU1ht4iUW"8xX8G]Nd;rb6!_sv>|&K8kELޯpU)i8S3 UBvg =[V)C̤TkL%X a^! /,OXF8 &6QqE×e&|BlzV+o0Ǒ:5BSDQEn>E~کi.KgSbU~y X}tS/lcaAxȴz1P-o%WLJ?Uml4HV{e (RjN !JoƕĪW7o|E#L|VTtW+iV1~p Y?٢$,& 7ٌC 5xP.ƱaE8q/DUsH$XGY2dkeh=۔ATiP(RC,zUGMv)4$R 3+BJJ1UͣyP*B NT = ,* 6;mhG*X{Q ?aF 9+dk/oV?.nYpP]rѢQwvqw{hdL҄sZBjv#9^)Ϙ tV,Y[f@}0 K(T9e`+퐏c=ݷ7sVހVX//71'ڌCwSb2^h.(X4!r~Cr8*ܞ2m,??ԟ\9,Q5sK٫I)W@'L;P[mMf9*rdI/tuTѠODX9$O>@kG"6^檤g^wŷGgxB"UN4~=8̖rAVL F\TD:6Ύ|Ï 50tpl"T󑥡ij吁PXyWDL)ޙ8W ɐxىp5hVA0sbF[Ƥ0ؚsfo,asLG.@i'xX)5~`H黪5` 4N*DbDiL|JR>MZS9ρ-&}TY)-P2GwBXP?ǃgt? G8#=$d?% + \K}nJg n5a`ILz:ħx8S_OS@V I?w J-WS@/$bvOkBa#Kt{v}촚GRFgEΫ1]QK:41":fWIyAVK`U>-"hɪ;@A5Ibx3SU ȢEg }ۤq:kC<: ;QLGQy-L?"b2o84K6 }geC<[)ShJ%- 4nJJ)9&IC!lv'^~ξruǾZdk]ؽSE =:F!@Y3;k0}jaAbW5MҺmF+rnC)/s/mhGӏDA9 3.(`mgAmiSk,"25->Xi<58n:h]h @\uȩ_1C>7R΅#bh+%B}+q¨, KG|"Hg&7,6i֮Xͯ8x>ajma*o<.+p~]՛> e* h-EosD$Y E;OY joFnW+8CpNی…OJ!A ӯ:HkF2O<8h%26!`ۺfoG;EԊisq#WBր_q)G8`|: Cэs|9mQDZktnkNʬ&|<*..1(v8^ "ёZm}Qw\Ϡr OK.ίוhRPƘ]2v}CھךШo_술/O.Cɽ+:T\ZTٯnT8b d@%.cDh.Rn&gS DKR dux"ʺaZvz|#dt4;yK7%=_K.xep``DX1^3Vy?"CH'C桿Huv~bzυD/oY0db$?%VK}C%&r!=cYI?^%DWlQXhRwEgKŪTD?NKNX:AI]Nė7 q6{AE`u5!;XGPeS=^#.JBO߉@9@D=zQHԪtM>Go<#쭔 ļ  A r N}4TwvMPiʸQkA I(;@P_oЉ"}ՙ߯e[(TD#F j"2\o."qz+H'4LNif6<\cT4r-BA *3:FW࿆_#^EgqHޒ6RnwA DvagócAԽrxS+1!&SVAuhYWԡUCv%·xvAfTTtH "_x;4D"'6 ʱc !n[Gr:|5D,nu3ͦiz<9L,6L}C &w  YZ