libucp-devel-1.9.0-2.11 >  A `p9|2(8BWc|U.Ew~+M@ȦXGMWJ,{jB<]@x*L@>NR%$ gZ՜IJ~.R(١P.ӼBθμd8b/Y!hN1E4o͆wbrF*9Uc؂PHn 72&ks _\DV>KͱuL#Tuo EV?BY$hx4vUڹ=:r1M#\GS PUgSQɶboMsA=P) :^.ᘾX BQ@XSy91n'a]!pqy-bP ~SA0>zWHiT왘QZ@k1NԚɺKn>#Db^&C4>p;???td  W' =]qw     3Vt3(U8\9:HF<G<H<I<X<Y<\=]=,^=ib=c>Td>e>f>l>u>v>z??$?(?.?pClibucp-devel1.9.02.11Development files for Unified Communication Protocols (UC-P)High-level API uses UCT framework to construct protocols commonly found in applications (MPI, OpenSHMEM, PGAS, etc.)`gibs-arm-4>SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Libraries/C and C++http://openucx.org/linuxaarch64dQ\hAA큤`_`_`_`_`_`_`_10113792633c8e7512c5732fe10c4ebcc71b3e41e9608cd2beae387511f8902f18597248f836c8bcb6cf3def4c6054cae811d5f1fe82faf55f88ce66771533a2a8c7959d7ffdb35fcdbfc7bd8b5e8d47cc6960992cec9684cbf425fa989c64cd02e39f8d2716b3ab03ee2dfce478e113ce4ae64854f5da88ed5d593eab2720eclibucp.so.0.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootopenucx-1.9.0-2.11.src.rpmlibucp-devellibucp-devel(aarch-64)    libucp0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.9.03.0.4-14.6.0-14.0-15.2-14.14.1`6?_{ _ L^3^@]4@]@\@\s\o@[@[ā@[l,[!@Z2@Zc/@ZaZ*~YYYV=@YS@Y9<@Y(We7Ue@U@nmoreychaisemartin@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 fix mmap syscall on s390x (bsc#1182691)- 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)ibs-arm-4 16200858631.9.0-2.111.9.0-2.11ucpapiucp.hucp_compat.hucp_def.hucp_version.hlibucp.so/usr/include//usr/include/ucp//usr/include/ucp/api//usr/lib64/-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-SP3:GA/standard/ca92be93a706e3496907ed44679be457-openucxcpioxz5aarch64-suse-linuxdirectoryC source, ASCII textASCII texte~=_i:mutf-842f11e0774a7cfb53e9178afc1299c40f9c2fd3f09fc51c062d870d382666fe4?P7zXZ !t/C3z] crt:bLL @WJ|C]&aR7H˭l\ÍۂvFѦl$~&_E˙ eU߫|n܋&\Ű$05`) =L%޻ʒɐq1iVof0j( K/풣ؾRǓ| H+f)VX~JE{MBnףueO`WӽFUA(#Ztbj,Q{P;;Dw iq1@er1Bݻ4'izYGXt@wFD\4E٩a^̣^9qgfMT Qv ylH#6!fnWo!ޘr(c+=g|8!+w`-z82o/7OgKaD KZU6a.)"П3Fp\O˸-'JhIӣ8c5͏3**FQwаАIagO s3bu1{ti?=uQ*k8e#Rڔݓkc[g6uFyf(1ض`tSC ne.< uHj,3,Ӓ~.& ]=ڑ S}q=Go=ߖ>oq6p2BwOO^B>`]hL0OvԄo @V[:-˰K +B@ثZ;PT4HGb[/k&<&5k,}8uR^n,0.HZ(Al1T~B>-&хItDd%l#eV@CfR4^)W/bk(ӍT﹩ ~(l űS4SY}^uaa^6}ur<:w Xp[ag̼9W6 LrjM2ZЯKFgmbMVXgWIʺ=l@zFӂ0*"J :9tX~e-\A( Qfhܖcm,ő$d?~Y ꆟF.F8u`p43:n75ωĥ7 o:`Pͩ4F~jo鿼`RٕY{cB׮U Qaϙ!`}OL}MpRKP%}I0&D)-<xo7IXw f#ug׏Pj>$8nmD#(~9ңc\bşBlERB dĂ"ϒ̘}8~ArA@oe D8IҌ!AL^Y^N۝@u:B|ͨ YmKqȊ ''s(x܅ > F层}.-4ͧ://ɂ ¬$sf´1uC'߫5gK욲Daj zQ2Uaҏ)> V~7e{+kǟ5-<ԩx8t4/jôQuٱƣ-ee9Or$Nik) {$@K`&VbB2Ӑt$gm|l4h,uJ[Nt\mu+vyVŒ`EńspJ R+3F,[b.gnU( e3~01^_,yCwF *~0R{\y1 ^L+fCwne4,%x|I,fN z}04vAǜ>-01K\v2nm;@- {|N>- #=xG:t<;`!S@2[t2vjjxdփ9I*j im$*^"gz֍#@?vu*0#OmfKxzxTxJ( hUﲬ4S`PD`-FnxPj KflZ&9U#$I3"2K%]΄l 4,SɟlIJFLg`g]6܇oW0m_4_@g+f=}hq~K 6l~2DƛjTX˅?RbkR?=S]鸺kf-xU('*4dfQHQl)R2"Id[̿G"j(a\Us c;TzL~MHXlt<]u *⁜Y_:1 㞰K .BHervXg/̩Qh9M8.pbEX $)yh SAp~>vj>eP: E4xYL_ .|iUbxl>>YŲtG6D?j凋5nkȸ&. O0 rd}X̙! <XÍnBUAЩ}`g1NC*$_zBtMQ˕bwvZgk_-:ax R3$\{LB Dn ?5T%mBbkBp’ee)UBcP䉞N8>P܀{Dm!|ȫ^R8O)1%X2tQ3h29/'FbM3qm06 =BՁbgA0l֖+Ǿv2xŒ-ѧB+>`Ynx8 𲕾+5^3o{VG@Orb.ZqY&$<ę)4=V+G+qhh-9zk\Ie޵)@hrU, rb OXlUdDHN}@F'(Obtp0=o6e}aGJp@E]}+<*ܭ'Y!WxƎoڻkD!b0ŕ!ELwox$1d~lM;䆫>]Чo@iج:maUܐ ;:J< f0:q iՈ<4w~Ԟ $wjBK*qS"%abgvZ*g`\of<{QdW,*l-E?+!jmjoǑ`eq}RDBkȂ 179T綄!3e\X?zs( BXc `@EbIct $dos &Eͫ|= hHÁJe;r_޶F[dD!&BHL]Uq(+J{HTf[{M<HϘKO۾1[gpwO< 4ZEШ3X9̓fr%U}D?E `o~$~|T5.MvPRdpkɜ̓b99t)].ѯy'{jaQûj:;AؘU#|ۮ$Dl$CF1cLesDҡޤBg!?b2ws8M%`by|Mi QVlhd9έrD|&^xU?kuZ5?0po^4#bmrКZ_1% =SL^^VZs.r>yaS[dSrQnkFmd&]^ *TJ* iT`Z?c6ˋ%&8f,1W%G\Y@c|6$ B./vyJX. S{$4v,zgzxj]eP ]Rew\75WRɪsQ &\9:Eߥ9 ܸb4#NQi\|O?|DLt"G0i9R;VFfE 9]mrlF-ުZ aQ ,^5+ZnT~xLƟj Ws.݀-nil8ΔUniҨ|\z Sʡ-US1Ez5oiIؽmD7"]ȾqgXwW[Nt3OPog xOZ+K -3"E`վZy@5 tjG~Ew?b)17r:HTs `*czu5|cS\E,8\"/ -Wb[bQ'\򹷽 %}zRMĶ@¡SugGe1}YҚ~lz N4ׄ;M S}g/Qs?([:i\|Rbdwom3|/m2Āsp 07s* ?_4,쨍bO}w#u#R?`|ѢܩEȡKAѝ5B62=1XdV骂i\nE#NE`Y73wEm1K#@Z°ߌ[U]<>Ld&;Vv{mZڢΛ{с!R]!tDT'XP"JZ zmP~ 7 qpnFmoiookC.kCݫjK\X1M_/}v1oL[=2CtvVU~V^r@\_} (]'8⾪MWj3boXOYzߧJBaL-5Mr7$f'e#ͧIg%ǎ5 v!&h3}}\t$/ Jt>['a#Hds:} ʶc]Q5V@Ի+f=U'=%dTiXv ~= Yuk01\V\:Lgyg&8pMb((>yw7s!ؓ6^:Ą~Y7+=f]e} KHpR,Iqgg6=. {콲ŵry0'kg Z,A80EfE/eF2.ZX>[ VIkd"՞:15:~[\bU" :z!3MnyE?:8'o:WV~d"^rTѫ &X%e~hu:=L-a_ֲI'6jt,,!ydɓsGhk9"lT.`X3Gݍ.>;|9:(Be9cYߠ3#PU̠nRL{d tSG?b}MjBC*cOSKHY75/[vMd9vu\ihheG{9%le]KMH{IbsX"TAYa(I[tl=Z?āʻ=2S~&0SAAѮf{o%jB!} ٻ5Fj5 GP@[@yvSG{Z (wS-\|G)>Ȩ<ߐġ1/[B2x,9|&l5Daw!/P5m&,=& PFiǷ֬<{^ڬR%ɓS|7Uv|3vc=Xrʃx[i7NHH+ |45jKs? 6*(%Azi!{'Z>s^Fg@}r/٢`b[K,(PY֌3S} /zł|儰4[v6kQUF* ;"%mp̧?V 6,;<𿧕HG՚ \N5dL݀H7iS3/F";nK\re'̂u{V挥y–nNi_.4dZY_̵ oR am6@[(|~.i1[I$ds?VHy߉Z b3y蒹*ZSg\"JgIe|ΔRp6|E_6Au$m6W5%@nf\S(DB%)'#ܠ+ TNev-e=Kq`SVgKD*M;)ЁzݳYo&oطMlR~ÿW$g-ϐ^U7=yZ(ѵ=G f=38CD{l[ gIL4w ݆~o=++dB/ !AL~c|TF\" SPbekT^frTW\W!+deAGXx~GZQ%@ENrf~"B8Ia)cHnCџ ) e բ{mij3ZvpK@iV*gg nC'yySu"<AMzȊ%ZPƼ Ei$+><;#%*5Wue#eg("Msŗ;j5lbY(js aXNyI+VXL"9]>:!rBrp &Fysx@ksHǾhU&@{8 2CySk% ?~ܶ} 5S%d3\'&bFB!^-e>'(c+Qe8?>駘ɳ4#ExN8NZR6~FԽh޻)w"פNIrSTآ凗d;66.[$`J*Yu>S̓ k-(U#rۖYt_RX8W]7"bÆ{vKi 6.J/%JPKΕe J>s\Tu2-]M}^"O젘i=T4MÎeפ}y.7:GzoJ1so.y'@Q{Aݿ\Gt}K0_ q6nM*'H0K8>0|痃SѴ'Xls@1}w+x>#勎*ss-̓IZ*]Ӗ5&Si>g%X"Fu)2q j8d_5mPa1eިiM"uxCXi9[6^IyN]}&recDJ!7dCS\\rPxe']\m:r v;ӇY^'#YM ̴ >X̲oE\MK^:Jy&| MT+ 5v~'xqT9uҬN5hb]ȾU̶xMp.kq[AۮZWE,ZRڈ(?t# /PJ z`1d$MhXy nBTWFݻ (>Xw 0dvVjʰ$@P Eral$vwd.]F.EýpFy8xw$G } A6c7e&X9VBqۆ+*#5"X &5Y_6=NMaؤG!P@gST5 pTRT{*)h+BY6[-;#7~,+ɮ^*>L<wUXeVSAɳ y/]6;Sq}"PfC[Du+!_zRA+ S}x,/Lj6bߡo0dp׺ 6> /`## wmw)&bzKh4&(~A1:L~ *hUB FDI%jKE~B# ú<ӺgXI:T_Іw'Ofh_+8`ve4IAKN'{D|أa5-|'}[ ж&^ u'UЩ)t.h68(X)_[!N9`ׅsfem> cX_ ZÊ,8Q|, x˹=7#Iѿz]\qޢk<)b\_ROL} 9ϼ_d4آ"i~TqIG5*Fζ6Bq:1WMRv@`ʣgv0i">$xw my%GHEh}<'i.R d| Qc)fss;qXJ)G-U_P{Y2~(X9x86,WƘ;[wBU)#cJzu}A=8 c=*ԉV0[;|]UlR݁eݭ-ipAaZ<>_5 [n)yu#Dž1M˂i&yTh.A|nzD44otN l.aT9ZD՜X+f<{.' цfJ[Dg^Z~w{G=3PT䪰kGsGsJ*MY>}>cJh7=4.I v5xq~Ʉx^xR+_d(Y}3T!:[Z)xşY6Cs [1p/THQÖHۨalAFEmTvw:bv$Z^5TV5*|. qcRXeFElD E rT݁pRTĕv>t,Q,=+bq B1t YX^P\{OK6K4ԥ<.rwPBAs HJ- '~zM ɭ|%BWHb3= sΐ15uZ/lp܎wms0sKڰKgJ)4ֿJrih|IU8i'P XJO;=&<:QsiTG)2CeV1xǯ XZM^!ڃ{%@iʓsGa~k&F#:$>nքa\\UT(Æ_0[Q\'7 lx&L~hvV!%lS?Lיif5g]6ãoEzky3)#y,j!PZ&5v!9hMl kD!phX;p!e#b;,YSlW%"6 Y(! .<:t`F3D QW[(ed4]Pk΅SbR)h+G_Bzşcq@KٸVئugj -v 6wؗvobƇ;9zcx?([uWe-՜@~ >x"$ZH4>5QaƨYݮ_j#W2 j"1L͸_pʲ<xCғcOw ipq\0{1IZdqzM \\âl6/E#0j9)/d i KC ]:8b75$7'%qimi7HlkmQVjZQqל# rŭ&[ką,2BB&uU>P@y JRa(oA&WU񨲳C&nt8F.^UJV5yYi,-}D/ >-K׃ uLEѤGn )v~9&g>n"0$ۧXY\z,o[q76LG_):'*P3G es®1=Pgi00Wީ>Fg(Cl޵&m)2,?A$-ʆ {Q]d3E>P=<|RpA~NnB jmBȾPLxUji~\+5[ͺƘA<@I"!JrqێYECZ9Phj\{~&Mٚ]lDc1:o${]) l.kX2W 0ԯIO t7Tf|z6<5#AMъ|w;7x5V5if6C$ve_eD[xjٍk@CU.A,Z /틃q3ҡc3x-qy1T^rr[ԓE/T%PZ׉kkmWvp=Y2AeL9LO`jDr9 1y+_\)NhՄ-_0*cfr҄\\gh`sZRV^h{ww|!Y0=e4u%9TT$}$]* e>, fn"BRcuIv) ~.OV/MFj$cƃ#E\ڪAEFr.oo-_O02MoujRyYr#gJ@h(F7PtQ8o/;盇s'S,6O,=*ng g~Qκȶ,KI$Mu'" bHC^ q^Nȗ,3 ~wݼtZάB W!y1>%cM{^\0tC>2bBL$z]h}D^ L<αߎSˋ[/ |Јjx^?ptÐn QW,;ٞ1ЃψH@[+S|W6>[ִs.zHra."ԅ0GA8ry? (> c iBfE̻mdmHS e::! zL3N&{a=|;b Q68%G8jV+_) f7?igL,jFnW;*zx ^Jd[n< P|,gL{#L?C*UM߹P3-PHA-K̯<>ww [cxSCp9+Z[9v ( ]m0w-=dF(C_`vഄp0Mjk3Ԅ(!GB32ZmouB";3(i+OK'G舆 Br!J3 BI|B1ɚRjSzGh]90"QV-V+ B ii`M%>;,҈r&痍R gVOt;ҍKw;V}KOhlh3s舤(Mҽd(=5?|7]ڰ]6.ZgGUW\E9 UI3}`;ܘw:mHb|l:bɦ5^DR\[P%t®M Qd>(sGN܌xi/h g*pr1ϗ"Lg]PǖU4`}[W5rwJ6Ւ.dqw`Xۋj=_|FF?4PS}4[Ñ'ScGZwAN G^&a^Z+Qgs`$6b=euOOZC vM^(:^.f")i.XxLr~5vK zQIv/ZDbW :`5N(DQ푒44μ nF’ѼD$`a E2o/t.4 ,~f OlQ$PWAƔYD,bR7hVl[ cJ1B}*ΕIX-OH|c=CLAOkoB)\DoWǞZBF3|ˠeCzHUr<_h vHkxJcjwD`t2xˆҗ;K,A9o>|H:Zܱ)@Kh045;s&ӀOϯVcE:O]位ݘu{]l YS^+58P3䙣klJl?|94w w'NFJ` 擮mħ$s5ʉe{?(_'E캰(:AffAUq0^БQmJZ['߰fPVF~ڵcVn!z8P/Ə+< %*d_M)ӄk) 矩T wxz8պ\ K߸ܙ;j=:>s)=٬@q5{wa;_?_iJC~"sAHF5*TnV(c!tH`P>n$&l\Fy b x[` %b̕"L왇Pc68, I1Y3A`wzqvFpdw#q#kIƝUm7|`pR$7Ep/%b ۸DEU"Wg1sI@DWPywG=aU-c'Mcˑ\QRC[ -34"(1cb4Hm-LHLD #㑍y[$:Xԙ,'[1LSIb_t#0zԇY2E1n{tT'mTQ_Wc^& ߷tF7k>O:Xp AuK<ݱ9(F6O׮g6M-2ZַUdcx&_:Tէ*޿ʍsnN,d()@ctO'o fZ/NP=lDk T`TMe=j]# A ,bkqs=S% |hC|~r͝Bsx246x^k_RG83t g~!]q+OK2Qz)8V7E:62T@f8'7Q*1JP{H6o* [N\V7 TȫŽuh.ZX|-q_ߚ1g+x,k 7H*Ynj\U;AFcT4¢^"_Hc;4Q-i9bo:hUb SakI; 0_]jJQuDۻ%rj\ oI 23B.56)UzDR %G*icӬ9t7~Ic>Xj[/i7|3oC/B@xe $c\X 6hYCQy n4Is1[|E<[ L y(ky)C% br"{btPlyy͚m\mRRNv<"zĝtd:lZZ]rOc+Ga]Z)Lߡ+/,#^0> ɣ~uU^ 3N'K Sϩ(;%4GdЍ(18mg݁[3{%&Q-0K?r/(;G{$pﭽs F/O]n>#>f5&qeTP[ =& 3w< Ź<*9z+^H1&o\!tPme}vlr@c1rK릲}# KST:JE`dA+6DY$ЌBkv,gRV|&40I-sD)y*މ@4U=ciӹ&7`O=-hz@+"02mҁ LsG57|4>O]sAgvY'ӟ`d˓3nUҀo05tg+Σ#k&T ڦX՝-u.LD 9^5:ähX]Z 1 7?8URI/+a 33eG?Ĺ/iQKER"Ҍw}MF 2y'o6cJ=m&mCl3EgV* Z׃e? z$({&I-#0/R3@\zuጿS\w*f*V$H~1x.kI<p6AZd=.͈6*g鑟{PX%iϒ0fZfz?;U#!{aZAѡQDZ+$OT1XДEq)*|Qʿ1"#!⇄V ??ZQJj,oq1]!+jdFPNxm9;r$|t\F. 5Oh±Kܤ,9ExTP @; 7ozDZHSRj)]"c/J컡`Wcrcky)Cr"ZꅲLj\)L?L_ tx<6XrT_f*3.ӫujn4 xp?\"G03*˓xҟ")!g[ ԡ.1+gY}|K؃G"$.a`|okR&もA>r;F({Jq\!@&V>:dկ$Mb?KZj"־L) F&q^qw(D҇o5v&hZcuĪ8_ܢuT(.P݌4rA~yLҲal/>I8;u‘:6 * T{2ǛQ)t8Wg7wex dx/[nVv4됤PU >̷baIf V~ws@)fZ-juIA'i&* )d'ӯ*IMC_z]oFreFv:ȗrbbL*mM+ս&|-37nV&%q`ڋ%%\ \t݃ƫ#MVg2ElrfK@} *^,lX],)$Ѣi]Y]=:7E]淼[Ho?|4䠁Y\ X| TFBil@hȪ8s_)&AnӺă,0V@]B`ss >2-,'~_P‚+ñE"ppPt夝1 p'G֞6J6K>uOTq?)-Tux׬iCʫVPg+ P-[ۺ֝kNݍ=`%{ͧKN.#|*Ht tA)XId)(#[ dE& ($'$` (g h'ba8 RpTΊoC{   i(4F{dam8!c w'jp#&Lx 6o|_#(x?r_EbH 0ޛB.RqXmS ch(`vlEo*aY XW_Gg#iЮuF=7nxR4 :9lK`Vd6;qvn79"߲0?]r $ؘ.a^BQQئپɻKClnxv97`(idR溸#z/gHxZh`xG/@ im nkqh^;19?g&VuW`K&ϪLO3UbّL'3;X6Y 6s{9Ux8/ۆס3(JH9Eع@oc9D9{Uһ?BdiuϓYW-U,<Ė,-kna7 $h cĦ62Wz"݀0]T04v_'V"G ZR牔f5#44&!1aV$)*+.@Rz"ICU83B5 P^mݚO/ t,qVMdENytf({'g)l291|l PxAnFKc C"r _kVoEn!:?Y[5Q'nC}_;QSs͙_:bˏ:u;|6jQh˚ey ʃ* Y+;V4;ttF%Qi*L5.[-2gK}HVsVPGf\>O0&Z?k6ly E)}3M5?"`sL OPĥJp+rG'F6 Mk`ؾ} M|Cg ZV܇a7as.KW>WfFnc \Ix<;-.Α=We Zkq6K{=&PiJЏ?BYS},*?;PT@Ä́JWJzMĬl1> 95Ηz$U%S-[BrPI+7ER6mŖ7U PC:++14-eTrCxj4 >]uxGK4Pz):}C6+ٔ?ܢۺyp%)cS8!ͥlfVޥkVnx.uLxDvC3Y+->Lx5h ($f Q#: _jnw[%eD[A9>fB/ ww<v;_X65&ޠcȮկcfAeN#ٓ@f|*_-9FLHH:(ef^h4KŴn_FyWݻmIfs?O,Ti4h"ؚ2 兖ڜ7dϗޚ}\%,KZG?6! 6<ۦ`Ù>sK5RJׄ~4V$EG3T{!7OS#ҬwlrߦƝp_Vʭ&kFGW <>h`|@o6{YR^TSPAn#^3ȆMME[kJбLIG +O,1uT<#,I9ޕ|!;->;Iƞ63#>en}Py{΃f^V[yG~7oyڮW-ih]ɎΩǮlU'&RzwlF5U+_M$w;:`8k@X}@H^OKǧyg%kAxG`<؆_C~@,:/ؼ@fk?$f$l;\*m5qjIuwHcSj"KfzWNV9qI=¢ @K* v>Lj+m%rm(Jz_LkAcMH]aF [nj5Փ$fvg .uc\rMBFc0KÕ{tˑy U8CD0a/+*ͽY{N{&x}\]Ǚ*epJ&aBOĨBWLIXg*\BBmP GgA:NX w:>];6Rc 7Mj6Reʖ0B.Fd԰&TzFڜ۹YnzshCY%KYyL5!B 9J0 Gʄy4莐* wk|Zbd{ u0mbB"H^vf?65>b [iejo%=R#jI%&Gl$ SLŅion^"H0}:%h&Ѕ"t["iu?ag9w$#Qkd뷂'_ذ2_4GX2AK#:Z2V;Rm:;g0BFӳb s5/cR1YW|~UIҐ{OF~@v>VYS]9m8] %@ۛ:^̌BV ~Q|`p+HyNv0eÚgG/#xvBy5`TFCu |yhʕCfv\{Wf0ylN\;Zױ?N.\)gEnuUrroEtPRGdڥCBK=ה3,Jm\:nx͔0zg2r_*>*+pR]P%8/hugg&gub_a+za| Zr-'"[,f&f6r׏RƲf-еs`0YdSNQ?>7*ׅ%wqh_HcKeڛp^Z7G v6w.e&YKGEr$v+XulM8h n . Cl4S4DFJ (Hj0;4/I~H" t 0it,jdiИm $ナ cIVY=2flۼ!̊.@AΘ -3;\ɡUJLhy }n ,QGg 䗓gfɓ@}`*S &`&^A#]VfrlN ~9˩:G{ }dݲ܈-gMZ2m#3;Q3, Q0J0! -DS,WT339u٣gl;Iaĸ'=Ym(nfL/Q TAE5J3=N½U_%߬[\{Q+gfSHmD ϘPR&F7?TvqQv3p=9F3![Mn-p2`,хWyL™kQԈJX&,|"&QP6t5p,f?ڒ=> Jo4vd7H)jQ/^ ]UJILBROo%t58S1ȍV)P @\QEZEːbhX8uߋ#<"@qG)}VDJZ`OT<4[+d {B&4Dj{nml 5`ױS$@=?c3r3,X]̵Coim9Vrl0x]9vj&mt~`d\}~R&R"Jg.U6E",lbg%iNFPnpi^ <]r"seKg75)Wf\'bޘD@?)bK8ܣF,2C[%zsNX!glwѲqכXT0_5)tN-!mb̯f~Xm5t%v' DÑgşH- sͪ]? &TX<4a0M]շw5؜T/O=]~+㕅f2Ɍ]$aC?3K [>w-:WE?R|\ 1Rٱr1c@ί7pt>]\=$Xk*}B˴71nTꃵЫDh8m&Ej~=!G'F._hivܻ<c~̈́vPyNB"aZڔLh~b-ɑ@eEo.q^5=Bc;-(qB0h(&tx O9~n`kBʙjIF+a\U!w>Fs!vO?~wyJQDsFtIԼPYp&4wi̓7hBc0(GjĽҜ]$&.T+ $Aopn{ |$`{l S%ң:VC4my1 kaYbuzcN D6RU$6X%6L_ ;)򾶃cID2'^WB< MZg/|2rzOlDf>yD7b3Gm0E!ij 5ϲo&V|P-E |` u[$ 5nbgu=[\#HaqHKnQ:#™Zڗ$]C-pدO<~p$(> ;$6&  NB4hwo~5rg ar.W!EAСb(wՅefO江*j$~g:ĩ+2#V!C%1btLg"LSBW*^ӟ eW JIVvi?e>O'gBaխt.긅 KU&1;nlwΒ$8I4;G.$6Oҍaߊ F‰h'E--]x>?t Pdo~dwZ 4>yr~L\L *ļcj^iX,L6;C?|d,ƾTtyaM P93?/UxT/lF vjQ+JbAKA/1:EV|KB1mQG$ iI  䌾263Y9ps+I*[og( yTtXR-([8]H`f,FiF!騍`A{VlP91l Ho3s9i+] Y".`Hѿ;BXfO N9y'5g߸S\m]16*l&0hN個L٫j`uSב>&"gv 6JYOΆ4 (0_k$#9<;5, LcBZr$,i\7* {H&cam#ڃ} ]څLpXc{r/Io,f9kbPMH‹|γ ᖒmُ^*JAoeُjg6`\)~ Q#&2GˊT"}C&Y tKX+ 2v9 WLT#%I=f/Bi'ڐ lf@~2GO=&u FnT[!2n =N?_ m+8uDT\6r1A#GgT` [np5"TF}|+#Je}U[xVAqm6ӘS >2@9WP~UޤbɁnCrQ}EcE#&p+vi[rUF_+} VHK8JpZر,e9_uhqHpt:͈]/t-ɰG? noV$$S~?dFY;2r>Ϧm ޝ8/aFd"Y`bz]biiۓT~ & 4(>Miv'4ɡN#a%Mu̻̇]B{YP`xe6-0 o"1wqvdHIӮ!.Fo!w`KDeNL[!a#Ó([&*AYLiQx-Xv^:n84*9>b{ISmt޼"c'tސF %Njہ3*C=9EAbC {/`YO5`O_вTWXBQJ<FR&+0#<\>GճgPqèq+L'/DxWxj+P _߯sd][R\ŗ1>,7?X) #>h4yuGpʭޗM"6}3ru$2~ŕ)Hz>'0dX2qTvͤ×9k\TD4u"$fSV,(O'XU\ҧ!0#PI*>X+ڦ/ؽS N)_e<;dBﮗ8yHJvLAk7CmO%kpC *&M9QHEuĭ,#(10ߛ4Ӑ8' up]rSM~nȦx=8{ Jz\NjW1nzy]c\~hi"_O,bkdoQvlsXq9 KhNLnjLcR:;D jji\1С o_s0!ФiΑHv>q2`'~e<Ѝ 4yV'4iHIn5 ƀE_{cnyg{f2oE)CE¸o>kִa(~=0(p/2gE3K5 fX8>3.f=rn^{5L_ ̽DN,~k\ N ^@Ժ}&Ĺ@Fm8WAI(u16U"/-2^?q OUXxtN`Ň(:N*pI?Aq[ SuVKWj*-e;A,g:SmjWÆ~`ޓᡁic=bQl&ߞ%Rp|= 5R,/0IҦ_CA-vMA^eC4҉۲40j9C6QL(KLCJ7BwzJujp/f.^k8 ?-\O Fٌ 1v p YZ