bcc-debuginfo-0.12.0-lp152.3.3.1 4>$  Ap`m[/=„>K Wy*gڊ`ngp˜Z?wQS:28K1 6җv$EU)z‰_f4US~y. W:*v`/Nœqfz%DTQ~`(|^5<u-΢n2 5acX(? l3A _&p17^ce0C+O  o"Lgjn(,E#iJեy680a560e7a982f1824a23176e5f1e73b5b60ea84590c34687d085e22d88885011816eace9847d318f4521f9f1b7acaeb90ae52b2l`m[/=„}GdLՕ/.owF}n)2/KL *qȪ7{@.YM1}5Coq5]Q{#AC/ɘCˤ5$Y+6Xf1XOe[>8$L$k-9DSD=_%f +|F 646/̕bh\\7;jY'2c5*IU(~0P 6_TWc>}'60vO 5v94>p>x?xd # E' @Rqw     8Dhx(8595:5FuVGulHuxIuXuYu\u]u^ubvcvdwRewWfwZlw\uwpvw|zxx$x(x@xTxXx^xCbcc-debuginfo0.12.0lp152.3.3.1Debug information for package bccThis package provides debug information for package bcc. Debug information is useful when developing applications that use this package or when debugging this package.`mDbuild827openSUSE Leap 15.2openSUSEApache-2.0http://bugs.opensuse.orgDevelopment/Debughttps://github.com/iovisor/bcclinuxx86_647AA큤`m6`m:`m:7b21c5822120d8c0088699a8a953d1ece78bc27bec9cf7c20964cf3802ba48c5rootrootrootrootrootrootbcc-0.12.0-lp152.3.3.1.src.rpmbcc-debuginfobcc-debuginfo(x86-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1`a@^@]q]@]]c@\]@\@\M\\@n@\=@[[;@[(@Za@Z2@ZZ`@Z_@Z|;ZaZ8@Z3@Z)-@Z%8Z!D@Z Z@ZC@YY5GX•@X @X @XF@X@W WҤ@W/@W Wo@V@V޾VVŲ@V@V_V@VqR@V\:@VI@V*!@Gary Ching-Pang Lin Gary Ching-Pang Lin Gary Ching-Pang Lin Gary Ching-Pang Lin Ismail Dönmez Gary Ching-Pang Lin Gary Ching-Pang Lin Gary Ching-Pang Lin Gary Ching-Pang Lin Gary Ching-Pang Lin Jan Engelhardt Aleksa Sarai Aleksa Sarai Gary Ching-Pang Lin glin@suse.commsrb@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comdimstar@opensuse.orgglin@suse.comglin@suse.comglin@suse.comglin@suse.commanfred.h@gmx.netglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comidonmez@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.com- Add bcc-bsc1183399-make-no-pie-optional.patch and set ENABLE_NO_PIE to "OFF" to enable PIE for bcc-lua if lua support is enabled (bsc#1183399)- Add bcc-bsc1172493-Make-reading-blacklist-optional.patch to make reading kprobe blacklist optional so that the bcc scripts can work with the locked down kernel (bsc#1172493)- Update to 0.12.0 + Support for kernel up to 5.4 + klockstat tool to track kernel mutex lock statistics + cmake option CMAKE_USE_LIBBPF_PACKAGE to build a bcc shared library + linking with distro libbpf_static.a + new map.lookup_or_try_init() API to remove hidden return in map.lookup_or_init() + BPF_ARRAY_OF_MAPS and BPF_HASH_OF_MAPS support + support symbol offset for uprobe in both C++ and python API, kprobe already has the support + bug fixes for trace.py, tcpretrans.py, runqslower.py, etc. - Update libbpf 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 - Replace lua51-luajit-devel with luajit-devel to reflect the recent change in Factory (bsc#1159191) - Add bcc-fix-test_map_in_map.patch to fix the build error in the test case- Enable USDT for s390x since 0.10.0 already supports it- Add support-clang9.patch and apply it for llvm >= 9 - Fix sed call for python- Update to 0.11.0 + Support for kernel up to 5.3 + Corresponding libbpf submodule release is v0.0.5 + Fix USDT issue with multi-threaded applications + Fixed the early return behavior of lookup_or_init + Support for nic hardware offload + Fixed and Enabled Travis CI + A lot of tools change with added new options, etc. - Update libbpf to 0.0.5 + bpf_btf_get_next_id() API to iterate over system's BTF objects + libbpf_set_print() now returns previously set print callback + libbpf versioning, build, and packaging improvements + convenience helpers for working with BTF types + experimental BPF CO-RE relocation support + various AF_XDP fixes and enhancements + BTF-defined maps + tracing attachment APIs and bpf_link abstraction + perf buffer API + BTF-to-C conversion API + btf__parse_elf API for loading .BTF from ELF files + libbpf_num_possible_cpus() added + passing through prog_flags through bpf_object__open + new attach types detection added - Use version for REVISION instead of libversion- Update to 0.10.0 + Support for kernel up to 5.1 + corresponding libbpf submodule release is v0.0.3 + support for reading kernel headers from /proc + libbpf.{a,so} renamed to libcc_bpf.{a,so} + new common options for some tools + new tool: drsnoop + s390 USDT support - Update libbpf to 0.0.3 + Also add the source url of libbpf - Drop upstreamed patches + 0001-fix-string-re-being-used-on-bytes-for-Python-3.patch + 0001-Convert-bytes-to-string-for-re-in-get_tracepoints.patch + 0001-tools-don-t-mix-print-end-with-printb.patch - Drop bcc-libbpf0 since upstream dropped the so file - Enable SMP build flags since we don't need static clang anymore- Add upstream patches to improve python3 compatibility + 0001-fix-string-re-being-used-on-bytes-for-Python-3.patch + 0001-Convert-bytes-to-string-for-re-in-get_tracepoints.patch + 0001-tools-don-t-mix-print-end-with-printb.patch- Update to 0.9.0 - Add libbpf-5beb8a2ebffd.tar.gz since libbpf became a submodule of bcc - Drop bcc-bsc1080085-import-readline-from-lib.patch + Upstream provide an additional argutment for the shared readline- Correct the library version- Remove unnecessary use of xargs. - Remove idempotent %if..%endif guards. - Update descriptions for grammar.- Update to 0.8.0. - Remove upstreamed patches, and un-needed ones. - bcc-check_int128.patch - bcc-python3.patch (replaced with sed pipeline) - bcc-install-additional-headers.patch (bpftrace has fixes now)- Switch to %license over %doc for licenses. - Add upstream patch for bpftrace builds. boo#1117223 + bsc-install-additional-headers.patch- Update to 0.7.0 - Refresh bcc-python3.patch - Drop upstreamed patches + bcc-bpf_probe_read-fixes.patch + bcc-fix-ext4slower.patch + bcc-fix-tcpaccept.patch + bcc-prevent-bpf_probe_read-MemberExpre-rewrite.patch - Remove bcc-bsc1065593-llvm4-hack.patch and set ENABLE_LLVM_SHARED - Remove COPYRIGHT.txt which was dropped by upstream- Update to 0.6.0 - Add upstream patches + bcc-bpf_probe_read-fixes.patch + bcc-fix-ext4slower.patch + bcc-fix-tcpaccept.patch + bcc-prevent-bpf_probe_read-MemberExpre-rewrite.patch - Drop upstreamed patches + bcc-fix-build-for-llvm-5.0.1.patch + bcc-fix-a-compilation-error-with-latest-llvm-clang-trunk.patch + bcc-bsc1080085-backport-bytes-strings.patch + bcc-bsc1080085-detect-slab-for-slabratetop.patch + bcc-bsc1080085-fix-cachetop-py3-str.patch + bcc-bsc1080085-fix-syscount-str.patch - Refresh bcc-python3.patch- Add bcc-fix-a-compilation-error-with-latest-llvm-clang-trunk.patch to fix build with LLVM6.- Add bcc-bsc1080085-fix-syscount-str.patch to convert ausyscall output to string (bsc#1080085)- Only enable bcc-lua for openSUSE (bsc#1085810) - Amend the spec file to enable bps only for Tumbleweed (bsc#1085403)- Add bcc-bsc1080085-import-readline-from-lib.patch to read the symbol "readline" from libreadline. (bsc#1080085) - Add bcc-bsc1080085-detect-slab-for-slabratetop.patch to detect the current memory allocator and include the correct header. (bsc#1080085) - Make bcc-tools require audit since syscount.py needs ausyscall to get the syscall list. (bsc#1080085)- Add bcc-bsc1080085-backport-bytes-strings.patch and bcc-bsc1080085-fix-cachetop-py3-str.patch to fix the python3 compatibility issue (bsc#1080085)- Update bcc-python3.patch to make python3 default for all the python scripts (bsc#1079961)- Add bcc-fix-build-for-llvm-5.0.1.patch to fix the compilation error against llvm-5.0.1- Replace clang4-devel-static BuildRequires with clang-devel-static: use the unversioned one, folling the llvm meta package version (like all the other llvm/clang packages in the build chain).- Request at least 10GB disk since the clang4-devel-static needs more than 3GB and sometimes caused build fail (FATE#322227)- Request at least 4G RAM for the s390x build (FATE#322227, bsc#1070362)- Tweak the installation path of bps directly instead of installing it manually. For those architectures without luajit, %{_bindir} wasn't created and it failed the previous install command. (FATE#322227, bsc#1070362)- Update to 0.5.0 (bsc#1070563) + Explain possible reason of an error in scripts that rely on /proc/kallsyms + bpf: fix a couple of issues related to arm64 + bpf: Add support for prog_name and map_name + Add a few introspection helpers + Introduce BPF Program Snapshot helper (bps) + Trace external pointers through maps + Merge BType, Map, and Probe Consumers + Fix exception handling in python3 + Add usdt support for ARM64 + bpf: make test py_test_tools_smoke pass on arm64 + Add soname to libbpf.so + Fix Module display for unreadable Modules + Use bpf_prog_load_flag in APIs + Add flag to enable verifier log_level 2 + bpf: use MCJIT explicitly for ExecutionEngine + change frontend rewriter to better handle anonymous struct/union + Move BCC debug options to an installed header file + use user-provided log_level in bpf_prog_load + Add utility for cc tests to read command outputs + Fix 'test_libbcc' from failing due to symbol name mismatch + Update perf event type and config checks + libbpf: Support unbound raw socket creation + force linking the whole api-static library into shared library + man/bps: Add a man page for introspection/bps.c + Do not keep Loader instances around + python: make _decode_table_types aware of __int128 + python: Avoid unnecessary pointer object creations - Only exclude ppc and s390 build (FATE#322227, bsc#1070362) - Add _constraints to reserve 2GB memory for linking with clang4-devel-static - Rename armv7.patch as bcc-check_int128.patch to check if the compiler support int128 or not - Drop upstreamed patches: + bcc-bsc1065593-switch-to-mcjit.patch + bcc-add-soname-to-libbpf.patch- Add patch (bcc-python3.patch) to explicitly use "/usr/bin/python3"- Use the python3 package by default - Provide and obsolete python-bcc (it's python2-bcc now)- Update to 0.4.0 + Fix helper to access stack pointer for powerpc + bpf: rename helper function bpf_get_stackid + bpf: print out the src debug info to a temporary file + attempt to compile with system bpf.h if default compile failed + sync src/cc/compat/linux headers with latest net-next + Fix segfault with enumerations + Allow BCC to parse vDSO symbols + libbpf: print error to error stream + Avoid potential SEGFAULT when resolving Kernel symbols + Fix 'tools/statsnoop' from failing to attach kprobes + Update USDT argument constraint for powerpc and powerpc64 + examples:dns_matching: make it work as DNS sniffer + add debug option to dump asm insns embedded with source + examples:dns_matching: helper function for adding cache entry + Traces external pointers in parenthesized expressions + examples:dns_matching: fixed loop break condition + Fix bcc_resolve_global_addr on shared libraries + BCC macro for the creation of LPM trie maps (#1359) + bpf_probe_read*: src argument should be const void *. + hardirqs, softirqs: Fix distribution mode units handling + Add a generic utility to check any binary availability + Fix 'test_debuginfo' from failing if a symbol has multiple aliases + nfsdist tool (#1347) + annotate program tag + add helpers to access program tag + examples: fixed http_filter example + nfsslower: trace slow NFS operations + Update after lookup in map.increment for HASH types + fix a bug introduced by previous lua-bcc build fix commit + Better check for compiler standard support + fix lua-bcc build issue with cmake try_compile + Fix segfault on incomplete types + Trace external pointers from helpers + Allow the flags to be specified in remove_xdp() + bcc-lua: --no-pie, not -no-pie + solisten, tcpconnlat, tcpretrans: Remove unnecessary bpf_probe_reads - Add the new subpackage libbpf0 - Add bcc-bsc1065593-llvm4-hack.patch to work around the llvm libraries searching issue (bsc#1065593) (Also add clang4-devel-static to BuildRequires) - Add bcc-bsc1065593-switch-to-mcjit.patch to switch from OrcJIT to MCJIT. OrcJIT actually doesn't work for bcc, and the bug was covered until we start to use the unified LLVM shared library. (bsc#1065593) - Add bcc-add-soname-to-libbpf.patch to install the shared library properly - Update the group of packages - Disable USDT for ARM and AArch64 since it's not ready.- Update to 0.3.0+git1502955391.9de830a + avoid large map memory allocation in userspace + python - set attach_xdp's default flag value to 0 + have uniform uprobe event names for python and C++ + Remove extra S_MAXSTAT array allocation in some tools + Omit include of ptrace.h for empty usdt contexts + Add clang check for -nopie option + Correct commit id for BPF_FUNC_get_socket_cookie + tools/tcptracer: add timestamp option + Since LUA_GLOBALSINDEX is obsolete from Lua 5.2, use lua_getglobal function instead. + better state default value handling + add --state to offcputime + tcptop: Filter out negative values in receive probe + tcptop: Cleanup argument parsing + Use unsigned conversion specifier for nlmsg_pid + Fix wrong netlink port id check + 1. Use more safe snprintf instead of sprintf; 2. Modify procfilename buffer length in bcc_procutils_language function. + permit multiple pids attaching to the same probe + generate proper usdt code to prevent llvm meddling with ctx->#fields + MySQL tracing without USDT (#1239) + Fix a clang memory leak + Update bpf.h and virtual_bpf.h to 4.13-rc1 + Fix trace.py for library filenames containing colons (#1252) + cc: Add open_perf_event to the C/C++ API (#1232) + memleak: expand allocator coverage (#1214) + libbpf: fix build warning on setns (#1246) + usdt: Use ProcMountNS + proc: Enhance bcc_mapping_is_file_backed + Fix bcc.lua build issue in Ubuntu 17.04 + Added helpers for BPF_PERCPU_ARRAY (#1230) + Add an option to strip leading zeros from histograms (#1226) + gethostlatency was rounding to full ms + Change clang frontend optimization level from 0 to 2 + fix cc: error: unrecognized command line option -no-pie + fix incorrect code generation in usdt- Update to 0.3.0+git1496334311.6fa3681 + Improve PerfEventArray clean up + make libbpf standalone-ready + Add support for generic XDP mode + Add option to control bcc_elf_foreach_sym behavior + Add bpf_get_first_key helper + Enable recursive scanf support for char[] as string + Fix computation of LUAJIT_INCLUDE_DIR + cc: Work around verifier error when reading USDT probe arguments + Disable non-static function calls + Added the option(USINGISYSTEM) of Cmake for controling whether using -isystem. (#1064) + softirqs: Migrate to kernel tracepoints instead of kprobes (#1091) + lua/bpf: implemented packet direct access + lua/bpf: support for NET_OFF for dissector + KVM hypercall analysis example (#1082) + cc: add support for prog table + cc: add support for array table + Add TableStorage class for wrapping bpf map tracking + funcslower: Trace slow kernel or user function calls + map.insert bcc helper to expose the BPF_NOEXIST flag (#1085) + bcc container improvements (#1051) + cc: define load_func and unload_func public + Python 3 compatibility fixes around string handling (#986) + Verify format specifiers in bpf_trace_printk in rewriter + Add build option for installing C++ examples + bpflist: Display processes with running BPF programs and maps + python: Allow module=None when resolving kernel symbols + mdflush: Add missing #include - Enable AArch64 build (FATE#322227) - Remove remove-isystem.patch since it can be controlled by the cmake option now. - Add gcc-c++ to the BuildRequires and switch to gcc/g++- Update to 0.3.0 + Added s390x support. Needs 4.10 Kernel + Restrict rewrite of unary operators to dereference operator + cmake: Explicitly mark static libraries as such + Fix bpf_dins_pkt rewrite in BinaryOperator + cc: Symbol resolution with multiple executable regions per module + cc: Fix assertion for debug builds + cc: Don't parse the same module multiple times for USDT probes + add XDP return values to python interface + python: handle null module in BPF.sym + filetop: support specifying sort column via cmdline argument + cc: Retry symbol resolution using perfmap + cc: Handle nested functions correctly when resolving symbols- Add remove-isystem.patch to unconditionally removing -isystem, looks like the gcc check is broken. - Add armv7.patch to disable __uint128_t usage which does not exist on ARMv7. - Always use clang as C compiler, note that the build system will always use clang++ ad CXX compiler if it finds it.- Update to 0.2.0+git1488325605.4d0d430 + Fix long running test_debuginfo and python3 fix + Make perf ring buffer size configurable + docs: Update eBPF features list + Improve matching of file-backed memory mappings + Fix symbol resolution by name (SymbolCache.resolve_name) + cc: Resolve symbols from external debuginfo + cc: Correctly treat PIE files as shared objects for symbols + Migrate to new symbols resolution API + Simplify BCC symbol resolution API + trace, argdist: Treat small USDT arguments correctly + Support base + index * scale addressing for USDT arguments + cc: Fix SEGV when there is no build-id section + syscount: Summarize syscall counts and latencies + u* tools: PHP support + bcc: add support for lpm trie map type + cc: Support for __data_loc tracepoint fields + Fix python2/3 incompatible percpu helpers + fix iteration over CPUs + Fixes for LLVM 4.0 and python3 + Update [virtual_]bpf.h to 4.10 + add bpf_obj_pin/bpf_obj_get to pin/get bpf objects + uobjnew: Attach uprobe only to the requested process + uflow: Trace method execution flow + ustat: Activity stats from high-level languages + ugc: Monitor GC events in high-level languages + ucalls: Summarize method calls with USDT + Example of using USDT + Add USDT support to C++ API + Improve linear histogram limit, and improve error message + add runqlen tool + docs: Update eBPF features list + Improve C++ API perf buffer polling + add support for bpf map flags + Fix bug of missing to install simple_tc.py + Add support for aarch64 + Avoid unexpected log message on BPF program load error + Add lru_hash/lru_percpu_hash to python/lua + bcc: add lru_hash and lru_percpu_hash map types - Remove the clang workaround since llvm 3.9.1 supports gcc c++11 abi tag. (bsc#935533) - Enable PowerPC64 and PowerPC64le build- Move manpages back to /usr/share/bcc/man since trace.8 is conflicted with the one from postfix.- Update to 0.2.0+git1480569532.5647de0 + profile: -p should match user PID + tcplife: reorder logic to catch missed timestamps + hello_perf_output: match the data type of pid + Remove debug flag override in bcc_exception.h + Use StatusTuple constructor in mkstatus_ + Implement StatusTuple class instead of using std::tuple + biotop.py: fix compiler error on newer kernels + Determine kernel dirs at runtime (fix #743) + Rename exception.h to bcc_exception.h + tcplife.py: Catch passive closed by server, #788 + Install exception.h and common.h + Fixup test errors in clang, c api + trace: Avoid passing -1 as the pid to USDT + Fix Tracepoint example (#809) + cc, python: Clean up BPF module and tables + Fix warnings covered by -Wdelete-non-virtual-dtor + Fix argument type for increment() in documentation (#794) + trace: add pid/tid filtering, fix symbolizing, misc nits (#798) + Expose destruction of SymbolCache in libbcc + perf_reader: install perf_reader.h + Use headers from BCC in installed files (#793) + funccount: Bail early if there are no matching functions (#792) + python: Grab all keys before zeroing + funccount: Switch to BPF array instead of hash + Update profile.py to use new perf support (#776) + Example for using BPF perf event + funccount: Do not prepopulate location cache + python: Filter duplicate in get_kprobe_functions + Python API for BPF perf event + Add bpf_attach_perf_event in libbpf + Add BPF_PROG_TYPE_PERF_EVENT to bpf_prog_type enum + add tcplife (#773) + add reset-trace (#766) + funccount: Verify probe max limit (#771) + python: Fix kprobe quota test breakage, add uprobes + funccount: Generalize for uprobes, tracepoints, and USDT + bcc: Make regex helpers publicly accessible + stackcount: Style fixes for linter (pep8) + fix profile.py page_offset_base breakage (#768) + trace, argdist: -I switch for trace and miscellaneous fixes (#761) + cc: Support glob+offset format in USDT arguments (#753) + Support filtering by process ID in the filesystem slower tools (#756) + trace: STRCMP helper function + mysqld_slower: Fix breakage after USDT API change + trace: Add %K and %U format specifiers (#742) + Update opensnoop to filter by PID and TID (#739) + funclatency: user functions support (#733) + tplist: Print USDT locations and arguments (#734) + src/lua: LuaJIT BPF compiler, examples, tests (#652) + stackcount: Support uprobes, tracepoints, and USDT (#730) + trace: Initialize USDT arguments to 0 before reading (#725) + argdist, trace: Native tracepoint support (#724) + argdist: Cumulative mode (-c) (#719) + trace: Print USDT arg helpers in verbose mode (#723) + argdist, trace: Support naked executable names in probes (#720) + docs: Update eBPF features list by kernel version (#717) + fixup the issue in which distributed_bridge example (#716) + Fix bpf_common.cc include style (#715) + Fix argdist, trace, tplist to use the libbcc USDT support (#698) + [tcpconnect] filter traced connection based on destination ports + Fix bpf log buffer for large bpf program: (#680) + opensnoop: Introduce process name filtering - Exclude the cpp examples from installation - Remove the isystem path since we are using clang++ - Install the manpages correctly - Improve the spec file to search the luajit pathes and fix some dependency issue in Leap 42.2 - Remove "-DBCC_KERNEL_HAS_SOURCE_DIR=1" since bcc can detect the kernel dir dynamically now.- Add llvm-gold to the BuildRequires since the package was split from llvm since 3.8.1- Update to 0.2.0 + examples: fix indentation in tracing/tcpv4connect + fileslower/filetop: use de->d_name.name, add filtering- Update to snapshot v0.1.8+git1472097662.4ebb7cf + fix biosnoop after kernel change + offcputime improvements: use less RAM, add PID/TID support + Add perf_submit_skb + Adjustments to the documentation + fix build with 4.0 llvm trunk + frontends/clang: Safety check for invalid opLoc in ProbeVisitor + Tool to sniff data contents before encrypted with OpenSSL or GnuTLS + Add bpf_get_current_task() helper definition + USDT Python API and example + Lua Tools for BCC + BPF: better format for `ksymaddr` + table: Implement a StackWalker for StackTrace tables + added percpu support in bcc + Fix error handling when attaching {u,k}{,ret}probes + Fix python3 incompatibilities + Update headers with 4.5+ features + Add v6 headers to proto.h + Use pre-calculated function addresses in funccount + Add name to address ksym helper + Add a table.zero() function to bcc.TableBase + Enforce limit of 1000 open [uk]probes - Drop upstreamed bcc-kernel-header-search.patch - Add bcc-docs to collect the documentation - Add bcc-lua to process the lua scripts - Add the license files to libbcc0- Use the upstream tarball and add the URL - Amend the description of the pacakge - Use the right group for libbcc0- Remove "strip" from "make install" to enable debuginfo- Switch to clang to avoid the c++11 tag issue (bsc#935533) - Update bcc-kernel-header-search.patch to include headers in /lib/modules/$(uname -r)/build/- Replace bcc-suse-kernel-headers.patch with the upstream fix, bcc-kernel-header-search.patch, and add "-DBCC_KERNEL_HAS_SOURCE_DIR=1" to cmake. - Fix the formation in the spec file- Update to version 0.1.8 + http_filter renamed, README fixed + Migrated filelife to bpf_perf_event + migrated to use bpf_perf_events + Migrated killsnoop to bpf_perf_event + Print traceback only if verbose mode was requested + trace: trace function execution with custom format strings and filters - Add back python3-bcc - Make python-bcc require libbcc0- Update to version 0.1.7+git1455766673.13e74d3 + use __builtin_memcpy() instead of unrolled loop + http filter example + Add bpf_module.h to CMakeLists.txt + different man formats + Fix segfault in ~BPFModule on syntax error + Add bitesize tool + Support array and pointer types in scanf generated function + Add biotop tool + Added memory leak tracer + Fix python map.items() racing with bpf delete + Don't show allocations newer than a configurable age + Add bpf_get_prandom_u32 to helpers + Added --stack-depth switch to control the number of stack frames captured for each allocation + Fixed long arg name from stack_depth to stack-depth + Added option to display only top N stacks by size + use bpf_perf_event_output() instead + save one bpf_probe_read() + 3 tools: oomkill, dcstat, dcsnoop + Implemented histogram functionality, including strings; added examples + Added ret probes + Renamed to argdist.py, updated command-line switches, added kernel probe pid filtering, added verbose mode that prints the BPF program + ext4 and xfs tools + tcp to bpf_perf_output + 3 tools: tcpretrans, zfsslower, zfsdist + inline C in /tools + 2 tools: btrfsdist, btrfsslower + Split bcc/__init__.py into multiple files + Split bcc.table.BPFTable into multiple type-specific classes + Support native integer indexing in table.Array type + Fix breakage in open_perf_buffer + Embed runtime header files in libbcc.so - Add bcc-suse-kernel-headers.patch to fix the kernel header path - Drop bcc-workaround-gcc5-abi.patch since it never works... - Drop the dependency of bcc-devel from python-bcc- Update to version v0.1.7+git20160131.143df80 + Updates to use cmake GLOB and libbcc.so.0 in python init + Add decode() to ascii string in offcputime.py + Add libbpf.c support for uprobes + Add python support for attaching bpf programs to uprobes + Fixes for address calculation + Fixup objdump calling syntax and add docstrings + Add uprobe strlen histogram example + Update test_dump_func to be python3 compatible- Update to version v0.1.7+git20160119.f50ca1f + fix pep8 lint errors in the rest of the tools + Close fd and unshare when public map is destructed + stack walker typo and improvement + optimize code, remove unnecessary filter check + add -u, and change from 2 to 1 traced funcitons- Update to version v0.1.7+git20160110.a0aa7f2 + Remove runtime dependency on gcc stdarg headers and make + Add ability to set custom cflags when loading programs + Add ability to export maps, enables cross-program sharing + Rename BPF_EXPORT to BPF_TABLE_PUBLIC + fix pep8 lint errors in biolatency and biosnoop - Remove make from Requires of python-bcc- Update to version v0.1.7+git20151210.23b87e5: + Fixup dependencies of bcc-tools package + Automatically bump memlock ulimit + fixed bugs in control-flow generation + Fix breakage from LLVM 3.8 API change + make sure LDFLAGS are propagated as well + Improve json type support for misc struct/union types + Drop broken p4/docs symlink and create README.md+URL - Drop upstreamed bcc-honor-external-cflags.patch- Udpate to bcc-0.1.7+git48.g1c7debd - Add python-future as the Recommends for bcc-examples so that the scripts can be compatible with python 2 and python 3. - Remove python3-bcc- Update to bcc-0.1.7+git34.gfa9684d - Add bcc-workaround-gcc5-abi.patch to work around the old c++11 abi in clang - Add bcc-honor-external-cflags.patch to adopt the external cflags - Drop bcc-fix-packaging.patch which is already in the tarball - Amend the requirements of python-bcc + make and kernel-devel are necessary - Add python3-bcc since the python binding is compatiable with both 2 and 3- initial import: v0.1.7 - Add bcc-fix-packaging.patch to fix versioning issue of the shared librarybuild82 16178120360.12.0-lp152.3.3.10.12.0-lp152.3.3.1debug.dwzbcc-0.12.0-lp152.3.3.1.x86_64/usr/lib//usr/lib/debug//usr/lib/debug/.dwz/-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.opensuse.org/openSUSE:Maintenance:16047/openSUSE_Leap_15.2_Update/f170d13699663a0685909d3c6fcfe00e-bcc.openSUSE_Leap_15.2_Updatecpioxz5x86_64-suse-linuxdirectoryELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=49c94e57f8d2656fe36165fa53a399ecd2aa28ef, with debug_info, not strippedX-_Fabcc-debugsource(x86-64)0.12.0-lp152.3.3.1utf-8b254afc3da5826c49a06d42a55c0dab3032e6d5623fa8bd970b745e0f05bc99f? 7zXZ !t/93{p] crt:bLL u2d ]^).L<]>:߲;~3bZ/øc 8m[,n#L;Jn"z2ڏHu`N,n"+rm2$X 9+XВ(gb43RnT!o@靪q+[Mnۑ(D"1~V!f)8G!-`;#qP'i[fI+/nbx[㬍1qh % U6 sDa̜5N"6BTPxk9]k&ܠ1WTI#2gqcB/M*ĞAK\z(Pkb(bH6)ǛRA! t(og-OE+ ~+QEc8  ~MG"EQS]<@eeqzRީf "6Kh%?Ə-4emlߺ-[ށMt3>/Pu%jS!otJW4 ~UBF|)fYBM/H˻ޕu0՞8t#A3 zPx" P;O;evKk\QT_`O @|)ee{\d-v_hyJ#0ʜvI|jr6InN7Rg&VώPDݘKs+o@mzYP\B0%XSd!7b_O7cMׯpv&"FDEi)V7;xf=TK$99Ӟ1#X: ԦP V5]=%ڀOASjoz;Ԍ΀0(,# I5óeM[E6m`§&WSak/iS8E6EY dC:ur\*;6YXEAʫM *JQY+K]51z[/NXΗX CIz՞%ŹX?`Z6TQy' { C٧y'OC:C5[Z[:w=XpiAU6D!C"߯6fS%c-xz,gs`<b9ϰor̓ AvhP]o? X' fgt)9  Ge_=ْR (;гM¸mo=L\4Ԯ(W*wѫfN!G3L׭I2 mF44IVTT1gME~|d^Olh i#o6cSh%8lI?0 8UB eVKĬʇ 6o a5'I. !ym.6YBٴ.9:zBTKEÑ "ͧ0Ɯkثn BM&? XUo?zfԬ#]cprry. 4~6 )X a66ZxϬX\&uᘹ8V5%Ljar>KyQX~rݜg*$)w:҃]D+XE,Saǒ&B!N)ǽvf% n6jrr lN Y(Kh/1>D{-SX3Wil@*~%x#Nl{a/ήyZilTIiܝd V,+/ZH (ޣR!Z^rI^y驀'߇2eBakL1ȓN_[07yka&aKz侬B}ɪ|qө|@v{hkyRx8.L=휭D%C?ځtmIՋ^qBj7ħ$ɐDw. Nf\gy I%NHuVΉg+] icEl(X-3>-_6 cjȸ\Rs4 A$'7^ )_IWQ"r[ a?ibZoA/7%nj 5oSƨe:~*@ z: QCyI*z].XhMVOq<{qUcYnTZlz5'/ 5;ѳqucX*v{dn4Iu`hY*cр`xLɴ@ė(B!I ҵF]h!䳧د[l[̒6GL&ebo3QlQ{]v77>ʶ5^; ;%VEyɍuη Jtj#[ Q4tAo췿t7'>oJY]: n-v104ē`&AgϲXQ]a VM)LjmWBŗ^Klʳ뺀HCbsD?y~B 9vza`w D {^vA]cV3'"v |gl_=9/,U$1~}Y4z%:yl:%aF4VAK; e%o6-#~w:`׷+m)^R=?֊^>~EAy?*">0\A^thHW0\z]돩j>%!)+C!&ymX(yfkhkL%jWP$q&zːQ]15Ne_Mp&t/H!s܃F&Cr6ET! ?_iM9Zi t` |Y[$)U1/\.`ӸLFz TU o0ABD?|@k+G差.5cI($60 t01,(88 ĨʥPYS/z kXw9O|3Th!F,ß|,xX[)}Tq,Wj='i;e5??PwH'!l8 w5 e} ?| I*o@]u5mZ%GhO9|IDB%_yO.2+ zOnkA:@V:0h&%Bz ƽ $eוb* p~97[9;)#Wuzsjܶ4ό;u2rX[Eid@PyMz5AXݥjswetaԾ*zU|"it+&Vb[?pSgTP|zhX4a˞Tv/ԛE1I3WpdQ\YmE g#4p,\|I-k 3Ptxբ-TL v>Yo}VaDn݋⸻pbM2N@~Je}ysɅB b3"sSqb{;%l(9'߰ |1;]pd#).'5"ڌZ?ߑ.\iS>Wsf hn=@hQɍK)@Y xXcobh-|=Z/'u(gF%K,Yv)&sƪ^X! :$PcUG; =ܮ锭D ycJyvLL N&Ďx-#. M<g"gt }[Vლ:_pC|;6%Aؔ"g# .OZRnMX{qw}UʝoQϓ\5T8a3P!*Mq];Q?p<]Oe2ܥi(H"A8IKJq5R X;a&,0ꬫi[N˞?Yn/F boI&خ0EׂiЗd@^iGZ vFڤz&kn-b5\Cq0<"Qߞ[Y<\0Ժ&5<*D>k$il-R;}:6ZZhfug44_NlΆzrKɼ'O\yE`딒U &av ӥRYݤV=uoޅoTJs6H?.8h2T67N-yvK<åe[ӟUBcaXG1&,b'%~F ǕMb ̝F`@o*=WzN4]+\uys_~k8=-Y޿Afǀ |GKc`\?c؍4i[wѐ'ʌCfhȽ.^Ծ>4Jdg #%I思9qlTdde+l&V6M^Ldih>]E307Z|VOP'RtC\pUS…1X^)$ g#L:[2i)R 6;^Y4"1v>ß Z/؇^F*?ЮVΗ͎쀓jj(ezH<%qYdYPV m SRfiXG^TvILbxP?9'n‚tcFKO5+b`dgBa:U*Çz-e#9j'L֮:M!*FA,)G] |oG ;>̀+ש FAD3)WvKKbU9> (} e0s Tryrgqkc ~բE +Ǩ4i5pmͦsM[u+E*u TM x%z@24!Qf#; }ЅOzXeGyj}]I2TJ] 6[ĴXr;TM8ټdg=տhs}?~~ xi D] ӗp92-|̓)Cpwܢ =[>jb2݈bE5akJ _.kkifVNQ'I \탛mJ՟qk_쀻H{Dn:B:_|y.-,eߜVmhoYҨKif)eƩo&k]K0- joML7rf~1/:,ZlP涣&JBWK^fM;AWAAHo1 ElKÖ?I5>)jj"x.Hstتa YQ0r'^EoUjI#ԩl ݈hS,y{Qk>v1>]-se7-v#wVBTayY2ezl./zצK>M4hڑ 6?h FL"̑)ʟ)/[Rkenxx5co! p'SB2E{b CK8[ٔvf,8.dY CF#, 6bI9|NqO`m[mل70.9ǑJ?cb21/6ZdWW vdˆhM9ApO@)ZY`ςjݥ Kcb`38|%O|YYZ~.eV dc8RPUA|V%1\-D/-n1~gƑN!ߥNn :U%@N)_9Yy,+XULQ&sjtjȄQ诱M| 5Wz\nƒ)'A0Em.:BS1DɊDBvos99$z݈RYw+ކ0c`G &->M X +\+c}s.-P,[]è<ѬهPa"b,FY0+p}p\qYCF821< zTd9?ʑAFL8ZK"Ihi _J1$%w_C?uqJsX|qM ҟ -ݪ2G٠GZt!g)`R [EE__g2<:fpCW퀉Dav߇lXsZ<%`}a֍v 4\s`Kw+ZdCyQhfE1J6P#؜K]}^&mΜ\4QȌ;JM&-IU8/7W[ j[{m|S؈fgCma9민vа'mUhG:@U=1\rSy4^?yW oۻ d%7E6ۅGh+F\ 7{_|b\ϧ%ֲ7E^NكX-h.Cڸ6υM Q-Ǔ%‘ZJ+hIXhSzyN]k0bRLADM1#bK ݂!?4kmT9w~8y k&QM-ZPS^P=E=^^(GS{0`Ȃ_>Q.8 Ӕ•g hH?SaaG=eyvA{W7K6e>Qi0xWChH^'U\>kF{z?>/p純qB{Bl V:]W[zSJJ#ya"^cgAxB/r^w^بTI;`'F_Х01r%U bur%GOu5'jՁ\2W;\̟Rj _ -#iٍ'.|€?p-Or5 RzS.4N4t6&Vt+Xb+-Va{i8|C 1ڣ!{j~SmqEKK<PS+z^ ىR]0ͤZfP: T -7z={8B![ ٪#6enCNT" B% Z銓ǷtL]}Ge@ލ85~ЯB,hK$&Rht 6s2_KVOԍepmEX;@R9@—|0?;Udb|+ic`@ #ӒxQ_;Jϑ:))ƦA?iʏx[*8.%>[Nw,&>߽E)-~7F@eK%PѺQY9SջT9jZbA8XǷ  x/]d6 wafc>9f+=A3V+:x66!.܉Euv=`89f˕me*9!\2+{N3ZJ04FviY[Kփ/n* sni`^z E`_n|=MW=Zv$jA j0/2<2`1h}Iͥ`n y؇cBk餰$̾'$_1E7_YҌH}o >2r8pODC EWah[9$BGIΤ{8xd W8+j 2EN%>zj?L(PRcLYd\;s0g*GyzT \}7F2eɤA =&_ay1餶%мN<&0Ⱦ+%3}jU4m0?Zې~bTEG)5kJkw; Ϡf(M9 woțu:4pZ -Z8I Θg0wZ(Ngz%QsVb;ݹp)DŽj,X `Η$!\gEZ,vӧX{*|?KG#I*.k6|Y}#hXd193j?W }j' Uʹv?_aZQ_$gluD[(b͝PI,1f0'L *zSE>9#-,C br-w*m42F\5x- έ#@.Fւ K|AHu.A{IR&Rj|ZH(3-[1dfdaIJ"Nշ|U(L9HJj|kʎ,VZ=O"[HY  <-ŏVnٜ7K1 4t9 SPгȕ~%= rO^R({ P E)qhe1eJL9!݃.:GJWH7,jMTB [4 ju䒎䳬Nb5nOʈ/V}Qcߦ~vhǨ2t{"L):9bWDG ?Ix+@6 Dݜpa0F{b !nц/&s6+.eVT?\a zk@QV+!ZUC#^cTWQN3c"AL3>.~lD;m׋?|t#0}kY_4 F U)AI]N'kk8+wF]ڱI%;f!4VL u(9BdeԠ jp2-Xa޾9FYlmAG!USOӔMoNq_'O!&Xl0I{81.>{ħ AffD5ss;z/}P*MŬESݒ<@AYh-G3{ËdFL:2Vc{gSʯus#<99&&!eVZ?!1N_ȗ;n֙PXi&c>_™Pa/ © \t Cu$=_=-?%)^czS=KkP;G>u&;& EܘNl}+l7 VSo26A> ;qI1Ő˞f]3qb?O@!(Z׽Jv_Х6m )7?ig$H[{e#O#ҟmɜ&k[•phpX>U蕁k/8aq 9?o(p`~˧]ǀv C$cD8&eDz]<2dEd+%e o^~Eۡ0S"ڌDh0-n#}P@-(NXY8yg ~u{z\׌Pokf0|ΰa!倜3⁎Yd 3C>ۺb+Oi Q?@F<)Jlŧ .Ӫp B0*Nȗ `jTMxOq55BU,ұ3[*yϓ A^!_jRF_:䒸οC`n<VکŞ86IZo11`94Y5L@K0ZCѿ5q-JgJh&* %4Qf*} V10aMrTR- Idg ppʇ"89}ͬ&]/i js$x MrNt ! fL~' ّ)0+CqBahO &_Ӎu ri2Flag֙bS jMgwM@ /OaN*$yrF掄 |"4a;D̥ϤW[[:oL*$Sj2 ?{r_3e\"[ɏ&+vҍg@6׻B?0?|Y4hq b]jV$HU! yzf! #} j%ʌ'%h<-9Q sr0 d#J I0uYyYT=hYiţ !4Z\sXve7:}-541#۞w!=_1>Bh]J>y)+Զ(>@Io3n 1 V;|+#@]Y v{*VvTޕX/kAZsy6O'we-/M {IZoY-p$uNF%)szi3h4"r|Лi eG43XM>XUΖg|&mAA?ju=:dZv Lq~:E\ƸD'zA̼vSR[Zy36p:![>ܖx.sCcF6ߋh짤R_Dita&YC[aN]D#2D9ԫ %=v( {4x>T& !ðql%$Ô2 D~KEϡ]*Zb/ZW?DCWv{{.H=m1wzte:=?zz!2L&*k=a\V#֒X=+HZ4pbNw / ]1<~P9ꐥX/WŚ g SkID3A8 դKֵk-|Ol_}ŚnB4Z&dt}EqwDK?@}<X' lbRJ*؉֙zOÃA[`էdk$@YZ|k&K\QlA2_ OfWGPolhC>~&w;]M/vߞ6v9ʞ\96螕ƞ vw/}ߞ(k3-[ zfа&Hkβ3?)XT$xY nnKΟmB Lj}&ds7š&Y9V7ˌrYyйUpX*wD =! hţxaݧ)~CTrt:YLq-KYm:#i0ξ2תS>ŮrTabD$0RcE,iDXFbN;06]mlI1mΕԾw7P&-<[pB͏XTYL)x`1J/ͭ }y=~ iC rux4om ."2oD}ށ'`K Е;"*©+CnQ+`f 帢v)lj$6Z 27wh%QR,c2Qz?1TڜioC:q%6rF]9|_sD:ˁg6jO݂xYp2fPK@ÊK؇|ڨyo|f@*6"3oIܯ*a7zBanC.W{Qf_q@@PI#vu)"9`кs[s[LeZ<-ps y5Jcj|-f{A;kZwLtLh7*b`d܋ d N&|r*}FbiYj^#`>uӅVwfXw<19掐kׯ5vpDN_c~@rZ8 %fQ2]vWߨ~!&^+4UU$X>+bau6(a0N 0b >H$U!O#Z BP?ŒQ3a:Ӻog P/b9ד)pBl@[Wϛ 7׶mVqǷUyO9^ElЂi4Ag Jך5 Βb DxC6avےkR/2W;G# f ooÙSK\]FL )}> wY3ErJKyJXpbmH/aU4[ʆr4_0[yw>zB$Oߟշ&d|^aRngUߦGԁ%j\kBb"FT54 J9S#B31}\hI[+8 M*5/LLe4?pm*y!a0?qn(" xhi[7H~q^'UwAdVf]矂q"ӿ߄_jTcli}%}oߒ Fxx E"9*Pp+׬&_.Hgf {q`~6/-}59HH6LL:|+y(`}+׹Jz2yZjKcAq N_5 I'svh+WW3Y sʄxi߼3*5N{a"aPU*VlGm`%&>N {IWq$}6ѡ =r7u%ہ;>s Sp:dTTXS8 M;Ը3;q(q;{F7OeM3Gr۲\qL%4}_Nz IW. &ɪ̝1:֜9B*&H\7{s61:Tڷ\9s0?Za\9@] x<0xGGi&dD\b@S[W Nu#e) C➒jؔd!)GSV*[sRjX2ƙ]14zhdمkI¸I cb _x GD`{2CG };Iyj =IUH%Ȫ \y=>zE&A^kpMVш=Kxͻb hǙfH:rrK9Vžt| LEfPpJ#Ǣ&v"}N8]F88W&0*pC0B2PS7*Ah0S'xXo2eOim[+aJ=ɨVPM ܜj|-ٵm[E"{W<޸h $W+w@YJ-.<~͒xȲphaFmpRjdsҤя6BKľW}& .Ir ,~(*i"]_ǪSu)`Yu[>&`W+{RT?+P" _@Ӫ@PYՊ{ީ^.sȧl7+V7Flc5ߠ'x5oNJ[% >h!hΤNP0V S^G[dF79t/*D`7|ɿ]ÿ. <[RM^(K y G`a4laNAX%+1 ]]'y"@vEV%.[xsU$-A"nMsq)!E.#J~sVr1XB|+Vô9+s~Kk21,^tĊkEld\ߦ|x[ >6#!hWG5jkCHu~10Ӵeٺoh3I&,#V~:RN@"zyѾS`۪Q d$D+a$"i.a rI19ђOd!iw,/4]%)K_%XsF[19;n7O{@zׄ %uVIgI q y7g}=H`n+@8ge9UdKJƵINLn"ͳKCy1ʡv>Xs9aZ5D71S'4w#؏L `{%?AjQy>@ZNf4Yq[*tx.PUThEɝ~7h:;UC U*@97aEE|6+;<řG h)k,y:̆kjBdYb*m%"_yǿ=NKgg&l<]SL3TFPoVO?Tbliq!zyVK]% ͥNNYk&ӾQ]F,pE[BNB/xabQr`B Beb/{$s#4ɗ¦}*͋A6!Ŷ5` \5OC! UDe<>74 f ĿA Dט3}·xarNLHr?>7{Ľ@oIsG)]:2'z&9]b+"ri3Q8NXׯˢ%@N+_, /C%jA(txv%\K_eg.^^ʛ!t+ЖP*hS+(;Vd4n:5fHI 9%BJȩ|VBRS `ւE1NCi/+0W#FZ ]Rz DPR8{NhPtF>l%ݸqع| hH6yO%Cp+ӡ6R8Ac_sq@BOzR =W6S%Q Cl4z=+lmM_[bAFg-?L;gB /+;(HU "NH2)<A'$|XsBlAZlefZR2@ί@)CCYcr!= &bwREd+pZw!k vpV 1Mڻ{Gv0D Pyq#q*lw<}s۶O &=K r4*j{y@BW| uy&+0>Q6LF ]vy,"3a%r=(/M8mo(O$4d=y<슥3iq>ilrgFO+q԰d_GLJ+зZeӛ U }aSE(U 5yr w 1 l 8RrԌ:R $G"֫9 %^x`fZ*Bmv8AwZbpQ4 DDe&lUb3-`oS@n:Qyz۫!iOI>x:7ݺItQJ:4TiMp%AWC?U:v."ߌU6}ޤ4/s`"n C:Uމ^b1 (6J@oEh0M]ȋP)^$ߤLUXLʁ_8< jO\ܭ툵g~{ g DDiy~pɰ6΋r }%HD9u8#BXAQkK?(7.g>G`S4r!N$G𘋞xk QAĽZ j-o#L,>s9WoS20g*_lH$h_mnrfW>OG+ "#W 6lP=Ytuyy%Uuiӵ#B+JU8 v4J EV$f\FH\'E|]ayM엾 S`桕U%jÆ8WɾѫҰv47`"9_YةGLߓΏs  mrqCšj/ڝzQۮW7Sf. ke S/o#~B#b@^/@̩2:\C}E4}IՍ8)2:H{UalX!!Ih.yE'[J\j_Iaܕj\+3`Utpŕ#[B3 tWX ;%u/pG۸аe9 ~$VvFV9-&EcHαɌs' v"Pkv WS/Tad x{'q ~B 9jY@tU1RE0>j *ҡω,$ə?ʹ\ $QZ؞CT4GޅvpnI1szo耋u⟾a TY]r%JvQpDYsBp) T*B dnW8<{L#sT k~[؃{ =mLe`z<"J \PeϬY]Ვt`KL{8#)\įg:"z/1䖂H]Z=7}.;f4u\RL?Aؽr$xYy>[w!%ESuŻZԒƋc3eݰH詡FRa]b)KUˣǫ[Il|L!P P=W#d))/ýSǙ6iz={$O[0=Ʀz P}MvTF$o5Nt65 (ǴiGXM̠HX <*62 ,gc*p4Xl:d=<\n!8dFL$KA;vnNYZbsVsRnC@37 T(%)֫?X0uϹ jOQY}'H`> o^u\G2{4>ʺn*ui/SWKǾc<| 3JmAqt(`˥NZ26,fH1CJOމw&[-emre(VxǼDlYԕ*QN]91۩.Ȧb.%mOBF8VLQY2u׌3bZ57j:0H6y'0\Wɓ=(,Vm<~%'C[@Eal=dȄ|LZ&>-;wӰGKۋڮH;>(I`s)l*#'/ HvyXsIeŏP)C,FV !! -ugKSK( 1KbzI+m&fȊNknYǮFD;[ɾG=W>Ȱf,GW@6:{h_FZP 64.Ɛr+$E*"P2?2qŒJIOHXk }{UoPaLvmgw𙥌,8Efx]IۿqT@y w#XLjvTmC`i.E-l^1EQ%ڍaG!(#Vڀx^mal򕓕yZGn?Pj,ή~+NNn#[C鷮☰C/%xٻZA`鼖ˇS>gi5+-oOfg{]"fUZe,#,C  ~QKfMH.bUkER3=:\E*,K0ȝоl4$zI38e`sz4;AHoq.8׸|wpӱ[ sc^tA΅wyBgs_ k]rwڙ#!qDhc݌Cd:8l1(ة래L"XfoUq}]qջ`6m3x*t 9s4f M4_}:~3 ROU^u!^}pb>V^ɰ ejM22*i;>P-_~݇s0XlreHbhғ/fjp:gUgGc[z=(*rI~ƽ㒢 L;<ԛ縷!tr:FFn:Lw04&#ߝd6[5ʳ`LARidE A&͵ &o/$PF.JEYrr}3K ewĞ2~Ԇh&lϽFZ}1w.ʿXn73=kG}pPu^BŐ}U>z#2@Pz2uPIEF'#[ .!hOd8Ʒň&{O\4ȁ:YщZ!XFdsuw9^i1ܼ:J"[ڙ3Ĺly~(H DyrabrEFO1@An/ m}Z̨\spWVطhI[5Ά#mD!Q2BL ^J&⧝]|c;Er"^A2gzgAsݝJ/uqmڙtzCɓpŽO==~("Bzy<A+MTj >8nQd,#[$N~l/-;7G#K+fD*%䤒Lkv|O6wu4_gA~V#3>N_`z~RTMCʸmu7 82hAv5I, CAFۛOoH*)dv*(yiKVO>] O|O[ MaϞJL!${x%2qt _ QR =6^QG?P.!+3k1S_٭7^Sc!7,Q,1u` Y';GRg'E 9$唀5wr el%D:`>6vi= i+VKU}>0ЖyyX<.kI]*d+U"XN?>153KFh pLrյ*)7Rļ.a3ֶ b~FPHfgtk@zf|l< n.m>f;b!3g"KUb3xq]$7 [Ȋtu.F `B,wfSQ1軻SsÈ;Ǜ&MZ&M7);8L^꿭@)I LtZ!^Y'-`zVm"ޤ GwLZ\Id|~sX~xZ5_-w5 *Ray6! uVSyd *3V;-Dط~1+@X{jU>]jrLXNIM-6 )L`!6(i&9*z<u[7Ú"xˋq9মX-?<5Yg 4Uҕ4dX+.A>4^0"n Y@eB }z;LJ=n"ʷ)ً~OQY/`Aͧ7٭yȋt _X2##9@_;tg(p|iD~z͐RuaSt=&fYqR#JJC11 `>UY8mi0k h/䎃URq2>@o`63 %X~ohe:F"riv){C)0;3ķv|,j*Yg*yb(r`+TS|-VjQᑷOpnѲc,$ߤNucG5/7!Ͱn%@OW3 ?Yf\#Vm|ҐdV3YgqPwv(^Eb;_{\ M7ύavfaLlMS6pǩ_G !-JJq͖Hݟb3טCk č~P`4z,o) %Y$L}lM]N,3P"xbĊ;v3Ծ\o}G bڏiX>K.}VoCͪ Eyu&%~lQOD~P]޿ҎQ=H.]Ac'nrg}'`[(/IL +HUtq_6 ô^$Uҳ_ ;K*zSRo>z @$VU3)têE<h:GT(Ҧ lXqZ,8ry[{J~Dy'UDM~yDٖvkX߼`c۾vobwI"{W)6TzGvG+6y1CJb6nO=G~leo pqW#]׻[7J /Q}IiwH_2ݴm}$^ou4" 9:Z%5j%/TR(%X r ?bEkYǢ O0jo%4E&HZiP[~IDVbՏqb+g_TY芋wF1Rj}"c,^x \ NNe2n1 r;ϝ: I8'ecI?Ϙ),$i TxH3F{.ՑD `93hauR(*[4dMc=h#ZaCRONp\Hߩ&[˹5>+iKj]c1Vo#gh딶)M=U.E!dT5R)w?f<΢n620f& 4v4J6uaSe1`tJ"Ϛ؏kD̖pϑGQU6d3c'UrO󬤨8D~93VFc=Pܼ n2ˈ=a69p @޹҂n"uOمrrr ys3EFiFSnll慂xC挛E蝄yqX57l%D҇RيYs"2Nխ ->|zEz> ,tGz0_WNCW?; S'_A wPϹLO2U $5}i: Z*"TI%!kqZn@f|dWZ8ߧwL{|8-/}(J;Xω@+5YtK. :sXa q*ofTFPlr8 d{k#ԂU{0M_&SUgr2 "O;?%6<~$<5NEg4u(Lll4@*#M>sKi@6Ȅ*I1vc4=Hp(uәti5!Z$twCdeTor0q@% &8QPY|ݥ;t]&Om~pI !P r\;z6A1*6cH=GoW6\K}ؙ5wU RjH MV;\|H8А 7o ̉5,Sʸ~i~.'x{4,gڱzBmPVq 1uퟶfƫɠ\4A~93EJ9_ZoeHqCĀ\tM=.etM8b z<  RaǬ~>%! m- v!E)ST0FQCi}3H+G:5e9A3C@:xEJ| mTV}CZ y} YZ