libucp-devel-1.9.0-2.11 >  A `p9|,?=r5Fܿu$oa?"ؾY^H7e"cr \kڃVR]lstnvnf _DCٟ ql: A=! 4KZзȡ,g3@mgM<w@KԲK$fm!fu^GnL>Q$7|ZoxL"ӢkVpK`VJ t'06sNMW7ߢ#8e iTz4d8cf2cb347f9b32e60fd62ba90a9a1cae4a113ea85f7c33b6af7094b88f65ea0c913aa76e230000920e6c6efe6a2af45d66f2ed\`p9|t!FvE-*;wWн\G Mnuz!/far{%& ϊ9MOwR"q~0װ8^‰3B:VJC>Ԭv lY ~,Ai,կ*jy ʭ@oU(i痃@ @Hi7; SMQWz%8tUܖ9v-ܴ/.֨GtTesÜn9' PSO4/' nj[4C4>p;?|??ld  W# 9Yms|      /Rp/(Q8X9:DF<G<H<I<X<Y<\=]=$^=ab=c>Ld>e>f>l>u>v>z? ?? ?&?hClibucp-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.)`sheep22>SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Libraries/C and C++http://openucx.org/linuxx86_64dQ\hAA큤```````10113792633c8e7512c5732fe10c4ebcc71b3e41e9608cd2beae387511f8902f18597248f836c8bcb6cf3def4c6054cae811d5f1fe82faf55f88ce66771533a2a8c7959d7ffdb35fcdbfc7bd8b5e8d47cc6960992cec9684cbf425fa989c64cd02e39f8d2716b3ab03ee2dfce478e113ce4ae64854f5da88ed5d593eab2720eclibucp.so.0.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootopenucx-1.9.0-2.11.src.rpmlibucp-devellibucp-devel(x86-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)sheep22 16200861851.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-openucxcpioxz5x86_64-suse-linuxdirectoryC source, ASCII textASCII textEmZP5mutf-899300f8fd38952c2c5e03dc12c3ec224f881ad2056ee7bb0d3e68a0c60052e62?P7zXZ !t/C3z] crt:bLL n_EDf[JUjRʽ߸ԩ5lgYWȰӖkp?kv̾vԭ$YK 1̂A%\`KeApe&h \*Q(ʚ=Y/VXIa}`j /VR=UPD|gxh ]^@T3DdiSNcڽƦ+_ hmIhnhΔ(V|E+Nz<ӮJ|P&Dfc!-( ԏOzmKgwBѦf @И㔔;nwSey(74<&^xv6 ~YK1gyyژ`Q"5([ʖnW=nxbn*RCW3 j ¹#>4"-!  _m< z<3;&Q~; yE?aem0]J6c.+?dvRZ}%?a*Rf`223U|y'Wmr= Ẇ2WC6Y莭J3SwlQ9萿 ӼuxGz=Sjzi p laMlWjT룬|bI$$_5K?-XZ-=9]D߄OhfCpy, gt0&ѷ,{]`rv汛!Ix_HpYãӆ2sLjc݅M:jǺ7Sx:?iӟHI-Bb?7\L_` pv] ~ ,)HBFJd^ vAf}%T;K yXqNˁ\lu'C[ѴO}g-N Xdцb9h<>PZ vgP. y?2hh£Cy^+K6;/9!O_܌N{a.*o[-X]<릥 =Y0+g셴AzJ/szSpp""`Nt$SFOs /.?X; (Wꔀexy𠲅KbdGy.j۪Aw6oM1wSV{ Ub+7]Y\T h]Bá1/*{L׈3ff!#'q ѳQ1{ auVp08 s}ĕk lT/~sEYGop]ۣtƃ5\{f#T'FUT_\ieD ^j,N`iI-< '3HNףLa ezRQ"ȸTP$%= D݂;H,|){3a ք2wH9o 7\3XY鍶N\ILTۏߕV.5/*v}ԿD(269>Ҙ;qJj`/n~M*As:s(PdՊ\dzd w)/ ]T\|pHEӵi);>%|]l!B:6m{Òh0SdšĿG߸cRLEXAE=>GPeIjfL sA(S7-,T}jbFT?6C(-+-Y#*^Rrbގ*`Y9'vcgd%w1} 0|c֗lFRܺ4zrD t &Yy1koEDV4 8}>e~a2$-$ -_Y)ADv ɞ=3cCTA.Y ^9w#ޕK ʤsau^}mL@UZi9գˑGK>)"q*|UAC/JͮưWmu|F\Un8$lLCFU: 1Ϙ"5~J}[d 7xI"#Gnj;|H |0NK8ҏԌrK{hBE,m@Ԗc +n6?ݰJ.Ch5V̔qf&9i )9Js\`7zg.|~ά^+XDTvm@`)d~.a!k\~W\;<//6۳Z\ 4)Qf䲉RU8);N<$į8'>" >{8|qu1ݜ !>IMacOUԒLk ;,>h>#8#0鹖(iz\c ӆTB@Ѫr9 C([^^ /_s^']oJL2\UϱXg@)>$=337uBDK4[{j嗷>H{WaQCoJA mOf&7M~LOewql踨}f`B4yMp&Y|EBWZ'!l`$D̟ow</v*)*7{F*8D xqپu8G&5U2?YNƙ:6|PiJ+tb&Bx|Mf)9HqyR07htmS#f p k 6I|wiGR W7rSHK ASLG<rg-UZ,]%j4en`Af["f\%>x0!]u6`f揸ujϰধӃ[=͡LVuHS_2N[x!FHGpJXtJf#ÚOmR/.}=78ztsk3㿚D p' .pu{n 'Y~+I%ϒemi@,$\! 0AE7^?uƸݒAR^Ig}TґG/Ĭc9Q`&Evᵧg0~zh^MG96Gv/-]Tfگv cm^V()c`]ܗӥ^F;]:~#T6$UNu2_Lm y`soG‰6s[uqW^|alk*Y!O^2<5U!9#p,7H>ҘIX~nipt vs^mAT0t1pj{:"p2c>-ZMO]E$i* y1|Gm}(Z4 EF>|(9sW1IT4 uxH*@K ..LWg.|pjp rִեev 9vi.ʔlq H b!]mqU{3[t iq2uN5Dnj&kXY;ReSwf5K;EX<@%5sPe>nqpWR-3f׾d}|+Q%ADbWS&4nvZɫ~hxLꚥ4p`;%ը&wq@bQk^HrbXxN:2zՖWIi1Td#BDI՗UU)nd ,j총4 W0;g9ϥ@w^j,Rh<%'#\=V`^6J߹$WwKc[V;B, < e(ׅ ИJ޾'7w CNy`é}?>#>GSK fKI6E`<7 93 5_%×# 4e$Gs%l!S m%͋d~(Di`R%Z B-t6B9+!S| iϵSY%|K0-ĝW pSiJ9s\Z%j!bk 3'K\' 9!cO}z04-\fn;Q >QFMOZ-j[ >NC&KLodLL1 M!yneX ^J''p59ʳ}ŵ~hYUUV^ Z[f]LAnA; $em0cGIL2UA~a>jvOV+, eNo1>H\mwPnEђ#(ꔪ[:9ġ½P)gNUp>GL( 2:hitgW8܉<\)ڔ.o¼m3B$c*,pLp/yIm=y"p-qP&\|</0OC:C"w Ũ5:Bʕi @|yVXF r,1&pl)BU$ [OS3Y~5OyH 1jG@M4|* ߩ5Q;W۝ f<25㥱SG6(%8$W7PDL4;Jt?&"m+x H׿zKT]{F?Zhbdמ# {8qy EI=JQ}چ.O䍒qw)PUK b!!,䝫@, <5*{֏$8J.5h N"^^7ZAV!6[DC [8 !ýxbrAv YV٬ۥ-#\"N;ou/-Mu=-Nk$F"Аgiu#U(r |9zc,|vyD2HUq w"^V hzkR[PE`x|!`w:]A5,Ƕ.hE)pڝ@8|laLQiOUգDߌ 6q S% oƄ]jyV1l08-1(}y\8vqF*w/85#:|z3Y^J@%t& x-nbz!HxTf~IEim<@EuN@?{GOh1H4;m DP2`xbR @fKS2ӤK<5Cjr'Ε VKteΒN zS7ct$Q'֯ 6w ysI|f)iv#GBǙF[5&GV4!ǠRg%G|"-N(m.\_rqT,7 Yj $Tc:rSI;P;no,vmJ;S514V:Bx=[4a$\|z1DzZrֈ(BX]NѸmQV6^LxdkqM* K-bs;EsRσvV("wBt2W#p 5`nu]xaQW 4y3ې ͷOi't! d#]V%@cx/NkHwWD]Ycce]T|wHbQhfzo("F]dulpQTrsg ~3rq#W߬,BLԱd^ L¦lJ’K緷ģQ :`oقd >Ag^%dXO.\Zc7CPł'[ e:u T27Lm^ba9f;JnZͼ![3|#R>¥DxĪLòO(oLc SԲLҌyVpu/2,K.r餘2y?aRv=DnthUC',;1bjշUR@NZC,[Xmbv0&_fhabW $K<:>'f\S>Jfrf7Lq]tTl\FT(0}9 V'\:"T JNWjX >~TYl yɺɁ44Ma9lU1G91艮D4BW:;f5xJ*75}~'W7|Wx®;,oU,ڄKte!q54l_5| SyF|lC 2,})0ne[c/4,[5j).tƏb}S9;q`?Yz@(..K@c}Y'^( ,l&7z贰ŬhI!LgAxNr3F ]Gpud&/V ӝ凕*OOe67gtѢ>g{fy̓_ "6l0644@gpNhPك*yL,td?5dَV׶awM r#vyHI{: 3|r §BأX3L6ST/ .&L>L=M9!y,ul$?. /S0׵8z|Yd_ʼn9vsN1.t! [݌7&.d^xg=o[,vxˈ?h5fHNy+YxQ|dՠR85Jaz,G'E (.-^t@TRgkƅX5iŅ'E s _uRKVñg->.a~6:Ͳbqo?}ecCWz?;t8x Pe6!o_s7 e3Pl|#Wn7aԎ'ec~l[ v`Wq}s$UZWԾ -~XC^.IϿJ_:GCZ| uX53WO*yuJج0rԀ™|맥j%Gs*\nE|=_$!+5TN1ZU''[wY1t ܇1xg6^(ňHm0l~hicY$I`>z&Z(j܃(A|$tQs3 뜻p$V=ꉚ1o{h.L$ZG/~齐0k NtU.X*sD+8{`dX %@132Z,*_TE^8JpWg-9٤ͻՐC^^ʵ_$Z2Jy\B-zPfAwN ʺ5L(4 ˦qM}~@w Zj=u}?bÐB&>zFʦ;炮Թ&9ɑڃ矇":XF%@e$232c, ??dřF$=fϵGb | ˺֢)M*{PA".Q!T: &M1RmN*K<YH-Q* :aG$IgwHᕩIWk`e{i=# |Bԑsح@i@[_0OcOC?a zU jkC  ʥX~7׺MtEtfTs*b`rҞ_zcӌJ=/@ N;+QhfrS ШˊPr II_Ltմz[Y?Rh^C[x+֜N#_3S^Is-G^^ `Lñ?^I"D9$V:4}l4gR&u61UԎ\C*I:e<": :Л79F9(r͜ PuDWz!<\e}eccVКtA6L,V]?JLQ3v% "w7Ǥ‚?C-TemCL| )I'HA<ĝ5*]Tڵ5ycCO@ApPp>G*UH-n^.;^hN=֢D5e ybRR*)ߏ‘+ME,vS1ϔfyѮs+XAN#Ě#wwlE=錒1o4%4Q(w.Y8zj!jZȰ,uJK@F(7F d6?Qe5A^%J@BFBo-Gn}%ฅ3whǿeI?*S3vħ65ߎڨ.9]i8K#cp}t1}{#E(h=$%4ԵT l'BSyRPIKQXێM 7~ }NlYHMT#;F(ڑ#ܶ.}Y~ [P}{dAMXQHLK:yAxOFI rL~.! g)*b*L&Ǻ&&T=$#3-ɒמvXrs_CVt~Cii~]7mխd$PqJ]:'D\Dg̘\}K+l\\%*__@^-s88$}$:u0ʉE$vrXzɾ6FtVEMufGyiup:G!ifTz|H3 iv"r +l4DVԬ(%3젳@;`^ A0!:n5T޺;i*8",? q+So$ b2x6i0-w(p&lK|, ܹ#)B፭q=uUOEIxa-$kKld)$ >RU s!Vp݈PJz)q+)R(@ՑiC:MP#HmQ|v\8`h@[QU1_Ee /@+U6=.󷲺c]{`TypVbf*V@찟Vݠq19,g5*\_5_#@NE8h(!dAٮj7w6qZAW҉̾rYޠ9>gR ?ϖ;/02Ài8:mؿd棸iI5q} 7H;UX M9ή\ wO7V2ZGGT*$f`tp>nR0Nc{[ILal⭐~|&J^@ȇ>]xĠ9~_#hz)[Hxᑓc$& N/[T7QϠdpAW^&~D؏uK-;i!4+`S]?f;]Q}䨔=sPϥIz 6k.Fc^ w9ua]禮۳JK w JH,"+++ڈ0|HTBuwWy25~Ԯo6.!  2@4hg`lmN`uZi>QCNYH|8p[&F]=Bb􈙬 t4[+*цsvo=A[w%{.+X9p !yT6҈5ZJE$CpLݏp 7Z6!YdS1]+ͤkjGm&ovwp7'o5$'fGa ȗV,U1Mb+1J.-l× gM^ԹЖUp4A<#KR\N{{|[ɷM-Y pSȬ c旚]G \٣QQ@M=11`͛dzD?ru[Rci=W.|1_:0āLA;TJ:끵iks ;N'OgL):^vCB"HlD.zHz_ujs:52QŮDBA#?,9.F@#auQk@%$psMĦ]'Dv8m>SpY@EÆu$˜!q5NRE1%QJCli@ ?T^~UL,:΂k#57h1VވeDb6裁StUqh$Β=ٮ;/3C =El^/[@sa !;m1`\ >,-;Teͽ6j6Ga|ί'U*N"hUS+ۋ H0<՚Wm![;>fq'9ﬔST )]6].wnւI#x/eO?{ӝ0qnsG]Pf-'!kX)~W`WLͼXfPVmi*dQ08{j̛ƺX9 xb@rFxR^G1h*ϕt <ĕѩ,6wTgl[6@EFϟT_pg2w{ Ƃ#EAU8Vzҕ;|G3XT;W5$eVrtN_'^ofc_OxJUO\K(/0)^6T9+kjT`LOTm÷}svQ6vfaܮͯ ֢@s-&BtJz(?`ط+W;B冸EYɖ|[~IJI\D^ />ÞqzA+"> "d]z$OP䬁9͘Z5QK߮φggk,<32H7 (jgI2JoluA7XrjIa\63LfZc$(S# @!>ԛ?+wg"'2vWN vOԾ> ۭ ..`duRtdw4vՠ $tr-pY p!,Ř;U ђQ}T#"|dPf¢(3rbl/gY oXIوedž⹌=e4A 5mTN0vFf諡_E@*]ݛ{W٬9TUm ҝeTeu|)N%GaFgwrlc ݚA㈋}ִ(YTo;p.:xRZ) Ӯ3;ʘeA쾂da0Ң@a)(Vۂĝ/Am$;l1ܪ:,繪t;!15ݫf%92豍 hF섲R4bzJ*"Fsm<7 OUٍ DW h{kNଉA-ƖuO> >ǰQzD۪U3ULTgNOByy 㥷ޤշB2Dcwܹȶn8&N^9;mVx ҊԸ0) Wؗ)&/'k9? ||ZcuIR̽lBὪA %zmaط&9;3^w[Ze=O^ Iw ThQb&=(͗Z <C$-v8櫰ш&"Y4c*XbR")>5|SH:\F*/,C0 P.`G=$x\@Jץğ\25$g/RͩX__JB4C WT`;?;/THy\p^xXˏc+ ޾Vw:I$w>9% 4d ή|#@[l(s9;^+a^AHdY]$0O-랻!r0~S52%%*bMmMU "Tmdk(Mu Wm͈wJ? 3yJNBTD#6 D(GV)fAkV+` S%T"w{kRT PFl7>R4jBԃ3̹Ӛޥ0eN3\8? G^YGlD9P[LXÔ]@];~s˂^j^mR;I?Dcp7I-S/jIASxa;šr-k\jşŏ|CAkx3 .fܟӰ5JpnFc=yC((-čX,mf Hynl&fGVVtvb<5{ Kq˿p)`Xȑ!U /'a|| #xW}q$ nVO4]wY|ғp O%K4eGSɡD/'!LwPqsg:ɞWw3/1:iLMʠ1m/& !c7^(!T ƙ <07,1Sma[{rn7w|12NƷBXUz.ݞ~ĨD61o٨Ga^]A5E7ɺ<9cW$7&8Zl/<6r3* ćIB;MF`IS4R6bۼbvhs~緬s^z] {)/dG_PνA G i?O*7QZj%$%1WO}DP' zS2srm~v7RѠט}Aɕ7r['[Zc]^<>gVH-8Ky\-AzbW}1yᘕ9V~t^UHĠO%p Fe*_qM3))@в.< \'s \s90-xMg0߂[7mkX`1m@@ @*-I%>NC'.K,n{uf /ۈ#n WB[yyu撀2HjEhy[?}OE a&/(2a4S ,N /[*n6Hطs5CPs?>VriOnIV} [jo>k 2դmؠSuc+Zk1A+=k"' xD*jM6":'_0Xۆ_w@!or Ētځ"b'Ituoir@HpY)vHǕɬkD5_@%ТOlƺ_MG}`Yڗ`.=!s-6.WIigAZ:z1HX6dr+]`bw*xlI+,SA\ DL^ٌI7*O8uyx*+?UL]޻I6Dѥ_ Ǖ9mla}&v -bi~=-YiӰ#w\U-񩧾kZe!ȿQyx\M2?$ GСB*9udjNwo V֍7[ƪ3)ttn8&sVJpXu2|9p!6д<BMYT\Ocl\ ?ۮMt9ȕvIN#9ae2g'"|z5US sM8 >vB!6qn\vnh}qcpDrwl)$^9{ÝBKLO>kxyR'Bq͆K߽D'N[1#ň:D=R&;+$:Hf*[~~z_ȡu4%*'VzL[ 4O&Xl/0-~YO<٢~"E*8最7:׎uҏx|f4 hiѾGf-%dc'>7csڸ}NCNXMK:ƠF}gGx/;I7yFZRZ;%SN$0vl6ZPBr 1Ug :Ѳ[J-Ї( ɸt pƌߚ\E17ɪ߆| T ])tpF/croB O4x#ʪPz'AޢP{ %ڸ3M`t}WX 0ӈL=Mb̯=2gr)U-=4KLRWIڔ? -|Ϋ)Ɔttgg7Gcpnͺqy]e:?~}+XjASNT1nyyz ĐL20uI-&^Cl+1#Փ8oX1%UM4 Q,GX|l4Bh I?k5{A}0V9L(E.lp:ކFo+mƢtߓǖ.^rG[9fҦA[f!X6qK[]n03|X֓ԘY$Hs1O7}GweBV*^~<< 9-}Nnɷ)y-<$x!wJs=ySZ ̨XPX  װg$\>BtPKR:Wh50jOuYďdH6㟔ra7c/1(ĒJc#00&!Nʱ(}5-we]Seծx MWRwdg,P/( 'C2swݾؾUe?sY5JF`ոL **u'wa3K.A]_M3{PO"D\]U 20p|JKTͽ13rLa]ä,@ [O jV$$wZj=Q`qڰ,q_T?ZvX.چ7+RX:lYw!B'5Ev65R7GORj7DUE9݉d/ro :s{h9qxbm?e)#1#U˦=zI5`'' jq+FKl s2e:(q7)_<LBc W)2Ԉl :Lu l^[{> m$\&V_zͲ@mSN:ݾK̓"L;ۈg?}p0W~ҳV^>ͩYb[7/")fCXKNCS8VL;)V%ZZ)u`bx~Q}׉ԑ6?~5%iȅ2L&1[I/`l&CșUmӼ;u4_-*D=ǎp8EXi~&l&2z55te`{#ó7cY?0#cԑLGT-`@*ȹNl}'?!#|SU 8 `姣%tߒ^f~yx %ʰX3xp;g0Sے/s[Hn_9ž?רzs h#RT_5^̇oG潄0T@ק7Uh@YjWHOKŇ|O86'yІjjUdG|0Q%v 5o0hԂ9߯)MF&Am*ZW4v)W5~%>#S HΥILd(E7|Ї/5UVL=(0*ڽАi-l{K xA8QBp[ =,(*7g^F{h\MB&QDVS̃[Np;IײxdQc?Cg=4'S x:>vfE΁n ou&*^^XH&h{Ifj@̫bbƹL'}{c &D!ǕH߲5oI*δ)Q4+dc5% s.4J)S맆duGÛ/Vއ^#P(pةýZp!z76 VFBhM!,1T7;w{-ї{L^)h)8~Bv^X [^=- XdG]Esf!`Б ōZM+HEx["㿘l?zc Lf8Lu {D/ҷD̓ˈ);않[xDS_RhkR5Qh5!}i/pzTxZQ_ƒvܙuFdۮ.q~:ZҮZ1a/vRΗ =}/qUgOGJH3:G*S۱0C%D~3r-K̖x7qyF-8X%; ; #6Wp2aw]D5 ףQ}9>bw٘4̈́H* B+|}:č"(^YX0 ɐ߯^m&B%C۽Ccنewu27u7(m߿Bf_'ӱkEYP<(߲^2zltU,Bu{![SO<խvjb+Q.$Q럞ܢ?eXM,r+H3LBSMgZt)GBJmW[UR@{ޗ)fqoJAt6ɝδVRoLN#8M|iJxU~Ύ,0 dʴ VA@@RyXEުV7Yob jI1{3+6N),=$jZ"520(\KK1fqZơG''պjA|RlT+Ć-;.,ԉīvBc6Ő*( SLWWfG7`P'߳~S~+Qlh-mt+aZWoٙ7tdiE:OjLS,րOY9ux!b ~٠pM{[ap~Bؔ5TN7-%/* TAg>\_zۊOԓv+|kGfvOٓ.lI_5aj5{ _F'~;[7_?8aI ~d8NgαNC{ c F` em6`T1=ݲЏ{ & :(a K5q7..sL.5苿:uu1 z 2`Wp#;@C j@ OfdgMpVM|9yUx.| (toΐ`S*U|.{^&RUn:I=_Ő@_`yU*3֦f"+3Gנs[79Z(54'˞2֟W8 yN}b# JW|ZP%Կ YaecZX_y %QbºSC~^_ŬtU=jE*[p{^SOg<>"Pv|,CU;*lC$XP[;>Ai1lz &;@¿"0?j4=O|f(Zv~:!Ǟ[}nvx!h'ŻCaS֚\L[=AI:BE~,Q;ЁT.dE3*@*́ZUb3u%Kȱk,mEHj![.7zAP4GPYB!n2V\JUL/X(ek&B5m1V~rP?#vIdl񔰕0w)j/Q$- LrJO{cjd;Q"{Gf`%X~2Tn2oء}/4Xj7C0\dG +=3tm7!a[ iT$D>-$.o9Db~S]O|e%_J5ߤZRqmXQpe;eڔt Zw<;DLbFJN;Z/'$RUzbU5vFj֥!_]sRAO#/ϬdoCdZzL8Rh`,? a4 ;X`N%ǜ($?jgb賺qEo׾MG-Y>E=&)t}SQx6we.MO|JgNʚy Uښu3$Lyn+1X'R78ȼcΊ/XHbO+.tS2ע/<2{$(Y+~q|/j' 6ۢ&Q'c^K؋AnXh*-7恑j3Gԩb)kΙu"zR>?;DaSE1,M҅2 f'1Ohh&D^<$ab%u?x7k\Mgy@JG^Oxx7ٖVԄO/S%^OTlbG-I T'QMSxcG/(xP>:mC$Q&>4!s.TC)\ W7 (r( X& dCoJomyڔ/tlʂϑKɴ(9J ~VŰ>%%T*O[Q?W)@61bYx*вáuל mk=FBEf>D(3If(kzf㓬S]yev6sJ_SQ5x]2"2g hs}qwm^e$+rE ~nSc7ƋJ:O,cҿ4m,s 95u9_#3ۿaVMO.tH-2|N)Q'g w7J&xwF%Q SJ3l@&8]c<|>gk<*g#2pW8hwn$)?!;\l Jw/*ĥP\-n̷gAP im=ߜΙ[z"׌Z C=%%9]_:V Ha+?xOftͮ-eQC~fn4j8+n<$DwQuv'-igjZ .7 n|26w"s3rEܥtDrm]Ρv^Jze&D@_J$!}҃is)N)"%P2%iS C.X=4a-ץEz6)&o :Aʺ "5|8\Z4U|\9hN!-_N_!oL*M'QVbOCLV1p "B= R|ϷUe{={f Nߦ\+lIw~ ]DiQztx'+^$=Tk،3 '#o ks iog'0FvjB@Tߊ.mƬO'F'}ٖiH+6щjN}AU1rѤԶ 0+Թ?kZ^z@6Q ( [ /y}6.&lJ\dmg&]|Ru|Y7q\VhI<{){x‚FeϚ{wGtin uI}t+Mc蕷&$-hr>%_f`y]&"!A26cע? I7g T)\B;r\?&`qLr֣%2kE," t|v'5%"UvA) .^1eKVA;E l\#sg$aPT4_wښj q¯~P7&$ vrMD3$ˋq" X\Mgރߛ2T2Fex3b5 qd\!~c2OXZi}M /+V4baY5G|yLhgo./Y! t[=2d=9hf9~h hf}8Pd)2LMޤ J곱|2"H*с>))z68i|*[PBWqF . ǵR50eKY}qbfMVvmx?}29@\w4 M3BgE#RD75mM -v<%YUp @*l;N/zVTT4y=8.^LWwO-8ɃC<=^JZuHWsN%(\OM"17lBe[!6|w憎qFg*8=&34o 53 eHdMdW9^gU ΩyTF (V[bNOh)aNt*z,sggCI=BŚ[(05&J5*EסtJ>lI)>"Aߤx9ßS];ɚa&2;ܑ;ĹȀϽz+>hqwӒĕi@iUwec$; "c9Yigi4[Njlw3GxJqF;~!6fHka=ԆOL~Ʒ&kp{6NjzܣAW `h ODqBlAx*`:~Ar} [ԎSık $)ێus)B`$1JZCȉ Ch|i9fHa$r)qV ճS:@%n@!+}G~LCm rbymG!2VVOVLӬtMa鎅w˨Z0-V"i "SdErR.EdE7&zh;-T .kkVNjʻ!wd4&9B^2I,N!=MESPQ7Y;)=Q@R$=Ok&=mmi 5E3,n^Rc;ܽq~쮎RFt9^Xv[-n&g w+%+A|,qwKy9oFe,m`^=ܗ)VʺJ7@kk;jjPެHyE{3>rr۬_Q8Aʼ&+ᗍ.Sbo7ʘ;+v ~"Ai1x;&i%f@03{Y[e} <(=: xy`x3$.J9O5\wDpqwX4G/Ug@'ZyYzuƣg k73Z,dTgla^4i5) !$IjwKDI Ѵ\ aa%̭Bcml޶S!̛df_vC0>u9a\`臫 5?/lq4WX)}d5C>lͤf2x"]u h0?Po]<D )jmt©N*Q[Zr Iۡ"^\ 33df=o[ڢ1n1ͤzilE}Ԏ= r˺>CR#pxXIbZ̑}.pD2+fsQS(@җt(Ry~ NzLA ]}KSk["9>lf)rCe*la{%%kpu(A3hwn`]sԩ!刾d:4 $LV?ʼ!l b#5<FUrXYf]rh #jV )"}t zo=`1&dk:=XP~NN*4.' ݭ@;AEeɒIMTkۈ>GEfGG|IԂ]k)'T)7~- } ozX;>T]Vj!`lLa-5Njs:~С <)3tD.szkW9L청Y9ݽ.Ϩ)yxX xR*!;TBdI6rɏ3f)PUDVpR I`xF5&C%ᶨQ^nczltOP2S:p1c_{fHw<]ν@ T3Of4ߌÌĄy"ab)1ª>