libbpf1-1.2.2-150600.3.6.2<>,vphFp9|@2Y"jRޔQӾ\ZMsFcB# &}?ŔX2LY<hЇoO #ubǕF.OIֽ 3w̖+AX3]. >B;/cI[=W> c1smjG>;;172*uR g_XBs. [b`]4Z`wdOav,BFS. $'k,hUc@ht൵%z+\&Z8>@Fl?F\d   K ;AHP T X `  ((89x: 9>B @BFB)GB@HBHIBPXBTYB\B]B^CbCcCdDFeDKfDNlDPuDdvDlwDxEyE <zEF FFFXClibbpf11.2.2150600.3.6.2C library for managing eBPF programs and mapslibbpf is a C library which provides API for managing eBPF programs and maps.hFh01-ch4c SUSE Linux Enterprise 15SUSE LLC LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxx86_64 hFhFd76878817ec23ca84c9ee8aede5155568a1243adfa22ad17782494ad56141f13libbpf.so.1.2.2rootrootrootrootlibbpf-1.2.2-150600.3.6.2.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(x86-64)@@@@@@@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfiglibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.22)(64bit)libc.so.6(GLIBC_2.28)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.2)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.38)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libc.so.6(GLIBC_2.9)(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.3hFfLd8dP@ccFcjDc< @bc@b1@b)@b%b!@aaQ@a(a@a@`@^(@^6^r]?shung-hsi.yu@suse.comshung-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- Workaround kernel module size increase due to BTF deduplication issue since the introduction of TYPEOF_UNQUAL (poo#183503 bsc#1244135) * add 0001-libbpf-Add-identical-pointer-detection-to-btf_dedup_.patch- 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-ch4c 17494589061.2.2-150600.3.6.21.2.2-150600.3.6.2libbpf.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:39139/SUSE_SLE-15-SP6_Update/63c249027fb7d2f24e9734f071edb4ca-libbpf.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5a3330aa38d8b44bf8ca811c4d19ae9df895359c, strippedx4h95N,Fϻ[l#+*y AH'lGoA綶~/0R&YdY'DM>Ȑc{tvq=nZ<ק2o7č _K^p|^ }W``աd#A"6gV ^/D^TgF1IܙTE}:c]JEpONH&.ZGE7L6q5}eޚk!SǦ#wC 4H|Qt7"tVL9/;xsDsءO!}I{䐳q†Z)?Ui(ٱ@姡`)6 Vv_M>|pgfBk3nL0Ț#S3q45h0Ϳ%G 4u(0R 7X:Uҥhƫҿ@V)lEA}YHV{LFi4kRM'NCcV_eNjs]U:Yt *OoBL=NGֱu+ToHlUߣ @W2@zpK$??oL lc:pIK'7>|PscOaًtR2=Tv ](9JSs S:aaL+_wJ7plG }d R ZQ"VxV}4d̙'5f47 $؊vWB[.Գ'Ii{)p|d!2<%qިKi< t]YMyՋ nqSmg;S.9 Gy3/Cb@mёG &K(Ê ]2"$ u $l? z^`Qh y|#y*I d„Q(kidcE:yp%X᥉LydA(חX %* UEw"벗^*#6eAڏ 1yh >|K< 47BJnf\=Ws&Tyc6p6MehZ[hTWl#A)||j{c|;e-{WMGn,$4W Y(wB]*44iBt5ש+]EC>cX4+rG{@[- _e Sn'ȻERbQ: wAbE#Cljj\^ML@&F"ϝ'&̯} $3 KkUwt*F~ * !N&"-*mRJl]y9B]:)<|M.}k zocR_Dd86|8K4*!϶94BϵdO)x5>KlϦtmƭE]}*5`J~RɅ&(X gHU!C@$vaǴ鄂VR i7GKyV7̧\GbDRF/-Q4"b1v ךUQ `>ХO>_pe*(fvfUvei`" 8}~`q< "9يg;ͭ^&|Q sA{oBN2ïWtC A!C(B"ϕךE?|(ԤB:%{X<-cH8U&>5}n,0~,vV{1[k秶{A2*Z3k{ f̜eOI0)\{uK:TPBz4Jj ݪs9+s҉Ucb:e/5pqұ3 ^Oo),^SRzxݦdh@y`]'G;CL5Q `(̇&R}"Lc^"ݔ8;3n/0|~qXu) ܈]x;oplK43{ƁaeV)yWrfӕ[{-Ăw lJV@!GBI|5]`-f湅8Em~vKA"w{x'Ȍy<`1X .HN'|wܜy3u5gL OҲJYfzصEK QY u%S`Xg|o0Mݮ5k:z]51߅J@!{VTt8U{dO*;'\L>pH ¬鱮7$ҐW ˮ;)ⵔJ*K2w.)_ Dc<ƒ']}zZE}3LP௰Ğ\zyB?A'O\{hTJUY6oǃڊVNm9+S6lkӸB9*MME2>I4@dLCteh9kKܐt-)i DO x9mά0 O>ݔ`Ȯy%Xw\SZ7dMrzIC<8(~m !XzMOWϥ:ސAeP0uv(ӻRda&.=5rV&pȱ49z T]ҒuZ:}eؼ(К(CήXN ܒ#qN ?Z5SzC0՟S2 uLG]Dgu+ā[U _}:9Z/y?{ 2+9.kNIL-!$b>Vs;ZCX2Rx|Rwfiږz\&/VEIpZ*Y[oh pN (LZ:e$-R{^\zo3"U::pZք07tRYnxH =.\Vi|v3BZ=kitA@ڝRdR1tQ:/4 _$"5tRfpS%Y.'Q~Y7q [nGw];/(Z4L@={5v4{Qh$J2lѠa;_(Gݚa 'EMmyX[6:Ww~ΩQkNȓi5sH:\)t9Ѳ#?GUH ( yǼPawO܃3.RiAV0J$CcD*`MޔzV=<9Ҥ |imQM]+ 0\fQZEd5SОFK)GHsmϊc@\lq/[pQ–]zyM7bؾEBݔo,yG&$2P<[ u`ge촂U`oPG/hFzgg1T >E.T8נrvOKi.j'#)N*)qyz :nn<>@ኵ@T #S;),hU34Ӊ'/Oe 祾.Z i5#vS:'I@jv.*ԕw8C ?y ;'yF[}Q CmTr#O,";S34qb_$ vedjSi+#='[5>{aȕ NGq8,{,]s`fB&%C&djr͏ F,AJʍZ~Š8.\jyI 0km89sUQ %Q.a{I)UR@C@H= -Zn@9ͮ3Zr@|^nCF&b^z1:̗Sp‡ux Ct_'(7#;Wl}: PtFK+s4F>_|b pN\< 9\ ubi}ҝ8ܼ:",A3ͶC(D)lҵt&VɖS!Xiӿ|4'V<񆇧tRRե =QL\ݶY}u(H\q,(m rNDc/nKf2Yx3Y.`*O RN|gD9ױȭf<0v$6h4u@&uS&q8]bgBlxItѢ_s1'CtBeGcWVQA^k9PI0 _DT`h@Ջ<:OU!t/~IJh beC{Z8a [&xꢨEc,SbvK) `vVFof=:PEs Z;YV2ud>e&ܵ"1M++^wf2P[kV4k :NPYa2&Fs*J$Vֱ}̮ 580-u@pgfPWH?p7ӌ 1oŌ8EHjgD<o饳=FRdREʙCr@TT5>0BY;h-icνZwfS NO(p֖% sgq= G]4 lwE:F -3n {zDEF>IJQ 'D/Űc<ے ]mV{Uʕ,Շ\S9R2sukO:ucZ|,iu\$BT `J{lО|RhfޥSN\ٟ̭~ M4D!5,#Ubwy[>PѠ7[Mq;"5FǪy;_``dgAs,nUoZ4LE 4Jޓ%/t xSPʝy TMe.;ELpXaaun,_`S|JkeNҿj׻(Ub[EDZ*6Fb 3g [%ݓݳQ)k7?|dnoCPـ,'_PcX<#y]xȼ:9WA }bM)_- ㇸx{蚋Kܕ>}$'$)ÒۏQ8 2Lsx:= ok ̀QA{޾ߚ+ a<젚8Yue{2l̫*}4(KVnSش4w3lL=~7.EZT!:d䫹&]zyuaZ> @8 gHZ' 4x5vNx;Z5o5OKNM鍦]tNQwݖ{tKyi`C⻨m SeɟAKZm[~L(ǃ (z!&d- :I/##@]g*W且US~0ڙ:ȃ^݅,Y,Pˋ@9Pz1ZgG8*\H˷?t7vgnTRv; }d^<3L4K:P۲|B)ւh'B%QUrSھ̼}_w`fXeJX`D%ݟL/L )xI7w555[|cʭ)!GС**ԒQe L ܶU-I9'j Kk:{eWq(S!"?7+8V']RI )e?慬ʐY1>H% &v0􆇱Dԓ8JQC^s_.a2"3UIj˶DɄqJrHI4(t+6X.Xh|EcnCpqln *K߲xv iև}VIf=(_ѯZs I^MWASлQ փ^+,eLELQ.++ P&w2eRo"x1Q+' 6m1欤qa 5kSX7 ΛS;}. 4随r|3bILFW7zFb.-R Eё ;U[y. *fiRD`K:+@Gafʣ,w{Q٫35>HIE"ni:CR} -l3#p-t6(|CHA9쓴s+&OwcB\?d`CK,w56w 6,`KL P [zC#\٧tsĢW)4i*l2D&~P{$͘Ɔ7AnT4J5wF&ϻd R"[Y@)&T0Em-sHD `U uC*X2e_plmsYҿ(1 ,ϣ †oE4(%Hg>, vJiح7؈6=Y޶H;Y\7e= @>Ad8DԽH2PW ʅ5%T.)kpV@%83Xk|PZs=9sJ ^*U6my)=}\K4OuV͐u `/:d44Z@GoK6Pt]ᅰX 18ܸthI8-̝wl[:Y h;mzfE7~U[{9И07YPo`-8V6=ʍodLűAO3y*%jmn"==Fc]iSol dnd +S `?Vbx/wpx6Zֲ|qBhVj G%lwO&yb& bsF,(fX (ioX ^ghH@AΙo#=L4Mj6ݩD?_&RP|es}TYەTx֫Ov[ݯ_WJq gHX:y)20^F#.<25s[&7p(k"UMZKw?M<݋Yԅw *:#%ș8p%RDĐTn.*rB1:`(_Vcd4iPQ\Z KJ +g+?6 jEg.Y?( +Mi?h1K Ra~08rĀ0٪;~Ӯlgs6d,$CjX/v)> t0-wEi)@G-go yBtÝPm0X#lWR@łg[˺6:rZ@VZl@lSp_ -&,gԐYmdЮc(GP62 RY*h`B@<Vfm,EpSڳ#!24ڌڦ5Ƕ뽑 5%89_ŶAPQ9{ͱcI ⛄4t's7I%5r] J_<9<=^s; ΃f?}\FM*>J_4yGb{KIqP3telIuV kXKiT@i;Bhjb$ )V* EdV BFi |>؀mzap4ڷo04$Q֤Z]*ȯcg "n=RRJ2n/h\Dܾk%#fp ~ :}ڗE2Z=TXN,Eki 32Jv[jjZ1X˫,+a_u7dCϻ-EB|XLb@5/!X4ANQ9kR)P&XSb(]x%_b)[Oj8:#!`GG&bFSlrh5}َE||ZR)PmصP$r}߆^q,A& W&yn\:h{$}2 \l.Ml Z3= F*Ru9Im!Qwu֞z"c2[Ci7?^$G";C`h'`SOۘ%jW:~TJ`c:Ӌr${Yi+t B-V{/ &ȏsZW K*jBT99#1e&w/jŮr7 fУy/|Osnr ~^u{Uָ*yj] fAk%V˗eA|S d/ֲ6G$L trKq`Oj6϶z#a7Ga xxTo^]L! Y=񚨃N=BE$`W~1(56uVSDE8P GF <2Z6χI0 r?; ?TLVºl]CxP Zkq ,3Fn#)ˍ'W Hn`%XAxrI>̊X7Vt5ZDޅKS]C ٳQ9TYIp8rgLD=k^#ś]t8-6w<5fΎ0m I$dFT-C5y5o'ID2Z4SՅ^Ǿ:AJDvFjJ .spSQ+Rđ9Pz^0=`'L?w#^Um|d:eJS0s^ύ$95;No:㥈Œ⿒ #mgVm|K:is#2WW$rF2t [h2U:@d6O] [C2Na2 {șZ`Q>zZ PuWD[ lE.?aw2J/Zf\ 5%X#_e 8dYIuZheЙ0d#s$@9<q<(R"j1ⵚ_Bl7K5,kA #3/&E4x2k Ν==zo}$T/63asHKH;-4W.Q {lg=OGkW8cyV`] Kx m Ec{*1Oۀto+uXnoۜBloituIǕх+|2rlR2I' sPa\F qՕ=jVe6"\MPH r&-1ZTUx狥H+U3 CCȭG`}|ͽD2&wKsܹ1J6d"[%r1a,AvW:tKV}k7Ta/@ hM>zԉ+6P/Z?>W-ڋmoQQiJ}Vxú_Ns#/%.jL<(,W;㶪<!&|~,, bSݱ]S ϥv1jSdAiڢLSDUe<׈WSA YZ