libbpf-devel-1.2.2-150600.3.3.1<>,tfL\p9| Rw#/^EIn /z=n]z혎uصSΌ+HΫI Z~rx.Xl3dxa`OC@ M׫9Yit͙D\(ɫ7A ud}3{/yy>s?%"%_? ̸@TaQ<|8`J'Ӻ6S0 ^ջ/*T{Jd- SC>4+_R@V->>I,?Id " ? /5<   D  T0T  ( 8 9 (: FBGBHC@ICXCYC\C]D@^EVbFcFdG8eG=fG@lGBuGTvGwGxHTyHzHHHHIClibbpf-devel1.2.2150600.3.3.1Development files for libbpflibbpf is a C library which provides API for managing eBPF programs and maps.fL\h04-ch1d`.SUSE Linux Enterprise 15SUSE LLC LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxx86_64NLs9I E${! !?qkA큤A큤A큤fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\dfL\ddd1674fee7c38d4f90f8bd38cacb0eca8c1fafc02d4890e078ba8e2c481e417334f8693c88554b9377dbddd77efaa40113919b3245fe5a517160492e21f409328f64b77c97b089ca06203d0451407844fe93933b4e36e7315a294745fa29d058fb7cb679c3641e9ca8d0c317a13dcc3553985fc975cdc3678413b6e1547bbbf6a7e320a7681c18208003b15c222707f55584752ab1665fdaa8881e7e020885141473b036a5f154b2d5a9eff74e4adeeaefb649291fa151a830eca2177d39d2a410e28e5bca81a5d782e27088da750712c747acb9ab1764bd944bf3e7fc15d4b50324ff5032adf45d6cf35aeb15e8335b8b8b509d5f63a43dcc1b2ae345d623284856479a26578ea1893eee35510daab188c7547bf18be0ab01d38c295420ed95b24b09b8535b0eb9da94e8eafba8edcb2abc742bb07dd870bd216c3eea955a18d8ad556d599405c7c779b8eda644bfd0b0610929f1140734aaefa961dbb972af14a2f7fa02729c0bab05f5bdcab5b0b46e0ec91387518125d6bf6c4451d536fe6ba95c0b514ddb2996af399caba5a312141b227f36dd91f7e0d08573282c9beaa6d78a7039f0c5e1dc558d775f8f5d353408122b4524b1f8517e888243622fa39500c7316ba0e2d30f5a95983aa7bd5f816aa9c94cd45eb6908168a44f22b76bb6847f4addbd56e2d5be20c4ea0845e972672fc07b755fadaae5f7abd35d71e349e1638b9a0c68ca90fad3df1d6b4e430804d2fbdc15e58d02cffddfae38953bbf0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8calibbpf.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibbpf-1.2.2-150600.3.3.1.src.rpmlibbpf-devellibbpf-devel(x86-64)pkgconfig(libbpf)@@@    /usr/bin/pkg-configlibbpf1pkgconfig(libelf)pkgconfig(zlib)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.2.23.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 releaseh04-ch1d 1716280505 1.2.2-150600.3.3.11.2.2-150600.3.3.11.2.2bpfbpf.hbpf_core_read.hbpf_endian.hbpf_helper_defs.hbpf_helpers.hbpf_tracing.hbtf.hlibbpf.hlibbpf_common.hlibbpf_legacy.hlibbpf_version.hskel_internal.husdt.bpf.hlibbpf.solibbpf.pclibbpf-develREADME.mdlibbpf-develLICENSELICENSE.BSD-2-ClauseLICENSE.LGPL-2.1/usr/include//usr/include/bpf//usr/lib64//usr/lib64/pkgconfig//usr/share/doc/packages//usr/share/doc/packages/libbpf-devel//usr/share/licenses//usr/share/licenses/libbpf-devel/-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_Updatedrpmxz5x86_64-suse-linuxdirectoryC source, ASCII textpkgconfig fileUTF-8 Unicode textASCII textPRRR`- Autf-8a3fd7538232fa4be9b06887048ee6541f30138c5dd18549818c336b27e940f0f? 7zXZ !t/H]"k%AK37i2Ϸ=P+8O. x-R=`_Cb1kTn?e6~ɲ*J\+*S&?QAEFQPᠽ7"k@ Z 7dU6"g7 J E`egY ,ǵ,O5a^bPao˙Bg:ќyW36nOINH"+.:zrr<'NvJ%z߁9,KU!{e\tq8ybXw"V7Uq40mcr|6nq^Ut-`,!pXoܾsP KHRf|n}ZtWs.{Niȿ< nK35 -/k_i9)% d<׾A#S3Ed; 'E_QDot"%p}̋,)>_>2&|?yxG&TVa=FwI^)<&m24΍|r9{O{O=j-x;$=vMd֠tPe\F^[!>gd{V1O%Q+-Gp9 -(EPD ><ӓ&[zKbړ| u549ս9 (zT3`e`f)c~,70DR3sn'6<8/cZ.=FC8p~oh#@;gHЍ4 (RL*VT[ L1<ۭƹTp]v ѯW ~\njvIZ(] wgwĥ̺MW˞ #Rsz"V݁-k%|A ?wLgg]=Lπ}v=w4E>ZMQ}H%tH<PE~TY4L͝nyv R!ܚb!(G5+)EɉK#SW) mt2cZvNB\6:߮$aƪ=C-ʲ?3l3@ hEz}'U}[>Ȣayc]gg3lϭ؁Ecp~|)Q;$5"L} YM+o١zJ7k ٺhU $ /\NHɡyql(d&"):sټt+" MSƸuE בZ|[p]Hw6͢&!P"d:[A/3߇dcn44Y#e{; h+jGYcVݪr3J[Q 4^E{Wu9mЊ% R#CDKl!m %_ \LLt*]=Ad Oy,}q+/|l+n=bbR%z_܏ΐ'6U?uP2Y8V-/9MpD 1QK't[ `M:!QٵZVwTJe ]Qag"{0%_&.nIqnkGa &v"P;rXC$AvĥI}rh\}V?mޭY>I_]yRݿnzwvA2:îCIoT%׃׌>*~Wz՞m`ɍ6(ʷ<)ZS0l}ު&/6tcLɩ2[)SFxrGbPk_] q4ʫB9v'?l?'D;餶2.Za]U|W%ǿg*Աa#k ʨtdL/ /Ǩҏ@~=xOo xkO͘НBm^_U[ӥue캸;6hLa Y]= 9y:ToWU6*mݝ맕AxSǖpi 3fAoH^\W6}0tnk>}*ޅu# {oYZl֥&/0n6˺.9<iUnFk7M`3[_דb} [?d=qD_3ݤ?R< #6Yv5tw{5jAyշ@&:W=Iz%mvd%_\N7\WO t+=os&54CšglBYz45F#*IH&zU WI9G'1T _Q=fxxrt-~Tś`멐0ިq&Y0oEs)&c*G$ s- E2,%k+3\w2;Fߑ#23wXj:XvϬ)0#0ِ 0BlyS4GLԪy[,Le6{ ep ?[.ֽUW py?bFXȜ+pm&6"Mř~K10** LOm>zkL? .oē^ Q`6c7-u9r'vbőcb^rt72~iyO*c}t1 *׹F{B_dA>KuS*V" ɇf~~H,m&Mˡ*hcp>U - C ]UF@]-ݛ!JJL==63Km%2]zhZ/1\pHz!zu!U~aKut f#*cX^Gdهü~v h{$[>cVLj ~ # wP ōZ\´IA`LʮMljmU3y!&hxOȭwv@DԄ߁FfQb U?+v])}Ԙy _=Č4R&|%vܥhEqթtY6_kan1B_U4IE'z_LBLAQkRyt5g_Y lU{HK nV%Bp;{y5O+}+$v"XwTr[zYe^g`q"kc~^K*m"בJ äA3R)$;G$hγޮ*k[X8!]Jفm}޻%v#,]<`duQi2CJhZ%іn:8׬Ck|s!s;iىk&-& JI̻ ;ǗʃDE`= {GM|÷?<³& =a.}X(J F5eKaG"9΁ Ԯ\2*>E.1 gɠ^99qx6uHI5*ս DEcoDmps]gȷq-B |_1xۏ$\p}cTpSG>@rv:0S5E\>( {#Y)#ؗ(nHa)i.hV!a Cm*FPmW&:YFZRͷ-/DŽE:S.\re:').b#_k m^ʈKr\O:gEawf@nhbz.˄"3S2PaFs pjRHzK VrwH.v{Bt۵9 2'~+0PBtŌץ4v1=cUDs&Q&꣚F6|y֞&Q#ǥ,h,cJ1MAdw.MX+O힖r2/#0AuSiBjl᧌D-1)YyFQ>.Z~m]ٙMg ?٦[2o#JƲw:F @`ɶvxcŒV;bG`1j 6u8|- $(6Q!@z{$35XEE&r{Z )9+M: Mc@HRZsI]h)K6J p% @颕?8Ô6MAw)4^bX<4"檫ɫGz~ВyA,4vcv'߄ 9 f_NL3j$,5{'1:p[. N5jRN۱.SS}Ep|U"s3%hf~|#bVW\tж?)XU%8d"9GQ/4 90=6_o^N}zʐh8o[(7/Q9+J4d2 *3рWzscjq [Lo|hYNy)5R;G&YxN0z DtCV1bdoedsb*܄FXG_#kXO!ckHD,:Gdh¤wc<0{r};(cwޑb GL1u{ $2n@HkP9uP hm+^E`R!# %Pc$~Y* 0gG CP5d3!d=+'#d1F*kއ@uvߋa cAC#W ^dҸNN-QCC]4YZQƬ$Rm|S^:ueeW<qRfWPdm x1wZ_I Whn8QƷq2%z~./| ic {rP5eW'*-νmC ႔<ޤa~O=kOخ g ly!NwZ8qSm#m+b(6ʸeTe (yS)Z fJ ? O&cRd=md;_}5_龋=\r~o6¼jBn$vGgp h7`I^:}=vW;+Zhq&,]FpL;KݒYT, .+\/hν,DtH6G%) * 0w>!Ȣ977j=!{I&I&I 9_o`rhPT!:/Wȷ jx@L!Sb'xyf׽|;MS1!APH@里E?^گ ?5~ƪ#Mgu+_[w}f>)#A zՍG͊8ܒ @<^]+9xUEzz7~F m<#w*o$)_Ug|oa7`\vL M=/!2#i[ڿ H֦{fl\6:SJpN)A{n iQ@2xM:MB7X9m <&9H@_ܩmn/Pv:sl*[I~-E E|v Eυ($ %,FL=:XxG}/=8 ҹ߃Ɉ|'d:&`OD"+%>އV++g {~FK*GV8[G b\ ,}z|lt-Zcr@`oa-Pn&yIyhPa\#o׬!1~C:KEmTGRtgBݞgE-]F;uid^:s o#b`:/4LV4ftQ4Vy#0{.@uIZtɈOc[r5Kv~pugcC Mi,we1o7YBM)^eQ)ΉwGEv.RP>EDli'?Kp,-!kTit&*D]6*8)U7BN$-UU[f EOIu`L8HJ`o]A83P|*pJMYTetMd).?N2!>FnYb"95mn%oΈTmtT, aw3_:/ԂlQ~TzK,B08ITt~= $ɲٍ̽z],w&=f ,FjĘ; k? !!gj98mCD||hx}%ٱa!:vZTJ33'U1/I7אNE;ncWɕh~ב+#J~E#_ɡ"Sl̪,><9]ۋIPNP&%NhW2ӂp \mGv?,X&|nDGP-pdJ4L-m  GςWc<_(07-$t 9^c$Gl1(5w1`2O`/[֠Ų/_8=w`Bc;[ ߢY%j%&b&nT)0\)ެ_TEA1&\3/a \1xLb|=b! (۸ xCTp72-SJDWV R_ӮɇF͞m(Q仨 Se@^Bvpk.?:!P} ˽H'&j~s szmxbꔢBo;vaZƪlBʂ@ӜThtmb6ؒ} 6eU{EX$@&C-e'.EE]'Davc0Kxo[$}}jz c==P"! i8MƐZ`[HV2? alKٍX8 ၓ:V#p .YeG oG1ww6@02CqhMYE1.OuzOqX|eF6E:I i=_` 2B!&r-((Z6d'9%QŹ䙑dno C풡ӒcY+@Hz/iWVgj+G Pq!c[8:)=Ӫ71(A~6xZOl/qlQ] DKGa3#n]g<"XD)Xzv,#u`*QTSp^s1,zgk|OQ"O0U,7}`Ddw:|BC:lZ2!7JDX&XfKEZR_]W<4~216.`N6{T2h g:`ﶺ9 6,PMzCUR;av1`4IdXgvQ޼8|h]PCqbI[ 3#%a7Iv Svm!3ANm4aZc[&咻DNήK۝"0H@hV f5i мo::$垟v+z3ik#{eYl]o-(\ޞgsfnFu6 5.·  2+[׶|¨H"=[m9]u GfE6u$(-"5V$%0PCE"I[WcM4@P.q%dqyi/cKVf٠f/``먇U/ Zn ־=z1H([źT6#>ٕwf- hW>>ۗDI7S| W ,,+фk59& a 'ةy{εHtt~$^Ϙ>IXRV9U.q!‥#X=5n0&Zkk+H#=Cݻ^FKTpeD83yu (+[a6,fM'D' 8__/nl\ "IK3fī0Ie%mhe{gh+KcoeGA1_/{7ƃ)-k(0߹01jMݑtIج5A cX\1r׎2@F܍}|YOXz*UVJ;96ppj{8$Xr9?Oٰ+VkJ2ߒì9QW %y27yBth>s'_ߦ*^ѭiW6{䝥<䋶5C[ 0Bh]$*>; +i\ ·ס3qu{[qLql &j/G lx9Tw"PwUU" -Gx3>0>YOw/-ijhT J6KRQ7Sp؅Uӫ (cB!Dy(:\XP/'PK/̽,8Km<1]v[Zsh[6^E58|d΋G c_@fLNPtIuߺG37s} 9 (^@48Wtϵs&^(c Er:e$ hOSَ@Na!xE?ܒ;a6BЙ%bhMgu &HQqAR Q9Z*%0般^N'o8 >? |H ֡r}}%`@q:O)M[cI oC]3>1)y[a=)\pЀ lOt-k\9/ۯ+6׆IHm۞^ɹ]N&4}tB +ʻh.#X%@!}M 2`IkmMO"Sʭ cy0xM,N@|K *s{V|૪a^1 )ÍɬA}6'oKĎߠ_5=;̯^0h)pF.d;Sہ ( `|TFvEܙf9iVnҴ/0,'0c 劯k I 8p}V["sTD<ӅaOH[B8˵f޽yԶKQ#5#ɀºr˔" =aPZ%vo6DUXm0-m~15sx2#]dkLp"qx 2eh:sŸmx)=Atos'n4M83~ =ЛyA6Y&b77׫_ӿ77`)M9wo)O6$?rb+7b5hRtIhMf³zq׫M e- p%v h+%q94Z&oȢ/C ! 8ĕ. 7gwYtŒ@WsE]܀F1'-Fl(b>򬕶|"P3fT"Ƥ\t1'p ILu#"sސKa9"k+;eJP^nǢԐ$1(9JLpD y{V7V-fR"h:{Wq^(/.fK`gG) JsS=Ⳅ&y,ĊJY'-.VP辴 ͫFxH9Y~ @DJ>!8Me1cHmû`ZF{GaaYuGN,G G[m?] ^0˦W>{:z0cBXǨl.28/v-_]N;Vؼ s[f{;,qVfAdva{} yLsx&כ=&g#wS>̫4(AR'9]B !5VwF`:\=#k0'>^]:#P7sN|ztj>>dIoݬVckGcc"L)~x'2|r Ow{ i&W ٕя` fv džD96zړ$&`Kwo(f,6wFNr驘Ta;9α{ҳ4N>ځRE# (?Ya\ٽE{_$U.wZE0046A2]U=:GSG;?Ѯ`,LG lW9dAEIfP1;CB~Uզ#^]}p~>J P $,P^)F/t(K)Vy_RV%p vm&ݡħC7P)Ջ6J W#'m)Kvoh#bn8[)^)Z;pTc Y 41]C<Ğs=dr%rTSlZ~Ѹ`kЅ(E^|J狱I}hN7q9~ݑl1KY4 iF!%/)f㡀cэH0v٘ g _"j`"'x }W6Vay[&5;\ɐ_߬&@JR[zW(FaFo wi!G3Jv5wל5#C l<L86G&b0Vy~mWaklpJG!ʴ΂Oߗ\n{Zߣ.o gS1~+Ƙv-%UgߗEw/N>\jQ9MzYn&39-4} ͫne?j7iP4t ltD4g$"y$#Т!`$;Q3O;bU/M`g&*3pz#6bEA]g.dp7ߣKc;J#Zsϭ_#-2rׁ:jgc0_;V|xC\7, imqzl]hg_ C'A}e6GI@<|T"(ݷ\UF`&r؄W@"F͕AJ0l}%fk`rY*sF:炦+hVy熰zKӞk:f~ه<NNщL[ܰe&w+GtNs8!P~|,+lXs Uf[HU`MϡE$"+{ Ň Yy]]1_jq4 PBX^m,1s9:,+*fd.7Ȥ)!'L6ӣ 45<XK7ۡ=L b*ްW723565+ rgm'W݇լS_]P 4 nb#g('.[9 ŦAau5N#!0]߾<`bĢ啺XҺ N`um ά@"޷ߪ@ gg(a~~ji~I4 ;q׶3wsH4 ;|OZ / pVJ.vMf--F$AFq*v Ql5dL8濊+ľna &xmT4kۧL:|Sz !`=&\y?[u2wش#o-Li[zq d|EدsR? Pa(Ff 5i݄AuJdHM  e T| DS,i5y47iUq=FXFoˬ?3JgD#j<.ll:*̎{v c ڃE8DX+\-ɴxqտGv?:Y淔s*..DGz3d(PQǍfA9(p \ h$Ӣ{M2Y *@ci v0K#[!>aSAYn3-܅2 $I`K_UEqX"4 C00E/}.ʀlH8;QV|. ~zÊ%~"]Kcsi `R0{ c55cٕȨvg~&i Ͽ EWXz|;Jb&y'5Bf잫?<ȏ) W4'Yy+ngQZԩ\54[=8z @3w+} M%Ђpgsnn!3պFk:r[Y> "E!X(Ps `<^Ф .6s:'dxKx?64­~z';mI;@!ZhL]FHHe}Sb3.SUw*sdzbܡ,R/*cqr?>2^y^, $QD4mt&; .n!$0h߅&(%iآ+2[3( MqAuO=``WXJ kB׾RZ+,f>LͤK bZ,ooo!-cUAw崓.0иm# 3x=.[qL Zo{/Ћd(3Of[3lᏮa-&xs!֨IaOÌ(ʗRJ~<-JdCʹąn )¢S(ъY5$ֶ2g5ƛF; LwגGS M %k@QȘ5Bʘp lzk+ĩLG8f i^2#'jK G54beWhŚ~MN)q4=9hS=|202W!"#I9$Z0t}uXDP/ձSR=p.kwdV%2-!Mɕ꾷@(E)&L&pRL~Ypo(G 7|-J8;,]楿"@5LD4?*f,:ʼn )Nُ(q cfK$KU IQEVEK~" M XD*d)/O!@Q)}AbJ7h%5ӼWQYHfQ%|Y866zlDPl Y0?}O^T1cZ'(l -AA +BRGU1#B>9s>*1IZ)r|A,:v%w<$w`$h s^c<)@U۲%9Dp.fdC$L!3kS \ r@k;a׶fuuL: Usi G0Dư:jZzBfs]ɈgM91dثr& {tJOޱ|gؚiqdzS#ױ4M73:+nlX%I;V3 D!v#Q {w}rqK"&9F`7|ԁVb|\L/ C8$41 zLX2}|&- 5XGW[dFtgk:<YIj$lYco 4h{4^nkxv X[XھCH(GEs pG nG+\a{?RV&,3` a 2Um|oZ..C`J7V(A.ܯIm L=l{YbdPVB TY*lҝS>"OQ= 3'|$ hg^av{`dѧC-(s{.iݬFW~!E%U7KDHeb vͭwLYA/_0{ýTgUo˻ei(EdSpdG MwzvSY8'w8X{Q$ 7(B \X ATXM֋hՌޣl)8+KasX b-7q(aGQVDlpP C MXye( zDZ`մnj- ":̴S q#|`|C0l@.o!|~M܏+ ns4ȘR;8);Z*fR$!-/I1X%TpwV&^\(2z.8X^[;:K6C ̱CJ,r ᤋV"SJ@% KL0aYQN +'sT,'BWHwתXaho#-O>>?;f~އ-0egG% K+6MR-Å U):J0D{ oNՒ< fLT+ixxow+}"c.pIa9]k}P|oB 5K պ"kA>mٝ`a$#O-DLիMfޓup{Drߊ!g{棘9O-:Bgwp_J|H@CS'|D8-65XцeO\+U*ٝS [j}: :^ k쪓VT59n?5YBIx<'q8>\s-YBm-A2+^ElW)T/m&ڍ +YiɠOfn_P±>1is?WsQ5ԭ11O\!/HR~rx8*Rgvi\S<"v0 S~uYȱ0m< c/DZtYˢ+G[] +:MK S $o[@l:ލ9*ױ do׭~T<0txRwsb%-"V"'6+W!EtP>QUW&k*QxXeOc|ǁv{g`_8 cG_eLsJӽe!^ d-# WMɯ'%W ƝXl Yx%+/] ~YgmXUŞcЏK =y[u Pvo< Nq-.Mzt+m]iW `leg`@&N7t&|ʇձIԩת4! pHbKl1 }:߄JAU,yU'nx-¶U_MUCkp71zJܤكTfh,QӛƟp% b iWŦd` UkTP\#Bvɗ %ЉGuR{A- a,Yo.C߁@ Wˤ]eaM9qW)9d)dd~ޖ=Ԣ_Ul NY@aۛ;f@r?SVU%I5p4qeII& AZ^rJ-ii#1]қ 6Ys΂%FwYra%%:?o?;R1HA4vI,GןO?TCw>H䎡/\S_}Z2JTW^Sv`4[:P3(Y&Mb„G smmB?2ZSGxo*Yr @FAϽ{ .B\jsc\U+2 ݓz 31F/T% ݜM{/g+Cժ运E/VP%{FMZHahб ϛP {cPoЧA_YJN 5A,1Q\!oI'R5UF [·\YFP+SjV 5F%SHlgpk@^H&|okA @EC(ڎC ڌ%FsӹȲA~XUnlNwXz; pQy">El|1>j- [+o=?/|e9̫,z`>-߲tHc2 ?_1М#WN_O z緊N/ȯ m'8alY8mTC"_rn/s]1{Ā]@E7)_*:L~P4(&d*m t7\Bo]0o/)E]0"20^k$y͑POCw1p?mW^8.䙁\ЧC@~B ykH(g"<+xn<-W8}:w%9's͉:t&%\G(nxީᒍL"ڇN+KSbƖ^󋸅RvaQBCJ ҩ?SڊD,5㳫 tw7YiKRKcz?֛]0I IiCĤ2̆0ũIkwF,HoL~ [ӳ-bs< r'o ߥ9A~>$rE3F9]j\M41\nR~ dnQqwX.=78wQcP QmD*;R32dnDw >9vu Arހ 3! ə!2ֻ֢MRBҗd!Br<56|εaи#:B@`y[@ rP&GEy,h+87c Z |JEX>(ξ '*3CLr4b6Ez`|׷O^lu.!`:`V :S!oI=!2Ysh*HC"DILh4t [A;|c|u/D5cޗJZ˲T|O;Zd裶o&`Ο@(4:fPr,:>cMkL^A's^9aTN+~½ØAGPOHh3ƪ[nI\680%V} S O现G4^R Q,wSGF6#f4(Z`Gt,< KݽHdS >E")𩴿10SUċrI$ UA3b <3[^%_!I):X8 XI-%2yRSj-;5*޺ϴWun=7_ܽ{m6)Vؐa9;J섰^cRڭY-viNc2$*nL =wV8 QXVfKts5.`.sۤPO 4#6:2\FQѯwȚŎtZ쎗O,yl b /4#$ZW7ڦ=4XN3|L#UNdmJ_A'>e^ Ȏ%zf B_f=݌Q ?`ـ:'ľoX8K"XX##ȵ'#MHkQd3Wd"2seO!M'|#F7pF]v x"0my[徏LG ~=rґՕYXfUZl~@sx#6EeɡDP HoM/_O ].2|(28$ӘI.17An<X /C~4]Gm$]DGx?dq3W[Nd8bDZᾔVXy+0wDw]㞃Lx?WThԻOkduA{d1 w~'}El9aAӻ׀'j|Z(@Or[9,Z,גGehZN)UNy(kLSB%7V&~b~G)$`'|$pkcPY5ؼ-QB Mc~d[+~G$]4ng=2gR/U8=J!eQ>8q ! wm#`?7y<Q=R%a\j#h)MMI1w_2O4:%3XPS)ӘN"ɇrܜΰ`>|2&Q߅ 8P^:0~˰°ڥɑM^|/^ۍ31EM\u}U`Sc:j#M[FܹșJ0(_AFir5dseهjSb-;o%s RJ>i!A#d@JUnuLmTħOG^%(k6t&7pkr~7xJ- ȴc> kE=;ҝRDBIHOαilR?dG۳OELjߋw&Grlˁ/ h+7<"rN_ WQvb:/|SId)H1y /duѬþ`}lP]"׉۪&QN ~Di XUڏ(ʎth5嬗Doy->OR;bUȵUnJOx"^*[(1S<(.ħg7hb2`)sW35WS-÷ \̵r?[ákO T?^{P;.b|\_PY;^VFV9C[٧''t fI%eeRkm9vcm~|pƵ;d/ڪPް9#qZ, s}cj1?Ď\:uud=*>ZyHo)oKg~0csOEob-YN^S FE4b*6UeoM]_էvGa=Iޏjzpq!҂̔+zJqzWVr(U;v00nJk/1g@QlD/E$ pfp>O`f/x'Z3Dp:KꉉL"7a>vcr m4"G)xE(zg]'RbJ F 6ՠ:3:/L-;F_`2'\Rr!~UmHqaPEmYytj K *v c qnȏ-S7`@l\pb3!ʟ~ґ)l#u`' `$Z4 kk/4pIO& \3Fr-p*Nr>x@P|?1ȷIƹJ*!3`.w=Gx'V ٷbƱR !S|ܮMU$[,`g"!Y ()A:vmh,@5poy·i= <ҲJ ':φ6ai A8%@TѷOTA`t =ugH%!Dj6BT!9XRFe6x5QL'Kv͆%*)=) |+;v=7]C k"OQ榭CNP,q4i Yp̜6V0Cd~YlKJq QptXh1ӳ,D]h-qMAtSݷD@%t1%%&` 4K|fxÌT]2YIu alX58ْ1cx+WCG6k0vU=4ĂPUx9>US(JvœWH 6G̚SYdMQ+Gǐ2+ _Ah7LN<2 @$D9?hT_w}n * C:NhO7b7TA \{=J`pU>g4Q_bSE8v$S7T*P=*IުW(r+Bb8PѫO` fK@Rѫy:܅_l6C45LQ'8|"Yf$\!~j8m}8j8PSn]^SÛ7se[Q(QNkOqӸ\Ttљ+Œ]N.aYk-4Da.F}Ѡ1PgZJrxu艺 ܬ'__ceG*#sEW!=bHNf.-%P~C '@Z|2b΂E?RfB!'To38y/kU簃i\Cy25cw-.y5䀵ϒ*wgcNTqi#?tI?B$X}5g+ Q$$AKwirgߒ ҧrh/}{V<6*$0 hU\uͨHd[YU!ۆMmYbT.;j8;ݾ><AzSϘ}0YtM@L6Cz2,(̳]$9, pw#MԽMvT7YW`V9dsxs/PHTWbK\=)9sX'1,MݚI '7(\}WYqA"FVxTv~2rred+DIcC4Q+> YA P ߎorxl!/C cEÃGUQ pH~_4K7*CO%C uۺmvז1,_>qR_#,Cew] ^}h'!S(tz w?vr,/XWc3Q=2|ƍ*4^ ._Aφ/U_ubiK9OadDm"j0OwJd-Q9ri;sPUġ٤e!?‚ڄ4׸d(᭚, ?I,t l꾼Dv kP9\S p؇רt;sR'J<&`(YQt3B wxW?Eonǧ BMwMFuXoopDx_Yڗ Et fd6Ѣ`VU(_G'k@ILedپPXKM$ AnmJK;f6a,&+Bkb/; M߸L$z{Gn_KIYm8R$4|=/,OSd @:[ej}5p=3ZшGe_O~/C"e*QsdVX7ӾTv 泲Y?߻} :K !mOqŲ%ίYS_}~fߵlw4K+n aPҺ6yxqJ;LKRL@1`\1%+`18I [ JO9ucR6iK0RWU$zb?&>*[BDש QGJ5aH4; 8i2^j0_su=)E*_pB.Ke1it}K Hm%QK* 5^sg,C3Q9<xd\;sCD*-(ENy/~Όwa!8pG`0u63Vd ؒ:iTc7뮎 m..!4t Fz J4vH87 "PGJDS߄w雁XYQ|b 8r?(1kSK}ŸA1p>^=~hGTc`(.wvJt57Tƌ~MP?.'XekYj=T,RqVX#`)Ɇ~ OCߑ'W{h0k|!e'̀iW|x-XWh٫WQK }CdC2ԟtT+s߈^xHM2|A'zbaW8W2gȴcJ{7~FI; jqfyp m |_-;N> *3 ]P= eXܷgkZgm>Uw"g=Hq^I9c"!k;"L&keD?%+{Y"Tgq:QMGHc.:WBi"4@Bvӂj~⓿̘ d2/:o \TVK;/^WM'92 p?ϾC)\C[[2\\tC/6 ~ Tc1ɎxYa}FW]yX{)% VVCD KX=6iN b/r52,E p1$L:í.N%9X'2,?ch rWqCPSYڲ2iMJLAp@".DN{>XL6-gcR]Xgs&TwAmVLIȤLirZi&\ m哏^9c˭J`\*(^|LrϑPsmCՠBh!9k]ɍLv ;圊Uru"IR+,m"_? ˚uUri:B<ڮPf7{c=j#n)n#u4ǔ,>R@${]S0i}9N)op +BWI'rC >m5ya8A< 'S5oMЦVdYа]w=`+U,|Y Ť--|*YB}'=e,)3Wa0h6QWNwiuN~wc c$RK{]nQnZrf5Y0RkK"D(M"mu!0:lCc^+C A_]W EhQ'ch 6"~OH?~'_fX|@WtAf}U|4a3}Gk[0_(q{!&YM_O fcy̛reITPi%T{mCyT" c+Er1 kvֿ8ZՃ&fQo<}XJ2 tN,-.݋B.REu'vVnpm*!wB#IaK?%=C0DSlx7bZ8Kcʈ{R:X(xfZ®姊P*sѵ$ J|A%yIbVĮ'g-&&_)5H@gl -p4ܒ 1LcdV/3hv€.?61G)_,mU;^ZiiʈߋvrsJsoqv󵸇5܁||tW!{OZV"098_Sćn$UMnr+ '(9 %,ȢVgby/z;x![pyn4Al0܆Ï8;-u6#:.uXo&B^`j*3Phq!hw67>Cz ="QK#C`9Qg$/U\} 2nW(z2M)Qr>DȮe'Ӯp,?XsRBK=/[N}Kr3NJ>;n;VR)khGـu%6m I@`Vo#ݟC\ ӈ`geYc ]4`Tc@e+tFET> X1N Nn_n1{~FZlE4D8Y]fJY&Af\`ה˄fw8i+Jp7$[Wg?-'KPF@}7k;R}_&DR# Fƥ~ :!i#IPoj>j+.XfG).qL7|gG^YA^l ^ZOuC&BugV>..$a:<}C"_!wԎ iΎV)X6=Wg7ҁ8d%\tǺJ"*h0<2kV|8 Y-ywdXպVfKqjylZ;cw2|_2gn{1J!Ŵ N0ݝτ}gL`,1Sc{ъ $̶ YZ