libbpf1-1.2.2-150600.3.3.1<>,fL_Fp9|͒HB1@Hư!?R5egzLn0'cbZŀ2iٷ@o=46z"ģz]Q~HgΑIákCv/)bXyKL '׳`G&6R}B>JEk0mMՖ~:6i[QbD>@D?Dd   K ;ALT X \ d  /([8d9: g>@f@@uF@G@H@I@X@YA \AH]AP^AlbAxcB!dBeBfBlBuBvBwC\xCdyCl6zDDDTDXD^DClibbpf11.2.2150600.3.3.1C library for managing eBPF programs and mapslibbpf is a C library which provides API for managing eBPF programs and maps.fL_Fh01-armsrv1 SUSE Linux Enterprise 15SUSE LLC LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxaarch64 fL_FfL_Fe75966b7b0e3873b8a65b7567a2b1be004b838fc710669e746eb3a92d754a55clibbpf.so.1.2.2rootrootrootrootlibbpf-1.2.2-150600.3.3.1.src.rpmlibbpf.so.1()(64bit)libbpf.so.1(LIBBPF_0.0.1)(64bit)libbpf.so.1(LIBBPF_0.0.2)(64bit)libbpf.so.1(LIBBPF_0.0.3)(64bit)libbpf.so.1(LIBBPF_0.0.4)(64bit)libbpf.so.1(LIBBPF_0.0.5)(64bit)libbpf.so.1(LIBBPF_0.0.6)(64bit)libbpf.so.1(LIBBPF_0.0.7)(64bit)libbpf.so.1(LIBBPF_0.0.8)(64bit)libbpf.so.1(LIBBPF_0.0.9)(64bit)libbpf.so.1(LIBBPF_0.1.0)(64bit)libbpf.so.1(LIBBPF_0.2.0)(64bit)libbpf.so.1(LIBBPF_0.3.0)(64bit)libbpf.so.1(LIBBPF_0.4.0)(64bit)libbpf.so.1(LIBBPF_0.5.0)(64bit)libbpf.so.1(LIBBPF_0.6.0)(64bit)libbpf.so.1(LIBBPF_0.7.0)(64bit)libbpf.so.1(LIBBPF_0.8.0)(64bit)libbpf.so.1(LIBBPF_1.0.0)(64bit)libbpf.so.1(LIBBPF_1.1.0)(64bit)libbpf.so.1(LIBBPF_1.2.0)(64bit)libbpf1libbpf1(aarch-64)@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfigld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.22)(64bit)libc.so.6(GLIBC_2.28)(64bit)libc.so.6(GLIBC_2.38)(64bit)libelf.so.1()(64bit)libelf.so.1(ELFUTILS_1.0)(64bit)libelf.so.1(ELFUTILS_1.3)(64bit)libelf.so.1(ELFUTILS_1.5)(64bit)libelf.so.1(ELFUTILS_1.6)(64bit)libz.so.1()(64bit)libz.so.1(ZLIB_1.2.3.3)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3fLd8dP@ccFcjDc< @bc@b1@b)@b%b!@aaQ@a(a@a@`@^(@^6^r]?shung-hsi.yu@suse.comshung-hsi.yu@suse.comdmueller@suse.comshung-hsi.yu@suse.comdmueller@suse.comshung-hsi.yu@suse.comdmueller@suse.comgmbr3@opensuse.orgshung-hsi.yu@suse.comjeffm@suse.comjengelh@inai.dejengelh@inai.dejengelh@inai.deshung-hsi.yu@suse.commsuchanek@suse.commsuchanek@suse.comgmbr3@opensuse.orgmsuchanek@suse.commrostecki@suse.commrostecki@opensuse.orgtchvatal@suse.commrostecki@opensuse.org- Fix null pointer dereference in bpf_object__collect_prog_relos() (bsc#1221101) * Add libbpf-Fix-NULL-pointer-dereference-in-bpf_object__c.patch- update to v1.2.2: * fix a regression in perf tool caused by libbpf resetting its custom catch-all SEC() handler on explicit bpf_program__set_type() call * fix possible double-free in USDT-related libbpf code, which happens when libbpf runs out of space in __bpf_usdt_specs map due to having too many unique USDT specs- update to 1.2.0: * completely overhauled "Libbpf overview" landing documentation page; * support for BPF link-based `struct_ops` programs: * `SEC(".struct_ops.link")` annotations; * `bpf_map__attach_struct_ops()` attach API; * `bpf_link__update_map()` link update API; * support sleepable `SEC("struct_ops.s")` programs * improved thread-safety of libbpf print callbacks and `libbpf_set_print()` * improve handling and reporting of missing BPF kfuncs * `bpf_{btf,link,map,prog}_get_info_by_fd()` APIs * `bpf_xdp_query_opts()` supports fetching XDP/XSK supported features; * `perf_buffer__new()` allows customizing notification/sampling period now; * BPF verifier logging improvements: * pass-through BPF verifier log level and flags to kernel as is * support `log_true_size` for getting required log buffer size to fit BPF verifier log completely; * allow precise control over kprobe/uprobe attach mode: legacy, perf-based, link-based. * fix legacy kprobe events names sanitization; * fix clobbering errno in some cases; * fix BPF map's `BPF_F_MMAPABLE` flag sanitization; * fix BPF-side USDT support code on s390x architecture; * fix `BPF_PROBE_READ{_STR}_INTO()` on s390x architecture; * fix kernel version setting for Debian kernels; * fix netlink protocol handling in some cases; * improve robustness of attaching to legacy kprobes and uprobes; * fix double-free during static linking empty ELF sections; * a bunch of other small fixes here and there.- Remove requirement of linux-glibc-devel >= 5.16 for devel package- update to v1.1.0: User space-side features and APIs: * user-space ring buffer (BPF_MAP_TYPE_USER_RINGBUF) support; * new documentation page listing all recognized SEC() definitions; * BTF dedup improvements: * unambiguous fwd declaration resolution for structs and unions; * better handling of some corner cases with identical structs and arrays; * mixed enum and enum64 forward declaration resolution logic; * bpf_{link,btf,pro,mapg}_get_fd_by_id_opts() and bpf_get_fd_by_id_opts() APIs; * libbpf supports loading raw BTF for BPF CO-RE from known search paths; * support for new cgroup local storage (BPF_MAP_TYPE_CGRP_STORAGE); * libbpf will only add BPF_F_MMAPABLE flag for data maps with global (i.e., non-static) vars; * latest Linux UAPI headers with lots of changes synced into include/uapi/linux. BPF-side features and APIs; * BPF_PROG2() macro added that supports struct-by-value arguments; * new BPF helpers: * bpf_user_ringbuf_drain(); * cgrp_storage_get() and cgrp_storage_delete(). Bug fixes * better handling of padding corner cases; * btf__align_of() determines packed structs better now; * improved handling of enums of non-standard sizes; * USDT spec parsing improvements; * overflow handling fixes for ringbufs; * Makefile fixes to support cross-compilation for 32-bit targets; * fix crash if SEC("freplace") programs don't have attach_prog_fd set; * better handling of file existence checks when running as non-root with enhanced capabilities; * a bunch of small fixes: * ELF handling improvements; * fix memory leak in USDT argument parsing logic; * fix NULL dereferences in few corner cases; * improved netlink attribute iteration handling. - drop libbpf-Use-elf_getshdrnum-instead-of-e_shnum.patch, libbpf-Fix-use-after-free-in-btf_dump_name_dups.patch, libbpf-Fix-memory-leak-in-parse_usdt_arg.patch libbpf-Fix-null-pointer-dereference-in-find_prog_by_.patch (upstream)- Fix out-of-bound heap write (boo#1194248 boo#1194249 CVE-2021-45940 CVE-2021-45941) + libbpf-Use-elf_getshdrnum-instead-of-e_shnum.patch - Fix use-after-free in btf_dump_name_dups (boo#1204391 CVE-2022-3534) + libbpf-Fix-use-after-free-in-btf_dump_name_dups.patch - Fix memory leak in parse_usdt_arg() (boo#1204393 CVE-2022-3533) + libbpf-Fix-memory-leak-in-parse_usdt_arg.patch - Fix null pointer dereference in find_prog_by_sec_insn() (boo#1204502 CVE-2022-3606) + libbpf-Fix-null-pointer-dereference-in-find_prog_by_.patch- update to 1.0.1: * fix inadvertently changed struct bpf_object_open_opts memory layout; * fix btf.h header relying on struct enum64 type defined in kernel UAPI headers; * fix NULL pointer exception in API btf_dump__dump_type_data; * remove struct btf_map_def accidentally left in bpf_helpers.h header. * All deprecated APIs and features removed! * support for syscall-specific kprobe/kretprobe (SEC("ksyscall/") and SEC("kretsyscall/")); * support for sleepable uprobe BPF programs (SEC("uprobe.s")); * support for per-cgroup LSM BPF programs (SEC("lsm_cgroup")); * support for new BPF CO-RE relocation TYPE_MATCHES; * bpf_prog_load() and bpf_map_create() are now smarter about handling program and map name on old kernels (it will be ignored if kernel doesn't support names); * BTF_KIND_ENUM64 support; * increase tracing attachment (kprobe/uprobe/tracepoint) robustness by using tracefs or debugfs, whichever is mounted; * new APIs for converting BPF enums to their string representation: * libbpf_bpf_prog_type_str(); * libbpf_bpf_map_type_str(); * libbpf_bpf_link_type_str(); * libbpf_bpf_attach_type_str(); * bpf_program__set_autoattach() and bpf_program__autoattach() to allow opting out from auto-attaching of BPF program by BPF skeleton; * perf_buffer__buffer() API to give access to underlying per-CPU buffer for BPF ringbuf; * bpf_obj_get_opts() API for more flexible fetching of BPF kernel objects' information. - see https://github.com/libbpf/libbpf/releases/tag/v1.0.0 for detailed changelog- Update to release 0.8.1: * make shared xsk creation network namespace aware- Update to release 0.8.0 * New features and APIs: - support auto-resolution of binaries and shared libraries from PATH, if necessary; - support attaching by function names (only by IP was supported before); - support attaching to USDTs (SEC("usdt/...") and bpf_program__attach_usdt()) with initially supported architectures: x86-64 (amd64); x86 (i386); s390x; ARM64 (aarch64); RISC V (riscv); - improved BPF verifier log reporting for CO-RE relocation failures (no more obscure "invalid func unknown#195896080" errors); - auto-adjust BPF ringbuf size according to host kernel's page size requirements; - high-level BPF map APIs: bpf_map__lookup_elem(), bpf_map__update_elem(), etc that validate key/value buffer sizes; - bpf_link_create() can create all bpf_link-based (including raw_tp, fentry/fexit, etc), falling back to bpf_raw_tracepoint_open() on old kernels transparently; - support opting out from auto-loading BPF programs declaratively with SEC("?..."); - support opting out from auto-creation of declarative BPF maps with bpf_map__set_autocreate(); - support multi-kprobes (SEC("kprobe.multi/...") and bpf_program__attach_kprobe_multi_opts()); - support target-less SEC() programs (e.g., SEC("kprobe"), SEC("tp"), etc); - support BPF sub-skeletons for "incomplete" BPF object files (requires matching bpftool to generate .subskel.h); - BPF cookie support for fentry/fexit/fmod_ret BPF programs (bpf_program__attach_trace_opts()); - support for custom SEC() handlers (libbpf_register_prog_handler()). * BPF-side API - BPF-side USDT APIs. See new usdt.bpf.h header: * BPF_USDT() program wrapper macro; bpf_usdt_arg(), bpf_usdt_arg_cnt(), * bpf_usdt_cookie() helpers; - new bpf_core_field_offset() CO-RE helper and support bpf_core_field_size(type, field) forms; - barrier() and barrier_var() macros for improving BPF code generation; - __kptr and __kptr_ref tags added; - ARC architecture support in bpf_tracing.h header; - new BPF helpers: * bpf_skb_set_tstamp(); * bpf_ima_file_hash(); * bpf_kptr_xchg(); * bpf_map_lookup_percpu_elem(). * Bug fixes - netlink bug fixes; - libbpf.pc fixes to support patch releases properly; - BPF_MAP_TYPE_PERF_EVENT_ARRAY map auto-pinning fix; - minor CO-RE fixes and improvements for some corner cases; - various other small fixes and improvements.- Enable building and packaging of static library. Explicitly enable fat LTO objects.- Python is not used during build; remove it and help break a cycle.- Update to release 0.7.0 * legacy BPF map definitions (using struct bpf_map_def) are deprecated when LIBBPF_STRICT_MAP_DEFINITIONS is passed to libbpf_set_strict_mode(). Please use BTF-defined map definitions. * ability to control and capture BPF verifier log output on per-object and per-program level * CO-RE support and other improvements for "light skeleton" * improved compilation when system BTF UAPI headers are outdated- Update to release 0.6.1 * Introduce legacy kprobe events support * Add legacy uprobe attaching support * Support uniform BTF-defined key/value specification across all BPF maps * Support kernel module function calls * Support detecting and attaching of writable tracepoint program * Add bloom filter map implementation * Add typeless and weak ksym support to gen_loader * Add RISC-V (RV64) support to bpf_tracing.h * Deprecate AF_XDP support * Support BTF_KIND_TYPE_TAG- Update to 0.5.0: + New features and user-space APIs: - libbpf_set_strict_mode() allowing to opt-in into backwards incompatible libbpf-1.0 changes. See "Libbpf: the road to 1.0" and "Libbpf 1.0 migration guide" for more details. - streamlined error reporting for low-level APIs, high-level error-returning APIs, and pointer-returning APIs (as a libbpf-1.0 opt-in); - "Light" BPF skeleton support; - BPF_PROG_TYPE_SYSCALL support; - BPF perf link support for kprobe, uprobe, tracepoint, and perf_event BPF programs; - BPF cookie support for kprobe, uprobe, tracepoint, and perf_event BPF programs through bpf_program__attach_[ku]probe_opts() APIs; - allow to specify ref_ctr_off for USDT semaphores through bpf_program__attach_uprobe_opts() API; - btf_custom_path support in bpf_object_open_opts, allowing to specify custom BTF for CO-RE relocations; - sk_reuseport/migrate program type support; - btf_dump__dump_type_data() API, allowing to dump binary data according to BTF type description; - btf__load_into_kernel() and btf__load_from_kernel_by_id(), and split BTF variants of them; - btf__load_vmlinux_btf() and btf__load_module_btf() APIs; - bpf_map__initial_value() API to get initial value of mmap-ed BPF maps; - bpf_map_lookup_and_delete_elem_flags() API. + BPF-side APIs and features: - support for weak typed __ksym externs; - BPF timer helpers: bpf_timer_init(), bpf_timer_set_callback(), bpf_timer_start(), bpf_timer_cancel(); - bpf_get_attach_cookie() helper to get BPF cookie from BPF program side; - bpf_get_func_ip() helper; - bpf_sys_bpf() helper; - bpf_task_pt_regs() helper; - bpf_btf_find_by_name_kind() helper; - usability improvements for bpf_tracing.h when target architecture is missing. + Bug fixes and compatibility improvements: - improve BPF support detection on old Red Hat kernels with backported BPF patches; - improvements for LTO builds with GCC 10+; - pass NLM_F_EXCL when creating TC qdisc; - better support of BPF map reuse on old kernels; - fix the bug resulting in sometimes closing FD 0, which wasn't created and owned by libbpf itself. - Remove patches merged upstream + libdir.patch + libbpf-Fix-build-with-latest-gcc-binutils-with-LTO.patch- Fix LTO build (bsc#1188749). + libbpf-Fix-build-with-latest-gcc-binutils-with-LTO.patch- Depend on new enough Linux headers.- Create libbpf0-32bit needed by libdwarves1-32bit- libbpf is now a separate project, stop building from the kernel (bsc#1188419 jsc#SLE-17288 jsc#SLE-18805). - Fix LIBSUBDIR + libdir.patch- Add python3 as a build dependency.- Build libbpf from kernel sources, not from github sources, for consistency with bpftool package.- Reflect SUSE CFLAGS - Do not bother with obscpio if we are fetching direct releases - Remove patch 0001-makefile-Fix-install-target.patch seems to build/install without it just fine - Update to 0.0.6: + New features - new extensible bpf_object__open_{file,mem} APIs and DECLARE_LIBBPF_OPTS() macro to go with them - bpf_helpers.h, bpf_endian.h, and bpf_tracing.h are now distributed with libbpf - BPF CO-RE: added field size, field existence, and bitfield relocation support - BPF CO-RE: BPF_CORE_READ(), bpf_core_field_exists(), bpf_core_field_size() and other BPF CO-RE related helpers available through bpf_core_read.h header - bpf_object__open() API now auto-detects program type from its section name - BPF_PROG_TRACING programs support (incuding BTF-typed raw tracepoints, fentry/fexit programs) - mmap() support for BPF global variables - declarative map pinning support added - probe_read_{user,kernel}[_str]() BPF helpers added - bpf_get_link_xdp_info() function to get more XDP information added - a bunch of other AF_XDP changes + Usability improvements - no need for int version SEC('version') = 1; anymore - raw_tp/tp and uprobe/uretprobe section prefixes added - new bpf_program__get_{type,expected_attach_type} getters - preserve error code on program load failure + Fixes - btf_dump padding handling - bpf_object__name() returning name, not path - ELF section handling off-by-one bug fix - mem leak/double free fix in BPF program relocation code- Initial release/sbin/ldconfig/sbin/ldconfigh01-armsrv1 17162811581.2.2-150600.3.3.11.2.2-150600.3.3.1libbpf.so.1libbpf.so.1.2.2/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:Maintenance:33984/SUSE_SLE-15-SP6_Update/fc35553e658afb5b81cfa75f5cea4316-libbpf.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-suse-linuxELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ec2b399b446b38dc4d2c8baa5e5c412aeb8b2a6c, stripped6PPPPPPPPPPPPPPPP P P P P P P P P P PPPPPPPPPPPPPPPRRR R R R RRRRR RRR>OcLC°r}3utf-88ada94e42c95d0408b8a6a3f1b11e8f7a1ed73d5d18116282394d0906bf99ecf?7zXZ !t/n>]"k%ne8^ Ղ$lWVm7R߳ejqOZG7͆u/G@Hwq?k})U˳f>UP\7\cjV{û~V+jwq2d ͂u,3M/(?mR\v}e8fp~DtM2дt\h|#{cNT(uFZUm !5@U =8SWJM)ʎ jO2omsq<1cCQ6_=L/I Ӭ Mْ.b.wMj9:O \QAoFy2[,gxt,i¬ۮ(s0ԘuŐak9T+Ak7iȸE ^]5Gi3"sǭ?"7qA芊t!Sa @a +zV咷肌AM5# nw0?|TF`֩:g˿f?sGO Ms1YO3wXo wQzaSR pG} ٳtNK64ur4xD.}9AEzA[J*Y,;0)͵.bm1@ mw&F(8iq )mGT6Ǹv}K^CMMX;~IFv262 kZ,0P*\ʟa$q8=V/shi0DMF~؞m@x U %C$T>N&6!DSW/$%4T7"~2-%f :S<ՋXJͺ3WRqe#wiUd<(^WQssaS'L\ztEx/d%.)a75C0nkgcbU拲se@-)MR'JzfhHNDڋ(IK()JB/زe/!vq'e4KفrQlMN՛O6FҘMToMbo9Z 86 l5 K2UA\:aSؘ\pflwu A|m^ ],-ETH ֳl71.kWJ << x?@> 8c5y]dnQ-,x{{oZK8EJA_]k[ tDžܢᏻU[LeMUpݗEN:('wމ\GŤ7!8#ZLK) ,c0cd@nHе0,o˻Me=QyX~oA"܇^D$l i b2w {)Ȅ;zx+A`)U.,!cO532j*Pz(!. s.=T`wgLOt6)Ϗ)\b7N^n+@M0RA// &xZ}b/,fPIl-mԷ col'Sb# 'Qm޾{wc)+zI'BxA.g'vgt qA<’H4dkwv^ѷm~wg1$٪&5j@< ߽UR!o5Z6>Ĥm@;-M|Hjaݾ@8[aRo2o,K3oo*&>@0¬yC=Oo]Ow~V6+5+9vv]lN/H p; gu΄wM')2y\H[TryHzIg +{@sU+n<^DB1n5;?k!󤹞`޺t,3j3V_ F srN S\ᅷ*˞t'$ }R2*;:lNNVbjn3Ǭq%o~- RYKI'xuN܈eg8W |˵amQ9:FT^-S/92d;KP 9cǼ!'|9JKH 9sಇ, X˦IG^"!E4*#Bbхv{°:1+ȰTϖ^'2̸%N41\ׁ7_)2ZWPp]S덝$͹'Q6Lbi"ƙg{Hq\Xa S?1H?R}-ʫS= W1򪘦cX7e%f>XVފc`.>M`s࣢g`k,o9NFI32ʑzIPd7Bt|ņļj/D61tX _'vo}c_(W/fJ+mTV!փ Ù JPfd՞2*U,LHf@Fm֢$ؼR7kl  фMGZ[`ϥ7 qe%C}ic8xC.G{ Z1hڰWq0%R)톭q.~*׍BJT~0vR ƮI5OMGL e\hFv?%v5B'P$d+AN^l#|a"jc3W:õ}CV0=ݚҠv > H Gjd]u^8hҴLj] G- KFD 64F ɍw_RtRpqϜy|9enW ƭ9ěeDӰ{m$!}P󗺖?/wƠyK]U`'h9zy HF֠HofEԠx$@6GZw%69ȓ'挞}c=B~==hyrwqe-8i}%RÓXN/i{Hzp :dܠ;:_btRh$ĔuL4@e"*ōb>pup*؉U H{&%8 +AkGt/ ѯ6ޫտ=C>>SU5,' 8I90K#gRsה5!ǭdդ&MBmV|w-ΐNvqW9ylE#0-<:MZ? 37딴 t\%`l7G%!=x #*4f;:f%?wW/GUD~@R23K,?9>xENu,H !@P|<;q܀ِsܟKOXV7\_re7Q9.VCل{Ų6#`Q1̛>Am4eϙ]Ox86-j?:3~: VA*ux{el;:y[O व5u,|={~,uozY_X#9Ϻ2XLs>DĒ% >%]=OhSi,BX-XX(oҙ́hO[NDzS̲PSmqr).{]U =4@_U0dFUy˗ia *)9;S$,Z6'$ITp5P.|~˛LRA}DiCV󐢋O#~w\~!:?,*[X?_=;5%Q]_Ge9AT fk_,#Y:db@{9Fγ xs ND|$]?~6?ZYDNw2+%{XfjgccR%t+&aaI$xL[njfwLmQ܀/ b\Mi@q|uN=\2=FߝT^_R$X4j ܘ*Yz>mcE/Uy.s"A.x]43TLy_g}cُ8n\n<4a_yfz0GFX̀vxtd2M\hzc@؃O7C(`Pm-LOT]63FLnKrZV{&i+.ih$ZRĿT,YpK !P*R3*=2ur^"y_Z5k*V0nj̳iE'Uٓ.  9Vhìo؂z!V 1DMd s>OB?= ,:!lٌZ~dXػS2R1IVۤJ)R^D>:{@b>"8%_6c&q*)+Ez桷CHշ*ҪK.fX`1L[b|V، ѐa?gJQF燉*rXTX:߱-Ji ! {-_L-Jia )'\ Be5ibX Z[lC[!@$lHһ [e u@-Sv(dRev Q o8it FIߓ*b ^WғOK&bbLN Ac<2.\ue2&FgW WWM}f$n%HnfC{ E+dn2 DWJUի Lf3Z٪Tyĭ(>8Ǒ熦Bx*SMuմS! uuo}WI$/P, + Mj aömIs~@YZ [TY_RcЀk]ov94NMS Ld|Utg#P1+HW4{er|.Q| \"H(G]s*OԬ2u>P/  c’]"WNӉ }K}& Zzx!fmG3r}Hv?ufĬD"'?BlKL0Q5fl7"^|*}Uq/9tg*˸oTW iMh8Q5:l9~F$KNnfLjZ XNfo0:j\0Hԫ*=[We{6l5P P2erwLi:jfwZE&?m^KnXe )$408wJfo mgR-ۿ\y"zӃϲޖ5!/!0{W=zOg QCLҪ:nVXe>B YQAA:My7ą|Ҕ"bĪO)Bq! *Ԇ6;Zvo5H[Լ+ 2pmYYK,(.rlQ=%v, Fx2 p +Ϩ"HckŃD4}HySJUUΎE[zB'A3gR7sND/Eekܺ JI~64iwg{ 䵳5$.ڝzg:6Sv/5n#[Z>9CIN5.v9?iOƇA dɷz3QDRM *Ɔ>9Ņd&u wҽNQi?t졵Nk@@"סeb?zC"aeCătzdlLT`9/?ˏ#~k}idǴx J=o?CMԐr}?Lυ ؠe 汒iĩZ*_cSכ%DHu)ޞذխFeoBGO'Ƀ)%CU2TcPokCc&4e+iM ۞tmPEy.sF"\|0iQ2zZp}?)iΑJK){3AB>hbS(0*c> {)DPlf w"{E.X:#8x/MŴrdYドK_f7G'\A(498`;{= J^kv;3l=]\[Iz^|qvYL~vP[w>V=-@:ēNu1I,b@cy)%D]kz_%GoGaHd_^7`=&m bw&!,4ʢSd*W9O厝lHJ+ z{̑,Xޅ/)^$ ys<`0qԏ`(ut[zB_xs­j( h[o_zYu^pu- K5wV2<%%xDt;tz(k.b z/ꋂʑY9yHAR .?6-ȡExФ<5$ey6SkqƂP7N}6fE٩GeR#!)9ZOס"[v\|wʎY+NIʮB}#Ro6C %0GX}5 t>T[Hn!iKQ.ItZG+E)W*Z S@+|Uqij7S##@۳5FCq:7aRIM/q@IZ(x9NmCQ4PlyV7T@-o.+E׭fw- fV "*g?Tf  '}֕);4rs͹:4D-7Bg OPcLU {얉OjnH7/{6M"j:] %~ IU_m&VJnayxCه|SƤۉ_=`mx "Oh9.΋*q:u 3 Hyf}Lʼc_3 \vg!˜L퍢}m/,~?OZ*w%H넙'oOt]<$NCMhQ=9jfĆ`xtVzqOiB ]g4G2!Pe.ma M-u^&~N]K {āLeAK[aku~F6( =h&)RD-(O,YpjNh2u%"Lk8(v68dPl평wN70߽ьjㄱS}?n ." |^C*kB3hvkL"=b,dr uM bJ .`.kEN`U|.i)g.L?\ Y@d(O]f8%H@o4n_O`zͪفSFxIH"-c @`.3_XDqxnfiu ^QCd3lW 13YF˴yH<L\x꬐xGi*Tqx* #BjJI 6Q-kiEwdg=}ϟ?Wt_5/j^ m`gא^PCНuHr/]kot$w5Y8ZX[%p]LQfikEh7&u !Z vx5WN9Y$Z0Ty0 sI-]6RyK#eT [&vUS7ieT)<Ө,g@E.6"p#}ʨmeZtY~ƝHx~CNZWi AA92" ‰f @ރ!l+y `bZ,4>w;A) UÜ;3%m$_T'Fh%:Y no/}}tbnץd&c5|)m W`H+>dC{jFJ\;Vd4#Y> Ųg6t>r_R;+xFʣ"?UNr@ǽI0b((Lffu,&JPp٤™٪!r\=o\Tp}r'k#B-!5xs0_~ ]qڟW#f]'(QPIeWX:z8o>JM :]#{+ʝ69¢k %X;FLa͞XUBJsRpkc `%ߒn ᲵK n-t*^6XJ^":vR&46Ȅ0#D͖|cRrno$^l,sXiq_3C}ס!F Hge_ R,_8|LDRYPiC+?O=٫5r>1aKŭ%6zqF)rݪQP>ԣQqN&^\K5cI $=PQUo3T[Y;^&5z bzd:ŷ9&S܂HR|8o ޴W6z{HsdFdN! /zGF *P҂kH[ CX_RM'C;!VC@E!FbJP9)yYDZ ?=RG+Iߑ:^3SóeV{7Ɇnef,#=F{9-B)9ʤf,)8c L=}BU͖rmwKk;3f2v*n 1>:L^ @->@M0$`^7DkC1:M+X^8poNJ3^3xBU,_#]uݞus@wB0ЈwI;"@sXթ)ySe&NJ Ks9˥@wwP䌄Aܣ\˒kJ6:{UW™ эL|36Q'iKP[YU7k}Àx8N8F>\A`?o:l+6KCBWuAJ\Qz/8-!TEj=</@yxbP  ly0bSTIhG^#Bm'8X'½E"wifƕ!Lb`uw(l- F &Jk_hķq9 >spS4f<&F'lXv68{ku)pk8.9 ZHX64t_ij\)wV)xn)%\崩@|Ӂ6ꆷ?Rv-*Qf+cwUkuk@GwgNOA6ʞgp^HUp$N[o[kUDdJ qx#)`Rb98@cT #;:2]? b-}pL9p#L0չU @F˪k9w>ҾPI -ܴ%a~/6V[.Vr14$ZZIEV}b m6eoPӻī@*ՋXʈ,m2ZSY@:ۦd&72*^DM,Y^j+|/|ގCϟj1O7 ^$3JO!U?C+~*)Q*5#qRݪgEwK=96)N3<Ս+$aJ{9f1ܣt|lI?]0-'‰<4C *yxI X qD ~$.P@0/1M@9PUY@hRﲵO]-M"tqt"'@lVgc]jI% (?B<Mza9o"