libbpf-devel-1.2.2-150600.3.3.1<>,րfL_Fp9|f&3n\(wוQK| fgV|wI# ؖA+6=C@ᲸUfaTRj1w寉! +Icm@V$b&JkךҐ r՜qdž "osk_̾ } )mv<U <̖O|H|'%a~Q^- @-M7J0V%lr 傂y4qm䅼3j>>I<?I,d " ? /5@   H  X4X  ( 8 9 0: FBGBHCLICXCYC\C]DL^EbbFcFdGDeGIfGLlGNuGdvGwH xHdyHzHHHHI(Clibbpf-devel1.2.2150600.3.3.1Development files for libbpflibbpf 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/libbpflinuxaarch64NLs9I E${! !?qkA큤A큤A큤fL_FfL_EfL_FfL_FfL_FfL_FfL_FfL_FfL_FfL_FfL_FfL_FfL_FfL_FfL_FfL_FfL_FdfL_Fddd1674fee7c38d4f90f8bd38cacb0eca8c1fafc02d4890e078ba8e2c481e417334f8693c88554b9377dbddd77efaa40113919b3245fe5a517160492e21f409328f64b77c97b089ca06203d0451407844fe93933b4e36e7315a294745fa29d058fb7cb679c3641e9ca8d0c317a13dcc3553985fc975cdc3678413b6e1547bbbf6a7e320a7681c18208003b15c222707f55584752ab1665fdaa8881e7e020885141473b036a5f154b2d5a9eff74e4adeeaefb649291fa151a830eca2177d39d2a410e28e5bca81a5d782e27088da750712c747acb9ab1764bd944bf3e7fc15d4b50324ff5032adf45d6cf35aeb15e8335b8b8b509d5f63a43dcc1b2ae345d623284856479a26578ea1893eee35510daab188c7547bf18be0ab01d38c295420ed95b24b09b8535b0eb9da94e8eafba8edcb2abc742bb07dd870bd216c3eea955a18d8ad556d599405c7c779b8eda644bfd0b0610929f1140734aaefa961dbb972af14a2f7fa02729c0bab05f5bdcab5b0b46e0ec91387518125d6bf6c4451d536fe6ba95c0b514ddb2996af399caba5a312141b227f36dd91f7e0d08573282c9beaa6d78a7039f0c5e1dc558d775f8f5d353408122b4524b1f8517e888243622fa39500c7316ba0e2d30f5a95983aa7bd5f816aa9c94cd45eb6908168a44f22b76bb6847f4addbd56e2d5be20c4ea0845e972672fc07b755fadaae5f7abd35d71e349e1638b9a0c68ca90fad3df1d6b4e430804d2fbdc15e58d02cffddfae38953bbf0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8calibbpf.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibbpf-1.2.2-150600.3.3.1.src.rpmlibbpf-devellibbpf-devel(aarch-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 releaseh01-armsrv1 1716281158 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_Updatedrpmxz5aarch64-suse-linuxdirectoryC source, ASCII textpkgconfig fileUTF-8 Unicode textASCII textPRRR>OcLC°r}3utf-80a323960ebd21e66e6e2c774ca0499100537c9628d40ffce73fa7278966f15c0? 7zXZ !t/H]"k%ʽe8^ |E y6Ya(7QzLr 3[x&г xB9h 1kG294p;GyVTϊK-T2$jO3g!;ÿt9 ƙC?nq,`,)HN#ò̦e>7}OP،CEZa2&~Mm!K0n*^ΐUJG\iOi lcŬH)AsǏ6ʊPkAZaّ 5Me">OhӽCš}RA +$b (䕙D ,:8hq%Ѵ姖pSv+?}E"=&N8>!P!5lQoԟkZfwjƒ/SFh'1DiG3KkeEK8l%O>?2-7eUMϵbbF1Osnj^|lH HN GV_ŖfBP0EX[,={@,*98¢赼W?Y9Bܭ> Ql0^@ݢ'̷:](죡u(o£B )0/^v$0oDaL'F0~BsDA2i3Pnse)̫w2 l@Cz&-'oԋ䮡r,c&$è{L(rڿ+X2(Jh2##mv_v8>SU4Mf xswFN?GxuM{xg8_7F?uM!%@y0Og۳ĴOfAϴ!o7mDȓd^gnEvG-v W 8VoO]z$bC·X/HȽeӫ,8!p]瑌=6;Fl}Cv+*Bz׍ɔݚEiJx%~qsu'WeW~kε5 R!ٻ=ʀ$O_sZ 8l6b\D~j=3`u8/!f%+쵞z*+d'6'= EKv=V&1e2F8hO 1ܱnZOˇ\2~1H]nD [;N‹/%357?VX{W2+툯V#t-?pxIY]?mm?3;u* 0t 9'/kʓr, lg*k3+Nq?\;jv*&H'\qm O"Sţ 2` .(2PL)+T9¹ СByeʎl9TЊ2pYy],eD>dncYjMCKNS= D*3`9NDqHS:r摉v'7e]TI.EmjO ^$钛gS?ghNf1m PQ(w4'~-R'VqZ6ԕD*g .)fE4-ʎ0Aw%]'ff /HQMt>2-pU+5'"Ċb];]dۿ1>1>=A 8)Np8&]w1qT^~b"3*XJ)?/@.uQyƩ{9i+5Uqpg("(I\YT/ҧv _=XGb]$]/p]´_TFUdoDC 64OsXE7h]"5E)|Y-j줡盥 9ujhl̢(n+yR[?:A©dgcF 6eLzhk*:+}=dv-I>uԓFTR4RP~6I8`ԙmenf&'4S#ǢQ|[0d͟vlVЭݚw*$XG+Yª e`x5>HG=h&nTD#8K`AKTu 넪 |p &gKhQx<)mu΍U789`q-{C-ܙn ,nfa@:2>[^H{qS}1$>=r5qVG%=E&w5vyn:.nwȨ^T HU005 $ ձ2"Y=JvunݨIkNb -Q` w4@tyk&=Ѽ?^7ΰtqGX7~oi/]Pgӥӕt0i62xS6e)I%('m7ǹQӲjpAN آlٽ0ZcyR4NU:0hkrC~pCp]k䭜>K},9!R 򁳒_hV~/AٵѪ荞Ě{Odj8E2$:KJ\'O2XM> ŞqZ kžf2'=z= wqBD"VB3gNY2luU9R'[G!=750WHV&9T6$jAk~ \ <~Kԫ5٦ՎZ9?DUv%[a`qB ?>!C=uq3A,/e`]!xso&}Xz8>Mzoݜđŷar_vGO+*AV⧑ȭ2KV(ڗ;W{7T t^B'P}t{OYMnGЖjs m+`f*RIߠ߃*& ($ӥĬd#V.veuh]Df$X+"557y8i.B+|2 BL㩷|V ;TefOmC6/50^y$NieakTW4E6X(7:fx♊D)slco9ŗ780 E\.U?5sϜzd+2țM† $-8u9?a?=LD 倕e6kDuT-T?={K!Ã=3`P*h}xKlqB)>.HE ʗkH;,P{UoJxNsQW&J%.W[;(=?Ldv^mN !AK$%bv{4cz]FN08x"b*is2z݉U21Or!cyx0Çjdu0ܐP>})\ շS8vّy:]v0y|@ z}5^ATkQOVɥVhS%%!BnS,׺%!T?m^ۼ qʼ-Q͎NE[ lr^)[tQfYn+ѓCZPXZK.YVkƫ`MNjK]ʴ蹵s{= (`0A~r= 'Xc?bw}o,>2w;½8 xޒ_)NE `0[@ lS("-|εЯhZҕF?Qq1DH%tQ# .DOezGȡ<0n~UV&+8fU-"xd#i%맑w }J&anCȅZF8 ³ .r#įeubx_!^%F,(^87Z|hNErqr߾/ 1rh51ە>$9y#Lg@KT6ٗ_mxk~XKAܶsɏ& -ZTd?V)zoܸ&ߗ=V6}k^MK^+(o4T̓܃(Rr%kAkK}-kBVU![ׂ +"/',s` _gfɣR4MfԃQ_{A1?hXg߇~l gVPhpq> opCC1quFs8}|}@7& I9.L!kXG P#O/蠊П@}# 3wHȵʑH"lQ<{C5d<>>+i!"jt0CJḚ*&uTvk|7X@>O ;3 $n5lEY&4] pQ@qU tydbYxwҒf|Q>@X ,݀${pb.Vx@xR vufgޘ! "Jkj/FS߆SG8㺥TwP1`;yAׅ2jaWЅ.  [&]܉ԊCnAW_;b{,H>DEO-qV2'-xI<XEC=Lm~L<ɆNwͳĿ`e c֧h^W)ǵ20;Hsmwޫ/@Np %g.ll<`h5G!`|K0u mV*Tl gl cHGE h(>*eV\[ t ,y9{ ;\V>8r-Phlnj0fbcÖ.]J֋NkG8c{ʓ3 KֻXyJӋM<|_d12ugr՛`r4urwUȳ˷t32pL"g [TMYL߶ukAMV]4liQ  fu+1x:QU&/w8 w4ShZQ*@bmK D$~cG<ȩi]˔ ?8=l6p3}LF6Ve4(Wh+kX`nO3 l ьlO1#~$ ݼF\@.9rã=!Ut{_#i퓂[t\Mwpڐpd'<4'c}W--hOHB&~W'+4(3E&PUֽK7@hw)'91ÄV_(a1E5+)$Lޅ6 7͘P]֕=Z80Qbٙl8G9,붚8̚(+?OᎄT\oyk'PΤ&m$v3s{{|ٔ"8q[ ,j%|%ҡM!ٞBF/ з-CrLuaF h3. }Hܶ3pm =Td xG*&P(#7 Ĭp27eK05 K4]p,5'$ 4ΟGZFk>1Ռ,B&@zGR6Kٟy~i#]gO1X ]{'Q::ϹB붹+SRѵ{zGCx`%O1|*D, xT+$ t>_XA]4jb/Q#hTT`B:JQ2̹72p}qlsc{+a Ce.$oޖS1.gEPO|F=Q%:+${E[3s!!T>>x~J+8g/F9Cڶb-VR2Z`:bܧ]R #DQen=%%V#,/?v[]k[?*6col+xp$F^`x*i,%TO 6ߘŐU~4hO҅7t2*gf_ykRpghNx  V9^Y0fz"Xbb_Bq^KsRw L>t hpvR.fHVx b 8nVU Y>b !}Yh4<^ơ`ecT{na(n{~T{1WCx7LOa)q @:G7ӘyѮ#sNv@k/m u&Y?e"d9G~D3,_2_.GVpv OVzY. P3g+uHx?X}?L"!jr '5u;pûu>RNLR!o;ҁVGjUmܼoVqM )wZxxQvX)/_A:W{:8~l(v#$DZ}``yT_=aյX h'jO;$-GX&iz |iPZKQ_Ύ:3v2*jrcYȦ6V%nbP,P ÉfM pxŠyë['|8&,i#UA /y0+:V3}MT3)@եmoJlݔ)r<mObhI|ooY[kDTA|K_[0Q^!T6lk{cx&e8;smυ&ťĩKLP&?`ai@[Cq8+2V J=x#.K|o.J7UI2i xUy{~'>XUm| q8{wh炼T[$kQ-E`%4_=>,!w3xѯyzpX3@H/ˁ%eo %I8^5 j2Y+9vDgy`rSB9$tǭm$j'5R)wF‡'%;!8EXH*889rGd㿂Q?^;)"+Kvஊb&=L6wEOAڗ;} e$wKŃuD7TgV 8;6ƅ$-'yk@x'Eۀ QۨfBf(tnaXS{5m2_re  O7s,L53$.urba!4:ԢlGt-cOJj3ҁ)mJ2{^BuWV(мH=+;H0RZu- $}5=9-p69_U.c)圕QRA!DuRspg4FH:mx@El!dsl/K-mR-6ҽ9d&1S}G2RhVSVa?r۠< 驷YNpKoDC1`"K5.-1pFNcbp U|^Nsmk6;͊"6$ oEt|U @m'Ӱ-7[Me(3pXNLфi.*⇈_bL܎-rSE`d8kU59knG9ӱ:f]vΌ$$C9Swa V)wZT0Q"c`m k`_d?/p~K|-&Q"j2_O2?oR $rEw] XycŢ'=Xye*m$w-)F!`^w\^cV}ǹKtgPr?ſ={`'`DHOZ1B0y}NNNtC '}oԡΝzPdRbB{f`WtϗSˎ 1?" F.FptznҊTLiG';?>Ww׺ pʟM8İY>i2^|je'#"UݙԹ<K(v;-7:Ț 긄Wµ{'vafoWDjSUMe -ՃUy+qj+ ?)_0>bt٠^/-sH@n ˛C\ms\v[=| ߆.0+;Ϩ\)SҼL~C)*z.m A:Gr q}aE0`3?fmXH 9sXY2z@Fل%ig4*pEd\Zd%Z7ܯpk+k;_j۳F j,x89.-thmI*5l%>MZ#dV$3A5y.pYf6I6&jc=feu4%(E;ڦ[ DVDn0d6 AxwGNdTZ[ 0Za\ g76 tA 샀 B]M˯.e۷Xx:M􃹍PwXsg~?{?*!+V~;L'9{!o?#,hqu ZC1]]`mhnELhłi#ԛߓXU-t-(ݷ05 Ӱ =4C^ft51|a폻ǯ A.T—;'x\K;xd1fXx(S_88' Ga!f4k?< ]Մ5( |G  { kDݮ",Y!^9VZʡlL̗= zj UF^*MWՔ;TKJ"N8F¤oivS׹5FI(_%;Tɠ*ɣ¦lkt\)͝+  gZ@NʂYpmb MAӑ:9z7e;gpCrUe0abaՋ-QQk%N&T䰣H[3A|j$r(W==8QˡT5|(JU*3KTtޙ9L‡eNdr#ET֥3 2 kȊnn~}İY9EuT.[Fϥr0{2|7QEJ3Р߬7(f(Rzv8|N<,w95;Hw=\w4*%aJdۘǻ0*{Ɍݗ[֭ Qh1*d;~mx`Ij66,px9K6Yh9@rC^F m1L^Q3l90_I)H=a"H%8z u4M_ڔj۽D8Oh0Dߐ*s5Li wB4Z@l|I$?b \v4kT:吢lDJT#9qC\ eq=POþ#s %ۺ(*g.%/ihUӥ]6D 4 H;pna:,5j>F dr')ey QXdB!m;`&rMݭ"𛳯X0N6 }%J`IdJD)hg:EC פ5R"ɱ; ʇK;'] y[F1HWcV :gϤoVZUfGHLfʙ6= uVO1#€Gg-x,SN NBXb:.ܐUݺ+vd *Be1Q6m'9(Fo _ v{"%10t6E."#ݴ\F٥kW.;Dlnu"jm% Z,E6ޞ_YRbG0BxBͩbrPtqmq^XZ^^!m5g#hK? Se$dqm]FʭF5r=PbWUgi|NUbOV@c+~~"6).V!vɚ .ZŝL 'DR\.I2J}4Wtsu=&>L:z\4;V۫IP g+턷ȿy2L}*u] o^ky/ӟtw$k}F>IY?''+=4NәDp˾sRl;3 #SG;/wFҦZ.}e~XC6X0+N۫m$7:6yOp0D}Ut/6{䞭[:zbeWdQ9R8W!h9C~]w5pL)5Eks\.1əfp* fwRw%^V 7YwƦg~`Fc^]q/~, ,6dޓ'0KpM'x4D=լ9=8ZcxH>d?H/%e4R(J 5N $O 5|;SJCLPyYj:>IܖyO䡿&Rt5X?i5˥]Ңn svnM$[#syŐ@37×,B$V/~\2k4o QI*TxiS5Dc5$7gN(gU1#G +5Fҍ4M@H|EI />% " FpUe-HC0yLmXZX$ $4\V?D+irٜ\ĖS'TWY"$/"~J7^W;k2% $ϻ8D E9W_qq@umpӀ-P2%#OlЗ8>{.kPq}4Й n\.r9 ifJOS[|'PpL]4UN#K; Hd`J]3j~}1{D1x|0S]2Mo[ ܡ2S¹]lR-.]ܲnu|)y7$[oQm>`.s:M!?qa8޿"H(X(+OC*j.(5 GxWlH]N&&?;ks:h5f$-Š^.fưޓɸķmt]>֟d"T#8{=rQ|IhѼȵ=M`Ɨ CRrlP )1?-d=.A)']\W^f8VB ?v HzD}n!)lZ ilQ<8TKFPb੠{x^dxyWu/">9s"ʿ XW2@F9w׿rk`D\h0U g\FlP/sjBw <+' j}xk<yǖ+S2z\fWzA5"#G eJ X/{>~:fU_ ;@d\פ#4 _\zIG M9!1Q6̯< ;F-zWS_MG|M-g%,`8ZGq-8»fM)47A`Gn$$QpQf֫(Z=G:^498 fhS(($>fPi6Ô{qPR&!Xݵhqe^U7䐀F)NI% jЖhvKC TQ f|"xvi7+`ʮa3QǸS9zԢzk_wꗳJFJW Gϙ8MAv#z .DU^Ȕw!7xMp qnǗ.]cq"䄩 uY˻ iJH7@X0o*3"^;M IKL9of;j)> uq>oOl+Y,tzr!% Pzfŭ8Vsx vJZI(8'J^猶#q@]Q;H,ݱ/Sw',qzB{sYs"NVj'J^_bZ⽎dpxi=)& 2_dOl[J%[h$ɠԆְ*Y:٠1dc]g[EkC;Fj bEYMsn$`?}jC`lm ½ IiN?  _7N\K4dCX!&rjNuBΛ ;P8#XFR;ۧ1^ѡf0*oQEg/b{'FꌿFs.DH8xmz%xV6U"!Wm/Q5/v} ֦i4+P$Ʀti0P a\`ӳD>]M:* \`nM&WyXкA2uoUj2?jٗ(!3~)q࿽ kVs\9xaio:jʫge7X@*tWPxp3PUyVL?"Ad1GɌԭitC+n A笺aKeڢ(.R# 5~Ćf&XͽDzfITE$opLF*wW|Q#|2pHO,Qb[R7<ךnN|}8ŸN׼Y޻3 -"ɭ[2/K%A1eOyں >́J]; ܐQR 4V޲8lHݵYLV:گI :E(=3DyPq21juGk哴'a@9(mA'M#zϸ[+Kل1(Je!/5}X̢"wNS{x mc|jFŒG j=n> 6]}T4N0N >\m0qeA s`QȍҗsȕVݜ_́*w?d TǼ̗P ) ȍÖ>j_#+1|٣~ɳ 7)霕D=hlޮ&Zv']{EvmyS6$ |spzfh /f0Ii9gsu~YY ,%Gca[:sJR>>y{6"\$" <É%׼Ĉق &n[ܣ'/q] Hw?~'Oա&z!?RCBv?)LkGnAIT˗5^dahr\*F 1%=ОpMO,ژչdotܲ{7UW$_Jfy3m4޷PDSBEB~[s-04 4opi,C%mڐan@j&/*"6.l]ؠwT$D3|&g˼8c}@) BU &hw'mP-6*T1fݍ`4Mx͚ 9Cf*p>reV%lw/~aҡ;>Taq.<.N/-uCͨX[p፤"0]<PdT"+sqvܦe 8pv]*zZ}_n<\TIKx3bq,m9~j~@:[=^_FeN4#n6ZීҵOO Ub^2SNA5ߕqVoX'T^_uԂX!S uE̔P; "Qܔ(T"}4a.UM"~C(3yڀIn yr b-}j6S;R(I",I25_j|EM\{Qf!(@)pYI[e3z! HAsB-Q`2XCibaP*O!\b^%]~Qu1Q&܎%3pS8;3A_ fa> }\mxOTL[ɏ;EvQ3k>O.W d:Hn$'Qa Y{/ݺ/_gg\N&.jǪ 5/hܯ-}z_.G @]U;L3Qd%*J'R~ .[NsZHz TDToR9iVFTO0EAڂQM 2?2n%JٓJhjΊ6J^IsE2BݨX"0X:V#x JKx's'Z)ֲNs^_dA K;J`TM% 7 ,Gi |Ӗ6V&{XG_/ETG|a/IN1B] הJt}PJVMQ.R '0 .h^IT >RQVkn[b&xlt{*ßM/#[L6wDGbxyÑ OeV̄-EDʨ]fBu-'Yޚw5gvy+bw@%b-փ֒T~K.=g^c,L~I,ᑿ*zwծ~|d>;Ivs2celo3cs_/I\ +񏂀!ik3Z%[F2-<c~PO89<\\\6N >uh8&ZC%kJ̳l uK >pS‡ZV(lyQ86x:&hR_vjFfJ^EOQ6]Ruk[̾}+LM:Zo )&31׌e8c-at)B74=:+6f3ې޻C{VS[iVD#,ݤLIiZUΆ"p .>YO~Gr̍PGr:[Jg̉98. 8R}f8?,c,P)lƒMt )qIOD)8uJ,جʊP+6\ מ(W=Pׯe&,5j[q?ϪVJ|{9H\X]d2KDx!+lÓʜq?e 2GO`v3g1c }9r@ G.P[4U\ " crҐc [u2Bw6jAJ=m`W&Ss ^-<s>ᘆ/l߭y0Ag4YAk~ucL,wˀO2Ǩt 7n*B/'(6#~E_L:zI U4{2> SDLM:?ILxY<<1X * EI*XFM q0/R(H. џCsC|\b[9 .E9oO<5#xD~!횹Ʃk3{@(=mbTƋZne]rĿ> rnV'>uyL"CC)̍%yqhRtv|DwZ6 ` SGLxM t,A1Vu֘ lA < 7+}wk|lm '!(칈A^'1ee̠CY:+s_Z0;S 5C4>-~u;|oB>sm4z.43BM+ g t7k+Yj@aAܱ9mFR ֦I{^VYBt 6XJ)k#2\_*=`Z Z .2GyM fV~29YɗuԳA*ܜ 0^f?l Ӟ6Z){bO鏶u2C7wQmCµ^|)Mrܞ hz7}4p_CPԲ.F>];/0 wjsO2;;ho }GηӘW-$p)Ulf+>; `񈲳#ymn9K_J5(M rhS["%S6xӒrtɛY x(oU3E7F &+0THKJH`!̢}%B`` .ĺu`{p0 ~.ҍJݕ|䗻 {XfH؏Z=}R[&=/IͫҴ)_BBkSl%Xnc1v![1?2vZ:^kXm&ZfBN&EfX ʩj9ThavGϻp'b_sHb_ή9?4"R#TmNYnU]ԦзfɢaBR-&;wQ_2pv$d݉iI'Ġ6G)ji;!p0+CGeQߝ# ; oJկItםl-G0ӳc8a1DNJ]JCSE\4@P"HGjmm?P_:}7Y1!dg!Wfh7<5SasJ7%^! B@zD>kiģ 4:z=8"y|2B[&iކ z >il"' cvzl擐?+[AllwYo$kF0cnXsUVcPxm u;0)9ǮqO #w3$s?s!h#$6lDZu}KY:H8tyvW W&-'[*X<^<']qj.j'yq'=&Q'>%HWrhE i8A\yjk\ PC9ocCSuSݍB6yuc͗i{r"NBWlEC?=|| |d۪&91r k].ӣ{`dU%,^]%P^t.j )07RDOl3]. @ngj)*70``dH0͖Gjͦn*%‚QS-{5s6.W\#,H/{]\L_mˢ~cx S)* `WT_n)1(uDe)L 4rrԄJ+_VS`jh& ±B'=M+6QgeZfm#-~:+r].xK#&LBP?pmA8c K0ǦhUzu+y&ujmLB6 fH%V]nMs,_]߽0ze3Y /G6gÕ58T8gtIBphnLLU%nҤ#ᰃY֔i;!gV6Xƽ̺KFIV#Ī*fLOC &~t}*T" I]-m{ݹcC_%:dSMxa^7>C`E-#L<5DĤB#{r?$1 [I L%VAx?z3y@2uS>^1tٿ[r_p#N(Fk~R]0i"8/'.l+|TiH3aR1%1=V%a@*ۣNpR`'qGw" d  R |T*CJ $_A+Ę>b 5S}i?#^`{Nj!ƾ*BïsQJⳣB"^VDZQ_ո9\}\EsK-Xo(G-XZ%@ D-#\d!-8 8:79]7n+0W[AP< ZQ Y~p~R[pT#M$hio^k9MLNz6Bj_5fh2`LUV[1ѽ ,9vLqUIQꕱ?ehHCw},j9BL{̵bf_p Aضs,מl]ZC#kZ}"@=盦jՃH.:އf+~O>/"jc^'ޡy7)Ny`t+z[Z:deK.rx$1}~.7&Uv$ox6rN0{ Ll6 g7r >pGV;G;~!ĩ%ӭc1?ـ,\hR<3юs - pUz"`FQZ2,qSϽ BJ%pѠkpU^=F{ o%\e9bXI=Q4^k%Wbm6mnq؎9|f -L7#2lJ;\7ɡYHWÀ"|k7_er rzREh 7>"μC “i:܆)YL9i&8,q4$LϺY(/[Z@Aʿth Og{fꂰ8dZ榎bHr mLUa0-!ģӛCvOIXJ9p\Hn iU>qR&a75 ZŴ]籅MЊџC3j|x}ugZ*wz68oE|MfsѹwoKniQ[[wKpК+*W%l|'!!SM2Ø[CL8 l@4S!N*u]ɔ_*(uR:m]?8( Yٵ R6:G֬F:IqY9mi]nz"Rthg7Lpt&LeoKz/&]9MGqRX\({?4t850k׬-߂ :J4CM@q>Lq?ժ-4%ڀ TM1 &<ǩF QΓAgMq(>܆k:ޓ1r~ׅ^PmW/:oIԖV=yV=AfyY072x6Xo9-yMz0l~Yx o2M]iNbZ7.T*D ƫiH]GEqĉ 8J ie~+`@' N7p]( @8٢GV#fyA k79?qm&4!G\/&uYM+3אS)*.q=QRJ!nGZj)N!X0q>/>&&25%'5>Ǝ߶aq@뻙54Xn{kǝgڞ  5d@iG?fךּdQb G#͎f/e CR|ĴYQF>1H鈿jF[|ྊbL-Xza!R/tXLσzf{TTvE{=)dZN9wfQXʄg<w o5dORWt !Qhe\|VUUy:Pdv(PW6@\_Rx+fvmd=q}j <~)^5k(Co'l4{~$2^0#+Jm#ݳ'/"UݠPIKum;/B$J'\;tCb#mzLN4>I{5+¥f` o-w0NGV񧠧,rx6ܨ2wN1KW8PhԪѠőcv.0^L vShn0l% s}柭l\ҙ%+fJ c[pI8nt${Xf>;n[<1<83> v8h0*eTZ\R|p䶶*(;TaNޏR7u}P]Z/|VPEGE#\~O`7 JCˆl( NFG !t̯O}m<hX?y%ll9Nfls|x[yɖoeoR*/sH% rPe*S#x ZF@DLg*W:<@Oթ\꾠 `A/ d2pʠ؂8b D%w43Ǝ{UdePiwJuk;D"1|ކ_[svb`6Us1yz~(#\֙V_M*caVipђ6t+f6䩴-ݒ Q:tn?oE.rK6ɳq-ΉL{|DJDEEuɾU:ԭ-1SbZO<6qYA2qHF iK 9rVxbw6e_ŔedDkK]R6Ɇ`0י鲗&h.trJpVqO$q/Ԇ݁?. T)~ر{uϭ G)Zz]"\;*D`-d2Ɛ G]3sOt!9\H fUBqDzL= jn1pԡO,C|q:1,Bv;I:$aj"9$ZRÊytQ^ XODq;ɧ4J< cY:Jz.lѿs ²gZֹР,lVP_d].9A{|ZP~}nDm4 MkJŗy,EX19'4ȳ@E8JX"&N4khUHz/7I:k$ψd7lCey.=pB-(x^]jM-N&`%b9"; #>S`bqV-> ʆnTlo~SjC$Xۨ_8);!sniW6Ŕ+y +_i~7K66 \ Uv069U!.oG iEik yixnǼ}::tN[nP@ZMߙqO3r=4ݟ5ܶB.vUKT蘷vjo[g>5`6kK jkɓT e# ڪP")b~&:sC}om`bEUJnk u!G&`jQS엫ɣvMZAH4+*ytiem6ZsΌ~\]s>6;i9eqMK% yd_!WSĸbc)Vt=)[F<*J&Y s cgFxXzo {hN@hsHBI"Gntum: c皃t L77x],-];YbKH1E25ͅ[_1k3Ћա5Yx 6Cèk#rKjT'.lq5QJga~ /& rU,k}zaV"uS!Kp1Z⮧rYb_C3Bj'(rGb|sV-> P8O YҚg+3cSF4qR&Zq=QWfU}n(=<,6>(nRvzXlGgtv`UIkN KEǎ uDgH™Tݡ3<ڃ^YJZM~NX*kXz!uV_J`:yrE4EsP73m=ud*qdp$Jq^9p}Hkj2oְPF@(MZ?Y4g$_ƘcWεe'O!h ]{߃F 8v3PL@R^ܿ]+#q=R~;>ԸO3v!أ%YWMI[}t9l{i.}q#+ۄ&σOWϫFBL+h[[p~6EW]:ɞhHIC=Ok*eѠSxԬ c!jA2]dژj0,, ]((5Ǐ"c#9@`|X%C +Ց"%:z'<ixJ?t5˥PJGهʙ q'sN ѫZiQkmJN H]RsB &` 4Yo$KGBULh +[-8SqmRȥh Fe&!qkTߏfuX_z((@C00㡴M@<&xH~JT/R 콂isq よ Qf@uXaf5]jb7R$&5D1 |* -Txqd놓y[t0V 6Դ; 'dTO=\ی'Bb\FkDlh+jjo H5O'M髅8+alIa<*Gu7I= V7HaO[~3" e_EEHM &@{C*`"S.ơS"zc$I/eTHK 77{%I~mw~jNl QϩGjCk˂1guӿlx BOt/d;κQKN.bQ"֜E*V4[`3qeӮXJ;B^m:+F:εХT xP Qɶch F;B=ɵu9hdoHmdSCuȦ֚s+k+7l~"[υEeh*rrI`o/D~i@IȏVKDiK,k!ϧ;d{ZUNd8 XT,c{7:cbǣ''^$z"5*6ٰYAzFÄ6hfX/Wׂ7u*{+O?7XeAzv=>n݉mt0 z[bnvK"y(PDfX7^z/91myc^egWqVv/ ij&7[]/0[жSlPg+/!-vh׽@^H9%dLֹJ?^y{S^|Nk:K[ZPR!)*?%9 ǯYh*>YC1Nxct~OcH !B+ژHkfe3` <@뛄fۨ;mm%wjf'S4bcKɉئ+ڦ JwAYd&?[UJC7W-ˉ,݆z;`2M*9o.Fi7)kz89AX,ˬ%؂a -Y#+n @!ON׳$rDIK6AcBF=~+Xm-2xa=h zDֻ蘢'£!Z38wδPQ-4iHo"츛W6q}-ea4eQwL) Y]]A (nm6wbP