crash-kmp-default-debuginfo-7.2.8_k5.3.18_lp152.69-lp152.3.6.1 4>$  Ap`qG/=„|/ӇBeňP$duw+HJ۫9op&YJ&zf.2l:sOunTf~EÏHB6tqPÅfAQҒLG`$)6 Q7mp=? 3 ? o(,48KTw     b h4H(8292:2FGHIXY\L]d^bxc!defluvzzcrash-kmp-default-debuginfo7.2.8_k5.3.18_lp152.69lp152.3.6.1Debug information for package crash-kmp-defaultThis package provides debug information for package crash-kmp-default. Debug information is useful when developing applications that use this package or when debugging this package.`q£goat13openSUSE Leap 15.2openSUSEGPL-3.0-or-later AND GFDL-1.2-onlyhttp://bugs.opensuse.orgDevelopment/Debughttp://people.redhat.com/anderson/linuxx86_64AAAAA큤`q£`q›`q›`q›`q›`q›379fab26a7279ff3631ca341cb0ebe200f46aa9ddcd19a097e9dad71a166387brootrootrootrootrootrootrootrootrootrootrootrootcrash-7.2.8-lp152.3.6.1.src.rpmcrash-kmp-default-debuginfocrash-kmp-default-debuginfo(x86-64)    crash-debuginfo(x86-64)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)7.2.8-lp152.3.6.13.0.4-14.6.0-14.0-15.2-14.14.1^^@^^@^9\^g@]ʞ]X]]2@]L]@\@\eX@\8@\@[[j@[<[Michal Suchanek Michal Suchanek Michal Suchanek David Mair David Mair David Mair Jiri Slaby Michel Normand David Mair David Mair Michal Kubecek dmair@suse.desparschauer@suse.deMichal Suchanek Jeffrey Cheung msuchanek@suse.comptesarik@suse.comptesarik@suse.comdmair@suse.comdmair@suse.comdmair@suse.comdimstar@opensuse.orgdmair@suse.comdmair@suse.comdmair@suse.commsuchanek@suse.comdmair@suse.comastieger@suse.comdmair@suse.comdmair@suse.demsuchanek@suse.comdmair@suse.delpechacek@suse.comptesarik@suse.commkubecek@suse.czptesarik@suse.comdmair@suse.devbabka@suse.comlpechacek@suse.comlpechacek@suse.comdmair@suse.comdmair@suse.comptesarik@suse.czptesarik@suse.comdmair@suse.comdmair@suse.comseife+obs@b1-systems.comdmair@suse.comdmair@suse.com- Make Factory ppc64 crash usable on both SLE 15 SP1 and releases before SLE15 SP1 (bsc#1148197). This is only a workaround that requires to build crash for each codestream separately.- Drop crash-s390-autodetect-kaslr.patch which has been merged in 7.2.7.- Add crash-fix-kmem-sS-for-caches-created-during-SLUB-bootstrap.patch Fix "kmem -[sS]" for caches created during SLUB bootstrap (bsc#1164815 ltc#182973).- Add crash-Fix-for-reading-compressed-kdump-dumpfiles-from-syst.patch Fix integer overflow with large memory configuration (bsc#1168233 ltc#184660).- Upgraded the source to version 7.2.8. The previous version was modified to support newer kernels used in SLE-15-SP2 but was not complete. * Includes a fix for kernels that contain: e0703556644a531e50b5dc61b9f6ea83af5f6604 which introduces symbol namespaces. Without the change then depending on architecture: (1) the kernel module symbol list will contain garbage (2) the session fails during initialization with a dump of the internal buffer allocation stats followed by the message "crash: cannot allocate any more memory" (3) the session fails during initialization with a segmentation violation (bsc#1162064) * Includes the merge of the S390x patches since crash 7.2.7 (bsc#1156645/bsc#1161640) * Source already includes XZ compressed module support, removed: crash-symbols-add-support-for-XZ.patch * Refreshed patches that were no longer aligned with source: crash-allow-use-of-sadump-captured-KASLR-kernel.patch crash-s390-autodetect-kaslr.patch crash-sles9-time.patch- Upgraded the source tarball to version 7.2.7. This is required to support coredumps from currently used kernel versions in the product (bsc#1159686). - droped the patch obsoleted due to already being present in the new source: * crash-allow-kmem-section-is-early.patch- Added commit c0371f6ee2cae31ec9f506bbd231ab8fbe334c13 - Fix to allow live analysis of s390x kernels that have been configured with CONFIG_RANDOMIZE_BASE=y (KASLR). This allows crash to load the coredump without the need for "--kaslr= on the command-line. Added: crash-s390-autodetect-kaslr.patch Implements jsc#SLE-9797- add crash-symbols-add-support-for-XZ.patch (bnc#1155921)- Disable LTO for PowerPC as bypass boo#1146646- Added patch for commit 326e1b8f83a4318b09033ef754f40c785aed5e68 in linux 5.3: crash-allow-kmem-section-is-early.patchUpgraded the source tarball to version 7.2.6 to bring better support of version 5 kernels such as 5.3 in SLE-15-SP2 (bsc#114706) Dropped the following patches obsoleted by the version upgrade: * crash-xen-invalid-pcpu-vaddr-use-hardware-domain-symbol.patch * crash-fix-for-4.20-without-CONFIG_RANDOMIZE_BASE.patch * crash-fix-for-virsh-dump-dumps-with-KASLR.patch * crash-fix-kmem-z-on-kernel-5.0.patch * crash-fix-kmem-i-on-kernel-5.0.patch * crash-fix-sym-for-module-symbols-on-kernel-5.0.patch * crash-fix-dis-function-for-module-symbols-on-kernel-5.0.patch * crash-handle-radix_tree_root-changes-in-post-5.1-kernels.patch * crash-find-kernel-configuration-data-with-kernel-5.1.patch * crash-fix-dev-dD-on-kernel-5.1.patch crash-Fix-and-an-update-for-the-ipcs-command.patch crash-update-recognition-of-x86_64-CPU_ENTRY_AREA.patch Re-aligned the following patches with the new version source: crash-allow-use-of-sadump-captured-KASLR-kernel.patch crash-debuginfo-compressed.patch crash-make-emacs-default.diff crash-sles9-time.patch Modified the following patches to integrate with version upgrade: crash-compressed-booted-kernel.patch crash-SLE15-SP1-With-Linux-4.19-rc1-up-MAX_PHYSMEM_BITS-to-128TB.patch crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch- Upgrade the source tarball to version 7.2.5 - drop patches obsoleted by version upgrade: * crash-fix-snprintf-overflow.patch * crash-update-recognition-of-x86_64-CPU_ENTRY_AREA.patch - post-7.2.5 upstream patches for kernel 5.0/5.1 compatibility: * crash-fix-for-4.20-without-CONFIG_RANDOMIZE_BASE.patch * crash-fix-for-virsh-dump-dumps-with-KASLR.patch * crash-fix-kmem-z-on-kernel-5.0.patch * crash-fix-kmem-i-on-kernel-5.0.patch * crash-fix-sym-for-module-symbols-on-kernel-5.0.patch * crash-fix-dis-function-for-module-symbols-on-kernel-5.0.patch * crash-handle-radix_tree_root-changes-in-post-5.1-kernels.patch * crash-find-kernel-configuration-data-with-kernel-5.1.patch * crash-fix-dev-dD-on-kernel-5.1.patch- Update for XEN dom0 changes in v4.11 that cause coredumps made of a domU using virch on the dom0 to fail to load in the dom0 version of crash reporting "crash: invalid kernel virtual address:
type:fill_pcpu_struct", followed by "WARNING: cannot fill pcpu_struct" and "crash: cannot read cpu_info" (bsc#1124690 and bsc#1122594) Added: crash-xen-invalid-pcpu-vaddr-use-hardware-domain-symbol.patch- Update the recognition of x86_64 CPU_ENTRY_AREA (bsc#1104743, bsc#1090127) Added: crash-update-recognition-of-x86_64-CPU_ENTRY_AREA.patch- Fix SLE15 SP1 Incorrect vmcore generated (bsc#1119791). Added: crash-SLE15-SP1-With-Linux-4.19-rc1-up-MAX_PHYSMEM_BITS-to-128TB.patch crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch This is not compatible with SLE15 and SLE12 SP4.- Sync with SLE15 SP1 (SR#173916) to enable the kmp-rt for SLERT15 SP1 only set %if 0%{?sle_version} >= 150100- Added: crash-Fix-and-an-update-for-the-ipcs-command.patch The update is required for Linux 4.11 and greater kernels, which reimplemented the IDR facility to use radix trees in kernel commit 0a835c4f090af2c76fc2932c539c3b32fd21fbbb, titled "Reimplement IDR and IDA using the radix tree". Without the patch, if any IPCS entry exists, the command would fail with the message "ipcs: invalid structure member offset: idr_top" (bsc#1092101)- Added crash-fix-snprintf-overflow.patch Fix to address a "__builtin___snprintf_chk" compiler warning. - Added crash-update-recognition-of-x86_64-CPU_ENTRY_AREA.patch Update the recognition of x86_64 CPU_ENTRY_AREA.- Upgrade the source tarball to version to 7.2.3 A complete changelog is available via the crash source page at: http://people.redhat.com/anderson/crash.changelog.html - Refreshed: crash-compressed-booted-kernel.patch- Upgraded to 7.2.1 because it includes the fixes to support several core cases that recently were caused tofail to open. As a result, removed patches that were already superceded by 7.2.1 source (bsc#1103371). Removed: crash-ppc64-book3s-update-hash-page-table-geometry.patch crash-x86_64_kvtop-usable-symtab_init.patch crash-ppc64-ensure-chosen-stack-symbol-relates-to-an-actual-backtrace.patch crash-fix-error-cannot-resolve-schedulers-0001.patch crash-fix-error-cannot-resolve-schedulers-0002.patch crash-extend-direct-mapping-to-5TB.patch Modified: crash-allow-use-of-sadump-captured-KASLR-kernel.patch- Added: crash-fix-error-cannot-resolve-schedulers-0001.patch crash-fix-error-cannot-resolve-schedulers-0002.patch crash-extend-direct-mapping-to-5TB.patch Fixes Xen dump files that cannot be opened in hypervisor mode. bsc#1073993- Added crash-ppc64-ensure-chosen-stack-symbol-relates-to-an-actual-backtrace.patch With latest NMI IPI changes, crash_ipi_callback is found multiple times on the stack. Ensure the chosen symbol relates to an actual backtrace. bsc#1072718- Escape the usage of %{VERSION} when calling out to rpm. RPM 4.14 has %{VERSION} defined as 'the main packages version'.- Added crash-x86_64_kvtop-usable-symtab_init.patch to change x86_64_kvtop() so that it can be called during symtab_init() Added crash-allow-use-of-sadump-captured-KASLR-kernel.patch to allow use of dumps of KASLR enabled kernels that were captured by sadump. Both are bsc#1070278/FATE#323473- Upgrade the source tarball to version to 7.2.0 which requires the removal of patches that are then already applied: crash-gdb-add-proc_service-sync-with-GLIBC.patch crash-xen_add_support_for_domU_with_linux_kernel_from_3.19.patch A complete changelog is available via the crash source page at: http://people.redhat.com/anderson/crash.changelog.html Added crash-ppc64-book3s-update-hash-page-table-geometry.patch from hbathini@linux.vnet.ibm.com via bsc#1067702 to correct errors with virtual-to-physical address translation in the larger virtual address range of newer kernels. Added a BuildRequires of libelf that will populate the build workspace with libelf (from elfutils) even though it is not directly required by crash but is required by gdb (which crash nests). It no longer got picked up automatically for build and gdb and kernel module features had build errors before it.- crash-xen_add_support_for_domU_with_linux_kernel_from_3.19.patch: Since linux kernel 3.19 crash readmem() can't be used to read xen_p2m_addr associate memory directly during m2p translation. PV domU p2m mapping is also stored at xd->xfd + xch_index_offset and organized as struct xen_dumpcore_p2m. This patch implements a special reading function read_xc_p2m() to extract the mfns from xd->xfd + xch_index_offset and makes and crash support Xen PV domU dumpfiles for kernel 3.19 and later (bsc#1043501). - add crash-xen_add_support_for_domU_with_linux_kernel_from_3.19.patch- Merge SLE changes into Factory (bsc#1041638)- crash-stop_read_error_when_intent_is_retry.patch: When reading a memory image fails it may not be an error if it is still possible to switch image and retry the read. Fix the error message output to only occur if no retries are intended (bsc#1038839). - add crash-stop_read_error_when_intent_is_retry.patch- Exclude openSUSE from RT KMP build (bsc#1013843)- crash source nests gdb source but gdb has a new build error on Factory due to the bug and build environment modifications. The fix is upstream gdb but not upstream crash's gdb. Created crash patch: crash-gdb-add-proc_service-sync-with-GLIBC.patch to create the gdb patch in expanded crash and added to the gdb Makefile patch it's application. Resolves the build error.- Upgrade of source tarball to 7.1.8 from upstream and refresh of patches to align with the version. For a detailed changelog of the source tarball see: http://people.redhat.com/anderson/crash.changelog.html Adds a feature to permit the use of the command-line options "--kaslr=" and/or "--kaslr=auto" with the x86 32-bit architecture. - refresh crash-sles9-time.patch crash-compressed-booted-kernel.patch - drop crash-Fix-for-the-PPC64-bt-command-for-non-panicking-activ.patch merged upstram in 7.1.8- Fix analyzing fadump dumps on PPC64 (bsc#1022962). + crash-Fix-for-the-PPC64-bt-command-for-non-panicking-activ.patch- Upgrade of source tarball to 7.1.7 from upstream, removal of crash-kernel-4.7.patch (source includes it) and refresh of other patches to align with the version. For a detailed changelog of the source tarball see: http://people.redhat.com/anderson/crash.changelog.html Feature enhancements included from 7.1.6: - Introduction of support for "live" ramdump files, such as those that are specified by the latest QEMU version's mem-path argument of a memory-backend-file object, e.g.: $ qemu-kvm ...other-options... \ - object memory-backend-file,id=MEM,size=128m,mem-path=/tmp/MEM,share=on \ - numa node,memdev=MEM -m 128 and a live session run can be run against the guest kernel like so: $ crash live:/tmp/MEM@0 - Implemented support for the redesigned ARM64 kernel virtual memory layout that was introduced in Linux 4.6. Plus ARM64 support for 4k pages with 4-level page tables and 48 VA bits. NB: On live systems automatic operation with Linux 4.6 ARM64 kernels requires that CONFIG_RANDOMIZE_BASE is not configured. If it is configured then use with a live system requires two - -machdep arguments, e.g.: - -machdep phys_offset= - -machdep kimage_voffset= - Improvement of the ARM64 bt -f display so that, for most cases, the stack frame delimiter will be the location of the old FP and LR pair. - New bt -v option that checks all tasks for evidence of stack overflows. - Incorporation of an alternative stack backtrace mathod accessed directly using bt -o and the default method can be toggled between the two using bt -O. - Fix for the case where the sym/dis commands fail for a symbol name that is composed entirely of hexadecimal characters and was previously interpreted as an address. - Determine structure member data if the member is contained in an anonymous structure or union (no longer necessary to use a] discrete gdb "printf" command to find the offset of it). - Session initialization speed up. - Addition of "list -S" and "tree -S" options (similar to the -s option of each command) where member values are read from memory instead of being interpreting gdb output (much faster behavior for 1-, 2-, 4- and 8-byte members). - Fix to recognize x86_64 Linux 4.8-rc1 and later kernels that are configured with CONFIG_RANDOMIZE_MEMORY. - Support for PPC64 virtual address translation of radix MMU. - Improvement of "dev -d" output to display I/O statistics for devices that use the blk-mq interface. Feature enhancements included from 7.1.7: - Restore x86_64 "dis" command's symbol translation for call or jump target addresses for kernels configured with CONFIG_RANDOMIZE_BASE. - Re-factor of the trace extension module to locate all of the ftrace buffers and extracts data from each of them rather than only the primary one. - Support for s390x CONFIG_THREAD_INFO_IN_TASK configuration so that "bt" command no longer shows incomplete output. - Support for live ARM64 kernels from Linux 4.6 that have the kernel image loaded anywhere in physical memory. - Update of /dev/crash/kernel driver to v1.3 which adds support Linux 4.6 and later ARM64 kernels configured with CONFIG_HARDENED_USERCOPY and S390x kernels that use xlate_dev_mem_ptr() and unxlate_dev_mem_ptr() rather than kmap() and kunmap(). - refresh eppic-support-arm64.patch crash-debuginfo-compressed.patch - drop crash-linux-4.6-printk-flags.patch merged upstream in 7.1.6- Enabled RT KMP build (bsc#1005578)- crash-linux-4.6-printk-flags.patch: Fix warning "failed to read pageflag_names entry" on Linux 4.6 (bsc#978601).- crash-kernel-4.7.patch: support 4.7 kernel (page._count renamed to page._refcount)- eppic-support-arm64.patch: Support for ARM64 (FATE#320844).- Upgrade of source tarball to 7.1.5 from upstream and fix of crash-sles9-time.patch for the version and refresh of other patches to align with the version. For a detailed changelog of the source tarball see: http://people.redhat.com/anderson/crash.changelog.html includes a fix for bsc#977306. Feature enhancements include: - "whatis -r" and "whatis -m" commands that allow search for data structure of a specified size and that contains a member of a given type respectively.- Upgrade to 7.1.4 from upstream. For a detailed changelog see http://people.redhat.com/anderson/crash.changelog.html- Disable RT KMP build (bsc#962719)- Enable RT KMP build (bsc#948840)- For 7.1.3 ppc64le the following patches are obsoleted by mainline crash-gdb-7.6-add-powerpc64le-linux.patch crash-gdb-7.6-bound_minimal_symbol.patch crash-gdb-7.6-floatformat.patch crash-gdb-7.6-ppc64-ELFv2-trampoline-match.patch crash-gdb-7.6-ppc64_sysv_abi_push_float.patch crash-gdb-7.6-ppc64le.patch crash-gdb-7.6-ppc_insns_match_pattern.patch crash-gdb-7.6-update-autoconf-2013-04-24.patch crash-gdb-7.6-update-autoconf-2013-06-10.patch crash-gdb-7.6.series crash-patch-gdb.patch- Update to 7.1.3 (bsc#946458) o Introduction of "dis -f
" which disassembles from the address to the end of the function o Introduction of "dis -s
" which displays the filename and line number associated with the specified text location, followed by a source code listing if available. o Addition of a new "--src " command line option for use by the "dis -s" option if the kernel source is not located in the standard location. o Do not search for a panic task in s390x dumpfiles that are marked as a "live dump" o Fix unnecessary error messages when a directory is used as a command line argument o See http://people.redhat.com/anderson/crash.changelog.html for the complete changelog - Removed these patches obsoleted by mainline: crash-x86_64-nested-nmi.patch crash-keep-file-orig-with-name-on-select.patch crash-kmem_cache-downsize.patch crash-s390x-add-vector-support.patch - Refreshed patches- crash-move-xen-dom0-handling-into-own-file.patch: Move Xen Dom0 handling into xen_dom0.c (FATE#316467). - crash-move-xen-p2m-map.patch: Move xen p2m map initialization to xen_kdump_p2m (FATE#316467). - crash-use-xen_machine_addr-command.patch: Use XEN_MACHINE_ADDR command flag instead of overriding readmem (FATE#316467). - crash-move-xen-elf-note-processing.patch: Move Xen ELF note processing to xen_dom0.c (FATE#316467). - crash-add-xen-dom0-support-for-kdump.patch: Add Xen Dom0 support for kdump compressed files (FATE#316467).- crash-s390x-add-vector-support.patch: SIMD support for dump tools (z13) (FATE#318058).- Upgrade to 7.1.2 from upstream. For a detailed changelog see http://people.redhat.com/anderson/crash.changelog.html - Refreshed patch series with some changes required to adjust for git host changes in eppic-switch-to-system-lib.patch- Upgrade to 7.1.1 from upstream. At the time of writing the only published changelog was supplied by e-mail list and is as follows - Fix for two minor issues with the "net" command. Without the patch, the "net -a" option appends its correct output with the command's "Usage:" message; and if either the "net -x" or "net -d" options are used without also specifying "-s" or "-S", the error message would indicate "net: illegal flag: 800000" or "net: illegal flag: 1000000" instead of showing the command's "Usage:" message. (anderson@redhat.com) - If the kernel (live or dumpfile) has the TAINT_LIVEPATCH bit set, or if the Red Hat "kpatch" module is installed, the tag "[LIVEPATCH]" will be displayed next to the kernel name in the initial system banner and by the "sys" command. This new tag replaces the "[KPATCH]" tag that was introduced in crash-7.0.7. (anderson@redhat.com) - Addressed three Coverity Scan complaints in vmware_vmss.c: 50:leaked_storage: Variable "fp" going out of scope leaks the storage it points to. 53:leaked_storage: Variable "fp" going out of scope leaks the storage it points to. 256:warning: Use of memory after it is freed (anderson@redhat.com) - Remove the LKCD-only "propeller spinner" seen when a dumpfile read requires more than 2048 page header accesses. This was put in place because of the non-random-access design of LKCD dumpfiles. Without the patch, the spinner display is intermingled with command output, which complicates the parsing of the output. (watters.sam@gmail.com) - Fix to support the Linux version increment from 3 to 4. Without the patch, both dumpfile and live sessions fail during initialization, issuing the message "WARNING: kernel version inconsistency between vmlinux and dumpfile" or "WARNING: kernel version inconsistency between vmlinux and live memory", followed by the nonsensical fatal error message "crash: incompatible arguments: vmlinux is not SMP -- vmcore is SMP" or "crash: incompatible arguments: vmlinux is not SMP -- live system is SMP". To prevent unexpected kernel version bumps in the future, support has been added for version 5. (anderson@redhat.com) - Add support for more than 16TB of physical memory space in the SADUMP dumpfile format. Without the patch, there is a limitation caused by several 32-bit members of dump_header structure, in particular the max_mapnr member, which overflows if the dumpfile contains more than 16TB of physical memory space. The header_version member of the dump_header structure has been increased from 0 to 1 in this extended new format, and the new 64-bit members will be used. (d.hatayama@jp.fujitsu.com) - Fix for command lines that are redirected to a pipe. Without the patch, if an external piped-to command contains a quoted string that includes a "|" character, the command fails with the message "crash: pipe operation failed". (anderson@redhat.com) - Fix for insecure temporary file usage in _rl_tropen() as reported by readline library CVE-2014-2524. (anderson@redhat.com) - When the gdb-.patch file has changed and a rebuild is done from within a previously-existing build tree, the "patch -N" option is used to ignore patches that have been previously applied; this patch also applies the "patch -r-" option to prevent unnecessary .rej files from being created. (anderson@redhat.com) - Fix to account for Xen hypervisor's "domain" structure member name change from "is_paused_by_controller" to "controller_pause_count". Without the patch, in Xen 4.2.5 and later, the crash session fails during initialization with the error message 'crash: invalid structure member offset: domain_is_paused_by_controller". (dietmar.hahn@ts.fujitsu.com) - During initialization, reject useless ARM64 "(A)" and "(a)" absolute symbols that are below the text region. Without the patch, several recently-introduced absolute symbols have been introduced into the kernel, which will be displayed by "sym -l" prior to the first kernel virtual address symbol, and will show up in command output where memory values are translated into kernel symbol references. (anderson@redhat.com) - Fix for ARM64 kernels to account for changes in the virtual memory layout introduced in Linux 3.17. The vmalloc region end address, and the vmemmap start and end addresses are now calculated at kernel build time, because they depend upon the size of a struct page. Accordingly, the crash utility needs to calculate those three address values dynamically, after the embedded gdb module has initialized. Without the patch, reads of page structures return invalid data due to incorrect virtual-to-physical translations of memory in the vmemmap range. This in turn causes commands that require page structure contents to fail or show invalid data, such as "kmem -p", "kmem -[sS]", and the "kmem -[fF]" options. (anderson@redhat.com) - Fix to support ELF vmcore dumpfiles whose PT_LOAD file offset values of their respective memory segments are not laid out sequentially from low to high in the dumpfile. This has only been seen in ELF dumpfiles created by VMware's "vmss2core -M" facility. Without the patch, the crash session may fail during initialization, either with the message "cannot malloc ELF header buffer", or "crash: : not a supported file format". (anderson@redhat.com) - Enhancement to the support of VMware .vmss suspended state dumpfiles. There may be holes in the memory address saved for PCI, etc. In such cases, the memory dump is divided into regions. With this patch, up to 3 memory regions are supported. (hfu@vmware.com) - Fortified the error handling of task gathering from the pid_hash[] chains during session initialization. If a chain has been corrupted, the patch prevents the sequence from entering an infinite loop, and the error messages associated with corrupt/invalid chains have been updated to report the pid_hash[] index number. (anderson@redhat.com) - Implemented a new STRDUPBUF() utility that will duplicate an existing string into a buffer allocated with GETBUF(). As is the case with any buffer allocated with GETBUF(), it is only meant to exist during the life-span of the current command. If it is not explicitly freed via FREEBUF(), then it will be freed automatically prior to the next command. (anderson@redhat.com) - Implemented a new fill_struct_member_data() function that gathers a bundle of data that describes a structure member. The function receives a pointer to a struct_member_data structure, in which the caller has initialized the "structure" and "member" name pointers: struct struct_member_data { char *structure; char *member; long type; long unsigned_type; long length; long offset; long bitpos; long bitsize; }; A gdb "printm" command is crafted using those two fields, and the output of the command is used to initialize the remaining six fields. Adapted from Qiao Nuohan's "pstruct" extension module. (anderson@redhat.com, qiaonuohan@cn.fujitsu.com) - Implemented a new "runq -c cpu(s)" option to display the run queue data of specified cpus. It can be used in conjunction with all runq command options. The cpus must be specified in a comma- and/or dash-separated list; for examples, "3", "1,8,9", "1-23", or "1,8-15". (anderson@redhat.com) - Build extension modules that utilize the generic extensions/Makefile with -g. In addition, build the snap.c extension module with -g. (rabinv@axis.com) - Several fixes, updates, and enhancements for 32-bit MIPS support: (1) The MIPS general purpose registers in the elf_gregset_t don't start at index 0 but at index 6. (2) Adjust for the kernel's pt_regs structure changes between kernel versions. For example, fields are inserted into the middle based on build time options, and the amount of padding at the head of the structure was changed relatively recently. To handle this, split the structure definition into two parts and get the offsets of these two parts dynamically. (3) Do not display each parsed kernel symbol during initialization when invoked with "crash -d8". (4) Add support for loading raw MIPS ramdump dumpfiles. (5) Add support for compressed kdump dumpfiles. (rabinv@axis.com) - Fix for a typo in "help foreach", and a fix for a spelling error in "help input". (weijg.fnst@cn.fujitsu.com) - Fix for "and and" and "the the" typos in the README file. (weijg.fnst@cn.fujitsu.com) - Fix to address the Xen 4.5.0 hypervisor symbol name change from "dom0" to "hardware_domain". Without the patch, the crash session fails with the error message "crash: cannot resolve: dom0". (dslutz@verizon.com) - Fix for a regression in crash-7.1.0 that causes failures when the "crash -t" option is run on a live system, and when analyzing remote Linux kernels. Without the patch, "crash -t" on a live system fails with the message "crash: cannot open remote memory source: /dev/mem", and attempts to analyze a Linux kernel remotely just shows the kernel timestamp and exits immediately. (dslutz@verizon.com, anderson@redhat.com) - Speed up the session invocation time of "flattened" format dumpfiles created by the makedumpfile(8) facility. When sorting the blocks of memory by their intended ELF or compressed kdump file offsets, the patch replaces the bubble-sort method that is currently used with an insertion sort method. (dslutz@verizon.com) - Remove the non-existent "-L" option from the "ps" command's mutually- exclusive options error message. (vvs@parallels.com) - Fix for the "irq", "mount", "kmem -p" and "kmem -v" commands when they are used in an input file. If more than one of any of those four commands are used in an input file, the output of the second and subsequent command instances will not display their respective command headers. (anderson@redhat.com) - Implemented a new "kmem -m" option that is similar to "kmem -p", but it allows the user to specify the page struct members to be displayed. The option takes a comma-separated list of one or more page struct members, which will be displayed following the page structure address. The "flags" member will always be expressed in hexadecimal format, and the "_count" and "_mapcount" members will always be expressed in decimal format. Otherwise, all other members will be displayed in hexadecimal format unless the current output radix is 10 and the member is a signed/unsigned integer. Members that are data structures may be specified by the data structure's member name, or expanded to specify a member of that data structure. For example, "-m lru" refers to a list_head data structure, in which case both the list_head.next and list_head.prev pointer values will be displayed; if "-m lru.next" is specified, just the list_head.next value will be displayed. (atomlin@redhat.com, anderson@redhat.com) - Support enhancement for the 32-bit MIPS architecture that retrieves the per-cpu registers from the NT_PRSTATUS notes stored in the header of compressed kdump dumpfiles. (rabinv@axis.com) - Fix to remove an invalid warning message on ARM64 if a crash session is invoked with the "-d" debug flag. Without the patch, the invalid message is "WARNING: SPARSEMEM_EX: questionable section values". (anderson@redhat.com) - Remove the leftover ".constructor" build file in the extensions subdirectory when "make extensions" is complete, and update the top-level .gitignore file to ignore post-build extensions subdirectory files. (anderson@redhat.com) - Fix for a segmentation violation generated by the "help -[n|D]" options on ARM64 compressed kdumps. (anderson@redhat.com) - Additional output for the "help [-D|-n]" options on ARM64. For ELF kdump vmcores and compressed kdumps, the elf_prstatus structure in each NT_PRSTATUS note will be translated. (anderson@redhat.com) - The "help -r" option has been extended to dump the ARM64 registers stored in each per-cpu NT_PRSTATUS note in compressed kdump and ELF kdump dumpfiles. (anderson@redhat.com) - Fix for the ARM64 page size determination on Linux 4.1 and later kernels. Without the patch, the crash session fails during initialization with the message "crash: invalid/unsupported page size: 98304" on kernels with 64K pages. On kernels with 4K pages, the message is "crash: invalid/unsupported page size: 6144". In addition, the "-p " command line override option had no effect on ARM64; that has been fixed as well. (anderson@redhat.com) - Fix for the DATE display in the initial system banner and by the "sys" command to account for the Linux 3.17 change that moved the "timekeeper" symbol and structure into a containing tk_core structure; the "shadow_timekeeper" timekeeper will be used as an alternative. Without the patch, the DATE shows something within a few hours of the Linux epoch, such as "Wed Dec 31 18:00:00 1969". (kmcmartin@redhat.com) - Fixes for the translation of ARM64 PTEs, as displayed by the "vm -p" and "vtop" commands. Without the patch, if "vm -p" references a swapped-out page on Linux 4.0 and later kernels, the SWAP location may indicate "(unknown swap location)", and will show an invalid OFFSET value; on Linux 3.13 and later kernels, running "vtop" on a user virtual address incorrectly translates the PTE contents of swapped out pages by showing a PHYSICAL address and FLAGS translation instead of the SWAP device and OFFSET. It is possible that there may be PTE bit translation errors on other kernel versions; the patch addresses the changes in ARM64 PTE bit definitions made in Linux 3.11, 3.13, and 4.0 kernels. (anderson@redhat.com) - Enhanced the "struct.member" display capability of the "struct", "union", "task", "list" and "tree" commands. If a specified structure member contains an embedded structure, the output may be restricted to just the embedded structure by expressing the .member argument as "member.member". If a specified structure member is an array, the output may be restricted to a single array element by expressing the .member argument as "member[index]". Furthermore, these embedded member specifications may extend beyond one level deep, for example, by expressing the member argument as "member.member.member", or "member[index].member". (Alexandr_Terekhov@epam.com, anderson@redhat.com) - Fix for any command that passes strings to gdb for evaluation, where the string contains a parentheses-within-parentheses expression along with a ">" or ">>" operator inside the outermost set of parentheses. Without the patch, a command such as the following fails like so: crash> p ((1+1) >> 1) p: gdb request failed: p ((1+1) crash> (anderson@redhat.com) - Fix for the handling of ARM64 kernel module per-cpu symbols. Without the patch, if the debuginfo data of an ARM64 kernel module that contains a per-cpu section is loaded by "mod -s " or "mod -S", commands such as "bt" or "sym" may incorrectly translate the module's virtual addresses to symbol names. (Jan.Karlsson@sonymobile.com) - 0001-Prepare-for-the-future-increment-of-Linux-3.x-to-4.x.patch: Dropped. Handling kernel 4.0 is now part of the upstream source.- add patch from upstream to handle kernel 4.0 0001-Prepare-for-the-future-increment-of-Linux-3.x-to-4.x.patch- Upgrade to 7.1.0 from upstream. For a detailed changelog see http://people.redhat.com/anderson/crash.changelog.html - Refreshed patch series with only re-alignment required.- Upgrade to 7.0.9 from upstream, For a detailed changelog see http://people.redhat.com/anderson/crash.changelog.html - Refreshed patch series but no modifications required.goat13 16180681317.2.8_k5.3.18_lp152.69-lp152.3.6.17.2.8_k5.3.18_lp152.69-lp152.3.6.1debuglibmodules5.3.18-lp152.69-defaultupdatescrash.ko-7.2.8-lp152.3.6.1.x86_64.debug/usr/lib//usr/lib/debug//usr/lib/debug/lib//usr/lib/debug/lib/modules//usr/lib/debug/lib/modules/5.3.18-lp152.69-default//usr/lib/debug/lib/modules/5.3.18-lp152.69-default/updates/-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:16064/openSUSE_Leap_15.2_Update/6361cbfa33a3fddcb69ac83a0f378f1b-crash.openSUSE_Leap_15.2_Updatecpioxz5x86_64-suse-linuxdirectoryELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=077560b97c01e2d3e323d371215aea244fef2f94, with debug_info, not strippedD[pJQfƅS`\=crash-debugsource(x86-64)7.2.8-lp152.3.6.1utf-81e807d0c0a8dbba2dfbf1089f0da30cad1528ea61dcba6d7c39ce8ecb0d9f0b7?07zXZ !t/Z] crt:bLLSw~\=.C N:u\3/~Zwwa_ ~oi[GoY `%Ic.h\C"ܹ[Q̭Y۴ui>}dXogj{;w"}+p46+ǺS:cJu?N~:s&edAU)g-chXPr/GƎT 1"c̡gװaMyEC;(dhUt0 cD-epwwd!y>4x ~OA7+Vg0p[73 Qʔ4.P44mc(̍8ƒ䧰C<.J=5~IL7iV]+Z/;5TnQMul-Vbɫpf~kB `nuPzkp6cjE 3Vn>6!'گ/v֖w+d/C {cĕ(%^4]pU@h.fCN1ga㺫H*A7Jxzi'r*C?!fX ]^)mv'` C"ңҚE"-ɘȰ\1Pn$k5}j{S^C/뵶[43P#]!%v^hese0L;fϝUeCKScTL~g*oɶ6Yf1+[Dĥr`Ui}+E e|VHLAX]o#j͡4Uѿ\+|I^?* y|7UCg5$Ǎػe%]P,=C6.J-ĎH"=]N  IdjLrާ1j<)rȊӘո TBicOb1Q4z2녡^3䳨Y@y6EAF06]ibs蛺iW鷺Cqso@Wbh4Ջx%P~S4k;MX͐WSgJ#}]9tF\ox=_Fj5:ΘQ8w}lV,},/^SNWƖ#؛xM?_)(.b$4fcm718;2Qjjȫ,Jܨ,4mvMRSB)3+(Υ%?!U&fodM np^sx D/u9R4u̇ Qm v B:Zb^8IXj| 43 a_&*՞e#韣IJ9e1̀JˑݷdOk@p,!fS#7] }6z mrIc6h+hPZ|gݗQw)d8. T#V.#d =np l8q4t\XҔm p?z<$$~;b`T"/!i>0^x:=6Ԫ8? ׬psEƆSmg )bJ΂aZx@Hubt*eYxKyXѣ0 R&O0L KHo#{nc I)wG+Imj:BU2B7v{4Sc'vp(#J7XBum8b_!ǚc )Ǹ٧P\]&rOl07%bf|~j6pXZ~F=@~Ui9:`^!.W^˂XytpƱKg6X1T瑚aH$;@$8+bIca@0o~vt'_lMmLf5- \%`F]XP?e_ 1:c q9p`U pꚥ3<2ub Ou ׎Eu'B>T60#ţ==sQ)8&C&xY |u-wC^ Յ(-t- oOCpf&gs'guJ*ICE;)rU$]j8IĚSˉ2{Iz&`ԹiAI(ۇЪ!=`h y_~KNE=Ġ~ 's 8]HUGoFd_ t_nc0]o>qڃCv=G2C-_am ex^2:<BHc.I牦T} ${|xd'"*XP%a;1yƃL>oh :QO= FA5dO>'rnyʨ5v! AWs±!JTt Nz1'#@fz pMp& $Kbp*IvL1ju 脚}Y{g5D ǭjYrg7vaeC|xhKf5QAOx$l"hw3u Ou}-g2"M|"z>G/A\`?|!O9xDX"< q|f9D\S9Vc!S4*TζaڧI|oG ptk%Õ[b wf-wK}$J ]~BAh"u>D=$p293Z=@67#.KE8FHc O7>ȣ8A2腻dͣ Һ,h0+~3Nq$j]o;[=` :*'%|}1-)3\Up3 <z"$ v=r smHp~Jy$S}OPm>NgLsEMY]I=~ (/~E?5!Frmruöl )ˆz@սWeEY#V`mD8Tke>,8Wە9•jc[e#c5 PA0xLs $ Knh(P?R wX}ޣf]b~CA餩:WKKU\)2~;BQ [o|:~^Sן0کx9Lk/s !Bgr2_K+:Ɵ5 P%O$^.5z-bl99q Il@I;McKRbʷn/͗/yU zNZqT<*޶bR$f)_,y|X!:-p]Y/ KwևX@ 8KW/DP882$?hOYR\FIԵL7G i9` nw cԥZnrJ1E_Qm F1́T)XdD*$^[w`#̨ OEJc %ke'\>XWp>sP!"UHxBԷ[eVRq9r9s?͒!'t<1by+ u+uQ3PܠAgVd}û| {t J=R_='Z@^AI>e [g:㔪tljܙ1oXR?` f.N3}"cJ~Qke@\^\!h`vj"1 X41oe-U $(;!)@^sI+H &D! M?=q2-k548)+W$2̱eD-"#pTT]Ah5 a[X~j*d_kLGS\\g(XCؐN]5%ى'~sΟRKg-B:CĐHGcb`V%|^߰*Wx>*Ev6{=91Fյ]o(I[P}R.WgD=5ف%PߝKDo0T:q,&~I7t<2f9I5ۗQtYsT6J>teJAFAl$}6'x1V[l[韽W:B(ⳓ&W "JuDOQαL~+-VRCAi LL늮_9\a77JWf^L֕tKiTX>2 P~5Cvi,Zso%5ׁ  d _`z3"h鋢dp]2yvA+;aJ\|lm5F1S7;ScΣzdH"gMa7#n4{\^G!qw},PG._E_M8Yd]ٰ]P+Aᓺ&W GԀR88W[΋!]'?/ e&=J<"oUٹza#gצq1“(S.'=@89Zjz-Z"kD[o ף*Ĵb1qg]T]3n,q %̼rtbS8h{0Q廵BDcyt_:I7O{Fc:a٦M!F;BUodg}4aǚP3zqҤ@E|KÂ=?s2o<|ZCMtH^"ď+OL6!\]jzO3LJ=n(篞H*1RXk>xJ'?L˪/J/Wdm>1C6*٘ r=fd B4r/zM nvDžjKΜ-56RF"B?y#8+ Fvܿ1CTY*-\*1ϋ!{qw[)/R"mOhNIHCV @N|'{u,rcu<98ЇSSX`25@3L0FeG66`LP ^P$IXc<2dma踕Ӿ1S jgoϒ,{Gİ\**‰pJX3K@d=R=;6'r00\5ǪH|[:g:RQ-܀hD/_\'g˰ (BabJWb8-=p7.wgf$d/HDcƧ@0%p |+PR}6K;FW Q$&_vuy퍅ҕ> p 5~ N}ʏ}j!j"`]9Q$F5B)IXs-Re|GͽR\06}WH!S/'}} Zz,|̎g@kp95لz^tG1(OE%.|&^5M(qln#]z}}.wneqRbAf'=rrfvVV :j*5НOf "&c6d(s.Oߙ8*hq H2ݷ+!tn~:0~RY4i([ǥDnP.fۤ<ڽegz|Eĺ͕Z'W A?i8RyWzA6HDp[xaÚySxfm}cFujb$)7 b[ΪM-akqAJ]FmԄU|3.@I땄B"}44,/|t]Z9(,(h/b]=gU;7>3"iW͢^FE!}VWFcN*R%hzndNTU-wֽ?: pmP&b)A.HcmdQwko s(roBw:R7G t~ws\Kn؁fE=값Yɻ83Z$EXJYJh ue9WڦI~~DbW^>) KED`Y;epAXAJ LSA$e~<ކsqB/ Hz,'JPgc>pgOCz~7av\zp&ԋsn+;i$=%c1 Zs0Ꞓ{sEXֲ z">}4O@UËC-m#H*P>^m!LKӈPPNœI"0<υ&K3ϓu9]u3:$[lf߇#GONWGZ}ڕ>z|G;qX)S X|w ~qE O*iZkNEXS ޷~o*a P4ier]jdڷi^k|wӐ^3}b2+V(Ii&_ڌr|.oL_&"h'vk;rj"8u`w% ?-:8|2zϋ S>P ;Ze#f \C9@]t1gBs50)}K䜊SD-AvX~J ȩ^ X9!WS1|O{UN2x"S`8e Ь U\>Jg9rXe;WvuDguQ96qFȽT3eTѤ؀-Hhث>4>ohUNAޚ&HkM5X#e(ua}9X{e\u9FX75610Rs&@ϞD9""3EzFBY>=sWM<< 㐌Ϊ+պ_mewBPuLU/JYa0f_ί"@ Q4t=Θ%lM=3ߠ&N#E I dzq.7$U[IH/6`SW{mO9/1 gexghp&yC*rs{s-E@1Fl L- ߬8o9; *ȃdAS!6>f[ZA֣_7 K/nMMQ:=/=Fo]Q}TQWwV\rJ6Œwi J,xxy5~:n{.TsOz=h~Ю p,F]1AKHS|dh܉I:v AzKm`u7X4G3R6xʾ+`\(Muf#;Nzbx-CF֨03^$TJluM\ᕇfj19=xB)k y%$.&0É 3N5^>L!NVOH]&QRe &AMYLT`c7~a JgfhG#(x#l,!.kA!X`-c]dR?Ŭ*J36-Z$Oc^>u"3\V5wE`|b| .8!~eLVd'k_d&b\\xhՙ}J~0p)ǚ/C⾖L) C5 89G2Tm_4*[giu7y:"lfYg5K;jJ; ,[<:F6M[v-1S T9e:qhr[*[dW;% SED\J 8i$a/P}?E|VB}j^" ^\ij.0ùK7dậ2ѣC[H~O!^DAm[ZfE؜e$ȵa&Ni (OeTOQ̮;}rrzQNӆ[ulc(;^7^zӻ3xJǏ9vqo(fݿ@j;<Ρtbq+ vܦiui{ .@VSqVq|;V0yT=P @wKOt٘`KLL ch [ۈ1ёvE~pN.*$=*;R62$,x vyN#ȗLp" %PDQдtlI;)fƉ_"А%W~̓U5ЬFZ8yœ[8:1Bvjױ#"V$@b. M&n"jfm{5wEW' ->VP K۩V2&ů3Hh.z'T80+ hio7p!(%VͻQgRv!O莺@ُƛ 5y4ϣ-όF4be󨾨K;'<: =Td,#} K7}oBk0P&YpHVE1Tujh\Sr+oi&H.[b& 殷F^+WYzFq=oj];ڻs/ޟ%qbq,(բV"NI5LL@]j?m.D ,A2=*Bޕ#%63@JPps6 b *xB9rF>>BԭFJ?Fv/dڽӈc6J% 8J&xI)|[-OHu;hb)'83A\4p40cAۃpٳ̪ j+ r\ImQ+[sr#W hۀ$ȸL(S5$.:2jc!Q5y9,͒/մ/鮕ʂMS ̮irq@N3JX`uuSch\2)wuu&0i!y8av`faL!B ])ya8 wT9h #RHݮ REO srXc]C"Qœ^Sgݶȋ?K/Un8lƉVleκsI4D%dh| *f0k*/85-&nqu=-·'R1Џ3 l<MEڞȋeܙYr+CfY&27FWxռPpEծpC|5A]^SR`a+!"#sv 儻Rx9,९ڀ2:pZ.ZM@n_%m6gqWUV$4L.o谲& RqV[TqhMP+nvЍ5=B7\M7$1cܡӋ*d)5KX.I<VkQ?dGu /9aetMxkL`:\Ju%ʒ\LѰ2fQ.aݧ!YM"'Cu[8IH6mJi@0C}\j$h%@@8sSY#|gLvYB ZƣkR|tmyRZj 3Fy+OpiqȓK*}WI̾~.oUr >#;y%梻6TިTCȝjU|\>kң-/2ݫO5ݐdBNðJLT$T䐥xLPsƱΚgZ@(] 2T+| _m&EΘV&x H!PjU-<iRon/ƞotƸYwx7Mez全ߏe?ϖFYXumTaa:@Xt.2)mcX.PXrǷd+pwDZdCY<6zSW ١z ֐n#\C|֩2C0bg*X46U&ݿ&㱸?'3z"]~1XOn<(;{XAhâBeE$w<_3h} jK0d[[K%^!Z'{ "" =vkw7ʃݏ72e9@%d 8~#P94.Z^jf VGe ˂ '=-V`TWD-oO\%n*L <z]Gq F^8$M|i$R\׍;g*CW@F-YWS('EiV`Fc+Gժ5\M ۝\Km%҂C8_v%P2]w&%fTDj2.j7`&{cWr&ܧ<>'^" jNBEneB/vz}Ux-L"˄"u46k8>:baM`r%+11| JBig4Uv9` (= v~ќ)#oML]UP':@ L:v3 Y]#,,,_DwScC/1ɲ2,U(yg$=0ynuD#!,zY7$ňpDFGN;gWܔ!Yl&~2&5k#ψڔxvkHx0?~՘_l~  N64bIwR:vټcM`zY05*qZWfѯzǓDQ^o.JïKT2ovCGs.tD({|F3-[75'oX 3c?/Xo˒ϰiKo2>-?eKF'.%QssjM9`"nrt&\ɧw⽱YOC$6ʚlAhPӔeR}[lH yl؇}ﻦ,ȗPnmqUM)T݈:pV R`'qXRA]~7Sl:88+w^$z6KW~fs࣬c:m5l9z WmuN%cR02qCOJ)9/9U:-u xu|z|'S5ST4@yajz+MӷՌ+4E\"Dt-㺾Б!:A 4S̤ =4fJgRsr (E T FښJ_Gː6KrZ;bqxrJz \Ȓ++G+!9+вAk^&p Ӷ;Y6EwVAkK"_0n=ᡌ Mf{$ E>-ߓ릤X~*rI8spsF_ j^ h};[/hSh%x[2 4.b] k[Pi7WIk1j&53pOv+n Wrtfeᯎ'3`lꐏQ7q8kPNkg@#0 LA6֚ƯB&,K+D8ZBY;E.XUn\^ʐK :' h;^2-h_{B,3ۈD:y3h^طީyA)I Ʒ~|J{8/W|qa#$V)R@&Vc Ii1Sha7#o: EaDd͛<~|iHЗ tDіiS"->g,rY!]ۅ|i"4]ϻ TG߆գkE20^i2%>G<́2urMt G\%={EA JK:&2 [Qa'2{`$ 5%03`Qg$Ta\w(ZyeϺm'M;૛{!u9bmak7R#t?uQp₮Ų.mRoXC{Ub ̽.$XOjO"mxM{Q&i6l} D0eXK$М7M r/5En!?q*O#sZC+`bOw_#n=F/Mpqθ!b(M/^dAEK1HzT}ΓrtVH&m,—*K/o_+MҺPBiז|OnƦ@Uֽ%&h؈1ev}`&d'syU ǃOyfIBPcgK[xmx} ޟρ0 KZʊ- ݶ1]`\BĻvef%oC=Rxԣ ϠYP柶sB9N{FwЋH WTZGjɥWw/-ӣOV- ǩ@vbAՅbG#Jk*] TRQ4obήmD \( c`Eo?1#}3EqZސdguh3<f=#&~:+"+]+xV6 6#ӶAl/\B6)8Ņ.HU0tȆ/~nީIlWogPlHWxaCãk0F5ݱQ9rk `FB0LbGo\WC0Bf ιpub?Rq5LWǮڮgxlnn 8 G- q480D,kemjɍC#/6ZJ\!&8SH8si\mKGnaP)((V;-xlQOYu|ޓ쑩6{ˠLڍ Q94pmc]4>^8fQ14U",y)QrV°`{*u7ƎBS"^\9wFddLFWZOz`Ho9rO7!`Ռ;ѵQbJ?t9n[7_1u/P:/?όQRW,yM0]3Tr <">~/ӛ֥T{K,;%[ZG@D1/IЗޕVU jBu6g+~#yo9t:r?%=e0;a5?('> Бqpu]b.]^Cj5ўA l;on"| [1B_(+LB+7;,XbWFy#QlX*u&qSd0%Qj ow{h0|'O,Cr$U&)CէLDGFV`GK\ $]rގc^b.|l}]kx 3O٠ĘRv+bp$ b΄ؘ9 -@  gn:.'5OֆbưbSweqv^^, h8 WVGnE!oP<gE=Ժ`T*;B=ESteɢ8cl#oIΘ1]w( У)EVO!RE {gV|óžimwU(~`9׻ۀy PF/R( 445ӹo)@Q Xi]:3,nQP&B*<%SB^D#,h$C`quw.y'!\ R٠"`i_nZ=|v!8XȟY5V74|ۉK34qB&tE:!D_ u'!j3!d*'i ]J'9~RL<4CMҔ)G3+س>+4$n! _8H"oM*xY!*,A%\nmC<9ormS78kU_'5!|BF8Q5_C%bǡu8os7uAle6B=q]u_1 I懪є$(jЀ"Z꬚.nJN?l/pWsb&{EvŠb3_ YN( DMwP6J]0ѴAI!t&jnu@AiӝQ)1,3eF_伸84`הvD$N TEgTg84tzV\wqG= bCeǟЏ|blh7ʛQ2$dBp=bûTDu[ǍB6S ݘ؝9`LV|dm2v,2Ǽ]FhkZ\:6RG~mPO^@BSx=X.+)(]YkVggהmԣ"+2E8RO. #ƠYhDBdA:#m;6cH EUh^bn4 "?{w]}*r ԠASĔ^IPK>Ryq+vowi_K*mI|l2Jr` h%V5|anlEZ3n406O!Н_S%r+p6Xs֥gxi B^D=0Hbgʁ,2T2A?]ՇS]%M|,1-takGtK~͉ŷ&Vx8Caz0b4ުlִ|$( Xjw}m)<Go]ޢg2rO0!i筗>f"TK Z3h $pM>-nM6fV =B^{"eCx5|G4 Ѧ@L%qT!C.)h[H#D!B!kmͭ懘gs[ ]MO8ҌFj^0&Ë#6$c7y@$@;!mkIt7e ՓU~L݃: +k/pc5Ī{܁&Ǔql)Yx*?>bMDr f0۽Q` | z:o4_v bveA;v(ACa%<%b:+ξ$~EiHӣEg4RR*?bi䁍igs/ɍڗ-JHA?H6LrUr`~Q90g̮BHhGe_iV>5_o,Q5g.}Epl^3?O+>ÃŹ1HixDs"JɄtjoYO l2m{Nֈ%"o7EBǁ[_Z{&wBlm50]qT7i7a^Ar[SBN >҃\ Qu5N-yJ0jqM/Rl.a7wZEҩ:ql?fJE&0vK1ƪD,TBYy| PUt莒V%)%ֹSZbiچA3^m% E0iHwl|fS?ޟ8Xr$Yk~Y|jbĕ>~זE0%1T|T c;y_9wSLOg?üynB=J }rX$4jJXm. 渨f*B"h ."i=P7#|XE;%#V44Jhٌm]3{SyV?c=ZJNah(k[ъ^{m .ه"V"28#$Z3e$. 腇G)7GœHذ[lޕa' S9D޻+Ν<>Kڀ½FW_+*nETMy8?qCueMsEMjׇWOٺ+ĉ%g7!@I%Y@bۉPw>N߷`?39k,pNn㨘!6QWQ _)=TwssYEO(3-b:65-0=[H bu Qd )tӚ%UNWJq^$ۇpte}Ē'CKz Y|b+g" 6 ;,9sn?լo)^2^KidcE ?ĻgID~kQ%{q#"dd(T0++58ԑaEq \p[K#* {C{so]NP0_gU0\^ZʸAB{)D<@=,K@gtڠ wm!_:EYv]u3ԅʈ p=+H癮 zQAfk]O ݄I#TjsHUu8--ғSyi7;Rя+obNT(ϴn,3cR.7ceZu.!TKfYK}ĵ f)Yef^ox gQI<7l Wk8'mXcV/89l1{=m\hE /٫28~~S*:PnT n GH %XT˥͎u I&Ԛǧ[%%ʹs+1a(TX CϒcBEWkzYwTwj<'7 &@D@i2.VwwI_*,ےuifE;<l\^ '(cTSv!PUPvol] bqd/ladT j )s?# Qy8ͯf¡*3-o\z!"rn܅o'!J@Ec&ܻ;#?2%2<*yZp?Ako!CY1 @E$ tF :i -Lį4tCJ0Ӈa+*x2 }/\bZ 1X g]xdצ;Me=xPgJDB[/!؆=K-&v~bLpg%b5CNzMNv4i/Ķw?M|UWN0Nxdq={>C_=O %)+X'yN|8XO"ɘr&fjtuNe?,hQ#(aN;qO{!AƏWCdzW'w4&W|>Q=(|>|0t^ *ƌebH>*% nCB[ԫაb#d9GqUHBǞgdYI/@sK<^pF4r Td5ocl[?P,*YKrmbD!Nog¹ tf?mp -l ćCƵ[ɫ<oKD|{% X_:8ݍװyHV!B4 e hoQu R:`İ$1mbSw0!}B!wgH1R) _E#8>G\)bؿѺfJ F0+9Ōm!/g0*#mblJV8T"oWaԱq !)뼰P?_[͟.K _o¢E5n;Tޥ;}&w^B )GȾڡvbuUۘD`Ks3XeQD"2a1WNH.Y ]P['#C|Wc_ Oܙ¯YQ/SICja7f;;ocM*)Tb21{ĝ++Cr<΍ i_㙜,&zFU?l+ t7D͹a`Zk9m%CSPB~Cȼkzcu"ꦖL7B1_P#k!i~৽0 ڽ̬ŅLsbGUĚ,]K:{9%30=1w٣ڄn TZH2i<ևD{~7Oo8[϶20Z\sOl|F+*ۚMI)hHM Mwv,86r!g2(Yksꠡ|5Qx.cZSXMWo"wx8̤l<)Os(j#jNn։)⡑wxDr%`Ei?p9zo57v[dAf~;lEe> bi-BZ%;Ujϡv, !ĔtLin8m0A5t._!yLm҈GG\2߯@-9mpTs. f'mVRWRL`9K➒85p+꛷TQ٠~OΧ } Pgm#YF7PeIM3DH& _=sT tHT(VSYy̶A+ԤᡵqgJ&\.a{|FG~hMcgMi 1XMR <Y:ïgP 4Oְm-O#o0#qH/˓JcE!nA)ZR6Mg9 Gl]┒x 6I OQ?9y#M kKdeekh*3]^Pn߭W23o I0< '٤ _`$ M 8=\NzHT2BK@M"6udKvFw@fؑQ܋WN}Ss)o "n᯷FڢKN,`:Tmp=Md79Iۆ Fc;'CZ@?L?ǵ8vs y;q.F@]i$UWL*VNUpBphIvG3Lt\#C^%?Q |K-7O>8$eq X޾uO"={sWmha;@:h̺j?Yd2n<TH'wNh9skʿBKF^ʌ!aW~4/B</xS ~n~9ns4.PGzwVUÒsZgK合8 "Z؝)\[;LQ)O^GE2SxOz_i1qN/Uhb8} zQxIՄ<&ߓElNfiGak8EL!451%i>Լ7eֽBͶ\!1jMJezIg,-dg]X fPP!;ͨ6SI4'Kد"!C3.~ʼ#c6CV:>{r'o[d+Gc{P # bLJiXM`VӁphA+nLhr'⦒4PK 9r!e*AŐQX^i8g,#֔.NZ9&p?)IbuY\T,[Xt3Xv3g@+KG!׎85iE&hh.|.Y揈, tVT@iL,yH*0ʅV9ak?m0rN&$Dk gH3^ر}ts'N&CT\ÄeNW$K!eyC٢샦8dUW&gjE KU{ E!F#O*k@+74KP^db"*7^ja8UrŭXWݦiI6 XA/d罙!hTZ~zF?LR!,P5H?FK|^뉾`{x< 4\3$'@ko;PE\UT^ m#Aep QrXT/5Ah~ha "g}? bOju{}5D^;=6U"p2 AYQ#e0=0^ŗ-(-Y/P~L@aQ|WYQ#5o]G"J(bQ̸I\~ }Mi,t'et~.9CnxhXm[8uBo mU!j}i;F,ԭ"f]bt)ZmO_( ZE~.TM 4cr6'VQvw?B?3FH=|'X4+;kw:`:< Jzz%O5z' eQ3dPᣅMY$F, ҇>aqÔAPbVS2Bx2j|q0ρOv0RM3̽ tA䋣3ٜe_L^cO2^p=| 0zIdbKi5#?%&B1Q ;Yosב *j<àIIg1#kz[6>#Ra[G<͂[1{S)]ՇyWeo^Hb@)Qq1y>~18&}?uu&7JvQ\@lĄ,#r3p0~TYA':tOۍՈ;Zz5a`o9%a.Y0Zx'҇m2y%9!QsN:]SN[ N%Gi6Ȍ&d7i^>ѽ7׹Ϋxù&tX3Cy/`HoqT$,+=1j3geZ}NBIz|B:>=L"tL=ԺoPN t ZׄOMy&2t`cCJ+x_vQ9_}[W;a網rsh;HN{@vnSJ$QX?")Ϝ?x>rdIS4r00jFFrf/No׶}M1 <@Q@1-4UdWc=ikc Ⱥ$?EBUԟMggied?&ΛonR7 7ժ626mRWAԾKC@ɊsNhr[ K#z/%HJJ{B8Ž|B)ʷ9Y-$Š-4[ῺHWi +6c*F Loŝ[OWzƔo u(,Qs3[Fk/9C&F (Њ˱Iv>$A0Hb.cvmIC`yz* Y+p+z!(s7\g\TG85ʭ+|DS2cCJz:6"L|B]j}r\ρ62ir9/`VPǿMҋ37;Lh$l3E+İy&v+DJؤP OY![\8([_'}4;g"Y2f;v&((2YН9m 'f8Izm8G=Xg#@h_q̨|R 4@#]"r+1a;=6%Ulk꺷6W5GC'+t٪Wf?t k)^J LAziCGZsasxf乮u&g"-`Y#7=Ao>ja_05-^&֓Ғg0@7@H4G[wљ#9їUE-Dד?Qer/8WVa,#t9E2S/!ɩ%9Ͳ{aYG'Y edo-:].J[?J@:AiyBJ2', ĭLZE ޹_|&4߉gSVAiŭ.=uSQ-*LNwc};#! {p/obLҘ %f0p);Km(%\EB||afAdW*Qkv6C694W ~آdV|}^3H\&D{ ~:V#'_{Vh$'k?YE\_ǯ?:U,x]O\.5K2T[="fmbO#K+cox|1՝?M WNZagvqt; 8l/Po_Bㄇw՛^['~J E|ኡ{QмTc|+ VΡ!>ԺW-GpP \F-fT:_Kg ZѴ\Ѱ}7}#w9g?)} /nf9 icC ]lbԆйs=OpA/!9ʕJs нՒd{wgLШ fDE@h0顚?ռp+;qe IE DrC;V8tc}#uFv>~֒}p@}Y<'ͮk Ϫ2If;['hexU^f $R0{J#Hur+yPKxUn"uR#)u]2rY eB>MNHȫ02\qqB^yo. Q7A#wnPW)fw[3D#,/յ}0G>ŠYBT7"7{Ȳ4s6tL%dkz寯6̡:+<ןr߼amЬQT*3h= ȓ tnI\\A&DsiEՃu.!{뤼e+qU5w ¬ ;eoi/򅒗aw/[t{W/ ŀO![=-\W5҇N mHiyZQDe gMJ!V#t4鋭%Ɨ?;M(x)7#U'2Mu _b)"20)#6 ߷/jrG ;H ѣS -$P@,3&-l]iҌRnQNRZPiwd{S(l&$T1_,=Tu\ݿ)ÕḨwȴfD"10rc1pL9C=9Pu+/P~a6b U0yV-]+2AM/=/_g-̓7_@Gx$sA)XC y'ykH@g^A*SS*,Z0հ[MQNԫg^ZM.2Q2oTQn~)2ʃ޽z:8?hЋ&>һ  C~[2;HFաb9(DB6@< M@1\}'BG Q7c8%1@G،T`qs݅Pl]@: HσQJ),5EԲB%+%coP. M [KbN[`;K1}]KfCxfH5g|@\.vJsmH0h2[L 7T ]3wQGW.y6%V/ IKc?`ƍrQAgO/Б4$6OͤN V^Uׅ ŋ#\}7_O#Y%5,ؔ>^^oIݪPLE `bpsT-l/A`Sm.t!!-d1Fd I N*hP"iRݒkԯС$?G6e2B\ ^\M8B\QARc×w$[G5`#$$a5c,Ӟ 4ojvNZut$Rk^K}-,v rz0OG@}by@f{I:A9RRw$ qMK#}~=㶶*b=F4l8u07\o vΌ}cI~ّ=hleTE7[*NWt[d!ad^g2۔#tp#CńwCUӻDžj w{&,J$DOШ<4@xF2)¦!Yū PjatFE2ByKFkXi^; uA K[϶|guoiRĮ=~0_rlLi!~ ҬTUT6rqt !(1A=.f^u Ml<1vF>Pr/ve;˹m10x0%`hc(Bj8IƇS_A\!mumEsN@&;OQd_fƠk*%  &F$ވW'E1@!& ݓ@ʵIBRN|3qF5gb)U8`eGd(+Z*-P5ҨiX"V$Q*#P=v(s^[쿊cl-!c9ly^&{-]`e̪5 .jO{kXW8 R6Ú8ٕR DH,*Oݷ,8MGRA!&M9jeClj:fr(APûs%VSEJ(}[0ij!jG);xTUP 2=C~f2MKRte*N-G-&jp,R]KHaIQpO0okZ}=^=k` Rʦ],6T΂?E̢)xvOt;:]`&DoKE,βX|@-bC!4;eL`=E*zb~PIt!n0:aXJq ~- wR,rV i,_fM}ٜb#wV 6_]J F>oλI3Lxm?AFÏANmSw`J5?Kmyy#f&%o(d7aڒ*p;[7Y5W\thm&ڐX(\MH95U-ȟ?ƭqU4A;J|: M(~>i2% {MnoWO~oUAWD[K5Dv?VwRnbq9G!Wq&̰W  K$i{(vZTa/杸~_CPT"a]h46\% Cg&ٰ=Q0 ysJzybW@KkgwuRm&8altwmoڐޒLt./`9^y651Wq+;69^K~k+~e֋4n)dx,%U˷o"\2y*H<A}wde9%w!DpR)]R1O ofֹIoX֟0=ZL RK%@3ƚVut3iՁIЀj! -=j7Hǐ1{@^ҋ॰ط|lS϶1Ke1կi#rbWUPb| 5sZz-L8mH=C$nNJi1|p(Cx69Oo`+*{=:;V3P=)s9*]Ou'*Y_.ymkN>7mMo[w<kQ~yH>Ǎ[`) j^Y{apͿL~'[Fb2íƕ{9qPaulvownx.3" =8/X7go5񕈯lk.y|ve( z(tv6uG8f\{LQ{&y7=1VBt P>PN ` ):x ڤPz/+н^;6P7>pjXkN[oa& h@'IgI؁d\a1/RRFjWceu^ON7!XZ%@}x_x6Wi8/b4:{^.F,L'Ih;XTbHX-T&_`@Ӧj!8:?Lcjbμg"4ےpѱE%p2E2C.4by,eEzU Wf|NG6N =t`x*n/nH,L MAEºXmYboNxS>EߪYM-2앜+.Ms+Tؓ;o,NޮCA"ig-zRO Ųݏ'*4@Q8d @ٝbP2/7xBZo`Au~Z`#|ܒ U}m}w:uwiLĩCfj_}xI N;;h T/5qv@)KE URl|0Wqew.ks~<9 1$J@[ev\kDR;9,*Y(JMO1='`ˬ,} *Wmb7Ѹ1ڭ#bNE '.8ʝ"Ywi423ПG#47#Rg 0#& XznW^XdšDihWeٍy?v,0qWG]7IB4tdm!CߴiyA,,wiVC@6k%Mxq2@ukؒN I|,:r~:'Cl'aMyq_ܩ!#JxKHB hn>a+B7UI1MP58w T5H%~QVNl)1]sHj~}nqTX̾ltPVNC'q. ,8'⧖m錉J/2/B&wΆtBwΓMH \02pGofo,WF(K k/۰qD3d&8ޢm¦WrE1OKshmgj,XaFԍQpS^   ì]&+ ,iF q0szH2Rz2^*D7џ;yk̫;,Od1zXT'H93ލCv:4Ū*)ReapQzc@ `` 4ӖܚсAڴ*Gv=mSBx`N= bM5h\/67n" &U>1I:8~T^Eߑ(R頕ǵL^IJaSkibjZ==O[P.&8bx?]8*80m]YO 7[OSDOp o32MθUivq 2Z503a0Dž~t>LjqcJY𒤰E]dL_K mHTHg?w~R6Dd{ 㲀?dLsH#fگ. Vw3s~Kd"Rrd#rjS+N4WȦЧ~d~=[<?KZOXRA>""iN[%҂gt@50IS7t >BRęת$8˸9Vhpawi1򳓷N[}JyA!ґ-*N9u7!I &utFMy; ƗX /g4RIZg&ƥv"]AHl)"[4oT+6_s Ƅc[DTz!$6; {7" ^ Qr/!bT*Aj0.ħN4ƃ>rY\1FA[~ VR(}P_ er(O3-llAGڱRRv roĦ$P9 ͛]b.jvX"qr-Ig vHu/xdJyl %0|HsRd"2ci,z[uk Ql>wnJ~7 vB+AVkB@Ñ(H&vR)׏V0sw>)زOچyHmIV]K.PqPkĘIOrژ$s0ӂ<Oz2i W:bh5nڌlk' [xT~#rw]OxܧO_f̓l݃H'0(䝛6F]hnݡftEz͵|d B?-emٛŧk@9?>YTu4{웮ީ/Cۛ/${RtUD,/+\Ы-Xnkb]]8K(Zp%^0h|Yԑ1qX9xG)h2ʒGj q8 G `k?v6uts?|S1s-,7S"z\<Ĝ.p$]/LAd$,d^B$!C=,,M?aug}]4R%Q|F%KXQħ ޜFc.`DKیb`I5qRӼ)ʊUwBCzV{VC\2XTM+XԪ >Q"'&2r`UqI, BJ2 HRڃ;%TDBM=0S]KcoؘNmoIr|) >jUڥMr_ <aη9CQzbdoM9З`ZBCeL4IT-=q[-'ץ6@O߇_g I]k]Kbtbt'"lߡҀܤi2+sF1ȋ#J<1Gqd1X4z0us~k(\F2CMJ/I"IO}!5T*TzC7-ֻ*U8Q*;'3x9o7X)ItB%6+?T&{fcv{ހ1q6o?[}*CO|^8G?my1Y1y/K].@J2 VI0 usEWs$o&gjL_;h8 3i]p.6`N# i E?7!gj/*U  ~ E}¥2x$TF*vٶ#9Shmi:I~= i49Nݱ6l\xPSVNN\/M3(R"o*X86#xgoډd᧙)I}tQ#hD Y/N9kv{૊3L3U%/v&fY%n*Gqbf%vQa /ޟhbQPW U ]U2bAN.zSo=A 4EI=aC.e lX$I4c pr(]PKǧAD+n)qQ5%{uyT`,9V&A&^+j^n$KTGe!#Q}dXG,PPO .VI.G-C:u?χ-NtQ7/;d"CV!*t -3Ee.ޘ` BR#I߀SV. 0+`ZȪm伱<$E"ԫ @ ^fUۑ*R%I$OFsGc,r3PIwdeWb2a\5u]u =^Sȃu]j,Ӽ?cCv3L0Uw+pn8 (v#e68{gp<曯»4p`?bK46U@Dpztx< ܝEdvaZF|75)~* 1ɪ0qV#̤(S(JF}ќ5]IW= ] h6z 㩑z0IlSS"K[lE kﺱ" lR5]c:ex0U,WmH~38ؙ-#.!?i+P51/6S{9nh4M!1[BFdEcz3<׹CahHwJ4w5<]A_3^f+/mUu%` gC|v -/i$L@ܭr_K$Qw D9vuct-KG[Y5`<?];T_D/eh6rRn`G\X)NA'PCt3!5vs3Js1S_8 .RLI/4" "yd)P['v,"چ>:ަկ)af z?r#oA1[b:nF~OƷt1*g5tp߅KMd2`*"{3BKFýcE;-he8 qB8w$[$h6I\p<[r#!JziK|2ST1tLl*FtM#C+d c*Іq2hlT j/qqq/onx\]xz^( prohF_F=3&:u709ƛ]0MVtxXH&\e}m7⧠ׇq}Mv~,xڜyg[:03-ڛ|ס(f?!4)ËHx, aCP!f4ٴOP=NvfX^1Pw!>Suj ZTjl)Յ#I^jc+vT)B\2)L9S.sBuWG@n5%IԵ8aƁLCC hQì`I;;PzcbNt>zJI\NW ])bX xV7!h[zx4 Clc\U²Wst5Q fa.UY"Nf^O,Kgk `U_v6CNB*\q͠R[}+%>lFa݈whg?  _ɻ|, Pwj;`JhuMJ'i٢ Q1"]4a|PAEvNAz3'lБa}cS"ȇYla9(P1.1d !dyA&G !oCg(Ut3D"CobK܊`+b!PEiI ^UH(~Jy:ht;GwLK{VSs$d/@҉?v`f"!|ThJ |.]qXɢN5ȫ!4ZU ؈Xa[f1q_H_6:S5j8n-=j3ۅ% a4Fq{P[7IiEwc%B!32؃F-Lٮ<Ǟ_n@or=7 zŕtpŦxJz=}xg|6 4vPf(P-ڙNt;nS*d"s?8>2$UfV=MM7>lB̍Gp&@Ippk(ͪ$M}XS~14'õMdo; r 3J{9\ǘඎZZ7}cR4NmglJuz^13)4Z1AK'mBeG3ҢGPG_I8g׀QXޟp(۝kEue[aV5𨭰!3/%T>\o&An޺X^sqݙ ۷}ۃjA V)3elpeaEi3T>CG;Dʽ =:Ww+X} D]"cOO؃M|^WLἚ i~Lv)WĶ؃`JU(V!qVH"6ڣe6cbK,Ew^֎.~ (Bml=ʸܥ&U^Bg?˕G'fN.:5~b# 9&cM % m:o 9Ic:C;4\*YgF^f~.mE6oCnwkTfJ %oz#m̪ȄZACzlX. z8?B@?Z8w.[I0`.Sj%)W␶l*I ޥLI jj *ЋE#KZHڎUWǚA>2N"bI2f>apMoh<'":̄U ^]or R˃ N`T"gGsx &Q< /9L* b2k2_>ޔўmtȡ|N黹3Mi&Fp񈉽jj 0R_xq@ <{F]L/?l腠1 ӑ~YF3L:ߜaF u *^72 ե;OFשXҿq W7'Ke+ɯH᜜B:z0F+LTx1 / Hz w-j73kVEԢTŠZaʆ`i0D$՘ոE{ka¢)-uSb yQpӈ3eLjBߣ`T e]A$-=.Qjw a~- ~~$1}cF;.R7 /jlڻy֭brEMZ1b IU]s hXff݉1_̩^{7J&bDH6F=Ւz>B!oSm~ T[1yiIޗzMmռ#+_<}͞F 7DPu.w)0\ʴ2-DeĝBCkW 9.s&H/lzsﺠ3`?Pmr55՚v Gk7XA#[`//wSb@f+@ RZi𑵩%i:ҜJ,e֊Kp "B>S4Ål`Ԯ&kjKV̳IS)bgXݥh!r/@l-D}nV|PQlhEPyGIxڇGTt&i7e>EL~`f< IiC|pNWrTn.7"Tm>OѐT*yI˔!RSsĈr2=ؖoPfNA1{14Kc0^^,x|Av] d.iFF_|w<,I_{Zpr__o#nv؇A-l V9$䏼l;8uA(BJ9Ʉ,b~I?J%Tp'!~C`aJ~|ٵQñ)2 z6;M hVPR\)ezD[Ր#'X=XyXrJ=R3~.O0$X4|ӿX|iֻH s4س uRnKkrLmҺ7:u &dj?k&QtqBOI@#=3q2^(DX.A(\a"p]ō^H]Js:) x”K붓38" ~3U|yy܌d6crty3cn6O8G ҋG%Fa[ۀy*>{_4uΗK[߆9S 롗i0 Jw7,dm Mo߫W-r֧N {~@f铛.p3]; @CE$IAwYj2[5z^<}avL{2漝Te|+Lei`w: j3EBR -b').I /Ox@O8ќ T" JwQ{|BDmWRIGnKW3JN7Y,?Փ^Ia*-֏jWY2o$9rʃnt*:2R'tbP 8,C= >/G`Kh waOvS+Z=+'nO=˲~ -\8PlYD-ۆg J&nv(yojv.Ĉl_,7&*2 M#/-TyXvM -YJсjE6kssJgn#A<.릌Ź PA6cĩ6wSϐħIJk +[߳Dhr>Us^+n C_`iJ k㒜nF3*fx5K!nq)Hivt.?.K#iE1/*#ZkP+ 6DPc2}*S Anfq4АtW14NI54P632ozHM\ yoOkLb` Aa+V`=}0eHml?Ɋl8":WT2O7-}߈;CP  }zCܞxdgpP֔/}kX}WF&} !QK0hqnݞ7=tԹ+qgz *YF#<(`:bj!TN-HD+sL[{AtP~IL:X(C”dfV~zE&|/\{-u"Qa5ziheos52`$2׶2bio}>:k]d|ԯ/0%{%v>]ߴj˗ih&PRe %j+U]g"h+JGoz\_}w-nʂ*UeD$QG,`]T _6mR 0MiwHݰd}!FEYuJG.z.Tt4?H2/S^]aڊN~ MĮϹ V%M⬸vj+KW9Ϣ`a# i $N+*Bv008li}f\?n*DkOKZl.<ӦYMHȧS# {f9f-6@^]=s{ݑ(p_lЅJfK[7` TH1lkU}6RkJ%>T.W-5>]:kQxWn_ e<@˷kwǬ)F2>93l-V>p\L`ӆX*}%nMy}:)7l̈:ֆ7V}&ǫ)c %n62dKGX:\D,58a{} r[R3nL8v pj_OFQi F DC&ytRTfc1Dk~cZ,@>"c 3> Z5R8):VCmi<؛ه):x&2kMnx7kyC!LP ;byut7l6ݏ7ƃ ]:SA'/wNNdI' ,7WYS0t^'=V3W IΥkP -eb+Sj?}C#+ IvgNv5K/ZK5ؑ#L=6m͇&3!2;_Ն6͢žM̹B]Nr*+n/%75f=}+"ˍ7Kޯ?8p[Ø$2G IʩfOlrB!ܶ :x$Aʪ ;bDK^pgUZhp:RZS>}5!Iֵ#j* ~nVX\w}ȾT7)?(Pj]Rr.;/]xph<3iNwtq<`]ʺ^դ t \x5C$ 6T1VMR@c ` e'+2^m@w6$cŞ<)njz7VPy3VCs'07Gh1*YI!W٦O ;k:PYIc31cΚ$9D=Zmg(*m-W/*BwLVɆpk,Ay>.t9[Gme#oIB$b&`+JClxKoCTK۟$!\@5IrӾ ~*T6))AdmiԵ닯ca7AjY3|ZLyS o͕?'4"6J!]#]]fO'6C8hmcӯ6o8Y0KS˓T;ֳ+t- M4\@~{8k4v-1).i|x3Dl7bR?NĖơ |}P"hq UՔXzҒH94Pz_˫N[] ;h!tP?wk蝰oZڷ3\{2L@QI9yX%McYaM,/RqC[V|cA#0 #yT:43 dQwׂ2-14 itF IQ^ϓUX坏@CX}JBJX6r.&YUHJF[ O K橁7?F8Lp,B1sSW)ۍ(a\mMQT_?!dJ&jFl+2w& sj^\eBvA݂1CXttG`D{09I\1S9?+Hɤ:0EHKҾ-+78KFUH3@tpd3-TQ.ywN1#;u. b*`EyXFQڦ3Q6{ (ƹ 1Q*y@T#xh5kܦVs7ȓ͢I8yQJwfr6ڃ_UOPlnx6:ESZ±_09JKN:H^K)ҋxD84FOX+ oܝ`pS@SljɃ3Yv%Q.оuy2;bJc& þ#MT;wqR x)Cl%I5Q"Mj%s.bp`U,c {{( |c*Ȑ\ ^s*k b`mahƖsd[3szIJLz^ ֯u@䃐Q5<8P,_E9HBA=[A 2G{Ͽⵁt+q'˿ȿᵩ"!߾TfnAR"RooϚFEȓRFP?C!̝uI%no;[O8yCeoxa[yA@ɝ^FB i"SO(D!S Qs!QzY59cNdOpG2-']FdEIH8׮&pnki>k# ڼbJF΋P!_!bsڃܘT,S8އ3c} #i^ Cl)e!+f<_&| k5)GE Ԙ(^>:G)Ru#ʽu,MΞa8yy@ŗNw>H-W>^ -}ɲ~8E>Ku|]v4`d33 (Aƣ~3f;ڼc~!#saBqBdOq7ne5|r,.ك ]@lVe~ I"rýmrX<A'L :l]:,WMܠ,1-[uY|+wM_ɓpA? 03@i/0FBgD<4 ރQ0K1ړwO3OW5z tvluRus9"pU2Ǩ6kQ-wK DVaL#Ti͝_ V*;bĞo6υ#~ ޠDpϝ' l>hVˠ1xP$ o)tۗ /CRI ]+1Nw TE=SZ}^ڞeNfxD݋ʬ)iж"?,vDrSWP_KkZ$M䰭๱jbT&3k<@q8~6`:.{b , uQRLkAUx 954f$;R-frcGhOsNFnF٬'Q"cqo [sk)fpo4(@!0E)"`n zTA=3] &;3i܇@[EM gvl H:j}%tfZ:cAr86r%| =$T7Sit<:2w}2ʀ2w|V,zRM1T>v#>Zɜ0Aqk`%F|I2g0x'C؄H'U"QDѥagRAU;ZUm-Ħ/9rqi ǚk[ĆeoVv xNպ ~lK,1T0-rWd;# ީ68Ab3ĈVOi@KXN+؞Q- >ExNIm"px0 <2Qx?v7fZ9Bp1E ;֨s[eURe>z' #OG˸1#A  CS?4g2gUNgKx%qc11;%kBnXEk3MꙄ@`}ĉgf^kNͺ2 o FV_FhrHB6_⺼{+Q =Z jQrp/jJs-rL P6eR.Sk1҂{ő|G'q'ɝMj>_|&bHX fDL`fWg2:+j#p: 8QBlg۪.Z5#n 0zRO216\ƮyX=|rҌR SDLk"i@@pd%AI3؋Uy@@Ȑy ovz,vԯhfI@ZpWT@I*1{6q:EЛB>8lmmCKqgE)ZĺJIbׇCH}5Va&xKhD1JXkXX{&[xÑ92tc_HES' zOSGi`,\_."SEOiy І-l͡/vj5N3+V/ǃ,=/<׫f@ OWI8 s^+IBK|(/Ͻ\C츘|Ʀz0+pj>ƻb(`j2{/CӧUY|5~ 9__( M%ʃ#rdi_v2XTM/." Q/g^c3cW+zІ*\[7d̲ #@]9/ 7PI2P\)jgXX6\Bæ d:Dz3>9dnpȇK(ӿ[3#7v4ٓaɭa4մã#mNX#:G$}5jkgn5O3ϝ]a{?7ț.ЕMu8`ItSwT,dZ_O{qAHg GDb*:+ bwty8^a劫)fMKLgb".V!HԘ~Cp /!)TYC儲]qF|CаIʍfA#D -Tp$%o߮q9qk9,%rE> eVWУ %`u x /xיmcZ [?x,E!å`Xʁ&<1h,;=CBP*F9T =)bujb`]ՈECJ"߳҉MɮQ,(!`Ѻ@X8hQP8]  nAP<0*!X!dZX8oWcDr8m*_n2M h*QʞID+f~VzLg* IYRVULX], < aM_!{c_?y{uR۽%&Fr}r.0a?6΄ocQwO]OGu3OR@>FH)s} yv.4m6`D9DϲLm]x<)MkM]DO><,OSϓ¡%cF,7>檛 mrBJ]Li8"%_hIoJ,k:L?kYqcWŒY3$_]+VLR"@4]{GyܕQðЂ I66֭ ~f(k-θ< tf>Nݲ3jir2y{;)SQXe||a~\*]ccu.μ j}>(d BOϮ;P r,||!w~/txF 뽻YHd~_r6u2z*k(ޕzCVs˱$jFh)iH3-70m%khfH߼н\5f(ji&eȌQ]͢?O' EEkë4UA8>PZ#nirm{ m߫?T#Q+(V<4둵 V#lwGXcL}Di/W!ʇZE-FW6~P+;5x6oBYkj Ľ_ztʊ9ϕi8y,:يqyJ[F(Y-#dK1^`T'w'@Fck}SoᲳ[aKXRxnM+ _re SVn]b:: }p]brzE u-)%"f+UV8=3'{wgu$sL CȚ?,\ tFo ]a3A<~$s?17:ʠt(Cg E~e*bT%lc7w} @B?b,hZ֕.#ZrCp1BB$Hyo1QǴZlf~@f(=<>n16geEݹw rDw^?٤^㸌Aӛ/ QfCDŧ`46L&\'. +JAvN~솿eu6r&|h--qcU}ͤrx*cWOێ۟K7(;4&99jH(|KA˥mGʡa&zFVw[e9sPwPntSM@.2c,bG%t>ԑ\kqXy:^5[-w`=q?\&L]rd{߾ݾ?o!;>R?r/}C z3Ԧ;Z>dB+nZpM$EtdM=UhzOu$)`htfoyyH?j2.PWl{LA {"FN`݅E4 :pHwG vD.oEՆ "PI#W~6MH݂~7uec v(>1az:ϝ+KS:+h<;ppR3w稝q8E$m/G+m[)ꂎXfQWjq+f,h -P^ yК1F9@Iev_b_/l꼕QW0d$Ktpd5c^Y-#nźh4k e;@)RHoʩȁ0|%|mY2C*^tPPLǻu n/cf_^!6^ç"_pܿ 6M>10D1-G0e u%<"KRy= &f\!7)81jyo)md?+-TgwpC=B-2eЇ+T uCm--k۹Գ?|Ξr{nұbK<^ bRJ55=c"HDr7/@3瑃,o]Q_ (oTv~M']HxqտFI` unEiPl*όʔ>/T-Yـ~GƼ~g_"<q XV6vj(olaJYU e)Up {[^<(!aa#ꟙ{d~j;Z."#tR 3uRXxl)y+&iBr}=Ō|LO$ &XviJa%Bsܞ 0xɠW/)jYҵiЊD1%z1&S*b&4c=YCf5v kJ՞XL 5r)J|·6.ߧ@\E *EqY/^• x{QPk&eHVWp G"w1ԬV82*_~5Y%]bxQaBK]c)ȧDNrDE$96kő!)i cVQ$?R< Ӗah3W+Εc<-1a( GǮ)B3$GB o=H38tat~ ,H (K֠8!B*I1}h25ӈ\d?u/n)b.RNjѣ}a^ GBn rEK4:(hπ?5 Ϋ7BܟONL&i|'!Yb$h=(L )AY2 p8̽З\ LAe' -6̙نAyď=- x$9B%yM͔;oсeSG&XSVh:Ocn]^RcN A`0c_F: N*w߆>8vELv5ʏ=+:P :T dfrKUx9w}gFHQ ĊF8eR>NpɈܛYofN]eVk]:izI3锤4 蓫f'bu-G#Y{=bW蓓W[| ytbAqk#6m ӝu49&z m M_2(V }(xM[w$>䱶عC 3Tzt Y; HUZu5u"q.-(-8gA>Ϭzq:o[h(x ٸYUmz{n.FɷrQH̰u^D[D:)oi͏Ip53E~* J>9ltV9 'aE>a}Z%3OPr=T_p 5-FBS#5 ] 5:ǿE(Ώƞ͚boQ)\ %w4) p!{6/kTN|܏da=Ǝ5S?In5HPԁK#l@F34SqPQBz 4n~<_r%)k뼲Y73x`r &vM3_"63$ɂ>@N]hp[)S“/LS͢+) dBr9_`-0h]}g @E8Ǣ|.K)x_Ӈޥ^G8/.n)2LLd 6tP~mR~RqO"EY<x ?5 /y FOG817&˫a(i*fht*"<QF'ϫTVayK{N͓sxGz6% 9xVOrWo<ݡcƍJ9vO"M>p/6l#Z< KĊn{<3櫲q"OYoͰ^T̒>NRVt( 0Lm)W'6Rm+ q @ E2{,Oȇ0?' !G!D_7rYBt<13/s4 |Jܥ3F2ۗG_cEYW"j^Π':/y),y"I2ϴp=v4Ufl0Subn98"O.Ҥ>R_/E څl$msMܳ&Or0 ܮZDIraa(tJ.ސ3?JkM?;zgWGUɃSؕr4lv}J}U_FJȩ?_1܂8\u/F Ƿ:q[×o]}1(}ë]: L L0b "X v2q\fZםf [ITqes/#]EMš:r$BgZ*nq2ua|~mqot#S2zUX??2SЖc)GS:_@+u2U+r(Ij;I160$Nlߛoj4ȴ`{~/|E'CAA#I "vuKCKó5>Om wG9.N bzRKhi##ىx9:fSRggO{1s \ݪȑ-eˣmZ;kL>Jm( xىc`]U,^,XEHA*2Ŷj+H߈9qe?;ixnyv)o~tr Kplr OǮxE'pBTk^TZvOU*U/ ?lGYJ9&/uq<V|N3{!lE=2Vtn] 27j9% Np@v7񋎧&b%H|lt=gwvQ]EOtBQ l̊gS d_3{A; fw.\F9a*ЏBؖ=S>6ދEKM1 OP`n,m%%aIn;c]|33e$fr:Պw;M*yFtQK:@Q h&ؙe֟(8a F)N9Q EΜ:0qaC-Y#+SRfjMΣN,` I{k0?N;t,h8QS='Cr[EA✻<"zJSPZ4q 9dqعB@\2lnM1C`2.A!7& 5I沭xE晤Nl((j(v7wI$_NviɅk72Md Zro/BV{6c+0J:C~uFaӰ`v8T~|5UUl[B>WXRR$F*) ĉ"/*+eVf~J<%Zs?RD/d3X-X08s\xM-iYY5*wpAWT}"#6t 7ՂwiQnaHIrWʟ,N351:f,O:Cy8Jm9zLs*0z=}=9~̓68)aS,atCP5=^C47גq\sGhk <{7-!0ea,ͩՠ#kh})W*HdJ \AmX4bE覥⇵m,2n@gvB(Oꥏκz;`]QoWNǔJZYF4?rɠ&畝,Ь+{+Kŋ q"ٓp4qtuT8/|0T4pm[}WL2#^ճ)=xHUP:/:v8}Pܳ=k2n fY9_*ϓ*cڨ{ZHI>QǪnqbp bM+&%{o [?x<Mqin؄ل!)f×$ecSVW>H2QQ^tTU;Z Ĝ ~npF-B)t"p+|="VsT[m}sK\,Cr4[% ] MXtym'k2oPյɤ*2$cpCm=h@4~:be***/h8PK |,]{'1cX`06S9feAծF9[`KWy 1cKStcnSَz#Վq2CZ t WT~s4&: ރ{ zu}&&{@If E!} xaDi =H?=98@ P"`R)N'2U\im~ _-3\I`k>>EҞs֣lz֊rQp 7"yU4o vW< YC<7"{9Nc6][tm+c.D{a.9e?93M+Ƌ[/3V>oxbɿY[R<>.g%[3P3jøaf, n*x ^b=3\~Ő5%!m?DތTRᒦ~{މ64*X m|`M8Sa%YGj;=)pߟYJn`>Oj;T>oڸ= E(f7Pޯ `ZzQ"DwoCnk,x,jB7ȃ:lۢ-B8 GylV%GW(9%?&z3u:jG#Ky wcpSY{9e:=a[*C K&`R-yZ^ͧsG޶ nG fp-bPTsY|=p Gnfj[Z(^n~2En:jaVeAY7[ 5ERU,Sey&6R9B3TXF=w@Y[.qXHhNB'O59tܐ(i56f#y @cR9wXV*$k y<4GĤH"U>C9UL;(T7+ih.1VOp`y,BGT/jLdD{;lb+@r7,^!9X8ݿpV67Ё,[5$bHbk]Nkz*fE厡yuO^fI7(4*=\II̗?|lA.`nnDڏJ`b*4"~?&xv(Ƌ'ԱE6'E/|˕"£qUg\+1aي֮#`^† ®wT&yV,aDlx=7!<JtK]7?7gEo 5-?r8v:ӌFD%Q7 ! W+Ġ˙wsN)PFɷA@4S}!+lDjjf ?}iL铰:GJ*kQ CHNx$qs]NuL=Rfe]7ٸhgk&p}x\S?!.ŀ%$KtsS7&Q솁@Zp4O%"_3PZ %T\cy ,ArӞRd6&d%NG a 0X9kŶV(*~)*;i07:& rW]'7%;ֽ(R 'pJO:Y>P H4Y[)8PuWjYLoI}xHWhv*wb}u@@yxq[̯чEL~k@HuMo')zepdyyzRi>y?o%HJfͷDpo&_܃9BBe ʳeV\򗉛*r52Wesuye125W1UmZ b? BYX4?fBoIVTV#C0ۦ۳I2UOwY*m!yA5l(2I[=`V v1x]$b8 ͻ㩞c=>~݌$\a J.̻`%^4Jd) 3Dt`1܎W5BNnUp:se S[4ՒJ"+8FOxLzgYNaMؠwZ&jBp-ӹcQ2fjBeс}0s31m~Б oItώDp K1r'4A%sG#oMnHWAJPrיg/F7~$gSN5$࢒:b2 V'Q@ş1t!fwUcv -rBIޱ1۬I<6D4k7Ӕ4AuOiez۷^_ޫ|TX)zz^zjΖ->Q N?+F4`&z֛sHpzv9j|Ȧ͇1}]jȚ#Jd2>W(K芃/{]U%hn`dtN_Yv2yP>V_*F/ͦ}|n2kV*i"n`Тẅ́ 7'%檋7=6o:IgLJ:c)ٓIsdJq7 [Nn UVP\dg-$AY$1SZ㒳}޹="8H,7.C Sd=7Sދgpdo+lSrKГ+6%+ .Xm`Τ6y%!)wsps1 #ɲ(; =vr[lHȨx\뱂g#-pj( ÉɎX79pBЧ/Fb`P=i E_bLhx{j0$q\Bl6\7<&Mbb6Tid|&=i뵫>ZCdDQh k$0%)9 i@5¤ND~YQoWrmD&1G@ug |+uOZV쑩xj8ZM_Mb| ƙ_3Z*q"%Sv=:X90+ %!pCaeXv[c8کYζ< @6-PSQx`h1/~Ŭ?Iz>]މ :j}~4 T) Nx)ӏZ馣6;%S[MASP|46,- :)|AqR;"s ;zkc;n C 8]Shj3_[P6T5St4q2hd Q׻lse!{Gk?;ZSʫ|Uҫ%6@k7 pj+Ut(sMft|;U2U<1'?-go@ct9m&,zP9hb( X)ަ^Z 8BAx.PtIm+w~ վ_z!n ָEcT29o`!^K)5*Zcu NOs4G,|0IۘB-典lkm &^VC$hYס3?؎vG*;vzTLg&'>3z>Ý>mz9?:N+}m݈ʷ뎴R@ |(2P$+Hr!I(k!^Õxx B@5ۘVX"- W&#)ajNjzz০&_pn>(cɪ|d?#鋞aT{nTBt7az 2\WE u4B#nhu&o=4\kTeE4_0Fq*˪`ϊ)C1} -#ƄJg>\ ~zB] [V@$I_q_C]+mi>|{ v()Ծ$j|[8]ƽJ(ť  mj?.=OS3"EϡYMAv֒x&Z0ݥ[w=탓/ ;f\cp8u.&#5/~xwLo{{( U3T; lԎd܌6RHYgOJqDTW o Z-@7<J |pt^%h>m[b5hI*2rg`oU<RG. 9UiNs?Oa%A;Q$(.lNT\\Ci{puPG#Vjü %[?v1]c /R4q*FFAƺ|fiϗ:~e)BxŌpE R3zuݹX +tg䡾㎕wg7 \RʦlD$SqxL֬&O+$z%$,[ɭLa/ډqm+d' ,C8')h&m4 YfϿTpM#aG2>SUgX$i1姈e-St=|ڊR-#xޝ.^}y)gK +EnY,OCE:0p-z9ipt\35$ld!̥k  a~u׹>}sv3?J|WוCc1HMp)8,fCw%Sc^p({\ bdm]zrC3++p;C2Z"~oBNTÒFHW@C9`]bGE'LL{,D8 /3B Ze3+vLNΝH[O@FVs#_7'+-L_C\*L,XdOW4&H;sYޛГTMacy)o+|7?he".r%z/p) yCh!cId`Ւ;kd#~騋EB?hfB}@-8DMECKS "f,e^H'1"WF0+"<\'֗IPm w6is%_-̲/)D 5{וYO| c--.^tu'_o)8LUGF: WMlH]LUl—B[9p5H*6o[^ 7Fw|?" rŴT!p衸h,.e'oh'J> 򣿨PQ2P~Lix ۬TJTLH,ħ' $֓NA[(e%'Tb ;m\ c]\uG{-lJ}:? rS$.+jz޴yx~AcmJպyvVx֏8|?&]k]68O K,z; @u1 P1,mv1:Enj|35xUgA |哌LhK$*50x"MRŸ N5_a YZ