rust-std-static-1.43.1-lp152.3.8.2<>,Hȉ`ݮ/=„;z=?TB;tem` k|oi ' b#f*,M.Bd|!4>T$#OshYAԐ5 ȧQ7~gSGVz\0 ^9uΗP0P }֧ٖvl]StyNa0}XK ڣE0juVY 2~j>#+_r@>וtܾwߩ*;x괍(X-\^{>A?d % ? (.8   X  (  8    H l p y( 8 }9 |}:}BFGHIdX|YZ[\]$^Kbcldefl u vzCrust-std-static1.43.1lp152.3.8.2Standard library for RustThis package includes the standard libraries for building applications written in Rust.`ݮobs-arm-7,OopenSUSE Leap 15.2openSUSEMIT OR Apache-2.0http://bugs.opensuse.orgDevelopment/Languages/Rusthttps://www.rust-lang.orglinuxaarch64(d  95 #^%u* vhb 8|lAAA큤`ݬn`ݫ`ݬ`ݫ^`ݫ_`ݫ^`ݫ_`ݫ_`ݫ_`ݫ^`ݫ^`ݫ^`ݫ^`ݫ^`ݫ^`ݫ^`ݫ]`ݫ^`ݫ^`ݫ^`ݫ^`ݫ^`ݫ_`ݫ^fe5fb74daa11b109d57aa1713ab3c67f6400fb818a4a914bf295b6c4a9480f9500a3b1e15eaee59b5b696ad0d5760fab9174124952147e90d36a045fefe5ff7cdcbc5530ffdd6059561ce0c1073eb1cac93070c4c79b23d45865775a4ff1819b7502d128527bfed4c50b0ce58c2ddd9223329e1810156d92f1606a01bbe17338b9a5f1ca1b7ea1103cbd6c3a2ff42614be06185b9f69317f9c57c891edc7aebc8f4a38dfa122a5b40b067016f6afb0a0a66c67b10b02c238baf116b7c1c3d310be26d04ca9088e0b3eafb3fa59934c295c684be8d5e0a9f5d3a9a1455f6c976655b005fda168b2dd943039ff34db8c1d6ada09520ca472700aa811c6730b0c0e0a3eb349d4728670ec56d26de0ee636a889df237a01029a36aaf73be48608bb06cec052bf7ab726937922c69b85ec1b032e990fe498a3540e936cd3a75af67e1e46b24e85017b64903164859970788a61ad1e605f1f7098cb2fe1120e793239929ca2647c4f603465ea0707bc388ff5c191b602b06db18aaeb645af32f0436f795e6fd1e54f2b8984bfc56afe089f267c31a024a11e485c437d85702d9bdb16fa81430318306df937aa0a6e2ecbc6d68570edc696e77e6df5c9470894787123d236e161beb183b1cbd932f7cf386144783e9eaa360497b88b8a17247ab43a206bbf231f1bfcc2c571477a82a273beabcb94daff502243adc6db3a58c07a682d2e8091666a00986537759ede9493f7611ea8bf29a887051c83dc445eaffcce5217e7c654a9a412e65f580eb287b0869665f6ef3043c145782ebd8b5dac305423babccf1bc8f2d3bf4951db08f147386d4af60f1b1cd77101789419ae991d53d595ca446a11f37d6eb0eda4ba98de9c317c4d778dedb65e458f9a55f89f2fbaa1c04cb2b8ea90f11c6229ae9b15c9fe311182a83eedb4247bbe33996ab21941186rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrust-1.43.1-lp152.3.8.2.src.rpmrust-stdrust-std-staticrust-std-static(aarch-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rust3.0.4-14.6.0-14.0-15.2-11.43.1rust-std1.43.14.14.1`^@^2^^l@^k@^0^0^x^!^@^ ^ ]@]@]X]@]@]@]@]w@]fl]$]#0@]G@\t@\.@\ޢ@\O\,@\\@\@\@\}@\zp@\y\w@\v{\v{\v{\r@\r@\q5\G\@n@\0@\ @[[[v[%@[@[@[ݍ[ݍ[;@[l,[Z@ZZZSZ@Zg#Ze@Ze@ZN@Z[@Z@YYB@YYLYX@Y@@YKYYA%@Y9<@YYY.Y.XEXg@XXƉXXBXXe@Xe@X|@X|@X]X]XVz@XVz@XVz@XS@X@W$WίW.@W@WPWW|WrfWq@WL+@WVxVvV3[V"8@UU5@U@UUUKSUJ@U@U@Dirk Müller Martin Sirringhaus Martin Sirringhaus Andreas Schwab Martin Sirringhaus Andreas Schwab Antonio Larrosa alarrosa@suse.comFederico Mena Quintero Dominique Leuenberger Federico Mena Quintero Luke Jones opensuse-packaging@opensuse.orgNeal Gompa Alberto Planas Dominguez Alberto Planas Dominguez Alberto Planas Dominguez Ralf Haferkamp Luke Jones Luke Jones federico@suse.comLuke Jones Luke Jones Luke Jones Andreas Schwab Luke Jones Aaron Puchert federico@suse.comMartin Liška Luke Jones Federico Mena Quintero Luke Jones Luke Jones Luke Jones Luke Jones Luke Jones Luke Jones Federico Mena Quintero jones_ld@protonmail.comLuke Jones Federico Mena Quintero Jan Engelhardt Luke Jones Luke Jones federico@suse.comLuke Jones Luke Jones Luke Jones Luke Jones Luke Jones Luke Jones Neal Gompa Jan Engelhardt Luke Jones Luke Jones Luke Jones qkzhu@suse.commschnitzer@suse.commmanu84@outlook.deluc14n0@linuxmail.orgmmanu84@outlook.demmanu84@outlook.demmanu84@outlook.decoolo@suse.comtchvatal@suse.commmanu84@outlook.dejones_ld@protonmail.comjones_ld@protonmail.commmanu84@outlook.dejones_ld@protonmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comopensuse@dstoecker.deluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comdimstar@opensuse.orgbg@suse.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.comluke.nukem.jones@gmail.commatwey.kornilov@gmail.comkgronlund@suse.comkgronlund@suse.commvyskocil@opensuse.orgjengelh@inai.dekgronlund@suse.commvyskocil@opensuse.orgkgronlund@suse.comkgronlund@suse.comkgronlund@suse.commvyskocil@opensuse.orgmvyskocil@opensuse.orgkgronlund@suse.comi@xuzhao.netmvyskocil@opensuse.orgmvyskocil@opensuse.orgmvyskocil@opensuse.orgmvyskocil@opensuse.orgmvyskocil@opensuse.orgkgronlund@suse.comopensuse-packaging@opensuse.orgmatwey.kornilov@gmail.comopensuse-packaging@opensuse.orgkgronlund@suse.com- build 32bit arches llvm without debuginfo to avoid oom during build (bsc#1181571)- Add patch Fix-big-endian-miscompile-of-bitcast-zex.patch to fix miscompilations with rustc 1.43 that lead to LTO failures (bsc#1173202)- Update to version 1.43.1 - Updated openssl-src to 1.1.1g for CVE-2020-1967. - Fixed the stabilization of AVX-512 features. - Fixed `cargo package --list` not working with unpublished dependencies.- Update rustfmt_version- Update to version 1.43.0 + Language - Fixed using binary operations with `&{number}` (e.g. `&1.0`) not having the type inferred correctly. - Attributes such as `#[cfg()]` can now be used on `if` expressions. - Syntax only changes: * Allow `type Foo: Ord` syntactically. * Fuse associated and extern items up to defaultness. * Syntactically allow `self` in all `fn` contexts. * Merge `fn` syntax + cleanup item parsing. * `item` macro fragments can be interpolated into `trait`s, `impl`s, and `extern` blocks. For example, you may now write: ```rust macro_rules! mac_trait { ($i:item) => { trait T { $i } } } mac_trait! { fn foo() {} } ``` * These are still rejected *semantically*, so you will likely receive an error but these changes can be seen and parsed by macros and conditional compilation. + Compiler - You can now pass multiple lint flags to rustc to override the previous flags. For example; `rustc -D unused -A unused-variables` denies everything in the `unused` lint group except `unused-variables` which is explicitly allowed. However, passing `rustc -A unused-variables -D unused` denies everything in the `unused` lint group **including** `unused-variables` since the allow flag is specified before the deny flag (and therefore overridden). - rustc will now prefer your system MinGW libraries over its bundled libraries if they are available on `windows-gnu`. - rustc now buffers errors/warnings printed in JSON. + Libraries - `Arc<[T; N]>`, `Box<[T; N]>`, and `Rc<[T; N]>`, now implement `TryFrom>`,`TryFrom>`, and `TryFrom>` respectively. * *Note** These conversions are only available when `N` is `0..=32`. - You can now use associated constants on floats and integers directly, rather than having to import the module. e.g. You can now write `u32::MAX` or `f32::NAN` with no imports. - `u8::is_ascii` is now `const`. - `String` now implements `AsMut`. - Added the `primitive` module to `std` and `core`. This module reexports Rust's primitive types. This is mainly useful in macros where you want avoid these types being shadowed. - Relaxed some of the trait bounds on `HashMap` and `HashSet`. - `string::FromUtf8Error` now implements `Clone + Eq`. + Stabilized APIs - `Once::is_completed` - `f32::LOG10_2` - `f32::LOG2_10` - `f64::LOG10_2` - `f64::LOG2_10` - `iter::once_with` + Cargo - You can now set config `[profile]`s in your `.cargo/config`, or through your environment. - Cargo will now set `CARGO_BIN_EXE_` pointing to a binary's executable path when running integration tests or benchmarks. `` is the name of your binary as-is e.g. If you wanted the executable path for a binary named `my-program`you would use `env!("CARGO_BIN_EXE_my-program")`. + Misc - Certain checks in the `const_err` lint were deemed unrelated to const evaluation, and have been moved to the `unconditional_panic` and `arithmetic_overflow` lints. + Compatibility Notes - Having trailing syntax in the `assert!` macro is now a hard error. This has been a warning since 1.36.0. - Fixed `Self` not having the correctly inferred type. This incorrectly led to some instances being accepted, and now correctly emits a hard error.- Avoid duplication of environment settings- Update to version 1.42.0: + Language - You can now use the slice pattern syntax with subslices. - You can now use #[repr(transparent)] on univariant enums. Meaning that you can create an enum that has the exact layout and ABI of the type it contains. - There are some syntax-only changes: * default is syntactically allowed before items in trait definitions. * Items in impls (i.e. consts, types, and fns) may syntactically leave out their bodies in favor of ;. * Bounds on associated types in impls are now syntactically allowed (e.g. type Foo: Ord;). * ... (the C-variadic type) may occur syntactically directly as the type of any function parameter. These are still rejected semantically, so you will likely receive an error but these changes can be seen and parsed by procedural macros and conditional compilation. + Compiler - Added tier 2 support for armv7a-none-eabi. - Added tier 2 support for riscv64gc-unknown-linux-gnu. - Option::{expect,unwrap} and Result::{expect, expect_err, unwrap, unwrap_err} now produce panic messages pointing to the location where they were called, rather than core's internals. Refer to Rust's platform support page for more information on Rust's tiered platform support. + Libraries - iter::Empty now implements Send and Sync for any T. - Pin::{map_unchecked, map_unchecked_mut} no longer require the return type to implement Sized. - io::Cursor now derives PartialEq and Eq. - Layout::new is now const. - Added Standard Library support for riscv64gc-unknown-linux-gnu. + Stabilized APIs - CondVar::wait_while - CondVar::wait_timeout_while - DebugMap::key - DebugMap::value - ManuallyDrop::take - matches! - ptr::slice_from_raw_parts_mut - ptr::slice_from_raw_parts + Cargo - You no longer need to include extern crate proc_macro; to be able to use proc_macro; in the 2018 edition. + Compatibility Notes - Error::description has been deprecated, and its use will now produce a warning. It's recommended to use Display/to_string instead.- Rebased patches: + ignore-Wstring-conversion.patch (offset / fuzz)- Update to version 1.41.1: - Always check types of static items - Always check lifetime bounds of `Copy` impls - Fix miscompilation in callers of `Layout::repeat` - Update to version 1.41.0: + Language - You can now pass type parameters to foreign items when implementing traits. E.g. You can now write `impl From for Vec {}`. - You can now arbitrarily nest receiver types in the `self` position. E.g. you can now write `fn foo(self: Box>) {}`. Previously only `Self`, `&Self`, `&mut Self`, `Arc`, `Rc`, and `Box` were allowed. - You can now use any valid identifier in a `format_args` macro. Previously identifiers starting with an underscore were not allowed. - Visibility modifiers (e.g. `pub`) are now syntactically allowed on trait items and enum variants. These are still rejected semantically, but can be seen and parsed by procedural macros and conditional compilation. + Compiler - Rustc will now warn if you have unused loop `'label`s. - Removed support for the `i686-unknown-dragonfly` target. - Added tier 3 support\* for the `riscv64gc-unknown-linux-gnu` target. - You can now pass an arguments file passing the `@path` syntax to rustc. Note that the format differs somewhat from what is found in other tooling; please see the documentation for more information. - You can now provide `--extern` flag without a path, indicating that it is available from the search path or specified with an `-L` flag. Refer to Rust's [platform support page][forge-platform-support] for more information on Rust's tiered platform support. + Libraries - The `core::panic` module is now stable. It was already stable through `std`. - `NonZero*` numerics now implement `From` if it's a smaller integer width. E.g. `NonZeroU16` now implements `From`. - `MaybeUninit` now implements `fmt::Debug`. + Stabilized APIs - `Result::map_or` - `Result::map_or_else` - `std::rc::Weak::weak_count` - `std::rc::Weak::strong_count` - `std::sync::Weak::weak_count` - `std::sync::Weak::strong_count` + Cargo - Cargo will now document all the private items for binary crates by default. - `cargo-install` will now reinstall the package if it detects that it is out of date. - Cargo.lock now uses a more git friendly format that should help to reduce merge conflicts. - You can now override specific dependencies's build settings. E.g. `[profile.dev.package.image] opt-level = 2` sets the `image` crate's optimisation level to `2` for debug builds. You can also use `[profile..build-override]` to override build scripts and their dependencies. + Misc - You can now specify `edition` in documentation code blocks to compile the block for that edition. E.g. `edition2018` tells rustdoc that the code sample should be compiled the 2018 edition of Rust. - You can now provide custom themes to rustdoc with `--theme`, and check the current theme with `--check-theme`. - You can use `#[cfg(doc)]` to compile an item when building documentation. + Compatibility Notes - As previously announced 1.41.0 will be the last tier 1 release for 32-bit Apple targets. This means that the source code is still available to build, but the targets are no longer being tested and release binaries for those platforms will no longer be distributed by the Rust project. Please refer to the linked blog post for more information.- Adjust constraints: Request 20GB HDD for all archs. Simplify the file by removing the overrides for various disk sizes. All archs are curretnly at roughly 17GB storage in use.- Bump version of libssh2 for SLE15; we now need a version with libssh2_userauth_publickey_frommemory(), which appeared in libssh2 1.6.0. - Use the bundled libssh2 prior to SLE15. SLE12 has 1.4.3, which is too old for the ssh crate now.- Update to version 1.40.0 + Language - You can now use tuple `struct`s and tuple `enum` variant's constructors in `const` contexts. e.g. pub struct Point(i32, i32); const ORIGIN: Point = { let constructor = Point; constructor(0, 0) }; - You can now mark `struct`s, `enum`s, and `enum` variants with the `#[non_exhaustive]` attribute to indicate that there may be variants or fields added in the future. For example this requires adding a wild-card branch (`_ => {}`) to any match statements on a non-exhaustive `enum`. - You can now use function-like procedural macros in `extern` blocks and in type positions. e.g. `type Generated = macro!();` - Function-like and attribute procedural macros can now emit `macro_rules!` items, so you can now have your macros generate macros. - The `meta` pattern matcher in `macro_rules!` now correctly matches the modern attribute syntax. For example `(#[$m:meta])` now matches `#[attr]`, `#[attr{tokens}]`, `#[attr[tokens]]`, and `#[attr(tokens)]`. + Compiler - Added tier 3 support\* for the `thumbv7neon-unknown-linux-musleabihf` target. - Added tier 3 support for the `aarch64-unknown-none-softfloat` target. - Added tier 3 support for the `mips64-unknown-linux-muslabi64`, and `mips64el-unknown-linux-muslabi64` targets. + Libraries - The `is_power_of_two` method on unsigned numeric types is now a `const` function. + Stabilized APIs - BTreeMap::get_key_value - HashMap::get_key_value - Option::as_deref_mut - Option::as_deref - Option::flatten - UdpSocket::peer_addr - f32::to_be_bytes - f32::to_le_bytes - f32::to_ne_bytes - f64::to_be_bytes - f64::to_le_bytes - f64::to_ne_bytes - f32::from_be_bytes - f32::from_le_bytes - f32::from_ne_bytes - f64::from_be_bytes - f64::from_le_bytes - f64::from_ne_bytes - mem::take - slice::repeat - todo! + Cargo - Cargo will now always display warnings, rather than only on fresh builds. - Feature flags (except `--all-features`) passed to a virtual workspace will now produce an error. Previously these flags were ignored. - You can now publish `dev-dependencies` without including a `version`. + Misc - You can now specify the `#[cfg(doctest)]` attribute to include an item only when running documentation tests with `rustdoc`. + Compatibility Notes - As previously announced, any previous NLL warnings in the 2015 edition are now hard errors. - The `include!` macro will now warn if it failed to include the entire file. The `include!` macro unintentionally only includes the first _expression_ in a file, and this can be unintuitive. This will become either a hard error in a future release, or the behavior may be fixed to include all expressions as expected. - Using `#[inline]` on function prototypes and consts now emits a warning under `unused_attribute` lint. Using `#[inline]` anywhere else inside traits or `extern` blocks now correctly emits a hard error.- Rebased patches: + hopefully-fix-rustdoc-build.patch dropped (merged upstream)- Rename README to README.suse-maint and add it as a source to stop factory-auto from declining submissions automatically- Re-format the spec file - Add a README to explain the update process - Add _service file for download the assets and re-base the patches- Add hopefully-fix-rustdoc-build.patch to fix rustdoc compilation- Update to version 1.39.0 + Language - You can now create async functions and blocks with async fn, async move {}, and async {} respectively, and you can now call .await on async expressions. - You can now use certain attributes on function, closure, and function pointer parameters. - You can now take shared references to bind-by-move patterns in the if guards of match arms. + Compiler - Added tier 3 support for the i686-unknown-uefi target. - Added tier 3 support for the sparc64-unknown-openbsd target. - rustc will now trim code snippets in diagnostics to fit in your terminal. - You can now pass --show-output argument to test binaries to print the output of successful tests. + For more details: https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1390-2019-11-07 - Drop patches already merged in upstream: + rust-61206-assume-tarball-llvm-is-fresh.patch + add-option-to-allow-warnings.patch- Switch to bundled version of libgit2 for now. libgit2-sys seems to expect using the bundled variant, which just seems to point to a snapshot of the master branch and doesn't match any released libgit2 (bsc#1154817). See: https://github.com/rust-lang/rust/issues/63476 and https://github.com/rust-lang/git2-rs/issues/458 for details.- Add patch add-option-to-allow-warnings.patch to add a config option which allows warnings and so enables v1.38 to bootstrap itself.- Update to version 1.38.0 + Language - The `#[global_allocator]` attribute can now be used in submodules. - The `#[deprecated]` attribute can now be used on macros. + Compiler - Added pipelined compilation support to `rustc`. This will improve compilation times in some cases. + Libraries - `ascii::EscapeDefault` now implements `Clone` and `Display`. - Derive macros for prelude traits (e.g. `Clone`, `Debug`, `Hash`) are now available at the same path as the trait. (e.g. The `Clone` derive macro is available at `std::clone::Clone`). This also makes all built-in macros available in `std`/`core` root. e.g. `std::include_bytes!`. - `str::Chars` now implements `Debug`. - `slice::{concat, connect, join}` now accepts `&[T]` in addition to `&T`. - `*const T` and `*mut T` now implement `marker::Unpin`. - `Arc<[T]>` and `Rc<[T]>` now implement `FromIterator`. - Added euclidean remainder and division operations (`div_euclid`, `rem_euclid`) to all numeric primitives. Additionally `checked`, `overflowing`, and `wrapping` versions are available for all integer primitives. - `thread::AccessError` now implements `Clone`, `Copy`, `Eq`, `Error`, and `PartialEq`. - `iter::{StepBy, Peekable, Take}` now implement `DoubleEndedIterator`. + Stabilized APIs - `<*const T>::cast` - `<*mut T>::cast` - `Duration::as_secs_f32` - `Duration::as_secs_f64` - `Duration::div_f32` - `Duration::div_f64` - `Duration::from_secs_f32` - `Duration::from_secs_f64` - `Duration::mul_f32` - `Duration::mul_f64` - `any::type_name` + Cargo - Added pipelined compilation support to `cargo`. - You can now pass the `--features` option multiple times to enable multiple features. + Misc - `rustc` will now warn about some incorrect uses of `mem::{uninitialized, zeroed}` that are known to cause undefined behaviour.- Use gcc7 on all of SLE12, since the embedded LLVM wants at least gcc 5.1. - Add rust-61206-assume-tarball-llvm-is-fresh.patch - Upstream fix to make LLVM not be rebuilt during the installation phase.- Update to version 1.37.0 + Language - #[must_use] will now warn if the type is contained in a tuple, Box, or an array and unused. - You can now use the `cfg` and `cfg_attr` attributes on generic parameters. - You can now use enum variants through type alias. e.g. You can write the following: ``` type MyOption = Option; fn increment_or_zero(x: MyOption) -> u8 { match x { MyOption::Some(y) => y + 1, MyOption::None => 0, } } ``` - You can now use `_` as an identifier for consts. e.g. You can write `const _: u32 = 5;`. - You can now use `#[repr(align(X)]` on enums. - The `?` Kleene macro operator is now available in the 2015 edition. + Compiler - You can now enable Profile-Guided Optimization with the `-C profile-generate` and `-C profile-use` flags. For more information on how to use profile guided optimization, please refer to the rustc book. - The `rust-lldb` wrapper script should now work again. + Libraries - `mem::MaybeUninit` is now ABI-compatible with `T`. + Stabilized APIs - BufReader::buffer - BufWriter::buffer - Cell::from_mut - Cell<[T]>::as_slice_of_cells - Cell::as_slice_of_cells - DoubleEndedIterator::nth_back - Option::xor - Wrapping::reverse_bits - i128::reverse_bits - i16::reverse_bits - i32::reverse_bits - i64::reverse_bits - i8::reverse_bits - isize::reverse_bits - slice::copy_within - u128::reverse_bits - u16::reverse_bits - u32::reverse_bits - u64::reverse_bits - u8::reverse_bits - usize::reverse_bits + Cargo - Cargo.lock files are now included by default when publishing executable crates with executables. - You can now specify `default-run="foo"` in `[package]` to specify the default executable to use for `cargo run`. - cargo-vendor is now provided as a sub-command of cargo + Compatibility Notes - Using `...` for inclusive range patterns will now warn by default. Please transition your code to using the `..=` syntax for inclusive ranges instead. - Using a trait object without the `dyn` will now warn by default. Please transition your code to use `dyn Trait` for trait objects instead.- Remove fix-llvm8-build.patch, fixed upstream- Update to version 1.36.0 + Language - Non-Lexical Lifetimes are now enabled on the 2015 edition - The order of traits in trait objects no longer affects the semantics of that object. e.g. `dyn Send + fmt::Debug` is now equivalent to `dyn fmt::Debug + Send`, where this was previously not the case. + Libraries - `HashMap`'s implementation has been replaced with `hashbrown::HashMap` implementation - `TryFromSliceError` now implements `From` - `mem::needs_drop` is now available as a const fn - `alloc::Layout::from_size_align_unchecked` is now available as a const fn - `String` now implements `BorrowMut` - `io::Cursor` now implements `Default` - Both `NonNull::{dangling, cast}` are now const fns - The `alloc` crate is now stable. `alloc` allows you to use a subset of `std` (e.g. `Vec`, `Box`, `Arc`) in `#![no_std]` environments if the environment has access to heap memory allocation. - String` now implements `From<&String>` - You can now pass multiple arguments to the `dbg!` macro. `dbg!` will return a tuple of each argument when there is multiple arguments. - `Result::{is_err, is_ok}` are now `#[must_use]` and will produce a warning if not used. + Stabilized APIs - VecDeque::rotate_left - VecDeque::rotate_right - Iterator::copied - io::IoSlice - io::IoSliceMut - Read::read_vectored - Write::write_vectored - str::as_mut_ptr - mem::MaybeUninit - pointer::align_offset - future::Future - task::Context - task::RawWaker - task::RawWakerVTable - task::Waker - task::Poll + Cargo - Cargo will now produce an error if you attempt to use the name of a required dependency as a feature - You can now pass the `--offline` flag to run cargo without accessing the network + Clippy - New lints: `find_map`, `filter_map_next` - New lint: `path_buf_push_overwrite` - Move `path_buf_push_overwrite` to the nursery - Split `redundant_closure` into `redundant_closure` and `redundant_closure_for_method_calls` - Allow allowing of `toplevel_ref_arg` lint - Fix false negative in `or_fun_call` pertaining to nested constructors - Fixed false positive in `or_fn_call` pertaining to enum variant constructors - Fix false positive in `useless_let_if_seq` pertaining to interior mutability - Fix false positive in `redundant_closure` pertaining to non-function types - Fix false positive in `let_and_return` pertaining to attributes on `let`s - Fix false positive in `module_name_repetitions` lint pertaining to attributes - Fix false positive on `assertions_on_constants` pertaining to `debug_assert!` - Improve suggestion in `map_clone` to suggest `.copied()` where applicable - Improve suggestion for `search_is_some` - Improve suggestion applicability for `naive_bytecount` - Improve suggestion applicability for `while_let_loop` - Improve diagnostics for `too_many_arguments` - Improve diagnostics for `cast_lossless` - Deal with macro checks in desugarings better - Add macro check for `unnecessary_cast` - Remove `approx_constant`'s documentation's "Known problems" section - Fix ICE in `suspicious_else_formatting` - Fix ICE in `decimal_literal_representation` + Compatibility Notes - With the stabilisation of `mem::MaybeUninit`, `mem::uninitialized` use is no longer recommended, and will be deprecated in 1.38.0.- Add support for ppc- Update to version 1.35.0 + Language - `FnOnce`, `FnMut`, and the `Fn` traits are now implemented for `Box`, `Box`, and `Box` respectively. - You can now coerce closures into unsafe function pointers. e.g. unsafe fn call_unsafe(func: unsafe fn()) { func() } pub fn main() { unsafe { call_unsafe(|| {}); } } + Compiler - Added the `armv6-unknown-freebsd-gnueabihf` and `armv7-unknown-freebsd-gnueabihf` targets. - Added the `wasm32-unknown-wasi` target. + Libraries - `Thread` will now show its ID in `Debug` output. - `StdinLock`, `StdoutLock`, and `StderrLock` now implement `AsRawFd`. - `alloc::System` now implements `Default`. - Expanded `Debug` output (`{:#?}`) for structs now has a trailing comma on the last field. - `char::{ToLowercase, ToUppercase}` now implement `ExactSizeIterator`. - All `NonZero` numeric types now implement `FromStr`. - Removed the `Read` trait bounds on the `BufReader::{get_ref, get_mut, into_inner}` methods. - You can now call the `dbg!` macro without any parameters to print the file and line where it is called. - In place ASCII case conversions are now up to 4× faster. e.g. `str::make_ascii_lowercase` - `hash_map::{OccupiedEntry, VacantEntry}` now implement `Sync` and `Send`. + Stabilized APIs - `f32::copysign` - `f64::copysign` - `RefCell::replace_with` - `RefCell::map_split` - `ptr::hash` - `Range::contains` - `RangeFrom::contains` - `RangeTo::contains` - `RangeInclusive::contains` - `RangeToInclusive::contains` - `Option::copied` + Cargo - You can now set `cargo:rustc-cdylib-link-arg` at build time to pass custom linker arguments when building a `cdylib`. Its usage is highly platform specific. - version 1.34.2 + Destabilize the `Error::type_id` function due to a security vulnerability (CVE-2019-12083) - version 1.34.1 + Fix false positives for the `redundant_closure` Clippy lint + Fix false positives for the `missing_const_for_fn` Clippy lint + Fix Clippy panic when checking some macros- Add fix-llvm8-build.patch: Fix linker errors with llvm8 by limiting internalization in ThinLTO.- Fix regexp for .rlib files in rust-rpmlintrc.- Disable LTO (boo#1133283).- Update to version 1.34.0 + Language - You can now use `#[deprecated = "reason"]` as a shorthand for `#[deprecated(note = "reason")]`. This was previously allowed by mistake but had no effect. - You can now accept token streams in `#[attr()]`,`#[attr[]]`, and `#[attr{}]` procedural macros. - You can now write `extern crate self as foo;` to import your crate's root into the extern prelude. + Compiler - You can now target `riscv64imac-unknown-none-elf` and `riscv64gc-unknown-none-elf`. - You can now enable linker plugin LTO optimisations with `-C linker-plugin-lto`. This allows rustc to compile your Rust code into LLVM bitcode allowing LLVM to perform LTO optimisations across C/C++ FFI boundaries. - You can now target `powerpc64-unknown-freebsd`. + Libraries - The trait bounds have been removed on some of `HashMap`'s and `HashSet`'s basic methods. Most notably you no longer require the `Hash` trait to create an iterator. - The `Ord` trait bounds have been removed on some of `BinaryHeap`'s basic methods. Most notably you no longer require the `Ord` trait to create an iterator. - The methods `overflowing_neg` and `wrapping_neg` are now `const` functions for all numeric types. - Indexing a `str` is now generic over all types that implement `SliceIndex`. - `str::trim`, `str::trim_matches`, `str::trim_{start, end}`, and `str::trim_{start, end}_matches` are now `#[must_use]` and will produce a warning if their returning type is unused. - The methods `checked_pow`, `saturating_pow`, `wrapping_pow`, and `overflowing_pow` are now available for all numeric types. These are equivalvent to methods such as `wrapping_add` for the `pow` operation. + Stabilized APIs - std & core + Any::type_id + Error::type_id + atomic::AtomicI16 + atomic::AtomicI32 + atomic::AtomicI64 + atomic::AtomicI8 + atomic::AtomicU16 + atomic::AtomicU32 + atomic::AtomicU64 + atomic::AtomicU8 + convert::Infallible + convert::TryFrom + convert::TryInto + iter::from_fn + iter::successors + num::NonZeroI128 + num::NonZeroI16 + num::NonZeroI32 + num::NonZeroI64 + num::NonZeroI8 + num::NonZeroIsize + slice::sort_by_cached_key + str::escape_debug + str::escape_default + str::escape_unicode + str::split_ascii_whitespace - std + Instant::checked_add + Instant::checked_sub + SystemTime::checked_add + SystemTime::checked_sub + Cargo - You can now use alternative registries to crates.io. + Misc - You can now use the `?` operator in your documentation tests without manually adding `fn main() -> Result<(), _> {}`. + Compatibility Notes - `Command::before_exec` is now deprecated in favor of the unsafe method `Command::pre_exec`. - Use of `ATOMIC_{BOOL, ISIZE, USIZE}_INIT` is now deprecated. As you can now use `const` functions in `static` variables. - Remove depreciated-trim_left_matches.patch. - Rustfmt version bumped to 1.0.3 + Change description not provided. - rls version now in sync with rustc. - Misc fixes to rust.spec- Use the system's LLVM in SLE15-SP1. That distribution has LLVM7, and we need to use it there, instead of any other version. - Prevent auto-provides from being created for things under rustlibdir, so the RPM does not inadvertently have a Provides for a bundled LLVM and the Rust library files. - Sync changes files between SLE and openSUSE, for ease of maintenance.- Explicitly build only a subset of tools- Remove miri complete instead of excluding. This is experimental and so should not be included. - BuildRequires ccache in attempt to reduce compile times. - Remove more extraneous directories from src that will never be used. - Extra patterns in rpmlintrc to catch more false positives: + Rust has no stable API, ignore SONAME warnings + Tool versions don't update in step with rust, ignore warnings- Separate the bootstrap version from the minimum required system version for package builds.- add depreciated-trim_left_matches.patch: replaces depreciated function call in src/tools/tidy with trim_start_matches to fix error when bootstrapping with system 1.33.0- Update to version 1.33.0 + Language - You can now use the `cfg(target_vendor)` attribute. E.g. `#[cfg(target_vendor="linux")] fn main() { println!("Hello Linux!"); }` - Integer patterns such as in a match expression can now be exhaustive. E.g. You can have match statement on a `u8` that covers `0..=255` and you would no longer be required to have a `_ => unreachable!()` case. - You can now have multiple patterns in `if let` and `while let` expressions. You can do this with the same syntax as a `match` expression. E.g. ``` enum Creature { Crab(String), Lobster(String), Person(String), } fn main() { let state = Creature::Crab("Ferris"); if let Creature::Crab(name) | Creature::Person(name) = state { println!("This creature's name is: {}", name); } } ``` - You can now have irrefutable `if let` and `while let` patterns. Using this feature will by default produce a warning as this behaviour can be unintuitive. E.g. `if let _ = 5 {}` - You can now use `let` bindings, assignments, expression statements, and irrefutable pattern destructuring in const functions. - You can now call unsafe const functions. E.g. ``` const unsafe fn foo() -> i32 { 5 } const fn bar() -> i32 { unsafe { foo() } } ``` - You can now specify multiple attributes in a `cfg_attr` attribute. E.g. `#[cfg_attr(all(), must_use, optimize)]` - You can now specify a specific alignment with the `#[repr(packed)]` attribute. E.g. `#[repr(packed(2))] struct Foo(i16, i32);` is a struct with an alignment of 2 bytes and a size of 6 bytes. - You can now import an item from a module as an `_`. This allows you to import a trait's impls, and not have the name in the namespace. E.g. ``` use std::io::Read as _; // Allowed as there is only one `Read` in the module. pub trait Read {} ``` - extern` functions will now abort by default when panicking. This was previously undefined behaviour. + Compiler - You can now set a linker flavor for `rustc` with the `-Clinker-flavor` command line argument. - The mininum required LLVM version has been bumped to 6.0. - Added support for the PowerPC64 architecture on FreeBSD. - The `x86_64-fortanix-unknown-sgx` target support has been upgraded to tier 2 support. Visit the [platform support][platform-support] page for information on Rust's platform support. - Added support for the `thumbv7neon-linux-androideabi` and `thumbv7neon-unknown-linux-gnueabihf` targets. - Added support for the `x86_64-unknown-uefi` target. + Libraries - The methods `overflowing_{add, sub, mul, shl, shr}` are now `const` functions for all numeric types. - The methods `rotate_left`, `rotate_right`, and `wrapping_{add, sub, mul, shl, shr}` are now `const` functions for all numeric types. - The methods `is_positive` and `is_negative` are now `const` functions for all signed numeric types. - The `get` method for all `NonZero` types is now `const`. - The methods `count_ones`, `count_zeros`, `leading_zeros`, `trailing_zeros`, `swap_bytes`, `from_be`, `from_le`, `to_be`, `to_le` are now `const` for all numeric types. - Ipv4Addr::new` is now a `const` function + Stabilized APIs - unix::FileExt::read_exact_at - unix::FileExt::write_all_at - Option::transpose - Result::transpose - convert::identity - pin::Pin - marker::Unpin - marker::PhantomPinned - Vec::resize_with - VecDeque::resize_with - Duration::as_millis - Duration::as_micros - Duration::as_nanos + Cargo - Cargo should now rebuild a crate if a file was modified during the initial build.][cargo/6484] + Compatibility Notes - The methods `str::{trim_left, trim_right, trim_left_matches, trim_right_matches}` are now deprecated in the standard library, and their usage will now produce a warning. Please use the `str::{trim_start, trim_end, trim_start_matches, trim_end_matches}` methods instead.- Bump minimum LLVM to 7.0 - Add conditions to build SLE versions with bundled libgit2 and libssh2- Use cmake3, not cmake, in SLE-12 SP2 and earlier. The stock cmake package there was 2.x, and building llvm requires cmake 3.5.- Use same version bootstrap as package source - Fixes to build with correct LLVM for SLE and Leap releases- Move export vars directly to where used. - Change codegen units to 2 for Arm and x86 builds in attempt to reduce memory use by LLVM.- Put each exported environment variable in a separate line so the specfile will work on SLE SP0/SP1/SP2.- Avoid bash-specific syntax in "test" call.- Fix bootstrap conditionals - Fix bundled_llvm conditionals - Don't build stage0 if compiler used to build package is the same version as package- Ensure install environment is the same as build environment to prevent building everything twice (second time without correct flags).- Remove CVE-2018-1000622-prevent-rustdoc-loads-uncontrolled-plugins-path.patch, since rustdoc plugins are fixed since version 1.27.1 (bsc#1100691, CVE-2018-1000622).- Update to version 1.32.0 - Language + 2018 edition - You can now use the `?` operator in macro definitions. The `?` operator allows you to specify zero or one repetitions similar to the `*` and `+` operators. - Module paths with no leading keyword like `super`, `self`, or `crate`, will now always resolve to the item (`enum`, `struct`, etc.) available in the module if present, before resolving to a external crate or an item the prelude. E.g. enum Color { Red, Green, Blue } use Color::*; + All editions - You can now match against `PhantomData` types. - You can now match against literals in macros with the `literal` specifier. This will match against a literal of any type. E.g. `1`, `'A'`, `"Hello World"` - Self can now be used as a constructor and pattern for unit and tuple structs. E.g. struct Point(i32, i32); impl Point { pub fn new(x: i32, y: i32) -> Self { Self(x, y) } pub fn is_origin(&self) -> bool { match self { Self(0, 0) => true, _ => false, } } } - Self can also now be used in type definitions. E.g. enum List where Self: PartialOrd // can write `Self` instead of `List` { Nil, Cons(T, Box) // likewise here } - You can now mark traits with `#[must_use]`. This provides a warning if a `impl Trait` or `dyn Trait` is returned and unused in the program. - Compiler + The default allocator has changed from jemalloc to the default allocator on your system. The compiler itself on Linux & macOS will still use jemalloc, but programs compiled with it will use the system allocator. + Added the `aarch64-pc-windows-msvc` target. - Libraries + `PathBuf` now implements `FromStr`. - `Box<[T]>` now implements `FromIterator`. - The `dbg!` macro has been stabilized. This macro enables you to easily debug expressions in your rust program. E.g. let a = 2; let b = dbg!(a * 2) + 1; // ^-- prints: [src/main.rs:4] a * 2 = 4 assert_eq!(b, 5); + The following APIs are now `const` functions and can be used in a `const` context. - `Cell::as_ptr` - `UnsafeCell::get` - `char::is_ascii` - `iter::empty` - `ManuallyDrop::new` - `ManuallyDrop::into_inner` - `RangeInclusive::start` - `RangeInclusive::end` - `NonNull::as_ptr` - `slice::as_ptr` - `str::as_ptr` - `Duration::as_secs` - `Duration::subsec_millis` - `Duration::subsec_micros` - `Duration::subsec_nanos` - `CStr::as_ptr` - `Ipv4Addr::is_unspecified` - `Ipv6Addr::new` - `Ipv6Addr::octets` - Stabilized APIs + `i8::to_be_bytes` + `i8::to_le_bytes` + `i8::to_ne_bytes` + `i8::from_be_bytes` + `i8::from_le_bytes` + `i8::from_ne_bytes` + `i16::to_be_bytes` + `i16::to_le_bytes` + `i16::to_ne_bytes` + `i16::from_be_bytes` + `i16::from_le_bytes` + `i16::from_ne_bytes` + `i32::to_be_bytes` + `i32::to_le_bytes` + `i32::to_ne_bytes` + `i32::from_be_bytes` + `i32::from_le_bytes` + `i32::from_ne_bytes` + `i64::to_be_bytes` + `i64::to_le_bytes` + `i64::to_ne_bytes` + `i64::from_be_bytes` + `i64::from_le_bytes` + `i64::from_ne_bytes` + `i128::to_be_bytes` + `i128::to_le_bytes` + `i128::to_ne_bytes` + `i128::from_be_bytes` + `i128::from_le_bytes` + `i128::from_ne_bytes` + `isize::to_be_bytes` + `isize::to_le_bytes` + `isize::to_ne_bytes` + `isize::from_be_bytes` + `isize::from_le_bytes` + `isize::from_ne_bytes` + `u8::to_be_bytes` + `u8::to_le_bytes` + `u8::to_ne_bytes` + `u8::from_be_bytes` + `u8::from_le_bytes` + `u8::from_ne_bytes` + `u16::to_be_bytes` + `u16::to_le_bytes` + `u16::to_ne_bytes` + `u16::from_be_bytes` + `u16::from_le_bytes` + `u16::from_ne_bytes` + `u32::to_be_bytes` + `u32::to_le_bytes` + `u32::to_ne_bytes` + `u32::from_be_bytes` + `u32::from_le_bytes` + `u32::from_ne_bytes` + `u64::to_be_bytes` + `u64::to_le_bytes` + `u64::to_ne_bytes` + `u64::from_be_bytes` + `u64::from_le_bytes` + `u64::from_ne_bytes` + `u128::to_be_bytes` + `u128::to_le_bytes` + `u128::to_ne_bytes` + `u128::from_be_bytes` + `u128::from_le_bytes` + `u128::from_ne_bytes` + `usize::to_be_bytes` + `usize::to_le_bytes` + `usize::to_ne_bytes` + `usize::from_be_bytes` + `usize::from_le_bytes` + `usize::from_ne_bytes` - Cargo + You can now run `cargo c` as an alias for `cargo check`.][cargo/6218] + Usernames are now allowed in alt registry URLs.][cargo/6242] - Misc + `libproc_macro` has been added to the `rust-src` distribution. - Compatibility Notes + The argument types for AVX's `_mm256_stream_si256`, `_mm256_stream_pd`, `_mm256_stream_ps` have been changed from `*const` to `*mut` as the previous implementation was unsound.- Update to version 1.31.1 + Fix Rust failing to build on `powerpc-unknown-netbsd` + Fix broken go-to-definition in RLS + Fix infinite loop on hover in RLS- Update to version 1.31.0 + Language - This version marks the release of the 2018 edition of Rust. - New lifetime elision rules now allow for eliding lifetimes in functions and impl headers. E.g. `impl<'a> Reader for BufReader<'a> {}` can now be `impl Reader for BufReader<'_> {}`. Lifetimes are still required to be defined in structs. - You can now define and use `const` functions. These are currently a strict minimal subset of the const fn RFC. Refer to the [language reference][const-reference] for what exactly is available. - You can now use tool lints, which allow you to scope lints from external tools using attributes. E.g. `#[allow(clippy::filter_map)]`. - `#[no_mangle]` and `#[export_name]` attributes can now be located anywhere in a crate, not just in exported functions. - You can now use parentheses in pattern matches. + Compiler - Updated musl to 1.1.20 + Libraries - You can now convert `num::NonZero*` types to their raw equivalvents using the `From` trait. E.g. `u8` now implements `From`. - You can now convert a `&Option` into `Option<&T>` and `&mut Option` into `Option<&mut T>` using the `From` trait. - You can now multiply (`*`) a `time::Duration` by a `u32`. + Stabilized APIs - `slice::align_to` - `slice::align_to_mut` - `slice::chunks_exact` - `slice::chunks_exact_mut` - `slice::rchunks` - `slice::rchunks_mut` - `slice::rchunks_exact` - `slice::rchunks_exact_mut` - `Option::replace` + Cargo - Cargo will now download crates in parallel using HTTP/2. - You can now rename packages in your Cargo.toml We have a guide on how to use the `package` key in your dependencies.- Add additional Requires to rls: + Requires rust-src + Requires rust-analysis - Add additional Requires to rustfmt: + Requires cargo - Fix rust-src requiring /usr/bin/bash; a script was incorrectly edited at build time.- Set the bootstrap flag in the spec file temporarily so that rings will build rust without intervention. Must be reverted once all releases are successful.- Add Provides/Obsoletes/Conflicts to rust-std-static and cargo- Strengthen the dependency on rust-std-static to Requires to fix crate package builds in OBS - Use standard form rich dependencies for SUSE Linux 15 and newer- Fix second-person language and spellos.- Add ignore-Wstring-conversion.patch: we require patching of src/librustc_llvm/build.rs to ignore a flag that llvm-config --cxxflags outputs which GCC doesn't recognise. - Default to building using the distro LLVM where the version is >= 5.0, instead of the Rust bundled LLVM which requires compilation. This should decrease build times. SLE LLVM is too old.- Fixing various rpmlint warnings and errors: + ExclusiveArch instead of BuildArch for i686 + Remove conflicts with same package name + Remove a few hidden files during prep, does not touch '.clang-format' + Remove old patch macro in comment + Fix lint warning about bash and zsh completition files + Fix various script shebang warnings (incorrect or missing) + Adjust rpmlintrc to mask some 'invalid' warnings - Move Rust and its tools in to their own category under: + Development/Languages/Rust- Jump from version 1.26.2 to 1.30.0 due to a build issue with using 1.26.x to compile 1.27.x. This package release requires %{rust_bootstrap} to be set. - Enable extra rust tools to be built (cargo, rls, rustfmt, analysis) + cargo is now packaged with the same version number as the rust release, this may break any packages that relied on a cargo version number. - Remove ccache and ninja from BuildRequires. - Switch build configuration to use configure script, remove config.toml. - Include all bootstraps in source rpm to make bootstrapping easier to manage within OBS. - Remove unused patch: update-config-guess.patch Update to version 1.30.0 (2018-10-25) + Language - Procedural macros are now available.- These kinds of macros allow for more powerful code generation. There is a new chapter available in the Rust Programming Language book that goes further in depth. - You can now use keywords as identifiers using the raw identifiers syntax (`r#`),- e.g. `let r#for = true;` - Using anonymous parameters in traits is now deprecated with a warning and will be a hard error in the 2018 edition.- - You can now use `crate` in paths.- This allows you to refer to the crate root in the path, e.g. `use crate::foo;` refers to `foo` in `src/lib.rs`. - Using a external crate no longer requires being prefixed with `::`.- Previously, using a external crate in a module without a use statement required `let json = ::serde_json::from_str(foo);` but can now be written as `let json = serde_json::from_str(foo);`. - You can now apply the `#[used]` attribute to static items to prevent the compiler from optimising them away, even if they appear to be unused,- e.g. `#[used] static FOO: u32 = 1;` - You can now import and reexport macros from other crates with the `use` syntax.- Macros exported with `#[macro_export]` are now placed into the root module of the crate. If your macro relies on calling other local macros, it is recommended to export with the `#[macro_export(local_inner_macros)]` attribute so users won't have to import those macros. - You can now catch visibility keywords (e.g. `pub`, `pub(crate)`) in macros using the `vis` specifier.- - Non-macro attributes now allow all forms of literals, not just strings.- Previously, you would write `#[attr("true")]`, and you can now write `#[attr(true)]`. - You can now specify a function to handle a panic in the Rust runtime with the `#[panic_handler]` attribute.- + Compiler - Added the `riscv32imc-unknown-none-elf` target.- - Added the `aarch64-unknown-netbsd` target- + Libraries - `ManuallyDrop` now allows the inner type to be unsized.- + Stabilized APIs - `Ipv4Addr::BROADCAST` - `Ipv4Addr::LOCALHOST` - `Ipv4Addr::UNSPECIFIED` - `Ipv6Addr::LOCALHOST` - `Ipv6Addr::UNSPECIFIED` - `Iterator::find_map` - The following methods are replacement methods for `trim_left`, `trim_right`, `trim_left_matches`, and `trim_right_matches`, which will be deprecated in 1.33.0: + `str::trim_end_matches` + `str::trim_end` + `str::trim_start_matches` + `str::trim_start` + Cargo - `cargo run` doesn't require specifying a package in workspaces.][cargo/5877] - `cargo doc` now supports `--message-format=json`.][cargo/5878] This is equivalent to calling `rustdoc --error-format=json`. - Cargo will now provide a progress bar for builds.][cargo/5995] + Misc - `rustdoc` allows you to specify what edition to treat your code as with the `--edition` option.- - `rustdoc` now has the `--color` (specify whether to output color) and `--error-format` (specify error format, e.g. `json`) options.- - We now distribute a `rust-gdbgui` script that invokes `gdbgui` with Rust debug symbols.- - Attributes from Rust tools such as `rustfmt` or `clippy` are now available,- e.g. `#[rustfmt::skip]` will skip formatting the next item. - Update to version 1.29.2 (2018-10-11) + Workaround for an aliasing-related LLVM bug, which caused miscompilation. + The `rls-preview` component on the windows-gnu targets has been restored. - Update to version 1.29.1 (2018-09-25) + Security Notes - The standard library's `str::repeat` function contained an out of bounds write caused by an integer overflow. This has been fixed by deterministically panicking when an overflow happens. - Update to version 1.29.0 (2018-09-13) + Compiler - Bumped minimum LLVM version to 5.0. - Added `powerpc64le-unknown-linux-musl` target. - Added `aarch64-unknown-hermit` and `x86_64-unknown-hermit` targets. + Libraries - `Once::call_once` no longer requires `Once` to be `'static`. - `BuildHasherDefault` now implements `PartialEq` and `Eq`. - `Box`, `Box`, and `Box` now implement `Clone`. - Implemented `PartialEq<&str>` for `OsString` and `PartialEq` for `&str`. - `Cell` now allows `T` to be unsized. - `SocketAddr` is now stable on Redox. + Stabilized APIs - `Arc::downcast` - `Iterator::flatten` - `Rc::downcast` + Cargo - Cargo can silently fix some bad lockfiles.][cargo/5831] You can use `--locked` to disable this behavior. - `cargo-install` will now allow you to cross compile an install using `--target`.][cargo/5614] - Added the `cargo-fix` subcommand to automatically move project code from 2015 edition to 2018.][cargo/5723] - `cargo doc` can now optionally document private types using the `--document-private-items` flag.][cargo/5543] + Misc - `rustdoc` now has the `--cap-lints` option which demotes all lints above the specified level to that level. For example `--cap-lints warn` will demote `deny` and `forbid` lints to `warn`. - `rustc` and `rustdoc` will now have the exit code of `1` if compilation fails and `101` if there is a panic. - A preview of clippy has been made available through rustup. You can install the preview with `rustup component add clippy-preview`. + Compatibility Notes - `str::{slice_unchecked, slice_unchecked_mut}` are now deprecated. Use `str::get_unchecked(begin..end)` instead. - `std::env::home_dir` is now deprecated for its unintuitive behavior. Consider using the `home_dir` function from https://crates.io/crates/dirs instead. - `rustc` will no longer silently ignore invalid data in target spec. - `cfg` attributes and `--cfg` command line flags are now more strictly validated. - Update to version 1.28.0 + Language - The `#[repr(transparent)]` attribute is now stable.- This attribute allows a Rust newtype wrapper (`struct NewType(T);`) to be represented as the inner type across Foreign Function Interface (FFI) boundaries. - The keywords `pure`, `sizeof`, `alignof`, and `offsetof` have been unreserved and can now be used as identifiers.- - The `GlobalAlloc` trait and `#[global_allocator]` attribute are now stable.- This will allow users to specify a global allocator for their program. - Unit test functions marked with the `#[test]` attribute can now return `Result<(), E: Debug>` in addition to `()`.- - The `lifetime` specifier for `macro_rules!` is now stable.- This allows macros to easily target lifetimes. + Compiler - The `s` and `z` optimisation levels are now stable.- These optimisations prioritise making smaller binary sizes. `z` is the same as `s` with the exception that it does not vectorise loops, which typically results in an even smaller binary. - The short error format is now stable.- Specified with `--error-format=short` this option will provide a more compressed output of rust error messages. - Added a lint warning when you have duplicated `macro_export`s.- - Reduced the number of allocations in the macro parser.- This can improve compile times of macro heavy crates on average by 5%. + Libraries - Implemented `Default` for `&mut str`.- - Implemented `From` for all integer and unsigned number types.- - Implemented `Extend` for `()`.- - The `Debug` implementation of `time::Duration` should now be more easily human readable.- Previously a `Duration` of one second would printed as `Duration { secs: 1, nanos: 0 }` and will now be printed as `1s`. - Implemented `From<&String>` for `Cow`, `From<&Vec>` for `Cow<[T]>`, `From>` for `CString`, `From, From, From<&CString>` for `Cow`, `From, From, From<&OsString>` for `Cow`, `From<&PathBuf>` for `Cow`, and `From>` for `PathBuf`.- - Implemented `Shl` and `Shr` for `Wrapping` and `Wrapping`.- - `DirEntry::metadata` now uses `fstatat` instead of `lstat` when possible.- This can provide up to a 40% speed increase. - Improved error messages when using `format!`.- + Stabilized APIs - `Iterator::step_by` - `Path::ancestors` - `SystemTime::UNIX_EPOCH` - `alloc::GlobalAlloc` - `alloc::Layout` - `alloc::LayoutErr` - `alloc::System` - `alloc::alloc` - `alloc::alloc_zeroed` - `alloc::dealloc` - `alloc::realloc` - `alloc::handle_alloc_error` - `btree_map::Entry::or_default` - `fmt::Alignment` - `hash_map::Entry::or_default` - `iter::repeat_with` - `num::NonZeroUsize` - `num::NonZeroU128` - `num::NonZeroU16` - `num::NonZeroU32` - `num::NonZeroU64` - `num::NonZeroU8` - `ops::RangeBounds` - `slice::SliceIndex` - `slice::from_mut` - `slice::from_ref` - `{Any + Send + Sync}::downcast_mut` - `{Any + Send + Sync}::downcast_ref` - `{Any + Send + Sync}::is` + Cargo - Cargo will now no longer allow you to publish crates with build scripts that modify the `src` directory.][cargo/5584] The `src` directory in a crate should be considered to be immutable. + Misc - The `suggestion_applicability` field in `rustc`'s json output is now stable.- This will allow dev tools to check whether a code suggestion would apply to them. + Compatibility Notes - Rust will consider trait objects with duplicated constraints to be the same type as without the duplicated constraint.- For example the below code will now fail to compile. ```rust trait Trait {} impl Trait + Send { fn test(&self) { println!("one"); } //~ ERROR duplicate definitions with name `test` } impl Trait + Send + Send { fn test(&self) { println!("two"); } } - Update to version 1.27.2: + Compatibility Notes - The borrow checker was fixed to avoid an additional potential unsoundness when using match ergonomics - Update to version 1.27.1: + Security Notes - rustdoc would execute plugins in the /tmp/rustdoc/plugins directory when running, which enabled executing code as some other user on a given machine. This release fixes that vulnerability; you can read more about this on the blog. The associated CVE is [CVE-2018-1000622]. Thank you to Red Hat for responsibily disclosing this vulnerability to us. + Compatibility Notes - The borrow checker was fixed to avoid an additional potential unsoundness when using match ergonomics - Update to version 1.27.0: + Language - Removed 'proc' from the reserved keywords list. This allows `proc` to be used as an identifier. - The dyn syntax is now available. This syntax is equivalent to the bare `Trait` syntax, and should make it clearer when being used in tandem with `impl Trait` because it is equivalent to the following syntax: `&Trait == &dyn Trait`, `&mut Trait == &mut dyn Trait`, and `Box == Box`. - Attributes on generic parameters such as types and lifetimes are now stable. e.g. `fn foo<#[lifetime_attr] 'a, #[type_attr] T: 'a>() {}` - The `#[must_use]` attribute can now also be used on functions as well as types. It provides a lint that by default warns users when the value returned by a function has not been used. + Compiler - Added the `armvte-unknown-linux-musleabi` target. + Libraries - SIMD (Single Instruction Multiple Data) on x/x_ is now stable. This includes arch::x & arch::x_ modules which contain SIMD intrinsics, a new macro called `is_x_feature_detected!`, the `#[target_feature(enable="")]` attribute, and adding `target_feature = ""` to the `cfg` attribute. - A lot of methods for `[u]`, `f`, and `f` previously only available in std are now available in core. - The generic `Rhs` type parameter on `ops::{Shl, ShlAssign, Shr}` now defaults to `Self`. - std::str::replace` now has the `#[must_use]` attribute to clarify that the operation isn't done in place. - Clone::clone`, `Iterator::collect`, and `ToOwned::to_owned` now have the `#[must_use]` attribute] to warn about unused potentially expensive allocations. + Stabilized APIs - DoubleEndedIterator::rfind - DoubleEndedIterator::rfold - DoubleEndedIterator::try_rfold - Duration::from_micros - Duration::from_nanos - Duration::subsec_micros - Duration::subsec_millis - HashMap::remove_entry - Iterator::try_fold - Iterator::try_for_each - NonNull::cast - Option::filter - String::replace_range - Take::set_limit - hint::unreachable_unchecked - os::unix::process::parent_id - ptr::swap_nonoverlapping - slice::rsplit_mut - slice::rsplit - slice::swap_with_slice + Cargo - `cargo-metadata` now includes `authors`, `categories`, `keywords`, `readme`, and `repository` fields. - `cargo-metadata` now includes a package's `metadata` table. - Added the `--target-dir` optional argument. This allows you to specify a different directory than `target` for placing compilation artifacts. - Cargo will be adding automatic target inference for binaries, benchmarks, examples, and tests in the Rust 2018 edition. If your project specifies specific targets, e.g. using `[[bin]]`, and have other binaries in locations where cargo would infer a binary, Cargo will produce a warning. You can disable this feature ahead of time by setting any of the following to false: `autobins`, `autobenches`, `autoexamples`, `autotests`. - Cargo will now cache compiler information. This can be disabled by setting `CARGO_CACHE_RUSTC_INFO=0` in your environment. + Compatibility Notes - Calling a `CharExt` or `StrExt` method directly on core will no longer work. e.g. `::core::prelude::v1::StrExt::is_empty("")` will not compile, `"".is_empty()` will still compile. - `Debug` output on `atomic::{AtomicBool, AtomicIsize, AtomicPtr, AtomicUsize}` will only print the inner type. E.g. `print!("{:?}", AtomicBool::new(true))` will print `true`, not `AtomicBool(true)`. - The maximum number for `repr(align(N))` is now 2²⁹. Previously you could enter higher numbers but they were not supported by LLVM. Up to 512MB alignment should cover all use cases. - The `.description()` method on the `std::error::Error` trait has been soft-deprecated. It is no longer required to implement it. + Misc - Added “The Rustc book” into the official documentation.- Add CVE-2018-1000622-prevent-rustdoc-loads-uncontrolled-plugins-path.patch: + This patch consists of requiring `--plugin-path` to be passed whenever `--plugin` is passed + rustdoc plugins will be removed entirely on 1.28.0, we should drop this patch after 1.28.0(bsc#1100691, CVE-2018-1000622).- Ship rust-std on SLE-15 (bsc#1096945) No new changes came with this update of rust.- Update to version 1.26.2: + Compatibility Notes - The borrow checker was fixed to avoid unsoundness when using match ergonomics - Update to version 1.26.1: + Tools - RLS now works on Windows - Rustfmt stopped badly formatting text in some cases + Compatibility Notes - `fn main() -> impl Trait` no longer works for non-Termination trait This reverts an accidental stabilization - `NaN > NaN` no longer returns true in const-fn contexts - Prohibit using turbofish for `impl Trait` in method arguments- Update to version 1.26.0: + Language: - Closures now implement `Copy` and/or `Clone` if all captured variables implement either or both traits. - The inclusive range syntax is now stable. - Stablise `'_`. The underscore lifetime can be used anywhere where a lifetime can be elided. - `impl Trait` is now stable allowing you to have abstract types in returns or in function parameters. - Pattern matching will now automatically apply dereferences. - 128-bit integers in the form of `u128` and `i128` are now stable. - `main` can now return `Result<(), E: Debug>` in addition to `()`. - A lot of operations are now available in a const context. - Fixed entry slice patterns are now stable. e.g. + Compiler: - LLD is now used as the default linker for `wasm32-unknown-\ unknown`. - Fixed exponential projection complexity on nested types. This can provide up to a ~12% reduction in compile times for certain crates. - Added the `--remap-path-prefix` option to rustc. Allowing you to remap path prefixes outputted by the compiler. + Libraries: - Implemented `From for usize & From<{u8, i16}> for isize`. - Added hexadecimal formatting for integers with fmt::Debug. - Implemented `Default, Hash` for `cmp::Reverse`. - Optimized `str::repeat` being 8x faster in large cases. - `ascii::escape_default` is now available in libcore. - Trailing commas are now supported in std and core macros. - Implemented `Copy, Clone` for `cmp::Reverse`. - Implemented `Clone` for `char::{ToLowercase, ToUppercase}`. + Stabilized APIs: *const T::add, * const T::copy_to_nonoverlapping, *const T::copy_to, * const T::read_unaligned, *const T::read_volatile, * const T::read, *const T::sub, *const T::wrapping_add, * const T::wrapping_sub, *mut T::add, *mut T::copy_to, * mut T::copy_to_nonoverlapping, *mut T::read_unaligned, * mut T::read_volatile, *mut T::read, mut T::replace, * mut T::sub, *mut T::swap, *mut T::wrapping_add, * mut T::wrapping_sub, *mut T::write_bytes, * mut T::write_unaligned, *mut T::write_volatile, * mut T::write, Box::leak, FromUtf8Error::as_bytes, LocalKey::try_with, Option::cloned, iter::FusedIterator, btree_map::Entry::and_modify, s::read_to_string, fs::read, fs::write, hash_map::Entry::and_modify, String::retain, ops::RangeInclusive, ops::RangeToInclusive, process::id, slice::rotate_left, slice::rotate_right. + Compatibility Notes: - Aliasing a `Fn` trait as `dyn` no longer works. - The result of dereferences are no longer promoted to `'static`. - Deprecate `AsciiExt` trait in favor of inherent methods. - `".e0"` will now no longer parse as `0.0` and will instead cause an error. - Removed hoedown from rustdoc. - Bounds on higher-kinded lifetimes a hard error. - Update cargo_version to 0.26.0.- Patch disabled * update-config-guess.patch - Update to 1.25.0 - Language changes: + Stabilised `#[repr(align(x))]`.[47006] [RFC 1358] + You can now use nested groups of imports.[47948] e.g. `use std::{fs::File, io::Read, path::{Path, PathBuf}};` + You can now have `|` at the start of a match arm.[47947] e.g. - Compiler changes: + Upgraded to LLVM 6.[47828] + Added `-C lto=val` option.[47521] + Added `i586-unknown-linux-musl` target[47282] - Library changes: + Impl Send for `process::Command` on Unix.[47760] + Impl PartialEq and Eq for `ParseCharError`.[47790] + `UnsafeCell::into_inner` is now safe.[47204] + Implement libstd for CloudABI.[47268] + `Float::{from_bits, to_bits}` is now available in libcore.[46931] + Implement `AsRef` for Component[46985] + Implemented `Write` for `Cursor<&mut Vec>`[46830] + Moved `Duration` to libcore.[46666] - Stabilized APIs + `Location::column` + `ptr::NonNull` - Misc + Rust by example is now shipped with new releases[46196] - Compatibility Notes: + Deprecated `net::lookup_host`.[47510] + `rustdoc` has switched to pulldown as the default markdown renderer.[47398] + The borrow checker was sometimes incorrectly permitting overlapping borrows around indexing operations (see [#47349][47349]). This has been fixed (which also enabled some correct code that used to cause errors (e.g. [#33903][33903] and [#46095][46095]). + Removed deprecated unstable attribute `#[simd]`.[47251]- Update to 1.24.1 + Do not abort when unwinding through FFI + Make the error index generator work again - Update Cargo to v0.25.0- Update to 1.24.0 - Language changes: + External `sysv64` ffi is now available. eg. `extern "sysv64" fn foo () {}` - Compiler changes: + rustc now uses 16 codegen units by default for release builds. For the fastest builds, utilize `codegen-units=1`. - Libraries: + `str::find::` now uses memchr. This should lead to a 10x improvement in performance in the majority of cases. + `time::{SystemTime, Instant}` now implement `Hash`. + impl `From` for `AtomicBool` + impl `From<{CString, &CStr}>` for `{Arc, Rc}` + impl `From<{OsString, &OsStr}>` for `{Arc, Rc}` + impl `From<{PathBuf, &Path}>` for `{Arc, Rc}` + float::from_bits now just uses transmute. This provides some optimisations from LLVM. + Copied `AsciiExt` methods onto `char` + Remove `T: Sized` requirement on `ptr::is_null()` + impl `From` for `{TryRecvError, RecvTimeoutError}` + Optimised `f32::{min, max}` to generate more efficient x86 assembly + `[u8]::contains` now uses memchr which provides a 3x speed improvement - Compatibility Notes: + Floating point types `Debug` impl now always prints a decimal point. + `Ipv6Addr` now rejects superfluous `::`'s in IPv6 addresses This is in accordance with IETF RFC 4291 §2.2. + Unwinding will no longer go past FFI boundaries, and will instead abort. + `Formatter::flags` method is now deprecated. The `sign_plus`, `sign_minus`, `alternate`, and `sign_aware_zero_pad` should be used instead. + Leading zeros in tuple struct members is now an error + `column!()` macro is one-based instead of zero-based + `fmt::Arguments` can no longer be shared across threads + Access to `#[repr(packed)]` struct fields is now unsafe + Cargo sets a different working directory for the compiler- add update-config-guess.patch to update config.* from GNU to support riscv64 without rpm patching it - as the patch also updates the checksums while rpm does not- Format with spec-cleaner - Use python3 to run the install/build script as python2 is being phased out - State exclusivearch for all of ix86 and then specify we build as i686 which is bit more obvious- Update Cargo to v0.24.0- Add "Requires: %{name} to derived packages to fix derived packages not being updated with rust (boo#1075883)- Update to 1.23.0 - Language changes: + Arbitrary `auto` traits are now permitted in trait objects.[45772] + rustc now uses subtyping on the left hand side of binary operations.[45435] Which should fix some confusing errors in some operations. - Compiler changes: + Enabled `TrapUnreachable` in LLVM which should mitigate the impact of undefined behaviour.[45920] + rustc now suggests renaming import if names clash.[45660] + Display errors/warnings correctly when there are zero-width or wide characters.[45711] + rustc now avoids unnecessary copies of arguments that are simple bindings[45380] This should improve memory usage on average by 5-10%. + Updated musl used to build musl rustc to 1.1.17[45393] - Library changes: + Allow a trailing comma in `assert_eq/ne` macro[45887] + Implement Hash for raw pointers to unsized types[45483] + impl `From<*mut T>` for `AtomicPtr`[45610] + impl `From` for `AtomicUsize/AtomicIsize`.[45610] + Removed the `T: Sync` requirement for `RwLock: Send`[45267] + Removed `T: Sized` requirement for `{<*const T>, <*mut T>}::as_ref` an `<*mut T>::as_mut`[44932] + Optimized `Thread::{park, unpark}` implementation[45524] + Improved `SliceExt::binary_search` performance.[45333] + impl `FromIterator<()>` for `()`[45379] + Copied `AsciiExt` trait methods to primitive types.[44042] Use of `AsciiExt` is now deprecated. - Misc changes: + Releases now ship with the Cargo book documentation.[45692] + rustdoc now prints rendering warnings on every run.[45324] + Release tarballs now come with rustfmt[45903] - Compatibility Notes: + Changes have been made to type equality to make it more correct, in rare cases this could break some code.[45853] [Tracking issue for further information[45852] + `char::escape_debug` now uses Unicode 10 over 9.[45571] + Upgraded Android SDK to 27, and NDK to r15c.[45580] This drops support for Android 9, the minimum supported version is Android 14. + Bumped the minimum LLVM to 3.9[45326]- Update to v1.22.1 - Update Cargo to fix an issue with macOS 10.13 "High Sierra"- Update to v1.22.0 - Language changes: + `non_snake_case` lint now allows extern no-mangle functions + Now accepts underscores in unicode escapes + `T op= &T` now works for numeric types. eg. `let mut x = 2; x += &8;` + types that impl `Drop` are now allowed in `const` and `static` types - Compiler changes: + rustc now defaults to having 16 codegen units at debug on supported platforms + rustc will no longer inline in codegen units when compiling for debug This should decrease compile times for debug builds. + strict memory alignment now enabled on ARMv6 + Remove support for the PNaCl target `le32-unknown-nacl` - Librarie changes + Allow atomic operations up to 32 bits on `armv5te_unknown_linux_gnueabi` + `Box` now impls `From>` + `std::mem::Discriminant` is now guaranteed to be `Send + Sync` + `fs::copy` now returns the length of the main stream on NTFS. + Properly detect overflow in `Instant += Duration`. + impl `Hasher` for `{&mut Hasher, Box}` + impl `fmt::Debug` for `SplitWhitespace`.][44303] + `Option` now impls `Try`. This allows for using `?` with `Option` types. - Misc + `libbacktrace` is now available on Apple platforms. + Stabilised the `compile_fail` attribute for code fences in doc-comments. This now lets you specify that a given code example will fail to compile. - Compatibility Notes + The minimum Android version that rustc can build for has been bumped to `4.0` from `2.3` + Allowing `T op= &T` for numeric types has broken some type inference cases - Remove rust-1.21.0-44203-exclude-compiler-rt-test.patch - Remove rust-1.21.0-44066-ppc64-struct-abi.patch - Remove rust-1.21.0-44440-s390x-global-align.patch- Large cleanup of both the spec and config.toml to correct many build issues for the new version- Add rust-1.21.0-44203-exclude-compiler-rt-test.patch - Add rust-1.21.0-44066-ppc64-struct-abi.patch - Add rust-1.21.0-44440-s390x-global-align.patch - Remove add-soname.patch- Update to 1.21.0 - Language changes: + You can now use static references for literals. + Relaxed path syntax. Optional `::` before `<` is now allowed in all contexts. - Compiler changes: + Upgraded jemalloc to 4.5.0[43911] + Enabled unwinding panics on Redox[43917] + Now runs LLVM in parallel during translation phase.[43506] - Librarie changes: + Generate builtin impls for `Clone` for all arrays and tuples that are `T: Clone`[43690] +`Stdin`, `Stdout`, and `Stderr` now implement `AsRawFd`.[43459] + `Rc` and `Arc` now implement `From<&[T]> where T: Clone`, `From`, `From`, `From> where T: ?Sized`, and `From>`.[42565] - Stabilized APIs +`std::mem::discriminant` - Update add-soname.patch to apply cleanly- Force enable rust bootstrap so that missing architectures build- set minimum cmake version- Update to version 1.20.0 - Remove x86 from build targets - Language + [Associated constants are now stabilised.][42809] + [A lot of macro bugs are now fixed.][42913] - Compiler + [Struct fields are now properly coerced to the expected field type.][42807] + [Enabled wasm LLVM backend][42571] WASM can now be built with the `wasm32-experimental-emscripten` target. + [Changed some of the error messages to be more helpful.][42033] + [Add support for RELRO(RELocation Read-Only) for platforms that support it.][43170] + [rustc now reports the total number of errors on compilation failure][43015] previously this was only the number of errors in the pass that failed. + [Expansion in rustc has been sped up 29x.][42533] + [added `msp430-none-elf` target.][43099] + [rustc will now suggest one-argument enum variant to fix type mismatch when applicable][43178] + [Fixes backtraces on Redox][43228] + [rustc now identifies different versions of same crate when absolute paths of different types match in an error message.][42826] - Libraries + [Relaxed Debug constraints on `{HashMap,BTreeMap}::{Keys,Values}`.][42854] + [Impl `PartialEq`, `Eq`, `PartialOrd`, `Ord`, `Debug`, `Hash` for unsized tuples.][43011] + [Impl `fmt::{Display, Debug}` for `Ref`, `RefMut`, `MutexGuard`, `RwLockReadGuard`, `RwLockWriteGuard`][42822] + [Impl `Clone` for `DefaultHasher`.][42799] + [Impl `Sync` for `SyncSender`.][42397] + [Impl `FromStr` for `char`][42271] + [Fixed how `{f32, f64}::{is_sign_negative, is_sign_positive}` handles NaN.][42431] + [allow messages in the `unimplemented!()` macro.][42155] ie. `unimplemented!("Waiting for 1.21 to be stable")` + [`pub(restricted)` is now supported in the `thread_local!` macro.][43185] + [Upgrade to Unicode 10.0.0][42999] + [Reimplemented `{f32, f64}::{min, max}` in Rust instead of using CMath.][42430] + [Skip the main thread's manual stack guard on Linux][43072] + [Iterator::nth for `ops::{Range, RangeFrom}` is now done in O(1) time][43077] + [`#[repr(align(N))]` attribute max number is now 2^31 + 1.][43097] This was previously 2^15. + [`{OsStr, Path}::Display` now avoids allocations where possible][42613] - Compatibility Notes + [Functions with `'static` in their return types will now not be as usable as if they were using lifetime parameters instead.][42417] + [The reimplementation of `{f32, f64}::is_sign_{negative, positive}` now takes the sign of NaN into account where previously didn't.][42430]- adjust build process and add package for Rust source - clean-up of useless provides - add rpmlintrc- Update to version 1.19 - Language updates: + [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506] For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`. + [Macro recursion limit increased to 1024 from 64.][41676] + [Added lint for detecting unused macros.][41907] + [`loop` can now return a value with `break`.][42016] [RFC 1624] For example: `let x = loop { break 7; };` + [C compatible `union`s are now available.][42068] [RFC 1444] They can only contain `Copy` types and cannot have a `Drop` implementation. Example: `union Foo { bar: u8, baz: usize }` + [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558] Example: `let foo: fn(u8) -> u8 = |v: u8| { v };` - Compiler updates: + [Add support for bootstrapping the Rust compiler toolchain on Android.][41370] + [Change `arm-linux-androideabi` to correspond to the `armeabi` official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI you should use `--target armv7-linux-androideabi`. + [Fixed ICE when removing a source file between compilation sessions.][41873] + [Minor optimisation of string operations.][42037] + [Compiler error message is now `aborting due to previous error(s)` instead of `aborting due to N previous errors`][42150] This was previously inaccurate and would only count certain kinds of errors. + [The compiler now supports Visual Studio 2017][42225] + [The compiler is now built against LLVM 4.0.1 by default][42948] + [Added a lot][42264] of [new error codes][42302] + [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows libraries with C Run-time Libraries(CRT) to be statically linked. + [Fixed various ARM codegen bugs][42740] - Librarie updates: + [`String` now implements `FromIterator>` and `Extend>`][41449] + [`Vec` now implements `From<&mut [T]>`][41530] + [`Box<[u8]>` now implements `From>`][41258] + [`SplitWhitespace` now implements `Clone`][41659] + [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now 1.5x faster][41764] + [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!` macros, but for printing to stderr. - Stabilized APIs + [`OsString::shrink_to_fit`] + [`cmp::Reverse`] + [`Command::envs`] + [`thread::ThreadId`] - Misc + [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the Windows Debugger. + [Rust will now release XZ compressed packages][rust-installer/57] + [rustup will now prefer to download rust packages with XZ compression][rustup/1100] over GZip packages. + [Added the ability to escape `#` in rust documentation][41785] By adding additional `#`'s ie. `##` is now `#` - Temporarily disable generation of compiler docs due to build issue- Change i586 build to produce i686 target instead of i586 so that x86 Firefox can be built with Rust.- Update to 1.18.0 -Language updates: + [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to make the item visible to just that module tree. Also accepts the keyword `crate` to make something public to the whole crate but not users of the library. Example: `pub(crate) mod utils;`. [RFC 1422]. + [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the `/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665]. + [Refactor of trait object type parsing][40043] Now `ty` in macros can accept types like `Write + Send`, trailing `+` are now supported in trait objects, and better error reporting for trait objects starting with `?Sized`. + [0e+10 is now a valid floating point literal][40589] + [Now warns if you bind a lifetime parameter to 'static][40734] + [Tuples, Enum variant fields, and structs with no `repr` attribute or with `#[repr(Rust)]` are reordered to minimize padding and produce a smaller representation in some cases.][40377] -Compiler updates + [rustc can now emit mir with `--emit mir`][39891] + [Improved LLVM IR for trivial functions][40367] + [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723] + [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation opportunities found through profiling + [Improved backtrace formatting when panicking][38165] - Library updates: + [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the iterator hasn't been advanced the original `Vec` is reassembled with no actual iteration or reallocation. + [Simplified HashMap Bucket interface][40561] provides performance improvements for iterating and cloning. + [Specialize Vec::from_elem to use calloc][40409] + [Fixed Race condition in fs::create_dir_all][39799] + [No longer caching stdio on Windows][40516] + [Optimized insertion sort in slice][40807] insertion sort in some cases 2.50%~ faster and in one case now 12.50% faster. + [Optimized `AtomicBool::fetch_nand`][41143] - Stabilized APIs: + [`Child::try_wait`] + [`HashMap::retain`] + [`HashSet::retain`] + [`PeekMut::pop`] + [`TcpStream::peek`] + [`UdpSocket::peek`] - Misc: + [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338] + [Added rust-winbg script for better debugging on Windows][39983] + [Rust now uses the official cross compiler for NetBSD][40612] + [rustdoc now accepts `#` at the start of files][40828] + [Fixed jemalloc support for musl][41168] - Compatibility Notes: + [Changes to how the `0` flag works in format!][40241] Padding zeroes are now always placed after the sign if it exists and before the digits. With the `#` flag the zeroes are placed after the prefix and before the digits. + [Due to the struct field optimisation][40377], using `transmute` on structs that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has always been undefined behavior, but is now more likely to break in practice. + [The refactor of trait object type parsing][40043] fixed a bug where `+` was receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as `&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send` + [Overlapping inherent `impl`s are now a hard error][40728] + [`PartialOrd` and `Ord` must agree on the ordering.][41270] + [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output `out.asm` and `out.ll` instead of only one of the filetypes. + [ calling a function that returns `Self` will no longer work][41805] when the size of `Self` cannot be statically determined. + [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805] this has caused a few regressions namely: + Changed the link order of local static/dynamic libraries (respecting the order on given rather than having the compiler reorder). + Changed how MinGW is linked, native code linked to dynamic libraries may require manually linking to the gcc support library (for the native code itself)- Adjustment of rust version dependency to prevent inability to build in the adi rings.- Add the cargo binaries for each arch, used for building rust only these are not shipped, and don't factor in to the final product.- Revert restriction of x86 arch to i586 for the interim.- Update to 1.17.0 - Language updates * [The compiler's `dead_code` lint now accounts for type aliases][38051]. * [Uninhabitable enums (those without any variants) no longer permit wildcard match patterns][38069] * [Clean up semantics of `self` in an import list][38313] * [`Self` may appear in `impl` headers][38920] * [`Self` may appear in struct expressions][39282] - Compiler updates * [`rustc` now supports `--emit=metadata`, which causes rustc to emit a `.rmeta` file containing only crate metadata][38571]. This can be used by tools like the Rust Language Service to perform metadata-only builds. * [Levenshtein based typo suggestions now work in most places, while previously they worked only for fields and sometimes for local variables][38927]. Together with the overhaul of "no resolution"/"unexpected resolution" errors (#[38154]) they result in large and systematic improvement in resolution diagnostics. * [Fix `transmute::` where `T` requires a bigger alignment than `U`][38670] * [rustc: use -Xlinker when specifying an rpath with ',' in it][38798] * [`rustc` no longer attempts to provide "consider using an explicit lifetime" suggestions][37057]. They were inaccurate. - Stabilized APIs * [`VecDeque::truncate`] * [`VecDeque::resize`] * [`String::insert_str`] * [`Duration::checked_add`] * [`Duration::checked_sub`] * [`Duration::checked_div`] * [`Duration::checked_mul`] * [`str::replacen`] * [`str::repeat`] * [`SocketAddr::is_ipv4`] * [`SocketAddr::is_ipv6`] * [`IpAddr::is_ipv4`] * [`IpAddr::is_ipv6`] * [`Vec::dedup_by`] * [`Vec::dedup_by_key`] * [`Result::unwrap_or_default`] * [`<*const T>::wrapping_offset`] * [`<*mut T>::wrapping_offset`] * `CommandExt::creation_flags` * [`File::set_permissions`] * [`String::split_off`] - Updates to libraries * [`[T]::binary_search` and `[T]::binary_search_by_key` now take their argument by `Borrow` parameter][37761] * [All public types in std implement `Debug`][38006] * [`IpAddr` implements `From` and `From`][38327] * [`Ipv6Addr` implements `From<[u16; 8]>`][38131] * [Ctrl-Z returns from `Stdin.read()` when reading from the console on Windows][38274] * [std: Fix partial writes in `LineWriter`][38062] * [std: Clamp max read/write sizes on Unix][38062] * [Use more specific panic message for `&str` slicing errors][38066] * [`TcpListener::set_only_v6` is deprecated][38304]. This functionality cannot be achieved in std currently. * [`writeln!`, like `println!`, now accepts a form with no string or formatting arguments, to just print a newline][38469] * [Implement `iter::Sum` and `iter::Product` for `Result`][38580] * [Reduce the size of static data in `std_unicode::tables`][38781] * [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`, `CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement `Display`][38909] * [`Duration` implements `Sum`][38712] * [`String` implements `ToSocketAddrs`][39048] - Misc * [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies the path to the Rust implementation][38589] * [The `armv7-linux-androideabi` target no longer enables NEON extensions, per Google's ABI guide][38413] * [The stock standard library can be compiled for Redox OS][38401] * [Rust has initial SPARC support][38726]. Tier 3. No builds available. * [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No builds available. * [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379] - Compatibility Notes * [Uninhabitable enums (those without any variants) no longer permit wildcard match patterns][38069] * In this release, references to uninhabited types can not be pattern-matched. This was accidentally allowed in 1.15. * [The compiler's `dead_code` lint now accounts for type aliases][38051]. * [Ctrl-Z returns from `Stdin.read()` when reading from the console on Windows][38274] * [Clean up semantics of `self` in an import list][38313] - Restrict x86 builds to i686 only. - Revert restriction on previous rust versions used for building- Change x86 build target from i586 to i686- Switch .spec to use rust-build compilation system - Update config.toml to reflect rust-build changes - Strict versioning for compilation so rustc always use previous stable compiler- Update to 1.16.0 - Language updates * Lifetimes in statics and consts default to `'static`. [RFC 1623] * [The compiler's `dead_code` lint now accounts for type aliases][38051]. * [Uninhabitable enums (those without any variants) no longer permit wildcard match patterns][38069] * [Clean up semantics of `self` in an import list][38313] * [`Self` may appear in `impl` headers][38920] * [`Self` may appear in struct expressions][39282] - Compiler updates * [`rustc` now supports `--emit=metadata`, which causes rustc to emit a `.rmeta` file containing only crate metadata][38571]. This can be used by tools like the Rust Language Service to perform metadata-only builds. * [Levenshtein based typo suggestions now work in most places, while previously they worked only for fields and sometimes for local variables][38927]. Together with the overhaul of "no resolution"/"unexpected resolution" errors (#[38154]) they result in large and systematic improvement in resolution diagnostics. * [Fix `transmute::` where `T` requires a bigger alignment than `U`][38670] * [rustc: use -Xlinker when specifying an rpath with ',' in it][38798] * [`rustc` no longer attempts to provide "consider using an explicit lifetime" suggestions][37057]. They were inaccurate. - Stabilized APIs * [`VecDeque::truncate`] * [`VecDeque::resize`] * [`String::insert_str`] * [`Duration::checked_add`] * [`Duration::checked_sub`] * [`Duration::checked_div`] * [`Duration::checked_mul`] * [`str::replacen`] * [`str::repeat`] * [`SocketAddr::is_ipv4`] * [`SocketAddr::is_ipv6`] * [`IpAddr::is_ipv4`] * [`IpAddr::is_ipv6`] * [`Vec::dedup_by`] * [`Vec::dedup_by_key`] * [`Result::unwrap_or_default`] * [`<*const T>::wrapping_offset`] * [`<*mut T>::wrapping_offset`] * `CommandExt::creation_flags` * [`File::set_permissions`] * [`String::split_off`] - Library updates * [`[T]::binary_search` and `[T]::binary_search_by_key` now take their argument by `Borrow` parameter][37761] * [All public types in std implement `Debug`][38006] * [`IpAddr` implements `From` and `From`][38327] * [`Ipv6Addr` implements `From<[u16; 8]>`][38131] * [Ctrl-Z returns from `Stdin.read()` when reading from the console on Windows][38274] * [std: Fix partial writes in `LineWriter`][38062] * [std: Clamp max read/write sizes on Unix][38062] * [Use more specific panic message for `&str` slicing errors][38066] * [`TcpListener::set_only_v6` is deprecated][38304]. This functionality cannot be achieved in std currently. * [`writeln!`, like `println!`, now accepts a form with no string or formatting arguments, to just print a newline][38469] * [Implement `iter::Sum` and `iter::Product` for `Result`][38580] * [Reduce the size of static data in `std_unicode::tables`][38781] * [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`, `CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement `Display`][38909] * [`Duration` implements `Sum`][38712] * [`String` implements `ToSocketAddrs`][39048] - Misc fixes * [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies the path to the Rust implementation][38589] * [The `armv7-linux-androideabi` target no longer enables NEON extensions, per Google's ABI guide][38413] * [The stock standard library can be compiled for Redox OS][38401] * [Rust has initial SPARC support][38726]. Tier 3. No builds available. * [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No builds available. * [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379] - Compatibility notes * [Uninhabitable enums (those without any variants) no longer permit wildcard match patterns][38069] * In this release, references to uninhabited types can not be pattern-matched. This was accidentally allowed in 1.15. * [The compiler's `dead_code` lint now accounts for type aliases][38051]. * [Ctrl-Z returns from `Stdin.read()` when reading from the console on Windows][38274] * [Clean up semantics of `self` in an import list][38313]- Remove duplicate license files from _docdir: rpm 4.13 no longer implicitly packages those files and we catch them using %license,- remove bootstrap for s390x as binaries are available in openSUSE:Factory:zSystems- Fixes to build for archs armv7, aarch64, ppc64, s390x- Update to 1.15.1 - Fix IntoIter::as_mut_slice's signature- Correct rust-triples use in spec.- Update to 1.15.0 - Language updates * Basic procedural macros allowing custom `#[derive]`, aka "macros 1.1", are stable. This allows popular code-generating crates like Serde and Diesel to work ergonomically. [RFC 1681]. * [Tuple structs may be empty. Unary and empty tuple structs may be instantiated with curly braces][36868]. Part of [RFC 1506]. * [A number of minor changes to name resolution have been activated][37127]. They add up to more consistent semantics, allowing for future evolution of Rust macros. Specified in [RFC 1560], see its section on ["changes"] for details of what is different. The breaking changes here have been transitioned through the [`legacy_imports`] lint since 1.14, with no known regressions. * [In `macro_rules`, `path` fragments can now be parsed as type parameter bounds][38279] * [`?Sized` can be used in `where` clauses][37791] * [There is now a limit on the size of monomorphized types and it can be modified with the `#![type_size_limit]` crate attribute, similarly to the `#![recursion_limit]` attribute][37789] - Compiler changes * [On Windows, the compiler will apply dllimport attributes when linking to extern functions][37973]. Additional attributes and flags can control which library kind is linked and its name. [RFC 1717]. * [Rust-ABI symbols are no longer exported from cdylibs][38117] * [The `--test` flag works with procedural macro crates][38107] * [Fix `extern "aapcs" fn` ABI][37814] * [The `-C no-stack-check` flag is deprecated][37636]. It does nothing. * [The `format!` expander recognizes incorrect `printf` and shell-style formatting directives and suggests the correct format][37613]. * [Only report one error for all unused imports in an import list][37456] - Compiler performance * [Avoid unnecessary `mk_ty` calls in `Ty::super_fold_with`][37705] * [Avoid more unnecessary `mk_ty` calls in `Ty::super_fold_with`][37979] * [Don't clone in `UnificationTable::probe`][37848] * [Remove `scope_auxiliary` to cut RSS by 10%][37764] * [Use small vectors in type walker][37760] * [Macro expansion performance was improved][37701] * [Change `HirVec>` to `HirVec` in `hir::Expr`][37642] * [Replace FNV with a faster hash function][37229] - For full change list, please see https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md- Adjust build so that aarch and ARM architectures use bootstrap for initial build- Fix provides/conflicts/obsoletes- Remove patch 0001-Fix-armv7-autodetection.patch + appears to have been fixed upstream. - Building armv7hl arch with bootstrap binary since previously packaged versions haven't successfully built in the past- Update to version 1.14.0 + Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html + Details: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22 - Release highlights: + support for RFC 1492. This small addition lets you use `..` in more places, for example when destructuring a struct or tuple + println!(), with no arguments, prints newline + Wrapping impls standard binary and unary operators on references, as well as the Sum and Product iterators, making references to these types easier to use + Implement From> for String and From> for Vec. These implementations make sense, but were not yet added. + Expand .zip() specialization to .map() and .cloned() for improved performance. + Implement RefUnwindSafe for atomic types, as these types are “unwind safe,” though that wasn’t obvious at first. + Specialize Vec::extend to Vec::extend_from_slice for performance gains. + Don’t reuse HashMap random seeds. This helps to mitigate one type of DDoS attack. + The internal memory layout of HashMap is more cache-friendly, for significant improvements in some operations + Impl Add<{str, Cow}> for Cow. We already support Add for other string types, so not having it on Cow is inconsistent.- Update to 1.13.0- Add conflicts to help avoid situations where previous versions or rustc-bootstrap may be installed- Update to 1.12.1 - Remove patches: + 0003-Disable-embedding-timestamp-information.patch - fixed by upstream + 0002-Add-armv6l-autodetection.patch - no-longer viable- Revert from v1.13 to v1.11 in preparation for alternative packaging.- Add 0001-Fix-armv7-autodetection.patch - Add 0002-Add-armv6l-autodetection.patch * fix armv6 and armv7 builds- Update to 1.11 + Add support for cdylib crate types - Remove merged patches: * 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch * 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch - Set DT_SONAME when building dylibs * Add add-soname.patch- Move to package named rust- Update to 1.10 + -C panic=abort flag for rustc or equivalent in Cargo.toml + new crate type cdylib, embeded library for other languages + In addition, a number of performance improvements landed in the compiler, and so did a number of usability improvements across the documentation, rustdoc itself, and various error messages. + This is the first release, which is guaranteed to be built by previous stable release of rustc - Packaging: + drop bootstrap mode and use rustc 1.9 + move documentation to versioned directory- Use smp_mflags for parallel building. Avoid sh invocation for simple ldconfig calls. Drop archaic %clean section. Drop filler words from summary.- Rename source package to rustc-1_9 to conform to naming standards.- Rename source package to rustc-190 to avoid unecessary rebuilds of rustc packages on upgrade- Move stage0 binaries into separate package - Disable embedding timestamp information - Add 0003-Disable-embedding-timestamp-information.patch- Rename package to rustc-stable - Add rpmlintrc - Make bootstrapping conditional- Fix misleading indentation errors on GCC 6.0 - Remove snap2.sh - Add 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch - Add 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch- Update to version 1.9.0 + Stabilization of std::panic + Deprecation warnings, #[deprecated] attribute + Compile time improvements + Rolling out use of specialization + Library stabilizations About 80 library functions and methods are now stable in 1. + http://blog.rust-lang.org/2016/05/26/Rust-1.9.html- Update to version 1.8.0: + Various “operator equals” operators, such as += and -=, are now overloadable via various traits. + Empty struct declaration can contain cutly braces + New (non default) cargo based build system for rustc + About 20 library functions and methods are now stable in 1.8- Update to version 1.7.0: + Many stabilized APIs + Improved library performance + BTreeSet and its iterators, Iter, IntoIter, and Range are covariant over their contained type. + LinkedList and its iterators, Iter and IntoIter are covariant over their contained type. + str::replace now accepts a Pattern, like other string searching methods. + Any is implemented for unsized types. + Hash is implemented for Duration. + Soundness fixes, may break code. See RFC 1214 for more information. + Several bugs in the compiler's visibility calculations were fixed. + Parsing "." as a float results in an error instead of 0. + Borrows of closure parameters may not outlive the closure.- Update to version 1.6.0: + Stabilization of libcore and other library functions + Crates.io disallows wildcards- Update to version 1.4.0: + Several changes have been made to fix type soundness and improve the behavior of associated types. See RFC 1214. Although we have mostly introduced these changes as warnings this release, to become errors next release, there are still some scenarios that will see immediate breakage. + The str::lines and BufRead::lines iterators treat \r\n as line breaks in addition to \n. + Loans of 'static lifetime extend to the end of a function. + str::parse no longer introduces avoidable rounding error when parsing floating point numbers. Together with earlier changes to float formatting/output, "round trips" like f.to_string().parse() now preserve the value of f exactly. Additionally, leading plus signs are now accepted.- Split the gdb support to rust-gdb subpackage- Update to version 1.3.0: + API stabilization, including the new Duration API and enhancements to Error and Hash/Hasher. + The substring matcher now uses a more efficient algorithm. + There were improvements to zero filling that speed up Vec::resize and Read::read_to_end. + The implementation of Read::read_to_end has been specialized for stdin and File, resulting in additional speedups. + The PartialEq implementation on slices is now much faster. - Packaging: renamed source package to rustc to match upstream- Update to version 1.2.0: + An across-the-board improvement to real-world compiler performance. Representative crates include hyper (compiles 1.16x faster), html5ever (1.62x faster), regex (1.32x faster) and rust-encoding (1.35x faster). You can explore some of this performance data at Nick Cameron’s preliminary tracking site, using dates 2015-05-15 to 2015-06-25. + Parallel codegen is now working, and produces a 33% speedup when bootstrapping on a 4 core machine. Parallel codegen is particularly useful for debug builds, since it prevents some optimizations; but it can also be used with optimizations as an effective -O1 flag. It can be activated by passing -C codegen-units=N to rustc, where N is the desired number of threads.- Update to version 1.1.0: + The std::fs module has been expanded to expand the set of functionality exposed: * DirEntry now supports optimizations like file_type and metadata which don't incur a syscall on some platforms. * A symlink_metadata function has been added. * The fs::Metadata structure now lowers to its OS counterpart, providing access to all underlying information. + The compiler now contains extended explanations of many errors. When an error with an explanation occurs the compiler suggests using the --explain flag to read the explanation. Error explanations are also available online. + Thanks to multiple improvements to type checking, as well as other work, the time to bootstrap the compiler decreased by 32%. - drop tar_scm service and use source urls- Update to version 1.0.0: + lint: deny transmuting from immutable to mutable, since it's undefined behavior + std: update select internals to not use mutable transmuting + std: Remove index notation on slice iterators + std: Destabilize io::BufStream + Make RwLock::try_write try to obtain a write lock + std: Remove addition on vectors for now + thread: right now you can't actually set those printers + Fix #24872, XSS in docs not found page. + Update AUTHORS.txt and RELEASES.md for 1.0 + std: Mark `mem::forget` as a safe function + core: impl AsRef<[u8]> for str + collections: impl AsRef<[u8]> for String + collections: change bounds of SliceConcatExt implementations to use Borrow instead of AsRef + Fix invalid references due to the automated string substitution + dropck: must assume `Box` has a destructor of interest.- Rename binary package to rust - Add build for i586 - Only run fdupes on SUSE builds - Changed version format - Update to version 1.0.0~beta4+git.1430848988.f873dc5: + Introduce a `FreeRegionMap` data structure. (#22779) + Fix #20616 + std: Fix inheriting standard handles on windows + Fix #24895. + Fix zero-normalization of the pos of a `MultiByteChar`. + lint for mixing `#[repr(C)]` with an impl of `Drop`. + Bump prerelease version to .4 + Add downcasting to std::error::Error- Format spec file- Update to version 1.0.0beta3+git.1429985089.5241bf9: + Update Windows caveats + Utilize if..let for get_mut doc-comment examples + Indicate keywords are code-like in Fuse::reset_fuse doc comment + doc: improve/fix 'let' FAQ + Fix broken links in the docs + Indicate None is code-like in doc comments + Fixed typo in hash_map::Entry documentation + Remove an unused import on windows- Version 1.0.0-beta3.rust-stdobs-arm-7 1625140753 1.43.11.43.1-lp152.3.8.21.43.1-lp152.3.8.21.43.1rustlibaarch64-unknown-linux-gnulibliballoc-34e90c719956c931.rliblibbacktrace-c8a9a21fe6fdc307.rliblibbacktrace_sys-8b4d356b0b25ae92.rliblibcfg_if-8b3a02259f8242e7.rliblibcompiler_builtins-88432d80edb6cd90.rliblibcore-353a10364bc915b8.rliblibgetopts-048a2cc3d6d92d3c.rliblibhashbrown-c79725252521508f.rlibliblibc-b3f0904dbbfe4aa3.rliblibpanic_abort-29809cb1d3128ea1.rliblibpanic_unwind-f2ab34ead903fd71.rliblibproc_macro-3be3a450fad3f2ea.rliblibrustc_demangle-843d89f425b3f124.rliblibrustc_std_workspace_alloc-14a6756bfe5c4921.rliblibrustc_std_workspace_core-11b5f482a527ee52.rliblibrustc_std_workspace_std-b7e21841fa46869f.rliblibstd-5e4f2b57b15178dc.rliblibterm-e4096408437394cf.rliblibtest-e2c483e0f5073bac.rliblibunicode_width-95479a714adee5fc.rliblibunwind-4a5cf75c10383065.rlib/usr/lib//usr/lib/rustlib//usr/lib/rustlib/aarch64-unknown-linux-gnu//usr/lib/rustlib/aarch64-unknown-linux-gnu/lib/-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:16531/openSUSE_Leap_15.2_Update_ports/eab3d80fae604c2cd07b78c7b499475e-rust.openSUSE_Leap_15.2_Updatedrpmxz5aarch64-suse-linuxdirectorycurrent ar archiveTnf{uutf-8bcf19e81609704529949553562e891abcde442d1f385f3b012d6fed8942f4e53?7zXZ !t/ ]"k%偐yr38e3{et]jf$Mkw⟽Mq0ķC'pQmg"htV꠭WhM`H$7`wˆ>mܲMwsuiw{?;ZR=R ~"5)Ia TrN%Z=mLOTq_~ b>yujH-/.Zju t,(Rq"KgySx~RMh+$Ɏ ;w_o;H/پRߖc=K×` a] 0mKff^~lQ/lbY|wrMu6 V.yu=E++cEvY@MZ9~:7O DkSC~YP{%,HЂ)Gqr&/8z8^hY{5}E\:mV_K%O*@O~hfGV[>ݪ^"Hblo \73)ĚLǴ, Cvx'^YIz K|Au+fƔZ!!D1b+șv4Я&Rs,hoϦ顸 -97fvl]9'`y;7d(`9<P,GR+Ξ߽xmLyDY|*^=+q5"&Ovϓe7pcدt,%M\2moȄߛ@."lRf+d F^oe³iTCO IThhgʤC)*8ey[=ZaDž [>I] xove7 !ЎFI"^fE.G,3vnY-IqZY,,W2) '6hq6W͟@3uBuqvR?2=T;ĚBIb%r8 :TPVEըBdbX:=.x "zQ9QDC>ףQ{q;,=ZA-)!$qQ0\#%6X937W) ܖ_=3ޖ1 9zA&LkU~v!Z`_P۾{42\yXOW0ev*evzC-bVEV-Oaj1/8vbFqzF 轁'R|mb`' \7Yf@ղu;'Z@[{4 H /dlme#rH`W MI{ ^a\E~)up?¤=ImsԜvrϵ:Ń(P<ȿכe}$@'ykHtڹ'dei_\lDn{e1 Q3_IXz'mqc PTeizFW7tP3I;n6kDK/G>p= V৵. 1DA~yǏ7eo^ܚg>Ӫs f5y:E+"q]0cdcޙiI^~FRLo3X"ʪnŲ }ĂA}X1mE6A$΀j MO9fpIznKD.Sv P~ ע̵=U.P/C.W1R[F I07mt"*B@ɺ{@vF4o3-#%qZ\SX/JM=)),;0E%ezPep3FXpIG3gIo'ntRfLȤu@/:$?O.<[0\@Qԉ-W?(A\6V d]G?fgycJe~ -+QwVb6>XBt{x|[!%p=}3A=#|R)\]4t=2%d`[ B-œF"wd&$/13K_,3SG[4'Ew䕱H?dխ٨r#k5ռ1?m0)*,n\q<{ܡ=ڨ=Q uwwH;SVzlm,"蝆])~XՒ=**C,qQ=M.ConV/ǮJV, cyxK"H)J?WZ6& tsϴt޷x6;lhp°x:>Ive00篙ȫ-Ѻ/h %/z]Ev1 ;޻!@Qqw^NշQjFQjq!#(\p{ 1UO[ĭ 4Xl 28Ry@IY5G/!蚬XZqrD(D8z)~?Z.dă$G VmɎ 98!mi !T#/p'I,ME5{yU}'!* vOM E"doqm~ϫEZ՚P.sVbO5$i,S}?n2F!m'˸U Ky]e2l neQQUd5M8s7/ 4ECK|<_miC-Z"k:. )~SܧPO[ ٬cDBWK@8c^&U#,4^+f0Yw4D_{AHyJ(v 9LN(k܍`vݽKMv'SSlL2^Mp.sPhFzVK4l.E֏_3wS,.rHjn+JE(wnVG%AhMiZV!Ta\M!^iK/,gng݈C. ISG;ԛ|߾-b..h%RM7[r۾qL7)}d#迴'#B!R'c貯IoV m!_2[ ə1-8ـz%~1uI\_M ֊צ5~$F!;+H @?| sϡh _ %aVK}b]#S_P:Lcv3M }jf#sPEdj3|-; vGQ=cMH4tkJ JuTa1aR\yo?ivܲ( >G>$ ۾)h D1uUaTnQR1fye8`%ο_l6s%Xqs Dz(:+"mUWGC\T/w_WBԜa#@\q]IaA#ʂKph!DhQ^(4p!;3[FpW)ߏC%s~e*Op¸x 9"<\N5w]|jІTkVE/iVnQs:(ч[vd>1@WFeBszeed^UjP麋䄾+Xݼߵ ULoh# |>#!l[?#*s^J2ѷW<]DhnCI{i`4xf۔!5 F.q0\3 6&rsZ 2?.!k0hJ2(UA<@RR,TorYZ|!=v&VHNHN34snAcD$Dʇ ސ~v]x(H?h}CkI2&ve5HiۯV@W L|R|rP{?$=Bstp7qeŽ) ?I.M՜%)p0t u8]Mՠ8%s@~? ,`6^Ƌc0G<("έ\8H=)և'> }d?+蛴Wqp}}O3rq=6~ۅrjw]ls#0L:;E ؠ^[*Ci,y2Xm{F5QI$ aiVLrNgP;*:RoWB#wڨX\4->/:4zՁ!x ?i8L$~͝]`N?0sᩊ N 3Ad7-}>b##0-觡BupK퇕;W4 =2%(Yci{uENۨ!m[XKJl-D28kCm;ÍbLZ &0mEc [b7hOSӣy2Ԑ8F\7u^k]Yڤ͏քv Hu%(9 ԵE˗vɔǧfYA`AZ?lf{Ho1CPuxd;>1^L/bCmf@9.EHtc+@ŒҺ5]!`SU,LQM׋O .hC3։Uwk۸# RjO]ci³Ur683 `$;FnsD;Cp#s8+j^ k DA`<|9ӉiOVQOD- [Axub2ҨYu_ߣHVAa 6JD{N|ҝiHS?+¤*M9 VyvY̬>jM N"?2ܴQhG%bEiϭM]`*%%+^ѿO&x/N0V;@BzۑR4vsK"r[Z4WtW"8} >u3qT6UKuGJX//J4.xEp',b6j"'ZJD6$ޮ%b&)Q@(3Y|DGY102K*"#4HN@(l*lF3}ͷKjAX.䶀cQTYYFK" J}q9Q.?vhݨe=^+asqf=jad.`kq,HdoNɗxNHȅ׎7;ӧtĔ_mmĢɷז 47>fN.KD0fyo㰺bNO*~)m)֪:5KN aM2DK+hW2dc;vcV9 pP>Ҕ~=TɿuO5ObO:zVOQ#1jyܯ^>p;t%MVC}%;p׀6{HAwyTk-H ĔBÃ~d!=AvN0$"v rFtډ1?o KL7B *)cvbCM^ɽv!SXȍUMZkiWR2R*si>q\9 #c2]gϭo~B[Ft((7q쀾*WqR5*t}NPrr0Χ̼Plg,XkccXˁoT.ZUR'Ww_5ʛ:sAA4$^,lpX* &ldNՄs+ "q5N|z + *PaX,avB%>!|zo PSz\q_Ҭ & `/ P!,9qJk#hdFH!q|YňZ^Z4߰jZj;rlɭ ɏB`Sa3nmDOLjy=; :n~ɮ^Zjr{Amu}Om^OaM&bSINJ 40f9`C9u&A5Aw)ռ(fUPAܾZЦCV -~i9aUHj#Է*~>O vqeĨ16-ܖ26$ۓ@^+wKb}bJZZ؃xZX5S.ѢK5 Ek8)9T%"z ,^]V~T5.ꬰ VGuPqyO.| ch̺:>p)4^G2OK1-%]wsioޣ-]_1Ixk!'21| qIz^If̰ (좹!m vIWݨRPCx؇]!5yRWܡVvFVAn)joJQ9r[|4h:]w:wQfB_fʉiO@๩48s3Tj-5T>TܼlBtQ"h&%4D0É 9W(Boڳ9 OǼb2oA&t e\-"yaI1h wقE1˵AS.J0s𡍞bwqO+NWLiiSA@XYD&<[r"^ģZGUe E";9™|GnkFϦ~Pq*s0m캏ri, )vr+Kq(k1q&jgNK]fo'!)!ZahWò4 ֙ڑm͏")!NS Bq+//l@(hrݔaouǬ rs&SWB aNaAaꡁ^>p\vRø^U2*ݭ)9V[Z'͔e`(T}%6z~h9|)~׸{Nw#:y;P;iNc`FoFF_XhF %ڕЭc*Ku.y:&>)X_4-?VHl=so7WUV4tԶsgݺ{ݫfUL\#/e['#=z۴ y* 2kD!6ni byɏ;[NM1+-INӮZvщ*aJ1.NT&<_t:qG<%T<4 ûԹqs[qﶭə:bCҥmPsd%~^Soֽ!XygqnBgNCbCPh:P3, x[넬M<~6q :?9PJI!._3v [ xAOax=) O믤,tRD w:WwnG&LNK? no<~͒~oHJqO3brqb!Q['\gƹ(Ĺ̲_BB,PPL遟(%f :LХ:!GqrIҘJj]fKd ܪK&`% [NR wƕiHvoshmJ뷞lPi+A[L2rו=j6:"&NJi*̃\jU5t$;w[vNDždI`3<ۺd?gmYqX`|0{ׇpn咲lԖ7\>ٜ́@thnodSe}W1DSZD}|U+[1Lߠu؆&kX 5\QX~E6WϢ].a&%%R LwMJ]؀o0y4^Mnf,LdWeGZ? `]gs.fb#pAreAn,a ~}1p奟06`EdKn 8Y N.%f'&9TQ85@{ҽVQ%Z,GS#4X^U#3cxL9ek.vr'\z@&71?@4Z1*53xoMAu+D'$fBU,u3{FD;"4TwW)i} 1 =Z|!^R8MK]G,j5@G{LP#Bx'@3%ZSC8=G]Z:Y^OT!ēzG((w4l6^U䅌 o8qclN8;Bg=h @eѓ>_ʐh8GX0H'wa.Cd>GU/$pA\{٭!صy CיlJ[Km `ܪH2OO 冎8?8ɾ0nw!kȷ%\)u܌#ce `o9 ڶR7qiy |Ӎtcc2a@CRG`Fn0yo@+D:SMGY^oE",)?H$K~?tx0)0a*Ņ}u9oLh)L-nFQn!#uS\;F˫8jF1AZm4a(t$J)^[&$ve}\vaf;F2n?b?dpD+\XVq!J9I΋3I̅-;>p"Ȫ6H^%_De2Cw1}**Y>Ʃ .D( [vd7qE*ӓ1: 6h5D7W;-}h%҈ל)]PH- L)S3 Kn) g$9L…&bTL!(Yáȉ#jޫM2/KQ3]CLEH鄢[1<'.P-y,t~^7)?Q}PDPFòl4U"e!*DIsH:ƻײVKX`gUKn)WD:MqoE:Gɫ-k cU1 ܨ]P-yvBٌEQڍc-#}P"tZ*cbKa/[>ag?vĄMVʳvl>l.RxO^:vA[c0'w)mwjGSNs Kֺ+KFX̠xO(?٩1":J“P¯snX~eRXSY|<0iށI16Ǻn$,_o GZ98=!M&}K %eR&MӵO9b>Z`CvnfHϜA~鞇ˇE'SFa)aF&O0jUjX.տ&fAVc|8 4]i^M~Qw[w&ԂqGPI22jUMB )Pn$f@jX:qm2 OcCj,eZkڅ-G71~28%@:>!J遫iLٰ3U]`] (.?o!5/-t˹GW)es|D: k՚vd0ZתM҉4a~@ UԴ whrV݋87#{ƒDCֹz~ W5:`흭L6e:_kc7#iz9pj`8| D[Edޘ-jN;.16#sl&-w.c $3rD 0Nt&tM絑R]Zh UI؂hzyU)@ӈ`c]tl? 0/V8e%Cؤ4q}s&+\ L'?@A-Jecb%8t`S >5޲(r緉|5v1r)71>}^D~<6\ߜXaj"Psڨf2W̓3𻳬j];g7%l*]`[Sk:"d\Fe{+ "Tc|pY-qoгǓ^]9\)F÷z 2M]dI a ]gA91WW-̓z 1ݓ#? UֹRZUlH0[l #1wƗCܣ: %m FRd1a-o(\ 6*2wH*-Ю3h+F S_R @_B1ƙ}HVET\awO-z ] թeso< fxq'a۪N`O#Z9]u\ N!]xGevF@SjOU98|*2m=+uU6^+a-kɪAbl%4ĝ,iX6~rS9ORN lb~@c[x_ tf2Nir, ɚċ4:N)*_ɕ: op_/fjrO$!]wgp=w9s׀9-8%p)%Y1 6ü6u¹38N=dYH-`$@-mI9f IX wl>Z>rtÜd-S 8 #X^SO9ACgx;>^:LKJk!`꟣B܎!-cu/76ƺJ_ @)yի5D?Dv{޲x|d7}aZ4[y)CͿ 'LiZv\S)d6b#A&hff;x+@$%($d -mn-o):.12FH ;AhŖm2wxz:'`Yɾf x` -@0QYhV$À8ZS\ʅ, 5r-6ذ |tB(-tO&*3Ze>eN*âV[Zf]'cideEvXL`/vs=yL7O,a?k k=ɝZ1SjW܀!ԏjЭk> K Kmn/JpImiGmTQ5,p!د,ETteU;Xh \~\ge-蒬EY XH$ovbBi:!Fsz}209wPfM-ПgAtEt4q2gEpI+X\zۢgz8qPv`vN=g7lY)7OC4DfZqP0"(]:27""қ cEvl;UΘLx^,4^"Ntnf-S)͹,0\-`9f WN'S}'\2 \’ڔX7 ?@u/ƃڥTn0י@/Wwe +~n!Ў?µ1j{EBv,e?ЍBw_kTENbIG[ =v7N\Q)t b"(ٛH]FTMK5l*#ZybM1KP[ jBHXۘ7gSXf,@ЯxRV-d{ Æ] ]绌TN3|TfױSyaFBjn )~cRB.wGj@W/!:It/ƙOz/@ʍנgG4T 9l:9ղafG#/\3x7^LHtO.N@PYV|̢Ar&e6YOueZp;HLuD!, 9eCImczU3lNƿs1|Xө\+Q)q_Li 4EHhv/Y' W/r\)M`A Jo7籘řn3%4ձr" OAk3g&M2Iw\)`>/<)Gw? Yᙥc"1i*omw}ൔX_-gRz~c9(k4ᤁ[fX׭7*NѶٞ} eAIѽ H=_+BoT֘ wEwdEǫ*Tr3Bz cwi [n`d2XCm; :>'/.-d{WTbHGR#Oz[,2zZ+.`J *Zkd(DoII*nqg?YrvSA!SH'떤p5>`GkX*_xzً<| PkTERcĩRN" __xu4 Ɨ'Kfw9lqk$DݡAsY.-;^dt^?ǂTif &ʜḬ3<>Λ0f``𩒡k_qj:Yvߑ]ȡc5c<$E.@WNڎyì>;ڽUz~ +|Hw#ΰb^XtݛMp<ޥf%F^JPjqMU6Kz4da+%U8lOrIު{I&7HS$|2a9,}`J04Nٕф2e+\ kf FBߞrd*U;+ A} R-$5ͽ`q:C FH-!=6Tyaƒ3C*5C;~"`iZٺSS;4?#hz[>,"d@{-oޜcGX˧F$1Jk\iNJڇ,5NEWlxbf$]D_)`K(lc"tބWƀA',Es$PjmR=p#1{ fNۧYheK8kXewѷHѸrKގ%Dj_}n:թE$H'ĘsW3M {F{(*eU8٤[qږ\åՋ2; H򉯠}k<3zQgu-HHYddk6rvɱǂ.GfDd ߒoǕ^P#Nxc7B9,(<SM!{Ǒ̧)6 fȖIi#b,vϴv)(k@`ƶD&h̨6@biW+*A{gwӋa)BtQBoĢ V0;jдAYBiha;ތqJ>?8V~:/ 8Z)NzaV cBoi8Ӏ? ^Y"?9P,m1o[!|ʞ(,U#޷nBZ9QnCvaw6$AYm޿HwfHbQD!iff̧RR8v3S}Ơk}@vtyp&+Jm.늧O<"({iuM3U)9Fj*m:D(w^THB)/& m7$z(- EBb~X{g.gg<i6. O)TM 5Q7EJ95E^Iw)s߫,M+p+ :-#8\!-wmV3 @E܃#^cillxȄT 8JJ+G̓/|wժr#kȓ薞}eQ`'9~yeWs laͳpG:@ OZw}`[h۹uN}iHV:GjK) k3)ۻ!O v3- Irj-1- }[zTMF ܽϟ_㿬:O+u C+O_~dX-EO,w+ TJ_1HOF-z^AG(Xg'j=$}9U'6l(/ 3 44aK)^>LDTPqY`:yŢ6dCÓ{i.<ݙ6_`PSG @6@9.s9K8f// D?.ӌw/4[,-n*ArF&.:r%6[MJ]W h_&9tNcf^3Ҡ?FplXӲy6(#8IEB0X]j<{p chvf`r}K\v4HRz[a{=8Jdht:FHd5Y02=Y1\%~O񢞌^)>:kb^WqM]:4l\ObfG' wjϪ$W ܈?RF+3A`ghYEJ)Sj*xN- y{iYl1qʮ[xO%MyTٻ{-3yוi;+9>[ʭ0/J?aodFAM~(JB+j[YF .ɴ\ ^$+_(lJtpnЋj"@񖙒PƞY))| yŲI0 Cmw2'Jo1O~vby;"/tI $70O]HuX]J+#zE 0f0o0Йj 3;E{x%@WlF-ɞGralVPFJJRQ"ֵfH oBĺZՇ!G6d>}yoI[u8Ki02Ĥlћ;z#PgpW ;4^-ŋ>Wf?)D%B t] KtU֢K0d\,/i(&͌t{Ռd)qPOK`;TFffdC&:n Ii Y "y< jHM6xQ_z [C&^,蚌# !nScO. T~Heb| ѣG È;d8<&e4O ۮ|ZKL ~2cn9/KM 3 VH:z:p-yC;4zl!0z)K ^22NO ź:İ's"Lh0 YPd#^k4Q\{+4hWw}d̲iK?v6'zρr]`8P4}2π ČQpU> lWwi$= RnK }{?-+9@|lxb.^߇D/[l.ܣsЙ!BUgtD+U5l&2| nR%B_mG`$3o^2ݬx\ү-_Nϭs@@ɑ0)U0R7aٳl%- ſ,&=^m "WL7$ت#2[/sx1Ü i338jm؄"Jk mAP 8и?v1G.vZѿzϭ ⿊N{8:Uob.Ȇۿܞ~=L28'ad@|c`V"!)R]a?5xaP% 7NH[#z(+ T.-ڨ.׼}=O B0~bq"[>/&:偘K^{+Zsog?1G$ ᛸ}“"0q6AʧYsfU t(K#[99^6tMoP]}Rݥ .C@Qk7q. hpC0;ȡ(0,&&ke^::oh 5`4$D8a/,Rtc~~Ӄř*^p#hɰ)ΘSy؆2&n;XN@~Дޫ+Zʣ=||j𙸄XE9 ֓5Gڴwjb`WF(Ϩ'JaF\}}2pk?kf[y!cH 4 `f +>4U0 n$#mp ޷PJKGmprEŇYwNg/M֪ȩu+;|+YIKغٰL\ʮ*~!>rMc@RǐyLe%,H(N~= i:jP 7 Y7Q*3o&yV__/0=X͹yͻO0ǟ|Y`  rl~ z6E+V"2oo5L1*)fH.<%/%dn=h)ܢtCW_2Q sA\0K7h$$R1ɋTx#ӒB+2D#ߌ%u`/͊fmmFA"dxJM30%hDv9qg2]܇C{LEZ\Ƌ+M@|9tNJ28}}8ʊo^_9S*츳.CO(H&\SH,X`6y(dwLqpP Wk|I1 H5O{l`\-RTBZZSheO_ug[0@' Sn AzׯZڴ| $sl{)R(=z#ZM>HOCLLҕ,@R'aYW f57ޛש_I7j }|5cX9| Q+QY"\C-erJW1t`~y6:]̀%4[=Sh*kA_hmaaʖn;EcmLč/@9>UX83bvVlp6cɊ?MKwg2ޓne?k /HCSGYk^g^5V?Z4yyin=L8qWK9LW2@<@A(a" !!5UzBψC/%+.I`}f6p~ E_MD]w4G7Z7!pyhBp-Gt6VnѾ2 ;2P,2N.+]An}7nSN0ip4rrm0M!Q9~0]8SUzcrRH5dF (1xOH+z]n(6BxeD ֔ T/<4֢to*ת#vu8w +%Se-R8,2OZl,ɬwz] vdO֌xS ̷S"(=Y)ÁA{ U^0HWU.:w- X0=vӦy%q9P7AaijJ"g]J+zy9*U?uVOZii+e` .1y,!t_- xWY.k^PB CHY.4viCܫ3 ]C_㨥v#ŎKNQXDŽC'q2)C2l%VYzZj{߿ $=|t;S2Ly=+X٥%]1$?g@Y mk[A2w}M qd>3NV6;rUZ^Q;5̞lv޻RҲ| `P k؛cذpgz|^ FRֹFD<6pC(|Pw^׋qҍ9Q-wE "g"qf5s֧L ?y@*G46f52MV@f_/""\jC%񥿩[^?(|Po|2r:V-m)O溁'ĮIFA=oؓU[\X-BgrOJdFzACy=2՝v@qiAhO"1lO@;jЯAvI@d.Y {3(1% X߮h8AyI ^ ߂MP\vOxЏw%ٓc#3, ͚y@L[,igeGx` 9yl|X|S.)v@.ɰp8WlO>|p=H, _$> L(+_պd@- w@t'YȌrI{)fG 9X,^ M#”#q_Vh1a@+4hk9ꏮr1uw +T\e$.۟-j#hDU]S󤀞*t*3pҁ_K7y27౪>Qa ^j-K[mxƫՉ-38/VIR›4EO\ | nH+3w9ШL?3AѽQQDvֲI[+RFiIxtpJ r֦cBNd]*bbj J:yZw- qY{,GWk/)XWļ*ߋlwۓ֚|!<ѯ7/s1|I.Ni*GӤ/YğHntuIBX(RNr[LaE(fk[.7x@EeH܈e![F$ȏ[񈱤_pceiw@jcCJ8ِ(&Ni&]\,KkDU)h3v(!})}mQᕹF_^{Æ\_;#S-LfiCId`Pd1/P%2Odv!7W3ȴ V+g -ƽ[rFM{nC/0?Ҙ)DL@l;g`FK;O ˀ*.w@zMߔ6B+T=F!FjbjS%ӠqH7z?2G|TzmJsd?V֕v8UeUl0pT/mk0 8ƱFP[r_Z1Ҕnp )<BFM}YmVjT8uS= l&Tt > YJ*ϛw23Fq;,EPPm+EB3' ޻qMXdFU# [pTCSc( ,7{P1H߿Q=?h-1/kCO/HJL98qCYU`ۡ(ngP)`B: @Ӭs$NmG+4˱Z43nFYtk_.ۈ NX:\Rn)0n@u ,_ݠ?`E#v]ʨ~6C-^"|uE(4,š0p < N@ng"myC[Ԕ3v?!eߜ[bVEuJ6 ;?1Ak&E3/H3WG-8$>r*d\7`Z1mj۹MA;)v5"OWRڕj4^;m)j}`>4wXTwci7}/WIVq\AGo˿&p=Pۻ&T._3Pܠы킂?D v4 h40).\P w(ۛ~z8+-Rd,/ta.l{0lW,yjApZB`!m#sk35S:IݧmE%gcgT:R^ da!HᜈPⵄw/ën񇄦gUQӿU²gq)Eu|a]$<ҳ{NkBA,dx{⡭)c+:l+@)La;5" \%9%<88%vu>Us"]p{tNi+\~CqMׇ<6HSf~ի<@A@+Ts`#Z eʊԶ $}L'fQ&iûFRwl=aɐD[SUYHUt'Sq^!$vmԦhϼ<8Q5'k< ..祂!*KٶM+yc7L95YF+{\aKrM+k6KKkOmz kQ(#C;bѩxTq٦tҒ 0yɠz(f;ֳ3L{Uf3NK{N:F }ߵxLiVm{" qG7 v<X%q\IbWnVknk z8[FMA(P[SB yx;'Ntw_ˁA ЋSo&WvQx-@4+(/n.]D&M58g@mduɅ?s7oJ׫1O5qmv[g":,{.OkMh!l.irQje4̓]Θ4 &кw6sWD{zbmTwT!5y0f9Gjo'e'>ܵ%3* ~;6Q]=N`Px*`Q=k /g0Urᰕ¡=iؗxP{g[<'rJFk<2P*TǘHZݚ,um'Cyr;BZ՜QP ;5A)! xA/+h,AWB'On ?q)#L1e.ȼ|ENEM?wZPږr?DL5rWR{ױ;p)Gr44%Г'K&IeNhpet4\̢[ZgOmrk1Sg@dz`$yL0W+qO7;FzC\foEInߡH׌ NX_W$à  Dw[=ST@=Y ŃN9) -R8XT6Y'(3\H@$5E"\Q(*S>ka0j ; rUvҘ—V=IIEoƷ\X|qu_=ciZ6:wI'Bo"̑oY\-XLjC*u8<U@8o~糧]a$r."s-1 tr="vCT8l&[tb6Bı#k; (Mg$F$uD/,xJ"41.a\@nq߄n}pt c)Yʏin I:٫x+ f e[GK ž-NS?瀁\jB*aJ9Z\ \RR Z^r(OPj.ž8PQn=-v hiZeEWV=E~!KzrSԝb;g!*[)-1:#|&r>`^y!4~ϻ7җ@R؍+CBB eC tYphIZdTѶt&R3vCp7x'/$jtU:)nF+ք@rX$tx[(>Hm'sA'?Wv}gHAKVϲ袷\NnG)79^"Rz<|#OrŨ:7'껧'=/-;䔦< iwl( $6DS=~Xf#=y'u/8t(@1~&Y}ضfi[8q!C پ%Ź5|*ZAlNUC$XvfQ_ Oc4Q~%([v=CPjL*/hpʟj;{\Ђckκ]}d%r:B:o&j AkCR4~J= k6+}x \c :G(xTGn9Ôr}ѝl_F F!>s,B-%ծ'ikF{E&@?{$qG)~Q[i||;~#)$UfBaD!i\G p!H)u: xmC5s +Dz׹Ű',nK]_癢F;оwKM؟_0eNH16k= M±ٻ Pٹ# _NA4sED4}߀H >(|ԌNd;y^Fv,'/CUa=GOfX׾8 $lXňtgo &?]&:Ap;9sII"GȄe\ZBR <8og2%3$96dt/*z΁BaݴUV. k=~^͋\ )TʹXL[;>d( Yàsk)&3cfhFJ`aķfm,#In[70#ȮuF'p\}Bnׅ"ҟ{la KUl﹁pڝYte}WǛtm1+{Lvy\۾8p0l/lKy='6_BJ, f uͶP%9D,z31arՃ󝾺W\m7דA$U[E.fBOkc'P-d(LA̐ܫ~LwAEY+Yx1(\!ZK~'˛^ߙ4J;/cmY'xhy?/=?r#, /@\g8[I:mA|6Cs􃍍4nT?]/ZL!K%X4vg)J-$2˷j\&v!{ٿb`DʲUi e(wٴM.^t[)0nէWھʁ}NV̤rybիe [1@2v(č e'6F-ȸB"X.h}@vXLljN9PD+D}%&&+zP<(^gM@ηQh^ʗ$yyiPp9?JzBK#ņ:ü8^*4W4g4[<v%~ѓXxo9A݇:&"ApI=iOqzګG8]E@>T^.O!ّM8\`+)QTV5` U>WkLz56nf^J!y\~@N>1{# vu} ;z[Zmv#ULvUS4K Xp{e`dAqSd&֙Gh0XGˆrFFUyd5dcyMܠ %m*r0)SfDp!}Hˠۼ@֖yqy{zʥyHQd<)8gLAMg&3YfX>p(a{5.^VƖ<-oY!=cj](';w7B\y0Cn MK?vM/aJHυ e NE MmJ[5G$(7M.ggs_̸$ &KffLdoNII'h#uC#1\*69<,nhĢxwkK  0;-;.G\rEѝThU2XرS^H]Bx#l ,n#:!, PB Q^E*AfFvk_aIk=tN}:?wZexCChgXv(I@+zB`Ť\O(i36't}5g i> c"h~V wUez@Pҕ'9leg KP} (GF1AnqqUzAn?̠i7]ݹ;ͦÖx{"\Z:Y8&=ƆiMȂR48)F]G\4SH2BeL ׷6S1 ܊')6ꙟbGbDd#cWY&K|gBHCߔ*4́iD_/ D,r;0Ƴ$C$UѻvY"|G ]?XǚեHEmd?yaz<yg$iM~ust¹mìbH9{>$5G_!r"5{K_]ԚL=N4st'-,b2d{xS⛜ 5Rs =,i$~0؁mΥص AY)/^:݄حSb uxY=tby)4=KM kcA4a&KWeGiɰx|w_A܁@a0B^R`uE+tf{oZ 狤AJ.Kua*u~Z`B>]fcFW/Ļ>srG=P:^ֹk\ !e+)<VwTMog!cj-,q pS@q 6%%_GU=?tBrx''(yklcޜD ${bØ(]2:7XrŘR.Tp…&&3U$.0FwȅŠ bE#Y(ׯyTz5D(a秎L0هb+(Uf$"}LTH^[+ :s`c0g)}9ے&Ulե}m  M/~p&f^6;6)-ҎŴEs!rT%>^+W",Q8t7y[ځrC2upcV(.0<= 7)-.|Oߜ7,k~| @Tm(D |h9ʐ0 @]M2l(HeՄaH?qQ//&]>C:ԍ>fIx[ ꐞz^BHzđw!Ni~bGwdST剾 ##(P<fP ֠IyT7 xxhG< H*HΡӾM0߽4׻(C|z0U`VEC#Qji3`Sէ$ۈ+G"MLPWt]`xe >Xbo!\[|"-n@G867y.aucB ^wgYA(YDV_Cto&dޔR{lRnxU3N|Զݼ髧rTU{,doRu`UA /O|5}0 j2ST:EŒ&KXl8< qdo҆Y<ؼf?.i^J[4a~5#ʽB)'G r:_g#! 8^><0O/2Eyg lRP%}bv9L$sfr/^&yҘ|ۢ&*klϸ_wؽ-)GW4orZ<|:RdրsC2wGhz.V@FptK "We Z4fRIYB`Hkm]P~"_;I&"]T>v\,Icǃ#orR6^4׷#c-ǩ3K0I ]ʞ2{d< `]qD;\AXZvWcIuӵȣ"}LjUZ"!nC[ԇx`C[Q 0s1۽rܲ`bp`jNrnj*V4Ll-0Q`dȒk"uRUN[wf少/a@}Ф`c eѮU݌n'\ F7J6կRi_~{F@b۱u 1E/{=bHkh32wqHS$xXFKBz$7ԯe6ܜ)aT+0VJZu~{`l 䗁ii̻0q7[;n~02[Ð#oe3+(h?zs"+`?i/Kgg{:6܎s9n{h)"ExVZrkRGraևm4nm+aqSzJp*PS{;ǘ$_5FLw4D!uOT$8HZZ|+ƞMA_؃HpCkN3'ҳaUpyif4 gxRTNCTZ OT1_=H,e$mMϼhF[ߑ꺑VWzoC esWRQ3 ZFhSӞ ~תս٧4V>Ӎ^\`*tӏ85}^[7/c+,O]/kQ}SF`]q/!,6"' D ISdHpiӊW]q[37Dfxex ]7,`~E V%6؜m*ulz>½1 #P.z2G>cO5d|nm:μGE.N=ч1ג\M#*yBlˊ5yWxtoT&)\G8WlPgXLӼV%ƟrK^ z Ǖ 5榥&1=*u#$7NT[ePP!c>1 ]EQ`5;`k=Yr / qNCL;L8z2Mf /HB삘Bm~!ȱy Aj$fC9:9vneۑP={lvr!v ›Qr֝ C B't Wrw,@IyeofסvQq^zA*%v?ϻ\[$hduAZmS\_iܮ'E嗠]]pe$l)D"lcEH6'xj 4xU Eu7F9:jECq6*BȈV<WK0$Q%a$)NۢS$ԼF$޻Dȓkl QI-h)d"E.m6YΆϷȑ0)ywW v X`C{?tdI]n^(ciu@dnM@f2Bf u< 6<fte<3lH=Tdqtn C6Ru2 @_X¬Cw"=UNH<Zkz%1@5Ls:Z>܍}yymB_etc$#j{Y|ofW{f;[gmlݍ)PӍobPшbu BKvIņ>?`n t˰Ob<@άm)R;oY5&銹H3Z†6fލ摤C~KDCMy4?t?PWqF\މz0BN( I?tY@H)Ubo;pq AF%Hq1`uяQ΀%,h-x5e hN 12Ɂ r㘊X޻Fd^ ޲;Gf|xr2$B 'E;9klp˶O cI}M쾗%؍AzCM)+ 4_Nv5b꾙SSBzYX4jT݁=Q-*0kɀZYubAHm!ٰPO6hF77X0qj%pUhR½s[Er0ð-_^0CaʵỼtPW )AӸFѾ-n(ˏiWge3paE'Pc-`L 4iC6F tƩʢLj/=jp(>uQ:*w`ʩh*56N?wA8 #,ؕ&Ymt\_8t2`R 2^ q<A#EPok6ͨw֐Vmŵkڔ"JsKۨV:r"\YDɘ[(Pbrq*qi]Vt^L< [:Of}~K^[PJ#0ōS|<1fd,I53Vtc VI`򢕴96\ C4#nw'kۺz%Z̩X[ y*+\?9rBi4J S 4GOGq,v5q ?{ȴAE2I~WM1fݹe|y^hJh%P\ [4Ab3Х Y\_Ǘ£/gt>h0B oc>u 5mai*ncOITDhxs?VSyxBe+h2]fBɞud,֪뭭?\H4(.Zq0i=([rӌC5af欎@-H ;Oժ:=|"*"K:F)d_Ɂ@ۃPMXU~k Sʞhny Xv+ xE2>fwLKf\ #q3<fQEs2CDT}h I\f$.3XNߥ7hp$~}nqg,PH-C$Sb!ŭ?N{Q3Ȋz`Kt{׎٦(Ϩn56kʿ RbwfތV$;uC: ή{:NgoЄk}QC[6$|0|`% Zϒ)zlEGJe@q3 Y+0Y 1TV3$oJ@ustxY;-nZ|&+e;F"$ c قqJ{o/SjfKEü+3)sInY-8;Ɵ6+2zT72L Yd\EþHQqsV$ k[;H!(y l c;v1H㣁#+G$Qg}EQ쳓@+^\ax,d@)x[% oJ,̥OAA'Fsu[WL˝Y8!Q)mt>CdfgqyH(Gh!M5Cy~vkblpl(ESRRhew_6غE,|xF#]V_t4ӥ0K!vE]!z} ;ˈ@fP7t2ci(n)K"ּf3 2A#©ӟhBMpMx۪E'TPh(tίR)fv*T✑M}p\%h_P%zw]WY 0&B*B< j1DH y9 1 Wj} ݗ&?%TcG+d0\9Ϳ+=2ջbLC 8CC֤G]{i6=R:vZ@۴aDNshp<#Z)33sD?|Q8"!$Mi e_bI=&X e+44Dhˬ&*E;\k!?LֽaU(ڈE{Qfԗ1)W.~iTR4G&M;lsyw Y^m_N܉o |, fC gP\5`hL +atSi1 'թB7phtP6 ]N~@| {a<0W]7ja1ĸ@. ?굕vʈ GYeLz%d? ; TU0'b=f>iSk.4(jl"RRthc xh@qM0ud sН-ڲw0Z'з7`7xվ`:R5("*%ըC׉A "ML G8 HZ!D)؂+:3,AkxCݛuaÐ*tx/_ &Kͨ2~zQ!aZEE-Ux,o(FO}lSE|z"t}# bd㑟;@0'NE@q\,.уZ: A"w ۋ? fq^Cɉ?3Ww/$ALfлbivcx}O8,%Oʽh_ KaI!XD N8J|a6& ~>yۍv݇G%زe,U…FPeTteqK>=45ϞHRR[˪>pb%f/tv5//OX]Ÿy6"@HT=.Tl "fz0.;ߠƿ:`&4t-j' yz^=yҗϔ͛tJX5'xqPLڪ3[xDBgm AH1@3PtX&L"_ ,?1^eK$Z>uh:B5; tzⲫ٧#qzߋ]Iw f_rҀDjY9eDV- 3t*)u$?đago69ig՛Js9@'_KI?YCFjԃ䯘38yX` Kt'mQlqO8;YPm|WW۩ǮsݫtqVoB/1D kz>ҴN3~x7S{{.U4Mbqdy(2^(yY6dCD'PQWlR:e@29́"~6|v>9x;@dS9.wRU_)w}5C*^Z e0 ̈P\匭l2(Abb)n}f."byiҀŕ:k aʹ/!%fȎ6Xgd(~}suokݖ,jIOO'Q{Fw>t[Mxٯw4 ێe1\Rm@reqBRqCq~lsН!<PMTvʲNX=^ؖw;h) Yvf` 1Ro@\Zk)*>ӹ\nu ?P;d^^ɅJzbW:BK߲?a!USm6(L#Yc&B/yzYV+%f=TS愿XDVRk'fj-iQIFDGF/M ScSpݷ lXm(abPȥ?xGe#`pY (f dǸ4[گWh͡~ s&Dell)*I¦fR=)6` =@Wq}H6Ulx;!dVV:!5 &;W\ǟdB9h@bY aD{";<*}؂glպvtDӅYX= |95G=; &ub& qPK9y9$N'kQvI;(4X5.;H}l`&R68[/9UpGT]&/<3t+`еe5Cs <%,loUuR "!:@!*Vӄ M5dEA tL.24:) {Yp/wLҍt}}p*8˙Y˜|k԰G"{\Hۦ,]C6<g Ecӿ cN_cz#{qX Zw\6 ؽmhT%lbn':|t1Q8/4SM&#bZ\EzObUCLUڶ {F'H6N$k槃&΢^X؝wKxL"Q$ϓpaW5ysOȩ!ˆg0hRIzO\.YAK-WXT4CW9`% rV+'e49m{~XTA/u{@rvgljslX J:;']MGh …Gz7=@UNf8#1b {(Ίn\Y"ʁ=,^,SCg+Z-g=gWSOI9Nݬ*G= EÎfnH2M(){a-4II@θtDp")$8/tų-L]ߟlrPhl֒q &3bWwomPz023"986)myLwLTw+= oHBD ELΥْ$I\Smh0C c%4"jATYN-蹵l&Xcjw$쬙.lA d,"<{kBzJsUi6n Pi!('[33,>6OFЏ#%425>Kd?ɐK.'?,.+ᬱH5Ь%a_L@qGIJ. yT9dMW:c4&c<zcn}Oقl8@uܯZFqU-b61Lm\|քOlg;6ΡlTh԰$bPHaY[|n0B~%$X\{nĨc.r͜ RՂ4)tG"ud'g9=g_MHZ1ۑT≰Zgu{Tj.zXy b.8yZp{y.1YyFYyo).-©϶ n qo>XEξhwl2Xl1Uҁ۰i:nL $}P!f; bd@RѷPӀ0=T!c@,>ykU&.nF1zhZj (`㋱iDKS"53ȑfkއ>#1۹t1dUdUuv(^ @hs{|$W.$5]|3Ռrf0#y |佑tz]|.w'H&!G x4` Ρqߊ,~~ӡYN+Yu L ˡF<{8Q0AO/ bQy+;x5e/rJgϳÐ}0.'|36ӓxTZ J=g:+:h-8=8YQdu3846\9\-X<(Qcdmv%ѭN9˚}nG|9IbyӃ6!j#Au@(2Z2 oљXط  2.ȸ{x gp% r? = GGٟ_Bc8r|V1:}]ñ5"#ܿ}.ڂ@bY~ӷn2>qc$TO5gE ..wkLĝM1ingۇ=/g bxĴz9B2y#ua]_U*m&?aauvݙ&?f0HoQ-gn5/8_(QQHp/8UZXP\i!?c)x3`'j"4ViHBQZ׿sLJkvSa|L ^#-!oY<۬ LѥmB~~dfgJ5Xl#f8{N5-] ͿX{Eb=)f9h-m{g` ǀNTne{~ד|9tuAgַ_0S'c9s;W͕ Fu8YJ.G.onI3*he1U3jד4*q8aƔ ao|2j(,$h tl ^+zؓHủSG貼AMs`<15 Fa<%=X 00N.sp$j<}rY ҐtOTa D򔑁E8r_t_Kb>8-; ]nwҜMnעP*ŪUiŌ`ł#E2q D_U+tr2uG`|TP oRZ`7,V%%]*}kr~?JC=yzGldv_ײqYbC(}yԇA" _88nA, cX/1 csA1!*ngօpM#]v?Am)ڞ1CVeK~$/$nuGtXr.\C}. Ұcn1Y(-ۙmoNCv.[Iձp=gA}nB3^ϢЮ -XǏU>Գif2>:țCZX l5ZP&BKz$ [q tw:۶U~9!8Fg#"=ζE|K6V/EK6?ed8ם.MG~xqY!q?Y ޮ^re#x; PV-%@O*[1S>|Rp Xe& a# a'w(0DFIeLTKtg4Q[B~Ag&MWyd8S{]JVS *[Z)̝<k#Ts"TY0H`hD}U[T Z|qX@abUrvI%ٳ%b6!:#NjTY.!5?sݽ +tḊ%a!ҰoU4NR59dTg_M 1i<ٴ?c|^%$NҚ /U`dEW[sU={9R8Ōs|d>yR%~e{  a*⻌qZ-`а8tmZ;+V=R^CJƗfܫX7 bb%b(-QC!6!R>䲵-1|d7{fukߠ"[_7ͫ!"6Z6RjMu:G'e:,$r#ɹ Y/wt/d#a 7Ԇj4|5O1ԇ=%<^ Hkn~hD*^*^ȱl95wfuT\f DE(4r_nˬ89<9^c'6;WPA ͉ !;MO#{q*#˻H|'KiCx4Yr&U ?Ɂ7Қ]H̄$ȃ& "Ey"=J\boIIn5,l̒je}"|:Pn"&b4n8nԻp\e$f8KcG+ҔxE20< kPa4uRNk"tm)1YbO&{'+kdzߪ46dq=bNFO@fn-JH ?$5IP<;ꑞ̯# '`$Z,uZ:Abw+Nxan<(_-K_6׎B@xOGc W}{l2xX6DДxSv!fwjK OWj>*7iqʵ/XǵGYnH4Dnwf`Lu{sӬW v)$*D];'2p":=t[f8[wP)6( fן=g9sWۂny9VXae\VT9\etYGd0S2PN_BWXvliЧ~C,]ڤA*@F`!nAx6fw{In~ p/"E2qOo].Q6`OZ1 x3oP)(_r3@3B`q%5ꪠ$g.ZX-@3~0i(S Iixf'\n(\pڐ'SUQ{G- ٤ ݞKaj2տ/9ǧ׌je 7%΀ ?XzaC锖0O$ee#QBaYA(ttYwڦ9=(h$H7(.̶7Ri-w%aC.TBۄhip"@*ӌg_՛S_bB =Baog 5`Yq>sxO6h ӆ&~ k<&uU? x?ԍ}}1\6o4nƭyeꑉ7] [LcLim -'4i-Bam٢g 2Qxa jY7i; qT[".P-X!e-+2ٯ#R$9 +\$/|s=ܟy'Rh8dY]~K&N=Yo 2#hOHBuTX'9?p`S u sK/O THwAa~N؉E=bm%6cQTaM3@$l-2-[Rc0$zDDiI`PxBIUx& G_,o\Jk=}y Ŵ/'!/uHyul2xBt4_Ygofxt6yLÇ~.eUa(cr~Vr8)ǘz7[8V]-r0,nOm4CZb7sLI`NhE/'-3}O@{Hɾ<$*~vAKt 812JR&(9X`Ei& w7famѳ|ѹ$ ՇNu_~.^!ziGTc0h2H?N Zݖzǚddo qzẉm%f;9]@JC1YBA{4yA,W7js83TMNbl= ;H@B ĚNXKxZ]HsC5HQGA0)ѳ hO͜g$0N}s]Q |Df7VRIYxeR"7a7_teй/DXf2qmA%"cτ?Θ@s2GcthsSRX.yO(ԡ@xG/}Y,?lQre? \M#!o.~N#T6 f8 !ApM $?~I Y0j գD3gFtHY ߻(`t8sHCmpGY=@"`tzF]7S. Ɵ>B=IaQTMZfis;ʩ 4{ 5V#Kݞ{@1֫ ;n' tХjKpAr{)?KϊxzB{SifzcEPv{t g]!&zV }HlĴ1Ӳ jS/3:p!t7e}P;̀j hd^X&`<K~Sx=өU"3$˻4uSEsz:YOft0m&M3_\9QG M)!v[t"APQ}Qax꿏|IHϟPF  f~X볎2\*HAϰo{N`ܸ^vd|=8Pm_03.iשJJDlBFyf%֦* >}w0A{- ]P'ISS8R<2gOtRU2^`FA]yfQq;7aEXV_+t8_y/%a렂:t 3nT[o[mj[ (EiɐMwQ' 8 7h!#l5r խ[/ah F,?@2bG eۉ1Қ=NBN7:`4MwN"Po-6IU.9% h񎣣IV*EC RƐ!272(_8̨1s>-I 몉+e<_I5o Wl+hgϤ7ELFN,x`s€SnG"a{ P7˫`K^xN4;68S,4-+X%IGY;[C\3\Y*UWǸ^6Ux>$TDFy 6*S9(Vۧ&Ro ̣VeR9lvj=|G(gllX,]qӾ5d(%(c<]SNPƖW-ͩZB̼R.Ke0:ˬuʥ5t+^q-گIZɈ?"4ccjYH3E]! MM9|;`Tˆm˅r$vB_E30o;2.Cߥj:N llp#7!9nmi>gJ%,wh)Tzt&܄/. q:ҟ=nUqI+yV'>Ɣ u"r|Trǧs&&ؕ* XGc `!'_˥ѭ6iJ?`3r%p<ک+o[dzyuLi2̈P4qû=HEF ,yd9w cH`!c%x%%ڶpF 7>Sc[_2%J spQ5#;7܈wq (Ƈ։ y,s^1+m ?SeyI*j]Q H(0hZ3dlIB-n$6T=mkOucAQAtfW"ˆvPA%PcxSh b6(r[Vٺ.cdd#> OMw忰mt q%H4*"lTte$'8(hda<: Q6 J'x[h~oJZ WĪ0[,RL[,"=Ub`"3_siz\vg u06![yTTF*15iAf̷_4$mzcۥ4`t7B8^/hRoǎ_|9tr>/L2n,9bV׊X8BHLc$v}aRbEͫQ5bJS fJVQTdz} S Z|IEp/g$䙘B lBih ޸}d9f8\ĆѓBD E֖*L#Vl9'-ߠ.[FLfF+UNӀٍK6#I_Bx@'Zg=; {,Ls7ևC̢?('<:}LeB'U~ZsvX" % 7enFZYH*X<'zc[s& 9 "3@뀪.Bg/L}S.V:ڠoDsq\쭬j'.L?EG53i,yBY 5I; ;hlcWw׌^^-Z'*m;wD'3Ԟwl6ZOF˘"\=3uT_~c@SC$`cQ+Zh QTcDm3, f#@;-gSO6CA ˆzx PXthY6?i$6rsr="mT!Ӟcͣ{URK]…L]ъ _4K~NM΢c0Z )ĥWr'gf4"m4)(mjv#ɕ醠"O$Y-vB.y6d녅IF!-ȓ= w+}S]^2G-3P)~LhҗCck3]R|BqhD(3osbIETe6j _M@̻y :oX5 #z*P/ʉlEK}uk[W;7ѣOQuvC@j/Pxzg#} Cv9H  "A۽h5PIΩҁ}q1f].a=d-"3/bբ𼺚[wƠof\hV8xʛ,OA bBt;869ɇfa4` ڇK[ 9ɏqQ,1ڻNhgw]R].IϳilR~^B*;]OS6;gRgj?~E/-m>1PO58~/ʟ*"ӽ]O2D7ڣ1 IzGqOlW d ,:TqNZS,O+ A,(5d.ͳ oxVKx =A1yJ :Z,h]5z]MA#4Çl;J*p#ѷhV{AM+\$ń(^St+LbL:YB Z*})RN- DMlJ>1^hq{Tu50f8n! >eF\N|;[3VG&ޚсVlr0<-7Zr7nJzH xh%ڪ :~b,r䢨 B,`j@;]Jچe;˥m}zRf6bS'ajt ʘcկ޹a$lsb[%[T yk #Ak!཭3)=@̞( Wqo x*pD׵~;0f%ys51' S}T<8K?X; :g\)~暣nph&".3`|X6PBۤ=N*9$ VnbR90u<؎abmVIfiߞd²=\)#~Ue[bԋ7gjU˃y[zAvle ?"jn{ߝu#LlãG ;3+-[$ ؂5nVSՖOGۧlAsű[j5xR{^ߋVW(:'`mǐɼҧV,7!QrFe`rWNƖ+~\d?LR3l3o96yڗυl0^kz6nw0 9&`A;W :C%P(H3B)=gq"h=LE^*P.,.yqd"CoĬsA˷%,ObEE$UuyϏVU!bH~9\B0x*4/n0Tc[ly.y[*O@waǝY;Rk}qkۜTD7(al}JU~~cdס\+|th1mlj6}謦Sv9jgog^[DfʼC~8x#r^mivk&aDMdzfDt-|$(!^kx06N Cj!ZL fU08zӝBIrp=?,|y)aT2gOpyR:CGq/ϳwuyC N>fq<F=A-  NmP [DvR@p+,W 8&,~CeU*oZ햃&D$Ƃ]8Ʃ> 3ݓLy mz,V149J4&%z,*;QϽ {iWn|֐ٳBA(/`=vIsT5}PH9`k _ ~,Ek+E^}E-%;[GU]~sJõB2|a ʕكtMeO+Mi%8qzbG}W&V`r#ʺ C~a Cp|C?)x{Sy Z4 oB. s ͟\3F@QwtbY0tb|*#,՝0ƆDU@֊ sK;1_R%f  u(^d׊!y-j9bg8e>۩Eݵ lUjJ $5\Dn5s~H~1Hކs"mD:LZAj$ino⵸U>~f"Ă 8W6.aAIVgmv 7vӞCE&8M>ZbօZ1 PM]W@p#wY&D^cs7ݝ!ďgbS>E8N?ݒitRV OԑT"db NBs ΀-԰RfoE3W&(?ԓn5?uwGsxfqik0qS΅2k077xBe K wg ~#gnO~Pl&Tq~6th)h8PWlUmAa'[]x{3f|ӿArOyQyQU֣.}.\] A76+p4l'm$e|ʩ;m390Q'c~ 9*),W@kqoTL.v~ȵOOo.8 ZW艐R>Ǟw*)?r.Rk>Zx } v!֖vX:)iza7_T(Vζ#3#%:8l"{5j0A~w 0g;6k,8௕m'9Z -47j?'C v'c۝%⵵"5}2;Z1na&uO;Dqc-P8W*zLR0&$ 2kJVhlDʁQ%=~\7\T,ffĆ_\fMn~O@-Cj*@tPȄRyfRzdjb:/WkT)vA[!tRvvcy~MXrCC8nn\JR!o =|bmV'sm DTU {ѥӼ#äM WP3̀N.~+aoeSf<~Si'@ Ln|B[Î~iZCJ޽61H:/< FI> :j^3>;Bp-pbJ[p5MxTghpeUiVT)٥M A@ItXa&EpHOnY^\:ef7xhnrH î9c~>ra^ UD-:{L4쯘yB"-MF O#9ДO'-eB?E#'3 XY~[>r#:Z%2y# hƢk.qYsi(_6sFH &[h~&x4?4A$!_rs5)3|raZac <C$=Z?]hObP&ᾨ bҒ1,ljb[`fGZeJ{dȯF[Ϩ{c} L?t?(rRy_@D:`\ݐ[tkġ&Lie獒_/aP+AA36EvԛBxAlHs@`4KiS<9 `FwiC@:dzLn`9Y$hb>: sH?M D.͗:2c?ۯD<<~t VY G sot|h|3{AqUDb-ILn??U0}&i. o"ye΃QO4m+oN&wmaN@V_%/uD}P@7 R}Ԋpqe`qt|fĤg  qBwq#+Q?IfЂUmɚvb+gMiKUA J-)uېݰX>e9!E;bd"i3#MQAw{+cQdˌkfaV5#/xVf8gZxYYzlfϒXǴÆ';- L*2ɩ;JhE{rĐu ە,KLUA(iNbUHAzU|(clÛ?yMڎ.ZgˑT*ʉVK4:Yf6ٓ.wIy\rZ/96DY[SuG n yNjK_ !T\@TP᫪ތfbl RGK<.mvM7獈X̌I>u(0Yzd@6ɝjALn,|ӉbMaJ4dIi60wRex Nˮ~K:PIlI1Uo?yH:8+u:FyyBU1]P`b} !ֈѮ--rpGص`>#t&CvIi';.tSt;0o4)J(J$?/ւIB%X`v<{5iU"VSM*$tc2Rg ]ͥ)߾WxJ)Eio0VD9G/Ӂ5֓/(KZ 6Hd8Z SEAt#]D^G ")Ҋ*P48M3vb9H{ ;E|Lg{uwG B2O6+|/\0?c*%+ɂ]Jk‡A-mSqĦ,!&چ'㹜 )dj.n9SJW{zO, EL%f}<{~d)<`ew_Qr.)*v9m|bmgc"'3˟5a*_L¬;$qzC@yRf$Z{y6X- [K=Z1dd=`4-H)SV 1~kV{eO]thr# F04}T+X ^ӨȾw- 6S)b~:}a2$^hjHizDxS)J?Nokknx?׸ϲQ |ҹ +dUyԦx‹Ϡ+FVjl\ F͉Qoҟc٘2 w }UMtњ \OnPX l8[b0FS3I[u䕎qֶ{D6XwSFj,i#DŽNS}2J@0c^1R/+Ra:\MJ@>Gz󝤪 tSRNs܋ߨ[7'wYʈ!!+1l$^!V.,!{y7jpYrF ۉqu8sZq,Jj ꜦQĕ5IjɕFZZC-]kxQ04"g3(K_CACn6̅ q[Lɡ)c:_1ZU+t${H|rqD> mˏ#DJJE;59GH&֛S]1$$էrr1Ջ\38ۣ–9Qñe^) 1m iy6zU]7u{O De+ Iz^]cIb_0# !V2~<-2MbtTY&d~%ςٿMGMwO9vo(!ԇ,5M/ɫC֍:,.i] 2bu:}$ 頳ku5OM$,-:y!6yM }A`~$-h?Fu:􉒹pAr؈GSE쀕% o_s`xs%"@g-~S6{Z\nPbd.ed?QNfIr$'r.j{ 7')LĒ JWH.3 gF1(t!AGTCk?0Bw788jl -ԛM/TRDkݪ8_H";/"ZvTD,yE#sՍ؏+\Z\> eܰ1wc[ _6->:n=RA*.kxXn%e, *^ԋF?OxbJq}<0pa0i-J"Ll I5 PNhkJT_p[qoIӮz@/R*uCo+V @ G77[:8+N +*E3 3|̊'A*ˤ%0hT}D;vk#̈́=v3J?tcGpm;eՌE)?7 y5x0)Eiz]!Q8,J׀Vum/伀4[ZfWO(XʂDU&] YQ Otp>{8<=?T$2$[h8nZUcޣ۪@q|2($GbAaBĩCw;+Kmf0O8_-Q ̮{@#+L>oAV)`>ڤ0D$@Z"o5FĕJ=V,iF]C3&BbkGo*eEuDzJ:k KauYqv(a1^&a7Ì歀|D=h,(#ޫ-zDtrL@3:LqCDH{j(KXeC%ܜ{T!eTG(7c\J>'/B@? h`AF&yaFoAA|NwCQӜAjyH4kB15jcӒ}:b*Ưm]w|ߓqOد|v dy1 `nEmCqVy׳ƹɅ̴C0aBnsRKEZuUr0%7qfYğ= (%u|&jHYho]hHI0wp*mp*YbߒcDlz ?,Z"]Yx$A:ӭ'qށQv WÃK9b/AEQ=jwH'zwQX[ά܃'Lg`JFc;$'S{%tHÀ^Ģռ~(oRM=]w6K5! NU*4ҿWM.%o/{D Ԣ4ɭ7 PP;HGjiWqw}&4^}Tǹ&gգKtvE2oך@/Mبޖ_#+Ye#W_ixŇL#o<]y%F8m&J}y2fe͇vEX62Ԟ/ųPQ{^7龝oi6Y{px-T2$"[5eE7]Kq7ykF(~hQzAXzvuqygTc D™Ґ#gVzYzygڱ 1,kEQhB}@_ӆ9ԛ|zAkm巔_5Pґ<&s nYۦĵ)?mkeV}ݒ VerKZ ~FWڄߞT0ܺ hjd$H`}݌ZZeYspQ}*0՜OhYAZL䍧KyIJ\#HW7ĖDIC*ed؜=YA[9,rXuv05@V3؉]o`G WfG(Ȳ+c"_twt#m`e >}vg@.ZBhmgM\ٞFqi?%h&\0tWw͈j84s@d +[ٙ;OʔB.&XLˡ 2OPO7NHz'Ŀ ٵtf. lHeVu♚pt4Bo֤^gCXH˘ NA3CAu*Nզz:@QQ2Ly&׫˶-J'=#o1bT[^((^gfC  %q0J燺φJG(4] ]~򨇢*dZlP\pd/ѱz?93'>d '.,Ho`*oR\"uBG]c A q.$L?9 ATXfM%r(CJu VA+l[5lh!$WU%;jqT-wPCbS\K4ᴙkEoוOFG۲|M!"GHD=^W6-\V)w+;ֽ&^\o|iɷzv̏} HdV9j@Lb0v 6'$d [ɜծFX/#F6&ӖE 1|{??c$u묓ꨊܬn/*R2&:(0.X,(eA7\BL1Qu,[ffI ^=#!SMq8X!Ĥ rD/$\]·'{1q Qy 2B%aSD L4Su&AwќAĚag~OC<0pE0trLt m-/.Ô6:g*pctY+$0J7LH}mhus'Ҋ'|'e2ƅ$O.EtB[ɺ4o&s \?DpvP9P`p ACJdwnd?5ibq@SX54< 9Vhoiہ K %]4%}0uH\VW4`Dd}Jͨ4"E9\0P (lip̝)R(?6v:rmZaohZHl>y:k.['XzuFt[K%9 K ]Ӈ\>6.AF9yBhƻbI*.Tg_d&nECR{dy$ҋ<1(~ڴB E%[3/QdC[o#tGY '2x9UPW;3;g }u=8|$s1ȁfI3,eBLԔ?( WIQAOMnx{_RN:Յf vtc8QU3#3;. _yO>xw2!T *oEʹ%b[Dp`Ò#!튔$30. ϱ*(x+Ih\r"<6u!|@F`c2\}AiT81cLdo> 1I`ߕ-!!s%FD8 :o=L !JHׇOM`S^| ][nQ*1P*5fW7HP^!R3}| )vfk49Ϩw3Z JMؖ?x:閛\q\WIw7Cƴ: Nw|oa/ %Rmܺݝ{g!} r +*Y]O[:5&5$P–ČVyC$@&Mw8y0d$ dqNABΈwu D=L\V> aOQkB~#׈ZJUgFSƶ"ޯ 3thr- m3?+<% F+ RadAPZ{𖒇9D0UT&"1etH?D G}GRNIos^Z'[A*Wv8}ϡAPImաjGC@ ~/L-C伾7,}*^XdפY,{f.(- ^={x!4ޛQ;;F\IN\} @RDT#[^˩5? W7ɥ&>\ ܙpBn\3t;>E+>`oDMRTh?=evi>jYR%"c%6@ZR.֯e;ލ(ZuΧh@Ӿpv& 'fo).jga=>1Oo۶7KO j<(MRϤA<1u ;{t,Ľ>leWC`)X9DYUz= cȇ'T1!4U+q O<kIR5={,a /]w- ?3)`Bk1a ?BӋ30bΪ0UFjqsk:=:l8x$>.9'0vOR uK.C]05~ :T@紉>ּ0D@ ѧ_8J  ͥ#J>tvιykR!n ϼT*ϭ6s쁣LsBqJt}G|`VNĪ-]Y`lóq?S/1PVkLkF6<ЦF$ EMHDvJ% r.|F65^]`9KNq$ʼn(DaYw/^Sq^|kp{g:}̸8Xl%ZC߭訬At1)r]nGI28Ŭ-~ s2-xC}!751Ɍ%ѿvCIuRxja386nV7&HWad~W_~M_Rb_Df2#Kz{ŝ+{;~;LnS%@n6E vi@+?|j z9ApĀˇaw`X]xLʝA <,](WDcIZG2[<1B'MJ/t7S;YByy.9WCȟkuD]HKᡞm}Z+|-3bjEiO$57bjb!nV*RW&H,wKU%BGnyC,1Nхr } h+z}v؛GsNȟ2:0d0E(8inχ2(xW`ܙ)FVMȊ+-DflblvcfM B;Xg\9$VB~n +pF%\OKrO.8$"rLR#_/1q~XE?|DYCa4fA%)m&E;A bO,mm[%GVnr `WZ;0o^Yft-TmsJ^w;e /ƪ!w B_ "d6on3u`$gxL*hMP~b4вf)!ޓK#9381iF(ϗs/ 8Ι ơD"X];j x'Ix_tܛZ4YL3\vUiu`<@Hܜ!>B9}BVTd@x񌶤UAvJ/С+{:fۅ<'pNC;s|;g~Vk}*e=F᝾dٗ3ÉzĀ(HV slDDrZXzsA8Y:#54治M#T@ON*'{P JoԄ3d3ʹؽuDVWGd]G yţɨy95!ڞi(t2/l;m6$gl䍐Nqy[FE@x{p6ԅy6wmBOz%|PL 8(Kf{u?ħJa]Lԛ\~/k@7=&G2}(ο-IǑHWr訩ht{oTXiZI\D{w` r(Fsgx$g6v$Φ`9$",{_p5N t~% |7, 8<7~{Fa@]AZs_ ZX؊_\2Med( o {v(pj# 63+XiqGGiMe:Nf] .k}Wv8uNfX`}i]Q-CcWT32lu*eӠ rR#;S`nV}'݀`&[+Y"3/E, e|h9TXqkVg`}"9M6} `XtjZUH^>*b-,## ^U'j9 M@H!U{ot~ܑT6T=0]LjZ PKdē@)jMRZyD@q\gN"ق#t Ɗ,Ǎ($k)^Vp=8JĉG/Ze1t}gpjD",>N5mR_h[l8;؍A|!hj$vPt@),Ir+p7F(s󟤛?vgۆ_O,'wK]1EU# Bs 8H#|fB'() p2W6']b!'.%YYbppEI]FL .bn'֮ 6eߗ*$)_*uBƌ{hscq6O*Аs107Cϕ/ vM q"ґ:Jq: 91E ֺ<Hz [9Mւgz~-lM;W-EC4V2@ ͊ҜMAںJٷ5"ߌ>Rm6X醙oއuzTL2\okU=GH_"xL!}?+l17 p+\em7ZN< 7-{c6aBR|^5MxtG|:눨r=*W7<5qTtF8[FTVo~sM  t&1=頯 V/v?gy])OYA;-N[uNP9؆BC?DZ65olaQѺЊ'NDsCDcR |w捶KSy,ڭ,HlqQ黹C ǧ Gc8A? *RupceϢ(D8$e1vxўnyqh9'MyI(=,),sN=[jr~r_F+., >f=H9 {g }K2} n{FFm|xA8"AXRMq(G^Gx$n"4X,jz~3bAo[VZe7<>Vp&8>x"',DQS5O4af5*Q-lr 03QC@*? 2ʿjS 2#Rfa'fhSޓx)vg]x^FTtY,4@n5+pcw!,No(З˶Ig{JR.qƣUuBs|sz`8XqNN> WKZlTF ~@E XIF uTT~~߶h/K/b8dge#vwa,hOZt;Të(| Pߎ~ҙS F"K+޶}Ђ4] 4[Xg3dΗqn v6_5nq-{i# `w}þ9IJ/=뤱/iH^rr涩D֓ "8_.涳G_hS-/K # Ej6 tbG_Jm"~Rvp7&©ЬkuTmG#X|$_IuUќL{%p-&BQП5@%[@r8MR(Qpͳ5(S4<$ op)Eǰsޥ4tۏ>fQVIеnMw`nҊ!CzZ- pUŋݞQ \1Ji(+/.BXm3A^5 z`괂*vRY<1ՋPXw J ߻9L[W(sڭo"tu%]w G,9vYɈ][¿OՒ܈!? 脐{c0/DLL>@t"{u,9䁻n$QH{wڌJ&=>,7"EBm͹=kĴ吺!QI5L?ҵ)`4>0+/!E CgNQڈ+N%>.ÏK%v83Uֿ\»[7ݼdiSy{wX).獾 wIv{:Aۗ(':"_W*scXK!К3q#w\%>Q$)ոЊ IXW|SBf}`6j^P{6̊jzyABN$‡ >?RP}_8\W3i OI}WEOޟ!pQTyڽNZWL)3RG 2;<AJe٫l;=:[BW( dvĒ,2}PW4'I$/B38`}"23Z3n[.!v:N[ەu#{ISFBCwԂ{mtʵc_z0`+[mnQ9P+LH˞kH؞flUuߗb{V7QKD( C6e}8j ;sBm5pJ:ܱ Дܜ8lݸPs܋@e?ٞVR_B,z];09B3 \#܆15gŗ.VI/aPTǔ, Ц6,zd ^D-I(FP,5ɋޟq~^&,QVd;\Ku/@V{ɇPCr4ؾ@ɱ\KxY~M s+PTT_=hwY_RGj3[PJӒKSpF[:TLD.6& ^x(ț X۠9ӯGb2|CxJ$(Dd!˧s,(19O{^Zh'vtM_8 _y Ja#` Z? )eG7G~BMg"Jv , &68Ky'HqQRJ󾺾!7̺iG"/{,s.r<`G!|iBp,٣JgĻU;_[.){+~%1t5[>%i~fW$i,FM#:gW!({z e)5m}ŞAm1on'x¢. I>,eCԎr[NQY4hx+wj)grʪ3owחNj?R^~ υTW`~ocWt*)i)D3iA*0!]%u+aH".I󪢪Gr<פ`?_ ZYH)-?XW&I7'bu2'*`se~Q7)7}d>xWÊ H=e8Y6,EM־\l6/Drv˫ZYM#t(XxGv~kq.glHuZ}P$ 8 |)FY Ko 2{<!V}$^r"DlwI\AoIL`c^sA ܆As"V^ ;wS 08F,|oW:cH>CCx+?=3N] 0I-CMͼy::LDP/R`aWy=i-..ȤWmMN-GvzP\ sJ5Gۭ9|6uAΑT0vc5r0zL|ż{2Y׳bߪ{|z{l$<_Wp {e,="g53юÇgY|aEU6h|>&a|_ hz9kSF -HăIR(Fh@U_/*;QSzfSa /aO u;#zf.o JNp +p{Gg6zĀ\NKkJ ~횿{ߘp~Wm ㎖"[_( 3 Wz2cEc+i&mP~{䤵H>fQWZo BO~,8Et3DZ΢jf}3-&9(j%a9{8'K =uImp4QPzϐ}5 ]Y} hsɬdI;o?u!bh%x[TM6`qn:E1'/ǸSY@BTlBLUq(: w{.3i/ ӡTJXL)UMȱ\12#/B-AyBڪGrrzௌx$׆gYwaY=Z]4_X3{&nz+ENg< SO"gw(zsjc1l]NuGFẓA_@Dɶ][C#%ODv櫝 hgnUsuCǽW&! #V(# ZᏛ>iL<ޓ%hҭdn{%^@*-әJ"*VXIɌ5C:0E>AGXPnX_Ky5VY$`<CʥyI qUDr Ғ:ܜ8!9(Y_^ysTKZ@ ?jb{/RmީQpМRT\(!F 3+6&pީd8{cRBY3H'7O@KrgRxZ.!(=fy  3lb^~bep:K34`ѸoN<[XΙ"gw[x ^їW!7*^[eM x(2b,ﵚ86"8 <7kL_Ģ>"KyiltX,Y oCE% uVrzlIIc'Axsժ!صųK=';ʰi]&o m,;qˡ5E|&HzzZ~}P%?w#׵3PrWhz% ݰ;*/!uaYJ[m:ro#UK 'D!ؕo><MvG) lG&E];Yp{T[lhG?[a G$ihݾ_Ot2*UhJ~cٌf+ۙA6cJi?:ȭf eqSIn;}% Vuh}uvA$ M͒_1r @5na7NW*q,)x֓ˬ0͹FM2,Xۡvcb!냂IНWs`3q/T1C}J!h@GO̵ikNDhq@BCֲir}2 L_+5*ӑVJa 3#Myx`Nv?lr}/"\%2 gYͧ*^ #g͛%̊렀dQ Cғ[TU;H sųI|*G8IeCZpSx@9axyYxo!!k<4bx)ݺ=ew`](\PH k_d kaܸjHmX.LD`=eir x ф#yQ+,&j֜߰OxJs >H/UfoSbĄ7sJX}м}jOpl6X uWIjtGWū _e@jޙ9 ^sWEyUT,liB*iY?[uo;WK QS$X ͿA1v=*ѳ/'#?к {Io3Ze<ҕO`5kkxgfY4NoP`K6R3:GiaVl7y8kǣzpKK gO)A'EpT~ !IM0 f!d[缶b8Vl"[ dY?^](H)Z5UGkΛ7C4d@z& 6FdD]P%u ]_l%I=֯0ԋ}ބO3{kjNJHcTps(v@hORiO׭v nWx Rk1 "R]p2'gZor3͗{q!"y"3"[ik$HҾ A/HOHrCKПO650!$sN2 ͡ 42Uߝ/^bZɄF>F6^E&ȪỆm6K(}L<^XڂȄ nhd!^Nٗc~G\D] A_;&YV#S\zѿazNp7"QZ[Tѯg(Ji! Zxi12Nz}}08 {|>!j֑L}*1ՙ/9/B/s3UIOHi# 7L=t!pȔ/mbM`ܫ;xp M`IͰ᯶,>~A"Y6J2Dc8RZ!%N2}oHr~X:ngL"سe)(y^N@׍nitbH$ QT*.dZErxa<;~}(1!GB;Yb`I Ed80%xo|bwZV3UL #[B'erO߫fE !fM,-Fj>?h*on{xD@&k+zGm6W T&*{z~.>W`TBÄŝp~vX ?g0(` LYy,Ȏ3ڈKU+ \BvtK~y5  GGyڇLE零j}o'Dl#J#1x]~$ ,Oi"?^uN3l땓%lUm}{"nlb0ʒl5vSSvf% q&4C oUI%KSRɏjg.bS4WWr'l\ԣ_԰UlPPB,ݗ\סR+aR~lW'|($ 8K&Z9koh EN'ʤy~;"4~K3hlZ\8çs 0 {s/䌘:3ܩXwdybll{6|cń˺%oغQ0$LJM˔ f\P}Ʒ-zS |ɜ0b DD+>-l< Zf rS=?@ﳆ3 k_ܮ-pN M!sʀ֎e,Zpu!u[#qq9 ?t 'a =ڥhIlAI1a^'o; VD ȚG1! K^R+cEr6?kgN121 89?U9; =P) "sXu5Z7:@[lW(y܃i!n#c?F dD30Nhvrr CE91{`^*@ՌQx7td tCV?+4d5 .t䘲yRЗ4zLfb>~m0ǫJ첉DioE.s)䊺}h-zk}OuW&5M2*:vn=$m揂>ȳ_ٵ䲢h<3׀&31`]|Ic/ 1^:ƻaKw+S%.败%VxoT vt[y.51r; I iM|~ ȦW')3yWl> 5idU]M@g\PەhnZ+D _S4ۛ7jI@#vOR Ţu!$r ׍'*i̺W|n 7qْ yUYĻJ5fZTR e5-i&`IMb8.jb,qOŰwGpt,Wڣ!l85}R\׳hG_'9D\޵?`OWN6jI2dP ,=C|~%O9׈ZPO;NόC4J Tqr(3➂YcQsuD% J `K7^~qK"#_d=\G%{FA"hߔ9[Ut<E7,PK\{wf^몶@ۈSMCf Wqcpxބ#dLj}A( gV3nQT~Ӌ[3ӗ=tp {zKR(  h(uPLYˡ 7bǏڒE̊<¾hhPsHT/NCsƀw a{\|X u8ʒ' z2>jN`F`kb`l><VS8ݧRr~?iR~bYgI£k+KJ hzJiU:Y "~<?5r&X;iM- m"J~{: I1Ik  Xfƨ89Pq|7mNji XNR7>s|_/]X6C8n>ڸr 2mbd4%ߠMݜlWD"5t k |D 3@g 0d7ŀ-TaSokKOV'\!`@vB2 ΈTU]][-U$CR=Z䆀e"; ^%uG33dG2ѢD Zo# ^\FB s)u+if {W/f$ȩPŒDcRVxp4.3#Qj_w/G=QSdT KMV;v0:7қÉнبi۽OenD0 f#Z%zD0&|ʎW=dsE<1X(qC{L}B{F.86B7+8,1,.?ɀr4jE-HQl63вa (87gCSI3eq9" hUo5hyF>$j&f^:*%"l B0?Zp }IPNwӲqGm5q3_ӒfZ<~qhod !X D7DZ;[ c tJ;w➆Mj,SID/ںJ* 1qLl|#0|.o5ƽ2ҝ%^"Ո`)x6|zŮG S_^]:PD@ryVuѱuJr,02h 85p^<.Dp@+"dal6iDHlޱ$1GN^Ev6݆ ⑑|+ѠC 9]?G>&(KbVgqiA4gfL)}*IfD/mN4paBI]60NLRp*5ЯeK-ÙWDJ;l`.wǍA@}P#'hnEМʹ-z-"FGDVqOސr,uw-EOPG|j&lIYU6tDm:Q?ËjG2{Q_|`&w5A{-roT2ٚLrC9B7#i[1[_5/D;;y~93M+AӊcrK .@|ť H):X-A?Ts os`8+&L_lC$qG~pȥ,60@`HfS95VDWV(ej V0Ԓ-K)ͷ%6ӌ*(Ә[a55OLd[UðI&l+| {~^`}@(-cyk`+*>nyq>^&n9:(5a8VKI8 vê,F?3c9/M"ydmIˋZ]` hWDPR6~t`) 砪t/Nܯ&R<IҶFaj\zh-V.ܾD5WęwO|h`#BvmT"03(uRDKj@.dDM (9e`$yW=tЖPss9x]ԯ{̵zCsL>ΌtocVG:23Ł^3㭀0$lkRW1WIQµCB\8%e3" N鶉movF'_A+E)vZqsdR2#+q{Vt3F&!2Nxֿ7﫥SS.|w]V 7_3 QPqùqߓ1SΆשL DV"<Іx$M 6xq#q ,]Sb !?Se BXByl3E\ݬ󘓄 h] 5 ٻyڱc/Fc(' ρ} mA rb臤$apg1 G|5t`'Mٹ~\7y=UCOW! &>JaDtpHCL{Y 6'^lȃoW& ޮGW%7Y$ZݡB&|]<H/ȳIdg;v(Zח/E!E+gysyhܘEbs+ 'Gx^ڇQ[ w ׏ ]фN n`K{,tXk$9Vˀ^/#u!oiyh jVз{R݆QS;/)EUnE(p$8NqC'FS7Zf!a*ǮI8[S XBO_ QȒY9)H4=2~c}y&O neymv=яWh 1*l/otM4}&-f%z v5vfhώ]7VvhsʍYX7ҍ=R'Gf%[ΰ*pun'O*S9JSo0޷RkRNzơ%j|31,ʁV:I"OIk[>ΨU i{;Jpu!g֔ $"tz|i?oLl*8?xX( +DtA$ҕ b56F*.FNLLOD6ajLؙ/6&:v 8ofz짒Z3P*ZOQX>TC=V`] R*ExZ8.}هU[.d²Ԋh)pN}.48b򕑆} |,+\AExҌ/NX4ZRޜ "YaF`AL?x^K8cNό-Woʜh'aNzdPg3U&nf\Z+])ug(T0O|5$O~S {ql{QS1EA`؈otߦto"zapzܴUcस!1 a"@v3Wx8$*:jaӫۏ#v#^A/u{3AYDVSi#OFI0Z:+ 9YS?DT_vz0{k̈No<^Md ?|5\ud f"q x7K<*a. QH:"߹ߘJQEK1 +Y7~6 C;e \׾ wJ7 ? ^[ 99UvK7*8*E?}4Ts,pYmݞs@u'wu_ xUԖ)86_(:^ESMOZ7iSAȻT M>h[.!QCm)nEYҝ7 C覎Z̤i+Hr BiP# !ڜ6؄*>?Kw mܒF2!Ş|kNUul{@;uG#)a9$bVŅYLl*ҥۧM`Po=Ņ\r7T.E)3?e"~(vT5xzl1X* YCIB Xp:9b<۽1]q&[lm`fK-bX. f5쇤UW}l]&RgUk(5z~0jYrP*(W1 }뜒X=~GG?8jA]o/xPU$XdЬ(h" o8H^)as홨'_09U>j wΦǠjT.*R=k)IQ3+yڄچ @"<@OʜH#ԢdHc.״TQg2HלH=rlU~0G9>DW$Yَ |w BBpr pG>5%FmXG4>Ln;/U79oO#bazx_P&/#B /0gA+K6ȉ  n,zo3|f4%6 ;x .! o5A zDQqhw3㚱ψl, ^ >0woQO;z&ld_A+*ߺeΤsm1MVSd'o`W{;Q& !:&,r}~pOľwou%AQ/pj#&Hډk*d0 K ЪL94 FGF8i>6;6>L% f\&_:*r4/)ݛ}[`elRrdFv!'&y'D[0@Uz7Sœ1,8 jRrNѵ .2YW!HҪ%ٴyةaH2};i{*<`0Eh2B%Uy tM^q3aA 'xLhXBAN7qe./TM)cƵ1I(6]iA5Ny2_j9&F*)$ԣac\)ZgJ&}|ݒ`{vrK";mBF>CY?=9ąTgĻkhHV029}]IlI`P7y"/*5N2t=W$Vh凣3 $]i|_.DmwIH}.j9S5a߰MD+vtr[\Ѳ 2Os?N^4#zbXRJ4Q>G,Sb9a&=-񃡎'-gC1Vealrpa 8JT6vʄز;5b,&*pml]J.hQb]z򩅕AgװC7nVg_\4W<9#u۵9RyE/]Ru.D<ЄP<к8b<2_r (rnj'"=Tb QdP2nMjeڑYha(J'#יypd 6{!(DSGs26<,d/يs'J%W5U8O\/3G 遧(T饖9g*Ofݾ]z5[uܦXK(V@狝][Z]0ћ&pi ̓KMXUʨ [s~QY)"FpP7z sa0U {A(-"_qj[=gϪt`5S<*Y)\l]V+=Wr#EUn̾=GU]:?72eu۲6gy1=x: 5{^.R/eTqǃ#|D"x ucZTCoN;,`?ٷ$#ܘzp4I- ]1˂WPVuҍ"sRMFG]A;R{ROǼVB[eW4+c} w=vPͼmS+*͗#'69.;tp7yJL,weh. IPoff7 `Ѷb18h ÅU8eɬ%rH X͜}.j|f?"#yut$4Kk [ 4Y(f 8޷Ӊkɻo1h,;ضs#9Nر%slBN@3'TF63h3!#"|PaePGxZ2u%FuߩMcnijХcBtÕl6~#Xh} аoI=$f.7YL% s~5]Q:3PpD ONz٨t<ҔQ43ly -2ihPxz40{(%CZ3Kg:.F4Q=&m|7tp=;0ٹL  AYաd^$,@~T$M2(#!SF9TpxWzcCV1511\(`jW?E.jQaDuJeP^N*Deč1\" LvVl<\ϲU:X;#Lwy5B V& ͻ4;0 +nRO2}EnowM&H2قsvӮ Lxqj|˗"Q6,oڤ ɉ\Դ-nS'շ&5Ԇ8[~Bk9%{h0d&tB4dW-:s}v3_i˸e*l.c|ϣ#wR_/;!^4LMN ΖovRDx٭ _3G۝anE4sq|!OE1VH((E`(폠 GM}J<@$*OњHr'b/&[~2aY0r{_ xڏcH\I dKB$b^iiASN 6k!wM>)vly=w /EVj Y gA]!kH/ ʾVpawLW=EbD럲^(")1zJ ?߈9"H%^ 8izs~SQMw\"N>P{FeqX*TQkΙ  ui%%T )v1:҅9U6|hqW|,X`yv_|y"L[w#sjC_YMm A\^S@"DyxgJ}puVo'di:(R7Aɲ[b\zb@Vq(L t0Š|d6`UN r>R-c؏kTek|.EAU6oSsjtDIRYh[A/D疶>NcqÉkcц WM&xoRAr5.L7DzVLҎIo>NZnĚb(fI0RiLig?+"2.G(ƣ?SEO}Xsqr "}'*ϮH?R|d=MMz +DXQә0?2j;KBRfLߊЀL[ lE#k̓/\҃Jɡ:4sXkWV(bioP*ushM2F DBlO4S1')̀(G@ ye9}9;CiC B}ߚAH+#ûmylIiccli^@<ʡkPy0Hb0{UCJw6 sC#0yD"P#;:kj} A/:gm 9Ϧ+ߋCOX|ћ~燔*EHBF`~^l7-kY7OASO(s=q$:$ ˆO琭Fp3g-.˾mw:39tRGu_e%0 ]9>8Mj5 Cy_w^Jj(lsrו5--a*ilVX1*b4c4IAF7cAr$~(r o ѢtsIPE" EtcW"0'"5+^w'%a픱٣U(Qrb ́YdGWݎ*:UueLYȦ<>tUάgnFbOgpt߉|Sg)~T;'^]ٌkD1'4R/ȇO~K C #dyS3Ѱ7<<{g"%L]A'[9'~kW %4;R[Ř[\}Fq}- cL&No.vzv?XŹT(QѦ+y޿p ̄+ɢžLz|= {$~x{#hwdHVtG<- s)8h_rHer Ԧìr =iղ&JWzŇ,y[K(O+ Bh ~7~~tgg;$ٷzByX]Ϡ8Pz IiYOeNewtV$'$s 兺-NA5{9s Ɗ&"|>?Oa ~_< slSPmG M-g0!jy#RSQGZfLo*BoKE\ K 5,ÃVƩUp6QSՠ: a99ئ.;m}xl!6/QtrA8'iwq"_*ZiQN Zjun>mÀZ"LHuôc# LJ??;ǶCG=F0O;k&7ŗ~ã_ρw&FNNM :wQ\1;1A"\=Pj(Q+Vm}#T"ܻ7IOw)-k\ݛN%#0?|(FsbDJ4el7)mEZVԁXM~.gB2NjuH=T_ܶDLډ?1"^(_t"ޘ"#ʯJ: , zcaZ)+˶b|x6.AΝl~ Ox% -b$hy Of|66*I$;aRqU^Ey4ϔ2i( ۆ"#-3a.;ȕS5B׫۷T:ӷWX܅|A{ijJLKX3z0)yfa T@E ݦ6l%6 Pco5Jq3'?Ѭ|+K܄{ZK6f:]Fy#5GMQb0pVg -޲0 yhX*j{p/ؓ]R =BE͋,tJ*c+O-q]%FSBc$|yU6sfТ@A^2,LW_\ 9Xo w7\s=AܯceנuEsF=2k\rmg US#~$G(M;B0%b)B 9@2DXZ?2x\.eVd-Z8aq VJ%>z>ԳVЏ=3ړxnjTWq:[\i)TWz HLk͞&;m@Ve~)jM3EKeB}XxrJei8HWo)ѧUVZ (bL-s;+$8%^֚T0CL 㓥\4$؎dтXeT{_$cVa3[*SDJCPbt3_%itMqMH>H- ȓ.y/bxIJ!muX+mQ.'zĞLzU?d]KG l(Pw0I+ |Ы#^}B9U>y i^#@> E($cӖL3s4 vU{03 YS792B0]@KCb z]hbWlɤO*B;jɉ^XD9u J4/ua.ʤ_ Nw-Y&Ģ 9嗧|`C|=AXcρ#F8cr ¥g꠻cY*oN-GJ7EPRv xiL²g}#K'vW˛PjS Ж dQ7)4[;lkQ}t\'t+s+y oʍUwlm݄l_fd(sl,Qڻj 3}&G=њX \ʹ8rZrĥecx6 26+1߅DE򬬵i|Q>/GJ k~cTEk~Qr?4X"q9Qk,UUZ(9 k'% +sWfq9卧ki8ի?8 BxPYp^ 4.~.=z~r4Pqh37+xXZ1_Qއ*D_ʔF(#cBWEDhfZDk\8IڎTrdkjx-q>P\ID\iR_gڤCM6$ ϯ1RGBPtb8rbwV7W#Y |ñ_F;pr~Y>`W>,on!쳱m, ;>&ZawAHOő]DmI!jyB:{*>@=LeC͔qb>NeJL_e^0Qq\ݷ̷hͽ B((;)_Agij:&uF.Fc1cyxU+=U7!JoHXU=&6Тt~hH/WT0t(cC +D#yɳo($^jL4}t^% [pʸ_g &t@ϳ\f S-jJ7vO*ƚdA*J6B"j J{輏@)o1ԞmL/.֌@:D~A{B5"iWb"@P_"#tJu1A QWІquxBI;2aP#Cw)kNcVn.wY -+P ֒U4v.b_RҔs|!&8U {]j''^ ۧs.8;18dAaEngnmtJfqäb.ћLooMUAx@u#lSe4WneD@=`ܤxt\sBp|G1Mu{ęp4DZyQŭs{MU$6>2 ]PA 3s+*֔ ĨOodzݗ @b:lD9ՓD!癀}G$0ޙi%NZζT元\(P$/2r;dX8"ATwCbG65+X7gL@j<<+ ~spBc*ϮMؔZ\(4]T1X]b22Q]%eU| hVw->BU襚%'Y/ 1,?)}jWzz6b$0&ψͯ:p¨k!uݏY{("Eil?dP $ |^ȡO).Vw"ö=c2g^J+v+-*4Moe.f viF !% ̪&g yƤIxB*6b (vm+d5]~P[>A| o!ar$VAŢ&  Xvm`(z4; 5w)Pލ]潟OmX[g`D|U=#mE?LMlcTh#c04.K =|enEA?W~C" /B\UΛ(h|og<^#@?B`~ W<]XnȾ9@&0c3&]0m90f;nKiY:5@O1X2q7XH|rx>eݰ5CǵJ<*^Bgty:L>ReY&a) ruFGۯe'|A VlPqQ{^3sbI( w "tU|zd1F-]9OwІ>YZiJd_WNm(d*4O""YRw Q9j8`[qVQM 'n%JS&1Jθ/ֆ|؛>4"@讱G.w_ Tgmږ.oj)EǺk.w:c1se@ˤ$JdVwRjK끅j$Ž`Y$G2@ k&[,gf`-ٱ&8V;x]&-6)sׇ$4xXrP?b7?rFv\_<ԟ=HNn #0nLWLdv ې6_`ZaG֌b>{ V* $xCEؠ_?22КՒӶ>&pnQe N%_Av;gU%Onť%+s&ϳ04J)^8PXB>-ggt~#<;IACMwݗ?o''~E,\qB_Z$i1No-ȷc;‹-Jk& M2HnDdB1f1 2b=+'<,\̎+=C(GŪ *\t ;jK<{O9mI`c$= grv tGRm]yuùi6FWgqj#=0yz W;Ydr vм']$Q&'NɼR%-Vg9i7C.,w?x fe?$neP|gܪz֭4W`b+VA^b/X5MYꑻ^HjIvJD6})y7 krGSc|E$N)<ćȅD=SĀ[T i9+?A F7,Tھ<#ĶX0)'6H>vf^uidqpe&5( -,BHŖ oV ]S'ǧi)j v2RMqD~;r674 ~8-dr=eL{WYڻ y0cVO\Lόj SFo&b0q&)Nji$)EkRgCk$;(^I?Gez2 !H6`0vG\BrNF#ww߼Rl^!1+2&:5(RQMLؾ}tƄꓴׅX `Q"Ïƨn.,VVbEɄ4R/#Sks<ɕ`p$fGY Ke2D= [a#dJC9! PC:V)+)qSJK{eAz'GhmbEke5hHݔp:}C!A!bL&ۉJE(~ ѝ(hOM~?؊X/WJ"gmv.;1xE(AE"#M`~hoŒVtglP~$dfIy#mâ1BhꫯIU'X)DdSL3?0?Tذ`iC[USh?m o@־UP)\U8-'mTX*q1?jS@ѭpeg7,0eP 2VHzT=*?$5P"/;  ;SH':?–)`"CB!E^<`6\O0>{_ umVrpW0|ibdBf.tiN:=/`ω0a4:!Fmc#UvkڟnbL[zFWϿWhdf Nغb` EBŌkW"'M˝»VLvwn0 / qk!neW#-nܽF $NA7lJȦC_v0^Vy3;r8[Xʡ>CxQЧw{dBkӛ1>d;S[ {Γ R toA=LL,ۭZf>O"癪g*7i.\sxHĦi6h, zw7aABTWMimf  f׺4xQ|Ly' W)2 tud>Ϻ[܎D0vCO8@h2#1bðݲ C'{bhȇ78!.;&Ci:|l%^#V0^D㕖Axr:C Hk@˜dR501' ̾J1|`7[n-_9Ϩ_OU5ʕ W> \7VQ1 %ģ|6kCfj(˧ WqeRS5)0#$hh)鿂G~ٜIV R13##qSdTŕjNeutB~Iji[|]=M6I33S@i I0bM?%X|ÅS~2ы+luDr1Bz笂1,2J[W,M~PNjLG*8uoA 0_:7UQAcړZ7`pba57]gM]bfMv,Bq<Ujjmp!Ɲs3kJ(폊*ߩ"7RNgS,l6@$UYvLe{7KyZm>*y#eA̱@=.rHޡE8stbޭ2YRfL F9V(_ )OX tA|z5/j7-$ pӿDeĭ%gy9MQkZgg¦f$1`Q 'j.cmIn3f YQ9r WC:UT2r|p a~]mƹՔޘ0"YVwa&1ܓD>᪪NnVNA|_3Z0*^EhHSk!Dkq[r6If)'.,7R܈3-3;3X\#2*&KkBwO_3 nO8f]gR6]_v1vg@Cx=e-=PS;FEd3 ̉:-4]$쪡q$EkKkUԡɗ8òdW(ܶ&%ħZ;q< ;23xVgqMs\gnwV *|djgdL߀2XU/7ZO,l2#+v&$L[٬ڎ +:2d(lS-'_ؾ?#tVLE?8Hr adH'@N G6^cR" 1/״f4o$}ٰ>myZK|fZq0UOs$o!?[g2.Chк ^= { *BY>ߪf 7O W/榧~fy4Qd~TτhgMQW)윳S((2Kph* ZJ 6ޜ$Ȳ(kr3mu vA+1Iͳ0ERT""D- X/6{h '0 EDJ[[$M9Zڣ=lCkqT5yw<btM^Juŷ'v- í+ ] ."ߊT+V;{< =K+s#HQ^:7zSIjT3ͷI2?2p>c+g~yT)3M݀铺0|3O4X⥫.'DzΛHY`5Aԓxiٰ^av6%k6id>4(i,i]CW Cڬ.{݄x'S墥ГGATZކL H'K=w{} ;D6<%"Bv;rjem+׊[3PuX"Tѩm(ԙ A:ځzxʹћ_v^.AGѸ) .]K8R/:x"KjE''`p }R&(k5W.]yiWz{`Qf(r:u [obf-Ð1aYw?krVUt . c5i 񑊗zx\hXCհKi,if}ߋ)4F6:]Vt'4zsԯ[6^-rK ?H#siishw Ϩ׏RKX'a)L̹ϼɛOJNZՓcf̴BP0]XSAEUD S1Kyh4g"+0W}>39( ʀ4^ t@RRJ/!C*nLerKJzĪ%ЕmdtA>gl0$xlxU)W.jճKkJY:S܊g*&d͖S ܠ@y%Mz#MaH/s–O!pMJbx3b#|iKei%* iý$_  guZ3w%S 3^8f:uL˕`˼gK-Ӿ r}x벏zR=_)O =;n]dD5 j+ͳ?6_XC I)P;[豿mr&>2:-4J+KDfwevjAw:0pq|ܖ dTY*u4xqsf͗c^5=}+:-2C(zm`Fۛ6[_ԓ4C.Q|A)1VJM(!\HڪLaxN*!|J 7@e."%+~2݀Q})zR| Lqƽv[ _v~'lA;*\CwbQ!-X,KMh6uųZ)&#ຄ(v̯`qpSSwb tb-RHWP(vrD 2ci4&-:`[Wȫ\2R?F(ԑ=W 8̮4fd$B2hl,1?5>)ECZҰ/\ܵ" z9C͝>0btէV8\WǥnޯAdRᶉo]aN#W5b$B.Fd@*)oPL(Z5i*F8T)o80b/5ﰛ}&["Tf֦$71}t@.?~e};u^R -*U]l,@|ɢ5@PwX.󐿨3wL5gfp|^"*`x,V/':!G|~-!>s̲[z㖬qo]$86j{>t<6o brha\UF(-DX7$#yj:#\_EHkJfW)].aDWj:.E Efx#dsji%ƀ!q,b3n5 BⓀnWEKuadQ|94`(~j#(f7%9et^ VzKbN$9EG8.]ՔWr?o 7ߞzEj58H tWV3Zɀfh6Ć/w9fJYVGMd g6BB3W+}P&~QQ-3 1Ⱥw0bmoS !  7jqo #__ : (G]@''A8&J*5?`h%Ӻ 6EYɝd5| z3~f{`8` u.dT8Dͤ}CxIU1M=Yx|BB;˴Zp?p* cSs >{2+%, tP?!}H/,/NoN;GT"ZBrNށ T^(szM{oa5M/waN;O # AVxB9mDŽ'}-qm[K_\2fun3מIyU:B$j`MߞlK_F53"jpD9e!a۰CwE WjEl'p&,JtO(5S)2CAr@œ X#ñAbGϓov4֡R5]L(\:vpjyĴӽ֐ I^& ="s zsWƯJvhW 1(^JbH#kF̙i_ _R60Ym 8ds< (ŗXEd_Nae%24]k \nOK`[23l`r۰,Qw@o28 ʜRxM9j$߯sV=Cz5>^ǮƜ,͓P(^3]er%4RJSrS%i*I/*U']crT'Cxv#3EiK=EcTkXL>bмx'vl;೔xX۩x 9}[T-;DSV& S#]=! &5_C7ޙꅵӾm =`AY棻k׉C%j_3%9$Siѩ\8v&–\YNoW73'5,h Q#|R/cdL>f%GG=Qڱ4y7C~.6=\kc{-hV U+Gk.-a( @WbBVk*^jA*/ôϾBr)#lS~tDAXj<f.(Z To I11g_Rۭm\Rb>J_O!4m%|ȈG}kj8\lcj.٠~h+޺1waP=NF2Mm>b6saUc )Uro#Rzdu〲G?rY(5("Vøߪ1[W.#4ݦIVE[=ExI w&x?@X[=ҥe 0!KRŦdG6 Q)}x0 j/ ~E\3ĥo8՟a f"u!=(U4u_YXNQH(B!~:l.PW8踺>Yi'w.^5'T;cx)ZsZ-gܞ~Ogzg>()bێpYXUI֜S6\phإ_ {|MBd=5̤F)w wj_<|7\MS@#h(D|IkHt5U3Nx!އXbӂv¸@# \ҡFƂ!E+9z}Ìov [ +EDbU(  19&L%;b/6N$sR8 Uf=#U/o,J@q%inZ%׷5#!7p m|\lQQKT/߫/ ~j5Z‹7><rJr*waxδ_֦P/pnkfJ7zuOQ&ڇ_+ؾ }\X iijvEDCНʼPtyR)xZ?TܑEz5$$uZ^ &!)>iڱZ{|%~BuꈽM툼98Zi3L* i07M,ZJ٩xwnd:{[y?q԰NOO?k8ϮW$˽un9Hᵪd[sѣd/Y5,4={/֕׾˷54Sy2m7_|L !nFzytVx?}D)v⾎m^Cʋ ʘksO17uQXg<}N bT@i)1W8 ?MbKw WՎz1 Z ryXfa)BTk+hrLey WIWÉյe%B@ejP z:B ^ I Gmh:@SVj;f#cҫL m7jȕXd,x*&95db%w>EtlMM %E)~Ֆ.}[`(rYʡ6S)T1'ى.݆H^iT͘\QX!:dR!(TkG[=Fm0OÍoGCȓ1zX~֔6e iA-Oz@BUѰ87gψ0DyUlgX>6Pq0]m˟oajNW%b\PԝƣiqLYٻ)?c7@hnYquf(9CODGp0@Y}byhꯊ ?N1 &@QTL'zMMoz[uR }[4i]3;t\a-w.g# V2P5h<z-r; 2)}X~KI4‰?ij8KP^qLzw=[gU$|I;K'?SڍEoNz U5G,'gRqf`fXą :J\n)|>v~%WbãK恍OX`m2ot%MsJFIK_0gz>EI!yv||kӁ+\.[^fj޷JjO=5۳Fp,^+  ƒєj#sL8RMeJﱐzj~ދVJ໢ I-j2򚄓 ^9:NxQTL5{LS;hi޷7Y_0y4$O/ˤ۩\B~`촪!pQkuDUw=|Os)mq)ǜ0Uـ ޼bo/ğ3m{<9GhV͉9qۯbuGWmRzIoHn6k]1)*!DCuxUI_%`D aX+,;ƩlV"=I-3/ Za2}r E5#gn3h^0k xI($$=1/u%q:v|y,<&9kNOe]1vpdBi!/`P`\hҴyl.C8adS (jbT['F9/BYʛ Y42p;nDUMG*v^al%Qecz܊XDa'&/ȫ;g@%D #U9YK WGV=IYu.o)H3M=G'4߰Bb7@O C5iXO`#@aԤEllm eqz IЖ/y9ƅܣ"v鱮2M ¥"l) (Aci%gATEU?Hv|"Ї[$gYNF{W|Mm;ՁDCu/أJ6PN)YxpBS"2;g_(ZZ>߉}?ܶW޸&ڗ^d78-e޲-|f*F56,ʃdOڇXkRը,7W=,@K+rKIR|dNtF.˞V-#O/i $Llw'-\HN$=FtdCW[BqMr`zp5Yx]QE-]Oa<}^7գM⟩VPxV]SلDx4kY bdV@$}(.Wݍ!"[ՒjMԀR*U`S}mk/?!BYWɕX cߗ!y}o9{c!8P[CyFj5rhJm+=Io#=SQCN6"D,AE9g=}es>kJ@ח7IV@.G|Tv? ;z(s9QF 3J6ܢhĶN|Fn&!^$8}}gPFa# 6wW&1adJY0˲IBP@qES'`|aH/',i7ڊ0`m=B4i]-5 `G"%:uVoqA @#a +jƞ(S%LNN.{,J/ }/3%r̈́m'b5&یݬ]xGA1ɻ{s\6?(cG~Lb#/'cC@)3M$",Hn[d7P=Yy(ph48|i+y)v#hwR&cq1+aO~`Ž Tt-T! 굀!z%)w 00cyb)DlIߪwLB;f3'||(lne(І({uݲ;#оÔCrZc~6^d]x#FtIC ,aY&lI~~+|s5g|vq˻ޓ7'{e$yV"BEGqDnBViݐ떁Z #sh 2 Y{XtJqS-tS?N*Jލ,oӼ8Mp¡yDOji n$H3〻 ߇ QcHg+֮EP$D}asX~J$"fsi@aQz/KFHF89lQŊ/m@\ (QxUCՆiO?=]!8^ ^) X_\gF[F N,;|M {LjsqՆ{DH|.F/,>u~ _2CO.[/;c0V'bE bߵ;\' *^+wQSVj8 [G+|9g\-׫VZ=p/W=Zꡈv<Ƕ"3bգ}+Ĵ(o`=:c넣W"Z,w?B=Hmp3v bMAnEZpLLfE#MtSF)q<{@U%o@zA#ly(4uf;u7Vs coXBM({ 0^.:p_  ѥn]{  yE*ӊ~<7q-խhΒLE ܪW> C9Irb?{p#Ckg8@MuU"Fx)qU=bP795yaBqtQ.H5g1ڏj9@4O=۞L0sk w 2)pvB0I9|.~tշ@gLQ Njd@^O9Ė ' v~MAev Jun=6EFvVhf}fP6%q;dN()`wF^ U] QX+g!A#`-<6LT$Ha5 f}1ٮKp׳!/ mxl͓8+TlqKwsڅQE>Z J$Vn*fYlkzu5r*#*#AD +\a-Re)\Ff(:m@Տ:*,_ J$Y*Օ%|xjPNy~,ٷj̱A&Y]Uп5$ 6w"6$N;5bNAzS"-– LJ( v2dۼ%3H sM籜LgNV/~+/ 9o橷:xhW*.&Ŝ8œQlXܩ_lI"{RR ްeFY~})$Z 55izsWHmU䋆iqgo׈s*4FEWhOy5k#lu7vtj @jϏ%p/y &Uqr vfKY2q6 |Uz<L^<9gWE5>dJ9?VGqZcy¼00'@&?{qŭPnO,t.ǃE$-]H^~C~-`%Wy,,##c-wŇX[/t%\@mYVl7v:Ù8 2Ra:5hXD!ͩ6J9ݝ^vMK՜E,vf//lr˫YRB2']dl~;kقW5pQr`]e^WO7TtMUC^͢FZM[%!3LpjD1?⸕WX^>}$}w6Ak%ˆsiv.+V#ø:BߌjtK}@ uL1zL䚕᭯ 52jp0 2/Id8kSo=HBR3+a) e])*ţ4tnыf"~z*ul<YבGhk;//Yqo*cᠺGQ3!4p{ ,6"pƴKDãMc B\~[T&/rVnTMjQkO'D#$"G2F,`T5GBFƁbwΜbNɇN`-A4^O9eY ѐBKJ#z7Z)"e^ XYzՖ- Dl5mqM+>*uBa[ F"T/=cD˳xVy.} H°B@6ˎ(1("%Oz}\Fa޸} -JDx`RgZX I)6՛Bȕ( jϥSݫØEo6nOĭNJ6EjWĉ TW!VI[sfXwS*wh<137m R[0#8HQW{r^^|@X%d Sn5d0h~K7T s^ Lj9^;5tbWi2٭/\j92Ԭ\t=7+Dnet5OtzU#]8k?!,y{7 W-}&&[nQF‚&mkDr*kIafo = t[Km.6z9nja&UAuMȴ;SP%AJԘ `C-h_jHN~VChxzo>ZNPg!x&TnJ"Ng> BW"6)ꁬ"}:tyJcq*i#7(%wMԓZOYdxPM} zRaI-@D?ᨀ1+HKQ"*SMb(GXY4gOCٴA[eS޹] l`<&)moM-A#~tg[  ~yٌzFcbM`+΁W Q]?\ 5?N3€7C$\h<5%3"X"uTLW͕&+VNvÒm:a#g=8+X)e %ĩ^kr֣ڨuGYbK\{V 2JzhBz rǛ(W>,26nbT^$gHrMdchN1U;`r96$f71wOE,p{RQD!o~$<ͨ2my]Н*F;<|%v=*ePI*6vl~eT\f˹!m8IEjxe^hN7*ϊ-z]bċv D(4,;:WS>X99 Wuo)fA%_oZ~e0^KGn)P =<݋% G޷O"͵W_c:RWđZz}i !<-a "l nW3`LKb-yq9Ϧcc5f4*iL] XP쭰hʔ8}|643vU#|$N0Æ0'0ӊ~8zsKbUE%,jo7FI{>}s-Ħ4>':E/a_jk>GH mXD* !<#8ݬԿ4@Qp^= δA4pJNv^%lX iTCSnD[ P9 [S $'a8L+HHcaӰ,U.~a)ĵQv?=G:Y6/}&'ē_*_~ hl e59?5PCE^|sALN"ȫrL7O*^2V$^{,>lI+q[U c)ۜsyfEkhcJsj`T9 I2WGUBs[ɺVS$Wׇ}sJ\eGH#SJP|rfޛ\Lb */Vsǩ}X0V y%Ta7@ f _pKUA.h)i$ +lMj,fWVaŒD2% Ձ M$t]2xq_`m)(wiJmV&Į;#~;&nTqj_MH!FuJ)FW6UU} *" =>߲FTmY쵅4W>D=+Õ&UQYz+;dg N~ 9JӦ4Qӷl G;iTe.;fN H6$  &񹾕~t'mXkr@<۹3 *iJZ~:9œV"z}גl&KCh].! G˄N]ֽ.\.̗c޾&Gg *}*Z0[5( %o'7L.[ $l}{y0u/A"GV2:8K<"P!*!:2;J()s}ȶy_*9VG5󂸊b`t4`4dPQ(p.]B zEgVL리dw,`V4jG(v_9h[CAMS' bjSTj|Mw1e?%騂 /wǖ5>HƘ_O2Y xHu]ĵ%oa[uپDEbE^3˥i,Sؐçmj/"JKh۲T)\sm"ysg&9qPvcFͅG3UtƖTfݾAF9$UvZt+:0[iNQt`Ka*e;n._X5,? 0E wk'Dp:?x+؂i1)p92 ñ;جljCZ]z4HMUY 8UB:cٮLZ)d42F[U; S5uLS_xцο'b|Ok=96I\"cR߱} 걟?.}mg:;N~cmףw'Y氎c+~VU-|!I"2nw?H1 m"QTX5V5~ڱH)~n0-=! jN Һdl^;7_ LS1/./a~ Kno)8ɼWљ`-D,e "S A:bcbݦA{aԖyJitp ?C(% q/^c5L:{FSd?A?DD^ XXH 'Sv2i\li !j2c{,2J O-7p6> vib{A3;G&.9?ȳW֐.0>TH=K%v z;|N'zhn5uq M+_cb-`Ii] 5ˮ&g!gB͋9khjm^= @wDprV5|VϞL\Yľ0e(<06:v~5"S[DF|1{[sgÔaph1}ڰd<<|>I(BށJdwɝ cC"tIM?< 8WknJ<-]b7ME1,ӚRK>n1Q%"]t6MHݗ.uE(<,qJdDJ T @ߺkd!RSDd 4&OĨMJb{ BN wn1"b6#7HdևkȻj oԦZPԏ4IGáJu:~Eo,{^1sub.cOCnl]=uJ`("کfw MIJD uuA, ߍ+19ZۨY"" /$`g lKoXpw6Q2#EFa@ܾv.ɱ-JDO7_ ֳue%e]&N3|k=1 ɁU6yve"ȂsAp;hB0"Krb[㐇A$1]G֘!r8WR,@ 0n~:2J˒%m%+v%5'2> %#Q">s+ 2X',& qXO0ahҠ_5S͐^䄶G&%-h\ yS(m1-_zXIP#PLe  N!f<0Fo]&P%8 _N:V2xY^mia8֫z@d.k9`ʤ _L*2_t)M+~ɻ>FXO>50v ZİdJʏ,3gdF3+7cw!6D 4+(, <7Aq_@tQu 2b-+bY%UXFňS$@he 9g z9-%(s%9 4&;yvچi)i6X.EֵaNw>OJXS.C*648Nf8ێ+U\1Dד [uxwF )8י'K 6 B4dۛ6( )"a ԇbéM qSљÎ{i9/;02C;*¤ރB~ѽތj}"xxu,Jtʭu~2QB/^0 yl"il@qw{{wZb5 ʢ ~9vxFAث#E~=%D8z ڿ bï/>p`c)L~Ou+ϪQ=\ǡ@XpNPOp|ơZw( C˫t.k@Qݶֹ#@A ] WgLR7gu]ꉸM'zM8} js`4c`1_<%Imsb8Fn,m1ꐊ^ ,rkw6JY@MM!Y%}-hE!JlBM7,jՉk@}<[RH܏~H{2iDXVsDk2\F#/9|דgzP=6 hBZNT0̰U'2:C0д{coB:|=4kPCG|qGp֯<輬5`HlJ- PBUP p]tlp1Z70-)Cs9@'FW,ZQ@xsl-("T[}<i8+ <;T;Ptg",PjJRBQ6yv sx|=i&K`JF *!l&Yk8ï=*Y mZ)ҐO5\}Oˁ9 ɆIyb;&joSYэ&OÐ hlUqꜲ̢$)ZbU}풃.*ɤ,kHq$6znm,ǓJJ =ko\o{'u3MG..0r%3_h _eĦGzpu1bvlp䫸@X uUeAҦ)'E25# WE8ʢ(ŽW@s"D\;*ϡߗMu !honm{cMCnn=VzKX ;C!ͳnβts5Kf RJl!Lj?uODF.:+A4 W/&yԭ74bJ;as\W[yJ!>1S*jbD9l nYEʚ-jOiңӞ+ I,|uI>_E@gn}w3IӢIc6%laI |FYX3>; =N'{.qSE׋b Y:izf PwB8뎼9AipT2$35.@94_M~Ar@@S0~wF$ m>JVlb#2lVy d0!r>w9vu0^#tXXx\X8b4b"5WY_pJ%O auc[UuiM\Gǖ}4+͍vo x!13vHYXm~c\EV LąU02uzPX:II N5֫Vm`Ͳ#UsL3ltG,ѣV`DSe6'|l8Ɩ_jN|ZOHįoYj\DO^&9B%Cڜkއ<ʊ(Z9[I2Tr?D,7*orv4Y[[iC=YtL NRY%v! 0~n^F'nZA;>P;$ѝ;~ QJ9< !Ta.*@#:CȮ5Mg)$:__i\y+AG甗ܸ[P!;[ YW" -R^G =ENܟ7ߎeRxƎ6Rq?^!!ԧb4\b|g5Q/U$}s `#qt*叱\ƌ5};N=“_0 -xb5Дmw"{#yfLMǫ3w)IuZ~BDF N2w5 1y݆WZ\™c0JoQ iJ <:}8Lf OeE$ A\>p\=@ ~W4B*0:D7/Uwey;14v0ر64F|_$V]rJgrn)+tIXBEl"ٌ-Y>8`Vګ%Zy6ީJVsl"w5^K"?+i.- r` gFTA3z%,(iXHy,^3tM% TLܯCݵE|cp"Nd*#]<>LO3J̳,ӸVWm%9G,k%yN'x2fbKVDӦ)R>?z)>.&G%Y%-)(u.sEZ!{I/t).ՆQ*n,|oU̿k2f`޼r˙VMCΆ`,XԏQ60m(Uˎ$^sr,!Ժ3_,G'?H!NѴh-  j:kH]MCOhxECf%~_ H): {u0~hB=_hL O|v YtbOr+0;P^s 7C1iae_ć R֘(ث^>>c=ݵ@n׍zO~(U/&j?*|*;t]4S*/OrD c(ސY ]`"877f\e|hvg+:%[^NFWQ-ևt$,*~۟ nDz]@Xfh7'r3Dk8lp!V[7m.A_R`j37Ǣ54[/!f _ɷ/D=Y–d.-)H({(EB,&y=#t95h9va-'R?^-nAP#g*;9Ҟ͔`._D?$}BD2nFiB64٦Ygj9wk"]eq&XHT^`uE^7@tc齘1Hc:v&!-|h2wdwd>j興ۙɷ$z %uUޜ%YҾ}G5I?ʫY-U '?pI2nK `fbJedb+LqmC"ke.~r[T2v˼$+ ! } 5te?7B[;ϯNul ӽ=h0q4?KSAg|PPá G2\xÃ͙ =®M!a7-]:Zi]Y{.xu "NlQg$l|רB MXy,1y+X!h )Z1d77 ~ЀKo>) Nr;Ǵ}7;[u~%vj_e8dMȥѪسӌ^EW#v픏pV^uCZfrig܇iBt%d7ߐꮾWc͋Y]pM3*fz.*UCy7iT53,Ё,a"XȧaĤM\ ʆ.(ٶS: ;UU7`? PG ]"z?dTI\qC]h;w$T&BYLc #hݣ6PsfIh TIHL/bv9c&ywD]GM~[{`O\Z=;Z.E0`kĐ>jrL ڴy1yGhT!<л &%h mk;H4 !ü[&E SuVSIwMэ[M>ެaWnq|?sm+%)/r޽[cHT"PXi/dz' Ʋ##0<m,΅;c% 2|1رb:^YWҍzg;<6.7 @#Rv7ąf׉wgNƝɀ^z݉&"?~ͤࣇt|@]!nJ2;9o\ +l^C8I څ$j') gρjȿE/}c;yG!= 3 28ԵHV%o] b"*j ;6z0SxXen-,0aGBC oEm!P9"-sh87JW:֣d?..; x|H;oeLm9 գ2 #ppRͺPAsk:(eH*RwM>L٢Z4'ƻwk4mh;Ln +k{y?5{tDH sXp :!-Ugp-b.3J fx ӱ=7s/ଝ!W^w <*Tϻi>z0IJkɜpBvE+ ZFR)h:9vUw$E3׋JB@g²oq{W`39~3OSGM (V+.|1xНԂq+ \vFvᄰn<-MB$LoLpN:$*0fk:n7\FZ~JKC\"j" g5bпnguG_¬w<ۥbKZ~qv9%ߌ2(t se5ps݂׊k_9I콊Rj&d?EXy?FӴŇ%/s.ڛU%;>$`Iqdd^^iw?0`O)C2SP|PڇMln}d5]3~s|.A_ю%dm[U F [y[ \pM c{q.KA1gSqesA_ DCgM;jLugjyʱ_y젍-MyK#G JQ.pVbۂܿb /UByIQ9|-(ZdF#v'HP#oJkBUtp<]%.0 O~/)? bqb9F$PoGQl:0_A(w1ˮjZC:b@u!Ԃ;M%FDXh#3|HY?N%7^3aΐo-ہ&`"{Eiԁu!0 "4h 6Sdeq`OGOJ"fU8.ݳBz&D]T`$XqqGfW`K9|}tߝK -6k_u3ĪzG( "DojuU gc24 m=̮1qXX\alkxF fLH|*yK";ˊyжU)/,VFn }m[=2sԱ +{ ~X ͅgn]cY yÙVz\퓣UCZ8zfm |4q-#3Tt-7g}S9jC [ ?S%v6NMcsrkoaw/Z%+֒=Rp[ v++ U\+KyNԃn=~hɍ^H]bh{mpTǒ'4p"s!+FMիrX# IbA &6-JxH ExdN!+ TrgJdʒُ7 cHFK$l!%I 'a<ґPmh鼯DR-G|LdHU}~yۄrxүLfRMYCH*9Xt*ăHctf^*"8gԑ2 $xsvOaފdg_Tۨn+Eq3kt?,u.)p ]IKbR %*G=~˪##=_5 $xoQPpAP'uUi9E>zj` 9Pɣr#g78ގpWV3^~B9[W *$`FH*').uץ<RkIʇ(-7]Fje6h7@dA)K0Pexk|{k_١VrB|"ktShk!$~Н?͊o!Z' =juCH?V $y943=HYfTDѿ\7o҆~15ʜȺ)(8jt)Sc#׎fnϴvd?q-cspd(ڤ$=mĦ:E N)qGBFE7t6`e<рOD\=2 cn/W{Ðʹm X!4ZťHw(Nj\ܡlNv_45qE9u:@܀+{( Kz\82ER4=$&R5IJSй˜tM}#y釩Hɢ㯔;;l]ah,J/P[GgwK[53ǭ)Pσr[')HECPv5z7\ Lu1Np/9$ <50`Z_j 8HgO:ގ^s|W >dKYZΝ|R2>K]Lva&=uJ УQ>D a 3<i<q ܀ng^{`[sf+P:ٓ9t梺݂10=Yi)vfj'Ia\si{JGD#Q8>>JvXBbM9CK>`OŽc9@loS1ͷ̑>:C8ݟOg߱1 HX(0"b&Kq*O\מfG. E\g )Fj˯ m#iDzk0CUO 9&v_z<_k]N{ Ϡ |7ٱy-&R9/ftz ,mxNǭ}z ːgmZ<"GtOf4SQ!F7̍eW ^;'OD - epXL<{fnТB?UڨG8h=pHE`U{z?BFk I*:u!Vv=(k dK7>,׀[-W!7:PY[z1Jrb 6"_Ī} T(X}ꝣ]H/RbC=x)ϞsY2]|rDW}1+ ) 4㣰|4Dto*'>C. %.z2) ̎Qܤ}[2vy*ל 7 H m|>g-e :vf+iNȑ%{8-쓖kϿ]=ױHĽ|Ѷ?de[IvYuщQ/*$X} vdGJmMBmOҐ4`Wy|tiشQ)| koHenEQ LƠcFYn߁#q[[vb767 SFc>r~JtH>WcjTQ1)Ha>{v=k5S~6 r|Sk 'Ǹ=F@; cjDD P?rɭ_ni&[t.&KRBzVЉT 쀺ۢ]7p XYcmyKƛ:lQ j1s) 3/FYz-ڲ(3p5Ï8g{|KYD?j؛,XbW59kLGhfuQ@WlBeJ/zw9`_|;\n myփiaEK%2>Ow0,(^Qmz<*D dfV2тHGM[m'pΎM_F6=7D]ݾT쳕Lt{J4"C +rC> e|6X10md=#O-h+f/a6 S>'0+m&7~ݳ:K'VtJVV3h茣(lZde,})C`Ƴ vΨJ9 ~,H]yC u a&`YP7=ouKܗښ1U:w'5K1?AdiGף 8HQs0AU\Qp\H+ˑFPr6+ǍSW& (LAh~vlJ]%%kH&}AOU0f:)XiD x{O3Z8.*6GS:C0I2 A=qp5ќO,18ccd@QiH}-z1 g],NI)CQz#iX@P<eQ`>I.ͱ'H< 9X16uq%Ѝ }< \l XGj>d.<((B\<ԹzvoAUmGp'QU-A\i|Pgzٔn\rG>ˀ^n<#CKe >0 G`L`FMQ /Ѣ˶۔St;eH޽zy+'yƊR"94m*_rPKeM΅{LS#lëb%"fyot1=i~ T5>`%ڨm~ B&HV*-I;~uӨF'V%`Ep5#L\&m*CS$5?w8 1dGƨ"5q龕f.=g-Awx&cf`^dC{nEP\g*aPptGE1g6B"w5B@mmp#ǟ+8!nm*>?qhx&iq&SugW`o ,,.NHᄀ 6Hԕu'p5fTy{aMQ&ߢ]:.+<guF$giլR߱=~ASSھoC$ꑳlo"IV:ū Pf"a3aɄF85X3\Mr&9|fEr +YW@ Fܝ4l{2ro%tڑ7!t1C& =US19)`t.96*ֲ!wrDsS@c3UV83XEk[ֈ [fis\Et2[*A}/pf\+aGRvl8'/ ySPFWѰy "B&zPٞNaGwrݤhI-#*m8ɎumL7#Y¢ڠ3жl?'DxwuO!ΎP~]Bx<h8@NSusNbv _EʕBWbt &2>pK޷wDֽ{z)]fzL*N#ƛY׻U C-ߨ \Z[2AL0\"9XcYhu>K*D(%lE1]_xF1g(ZjD+ukdJ+(n=(~B=22ӜUiKX K"R{' :lb|{es+[r{z#gBrd(\PR &W kך(Sm嚨[^F&@},2B_'_4Q~- t$pxD~-q{r/BR[r2MW9[XMZ%'pϙ78 `–.,Oe䭪)F詾JΠ(Tc@0z˅X03H5`[ޥ Y(H5n Hs}-zv G(ڭi,$'~<`ӥ[L]GN +leeYD?`[cZy̱ v_bKwЧϭ.MTn|^GTMfH e~39R_dlt=dynꆢsƚ ;^ (RLbɳV Ylz7_*C+6 0: U}V(`Q*;v|ƶ !"9Mvo:>^nTi@@gkI2();i ucox6L= $oVoȦ'Ҝ(#twP!6$NVJ% T k Μn:#_Q|G4a}J q *U_UNU8 Kw) Csז| t\dM!~;n.Ftxedb5>ɵvP:śyUGΞ4Wu[..HG 5}3Tvyb$xx97LjhBu;אgt'-Sci.>> /E:&Q!<ց1pBSuj\͗PH~k쳽yڞsΌ00cGEH#NL_%H5-]:b"6A(kn}zdbO* 6/Ke4PoO/^c\BcU㼩¶t|N6{n:=[gbYxCHֺ06Y֐Aq0D#֬pz Q}y1IDINܼEt,&?cuv0yAV,|AIw}="z $ۧC5#eqKXIlM`V4q%T,[}Lcz;yuxmA4VBŻu 'm ^Жa*J}puװWpw'gz^pl<\Ϳu Pq[f9obµ(6uE/f=\ R{'WKcE%i#Hva@w|+ rrYܠUknOi4|c>awW*x(S[C뻒h6tuTn=̵C>|tˠgǼ |DI5Zhk|o4a~"&Dc,&C3z`+廷~ BwA`Q|ڪf쳾7qr׋(zlNtBmZ<,AnI9]BN$n$efol/{s0Cr Ѥ_  kwj?VNn-{سHKȧ!}~'wc{8TuW*rAΗFj]aL$?ަ%[ a9;NgъoR_uP(XEX0oH9A;II&ŷj6^ pwJ 9+'ےYu\+{Eon⡸0tYoIŷ#ܟ+F -7'c/svotR4xόІ<FDG^tN!83ɿf/}T0#*p~EO1]S5.ƦW/\`]Z).S2,_  l60`5h fie?1 #:B-{prp<"BA5f ,dq=(rmxcA5GGXP|sSl*6 1ʑlsg짥0Iey_ߞЃH(""B(׎lmjE l!F^Ck/^3[ oA!k<sBE10~:vobBz߱\=t _̄/x8  ۛNʘI73\pqHciQUhx]H?0]=w}0W SZ }AMٱƯ2n(i'8>-0^ex\PRzcͼm_Jͧbr1 O.T!8o@.5dʵm>>7wҗa 9GFϝ wipDe~2B}N: 롵hn^Y}{ȾMhvqjNOvC;pJN\B,mcݨ:\^xh쒆&DLAd]]㛢(煿K_jdJ\]q @Z戟!Y'h7y$ʿW ΋UUy*S媌[_dţ| E>ݣ̏yKă's BDDfC. z)'~%LiZR1\{>2hߋ$DͽQXTR g,M)ŋyNz,H5"z̀\!u`]־0~~-3,놮Yww/s1 [./HVx3 =7:jzVxѠ)'k0P:>9pd٤{JrK 釨m2oyqOIGgɛ6ߪB⇛~Ye%V* V ,0O &#NM5V@!]J:-ƲOW,k`Eh=1 .3`6cϬ!@ʼ] +8fjЊzC 0 5U^ʶbTKt[dd:K=E,YoOjJ:|8akH⚏+w]/R,V璓  +yȗvsateRV:,r8Ou~&TH\q2*r򵸂߁1&@ptmV{VX2=/鈃}Z^'Euj=;%TLb@%R0f/-̣sh `w6cf~^{,`KOVˆ,6"OHHrO(Š!*B8 H\:@μ~4rg%=LMZly 9q0eBgcy*IYš{Pboo2>Pz{MGfm,|-T&*6kwf7Ɂ~8|~mG9ુ䃨ZjHNC`i5ݒP47,f -5^T(3ZxQ75fzxuQ97 (&1\\]- K MSnSp77 nŗheqyb~zv=RPf_4BZ:}ѵ(OHv*mGr[JKJ͛1ګBF%'ZUrcqZca+. j}.(\茸Ұy0l^̉חBA-W]F[eFǘxNx܏w+Z!/r3:K*tDTS( ~S"JH$GM3{DPA|@ A=; ܌Q^lw0c /$*1|8n/r /Cg{Sh/]jSr*ٔMcc:V [ZR̘ {e"03{z|=`l`\qZ_ o""T`|d+/LlK&|)W p]H]1T?F5^z4f&2GNsήhvXtR$_[ulTnG!wÍ/@v#\YœlƔAe + lG-*; z;+[u,GQRO#bIB">Cg2$wE%\z<83RYfz_ y/?3rۻ+™5j7| (73a-N,nfN_o.zLubzQuCn})G":h%%*l>ޕi YiAC % EuADYI+[7J <(*|XoĚ9k,V^!|N뇄)k-L3/nNJ0UKLWTؤI,^dh~drAg5⭟n֭|. #U˻n(ʬ*=hƾA_Btv4T YrR&t8ߖJ,OI0~4yG"}OH?:2,y@cV0zD:܅ ar| edS\~ _wxw Z(޲G0bD31F˾aG~l~v-V[\ Nf/(X~9fkK flfyH4ehBktٵO]}]Kt], q۟yQ!el+d-)d%ҙb*ح>/G̽A%"գB铞L[!񤱅ËzHg4;AʢEI*.%ȋF(gZyɔl/oSw߲udpBz2lI&ﺢjb&S| >NRשFE8 Z*#![%һ^#23D+B[ Yt~2~VJ~P66q3\%;˾ ` 0|:\ l<}D5>D6Dz3$$GUc߄ڮ؋Br!ܯh ɯC-)!pAVM [N<#% wGi~:WYҢ{;pC>Kߤ=wݻ=X?~PX8(#s|q FAE4ƨ/L|] xby;.&ʵ};ozu׈=KHglwzZuڳEz6WaHh1?T~nf.t>P^g$*msV9<9F)v#L!Z>8<+%PUZp%=2P蟱O= 6FAdriHTsqzrG,s|CO,y)Ҋ!$>IQ/V|1us ::Rv.*/jI#9+9g]|q0P nrwk4ZWkY!L8`GF;4Cۢ)ՠu,`n Fk1;;Ya\ $Ur1 ޑi 8S…>{$ tE2Gnƶ"?UC% ]g*mg'0^T7]ԆxP6^O\-pX7<]Կu %褋49X\/L*~]ɲYGuί$:U֢FgS0Z8nK%/<<u&ODB^~D{AR BunP]8x"Gd*[SDft_ntw0!"$`v0fDae0!"UI5,XLTVAtAW~8n D EQH!ۆ Aasz;<ȿF2X אELCs AK_p!kpX"OQJOw`(RVr$JA+TO<zWb]J) ;QƗ U2׵Ix'̕H4< gKiAD ڬq!4֣lТ5 ޕM #YՖݩNBtwŭ0F֍ !IVruQ da;#Fm1<4b~QXLnMPuHg§4&kSl>Q1.C- k0"JZ*OY'0N{1L=.XLdΦiSh=C9wj/UtVpr/`o eG_n5q'ԸWBtGdQ$Dd狯77#f]/Z&g@eݕu<L TD0lbn > 4_k&=} H0Bڦ $%c﹕rk<)|xLd*_FI{3Τ3}{ Z8IBY:^%S{ )e>j&`s+vT9 qAodY $W2)jID6!At&;>` j6/!YXْ }͘D,%ș>z{GЀ(; GHωr`T*2+;{fBoU?K=خoWXښB @\ iy~Gy#2Rc$0 \K٬#|yX ꫒݊&мȉ"SM23I/  ,a |#gjГIQE 㮘FS#]ޙqK m)XzIMuq%Hu[Ψ?B>x"n;52kN>&&PbЅXpB4Bd?|-IփҤ]Wr[s(]+XWȖJ/96WdM=8 alW/9]b0Wv߃ "Eo _Bq`v-i)߹$2sD%z"cr48$޼$u "8^-t 9`@6FQ9+qFV>31 G[oD/b|X$kv-M6&f6TmA8MyZL΁z„BI+m-Q6 . { )H U/u){Gr'XH AbUl։o2.YQZQe@1[AG^/`2Qv S95/RbOhpjv<1JˡT6odAݵxcW8q@{?H:Dj`勹:BxE4bo.R;v%C,t‰J \N}o 6y8FPoC)f;E#ς.EȄ6#ig߱$'-+n9 zC«ْWE׎ɹنNےI%oHއi{ Ll%"P9XWtC-Q(R#B`gr, ͩlToKW/Q1J-31k eng5Ћpq]twư?J.Pwl#ianՖ|G '=?@8_i1"|@,bɚ#E !: d;(l8p#4 XjŻX{vhHY:nJ3%zgӎ*\M 3M7k{˿JU-L`~6YUzGiPil_+'DKfO*aי-+] - -Z[5:}Zu>]!Y'źw Z7si$$Vg`~*mN !,=;p"~k8}#MD Kf$^ˌ(1ݕA;r4{C͕(%<"q)Xm"aHSpEљoyjΫҿyC֢` t36O "P?ųZãa(+WΝh2#QWYlYb#.ѱF&d>aKDcÕދZ2u 1_U<\ Pz9kqv 5]<; )Wr";)@![5;iƍg TvbKBҿ<6\ơ#^UPsئf)o4U9|*+('gۿUz槊VɰNkLne #.;4p3 d)*|j&w,OBcPV &u ^ߜ$a "=@<->@-u4K0HMӓ/6S䥚,u'CX\tRqa)F;\*;Sс2U@84x$i, 4DPb.f&ݡ`vmXr`_g=ɟ_]5EOos3г+DXTXIbNxr {u]L~LgXRJ]1CQ%guh^9oɀ6/28Ǎ+ j0mMyBoX0OQ$~[sc~C|Jm{DNuIZa$ 08ɫ/cBm1| DDzXvY5ن΁m [6)~7}OM%n#(iɬ쎳n7ۣo'Yj ؆67b?21 +8BЧYQ+ G8`mfz| g2ɀiv4v͔BkKn^]LoCW\4Kٱ_̫߼XpnՃtB#UUm]}KS_s_/fVJsJ#h౤:orxpAd;z؁.c[&#C2^. n26/uۓiRnD{-\]'Iͦ.Lx,Pv>X5a͛Jt v g oEXL?#&Icv\#4<1opב-g9hnxzd dCϾ}aOX9+7踧rtZ疏z^/0Q!4P긌& $0?Rq%_S&m<^f7UXF[*h&F$ 1Lv+Rۏ]_.TZᯣ"7~)qXʙQyݣ d(>Q88%@u/[(ǧ?2e_jnIVl&? )v PK^*p;Qq3 {5ڮfK#̊0:Wf C mE DlTGwhRq˅EqLw4Brc@%Gti- RlϷK9ܶ15o)s(o!vf-J oˁSI.^x79=\ kr$hhjіal;@"iPgwt<ĺaPEb2" S@--ʞp:P/*e]=sUU}fW޽[?,`vO͓>H"hrt6}|[ 5(5k ح=%ri;vf.gˋjkk)4V.GUy8c~NA'FMFsX!ʅ="G-*x]뽴\^d&yKL19>%A+'7;iVt{%Յ",uxŌ j-ҝ4Ws >d^Ε#<<¥sFٕf2C{D:9=L!NDз^ww}gN9J% j~Q_+s~AU\!d 3nPU%W:gz!V3RѬ 2Ą*6+={ٽmĘ3޵;U5Q^Uu:`TH0J0f 0AjelWKDkƈ҆R߭}a1 &n܃:s]QbU+T 6hJk-6C4mTiÂ$,biF㔫zy 3eX̄nhFNv DW,&Y6_$. >dl"a3Ju =3YC ^\ux4Rܤ rEaXWlo%\Q "īV)"2P뷣[ 0X&|KFv"ՙs6򾾠`޲maOlp {۩4)_lì As1?AwplA&īSG\,G%ю]XV~1:{Z3z3MlyV1 UǻKud"5@F$Rl-C=\#$L,n{,4DAtۋY7Q ']XUOC,;()ߝ2ƘxU~|"gX\^ePuA4h ⒒y1aQ0b Tyz%<'i?!T~w3;njG{Gw~$;ri7ĥo1 8qwdF ]Q8|voeJt<#)/]4z:0 {:`;2Z ݂kB/gKpihBb|"C"UHBew}<*mL뺏TbiJT.q0H:7ϧLϛ&B pTyVN2wcoUM8s bZfq3Ed9?)4~W%BN<T(]Eq}uQ|08Ds"RP O?.r#}|jIVVDndH^TT*hŅAUeap} ԟ[y|hL MjX3g'6z||NzLc(Њ˃ɜI,W(xZ5zQRQ?U%X,IO*UH~2#\-nUB3DaސHr_>pP|$M%[J2t.YKC\|X#ҋ8YYֿ?`F%a@FdUa2V+]aM0y?9s2AcoKK$:8ֶDݛE|YKlW'V(\;QM°ʡqJ~<jqNwbOBj>nJHR\ ~s>Ш&a~D*|P1ο`RƲY>`}GN+mMX?ش(\ud қy[\]+.Udvqt ]*?>\\5E#ZBT.iZT1=ݴ[3GbKzC1cS WϼU^eUz^{6ev/:*%iu4>'Ƨ ǁ VR&ejmJ2v02 5ئfpaݳ+.4r+d_M4G"ɴV"]H́ՕhyX!TP?"Rcv04c+7@p|gD Lcדk%E\YD$|4۟ kXd<_),ṡQ7YT8B8_ %GI}rK?רpm[Qn,%Z u֦JzO0wɶZKߘ^hM|~Ċ}wMc\,@˭7Xq"Yӣ\]B%Qn5d8ED lK r!c&P:HL<4iW(s9/:ܧ/&$+4Nӿe)t;P%K1" ePXNYC-i)n5 _w퍁CnW. >!NpmAGfƿVmҬ~K[Jd}>WGSxMܞ_o9/ ql ءazWd 媐9RqV|>໡b~bc;y*YTqU6/P"/AY$3g_܎L3m*d(hϖ}itypy{VƦ/s u80$n/nיqE@" +YDF^ xksfIKԍ ېMUDe 5:c ,[[MϪ:,>q)m vLkFhnnn#+dn{ժ#Ṽ>EAyQ1v%4HCOQrsݛ4'\;rdgOSf)<\*^kOLXw~$TDzƉt#*7]N/* * }S9|K=mKې7ӋV<~|,bR*6cXrL4'fPڃ9_ܽ׏vd(_Rq! nWmKgNƆ皂A(:^f9jjІ1zLwK(09KTy4vEla` wMy`;"|^e<>VfpH׻nNbg vB]na#fiw: nV %i6:hYo"'$;P]|QW("c42Of<Ѧ /r3_%W>ũQ( 6ՐWOiɓ嵭! cir H>\*\_s7gE)Z-3%h爤2专;1퇗 \{Wnā#bg+&+`x-넙('JL1x8Kv;"7DۈI*'$YN"fl5o0~8_cpج9M´c0]Ųb|D.V _<4u;G2R fPRaX'%aUN ۢ L fG4O'¹UcE[$qSrRޅ mJ||!ُ5Fgj% @Yz[cw nm?\h6!{b4Vaqb*,oLeaӔkV{m}CZQ$$NUt'A~Ϊk)/́Ag$V爪C6k5͡(YWt#j-{|=l fyD ʩcFy:Gk~6>`U FgWJulV=xu ~F7Iѫr݉J -͏Q7Am rX F?KjT@pKrwect2$GXxe.Lp  Ūvd\0ÜS)_-a2/hF2̐Wt0˽0ҫt^AkRF>C uJ/6 )\jҁ(':u9?,6زoT?ED^5w=,0$0'~TPTC-D$&DZ@'5ޟ%CÀ{v9f s5G+< hJ{}u2KUDN{vm#Њ$l,_AH]3{U𯑷cdmw8eB?]]F؋,CV#Ut2~Dz>|WwHd%^u|وe#E/u{%2@(ݗ.H~hM=}Q~f mr{Œn>_ GDCg',X䘜0RbtmlK_.v^}'z.$ƴy.nb;bs5q຦֧ gv3?םAo0o{micd\e^r* ̛*rь޸mDwZL*٣VqvTξS'Z pTՆTіOŹdFA7_[(,R i5GJ7X3 Ϥef )1HXⴌ 6{i# ]d?!2N[ri>R> K .,3B.ajuIo:J>a!mVp.<~ -IOTJBxeGb<^ ɧ16aJmʙU_4=+6~ Sd lȪK,rx "a} @'ԚOZfg!MH—!*F=, f#cZF }{˶\z{ [wx{}Qc7mo:IoEWu3ѭ5-тF2nї?iE>?UPx0v.Xs:U-Ŧ-Q9IWpZFWl ErwHXNI1riU9~w2Dqs&*MMA;+|xvrPH"вaK1F8P%2?{^7rU)q/sbG+A.4,)3X(H(vD '5wXssFJ-1Hz9랎͑يyfTju.g W.VgfK+K Ӑ6DH% n/n-"hEKG@Svȟh(7Iff[ K꣺:<%|q|&tT_Nv.u%${;JΡ:n7[>U:/P@H+0֭fCܛ7/{H{GUwȮ\ zuu%RY\ŭ[VQ['yG{l @ ]LU _3%<[V? 9C2aǮC_΁:UХ-e Co)epښީ̘QBUmS,)z\.X B`(C~GUEٛ,ObUoZprDO,}yGeYb8[2o69^kǟ\̂b?n}hMU3p$e|aOmYЪ+CR&ԢՉr|C: ]Y3ܲJeO[duiwG`$ ijեyHTf:zAⳇ#!=`9)O*h\9\v=:6ү>Z԰]:Q1iJnT_֗&~4*DܡW*axZZ. %dYڱEI'aقAC ?AD u.v`%r5X,Ix3CZ3U_k6<>ɍgT=!ocG@J>>1$?(7!RAJ4%n%eF' w̡/ *=Fa˛;/i,ϥ\At@h i!?^* |"Fz~~Ck 巈' M:t}?8!*I+yFjAZT8K͚.0Ɔeߟ6a\^W))r&,ӵɐ%i=qvT橪 O8,_u{ JIVCor6,ʂ #ywfTz2E'amzPpQ뉿>m4C D9m>KWNBK3@K1W,ayuλ gB*@q6p3eyϣj =oT[??2  s~ŵv, ~b}%Y|>,-|LV3}lJ\$\1hWXnqA|Oi%Ԇz+P(q PFZ\$66R JqP7\4F"˰ 5.G'= .d(\y1@)ݩzLD76]B_z\J*C!=k\ve46=Txs斴,h=OqT[Ck^8)E ;"/f;RlgQJĞX+5+v?Z8y? X[/t."5UMMj5˿v$nAF=lr-HFt|/J(_~/Y;+ F8q}>OSD^(f89-GB? We򴥬Q~ סK>ۛ'X3BuoyHkw`[GdY%iCL[ߪ (v!BRbhB6L4#æ|?; |l766.j)X¢O)H ڝv^'WI2 +P>]w$9nTˊA3`wJ$!*z0ޤr ^$:\1/+RY֩й8Y$026/m:}Jz^G̸q}UgB}0o2/0|V7*neM%up+uNq$V7c8a*>>:帆%f$5_>ViP &N2Esp\NڭUa>p"/',zs~O!KW 7x4H23Cjֳ VQ)sc}d 0m([ s'/= =Ox94SIsQF$Lq_ڰߔg sDH%ImjRE|=1G!cZG{$H~Bٹ*PfNI(,oSB9726b7(n~TiNkѦJJŒk чqLY*uسمJi-T dA%$BT gUT!CFŔd5ˎL%ݵY2J;o"=8 ݾ:$$dW#9:,r8BUF-JA;\X@ )05A<J_Ch8 tX7Tݱ7[: (fמЇ \I w1gClK ZwH_9slƦ0 C%jj *)pG`VߚBG0$g:RɢM: `w#ݭtȼ+%~"2^ w':=´DR}]"e65 J̇2vr_qF,W< Ml`3|]ULǗSJΣU *ݎ P}cU(!G61$e bSk' bF9 śU[om0iQu4NUѨ N؏WGLUز/n;YcW ȶ鯲 =]rXHv j%z]mࡳO/`AhǎfڇQ'pĨ̩qVftܞ&JuΚmP+/Ea qJ, (ͱTq6U8"G}E^QP%Fs*Hj/fJ+ϏZW8(T/ϵ|8ͦ%18$lN׾_*f*)i u#5Q4|۟#]\ñ+p G0P}N*E#ǐfLhF{ȪW=*ZtrBf=Hk%AQ? -ZG,kV^k]+Mb!]8<;w]nҝvE#0rwҸ Xy3׿?*cP\A%Y5>d>fU>KI\M 7yt͡رyE8!#Ne[faD5֩l]-=.:0vF #E x"^sW$FiW;K} Q_zM vr2S j+߃C3~|nyGmZBUя)7<&YOior/Wi7Qpm]tůԘ59RȔN^J;#dzS)E)Lj Jaxi DZqXW.$Ұy&\-[s^mT^1u%고ۨLΛDy{GoXqq Z&L ]}]*YqU[Dnh . 4LT~}Hū\afFs0sŎW+s}K r@\:,`KE2&vvdԁԣp\gsjP]2|Bq2=ySnzqFo ?yNIj B ҊI+3:̸ ;6Q7c"qpV4L׳gd4!8ҦBᮓSI3!>;as y &سh(':mҎi6ldX܀AA)h$fY䛻P8:M$Ŗo/A|,VD\ $z,hF"ryk+r3w%+.3]jK(aIlXŬ_ 0Mm8y[5:Ta{pDџ4${xVY[ll|W/fp$e ,G.b;bw}F#Ej#ƑZ+굧}rJJgُH!*%6/ 㗯qO"0( @hȿAZdT}ͤ]--iHJZ,y:θTfJqeEZ ;?`\ߛ ~#(/4/ ;χzM}>;h~ӏcLN1|-^@Hf,8ܷ1Dly:=UMUS.} T3a 6%JzVY0~ : k3za$YL=WxM6 ?pf2tPxжXǽd+K X)!"2b6]Cak˃j]r>'(_$7l+p2&eh*ȗ|Zzen*bt *g`Z: 800Qw"=o{0:i'F?.9)7pH̯>;dI6}dވ,,§899=8Qk)xCt t)(Yj{p 3*V|hYQ2t߳9_Dr|W>ro~$.PCSdXEߨ4:KN5']d(6Ss< L7 c]4XicaC(w -vKqXƞ.:IEJ멑M2]x˸nn<)灾x|G]* ϙ)|Q ~ "vc>]角`):sdB/ק/1s_u v5Y8}ۡhks//g0]=Z?gptwzrl#S ]jum!><7X,X*@QoR}]qRig3pIbM**VsQcï̱tPM% &Ʒ/*}Ey-$˾p̭~DJ$&hS_UۍHNl6?+}nvK{|DUC==M M'd7psi5*{Z-CP)QtXx&hD,dRܲmy;bPv)GGG|E %G5j=85!b:u-6 [cqӥ 1p}OaK*"jZ]Ox#A HF%f><)h ϧNR(Јrg&_\?:& `31+o"+BP5r>5 kk2k:M =0Auj).4ln0 D?\{*kyRygc57Sg︭ױ=.E+Zt*,U&u)M\sR="4L>z}^xOs_V%Q{z))-VA+ZA2zi;_%/b?ЅZ2eg-E~5{)q2Q%UƉ`oL>tgA -K\Լ~L´BQ̣a{mhG *WoԖ8g($)W.2a*?%&p̏_S6aDN ^T4Ȣn=`[[8bjx2 .!x/uDZu(|?ș_?v5ת?))M$,n{#7ztG^T˜(ntxdk(/g|Rwtojj1G9Lksbꐖ 2a)HMvXJn1R+H\d|M2~v]AG }N5߿B>) 5^%OG`W~@6wX$4C!ɮ~8PG$rԑKƗi*B-Ed)¢uو_L0+z+Uaz0HX AˠO~׬i:7 ^B$֎]gSu$en~|)>2B|x3vo<\zH{ kmΤ}ڊ$sWRu|͕H?1@Tn+D7{0K'GmqXh@F8C>-W=IO¾X8Є>iUMp7Y^* ~MB/TNlˮէ~sz*nXR i;ض%)USދҬ50B܏S3؝%WwYx,lI?g )dR"Obqn(P8 8g>ZJѶٮD>3E6|'p,?lT34J;R'h|"j:2Դ59yhh\/ ΡϪ$ @)}rwZWL3ppo6T1t$y.)=-]yNwtK]V_ݤr_!P@޵L{LL!7[Ι{حDŝ h#|-'I,(D9* Q{O~o#ʭwOksUԮnKf[J%IS'iBJ:O}RC:?Ilf".i)49MDax0EcYi @QS`pyE@gYkX],C])-(/ÍC dSC`s|>dTw`WM8C˳"FC;zqpXc2:,߲m.h:(Ք ]DEⒷ:lL+$A{Ʌ+u,݁H~[3ߊdRN$`9"a6F cq8r+QQ.u`yN-qp1&!fI{^`E~jqq+w'R*}(Ck#uFZzKps=p)bLW߈C %# 6z+Q?1MxzK V1qș:ҒehEr9{!Ȍ\ql_ne0<m&EIaۃE0X+B8q|vʤ7M(|̎OA5U6Eym@H` Oߏ~Uڲ8'6 x*YW w{ǣF3g@r^"GI4QYFyu˙ٚG5c{[ (9N ":^0(XZ+ 9a*#CKCnRMfo)돨{qjc%L>R\)&FhԹ'X@OT9 s*^z?ycEgS, M ʫg2rXk}i]#;nzQ\;Gڿ*m[>Si4'D* %r#ސlws' tiJ)' %&MyCn3&?at}8j2g>hp1Pߏw:+K/w4+[閟LVܤ"bْr6F`INrm:0T;&|7o% Xdx=PR@;ۼV2p`ӷ SHD5f*>wm:oV7Σ-RE] b<#j܏قhfLFa!Vn GY)EGؽ\mcǴudDȤm'/ +nU.f#`?& Yp|rF 5O?Ȅb6%Y+)sҪ{!rq#vC}n#)B|Oӿ : TV{7%kۚ5ˀ6iZ8?5MPc;v68 ے%HU6ɼH3\>ΐKD&*^-mFhE\.޷k㯔iC$ 秲7ւ\wLA2q OxTHG4ִCGi@fmm姃"LLӵAάbw!wy.2]QRQSE#z7sEW [˗u16FpcS7-ޚ0ܙՉimrcJqxAgT}6)*j12UԎnF|}\^;PiJ#x/CH21vY .8ۨQa,5UꆅlI?^f]hu1)zz~zXUt#n\jCݦvm(߄WdӚ9ErUZ9h #| -/tqƉMB e3dSc_“^k3Gv(!a9tpj9d2|[9(KUN>PPya FIA}x_~}ִCт =*9iE*m:Ph;B$o8_*Neb葻}M3o(m8Ʃ,1EAt3}_bi)t ̷nҢλAk ˒)M,P@PoaxKx@4<9E@;w\\D26zMfsd.4ΐ[y`قwNݒr0h{8V QIvȌI$A"}nIl ΐ,elՌpWeWv(ҷ1^E{MWӷYHŕhn^)_S% _zbʼ45hJ}Hr):9ox>k%ÃlK!&4nߴ] ]ަaIա& ׭:8}BOXӣ _sdhzf:ur*o ЀN-2+NGH5𗦜yg`U˃)g&hFع_3W#C77RKqwd|?>hE=͑?f40=tPQaL>H%]-Dk'<xX4qNUD(4[#VHC_puhs'~=[G$7eأ^Sg'qh'r 봕*!jɢ,fd-7}EVpIAd d+C3t24Z~W`ɦ̉v?NO >| }Zk>nwm~]Ǿf,5;kbj|2^׊뒏)Djs! +IX- ת7*u|D{u4;4J#:Y'7KmK~9bKZi:AW:`I^C96cc Syb~ <ΖN;G$V'/z(AsD88@Փ~B@irP _|Zz }M%,L, 24Jj92>H2iih 񙬹6wh@¯ު5S-[S.pik"NXO19P̯yۂ凌HAI԰ngF;bz墐ڎMida9i*]Y֟]3IH{LlDh̄L'fA_2>oI 2>-D16 qUE&tC@=fQP,G79μI{VN-~dLm4R߇⑏MHb0}&$xB4(].U 7ӷ2.j9wDŴ6MCԜI'G-] ?4̤0%ބ7(\@ WmU]ÖkGBB}ul~~qY2fTcq:LH8nr-ВO1SHf 5?sV+fIz|7!z&?`:>-+lMmTAw+۹a>cpc/cfW\H7 G5Yu+xT{hvIo#NƊaPE'1]+V?fwSKL2ٴGV kx~|>uV"URMVAn-m?V Fp`,b7< eֵIQ]n)v> /?{UC7 ^Ğmq|).Maga*>"#y!tD4 #05T\EӳDJ΀d1d~' B$JӄcQ|+mvNX,h }UːPI 29 lB]p\ xrl"JJ7޵)s;'/G)BVs @/(:aMThٹoa0bLz#V4@ 1ǙƨK? zLQ[*foNU}[N`qx0s6i\˗`k^s!c3K嵁"m}YV2P56zP "XbNmcPDŽIP]C`TU>mk=M/'1*3Rҭ`9cw]{ qUJf/;2e>S$WD n`}h.g<癩 D*3H޲ U.ܺkN5]2) e3us|HSL+k/f~ b]Du#X/9t\+#w3 [z<❟Bl@ bpJdޖ%<5cj hP,3[Å 7nLc_d,oCwQ6n  I`yh}[6ه냳[ZoOӆGG*?15*Sw42EZ;i23*{RO8qE"-48uvсŢ/i#<֚uRn3pۯCwv%jG/YQ\Rw7F6ONl!a+ѱMi=A8}Cq_rːTZ YtLE>n~ĄN`f6^wp_^jX T?mznLjǔQ_` eH:s:Z.[f|slhWA.3o:Ɍcfz|fk&Xc*CA~-aI#0eUTI"m/[(gda^_} N0 Whۓ~aq1!%[gp\(:2:?)u©5{"NʇSyxő;`:+<5g\q?%M7984l1"['"PG@%lQZd.ӿg)Yi;OjU){wUJj+|TiDѫ=Bʘ_api d!c7݊2 B(MJgQ#mIr!!3gM|-܆nD?&@VQ8k@GB^;ʃ~i8&✮7}gh+KD=mll0Q\p|0[E*,71ϊwcǮw}䈑qK4Rr8Fm}#W[M7M)oA}4`=)I< "50#:PMR|*82K百ƱietDh.w*DZ%6SÐ+!u9)SS3K 7٠[Ͽ{\}.Yfdz oQ"kܙ Y3DTk8?HP8o8o7ot9vBO HZ#ؼ@WDOKQ{r|?4bB15F׫ _ -g<% z#A!6F/XAiSO4so< 4Cmذ{E(uT1չޤ"$ tR3oYhu:@l of=%6 ϔ̊*(OS|d! PdjZWG<=~_x9ApSm4cg^Iy |G.cw6z[}/[FZaQuЯ\$^;1\q7y{8 K+T,awHJ{wh+KW=!P\ZGKi$v: Ӏyڮ#ןáoFGtIzvM*CJCBw=H| 52 o~EbDVX^n6lm[j۱,%jЧX0޻9+񞳈2ˠ0 VLHXclM&+-\[?6c;%?:#_,)o%]k^0B /2 P+jCڸ+o|-'ZwTӽݕ1 ]>4yU0hw 3@M (#S@(hvt Ŝk0]ozl /L9-:E|{4ΠDޓY|]%1ܙR++VHȂtԨ7* oU,Dq3OFQIxVޑh7bt,`-u."LR eBzmsj<] ORߓdLO&8@t~Ќ~+A='?{1)|U !2Lp)E֥Sz ;W ꋜo}ݠn>YTm,b,~b,4l;4x@ʲOiYjqL3x1ǧG`ϱ g)E>r(w/^EİY$~=>J)V(X-ߋ ]Hgc.{7-Y 6kNG7D)sh0.'P1(& [ )H|SH|xcP,V D"AEjdQ/E8w0\Uc4&]7GZ:O-!ً=fGL52b Q^c +L#UdHq " UA=;o@<>UIqQ|@˯H1]7,6 DI^>_ poCu-?F~LHpelx7 d웚V`VZW3v5f䒛RWV;*N LRx0B,kb8CUH5mNϕq BX$^ ʝ/1 ~sgjx{ @tQk ʍxs3lky8+F.QpLO庴s'òI1 *gCMTJJC&6!~PԈgo**ou6pk,\4kccDRk_?j^<Jql!v髣|RUҗ(Ҳ԰YۖyV%2l}jjH.ýY;{ۢIvʈSȴc I v6y/T) MK~X'~ (~㿫3dHHB& Ԉmytsxg CǾZI<{Pu^M.JqwF*Xo1 LE{B`$8% vWy 6چۥ]7ȵ.M㊃x  9I;TUCYr(*@D{`}{3p/}ƒ\)?xHeG쾨8Z,<~H`{9ʻ7XÚen'16Qy+׎ҵ]ZT_$TH[&6gM'.-.^>?Z߯TwZ4kgejϡa"-}~=%ʄ{" Z_%tiWL[{ֽk7lL&und 5c0(jTL}lJ= D ͚!.`Q|?_>fy{)i R3%]8oY'"Ab.8bD\k}{>4\%q|j¾tطɓw%y[(96ög~v_q7 'ƈ: C NAym}% tbiURd#J.6hTӬrYpNšgZ}j0xhs5c*4J] @1T;`tb@^Rii(9B dX-{np9`9v lg *xH 318*AcTe;ks@[ҍnHZaa |yt. nWΡ]_A]sm 8>MQy ѡ.2 o`Ug"˜y8 ~5m,NYv*74(9{)3o{er.wlw@BvSWt&dEU ~iFsLąhW^8Ӌ\q-Lg%TB*!8&wK%_%% )00f /d8wSCv?$ta<0!7!8¡&˳;. ŒS>z2-@ %)O[kZ2G]cj0P>ʉB$ٲ&~F+ (rpD]AYgj ͋BC\ҽ;U3' $כj>x!@[\.U=O6O49Kw}ps͇Չ#59U`_uh:Ә&/)#n#6R'O#"(ˎb=.|oaT)2b y:bbFs!"Ρ[^2tN[S?3 Xuۛ !wLObr4JB5h_Ǡ #6Hi ub0c'G:83U}KBA!->A$K1<ѭu'AA=?a:f(䱠J$JCm|~FJLdvnuk+, `dy3?쳃z="^mGp J6}@q$e Y'ns'D< 緐pQi!p |h˹_~{kW|g*~d &d٥a4 'ǵ N\Ӭ7̓SWP?o={"d*U0$,fOOڜ>]P^PKhfJ)Hcx5.CEWQV_NJ2 |ZI2lT|PN6^iv=n+Jٴ1ɜZ:Yz`{$n :WC=&F;zؚQvL_%+ه aRQh~vT vvUr֞:[ٸX'J$;BJ%q,Fr*4J4CLZZSe8Un;loKA KR씾v sI66cq#X_~y"UL$BYW: N鋰Sz#CP4M*\nbI 6>'҅k8NȜٺcB\ޢ'D J:TR<`K[Q6l_T+B? CY3ΈC~h;ԟI M>UDPrْ $i݅M]7Sb3x4qvNs`M1;OSNzƑ0o~-?: |Jamy:Ծ:+CTII+FupENf|| 2W]iJXbe(H2L~ x-ܝ΃˧|?R7GhCR)I5驴|qi KpTg.4}lWY>+i1m$X; A,eIxmKoe`PB@zwb9V00VzCk;^%e} iQJX7QmRs5R;E>+=hI8j4=PEۻ@6iU2G4r۱. .cN=^iɒ[>l1q7Kv k׊l*엩H2*R+X{c4TȀ7hWToNi?Ywnbx̱pxR ٱf/B؞2*8+e55P0X4 $Z7`ME4#u?D;aJe&IHR*(-?ўa'sOggM9=y-qmq/ޠ{3N4>n&N-}'XZDA1e_:_="*ZjxXjvRAY0}<-i+odmr%hGd'3ԉ#R8!=FZ7}e:SxE6>/21fs+25bS_d_}dQK;L~gv”9pzyE B{3+I[R:^o'G C@e=jBO:a -̞ GyTY}M%SD9F5GjodmKCШM?Ā*+14 ϑJfL=(fedAtv d=l}w5 g v|a;^|^JuK7,-*E9Y%tZ Z#^6L LHl2& n% .# {FG@Ai&}klki@RM-;et!c-09cIYB#3AC@%E$4Z?*ޓ m'`iB˃6aB3O*H1f#]ˊD<%ohZpӬo04W_Z춦>' H4hB~^'k'5Wp7^lnp,@Ŝ ‘dm[N c9WlZ#Q'I_ Wi|v:{ 9}R)x/--\73bsym: X+3ya|l?q \^D[sφ_ZBkppP%?zh7GrSe$~O @;TۍSbΟ H|D0hӻ+6 bn^g,(*FXi`Ѵ"m }uZΚA %p)v:3_V( ?]BC>]7~Aǐ=!/MBQrY2X$,fcj:6\頴rn˅ <˶3Hxp vVϔ0@egJ醆{h  Wcj4ѽQX ]в#xs12w6r "GbEnʗBpe>:_9B맇>1Y'I((r=zrהWTOƒA*  /(u;LCT u ow6sKYFi/⋎d8< =)u}5&a&m8N=0@Gnc1@q;b vG>1hL8&EA~VJ3F";f];BAi|a?.M8WP~7W޷.X?mQf\gځHrhZOEO:JvqT'n|H+g¼9]Wc~#h|Q={BXcZ=|XM Ce}j~&x8}PxSki?b^c)ɛ9}e3*ZXY|(gdڿwQ@ 1XǙ܏hО*0ﱡLVϏ%銃,qyIQ2DTh-s R ^EmņBfk#e`!sٷx.@JoTg4>:%.ˉC۔*Y9\+}qRg'"6dz-WED9"DLn uyˇ]l=A fS4xa,&', cbqrے.Z,?; B3-9ފ8H yHjS>#'lvY. fS^8 N1Ui#4l/a :Ӌ7!qx2z}p0N2l%c F݌;Fyjs88g1,Fh@ }2gΕ\Hv;өʗy1Ά]#ddI|W8`ٵfBrjO ?4qѭ(!\D;Q_xӊ L͌rv`#h0+h!%%ZdeʣYUfNrBBzC6ڙ ۤ @2*] 0cȏp|zs^(w6ԗ$1j.dlGdS^P%ՒjS5HOXASG`VEi{)6푯^pޚ8h6Y%=T§F*}0'JJop]{e v#{ÁLܬ&cJc &^S7%*c>]ˤL/~ l9T"w9W4FG"HєP V3 tFkteI߆?Ҷ%!p.$T~8A{ʥmO xX8)VoI3+,ͣ JE chWM;%d$>$SP] mTn?e%w7>}_تgd;r5 a=4ZCt~z4 C"h!6|o}0sC7k^W7y|4b0=H(̽\66f,\V'Y/XM st,7F, ;A ?(49\[Pwq2ʧ{=ه~v6b`d6d~WU5L3FzAIWra%Y@M~hV|7m0m0A ;"ԞB!0rlJ蓧 l>zIL@LE\O JeMO3!P&UĔ쇃)3r%yQ[&#@ HfV״61Pͽ7TqX Ѩ 5֙X7UD;.0x[]s[4W0E kmt~YaӧG3,7SS;g0 WkGH^>gDŽTWpeuP6׽qU`?WocݺmDkݏ<,դ݅iUVS_Y^+4ۃ{{n̻o`򰭓bwT\Y\Ft(3،4KjXlsѐՕIs__IWVTk+c/zY`2][=z9cX>VYJcYCyGx#ƕi 8gñZ9 iT>>Ӆ3_0;{ +-`T6&nͩ}4폮ù Z 'KCX*~ϰ6 E2ERZqh(-9Ew+*`lɱ8 PL X4 db |ȓodDͩ>iA͙=_e:57&ނu?}d/`'eB&|kF ?e‚ެ4l(m|`iJ8f;^ /xNh-'V+,4ƗWUH|2HYNYrd'|YO\#z&mKVT66HL(?}Lfޜ$w-x~A;#v"0mrz%ᄷ}&@\~ d m8$Mkq>l9(N4BTd"i;R֝#x;F}?;zSpur73am+rK|w7o{}nJac9=4פ2w pIblP(s7y jq5w %7w~(L,I1hnsTB]Q_s 33ȫ|x=+ >BzӐyjJ݃k.1(n%ׄF;yj Crl/S)UlK\0J4+hz&*:ȓVj/T%Vp6]qoQ̢4%:зIE8ZUpu|< w].*[w,C rGɷá@OΠYC6EkuF+z١'υ\OFE]pq$CKAuFbUْ kbBNd!Iѿ!aEŏ5nعB ~,l(NJbٿ`Aų.Q"l;P7^ L0]ٺgj^ í.q'vCicVψ)P9M?n8QNNNoӥB3B3AHU6/6'TJZ^دdQX&G_;28-*PГ麆&q; H"5(Uolq@j+/7:ΠfݶD=f4 eJ/c0OQvthWnd^^x*AbtC?jiTRW$1FwʋRG\](V/w@+Hϯ),?Oܟ;CL!UbuJ6;ēuYg6?ScbC%CxJނ`8Op6"̌A_1YC4?}Z)P(ϥasLo@c sLjs-@a${H옑+TlB",ֻM󚲬Pa0-i改}Va抓]q='docKf"* /)1$V\|QiP (?dέOu4"#e` 3O2))ًݖ/RƱt$6׻x+ Oin؏2@7z,,fbݬuF5E#9ru>ky6eq0K"/dpZ ,+ܕdCٞ9/ã& c~`yd>&yr=>O8ȅF TdPXQ qzaOkNW|&sg{Obm9 Q1k{T̈۵%M g3Ey|EN>$vY D qKb2d{{0;"R]AC^0+1{ܮF\H4X/T(Hh)ثʘq02q(V9VY!1t-;ZBimΰgJ{F}m=)]lvS2k7VUδrU"Or.órÒ,;|`}1,` dB Tف¹JH=Jhz_ӉRk81}~0 j!w%S}f{ͪ[E ܄α@LB=;UB0ȯBy·1_Gx &Q$6.#ȮŗP@۝ڶ&5Su1˥X%l%2eTN5|txG5߮8vtd. ,M;S &$2 vYuA#X@g]8iR03l}_$>QÄ+A=]@_Spy :GZYLc胰cS #;"P >zHǧ`уg*ouݛTr l~tS#,(t3xEAPXj?т(v~ r/RGw˄HEcȒ@f|_%:Cw\`9V,9fc󚁚mD\g{zۅ|+vB[u[ғ%jhxLW"Z[@ V M=Օ-z.`"V)l=_\Ia.g(So(a%uN&kM|BN"#tX-x5-1擂se \LT6:~|ͬ3s!\DbϪ"2U)jʈXT|c[?&b>TifgwZK v$$}f91l cz̴Zri"6h#_ك]FoWXUt/OյzhzS,$)8 C_N"q_l-kA-`6X E8G,EXDj:-&DZjm 9;Q[>xa4d;$L4Џ<쟌U5˺O^rp/NFe"&S̨4a~)sDzaYt`! pDl LM--PsL2g}ނ❎x!ca: }q4|7; yte`WW$:Z|q  Z[@׿ w'nl |syĵ/G8[w-CE|/#T^c(~n^it婿J=G+Y`A{H*0{&it=O\cty$zyF[ AzqQe)b 26_H X $J{ 8$yjUҊRkώ75[GۍZiEqe2d#?A'd ALJ)Ěf<ygsPt5pLN/ }a~bhJQzIl%&ڄlQ<GL4J?@Xߺ[/efA$!(a_(5̧*vk9%d˗=, -{ƌ{0|ݛ?|IG({(c:jy<{Jcs<#F:Q:v/v* [YѪ|r~*!pl+g 6FjuI/ZNPrp}EE/rN\=}o6r\Ϳe^!1mes`Б>PwUԪ DbT{A}W eIC͢O5U.@:HSZ~ "ny6 /VcѼm K HwHTd [nI 1R9UO{1&_7b@;Z KK[ dPk bR}/٠hgEsdپÝ0w|g֊N3#[ WUh낍ݵŕ**O8_C?U# [bn$<-s~J}ܟGR$`qkjkOL=}Sdo:<7Hc{yhiM_>.*f4QK/Ν`oΓ: Pμx ~u3%uV#m*A|?Pvŕ>m]K׏5}aYH>Mi=7(gAc[2y:`M+*[eQ +2 Y\HQئZ?xrl(EQK /Ru`2UK hRPW5@k!¾6xm j+X=IvIgj^<-u 3>O e%Wڝ(ɪsh X8$aJuIC=bf]D x#j4x͟;Žm%†rXb6)XIR^|X'_3Wd Y$$BLpcDbSH>*IV2 zteB^sm|\Bz3szLm%b0R2z mڍ Cǹw|] l7( HgU}܌/P~w afnjBr:0 ?%=N)Bzv87wO/42֧ T ~A34Ľ}|bEX?6+?`uJ}z| 8E0(zз=5L%H}Iʝ\^nߛGvgA$:hhʓ0U V6$NÉ ql<Ӊ_ 5"\S gHzNkG ? 0HX/ s_gKT qRh2%wgŵKOʌ]<͓^qBZ0^iL+#u\ݠ hwhu[uMc&Yidt@Kq ws2VzVݐQ`']ȳg,`jTkNVYj>@y@ӛraqNjcטbR\N9σDJhh:>Et')h kz8qz?$">lF'F1 vxv Q=(;]l`Jܼr)+䎑#D%X/+DθV&ݗR=&'e:شO8`6\,vIZ 7IX:>Y*tEs`zc"uVR8, ܥbx{9FԄƂO2ԃh(EP0BE'ɽ: і\)CΔeW 䁫->N!aR1Mbz Ncʄ]MjQ H81lUsTG퍏p4#UBB 'CoWUYAVL2^dpxդA- @b';үדhLj̡i%Ŭz&ɿI,5Q㟄*Τ8 Jq^:L?PE[|y!S6pXGMFHuf5g9 mIBi<\;wI_#(E RTCISK͑HyxuMM|Wf(]_q C>J }WZu\Y!;3a)"*tkghXS;E%wIn7>?5P8=2rn>`3='Xk5Vg4Nߕ*OLddV =emHH xqDۘ~lW`8;LM'6olrɴ/s'|U5~nu kRQS?_)0ncq.U&+&޵e7]&CXꦠ(yRH6XD" 9>&L:)7| o)0y? zeRqt{ª9䚬 rKLjenJ=W`oYR/0IkNa%,cдKEwtY~9WK˔7ُp%̈́ce,\@Ú脢#tI8q gT|,@wr/\_GtQJ1љ:DsZoݿ6ꅄ S[1ćZ'MtľY"eg.,@kT# _~& Od$ *{y(ɽwnN>TbRVsyL/eZ9`*>S_K;¯DT5wտhP>ngT!ixod .*azAnc ~N@VyN M3]gak?VUl2#/4tf$e:7 Q&?#Pu[:a@bnVUk)!][H6քQ}-2;`QD5=w"RR\uNN~z]JErPT1Ti)6>\|խXz>4 y]q>zyg<:B+XihTjڨougsp]/fYWv4JlNϒкF/sB`)M|D&n^Qe$i)c,Q>o=C t- ze(/ ] /VיX5vE4kY_X5sIF48b!}Gf :B^" +o}ІM߈] ٍIe𶄱Mgsi!3`eScb+̀ӝc0MCE&W;z%`[hp񐕝'DN+j*<`aE~@7#gK[@ӞNⵞ9 CaسsHhg n7):fm_\J pZf ̦GO ]\ZM3[3$[Q{ jѺޓ7 I[#@}m78:dvd:L9i﭂Mw"rs+_HÜB*3d̬T>jK@AE i%^♋ (1Nj"&M\˙~i:A#7~TU݋֟>/mYF|%tuZ3փs}fDIWY"0bP>=VC8m:8 Kbw-{ t>#9$2wH3RLtm UaT]ej[Nz鉻>v[֥xd=X Ӫǹw&D[q߆U_%I*$0uR. zeE8y*[ITE6~uz[w +MPVn:Sm?@c'=7*K,¾<$]x(mʫGf#3( +ͺlKtzaE|3H9WJ7`0,:#Faa"@$cqHyf\ˆ\zAwźr,wn¿fX!fR~6U-ǫ8G34C41-n&Ǣa"t%W uHٙ[q4E\=w]O1H]P JsxUՐ[o A -2 ȶ,`NK5t<~x dJZ.QBflbSQ';4uu6sLwRP {ss‘}3L7f1u:$ZinnMSyPK9s#Llл: xh0Ҳ̳Mbf2A"l:H~g'O9C2I:aU -YSA('o-o <lNNR5o2&<-Pr[rQ8Ձ 7@bDԨ`t 7HUsf֦3C}>HI?8 eHV d\w䙴7k@#"%8Dn .]GW̷kla泈O,qTl;{|Nz͏s0oD#=Y6n6+GeLľ&xe,@t |-Ox@}pYQuܨRs݄57d^x9M_{m(SQZE簜bTH[jtijOI-P/@xH1\77)L+"M^p3NiFCjtOE~{,LQ*o <]͎Ѥ/ (s萻-4|#R]3$A}Mk9!_ewA]q kʮԅ߬[DUPUz$y;~4BcAIsy6vL+6cBƷz[&n C. .xpPž = ڼkvq@9S[@4!<*`&L͕^=K5a3Ɲw8שzUm`ufn|)"oOLĢfsKod-`oxglMomgm{Ϫ3يk^\ѝg[2DBoc$33ULJ%XC֧\ǘL؆eQJZ⨅L6=LmFU`Ӷ"L>Tr+ɠWRʫֶqBzngiTj{@dl_5y{rT&.KgX_NeT%EZih3$t(~r͠' ۸ rEy/;\g[ 0;\]w`wT \%I5+='U[勺F4X>)ΆCL+Ub/Uu$@@l*DW?['\.&]nE-m'NyNgNdY@vҌ<2{ ړo 7BάvX~5H -W542ֳCf8]3 PS/Q!b/ej glmdLLH:>z"?[9ppRpywkCbKIS˾S-T;_UA*o dI jdQr1W^B*|}1"CM Ve*ps`DuŊI/ FI=Lec&zwu‹6_4Fd5o͙k>Ǣ D0 %~kiY7͝waIIݣug}Mlu:Đ bK`BeڼN'x+<[qQzTcO'zOy8342VsϚ-j5Vi땂J]w0q3oP(G.vYaDfp.HnVüYofdhU(hD F@Xy:0֘+%2qoL[Y@0,V@x{%?1u* >'ɹ*,K]W`k RnZ0ꂬl,HldB4,ut4-^|FTT }Xֻϩ|5e'ml/0;.pYBaY9IId{̠;tvo.+yp?Gi~s&|EmwfɄ/:Q``WL"62-;/L!&Qrؙlޏ)u9 .t 6>^2O;&p1:cIޘV((@+AxW緜i5+oqa'5O1novWLf@ CVXr`Û 2N/~zQ/-uBD!fBI,`iE«MlvhdR\LXG1)'(è8լ2 9&# o\> @݂D8F8wIl7d==~\ l d#eE;qc[½>#Yv?\B_@T-NM>O]h>^ 9Wאo1Y,V.ѻ4t'W]zQ t-^~7W#C %<9 VF++Ǒ3V( >v#]H$u;VSc׃VۮwɫK}LQ,;ܵw&|&=fh,ޚ5Ju+Rߎ~ޢ I5\"EbWEi듟S8 8*HƈY/)=2RԢZRAk,=h@83['{^r ќ v'[U7mXKruϑ ɨc  -_;5[ Oe)IU]6VL me-[W`חm8@k 0Y"H֍ GpBe*5UR4h~ԃRՀ;xx)& Ps'B3.(Hk+ڀȮ' wY`'Ff=eϸ{݊ח<+N0kE+HWg:YW89x% rڨZ8-kr=PZeqK WO+FS֮pᆂb(V85ȿiyE\W˰t( U-u}4(D}僇ԑGt;)HePnJ"gSCRfPI! "i>/L* q, C Ј`P5 )0-Wp`t(sIVWNs@H>-5S9т+?:2e$+$HVto_,BGtD**\chqyQئKa0z# vgE]#,(ކnkL-(rL˨Qu+cĔAW E76$&Ϡ Œ_*,"9FO yUѨfG|!O#&8C+g٫WE_5i΅!#iq~ee`YD'&ROJxpbdʥrl ikӟ3 ~?E:\/"VƧ0=Qw?貌R=˒nF˦eT(׮]=|GKmQ KT8ތ:Lu5RmDa5 a*Rm >!GNH'Bmb[^YGL;/g2"Ț2&Ί ISmרRaynKiX .iv!RU {j| K8l >G]SMژXJɼ?O 1 NT/ ɪ0=Dv@[s(w٪*ŷDYJ=R!l 6(WH" 0jTTJc "/aD?? 򆜥6t>dێΣ')%4>ίd39X~J eRbfL ?mvb~\=[*mgٔ !,+GOhܿlIqRֹzi}Fio‰l6ͣ M5Ez(M^:!8 }v~s PKS89h}lГ,-L .iM*W4q{XQ9aʷٜSV_+ơ:Ҟif-զ967 RUIIj?e?)뵲v5aJJ$]&Qu:x*ѡ6:r(ФB;ry%R컊27k !kdBC$r&S6bj[feY# )8j[56Tml, `nfÀV7LG݀Pk,R_$ק{9(]#[h>>1ݿhpゲAAI(}6!F0i#YaL6ayZٕ+XH_ΥkhD9+Zoav ey/ā|/€δUX豋R{:?cg;]&AGqy ,d%+zN-f$_,r bu lMbsZ5ˤ! eۀidֆ wT%iq+ص))6~:XpQ,-6 T#ZOxѷpb( #;=(I:r|Izr'e bf1g\,M6X) <ziUo"4A~}0ֿ_0 vː*/}g(qa}[bǼߧwU  QPoo%qk씖A"S[^S8aP QWa 1[/Ӥr_,9#{L` jj=̎@qB~b$pk;)6(#XtRM71svd8\PCzA9Cm/-D)/AoۯY,b(VjQX!d<wMaR 8 $Ii'G9;| M@`Oq] 5,u@+ ξ9\\CWׅ:S7Qjo5 T"RR//I^t5,O[ݤ>s:_OvYs'OY[ö>6ݒBC' j,Q4##"t|WpjOh3/gOҥtYD印.9!,$u2W'Z=BV umpFMxRs.63b+Qn yLR6AUdK3ƫ[P+d=qX8K]TKt_#{B ,V'}FC,jQm0InXVcQ N\Z@_9&rZA7KB= 9W ڙs NX0:O) 曃d4?|z\O6څGhd<<)!˶D|Ww@\A[։:V aϾ}ET5RĿTWSlgu}>w?8;1^Ru88oDʫ5.+Sq.zBMEuGJPH*;++}1 cf|{H*:E:8Xvq1f#ٸhT_렼-4fJNio #@BPj-Ѵ@~v/@L/@GȦy<trDh15@#NGKJF3S,"~#ǣ#6rr5p\ I,]dv4AV3Q{.RX{〥)fQ7b3$Vk,dYLͯwWb?WMg*YU2}:A>[#|ԧxt.^ (_}an+/.r51`|f]~D+hu /c$RN+v8xCM< gUYxYuY/TUK(+*{R,h #Kw-j`Ӫ* Am}70 f.Qtgv;U_[*={6g5f`R.cw~1,&':RTܶ.],hN} vIoE{WR)|!qbx;$Ϩ2Z]W2^T[wꋼ#g)4TؐwbN0q,# X$@==xnkvi-[cYk9qHgqi6?Čiqd5vw1cٽOex>cT{j-aī ?KB{BxSY;1*,9;ގ_5CPAkM;1Zq[2 WX $Xoo`p~*r%Z5B~j*kUq,ϖ^`fۡFg̴3%Ce.tnEv9oE?f5uN"zBW[NB܀%.E@/E;,m!$ $>;ڇ`^n*?t'Ŭ Nĥw^c*˻(w3;FRw6'y4с:@d>< `A X>M,( LX&ve^^$+dJijJJ gEէ61fRYt3pb+ lyCKUwW`QBGm 4dhQNg7l;CpMm*z;1sħ*O/RW6 ޖ["W`ZK6xo"[8F^_-ǧʽx+7nuDPDQD|2:KhL׌ı=+Ϊc iӹ5w]U gLD \#g7RN{Ex6:y^t_M}ȧZiFјk>,ᵇ|7!D~svdOɒe+e`ftzˤp(/:o~E{9.gsxSoD@Y.ynY=(?gC1ɈC{81Bq&rvYֆt $D3H ,ٕ\G,n1JNPs*q/K,O50o3܏:m &P`!ϲ6lX41R݁V#ɯ@Ú5շ $%~O)ʬ1=Dt>!S,î H|q" @ě%* cpUݿ:mYzQ8ou?9xFɊܽGzU|_SQG>Ԫ?Ž6YtVǝ@qz-dV pC5t)ܷ qJn69vEP@(l hΑGr;GU [+=ry"1&tQ3Z0Kʻ"',zrk~tӡ:[xU8 !G[q㗌\f\teۦ*}>`ڐ+wJH_8r8؞O8(^\wG`Cw4' >"2Iŗhw+{лJOH=i+zEj84y(Oݕ,)irQ9*. T:>6 dP?_V+ 2Z0~ ru ."|y:W#zJ|HU;DZ+RYRc%)Ji:XG{"gg0.RG!MsMNdC1*@č{zN^E=5Eփ [h{˪w݇<[$Ą)ٽ5C4h=F8걑6 ћk^V#0-{ʸI,t;"eHygi^qIo0?F܎P FF@1i]Ȣ`\]4˿l< }!FfTv4?uV)"+hK^'#ih8ŠUNJ9qxI\{dȐ6!0cS߀tϽ~;4R9*+;s-@rWܽyCg*kGu&\J %ic}x p6ANN']VN\=B9N]Y1H]F uC´V!Hn̜/qйb΃C~GgnNJe%})~QlWq [X9|ێil.)XB1\-Kڙy%&,eсpZnit;Č HA#*m5D,ةC/x+;<\=/q+F +B{ߩ@q] p(Om-c:8j'84p% f>P)( 6҇>HZ4%yFgl}<).w|铪UTjc6&hoG pXq='xf̐4P-Δvk[tɈ%D,W#+IC,UVHqݤ!ߵQ$`\OvŘo=Z%}>nb nN2oڈ-ShEmT `i(J^'uv+VdGD#6`61G-rY ǟh$6I]F|4v-kyמ[v+jpG;>LRz+k<۱' !S|) 3Pk%pO1bb-+= e}9aFY!YҸ1Au$[|E]V3k燜FQXYZS/ eHcnwA@ïS Af%6>Kf0:`3#-|?3 *3;|J^M?Tb2,??0%ݾ_^|orM"&Vܕ[P@e9`7loU%mˉ*e#(1<6q`gȨQ *Sljz]&T%U;mKiG6a(5َ|2xI咉`Pȅ/|LLDY .ƈƂfeT6rD9Bs[^k]fN|J7=3S|zɻ ϩi-6YE0̍&~aci#d[^E˅F@*(и.*wkSJ8/l.8͂ANHb \s"}ԭ\P,TPv<:49'+j#q^.TM| i@0JAdg^cM._ۇ҆ᚄnܢo) g9 -@'W;z f z$ٱ|p0:잘s0h':<1,q+ 9ѹo%R',ʺ`= Z[U^khc@*V q6NC-7b< ` !B"ļI_>SU\JB [/n5:|#m=:z%{DO*eubBku eP\!Ke\INdc"[kTMȎlI)] YZ