tiff-0.9.0/.cargo_vcs_info.json0000644000000001360000000000100117720ustar { "git": { "sha1": "fcfcecb2dfb2b934e4626ebbcf04d687635ea554" }, "path_in_vcs": "" }tiff-0.9.0/.github/workflows/rust.yml000064400000000000000000000017031046102023000157000ustar 00000000000000name: Rust CI on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: ubuntu-latest strategy: matrix: rust: ["1.61", stable, beta, nightly] command: [build, test] steps: - uses: actions/checkout@v2 - run: rustup default ${{ matrix.rust }} - name: build run: > cargo build --verbose --no-default-features --features "$FEATURES" - name: test run: > cargo test --tests --benches --no-default-features --features "$FEATURES" if: ${{ matrix.rust != '1.61' }} env: FEATURES: ${{ matrix.features }} rustfmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: stable override: true components: rustfmt - name: Run rustfmt check uses: actions-rs/cargo@v1 with: command: fmt args: -- --check tiff-0.9.0/.gitignore000064400000000000000000000000401046102023000125440ustar 00000000000000 /target/ **/*.rs.bk Cargo.lock tiff-0.9.0/CHANGES.md000064400000000000000000000205071046102023000121600ustar 00000000000000# Version 0.9.0 New features: * Added support for photometric interpretation `YCbCr` and added related `ColorType`. Fixes: * Decoding tiled images calculates padding correctly when image width or height is a multiple of tile size. It could previously corrupt the last tile per row by skipping over data. # Version 0.8.1 Changes: * The jpeg decoder gained to ability to utilize the Photometric Interpretation directly instead of relying on a custom APP segment. Fixes: * A spurious error within the PackBits decoder lead to the incorrect results (wrong bits or errors), based on the maximum size of reads from the underlying reader. * Removed a panic path in jpeg decoding, when a feature such as photometric interpretation is not supported. An error is returned instead. # Version 0.8.0 Changes: * The minimum supported rust version is now indicated in `Cargo.toml`. * The enums `TiffFormatError` and `TiffUnsupportedError` are now marked with the `#[non_exhaustive]` attribute. * Additionally, tag related enums `Value`, `Tags`, `Type`, `CompressionMethod`, `PhotometricInterpretation`, `PlanarConfiguration`, `Predictor`, `ResolutionUnit`, `SampleFormat` are also changed. Removals: * Removed deprecated methods of `Decoder`: `init`, `read_jpeg`, `read_strip_to_buffer`, `read_strip`, `read_tile`. The implicit chunk (row or tile) index order could not be easily tracked by the caller. New separate utility interfaces may be introduced at a later point, for now callers are obligated to choose their own. Fixes: * Update to `jpeg_decoder = 0.3`. # Version 0.7.4 New features: * Creating an encoder for invalid, zero-sized images is now rejected. Fixes: * Fix panic, in a case where decoding jpeg encoded images did not expect the jpeg decoder to return an error. * Fix panic by validating `rows_per_strip` better, fixing a division-by-zero. # Version 0.7.3 New features: * Allow decoder to access specific tiles by index. * Add support for floating point predictor. * Tiled jpeg file support. Changes: * Various refactoring and performance improvements. # Version 0.7.2 New features: * Encoding with `ImageEncoder` now takes an optional compressor argument, allowing compressed encoding. See the methods `TiffEncoder::{new_image,write_image}_with_compression`. * `jpeg_decoder` has been upgraded, now supports lossless JPEG. Changes: * Decoding now more consistently reads and interprets the initial IFD, instead of performing _some_ interpretation lazily. (This change prepares fully lazy and backwards seeking.) # Version 0.7.1 New features: * Encoding signed integer formats is now supported. * Extensive fuzzing with `cargo fuzz`. Changes: * Tile decoding should be a little faster, requires one less intermediate buffer. * Images whose IFDs form a cycle due to their offsets will now raise an error when the cycle would be entered (jumping back should still be supported). Fixes: * Fixed a regression that caused conflict between strips and tile images, causing errors in decoding some images. * Use checked integer arithmetic in limit calculations, fixes overflows. * IFD Tags are now always cleared between images. * Found by fuzzing: Several memory limit overflows; JPEG now correctly validates offsets and a minimum size of its table; Check upper limit of strip byte size correctly; Notes: Our CI has warned that this version no longer builds on `1.34.2` out of the box. We're still committed to the MSRV on this major version yet one dependency—`flate2`—has already bumped it in a SemVer compatible version of its own. This is out-of-our-control (cargo's dependency resolution does not allow us to address this in a reasonable manner). This can be address this by pinning the version of `flate2` to `1.0.21` in your own files. However, you should understand that this puts you in considerable maintenance debt as you will no longer receive any updates for this dependency and any package that _requires_ a new version of the `1.0` series would be incompatible with this requirement (cargo might yell at you very loudly). # Version 0.7.0 New features: * Support for encoding BigTiff ([#122](https://github.com/image-rs/image-tiff/pull/122)) * _Breaking:_ Encoder types now have a generic parameter to differentiate BigTiff and standard Tiff encoding. Defaults to standard Tiff. * Basic tile decoding ([#125](https://github.com/image-rs/image-tiff/pull/125)) * _Breaking:_ There is a new `TiffError::UsageError` variant. * Support for datatypes `Int8` and `Int16` ([#114](https://github.com/image-rs/image-tiff/pull/114)) * _Breaking:_ `DecodingResult` and `DecodingBuffer` have the two new variants `I8` and `I16`. * Support for `i32` arrays ([#118](https://github.com/image-rs/image-tiff/pull/118/files)) * _Breaking:_ `DecodingResult` and `DecodingBuffer` have a new `I32` variant. * Support for `Ifd` and `IfdBig` tag types and `I64` data type ([#119](https://github.com/image-rs/image-tiff/pull/119)) * _Breaking:_ `DecodingResult` and `DecodingBuffer` have a new `I64` variant. * Add `SMinSampleValue` and `SMaxSampleValue` ([#123](https://github.com/image-rs/image-tiff/pull/123)) Changes: * Improve deflate support ([#132](https://github.com/image-rs/image-tiff/pull/132)) * Switch to streaming decompression via `flate2`. Aside from performance improvements and lower RAM consumption, this fixes a bug where `max_uncompressed_length` was precalculated for a single tile but then used as a hard limit on the whole data, failing to decompress any tiled images. * Add support for new `Deflate` tag in addition to `OldDeflate`. * _Breaking:_ Remove `InflateError`, which is no longer needed with `flate2` ([#134](https://github.com/image-rs/image-tiff/pull/134)) * _Breaking:_ Support for `MinIsWhite` is restricted to unsigned and floating point values. This is expected to be be re-added once some contradictory interpretation regarding semantics for signed values is resolved. Fixes: * Validate that ASCII tags are valid ASCII and end with a null byte ([#121](https://github.com/image-rs/image-tiff/pull/121)) Internal: * Simplify decompression logic ([#126](https://github.com/image-rs/image-tiff/pull/126)) * Simplify `expand_strip` ([#128](https://github.com/image-rs/image-tiff/pull/128)) # Version 0.6.1 New features: * Support for reading `u16` and ascii string tags. * Added `Limits::unlimited` for disabling all limits. * Added `ImageEncoder::rows_per_strip` to overwrite the default. Changes: * The default strip size for chunked encoding is now 1MB, up from 8KB. This should lead to more efficient decoding and compression. Fixes: * Fixed a bug where LZW compressed strips could not be decoded, instead returning an error `Inconsistent sizes encountered`. * Reading a tag with a complex type and a single value returns the proper Value variant, instead of a vector with one entry. # Version 0.6.0 New features: * Support for decoding BigTIFF with 64-bit offsets * The value types byte, `f32`, `f64` are now recognized * Support for Modern JPEG encoded images Improvements: * Better support for adding auxiliary tags before encoding image data * Switched to lzw decoder library `weezl` for performance * The `ColorType` trait now supports `SAMPLE_ENCODING` hints Fixes: * Fixed decoding of inline ASCII in tags * Fixed handling after null terminator in ASCII data * Recognize tile and sample format tags # Version 0.5.0 * Added support for 32-bit and 64-bit decoded values. * Added CMYK(16|32|64) color type support. * Check many internal integer conversions to increase stability. This should only lead to images being reported as faulty that would previously silently break platform limits. If there are any false positives, please report them. * Remove an erroneous check of decoded length in lzw compressed images. # Version 0.4.0 * Several enumerations are now non_exhaustive for future extensions. These are `Tag`, `Type`, `Value`, `PhotometricInterpretation`, `CompressionMethod`, `Predictor`. * Enums gained a dedicated method to convert to their TIFF variant value with the specified type. Performing these conversions by casting the discriminant with `as` is not guaranteed to be stable, except where documented explicitly. * Removed the num-derive and num dependencies. * Added support for decoding `deflate` compressed images. * Make the decoder `Limits` customizable by exposing members. * Fixed multi-page TIFF encoding writing incorrect offsets. tiff-0.9.0/Cargo.toml0000644000000021770000000000100077770ustar # THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies. # # If you are reading this file be aware that the original Cargo.toml # will likely look very different (and much more reasonable). # See Cargo.toml.orig for the original contents. [package] edition = "2018" rust-version = "1.61.0" name = "tiff" version = "0.9.0" authors = ["The image-rs Developers"] exclude = [ "tests/images/*", "tests/fuzz_images/*", ] description = "TIFF decoding and encoding library in pure Rust" readme = "README.md" categories = [ "multimedia::images", "multimedia::encoding", ] license = "MIT" repository = "https://github.com/image-rs/image-tiff" resolver = "2" [[bench]] name = "lzw" harness = false [dependencies.flate2] version = "1.0.20" [dependencies.jpeg] version = "0.3.0" default-features = false package = "jpeg-decoder" [dependencies.weezl] version = "0.1.0" [dev-dependencies.criterion] version = "0.3.1" tiff-0.9.0/Cargo.toml.orig000064400000000000000000000012431046102023000134510ustar 00000000000000[package] name = "tiff" version = "0.9.0" edition = "2018" resolver = "2" # note: when changed, also update test runner in `.github/workflows/rust.yml` rust-version = "1.61.0" license = "MIT" description = "TIFF decoding and encoding library in pure Rust" authors = ["The image-rs Developers"] repository = "https://github.com/image-rs/image-tiff" categories = ["multimedia::images", "multimedia::encoding"] exclude = ["tests/images/*", "tests/fuzz_images/*"] [dependencies] weezl = "0.1.0" jpeg = { package = "jpeg-decoder", version = "0.3.0", default-features = false } flate2 = "1.0.20" [dev-dependencies] criterion = "0.3.1" [[bench]] name = "lzw" harness = false tiff-0.9.0/LICENSE000064400000000000000000000020611046102023000115660ustar 00000000000000MIT License Copyright (c) 2018 PistonDevelopers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. tiff-0.9.0/README.md000064400000000000000000000051421046102023000120430ustar 00000000000000# image-tiff [![Build Status](https://github.com/image-rs/image-tiff/workflows/Rust%20CI/badge.svg)](https://github.com/image-rs/image-tiff/actions) [![Documentation](https://docs.rs/tiff/badge.svg)](https://docs.rs/tiff) [![Further crate info](https://img.shields.io/crates/v/tiff.svg)](https://crates.io/crates/tiff) TIFF decoding and encoding library in pure Rust ## Supported ### Features - Baseline spec (other than formats and tags listed below as not supported) - Multipage - BigTIFF - Incremental decoding ### Formats This table lists photometric interpretations and sample formats which are supported for encoding and decoding. The entries are `ColorType` variants for which sample bit depths are supported. Only samples where all bit depths are equal are currently supported. For example, `RGB(8)` means that the bit depth [8, 8, 8] is supported and will be interpreted as an 8 bit per channel RGB color type. | `PhotometricInterpretation` | UINT Format | IEEEFP Format | | --------------------------- | --------------------------------------- | ------------------------- | | `WhiteIsZero` | Gray(8\|16\|32\|64) | Gray(32\|64) | | `BlackIsZero` | Gray(8\|16\|32\|64) | Gray(32\|64) | | `RGB` | RGB(8\|16\|32\|64), RGBA(8\|16\|32\|64) | RGB(32\|64), RGBA(32\|64) | | `RGBPalette` | | | | `Mask` | | | | `CMYK` | CMYK(8\|16\|32\|64) | CMYK(32\|64) | | `YCbCr` | | | | `CIELab` | | | ### Compressions | | Decoding | Encoding | | -------- | -------- | -------- | | None | ✓ | ✓ | | LZW | ✓ | ✓ | | Deflate | ✓ | ✓ | | PackBits | ✓ | ✓ | ## Not yet supported Formats and interpretations not listed above or with empty entries are unsupported. - Baseline tags - `ExtraSamples` - Extension tags ## Fuzzing This crate uses [cargo-fuzz](https://github.com/rust-fuzz/cargo-fuzz) in order to test the image parser. After installing it with `cargo install cargo-fuzz` on a nightly rustc, the fuzzing harness can be run with recommended settings using `cargo fuzz run decode_image -snone -- -timeout=5`. tiff-0.9.0/benches/lzw.rs000064400000000000000000000040141046102023000133520ustar 00000000000000extern crate criterion; extern crate tiff; use criterion::{ black_box, measurement::Measurement, BenchmarkGroup, BenchmarkId, Criterion, Throughput, }; use tiff::decoder::Decoder; fn read_image(image: &[u8]) { let image = std::io::Cursor::new(image); let decoder = Decoder::new(black_box(image)); let mut reader = decoder.unwrap(); while { reader.read_image().unwrap(); reader.more_images() } {} } fn main() { struct BenchDef { data: &'static [u8], id: &'static str, sample_size: usize, } fn run_bench_def(group: &mut BenchmarkGroup, def: BenchDef) { group .sample_size(def.sample_size) .throughput(Throughput::Bytes(def.data.len() as u64)) .bench_with_input( BenchmarkId::new(def.id, def.data.len()), def.data, |b, input| b.iter(|| read_image(input)), ); } let mut c = Criterion::default().configure_from_args(); let mut group = c.benchmark_group("tiff-lzw"); macro_rules! data_file { ($name:literal) => { include_bytes!(concat!(env!("CARGO_MANIFEST_DIR"), $name)) }; } run_bench_def( &mut group, BenchDef { data: data_file!("/tests/images/issue_69_lzw.tiff"), id: "issue-69-lzw.tif", sample_size: 500, }, ); run_bench_def( &mut group, BenchDef { data: data_file!("/tests/benches/kodim02-lzw.tif"), id: "kodim02-lzw.tif", sample_size: 20, }, ); run_bench_def( &mut group, BenchDef { data: data_file!("/tests/benches/kodim07-lzw.tif"), id: "kodim07-lzw.tif", sample_size: 20, }, ); run_bench_def( &mut group, BenchDef { data: data_file!("/tests/benches/Transparency-lzw.tif"), id: "Transparency-lzw.tif", sample_size: 20, }, ); } tiff-0.9.0/src/bytecast.rs000064400000000000000000000034471046102023000135450ustar 00000000000000//! Trivial, internal byte transmutation. //! //! A dependency like bytemuck would give us extra assurance of the safety but overall would not //! reduce the amount of total unsafety. We don't use it in the interface where the traits would //! really become useful. //! //! SAFETY: These are benign casts as we apply them to fixed size integer types only. All of them //! are naturally aligned, valid for all bit patterns and their alignment is surely at most their //! size (we assert the latter fact since it is 'implementation defined' if following the letter of //! the unsafe code guidelines). //! //! TODO: Would like to use std-lib here. use std::{mem, slice}; macro_rules! integral_slice_as_bytes{($int:ty, $const:ident $(,$mut:ident)*) => { pub(crate) fn $const(slice: &[$int]) -> &[u8] { assert!(mem::align_of::<$int>() <= mem::size_of::<$int>()); unsafe { slice::from_raw_parts(slice.as_ptr() as *const u8, mem::size_of_val(slice)) } } $(pub(crate) fn $mut(slice: &mut [$int]) -> &mut [u8] { assert!(mem::align_of::<$int>() <= mem::size_of::<$int>()); unsafe { slice::from_raw_parts_mut(slice.as_mut_ptr() as *mut u8, mem::size_of_val(slice)) } })* }} integral_slice_as_bytes!(i8, i8_as_ne_bytes, i8_as_ne_mut_bytes); integral_slice_as_bytes!(u16, u16_as_ne_bytes, u16_as_ne_mut_bytes); integral_slice_as_bytes!(i16, i16_as_ne_bytes, i16_as_ne_mut_bytes); integral_slice_as_bytes!(u32, u32_as_ne_bytes, u32_as_ne_mut_bytes); integral_slice_as_bytes!(i32, i32_as_ne_bytes, i32_as_ne_mut_bytes); integral_slice_as_bytes!(u64, u64_as_ne_bytes, u64_as_ne_mut_bytes); integral_slice_as_bytes!(i64, i64_as_ne_bytes, i64_as_ne_mut_bytes); integral_slice_as_bytes!(f32, f32_as_ne_bytes, f32_as_ne_mut_bytes); integral_slice_as_bytes!(f64, f64_as_ne_bytes, f64_as_ne_mut_bytes); tiff-0.9.0/src/decoder/ifd.rs000064400000000000000000000566021046102023000140770ustar 00000000000000//! Function for reading TIFF tags use std::collections::HashMap; use std::convert::{TryFrom, TryInto}; use std::io::{self, Read, Seek}; use std::mem; use std::str; use super::stream::{ByteOrder, EndianReader, SmartReader}; use crate::tags::{Tag, Type}; use crate::{TiffError, TiffFormatError, TiffResult}; use self::Value::{ Ascii, Byte, Double, Float, Ifd, IfdBig, List, Rational, RationalBig, SRational, SRationalBig, Short, Signed, SignedBig, Unsigned, UnsignedBig, }; #[allow(unused_qualifications)] #[derive(Debug, Clone, PartialEq)] #[non_exhaustive] pub enum Value { Byte(u8), Short(u16), Signed(i32), SignedBig(i64), Unsigned(u32), UnsignedBig(u64), Float(f32), Double(f64), List(Vec), Rational(u32, u32), RationalBig(u64, u64), SRational(i32, i32), SRationalBig(i64, i64), Ascii(String), Ifd(u32), IfdBig(u64), } impl Value { pub fn into_u8(self) -> TiffResult { match self { Byte(val) => Ok(val), val => Err(TiffError::FormatError(TiffFormatError::ByteExpected(val))), } } pub fn into_u16(self) -> TiffResult { match self { Short(val) => Ok(val), Unsigned(val) => Ok(u16::try_from(val)?), UnsignedBig(val) => Ok(u16::try_from(val)?), val => Err(TiffError::FormatError( TiffFormatError::UnsignedIntegerExpected(val), )), } } pub fn into_u32(self) -> TiffResult { match self { Short(val) => Ok(val.into()), Unsigned(val) => Ok(val), UnsignedBig(val) => Ok(u32::try_from(val)?), Ifd(val) => Ok(val), IfdBig(val) => Ok(u32::try_from(val)?), val => Err(TiffError::FormatError( TiffFormatError::UnsignedIntegerExpected(val), )), } } pub fn into_i32(self) -> TiffResult { match self { Signed(val) => Ok(val), SignedBig(val) => Ok(i32::try_from(val)?), val => Err(TiffError::FormatError( TiffFormatError::SignedIntegerExpected(val), )), } } pub fn into_u64(self) -> TiffResult { match self { Short(val) => Ok(val.into()), Unsigned(val) => Ok(val.into()), UnsignedBig(val) => Ok(val), Ifd(val) => Ok(val.into()), IfdBig(val) => Ok(val), val => Err(TiffError::FormatError( TiffFormatError::UnsignedIntegerExpected(val), )), } } pub fn into_i64(self) -> TiffResult { match self { Signed(val) => Ok(val.into()), SignedBig(val) => Ok(val), val => Err(TiffError::FormatError( TiffFormatError::SignedIntegerExpected(val), )), } } pub fn into_f32(self) -> TiffResult { match self { Float(val) => Ok(val), val => Err(TiffError::FormatError( TiffFormatError::SignedIntegerExpected(val), )), } } pub fn into_f64(self) -> TiffResult { match self { Double(val) => Ok(val), val => Err(TiffError::FormatError( TiffFormatError::SignedIntegerExpected(val), )), } } pub fn into_string(self) -> TiffResult { match self { Ascii(val) => Ok(val), val => Err(TiffError::FormatError( TiffFormatError::SignedIntegerExpected(val), )), } } pub fn into_u32_vec(self) -> TiffResult> { match self { List(vec) => { let mut new_vec = Vec::with_capacity(vec.len()); for v in vec { new_vec.push(v.into_u32()?) } Ok(new_vec) } Unsigned(val) => Ok(vec![val]), UnsignedBig(val) => Ok(vec![u32::try_from(val)?]), Rational(numerator, denominator) => Ok(vec![numerator, denominator]), RationalBig(numerator, denominator) => { Ok(vec![u32::try_from(numerator)?, u32::try_from(denominator)?]) } Ifd(val) => Ok(vec![val]), IfdBig(val) => Ok(vec![u32::try_from(val)?]), Ascii(val) => Ok(val.chars().map(u32::from).collect()), val => Err(TiffError::FormatError( TiffFormatError::UnsignedIntegerExpected(val), )), } } pub fn into_u8_vec(self) -> TiffResult> { match self { List(vec) => { let mut new_vec = Vec::with_capacity(vec.len()); for v in vec { new_vec.push(v.into_u8()?) } Ok(new_vec) } Byte(val) => Ok(vec![val]), val => Err(TiffError::FormatError( TiffFormatError::UnsignedIntegerExpected(val), )), } } pub fn into_u16_vec(self) -> TiffResult> { match self { List(vec) => { let mut new_vec = Vec::with_capacity(vec.len()); for v in vec { new_vec.push(v.into_u16()?) } Ok(new_vec) } Short(val) => Ok(vec![val]), val => Err(TiffError::FormatError( TiffFormatError::UnsignedIntegerExpected(val), )), } } pub fn into_i32_vec(self) -> TiffResult> { match self { List(vec) => { let mut new_vec = Vec::with_capacity(vec.len()); for v in vec { match v { SRational(numerator, denominator) => { new_vec.push(numerator); new_vec.push(denominator); } SRationalBig(numerator, denominator) => { new_vec.push(i32::try_from(numerator)?); new_vec.push(i32::try_from(denominator)?); } _ => new_vec.push(v.into_i32()?), } } Ok(new_vec) } Signed(val) => Ok(vec![val]), SignedBig(val) => Ok(vec![i32::try_from(val)?]), SRational(numerator, denominator) => Ok(vec![numerator, denominator]), SRationalBig(numerator, denominator) => { Ok(vec![i32::try_from(numerator)?, i32::try_from(denominator)?]) } val => Err(TiffError::FormatError( TiffFormatError::SignedIntegerExpected(val), )), } } pub fn into_f32_vec(self) -> TiffResult> { match self { List(vec) => { let mut new_vec = Vec::with_capacity(vec.len()); for v in vec { new_vec.push(v.into_f32()?) } Ok(new_vec) } Float(val) => Ok(vec![val]), val => Err(TiffError::FormatError( TiffFormatError::UnsignedIntegerExpected(val), )), } } pub fn into_f64_vec(self) -> TiffResult> { match self { List(vec) => { let mut new_vec = Vec::with_capacity(vec.len()); for v in vec { new_vec.push(v.into_f64()?) } Ok(new_vec) } Double(val) => Ok(vec![val]), val => Err(TiffError::FormatError( TiffFormatError::UnsignedIntegerExpected(val), )), } } pub fn into_u64_vec(self) -> TiffResult> { match self { List(vec) => { let mut new_vec = Vec::with_capacity(vec.len()); for v in vec { new_vec.push(v.into_u64()?) } Ok(new_vec) } Unsigned(val) => Ok(vec![val.into()]), UnsignedBig(val) => Ok(vec![val]), Rational(numerator, denominator) => Ok(vec![numerator.into(), denominator.into()]), RationalBig(numerator, denominator) => Ok(vec![numerator, denominator]), Ifd(val) => Ok(vec![val.into()]), IfdBig(val) => Ok(vec![val]), Ascii(val) => Ok(val.chars().map(u32::from).map(u64::from).collect()), val => Err(TiffError::FormatError( TiffFormatError::UnsignedIntegerExpected(val), )), } } pub fn into_i64_vec(self) -> TiffResult> { match self { List(vec) => { let mut new_vec = Vec::with_capacity(vec.len()); for v in vec { match v { SRational(numerator, denominator) => { new_vec.push(numerator.into()); new_vec.push(denominator.into()); } SRationalBig(numerator, denominator) => { new_vec.push(numerator); new_vec.push(denominator); } _ => new_vec.push(v.into_i64()?), } } Ok(new_vec) } Signed(val) => Ok(vec![val.into()]), SignedBig(val) => Ok(vec![val]), SRational(numerator, denominator) => Ok(vec![numerator.into(), denominator.into()]), SRationalBig(numerator, denominator) => Ok(vec![numerator, denominator]), val => Err(TiffError::FormatError( TiffFormatError::SignedIntegerExpected(val), )), } } } #[derive(Clone)] pub struct Entry { type_: Type, count: u64, offset: [u8; 8], } impl ::std::fmt::Debug for Entry { fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> Result<(), ::std::fmt::Error> { fmt.write_str(&format!( "Entry {{ type_: {:?}, count: {:?}, offset: {:?} }}", self.type_, self.count, &self.offset )) } } impl Entry { pub fn new(type_: Type, count: u32, offset: [u8; 4]) -> Entry { let mut offset = offset.to_vec(); offset.append(&mut vec![0; 4]); Entry::new_u64(type_, count.into(), offset[..].try_into().unwrap()) } pub fn new_u64(type_: Type, count: u64, offset: [u8; 8]) -> Entry { Entry { type_, count, offset, } } /// Returns a mem_reader for the offset/value field fn r(&self, byte_order: ByteOrder) -> SmartReader>> { SmartReader::wrap(io::Cursor::new(self.offset.to_vec()), byte_order) } pub fn val( &self, limits: &super::Limits, bigtiff: bool, reader: &mut SmartReader, ) -> TiffResult { // Case 1: there are no values so we can return immediately. if self.count == 0 { return Ok(List(Vec::new())); } let bo = reader.byte_order(); let tag_size = match self.type_ { Type::BYTE | Type::SBYTE | Type::ASCII | Type::UNDEFINED => 1, Type::SHORT | Type::SSHORT => 2, Type::LONG | Type::SLONG | Type::FLOAT | Type::IFD => 4, Type::LONG8 | Type::SLONG8 | Type::DOUBLE | Type::RATIONAL | Type::SRATIONAL | Type::IFD8 => 8, }; let value_bytes = match self.count.checked_mul(tag_size) { Some(n) => n, None => { return Err(TiffError::LimitsExceeded); } }; // Case 2: there is one value. if self.count == 1 { // 2a: the value is 5-8 bytes and we're in BigTiff mode. if bigtiff && value_bytes > 4 && value_bytes <= 8 { return Ok(match self.type_ { Type::LONG8 => UnsignedBig(self.r(bo).read_u64()?), Type::SLONG8 => SignedBig(self.r(bo).read_i64()?), Type::DOUBLE => Double(self.r(bo).read_f64()?), Type::RATIONAL => { let mut r = self.r(bo); Rational(r.read_u32()?, r.read_u32()?) } Type::SRATIONAL => { let mut r = self.r(bo); SRational(r.read_i32()?, r.read_i32()?) } Type::IFD8 => IfdBig(self.r(bo).read_u64()?), Type::BYTE | Type::SBYTE | Type::ASCII | Type::UNDEFINED | Type::SHORT | Type::SSHORT | Type::LONG | Type::SLONG | Type::FLOAT | Type::IFD => unreachable!(), }); } // 2b: the value is at most 4 bytes or doesn't fit in the offset field. return Ok(match self.type_ { Type::BYTE => Unsigned(u32::from(self.offset[0])), Type::SBYTE => Signed(i32::from(self.offset[0] as i8)), Type::UNDEFINED => Byte(self.offset[0]), Type::SHORT => Unsigned(u32::from(self.r(bo).read_u16()?)), Type::SSHORT => Signed(i32::from(self.r(bo).read_i16()?)), Type::LONG => Unsigned(self.r(bo).read_u32()?), Type::SLONG => Signed(self.r(bo).read_i32()?), Type::FLOAT => Float(self.r(bo).read_f32()?), Type::ASCII => { if self.offset[0] == 0 { Ascii("".to_string()) } else { return Err(TiffError::FormatError(TiffFormatError::InvalidTag)); } } Type::LONG8 => { reader.goto_offset(self.r(bo).read_u32()?.into())?; UnsignedBig(reader.read_u64()?) } Type::SLONG8 => { reader.goto_offset(self.r(bo).read_u32()?.into())?; SignedBig(reader.read_i64()?) } Type::DOUBLE => { reader.goto_offset(self.r(bo).read_u32()?.into())?; Double(reader.read_f64()?) } Type::RATIONAL => { reader.goto_offset(self.r(bo).read_u32()?.into())?; Rational(reader.read_u32()?, reader.read_u32()?) } Type::SRATIONAL => { reader.goto_offset(self.r(bo).read_u32()?.into())?; SRational(reader.read_i32()?, reader.read_i32()?) } Type::IFD => Ifd(self.r(bo).read_u32()?), Type::IFD8 => { reader.goto_offset(self.r(bo).read_u32()?.into())?; IfdBig(reader.read_u64()?) } }); } // Case 3: There is more than one value, but it fits in the offset field. if value_bytes <= 4 || bigtiff && value_bytes <= 8 { match self.type_ { Type::BYTE => return offset_to_bytes(self.count as usize, self), Type::SBYTE => return offset_to_sbytes(self.count as usize, self), Type::ASCII => { let mut buf = vec![0; self.count as usize]; self.r(bo).read_exact(&mut buf)?; if buf.is_ascii() && buf.ends_with(&[0]) { let v = str::from_utf8(&buf)?; let v = v.trim_matches(char::from(0)); return Ok(Ascii(v.into())); } else { return Err(TiffError::FormatError(TiffFormatError::InvalidTag)); } } Type::UNDEFINED => { return Ok(List( self.offset[0..self.count as usize] .iter() .map(|&b| Byte(b)) .collect(), )); } Type::SHORT => { let mut r = self.r(bo); let mut v = Vec::new(); for _ in 0..self.count { v.push(Short(r.read_u16()?)); } return Ok(List(v)); } Type::SSHORT => { let mut r = self.r(bo); let mut v = Vec::new(); for _ in 0..self.count { v.push(Signed(i32::from(r.read_i16()?))); } return Ok(List(v)); } Type::LONG => { let mut r = self.r(bo); let mut v = Vec::new(); for _ in 0..self.count { v.push(Unsigned(r.read_u32()?)); } return Ok(List(v)); } Type::SLONG => { let mut r = self.r(bo); let mut v = Vec::new(); for _ in 0..self.count { v.push(Signed(r.read_i32()?)); } return Ok(List(v)); } Type::FLOAT => { let mut r = self.r(bo); let mut v = Vec::new(); for _ in 0..self.count { v.push(Float(r.read_f32()?)); } return Ok(List(v)); } Type::IFD => { let mut r = self.r(bo); let mut v = Vec::new(); for _ in 0..self.count { v.push(Ifd(r.read_u32()?)); } return Ok(List(v)); } Type::LONG8 | Type::SLONG8 | Type::RATIONAL | Type::SRATIONAL | Type::DOUBLE | Type::IFD8 => { unreachable!() } } } // Case 4: there is more than one value, and it doesn't fit in the offset field. match self.type_ { // TODO check if this could give wrong results // at a different endianess of file/computer. Type::BYTE => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { let mut buf = [0; 1]; reader.read_exact(&mut buf)?; Ok(UnsignedBig(u64::from(buf[0]))) }), Type::SBYTE => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { Ok(SignedBig(i64::from(reader.read_i8()? as i8))) }), Type::SHORT => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { Ok(UnsignedBig(u64::from(reader.read_u16()?))) }), Type::SSHORT => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { Ok(SignedBig(i64::from(reader.read_i16()?))) }), Type::LONG => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { Ok(Unsigned(reader.read_u32()?)) }), Type::SLONG => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { Ok(Signed(reader.read_i32()?)) }), Type::FLOAT => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { Ok(Float(reader.read_f32()?)) }), Type::DOUBLE => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { Ok(Double(reader.read_f64()?)) }), Type::RATIONAL => { self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { Ok(Rational(reader.read_u32()?, reader.read_u32()?)) }) } Type::SRATIONAL => { self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { Ok(SRational(reader.read_i32()?, reader.read_i32()?)) }) } Type::LONG8 => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { Ok(UnsignedBig(reader.read_u64()?)) }), Type::SLONG8 => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { Ok(SignedBig(reader.read_i64()?)) }), Type::IFD => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { Ok(Ifd(reader.read_u32()?)) }), Type::IFD8 => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { Ok(IfdBig(reader.read_u64()?)) }), Type::UNDEFINED => { self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| { let mut buf = [0; 1]; reader.read_exact(&mut buf)?; Ok(Byte(buf[0])) }) } Type::ASCII => { let n = usize::try_from(self.count)?; if n > limits.decoding_buffer_size { return Err(TiffError::LimitsExceeded); } if bigtiff { reader.goto_offset(self.r(bo).read_u64()?)? } else { reader.goto_offset(self.r(bo).read_u32()?.into())? } let mut out = vec![0; n]; reader.read_exact(&mut out)?; // Strings may be null-terminated, so we trim anything downstream of the null byte if let Some(first) = out.iter().position(|&b| b == 0) { out.truncate(first); } Ok(Ascii(String::from_utf8(out)?)) } } } #[inline] fn decode_offset( &self, value_count: u64, bo: ByteOrder, bigtiff: bool, limits: &super::Limits, reader: &mut SmartReader, decode_fn: F, ) -> TiffResult where R: Read + Seek, F: Fn(&mut SmartReader) -> TiffResult, { let value_count = usize::try_from(value_count)?; if value_count > limits.decoding_buffer_size / mem::size_of::() { return Err(TiffError::LimitsExceeded); } let mut v = Vec::with_capacity(value_count); let offset = if bigtiff { self.r(bo).read_u64()? } else { self.r(bo).read_u32()?.into() }; reader.goto_offset(offset)?; for _ in 0..value_count { v.push(decode_fn(reader)?) } Ok(List(v)) } } /// Extracts a list of BYTE tags stored in an offset #[inline] fn offset_to_bytes(n: usize, entry: &Entry) -> TiffResult { Ok(List( entry.offset[0..n] .iter() .map(|&e| Unsigned(u32::from(e))) .collect(), )) } /// Extracts a list of SBYTE tags stored in an offset #[inline] fn offset_to_sbytes(n: usize, entry: &Entry) -> TiffResult { Ok(List( entry.offset[0..n] .iter() .map(|&e| Signed(i32::from(e as i8))) .collect(), )) } /// Type representing an Image File Directory pub type Directory = HashMap; tiff-0.9.0/src/decoder/image.rs000064400000000000000000000562441046102023000144210ustar 00000000000000use super::ifd::{Directory, Value}; use super::stream::{ByteOrder, DeflateReader, JpegReader, LZWReader, PackBitsReader}; use super::tag_reader::TagReader; use super::{fp_predict_f32, fp_predict_f64, DecodingBuffer, Limits}; use super::{stream::SmartReader, ChunkType}; use crate::tags::{CompressionMethod, PhotometricInterpretation, Predictor, SampleFormat, Tag}; use crate::{ColorType, TiffError, TiffFormatError, TiffResult, TiffUnsupportedError, UsageError}; use std::convert::{TryFrom, TryInto}; use std::io::{self, Cursor, Read, Seek}; use std::sync::Arc; #[derive(Debug)] pub(crate) struct StripDecodeState { pub rows_per_strip: u32, } #[derive(Debug)] /// Computed values useful for tile decoding pub(crate) struct TileAttributes { pub image_width: usize, pub image_height: usize, pub tile_width: usize, pub tile_length: usize, } impl TileAttributes { pub fn tiles_across(&self) -> usize { (self.image_width + self.tile_width - 1) / self.tile_width } pub fn tiles_down(&self) -> usize { (self.image_height + self.tile_length - 1) / self.tile_length } fn padding_right(&self) -> usize { (self.tile_width - self.image_width % self.tile_width) % self.tile_width } fn padding_down(&self) -> usize { (self.tile_length - self.image_height % self.tile_length) % self.tile_length } pub fn get_padding(&self, tile: usize) -> (usize, usize) { let row = tile / self.tiles_across(); let column = tile % self.tiles_across(); let padding_right = if column == self.tiles_across() - 1 { self.padding_right() } else { 0 }; let padding_down = if row == self.tiles_down() - 1 { self.padding_down() } else { 0 }; (padding_right, padding_down) } } #[derive(Debug)] pub(crate) struct Image { pub ifd: Option, pub width: u32, pub height: u32, pub bits_per_sample: Vec, #[allow(unused)] pub samples: u8, pub sample_format: Vec, pub photometric_interpretation: PhotometricInterpretation, pub compression_method: CompressionMethod, pub predictor: Predictor, pub jpeg_tables: Option>>, pub chunk_type: ChunkType, pub strip_decoder: Option, pub tile_attributes: Option, pub chunk_offsets: Vec, pub chunk_bytes: Vec, } impl Image { pub fn from_reader( reader: &mut SmartReader, ifd: Directory, limits: &Limits, bigtiff: bool, ) -> TiffResult { let mut tag_reader = TagReader { reader, limits, ifd: &ifd, bigtiff, }; let width = tag_reader.require_tag(Tag::ImageWidth)?.into_u32()?; let height = tag_reader.require_tag(Tag::ImageLength)?.into_u32()?; if width == 0 || height == 0 { return Err(TiffError::FormatError(TiffFormatError::InvalidDimensions( width, height, ))); } let photometric_interpretation = tag_reader .find_tag(Tag::PhotometricInterpretation)? .map(Value::into_u16) .transpose()? .and_then(PhotometricInterpretation::from_u16) .ok_or(TiffUnsupportedError::UnknownInterpretation)?; // Try to parse both the compression method and the number, format, and bits of the included samples. // If they are not explicitly specified, those tags are reset to their default values and not carried from previous images. let compression_method = match tag_reader.find_tag(Tag::Compression)? { Some(val) => CompressionMethod::from_u16(val.into_u16()?) .ok_or(TiffUnsupportedError::UnknownCompressionMethod)?, None => CompressionMethod::None, }; let jpeg_tables = if compression_method == CompressionMethod::ModernJPEG && ifd.contains_key(&Tag::JPEGTables) { let vec = tag_reader .find_tag(Tag::JPEGTables)? .unwrap() .into_u8_vec()?; if vec.len() < 2 { return Err(TiffError::FormatError( TiffFormatError::InvalidTagValueType(Tag::JPEGTables), )); } Some(Arc::new(vec)) } else { None }; let samples = tag_reader .find_tag(Tag::SamplesPerPixel)? .map(Value::into_u16) .transpose()? .unwrap_or(1) .try_into()?; let sample_format = match tag_reader.find_tag_uint_vec(Tag::SampleFormat)? { Some(vals) => { let sample_format: Vec<_> = vals .into_iter() .map(SampleFormat::from_u16_exhaustive) .collect(); // TODO: for now, only homogenous formats across samples are supported. if !sample_format.windows(2).all(|s| s[0] == s[1]) { return Err(TiffUnsupportedError::UnsupportedSampleFormat(sample_format).into()); } sample_format } None => vec![SampleFormat::Uint], }; let bits_per_sample = match samples { 1 | 3 | 4 => tag_reader .find_tag_uint_vec(Tag::BitsPerSample)? .unwrap_or_else(|| vec![1]), _ => return Err(TiffUnsupportedError::UnsupportedSampleDepth(samples).into()), }; let predictor = tag_reader .find_tag(Tag::Predictor)? .map(Value::into_u16) .transpose()? .map(|p| { Predictor::from_u16(p) .ok_or(TiffError::FormatError(TiffFormatError::UnknownPredictor(p))) }) .transpose()? .unwrap_or(Predictor::None); let chunk_type; let chunk_offsets; let chunk_bytes; let strip_decoder; let tile_attributes; match ( ifd.contains_key(&Tag::StripByteCounts), ifd.contains_key(&Tag::StripOffsets), ifd.contains_key(&Tag::TileByteCounts), ifd.contains_key(&Tag::TileOffsets), ) { (true, true, false, false) => { chunk_type = ChunkType::Strip; chunk_offsets = tag_reader .find_tag(Tag::StripOffsets)? .unwrap() .into_u64_vec()?; chunk_bytes = tag_reader .find_tag(Tag::StripByteCounts)? .unwrap() .into_u64_vec()?; let rows_per_strip = tag_reader .find_tag(Tag::RowsPerStrip)? .map(Value::into_u32) .transpose()? .unwrap_or(height); strip_decoder = Some(StripDecodeState { rows_per_strip }); tile_attributes = None; if chunk_offsets.len() != chunk_bytes.len() || rows_per_strip == 0 || u32::try_from(chunk_offsets.len())? != height.saturating_sub(1) / rows_per_strip + 1 { return Err(TiffError::FormatError( TiffFormatError::InconsistentSizesEncountered, )); } } (false, false, true, true) => { chunk_type = ChunkType::Tile; let tile_width = usize::try_from(tag_reader.require_tag(Tag::TileWidth)?.into_u32()?)?; let tile_length = usize::try_from(tag_reader.require_tag(Tag::TileLength)?.into_u32()?)?; if tile_width == 0 { return Err(TiffFormatError::InvalidTagValueType(Tag::TileWidth).into()); } else if tile_length == 0 { return Err(TiffFormatError::InvalidTagValueType(Tag::TileLength).into()); } strip_decoder = None; tile_attributes = Some(TileAttributes { image_width: usize::try_from(width)?, image_height: usize::try_from(height)?, tile_width, tile_length, }); chunk_offsets = tag_reader .find_tag(Tag::TileOffsets)? .unwrap() .into_u64_vec()?; chunk_bytes = tag_reader .find_tag(Tag::TileByteCounts)? .unwrap() .into_u64_vec()?; let tile = tile_attributes.as_ref().unwrap(); if chunk_offsets.len() != chunk_bytes.len() || chunk_offsets.len() != tile.tiles_down() * tile.tiles_across() { return Err(TiffError::FormatError( TiffFormatError::InconsistentSizesEncountered, )); } } (_, _, _, _) => { return Err(TiffError::FormatError( TiffFormatError::StripTileTagConflict, )) } }; Ok(Image { ifd: Some(ifd), width, height, bits_per_sample, samples, sample_format, photometric_interpretation, compression_method, jpeg_tables, predictor, chunk_type, strip_decoder, tile_attributes, chunk_offsets, chunk_bytes, }) } pub(crate) fn colortype(&self) -> TiffResult { match self.photometric_interpretation { PhotometricInterpretation::RGB => match self.bits_per_sample[..] { [r, g, b] if [r, r] == [g, b] => Ok(ColorType::RGB(r)), [r, g, b, a] if [r, r, r] == [g, b, a] => Ok(ColorType::RGBA(r)), // FIXME: We should _ignore_ other components. In particular: // > Beware of extra components. Some TIFF files may have more components per pixel // than you think. A Baseline TIFF reader must skip over them gracefully,using the // values of the SamplesPerPixel and BitsPerSample fields. // > -- TIFF 6.0 Specification, Section 7, Additional Baseline requirements. _ => Err(TiffError::UnsupportedError( TiffUnsupportedError::InterpretationWithBits( self.photometric_interpretation, self.bits_per_sample.clone(), ), )), }, PhotometricInterpretation::CMYK => match self.bits_per_sample[..] { [c, m, y, k] if [c, c, c] == [m, y, k] => Ok(ColorType::CMYK(c)), _ => Err(TiffError::UnsupportedError( TiffUnsupportedError::InterpretationWithBits( self.photometric_interpretation, self.bits_per_sample.clone(), ), )), }, PhotometricInterpretation::YCbCr => match self.bits_per_sample[..] { [y, cb, cr] if [y, y] == [cb, cr] => Ok(ColorType::YCbCr(y)), _ => Err(TiffError::UnsupportedError( TiffUnsupportedError::InterpretationWithBits( self.photometric_interpretation, self.bits_per_sample.clone(), ), )), }, PhotometricInterpretation::BlackIsZero | PhotometricInterpretation::WhiteIsZero if self.bits_per_sample.len() == 1 => { Ok(ColorType::Gray(self.bits_per_sample[0])) } // TODO: this is bad we should not fail at this point _ => Err(TiffError::UnsupportedError( TiffUnsupportedError::InterpretationWithBits( self.photometric_interpretation, self.bits_per_sample.clone(), ), )), } } fn create_reader<'r, R: 'r + Read>( reader: R, photometric_interpretation: PhotometricInterpretation, compression_method: CompressionMethod, compressed_length: u64, jpeg_tables: Option>>, ) -> TiffResult> { Ok(match compression_method { CompressionMethod::None => Box::new(reader), CompressionMethod::LZW => { Box::new(LZWReader::new(reader, usize::try_from(compressed_length)?)) } CompressionMethod::PackBits => Box::new(PackBitsReader::new(reader, compressed_length)), CompressionMethod::Deflate | CompressionMethod::OldDeflate => { Box::new(DeflateReader::new(reader)) } CompressionMethod::ModernJPEG => { if jpeg_tables.is_some() && compressed_length < 2 { return Err(TiffError::FormatError( TiffFormatError::InvalidTagValueType(Tag::JPEGTables), )); } let jpeg_reader = JpegReader::new(reader, compressed_length, jpeg_tables)?; let mut decoder = jpeg::Decoder::new(jpeg_reader); match photometric_interpretation { PhotometricInterpretation::RGB => { decoder.set_color_transform(jpeg::ColorTransform::RGB) } PhotometricInterpretation::WhiteIsZero => { decoder.set_color_transform(jpeg::ColorTransform::None) } PhotometricInterpretation::BlackIsZero => { decoder.set_color_transform(jpeg::ColorTransform::None) } PhotometricInterpretation::TransparencyMask => { decoder.set_color_transform(jpeg::ColorTransform::None) } PhotometricInterpretation::CMYK => { decoder.set_color_transform(jpeg::ColorTransform::CMYK) } PhotometricInterpretation::YCbCr => { decoder.set_color_transform(jpeg::ColorTransform::YCbCr) } photometric_interpretation => { return Err(TiffError::UnsupportedError( TiffUnsupportedError::UnsupportedInterpretation( photometric_interpretation, ), )); } } let data = decoder.decode()?; Box::new(Cursor::new(data)) } method => { return Err(TiffError::UnsupportedError( TiffUnsupportedError::UnsupportedCompressionMethod(method), )) } }) } pub(crate) fn chunk_file_range(&self, chunk: u32) -> TiffResult<(u64, u64)> { let file_offset = self .chunk_offsets .get(chunk as usize) .ok_or(TiffError::FormatError( TiffFormatError::InconsistentSizesEncountered, ))?; let compressed_bytes = self.chunk_bytes .get(chunk as usize) .ok_or(TiffError::FormatError( TiffFormatError::InconsistentSizesEncountered, ))?; Ok((*file_offset, *compressed_bytes)) } pub(crate) fn chunk_dimensions(&self) -> TiffResult<(u32, u32)> { match self.chunk_type { ChunkType::Strip => { let strip_attrs = self.strip_decoder.as_ref().unwrap(); Ok((self.width, strip_attrs.rows_per_strip)) } ChunkType::Tile => { let tile_attrs = self.tile_attributes.as_ref().unwrap(); Ok(( u32::try_from(tile_attrs.tile_width)?, u32::try_from(tile_attrs.tile_length)?, )) } } } pub(crate) fn chunk_data_dimensions(&self, chunk_index: u32) -> TiffResult<(u32, u32)> { let dims = self.chunk_dimensions()?; match self.chunk_type { ChunkType::Strip => { let strip_height_without_padding = chunk_index .checked_mul(dims.1) .and_then(|x| self.height.checked_sub(x)) .ok_or(TiffError::UsageError(UsageError::InvalidChunkIndex( chunk_index, )))?; // Ignore potential vertical padding on the bottommost strip let strip_height = dims.1.min(strip_height_without_padding); Ok((dims.0, strip_height)) } ChunkType::Tile => { let tile_attrs = self.tile_attributes.as_ref().unwrap(); let (padding_right, padding_down) = tile_attrs.get_padding(chunk_index as usize); let tile_width = tile_attrs.tile_width - padding_right; let tile_length = tile_attrs.tile_length - padding_down; Ok((u32::try_from(tile_width)?, u32::try_from(tile_length)?)) } } } pub(crate) fn expand_chunk( &self, reader: impl Read, mut buffer: DecodingBuffer, output_width: usize, byte_order: ByteOrder, chunk_index: u32, ) -> TiffResult<()> { // Validate that the provided buffer is of the expected type. let color_type = self.colortype()?; match (color_type, &buffer) { (ColorType::RGB(n), _) | (ColorType::RGBA(n), _) | (ColorType::CMYK(n), _) | (ColorType::YCbCr(n), _) | (ColorType::Gray(n), _) if usize::from(n) == buffer.byte_len() * 8 => {} (ColorType::Gray(n), DecodingBuffer::U8(_)) if n < 8 => match self.predictor { Predictor::None => {} Predictor::Horizontal => { return Err(TiffError::UnsupportedError( TiffUnsupportedError::HorizontalPredictor(color_type), )) } Predictor::FloatingPoint => { return Err(TiffError::UnsupportedError( TiffUnsupportedError::FloatingPointPredictor(color_type), )); } }, (type_, _) => { return Err(TiffError::UnsupportedError( TiffUnsupportedError::UnsupportedColorType(type_), )) } } // Validate that the predictor is supported for the sample type. match (self.predictor, &buffer) { (Predictor::Horizontal, DecodingBuffer::F32(_)) | (Predictor::Horizontal, DecodingBuffer::F64(_)) => { return Err(TiffError::UnsupportedError( TiffUnsupportedError::HorizontalPredictor(color_type), )); } (Predictor::FloatingPoint, DecodingBuffer::F32(_)) | (Predictor::FloatingPoint, DecodingBuffer::F64(_)) => {} (Predictor::FloatingPoint, _) => { return Err(TiffError::UnsupportedError( TiffUnsupportedError::FloatingPointPredictor(color_type), )); } _ => {} } let compressed_bytes = self.chunk_bytes .get(chunk_index as usize) .ok_or(TiffError::FormatError( TiffFormatError::InconsistentSizesEncountered, ))?; let byte_len = buffer.byte_len(); let compression_method = self.compression_method; let photometric_interpretation = self.photometric_interpretation; let predictor = self.predictor; let samples = self.bits_per_sample.len(); let chunk_dims = self.chunk_dimensions()?; let data_dims = self.chunk_data_dimensions(chunk_index)?; let padding_right = chunk_dims.0 - data_dims.0; let jpeg_tables = self.jpeg_tables.clone(); let mut reader = Self::create_reader( reader, photometric_interpretation, compression_method, *compressed_bytes, jpeg_tables, )?; if output_width == data_dims.0 as usize && padding_right == 0 { let total_samples = data_dims.0 as usize * data_dims.1 as usize * samples; let tile = &mut buffer.as_bytes_mut()[..total_samples * byte_len]; reader.read_exact(tile)?; for row in 0..data_dims.1 as usize { let row_start = row as usize * output_width as usize * samples; let row_end = (row + 1) * output_width as usize * samples; let row = buffer.subrange(row_start..row_end); super::fix_endianness_and_predict(row, samples, byte_order, predictor); } if photometric_interpretation == PhotometricInterpretation::WhiteIsZero { super::invert_colors(&mut buffer.subrange(0..total_samples), color_type); } } else if padding_right > 0 && self.predictor == Predictor::FloatingPoint { // The floating point predictor shuffles the padding bytes into the encoded output, so // this case is handled specially when needed. let mut encoded = vec![0u8; chunk_dims.0 as usize * samples * byte_len]; for row in 0..data_dims.1 as usize { let row_start = row * output_width as usize * samples; let row_end = row_start + data_dims.0 as usize * samples; reader.read_exact(&mut encoded)?; match buffer.subrange(row_start..row_end) { DecodingBuffer::F32(buf) => fp_predict_f32(&mut encoded, buf, samples), DecodingBuffer::F64(buf) => fp_predict_f64(&mut encoded, buf, samples), _ => unreachable!(), } if photometric_interpretation == PhotometricInterpretation::WhiteIsZero { super::invert_colors(&mut buffer.subrange(row_start..row_end), color_type); } } } else { for row in 0..data_dims.1 as usize { let row_start = row * output_width as usize * samples; let row_end = row_start + data_dims.0 as usize * samples; let row = &mut buffer.as_bytes_mut()[(row_start * byte_len)..(row_end * byte_len)]; reader.read_exact(row)?; // Skip horizontal padding if padding_right > 0 { let len = u64::try_from(padding_right as usize * samples * byte_len)?; io::copy(&mut reader.by_ref().take(len), &mut io::sink())?; } let mut row = buffer.subrange(row_start..row_end); super::fix_endianness_and_predict(row.copy(), samples, byte_order, predictor); if photometric_interpretation == PhotometricInterpretation::WhiteIsZero { super::invert_colors(&mut row, color_type); } } } Ok(()) } } tiff-0.9.0/src/decoder/mod.rs000064400000000000000000001171561046102023000141160ustar 00000000000000use std::collections::{HashMap, HashSet}; use std::convert::TryFrom; use std::io::{self, Read, Seek}; use std::ops::Range; use crate::{ bytecast, ColorType, TiffError, TiffFormatError, TiffResult, TiffUnsupportedError, UsageError, }; use self::ifd::Directory; use self::image::Image; use crate::tags::{ CompressionMethod, PhotometricInterpretation, Predictor, SampleFormat, Tag, Type, }; use self::stream::{ByteOrder, EndianReader, SmartReader}; pub mod ifd; mod image; mod stream; mod tag_reader; /// Result of a decoding process #[derive(Debug)] pub enum DecodingResult { /// A vector of unsigned bytes U8(Vec), /// A vector of unsigned words U16(Vec), /// A vector of 32 bit unsigned ints U32(Vec), /// A vector of 64 bit unsigned ints U64(Vec), /// A vector of 32 bit IEEE floats F32(Vec), /// A vector of 64 bit IEEE floats F64(Vec), /// A vector of 8 bit signed ints I8(Vec), /// A vector of 16 bit signed ints I16(Vec), /// A vector of 32 bit signed ints I32(Vec), /// A vector of 64 bit signed ints I64(Vec), } impl DecodingResult { fn new_u8(size: usize, limits: &Limits) -> TiffResult { if size > limits.decoding_buffer_size { Err(TiffError::LimitsExceeded) } else { Ok(DecodingResult::U8(vec![0; size])) } } fn new_u16(size: usize, limits: &Limits) -> TiffResult { if size > limits.decoding_buffer_size / 2 { Err(TiffError::LimitsExceeded) } else { Ok(DecodingResult::U16(vec![0; size])) } } fn new_u32(size: usize, limits: &Limits) -> TiffResult { if size > limits.decoding_buffer_size / 4 { Err(TiffError::LimitsExceeded) } else { Ok(DecodingResult::U32(vec![0; size])) } } fn new_u64(size: usize, limits: &Limits) -> TiffResult { if size > limits.decoding_buffer_size / 8 { Err(TiffError::LimitsExceeded) } else { Ok(DecodingResult::U64(vec![0; size])) } } fn new_f32(size: usize, limits: &Limits) -> TiffResult { if size > limits.decoding_buffer_size / std::mem::size_of::() { Err(TiffError::LimitsExceeded) } else { Ok(DecodingResult::F32(vec![0.0; size])) } } fn new_f64(size: usize, limits: &Limits) -> TiffResult { if size > limits.decoding_buffer_size / std::mem::size_of::() { Err(TiffError::LimitsExceeded) } else { Ok(DecodingResult::F64(vec![0.0; size])) } } fn new_i8(size: usize, limits: &Limits) -> TiffResult { if size > limits.decoding_buffer_size / std::mem::size_of::() { Err(TiffError::LimitsExceeded) } else { Ok(DecodingResult::I8(vec![0; size])) } } fn new_i16(size: usize, limits: &Limits) -> TiffResult { if size > limits.decoding_buffer_size / 2 { Err(TiffError::LimitsExceeded) } else { Ok(DecodingResult::I16(vec![0; size])) } } fn new_i32(size: usize, limits: &Limits) -> TiffResult { if size > limits.decoding_buffer_size / 4 { Err(TiffError::LimitsExceeded) } else { Ok(DecodingResult::I32(vec![0; size])) } } fn new_i64(size: usize, limits: &Limits) -> TiffResult { if size > limits.decoding_buffer_size / 8 { Err(TiffError::LimitsExceeded) } else { Ok(DecodingResult::I64(vec![0; size])) } } pub fn as_buffer(&mut self, start: usize) -> DecodingBuffer { match *self { DecodingResult::U8(ref mut buf) => DecodingBuffer::U8(&mut buf[start..]), DecodingResult::U16(ref mut buf) => DecodingBuffer::U16(&mut buf[start..]), DecodingResult::U32(ref mut buf) => DecodingBuffer::U32(&mut buf[start..]), DecodingResult::U64(ref mut buf) => DecodingBuffer::U64(&mut buf[start..]), DecodingResult::F32(ref mut buf) => DecodingBuffer::F32(&mut buf[start..]), DecodingResult::F64(ref mut buf) => DecodingBuffer::F64(&mut buf[start..]), DecodingResult::I8(ref mut buf) => DecodingBuffer::I8(&mut buf[start..]), DecodingResult::I16(ref mut buf) => DecodingBuffer::I16(&mut buf[start..]), DecodingResult::I32(ref mut buf) => DecodingBuffer::I32(&mut buf[start..]), DecodingResult::I64(ref mut buf) => DecodingBuffer::I64(&mut buf[start..]), } } } // A buffer for image decoding pub enum DecodingBuffer<'a> { /// A slice of unsigned bytes U8(&'a mut [u8]), /// A slice of unsigned words U16(&'a mut [u16]), /// A slice of 32 bit unsigned ints U32(&'a mut [u32]), /// A slice of 64 bit unsigned ints U64(&'a mut [u64]), /// A slice of 32 bit IEEE floats F32(&'a mut [f32]), /// A slice of 64 bit IEEE floats F64(&'a mut [f64]), /// A slice of 8 bits signed ints I8(&'a mut [i8]), /// A slice of 16 bits signed ints I16(&'a mut [i16]), /// A slice of 32 bits signed ints I32(&'a mut [i32]), /// A slice of 64 bits signed ints I64(&'a mut [i64]), } impl<'a> DecodingBuffer<'a> { fn byte_len(&self) -> usize { match *self { DecodingBuffer::U8(_) => 1, DecodingBuffer::U16(_) => 2, DecodingBuffer::U32(_) => 4, DecodingBuffer::U64(_) => 8, DecodingBuffer::F32(_) => 4, DecodingBuffer::F64(_) => 8, DecodingBuffer::I8(_) => 1, DecodingBuffer::I16(_) => 2, DecodingBuffer::I32(_) => 4, DecodingBuffer::I64(_) => 8, } } fn copy<'b>(&'b mut self) -> DecodingBuffer<'b> where 'a: 'b, { match *self { DecodingBuffer::U8(ref mut buf) => DecodingBuffer::U8(buf), DecodingBuffer::U16(ref mut buf) => DecodingBuffer::U16(buf), DecodingBuffer::U32(ref mut buf) => DecodingBuffer::U32(buf), DecodingBuffer::U64(ref mut buf) => DecodingBuffer::U64(buf), DecodingBuffer::F32(ref mut buf) => DecodingBuffer::F32(buf), DecodingBuffer::F64(ref mut buf) => DecodingBuffer::F64(buf), DecodingBuffer::I8(ref mut buf) => DecodingBuffer::I8(buf), DecodingBuffer::I16(ref mut buf) => DecodingBuffer::I16(buf), DecodingBuffer::I32(ref mut buf) => DecodingBuffer::I32(buf), DecodingBuffer::I64(ref mut buf) => DecodingBuffer::I64(buf), } } fn subrange<'b>(&'b mut self, range: Range) -> DecodingBuffer<'b> where 'a: 'b, { match *self { DecodingBuffer::U8(ref mut buf) => DecodingBuffer::U8(&mut buf[range]), DecodingBuffer::U16(ref mut buf) => DecodingBuffer::U16(&mut buf[range]), DecodingBuffer::U32(ref mut buf) => DecodingBuffer::U32(&mut buf[range]), DecodingBuffer::U64(ref mut buf) => DecodingBuffer::U64(&mut buf[range]), DecodingBuffer::F32(ref mut buf) => DecodingBuffer::F32(&mut buf[range]), DecodingBuffer::F64(ref mut buf) => DecodingBuffer::F64(&mut buf[range]), DecodingBuffer::I8(ref mut buf) => DecodingBuffer::I8(&mut buf[range]), DecodingBuffer::I16(ref mut buf) => DecodingBuffer::I16(&mut buf[range]), DecodingBuffer::I32(ref mut buf) => DecodingBuffer::I32(&mut buf[range]), DecodingBuffer::I64(ref mut buf) => DecodingBuffer::I64(&mut buf[range]), } } fn as_bytes_mut(&mut self) -> &mut [u8] { match self { DecodingBuffer::U8(buf) => &mut *buf, DecodingBuffer::I8(buf) => bytecast::i8_as_ne_mut_bytes(buf), DecodingBuffer::U16(buf) => bytecast::u16_as_ne_mut_bytes(buf), DecodingBuffer::I16(buf) => bytecast::i16_as_ne_mut_bytes(buf), DecodingBuffer::U32(buf) => bytecast::u32_as_ne_mut_bytes(buf), DecodingBuffer::I32(buf) => bytecast::i32_as_ne_mut_bytes(buf), DecodingBuffer::U64(buf) => bytecast::u64_as_ne_mut_bytes(buf), DecodingBuffer::I64(buf) => bytecast::i64_as_ne_mut_bytes(buf), DecodingBuffer::F32(buf) => bytecast::f32_as_ne_mut_bytes(buf), DecodingBuffer::F64(buf) => bytecast::f64_as_ne_mut_bytes(buf), } } } #[derive(Debug, Copy, Clone, PartialEq)] /// Chunk type of the internal representation pub enum ChunkType { Strip, Tile, } /// Decoding limits #[derive(Clone, Debug)] pub struct Limits { /// The maximum size of any `DecodingResult` in bytes, the default is /// 256MiB. If the entire image is decoded at once, then this will /// be the maximum size of the image. If it is decoded one strip at a /// time, this will be the maximum size of a strip. pub decoding_buffer_size: usize, /// The maximum size of any ifd value in bytes, the default is /// 1MiB. pub ifd_value_size: usize, /// Maximum size for intermediate buffer which may be used to limit the amount of data read per /// segment even if the entire image is decoded at once. pub intermediate_buffer_size: usize, /// The purpose of this is to prevent all the fields of the struct from /// being public, as this would make adding new fields a major version /// bump. _non_exhaustive: (), } impl Limits { /// A configuration that does not impose any limits. /// /// This is a good start if the caller only wants to impose selective limits, contrary to the /// default limits which allows selectively disabling limits. /// /// Note that this configuration is likely to crash on excessively large images since, /// naturally, the machine running the program does not have infinite memory. pub fn unlimited() -> Limits { Limits { decoding_buffer_size: usize::max_value(), ifd_value_size: usize::max_value(), intermediate_buffer_size: usize::max_value(), _non_exhaustive: (), } } } impl Default for Limits { fn default() -> Limits { Limits { decoding_buffer_size: 256 * 1024 * 1024, intermediate_buffer_size: 128 * 1024 * 1024, ifd_value_size: 1024 * 1024, _non_exhaustive: (), } } } /// The representation of a TIFF decoder /// /// Currently does not support decoding of interlaced images #[derive(Debug)] pub struct Decoder where R: Read + Seek, { reader: SmartReader, bigtiff: bool, limits: Limits, next_ifd: Option, ifd_offsets: Vec, seen_ifds: HashSet, image: Image, } trait Wrapping { fn wrapping_add(&self, other: Self) -> Self; } impl Wrapping for u8 { fn wrapping_add(&self, other: Self) -> Self { u8::wrapping_add(*self, other) } } impl Wrapping for u16 { fn wrapping_add(&self, other: Self) -> Self { u16::wrapping_add(*self, other) } } impl Wrapping for u32 { fn wrapping_add(&self, other: Self) -> Self { u32::wrapping_add(*self, other) } } impl Wrapping for u64 { fn wrapping_add(&self, other: Self) -> Self { u64::wrapping_add(*self, other) } } impl Wrapping for i8 { fn wrapping_add(&self, other: Self) -> Self { i8::wrapping_add(*self, other) } } impl Wrapping for i16 { fn wrapping_add(&self, other: Self) -> Self { i16::wrapping_add(*self, other) } } impl Wrapping for i32 { fn wrapping_add(&self, other: Self) -> Self { i32::wrapping_add(*self, other) } } impl Wrapping for i64 { fn wrapping_add(&self, other: Self) -> Self { i64::wrapping_add(*self, other) } } fn rev_hpredict_nsamp(image: &mut [T], samples: usize) { for col in samples..image.len() { image[col] = image[col].wrapping_add(image[col - samples]); } } pub fn fp_predict_f32(input: &mut [u8], output: &mut [f32], samples: usize) { rev_hpredict_nsamp(input, samples); for i in 0..output.len() { // TODO: use f32::from_be_bytes() when we can (version 1.40) output[i] = f32::from_bits(u32::from_be_bytes([ input[input.len() / 4 * 0 + i], input[input.len() / 4 * 1 + i], input[input.len() / 4 * 2 + i], input[input.len() / 4 * 3 + i], ])); } } pub fn fp_predict_f64(input: &mut [u8], output: &mut [f64], samples: usize) { rev_hpredict_nsamp(input, samples); for i in 0..output.len() { // TODO: use f64::from_be_bytes() when we can (version 1.40) output[i] = f64::from_bits(u64::from_be_bytes([ input[input.len() / 8 * 0 + i], input[input.len() / 8 * 1 + i], input[input.len() / 8 * 2 + i], input[input.len() / 8 * 3 + i], input[input.len() / 8 * 4 + i], input[input.len() / 8 * 5 + i], input[input.len() / 8 * 6 + i], input[input.len() / 8 * 7 + i], ])); } } fn fix_endianness_and_predict( mut image: DecodingBuffer, samples: usize, byte_order: ByteOrder, predictor: Predictor, ) { match predictor { Predictor::None => { fix_endianness(&mut image, byte_order); } Predictor::Horizontal => { fix_endianness(&mut image, byte_order); match image { DecodingBuffer::U8(buf) => rev_hpredict_nsamp(buf, samples), DecodingBuffer::U16(buf) => rev_hpredict_nsamp(buf, samples), DecodingBuffer::U32(buf) => rev_hpredict_nsamp(buf, samples), DecodingBuffer::U64(buf) => rev_hpredict_nsamp(buf, samples), DecodingBuffer::I8(buf) => rev_hpredict_nsamp(buf, samples), DecodingBuffer::I16(buf) => rev_hpredict_nsamp(buf, samples), DecodingBuffer::I32(buf) => rev_hpredict_nsamp(buf, samples), DecodingBuffer::I64(buf) => rev_hpredict_nsamp(buf, samples), DecodingBuffer::F32(_) | DecodingBuffer::F64(_) => { unreachable!("Caller should have validated arguments. Please file a bug.") } } } Predictor::FloatingPoint => { let mut buffer_copy = image.as_bytes_mut().to_vec(); match image { DecodingBuffer::F32(buf) => fp_predict_f32(&mut buffer_copy, buf, samples), DecodingBuffer::F64(buf) => fp_predict_f64(&mut buffer_copy, buf, samples), _ => unreachable!("Caller should have validated arguments. Please file a bug."), } } } } fn invert_colors_unsigned(buffer: &mut [T], max: T) where T: std::ops::Sub + std::ops::Sub + Copy, { for datum in buffer.iter_mut() { *datum = max - *datum } } fn invert_colors_fp(buffer: &mut [T], max: T) where T: std::ops::Sub + std::ops::Sub + Copy, { for datum in buffer.iter_mut() { // FIXME: assumes [0, 1) range for floats *datum = max - *datum } } fn invert_colors(buf: &mut DecodingBuffer, color_type: ColorType) { match (color_type, buf) { (ColorType::Gray(64), DecodingBuffer::U64(ref mut buffer)) => { invert_colors_unsigned(buffer, 0xffff_ffff_ffff_ffff); } (ColorType::Gray(32), DecodingBuffer::U32(ref mut buffer)) => { invert_colors_unsigned(buffer, 0xffff_ffff); } (ColorType::Gray(16), DecodingBuffer::U16(ref mut buffer)) => { invert_colors_unsigned(buffer, 0xffff); } (ColorType::Gray(n), DecodingBuffer::U8(ref mut buffer)) if n <= 8 => { invert_colors_unsigned(buffer, 0xff); } (ColorType::Gray(32), DecodingBuffer::F32(ref mut buffer)) => { invert_colors_fp(buffer, 1.0); } (ColorType::Gray(64), DecodingBuffer::F64(ref mut buffer)) => { invert_colors_fp(buffer, 1.0); } _ => {} } } /// Fix endianness. If `byte_order` matches the host, then conversion is a no-op. fn fix_endianness(buf: &mut DecodingBuffer, byte_order: ByteOrder) { match byte_order { ByteOrder::LittleEndian => match buf { DecodingBuffer::U8(_) | DecodingBuffer::I8(_) => {} DecodingBuffer::U16(b) => b.iter_mut().for_each(|v| *v = u16::from_le(*v)), DecodingBuffer::I16(b) => b.iter_mut().for_each(|v| *v = i16::from_le(*v)), DecodingBuffer::U32(b) => b.iter_mut().for_each(|v| *v = u32::from_le(*v)), DecodingBuffer::I32(b) => b.iter_mut().for_each(|v| *v = i32::from_le(*v)), DecodingBuffer::U64(b) => b.iter_mut().for_each(|v| *v = u64::from_le(*v)), DecodingBuffer::I64(b) => b.iter_mut().for_each(|v| *v = i64::from_le(*v)), DecodingBuffer::F32(b) => b .iter_mut() .for_each(|v| *v = f32::from_bits(u32::from_le(v.to_bits()))), DecodingBuffer::F64(b) => b .iter_mut() .for_each(|v| *v = f64::from_bits(u64::from_le(v.to_bits()))), }, ByteOrder::BigEndian => match buf { DecodingBuffer::U8(_) | DecodingBuffer::I8(_) => {} DecodingBuffer::U16(b) => b.iter_mut().for_each(|v| *v = u16::from_be(*v)), DecodingBuffer::I16(b) => b.iter_mut().for_each(|v| *v = i16::from_be(*v)), DecodingBuffer::U32(b) => b.iter_mut().for_each(|v| *v = u32::from_be(*v)), DecodingBuffer::I32(b) => b.iter_mut().for_each(|v| *v = i32::from_be(*v)), DecodingBuffer::U64(b) => b.iter_mut().for_each(|v| *v = u64::from_be(*v)), DecodingBuffer::I64(b) => b.iter_mut().for_each(|v| *v = i64::from_be(*v)), DecodingBuffer::F32(b) => b .iter_mut() .for_each(|v| *v = f32::from_bits(u32::from_be(v.to_bits()))), DecodingBuffer::F64(b) => b .iter_mut() .for_each(|v| *v = f64::from_bits(u64::from_be(v.to_bits()))), }, }; } impl Decoder { /// Create a new decoder that decodes from the stream ```r``` pub fn new(mut r: R) -> TiffResult> { let mut endianess = Vec::with_capacity(2); (&mut r).take(2).read_to_end(&mut endianess)?; let byte_order = match &*endianess { b"II" => ByteOrder::LittleEndian, b"MM" => ByteOrder::BigEndian, _ => { return Err(TiffError::FormatError( TiffFormatError::TiffSignatureNotFound, )) } }; let mut reader = SmartReader::wrap(r, byte_order); let bigtiff = match reader.read_u16()? { 42 => false, 43 => { // Read bytesize of offsets (in bigtiff it's alway 8 but provide a way to move to 16 some day) if reader.read_u16()? != 8 { return Err(TiffError::FormatError( TiffFormatError::TiffSignatureNotFound, )); } // This constant should always be 0 if reader.read_u16()? != 0 { return Err(TiffError::FormatError( TiffFormatError::TiffSignatureNotFound, )); } true } _ => { return Err(TiffError::FormatError( TiffFormatError::TiffSignatureInvalid, )) } }; let next_ifd = if bigtiff { Some(reader.read_u64()?) } else { Some(u64::from(reader.read_u32()?)) }; let mut seen_ifds = HashSet::new(); seen_ifds.insert(*next_ifd.as_ref().unwrap()); let ifd_offsets = vec![*next_ifd.as_ref().unwrap()]; let mut decoder = Decoder { reader, bigtiff, limits: Default::default(), next_ifd, ifd_offsets, seen_ifds, image: Image { ifd: None, width: 0, height: 0, bits_per_sample: vec![1], samples: 1, sample_format: vec![SampleFormat::Uint], photometric_interpretation: PhotometricInterpretation::BlackIsZero, compression_method: CompressionMethod::None, jpeg_tables: None, predictor: Predictor::None, chunk_type: ChunkType::Strip, strip_decoder: None, tile_attributes: None, chunk_offsets: Vec::new(), chunk_bytes: Vec::new(), }, }; decoder.next_image()?; Ok(decoder) } pub fn with_limits(mut self, limits: Limits) -> Decoder { self.limits = limits; self } pub fn dimensions(&mut self) -> TiffResult<(u32, u32)> { Ok((self.image().width, self.image().height)) } pub fn colortype(&mut self) -> TiffResult { self.image().colortype() } fn image(&self) -> &Image { &self.image } /// Loads the IFD at the specified index in the list, if one exists pub fn seek_to_image(&mut self, ifd_index: usize) -> TiffResult<()> { // Check whether we have seen this IFD before, if so then the index will be less than the length of the list of ifd offsets if ifd_index >= self.ifd_offsets.len() { // We possibly need to load in the next IFD if self.next_ifd.is_none() { return Err(TiffError::FormatError( TiffFormatError::ImageFileDirectoryNotFound, )); } loop { // Follow the list until we find the one we want, or we reach the end, whichever happens first let (_ifd, next_ifd) = self.next_ifd()?; if next_ifd.is_none() { break; } if ifd_index < self.ifd_offsets.len() { break; } } } // If the index is within the list of ifds then we can load the selected image/IFD if let Some(ifd_offset) = self.ifd_offsets.get(ifd_index) { let (ifd, _next_ifd) = Self::read_ifd(&mut self.reader, self.bigtiff, *ifd_offset)?; self.image = Image::from_reader(&mut self.reader, ifd, &self.limits, self.bigtiff)?; Ok(()) } else { Err(TiffError::FormatError( TiffFormatError::ImageFileDirectoryNotFound, )) } } fn next_ifd(&mut self) -> TiffResult<(Directory, Option)> { if self.next_ifd.is_none() { return Err(TiffError::FormatError( TiffFormatError::ImageFileDirectoryNotFound, )); } let (ifd, next_ifd) = Self::read_ifd( &mut self.reader, self.bigtiff, self.next_ifd.take().unwrap(), )?; if let Some(next) = next_ifd { if !self.seen_ifds.insert(next) { return Err(TiffError::FormatError(TiffFormatError::CycleInOffsets)); } self.next_ifd = Some(next); self.ifd_offsets.push(next); } Ok((ifd, next_ifd)) } /// Reads in the next image. /// If there is no further image in the TIFF file a format error is returned. /// To determine whether there are more images call `TIFFDecoder::more_images` instead. pub fn next_image(&mut self) -> TiffResult<()> { let (ifd, _next_ifd) = self.next_ifd()?; self.image = Image::from_reader(&mut self.reader, ifd, &self.limits, self.bigtiff)?; Ok(()) } /// Returns `true` if there is at least one more image available. pub fn more_images(&self) -> bool { self.next_ifd.is_some() } /// Returns the byte_order pub fn byte_order(&self) -> ByteOrder { self.reader.byte_order } #[inline] pub fn read_ifd_offset(&mut self) -> Result { if self.bigtiff { self.read_long8() } else { self.read_long().map(u64::from) } } /// Reads a TIFF byte value #[inline] pub fn read_byte(&mut self) -> Result { let mut buf = [0; 1]; self.reader.read_exact(&mut buf)?; Ok(buf[0]) } /// Reads a TIFF short value #[inline] pub fn read_short(&mut self) -> Result { self.reader.read_u16() } /// Reads a TIFF sshort value #[inline] pub fn read_sshort(&mut self) -> Result { self.reader.read_i16() } /// Reads a TIFF long value #[inline] pub fn read_long(&mut self) -> Result { self.reader.read_u32() } /// Reads a TIFF slong value #[inline] pub fn read_slong(&mut self) -> Result { self.reader.read_i32() } /// Reads a TIFF float value #[inline] pub fn read_float(&mut self) -> Result { self.reader.read_f32() } /// Reads a TIFF double value #[inline] pub fn read_double(&mut self) -> Result { self.reader.read_f64() } #[inline] pub fn read_long8(&mut self) -> Result { self.reader.read_u64() } #[inline] pub fn read_slong8(&mut self) -> Result { self.reader.read_i64() } /// Reads a string #[inline] pub fn read_string(&mut self, length: usize) -> TiffResult { let mut out = vec![0; length]; self.reader.read_exact(&mut out)?; // Strings may be null-terminated, so we trim anything downstream of the null byte if let Some(first) = out.iter().position(|&b| b == 0) { out.truncate(first); } Ok(String::from_utf8(out)?) } /// Reads a TIFF IFA offset/value field #[inline] pub fn read_offset(&mut self) -> TiffResult<[u8; 4]> { if self.bigtiff { return Err(TiffError::FormatError( TiffFormatError::InconsistentSizesEncountered, )); } let mut val = [0; 4]; self.reader.read_exact(&mut val)?; Ok(val) } /// Reads a TIFF IFA offset/value field #[inline] pub fn read_offset_u64(&mut self) -> Result<[u8; 8], io::Error> { let mut val = [0; 8]; self.reader.read_exact(&mut val)?; Ok(val) } /// Moves the cursor to the specified offset #[inline] pub fn goto_offset(&mut self, offset: u32) -> io::Result<()> { self.goto_offset_u64(offset.into()) } #[inline] pub fn goto_offset_u64(&mut self, offset: u64) -> io::Result<()> { self.reader.seek(io::SeekFrom::Start(offset)).map(|_| ()) } /// Reads a IFD entry. // An IFD entry has four fields: // // Tag 2 bytes // Type 2 bytes // Count 4 bytes // Value 4 bytes either a pointer the value itself fn read_entry( reader: &mut SmartReader, bigtiff: bool, ) -> TiffResult> { let tag = Tag::from_u16_exhaustive(reader.read_u16()?); let type_ = match Type::from_u16(reader.read_u16()?) { Some(t) => t, None => { // Unknown type. Skip this entry according to spec. reader.read_u32()?; reader.read_u32()?; return Ok(None); } }; let entry = if bigtiff { let mut offset = [0; 8]; let count = reader.read_u64()?; reader.read_exact(&mut offset)?; ifd::Entry::new_u64(type_, count, offset) } else { let mut offset = [0; 4]; let count = reader.read_u32()?; reader.read_exact(&mut offset)?; ifd::Entry::new(type_, count, offset) }; Ok(Some((tag, entry))) } /// Reads the IFD starting at the indicated location. fn read_ifd( reader: &mut SmartReader, bigtiff: bool, ifd_location: u64, ) -> TiffResult<(Directory, Option)> { reader.goto_offset(ifd_location)?; let mut dir: Directory = HashMap::new(); let num_tags = if bigtiff { reader.read_u64()? } else { reader.read_u16()?.into() }; for _ in 0..num_tags { let (tag, entry) = match Self::read_entry(reader, bigtiff)? { Some(val) => val, None => { continue; } // Unknown data type in tag, skip }; dir.insert(tag, entry); } let next_ifd = if bigtiff { reader.read_u64()? } else { reader.read_u32()?.into() }; let next_ifd = match next_ifd { 0 => None, _ => Some(next_ifd), }; Ok((dir, next_ifd)) } /// Tries to retrieve a tag. /// Return `Ok(None)` if the tag is not present. pub fn find_tag(&mut self, tag: Tag) -> TiffResult> { let entry = match self.image().ifd.as_ref().unwrap().get(&tag) { None => return Ok(None), Some(entry) => entry.clone(), }; Ok(Some(entry.val( &self.limits, self.bigtiff, &mut self.reader, )?)) } /// Tries to retrieve a tag and convert it to the desired unsigned type. pub fn find_tag_unsigned>(&mut self, tag: Tag) -> TiffResult> { self.find_tag(tag)? .map(|v| v.into_u64()) .transpose()? .map(|value| { T::try_from(value).map_err(|_| TiffFormatError::InvalidTagValueType(tag).into()) }) .transpose() } /// Tries to retrieve a vector of all a tag's values and convert them to /// the desired unsigned type. pub fn find_tag_unsigned_vec>( &mut self, tag: Tag, ) -> TiffResult>> { self.find_tag(tag)? .map(|v| v.into_u64_vec()) .transpose()? .map(|v| { v.into_iter() .map(|u| { T::try_from(u).map_err(|_| TiffFormatError::InvalidTagValueType(tag).into()) }) .collect() }) .transpose() } /// Tries to retrieve a tag and convert it to the desired unsigned type. /// Returns an error if the tag is not present. pub fn get_tag_unsigned>(&mut self, tag: Tag) -> TiffResult { self.find_tag_unsigned(tag)? .ok_or_else(|| TiffFormatError::RequiredTagNotFound(tag).into()) } /// Tries to retrieve a tag. /// Returns an error if the tag is not present pub fn get_tag(&mut self, tag: Tag) -> TiffResult { match self.find_tag(tag)? { Some(val) => Ok(val), None => Err(TiffError::FormatError( TiffFormatError::RequiredTagNotFound(tag), )), } } /// Tries to retrieve a tag and convert it to the desired type. pub fn get_tag_u32(&mut self, tag: Tag) -> TiffResult { self.get_tag(tag)?.into_u32() } pub fn get_tag_u64(&mut self, tag: Tag) -> TiffResult { self.get_tag(tag)?.into_u64() } /// Tries to retrieve a tag and convert it to the desired type. pub fn get_tag_f32(&mut self, tag: Tag) -> TiffResult { self.get_tag(tag)?.into_f32() } /// Tries to retrieve a tag and convert it to the desired type. pub fn get_tag_f64(&mut self, tag: Tag) -> TiffResult { self.get_tag(tag)?.into_f64() } /// Tries to retrieve a tag and convert it to the desired type. pub fn get_tag_u32_vec(&mut self, tag: Tag) -> TiffResult> { self.get_tag(tag)?.into_u32_vec() } pub fn get_tag_u16_vec(&mut self, tag: Tag) -> TiffResult> { self.get_tag(tag)?.into_u16_vec() } pub fn get_tag_u64_vec(&mut self, tag: Tag) -> TiffResult> { self.get_tag(tag)?.into_u64_vec() } /// Tries to retrieve a tag and convert it to the desired type. pub fn get_tag_f32_vec(&mut self, tag: Tag) -> TiffResult> { self.get_tag(tag)?.into_f32_vec() } /// Tries to retrieve a tag and convert it to the desired type. pub fn get_tag_f64_vec(&mut self, tag: Tag) -> TiffResult> { self.get_tag(tag)?.into_f64_vec() } /// Tries to retrieve a tag and convert it to a 8bit vector. pub fn get_tag_u8_vec(&mut self, tag: Tag) -> TiffResult> { self.get_tag(tag)?.into_u8_vec() } /// Tries to retrieve a tag and convert it to a ascii vector. pub fn get_tag_ascii_string(&mut self, tag: Tag) -> TiffResult { self.get_tag(tag)?.into_string() } fn check_chunk_type(&self, expected: ChunkType) -> TiffResult<()> { if expected != self.image().chunk_type { return Err(TiffError::UsageError(UsageError::InvalidChunkType( expected, self.image().chunk_type, ))); } Ok(()) } /// The chunk type (Strips / Tiles) of the image pub fn get_chunk_type(&self) -> ChunkType { self.image().chunk_type } /// Number of strips in image pub fn strip_count(&mut self) -> TiffResult { self.check_chunk_type(ChunkType::Strip)?; let rows_per_strip = self.image().strip_decoder.as_ref().unwrap().rows_per_strip; if rows_per_strip == 0 { return Ok(0); } // rows_per_strip - 1 can never fail since we know it's at least 1 let height = match self.image().height.checked_add(rows_per_strip - 1) { Some(h) => h, None => return Err(TiffError::IntSizeError), }; Ok(height / rows_per_strip) } /// Number of tiles in image pub fn tile_count(&mut self) -> TiffResult { self.check_chunk_type(ChunkType::Tile)?; Ok(u32::try_from(self.image().chunk_offsets.len())?) } pub fn read_chunk_to_buffer( &mut self, mut buffer: DecodingBuffer, chunk_index: u32, output_width: usize, ) -> TiffResult<()> { let offset = self.image.chunk_file_range(chunk_index)?.0; self.goto_offset_u64(offset)?; let byte_order = self.reader.byte_order; self.image.expand_chunk( &mut self.reader, buffer.copy(), output_width, byte_order, chunk_index, )?; Ok(()) } fn result_buffer(&self, width: usize, height: usize) -> TiffResult { let buffer_size = match width .checked_mul(height) .and_then(|x| x.checked_mul(self.image().bits_per_sample.len())) { Some(s) => s, None => return Err(TiffError::LimitsExceeded), }; let max_sample_bits = self .image() .bits_per_sample .iter() .cloned() .max() .unwrap_or(8); match self .image() .sample_format .first() .unwrap_or(&SampleFormat::Uint) { SampleFormat::Uint => match max_sample_bits { n if n <= 8 => DecodingResult::new_u8(buffer_size, &self.limits), n if n <= 16 => DecodingResult::new_u16(buffer_size, &self.limits), n if n <= 32 => DecodingResult::new_u32(buffer_size, &self.limits), n if n <= 64 => DecodingResult::new_u64(buffer_size, &self.limits), n => Err(TiffError::UnsupportedError( TiffUnsupportedError::UnsupportedBitsPerChannel(n), )), }, SampleFormat::IEEEFP => match max_sample_bits { 32 => DecodingResult::new_f32(buffer_size, &self.limits), 64 => DecodingResult::new_f64(buffer_size, &self.limits), n => Err(TiffError::UnsupportedError( TiffUnsupportedError::UnsupportedBitsPerChannel(n), )), }, SampleFormat::Int => match max_sample_bits { n if n <= 8 => DecodingResult::new_i8(buffer_size, &self.limits), n if n <= 16 => DecodingResult::new_i16(buffer_size, &self.limits), n if n <= 32 => DecodingResult::new_i32(buffer_size, &self.limits), n if n <= 64 => DecodingResult::new_i64(buffer_size, &self.limits), n => Err(TiffError::UnsupportedError( TiffUnsupportedError::UnsupportedBitsPerChannel(n), )), }, format => { Err(TiffUnsupportedError::UnsupportedSampleFormat(vec![format.clone()]).into()) } } } /// Read the specified chunk (at index `chunk_index`) and return the binary data as a Vector. pub fn read_chunk(&mut self, chunk_index: u32) -> TiffResult { let data_dims = self.image().chunk_data_dimensions(chunk_index)?; let mut result = self.result_buffer(data_dims.0 as usize, data_dims.1 as usize)?; self.read_chunk_to_buffer(result.as_buffer(0), chunk_index, data_dims.0 as usize)?; Ok(result) } /// Returns the default chunk size for the current image. Any given chunk in the image is at most as large as /// the value returned here. For the size of the data (chunk minus padding), use `chunk_data_dimensions`. pub fn chunk_dimensions(&self) -> (u32, u32) { self.image().chunk_dimensions().unwrap() } /// Returns the size of the data in the chunk with the specified index. This is the default size of the chunk, /// minus any padding. pub fn chunk_data_dimensions(&self, chunk_index: u32) -> (u32, u32) { self.image() .chunk_data_dimensions(chunk_index) .expect("invalid chunk_index") } /// Decodes the entire image and return it as a Vector pub fn read_image(&mut self) -> TiffResult { let width = self.image().width; let height = self.image().height; let mut result = self.result_buffer(width as usize, height as usize)?; if width == 0 || height == 0 { return Ok(result); } let chunk_dimensions = self.image().chunk_dimensions()?; let chunk_dimensions = ( chunk_dimensions.0.min(width), chunk_dimensions.1.min(height), ); if chunk_dimensions.0 == 0 || chunk_dimensions.1 == 0 { return Err(TiffError::FormatError( TiffFormatError::InconsistentSizesEncountered, )); } let samples = self.image().bits_per_sample.len(); if samples == 0 { return Err(TiffError::FormatError( TiffFormatError::InconsistentSizesEncountered, )); } let chunks_across = ((width - 1) / chunk_dimensions.0 + 1) as usize; let strip_samples = width as usize * chunk_dimensions.1 as usize * samples; for chunk in 0..self.image().chunk_offsets.len() { self.goto_offset_u64(self.image().chunk_offsets[chunk])?; let x = chunk % chunks_across; let y = chunk / chunks_across; let buffer_offset = y * strip_samples + x * chunk_dimensions.0 as usize * samples; let byte_order = self.reader.byte_order; self.image.expand_chunk( &mut self.reader, result.as_buffer(buffer_offset).copy(), width as usize, byte_order, chunk as u32, )?; } Ok(result) } } tiff-0.9.0/src/decoder/stream.rs000064400000000000000000000305131046102023000146210ustar 00000000000000//! All IO functionality needed for TIFF decoding use std::convert::TryFrom; use std::io::{self, BufRead, BufReader, Read, Seek, SeekFrom, Take}; use std::sync::Arc; /// Byte order of the TIFF file. #[derive(Clone, Copy, Debug)] pub enum ByteOrder { /// little endian byte order LittleEndian, /// big endian byte order BigEndian, } /// Reader that is aware of the byte order. pub trait EndianReader: Read { /// Byte order that should be adhered to fn byte_order(&self) -> ByteOrder; /// Reads an u16 #[inline(always)] fn read_u16(&mut self) -> Result { let mut n = [0u8; 2]; self.read_exact(&mut n)?; Ok(match self.byte_order() { ByteOrder::LittleEndian => u16::from_le_bytes(n), ByteOrder::BigEndian => u16::from_be_bytes(n), }) } /// Reads an i8 #[inline(always)] fn read_i8(&mut self) -> Result { let mut n = [0u8; 1]; self.read_exact(&mut n)?; Ok(match self.byte_order() { ByteOrder::LittleEndian => i8::from_le_bytes(n), ByteOrder::BigEndian => i8::from_be_bytes(n), }) } /// Reads an i16 #[inline(always)] fn read_i16(&mut self) -> Result { let mut n = [0u8; 2]; self.read_exact(&mut n)?; Ok(match self.byte_order() { ByteOrder::LittleEndian => i16::from_le_bytes(n), ByteOrder::BigEndian => i16::from_be_bytes(n), }) } /// Reads an u32 #[inline(always)] fn read_u32(&mut self) -> Result { let mut n = [0u8; 4]; self.read_exact(&mut n)?; Ok(match self.byte_order() { ByteOrder::LittleEndian => u32::from_le_bytes(n), ByteOrder::BigEndian => u32::from_be_bytes(n), }) } /// Reads an i32 #[inline(always)] fn read_i32(&mut self) -> Result { let mut n = [0u8; 4]; self.read_exact(&mut n)?; Ok(match self.byte_order() { ByteOrder::LittleEndian => i32::from_le_bytes(n), ByteOrder::BigEndian => i32::from_be_bytes(n), }) } /// Reads an u64 #[inline(always)] fn read_u64(&mut self) -> Result { let mut n = [0u8; 8]; self.read_exact(&mut n)?; Ok(match self.byte_order() { ByteOrder::LittleEndian => u64::from_le_bytes(n), ByteOrder::BigEndian => u64::from_be_bytes(n), }) } /// Reads an i64 #[inline(always)] fn read_i64(&mut self) -> Result { let mut n = [0u8; 8]; self.read_exact(&mut n)?; Ok(match self.byte_order() { ByteOrder::LittleEndian => i64::from_le_bytes(n), ByteOrder::BigEndian => i64::from_be_bytes(n), }) } /// Reads an f32 #[inline(always)] fn read_f32(&mut self) -> Result { let mut n = [0u8; 4]; self.read_exact(&mut n)?; Ok(f32::from_bits(match self.byte_order() { ByteOrder::LittleEndian => u32::from_le_bytes(n), ByteOrder::BigEndian => u32::from_be_bytes(n), })) } /// Reads an f64 #[inline(always)] fn read_f64(&mut self) -> Result { let mut n = [0u8; 8]; self.read_exact(&mut n)?; Ok(f64::from_bits(match self.byte_order() { ByteOrder::LittleEndian => u64::from_le_bytes(n), ByteOrder::BigEndian => u64::from_be_bytes(n), })) } } /// /// # READERS /// /// /// ## Deflate Reader /// pub type DeflateReader = flate2::read::ZlibDecoder; /// /// ## LZW Reader /// /// Reader that decompresses LZW streams pub struct LZWReader { reader: BufReader>, decoder: weezl::decode::Decoder, } impl LZWReader { /// Wraps a reader pub fn new(reader: R, compressed_length: usize) -> LZWReader { Self { reader: BufReader::with_capacity( (32 * 1024).min(compressed_length), reader.take(u64::try_from(compressed_length).unwrap()), ), decoder: weezl::decode::Decoder::with_tiff_size_switch(weezl::BitOrder::Msb, 8), } } } impl Read for LZWReader { fn read(&mut self, buf: &mut [u8]) -> io::Result { loop { let result = self.decoder.decode_bytes(self.reader.fill_buf()?, buf); self.reader.consume(result.consumed_in); match result.status { Ok(weezl::LzwStatus::Ok) => { if result.consumed_out == 0 { continue; } else { return Ok(result.consumed_out); } } Ok(weezl::LzwStatus::NoProgress) => { assert_eq!(result.consumed_in, 0); assert_eq!(result.consumed_out, 0); assert!(self.reader.buffer().is_empty()); return Err(io::Error::new( io::ErrorKind::UnexpectedEof, "no lzw end code found", )); } Ok(weezl::LzwStatus::Done) => { return Ok(result.consumed_out); } Err(err) => return Err(io::Error::new(io::ErrorKind::InvalidData, err)), } } } } /// /// ## JPEG Reader (for "new-style" JPEG format (TIFF compression tag 7)) /// pub(crate) struct JpegReader { jpeg_tables: Option>>, buffer: io::Cursor>, offset: usize, } impl JpegReader { /// Constructs new JpegReader wrapping a SmartReader. /// Because JPEG compression in TIFF allows to save quantization and/or huffman tables in one /// central location, the constructor accepts this data as `jpeg_tables` here containing either /// or both. /// These `jpeg_tables` are simply prepended to the remaining jpeg image data. /// Because these `jpeg_tables` start with a `SOI` (HEX: `0xFFD8`) or __start of image__ marker /// which is also at the beginning of the remaining JPEG image data and would /// confuse the JPEG renderer, one of these has to be taken off. In this case the first two /// bytes of the remaining JPEG data is removed because it follows `jpeg_tables`. /// Similary, `jpeg_tables` ends with a `EOI` (HEX: `0xFFD9`) or __end of image__ marker, /// this has to be removed as well (last two bytes of `jpeg_tables`). pub fn new( mut reader: R, length: u64, jpeg_tables: Option>>, ) -> io::Result { // Read jpeg image data let mut segment = vec![0; length as usize]; reader.read_exact(&mut segment[..])?; match jpeg_tables { Some(jpeg_tables) => { assert!( jpeg_tables.len() >= 2, "jpeg_tables, if given, must be at least 2 bytes long. Got {:?}", jpeg_tables ); assert!( length >= 2, "if jpeg_tables is given, length must be at least 2 bytes long, got {}", length ); let mut buffer = io::Cursor::new(segment); // Skip the first two bytes (marker bytes) buffer.seek(SeekFrom::Start(2))?; Ok(JpegReader { buffer, jpeg_tables: Some(jpeg_tables), offset: 0, }) } None => Ok(JpegReader { buffer: io::Cursor::new(segment), jpeg_tables: None, offset: 0, }), } } } impl Read for JpegReader { // #[inline] fn read(&mut self, buf: &mut [u8]) -> io::Result { let mut start = 0; if let Some(jpeg_tables) = &self.jpeg_tables { if jpeg_tables.len() - 2 > self.offset { // Read (rest of) jpeg_tables to buf (without the last two bytes) let size_remaining = jpeg_tables.len() - self.offset - 2; let to_copy = size_remaining.min(buf.len()); buf[start..start + to_copy] .copy_from_slice(&jpeg_tables[self.offset..self.offset + to_copy]); self.offset += to_copy; if to_copy == buf.len() { return Ok(to_copy); } start += to_copy; } } let read = self.buffer.read(&mut buf[start..])?; self.offset += read; Ok(read + start) } } /// /// ## PackBits Reader /// enum PackBitsReaderState { Header, Literal, Repeat { value: u8 }, } /// Reader that unpacks Apple's `PackBits` format pub struct PackBitsReader { reader: Take, state: PackBitsReaderState, count: usize, } impl PackBitsReader { /// Wraps a reader pub fn new(reader: R, length: u64) -> Self { Self { reader: reader.take(length), state: PackBitsReaderState::Header, count: 0, } } } impl Read for PackBitsReader { fn read(&mut self, buf: &mut [u8]) -> io::Result { while let PackBitsReaderState::Header = self.state { if self.reader.limit() == 0 { return Ok(0); } let mut header: [u8; 1] = [0]; self.reader.read_exact(&mut header)?; let h = header[0] as i8; if h >= -127 && h <= -1 { let mut data: [u8; 1] = [0]; self.reader.read_exact(&mut data)?; self.state = PackBitsReaderState::Repeat { value: data[0] }; self.count = (1 - h as isize) as usize; } else if h >= 0 { self.state = PackBitsReaderState::Literal; self.count = h as usize + 1; } else { // h = -128 is a no-op. } } let length = buf.len().min(self.count); let actual = match self.state { PackBitsReaderState::Literal => self.reader.read(&mut buf[..length])?, PackBitsReaderState::Repeat { value } => { for b in &mut buf[..length] { *b = value; } length } PackBitsReaderState::Header => unreachable!(), }; self.count -= actual; if self.count == 0 { self.state = PackBitsReaderState::Header; } return Ok(actual); } } /// /// ## SmartReader Reader /// /// Reader that is aware of the byte order. #[derive(Debug)] pub struct SmartReader where R: Read, { reader: R, pub byte_order: ByteOrder, } impl SmartReader where R: Read, { /// Wraps a reader pub fn wrap(reader: R, byte_order: ByteOrder) -> SmartReader { SmartReader { reader, byte_order } } pub fn into_inner(self) -> R { self.reader } } impl SmartReader { pub fn goto_offset(&mut self, offset: u64) -> io::Result<()> { self.seek(io::SeekFrom::Start(offset)).map(|_| ()) } } impl EndianReader for SmartReader where R: Read, { #[inline(always)] fn byte_order(&self) -> ByteOrder { self.byte_order } } impl Read for SmartReader { #[inline] fn read(&mut self, buf: &mut [u8]) -> io::Result { self.reader.read(buf) } } impl Seek for SmartReader { #[inline] fn seek(&mut self, pos: io::SeekFrom) -> io::Result { self.reader.seek(pos) } } #[cfg(test)] mod test { use super::*; #[test] fn test_packbits() { let encoded = vec![ 0xFE, 0xAA, 0x02, 0x80, 0x00, 0x2A, 0xFD, 0xAA, 0x03, 0x80, 0x00, 0x2A, 0x22, 0xF7, 0xAA, ]; let encoded_len = encoded.len(); let buff = io::Cursor::new(encoded); let mut decoder = PackBitsReader::new(buff, encoded_len as u64); let mut decoded = Vec::new(); decoder.read_to_end(&mut decoded).unwrap(); let expected = vec![ 0xAA, 0xAA, 0xAA, 0x80, 0x00, 0x2A, 0xAA, 0xAA, 0xAA, 0xAA, 0x80, 0x00, 0x2A, 0x22, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, ]; assert_eq!(decoded, expected); } } tiff-0.9.0/src/decoder/tag_reader.rs000064400000000000000000000026511046102023000154250ustar 00000000000000use std::convert::TryFrom; use std::io::{Read, Seek}; use crate::tags::Tag; use crate::{TiffError, TiffFormatError, TiffResult}; use super::ifd::{Directory, Value}; use super::stream::SmartReader; use super::Limits; pub(crate) struct TagReader<'a, R: Read + Seek> { pub reader: &'a mut SmartReader, pub ifd: &'a Directory, pub limits: &'a Limits, pub bigtiff: bool, } impl<'a, R: Read + Seek> TagReader<'a, R> { pub(crate) fn find_tag(&mut self, tag: Tag) -> TiffResult> { Ok(match self.ifd.get(&tag) { Some(entry) => Some(entry.clone().val(self.limits, self.bigtiff, self.reader)?), None => None, }) } pub(crate) fn require_tag(&mut self, tag: Tag) -> TiffResult { match self.find_tag(tag)? { Some(val) => Ok(val), None => Err(TiffError::FormatError( TiffFormatError::RequiredTagNotFound(tag), )), } } pub fn find_tag_uint_vec>(&mut self, tag: Tag) -> TiffResult>> { self.find_tag(tag)? .map(|v| v.into_u64_vec()) .transpose()? .map(|v| { v.into_iter() .map(|u| { T::try_from(u).map_err(|_| TiffFormatError::InvalidTagValueType(tag).into()) }) .collect() }) .transpose() } } tiff-0.9.0/src/encoder/colortype.rs000064400000000000000000000214741046102023000153660ustar 00000000000000use crate::tags::{PhotometricInterpretation, SampleFormat}; /// Trait for different colortypes that can be encoded. pub trait ColorType { /// The type of each sample of this colortype type Inner: super::TiffValue; /// The value of the tiff tag `PhotometricInterpretation` const TIFF_VALUE: PhotometricInterpretation; /// The value of the tiff tag `BitsPerSample` const BITS_PER_SAMPLE: &'static [u16]; /// The value of the tiff tag `SampleFormat` const SAMPLE_FORMAT: &'static [SampleFormat]; } pub struct Gray8; impl ColorType for Gray8 { type Inner = u8; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::BlackIsZero; const BITS_PER_SAMPLE: &'static [u16] = &[8]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint]; } pub struct GrayI8; impl ColorType for GrayI8 { type Inner = i8; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::BlackIsZero; const BITS_PER_SAMPLE: &'static [u16] = &[8]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Int]; } pub struct Gray16; impl ColorType for Gray16 { type Inner = u16; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::BlackIsZero; const BITS_PER_SAMPLE: &'static [u16] = &[16]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint]; } pub struct GrayI16; impl ColorType for GrayI16 { type Inner = i16; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::BlackIsZero; const BITS_PER_SAMPLE: &'static [u16] = &[16]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Int]; } pub struct Gray32; impl ColorType for Gray32 { type Inner = u32; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::BlackIsZero; const BITS_PER_SAMPLE: &'static [u16] = &[32]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint]; } pub struct GrayI32; impl ColorType for GrayI32 { type Inner = i32; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::BlackIsZero; const BITS_PER_SAMPLE: &'static [u16] = &[32]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Int]; } pub struct Gray32Float; impl ColorType for Gray32Float { type Inner = f32; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::BlackIsZero; const BITS_PER_SAMPLE: &'static [u16] = &[32]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::IEEEFP]; } pub struct Gray64; impl ColorType for Gray64 { type Inner = u64; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::BlackIsZero; const BITS_PER_SAMPLE: &'static [u16] = &[64]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint]; } pub struct GrayI64; impl ColorType for GrayI64 { type Inner = i64; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::BlackIsZero; const BITS_PER_SAMPLE: &'static [u16] = &[64]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Int]; } pub struct Gray64Float; impl ColorType for Gray64Float { type Inner = f64; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::BlackIsZero; const BITS_PER_SAMPLE: &'static [u16] = &[64]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::IEEEFP]; } pub struct RGB8; impl ColorType for RGB8 { type Inner = u8; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::RGB; const BITS_PER_SAMPLE: &'static [u16] = &[8, 8, 8]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint; 3]; } pub struct RGB16; impl ColorType for RGB16 { type Inner = u16; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::RGB; const BITS_PER_SAMPLE: &'static [u16] = &[16, 16, 16]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint; 3]; } pub struct RGB32; impl ColorType for RGB32 { type Inner = u32; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::RGB; const BITS_PER_SAMPLE: &'static [u16] = &[32, 32, 32]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint; 3]; } pub struct RGB32Float; impl ColorType for RGB32Float { type Inner = f32; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::RGB; const BITS_PER_SAMPLE: &'static [u16] = &[32, 32, 32]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::IEEEFP; 3]; } pub struct RGB64; impl ColorType for RGB64 { type Inner = u64; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::RGB; const BITS_PER_SAMPLE: &'static [u16] = &[64, 64, 64]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint; 3]; } pub struct RGB64Float; impl ColorType for RGB64Float { type Inner = f64; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::RGB; const BITS_PER_SAMPLE: &'static [u16] = &[64, 64, 64]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::IEEEFP; 3]; } pub struct RGBA8; impl ColorType for RGBA8 { type Inner = u8; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::RGB; const BITS_PER_SAMPLE: &'static [u16] = &[8, 8, 8, 8]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint; 4]; } pub struct RGBA16; impl ColorType for RGBA16 { type Inner = u16; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::RGB; const BITS_PER_SAMPLE: &'static [u16] = &[16, 16, 16, 16]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint; 4]; } pub struct RGBA32; impl ColorType for RGBA32 { type Inner = u32; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::RGB; const BITS_PER_SAMPLE: &'static [u16] = &[32, 32, 32, 32]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint; 4]; } pub struct RGBA32Float; impl ColorType for RGBA32Float { type Inner = f32; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::RGB; const BITS_PER_SAMPLE: &'static [u16] = &[32, 32, 32, 32]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::IEEEFP; 4]; } pub struct RGBA64; impl ColorType for RGBA64 { type Inner = u64; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::RGB; const BITS_PER_SAMPLE: &'static [u16] = &[64, 64, 64, 64]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint; 4]; } pub struct RGBA64Float; impl ColorType for RGBA64Float { type Inner = f64; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::RGB; const BITS_PER_SAMPLE: &'static [u16] = &[64, 64, 64, 64]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::IEEEFP; 4]; } pub struct CMYK8; impl ColorType for CMYK8 { type Inner = u8; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::CMYK; const BITS_PER_SAMPLE: &'static [u16] = &[8, 8, 8, 8]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint; 4]; } pub struct CMYK16; impl ColorType for CMYK16 { type Inner = u16; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::CMYK; const BITS_PER_SAMPLE: &'static [u16] = &[16, 16, 16, 16]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint; 4]; } pub struct CMYK32; impl ColorType for CMYK32 { type Inner = u32; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::CMYK; const BITS_PER_SAMPLE: &'static [u16] = &[32, 32, 32, 32]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint; 4]; } pub struct CMYK32Float; impl ColorType for CMYK32Float { type Inner = f32; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::CMYK; const BITS_PER_SAMPLE: &'static [u16] = &[32, 32, 32, 32]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::IEEEFP; 4]; } pub struct CMYK64; impl ColorType for CMYK64 { type Inner = u64; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::CMYK; const BITS_PER_SAMPLE: &'static [u16] = &[64, 64, 64, 64]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint; 4]; } pub struct CMYK64Float; impl ColorType for CMYK64Float { type Inner = f64; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::CMYK; const BITS_PER_SAMPLE: &'static [u16] = &[64, 64, 64, 64]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::IEEEFP; 4]; } pub struct YCbCr8; impl ColorType for YCbCr8 { type Inner = u8; const TIFF_VALUE: PhotometricInterpretation = PhotometricInterpretation::YCbCr; const BITS_PER_SAMPLE: &'static [u16] = &[8, 8, 8]; const SAMPLE_FORMAT: &'static [SampleFormat] = &[SampleFormat::Uint; 3]; } tiff-0.9.0/src/encoder/compression/deflate.rs000064400000000000000000000051031046102023000173020ustar 00000000000000use crate::{encoder::compression::*, tags::CompressionMethod}; use flate2::{write::ZlibEncoder, Compression as FlateCompression}; use std::io::Write; /// The Deflate algorithm used to compress image data in TIFF files. #[derive(Debug, Clone, Copy)] pub struct Deflate { level: FlateCompression, } /// The level of compression used by the Deflate algorithm. /// It allows trading compression ratio for compression speed. #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)] #[non_exhaustive] pub enum DeflateLevel { /// The fastest possible compression mode. Fast = 1, /// The conserative choice between speed and ratio. Balanced = 6, /// The best compression available with Deflate. Best = 9, } impl Default for DeflateLevel { fn default() -> Self { DeflateLevel::Balanced } } impl Deflate { /// Create a new deflate compressor with a specific level of compression. pub fn with_level(level: DeflateLevel) -> Self { Self { level: FlateCompression::new(level as u32), } } } impl Default for Deflate { fn default() -> Self { Self::with_level(DeflateLevel::default()) } } impl Compression for Deflate { const COMPRESSION_METHOD: CompressionMethod = CompressionMethod::Deflate; fn get_algorithm(&self) -> Compressor { Compressor::Deflate(self.clone()) } } impl CompressionAlgorithm for Deflate { fn write_to(&mut self, writer: &mut W, bytes: &[u8]) -> Result { let mut encoder = ZlibEncoder::new(writer, self.level); encoder.write_all(bytes)?; encoder.try_finish()?; Ok(encoder.total_out()) } } #[cfg(test)] mod tests { use super::*; use crate::encoder::compression::tests::TEST_DATA; use std::io::Cursor; #[test] fn test_deflate() { const EXPECTED_COMPRESSED_DATA: [u8; 64] = [ 0x78, 0x9C, 0x15, 0xC7, 0xD1, 0x0D, 0x80, 0x20, 0x0C, 0x04, 0xD0, 0x55, 0x6E, 0x02, 0xA7, 0x71, 0x81, 0xA6, 0x41, 0xDA, 0x28, 0xD4, 0xF4, 0xD0, 0xF9, 0x81, 0xE4, 0xFD, 0xBC, 0xD3, 0x9C, 0x58, 0x04, 0x1C, 0xE9, 0xBD, 0xE2, 0x8A, 0x84, 0x5A, 0xD1, 0x7B, 0xE7, 0x97, 0xF4, 0xF8, 0x08, 0x8D, 0xF6, 0x66, 0x21, 0x3D, 0x3A, 0xE4, 0xA9, 0x91, 0x3E, 0xAC, 0xF1, 0x98, 0xB9, 0x70, 0x17, 0x13, ]; let mut compressed_data = Vec::::new(); let mut writer = Cursor::new(&mut compressed_data); Deflate::default().write_to(&mut writer, TEST_DATA).unwrap(); assert_eq!(EXPECTED_COMPRESSED_DATA, compressed_data.as_slice()); } } tiff-0.9.0/src/encoder/compression/lzw.rs000064400000000000000000000033351046102023000165170ustar 00000000000000use crate::{encoder::compression::*, tags::CompressionMethod}; use std::io::Write; use weezl::encode::Encoder as LZWEncoder; /// The LZW algorithm used to compress image data in TIFF files. #[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] pub struct Lzw; impl Compression for Lzw { const COMPRESSION_METHOD: CompressionMethod = CompressionMethod::LZW; fn get_algorithm(&self) -> Compressor { Compressor::Lzw(*self) } } impl CompressionAlgorithm for Lzw { fn write_to(&mut self, writer: &mut W, bytes: &[u8]) -> Result { let mut encoder = LZWEncoder::with_tiff_size_switch(weezl::BitOrder::Msb, 8); let result = encoder.into_stream(writer).encode_all(bytes); let byte_count = result.bytes_written as u64; result.status.map(|_| byte_count) } } #[cfg(test)] mod tests { use super::*; use crate::encoder::compression::tests::TEST_DATA; use std::io::Cursor; #[test] fn test_lzw() { const EXPECTED_COMPRESSED_DATA: [u8; 63] = [ 0x80, 0x15, 0x0D, 0x06, 0x93, 0x98, 0x82, 0x08, 0x20, 0x30, 0x88, 0x0E, 0x67, 0x43, 0x91, 0xA4, 0xDC, 0x67, 0x10, 0x19, 0x8D, 0xE7, 0x21, 0x01, 0x8C, 0xD0, 0x65, 0x31, 0x9A, 0xE1, 0xD1, 0x03, 0xB1, 0x86, 0x1A, 0x6F, 0x3A, 0xC1, 0x4C, 0x66, 0xF3, 0x69, 0xC0, 0xE4, 0x65, 0x39, 0x9C, 0xCD, 0x26, 0xF3, 0x74, 0x20, 0xD8, 0x67, 0x89, 0x9A, 0x4E, 0x86, 0x83, 0x69, 0xCC, 0x5D, 0x01, ]; let mut compressed_data = Vec::::new(); let mut writer = Cursor::new(&mut compressed_data); Lzw::default().write_to(&mut writer, TEST_DATA).unwrap(); assert_eq!(EXPECTED_COMPRESSED_DATA, compressed_data.as_slice()); } } tiff-0.9.0/src/encoder/compression/mod.rs000064400000000000000000000036041046102023000164610ustar 00000000000000use crate::tags::CompressionMethod; use std::io::{self, Write}; mod deflate; mod lzw; mod packbits; mod uncompressed; pub use self::deflate::{Deflate, DeflateLevel}; pub use self::lzw::Lzw; pub use self::packbits::Packbits; pub use self::uncompressed::Uncompressed; /// An algorithm used for compression pub trait CompressionAlgorithm { /// The algorithm writes data directly into the writer. /// It returns the total number of bytes written. fn write_to(&mut self, writer: &mut W, bytes: &[u8]) -> Result; } /// An algorithm used for compression with associated enums and optional configurations. pub trait Compression: CompressionAlgorithm { /// The corresponding tag to the algorithm. const COMPRESSION_METHOD: CompressionMethod; /// Method to optain a type that can store each variant of comression algorithm. fn get_algorithm(&self) -> Compressor; } /// An enum to store each compression algorithm. pub enum Compressor { Uncompressed(Uncompressed), Lzw(Lzw), Deflate(Deflate), Packbits(Packbits), } impl Default for Compressor { /// The default compression strategy does not apply any compression. fn default() -> Self { Compressor::Uncompressed(Uncompressed::default()) } } impl CompressionAlgorithm for Compressor { fn write_to(&mut self, writer: &mut W, bytes: &[u8]) -> Result { match self { Compressor::Uncompressed(algorithm) => algorithm.write_to(writer, bytes), Compressor::Lzw(algorithm) => algorithm.write_to(writer, bytes), Compressor::Deflate(algorithm) => algorithm.write_to(writer, bytes), Compressor::Packbits(algorithm) => algorithm.write_to(writer, bytes), } } } #[cfg(test)] mod tests { pub const TEST_DATA: &'static [u8] = b"This is a string for checking various compression algorithms."; } tiff-0.9.0/src/encoder/compression/packbits.rs000064400000000000000000000215111046102023000174770ustar 00000000000000use crate::{encoder::compression::*, tags::CompressionMethod}; use std::io::{BufWriter, Error, ErrorKind, Write}; /// Compressor that uses the Packbits[^note] algorithm to compress bytes. /// /// [^note]: PackBits is often ineffective on continuous tone images, /// including many grayscale images. In such cases, it is better /// to leave the image uncompressed. #[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] pub struct Packbits; impl Compression for Packbits { const COMPRESSION_METHOD: CompressionMethod = CompressionMethod::PackBits; fn get_algorithm(&self) -> Compressor { Compressor::Packbits(*self) } } impl CompressionAlgorithm for Packbits { fn write_to(&mut self, writer: &mut W, bytes: &[u8]) -> Result { // Inspired by https://github.com/skirridsystems/packbits const MIN_REPT: u8 = 3; // Minimum run to compress between differ blocks const MAX_BYTES: u8 = 128; // Maximum number of bytes that can be encoded in a header byte // Encoding for header byte based on number of bytes represented. fn encode_diff(n: u8) -> u8 { n - 1 } fn encode_rept(n: u8) -> u8 { let var = 256 - (n - 1) as u16; var as u8 } fn write_u8(writer: &mut W, byte: u8) -> Result { writer.write(&[byte]).map(|byte_count| byte_count as u64) } let mut bufwriter = BufWriter::new(writer); let mut bytes_written = 0u64; // The number of bytes written into the writer let mut offset: Option = None; // The index of the first byte written into the writer let mut src_index: usize = 0; // Index of the current byte let mut src_count = bytes.len(); //The number of bytes remaining to be compressed let mut in_run = false; // Indication whether counting of similar bytes is performed let mut run_index = 0u8; // Distance into pending bytes that a run starts let mut bytes_pending = 0u8; // Bytes looked at but not yet output let mut pending_index = 0usize; // Index of the first pending byte let mut curr_byte: u8; // Byte currently being considered let mut last_byte: u8; // Previous byte // Need at least one byte to compress if src_count == 0 { return Err(Error::new(ErrorKind::WriteZero, "write zero")); } // Prime compressor with first character. last_byte = bytes[src_index]; src_index += 1; bytes_pending += 1; while src_count - 1 != 0 { src_count -= 1; curr_byte = bytes[src_index]; src_index += 1; bytes_pending += 1; if in_run { if (curr_byte != last_byte) || (bytes_pending > MAX_BYTES) { offset.get_or_insert(write_u8(&mut bufwriter, encode_rept(bytes_pending - 1))?); write_u8(&mut bufwriter, last_byte)?; bytes_written += 2; bytes_pending = 1; pending_index = src_index - 1; run_index = 0; in_run = false; } } else { if bytes_pending > MAX_BYTES { // We have as much differing data as we can output in one chunk. // Output MAX_BYTES leaving one byte. offset.get_or_insert(write_u8(&mut bufwriter, encode_diff(MAX_BYTES))?); bufwriter.write(&bytes[pending_index..pending_index + MAX_BYTES as usize])?; bytes_written += 1 + MAX_BYTES as u64; pending_index += MAX_BYTES as usize; bytes_pending -= MAX_BYTES; run_index = bytes_pending - 1; // A run could start here } else if curr_byte == last_byte { if (bytes_pending - run_index >= MIN_REPT) || (run_index == 0) { // This is a worthwhile run if run_index != 0 { // Flush differing data out of input buffer offset.get_or_insert(write_u8(&mut bufwriter, encode_diff(run_index))?); bufwriter .write(&bytes[pending_index..pending_index + run_index as usize])?; bytes_written += 1 + run_index as u64; } bytes_pending -= run_index; // Length of run in_run = true; } } else { run_index = bytes_pending - 1; // A run could start here } } last_byte = curr_byte; } // Output the remainder if in_run { bytes_written += 2; offset.get_or_insert(write_u8(&mut bufwriter, encode_rept(bytes_pending))?); write_u8(&mut bufwriter, last_byte)?; } else { bytes_written += 1 + bytes_pending as u64; offset.get_or_insert(write_u8(&mut bufwriter, encode_diff(bytes_pending))?); bufwriter.write(&bytes[pending_index..pending_index + bytes_pending as usize])?; } bufwriter.flush()?; Ok(bytes_written) } } #[cfg(test)] mod tests { use super::*; use crate::encoder::compression::tests::TEST_DATA; use std::io::Cursor; #[test] fn test_packbits_single_byte() { // compress single byte const UNCOMPRESSED_DATA: [u8; 1] = [0x3F]; const EXPECTED_COMPRESSED_DATA: [u8; 2] = [0x00, 0x3F]; let mut compressed_data = Vec::::new(); let mut writer = Cursor::new(&mut compressed_data); Packbits::default() .write_to(&mut writer, &UNCOMPRESSED_DATA) .unwrap(); assert_eq!(compressed_data, EXPECTED_COMPRESSED_DATA); } #[test] fn test_packbits_rept() { // compress buffer with repetitive sequence const UNCOMPRESSED_DATA: &'static [u8] = b"This strrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrring hangs."; const EXPECTED_COMPRESSED_DATA: &'static [u8] = b"\x06This st\xD1r\x09ing hangs."; let mut compressed_data = Vec::::new(); let mut writer = Cursor::new(&mut compressed_data); Packbits::default() .write_to(&mut writer, UNCOMPRESSED_DATA) .unwrap(); assert_eq!(compressed_data, EXPECTED_COMPRESSED_DATA); } #[test] fn test_packbits_large_rept_nonrept() { // compress buffer with large repetitive and non-repetitive sequence let mut data = b"This st".to_vec(); for _i in 0..158 { data.push(b'r'); } data.extend_from_slice(b"ing hangs."); for i in 0..158 { data.push(i); } const EXPECTED_COMPRESSED_DATA: [u8; 182] = [ 0x06, 0x54, 0x68, 0x69, 0x73, 0x20, 0x73, 0x74, 0x81, 0x72, 0xE3, 0x72, 0x7F, 0x69, 0x6E, 0x67, 0x20, 0x68, 0x61, 0x6E, 0x67, 0x73, 0x2E, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x27, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, ]; let mut compressed_data = Vec::::new(); let mut writer = Cursor::new(&mut compressed_data); Packbits::default() .write_to(&mut writer, data.as_slice()) .unwrap(); assert_eq!(compressed_data, EXPECTED_COMPRESSED_DATA); } #[test] fn test_packbits() { // compress teststring const EXPECTED_COMPRESSED_DATA: &'static [u8] = b"\x3CThis is a string for checking various compression algorithms."; let mut compressed_data = Vec::::new(); let mut writer = Cursor::new(&mut compressed_data); Packbits::default() .write_to(&mut writer, TEST_DATA) .unwrap(); assert_eq!(compressed_data, EXPECTED_COMPRESSED_DATA); } } tiff-0.9.0/src/encoder/compression/uncompressed.rs000064400000000000000000000020641046102023000204100ustar 00000000000000use crate::{encoder::compression::*, tags::CompressionMethod}; use std::io::Write; /// The default algorithm which does not compress at all. #[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] pub struct Uncompressed; impl Compression for Uncompressed { const COMPRESSION_METHOD: CompressionMethod = CompressionMethod::None; fn get_algorithm(&self) -> Compressor { Compressor::Uncompressed(*self) } } impl CompressionAlgorithm for Uncompressed { fn write_to(&mut self, writer: &mut W, bytes: &[u8]) -> Result { writer.write(bytes).map(|byte_count| byte_count as u64) } } #[cfg(test)] mod tests { use super::*; use crate::encoder::compression::tests::TEST_DATA; use std::io::Cursor; #[test] fn test_no_compression() { let mut compressed_data = Vec::::new(); let mut writer = Cursor::new(&mut compressed_data); Uncompressed::default() .write_to(&mut writer, TEST_DATA) .unwrap(); assert_eq!(TEST_DATA, compressed_data); } } tiff-0.9.0/src/encoder/mod.rs000064400000000000000000000525371046102023000141310ustar 00000000000000pub use tiff_value::*; use std::{ cmp, collections::BTreeMap, convert::{TryFrom, TryInto}, io::{self, Seek, Write}, marker::PhantomData, mem, num::TryFromIntError, }; use crate::{ error::TiffResult, tags::{CompressionMethod, ResolutionUnit, Tag}, TiffError, TiffFormatError, }; pub mod colortype; pub mod compression; mod tiff_value; mod writer; use self::colortype::*; use self::compression::*; use self::writer::*; /// Encoder for Tiff and BigTiff files. /// /// With this type you can get a `DirectoryEncoder` or a `ImageEncoder` /// to encode Tiff/BigTiff ifd directories with images. /// /// See `DirectoryEncoder` and `ImageEncoder`. /// /// # Examples /// ``` /// # extern crate tiff; /// # fn main() { /// # let mut file = std::io::Cursor::new(Vec::new()); /// # let image_data = vec![0; 100*100*3]; /// use tiff::encoder::*; /// /// // create a standard Tiff file /// let mut tiff = TiffEncoder::new(&mut file).unwrap(); /// tiff.write_image::(100, 100, &image_data).unwrap(); /// /// // create a BigTiff file /// let mut bigtiff = TiffEncoder::new_big(&mut file).unwrap(); /// bigtiff.write_image::(100, 100, &image_data).unwrap(); /// /// # } /// ``` pub struct TiffEncoder { writer: TiffWriter, kind: PhantomData, } /// Constructor functions to create standard Tiff files. impl TiffEncoder { /// Creates a new encoder for standard Tiff files. /// /// To create BigTiff files, use [`new_big`][TiffEncoder::new_big] or /// [`new_generic`][TiffEncoder::new_generic]. pub fn new(writer: W) -> TiffResult> { TiffEncoder::new_generic(writer) } } /// Constructor functions to create BigTiff files. impl TiffEncoder { /// Creates a new encoder for BigTiff files. /// /// To create standard Tiff files, use [`new`][TiffEncoder::new] or /// [`new_generic`][TiffEncoder::new_generic]. pub fn new_big(writer: W) -> TiffResult { TiffEncoder::new_generic(writer) } } /// Generic functions that are available for both Tiff and BigTiff encoders. impl TiffEncoder { /// Creates a new Tiff or BigTiff encoder, inferred from the return type. pub fn new_generic(writer: W) -> TiffResult { let mut encoder = TiffEncoder { writer: TiffWriter::new(writer), kind: PhantomData, }; K::write_header(&mut encoder.writer)?; Ok(encoder) } /// Create a [`DirectoryEncoder`] to encode an ifd directory. pub fn new_directory(&mut self) -> TiffResult> { DirectoryEncoder::new(&mut self.writer) } /// Create an [`ImageEncoder`] to encode an image one slice at a time. pub fn new_image( &mut self, width: u32, height: u32, ) -> TiffResult> { let encoder = DirectoryEncoder::new(&mut self.writer)?; ImageEncoder::new(encoder, width, height) } /// Create an [`ImageEncoder`] to encode an image one slice at a time. pub fn new_image_with_compression( &mut self, width: u32, height: u32, compression: D, ) -> TiffResult> { let encoder = DirectoryEncoder::new(&mut self.writer)?; ImageEncoder::with_compression(encoder, width, height, compression) } /// Convenience function to write an entire image from memory. pub fn write_image( &mut self, width: u32, height: u32, data: &[C::Inner], ) -> TiffResult<()> where [C::Inner]: TiffValue, { let encoder = DirectoryEncoder::new(&mut self.writer)?; let image: ImageEncoder = ImageEncoder::new(encoder, width, height)?; image.write_data(data) } /// Convenience function to write an entire image from memory with a given compression. pub fn write_image_with_compression( &mut self, width: u32, height: u32, compression: D, data: &[C::Inner], ) -> TiffResult<()> where [C::Inner]: TiffValue, { let encoder = DirectoryEncoder::new(&mut self.writer)?; let image: ImageEncoder = ImageEncoder::with_compression(encoder, width, height, compression)?; image.write_data(data) } } /// Low level interface to encode ifd directories. /// /// You should call `finish` on this when you are finished with it. /// Encoding can silently fail while this is dropping. pub struct DirectoryEncoder<'a, W: 'a + Write + Seek, K: TiffKind> { writer: &'a mut TiffWriter, dropped: bool, // We use BTreeMap to make sure tags are written in correct order ifd_pointer_pos: u64, ifd: BTreeMap>, } impl<'a, W: 'a + Write + Seek, K: TiffKind> DirectoryEncoder<'a, W, K> { fn new(writer: &'a mut TiffWriter) -> TiffResult { // the previous word is the IFD offset position let ifd_pointer_pos = writer.offset() - mem::size_of::() as u64; writer.pad_word_boundary()?; // TODO: Do we need to adjust this for BigTiff? Ok(DirectoryEncoder { writer, dropped: false, ifd_pointer_pos, ifd: BTreeMap::new(), }) } /// Write a single ifd tag. pub fn write_tag(&mut self, tag: Tag, value: T) -> TiffResult<()> { let mut bytes = Vec::with_capacity(value.bytes()); { let mut writer = TiffWriter::new(&mut bytes); value.write(&mut writer)?; } self.ifd.insert( tag.to_u16(), DirectoryEntry { data_type: ::FIELD_TYPE.to_u16(), count: value.count().try_into()?, data: bytes, }, ); Ok(()) } fn write_directory(&mut self) -> TiffResult { // Start by writing out all values for &mut DirectoryEntry { data: ref mut bytes, .. } in self.ifd.values_mut() { let data_bytes = mem::size_of::(); if bytes.len() > data_bytes { let offset = self.writer.offset(); self.writer.write_bytes(bytes)?; *bytes = vec![0; data_bytes]; let mut writer = TiffWriter::new(bytes as &mut [u8]); K::write_offset(&mut writer, offset)?; } else { while bytes.len() < data_bytes { bytes.push(0); } } } let offset = self.writer.offset(); K::write_entry_count(&mut self.writer, self.ifd.len())?; for ( tag, &DirectoryEntry { data_type: ref field_type, ref count, data: ref offset, }, ) in self.ifd.iter() { self.writer.write_u16(*tag)?; self.writer.write_u16(*field_type)?; (*count).write(&mut self.writer)?; self.writer.write_bytes(offset)?; } Ok(offset) } /// Write some data to the tiff file, the offset of the data is returned. /// /// This could be used to write tiff strips. pub fn write_data(&mut self, value: T) -> TiffResult { let offset = self.writer.offset(); value.write(&mut self.writer)?; Ok(offset) } /// Provides the number of bytes written by the underlying TiffWriter during the last call. fn last_written(&self) -> u64 { self.writer.last_written() } fn finish_internal(&mut self) -> TiffResult<()> { let ifd_pointer = self.write_directory()?; let curr_pos = self.writer.offset(); self.writer.goto_offset(self.ifd_pointer_pos)?; K::write_offset(&mut self.writer, ifd_pointer)?; self.writer.goto_offset(curr_pos)?; K::write_offset(&mut self.writer, 0)?; self.dropped = true; Ok(()) } /// Write out the ifd directory. pub fn finish(mut self) -> TiffResult<()> { self.finish_internal() } } impl<'a, W: Write + Seek, K: TiffKind> Drop for DirectoryEncoder<'a, W, K> { fn drop(&mut self) { if !self.dropped { let _ = self.finish_internal(); } } } /// Type to encode images strip by strip. /// /// You should call `finish` on this when you are finished with it. /// Encoding can silently fail while this is dropping. /// /// # Examples /// ``` /// # extern crate tiff; /// # fn main() { /// # let mut file = std::io::Cursor::new(Vec::new()); /// # let image_data = vec![0; 100*100*3]; /// use tiff::encoder::*; /// use tiff::tags::Tag; /// /// let mut tiff = TiffEncoder::new(&mut file).unwrap(); /// let mut image = tiff.new_image::(100, 100).unwrap(); /// /// // You can encode tags here /// image.encoder().write_tag(Tag::Artist, "Image-tiff").unwrap(); /// /// // Strip size can be configured before writing data /// image.rows_per_strip(2).unwrap(); /// /// let mut idx = 0; /// while image.next_strip_sample_count() > 0 { /// let sample_count = image.next_strip_sample_count() as usize; /// image.write_strip(&image_data[idx..idx+sample_count]).unwrap(); /// idx += sample_count; /// } /// image.finish().unwrap(); /// # } /// ``` /// You can also call write_data function wich will encode by strip and finish pub struct ImageEncoder< 'a, W: 'a + Write + Seek, C: ColorType, K: TiffKind, D: Compression = Uncompressed, > { encoder: DirectoryEncoder<'a, W, K>, strip_idx: u64, strip_count: u64, row_samples: u64, width: u32, height: u32, rows_per_strip: u64, strip_offsets: Vec, strip_byte_count: Vec, dropped: bool, compression: D, _phantom: ::std::marker::PhantomData, } impl<'a, W: 'a + Write + Seek, T: ColorType, K: TiffKind, D: Compression> ImageEncoder<'a, W, T, K, D> { fn new(encoder: DirectoryEncoder<'a, W, K>, width: u32, height: u32) -> TiffResult where D: Default, { Self::with_compression(encoder, width, height, D::default()) } fn with_compression( mut encoder: DirectoryEncoder<'a, W, K>, width: u32, height: u32, compression: D, ) -> TiffResult { if width == 0 || height == 0 { return Err(TiffError::FormatError(TiffFormatError::InvalidDimensions( width, height, ))); } let row_samples = u64::from(width) * u64::try_from(::BITS_PER_SAMPLE.len())?; let row_bytes = row_samples * u64::from(::BYTE_LEN); // Limit the strip size to prevent potential memory and security issues. // Also keep the multiple strip handling 'oiled' let rows_per_strip = { match D::COMPRESSION_METHOD { CompressionMethod::PackBits => 1, // Each row must be packed separately. Do not compress across row boundaries _ => (1_000_000 + row_bytes - 1) / row_bytes, } }; let strip_count = (u64::from(height) + rows_per_strip - 1) / rows_per_strip; encoder.write_tag(Tag::ImageWidth, width)?; encoder.write_tag(Tag::ImageLength, height)?; encoder.write_tag(Tag::Compression, D::COMPRESSION_METHOD.to_u16())?; encoder.write_tag(Tag::BitsPerSample, ::BITS_PER_SAMPLE)?; let sample_format: Vec<_> = ::SAMPLE_FORMAT.iter().map(|s| s.to_u16()).collect(); encoder.write_tag(Tag::SampleFormat, &sample_format[..])?; encoder.write_tag(Tag::PhotometricInterpretation, ::TIFF_VALUE.to_u16())?; encoder.write_tag(Tag::RowsPerStrip, u32::try_from(rows_per_strip)?)?; encoder.write_tag( Tag::SamplesPerPixel, u16::try_from(::BITS_PER_SAMPLE.len())?, )?; encoder.write_tag(Tag::XResolution, Rational { n: 1, d: 1 })?; encoder.write_tag(Tag::YResolution, Rational { n: 1, d: 1 })?; encoder.write_tag(Tag::ResolutionUnit, ResolutionUnit::None.to_u16())?; Ok(ImageEncoder { encoder, strip_count, strip_idx: 0, row_samples, rows_per_strip, width, height, strip_offsets: Vec::new(), strip_byte_count: Vec::new(), dropped: false, compression: compression, _phantom: ::std::marker::PhantomData, }) } /// Number of samples the next strip should have. pub fn next_strip_sample_count(&self) -> u64 { if self.strip_idx >= self.strip_count { return 0; } let raw_start_row = self.strip_idx * self.rows_per_strip; let start_row = cmp::min(u64::from(self.height), raw_start_row); let end_row = cmp::min(u64::from(self.height), raw_start_row + self.rows_per_strip); (end_row - start_row) * self.row_samples } /// Write a single strip. pub fn write_strip(&mut self, value: &[T::Inner]) -> TiffResult<()> where [T::Inner]: TiffValue, { let samples = self.next_strip_sample_count(); if u64::try_from(value.len())? != samples { return Err(io::Error::new( io::ErrorKind::InvalidData, "Slice is wrong size for strip", ) .into()); } // Write the (possible compressed) data to the encoder. let offset = self.encoder.write_data(value)?; let byte_count = self.encoder.last_written() as usize; self.strip_offsets.push(K::convert_offset(offset)?); self.strip_byte_count.push(byte_count.try_into()?); self.strip_idx += 1; Ok(()) } /// Write strips from data pub fn write_data(mut self, data: &[T::Inner]) -> TiffResult<()> where [T::Inner]: TiffValue, { let num_pix = usize::try_from(self.width)? .checked_mul(usize::try_from(self.height)?) .ok_or_else(|| { io::Error::new( io::ErrorKind::InvalidInput, "Image width * height exceeds usize", ) })?; if data.len() < num_pix { return Err(io::Error::new( io::ErrorKind::InvalidData, "Input data slice is undersized for provided dimensions", ) .into()); } self.encoder .writer .set_compression(self.compression.get_algorithm()); let mut idx = 0; while self.next_strip_sample_count() > 0 { let sample_count = usize::try_from(self.next_strip_sample_count())?; self.write_strip(&data[idx..idx + sample_count])?; idx += sample_count; } self.encoder.writer.reset_compression(); self.finish()?; Ok(()) } /// Set image resolution pub fn resolution(&mut self, unit: ResolutionUnit, value: Rational) { self.encoder .write_tag(Tag::ResolutionUnit, unit.to_u16()) .unwrap(); self.encoder .write_tag(Tag::XResolution, value.clone()) .unwrap(); self.encoder.write_tag(Tag::YResolution, value).unwrap(); } /// Set image resolution unit pub fn resolution_unit(&mut self, unit: ResolutionUnit) { self.encoder .write_tag(Tag::ResolutionUnit, unit.to_u16()) .unwrap(); } /// Set image x-resolution pub fn x_resolution(&mut self, value: Rational) { self.encoder.write_tag(Tag::XResolution, value).unwrap(); } /// Set image y-resolution pub fn y_resolution(&mut self, value: Rational) { self.encoder.write_tag(Tag::YResolution, value).unwrap(); } /// Set image number of lines per strip /// /// This function needs to be called before any calls to `write_data` or /// `write_strip` and will return an error otherwise. pub fn rows_per_strip(&mut self, value: u32) -> TiffResult<()> { if self.strip_idx != 0 { return Err(io::Error::new( io::ErrorKind::InvalidInput, "Cannot change strip size after data was written", ) .into()); } // Write tag as 32 bits self.encoder.write_tag(Tag::RowsPerStrip, value)?; let value: u64 = value as u64; self.strip_count = (self.height as u64 + value - 1) / value; self.rows_per_strip = value; Ok(()) } fn finish_internal(&mut self) -> TiffResult<()> { self.encoder .write_tag(Tag::StripOffsets, K::convert_slice(&self.strip_offsets))?; self.encoder.write_tag( Tag::StripByteCounts, K::convert_slice(&self.strip_byte_count), )?; self.dropped = true; self.encoder.finish_internal() } /// Get a reference of the underlying `DirectoryEncoder` pub fn encoder(&mut self) -> &mut DirectoryEncoder<'a, W, K> { &mut self.encoder } /// Write out image and ifd directory. pub fn finish(mut self) -> TiffResult<()> { self.finish_internal() } } impl<'a, W: Write + Seek, C: ColorType, K: TiffKind, D: Compression> Drop for ImageEncoder<'a, W, C, K, D> { fn drop(&mut self) { if !self.dropped { let _ = self.finish_internal(); } } } struct DirectoryEntry { data_type: u16, count: S, data: Vec, } /// Trait to abstract over Tiff/BigTiff differences. /// /// Implemented for [`TiffKindStandard`] and [`TiffKindBig`]. pub trait TiffKind { /// The type of offset fields, `u32` for normal Tiff, `u64` for BigTiff. type OffsetType: TryFrom + Into + TiffValue; /// Needed for the `convert_slice` method. type OffsetArrayType: ?Sized + TiffValue; /// Write the (Big)Tiff header. fn write_header(writer: &mut TiffWriter) -> TiffResult<()>; /// Convert a file offset to `Self::OffsetType`. /// /// This returns an error for normal Tiff if the offset is larger than `u32::MAX`. fn convert_offset(offset: u64) -> TiffResult; /// Write an offset value to the given writer. /// /// Like `convert_offset`, this errors if `offset > u32::MAX` for normal Tiff. fn write_offset(writer: &mut TiffWriter, offset: u64) -> TiffResult<()>; /// Write the IFD entry count field with the given `count` value. /// /// The entry count field is an `u16` for normal Tiff and `u64` for BigTiff. Errors /// if the given `usize` is larger than the representable values. fn write_entry_count(writer: &mut TiffWriter, count: usize) -> TiffResult<()>; /// Internal helper method for satisfying Rust's type checker. /// /// The `TiffValue` trait is implemented for both primitive values (e.g. `u8`, `u32`) and /// slices of primitive values (e.g. `[u8]`, `[u32]`). However, this is not represented in /// the type system, so there is no guarantee that that for all `T: TiffValue` there is also /// an implementation of `TiffValue` for `[T]`. This method works around that problem by /// providing a conversion from `[T]` to some value that implements `TiffValue`, thereby /// making all slices of `OffsetType` usable with `write_tag` and similar methods. /// /// Implementations of this trait should always set `OffsetArrayType` to `[OffsetType]`. fn convert_slice(slice: &[Self::OffsetType]) -> &Self::OffsetArrayType; } /// Create a standard Tiff file. pub struct TiffKindStandard; impl TiffKind for TiffKindStandard { type OffsetType = u32; type OffsetArrayType = [u32]; fn write_header(writer: &mut TiffWriter) -> TiffResult<()> { write_tiff_header(writer)?; // blank the IFD offset location writer.write_u32(0)?; Ok(()) } fn convert_offset(offset: u64) -> TiffResult { Ok(Self::OffsetType::try_from(offset)?) } fn write_offset(writer: &mut TiffWriter, offset: u64) -> TiffResult<()> { writer.write_u32(u32::try_from(offset)?)?; Ok(()) } fn write_entry_count(writer: &mut TiffWriter, count: usize) -> TiffResult<()> { writer.write_u16(u16::try_from(count)?)?; Ok(()) } fn convert_slice(slice: &[Self::OffsetType]) -> &Self::OffsetArrayType { slice } } /// Create a BigTiff file. pub struct TiffKindBig; impl TiffKind for TiffKindBig { type OffsetType = u64; type OffsetArrayType = [u64]; fn write_header(writer: &mut TiffWriter) -> TiffResult<()> { write_bigtiff_header(writer)?; // blank the IFD offset location writer.write_u64(0)?; Ok(()) } fn convert_offset(offset: u64) -> TiffResult { Ok(offset) } fn write_offset(writer: &mut TiffWriter, offset: u64) -> TiffResult<()> { writer.write_u64(offset)?; Ok(()) } fn write_entry_count(writer: &mut TiffWriter, count: usize) -> TiffResult<()> { writer.write_u64(u64::try_from(count)?)?; Ok(()) } fn convert_slice(slice: &[Self::OffsetType]) -> &Self::OffsetArrayType { slice } } tiff-0.9.0/src/encoder/tiff_value.rs000064400000000000000000000275651046102023000155010ustar 00000000000000use std::{borrow::Cow, io::Write, slice::from_ref}; use crate::{bytecast, tags::Type, TiffError, TiffFormatError, TiffResult}; use super::writer::TiffWriter; /// Trait for types that can be encoded in a tiff file pub trait TiffValue { const BYTE_LEN: u8; const FIELD_TYPE: Type; fn count(&self) -> usize; fn bytes(&self) -> usize { self.count() * usize::from(Self::BYTE_LEN) } /// Access this value as an contiguous sequence of bytes. /// If their is no trivial representation, allocate it on the heap. fn data(&self) -> Cow<[u8]>; /// Write this value to a TiffWriter. /// While the default implementation will work in all cases, it may require unnecessary allocations. /// The written bytes of any custom implementation MUST be the same as yielded by `self.data()`. fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_bytes(&self.data())?; Ok(()) } } impl TiffValue for [u8] { const BYTE_LEN: u8 = 1; const FIELD_TYPE: Type = Type::BYTE; fn count(&self) -> usize { self.len() } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(self) } } impl TiffValue for [i8] { const BYTE_LEN: u8 = 1; const FIELD_TYPE: Type = Type::SBYTE; fn count(&self) -> usize { self.len() } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::i8_as_ne_bytes(self)) } } impl TiffValue for [u16] { const BYTE_LEN: u8 = 2; const FIELD_TYPE: Type = Type::SHORT; fn count(&self) -> usize { self.len() } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::u16_as_ne_bytes(self)) } } impl TiffValue for [i16] { const BYTE_LEN: u8 = 2; const FIELD_TYPE: Type = Type::SSHORT; fn count(&self) -> usize { self.len() } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::i16_as_ne_bytes(self)) } } impl TiffValue for [u32] { const BYTE_LEN: u8 = 4; const FIELD_TYPE: Type = Type::LONG; fn count(&self) -> usize { self.len() } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::u32_as_ne_bytes(self)) } } impl TiffValue for [i32] { const BYTE_LEN: u8 = 4; const FIELD_TYPE: Type = Type::SLONG; fn count(&self) -> usize { self.len() } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::i32_as_ne_bytes(self)) } } impl TiffValue for [u64] { const BYTE_LEN: u8 = 8; const FIELD_TYPE: Type = Type::LONG8; fn count(&self) -> usize { self.len() } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::u64_as_ne_bytes(self)) } } impl TiffValue for [i64] { const BYTE_LEN: u8 = 8; const FIELD_TYPE: Type = Type::SLONG8; fn count(&self) -> usize { self.len() } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::i64_as_ne_bytes(self)) } } impl TiffValue for [f32] { const BYTE_LEN: u8 = 4; const FIELD_TYPE: Type = Type::FLOAT; fn count(&self) -> usize { self.len() } fn data(&self) -> Cow<[u8]> { // We write using native endian so this should be safe Cow::Borrowed(bytecast::f32_as_ne_bytes(self)) } } impl TiffValue for [f64] { const BYTE_LEN: u8 = 8; const FIELD_TYPE: Type = Type::DOUBLE; fn count(&self) -> usize { self.len() } fn data(&self) -> Cow<[u8]> { // We write using native endian so this should be safe Cow::Borrowed(bytecast::f64_as_ne_bytes(self)) } } impl TiffValue for u8 { const BYTE_LEN: u8 = 1; const FIELD_TYPE: Type = Type::BYTE; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_u8(*self)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(from_ref(self)) } } impl TiffValue for i8 { const BYTE_LEN: u8 = 1; const FIELD_TYPE: Type = Type::SBYTE; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_i8(*self)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::i8_as_ne_bytes(from_ref(self))) } } impl TiffValue for u16 { const BYTE_LEN: u8 = 2; const FIELD_TYPE: Type = Type::SHORT; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_u16(*self)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::u16_as_ne_bytes(from_ref(self))) } } impl TiffValue for i16 { const BYTE_LEN: u8 = 2; const FIELD_TYPE: Type = Type::SSHORT; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_i16(*self)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::i16_as_ne_bytes(from_ref(self))) } } impl TiffValue for u32 { const BYTE_LEN: u8 = 4; const FIELD_TYPE: Type = Type::LONG; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_u32(*self)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::u32_as_ne_bytes(from_ref(self))) } } impl TiffValue for i32 { const BYTE_LEN: u8 = 4; const FIELD_TYPE: Type = Type::SLONG; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_i32(*self)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::i32_as_ne_bytes(from_ref(self))) } } impl TiffValue for u64 { const BYTE_LEN: u8 = 8; const FIELD_TYPE: Type = Type::LONG8; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_u64(*self)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::u64_as_ne_bytes(from_ref(self))) } } impl TiffValue for i64 { const BYTE_LEN: u8 = 8; const FIELD_TYPE: Type = Type::SLONG8; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_i64(*self)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::i64_as_ne_bytes(from_ref(self))) } } impl TiffValue for f32 { const BYTE_LEN: u8 = 4; const FIELD_TYPE: Type = Type::FLOAT; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_f32(*self)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::f32_as_ne_bytes(from_ref(self))) } } impl TiffValue for f64 { const BYTE_LEN: u8 = 8; const FIELD_TYPE: Type = Type::DOUBLE; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_f64(*self)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::f64_as_ne_bytes(from_ref(self))) } } impl TiffValue for Ifd { const BYTE_LEN: u8 = 4; const FIELD_TYPE: Type = Type::IFD; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_u32(self.0)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::u32_as_ne_bytes(from_ref(&self.0))) } } impl TiffValue for Ifd8 { const BYTE_LEN: u8 = 8; const FIELD_TYPE: Type = Type::IFD8; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_u64(self.0)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Borrowed(bytecast::u64_as_ne_bytes(from_ref(&self.0))) } } impl TiffValue for Rational { const BYTE_LEN: u8 = 8; const FIELD_TYPE: Type = Type::RATIONAL; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_u32(self.n)?; writer.write_u32(self.d)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Owned({ let first_dword = bytecast::u32_as_ne_bytes(from_ref(&self.n)); let second_dword = bytecast::u32_as_ne_bytes(from_ref(&self.d)); [first_dword, second_dword].concat() }) } } impl TiffValue for SRational { const BYTE_LEN: u8 = 8; const FIELD_TYPE: Type = Type::SRATIONAL; fn count(&self) -> usize { 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { writer.write_i32(self.n)?; writer.write_i32(self.d)?; Ok(()) } fn data(&self) -> Cow<[u8]> { Cow::Owned({ let first_dword = bytecast::i32_as_ne_bytes(from_ref(&self.n)); let second_dword = bytecast::i32_as_ne_bytes(from_ref(&self.d)); [first_dword, second_dword].concat() }) } } impl TiffValue for str { const BYTE_LEN: u8 = 1; const FIELD_TYPE: Type = Type::ASCII; fn count(&self) -> usize { self.len() + 1 } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { if self.is_ascii() && !self.bytes().any(|b| b == 0) { writer.write_bytes(self.as_bytes())?; writer.write_u8(0)?; Ok(()) } else { Err(TiffError::FormatError(TiffFormatError::InvalidTag)) } } fn data(&self) -> Cow<[u8]> { Cow::Owned({ if self.is_ascii() && !self.bytes().any(|b| b == 0) { let bytes: &[u8] = self.as_bytes(); [bytes, &[0]].concat() } else { vec![] } }) } } impl<'a, T: TiffValue + ?Sized> TiffValue for &'a T { const BYTE_LEN: u8 = T::BYTE_LEN; const FIELD_TYPE: Type = T::FIELD_TYPE; fn count(&self) -> usize { (*self).count() } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { (*self).write(writer) } fn data(&self) -> Cow<[u8]> { T::data(self) } } macro_rules! impl_tiff_value_for_contiguous_sequence { ($inner_type:ty; $bytes:expr; $field_type:expr) => { impl $crate::encoder::TiffValue for [$inner_type] { const BYTE_LEN: u8 = $bytes; const FIELD_TYPE: Type = $field_type; fn count(&self) -> usize { self.len() } fn write(&self, writer: &mut TiffWriter) -> TiffResult<()> { for x in self { x.write(writer)?; } Ok(()) } fn data(&self) -> Cow<[u8]> { let mut buf: Vec = Vec::with_capacity(Self::BYTE_LEN as usize * self.len()); for x in self { buf.extend_from_slice(&x.data()); } Cow::Owned(buf) } } }; } impl_tiff_value_for_contiguous_sequence!(Ifd; 4; Type::IFD); impl_tiff_value_for_contiguous_sequence!(Ifd8; 8; Type::IFD8); impl_tiff_value_for_contiguous_sequence!(Rational; 8; Type::RATIONAL); impl_tiff_value_for_contiguous_sequence!(SRational; 8; Type::SRATIONAL); /// Type to represent tiff values of type `IFD` #[derive(Clone)] pub struct Ifd(pub u32); /// Type to represent tiff values of type `IFD8` #[derive(Clone)] pub struct Ifd8(pub u64); /// Type to represent tiff values of type `RATIONAL` #[derive(Clone)] pub struct Rational { pub n: u32, pub d: u32, } /// Type to represent tiff values of type `SRATIONAL` #[derive(Clone)] pub struct SRational { pub n: i32, pub d: i32, } tiff-0.9.0/src/encoder/writer.rs000064400000000000000000000121341046102023000146530ustar 00000000000000use crate::encoder::compression::*; use crate::error::TiffResult; use std::io::{self, Seek, SeekFrom, Write}; pub fn write_tiff_header(writer: &mut TiffWriter) -> TiffResult<()> { #[cfg(target_endian = "little")] let boi: u8 = 0x49; #[cfg(not(target_endian = "little"))] let boi: u8 = 0x4d; writer.writer.write_all(&[boi, boi])?; writer.writer.write_all(&42u16.to_ne_bytes())?; writer.offset += 4; Ok(()) } /// Writes a BigTiff header, excluding the IFD offset field. /// /// Writes the byte order, version number, offset byte size, and zero constant fields. Does // _not_ write the offset to the first IFD, this should be done by the caller. pub fn write_bigtiff_header(writer: &mut TiffWriter) -> TiffResult<()> { #[cfg(target_endian = "little")] let boi: u8 = 0x49; #[cfg(not(target_endian = "little"))] let boi: u8 = 0x4d; // byte order indication writer.writer.write_all(&[boi, boi])?; // version number writer.writer.write_all(&43u16.to_ne_bytes())?; // bytesize of offsets (pointer size) writer.writer.write_all(&8u16.to_ne_bytes())?; // always 0 writer.writer.write_all(&0u16.to_ne_bytes())?; // we wrote 8 bytes, so set the internal offset accordingly writer.offset += 8; Ok(()) } pub struct TiffWriter { writer: W, offset: u64, byte_count: u64, compressor: Compressor, } impl TiffWriter { pub fn new(writer: W) -> Self { Self { writer, offset: 0, byte_count: 0, compressor: Compressor::default(), } } pub fn set_compression(&mut self, compressor: Compressor) { self.compressor = compressor; } pub fn reset_compression(&mut self) { self.compressor = Compressor::default(); } pub fn offset(&self) -> u64 { self.offset } pub fn last_written(&self) -> u64 { self.byte_count } pub fn write_bytes(&mut self, bytes: &[u8]) -> Result<(), io::Error> { self.byte_count = self.compressor.write_to(&mut self.writer, bytes)?; self.offset += self.byte_count; Ok(()) } pub fn write_u8(&mut self, n: u8) -> Result<(), io::Error> { self.byte_count = self .compressor .write_to(&mut self.writer, &n.to_ne_bytes())?; self.offset += self.byte_count; Ok(()) } pub fn write_i8(&mut self, n: i8) -> Result<(), io::Error> { self.byte_count = self .compressor .write_to(&mut self.writer, &n.to_ne_bytes())?; self.offset += self.byte_count; Ok(()) } pub fn write_u16(&mut self, n: u16) -> Result<(), io::Error> { self.byte_count = self .compressor .write_to(&mut self.writer, &n.to_ne_bytes())?; self.offset += self.byte_count; Ok(()) } pub fn write_i16(&mut self, n: i16) -> Result<(), io::Error> { self.byte_count = self .compressor .write_to(&mut self.writer, &n.to_ne_bytes())?; self.offset += self.byte_count; Ok(()) } pub fn write_u32(&mut self, n: u32) -> Result<(), io::Error> { self.byte_count = self .compressor .write_to(&mut self.writer, &n.to_ne_bytes())?; self.offset += self.byte_count; Ok(()) } pub fn write_i32(&mut self, n: i32) -> Result<(), io::Error> { self.byte_count = self .compressor .write_to(&mut self.writer, &n.to_ne_bytes())?; self.offset += self.byte_count; Ok(()) } pub fn write_u64(&mut self, n: u64) -> Result<(), io::Error> { self.byte_count = self .compressor .write_to(&mut self.writer, &n.to_ne_bytes())?; self.offset += self.byte_count; Ok(()) } pub fn write_i64(&mut self, n: i64) -> Result<(), io::Error> { self.byte_count = self .compressor .write_to(&mut self.writer, &n.to_ne_bytes())?; self.offset += self.byte_count; Ok(()) } pub fn write_f32(&mut self, n: f32) -> Result<(), io::Error> { self.byte_count = self .compressor .write_to(&mut self.writer, &u32::to_ne_bytes(n.to_bits()))?; self.offset += self.byte_count; Ok(()) } pub fn write_f64(&mut self, n: f64) -> Result<(), io::Error> { self.byte_count = self .compressor .write_to(&mut self.writer, &u64::to_ne_bytes(n.to_bits()))?; self.offset += self.byte_count; Ok(()) } pub fn pad_word_boundary(&mut self) -> Result<(), io::Error> { if self.offset % 4 != 0 { let padding = [0, 0, 0]; let padd_len = 4 - (self.offset % 4); self.writer.write_all(&padding[..padd_len as usize])?; self.offset += padd_len; } Ok(()) } } impl TiffWriter { pub fn goto_offset(&mut self, offset: u64) -> Result<(), io::Error> { self.offset = offset; self.writer.seek(SeekFrom::Start(offset as u64))?; Ok(()) } } tiff-0.9.0/src/error.rs000064400000000000000000000306531046102023000130570ustar 00000000000000use std::error::Error; use std::fmt; use std::fmt::Display; use std::io; use std::str; use std::string; use std::sync::Arc; use jpeg::UnsupportedFeature; use crate::decoder::{ifd::Value, ChunkType}; use crate::tags::{ CompressionMethod, PhotometricInterpretation, PlanarConfiguration, SampleFormat, Tag, }; use crate::ColorType; use crate::weezl::LzwError; /// Tiff error kinds. #[derive(Debug)] pub enum TiffError { /// The Image is not formatted properly. FormatError(TiffFormatError), /// The Decoder does not support features required by the image. UnsupportedError(TiffUnsupportedError), /// An I/O Error occurred while decoding the image. IoError(io::Error), /// The Limits of the Decoder is exceeded. LimitsExceeded, /// An integer conversion to or from a platform size failed, either due to /// limits of the platform size or limits of the format. IntSizeError, /// The image does not support the requested operation UsageError(UsageError), } /// The image is not formatted properly. /// /// This indicates that the encoder producing the image might behave incorrectly or that the input /// file has been corrupted. /// /// The list of variants may grow to incorporate errors of future features. Matching against this /// exhaustively is not covered by interface stability guarantees. #[derive(Debug, Clone, PartialEq)] #[non_exhaustive] pub enum TiffFormatError { TiffSignatureNotFound, TiffSignatureInvalid, ImageFileDirectoryNotFound, InconsistentSizesEncountered, UnexpectedCompressedData { actual_bytes: usize, required_bytes: usize, }, InconsistentStripSamples { actual_samples: usize, required_samples: usize, }, InvalidDimensions(u32, u32), InvalidTag, InvalidTagValueType(Tag), RequiredTagNotFound(Tag), UnknownPredictor(u16), ByteExpected(Value), UnsignedIntegerExpected(Value), SignedIntegerExpected(Value), Format(String), RequiredTagEmpty(Tag), StripTileTagConflict, CycleInOffsets, JpegDecoder(JpegDecoderError), } impl fmt::Display for TiffFormatError { fn fmt(&self, fmt: &mut fmt::Formatter) -> Result<(), fmt::Error> { use self::TiffFormatError::*; match *self { TiffSignatureNotFound => write!(fmt, "TIFF signature not found."), TiffSignatureInvalid => write!(fmt, "TIFF signature invalid."), ImageFileDirectoryNotFound => write!(fmt, "Image file directory not found."), InconsistentSizesEncountered => write!(fmt, "Inconsistent sizes encountered."), UnexpectedCompressedData { actual_bytes, required_bytes, } => { write!( fmt, "Decompression returned different amount of bytes than expected: got {}, expected {}.", actual_bytes, required_bytes ) } InconsistentStripSamples { actual_samples, required_samples, } => { write!( fmt, "Inconsistent elements in strip: got {}, expected {}.", actual_samples, required_samples ) } InvalidDimensions(width, height) => write!(fmt, "Invalid dimensions: {}x{}.", width, height), InvalidTag => write!(fmt, "Image contains invalid tag."), InvalidTagValueType(ref tag) => { write!(fmt, "Tag `{:?}` did not have the expected value type.", tag) } RequiredTagNotFound(ref tag) => write!(fmt, "Required tag `{:?}` not found.", tag), UnknownPredictor(ref predictor) => { write!(fmt, "Unknown predictor “{}” encountered", predictor) } ByteExpected(ref val) => write!(fmt, "Expected byte, {:?} found.", val), UnsignedIntegerExpected(ref val) => { write!(fmt, "Expected unsigned integer, {:?} found.", val) } SignedIntegerExpected(ref val) => { write!(fmt, "Expected signed integer, {:?} found.", val) } Format(ref val) => write!(fmt, "Invalid format: {:?}.", val), RequiredTagEmpty(ref val) => write!(fmt, "Required tag {:?} was empty.", val), StripTileTagConflict => write!(fmt, "File should contain either (StripByteCounts and StripOffsets) or (TileByteCounts and TileOffsets), other combination was found."), CycleInOffsets => write!(fmt, "File contained a cycle in the list of IFDs"), JpegDecoder(ref error) => write!(fmt, "{}", error), } } } /// The Decoder does not support features required by the image. /// /// This only captures known failures for which the standard either does not require support or an /// implementation has been planned but not yet completed. Some variants may become unused over /// time and will then get deprecated before being removed. /// /// The list of variants may grow. Matching against this exhaustively is not covered by interface /// stability guarantees. #[derive(Debug, Clone, PartialEq, Eq, Hash)] #[non_exhaustive] pub enum TiffUnsupportedError { FloatingPointPredictor(ColorType), HorizontalPredictor(ColorType), InterpretationWithBits(PhotometricInterpretation, Vec), UnknownInterpretation, UnknownCompressionMethod, UnsupportedCompressionMethod(CompressionMethod), UnsupportedSampleDepth(u8), UnsupportedSampleFormat(Vec), UnsupportedColorType(ColorType), UnsupportedBitsPerChannel(u8), UnsupportedPlanarConfig(Option), UnsupportedDataType, UnsupportedInterpretation(PhotometricInterpretation), UnsupportedJpegFeature(UnsupportedFeature), } impl fmt::Display for TiffUnsupportedError { fn fmt(&self, fmt: &mut fmt::Formatter) -> Result<(), fmt::Error> { use self::TiffUnsupportedError::*; match *self { FloatingPointPredictor(color_type) => write!( fmt, "Floating point predictor for {:?} is unsupported.", color_type ), HorizontalPredictor(color_type) => write!( fmt, "Horizontal predictor for {:?} is unsupported.", color_type ), InterpretationWithBits(ref photometric_interpretation, ref bits_per_sample) => write!( fmt, "{:?} with {:?} bits per sample is unsupported", photometric_interpretation, bits_per_sample ), UnknownInterpretation => write!( fmt, "The image is using an unknown photometric interpretation." ), UnknownCompressionMethod => write!(fmt, "Unknown compression method."), UnsupportedCompressionMethod(method) => { write!(fmt, "Compression method {:?} is unsupported", method) } UnsupportedSampleDepth(samples) => { write!(fmt, "{} samples per pixel is unsupported.", samples) } UnsupportedSampleFormat(ref formats) => { write!(fmt, "Sample format {:?} is unsupported.", formats) } UnsupportedColorType(color_type) => { write!(fmt, "Color type {:?} is unsupported", color_type) } UnsupportedBitsPerChannel(bits) => { write!(fmt, "{} bits per channel not supported", bits) } UnsupportedPlanarConfig(config) => { write!(fmt, "Unsupported planar configuration “{:?}”.", config) } UnsupportedDataType => write!(fmt, "Unsupported data type."), UnsupportedInterpretation(interpretation) => { write!( fmt, "Unsupported photometric interpretation \"{:?}\".", interpretation ) } UnsupportedJpegFeature(ref unsupported_feature) => { write!(fmt, "Unsupported JPEG feature {:?}", unsupported_feature) } } } } /// User attempted to use the Decoder in a way that is incompatible with a specific image. /// /// For example: attempting to read a tile from a stripped image. #[derive(Debug)] pub enum UsageError { InvalidChunkType(ChunkType, ChunkType), InvalidChunkIndex(u32), } impl fmt::Display for UsageError { fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { use self::UsageError::*; match *self { InvalidChunkType(expected, actual) => { write!( fmt, "Requested operation is only valid for images with chunk encoding of type: {:?}, got {:?}.", expected, actual ) } InvalidChunkIndex(index) => write!(fmt, "Image chunk index ({}) requested.", index), } } } impl fmt::Display for TiffError { fn fmt(&self, fmt: &mut fmt::Formatter) -> Result<(), fmt::Error> { match *self { TiffError::FormatError(ref e) => write!(fmt, "Format error: {}", e), TiffError::UnsupportedError(ref f) => write!( fmt, "The Decoder does not support the \ image format `{}`", f ), TiffError::IoError(ref e) => e.fmt(fmt), TiffError::LimitsExceeded => write!(fmt, "The Decoder limits are exceeded"), TiffError::IntSizeError => write!(fmt, "Platform or format size limits exceeded"), TiffError::UsageError(ref e) => write!(fmt, "Usage error: {}", e), } } } impl Error for TiffError { fn description(&self) -> &str { match *self { TiffError::FormatError(..) => "Format error", TiffError::UnsupportedError(..) => "Unsupported error", TiffError::IoError(..) => "IO error", TiffError::LimitsExceeded => "Decoder limits exceeded", TiffError::IntSizeError => "Platform or format size limits exceeded", TiffError::UsageError(..) => "Invalid usage", } } fn cause(&self) -> Option<&dyn Error> { match *self { TiffError::IoError(ref e) => Some(e), _ => None, } } } impl From for TiffError { fn from(err: io::Error) -> TiffError { TiffError::IoError(err) } } impl From for TiffError { fn from(_err: str::Utf8Error) -> TiffError { TiffError::FormatError(TiffFormatError::InvalidTag) } } impl From for TiffError { fn from(_err: string::FromUtf8Error) -> TiffError { TiffError::FormatError(TiffFormatError::InvalidTag) } } impl From for TiffError { fn from(err: TiffFormatError) -> TiffError { TiffError::FormatError(err) } } impl From for TiffError { fn from(err: TiffUnsupportedError) -> TiffError { TiffError::UnsupportedError(err) } } impl From for TiffError { fn from(err: UsageError) -> TiffError { TiffError::UsageError(err) } } impl From for TiffError { fn from(_err: std::num::TryFromIntError) -> TiffError { TiffError::IntSizeError } } impl From for TiffError { fn from(err: LzwError) -> TiffError { match err { LzwError::InvalidCode => TiffError::FormatError(TiffFormatError::Format(String::from( "LZW compressed data corrupted", ))), } } } #[derive(Debug, Clone)] pub struct JpegDecoderError { inner: Arc, } impl JpegDecoderError { fn new(error: jpeg::Error) -> Self { Self { inner: Arc::new(error), } } } impl PartialEq for JpegDecoderError { fn eq(&self, other: &Self) -> bool { Arc::ptr_eq(&self.inner, &other.inner) } } impl Display for JpegDecoderError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { self.inner.fmt(f) } } impl From for TiffError { fn from(error: JpegDecoderError) -> Self { TiffError::FormatError(TiffFormatError::JpegDecoder(error)) } } impl From for TiffError { fn from(error: jpeg::Error) -> Self { JpegDecoderError::new(error).into() } } /// Result of an image decoding/encoding process pub type TiffResult = Result; tiff-0.9.0/src/lib.rs000064400000000000000000000017751046102023000124770ustar 00000000000000//! Decoding and Encoding of TIFF Images //! //! TIFF (Tagged Image File Format) is a versatile image format that supports //! lossless and lossy compression. //! //! # Related Links //! * - The TIFF specification extern crate jpeg; extern crate weezl; mod bytecast; pub mod decoder; pub mod encoder; mod error; pub mod tags; pub use self::error::{TiffError, TiffFormatError, TiffResult, TiffUnsupportedError, UsageError}; /// An enumeration over supported color types and their bit depths #[derive(Copy, PartialEq, Eq, Debug, Clone, Hash)] pub enum ColorType { /// Pixel is grayscale Gray(u8), /// Pixel contains R, G and B channels RGB(u8), /// Pixel is an index into a color palette Palette(u8), /// Pixel is grayscale with an alpha channel GrayA(u8), /// Pixel is RGB with an alpha channel RGBA(u8), /// Pixel is CMYK CMYK(u8), /// Pixel is YCbCr YCbCr(u8), } tiff-0.9.0/src/tags.rs000064400000000000000000000143111046102023000126550ustar 00000000000000macro_rules! tags { { // Permit arbitrary meta items, which include documentation. $( #[$enum_attr:meta] )* $vis:vis enum $name:ident($ty:tt) $(unknown($unknown_doc:literal))* { // Each of the `Name = Val,` permitting documentation. $($(#[$ident_attr:meta])* $tag:ident = $val:expr,)* } } => { $( #[$enum_attr] )* #[derive(Clone, Copy, PartialEq, Eq, Debug, Hash)] #[non_exhaustive] pub enum $name { $($(#[$ident_attr])* $tag,)* $( #[doc = $unknown_doc] Unknown($ty), )* } impl $name { #[inline(always)] fn __from_inner_type(n: $ty) -> Result { match n { $( $val => Ok($name::$tag), )* n => Err(n), } } #[inline(always)] fn __to_inner_type(&self) -> $ty { match *self { $( $name::$tag => $val, )* $( $name::Unknown(n) => { $unknown_doc; n }, )* } } } tags!($name, $ty, $($unknown_doc)*); }; // For u16 tags, provide direct inherent primitive conversion methods. ($name:tt, u16, $($unknown_doc:literal)*) => { impl $name { #[inline(always)] pub fn from_u16(val: u16) -> Option { Self::__from_inner_type(val).ok() } $( #[inline(always)] pub fn from_u16_exhaustive(val: u16) -> Self { $unknown_doc; Self::__from_inner_type(val).unwrap_or_else(|_| $name::Unknown(val)) } )* #[inline(always)] pub fn to_u16(&self) -> u16 { Self::__to_inner_type(self) } } }; // For other tag types, do nothing for now. With concat_idents one could // provide inherent conversion methods for all types. ($name:tt, $ty:tt, $($unknown_doc:literal)*) => {}; } // Note: These tags appear in the order they are mentioned in the TIFF reference tags! { /// TIFF tags pub enum Tag(u16) unknown("A private or extension tag") { // Baseline tags: Artist = 315, // grayscale images PhotometricInterpretation 1 or 3 BitsPerSample = 258, CellLength = 265, // TODO add support CellWidth = 264, // TODO add support // palette-color images (PhotometricInterpretation 3) ColorMap = 320, // TODO add support Compression = 259, // TODO add support for 2 and 32773 Copyright = 33_432, DateTime = 306, ExtraSamples = 338, // TODO add support FillOrder = 266, // TODO add support FreeByteCounts = 289, // TODO add support FreeOffsets = 288, // TODO add support GrayResponseCurve = 291, // TODO add support GrayResponseUnit = 290, // TODO add support HostComputer = 316, ImageDescription = 270, ImageLength = 257, ImageWidth = 256, Make = 271, MaxSampleValue = 281, // TODO add support MinSampleValue = 280, // TODO add support Model = 272, NewSubfileType = 254, // TODO add support Orientation = 274, // TODO add support PhotometricInterpretation = 262, PlanarConfiguration = 284, ResolutionUnit = 296, // TODO add support RowsPerStrip = 278, SamplesPerPixel = 277, Software = 305, StripByteCounts = 279, StripOffsets = 273, SubfileType = 255, // TODO add support Threshholding = 263, // TODO add support XResolution = 282, YResolution = 283, // Advanced tags Predictor = 317, TileWidth = 322, TileLength = 323, TileOffsets = 324, TileByteCounts = 325, // Data Sample Format SampleFormat = 339, SMinSampleValue = 340, // TODO add support SMaxSampleValue = 341, // TODO add support // JPEG JPEGTables = 347, // GeoTIFF ModelPixelScaleTag = 33550, // (SoftDesk) ModelTransformationTag = 34264, // (JPL Carto Group) ModelTiepointTag = 33922, // (Intergraph) GeoKeyDirectoryTag = 34735, // (SPOT) GeoDoubleParamsTag = 34736, // (SPOT) GeoAsciiParamsTag = 34737, // (SPOT) GdalNodata = 42113, // Contains areas with missing data } } tags! { /// The type of an IFD entry (a 2 byte field). pub enum Type(u16) { /// 8-bit unsigned integer BYTE = 1, /// 8-bit byte that contains a 7-bit ASCII code; the last byte must be zero ASCII = 2, /// 16-bit unsigned integer SHORT = 3, /// 32-bit unsigned integer LONG = 4, /// Fraction stored as two 32-bit unsigned integers RATIONAL = 5, /// 8-bit signed integer SBYTE = 6, /// 8-bit byte that may contain anything, depending on the field UNDEFINED = 7, /// 16-bit signed integer SSHORT = 8, /// 32-bit signed integer SLONG = 9, /// Fraction stored as two 32-bit signed integers SRATIONAL = 10, /// 32-bit IEEE floating point FLOAT = 11, /// 64-bit IEEE floating point DOUBLE = 12, /// 32-bit unsigned integer (offset) IFD = 13, /// BigTIFF 64-bit unsigned integer LONG8 = 16, /// BigTIFF 64-bit signed integer SLONG8 = 17, /// BigTIFF 64-bit unsigned integer (offset) IFD8 = 18, } } tags! { /// See [TIFF compression tags](https://www.awaresystems.be/imaging/tiff/tifftags/compression.html) /// for reference. pub enum CompressionMethod(u16) { None = 1, Huffman = 2, Fax3 = 3, Fax4 = 4, LZW = 5, JPEG = 6, // "Extended JPEG" or "new JPEG" style ModernJPEG = 7, Deflate = 8, OldDeflate = 0x80B2, PackBits = 0x8005, } } tags! { pub enum PhotometricInterpretation(u16) { WhiteIsZero = 0, BlackIsZero = 1, RGB = 2, RGBPalette = 3, TransparencyMask = 4, CMYK = 5, YCbCr = 6, CIELab = 8, } } tags! { pub enum PlanarConfiguration(u16) { Chunky = 1, Planar = 2, } } tags! { pub enum Predictor(u16) { None = 1, Horizontal = 2, FloatingPoint = 3, } } tags! { /// Type to represent resolution units pub enum ResolutionUnit(u16) { None = 1, Inch = 2, Centimeter = 3, } } tags! { pub enum SampleFormat(u16) unknown("An unknown extension sample format") { Uint = 1, Int = 2, IEEEFP = 3, Void = 4, } } tiff-0.9.0/tests/benches/README.md000064400000000000000000000002061046102023000146100ustar 00000000000000Copyrights: kodim*.png: Eastman Kodak Company, released for unrestricted use Transparency.png: Public Domain, according to Wikimedia tiff-0.9.0/tests/benches/Transparency-lzw.tif000064400000000000000000000140161046102023000173240ustar 00000000000000II*?@$ BaPd6DbQ8V-FcQv=HdR9$M'JeRd]/LfQxg7NgS}?PhT:%GRcZU6OTjU:VWVkSen_XlV;%gZcUo\nW;P]W`pT bqXf6хdrY'ǃpyg7r>W״wߠv?'xg{_?u~_c O L@\P- `C)Pz C 6ðRDq,_ƍ VEjF14w n2 -Lit%2D)ʋ)KR켲d/3 •sL4 )l7SΊ<3AsZU?̔ EщM FҔ?GI< =5.ӔMSu MQU-QWRKVJua[ՒIZJq_ѵG^(fXL.fD} IXEke ) ڶV|-npwl rۓu(we{1t#{_ }Z(8%σ(BaчB='-x%#}dKB9"9'FUd!#yyf띛A5'y}#:"uiAzb1':z"qk+iA;-&&ͷD"bgnQ@)&[; "|cpk9@|B%&g˲"<_s @cl4=~2 1v@ ^B(pС ?"q!Ep pt9b|)D؟F~%޳a[#b0x QpX,AXl@ Y R HcO_!24H J%1t8Hw$BGIM2-n bA."015A!ޖYhIf"P`Is7Fī;3AYԞgzyI'!Slm$(n5= NE>tTQrGFfA$@C h f=¡pl:ĢqHZ/z>,\3$l_0̦sIT~ eHMtJ-Ej~tZ5Uu9$Ed2;S+Zvm^!@ i l7g@Qi [8̩k4/CIqoF`$AAIr juGH^=rg^006[Yɺ$eIwPoXn=bݸy%$=;_@~#{B%?1}a>^j#:WzNٍI` AQ[f\qYKWӏ%'_=[~ԁOoU$^>U_]~끷D;VP(?MVp> 0 U`t (D6RHء,,%6? O\")8Nt$CK@X (pG(C>4U1>+ 1&,/:oIZ('< fb@tbaFȌƃt?F[ Q?-5GB9&|Fh(dd! /!o%E#Pc ^28GIRI(%y f|8| c:#7/ ܱ&aylgizdI@ QS@LRk133CO56QpLiQf4s"neDꑀ4uΙW猓O?ǩzO .iLtà&0 | c*#G e&TR^Qb?M JVB"䖒O-)I~bum!@y!"5N :𾏐IЛ1R 5H^*jy|eʽ D $SԉȈVB=A$^` H0 U K%zT;,DX R {em%2NXe&8ZT ]Mv$"Ж)4W Wf[`Zxqu$J\"d,˅Z[sI5ϑDW_ V^BOv-ݐ|Vjz`l{Vmz:~ UXUsH/嶿vT *%F6 0q\t @:cLk G8VR Ik1zAh>.}.zEB2_˃-vH+~pw9Y5(\jr[;/:fh"hݙ Y道`S<)^wk#hR'ȶq+I>䞉k^L绫z<ǸZ􂐚f)c6+q6j6j $GT=W5i]qW[2x"zyi) <bF"Zk)#ej^![l}WܫN 5X=}W;&n>PZZȎ@tIA@π>=dCcp*bNn ^Zzmԇ F,7ɒy//Q + 9-ӻ6ѷe|ds( ,aW4X=5te"޺\np7sUc>ϻkmOsWW2Av' V㻇n[xyW` ɚtUyuWe kN=Lc!,{hAxI%8?: Ub`roCSJG~U_PTA0+$A_ڟC_}M @! `C ${`-KD FQ`X!FB`i݁LA CS X`lBt{ b @A^߮D*ǮV $$( T:@BaHy!Qm)ڀ,0 ~FJW,$#!d[T[UvD"ǎmAT@Ţ@! Qb(B0A8x"Aw&AHɢF '}b` ╓ b8!c!|B#"hb3#x `$~S*%|c2#d~]Ih4j="JPa!)jb&h 1&,k=ϭQ)rP;s Ja0 JB#,̍ەCGk+ !Mu2ݾs;.{DW񢽷?]r<"JA 6J*4?aKxHJ@$AX%LW[cB!~W N`h(Q8-<PAT$A**C u@FcB4di戗HKby6PX@4w<[9 08ڒ2pG$x0"T@tA-ZB ?Κ4OT,B@A_W! Xgbyjr]JJ޸CL++γPƲf>*+β- ^)+bܷgOrַgڹnںoKd%Բ+mlVkjlY<q$Zp }V^r Wr,C%$2l4O81<@K}D=sLG4=7PuI4GXDg\55gU}wdA5h5ca6=Y ή}M7rvUzdnLxGn W+}:y RI>\I^Ƕ{Nn;#;-ofGQ WWeA/wⷾex~OVQ(蟿Ġ0*8 N`:M09[+ d&I$AH2` e $$`+ɤH~([ .-kD818fDG1%hN׉Q9Dث 1*E? D."La0V2̊cDl@9K(QX-H>H;DB" " /F䄔^mɸ%TCjO')%2 JYRpDyr+噹RKVP D\r:Ɋe'3d'3Td2bM4&l~jͥ'f9zoN)8g<.nsN:g|#jwO(g JP(@h<FPBh{:Q(Dh좌6QFhᣌR)Hi X'鯃p~G iMpXg p"hr1>*8NJq~2Xiq:qB!kr>J'% r~RG)lrZg-)rb,, ,()=>?R   ףzTLff&(\ PW9TCreated with GIMPtiff-0.9.0/tests/benches/kodim02-lzw.tif000064400000000000000000026131561046102023000161340ustar 00000000000000II*R @$ BaPd6DbQ8V-FcQv=HdR9$M'JeRd]/LfS9m7NgS}?PhT:%31o?Է4Ÿ]\Y_"Y"L+p[MMsYk6Xmq_ _,& b"x*]6jXb06eieN: %UzSiW{{ENA6[65ֻ>‹,햣b}NJ,yZGˋgяm;<鹋 >pJ?,?,B m?An|Hn(<"Ũd("P /~⮱h*Ԙ}C;7K*k~L\5 ʩL2Rҿ*(3GMsڅN2r"7 CJTCN.SiI?~ 3'TUˤMn5H47NM*:/X+Z DE8og425sNKT= E 27} Rl~Π7ȑJr@WjotΚ0[N"')6ʉ(0a>+T=o#ݦD "cEmm$3bL(ӎWkڢr"FÂLfja(tWEͻ%0VP$Q<Dznt1>X.J`lFYa>#[O):$GJxeE=T$DL /DடKNm -Z\ u>zy^qBBG!7 W)W^9QY#?I؃) -WFsM-rCeF?8 P{QӚeM1z8թG*$ vdv5PWheEl,`Ń5='[抙ú,SAc\C],\9L"S| 3rXښ25m=ǻJ`i2Axjct;XF^cD3i H+؊}Qtf+ ^&WwlܽKI|"c1;Ǎ ߧI$Hvo ˕.{Qa%A~)Á,EbRgabV~[U:,CSZ`аگ g,^(x@@@CE>G 9J@HDw#yَ1ۙYH[Ԛ$=8fAh0(0HPLWN` G`Tq1@|쒥W~y6XL},W&@ 1u]UmM){ 0F u({\ꇽ.M-.ԔU\Cs|'[FVm6=2s~!ϙ*1H+h9*Sbߣi<Wjh B/l;|])y6<.V`0S@(G>0v ,,|!AdJ`_P* x+\Ma+aҽ .&&a_L7a *P a8Bpb (Tka FzDϬLހ",F0 T K6kD*FTsH iJ*dcŌ/'O^$+"a0"lF6$'☂f2ϼN(\N\%i \Ƽ^%`(C%S` w$]%JUg$!A `,m!c-L6a~ πp0k(*b-iώ,%*$͉"gVK+~vf0ҘI2VxOjKQnj"*`&|&"%ZO@LtGQf,o:΀kAҨ0v \g-gP( Xh!!5 m5d{*,UЮ:@3 (tǜ-] L.!@0!`d ;xSJbF oԧV[`Ѽ0Fw&ж^m0̘ 2]AB!xaMdT˴m~i 1&! N<0J^ w%QoAθdr D:_8r"=QNpJ%JqeM%?d ay`֮ k *+lJg*NOD1fԮebnH"M4lv (1=H&ɦ* "P2aŸQ8hWOΈ6"vQls%* !X& 9 2Aj3Lh `,6Rq6ހ 9&) ,,Tq }.X,ʔ )`BNjA%vdjZ vm@!* @'I'\%JxHa|’+m%Hm5Ɛm Jh0ᆱ jIj/[>.b;H$N-JdHo3eăʃE͟ ̆AviͶ@&PjL& (ak'Tf &@\~O -]7mV OUQFM& .^0lυ) 7@Ao.D][s.OnbQD@Z`R2d}n~>,aXA!q\@ @j/I!+ek5 tn&rmLla.u&"@F$g"ta*`pa!B 2EsC,ظgZ%hJVEԡaa lzk6`(Bdh\:,cqz1 N#}A| DZ:@~&AY IO. ^s (u?GK 6MUP{a 3e t tIUyj,EmJ|͐xǤ+h03 GKpZ).$Kmh;EF0g|Q4y&|Z䄰jw[ߢ+lda琖@RX Bavza@('!E@Y@^,®QKdG+f!^F׊v 'lsR@&0h.`3m"ZJX "ڡ99tgZ&gt^Ԅ7%N@j(OnV3~7uҦntalТp" ЖsB thܽ˹; JFҢg0u mDRg΁.aAL 0rxЍhh+o tJ@9hH0 A!ʙլ $K>ATt矫$ɫzNPmZ,2 _]s'Ro: RxxH`V l,@\GԁXnuc*}Űrb , oG+4H!aSF-j!-iwTE?ĔbtmD+E|&TĻ,vO\P*\Dp񌏃K),\FiAxddJ˲ЖDDuFQ͍Ɉ+ 0)e>~2m1ݡ]IpJDS" f6Y:Lfm,a{sWH إ ]V,Pnc'`ZM,ZL`FLQ!a)oD u^sIaǀa ,LtD̦/hbPM}mi+ыlgb )_#VxGgeT`}4d^*tlTkƮ͆ЍbɾlJd~\_v5\ fmq||#A%f2|s͚V4 $rF Ŋ92&Sۥ<VoPA%\]231agz b @7q^g\@06\[0`9rA   ; X!t5P$}?^ R(@s~O'/0 @-LUU՗6va* tފky=^yuw( WtoX.y_O0Ϸ o.w+K|>Bc=A0L(i¡h(zyt;@s:!OzGyxGp2ޝg9 @:؟Z ˱C~j: @@ `V)@/D~ĀHG()zؠp /);!؟m#@+LKBDGx@@ jʖe%j2F)ʅs )DiqL"U G*~ J8kd¨6PlP m -uy09TF%> C*!h|x9l`hHNGvRGax 3zYxࢦB{ dPvB('i暌%pPzǘ\`IuՒ5 `MTG` TٷUT\}- ʴM _ue re UR pu'|:X䩀HM;䪫'y#L^ ,+$*؃KxŃ ,wsXa`px @?LO' w@'* v?dtr ]+H!Tf0 Yמ6 =8x> G7@21KH@!b = qa?#P$B._{Զ6>oEl䉀@ N= x,\0h L+ #s($!?؞[(' p.zvxpЂMp XO!Q TT'Ȗ8Iu)<@̠zEGcOr:4` 2Gq@K)_=?bY8 88N0\dzL`iA;Gٌ)D8P @Ԃ@ (hx@"IJ7AvD:H#\(%fB$*.;GbYm (H6^S6Kx[Ȥ":PA0)iDO\ vNB}%A{d%pǀzYX70@USi*!J_PϱBl8;Xwqf4 ;Wx|;90 .1P 'h؏.Q_& A*xx $jG%$z8u2 M$3X+щQJ.OchE!C.U ϩ6Y2/) 8(i (M7ZaO 6*Y2Q!%0P ~J/*pK^QWLq[KIbQ*t[V XőܔiKkeV ,"s8 ۇ0ጇ!JX+ Ƹa;@ Фy¢ A1zKh ي>0 P|\gph:},wDH.}8KIB{g}{L̫ɱm>9(.Ob\r_yqR+(̺ \~8 L nc-!{o)$fJlH%@wsUXkhhDq XǨz<$˨+y;=8wRc;rqб)3!(uK)߀Ei3@`rqɩ@2>Y 02pw 1 *ya8\:klp;h B(yuHH[IHxxh߇|iUnI5`{ғu\0I[:pCЪ yU2C 7 Eǒ1.E{%#5[]D)l3t[0:03>MJYu%Pp,6d` 0Py*Q[RyIx:Tٷ \1)2ϒ.=|A\C]9)A$@ٞpxh mr(s NB}2HLJ4 lm*h9 hhPi}ߢPh}dXu! ɜɸp1`IJ?dZ ,bh J0O*"Q0"fP(㘃Shhj}kj`k)"`KpÝ͐l4M Xl9R4 €S`APĊrq(m ѯ9ep~9%lƊ1/h2S4[ I%$(~vᱟ嫀;އQX=8l9a/3}ES@#x-ɪ>0a~ xn)oRvK ۀck<ǂOqmLXz}\qԇv9HHxᑖ͌Mqe%)Eᶛ: oG"-ԫ@4nZ̓6@ jn (tPo[n dГ"R2=*<ρcn]ǁ:hqw+72PӀ`ŌDѮV9kH8Dޝ{ڀ痨w YӀK޻o@ +I`vs_0&3q$ب*mViR[f&< ͪ5ړ:)< 9yI4IF6FiuZX)H|(Hz@#x{3cHVXa `nK4 xyImhy6Β[i-ur ]Eѐ{f0Հp ap-e$IHn!.5ȇ"Jp䇋@ Hd`er8H b@ hl H0N#ؔy;ƻ]ab`!\ L q|ʆ%QW9 '>61 al03YV.(CC㘨(roଔs , 1 &} xq$T2MY -:bK@pCߠ _w? ~@(y @d. a3GC& A H0iד ‡er` {=!F߶-;,}>a@>/WSp=R _|0 ^gL[p ( P*zP!G y?#G|$1##p4er, B;|w4GL`C(3|[I3Mj} ;cz(~Cdz"˟0'% 2R0k.|51F3'}@@G9vg! bzH$8G*}sH|!|^GYw[}+0>K! 2uq~Q<X20x@}hȟgz%#yjZ܊G 2qG}o#*Fs9ǔ`H1^h5y=0{UŧRA'فq5(֟h.}9q ǴL"h5n;Z_ N 9,ˡg䐉92}g.ZZNFxm,FI6}5 +k(yLgֳhWbj:Mug:XJރopLZ6.%'L$V)t4thMӿ + .8 ׈`> H USgyg 3׏@aȀi 6T(l$$Yt_Mzݨ~FnCto8p0`=k"j]X@ aG`,*!mG||£Ǖy@y;BqQ*bb%;xHҢ$@wڊch"]J鈨7dҽ$Pp,#Z1]xyșˋäv~(`4$6с OG)ɞ<`0w {cZ A``2y%0,OwL]Qg co>C܂ihCC78h5L3 ="$Wp`<@h+ .|G VFRJ;*^\e aL= #PY=aX8`F^D.̅R]nZ@$}#"=Iv5@$>;H)TzʃWo sFd 0J3|SFy-fXG(4CȦ-}=YhF@HiQ+hCFd-xQD$K˃f~#aЩ ďNLyLŀJuH:rX]' >9!">6@x!I24?"i:4\H?a (C}+4f k<nQh4֫!z.@%|3F/ZkGXT z;kHjqݐiI*l8S=[|t@![a2zGB!>7|ϫCy|0h(~kG H V< blT73@%c l{(u ֠D^Jp Ţ:Mg$ eh,%+RBGF69!>W@8NC&,V 48N.%#Luu(¼=P@!Ö  <CrzlZ922ҏbpe"nhP".ocՋ"uhL<A$+t<> JR!JV4i@#ʌ( !,IC/d.,zpIM"/q@*dZ "i&g6AA$:DT$L?@*tƮ>!Ȑ/$"q "a!ƀ"(jR0F.X.jg&BDB(NN8Ŏ,Y)ZG&.Cb ÚcB"i6Ū9c4@ {<} +L82"dȤ<5<$L`"qLDa,A`)ELlL5oj7F(o.c`F.Ϭ&x ;#CLC1+RLf,F҆vhpR$9aCZe82Az HXcc$02!l*"Ȁ/iZ@L*,D>er`fl$.,R©ON`8ND!b`. 6s0"$E"*0URz%*$=v¼e"M#k@N@%&pŦğJ(&h%(@.C0PW1L-, `"J#=F!?"BMhL?Go#L'"*`$"$I #|5 D"fRG$ꆉ,P.TƲ{B]":?h@ ZOOrd6ob,(`.h"`g>?Og3M .@!Ý"Ci:B*"6c@18?zoVɕ-נ= 2"gGoW)Gb.e#P.ǐ!@`Hꐇo X5AiXIA~LE>JcZ,oe" +E>BZL>efW =B!q}*F]1ZbZ#CBQFj$uodZvMn[RWv"(=tlHXnF-Ȥ(;5{w,`KNzGDt,,^cT?%0LK5$!өDy:0k"ok1C5Fb`eh2ovR$\`aLDr~sx*13 (6d(/t4562,"HAD.paHH$*92$_\J>2o0@tXlI. dN#v0ž#&Z N"iY6oܝ2$_NF(0ޠMgxDAN$"!`B@ 1-5 S`I,$@0w<= J /7.E2Ae @1tlYF0Ƃ@VAz^ jĉl9os*.B7fh>)frT,ZpQk1@"7¶FZֻNXT+4,!gE¿90BNDUPjH>e`=B`}EߏPN?x=FujD0g ^[ 81wB @x`%t Ѫ:6lf@:>`zvf :`Dc`Lar*dZ@,F44z!=G❃LtߖiFr0yP2.+|/6lG}+BS)j0SJ{B1&T` "ͦpCp "G`c3t$-f5ȱDq8??N)2!u ƔB.í$^Ť8%W7*gȀ@.z2HWgHxsv4$ފ C WtB.1hG$ Vxg AEa›fZW6!o4Ns%%2"!4"p? \Vufd12UCZh"8xy$y".Y0ص]fn:A/}BǢRH3Z:29/i, ?L"ZB'2da`%+oPSv Q(H?#@`I3P~OL#fP<?Sh5AM 5I&ٴUQW}T @_rImbe_Jl}/zQ w&d3_FJ)s90 ~ K&il!14 `|>/gWF_p8"f{0>G87_ |>A=׳Xaނe%Kg|'" cf~[{zpP0`h  @00`PwGE#~ @a~M6G< @rZ|@Rx" 6 ",*!&.}*zp(  uG1 &` 1yӇ|E`"l.ZT~5nzL|W8"0͎ Y'iv.3={B p8 6AЄ(" x'،*O'sJ&`4Ͷ(%ڷ)Z$0 G[\R2 Vsp-1{+R:L @v +9xy-yHGNrv5ꀑor0'auSOJ0 y PrU1cnٶuu#XZ@ M TRBLy, ~TtvmHz^Lzc}9)z'4I{F* qx | GQÁ ``rgIpy|Bި` QGArǙ<@P o}lS);h< E`=2P?x"@+E"Xo 8G3;`9 H Cm叄Ϙ앀RJKZ"a]Y1't$V̊ BYE;˕v4&vH"U1T""uHPl~VJ,E(@>pTE~V/o$[H#@&R WS҂[>H%hH́Id@ " `X A74T 2,k>O*"v @$H)X \(! {a6G2/ ӹ0Ca>OtJ@4 I,'h@Mfx0>i815@L <]= DVqU D]Byu,:X@8>P]lbHd(4GqBLM:(*pǝl(q?`Z( ap+q2Ơ'>&X;'3V#Z8<C܍a8I+P I#H^ #v@;oJn6;;+I;(efaGvAC\l{ A2UN (RP#G~n=T}w$mHtH ceTzڄClL9[3.^xI9+2BNșE૓%[%aČƙE"Wx番' 888 % K{Y!?@XEN1j0J}TE𢱦NiS&P`Qe#|Xxr88AV###ŌXd ay * O)/Ip"᯺h Bd⦷z% h+ ~RSt[sP~(qHp|8r}84* p׈/S7誀!Mg ;| wjIP5B N l(tp뀊 p9M.~.!~H{2 {x:90{ݕ %|X~"$`)sp|  ϒXimƙ qo+d0@$xgjrܛ@y/(zZ+P`3ZPy!Ҹz4pI]S-9 f2|`o3%ӼН P@@Bؤ\/։|*B ȣ&2JB݈X0ws3zx `0s|rQhL$^rSfK2$A3 {0rh RBhJh @ pH( -Î `$8 IЬ HZ]@x t*pC3צd8ǒK,9 `,{D$x QP}AQ64!H,*hU)Z;Q28#BTf!U uqCbZS2q12Yl7%Ev4pqR% 0 I@{Jӕ3śp(({R Gb y{4pv*HyP U78cJ)$(3Hw( |[1ǡ]Eh y'C B{IU5%tLýw6y ˎ\E0ԑ$ Ɲ2 $*hzz/X2=ժ(S7 > p `@"`xp||I0 8QU 0Ho0s8cʀ0傉 9iEXw8X(:h  @s:\<"C%Z +Ay êV@5XʕʦhM"/Q}0(1%c%PhSiϸvj"%p *q^̵8 pڣ  y90[p hGL5ȆkƏ(jߘl*+X ~mG; d ^ i> F BNVJI/M|Hח3 }K4HM|#0~ x[\N0@ڪI^}kWjvx0~ {0wŸ7Im y t s\"Z!XM;@zX90P  . ;qH4$Y`\i~cb^sA0MU RP M?09 /В>VJ}M b5eY7޸<\ssg6"P:\Ћh9"$&)8 P&PghikcK@  vz#C]A jJTY j:(xK uqqab2IЭqg>H )s0d%8\e&MBGSY 3++޷a,zg I[X~mx !Vi͟w & zp0%f( Lui?T m~m XiB :!ؑiCjO/ #$Qh"PkX,؜q Ϳ(q|* LU RI+$z% g:1c0hx` S"3p1V-up1J;KapA3 ta%iA詥0% ֭rH`Zr`CQ]m<1` ٟ QZ@5ncᇂAP韲ƋNގ6p{qiP ]>IdjVY0f /0"TwGjxџdΛOG0k+:x/Z/){ZG\K*yHl[IA䐉( +"GLjoqX d A~8@E^.;你 jZj$wxA'5aQ!l_z >;d,s r*hS3;֕Xh0ؠ )7^M9bJ懡 [ *R[! [qrՊ mI؏5i8P} K ?_~@H&|_@`0(@#| c\|>pɘ.5y=^', ;ݎ{c 57.P8+~?c eA/Gܘ `p0Yp8܀hE=p(, l}z@ # Bhx=tO|$2(Pi ]S?-{ A <g˽_O ~/Ăfn|=OgB[X~ @X#+p}ph#G|I,wTJ@1zv+&{I};GҸ@  &y7Rz* } (z{6'@`zn>L}` (  U$~JiܠO!@ 'iu",-j"5iJB\ٕ: ۺN jHU:ۗL@X.MD\Zaub{2,&zRG$V 8`axgo\}g߅h=-- 5w\֧'z=ࣚI7N! yԥߪ?9)R,Aue;w%f?,S oƶ:`@. F^,P I hUkOHDR!Ju$8x @CܝѠ+g0@\3jDc8@AỄ1KYșvH R_lvK( >"z '*4g%"5Gsd<3A@6ơl((Z~ש$tg$Un>=Ȉ :3Їe! eY ܇;ͨvXx꬏h <VO,BWkx użq:KQײxwv]+]7b6 A0( 4CSH+ب0.70@c+&R MFG&Cx#]8 àt0,(Mlۜ|=< ֧6> 90HQk+[2<@g[)2A%+Z-$C"¶H3x ާ7At/6Ѓ.T Tt}Y3ON&5^rf )8A  U5 A噆/j5*Ck @`d 3a ` p ѼUxQvX ̢A5*ltMq/t!Џ2"4Ċ" (,*.8,80KZ6A/$l2> @%=#]%Dv$Crs:VOx% hB#fILzeZP!aJ|Eo K $I,4Beds*"aH~w, 59aS~4ǶVmj1AhYQ`~`;* Ts"F,bh!40)M.!aim|^rlĞj|TUD"!&rHu!BhDq0L&2mA^=$=j8jtIf8"&`[Dn^Can)b8r tt جB M9e()("sphvp?h"5BRP!FSq"⡮/? 2p%j8$"I/..~߂.6HpJd`Q8f;VI%S#}#s gad$rf rB:hEhft./eN)ď!an:c"(>ܩT0^7|Sl`$JaD8B pHOVhEr@`&l"M> 5B d~MN`$&47h d(XjP I5KHHZHD6Vx<)ɚ)g?KFwK#(Th쩤 B*78$2. 2mk )OV)x )e7 8EH \SȆ*:-pAY 4h 0 0A2r{i;@8Lf(z*7/ K>.M+R'Bx1"@:6愕 '0n-.tQ3@ZFo^mCi`T@V%ƆY |766(x4GvC`J d#vi8/5@"JnUca'DXC".sf$5l5 n[BQ& TO"{ (cFd)C\]iḞhd7#[(x>NASZ`7⪄~xF$¸L)EWZTF ;G.<^Q M1!iiL0 =,<|h%[$ CD/!1aY@1TaAPa<#.z =4 /~.X$J} m }{{7 =pls`"X0G\_bTFEn7#ګ?B D8"'7 EaڕBB!.avo2)F nC B?axz!Hlu F`H)aCtf=&9|7bC$Ap+ kG"Nd`2A!b\%(@+CM!Z$SP5P+M ;Ddv2g!J# "s$H4EXsp)#$}&bxbcp#T}'M'(6F'h(6mMH=4Cp &hgp2HHfÖK͎!A6a6 BEA@ ciNQp9b|=bGsI@2(sT&r ZH;7Vb69nbllO d"#p'7lh~!IdG'A p["o\(j-NU;H !" *%"Qҍ ZhUx5q]w|KtX<*N(p`<^_J͠ 2f6 B%;aAɲ$-@a7FNS-LÂ[Ȇi !  @LX.AvlZ@AN-b;M# EzdP(A1Ls`CRh~KF>k`zkÌ9†VI.^^-;w^afJdk9:n&$#b˖71$c)(8o5H$Cx s#ZI)p}"a&궂@[X;#TS&c! d靨qED^T4h$X.ʣ*e!/d5G@2'" زT1.X@$;J!] ["4ݧNԋ+g #*>¬`0qB빀6iab -@ AaTńD*#B9&Xi|L <D2܀BAߨ¼!D⤶GCs߱Λh -]e@ `@b#b 4@a)p^Z` r@D`0 )]%f+^f0 sgd>X:h$hdRGN'!SpDb b4IPfIfXAJg)m| Ø$p!Hsl8 .)9::*t.#I`"P7i@5,")H6X@O⛻Hh!ɲ>XޣbEE$oS~ 9e:%0w[ Mw2 ]ȃM~:$mi@&g7&TS7W`{#"3vh@d́}2PN@P-6; S*%f#, v&FE24/$EDL 0`UtP?# H {X{'x  gu? | H XB!mSP"" @Z(7* yj0}Z"~?2pQ cM tt {ΥpT(eaJؽOcP/< }h,  w0{M_ɕfL G,}(ڢ):>֬g`: }Cin."u 'G²jb#1DZ֯`/b0"|13br~5D89Mրt4.~"~ìy+j.yDPM?pw>zgl6}W(&ɱ++%ӆֹ[̏Z[Vg 8'@/A"c|b&PGp*ړEl6R^#|OyBN_л?+ "Žd_-2\* %L--`)daVn0iOj5BhBCpr@Z p[K#1;xpc0eL `wjS_$$:^n"jT`YxӠmDp*> 8ցDI2~0R|]HlƥxVcIZ D0u H@"15-"ߒ0&'Q2EB״xưkv`*YB:PQ(Q:N`<ԺD_tn-Jp2EH,H#;ҌcJɱ# 50G`f=ڰ c|$Vy81g,} =Bl=#1/ (N1Lc% ҾޞEhz  p mpuP 0{ $ PxNY,: y诈:B# 0}P~ۏ $C/Y\ #/~&s 3K *t,5“[i`X " 8bٰrqCXǗ 'D,&V +kR8YH j! QYT |kh&x}qa8 **|͡ǵ / K抃H!hS`}- aʏ.Y=iK#vPhyJvr0z @zDI8X EbHg]`l&8݇p} - -~-C YB^4 m̝L TtH^G 10BƁƲ]-hzN 0b#v9x0py Z*SEv_*$@s8@`zr:H]W/y6H#o$0? s"(u ytR Om^Pˢ=s _̈T  ė7S-ۘW4ZIu2 >IJ.j|lжf-۫|ϙaP zD@NP&11RݭFn6q F:P)Jz6:&hA P?^hz "D(A$Sd~` `;V[s q-&w:H 8uHgKdRC&";Mxnm ;h*@ uHvI.0z44G—y]$IWދl!skAP z DAfpx !:06'[l5 ِ^ܗz0zt2Suh~X?s 0qٶ}3?zݍn~ @_ 4ZK8xk7X5}2a vUxİƫD~G|&p{` Y Ҁr2 UM`v"DX0z%u~eZ"aZ4H# zK,Q." } ~ @ z%' >z xuy uڳӜq:vd{, e., ?@Cu;D@%{=  }?_GAQ X@2@>RK,OhDKklxc|ޠ`+Zց €{[ok)hn[tg?/ }@bL}j Rz~0,LSzޣǻ.i "V|' x$1 }#b(10n[~("~@, !o" @, pua*aކ 1GԎHǜ= K"ߟlP3<0vYvT;ja@ Xv)9{)R}@@N1NWA  wF|"VȀ+QOäZ@H G%Ԡj%{(ϐW\~y1fRxg]wOtrVsj'20 'vs%l3oԪ7(~@U9 ļIA P䔀j3@߃z*.c~{ޠ`& g)HyG r8|~mq/@a0`yvx&@ xhO`2,Ic8ߟk O0[`ek+ȀG7 lm OfEJ 4 |qy#Bȳ]S2V=ԊPtP%1uCj3EܺYTY[Vx ]h`#Z 3 J7 eo@ږ` 8 @)4{;p  ,Hr+T b$ H#|- b $zAH6c#VPYJv &˰x 40u(9).NX`,wb""IYn<"gZwFDcbBrHSCEfPQ rkgXJ)(\8"xb $e4&d"Kp#ԞxCvVgIh`Q1NwRR AԈ4=_([cUJH<9C&^%$X! "7|| (%r)1,R7II(O!4`@`C_Sf?VQa,׏p hcL Hv`!n TqІQdɭQ›Zǂ_ug0wOԮ[>bb!Y1!rs)u CPX@,e~ZKpԀKYVɚ ! C9AefYa4$~2IZ1(I2&rחQB %d@G$TП"ٰ mCԱWhbD9  4@ttm”jg(FMeO <߫d~rR{L0=#(1&]BG/!(6cw#҄R*1&(̟ 9` A0/yD~+ND!O}Lӑ1P;-a= (%hnR }ef^fl.kP2R)$@ ` $m w8tЧL{0#vP9Hɠ xhk{3EB,YD(DYŨ>d~5I~BE7PX͆#0*̐C"J 8Nv`d6Yk? U @@ D(*dBLNGB‚'u5G~"#~ŞC":\;,AadDt~djPѨցHFHaA`opKt0@,jF$2 jd03P{ ,*`BTFԓDNؠaF+0r-B!R"O`0\CDn5Mi1FDbcz*hfH   BZTw $<1?FޣCvi 6Bar!8"U nI"!)r/ PJdQBբD ^p FX|>g LFh\Z!Mr( ejz@E*LF"\!l0)DxdDna%c $ߏ?0Cta+ ,<=H~Dd b0QeMu[4A‚4|}%15Puf:2bQi0`&Qv. pK$ Kq".{*DՅJ8$tvjFLN'BLEA[ŖѴ!IJ66L3,NhBP̈DQc8nSB&jPJfH>%DCKhLzZL#fCOb7;,D"f  =sC0MIHXESTi*;!@@!@l8 paĈ 7zK:$j:Ŝ l9&ꫤ33 u/`E-T. LL2a&anBbfʢ z aFB@.-.VB^MQƲ#.C8MgETE7,lӖ7||5DNE1,s@%k!*\"lC&tJD|j!$I5 JB@X i}9`B:`~ODR. V.Cc88Kc2 #\P`9WBBjBK'rBPyPࢲY ?jv\QX,)S'Us1% x!?/ >~GML0CD.25Y g0tEH!e6nC1-.L븃CdOFdEJ$ [`&7VP57#,!c\;då1 (r%'@v.TE"[$`̰|T#840 @C 'pO3 )z )B5w{ !@CޤL$HPh\m0wGH8me9Lр͜e E$kwe B1JHC[lQ%DFP ߝD\Br4R!K%Z@0nQp6uLZKFHx,bJ,3Vl8Ŝ[TX:Oj,r-tqӁ:}/` $! Q`> WU(َ3JT@A.Ӧ2#Cu4X2Nb \NP< >00F@#`P#`O $oD ד@|u4 R.y=`5z Wf XI\}0T`TtBA40:A EK r\M. u4m4pp&v`7*2q8 Ýylo{j]{oi$OrP{4 s QB&z-':L( |'9Fgt`F"~kf63G|@HAvi) @ '!##gjՂ@ )tEb m Iy ޹ڿ@@p@NQrP|4tѵNtԟx.n 敀HG֪@wsVfwHv0'hJ4;JMrUZ7#JIM,6ȕR@R}p @?7P 0i@8Пa@Ѷ`p# NM)"j6y Pzҷ _v 3 E5j(^edxs"i^x%4V={ުh~.15| äWQl,(%Vnr_ lH#*HmsaOC yQ\Wfa``)% L@p xÜR:/q'5m|~eeXY;kTҤC7 DT|gиfn&y\ F;{զf#62|J}0\l@"))ujXƑIiv {ľ #jPT HU"A4|=F8޴Ã`gRYJ5pֶ5c`Ֆ X.6C,d, ]&$@~}P:!i1;#36|!N?G0ft ٚPtR~(0:=P@>ND!bT%&H\ Br6X :Bł: :C  IÄr*@Oùm bD4Κ*mP_:8&y;qT0t6θ('Hv~#$F7RHˆD+;PE0. S\2Y%ABPo,ֈpa&7tpC'n~\Ka6G)Biуp[,'U #>_aK^7\1tz=`_@Y) n9Aln_7Hxʛ䡇&Ѽ6gpH}9;Ǩ9K"j8p> 9`9B#v{)3DA 8a%Cv,Cfm\{W\B,ġ,j^;ĭ_<2pC@DH8龷=zYzT5UEBɇcH~sh1L.MW(= Q_ 784Bċpl> kM>Qɽvv|Eu&i=f() A7)맏QKq3!`LdՇ6>;H%#^V5[HH%h#y HzY Èj+pQx(1pغ []eY8 %8p@} yXu{8Όk ѠjW{P xພ 10ʞ@z txu' ґs%/ ) (ɾ}k { Щ8(ɍY?yh8r{( "Ire` 8 }4 0sr Y#?8{Pp! @X lH;+ A PJ/0PXEh7Y ,3k9pt و 80؎ x#&؎Q!ѩ/,JyрB x x;Ogw~>o@^^G(  >03P,0x{ 08"ݎG$~>/+GO  J/nP"v5vwQW7 }Zoo K^9hk z09 0~@X6N׃|=p=fs.Kx5?| 0J@x?0g낎y~Mjh"` (ڡK j}5)xDzΠ tց@hiqrY6F {!?y܅dT0w`"4q6J y >~80 BD('Frg 򆀍 `ۀv*@@ zj9~6gFw` @s֟G( Kʄ:\?3(Gx0` RjfJtU@@2 xǛ%| Dz2æCUJyũ `ͫ~.z"5`^>ʕj+ʋ0펚顧DThMŚѐh|MӪGHGPos 3ܙkϺgE9 p"]j%>g<<}P$ )s1rG@'?Y{` ( haiPc%x`A^0mf\zPxI#CņHqViZtΊkĄv 9 0 4Tpr<X /#噀0vHCzuG 0޾X%P}E6KG%J\PzddG,DpBLT (pI (?U`s 8Q/ G:/ 0(L{VKcDLfGX|! O?ӴkGe*fݿ2x@8 cĽ4 - 0'=s l '{hs#vv=@x @;GXޞD/"ՂD"T:.1}c,R1:!8V_ꁕM 9e,2t^S NTRݙ(|0jˈfܬob&G@0F Gr"X8p ѼuU,?*l@D!МjLIx((>GΚPycS@! qyY $Cahlm֢~QdhSh( !uJWWitz^P'c? f)VKlM@s+Lzp/&(|b١&t]YͰTyLUFֽ5>% s1=x0  Wb:i՟([ǂF^Zu b`tD>ux /E$}Oa(``H)qڰ QH"$E2 ݢ&nt%t[QZŅE?7vC~S _CȢh=G3X {3x(=L~>0,GVT1(Y(dNZegj[DIejQ|s9GXaLX٩gbGpZ@BE$t "X Pcpm:;cx =y-6qL7@#ICÄ"JYe?+:3TJ {V2Vkf`|zb>AEx`+p!@ |uH-<S|0nF##ۀ(uQc#Խ2&yȐ2 `'EzeTMNd_kНR?yGZMFHyOD `-bã*(Oք-:%%ζȚ*Q(,|m!(Zn+/b,hXAEt@*T2 "2hdh <Ah` V*Ö(<^ nAadFBj! ` !Lf>h%<.GL#fd z5k.B/s.B+GNc(Z" nP,En@Ad`l (#paAPq('4Td>Df $3@tAoH!c`0@"vJf(GbPI;6! ` .'frw((FB+ń*rK^AwȮ;dP%FNyfL Tpw8n0*"` 80L)`"'"*dkWcD%&Bd!a28AC:ߪn>@&D%,#tS)jn9rp0⢆r&Di, |Px(`0J+(Ė`Lf;XB9-2e@6"fp)L^3pt!b66wdxRJENbJ$$0J@!lDBr@WJB30B0Cn\fӽ"S\@#f2s ".<,*c*Ś'Fh_a洠s" 6ci* 4KHSc RzJpQ&º%+q)*$ZSB.EC٤F+!G i*$ s`. DaG$c>N<@fD7J8*qS `8*̐+"|wM!YtB+rB` (Bm#N$b2`͢wJM#擊`$T6:  .p;`D6PB4`h2v dB8l!"3r@!!z/AiLmAt7t+,KD 6S:*Q "5$lJt6Qn,m``eF^`:KII \0 GB>b:g S"+4X ZTJ?&n6!AFQmEJ ʣI'1bߣ@/n&`th@mm^$nJ1H46BxM:SSGJh42$Eڠe6b)&"9W8q;mR PI!A/D@*@ %(e(F8Zu)b!fc= / Ihbc+4?uD7ԏbGp|v%a:)ە$g8!עl0_ZS9To&#ì8 IB&-/v#dE"Zq>sdQ@%>#\B /R J@6B`s,bJ ͌B:cKCž?*.\-jrML\fXpb92kzLi"tN>ʋ+ǒ.8kJ`Lv4":y@Paܗ@ aJ!v!n `  G2ADH@ߴJ!B^"ĭD89( 4Jj|8N(Z?6G ;D|-C,BW(rfY#r*́S0:VaRMQZexYh#y4zi)`\1xD@$xJ"7LZ v*J-(bpZ%\A>,;tIf $@ca%yE BS⦙@ ClCxS,ZbShˣ6-,4[~#@@Mk;!A>-+#:lH*ΌS df-\7DL-1D;@@I&-KoddLa\/ԃWN x3lj$t96&ΤsXd H`|r!{h`,`Q"IF%CdpHj5;b>"T'4tݫsq5a;km9[T5 #&8+cp*S6@Mnz?Pc C@4$cp*$$Ni<,뉥GLi­;W@hnzr1Bw# "D-RP_LйP_tR(6+Db[U`9c\*YaF s`\m LdoeM@%?ahR@dS0ѯb:k'&gdzM C.Ev0Lb?!"Jaac(C77/92GO M:%J'(034WtNA(aۖJ%6$EG"jiwC 1@W՘+rZ"*+e"FDpi:nK,5{ҭP X?J"bé+8bBi<;#,:;dlcB7)n"qQ*6i(mC-8lFqC/*pÊ*5ʹ`GS3r$&;(!,H`K$6AV|]fEA<5$.A@FJ*nWek”4Z 'o\nJMKꦏ" >OBlJ8!(4 7{k͊UH!O,٨`j& B"l#eˊ+VyOK0-}z6ˑk,}L0Fb+:F ^td*`3Dj>Y%H%Z$%T=^& :t ЪېqS,'}rVJQoVjťBb75j a  =/ xO /7$$5]ng/G@ZAxh:}XE_'S4 ߖծ@ݢ (}}O Bx@G"_P(}G܎'("{?/xQ  ۧO|;o gkp.s4w|@X5vX w>z'GD `qy2lI{7(ǩÇ0xa'Dxg$ wG@h6 GP{   (  *TD3b~)K(1 k/h0 ޫX K |ǡI2g !pXGyhd*xns.դܭ֌/Z+%riJ1$dzc88" '9tʭđ$;܃@<9ULȨ(G'Ѭ!5rm(aB湴fr`J~RG`"A`!H+;߲4rɼ#E02 ʣXI技nh>EV­Ղ K<Ly[iyU7N1L ~1` P ay 8 gf#aw2G}Wm %P!@ovBoc`^ܱ`v}~&/+Y{   t'Im%q} 'r@\M` GXk$ZI -mZimԶĠ+wUZY6YاƚH+"[TxGxJ >%= K)Ԝ_}D4likYV8< .;yr q%0>QG$J]$FMo@e ]@uq >VqrCʣ~I 2uhnH% _f_t%"&$CIf̀ I#eYbD&>00]LMӾ$Xŵz)3մc|ZYZkAP({3c[@0 +6 880\khq=Nvq\A5&@|@zZy&Dng3C- 8MN1`B$ `Vi <`;H+p2%dêZLE,ud#tp  5~QYҮ\,frm(g Ȉ@&@j19]kʑbX'W0ݫ6.N!4RCԶa8ndeu~L2JmiV֎yZ gvKh(m j >Gcz̉c|˔twb$y1@@X 8@ `A3Fy` P[ zc`(G9׵6FrjR>cʾˑWJܑQrKT$ekDCr Yða^D@T(wRfD~. gvgP. l) ; Cpp͛bA8j]|@X}_0)/s_m(d"A@j@i\"JN`ΐ۵|X2l+D>A/$xY)cp\[uf|,Cx :x`Fp{Fl |6^' ZBb* &C/yjՠ;gF@x 2Y8}JazX 234Pu)` z'Jd3XpxY_!ഇԀ {'JJn "zܮzttqj@qx:Y"J K.}}!Ε” @|=IG*P7kx@}8:<}-)h}/͌྇n)c~ -IBd \1_C `aB8~hIʶʱqϐߐ`ͭ~{ phq rqT hH"㽓"ih C (gx 48a#6{Q@rx َطJ xPe !<`+D_~yʒ1); i(ᯙnଈx XuX *6;Ԑ Rj%;H 1x r!w89Bǀ$ɚ/ҳ 6~=TگhΕ>:@pw@vV(,+ZxWE '=-J3r볁'$x`ss1s6HcaJڤ ؕc ܼh ]"kC46U}zD֎2ÑC XLTw  L a| y @iX xyp'@op `(Zal2ٛ?-RkN A5*R*`&`赤&CPـ%1AFrx5Yg*xQMH OtHa4t`vX E,S\V4#i)[[abpsȁ/_ȨL$M9 z;t$xeZZ 8;>]Lm6ܫ_VQI\80igQ H%1 ./a8#[ Пs(b#1Aɻ R)c 0wA~~al*o=YCCL΍_$N")NJ h'35Ap@ȁm[ X vi{H,aDy=Am ;+٦: +l NYY_۔ $96 ?x (*UԚx!htU#&u-}Gx:Y 4@.e-Ļl&)xw$Yayljj yqsɑ@3ȑ!۵l6׋IbH) xӐ89pw+诼h%,O(^9CHĀRĩlSꆥ{ @fXoUbe|.LhgzjXtX|q)#๗ɭ1aKX֬@` Ʈ"5#<"×ɛ01;&>ύPo(U d&"~hN)@Γ" |Ffk/7ʏ5Y xhvQ V8Hs9;)9.xkrxMuX8ߎvw-R_cFkRы0q; 'O)frKV@ΩV0%.X8 ˑ.Ϩ*D̗YyXyxnmګ:gs 2Qd[B .H'+/,'1cF_oM 82r(eaao-Ay~=I :RiWWW₨xE'mzQ`AxPiɛryx9;4'J S?zcs畴&POVP !&%G@Ì8XYbVu(umc!ȷ+PmŚNֽHi~_( P@}8?Ow ?4 }>_@_%;>'Ӈh #g8"XL?iXG$+bEo ,@P>{_/h%ƨl6ੋ x0HESLyzk}< _O|:VɠT AH };*%Q#%bT`meN~izw`}ĩ⊙Jހj3zj:  @u |Y~&& +x@HN*|)TzLɒ 5I1A& a Hz yGz*7z~h43@{uGz@0P57ǡz5!슞rQ*(LMm5|r. swQ{Y/0* hٱHϽRz8F9XJ5b QMj>ȐE%>` r@d A;5cs L ;#HCPkd2r4R$Ì>OŷT)%ĴP?@(%"SL0hܛB,YO({n"!y 9% | 2Q> qc< <Ș\ b6ʐoȑೇ`Z !X r40M x /#iA4N>VvegYCꀰ=( @Ξ ^hTu;hlO訿uQ &$Y'7(2 IaG#q5gzL($l*0 ̤2FrqFPw(8 e<= !4 X*X $qQP 1>>LpX'6g@0@w/:T9`$5-0ᾝy]?tKVViP` p\b4o sgiGg70@ɳ.ׄؑ6Hm>"Zxu@P'LQ:T,'t鈎E6WCֈJCI!eOZ$8n$;]8d5|} *)j؞>M"7ev3v4:b]S {uKv^Dx{Lz#`&iK8Lz0R@Ø@lq:@:HHLlU OH1; LnX q Bn,*S#R|EKtҤɇxy?s$MrvS@mĭ`(yDXRR"簀]v5&HOŔz0 ~TxX( ,Hb˼[l· M@>pfL5\ZAS%ɮzj 0Ig`(KG #(Q]6 d@:Ax)N!A0$ CAa If?Tdc #DM6 k4xoeQe`"yI Z,4"e&`:Hf0Eav8o@)J8|MoΙ &ĔYaҼ@(` Hڢ"A6clIbngJ#!$`/#`_I*B'L c:g Aء"b !BFE>ء.Ej&..I\`Spji`$i`"!kZxIlDaQxr,] `,cf|#hRh/~=#x<ހ#GD.RzAi#:`"0τ@ƠcڤNfzD5,hnceLn_@78]dTd#JTJF/:$nˮ!n)b)hFG FoD f 5m6Jl`.,` laܬ$q@(6~ A޶Fp.,U4&d~8&'k/`A /*lhB;M8a?fF\'e dBơ\i`Cb"Zl" <$`K r.8b r8"B0>)n4^F8?4` @"h=B|:A&%ff&..nDb6g= '"0">A;Ba^Ίh$g&+RCv!K$aBC.T1*6^w,DT^ FH@oF,h@.63-N4&$giI!CX@Tv.D9b,Z,l|ூ#n;d,ec!MO"D#B(I015E;K?4rxa, ?ĸ b0)QMI@@&šAl"F;zD5T#R:f|iFkG˘/x:xh`+~4 (1v 0H*~U`8L D!j &(.^-3b-Z"Pj+NcGNL|*`h!~& ȹ=*JC;-ZS#l4H/:$AG((F7Qcv&vi#b$d3B[v̤ڤNVs( Q^6Ӵs7%j|z"-RBwGhI~*+maP$I0 $>eQGL*#FtiG)@ɜ^@"`De*Ja!h yA@ ڑoEn&Ƥ=K()Qd":MwRci\Ì5"eTH!HحH PU!aMźsd1TL"TBavzLHjGBnY,IY'&<@"Ht$X;)<01FFB4odb-@>Q,B,1.@.teboi[RE헀{A+@H` ("kZ69$ G$HD$Q/*SW*=I0Zt(#7EC+0HGQe#$XT(dp [,6 ^bew}k#uȸ5Lfh>\MZ}~7@/nb)%"X[:3aIûDI9" 69Ux `!|8)`fc5L*"CB/F7k(*6Jt=W|<hN]a&^狶0B q@aj`#1Jn(Z΢&.ŐG$iَRDEO>F\MYD0%e]K9B&^lK93QL. >"'oI*.#fOz t^A!;jvT *Gr`^ADG(YU+Tv=G>FtE_t~%D,] *iB`"$ҋziw+5/p8,vl,|+qtZ0+v$6BeD%;@ XA$Qw*N(8C̓U"$!d2GT3'r !ޛC0cL-:!KWw[y`' S' 0kĴ9ϙ_9D&ƙs]g=1rI9, ^!JJ$۫!J<|:Z9`Q&L/"o:o`K%D#~`/jb`{Ъ".TBek"!27b0"pp5Vc.:a׌)#Ӡ?Y2"$c\~va\8PL.GPFί*&#D0 `-6LОOX*`H@Dmw8v'f :Lx"D(p)2@4JV\POBސy_g-l˂,,b7eI%“=2ˢ*`,v8Z8Q=rIj8@+J`8D^(i@Z$,iؚka?GSL#bGf&$#"m% IMcO[}񍘸䤁hb!{ X4}[@0X)z:MOp5sDFmYB)ox;]wKɨ ݮw8{qpp@`4Q|R>O" n78-< 0P4Nk@CgsA $ _X2iaP0 =Oǣu[83{=ޠoGw^ N4 pq9~L  X08}BLj5 xGz~Nh '`'16c  u5`"v'S.9ht)Gxzr;"D ̎5 P9Z.H 4:3*4h~"h3@4r{ JZE 8m P@C 0yy -<3= #ñ<\9P Hua:w_Ͼ }{i=BV؀Ňe\sG#{b܈XY3Occva9G׀A0,THp$"H@)y*Hc7t=FB(">sb1*ΐ"x:4ʓ%^H@85ΰB\KX$P9#eÏPxY q#r:Eb?(Mkj OHzPa3b1MHk~2?@4l Խ*\#[0eqy-Ap Z^v騇"d8 $u@ZqR H tOLiAӥC` ×?R 6ؘMaEps sdD }P8C@xS:*[-:G)%dxrlX T#< \a~ʱmP"Јcũ&Z3{1#|"fc!7w@v A88j@"[Q[#b!NlǢ%Z@Y;p@D}r !p1;첼4Ȑ?]dzkH.m:9HH :mN1 +%ɑAdSD33{}]Gފi#,y(l0$NXخ2>#{ξ e]@3"sئkS [g`{!ÇY3f4au $6@ `@pA0t|aؽKD* < 9=fQ<)ώ#wQp PD # 290#Ll 2Ͱq5F'xz>n{bYW YJY̰q+ngt94x` G),?Ǩ|N\Lx$: RF.lp}?>XM AZGnЪj=i#;L#9Mp$5  *} {6bʪD[;*8 980p~dѡQ\s~S/6OI& tN!6&/M˃%"bBbyG 1"F+P"kh:·6W\ؔ 8(h=e5i "Kz|~S`-uZ(-"Dpb9"id1MfyNDBdP@.GX,HȠN!OB ;Rƒ5aMO B (sUA2yW>^戝 .!@-/} [`c/>! 8=Ier)#>Zq$| :"Xuk逑L(w|r"AȰ(;HxPx` h@p:E $!W >$\1iE)J Z  y h~p@B*H Ā1—ɯ-#^0xr&zl8ŐH-H\G-8v`:5~ג ؗ7Q p|wģH1X}" P /$$ as89 i) IƘ HH~ʅZᒣatSFĠf|8B8xjk1xHvwy~IG:YG6D珰 H:Dy (Ed%Pڃ"ß>Hr!̈3a w8t~DAa)p2w@CӇKMI%h{{x X{8j} y {(r0`-i3Hu Z H eb y0Ԗi !}y 0 @ 9`.Z9b֧iXZ*i;>ȏهÿQclHij~pJs qg($)Ϧ_PEE@7l#`Ŗqs:Q(m 3 @.! ,0w$T *$p `Qt>3Hws=  59tX1R6L `$P/`I )}z z%P{H|J@ pmp@!?(t (+0Uqe"y IHH0X9$4C;>$Yx!q 0 qP{(.MPw|B@K 5[> SJpjy^ Ўpyu}ݿS bӎو`Ӏr++˹s0ډIx9 6pAQK\+A ? #`B^+(rHaBF(9щ>} PmkpqM|`Ta|h<ɱ xaF%u( 0o]0t 1HX c Q6jRظhї$ I!|QDˏ2 : ,QՃtG j@e`cY Z,z hh()83Ĭx \]vbDk8&;XtK]aȁ!˃-~9$8ѡ I!i" c*""й s}+S hg >Hu?b3Z;r<\PyG3|#r! _ Hz dfi^p{1i5D"9v_XYٛux9x !0EJzqTqM $8 ` zd c}];h~vt#P#dv@oǐ ϓ ҩPp=l8=,jIaz h-n~ !qo]q Fo p8_c(Q(݇,/AC&{lOq'3'nH uHQFFIAFCbZiY=Q6isaWuP d<E؉("G9tiS $pqi;h Nvtǻ،Ywpqwg&+Jy˨v4z@Bsf"yyyUhqP ُw2 ʷ+x Ȉfi?I<&Gx Dy$  nZ ՚YI@m92㛬ZQa,o'1h˂E@1rJ]yיy-. Oy]=?˦ A JSPqP~q8nP a 7ɕu ,=0|hft&pʠ%#9ĩʃM (;^'Xxt$UJ  Հj rhlP@mN5x ] 3Ȳ{}hw9"МJn iˉc@\(T(8S|1(x29AEXwgˁ&&,ɀJz*g@(twީI(erL?ߍ< u&F^}X{ךtpzz}p(qE =9MB j C*R ;ňg_.N*HQ$ Y PuihЗ!)_$0HoZHHؤmB.BfCiAL2zHc<η¥bV`üI+|p~P"Ύ AO>7"mkasR#yt0(()8[6vYHx nزUAaA!iEqeXT٥CA;y<@p(8?Oxw'w/O@ >gP#|?5CR@@ OWo؄WGĨt'!g_%~րPgSu{S b^g0fU|3T.}>~* ~nR ) _X::|4 {Y8TIn.(F_/=&|l` n4|w`PΥ{MC :":^=kJƹz&kGHGQ gz0p-2 *"KJ§0 .v`J1˒ Z Gs 9tgx#@ *K*<)T|+g|.QyvGҖJ9}'K~/ R!/h PBHPH* A ,6ػc{OYpPu3aK]f(Gp`Z?CzGɪ D 1NYgcu`@x,cutY#0 ( SAȊ%}$xÕ> ahNziAƪ+1UK`vH-'N0$C5G[}Ѱ1G6 3J26$U? GU) 8*?jX@ XG،Q;GPut%pΫì$BH|(00Id49zy$L{4 ìp3~pISƧLkt1H @2އ`:G07uz-0 Y65?ܠGx&CDpk0K*fG`>JFdy`Qt9E$ p[ D`4Xʀgk0 0ppp;X'j `*7  U4 M8BW K(ESbg>Y0%U^h9Cb>ac!zM<+}q2c}Q674 pPm' (x+ BC+>eq2..I1;%ZcA ` ;*!I&H'3FRB`#$uli!k&vERZ;0[ $W q@iJC} w!s,+bp/GQ'k!c"HɅNH̢^VAա!R2>^(}t9((ʁ? haOqKj;BqarSMD-$xX/, "̔; }bx("G1d:J.7bfbe`JbWж)j>N,B0v@,<aN$ SM~ؓbXX}a򰂨c(QA!c!UƵT*.#%9H;-bGÑ-@<*- 2`Ff`E+G0PNZ4h*0¾#N,t)(*/ㆾoBh-f2\ ZAhl8lhay$ƶW`"S!(aCuΈN<LR'XFe2MedN,hT \4c`<a4! > n%/64eR`(!) O+a%$5i\}h0 (02<>HyJųj%,PTj,L!aoEZ3k\<*G.yT#ұ^l؀؊VE8dFH^JHpTBDb9Q&ץ&ø%pR@N%!bxΕNf%&v+)'M*Ǩ(F̔xq(HNq"ht4/Wc a/#1t(䟫uJ$@.DZ3 x Aa 80/NA.3Ga%1-")T#b?H1lGb>WIdn#O%,h:(@r D%pwjr$bWaY ])Tp(bC.~"C QObAІ϶M>Be)ӑ&(p"Zqf}tWJ (f**uaҚA`0WNpyZ3(wBf"Uw!ln4bq& /J'<' ("7')c"=HHQl-E 8 ֏Xb5!~h,:Oj5`d< jPoB;Nn;XC:.hVh:P$r8`CN ,D#i٧/ Nbc`KHQ }CLN5͜/E^bo*fXaJ(l$w!⚁a,0OT<&<+05auxL9 XT'Jpª'ubfRшE$'ໃ4VSZ(cWp4'" TQefM&n60$/ \hX-[a4׼)RSXkl @. m˅VrTNǰfȒ,A` Fg"TsG+4*,4yVB"'5D [-fAvC9)'ںl3)Vm-yFS.jC&$b3~uhR_']w<~?M uDzHV(8N(`Eįf?gK!0v}q]bM¬7~%%a"b,%dBc~zp"*- ŰMeFE.'.]Phi9McS RtlnKr KQb_jpP#΋¬+A"4,ER)&:ȅ.f0%C$p d?îB&t $; kmv:rn"H T*NR͐(a2C/1 H4@&sat$`¨]oB.נ=W9"!N IUpcpbǧדK%dl_(Z HSC08Eh I#G].C@ O\4GM@Q@ q8Bs d`{@`:]>߀\~>@pL ,Lw$`}>ɠ( nP c*@H* z۲#7f?!0g,{@u6mg 8:G@SԛQ.*lzN @u!}ǡNZV8& *6C<Tl v;@i -R`erGT{Θ@sJ"\ bE ,h,= ɹ:-nXh1 2%&9@ l jx'wIpA&^"k[5Ҷ1@!DMt Q`$萙$X &d WaFyd`[3UR$-|gF"$v(!t^Af!W;pĹRq5OA3dxsѹpetQuz$ XNX*e y ì HxN*2@"{!pMt$@ }avɭ"0!Hʑ$:@IMŐhUGs@G!|FBmm0HTpñc@!~¬U BQ5@MJg '$!b<$YbpQvBG"*XzWSCja ~%Bx1T52>}{xtm(x,y1Q 5Qq3 贋Z 0ʎ%|?0П .C a,XXrHvԘ`> ( )x| s}x Z]wx'yHuxZ %#&  鑈{Rz."+RTƨ1)gۃyi!R: T@x{ 8q1Jc#P~x(~ \F1xH}b3(A,?R: :|",*:8 vDS,q :L*Uxdj@/;ox=1!Z ArX`  Põ9^%:}  g< Q3ݑ}  o$naT 0q#Њ Ci)8"" Lˉ 1`@!z6? iaK{Kb؄I!ȇ Іi ؙ⬌ɮ7 ˙pS{E%@ y 8 ٰXV }͉r){me~R;B=: Ip <E0P؍`CU(sphzHD? 0hgmo7!"ꀻÀP~pt;=J`۠03@ 2ދHkT*#yy͌{x #H{S!Ds<_K< ųXte7+CF y8甙 ab">lfm  |뀹\4Ȫ,"P|q y8Iؾ{?=X("D+.ւ#+ ؗ!6XX{pRўԑ4zx;p*X@E8c8f ܡҩbS .l1z7頍u COuaC@Px 0>~/E>` I @  8 (vsШ #ۓf`g_QG c b2\ƣ ,(uh C볠x\$((Ƈ茀܀8 y8!R= ;mQq**]93Hyi'ҀT X2)x q^S؈ P"=B[bЅD9:@Js bv3 FB0n5  u"S2ݰ't[aJ !̶Y@юR+!y2B)K q4)!AFVxH}Gxph YiqBJqcE:HEyÙ7` ÙX.Xy=$ |@| `r}fjwXIԞhtJ h KeF|ˆV4Ԯj ~rh ydf1.?~XƩz>BjLB2*$ v5 $<}X#^)ʤ2 yIlp!z9*=8t#"piTi]yR5E>0L 8hn7XR1V=稘Jy 6OPz@[@[JaP|QəT5sm JmPʲ{~Hz @|U]pׇx`e hx 8~*4A1 o.BQ< ޱ=+ˉIi'@~fs=1}R %<A6`@oqv C@ `,V&?kaZ-nmC@H(2>&7t?0 ;}>r45`8şucvi (s~ M^՟ U z=߶x|`*d|pZT0  @ z<*4%Pw^74:j|&w |+`Nߵf;&ya!m,|@n /ෳH.KjZG ˞sRq @Ngd7B|njPtΫ+ 2G Yz,*{.|@K}Ȯ˴@. i-뚶4RkMBD @@9 X ~Mr;4"۰@Ư~x !@`0}`9pga P,hhm駇ۅ+  m(НJ;kBsG▢,C+! Kud1+B ;+iӯ|/éҳJ `:uG"W-~3iz6V K.Zs^ljznJ әN0lj &yv`)˳ /ޒp"gv2 ѱR*ae`&g+uLAFQ{ٿ4 sAyh@t0Pw'B;`A궝pg0yGX Y k2(R(G{ 'qޮg*7 Fb0TLrq_{%j P tqxˆ?x+'fΌ K/Ӏ"u1"MqK@!.AaJc> b%(O+"xlY I EE %c퀀j-p=2[e$ゲ҂pF!{i E^ԎrCKt*[ pfq@HIk,B((œc/2’1ӎ,}snl4`1(lNFE'Q@p \xaRt`u1@ghqs :hzp 2H0Wm#3bPxS%nDRP˧Aꑈ8D$O8 .9H\p䋮 <ڳ@ , *qO@Tʠpq;(lAG#]Z\?Jp&WUP6 T.+>iȶbG (O Y|l 0hhķ,;TD8un=` !ge̤ im:ˀ!xx` R:uh Gsj#+ZtR,ZJ;5 z&8:8HcfNJj@^$^ }Kt}FC d` ZIa d`Vdh'7|]:%d0(̬)qdZ)%+h%A:G/: Ӣ8"B"2~ (mcV:p;(c5fh$ ŠB.+F&?!r1-)^"XdLcF+EFDi(2"3lC!l}QH"|Ѓ # (h%9ҔtVhz'IC+<(&(>&~E`Yg c2 T 2!W#:7!@2+!aKQ @!akF U" AУP d$!NH:Ȳ%]cO5CXB/^ j$DBhN(F ,aEPb"8R,!!AڣGJ` 0h6pb0:)Qa)+gl}"`@CӣD+KMT/pfR2)XjӮF=ӯRtЋXݩBx#r킛28BM@)KYp)cЈ8 #VN)qDl`+pa :mf άR6`pR֢E  ,~f*~؁4(%Bɀ4aGTb."b{$!AF7E AwTH !̞,Hsj2 a| B<⬋'2`l$*E n7Gz>!uFĵjEKSvLh^)dG򒇮PHx?$"\%},jj EtĴ&l(NÜMhGUn-j:R"Ebmc|0X4 EPWOA)GaAT;դx.,&3 k'Ct[bB@Et7h0JJ9Bj/EGd( aUWUR"" Z/2 VVӥefd#C:4T-MgpmW BG-ΒbdeF9),ho8~B\YŠ9&-,N4ie 1$,>(÷/`.D|GX+@FwAq l =PpD~ ɉ.X*rwDF8B934͜ॣ-B!0D(aaJz`OV-L0GH+lJ*)cge I`+D) G=J ce;,VC0%$An+Ȫ;(܅D@C X't( 25V(E~tzxnۘ4C܉9aAO~3-:: ifo= to~)N~j&(iv H%Bf^aZM%Ct j*>#|CAYQ0FL",-!$ X͉4""8̘bl)RōD cXaj`RLab J8b(ڜ^~za|ށ!:!0ԋƑ]bw..bAZ0‹K/HGV))`B-4!:@íkȫa hd.F#㈀,Ų(~JOFh&P+ל::`:L%EMdPO  6zW ݭerTrq",`l>#&^f2CFш8pC^+Cp6H!"bJ/,bj;]Ќd#dnV)¤-cP|W EИ-B*$bp #m (7A  ..jjT@.& WSuX+1)?"Z+>/DW *Uxu'loĬ| 4HQ @ g:l %sa.p(d>?_U_> M`8 $ 9.(p_B#_R4 B`HPTHop DQ0-Mbp,~.7hoئR-Bu:&Amw?N{gتaUQ0BeP =vpJ2>p qyg|/;   p"{\0 DZzh vamI`H<' rqykgj2F} D{ }sl !0 Ip!B1qOƇyT0 (1ORg)R0qg` TTj3L`pўy  zaǴ4a'z'0 ֏Bs<vz( zG@ʸFi$|z2~#);qx(.ȟak( O@ @"'9|)+z.3bXK H*Q):T0C11|:6$'7)۲2(Y{(ӀMdN"u `]62x|,R)Ǡy'I@K{+B'NJ MJ@U? bH1"+*жmCzC?[CF񀧪s8h-z7G?'B%t]GAij0C+`J0\9d8<셒(hh(b8:arp%UACvbNldNr`VIkZ0 C~ (& ` m|t8D. >5)u% YF1"98*`h}Nᡚ0H@T& < xTs@'xpJ0.Ȉ 4G13\|;8C A=&=#Ha(e؀BkɊĠˀR$9 @0J15'ޟ0c q)QBnzglBe>3O <%@ӥFvψ&3(ɪza'о3f {IA%F~3vlSAv^d+ 0viM86*p$jHͲNNLx g ?W aQ~7{3QQC,ta Bl)r}🚘J qX0(A s;u2O@` >%8m'H#DvϚ aNv .~V`7i]+5R"}IwI24#ks@@fk1Ҍ? q9HrA@ "T !1ȶ˅d?Xq56Jsa0H.%UaʡkPۚ>Qɒ\:P4Ʃ SX:`Տ'@ mD*0 Q*:C# ?P0 3J "رKuynpy XyB$9{z0 +0v5)gB h j  A( Ѷ iC0  {:#"pd0cHxJ#:&@/xt힨 1``P=1` " >K E$|  A,:&ύK&“B: +>:$Q@)ĉ*B6LX~E S ,w!9Iv,c땀äz " EH0t(s%h 5zz*Y}&݀i" =8 q?J!ˌP X`28q!0 ;KʰA+9K8 33q0s#lXz+8PE( zf|H@X|(:̀`rxPzW*Y)> 0ǐ C* ljrɫzˋb` HXX` /PH3qC] 9= 9/yʌ}0*Ӎ&x33Yh"8ǎ ʰKk q! Hu Ly ʳ/iHP`z ؘ)ȦDc ؀U| ܉`}I6pw`eo{8ÉaK (г]駓݀huʄ{!8pvS 8\NQa6!Hx"ݥЊ J4w?4 9;ɒ?;CbwPO$ _'S ``1 =L1)RH VİU(˓ ad0jN˩{8x0uX:YZo9kK൚c ""9"! d  ".` -(`*:Hw @fo/yX8xsX(?QSm_ˇyy r`"H&  )90 k 6pw`䐊qb_(|hPv1 hض 9Pр(x8hHw0#d]y9yx@0a!v `d wht (CrKB/3p f GTb:ۏ b9+ʊyI-p oq* }g>p˗`\ s.}j2B=}Hp@yi5dC҉1ྭȃJ{Cv\ꬾ/P=s(v@Pϵ4XL dV'")ળ#g;dDxÀSO݊*2!C_YDcG?4N&6JX7Hֹ 0D0rfT0v`~@ `{ ’=|{]  qY ɡ堪 gPqjJ@ 4S#ġaXf8{NjAB񣠧ɔقd-JTPϱ߳!V{rAyٸJq( QEƌ P8& k S 铜M}l vNF Ч: Wx\xt ; zd _3 eXŏ `r 5{bL>c50qH՝qG; B37Qc1 )$*r %y5;(!`y p v(r Zl>t tٸ^dPyx !'h)8 dPn0#m`_{7 0tw !K^O-Ȉe;/ԴX8|Y"[u׀wbꮻ0۲^d(}R]@y!Ӈx%H{W( ؔPjb M͋asQ'ɱzh *֋YX~Aao4 sx꧀0Tλ/25Cpa⃀+8e*I- 8¨)b h4"!d`E'_by O/ 8Ϙ)1Oܧ9g.|x_(v3怐 40 ПP8 5]V?* 7hOҀu&p#(K@0`|T:ݎ$@P, D~>X >&O, "/|k@ ?`8 }* Z{O(>^7#HQ `fO0 G6@P,|C|H$=O'~Jz8x,XqM_=zo!@;zۭ$eog/d`Ub'`i=J ixy~+@Qv@CG%gֽM Ή ܽOV}/J촣P! DV|OC,,1L@sK }@}Gy+la}@B1Є4Ư@"<fI (lld$J@9@8wG '7r06@0gL.g° 8|hC|=ygA@($ ̰#ŹJ€3`J#O7t:#ߟ[p7 ] })%z˔Y~4SLRͰ/N ⪹!:Ʊn Q& uguY ƺp nc+ 4[#+s2 L[I a0ͼtLf <ǠK `gqQSv?N$\Wl{r*V3}joL \0'Gr_:tnռ9OBDz 9|<(a`*aމh3G}S6Y0h.+٢D1m|jn+tTTH%#{1WQnp )~Xy!_>fq1Dx<# @i3}!@% g>a! |%qMz$HԚҖWĬfSI>VN9"/̼v< I9xzd  ^Ty~u bJLs}SQd$vtE!H4!p$GшJ*H&@ 9ĀlpbjGm4P ìu0TJq t&2w$1CCp G`L=@ 4*`fhP 9Sțg<\L GP@ KcƲ/Q@s@tQɾJSAN`$v<`PC/e}fXGjeMP٪lt My)c,rrh$f@H@LnZ}3D>}Lj%A:%z-`Au԰1,YZ"RGJ/@708uђ8@Rꌗ>P 0- Ae-KD ?KRZ, TXQ  8?'5"Wi`W` wC6?e}̨UyY 9toA PBQ:Pp+}#""ac^P$nz>J1}²FQMw@0(Ð[ 슔zկHp@Q*aGNpQøvܮ4`$V+"%dfUІ3a{%N ,!)!+N1|5~c+en!@$3mkBz>dnLKx`CH` & # RMG$ROTG1^ǃZ&iV8&CnK>9GrFM2)c6$ Qd #9BJ:Kd$7Ě7hy7h2.p0n ȯ.O ^Y*/g+ /G$CJ/*0*8&<@<A( @a Z`: :AaG2(Q@(!tr A!5lL Qqz?D |hF&A+KV#"kR*B03FG"$aF-@($,D зx>1Gg^9J,jCQrhhA=JLG1GBHsNmŵԆ;b"*L@9F@6/x]O&33B`-MHcރȵ=Ib",!$!K2kf,$.,FDώE" Zf67ȰC'T,/' N #,ikVŲ3lc<`,@LS2LH ˫T@3bcxͺ'G&l bU6d%1>8*\qPȠfB$\1B/3ed*0~&f+!ڔ.AfrhE1drTdT[2,#:`-GBZ,n~ƪF1#QWEx]Kfyd:h }Sh@2OtU'O.a@>zX(xԐ7Z3f¬ 0d:$ޤ UOL[Vd-\PB:L$hA0⦜Dd?m !"~2;,2yF&8/FbJ=zҌ| >lJPt ĎcSLK49$ 8/b7&!uGJ$L^"_np"%"Ds6t+G3c 0PGMƐ$,+d1*|Ex%%GBque2F:c(ວVo,@T@`H d\`!!!y^|a!&J!.:԰HBaˮ,0FHa#/ /BF1dds@*#A^U*a5r&1 G%@{e\!ⲁ3*O@d):&@Iduˈ 2 _Ae*aqbkbԪ*3R9 ]MPiAR 0f{ E"I,W#,~.) F7փkў}$ЉWh%Fc$Tà646kO'^6<5_A,Ej0+e3yys >p! "/>\jĈي@mZX"a4,+1T M=lVdӦ 3/2*A 4@ pB[D0`$@kJŸ\،#[$!Nd;S*"!Naa Ô*RpD]2R`)*aBDTFW bV嵋9QZB81ZE*!@O(*YR/4r,/-,ZIv2=K@}fPP |gJ1J9od*&mZĖsBA{81`67!@tY" Hl֊gB3Q)@ 3uGϘ_gۤC)F4! 0趜6閦@)j)$j *+@=bֻL"eFڷ;޵J ʃ8 p ^c~dÍض6VbB@,>mŬm}ϠU/o~@>@/4|8 ma[oo.&hOܖ{+)h}^o;̗\X8|B9ߐw@!N}HAd$ +yuR.*H'$!p^x'gf^@{琦+ r^1guJȃBI8khy t'Q@RОg~2O?Â9* /@~ )y z"ǽU9kAp` o'" ZD}g|Y4+x x:2A%j`!g9)ggg{٠. yq`0 {ˠ!y)*i{Θ2 gzA,MG1@~Z hGfSg C%%p:g$jG[((`\TJƱ/>Khq9"zEйbAv,BZ`b~+h Ԣ"14<8#Ib`F9r{~oSv5.Enl6) $}~=?Cp?Z=+'D4GUN,i^l&& l8yz^ ?ɀ-![:94Ǩ b{,RN$WiǢ#B 4m}7x=O) q&>hH@P4Rb)Շd(q+ŠNQR*HץK?F ė3h!qW`CP%NVt8SPgLAX z aі|>3c$fa 5& ˙=X)L3nGd='-Ǵb>,@Yqaq4#$FZ%0j=|gCdN:\0 ;^!1&c\<|7v5 N9@ ,x}0;O% tT0>#G?f?LL6'm$M0H 7d">XnI% H#˹x@r(R C,l`@tE>J _Y䞓P= kd!ɢvP(Lv!fI:m C˩*9FkI=`x u21Ra?SNd $8rSVS4DIIE%c}Pb $E옂A#:H jUKxhrjB.%@p,fi:@G6c^;*y8^Slla>8mH@_#xx=b2m509ǬrێU)X1<̀Tx1078qqwXMOBI$5K:c@OPCsSH?q[nblGauq0 NRq@C֬I˲!` {j@xt06z2DAZRcעBh H@ ZiA*HX>̇PuR*S hH$9| $B(nm`fQi'8Е@z(` J iP  J'Px1Փ@ * *H`@,h0 k5o?xי2/  z/(` 9E r;*j7 0iV82BHv`b1Ӈ(J;QH [ H.rEJNP ᓫI1h 'xsGN1PA нāK<ؑd@l%@}'iA[&΍p%(ȽAjs+v 5RJF@szX z@( B(Pp wH }@(ω؟`ʡ0zyLJ0تaB 39H.p~@sR*}D4ג;9 $ջ )xΌH8qوf,1茑gŘ)K騠Y0ُD2+CEZoh{H8@K,[HX y3 לH\aAdJb1X&zNac&,YMV ԦB35P-@rx猰 XnXwr@8 "  QLtدO8#ACҜ9@a|, О gZ8 =J hH tA)߇IT0{pKRPͰ 0\85yvAxz q4XpG00 xtz; 9( @ZmPvXHQ9rDÍ(Dѧ1% F@5H`$M#p<:qA/jIK!fו)ba8rUop5 :i°۱\KC@jEQg|݉*hބƦAĨɴZ hx3 0* D5:d1 d@lS jk,M]EJ:/IEyc#`yLx~ =x~j )Ӹ"ĚJIU­׳m5yLb *0*|kXhM 8 AJt|]P]DmIXwCzl8،c2eKʈjXvx{` Ie(H)LX\`H*ĵ`pJ[5 \ظ?M( ;0"։ R\s_ KRXDx։lhⳎHx$3le |^RJ\?1|0 j^;Eؤ jK\OM{ X΀hSL})W؎HXYki $;V, PNI\F #X P t8rzP_`g@{CYBܦ{~( R5猭N,A!H {82d:ڡcZD: /0X ɓsn0J[5ZFY֚DRpxz ] Iԇ {/xH )'$rBЗiM;+03~0qr|kp#sK PѤeH@k)+ P,9` s6Kx2Hgmy6jN(1Tp#h*F+ Pnm5UHZ`Yh Xa(qXgwhc QI p xJ1+ӏ{hd-Ə89Dŏqypv ,w@ +H uz h~ 6 Ӝ`|4|5d* Puπ;\$; yMI?w8 {4*d;lx?řh- JX\}( iz px10qhv@̢@ b 2+)(ƺʮcRRv0 pd Dz\X"NO />ȑ۬`9X xE!wzx h xh]䗎GFp :U@EݨQG3^:øf,,R'2i *WË pfP)g" 8IUv5x"hf"ow$ DwEva/@pKgp$y z ~ h,bY8 }>_S 8gژ&@zV?`{=Ӝ-r `4z3$P8>oZS D黍 @-WW#p'EO|>}]A98ǹP%׎Aux{y1TΪ2~ꫤ~L2n HgL0iay9G-'|G =x/(<8 { 'h 0}`1pq Jg +/ʩ ({:`Ɵ0HL8` o)Z~P0ir-78nf"qǤȀn{kK<RRȧ+kV!Y끑_gl~6`'x4 ⠢KNE#0˒@.W2Hj` nwǰ^qQgٟ:p|qf|c ~5>5j:~̋BH{'V{Dp\ \^pB5nV|/3'p}l^+W0[2h29):gF<$𯖋O3˺IhQ+8qzg>K\x| (9s9JsoF^V\>Kg9 zh1x S.'rȘ˒ .N#?j/@wi:LQvH֙[/ 10{a ,.Jn#QAq>p `(ppB Cy)(Z0$@l< dL5@S_wnj 9P,=~Hٜ/P {="XGJ& cz+I #y$X l <0a:̻`&LhG @!c9 b~cB1 <Gc{J^iѶ¤HI#)H۔b&; zpQ8 "60Ih3@ @$yrttPI|z#@*BE{{ 9,D vHg0E D맩"|$.W@ J`l$y0#k=)(^Gh,ˏ\#yp% .d`QF.QVi lAuw4p;@c$aASV}@ G6vNW4(s%%RH:?_CU, tPTa'{H{#7v]#nTr`ʧ +ctYX` A8( A5Ѹh 9G㒮ǐq<vBSoE(\@L܇ .}=h= %;3*\J)D5q!IFg ;%*j i 0d8O g؞2"؃ BFp uwP]0P2⣀0/ M4s5`)^Zb|RtPEzQҠo1`ʣoI).!'v1tssi A$d3 ^^<~bT-YR#{D`x` !@~#<;d.*rSQ0' @ ĜAҀcJIQ+A88ix;Fd*S%6 Ts ee_CC!ɸg-3g<)N~~Hž?@1 fh>)+i2փ'G3@x`Ui ?%+Q(yHtޔs ǩ/4.7xX 6qH@8T\yJg&)#?2@ t*S?Cdd[Ė4hc 8P U>8:$Ad1 akD|3st]{i)_IO$Sޯm:-,wzB/!&Jg:jRdW(ςʺD~Z,xOR92pܡ@0$;%z+jD r)#t%.-†8TB+pƩx`I*J`bVBp/Ʈc9 ~ )2j;g8/p2soh.p#''b2 -bbzm%Ǣ"ix`L`"B*J2"N^t @z4!06AZ*b1^2GA.!|I"+>:0VN! wh600c ǪJ@(Ha! &@8%" &'"FE`&`7a&tV""#E4 `*n7&) .Bqw.-"0B` Ɣ& V)1,r`G*Ϣb"!` !(/2*#aK~3Φ:|&)#A&!)N\#*`8ڔz-,9lP\,+pbaB)$Gp4e8/'|)"@Gpx/Ɯ#1@ٓ;)",3wVģJM'#z:S%c1 ~he~K8p 0 Ha`\ ä *IF.}`* &A#H-J\2#Cd8cjۄ@&@ R .Dy 30|)@I;ĦJAKdL%0Ԧ6/)8lZ5*,*/Vb)Z!$R-q`"u3Gb7^{zg8t/-AYNx=Ā=0T(%PL i:(eZHt0n2FwGp7l<2m#d(IKVHFpL#x~"ih%A DլeL@G$R(ĆNc ȇqB-4M&u@mЂD`)Im<Aaj"\@0a4D!?h$hpADf$&lG5ހB .\!+"vD\".%S4$O- cpweb0ȅ@B.F6t(eF\|- d)G,u+gUoB\a"G,a(T}[%%i=$?#6c!c:eopne$:pMFm 2}9(w( ,/ BF21|06V#_38/>%]./ M}Hʈv\Bn < +\r$FL5 !n*(=^-^m^ޡ׼!2s3CMĺ G0L˜0 mS/|v"B )fb-nDUY:0b[yWj%) b1QDox!7K (1V25#vо*_epp۴v< %Gp_`25"˾2F]G^zvZ.cDt0pEa.#%b%cXRgbȄb}fD0pոBA|A}0^?$oF,Z!-}"2f8d@_llڥ2L=nvDW~9W^\0"L60g4~%A qƌ+$VhqZ'kH#'nȪ=nG%39iGkxD) QPjB0ZR#M0 8)U٧-l~'bB@ 0p0"ot8 BP % P"$BAop$e?*b9 ?߯U# ,{= x! @($ T cIl^<9.yy>Պ BAr7yf4nH)۟ &ϸ$6J( `{w=|}H@&'@. 8 {Ӏ^W$ 9?@"@00 zGn5``zohv aDŽVGjX {{? ig{@Gz(s'P@0z{@*}p|g, gqڟg@og# H sh(QQk'`TapZ[ź0܈ fr(!h^֨U@! Bd+2"xỞ~`pe(g}֟){"&\V{"b#i{"vtGi^x6 'gHs;$<վBbzƸn}JYTWtXFmX d1d}#6P7k-]|@H`1:`` Geƹ[" P >`U BRJ*ncܭ "uOXiLC@Hz&dnKmnA^x>Y97Y'=јE7,nSr> xJd}GY|~jCN c6` G )hp%Y! ya8@KTLC@(ho ;OU(;ԈD،"D0iX젍Rah~q:A3&Mh1<> &Q(cJ B|2^ KmpI{= iQH'?b@16N\ͼ&pJL6mOp)65UVI|3ӎ|yq◀rzy'h4$^.F!"fyt>MXx6ܬCb~k{Izs&i$ (8-,vXDP.g۞H=Ζe0 Ln|:>A.#p>9N@"6HyF <#%B="^Y"y>#wS:ǻ8ZfIHˢ((8 8]cMɑ!R>ekA8(r .D@\cCy pd0 480j?ĭTCH"@zENWAy5ḏ[f!hM1r@IEҝY~HlX-Iy{$@0>X 763Oq\Q`Eq@hCu:3 9Pc#u6Šd ۑ|a 5?BKJmSX)̱+KH@=j%6A?[n ImY!m6 A60zՈH8e ڂ<A`-c4e Y(xwb{m-H^؉؈a".B @JWL 8Ju)  >ִY*Bse ڰ ;Aei )  59r&P؉ e 797Û; 8xem qBp½48 @k A`:d+:Ix0- l*|x[wycE3*24s vK@|`s:2 zqxЉ I'xi^82.s*!"]Bn Ђ:nY<"\rp8hyÈ硔=;Ad"&Ɵ:|9d= /I?b0>|QyGݒ qYjs{|yb0Q2y x@@R{(Z=# u<% Cj hB.[$ _9\O\- C$>B ʉ  z/HaCz!b08)C>qx ;*#X*!^䕑({\ш̀8㇩!z[Ţ0`„覨Bʌ0ؕ'k ܡ̨0AǩLA!n* EqXI!c^:i  "ـxL$ J}H쀨q0 +xx(m@f)=B!E2/!Xz \ Cpዸ,'˳?xqo!_B6)gSe q)XkiӉB,` uS8KB~MX4}9 RLJ R!@z LxjqKBMʟ_2&.,X Mh`o90*s-2pP {lCX;G rCJ 0ЃE~t(0Հ0 8{o(uQ۰X1H[1 o ~Q ѧ::}Wb8k(~&J֡0   x(t؇p{Iڵyg3cYh&!'0Eyƹ~!D!tO 2 d_b$C0"z0sX?@֐FzMH;Ьhs-򰇐~  |MRR7Pв(J[X؟=Mh_5z9A-@ #J%|+4k` vE^x+RNu1 i"H_TY>y@Er04 ze@]Q Dh shwPheA)I ے '̽ЩEfH@X]0X``ۀt`uTơH䀁:^fnWҪ _qkAi^paњ0)H؆ܝ@eM>=VA+ t@ Vp1 E'9PF?51ޞaF !b<@r q EAg 8ۘ@y21BRx}X ]m 0 3@00hm8eXs8y9Xv b'0 WbS2Ky0t{P8uNVs9m*%shytj v8ÇuHp}X,49~%X9Hv$Q3hE5)^Đ[6+"@P`u0PX"z$^Ip9{|蚇H8'˲X{̀3 |+>,PP-.]TL2c \(ЁFxa"HV@ UIthB rlHklH89c0 ~XfX*Q8 ܁vwP](.Nkr(3vs(űti[Pl@t  q OQ -bs uc X!۞uQk!m런Ҝaq3`Ul! .>qrd\n:R| @P</턉x( ld9Z[+ *j؊yۓr ,:f !?P 4_ؠ ~ D_o@X9lF߮P8 ??t8p ~Ra' } @0!V `(T#MRZaWB@ `.s/G `@@P)z!H){@|@ |{~ +!7Gj`:#X@QRHn0+M G ;n@5Aϗnxh{=z;G0(?gyzn24L*(ppz)h-(!gӫX J8QjÍ,\ҁ(Q\' D'F|~j~D`# ǡw2~ |lk Qlh4jѪ m)#q K7 ŧ.@* gn{G.6p X, 9-r2Piv5w'v؀yL}G?倨,7Ѫ Y,fNTmFf)|*S#.?+8̊|HQx u'17+yi|+Jt7}N~((#7J* b$"9-yT*FM)mJ9_Hu̩h][[6ߢ`w r j2M$| P8@. X"p %U$z>.BPcPk6H xNkl%n)CT%[b[ ^kg { ?@8*q=`#՚7glXJy.DUP [Gct0!sB(eP&@ VC<)$SMqL"D{&n#<c PU);Ą;Ob "BTؑi GRx%qЫ*Tmc,L P#M Pp, di+un41 \eF*xn*Wԓn!.X`4bA\hj=!eY;@x%{%Yvu!yЋqȨD E\cm*$}4iKȨ) ?W@#yae B]*`4tq?ȵ`%|$pH$,j4*R6F֬8ˁ﮺|k8 b a:JN,5KY[z" ЈDAᾏBPjkٕ"wEBJp@e&-T & >C_)u$&p,/I3LJbC0Iȴ=3}ST ;]#QG0!$$c;T(#:LtPR0 bj~7ܹȃ-yu|{rďiQS-nKm,eZZ>.YqCl=G`Fz H$ypFqزy{) n?1Wدt<{ǢjBHS^w dow$lY < p G g@#GXCzc2oR}\GLA" sv6渡EC%,Kv~!Icy*@ySc6Lǻ=jeDHSiK,#gѪ(.FdW1IED$|P O`1'#~!;4=N,&# ((f;2\)E`~*?f4$kG ` @45j$>"cЇ謎CĴb@?B)E`'El\@JDP!&!8A:0 l`^ ` r sd;fpČSj"&q1b`E6LG:Z`V܆\NCCDc7Z!Dr?#?Aƃ$d%drm*Dp\f.fB0DX\_¨HT6^9U$q->l<)!PLrGV&/(FUE&74 FcB,"rdr2!sdP'ÃO[]-3TTe!BtED . ' icƄvR8B>Ģ3fA @g\("|v*PA"T->16HEfLn)SND6z$b1JgDChxi".C%(PT$mx$fb0bJb!7ɩjsD*6* \)nӜx!GG9^'ty^F8ZJ8Q( e0_T,/)BRAukfDCt4^JcHn~r~8 x5T."žThKuqfz#R)$D u"R&)1$NtSaJA(!+ N!@+9*`A@K[US+7ϬIyRҭ"g 27KJJ` hw2tdk.!? %y!4PIn*E6遺aia`Rx(3QC./Z<O +2TSAaDy\B1( U2A`$,@ăGiֺJZ'Y.)(u,#-4$\BpC~f ӌb!ȈGJ2#$)B%c^uv{P4؅|dJLd @(3 ,VK?ad JlZdg=#Nt$CF=urbn v~ZP*i&sJC  N`_# 5\ BXА#->x(!9ǂB6`R#(d8rcyDTIga|h[V"Ln &c!.[YLv,L}K" *B)PD(sQB)-$Z {` "f3ww.n7[xd!i_ΊDU˵I4*`xu<kA`!arJO"hKM$@}|SwGDJ25e$$9~c9Ta6`NNa<[6{W#-- )p09GwRCZ6v ,Є}Rb޵9'bNP# 8J%4P{גO< @`"ĕXaajr\-Q0</xQF,6?fiyttK)e;ODfnJwoD80$wd/dRd&`3J at ~A׳|@`+b1 -`}༓u_@)E/@[_G I," G >ǿ,`P#oݏ a BParB!v"1K`|( 29xI@3+yg4 (|{H̞gy36" G)vm0<:vgXK{04̟X 39Ga}:@Sl6l?7Ob9"3fKOL퀊}Hw,2@J4 ( L M*c:*x$}hy9@um7,!Cl(RhH(haPJq1nh@6zPQ@@(x( DTSjN 87hhgi{$mF5'Ө#CGۆ`N"޸n!f(ޢ35 -kT@6j.h& >h|.ymAG$B, .ɠ'z+:/z`JQ 'QuiPη` D0҅1 ^m|B{Ǿգ6h~;U 3T؁0(:#wH>! z!|"v˰wʁ^̫iwV~̠;R*lFhPO-ġ:3 C`ZJ@Hx`T?,@p(DS>cpJ„ :O3tZ Qr֠BPDV`VBFhAQ>$HY<̷M@1B=R@XGhU$D1`s  q 5D Rh hReZhK<4fM6#ٱ *d^D'HBLѻ!I]we ^> T *?H"*L$0',z:Wѕ\AZG^Alb#J65Z7?Bsm\q/*JGS1!WFb1yͩ X 9p)qO&&OfՕnm`pGi] *0Zeӷrk&,Ṕ=͖8賴&-d\cr)ꇏ"Z.̴`A,}P)u:G8^7 `80B-4Ǡ 1֢T` a9,ߖĶH &'#@8`0q;ReX3+dbH$,$D8vr6p|p1:@,`DHsLT -&]Lsa !CGz(+&CCw1rD,7qlGAÁP:\w#luaٽw.AIT3;JP.8AtA,'hD/Ƌ f@ J @+A&#`*-v A9qEJ@8 #-dE=KP#Q*0G{h f8G 0|06%ݭ)a+ƣ@` 8POc8`(( &YM&"cr$cacB݁v mwȄY#k7Nvl;D? m4ͱA[h6}C p( |/FZ*yl ?4  @s! /Ga{R;B ˛( hѣ-@̌H P+P̚@0 4>ՠH0nmwߡ:z"8|bux(w @l (~` hJoؼ+x$I"Ìx rye:M.8 /cjXtH}"|µ0 "R ݪ[/c ZJ%2=b3k{hAC)T\Z 2͈ q =#1}$(t2 ֮H%BdkB)A3 P~ U;J)@ɫv%[٢)$ +' '{Kď9# H fXd "Qb{b$Ù ɩeΖQ>Ry0ޙٽB3 I@̛)< 1x|8*f,vSp Xȇxb^ X~86 @s| qYm(:M)P钆fxW3>@2; 2ɝҘZWpH({(9|a`2|6D AC֑z~!=-}IV@$X?ElB9QIl:)SG W.E ɵMĠ R[Bk%kOB*xPAF띑@yto}"xtViY+5 )١.l_.0Hۇz8tK ,> ipl])xxd 380d`kb`3sѱـN0{ !ّP2UޱIQ P43R#Y1`ʗh0 P4uTc#BWA (ksp 0wIt  ;ɛGR>XʣXxr9xv( ,G .NFh,Õ5po|>=k>9,.a`!á@ ;/,Cy Q ,`ЄgQi;ӊp{hmik)O#%d2kC9B9l qD oG1˱ĺfF)@iB%@} (`nṁ  XDW" 84/ɡBO2y"DKRgJ)%OH$<|$|>؋ iӀD>+EHXPvv@7 "l"eӪVP {` ~D yG{'htprtp,.ċdђhZ`h}C@>b堽2%(ϖ2"@ܸO||AE<*YC Z :,(PPrtru:8ƪ֎ ;c/I.aDDnИ/"S<j! \vWxFώ)B'{z xB,+fs6 1`SPk< BV9L/p8ʰ{>a8lؗ8|CIb3,`2`輏`A5;%w AKqGy› 纃|QˮC84| %%i'.x}DnCWk.~-Q|KanQ)FJʨAУ>o%9 ̭i JȊX ũ;Ӈ8pȀQH{xvډl2ᕥ~-JfYKeH8'P6;Cm88"g` x DKxf* s)f &h$mi^7@|x̀N@+a+#`ţŐX׀i`*& My|8mـZaZ+kp核 G٩ Hfnt 08zhIjEP`z0r LFJ\g { ^ﱛRMƈw( KQ8xFq |qv(+ ~ zs(˗lm"aښŒՐQ!b nuyr4yk#-}+X>$0\R8^ 0a v ЇO+b&f ynBxnGxwfK x 58~ @HHP@n`j)R858$TֺCÓyc"(}/@ "/'@`P86%bXF#'* _/~O>`0,K춎>)χU_up-d sN@-zRџ}/ Lfj+m`!-OgToe9C)V@ 1gkeJw `H$z~/jxD1o5;%.Z`0~?Ix݀=J':ɮ0+ڒ r/2n'H~@p~ ªȀ|-q:dAk' ʬ JyG΂X}%B ʹƯ~ 0 }Gh @svP/=, |0'n&) (zg{+*2Negژ(`AQGAY|)-[i߭k ΧRL if؉h~Ei̖ZmR Y!ϪL&' )rPU<~V̈Ʌ5&k/ ȷ[΀j8-f(9 <2|Χ1)|"]ZpSX 'B'{ y )~JZ$RQE@C?rx(J@^6%VTjG H(`t=b9|K%lSj+yy*0j&h%#x 3Fy A*27v9-:ViL! l]& ] mtaϸv>92=sB8'fD5ҥߊ?Eb=:V괘Eh@WChe 0 xI>@-2^E|Ľ %YkVp/cPIE= ZnjU+D $-`^A`+UӴй#pmF0JC-T¸X #p1,1dTqxw% 1ٓdZ!<ɜNL cw3JN >L-4f,dr=נ d xM@(Ƙ}) @x >@u(D ,ڇkapOeA@z`L 3bYl#ˢ$!vNshAlͤXT` $G(@. |)&0AAL818(IYG4(S(@$4ƨr>:?%hNJVEK<[i~1Ls!a,"UUj#Έ3WHJ`cG#J6:K cjG]C5F9((`d䏑:Lf3Ej3O?mWVD,{JU${x{<5:eKcRD)r``ab{$S$8X!j%o.&KvaV*$'&KQ-8J r "&j 8nvIakA2&gv "a/!b", (f?.VLRԠ&Sxbdee\JI#Xd fC@B$hH\  'Rf^`&"La$P!#²xCDVaT@JOX"E1@cЛ<ެaTB8`kTV=<*B]% $"C'v.(7V"]1Er)`^ rUqށj2l*"L9ZHZ!ANeF@jD^.Mm/FؖR.0 ~ʴnN`2; *d, 6$}&%ŠWe+{MOll&F%"*d\T iPfJ|))Fc")pcbt!A,*5J]"S"l:?2@Æv%v%0\\SApX(0'~Dex/Ȉ}'BxrBUZ>d/9@]rf馒tDV`z"$L Q`GbdL&$Z.+(HE2a^t'J$CfqmHlO;gr7%2b1ayi0l̬<,pAFZ6ef8da]VH&3a)Exw$ґP&^& .fNL d%aZ`:%(htbp/uZw f.j *eEH@'8pEe\Rb~dWpEJNr BȰ%s3;P/e.\C!ldXg ͇~ć"U$$@"K"v62%1>C~e&(i<.`w*g 8o.~cHzjb/vol@|*e&q$n@=v3ĂxbV!0!i~l>Gh=d7fvb`Ӂ#A@@x/r\D4?1Gc`iAҪ&& $jn[RZbJa9l2-,[ drg(XfUBj5Mk>3 \f:?M@u6T $ALsz4f/n$Tt# AEf0&D."P,X|'>QB2Up~lF)D 6T<l#r0vrTDcBvjhF%("%-%'.1S`J!}dԢA!AD4J賵_ƴGN6qx -?"uA&&@ &$B@` ( @H 2AXz&* `ad04-Al*5 #N_wo\El"AV $d\ǔK\4A>U%Z?#G5laaį4|'IJAa@*8er@x2]((a% 9DcdBARf<"7&dD;Bش "rvs̜D'WeQ"ʾ)07pgXB`N%aVgB}C$@(&,P\Wf,˸ Re^ fa'AT+",etcɃ'f[V/:V~'zAN+4~ǕC* iP,~d%BX}_dx+$>a4Pb[L@Be\"K /F$!զ!n4=>B(up*(2S#+ú,`羳 ddg!Zlg>;x&HYg0-R xV*" 0*}rLF[`dk* GgE&7ch77t!`DhAA;wOUM3rI7.` эèTH6J$9$͙3Ge q'p`%2!xk @YF8P1h_sR &hP7ȥ-hZ<ꋳFU)aQ< \i,WL .j;D( aVhviNnJqMpQGdHm,w>*ЀJl=0P 3և)[ZNi̡2A-[c~ګ[ 4w(E"go(AUBNUG,wM 1pNwoڈXZ|sYI*5QqEӄ/uC"V`(pnh IqiΡW0 ,rpü^2戁PVQ@cԙrrsr bq2@X ߰ r{0PO8:P` v.@ 8 #s1:OA6'2Xf3&ѹ$H鵒0+!oQs~xADQA\ @ ';8ҌUr /C4:88y%܇`l؉t⛛Jx P0<"*S[^@ t* 5TE{z,c{_C:Jbr66;o($ȡxHHHp(q @?Arhyy(Pu H`"`›9raV K8~pHKAkjpx6ڹ,YHx){@ldt1( !648@ 5+Ⱦ&hs1Sc6Оh{跀HQVzI z((*J)p   abq].!\P1liq+h'}Z%$륪;X P {*a @~ ՇX25($ 0@ ~ =Ģ ~xz@%!!{L2 Q8/$x w x_{P{ Q})A ZsѮ  ?x Gp"`}ȭ2cZ(jfHhYQ Z-Ȣ35P(IH)$$"{paXi; `s!&/ γ)v8 | ڮD|xs0wqfqcW y(@ڎ Yȁt{Bï1RѷȄ,rI@ sҙR ]J6q%&":@*0+h w hXW,ڐ0 )#ɀ(ȈՕqKb ϸ)RBpwp35Y/8כ7(wpzؒh;}yxA C PIahmF )ӛqʎ`[  YL` : #yAIT -¿+0`e&  vٶZ2A!̀$8L }#b 6sPC 1lbp'x @xT|5Z%iX "lj(SZ zpȇ!8{;~2]bzr(ru )Thڎ,ΓbI)H+m|>K Z y=QnDՀnp`{ shc fw X@ $yp`zB@" H}/ə #Lv0,!<8R"'*T@y(/ᵨyi)9cIh{wW up vk] "8(500 w8xX 0վٺ P8>9 H7χZ@;{59c دy *uq`w D]YL:Σ( Z QK+$1;8u5"yՀz\ Xsii׀aj騼ϚJ | AO88Y@dEj'p c`ppszxt`o6p%5 3Ua hPLps:(sS\"8(7 $k1 ;XNPUJ bgd- p@(aaB E<ΊUZCE<Oh?`%}Oװ׀(M i./"8δ̌$x(z1-X)1~~%˼[:;ɽYg̘ bxh p X}+SA&aI3(p~QXJ* " hRBWD[S'⥘'cOy(*E|~M. ٠ȌP{\֨{ UOB'mЇ {a(ӊBxxyPPÓHʹ沬2$ :zֈ( 82`Nn6)rNSՕpbz4@!q ӏakk,鮰2^_Z 9͂sl   ޝ9׍jIBy^4hp |BȖ: 5]:9<`!%%hu0|pv HQރېՐhuXu,th֚8t=Ŕv hipi< " h01`Pi2"B)aW$ Y9`t(s( c"ކn4x^j ˙[A rtp Jv6 $}Jث *3k[-ȴ hFGKXWBQct 448\{-[ǯt s9ptF׬ ]I-vY 8|`x{Y9R:C'hE&qg2Vlg UvfS8 x ~=f`jbhyވ _Hq0(xq2ÍN% # =֣ {2  Q p̈9UI6@~ ;@ ip`풁FaUzw; X{̊:)ޯƣS z% *t3l5 Tȷ;i(؎H<(ykQqI Ҍ`krfLd;Lς>_O{A/}߀~@`(0'0(@ Ld` 5?)GjU0 >-B!(p26 f})K.xD oabRa`. ( i` :Q& k*39WA@(TAaH$AkTJeʵf'Ѩd#~DBAXɰg&D x``G⢞C0<|D=븥)j[.,0"%( DGbNǩ{L* z`:.vIr`T`'@8{*x`0 dj|"}(nʐy Au@2 ihf@ 9G~SbG9n*R؇Y bDj/g#)`-,ٰ|=p5Ny@@ǸW~%6uo%*¿ë (; VXG'Xvʧq~ D |z=!!2@ |L` zkK(xqyG P~SP,mp'ŶڪZ wAay ZԨh[DűLU+` 1N>Vqxq*2 <CKh5XhQzl|t[>ӯ,w뺩5Rd4~>~gBקڲH (/k0\-|R=h D:,x*P:@${@՚29PMעHX@ #S @őd(NT>N &!{`e a|~ _E<^S;0}N(C|-Nd~fT y B\Q8Ds҈ ZkK,أ)9FL>J;tT{?<7%(-zCu)^*ޡ+*!^g%kylwI2, }|NO3QuK h؛Zxq&IJQ5YF'HOd=)\+% ШWb@\ &+Jcċ3@0K(%TaMP p.VCsĒkq݋<ڕHc<* `AFt 8 TL Y#q'Eu CX0؞M(#AEс"2$8GDLK8G||dPRh~}vX#J诀:&McJ(`X `4L=(-AF-ۄW~ LCRj5% &<OA<‸ mgu&>I:W9(H` P(7F߅+y|֕7K`8Pĸ؏3D0A)e=2H&!P;LjExu`Su<{5kNX/| '$_Dt\SY$jRuʶLX{b AcT6d!$*{#|і8 3\V\Ŝ}@DM( =%8h )k Q}X,rD؀)Y$s!FY;$T.U ;g'Q)`|k$:3wnmU8#O"Gø߄t5Bc' x v\ /mw oܪ,\?T@0(V|Mvh:Hʮd }@<ǰ0GXlÞB=PKgETp@̔a2,l !$a=GJX̬Fȩ'QL)\I_IPc|:sD`RqXR0-w(b?'yAΰPrԃkb{Vykus@)hEy0ClH->% }>KK)41p<V1$S w0;t`b9 S12 "[ "GxR"b$ gy(YE(DY,,Nf!<ƾ+ Dr#Em`',y;.H 4сAи/@EV<*EhX+dL-),Nxb|d|grB b{!&d&T@&,p a*@}~Cr(F g|hdfkD^,H6ci\|cPXH[%"~|zhnΤD~a` 1pAH(' 2tF\yԻ„nxCi$9̆nVHdi4e V0zgtq!}@@L!rC\"Ff,PDF~ 4Io`@.f!R@3@"J`'Zn\^ BxWzd^M %*WѲe``Iv#!2TBV2֡$"KDA,/`"`6^`.%"!! `Ll< 8h@Av!n`268A fA<B$ "Q !!"J# B cBf!ER}bW`(E]"B!DyF$jf ,X$`l</NG5B*Ja.Na"[ %$װ23 *Ɩ+¢A%3\'|tsZF>d$~Ԅp 2B]@;%+Is"gS%&3f(ʱHz/4C`pn|tD:.A03JS !*(Bh>NO^E@_"m#)fp"'P%Yp[~#!a!(E&g K,xap Lj$A9)= e l< <$ g$m>lT³#/CIAP,!@ "`4"։E~lbVŦClE,/ W8E0DhBz:2˂b<{05 &rf B5W43,=RY^z ta aPD,e!!Bd pfH+rP%/ ZiFi~Kr"Ð^D:y@bP_%c.x$0rh*,2- $o q9!f-NC0ZgeA㇢iPbh'&Q9Z"My(M>Ҿ`*d`0QUAв':C8ctOc) ),!,xqB,4,|c$j2c*E0/wf@& ;ڂc(G@X’tSw$IL~fJWZaxT'F*s#\TP 0&X4J€ ,~BփdXgh8LPW-BVyeچmfit^2v`#+̵ (B8!pgSTŎaCYӒd42|0`|4 ER/̻۲+p }VArGawtiJ❉gNOiy0"zy |L #|`H A!gIx"^NARdEAW'̬ W\(i(<;I$:74b%A2lJbX.d;dZ*''-G+8i-<DZC9Z@@!<ǠCd *xXϛiQE\%hP.'dueTME7Ž{ip.7GҎ#{ca7G4r(}ȑ(@Yqπ p~@*B8I | 6\{x@ 0:PDD$Bo4w`xIH(H$!f""r`JW@6#x (&c@gbTflu Zi)(Վ>T 9ۏPPLdFU@ptS&G8}-X:iWHly|#@=ZG } IS/ü}1#yV ʻgRM@D@g -yyձL>ԱW'$+@" 5MDK&T8^$Flfٗ"0`!* m`ZKF$[>]P0Gp cqޛcńeK<8 w&>+-QSǪʮWf#&L$K* ш{rwKIi";QUFV!ed|y i4\8D 7%TCIpjܴøvp(C3ACy@UKX'yuc@_AL " !$9Bfg? 0d8 xQP e8(HB&bӕGyXsX?QY72WpG !e|T:1IӴ(pqE\,MA xQ:8[$Eq:=Gyc1AGX"@W>  <IRZl@BhQ<N-Iq-Ŭg-N͠FYAy  "XxK)c֋ӷo"}hz+Ip|a?W=l x0B`Cz2\,BhR4AcEv6:h##s0#uGVhc8 []8Ti0( +ѰU`cԻ0 P)[{0%(Za3wxw;p s`uAW|%hy08* z$ "j}; sxw ތz`icz #ALp{)`y#|'ٳء@Qx."3 'J {ʈP܋Qs10Dq(%  `TaH8; -֑DjJ1.jBPtX}HmnZF P2+) iJYU!$(X': ("bC]Q(*I8HP>sOLfu go8Ч* ذX  $<e2  ~jYHh7 x/:h$qypϊ"k67I8  (@(r ixhi(y"$&<O4`B~'Ϸ!XF  aB)HJ`P‘GRм@yE° tprp}`7#D JXYth*ހ8]hf̘ |R۾iZ0P ((` l @:Id0BД(kH C4x$М0QR28JKᾌx苖"oh ;,i K 9G039g( = vHvi O(tS3I ɘ63l z)(&#z Yz2-^p jr)HCS(4)hX0Yxغ " !h:h ̴Z ӓ W(P5)[p9Ϩ[H9I)9cPQPܔ@XL*I]Xz8{/ϮߗX >y󏰌@MGCw, ۊ`a(.D* +[ Ϝ'OdD1PzM\ [2S"RzV\`:ɕ0 HaEqh4(z ;襸!틁D1 `ҩ~&};zQh|<[<*Ux*x@ՂGCoxXtF tvA*Hzpw!)DܕȾXY-@#H\x(5 ] (3 ` p |"PʣH }͟ x{~xgUPY*b'p#@%X\^H@s}a@px_V+ە4X={ F` ph~+1i/ÍI(@``h?8V,f-)Q0H{OfpG؎^RR5\yt&m Ipw|cCq/qF# [Yhfa`w}9Iq*!*I h3"~#x (XthvΙ耖QO2GpZ܇zdX~vЁh !, p$0}ҩFC*\XZ@F~HhXe_xhhdY1*N2!й1hf29?4]ZN5ۑp ^9*q_{"iVh&`˜_w4ڊ>&()W pH8[3 RGd?ɈY*N YF . SMI ([T/ 6_ yJkHu*hZ]!XA![g)-06D[ /E YU o"g ` Xq+{X6= ! ? h|b,"LJ/ o p~)p^\EP 8x׵$]Xﭜ3/27G}HdHgv1Tܴb,x:0}ƫ0qm(a!h3_jۈ0M` y UN[?R"0KLYI3 "A*KRlQ p1uy=6Wҋ]V2u%ҒHv]s'~@FtGyAL+_qY+Ȉv8tX{+{,=P|laz8 gv;d >^ ? #?_X( +x^@m@H?@@0 _OH$u/pZ+h# A{참|8e4Wk J@n9IRiǓ¶~@e_ܮpgw;~V|Ϙ@H `@-s5P#*``+Hv@X~] a3Yp. !bl&`p  Bm:>"!{)' 3(`8 j: `!|p۞@hQ|` }`IC'}r3w\2,Q !zdxL̾22J4B$ w|3-|PB> ڎ$ 0zK iJ2K }PR$`(Id7TbFi5K$ v4 Wa2L@ hJ}G4HI䛙sQh2J{^q%F@>>  uQbL P 81 i)z"`⤧~V\ 7vpA0 i)`$!g˟R3F"ml.>j8ҹڒP*m@=^%RU^%H A(f5aDİ2t>8rB?`yGMQ^=*[(4ˉ/@p #h=ǘ( gY\"yb0@fR>#ˤ+Ղ4W(䐡BY#Ѫk0 6#zSkɑr83dsP Fv l&xGC#P`gz>1ORLu8"`5a4Ұ 9k #` T,>Ra7q8@(X5VkL$ʈ9'oq(*`QąW { I67Z+.#!8ٵn[$fW$d5:"l5!^5FpS@ dz9G@`TQ5F $`@B'I(覂 qzl2J!%t9H؆iѥRdpp.BQÜv=1:4d#hät3R9%$&,=*/I,W cژ( \ !VM#ӈ׀eQBM ,Q@j2dX@.龾]lK DA^X)Jxwv- ias&#aJS9U#P1XfM2H!=*x 2eYO)=RQJ[_*X)Ec>)u.m.@<@<"۬Q-USj@0Z8FU)d>n^x/v>d *G@H q;GH3b](u)@hx^we2) FzX:Pa&}2Q8 @ @6E OPFHj 0dAXx`$E]A50"@"C`+Ctp{ѦDy=5ccCQt]hkP#`g []9R `#z9G1KR+(Y b%,W4e@ ="8g=F0x4[#*JZRFp᪗;7NxudzE Of =Rt8@9FLJl1N96GS{N`oX;`xS㾛n ӖyTMéY'}NT\@,~5طV[4$p)!;W8,$S0 [^g=Ya ?K8Hj ^bRT2gR rhqG|<FإYՏB}|vբM#PpFP |~ 2!W ai7aD|Π `$'F.XN eZuBh>L2KQ,jF&U)s 2aGajO~cELXK>l5B>BF5A 0EdJ&  HZ+` ">~|mYcRK(( rLʵCHRP3h'2y,LFr:`/RR0o"LZ6j2h"3Z= -h^r3c8cD@CxHA %}D!⬯anc4"wa)HFO4 .*s漮(Jǒ4b&*MJ+|h_j2i|!Ԁ,碈F=|j':9aJ!@ H3 C0nڝ rNcpbG$4$|2fl=BBU"6'l2 Z>U*,(2ؚ#%)n4DlUv&$.4Prv'l#(FԺ3PNhXbt5F'#ZN`*l4 >)~&8ޭ*) $B@>@. F`Z+H a:t;ǏFƒ0.\V'%.l>`(shbT6!!^(`>@(6@` A@*à<N!r^A͆!FN AzT8L(d$+Hj(@} tD ٣Ȑ#ž,o J`$7MJƼ"p䊌R2u94$(6@c@j-jfxpJ3#̦ajI%X-CDcjMH *#Thg;ɯd+hkU,‚FFlx"tk4'I|DhJӾkD K Vi/B(:š.!W縘3"J"&n,:c!A``,j,x#'`|v:BE~`eE/rrFR^2r(VrF_'laHVDP 0 c2AaAeHRF^ktLPs@W.  `0fRaj =@,FPy$ABMkC/.m( ~(GabRW6@RNda;-5aH:FkT0(B#+9BR;$ .<!|C9T'D;Li6s>vx~a;#-e|b\eFD>E/4Q| )~$rBcÊñ1|b W{OAQ:rIԴ"v_fF!+`b^K$خ$n"lcP!3P\RVž#9p@2a~SҌW$Wom%b 3ĹB<K22!rP"w%]& 4 ACwblԮŇ*9^L<Ѡ#q^;e&M(-ͨm D>/$3DA,F&tǎ4^>""J5wfyt!Jl%bCRI)ogHQ1K̀'*]o!&*E(xr2#WL c,Wr `N_W*& ҙmH$`4RAS%6 bDJo*4 s3JĦ`!T87fEB>vKl+> ?rԢڥN@)>8ko@Da?'+ ӠZXx!!tcB6 c AAYWgI#Mì 9Vd5L##M:JH+A~n|&fXAȦgc<6@>avfSwK'a!A^Amf'!`rM=)孈)d&+O#ʜ"`R>)Bg h:,JoG<;˒ $OGyv 䥪-|V`\ ťhܚ\?ry 0jgĒ" ̹@7C]%Ҳ{DFf I$45e4rNEd`$H:yK1j!84n#x?#`,R 'Q*:ch AB`HhEQ2,Ũ#>@8'1C |:H [ w~Uoo=5ovܴ[vfЉ9u?X!]`dfRidT?"H8R<(hԉ=H ^JC_N%\r#(:\QDH!*QbRdRF٦դ 1kOIk:^2OJ!0 }G8 ;G||0Hc-1`" !,b\<"ZA8 fd$`GKUΘ  'RH9TB 06A^E44ZUOEU(ɡ7,$_06acLC :W)w%ÑPm8"=ǽv\H;`&hT~Q8cD}`J@1uv@x6BˬǑ#*gaYSMـi@ P Jq:9FsY>~+fT@\ zniXdn>^%Y֚m"~]t^W#c#\'kh/V5;ZGHh}1ytps9{ݎ+0+ً'@ [>:e8w{ōÍ|yU?([Ќ\ 0&A)ɍ0 ŇXr@"8 178 jh+H{+ "sY~<5y `t0 9Mh"#.`<*~CҴh u >0 1#Z(w@ q08 `lJ% a&QEz>,o=$>$!r$4)@ʼnzS1s: {D萚IHx1 T3pæգa!"tFP xxv M,rM>Q=2RgĐ 7,> ~61 芚 X|E rAG@dtxx@u(s'y-i*|XCԞb $`hhx(Q-Z|  x}%9ا2 q҇&hz\\//P;Xx[h,y%X#: @ XlXeal|w`u0rPK d(ċƠYYLHol^;t M 1 C̜x ilu@t>,2rûuu rL{h|!% EjQd] k&I MÀ8 ~@I˱=#1# p趺J4 sq3k41b Hʹs_ + وah.(챓 x}؀s"fxq| 0TRp0{ Ã` Ȍ"1ĕ Dŀ*z +ŀ<)]Y| i`s@Ӑ bFh}x`Ř1_3C| 5R`|ap(p4i畐 Hi 0Б ʫ`~H @8X8S@f;KArHh ŔJSke0˱)zd 0 ;4hPP"0 VXW1 n*2rFX|%YV>*m[X;s8tHxT7/b1۳,7T>*찉py/} n[j eqKIzHܥ HzHwdlXzip 5ʸq$V(C> PJ1 Z" z ID% 4D KWBzW0IHw55=!˔ۦҾ!Y#Pv$۠uޘ91]% ]Fqs@  Aqp w0  -FILP3|Mu ;u"n~%VA|pv@NP +M #X8\9䑘<`9cɊ)8S衕\' Fyz+4=".:kZ8x$DBTȷ8 Ϝi']ōN/M=`A u Ð[:WƇz׺^lI` ?s9(xus4HJ6Sjh'IhۢmXsp)$r͇xH$#X <"nDkɮנA1Y rDpJYči]| x"$ 'j ɨZE.W19 :-QY `ti#CZW"VIQX!С y`@ =Ri);#XxB spq:ӝˉB͈(&㣎Aepw   1܉^H8p0s]3KY /r$ `]Iplm0`8$h]VpZ0:jxp*t`u= 8Mxkxrϒj!Qi쾾px qA' FcvȚ ȹQ~7 8H+nR#xpp ;m XqxwtxZ4x#]bPuV N  y|YL:qQE^h~0n܈ >EGH[{걇4D(t9HYPmhv0yY#>ـ x jQ!1{Ú(StyÒC𢨰P{ȇX(,]mNDlX~ *ՊPttk4l i k>,1 ݑ2Bڏ\je31pq qŖd]pmD&R\bwۦ 6ˈqBp` SUXfiȴMx 8ұCYEjl=_s!&: G++hc@db KJ퓾iS (}u۞7*hm=[/PE,) p8rzq >eYJh8Bhm8k.` QF𺥈 ?ߏ_x  @ 0v2/M(+._0.D t92$+~-` 8 Jʒ:-"4j- ykt XG \|1j!:!ʲfèHO*XJ~&) H},k2~"\H$ P~!ǹ{@@ {"G#i zA(  I1t* z0b0B#@ *|] 1z͇2LA *=)q}θyt4f 7EMNʻHԘE0 w&, 02ΎbDGzgPr8O}aޑQȿZi`}L7k(02\)X{3(-׈ ((w}@/ 0g|X!u:R{h& ඏ b1Ş2f'`& t& #Ҧ!s!|'VrೀO pXrȒǤ:P6 A\~,e~G&r!1ф19`D)Ctpd;X%D8fH]ܿ!RKJ'ea=0 ʕ2țL1A.#ৰ Py7w>cHH>B:¯' $`wE8 @H怇<˲`@:JO8?e,wzFNSiJ+Ąə2GxtnFzxў (.$HG-GܥݡL@ ,688ǐw`2:l #$$rΠCACxya&ePM`ta<@a,a#قAL1`ؚwȤ,@I9P^Zw0Չ<$R>Atzc|6LO!1vX6@Pp!~Hs٣ XAc1(Bp l̐9` 0<T[7j @0H Ru9%$<FSB$=QyM CʙA2]<%,::Ga;RT>$Gp8p #uoehVt]sƈ@O`qJ Eq2['}ݳqLb}[TȨ@ΌIUg*oIF"e%HB5*r8R $L G(:, 8ԴD !dm]M/:-ȻM&U0ݰ;acZ9'i-Uy1#!t8=1}xO"ڧxKNBAd(.߷&\6P$RDhN@z:Ȅ㧹p l<{)#285 BdsHqIXJB@C-<w. dLyY )@C:VJ{i(UjIraӅMs ùiD,2ȄI葍20"/"FD6 ,+b\!n>d-Vme r.%H"UP F~n+6Tc%& d( .<9 $$$(p!ʰҐ$p@ &06qB$J&CƎaIi:!XnB1A!$r" 0 RJFa?D:*2<!rVpaaj"l,."d2*`0&!,=`" 2  Ƞ3"vOJ4 l!/Ɛp5l``hM^ɸ,!"0΂> bpE(DŽB_~¢& -;P694&6Zab6%F!N!+(4dmbDBbcdV33!aA!A~5&R>q,,Oʦ&SDn5* HNIBBbB" 7&m&g3  nc!6: *.!FV # ,!b`!,nUo8^('d)io\j*"V\c)'aJ%&Bj!o"hqqI T*bL ,NC",c&~Ai('[lj #ĵk`!>'E+$"@ $EJnq#K0BB.,LC"b&4\?F-fE#"6em@(&9d$u()$8dc:*`2gb+vf #r3ׂj&}bTB` \@ [cD`BJ@8OT6Ci.7t !&M<)W[%"bL.,?6*DLEnԑb7ńgdDDb 39L%*&A/R6<"($,]kk[#"d]O 8F+JbL[*&'!ĉŖ"8/S J//"4"/Jά5BN>ua<@2byND0#Iyպ%H\ ,,d&h.k+4W9Ly\ª"K*)Ȓ"$82AMA~ >:pltC W)i (Ig%".MJ[b bFP"&! `l.=aJ8"3cL6t!B@!X!I6'\Bhi3$`&`&}/@W7 VD@6ahZc!O[%7)˰Q%E .",$pɲnIt JR~X0J+ JtDd`. &DZy70BbPJn4%A#(75(fe*#Xo0H4%Fd?ܚB/dA(WaopIap! GE^<aǠa7Ja!;LE! @LA@ <2@(]#BHaiZ& zh*^LTbf`D@#[:#h,1Ƭ/) BdaxƉ+_h?wD8eԫ$.<\2ŶYajBbӡQK*/B %`AAp׬9"*hO|’/BI&!d~vzi,)m 8&SG aO8BʦTm,x * ._"3Eq)DdU5B2!-Aք&U[-@a0:!Ggp &g,hDZfvdrh9 dI"DB:^*Xܝ,&WQo/DfV9j¦ 0)zKѦ"* (*!yLxTe8Hs!~N_ԗ o_̄ @= {Y|;ar]{=,n^0%tYDШU.~ڴP^Ǟy[b@3Ƃa`y Aw6pC!jB'8c Deܣ*2)8&:i{dJ1oxdߩƂrJ' pJPLT ю2|*0NDToP8py%F>PX؏uL:75LȢP:ZJD{} / 2>a`+1q0EF1%r´jl@&f$'b JGe+Z0@)t`iI.b mԕZ@jDnhթ=I{ܚr2ꮐGyI[Cq'#,חPf ' ` d`wlJ?0@ R^ZGy},}Kxr}0D # '`}0 9 c ,پ.Odp4t@*?'RKd`IM|A&t :W%FL@)I[x)Es-9(@a)CP?%, `c|Z AkkɸrSlA9CI-~Z=-Oa d-xԙ(r'Țqcb$,n0QG'*SXܬ>MA85|O\;JH ?Gx-E-2&]F 6(V}f~Q;]!uC@% BwpdC`SihwL[,R\RcZ`M LTn:+xXCp= l3q@ 9ڼ24 4Ic!l/@{!9FuB; HU~^3/D: `?@Ctn]>{S>OpCvO A|/XXn;ڵѿRHz n4B za) , ݤ. 5Y# zi*p "hpa 3hx!XHxxb:OafeاHx j0s_ dIɑ (*·iщ谀8 ؈RRȬ&A| (}/lG ! 8  'h ` N8Rø°'hp݇ Xk ӎ50x/g 5uoi,v,sd)  uQ2F2ʟvā 뉼(s$ !2`  I  P:Y 8 C ~@!- x!Ž ``v zyQSXwh#p'JXu ?+s3{ Y(׈Zĩ (*x ELF`~@l u8' hjHt@szQ )~)fP Dhjyy o lPw P2ӊx|l r,}K.QLH*x}yh{:+yX ٦ɸ! /y xA .q4riPQ60aưy!#YR(ٞ>ىP|!*.!"LB2]o:0`*) ˸< Z̸2@9pYڀ fmr` ډ>T)  ?%Z8b+Xz `u02YB ֿQ( e;CEƜ%8{.а1  x݇pA| a}xhP Z !@yτY YTA 6xݹ- ρ1{" ȑ9I1 i#ɊH/8|ЇȀu{j ,}4 ʡA֋Aq+pwĥ(wxP(薹zp"xiC,HS{{pX/Hzd` yqHģ hv/9xrSP82r[XzsM duxpJvQT XuHs0 [h ȻAA(II⊚a! 0056uHzTbRƖwZ2:s P8sR`]0vǬ; 04m19 D-R B* >>ZQ%Jh +y{2ںʚ؇<*6ɷAmc#X x 4j "0 '` ~.%Ɖ\#; "E8*S96 艦rv+i 58}H( X OIO@ bȜyuɐb G~q24Cgm*7ЉދĔ!^X96̺( 鮘cVʭ傈+^ԇ8ujx H~]j`졁y\ii Kšx[8\0@iy@s `hwN}XPq(**'!"C7*Z*@Inta Xo2iA?Tj9åp RӇ*Y^zh}렿!I%*(ΡNٝws(B}=9[]7!-rngٙ1й1xvhua9ס @Ch ,:Ai[[se P. Αg<h nrRڭ*}-  Z zCr,n1 ǰJyʥ4gHUV}_0"/)ٶ`OI-#4 Qq ! EkU1v!i|X@xt5.#Ox]/;[ڬiJ H $ )s%,;7x7cH ;xZu|ClrË"qVfB(@ub@eL2H?4)Oe~,`t7 yPFɛ1<-HSZYٌ@)HuK ҩT!!i5HUu7,_ue {HӢHk8󉸜 5| 6(qXA T-x b캢d3?QNOqIc@ v×ZL) }8xj(}Ō. b؇.8|PkPuTϷ-d?_  0=FEBTE )LkUxX`Ii'S%`\|"<#PEp`G]/fnIec(U )K.S"UzYـ4H?GkK ̗Y}cTz0ZL =@CC'3fMi8ϕ E!ꘫch(FYe1("iDzCtp:m\k4XhNZO!;lm!8C30lTVZPцjh<֢jxdA#|v@Š}jUd1gOSZK2Yp 8q.xR laϮSۙ˔JoJ5@J2ƘcuKn{Men9Fu=Y=m("yD\ q:S}J~("CE0#i8iU 9D/u+( RPɝ*3U$H9K!e"pƩ?U4r #,>W6dtR&|_eR;l6A\ x^z) ,0KRȴ @ ); > o%֒Ah8#ts8C'R@Rw"9>~tOcE|&(Iѷ "? T@ Ch> 8D#Đg,h}+Sg!9I  l;ƨIFc6 Ce L;q6J t/#r@G$ @D 0 ɪ|RPO0b#[Hl .8ݧBS6 TH0J2Lo@ h>Ofp.@i#i4wP{?=: 0&;PE# 9:C#Tz$-WHBdEDfv0hh `^Aa&#Xs_:!zǐg𼩨%M:R`H4Ԡ_+>ҷ;oGCKcWʖ!:.I\E+ `0FHF#r9 $|=Sxfx۰/ցJbJv0_ꨭ] =@"@"@ nf^@6h,!1@$AĺEHU&,2 )t<ЙE$B@dzaC78 A䈃p`-#ZFj#!0`4!'CJFJM H!Dz h1Ϙ6#V^{Ul"2\a$bxAgIhI$&aYxգJpEQ6T #j55\hkfDRHng2xd 2b>|0-QL" ê„!e3Y<8ˀk|P##6F^H6^_*/OE$4g!A&aRNd<naȾ<*AShƗ  $50@fu&Z(BHt̢2afj)A`,Z& |e)DP8F1LQP"d_eNf>O 4PZ*2/P"F1I'a#"t\^"/<"`ROjR?221jeBY1b?!68N(EGH7ކ4bd@eh@l#60S  wC# CмoDa$`A)RAhnl6!?` 4*aFH ReQS(ZF"%)2/U#+E3>"!A$4<0!q莌`1`  @aAr|'"$0rCPe|/< cn1-(Ѕ_ *GBdޢ :f츤_)`P>;.,X"Jۄ(oogv 7:1j!Q .ⵆdc^Sp xCʚ~shca n#ȨJS/WE5~V"?plfdB_0`H 1 d }(*!A%25nCq:Zf P"EVfebP`8 0 ڙdgH! _Uj*a^raDt_#n t#Dt3+@;#$44P*'&1~%^ %a"k"Hc@R}J*\ʟe%⎔ִ$Tk'^bsF#egv<``ܻY6+.Qnt#NZ7M[V%%0+>-s.4|z.B"~(#:Baa?!,'tsd< "0 Ie٥y Ed*A2)p\Vj#Pm4{2Re^ACBNsٲ3S`caNenv`Q:*PA8nj\V1^ H@:Aʝ2Sw, ,"4L_&~6AؓÏXr2d.!ɲh՘#@p=|YBT Y?hP$by=|R.ZM7>a  GO|AAp%|>.eQߔ<Wsz=P@ |'4G dXp |oſtx!"Dgҁ|,:,Q25MRJŒ 8#v`͟)"   B(H Hp[ }" 3(~mV|/,>κ6ޱ lC,b-@I{N !EzC(y'kxI8`Rj2,,)Hs^ݟ48|L* iv!̀)~3C32{~>#x0թ,b@wGnŦUHb!9hMdMnY. uYpnrՓQ5@p@@w'AmkT!l` 4҂((`,y+I"%2$H!,y"@R 8!^hC$fVBE5$sȣMdXPA GKgLB`Biy栋 GP2ImU>i9#WXCDZGwEx` Q6|#w @~`zQ4TC}BG9`@@Ý8cQB!mtcz{:c*͋P L"L y!檊I|O*l "7Yp񸠀%>@HQ:[Ii}ES@h\'%f2cHƴ~f?e@*׊/È*`E`͏]cq @$GAY(!ggr9F*ȏH6#-aAxx :L#rl 7FJ `+'0Cp.y@ UmE'8H?Ǥt5Q+ղ{$"@QYi \TFY (TMj%2*+LoA^G8= g6KئL79H`Qx{`k  yC8`#p w4#u8ղɤ3b&BSj18( { mn ja2PeY jsOp xnq.@Giq9{퇐ax+r10 …G{1f!J 0Qɍ  |r[ xh@ | zkz#z F4`'( gk. uP>yX gy|q))iUנylԟ"?7Ё9ɰ @0mk4X|¸٪"1 a @lp꿓G .T/X{7h3@8žg첒x*=p(s@G BF.800p0s?jPupqQ5Qqa@ Z " 9s[аBR(}xJCPx q!+aS@! k ѻ) JR`&pn}*6gk Z%:Ph)25Bq)wXuCۏ3<`ãY!` 䍨։͇UQy3D0~ "Y8ϳ%`da 8{ i.y0~b$pΈ5]Bu=Qa:ذA—{Հ# K-ݿ{Ƞ#U K2-HI%c`atj; y ߤ=@ߐӢ8B|XqP} :IK x{xpt@yYWɈ[iT>4WS~*Z`9>hz Vh} Ѓ 4yL[ X(=  aSQ 2+./ B]d8 Ps( КJ oY ܧ>0x  'Tu1@^@wMP"Y1E;:>26Hċ ֢ĒDy8Θ%qAIiN)I$Hgq)sm1;uR0o 3ʉ!D8Y-ŒJ cS [ZAĐ).LFy%`!Sg(9?H"_0T@) yq2M 昀XH}462.s7ۈa8}JUޙ`-K_sS8~Vh,T@x & . " LQq(]!T>~ 2z1y o˨s ` HAH@O 􈔎ҰLJn$$X q8c Bه# # I$sR|J>t 0(@qXI>Hv@ |ˮoFx(꤁q)f``qpch * rmpGрCyZ @` i<P7+mE`@8sC1!*8xtpy 0ApAl r,PP—iPĭH sZ ,BQyql.[=n:?,O 88. M0g`z ?<_1*H[pfPdxtgxq`ɠ虽a15!p l8 U|H39NGA 򞀑I"aQUIY[2 !#CHj!b&)@: >22M0 @Y謓*2#.Hy%"_ l {-Hp 3ct>Þczi!L j  2 xڈz9MNPaA|ytE`;MY bw0Ĉ؃'N Ay'gښّ>-W[n3ɛX!8;wP ږ8 Xxot!, a_  v+ڹϲNQ)T8A)` ۀ(|w@k2O{]uଝ]0 y Ġ؇,É ;Sz013yʀSKL@:l'`z0љH^ pc1  xz^00У۠##bE !|eƈŋ8QɑA0~H8 O?а?H( l\}@rA@p0 ?@ MfзZAomT=|PRw m:@P-un4 ~> \v; %`p7L&&۩0~> *Czvb0%8p);Q5ԢMiQ.̢N)7'>5P9=yꂸ+[ԒΨjJ>)2n:on#zm.9Dh:TNw Ȅ`)H#8<&2Nr}```Iu%z3JCҟ y|F1 h:}t|JbLbz\{pt t@@'ax%rh|:8&o` z'9qQ z)N$pH4a޾pX PV LIH _{'{M $ +R| *HgƩ&'9@kx`# Ad^G- 0PJS^0px(7r >`,ZEwZӝ.TqVd$(tH%!UCc q\:'qOǑ&,Wrc~}H+vġEUǜ6Yq8<O9F e-t8HJ(F=2\q @L@!5{B a%ȰNY<}/rMX 0TSqTE )]Eu6,30ckCkZg -^ 9EZCpH „a zt=Y@+zd EsU;15N<òS->tT͊W˜3@hcqL$Ir~`TT;Ub -(e} 2 p18(L8W՝< 8Dw~>cVH` ;Q;MN9^>rPvF;Xx`_=?54l4QQbYD%` _C6e:RaцܭdMRYG=d zxc {`PP 2ydOc>$ ?80+P''>">`!-,fEVbT"dC()TDH/^Xa+΀TJ2PhR#&Aaeh%d'2(PV)$}~ps&n$B@@/2&FĮ&+gg'x6Bn- Jl: )9B!6Grf@ ` F@a.J>`ng2&\ rШc=(0"C DXs!L#vJ ,] & $0%,*˂bd,kbGL-bxrcabaC`"x]/V%h,q2y`gi(rGp &(-&P6"JCF(z3 'b e(RLx.dtA0$7'FBl"]#"L$"I`tg4!^!` %^'Dq:bh0Ebh"DF"r$|mBd% 5jvWGH_R!R"NO!OlJĄ+'26dk5 h(Ǩt'J4D"/:37q5P,2&`'ALH&@+ zd;3N 4-9R 'f7S:@6&'\H1!'a;( ] Ob360fx4H)& grKbe,#L73!਄zR> T;6M( ".pj4ӮZaȄ f@Bh@,!QL+5gyR r$)D%Bifv@bbn)$ʊT2iN Rvl?bF'Yc| :6C"fE)!#"M=% 2]',@* 36Br@$anVe 6 0r "h@ J2  W ~1D!x`t-(dAJ`9ahO!Z%$7%(G.-N=7f},s!y.44}\LaL,`ӋDBn@n|n $RcMEJr lp:-h, !(X`uoEJu= BQ1&'H9DӞaL8Vđ6? @`YoA a 57g`I$p vf$m_BRJ$ ~g{͎4&=i57JgNuGb:B&I­9R1"kJg5B hXhrv$VB7K'98S" %:ibC9*dxg7RQCvvd5D&t܃L6} 5 1?PTa$tw)|ҹ`0x*9?YF%)Z('xl@(X%'~'"a''@,7B!;Lbk+4j$b %$Bw,&NL6!ID'hPBq,H5^9B HwԮ"-.2fIyVC@zz 6b㚄 c((%¯rKD'Vgc113[n[BR 7-dd T5wX#:)k-`)b(-bȮl%A֐aP!;(72òBW"Qޔgε[!^2Wd6F`LxDaH {Zǡ0oR"` HhlC"B 9NcG#dD1γR9>F.PebGd43Wrbd(䵵`%kDJq]Jo\kVIX S}?_P(F!='|? cT}`xH"q9ϧY'[䰘\0MI_0%NTI24*P?@( ^@@:@B w_00'a`H j G#H@ g|{oChJ'lGI Y_ Q`%> ںW0դ @8>ێc+a(Nyu(` %IT|jzLӈL~<O%xi;;JYE ZP$jx $oϥ*kϸ|'o)ʘ 4%SC-Hd+3?GsS>π;³8z$IIRvKu$ "r@Q '  uE 'l'qNʲ Xg9uG4q47QЎʗt~QQ BD,qj |I8c*K=$\.顲3X'@@y'A 1ֻt=q{A)L: `xPz'ytG^؂ U$ E[RYqzʄi4H㳒G4=i 8H{wт@`yG"@[6 NbaI!|/%o;-.;}fjY |h9Al 9{h|W(y: W:bS'+I4yײ r[;zY%gOL U)y`7`U | P p ?HL 9r^Rntܔ`Yy(>LCc珡H U; 6TA>,yAŠj#G{h`-*x[=`k`4e~>zDa:k0P60_&TMfH Jr?؀~=S(*DR Qh;#qyb=@wi`@x 0 d{sGpܾCkr$yJJ"rd&@bQ}8cq fRR;M<`,;8&sq;V:S!kp$"L Ct:AKa#"Yy\m`Pԏy7X$l:|LcH8}J( L|Q y,i.h0_ ]ѐ 8@xԸI!<NixrE$eUirnȁ$Q{k&Cl1:`` ,x@8@{xtH_(Q',s{Ɏ7Qlj^@ vST)(U J.i,$bӁV:{% - {!vk9;G(.p<(c^ <1"ed7?#jd(q`grҎj+F @<`*]ڏ0`8MD,fW$|5 Y(24Q!8XOhq9jı_.t-V(%Jbt(e|>n2(7tK;u," TĥSYMAh fktsz;1Q,  @8!s$+Qp2*`A:әh8J x cMك+ })ƏH h p~5Zz{0{% &HyY> ˇ!+pYw#ƝсB Hp'p4xys*hDyP{!^D{"Ȁo)uCC̀lHwHXzĀ\wYFhp Q8ua q) P 1|9 !^YiqSƬ81 (z؇uHBҀt)Xf j7uI[هF!8ĉPCIjCX|@h4##@욨0!x"p b*꤀kpj|2Hr- ĸ|XhV%r䨈({ڴA 0 ljpps^;n:ɿ)ȤQ~Ir0 IjS`TMcAp0w8ry) QYC0@[QNJ{B (8z |p 8|{# "Hr jj^*j)uOp8v{p;ӖAπ Z&+8(IF  +k`@vB:LY7^X(ܐ @µ0@@ pc,0!{pHheXkmnYTJ ? !TA٧`Qa(%)dm[Xĉ:ԓ*>nT 9!lNИg6PHZ͊Ġ@bʜk"6# (ETIi4&9,؈2ŵ 㗥 Ӂ 8Tኁ @9jCUě(t 9SI(=HlynHYB s.*Z!Ɠ[a;r a JJLlur*7*HL:M EX=)V*'c[s W);슚R7 `YO:kiLJBŊ 0z) /#M` )Hw^b!5bS (|ah8-`v] @ܺIi<(xkfpؙBX 3Xy{ҁ]Y \^s0r:AWQ |0q&5\' (83jU\B0XE RrJi Q6{p P"H,ȿ0@}$tB*߉ Pp~,![Zi(܍Q9w0|ޙ&"A, W<^O3:!yExx"V}dREFhrjXH @vsBweSǎ3.ae+<| x{D)_DRUjL/GkO~[c<ˀxq0rhyJ2r{' Dm wit7 T.nsh8-*PsQPwhh`$ *1*hC @-#x ~ݘ A͋ B}֘i0z|(D+zE,hHi[ K.0¸"26^YcH pvp 8rrzz x QQUGւp hxq1^hBH !DE_ !pa)4h m{ Yd0~R76 8]@~J$!zKQK(x(Cn H* ulO)K=/v N؈(yс;3l R˺@ h j,[gĸ_Eᆓ9*xhr r4ef (ҎA8A;s6ϊSy% I"8}xwT˰A= n gѴ69V xx98,?҉ xJ?* xdPe+sQ٥ d0VӛYE 6-8J*Ai5 c+ k Pnv k  d ؈;HR)!ܹ?Y2w_9G]#/1a"|859q@yEMӏ0ɩ4hҏdVvΒqwkN0X}T~q 9t*(Rs  ծ-z  (nu0 1IhFw(x>swuah1*G@yGm3RW>.8ih}@* i~ 뷠+0j !,J9Fp<-8zȃPHEljdf-8%8 J&4Qq\P̔jR( z vF)*~{' iv.W`SKk[ި~Hvpt8qrCR='Id$A 8, =o uN$~?L=/ Bdm}w^ϗ] H?^7|08~-`5}Z߳>ݎX AP!_V3z:5$yW`* p" g.~>e+3( @:l6z@m,B G}{@ػy;^Pޱ|h_f/z{->"%ZE"*T e1 m(YL9> a&eD"Z$ 9sbT,ƠқDXIJ 8m#PhĤs҃)gMHi6MΚOp59S2DD.K<G1sSTߘ<{@8> ZҕCy$H)y`K5Q8*Hr,hL9@dId.M;Ǔ9T y,EKT0 1h xVDw;1K$xMqOC8c0KpL8 41 c8cqHA]*[KrgO}St"=rQ` +J` YG6CՎ F`0x\l#0K}4M(#ػp (. (ڗX% UR@S^z_hP{Hlj *uYV۞"@,JEho 2v@%Dy>xaK`6DlGú ̠>NS0eNT!8X|7D*K JB`&@4M$@ff40$E N`'Ԍp8KNilkAP]dK@ Cd-RGb¢ڨ|( 2F"-Zp$mr΀`0IJ v\`VlAoZE4_A$g(fC)vfJK/ $Ȁz&8c6eĒHf"Ji$@$jDՠWa@aO'$e6f0D`VX1Zf&RjH0i$rTr{a :# FL0-ÖX%FR96&BM.ܪe T(T"rî/@YP꒡t9D=-isJh)Z-B6bHA"@2J̭ ԭh!&]`ޯBƊI'2-HQ_{FI}`a~Pœ#d 2Ae26|d1bo#`j:),0j`e$̲N%¬Z"d*OC@~r7/(/"(J,bB\Bnb,/N&lC,Sk`IJe(ڠ܈fE$ e!n {Pjb(@*kF iX@z*.v4<"$0,`OL!_X.CF!:"KLbt,8k:X#޶YbaHJ,[$!M6pAdG@,g&Db`)Xx1FV:41B& "XAJ,L$: ۦS/&A'./GP0m}&VEtv6$(&6b^h3cH"Y(.3اE/_G.ҠnU" ܃0܇/Z&8*0KJ.8 2Q?yA8* b`ZaLO@!oFrS`B,(~|^\ Xi+$W!b3Z '4jdV"Ya@<1%$S)e '`j`& nXN1aj> NVgK4gfVX)Y`na$2 RpWh"N9t[t&Y~ &2.*=ln$tv!͆k"X *66 * cb$t)R@&Lę_˄%*L .ͬ."@ 0ܕ  8aK4:9gNJ3+fFX.E|@ ]dD]Jš<.)C"3/cJw!(6lΠ@dlARb@d!ZXAIʟ;x~H`L!7@@%*aa]$f`*p&AֳMȉTy#/JlV@c"XDf)ÖdiI@^7^!lZcYFV' i~Hbֈ "eIghP)Dh,KDYi~GffIeqOa@yfG-.@8m<Ջdp~.@ɜpz`K"M3R(6R(TdHTt"(ZP}igrkb(4'bYP$)C(hsL(JfCT$rj47 ʁ}`D0=ػQCG",Q> 6[pO%-*>lCwuDX)禍Ow XJ-'mD#ub q6Y +|NB(M 9G&EJe׈z-1.HQ&&rHd,@rHړ jGkZ#nJF):.F9qB^s,9P<*V^rDc]bz<$e2/Jjq%*6E#lV(@Q fE]fZG%+9qc;5HԬta@d"t*ci t*hLzC`,n| cdA9Vu"*uڈ-2d7&[E1P"FGB?IHɄT#Jc,B6O([f";6Xȣh*5g$&adu .tA>JaRp@!C6p?&/.h?e$jOjF:mF5Cgfh!ެR;4kA눧LE ` HSau6xjVc°.Ԩ@bN`#xAV4 :Ȟ'zC(/%]$Hbw%AܫW"+CwEB%2!,Ej $l"v:G ~?_@H$/P0 }?ao1@ɜP+BP I?(hH*Nl^׻" @p9y Li]WL Ow`HL@I G=% t?1Yi?A 0 ( ߡ8) db G\YIgeh  i.vQ/ `Jv7A[E NgIxjg  [!K SPAzt1{2|ðhnF`Cz/@ t-`D7Jp p{G|(J`' D@{v- q*`#ɳ( j'` & T &/Jrs2bT=;Ji%3&S02 زG\&,~Æj9e35;#1JhH~ CiF%&b)cb(,ڀGXRI;[M4SU"RE3A}9T}zLpQVRU-cuP@P]M9TGL4s%p$,BUZ[k3y ߷-^H&z`h 1Wz1B-x5i{|@ɀwR1S Sh`zVH{K' nwGOI|r$E&V( Kav焨@(zJQ2DŇsC~<%v tp"+/Xy!2fA S=cl$*׀P6@W!:7`GUx4رT[ @x̫pQa2eZ)XX #M3$0c/|TNRTh PEVyaIgv2n0dP= ?T{0:2ZQk',acz0*z0Έ2~ Q!4jUv/@,O*,r G J⯌Vʭ,@9$vr@gls+C2G2=C` D YρBD>ʅ\H𐸴k#:>g!l,IX,ʡ9j(f?.hH#`o 6v9) GxPJg[7T0Y8$&DCHBghHSe q"&ڀ> (:lV0#:(uLga?P0 G`@ Տ&`#>?罜 ~LNl#B32#Ā4hl u ȏ_` _5I` F]Ku]  /`(v8XQc삁LJx@I#t5Ydla <6C`Hv ] ).%F#׉Z9O]%Ii>שuBe0\(.^q{`FzqPPv zLπwXz * _݈RI]̒~'d*" z5 b r } W. XPle- g,䘒"RbVH YWʩ'mQ8Q + K.N;Gn2zHڐ&U-{\)Z,|I?. ݺ`v$ˀ f0e aBRG&w R'a ,).xy#6MQ&40 `tR懸H tQȒӐ!x4Blpu0 q}uPsXhMbJMtjLGqC"):DaFR|/L i0)haGaؓX(ƨԺCgG8ڶύPnk \RԉP*4] C<צGz8oWD [^aZw1@uү6v2Mpy0 "wg׍}1Tf%*y 4"Rzm͊)yS| qU\?Q4E{",9!Sȹ-0ݎm:H KLh&+P=_pZL"K pp%sT0c:ǀI3PvtiymH0 E p/ :pڣr){ڎM#3jE^,%  8 PMϰunliqbD *ȳݎiXY鈙IO?7ٺ j ;ȱCB! cx_Pp9z=^p ~ '&`7 >`P ~>`3|栚#K {)@zcʜZO+RmK@\  5A1 ] y$^CO@ M|B\/\}4@[gZ =JB=3y? W|Xd5rH9,,2 "t1~@wtf"#;J xh y"gGeǨ3Ag|Qڌzp)WP/Ih @pGFl8 X]j{+>hU0}4Lj: *6-Cok7>p2E{}觎iuy9< @ X0qg0G* ;iX9TQW!YQ-liJ{5V&H$F@y'E<|`e$3HEIh %̲F$?J-#"UG$JVK8!1`To-pf!If>240 FR P8F4ýԲ&6PH=FZ+,,ie&tfRYYdU!-"`L 0 @B48^U>He_/dz?"{ kilrgStB-,$fJUЦhgEq (N/&H[) r<Ú#A*ɖ4 4"7aV*6)QhL/'"S,V",$.{͒=4D8$YCg"Z?S.EDid*KIA(La3UHUYZQA(>f܄#qIj vί+` {0 9"ihn8J;;I+(eITdC;G#D);cr@Bp+#0q190!5Ɛlא p"q4eMl|Pa^)έ&9?<3ENHk&7=u bH}:cD J6Dv4@M)!AhI&dTrqr$czd[ "aF@< 0Q%:*G 2!쀠2$4J8FFTfIr"a`,(D% `a`"#<>D@@Aafأb؀%:~ H+%\>M0`@>e#hDLil? ^ ``l H'bW@ i$:#r2:~T$*bĨI9aD\+9[D." Ƞl$K*D4&E@(Dl@ 3NC,B΍&9D&F!p@b6B* Yd̡DJ6:̏  3rASERlJ $. P@F&$.8l!)q&cBDFh#F$<% Sޢ嶚% ˜UR,-H0 ,0@8Rt6 c$,¼e=" JS*\:K Ćrbp=AQ±D//2NE4Hm*&=h `,}6+ &&> G".F8'%8CB%J&8,ڤB+"l 0-`Zdf*4mjSl°FNj,j TTEBPE2$mg2b@Cʞ"zEPQ"=2D2d*ĥs>]@AYsnxbZ`ƶ!Q%HiJ#c ^CBo^9iN* @%=RYe+Cg^+cFb@ 0(~mZ)ubP&$Bkz2KH\~*RD"Q ̏,J t6.P4L%1 jS!4,V%|+Hrj(), @)lFO K>0`_[42j^M܁CF44sSN&?ps@Vƀ6%@"&c^eZbKD- j5@"Ah_R$ cQ&HEz'ppk$SâczJ ʶ$gqSiT#eXɂ%~' VLP+KujupꠒH0!TZ(.m@FT¸'~C#"BL@SBIӂvbD3M4u$A'u>#'%#؅XEɐN!ũ/ "P,";#w(PgtT8Jvv46-m2|a]l\J7̉}h?b jBB!,%4`'rNTdt<a<a@p@b @L`0:{VBcacrEK(&ax`"%BbsX$:FFB'Bl! ?' >#I`żj6@0fdB!$.@0">AA05ˆ z. (&ʮ(.Z~>R$N}DC4^$Xh„&޼0% Vn&a돮Di)'l)>ȞNr`" ֲ!;cL| UC C;d{8R%<5k5) x s] J~K4A)Aȸp.a!SJf4`,5Qzk]/Q#J"&AHp"ӊVV,c,ʹW؋4$"<-BK<%+IB:gm#m䭶(]mAP#㲥JHJ:&P-%XC:C w-'cV8 (ŶgCLZA0T RuYY@ P.e-X{c^?BB3 ʐ|B * YBb^ p-^XX!R#812xĄ@|j#4ӆxd"h&f> GFd49 Q;ZFf%j$>"lD&e^>O++V6Eme-pZI#)=4;dif@/"b.G^Vʻ*V !dFS\!r`&A$%sq-8Kw~sEFK$8!Cj K"buS$xKWφ.e˜#ee0dD73B,#e)J2%-C(L(i”lH"l=-""""Eak'e-Z_eY䓝j%K؇it$el9c8` >|l k\XB+NGDP>"Ge鯻n&R{m/K4 V'é|V.n'bȧbY3:lZ0ߡaVF>e"Ȏv8!DRCl Ph\E#iK|JuنbavI0$S-_pgxar"\# Bl w @0@/}/v^' '@ xYx(>߀|ϧ@|f4-A@ 0 &>,.[LAH ߏz>_O7 >oK'{1Cy@:DP-u1iT([F`X J Qv ,a¦oMâO Qm0O顔~+)p@' hp 'zFz`|g @2tfyh(' 3 b+Jk*bڀbȾIR&NJ&J0#b*qLW%)+y4`x$fr2xEr",Bh* j6 سN[bPrD4*a7ISB6 $Q9QSK->uy} X8ygzH3EO n[+%%VY #`Ul`!|ei*gCHܓ%uHR 0@L~k_me *g€A)c"l-2vtyM<xZÐnV5f8km|J㽴[uy  ،zCd'g95zp{jzgy/ Zҭ Ll:Y"ǐRЬOkN< mFja56qzܟ cwjf)JLnG0ӧ ]d* j͈* G|)<kd@^vj\{B]YnIs /'ʚ$ffPm*ڶn[Y:`PD 6ÖXY^%A9+íPcRLcJ1נw3^Rq(rWbn LQ/$֏⺊3'QZ0kا^)qb&(b:#exhV‡]$oJ+RzP?b4\S[eXGU.`µ{V&gb v?` ɻ2{5Ćc8TYC%L}2~2!#K/E"== ]<<:+섩-b=PFH`r)9lA~ Ő@g' >nr\g]^D:4m]+61`Պ,3*Vl`!Ia^ccdghywx (`d 0"*{@N co O( P !;s[EY6Uװ0&|'3雬~>Pp hq|5aT^\f%u& @d!4@$}ǣ*莀^NZ'v@ᄠ9vh4Ҁ u@ pqku793[^y/-rs*Ƀit5rJqkLBQ?: XqJDz&)- LCiGC?)4 A>CA H h+ɶД0 h Z uhvX|A7#y "]Le^](౒р |"38k+{:+9쉈'Xs0s j-9K-RH Ka}(Ӌtapú3nb EZ!4@Ki< a6QA4D8(u0 =!9ڨ zpw@uڋݐѭz?yY ݪ\T$R! !x ظQ l g),. \0 >=T]߀$<ȸt':Up!? )! `) zK?]3"`=t&H܌X DeP J 6Zv'tهȕ !y}H 0 }xl 3R Ay8 f$*ڑطYl?& A"/!YM34R: B5?!b_ Q$(zLN `#m;(Lލ,# F;idX$ c?N;e33HʺՇ{P8 C& HY5\ Ιb͏!ZAB 3_#9mZkSߡlH嫯0mtCIX.pFApvZ;0ΑiJz>IC{@0# &@muX(p&az8eX;>IѠxBx#ayP#⬏ F (%8JQK`'ހV9?Hypuրh_hgthv yazj[n0z_l A숽Hz_k XPyQAP 5\'x2s!#90bo tP(yC0p0F >0qXu /lZ‡xr5 z57&{ől mdQ2Ixڃ> $y0sx# i$)&!Z>(qxv^bH^PJ&1 rc#1Gh ( 98:XHR"ڨF `W4;#8_c%$MeIr1hIb6TESµX hqU7Kg@:6=԰ _"a0q"! 66Fgk 4ـnn>F%f`glَ K#5K%^9I֫3I g.ء#(b UR g#  Hw;XY kvCp `˯rd9 a]:ÐoV_vBzrXPźchg9D @Drobl axQ끌C̺PtJ7HYfZd){߇xݫ| %yb28-dTZ)1ȩHzٕs%(@xQ2Iʼn^A I  F_)C[xy7  Spv x͘ ׁ(5 c`mcU`){{"9OB,9 ' iäHzm0 Ļ.pw GZ7 QI Q+A||o`?b@`7y~?h ~ȞW>@P0. |=j`p [1jm`㔚UGQx>/pD$ og@ }0/9{0wޠ R'S3 A[#O?JB11#h;JpKz>_YX Ӧ7g$@d_U7$ @$ şpnL Gȑu*phΚʢiJ8 ~σ<..( (~@. HazM*z͊7@(xz*g۲{x+f@h)8e,4纂1.yNq G>:iT' .IHg9{LHBG) G}@4tM<{CKĨ(D`2&'1ʬ{]hܧnYlRG|z4 89C3qw"|w%fxO`4'!RdGK+YKX  CLP`|~bHq0l xf$ʩP.3P1l0 8|Idi4@Ҫ0 gn';/Ud1,SP߁ LИ)xwG$ g1} . 'BAr7GS9kq⺦Nj @窣:mb'i8gi h({'kws *~#-Sڴjl~ pX&c%S*HIf됢&dHI!}4#*I'W7譻dL"(<dPO^&ǰ&950 pqh@dwa;ԩ=Mh% f0lj{{! dCAJ~@1Z q5FOo&jMC6p8KqiP (1+b?B&Bm!KlAMMIF (NVʉ j;\cb>ZXfuI3A`NBH02.HXe**Mr}+eIfEFR bJ5D'#*G<hÌ=HK\#2:EI"͒g35<2H<XT0GxF1B@ 0x=$bX'\En|iF+,]SiKQTS YCԙ]1CMN C&fHij{'e/X}I4ICg qIz &x̎T|ӂe K&Iz#Q2@#aOe&lȍÊ$T{AȡiRcG#*BYOqD|{3>Kd]zΙY7$k D!IַFS͕xn0NȰdHZ%wZ41eD#.eS)@4To\ @c + @;|3Il#Wd }^CY( *Y8M-Xj_jy`JWޕv3|$/qn3͑Cz@V dM"8C ,> f`vU)Zx;p("‚>Z%iKrC`, -+gmOI=S2ʰ`,71uu`x:2_xuy[Ɛ|6Zg,xC:^f-\uA:GNB/QzmS $&.,\"< _Ti<dި#` CgpÐJ\&l$C\&9Dœ?z$C!hK+"Z+"$&5cpg pT$g22@!%Ơ HBd6#BEf+jKPdKd>ʋDDܡhĖwClG"h !#&AȚdж&G !?Ⱥ4#' $PJHd#Xqdz X'vB@<$fD6ihM.!En#4*=B@zAva#"qq P!57MCDchw,9ЕbB#,;ɹB4Jj|+$2dΣUD"fJ!"" 5`kd5ctLH ,78Bԗg .Aq7B*Bd=Q,!F7$,~CR bxq 'z,p Qbn=r\ԃV6ڢip 2`"e 4 pL!@ A w7 B$Kŗ*h& >U($>PM>"A97 d5!F"MR$7<A#O-"d.F54龀D,R¨kg I*HZC$P-L4 B?δG(<5T#K\k(cY+piL@ hB: BTAt$m.d!(2 0"E-T4Naܙ&i;f4mH2:t,&svA4x)((N9W'MeF6&9@/S\n.> ֠Xm&(w"(YP(87ؖ!SJgf@FE Hjri/$45b2h<H(('TdԂ "mb'2$L"D,B51OɊ-H-m T,H8ý+ 8N"-I0J?p//. *A`Ef$(kM*S$2})",ɒV F.G3F! =f#91)780d6|D># Rhi9Ð4X8a!ܑ,jQ 8j!3aܭi@cm%8"58>(fB+%>i$2cJ5/@!'5~q#"ګ^;{h*72@H0:=z7@DP@ia@XTd+h/` E!䧼ڄ"cJ3>@"$J`$!FP2vG.9D!m`B~92TR`8@ 0@K$!^:*L\+O2x;j`A:7G&5H'O"x#HŽ*b@2 QȜ*0. "B`(o(@.>(>vPa#`&B*`nckR-1Sq8aeh##p0*x&Cib"B04 b}?@ 0 `P 3?Pr3?p,/9nϗ3Ѐc"#B \+{ְ@j.h/1?jJGKLj?`5W?D+caR:%+p  e]r8/O'!(A@S@ǫ> ? ~X&:0Ii!K}rYвXg'ꎭa F|$n <( B }& RQ&%m"-kZڼa{a0j̧ΎBђsD24Rb!`@@|`!-zYH&~ %s4ML 4ά8|l@ $~!EM/+2Vh}9tT.Q#$ Ϡ ⊅.0 J@ GUUrzgR~`XW6g B:ʄ|)@#X" * X8|Ǣ g'NNfYzGYt({UrXJ:ΓH/,R1-d|}`&q{'˚@۫.eR#[-8v;<ߖ0uXy JMKQ;RS9 \ :-h`(i\,STwp ]*v}|~G霾byI){"sDgof{/Gs#.izFȕςasQxŕT?g @1ٝ]@;,aY錊"FMPqv:=ς~Rg%syGLzaX[+x'Gv `XC@a;74VԔ[2@k`2#`D ?{h0BF?sKsPsRu-R_aa ɔ-x,n_ AHɅRx( hvJ79p@ Pbp cqq<$N8<H9i",!=-$Q|Տtm5PLqe!cy5G{0l$@0 aܬ!<`]ٱ @[`$QK&ðtr?D Tl?`tn`,,NAY$Gxd ^ &=#'N!w$IĀe5G/;hEd`zKPs#x~aI(mc͊QR(1i2R>jk! :rjMPR]ŦN`'0#BT%e@<Ǩ'Pr ?" #l}NJ&E̢R m)*P,ƈ~;`0dv_@A+źHIC \dLmRM2 gc܄B+Ĝ, Y'B0QD\4˱U0f=!KO-TJDF+r Pre=4 BP/yfʴ, 7LS *F.S68GRaZ&8fRI`'|0EYFY﹌ɬQKU$̰C5br!]@BI^A<p nQ=CfQ@GtIA,8FQN:-4Q$ %YDD|LzOjPKԁI}WV;+ `ՂE^9eɌd/]W Y:;NscP7@!2KA3VZhC k,Q$ uojhmbNvq+vûQyLC$XCx_~!cI|RKlIݟV>CAò8ߵۧ+0A{p N4J ̈q jۘ*x뇲>Su  '+πpoo 鼇a)k: ${4{Ȫ~h  yQhy;}C ; A} @!ڶ;Q p+ُ'y b'@㗇zX~h{ BAt !z"@‹BC$R)Ƈ^ J9.\{Io Z |*S5 8h™ $Tzk Cza8t tXs`ua$b pu&~X QF*z'|Ci$)%x" HB:hY0z I(xnpA)};/:X Pqզx6[im a; [y{P Ywu0 PxJc*y`gox(F燲ja bzj s(H cƀz*A$8vjt}PQdJR>KOc`u.r%  ٠ iz (1Ƶ<(HhrHu<:8Ew{$豿k ZT󍰲 ((@ XH0ۊ/$I (  ՈAHՎ`2񑘗MA%&  P`sRʹHXK - `}QQa#Aj KMt P!!H(T@thw2{DԶ (|y;0nwDK!dN ЪK*uC a .5R{3 s Հ ũ $DmSP%x#QM E t-x wX1}uZ²ᆐ*d'CPCc'+# pxw"};(ţ`411xӀ\-iZ0W~ʅ03QFR.{p3##p0ypw&+-Fp$ב:!#0tC</kw h2 A"A Uقz pX2j ܈+SsxjHs)%>R1  ^]i: (Iĭ׎%X]!^W룈Q(zA_UΉleXH`vs8s_sr@'>Ol}@}`@PH(Cw ]s@p@TV_' iv:@' {_* z@Pq@Z^| ]_xx<X(4zD`@#yޏ}C 7} E~`ލ7W8خe<]#~|>w(x6K,P,` $hԻ @ `4򑟊1z!P, uaX0 h{y`چ~ L! >'LˌI/(Q xOl` :~0b»(?~4k9maZgqACN\@x"gY IצO SɲgVwǑzz +ztz-Z 1ޣ0g T,Xի' 0 s/ua:gz Y: |9 @굙ဈgˮ~:w IyF.!HD`2j&$K;<1 9ۖVB81*@r~+.?x ``:IuB,s${g9д3yS)R5TFDT*FX 8@jO  .Ѐΰ%I2", e"gqZ &!Rwl^V0"NԀ.P*N%:z*p Y@T1NEɼ9͔0|@X ] AlU@SgoL.RRmJyq;:PRFLEʉN'EyWhOti9  A.!8Qy;垸C@P "% @KSm?: DCͤcy!$Ђi;ûM!U^Rii<(ȸ+HfILti>m}c:! N楮yi:NV/0']%@10ϔ"? R! Ģ>q"&p?P2C p` H#BQe7z!@` 2gz|_A'J1&@JPӤrhw` 6RP " j xEQNF.M0DJE]L0('`jl3P;x {GY D2='6!B`P;'2ybDjbq?,V i `/FfR*(<:+c @ :i%T ځ90c@8F|k!$GV%Dp"G Zj>|1'V?¡"WP糜`PuRNx2sHe/ %#f[+}ץ̫8N?"|_VH쓀VXP+PrE#Ev5H06z|@Cȩ:ڀcGkbIGmMQUsdZ9`qI1 |$ofg`(Q1QOPee<*?{ ى \b1@;"pc=3 !LTGS#*X>`qA1"쁎C.d q>,I¦0}<ǨeȱrwH u  :G['=t|FpJ%Hrvp,y+l2 oc2x9@3u \mxpjK<4'VLa$m@=g),h1(,d!bJ<,hoz>Q9$i*{EM6m3#ޕ8@pqL b׃Eh.bps@ |P*;]"+jm|C ~q~Eto"S#"fOBXH,D?i8bdD&jBnb5"ĕ"H0>I ׃c#; B"4g "T|b\bt'bpob''@ i.avả`@&R@#C%deW L1&v"gDPitf %8Dv_1fJGggjHt`l#F(J-&*U!|ϦeäҭÄ@̪!ZF 帠#LjS v e(CRz#5dN|Bd"Pv<5ĚHxf2@!`"`䈉Ν#a@(Y&x1#iL?cڰFv#HRZgr8B?&@"Fl"=*|knj /BN(5ikZ_ȔtN!P\F:fĥ W$*|xtnv bfv@:h58~qCCXfBn"nd bE|BP%`.c)$IN 𞏋18#cWZpj09Cڧx8* Hx#xH Pưn*ŨB|obԢ2S6QZj=֏ %?9#$Dz(*4˔)4@AbPW$kz4H'G3!: C&0rqj:W 'Ru:pb8&'jtLx P0^cB`T.ZC;7P!*opNmRD&03p-q&da䱢ְb . #$3u&tgIJj6j!#W+*gD-j£BпcqjPvu"blBr @l05hfاt젌B(!%B:0&P&JV1 "T"*!xa >Qb4#9tlbć,on0cͤ@d>.j=,ƀhR!\.c# >?L_Dt"*B?o>@!d`&&ePzip|~3: zˬL8lNe0aA "8"0D!F /LJOzͰ=[c5I@5T0]c&cVXfZ= w0? ϥ9?DAҋ`2\FRc.LBd?DK6(Wr8 I0gsQZ0g 40e$ƩPB:A&~C "Iq(Ɲ@Ŕ8NTL@q'F- f3j}-Y8i69 -$ :SQ +9p>^h3dZCʘ$<% |BDjM@(Re.87""c#h$zbhy(7e Pfk TN-jEN9o2(D(g ~Ohb/74B="C6;pAX*>Hb:A#g:&B?f3dAKp,H [r^YD!,!.Iy 6bBce@V:5AC~8]c##@4'ȡegd"n YB9&A']oJ6t@fĮ'oްQOjB'9"?xZP#9l[3cIBX.ªGakuCU/r'"?k[\_N"b)LYI9 }8E}g:+g#%RB2RDTNW"c#D9T <aiAr(H#!A/#yL%.:vBtr>I=Z@ͪ<6b7!3m&AZ'U w3Bt2'SSDO L',[7h(7q>+C".:T&'҄B$[.a`[m@DcfvI@j@!xӧl`>7^A!hBBE`]spڱCYBO2@˲O(\r"IBX(;bĿ+6c bf0$'`z-ʊQ%Hф5$$\-h6tbƚb׮ >W I]"dAJCdpÄr4fVN5":]&q `5d@:9vdX n;=Ztjx9=nd=$``\I'wf?gAs.'C #+,.5o 0`#F6GA'үo0 (j!+ϫ|\xCDU:hf:S`G` @+/,A  ^hC&_~ߏK@D @OWwA `~w8_/wyEPSiJ|SeА ~@(v7(!&} w;|J{R7|^V[ZHk6 Nmq`@.Kw]7m݅@8zNp$ co@`h7l |@{i"&)gyq$([3G}b$-фBj NX %&q::6)} $  P}gy622o (25n0 }O}gHh)6ʡ8("nFr? k ȓ;2|gꂽ 1E1J~8-y͠-Jl}4 ܌%{~uu2':@} U6i M#H (D+1H, Y (q,z#Cl'B1z(مJwfo$5 `NhVJHK}l*GlPg;2o-[P[FdB"~!CT}-HEzǗa1- ,uԷ5 D\ҏ Ƭ?_q/nk_/1(Ҟz'7uzvr_d)%.Tƭ@ BhqUp- WY\+*uI^R]@o .j2q Q-J{g?Ѧo1wfd2 1!e,nPA!ZGf-M$Q!+DXLRX] .qPHΩ]\'HYp( Q&"~R؀ӟ)}Wc B6Y}"RDz͒$g`R,fB!yTÚ! eޕ^_N"\ 6/RXKr%FJ`h%gj^}#`SJo/djT8Y2(ؚ$~|W*/tVb "xY`YN (@P Hdy<)NKkգdA($ H+hH/i|R 8o|)XLxt{`cPdjd=IC TRR\+g%8C/ 23@1 &>8"d(a.è4S$ ˉHv2p=",+~Э”P3.U(ƔKT`&b S;ɬاY$h$Éi4ehR5T]~D <<ُF~qS$ʱaN^+ ;ҙ$$&!CUih"Pp#{Pp0DgQɉ3[ #$@( cޡ$c /, ՜GNF,SPbe!!BN5 J!9<Z 5O, X*CVSFt rZ)4Bj)?*Mȡ%]KPߋz)ku? %3@5B>Jr8p$p!d(SRr?.zFI8 B[GNYaᗊCz"hJ@tq#r` D`p?湞 'x1u3VaPH +]q)T )Bw&bČKci:KTi?JJN;e)t`[RF6PyسxiWعzP+l p{I èpx9P{PIE$̋"dz"x Hiks`X{ 9Zi\py P1*#|0tr`覘p P A9hzXx /K萰y|3( M1 c{P}=| CQMJYb80{vp8@B;B!qIQW$b!9 9&=ȶRI@^ARdC1`tÌqvlٍ؋3] ةM6@Kڮ֤riYR;¿q!HX@Ji߱3!cd:X d a&԰㍉Y%*5;)yD~ l͏[ˮ Q@Ry*[H9$a%ȿ:sn(, sS!& ijUӭ3=qW9,)QX!U!) L|xi#+9 $Z٥ y,H!W}A'Q Ev(:QyJt6=Ukɓ ZM[\x,8Y?;r`?++:=hLis]+ ы'D@=sK=8vThu9R-w8ъ34vwx`wx,r-^ȅȦ)L``4v(bK I YՀ萡敛 pT Eu"ſQ+ ĤhB i~!٧^m/u# hM,Rƨ/ƀY[날" ifxpq@bz + TT=Ϩ#  Vy`[q JĜŚ01d,Ja A1Falr@*Y0H 3H4ު讃P(uC$91( Fp!V Yt D6bh:0vRN!O zI;lxH(f FihՇ@,1 kpC 3 Y#230u!{j d  $hHhx ڍ-kjD;a#^99D 4X I (=;18_1ՑHݸ+]zApJoNd5C \${pB<0PzЅێU3 L DQkڦeeS1ۨpGbVWkˣ$.:WHk \+!Sq- ^<!kK[0]KC8L /lXFC-p23]i_u!iAZb6dt؈hnD[Sq/C[5`#DU$hѣ*J;:(;=Ч( F!?*M&j>Lъ,GPpm O: Þ]K$ݔG/ /E@ xxvo!`twyjMD5ns xr)X&T #ƘHDx x!zXxt\d*а-p/yuJHP t釈 33\(U=`Ney8V LPy+M07 ``" "P܋炨q- ~II;uSH̦ Z+)5Y9+ d%'ؤC ;;&W/8 ~@~Ba@ }߯ p@ D~NGh2!@V}=^T@ksc008?y">7s>/g}_a \.tOwŜ ~0%AH&{9`D";ϷzBWdDcЀT ;=`.25Ƨ'YPq x#$@ ]|FխJv;J|H(`P  (sB!^ 1|a'YyـnQwAL}p\j+x"@$ ͨ vK{`X.g.$M |is1 (|iH@>(|@yg r|雎8nMG8}+DGr*q1ɛۢ`6F@58~Vj ;{?`4z'{ ́0@ ҫbgQXG@~[G}=,x$R|hu8" \PQQ p"pefƧU7b8 9G!Lبz=2R@<!MVC_qaֆXHpc4~6+N Ӥ[ qu"x2Oֳ!OR8FHatfay5\rDQ!丼LQvE!:r\Փ 7vEC"\S9YuUldmkZ'Jk Dn)$bh$B0 BH|eґZI1Ď>emW8I@0&J@Cwָ`#`\;Ǩ{UP 2ƈ<kinBz\;"#pBw݁oQtnArl" c ,6&` I MCzw4NϠ%Q8 (:j}Fp PCJ" uPH R U&9=ИNKf("g5K0-Jx]n> Q!Thìz$G p B8Q'+e@Ε);tONkI >O=`EՁܭK|P!SSHPyp;AD}>;A/a0 v8,$ R؊TrV[ȅ$uČ03"v I Wn"_Y(-"3rJ. tޭO: `'nX+ P7`(IEDjZD Zk;xvvW7Dl6K!3rw{akqgNXd)g`)rb5ĻIk{Y9LK)\ YH7VbKr~z^CAU=h^[lf\'J(35gUTS^ S,HKV}=c͐@\LĐ.hl, 鍴Sn2G)y@4loBWth!,}bHQ77Ԧ3al>m@* &bBd/"T!g$ n.:("=# sbN=:/D\5WS0hh5ĊlTm/E B2 Ð$[FbD'†kp6krW%d&a!shJK(.鞀dc>&H&A@:6@D@&H!@0967bx&! "#E@Ł 7a!AP\ gJhboJ8%\F[b=>A⿣)P2iN&A(&"; \&l`$30$_%`&!@,8p!DLh &h!zJs87#Gj޺ G[Fbn̦gV6p,SBcRzQ.^GC#d:NF:@H0'HnA 渴E8M'<dK!柤 F"g(?PK.`Wr'C;e9Py"TT&.! G&pE;;C:nVa!0ډ28(Ht C.Ab  $sI:$a9.nS,H<].$DV(U앢8j] _/d?A A#䟩hڲLL&.q&K+!P2E6$\( \=&xKlRmL"%ŖzR&z#2&b,2"Hآ 3! A@ @ !QDJ;C#r6,#x"6a>in SJG-o/C*"G#("NUj@z1_@(M%<"7Q[  0B\Q22ܹAAQd5dr Ҙe, px !;&tdƂ:h G".p(b"fh'r#2#(d/@:ŲGjvvlj,6Dl/Ji0T"/eb #gfPP#"tj@b|Gʦ"5+b!3 @$X& [@2*$͕$ =NS k"j8mp]z!O>o>vi\v>UЂr:.fv#h*W42/vF2-@Q%7x8ԁR~hOS:b<5,mb(S{le5'AQ*+G>5[ ZD~6B2A֍禊utY+6 6[YUMAAd#P9fYYubVg2A*сd,p0;f\H mP,!^$p%B;7L4FVvd?Ah#s%p2!@;#oI@J$;s1"-kN,N9l烙$S(pVvDNAR(1-b 0IeN ^V .ҬFJq..P@Hn3`2\E, B+Rʪ%&%aMZQJToVv$5kǂIbyx@daƚ"\vƏr o.abFEFZxzVZy3VA֩ ~s&j,B [TRM%=+ߐ/X]Tq@ EPLo T%ARIz6&Bp3s݂eaD T|$­R~.CXK@FB+R!$p+@(3' Ddn07ɔ!ُB*`4.Q&mLGFfpuHM g P2B.RhK>#QEcJ_/\N2l(Fo5@`B#`&"<>A ` pYU$|2:$Xl[#0.|' D(s^cDSٓT!@ANt'\jhWtJ2qq2"ϴ9#"Ū0.|V|"zWsJ7Jc Vb21ÔĊnYMW6ut,&lufFC ŜJI81"6yG8Y8J:Ke;siYSà'v.RFԄ.kʳHeD,B$Y%\lB=>Mn:4MbYHëdW#~,D,Vקd=G76peϊԗҩbSb>^}pb'VG 3p=Np*#ƄUBZxVN.*$Ob[I DNtmq_reQ\v^"y\X&RǮYs*;&}ªǮ{b}DȢ%~'$IhVн֚dM8 [ J[AΎs~I>RjS%$66vPk~z6vl;Kop5g%K.肆a +(p!c\k$ڎ`e-jGdn ]GrhOaՈ.X3 klLߝmuk%sҤ ȑHM7G~B&x<w~p .@_;* #aU>_ @ }>WEe|:(gZ w5~_o@w{>'$$(.7,+HNTQ>YC Ѐ( 0ê'JIz|KZR5n⴪@F2Z9-}1S1LP0S jH3@$ qgN =snLtOkάė!N  CP;LRH|:hC@ApRXTn5TyȀs0`M^ g"9,:{Xa.=,Y @-^Ǥ@`YǓ(.xtz {I'|MX]Mk3 1{N'Ԡ5g:|y\yB0H /x"u}gzC ,*u!쐃~7HМkFGYU'ŀ`@){p 0P+#I$hLkOό*m :`$4ڬ:`4ELH՟}Di'L۰cKGyHQ(hwJ} 8NjA';P!D'4]a@|d> E!J@6G%f @_֦JlH%圔aF3cQ8 F9Z ~°@ c F8òGtb9xvA;&8}' !08"Z#P LSrj0y Q); pB06*5xGP #eE~+3cމM <cF;'PQ?"gh3|̐ۏV"}g(h[$zpMc)'*-<2p5%Y% X܎ZIPY?SNǐ~q {4ș*2U03N~X(_>.GaX{w@dy` OJuun"C(u=ExK2%rR,YFEwrTJe4D("M1Y<`Fiۃ; >a{ D$6=h!M#vH >U{W,r#U_]Do(?fQ*!4Qf5ϱhViSVHr}VZZ'D~C=h\cz" P1@\ 6ppy"1 `"9T#tv&@` l&k opLm X0Fl ` Z(܀n?T`R&hv>=$:Df{1’Շ-#ÅKV{_&xds0 }%S-Un#_I@h{K`}=xWѰA<jn ;Pj埤dZ͓t< V >Y)FW~#T2&~[h{4HS378 ~CLRT{r@@80U5*THGdiFydI@BzrL $Λ0 @uGn @ /4 %4#u)2iY~@;H'0F8ÞÌtya8 w Rf ߒ HjmLQ~PvȌ"u _߹ w  *  ꇰ7G/4Prz zBе}, p(q~k"(tP 6(:p!u 1z&bQIz oRU!P+]'zD-yٿ_ Pq:#y0r*ɂ /(~90H̀|| @v' (<ٟy1 q5 "Bc&X 2H!rWk6py-3"؆mЁ{3܉?a\f v2)߇ꞲwDJ8Ǒ؛ p0s4pp %w"`jpt(sƀPI/,T@ીq[js0 h9x8w0)HS P}醀Y k;!(wqđR&* .q@赖bH {Qm{>@;`xy2`zȎ@Q?Y90t-8, U)ْ@@pq< ހR~6,8}Sh=`, KTюT`4Leѻ*9M$$!26h839[6z )+u}x**Sh`ث0Kpڊx@c:=!,h!/HՏ0:c̏ {mBB CmHwq#2,J:ߙLM6jRp~8@!S0FגKCG T |(p~ `ëƶAh .DeZzAYj˒ ǘ $"p.y c_"u Y)42 z"Y (ssA|40 . 4*t aǠPxuN#or0pq? 0Ca)-Iؤ 2 <[ͪ>U)YF` JYd:sA|Keqx8L#}2NFHvHu.bjeCقiEƓYH#Y6"uU? R _0|)\ LD" r>E!^ χp#yeڇ/+ Iu | BhDr8 BA,;X[%' u`w J$&$DIRR"I y:0p;}:8ՐMTj$(JC Li% LWDc|7:HD::ѿ%| ͌TT)KIg*xi jy5#_@ßsHZQ.So9CšwF'ȇY_ MO M 3% >=_>4veЀ(pv 0 YH8 r%]b<,ϸ|!,pxՐ\kCy pxx߇ixLdh`+#R mPCah2DȀ*͸ =Jq >7q͸۰&9J%*!&yX%?X0پTbx^ijۨqp)3hbr؊gҝC%(õiƬ/)w9Y:@sq6q* ԸeHNk5Z3"D^!F-|4Gs( 8a(b  <YܹHX#"8ۮ9F5Q: f m}RSصKƋ>a Jb9"Y] Uq2:0hK] h mybvB9Cy(J3$C̴} H7 v@v¯XЎy&!ݘ X ͜)]?hs@yhyn@Y ͭSoh|kz} iSiɜH'~nL%F~j9Y,bZ͋@I{0wE 2>x0{ЋU< ӅLb C'u.x4 f9md nȦH,tHt@(pv#0a*Q'pyُ*腽<F{ֈ pP}>_(~@ ~?Q {_?8{_o OY( Bo{G :T_+@P8 L>,P0+>b/ؘ:T'JwH0~j4.P}?_5AГ [0'YTe5l+1ɱ/x TDt`VGl_k> |Y!yz-,%\\^\e{( *x&zB o'|b&TڟLj<q֒%XմgF@D|ǟr >*,R >\^*g)RB{/,3 )"P=LJ! -$#"n~'uK"Fҟ?`C6v 0!g:irGQlG$P8'Rrpu97-ͬ|:sPM;7%Ѫ$ SG/-܃PVo3etg!< }`!k*>N)Ҟ!кI @D5!׽'{B !4"@G nG&  'xly`* *Ծ|Gyg xV+[s*T`x uҢRӰ(Ze/ 'Ý+1sGH)wP!))DةPH͸Mv: M,.&ඹΟ☈N)K+FDG"* 0$-KK2NJuB+=Eo` sx<8EqL"'xML#k"$@7$mS=jSIA>i|*L){a@8 8@h P :GP0`p6@ACb a917%WFf Q<ddU_ Ƥ"O &'G1" IZtUX6<`lqd7'@>J@ |s{g{{1V!̍0/9(> e ObFܲ2=>텣 L6r" ZV#!4)1Pa/tZq0- LlCG#rSO*&C!g' !X5?*́`v8TC)0m pv!I!%DrN4i5%DGMBFQҜE`i%,H䂟V$Eu^w ["Ⱥ=0$EeBz7F/NE@L >+`,`PCCsiG@$Yy:<^c>im(+!-`I+m[(CNW@07APvH hQ G&Bx s/M<Bt]Z4+)k&2.%~GP)ȝ"dpGdD(7oqR0%K%8HP>rɸ !uB8+}BTOnبWѯ9ҭӊI\ p@$G5D@T(CE+$Te)g5Z3S iv>]"a(S) FD7Ml=+1;6-_rg2ͧP:CUMR-}fpBGVsxV5f敨 jg%My,ťGdATG:- ~HrnUK꯾dֽd,ә& K"-(No 9(x$=VD]/V:lCJ԰P]bpVJ[NZC :'{caN9+ Fr)W{ҶGhQ G:&P FH'¢xI 'cܗ>+@Ybʆ7Id#f i 1MH8Edp&R @q< ' \fG0m@R@(R>L˫Qh;*{F`c;N_9&abYtVA@p vW ̆*- 89yx OZd)8eLY'x >,t /!6){З'Me%^k!(G6Bۃj$,b0fELD.NbK邓UCd샀*VpJ6k$pV F{d%$X%=^1|:D^M˖]pb#V DC\J*%B5J"""'BbގC ` ^@ *".d-GbxPAA"&&nVk mB9Į8^gU@$pV@j(!v9gAi &B&JoBi02 UIA[l.*+.k)BlD|)Bja&CxHX$4Pb)B)*3&WmΎlLl;&Zzmh'Mir>$*J  A&cb ^`,Q#HW[O-@. #C2UO ,VN%B2I"* ☬ĆDK6+ "Aj+ L/(z*Nl`"p`vhz(ff(Z2BB.@N@Faf,"T20<0/ JE!"bo$jhFNӄs_$@.RAEr!،vIub`b$"f4DhXE#$j*8o.'$XQ$ho VMK,QSNDŽ`4"@ 2bc*.+~"LlzPlHJ9)Vof`,` 7R%BHVh0P=*rkԇ$oT%>#юc$'8E"E.Eh4BzCXX*XSAo::Bjq p&lR/Xo &ZaujĈᄾOd6[ N82: [C)hhF`I4 x`!&1#`R %ľ+WCeBX6>.:Ď `m "+B2>KT@lT)80Em DP/WcpςP#˂-*ߨ** F|25Jj7L#UHGJ%ߤhά^vB)B!obHVCB4&$W4D-'f(*a a#!a҃R+b*.@@ ,j`$# N "c.!@.)f`!×kf5P!#,+T`2]ӌ^/43@H2  S<+HqKª!fld`&bH2'J`)reT w&PiǢ"oz02,E$NW"DT5ck(8 "DP'©mK,l=bcb/tH}1DX,jxAoTlXHdC~*~9P2=,I 4jE& c5~ 27en%;A BHȠQr`"B6[/R `2m`L@H 6Ak0bP.#|Wc2 "WyAwo :@n 6rPA hA(m!P@D@dJiE2f3J<4;sBl,A%jΠc@@C&J!dd$|85' Eo\0I1A(gP|UFB\}@ 4Shj01C9eC$`6 7 .\*p9 8)6 עa @`"L0rA$RI$P`,t4d-CNV *`αt N`#-fn_X@Yg*' rEH2N9(v"%T[fy 3T)\S"jk>* U;0uDD J#XB+%9Bu\.fJx\{pڗ0GUw Ĉ5-g>225KpDC54[1b>%c)ꮧP$Ђ02>Ħ,1Xw"GB+,"P<'D$$tr@`$d&9îAkJ>!>X mH[K@r4™f\@?ϯBgs1%\p"@-eDS2)aFN/!'"!{BjGͨƜVKj![~U" FK#XX"*"`,/ua_f 4#x|R)[Jh+*A0* *bA'=4wjC$CTT3b=I"u`ĻJ{"gK%AעIB))`o&<u"tԝ݂F0*,.4HWB,MXc 5V9Mh$|lI^)>{#V7b,{tJ&4#NTS6x4dQW,}X h0>^;~?K(u:7 X?@0ol%w`X(.?aB 0ތ|Bg*-?/_ LWyH`p7Y;y=WB.v] @&,XlU-@_iԟyp}?_}( z<`ˬy0(.`T=?_  Np }LC늊>3iwvpk$~ ,2P0}Ar ǪĴLdݟhs|>@#B~6Ѐ3``@)x bptP D1-RH 3;-@)s8}{r\®( }4#ư-3DR|G,,G+Q3v~Jp,y}Ǵ0|Q| $0`bڑ%­!|`0ˈ}v@|Ȉ-*z͐L%M;*[C5`<*~wрr @bdMkd0 7UFxOkOPӀt.5u-)}0ԟoLJ)f01ZN434dZadͤ"x`= DіhՋt컲XFt>P RrXh-EAj\ɻEp@X<c~աm%`1d1bͭԿ K)Ab*`<o=Hf5$H4ҕ3`f&<>$L!8 i_b,D4\ z'w#/aG_.R5h(cR"GJ [ܒxE vI tOOdlA5{1}'0f x/x;Ⱥ h{P-El)<ǘ&#;).iK4H ->XӪ{jwF?c= A/u $b+K(GSh- وh!ŕBNqu"B_ mm|;,&{P'G&pĔå` 8P t8P74D::_IuqıGPwW2K,E/bQ@1*l=(=J`"mP$!,BPxaNq;!ca ?@x]PB ن2Y +5+&[c>0p4h r$~4P[24RGfs{(V (@M}.9̯l4JXzSR[ w2,&l51V$.q6g2Ҽ*mxIIyh&X!ymx(Ll[ޫ{v)h5&SSZC7QCU$@<rЀ ta<y=GAd,:{Dx}I/UҀ  [TI Sxx'FCQ=pGK/e:罃Cp.ޞctpxx q;bl3LU;aC\|"5l9xLSyOPSu]Z5`=k/Zkh\ߒAX/Mىu9jdԠ1ւ N%7={y=K'16fՈ(r$<ǢA^ a|вDe*%p-悵C5u\?Mrж1?hˉA P }ա `C%ڊ+"Ҋŝa=3ʟҎУ?q<[-)"?ֿЎ){bȠ$ ;:2,q=˅ 5, q1ۇp"R9q xê6րTL Pа>3F W֊xܩAà ZMAb,% {t:k8 |v}'`~P pz6t(s"4@ [+hsH- p1 4>%z=AI~A *X|y"DܶK "B҈K` )19"A ( Q$( 8˶7X ( 12i؏W =CʀXq! 1ُ$/Bҗ-X,0u4b0q<.|S)`ʣ`# }Iѡ y\`E{L:#+Jȟ!RJ@Tt&Lq &!-p!3ڀ)x(5xc9R3iq > H( jD.СdP}5:3ʢTL`whx!`@ۣY9E ôƒ9cSe(y8"@} W ߼*O!) "Ǒ(4`5>~A,%T>яp #jti ` և~ R#a a9{P ȇx@zb*[Oq+@թq~!y-OK x.J`;S! Y8 @9PzD8 0hzPt.͐@ R~"`凌yˢh ֈyS=Qţ@%.@ KY@d(99fK -ԭH}@|Rzxt8rՈxrOv؈ . {@|8S_;Ci  S|;HȪAѵYO0=<sZl< t̠2)@O3Ҩ볌(  5AP-+Il/ R %5Z~%Y|++tI2pDy%1 %!額0jD(97 AA"P=`ܹÃ񣕴T b8$\%02iN "I#<ٖ-$0q\43FYm ЊI X60Ȗ Q · J9a1̊X3YOn Kf YyTF+{58Hv5đQ-ѺzZ! Șr`Y *Ұ ("13:̏ hrIE 8z-u0hx0q8 1`hrXtbK2Ī!%$1 -)1N ~A"Ub6xk6E-Xy0]y2v'cliʁZsCyДHv+`U,x[ YPO p[ yxw@y9J۵שL1 K*`a~3Ae %;*^{+q홯M`ֵ 2C1z0RŞ3d(CGflz؀ <#'!B {h##RT| @{>_(?{G@p3vk/g$ OP3%y<W(JH?P+B  t]Hz/gcX@SOw>vBX X˿ w:]Ow!/s_B@/-} @@F-~ <l{Vun+#Ot }&*9+yC  1|0DʮM,iX͂`⬭z!Q  *'I:hG @ @8#;Ԍ7zC`'@4ȽH!0\!#AFt{̇|#磐s,YpH\@zǙ=.m# @9|69h|>DY8;N*x@񁠨0 Q=V٥nU)UM1\5[>bhD*`TO-GGS.(,RTASsء+\E Zʻ5xSJqzCP̮  Tt ǹw`A@8zKt1MӨ Gu`AvZ5{k`Sa #PѣvA@*wx4zb"3gy,n4ǻ`t# hbX@"[@8 z<^iuMЮ#ۂ|Hş5<@4| ˘b+ J-M~ψY""\Dpzrw  ` R70T FGi.Oh h“?KLː&XG¤={0O@ v$stbG nDK2B*~\f"D 7#.5F'S\h.e1xV+LeI @&G? ^anygE!421"VsW-:BOe8x1꬞)C ꬤ:Cb!o'1ZC0({Kݒc h@=8plە".HU2Bacd0C[!ZL?& #mevCm S(ѥvddNHb4%M9) GJp5`pe 4(R?i5S>ד;)!%X p)xLT8ԛ.HUcܮd⇣Ava(/J"#\^O[u $F;cփM`QI {<*TfT|q:ΡI47DŽE Ky#bAF9l,AR2: ֖^S<9(#z1)A nYCootסZ/vqb_|!H BD#ZM@zV&H.pSϐ6ԑ#&pWhHQ6Gͩ ʡH'4Fs;X위l1ieAk+LMIa97BjTƟ-RPa3C[LTh`{@$k*yVEᙄ7KFL~P*GpCf}"9z$>P7o.%u0Ơ~\G<(Cݼ%'@:ʒ bNZ@}"Ze|x$v/Ndz?`X9h|BμO:ښ F~։ BUE*DSXȌ^7z,n 1TS4*ؿ"p-1f@qP|sA]vw[P'p^[-Ȍb'Ctݚg81yLі%ŏ(h+ |^`#!7#gPv?@ Z kUa$)rJUXu]ѳ9"i_N#X. ѷ8I2`=ǖ1 y&I0(e6 1RhV@#?Z ` @&^T4 AQ/tvh#\ G񶖈}Z8 JGIZm"Wd^DtT#WJ` gn#QJʤ2H0AC`3&P+N@b@#"6(ck 9lID, 0[M겪'F GjntY]#bؐN&kdF dL`/C+CLB4go[%[DFD~úG$]ba}"am&D_lB-, ubqXJz`C@o^d6 V+:7kr: D#*/#\a6C43"\Vb;$ DA:d^(L Ԅ D"8Pt#og? #:]"H7{ؽA_ɚ@^'܌"sj[CF/JFc^# B66L @666: aln 8EJ\TÔ!DCDCDt*9M"%2/15DRd#n>"mŊbV$/9hJV )P&J@N,1hbgR*R0@B4l+<# ,D(p*ԏ2[# HV4ԗqz.9,!'HbDȯA)bрh`b)dN5nVA`_ƊaiX%~C pC`u'*Im}^!ŋК.8F\Db$(g-A .k>r^zanY_'"H:e M~AdjP"g}J<ˀ@$ I,BVA(bd`e,CA7M* c/44XAD9T4DŐ9* %mG9T:D,!0 I'F",2 >þ['c,2Fg|b@pmH` ]h@eA!&Ct~%VfF+҆ezDO")4ˠD/|I!qЬI! ދ -Zn!dj9e*[O"kV vdjF8P|S,&R>dZu:6Kr@>#a*+/_(b)L@ O@%0c$H0ІAFF0i%E068TТK/^2z߱F,m'ǞgB2qV螨+',2d2 bu˧H"aHTc\g!(!Z'zB+j4-yo]DVXWE0`4_!Եgbz L} D+5e*lX$mEdUaD䢾;"B2CW05F雦YKI+ZG:+If&9åC nJ 2-LBmԱA#6 d*^ t ~7G<^|YF N?L;$DzŜf`JB,:Py0+!\Z+~5E_‘zc1inD@,R$H($x,.OF$JA2!\Eܠ2\~/ ŷ hJD0 B2X3i"F|L̪ee]b%xʥ$Iu( !`W8U|^E (*D05HJ}$a $EGaeG1|,eb~ ^^%'c^+e5Z3V{Vh$@):ԁZG`R6Dl`&$kdvJR`&8`)G4afnDŇT3:̖e+hD%"y C.hg\`)4sdR-F\@ Q@#2@ p6Ab(XSK(*̨"H](eZEa'Zc(r/mAvYMM[v䱴NU4b F 4f0 pV8&,SHhvYthPJ!_'wnf! "EI>4><_أ!0JFUݧۧF0.&X0J<*lł'gal**Km<ΣD\VA+ES(JOJ<5F[/!5K]]?!&Ӆ+X@"2cGyIDk,3ZA4zAHJ$:8a a"? ! > ??$y4}b2`;a@G @ (H_oH(I<O?@( Rr}P@Ef`zϨB!$io_Z\m"O,굯7Րm&= Ld (5 [:E*"1 -5iڄfV 5$|.L H r Ҹ G>Eۥ4=&K@rT mP<'}xc0C 1@80Cxl HдXPw.@I2Q^XjuhD; JJ?"Da <@hG h{#Vр;@\ 19GX=EIH0 HuCPMEhǘ?@@@P|6@qCdJۚG?Ds7# l0"Ghc.&|^D";`@E`DD!{hwX4<cĜ?>X2ʻ Q>s};DC35H5OU-UNtrcI&䧸0u@R4\Y@LGQ:Jv|C0 5.H *щBDP|4j^)@&q!>A}$A%v':SJHR8$6uu Rh =Y"3\YH,bJnH=NP9\Pr8{dž? PF@D=,z|!v.wTDѲ C=zl5DYapr0@}*sl=>6h؁&{R!)vT|W"M¹B?_ ~37H;s[ppO;6MunY `xxbRSZ)x `~vԈb"}yP{: 8t8s[̀; 2ʊ˥Pd@<0A%8ix z y| aAK8y 1 G`4kH|@3`%IH1v9 8¦$O7J*yp CznISC9*1[1[ YPŲ q,$ RYy$K2Ô(xz ͵ (eYs cXc-Ch Ոp蝱! -I&FrS! 1hFAo( !y(vxK!pS(0|K [h@H:Y`y( ovPw aGsQ':)dZ2c)6Ȓ *!8#({  CX4|@ P|ڀyz$u T+iKi eӋ#՚i `6|1BG8zsʰ'^`凫 H'8u)Lj-R@x 2WaYR;9@whx`jX װyoKK`X{`Jb뜬͖"#-Q }# !%"hz *)*ͥAmK:<ٔ3@HZ $؋h)y1KHm%^pvJ岖>9X[CVf {W (x tpyM<ӁfhfW(zAP(easY܉nyoYB fp` KL`۔)9+ZV]!Z:I"T|y (z .v`WA1'5* 8 i24R̓ +Q?9\p}aĀ hqvR}` Fa .rۏp|ܹx#r:7( Xy s&uX =l؁'](Bٽtܻ]@L1.a^c <>-Id#٬QH f@j~8a@Hbމ탇':Ӱier T8 r%%P4Q 'aI91ـ >5n@nI,X Nted<&U0;p,UЛ질'TQ뇉! pQz .hӊKd'=RQ/!%8:@Fƀ[ݺn\鉘?B׾¯ŲF㣻.5o'~X( a@dH4Ž| PZ`1hm8{Hȸ185Ԁ\Ylj `ay#ȳA8Z:a*##vaR):@qnG(cRQmޞ;t-M0e/%J쾇V yL`@P k-ʡ%-J<(@0&dB|Bl~?af,ip1ze#H10tBj-4+#vT VeLZJhd! R.FHl#V192z/5o~ p( &ƀ$}Nk}>xu9;x<!(ΖҠk`PUq' w/4L!4LsJ.G4N?L "K\KcHcx2]@`)L >L_j4n2QÃUARSB2. U3f|m1(X4@S( pY=qHP a;P!-@ăwNxB<~!TEmk+jGyA+f1<Ԫ@X cJ1PUXd^=y>`Te:.tLdꍩ[wv[Y.0h  1ٕK:~ e㒈@  f q96(ǒ7J$>7o 9ZEC ` <[3< I*wjb6ދmDcGZfz;#,,ex_KG@,9\C#LhIlUBjJ'ӅNu>~xn&0o9W݊:<dvIn* 4cS<-4)淀Rd"j+oMa)\g˙8ByChV @CF0 ,rB"> @&6cX`F P& Wapv!4.箂<%Zºf:!q"!9@!ɀ2- b,%mrkr@ A!NғO6 .NJo:K`"qGb?H#*g`B8b|??K`u@D+CL.&RJc'K "/$%'@fi&BP^dO.ojl. 2'b 8dX%cH8Z4BkdLRLnNKn&ETJ0c\Y"KYPH,<zq,0obcN ^!~Z0iVN8y+ Sb~`m{'oؚEL ."|4 iڦxfyZ<$#fDP^Nj$b1t: "n 4+A-kJ&2c9(v F`+/ $0Bv@jqG,Vbw &''$(jPE.F'oƑlg (I'`lh0nBc)@@T`FuA޽l(m|%ƶ~J+_A6*)! ,:mƖ%Y&Ab\.GGa)'1!2-U ?(o # ~Re`"55/NSン㢥& =F)|*Nv+'JBKHr &gc V$78ЂâҝڃOCq0PEUGDڝ 8 (ODĻ#.i)2̚ j>gxt8KdVa!oe&B4I90&#f% 1:ͮk7 D E7 m$@ S!xU(M(p&O@U9ğ&/Ub ,>/J%"PGchƶN jƪ æ'<2>H52 J`D@N# ß ǂOp/Fr'xf8 .XH$AC%JZF[zA`#q(R! `5V7S"#ƉIa+c(!⥵4 (~PjnD]P *;xA|f'CԖ?-RL1(GENQ>@8 #O:؈15A9=E?@Azc/y=ࠀ4 M^  ߀KUU:G/\Bvοfݯ }VYy'(0)z7N&y@`L*r/pp)_>E|pC>?*@`~>! Ԍ |}0'JPA`)6{jb 2 8gI(PuÀDgڤ(2*:3|K褁P *‡ۭ#,s,~AhNɐg*C~ p,p@@ 'xG:.i O ʤ`2Q8NMRDF *Çt"AĎ$Ӛ7mCqTk+䁀pΐ ~$+8: =SjAǼX`X"h".zp^Ʃup[He6>Nie-`]I.EDK7 aKu`QRa8Q 6(Z KƯ| >ܹx8N5Kl46ehkZ\DSsW1:~L-q EN ~Sqq22v`L81&~ܧ9g`|/ar1p0 IwUY(hu @\ݨ|]@,t}m֞> & @0yH@ ] (z(N @o@ `/@2p2Y\Qo} SCC 2WEp`N YFzǼ],1#=\fdȀ!|J!"CtaRGEH85*G 2[UDLE>C$?  pɁo#3YX p%! U'Y(k[7T<9'=ݠNس gvhcT>1BTʪP\jdp0#9Gh| @fP 733r,)Gh=6eR3̣HL=!5B[$iR]z%ܹ 0 #x15&,UYʘ$ɀ$9HZ 2(&,權C\ TQHġ=##j *w@ S.[0 +R ҰWExjXX;$@n "dc 'IM { >e=dR xs >2$rZI2ZO5J2scȼJK0yŶ;Lg>etO^m]Lsxv3@ ..t K3UFJGE*99^qأp|2p-@B-@("d<aj"R/,쩻*Kς>E#KQTQ<J$`xF@ fXC h Ax݃csZ*c*l_|'dY\"Fy!FˊF>p)"nIJ~dGXaǡ>j?*+('l<ԕPWy (t8/K^8ź"P$7,𼧗ntncx _'zSj+ cD™_dI5*9SqRuַlX`9\C>&:U?~KUpJ|8%WyȐ0cjY^Td}|Wŝnh[)m?0 a͜10z}$8-ibw;s@u)05ysx2~z;qd9FQ ג`'(|0R{*pbaG9|{8  ؕb()kZ9`(lq9MVEBu`q)Z n^:P X~تY09Preߤ""0z~8wl)NN) tZR Z(.Cf}M 2 ӛz0 q)X ݀8s1y٦%1f`\ L8xw Vi8+k>9tHtYY[H=8=-AZh~0 :!I+xp1t&躀8w K ښqKG`;|Q t=+Z T:yغ@ l*Idq1S+2ɓ:*@Gp Qlׇ(   pt0f d0~vva&:-؏ڹ:!љ6Pya>bx&qp3yZp@zʾx ׀qJ+9(@I=r: zIsB 8Hex  @ P{5B(zxtD E1裌.#&0ʐ.dvrYs\Y;8Sp`0uhwtSMBH<Xaj$630qڀ`{ t,n#r.OyB*,ʣs @'yY1U\=8( 㑹,yqxa0xtmy?9J<9BUO hR!"hE (~i2.ؘH8m/l<?X("`)JB,Y΍g WqM2P|K0A hx [3A 狫J+#xy`t2 1xhH@,p y`x pl[?a""u Y*ɞġI]Y1Tj8`( [M]0J,\qZϚ*ϐ였Vq\`<Ѩ[hܑw ʟT!kϑW*7]⅓G p|?鰠}t u#a\ axؗqA౺BIMP1Qsp є=/Y oՐ hw.jvw?08b=&bi0x7YPڦzhӓMklK`׺q2cx& x poB 0M^ G"Y~ʹ#p&(U :P[p af}&M:|sFLT~(ҲEY[ %%">d"Wɼ!b5Ԁ'1\h}18dHBz0y(r{ t\#C91!=<+Z206 8$;p\QQ$Ծ .R;ƙ̡[*Ej'׊^)#3j7U軺µ\R0lo02j#ta@^OB(A\eBش C0Xt{а hvq$:S@gs `R¸R#]iN R`SH| 8 Hw`0`(b`[}QZ70pmWP})p}b( 9JS(P  ᫯9:(}QD$،dqƹhx 8wasDg %Ӱ0 B0vW <୒xys xI`Ү)F 6xQ lw> ݢ!ѧa<$%? _0qȔƓGt |Mr>HX 9*=r $逫-s;;'y(*7Za+y5h `!3M@̀ C`F׾Xjݛ#A{Y 9J@szAu!8Ixf1(x?y{y!xf^W -?Y#1fPkS -w\g줧r82[60M^#]Y^!:>h>u씲_bi˧!B6!?iz!'y:qT(di^=w [du@  | } uht|~H Ҍ*iXW:[|( "3 !.4p*rVTxл oz!Z řØ3:&'b ;Xodwn|}$ (C 8Q @P E _O,@W Ata@xxC O[}~>q Qjt~ǦShdl:'lRkD~و8<lO"@oX0^z }>y< n^pV!<5lig򿎾@84 x_$ޏ0/A/*^K ;lA|+''z6"&g3iBV0+d*}K` ɺ;8LsЂ9+H$g L|$b*'/8BnIx `H|L={)a g쒩J !Nhqrn"{%i~ < Tzae l>鱠( yH0Jşr\Ch{#~ 󻴗ʣXvU (4 "88@ )f&IzPP&qB@x`qA<EǑwb|+Kt'R[#*`E;!԰]{Ʋ3X@hup*,G x, 汲@N I~bs'w "m~d~VkƀR0%vc1(p=lߧy5Ln%oE^`b~ylL, 2I 2fx1qTqHE'D߂R洰3 btTHQSJ |.⪔$QdR-0HF ,X}@x_#pO LkǪwDA YvfЊ`! '`޹q*B"<"&x+"]+'"o ,%EA_$t=G!@t ;zؚݼEe bGI$ܾ!4`"SF@9C* 愿*])ĚhyzAg}S'wx h. *d $KK?#)zF=1A0|F0d A &G»5FX,Y B'b'$$d@< @&;Q)1)Ƀ&LUڎVM[x8zcI6Q̃(I,;(dsfcKjp/ęٻz78znII,?58;hRrBJ4.y:w 4GV")$\|cq]ً隔H!h1ilhK~!+OXZGՂd+!$\s9G6L,Q]%U b+0 2 KDvsd<47eS3>Zw<"3"),C p ǹ CTk8O:&;7k 5L{%k]ٵ2jSXZ6s⚇#$QWG !0ȻLaZldB`T.H=L&%ـb 9FHf CZuj AJ$c p7DA6t*p>[ۇ 8wvȁlXkdGh*jDQocvAS# (&eYV !fpR<L j-@X05t}5pGA<,Ht,f<&"@qw oHJ\IEKkˍ,:Xx ,$sXk -*c0DcZ'Aaa!`

w tT6zx/tNXsbN3P \@*?IGDă!V$c ,B@2LJc>,F0(B_BD~B BJc"& SD$Zb夔j%j0!4;MFNb jF.!,Lń# d!4("j(8 "JC(,.bj*#0 #J$!0k' z-@UC@0UAAŤKz:!a*16d\`ay!t &C]E^!!"!B 쫅vnXN`IuIB46 z%fzcЍJ#lD2c!*>lh'L$vk/8#=:@MG,4BP1v<`!`j"k  k  5|j@Zd0# T?`ǤbzZ?@qQx$3QҴaa$n.(VC\!Q&fzx9 "j52!$\0.*K,xnchN('h&5"d'ML G,K oG #!#HC&%qɲ2<&?Ec-$B6):,&j8N>cH8Et0*d#&|g%!,1pV\̉פx"m/pĦg(avf Ps" @4,`8u%#n41jz0T6-)!4T)t6,w0HUea]!B@EBr<p`27@YqLi6/M1"ʺC.`@\jއN%'fQ$Hj-BC4iф%NA!ĄE2%Ξ$Sӈga]vЂV! I>2gfbPDЌ"- C @;%DlUEj/zB"Fj, #,ޥAv+AN`| Fa2޳2 &Vt9)DҁbY$aA*@V!w10DFbD>Dvi|t`$ )5E>0FeM3bLF%Oc8Lv za!cpaANa0N1jͱ%ACGxVHE^<5OC&"b#T%d>z(0#ì%'44w@ Z6)$`dBaE,pR$.!br'ܨ{W4@@@'#,I+E.;-U*yd84ĘWbV"NwaL|$$PT:h0"v0DFEa~44qbB!Pjz˰0xHlo b&!`"4AqslE: ˢ-C 8c"cW26d"!#6D\$*ST9 $Q\Mw'c$ PqvKB,O"Ȉb& ~dz% >t]<:`$&!"OT04^E !(L1CE&J&?zb`8 2fAzA{kL3%)ctR&0*](O*x4Qi-rX66Y&R+0xt@W#p|BBImo/{ǀLjv Lh4TDWF/,̏-SR0 |Y$U;,#j7\&$)V`B$2/0>4D7"D&xZBw|5k_;<"̓$dZ)r-.9hbPNɅz4 PRŌvK!8i$/2(P~P,1bjGV'^IDGy?`&')* w #ձ!)D)$ [kZ #` a`80YK-iY5؉n>^9~Qo e L 2Z&(5D3v 8;B J%mZ/2g0LI'()(&It&Y7P-H9]V٢\N"!8 ;.[`0< aNte$ wA,t:: ֋x52#p&ޭA~Oؤ EbqbR@˔vTo;Q y^ş4x; E?|^ ?{+n/)J&󚒀(;÷;D*/B&v)p~(/#ȼ? Z@q Y &  rsyQ-zN#qkJ(2 C6&)&M~ٯ2P0ڂyǭz'?*4F2C"4}RQTi#g@:&QCs h,{"L*$\/9<CO| YqY,beC*"*(6˭KD,F1! E )ܽ |g> xB]oh$ @-ۣ\Ӑ򬪠Dc*bVFmTF8jThS: ~'z!3}jH(l[QT9wBO'R*"׀308*4p |GGBnF|(*,zZԚtqn`*+ `h;"p1(Ƈv{.H#x-`@#M@2*LpU)[4h|mMo#H VIQ.kG.bA:DTDX zZtPz +CfO{R )ED97Oy1K|\{=XC%doK'(.=p@E p1ǸC `*xìu=ZR@f̀`Z `#(d |P v2.T(Ta jVB y6 8iA;>%`HqG2uPHrB>1)*@~$̣̤ ! ~9R2kȒuWDި\0"T]IY;'`R I) rA40M p2GG49Ttt]$LjC1Šz!V%VlͦQ/QMi=*x٦d6|%y3@ Cl FbQ1e*c잠Tdm҂HKhJXz.82V9V,<ǡ8A`T?@bQ PX"~#0"[+%NdC{m]P0)RNE`$(06Șؙ&1g`-)&D(FE'N)ч@ Z 9V(cP!FT PY$Fh"cW$~Ƈ $@i0J:UG)6+fV"b՞cL ;ږF ռXZmIQxomVur2܏0%dAK=KI؈e؉AWy h#}< <ù%M+!;!]+IWw|:TYx6sV"Bd 퐩z\}$bwnK~숡"MToФXm1%1P* y2t:9Vd Pp˵k p 1ÇOh;P _)"ܟP!7BL$[m`k#SQuaB!8p+vXxxpp z{ii;&Zio"mY*f* YqW+z u?x#xØ ю(hY `|dpK q%-@0H71AQ-QB橢N01"%3Qs2Gs(,' €jv N[3\Za ؔv3$a/DP _ #~@n2 W(m1x2'p uz$HX$= ئ!d Э R GC3a*R* {; j AlF H߻ЦCЈ)Qqlu y Fx xxtPve iD$CM=**'# Hłۆdܶ0viۇq Ȧ B b!8ŧqGqN(#Ɗ mNY1):ss :<ЙTB!P (HA4aRze [G!ވv B,¡Qi;E4cG4I4&z*0t,H 6 ᕕ( wR0vpv-zh&xKq/ I$1IGЦ bC}(⚈5VB #ZBȔ0㎩d 8 kP, P 8~y2 Ԁ!>S`M?!p(0,U3ױkJ/S&ݾh #1؃Yd*?x~Ym!X+}X㉗ w"-#)][ANG j xũ؊9p}Vs&dhE[91~9q9(1>ښ7\d8:B x 50}jٲaD;Pۉ'ǒj!U@{(x%  Žu"sq] IA`"@+` ŝSBӠ܃ʱaЉ{:@1殁|[!:WXnb&UJ+\_PKV:QN*! CI ht+9;[p?k RE|I4p| zXzkl@`™C`F)oJ13KL?2$ {_B! ^CMO#Xvr, zΟVcܬZ$S+ XH , Ǩƀgqsx{ '몌$V o4(fq ٳ2)ȼ8uKmB!. 뼀R/"ʿ^ J,Ȏ?xZ2 ;ea^(}O.pC3ې0/c!m %ԙQho V6qjlnؠ럐R|Y8n0tc/ J&P0|$AIM.RԅC3+v:V+wA? 0eȟM')(+תSqوmȊA'M3q:аZ$1 *83_5.@_Tp9[viSXPw[;slh.aۈ5z Alnc  1T{ <WzJ =PNoo"ච0p| CE`rsp$ :|bB'; }J"%rOdIs:8 l.{xy=w\G%9 aBas0 n(w LG 7067%!À-ikuiQC]y5mH#ҕKQ5;bh7h!=g?Jf:PH *أ&Ёrs > A7@s9d<4uDqw @j ?'Ap8 ?BAv_PG@$@@8C'_l.A.w+FB~@P@$D 5ڍWB_H?,R`!+dB>>nA۠q8`߲R`D_ &C!Jr??r9oZx|'-dd7n/^ր@ ! ô@y`G`w `t,|y Ēn(ݲkį 8}>|kZȄ0Nt!(E\R|! 2Bb7k` ò*Q-qRH #H1gj|$'|(hl"Pf~%PT22NBd`zZ@3^dǸD!&I)MTfX~A@H`( A)T属-G;E$TqKݐuA*9-SKA8":k870 7J$;ǐ Md Q=B@!P>@0 Dx)؇.E$X4%$,$KqHR $ac,qȦe JhGqm@D Lpq=Pg@(S4l[s) y O=6{ 9nJA@D@:Wh@f8$p gzE$(3Q.-Qג1%{d 3QȨJh!ſ+II D_%ҬÉ:9Vfw>_}}`?N`@}YPF@"d#.GWpp#Awdl!`,T:>G!1a{&\_*`\a%H>ى 7ڶ\yeҙI,iv$Ti:Ȫ!x ]E]ЀR#+<ÄZLm ~d֔+>D{V!,ǩ @wبr0?!H Xc@ XpA U*%*"XU%Ia0%ES\au50ҀQdJuTQ8\ F,gD2-zJ@>QGvU (<4GR`Fa 8,XDpd`It"3DJt(>٠DC\wH ʢZ d/ͨCb0OZz hW9{0)8"94@{#@#DA,."/عk{W؍E%Lp'j\K" Vm,Kh2b-ZR[ResN0rk  0wGM۵U/VR b\faZ_% ZSٴn84) 8lZKI3:-( @Hv8<(KT^#Rעk<Jn#0ӛ@TRj΄X-JnGgWmi9=\dNSś\GHzאJ_/\$X9%N]S썳+携OEhMEC%h$ !\om-<=T<@fGi$~s4zepsjZou\l7J;Ikg3@scDn<(,I}yaDߢ%AB@E GE0<ϡ=tC^Z@ Z'+JmrF#25b">(0QL`,0%J8'ZFV$x! Ij,Ά5 >+c2'P%Hm’aDNB1y~B"Nfo ̴``ƺ2 -&5.P&h@( inGPfj^ւ*8,&$ke ס1 $1bL/.ШJ>m*$HWCTE^&*; B r)BNd1qF*1mb$fbbƸ#Dw)fOa J&Ϫ!0 0n!`"Pad\J G8,/WBv#ΪX:k.d>~v1GK` Z6!-"D0m4$`X+e6$|,GLl:^ND"t4FV`L0J&b$@.@V,C!d&Ն@ <`"?@$!Fw'I#b#"&"Z2Q`Lv#]DuEG5\" Ȼ]^<`<@a{"P:'ID3&e|I$֣n.:6Z#X,'.T@a!E&`qK[3cVέb|O@Q`n$D1P^b |7JZ|/r2i4F!3G\=d=o;%*l]#u?s`B+J-B(R-Mv\$h~D\E@nltM#ܨG+$5+%#b94:`@) .,*2$P ImLG VfeA2$,MZ7V F#X4,`n(v7`E :<QX )xs':,F3qH#@9'$I޴lT\tX -Hjxb:0 .HBYub5ÝtJdi @%fhF̅f}:0(0m>ϸâf Pb䒽 \'/0 o<#Ŗ C^ih\`b-,\+4ƐSʍ@ 2FJlyc1+$2Cx7#d'F|H.Wš:?O6_ń_ 0~" I#fDAJJF\%< #BfSB&j7JNR皵;^!![lKCH11xWȜ9#y,a#VZM&*$v|@VaxSl8 S¡b+ε=~KKZTe DU)|&0bNBh$3Px<=eT%8:znNVΐNbTwRNz@$ FUg%h\+$6dtBuI ^noف 5mcrFiV" acy`fsDWϖ548ux ^WՈl'볟NLE""4̈́S_V;(V68#T G(.$yR뾰>Km}n$zhP䴉d l83v@T_^vOM1-[QFo#z'"X"ʜ<ߑv6FX,8bMO*h볒iN0aq')~V]d`,@8l !gI :VHP>yn9 bG bxuKh \`j{~###G~6%2F ㍤LWLW5!*LA< jA>KE2H `jqLJZG!gC G@Ez$!n_ՌˊτMT{a=ETW,UzXc\( H DZAаCuZ'otŽ8|c :WX6bMzf-\I}X%":c 邎@3RiRj7I)( fak#jq7!a K7bȸy:~#f1X8sf>7g X"[rC`e]hp*ek@Q mz^O>`GX[~FI,8|8Q8L0e xWI&2Z @D@6k..M  ,AGɞ῟m 0 }AX4=o^/Fh~# 8 ߀'4EȐ@ج TaAQ"@ ߯۶{G0 :;R*Vf0 2 A1\e)v _V2飐{}R : \W9Lp}'!MsPr9A4zA@$j`&(FgFz>` $+韀JyooB "*kHxɧ#a-14V61kJӢ^@&kJҟ b+R0C&&үHO ,;:!$؀+ ȃ)`$:tEz2qhRPJ@ Rg^#TdEJ+Љ1U/U3g+yLr5/(+#3VJ(,*j6$ YI+\-QrU(>5<:.5-cOx"lZM}PP{zFYGscP3xr\ڬNmx(>(Ch(** #/֍ N%8z^Fj;+:ug@c*ȎB}`p A {(ywD*O>M'|1Zw4(hvH}7%%Wr대-|k3mz*{jL+Ig:Ԓj"!(G # Z."2ްzt}.':ipyO @ .{a+/I| h.!}GHX@ quK \$`IIzq`Mh RMvp5dHz "۩t c"ťj 8E%(ܻczA^x&95^S8(ߏ:佥pWǹ8Z&EQ<s 1~0%1NĂUE%=)=3)Vh>=h.1'4̑^(!'0L1OWPL-uUT"w[e9wMa'I# г:HR)P>4ftyHB 425(\ @$p# `$9*CqGx0ƈеKHKIKbOC {EFH&8Uʏ`(  >D<Q\_E\)Fr"u+<_^EZ XFȰ:$^Jczr8aRdzP W/`4 k>q7tX5VA5jgU sPKȎ$Iɐ0NzD +uTT\SЉql}R?G>H ?Gt!9 @x T19G%8 7+&FJ` qU4d "vi)S)U Ӣ8W# T`}nHcC1V$Mj# ʆؿI)w !RY`29I1LG&T-$_:d KS"jK'"%4WU[ VS0ZAҲ96 ՔDh0LZl2Re'ԥ! y&kHlMW(Y&E]+(QɞZMY9d` z52(rlrAGj+<(6(%;2x<` @;+ԷcLA'ȔC. l_C`>v-"l 3tScdK%aNqq:ey"ݚ4C+ܙlC# nnzSma,E&i8@PG1LI/%>| ͆6P[; s2ʟHc: I^3 yxz!d y63)X΀Xr^##` i!%Xbj ӈH@4/!C+v\ !11C =2ݴ"Ut0 | { |}'@oHwXBHҎ{1kb+As!B[g)Mi3l2U;2_08 iߊ3&;t 3 '+ ؎ H ra Pkya H7R |_ Л 4HT-: $RjVB0Ҡ@`R$+aI 8 9,.2Ȳhh|ꎲc!#7d##2* (Њ )0p@u0v"5X SRya3iƊHsZ|-9蝟A\E⼊||1 GW"1#:a*B\P%Wx& |I1 abt\sc. 2R>J C)^Q@N~ +` 1L[:isPq9r)s%[;y}AYY|Φ;h*Oz$@d" )mz ) ʑ͍ H"|+#^O,15#O [04>DQY$B` q)n`v 1|^ZBZX0)+@27YRهE*Vz\}C}8 "_HUuL /"yYU{z"1"Cb[I+IkPx5Fه΁X0iUxxx t%Rqa" ):KT6\J4֞2>&= }7 09 rK6lt) 9@c>K;4!!s T T# ۔:9(Y:Kb =VR рI42Ms4 ; D=&]$JX;K 9qJ6@a[z΀ R{26k 4B 4F8ͬI_T,FX31רs ph25 08I1 vzȷ0E9 E}b`h@ J 3E(Yh|ˠ91b؈|TYclxN 19C9"ӪX0iU1Z `x؞q iVx{B^vvТ]р !xMKS=$.8{Q`'(H:a lRh]7(E=ьРXru9V0Jc@fBK>y0u#蓙]wDXm7@ 0nb44~elyJDP~jQ!Gr~dXWa(d`LLO3FMIP4 E lPtx^ZvcT0x% hyHɵ`v  a?߯@A ?nƤ/~_PG&xdh2Xk~'/4r-NyE:ȐXd=@hzH(2wzR :c +?1?PSt߀η{ @< |S4b &00#on;7%$@\#+ ;۩Qɤ/0 #ߺK_i8* @`$9:*f* $@8 &p1|pSc n8^? r|I*"z7ǻh{=P&e2@. ڂ/JFLm;/@Ӳ(zJ~#mC*7;Ω=$~EPk\҅jI pN &O ETNz8 r$8 .g)XzO]z 0 }!hz9G`, P7' (;\%s!XCOjܷM~|clT'"ER.|(i*gmrywLZ~@sc%tz+hH0~}JGz{X1`ϘBQiT1] WzB~l,zB}('(}7AFf$#uz(2 {F@ҍۂx*sM`Cy&vsjî¹ I*{7Λ)$Ĵ⮝tR ^IY&ȹXB$&pYZ0H֚R/)# jlnUQ!$aUc##G0W_%~GD$$FFGSJq$i LO%x-E$mtbi`wܢ*<5(؋̠2q6䪱|_l&稪(N|IJ ;Gp?xTL2wdl%8 Csva4>3Rmr@҃/OD%8IԑPaZؠQkhxt0p 1Ը{a16OEA;kF5^P͘Dl&)e"vaB;Gx q>ǽ.0bC8 RDu|YD "Ή3CL8-ܡ$Ӏd&͝b2h0jQReCJP="fL)HL2Z>\vH xHtt! 0ȋ|=K[()d'q;cC:Ѐ%.Ҳg@S  ` 7T+aK`yw6آ'=E(cWa;-}Zcj1 #h\HM,* *Uc!1T폕s1I'%*څXԤB|wk?@u > @ Cc^@ Xu<έHsgžZ;DaO<8=wVCy#24|ˁ9MCVy@"7`#QyR`;0앮Q@$cv!slKۑ#RX YM;[kr|[|I,Fkcz:đȺ 't" 7RMrie mzg)_ (C Csa<Ǹw4q=UB9!Ɩ2 (T?JYE  =p(s;!2 ?P9sI@vK0.TaNaAe fVjfeATq\r:O8ؿih%aG4V'd dEcKbDm8x<9Ce*p[<+0}=fM,غ2HyO3|ϯ)/dY8"EBӮTdLvnYd[?ՏhЖoW),ln~'6:ϖṳXdwgCV$xޤ%HePJ+V㲏~bLQЎ4!ㆮ+'&AMVՠJ:Ь$C&(PC.oV#(&ڴ'bI.p =e>Vb4z$9+)BVK m.g>%,q'<jDa4κ#BBB&Z" ` :`$&Q@ r`z <0a* D,X| I. $J n胮.(.ɼǂz$i8B!x!%E?b%-UΞW>u2Ol}"+BN2B Bpd0P"V8 :x2E^/^!&#$$~r(PƮBZ7q(j>$$ bb'\cb6J(3:”a_- rGb*ə`Ak!Rf/@%dE&iAgU:pe (%"K,rB|NQr*4$*JP*8IMЄ#{UoPa:to謠fqX~+ 'g$Ծ *7'9/k=r$ƮF*f14-ƞTJEF)bgB'|2Nahbb F2fWq<: 5Kv a~Ar@*/&ܒ$.e&`#QE63f!ASwKFv:Hb1L422l"fbvbtS1l3X& mE*=$*>opĆ Rd+eL(eΌjϓosta $P:'p #y8c#iTH0l7uX &NE5Ƥ;(:FZfꠜ,ILC|xD0M9e$)]-6˞27A%"j:\ Njڳ9)ANgc8E"#,EdjTm(dL̒$0RDm@&f@O'$#IA`zN!ofaax\`rJ!/7S"Bv":#jBI52"#"³,#03U&&{ 9'35.5$7=nᨿ< t7n)G2[h9>~ج{dxBnVӬV.cȄƆӸB8j#L~JF4x3tg1""etMwjD+*ȃٻP v$$b:7TWb/eF& C-+bj0F r&(I2N -нa$kF"uzBB~--.H'"9")B,bbzJF"%Ŧy+4!b6Sx"b>b0(;n,RPڴt<Pt:F#&ׂV+*q:;MV#`B ?>,4,h׌rP o a8AӆG>U(jWµI8bb:&V)Di’f.%MuFeˌ&7&+|ňƴc"T2~NX)]lW2.YC|Z C 'BpA!\@B]%]lq7@A(XhӜq"FQ3H(R-uV$Q0;#)"A}@2<T ŐQB|1Y%d6{%%s J(b@G Db@cO@W# (F/w"P ?*UE08׵Ȥ%X͚p4.)\7K2@rQz+Nۆ+=m9DS`M^TtFrƭ,/ {'6}6F *h#lW@=OkDO2D 4թ3cTX 39z $',G+wph$ A.+2,$g҂|AՎ:")<\LJӶnܛULS/]TF='`y!1 zk"";2ddRt}&Yp{Nc^] tp"'hҒz򂹎Cܧ'jyv6)P$ЕGߨJ86:}xw4A~`0@t!JMLD嫁@[šσ5(s]:Z~>L;LA#řh@`(cγĪBV'*5SC8[G`q(L&X_ ^! ]8,@H :GHxñx- /IҮ15Rt pE@}ElfS* Q/}zԑ9*rz8+8bOB#[ ̹tդī1A):-| i)30 Ny9Qz8a<, @L0жBlX g脨l\q4F#Wp\$ S]an##2 IH  ` RÏ & zٗY0ꢕhC7 *cDZP$pp5Ob8)H;86) ӏsT r  -x8?7ХI0! q)a1 G|k >@uQ6@z@ @ةS`{)H~6zXwk NY!.ӄ5öJ-BCa 3'Se"HT/029,yɑ9 э$?=Q\+LD  } )*.!KD ;D :ݍ2q1CQ⎇0tЖ 1CM cHPO(_!9ב[E@MOؗc| @qɡ\q  9,c7 @=1JMpihA YÍ2t3;Fb%mH;:آ#eD"蓰l-J8"B"4h QxÉI*%6FR8w(qPx 8ٍX da~)8#kq; y!3 04>Ҫ< 2e å l15K2*S<`@BJ3 ~" cG [hׇ<3*Ouۀ(!B-8P(u:ɀؠp Ž T: q6߉PCFh]A "™xB557@55 oc`!:% !DKċ,b.^PϤC @0 J-9#@:c(D613AB۝9s{XgjXN{x  rn3-VQY bE C@I-Qy<7Ӌ9. Ͳ[o' hq+8qHl3qE7>- ^N,؇UJس" p0-1؅%P ~!(%[P%z(uwl,E4XPaJYGI$#P݊{z {{. % 48b2ЉI7Zu "$OU1hL8i Y0 RОE ϊdp/*n2P+B@{  ;aG92 (Pvxxx xMȈXuP _tTe$ vNP"!W֤0z* {ChÅQQy A@>%1Qܓ(aP$HXD;,aP|h QFDiջ pH'8,.`zc:5~Cq Ԯf , pYި@zz '䑨| hZHom>5@$NP )Ζ9j dȜ?qR[-Ec`/Jv\Y"H C5{GVQ \$<ߴeQ:FuB>G`J =s;* \=𤓙)Zꤞm%(@EB oEJb`+'Z o!r`HxpxlpmoX (,@ h( A;:O襱': ObHR8ۈ ̀(j Hpri, <  yQ0 ^ܰ3qea=ޯM7 څy"Pv,BT*^i3~f1!0~xo0 }>_ `8 $RK?@ ,B_9@7dԀiTHHt(S)劭Z}?[SW Q]K o?dK\-cmt3 o A O! 35 BK*7];GQhIjѱй@uu g^v9%AܾlMhAW3s"R-jحj6I ݤ2)2jp|@K*KkԀzE$ alY`:(Gj!@p")Pj&g nw*{2 j| 8*p.4l.Ы>)䘥 k|ȳg @Rkbp }4ˡ`:b "x)}tǁzD{'u~#]/=uCSJ: {Ǖrn}bY}˲0'U#7ͱiz'YPO|tZ X.:rS@H.52@폟x[/~`C[* nۧҖ1R8b[E8NT|3›4*LO $RTȷɪPli5J$l3,b0¦:,1s͢|!j0xOk<1W"KE0,|p$ cz&Gi @~kg0@6>|m>}iKGtR+ &Ⱦ|\ !g%k P KN <τNky1:J6n2[1*BQI)떦t!\f>DP$lͱ&e P I5 pq<@p vp>G-Ǖ)9Sk\RБ[xh݀B.<|7K\˔Mh=ɇ6ƀ 95"ҐպR2SA#H ~ z}q TA%@?@rX .Ô%kO1<ͣDCv/ q=!`un=%czqˌI6`e#0 Czg6ǩ2) ƀ"~3H>{glFLA> $äsqQ,2#z2^!y2ʞZ @IR%JBIS\Ib7{,>EG(}D{ h A$X:H)-0)o" >P,ASjRȁ,FN&6tI! \hm|zɏ/%b=Fp 33"RHܵ&ҧ$"510R"s6Ya{&c]~w]$ O2$cj7']HxBOBH #ybI5N5\N\ q(4P@ `s4F#>3B9PD܈d X U#Hia8|,A9#`,,WRD@ݼr%<\aNA>값nOPžM&ꝗ% Tǡ : ؀bb^( (ΑaӨ$xP ٠z7?jE`l ql@G3G3!J-{͢1;N3c P˪F.M()6f]0:'(C7kHkBdZSJvuyQx%Ĺ8P ?gGϝ d t8Y~P&*&Ў (;[YSgH,=Nk P(M0ޚKJ&&XKy Ŵ8PxsjF+eR*GW҂$$!v@[\9 %b{ijeKt:6jB({ nG( 8@HH$aF 2 c.t OJ`6H1jk.h'b(* LE ^@-\g*d" !)rm(5#*Fh`!X,.T&2=Gx+( !.ra'K!3 8M)kv3ꨣ0cHh6R↠QԩBFB2*ZR h#9 G^s5]ciH+8LB < >"@`ƄbCcmKgl{%tʇ 3Z>Dp;4b: ]h+"vlลh{8Z"0 Pmaa! jV[69%58OcD!*X  "̍0b0k54VbZ.~dm8,#Z"@P&BfYB#EpQ7n& K Bq(D>.Xs6p$=qa͇MBSFXHHo$(#( -&ATN'bX줂Hu'% SOru#lg-RߡR"T hN0[#94b@VC=뤋#h gujXx$D&i#E4FVtǦN4~N@n*CꙤqxgL-c,t2B2#OL%3 $v9Dk#u{ U"ͬ:$*gm:WZf82.a{' @`1@" z1@4T!!)@=RlA$N֊\`oEQq'O:=]ThPB`^A% "@͐!&/<<@lÃ@ mS .\c>m HMp a1<9tk:§!04K.%A{UI@6l04["bnF !6ُo.,T.n|. LOgJDL} UזfE&Jk!zuwǺR*D- xNiU}7ĆR3n6%B@dzGɚO(9njBi[)=M㆓b| :bq D$k=%LF"9 J"|(ɐ%6"@ F HoG%lF&vPȫ'bDyRB<߱H䍁| r&nOB' ,.u(-|>iV|Rh!q~h ѾQ xO"0b~d[;hݰlf~(\""CNˬ|>[%\($!EOh(slQǓ;WEXnB/Ĵ*3TGCy@Wѹ@1†Ʃ$)QQˡg0h}aĹa 1@¡GuO9p7[1l96Ѱn}_Hg`?_ KNC{$( J.76B!'v/p4/8PϷ~=[@Q`(. ?kp/* }rf?&'Y3~ s$yS3y~vߓgSvA}ڟ?Bh&J0S绍cN:ѵKH%-zgZ8VK{(pbf ϚgpToJgZܙǩJ|*<*`+ r{7( X0Ԁ` 5IyǙ|( #X"0Rz`hS~Gxt%&.L2|?+( \GA [>^-/!6fY'OP vz &|@M' l4sEM,-&7fxMW,(xld 9ȸQ;H 47F?A.nA8* ]cH8՜LFLhB:ghLT@PX:r@D}(%#|qq9;`<~tQ< ^-@{c[ԓ@P0 ;#|ٝ"yT58'$Ց:D{Y18Ix35%yk"<(."RtzXNz~᫤3nA,!d$BN',$.T•_Yg(' iJ @r&HՋ5hV#׵h0&W"~e &wxp~ބP X{G@;LjcT/:1T 0)X)N?2UƀLQo,>lek 6NӜoP 0-`Ky{0yGrNt5hPFmoC"p9 A! 鉵 K\ZJ%ʵ"6Ar1?% D4)^!` Ҡl[{Ucы-3h(`R jǓފ : %1o3  P۴ 0B- } [M3458o`yx~y3J'X | v2@#ꨋ:4$P =:<2+CCJM+3 ô, !%0վ@h0sX|N@ Z|'(=3d Hx, zP k iB;B :fi2a蚀y<öS+FP.ĉx#ÕoGI@%x$ c[ Xw K8CZ" T4þ!Tx$#' zV!j"(%28K A$!`yhH< ^WpX %X$ ̸ HijHc8)x{8I]2! [typw0wxHz/ws/ r΋[Zmk| L 8߇A`jaDq2 H՛㉛j¶2Ğ~Pz؛tA ) u>*1;Tgte lsݚ Y2@[x< dNŠHxێK ! $٬ P+E%A]$i@ K"!b*,46"<C uj\ڊ|0UXX`rC/ x`D@zNqqXeh(K GPzI3Gj`/@zrNkyfN@q ͈xEB S (։0]HXPL Pa`}a1Rh`~{ĈڱڜIjq&^Ƞ*$>;$]lB 5 ]µПt $L } HJ 1xӳ[S#[I ɯo>% ,$ 3y#I?@ pDøoCGI{S#3UNx`nmMy,onPN)z0;hzo( KO"bؐ m% p Q :0h-ԉjlZPyX`~ lmX*yيjfp  5cMy@'}p|xhy< xkHxI Px \Pf87=Shy@{>PhPz0jZ>o(xZD v85?ڜIZ2&h   {j[K ?!9忸y)( c?P 葘3Tj2{!8h'h@8f4 dP 1@֘xH?O|8ɆojcUP{ hpPMJ;ލhď:>QN>uJw(rly<{`1ҙA>ї;BępF0coPEBG=$ܪ#FA q( an=#GC@p@yX P$#3`Y! Keј2tOl⪕"Yڎ!>'7g4@p`0( }@ 2@'G1 @"{&G_ cލ}B0Nh;~@T'ft|b@@,~:?iYSZ~&/AA<ɧu )t~ͦ<=^xt%A0=y<p =vp0$, g%@6}Za08_Қ`=z= ^ À/?"@e&:쇀o&-/z~&:؜'($H*@H($ h"s !iZ}|a(B4 ~vqf!`Xr( gyMZPk(!I3%GrjR`L3)zLeA5tsT0Ǫ@H(~Qؕ apO'>|@UF$`X8 :Gӄ!`v!rUFYtb%r6"v)}^t>p_ʼze">񂐡H BC>8G P;C4Dꁲz׾6X{lأx ^1ʲ)%G2zBx6gx }Hvsq&v3)Q@yGN"/TFS9wrm6{*shh# juXv;.`"&Yzh.!"yB )y|g -J̝  jL'V n}3pK@D6?D0lA>Z \üy ;HI A)a2F@W)w:PdQ-! 7dffYZЇ>%<Ԍc` ✼b:?$ڋ!1*I檏XA9f쫑vG<#BF`#V[; ȑ.?ȩEvyB> ]M5|Hcp~1@:!> `}0: eb:.W$h̗Ua!;9=CY}?VkPIaFD谠gC1.TPq?h}[BV,0FbdR-vBXAIEPAAP<AcP60!#N`P<!%` wD[|@` y zkǃct%Ռ!:@loT^w`$,pdz+c, !Pr`$x~YۃGiKS{Ǭfg(x!9) 6Z)%&:zߥCڂOh4U) +k^(#CMa;Z-MCbGO+D>> 3Cu(=xBPqJ}!9Mb Hr6@0*`WC*0.Hj:TZA tZأxo$@;ž0i]D028ـ2#{ =^@[ 1:*SU_´A/pCMQ>ikF"vRWI3"@a 6?J.pFc8CtgBG) F3Х RDD'JҴpGJY2@JTi@Gj)Ǝ:o>f.dFD b.cD &w&Z@-zB`' HCX *##Tr8c#?2X8XܿbyDg2H5E‹TBZdBt2ߪnURۄF'4u" gh`ǦaaB >c$/0)J4on$:.B*2$'bK&O4-pѣ1,#b2DޥPeи.;` ap.Y.≡6DME<:LV?e&cAa 0Gil8T]0=oLuCRT6hAh!W2```>A>XcP(L&~QAja`x v!6A* FR!_'jPBdq93NJ(o #%XEA/8>fI,m+Ed(HߴԢ}-F$j2\CH@ d^o2ӯ5XaM*`B{dM3aGSf?a6c$%4DMA1Ѫ?de#ML aJdC|vTCh6#h8!˜`I+=i[ uRb@&@TN"NpjTlye`rAa5T5!H<4АO`H6@Ua1"# )i]cjt&{]3@Q<H2 +PHT.(D<Jj!<A& 'zA!ПIdG=eYc= l=VHjrKD@u@o 5.F"*Y.bhU*,x#f+D"fhH>rlah[H >Y/WѪ8.=bi@ dwGLIr! ?>n e?(-NvC)r2ZțM"C44'@ x-: $J`"!?cSNFlG!zwHc"i"v#flޠ\`ʢh%:>æF)J["cAю҄6]14UtëU$awG3tݤB2 Fg.r"|)rsUAtAaAҭM"ۑ,-> b4.2.ư `" 0Ffp3lo+&/+wE>- F:tY,4fuPih6D3t͎6jT42y!5B ֝('t.%21p`T^`S)R4ifl(stGt;D2Dz&+n1 (l/6!%ŒW?+'h%d&@fwk1ewX^˫B ϔ$'GRJ2KpuLD@aR\lr1!8NZMCMYd:pMjҢH$ x_o1*C$->ig ^v@ux` @ @A/eOSr`*=Cbrr"YOÂ""X>Uҙk amX #\B:60#d{J2wLDl(T2R9Eoy23\>V$:ŴJ9mO,CV 2F)+꧎,?JB;C*A1,BO1#6֚qL6cEAa2`($L`b|nj_>[/`þ_uPaZL3 T@ўtg$4+N0;e/&#i 8H"R FAI 6A]+ڒ:p#Z%08F$%HE#b3C|C 6kمV"JuIWW;ᙺ_ sJC6O q%,¬uN*'~&P?蒰%>7r @`aR5n^DQ蔬1@O }B4=~?'4? ?01)r(@0 boH$?q#@ D@I\ROLbx,t(ct6L[c(tG@* |a yX0y3>cH}`V5 K4GTnLd1Ȥ'I ApP,|>_/H ɞg$ GYpدL(z~ ,)) S %i2|G ˼~)K=i0qQ ө`HA*-몘~%ZHH) /p/L BـX(*{-GN`N JPZ,= lhIŸx)O "("h v=f{G9I~1H% AZґ4ҔJkJ1_08M6k ml8ڛaWe "h*C f-@lJm_*mj0?g "vgqz@$X{0-,eI^*I*vhn2BH1HQh@&@ٴtb0>Qr8aw6T .\Gw'V`|R p=0yySx'{mHWE9jSɼtS{8fNbتK ˶"0fHJ ?8L$[ Q{ R*(Gie̬"˜[7Y+Kl-f#)5۞>H/l0ӻ6 $S*8Zb\GIHRG̐\NWd`cɨٚ^! ( ?\IxRUF8%UɋD`=ۑao.yrDV8ىpuT-cܒ|T& `:;GPQ8C4=9R%4q#L &(R):閝@p>*ULn ,yXM@ 6.xD^5PHjX܇.2$&$Nj{%EcuP 5h 2>=@1̝46v ~H R&  tI+"ؕE)d]20-%gdAA1 HŶ$FsϣYBDHJJu&઀yЕ a0 CLiT~;hČNeIv/R@ ,$4p[X3ݻsgk.5TG1[B(T&TxY_)~$uK/s 9Z-'KZ">L`@dș2eC%eǀ{R7jNY+Rv-RC:@eyZ3P> F0vCwidg/ZjzLV`L/V$%ZPӁx({TH @ 6>ÅrHPLL&;$"y,K;lBW1,޶aMR w5.##P& q1>V$ХnM^7Ic"& )z4Nh<2EJo+XCpqfV=eP4r#gҘd =(&4%̂':K aTb=@B^MȪPd4Wth :яMT?Xb`;0'"aI` 7Cji`,-ȤUD.zV>p)#`c+D׫hF~"F!9G 9< E@P []-C9Tj P8L4#ϒc#Њz M a4ƨߠGĹ?.'(,h?١# dT`J=Jcp ӀD{AF%nnYE0=c *?0 `+JIl7@‰iY {8qLps}$(2td#g?o!\\Iqo2pP'@ \p2zJ ·y9 "=p*Z~Y JH eȴ HtiU3p1wʙ)'?Y!\m\hIa3؈p]OТ"iCQh Pyq4$Whz ₀;8~ 0 ~i"3]!aK$0Opa^(RYd!X:3pY42ZlM Ȇ (󏙵3p|@3K3Ɉx x2cۆą݈> =BzڗŁ,M8`IЉA `!҇  Н_D&'Y2p#a! 9:$'%ˊ}hϏ`݈{  O1Co-A l :?pAL!*^@C/ A !X(%ܐtPq$ #(37~x#*%t0p8w @΅a#9_@࿀ r=~tGm 8ew-I*U1_bXYED<=Th{pdISqZ+]*;p@1I&ZҨϙ,q-P(Q]Ř3z)0ctr9eM>%xpx!>G@"d_AПpS˴)xȟ⊈ 6'E.pQ؍ [5L 򋔕Ac,؜ K:jlN Ȼ #:Im6"2H! xZ/!6;ƀt@sibTطM2ыpⴅ.ZJ8)ȦLIזvL!K|0ƱNi JD'b С!{]Q MOc\#YlKm1 R|p ctЋPx] h[ඳY  K/qnHj^ T */)Q6 -B -bٹGg킭h"+Hm؇7LIa1t`z.p| A;!B8Sx r 1x]z/Ɖ# ٍZƉpIpiRP% 1Q- xmy v;);w-Bي[ߟXA-1Êy؎ ȞAl$8zb+R[Ç Ez"Uvp!(?q4@z0t+]*^bׇzXwF3< -$:Q1,A%%p$KSVx~4)o?hy%IËpba +I) Pw xo  ?&H8}xY/QPbxyA ÿlx^0]W  $ 1(YN.89@1p|#I4O2gfjFRSpYLGH{zhh("nS%K$)Hcn"~ '  iQJ| PL{|HYD5514M+sA/)qb:"SUk)oV I ɌY%|!v切/Z>O #j\ mwCyp<_}?_=A{BBQHr8@@;q7wg0(   e|_ o OG wW`4g@KLv:A|>"z^< _OGu@TW xY_o+R?0 U~O'D w s xrNk  i: (:'8) A~`p3-)D(K"-0/ }G~"zz8'L\ ī).,N̒H&;̵kb48@[ "M(48n0C4GL$Cn"s=+5"ǰr'ELy@A}gʲGK>`Zx |f EVVitF/2/ JS$-B6Hi1SR,+5%]軲8 xuԑ}j3. {*$}Tc;LOX,?|sa  zXw༨;TRG ۺWs+YK,] OHmlɳg'J ɰ;|3IS$?QPl )q?|ԕVH"˭/u:9'[4S#l|̇d+x0U4%ȯc-3' r,CO){$3!xS'=2z~26 m3> _8v$,XdD&TQl%? ##}!`"\Kq(;H噖c1߁ߟR[䌓~]wGHIXqj0ttY"|zj&l|=&=%l>"XX= p`FQ8;X2DVei3RhSdhA'JYi#溝t]9[3/S^k4DDvTl;邈Oɪ3#3p =V=wr|C`# A:$ tYw5l(,@>Flz@8G+QDI dy>4L H$_ST3'䰏7 Z# XoQ7^  5Du)I٫yT A""|S[٦I$@D̏kxΐ5G!TT9|OHcIْSEpN8&N? ppۀӲQ(tH erɑLtknDZ*Y[5Pktq$>9w~QWDЋ l ^ bôK |&F;T: &NΏ,Q0/%ќD ",2…rdW8jF:Z?(.V4Ib)x( K-DCmd B[%qHȹ`&RtwqC6G-5ژjt;Hcs:[Z9B؎Ycn8lm7h_J+dDZv>Pz&(`պ[RM{o^*A p["Hc\[.N_h"Ro݂sRF&T.D"%v:`"pBa7`?)bJeb$R;ѦB+HR Pd|oLaȁx:0&HQ:~aH"!R#Iv BVJ,xwPBdE%2B0xR"&UO'ڞ< &A4AlAb$za.Xd uia]@*z}`&ba5dODDb?<5ܺ`fl -FEp&tcoft(z;cdVAP<9aBE#EdcrR" *nʷ@^nmnB V2CHb(Bbd$r|)N%&N;h! p7 0H#C8i4ݰm,KCCT.RjgcFT'ȥ07(j>x!aȨk\@,+Uvb6c-@ "a2&/zmj;8f0('ac+#U)kEKܘ[`@@.Ƥ@4!`&.RaȽA|x,aꛣT'|.LEFopdcR,"%N&2:+."FҀب2SȊ&EAf"00Ju(_O#ENZ J&UN~me" CjD®tbUZ!ڋ`El/4HpD^"(8L֤ fgVnU"&;%jmk|,~_dX.hZ]:htjRD$VtZDa{""ZIG`+LE 3+ܦ&E#%cY]6_rC` |EH&mx8 ..,Pc"[QJ=eН$)|Ǥ'jpRp6;ID& \NAiBfjP/VZ@(_G$Q Xqg"D-[f;>QK)v:2hp,϶vWkRfN:&M-!j@gp4nRqJhQ"G݂mo/$H:H4$FQH2f5l)DF,„D.As-Y*mH~dzQOr-Zö/3.wן2, bܧUN)a8 BΨJɱY)DJ+ 7u@k2,t-"$z"VC&dRC@$?uDB6 4Kb|]J~} 2w0 ` v a@ ,=$aA} ds,%8=6[c&EĎh>$@MZ=I~K;NHI.#QzZ1oF f "@'g` G"#DSg1!8`C*"|B]MU #qGU7U"Vf>6GȘnu:l%U`_F#2n 7%x>G F R 2HxN$:F=3FB*fWdW`, W .Osn;7AN1$"0dV{n HLX< >"ZKR2"x9-6(58h\ $Ҁ !:@ba]\gBBpbB:bfB{V$8uii Dv-;q\,&:g4Gco,f`¸`HLswd^oBOWwd.6}-Y3LIl|B8ޣU/4"=\餌,3S~ft䒎86tQo3S$ wo?(A C00<e=aSs7t_w+xP"^w !'`4h_o `A 8W '|cʽ@0=^Q'TX_ Euv=ӵAAt7O0,RGH5nYʀ p,?H@- }>v}S|'~n~G: ~>(ۢz'(+k`2ࡆkpN}AuPu,̄@ }0Z<糨l0: *.08Ǡ`p6 Ki`t{넨 @  AĠ1  {@8}*~H❟z /@bPB 8 yA0 vTl88-O fw'PBʦKvv |4p 'w'X`$~iItax hkWn!apH!wu{ǚ6 p'xνս.T3 hAUКµ/P;Yj055W4q& ƵE'܂0  x2] U*OR:\u!GoIڼԖH y(xfو&&G鏁`ΦrOZxBQQoKTP)#PşmA/n 0`R QGx>,v5R`x4@('8ǏJ(z 2G)jh&6]LAII{uGDdsAf &sqg@qX*셩B`A#츖B>G @(@>cqBeF/"`ZyO%)*o/*H$H!)0jUM#Ɖ:8_K贱ܥLE3^Л`˵ȁJ-4V|dt3F5R_R )20G. h$GhCx1w` s <@#I¿nm,[T%nbs$ݏ y()D-B5.d&xZHǗ%k5cB7l%|E 'tr?+\4 W'[S ǔ^E2 JsHoE @骑6W*}{TTp(Hlj2 D4*"3#_rn6ᬧc|7 #莐qX RnP+:6|KQf<U~M],1IbiW&g  Dfc旂09Ҕƌ `@#xpH#@;UZ {/D Tnv犽`( `x;О:5Ll|;@\P I!cVf=6@NɆ /9B;GcyvOC&dj/3(4%[0j iՖH(q2pNM!h sDND<(Ja;‡w"$>mp X \lqrG%gڶ Hlpĉ[OG] ,W?t ;GCuq:6-}?]D2-#3tk@}Lʫ>$ 6<.MX ew0`0}>)ƺ',.ڲ-0 }1?@ 1Bm_:V]n 'n,"*"8KಌkX|3`~k)TD ksp YSiQ: mFNT xxxTR@LȫH9]PssC4 7hͱ4TT,: l$]{-ipCѕ1ΛC]*0#B+Ϥ1xp"9 j];#Z39j??q(fB &hNq1X \pw~XY@ qțA)ӭ>AIb\ZpR#`xa E 9*#뻑1B+ྀ $vʶW# P ƱF;2|,. زlvI[xycŻ$C9QsQQ#0t&CŇbs@+]`pgi)paڌ<:S-u@ILJN;ڒz,j_ΈEEq 6(9 J1$8(zB`#лbB~ fh } 'r .h?0ur)*~^@Eb}{&3i /v5D#')1h ZdCgR?1\̄( (rc!> 8)A(\)UQpǗv.+ d1,RL5 ܞq 5!1*Ař_ٜ yY&l%dDdDZUCNF&9ۛaZd,cuh?Ѽx u$Xi<XN9H :*tzdx8s qW˄"?,RB4w. r}?Yfqπ|񱊡 P. `"`w3Nׇ.ju@t1i x} #3Y?Πyzհ8 س8\vH΀(|h D :~!B#&pt8toQPՀϣRۥonևX m,{ Ha5xzjZ8Wx$' Āy3[ʩ7%Q ǸH}KCt 1ˊ;xtKjxm)9rr h |݈ʗ|L-3c5hD9it ]L 0J* ۛ>Qϊ+0A$57IB*LR^e jRk pr5X~t3Q64-ZNNOjD$@ss ȲXڙ~ZxIb4Ν[R5X~78ZԷf@vht` g^Ahx';YGx]+˺͡)io %*&h[t&K=>x=\$ܲ~I92HLb !H#$.&Xus!@ۑw)@(X~ y Ɠ`x p8CU lil!`t dv)MI8ҭh΀fH C8 &qf;F=r-D9(ywlM(r0{?\.)Yi`ʘ8 sA@p? qp e1܆'@ 0,6Pp C`?O 0ƃG3o74g`]@RW>H @nk5_ZNKḄ1RK8J/J?"P=֓ Go^Zqpi^Y4ޒjWUE5ڤpP'UbIdQ{#4XB<(d?{Q8 L RM[B'`@A -RJ/aL,wWx0 Gch#٭tMh"(?BJt 'KHE}$,RbFQP($"v8@LA3PwW +$=N|f%*Td)hx`` ڼ%HJ\b.:GPa =`89HG*Y j5m,e>Cf&Ќ,cEfrREZDIjpGvWOZhy.HQ2ATC22ΈE!|F ,YOG !1U|>)ID|e%[,rD!ZN]?pg@ V#@I% JQKaJRֵxY~A UHњ@iiJrVm9GS!tSdJ7 !2W p 5`Ekd@8[Q 7&+"a[QH djZFe_΂#umC)KdbW4||1{_HYf5|yY_22Խ&ht ( .Nx35f`7,[tW%2F7#dI-%Fi!^FV00HԝÈC c4w]D@!?L"VE"`&xUs"FGj\e&r:LVl@3oVt~jX2,%t3 [(0 r2D 0*Dx!=a9h@{4.Z%uIVPa,IDa"-(IWI6&uA: %ړS nGCQk'UH#ŝ M) W4<Ǒ(z:g9bBb,g3KtdL;Z'*dNJC!8ň8F%p%p:@jsX> H .TY+r%}t;RI &fAO*@Pz0@q,dGo.x玘F1B6'2/pNDj,#l,,Ŭ Ћ :@6q(&5 `  Hp\)"`G>WP#):lA|6VHk` &x1Dlc\D`  Lz`. @隘,_8b"$'!t$!PaA`L`pAb6Ja?V,@"" @ǧA7DG Fe>K/WK,x@J\&(jf]Fp`Mr4|Rɦ rAJ4mAYT6"R&8B&&r6âHb&%^f1${|nNBP *h6(y!Kɦg iI*p%6aAC _RIHO"GTVE}iȂn\mε#FF`D(m0NϨEj "n'C*`,q* $ F,kȼ"x3+7O2b5I"BoE#2(Dܠ$-ʗB$c"m?Jn%²BS.)2FZ>*Y"\cH^"+Mt6 tl&K 0/CFXJ> DL_,` $djQ3mb3bNYA,h>E4h97$#H/-Equ6}p&zgH&xPh/#†"oYJ-v>F"P/>Hn0Jltl\3bl_(>)V~H%+̕g J(Q4,&G Ma4d $!E6@ړ?b&)L#-h_d_z9̡=Q"d~>GPIآ]oPHMI*H>`<Ƭ-H`!Gp!%BAbQS*.#H_d`,Ո kY4u_rHO-0$pAc,@b'f@ bf0b+$%݈Vr(F$"6jJs;j;BZ-src@1&j@&!Pu_)ܪ$8,\*fSf$`.J Qa >OOXjK\!.p#^Ka] {l4!.#6obȽV|$LZteAxb_'a DL"!#ȌA@'^Hkd>ׂv c`t=A]$' (r@b4,;A'DFe+@  HYEf4ycvxq88F~<lѭ'TxW0(tL "gJo0jSn".THSUH (qzX>#t(@(*uQl160Jg &xa( 4%$o8?aV` 0 0k_'.ϞA|"* fhҸ]Xfefr'npPo ~!NZ\E,%FO LVR!PZtR ,@BE$ d7xQB"O>OS0*6NB= l\r`YN5P@QۢI sCpTktzJz'W:9.>5N,So`"d;ota 5rTzȿk#E$oqeDuQodR6옃Pd`0"FHcha!Axüg/#i$\&S"6$<2 GAꘁQ !A;  .0Y:~.1l,B-|h!PfԴfFEB|!@Mۃ# LSwrf "t'L"b C:1@PsC^ E%"ŌhN(ZVC$1B2LUĖ)Pl2ƪK:q@勘"‡^-BXODV "# cBEG +D]G 2(KV(P|(5*,I-m|GDVF25""E&T(Ϭr\"8DYA"d1%Ts0"x5 *IGG¸(QtW@( H3MyP`8`+} `!a|h'" 0GD$V5% |.$d=^CmWfШ7I1;#N 7#="MDr`„Dv_$4H҃5p9aZ.+_&^D2+B>%$BgV-VMCVFԠ AܒL,e5,VY$BR͜"?0&0.",-)RE׉xBp;¶Y uT4er|T#dQb(JKw~O+Z F[+Eb,C5GcF6 ɔn-(#4CFdf tn Qbc*0lɂ3WȻ?񩖗OTEn Q4h) #f Ma"U#.dO[k*$c,iAB,)<1"(`||x"2|^jx#`<0 uODI?nbaɈT 2zFP;@") 2bt( {='>m8E] 'LJO `0?1 0_ЇogP`/?0]{ğP@B){M]YGw32MomĀ50C-OP'ӀӐHT0ypL ;ЀЂ@v./K @_ Y'?g ʈ ` ېi'"}`8~A`ix0޲ɪ}*pC g˰,˫gP@~1/| A@*qӟ~o(`. @c0 4I{ ӫ18@. )[xt6'|{L*h8f 3F+["pp'<"N@Ba:Ug h?"GylܲulK1Gg L{ Mc~;B%5 as窖{@|J'RX x/v ͠n^ Zܶ*(t30&X&@X(f~L 9@x2S}BWt}@T ѓ;-[CMD! |WjCi{Ҙ- _ܹyk\ ][&BGnu^{ jlg)I]#3lGgk14I֊^pV1:ۉv|zݤ3-^u~j&!`< Kpc@t1=3S嬛rԠ$4.I<}+iA"\LmFy$ kW2vM+kW<ӦK|O3 q &IyĨ"Al?O Cc EU&H +f|qq98(ólIpY*rGpp |GΪfΐiLX&dSw K@ ǩ3ũ (بBj[ICKC&9 RjT IEK>}(EY3@f8!CSq&YM*\w'kA]n]%`|b=& .08QOQ#2rX<ʙTEn_?0xxBxr=`r2r|d P$- qB"( z=*ٴYgxDsa\YfURCxOcC9ǑrIv:8GTz@Ν:/)w(P(@`aA/ P*AM߾O`"$7pa Q3 ,`pĄOMzoǑdl3f4䚄Q;M2?cudY`I@}k9'i Ѭ 8\ aߘ/@0eES4Gka7}m @:ZKLLD㰇 @,k6c0$#zj족Qs!0 ;1ډײ(giH6Y98$ !:G0b:ty $Rӎ6( A h ?F,$"],Ԝ/:H#Aon]X HNz"ߙp.%jٍIvem3@*nboGQ@mrS pЀA_ 0qI|(0"8&AF@Xi"8w`u8()ٟ0PD؜ K? 1FZ ͉Û Zݛ Á"Xhj6H់s g6IC! g\PX!0#ɫC̡k.툉@H~ȝY}$(zC(ȯ1H~C *U"0u0 | /"0 zs4X~8*DAS4laȜye==b2=` B9YQH(ۂ+p#ɢBa uǞb%4 9y ٵ#/X6ؗ}G4,  X0xv*F[I`*aAXwi?x 1,HY܇cBv*H%S }@((x p鐸y q(B`8\'‹ _+i%> p|=x~ўZIr/HEѨxzc9M1צIk4Hs|"0"(Hb0mlsWړU wCH Љ ER9 pxxpw3HbPxv(K / 1Ivp zy h X *Y `PwNڃ/t3 Ĉ. ȂC߈J  kChsIxtb_xZ`|(zT5‹ bvhvO1ZҜy8TH `GY!~9M҆h |pvڽrʻʁK QIQEk=A onpxXrPx}L!xχ)" >BP78+\ȉ!q eA-|rZ`( ڇC }*qȇJ2}'诽pxz2Ye(0*AɉR RWxL+`䭽p8(]o:ÀxTaWJw֍ Wghy74 Kѵ!}8BzX~A[ER pljBrxqۦx~q( 8 #a5}EP~鈀 b w J(2!0!?Ό|b*xم!zNr &HT@k0t0M䤇x`yNq{FB#@CȲK*,1HCĐ3^ p} 0rOt,a?@JcF]H>-ppU={r!ȠA}J9 IN.Ӥ QۊWIGmɅz9N;BMsADz!  Y'DŸ ϏkB([يԥTA#d\F y@袤`\~ӐI!J'Yś#𭙢 V/x~%l 3t K[աnHe`f+$z$aYȄgɘ4NB~uFB]Zw BV?UB:GH.U#IX 9Bh1!; t (tvɞS a ! )0̎~+ICA!F%4gҜ Ϊ`Դ #]{"8i9"P3U 7XxÛa 9(˩&)! Ӏr3T\Am}AnYY12|'i h{ 0ae0\b':*$|hiuph%z ̐~5zh$lmcXX8AiWJ yI(ɛ|,ٜl'9Qz5ЀPXpwj/vH`3 VNC*pvD;D`Ɛ%qIs-zm{&sx}iXQ c'! {33` y v|mMai8{\*rNqPcrHe@j`{ȀXkHu@ Lzw!D #%P{Hng<~‡Xqq֩2nX-2 amЫ Hxyɽ?\2q/f,Q!HR4̺Am؉qF+wI!! "~HT !j-{?*qWuȤ{c0 Pt X @Әt(kCP |yLx]ڲ(Pn9UP8} z t(p5SܜAPv n-u(xq20 y(zQ/?3}bET:ЪŀqꌡH$ }> q|*bPO8n`w[  ooh(9 8rtPH9tB$l 6AioVS` *c. GU^ZP@={>o(@ڋ{" y od,Xjx<٭xH ~/eRFe2{Dff +p(q: |t^w%o"7.˄>C`6f4[[ޟ%*\J즢R*h`>|(PK(0}`!q &BLߥ.4[*o,*Z%RL'RHl)9h;#"RF r2P !K(ց+O B2~#0k۸~8RRNъD(~Iy E&NhHV+ B$sV}I6ʢFV2o12J$z}rRTGM*\(j|ࡐ[MHz̵I5njt&`9~ zGņjȖވ }r{kz*(H0՟M%Q3F黜@$@p gix芙ҭ|+jdn9a{Xv(p0Gia|Qt < f/zadK`Nn'z'Ϻ'Aʿ45zQX* ǗVtgYU"ma >~Y2 Iv`-ʑ x-} !}y;>y7;/Cw8G0"lIG |Yb:T $#H:V~ )LbA -F8}RƐ @XiV=,@|ʿH%5w4^ȉ~,5KH*C|C *FBj &LX#n}#LzGF\6U@H qfZ|""2>! :#Ux5IZ 4xA䤀xt G^#  1lH 0 =GBs = #*[ϱUa<6@tm$Җ?Hc!Li*ETAGps>/wZ5#|1`LSN`^JPaiKd6"ZGOT * tN8Ǡ.yx {C!`Z%DJO=gnUKb?(9OUYC7EԊ:,{AYJ 8|X&JCQhqiK! ZbL!izSBVI2(\P`Lu,2%3 O "t=`JFŔPOK@iM"s `L%d$IDa2DȈ tUQ);wټNZi,P $l@(6^H!-%iux-PP üx 7`m&4&:#R5ZE15qz؅h?Z\rĂњ ԛ«Z1(HZD$es ?5B"ݣMsC(}DF 'E#$U }| D;ۨm #qr#:Jn&w"@*4.NVBB))xk5m@,,!)>T!}Sn s! %%2y+j:tUSqh7BI~kNomŨ  L k'(1 l|ï(He(bbzq0vӎl#р^>[П$%Rb׉&ziQ%a%vO1Cy %K &fY#O9%4R Phcr:U;)p"i| h3p @&=s=; aD6_p e~=PD 4ASɄߙP <ƦUOG -ǐXwMx<ǀ{C;&&s\0B$%r0 GVj0"AV/@%&(kGFa("A,AD!4!b$M`9Hff*!F*'^! 8 ;"`O6V~-ֺ:HXe*c&!@4t!2th&%2]bʴEw@`i !`VRZ@ a`k~˶Ld%jT.â'p \o('dx"Ud7o"ªQL'eY/I֍T$lRd"nlI<"ĩ@&4` `^#(ep"""-b@bĴ =b+IJ&1KN6bL"'N}?q>FD-s*"bf9,mxl@-<&*P"h`F-Z& 5z!\I*~*!wt*cFnvxtx<źK<"%"t~>f'{?-@hHÖ'x 考G4/9:~=(JBa-MC?$"丿l!@M> FF'cXN"+L#OXc&N`*`@2 0`ՠB`Ea4&FhBc<9 hBT$?6A>dڍc1ֳ-ΒtC[6V뢰' t!֧0-H mɾ#⩀)2b( V ae)B7 SG%Dcl!&h;IVH,<'DTm,D &0 +⠅Kc!K,M2>;&^ U`HL4 E¦,q``b,&(`^"&BT72?4:^ G*X9b#qgB@1A8$/ t,DV>ob,#!ܶCmd!/a GHE^FrJ@ &+ #vԀZ]AXDf_>MF ,5h"i_eV(δUޜ !F*O6MFX/3~.~j+O*<YeHJLOMauM*d "a a4#PB0𰐾#_/9$NE*φ ~&C+*(CT5cUgj&'# dhN(&|b"z $.Ad^D# &}k:D!ȹ/cLآ:EnC&KxFTAΓz^'o&l(<4>HO@LM-.'$!N g({4A`su*I oC\@>F` A u$$m>2 h=b«&6"Š,'("T-bF+Bdb"6aX$'`߬@Hھ> B#p#;0-B7v%!`cXOOI”6h~-b$j?heIV-xwnK?c9fdsHe$ b /g hXbeʼ X!.nM,wC^$V,i<>;7MiM%  %@BBBK\b]ˠ$-*{JLL7CJ o!b< $ XDDH#V@AP1|<m9BvAIn6}삔\|Du!e/"Z 0-nK|ljQ5$GgEyhmz 0jpilB,8$m"oA'KsBCjXb!iƅšg'c~LΡ`ָ=+GRb`^F>U^%Hb!ni =C®'2QCY4@*"c'ha œ0^QyCXWB4 4A7@ b&F~rb*L޾C!鎨!3kf-@ @50HbәCHHr>!r 0NHH1R@HRRa@<b/etNX!z3ς%PCܰ@aAV>@>T PH?-EjD.Xc6`.P Nz@&&z| FDR 0Oǫ?@G[TN=P${ `xCei`0|߯}@pH$u_/ zOP wO P" 1Ӂkx .FeI  4A]>}NBK]1hl4O' r\~lύ0 za@`P3ޱK(xu_`@d'|+` @\w'R&- ~ @|̙@΀b|tǸ>  1{j3Øx '@ !@ `s@1vk@2 LR2#MJ/NK bHmGiybRg#J$S i z|S™'i`LH ȋG :Go rNg "g~L-- .<7܋!6+} 䴌' tCH<NbpA9}o*"z@@  BڙK/=-xߦ'PxuF $oy'@ w2Ѭ.M)9[0&Gp*.nѫ& ;ިd'1'"1#Z|2D5M?, ͒y(&{'h aӭ ,&ăÎ NB*7z҃.PgFO~:Kp* js8l 8d tkFIkyI_Μ*Rh<5?>Ηfn4nρE$sݙ23FpbS{V',9̀p('鄔VA|43%t` =`D LcQ=hx">k JBtÆ3p?sp?8h 1pdT[s=w,(\t7?XׄJ0 8pO9&XߒKfmRL:C䋾tB.e8$D 5%XP() q~ȓ1@ N3GK #B ' y1Jq] 8jr2 &Jxjn`RS4-xܡ ) T*P"EiX8Ør<>`!4SRGj|Q^Ǡ^58 'H,G/R(G+xj%'H|g.ק&cR |0$M0P~Z;ǔgcn 0}@iWj8>ƨ l 0 a0[͞q~28hzA<`DD{to2@@@j]j^ xSO g$`h/촏ѥzW`U ]r.@@>GHc(d :e d@bfB7,$;ǨB`ua@mMiq \ 1cୖ|xs2d`!0gd8.b2b,Hte%)c-%2Q'T¹FPU(Q1ȇ %TrѶ'W_WPxu atɁswpTalvxsa0hA=`lUb('LvKQ RYzz'tgKQl)D&Ds=A~,G@U`LUrWa?$Fi"^rs$jaX/Q_ 5T7AX0LP Lh4%>Rt^ @GdK[٤$"WNPv($j%%剸֧ Q)x*_%;-B2XЈ` ]Yp4j"=:yy(|@@0(qp`ucp JLwq`A(P$(I¤ߣӐ2J'q>`!A Q8`{$!w2Q Ih7K= 銊 c9E8Kǿa *2h|"+- #PPq(w8 ӈ3:X83=YC8Z?Q Ԥ[ jd0!#˛a@ !)EEҕʓ  `Dp F8ys]wxӀC!F )8ր:q/(ٞA 'qjo֡ "1DB A >G5:,zPD NHR,:=!x!GPi ܇Qk]T^"Ih ԛH|i!-`  )Sj k8+pQ T)Hض0z  ,à})BqPs*tHv0q8z̪ {Ƈ!  @8cmm 8rp ȃ O`5 Aț.( m􂇒 @+^]vx#P# o䇈+(8%H DPvUO@j zh>0ۿCY @( 'Ƞ %:鞙ANDPqTa(qq8 p(t(.K͢CL 00L`,}  r 0v& {KQBrЯ0`p` BKӿ RY"XX2b p3,D+:vp 8XiN!/H, `3h*p`E}  l.]H !8aX(I*2`mhwwxx| J 2w+/#p (ټvYy4:(zv plt .U8oxx` v]u:(P9k 1B(8* pY,AQ+hrX{ ꦀt-KC=`O%p㛂 ;Ē{ֳ;A) i8:L&%B Z0K$?x>A&(?>JlΗ )Éܩ !։ ^`JpɦFS,LiN "雞4p NW凪S^إ~`X^EXb#?)DsҕHxBa ͢FA (i?1 Éh$Y)C UtؐEVt&*+ ZEo | - .Ey0tu}x1A+( ߙd_\R*EҩտAe*_!fxjbkO x!3T8>e?v\T'e`؈yys(9N(ѹ9|d_W8iz `DLQ)(t?`|+5]RbH |&`=E[(DqԷO%(*Az6_nO8=<{$FPi=wG$X呱P 0 0b~(ΰ>J긙-+3!|?bB *F ghg}H( { ur@ E!  :ҫ 'Z"38r9dGl .&ǪܵS 'z@Jϖ0c(t tиwP5zm ݊>l()Ya8FQB yHwMwo3k  X׏o Za`,) lqY *1[+tƄ@lύ۞zu@S] ! Π0Rwuz-A)M0 CJ|!6ߤbې} K)i ٵ"`HS~ & 3zx9ɸ>a& _ MȒoJS v p|9K{"HJi:l0y-%22Rz"(n  H|(fceqm sv [&)C%ioe뢉>n`'8s{=0@}8q- ul8u HBR=F45;RЛ+ ߉ y>4#r[xC< h ` 0i'g_a&?>pay=u4=8PN(@|Op_Ro%%-!ڞb("KY60%h}Z]RhxԢ?՘J=( fPwC2SF7D]  #")^_Kbp!0x|4f,s:#Y1#}gw ~FЁx%p$  }qA_}F`HX;O/Q@@ z=/?0 |&^cK u8@8Mc_{_o-`w' ]hq=(?RL1Ĭe/4 Hϩ=A%3(,1S*-Su%3XĿ3 po c Ūx+~p[ )vϼz<ވKp1(!)R#ˊ{$04G [)6F$PJT0 Pg9 qg"j%LJ;$G @#G{(g z%l4b|.h(ǟLi6x iR@hjD~Ҕl;#&zG( P_# s\I|f}. B/&|Ǡ ( ?j{gIr'y`: 'w{tR2 PuP,ғM$FvzSr%gav&X( `8 TqFgYэ `y#1 <}W@vx6 ^pVg)s" 4 9z&bhAdzΕlA*!GXp#j#,T6 ǝN@` (4@Dh ] ]uu'Ihdu0h* Lfm'ax5G/r@1-,/gJhcn`D\tQni7Q|}N(m~,0v~bgCpx`}b wEy@"1 f(Z@7&d5O%sz`0qG*L@9`;[Q`A?h""?H%b|Hr5w<& `%ޡ*-54U" \\ @e;<8 ZTU}GnFmȔ4TP c]C{DxnuKBUB@!RWtL]Pz&ހqu(L7#UI`"|hRﱣP&`{@9TyIR|HƢ2cQ8kG0HR#o4/&S+s$F |LIE*"7h*=TP!QNr/@EM5& =qkZF%)hGvu>AMOm%ܗ*D(Rd_o }|̈́Nr*8E3jKɺ1D+#W0Q] rJ@ts{mS6bR{͹ %?X a,e[  XV*k"JhaK%)D$TPw BTܒB^|%c(R& yOIDm/ ۋ*+ehrh 2WDvwڎrG#c#09*Jy.adObrSsz ]nb@bUP-nQh"00CJ8Ce@$RId PcxD>5#AZ@ėTjW#X0@$\If^a&~"$ddNGN*Vɂ 2j>l('5D%(H!l>aaܧ@01F#ZoC~'LJ(EUi|{&'҃J@GXaA@ 4abN碖F‚,0aԪam L"2R͑lA/2l8‚0 Rv0%Ђ%*8P<8)JL9DJA `d2Ez$V1-n0#* XDbR5 Hdl&NL8BW͘,֣B3z(C`*N(N8L(r l/k7C ʌ0R+,'Bf(cZ $0">9BbCcP#ʲ'e|&*bBM.tG97@bSe puRwVF`,rAOdc*cC1b8E7D$Cc1c t*.;!3HK)j&s&ME: V#e#'/@e2 .e@j 2v#F(L,r7cwo8`"B! l -"AGiHŌV^$ cn8&QEqF4b.#CE{Ұ!3p/YL!GLc9zB%KZ ck/R9A#fJT#"F!0#b2Aj0a%AF&6L p.s=a Dt g*RWX%dl@@Jdف-LD2)-.~KLc3VhZ6"Str s"ngk F[n* !X*lIʒcnLS.NBlbC(db#HR& !fx 5`.$)FbodQ(4z,~X,`)OXj97V4RW3`" `2,$6n!|gD@$*`>K"$$h ZtOxNOCrl%!*6e2plaFt`46*@T<AP00"!)`^`(bWDRF J9"^#vZD 2eHp4s"g#EjV07d6UD*l%_@s%`d`+]ϲaK!jXX"A.Ь0(~%; & 1H~-!!8CE~ `RMbp權! EdLdIedMd<49JG\"RN þ)khkr. 66Eànv 'J*B?aD/DX"O2" gvj)c!hHClJ n ` QPNQ_J&c,2 4@(@&*J0q&MM@2:ap4< Gxp#bd`2GnչV&E65UC"'c r!49@>E!U`BJ,b@$#(bM>T$ v$5>0 c22Hl4a >d '\sC*bu"F+6ЅNJYX9 D C$F%%,5 iBW#؁+hLC;xi'5ZTHbh3;hyZ%5J8")O KbhKG@'l:S*GK,dfwca֞Xv8l?.dCZd*Sی%$x*t&uHV%~ŎEdċc(@40v`^%&Ԑ#dKPbbowP<\jbw`cgtA9r `:hAv`˜d=v(Je $壡& D@l)xa,0]ܲbj<41op @>H^bKv2#$&U%R vfj^aA-x`@&^9!l()NKXmT; `*paǘ$VS%HP($ eF!A){"/*кGB@ ߏ0~@8p?@0,z= @ _G@   O`P(|@3<E-I_:Ŗ{>+@0 .@~P  9opC@ZLjG} Z@P3֮ﴁ#Rp"x Ϸ5u:_4ߝPvH( qu.K9!Ձ^Ͼ3Y| H(ӢP7|ëjrGa~&`6 {`9}9Ov߁j@'6}:4K:&kRH#ΐ<@8δ @0g0е@$r|HB0,B4ĴI's3F9qǤj*@.8+' z<L|II0@)#VgfOU4Y & *8"\!5җ%*M{ԭHħPW2*zWr#Y}4:{s0w*x:b! uՀy#v;hqD%~P 5n!`",| u}u} BDĠh$0(8=~ @:UJ~yw@(' c'9Fx3 Sj3L8^,xCYYxZ0󅳯Bxp; k%+[[='HM܇-+f"iP?Y7':2vKmH0}`1p y2\|eߋ?uOAzg4:>[F'}sU u'a[b%wV٣3W:/E\{TPnXp г{,EuB#yА GINdO!-!m&z_Q)XBʾP Jy18S @HTP(cg*TZA-g~p?CjK9QsBR5_ TK@~dV. WfQ,Y@8YT$esfb?/@ ,=GcQ˜ڋ̀8c uKPR 8Vq;p $ʙQVOh`gql)EXM"`gHBH Pz)x)/.P-7\LwP ` QGD67~Q=GCl5#ue=,aRVhnp 2M7.:`tr ;ǵ!,Є怄]*B,Hڥ:i"s ~eLrhp|%~tjUw1@0$PL^r&h3@ I#RRl":{DR & DN .R3zj)$|3aF-e0p`g9.դ [=c.(CϮfl<. tk*cx?:;/]X`G-lQI1=7%Ȝ(JN +""&Q-6"0g&`hpKo[ ԌEN܉۶[oЯfn1x8#fPT `X_2b$I[`JoV(I|70OY}yc8ӟ%mS3hXψa]nM96)9Г g"oOhR\|  |ږ0}8p w0 )PP !-09>Px)>ϻ!Ka0Z*912kA. Wc!Pc 7Ir(}!+B !^[ Q=7t2am0ȉ*vk9`[ hpǐ4Q.hJ"( x+Xya!#a*·ʒ:܊P$ ;X7K А ȉ- @ΠBZA (ytPx 0xg Bi!?`+ ,P`R 1"#K[b9&@{%Ԙz:RhQU!I@ْh8=+9 'ݵʃɻ:^X bAm#V `{ԩ=2; = S9X0|` x@1}pr0x`yX T5@J^2ʙR1a.\?=ݼP4$hxC]7ȁ2 |5/@SVha-[Mh8hͩF}A% J 10a hiIh[0RzaPsIHr)ᇨ0HI@u\Q Q{}P V T5iJ^// <(!H$@yxIbɠ~:MK0ʍ‘U!k 0*؈vw8Í$6Ea]w-H0)F!AwTy1^;5 81Rzz[Xz% M%Z7:Ӑ$6 @q,ŌpRHo I( B0|q30s2)0V:dCan7K'N; sWASX_jk*;!~jkvR>1%sw`}m6+3O|.·ȯuMЂZ  DsXmw fm3ༀ2>:A><;>=! i.A%Y F>۟ ;4t]T`Uw*l: +& !b3/N q @ \aի LZ苍c ۈ^8vqU ̚P  ]CvEx`JQYĹ?yw.A~ X*0@xu9ɹԗ<4܁'\C|(/~/ģ[ yaH1툞?`4粀T ?ds1(w xI0wXz} lx&kQVmA C}9Jy1{%X;puAXZI `=  @`{= @ O|!@P3@ (}@I}?>e$: Ϲ~0+k@0 z,UF~C% 8(W4 %_`6:}=ϸ]+r'Պ|'@p(}mQb4궨\g݊u7|Ayg7'y=^(f$OkX}KX+]w aۀ8x2i( ?Gw@8đg d]y :ƪH1,."ɲ(#k! 'ʳhǨKXҮ*|Gp b"`. 5M0. xqp)  /0@=KȆ< aī’}H)2 x fliAQ P Yv&$gTRr؀A84 3Lbz;QIx`[:< u "(Y~,[ ,WFgzU9w$ 8H cгI)% ׀CHk(Dj޸maj}>ik%3=qgqbB~GzRs B~gRj-ۀM)"  bgDz~9f+)"HH@| HYy\( s~2L 2"/h G{37Yz*Xf`,잍Ů4ʟx P|ǠFXէLGI'ǁ;DVb+}I4ױڊ a14ƈ8 0=G9C Q7p@P5VĊ*FBx?˙#y0 Ds;M;-QI@rJܖp` 7UPMaJ'zaaX E)6^_ނq$"fGhԀAM.*.>"9Ǒ$⢀F!DB\ȡd\"5Uh\2Cv <@`1ӒB^c)=v2GK'ў]rGԒT5ȴT%ݰBK/Ld1]2&$"A8yZ5B7G #?6?N%.B@?}{ȌCI!$(CILHɯ&!$SK 8\{a,b伏f4AF蒞;p6>TuF6XRMIcHW i"GD^BPI(xQV @88E)f6סHKhZ̢>PjXb6oCRޥ+WIH!j[13ђR ЈqhE!6$rdNyIt@?@ KcKl<  w(?Y+Ԧ"RMX6U=\J_ʗҸC,VCjoKRI7tCE qZ{ntǏWH[֢%HjT C^ 1Qp~ l^GPdH1&f:AB=ǙXJN֌=BMe\D䘘JP7 LVKEuh[m  qH)r#$BU C'.gdG΂47h|?2qr= A4x`r 6,.sm#Nb" 6l)ˆXy@њ uE:Bs(zl`_ QOut~;Xljk.Ɏ#hØty+@`tǐ#Tҏ&L:ruT)Hc㒮 3pA2x@RhC]YG.t+(DlQ;p@{`,@54WxN_fwd. 9G@8ƸhQm.`( -$Rp\\ za&ΚW?nNRϚ:]@}f2p#pvt+ $&1XWEGK,!a&$ X-FyC5U GTP.x^J"e0b[IhhO AI`|('` >$*&8ʉ !*D~16.VF5%*g< x8~ -\@2Lnb4XhD2lB^$Ȏ+Q020fpPDẢ`& 6SD8ABxCk!$F.b |&@ 4Rp6@faE fh/ *H'IJ®%L(wZ `@"K0cNQP:P e j~R"6>BMP"}EP]J15d$4֩+j,>9p,`* ho<$!-M$D,|[q1cn/8IB.<1ɀSr+@&Z"T|ӠD[!&,$DQb"p`#0nBJ4< 46E&;B"0:䚱iK(zQ@I-MC"eB}-E>!mD@/.nDkDP0A%^d01Gpm($CC R*"R*c#R/hh%5C,M0+AVJ!>RMJH.T&!EHKxeN-albǂapPX&֌b"dqT2[B jJ˜"ܮ1@Amr'pq+:/Io"(R4@& :!.a1/t\D\0aBL%2+#,:rDN8!6AA6H"B~6.ppº΄^-"cv,BBudchTaOFjx="! ] ;n '1 ʗ ddBfHa߁'V7a8"!1&"V8-9)}(QZ$`&uaa;&`!0FfBAqĞ<$7B"hCP8B4B,^)F񃀔s#FBlrĹ$B- *U&c^I`(@@Apq5"cN5`uIՏZi6x/,Cld)A Z'KOYx*~ "vR`8N`4PA9J2#D|@ ?f(w(0v&&# XOb54$K+N"'8ISHu'%)lL2þ''s-BR &Qij+gl$̢S^'%:jdfEngkIQJQjD21.֋6=7$-~m?@A!*ձnI>]<46>C|NJ#6J;JitAdu< ̦,$v~5tE!rn6dXóo&njr74.(r<]IcodX.@ 4:xZ1ʜ٬+\$n3HpĞ%t9lp!v]pku8LHn-5I,6ȉ$&l%STl5 Bn"'/pH<o2c#*Hx*"F.2JSqVڜbr0>)> \.2VpmJyn.s`%E׿jK{jH)6K̳dx,"^l>Z@2 VPACP!1@#I`C_#8dI27yS*’'Iy ,h4xrb+2d.@ynpbA{P)`ߠ8I2#yb r@JDN' uB1EtC~Eǃu&!rj%%T[&Yf0ȴBh"B(̈́D͐)5|"n/3 .3 TK6at@B "!Ss~*ɋ-"@ahag9-od,S2"V 4Na"²"oTsؼ^3¾1" @I)a c$2pD8JW`ڇAb a/@x)28qI\!Aؠ,@"1oGLLt_mX8^`,֟-im@@8W6%`;ARx@abtH݄   ~(SP@~A0s}"7 ~( w z>O\ ~q$  L_H9|<^``<@oG|H `4{[u\&=/:}1Ax(wK Aܬр0 ~@ +V#MѾh9xN@ _ P06 (@`#ʃW0&B~-џL#h<-F#g1̘ @@lWI`@X01o9 ! #S샩H,d!/|*D(*z+ɮ%ILp , QxJ )-AP+K b lj|"'hP(,~ <Əj H$T)<9cvDP/g$mHW&MJx@1|->u% H)nC{y`}?Re|'/2n*07J j&PA iDMIug՜R `_4>R4cvA+ { Λ5ep &$䁔_)caum}LM'cv&8zSgk) Hyq3H'tžiG@@1OX=R\qU`2Bh&lJsA !`T KF? 1>-90h_RlZ o![&V0=F9<8A%@},V81=a1w &B C#"bb0 DZDՑSG*,8G)* JHn@ a;Uwya%q$U: @xP1`#Hp6!˪P td`۽:_ C I['ㄅ@)7eCѲα{lL$WD3TJP %v @j@  ]6BnƵb @9jGb}G4c)+ėIHTz04=P3-C*g Jf dtᔶ9>gwY7/6=#&d"7JW }8FU:X9ϵ4VPzD) Hpö $i19}I4e<`yPdHeXPpɃ9/~Q}S‘uRvZJk8Ѐx )| Gu{n0q)`!؞*W ls@ixh%wAƠ |l,8~cc ʴq(,ʵ!øcx_[0 򴍲 .@ rH 5/ @ ˈl)p hoXe`j;ڀQHBS -Q '⛌8_t0c xxHxkBW- zw@@y!8aP0 QY( M~zsࣇ/9@A9 !z wȏЗ :%x~Iԇb ɀx,p}!=PĹХX#behtpw2 NjR  -ZrJ P iCpwk)<ቹn {%dPx H.xġIXp0~ wp|NC X } oHu\ zS\$ !t]0 X4>I P R qr0n{఩sV*Ulg![Ϸŏ*))(YNdSihcaR' {PԶ.E`抱'h-3$CH )rqXớH VP'aiVY3c#Spb@~  ӂUS0 MQH S1? * 5 ގB>)}Ny2zx@SBBB][h_>L$8#0 u( =x1ٞڇv~ ګtV@1,[Mc aYp` Z81۸I\ɿ4垕XkZ*i L D [xƻ(3JR0թ )1SQ^@ڋq1eȜ/(-r C p̞#4 )p{zv&y y7 `@ 0 "̴C3i7+((}}!ڠY򡇘d-~hُ}nuPuDpxP /aZ(0{3ke"'UQN5H Εx@dpfzg2P %^02H H 4)rZd ]ӀQOz MнX~2UQ q(q" f: H. 1E, I|`zVnj񔈆\ #|+hR$]Ad'j6դS! Pxx ={Q@ s8ps8KƀxTyF X8pԱPs@`:}#)ܘ)&hx `pvJ]iYjK/.,?Ѩǩכx㋀3@x,uٳ2ۈrJ0eYeP;@vM%8Y z@Uhy𛊉[며xx\ p I H A3wq0jq  J*WY5EJކ`nw  `z - #!@bί9КAy֐"P~n shd<-C} 4@޷d1!P$0|& Z90< 5 bpx0w 6%D8̖x<3q(uo )O[`q斓P6=yȸ"pW(((xlw c#Ul]Q?b̜95,y)Sb8[Y; V -} ЊA 2jrҟl՚~wxPC? [HG(zQhzHԆ A6I%ŐZQG+< ѻaN;M9ĸh, 6Y3Wz̍W\ :. ثl>; ~ y+؀ @p8x` Yg _"0:IAv@D̒r>ihj#Ej)aK͍PKEټNUo p' I_D@G #v}OG,a}=`"C?q0=8|>·@c@P'B w}@P$u>Ah,?@?$* CwAp` :O -<EqNGH8(%=~P R/xz:?!tG#&,Ҭ(( AȂFɸ{* (4@rN"x Hrrsla`R G{'|Cg`0 92,`G$G"@ +'|\`2 @yǩx'pbtz@P 4Nhl,d( ҆`QwŹq"YT4 R,V}d0 #`P YUzJ #9~ LG獣@;&)5[J:4 h!sfp}#D%R@u`x vɰɑ}:8-AԺEhOx 1|R؛R'y &'q맴3`!>h o'm0K 5MZNm n93t~/5spjaz!*KH[͸d XL)e .?cdbWA;@4<"@0HXlG@LII:t>BB1GP  (dQ $@Gw1a7@` q88Sg1 HjOL,%3ȱP%g27Q,,Y|K61*4J=E`!4,d DrZVЬ, ȁRXf4|"!1xB s<X jJQ@,ZZ^!AbE;ZTu W!zn jH e- |1~R&X`T,Mċ9d09I:gUKKԷLp,I8?SAg3j& -9KML#|73xqE =")"9 RZ,c`7kv}FUjV$P<@0xY]%ҪXOh,l[dyGyf~,1i"p&=0+B Fĩa35^L@H"8G"N#p` Ԉ]=UmJ#$jCE f X#`QJyGDЪG4 x0:D p Uj?'HE> xڞXHj @@&ԨƬ*)ҀpjVK6(l?s j=kp0M#8TA05 =+J7^ePZ2Ƒ5d^Lh tdMF>]2HС |2>̩){va[)$?hh`uK04x"4|A j rst61,]J5-$0:ԋT4ߴ'zH+ckG'?ؓ?bC+3#z(pB8wR,’}RIVb, A&)V)"V$>VB^Nb"H ظ6!@D]`QE 8$!r/!!0GƼ́_#m2@MeJEhA'n:Ȟb.!Bk68JmK3&Jij@(QKF7"^#L 4p#M7ж|p@żDG? L"(AQʯO[ϲ/cKUD&GiTmfv4?:͂`.v ( 6Bڷ`kI!Nb(QȭR刄) iUjkE\Z!4F%cM" 2&v ,%B^$^&pO&ب.nT$-\;jjL@8N%’&D6]vrtDCprNkGr#hZ'&n#NʶccNJ/RK) "J0ğV? D lTJ g>2$hT%ERN+ʂ8N. %* `**si+p4*a.#$"h7*ƌB#."KHgH,"&)b.ҡ6 X#X"(A=bUL@hS8-)kʚğI,&qiB'( $#r)n!f43Ȋ12e)g(ųD8%$kx"̰N8"#ƣ!#B~R=2b, R%,1[ #*ۄ#]`mW#ԁ ("2ZA KU2.`*+zdn:גbez%:Nnlv֢0a=h+M f p6)(M|#(fNu>" -: |ECmtG梍cTf&r[a%<>]0."#!Qހ,?A GCjA.,>6RZNcN">T%ed!9'hNLAiZ@!!A^NMf'Rrrs%(JnX,+n,∔Zq&/9&hD  ,,@La_(f.HtK½$[f[˶k0ࢼ7|̸/'J[$) (`WDι edp v"TL*,Sg*)HHO֤Y,"XD2LP 2#ɖ\C^1&@gfF|7bNn%b!b*gj#B`cb,RbI~(64A -4K-b|ðb  "(7d!"#b #*#q`p@DVS3b4n>^!ж6GM^w 'j!czTi!yD]Ej7(P``4п ci4/XM&Ȋ,Ո$%]̃Bnl[3so ŠEn BA)iaJ fBbˆK%'H.90iZ.(K, hׂTb(l+`!c4AMC}2ath!јH46oxa"x1CO'󔼉TlR)7#r3/q& $/p!h(0IR̈́SLL2-J#r)JL}%,Њ^ BTV"BVs% C|"{LZaZk1GH6&fc),Be(07mBOFz~ } kx[ 7k8х'F*kckH1&fŴL1CkЧ=ɰ(76 ކsR k&X@ 3f`bT Rč.ܔ"G k-)!I 1XMx׀K4bc"kA $quTU|b7)fHِ'!Kμb}=**(7Qa眹͔?龿z:g4nk*BC|, sPʫb;Bوb2B/~'m"ǩ-2'cBJ"cN7z&2ʢ[O(R?@2;J8s&KF&XB&K&'^7&H,m %(*,,!,Unh4-T'":`c\v4l`% Wdq~@-h%VQʌ QHvpK)8 I [FCo R$Em&l!bJ@RD{ yWÄ(:8D`,VNdŁܤMA^Xe\Z2hȖ?b_h︢~06=cGiR\fzF',OH"YOžu Ml@A.ve+@&Πn&i.Qrt`i ̆$'Sݸ/"|L V"#U:3 "W6 T\ ve#^ȝgSu jh aF 4Hb)<\`6J zC" VkC2 G#>&E3{da1߃]%\$V\˂" vr .խV0vB@dCҀxӜ<#\b'z!V+7>B(A<%jŬ@$VAF̕AAb6H!"%7CJ8\@uN@=.-#!AK?`?^,$zO" |>@@0P@@7~cth${@ 0@,} +t , 2~;~ Zif? ^kmp@ Mgp%{3\@52 :^+a0$=`Mw}B0X*;ڭW);[opW `H@u?-I;%|@ [3: \G ">*|¬ɹ+ jbkQ o$%̚AO#7&޼σ<4N#.!B@B#G钚{gˮ}#jʇ覱brb!c$.즀.CJf~ǰ:@wG$!O:6,S g̓A, ɻLrjɸT\y!D: HO{`AHpD ũ)(ta  n wGy*[@PBG 8 >#w2péQl%Aޤ#V2(((N!M.%-ʹ3[Qʘ8TćBJJ[j6Sӳ~G h~.QQN%zT@:y~"\䋟kKoc`Gs{> uaQ2r\QH-TW`A}:}n@ßLV~ ڒI{)z+?BI<7YshN /Ds0糮+.|Ҕz碪)λoOnêy`#v I0{Θ8 \Q00D:ΰ}0Dl<r`ìSv<ґ$Hf@|2. *c/dŠzA-&>͊< ~x<Є&3c 9vH@p de~aջ zG2u:Cs1@ aHM6}1@BzF|DN ?( A=aLa7(BQkXMuy]: Y*s<Rv?AL8D4A {8 a^kwA #r:A>" tpvCZtJV@r쫀DqǦ{Z n>B2~%Bd*7peP@<܌N!,(bIHҘ[ CɅh?$GRY}{ A 3pExC !%(|V=a:}|X8Ght}V;G x;@z`0vA6 D "A0uf-2r#( cLqA]x(r+ D@  zy퀒=ɺT'kMY*x1d0B*?u.S(wHW %mgr\#tjDmil~ޤ˩r1ŀL>":G2LQ>FgAćC A8qXY-rr1 m$ꨇ;HqkkTG*D8?UTU($bM  CnBRֻiL74#אw JaGb*3mcgvHǹ kHqzW%26z=\*": 䓫 F&0("ЉQԥxREʀ:xR)^}!$q0ɌȀ|1XLjц eo΁H88 P:D~at qY<>!( E RPyj<$d8i00~ֲִܿL1* J(׀po"hzP011yܝ@6L0#"mpXvX} #(( 0ݟ)?錼QBXP|8hx go;8NXpmR%Xipx\i hkpvZU6 Ƃ8ˍ͛ 7Hƿt|ƣ 4z8ŽI: ӈSP"B_B2 Y 3o)%)]ʥ |Ovfp[xo  u4AU%"+fzڥ8H\oXDĸUYI{EITT"@~ +~|d4BهI!wORY\-9ەUihiȇ,3>ʋw'y)\ ;P"شbv89Bxx9qBX PX8(s8sBEq,"(Bd6SY8 ߀Ar/{OQ R$lEm(X>e ZU t8 | ;۾H@p8{Ij`y  ')81[)8Xրˢ-89Œ!T$W(=b\3i@%Ak]@#R2 *#!Q;7+ʉ8v1&ЀPvICAx-qrp #Si\SԂvXܹ ۣty 4`9IaT Hp=pEz(_)` {p~Api/x8,UBpɌ8?B3L|7 *#00@ `Ð80Fǐ0z^`j1&yc )Yݣrx [dh)1 # +aէ\лU+Cn{`ڱ""#`$H؎%p@PծLe 9)H &rBgC:vSUXZ~F8(ٟؐģ[" nn]^Y0{;R!XC sXC܈SpH<P|$P9(y<`DJ Hbk6A‹=B k" "&4Zh؋$PhtΝ;$+>rz| XxSuϵY"AR^*ڼ%Z_xT5 dV走}/PhU| uK򈺒!"7jf- /@y~||F@{յ0Ukh癉Y3Xuz ȚP|9xlP 4h(xY钐~@Hr-iL:[@{_B^fHx ڷ  LvpX6` pu)+' ¦* Yr)? R;2Vjd6A!V}]0 +>JYXPui( @ pp%6CKk(2A b3)j7Mc>HYUlw=9j'ZMLɛv )B ^xx3th( ّ%٦d -!uֽq6q]_X"9t x¯=Ҳ^TKx8):5Q{Upyuݞ3y#Wr4=Џ*ш)juhv^xu@t3T+b _ySHZ1u{Uy8mrЂ>`]!j y`ur|^wi}@p#=εE :jgc' {aSn hY7=4`Px$\8 /񬡸 c~`xqc0(F" Ӏ]pzg~? Ph @`K|>o'_O Osi UD.?_@}>bxB}n7{`MtV*  di GdVؓ+4~?* jyOW l@,]}{gqYz\w @ ف"8`6о_q:?Ā3jT@SlO_SbvwE0G}@ *|ǡƞɉ12+jx` Рs̝mx^$`XˈvxPП@(Ip"}9~f@LqxX@" C ۧx"׀kQ‚Ba9pj3r"',Bv`x|@y'Mz},ʒ?ʪCZ~񤉵mTHz`Sv~A r~̸`G;@8T('Avv& Xv `M2lʁ2(~O즲l8 >IڎĄG{gfb#mEy*j5xg+V`lvIX=,`{4ypepU M1P,$J#l|'DGC Mȝp(2ȬKY)[ow*z-$KZ$@)dvz*Jrn8ezHg'\x fpjpV譀֦+XT)f*ZAEҞ^Z+-m,[tF  Vnmr7`,61S=9;1=>b"ZИn xVVKZ#fxAq'Ue!YU3՞$h -d`M xT0 4vJxd>ଟ!S#2e)Xp%L$ c& >t)1@RHQzyww>@ 5K(>H\4Wk%PTDT8{wː'^AKcP`e/*px'%ְFM+ UdS@%|j @$un@ -əo+jNanFHt #.A]PmTBu_=$H [1e9rpBa 4 4H f X#`I!jjJ`Gt?Ke 58#:"-&NM6MɤL 0:H|5r#y݀wq1;O<:Yʚd<1&mvsN4G(chzTl A!""xdƪfGW<}Ud j!LZ=b;l?d^RLR*%D pmLX0Jej[B)V^.Er.aCvu"%-C&T-{&z/FfG a>v#"3cCZ!A"21k)w HOL)+࢜)J8kN)!"PA*3(bHm@NfHu$8#vJJh;+O(d@tq<Bވ@!jnv%l)/$Y(ҠĚ6`IcvXv/`"6 xj>to(3sJM\xxFIb̉igoH\AC#U`G,cban^ńlj6s a(--mPwnOƱ+L#L`RB",̈j^kcHqiۄdbΚ 6c?W1/!N#LHPQX@*l`* (gR"ͦ?nL' qb6ɏo8ə'gHGѴ*dNx ȃf$g`"D)6oiⶒ+B>JCZcv326%p[/d-#x̒OK HmO%`.d#_]N]@\a>&0$8/6l "*gt,m= ["xrĤ^`&[!PC/P M3B*Gp&[CMbRjF%-z >#B9 d&"=b֘f,xȪ^4p'7~?N#z2^A @<蘐VpUAe휯ə4튩͝QaIHDrś l:\JxeX_)#:?GM|+TX!M7,ˮR(Aa!@v<~=1\Mq&jGT1b_EGO`O*2`)|G)4vB)Kzl)l:#;D,e2Ă0y9n7L b>d"LdUTU %ydQ:̘:"%f9"wP##׳4Z#yV\FE4-unVNx\: b$5왕j9 [z$R*0L#'7tEkɱHR]CMhJdհ̘>!1pqW 0#FGB wfvG`frNb[`!BzxŒ"s )a ̓rA+ DN(AcgnBxAr`芟H%)fS.*7L-hL31E(Ae**Tx<'6&b$ڥ#kT8 )cnLݡBɊ6*ҥh'-h"'e~3*=v3Bf !C .f~8qf%YdLv$@v4(8)|Dw@,! E,mc#L>\85KdVyBdUC& "F-h%Ag!K\d4,'Kn,f%WLYǸ̈́#Vk@A34TFՑ %X*]@OA< Knӕ1H=eciߧb^RVdd5eIKp$}z*,D,Wzbb$Tc8 B02+D1̈&k<04a! @0f&-WdU.\z=t(4u R(c;e,10Hz4g$i'Gc\@buxס5\sfC#n[VG`b-MPx\\2mHJ-'䲆DdcrEJ>Uh\nag\ <,bT! F6c^s%GDzDN  @PC S!} 6 ?oh̤HK@)b}#Gɀ, Cq$}# a2`z=^8>0p$0Ǡ|<(֟_0~ye ]T+x|C^i4oN y]B!sN ~><뤧݃8 Gg;p ˊ}kAp`"@k \1kHa(#r<gZ,#P}ʭ27$ZҮ,`-cVzG|HihQk_,B)J"}2z܇p `:},`;D`&ܚAo"űPƮ rơ! 3Rd'5̫&! ՠP~͸*1,]Pr̋-z'}!g{*a  & r`E #(`y#z(ы L|ER,ֱqPpr5 d4`* S'dí '!pB7}`SSҋܣ*"b0oix 9XU@2<@HgTZhɇI19Ϋ®vojH#r(HpވK5Yylp I{gx'GQ ˹6I<5"!BP!T(%<ʠP;GZ;2܇b2WTs9}CU lXKϭh;Ę DKQ&F"4Rμ"@EB(mgzM# D Q64va:\l=@JC7 Ӈ !YnH24t< @^.0:p9H>PM$(H9BoCM| b.@ x@ @),< FKc}!CXM%0L{4@};b&D'OM.&;t4u'0X K$ :@P t$@j84؀s^OPn$ډ.&|e+Td\ 7TtQ<b@(X}x>h>}4u@T9Cq \DLl4wg!@3`EyúyIdy}`,d`B2 ݸ$DYxl aE#L*quQmmj#C+t{! 3WINB$?c~eIB0: #v=h0A| BjN Č_O2wq!BCye=l-XaT)1L y85}ӫ8{ 5N>ǐZB&/b@^\VFN-LT 5FQȗ2@CTrx J96]tlU\QXX:n/QD5r6IH*#¿J,RE E4jCk >Fta}|ȐcTH^ExZI,a#y<*[7{ᢾ8B3PC`5@J8M 7DI"  eÀO 鷀y ӭ8X{(rjJ@Oxӎʓ` B @"+Bۚɳy0k[Q BA Q)tG?,Q+b <5 :,i s }ovBr6aUDA*0@\$l #*P1i 6NQz xpX8x*"P1YbkA({Pubxp xx z :PE(Ȑ,t85hՇ mfo5+J( p&@ ) 7@ ` (в#PyR5@ ( H wy$C\K` zⱨܟ؍Dj( Xo>l]A){Ƞ!8JZ:~{ :z /w!xfq  1H { u{`9t 6ұHɥi*&,||k @Dq. ^| ;h  t9C bK㉂9*x!ȑB,\}k5{;xЍML~@y `p  ms@vU8{.6` 5O.ٮ08 Sa\: P!8AZOK838  pŇ A n_v $(iТ0 ` iQ P =[ ʏy *nSK339OH1ʀP |* ܎D 5Ȱ @-(\[n ,\ RO% D#Hz|zjd4@i%2l4 0=ڱ 7ٛ8%ImqYq(ݖ4(ÈhBj2#hv< y8:˸{0{{퇵), m Lm.|1+QhXaY3p4sm:PZ[M Z]d {)yŗDm9V-ۥ1IJX 8Ɍ HboSW: X嬾B0 ČQϷA hCG 6 zy 1 n6I$#6˘~#O/= dOzO )-AJ֍{x sy ίoSP~,kL"J 5SM0" qh#vBK@mR6XvHth 0y8qsЭ?Ȅn\ :BcQ@z9 @\ q+`yR+s5G<'jX4\,=j 1X h· DȊ iQHB5bH{(o(vt(sHq,Ei ƉM00a 9"tBQ5D8["{mZ 楂 xR0ő$t]eh R2)Js=@=¥ )oډ:h{ᬈ,[ Mx g(_NqfD剣TT"J4#yL*iTא `}yD{ȍs]1)0Ë ;b! x)) \I 5K| x1X}x.Y|Xm H' 茎:ziw0 `  y kѕ[)"&+"NOC`FoIkhn.Pib!a=i+H yM~z qvy(. 3VŠijT`q 8`d`e0r 1,Yy*1W- u9!==+WZoP2r\  V\he(9Ҷta0!1)Kh 5@^4F57HP J?\a I <$N0T?UΉ-;vt 5uA)@XMޑ) 1F7j%?a,P pei%vV~Q̄)q6!WoQ ulBr=ZP j qz(NZrb.* Y|%+ԞE?0a ) } 7}v(yPpzŔVTM PbIhs7n 5R཈RD# RE9J<V? 䅟>ݱ i5( blzqq%_m Њ  rѸm2pkzy*Jy2-~PRSX|)|cN F.x3+J%{A{] MDb =m%PHa卽 "#jк-#{]Zzݍ\= ᥂y sC}RN!dAT3o'1R9(9X # H ?֍cdMp8ih~f}mX S RD֨ 0 (@ȨHעE 6T> Bb_ ;|Rbi7>.ˈ  @/|ÀPX?/wuO~=OG3{H O@w 0 apXh GHr~apx .`(72++ÚvC  !5B90!!?j 2zG6ǵ)a@t0R1gY:hC)Ū~T\p/HC|!&`J'jH2-𶁈y@0}g"8JR. ޠL }F*&AHlrZժgvbWH;H|+w]J"6{Ⱦ'.m2H3 3 nj62ȀDEGـ`_!4*wX,P)hb !L10h5G=pAN Tѐ4'׮OFp ̪".)bb?d,w@tUAg\ӂWbGF3(@"X* g1Hn}\ O#MՉJ9*q>G7@%r| VfԨۍАDŽKhlP}ߪEWAFh cw< D@Ia4D` R HF3P4@p r!:(y¡g$x<"X~<%puwU,a {`ϗ X#OE°5T0 <`H@ln/VD=UIze3z)˫c\l@|\W*s77I)#;c AJPDX 0cV;u 57VfeӇ+]X Q8  |p(V KP1P2='=1H urc&hh l|R8Gg|H#ws2 ` KDr=@A~^<1Wb~$0~&T* Q>@N ?he;4i0)HZ)mp)޿4s&Ţ*s j)B8 A6FcYfj?Wӡ|,jH?,dv  d} 7 @Dqi*d4-@FH2Wv@4#%0c9äK>8vJL QY (-cXGε3DD@|MCXpWCM`!cR=[; Ho ?)xCGSH% 9 b˜ v0WG6hnfO]vq 8& HdDa€F#蜩>oWĞ*523NtV)V+}sQ".ô+'-̘Jd>2,@ĴĂ,X'NlDKH.6ohgo!c,nDqp}d'A̖zXnSFƖ1eh8A b( B-E2'ĆCA@{'PZN#p|!1g**{@Be0pwM'!P$Sh'"0>E8D֤fDbN#if7%|~58wQog[AЛH$LFgSCpCGԦłbW1!1wr$)1B14t7J,C6xqB c%Jiz0@L.hp# f\+&f2DDQSMjB6{))hEBgb'H2pDJC6Lt$!.|4 وpJJLc cf!2 `,k!|R&a&&< Z2}B6:Ʃw20r,,(rG#,7, .: Jg(ͮ8'*PTwzq\c@'s't5 xWHqk pb7fJBrs{bPL ]VmM6zx6y+ƨO¼lATP2–\nPC!MI~KM~ aaija*d>&EE)6`~䞷C7B4g 碁#>A<;Q  *!z BC$2`2 'aڊW0!DŽMISC X% g$:(!~Al-!Ӳ+1f +Mdv` -j%qVAڈ8׀b@GRǝ..@Bz?(A+9Z!O+"_A46\#&$!h((|$ "kbaa`$*M nv`2 0&A +b J:DtlAav#ihϤu/R'&>Jc@qB$=YAh@l|o$=M(.BC4qbhP$!'$mbfECvg2 lªB"j0a.2\B> #^* [@χ2s0(!K-lv atG6ˇ$\gʊgpܟ&lf@CP33&!!`p"(T"S zdȀGe а'0)76z3xDq# .QpAFz,**%?N@DJSE5!vN”F S0.beh:!d5Cl+I<#b|~m@@ 8"ѻAAT1hʿ!%&~8ʗ qd("b>(Cb}C."QpHPT=&O[G}]KCxb)Pʇ8aDf!RZz{2Tme[Hz1@l˂w8"xC0+8}f`'_&&lpA A¤!f:!a AMX>3G(* 9",2`%*gSNG gt?H"!."T)H* tQ/{? QĴkJ8E5) X1B6[zQ&,`>.$Aj Hm.w\#zlN!`7c&@߃3Ns| 6riC.4 ><`H45  Ho "ʶ*q.{7G(*~{pvrhN%!+cX@9EPA!A Hb4*%~O$8P 0@* df6d85tl5(RnH(x^Eu;:!Thy"f+t-6E42l#DLb`"ˣj+͠bK.R4N g-M_&,Rhhdzi3Æ%ä(|#$avOsszbA)*p܇>2$@aΡLIMvYpFPT66$EiiBr=cI f)%q2#|K)<5 V"BPAa60a!0MZ9=u"/iyurQ?Ӄ3/ذo}kj2ylN2`SN0g!ht|L \'L"d ĉ'g#ş8f6GFx!z)cs !f2**I-Hsnq.G#P27y>@+Ð+q>AǤm~Êℂbf'U#X*}d9|\y ^Z"a=.'{[%b~W ϧ}{@Pw c/x%P4E'@ PoP }O `08{@0 ~>_Ox A hF LyNwϠ1`ő̨oj%Gm%vD̿'P&=ux,I{ M?MV /u ӂ4';G_+HǠPQt] $~G@S㦯b|)y@c>!'zǟ-aà#zž42*˺!@`[1py!|*:*HGò}L`  vgblgǁ@,2^n|G{'ʼjöN) 30E%bB+[}'숀8zNnj4pG^4q L0R}HH;H eK>;S8 | K`P22 :H5|Gu*G'w窺bz +X@ ،6`iz';^M%LRkk + 4 FX`:תaR8@ UMF^;kJfg >~gN݋Za ;h# uYkgiwɠR% B|SF ՕC`s yaxA d_eXý@, 5/p@`6)IFU2\11o D{1艇!o 91FNJ&<Af8DW@[D)#<^ #oGrchp & lK Dp8tТ$9 ļ2bv> v "JJQǔ ["0T 55CGG V*ŜxIGŢe3JE-"DQ;+^| {@+5T# Dug 0*=Gv ^FZJmO,"b>LjU"mc@;x@^V'Nt?z4iN)*4iVC?[VD#w0 B?d)^1/( uT ?(t%:OC'kbg,cVڷ}E8c|qq=@hŏ/rF?B:0ɋ89VޘMRh䋎1H (G99V;x z9ࡊ {x 8ja!0&|;P~=) `uӀX xv r SZ5SpZps3ˈra &)OPyy5xYC@8|oxӿz P Q!xI~RV㬤lurX3H{ Wp6Y t# YA݉8 1 (yy@CHxk  i4: :X}R pq{<h zЁz/BT..8* 0Ā᠐8 ?ӑ#p`AKk'z/=)%= ϊ08#r3މhq erh <@r k`upwx$\7 ; , ޔ<чb0 Qډq*,l ʄې$+ '@ 8 j Dٿ4¹ý ͍s1ٍq,X0(ךIď J {(ӀP䓹 ޛم *<) }Ik Q৐j ytʊt@p@춹-Ќ}xX)!鉹;lAq(Q9X9PPzQ]Rm:E) * ϸ0sGr{k#H ё2{(Yz8zy Ϲ ny]q7XLتǘPY=A# ?3ЛE/#p P0 ]E؟M)qi xAXj 9<0ӍNڇXRկxBsr'B Qǀ[0e A 3pH' NY+Xć~ 'Ѯˀ%&X͊` !07AkQ;<;HtRrM D{9ʹB{Ӳ )ʼ'ŗ)K, SuPvuʗ}Y.ῌb7+ȞaI8 = EؼL63 bΒ}b<8wl h{Y"=' ܻс2X}9&jُ)xLߪ6< Pr^q  @# s@ڇ yʕQT@q ym*L'8g)9v,* \ȨR*("VG_b h~sխ6B qާpɏQ^̫k-ȤqIPȨMID甶ˎ,yO>'!Mb$`H M<!a`2?ͽ: PjüN r ˯Yg챬?"mʵ*ɯ ]ɚH,=(& } ]a2c'(vw4)9 _ˈ Ĩ`x >D5>ʱ@ؑCF6 VPtPo?"*|3ΓN ]6w yQA/@ = "٩aom*yy3{sjW{p!-*q@X+x I,n+&MЭyH>H/2w2Ǝ]J] { >oGC1zgK"Ci8)/ rpC(€/ Gytho -z 0!+p5xY| I?-qJH 6IՀJeajg54+z-՚!]*e˿qü+^C4 -(X]uwU8z|?^2 ;z6g7ؘ~>ήoZ,N}}ޝSxoAMշ( K 7Ps\Hy;Y ⵈ.^i!``N /$y @sHBz9U/] !rRuJQ}P(Q<Ov`q3APmycnyՈ K >?@OأWA/wO  N@D B z=Ѐ /Wk?Ap8}@]$h0 ] p|  xr  ? L@pSɳ={Ao\} |_2OTP4"U1fئ<>_oP#L@BS~cN#P|`!{H040?0Y ; *bHap :{p G@ B}T|Ȳ(Ԉʂ//Hrg)Ik Z,5hrJ˛(jL.o,.KIc# p((`l"@b[ lt~0}Q'KK Æ 4CumQ) 3k~L=\v/%J3*l|%Y?M7g@HtىJ) 6@d"NL\l u<Դ  eqۀr4GIsg| j'9<︉Qz3\/++i%֑{fVnGw$>2Fk0&vTv475{si "  { Âg x&hL!OYl~Q4\7~uǪ@#d06|kOe Ml qU/n)_)ѥp K LB{wә!{ē~1X6UL/ /9,8& XK'՟z:^z(a@=G%KH莟hF ܉[? ,Ee(a#dǗK:f 8RڞSiy6-LRF F>NQUL0"@s!;n8J*7̅'^NI2A@(2@jr!a 1KQ;P:yȂ.h@I$@IHdZ y|eBK$d@)L6? BdW-9A> + u<u&(.e:ђ6C*<`yQ8c9tėG+PIešJo{(HDD($IIY=X# *ȌT>*('R@*%CUW*=%!#{diJRui©Kxp}mO\}ex`H'/'! gtME;r5D k?<2K;H}BOPD8K|N~d%_J:#{!S~&rխ?VvÁJEPeۇ@ҳ_FTbBVM{)EN$=4˕jO0AQ+PTFQf GVLW,mO"! ,H'@N8\Vy)xe{/c\IJH}>BWIV+bj}귚cnErةnCVr12B}LY$닢ko2Te4I[k8e`հ 9l0d#b)@,:) d(Q8ӾLd)ht}4_.lv_N9PApI?a 򷗝3ϋKvp [k|et@ @pcNRA# % <7eI>+*T>!+shT2zS0S+^eN(/HYZj<q)T])pXEFG'4#]a-bn^gJgp[!)<]i^6D (^Hg$\b1`2aNo/)ĆOD"AY#d6)"f.+@!blR%"@2ցϒ4H:1Bd%FdI'4b%Ѕ`25o[5b|HFtr.r0#nI"A)t b]B  RuaUB+#1Tc4>NDuD `*(@ lB4t!̞ZJ ҩlJB| VK#ώ݇Fr$Ȉ#pBA͎t%n@&5ZV&D A-f.`4 Y&Bhgļr)+6+&!IĀj'jvbZ2"Nؕ*6neDd g4SJKB;TnBnŠ]nz.9h!@:)T9D'ԯRR!#7ZxoWBBA2"+^Bm2.pa@ ,a0a@%}2j!GzݬI#`'2mz6fRNDiOESC0iB(#L%t2/%+L"A ;H)AXnnr! oD6eqXO4)HBloey4*Z@DOʶADO,Mm[Dtpؗv䐼ʟ^ F<"_jB^2jN\n@~E a&Z`˸'ȼXxJq+ln A%&S2HZg$iDL`r$MT#P2pNk`.flD0.j`'gš!8)?fR.}R2’y@XU'W*M\T`; neu~^*V%HvL1pSR['%.A|n5p3k^{ &Ӥn' ,rq1.)D('!8E#<*EWJ\c[3f`l#++:+h%0p."$e,@*H)ViFjlBoG s6n18"@Sy7:B$AmԖ~Y.PHB(Tjj&JNRqD tz1JtXc>!*nHHVqEN¿(ߥ%2:>`~ MM͔7fIWnKή' &&rU%B ~l$FILtB0% dtIt/w@& !:G-JcV]iʘРe~h~ŰaDʔ)PWfbS>PvZNN"S8@ q`ȏ<%S [;;bBF$K=!H@!AD7PV::`.Qw6rwzOŰO|^SWb !++o`~kSe0OyS)Ae]9 d9BX2 Qz@&|DZ5`! ܆@!չ_g 'z'<~T(8ҀԾ~R` "҄>}ZO[%m yCP)@0B{'h ` ra-Yz`Є֦#2 ,r^s[`1vzp[)2 x2Ȗ͌J6 1x "-BR2 P8IyR1C.:R UAD)|ɇ3uw=7P gCD+| Du z" %s0D[8% 5_! p `M GVd{LV$Rk'Ť-h|}ZHǨJ P #p/ Ą,_g9|)mynG6g$PVPR݃%6 aK 0@WMj)@(~l+(hBZBk@[SMnlXvb"H>~@*!gUV#zoyQRɐS)- @1=(G%PΉ` {Će3A(5nrOIRq,,G=㊻n$^ٖ?%%FZ JrKنIEiPɊ;rsDǖB,;́+<9=2y4Br! dB[:D,{fmi8$Yl/%1 [&F kB բ@HhQ ZD;Ki#1ljxev(지  P+QP<˘jBa/Ө2{QD$t )jֶ o.xӐ5[R^鹑Jw&1G9/pB1G$M4M I 0 Z&+^ DnW,\1H"IW,۸Vu'g<'-BO;FJ!2.2G PL@\gHr3q1oYjdz'j>`{#[*Cy{~)t D-b 8$u Ap{p8X}a.8 [U Z/A xsA%iD8iG* 8՞ +F 7-S.E(iz(x@}!'!\.(1J! ֗X /Q6L[ѷI#7Qs0W:`wxȇBR^Gl}qu@<7A60壳J('Ϛ PCҔ x +`! {0[C84h y iQ HE#sGv8xP.=qD|$2!96LbX` pvHu{a 4$Z3$$(KJ:) !Y- RIz p$V\Le y (z R8ut  { >#3B7t\ Pψ鎀tXxxT+-"kl30ش1C Bl ПC@ʡRwPՒRŸ ݇AX }Z#1 ߇^[t `czC8aA3U 0q@s;p Qu ~(9KGL8ȅ?(x ͦ)s8pt8X8+qL ﮌ1hχviP!r* ȭ!5#̥p|MpUQ1WCZzy;rϮm0<"=D-*bP ҈ T=ۈP r (7P 8+A>p` P 0Ps@ua6?Q،k~Xݛ:ޥp v ~$ 1}"볊4:ϩ>'H[?,WR:+U^ ‹Xȇ  %ADn <y({C.C i:7ASz,!B޴=  ʓ)ز@B)4h0.{#و\<>J !"0+8 ()(d@e%v Ѭi󢵃CoO^ɓTrRO!.6hr!9Ԑ Sya0M, N[j06"J*%P0rr815yyzQxP%󏏛 1|$ेa>bC}г Ctc=\j 0v75߉)Э< ! A+?j& Z⇠ lkZ!Hw_" 27P.Ծ•~3C?{H7QvNf153v ]hA53QR)#趇_oPk :]yxw l8s( QR%PaU@R ɮ){Ȉ( g0wqT P6sPn zU6a YJX|H.}O Y2z0vmT45y ȼVW00xL4@ťqbVѮ@v n`wco Z@ u]ƇSUZ xuO PΆao&Ӏ8~|U. 9CLIs[pDϏ ^PH ːY bݑ2}$-GBXQ;əED hBI :!(Ƞ)3#ڥ=N^NӚ t`z B&-8xfpŸ| Iy욀HcXf]o.0Wv@2\ŕ 3˂@ة:)]lEqg@Ψ+\lSG^q8ΠB(6~%[_P~7. [ G > V_+a;86@*ܾ3Ga3(Ьw[ ҀNjoNh$- ݚ1ո`"}KxX$uP8 ?(Zėw{2ޞflZ>`(8,8T ">  @@ }а#A2ȃsȁ @`A(L﷘ ;\S+W2Cp0G`@pX0 A|@@@ /'kv `^Kd5wXc6` @;yZ%-2Dol ~x ~_c}?~Ebԁ}F*{]"wQ|hg{",i *ZB3h9 ` |94pj\dzc'Tϧ|,&~(oNcAyNޔp}x Q.V209w0=0>K!2:c݀Th%iJ!p2${CNqKb&4f@G6HHx ƹ~:e3JUMV lLY.BP*9~nNZA&`gO .ʡD$BԶ*먲'ӌ%,tE.g!= 5`@D .懑(=hPraƙQG< rq5]E/*z TEQI)i|+xU,D,[Bq"F4UBiLգܰ!, XҎG# r|PB u Pu!g]. N>|fn2N,,1 Y*$[C8F >1.$h8Eⶈl*`!5m݂<:ƴBj>%FBTTo1"g[9"XPD zY#&<N>j, N!(# b&,c,j%:e8!2 eZrB({A;#/6>$e+0p$`Z&ZG:RN>3>DRNk,CbHNLp $cEFxd ,HU--> ˶("#jg*̧4dFE-6,b^g)b#B>!*e*C8cKW.w%*ʿ 9h(W,k8SK!`ӅFO,lCA"!2`&;zA[,rI{BJ @ 4~'4b8޿䄫 HMbW550g^֊qpNLE艠A\@X8 3!"}莵t&"(5D*CP$/&7?JAj#=x]PU2U d ;좽j,E$ 0,>0t8j" ~0@!b\B1[f: Y ,Pm%t~=R.#gKӚUH4=l**-B"Z-Wvq&FD!QJpE '4iς0=]K1_ 0.6chC|d1p \b{.Ƕ(^8@t*9ƱjH,!"*D!>E{*$ !2jWfx&1iq!Z ~VTBTC掃v,!˨D`#6673v}2^h,h4&"fS<".>Sʟ.G[yɄM#%d-fWC& d0JE1\O*p5nBP+^!#'Vò9m EE2@?E]$`B?huID- ĥX:ʌIQI4X(YGC"yx2.FdTvAM,5 f]"`,a!tUT&h cA9!jd>,`x M1ޞ.u \%[2 J)0fS=)CI!޾68<\@-FƝ;yxj*0VJ9dk%5|!!8VS.B"eBK@4bL? <-%?8tFJ+4PeHT`PA+JڴfGl$UTr#pEHBcMNh&\% Y<]XE)<Z:J־orˌWMbh`!#zN?a6ܥ#!! Sɤ&h%8/% LGzŠ3>gwhnB|z0`f"o@ b*hP.IV/݋FShi2ʅ|֎ppfTMBQ ` v*4Zwv ֥¾*`'iAay!lag^47PB#f ;5Bi!@`5BҚvbfādd&tcE1L/a6+2{#V08iO懞%*lvњpJ$ N\;;)) ,oaH$b(OfI$%^Ѭ !`@,F!DPop( ?:+4J04>5@A#`HduOxMr1fKa –)o(>bX$=O>` gyh :\n@ 7a5{@@|kuX~̀x5 MnS7 6zW$'#\+>.2}B #$ҭ S8$|X^"yA@&}rtC=,>®@Z ,,j60:èt57"jZMܫL$PMH ,yn}::̦+|STQRG⭩ M53F8}89UXZ0Ȁ-Ka szZyGyXGC#{( _9'y$ ^|_q e0h~nbY S{XK늳H~TzZ넁H6Hȣ0ԧ@Pɉ9 G}CMrBozhv} kBj &S +(#lb%ic"n6IKn)}iz  ɼԌm4# + [* \R0?wr?!= `D;bMC!ĵjP7@~;h3AvY_0;DYj9Y\GC`=GX=b4ҩZOj' {X4`;he\ 6@x:B"&0ӨyFmz. QII0 C$'O| aƐJ17$ej 3 $V*2!RZIBCeu~M _DnKO@$Ln,+@y? Oż 3e _f LK~Dy:LA1hnRa<$}Ych*[>L **5io%%{J@=vQsU!(,փ#4g .YiLMT>wUDhcL/_{~ AT!dǦc$B <{P:>EhƌL3F ¶@y?4 Nw)g:+-rDj0B1H$Q!H4%8|k#+0ʣ>xNJo聟] - DkJXӶؚt|@ w1I {(r3,IO!U M}F[p{Ǡ@He Jz :Dy!I"QҖ'V[TuM ڜ)&<b C%|Ȱ ejz h>#wMjgt̒o68LM \aJKӐ~ )p\$m5A+LM\&Kk'TLMThXq~mK$t>cM)?rty Re!7i:lc%˷8WRz1LٷHtOO@"gwyd>e > }wa{bAll"Rv1P1YqxxI }A 2#%i Z:; q/hj0pp䇲$҂p!% (`yhyc?xHXv :Z"Pcp@{0)Ѥ= 6 Y,0 #ȍԀ|& pRY0DcJU {X@ʄXz/ x' |L)-E)x XqSz~m  R4(=A1 ,)R I@E*AF OҕR"< ȯ sr+k  *vhw(Y\/ЭIH#00whty8xaX@ eoujL!SQP5 i^~1pΫ! @ #4(2`,yՒδ+!8KM8F} (h 8ps6!t@Q6B؎%tь@ȟš.|ݓc y} 0;܇Ӻp}Aؽ|2P/8k{@")DIĀ*/疻Xyz #fh#(9U891?}R /ia&Y0q? xt8 73q3u3 #x-&­?%=i(xƭԿ[FZh#@X {bLK%)&9k a,8'ȉNH(ЇئίrNx"q8"`ь<ӱZ1D`&~$P3a9!EjB z0j90x#wx #1<" Am<.S`оC3tƀX단qhvAxJuҌ P웇ځ ц 9I FƇE {x *)ғ39_-͡8 G2X r8؉2=8kaKG@!CI{,Ҟ2# OccC 9XRչ31tY3( ZNy֒е뤝0Kȓ}(´YﮉO }'mkZ@ AXOp~HQu!c-,?226 wpq1X 0D8h˨Ѝ#,>H (48O LCܾ3&ܵҏ0{{iv$0S7puXq@h}$|IP-}z0 Gr ^`E:ZC  ػ ` #ۘXv}=DR'i P DHo w,X :ШZ yW@|P|ℇ(}{"pzC0 7y()=1%!ai(#X|rZ "&a[K"SU.|@8 kh≩Q 8(SA8B Y8 ({@vt! ygrh x4h _/ +P2i)2 J/1@Č +Y4m+RM-+K{ˀ3p 08 Rp;y -3']Lve %rǚL(/\Ƃ1!s j% "t#1ȩT"tl@ [ +_`Џ)&S40 {Ϙ+@@]_xhGʾI9 HQ !U(Z>)Tt4kC"VmxøLKh}1v`q@xh{|#/ik)M͏&Qֈ}‘esFxȧB:Q}Vʪ{N'\M 8t73w``/zlsq%59RO7X 1Ps<>#Lm9\QMm`PzrQoiT3R!5L]&>Q>mQXuH6󿦳K G% Ʃ5PYX P%z~ +vb̨uw SFP bPy D6 y&g# @o|X w|ߏ, g@__ӷ _/w  nc ``~>o(L&/{L`ߒ#OA/)AtD9x22O72u=TyɁ`AxhH* 8O\(( |_x8xշ>4H'_A d k@_` & a3lr-X%Ƀʔovh(,rh OΉZ1MH)ۘTƟh>֖T&K++ɃIH2-3>{Gʬ ԫ? 9,H $ ř+J@J7# ֋CDE=6,*J61E}&m{+ySjZm,wg=s%@lˀ'HaxDqd[Gn$݂|nj/h {թz(:&~( T\t^QR[j ݊TVL |q ZhTPy1?p O ɋtnh zԞvRl"J:+I$Z+# !JØ2$a=T %.G$"ExĈ}5EfGˍyt>SXZ PC$dHh0f:~#{1eI  6Ps`&TDH[S&"ŝ+@xc/$--"CT 4;xx ׀:|t3 LH ٠=]XL =cDCͯ$qb\g;,Y-2l@+L%X):T%{ADrHΠ)b. *E*`ǡ1`T#*iPAt v<ǐe @`xS?CDC |s*F?K'h@; Ee =>FȂt+QdXCߕ1FzJ"'#s"UF( "~;5責QnFx$0;PR^Q! 11}g c -JpLJ T.\D CWJ5TU@@yAtBy"G@E)$  ]e#&0ا=&U{X?,Ȕ譓Eh,w 1<ǐ/@hi@4 <@8 @/B)*f6։t#,ɂKD.4M&'eu-ۖx<*م8vM#ӠDM'T!S/0 2/JTԖȖZh GcyrByHNi)/F]< fKy˖Gs,L0x$ ڢ@M#(<`+}NITm& aJ;ƃQuNLdఘGPK cxo0F /2V+ɨ6eVI5#AR_P`DXRwKv(J6*[a_b|D h `0 d=@X`L0`ǜcqx }p/|1fB ,F0bϬ:Jj%a7y;}G3'g,C @ F8@KY!;^&20h3,^i6%*t% !ZAe#?EPbe+0:+!bvjĴjCrC5˜C nlB&L?Bmn :GHFeFP2Q>c®s z(!#Ma2&ǦN&`:A0@"IdLN1%¿"ԕH`C &*h,f>M&P,e4dN+*?.aXւ9c8"Ԋ@-@)@!?`$ `3̞,#*LT;`e S4P?hMHЁAL#&&Rgh@FKdMgbjAƋ$M<JVFm^+å"H-Rp@sZ!Ae?"nqM&Bf""k C>Y5\a])JR&Wl3 i :ζf$$"X*a(d |0aDc#V%tth!P+>fjMd€X ^K"ȅĿ oR&d&oěj-Z=y|&hg+ ,!HbE8^Ed*i:-t&J#ls8,j)ehTXrECM,"!P، ڌ4L"@^?@֭% ?MK##qVB#-FyI"cpӛJd61+<)+<&bhk5X12f+'"-%LPItG#LC ^MƲ%An$[IBiHPX\d菢=sV@t-Sha 01)H\c<$)%+y5ǂeJXc\BUc,^SXJMoh,]J38@ɠA1,*`%㨦vYxE!bf&L$Sx~ c㮬!,rlbHi U*dئQk"~u #'3$+ J 2R5(C%#"DV0CԬX4FM$i(Rزh)[c  -X3>†%6@‰W1bpH2j#d?] i 8i2XlH"@ :+` q(J".iDhS2"[b C,"2d!LE DO$Ab5Te:&3r&SB*B:#( doA" #+;*%X&l-d,C-qBb^ K85.YJAJقN*L*ҎFSǷ10O^3xRBf1$Xj\&i* W4M8tMheEUoّbÓV{nLu,gVj"a:85,h![utyQ] >Sq'3d f2>p?A*:ya"@dvECR$o*fDChyU2O,?Uv9W1Mt\f{1#6KJS8N4cFPK涘Rf*"6&lG{) =.>ԍeN oN#G'F~,>@2L/.9łz8±_* $sRl#|tJBvHI %fh0PHR%e}YD}Rtز?KԕWBÒgEVX S2Ee&Ш# aL"v*jZPA蓣Jr ŒGxʒ~HY0LʅLzc,\%0!ؓRk% H Ha9)LA"^JgYQ<*A&6U03x>CHIdnHk%"THoy|Z$AUtr?!8Ƶl8%/1o2$ÐEIk2"IN﯂VL!PĽaH,`BT!v:I]2kvǴ?9ĂaSHR$WD0\>V`  v:@s> 'By;`P( |N @' o  .oMBa8_tF:#}_S}]`C|>_0 $TXp {  ^0ym/w =/0< 2Zm7;( P Q)`jR8+࿟ODnx%q`,xȔL Yk  !yI2 @*d~OCџz)x@ZE8 J<:.g9  ((j' B|1rB(~EɁXG#2rl ԷN:y 4 )ރ2,+ гtay.cԂ-N؊)2˭2ѹrLj$ (#(,eKW1z.̱,- )2)1{QNj)pt碀 o,_2!IMu^ n@2p X *`W0 pZ~: OU-('Z6IUbU[`1eb6NTxKԣ)OCt1c—$ȝX'F)hh&KP:v|¦JcP-5 Fɧ{dFN|XJ乲Y;@PRqm;YaE HmԪ=O"ǼTa(zcNZ^•h #嬔A}& 7R97;Gv=L,7\ی|+r1iZO_I$d+'}" velNe("!-E.%s=G"*+cGTWiw15T͉l~Μ# 2$+(}t_V@ O-(9XB"o` \`'8d-Gv~;,Mя%fԋ V&^=JB]Ƀ[wCJ .2'Ka"5&{T`x}"l"'*DFL)dL3H;;^V8@@0 d4W˜{ RݖļiH(VXӴ<}>>u=r쇘*,i>yJLڎTV7ꭥ#z[T)~&os ]8Tz\Ap Tz"G!̜ƚsƦ>)3GJ򂫐Zg c>R^6s9\yDD%ߕxJb5y $ 3!{x{@?B:N $(PAĎZ>=03璣%}+d 6 I֖1!}14r99SIDć{ h| 8(1<5R;:z4Qx`*Z*qB) و%뛩4@wyx & {y&! },X"{%R} E P!*P/y}+4J=q&4kf!1+1xcd|d` ZC !GZWɀHo8tB@ v yH)L b*є|!zTYL=Ez' ,ʀ~xj)FL&(ǐ{!Aހt& χ8Ҁipy!+0A0t @r X%)Ĥ@S xzQFZ0 Qg.p sހHD* `FZS+X 0z  R*Gz$P j}QZd|@3 AIH9<\!RŃ&|p9sʹx(PJdB>J`H9Iocɗ({~#+h޾< Xghf3?Lr77(\QTd :9T`s( }Hu؝Xq8u~SmS>{株=cݳZa#@K 5[ր$¤-!^6ۘ }$hyXB夡ihɘ`$a> $Z+': .p~[ؿl> V@ Aa{Hѐ E񝈱@WÉ{XI{q P~"2{`*R@d.˔zhz鶀eSGQѡ1:m@ȊY @瘪k?h7p~S<Ӑ&0tw]` `QA6i` FYG_&3H)I,Xׁ$8@E칊o iȹ8"z; ZZR:(W;ఘ?$.}r&89ϩIV+0m(ۡ뿒R&Jģ&Y2opv8* by. v(승5+X&1Y4A$I"P{e1 *tJ+SNwPt+2`9]ؒP}wrʼnKA]%a~'ЂF1}I)Y8 ’5~*0pXvNX( Շz Bu rmrt3ɩh wAh,0 (d3- gjK0 iSDZ\h \P7@:jxy&ۦ *x&PϺm·A9n>@)pF}h{ 1#-Jg[r&c PT#ň#DJ79 ;М_tp yWhsP1KPh}nZ zB-$9&+`j<:i(3\ Bǽm`$/զ* SU$cZ* y _*X({{68(XزĢk=})"*FyVu(Aކ;921PX3 Mf2&# nbR5J$>MF6ucX¯xpzއxWS lCqbMYciAo0@M18Sǣ5> "`%0_\ Cn"xު6>A,VTc0Np)Lig =iY7'8lt\1slEjUc$Q&s @`4/Eb  'Bc@X|e 3~`i }ʟh A 1  FH%~K{DbEA~GwHo`P(|>^7H ~8- <~?ϧp ۺ3/W>Pn]~iVb(7 nGz AV9ezCs({D`jqDA0?)}aDf&z!(& ("P@  8 c 0~hVҊG#  v`>C}B '<AG)J1$ɇ{D.'"g;&h1K)% ;؀Q|U󵉍 *'r"B}! Ή"R2@)|v4C }Cw #b3*A. xH(QH w)Ҍl)S#@1&(nMZ8 ~T` @z:&Kǹ|@9~*`'[j~ r`!)M&ָ<8Sj{ndu݈Q'& BL&7(#RN.jK2cr]PתS2H9Jv**"gORb(Q^('&v:?u(Un)1{A8P atUy$\LxunR&:,vZ,#ާ/'#9:۝ 8 |0^< w@x"[ãWet1W$G#UtH\<+ sb#d?rT'/r1qР@pNa&T.<4Ʈ1# @{a sĉa@$r\kf |) (И;U4Y@b<QA\FRejd4*t.QtČh&<,cȨBu&3 YR8lu$%-``d0ibj^zT#zG) 1ǩh|!`rvxx!.j2k g!j%,;@ä8n$4UJ*qqfWX#àr?ǁ@| 4ǙD *Bk÷#;I ̨),uOWƀ*q6jeL5t-@1M@;Th&_~@Hx'zMF}DF"<=wNT Q`:@N*p};RxSRDЌK >lbrfhzz ]wJcoނz)`=H*@QVF7%U?0'}Q63А`v(\NP=1K 5#M~YA6Ln5JThdR-" MB d@#2k9U@13pRk;, Kޒ~eNHo`iL]Vk(jX滱,FW'ަT8. SuX>G BQ1Yu\HW">yzͣ_ VfB6|d 8ͦK"bB^3SiE'%<|z.kRPG( ;& o}~`!c%h8|((nydO$#5:*= ibFOT7"JgJCրGXN)(T "<^G"Nk(ƞXHFSX(<~jx3(/:%nb*RwbObBJmI)B.Di,H23U`F!, ?wA0[ABa,4Ba&/\6bg.[0#DS>,"&d8k Ptc̢P#TBDh)<(9 a`B#;d:Id$b п䪽24cxAځbJ$fpkf0ބ@^iR):oJ%nS0'>]l C$NgBIaضЋi2?ΡN!ꛀ2I$&E$$[$.8IJmb*>,.ZC!ƶ/T+6P Bis`(rIfWf*:mNGG4\1_,I\)pmL#-~g&K,lƬlDŽ8U`'/CX-Aހ _뮄%Y.f8O2 6@ !}@}%Pld,n#bH(zd#Xx\ΰ-h/ 貄yz9̊<rZ) aMw1#g$E<,g_&j' s|BJ5_ÆtƂ]2Di&&&DeR#ˆ 2|-Z)rܠcsU,`f laa"p8 @!:,]6n* CW2hK$)^yr*y[O rg/d皇\k5Um"`9EҲ/3&ꒄvj#~{֣BOOh0eހ1Az~bV_\$xD&V#XzrP.lU-Nf`4 U7X! aAs.V`W6, ]襮1'4)Ne6tz#[Aa8 swn"D2p22bC -6zsdtC1,!-yЖ0,FdjCya]cT/rmMc6SZFYaAp݁DQ#)8AC*P,bX7/PW͍jOVZL⸁20̡q`TK΋LB5_zzc pJ7 |rr]!|h<}>ߠ G8`@i_ E_U!A PG`P Io j;~Jf@hBAc}V sjK +!ͮX#`@(ѡTY=22_xrAT~ڦD'_W8 *T,ݣOkiV cETL//@P F(Mcz_9~,Rr*z40jZ6)*sܫ~=+ZJ` )i*L~9}'gyw5{m'X8&|}#kH<vf){ ')n,)Đ;Ү! C|"0 xR0i{7ϐ- PG8 0p-yy (yT-.3I V;*+l#}@-,R2Œik(`$u ӧx s]' "@* `]nGiN1  tՇ|!@R^)@<9ƻoR)[m5J3x'x;%Z`+z~K쥮΢+'ԏ%HN9`"t}"Wa|GD]5[IJjHTQe ʼڀ W<V#65L;e'<>@iyGx Q 6 pgH@9%p|<f=5#gD= bPzH2o2Wڥcz ;%Iz N'ˌ#я}):pUiÈ)' dhp"܀&S쪛I'}M[(A s$4Bjt)KB j<(ρ;$k kό1;$֜15LϚ>X Ur [w.Eah;@ɝ;!&*rh.x15/6X͙ҙ" rTp4tX l#$pӳs 4{@6>`-MFyq8@H`L~jdlC"M*Rfne"2VZ{@S0a1, _Q;jgOB2gWbyܨ`⩟#4fhM*2?aP QJ\gٝga4e<u#fCbtM>m&5tZQ/-#({2%@k% {G# @t8Sĥ@QjcK4H'(!F>#kDHȡ9'@Y{:F'Ab2#gFYT$BXʁ{xiG+C8 R bF4o 6¯iY4dɭ6qK*,ݱ{*(lT@hvuպHj{;h`qu@u.l"uQB[S`<*g_!@cc`Eyu 9y%R4u3Ya#(,-wfGpcuV! B E1lD)8#,V4$l>Gilx}koK% 1E%&YRGx*d@T@p8eW+L|H<؅ Z"SD9"w"$ NFYr% ބ?/$d4W F:@ T 6.9q׷KzȀRp$fR\ McRJ26O 4R#s*WiMvI؁>(5(M}2{,tbrdl<3Ӝ\lM 4֟oKx@e!%/%hKQ$ݣ߱ dKXI%rCT0EBx$@P8pS DTNo"m#zx1;X  مw|HCh`sΛ9Cx4"dc 1> +`` A@*098#Џ6{qwTyMN)78T(T{'~ԸL C1D7k^`:R2?!b'&pI*qh2+X!1 hٹ Q xK1A\$ 6O0*$ P<K8Xh3ia2OA # $8f`gZ*h995 T7 (ʎ@і F ~ɠ)Pxz vjZ%\Hp8xX y;қk"P!d.E04.`% + )z/Y) I""۩$"+T 9!G ?9ВtnZEbLEG".+xr)=hk z}-ْ*~ @r2 66(Ţh H|z0p)I|h‡+QXy.(|._%k `&l$Jx #`xxyz3: eRAY?5ص0݉Ȁɀ<JR ?Dl z5.Y $&sܧØ,D<@XxC5qC Q#|EKp {A,. ]0jH Q'+LZ:zr,h,/=,$g{;04 1ֽ]?C&Tޟ8A`7rHzA(vxoX`бrB(@xw1⧊'# VpICP4MHٍoG "PZ@0JL!"8;f׀@z#UKRj H@ T\!!o]&0#"E$&{c#0 i σ |H<)xl0tvz \ Fxthwjl{h jYߥ1 Zw #017A  MН)`9̘9`yI!#yxh#X ()ؼzuM"߻0ؗrP1 5/ˈ "! 0pyTQXj#878h; /w/((y&A` #!i$T a2[A) '#2,& 69֐<X @ N0ȇ  06ȒQ΂)kRhZi G>ĝN$H0 A j6 8Bq 2шSiŠ̀HY.1 0arߢ ӿe"k+H ygih# ˏK˚j KzAؔPQ*-@t=bW%YE01U2^(wP {1a]:Yx`JݑC2)u ˍ1( D)FB F|V o'ZPmN?\&?߯A 0 {AxP w?OwG>k -L12 #C@o#˥Z@ꅦ? Ugb`9yǓ^ o3_w~ 8$W̎>}>|S%V)8@}j~IT4K\²@@#|`('BFp]ɥ~?.h:8݀g|"#Z_-s}jPy ,N BP  X <@~@`ǫ 2 r*gToz+R:PD"RڝSP "`*:/O;܏k裨G#9LCAk|ւ@\珴+tyÄ `U I*8xJ/' yV-i6(gK˕$+`&o8LĐ-JL3jx!g.O,`؝r~XntGSo" Ę1x"?c|~@YpԏsHu&:-CIw=@H`h6 ~>~_>LN\!Bo(=⸔QhgcփHǘ F`(.i9V>\(@yV"YrSaÉĊΖ5yq( _p)`,tZ $8@rQ5/OAU [̤6x)Cc٘URW <cĀDh]>5$]8=YwZjL$BZiNJR`\H ߸d0m EJ́-/lZ֩P/ wGU™rOJkFIk+jX@pN+qm@@;GpzcdD;rc{`2=a2fJ9*IQGU#H=uf1Y0IiR>sK#L8KVSlf.UR2w@:=fZ$|*\[1M<R8VFE ō0bSIrKd0)r/`OIr$~}X1K6&6 e7h D Q6[m, iE0C}M(M=@acxtzJQEÐTr6!ӇމVri%DʅØEx$!fdY¶?#x! D@ hf`.:*.2= <a$ ((Cb@Ddl Tf$5P+%) ¼ I ): 3@+,KiNF[O\)>"^)@Q~K`BLHF3fD5R G(NǪ:R VLj4m;IQh `56Ђ^& X' :d%<WbĴ$ ~f<*o(^7TfrZ D ^,dzT'& t0dc XKHLK!&@6T(\VdWp4v>N* hJƭ ԭܮ knA!@-@Z7m(>+:)wlS-(xq (bUB)%9 eP;*b,xا3b'.y")#b- .LE ‰jx,PD!0/*fJ>*>t""dg@8#$od9"`T&⨑Tmv$"!o@KB<`D@L$&r(TRb<@06"|/"PdM<(8HHfdCQ;N#ƒ;?+@6`#aFdfŶ' h؇M*'wcC( )q7f,%.Jm <3R;F< 2h1䂰tkVbKib\#IhѠcp"! a<5UJ46B3.ZTHP%QRS%B^0 j]{ T WbB4l'2E)ˆ,Fn"G." 6v"gAml`@AM*bYk;T<6j#'c\ˑ$rL]5 #<i0<4E%Ft0$Ǥ.TTcV.` HGAJN%VD/{-29 hjJ$F\">a(D*#h< ̼-JPӘ$L$%ePC8@0NRa!*oHD;C`P@HVFR*ގ!&q)cڠJDt j"H&Z-Y3oQxe(U;%lgܒbpNf$a*1+r.DCJn^2XQ"=(& `T"7h^{:b)5D`+,(T )hodYb2>tURJgG)j1̣1I%^"` H"ִ5XK猉.EXE S)fR E.b) ZGژ3&XN.n%(*jDeֹb\XRǤ!)GG?@N PAabV)T.M2Z9NNSr-,PG%.  ֭ޮ0g&Aa~TgBYS)* >* UMEP>4biJ$2=P).vPeom8MCF*7ސ\\6YBci)>x[&J, GfadP%subfPA8h&.`favN; 塱*c*b$YbYVGuáGKw"XA6AI`@?H}Ntx"<,@8u+D~,}DzH-J% R4NKJIAUMc-CBMo2TyАz)9Ib'`!2.%~XԱ*()B90u#Q> Cu- ,m;MKf.B)CIWsXŖ2P:g{{ G/@S3Gѣa! @&.Rfn 01oBu75   C$ ǸT:`@L- t7n8QA#px?L( a`*4>?BjQjX_8l 16$JaKe-?t R4<>EYDbo _ Z4 I48a*7؜~MbYH=h~>`0_T%p O`M|,~@+Ҩ+ 񀇚I})P1jZ`3CC'|{g@03. O a':GУ ~"h= "jb/̏8+!I`, #`cv``&roR;z~J$|ȣ C:RPhr(,-`jTf!j Z+*Z aZ j`+̺y4wJ 0:LLP ̳3˜ƖZn3 H%CIGG$Z#q2QMa9Aބh8t`6c-!?M0 ,'1,qK:R:|~Src7ǎ`nڞ#j|Nz~'yQ ǯVT@}N |>y4('5Z׮܈ݣ<:{8V|~R`1]8ogn57rp{"HHqA&&Iq'xAB !lîH2Eh= #hT~0=c"c?p!!jaQI|Ꮲ&=5 @h=0n)DٌG(/@:[/)4,UFp@{R aR4KĤ1T}@Shh_,0t2AG40F8PL4vL :=ǐ'\zQ<DzAE|FUT0wuFqIE=)~eTP)S0Ԃ&iMrR< XRRL7PjZW/g9bWL2L֔^RSW#$M6PEg!` D &]S!`bVZZ< cS$RCU mxzXaP[l<TZxMiUI{y]N T3:`R6RUP(iȘ1M'--I -ӓl"w06LMj8F>`Pu 5@fMd?}0F䭗9Ai,T' äQXKi1&caGxYJ)0UtD4,UbSHz+gqqPO0{@GTB~EJ&ŐkS"eh!` #ŁQXWI )0*YʥA'ij}?J|% Z?Ɏ@oBQk2So tIhR{P@#wqq )b3&#Ј L@:g;4/L&=ȐZA_:߃v/$6F,~ӴT]XwL*& }EћUjeRaO+i5Dog>#Hz+ϡ Hٱ[Ȃ=Z@ PjP^ 12xd[X6T/dWTT"@εI})W_NO!';Lf7p6Tzd-)b ١$7YP0J3Ty0̵Lri$bV&3]QŴն`۫Gf4vW)v$>)L? Gʁ8rðuLF,8E 7_kl|e9fQ]&,Vq^̄Y:pm80 ?ܽ Jh╧XJhV<Lx |z-ħ6P;~URñ&*Dz)4*kO!G s6F*Z-6CB Q@(x+~SLn<D6d2$0vxqsRΞ;AaЇv|hӴ78%(y>9p |wxhЇrWQHr#⦢p x߀4( @va@}x [s&J&cRa1; ;xq  9P}s@ iƇ : ~0v';jsK֒aAszꀖ9bQ7P{zJ p8&PO7xpꢺEY"㿋|Jv<B \B Q"=-"BюԚhcbb'q艜2*ke$(X 9"hHk3 9bI^1k+l` 9\t"Χ^*tJ{c cÖI MiЧ뺋x zÓh*2و3pj `/Y | 9(Hx`pw* R "Pp wH3Bt9o'\)** P/`CxX(| I >~Iv9 0 @RtK)T|;f6 jA@˱r 6 Y& E;+ \ pĦQ: w2QFB w P x"@x#!Հ,lL ú<  3 H1{z91,:` |@D[[:$9 R͉‹Jig4 `s6LI`=Xp sI(gna1"j@ KAZ͙8(IB'܍v)|{3 ,צ* / 8 Sv >GԷ8?D*.п^ P A)ӺU <0[T(2=  뷛XuG2Y3Ƭ6zPt#0zp y63(-#*4CZ0B@bۇx%  ڀ8t xs~aH ^sk*lB{M@ l1r`n )|I۳I^a8С'PD挖m1[KpQ!`ZʋusJwQ@=M(L7vk>Ra#9ԀZfzj94)O,# lLyA Y,-xTMʇOԔnȊ0)avu?QB|Aaȥy p"\ iMpaEYkuQh쩸 QRV9%jt/>Y ɰB4qX  lHLx֊ƈ8/H͖[Tk1HR wD ڷZɈqOM$|29 ~Cǧ\FFƄF%@=^?rsr(x2݇ ]1uUnQ;^[*^-Hv( yt}L y}xvQ78KRcba0ހPyIVƌ#n]̈&2 "ވH݃ܨprHs<),8"]^ j 76hyB,ۺ)#. <)a'&sH޺?I`k"AwJ))0 >( .7YiB8|P`'8m@[ty>5Μ]д e}f{+$02!P8}>|Pxy剠C|@`p9¬|(2hp"X}}puEhop@ xyxm^AV(5a>j"B 7Xkh PXPty;_DҾqkQG S[h0h [/Y o Py bdÄ (jPǪ֧Gt(1e iLG ̓м푾"En j`HHIΛoHz[զқffZRP&(tjqȪ]!)٘- OD| ~?/GVcE0'z=@@P#00+`0 |Sf? C)ԈӴ{phIN;z| ޠ3xt/ ~؟W;z3߫بD>?~b X +,d E2[5 #m:]"$R<\x .gK;3b_cbxX#%-_w@1BG$}2 ( ~,{} z@gg +~iN |=d}ږ 0?a~ƉV& ƫˠ䝳.â: "(;7(,-;* gt6|>& S<Ya|g$'|)sCQL${2Nvkr1}T0{̯0 6'L7'T"ek'fN*2N;'R.3<ː (LpHQ{ÇM\c gź)G, qyg`NyLr2r'Q  p(w&4'N)_3|& \~Bi1 -⒥g#:) Qu4s*gAw0#Lɂj~%,+tQwР%{=ޗBu& Y(1}.d*,1.ZyDSSk iǹ$)q`J.z„Eb) ϘW~=$H W|RhL@de!?P .l*c1% ~HP0Ahtzh> `B*< '@=S ?`\ ;zyHTP2(\Ip{0@2tPaP `D q"Ai.(jU, EŜDK %Lb|s(W|~bh\Æ_rZ)=GÜ ͐Y={Ob(4" (-c nXs5*('P2F r^LuN3\CM} QqȹPb[FQ^E1aa]Sz2 B0JĀ"QtSWI/$) @i47 Ĕ.C"O3t/1gXe ^i\+4D )5a%H=W(U;1ƵMQ2^˵pz0RzcJ@WlLڎ8HA2X HTS f|$UJ]$IN$f:.I3ԙ;938|`:=`e#ÜoQ:8:R :sg%&tѴ1jSb.8 ศC,98Λ=Of^xYwQJT"/ 1)U5;LMkK0[L 鸴ڂ2&l$\W%.Q<#T>U5uH뜩fXFًȒB^G`,;1 <8f. Sv!qN]vs'6P<^\1QQc"*8LoBjS :Yyǁ.{S9]:qcDp 6@+#\=dz|DXD}bM[ҋJBb/@Tu"6@t:6D6D 2D6DRs$0fe¢4X'p?6aFh&$2$(RRoe*,d KHf0?‚x@ /\ ^`^!(`jz/j %@&)Bqơi)"(It#?"PIWgN<LE %$'~aE!@"Bb`!޵1B%E`„!s@ǚ~Ca0b.N#d;(@N'Vf8 MIǜ7"<,Xlt1ƣSŢvM*f/4?Nγ$|()QP"CnBfK ʣ$01\/ &(~@`^'WV9 <$olX-x`H'ɀ]^:6KonĂ( "gT)g04>B"c ÌBN*<%2(z;F6DR}ĮƀR)ld# 1b fAX),X0hSf0k~a4Ů,fn dDp|&v04PB*0"Rr:|BfMYir"qTIJ`r$zvZۮjb+I.%5ҍYjd:5wVc ;lV.v#ZLJ>(GPqqe&II,:K*솦OJ5N %Wl.M.KhhU!AJjW\e(qʍH!ʡa`4aa@Hl$4Nԥ z2i7::`[鼾BqnjE(r*[P̑Byk" `4%jX:^`"V6b4O$0KdJjj @Wɼ5#G GnYPd Ve@ɠ oVW80<%%IojX&t"I5 #n6fvW r"<4$DG9c}.tgGt4)b`Ey%O(GV (C HPt#B`$hBP0&K$t(I`#Fh%z&uIPLHryW$~d8ʿB2GDREhDkd8uCN֞B@CtxXTGG1"Cx(@1'BK:ϡeY)E$MBbD EBq.䤏@Ԉ".$PVQ*$'r Zat9jT-Šj|TÃ옜a^9NGPÇnZ쌵@֡=b&tt?h` l` jU"LJ:ct; oEC)D#5q&t2:K4PuN:M\0ӘBLճNvubW'+%e6N>ԫhutbS6^ٺbC 6÷CieJX:D |ף"bb&J'4ND1CY}zt'6L0/\)Dlq_KeC@o;;C(sCF=ɞRNAR V#C\gl(|@,T@&1`P,Kr<@ˊ[B`XX,N CjfH6BKG!IOZbJ^jV )%4B<ha#t&(XLZ*mToO?MRJjd 40rTGopRMҐGt2Lp99Ĕt>i:@<)pJP&.J #+KB=$RBM ˆ(l: :n#r|, .V@2B J%"O<#x6Tԃaee#Kd.aإ  G0@jQxcn'(BM}Ϟ.&$lc(Lwew(@ )(tEJ%~s60 v N;Ez5j"ktBH[XXObp[ K::c,U2D<,8HY j54Rl/.k,9 㷮~j(Dr_W|u@`/1e{v.$a IOeCT'+-A3Cm.?MP8W$ZB?0W?8 _`  G28}Q @$S9 ?@ ѩOk: H;ZcV#`4!?pMh$,~,s, #/'be2xvJSdD `&zn0*Rcef!woNQg-dť5x%ῺPO,0Ԧ|Z=gqj+-YJ/Ɔ+ ~h)Ґ@ +¬ 2`(8`*(@ ,jCk>*j8l ,}*p~"z6#҃`J%I(|MF {j*@(3y}:S~nzgA}'IxG&qȉR9(9ǾՏ= tJD!>*jNH1@8Ŧ*0 r|WG40zx(xlj.[Ij8Q2^rR9]#r>)Lr1,T#.jbk?5"*0rn"8Irb);*1׳ݐWM:IZc)*#컼!]M2Gڔj=5Ba=nŸ1af֚8bPֲg(5QV ~'NX}/cp "*RqDLȣ:*½?R.gx ]W.awͲh ( 1D@$+ZM`9{7gz 0H>ǻ-FEQJ, Xs=I0|FVxOxǁ0"@R>I[#42A>X{ 9Gd qu 38#RzQ@ .hAU C&B[w/$G @t Q;GPYK |x 4hlapI9P=A㻐#O_ǁ#q=\ a<4?G@ KZ{|ϩ"2pW:I|PV&@IwV0d+Ob@@,DwA Zï)DͪZȁ\,`@P 2Jǐq苑R =UT,r,W\Q\6gXUJhD%^Wu(}G+D+@S*F )*vPU%J'D3@I,@)54*ABĐHQ=.$x1埭5pK2j zܰRˤGҚ ? [Z%gdO5*5˹k*S,a* *Q0~Ea0>g0Q,!L+8G0T:hAlaFj@01fQI[XB@ 0(Y5ٲm wc~>Nm$9!D$Ic$F B!EҒ:T2*|2z5rvq)De M+RҺHKߑ+31P @Ut[Hby[k`4ALMj%Bi#<}bN OiAq؛2hB8uo'2,< J(ʸDBe+(WU!ȂIk+2⣖α -@%ZE}"LmѪ֎9ĝ- G !dw[ܶ&ec@lKVؿ ,@fx^?3(; vkQmgO=XXDu LFnyX4 kKW+Eq4Ya,%ڐUD`IUu(0t{O 2ʽMt @xpG Cwшz`-!nBٹ7]Xr;@)*E7#gGV :h! Q})0RY+$ʸ\|I y Q艒T#1G<`uc 6TQ|Y. ų;bۧx"" K0"4t⪺rI_QH8RQ\qQ!" mْsR%0@a~B{p)$@8@G0+0H؎ب D)J3Рq:y>8wL̥{ pnwhq h0 Hz ` 1 o v@߇-@+9Ñ9aC8sMA7#8뚈 +Ӻ +0C=?(I0 2kMO|E:LS :[XLY'+<cKC À 05`} 99 ! qP )`x (P{yZg`H hrD|[]'Z:RP X;3@+tš8~`|1NЯ5qRi Ux A :҇(~ `TQl:m!X`)g)W0tAV}3(u :;{ *j?ȁ! |v@3}@rYZ0(x{H@yf`xS%;xz 4 8hm H P|x#{%y!)ipl  8 Wֈ YF8w!XX I EЃPyijG '  BA@p  f&?!DpWR+7J+5hk@.|RH \@ip0 Bh=sP$' j>9 )m*#L%: y&`q@Õ0Ɉ_: 0ԃ^ +yH;ڊAs7Jښ,f^!l zſPEnI5/r=G ںfnHVشګpsěhDzdĊá4A[-7~`$Љ 9@Ǜ4PXkBO  s03 8 *X Zq; NNN,y w@ c1 KddτڎTe+s驝l睊,ȹ# ȗJ{X@E+U?.0kXZx)Nif0갚}7!>X˫gl+0)2R 4b )0-€ IilF yՠ4G%RY.|uŐ [ dІ_!v.s܇ƺX({G9B6 _ <_x R 9:(i%duHsxuIi,HG@P8P 1Dvu : yE#RxxXP9ڎ1@DXo9S*:g ЭMO[!j}JQど!M2l d̖y\ѐ鞰8l_: ϝrkG0 Y׌{84Xy&ɺ6no]͛ HmpQ9ˬGAS*q /F]Ҩ4iB `<ޜOPz 0 AeDR_W+,m5iq;A-kiU⫢ QE1ȀQ_X0 |_IYo ?_ (@  ?߯5 9'A`(Sp8P  _O0( `RQHCD됊+T'`)H VhHd7&~H8 %ER!  0ׯ#%d,GG I\P'V}j{|c#{3= 0+$ QcU(9{>ltf qIZSV?Z풏$%PC{QT 9y%tH'|=Oz0ȍT|:|LKbD(LEjgb? c 1#K^˵;|ɱ@31ġhy.R@(#c7,GZ@Tna,p&?びcքJnWQ F`^À=ǩ .8cbIf@"@@` ;8mM$=D!> G92VyAodaGBT(#}1CEQn @]^ș6!K}O`ՄT -#H27n*b@uS;PK(xc)0xKLN*dY%>y"PP ؄kaqdpȳL,4XM I#`sM P&bBI v&?Ǻ9m=b 2=3ydJ" +%%C6'[iVqyLqjE3}0ULRWqR33А$"$cUkO-%1D $QȭY%ȣ*JOX=x!x%0 =`tPJ"!)I3[_պ sZKktgr+ hK(V *@]@qI,(̴j\Kb3ijΨd)M2zQLN+%̻"lz zWX !8LDY+Fx !^5m%"Z d,zcΪ#>A3C۳IŽ: $Yv\0 O`%aN̖p "36D=JSS0,3+Zټj%`#!*Э@Dt-$DY %@"#GDR| ^*C$pbV@,d`ڂ I (8&XHm`B$`OB_Y1|V˸+uBBZ.bjbj>ڂzBRmL~h#. !&dB* "( 2r^2)2RK|e|P&JzhLDH/)*,Ѣ& r MN*ΎrB +O 8$lR|$H &DȣV{BPLWz3gud)d7 B `)Ě KҼVZ6 |/r ,"@"*"Z'$x^"C-̆H,K!Dg+$y4@4`b.8>e.d JG.E QgqhȬ3 & A5&<#DFhAŸD7 FOmBƎ Rrh 6 "V$B"B`BC$6plJE2nVNK.g'dB0RJ+.Ց:ooA"IJvFc\qcO-kj -c%c"K"BtI!P 'o j3Ґ!.JKHR _!kg'ba+hb(41~ $EYaꇀ _|n`ka,h=x8g@&Nɴ3 D1RNp")F zjlPiBKsb="Zv>Pb) .yNǬ"$ FnB3Bib2'l/DZ-,!a=%'@=H!xI,."fh<md$BD |TeOe3 m@ vrJj- b*dFWb׉Ĩd6((ЅalA>Zb`"88bb1hX(."bN+E@"3_3, ܬ$Gp a"QD `A@bL(mu% *؛A@$BԌKBB 85Anwt*@R8! pD3Je. (z=E!šh!hb,(xB:|'•=bEB+Gg!3-hŝBż!B*=,r b$ ^ Z,3Hyc?jYOtB-MJ5#)RD E-Rl|8$5)ΫVKn +$#y=YN":KZX#B#2sFTR @(K` Td /ObR:?|/v1X^,#cuY5 Vb$c# .M:g 0m6HIC0& $uEA!0Gp"<R2'o,Lc{^h#qt(-'aT=J<`c"*D!AڒS!טFFJ#g^dAʓ0@ Qo<ζSal%sY2 ,Фvsb97RuRd0R5vd$${$E*cC-4>t-ɓ&#BHT.$Jp-&m:TcGƸ9"N4M|ueX`tHGe0xdC[E␡da!YAQX#&F+F"Q%b|pV!MUiGuX.5fd/xWPjF2V@rBLw/D" R'b7ET:0F5Q{r@ya߅ T$WC:)/.=Z5RZdN({J#6+Y"V EB.. 'j\$"'X.l =v|R$La  ej \aX>eU"c{a`1rΐ+ع1Hn.2iD.JXRlc e &V!A/MB_b.22?"j0:= O{_?DCa(be[P Di a<7*"vD! & k$>LbABKqq~zBE`lFB[O*I+%_`#[yRWh&f],qcFezn.yDda9 / N)C" +c>J-g$~Rc=Դ:! JH@8HQ.^Vlc/YɖZ4>/t&HTb"s=6&NQ@6cLJLFrLی&Z`$ 0_846R +1(l:\t\~?@ `DTU'ɥrĖ9I)W(S@omF$6Y"D듙 :FV iT@`jV!SBBа|C@9%V `Kh|>5v ?܀Ps&zn0*\cKҠt7PAYivB'l$%2_Wb|HB4i"`ܨ,ɀB}%hR`P8HZH=)c -R7 ! j,j$f2O@1<)DLa a+*B20 )KR|*ȇIҌAP|« )k6(j BVjb/e*X ԀBH`3sV CO ; ⴵ@)G&~ +2'Pj<'@21*Jޘ!4H 0hW !|F}ҭSrEI-hekIpq}6ȒOiT-$DJ:%6բFQGjL$G?˫h 5"|q07).jFT_HR!8|$r2[rk4,ő !:$q=tY`'ɦ"p=8!`Ȃ܃< 3`#^SZTL% #cE$ #|<a-F(,,c?C{p$Hb$HXF =Xg%@TOHhv(@"@H Iq=G  x.?@p6u4=,w4Ɛ+4N*!@8Xg.J&4V! |$fKRԾ+u*_()+p@h ~4D8r |$op!6Cj fvBV)Wd%L,IΒIH%3,jRҜ⛷ DCGȆ&a,e8 x-):vI3S#kݐn|(@N# PqB?Xd0/ 8BEU4TSІ>( g K QK%)}[Ԇb?!)+!'&Hɫ>3 ҘLHAs,Y[(Dp tlŶB[ђd09QѶBI"Fg,خpǫh^-pf5Cs:49 nJނS2A)2$iF@6Gj`{YFꤔQ=I#x!<`8dmy4COr!g 8eaK%~.ddƌ&B&5$JJdjCRJ&m!2&D|q>([L/ɲxcy H9)IIV8dVX[n$@nc4WS=ZjE.,sOtE͞2q9SҘa:$'"30"a@$<XIw@ (jİn*[_2lvFcŖ)1 I0!S˴k4Ƅ)p[OeHmC#Ck4x'2fg'=ja ^*h;N5S`qVW츒krhECbzֵ$Z'~F:H#vQ [Ġ xa#{Ţ5G`F>83(f5n*Zaj +:S*H'4@P s0vAF,h]UY}A2D/yn>8 9B #zdP2呸`}yR)+ӒA ,R 荡p|$ZΠpHtk `@0ǧw Y䔨 )|pn @ &)P!/0R=8ꣀ t{HPx8Ō`#2)ht`:`@ X4h9 qv ,hy8IÒKPx (y*5 | 08xR"ğ#/zƱq/YRE\9Б4(z➡A0Ӈ6[S 0:Ic2%8AS6+2 y2Rp`Ǥ}, *riRɻ螓h=% Y=< Z!5Ȳ:S#b5/[=yމ1:T6x O:q f @SM볛س!) 8{+uʉ%  O\Z7,@>GGi#KH )xsɤ : -3;pf*[4I.;H#ӯ q8c9R`+xSu!ẗ 3)f;ZRko2AH *D$vQ\| ra|A {x}'Q( 33g-̋Y'|2no!;39گZ1[K׀9@%tpw  *,%m cd w v pr$0 $8x#庈s\r0) |m1Grh 0vt£Kؓ0tRZԞH~#Pj) l_X+EKp€- ?) H pwp~8h p~3 |(ȇa uym y Q!J6V'$Lhܲ&IQxMpӖO@uZ`Pܳ8u x H4 XA?{bT7,|ۑo-+ ՓZ7N16!XvIF.KVig~9 {ybCw ;Sy[qʯ )4Ӏ =2  Q忡)0A ( 8Ic&Z;[ЍM)iKgҘӽ T㌏uPxR4ѵ]䵊9MƜ>A@upv tUL UA S  zٚxP@00 8q@{5p%V:L ZVZeik2Q%q?z4d7,㣢~(e Bfdq_Y9A3L 㟾Ŗ#K' y*| U5P&sH|3;6yD "PO~}@9kJh8+f,(w"Sx1y$ @Z7P ψH5IJ8ŷ2@{ Fx&[exܱQjxޜuPt4y ∐ۯ|ucˉ k/F}`<`hBRI 鳓Lډ)( [ v>g=[u6Yg<&X4ыd]l.UhR݊[=HHh` #֊җ\ : u z,&yɾ Qp xoxP + /O6X!Kcop%Xo&p{(Ohw q{ xİSHp? RMO1蔇hո 8|18?$S `z<'3Q ryK @{ڌ _b+C|hg:^PpyufhU~:HlPv^}Ȉ Hu\ ~te  v &Yː;`5SBY+C`u @GQ"jʈ($p$ЅX ө,2SQВ2( uXm`t(r{ Dm!/w9=V#ܴ^?X9>7S  ҋ x'yˈ$䊒XN=Og XvzA= b!Ub'6[R_oo$` P$A{<R~_ҧ_)} R̀8ppfL)>'+Jzp5!}0FM` z6K``@8"Gޗ2Gchb:Gsi$}N@8z7Hǯ'v׭uDH^w{U|[ǯߛj^߯9(r;JSG)Z@kS ¼N_8 "O}`.  (j&<ߨk 1 |ǣ̳ `;z-@ dvq g(qrւg@ zq{|Ҧt i:86"5)𚟫 ЬkhּBD!k"B$^* .7 麘,ơD-*K x*sC0@+3) nB*#RO I4ԽH.JR̢EjPAG-Al8@"\%Z˴£R'Ĭ|AO*H+\"kU_-p ^*)ʑqʁ}8zS}`>:ҕ+mmA+Xrz<xm2Ԁ`ky4K@jai{Ybzڥ@2'b& A$YS*%5MǸ \,OUN->%m"꘩ MQ̓ 34;#x?@h )<}Xl h <@`x5U| ʈC쬁 0ugnBaSA8VBCHPleEJn (` vP]8iDlAYT4eza@S d`rf;i!0ֆZ_I)\Sd?"@# !<ǰ -l  HZ猶+fdI{+ˆRSX1>m6sNPcX p4 H8FьO~ @32| (-[9_2T[BS o+c܎%B:5%`PH#5|Aa6QP(Țm#(XeH{1=ǩ|%*4r+iyE5E%¼ (U'j2aL,ƜdꪼU/7U`ՊٴH%UتRk+BIBh$0%RC sZ.FX4@ v$4QH3/)qU´M))QE+nA| ʬdhWNDhj#BQ%fV;eɓxGC FӊπAkcFl{eiED8#(.&m΢r&(kp-_"G(C pl@G.>Ǩ#!0JU:ʛkԀPZvͺO4j cKDc)b6>O%E1"L@)⾥ۃm$]g7 CRH -$TgfiHnOt¼J =`%3|,|&+GA<st"#ngR1_!C1E(Q2nW6:~vj3j44[|ɒYMiº ^{w1:"Ve/}Dz!Tn=p1$sN#jԦjl>{T- 'r}z R pu;X54uC8!$jz=)iiB"Փ#SA0L`ݺե+k㌦r?ɼeq8PV]02Uگ>uy?UM $^kp6lHQZ61Gp|H`#)i^ppA'&vn8hAW('(lܪ26*", ajD4Clj%J \*X}~A%ʀJt%a%@@&' ` fMH:lM,[E@r0@FOˆ*]ɯ 0G+# nf !!'fp zގZ ?#$O# ">b@jn^gʛH%TTPC"@!`>+Ŭ5.%!~%"ܛo Ab/:EHWj~Y&@*!#`,!%).m*4#<+B*|O,5&1x-2lm"ID`i8c2` `8@ 1`c"! `a|>~.%$dOW'Ef=4#ق(g!ǀ81 ^h+p&.DZ), Np)XqG(ߢgJ^bŶNQ2h' ,gL~Kf,l~B! @  H"J"4p & $2% %2Y~sD]' %(*(4m<Rd}4';!0d%&SNRPfL]p%a8rxn;6).e!3\fU)H FD[X3ڏa'mV#8FQ"j+P$NjH@&,ͤz'~ g0Aa*Z&bL3Lx(0vJ< w#W_,B6/.$ifDǠ o.5d)c7dqRCzx-Z5 JҎr&GG J3! 7c$TAH~#:<*F)+iNB,m4.b S-3:Ud.#"VJ/"-9:5PUb:iDuhWZzSg({3$"pOB^`SRMH'U^q"58K+-p>Nf2| eu{w'Npł\2xKBMa1RtmF?dQ 3!A"&\a$$ . %;”E~WDТ  V<20STADCoQ#^gNz[VNѴT#U D& &+edqQpd%Xq| gBʪ9~5>#@+ CC!B |ɳ,X8\j0# 3E|,tYj69lP"W#8%`5âbvVUpCzMa+`Be(7MN/`\xM"ǝܺ4cdL6-s)ܡ"j<zY%nb ,CE6^$E~7DM &E܆+샒Gox%en9 <Ir73p4N9LJ:Gt +x2(lovˍTM(T,1#(:V|_x Qg22q-4"X ҅X fnJ K >=.Ù "Q\*,MBU ޲M-YW2NWqXev* /e[5~ B$% Z>Y.\Mv '"D@x%QF%(MH?Ca2fggũ`sEtBa}#;nr&>𹊨`B\C"ECoWAHbZhdN~!Ff8:" V)!@ }A0%!1tH(aᾈ8HA0]-I\5rэM\^Ho´ⲗC'!TA`"`8N}JIN1bT#1G' APiR"\(!)lb_V-$;3ב%PK+#s I&9TQN^ˋQ3B]~B-b? IO5"+x j?A j"*ȇ @I*x!*̾Ue!DB5 !͓B0g5•x#cg-RN"++]V"i݃@k S1 .PxϬ0ԗCj}(lHWvjO~ E\Q~͐v6s#)@A7.$܌ HBZfDC/.a5hJvP !/p G0(2 ϸd:~&'.a18 ǡسE3JtF%oX@x<"tVH"0 b u `Gd}>ox _@("U15Hd??`7T'D؍a ( ;d[P4.?"8U şp A_0GP\^og~`4y'}04t'l'r,!}* xyqQ 8z`gh !~yIP}"lB5lHh:0+[> :9`nR*4" :|%S*.G0#)<' hu(2z'V ^({X}=2!S)"R9n#{C HJi UqS<*ǰQ$B y)??&{D)u&ְiJ*bG5ԟ{P q9@q,SO9W}et'WYHA("\=`#6x6g(:(> tD# z<F{q` 0>D#y@`"n@`mA; I^H.~ `+(•*4=MPAA el C4$3{T60 xTL? KO$~HϘ$阨r.WO$όQ)d\6YE~) fLډ~hȫ(E1NJ(D^@@9 ` u<iOGr) D@tTZL@W *>鮒t|& C-"+sdtJ08ybW_jy/d[}}VtDZT7`%hV^{&ؤzb@/|cz"8/|SvPxҵY`8vP5= H1ǘw.us(tC ٠!8)A8ם M&L4vYL+QU%z(g/f %&rRu ɲF{8AYU 7<(${;æ쥠L0!9wKr\TlD ,C%\Ҕ䨈* *sF"T\Q],|q~`u1SX!IH*2R  yIXNg!zt@/np'i`9Tkn͜8Lg7 Tkx9ќ8&M:˞mG7avS|X s {t_%x*ubo>JՍPS@-CpXǃ PbDjK dU6Px|x]XPS[3؏(, шM[͍D"sil"|햠(Ho`vPAh|-0RV"p}-sXy1B@y9 ؐHa+j9a0wp"r@z)tr@z&8P  x(ⴎhh.(w`}Rah:HG}'д[݇apls8r( xĩ yC0y퉐 |=h6όrⲢpl{nHu 1 ' BfpsyK HuȰwz@l@QB^ߘXjдѳ{I;Y' ɑr ,tȎxѫ;i 9k؄)ʢ3%dBhw0| "X Dahݧ*=3ʣT 2*|-m>cÈ[S4}Кt^ 2'% > q qa wP `y8r8s2 zwpGY:H̀ +,qᳶ{> ;(/kDM WA GJ"¡!Fؚ:V '  M `([T ƞ {9 bIȉ !|FNxx ExP^eʣdzjXJXnJn @ܙ*,9 2{1P/bf:5{ Np~0SІ K/|H,-2/Oxt3ɎyW:P3 QQݳ8v@೮jk# 8Qbw VGI_kN,1͌(H 59K꺚t%H}0eiH QlbӑS=0S~Lx*~4Fc<rvT175 ɒ2hze HBDÎ[Ď*K=2ՙJc/cj+"8HЈb,asj|yMQvz#;֕*"r!YR6cSw^s(z*.B3'h( \q;olP$=-Ie:ȖAjy3UP󤖍j"6\+j3]| ̣c;[5DނD=0 ޽zN:'Fv AɆGGف@2k|\V|= '{ ȻIy^n#RHH3 (XX~2zHbP \w@%`&ZK@%Bo Z@>( Pͯ0Kcrx8p + /0Ā3 @PwܿG$ ~([7<ҼdCyQFjeh@Pm=b(Zi4VA!%!^$`Hvd n M|W r.}8[ 1kKɪF$xK n}r\)$L+StU$GnL `x2&tvH \"`"08SŔٗ1ԚB e4HSS:"I"Ni@Dz1()v&!@V#ؒtj(!U=R*EPČȈaP  2H+2.Nq,B^2"Jc;̔7`DGܘjXT e'SU ]چ$deiK0Uk,MPQ#OҬ Hr @.RLTʥ}i3*ZVX  ј3X =Gч *@k|n 6[` # мI:#rQ:@ \-L'yJ}*!2D8OqF`,{MO]-M%aMz^gK;mG=1Pe%,I.\_9Jc$tV[A<既C. 5"%??(24 Eb!y,APe+Q^6+hJUXJFBAԦLR)Kt)\'8*>S,m9N:?MaKT%;H.Y|aCR#`,5 ,諞8PN)gQ$lՑ^;);g>ViK$jgR4Au2'{<PȂ+:-EKR""~Nωm K=bI쾿W2ޟC$-ZYMĆ`d U".°*D1&R ф '7⣏q TnQ0(0:?h /*Ԥ15ԝCv젎a79y0>j@X !;lj<<!뇡 v@LP y,}@c Jh,_tG1L9*Ia=j焣&0F*0M{䅲t$@0x c+Bǐ,r!EG¥C%/A<~BBD*Ӏ0Zbc%< B+~$ OBcv8 V% A!l,X S+D@$i, ho7$'BX"GC|"@V` % -B&ń~:+`a`(8I4Ǣ$"!Y &„/tf"OBxe$;¿* Nd>tiBLMfn/bL*Qe.*)iJ|*dCXA jM QLDu""FX30%^f$lT £"G 0@ ) pl ))@J` աOZႚ<%$!B0<&#)LRzgYK_NG&'+¥LP<0I,N I R ݆z?0NKJFg=efva o#dA." ,3()"P@PŬev`a.kԽL>Pc@UC,Tl*A":=Dݑ0h(RԂ@*Nd.1@Bb0l*b@"NN%5&k N$d:U 8'$=v# X**2Hk"@dRPr.=(4)M1.,!fFs*l &d< "`XLj+S@jZE8Ѩ$CM %JTe(=4%B+$KNj CbF,PE\k@)2 +2*\*Ym*h/G@T/bj! g*\#jĔ1mDÍG4ȤX L_䨡4A\nELXByX½:z~KjVJ/( A1@ *|%`! P@2<nb(u:>B@"$Db0Y@],z)<(fJej!K&3;K,귥S]dֶ"'$H H0(G"M&l+ X+{ E.\Aqj" "q~f DauRb8&AS}H V,Ya(8EbS*$^_|"*A  *0`$D!z#e%lmꩢ6O+ @$V@7 b<;!Ήlk`&v2$~!d$cdH # ?oc =" eEAsA`'6vw `!%b ._X+nFgMİ)DL?FIJbG*'l;<º~#_N"I0 3yw~s8L֒6'rBya3+*Œehzz-쬱nA1z""c!5$1^ª0!!эrcUb*-L #%Ud&jSz&ׄ+eVO87} [Q@(G*Ijt ’ F q04EtBt~$4$DTRjQXH@2(>xdT3B: %i"|[dP-1M *"ӡ0 :%% 0v_04_8`z!-V&Cd`@"!,y<09PFDqf3~ `)Q"#he<&i:QBPb.wb#vD1Q^ܹ^2t  O@0ax]? @~?"@YPϹC E_:G 0 )}`8}B?/e"XF`H{@8MQK$6Ҭot͓:bMO6G$d؛B"DH[DUz5 Qxªhm:%VdG,q ’HKx6hG j'wIJHb`N6b>]Yz93,9pAR;J̝c'8 @;@c#8@%@H|Ǵ0‹+1K"L5%{lu3~ _ k E"Qtf JXNJMjejse+UE]B}OdRe E G`JzIF&`" J zuFI/MeqzdA[q%^ (00$P#sq;ph{"/B[;PhcBcl' d8c-op#AwLA&`չ+lg~tG0~Pl7)Pu*۩D3Ns+&d 19Bz{)1" &/\4+P*{6 vq ; r-_9kQ3n:""Q- z|͇Рa#Rم%08rh*`+ *!2#p.) c@<%Aq37-'c&)asЄXA@:" } R,8 @L: L Kh zwQؤC^1 -3(E,cK%q5Q  &!l /2(h 8wnpH Pt2D{1 |A v8n@%E$Z- bc+x HۑN`xý0 Pk ax`y{4 ؏AP@!w h:ʨ|Ȑa[!аUڀ {qZ5 y}7V{o87!@thvr8 06JN ٞʰ z/ YM8 0 r("chpր9<[U;h"j\7[&17,YJ ѕ;jkF]ʿԹ ݪ{w m\: b.1 ډǐtROjXLO4 {Qó*J3ޙH1| i ؽK2!%)bTxo0Yv]ٹZ !aQ6;rdFL Ԍ lLTn/ i%Z1Ps0r$pa Rt= _J_K L_tht"9wܺZ?`|GP4ʲcE MY: N -p#6>|+P6),lR&;] j ibX/ ?F%\IjI"c]תh[=>5(+51*%i`y; TYzam. a@eN$z'G7|+%~"Hi`_S|T! xOC j>P ߧhBn{%IM%m^ٕDe%IrP$ȏָ%<Af&qH9$ ڳ;CM 8 zpJ#T;c@$G \3ya7 Mg4 mM^s h[AV;K|~/7b3*DXBޛ<:ecm9= |`W0iyFǸb^YK:K%\G%t? /HXMN|$L˩GMB:1*`Y^b($Iacf!Y-fEs^4I ԅDxp[> xU6WBTPFM1~r$_ak(ƢLQhbl)2l!k@ԖYS!?"A8cUN P#w;[5X*2Vpuq h& 8>-EYTJ [8%YUɑC0!0x#w1@A QhA!?xq7 BHq?0E<{_rB]Gi#H1f‰Pn Wcc?`.Gg"(%ȪE)Ib@XykCq*h{AaVH$@Q+Ǟ=G,4;nxk Rm?CFL{%:?gvvF""sG&  ָ 8)І?fvV CL)SY.pJ2 ή^(C(7X`O1%vEϟVJz"c|M 3rx,s hU3 ${8G'PTv5~?8z이J0i+ Kɏ-UI)UfWY F0Elyɲ, i0ܙ1&rScW9q,^6{HMRH(HDm*'[걹WGSbJ 6tLeKOi̎sr#oF/uDmhL%eDK1BV{1vyBro8ST:C9-{ 6FGj1wt`HH B\:G߽79sTK,d98HȰB2Ƌ0 dBʮ9ⶢC$N,]B r+n $r`)¶;7ê.%p&r$t)x`-8U ؁N+Ɠ J$$%v-P.`"$N~FF,⨑Ϥ(b0XpFТm "޴!,&B0*,F#fb%$LȰou*CdDNJzB%j(/q 6*D tPA.+%Np%L'$%(ÜbHre*0Q<\dh],a*%))ΐ~i時Bcyʈq* $/ɂBxiN7 WgЅB&g\#LDD1B.Yd(D*2F&|H8",W`O^ŴjΡa*aaBF&=![]@`0xe$a!}Fx*qp:CZI^6H-". HDB a'%A&,M1V$O#fP"N2-LMC݌@‚s-n@@O*gd&K̮bl)DF6Ä!h8`T&$p/݆8y0cyCD΄3A8*3o .T[&(FFA"'-h4+ngĥuG+g/ &-HVW5&ɜUң|FCQXGG% (T|NUI-ƑPE^"pĮj-dBbh$$FG/ކ$`QXcB 0ae<`8Vj 0~+B`(A'HŒ` !T2.) nTy¤[p]:]O0d&ēTo(.NPrVg\΀(*Iq\".KJuʥr( pF4p=,Lz51r\Y2qcO"6ses.Vp鼚(@M\n#Ւ'NOCoJ)I&k-ؒ>/(0N~B[#Dq THcB&Ah5"prH+VOmR^%j%FHԂkq &!ꩱ,-&ا&pAQR{wDQ )ayKT꜖Orԉj.dRULA,jykDBGW$bP&sRYEC A *bna,mTB` aR`<N0a*!8Īi$idz&/c*o!}0"hJ b`%d 9k%*!>)8׾= $gU9ǕH*h-;a 9₻PRʧ@I G,(#lramDɇVBCʀ*Agxpevĵ:Re"!,Daָ=*)<R-)՞CA"bW."$'.&ʀ.)R0$d7%KȥyG9J `B,sC!C|3|N _P?G~Kp0}ȀA8Bg17w! @  RY}J )8H@ a~p0 }>j v=?`z Hp ßϷ~ʕRqw>"jL8 9_S l7_`7D;m0OGB 9 y@z]v./˺:8$D%*@)r'|2x)$  ~sq,EC'/Ј$+Yj=+x# NCo(rFf%̽ ,g9i" }:q*|i; *t;,G@  ?$, ӌ540A 2/S .t]@¦)"$0A/p ;%u i%mdn&1 pl&,+w' DKB ŀ:E.W'& ``&vNJT.}`)p B=k]-+KJ5]J+ ?6נF2`,4r*~jmve̵K٣Z+./i ĉ_. ^h9G/SN M5Ζh$pڔ=F{6DsS>5HyI:l\+/+.4:ƛB6-k Ds0KK\a]Sz+dJopW"*ư0WڞwoFP."m/@ ֊nB:瑊/T4*Xr,-& ~i!^] '(X )FU*! 96]9vT*{ 7b&E] dJc@ T*ISdQq_[l9 ,ڤ)?h ;FyX8Aǘ*a,-)WXkZNH `| _[GD+4Cln P @ G}ň,gXpbGH%E}h&˨j$L q%!8&& Vl3 y  MeR1"P:@8  wT +z3rй CU/켜&HXFHPHJEH> QE.͑PjE_*90vrFG6/E☣*kI һ`CUM}Gr4@8'C,B u$zu(~9FKyT8M}óHTZɖQ!]7uإtVS!e/VTAE%2`fl)dST2"CеHZT%\}IWҢ,g'-D.LD: M^Y,bp ^2)ڎ?9(*:V8mDy’Xk]}M05hZS/H4@^}p0̬»F0l iԩ50&huPDm Adu:PGx`xy;@( blU1q=@x*?L`%UNO\d;WuQ%*Jdt+KR,=xP=˙aSG%i$^ 7-FNJ:U5WP]p0kEN3] 9$ӾF $G۔uf{" R"0e'bڏ30-8{ 4$^ЇM}dv2ttBfEsk&lN8ecuB`&ą3uĐm(DDSOZwڊ&ו[+YYhesRFhCG~?f Qm35ğ*p5 '|Z|TiUV%D/w[=⎀`4 90Ӈ  X 0#s3#{`phހ z/ˆ=軚X ) @ 8i ʽBF z H  K XY褸F+骥8- &( Bր0Xzy?Qi2Q0 q`}w zi'T))3豦*/Xzz Ӹ @p(qi/X8D i02@CQHvyyB:<70|VH* DCQAM! ¯4[DJP dj| }A)#e#h(xʭےE8F[$|pdlP kLŋQ`|| wE>kМZM;Qy۫5;a̠j^{QHٙ 3"s0{0t(A <{ (:@hF^ެ@Xii yQ*Z6K/3d'a7!✙ $"jVh{\P #?QrĶR|DX@č415TPx zǀpnm!hw q5{Xzu  ڒIj19!YSN{:<7ňSAпDBĤ)L6 (:1 Z*d HDI_J+~ܡ Y70} і5H{**˂GݶXv`) akŕ XH$8ѻ  r0~yh֝H  Z X }5s*F"0j |*|)vjhwzѺU`0wu@ȖK9[yD b+~gR~YJ(Qt7-2b#B,8`YFY2\6f1"N*̩P̺bCMJI;KQ J635X} 0]0h¯RXjP 8WT ;9Mw4 R9=* =%Zxfn6Y3렜 X/,Q19P`1$I[2r{+}|lQFu0xhsX OYr(wP zSSly&Iiy} bCЅ?61<Q,Вj f @CoToJ\XЦ-F#*'A7 Pqnfx)# P| =R ڍ~-j2M Y n觸:6nI}jٕ79aVP=9Լ;gc㛀$p"һ7l+䐀2w+7ѓB8vm5S2t@38z.J"{,/=ӈ ,ûq=`6!°SXV+ .iӈi_5=A Q -9 z6<W zn̹ zhAW  칈By 졨7+u@ uHv]8 Hw|opHx.` p$v@zX!n+J#/cj  %{iOn( EH| D P|v|KtL 5I^x9=3f렎c_yƖɷDSz?`H xxaݨŀ {  s0Pj/JX Y;cmwok=군r⦇ uX 6~1ek̓ȵ#7"P~ 8`h3FC?ǩl)vp ]yԨ6I*RBm@@@S7m*(aLރ\Yc`( h]pgxu( +ډ\pWoJpBLᬳɾ 89и83ʼ^of>82ԫK< K9{W󌕺9' >mVl9Cq4s!5-o ^& 2h1ht_=y]VYzWSe&kݸDV4&0 Oj7Tc!|>-]3W($Ap50 @ (XGA@ |cX& ~>bqK|s9ARP$ ^` Pg}@n >iD^BoDzVl.!(d#xmTɿ_kV A kvx/4}]qﺽȮY8E$G7!p+ӷ\bl- $UB4XwFNjˤ/b2(DڣT(!o ! $,*.M2DOj ;Bn9$@8 G{"1nI'jp}ix &n@ig-Mڶq~AB5#MDi p/~"Gr JF#E ΂8Gf- DD:z/,1}4PJȋ94{DhUD9 T.&MNA@M1h @621 ®t6#hB-䀩}(OF "ω:@윂-#,{`X{1B|~guOxh x!A)t9yG:l 8 D$vIqqj,x( bkgiqZZ@P89{I.'K{y>)J:t{XFRF|N~QzjqH.|'DnL(;s,<l{;|IxGy ,G `1U' &z9t'8;̸{zH75X\ q% c "r1 5ݻX@!; H(* Y|'Vkv'`4,"pP p#iݞa@!7 t1ȨF}7NLq3c. S6`lC`G A;A]!)ؐck >@H%IBL;#0j &6?^HҖ_aigHzyl7qD"tH4,5h44\oEԮq|/a&e)9\/S1V\@UH ӣ_Z2S-L48ɛRugficK=QI}4)[̺S%7=F0ˠ88`U64UL#)Βg% ЬgFHщzss+oMc'RW8FTSQ1:ŵL4o CY>fLL$3ڕ.K(lQM<$rf o?h S*A]<0 w(?.GT"dKig-U3T՞Sh&X 9"Qh* aڧ,u`YoPzEK} tˋ>zhk(gY%1)5mQMncFi Pu:͙#RڐQޑv G|Z_BwV辶;!"ޮn߿HwVj5;y! ]JKh! N L*˼"|kN/Bj黀EZ;KBD] S yH%)}``8 9Y4 vћP'Fܘs3 rRHa<=ǡUcwP,y<҂6<<]* g=i.8=1)?@c'f'3CyM2j癬.o:*x?t׻m< b^=MY5@%хjdfl6(B,F`b FH6j^K.CBY)gFPd% VɺccN-F!B20cd칬fYI"a@H!9%S/.>⧃/Ld2&8k0f#J˾ˉN^A1*.͊d cT.AtYJ^1rec;.ԟtrb*5ovP`*ϢY箟b8N"/6WÊå/je-MUD8E/j;vg*X5de4C*'9.,RvNb7DFΨC/'C0*> /BGHfa8)*" "`϶ATh?tB( p-B0PjXäX02@Cid%5Z/%o)+BUs*,2~|aE>HԊ¼,R9l) ,"~C*|5*z/i-(^clXb^cR(/ 02\BPNi>##YжYBnZ:'F `$'C 0`4"86<@2"X( -j5g3j5f' V0  &a@*`4ABPt-$7Fz 2C9Ɗ(@B*; 5"2g^^@ @ä'sWT^>Ij 0Uݦ>KW H2Fx><0SC*` N5$lNݹSDRxCK~//NDeHrj?|f/-$OvwK仕r&d/J^MF9-dFa8Y'B;fwmG^B+nYvp"tC 8{==""rReRӣT H@ / c_@(Cϗ _״)`1{@0 c ![@KdJD FaSL}'@ `3^ϗõz <߸@ dC+ߡOH =Z!)z0+GS:$f{Mmp&gڢ= S⭊FAn& *G ua`xAp106+a)K[4#bؤ"^4hJ@Cap! .;$R?H.8*e5,ꄒ(%X @9{֞h܌ob[)y03O+hQ"X  8M{1JiV 4{5*r ϬP+_0&KǠ"zmZ?xj8 "HM\\ôKި֬kX ,%8:jP9Xgʞ8+m9"R+t)P fD`9hC|0;@3~!1p: A**TI aq%c bp[\ %OPvLT2MA|0TYCd 4vb]ى7y]: KHa Nnt4`qe47~c5RTd ?$mлgAA-,;@}E;(©td2CRAKLp{ @JYN4CY:,{ ԦƹB?I%N{-6(GyE>W6g\k<&0 =j28*RxX &PC)("mG1 {2#q~9?`K~UBWe`{p4+yxr`XpK$gd (I Ȕ tq*3xmoy>2"@wIRב잼lO@#zQƤ[DTFÉmg|b䋕ʘ#ٔtG w@<xt0>2ȘRLP ڦ%D@x(i zMr7k)k{*j܏X9b*Sߓ8{P~ ~IC~YB!{2iJ(@/y0Q&x&;`)B{S Q~+ºV Շ5fH+ XÑhâ'/ǀ#,h:3苔)~PL(3ĮЩ*¨)*fL)J/Ȳ i)AUP !g E/1E c87 304@~l+)1߮(A< 2p Y y|oFqgiEr,(C``&T<-y xF&z搈`Ϭy4AѤ+(Zy%&JB4Y逐 |` ;z߉`K@"lLqhįpy "x굓2CX 1TqITX x>X oXwJ|98s&„!JqQ+|^,zQ1߇Ht8 \d%Rh\ϟ(؍ hS.X 5j + 8uzhzH]$"rz L6$QENJJ8zxrz 74hhښ/*HZ9XE( HRm 0Q cm 0zy\H8v`m(p% qaDշZ:򯨛E5¨4!,F@󉪪4ЊH J@)@Q@ %Ȏ{1 &{}Il Ak9ImJ9kjk#jIMɻP hKk FCIa,8 HkoҴ8 A(a$:B iĿ*8;k|*Ož>a8 ̟;!8"=LT*s y (H&؜||ۀs y upt+A>f00)$gK񏽒Y#zYQFA~Vt`Ȑ fmP AӀ|G*!ۏT1Z"]qCጟdV2K| AGW#K~Fڻلh9sS)83X xrE[8X 2[ۙ9٫m(Ա$, Iq,9Y.CyH{ ݟ, y9I/ܟ(ᰚ1`Hz:12+ SDo Bi(M4NЂh 2X| T~;|JM *~Bć`|`^p`@ |#E<,PŕHȎK% X jaFe($QKz*Ȏkf {A䉢'Ì&|w1`wC}:&b9Ȁ8z !6Ϟ p QoH жP}ӡ* s6P{,<*A(sZ. u)n$TL&d (n6[#J~q8%|XmXvSW\Jɵ33p3h 銋|c\++(r0XX6({fl΀ ?O!.截#6Eꖑ'؂ X"8I!!ԙmվ3 /AZP#H³!V?R?-pJ8kSV05WeYY[216JaB:UQ 22dKx~ڀ5N^FȍhyX"0A$*b9tp:@;-8E3b<M EMjn56:J;0 V @)hl"6>c[噈Phwh wyQ@p t{l硣硙-ueRsVZ@Y*þs>(Ka7 ^<,%=:GEA[Fpi-)O+En[%?8Y?%: 8wC/'3FiS$9# mbj1SSDʯ{HMisWi"%AL ڰ2]tҳGXu'1۷[q!  }W+qzM5):|D ԡ?Al< ީ?w!i<$'>l9l9)Z/)_}Ъg)@SR!ٖD rp Y᠅Ǽmuk@H TƾH:"hy@ɇΊ 䰡| z‘dv.#Ed֬Z˸X"n܌bH ":ˬM*& "; J{ eUgt P9@s>ψvcM*h(`r٫}ȣ>S:X{xyvȀ}ۤz)r(r ,{DP*. i<&˱,8R]+@0CAA@8 ?_*_/ ?}`|H/ R7n8~S_Ϸ~?@`Ƣnpn3-Jm~,FPH($|h@w$ Cӵq{PP,do8p$J.g9n@.>9n_ |O3}Ix}Eq`$Z]QƁRw\e*|G)ܣ8pܷh*(},,b 낾Њ0Iz~i4҈ǰG/؎* >B1? WǭpZ `=r+#Prj1*rSML.j,:l8/#N3;$Nj﷮ Eï)4Z.{ ;$.DWSr6뻉W2ƀʤ1h >wiKj0}`9pqgLұq)jZ"uAo.*FALE/$Z~O*7Nڋ]OL܌./K{5*P=2뒣-[A{u+8RHK cuB2hz`g]/ms췢y$ۘN rGv`]{5>(4w@,LeCJg K]<%ˋ}ҸoKLj"vՏY 3cy@MR>H;t=k{(AOT:1fS*ަ"µAp"񚊾i@0 f0z@V-|'#$*<Ǹ4 > ɧFD H>@d Pc#HDEE^=UZ1U"H 1 Cw20$d@Hc)ԑӦESqƝ>4*u?IJE,4đsK#@0w?Az uiJ-ힷɕ FȐQ.pij K11=dJ@  øxMHc@h  !{$:bM!5K '\EɢraUE"#)Cʖm-J8A#;>@DmkA`ΛHQO<Z 5byvQ+ KC~(d˷/$UMa"e,B 2QS-Тi3{ Ӥ|ۭgj(Cлjxz >)E=&6]lCdA(M )P #"cR,wI=i:Dr <8 TVcZdyQ7P@L~fam:>ݎiv (9vY;s*eAQT.A4t ioKׄj/$Yw˖D]oz.:/QxG2\@}A7/VP+Cf.)-5D' & }c:Ja`r[Vf'IN0{J5+$ IdxerzCj##rZK*܋] i9>v8-W;$äz:a9jGèZ᠞|ݗ>N9GirUDڻSFē;-6sw[ph 'O:=oKcEG17 D ,)+p7x, @hA U^s-1TCcBY6@A0cz?[gܱP~ Q6Hcf%5ZȐ@H`b: 4|o=#f4)M-.pL$`}LL.?a*` @(,?$($ &AE/I,rXB@"&tz,J=c~H#Kb)vCņx1*F\.0> J7 DEkyʶj#>1Gb1LJi'rE`` a;Žaд1A(`"Д$z$ r&g 1a d>l B :`jA $!+:*:bS<\;v@Q*;KXb`$B?"D܄ wMM%L-&n0l|=aEbPPPUlB`>zceL%vHpf ̄phtH"ؒ mD#v0B G.#. j2L Zf8Dp. `%#8x#nNS΢Nkaףy$ 7rw"Q t$aunD{d^8D0#DŽp z(C(kBmP Zzb-eX@ a-4LZ mdfЍ\v` "eNcc#a\c,(v(N,EDk;ȰM58ӌlf].q$\.c|,Mx$Ow6f~DOHpúc&1>͔7'>+FBP8xSv8Z벼Bq0?dZbUK:㧒D&{/-„# hEMbH*^3SH:$bƬ4ؿ$2%ڥ(*#y=/t~<@exc@8 IU:@EmC>JB)?;IdNHtf13!ŽQ+t^-]8r(RhfBF}:FTQ4nt]T@C ,Nj7EkJAnO50+\#D ,r%M 3Aܼ">.Aa`( 6$`"$(<"͞VZ溿Ѡ,fɨ%XsVy\{kʅS"^rF@DfQRVj$Ʒ>-I1d*0!W7 H7̌K@SE^FzK.xcIa@]0"०A+%:L&@#@QV'@z V""!A a4F`8BnRr@0*ަ|e( iZ>i|`:>Ƭ%B. T̼IJb&4V8mdn9dK9= 8SUr uȮbORrcB:jQD,a^cd>8Q(,*Lcr:)Bs:%~DG@BB0K"Rpq&>uc+v 1V/хJl7F ^NK9N# v1W.}=jEL=H.cX5**MU.' x( `ά[@a^A$W,_C!@^(#7tCt=IN.#/$. `wܕɝ#@bpyO#JֲNt/,LW/PFL(nKzOې)-jC8汣#S'/:R%פQ@#3Eڷ$숹6R"/(W22jhkLusďzM \;ZAƨQ$ӮxqjU4L6f%VhY$G7~uOD-t>I)n,rGGE2OҤ+T|U>$h- QN Ap*5&cgBz#DB%9G|aւ؛a<"J, XA!*`4L@ /wt"wN҂`R52&t ZmR:i/wf5A$a4خDlmt``;0DM"iO:Dxx(ݠ.I(CD.,6T%$8feUiHb4)sbA8a1BV\ BXxu A g |$6c6NF.!^oVa!X6w:\h"&+<0cUϓa`MAXa&a^)1HԽ"xWg$P`j9"9rTT|h7x̆a`PA!|!ߋ- 0"ۦa$_! C$I[un>5nF2l5ݣKt.g50.-J4Նz~>)d,|(<B+OѬzxH;:vxP0sBWB2j!+a$1y{F[@ !@*MNjO w="pd3rNNn$y9Nn<,>"'.#d9?%k#Hb5.-Ⱥ>юAEKÅ'[#BG7-n" |b|=s 0 *#a^;AbXD^]+K!RYtC) Gcd~ɥqZp Koڴao G*St/>ҡ'4m^ re1xX >pu$Ah+!(jԸզM%M/SNT b+(9D> az. ?Y[w&sY$rEvd }_, 5WeΤv@KyʪS+ z*񟈲4 .[?Gf@Ӯk3 8yu (txy 0FѤi,H uGrz/L:x7<7G}( zYy61}1jȏ\rvNPxk~ *.HI3T}KhygY|I/ З-h2*ʘϧԞȂʄ ిM(iLw* Y}G\1'QzʡH|Ǹ.s'=>~'9rE@h U0؀"}29|@s+~"P'1l5VJ (0 " #Dr  !@`}0: c&BG.$P"SK((ҕHJq'&vgjOJt٬V <םh@b,쉿s:TN9Ȫ ɁA2u! { ,̹lZ`~„B<:V@ZF?ԯ9Hd!2HΞL,HIicDlQO&0Ě2zd'*`sCMdulY ÃU0R <'fc6y&7+EJ,䕆=O3tbЩQBSPu@aoHjPZɜMYA )$ =ڐn '?¨fUr" ƔVjlr &x3WX#g|,dJ-/7AljC1Jw}yTxt[t0;;|4{@$CE(P|rf ZOQhoY*T1nL䋩2ߎٙu@X#T= #-@ajRyPIڢ!%HEW#=pՏ\ y8 E"<|9dP=aBBy،J.֥˫W@GN0Xs"{bJ!o(B bȻ=MNO9|@nlEKC( +7+ O zn )ӨԙLoYɸ H'e`{.imyTpޘ0Iu4=(r%#rVDjI.GdP|_b 0!1cr/ 8shw ]%%1&y0tuM=Ӊ 'mb өB+ yrB,Br@0 Ah tk|*|A*hQ(1h  a /I. 3 2Hj 6I5wlY)\+Ψr~R ȭ@2D/я׏{+  0 #)-2\xY?C!JA=Kz; 5=XGِI <[9m(A޸+KEB,=FSS*8xo:` p`/4Vǀ%诋 zZMuxޓ()5Q%5 N- + ) `9@}P9!!->{NqHݝMӊ&0j "@WD !ҚX9u-qxIr0Ӊ-XO8zs q8]_p C0 V)XEՍ=Sxt]P #%0`{{_ սzn #'/RlL@Њ { x ˑpxH}J&Ȏ#*QȵUČ 'aR >,8 eoH74@zMx`{ Ӈ.p9/w5C×#=XR @&@@ŮP/I 0zj㌚pP ӈCٍ*8 U6ԉ(w1˄1futMІ)KD&L\S<[W FV=GXRjcj"#ߧ h+Jiҭe¨riK (]e e^JS#8YH] B"0MScXMpxyM%8`r0vH <)?VP`n0AH ȸ>º| bDைr1YuSG)In6?򈦝&si|"'ܝ8ɦA P*zf Q@۸ |Ce*SP0Rip`YA(,Q8 0յgȒb 0R / СjA Ct(Pr Ę#3ÈM& MA`呋J˜ M'?-7- \Eӧ%h ܌!ӭD2U  99M+0+ڼڦ=!`EG͘s*tu  &xKy|p(x1:PAyli |z(uWdNgb!'s,@pz.:n.oS0p u}x eHY'6kzQ@f! mmFɇT~L!O|ЊRQ`mY)=F1m  (.YK h`<^w `C` #O(@P@&[ `?IhM@=h%`}3%@$^0 Sx o>_o;4賀}֙` EC}@2Ѫ<V_LmıyGP8T@P&ko" {=bP<,p:}o&@ş|( @*j-G놡+ ŭh x"gqzG 2 {骀ϣ@0*+x1dmc֗Ā7krO}+ GoCzil4ٷ5;3'2tT:.Ké;N; #뚬n2'% IA|bP pψИɓwD- lBJ"=?'cVK,l TI Nh(%Bk<1&)ZESS-62Kr֝IZ`d\x ֻ֙)fBi ǐ  wz|1 G t9t#B.#Z4I4j)k~&Xn'nOSmKF (ux0*EDvBnn[;mP3|"X"&>%XDk,{2\=l /'P ؀8 32Kb4iʫ( b/" e V&/[.6Bg ҫO5;+ ` ΢؜1Cfo4N)(1DN'J<4BfjlH͚~C? :9gI@*`̜wP y4.Ɨ;/ϹSM٠ԝ4*-pa~f"IЁkL{]m0'ADK A"e$T[)qkܜl$6t:cz1ǢCc{ 6ј P{tn ǓjInrE᥀K.ZDim>H%HfjB|#>_eOH 2 lE~BdMcy@GQ?<r^?@ pH_̜Cz?,?]pݏA'Ά в@`Hݫxj9xx~ WIG. [д#3IkMc6`N2cIf-D1 ٶ;7n Ɠ9i"@D GmѢ >c:PHh ' ZlWN#E"Oapσ _}yg6=킳0'WLh-帋P[^;PR Qo;LJ*K}$+\xsߐѵ(/ E ƖMo*D}]:$aAá? PQF!,UT:?sxr LW@ - xK%uO-cn|YTYpHyx=$JP)h#\v8_ ǎ5CL!!˟v/ƨO GTjwaK}Ax dz(;ik/f:D3AGXgC I̫8UʿLV%ouC]֍˜R7a4M }S-%Ex[tRo~up^CzڡLO'{Jvho 4TIA[E}*P5{}{n΢зT͎&&3!㍏yL( fA(fLtsNH[݋O~P@-RT,j48kHl^7// 䙕]R*>k͏TK^>Knd)Pd?l)ٖBoYHFƣr( J@~bfDj0)b|U9d3$1ɄF$!w!!WT^ X%V/㘙5C{R: M.(82!!M2ضdA..i㌽BDA,$00ĢɈb.PH(9 ."I)r5'3^?B@4ϊ*Ĩ2NFXCl$D L'D*2`& , fۦj g` Am8δyc4NIYmT"l;#~.؈o:($O.cKg!,b2ƨ#,C~q$V2԰96o*5L-|P`' gf8V_ndvhu@1S11 5P .Isk15%:~>yD.tLe8qn74i$5HL^RS'3#'Ѐ74(cmne\xk="2.1'K` c4IŃ2xG,2ß5'+lU6g!8#;iM+yHRe,NSy"%k"Z$P C ^锆]5.E7`$Bjmۊ5`PšC.@.-igpQdh^a](pCx!i)h,$yEc#J"`"%"nbarT%g=}&23XG٢6#%^?49\.Yd"_iЎSƩb@|' (hf(A`$`L:E/?ExAA>2@DQxD6 b1g,& 'vR,1d Gu avg8- $* _)4Ƣh|M i?Wđ[ݯ+*ݽ-A1 ֥ 8 )93+*"̌0I+`R~jRF'3MIc"Q{=,bv0I3q˦4j*-L uc~72 )*<(HIS%E`~4w9H'TrB|);ɠP`)g1P,Z|Vml ##`볎2~}A5䖊J`\J,Wn*2% 'b|ϐX%?t3tϫK4$%8f"KR֥.{0'NQ&b"(4[1V%[o#(f9mib}.Vl&j+12cA3@nʣ&H'w+m1 S)1%[T kBT;pDCB}$S&ʪAb T{"iǀc8~Ǵ@$tls$ P!}OyBj{meNM&,cgVi6G¸vg|(DGױ%gY X|"|BWGJ`;zBQU0Nb:BSD$(X|$G {5d>Gl/4 <Ǩ'@%9!?H*ŮF̩4`$ȟvLC"?P {b#D> WȢ`\呣, 0P=ydSRK46);%@!f?KRe*- 6E'p )+#J%_&_*fz>Q$,+ ӠCxqB699<ǐrcqp=37XH@05x\l"y lLgHk`r<@<>> M6ǐr4$ ctq dtCK$4e@HF TvCv9I8(A2Y- zawA+5XCBFid.p `4b|UY>K)d0A,Ù(Һ @8A" xqx.*ceMO\YI%ҙ=/ĭ#O8!-ch,fd!@:Uh^oW1N+g8p]L`$p( ( TpAh5:$u|’2|TL=z2,w.Bi$ƶ~'J³ CfZdޙ,яLȾl`K?;Cqqab(ou|~5jJ{6O"Pr96%Iy. C5PyqM$nx4K6ƘlHXF@H r`. q<ǀ0>dx5# k yxtj;{ElOΆeu0r$5N_K&8z7=}_(TyT&YVL 军fD4ksTS)|N{+l'$Ŋe Yk5< p~pPi}hyK"' ugňh}P^ PAb?%Asq@9 l1* [ 2r `T H"0.yʇ <)r { qb6k z o: |1!hkꇠC)Qz @QIҼ-:`q vkM@!P;d(yM +# A QM 1l1{H؉~D3aN 1뤱@L"3a#M=>؉21 9/A`☊9L  a4rz =pƊ {za0lJ ; e4Q) }l(ؠ୚fuo/A) NlCS) 8ႭC 00-CDSY!16Hc%c qcQ"9tOI$89+9)1@~ͺ RU @`(( x qVY" "fh 8yHsPʻs!\ |IeUI#:d,RhʇipxRNi&ߍ#5-{T"UDhza* ॊO 2M :R+W-7ȌvqXJ$G~ۤ_I"x ex lp\Fث 2.3j2iJZpÈ19M@} c2XҎ04(,02s6 ST,x ,JX= ⑇P"= ,ba$eN.׽DRznhx!p'PyJɇPwZh݋@?)J%(y:{a@|&k- *)p)*9Ÿ{]s cpG2a e8Ο:x SAYTB},|5#(X\aʺ厸,1FtXvZ@Řw ֪Yqn)Exikx ' op~ǒh Yfpf!eȐ*I+,1H@`_p@"Y7;||%Xh\6*M/I1Y D(˔I]65,F(8 `bn0py  M  z`x@xu|T -ВC4R.Έʣ!, Z6H4F KNٙCU>9IUG:s?L)&b dLVrdըȉC@/Y+ SNN 8!I0Y:&J ٲ [*a :V9Igh&ʽI xw!f HЅ #-Z!8RXsت8s͚ IS6I 8Ў$P`) W{nQB< ; m}kKc99wQ/Ȓ+s4މ ) !4QTN KG Nfhō ]iuHo`82] \d ,= ytŜ*qv.Fk gx~)2 Q d4qSKZ f,SoN-2AJ/@˦!EvT.9›  ́S 7>!zT"}ūﱍwV}pz?Nǚ C9ڢ qkȀP$K8)1(H|>4>htpw, ({$2t@x U9ZS3"0ѢJE0%r@s Z |tNʖS ԩܰ,8saYڸ-|KpЙ# S-{;A YlT@205|Ow$ꈩx}:`q!|!`f#`X|V5wwuYY)言Pr(v |9X ~^  Ǘ0y7y*ch zKš~`ml~O x)2R(~X)=(!w:݀p/k_(x 0QkKꔩy8yXaunr t SK#Z  ;`Gwx;\_Tlbʴ&ڼ,Ю1-@x>HTAKSnj#?_0B}>ߠ0 ?PC##0>~ 803R` -o&'( *IthHRWf9Oh?_oɭp}ڦx)0M@`0 q@m @I%)IBO^& ~'lI|L1K?%2;R@X~䳊\~@ <}>@xd* t`DnGR9]W BMRu~Y ?3J┯.'V-⣨n˂!GJ+-"qjRISC 4 j ȧ'(3h$ʳv~ $>}({ʚ&k3\ 2_"{~( {笾&x":~I ̉'}>%E(B=Oॠ:f[x/ˣ3ئ[6=UX@P`6m{Bwx& M|gEK2d?x0kztܤ(=aGꀑL\bDV+U:&So$-}2=^ (-b\ XIԆ =d%~8 Hb@lRTMq4_&@ ŐA7A6 w@ ~!G9t ( G (Y&h?`D<NRfQ|q2Uy7[7n7Bi!%E)X8a|[^s,rg8#?X GTjlWk\4<3AJw(A* ߥp(}1xJT}!ze%#1:G@qlp&OQ7'x"I^ b֐@4A!9A2SqnjC!#RISܨI~?j=3>H9Ĵ( Qq@E9(\iI)=*LE&L}"8NB*:tiJ\F ։6H ;Ě%,wೌ 縍tǸtb@p 2xyeX ϏJinp G$f>ֲ/Yg) MS,I&Mn=ˌJ'ƴ%Q"fE(K yFe=MFy%l e,R[[`9cZ?3`u@P0;_+"ZgL85ȎQ%3h`2J$%SG^ gq5VJG@ivnp AAM]6$t54Ψf%5GX x2C$ v X~X"Te VpX',ʏMI%t-?jt)9eHRAq:@0`P Pq$H1BJc{8GL$GW= 0reh BBW#|I͛5=Q9$6'a訝Rqr,=SQظًh0*?A!+bH_*1U ! EF (Yʁ*BjpUm)'z T#T(B%TDxJM T͋Lj$: Ӛ>.vj-S`WybӒ]&Ĵθ(NiW;?sy!;S] ܧl-YrsT(ܗZTHT!X{&' oN4YH.mC 0bL^'/vhX 1|vwD #,v%pK͉!J Do$g8"`+%ߍbyLL6.!`v0#>py>"b@% "ɉa/yG<xdb 9 ў4T3^@qJ8dؗvf@7wdHV&i};rΜ#rєr1c F֒0kHXJa C|@sz0׳_ i5KqJFhY5$a!RHfڞ$֠0VJ &ꛅ^G:H$ {㐣G@APBf!RJ>~.,2*BU\p†xE`&aq^rrJMHApQ6 k\6?ƞ+6qz(h,z Pb%#F^CP!10z)lD9*Jњؔ( t5jˌ‚Gg fƖQ@ nC:$*!sP@Ŏ'h"XFþ 8c"V.*kSBa?Hbcx&8M7[^"Ϙi2>EdEX&b6w(îPj 뜸+"2d"amH!X:Px"z`"@$I0@zEe$((}*eCª>"`5b[BjXe$悲\<&t+>bH\w:a*2%B%cf5m<##Dœf* `X`$ǤȀ 4q"e44#,n"!Q $& /du Ʉ=!4{垗Mz!H?) wqɇbSgFT޳BЕ@_Mz*25Ğ- tBZSɾD2, F=""tRS"t "IG"*oL$UMCJ 60G Y) ([Kt:g$&iy'E-0 a "a  j2 jGL*{)aọ@ 3s/$.4~+[ x&j[x?EJ(@dR$Or6턹Sj.:J;fA3 BFȱ7 Vg ^V/3'c&+dX%BT`bt^[\ztj4}Q$Fذa`!#Xs)52Qh ~AKM@`H3(f  ~>ok$cQhm=}!5$?px>CH _! @:wa0M&FpOذT|Ѩ`P%퍇A@Q?4o'De@>h,۠+"<'HŀP%P-~ɚnzx.3J72ߥ:) OJ6)Rj$DZE#0"}@, @R , &is'@@`NgΠ:hVmsxyw}G$ylA Ԩ|,L'} J* ^%h{XxاJR+:~i:Z4QI38T2`3ƱJ$c`@|=!v$pJ&T2.ϱk1D :@jz|Zކ3J7"|S"f[I =Y{/ڈd>g(Iފ4-)$2(5hܶX[捫 > &jaw  {Gƌ Fx!IU;>I'k܊4`"#hgsǁ{TyX@P * `TYl*}R^mD2UE&k.G/*H3u/{ gqڅ a>h fC!mDyN>4J8r qdTMNF(0GlC۱9f1*:@ i1'q9.F<&BQn&@;`p=7`(Yh@ܢ909jҳI(E xlNad(@" v.GVe H%#RR6AoB_#D--Q!$>@X ôw:`$$=ZO(FƢ{A<ǣC-)>ºr~99SNbu0,XCiLD7cܕIB[q虠Lؚ$.-Z>U oq,2ȑlf",Ubi؄rh@0`W7ܖLZҏ2'(؀ cpsQ3t)N$Mty5A`*Sɡ|f%Pp_H <4 =Y$Ƅ /B^1s[>|3+,.dݲ̐#6u $9vBVC6fH;)mg3He0$=vdA] 3qh{0^ pcq`0 |\<*ǖy[qF V˂Dl,"{?9D,[ы`*(#O?9tl#/,R;HO?*0G9^G*TPZ 5Tlq*À>W+>`<|9XLX3W{[WL1`YP!%-43/Jt`,@wI7X#R"J{%%} ;@` ꘬כ wl1O`z6BPe]yϠxs\laD:ɞX?#Ի$7cxgX7=3p Ғp ^țS2#rj tS* oA zI301q {x~) w#9 H0h0y# "*( @ @*a*C`w8rX|@oPt{be#pSظj )˳X}SRzw=Y$q :2#T`ޘXh SЉ飈P`q!O "R3#Ѽ \AR9އK=q%Pŋ@%!(lX hqv`8Hׇy0p݀jzZ å[i yvYt ݎ.TR(@zP s%@:HE)f,-Y8hJxt$6j=1L2=a88Xpl>: h%AɅa;aiJw䈑"p{ x݀Pp`8;( 3_R=aK"hIh #&+[~{ QO{ (LC'{qL y0L<s( {p /j{x(:+G q p(vJvy؟-û 0l jC0{'݀J8V#(1 6CT)hXG2hbFcQV&G@{U`KbzF6<pxyv# 8Zyz&ŌI\0 :<̏) ppZ8"ʎ0|`ݏ(;FqxhQ|EDpx dHy@v p s|`|x,68xpvYF{z9{@x<]8k #Y|x 9 $ ‰~ @1)# ޠ=@Xy|Q SU_zj {zuq ZHXPG@{{K !HQhI:zqޛ9a$~@9 $ 2􄒩 eںǨ`6\0 X ɑ49LE ɼ+dRѵ/I:MqX5lbP#1 uYw"P~Hš@tyzE(u8tdCu—1pHYQ;U ;) #U$q 6Y lMâb8:5рx ?D ~vX D8 |H) 8LNPh#CRYjЀ B# X x( VVعaнn@sҰ_}C)9+菣^+&9 Lӓ tP(P (} 39g1L@|A`)VP (ЩgЄ= E *#* g~88aP2b` ;HvYSSC aݚ"HxƟ> &ֈщU py IcB@=ɺq*HՐ+3fq*WHz9M Ďꊱ"pDV% xR5( l q) "Ƈښ8@$5b`Zny X='1ܔ+] -YNsc£;E)YzmAs3Yuhc?_ @P 4}ow @@7 OP '@O /LA0 S_Ĝ~QPW|>0P6V_V0h|Bq8n@R&zb {O_wup( 7U8IP & ?TXiuW7]niznZB@6mN@p,UeG:}`~J. ,2p_ZcŸ^MZ; )ԓ'=s8s'ܗ<|6 ׀g!)/8}iŠ'?4u!EPZN`K`Z0Zf`3 ST1J*D΢%+K'#8s=< 7$tk q*}~Bʹnz#)pr@Rdx)0ͣ@. @ x2y@-)?iv, zvbxsg>0<@3Hz{p 0{AΘ y^T,G}rn~]-Jztgָ݌ xu҇ J|^9wNP0 @gavgt/ ,.BN@Iu{'< 6 j{NqKzh`v G㧮s*ʞ{ͺ !zocwRHvC'` i8wdMP G~oQ[*B td `|5}͠B #Tץ"~< vqSuSJxO@&Lٳq (:.:ǐxndY T3pD}txzfQ5ܚt q  P*C*4ʻ2d97؊ut-> p[!5Ed| /mc4BmEGLy m,Q7 8Bt `2;ǘ  ])΅,gS+5Rt W>4.ʡ$y$L=6=^`$K>ȘIJvS$ f6#$MRq.xtj3AJ+ǁOqY /\vqٹE54tJ?OhT5$MIP<Xb {G  .d |硎@C YU!It; WtJ 3n U U3N$MeӑWIYdSN1C1PX CK%ep2k} %'Q7Pw) (cM8偖XtzP48  80HZyb@@H(a!'oRO-yB 6A:GS;v=g+|dr$`}tbיMGx~gDFELzl)OFf^+C&D&dB,cO,,`*a' \E0 =p@"x!h8JE/z!aHob]2$<0CAF#`(‚%c`fB]–>KhR:O!要͈a|!\dIl,&ÆJg'p&"DxX oɯIbJ:'8 #ik hd,.0&aA/F)@EO\2 #W@ h2&#)%ܖz3b) =t`*E8B6*0XA;!" `No6rB΢! <!aL#&g$!!B dASꫠQF I7s c6;?=P`mR/UHESDh1z @rV>1DbG +RSL`Q.,d CRC>(cl@ !#&b'g+('XmF!% A>ĢjFkAC&BEB*AC!90ci:$<"L$~nca#H8,& BB*P>,YZbA@<%&\'jcT9.]bv.;1$U1C *=+BQ1g`t!{A/H\#W3gD< 4 h’=F =E<@$OORs-1T`vm#bb(X+"#`k1 ;T,,9)UsM$nSb謃=f>0 l& l>UG#D!T$T$qff!6gɐϐ8"$ 1N/SGdSj*r3uZ?܊)gG)cG"(%44"lRⴃU\"Q0 &K6cC:vm107Q m$Ҁ ),GVh)Tо)iD3S)VԚpA֊5UL#gd3JlCcg!@((eXŐ$ e6t$ 4:`L!^ah ` aUq0&R@qqEG`-mAuqE%!'.nM;9,_ ԩ ł4? 1¦#wt2B%F#Ds2"nސ(.ш{ "ja懠*4aOPt""b+ښa0p!X@8 4 .B!C*c``h҃.P@Mgl"if>9i&|6Fƞ.x :v6 ac@!S"t)B*V!Lf^:2<p*{+2d(_2c"gqaؔp}t &.X]tn= C:^" q $!0etg&Yb`@D@Eذ2.@BGC*6lvpeIgl9Bz`gA$San|$%"O-0 ?ErK2;blz ` \o:hH$MCx' e}`Ai;rT"09%J@SR%Sd@J AP 8“Ն)PbPNH%bH'`GRFThm#i Cе)#&^="!B4E A bZ66B7Ԅarv0^@K0/ԋ!0m){9r!xOHw[R!T`"N6J0faM؀x,4Z!$Dr$BvA ,0("u%)bJ"_zGD/ՕQ˭:#~̇im1*|%plm jC(.kܬ,;U >= fTU6)ۀa ;JŠA8SVλJ 5HLV&fH#0-Dy:V Ña>0mLDc` ݈6*T6^bqh&(MniESjnr?4͔ЪcWTF,96*} SӷGXqa A!@.``0z!\B #{6g=|l9 Gr'B6Ł|EL:(ahwH:"pH퉨(6z hY 3Dvct1i!*~2|($Fu eT+¬ K! pt/cT#`.')e2ZA\PR Ek0A6nl&,df)2$A0 :ĉ' !}R>"Cf:WATÐD   Owz<^APM}#zA 8o-o Bh~?wt;m8PL-A$* $@P( ec?q~ɀ.P-Me5.t 5loG-,MT}p% D(  +|=s:NG+Z `$AP8w "a7bo'k|@`x+JK ~|1`0!'{'3`B( I$H}g*|+8{Ah$08Ǚyh%@$;03K|%g /,Ƈy{2|DZ& H 0{khc.R~},o*LLv}29S(GJdw=gzoQ!"  PfTA, # @[f48پS4/Hsl'QHͤ02%V1Rg$gqyL` GFHPǙ|q`a 0 {`;.4^~`!2rW׀-ٰ1+b4(JK05K>ES&Tzh(0( b%'~0Gg`Taqglr@"fjhCG 2yz,t03hٟN1L0jch+# y}!%IkΠǵW$K-*0Ȼ1m\#A wX!uT,p~:4&E{ DQ^<n P&qZ . yI4n¦!^썑~˃Qі2:4Úly*3M3H`q+ϭfdȚ2.[ vvIė\kٻcP?_:$Ѭ͜+Ao)Hȝ -'5Fgd`nS@M @ Q<Lj  0fN1⩅0D7ئ LZlJlK(IH.(j3f6a #E8ŀ)VxLx鬏 y\s.f}/OE o-DǺ@_h%/ dS,=לar{ =s3Y/~ FZՀY?{$p:8@  h1 ,@o7 4i 8FvJ7CxJ#bXctj 3 lqYɲu8 Z"@uALx"h˳>mD,->@qڈ:Gf=SpHAdJ>kcR/pdzKLE졌\UKh]zPyqJ .nj_b5\sIE73GR UW dw3H@:8wRUgv4S*l)qJHDta;8i0WlYbC |Ŷ$hK`Rwh 4:G0lpJ6v% A4@At.!R\C2ǐ4Q2KxEp$@R$h5v*XŽiM4Q>DB% Жs{@Qޗ:7~wfP:0J>Ze@|jܜHw ' !N j"( ` HH1NxEּuQf?"HC=r,׮Q\DXmP*gVLFdn^>!˞;2%c`4x"@eX0z]\A@%Y)hWHk dEe`Bic 䭈( %#q]iGl[ffl4* f Ft߲>O CK7}@]km/bPj 'yxmHQn_ }4jE~1h3 OLBh8E84_0Lu0@iu@6-mC=G-']+c`֘҉ b]g^Қ|Illq:R^=Wa@R"#0 م7%;38~AgTӏT`ĒBk! L  zR>8 _paa|4n xȜ#p̊0} ix*Ц@0Vz^59!گ r ab*>!Т˒;73L("A'%ql/‰kQ 3xAQ8A`{+' ȶ/#8"cP F"܇p7ID49zht  ETiJ*/RM4Y| dHD#0S yYhP0 c0BkFq" Jsu'ATۻy0*6Y hГ @ba"tH0AXHÏ[~ y~]@xp zh)x10vh(/pYuRK Evp"-B ~ S;1L>.F; H}(` (' "Ƞ  KXwj?lGi(Iއݎ6A`RC'F!itP͝ -+#4 b7 Sړ (RzX8H Vx{Xv $qPzY`}LH`\ I1Q1I}$`}O3I{Xz,X8xxp Ex P.ik yhnH}%p{1Àap:$09T!4,1,[HW""3H,7A;^"R0#CA# S{- sPt8&Ⳗ3&(Lrg щ+0Q$x K䘐xs9a z # 햐vp4XR{΍I x¡qb~hwq*J25(s8`24yz J͇xv-Y}Pza-jI:L5i(t *&@ŀ`?@q Hyx1{^9M phwP\pg ` P@ι ɯlLP{ ҂颢jI i2(Z )A}<<|Z9O:!r|H ;H7I 5*> `X6(7 L ,py} {>0;twL߉5q; Ӧ)` lt` 8 > E'I ͌0yUp{G@ )IXhpA܌ԓ k=XG9(#1:٘~Fi_ ̔ݍ]:! F l0!1+~j0"ōp>5&05ߋiŌh3޼$^zc+]@4%9 @*ĸLY\ ȽTb)GKdY|Q,TBZd{sn6<ޜ1EiWpAh~r$Tl!SAżu R ؖ}Gi WB‰B$ G cV+Yً us ҇f (x5m5"H8[d ̆;‰C-%Aɢ Lb-!4XK&dB!,̈*s  |p h=̯xu" RKn~x(.Z(F@iБ,JQ4IK1BF.U *Sć/0wcӑ/ZԘR7!hGBY$T lq  0yޚ[p"ce5%,:aUPdT%݂ ɈLG5%2 5Ml6@H%HwXwg` (at芇lm7E~j]x,a ' Q@7ιspthqxxZJxkkPXw/@_" m̅ IN{tЀ+,oQ)N;i Vx R 卝JKj'5i> midkqJ ˇt$XW ]"jY}YHp–y0U4=֬NH Ow ? Xzĉkȋ`\%܎ jSů~6br @W&d\mY&bLjN(ː* hHv&` 櫈q kS-*=A 9ɹ #HiT,l3!:!0 s)ƁXxZHf8m瑠cJ8>( BZBzUdGXHb6yU 9GCqT, r]z5Q( KX%]C9;`d˝:Fy Nik'2幰K! r[Eڹ ! 鏹2[9;#jts $ŲP]ġL5"eɀ9nDcәmB1q!c/6'|=~)2b6E{T0w_` @H ?@8$( t@W%0 mao^Og} eq_PMzx.ߏ x0..)ꂓ\+8)K>֡* }pD. Z}/i *Y*272N rV lȀ( @hxgQ| "02#,Ἂ{X 8дb 5c顒[@$Nz7b&ONNIy}( N+@(GyN*@ta g 0u[Ǹ$1kqa(xtbP(arA%& ;, `8> y @Ag i .A@nuFʧlly| VG͞'Yȓ8 w&}+_){ǚ%h(6 atEرNbv`0*L {9{2-@Zbw9X F;r^'Ƥ{";}zeg:w";~wryhAK@yF`+8 GP@Yu;" ln`q}1ax/'CѰ7> W{;Ŕ[aD5@r`ZP Q#좚  )_H:R!c y hDz)p@4zG ALˀ"wGC0(pȉx8-c?ۙx>z*i9E#|pz"Y#$zS#e~J새%$by:ּA;wrIhJ|5| hez!#@V$'H7V{&H~ zwq [$@e8DǸ ,m=IF%U@'8e'rZG ]%R@^3pNC`A|Ss޵žB:DMDpYES~8{g !x 3[c&v} -}#3|.'.M#T գ:8x;9Ş#>>2f8Z')%əF5O$ bd$r`/F"iNH!7:XcPkf,'C(rE!D@_Y:ΏbQKjxRً18n=ɋ6z0$qf^[ IOa40MEE!)cmѸ|ch G]nP9HNS>G`JG3}A0%:H"jaZ`40y ! uQ,.bl%&ql&c hAg#2/!h2 9Fx])NxD)ʨJbx@.!l/h?Ea6F o%/`k\@GY#8@L@PAE*`A"!&.H2gzC2Ha!/jLc*a)#,QȘ l9BtL0%)P? z(1!&" ,`9B(.k f^MczʏQKk@2v!Sz.)^Rgc_$Q0V GI izԃ87ctNCzc:^'6Y7#k#09 #27\#$܀%Cz#Bc4BVE#6;k1Hg2)^v%O )2^c `%Dfv}fb(i!Nc V%$!Q$̓i % >0#<& '` D&a!%A,",`F@6.:dR>w&E+DL61EKƢ@Gx$bx[8$%s|N庣:"FDBZC$."P` qk6DE'8,@7qB!N'30&O+ʌP0rT56f7S/.ϫ!ct#C.k|WeJ6P%ezf:)c 56 &,$,P8^j=XO!9<$œ@.L0H9z"FEc`lr#Xh8ZE&ă&6)D8"0&e|MX2j6Hj2kFK,amD+qD^ ʠu0n;VN@#,<5L!RI*6m8c1B#hVխ$c" \Y zMNl-20+,ce-0AԵM#@Ln%)9Fnb$#$I<glaV@:IMY!Ú.7mtMJ* 7$nd6 ~(I0M)@$Vs-d=&&5tc*/`qnQDV|NbgZPM\&d7cNDkdNc0bc<#m3V6Sz8nƃ2EdNn~$j.8/i@HA޸%TU&a n!u 48p<aPSo6< 8!e/Fb!02?> alH BdȆ`i "A~$@#} 0C \) Q_+N7B;6>#z.!}W0 T`@B16f:S%aAG %<%(fR08"G2Fi0$h G@ۭb4ƥ ^/F(.`0,L˂v!+8@ CND#j b!rLb^Vޫ3aY2bi/S!e,OКzu)D3.1(vum8BUENCԘGS8qlB[+8 T0>^2@r./.<:2icnizjx@ rx E^GO ?#DAYtC)8F#BMtkn#m}>`@i9!vNjEIdnXb$"` FK/ Jvc)b^qfQc9vQ1´$!1IF%mH@dgCNOj: ^n~J8R2@ @ ֑pe#4.>΋l6 V>6lED9nx&$)(7R,1 $$ 6x5wm\B=z^0f"Z$' #6~rNU`4IRO| \  Ax!hҴʉpǎВ:95NԠl!f7a"z"p7x s&&Ԃ☘u*&BT'@Lb'`co9^aJ'*<=Hi)܆"?Cy;}@Pd2 #uPP6[-p4 E@$|>bO{|@0'p O ݮ{ٓl@? p\T@k5`Dyp`$V}L8 :]nd6|%|O`c@@p@8&}=^G_p\0论"pevY X( Vo ,OnB/s!@p"'{bGrǓxɩ`O( R| 4,$.("'.,` *~}P,캬*|n:tg|(('+,|G*ݞ|ӓG/>8!5g vG!s"'Ի L9D*~+- Өp. 3ppRș Kx'2%  J?`"|!bP9 :ͨ@PV'P)&4-`3R'ͶΓZD;jAY)t'  PIʸ0[Fiʪ: a2Gi}YP` ֬³M(K SFhV`>MN&IpT~QM;;++j>'u4Ba j(y/:GGꭡ dβ5+tD\H jcTjPJD@K mqf FxuH@f{#Mdp Fpՠ? Z'*RA'X|5@ӑ&$=N?#(p8.GJ\d..MwslFbO`R:n"Ň9rt@SfK)_)!bxE>ܒ+rM 0O - [0>I 'U+kd̎!(LH?x-afā6@9'8f¤" O64+IvFDr&5, l'6 &i(}M Mn -L.f !M$IuʮZgȶ* dꭒ JGQZA2F@PwV`Dl ;(dH@c.tt΍[=G<{ ~2x<ǒF 0QuENv1>Hxh5Pg;%i4@hT1=GCT~3X5!@ChDP4 $:q4Фd>龉+"wM`#`D fTF,qV1~pe7\>Gӂ*HrPTvVvi4%+ ! P{m@FN`2xo<1_8$M00ix#!S™M2Ѐ*,F"seЮ1Ð>z44?yr, ,>i}H_FH Qbv> Bp줣c'X z#*0ȵ x& ~ ·P5婳&r PQ#ڜ!8-L 5!`q0t $Y9a˦ ~ @; 0@ʕ1IZ&ip1"4oCL O|%6 Ԫ(ꓚ87ٹ[p ;qBupHc' !eiPo#0 lX.Z( ) A:F4 3Yɓc*d"O+5a,Ka12 d0&R7exF#chJ:W Qʍ9[ K[{4S::HwP~pw`uۏP}!| C[q)a%i 0"|/\}@|/H})lX`RU)eP5q{얜rk)2Cy|ɮG+*Cʊ)*}ґ "..(ȲLHu8  zX l *˃̈ ps@y 0XN1K vt.чyFq79.P}Q#z`v 0 (xOJq+RJ?pYr|! `@gPdtp|ۀЉ(Aop8 (wXvab{R aJȀ 㥇h{` (6y}x0(yB "]mw/ k-%v6yytϠtN83m٩6( 8x%[LD (9U Ы ,P~E a72N# Gg m >>ig$ mKBdl qD7I4(}42/rW0|\ᓽM![r%/Z 05C_8$ơ8:<# CY* *?y\@w dn(= $aFY`rHhb.`x?K)9*7ٲ7:qQ VL$XBt郑xنΐ6 Q  ׌"^: VXX4AKCbWKnZ T *`P@`hPN돹  >jxdN. +)3(Y2 ɛGNk]2ʜ|8a _\!:pRzA;Bz$a]7 $ $CYN&D҄J\1 hq!ڳr 2{qs y*$0 ~ k q|1, Zq(5."Q9i qT`Ј*}[RVz?%R9caȍ Y(u5%d~ L+&+d7*ЍAx :\g8Xz"5Kf Gnj,d#LƠ]Elq1-y$x `OC6'V9 Zb]i({DxtH|dM,M{u w . Q~vxw@{ XOPv؀`1R 2"Ay&K=xYyy$]@x" # hlɡ;0;*:`p/+;`81'g@(w!Ppx\-\nP0&] Tx 53"EX'LA8c%w6IR`*x` ;6w51هÁT_n F u rh 9(˧ s{ Hkzi3 Y&HP^KG|9 q S*nbV2`w/ [,5d:[*8U.1 C`*4'+J]5Ed>pi%-`*oPzHWd}'PG)!yR̹Zŀ Vñ)yɺ6A/(gȱС.wZzlhR>(d{y@@8ՇcVH}`t?PEh`y~;H}p \09 VX r%Rٝdg`!(Sb7D5 񫕹K`ϛQȵ 9H#kh!!5Ca1  ;rJb ::yw!T Ψ P/CHFۻm+PiuӐp rV~ҞsgE] ;` ]l`SB`'Ug#.!{f䘝[8SF]ש^,0cqM ѡTeQeJ_qx3LH- mybkҀ yF)>P |(hEHHd|zQJ@)TQF?i );ǢU)TAk@%vU.G`iHow E%V{8"09S5 %pIf*?Ҍ\A,(@7^%[5};_O,2H6~>_sͤ|g,wR^K4`. (RްiGVOwiA@P0@"<:ʒ`3}' 0 #HȨ€h*ir*IR~?PZB'NQPo9%./Q@q<**3 Ū)G& X&vRT1ˋ r@1vSh|(97{gwY{/iG~;y)y0My{ H${/UJ8=@9WJX+Jh$ bZhq}H}$ːPsTygMly^|@8 zԴQ vTǻ`Pw'zȊ>%[{Bo [u6R̡H|$Yg @2.yp`=2ٻ:,~g2&~)OjA%V5z01͢T)I(('d5Qn.*\:WʝF*L #ܕ&Ѫ>Fhl"(kHn`R,p:#N (!1Tdg|~Zp @@ G<"KA*x6Gɐ*DqG[ m#z"< tD좗$*ؗAIىT)p!=TNY+#䋀 j]i̼=M&FK")Q1Z @&=Gx=d p01#w""X|ADjD&4DJyׁAY0HT )"9b$P{֩QC%Ss #%iIH̱ VRP&G&Jh{,s4YFg_08=J}A.\B~ez 3Q:CR<~ 7$sczCV{{((J 22Tlq!8Gp82PTL&Z KgJCZ #@?njhxy+&,W}4ș:$ ɩ&f ldTJYC .Ԟ}q`ӲXB3Z>!VʪUay&G2dNa{)Yb\pwĝ@'l?ct Szvzr>8KxqFPEd/lEr\O wNrW2^XL(s>Hax?3,T- ·2H 4Hu~'DQ[xe,#,D6!3/ NKŖ^w c<<s(xH((ՅaIOVlIN,'L뙕^H/~ E%'tTl*_@*t|dU(eX?V*MW"ʮŰL"oBc1> [[q(>RXS*uҪWK)m.Cq8A` QںT hH}a;`c[@<+dr8|]cȫ6DJ6CMLa9#T╜2 =mc3Cx".nB5n\DpJ1:lG@FE<df_<|<jRed#פy8B*p(R|H|TNǸ ҫKʰlՎkT풼t;H N l®./QA;'$ %uA:@H Xk[f-̥.1@(Tj&.wCdIo{R;JmH 6~6A"wðǠ(\\a V&@>V7J#<,;_8HBL&)%xV@a `$fDX#yGo@fZ8Mj@2*0d#~"% &2(*| !&dg@qАwhelEt,BCCx/ 0(n6|j:F:$l=PF 2<9v!3KldyBX"- w`2SJ+,(+)#'Bn:8k4c4FD&~Z!tx3*j\a *`Df#m΢L&R1h`LldŃ\O32 %+b'G C `8KBFKK0M8!@J @A!/ao*Rd`R`=N#C3"jGGQRCRuP'*B0>N+f6f sbG80]n&2P%`•R>=Xlkep>rb G`őSkV(XAN3m)F:nx)D+J.j; @,gjjGp6lD}J!:"T@ )\fZjoEʔu&o~0,*=Ib8 F !S3B$(dX+#YW%B1h*Q30ZxsNf4Xqh܈Gx)R$vL <\}GbdiCkG>1GJR*2 4 .H¦b/l62v4u4vr)©;n(,WX(f!XQ&13K""b8  07LJ.r` ȼaD`"bxbz:0}X %g"u/jrZ|,+ #"^5`!6 kr;򛢊m g8C2N5D(IBrfn$rI  .%`, 2^!>N`IbUcmG(ˊv:^4<^¢ƾ9BX `KK0(*X+&]bPb(RHQFP@ Eo+W}z"w;F(gTFLBHL) 0 ߺxHV=".af6ԾҔaAˑ UOh&ȨWңef*mV9$ Qe- aj/(Vƾ."4u3'ZC!Ek?RfMj>ʛDJ-鈊d8cjX$. Qj'`W/c$пگ9yY|%b,[E3o}O~HNeˠ+_"rB*5~$._I|aa+Йg\NsH/p) `#-MC@n'<#/)GWB?2y%H+RjNYc✑V?RB::)S]B'cR/on# h9l5KYi=,S\+ 8/DO΁:'51wƷ*+IF̀0H>ScbvdA8i@eD[9X~Gl2NE NG$ PQm_3C4f C6&<74}˰ A_5[44Q٦9IOd%FɈʈOM@0[Eawlq8#QS!B7'P.A\_8'&bLb겕_P |Z00*$Ul <_/X  >(?wP2M3<=/3 &_> ms>ȈJ#x*$j K&.dbHbCDN'0`k}'?1&)R=Q=yu*:6` '2(#mx. vgpH N{>6_Oo&: ,b@C @/@J6{fzv@԰g @L{.u :2z{4^#3*)9MNS#-m' 3^҃{Lz@EmKVs}2K6_ W|׽C.)`IA,4i8 :KDDg|ǼkRH2&šbahUy`@ $Q= Ii6.> |"('N@2]5FܚĜH*$b*c !=6!k 3'+ 0ƌ&v. ,? cqq8$ c yFԔ R"eY4SP}ρ 1Qes5)R5PUBzG$"1>IEr葃"Ċ% i@2'[p9zЏ0)CR;9T5r|eX6FJi74B>ܙ7b ^ai,R±' Md@d&;N9$ 1m1I,1 P UJiOhi|9rY5&&̖3"6~1s: ȹPd{G1ʍ!P>`!MR#r(󯩏T IhS/\ZȆ$RIXPy>:jG1M(E8$`BlLi.ɖ&J)q{4A@eΆro*uQ'L"pQC*  C` Cq@q\Bv@x8-F?@H~pO!5am\l za g5cљ7;RPktXf*{gP}LzB VI62>17Z 'U-w0 1B[Rr%p{"knVq=L mdwҍ0$}$jD1mbP0 p_Qi'rIUMF` @@];TsTm DR0rə>++.DN\=z d}  ߖ#@Q_|:%J{8(0J7&NSN'$&kL '=|C%r>QQf"Ե@X`` !;HH)*uu70ۏ9@b`˷ {ɸ8[ !1bȠ!AE,ť_Ε!z T"  {ڑtH-aBz`Psj9`A@Œ!I4 Z#pФ R:^(c'zNȻ`Bz{h(=|A|+ ##Rd{"8P{) Qe3F.xZS)P0É h0Py|#"qxqxxuH* J\!8qN#Q ˿"Rx i%|3ŵ 4 e>`X@|(#ƿu֎+98Xџ#7R\ ؀*iň *PHxkq~P{(u\ Tȸrjΐ1| '2jh1@<5"K+۬颩|#C42D1h#sɢ!\ˍ>؝B@H!LVʼn) [sP͞ ;=\Cɗ'"2CF yIPs')>~>Z|Ж(h-K%hݳ1ي1M=\Gk;uD"͍ ~,l-YEjȴHF C4|9wp y5cZc[‡8qP}˅)oq> Ir (( p|y'*U=;J롙 l$V/Q= QB/#׋ `|+} Lh(X K8= d ɥ àȴ8@ݏ @rwX ! *CѡgR k#YtIc |( ҹ $(y(``ҫ\Phz hjHv z&T ?oAJb4@P)R dDX=G:M\<>a )c=U Y YIN18Z?Ȇ(IsN`yjH,{wXZ2kQsB2s p:P:= @&Xi\XQxZ!Eu&xnDPzS0cH[yhQXt;2Ahp!0q(t(Dk@t98ȼL  <`TJэ!LD=( ~Pş-A9N18HI/a%iŀӋ y Wȥ#I+ZX[ I`P `|ܫ&Ŷ`txwEx#3 h{ؒ `&Q$zĥPry)wh}(&1f/0Èh012@P /RGhOS Y= nUSx @&Xǁ-e> *8ºJ[ xÝ =Y` D}TB8spei8 <` . qf.P@A5x)cB n>ŪG@עzd`HM/v_8p28Í yP#}?O W7x.+- : 4 DPX`[tPqj ܙQI\%=ߩ}p!i&Xڏ>AVO@w8  g TH\ C|N pb7D<% h\<;Qw!z5Y'!x y tvp| p XxfhJ)Xzhu "غԷIp|zS~CJrrZ@[S!HPS̸ʮFixahKljhAppDc*>(8XHvUZZZ)ֲؚ[z +*Q# h#ڱ&I:kpզh0(O`%@B mpyt MƇ .Q3V=~ c (wCŠj_N )HqH}+,vqՃ ex]B\j_,C7=TH {m!U)<$ (u%.Z0@ʝ'1L&{UYQzX3'~=P؀ynSLl!kd^9ۭ2(D2rЈ_?:k4'i\T!v ztxxʂxLإ`}H耲?@oh n#y&y@Ӹ>qHpՎ9ꣀw ;>eiJ?R0=EƢk6QĢ j`j1#*X03 dV P%*da?::l #MZkz[G-/hJ?bUZD 'ﻩm;PlT xG:r 2Rb6L 7G8 8{JByAP&~x{2|K 8 $sK('|1|耩ڪ+}Mx4L,0k-5sFг34l0V*/Ac D `!xt'{;R-iX tڭXH52 f|. M_{gX:kMU J[fʞm<$t'~}-IWHX譧+G{fdc70(r_- bB-fy 3,vtB^J4HDH `T$Zķ*|˂O77(AELϮJabˊ(+r9r8\daHyW'Ŝ : 2HɺnQr'73<|+-4NA3JP=G8C7*5 bcke 0GY/4t k9-D\i `=buEb5 + hzZB$ Q}u\ԼCd|KkjLE<COBXa@d K,4+s A!(BV .,0 c1m. ,4rmۑ8xHZ%,sF?_4 ~Be)a"ǰ`Lj>@DZnc@ɐ t<# Yn@h F hwY~Pc|{rYW!;MU/d歮b Ѣx\k$!8T<("k(@=D-6j'@'Q&b+y99>BbX%BNL,oX! DUtb iE:Tʱ*{6gՍ J9S]oZH*D ME24ׇX[]jdƇL\|!0i͝:"l>vtFZp3+=¹$9HPv,9G( 94JE6%cm-9z-=GsozR!VzaxVJzkJ̈˯=Ԋr-:EAp.tjB@z]L~gRk:{ t٩t"w$@8v.oHX?&;Gh+|1䴯 N393):z޾!kgDlZ]z;fCGC*GCґ`XB,y`*+FJduKokb(P&bx``8A<hFJA*!lb8 aAAB/"(n)E_2 u (2ìtLܤzFܵ=.D̄ILΒC;xfCGfW &AvFixB|Bnl`GBFÇt>),'+`(.1K %c{s@P `SadD.cj;-@fS{8<AAB (%/Pkl@!"cC2d.!%84`(jKA#$GNNoZ(J#*¸#6N7$Z @dr- j Ȧ x= Hh|*2йlDA,b%,GbJI%Dj9#1/, d' .EJ":2Ha){APr!i4E.4,~pm["!ru'xx,iB-p`EA`:2BcdB[p/lpBAI¦ XHHV* )J-fe&hĢ ojYb`:ׂl!+b"GIJ+pzin aB=<ƒ4{+cF`;`'>8㺍=G)"% "j⽄vTKEB fLH$.D쮢=LE)05ґ-IJNb6-@!8MPEPQa6;ɒ~$`}'1#3ءH"x.z) t5/XdlXRIPM2B$'w/)ӡ$S~RBs1,FR 6 D劉t"$'$pDnc1cIo" cC!4N PW:æ$6=C@4,pZ#:-D@˘>2qH!.bp*VŚUaTs:.'W8Ex,G*)J` aen8P- l2X AKHF.%?DZamlI(J`M-$qO gfXl{+YxŸW8S?t=]a#'CFƅBl&oIC`:@6a#xDtKǘNZFtDfB|G$]ܷ,)Fm3sk; /IdW/0J>ìfr `>Mo&).Cc1@@T .Ja< m`n!I X`4Ui@*κ(cB+)uPUB% `632 YPV )b/!ŠAfBVWW< {AȰ{*"x';~Xi6LE&`6AdUB"!mhmB n*g@< iζ(:,X GBrVYqW:'T,䅙"/eB%2ap.^,vB>ovʴv4OKY7'T),>u̪ t6 cYpR2:>&"\vMo 䌓n6N~qCA@$D]@&8)cD``aDgkt2+SWmZhz5k CC(tob$-3u5 *TVA`5F-F#FG!Q$@ZdxGA-6tMs@3g% vxr!E"@8Hy^-ǞZd,$r1ߩ} ^jc9j@BndTJj%B⽳Odڱm0ϴ8do, LG"Y& xs׫nzZ˵ 9af%"2³cO;>CLg 㛩q6NeC‚p'r 0*,C\^` H&2/ #\l["k+C aÎ `U Q8{Y٠4Ycר(ȵӛOƄjZ˄*#FBY`jƻbSkNkV:` !BӺ+-&`)AA & V,I(tA` 2bڅqz2 4j'~^ Y4&kZb|DW(jI߱C [1db?[3w6єm%/F6as8 ;,gaAb|&$4da e0%d%IOږVgqB}CM>)s@$hB}W>JbCQJ]Ň0"OclK @6`&!\>}W$g'VHrz$n4N:=}ȃ&R&L7ފ;-i4$ܡ*$T,<%,ldIFl]?,aa! 8B`_F6iBP!&i,57*k6d|Ư"@A@ (P@8;|?_  _` _S+ 琧V?C :{ c#'+!? 8!Dw=Os< ?/ Exh >OA~BZbaw@UHP '^-?4@)~}H# 'g8@7|`@7.H@p5/%Owl`G.UJG`︫'ѳ(➤+~B*|: z8 !g}P(z`'h !nyQ@*} ա(̊&`p yxKǒA(#J.  }!:4 ɲ4B8ձ{g"+(3jy*)ڌ' &8RD`)xjB#g&RCD("t ' c|4#m4"J*@l1,++͓H*B@u℠'"iD˺)t(+ "(~,xX Ԋ@ ˪bS KJ S#Hi;4wG1{';x(M' Z M "䢉'Z0hʖG X<&(8/"?ܢYf14> ͳL$ByIt= K|gH0Q: #^(&j ̠2gLk4*`06fM "$`HtGJf0z/lcliv}> hW&p܅a] Cxwhh`H$I-vҞ)$,Nq s 8G6a_W 1$R@Lk UQH y ?1W5$2?GӨ]= SMANG^x >`@EqY^ )5d aK@d O%eg PG0"@ 0&0)Tp <`D1̭fQP5EFIh q,vØ AE[ÍIC @WRAi_ ̗EW zeh* ` ֡h/Ě>h 7%AYiWJ.aj3B, RlnOԢ3p<8``$`q `R$;R~H-uf2'$e4;hD` JPi֙Rj"Ȃ=~+ I5i$, J3$Uvb X,A=wBĴz.&zA?4&Ik$ :@K24E#bLʉ@aJl5D0eR9&ȑHlsRmȈ9 tD}v:(GH}@_;!}M e~he,6Ev_Bx 'J1HTF)LwTjBcG(ya88`L~d? ؜BT iih*@Y`Hx _b<IiiTLs4@:٧tU:G#KCE>4w4xǑ$@'wk ~P${a\לD2ĉdbg/ͦJUI?>2V؂Zv@.A)\^CR,Ezl*#_3'V? S;ϗġp@xr[ I*'٭e\LǙo<峓;qҒ"Xc{ЭY,L*@! Bmd@~1\"*VCeD"U8H=ZJtgc*{6`Dnqڅ_⩕ 1 PLlȁR.DB;KrcK܏r| ӯ L%a'x$v ˄YJֈZ*Ɉi  80%$XHh tmpH`,@pAPGx/q 'yA.ҭ!Բ90ѥ[aAk9Y(Xy$4t4^1qCu ۫(⌰}Ph zHvy 2 Xy Ȥ!Aqa.z80Pz 2Q*jlJ`#!/܈H }Xp*p¥p&xXujڏH p sEa\,cK1 ΐi#W #JJʑF@ {` 2*+(s/X {h@ H}K£5ȁlo:p &}yPrx~I ɴ=+]'<yZ(#yW0o 㯔¡ hyXtHԓa9O Ш|{*&0;f!+>ZJ{h FBZϛ f  pHԤ (}JD7y|\IAW`T1n;$<<ة"멛pmRK0 Y^ a|I41 `a)Y}2٠ wA(걐 "F)Z0I( /TqBھ]߮ .~z>t0 7!`p)I R 87D7%lYӈ/ٍn MՃx b*i=nAD\И{M0"XΑ? ð0В)\o\y0kp2BRRJhF"" >JȰ[Ĺ"h 픶XQq -I9{ '(9 ;appy˳cYE記0x|%8|@#**8wXt V p/? *UULOؚ1#W+嘞b) Rl xXv @ } | 0m$``j]X }(qoa ofb@Tլ&PY<, Jʓ9ܚ%L"Tْ@9ɲm% L"3wp$pҫeҫ(rxٸVH#l(PpAxPb? 2 ?0=9B2J2X8$4"u fmod' E&,ύ. D8ލK@"3 H؈0[x6 xp8?@}U^NȚP×$, 8> & +u!`!^uz,F쎄Ć{hcai# 4(+ Hqo6E_tr䤖yrVtiCyO=ꇏXzO9 ) 7 ?@& `~@o7 $/x A| 0 @@(@"a/~1~(Ow2#D0+W!U$z*tۜ&@7!>(? A@x @[|^B!}cHH>! +^_(|V*6.tB%P#ZK8 [kX =¡ǰ0(vR1 Gu 1ug ' 0S+Nڔ  jf2{Ghw+į)2 !8kS"2K޻څI04|,¢*; tM *~&Gw4NFM̠+m+:(.`yul"ӖzNrԹ #)P-zڸ#*x, AQz@PRnkr(jb¢~L"vE~c<}jy@)vxb(2O`3<z!g*2X"3ڊhψ뚅C/4ɆPm\78Fd(x$/q- +)y,}Dķ1NCx*jS;z''y*Ӵ4ɢNk{L}\S4oAz@SXh^O*t1~1B>a@$,`B" %W2D($?mwcN )|2\02@V$p8 rpwD G 4n="KexJ>41='E:cABP{C PcxA@ 5EaIt"6@T)ݻEG ,BJ!+QML~q82Њ2,J7E)rBG έ@!?{ːɘa >)biʳƓ$Tx 'MXaa,/п3 ͹;0|U^oINI9P+2@cPQTց-+Hz04=@X@@ƁB Av"=V$ܣ)2E k+P%qF@Q^ {TA$]d5mKS˒ @*D9[{tkZlqsJQ=da/(xRo)9)c749JnpONER3(`0a6TDii0BkS)UTZ$FY_A:` @jH\lV(}uy/D+`I9gM iU%p vqP&aAjO s%:<&ؠ@P 6#%jSVև i3uh[1KF im6lޮ}[B|%Qd9#&JوZ&jՓ ,49Drۑuףc"0BMluŤ3\TGά5}Wx"eDl̘^K^t:SX$v` #Ļ7;s3SEŴXb4e`#&aH8>`$|5# }/9sK ^/G#Ae;F\oj"2€O^ʦ!f(<0}NI ${Cg:)&x&qQ F[% FzHEDdF'c.&<6(¢&a B Nm+PcFbeg~OfxpÖFz95%!E<+m!wB(9q"$ m`Yh!"X-;qj 8!%|^nFcF2 $X@4AĊ@ G@D@6 RȆ`DDJ̬ôpˆL([*&"5kߩP ,:Bd@$AŐZRcd dB$`*F$CL Mcpj#N̳|pK$`VJ g  =d^RUS 4t^IKPP8C<t8d"v#D"*$3"B-Z'h*BUd&$$J˴0h%̋d3 Lbz\d:@<"1!C+/g6$ƎF.9&#憆cO(.c!?V0 "R`.&en' `b2+"*%1JL]lTj c;bE$ 9ZvF\*DfN%>4MQ PlKP%"xlŢ,Bu n# &ujлLqbr=YVe#.j.r :SEh1 LƘb#.

aj``Ja@$R >*+gz""JJ/"c-Iabfֵjfm_3/ބ&)3 (蚍e-DiJDTniTd4&gRB E"><4j̖b^"A颖"mD'Vti&a2Lbm`XfƑ0踀<`0!6v;"u4iI#{T(t!`)`Vz(8"Ɇ)ւl.(jRE# =ܕBym6#3*˜!E 01[7FJLdy-ζ&GKe Eci*D+)c%RWi#hUT bL \6'R<-2<ԧ2#$'! CJu8Ab` 34WQЌ- @>-O,a#4œ1TƜ 6J -vִCr*GIf.Ί1-~b+#+hcξj@œ(yO W4Kf"lѤ.6t `GE!6[̚Bh~A t9n^p&1C,>I) vWr?29Ҍr`5< D@3fjA !`)M$As! (H5"^&8ܾ"jiYNP̤}_ʀMT#=$?+΢%+3>TD+ x'΋-LˏxX)º4(K2b`F2G[j-U`-/_t^C0>#Pa3LHFLtraKZ1>LJ~,ۜ/$X ͅ$0`%}JmKP ,(7;3|Kt"Y}cELIN%T.R> CtX-6 LwR.dk-[phH!V0"6b(*+c$ﺾ`Fn.-<»,n,[V(ɶK8ov!2/- M*]_7FE&W" FIDa!A%.Kkoq3B")scJ$4@!!10SBJ 2-t̂9Ӯ~qX߷G$52PA%d(nSJ^#%{tPRĀCX.*SJ){}_-8p%!x!d@N"0Ye ]CL([Mg8!w !r"_/)ԏOTnZزGKs0قKoM^V0Ȕ -R&.)ă &#"DR)*!c`F,byB j:>/"vQQ({!)(+cBCpcl ~`3?ߠ ? <@w@p&f " ^g @S0Qm!4h4w6~?tFYHQ߷EDXG4^ vTN >`wS uJ@ ~p8( |k2P4w;iֽSKp/ Ք Sh/H?z\`mDj4Z ":Ձ+y *Z)"J!K-蓶;gȂ/@")*)(桡lrP&i3):*00sǀB w(' Q}k (mDQOʨ./\8, & An#.LÈ)I=)SآrZ O]i=DCΗzU%,;։o<; V,Imh~~;O,hʀM;S,2+h+.(]]A #-Z֨sҚ~* $,tܑ -"Ld촅KMP$nzكW1>?S{W =CnĤNa) S 9ȳ@ `GH5R5!qzh_.>e #Ku|6ZyWD|;z>>&e}Wѓ; d,2{|bL+F\W&#Gx$c'eY|Ǣ*O1t,Ꮟ@PARih,ɬd$~LNeHH8@~-iVulgeۧ԰i\W4S YE?]*İ 3dJ9 h˙6gGPЍ0 XɱEn8<xԁy,>ǩ&g2rw8O{{ICAK[3'Ț"\%%0ĥObNw*SgC\Y(iZڻ#<a<I n Q) BuI4}rt#hy 1YH;45>%|l(`a P|#zVXOl%|"QqMt!;x l)!2 D BܰF68 }ݭeTra(@  >%XD=q̼a>Qۈ/מp^liΒ B@A =d:z<$<bcBj=("=eTwSk_`+M/ȭ`ӆs PzkH:=Z>iηSրXvyA4x8I Wkzዡ#QuXZP"{8xZEً|<B=43k&zU!~¾% l ׎5¢l 3u؟9 y"s3$D I`#R282^ 0}.6 Z 2o=iO='H'IbCy6x~, WsH @{yĈ32R0Sٜ6:'E$|=QPyJ+!d3h| kI  &xUH@zLk*K03aư]Jc@8W@pF(D;`pH@|ӡ":?2!MvԂHSSi_1 C86BA%1_P՛d< Ñ ! br(uC @51ʥ {0cn Ū (x! A4 ꤟt@Xeiˇ)ǜ'TҢ- y5/CgC myQS];@ΓeʼnLS·IMH @\{7ꖸ|YKp۸obѴJ @33y @UP;Lo0s`1~HѧCX`ram f>IJxvh Bj{z!&2 ӽ ^1QP`%&bM]+am0 Bah޹XhH2 l);`LOBhKի `%ƀ t8q8'Hkln xdh@jX!QS+0ufEC|C9ljl ]5Ɉ&쀥 ᦙ@K5ݔI$鍇@HQT\x:FxndZUa͊^!o:ȕf X{ hI4:Y! | Xe<hZZ 2wsgO2Nq Hs aC\+>(u$@ z| k0!@}<@{k"*E?$ތ-!N}O)tY~u{I,XFHmH\Z8|؎~=hx"&j|=9򓒢W;/L^nzO9KBeBX{o%)mj@|PD_m8g 1^<<o{~Dtli;S%s qj  ުx3ϱa= E8rT ;v#|(b9$ՀJs@d6?P+^3JqR\d-|@@< }Oh ~Ie`@og}g  Axۍt40cq<kW-tHtFd |ϗ*Pz  k= }y* 2  ,z~Oӎ$B֑C+KcBK\-Sz1+#lI&qs#j;>:PКtQ+ 4F`( Ӑ*:J:/zP, $83 $ȕ;?/j$pG-/@2I;LIi|~>t832XH|J!,$ ǀ"[&n.rhbfl@P!y &[ѬgA@1}{4{xg0_)!|k'"ĤjDɯ'+Oh.+横yɀHXGӠ6Ϭ xݪV< }gL zǪ>04Z. | GJ3˥Y%x0x`"Y4䰟'紵I @ƭ6{y8qI@! @$x) BXőeUR^7Tɻ)h&ȷʝ>hĽӶ3 :)FH>eI3*JT̯~KQ=GϡMfIc}4,#R śliSfIC@\Fh`|  yc!K};Gx 0"B:m"B>Hȓ:d=2PPs-)(`,C(|(RS/0EE#)#EK&+IUtV+"bzj2h4ޕ\<}LmEL8 *` qJ*$V:AHY!d5d /C腥JY#ipǖVL N%5F%r l)܅ {eIi\|"Xh Y\@AIH fcg`ZN)>tZ'7,rTN9q@HzQ=Gyo@)Y,QRWsU438^ѳR:(FѹyG2cБ2 f >T!q!Jܡ$+c/?bNJH"!BHIR0w112t!VH0AFuv^Ԅ'6r^/Wɱm+D|cGPdf6N]\~Ie,Ҩmg*AelSX #D)\ƕp p~1 8 d] "@ln @xI~6W`/ ma98c `-@c ;G@8D&@YRT$#Q&EWH*BmZK 2dK$ b(dfi=Z<&' jրhJ,|~Gb2jHǏoN,D{sqIl\&9t+ I k5>2bvvGTWr]wϳ@/*\>iGCȉ3*D(_avH#!DC%%C;0CwNY,0*1ˈcߓgݑL,<ՉpȬzV<"=( xo"- ! a& aa8. C͂IC$&:*FJ$n"E 8E0a @R%%@!NJ \x {`mcszxNgzKN%88&;cJ^fɇ"Fj;GKjL2g)djx4X!`X~K".LkÄ#&?$iU$ I\B r@:Hf!&dvU#дp@ XTAI*%A܀*WI|ܐ(.zFKd$F@MJe|#u裂8&C!.+uYU˒ ?IDc;ؐ3' #DL%84>d+9f+VK3š4&'6QcZ$] =#x£WR@JA0c|#e~m1>ʓU$O?$&M.K6+:"JXLЌiR3.:o#dNd7:/"bK;PL{J)fI3q#|e3t+n*P@'ZrAAxI)bmbNf62VhӘRz*VPrAS6# l*@efq&G5!RW B%'pigYdy =RL`4d-1<06$sUD! Ԕ0!3ʪT8 LP;UqB䦐Ƥ. :`jQA!`D"AEYp;D :0,(;̊+]8:s;ŀA*qԏ2; |xTAgObϯ,# LeeQd&+|=!c{eEem@Umj(-,()&JEZ+00`"a(J.!ֺ=&@wħnhF>D6W="Km$e1kn8G #D^@cYP1n $Da Lͅ.SSBvD9K.e:AAcpdBhd.8Sy6H3:V&Ru)86m9>HCS4)<&M(zϣQ{$ dID/0"P2cUp,,DW>7b).쀎*@DB≁:t+|AuhIJ&J](7+YJ`haVLW :J!aa tx_Z*)$@&bmr @(쉢:B"*~Kƃ-ɈX&o GQ5 0~4fADh $ fE85V$NI{dd҂>vc%"%  j3v?zHO"l@e "lN)JeR{j+&9~p!lJ!٠0T`hs& 0$7$ B f6\L0F BidW45g̭[hp sh) ryPNd`od?v?DS}I `]rQ08S%A8yV'#Wz~®ie\l{8lEޠJnuލ6V})&Njjbi&{U c~ Ds Ґju\$-77BrӺh:qobc1 #|E*>e$D20bDiScm2QE]/4-Ԕiuq d<, #Щ|b*D=OzW-Z)&lr{q141B",R**<c&>` I'@*!@3D@64=^<. HX\vTfXJw p8Vҁ[la@;~*0&rw0~ h# |*K&D*=X`8,6|HbIgg):&udQwQWL{dBr%Yf_ڸE*Ač2&vTSvd2~^$㟄,6C:(ς)m`#SJ :@Ʈ#@ɞØm/I>ݖr`#mz3?uP9 "A6m.}nB'~> 0a`  _泥&?߲P ~PqYS$@ ro CO'fQj*e*}_=ԥy,̚-G j@5gB>QgIfѷ%'16^ ă$QWx)(9׼?P(9)CGcEp(í7b4/C2cڔ)f> Cy1  ndp~֖Bb~MI8PCHXd*e _8 s()g^xOHlD ,"b|6T>qTmX~}!mwMh9bjYmmeL8x\ 8V`x!I8`daI22or|O3hF$Bfd:$e.*@g*^6@Dc aC1>ǰ-7KhNʳӫr \IYBNв6KM`6ϝZ`+P dɱ$N|F+prTNdYjbSX$~t)RϟZt-7%Fؙ.D廂L%bEBJlԕg Z4d^W:egWٝqQD,g 7 J)a9(RS 4AA4'Ecx0b h@h(cI\ A*$'@D&pj@}=GE ,s38-`[3yZ :,` 3gBu%5UP=R@= / ~rd%$\}>´GW8&\J@cuR `nْ-}DC Hx lFLTQfH4:8`LI"h>`&Lbz"bt Ng8| PZt7'EӆB~t.uji`4wfm]Le]%_V-@ 9ڋ3\8FEu$O)ITT啶|;RooĎ%} LX]*{w|qZ{wrZ@qN@W CȘ V к-KM@ZpdVŨdN&5B| >HE088k.# frMixک<HZg $$$P7e Ljkyx6wLfѴɺ{ &ÓAM3# ?Z}Bh `Ћ*Nj+ zy 5Ƞ.G87 鞇h}'bҊq3\<62 "k㙫/`ϯފ88[H$1$M$xu}9 t8s Qht'o袈j| Xy/ ;ڙKl'aϖ F@Tp =ێA4{ Zĝԧ9?ˉĪXz3F& H=&.{"{s Ctx`zuy@uwY z`IE@X#1 ՠ0`hߔ`p},P{`MKYRmLI*'3 ԉCa/\r? IڕT.=9Hp0;,r9I88Cعy4QS-@,jֺkϡY%[{*ZC)zX I$L0tvSppr6)-\,Bu9G :;=0)9˜H m'ABL֠A6 *j:, TT,峙\4ù 9MBcť{g{{+ 0 /RYzAT8^psxwMX(EJq&#|@ ȅ_ "j L_ؤK?iԁO!`Js bqԩZxJV0MNKH ZTUQ^ ZP % Y?ݮ> 93ٜs`@'=\.i[x`?xyՉh e4`ٻ~*ZEĺ@(t3컏 y(Zõi&0{; #EX#͙ o0b(= $U0Z]" zz70zN=@zp{pUpnpX P@*1(vh h0nlYz-QYL9 4'[KPk ; 'Y=lxa=q^IM6oߏ!QYl Ew "H_ͭVӾÜbFWZ̏4'S`YY(=r: @~wmWAGQw> (o@s _(iЁDAfч]: 54 X;p/SI0@eA]ն(oHƴ( 4_5@ŮߧR,0#7ʧ_ЫiTцxr(  @{AUX 6rhz(pG ?PZc.,4L{y gc+C0d=. DŸRp褨X@ 97+ E ):KsPL]9K0\jyӠzy|PF  URjU-FQ(H YOشnj7µ@`~-(hƌ߀9 "ANTi @JAEB%E_":BB* U @X]*BݧD/]tH 3χghXt?1=H KNl I`!8]D& _?+smCc*[Ey_-kվBafJ!'@piFW1_ԀyG_c(,vd`|( ]KV(5I_t(+2|(u[0 vz#h˞&;T%E j ]#n\ =Mh 8q tbp5I+.1۝Y] j b48N~˫ ͷ(8dJҋ\͛uYwT. 8dbc@7@70V&TE(q?_83 ߏȋQ$@)[C@AR{\-cs);(WKD/ :t@z^PVM(_ TFP_;F@(f>!A `;myAh^B%Riy7\u:9y‰Hz<_ X|<A~M.s$ >^kN"ރp@9 Z@TJ!)*@#0{GfJ2'g|`p}DZ}[,#(P 4}  "1Lr!*$'!ć4( ʈ"frS  A{hI|R 2z#g} hA3Q' `X +,v1IZ.A [ $j(~KI{ )$*%%!*P(+2|¢c" 5*fְJ9"2C"$Iܨʆgp'Hy@ AJ0I @LɬrB k 'F@B(wgQF20IJa/$ij U(Wۭ2@ Gv-ZBȲGRU"(ۻμPb3`nWpUތ+c*, "r($qLxH j2!v 2,RĪl дQ/[k^`"qڽ1,Cmˣ QRbT{4x>Ŭ̑oJ(JY٠L:C!2% H>r{(%хFYtl[ n<7DYs!PwPE9k'zA88 H~3Tjc@U EU)m1ĪS \*D(](f "b" ,2B$<}~ ~P.$m tV_ %2mT~{$q[dM"^IPIGh=Wb!$0K9EE2Id!^% |78(jBW1:P P&?BcI mʽ!jzQb߉@&#왑 >b#jA?ʳoPL0@D9) . FqNސBv#x$KPHi#x2|G"J:0%{Oٙ? Q20A6O+h6AvUOPN9$apA|/iOz2 P-z P XF<0Üq8x3혛`d DQt1lH$nt?!鼴ctPZ"9=\ L ?[:AP0 XRpi$ 0D*PWt7b`=u1>H*3@&@h8F*Ԥ#4$J#p)-T˫g<>@`|YJ'j%Z !>h t,<_q)UD kN ,tt\x&FyTZ zN1O=.DJT@;5 wJx^v9` : SmB?V`c ߍ/f /3}w@X<1U>g,fV '؎Q3R\Q+($0l2e]H!#<`[1-`F ijObFaF^ ~B># `DA*0*j>`IPBrvmYc߭ĨeI!;#`CXx^( aB[{Mh(~qշJrDIZgNyRdy&ME¶G ڞM퓤t`Q9f Bӄk^›B~B Tx-94>y1nVr@ƅ\`4aLjpN.hz@** V B~-b dob1&b2Aw>7` a(a$ bN%nߎkʤ0L`fjX**0(oB-҄-mjB?J~@ꬓEl뎊kFnZȸGfF"b.DT4'd4 LFd NM (⪄[z\GB)'%uo4">,L|BRذE%I&bk_hJJz1ɒ'`zZ$z[>^P zj "<"|xlNҖnXKpEn'i'Gl[J<]0oKez²p"ilFrԩp>#Qµ-GoE%p+Bzs2`<Aa $f.Ͼ*+r "f4`읏!,Yv0dOރ ^F-+e IAM0V".!6PL1  0=,ik aaz!a'&@2@2֓:,5jl4}z, h+&-lN# BN*l B7j@Gl",)ZҢ!N%vEja!:",Ӭ2#L1WA7c4&b@|:l(p^S^1 !bHb4a %*>42x'nhj-$adA:o)opx%ƈ3 ^݇n!@X'FvZLC&3tx1oB)r#(F &*C+BJC@)d aĀ. L g 0z1ƪE+Dv@$s  ҽ5KCl)FJZVR"LUFt~ "$bb:1"o)D" 2GHƒ"-^ljZd @˞PZ! B(LH*ufon!ʮǪd]%-b[&$dvBTE&bW5\R"vHJ1XHg_F%md(c=F0ŖU,1 @NB銃6'&"ؑqAFL "f* Զm&l*i*4, `!-B& k0Q!)6Vl/biƬ2VĆ^b%@Mn:!hdqx2~b &CaB?mt)kp'_{4o/,o|N[®*b3&uj>])&/Hl1d#oOCP4A4BHUCf%WBal&용N`:$) Hv@'!^[Xqr;?vG'W[ ZTvA_4ld3KWWj\00 n|h~͡*0Q%(J&Ɯ?QJU*B>خ@{NƦj8U"`f@SJG"RbiE&Z)8$HZ*!LpaWG3!UN (EKnjTgDF5n-،$6C2*JTc|,Y`d.q1ʴ4]V$&G'WmނB.pJA?HN@HPL`N!v 3aAa!ۏLjb4a>AAbcaa^x(A +'Tˢg?m,#hQ4kP) IB<LHbF / -XPqh7&I,~TCc|}BPH"40yc``h*,р1,& HBvRU´bCX@z,H71tHU@`$M\ "i0ޘ)QT?uCCh 4&4Zx_ѽVUW4XkT" .~(\i Yڔ%nBZGvola  2Dg"*KBf$O `G",/6þ!:b t渊sr#/´zBv?  ip>%!Buجgzrp{ `AdGVC-y!L?mn ڬ#BB{׾5q\RjlKNΨ݆!c }$OFjo7fb"A'gh[%D? z;P69F8-Il$a<JZPI# HLfVCw8r;KB #5狅E@[l&Ba*9pk D5vlX6-cdrNȹ&fD8"ڬ^(n<GfN^yE gX$y* um[qɪF1~;U<#ub͠ >]Zg L2b=%ʃ-'72p{a'A,J.R[b(38kڑGqڭ\zbgr*jABf`ZE|+ !exTocUNaTu%xj{%3x'DmFRm&-ĺs&{$ZCJĆvH{v ƼޅM&|oH"@!b)AtuIf"^cC.CN@3l/g*Wd;"t$.bg(Ddvr\[$&hP,@@[~jA &A l h@<vF$#@$ vp=a 8a r"'kǛ@ '@` *_O@RG g @Ϸ?߳h;?@l9 )A @,_uT/= @dA4߀@[X$7 1v`=z.Iǿ$9?mj H ^_O= zG$OM( 7@8(t`plХ ~ @ ~( i/{ B)})#C{B' Yq?bġ)X,) z4_%M$lÀLp$-< h|KV$q$#$)9 Qbb @~} 7oRw)ƹsxk{ߟ)h" Az%,X @,, (M .+HԪX?!UUk W]+AJo"JrZ]VՋJv}0{Vi2RЦ'~L sH$4ΜTaܶCe0Mݒƕ(AFp g'm9ќp#X8z`J(l0}9AH*j슟6I߀az~-vF|`[H2Kd}mV3 4>L=jofb8Y4 _'P7;rH6e[&F}Z ZމZA`xx>\cLѰpkcC[U_$~OL*aAc1@?y2c׌` H8 <\zp$IXHZ4N<Ǹw(1N@ y8G`!>,0Ck`< Kʴrr?nkm]7VN ~yIhH_*iP22`ef<ҏ IJ"Uip嘉U|Ƈ V 8Q$9^%{g *8`9.P2 3&9 6py,FqɦX @YrPŧ3߲jkJ\) >W3 Sߙ i@ glk:ɤCPVP<&0dIH̝XjAfY_tʐ{*l6U4g(@H{ 4ܫs.n`<< @ vP,a<=pCīeTM 2ϱD!){dXWr¯Y': 4$}Ub#K$:>Uilُ d {(^tSh1( [ th@$-p/w{wLDp> Xݬ@ xyiq M9a A0 :j31ǴBj'ߤj'c+Xcyx 蝊-y%iy( c2qp  #.ܒZqYԬ Z5 Rg,Zk81@hJ QyXyc`*1á 2yr 'Rɐ1ȾCR0RY/B)jS'pDZX:$9l _, X (,]jp|X89}"!GnX3p-s@yo(rm3@wah(z96E:©á x{a PTR6T LP}4,yw-, ȚHy@7 d (KbIL @PkP|a!z( q8И4$\CII7 qÀ}ڀ3y dt 8(t@ k#7ǤkP`b(7zCh"B D%X" I@  :ixiLӅIoHwSP#kp& |5oЕ0y (hq@Pʰ|{jت}X*[ ߯6?đc`"s޾XI{ByUkhXE h)&, 1Dl-6c`"'J<ß>pڍ֊tX 5ۅDM)b$r- Rڋ2 ,6: җ{  .½KPÏ )@aDxPQx3O ׉* B )  #Aʣ|H-y=Up'{2|։€*Q'{`  K;};txu R@( PzyإQw28pC$akɖ1jΛg'@M8S a9 ꏋ e:h=M!4sߢi( (Gx|Q³Lq tw9zʥīCSAf y|Y6e{Sy'WȽ#e4ƒcԺ p)kY =-y9'l ZݒiZ"=6 :s )w4֘ 2S>OO&#,Y\@~c6Ծ z5 t™ؒMp٣Ra3JciOZa^U?Y퀈  ZWkK o4X|sJb+Iڊ; VH{l[.5݇+8Lkl0 "tr0q(qXC0F`(H%x$(shepj31}PwL4 K DXx}|b4cь g4hJ')dⒾU&q8=9vY' bCa.Z3hT 3̒6:qCX%8Y6-`2ס|_>~c3K6-;hz( $clNKw E2t@̰u` /7/i,, ӐJ@z@p4subٙpHѕ) v޹ !hU :@d"RFRC)hQw  1wL=[ |K2'`*`fIOމز)f"B , %kLĕd dZ  '5!pm֦a! H9A]Icq.hr9ТEIU(ʊ |Tq1f/AĒZV 9qsT, <:yyT1M"va %ڲ < JxDlpBڍCRc<l67 !p|Ul;mn;{8uvϥ= ȖhB.$ V3gok(Bz[$@H9q%2l8$D"^>Y_Z.:бmulu=Bx`%m=/.)8 :~/k" .!)3ćYI(vkH A[ d+ vi,ji  i/:|ـ8 슡72lr/ L{!zНm 8#61qdDLA`K;ZIdq/x!#\[8E8Oγ1YAI0U,'>6n!i\ t_iHz+u)? '^ៃۤ3;凾9a+ b*Khӄ0 >U }Xa %RaD.RG+<Ѐp x|v)P58Om1#:0x P~x tq(` @s0t@(%X$!c_"pm,88&d0|hDfn(ߑd/6TRA"zB\72;".@P,*>JPkHU-8w4^EvȪ X0߫pfD4@ob]hy ty@-_Pp^ ] A ~?P4?_+ A@o@)z`2ZϷ7#_ kfԹL@ -}L# GJ#YcԻe ɟEwʠF| J4|c(}z@"yb(y@mK-+\,D%ACӆ_p@G?jϊ@m7(bNEڗTb% 2>*>(':H+k:b) siִ+hPl`ĀQ: *M >t,3(JH1i*Pou`0`*9Z 2̦1 Z|}gҨ/I32L̐+ʾ,r,z̿ʔ= '꣤/I :*1\P()R7Z @#.ʳ8FOXn0ϩ3 B$k7*l8Gl2l̒$l(}g}hwڰG w@{-!3@{@+/G02 " ;IYaKȭ `/N'8#lJVĐLJUJ kī>nfO/*ԍitD |*5  BZ*z̙3* 6g(BQx9} st!(2}Q9t6-D#pRI;Ԫ,T;L.i$tl|@7$ʒ/T H1n@=Z\L ڥ"/[I@{*aw0ȩL^R/H˙( ?xr s.hJ)f4,@n]eS&RT J*FX TtЦ^TI -##YPI#rR|A)/]7`-D@8#xTnv U1>z`h4CzF~W O'ȩ⚫@P`T AI6-!D@C\` X4xȐ x`PYl>Lx \AA>hHK 8#"@x؁:HP@w\%@s {O@C /+tĺ ?N&,u d{nܼN1.bQ[PL>h @0<@&ZЕTrEr`Q )^=EC|< JBE.. =I( '',Q<hA=|z1{QL&1Uu21 O&?h〇aD0FIipgQ)56~7p \d1F| aR!B9"KҠBP5hAC CAM4@, *<X NTF|t6CEOd65Ԩ)QJfM)GNAEČcI.ocۢsEAm#U?Eˎbg2P|1Q*MUp&ci2B I"u PM:mKAj-@*9G =dap^)߆F-&|TwVmbi!EhEH߹bs $~Qxa,=">GitzIXz>' b+GM$ pFtFc*Tq*T}A=>Xä@ "e()1˨#b,Z(d)(Gh}AF.=DH":OƂHnAVvE #m@"`*#lHLv.ǣa!@ aaE Jrby28p}aa @! @6@!K,'#/lcV`*K=|f~AD(L>6IPDPDZv@"Ff!d(#|1&Hmd¦2+3D+"oznJ)́$(ـ79h)mZ ic!0Kj=, J҈좽%دs5.>x/wAԐqcf~)"&@ƴɈ:͌fL;nEjIBpbjd YZ#:,+p$t#%DR(dlnCLB@@u-1 VM %iD0"?grX),q[#C X@|iM\>dBHa2],DR\4\0%jdfG`6q6Nu/ yO-#$.U9ԝ"PF|rgJ[\)PL`$!d & f갎ð0EBfe[Q&,#">N:-:Bnd/>kO29`l&'cMMnnJU{'%|etg,+0% $m#xZ6AC B, 31".^#1x?24qJo\!μa`6_+b b2n:Ī(b"?9L*&22EP&ȏZI"\)xB25hς,[nöutlTo'8'@\Rc@n- )g"\u`#CuJ&EŻ KTdV?Bf*h:Af"Tf5M=BLD\4uƸRdY3̸[BLB& -rL*(PHD[}(n4B62u IxTТZsPÚ>+J?UǒR6*袙h/_Is AA!Bv`Iod YuPěaͶ!)>X3&x}:j[/cm6boGNbyPPhCnY" -Ѱ!إ-j B'iVA<4h#IndNl(jrJ,-n.T`$ $AD6ɀ!a \$A.r@&+5b!d>B\ |U!>! #C(cEZ`&@`89.MA"Ө"Le +JCTHI0--9>YcPS>6Q@'hX&(4$z┽e#س Af`;CMOy'  Q4#р]j$=Jfp"6`(2&O@ #pN jb282#4a( . {d"zL8 ~Lxô;..0Mbmg!B,Hd1lx؆kh:BrP:d9e`}!ÅFEY檧[ 'mRjAZ\ɺVzYKDGPጬ9] SB@NU ij&mpm¨&0t. Y:Nd p=b}MuB4GX )jb:HflG+[ Zĝ RvL$n'YB6a\0BND<$ H"#-ͻ$;&n{LDqdQ]S $.6;K'9F-O~D@MGgRbfĹR!HxI!Fcv4@ eChb| "D# jΌzȨ`P`\&@*Aݶt+rdj/j P . &!騒#:E|!0@!%}@0!~7]NP8}/<_  -|`t,¶8*.`+*#F:{|=")]~H$Xt 4,̸sq G ( utG w@zɃ¬= 7T~!qݣmR|#`(˩YPS&$8Y0~1@+;d7.@[ShG~ۇJ#rN7o{ܱX#L<қT+tx˵+=(ן0 Gw ,}Mj=p2@:,S@6Xj@|C/Z|17:J&M)o ̪l(<#g3%NV n3#WhYŝjKQ%7,)jB>e82 aP]DSzGFzة" ^ X/y1@` g:or}!!ei[,1"0sǸ%\x('${6G<t xC|qz-%И4\ |xxb@#KFHMs|3x4KO+@E VC젗h\pörHꎙ4 8x&anH9:>/؃A[6 g1K찌ze ,ƏtR#ĺb~ 2MXCuL$>1RB&]PJad$Kggl&R<ڦ^r$z!c2`` ek 8)C.FhU`xR?y4pBY0"%uDJzMp "=Q+*?e{؊d0U/ uPԫ=!eK#JۦR^\!RK%ip* LT>ݘٻ(T x} 2*nY: fsFz8XLT|V{IHr9NTM6$RDAgy.U& sLlI² S8 AFA J<HQ/EȾaS)i(C\[}E.RH,{aN(FFHfk";~)\/*0 &U:UjW hb"P85,WJR&y,A+#p"s0],Å jK8M݇kW!eF$I&YV J~LQfA4 )ͩBZDN%P_i),3wTS' 8KY:OKy"`p @,2Fp|a\!\#X8`:=HB0b.yFNo;3QEp I sFuT_ ٓK{@Gw{?s3Np'GxaZ& :>Y\ـ;:㺳wY=(vV*n']]Ԛ8I sdA0&}Q9!&=|eV,1C"+Аx ɗ:/Πpav`t 8`mpy@yt{s\pn*ii@Tx/-t `8l8r sSъ"-Xxzc܉h$Ȝo6S,O|d襘<pqH}xX1XȉٿˀPH{'@, Հ@yk5πB>r: x;'BNA tx#X3s)-8ʷ=(z!¥{ 闇{Z mꮈ@[Kcҩ*"Y .83K( U,S%`< OA m8 šHϢ"@X#!%ɭ&ɒXh1%8hix ~ 7CH0ЉP.Rjq @(Q<o6務 Aa(:q0:*۞ɇ5!C 82[ԍȾ+a È? k9\*ht/& ID۞1Q $( ͱ(@qJޱHi! ` ș2 #+|/Yc:(jG aʀJu9ʖ  y `=L IGPsLA yKx`t0 OQV @# >GC vW /w7 @R P~RX+?@@ (L wHy ?20%v' W_'~W'^^ϗŭT߀Y$QZdZ&KbH(>@ڟҰU'?OA%L\~Z+l:~f(s _ϰx<$ۼB3ͫL:ZĪ,z ;< ,@ MT+V'@2&J` t)% "++)2 \.tx`#ƩB1+)iR*- ĭ0I3E7J@Gat)ީ0ѥM${1 Ч@Qs;  *@߀!K7 #pq()ɲtGR|%K/SRg$'ym- ˳:I!@1Cl2E nA A['` "vixg },' M$}8q-Dl},̓= S{GR6Q傡@A9t( @B R0Fqg 4 #9s G b"h 2rFg}C'u@@ x}t~ȜDڲI&P-Z ,MDIHtd! Y r^?Ik&P/XJ J7?p#@?x΢YKZC}U>@QG{AE@@ؑb;jy.\b x(,~a|1:1G`?̓NK@czrr{1Z2Ni`0a.nJ Bj (roJP륥 J35 /hxfMrZSDPI*XçU 0DE$2Y0]$QJbM5$-@ ze'(IɛF)7P<)XDf:&F$PHBҢy ˉ?Dh#C$#CNPU4ȍ(IzWHH3d rdrQnԳKy]ˊA³,E/%eDA[YU.IE5+Ds@=@0  ! sP9cArnDpxxfZK쒒"i.9pTXG-PNn\10EH,̶&w EBPiBG_<#7ʊU\B\J-ĕJ3\Cv&%%f]ȬdJ`1qQ:A)~q_,Oyipc9`;d]G HtK!I6u!@%*D2fgzU5x"dh%h2%"fԄнƜ"n!d6զy+.v0l3YefQYl'ftF ;0iA.%!ͤ*7HCij8@"b B !;v@Dl}8R g 4B0Fo4A"A4L j AS!V !&< 0_рA_hy;%%RⱜM 쉊]aD2}vrbሀ*s*edHz`?rLxfܾyaͿ GfǶͣ%ƌ!Lp؀gp,FSzZs8T t'T`zØs đ*eh'9gd.bÌ P|cbFW&7&D\#dj'/eQcjL t.'/%T+',-Z:rChK""lԐ\LnLd[oIɆ2K.2s 0$ @A>NF&+)R'*D&D"9cE `$`/f_%P%h.|j2*²%&g, *.IK'T#r~i(0i&+Kl+ ȊV"TԢV"XRB )R<҇LmvF(c #nTDq3-p xHH"zMFä&,*K & +oB%NDDC|Q@&"'MDj-"Fu,'XČ*RGC:5ű1h1S.ZCn+-& `Ȇ?^R=!0dlH0Mc+EfQCbgK &Ž|cG6c2,s FN*NY $y/o>L B"o9Cn/  *d' y0*F>3 g!@L`RZT{@<>B >Y. HRXf`  X$2eX`aa./ˁ;lMcvtF7)2vl,VRNԤp21j&.b,T.? HEN`\H"I\3nJ2SDMAqdx '(`d%b^ G'J֓12GAd>Tx"r{ks:%fͼv!~q'D<KB%`$mG7Ebd 4͢DV|F"F&A(ꪁ< ?J3 TT(~rrCC1iV-"DIcO$8-nEuPzQMD,c6:D>;Z-6'DQ4Pv VW0Ys@BTF2_k lOtVPh#nN0 BQ~ao6h7 2bvqpꂍd&ɣ/u}خC wDJ*'3R#"Ld&Q%v ` Q36PR>Lt4Q$5 2něIPN83|;mm£C$+'+W^6  #mt}@3-Bt'A>)Wr'+85rsJ0 hn6*#2Q[*%Qlb0EA>V1! (`& #!a@ah4H>b ⼏ca(@7TA&&̤7LBxt 0PCəi,8I+MBIV1xGt딧B,3 O蠄&}((L":>RpĜ{ 7gjc!5:ecͼn䮃>BFhXEl;d,<o D,BPb}ȸB{.XiO9H{BHB?ÿĢ7C|7"0XCGma/"*GRl$8FZ5"dZrBMNkJ?tN'0%q) $@$S4xh&x:nĢyEqz#2\_camWd,ʚ?$QxDD켒y*~0g 1z ѣb) ڤ&MFTmG{8ÃHВHP 03efrhT"$|g,%a^ `"@Xp!%BL@F6!dn@na2@@dH8\b*>`:b@T F"mD*,V|,a5ޑ'H%$x:ˑ>Y؞3 > b+0'&&sRD-g|dbF@&Fk*շH3b.#H&I7#(@*E0iz܈{d`c.9qI)l/RR.#tyVdAfճbd{GAV* (aj>RY2Zx{Edm]Fɳh2+%I h&k A 5ZJ\K+9Dd55 4R"KKkeh# lOU$^B!NF\! >HA2zi0$%,CubiH!CsHQ).oɚ&h $X$M Az%x'$ou@t;ԙzܾ#*oꤗJ+FRVJKp73.% %L'YD!x]K8iLGZ'6L; t1/'R I< EVˆAUǷ#]4X͋}E_D|e3Nel6t4ЙLDzBg `sXl(oe^:*K YYY!`5f2   @CC#0ARt DQ>O?@):8Nx1?M&k(fw>h @(~>1 O9FP_xAB30 Y~aw6pȍb$~@  ms_ s(} P*x<&/Aƴxʾ:~1 H 8O@ < {;Ѻ^H-kJ0"|h'ʳ<'z 5KJ sxG `{=(/'{$3?벒"<0 `+E.Q/Tq[(O(*2'^`<`! Fp@P୎X 0p{IZAðv7*ܬB?ԡ5܉!heH#hҔ A1J+Y ԞzfN!C l/,7'y2zEC=QD>JA p8TC'F5B WhDPüvq=i-$?(Š/Bݓ\#EОAcT~ Q\bAd3%g*eIW)T4-d p 6 % @H„(30cd8+Ƣafn ^ F"gT,HZz+KF)4D 2;PL PhEX1vÌmA:@F)p >Ǩ)  L:Qt@vtw\cwtNL Y)%ǜz^ϢH Ju`GYգDD62!% I=,2VLȕGȲU!͹!+1W>,F!flqi'`ӈ$¸p$$s ˱2` -qx6aH@Md$|#aPNXPiX:)Vԇc=:,Uq{qQW¯‡R@='SI3sV""!pWy=H/"1%qm2BP"j̉/A.ilIX$|$w=1EkMVUؼM?r`j$BXBRB9Q'K UAQ<~p2_*j#,f $QߌD9"eJilt$0!FT ֱacu .uׁ88жB- $Cb A4x)Àkl AXC{!<0[?( ]WXQ>dQ 5ʠ$=OY 2Y!_6:E6H!-%d70w))%(Z3:ޠC ) p𱛱=PꍳlWq ` 39F KŨ,*X "^)!ߓFqH3`xb$ 9Be;-*%iE > qG"IIvH + tht~8(S:[/tk5!3Dᇘz ||4hؾ *%a[ p ˍ``tj[ {6*I3eaU Ʋ9,zbӫ = zjIY_s`x58u(tQ$(O-¬ 秈 w"P`~w>Ą8"\Ȍ| A+8 y)#[a˙{:{ |u 1?1x‰?Ihz 47.\A`>h ⇠x<3Y84jP  &ޒU͞qT諀@|ۏyQsQy8DKbZ%ya]3K0BĸpzIxA=X|!Ю# h~M0v4H&mb$ [ Ɍ"3I#ФXx0*HnstXP8 + pmm"!p0ZXY0p ok$@ ypvXz7| (z )a~/$ *+2\&jZ=S/+˩niF@pDd>BQ!8hvY9Jt  |읇KpB@;`0mFz~8hvJ3"sV?+!'H1&91C:lجaJn KRi%0öYm.f X`鹦x#sh4|.GT-lqO*NJt Uu0H+H̍y8t sQN[|̊PĴ#hK;RHʝ9eo]ch S# X yQᤒͭO-%1*a X #л^f( ܎;NYZ`ژ 1 |;z\͇P0yM]B]3E ډgRm%1TJR|*BK&\qs #ʈ{P:Y73.$О i_α%ˣ3eL-qf4`0N(@(yWueô= x7)gzSC0+&w yYrD<-, FKnÂCDCe9=K`3Y$HHPIhIt5.b 88'zWpc]RC2 -iFҎJ.He6J (&(.hzCPH" l?hw]@x8SHA@ @ 4]ъO h3q  ,Td_ *fLKy aaĐ q<{8B:YQb[ Қث4U\ 2|y=@R K ! s%- 9]6"8Xsw .rV G_xw}"WɎySt_ޓb k `ɨ{Ok0w,h 8jCLR.?G^؟F, , .ZJB6 REH '&P$6ץ (2:\ݦ :S:5µi8NܻƺPdNcrEDSֱYZJ嵔4`Ї;! ~ ~ P|>oG/(ߏ0?w }a0X@"u:{Ɣ& GiWuj7=~_8nX!0$ e~lH ~_lpիox  8Z+DYe{:@ne|¾ɦ4 2]^X|Xܽ^@Yp`pB}<fwߛ4{ NCm N JX}^n1k~I5`n2 ˊg'a+.¼! f6o`24. }2!(2(-mr\ygV쵀4#`bzHRDqLj2,޸B1x@Hj|ƒt+ Vc1"X$HY80 )o$;'sa`Rsh{ly{`E$}*}벳csX2 H3+TjnzSZ+f@a蓀.4WO!"pf U#,\JI@@Gy~- *-џb;rڲivZ@*.̝1h?@%N}5I9!wt?O8?G@8rCQ;(+@$EH~=rs,l*| G έ"#!Gb&Xg')?.<t(z?@S }.Gu7 L|=Ǩ|Vg|}P2)jۺHd@6 )n-u{c2`a[>lt/ :Q!q6Cw ~>IG)9hJdF8B~˸- /UҒx {"I`(q<^iM,@r>  >"s\giMY?Ө: {%%Acd_%"\_Zp!$יdb_1x_ԌB"?G8~qI3"@y25 #)Iiz&QXb9A%ĤL Egyp~QN 0$G c"@`}0 :5㦻i_*pܠxɡ22H0o4|Ґw4V Etf`F0..:v`Wq#F;^!!+dYtOģHN:CTL? %PcfB'N8  =P"CWۋCěb \5.`V\Gx`Po9]`"Nܦ"H.A ;%NF@M@]DPEU[datDz0c &^q<eA@ J;y#ez? N>`DA&v/! ժUJtƒ{V ^@s0ԡ2.G`a/ ɒҝ@׋bO[6ФۚhV4eG>̓#l€8x0lQxNT57c>cw dRS?8޼0 `N@$ZqA6< :x%T J0Ѡ4Fأc63^RQCz0ټRBCdj}!+9ML)KBTla`'*J&FI'*GzL\Dg{-db"Ԧ*zɪ=8:J:j}`H')1;$jgIj&w+9pXQ"HdW-t/X?#T>'<601Ey3[+FzA$bVfN14:6[e+lr6 {aF89`6j0,27T ~kANJڄ8.f3I:rwt#4.0$4gd:̹u{X *{lH93"/LE#g Dp6 -;,lFDH^9,IZN2EBXQ0z,"x 4;iJ+)c"f&V v2̦J`ϧ\x6c%"6$ l%T`0^+"&-oF2:-ژf l\BT+2!$> z+h. L{bl萕#CvlL7jڟ Ij j*Sv %JnǶhNO'h!I$<`zacfJg`?^ ꒗lF9j^ H|8Ȁ,/ި(bg9Dwjv gbj$(1 P^" ɀ:KcÆg0`LaܫHPbg̊2BB4`+30.,\cv Tp*B A\cEvPN0@4$'anth@j+!2 j+OX.Mh1N<9ih3Q/B^7"*o@&$<"5B$;c)^6aB`.PQa^-P#ʘs"'k /A,`bJT',~o5b,HEE<#EfDt'RbeL-aYkAY k! r.i,dد*Ns^q0bTn"!QFgduc4@+h2$/*#t"D(xHNc%^]C|Dxx@K6JkPe'-OA#!I8ga$AgAB_cdEz8fq7%93u Ntf2^~m3 ;D^O8½mC`m!Cv?[j/sl?1uxq vG#, B `"{TP#ZGZGbs@l'DjcB,.yoj-er9t+sEcG ^f?W:%*(@H7qCS)-L j"2Jg3 ~Q c9W&*b#H'W7m O -s19÷Ea&H xva! zۙ $ 4`<`:*h@0@ Fbp 4#N9j4OS;҈$u%bt7w@C9IP8*hzu <Ve, !:~i:Bh#&2$FzCZG,6 m C vi^|[$ $#Ĝ,CZcrh#:vD+/2;--*эdtR' .hQ^{i20rp$'3DBG7?J;}؅Z1OcVca^_ )J7Gi&nxꢧ\&>dfdFF$)IV0gd.0AY[aUŤLPc 4 0p:A!l)aX뉓bgFRd$;O8qOc0S5js8c)tjoSm D.9<JlcXOB/ɤ,+(aʯ^+!>dV4I37n,b렐&:uGG_hC&#X. u龜_IB}ulp%\yz5`i2 m"Xω(-%~^&%}GKyv&TiHF3AԻ`8`a};Q>@ b^HoM"4}6.=wy$"Eb׼"O08,oW4dlbqi) d s?*ܩ,Gvk4,w |aé{)SI+ϵiZ:v$-Pln &bN"cFS?ND[M+ ?ߏ O0?Ⱘ"/d0ť hA9b H B+BRRAI\U@, }?"HN&@04),XWjI@P$>}&SHLG1~Eu >` ?3( KX "t6|kOUh9@+N/0> #p6CA8 pLw'1|dz uQa5jxG{} H7([08 ֣/J-ʶ! *8(,},:̠ {LL` gzG=H{u2`.@8)l| H+y|J̫˳0(BgŖ"ɣlC{g~GҼՀyxEH+dL +`H3,% s po1:ӱt @t:a\@d 9 _#bGrd $Q.$o?U{)" ?#bM"Mz"bLRca8" R3-lhFT_K3̄Β:T[#+% Tc {zPc|04YX-EOɋ)@0vѰ>@cyQ` 20P !3AL),;#[DF=~F!^lYC:%ԍ4>' @(Wf#McN@u0vWbbz>/ @"c2HH)~X|>CPdQY(2K }a.$ǜ%aE%ԗ ktɏlIetg}o4Ø+6 5֔SjʰdHE&1e6؁"BMg)fh A|m;($i]cR)LR4E<ɢ[dcvD` >CN6p!F$k `1G|='x`Cd 8 X,m+F@q.ΪutR%U-)hB {ґM"I(B.⡛TG4G눶kp߸~a 9>CS%T@`t *;( h>G=4?72E^4 a8=Hc"wgj4j ]P4w,8byz AC=PFb()N(E(@Pc]RIڵp"]ʻ!'kC1awѼ\9WMS"g%;95L߃;+^nߩ{B"&T<:<|T9X`I!t7fD(;kff]ed(N}t**1FuǙQgtSJ(@Q DǕm5:Mx{x14LحEO,LLEQQu#i} 0}hf# +Hf<y @ZgULjITYY&< Dӄ T$}!{H,I%,@RgI.dL-h(q@ Av&CcR 8 Ћ+"t8 9;"=>#D8o(wP {辙[7 xw)Pe8ڬiqX6Hz 0xCax|)v q$aK+*+ .3|3=0A;ğkc!Z/ ˥7`ҙf~S ((2ЃP-c pZ 1,Q.sF hbMB"\9 |)ڧXC"H)#Yo Q>8*X <y Rr` } uqy$-鋔<;z =Kě x x &h Iݦ fó z8)ht&Δa?H H)5!95,  891ix⸓x͍ .$ˑ"B@Qp.)Y[ܫ \)P.>%|pB|+20`k8r(r';{o(bmpoPY Z`Bŝm@ iP7Aۅ䓱HpH xjq<)Y+3BV6S%!M G!g |)} x ze6pО+ >Kxœ2 s+ nzPx`q&PQ'qEغPpd-p8k3, @\p ۢ @!$a⊾ѧ A1L7J"\Ʀ8Qz9@jHCA@67€8xpu)#kx>k@T&׌b 8خu` #B("k ʧyE*B(Lf> R0#wy0X0;'i.͈>! cۤ yZ|QO92>" ˧t\(WK( |8?>h z cu,^*qhoP!C!qyyDF)k` ޙq'Q- 0 րi!yUR)Y=z4BY4 ؼZ[ Pv@|;#A#Apt8A+1/0/nq_‹C?z%K;h}AI DÜ znK~JP) A`p1h 1|t>yy(, cB+@ pZ8Svh6`UtP6/@umwje aW֊K5*08 ȉRS*4I ˶H0k0xzK +-y ]PيzHz:z!X" h j{ '~E ],No 䎈uh (u~Ԇ#{z쩳XlԈ@{+2 llK̰E8˜ )͙`#u@u; PZx=@ٞ@_oDݙ#BX|)GBo {"pB 8xKj8R¬%jd+ =dd2 X䞠c _Ȇ!BG!YT C/@ 0,q WQ"Xp!ܧg2S&g k \  e輌vQ^j I:xՌh5!،X{"(} 'JɒQ' 0 Ȕ(3M+!$\JTCR. },3w] 5=X#b(-hHe u3Y9iKv8 ]4ٿ#2Do ؗLaX h n.l9ÚV(ne 9EGYyةԉQ8[\07qJ,]p aG2o 3~@ ;&Τ?u @4 f H%l<.O '  4ݲP( uiИEm?BJo%^6}^?k:ġ7ޗu>72( [)t-"_`ĺW ;yT_@vxtn}xk0 7(>Op=oK`  A": gD@GAwbi:H!! R 'J()2JHh `zgZc`ix'|XglhzΓ9N{#8 *hZJ@;"IF=(";>I$TzmҖۯF*/* 3W–7nJ۪6ayk ׋#}Jfs }Xȑ캝ϕ0`J6{ ԑgQ&SBM!D_In$j &Z-5/2h*;k?룶@\d|?. O"q4ݷzg "( 'H4< RMy"9y8*II8 }d3t۸^Sz4ϊ&ɺ(F(8B6>N Ӡ@& '8\\͜XO-0,f{'뚩 슬rKӨ)@ H Я6N_)#*:\u(⤇!gkǠ$G $B(\}0 9C N5REtp !#,C^CA*DВ.@#(uY @5+2xHFN;>7܏Jr{,=2Hq4 O)THqe84`eDS,$WZ;, Ē@!lcӍRoG}ҁA,@$b a(lz}%΁͕ @T 38P XD[6D職FT Qu1Oxα[b? E>) Dؐk ,M0xCc$QH J&5Ja -9ߛDxSʳaQ>s΃(U5E'%n}R*aRNjEO)6UnPsxXCoXJG1lXCڝ"󋎥ҾRSjq8r£X K A< SNj jlieQ*DSIF W(EAJj*IV@$!fgG3 ajfę$(٨1xb>CXǸ`d Q<xAH0<b\b?.G=^);*'BH<{`H(Nd寲b[ʑhgІ6P9=G'K[r2<#p_aTNp.z?#dOgӥdw#(]c uo6J6b]S_-]GxoJۆ ?FPci&F%`C^o*YyzYX~9i/N-,欓;` BPe_Ub:VJw{|yݚ,%nCBܵyɥߩ-'w@KqnN(\${@Y ^DNoL>k5 cQÉvp =@, H D`@c@ Pv=`liQN}b&<(37K(L4{$#|q~ihFrT||̎چ zvo~K`tͯ5TƀeΫ8wZ#v Ȣg*$Gn">|ffG@KAZ7L.B:d %$Ȧ9$v,)d$,mzFMB&ZxOojYfff8-V99霦b i2I9re>i0(\tFd$o+k F'@ꔍZ/FNRpOL#Nf |>hjxk n<)B)<Ȃtv+RB"D܊^¢\+&r+f,4RMЊ"A/ F`(`LhBBE!C@(>C%>O^ob#w$壤w k, ]ȇvx-6zl€9V.!ʐDx2`#F$# @i"P L!qP) ,@,! R@Dl,,B AMV()XDdl&tbԴh@ ,%ORۄ@s Hm(RL'33ptH ,nd78*eF^>áALlj} ƺgm@E%Z8|bh ":o^ (j!5 =8gJjvF3'.'..cv(LL'Hf\(ShU Ęa.N&%PQSxl$"*-./wexO>n'4g"*sZ@##KWĚ\,%'RgQ\"&hh YOH@"xn9nFp$USr^'v!/69KRFck'Ȩ%qSe1¥D!ޏI<6vrGyRpX'Nfbe/fW VJBE8kԨ\&&B-.HC.!IaJ̮(F|;]nǶ%4K!v~+B PYv-B#Xg@"t:LMA)CFJS9 *Q3HnP*MiV>Nrd`ؔd4(mR7Hi!.A@""Ҥѓ sLGa5xH¢V΀$~&S4ZCb'2Œצ"cjΫ@(cU5VSjנѨo}TD"2O&m0No4B'ZPP冪^J6¬BLրf! 4G埩/yg#M !=g@*H3M4)<.6t*">` %v(]V &n0譐K#wC6)lXBLAEo4:e3+Q7Zomۂj1ƛnP6uzx|BaC(G+Լ3,X$"k"dvD;b!/M0XRDEF)j (Ơ IJ.:RoJIX@6ݒwwѶc˔"9nxFp>L, z<#x FCR ,udzU}iA`UO=`OE`KuҴLdBF{jᄞixA9xvf?Z2znu[4PxZey |\N:5~j'GwX"5ħHZᅝ4j;,܆7QbF0"uY+Z> A&$ev8C#pC5x 0ss4Eބx&x,QPe8,v؉7䓞t& 2AW|F:"r & BЄ+]h*l9S7L<|#noTw }nEخL(QPl]T(팬\t||us b&+'T`ޫђ;-:0{I rϘ&bne"ʑ`Rg47+x&xX2 N$J~ 2өp❁]ߢ! ;Bdβ ;9bHTY aM<\ @ aF B.Wt78!OaJxY΄#2u5e#fh:Oj%Z'÷WB0N&BK,)8 FCh=ƢN(/1".?-bCCT!4"d +IOv 0yMkB7??_ {B@8$AW{b`PhAx^`,cU"~T^~j`'~?*cT_LXȤ  }R`EG[#?%G(Zk7fFTwڮ0i_P iV ܀k/_._Ͼ/~A@3j;@?[Y<`(z!}g8.[H:,R "Рހ8w{} c] (N(& MZ_2j#kL*11LF)MK,Cj++mf jpπQy)σ`pGͱƽ/,  @%nURSH/R,B@@1㏅R*KIԴc̔]D7E|`[Dz#UkiX6: BRLЍ+jHByCU-a $SG۴0 ұZ.ʥE#H-8BUWv #yc5 ;@4yHĄ贶k1o|֌Zcvh`$zq$}8BPWSo8.bAcxHÐi >S\׮C(!hKQ1\[I(`< ? XkQl?G:h3R? X B# Eu;`-ExI ,Bg@_)) CĪQcI/CHFIix/r@{ $$zGBJ" (>`Lr^(}҆pR#j-;dx(%"й-xG( 00w]hdҮw8#uɺZ|-:䘎F0WXR//r\pQHGh[e2U eh+>Q1!P"?Z!d QQe͒"uqS+rK* $m,gu d>I$ =!HC弉ixCz@ouk਒0 "hQmFࡍR G,䓤d5 \=lix7Џm%ŗUڗ&1c׺DzAcrhJ*)Fr05@l1/WޚF0Y5x?/(mF?$}`>=c+e6d7w"?$I /J6d92F#H @1#IAF$> %0\` f)uCm:s Sй+Twyn<)ԡB_Qy/KԨzmGA*MK;^$fΘuD 3-zgwVt^FDG\y A3d`A>(  _erp0z@D xԿN󋲱Ō6wHݴln:g假A[HdИZaI[3ChѮه\GpD~ju\v^)g{@-d]2?y"PzMѼ/2+*;󴡙z5 4 2.B*a AyA| b@Oh$aj6a,|$Ț }9Pz#it4[[k Q7rٖ0(p[}Alvyx)Pz8B{Ps 8 uzbJLB kP# 9,PCxDN'- ({l@}z0{ ހ)V'D5(dqppyi..(XJx4ᅒ@(X` Hx2a`X ` @hX@~**Fp&z%@Q%-I Tqbڱ"84"K8x(Y!/7yM/18i,]I,(q{X:U7)Y(h05X 03 yȼؒ9R;}a.-Ɍ5qΒۡ(ӆbIј{ҍ0ӌIP 0𤸩NܚD-'1vA1ux堸P`X-Bbz 1E5 @ش)0:Ф)+ X2 +>\_ˌ੸E1K8 )Nȋ@ـ+gȈAfI=Az +!hk  $fxÞH 0ڛ,1"t( }7 ہ0o8xX zL *PH98|p]JxkEB3͢y  QQ(><"ӱ4(ZK"0"1(:q3PBb(!*ALY:*ȤNȐ%Hɍ7 敉]_HQ>p, Zp3 "(+ @־\ ։f(1ۘ#$i۽Pa0π`H/<ǘ4PL#nj@ɋvH 3e4[@6sӍ9(H"C2dM\^9ky".8F"Ƕڪ乏΃4; 5P!ÛsfB v|3akH$@関29$= (X{867K-;z"][B 2ÇnI(|8YK Ldҋ9(pIMF1 \ L۝a p־?RP2&5g8Kz-NY'i>1B9F zlp/)eT/ LHxt ${}#$0 +8v`$">eVVX 6&e&A!`Cț H00r@Z݋{a{Y2*-ЏY0Zz0>՘Nʩ*HYx nigо8v# 1}'Dy +Ԟp4b0Hq]10̲ǸıHzt,Ӑ8*t RRYPQ hqe]{"#21ȵ++J \$`P;x NP97Rшh;ĞϘp倂_Yҟ+> $-? ! CL-@ ?a/4JC(cH|a eh$OONdR7K`S AP4Ww_pP nGT+-~l~E/Ԙ5A_K/nN  | H8E*nAf#謚cd9u65f(P2,b>~t.o&jXS}>^=ZB ($+>(HH*`‌ ""^"h* X&wR1  gs9uGI/0(# ZB0-Z䷵δh@b' +#hz6(H:.'hJ <إ~+k|$H"82mdB 8/4Sv IZ[6Ӓ<( Kb~%M<)*IR,8)| ĤGB-( |& p"oc2ڣ-B<~0ѣ _USh#g / }7)\0>Rk:bzW]3:ZB)z@;d %*Ƕ(R) ?V/92$k8hֶN3}]X M i1Y 3,%-gy`MI}$ȑs[1ڸUā/z+)`#|i )`?8" n:@*N7 శ $d.K8/ x @:CxZ%Y:'R+:(EYFX"%-li"4{Ei|ZW nAF Z j'2:Tf䨅\?-b|83iY"̑#$p :#n|@s8A V&ĞxPD&RD4x4c&et7J rl'8 FJ'UnIhҢ!@ ct>tmӑ KH!D2W_2Њ==D"A ̷d9n+J+ iGFtB4pIN#|Z-?ry5j't}s+*]R`vwK#ԫ.@`R|heyܻ>uP=0$%b(Jb,& c&OԷ$4@d@gTa m 2Nfeo*A'!eg=  Dx((P ,P!`h`tq"!i"V.Ϋ|8 $4H(n.ּ4">$k)k!$+PM:Du*`֛D$(f>%h1 lKK:.pt"@B:BP>!< zF .@%ξ H'l$|B_rGKI) &1׆y J$ gl>"bǵ&hÀJ)ΔھF2WNz,IDčQ&$&"$;"$ hnYtM(&Gn(TcE':-`jB0lIG+'-(6L/8d]x |b'bZ0f@f 1 d3&Vzh\;p##(O8 q ! $8Eʺnr`hf&$%LA{ Rh" N"l4DREdZEF$fAAaN! &%8nc$2d XgHSq$PQS,+0 6e)n"ItZOHY ! ĒSŌM8 @] @͢ݤ0CoS87l$ދ>#4=n( 5 ޥNnjUrQ*LeJ@e&&(!R;fL"@hVic4:ˬn+t&tb, `O&wb{)Vf0p!<4%Ϋ.` $Q2@ ,ڱk402">" l)T"SUr꺍HIUphX\xfVAiHAB(bE[Y1ξc0!{]aKqF@0:)Zl4"a qHbOƪ+vɯ+ԤaB/D&m-tVL2`\ ο@Qk8FaN@G"Q%:J) ($Xh=-jy&R`kbYflb@\ <)i.Obb"Rqxaget»6/\%8Ct i#b#z-^VAJB9 ĨM5PB2I?YH)<6bFNB?"h涤{$+% $fR|4#h +O~5bB\.&w BG " ;C&bђ30b"rbH'bD%wCbt)hMB(^ףּlέlKWMdBlJ@Fs2EGZb9j#z+ws6Ŧ=Iu7v3$킆|VTxm20V[Y]Vq>5N GM&gQ:N&ʂ2jNh30'8Aa0NO8ePv)t `"`gIuR\*t;mOX..s+(FBntYUh"4*O +!f,&ĿO'2hE->)A<G"^jDRfw @eNKwk!FYg|GjQ 3퐪80K8$^B3GC+?p(0|AV%lE}//x!7A[\(v*fA7p%LZ`4~0@˰PEpʶ*n*MMVL(ʩg{DQ&ԇ4RCɂ#` j| /nxnxNjmE+X𝆹𝅥¥ AW кW0a,Z;BUn4ГUP% W83:ohtgoH o~b' /@ 3hLfr02A?"bH>hTm"EOOEE1u<# ( x?5Y(qT}?v3d9499ƀQK4߳e58ao$;/5j364o 'N}) }(l-$"ؙ$ 0p4I 0IKM9|(")̒T

: gg C(#܏7ёC0y@0(Xv4Vv$ LQlTe{bǁ?" |i"P&0e[(jF$D>xɡjYN(!gN, a bL Jp~J&d't o=ITƕK$)0"$d&DƔuS-lFF9%Bf%}FN ٨ebW8./}f?d0AOC"dGas 08|@4 6*C@h;q9@6|zJT,C/IL`qKcpHT=/msƛ1#ŞL ` CG~T[C$Pb 6\SP1"QR1'Q Z1$):zAmX^jGS9@r='Xj 42GUr"ylj53ħΠH6%%Y39Ep=G%ȵvm Jd6ع53Go2"Ru( }bᕊ)@0aP̣PF)(EѨं #0F,4 BIw?<`~mDt~9v&l$(}%.=Ǡ`)Q@F8Js yⅺf{Imb<$Cz7E2HR*YF*SmY$T?IvU!1%]X uaz'=}"PyFyJ-/Ѱ#63:G1%@VI ke}H1ue*$>@͏1@pzx~8'&h@Ӱ0*!5+\$I7$I )a$DVg+IٝAƒ]OuqaƓ$OsF#NJV& %t ?Gsg\\r|54S4@pX83&HFA=wf쏨 kiohΔR}e'T1\:G~)f6"'_#t[>QC2bax}SėXYnr r1Ȑ+Q1 Kt,Ǒ!a((|qUƉh$1hV@CK@sp@-0.!̈aJ@"qUshSZ2 3iF;8:p|/`s 9 # 8 {`4@CYcz7&qH8  -  q[:8@vz )(1Ҕ8o@yh ûk7/0{3 Rl @ڴ)+1XCp J0ȫ2&{I$)8; ($qAGKF ˑ+;(ꑹ(22BxXA-b*\%>F+4zf"ɣ' zaC ~-$!X p^ [̐zD:A1q;rd(2Qr2{`uYg 7^ c N ![Jh&E<A FZlǨ4r.9Gdx2D  8zы'b1M,xV9@<0湐?YȜ} (MH2(>;`G cAi0 Zq#̸` a-ö͊!>){ h0vPt@vpA s@sbA0n0q@ sl% [*Q'!& @h4NȄpȦJ@P0Hq1q9iۺ .d 02q^4e" K5 XQPz؉ qL- !-+(h @pF,0y1iVɚSH}APk`"ʊ<؇FHY-Y`* \;h0s{⮟КCT!E \OHH.x Cˀ-0T D֔1h&0p  \L$ Յx (! 2~qY\H̬dT8?ed a1Pd+l+ЬD %M4e\&zAA@H( Qe l @H I[x3i+Ry`Yp2'Ա"P,@ 9y 2*0$I ħ0,O_" dh+ըFÀ;ɐArs]'=оC X  Pɽ4 tbcU2uS~vlZź)`q(wP zFq$l2 D(,Su5< Fp .  *} IG9I 9# x?p4r'sHᅷ MTI i$= *t&$&1- !в*}] fXLڏ C㥞 x&P A{y8C >I Ъ&;@ k`S蹇 ¸ |i 1fQр3+?"@&hShݺnB[(j4:7Cx"[9bh,+"듔x%( 5<ɐTX;/tX{_r)7GHyp(x@ 4?`, 4Gד3`Jran3(z8ݹ$<c\@]ܺǕ+={5+FY^6S` Z)3p ԳԒ#!B@:H##3r7ov@ TؐN^O#+9a]f.;BSʾtLbWod ` y-wMxRYȻࣧ4I¢p|C%(HDY>?,)w9a{{LKrlMrBð} 0x'kPC@|"KR!b~a}X('~zhE#w LG@1ތ,9 8 "z&``H /+G(d*SPTZkb?ʻ  *HR *2Ʋ5//&JZ1{3h2}Uc`H{bXe'0&"X @h;, ZM)*Ugnt U(cR!㜕-e%j[+6:o?Zt(*q;.ĜMBlb~!-J-]Jhy oL@8@"qGYt4<'ݺ2 3bWdR>[i{ȥ(?,0n  #[v}nLS'<@c\*f{-rp;jl_ (ELpDs(2(U)|pwH$yphX # @(8\Cǀѯ*]M)쨈PO!n$Wn-PQ Ӧڢ[( -f;"M"2 [bR/%@Q|ng>3*ur?Bpk*QҮI1dΪ t~hl̀g:䌱5"٫=n$="d~iuBZN#Cr@D@L(Erz8}JY/9tx )e)39N{.R q_&Ξ`_V:}ү@@ D ; DR#+n(EGId*-RCgt2S)RTQ:2?kOEj|EhH;m3@\C}kiS=Q2I_n 5Y5,|*QZ+zHw "#_Ձ*FLhO_!Q"ŔAd?&/FPJ dWMO|SR"G}̴u``[fzm@@9l!;Ǡ*:6d <p@\?JI D:25s e (ZKqdӓ1]5AF%"R"?0v$bA&lJz֚NQi%iDcmȭ$.@X0RBt{#X $2g@0<%8y @p*xiǙcygJDs-r5Ĺ2fHJ˿epe:Kͭ;ҒNDNbrK5K8 jY;ce Ů@=&RNIi SRU+^LT@=l GpQY)Ôs\@a;%!NǙגA/KcAp2Mƍܯ DazK8rEW!ule^VX]#8DY G闒>?!,g27O,Z'k)̹.悲8@`m?n$|ys7bD+xP\JI?-x Cв~FhEU ݝEw,ATB*}RU]љ?n'}Nm["Zz.hi•'b%,Cc^NN@)u|Ͷ rFg:Gt:3$cP"qh\2`t ;T;SEL^]A?bl]lܙp&ȖT)'"jp'>(%0ڍDj T!x<~ 9Ih-oL|#`f^iV#Nd6CΕN/*`'$4fEFlb hDx- ‚ i;! ~ɰk>DA_-,,c)G*A,dꛄ?Ǹ`F #jAS)H yerp.*X e#a.$Bp g(`#h0Z%G ,i?Jbz%|ogJ)P!P*P~N֫i*C P|pZ|opb(~+B!)(:b&@ΐ!z#B8 *(ô@6$d`rM("N8Kf >1`&]i)gh+̐XUb*>ePKe T%) e nDVBe0,(aes` !c8P`2!@A+$<&4@i[z"M.\gw )6p"Ф>eH>)+"F|n.8f D؅}oOdJ'8"F"DACAM#U   H 5#l 5*S`a+b|Cpf},@Ĥs/>C`nDv&A.&Ԁ\14*( $ \l@/-BV {;,D-DȦf`)>~cn$8)DI2İbRMj 546z"giObB\Vv`J`3\gVL \)6,_*^ lA!BQ4CbT*!@lC4mBT$c0|HJ}?rRI]&Θ]ȓ"r@ !!IL|%B"s&U𐤂m.H*QpuT\!$`Q| bAAހbLF'g:e#AC]*Xy{SbT_&>N)*!F'%THv&b*f,p?#-Bv]j++ f1%l4;E: vpfV!k0#7 LbC8Ɔȡ 9!Q+.A&&O(f lT`(hI4pZKBye3prc](ʖ((/($[()ޏ}%$D4DfFg-s+6 l}b䢌f p&Ȫp%VeRJ& nECkoJG#gX%C8Seu*pp>BFP˪U4?F`',Ⱦ /p 9.d p'hzLeHkd2_ker GvEʟ (0hv@+8 c,T&J-kW}ʎf&gTb~1Nt]z%nlDR"G]x/~mp`*h'R]-gOhޤzl1Dׂ)m;n\<U0*,rDBlQj-W*H4s+Xi(# kSk5nCea&;" "B&3npdžgXZ3!c\q@)/d Q؀,F]7tFH"|>nC@QQ<Q @Fi D* ! 82`%\e`c"Hl\ ˥pßX#>E0"zFU dVs@ fb` #VI(/fFp+fB{ե:lDbs0B'-V[۬n'&|~vM28;O,Ȳ((!mˠ`fCM~LTB%s$'aQFįĽP-*S ''fK8B#PH(Tf,~KCh|` p:y8)|!]"9jbq3C6'T5s 2F;_qw_wt)$AaA pGa٬b"S.Zgr&h$1k p:PYq 8PN$>0/O}DPii6=*'!8!_VF7 B:(H8CV[\htg-r# —kH]! F(㜡\A p=;@#} d%'~ogeow~PH)uh0L?enԂ0 xX| TN7kb'Ves?/pߏl\ pGn6}>Otޥv^n_iseUMTw˅#4G}iޯkW ,`&{k !xǩ{ 0n퓘 !k^2T 1jD459q q$F4<H"};N) „ 3LlA0 @G.8  P #@4G8CxwD cR GCdg ;MX,H"h@9 *PaF.$bi9(vֈy8ɰ B *#vV &]e=`l#E5@  4\ǏuyN ի#E<  d Q;dfǩ*afBT:@ٞp fS$a<ǡl1,}QiǸ4*a+$0d=ǸhWAs`H U:hS(4pf9ª\Q"$I\0`P4Vfe#yS n>SmJ8I ܹ5 .y&$rR9Sk֘0q@" sF8 0 $*+!/xz#u1?,-X. Fؒjn'`i\ֹbNjUEp 0W^RMtA*֋QE40B-SJ!7VE]*ЩEBH`, +Qk/f%ٙ=àpa t8芏"\_> YI #R^36Ը]K_ =Rd`RG٦ݫC@E+)4H~\4Z.q9S|mIcoe Wk^B¦e"W,ְVU*x:˧t)x4VB|)^ja<\ |(3t.K]e{Fw#кIЩ7r4>_iv dY/x$CRHT!d2Kf$P$;G@h(޶ b5 e@ƣc^U*S6)2$m#%ttI;Dp'MDelƦ5 f!4-).[ Ӗ* ?+1yՋ r&H .X$ $0Ȑ Xx0KۮV :~!Q]ʋ+!}‡=م)b a ڊn x7ʹcH sw 2y0r 0;8PxP{7JT)2] ?Ҁ4qxwx0!Y3AŝXBPŋ6q X(]!H$= מz58@7AP"@!ȁ9*;{% hy,([+ Ťhz/H%7ZƘ`a~h{= H yxvvPi  2^1s/1 H}a]S,x A, yc .4 w ; ƨҴƞLmS2$cܴ 8X%$YrX b16 Pyw{]P`q  śJZGH3B Џ" "jR*-Mcc)ex$²)JRǹ9 8Ȯ\!F!l-~ 豗L >!) yPŇz 'TD{Li>*b& 2  qz&@S4í ;Hݍ! Z!'ʿ`HŖJ=aϸb Ҹ <ϗ C#L9Z_hҦPHKrd , x@@ | iˁÂX {21{!ۊ"4:80Cٿu$黱&K623SdBӛm5U)|?)FYx hry=auJV18eFڗ52QN79 5ɤ1b:FMHBűcܵ""g}Sؐk) |`ȓ\˂+ )R >H 8vXQ\%;BK(yy:"'V P$,[H0{ $ۀڕט$ ફ)b8;@@A)#[I{8$߿ d)*KLQԀʙ I8>t%Ǡl8|JjRCmHx8| N(RА1  Kf&'aߡղ%;4\%z \:Fis5b~vJB89Z08 .HD )%` ri8t}`l * Tj : aZC=eȹT[˝Nd: HYq `$؊UG 5ИRђvn*,Q/ؕgP)xj 8~Kz:尫pڙZ5Κ%ϻD0L+,:Opם*; 0 qp@ Ο5KaT5Wxh{kHS@J埑l?`5ʔY>Q $ ( !`4S®w@ |X 798:8Pp(vI8i49ZrY|7rџ־i}?O_h|%{]Q>eD>" mEre5ۛiH؍gLpȑ,E\gYRڮn- : 1,6}^W"z^"_]64bW>z@+c '(|"g#R1^8 tOO*Z;։&rͽY \xx2(B!6%8{i\ڋPS'pIJ'm#CO h{ů6iS 1hX=IM!JZ-F(%B2( Zȉ8ug8H `kHLKq-zHS>4Irk-Љ /&nJ%VY`Dr/xJ@/Cx%*aA΃vc-,RZ+.RCԜH9#^4||Ga+fe= `nQu- Խ@? |@ Ty̤ǹy-y]'+<2.|VSe&2i" +tNQi" R{78AG1z$À>肁`(zyxs6R @ywh(*1njR~Zm-h a=G5(xӊ)?&2'$j0:4.Q0>"%Nf_'104!Idz{[,SL&>(f YHd}\9;mJ"Wt'hFAqG#G?ظ$A9G(0D̼$$ 8, qYczd?@h )1L[b68N%d{C+b؂Ev+,%Jb,FK Qv"6S=Wg!B}A`Ѝ@e|&e1 icp.)"2?Ǹ;Ly;ı=/1'fKѺTHO 419$IL!XI1$̩(]::,2R#Nx.o,OYJu HFL`Jc$HǖxPg1=`@R x}4  L5_yILOEz`pK/|ajpJ{ѽ6'%&\OL ٬N\+%xfIpPnڨ7Nbd ʺ u"=vHpQ] t i5CB!'%IJ)2ƨ`zMQ/V6`"U`$.!R:>_F0.(¬. @ rhÀa!d A#䨨s(F""c:+t$ gpYbL*#Ȅߥ cm` 1e JfmhI rR$#(K)"/!$΄R~2"Bi&8+$%%C99bgO4@N%e9&Yb@2@4(:m%S.bk>9/&OAā. ,D1c] zBB/{;m8!e@ `"4:&+JX`eO(XgL@x.5BlTEA`1 @ac2Qrh`0ƾF2v>$7hȗڊ69Lol05!K^fV;|\R.tQ"qK.GPF)0g=&Na!i|3y^ҽʬTdffj&].#,~T9Mx GL&zR!@ @- aT8+!ȃ!A%2*A,dN68-(c%2 T^gF8 `SRG<B'4~/~Xx1c,r G$P>7 3W?NBL6oK=x9l"VT$)eHh[v%H T'.@бHb¬ӯ~avJ#6i;Q0Q#آ nNfu%+:pP`&ҷ)AJ@@c60692I7(Gdx*`,0' $gR&(k!&3a,_jH`!8A-D`0@C@0ft(O`] / -!TmMcB\ߕrWη,,(<5SW*R.hgM"-\"n6DΊ.Eo1bzL0lm"<o#h>nB&nV^#RMՀ!tA!ءа0`.L=op 5VWe"j(-k>n(bbet<2#[Z\E9K„!&F-z=D?JfU"P&ɲ8FI(wcXV;d"`N1nfn"v;=,0Fᣡ eXB @(-Б* -/10l4Ì<VAe7 es)pдwOX(-F`. ," 4+cbzQdTFz'qAh%&(6$ [ qrGfl"fLDW4"$Q"'!ChGϧHH" 7~UHۨ@!.Lg,Mkey*EPJOVR^G]QwN໨3]0f+,A) -}MhDꄓ;G,1p/?j3 =Z0<^BD KbdcnAqbR$"l3v&J'BSWI@@2hnd΄}*́ @_:˵188IM*4Y- y:h7:D1hvm/cʼ;O" Tpc-N"2ͳHQ.6X`Z jX`r6P B)D<A9Ed"27^A kҏ s9flfŸ#֜3vgzC-|#F AESԀ,|6L9@kLz#Pz& F6 N8˿(Ȼ*8Ln^] P<@'g>!i1N8(b@ ud t>4}?ɂaf3cfՒ&VÐ!İ$O~\!em;Gid;Jd~X8\6k;.6$utL[ +tPj#Ef S|"6FY+W~4"[)%CLD"S"vA$| H+Bx d[3MėS VسRi f&bl*:ڨ3T emllTXBykhPCtiD>xЖ.Kt%T>gCb%BղqhOlRegeD4.çs34 "H}SH D;٠٥0J q (Ugq"4ĕp0 ~_B_ _Pk%c`8Lq @8<OyGqd͡0H<B_m$S'Z#Y_ rl57:\&`8{ Ie֡4I78?!I@G?߀p DP{~H tx<UJ`PP)vMJP "1@v3jc!~/HC@@L֕iD<."b6`(~}•Ij4"Jz)#(i&H8!ۆǴo0`0OB ;'+й>"BKB(  %bfףz +{ {# r&q')y|,Z6πHzL}E @~'04(ꔉh {Ӡ ,н⬇`p& GUκ<~3z,,R~#(Ы #@!KBCV)#+( G`*|: Yr@ z|`y·q ^&h1V U)t( F?ƒV'́Py_|@@`!{tG-J}2|kƠDIs8OM^0J Jr($`y{G:b"h+- aD"٦}U0%Cϡt:S@'" C񹈀0xS`Z3tx=Nr,|@;G)IqȊԢ:è,L^ď$1fW :zf~yLbH} bK,>`/0<&%Z0{ NyE;eBAI{FM!8 2>Gkz./`":ǰ$=CȲģ%B̒>K,ry*.DOQ05hXM !# ġbG#ӎZ&L1eb1}"Ϙ>OQ˄INa$M+B"#ȀPw'IrFt?QAXpe!=@ b:!=E|$1C`ZB hM|m9sH#Q+(=c*}7U^A1DĴ^p= d*\sL 'n-DT0䰉ED Hp@ZU)\Er]QȐJW"J2!ԌjmJCxp?8 H8c <0x&?fYڞ3 2L)!WM CH!Be+dxMaV=%d p8őAg{ΦY}z L0f A#ѐbeRu2dœ*Vl. 6,&F ORr&8<͸bB[L`^HK?0s |!= `,>&!@%N V(20yuJN*FqRM7 УV.FJK0/tбR<&gd!=%%/p=gќ>߀CuA<Ǣ`9 ߂<P:XRpsm 8Ґh8i&e*ù=qeUp`5$̟+X 1GȶCHҟH?#S68yBUU 8G &x΀Rsz?!,:0qp#y Y!j$Z (1{kʪtAG@nvM"yɤDf8pLI55Z l󋉟,Ixӏ4@OLOhE6nڹ?i4gaG$ByR @U Upˀ2I)fP p @wHDh?*`vdj 0(xx& iňC5|>1fIa˃hᏬr x&Y e @ s)b4.Ϩ a)#AYf,'Շ= B@x @yvX @a8:0χĀq ~ ~ǔ;V:4@}G"^ 1 !9# *?AAc1+'8x, y*BQ&,bAbએK6"L" J z)) ;,(O>Л+ aXyrhqh`x 2*Pp(wP Ic+`8 K0 ںf io \O ,車pzd9ΒY#Hj-?,$Ё ! +a'Ä ᱋)ȡhf{8|zOP9xȀ_  }xu!`ȝb (X툅 f0"PTЋ10h iO-qN?ZPmKPt@U`øAD xw  ˆ ŠJj*{+9Yy%‹D\\(ȒȢ '0}"j)ǾI ,EHdT1- PJ9%q -0K'4&XOx%ԉP4ER39ߞXaևthw+L7 x yhB5 ֘lRz] Mc,Ab ( RɌa&Bb71m I OtPpU sW&ȣ a~ Eߊ8u *Ɣyq0wBPύ8ٰʎӧ ]jHz-ٯls 7DӠ)%r/-Li̲`ܙ݂+\b ِպx' ,M ^$[ fY Q]NKcz(  yps;[ω唸 Ј̀8txvH P|01p7۔ޮ!VY.=5*y00[Hܔ'ɫj} k䣺 cfXƊBB25<\\*y 3>qihF(Hˆ@]JrOJ ^ ۶RLj$%p@MD-{O@|_/& Bs$Q^XɤLqM?6bvj$J9r+zǣ0 cRl 8Rn[6K(6)AZ$$j+C~]0, æxwpr q~vHy@s;o[FsPJȨN<)-!Ьi#J r NB2?""zGb ̱ f8z  B)QETǰ(E W$ȉ C! rS>4 Mo(!xwXʔ, !ڛ1`jJ@W-b.DޑÑCHWB#I s ; ,4>C m+\ٙYý >+!H4ШH8 !~Hp WQaZ)[8RWO2 0 0VYP$ +U8x.gTcLi Ꮱ)-n91bc 9Δ) (܉֐Pe ) &ѩXp| Sꦮ%SY*c9Xʁ> tN8OX+0㚁.+mB2]8hi1 +_ɔ6m YbrƍY &=QrQV̽!&*z rxX b,ǎ-0o8xH ff2ؕ( 8Ѯ>jPa!g,qq!}Yy3>{LMm fue&!t#6[.`L QJ4jHӣBU"7iЀYP~vpʠY'Ҁ|X:ywCa֒t`<^/ & @1?@ @ ߯شhBPoޘ >J o+r4E3NL36crm*xix {@$,{|ZD Xyj7.Z\d)j+NƨH$rE\"(IKH6jڒGߟCӀ0\'w&gh' :ܛGQu"@>ǁqzG  0[OFR# H={G j39-:m""}gȬbƅ@8!D@ 'I~+o&ERAJ|3>ϙ+f{-*ށ. ~Pu|VTʾRf5 K|U S @) Ǒ%Ǒ{)eԊI; Y=绶~G&HR"w&2Ӟ屌2HZCj k&.BK +Pԫ†Z]""ʂ}rqJM$`-ڙ'ӊ"['5Nnv{;pI.Qx Ftg@j}ǰQ+֜B͙v6g0X(X-4%{.0?`ih#|l#2LUH2歪l<yOe*Q){2~JnlcJںc!jr ^`e}$ v>I)C؋=H)$¨CSGk5nBIw\Θ3H"= Y|Q=M3"&gLy_kDye3D4e{3OPaSeF4IF(¾^J5*8bu8o}TL8 Q!-b( + #@X8@ $Xx Vz`}0 : FY3.'죻rK3"0EfaRea(aoe'PULcEMB[ZyKlEI`t>Dk0sQ !#\R}ԤɁR]$,Хiݹ6R0TEd7wµIyJqZʐw:P.'ts.p{(Bbiic <T!NyE4nȴ^jCPAEB ^K9K8'ijb,@Y%&"0I/cO늙1N B;XCe_iypgMH$nL8@>3pS0Pʹ=%0$vK`W͛@z#TY "Kv#kkk $cOCȜVb&j#G˜),"j5ku5"8#k!,^U7;ہN'-ƽּ eyVhSJ(Qf/AJ| =YnMYGEe9(o$I0C|u=1 93˕f>q= DZ%fgciHE3P;M_81sBi^D&9"~(e8 ɑ剫0G"QZRcM™>゛В|~lEyWLDwk 5!٦|=Ie(~&LHo矎I0oll/mu.1d1,*IRYZ(ƽ5`+J̀"oD%$i}⸃Xf"$Kc4:$hgHf/jR,fҎ|8CV"t!en" +h&'&b"b!Ԁ :IhpB"Ix `&8%ήEX1zEu*Pĸ$}+Sp+B>jf%v!&22NL9OX%"3$Ruz4)2 ;ʭ&K&" 6M@ B#}\8^2$+>l"n̘(MɣԩD,@ :@DB$4Bl¦p<2\6^G +`(>T F/4n>Y2KTH`KFJBaCjB(\"fj+^g*+C\5lijDHxD<5# G&ɍuш3O80jF0qEy#ft5_f}()8~2"oB-t``*LkVB" 9eH3̔J)' B1N)phdHNn9r謤Yx52d9:Y9!<~#DP>:zvudDb0#:DU!TrW%*dDSwgC2Ʊ|*+:먴r(@B&A$iB$ s|Q9`-E^ M@d3'+F$SXH^.%ҤquN<.%l}&","`(!\ٌ.q`$!6\:Рb| D>OXZ‡W~hRNR:#W%* -E'"~"5BHey>Ǹp7-G#b^EIBD&%F`B$:g"@*Ljjd"h[y"4%ofJ*U$-~!X չd3aLfZB)ϸj2ϕ8W+Fnc_C.样B<5D!csB_Q.hb⋠ Tdp=js0Tvt}%Esr㈂zAa`(Q{XӇ.ab!!UxHf;>6)2k*2adOJ`9."H 3 JO<1r J Hrba%+\HVɈE@4 Nanx$% a %P)fzZ(>c(V8 bXb@pvđNWŽA u(W,|qR4K 6HHBc-G,kXHC{V$cR/" @6a(QEڐX*#A/a@9_|yM/ƣ_e >uWYu!`"C&!֦>&b./lj|~:~?ojAD%QOkH]%C[lpF0ͦG |8x~E&7pU712VЩI,'4c#3#,6lâ ŏB8ҥ,\-wdeO@"J3qְn$G@ ZjU0%X")/]>FiQœAe_f +>{@wssA!@|">.k|`@?oE}W8lnC.@ JDP+de.*=!^( ?c }htS0z᠚U@1{LŶ8F#PH+~({@@$ cW8|Z Ȱ iٮ;ư }(~G&|i,(Hgy뢱K0MCE9jx;Z$(C-~!@RY=գLԣh$*"`(C 6 PԵ/|5HI 0̛0NTܴ(+BA>"t2L <(0Y}p@ kGN+F0~@ xx@* z8)3!KLNΑ"mM#)Ahpt=葡 Ηr,ܕ"Hls"4P Su҅LOt0Z/#w,@ 峸?M!G7?1pm$ @$0(JL'`<`" 3ZI(߾ֆ{Zl9iRl. z!1:T: h N,iHRC?KQӌ^mD|, Pߩ{9mPb \1@,q8xQ,!:@:fZ%_;"ə/HNx $<zL~AMG %p(PX@CrG& rY^Har\:a5Qm@ &{3AXKQoϥ Q L~)2䓒2x'2d*1ñ⃀@].=GF¥`й5(VMie@4X JcxI@=fyŐg"3epLAqLf#$` (Q~ŵ! :p@p<e#U"_"%D46*``*vq= ö$'t̫N>ft;l[ud tGP5!W4$OF&H0$gPN4))kH /(D~+N"'앀 ~>O``-A.Pf=i 7 VH-*`@dn܍3TEKi !Xqpv!Ods @LSmoȕ!c؊cQ H>T;W=.)cy3(I~ &&Ym.Rb98,(kWzCUNAe׬ 5 ! G5c{nbbxg]d҅,< ak#Ea83@{:Hu!dvdEiNcNɌ>#:A^;/1j1z-\`L+vu5gvkL'>JicW8sXx-x2j\x{a E "+I)Q(0^.S: Ck.K !!7'jl( H̞p1QPp0wP *CRUH(SCL"%(YӾLތh}Յ/RH}: P{.;[X%ןd> Qo"$i()20 ㇠z@^ވ֙ )y|u<-R \"wyڝc凈׀ y:Њ"msPU3 B{"Ɋ8b'QR!Y&X {ؚHXPMWlyR@&TUt4sXP H馣`멓yC&o&H#349 ء(13&Aző*A^ ɐ ƍWFP0T nPKzv4ՍH}(fˌ gD4xHP4(5lHu,ψzP Ԛ!pKy@{H[ IrelXH0ŸR`a3AD2a|3A8@|Iɑr1.>E@ 3D`)5 Ժ< L],?8J ØX|p{e 2. }H;JP$ pz$J 0X2؉9䉿|+ GBH ,STX XyBHR-%Y* [{LΈ9ҡq-ȺH79LITȊ9_lEiջѰK [+2T3 |?@" / z, 4BPZ 3|+Kcd N q. "hH@ӗ /g{&F&ЪXa݋!3lyhi !@z>i~=ш}K5A_z؂,Zذ]͉Lɜa(2aL5%$T~w:[xO!=?B8T.7>:@OQ]UtZ 톍5ZOcMI(H hUcVA鞨q8xXE%,ȼ93MlVC%WӼíX'ƐD*kKK2q8P嬙]fϗSq !Y"v m\μ&frHđ90 Ы;5{8Y-a)ZЁ `uBʘHݢ7Hōq<ZH  *nȟy3&)(!1h|j߀|rՌAן= $4ȡ) <""Y\e2*kD5NjfE*[-Mjs2Av>#Mq!Co 8AAO's)T= EY1DsY@0Fh0~S w(q/=)JaU [퀈xPs@U }s Qoa2סq!9:C lOb,J<BUxzb0T8kpx!= z(}ژKbF. <#3j7ܳ0sfk )Q aPYo^8ns# poP| zHr"%_ _φH,U{) ZZ` rB,;x(_~#mŨ\ b0ґ\T!Q{FiRۅ%0 C@0@({O?6C_@ Ha@o ߠ(XB͗}~?20" ǀO7IhsBP6p/KD* ݆PʬP 3/0z IA@# Bٛ qx.(_/B!y.UY@P%m @ |pSoc9|?( }b -hi G,Q}vЯ 7*ݮi! +T$J % Gĉ#NFQ:h:~H,`Q  "/`'#N).zrd}' 0P=E<^糎-(*@T蟡8yAGX&~d\ Ǭt3O 5rD[-jܹV$B9YO(\p,pscb˥c/YCh&5|4'@0tփq]DXM!p-f}̳ƿ/Ie3rc # $`g@z{P6y<} S@!|`&}ثH{D-Py`^rzc(P:5g&X_VQJA;t}MKt|E6"䖪)D*N0c8IW0 ~D|E!/(xM~}ybͥV[d!q! DqId^qnOKWl֌KKk `0@XoaA/p̉W\CX *c~" 0x>@9:"xs0Vhp֬S{Dh˥>W? {x\{XN@ :`ݙP0xt 8(2Q< d'&|ub\"rZtDLjVpb4Iw2C`-/Ǐ=R^E虓7cz6|`{E&B ipX4\α@)6dKAA 2ّL,Ѓ=-F)dq#h6(BK>A &HА Xom$~q>g0׸MȠes"TJv6 Y5Zo#gxMq?.dICWEF)=BuRbA!3Md¬ƓDD$_:_K)@{d&ZV{(V7JF0c&@%ک=5vA:` Ez,&0WR%!=\Ւ+ͤn ?3|"*S0*$%6mԉ5R֊ \q3.GDv3`'IIU 7JD՗4CYqXtbKIH``rXUae ZQs2]zx!JQ@*H XcSPP9TM< B'x[B8|jJݝ!.q"|b>_bbq>QגI r#p6r轓Y0 R*(p=hNDLPHq:uLabqٜ0öde|BZ0vc(0_/SŴOn4dޥ%qe ,XrNbK,H0r>t7kVKG?.WMf$Q 5O24B8b$i ^r< s+Z9-"4f$LyhgE6˰DlMd,LpF0`.LIzrf'Tքb'bB$8g^''J4YBnft1iJc_"sTH#YJm,J&dH"8'm?DG|[.4c4/tff4"x+tdl6#$)x& |M3WN/n=ﰐy=n( T' 0D!䘝$DjWAjb.,\<%#J6.f:OosD dMrElEDOJ"@&>`qD=*b$bi Al,` AZ?dJh6kJ૨xg,lGNdNItaPU%f`-Jch?D\+vLΒ/LZ*qrBDAO-W6ORd]i YE2x6,cĢsEIcCo5D(Eh$b7j "li(q?f#*doE# W V!t$,zf8r1{4;D+".Hnd<'J B$`Dq(3b*)oVN-|C`.,F^@Ĥ!a쁣hr' ֵ Fz:BЗ>DPo?K$8ʠ3¼2?HntS_ǎzQM_5_N'dTq^jN7zfXRiZ)iH8<'p#3ÄK#E('D'pLD-C*CE$B;͘YbHCf1[Den7"bؐ2-9{m &Yd%T8&Y}ykYٿE՗9_}?9BY坖Xw(x9g,wY͠Yi˟}yc9T 9ϛ'VsFh`)ZG,Kl8z5/ѫ+Zi:bk9a9ӥTi뤕AZ{ڏZڟZگZڿìZǬˬϛ  &  )=>^ ?.  8 ףzTLff&(\ PW9Ttiff-0.9.0/tests/benches/kodim07-lzw.tif000064400000000000000000023477321046102023000161450ustar 00000000000000II* @$ BaPd6DbQ8V-FcQv=HdR9$M'JeRd]/LfS9m7NgS}?PhT:%311ʈFjԢ*f eXlЛDt;mRu׊F}`cW]EbqXcJej g. iNTyMVki?#Rl(ϟ"{*Z?j>CsL>#Mn\Gk36!` `@~#߽lAPc "|"4C+/6-~hLRh[A\b!&í;s#5qK1<[/)r.!@M$SJ".-4 ++2R!W32W>!SE,V~P:!'$NP[([RȄLmP5r=J3-RM5\AKm,WNDd\,(9G143® -@X B-ZsidcJ r%sl2RҌAPS=y\UY ! D[j5@Ш90X s<Ǡu`QGm$iK8z4 *XAI~A,:`Q X8Q:?Gpr>US{(`V7x9GQ>x$xn ;hcp X'x-bG@8ݝVYeY dk[Rɟ"qpjAAIo [@rnԹ90Dl[ӊLb) <}(ԖlxͳA kSmWhQRY;QRJx&6X~3Ǐ UY[ "+O({N y%TR!75- SC(QV@+w8T=݂RD/ʳ݂4 1DxIBPem7Z0e$E36 Ԟ@ Z#TQr*g:fR_ëZxOFN$=) üZE.R g*O*NF%ngBM$B#Z8I|֩VģtL^,PFJPŒFkΥhjRQ@9O#*N |)OɌEijgƉ b*, @ D*]H*oHz%뾮H\W,nvtt? Bw)~xB4(1*0HM~fpe*X:LajPRK4VL&Tj(6I֮o_ʼM̾pp9R+.OF 퐌P^CCk:DT 63 @}ړqzN3N$P̠m Lk bpŸkx#.4K~k`,-^ :A ),2 @ `&  Re>AAɀj` J:'N-% gHx@`b24tq  oJ<ЏVG @  @j4A؁@&4A $r ( ȕ6k aܾy!!hzƠ@ @. r6 a6@,B.~$e\`IڙӞ`\#01H;UNt7W%,$JVLp=ø|$jK(^Fʔ}0✹9ybf@(WʾAq BP]K@pe\j|T)nⰊ΋,텺|'̪N"tdм4(TOHzB긆c2Nd @xB █inJ],qdH^J8."4?QO+bk,q:iFi4jH*/Ґj},aTo"?CrWRk|<ՔL*/pU6tnHE*djOREor XjLVxjp)J@e|1k FHJcҝ';*wܫIG КȮU c 9b;)u܇R^Qĥ=H SuIK%tZӤq,kd7ƬȜ(3gAa!a!  t x<`>}ALL,  v"$AuAgHAIkȱ A=tZ@PZ!pelFA rh(|a#d:!#j{T9gA!4 F9N7LZô/0n($! raAMM`tr)"80 M).@($Vh)HQY=_@r5? X48pF>*BHP7sθx/f2 Sد.րC?8IR(C*AD`JYO`4kZ+pFL:nΗ>UDq'줨 O/?ew;12[U4ʤ!*4$1YhMk)>e+mGQBA]].≂%*3nl?7' {;uIP4R#O%"4/e^kryN'"zVqDR:*̧lI|IblD/%ڵh+g>M~ = 7r=ǕBnaJ4J()~nFh3Ljh^y38Ei*?J q:*"iHkrd L+ƖuNPqjbTQVH@ZCtMoct/^gMKOQC]F)o5pVqZԈQJ$1'G {#:dj8*kRUU9;ƀ zRԳ|yVA1ieӶgPS{@EII⫊F^k(}9.o(&{J,ftο!paSZS4@y`s7 ,3baaz>Aq2ڇj!q!AR^NF\+rR[zrj :JP{$>pҡAaw,MD{D@BA[!~S #HPRa@2(A+y!(@, D45 a,Cpzd )VZgHۋf8LK6TJW֖RTE)/cb.f  6ԙDfư(jBy.KcV&2?tP̫/Y KSƃA**dX:EgkQ6 怉Zh&tk[eU/K*6{ gHZvdIŒgVQjTď10/plo>/܌49׷ eڇuAM[n^tZ&6ifF6+K ȝV8|, >c{b T-8NJjހdH l6YW,-1DHZm;%H^qf onQ!J@v M1ğvW;X"-JspT;pi/1*Z1x6cVZ&W-s7j6àun?L0E)>s0}>[Kp !|FnSk Jd1n,+ep@ۋ<>\NW {>^@$0"}& p79{`'9wgy(Av'088N@@Z wǁmGt ``}(I#tI ѢGĪ|f~ʐہiI3Icp}6s}h p q h" @R|K` z1w $;'{gނk xzz0F8 aGD:(6g2 *|`o!uh wBHٞ.@L|"Ϡ6h;}(#ȴ $㳈2⢷3} M=j3j5!2* :.‒"*W$ ""6R H+=38wP.* kJR%l*z~i~ʾl&{!yjًx$}qg6Fմ+""jʵ*"}~/*r"8f݆ɂ.P7KJCzj[z(~IV-A''fV7Rs`ˁN>&: [(1WiU(,,sЊK c.`zAL sѼWB[ö)5-il`~u=4(rL֗h )X{d 2ψy3FЖ8wL1(5g7&PR, P=䌦4]&%|'Q O~ Kɚ3LG}h+N3 ;la sDRʛ2-r Wwp0DA)e$y&!CBRqnJ^?Vb/ 'fnIN|`OLa+2q TR 1-Bb9pȘy"P}PTq Tr]S|[/7 !'qԈ8HHxdV34c8(My+nEoLl05QL8 {7\c"h @ Nvbp@!q՞`(dGx^(ӧ6,X,0 WPgtVhL @|1=%Q8ʖ.5)YT 4܀Eh `0xHjvF'S;*X@2hP{@#)~ء9Ր[F\2_Zw:V鑆FPHm-.-9Rv%+-o!*Æ]0Mٙ2hY׆KQ}dp+@KDLE#h\ȳljg>J%>[щp:jjK ; L=a87Ғ 4޻iB3Dzo)`q0pfSP 3Ȉ{xxyVBʘӝK xxkz|` `+-v Hz}000bć%܌ 0ٽq6X{͏d <\#؉ؘ|#|4yGu~ }d9xĐtMB\Qx{`E0H @vxs0szꚗ) A\,<Dx (H #o0t@wFFphQ'ZW$$z>P'j 5Y)<ۈXI0 +IHd ;Pܜ(IIC jT9G?.7<&e Qb}R]=H ,6KȅTp^^ 6`Z"aK> Tk`L,Px<% S` >IIL"H&F=Q0=Pk% 0~H$=! c!2Ҹ:af| L*u$!=x_t@cAz!@m?]%d,B[G_86eT) 1ajƘ}P kp s } b@,2{x| XʄRJph0np`yp @ZH *qsxw zKz bXzڰ{Ni: ֓Qa3  `yHhYh~Ul:6{z[Xw\p P.WXu0t YJASt(Y+,ЀxD6Pnr5h{z2zNdOiI iFu]3؃PfeT& {^oq`2 8fǃVPn1R;| KG62G~0n5sX'KS&QPE[B$`+ZȐf4(&I'cRo1b1Ep|/R Nj X1cj_6S8ݜ% `6|6`ұ8Ј%ԎY ULi Hc[{sM7tcm+Բ&|wD"V!eౕbxhu5D=rd%'˪ \99]B X.da}aXM!`6@77, NܱWN]E<KhM5FxGV- ҡ?1k!J7Nߵq0ӦHIpޑ"sRN1QZ' M3\u;'_D ( A O@ x_X0 ¯R}>Ϸe~D ;Ejvpel7[QW DY~@`(8 P xL5#@/wy6p< W~=`<0=YW*NKp=O'ۿp0`0  zXp: 0lgu "@ p*|Ҳ2D&,t.2 !ZDЛ! "{LjڶP(,Ĩr!#BkT2/1 *!(_+5 ȴ0 <* $ʟ{22L+R+(41J|հIBm[)#2 Dg_2Ԛ*}4W0#lͰkhM53U0^wQ{T  ݛX{ ӚA9Me:f!+y S#!`'\ P| Qǣj1WO26}K cT 90QR!UxG|a;1%Ɍ@RߣӣqH#rdge+򬑞]k;?W,GΉ'{jvtf뵘7ct$hYcl>:$VU*TUPBҘb8KkY|"R|1ReW+oђ4XKfnu7 2WT\ĉ6K IkAen ͻR$ 9fpHc֡cvp%wH"rE0egN"y- y \!#Y$z @^#v{,#[^x8q6a ta VYfMK-7p p  b0jL@Ƶ Hp.>`8zWLUSd6ZR; ҩnHyAp( yN ~;xcpxք ~#Ph@<=h< @4PBln:;Ђ"HT1efSL (f>N+[.'bġ$ 0QbKIa:+z,AT"U{mʧwEQyt >%׬ܝjQ$UWv;uB!{ g"|0&8тmvιXXS+Ms;3DW5"VHsaC[y>Ec2hr!%`? <,yFJUGxԒՁ1Lu^+ۜcLr9_XF̊*O+6oMҭ "1NZ1[4Ȓ6d|ΐdT ګi`铲QFNXe}kNbuG@QxVIv j;*NDȚbTFnvzKLNJE {eHrE8n$Jh@+Ux4`4CHQҦ8x2>LtڲHDɍQfu1F-",KMVغ춌~0iJ}.yBmd]%̾FFs$nv40Ndrhwj1xP VoGa OdQfjώ7nN7HI+IlG0stK20S^hPXDṾxW''M^-8!S(>B18"&(g 0A j! %^VT|+V%ou "(l42O曋*=f @* ` VCnSn,c 'A%*pZ)0[#$ !d@.*ʄ%>a1+rdRc ." 0>`4@b~+'Avgf#vp0,AM cN"q71YdNNl 8bva Z\Pzs[16"d$sCIS9Mn.ϏˆH@vcIf2,34DGƋjg4MfV4Ӧ78"ۙ<[8hߏ-TMy'Wd*KW^1wgtN#*l/2bfXNq߇{(l)&XfRԭW*S햖`G(O['BV%C :DB0,㺐n' +vHN3ϣ[m -lR̭/rЦč9qѲo ꅔ<\5ci "Dqnق!m"?KIRGc,,L MW+DcT(di{i.m*416=eeD0?W [3`p;kk?džB|9RyP4ư 2^`HGޑAֲɅڢ5$cH4e 76r @}q> Jn]d Abҹrtp<31gAʿF#A2VflHhyzJ`* Eo(Wd.##ƫ%\{rZB"(o(0Hh2 ` 1i~v#?pX"   ?rK'ub[_[~|Z-{]p5 _g{ t;\L-]P]11y˪y k02rb@f%dx4 @;l魭,5̳A2L lP80KZ` 9‹p}/0PP#PCI&@|ElkHL9.5+Z1 @'̬R[$3Bd;tECߠp<3IH< HO1P,,F$q>}$lb Eqg^n[E!l|6 g^g' _-sDMS߷L_?q 2Xl;|DwV|z@P. 9VQ5;˴(-ݕq\uɬ 8tU<)o\O(k+[W'_ir#%<:]\8tɸR?#-n&:;.dY5.pOҍCQ $Qƣ>ZkէQd+VNFݳ2Uma[B-+ղd=z%|}s̴[V-qjx =୘~K:(|p;;#B`I>]Xr "z_ZG0,XY2)<_@A[{>@0#.< HB$0BP@H2yڂpU 1 -1b8 v` <X2*0A(1 43q>VY<4yZ<PXRPy;ǠCq$`l4iB"҉fxoa9a{0%1#=*4M9@#`SZVE :?4+SOCzl=-h <&W ZРR\?cǜJ\w/}UqYNzR| r$CET^C7 QC3NHMZjs%Ml;E&31(ŪRUJ .D~[r8eF=R˂>.@7Jl+ rg{3hӡzo vC6\ZRunch% #izrV*:t:\# TK` k͉C4$pI1}ST.Iw?Y K qL傿N<(#kͥ.*vڊ>'4p[O[3׽շ0ڝjV]bTSV;jOJ &.6|e]N!"2XzOY:u ᄉ+AA`J,~ 5g gݎB]iK4fTk̓"|6aĮ5gzL.'zZ(Ybz{' 5eIh5\eHÜ='T3ZGہI/w"9P%ͤB[E:-.$ G3Sݔؗah[znKǠx=G` v`^;?0#u6 Ṕ@( Aϰ례p rČQq++)[A.b z04-G*8LG1zL9G|(*F^)U)z)X@ZAB5[XT7lI+YD.t85IpP %%O]Y:B5G;8!B =Ě.2t$#; IP = $$uMsVSELSTN(͝0"ہ4l)-감8%Cљ| ,ϓ/Q*  ,9L| L9S^lۏ[MBP׏t1M;8bKY̑̄԰)s[ yMߓED#LL8ᗤ5m)y"D)B B&\i24C9 JMPUݎ+i*C$џ r33<)$S9tG$hI] kx훓Ps8Yu=AS+ 5[t/qK$L8s^j^ |5TQt ajqrE/iwmnXzIQ|xFcH>"I^ýjy pWZAFkTb&Aij шy= |hXy |w<:P=eo&g``)a tj  Ş[RفgUL]>ˡxx0uprK `W r8e>m Bϒhmq(h(@rO Pڣ|WkK.NEB NK{uBڰ+LzC$ez0ݴ!✿Sx>Q)Ya&MYTs =IJY ݸ;c;AjQRbD臖 Zp~ШN헓,cT D`Ʌ]րon":{ t½80#8`ܻ*`~Z)p"* y/wu+@đ9*87<{yU pR27dm8z>}q{vh]D݈z :؂4ϵHsY  ;B~:z0X}N?'v"vI}  pv榇 G}# ‚`УmmVok8?^`H >oCR)J-F߱ Z1 ?a@? g1W:XN#i mwKӀ4wbN(9V ?OG#i*RetnVT[!<P"X[]lQ\6; LT5(Ԭ_,kwdn~[+( 0jes(VW,JlVn;U~un>bk`}Bm>@0'z(Jְ-”*L D)"®"ͰP@KD6Hj,.;MJ}ħ}c>}Qkd2j ? l'Jۀֻгk1 , b* =$2/-:J;şK'H.njP#i2,sRR;t;?:@l/Ӣ!l-yJ1kαi o&Dh9L*l2"N>9QANEk± N~2!})-?Grs-;$Ό5jyK o*P]@ .T רUUW\0"IRDl,G2"]!X2Ԍ6 +V`#2.lSH0<(2)UDD.BS[-ޥrzYcš֮X3ʆhJ4\: Dtf">,Dƣ:jҙD$If,Jkenp+gr+,8 OZ4's"2gҔKJ¸p]T8 zfh DKC)/)BQ*`h橦lhr9zyy8fg=!QS-t֏L|PE~?I>y|LQ=)D8<Ǡ-"R5O}_` }<ʘ|ڵ,@{GM#d( lD+p QH7(H=p  P @Z aFxڋ@Lr A;G@/xL?pctQ:Xcu@*&`\ gxm <>$9|DBaH\1 ʱ[e[2l-'#̱l84-Ɲ:yES3H.Α( Jy4,d OO8]\LoG Kh%CXk)ҒbAY Q(ap+  e>JEdJqjKpa-=T.nq9xiS'FH#zCJ "AoY[gw$ud?,O-(mU"FUWr37PU`-$\)LF5-6(?PTr?@"glfL α'@3Cj`Gfj|ݖ=3r^O 5]z %쟩knТOb }N{ARIz 2&GYBӿGMֵ w˪~PQtђ&mW"mZJ֔QcP"abDPՊ{is.1Rs%_rbWuh&Aqbr%+4y&%;%$nY`Vv53N7&řHؖ[w`Sl ɳWuqd\;l?5,r}brpfd 8!">0]fHN45Q/9N4yi0598Ua h̻`ǐDiQC5@$ZoxpYFj"|@yvsy6=P0 L0x2I]i=(БEJFDi پ0H(I5@;Lj!'q~~ai쁄zk<u?JE6,̧E`AĄ~v i0@#$@@4ǣ~ɡ<`.Gr`H L ,Hx9 >   x)T 2օDCIm&p %!*!S)M Vi9˺Q<"Բ oH|Ɨmj4zF:( Pc2C"+l$,\BB%TWf[8(l'NĬ4 .Gex"@En,2):lab4cduH 6hrE"NslsdJ. DF C/Z<,>BIBk $e#!&6pnp:p$C90j=$Z׎^ŠF(N2^k$KFk\Pn-"S&9g*/2*xflbJLW2 f$,m+VB$"bBzou| ,5-, ?l!`f`D2!a`BNLl&c,C"A!N{@ 8 A#Ga<%B"PZ&C\[oOU$P2s`0nnp"|j( @lu:+ %h;q T0"Ư.#4IDn- )_E}[G#1+f4J>3d\ (%Xf ~<DFYWP6Cd?s7ꚩ?IsN:ZL.qqX" n:F10EWOD J0@eQ$.v/MhHFP*%hVs zH6&Da[퉖rxcn)i0Z$D(="T~4FV/+,f1OfO(2]ԇIB)BB(j-/1#0o¨hyZ<$$EP9fg ]l.?oLM'FR Uҧ^\S8/B&N(#VL`X!rL>BXdY(7$"78,Ӕˏa莠 \^Af#1Kg`c>f0O7rH2S'dQd*o@( !-yvF#8BYa|\,TR(DM4fhKoS0>l#0u+WvlBpA 5{-n5p,#kKM%#o:W4se O Pt*f ;3RF"0376czԾz JPUQXV4XgSS83jibѐhYB4;qx /r[2Z,i%59tV&%%JD3}hgJtA !!&þ^8PVkQmm17#HkXbL.16 agLP:nSW=ShJEJ*KenY|.?˻qR5#37T>=i{cJ[OpujSՓs{d01EEspԕzz[VV%C?!$00O"eg*`#hq@0A*[%Y/]"Fp=$ak$wBeBK,Bb]C xbC'gR>Fu7`g!Ͻá%},RXX<(qNxK~k4der'Y'70O/cc Xp_G=}mrˏ0ه$v"]"xU$dK_Qh168qNF&,sJW:/kQW" !"\@DJI b7жm!bh:!>a};`0@2DK '`ˀy=u_#7ʍ(uEH90١U|Udhb6!E AU?+#a!=(@"ZvC䍙bEށ xNr_7l@ĄbBcz8@B>`)T&;' >@B1lE40<=7( $c)ztj$6 @ST:! a@'*aI@ǹ*K{ Jz}_/ ԁ2M8'K#˱8³' +0L=L˲'8$ D⢰j)P 0 4 Ŧ1BF5<r31ʪ6塉+(j7JKbI)PpH@ ,i$" &Ga}iwQ%L&5ğJ8L`4@" p:F!w88:j`y$l P:@>d9`X @8oGSM wPK|bPOů7 VJЗD0SYbTfЂby/ rSőf"qg!HzNbE<`9nt,Yl,zTk$^eMSRJcN*NKD eɠ"'Fm6|-5Sg)0:5oD^ֲŋ=D#"'x2Rñ'MPPݣDȡH?ifYu,,2os1i劍ØgX&iH8FiC8t<@ ЂVqN[ ?v 'CEi4V97T(O=G`3;,Ħ?$Ҳ @N#Bc I22q* 0B=$GɀP@@""¹ $q R <ϔĶrTu#e 2 m@6 ,,(I @s0txcxm7x 9+H rP*` H|TgJ'P[ nMNŔt]2+: zE ~W3 ؊&0xdEF_N-:1nbKm:4sRБǧ~-X–hfyb2֩r&-(;)q Ak.CU.q;h|؍ӆ8 @⢦{QR˕H" 8˩i\i3)6@>Z轉Ώ99 X*dH @qu׬#&|q;bӕ,5a4V ":U(} I< X' (ؠPp*uљTY#и`HԚQJ B >S9ί؊#3%:+P>y? (ż:.by4 3 VcI~uk4yS @du? I3/@4s 3K+K:)-erDDjc "8RfR0<ɱ+C.&̆/6& E@+)10Q7,t쪯Y *~g o逛xmqx <EAԦ!yo\P zlpnyy02'!}s~AvCJ)C 47Cp p(z!h@t@wc |DA &h̏ۢ@Oˠ۔f77pׁ(p @p{zpho#J|<"aiVVȔ@ )ԡ  @ p s r ! x HvhmkM8q =RW{ (KWPތr"td(k X T.Z_% }(PQ3:jK$ k=HC ?!4Ǩ+9TAb{y#*)a )G;x;1!1A9(>$/o+~\G  0ĦP yRh\*"hb5Y bzc yÓ)Ԙ[ܽÁ ϻ+\*GԒtJh֔g+C&CYC(鬎,Ă&da@+7=N&#1 J/ZX9=h$2ytC` ؂E̓a2eˑVJ@C0|+|wu*}̰bx˥j*p٤zTMPl?0ΰ\Hٱ{19d?ѻYJ\Z cا1>;9‰%6*Ty//ƻ I앎="t*J8&}&d3B5ڴ8!Xa* 4`p+ 1ʔdi?`\d(ʕ4,ܥ8YLB8 1.8M040A3,R|pHCU 9!Oxq0r% )Ç `{ p(k8v<hhw҂@%SxZ(;ɠL@T3ҧѓ *Ȭ⹀LL&8uJd@ȥ|͢:I%9jJa*r .蔡e INX{Hh 0ð}ð,WD0œjl7N` @ {&hnn!`} L8xO !jn` RV=cR W$|Hњ"g!'&;YS5(,ZڕH1 k#0C'͍_EFQmJ\9UI{h՛'1 j~SİR'd( z {U q I=ՅV*ݺ3VW қ [IQ2^Y}8E @ԥ8.*r 8,{߀hC;JFK#/ɛ?w}ŨA#\yGkQa 6jT_=c.BM‹Dp[TqG+<ɞi$j_3JVE+ĐtZ"=¡Rq݂c8ᇕ_W} H-2S(U ru#n [S]v>(FNl<˒X@Ȯъkދl%A2JY IAȪlF0 |Hݖҝ3dlZmʤm/`~x0b=d!ZF\ET ES~ -.B ؙCH$+;S$-o,T o 5)iI`]C |xϹYf ti5h ˀI ngq s{px<k{hj SzZ^ۉY3.؋AOJ2_dPvt0|O^-LfG! ޢO8ۑ4 :0 p H[|͈wlk9bTؑX+imu 鷰b a#` (h}W Tb!ցpm+iH{(ro fr@`JY`53 }٧%X!EBWN 1 [BwuT^ ;BboUKr²!_/-K_IT*Vp:$р g22!ȩS XDXګOl~?_4o"ZAHLx@@=^?n*K$쌣 M_y˖XQ0L&ZgHuj-v|/@g]c>D])PKz>mNFϫLZCpLѤ 3 ť4d3͊K0!jRT*CD-J< `1SYL*17[ 9X!!T;)gpޔjLBBq!M6Tf!4̆"2`IG S~%KL $(WDZhaF%()x\M((Y]b45~TkLDN)RP 6Ъh/2!+O=y4@B`UXSo )$nWCMP_I Cp`1]I3}n$ИI?EĐ@r9HzHvhE:q6ӳĜ_#ߥu2?f́'C|Z>Pt !hdGا3at4/*\RRמP#}[>k3.NE$Vx0.]TDKyj =G`P & g50 H &amørAwtD 7rSNf!RFRStUF-< VI"`-BJb(`~.w;|!pK\|O"fKZ-^?Zi-=in- ! t!!C :Y E( U5L"ԟ BDŽ8a<^~``.@` 4|vs  ! mc|pN O1&=`+1`N(^ǥ Eo{(t%I[)v d ,@ 1H%EۃZ zJYSaH*@l_p1 (lTKjrPr^^/bl,%b9Ūm~SD9؄nᚪyZR,4l'u4Q\k U<̑( wDйq=V d6-M(#˓S*f>TbLܗ<[yEVfˣ-Wd/SF@Uά]Dp;8Z=!Zw Y !6% L[QiyHT(t_.*E Tqa=szBQ ܒHүo,RH&ZB9Թ~bQDE!v \ '4+EDi.Oɖ(%'  n,| gb+J|--0$ApJU#OfD.@b0l#$$0DTXDG"$z%GV#Ġ89"0%P%?A` 0dQH ,bN%KjdnLJk.箢$hc/֗#jK;2"%29) {*B}P&:"( (Nq,틱Lq$4DP=,O"䊵T.i $/d b8\\aI2* P/Ц4ھ"FTE*nWh"@0 !`BN"B$ mf!eHLrǜt~ÂF"iIBp$ %BCj nZKb&l̬@` Ʃ'vR2!8@ )$F*,g>rib> @*—ugƹ*2!@"&!\5\;d."@$ogas"@@,KawZ4@>ES A®/ S'y[ǔBL7o~HYvCl*bfZFǸ0c 00 hR^1N.; PB2^\`DG) P(o46PʗEq߮?McpXl"$/z #sOP^>NjhCLMJ= ,dq)"g)ɨ&\!-D-)v3fC8D`3Fk F(bJdA;d ")`JQ4(+#"j/qH2B )rE)9HHgho$" :ӣD@Q'2D$0C&ReHc$]E.SB&$"0b$b"C2c/AfK>aC*H0>2%B,j @ R@ࢃ4&qF oȈc\CM]>PdpM UI/?o-SB03%dPJ9DjI/_GnG+#JDif%Ct& <ɫ2c3Pd0D E,!ZK-, ,-;(6vJWXMO@y @"1 .@ bj%,,*.S l2a_@$*@`0&/e6tk "r[BjCN(2~m` $XGӺ@pjVUNJOi4}dʪ+<}h8K@"Bаt /JQ5;ۓ& (m.O^-ܣ' geT?J$d8Cz-]˄J(.0c;D5c ~[ 3n()Ėk8cKbr.99DOkJֽ"ƦRdꂗdhjM0m%X-&ARQ.jPPr1/vȏPvX~47Bq"ZorHn,T&!:aH~ˤt'cn8Re7fC:ST(1ec';x(b0d5tGڰn,Bςic7,t xƍ9EoQuB:[*$^qa0?[rOwLUxȮ,I=&FJyj1@ƅV2MHIo\28DLLvF^&(ڪ*DGI˅9oCtN>%*~Yku9?lvC Ctړ^c#̠2G o4 :5Ab,-A&'$!uGj5n"CzHtaaavOzb`'Ly+06 ?7ȯ0*ئk쾃3`:Xu!'jc@Eʎu'KZ.()F1KA"2"Z騷J$>䏾DJ?"oR C溑v 0A ZL`k1&~Ƥy12&|"|yP/. @ [Eb\&|hE2t(, l Aȁ@&v0 J|:a5x|ME8 Dfyض $Cl\cϰշ{|#`!dRD;Sq*v<>OkdGώ*/n9jA~VV?ICnH! HjTVI+&ZAln#S=VʡO=UDFgE( )~5gG /1b%Į(71ahg3h%H9H?b$HR<Ɯ X2J "F)G\aYFi^D@."*5uaYEEڊR}^ӿ$5O9fQNB"Dڳ~TT.W)zGvI˂:z(jHܺ)-`,#F@B??@G= }>0GF`  )~A>O. 9~'AM2wB@p?? }NP)ՈEFBt*aҬ>iTEt'՘]WwaBoH;x5K OTټ&& @9F>nHK͋S>d"̮By;PeYuC:9E'cƼ 1:sY "<}Rxkcfu9t :c0=L‚ۀ"~<2/.@$.7p )qY@PX 8jB6wyz`rI{,|B08 !,`8 1t uAvǁy2>Qh h*r%O2̍{0 < ,,±(L 0ӒMo:\?k r( !2"N |'x췸HQ&J3)G~&Gq o3#(&@|wnǪ(w~gB(vGswɓv6:4H8+"Bp M Z@㰸@5e8# Iќy؎. .axϧq{wЇz(z>cYƻ& R,KKK#U/zx2hL4߸Yp<.>Ġ2ޥ-kF,bYn|,+,')&]m֠~Yo ՜#D?m5U޹lj[(K z=%I4˜*“ ʞCBicXܟJt[!('TMjBɻ"J;!F‚PQ/(k814U9zIC&PL11ݏ(M Q!KcR L(ٓ'ѓ y/":fU ;12a>XS< OS%ѿFJL7(ngtdP4GO ar`:(T!X:rE7KI2`IBB"a E!xA2CMˆM<#W̉$ N";<- 2 +y2ڛ^+y}: B9Z'@ !ݖp3vzv "n趗"SD9K:Z*O̱ةA3ƀB1XBG|tSD7Hz,8Jy2>gPc+s%h(csxc OC"'ԙ 3ǠkX!/.Rc^0a9 O$.xvGp,Gң52,P Nq0=8& @1G8C|Vz !5T`NBfS Bb BQf6153B8@P y<+ B`zyʘ"-hiUΤPf'*;!q, FhcHR0A >44Rh*{uHwx)$3)aЩ7) šP!H= !C0"<Id@X , @pydÏ ( Q@2@Pc"g+ =ǰYzg A: |a* <@Z`( 1Qp &6k d+SN*]էb"!%:xy#ڌI[titPDJ o#^4&Sζ6ZO'Kb}`[=(Ns#I ȣ0D{B/n_#6.szߕ,LՐ[qsB0~<%F K,apIXZ9i0-H"Z#IcLfw~RLGPG`/%G|ECO<'czWm b*1&qUaL/hL뜦'<%KEDvz DeN.IT|#( 3|`ۄ8g[[5F[9EgC_ Ei2}+püaJ8 =< 2=LKTi/7_LŌ8+,YtiІ Sƚ C( j~B+Ԫ4+ͅ ,[є<1 @C\T 3qیV Iŷ11@²O88D?rиVIҪ ͔܊"ZWTݻȆQnE{<"#%72 5hiJJfJ Y,m|蝇w8Y#0>y-ْ~Xc`hn Y9C)@+2C3٪hmzܝxZ B FV`(kgl8w{; $ ҡaP5P6U|3Q/6Z M:K iX<хMP%(K>&뤆B S?XGQY<n苿!o0֝c S]Sm9?4z}U9 j9b%d!PMN=2&D,z,ܾ3]nn %#2 /2g+Vs"뵺'06Z*B&WlڽyV:bwV2<@SUgz!5BtFq*[0fYu:QIShii#l>۽WKm2Nc:~;w C@P'm?gPyr N_3MD/@~t b aN"R-:\%aSo dЀ$vT&԰2Pʾ.N@- n1<i(cSۄO V_q (@p~@oxL @JV!uٗ>` c쟀 @C0{DzvA3ǡ @2 'Nʭ,zX~+j6olAvGa@Bn($(ܨ b/<"3Ҥ)*: *5(ިʲk6%>͊4 `#V3yu){'H }C'@ hψ P'\ny 'A]g̵ :O5g17BKzgvs`p7HxU"v k|#MNx']fI| A2  <', 2.N~+Y(9pS(-4¿QiV`8\}tl/j$k~]or\t2ʝ))ϩGAA ȼroW E{d?ψVg#g'Xaց0Jh#bIkp͛(HH`(Cy1wz匰q pJ>KH(M*DSItlh{?SH'tٳM)*gpӔ^g<Wɇ8LXHN!8q  ųa-i 2K`YfV$g<&8HW6R4A:-,(R䞑a5c\Oݓe:M= r9@b׊007(e^JkM00LW"؎kʦ#dQM"H>ҤPB-`ƚsM(FEpD0&a^k$n#SB@&,OR%UM /G(:1LJ!K> ,@.萜jXKHh*ڈJ$E*|@0#_є8:gbirUϰC Y!N>uyVoJ{=@ÔtV;>$F4>R0`@!cT1#dЫ|}IJ|%0pArgx> Xɦ:P3jhԳP$ؽKurnyR#БJwacbq.bni2ޖT@[k{t5N0 M:R  DP%t>uOS^%|̊^sQ OD:TIAn!ZUr| ݡ`^T]3;5WQ6IlqR&4r*Of:Q%^77j : %0luUb'(Bk!߻6ؠffP D,UGkU1$0VXkbZ8yKP5ⱑRxG:s[[Xf]3>kINNBNVNrݑɀ'K["C0=YjyoVj̳+%6oф&&X c.ݭ\C"$$ 0ǙgSA"M.?"5yd˴2!lS)M@M#dqn:h2+ 6&(fbke4-E-2Q_%i+l"ʠ+83{m$\zfpT&M&NcL6I.fe @-%{j6׍lE#`$ ]K d Aa.**<CHB"? D|"w U"@va`:l$0&r( #ZN! J TD`4b!&Cւp$2NQh@ `PNa .fb2a-JKI!wL1$R27K l꽢E-opb*p8C.H>AHE7㰊"F*$E!V@2.a`"c`JA}Cƈؖt1b*3%, B.*'ddLO rh&w%4 |Be4aп>8! Fp c>,dBa Vn#hE*Mށ iX=H"bO&Ik/p@pT=r(֏l#PF.6oJn!4Ҍ$Q(f#nȀ:R,1G6scX3GunB/EfJD3";ʌb c !䲊7N#BX$=(["U=0*OJ;"Nol1Lf/\6D-a3־!' ZhPd"yKźobc~-8:H8ʇ(RFhz *o%Ĵ>KIJLE##JNu. 6E@He0>65ji ,M$b}bKFh BIK%h} ^8J- 3dO#zG>CC2.tG-VB#+g.*$IHgKAMT.TО  433oOϽPPJ/K-a5*p'-XD£e &-2|gI$% 9ºcḿTBFE='0Ԧr.kV"f3MB'蟤1[(xorho X n1/b*cs8,)6A!JCV <&΂!)ZD(tsC')F%@iAAvju ;L To''B*` FN $L[ct~d"@#aaA`F͠QCTȟ5&|Rjld"oQ.A$?p/''B3!3N3(S *A $1l. !uK*7Ubl(@zkh< 08̄C6d]VFJ**(܃~ bRnIpOBFxHaҜa5SL( +,r Dd3d좵E3I<+(쉯l5N|DL=VccKւp(s?=BZK#r ^F+2!OlnatˊfيUf9DZ3cb'(0?j<Όsd%J>DN8jw.(ٚAhzMkt]KhgT s t6v)l,(L&4I:CZA/>k"(m2pM7 igijñH.3-$4ĺѷF3' V kLGbttޖ&!J!)B䏥 ^g. )g V)2iW/0-a3O)[b [!fтJd$h պ$K^$4I#k`/4.ͫBQhN%y}bLebZ E$pB:6^aZqvS!3J^*&@aR|<DZ2% >bTÄB+we `B|JAd`(xb:nd%#paY XC;=# ZƖ3}$*J@A;aZ Z P1HD.72w%qsoT(fqź9rه,B"FBUE ld֮jIpye`!+enFAC|A *F9 [&E7oU9Z3\{#f*e8e]aA¿礂:Ba`BDcrф# cA)C*:(11&#" 3#ϵV~RpJ[2iN|60z{SR"X{‹T) (KF;-X*%=8,mZFs|ۘϮݡ]/sCQqɖ* KBNOƫZJh8MʓN礐?=W10(8ѭW7 LBtEQ" D'qKы8tLΌh! nܤc]cXQ:hd5urI(g)P&hb7sBPԣyEE8)~j-3 C X(BAZRԉH8LZ(p9KQ~gx.BmBUNT >J,@!u}Oᆴz}OO+:@y c c.uA3Ԏ!u?/~N?i$N@ ~!P? (B`="lF>IpzJR9Tr=*LTzi%2Pk9i8F(Sm =#/Z?#Ѫ Ƨ1?T}Q jA_*ŪϷ)Y/#8$?"+DJ!&CZKC\hm&d7+xjs dRPvԋlG_;(=.3 AVr P@|ӀSW{ ¡ GAuffx`(B"8q~@\Z3ogyP@gK=J2ghH8ifqAw):@e10y'w/pT韀@`8 {`1X @|GxXG A, @xPb!`+(HjDM lAG@֑@Ix pG$$w5ƆG| V a. K y℃.p(iq-SǪ"SR%B!t^"[@$zϹJ4~l8J1{\ȯLL;8Ǵ ,'[ L$|Gj1|#sᴫHz40 ;T)Q3P87\k/J+y ?/ĥ/Z6EZk+H?$`ԇ2+Ⓐ ҁO᳕I.-t@#喟!>`Gi+y HG&oQ @)+u-P@9u :u d5->0CL>uFRC>^f:B3 ![ZSL/?с/"C|vsAд%2Gٻp?$IE"X taEJi(h?v/ϵ,a p"Sv3H nd~?G=FF)FbI`}\)|LDIy-IbzJ%E`2 9<LsQRTKQJq򚭉u@ahn =egMrYh@00tZ?oOQ Kp Pl=WI~{b A`py״LLo+gx?iȵJ&6gn 'CoIIrmPd%.ieia#q>`v;P `1s=_@Cwq;"6?/K%@  rW ; B[P P>@ L `E#*5O 5qN`-'t YH; ` dG)lmG 2&9GlgƀЬ !ꤘN_T{sJ9G"A>q 4C#sOԎ(XCnٓsN@+k1f#JϟN):ޡ^K)GDXI#N]iY.nTef| lDvyBTwim 7<AJ/ȋHQ™qUDG)t$0`iݯvF <\*$Bp>uF]V4¸(ruL֨gLj5>(EϢ8A+dA4޸ioD)XZoJ`Řa}LA /UtKAjyDhݬ5=DJPl2Ae h+` FC'< H7Q[x;#y)'ҙI{3k9ƯOqܞqaޔA/(ga4Kb, Zr 82!PKǑvल` *pm siI܉/Z/خ `y {r}؏B  |M;,h/C@P10xgЇ'h{kjyӺ!U%h@P H| pzkkmvzE!IX Bb/9{<;)ﯳk,+)SsQ0 ;x ) !4ah**,xxtP{@rA!@/P4(pp{s8"  e! jᏱ9ix_H;\4_Eۚ$jiO+Lvp0sRk#M 5 !)į`+W̎7zAJ:!6 4 M7::(I!CJMkLMw=#[I+7w&9R@~HÍ QM@:6 Ⱦ ;9$0 &Ў)ϞA!Ԇ6:) jƇ}}8ȴY a%:kiǷ~ THl2uFR A;M;X%jXWs%C׼p8T$  |t#-ȲiZr]R-zEῈ8,@@$0p#"-0ҥt~ ϳSGHյpPTLP#}A$L >UMMv ~Y[2]Ҕ!4AƸ  ϻ`r7"/#Y&Mc  @Ӱ@KkbRV&Brؽ6e:u&e%M*K9N<{uprʕߋ95 6*u]`"87 Ɯ}T6 9Ș'4?kY3ŒI}0rĻiH 8éȌD()*HH`a+hxp#ꯇzmc95%2- FJ @PC尦  vPuwwyorXul1 [$` Ǣ;;5;=ܐ){85,y\Cy P=/N !H h7ЊX*a(vh}xwk@ӷhP~%T5@s0xpxh5#PBߨP+)xrv һ hPM#@}S%i$A<؏Di5y-Xr(q(lza8p<@χ&LA-@s0rXs^!ր%AzF ΈR8{ ĘB݃ vNḾƋYίKc^!{#"rAG|e)9dQ)ʼ*cn8=5ȐϨ]<+V>a ZMeͳTa(UٜpMOº7Nꑋ̦9ae-㚽?5`WmD2u. )AL(VG|ea󇧙= +YM"P@|Bה:/*3T1U@!CU1Oa< "FCr$2TxS:<4M,3͎9nyA4V#3!-dDmZAZ=0O:6*g%k`æ P6L|  0O 28 J2 xs {gj-4|pQ=LUjh]@&3R%"+yKa +jpq`sXtlx(..YIj`I!/d*plLW:8C%GD$ ȿ JȻh (0.(j` rpo{ H ~L t{It\_;\pau&B/vHt=Hp _Hyw 2Kׁ B€ 4˳`)}_y XsxP}dHP :ϳkT (RΈӦQ'_X8\knxH Û"wCe-)Tݨe6XT*EJOK)W5"pXhPqTL3j N Ȕ2u 9%Y71ǛI }fN3\]T@Y "re%I@zVTH|9ж8QLˈha\-XV:)<fޭ@dYGR\ %薨2}), i~aH*@@~€4Z.  Kʤ  ? " :'&xJ}F`@5̥Ӊ o6P% %'iv}?weLS#ID U`JF`PJt A@z& Se~SvL 'C᯽T>e1 M~M|%|l ߋ1HEb3Uýc1;?([PB  `8̚m$ j’&DB@<+Jfp(<:̀,sͦ>W#9{A4Hb AH:%)Z_Ե/2$?ln|&8 .)I4P(|#r'u`J @~z  ˩I/& X l}[OMS) vkgL5 PqGvtV!W@Zfx$Bx &2 4)r9u'Yq9| 0`* ǹH%Pj!K ޢ)8Ǩ <95j+邾!"2,+Љ\"rUj6J#%2z`Iz zjg(`~ak`]p|Gy'qƶ:x0 M9}tgz'. xvywg+2@4 Ğ:t}F@>pp"hvHhK}'߄0 :Z"rֱ:#gyG(vG]vgxg}<:|I1<p,݈{bR -̚F@ \=@S>DLjN(e,L61d| ჰ^P"$=0"CT( @1%M =IKs&\D(XCŨ4A;+ǝc8L1]M$A\|2C@O#(Ī2]c(ТAeIĈp䐗S cjxBaa(&fI;`=WԼl'M2"XpXh*0ZZ"$v\b$IHd$LQzD , # eK#򗊤N*I% +C6q q!$Ϻ2>j ѧ# $t QJsh} EbD)$ăR|w̚C)P|>>Z)1b-몋dD"Z9XKJv{gsf' qh9D@bk*E=KQ ̓O (ڳRpLj/C^=H%roN&IS[ He txL3=hkA(1#Z]EuUTWykEHHPDzo $!K4qcYRmɢSN+R7pP!Yl=WV"OdP1HjNUL =Po<h| LFȡsm}(_ 7=`D6I1)Ͼ:(C`rdDPdusG5nډՁG%JvQR99H$ GXHhAGZ9^ՂP |ufĞE<2+]jvrُ6cG ?HYYd!I )IcD 5fEjHTx Y`3kãʔ{>p~#T0*#tѼ6GX8lv1<p:kMR)Ӵ`N;D2RL0mABPL-ng"X% N7R{OKCKj l8v9XP O?|v#1ż -YR"E.=L*E8+St-dL)/j>1QU.B-T21IHq/G+hLNh-JyEXy;U^^Y3φNHJa=v3IR}J(8BgH艚Y~nSKg sjs f2bz)`h u$_UdL)}hgSL^!i誮֊%HSB2Rf&`P%J%,13obC&F5xB&&3(aDÈO>dv%58b(+=BpKq:(Gr`@B+f   ,/I>}w@`0B0&/br),$ff B*έdAj 6`6:v!1 b g _p+ S+@A'Qa:`,BJźSPޚp]eҹ$r;J*\렵dJlq61V"g2*9+F݂%@mF *rR5aE~Ya*@!ڌ#*X3.z\"])D/"JfL!wq!f1faa- B`\:x?^$-,V ΰ X/."r  $`4)NHbBxF2PNpCu%@Ψ4BF'FE ‡bld v,$JQV@,C0숔/QȬLb/qbdLPs9o&b ޥD=F a>/J6<Ȝ5΄.C~7/A%'#!Gf"FZ, /BeFM 0H+-6Tξ9h8X`$֜*;3fte#~ц+8$XC<8CFQ9Z 4 /`UP8REGRb+7Qa GX%b"BZ0p:?|A$NLC(0L~K*O4+<$:"&b%ke(f6Rc0pݮ.Q[XQ^i>b )%d(? I GO$FIcʴbKz9`= (?D SHc\lhV~`M>ĊGxVdDKHD6?obHNH0Wk[?D\HpN3Xl '0Z.js"Jr@>܀%^ru'<XlYT&j$@@L[8"&$<,'xTU>!5rj6ORF@J:pAas$PQw b!j:`FbMe`cQndrH(x(sd8g}V1,ek1d2= OOknaml$P"0r^8Fpp3#¹3d(!z(샆!{$ h@ hXocϪ#f$v%fSD'l8 Nՠ擂?L gKs6pRdB_'TR%T() I;DT~!HnF28Y2 p- mčFvTĻNZTil'WkӗYrEfI IknJzx1MKLVrɃn+n$xJaO coi|!BțJ%f(" 4'T^cZ˝7Xы+D/!Gxa#ox&0^"Q.Bl$tUuj!B]m tG4p-uc!;)Yՠ[ i#J*h'.< N*dhXb]VW LFh8Q(Z`"=:$3Jo)F/pN2eIHs0Y%Ͽtc&e<"~3\#L:,BDCEA2aF5rHg/JbQtA u fOfThC$CwTeBXKhP&0"d0V fquI<ݤCn1I,-d1Vą1#rn W%jwd1Wo.oD..ltihBAAdfƦ*F#/cc)0bN}/gaB&a֖*bŀT`Ppb&x.0>Z炦"A \(1RC!vҒ6Ҟ.$rcRy*Hb&!A$*`2,+®6 \Q(QO21lpf{`-՘:&O&eNP-JnK&> N2Nj̧Sz#m5 FN7GݪAkxJatLR<;ʲC)$!CP3 "꣢`]5Kc/EjNCrd{9`DN^.ZQ}(dp>)H,"=,'SNlKO骇R4ıu | hlAùf_߈9q7Yl$v^tN4Is8=Kյ(C0}$ߞhK >/bTRU)k2c#99d3<*od(I`+^+ZOՔ\":0m4%4cLPHcgؖ|^g)UgoJT%$ʹȢWOMRb#)Z&( P,(g`͵ ps0![., q~+b,+㔑/~!6J&I*2*W"I234"3̻mh{@hYs'w `P{Fȝz/ Bz^ -:ugqh D`0fFɤ|z` 0 IK*/Yc(ͺ8f )n qmÆ@P|9o'q!k޺0xuT&QK صB6j袢 )O'rJHC()LTJ49{x!MZ.趀yK!o&YxC&+*1l~̨16Ak4 %ZF%!n,KRJPd *<@E>CD0 R6t=t7GF(qIz p"p HL > > (Sn0?jg&(t8$VJKVF X-E!QBpPX,"P z *B(WR>؏ ER~.(SWJ)%uU2U@)>erޡtL֡Vk>ETR∇ 6\kqE)怮ɠyi(wqd~՚Q y!=70ȇ+Y%&sʓ8HGc8aPeV*Ma=h'U?H J q.V|Y!ee`˔/%OpϜO"b8k $8͚Eg"T`>p TH>7Lyn~mYJ!i.SyY@V2zՂ}$3ܨd"m5y@- (_Qa:i(6f 1[BJB)'5?r\-R62-*%tlCf\x[6'2 1j޷P#䨏=@ $lw+qR d}V >@]`p%<%<zah )!KXc\vYIr 0 `V6F0,dy0pq50o1}ʭ>fm,i0PởRgi* $jrԹ?zsxA8 D 2GߑU5I^RéR Fq-2C/!8rPe9I$`"@t :xA-)aU4yz?<%=tw^I$;a!(]ta T !BiV8%%Fo{Q+f_KdeN,_H·몙3lTgIE:l,8>q5C6 pNr/Q b-0ʕɸd_%B?2vX,pJ+ PhC2ahĩ!3DJ$Jp8sXiz` Qxz h"٫P !hpqH޸~ x&Kpf0n mpRQ  q[(Px`yi`g+x@Ɨq6pP0@{!0`uPpo( s -Z7-3:ȴHD1 EÀLqRhw ٷE.si댈~"}pfbp , zJ a Tq -Ӫ@hǎM: '{~`(h M&JL @lYphgr0v(9 1j 8ɔ։Y":"Q{ġZOCPJJ0zKFP3"HJ/X-˻('Ыݏ_F;\T)%i~ ;aJrf\F`Ž"q!R¼Ҥ=I@ +yTbX“+"CÎ4|NA!@t #@B н0ÑЍ59<-SCslȏ0"=(rsp'  i jL ȹ"u0@(‹# 1Bc5?T)">Ft@AsXP.h߰z ( Y'x ފz/zBMt 4Ѣ?OŊdq L:lZ.T@?m,:VL ̔9'[#)P5: B5q哘ҎQ+}<)S$(s[֡LE~JjE][ _&جRy?ȱ 늫|\To{@PuXt]y x ذ/He2;F rvqv >)}@z 'hD} w18O`_hvxkmпa@ ^z &~Eǚ1_hɐmijF5( ڇ tPHH U5~oAH7w ѼL -+=a4W+ UR# LŀCF* @Ar\lǻ=a" 4x_hd`b0sPa#5nC Yiy9ܚb qYzɉH@fD;Ԁ8O ? )O/ JZ̼}@ H6'jl;n;N pQH P>AflBZ`Z, :s <3 -'`ҽzŐIv  %I&(4MAV{՝W$ŝM>8{YzCiVj#x I@ڌEf>$ؒ-YX[G D*|c~Zaj *% k, #scDmK,R[KƔn$a+mQDM0Yx쒻T ʮT=8bQh_:RSe!oD}B(} +9: ͧ)( : - `ĩ)R=rjm9̵J)R>Y $B )8%"N n\(C\cGNE],8..y]O̓/>!z 9 !4…cm֌M*J ŵӹ M8͡Ȯ=+x sX"Tz{zqxoFAw20 .F]gعm5P{rɁCw@|X wx΅Yp|E Xy}lHjk^@|@"٦# cЀH0X ʚs,ދy 0{joNxoH[(@ u,' ߈J*UcbhD\<ʻ;$70&QzjQI$Hcrc/(΋|2xhph[GIYQ I.P;81l4Dت $#+T8@H hV@AYJ-2rRԢ9N @ pgnsgFu9 ;sX 8攬Xbg".G%cwW}i=$X."SXRqo@%ŚG[4~[7 |nZՍŚBg ؾ%*C??H!p:Ȝ`~ߏ̖3~!P br$ /z7}tBCJj ]Ť1ZŖS%Y?0}>dS :yZ.xR-99 Z}Q @ 0@8"p  Qvl7($,w)T㩱7 Sc3شZo=|=v' ((} D &HNӟgУJ|Gӟ[`絀070 b*,=qx`#NtPI&{؊.!!N<02 ܼ# E4Pߥk dz|C;"-:(+j1JbPmd#6&N8˟KJZ, 5+ʳ  ~W1QQr` ޟ6|,b\guȬ>~K7~r? xt:Z($`(`32$ XHS4`!{┞@0 | *- vA:gl&QuGcx"x؇8t{{ (ghsJIJG1m{rxF 'g{ɯIҝ@\tHVQ + G34? s!0L@TAR!rPl}w#G}ꚲJ̒$VOC** ^Ls@ wFid H"=SORZ@H@ dA;i%) f*BZ1F#"91H%-7'ѹ3GrL1IB$zfgi#YEaA%(@HLaAA`ИnV=h|'CD &d(4trPDCa3 &x $cܔ?ZdH+xGȒY.M/ZGfR=X/d)̔HW+XӛB .䔭t|yf}c e+ Q́)e$xY<-P Mtq,eV~'QAI_ KH@D * PCGrw$Nch!>cplg=N<Q> "p*pcHu6P@@J?3bFԵE6M 0rDG., t?-G{ (ywbjr*. 2C(cD#V|n A $#B$|XcuiySW8)=^DSwa"`Sh2IS>?Hxoq4 pC1eT*^Aեhfv*#4d7 7NLω"Y!=()~M=#sGaLI"tM}%B 0#x t =#w 'I$ OWgvpxnEAC+0hL:A*LR 0SX#D W$"RJ$`AbAPj)VGcA_O*Ǽ;/G"P?K&iM^K#vȪdxʎXV!j e(i&bFS CIJ6CZ5.50dL.pGV%~9X1%jJVښ&AW)&&p4%rC*K D/xP"#Nzc: K"p@ 'd:k``&$bPu+~EO9`#pG=+CpǪ"l8=#$:MdE *#)c$y(b;b حI '4DS),+OP6Pd0N^RpBTjǂ+jX¨x6#*̰bNܘhD%pH3ƕ/FX.P) 00FLzT$WiQ+DTnJ $Jq! -\af_p"f!0?, d$$:> ^GQ.<"\98_C N| 1b|! Pjoh54ƴ!$ӤN0>NrDp,a#dI X5\Pqz~1'u#p0&ay!(.p@$(J2L:EjNcݏ8!5p0BC4m&2*Ǻ!4M'A*Rb2CĀDH*t?AD rw|b $JJ)!Ax,&3|0,0@1Gd ~$ůmGb4#[c J>KL8K%Ll<¢:P8$2UbB!ށ4FB.oEF-|#@G! $|h.~()!>㢽#ƏRb9ꈕzҁ\RbUĎQ lƲ~֑*HPST_pGjQzL) +E'"TFeMPX$jd#!6ǶuH2X l#hcFJ)6?%ƈȊ/&UJNpjLMhKDbfBޞ"HQ)! l4z-j:PBD I,"b%̨iv2Bc6;CN0Dd.v"-4DGex$iVlX=pKnd`%CN0C2#5`5cSFCv-Fn{">HpI& #;2ks)&T'M0t[y+L/z_$ ̑4rB20 vh,0.C¨⒊R>#^H1 EG`â+F$f @9 0nUS-7H㚶͞H8H+ȰK J8xb@CɪK#"(/ CJ$V#} :"cD>{bHkD8CCI\l-4^0Y*2lSгx)k.e+G*r #!a!!S7L`\eb*R^cYzm^"ɸ$2/M@,tg#"6>62i@z¥2A aՎa#,#$iF$ haFKPX0`@`@"l.Х @Ҳ .a"nO@GgZ(% @HBL;&"!VB"@JPt`1 ;7&'* fHbנ2o)Dc%<!HxWޏ^X*q@,4"+E$UDAͩ,0@<\ +$\yd~7FesoHeXBLdfN#' ˥8z둭SLn6Sdyb*x6~Ɇ/Ü@D@X`0hk* hW@.ߠ"ѦV3r"bW65՚jjD *$W*/)8"\!k`InN%)i/i'L^&&K8wo]x!*=94iw]D z+"(F #)aK4)@^$KhDjcj9ltk tC4 Q7"W(}2`C$B$;2 X&$A0ڢdG]d0᧎F!2tĨN?dffG+:vB-0+\f$ΛQY-+-*P.:%$'E@F7HfyQrDx",7q i|d1;֝D,7BVCBJAqk^B.<tց>'P}JSCNJ֙c8_O%F\xpP:"1\O `3X$),lsg)Bk"+Nzq \oCO~j q8:!G)_Ч @PJ0$BMa42k0 i0Pf䮐_pg3Nc`|G{8ŸqH"pHxlW qR `` 7+ 0$DFcIi0@X.@`+URtѸ" AP|=7v>ߠ(XథUy]NVes/ǰ  `2 6`*b`&:. ȟXfٸq@ qD&~* j~IjS#  !$(ҔMHjL"&\Bhl#J{NIH/Y#/)$")("3J+sRzCT 0D)s(гdɃE|ͦ7?MKP7` <13e?dMrqW,I(D \G$sHI S;d15\i,J X 0~@x NmEZaIcčɪZx)i 2p~TFgJɭ$ҡhك3LܓKAA5@,qWE kO2 , D!( qrY8t=@p IfqA7w8NH@y@ ~h.VI$4e 9khȝV='XסV {4L\AD bEV #Wm)R76E IZY0֠SKL? 'P KNDȣ~)5SF%k)(uq\HHbc*npC p P$t6[,9a"Lh?t.k a$[Ĥ"RP"a=,T;H"AGރa< "!Sg -. bG5-bxpıv>iCAmUJ$3S@232a􀌛Zs0b荣RnjfBb-j^o7dkJ’bi_LɡGzp!R~(c$e\ DmH^\\ltgtԚInP~GCd ։K#djߛTOftܺL3*K \g&@n*Dh lx]]W?7$ѧutW T1_y<|0@N'ܶHGКoeJ{40vf]tp u]*j͈\Wyjg#r$퇢CK{vIZ'`Lí&rACr!< }XHUGhn-2&@˒+B9h ?ݠ(h30#sPe۴2 ( h py3h&Ѷx`u8"p r8uy(z^_Piaq((Ь R# H\Hw i=ܚ h (}|\@oD%=]$=  z6Qi1QC 0}hsn(p00 rd~ !A҉ q .RG 'k2 s*'N`z(sllf "4)zD` vat`tT7X*녵0H;ĦHbP ($#؀ G`|wA@vrEv0qnzpۗa x Ҡ%8 'F>"xɐw}pXyYchi12{xY*KH1{% H1隈™- -W #482Ҕ@# 7Y< )1Ƚ=Ȩi՚؊E,!(6,+7k~$vGAhD3%8X 8ʹd;L\${EĒaN  3O+?tzưzyqw&ܺą!HR¸/x H2 iu9zt{Ϲ$%aJ>sO2I:,S"Jy& 2IrX؍[![Zڍ3n? Km Q!, 2y*.MyTR2،/HQH;Ig}85*=EADbL:PZ p7|0] 6+CR"4%F! ${G\0Mş #uB=;,`߼ 1o@g@ "C V URYz2`ї8]PpQ-薗͉&5[Uq03:([%OA)誕8Xx0uie6L?YFҘ#ˁٵu- U8̮Ib Di@|G$sY̍Pj7xX} p 4yXschu8 9|x(r9[Xeos8$4Ax Hruot?Ip<O  xGrxw@5!h0i{t硌8J؁1 ott [@a2۵PwbHKAm$(B:QR X<i?5pfdj L #.(4ҖǗ![jgf*-NH:1Lӄ\k 8@1 TlX {!Qj䈘X J0(Q>z0tPvxx;+iXꨨ(s"5 bq-,ѕKpx8py0=40!>=XT=޺ +:%j]+jMrD GkEp`PٹeSыTLо~q>(C=X kѐLkĄꅖ 뉳qih֭y{+MsUi!yA ]m;ѿK6F0(bA$U΢(r%1Y&D5ؘ;Da}0Y"ժ 9~ W`Q!(2ֱI ^)4Jg;RAcFj) 3h.Itqiٍۙ9\&$0OaiLaοjZt DXFꥀɁu c@H[] w @|؁"X[_ shۘ"3xH8(eXAXU0hh) QсZ4=x3&KЖ!`uސl~bU(ՊTpw>d^ր:, 9q?!"ٚ.Щ-rUeusSؘ4Z\f oƪ^X Ig+64=SJM ci29Զ +# $ ¬#و h CM>1HyR)@ >:$:h^.qzqpSSw.V2Y_W8]ߙT/ mph& ?J{9e\ ?Ѧٜz5(e0}}}(L6p͜9Ff7m, D!5(z&WDk,lesbM0p-Sb@@@$ @PE@we~#Dp 1,߳w'ϷHDT?@( Ā1IJ)O^ϗys|&`+ 3LoW 3Y@(+1_Wk1 FU4TID02&쎀[(  P4 Phnq(S~=b#g7$ PP Jlbp:.$ǀkX( +Z2~"“zI}g3 ø̠n-"@„{G꽞zrIẕL0C 0hϤHj#.$Ξ%@@ ?/V%@*gc)0lT)6 @.z>pĺԙLJNҸ7Dz KHA+3zBM/i3&%FL4ċ/sb;|hLe/&")hJo,OJ{Mu @rSHc}3l hkqٲD}%V*ɣ^H$j,N F{$]féBF1iB;J/{'ڟqnHLI bAG ;Dzt>%Ի$0>(`m*hH7(|BbA H(F}\ ;j,1*&zMCHh 1>ȡ-7ȑc0v3[>zKΐ OԏW^ !*~+؏XKp|~p@EA2Fp'r$`T L0rDG2G 89C>I@clp,hwpV^ZKd?7RA uSLzPNb SK { hRb* \dedsʔ"@@Ca2UR >W'Z+8$/"9#*E/΂:k(5ϸ a'Iu ļc]*uN94ȤZhAЖLPD,􂔖Eu{<Ǔ#:By"7$y]21UBfLU@$F*q% K7м߂ %Eѕy{?%@ `rhVlCk!\FLO)8E~tܜ4v~Ac,ʪAXU#g@%EXK=CFc E5"d-x`3H0y8Oc'd|Ф[i"NCAOP(د29'T29,Tk&S~ (p}{JZS >7MG8 (;PI< JpTŢڜ*$T7T190&~ZLjHmI#lS<@ Wk^sBVaZk5"Gg +h+Q[`u2.Yb1bPj&fd̹8G "ƏJ15ȑbG 0Id*j);@-!81kðxkB-'@,j 55 G8z?t^D9>uv< 11t 0;7 QkR Z0'fPI*!l S:Yp#`@,BcWΖ&_J`S4fl `X17@ VY`oǠxp T,L"wdK5AbCHi:bCO zY-}&*P*HRY΂x<](dla]s@¤~CBEt KMd+3T&3@&@*```l2cr<@NZC @ FaCVɚf)0a~R4/",,XPboZ#ʈegc%%NL 1)( .Vc$0 :K4ӢɂL,0~.K] ;~Ldi7 ԜMw<,v@"ī2Q)cl#di&j+$r7H *F:B%VLHq('0Ui2+&tWqB*//#jSCdM`ùZ^l63(cPEa!QLk:*C*!9/:U@ !qD2#d]M:!.'6,%$k OxB`: twԴNji.D)b ;.D4J a$Xq''dоDxL$d`ECM\01ڴv%K&(+@$T3!m2(`2zn:. VF>a$bN ƚb0`"~/Q%QBJr$S~%!EBoTфJ<"Ȱ*b3iJ ,2,2Τ*6p@Iid12Ѻx ,LL@6ZDd=Sfds#v[^zL~I (EXN(RE~%̪0ʌS o9:njtCHd5F ʒ*ĬMHq|SoQg"CTա!ծAE[E1R*%ik"Pe:K`$'T)#ʤ'q0č&o:Rx~R1pJ,4 :N$"TRuh,´(V`5!6 c%v''|s3|PzG=8$ 95"*2 _Ī7iX:TA#X) T䅔.H2ZRKk"1?01R W⾤t 8_1诃H$drƄ?dgoA*@B ^ ?T|ee8*>?3z9¨:VL#4>d5{Cp jz$Bx7sEMiϕHĢŏ"ѤǑP^ JC-w*;,"43##x+ņ2Qdcs@ԷΦ+YyHX{&ne豭) Tdol[!K)+}Oa0# GF\Z!g&BT;BHkao"~l.u؍XU1aA8`| |.v"na٠4ba1U, R;@ o(!CxCz hZFaUKq1&,f3E%*FrEo nԀ8( %TN$%X6uaX~1D`E%J@Hp, +c  U '`#4%͓cd"7V;j)/\%u(8ć@.+~,v/NBTLJH(rAʼn#Vs` h>D~c#Ea^ ̆.ΜK@*bv*epw޻@hD)rtGH"YֲY=%͋r1^1/?_|DX "w-FuHRHĦEh +Rb߯h1ZlY!![Q 3*5JyML~s-2F??T鰨&-v(4 #TYѫ074pzsh3 `L Owcٮ r/n&B0 BCwt<B4 6)qP9j`{Gx`80Ht)v @h;@~{a(n!xd|ǬHjˠ*!+"oyx(< xGz`0|zܨ|L*G H<J"}88 @`8&r @zYr` ~$,P,GytwGYykK B0!p& "|" By6G{{gԬ{|yyzU}ƨ͘˘p&,lZJ[( @p(  Dԟ'{) %I `M$Gʞ6=HX9r`p&wljt$7iA%NcY`q%x$l]: CY C\"A 31@8e Q<$P@!: H"ʙ>%0:Bq Dk 2`(4X*6fcII!2f!QvU+L Id6f́͑S(̶$=ǐ0x1H9ŜɔÊK$q^ThZ3wi]'EYT?g% n90D !:SӓZH)l^Y3H 1d0f *J)i$3! #{4XATRBL;!u&vh8UF(>bA(2{4`u Ȯe_-N}y_  2B\ O,1%ʋ܁ )*Dc<BBd+PLe^p 1/^h Nu.Ar~A`c?8:,~;`L{一@8F>`;㮙Z h`lo 6 HR\H3XS* *BC(d 0l xtbb6<^ a:` 'G sf 6 {xH46%Θ߃PW?@(@R r; #iP(pI(%G%uQMO ,S -%J?+@90bGXI cdm {HiOjh2wLeP|B+ZKbqDj/L|DG/'TP}vG>E&?zQ!-+FRɥ 1qDn8T6hb7{QpZpz@}UVb>A=S)hb̄`l <4` 4zvĎk#t둆NC[* u?Q&AF.t`q$Ÿ#i 64%]@Sתzӣu&W¿CvХiWy<=RBb3~ "=wjF!g5C;,WcZȈKScE)MM)i4̰tHCT5s_&fHFC@c0AiJ5PVT&ݭ0 =e&R{`MW 1 }+Pk)*v IK8B"#ƹbVx9E&Z_ =*x <>!!+1?+r ! P٩JјxaǬZ_+۶ ؽiu!Q= b%<]Q<2Xx-&A:IiZ.*(q#!*/ zCh{947;A#QΚ50˶9 5+XÞ؅7ƭsoVJT{/+(>J"KTHš 9j-Ar-xHyHum tXn3!{ȇ#a(S$Mˆ03h ` /bdsPoq}|:6p geϠpɗz 0PC -sÂm:q &20rQJZ;VAP # ~R#wdI8%r"e.I8@&\N3;y(yx 8H?ɧ)eb sfK@ K08 |`w2 H ! i *+# rOU i<@ D{4 Ui+)] }\6J#!&"ǖBᵎr K;A*a 2yCUf+{p 8,IL {hԋizvW:d:J)"F8:|z-(0pXX?IPORU|a!򲪲Wt Y*B)}@"$<&Z 2 JAњ" z]J'<8֔5X VԈ(z X3"Ů 4 п-;i0T;O{($ZJ8d'Щغ"QahєBE\\X*u jsݫ͢=9U Q<Pʼn𷭄+Yb<*E c݋T=s"SA,qΣS y|-r d]as=K90BdFn6bx~&I$G&Cʘ%a( 0^QfǷbEM #{ptHy995PlPgp`(}hjqXuȉ^[v|f  KXzhz' J3bfp@po}n i@ŀqǂX&V&nlxY`iݭ%/^}n7yh nuؠ*΍ V%c t B@D>`` ߎ73mm?}?_|>!  [qAw >$?}@:  Oky@0H0 )jY `C  v߀ @9 h0 }@P( BX|=Owj D2P-|ip($bq`=J=OtE=Chm=TOH`5LNzgi x `Lt'w-$ q &G, p򛱬j~'KglA2N7l,|Ÿ|􆟱c I0J-@2ͱSdk&6y!!"~~!*:G*P;l!Jk-#x~Fo4'0 ڡM_4~iٺ4zbHs{WUU4Uk+Ս Bה32kJ׌xQ|0GzǁwGy37B򬎛4Ͳ U}Es alA}S\{ډ[lrknU9vH-`V).+`(/$ rn@+@##K>y+&N1iK :y}j*nu- 9q^h{Z_}7}'WՌ0{ǩ{'wyyqg1FǙ}#2/\tMM$#ŀS5UǝML[1TS*^d-2jjm$]+v+IME :vJ :#<*TU# &l뮁H(BSKuj흵cC̨@NUoSzEq\mHZqrT`yN*T(l<ŠØm^2) _.GcӊFmZG" l-Vӎ#Rh pY0Hrq6F$ths!|@J3@cvc?flh6ȗC G:\BRfl9"fl (#|Oy4Zi0&G`XϜs!"bfD= =jⰞI(+)J҄ER=QrX-e3VӋFPfry=F)PN #C@` 0@J! 0iAgҒi*s$ FFm2҈lZN~ϸ\ oCe "J( ( 6Nţ`B@iE+?ڛ=$7&TBHL lĺ TUp, 2 8dtQ dC1}j6K~}HJkAdX `CؑӟOG145w1a$FPw\t~MS,M$a4-Jn#BY\1q^Tܗ"{ =-' ;,m Z*Oˀt}3f`idRO.Kƅ]EAez-`K^#^aV@f-rTʻhm:eN5(PRsY)2`YX@ܦ|;-lJt;qKp8G u,هFʹ''by,ڤ$b,VGHJ#yq 7Wbz k>>%y2TQS`.u(iu2,>lzT2i(C86L# *DӄU4譕&#PQ*U4W]R,|#0\ܔ.TS3mf9T3q5ti?j%2[ $HX/•]QW܅jESl4ZT8)TD7rV::c\u~ng |pPYf}a| *@&`z ]*$C`Ă~ 1$2sA6`@ AaFXL9tvGɤ b ?@ Xdj!vav#Ō0IdNxd`D`*ObC! ;DZWb*'fT>2¤X 8`;j6BBaxU>ojcf?@bTmnl,QbFlĚa~t!8@,K,` <@IL8H*^0 ,`0*PA@6c;֩ :(k;dfI.k-~rE~+m(b6%:'\`l(>d>HWN3`&GJD"#tPǎ-8:aSDiSD|KƞZf|L4Mfe\U \RWO,FV1nƎ4wm-dO(*G#rX1¿( ĹrpC͞ZNq슅G."SŒ:(0'C82RpMʆ>%=0ZMWBMCy0D_NEu07%zbba2 !sjE`e;s(&8%db9I#(1YyNȨc`'H`M(xKt/TsJ 7uvK0i7+ʼ=#{i(kM3)@D0DT3& j+Fh(x|̬XYE^OMtTԖo-JRly[H.W rObPI"urUbB6\YTFj[)/Hv%ȤH2l? q5㯳[fK('#Q)PTHa&7XHMD5~b=$ Mj.`$:]As-,!bz9Iq` 7$ R4>!ԴCN6$& /txpAELXu6 )9(0 ]RsV$7;'*T!+cW57 KQ9a& `iBma!o˨@asCA[[x 4@8])*TGJ!ak!c``9bk!q֛ԗ)@^`&"V)5t$fJ&`2'G nC32" t7kϸrױĨ_&9MLۓ^TM!g̿C;d [% 2bw^}5@j!MCYCM8jIO\ԊԒw!s LNNx ~Y%QW-Ç,i0r鼗Jvst b$+f`-4x%딴xH.Y7s̶J; ! R&G8Q(;M M4rpW$[ T&t+e|8UU~¤|at݆b p04 0$ @p,D#, %IPXT (~>{>j1ťx]?~>@y`ј=GW(v=(vEl q%?w;{^xW*A`P, ovCEg#/g9&]@/Owq`<`8|N# qX뮢=,sjָv %Ec/߼H_6rHl3Ьh.2k g|'~5J漀kJ夯#g > @D@+<(4"أ.NIO ]uEh/"PhdwQ;Gxo!# :D>^3d(2x쪇˜$3OYXq4"БSLIf>:G.DgtT3y0]G@(F$tQy 2 ݀-2־2GgAp"'`Z#p@<ND"EA(C7"H^FM 4aNU?r>%`)U4 {GEc>Kȑ徭 r.@- <\{A>)c2T;c2iXL#9|*.Ua䂀PI!42wF:a! 3a8s`Qvа S]'z ;G.&%Mc¶:JHMfz孄IRh^FVN[JfNIxylUoyYhw=6>{IeCh|]ʮMjE6G:JGh?î&^+I!>Pcuq>x@F h."{ v 0*ItCL1=F@$` @\ P@h̓xrG 1>Pd @HAc,$A %G.Q Oz[)Ct .A6X`R8'g!iPdRҳ{3 ?A MCܓ_!yI|$A?@sQ4F8&p#' FPA.NJZWC~ ޙ?p30 cTm'$TӀ* qO=8x>vbdX$l8 CzO^~Ie^ _x"G~a_LtYÝHsP!H @|p@"DFc/\?ڃ͙ghhJ .-H/,EYKv$8>{ uy$ÖPIEFt܎ku$zPZtMk7+0쓰3YɄ]—㗙Y>d"N^J_)?,0+g ` G@ ~Jrt]ځo$j$q(6MrI൙ -b*PzXwiHԢZ;?0/&) )jqrK,a.6 j'&WKl>j&hQ/ ' 8x@x3@AO" (g| ʈ@,;:,!€| {?(v%a&RE*&+Ф-ӣ 0/B/CX| ӏ+)W|[%[>-p%[W,?x}3:eΎJ I̠ ) ezNuьuэJ0h}? l.]½i@D4 9$ 3 UJkڈ*ԓQ=R@E/H(C{@+"`f5/̵C:el(aܑ% -3`pbAKK)ʻ+x{Hz,'ZW8czs0t'0` N@(~Xqg|ݲM 9IarpH( x[kpxZdyYl"1aȘH&h(flD42}nP>h I!p{xV}*z!%Y$Xqu1f"]A:`ßџ=+؇7 rrXnѹpV{ $BڌX !``Dy4kgv+pwK9' A4fT͉r>sƉtL;YbDIC ?S͝0޲ yEjq]6:Y[JpB%;yЗ5" QԘ%I)8P c{U#U1ÃʳɰәSV=!E<-:_ [ɡn-E]&$Y,T\2Vl?:*זɪV+I苢:5 v/fV%ŃT=zB {G&ce"H1Zʼn E yhwzNxYI [Х:_=&QZ )ZXݑgLX؝'g;cЇ q [ DJ8<-Gؓ% !8"I&"ҢyH QqqMDTq`HCqS!BpߢtS1ASQbXv   A_S({;`}w +~gmu ~x@s6k5x8 K%y4b}Vcai_8 #BjqP,׽?Oy@P t/z ~G `0&{z1N{(p)ՠI\ހ''7>-:֜@+ߴێD F.:幉ˑ -klh9f&8%E$q" 0L$e!ф8`0m^GxS;0& 1H.ԗS[kҠi` I[/:~YgKcM~yyv9MjYWTu.3F2o&_Š0:4P4`#.GłҲh.IX7|KDnrl4a@0ՀX`,,YS %㭩޻ӂjJt[57Qpq9F%dR (ԈT-aQ,VÖDγG:yǑ|\G |Y x V-h͌td9f0~.i`7;~[K kpTm5$E<8e"6KvOxꩢor9-&rPUhΚqR#7U17@UD%L4j_o&A FjTO4jRb 0hhϹH"hٯEIqt0:a>SO M:`tPjAPq<Ǡ- ,O`D0w P5&j?8qu;I vW pN1  }}hE}0P"=Gäy,`L{4*()KI (eFLX/0P#a@8=fk!Ma!sx!=Di`LH1c.?ِfo(Dt b 0fʑu(= Az #vy kQRY8a*BQbaΚً<`~*fȄ6 -K,UJIA!/` & KD j~W~ӔadF,٧؈dM+hn$ %@?EEɗ4BvT%9@1k7fnFnúD1+py bd 2 h0~p,FoF(aɊHzf9S`laG(v-|"xt)A6+B<%4M^ #hf[$(AtKNӶiTg:C=N'Stu0g41aJմVt(UC%q +j(B yi-X6&`X`NzWtFSoIN bp-gָ#>ё:"̙34AsWB꒬R-:b,Aq6/&3}SQ0~ffy@gKYȒGRg63t[;R#%p9wK: ` t{BCg[i;%&|(j0T]}lLH>|%aaPp aS2Ij@8@Ya/Sa#54-}Ͻ,{tA?b$r[+-!4 jtђnK<ŝG͜0jU2aLЮߋ`t&Mh3II I\ĦMtfjz蘢\eO zrٴH]&xJl}הI;Q|_idwAQǖPyk@-|2p{+ Gk{`&@~?H aa!`PPLaAd<*2%B!F' BOY`,`@n rO1<N lo$D8KJˁ) L TqμB HA#D왁أ%a,G#NXdg+e x$9FO j`!$|`'rrt:_>1 OnP. @8eX%a!GȢ b`&.oDI ,zl&LgmfSEDp;$&;Bf4c£jbR*E/xZ,%db#9$4>adD9hC$x<1J|b0!"c>m=ü!dD8`R8 v`:g˺AcA?HW!Bh]@G:Ȥy̐\6i:‚pWQID瘇U:D nh}-rҿTdpSc+&)s)<)Ml0,3-1,V|ƬRᨚS2fT*;XmT%dV(nXENC\pFRFJ2֡cxbj9,1^lVfL%$b[dB6FQ&s *2M0-dc/Hx x̊}fl~'z#)M,D@BB`c55ZcJKU F&-D5e}s=w@-HGCfz.J14R₌3)\d^&:C@T zD/CFBlcv XcZRXD8^q҂.BF=P-1h9LahM27&G*(F_`N+X#RVd1\L GC`Ƙ` O+'kIQ$MSYkCJXl``f}c=bCsXOҔCVfKc>9*Q7FYc/ 3\<\ch@3G=0+$q9=CTXH/EJ`.,і 9j#tF4!T FGfTpgC7j'1XX. ' R/od$ovNYrr$!$*U_ØЍ^52rTKf1AYL|gaڢb_[v36=I䩎\UB>@ |GrƘT`>rS~$ʯS 6pUW`]2",2X.AT\̏He!ok d@P#q`Ys&Y6 _2E^pCC`6 <)\h\eW5#޸!֋Ifo cf PQ8j>UULyL-2XTCCAa"nî4o$@/s 0 v)eRPRa4Q,< %!@`&C.gS.ژ&9T(``YAA= JnAG"+;rV-` zaaS:%-@4Z0l@Cd%wvиV㱥DV#.;EMýC ˢ6\_bE`RD&(,m5ZtCoU-ed5cOX47m03 xr a bK8G|.OC?om οbc$UJ$2A׃64C N p N)v_.{UD\a"<WB  EQH\b3= <}?g}>~ˀ49bO撐@8R%U@`Yl]cEpb>H4RϷLߏg4&OPCwTf C00 H8 `;ucU`1r3mұA A`, @/Hgw}l:;R) zx,+*r -ݣk@v;`#(|zx')V;- *!" r)ttE8 *ھ!{K4Ix%*LP`0M :2ıp3(y7i\hC"*ۨnN++;A |.Ah$0%"3=⟴SO7l̒}DAT Y%ScU6Teέ/'?b`V4B "Ŀ*-!)©Igj݈i<5ӋAfѼj`P-S@ > ̊%"@qɬs!Pl 7Y-:* xNJ@J:ȢN/,Œ@p&sǑ^Sgzʕ%~x@ . Za@ ܌ }71䢊OrOi⭣;g|'mFy *pd x x" @$ \ΐ" IRn(jBpx4Hv#^y ҁâ$ A` P kfo@TBɰiQylxu h㉐1w3b@pD7x@dѱyC~s9{N X:f>ҪGV1=l8APAN!~U&̡m_K"<ʺdK}! !JXuJL *h$F"|nDHA @&*,\@ A8 z ԁȠc`.M@(cKI9+=CʢTR8yE7+;8 VKxDE #V\IYd4W$JTEȎ&/?$K8BQ*j@̤[ $oy♊ B'y#j*#^O%MǴØq!.({+n($pG6Z<#(dj7]iuS2N> 21rXҪ":y߉q.t)3S /Etޞr/)X˗aq8zO=f0&V$ ?\$`.p&3JA#m:$VJ82;Vcɋ/P_)-å F 8Bh4mKNDgf$p⍾(y1 dP,-V(txNRM T?IRK{]B2WF->h͚GHѳ*^Ҷn!3XC5+#(>Y  E+̺,!:QQk?J 2rm%9qGIe(Q$DY96SXb^-ed @ * VgZ5b"D3q~傥~ݤ"h>:g&A( i 1x +Ȕ ^MŸܰ@h 05 TPd̊:J|]<8DhfdN@1TZxh Kh 1?@!m(0.%DڏH@0pPN)1OLj dcpGk1k a:@ż*PN4m(-h SO #c-*)}R+t=Zq_zs^@_h: :@!3ƈ#F7C @hOyLjZהĕs15΁_șCcGٝ-"G#kXc.F} w^>q јd<,G4PJl0b4GXD;b/2@acp  N8Xмjszxxy0.@ K3= PS2W2(} j"1i* sAAxz:m20AhjxҨ$< c4 3/ IQ q5㋒08Е*(2UC(\Ra*r453y)в*1里ץ?MCB(0:;Q1k *1!<"p{1*0)Bhwt3 hYb/BX+D!E(0أ3R ᗒ K533 XFZH{&0(Q/JF 3P \-8ՀHXQ  9pDA =B8 PX5d$ Y- 8}|zPx@*0hAAЏ!8,0 |y *ɚE ap!\ @rd ,z/` ]jǦ=/rny0Z=H(9Lb;Rs:/<‰&2IC8: ,>:g@Is7&<p<éP } ȂT1|0l9Jk<20q)3A.4K3 T%<=>1#ȣLFywkBP2>辒~@jT4ä6Xt}8`@fPmPti]1v B~xruhdpx)xzs8wAA#P :8xyN-X8H  `,Z& Jb=SQfomlO '0=! U@ӹ:r@&R r*-0C  P|8tvr <0J^X( ;psE5=S`>x`zI| * #=%"Ԁ!ϋ(AA΅7}{3CΓ=ȶJF k++1L툜|C1R Q''* € p8kmEt Zo h΀j#Q9 ) Qx‡ׇ x @$1 ̅SA )Fi%8ٝaNJ2*v̖r? u-yiD)XCITCHt:ZS(@(qfs>XY2CQ '̰+]%8N@OʋIA1+ BPzWrBֲrD lP.INI :Pwue"aÒqaEH"Ҫ#="(謫pEUW-i =h2`B`r&qj0c*K!_t)xmAس ư Ë-!# ¨aTL2:}k ~h=-t/٘aCC8J.Py,,&B **0>ȫ  (߉\+ y#!T3H+5@ىl]rGPj(]n F9x&jlb ȴp ȎtH.H`30d4UDB2:! 3!C/gM4ԏtM|ޙG8-/p,NӸG#J)No-ȥ 4?;Ef1|}N)B,*3Oz ϣ5nk8b %@1"e9Yr$ ীqhY͜ۀ-StS3X (ԀZO܆xf_m @ nR8vgr  h"B= p -!D e` 1~XigHt1x gGcŽݎk0"8 xHԔA *rm (Qz=y0=x1ӶƆa9Xx}"H*i} "Wƪ !8 4Nb wzˋѠ"lj1>!ʪUؓ΃Sp 0 HgPitJ+$N"y~Q#^ ! (_( jqh2d Z  K&dZڔ.ܝjZ E*KcT!OK-8ֹ>[լ45k]F*Ս8Ԙ؊(Ga7Yw+0o"wQ':RJ)BnR_ aU:HE7|f%HA/+Ec|zC]~,A(zxꑣ>dS& Fp!.8x #|&I)y d&u L';?8κkoj(;Ѭ)ڈuf [- xkR`3>K-xyr}#O(2o~z2Iڦޣ%b˻K̮Ƞ߽Ba`S#HqX80x@wB?ߏ0~<G0_HhGc & 'Kk8[MC p6.GK}aP\~;o0(haIO Wf^0gaflO7eoG \ybP,ow DOo}؍8FϾ4 L0, u:܎j |w@ !F PyGsNLڟ hAG#3|{.ű6 0 +qd} `@&C.| [&J"ǩ|/# 0ۨJ0 L0,  9ibG. 2aJ({ y'.L45N Cʏ@z2+xy Sƈgx'; 2m{S^ 6ʫհ,  KT*\$*"FcZ0Uү0JHO ²Ȳ3$21;5,;<,M"ϥ"+};`kSL2jv ?yc OeSJ½$*~f/eSh,)LnGɮe~5$ӃŢG +}9;)I,s,+yª2p.4l|ۍY gxwl.5;b(av~Gf(w;]0l0ծ Z:D*Ry c`]uVL8ȥNv  o"(DT}2<2XJƴj^cшzJڼǞ0- "& 0?:jEybLZn,SE~bH Y@Ԭ|x m( c!z%F=cw_XOi-/bf%oCg$w( {BV>ozиTr4h썡)&E9v_C+kvg*э>8 @ Qi~,d0 >ԙ)ertGp6Z@@V* D8dƤ[t쒂"a>9c0Ĉ"?DWc% ;O >g0f<##Ι/L9ff2d v`<, vN <Dg$ɎJ%1X/D:laD1pJ-m4ꆦ9TAP0"4nfe 5&xfG&IϖD ,zb$.HNI,:4:f/J?}0Gx/H9Oehd\^hI>jYFv~_GxnU hA5̓2Y+kMMC JS &c%$0f2JDxN휤g0OLjIJ'Զf>18%ޥJl10֒hs;sn~h=qoԡpMg `0j0OfjILNCjN*b!am/S9 ' | @̦NW3'k<a!`0bR.$$Ka!>n2:.$c4hFAE$O,C^ 2@R#Ckm} (go}Tʷ}A@J4>a" 0@^T|~?cخ8)璪P2?V0eNH:B/\$a#$|6,4NBCKJrōDcvHk/i&/JK2}ic 7 ,Zi5ti:! t42~b?6eYD?gtro\4y$w&@(pAډln N/LwCgnsWvfFvJ(.M*Fmm<2!x+#Hi1 R U?(bV o@A2|Y}t/"2.NN4b%^JD,4(eo/A?`i~#FI\셯ꏇju5֣h<(!XOUtzάb)&sDUSg3Qa:fr0"a,8ɡtzN:I" "'(<BueF$pII#[F h -yRF|:ϸsȢ.Sܕ,,`$տKCV9)p(/ND}Fh{DDd@Gz )Y)%)^LƄOD;[aOW[x92)=0Ck,wXw0^gb%B溊YK)LS F$qL-iFw[ }fuG)4p&^7PbaQ |i^-wH|Fkj`<7>vp&x!6 6qڴ˚q .Lx$oՋ[c榶PIPr̃,25h0NBSAD#N>Ձoߓ|c~o k&f(uH 0$.-&"N3J!ɬdx?>ncR9-̫r1dGn~D4+ߎ{cOfKΰ'qj2rBcZ#dqjLsXD}$m"9TN"[`%N ъGy#_ȖTmRs&@:ֺ@DDOW  A߯ CE@8 b4yMctfxjb2Id/*pJ,f ffX`8ni_nk\QkMnaoJt&FٯR{c*74v)_3g'S0@ /76AvyWdךC"Y*;wC8`}?" 6{3]Fپkf!x X, X`QYx& gz'b AlɁ 6 K @Zhj2zMM毦l8uA4^|@D9:NE{O/T}gxHĠ4[ +i1 P-hTbJ8v%뀂qC'@Q@40H h.8dA;#edDH3*|]ǐ BMIp@\~Q<9Zbjd:B?%F}@fKxMC*Ǭ#ztn%(a2mS`zDSi"1h b1c},L9>C|?#ݦ%RzN!p} H5@dӔ% &+ $v !,Ψg(DRqJnGC4BHLfx*qtR{b@MʜJ2 E?ʓf(KPMȩj)Vr ZT U H#YTjQ]GUb$E`XV a7MƼخf|4W*siJlbly{q=@`{{cELk^Aa1CU $~ay'A(T)WF <\JrhE$Pz%|ʁ(KrDfC ň3j^)Dy!Rfz9D$JC7(p66HRd'f2ataVĭd;!!G¯J:0bȚ?WkxdDDwL!nEhm+{L5D6/?xjeY3j Cib2 &͞0LT"d9zrI3THbOAtmY hh3[,UUg8Գz|f&FNXa -$Q6Cl[`O4l+%2#@.`d %,'N@6 @vY=W #tn(lv,GpRq>f=WiSkDt}.A5$)b͒{DnĶKY".' pp H=%) K" ]UH`  ̚)Ķl"&qƉ2#`1(|Q=qb԰$>%h 4 >ɒĊDwmC?h\l;GD'{Kp~xVR~$z8Hpm QRGx2͌ !x.(` yA>ASA~9 Ջ `C{{}}"X'.0 jԨ1 ~ `,2E] J5h)h)W6k6(t7P*3 + *8+ Ih«PJ*Yx;Do Q#)3"WDڛ\V.R1Di&ajqsx  :F )3ыa; R,ɠ:RA{tpwII|$y뎺W#e @Aa~/=p>^3)3#4)x ВJW0 B2#5j"HY}x2IbXhr0Y %4A=Bw= T:aL(sS#鸶ED4!%X}8?1ɀ8D ڣȣ(jy i+rP7B ӷQqXfH366kt8" Or|c~V ̆t4kN ȉ9$}X BEhЃwS! _\:ހ ?(덁{< X~`v8^[X~    ÇݰP8vPsZ$b7 蜇 xs0w%с1(y# 0# DKqP8Č0 (onnp|%PN!: Y Ȓ:  X {L=RxP鋳 Z + %T# <Гxxxy0q<ـl TuXu {>jsI6-; )0{9ut xz zomx)FJ Gtr`?~Lx '&]&y@xxrx̒I  + (~9Qm+Ѝx9*`L!PY yhw Ѓ|w$90ߧُBދiΒ m|0C(Ah懪byF Сě6&=]uP AA$)܁x-y&0ȓOD0V$Ri$K#]ڊ%G%rU7ݕ+эH +c*Y J.]ERd^SvpW)?0ȸ6hAϠ L 042ԘCOU6=%@wuGeDյ_͌pÎ W:2~  AL aMB'M:.AdF{a%+8դIZ)se2/I1&3X蝗=9.Nɷ6l3CW$}0dbf+)x{Wn`X Q0PYx"Z Ȏ}@wwc'74$bsDH4T* D;4G"[{k닜=c3lC{ خƈP| cGl@X¢߈=2`c Fapފi,mRH*|PM5QSQVsXJB,YDq~lg_ʠ0&6E0b"yက3(jh33@p p j5h|Fj)c@am mm8~ i a o hxg_q!(]rr3ԦYDK"H`=FÈʾ7p+ b$(,khNB,$@0:r.i{70p 8{ cJM 6\ X :YQb~>lnhrH-<2-Nྙ=y݉, r0 {(ZXb$AA[le:V$xZYHd3JapwY۠^],fF>-+}QZI(}pI 1M49 mW(0| CݲA4\P [*l4bڈKfՉ]Ϥ~]TEt6ѸOM ?Y!u:U  m`\00 R\ gY еŤX[‹\OP^WK*  g #,DuFBE"g^ ':uSo]'UzxתVEt11¤]&FL%KRuxh{}fqmɩp ܈%r:D[XRለ٦e  ̉gdqF+dȏZP-:v4E7]  jgp@<ijA#PzvKoo 合dUL['7l"wRGr01(G׮S 3Q+cЧ65ȀC pgfe3Q&gcW Dqh E  j| 0+J@`# D!0[%` %%l}VLzKyoi^w~5 X g!gr>_o`8!  I?@`Dl8sϗc3xL 7>@ y1:}#0r|`8) ;`pPi[{Z^Ϊ0,z-Gu* 0 !BQ?x~G}gnAP:)26M53htz%} B}hCmƒ!-tBĶ~*6Fy S;OvΕ[[.yf֞0 xc5)̙& vMZ؟`8/ dX Iܑ@h1s\ 5 ?*G`֢Sa3LbV Q:&h;tmQL.[9g:DywD Vw-#ZDCGD4Go,{( %rSb|0=G|uk&C9p胏ն![3mQ hL҂ BNDkFSjDѺh>.LIJpN"A1o<\RP9E>JTHOԜ7ri$6_EכPg I\Kx,pR_+,=tCatpv'ųc!TMdi(q:Rמ1)o'Z;"T#>, {L0s|VSI4' ;V\C3 5Pq$9tL+Ld>eL=lt`HbM0 5i"((=X QX2V!0lc q`4 (2@<aAcث 6 #qqk 1r B]icFt 1U`oZf`l 5\ DK(7o67(tr@6F0&KD`HP*'v,9uOkge6cfvRS"rc]AI^&YA >Ôs18yȎn 2 AĹ5j}/hn@"&>;]pyp}@  FP2cVP:p| 󇛟: RhpZ c4ez y}ُ)Pv5`\Hglhv𻊘LFԉ>1:~$E^ׅCsp 9_x;x߶#!l#@ ! X [OP 1QH.{Fe;&Nb0I^I|LgQI)"dn6> 6wfD <;q%tUM !0ܩMs)K2ߍ4BȞA`6H(3oN-4^cg=r(@ׄ0z.oDuQ2)|Ҋ0Ue.E`2z:%(.~>xaK]}8Q2twۘlma@^vz^Pz6M{T){-`pоa@x.^wg殘Jqhg@mn8M. MJF%po>@DNAK8J~g`飤!)uH_dI ]}gweFf<` p#T-J j#pqzB*`$C9u$u`iލ`~&MjoG0:&"J*&fjjLF(fxmJ !$5viZ g Nb .Ϋ":wyj%Nhbf*i#i|0N,alGq L=BgbBZ!0Om"MZ` Pa2ސ`A(:۠8 >P׆$S3IJ"xCb&@zV"Ħ @ (@&5"RZJT:#\T`*T<FP@\\Kf0:cvaDrk\!"!"w)&$ Gp~ 5F'\abb,eN LI:N}ؗ:A$FL0IZBY >1]7i}˜DĊeZ¸O(C乀` f`AaC 䗎G*FȒott\[FMB=l_B!*ZN`hܥ"_P֐ÞB*%$1L%e#iLi#iy"'ra =$BrqDld20 dFΗ 2.D;&Y YD~Y(nz4ꍖ:r}>i!AZ@f"wpl JNOb&jag0 E0nF+p謂z%ϚT`EUlH^AW0~bN9)h(H(S)S Mc,]UH-GIBXj&6-jt r if$r+nHoG@gOr=qD%5nLGf5@85n#Mnm$-FOxxPwK&#B0%ybp yt%FԁYDt4Ԧlu!^2^`l.gj>Bd9*ːK! &2<Lͮ5F A,l8 <:L :)@!%/V2GuJ3$:Pl;<@.$ؕDAQV}=egГ8El"W^!@*`8-rp#`g_ m$rx8͞,J BYfbڸNnq3 &L-!_5 |B0:` -k.aA>)?nAA5Sڃd!+B(aY:P(H@> 7CǀG'XN PDWL@2-E ?gKe%# $BN*B*i9#b^ @XACdd2`\ *>*r"F#nw8ntbtWʊL&`i'J%ҫDM,qLM"3k'łMI@$+(A,xlOpBmw@V@1LDojִc#YXf|E 楑]XZh *ΊčotMN~ng 䕓A$=Nyn4.D}0HW6wV!\P/8"#-bAnqʄWB_9.zdB I/m+7<5B\_v˞(#* V 9ꀢlކ:*vp`17Wu9VwfggV" ftb#BY7u"O~*"Qd_bDHmw3xQRqysДj1׵n?V-SЭ"~{|BuJm!J!!a@  %\BYU.G"l`f r!Df!F~6~$n^g- 5aaGf{cɥ L"PTRr ҔPFb>-!D i]Jk=gB$[ yc7 n6GMh0NG&6,kAvF^igtC - pLz X|az``$_BĜϙ*2 Ea߶90x,"Nb#DtQ 0ꤶ&0Z" ~p&qBpw&La;DF"DQfbXz~Y%6pgF`6]6B_(= AH}Ϸ@< p8~âHT2|q6Ǹd2_cҰtTNkO?p%16է^3- 2u`ު8uRҭwUv\w[j~/*i; i?2(8,4++'2+-SR>P @0N (2E+H&7+d@ } 7Qs7Q-$ŀ@0`"`0(ʂMJ{~ʼ WKdH  1}DV({J+sˮ)4 |ǩxRxhG=Q A=KC.aV.P K+qx4a(J̝\'2n` ,%< H`h^ `ByܦSM<,4ph< ׺ *'~3 1@&ն:G 4 0Թ[>9Z2;X9uz)n4{%za@>.J<܎))b:@`/H}5jlq>ѡtn ˶`Q?<A6H!f(t k $LCE7\q)搱A91i0Ҡ'@+kʱqEc,J*`%*UX>hXCcBHJȒQ`B L <#P8 g|@I˥ (J/Z*sk62t0%ŦY'HUy/sl2A抂Gk#bY)ƹN!go1if,i5GW VD{Eaq h1M2I8`ykJu*"hSLڝtrfUH'Y'vi]ǀptUjRLc}'%dV>p3z$sXe-9qRlf+S4:ڵ  @ (4E XO Xlul%$@TZ)k4W6BFC|,u'STGMxIwFfsY*{5Fbq?*)t],z.c7)-N.e7-Rƍs (튋? "FHNc:#HÄ6n?;0ґ/1B̏$b&5FrvO RPPT `6b H9ZOB)یcqɍP $*0)j=Ɛ@ٛR+G cvTcS}r)O\),/J*7X'ӟ`ҘY'9qߵ0.j^]/xƆ9S|HkԸ~li=x{ *J8{ hpe@w(Dڸ}>wv@~ 0w'{]-_ qԢ. <#AlXs(YZ)z."c.I$9ހjC#pepg:Јm Q܍닺]#̑ &AZ_|LS^^p1rϸӟX 2\1R m@$ȱ-m0hORˤ,qcKD"% zzv@"G Isȭ3z #Ӧ}W.tPċش LOحES 5.d{݊og[J&C'QlZ r *85yQ`]m]؉٫ PHzHvÞ5ſ%%K)JK3bAR%MD b8ƳWV_LO P"zaH5BЭJٝbR(m*#C v-!%ad: ).eY"~u騼qB0zA{ Oۙҕ8iwxa1 M,qOɉJPcd+a30cK %A1PQi Ta%USm ,LBTc'0hht^d}/[=Bj\ٴMUIYg+c+&eK41P50!lDd{\L9lҖ{}+t K\O CsvpñAMHP[tkzjLrws P&S8C}* @X3Ϲ]% 0!0$ -O@`/!;GSYX"@X@;#ť3 *qwr? dFHQ4^ʦ( Y6ShK@@VBy7vUz CczZ@8zr{=.6T, ?nS}=ok}>cI1y=^W#!*H<z"g$4'iyn|:֎%+%~Z=$PH|`I'pZ-2(X`4L`PM As'{(t& (wN)ܜn.1r,êZ#N{ĕ&"~q LgR0 ,\SHq:òbx }Y`8E -/K!'jHHi}V'`@& "!Cg+W؀fUO*=Gsh0@]r'oGiҍ!H8yh2 6Q}p J)o3!ɔN;I}C;P솚VrXP샯lz@kZ2*joAnE\I:-%lZm{j Y $%!E>jL}jG+~\q%誳~(75pR @NO(Z\vAEtb&B& r"5,I*O9:pH@,l)^LkFA+ZB.Hn9Ahg@VI$b Dx.d[6t9zɩI%O>I4}6x.)"LUa@24>:^!rRѬ1eNn!R R "sL{dœ@(hu(C:Hr=8* *䱩g0 0@ &p@)`$)$$vHC`Q  DeN'7HgyɃ;eDi.eL`Dy72XBzrLGIð&,FG~bYKwkܔdIU@4+rt"S$mkP˙X\|:PCXhpEd|0 !Ada&G|>0*<CWM{P_b)cAH4yӮ&h@1SYuQbRJ5sv\?#""It,Q=䚍 aGal;m)_rISS$FFIH'{vl"LdZ+$-9(N NN~?0>B!0J9 4ecG>Gg23AhmVUww.6֭&}v)tGdtofGO][ iwL7w U"vJF$NćLkkUg'L ~}MB 0Ly0dKm/Et-$JQI'p{8[SZ%wA%r.HM6p\d |Ā=0cy3~I:`h(K!g)ͭNDi`f^ǨzzO>z<ԨGa@e>ހ ÜI9 H^btON&)>4- mv\O_;aĕL*"d(KkR4#iݓ4ND'm*D, HXGpT0`- A ^1OJa\†8nȘQ%$j(b@l'$F,"Vb(;bE) ,}4eu'2ON'q"TnST$ ȭ:"gZq\$NB֑H|Erf!pfEBlD€D.$ |1 Q Ɉ*!kŠ/;b!th'b8wΪ:Bz~ޢw8kz"sj)8Rpq-\C@DTaA /#(k\.f:A2,a# @ hA`&Aa.L"LBxSB"G&"'g4QFgVzdl.*Zt$[ )aa@"Upɀ& @N@BoO7($Fpm,'G(gL 0%G-NKj!GփB["C&!DLRJ&M!AML:l!W%}&D^ň?AR(ƹ&GPʌhɔmɂxJLKPZf p~⴨$!R'#~rP.%% iT4`*ҁWG `"B_ jaRC&g;JB4hu%Jp'nj`h>P,$`8AĬͰ0 `9,r"W Vv.0H)Bx b fr)P'1Xm CICBrpn9t^1%= j0+6sf_o}FwN%VŒ^R G$VȖ^Bz)kBF&ȯ _VJ %X BK,LL3Z5pEH$>2xBQ@JE, dS ڐI,D9&>J(f */RX̀ ؍x(sxxD(Cr AK ^թFkvbuM= "b߷t{cS(:kJCDK٘n늼0 N0$ ;<&B#c$EGK5 ^Y ABkt%-<ˑBuL^c.j +?MD@X,aڦ}M$ ~.,ޓ E:mB[-Ӫ"ĘuJ" S?t~;-Cb, lD 0? Cpl*~aG   `@ P8/ 0~HF|*Ià%4ɟFH"h$Aof_oݢjTprC$`j?@P%퇴^OGug^w 9.SE86 kˀO EL'rPP[|"fr CnވI>H }ӟnL ֟%G'0ꫩ -ڭ-‹02'򮙁 X"&D#١ײ )oá:Γ2 "6#3G|gyq.V:p*/ %"H b` /ȴ%( 3ƍHtBGK9| c(t}Gr+ +"IH h `pS9Ar|ĮK ~ S%Z`X&iHϱҿn'!)V* "2tcGNcg9J̭.}'䒠1,1q(H)TXc"" Rŋ7(܂rJ/ttaB;0,I+fJP.o_)j$ '`hF j&T@ YN@0 `(٪x'v'x"(\9tlvGIz1h 'Ix@D*ā[p?a!ϒ.1 # /XP'N7*Dqb-]pOHxwx ?/YY6 m4{-GW,|l`R b#:_*nQzU*xl^IA< 0W#*cؐ2IҚ9Fՙr}@ &$x8cr;ǐ(M;vJW8=8es?0匐4d`" EpP0 ]OAⅡ1Z,Z@Q>G Q1<FWMdT|gh TytNi@f @ e=8bc@&eL=GVvOt@BH 7dȱ;}A,z@|S#B@PN؃.8)ʬh1GZˆ !?|XJhR.l/"hIMlVEJIy:s0S&w&;`AM@yD *XDdrғC9B`{aiE4bH Ag v>qu(RnKs,Z2}1nhr7ؕ^ɌTXcBF, ijwCTYr)+|~*@tiD B9vhӒ*FK*(A%<T/I6C[ ݡLZ]NOːӪ )^'O ?[&:GMz\KS2g1XèHj9d*G@0 ܡgtF>a Ym!nDbk|u"gS`R!SJ b%eQ>btmb>XDC}Wy HEN >$W5MQ-JsdrZfԭ)ămsvH DP媥i255U!%dl]L+PwI4cQ&HsC*Hܿ+^>dFJI|2[4Z:g B:_Pc!$'EN/Y:JPٲkNu], k1z1 uQ1"X ;]LW@  (Ucx\qR @#15^  8mЖGV9Z'JDZ F>2t`YH}+|7! c AQqͨ耔$ S(;vdaCE<7QU7ǩ#\$I*M AJ+,\ +`IysʫPx'M69EMDiU]+vc.R<h}ZǹR{q:}HɍA" @I*'zwBQ#HԨզ .  ª'B"v( #v5YP␡ H(ቓ!t6k;-9IXBH4H" '(H K$-63 , ): ;u8tXw 21qB 0"RV K_}Í1@ X5o,"nF!2j̎.2#' $H*$18BÈZ+ >$ I /)kƪc両r"Ģ QDDAQF4m;@A[)ɘ, +p*TLR_0ߊxtAqDj; k4X F.Zpۺ Zb G/)99MHZ;5kB I)s$ q,.XJRKBKH'q:iīN&S4+חbg4{9MA Y7*InSR )Ӷ( } @}6b}6iⅨZz}H  yz@pyt v  z%`'=u_*)$ `dP[^ yRIvNX닏;T| 3BiL"h`6鶫Ӎ+؄J‰SE8"FX|3 %`8 L58X aȐ"$2X-`xp9P mnĝ:B*ߨO#I2 Z`#!Dԩb.!KLyv{Z(r=ЇPuzL%3>D')KD  # _0دK!-Ibу{Q\1;ª5-! pr `1+hiXg`g ||6t0tPuys'=CoE2mX@x; KV%\ a9hg|&ʲ4Y/#U(KTT'꫑5b )3bI,30 ,$Fk?CC8[-CO.Ú `2ȫHΰÕS ƯF̄L3ՈRX88u4!*rB K[Evxyxv|įB/QɁ yj\^jIBItk [޸|!Bq摊۟HcD玩2\rA 5RcUN܀6#ȓ+} J bԈ]|ϣ"}|`Zx-4N€JۈQQ"XPR\kƥى )Q,דּ߹ⓝ0$u* J􃓝Ѹ ^Jp',sSs i b!Hi=ӈbʾV9l1?JR.L•t"Yۊ ^ eQU\X_% NI3!R)yZSǍ7R;r8|yhrp[Xyh$x'I@zxzhUq'([Ofhe֐!Xyi8"Qhb }4Do0XS(#)1O?= JQF J#bi{{yUjϮ#TANɆp;̣QC86a  q5F'(1LǬz ; 9[ !wPz!Xt}j,:8Psn-$(%i=My/$$6xJ|[,-x hL LI@_8{ Xs(tׂ`xk;)h8(i~pyn0rE1J<BEod}0uA A K'ǫ@zԈl/K杲)la[CR . ssUB!](NpN(4& @ ‰)4WA}Dld¤"&Y8 8PBZ9z0'pXҷB"0R]vXx+l]4–ZZ8ETϋo P|I$*;KT`>^a+X2I UbMd9P0 &k 1vOHAbsA1=,0IY@ d 0⩙8)*  6p. ֯9۲Sjw%^ s"$x鈵˻/><R* \HYKCun8} 30Ps1pݣgh4*.H `vJǩxH*9H( ȡXZR !I*icFe<ـ|WRe/pn$T7cj 3()~#nkhggu`rɀIwa~F={>WpW T,_/_!O4p0( @~@@<&J_w\ QA S5 L ܥ8}S#@@ _V߯O+m{)l Xhw炙4@| =e S[BtQ@-EQ@ ` P,1lDVHϥq \'6`NgJ]̰,6UI{^Fg+j*p|'z''{GảM}zz' ¼6` "G}![hIDy'~bꊳ5.4I4'G0*m {y{K" |o80Ô(9Ěm̐Ldt3R|@H4N ub֧0 @~h-.uZ-ej 굠#,rn2؈[-yjVbӽ:|iVxġ^IDZ_מ}.=XVeX#j t8I}P .W+'J5֞ a&s-}N'eR6cC2+S^8r=ɪ<ȟ۸ѳoVzyygit)Ҁq4,g{K.-:bj: =[6+$ hF<2Z%8d3\biL|Y7~Vwdzi]R%#rjt|=?Q6Yc:ݝ{{4}jRkD,O.ļgBJ`y1;`$g:X 0o`U0*Ε/t䥦70hH>qd|ڛ$&VM u8eF+񅥎>ʫ6L=24q$]jJbWS3 9/i| ^rMg:WhaDHB&x׃ )'h]1a1bBH9bjWIz7K9f-+WrZWym تsOԒ*9(:x>` Zf뗍00'  $=@ǐaG |AG #PM@&`@$ȰWZT;ǀOcp53B&aceLF  \e0LQTQ:'g,$br> ;`gzO1 jM H 0@Pxq!L:x1$``ؗa\A8>5E@5O;Y;#^##Zb4E*DhGL eD..ɠcx9p|ìw>4f0}vNR|ՂBW^e;4\S03̕ٲu9!UX J2XJ'1;6o7r<h>?F`F##>F`$LjHayvN̷3(egyeM"/DiDkdz ϥLXg10FgZ!̹-HҢ6w+W״)g(8g@ඩN"$L)Kk#չ:`QgPİ`y%63kHi RC5? lׂdWӑj4 !. ]:9r\7 cgKCG@."Ś'9ry Efݥ+.$īF`e0r*_!NU]%GYs3)!'R[Nrq鶾mv;s2\y_*\"{IۊҔJ4r%NU;'+=.8LI9`q֚ZzL"FzL\^3ƖDǚɕ*@jy:ؐ^FaΑ\v{5;@\('V^6p`|}䥁f0~RL$ WDnNPf9(@Dr\2.l(ZǹBN,2*DLBrĔ& y 4,Gby%*\cJnY !ebER\c^ldfhzͮsZ^>Rbbb(=:^kv0GLM2(C`)HBRuE?#(e|_И,3"*fdz&G"D]JeT*+$v$rƀ@0D+a!n1Y#Q7!1"Lv(iBKHht"x`L,kG#pQ!ucB*N3%5*KnU@ h`p+p)T.Qv5(wVN_.l"gnޅket`,G=Q[H xrN(1"5abPt9V24! > 2$&T?!'tNr-Jc/p +OE&XȆ)*ZbDُ!8"BlJHgG+~dt4(aPI`hKt@)u`"bb]Go %MUOI Z8[F&)b:D@eui"h_9ԅC9 KSb;+;\' =d,xfuh'ZM>[qFL *pjaz"rF@lb>L&h+q70nĞdKA!@"|hR4@20j(&g'Q5LU5'eUB%!e-1N}C^E;L^5+l6~8'\EN,.Cazl%0&ݓ #'Xz#+\."@ 7  !#@0B8`p@ YP%BORAEph0<qHr~#8\YQ<)Χ ~E0 nAm4ΊT@`@ 9@~=T}?3ɐxwhGV ;t@\ dgLz-'mKTeEG1Ӿv(D-Zmځcx^}W F0j<~y"$#hcz ʐﴊGҠ ~-Nsp|dҵj.` ( 0$ڢʚ)lzH}`#/ˌ"ѫ Zk=&,2r)1Nrm.˶Gα6CHABl9Sz;ۻ+28Ώ KF, -$r8Fҭ#9( ҫT.}@(xpP*a="<)/eh[tDhJM.. b?7'Iܙ)0M*(!/B(!:s!*v;$(fȵk  mݷh$@ X.0qtH/R+ 6Y vҤgsğt{fsg `^ y3$': 'qyCR(gپkGQrMǷo(~ӟL @-Ԁ|l*s3/~M`lXg)Zr-f\QJ)M/ht]j #<}&G{_8< HB-$p뒰uH`K  @q lN3^A?j w>>4'cx[7KDc  ٤TJH9CÞQl32;M:X`T CS$IطE0*<0> 1a>@-`1 qĘ~ȑ9.̷.DAa+aH~A nGlT꩎aVP,V=wa>KV`?I)l x!97J8+G|2@vJ/ \ Q=?KVSn#}9s  Pr>Nt;^DBJI"ʂD_ٟ,DO cu>ĎW#21"&s Z8aM)pP(&*QiM '{ >])%UpZBȌ"Z2ˌ~󝢴 Clr,.}sdE~G1#V -tkr:\:DK6Q=K q=t+pʼnM@@4,w>xyZ-WkЋ`8 P0Xcl JDƠ)<xݠ`'@whzG4d w<="W% hG}ωrK!5`0*@2xP8͙#+ kb^yA'VBXryLR=e Ȫ-|FM+4p,3dQ:`{ǛbA@(lbE7MĤl7 v"x(0zf0Rpq(CfA|*0)vXpxv50zxaHX;X.ТzN SX 4 D`tRHpv2F #Xi $ @}(IB8qHA3n`}@񩀰 {h@a:݇{{hpր1&D+"gi0u@ad' Q'P+zP“W ch'0p`1p{  D q ~+("yA"ப* C𶩺 'TDpDr@* Ԕ7BK?ase!E[E׊1)y i#/KV!2%#Qo D2~/6+Sr9{%yHucoFc4= RmF2Ю-)A'"<{T @z8;`IzDEqGF-2ОP8찒 H$)h x t2*-a81ʡ=[; :D؞cTEq E9 xf(R 9;E qꡢ xǁb1@b2i9 s  TP) bKyJaŋ/p9I z9.(h٘LtAiàp&%*:7<|SBA"8 騿;5+ńhK!P $' @|x5 XIFA@yz{:hvɇj[ Иh pHa€}f jxg%8% (`'{ zBsxp~ yj( !@I ,.yͦZdGY)Y^Qއc(`!aiY 9*ߖ1Qm &R OqX#@ Zyy*¾!b"XPA,Mh !< (Njӫb K,Xv4_T.b qll s08 KҕIQ|fyNQΓ%t p|y, 4,xޯ )8w5*4y#ɚFJk8;-cN%d>.^OMd-F1`<;P 0݂.³ fQʛԒz &EpvW)AM93?l˦dU./xi: / &@C؋ZxЉ'.ȗHQH{; Db@X™< 纟]Fo? oXX~Q]!X 3=y谀 P0?'D<:Ǡp $?o̶,?d4!637!R@&I"E@S| ª`S}A@2/7=^(  }>`@@$(- P@`(epdTz Ogn;X|_@<*'lA+Utp` , `yN$kI,. ڮ(8(8 pcae=(H"#|0 y*i( )HA~r&ɲkq })V8g{jȒ3ꊱ{GqZ~Ig)_klPgڔ Q 8&ȼGgGP (h0z%$&2@jr&"ԨuR$" -U]) A_i聥lz&I ɨ}M,}XiK\#H8XXu'qy1X,AFpȡyaofw'|Cx2l,UZ! I5 MZ~l29Kt}B|DZoYPx4 r"@^!`zrYg@5=O f>Ǹ6 KR1. )$!6Z4r8Z3# (iزjɱ&],읽*(U}ږiɩ6v5r^' =s}(W2ϡ#\H 2 Ɵv,BR;ChFG][hzjTtԐQ9W 4ә7*l&m ց1r1<aw'i8`$DBH &%$PYQJؔdM><*&=Gx:ǐCN(BG7!#V]\@E A}z= Bh8TDI[1 4ǏSAɈIT jCi)U I*LxcgvP a(ѡi =%̘,@ e(RLa 0GTyVj[ JBjqSNF$=G%ؒ I$>LXPֺ:O9ta=%I@Uqaj(}L<ǘC>wJG̪pC2_&4J]#y58*:@x#wW0"qJl5ƥh $`$ڀ q KDxҠ ]DLpwa: P hV!"zC2tHp lG6)jIpz1\ZҠ0wM> !D+8h"_ 93d>ոA PH*XP[YtQFfLA!a 8?_- Z@zȥANGhCviQb |f=lC1H>G{"xX^p4@m с`-SW$J\r17]u=2C#%Ȁ2N ȡ$ ^WDfLa#v7$2-bкt\ɀ3̰ *vpqK 3F,VY%"HM 1 mq(G[9ޒHoIM+X啢'#< 4@**ǵT (ɤ ['y} L]B5MLdZ+X(8$hJUlf)@ޣAFު^Huw]2JVQh)#O~6Q2oa&VUOsb=(GEcV%k ǰxYr""U%QДs6N? >CR땼WP@+SGF*MdCEHI;DhMNDbŚj`x n$f8o֐b8tyLt0dz'¶$$ PFDbT((~ZzGbIh}(Mvʤuv$.Ĉ"H-b!!aCH6$bl tB.)01OЀ ֔UDD"NHi$NIPbGH`O&0d^%)Ɏl)\ nՠj%>j|;6'%2|ag$n MEj l`JJBLiPy2YnF T0X| 3!tA-! cM@ J^Ge"\GV 8(GC{/h.+kE-Zm`TeD". )"dڳHRFdB/LE`. 1"(5`A&z|@: RdaLAa 4(Ap =e`DĬV@hVnpDK"B$`6*|bbЦNx(C3zB|L)1ȌľWurWO @Bolw+lJ7$DO܊#,0dNE`GAm| .7!bIO!zJ(v/# !V4$Y*c>kOp0zTӇƕK.FwUF \@J.E!E`. h <0B%R̘eFYc.Hc !j4nLaj"!P.+r% `h.j`0ȼ `@WA2.!I/LCKe@@`*@IMt0&+ 0鈤L*І!evT)6BB'ܓH4LΣJv.UIGD$^. 0zΗbdSqdvIϰ(b"F*K/e(  *8`"kF61 (~hG BS^ f (dC/!PlHvr:aȁGuc0IV*V gGR1G#`>`:Qj59S[S(xH'K}H_~xAbA@ ^^w{ !!zˣNcF.|Tl. H)$l{BRKukG|&02" !e(H#EiPҡґ*3nne610*hZ4(Z'uZc>@0 R?+0 R*`V`lF`,Af H`1o**b*)?(;&zX#iD!$ ĭ,GH}HG֨(It&j$!Aa( 3 >dF= i$2"4Z.LU P "gQƮ!L&0&5.:zF5%HA^$ =q/3ɒ,sBzf/Rq4")XH2j+Xi:p1 DYOx` +yNr(a`l%ktM"I@ GҨLSN:DSB#yVOR\%BԢF$UƧƬ҄%!sxZV`t$j ųt vgۺ \;7tIWg1|5"0jB^P(aƼހiDޢ/VS{;O *ZF!chVBxa*nB_Df9f!ҭ!H/Hv :P8$€Tn$-ak:H, rˡAalN<WH@nĜ GoɴD2z4$w_T0Qn`x8$dMf)w:W0 ׌P뢗 ʌ#a!aX TVqj!Af|C=O_ox+)%> H30)$I"wHRJxLH-II/ۓfJj"FzJQO/]( O?U%rz [+tڙ(#ڇ,2,jީ MwRjR o))h -T (r7ͽKS bPTK7}ǟҬI:G՘2̾(ufƵV(b47!E%j3&J)9cRNl7Ɛ<F+44&CN@(`YCy -؋ %E)JOZfdۀT`4cy O Rn4Cx[X!<x#ѣ%@ABQ%rx-E|1;Pq#jހP;Hac' @0 -/4@A8hA-v>ro1*Q8I E%>@ v':w0SRgp.,bC9s]e,R\]9$J#޴֑E"pp9hˣ}  %dFchnN?|%H@\lȚAO& =lE1N(F~+{\L}=9]Gpj x s!5|D ,<׊%J1$f?Ee=#)&9uhQ9 6$iPt{]"|#mY'ZImt]`p du0Ll 1hP*B |U41NB fYP:q=|p*#B|G  1f+ 79.|R) q^B/?%cQ%(2f#[A=V[\{-Hv\T%[i=/MّMŜ+. !frM*jsU(`&RVU.0Z.Ȅ%'?},|DM2%3.EJUT6!]/8_Swu׉]t]03J?0x P)>@C!w9Ptɘ@0[6.`udd״:҆Їi2UX+(' X57,hlK o ILj6m*6${`kLܹ6 }#56) Pɋ_KnOavI3+z겼vռ2K*qNyyrsufьnx]ΚCL |Vʈԛhܛ1wADOlW@*@x&SY@-uށ*?xq8:$= DcLI2zA@'ǁfc,@`YKD[!]gDC*QI1F,8K2MShl$򖐗;b(PءQR9 *jJY7']G$D l/5M9t I0€z 0x{wB 8  ZÞ+3yOTܖɱ+Pa4J) !rF i >.).ZP.{S7]i`^yu m'ꪉӔ,Qj !(4""(3i>RѡQq?П#.''m B'](}`)aiՋfBY84c !ZiOaO[a"ޚbJ L,1[+ 1D*љ2+~p[<YǂԊ $8zxhc;|IZ Q:BiWɣNaY8 Pg{!ӔZ$+ >@),b"P J9xHt x 'hwA㉰ )[=Cu*@u( 2_Վtt0 G\@l2m% lul8 ~PrH{`{ȓ@  D  'vyp?:\y 1M6%P'Ukq@d͹:PӈDQCݜȨ$BAވazMXckБ -8).yFtЯpr"e_aؑ_?У Pt ml) "E:  * '{9q3C0v ĎWEș[Hyxي|ǀ`psHsXw໗Ӎa(k" |`ij"A1P97M Qm  ?hJվ hz0jkAr ;(acȊaP ˈK11#ܽ?98N(EeMe HDVqsqS,%ۨ :|ddReKvk&]L)pV (P9.mx)idj9dX~*:l9#4ܝIUF"΃rOs>* bRe 14#({{ [ ;W˘ <{!lY!C*I%$؜pd'qBИ(@QBP!Вih*BUvƑKI=PjD/1bi~Ngy%cn9 Y<Vʊ);uUbiʌ@Ġ8(yzZI@ -`u0(!('>ޗT ؃փ^PP}\qz²A `L. %hghm x< HW=myvs(uæ2uPHH%R  Hw==z +J`vtM l)y(z|@x""3d6}6Xnݡ*F1]AelníI4ӂ ؜̹H@@n~ Uj8:"}*a  6k.z  cc@uMD)B'%|Pu Uh.e t\9a } &ꭒp Ndefóy sHvဎ8Vц9xi1Nq@yh m A`&ɛ Qfhjrn#hҙJ**ᩖf0`A"&Hddg䴻dRDM[~SU[}94cIgfN24= 5|Μ8YOm*v}ok&bM9 i[c37,(K7pU9qM<TEZ1OIsS΁Yш}Oaw;ގky P 0(T$ytHmQhz,E!E*j2.?/+ T!qZ:?pJP$mKaSikch`,Jˀd?bRP谐"ݰR!0:1t \¡.!44}^wo~uo>bc$Xtube \)hK~CD, ߭ڼ j }0/2+X:<8H8M"h єd%Dd K+ʺ(r,~)g`$@rjFq*x$*JJꏱ*L,QkYwzǫ 偠p@BDbH 4QX  |`d֗k+ol$ *8"8"D|'p, Lv$P Y'y!4tǩwggYx xʁ|&؀'ߟg [JD'APnwǍw' }Ģ 0vh`8L( ٶo@x^.؈M凩|!x"* B|"JDԗBߵEb'^OϤ 'UڮV E5-fjXA 53JBH4 (%0{;m*9M/ jâs` x&kͼ&O M3 !{J.5zH YC=Și|Wz`P*P  =Qh%$PH A  E:|dL! C{A_01# l z#zE=GIH1$PN|Nf@jAP "$t˙qLp'=YT~& ~1C𔌪ҋ ?f@~:E^5=EnL"(EHCƠ~ie3q,bɢD%MZly0y2X&L/AN\~0"n&C/P⇋ܶI3^TUVC\i&$:L2M>eI $#=DԊKVLsLi$R_I)'S_i;x(Ȱ5lf(Tq=N1L5yVcflcrQ3G6ANúgzRo L£[)H߮gH`dfyi9 ޡ@H*1ɡI @` A$vA7é-<WԺC[0 Al82TrĪ(D8[qXve T,My򞧠8v7Gv`Q@(38Z~$|: @.(4 i8@BܢH㈻'PMI鮕ܘxLx>ɶ/)0̩P.yOn^OI~jЪ*G  j>|NHvh4mʮ#H kk(`F#T 0Ц(nuB$M+{.F7B>vrM$.L=C2ft!B4k) j.ʻ:PUI,JP8Õ,0pj$/Cnd.zqd&A)CV(t1it9>*&CXrFسޫ䞂C~b@Q?N-Gs ǾB-r~g$H4p\yC:L1ΤcڋB)IgXNb>@*(hjLhtJjBBBHn$M ADf@  : :@'["cFaH@(!~'HbzY;a!1^8 +W&xÉ,ɎJ6+6|.o!j@Œ(5DfLbg:1JI "2` bd1C5kDx" 3n"a-\(3!ʌ%r\eD3+1&HufW4F>qblQ(a`*p(kx'1L1z2Z&zdrrPb C"E77kIskbε p /G'G$&>)k!$ Xo1wn5):M+; 8Lr_r.%e%^L&BH8m%\rD I4ɇrt. K5g`g,&*&?#dX",ܦ*GA2`D <)Oa/N jH!JS\aNkXKo2h=g–vc>N?B'@#ӅBXdR@UR(`" Ln:lA(>%DaF`F@@6$\RBY['m5ʥ~3$!'bBb6֧uLh!"}6X(YQ ^k!$mJ437ɑc9 #a+)9v)c rʹ^Vx1WQ_BnLoK,YIQ#1m2D:+~pj^d,d‚.q|X\5cJ$q2FwAo'YXb(DciE%JydKr9He'N4F>aY8JQ-D:RsaP <\Ӣ% Ɏ"iaŐT3gq2 jOd LD$ D2Jp@3Ʌ$vREx3c}vG`Vl`2W)7)):;a{RmBKD?0$#鞹2u ImP*P(A(\P}j8p/kpҞl)G9$cP55C!02f' C0+Vu-_{{ pnSSH+6xnfeoð"1g%TmT0~qhQ86<`b6(3]& nb C(Q vG5{X"jLp3€bljc FViiM"#qeZ*cBKR $8pѐrFڈҠ'bx?¶@"X i* ΢yHcN%Qboe+F{=W!"6},dB~X}F| 0$:T&;p ;m?. -z*$#bP#J$%C&-{NܩFG"ru 4|IҖ+c,.[/Q(.(rkP5"F5B%6! J`B2` Dˆ*P(!! ZV@t.RԨ0H(q3D*+:YAK-0&u(ո`0Aa.)j ]!0!" >` t.sx@ {Χ$!`( A?/0Q|Ԁ=PRw x7d0/n B`"T'|C{ou7d}>s 8'Z~>OC~>[#p7H;Szht9*3>4] b<3:Ÿ-3xhc ( ~߲A 9u_" Z`v0"p:c(P` 'ʘ¾ ?@}fl'i5ˏj 4~M$UEH<-#9D@a2čLo40F}4 & &` 䳝ǁ /H2Gqv< PiE(˰)p4`T ~;Ǫsgk6ጺ}tv|( ͭ pM/`;bkA& j,ٟ*ZǑzƩ\ #>!XXS# x2  x/#xt$q\4La1Lts;踔O[NcۆS@%)JgoqpN9SJg n{T "`M7@<pocJ) @Eg~\D!Nȥ&OB/:<=Lb- tN( !GsfB~ğ:Ruwr@zQQlMJY'T , ˬjCDQ30Z ΐ P9tNELܶX7jGb>(11 ٳiynH,` L,' .EG&NR-9F0+I 9 F0hĀ v'HF€zxТts!p|ʣJLq9pJ,?kG( %x TtÈ5lO[atNZ+Q5 #̊S@gz 㩇D)p 'xxkiiH x 4!CiZh&QfAP0`@_#uă"#rQ6g8mB8,r:@(,4zDbq|<1e8qaMAriޕv- vJ;GSi\Mnr`":.%R)佧Hzjh = !1VcX=\+!# B ,h> SOf! .HS:GPxmVgщBkbT !Q)ga5Y+ eQC ) Dń=Sp* G`d X@J4eQ;Ȑ%x*2\:nr 8?Hhl 16@*EXCD xY<0@x /6]H R2c|k • X4h1àǃ `h ` @IaN bJ1|H6)JP $潎hSn7D|Z?G)ʨÝ~@c'cgb]9~xg-CrYx/ 962Ȁ5mӖ'Α<Jd"{^A SUEz%gKN9읦V_]`IH$zulf-ے6k7rRyu=9kPNH9,(QcO/lO&r I#tk/)YhG &)؇L{}p!^!iu   $K$i2kkюQA;տY ԏB+?t&,:,@զ &H 3)z8r# X| ozq_Yl X}j(Z`i`h p#LJWX/ʇy z&CXh}2PJ)B+kbB3@Ġ Hќ/T {ZshFyxy`{YG8@{un+k'x({ty鑁G xx; &$F}>!P6|`*jh({,ْҜ ľ!pZax?hi@|F({> QrZxI¯͇v;$2۴9i3r:s-8/Au1 1/=!#+ @H9g  #B$TA{Ÿ +j[2Oxmkr)h)q a/r:krAS{0I K-h' إDዢ$4b,Q"iz8͇n {+k A x5t 8}nkmyGP(R(r9zJ麤L+[ P :as)7b#zPrsXX+rcs7@{  {̃/ӅC+9K(i [Ѣ$JJ8890 },$K/! ҉8蜐TPPDr(Q XՈ8%X.@TM!]P#l4IA! ;S;ZK 7@d9* - u)$"i0tc#9 `}B:,11 ̉"e B `da@yﴣməĀ{$0$ {y<ЗA`dQS MJ@ͽ?0"=ASEL T)`gtl92#(` Uq8zK֠4/eE=1;̦ЯpkjHu1[S͇Av ȯ/5ԑV՘(,`-Zx’L` N!Q [7htxAImՁTUxϣԸd4wLX.R \ ٍ<?R0ja[d1V^KSnDX؃VB]X\Ksr!p؆X<8x{()`$Ģ9lJ=B=BO@e&m}q^2J֔˵]$:YRD3*@\VJ<#a`øl" I$Ap2T%8ٓ yg! &zP!6{4sBН@]0@7Ӑ\MU٨grM ?< :r#%r4(ҝ"ɝ ~YaqDP ]I8ݪjxzaom P ftxs0sq~otn|V[؃.sQ遀 xHFkVkQ]'Z;ypK)HPzK[ @~`tr8  XĎ xoXKica*- wDh"}>āUIrщ"@ga8,na mg2 Z|I3?(hhlP|6۟i^%T‘ x{ +93P!.7ぷ4!J~<ͥMg(J&Hsb bBǰ a{BC BEA}84 @< }^[ꅀQ P$d1T@ "}fH@"_nGK~ C`0\ր~?R.a %RgK 0?@`[@ph h8?[k4(\J{D1 P{ (8 BK)L Cr;#j<:Ep;4); aް1HмfGq ~l*FijAI0Ә䣩Y@'ZD;#M%pO8G̺6 U%1oK0 &\̎^O-@>[?Di7R-TQiTc){H '$ GvwG|$vI"lV9D(}<n%2|yxgZ| d 8ER˼zWma w(mDM0U/ZV2Z9NBrCJgw M9),ʖf.$yO2)/sl2+cgc|YƵ2iNJ>@ؚ:7j@G$O~90ci@h ^@kc%5yCrQ;h0AɈN` {cjJ $mJ@( 'm*,"0 "uq"z18[ĸBr*Dn?">Rd=0Edl`[.]tϺ$'d?G |#"`Ra(v>Ja5\F֤6G VӨc:"ɉ5mO~Ɂ~n 5`X f)4َ1u9tjMT$356v̎h<q8FPz3#]ӜRdi%5IH6$M@w;$r2J4 <A \ 2>CsQ7av*}%l [26y1huu $?K*d[6!Guf!(\5FFJ0l~K@.ZX. )\bOXz`8 ,U#m=G촶5Y^ 剫PA9H xU!WQi@%[$Lĥ+fitGOtflH8KDl-``h)bJBS6gr`"Lh6rR?uڰKH[|DHKSEvzͰw> &jp|2ڪEqZ.NتyM$vue<]Ú8Abq8"G20m4w$lƆLs/o*{Dlbm/`<`;)r!!A u@ݩ$$4.$Xb.3 &(#(;1<1p"B aԎa#G-v,Ai`lCDF$ouz4AOij(` ˚ *!dP$EbD@DrN!@6 tэDN7Hn#&-vKQ7̜TF94$ DRNh$qU|E(d$tL2FSkD nl<Ζr9JȤ>NN); 2"P@Nb~FWUm:&.ʠ<JD$|ӍH&#xLrrJ&c2m"2䲖ÔiN,E!εJ@`.bztc뤶?"f:^|@FF(Ht lGFR(7Nճb.#r'`,gdx*"E9$G 8B٥cdr>3sLE F|gsat~gD&"<`;sBG)J04&0'Bh$B`"D N2.UnomFD$FpoA6NL4.dE"󶾃gDw 8&tymd9t}GH(į2$ðOk-d&ti>駖]jJ@yzb-BRa®D` & { 2}@2P!:F!0H1zB J@b,1A/CS. @<@<|A$!AAA@@rR;CvD椦jFΌO> { 0#aA.`kAڷ!A Iv!a+j6 @<\R+bd "  -Z)I[HFWbakR.c$ ? xBoR VJcQ*gNurDB%uzI&:UF\]Nb+$c#*^ o:Ვo WqIBU.KlP|l hC Э#!j ,fK: !!.x@c." B` +A؅!Aܶ2@4+Ƴi\~g$P!ax~0@L 4/\@ Ϫ%,"KjfB%"nOF,%-AlAf/\W(")',2!*&c,2F]d"6Nb-A" #"R:X{`PKvnVj2:| l$WB` @jAAj["7#*0 ~*&[;h psq1?Vz$#` :D %9 [v:= |x|%،9d{"Y\ΊIsW'cN!c24R/&sU3#,$ ;r7E*$IL3?Pa+\N!{<  Pg d C86C(.bYԴ!!-_‡xBimHѝ8F1O4%Fux +c p(  apùv; yuX /XcK& a{/cEШ4Ye ,~UB@+hs qXS .gUmV'w@^@@ a,k_v2Cn +9bW,u;5i,cH?p ~>ߜ4YvV~c64r6c+t:myڨ+m{%w.2ͪXָ@B|'Ӗ vw|/nlX3v/~0xF`+9 (<,;S .+0gӘp}K6"5 ,3ˮl&Z-lz`P:J Fmhq `,m:?e tL1Ҳ 8*) kRJLLif1*ʉ/¯k 66q°إKofuȪSpj7U.qÝO4 {%o %>ұD[l+r2V6([%5,RHM*+,lM|H*ű<" *# uxJ GIo N^ ~qi}ƙ{{0o( 0 YvPBpGG A@ aMgv(ܼ*zG|rzrg:9m|8@C6 az{gn=,PmcH xz˜&x>Ǫ;(p> j<< "C.^R#XAG1W& |67v8pc1b+.5i@[pGXPV +虰V!aGG@ucgKCKu*)fA~d *P4 N5Wp>< ɨ$4n iS $LZ(41 OCc(XQa11*B\JUT%H}ɒ G:c )iU&%'ay(GH$/ɰ>0" jn iðu z02h4XДXZOh:@ X f A%88aUq'㢂Iܧ6*cy4xpЛu$AƘRRF+|a7މ,fAPL*-^k -@, ("G0I. s=@+(@b_0OˉHNf&@o٠+͕fW*~%R/®Pu<+N̕sm b)l'B6 ęV *)һlT_Ԃx ӧ:12SzAF ng1Y? Ζʂ.e0SҺ$i* 4&&XbrxWJ' f;H_P yk*nrnjO?t &cFB0kbZ$v<)1-M9 @1F zUdZhO ]V\6Fӱb͇@E}@*Q";u_%hˑ6?mI-xYyb= xi!5(BC߅i1>9T` :M{0ʥw,s )(h6N&̼PF82+8PxV XʰX/\!bbo8Lt@JpEFw!1Cv2*@Có9GHζ!ڀhdXP@=,@T#|_ !;Q 8ak14N.VD yt@4ZJ :H/%|y$ºbjRCY-=Ʉ\ɕ Фp4˒[C$*T!0 WD t{RĹ8|zXx!h:5k赃oz1ZBP0IH߇IV E@jQet֋('-ӀSN&;*L4pJa74VJ25 t}k`ڗss0J' O< 0pJw ?~:ʑJ>GHꖲ$KS3?$ыM|(7/ 6 - 3 a's{&g*q"dv(&Z{AHvqV@@olP8]mkkT0 $8&:c(aÀe Y( #@%w3 ?$ yj7Q!bl"U<0 9q-9JruPBU 4++~Ő 9jY **So@LHdk`F+1 U=0ˑ-3)c[3ԏ@ VUght YQME`[X3TQ(wmWyY&<0$$thxuBZmJx'ܟ6|3bzI)HHZ S3  }XڅPHV_xRJ =Ӫ? a](íZQO)Ë`M;Q aP ʼDzzk&`8JhcV)RBCG%=ํd&ؤ9Onf!xpD ۋRvf ֩)>gH}Wڭ 1Pg"90* ݄S9bKBz960XvР:yzy B3z  ]BN}4!]a5 +fh{L (XϪx8ˍNr>b0c87Eu7e4<#8L|S(ĬByK#"Z!$ ϑcnqk'xgy1 6XY39Ĥ|[vrivl.l1yVHeYxU#8Ls$.q m <[ A9` zmmk Ѹk)ՠ@PEok@(vxg懠 mlm~hYqr sX| .P{ 2IǨ&0~oc`pXyHxGzo`xߑ+(a=-SQ`=)z{t(sjڈ+* l5V@o?pxP{;y<}Zw!ΰH`aq[j;(qq8~ 3G!hxz>ڎN}v|h("S؆C]_ kt&X ؖDMǑhjjRHS"9 Q"A&Txt r n[z ɳ ^eL\4%CHq-`g} @^VMl=y 7hB_l79i5^QU NAn. -2I6ч鍀 +HEH(V_,a8lnY ;kv2n5ľ(@P 4]cV{='H A7{9q qxx1"i:іЋG 2t̔ 3蓰( >v+ڼxshz 5pM,nN z Ҽc<\!\rLH&e1D.A>ШE`p جhr-+I 2aB/\JNb,*%I'2xFt$@PMdC/|ǣ%8K |MТP$N2/%2Ē9(EX&eMnM|u ;_n4x{v<{{087!*$Pxfq~>`Gg{^Nk||Tw@RZ@lMA;=K[*96)Nh^ #Z CZ,(}5-2؛ñb"G.!#:Fk&h!2Jl[ !0 $h  `p(D~Ij8!,k;9_EJ iPth"Ԍ8SkMjZ!nH/ ]TG䗩*?ʾO=px).к #B =+t<~gxaXh?硸l:kGxvQv:g .nfLQiFv p@8 * :QkGyxhjzr( )A^y|:묂 !Fa8P,RGrv'` y&h1墀Y}wǺ PJ9sl`[efHRI0 .+Nt9rh̀Otgxlj߶'Qv@@$ SKaf|!@4.K+܇٢9cv9;'US?@a$L×Q7#|nsfx{d Zx$`NsI"w$,_{0dK8J2 &G# *oCР@cdR—"jLGӗ@4z/P>; !hW0M'#!!Z Rdm$?Hm6GCɵCxkI"2($qR 5*z?~sE 8 0,`h YlF4w6Xj<@@3Nԉ.l@8 |R(NP$BI?Dn] ʰ~0W8$@MQ=GHP ECU'&{6P{*vI8h\9fd8b=e +JrZ`|Ik8B@d%!&5N}q1x>dL(CB̼q4ǦÖ@`Ҕ4M lX@ŀI0UǮ&$B23(BAy+It?(1*n͖Db8dK՗z$|;\TeJDFI*:g^WwqwG d&GLPAgFİ50sXR>Dgص"'m+t_Ş'R dt/ftLA j+CB\kZFd`5FMyC&,X4UHUx2 "2Qœ$i鮼$i ,9@]#T$2:SPSzm*5G@t\>,z]yzNx!E%1%63!w%”yBs.%J)(j{,:4SQ%[hp΅ !} @(dˣ"@^E%^ք,%pfآpHHt MpDni&U"HE*D"T.NGA!"P, jGQʍHc$aEj#=FBJ@PX8,!"CøA NDaAV3b&I^-''V `'4 BB"5:bbH LDa:) Y d("%0x7I/ ,,NbQɾ(g/# %B YD(^)h+zYEXaˋ"͘0C$H@MeXD8ElIO ԭrV^/ PU S#fC-f/r6 "mT`B#KH"t(#)őhh#.)ް ,!DtF>-<2i* -%Y XC&+" h--*@>ea#&A ,0R8D "Ɋ5Hj:<ы ɂNB$-0 xU <؄$ J,&N)E`: Mn1Tl hrѨ8 d%>9 b5!bDa)\ HRMn?%' m2BCA_8& hBq ξKS? ,)lꤒZ) -_/#|ASڢk)X?"nŎa>!`4 f&(y!eP*q"(&aDɡ^% ! @"6Fha$@0H@>O  /q $DO6_ww&堢a"F^+.a!bxLD 0!z( `C+&GCA .¦Bxv : 6#7qq^e&qlľfz,)bXA `<:t ($##/Ϝ&`I mд Xbu#vW Lb: Led7BM$b*d4 =3N=J2L,qa!AMk@`buƬ+ ?EVKoP,1','BdLB@o+#bo'-!UNa=u.8ˮ(~A3dMmP\Lq $2?e`NF@@f-C~x@$N+&c[K>>?XD+ jXE"0Ԯ3K$j$0$ZrƤMWy\@"G Cha#@L%JD(@26u$`!8Hp4Q@ 6ÇaO"T@'x@GG%fr2t5bmU\ "N^T$.A"3c*G )ǠHv*"dhd~@XO"8a\\ $4{~"b7-A_&0t6A`+>(&r(#c!> Ţ!(Z> ,>v%-i7{ow]vA4fBb9: k2SdAmK`% T@<fDEpE qm͆;՗†2-4ppr_6ĺ;Uŵ CMA~G" Iʰ%6Pe*҅)ƒ~db(N; $lGIỡw)s偁F)j>s`HXk (n:ua!!Z%B6`:`$fh$0Xv!7!Sy5$9BeNSSn Z|]lH@2rÛe5bjȲ{ ?T* QЃB23p3,>VYE!Rhv֭W~ܵ+,%8/eCůZc">9=j kڹfi?dJ9x3v)OB``0 ߯DP ?Qب HF@8C~J_Ѐ,VG9~G@܎W?c :Z?op }K`*du€OʤU~t%.G U(Tl}/{ fQB^Wtb/oxQ-GlI )!_冸6'|>hRb/9mH 2~;D)T(s/ɀ@]lb[ǀI ZH ,#!QLBʩx(r"jĿ}r8nӦK l2$>H *@ѳi&# ro򎭨".6t?K$(OJ"g̖}ɮ׸ )1 ̃'z;6@J$1L㐔%Jc>SaKiA$:(86Oi$N_;(}=`8 a$.g<$@5:x{GuAs2!zJ fuh3!<湴l'&!@F` |@H`,xx9wǃF$cu7yG 4&Gy9Ix.d= c@qy `R zgiT^Ƒo is]" @xH&@8 @V%z_la ɧ x ^{"cT}e ʧ6PJ`FnoĠh<`H" P emR&tx4v8T}GJ6)8|P Y 54I*_~յ$гX#Q(?]Ps 0L@ $%0(Ek@.wx `~=d8(g y''3IajP 0Dח.tO)|J?BČhCxu->aGS*HUJIeTZgxp$ P0#ȎD~4aG˼k7ԠϙAQFw`^DZBA {4򸀔+w1!%PC{)RR!%; ˁ ' bu 5#~J }ˡ]AXOJ%E:F*p#p=gJt0 o@ T L[(A =x 4Tg q0G? 4V?ŐȪIItP| @Ϻn})f$R8e)mQKO@-OUzMU&5?VZRK ))?TRMLLbNKC4Gd{E%+ U!7(e0 ,$h+"u"bNZWs3dz:bj-i,+H>w#RTidL%lL@fp']40 KҒCR .wmb^LC7z,o"PMOX<Blkp= !_b7, 8%,\@tx&N̘ 37ƀ)mW:9H3x>{te톯J0r=٧ A.6F$`Øy 8$Au6F " AH"`%k7,F@BZFh J#^qU (H`J F"U uFX&'w8Q4`*6WʤOڱDS"lp|lO";S !>D7XU`DyѠ$rj6?[K QާRYobM`3)KRH DIZ+ ȭH9 *RȡCA3trPG4 Sj) *LCQl~ x vxyL3F "4<X0QX iO+#X/ ڮP @#pލI?) ;  D q5@ y.AZ![ 8i8q`?ұz=YK" 0HjF(.J347ط t ,YCX@)8vq?2[*k#H#Z989S3ώ=tГP &9> =24<7zptP XvXu"܇(uY90{#࿌(,ۻȦP~|@2Hv{vw$>` `eYbsϪ~|XvHv%4xHin |hw%w`v$EA\1@@Hu@]Z`zPԱ j%0~uPHPwPvHh~rwyzrw`P 9 6JP i`f t vȆo@  ӑ~P,p нpYǘcHJ`A-kw ϐ!!V4COLI\Kթ5,++p=A|ܧz`{Ԯ0jdxYHc@a t̩X&PP}Uh} pUae*lZ*PZي!7K NYS@ YxK$ɛĨY fxfsPȴ80R5Q| V8 2tHljAi~Y ##2PX2l Q:xyw|zDURX}s@ou6S0 ](7ߵ+mkpv(ds;D!X CYIǼ1(CI7Pђ8h (E\pQ;WӋ<6*lk:t+K~* btIãxa/Y< ʯGv}b%`Eʽ`̂$@0ĸF)Z0t t*3I/L1Y(4ZZ?,rĈs- :A XxJ[5ʱ?ۑ;"z8e8" "m HN&8 7IKr}Z,ۢz7#9J83@,?%u x 依[|Q31Z*;h +ZVliF Pj,*~N-Ue0,&)p..ve(thSHX@ip 5hR Q& <]$@Chq2zUH‡'(q0yR5pD$ XzpPB$l #Շ qnP( 19ӌ@w Rq5|#..xDpy(II= xw{YT2Hy8E]&Hs1 hspqk 08#s0w_70P&sAeKpFqe~/"B+8CIp1+M "2Q 8yHx<+YҜbOĊXLP:dګ&SP0u_[!Hhq`G qHq  e @9I33@MϴC5 (?sȊKhcT#zܱ͐Xx\petD0c>8Xꘔ3 )X0 /㬤N(kkbe&5t \,Ar:Hhv`ΰu]!}Hpً~@  ]%Qql@v z* ,_h[1` ژjbFPJma,2ŃXn[E{ ` Kg+4 @+ic4+ 枨Mh&, @7;s՗{/5Y4s9;@uiNX=I >{vbFgȿW YRfJȞуDQ/4c6N4P>5(r3!Fȕhzoҕs 2cWh p2'\pX9%1/wҙ*縀@8  ?HCa8Bb&~b;!}_ #$}>9,' &Q_xdB#@hp + 0`jZ; ZtkHBg ڋXkz0QK.bdc'v^)Zn}A+^b`u|BN\mPlxpU/́@U߆FC @Hw's(o'w!`thij4  JIiie0 s(21`.(߳gk"r}iޯ:1k*;X}X" Dۑ^"!H"(>.<:s*j:-*F $t} F=ǙTpLLz/v)E0Rڡ.,DL.>Hy s =U@Q]I 0,IG)#mùiܩ z75ɜDf*" F1y<p-'X7 ~X G<̽E)$8GSm0X_J ET8cV .yXV'}.B]줥:hW2ʱքj&cR!}u.a;R {35O&\Vpf@*$,CfScyQ;/ `)\Ռ3g5IL]XnX=/ ,[ѹ !(SzNI%՟HqA$JZr~d:O?RCfwAQe W'wsRɀ&|yc$:`cp9_O |q9J(:@Hi{CedsqZU @\JFwVkp (#x;@Fd̴ \GR#w)6sJ,k$<{6Mc`m@ m8:`D( <}:(%13qA4 Ѷ8 Qb;%V1U#SV 0icἒGJ 0=W"MK"AZ =ێ 5&Ȓܧ pZ .&"H_yrjYSсis3돮HC eq| $p$NڸCPo|%/g&{N|( 5*鮠˄m)6=hM1\C8" .1Л",i|F"b21L& L&aDG/+C")/"|G0!BrÕ,.4ɠˎ:㪔ʠ1:vF~.R"jgaA'T,*;FÖzOAm FRd_ (""JСH@4@<Ձ‹Y8@ C®٥ *żjúj0&˪)Rj!:X4Ī\e*`* &@*6d&aG P$6E`cX+-(Q#M%6wdj3vWE2OALe.]G=sR IB~VP}'# z# 7|p n4OnH^pfBebEXa%P*u&h`2$`RAJզj[F1Z~műڦhnd#Vp7f,2{',3+qb HA5`^q/r6"26)Qb}!,lh-Xv<}Q#5AAT.~^"wpd/(.ʠ&%<B$r?2yf\OU`/"[d!&u6/*T(l$a:w*4rNFF󒓬B4g"nq"^63&Zk :f ɀ1;鐙N&x#H&⾪ `'i{B=1eN)& G2>5Fֳ/"È(SoloP4)2J 6"5"Pm&Bk\񪦊I'7)"g-g&r:kqu23 @wred$B 7ޮܱS8f=eBgUVٶ%˄+vr*JVʁN2:* k+r+8CXwIb4yh:Hൢhaxx0KRLm#Qq)=S~):rjN x+T!L2|2qȻ4¥r!,B}?#`~B(r@& ^GyuE2Ҁ"L* F:q"Y* fq+&N:'[ڒQ?*j+k#)"^^hl@L?ʶN\2ܴ3Z|~Bm>,B)q7Nn$!ar0:gnH@-èX!`Z ~q49V8n"*ejr{Y~8]k8lax)&"%by.Eu`ӓJok|"& 2 ,Sc/qba!uaXCň$*^nV}[:Ws@`*L"jG1Sy(S.B)ea\uG.]V:J`"_+54!ZBD/w96SI,86%Fukr;(k[f<4-< 6L֍鄘  xm.ff $ɹ=^8n;mrxg2B/c/6ήĠl B)~&kG#cz/8'o $= F][nnǵ-'̪Q * n`q`[V@)6+**z O^R&iぬO0;+J#۪/MBa2۫Iq, I1 @ % @@P$$ ``J 0  cYTb?( hԜ .?Ѐy O  ?@ ?M)~}?l KJ~&n*}*@ZD{gsW %(wd{Yc:V9W`GAfftal)cʱ:!x: qtjD ixwzGv@0˜gys HB.`:Ź@ssT&xׇG3IBɐ& f}=2t)!K!3S{ظbLohˆoKޣn['ph`}0>@*|! b-h(ydR;h#|(SǾ=pI:#ͳ$*;e$돁ټL~<֊,ೈ9Fɴj?Pæ*j̧ b񿷾ɹ$#ݱV O ̔2lId) ̥ Sp0tfǑ$0%0@   T;䉀P d8VCy<ǀ`O !T+ "?% BU o“hC_2}F\Q`1j cst{Ҧl6^spCr(.7xމ4bٛv<QA0Ƹ1S2yÞFKo NI3[ P76+txR hY'>)G}qGpPvH =rL(#0IM qqW:hg4~q979T3RJ+-̷fX2|0Y;=q %GrjJI]; k$ Ո#|B l|3"'^uW*Z~J* ؗ(RU6(Y:@\ pڹ#䨮$}-?K!=$(bJ[Di Y^&U?i~!K~lء[nn`Us{,8G5d-lXSP?h?QN}!؇((:Cv>A 4{К lE u<*iq=uDb܊UZ+e2Nm@h=A< p [4Cs q=yVCtpr!HɅ7Gp @+tXЬŠ%&%" F#$Uk`4*?ߔ?jYK,vH;,NE>6;ٻWRrG)369"! 64铧@8&3 EKIIv[qc::)`%N€Gh8 zrK3#!mLe>Fs0By|S˗ǃdhg3HpC뒕(ZO%l"9(;BS6$$daC !_ul)6Ȣ (Pwhm@8i@K/jN H*H0 #8!8x`Ύ==0b5{vprwi`#8(@ Ss3̮ 24 بؼ eЃ# Ps ` 8 `1p~% 1D QݓZ *bc?ج$c>r`';E˧ġ j.֦g4N(ۉ ^`eDb/V#ߊJm[0EY[P I¤XҎ2>*b(KBĘ <1hĈ=rl0/A&(V(y?E ѝ$8~hzÑu Ɇ{ ۉS{F Պ$ZG*YWϻAP HGFK-h}(I+ #;JҍX@z($1X Еr0= +Hlh +R 猤 7Ba,H z ڒ :\ ,*?'0pL|x*Ƭ=P):K ClR+s$4- Mɂl?\ Fv@P R tPR8!:zﶒЕAxXPp{ aπHshrSqXqp . S[H0;P>z0o5 دKh9a)fL nY H`} 8q r ӀqJpy, )SYۚx8vJ&\  }с = RlnBuP8ps`uuhqhX{ ,@`qP}~=/B+;P/R8R ]~hv|#Z>uLp6H{ ΀ ׭ 3:qЊ^&{'`*0s)e:V #tXj,+Y*;)q͈)8ƣƩefj7Az jʐ0 ñ S)X+4"AJ-"Fk DBeȕtF K+# +! -yD[byK,n);jC@ܫ?0I /,ҿ:bK#d)ڙ@)&_H&~"=ro;EntddI\ْАvuhT@$:t,c|Xx(K^bҋ4 :?\Q (xxX#J``ptH01{ꅇe(;< X Xi+ldXbgp=Ċ0w"p% )cў=0|fû`RD i)}aNx,Q c&^ )8RXr(rV yN4,^4%)܇:9[{ ؞&`0TxVm*, VXWW!*ђA #;+8opDXU850c8b0T(X}6Sρ݀:z|%3Hd=H_0쓰~evWb1Ƞ*"b3Pü Ue|刨̊=Ш  ֽދ=XJB>QiIlhm}2( 02Faҙ(KПѦE(mUrR@ wd65J&b4Y ЛIފEUD5j 0lqk҃*ʫjF TP(ŀI:G˲z$zqhphRq2Խ$İ9 )úgu3ć{"ޠ#:a ]?LhC]f[ $jעuפal(8FsS@>vRp ` ŖDbM8`[Ef'.1R=aRI'/`Ef DtM0|y>.JHun/ė'j${'a$9~`"~ ·B `(blP_NjZFL(Tخng{I?bzמ6( ol %DRkL)Z b@#qhwwi&GcI/"_ vBI\/،ݯĘPNfRB L%`;~Ÿ?'$@@QM Gr$P$01# /Py:4 4O&?l䒈*-A!`(}o˄tZŬ$A/G#~)/AqXSc ϗۭv #}=^ IP{g} +|~* Hh*'{gqw31u!`@ | co9n@u[N'P& Gpgݫ`w邀*' 3$ Ϡ(}g>˟)z@861qʀ`$$MwH hgqVM-,pxsg< z g.H\ßTVVaxI$ B@+ &mX|6Xx(  rMyy0 * /| ` A|H~y zX9{b:˦~<ՐU0# <RDD3tv2{ .#'.I>迫:Jl% ,^zIwsr(ۑz~}TnPV0$A Sʬjr<[&#ܢ!4sW!L܈<=,G4  !"Dðr6`9ÔK!`] "H4<f<:RFˁnQ{2lka5+CdP0H|9< P`| `<@ps'Jb'8r0=Cp:Pf 2TG@' 8VfIHB"dCKk^L|?fC9bT  ^LO h欐ɃjHIx丗2 ~H$3͖r 8& (,Hw8ޒzG(&k '3(xOH~6.Řb$@aΣE7fD~`ޛ -!B敄9rL&&(~eI(\y*D_J5Q" Ɇ\R#LBVc,oH IIiZ5 OWt: 'S ?Z!Dr @' rIV3XLiQK$㜂N+vQ? /@z Zq`y_Q Nc҅`< 1jϽPp 3ah ULl hǼk% # c A5F`L43#7P Ap<BdqK P G#E@*õ6tj3d*)PD wI@R%A9+eD J=hv ,iL=Y\Otңtq:tc>`I qvf?`#j<dRBZ \z/hHC#CL`xm`l o`i (' X+J(XI<{l0BS4@zWn=z1ʄx4!@t$ꉏHcxOʓ$%X~B(" ?6ri4`1C{$9`#spL G,:+ n%rf]D gD9cHfIN@ʧ0$x_5:%:H NT E97:'3aDXJ>ɍ[%`.R$uEϕ%䜧CfqBJ5c g6%h{bhJ4-$ *4fR:'ĜM2!a .7`b|!!ES`A@2$:`-+B$b8l csNnF#8=llN'IT.Fb`î-*"*D䴉 8Ä#@H8`i&̓"e6`&^,D T X0- t+x 4S  Ǫ*,h󩌙cJ4,CrHqC~'ȝhX`J&yqf)`)ԁP y'gx̦k>+&8G,r~BH{/a>B :%GG.0@^%)8%kGi*Ab Y􂮬bV::O#&o"L *ːC" æ8eG:æ)5B!8bbh@2#f5*G.&HcR)'#d/Nv(N:CBb|o6sB5Hf5Ns$qU'|Bn` nO6"+ Fz*LN>©,(5 \v6B5bj(V*BYB1)غϪ*z⸂* g'dZaeL1 6sb 􏦜l~/BS+B++|nAr|<L(C~n)*@ z B|+gKaAH ‚%$lcc @`G8@6^`A,)fA,ʰG|^D h @ ` @A|C.$.^H<@ ]C XζAV`2L@@ "%V̊^@G"`XnE-4 8$bJ- ٤.M쌈c4[BB! J9N$a-@`hR~%"a6m\& /X!N&t2Ct6axD<@D( AFjpDrsc#bj&€'C@" @ Pܚn#I"'\BK(@12V3#a|pO&|nxtZrc/R: VXˤ&D.@` c$ $)"""S"#P!!yEf8L@ %M(@ j]3 a@l&ufrJE+'-qJ>y1'0rNuRfҐIV#.'&鰋 :jsL$?sEjdg(:3+E+E^ )⤐{M'ϗ~ bB82AK!h(0jaMA*Ȫ^@F!qbkB!E!.:$#u.K0BkF.-"hI*>@o 9'#nf<:)z9:{? `BC/i6 D`[K`5b( Ɨt(@cKrU0=zjj,Ls(q 4] wakȜCYIfb? ~IG2j',X-j饎(LrU*M@:bb"!"$6r9*1 c<^ )^^)U׈0"12Sih>b pV-0kꂧ*iB4{soAND 6*Bk+TV fP AAM@B!³$8k~&a)b6L<"08%$x7M#Jj ߓÜ- G:I(ĄѤpI8RYB&!ZȢ( (LBrт,}ɗj"!,G`g:.~-C /%,X$ #"B9BS8,ASG#_j"*HX2A@D`Ašoox irCvZF<%=$*u$VtՠZN=f( ?49iAa|!N F 4`0 4pH՞e=haj :)nD."f;Fc FD94:@ 6,P @@:U LN4Vf0`0:ڄ@oXQ(AJ "L 1 *nfdDh `@AA`lt O6s6!&AS T/$W7` aAJ$;_H0&N k^(aA|@>dx8HfRW%b!#>Cbak=+T1,` ;P^ڀ:jhBHZk "qlb&\`hH&FY 4'fn^! *&.cTaej'l;@x*A^ a.e>t?y{RH%q*r(Nmr}%a0;sj1r"D '[!A.2 ǙP&n2+!z"I"[u]:qsyj.Lo*at~O`_\8hAA!cN``> :] Gqà DUoDh!T!F!A;BBx6n$٦0" gYvj` 9ĜLhb`& .GQv"pQu`@)פ{=sL wauW!Q^V%x<[$ "($@ )fqW o8\hQl'(\!r 8)`ei73@!H fAA_ϙ0?щhL 2gd}`AJpp}~VG|D!:(8VTp6@ÊRRIp#(e X {DK2#*:D MKE=(C)c%<J #}0 ZH6#,ɐ :;R*@RwxnP^ B8@{!"Mm(CJz"FqR! cx%$S`4(*tPI\(e_R>| y:?:H`kq>j6d $;WcSbZ(TgL Q u6ݞ#^K AX)ay)89{@`h ,@xMXͽٹ!1,A; Xv9ǀt# DȑDӥ0I$|1ͨEӲ?GLgPF!>pUȡDnmj"(HâdjHP)P/U 2`{T N#Ǒcg& BB)pisp 2lUʌJA.Bȱ,$D!:[fn#15^UTZjQQ.E]d%!Ù6E"攘&cIqo.eIR,z Qb} HHPJ!%,(O I^Hw>qs1 ;yq|95щMV>28#cK}XqRRENCy};H EHqR@tHTdݐY?|XB~Di u@NřtdmUm YI)#*Ti&u3Њ]BgD @68Chúʼ8e@ #宅ۢ=P!r&T۝5t(dpTphG6AFJ>< U0Rݐ‰M*KVDl0P.AEj:jm@s*Sy|4=V z8w :%浓ig]&p =lrSf9@c6(DМcx;|d\I6 xxf=U6!l8}T=G%1 P/#Ld s8ǶG15pF9!'߿8_xq7pXhy 1Ѭ2xypwr{y2op?>fu8vt0uH`I|\:%Ɉ Xвxz +[HmmtD$s"!6pxkHv4iLۭK PH;}pXdq(buX yyi .-hUXvPp (nZ 48 !ҀxɆy'G FF-phozXH Ÿ:R Fȵ _$@'@WXQbfԬXlE5㫁X(8z xmÝ|_0Jb74*23"gK}wPg@v;IB\Ç텀zEy}k@ڄzbl؀FJX.,ЇRoS2ʥ [:0R,}HfF.%`vixzyiLѵ@ԉׇfg0j>Rk__kn :=uŀh~xXu(t4C(p }>VO馢 J*zPvZٍw Yw9qtHP q ʆ\RfK0%uIK ȹ6s8IH Aj'q͇8sL溰L܁EC z}8s@ׇ٣ ȨMiJ_JYgxhoPo~8}iς$`(,$edJwh zg빇 ms ! 8q8}mpX{vը VX-\q#|ݝuIOUK&tj~Qx ^)8 .dehgˀ9}Kp%| )_ije JIxhXQ~k(`{p {LmfmH6`aheHs`L ًy$x9:||&8*ԎӇxjD׏_[X# {Kˇslz$" G_+qWKҬjgdCX@}+sCdP?c.1? ~@r7Modߠ bt z?G ٬Lͣ4z%~R0NQ,n@~i) #P|MV{^clQ=I9d\/gU? [pʟPfiux;]T| !0 cʝ3Y_wy<[t/k jd@$j@0 n|{G)gxg|'(HJl {F 0DP!yǙzp```}2n@P༠ & H :-+&-bF h6I捪v,4 @' ;$뒎C4+\hI9P*;TQ fFk\7/I2*(5_ꪩ@FI-e&-b}fM_V 0W$ TnK{M4;6ɜȮ 9[J;AJچꀵ%^JPw'wx( x$`5>61N&"hrn-U ʙZ,- }j 9YΘ$tKڴG:`395Gv镸n .T69b88 $n MU71L)5ζ'`Sk^͌m^V ZM#dUMvI8`Bi ZN) iW eN{䂽G}XT ŀo9)RY?8(maD蔫[즘ެ 2}͟dEPP ujm| OOXj䕀<h6A=@e(|LDphѢ>ɳ"xCtmz6pG$,z;hcPH{Yd{ I@@Lv,`  !=U{!!D@v@J8cs0M-0 Ôrq:pcYD}> Gp .=aO l]z)cn~0| 1xDZz{v3aT x)vRBۑɪ,$p# aQzIK_L,0hS A\f,= p(E'f\p\O3ƐV#w (#{7FhQ UiX(!"GaIڇg/R<(^ HmP}Ĭ ;c Áp`mI]F(vֹ&.ܩRLm6cDhqCw x&CD `EtQ& p 8v A(:|8f6$$ɿ>dFI y5n+p& r)ܬ *Waw&Z (q0҃l*,=FyhJKZ5ct+0BR?EA5p0h0֓z08@Sm NoeH4nv{Xf4bPE7N  AUʍɀ4֔5 ,~A>@*rUz|W/Glُ*>q^H}Ȱ$D>p0$JK0&$zުuL+eH )p ̰X&~:2x_UMnSsg5!9dXq_6a|,f1D2+>,9}['\]x MD.$]\ CtA{VXQ W\"ݹgnA|Vw2Έ;s |H =9nLס+\f=`p0fe 61b[ !hȬ؊MOPUt^zTn ;fc(RmÕբoZj篇 x) űգ6S+W8L&(OTCeUsM!/ *.@J@6!aLTˡx`(l"Ao:/E#aah iDa!ĉa0T`**G|08@PL!aRB: <Bo^IiV@z'nh)^Q$|hlD|cjھʼxYbi,Q!ZaPABb,/"F\5.5ie`  P"#i',i1!+``>:QB蘁!H`~ 飶b8wOOBp"A$F&\^E $+%AT*̆kFgd&j H*cf6vN#~-B<%bPBxwS0/s#LS-)h&=9M@R'AA /@N4R\2^Ol`l+h)F [vL:e%82/'ԽE,)첊vL^Cf-%Fz!j*=a'iBdHr(-*.'FxQudB{1aCaD,F,u*$`*oؘI.(cR9)rDÈĪ$mpmtKLD$.v}MYnTDႂL }H4:ylexDfRd,CNg!S6mb$CrۅI͞TX"ZfM*Ft;E[g"B:rQp^8.NoErG.. Gći$@^e;#S4m;ը4<&*8Ozf`2E("%^h07YCd)KT#L<Ǣ4B/eB&N@OOp-8 86T..D4F4r$g,&f2^Pj.~<8Bn͸Î>ff2rc6p'Ul|b$fm";R#l~h*m'p5%k*Gj\5ddcg|e|qQkÄ fǷngom GdQ b$:L@8U: !^A4"b%# R$&/!@fNFdd,j *{'nP39┠2 "\Pb Ra2@=!@ 2oj*Hbc%D&h!cH&1\<@ !,`6a@4`::@!Q0irFB!=_ T)"X*&A@4,  t]A"r -!GdT$"&bK.Zv"! %6^j8@>*TDZ@   PN:dLʃs'5Ło5LgOjZ)zXOpLGN bKA>c8>7)BF ^>an h7X.˲":^!δ*D(wF]$io@4@Bf,bgPv4}9(wk(B(L%FBN.f.Ed飬 a=&D@hN*D?p:SFBISC^.jZHt&8$)a<` ]!L0>6#rD-\%~+ `(!KS?^$꺒9$کxb͌#%j)liئD*" ((a]c< $#J1*@!4qd/&T"`4zޞvI -5z&D`;u1R '{`<#?{>Ϸӥ^/G0 0~_@PX$$%!0>AP8|_Q$ zDl@ +um֯A`f]a0@ Z|֩$D qDr^/_竹@]q9w. _yP ר|>Z-F Ȃ@&}kZ|>Ba`#욠\ *g}Gbkr޾: @Py+`p$}0Zz/  A r'K&ڞ(*IP(v~_ +Ԗ<޺ {[1KܘK"4M 'cଟѲmn ⫬G#0 +&}ҹ@,P bu 2{&>o.Kt'Mj{КRU3r+dԼ3t--gIqv'Qpfy/RF `\ok(XZ ¼ͧ~בyGpH( : `,GEY*xލh9v)I`L:~a}* 1oA~6 3S0z0̭]U-HupUvJ "=o8h z"j'4~6 >gM;66y++\-SVɩ̾Ho/H\S\Ws/d~l #-w&rL NCt ƬV2}gp 3#6U5& Yr ~˜FiGwGvMLb[߭)∀;ǰjbP%9$KH層r~JN%Ğl 8inhI a>T`xK VG3\ V'-tQIJ 4eL$DנIMzERANf 8dzF4^VB\+CytH] a<Lj"?`,@AC 0;zsPKDGˠy6Hu w> ُ > uSpbCNF" ( Ǹ;UoD͸`mDMsF>|bNV (@P:]K5Oxg=DZt\ ;p;A"Gôt4PC:b ` 2Pq2ep#q ]2%s<Y=GO?zU!1=|Al1(sx$d΅2i(4+V:T AT7rTr `yIAi&Ccw@pp G)ćMEС2p'JKGsTaw5C.P  {p΋m%G`4 H+otɬ+/48-6,%@2Oۣhcǹ+L1Vn4%IJsmni7zҐh-3GW9أݚLk3W{[;SeVAHymrnW9LȂ\KmýwD᭾7_HOnt;@066-8xj+>2, QP98r Wr5(jB9#>I in}ЈഉlAliL)Kr#}N9W *1* 4IBp*zK )Zۣ+2!9],4IZ"*3zȺp9< OA۹!z8r" ' Bqyv2z46`P|Htc U 3*Hzw߇t*19L]x Dj5EP#8w@v i{(xZӲ Ϧhu8v@ h{ y {|ig88phrvprh~9p~i8X}!{-PXRs(u0u Sht`j``Ĕ' r8H  b8oJxGx p KzX(h )pZpX0(K0EPtYgn `x -sH# s8s_nky~ y0C"0GI 6 zSa7 8hA=YӃWPp8rAsur1 j[8Z7 رpuhn劰t`w {xxL))|@ 7qʨX|)xbHbX}umpSc 9vY9h{:ۇc.y@ `BH@]ku-Raw8&|*,CQjq"Q#Ke,7S>) jր r(pgHzؕxB ( IuKF[l")),%k/ va(ČyiXwi.l pI< X3Iy! 9Q7 ,q;8`lX)  ZӞj ه@& P wkӉ #);T/9,D!H wp@1#5V  !)3P@,x;T ZP&=C֕) <-1 JĊ! Am+E!}I~WTL 䞙Ă6(b7x 2%A 3q$<+]E$EQۂ (:~#X Dk7i6„Eghb jnoz'8[z,8tXvpW5``̤ ӇHnkYknJP80&;EXwqJxof(s^xȨ)w[9[ 릊>9Ww؈  h zwa=i4Û*j]^ @ILIB&`'h@ waۇ z@uJB3Az KA(X\rH"(W;" ʡi|vhqmxUpQ2=v*j2Dzh l@spX GVdս,4/  BCs7S SN 7Q/ӣS yA-Y'% @H"Ł1jkMo!9OrƸheOubq슸~H~X(X|Sн;|mDonrot؋wx3UNy/x~PsnZ_ANa8 I֣k̇u ?~82iLYWA1G]/M\ 9+ +@qSXX xʑ/K:{ H yBXS 032 e]a /M;OYkP6ݖxYNٱ53Ncʉ1[eD;G`˛+p/S}6 <íSW ia2N) "h3g؏0'Ղ9 ևo3u$".qְqRY@ix|0|^ 3Y,ueU i*@"sݵ@|5ؙV9$odōi9SqSoWӓZM6ƦM~pY+D!-uh>.Cd2 p Ryl54?]3y 9 NanBwׁZ CR),%9!"9-8 OBzVb||\bxy Sb733eF{;멟E*b1~!}dp@ɀ4kч\ ء Ux=N@p44 y= /?z!@P|>8( BH \P8]χxdBO@ z%Ŷn/WKqB@qԡ}<0|  OW/}h1AX@w5)C  7ߏ`( :P:~gO{>n0Q@>}yZuXé|ZZ~Dl1ؾ1 Qx(+(湲gǡ}7} )@s@#xG~CLp~BS&{LoYv1ܒ) |A`{͇|}pJ`d0ôKAR[Q4DJ8͕>`P?\k n.m؟[u w0է:pV_QJZD 2JamŽsMT[zJP#@H\uГ0;MfݩN dA\5`NA'|%yiuG1w7:jx js``"~qssR~ǩf7LDiָ}5zir[j\}ZN cUP\l/0Ƈ34s@0. X4\g `rbiL$U9]q,pBG|6?f}΁f[ۓ}O Zh~з&Ck/T9I~K}@֦ h-D%ފQ2[kyt܃N_V02>`Jdwܚ^=tFԚ9|5D鯒\O@=I;>Wı/6*J0|H] ):8{:xC !1R"@*JjHx){4$Ma/rK/ b{La b5gd{]!"T(lW}TGĔ<<#1SDsX %c%25(%zXKd!ԋiS=~!U('mHZCzpA@DxX#q@s5vYD%192p >b\|2pe0q+ P;sR`ր @ e@!5F@D [$ 84<UC|p@? #1b8;w\Dc\cw c@Tz]h>Q+dy Ah%  0=Jgr$=H13's^79G8cp*C5xeu+pס:D@Ec a7X] Xۄ8 p'*pd}>wljnpǰ  ̀x$/EIl ~ @d?>DQg Ŧ{DopAFi%A8 |KL {M]"m©#ЙP2Dxp e p*ăho2:<Wja:2oHKLP݊1fpvB zp*E m> C6Fm6u@2p1Hz ,CFG'@4i= 0`,=gtkލBPРS:'mڇ$se FE NA:JC]å!Q1|d oGZM/6'Myr|IDc( %7L@@na(MK2LЛi{Vi+W Aygբ(e ġe3ȑz Te CZT\$eGzh^J"D!`<+2DKf(BGoGC& !p(YJ :bXl U.ImA(Zu*)$ɌN$IhAGUb/GXn֓*&FPgIFImCڤNBDAj/bJcmi@X>p]Fʔp^_k0'/:E.ĚpbbFniv14qGc$qIfFCƟbf01:el `@DBMAb(@1+Uq$Z$TX^all$`7"/Dd !D ?|FBKR^$~ʔrJ-@8$axtH@~ aJ!(EZQEQZ掁1FڠZ*`<7`,%ʎ(b0@<a&!ZtfA&+AbTR˲%~Š4(: S.֢Ef~"\H_Ɇ~𾲂aa# 3'޹E||*`M%b4XVd2\%eEBϮ6"&/$lAAjTJb ` ltAh%-2RPB!ԆJ 8eX%bQ$`d`t`^$/B^kAza@2BbJ)!D^F10 ί5KM'4U `h -(kȚш 1_m\m?Th0FI:B3NT$O.-``\0 +CeRq-+VC2%B$"Pwa~ː7~` BBn|NMCGܖ"$ΪvEbGjբZe(l7%*TI!1&KҦ.dd|茥Q%.glVc`8l 云b]Za*,?@/$:T@:yGy2Oz zsMAM`}ѼY~D̸&DPwǺeԖU }qE{D5 7NbfMih^61bq BAB|bB@n@oxwOej%hB^iwV|VN:撜@:G#KAdpb 7錤YDteT"hJNDbX.0'Bx8 8nB$6%V{*G)J |*vK$vnTUq*ބv|q,FBJ`1V`Kɂ$eP ɒ"|fo bC`'FbN[4GxNb \/#!Qh]oؑ||C߁!lAWZ`XTHͪ^3h Fn)ڟ>!aI A Bb[e*#jKM$,OȊA@%a;”f _`>KN&!M<A`AA8( $A=@, 4A$B! y K  @( M>g^NԪS8n&dzJ8Vm˘@4P6@>k`4`HLa{)AaNABZ1+:")/Nެ㊽=#|H@`p.a-a|tA:@@ 'G$aMtށd&&!>L`@ ^ȩ7 kܧ6@Pj^$uzXBe 0fgCwD`Oz>%2xp^&6%~&620. @A9o` A8巤`MVrUVD%U6% `@nphUF}&l{@JsĠ26!|MN` 1j=i Z`z` dBVmwt% dG/)|D0hdE CnΌBDCX1^Ll&2 E(wcuh>8}An `:@%!tR1D QHWZ!FR`8QǏF% 48-xKtf(PUnPXXɄڰ:a,ddONOJKdH]ۢI$PnB"xmNzd\TB?EȤr_h!6Nxy Y#bDSWPBs.F{Lڌ7DPHw:[8%5bnpHߪXמ(G``J'؊LEw(k}tB^HCWޱ+bEBpvPN̈8i$\B~A{AZ7a_~/ČSq~7-؃O MEb(ĴYP=$c~s3Pܕ7'dRG%8@)4%uz'+p+NLqxi( WpQ4\0:spIIb^)^=.ԪJCrG80twa{n;0,%G3 0JN NVDG)ƒ$4e'ڧ{-A  ~+!y h8 Pv; a` $}8 9ΗD c7@ Bo& GCq?@V&m|pas;a`]xF73B!Pk!n8; ÅrY]l> rO @;. `| :0 x:@аL>$?A'!_` P)}9\G:"q0l<#w=Mqn8'.8!\!N 0 fr]G. gix JcC!ƨ$oo-'Q| G8DI~.RT|˧.K hDP'p~13G `S$o=U?EqB`"UQa2 pbZaun& D (D ASHc>XѢU&tDzpK .I(L@! }'RN1)YH 8.g|G{gZޖZb`)g";zF&Ntlɀ@>H2Max 5t]c3-%sEDb]P\Vi5 4%Gj/>+I->T}ϲ/7uR*F0NRq C\00Αꔨ#frf*FG*&Uf9dWRSJg ex"&ڱUm -H]*Jy *@P 20q$2liZWRU`KV[oəJ(ѫHo >ʙy] -8 \rO)N#4Za15״g@U}kLGj}.+F k2M˺jZyQdh:͢aݩ6=T,,1` !mv>e=iO*Bi)D1x1) Q$0v-AIGy;)@b!{;M 4P  sCS>@h t H8Cz|)@`(r9\"xjDEDǹ2Y2 _DKe>hzU{JnGpcNV0 VO3`T0l~iݘNiq ޞR(#[PRF9d?(|9zF Qsa8I)+\쪈nwuE3qPp@T!4)0gn,xT [[g[ýOHqy &؄磻xgc|:jR47񚆨UK-+4{>|q@y*zSJqAs7 (:76E+`?.9B9le p !1 0YijF4rQ#H5$?:"B a>.#5[U$QH#ʤY:JOCC).z09>j8"0C>nAb{psqta.5 tq)L#8tJs uѵtr9r阃⦡<5p(`uFX8_},Td`wy90*ǿ̞jʇǹO7A /59+#I!(z@u+Jvr@+LWg":L6Sy$۶ʉ?:$Q*xX(8A:F7A i) (Z$?zL\0kl?LZwa"y@+J g) CȁT?,š@ 8y8XF7nv@v8s0c؎ xv `wXv. w8tty `c7R뇫7 0u hzD(Q+ny 8nTxXHij0ݧPxvP` }Hv@x ,1~Y;u *\bÇM Έ5 >Hh  %@XuP4~CzANr[sYH1;((Pu Y/~< ZD tI<1.yeu;|c0 :Ӡ|3a1`}H  _H# U )*&k6ڗ)T̀8tPsOECɟU+AKN@kh 0E1.k룉T !##hPjyse{*quh;)v$?5ܺމT=#o$4iҡ[mjG.9G a6힌R"&4%<9=>Xt&j(8!;1YQ=%ȑiD$* ӌOkG"qDzy~ jPL?.(Lq&MaF8*9"YָuwψwpuprAf1ZWiI񉉾? 8Hڀ׸2i{ `ggu%!ЀP'B:(C#>,j!:S= {)2HxM Lu+ٟ"5.(@gz.3_O%)_ߗˋRFqr+U38I%㟸fi|B <+@``ye|ޢ!LQs' pGlD$x g}'MwAi,Q|0抝Nj|$z8}zf.|'0VPpg!5(Jrga{A`d'y}? g<ErXf!8}FQ@G|32zt(@CP!@7quK@$ H `yfqKi :{`X6 m"yl[GYx 4{8. ws, epmм1 X$xbҸ-&N-*48}ǹ|\(\ $~u)q:~dv>!r{ܻ8z~B8l&/ 8&. *昪f@&*Nk솢l}&1b>#KJƻ*͚Ռqtg2+fy̧sN𿡋Ir|G"m Nw `F]NzՀ56GC 4 ih"'~8㝎Nn(3BۊeEk~F vfݕZA> q1PE |x;Z1L6]Ie2 d|"RwxP"&X a;xa;GՀ^(*cQ_BZI!`/ t) ҌI9@%#J+|G=! 'RL&c|7u3Xu-` `[/Hz:1GcICQ[7*'IVlr6~L#X%ڣBcO%3!yq4HI<`>aG&6UI)&r OGhinrOQ_;/òZ(qL A|sY3Q5Oq䙎WXkwO{} d9B/@A>Ga 0(@#to9Gx!=IA&Fc* 4VQM5#@ݔBsHih$BUe'W|9XctLfbx\r,ehIa;TcBvoDp=4zh;$f aT+<b@PMOgqzbPFunv"K ݏ'c^w#%5BQC cDŖorr U #hh: &`8!;GPhgR@JH bE>Gvtzȋm ${9F鋡$0*P C'ې@(#{;N<( 6KtljCto a5P& JLS@FiH:Y&`>vC2eP$xw!;t+ Zo!6܉#>bE3-'0(t!~N1mn'P` º$OF +fv,K{JEӴfC(uq9XH Xpo>X1(Zӛ-UĊWc2x~pIt4t7ќ0a/#@r-P xGa8 @>=t/0!WT#H2Dzeu.q+{2QP'?`.`^ U@/)FFҙLj|@v$*삑/jI! *%ZrD$ )x#;>C|DdբB@ lB@:ADMaF*%,!섁所b n@n+"/mHmb+Hl'I~.:."kh ʣ\Űf p% c!&;G<(!9n$j1<#T&@*@"Fa!О澫(h,"FLͧ`%(4%8BlBl7Ə@e 4OP* i̝=eA o;BD nÈ*>|-$|F'@,n1b/$GT>­è/p#0ȬB2%ƦfZf2hg\;_ ڈܱe\),L$R’SbJ"@Dcz`~$D2!h1;+2j$C&ɢ6 Hm4_ʆ$BZ8&T'`-lkj+ HFx.*±b3`(g!kc (ng  @Qbƣ5$%#3:rT#z52#C+ǽbh5L,(R=&04p> 'U5b&LHe<7"'šy„)7+qn=n0&bA!zl V>lOZ#C#~$"aax(G\2N"D u`4WAM!R&A@2.9aѡL^ a ~Y`O1:ۏľ+ba 0$ #@ "-3r#LA!At~nxNxhaA$@0: DQB/r_$Hy AB'PzAa` zvLlDF&-hA!f `p^%Vx*R:Uo%&IHHd[&#&rciLkDA\h4P1br2d-> 2`$Q #5 Β=gR^#h%lHB@oax!A6b)0)&- AVg"&&k-A`*#a>DF"b;o` rH<^AnL HdFICLZ$e S,e-V* HA!AܦZq""H&t$DnkX2wA*xdg7ckpchwjTBGjؒ:BZ8X!긠+nz 4tQ)/4d֑ .%x&I/9> e 52$P8#")s '6.f+̿dF2@k;>o1#yc Ĩg /2lYe|*&+#i2fl6iL7/缋Kmjf`(2&0.,o!*/H72b$(-Ok#nOI< > ƶVU$ȬcB*(9sD.,ă"#:R4h3nk#78&)9+nPÐdV=` ~o8z2~!xp+ZbJ$o)0̏ cp,Qt(2B?k[12a4LP-4JhlÓ> Rd"$hyb€TBJ*}k4A˙=s5 oP! @ -$!#6wi0Ѳ87|x4VMncf6'Jf!jO!hDd*q&Dql"AV4\2I>k@. AH@vX`4rkkZ< FN*BfV- eQy4BJ[>,@:4%>cC}` E(JeZ\p.v Ne̍F4g\!V` e=j[_R"'NdΖF'",f!A"*C?>&xi9go\+M:73B,$&?% %cи"}SiRnb!'(Urqd>t8ՠ^@h (I*(4AB  !pp(Sʜآch*5$TcD[Lcjk cfACǮF]C"'6FfF6".@ ;H!% .BM)qBorF 0,<Lzc $.k@2B@8F6{ 8\02Ժ4B$a_<`Hs@n+ oJɬ`9 iŝ]XrJ%$(^ό1/#4#f%y?Q-+CA!g J*bX 69Wsk`y!D CP^`K2**xk 9!\Ê|$wO V$Hr*Yĕ ,Ew-fQ8>ٕj }nB3|sIkH*%ovU}:*  BPH./ ?dp$ 05`g bAsLCf7#ʪ[' %0Hdp%|@ @X&m"?o3'CrTrJ&T@x/%!|?n #)>Q+gp#*:j[8K~h r ȩj'&  J8Jr橬p- 8" ؁- 2ݦ*ڳ& tR4("b./fpj8ꄜCR`O|>ɟ >B-augitGi؃<IJMۖ$:.RCT$N-Z܀*+Fc.ɪc'&&;$/yh#Ūwqu@<" g|t{N 0.g)smyu@X:o)hǹt5r`2rdq*M )z@"@ '{'Ĉ~1{'~:+ {F`h!F qgq:` `xM'yl~' M-OqSE BvgI ئ*j.sRg1<jާ a)*xpʄ) dϪ4wZ%"*;!B7j A(PĞCTKv-,2? IЁ2 (x7>#Z ˆP xd.~P8!9X@$`$Ѱpo@UJ; ,@ H7 0uG?aL~̛) $A[0y;cT @xi_<3i34{Iq΁eb$  y@Co%$PR,{A:=w|q5nh@ *]@j 5ԃm$UI4#{tfegj%r[KAj9/V8`@JC_`G%&Q4C -@ZR;Hr H49Fz` V NVםŀ8BW< ;ը2eb9QvvqQ=lK91o@AJY&E GcYZ#Vac]8CvݐXs-cF|wRHj 2Qnm1$a8MA ~$*f 2q仇dvڛsrL#]J񘙿=C;h:/PxCvh@X T)j#Ohc Ro$-4ULiܐOإZi1-(A`8(4" _q3ai`H%&Tݪv P|.;)V$qq -8Pd4ΙdifS b7FBɼ %.>0I/KIA% qvv1%Pe 8{ФqBP7+WNCXu-Qhv~{0,gxV>GDqQ<Dzp ǐR8k0 `2U0 ;m(4*z\@P @<7(XO~JC Bf@  ǁ   9A:L `@p 8P o0csչaaQقHs%y36|⛫idK)&HѧN%pd s'pÛS @,^г=GJ>|u"BC$oi6@ ݬ90ݐVav}v}]jd2R "5#!;sV!o~zYZCP.0Xx{;LJzt u }qnفA0{x"  #{- rv0(!1f:Са x }5cR8ZozuIjpr(s8q@0 $[hx&p`:$(0 htxwz9 @hP| xvA@Yc$x(  2#Z/e0d;z*Na| 4h.V9'ZГyM'+%/1 P@"YK_*Ya*GQT|(0 9J;Ɔnl8z51X0pS : hnBp N0Ї hpY6<!(pX+H~݈J+|#5 ȗP?u<`xJթÉR~˛+JGxT5ɣ/2=Q1tpZz 1 -' '8}Q.I%2qc"ryD2ؕ"ua>ڂG P>EN BP =d rHܝ*Q!{;oy0:A DQZXzA05(sժ-4CGų552,1H}ݏGH2 πդ!vxgir#0XSL@LZ?c )0N!.,"44ތc*5*'<"p@-r, 3)P3x|GHS[ 6 ˿,X#ʶ"Xy@hV@ h{K @|wC yvHvwG m=xKy/Hmo#DJ8x||Lp@O8X&8!Xz)!)Q HqojxCx[ /Dpxsu CVKzA` ̴@DLF@ca?+h*D DH `>1CսK!O-ቊI|؂|H& 8?c.|{RܞԈH4Ih`(D8 qQP!(%G[w{Cp/0~ĬznW`{NXy0U񇋑H {s90~A{bi{ٰt@t4@!jTG(4{x s AЯ𓈙VBN  Jڸ3Q*a P\X 8kpɕ\hJHvz `rp 0tʋC] T MɯqbX BqB, CTeE2?/zؕ|H{QmƆP@H!'ĥ ȋH  hjml|XG*E|uԵ4'!)*} m?\QPe>mȸH7 "] ;DKVz༔2< kiΨM i!Xp̥ݠNÈߊ(r'+(zވyLQVi<詮 ׽P]>?]Ŋ04˽L?0D!>`j(1V:|#i4r

ELE x.Ȅk1g ȫ0ύ@נ| qb%x# PxEl|R +@&'Bb9T@(2 P}Ti6%j/{%Pz jp Ph넇T4Xp{ K+\蓵mQͨ8ՐMY"h%4 50o;Л óZna'U)X|ذCpͤ-ԗXMY0*=h =V ~Ѹ?8(@ `%B5ʠDb9q HH@8|aLp}KT2ɑ8h~lv33J&mu`p>NMҶx  h}ro(+QzKS:\jo8WaNP0h# tj {MTѫUzl}tw4H@ XwV] [ `tܕp "j"y 9Ad/Uy^w!(!:$-7̠=] $􏢃b@\}Ci\h >JV1 (M\7Ȅ \/W:\VIݖvX :[W0e +.gSe8zPx@zpfQrpׇH iQЅhw4x4c@X Atlѫ`7:L"Hm˽XҴ&]aK4n  siR,ra3j(dzvO > -  X~Kv(tœH$hIj%O( OҬ$i'ևl^v٬I} ғH\ƈ$ψ?_ϸ@ '$?@x?o{m7G 8 f/t|=O *â@L0x Vaw]P(h<Ӆsq  @@$hE@$>_/ASk@ `$#@h ~=_OǻP B0sW1 8pdjE "1ا:[\sx!H8S?z<)z=*GNr<20":t,!2γ0!'31 9o+=셢 pp0d0҂<9 <* ,'-r(@+q Kl ߠPNG~'(:}ǁuy|*5" r~(TIB"qqg`84 1w@PL ̼ϐAX FTJ8 `,X2p}y- VeD'G/o7|VLI4 tg~")|0 @ t(`̢A SiaE(:w,O_S1f9 *o؀,``h$ ]14k!tL*Cq`B8d+3Vk[ A07 [;u "Þ|1V"F5kSgxbc5E0  $ 0 |.`ǀymsgiw\ނrwH qs`Gr1t8U`HԶLp<, `@0zi yegX* <#Kw kw@f8 zp>GxP]" b 8: P>8$|aSK+$ p'{zNthL"BOd5`#(j H)4B3uQ쁀Z1I(xdM#BBRCFNPNOZF_i"$.d(@J:4hJk7U#RSR3/I`qPen9`s?p tAF)ErF# p2#K'h^H |h ј :}(H;] 9Ku4=㼳P2%}Q7C{ez f}w$Ob HV)y?K0$R*^8d|/iX4}FJI蟶X?H e|Q<Pd x 1#S9Ez a4rp?Ѳ(a: a,$=cH? s>mI|Qē<( ?KkL| Ze6' H#X!b 0]kM/ q=!G0@ Cdj a6FUB5`>qf>Ft>cv \z ʻ( H t𸈐.7-jȹ k8j@i{uF\5n#JCfNdMȗ#S ]V_Q99'p Zcvp4 jJ$T&ObAȽmǶz@Y Ȕ䆗d!Cc,Z54Ɉ!f0 =9F$CMhB$`P|֥g8A(blQ"~cw5UT)Xe'&>J!eG$ N8cs @88":f5!10 {1%Di$j, k `yB|9LZ@&0;LT9bD*j./pBk&Q(dЂEDbjDp3"E ޔlL#3(&h.ؔ+ƤiHE2LChF""^Z*p6(bataC\ Fm$!. g)?%rtY`Ō87be,A@j``L!FT Xa$"?,5bc&yk*ҁ굣^[*"h%3  I{b88#d&{!RŒ"}&`hX m``4䰌&Ԅ#<,:qB"Lw $cB=b""a6A<`4^A脡.ehH:7/{ hQExA3&hԅ+-,1Ya\e_KJ% 0 m" !"fv+q,H3cf=L"" )KcN(/j^9D;I Ȃ{)6X#d@c@f9 >`L ˔'#T#EZkUB2$b6uȄٮrkbMpAHaT`n,*X*j((`,~Qj Ci@(?e" $O!u(V&ƶhND6ƀ!WGuS@aD4,(s =vLvxP@8&eh1#aAIB)2d"8 BAj r(" !/+;1b\DEL<<./:Ar!ok`ҍ,Vd/;(Ʈؓ喥>Κ@H㆔`rT.D>kR[B&iXX!0EDei4d0RiDeà4 h03#/#=#e4ܟsNLCg!hAxO @ N/P#?$AP /x!ށ}OHCV1"RO+$˞`XVzbzܝ]B+\)uZ~&'覤*ezCd-_ d W}mBfGct#/jjjb# K@^p .*^0\hp7+!AFʆRȌR$OpxZR0v0&Y"&48c.>:Bsm@1* P+4Hb?̳o9#bx! Ev""΋H`JJA*FN<&S*ra*k,B9 /h1"mt:kC,Cf7~53Ã[>58@'k]GT1u&.iVL;G!4L;;/D.,sG;{%*t?6!*d旭KLr>?hؕUJIƲpDpjZldQ' 4}k\IÞrZRg.A"xrwލ f0ă M$=Ծ#7sP,䦥jȰX|!X"( i.4b[8&Se#rd/(r#~2" :6ɕLl[J/ e_e$SYm9Y> Hy!  .!{gh$@2{e=hތ/}H#Ms~W:utmI@cx/]^:auFj U`fuZ٦MD{1BЎe\@$x7g+Q|eM$.[ O0+XRu1+l$N/` *@>TPz,A6`6qeZ*V"8@5W!`n@ h!`!d.`,rGVZbCId/ I!`:joaA h[L4p7vἁ`p~`bxV \(ՒľP'cϦ.An\^GNЙI@b;0@+bhBYWBˣ= ?Cx^h2O $c:IOG_)%KE{} B#BOIR2:my$[h**Ve^"'4A)a"mJaa~F nr&gQfxX9h_cD#SvM9j3g@E?J[9#7Q^&xb|@P @ @( ߯$o` e0_sP P:5 }>@2"?_ϸKΡ/狽  {/<& t27khߏ|_Wz<(@I/$M %;vA@HV I-8doc0H0y=AQ'zTLz:iE_/D }델wP N&q~*@hNa:X{GAh8& !` yazǁuYyu웟 {#@ <:ær ~~M1̮|x~0 `Bn|ק虼ʤ3Ύh礊"n$˅E(:(&h[R$QtDOh]@C3N+:RNسsFPn.']Gg \X:U-cGnҌu :4V+,#ti(xǴ )AQuX%q`Ÿ@p"B(Z sg{p~q˧G) #-!JSш#7+ -M@Xsl=huMmJ؏ ԡ` 4]rǺO-⬿_1u@`P{3ѻ&%]ch$#FGy]4{J`h `DwVM(i  DIVRUW  zjjͪܨ蠖yB6 h>eMXTyC1 3=h+ڂ1R^:Jy3.JC§`0JkF(~;G8s ~<  K=GaD<vJD H\K̨z=Q>Gu:4 ]n2B%|}~ Mƚb-1w*=P  G.$0UC.P#gHAf[j퐘;ru.OϵJaojŤ6T4pQN(|8]1I¦` p t茤"2>IlԷ8E`V<+Nl$FJ#5atQKt<.}(eTwz:E[WZZzc$X29).`9O7ޞ6)3K5lOdms9 3L 8R*q +؞+60R {"00 |`yw!H(K'~K0Hq8pq|P0q#r(tHzp5 89p0aegx A80XsP wBHu`}y ~Q2hv%QXNjy*"Ѐ76QX !V0Tp)/<+SeZ{c\ 0 r 0[j:dQc݈hxzPe0h }w<٭뀙GȱGA1I (y!ǭH|A z-{C1y@h XeH[]8u(vxrJh`oojA(ګ$fxy}6  z{$y1É0 8h@:ʀz8@. =؈!BזxCֵ%9觠q@L`8!IG)2B84vؾ(grxǔ>|"0!ɍ 8j 7Sb5?2 X|aPtE)*=IYy@ؗ +X{c'r0 k8 8HB 8`}:pw Y$xhr85Z@ P  XI 3 Y.5@SVHKz#ul !Bu6YSn)h԰r6R}NqB9QQS{8Pp'zjӂt]j7.c: !:SZtUVj H9([ S9ly Ԕ 8yr>)CU{ҧx !n:K<ۦu?0>:)i9xY$R籘qoU dfU)!~! i?M39Ŀ99z*| RdВͥ}{Olhhpp|Cp"ȗ\ n>A[ՙp+fk Qb 99y,b}S K I΋:@Dx`u)Rܔ@c}oJ  A4A+ ŠHЌN8 :΀BL"7(u` zJ ,'Hy"b]Q#Fl˖:@$x8yU chp4z ,srOP$8t[)4("x4~ O|Pp Kp]kf Z [pdHQP"$x'E"8'|l:YAM)8 ИԄ {] y`̰9 $x|4bގ,KŎ|`c8i_{Puua `!0IQ 5 zHRNw ;"@rT` Јt`dQ}Sտ}T OH G <[!2}ȫJG U}b(~| 9*8 d8rŮb~:m|rd=Jn ŇXuN`W*RZaut1C0pkij{P{(Xs=q ׊ڙPSfV a%pY 12CPOLPw?qN]);? Y.@u.X;SHF, H՞?|ԊM zlQ\hu "yvq;,֩!!(Հ\v+  iK9S#T0n=j[0T t#e"MUq?8e֖uimNfØAQeV%|pbؖC9޺_%@&+g֚jݖ Qo+O q9}ұ'_r.: r\y3:Ȍcmq՛q[pboȫƕ`>O{;0=ɌRw rt~hG>ArJ!zC(mXuP y/ kѶ!j;jt[uJhxS&l!PgPrwEN蟶v6N6 X E`ى b .; d{8O QkCEv1$5 H+ fYj֬h|Iiwi srGo"dS tޝmzC^) & ~ `s&i0S :R*&;Xw*|qXsY(p Xot"gĸcSўl 0\kR8{< z%}̵Xwl9z%5)nj-'iԥ;-u WG)sgs |j`RQ^9;pt8uX%?0'ACqudYos꙰@0   b{bg.?yk`l' /Eᐹ@:*?.~Ԣ>@0%&,uzr@ 7t:[[yD!`X >_OW0 1`4 @B HiP@  gHJ{>ݯ=\.,f( z7&jXW, Nh4OɐqQ{".oa$@+'!kJ p(~A*GK/'}Q P ! yJj'!ǹx&a{G 9>NF(r!r,ڀH?>R+hJ/?gzLqvG1w'j* " "x&-|.$")@zǙzVyKSy'}#0ժH'v0:Eڼ~Oc7Qop<(P ` (J|:yҞ3h~yxgt'ܰ+o `" $ P ;XJëH~Èǧg@dIXU><,hRU`R)J*RR'-n~lKIHwL77iB*ComҒ @*ARgܡ¡]X. O9C{QT0P `gL!>FOgճQ(,o?RF|:&=$6ߞ9Gh>X züu9 T XfN#^qr/Ҳ5>E lLh!Џ* VA8\'lg` (7bY l 8Baes/ټ&"TqKpTihVMh|hȰ[Eq䊣x qi'܁g{|}%%tL@#eyL2>B-pG&6dP"P1D)GÌo4@@P SD@:@z7 E`%9rG%QdB@-.Dwg$19lDyA#\ \ -!)<~:x5 Ke]2B0Wfy.sﶄ)b?Rawsi=2!)b;8.p4QnG=㼅r/ P7@;Ghy02z;õO,@:;*9\ )l(R^/J3Ją+ 2bXd0WPu!l{IտE.e!AeiNLiRewfu Z@l A;lxz|g;mE#,x \csJ>P)xbǠ <#Ж~N]-H9۠ϡ(<xqv=pXCؐ4G`ʋw O` .2o&$0xa 5)cu)kʨ5P r/y0kC%d\e6bQ^Ch A!|sdWO #P{%mKB hM$86rkVE[¼},$~ݖ+yBw W5Sra81Ŀ_3yUVû7|F# .yA)0tXgN"}!&<"Y`6K@"/^0S $} p,&)ļdFeCP ,1E鬛cdphI0FIF:$¬.\06OUi;vl#kOĬA)~PkKĸ̠y.ChEjc*0#°{ G/DP$ Rvb,!" ,L.@&a nJF"RY&`M2*PJr'F/$P*cZA8͐ D! !'aUB  @r-Hhe(![>@ .)81мA΋!2mTy "fL,DRq!!0 c/`F薶 L'aNȪ=$kmD-4-BN PiB`d6{H/ `z!K|f$ NvjLPd0"RC>U/R(htG2.gFC+b(gP@Fzҽ‚P2Za'%'=HLD2.k0:@02&#|:Ad&7!!(*.g(k&{ %&,!D$E &FrEAj̠ ?*>l<,ܼ*n?@ ² %.|C+D%!+!g!0%(boXMbMk!$h@xDG*-"X"~S-X,&4̧#,$(^7aހ 2h(+h'aN~h% @LF4zWdP0" .ɍ(8(B'uBX\`(c8:"섥ɁD"ҏ2"lT'Ca\^%IkP9(J9GB"fȅ<I#*AzL=%^o(S&<)c<A:WG> R{fZ|N2c`E&C+pbm" sɿ2o|tPtK3s Y)k~qht*tkH@-=:ޙ0t26I`В"K%6ЖB~JJWITf%3~ 3O ,Gpwx5-`0}4]Ja>aLcSn BWmTA" PK !BYLa-n'h &"BBՄ:$8Pjר"CΘ NX.p*'aaOGw94f`%ֳԜ0VpKŔDD{ ^Cvh+#G NmbJ,Ix<*Qk "$@Webp Qg,t*4GM {G1q|NeR!҇q.m'w䝆GeC> EAHAa{TH:@FeHDA+Ǧ1sZ"@!@v -l踃FCʼi>јX,n" g)60. VUb&BEajp~H6H:T+Lxq~5!0(Gsåɣl! |@FM l.nwirnG|F4N\a¤AY2PҼ6|K& $NX. ,rLJYw{r ^`6dB`FҨ8{/ڪuaA!כ5'^h5>6><< &>Jn&,m)GкY=|1|bҤ{G@FfހFvBN'q3@ A2j8D@)Hv:]4/0v$oPt!Gj/RE$,+DÖ샯S.ۈuR3fmA36 rGutwx|OuqdVu/{&ЎVPӰm$ r5jGx%oR: *H AbN'n^V wsna2{ԑ/_q*)(AN|b#Op"7 n?vN Wb.H _AݓD&GYB@YK 'Le?t+2!UlFF J,`\=<EbN3vIaZg"&DӐ&: ֖>Ik,I`{H%⃆ #qX#$^w6{ jzfv/PKMBBU\O $|Ja$7  AߐB_`l@ 8t~7 Cx @7=?g(q=~zD"$N!F~߯H gs8D>Oc{, Ix<  nz<^ `*cV`0=]y<鏧󥧿`I  {m<Η{$ dKv^ǗE{O\;|ģY_AMvgk !M Qrqhyҟ yh`6`6,86` `Jy^o !QyI2!:G|{Agڀ~ 'B)DApFj{ 064 4 n{?:~D1if1dAfᙼo$u> HN~$'2}9ꁟ&~*2L$S UB0DZ΂/G|ǀ+_jX `2 `yԐ!` wȇq4(gk'QhB8"``p 6x`X>y -!vgpvIo&9} 9ހ2X~IrZ+&j^:ERd^@%t+K>Je "4Dz$)\% v"@1{}Whd,6 ~5@!ə޵IdsZVb!p`LB{f  pgz,Fax܀q&PG/B8G'IuJ+K ,' n G`N`\!w1;G8|u҂{% P@|j $[@(\A\Cs7 `c{P$Zؐ1’XPz+z DZ4@SpfٸZ #l.pDK>G\ U(gf;jE@@ #   rU*$ pI$PPJ)A%G?[ٸXޓA7(J+JԣbJ2T&imPR4GDl5P\iEIxC?$ VLzL{ FҴnNtΩKi!ѫ'I*c'JAH4t kNyN'5l}dLF4E8$R &%^(.9jP9":tTl4anOAn|G8sz:C3NH93ȡ W.D^~`#2<p밊ƑFR X .I?ANU<&P| x, Yrը} mp uZֽLա'%(N:Ye)Q8 z |DV(HSD-AzIyukK.ޓK_[T%EiIpbP#xN0c>08K@]MZ%֡XQBx(wvm0J3#=I#(שc@T  #q::c:魃xYәlh1ƨtl;@1JND\ c'Sɉs+FiM#8ȴ?j@Stܤ|H>λVPZHɫ ĪMhɡiCq:P|G 5nF5`:z7>0]x@`>`"2|Q78\ɊA{v3"IAM j\Ylk/L|(菡<ʆ}DHrF Ǡ&%`jJʣ&D<a ;EAh#$r Eiop,ĊcaA:L( A&QY@8MBQ:p``(#-1=6J."2ڶ!lFTH$Ä:k"Ӑ9r0s& ۨS[$g(̣\x`@E脟g4@{1)Ldw &jphI+)@w0x#P!3٦B(:U- wvyx; hӦJ5  X |@tr!xsHq,) &(d(zS j'nvz+ԩj; @C(uq xy‛&0R%"E=a5`x!v1 080 x&"yVaj@ j"~7F $1~ۻm& ry*%Z_%I/e(ߞpF~%grp2 tz%oI(ju/%ɫGAʑ+/Fߤ7RvJsZ¨ 4dw&m@ D *#9p(ze‘ XyL) 'Ps:2Pz Y * )%,+ꛀzޥ1(DpH8׀93$kX| 8|:,Hy'r{/|F[ԢH-g`"P 8up"!чplOP$ވ-iӵӾ 0qN#9#[oP-Д,ubs%-ܝLZ q C-ܖ! !PZPހ*#ʠDzچ,ޥ'xAhtYܐȿ/;ڰa 8ސ 99*x֭,)9᫜)* ah{ py0A  .~U#$h}~2b %ˀ)vAxv`"U$j/ &0(ϧƍXԣa:ougp@v0xp #Xwp y4pv0~i31Ĩ4ߕ ʁ.NS^Qtܕ$r]G 逛q1:- ɐ z k%/(aЪ}Tyf^ Ө y~ qȧ} j"ns0uPwHx82rxZY  h8 .({qƉ dH#kjaya  h3hx)v"0 }π;Hz z@eQ8 Opnp #Qp_[( ,阀(Ƽ @Pa]SauχXt8dH^xcԉ;x:)ÍW?&뇺8 񓾐+ ePҥ#߉ٍ ~0` `?ǜuNZHsI ǁ*Sbjw@uC2b|>e|À($@# 1_:bչ r~~ rXf # jzckY{ƒM#H0|qq8o Iz Vx(8 !)h#0 '16abѼ5@8P%,vZ+7 )z)<ܗ"f>ˇ앫*5uXPͺn?`x Ps ` 0^<_F{ jfTƍaZk%"֥4*SLAm,{YFsu_ yI- )5H}leȚpȬȲ`H o^#L|̫ǼH|Ԋ"Yx`?h: Z-œ"o}kAc"b{~fh:*Fa@3*@$KT`w @]ͶE8klBaҰ+#"kdRz-H m;.5r1$hzh7oL mzB3Pw`thr ( rnFo8tHx$rH iA098c@0 mԪM1${U@$*jezs˜bmj䃥|Ƞ_>l֓髡}{YlvNh8zHb0cC 7p@0RoאIsH#HyΉ.Z&Nv ZhEAv y>  ѩhp+yGN ب mnPl)71 xW@h8NN`w漁!rpuH8lh0C9#+x `|h0ml*] (x}W?щdjgĦ }R5*L^zо0ox҈ b۸IYֿ|x,'̞XM?kFyt*S€rjև"ia E}JE S0yAFB c(a֊{̤Ї"AVڍE yטlWahΈA H<t։z. I{> χŢpX/ qiA`B P0w;7o=WdgC~`@,>oG?  0 oWz T0 ?`'a'?p!P&:@+` l@0?À_@/aj`0w3^jf5wvyqk9J כs7O߷m}՟k1<MCR 30"r4mҼ>Mrߵ35|Ū'B`X(P ҟ{!(In#Nb7/r9>$ ;R,o ~~7|g>ċvGu|BDAL85H o"|@" @P"prgts) <κyfjAADViC[hұǨTqfsKϣ:nr!t v{W@H'1~&A¿:ހE-,VЎVO s@<2X$ I= Z'Nbc/(5/ɀ3@㮲N+px BP9hƩ:1`**HIy XH,uG9ĘI @zH'ίawGw(z|gzDM9.:4Ԫ*۬ꁠ`ǁszp@CyH>p>G*6& 9)=6#hqO"Eu[4VuAlN'8'&E[@!_üxcr45 FFԮ%شPGDƭ!:L :`X A+cs7Gcd~p44>pckax 0CRDLiP8@ PQ]^Xۡ$Cg*$>nP@ ?DFyzfGL;t4y!d- p66FHjX'@1 ,^O# @xT@ ( 1z1xR J8p 1  0~ :4:P9폗8xHB&t|Hf "kDƜ = !+DԨW"ҁdd)*>BednW[/7w_`0 00qA{/ R>U1vNskV2m: ;QeҜ,C v&Ɛ|pR ADP{n[6!Sѵ| ۢڹB-S$s%`.P7Cs .09?Gxll 4F#۔fm :nk'ai$SP_,S$Gx'~\G@\ T 0,Ć4c2FR[cW;k<vD&Oy6#~oCţlM$Q5 څЅPƟ fh)ۖ>%ӌ1x&!u@3['gP֥`c7I@g|'53Ưtxs,{t\ Ivӹi[l&\7!D(M؜%[Ow:h zڳE 4w|<Cu C%  JѠ 8.P)Exty6YZ#Ի<[@JjL <$ \Hc.a*)pt|<.pxFvΓuL&,% E} 8Y8)d"J)Yhf 2F3"6pSakť9S1< hn֠X=\F dC c@t[a6Qqh6z$\T}9ɡ!oԪNkD8NtpeV CD5l`5  *~*'‚4*7 )k@WAz!byCslpc' \D2hK (E 6PMx+#%'`$җF!!JJ\@T<&4@X6 t %bLh>s<%kfb'#LOcϖh#P+Cd8*=A˅}"r%DҭDD(4OK,d*`4\!f ^"`XWA!B~:/Bgp-gJҼgЂ ":ppHľd;#H@``rln$K*ar#5@MDD >,aOA.3jc & gn-\a, ԋn$4Dl fG]#0jhe@6$ A첡R.7#"`VhTsb|GxAKlބ~.Ǟ&LAcX Hʹ.-DyN$Ncmk-XDdF 0 D:"+c . (@|4*,03"PZ*cP$MH4F9-Lmh+4æcStklHm-j#@K|Dk+9E-,S2tA>EcrA(@LBS`D Dkd(mhUFHQ&fE-DciLrW",= ' RF9@cfIZnP494&l&fyOCf .gNl#̋/ l .wbKPc+ڠ`@*aSQA,`<* ;BhTfNg*5FJ,L%2A a"XG L@"!ںC4-&L$jQ*DV6)`A+/mIyYc+n&kD=4?Ecs.>Gq-'qJ*HLpl 9drh3Z*z) xB(Fb4cP6D( TG&M5AFHj~(vO?,,#̸ƹms-Z:40f,8: %nr,W/ F"8vf3/mM:XH?o_#2n LԊj%@- aFNOm* $0.x u$Y34+n5iĸ<"MRxS!ff2849Sps[3#=#29b\lJSxm֭t䋇hH.J< 2y~J A!\ phencT)bF(A,H 1 4WǸmê(%8T#K$͋8c&h42IM#a/9$[`l9wXa 6CV9V֣Da\ZmMamE4TڅF;-f6i7g8Njk ҖvݵlF:DvF TAE#f<E0t5i̼`]J٘_}rKNDԹ VjQVcA-!hK9ȳr@,.F'"&yA4Aa! DJ` lheqbAm &HdR8%f'nf vp`LPԠԴvvLC:MJ+*">n[zh} iFpBt.fs<RCfsBd?E*=S3 _xVk cSUFB)wD(TdKlK.g-DH@M4OD[.T(dvP ,L^:F:Er> rԇ.iv*Z+(`N`lV`/NX-E(h*|YTH(G]Mx0R6%ėH85PxGCLȻ20'*Â;p;((/f#:nkmWuZĥfhbՇxjK&WĀ)j5@s N-8:Ue{)jx~P.Oz;ݯ 0@l&u9 `(0,lcF& cs[|NK߁&R1|_o pe' l|GJ{JK,+   @ N\~Qlj G{X`8z` ?`0F ķA䪪Ǔ ~$a-? [ N0Qm p(&L9̰rxg~! V0di"K/ʟ*/1D+&UbC~0})'aGy xMt`Jɜ-3r!bW02A6Fyw%RxjIug a* HD1-'YpG.Q\O51A«3oMtJ∻CEvp9N\-w.+qJ̱<˶-tܣ9`vD=%]RFLSVyD;  CpS=NA¬1pX>HcyHm:#|8BI3ct=sbytS( Gi7jH&cҙ#@axvP#.JუșrU.ĻK2wZ,Kc}_k]m6*Nĺz^%L mP@D21020΀bHP&IyFc˷2CTleaYc;dh YZQ7P*rxʁU0tؗK3nEeԕc[ZK9b%s.(t~r6L]=*)*E*d0]U@2 4z: TK3/J >Wy;eu*+ G/ StK1R$(17;<^Y>Eưw$@`&`:LPIǰT 89(`n@,@Lvl,7 =0- )|h>q /H 8:G)e4;j4ڬdIi &xzLdO(H`2$̓Q?_HjN DH\i0f8@[ ፯!Ѩy30 Hn@p81xD[` lf0H ifXw,DsL&yBEq |Ù:ih[ > N7BD URwoF];c%"X?M;`R^sn#8U:v9*!*LfAtPD 8@ r `i 7jCVr?X[ :hx5Ƅ<{Q|jȬج=dV6(:sْP^ & a l/!kG/gɚ,Lh=@ mlHޏr[\)Y&w1tQ9`Rpp{9{X+ $Uΰ*G fH< cV-{n 6hlgi!_bO7nl Jz?wE6yyX]2e&saXgܕ) ޿ 슫aœ+ \r Szkv&29Aۦ(I2!ɒۖbm?*VY5+9I>1Q10![~Eث Қ=0ه8rZ#j)8HH (xtXv=hu!(c(dWptpu `u[_i Pz@x˕h ~Y`8#}9XX X R wSW9Ϛ,)ӑk E  \8%w2p02FkH2X ½0rF z+)a+uJk{HJx~c0*{ z28 8&J. ,>#)P̰C=w9RtPp oH`ixp&hI {X#a]pj!yQV;10t`FHࠐH굥u)³ )p@ӔЧY#Ph m*0!u9ғB?` ړ@ !a8`P'Ls+ H&D{s!롁& b M{;^>T)^'aQv+IxQ ̰@ #t"V Yd`qq/k8r9)L ,z8ɇ}Yȹ9"ύ):\v3AfB8995J;t'+[߃>20>9|ɸR zk e"9ڢ!d?3y DŽסbq=V3Vrq@9j?qǾߢY Xd!4 ЕR`/Ƹ2 I2/|sokj n)eb 6AfAK+ IIf18}#֝|\*[_ۛ OۘhyM+ rPQQ[y{W#5"}%ce*Got%9-|]`f=siV=[A>*Ķb!;@Y7% L2FB&Dth›'E!C!Ʌדbߊld5]׻hDžӀ{8 3& ozY<s.F_(`ՠ)o~u"ٸԕ1źHJh0kpgF*XhH@+~  xDd@gT\G0z(cHzLzE-huOt)0(`P@`4. `h*<8@M ɀTá-C@+*B-Qz `$Ig$Z}:HBRZj璔,  -IB $ FOpYup!wAqobxoBp&ɜgF`!(7a.UF8:C}P( )sӂ0hf\}\VJ^sS$ߥix5켉0+r $Ȋ~!q~ pҞ_i{n` CN '0R^D%$GIiĪBQ yR~?/a?NXd] D 2Z0ėr?ctq6G0&$g&,@- vʄ @z=Ǹ)Dn| d>Gx;GZF;<ånRJ <0ScO!p2Zx{PN9:<@I+脇( /~28 8;HPLxE"x܄0 QY'|M"/ :*h9-U9Aeӌ9f$%0݀10 qx7PDE%@%Dh9(RҖ'ZIlFtLKQL35 , VrHYxL*sc船Q9l,ZHxQU)(2Ƙ઻l @|[1b 5Ơuc:> F~: Hs  %t曜NTQ4z 20FI&LHH!:H:!NǴU A4lQq gLST Se8? BZ\?XwAe + SS1Irl. =uyPT u;iVTW I'DD9HnI$P!O] xN:錔sMH $OE R4(, 7 bJ*:xjG]e0`/"rm1IP=~ʀ ? ΪTA"R`RVJV!=p @$@6 X#$pݘ5E ,@$`Ba)}2) z޵ T$z"kI2*~^~}I/#6i:q WAZ*JkiGQ|%n 3+gh9z!,(R[Z0@w~{ 9+x?O _FX)Q` U!z2 KltqkG^"F ?D^*bfA($ `.F8_(@q0E@@DjBrLz(_d_h.!x}%~N`q<V.R>R,*u10Ht#{?@ x60&!ʴ~ Tj{,>AiPy ̓;Y怎O|*!+LDn̠BF Mc)')DC i;t)C(]=,^ZE6~Fd: `<{F% aCv)t68NmP"@? `(*`@ %xcpBڅިL)g!]Ŭ%'(!\B<&.("#*eT@Ɣ , P)j!P<,!&{"ǰ<~Oc,Y|<2Ǵ(64*\ĜezkpQuQbN &1%n^Pʃ(*d#eRby3O<*BO+j0XGN`r"nd`kiI`U~(:;B6tdMBlB:(]B clQ.BvGC4b*T+bq1"$:`.H.n0tA>T!"`%#3"a`F4 .&!'RKL<zD(%b% K< &l#$8bB8b8K H`(r10 RD(xB& "+B'/1:JHAc M 'd2/cC >B\ةf1!N!EC j&o䞢A'e @ B*!BG+B$$3`"8ꃱCx"+]B @t T&~b(2 &g$,AB<DzfRT$v3uZ1"E@0`4Yf^lA 4z[159ܷ#l2&m:M°yDM,Vq~ `aS鈄F+Xge`@$B2:08Y$DBχPZFnDVelڐ́ , xT'&LFN,:ZѢBP FE]D{UQ(P[(6Z3j%ִRADbl|ͬNa!F|Hhh Zk0H|9Jg~T@ iX2˸_-)"H(DP*=4[blVLI]1 ɵKA˜H:5IQ̛Zkq)@<:< rM`q (tV'iQw[ 'A"<ǝ@OMb"/|DC` 6Wy`6ǧ$|7b 2AavarEb/%e49ltҺWk paHaXBCGA"x+^"qxdB4qYmWv^'⭃W$#}"#JJ%*RhV<@`- aD,a D2Ab`x`rxavmYiC AAn1S,49ɆmQj:)q2RCS^Nd::.@{!.F W  x>MLS*$£u8wx“VzB4᣿s")t#:xWCz\ PZۏ1J)bSQuwT#~5o20:)% ;z|vcoFL|$M*)x{'rpk .#J yy$p()`i@,N`, ğ' uq 3:)ɂ8"ꁀ% A8rX9p)p( 휈Q *4 * 0r}@ >`k`{hiRȜ z3q}0K) 9(W,L$TH"<~8Ŝ(LS+11!0Ȏ=؉j` 4 ¸ :zh^ ON&b)Pܾ뱧+J|'wǁǾ%'hӨ{ƞace '` H @{0@ <sƠ͝ĊCo*gG!,ǐi (^@hS;(~4A 3z0"x#jqE1LHp2@(%@v c@p!<Ȉ+5q;s!(8c#V cn泀(Xp-FCWƐ-3 @,( jY@ S=4`,v(@ %HlV Y|/-q|3ЕQƘlř*`-Z$YHmr!ESHG78:4"pCH_XЏ @Yki)d3 iCžce}h|nicT0! &?lp6颢΄wx * onsCX &@5xZC<<+Xt@[ MƓ"2F39c}ԨHHf91A m XTATD>5X<~"}N\Piwrٍ44FvyWPm 8XZQ{ JV鲛ѯѲٜFМx*2Ѽj)j}#(x|1ٸ茑 x9 pv p E`ր phj'=xAd(_aHh({9" }8s n`{يz' Yzx . (AAx|h 뎈z 8lr+(' |JYv hۣ)Ā 18묹𶊡r ;(nl8rB[Hp:FӋXxx'&<;鈭Z , X dzZӧ/bœ ~3(vrPv!Yd)Ӽp"`IXq(r{# ra$Xԟ$I})tp.!1{, x}@ӺL}+ͧˈIFz(whwF bI:qZ x@x ,y%#".EЂ-j Z%|8! j1p!:4f@Hw sįx ɸ[Qp@Lj31 AǬ@ʈ8-Bvۍ` Cӯ L"ӹcēRO0DM0p+1p|Շuhx@x8ȃ-CNKԀ4 Ұ ujǢPy:|(9wOr @*' (vw[}Hslhh@ `,x8ul0!iE c敀 zXvLQ ݽX Xd$`ևZ  0  CDF\OSWK x|Hׇ҈fl!84Zht*syW Z ]7x-˻T $ ".0.%bލ :-Fu)I )-Ƅ9LA%H'rseM[lLҞ%jB³W{ݟ Hى(ϸ.) @ur{%iӖf8#يr; D4S疰\j߸ , 6XH}rpyx9̋A'har 4/0占5m)f٦0zpyg(p hXfXpY#~`hapjT)u9X0 |;O%x(nx ~2Zp CIuxw>D b nV  }$ht~QTAX,h0Jʙ(yFw/v`{pv4 SO^MiefR؃(lqzH`0 U1?7xQ K5kx;H}XFaR139hcvcl +, w&O*t$629뎣2'(PHNF1 ּk_/p@$ _ ?/|  D{ F5w?ϧ6-ZH"ޏ7 e5S^]o[ᨒ˓K3j< .@%?@;iYP}zcӯ`ߚDi@ 7M7\?R}'oG{[{jZiv0%}xI`P7 }:2~Gɾq)q`"À0& 0LD$k.gbr[FôI"zǩu'˪>O JjܥPgvHyuʨ:sֽ/ `D `"K(Z.,;C;+.K-K˚.2KZ0%4X b~Heh°ҋr2{rt3Y)Tf\*:MkXtnVR`L0gB%1J. gj.0*ml]3S72"c*}XroKr16[\L5|¨ Uj-*|{y'|TKuax'|/ÀPj *u!tʓ8yxOB1{DZy'[ft |L@Ȏ$~qtY|Fym XfYf| ;}g481}Eg~`(r" !@ t&@rh| `C$`i\0F'l}6I!ŵ(p&#d =Jqct=(AT"2E YpA D' 24>xc0&ZzzFU&41JLr#IM%yG mi BK8:L.bheWF!(@$#u?GüN8DMzKcHkn z5:w$:G`hC p6ހ(%d@|O(gf|ǐs_`hD>Hs)O@rzJ٤[`*z>ǛHca 9CRLy(BwBu`5z3 2I&$-ߢ҇xϩ|y arc$Irr = H~G $}@ C`+0)B0K~MA"S#bwx b$ WX 9$aKE`{A<gt>,9pWPj'eC2p k!)X`-xTv A0)1H6Gؽv'PRĚ$ )'&A{S1`0 #)tvTNQ0 ބu`E{93V䑩"UBpY²Vq0re(]Ks "hht>8:*TǛi@[@nAI'jfd6+XժlWD!Cp!7!\LT`˄ceJvPfE`!zp  DR]Rc %RV'3EHAw{{/e5alL髇2i6alMHG"GASpr6c@8|@L0*H^("7}i/r=%DՀS@4#@!A#`a V~j2i_@,@v`h+p  i!&z;f 8@.@FC4!!BmbVRf0""m8^_l#B0F "80P8`*bb6CX4FDA&Ct+dkr'n^/:#dfBFDJclfhR#kD4@"6 d=OVY kp0p$N!d~6fI2eE. z\Sl0~{<&h),H7jJ@eޕMB4D%Pim#4dC<9 V'`,G",2ex&暙!r&o (f!z!!%&ƄDBf'N`16E7/f0.d$Ec /br`B6zCeg-$0`1`@2n&A _@3""V X@PDž @N@! X``~a8a6PbQ?.Qv%c 04:&&5$tRR%,8#B.i Ax ZcHJN; "j\D/WЎgl0zIdֳ(<(NEmb.Z[P7(nKK)H5MKF(!ƕ3˘;o6P4hֆ{XZ4C3@AA!̀%%Wc/2;rc]\, @ h_ Agl.@JD611SUba:1T'vL,bhc$)BML78aΐBbldf|X/q ~s9(!bz 1LkVZcM6` 1r`\ɠbYwXH"O|%@ _aA" )K?2g# ˧r+Aa0 NʻԒn.p% ȵ-l29D"s9**_= <٬i0K,kAN /!jh3󺝋lj  l"R^9>~wpc;#*~j*"9S\3 E,wE*ƳEEvBB9: kFo@ @ !}FM(xd0.`hxB,@s˜ȒB@( c0ˌ䊈A5,5D$[IjKָ*r@/``ML :$z4!x$ʜ( * Z!ll%2[϶A~A*)Ge 8V7MF\"VNT`Ldd>;*@0 F ` kN\NhH;JSBbRdlnJko❽\=m%s."869 0@@$B,@%v) +A A O m tȞM柊&UuO^&@*rd;4'AN]SaAr8y{,G˲Ʀ~':;*gJ3B F$.+1ʿB{@ @ GU|_`8~3 qsp@O H`  D / s]k]H Pi qN? ?s~SOtt'}7u;`}ܓ;}>/w>]nǶ}`h\z|=-`_M9z>L|znK' ® ".2~. :~0+"(zҶ('V0 Q|𪈸~(2VZpۿ)5|\@R(i3.~i4$*!F'iuYxr'F|@$  pu{ X 0hZmG~`rin[!x `!}GZD(@8 8GɎco7I:J'9x0rw  'ЮpHO ?K)%Py ?Hɤvd #u 6PS`? c4yKjڣpxLt!  bÒ:<)]ߑ-ƈ2. & רqr=Cv̊(zؒ"Sq/&(( 2o 9Pl:JL!=A(щ0%Jڔ e OGB GzyJXl6E͡r1P`bzq)XZ!Q& 'dS,4WLqg#ac+?m?=~`Q@U=zs L|%N#B( 8bJ!ﯵ {͜ 6G`8C9He$`Y d@ Ҁ$e'-E gb T 6 cw( d'(`X@&?zsڠRcu$0$`MǨ"*)7$vFWl/e$j"ޤ=Ǚ&v jׄ]V @ -"5pC0p9RI$9$N)b 8@yIu@ / a ˶C Iȁrp6VQPvB>L;/&F `\Gh`iPԡG)H}5l4GF(zP<`I/H,@EREzBģF zQA[a1ca(yg~C?G4:⸀!%)"$=2/ڒ$( P&-,%+zHj72PPlcլot ]P#|6]/ed1({ C[%+D9w\:I \F"cmYcv:. Gg w ,P`()tC]IαG#S̽;.Sm^|:tWkau7v>"@O"$ړA>M[x]y0,I0*KY0 Ջᅋ0!iFes!pxxzR&M e(a 04MOJf9B(x'`t`ssx 7+ `qCFzh` @r2Uh @* {$꾌 i&ȱy upw9(Z_ #q*4 E8u/ {|~XLJʡY4:'q"> :?G;=#cc7K 6R"7xj@K (@A&+kej4<Y{snHq@BӖ8}@ x Ѐ@ /0SfXlL3 hxp s0v~t`y8yw6s}xunq i?< x<"T hHw9jQ}9p 9h`̀8!3ڇB$h@nkSCԣ (`|8!(QŘwcϘ̇ H8QiuF`q (*A+2p(}] xr` Z-pj8@B! k`R x Hۀ0GzYқDժ* ֺdJ j)f ݱ q8EiFPD(o5-1q< (їŔ  {E+P47zh@qH""pZ`rXpvjy0(ls?P X{ 4Û:(-{[r K>zPZ$N OP >ppp %a᱗Jz D< ڻRZ *IIlw8oXva ~|#^wYi T  "6Ahw\P3y`x@Q ֋!rUнJeic29<=K$)LFd74&-)ڧ4#eI+ɗiXS( 6:"Ch+=׏Cl L8Bݞts ,{_2l6ɌY?ix倫b70fb %3u(Vsu^8no  ա{*Hw̕tԣ єZBŀ@{8qum1!SF%HyX8kI&ikD% 𾰱I ~0= D쇰}/|i $x$ zgi%!J:t xH ,տ (c(nJxÐ4j<+9B{xP7` hϘiY}. hwypv΀ Y+>LvѓVa `!8<$ I +~i:o {)9WtV| A?"l(7!"P0r QqXŝ7*uۦ#AЎB60 k&~wt_nH ZkEHz%XZOa"Ɉ< aXpp=懠 ;`r(s7F RXgdRhE( G8;9e .#|7оeK I}'naxy!:#lJ] 8i*kZÉ+3vd~ &~P <ܨŦ!!Xi3 Mq8ȵ }@/@}_o. OOjր0@g{q8ۮǃ\`oW2Vu=jHz>]I$Iįj5-@5@sS $<}>RM%wlێV>ßJ%A&ǾWw'!wNʼy2 j!@ ,+,y~F$x>/H 0 茞GvG9 KIr @-,̼˟@83;{@& tN|10.K8 r|EP{+k/!4+ <,DV13ބX:Sδ3M-PwDqPT/zb'v%#TZRʽ5s@ G;R 4K [Km-_!r]K%U2=h 0Sz>I^ގ jX;([o pxw:}.g`H>9E@0聁(L`kF~]'v/g}84 m0 rү+#מP FtID" `'@&6No2|gy 0. @2_ tz -5hҨ$ 4{hp( w!vGI򬁶~MVIzoJ!@Ny1w 7o@H  q)E 8Bp5tIY VI 4%^Ob XZ[]ǘgB ;>6J+|d$f &|K !XVB!iaF@!wƚ%GhV[H,~` G4r (Ð?,#xa:G@4@P8 C!(_19ޝPd;UDⳐ#6sU1mdYQc18G!Vo ^h g$H!J!,L<a .ޜ LponcTcg|!a@hnZ'/ZN# )2 Lo8dJ2axDn=T}%CJv85h6 hK VFOBZ$eJ@t t(47`-N.ؑ  nH(KȨQB-nQ AzDC$g~#p8+-Z;/a2R XTFt` XN`aH .6 9m"4?*e;hǾ@>z # "dFAĸAQ_KD (TA$l" Βt Ka!Ħ`D L~A-ɸ" D?|#aO@)&Tyg l/LG ('w)j (Ʊ A& k)h,%NLKNO3S2$R2>! ͔V \>d~f\LiA-RTS-=y&2*9.+aT!\ӰJ$"';h[b3N@G(a={ cDAAsz@*. A%5Ѹ Av$%u (t6B0V@p| JZ4v_rLKc.a HM`e  B9b=v+3 v [& !:4JT v%oV$Ukdٶ.uHi RXH&اCS0DuEi3\aV'de]2Ű6Hb't$JDqE'FSLX,H5boe1E茶 qn,bH"WRY4B%:b"Wb1(+GFh|Ldb+!bra!#TOcd^I #mA`b fO+ 3M>`f f2Aq)hDhM\,(r&& a!%7qbv]pJKc~?P*t:$ *~3D 5b(02xo0'Mp.9. b@&d?a! 1`\ v@ 6fK0,fhSrh^FDf#@%5L05A DX-t>VfAZYT7쥀#%Q-AOK@(@@BIh.GVJ?D$YTLp:7=ҹsd ,bޥ~;^58eHU3uc1n=34cٖ,v*QTܞH:!c#bnB!H҇ 2fEND!9r9c61Y)gFGI3 /Щ/H@=j'!r+H@2"̀H!Aaؤf2@ R{/ @!B3$Z>AAzOX>y,&AEBaNtu4SGDQu:>8@ !v᦬p$to*!F5_4Jmx4t1KjFjZ%RH͏, S=(C*/3[q[3nXcM3b֟4QV3)RNT+ a8j>.dviS^fnb [Ԫ(Z\βK*;f+x^Se4RK'ZDH]S/H>"QbZ[vNR6>.fV/d܊ 4q!CT_*FgLPdbgRRi*/ pX4=@ p8$P0!|o܁yY )z ep Y,? @.K|T_/0$*  z_ϠP$B`pd.oWR0/kr;-#P ?_8N3%$`T^(V@gƹ@ `4O@O'ӄ!LIx9]G  k=^O7d R~$2! \豹g`[tiu@h* !8H~ڬ$ǡz'j;yzb8|"y ~I3K}}6g̬lK/j<|7C\)(9@xg}r"`)z" I{vS X"D'#L菟G R=2ޞǹX A{Or`pXw'u+2Hx ʅ8I G&N$j 8TK.rH#"P. Ywl֖gmqwdjغ*S@@ߟ:qz ]k}rsxƹiwVz6uK9v8T|H N"My|`>![ ͇29*WsOdpC{Q:n\{P Kوѩ,b3Ut>wx G!}Bk-RM-47`kxONC07pl $Hx~GjԞb/4_f|tWZP$Lδ{ŶBERo>b㉓z_!#ž`cp4-V2)}X;H6.4!䤢a3kr?kS QX,3"L*k*93.R/G?I- thI` h @LGڔ|xJA$Ľ%$LN_JVgV :F(ƒQVWBa4halTf{G;eDKJE*u8a9KYMMj}NCxlɩy=@0JZMdM6p=ǐ@{&A#D = +`I"k؉ЇL+ -|%:w *un`;6vrʃdBS4ePpKZC@BG\u4T+b>Rs!(E[hHg!`:!Lzdk=~CRUiCH ?[puvX)#2lcw=%@ I><d_U2L{AC)tP0 Ǽ\Lf"DKKàX wGkV_#r>H#`)ZRAy~>@8 ÍR>8@` :p@叅E7 A(@K(;1Z`=G#l4@kL=G "ЩcOx~8d"pI` 7Y8}Vn>_Rl42ЦljFJ%QWGx7Z2X|T@܇H4rvO.wl?B4R ePCh25$^U܂H Kh!%. vx l|R}RN@);,^ PHli//] (e>ύ{%BGi'=R))%U4'"F=~VM *j'딨λEVEĒ*d=C%m$D@:֔pL4+)k3X@H .ڵ|oYuQo@2r~ro hePdr J x $rX%0&xsQy(2x)ma(bm@";0[ݝ @v(qX؍"8*Kb}+ 㔪7o5À $%.Aká2/ 8NpX0×޳"Q16:w(|ihq+ і -q=0w%(@eC1Jjv0t@@ØȘL 1[(}뀀 ~y".)! hހ1kYA\X <蝐7'зP}z.uHwpwв[  2æ !z- 0nk a?e ggtaHRN& jh u,oR4@?r410ls xPC#+ `㑹>zstkq-iZ,8xI؁ Hl#(z@xv4~`P+|ܽB M 6 ހR|SrrX|0 vz U8Ɛx A:Da bFAFUX DC@z'ي, ^}9ܒX3$.vA0>UJTw ~1͐ uI<<${ZFH6NP'!Ӈ~!k hvup i (0& HYD=/{{P( @{)hm#@ukr [h}i,@ (xD0sPvDݍs$P$(#`D(pmk(p +l # z[m\2\4)I`xZmh̀ p969وKǀnrt8f82y+交PP La"}Q=(ˌ((!=p)+>G,tsHYER+Z ޝzP+9Hq8p`xux}&,x- ȡ0XR1t*ML_@|Zr-EtBa-DXؽKMWx*Kzه P ZVWX%G=EB, %H,BLZdI(iߍ!JI|LL$"D&L˴jrt*|->$YQIuM X3úFKog~_$~P@  `tJJ̖Dj7cgƿxQP(nݾ@`K_@x8D!A y}Fٴr(^G|ymgxg1{xd  Hxvp* @ 7~pB>,("2 Y8l{&0t mYtByy  >IyIJLj+&13t:1Rw4p1rcşgɟm *Q``X z$QgwGoo"`0N' в Ålm?~ue.gF'}d/>=MN9RJRKxG9?xJz叮lcu`o;2%v}{تs(ugqsQo[GӕZ@}ɧ|4`, 1T~gsAlݑ *~q t~0ޯ|.tnNt9\(I~}/M4)?y`  BZrfxA{d!9G @ Ar@:ll,0 @1q`D8Gzaz@MM~=  P$e7P2&\z_ЃqρC#l>L|qp1&@DȮ?G<@!;Y X 4 $rpVS3Nu"=H9GXz6* 6̀ 0 4`@c !s ~$tsE@* 1A8G#@,vaX Wh0  88ׄ<l3zaΜ*Tx㬛!<ܨd|NhGX#y>$|R+;`4QVaR-\(==CK(k\82DzdrT5ҩ8uӍǨ`Ek!c@4 B∀*C_Q-*$Dy6DsH '98$F⇸v&V@oV8wth} * q:a -OG+`فT)E m` T Xl 7/6< !$'!_f<op](ч#Sw`j !. 4Nݽ =' c%6|`Rbtu!CAΚ?:jtq܅!k3l̀p>4Yqr 4e :T0\crajn\ 0D 8R{ScŎeYE)BL1Rcy\75t'L*\h^qzrޠ\&Wt#0͹R) ! qAuDxOdJppcZ IjHn>N\+)aN+iഒr"C܀KI-_Kugex)d~gFQ{Ȋqa<( gd4}B]%,25ÒT`"Xc|vEYƹh.B]n1fhgil?$4 dcn&DffK Tfi[Ġ]f4<87n([=#BbE \ }%u1 t%l)e0Z TǸA/)ǜlN+[ǞNf2lrց0RpvC%d$V  8@J(f؇"Ba@?`HkbBdL ա `h̺\LĎ9rG ik L9*/P>;h &(p)iXNL6:0@ 68fqG"%/V蓀F* >|"X]l&/d0 @B@a` tuޑ{H1u>%ROAد=fjP.e;# >eC :c&Qzn2ֺ0PG`xG* Ra$tGc4Y%,b<j) Y`ZnX`%7\aP[z2%kJ`.3VLM3PQNB0POIjqЌ.GoBd X' >^j#Pb%OF"/ YPN\bL3~vNdpaF^gf>X*Rk1|XDQGVDR<@ |r8HfEa#.&`" $a/)}/ic|EG!ր3t .8rV2jd]d}+7Rd"Z4 *dgoDfd|NL#,]IʴK]p#gTcG/j`*RLQ jwQhR MprA\R9\QDC2 dp=RC~.rЗ!%W&U.V" :NA׆Slvc|V/0 #I~qZM a!H0b" {i6Sct;aaȀ vC[wI6Cͱ\e%(فf " (,j}+& 7 HW!1JXa"Ia!@$:0!"!b=|!!62 Ȝ DVYvhB6< NN(Ҡqo` R"!$ M.N9C26PdT 4=@8F` p0{c EcL@`z Vv!{^<H>#<61 nN<+ pG.[DT@t( J:ll!5 Y,ac.LQl2 x1A!׾vB$LH*[OlGJ Ru~ :On`VEe`"$/AE,`"nf?qrf 087x ڪ|@P4A'z`|B+~Wg$\f!Apsf(a h vTg!xn,`(`=#InܢӘD1\\;Mn \ao@pc!iL8RJ( :~xa'< 0HM~_ *ޯ$94P~P$?_ϗY;E@tY@y$1EJkGZ(@5PN1xĢSW*J'( QtPoj\IuwXkYECW |tjպF`4k~nwtˀ@u[>p4Ռ=G/n $ҕegΞ]䕪 >^}yC@X3K}ߟ ~4Ϣ.gxGu9tg(n4JX\`ǁq,`$:--  :{GwG沀 PP F`C/@48 t6L,A222.ać,3Dh$yQpuY=.:lmJ?-4TC+@h*ѤJt~%:_=m>.ᇐ6ULpWx6yā7dtiRS8tkccyh?P!#ptLj$\ F 8T @f՘ @{a)Ith|8Glm2 =0E,m^ u)THEΫ.$H# H#Ob:0"mOY^w`Dp=Cf6:Ǚ!%\V59(?=( @TX 6@y!7$ CdJ73{J pL91r@bBxY A/ 11LlM!+ŔOk8y4{#pp8{|?Y">%1X Ld *q'J^̼&EC5S Ɍ+LrvtԯхI,;:WN(:2csf=4OOdB Flꢯm)bl2O65Z HC!$:=Qɲ]NI^'%+v=&;iZN(R&LH,evm4>1`,a;6{ ~Xi[H *B+ƌY_[+hbbc./Bt̼4ȈoC:g8+Tmqzđ*t;:9@88zcǜ+lBx 4vPmp1|xy%"$0| 5-\ A0j a+Ix]?@Cw7@W0nIHaX:8`mfpsd K!Հ"ժuL c|ԀP !^J =Xzl phPt!, pIhqh~Ѐa*G P)~`u`spp@{z1H Xz}y+H~8~c7Q`|xX 0r脇`\$X , sk@p)"v= $zbq< " hJ႟P-~MpcX[p *J {H,`" Fv9#Q'|A 2@ y62%q5-ӜxY`1B(trӀ9J8ъhzLk YAK ؏w<070z|%B uI`Q,hz)R\ Yy8 yI …貈:7se:php= U C*?w%X <*uIX G=К> +N LY`  k0{]Z]J\J((`ӱi> $\@!h,+Xznjjr <2`0Ύ!Q &p'@r;tPjxfdHP'`&h 1;x-rm÷ e`c6"$*HAqPVR#@x> ($s>\ S /غ K )*FPxp}c0ui<Y$`vK<A(߈T"9-(:x  p9P)1% thjh(!` A%D}XJ3xV`ZmJ4)M{U-5O) 51dю>7j9?sO4@J Qk=&X b{1 q93{tK72x25 b7!J %~bk [YbL[YJ;m6[[kJPhpȉ z4|ZB6ŀ-E}Wxn 5$bH=یzɅHG k8 p5u@m7 )((w#;{Yv5wUZB:5p}Ypr sz#V[|?8u@P ʕDi߇Rj}1%wh{vC9 іT"W%:@,ϺI_3``܊6s %-k " ݫ93Brq`dTQ!  ߇A;!ʢw2{TS  `6Y; ~&8 VZ}#F<1e Z`2 ,y^( kj#=a 2I U(A&AqQ@Xy>p`QdckX c؈uppoH 9x(1!"P{wPsh~j.PνAp$`|xP `3qv!z E`vA, qX|xy9 { Pa8~8{Hv w\.x'Xy訪"50~&"ؕȊ L.qQ0~hLY} d 8 #-nY8f)1:n⣂%0|0$# ` 0P|ZA$gZH(Kqd T dr ` ZQhG|ID 0P_SIDPd&{ZKj8 v jlLʦ>|˥ {ciK{v15L%(q΅ 9U^ |> ~ @ـj65ܳRc(׼#S}iF8po0c"ȇ0z{Yaxz95p^ ! #9-l Pupk╇(X$xe0Z_P G-hܐ j(@wEY#y @Ӏ~@ / P @EP_ec8 ]e'IeQ:/ Q x4q);!;;Mj֣HOFM|WyX\Ԉ,8 z8XhkЍ|#{l:b64e t 4* lب# Phs`cWяr $]-@% Y-n+Y @7;{g`y0sK9Yyl*D.H}0p3k c 8P3ɣ">BΨ U ߨ_wbV > Eȉd07!X8 !.0<a"b`V(\spP xHs*%P|`8l"u sgi%.%\W$y?&?r⒃#ʢ?A4!XpRpqZ!Ā ņ D~0;`A xDX ?\g OWY}!0pX&a#Qu=75~}?g| Yvsg}1h4\- 8_@  >;|g &^ϗRo'Jh$2lGaz `ַ |BP~ bhw` pl|`<||H~+L~QF|@8rr4j}rIzxygܥ;k=j'K}I8 ;g|{ G˝4mh"ΨI EtMLn}NK®U 5̠.a]{c>2 2:@" n'}`,ƌ{!)4,B7(Y6= `:  ytV!=HW{)v UK8(x%}tWmxnefؘ%ׂXV%sCT\Р9X |g!pfYoms '(8Fat@qsydY`(9%טXe fs2 K(z2#ArZ&YkpW,|ϩԕ7\3 } ` rOu\{U@4@|fuBy & A"[`®*'yݭg`]L||{`tSzp? t,{R)R@˴ya.-0 ҐCu`(=Y !n6= &bk GdO*\X΃.)K:t>/^#c@`u#ŊK;Y cFxn`Q(?ʚm( VcK p:{%|_6Oʣ7=r5-|QBO<њXQ Ǣ9QI% -qd eޙYBk2X ;vtWt36lїQ@@ 2m$rGR$+6:˔l;(]UT( \顩 ':fcJ*I9̂GӹgضublLw3D"]˥U(uSWV LvA<@@]GC7@Q l >c9hz=P*'@8 |> k A@, 00N|aHcw 7%"ъА,iH7ʑ,Ȥct` p.l(H P)Qb_-x>*T m>Jt<(^HGP`N1҈ #?G~A9GhC|_)LIJchCztYYУx(N@QXK`]22&!䜇RV` Gx-B:L n/Gp<<ǹ¥"`,)W:O^šP>GØtQDJX`P@{oc P;XMV;!~W"t 8(\ ɅQv,GSI?9TXX\Xr4";C};|RzN\WE~@/N"`ftYv4!\h2'@2vja\O 0R;8vsE0DFCA~emc>2dk BNLθL^!z&,`Ć R0>pС .B]@2`*Jn!C !E~H2UF.&FigRh9&%9AbZNAX` K–ʆ7pFF8W) rO<$9av0ztxp֘zf:D%3-$lYJI3sH%Dd*@ƒ4*0웪 )cfji:w"QĢ! R6Yq!NC.o"OàT!2eYFTȣR R!LXXD(BLvP%J$ar̖RB8c䠋2e΍)*HWr#i]*NvOXnaɔJLC,+)-OR;bFҩgtcDx\rFaC rC 1S3Dl'E ; ;p_%B"ΛEf](CFm['=;O. /p.s XC,[E_JC#nN,삩(! .@(0>GahD 6p2,OBJf?CQBBXd::OtL|BHG&sDdĆxbKa1ZO^x"`6 0HLxOs:fasb>3ER@& 4J@V8@A2 :̸QA'XFcXaGza'yBrD|8 B?JQl@$@4uD:b46<(,"_' KH kx mWABaض"B`"6ǦY7ȒG|WyqTc$D(a'y5SDE PG`62A|!u> Bni1 B܄` ,+a5Q ^,-=5l%;dUTG0u^^EIkfgUz4`X#qSp;,T'TʹTXW9*y'/w>7fN1J-:i^Y5FRV9IHo g%f 0ذ& \\@DǏ @6`$LV, $yK)KgCVhetBRZ)Cs$"ztb^%xCB)͠ eUW)KH'Eh&ښ0x9RDn}1NmjRuf%*nSQ0E,F0ɐDi]\@XhAfaJ~(Lǒ׮2`t <:;c!`"نZ$BW'0%f,jqMrt4RZCE9&:xJ0oR%@YI.'JxX1kތL͐DŽ$03U0GhF[ Z.&8FhZCÙzHZeJ'WZكi'j@>&̡+ww,WTcC'p4Ó:#z dNa{rzKtKxwuR-{zHI^lv+`iO*L!!aiӃ*D4i^~`2\P*j Ȁ;kk$0dSpRhKvrT@lp dt l?Enz.J 7?`0@o$ 1gI @w ` BG{= <}=o1`ilN aڿ#;H&}W%L=bL"`6t6 , <C `$'|>[N$&q&ӿ/Cs"ѳ#C< d%dpd!r>9V#r)zi3$6#k3^g۬5 `X0 -O{5ŀê&Ԉ$STDM*!i$!kf~GM9r{Ն1:ԋ}1,M <|9 sev[p& o؍ …|} @zVL*/JP̥?hhZk;U+9TɚAUi]WTՓC/Ƥuk39ytج*>z-'@`Hxݫ$U&8h& ƁwZ@ x" xgugA`H4 ;h:k, z')n *Alסt 6 ެ|  @jBV$ +P'(/g zV 1{vF !H )uH"$[!f"@> 8$</`{R8<| :0 Vh AC(xyދ $<ǒlH2֍Ѻ7°R $*8cEFL?L)@  a:`}!=^RRpyP 7@ WHi00 @@!XZkM9GP&j=h|@KIu P.HZ c2@s =O rr /E,bB:%$`ǰĐ L Y?9}Rhxɹ`$A٫wD4đǑ. 䀣wBSu=a& Lc!$1lMP;v7" $>'09 w$JfMTFH&zj=3P@x;7*FEZ+@RwLO]AeY3Q:Hl8 0.emZelch"Y=vb"֭YnH DiZ UM& GX\Fl$:N0%z3&*wp(VwN-/"4V&J;ZD1q,U4 dɁӼ; d_$H 2ly3 [iLl~F6N)33ÿJprǃ&+LrLjO q;`/ ! X# j`ߜ 0L5S-6 zI_!U->֫Og0=4vŚR9jsdY2DNa\ 7@ x}1hwt26`5@꼓V P}H@JJP|w,zIH( S /.-4ș?Rʕ%zvnh wiԏ}'80(Bx2$| qpuvX 1hp8 9 tz8pxQP/00HXg`iZM Z&`yz}@ @u} * ~@ >0vt yxyˆx rzx)HXx`Pm0vrx( Ghv<³ck8&%8pBi #bxxMܙyHhuPu9ZwLcjqЎ}z4)$B@Œi'quȚ!z KxxkZ  -iP0woHv9_0(⬽@(]8ɍoMIH@H$q nkB!70KX'ԁ1~#9@8t|Tџ"ϋP-0L"ҽ했~(lq rX51+-LԀ( tCPZPlԇwQP  !`8u|/+8w ~$a$QqljzDC@ L5w2$jŒ@C7+R= "JKlVH2@G`e@c`;21I@ 7Hrk 2P A$ SϱĜ0xx{4{08S҉ЏR{}>I٨x#aȔ! IȪyF: |j1( IUY6AH3 ZhAoIh̹jƲ ڕ/ * ܀ 71Ș9,fQ,* ĀJ|}WhƌK cZXw:j6a9Ҹü=WM ȹc^ i9ȭzC~59R1#6J#X', F(0$RL 5!qؑ>sZ} #:RUi48ۑ)Y03֓9=S,QXws̔aHtrUi@*SQ@h 8@+c d"u;]FpϓأyЁͺ4#ۭa?cܓA9iU Ӏ\_F0~@K ⊫#WI~` I{mȐY| p3(rw>5x ؏5 P8"iC yH>ɅFP'1*D: pBu8Hπ0{AT~~#x2X0BJʺH X(trҀhSǜ 2Fh<nhr@XBլ5>X a脇r@@Nȃ8y'D~pr<1 Hژt1m PF<8 2ˆyhxoqw{ mBphh3AP8hzPhAss.RxUZ {RP q4P6XŎݎ͊9LG Yۀq}Xm}m@C~Han`r\ 1Wr:*Z]Bۊ9rHo{0 Pg@C9p\h WX0h|Sï9𕎋8ё45y~rKJNdle91<-ޫ$྅C5kp鮈Xqpqh %͝-b :kq 4i= @{P  ZoO>Nju?lpwhy0"![lge`0.S݉}9Vf[C :hA *X +H\%P[Y` (u V0hr#.Dc@͸A񴜲M CΗ=@} ^dd>Ʒ#\kwP gVkCҋrZc6ImbT+qXe*.QdkgWYy_Z(㟙 ڸ}ړ;ӁqZ*Z$=OYVuC pEYY68Y-y1i}SنmUcA0pVYbD:EC1[lu5ͻJYY5\<ekѓQ;Ѝ D Lzq Pwhx zCW>;[`զ cõv6`źQ*lp\POF*;M:^kdwV9m*xzxrGxrx P Z'W|㧀~LES!h{W(~XwLw`lMX'H{$xܕ(H LT^cP3}5ík D>R,[1i\$ ?ݎ'D@`-@ A p H?_O[s^PX BA u/׳~@`׈)aQP"4~J@yG#p0Q!ajngybH3s]]׍"J.G~dpj;f:1x׵(88 قJV]wd3J@e9i{ִCY(~>|ʇΐUjieO$WItG!9'qYwS\]q|ف`;`7smy20 |{pap^bUo=¨/:ws">ݚ^_^Qvyb3?EW#@x̧ޜ' z綈hdZyzKb~D PA2H (=z,Swձd`{i@ǮdI P(z椰fcaC2WH9C٩ 2)I7 #.V!q{g Vl"GQ6Tv`B?vde6 lXl?'~)!P@ Pe ׋h `(@j,/2CjVutTPW/qֲJW%W X%ӓ-X+/`Y5-xe$ARƞRZ4ņB51F]H+HՕ)eiH$]v+(ȱ*-HF,$U.JJRyu5Ф0jvn&CK"/.RcI)e=Y(Pͣ_f  e6L!FbOCza;iáV @sSGlڡ+?MR U'ՔTucy63*1bp+L颲S3:[6W,YlPi1T*"bb,\8ǔyxRfzj;[X  :bi˸RQlWW)>N?Ǹq)0 t;K&8"<Tp8zJ)̫0/94 (NXԌ t9Ѣ)4{$^GV/ 5Ey=HMpȠzlFp?Z,{)OA= X@fS2D@Uȴg)~;c"LLba:@ <G cYE5B\1 5pK=CJ)7?'$@#|a9 t!U RQj8ZnQt8Jżl bbz9hn H%(J|؅ap$k]T`, 0{}2N xc}}Imz=&ffhLhJ:w4Bt@ T6ĕq7-ʊ=8 8cke:P5>"R@mXJ-ŵG8KZ^gߢq G˯-j9ht4,D8d$+ 'bL׬\E׋&,YK!2X" ;IZ=h<@6gw}K +l1P `0u`=L`t B:GHxC@#Q6|1t˫c9I6Ε̈́W$ @e r|lt|FY*_BX@&½b6m*|i)g6؊`.a%fIE,|@EN U R|hFcEBF<#b2(Rfb4-^_B,P ``^Z!AMEԉ#;& &(BnlE-'XN"PY'C@BH2 ]} /*YPG`PhäVH"А"2`Ɛ &&$r(JXI 34bIJY(b(l%dɤ%^Oo7ΌiFi,BbGJ`;@i|Dʈ9BDifiGD^Xl^WO"eб jC!1Q|JPN]PN)bjPiu X8G$ $#*^N즎>(#b+A'ʞbW$|8o,dfP J:!!gH)/~̣EŖģȂVXRTjbIDVtEI!Qb(cpE`.` jTFhWh5GL-A!hXIh<-`MWqW8+tKp_D6@tLHX%ؓ4BH3 ! g*-j4&M$Ίr~X Śak\<9R9t!YAT0bd;a&|D`Ӡ*A1r`&@$o>= qHxAY".#C,Xl@f!=bv*2:.SZM>B dAـ"=!SBHZxA;&¢N1d9A]fh`h2>@ ' ]A||/(f'`8`n d530`|h@d:@|0|evW/nddcj >/kǘen+@*M*X9LF(+h; D~+N=2 2,ʅ0%#(B$* THq[0VZbj$ ?Q^a*:aatNVm+dW:*#WkDY!J  K)^Wdĩ/EXÀ.O;]c4OEK"d#2_@(K qj8IF0evq pm =&I{X,"iiVÙnXfLـ+o%"芁OvʪXr:p|g#膳r! O'$WpXw1A ^髖&JȆ:^tC_PJ%ƕ~9ZQ+o)[o|uVbybD&2abSubS mdbfgA!Ao+\0^2YI%)QQ FN4,f9XL@1;3&^ )nk.I4f,#Tؖ#7~)$POJC+n`L^5!Z{<b @aR t%/JYi: ˦q"A8KxnxX Vu0ώe#:;)nch`3+8AT$Od*2èfjT63AbC'de؋n`Ch)6X+ػٞL V!] $`,P~q ~ngc}?@_!O/A8 c(P0W=N.dsDcZ-Ǹh6 B'?%QiMr((r:@0ZS,Ъ]p6l^tQY֌˫VO^+Z.{<Eh8gwv A`H( ,̼{>_^c?s12TÊߺL4R^+ge); ȺN2Z7bX 1+➞}"o xgw@h HwYuaܡ@K 30̼#rBz{wL*Bzǹ Ui 1>V4(N'BHϰN8 h|$ slF鿠5nH+JN B *2QY-J0SN0ܣH ~qgyt%F8 v'y;ӰX'l*~B7h@Ulqy@, zu䝟 *^O sIǨ;! {1?w 8,h/Hq!u2<Ar1@`x 2xP$}" Nh`{ Ɓax |k|}nz\ǰ4 ) @q 4'yG^{fuر,B|6=Je=Aa&3'+H` b`8T> ქ9 >ʩ~.{X19#Pr@,q0NHk#핃GH#0iO$( m0Py4(ME '"QFTRx#\8`U{ڕBS;6a"=؏ cjOŠWCJ;"lXgĔKz>@HvAj f8 ! 'U C#sdgTْhѴ[ zi+tւإHY1/3 Ndf_K.0(\bC"PDf=! ȸ&fK$%m}:J3 Qi Rh24o.MzBd8 Yj8ltL (Ol0S'G}Fr>SZ9AA9O?Ӈ?#5Ò*X`tmѾ9(`lAB$gH6:$>@@kuNa),?Q8NףB  ` "E#uA;HyR2FZJZGge.(䘎_s߳#)[BK9`Pu; '͇r>*` ȍ'N ~A3 P} w8;vq:>Pv2[xv7xuACx4  ɮʷ,|\(+0Pqxs0s r R'(`%` ep虔yOsz&qGQw݇k@ K[J #r!.Q5 ~芦"g;\آB5H ͔i'~/v$pJشD蟇6h{ nlmq $(t0xY>뒸@WHW>~LH(+P`va Фԏs78x,igbIFm4Q$):l@񾌗JvD(`0 jq8qTB P::Az{0x۸282& Xǧ Rxknke",Xw .(훡0w) c ̺{pT|9P贋X p zLГȍ .pkF3~LF4(3Ӊ3U?+7,@؎A pk:QpʠbLR |NS7T 3 u;S%Jb2 7$s+I2DjD 4Gy|`x@uXzKCJGi;$Jѓv R)RX͏N$d) U@zdL“tٵ 8(.zh:TiHz l>sPt(qp \k ΉP{8~xXzTR 7 L)uh2>Hs7#phFLKzhtp#hAeE$ )Y_[ :  $0̛IsP:L?p $P#w@Ȍ ^y0tp O!8 % 0 x Vt4e#J @ 1>r!( H k]` on R g>+0  y>H+*`Dq?htӇ0 HQd ( vxvG9@\kP;n0}Мͫ vwC8Plh@y9"`x#DCFk0hiB8|) [{4"ܴs=Ӏx 1x=ͧ!i~Fy|yH0)r (s~KE3yP9 I{&-&AF!ޠ&P$(gPdHwh 07CSs jhuډH I]}I՝[Q]L3|?!|ۀ %ac> r 6uW1M4 ̚&r NDabOT#9K@0=>-އo ~ r3:g PP. Τ2A *i8Jsg~!; @"o]gׁ e4譔)n: ٻ`؍z`J(p660` ~Hax JY_QGb"2iq8טIM=X قs 27/@,[ @xSg }6 TܘdH,U[e}XHѨŨ _ `g H^h RE%1&Aױx\C,p=z.יO*_:Ssp峥@x芫'62Iua`(Fm=EL].k#'kTx*zفF ^ 7:>؉KʄP9ѥ^ĸP&(Оk(ϓ1/ӹ2Iak873O4 Rq Bӡ|zsE*8J&Y/!IIw#Z3wp։=XԐ X oC\t.[6D3r~MsWhb*,h x0y> )m9e< :3RYh )Pw`~nc 2W`ȨJEMX(z_8| ހeـ]IЄ> m:{nR g51ht0r* rܨ m r pzJz%gQYPy s0Spu(o|p ĭ{4k‽imo#u x@qi 1χe|Ve9q(yr#`uhuG@rx!ߐ̀ HtT 8Gz MXr8s 9& Y]yt}MH25 *x#wMd`z´2<-1%^X <ါt9g.A0 `@8}g2LW"R0@y@4 ~?  78 {70|T~?`` y=P =ޏW4M@ly.f Qt:\.=& p?Zi'>jk~_`y< xG &- e:D2H5 [` DaӀWsqg qL  w (2NԶjJi@) CMf En= k \ӵm=@z Y惟(IȖ`0Gcv$4<A | P)K1𱰌n~E , ,n&u( 䩞  @`*̴E'~ 3 $ 3'<PF L{CUI 8Gj\L#Kj2rFq}'V dH ,Ȫ6gN+0%h M-Me|:n~:RͰڟ2PnH8rܦdBb`54Ӏ9iAѓȦ }-wgFXLYiٯ:y%c2زbJ+qc(jE<1 ' N G=ؚ|dʟ8$-QjZ :V5,fYi[C#)IOxqkӞ0N"1D|!9804Y RcY" ƠR@;E40tx8 PLqc%$|<0&z8'!5.@7YW 3F`P @N tq&@-VS8c(@PjlHxRh^?P80ĄZV+u$rCQ;GP \D6K\D0c|q >` m'"|ʢ(>TqK/P"Uxp419(*`VSv\]&>“!9Q[\j~A8 |"%@q8äxI}:F#v1|0J>@@rk3 сP 3H˽[{VhW~R*de 1D T:Gó1!VG~eL@1,2 &@J$vh|XAQL52Z.j߀֎Gxq:rb܅H/2(*`(dvŢxA1m$NLv$G!!P*c% 0 JE-&`*@&m$+JLB`61aA254xIF82eA8&L#H|$.'Ϊnl$@,a@=6D#,y&P8AAJ"h d@4T(2A<NRa_hvgZ1JAPj#v@A>0hCOќ~ %[WR(C\܄W}mBbjb2aITG:$krEc"!pTωS\]"/GQ*i2yXKf Jc2:AA4mg%$K%a|D0Fv!fD礎dNdhD Br# "L.0̋bł&&4b,!aMi _'PBf@CV*,P aVZ''CjhZ=C(|]u'\h0eFW0&ZmUEV.T!4B(DoQ:zkO1$(oL|ZiFEpQr'u AF$[Ntm@#8ĖsCe4d*Og&*V#6EzZd Z>|'zI%o2e1NWJO( Ma/x{D>& 'b*FE'b-0 .l@~aT1V< HH0(Nj[Ej5PE@P\8(W8 qlTrj-",N)!Ŋ&"*¸DjHG`Њu1uس12s2/K$gGpFu)ghj6kͤG}Pu$60mZh jeuP,blVwxlt_ R[~p))XiqI8$Ot-J*&f&) )L(2\ EWc($0 D e6Cr>Kp`,D&#$gC&4=;<b@P@B$aA!R*ILVB!e X A<ja;@!A˪c~^.ř OT<}axKiņpa ˠAc?"]`!T!@0,F0&uVLX5%2@>&)AJ:C/b<MHa ^&n"<@̒B4E (a)I2p&ؠ=}I `$4q>,^ Jr_")aKI`ro*p@ YSuɉa`<-%+X$8ɁQw# ,ਲ਼b&kF d@.>0Pg'P1~H-Q[l!aY2``Te}|hJF^Ff! 9E>4\ 5 T:)"KFLz<}xs!VF\[<|)8G5dn$'%V!,dGRdnr[6bhrr-ZVDWMu8ɸRG7bc+ɆtdD7I+PaA6^DkE# S$ D%~J; D{t*$`R/M3i"Z# I#wFoUGF2>hkJjTYp#`qCBM9a*)č)gtF |v&nupDvDR F`>SQjA$v n Di,iƋ+bloQ&t5&LA|<-aƒb8K5.q ($!H1}s@&zwрz?ȴ =}w@`W};g[?@R܍?$8( *08 -Lynד~@( +n@&O'ies jy"3, S9~WCdQce麃"0$^dⲉeEO=z7!|>@v_8Iu'Z@` 0" |j'{"ɀ88hQq8!+L~:'yr gp(yzzѼ D g @)0@ 1|ŀgqr@h4. 8"f$ 뤏H"'0a@x' iz@pR@0 󝶅y$sT_+NkƠW  *G`rG1 BX@06an& qtp b @@2~0g~U)}A`` K`6 r+j"2TBas'  `Ow`2 ;2 :@{K +QYs.ПJgaH|62~ * T3/,%cBm @* h\3:7;H:!p&ɪ=A\ ?C x'`FjǬPp k} K}42>@@4q=@ht%j\` 3(fEq#$Uo`6Epp 3eľ@_o 5It'4$(u?o^W42eŢNui/d~<X &K&!x!E6D\z24#63F9JvJue6ƀJ @Ӵ)'S%|҂P./2qV{7xiq9ѩB{9f\WKCP"Mo4-!s~I4)&XzC(4] |<$j_ R\$6;ԃR,+!1]=a.e֙X]+D$ܑCR-RJʒHfo]3+.^U/Ai^/dR|?or[ -eb8?zr\Q:G`\:@]2ueT ^Aհs@ |d FDv?4F_8q +Wi{pP\)ӇUR<p7qڦ`=3 ` "NrC^ TY!tSVX2P(qbhV)at ( &x'R͑9!3[0⌡([1r03ቪ<Јr " .=x0LY!܎5yFj0?E(믍ӌXɳ &䁘Xɢ9δ/X,!J$Jh-!!kXuXt k XE  X(nyilCq`vuA8AM( I k}t:Fm0 K!_T;v`sms@s,?uJ 퀐 Ȩuu$vp9ư'*>kqg(Xy B81۬0XObI/:bnlhp4aݎE Np;X 2f^"xg `v4avfG˜ؑKv!!Ɉ HɏݧE1 쐨(- ݅xFz1t^%?A#_1V`Ȳxɚ ?Ž Ș( -A1Rr*^Bkpvor M | ѵX2)Ш -R5B`,=H1lA+18,& xP*  YH` !գـDl! eP&K(gӣ/˱z,IxUhL͇ΕwC*k "+hpʲǢ;J.-,"|ƫkP*N' \$R2sR Μ:}Dޭ *ȵh}$i_rO)Ť*~2*'(0 z.\li[2ZH*, 6f\A 1^щ⎹l3/;(pt)j$,EoR #2NQfpzAzcD'0+lBNTaػ2T- ٧ @2Zl"[R蒯P519(ЪƲ,(ďhw@ !REȹ3\y&(h(h = Ѣ 21{_:22_ܡB2@ }Ɏ}v[ ytrL2{"sH*@Htht~֔ap(u(I"I> r@gpft€ָ8t;r{x? p{Ii +1HijP Jgbpy *[Z ]8~{pPx`q8q (@tk҈܉4aCH |qX"PХH }Ȝ{*' J2kvٛi~xiN!H8gxiHv&hXhy p0x *G X; z2xXƨ^kfhlpxu(p~3H k1=r{mjP1@ l$$9so2yKX j%~|hrӈ` ܗJ8 |  4F%1p]?߯\@axr C $~€/8 /|ݮvv~B$0j8K [cwOEBVH}` wa]n~ 3T(}e^7Tuq8mmu>5а#{=rʀ=nk 0 0TJ(C<xU%coٹ|H~zk`@ ._S @ iʯGb P@XJ{!@(' yPwP&kI!6.{.,fhzr[g}*r>~  .+j**Ȋ2!i:##zBM(l7; CzH  B+ ws"&'}* $ޗ8 KH\Th# YȈb`~J<|γ*+?d+tch^\q.l6(2OUybΩ` "nGπ&%I;+`*HL3ި20`*j8)╎x<(o->hdї$J/r"NBUBWw"PR$:,WJd1}3-jQCdHڛ8ڐ,vY5E?ZZ*7nJ#Χ|-g{/pG5Y%ϔY!ȡ};>+cfMŴIrEry7*GhTϖ>%@H X Iw X{9* P. .=@ j*D$Zs+H_fxߒ䠻RA/)kd_CCj?G d֎:@~q@f#l1 `Y@8` CtHi6 8h"+̀4Ǡ n p!h$phF1;i!r=@>cd.й*@|h x1f [>& ƐyLucw]Ũ{S|l:G`=B =L5 = Rm̫kL~,I`8P4eh X "zmPƖ~B~,G!h7#zS<hA\ `,b a5F <" @|a5Fg~"*T7@, FSZi#=RuidM&YfVNh~qPFɢiBI;!1Uն[nVmG#@5GH`L[G 8^\()[] nx +6tQxw;Gp7K@;H 4T@UF*ǰF `'@@4] n9`+#0gT=6F) @H^B8C n'vm"a҂|nBmrX$]|_s?Bx"(MnDtjg,Gg=*nV\IY =M]Hxmۊ$ߑ̿JU^gS5! F{c!\#rJXAC\"%.KIe"@b {+ꎞNI\f8}8hL,!+<,*\ۀ7JAaʇ4CD&-V:%A# 6`$C r2'u/i\Nx"% VOTN@!~!DB@$aEZM*/Ò$`<@B̡G-!M*x "C g,AL@J<bJjBdA/!/Aqn;GP"80FC6`5RP!-%ƍjdPE(~!><2`&4LS m\%H@JB)~2 &:`.h@$A${&kb *B*-AS!)ʦ`X`^2:@Q+9,!2,(RB >CaAZ(A)!Ql)2'H$JC:L=1,j\!!@6@@<9lB`&ǤB_z]an%%ؽ"f@͜VD#~w%[W"b8%n*&>6>qORc':pgo]&@,@˫,> ` @+tnd-%'`tcFzx^/к@=>5LLPEd"I ,= .b#)3  P"8 AAz v],=>4`3Y ?gHrjplCR|ژdG""S$"˫G ɰH +~hcG!=3]>(=KJ7&x'g+zfx[  b@Z$.hM2"xeJ]" g!/l@#T Ŋ p 6aĊ-t̲"e܁+?.l8dib''LkPvmmw/l²%*ְ$b\.>` _X0$e $$*&Ά&()@Vnͼ^AC[#bj)AKyen,Aa!xx" "8#DpfjI恐:=M}F0#Br~HMnWRlVdȲp׽>2 "")b* ,uA=pDw3tX`,J2V`D|ZIdLSB&peҧ*dhW@khLPܟ!!֛jR$AB2gFB! ^ڛk68vAL2@#(D@ %@Y!JF4!!~bbb1!2\f Y* J(0KqG_}،w~gt&.#!zAH$NÌ ` fB$N=-$dBgDUb/!`@,S!(V A=k~.^logpl1*.OFAj^]Ǯa: sSLOJ2j`28(E}|>[wʠUTt@XbA|j;) # *3?* nT?D!#RE 1$6d Cv` @l0",@YDlKBAZ-AU'ot>"+u =qc?愀Bej'u(+fiw G* FHTbZDP?6U)\EHdA@b'"_o mJ[sFWUg@&pl薱k6ݶppy҇wg-ƂJLh>7&jGUM~;(k2yBo2fVpqvbE$W5{F#>Bh&{lj6$\e6>0"gNbFx~&}K,NK`'P!a-xj0bBH&!fV&wZvEG\"bfZ+)|L}nM{ dDe&Ax./#ǖ٢Pl۹Ԇ}DC0`IսCA+E݋B@?yslvk1@9`//@^]~'~B/ǫh ¯'Қ} g% aPQu8ppE{- |A`>YB!`L@p/<-IR+7'H!pע `3!ORD@ P~{G6­ >iug@0^v'`=3*,6~4vX$.s*L遠qx .@Px2"{_!,! Fqlogx.BG*B3rZV1 1LsK)Z3Gp"a8 <</.sG!q u\^9rYz: YgPFu8  0 `0}'. aHJ`"4 %*,`y|]2· }pKG7)hfyrI3meE+'|ۀGʠC'[<p6B4*`: Lyw@+\}x!y\ҷEB=n }(SԝJС\¸` TxE!DQ|4v`x d`H ހ*XHv ¶ڊ0&"(u&r` (* %8\ gXLQo!XP~gkIdP Y,ӄa(R%DnCI "Q d/H3Cwq<8uA3&ǰ)F0fx A@ŸȁHA풿IY}4DכY gmBEp5P  <Cx=X~@B` }²hyS"ShKuW ʔ0@ 1=8 C6|!cn(a5A,{,( TWXk Q 0pH$.2<=WvJ9!`D*@:Hs/,f֘=EdBl=h{L2` ?9*;r:>\gd/Y2@@4nQP z0,cx;Q4餶dԒdN@<:鲅35C)vVWd!!8J@ P8$D| 9{h#r$T jtbr %,!2"2)ZBn}6- i h5N#Mh:# y&c3< :]>^ThBRcvyG`rAhj! [+IJΔYkx~!4tiؐ\GjA iI L!8'C|RÊPZ9| EyҨ)M==b`Tl!A $rLJx"u8*I[ xkXYn )O$|m" b"!' 7@Zi B%̊:UĊo9C ,'JlL<Di12AEK,xu,.Hb z佡 $&Jv 8& ;ɮj|&K$A%[PG$hj*zuiϯ0j0` Dfr ꋁ@ P [ě*7@yt \KPϏb5pՀw6cb Pu |(s3 p|{AQ nj$x)P{3Y| "k-ɻHяI HxsHrѠ|'H;,ԑCi1B42 KE hN O"w3"4h&Ox+(40"XT @,8ڮ{ǜoKhm#NZ"ۡ c0 %/pIf΂5CК4.[#haZ(ir vx}ee,YjT>< {#(]0o-%.hv840ͧ j_ {]%0~HЄ({3)t xY[e&px;  nih\` P @Bœ!knW 8É;zhvo t koXa3 кz: 8Ѫ b rVQ_Ah-Dţ |4iFi'Zi$R&mɊ|<3F2([yRZD"+ &Gvp{PB>$ !B͢,6KňZy$P}f[ce hz) [[ -ЇfXdD 70{ܨX{-TR6$ %H)YMa^,r+z6wtk+yQ'k.wpSz(@Ez VE\Z]?`s&~ HZ  *J)C⒟Ҵ$⠩ }" *'}'F~#Dt1lr<;k Kbg ܁4 Gtt,7H/djk4 Dџ{|: |-'Mfy4 $ Ys":}!`P4!* i֣,'_̺>HkJ@|~G#vgS$8 @0G{tgR` ކr!}pIb ~S k `i2Gh 8v CIĎ~h A82zvfvʠx9>@D(*(%hI1tő5SK + F@!n-@]I+ť"SMCpJrĨ?FtpBDZ"#zG/xTA!k8@2pdt6 ul,0~ʱ Èӥ~4?c|HY(ep!&jT3Y>%dRb? NSݗ$՜CI bD^?`MDe#SQlKUF@!*bkYҫCꢈ}6x1@5^:2 v:bҰQ8pgf稈LH<"Y#6"D'Y'\KjQ?N2~nC@3! ӛboqLJxq7b7""y@FI6F`@,`0=Q =(ČSA#x,A#Vb,,1bAZde {Lo$H3y+249e o|8cз@&K]H&b):jeӸXL?(hA @% K2Te/s vQ8yT|VX@0rqA!uD)3H|WGɗeW6 G0@1L &0qU<9 cXp(Hdb|eAAxM4dBհh~h@T L@{'@g֒r(!tGÉܢG\SF+ ! `ѦHifbr z#D,23 !ŜJM޻ܯ^ $q)a7(26s}Π!@~J*1&Gey'd7QD#꟢6tl.GC2$l *2h$|尤2b (FEtDc` HBk%#8 ؊߃:X*(G-% Vc,'napIÐz:#D:* &rj,垮l XHb8Jc@c"=5䰃;i=H- JBrHBB!""<@R2(̈T@M88" XB("fKb2d@ 'B1(d$G=c#N#6 A/Ř ~B@#)&\ͅfAe?`p<-?" djDG@@8`6/PڐG@AⅩ2hfM.&9btDnC"H`kxɺT.е&" A1&aQU3$@[5BrFD3LE2.n`0DdcCLXeT,E$FΠ$Ld h{8M"(DZ4/"bL ~rWkaҙGWv8P]M.c:a :' ED`V05zth֚S~2[C!胡P&AQxh<ܡ* ,wDWDB`Nrf`hk@Fj8-2/Z J ),jM\!`L<蘿ts!)Z/h4h (%@ @HNRo=s,$ьⴳ+S>b p>'L9䖵VK;`u,!a!rW`"f> *h?L J|E^!/$v'DB@ZFSvBT L\P@8&(8mcWwڴ%&)j,2cFL8͐^>JJ@p!bpXr@AWAڥƍM@f:4!p<:ɀ5aAj#,D!g2fr8 j])E$j; &z?5TN\,<+CB@>eٌ"P%((&5,2jf J ,(..9p~")2#m$43ؑ|BIeE_QM~5l) XFfCF(I*W,Fp4bRw6hҜ:>`p(.0A|Q.= (7ߴr@{!k^d=RK;p&;$ݘyh-4~z;DʻKW;j <"D5 Dzj=rc(l~9+ɗ8rTh! h E*#T'H=̏6ClJsɪd-#.WZ.tlDW*3;@*x9}–R`j.Ble"n`(.>-V$*F*FKI묯pFiroh V aKzOh&KvP!CQ&jFP* oanh%7 €l`Bh hLx'@漬&3@ X%pJ$#Xj@622s4ߤl-hUNec0JW-fsR#t&jW!9tšc@$9) GmN0cC /A! LR\`S6L`&G*)\W0¼1pVBټ}Ia "@$rd$ [Qfn{\;dJFl.b⛡xX, " "u5@ o W5V*d\ p`xT䢂?C2a:1@9a(3 MRHbIab3c"eRZZ" /^*V/VUJEw|2{b%4F@@L|0K!ݬa{r|#*$4.A:qJ: s3ح=7J3B"dLDXr 'o#v} 0>.>%6A!lFWp0'"`> 2h Aa(WTZTKґXKh$*dGZH`h)j).9daT ` >!'p@fjJy G5 $&4@FKhCZ P ?P(.sEql~=ÁP"}^) *M HXC)S}a?Ԡ.?pnaDJ_l` /!P:[xV<#\^p2T~#*b*@ 4`Y?8*J}Np%5$khɔ[4̯ҙ>6ߔ5iV\НwnJ=zeԎbX').$dZL |`r!1bPPKUc-u@ T (P 7Tt+4p<QhXK# qmXkѸ]ua?GuTd&K`^#]` #<=Xc|Hg;#jq=X$k=w80sbt X pi8h(4@ ;#mn8  l aD} P^ US;KB~@tS ` ¦Lrv3Fk D AeL\2UH4̄׳,p  *aNjQ?OKV(NGu7Rc6]E+׿h.&AjETOZo-| u:(@ HNoQ:_5@8m˱[Z@%7qI~P)~xt<&9ka^'uzahP I>rb !}wjtXvxiSٍ j G & 5P  E.’ Z}snƇ~x~8{ Bև 9ѕR?T2x}?Kx +rQW0!DL6"Y ! &j.0𳤑ȇ)֕9/h~Pzbpp@| D0(  xZbH=S3}}y3P(X~]c8b ()r h-w )A5!I`tG;؊I # c.Hlh^ɤEzΎypYn h{8o(ltr0п _X(` X ,г- ~1$ 0ڣ*A83 .F< IޓX 9:>b.ˋ N#@x]g;1aU Փ tN;u!4<(v**z2 U%<3 #1 jS nD\ݕد D^x~'}{.h([s:^C O 2Gꕂ[@;H P /Ծ'0w[mG(Lp PKaO@H 4 vXx}aƀX Ld|9 5YBͤ{_懀Ȣ6ٌPHsPixhnq9*H{߭ %*+4Իʻʞ=dz}UbeRZktQ3ЋuU XY dj'M^HRE]Xu@ljplSnØa`vu ؑF-K-KzIDӃv͝DE HL03c48@Ĵ, \ dM/DLܷب P1Q46䉲z裳h㴙 `pS LL7hҐP /$kxy!*tkj2D!!  X{DLgȱE ݨɎH` J&:pΥ!8 6D8*UCd N- ).l^M3==$%W`8@10 Z\%H2!S"ⴀֵЧ`2.^zrŎsN Q&iPc(]xԨ I9! ;D?X{X}xz1cJJ(Ȓ*8 Yl/y iu`~`h2~hH>{d֑ E~ ;GyHU@TIh.U&Q:6i( o w,Uʏ|-omo peрHI}Yx-qO"gO"XDzAC)" EӒZ:+' NXxxZ燨+P3P z m8Zp4`7=D}߯ e0IV ?.@@,r3?Ԁ@@2,?(bUѦd/>DQ*j4Ƥ@)b|Z$UWw*-nVEK+VcJVoxCGfɥ KEr W-ہk./Gkc70rh 5Ԟ|_TM96w'w(j:|{G~0|G{'iw'@0"( еm[# SV|HG{ +ND84 | ,ʈpJ"E(ڰ B&St0 d(J;8΋E(@zGqu t~ķ:7DvVp `HՉ#〠0 0E^I䪪*+깩Tm*aj7+T|Gargavg򂻶3ʶj) -&{SzxB hF~-X(("z  { pX!QmF ܯ@ nFqXzGGr{`:~( ~GZ ވz a1ztsg|&{~.} ؑUհ h4c_ȼ֮9,SӤU0BZ)л*=QOT3Mk*#ZG|'z{git\-|FH | x`X8+ƠЀ8h!GsHt^I `0BhTk&B:w ^E.җ q.0XȳE&Sp-2$S] Qzq;F* Q5x!N!<=U=> @( P,>cu "Ll<ԇ--wM~R Xwܺ$I3ɩ3I6HY\MG3i1Qw+H'G\|,7ւN `4@*#vq9 P(is 4$P\@ `l?DL&h 0$c "q r)3g%󊏔AU%r2dzbqQDÛDrUic2K9cP$.t3X)6YU+컔D(.fzRB-0S9x [+(ۘ׊u R)d33vJ/M( h4YK຺ r, Q¶"E6c>؀zT/ =[ycLpY)΂#714*BaIC)-` `b1 6%F p+,K%8ԲB<. @˜u#?4 p,¦+^hOA 8cL)؃Cb+ Pu5:ʾ@b`< AKbfܤ&BCL+B`!`f `d~M&"ƒp D(d Qjf Ax~(-LX ZGaE(&<rBA\AK: =&s &d&rgtP#j &B2h+DRxp,(*ˬД5F4"tXUDvD/ 6dUD淤lD(cVk'$rF"Y$#B(IV(k)Q $t2~7\3ib3B^K$ܶk2.x `b9TcVc):``. EGD 9(d]IO* ŒU :b½+EW98[ŰIJ+r2RK bcДLdZjY/B#^a`$E<(G@ͤpqNUK.ۯp)Ͼ7X'!"%B[E$5iU(ElB(J#FpeD(8H%ަ)X/ >Î+薤B$ BR`>aԽL8HBA+d4  CcaĝJa$lI.*Q*AI0`\( hX(P>l(4!"sh$@2CA6" Rl%pgL7Ć$p,%\t`7a r^4sS4hȹ%p=,("H’ʻF^KJ*#.pl E"- ࡺean~X/ @|;'4 ΑBT=cY8F(+2 .~ $bA &8<Pe~N 5pW~> +W h!"A<@ .Q$uE6tIYgN l˨U5VX Gye7R]B++z_c#4"%R^J JT|Nqr5GNH-76و$hF*ֆFÀӌL+CDB*(Fr^Hk.O oBHRpr(UɀX+fJx6vֳ/L$0*?(M̡BF 3ț{ϣSpB43]ҁ;6CZ1=wiZd('q7)mO/6k6 -HW7h+^r9Ï^=+5aޡ.å 7&DHP  t D Aco`mS$&B0B*s4I‡>CA`$%|̴OOB3TXGd~4szY,Hc$+1,# @pYfb$P}$"7权[=+*㩤b=8:lVB R]mXur2+ ͩI.91Qi=Y)}cGW)ra"'QO!j8f~!!Cf~xs^ah]yjуQhMCW|*/lZ;lOCw=:9c0R@tC'=[d`;dj@p`hCIa!k5aD( 4>uӍXJ8‚*x& -#+p|ҢѠ$S$FBXRpv ^K] %ep05#uf~*i:UgHSVn& ?"9D>m\6,+e1dPypյ碊bÞQ™^hkP302~x#6G F_Xl9_/30 [nf\'7Lx Y9t(b!J܍:}G{0@v`"{G2 |ǡ|? @0Fo` yxpAmG3:OIw~ v {*Ҁۆ{``&  `@t8'zǭzK,X|u  @( .91##(BG.Od8(F%BȪ:|GԷ#g,[ 23,\])0 Ze8*arfѠ{X,6͈X|Ԉzuj`@:)q8   kF9dp!H `-":xY 9& wUɺq @^+t)2>(cqQ3Ӱ<*$*v:KiX1yƙgJA vj h9Jq"7Jm*({rfGqxZ{pj>p{VNt|:֠%c&ze) rwz EB* jtl8#JAB! %L A!l@{Q24d.NɊ^HeA4 S?`*Х ;ǐ$ (Ġy7Ip8,MyoQY,ز+" ̖g"~8Qk'BCtj!=6@#y jDq:Pcq8GQ*}ȯ";[f2LG5 :9 s8ټMʊ4+F'_J( ToD8#$+8LQfkyXyk eVZOR10LU{F_N@˝%T1W!vf:<8ay*G,T8 >!dEkl]G&fH7RpVal3/cq:x#U:!Ŭ’?$y&h'yʡq=ǚIQcw;I:( U**L8P15uE-f 3u;7xAQ>-dmU@)}w\"oKrq "w\H_ohELJ2  ;k(KiUdf%zޔMJ]'$bPI3EȾb~)\B>B Am.}]I17pܓp/\9ybE-S`6 X=C(@a&0c:A=Ǎ{0и" !*vDjA2h~s+7ȀsHy0KV,8@=TntpA@ @CUE|`K  .@p cae7q'ZO k ØG!Ng~UM&,;^KAP:$vQSQ/%c'H%d ŏ{uĩ0d?h@ RZ:cՎĖOHjŵ?y'u~f @"; {.Ie@)T^!G I4NɔNj.e˺릩#~=@4oh[ٚq0fHH@EF>VfqX,[=:<._R+q = xD^'*& H'7k& H¡ r+nlii5ȆYCxwp" %xpwZ@_bh Rnw3ap*u  %`&ex{ MZ*[*)#"rȳak_ ɩH mB{h22\9r4Cx)D,Q`  G2gș%#@,Xz~%{aќeꤵ <EʳPz-1oU*#E}u':ۛC;ãފ l?ŌYD;+C9C69"C/]:G dMuI+-p hyꞇc8  `㟢!(z"ZȢ 5$Ȁ0%k3`.肛 zg' Lۛä0 ur(~ # !Jl `䇰imqypHxߢrψ1\qB+$rPit gtu Z"ઈH0 ѱ[M! } ScivI),-6P;HzɱԴ@.J݌вC z%˭|q|0sjy(ߖS7: %I4x 䩈i9H|yzPoo)G 0` x0qwhu 8Gh懛I%)(`  ZBЊ%\) Ċb o Xbhn\}@eC omNoxa@ h~'`)lZh-DWB/<| jU!47b?9 9LPs(o5Bv+9 PZ}_h8(4de3QP'YRD0V@| X>ʜyaߣkZX*!ꊬ8K/ E8/`zA!8xahgm-@p$qC&X(`IY[- 5ٿ0/h 1&1{,ԐleJH%ɔ'ˊI|= pH E,4Q*60h-n:XDb8 s#0 2}Ěr jyI$(c)FQ6=@vxvEx  ZH@l8zPӐ(wnXZ>v/&tGq 8-!;ʽQ 2u $qN|Ӏᤁ8!p>1ܞ'3Mop o1  XvhhXp: )PrP*.^`@P!p&Caة9eL(]d)! OH{R-ԜWև‚/rB ( D3Ŝ$.'rȐ'broHKDc[wމwf_Uqt*M:Ǩ0pW26+5ƕZ)>IaW+r`yЭ`  O f G:- 2/Yn#Cst I f j@@XZbǜȣJHwyW#D8벫xbӟҊЬ5WAm0ET$E 7V~jq(`@ Œt)v&'qw*. pý 8ir@. <(y|@4 |Pӻ$}͟*0 GOHCJJ : 4PuT>(>I䍽%t>ONm`-̬*uKag1 tl!cIthGh"0X؏Z?!j0 dB@ *X z=M*ǐmZTgqF޲'}yG@jXVe I b6L*(hlX&ٴ`kSf$1J֩C0ucՀ&+)SV{KSFӀ/P0TF)  ~_8!p0 G?p]d9alx* @GkFo2T0DzypfjS}6T>|p @, <iF@"~ $Q i3$/ 1GF(>luN~Y`0KaGӚc]#me ;QXE }^(01SmI: ,R,5`&hʩ5TQY9YF#Z} &aC2 9Pw+#N>*$Z5Cɐ9NB{;t`>sd'S4v 0 9S5EC[##tV-C阢X=<v(2`F,H?o!Dө2((95*^:15~FxÕ+:T|H:>`Xt.vg*-#W]"DSlD*#0$OB%EHgCXK #l)" [X"A'RPTՉ+qnxV+7 9~j$cy9h.z< R*sb#hPDA(*h{3Rѧc|z~u ʶgO4O4@%-='UEu'`?4h;I(<i,}4rMR#8JcԐ`YJH̴8Qi#n44EΔGٴ` N yDIGt;1Y@c#l:&X D4c2~#zQr,] sq 8#uF<}DtCH"2A䆏$?}4}"UWnmCc!"00(~0&aPdl q^4b 8} q5 LT A;D ;zp t5̔h||< hq=߀XMLb!LgK1Tg«v0+{lJCXwֱV \8 @P EY?#Tg6[AvB&yMMaWdTTtbʲ60ˁ$d46E%iOΉ'H8!Ո](QZF#=Ԡ|K`iȞ?i挭 1f+K\Щ$?W.Vp`|z#D%b_HY0"Qo  L WF] °(g X/@ys>aJDX&RA0&ۨ ~u14(JP~ `G @Gx>e 6@S$}9rt%sWJ2T"V9$<>0 Cw(OejDTjaOH.!`ƃL $%0BnAi>(Ԩf0=I >$"o bH%XCNRH&NE%Ă$4ai9P>""WhJ(\cYP^ < RfAgX(lab>NУhrN J56<&iNcVY++?Ed40[ 8UJEx!aa侢N $ 90+(ү!a)n``Bik I& B’Q=@,Aa;d"6tl6Kzpwx@6~,"j"6H]@c+eڡ0Uz*'a*%fWFˆ[,4]cC$BA;`.L0v #xODJoFV̑$֕` 0" ;J F  2x8ϴ!(AECD`@ 4@D$!@.,@@ra! JNF &c0⩠g"]n Ar_A΁3`RTDv?P2lSJ"Cp# SlL&'mGn4@F\a(+ J7-!Ni eb+1;L 0DT3P;a@ ]];.,Y0 oΟJ$pARPDCZ`2 ZBP%9CZ)'Nj@`0|M!~Ź">DlTC!0fj$!b~@I .AGς#-5N4:@,AAL]cEFKxU84$2 ,¥*fj8ORY" 9k0N%r.aF2hp wgY7` `VzA!$k*E/l̬d+B͂6$dC+ThPvS+X`LZ\$Z:dx:bؔq͒hܴJ7W{z9D)ccR)t9H 0 K7o~Y,8Qѐ9R50! VPakap(}!DwcW:!qD45aW%/Laű1d`7IJIV"@҈Ni4!lSQGaQ/R@H`: )JE6* R!L(D5IA-f(J8* B#*S9)FJRİ5o^Jk"ëX7xsvAʏnV `4 ^PE~we"aȆ)EAjg\AFTE #9T/ⵦGd&R` a!Pff2bx@@4!Ԡ!ar`J EgDFn@J`Far^r c2ڪ9& 2t@n@ugT]<`!a[AMB*,A(JB:J1j&V`fbeaY5'h$[ B t8X:`:*Ԁl΀cPXFc`ml`wŰbjQvMCE QYYVȰYSƗbHΉzQ)h? VLT#{DXPĨ"+9,QevYz1ţSQ"*,*,5DrVP%x (!"#5}D] >zhcb <߄lc =Y>,`@F ʰ;7&)@7  0@/ >4<}$@(re_h|AL3t)q4)@e(T =w^.~' 7X |oep$fDOGp`4 |߯=Eb1C~>_wD ïW5z^ۘ:o˭_8  @ c3 d9$z, AH%B.F# G{z}5,A}1Hb|%zj#pj)L=q  {ɻFE}#2#~Ifq=*6s@7Mzr9ra`DP z'ǹg)|RH ɼx'yIyGXX!TL{KG g{N~g hxYtq}.p$p $6Q*Po[(qsɧ 3L"x܊Jv(7#"'K{!2DH0 O2 `lذ &h5b3䄧̫ҿz)! 86hy%nΞ@P'Ѳy ;(Gy 8iNǑx6|S~wiv` 3½)3fIqG{2+hA{I-9  &Qi4`P0 gIД`CzG(Rrf{[04 & `H@|``@gT* *~gu?"l1'`$<B[@DҤ Z&Y"(ga!'7CBNvގ1! < A9`TA6⇃UQ)$%E!plN?Ghj%1H:DD7E0v1#trt(u;{@yEl"mO ` (k@YDPR#42A'%^LepjG,th%֍U#\8VI*g)dhzy~ "LJNl: %kGYgx!H;5A*{l̛*ADYa '(Z?1 `#6 78ThfE7+Jp89.Kbe%Q9؅(pDcO$xx;8w@QC>G b IH`HMy4V- &@Hh T? 4@u8P:zr).SIg g ]Њe3­5Bo}1*dZ$YpMڞQv+x2*%{NJleXvE#'wq\E<&mS8zxÎL52i*%Iq11ѝP3Yh0zIvP_kS/+=&Qa]hUeN\'D^Q4Fcy60hFFt?h $uAp|=@Z 1r:r˧7BhNqD.=@BqEF P WozF&1F0T\$`Rq9p,tjzaI˿" D |X`As}'; dHcpJ i-/B+,-Ϟ p3K?SA !'%Z.*=z-$Ɍ#m'b$r Y9)'X)̀K脺F+y b>$*Z`Z;@*@C2z>C>>l& ^وȈ&q+xR2k8@2.0ІĐL> H" '3"c(8e2"A[x a 2 ͉(#x@x 'c jJA@II0z:9#@ġʜD;B$C'/¼1 `}&9ʝ9_H D!ᚣģ«2](t(B:#9.< &a9 ,8;;mt"E,6&J_XJ󇵠h\lD2X*<3a!Eb6 ȩ'x) !0xj#mJa3#d,-ʜ)"Q?*{ ̟  Q`C4q$ | @ 0hz نu [jI<rBX5@s$ޚ (ʈq9;r [2. #[x\xsHoH̨O*s!*>Ph'P?&J‹ ;j0Pz}2Ӓ/c` Xuo#X*hI uH|p5xx0&24kyjmgjx K(zX~z\HnSorlf}(C @ TX!r"9sUN@EsDrJa8Zd!8#83E(Ca)3}UE%aΡXԳ.dT>rfI聲I‡hqo0s.t",9u " CQX(~DP> ! $hyT·ɟ3 ?LOI˓homri@{@P,LQ {.q|1-t@uA ̨ 8yyp)x #9\z;n} +>@ӇH e|^\XXrA> n`y͉q=i qӻ[聧!ocZYlxx`kjmkX0 H-! "B|/#1H{c*{B£r(mg )3J#JRBZQ%r4[^\|E#̈́&a ɧMBP 6*B#|+Z8{'%Hv#(Т+Ԉ@ހ,(dWJzU^-#& #BR rt Z:X*<%_)e%B<|d1 }t0oPgLTǶO \2^&)6cI 3XQư Nw{`x`@xh{`y đ-kn{Xda.eH\:KZZbxxh S ls%(խ̾{p,OJ"GzɈx(xVhQHuMB f1+$8;){|xa ja[Rh 8 M6q\--pz}y`(}k yQ:@}w`X `zp{P oMot` *=!1- @yHs2(XeA:H2nY ` c6GOdbJMA~O~U9QٙUTANn4QF\)ɋ_C:ޕP~ rllpn:hbl\,BD++Т邨)hcb>sBQ `FZY-(mkXpa[Q]!\HO#Q %> C3xha_8=)hx ;\ 0z!YZ( FH؆л x`8 ThSpWhBQѽ2k='Fd}HD4p<=,58 tXr8[㲻gp07 ٯ"-Dt0P隳1í`2b:^B@@Þ(adT#ۃ,Hܫ)я C[ŭIJ (XF)cREO:3AJJyqc;^8Q˓T,:%Bs4nQ qœai?JD60Q-VˋwXt huw WvފHApRCK+\7^WG^ ?"zN6mĪJVˢy.G$eKEny 'WĪ ;ٙ6H?2ɉ^J1ѣ` ]p:#cmR%NEQ~c%F`@@  ?o` 5d`LnQ"Ke)dey >?@P(~U_ZoA@y ?w?cRfHUe,¡ , ?kwu6!B1>@ m D Pz'Ԁ&WUȀ`4 $OР@ 0x(ycU)[kKOٽ3 s=z=Z]h"@b/+IT%!v` 2Cx1} X &3 Ǫ*1˹y9r'Q 6 ` @8  H0~d*p`f0.x0Dz^~hj|@~D88qfYdFw`pHym@ՙ|@$1fO$88`(YIj$h|B+"Ji=P=i=jYp+Brg $*zt ׊<%i| t7oh!埀h@i*JuҰ+XzpP ) `'9s-S Y,mwKg pR^_ig+&f`h!vi|'ª@$@Z ٺ$zgƈ0@DE7HK+<|͸ ,ta>D$3n!` >)x, x DT8tl "=a5BW! @q3K[1y0Eؒ@ѼV_5ba0a^|li!F"v@ɂJ$6IAS1$IAN@#sfErłK { n%u6rNdR#1g/Kۨ h4p.h,龢W$j6,:D}}c'{ŎIîLH=^J8!%~=GXjdxBܶcCCU#l\B 9BI?jBR) }4Ph'ܑ1.%'StPE:|1kls0:-J%! F)O)z#KTDE 90Jf9"c3~0ɢ2 ?4fӺGVsdi˨j X V@y" 7XR!geeAci,BS),)رHLyF*a#G @ϕ8Q||,gޙU#$ S)z:7ӍvXCJA&:exװH,m HX t@*Ni+'=(rWPa51d|2H٠W(#w LHDPP`dR*!M;).H_,>.f *w1\s =䝎pH09s.Ik<#?7| 6)g՘ n6ɂHF EYQRVxZ ɐgq)&)Y43N|Ϫhf߹ .8cXi1:ǐ쥠}O|d[ T  0$pl+!C`-@(va(z;D&֠x >="-lj:Bښk9Lr!fBpؔ,.ߤnx]¨4 J୎ : Io9i[B? Ŷ&FF^)! NI(ABƸ,x,~)h%[&ĥҮ&+&p*c@<((sNP`#9」P,b#GP~kB`d k%$Jh6a\AVe8@.$ R#-2"ҢxyL!A!$Vϖ aaESAa;B<*P4P<b|-Ha'ś!Icr@6"h :*@9Qg>Ŋ<R<@$܊x@$h5&IT>n(xR-ebޙbyщB܍c &F4B!AϖPgB%}"#RC4h*9l_"l@!驠# )l`f5#+3v̡A #ŸZ&%^*@ (U[oT\eL(j݂Y*WRز#~w.!@Swqj]J`8NA@Lo)ɤ!:@,R<2`!0uaA` ?9 \>K::1?y~-~D2IήC$>?طw=J}5e@&F/4Jʡl1AAl&omxɔֆ:&#\/N:GH 5AaF4zrӚfX#Jĭ|m.*VQ!]1a@LdMK T(ZpQ ϢT/?̧>.[]ao`56"L#G&ba*^`4$l4Ш)O\"TZ5-x#;S g bsem[5R)3RZ`hdA]iR&xX][?J9S} J>xưDxu/J ,=ORk#-V'xB%jb,(d6A]Af+4 AD@ %'$l'!"sBEadb\  jF"3)a0)- f ZVCSȹD":/*"4 =e&N^e4#v!Kd:, IW/ >,`BVCp*7%.a" U79R6Tنܘfhς{+7OZb/=ѲYa~N-,L\ΫyΥOF\iCAL7# 1@S? MTL0,M uRX4ZK+~>rʵZJ[5?-UwwKР$|=Kվn5mpD+ u oy<'|rܭ;~f gn@P8A~@Bӽ{r7z~G@0tQvjSnhHP8 0n&q@@ i vI\ͺқ/ `R ` z;+s2˭Kv~+Ν(A(4ژM@}Lb*Ɉ̺NDLJʀα@STK"v.@JjƁz_  ۨK*~tT'3G4Sڮڶ"k@5||ʌaА# 'TK(O UBQjŊC~;'yhfYp ؍7%nv%z{ }&/" O뙁R%ɬVH6h"g6wI2a6+ .VC"@&ւ/̺j)`hhL)rRkW@0 uȠȇ9γW}(S{ '˞ 0xVr!xND+O:wiz0`9gT SG{FzYn:*oz^6X,ڿ33wb:jj^+)}̙qʌP*aa?[̑ }U1{S*8R}p"]T}'ii5ʜ.OH4N҇c`Z_J,2tqPP0E`BS@S }bߋZ|õ3L?GCx>452G@:f&e-X_N9F8;;3$^@# R%㏨R  Oy83%)TQ^3ZX@egUsA6/Ŝ &Ӹ|)pH0l %$`0u G(MP<ӹl(t2ΟOEU'JD P"X@#Н]5բb?@ ,CӺu+6GB+N`12 ,; 7(զ?(7t֌d99=]hZRJjR)I0."$`,yA=GPwA͇R  ,=10CVb 0q=;(9az`(p.VCxu=Bx`*8{=( lس2 *уSN-p'ZwRuKTI9ҩ/)΃7j@(wųB9$1DYf[sn "i1@qd$|EH;p GuZ8&y5"m W8Nb(Ȁ\-нcpo6j7h^z'3HCbl6,xAڊҋT߹ Y݃~2mGa4P A%'Z!=Cq 5| KT =\^4aT\dg信vMɬʯl{|/.茑0*)! 똋A (B%qQW%+ T5RJ@#9' ˓)JlHX 3XuqL2pç@1,6"<apH #Z#{Iz D#"9<S. ‡z{yF$0=KS T;Q5k9a5#P'Ab;@ h*,*У$j_&X~qxw`}mcQ +8 p}0H(&Td8,e0wn(v  WR~ EA8*yϋ:  J0œ 𻧨 | Cd+I{J+\{#0V+!u%5E~>z!79Mհ!A/; ǛMBg8'9d?d751%>E0p!S8C[Yh%3Y헀+)1D@fD>R9=ٸbpиR8<cP}xyTwrC ;2O4@ ٹ⛡%,HxXt(} (L H8pNZ^@uӪX ~y 0w b` H ;!DE'hh!=2UպĀ9a\ Su M8.k|C^DDz#M+af̀Ƨ}҂:B/ P{3's^M n1 ATih6@LH&',YO2y`!?J!0W%UHfhc(t*W18#b(3 eh}"< W싨.ZxY9o UHw(sBd Y>Z@_=9 r0>i3B 8~ u9{WQ b)|@ huhtor ʳ r!^: !|MxBjW(W << ~S( :_YB3KX=P!e&܍(ŔrYٸo\~q<ۺIlv\&8Ka}.~%I{)l|nƘ&) @8"ǩ2t`*. "G&f$nc}nP2fhfy{k;R}Ag1r& y}"}I;Î  zZ܀*7|H@$@!xg9uQJf #xևz<9PR&٩Yo*n鸮cjXr~/|bK%} 7y}` GA@Y|rAy'ph`4' ̎s, 8%Ȉ\ҭ~ 0@* $K`*1菄n{. b'8FLN)[ vnp-n[{-*Gz*SYؖ9n;[TdKθK.u<_&6Sÿm$iǭXehNˀ橼a[S$sgUغrg ~9QtPӻ1>ș(`H$ X gĨu:/?b\&p{e.o{EDP v+yI_w:pyFgݳ m ϛaΝ2tKY~=x"P>sYmȹ=!4A>+<)㔋|䭩~)t>3zyie5೚v2.fَRoUdvJ K6E`-jn/C]:'W.Lw9D~\ExXYLUIE6vbfcM2I1k)̟s hbiϣ7#9""P$cr9(-4bEn/%:rٸ'G,^zIo#`Tt@ [o|}NVd;$t0JEcq;iV >HdY T`EM;J&r(䒊ϸz<@0.@|Z o#Hkh=\ n|vO2, \iޔŠf; 7ߥt dpxKR%y&t&D1/[:PD!F_ >`%p. CBXAgk/܅(!T* <{Ap1O.e$=ϸçFL'a8c-1@ԑJ0j 61`mNS8@SQ-Jf?;fng pqaΐ"Ǩ,H'3w|b>Dej2baN@=)>Pm@?,ݦ4 `!0@BJ% si!;&+T=T?ٸK Y&tRR؟6. |m1b@Ip{tۼj>j 8s;rnEr"K~GP.s'$N([15*Rr ;ڥWmdL$+:}Yr_tG|6[zp-;Cknf]hH0\ExZvmygK\rb\89&OI[Ys9 d- ;Pڗ%+"SKuJ|;Gx}t6ɟD&Vjɞ>F' B=$g~s` g9>gzmƓWJY'|EJȂpz/ﯸj:ndƲc'kL-JY|9YNK@$ ^R&D/N^b S<{P<#[[ X|dXBHZF/f*aOQ &;̊hnf"HTBZ03 Zc8p&C!aYnD"vaBND+O!LjCPBy&D04`VJ2ڶCD(4!@R6Rt:nHƐiC:&ejN(t[t(XqLGqpL.J-ZbhjGG ȍAN0g2$Ȏɖ4XYEʒD7"iG4L&uM?Z|] 7gy=:Kl~_IS膐NM/ij[B8.&tҨD\ DqpBaAfDe5T.=˂8foZ >:S(dNRKbZE-fCXJDlD.y`Il7B0i""w3K %Ecṣ <<n7ΞbwȾ UzK,+mC2#>@*$3``c(s;iNB{Dl?C$50PLP> ElE4% _(Z(oTtl[inTFS`$,FQP!4iFGwYhbBM ij@B^ @mZW8~K$BRAD`R Bbb"7 bJ]#!r^/JW7 TW ` *`&"@eEcwg?jv(iGs8GKJ;b]IAA\\4n O8b}?!*/} T`(r.W%B6XI(sb$$u2` KfJXQRW4c4%'KD~`da(.Ԙc  .@J2Th8Q| NRZQQv3 (6to#BJd."lZ0vXv)3RU!ajAfN`6W0&Cd6C"'rH8ź%)bj. x{F$8‚y @I< FqÐǻ0eE8FS_Nb)Ff_n7ɀCr'|&#mRe425܂n,OR$KHJ!'$r6`0(uu xNi|XjoM(Δl9 Q^(FEu3tlZ̤-΂{Ī&|n.F%CTFXK4"S<'+k \%wp2<ѰΉu nrR4Q#nm7v{"T5t*vԲ)rbNCNNnqEX\be1~G&<#tN v!$5p3y:Q >,KgDխ&Q-0~ٺC?ȟRjH2XCgӮHΜ얖JU;JY'ygXuSQje~յ0p'6Jnkk! WDhJECpq0ЖچcE3[bQ%A cuc1rL"(n: A$uCsqFFe8`aQV05&p6 Cqbb<#bsȾ $F"b'C8IG#P7@enDMbf1 ֹM+fy@azŠR6 d n*CuL#j˪)$fB DW!Y)az(8& ,'&! ѠYCOt5X&|>z6$c>!$! PLHjF&akptz<fl6 +ny@TNVӍ퍌~CjLn#cA!@"gݑ/ԩr(Egh>g!p u7}pP>o ?>F_K<ßx8 ̀s }QQg " %{ge? -g) ]n5y#C9N$wԙ (y' e3w̘OV:{s\6X,@P$H@h9x 8Ɓ`ֲy?޾zTŷ2+mmP2 g}8)'Y{g`&0@A H  a+LP `HvGQt`a {p# 7B<1d{@, `tz +:pת F- ڦis6L&o5=:mSZ j-@;6&4E?Ilֶ D%;I/*'/:jVSp'-HNnpbK>MZrBJ{ 8kN`ծ@ @,t8&M1q}:5Ip ڱ-nΉ DHա%5;cxxgiwIUfT5|[3S?S%[fH4-B+("RdW$垀/$ᚢYūU*;܏Ю ]NPc mtN=iT{ijF<"X<%h&ɿm\-Y8rJ::-f" `  %;$TW܀O:>l-Ω#TvqvHgA{Dfح={m՟"rS꣌}GPh>x Dd9EZ5u@8"D@ M.M,uTCJ#wq<ǀ{%p8cz7\?8;H4XiVa1c쌗' INa(D!6sPJ a0j{CvJW1adHB\Migd8F 0* :NE|})kϢp~ 6 m:کAq!5=#p+2c@ J0%piA80 fMB;g`V6QP Y}<Ǵ~(DaCx=!tpV1Di˴s NML]'A4c|N>)wR`?h\X.b -`FOGBu̝M;q!NHHY%<1hpRIX5X̔¬ES 0 FT-\cVD86@b qs<ȔBfF@ Qv3xXl" <(w^X(ǚzN;^ǽyRF,O G ;)f:Lj̹l "JUkj?@M$w !EDg*=.-9"1g}XeAze4+kPx @|;+)f$pA.T dcL#{yhYm'I%O5: ?Le¥ o>NS[.zDJ>vP*0Z%\-Ea6 7Nnpl$n=(T_fs-Ҩ9!5 : 7$m\bGyZ0`ݣDgiK^P^Tm頧 OI0S>)d0V ~M?;ǐ[Cl[I=7:_CPD[3͊Xt5m zKv/cZ` )%(XܶvΖ&)XuY-`=d7%n C9GCģ2v=]Äw`@Ĺ$?Pi}5 ׍fKn5؈ BYy/eZ K`-z$^| Kx81xxXnlz 0%x Y΍xڇr}p8X Z@{Bq5-苊0'Y;[`݀8r rxhX-(x#P୘+naHehxH y1Q x@@H B.zT 6ia } `{ Uth{|+X 6<)i(#QoÉGni`ghg 0zHIu .؊Y| ybaFq\: it hz8 (HP3D*&ȬhuY(0<+08pP~@esXmX.}̩&`#Pt8rmmq!Q];4ww"n s<? q8q Gz=#ؐ+FF/< }@Дv]Ah8裈k?G!u|h$X%y}ɋ | Ő qG2*$S7|w x-c0TZ1qAQ1PYAc4<7)IX*:`z뇹HAJ>0:KW4yhb܊)s ~+9z7[{G|<ͤ҉w+ 1 :?٘ 4 ( [Vo ?k>!xi(4;aeJ c)fBfs M%6ϓHǵD Hڎui)O3 Щac x~1:$zA}TOa=Z;1tH @# 2Q1kKo. $@H#ָA3ˍRjS8Bvyy!VT3=YVaPaW 9Nr1%|'̎({'} W& I荀@w}w)+c`@v8)@" nw78`LyOf 8 5  i*Yi-fs,r; LB+ p[T0ڇao\ %h9x{0quXt%x"bm` SXqjS8X}hp'r0pqQЈ H1 b-d,(~kxgm WpzY!pu0 bRـP!|pgkoJ@~(_^t`r y(8C.aQ9@zpxk}'4{أCq$P2H;d@Z4[HTPYPQGa=@#H}PaٖYM +T[m}셏i:␒A jSba"ZxdZC 0{RaA; Xﭞhc@u0,l90 ȯhwt(try3D C+ |0(8"/ } HtzMcPEQDVLAs"-1T:`# = R @( Fzy/0!fs=JS7s`K|Y٪Pqm~h:M󛱫|(2//г0 3~oGa0#+Vg,9qErSDR3X Fb)(v։ <, &[PK$aa{'!#]VȜ٣ϩwSa D }s(Ae7nYX x˦,Դ)z0(@oyYܦ#}$(pXxkZ CJ98l-Ynzh $L%|^^8 :QX|RPOpq*X7!/ဤp_0H5..`yߠl'8 J怈q*ЎDrpjM *@':<(t@qi$; 00ɶউ E. .^ s\sZ3( xv;x#E Ht0glv ੋ(Y3Ŷ6 XpY`}w{GH Oh h #S|t̳s\rGLo95d񉸐Cf0^^4xϋV12œYsd!UlWpy 0|͉н9@(;YX3T°ᦀgbp;Jh1>xćytHexӲ ;ϗh7@/Jea堍u'3\'yHw* <$;H "?A"?oHO /9`/׬F@Ph< (wm|P_O|8 oG[wɛ~Ģ/ ^m1bj 4 B84PÀ} 8ضe@&WF7-~{ .Qxٵғt$cmNvn3 A*xMl9!ڍx#/4 ͔ň$Z~6W܈9*.S.IMwC.7" }a& 1r_ݰ 2LBd;P$t [`0ܫY\+H&$p |h|>G}8P8H(C,#rQ3ƠC>p0 QD0D`_I2.5ƽ=HLàzaX< 2Y4n.8͒eɛ#3h됴6̎cE@8hʑh⍂[eU,G=|BM:Hk"P=f`#ࣀ1O)픧I7sh{S aTN:r"$C.3gAH`_ e`J8 Di'((r15" ʕCl1uve%*1Lb">a};J!C'[bS3\˚_L0"Ԝ/"$!?( &:@1=qTYq=)h}DPM &'@pDhvؒG7o` ᾐX\] pD0DX†3Jb@f7ƕgNÿj2WijZ>YJ⫸sT#\)BJ6\zk V "jld2KJ)B{//%ԥ$Ϊf5?(l.O\>b$Sҙ"Qѳ`AY*sJE\e!;"ͷ"9<8s2>ծ\*^Kix4g܀H( ` 3ʷIOV{0@@B uѪ>|δM *}lx XF+F'؇Asn R0,Tir*=F #UDv"{XSCeE068 6G{I%2R=%}Ơ<@zdX`.^J*"@4Fr2laQ<`m?h/`TR:ݨkǰg04}ܖȳ~ڋ a;(R `(&L|.z= "$tP0&{ +SL\C#!R!!/!b DJ@0)(Pc<Ӆ(4.ɆL"!!~!S䊢EJ E:T &HfVb6tM`Ӏ@f!*,]dMeB)2@ `*l*&k\iF(&p( 'ξH!a_L(N* 0)^1L_ `b;%.Ha`aׂ8k,3~W,IE[Y"_ RTlg "7!, Q* ^Ad`.E)q =@.0`1B¸;7ꤘ"6t4 ti(#*X 7Pemfd@% ^]7xi~e4Ds0J9E#nj&2Pd ,ipo" -JozabM*:A%W rE,fhBSL+͡gׁ e>sL~q>P|r*d+ MF;#ⓍΤKM"t)).%n܊U.8Ӽ-X-@&f!S>,΋8:8B*~Ϭs6Ji,q B*^2J+BcBx8Q†GE*`l)39=3f#G,c`sEbuBPAA0d9&&r,2"Ѳ"@@<HGojK@bHaTZAEJt +a>bK<&"o%0JJN-U`@jdJ`ft15,2|JD2)n#b WDr(.7#E$S`KpH#..12xSL6*6+a!!^:O6A.q0 4@82KdCpAֆ@VB,2 ,5^fN6&R ȗHB+9]ɓ#b4*Kdhx~ f2CA@(j IAt@4!o&*>hL~s霋ӬdN4  34( eSd@7L,~9SFB+LDz_2ʝliv&Z*A`(2R43WrX$d F)L±8 8\HP#JE pA+ڍ\#`^,>%&Z+W(8*,` ?|cjG+t<(*q!yZ9j@"8ՖW]ڷTIK8˵|'^e M4Ī"dJ3 DfFZ)+7QI, *CJ4JT5@6^#pF Fas2T_rM*S B9g^0QaM"%&/)0+B-"$bA`Mbm26ʺ$r/a> D@X|]3cn#!rh` N} G08n馅1=H{U5"PL[` ,|A=>E<ϓ"+$4PI[naLJ@D`@B`*@02RcMh:4aMAʽ B@Bkz VG"+I,~t<;Xs;MF,zϳt,@6?7gj|ΰ݊cȣ[DL @ `Toz׋Zm[P+j4qH2(x.0*2z3!|ޭ=k>43 JBD#_*aeb[L q,B2%!aᮃT2c1Pх+J^*H#AE#%&17&N!m-{dqovr W Lb`RB t[ڠ45Egm̆XiJ#r-GOH&ϜtPV#w9+t(ȼ@ 7j<@ ЄpyC Kp B0>Xk"`P8$]!nO҉4@IKO28} X6 @`#|oDߏ%$``T,?^7pbW0e~=ϗ^€2F0y=]n|>P0=3?t F @0a"Kx=zGt>E?As" ~96.u0?t_Ղ%o L-#:'ɂl#) := #%*":("R~t!pZ2 `$ x |.Ӣ@8 |ˤ($/1[Dò&y.7 3:E IK` ӫnm8#qs#zhLʈ:Gs n ~/JhtMf !0v0. $oN)&z@|<P$ kAw'Z'qm@ Xʘ cL 6ik(| 0i râJ0ݠwin `& qXJǩw'z+P0 }g, ">)ƱhHf@J X kBZG\o6c׫@zc{G ~̹~Mwx !0j!HN r)f6*`+#~+1ngq-\ + !cWA L*5G8%)#A !p Co0LS1!2f(X5C.e<A a`+p*x#pPX lؐq= #wa @#I6  cKIe͝BI<׀6J#-! kw##"`nN 9ΚM?&+҂JagE"J0)L,@`pPs lX2ry2$鄀KP揂 (t( ` cPjnk(i=$D K/8cP& C#8YDQ"◉\X̠z0ǠCtP(@Hw!S X T /f@R x&+,HrHu 1qLG *` pSsvidre:/$2c,x2,x:;|@җ"= +|$=\K! P P)` XDq`#*)*(2ʬ1@)YjGCڠ?DB8 *,_B,*%z;2^!YB 8*o2+) 90?8,H WͶB S Sq`.+ Ytiy腑 ͩe0;ytyxz(0gr M#ZGZ3x [j+)GANJ-Cv!L~!P%1xƼǾ m,#-Hnb/ЗhKaJ‘QG~ X5 6q7 yȥ :/ۃpPHB-Xzpvi &JǤ$ڵ/j %W&kBy?&@Ƕwh*jKH۲, |Y x8x:X|F )!LjɇAxsAzH% "&tuqH@@49:/( 9͌x[ݰ F eMЅxv xxoa΀!no1 h pxsml9@@ˎX|qؕ r44|D]HI%ﷸy O)d(c~hjiY!Үa$@.Q@hykHo`zᆞ 5X( )olXJ%Pw=( itC{pAͥY~-%kHƎPrxI(xE8yk4|z  ؍TINa H!ԉ;(󶀉t(r'}4}[]07އ J#'8zB` , !d\`F{p²R!YU'*j0?*/lyJ: H/y1ۢ>020܎ E,|/rlq|=p\ɮ<|ldjOiNȐ!:eA9Hы L H83+;L!Xc L8̠ x x ]#AZ[戼{%1טcC ~1l*R\ͻ*J2[eI\YC/I.9r\tsCP´ fXɖy'ե0ȭ-(OQiH yrʨ `F)qDt*fc֓)Mغ) ,{T;2 ~@XtDbRlpp2hVp1 ƣ%9unw<'ܛ ׀Qև֟`Xz <ڋ:F pLȋY0onk`]py Or8t`p c H92CJe;xrX)jإ抋ۙyZd# T7p(0@rb ]]As tE ٩? E!S jsZycs %#{0w86 sZ4 N4zKĥeR @s XXt݈ړE ڏ aKesrxN;)%$HH懪!r B% }援 '"5SRI*\J<hx$z7x o<!B8 k{@s^8S  'H6 _8R ģrև+@ʤ\kɘ|^'Rư¡L֌CtY*:;w:h B8sy|x(xRɽRFf'ᇡ:]Џ%6DՋ8 X 4)˼YyG*:60O꿶hLJty!&>ʰř/]JFB(Fn@Qpd3?IϦKLp%"=; Lȟi}?)Ӳ$+{2z۲~|x|V>'3( "ETFE-% TM&LވWx;R2`z̬z?$`?bP'2 QXT,~áиtzeRGY? l.e01)~6Pf4~N@3jLVKʀP<~>Ap(:DPM}7ͬAg9} 8*wk ~?% !"~VgP,< 8Md!S^s-S9ıo|c 7MO6K[h~KPqOf|o6r9H 2 Σoۍr{JHD'I)gz1w'{-kc{g|z0 b| `m[XуQ).!HTH PipHxYaF8"=gYiuR@ǡ @"B 9jPJ`28~K&/!)4U' ץH"PZ&(t"$pj]1xp. 8{&{2CM02L$J"@Y{gQù ݵ̟^@ ~ r|$xf:b&N}hD% V\d{~ @InX {u =~5Ot9-m"`Vd|{pn K^ fۧY#"[ &/J$٩%E'89̟lG+`K)с`PɣN!Drx"H&e̲}͡```oflQ`8, ,r'~y,l` ʍՃ@&@| Q'dIt{YM < L5F&B/%xE>'}|^ΣrX}BHi-% ubL(l)WI)UfP0"ə$$ 2 |T=ʮJ:9z2'@;u A2qXh {n2PXI]9SYxf@!*mf b) ${rj*e͏:GpP.s^cKB)I5 sphqE}I=G~GxQ;MFvLr4Ƭ~A!>cu  -ځFHlxLuEP&.pH:G #\jPN IՁKhvG񴸤-7g 1|9^¨g?yhF#y6pݽeVȓzQ (J:꡼2 ٺ=;o$J& hJ`#,;Av6_P\U(胒(uF|` @cyC2_x:G/{<(i;asi }I#2Bs.yD|]u;z4vQ;lw樁O(&c8)ȓHd7cH`tGI Cxw\㱄Bk&(D<$oӮ`[odvoPz $ 0&vxX p_ !o1@6hXBldwsWX#J6ԒNUjTDf$zZT۴ 9az-I.G&^z4N7Ed:ևr07%ٰF>D|B ʲd%ɞlf4~`kB4hd B%(֟"Yhsφ b$ 5H7 Q#tGm "`#ʒ-c"'L' Ɖ8%Pj~)IxFƤ8q ̇#hNR(rN,B.ώ-XVD( -xj#CtKXxx;LjI6I#l'Pfq >aBΚ1*WTQ`)K Cb2BuHzb6)00loD!*vBh4GEB$?mX`bg.N& *($O"c$l@,BZP"R$K|(l9|}I"0  (+.8".p &4a*jmdV%"PG˒$ʰ($|ќRD<j-Ϩa.(,w`$ߣT^A!92 X4Brmf@$0 |w0c "Bv2FGQ4`t>J5Q5/.x`>JjiJC(Af^kORFA!!Ns ^5|@2z!V/RA5) njbD`!BR$Oln!N8PfNdk!BnyQʁ(' a uRY t|]/U^ B2/B68!H&oCX$# MAT$4}4AIR+@`e k%H<#&AK(=!PNx!V)歧Ŋڭ5| eiI ,c䞢c eMUg}b5PPh!#i(Bf:e.- FD"bRc G T7NOm!m\ӎ!d8`~*b'd&j"fNoJ@Ytj'Uڋ2ЮT "6Nj%TD!$e6NJ88XOb $EWh"9H ` 2"" )+Eu*bu+U*& \PBMkG>V! oFX#% 2ˊѶG8Gf(!|0`5 v!5 \a 4@8d&\J(3"bxD P!  'Qwh9EX9u.dA{h1Q+f,@R V[o# AF@ZRYAXV䉊G!#&=`G\ ZD9g`<Lw|). v0 LP:"by .p#dV-iVxW(z>BB%lU-j%-D)d"U2=Y\u&E&XD*PJ/ vTGٞm"p->NdϪCŶ8 AṈGJxxV}dEb"MP*` Tցpb !lc8=[n^.x6elB~5X˶JzB Ûm#p:_`JG]x * !x$>D)`XP 3.h嘁`$̢.>8֫ N8~ v0$z`3&!K$6xpXL"8&z~TROGjބ)k`'118!j K0p"vvj667v!m!EEf*B.(-yƞ<\vN}-KW/Htw¥thsj:ţƨ,!Q 0gd]p(Rjtc"?/UOe-BPܥ#Qfs;z:ɼVWu-`P\U)m<ߨy>e{zs2 na&:vgF]fXQ*W "u@P@;g6biL/в67'E&UZ(8CfIآ hȭc_g©M },)*XҚjKQ4(pl( ~ h=htr@.Ndd :#E.I'C2"V$lk8c;[nQѴ"f`>?̂ϘC<#13eF v\& wva+!B`X^M4fJ]{ A8Pxm`^k/8lA6E)<.&(!Jf67̂isd".D/ ~!z /W80  '1h{=Oy[|@x0 :]u;^w p78"ǎ DSe؝}@( ]`P7!lg_9tt9]@i(PM&[ tA@\ |ߠ FAc⁂2r}A ;G>_W,G{0nb;ѡO 8Kd?# ?*k$|v Lqs)$L!/5r+L<@@L4=H~Nk[dj2h$g䨞+\mIG% }.O +T㾉Xdzgav j⫂0 ``y'ilJy|0PZ9>Qyz,1zq[jo' q3 ̙nH w<~8$Դ<5^0O <Ąa$3=rʀVFΤ0P1j=/{a$M~(β׳˴(<3ٲa[ 9nV\ʀTc{x\٘T;@,m a4;/@:[վv*yHcGԄ{#1c+4JXyjJY羗,lgmbAIZJ7* ?}4dˣ]N ^rP7:3UYFTc@2ʁ:h* 52gO`f =3VMr@Oq@F~PD(@z 64P6!6jF!m&bː^3 ~ _teK)„OjK#Q _$PEL}#ZmZ :RjmjYNcyba\ !@ $c.^+P'|"^*x $ sPÐ@X w҉!a!EFa >8J4jH0iFN&s洺NxB>ìvc<CTjVefS[Qϔ~GIULA30ڲ!5 M${Q4<HvF_Hx, Gp\  jFFYmYb. *ƀ\w98u3RҘ3L8zϘnKȪkU4>`La:T%@IS`y,V>802›GRl B l4-=g_QhhQ;xQ# H,"Ie|Phctg!70ߢeЅ!6i,&Ԕ9}m  "8(t!+T "K1_}/Ɉ &ŵef-IN9pE /+!rTlrj3M5D2.!\ /1@+'$eP:;δBՉ$D_rKdV"l_\NP(yi8zxx꨷<BO83AliD$*6jG$)2BRpw!P#HC퍫2 aT'Ya}0%z#"Y.1􌱭 ij"07#$83>VH`.23h:  x~( }9ClE4@ĀQkjHu' !NX+(}u8~Hyvǔ䍒7+pך pq qo>'P<`PDEx ڀ|fpgh PH (c@c8zrDxxXyXH"hu($?ml8y9hТrtK=G#< qq*ƘPnoh2! Hz;2(ƻ jH/Bv0(8B:;AշaN8 !0/ Jbr;,#"ˀ? /)b0<`w2Ǫ#ej 1se%(d?;L< IJ 2Ӥ20K:r3)0 9뇲`}{r@ A"'ÕA2R{ Xx#j~>/Bt0qxklk1 ! PEzhP P`Pt@PBP8K%j{ ɛH* :PY%@JR*Mַ'ѐs,@iPA.l@R:(x !)=2 13$xA,2q(}֮C9&!ЛxG!/;`Ҭ $3DI3L 1Ȓ;`8~~ A;Ai :>B;.+=&B8(C4£P;Ϡ1BN4<9퍃躋؍R22ÞRxi3;!AAs* -~/) 6p X 04i@,S{X1 (aAIY ~vpw1xP}(?;K%p ҏ(؈1  f9^*[ӈKy.x T[CD/RRDj"8t(kjz #rqi)`r~u 8rvK\E䶐dp`}oml-8u-b'*$P #u:ĉ*hk X8(ooJA; E *qQXx |& R@ sXp( ˣ*$i"4)⫱v;N68a _ypݪv 0 (h?| :A4jAc՝ N|p `  Y܀>'141[aAP1 Bx|uHv`s8wȤseCFT+:~^CeeH!Y< P$ 2XP{bv)z0HҦ%Bb0 ) D.l)ZҚXǀ&h .԰!=UƇ8rggU;~ @t3,#4z1) @8@y@Q|} ŀxVdAsPF: 3Y"ؐM1k})zȾ5.kSIBA̯HБӽ7"$ pTNU!ӌ=tCD罛$2!IQEIɲ$9Џմh E$=@:˦\tZ^Uwj.~QnK܌!]b ?7A/Rt#m.370 B]K9ml\]$\?WH>7"̣}MV0%(5@Y * [$ya! HlD9ݟo !ۀ$ 9xGu 46d%dr I/r p*٩oˊ5Unв 7{$ %,\q2&䣀 )ǘ?060%6 j~'Š1? >87b0oS^Ӎ`r]b4AEje>/8nt^(Bt 0 vk/ gĊplspv=EǠ ;0㔨)@̆xhhwwne,F:3iss ra)kD:0S q8Wq$MU| B叠 30J`X?'rm펐OKx;7dpinZY &:97:`( !'bb[u K' Ό$od ?.ZpSQ0'x5uYxxj3N ,hsv"I-+!x&uQ1 >0WYFppC#ϡ3+J2*z%`h $( ~¡qp# D?Rw?8ce 7k4 7k~ApV,/'j. >/w|h0z>N| _8R2 χ̊Dc`O8 ,H7X(fE%f@ SE%X6c9BSk<60[lFg8M*UxYL0~Y9/z# *xl,?]NxI2$blmӦ iϰLX3'攞iN-s$@ n$iSAr`<SpM5I#h8HGHR`@ `( }atuV!R^irgT~ܬD,ojZ"@0 "A8:0 lʽTr!g:6퀮3)!(4FLSN$8~4*VU4H83M92c(DHϰ \T3-0~PZJáȤ*i%;`p$ '*70RsZT,+*U)J9>=PBC=PU]KdM` yw'x$ N?E`m!-=5P(=mT@? +_tbZ%` 9L6KmiZF@2ƂKI4bld3 oosrpY* pooj}[M8>{S-Gq9[(-m՟։}:7]۶x*> /9@k wd8~"g @L+z`7* :X{9Il(CC+ 0r$Z -a:G8tYS+J T QXfw9PH(|A4Fp@8\ &%:{`(1LT3@8` 6X@lt7=~ZE*{P Ph@Eߓ$.vщ.[u>$a*i `xy5"LLETjhF4"SP|CE԰j˹5mA%5C`gcK,8&?,`Lۜ$g ks 8Mܓ#Nxu(ShHc1=|CwwZJIu0o(Y8椁 ֞"ptNr%{i@,&D|0cȶ0nyr` H8_}Ua5; NûMSbMOj`=@X Ar!B*T @CŸHw5`wQ]@`*`X@xq є3 ~mNFJjKx~ 39@"Y8QS͡ /PdGjW(c7G-Lٸ7ixAL& ޭxI\Vd"8"SxH <!Zj Ir1uf 8ZFs2;iPh C.j!g(@ g7sVgߕ()zh:E yLEd' 4! ʊ7;L#M g&b/vv;Mi-*`z,ki ┒vF?c{Mj[My BQA L LU^)t:@;^p,\h0T^B]Wl'ylH9]KoZ0JG sӀqʃ:rd>cLaBǰeHڟȽS|_7ӲtlAV`fئCE JLR(@6a!(illCB\8v0G "jLZ#:ܑxtqD+ d >rR6Hj*CV@ ΄Cr &ҭ $͔uixˆ~VEzd5J``AHb%cDV `Z&DBgpB#,E1 4$iĦ^G$5rM!>eHY tے64k*fiƹqa7ȢlҬX j8jRkBC7 7,~fm2Ź3c˅pKNKAaءaGE,B^ ڦz<`%2HM%ehӎp7k] -9(YL2 pS&:I)P-:m6&LrBD@@aDzI@Jce=-/,AN>F0>.4AF,_;^TGl 3 /˸!c>K̔v]ĚYCE c (X;0kb94;0S;W4rRظpTZh;`#. )P 8BT`sg@E#N4Z.@41h&\ZK~VwV,0F(C궾vGBIOػ]N`X6e!2N0 <>n *qAtB n!& KA0DF0T ǾA6! +2( 0Bx~,>ByA*R· Cƚ, !hT<L$䈁Z.=G#s$Rd*&D+Raahj E25:'NTe0 T \%RRDO8.8kBN`v.@*cؓ.cvZ!N Y&8H&3;%A`,.bo쟊%g5(R,q0v bN@dL`ѕeVz 7D81fmH(rMeVh2 &1T+IRA"t؁x!s/s=m^U"bD"dSme BO`x` ` `B&j Xz'A'm!^@4EՖaA3 ̵ZE-#^3#$!F0NK%*e`NB3,H*+>leW(UԀb< =LLj-|F*͍F\;KN/4ugMcD.B2?2լ{NfCy +.M6 2ĆWΣpˌdE !d 5m1D@N4:7ЗK >6wGSФZ7$Ne!&@69 =or5G`jӈRvObRd-P%-jwowa 0J 4>8Ș9Fɢ4,.w0$Ϙ9F$a0tGLv>QI-S?t 3I9$kJkOrԮaCLr%LRŲf~lNTB֛CN؊wMx /~MNΤ^ Q $ؠPdcͤҞX4З6xQOSCBeBFX!dh@1P0?U~D*G!PpƸ̠&`,X@Bx!,2c",!:vv .G4aռ|(>V0AahFWcaڋ"B-RsJ.`AU <~AATb=@S6!L.PWW4nv` fQ5v*hP4EB\Aݝ ,w QWo4" $?BbnB93"Rm)@L!5Mvv飬`¿&SQ BT.:$2e06A&ْA n:g&C@O+HH&l}%ꢩg`%Fk$gjrkI;d hRe$$)AFo-ndt68*fW%$>\AC@0οvz㯇D@ n3bj@`H 0ibHW!#O+ǤPC>graKx% bkWw uPŤ َ^=4EmH5=Gz͞6*k>2K{ f%M@4H+D#F + AK h7|{5 IUS0EQ4U D*H:; GtA_2Mުn7-et$Y>k+Y%s/7 Aa!61*yYݜ韉 C#i%c!$ѹ68\݋S<,ݭ#3Z3" 0B($."$8 `!xd&Pa*"PCI2  .B_+U!spUao3K}_#A/cQ `("FPTGh( lt Ɵ'9j@,0Uid M.zCm?Gzk>M<2ٛp$X*G Pw4kHAt6vF@y6/7I.7OA =M8*i.ڼ"},MX J@ SNP: `& x3IsP ~+5 {|0Q`+j7O@/괂3 /Al:h{{& Jr)rB< JkgAux |54( {( x'ylɺk,.Lؐ0R`@2̹)60N`Cz>s5z 3m٬i1g𹦠*ZJ@(vp9b~csh"=,+'@0ZAhT)2">ktK:>+ "Tb-'$ Y*p׺́0q{йlb֩?f[("B`x$!@XhP$SIxz;.ˤniz $̣ ߵ">}VE)v';ISzn2s|ʻ}j6)Y/1OCPԀ0. hrjşG8hsB0_58Cҋ+g<Ȟ)mV58chR(n˜\z,H3u6Ǎ@0cp:z-` j7fl6Pv SR / BP> R34 BD8}GH @!q!,vNVڏ¾M;dd5ers:+rf"?GX<GG܃0FST I\RȢ$%YR?cy'g0ό>@\In-䕒 IAgGbK'9Jqo/Z2FB=ӌb+f`@gvzgHDDsDfepl /͐}AGG[޲,4 gL"1px0p~G.?$`l(q(!Ex1:FM4|X5G@$@:@|/j7Mh1@X"Ŏ㽤vLs)G&Tqpk 4'@|^]cx2@ K50Șo5!Ѩ}ʏFczS,CҿM`_XԸQf0ڴ%d_~~@(x  X@P%Pιr\fB2"IˡDr(y(a gdl?V;p{%sycXq@8 #X٦],OK>FIA΢P6 +M- k o32ZwBy@hpU0Osf[5XG 9G@8wme]dm1Ai0 O # , ⬍h $~|"0 9Ҝ vyd;iʪXh%+PXyk[)(|1?&1ECQ ]њ0rP 94 LY)eLp[*j @8x5"p g (> JtI ,wԴN+'As804̮0 p{z(@{}V 2ƊJ׍kp J׈َ[XʛpP@Vsʢ}ɚ*+! F}UYwQ2@@S{1Tr2ʸwΰ  8ZM.ZO@T-@)\Th@h<ʥj[ Dʰ +BN(:*)i4Bg(D}%3h@&WYȿLS1B : z(x`x "(|B[f5%^ UxzpzЌ&2qE.P@ EKD68@z ^Z9ڿ5S@VX?Y-?UE$BI,C$,F "a20&  L'X8} $uZr=tPx]cCޤ2qC%aα㪪$I0٫Kp5m*ĭaS К <E<ɊVb\IXbpЎK2G(GChw{/9RC P-TTƀ[ PBe18Ӣ$6*s2O%ȘڤvJ*T8·q$ 3 cLxo{\! yXLاpڞИ``z3s7mHwЃO`%%e#ታsNK餤Lڶ|lj`{2c0yghg p 0)6`OH8r`_xQÐ>*x 5 H ~`xeT"9GQ@sR 6`ۭق+йbS0I Du 1YčPZpX άI8 QQYAO9렀2~gzz=H{8uzS9+4l? l U@Kz^2Pd 9!`c Y۝6`PBYnoߠh268 ȑP%hvVt0ŋ6ę̏SY'/ر |t`q@tT`uHwӰh-+Z-"ō mr~p3Z㝧0N]:ʾ뤇@o^5[e 2=g $b: n# yAD y;ْBiډBITZb,# :\#|O")<`"%K1~h#b $;I+ |ty SUJȆ %Q%@5rHaAXS$^sp]_BیNINY=2^ m@K.9mDv[O0 lh794 P@A;jH_8ۈ@+Ur#P\,ֹ+bɺ*ֶ~6:]A‹J~t(anZ(Ժ+y4g"v'wQV%8UDL-{6' 6ݸ6"=g S^[pH& ?b{,]QCa%U@-#"0BsX`Ň@%.w+N@a<`Cd!;lF#ZI$/ދUɁݖXEj+rI~f>eN{P M&dhdLu77lr*c ( 82`>R K>d>I XAS`t 8pc_ TQ4{EdNPykE%]ۉ,k[#s ǘu,1[y"f=  XHLٓ"|7Gr xFtRF4ǨYa>A($"v[<_  ^d7~X?,!q9I& 2 X*#[0gX (K;fA:ՒA8ԴT8_:IP3NzC0./L"0`:7f<}whY &#"~xs51@z`ό~IyE# L2$RO":hDeV?PX 0J̽>:<Ǩ>a>\P d /@I&ȏ`##`2 #`m0虊0M< ] @!`ǛmP@p*@I@ťiI`C4[ +K|٠ r9CITOH *hμ/0Y@?@T,ZMwqRe{^U~a<Pwq^&X)#3@%oD*Ϡ51=Lu<5R&I"$UeU{Ȥ6tv~C8j /214~ |΋Ϗq4z bI k0Hh(k!D6@"_&ѡ!x`@,4 L1F"*OH"5ƾ_BL* +ldjz䎋VdcRGd"C+@bj@nD8FgDI̢$R!Ib5Īt㞦*`:NV"2!!ClKKr(rB"8 "d %@MKuAHkBPT\B&I`? J6$A#VxJcZ(d)#"3(|6"ZTф"Fd"l5T0tK| ="nKKd=`0Xa#н ,"J~pFpG>Kb`5g)J4" G,IAy&j0$R$fIu&g:3-&6.HIȇT ^ rt%vbdlLlf=Qa8a4cZb2"`~fHMbeOMn-xAϼfjR ΌIl%JoM)kFvUAV/9C9CJbf$`OH/vkoR /$8Ķx`08e1ԢTA/RlɋF1DN*T5DӦU$>+p̒'N5IDDe@:(69P,PK+"dXe>3zU4S{4:JlNrN$kŪ}&":V/8KI ,KHpx笌UB.-&@G̯P@\,# ~UxUb>\5+H2O/#^IF2n',khr`"Fs!@42@`"W!! چa,0N@c߆6o0*/&u@֌؁oMKcQEP52ѐaȨPDLU7!S#8K8A,\$dlN-r(hAA!Db&`P>:T`FAtAj֒6T)oD,(̢>.8Yhd V |a+uFd;4FCJǠ:&wd\:Lpi"nm=3ޏCHxÑe`bF5z4'v\DTl@E% m>`Yd"@@FC|*~+ QPAWN;9.?% ga%@H&a,  NUcoh1 eHU9b,cHˮ/qcRd,!G qdҠ#PBz6Wsh|Z.k6FBڟh n~q:n 2ro&& oJf+H)20xt1kf{ YTKU#"IOIOpxċ.T/ŐkkgzǤeމ:UŴf:(-ZEb]l(O)cV8z^pbj&ONΐ v(hY<"ӎWaT'Ba!*/$M˽W )8%?b7?Iv57H^*{dc Co%AkPOCO2nꛤ^a{g~* @lv5MF뢜 |o<\ Z tPLd:7XLCQ @&81, "F$O؆ Bptx^(}n{nphh )${9!tRh%#AAv<`@Y vfO)DzmOӺᆰJXJlّ@h7X"w` "@X+KA{Fz~;#>P)k( rn皈kQJXsL7m aC+*P7P솶+$G.t.BvAGHpk]0#/LW#4<*6Þ` q>PJV2+ ,KD֔g8r fH& f,*Z8!$;%4>Cy}6^na @lz G!+?8( Q`%$@ vw[x?o8^tg `H >@H~!,~?1O ~=aT&| "! I_*%{Gܮ!~2cCߙ(Ro km 0& `ccIoWܠ?qq D ;m.Eķ]- #@0qҏ`G -|q,ԀjɭpC24~mR:@ᡈ!0L/,+"*(r<شk@ºP6@ȂU pĞʖ}È22J~gvGu|# Ƌ7m C"@;5({$#~$bN6kj6Bѓ G)[|tLGoJr2H~L‰3a8HT Lе4˥-RHԔ8Κ7eF'0}|%@PT~ J0EMru0${6- /Bş S8HcY0kYU ;Fu!WZNQ, CX H$h.2?"(C祘=ntP .G y!TS1V[\}`";U:%kX2 ( Ckk`$8R"H}$;_Qэe}lh0SX %ZzhAx`9LM~FѲ]ezaXd!g s'd#lK^;&ƷUٴl3X;]X0F]À5r5D` X p>-Ifhdo JIum@>7@F "AZh!xAG%j^ kp@@1 p B*QĕX 5> rlTVHDX|@m8 }:L;V>"84eBYKC όK[qdl}4Ŝ|p "c{0rh, !,@4sÖjiKf"{Zi(C?I>,xY@#xs^ `I20{ h _$ĝX8mX`ZYCx}G)1p%Xz@`D :GHuo;srd:Pm+`ip8|FT ! (R iX$*`(jdY5̈j=I$U?ψ$s8(`وx{@`4 Y-E2\iWߙh+R(h)! B1 Ei#1i'ڰ:sV,ݑ!5:JczNgU3_Zg<bܷc94;34Z ,3St Qr\-2AA Z8Sy) ]&Li 9ݎI !SC7x,l.$. 6qE8!4b ;QCN\H4NG,pH *:%UX&C0䟀6 s7\=͠Ȏhɨ՞9Lq`!5LX,wpIBYmLZQ:G(TlvFbFM$H*YȝRǕÅ}t5EvodO,3hc 19& B}'NldѰ5 /u[L Brv0Dg H@gDz@P這^w-N S8! F`j| 20ɘ}LR l~Z;IKJ?#!jS#)>A//'%zhfQh̒8`|>3y isM 8r9mѕ&zPxPP|z4ȅ )|((82|٢ң[i ȃ +(p̏n(PBx9|9n~yyH+H9!7%ڛqZ.Yx)- k2(%s 421:20!0y q0u̙yhy0uR60 h~`}w <j X12 GT i\7Y 2/ѣX͈/[8 cQe. A o,/Ӹa-S!1#_<b`iX1d4I1 1)[-[5A:]ݟˏt +:9giQ84˃~(8hzLmlOI'8TT9A98z(?w(yؐS 2_7мB\T2-d|M#`4p:6lҕIJ 1 S HL 88aʤ9F,9a=3R/Z4BL% )!iʉ`8[RQp󈸜}R}c]w*$H9^ G|ͣ: ùԍb‡p  pk\h&*(yXuhwSҀR^n-܆v7 <7#/a9K۾ANjjpiVHixt9lnnrcQ͉b!``9 ΉB(g{Xu@PtB€Y#q+!n(,/K*ʇ'0uG娻@k3xؤb/[zrx)P|) j EDq`p Zpxz|| bbzXƍ1 !}ZQx*tW ⫏{8|T8Z4{G r =`X[K%!KpxCbJR2LӉ,0T dUJPKLk!Hny3b Z)A᰾9$hRCxr-19I X 2?N*iw&lX ևXf:,\vji{݂p9@p Rv6 94 l(d4oXzS U!.o$%X|U!l-z ?HphpN 'y)41qщ.=P!#[<#(|0@ @sL٫{`"| `\XŗZ%0qvXy+Jhk=fLhz`r(qy#؈!{t.1(z4i +\Š L50#4sN2h!m@b h8s W o,_‚/( ^.- E`K@ClI4jlthq8v#`CU}G Xhz~&x B#*ǺËx N d:3jgN=~20.XdJI`C<q], 63LG}T͋9wHm KQTꍆˏK&ž* 4ѡ`p°8H,ѓB^O@`4~HN)Bq)9|%D APȄQ+T^Gw/s5%o؅h [bzL2}"oظ\DؠNP@p _a)iRNK1 g:P@xK3O ! ~Y|}.3Wrz7<" `X"K12-$2(13},}{b1 #~;xmj) S+ڻ4O*z' $ ໎ǀxơiZGz<i[r@ HTO.ōshT"1/+n">*8!{>au <SJ/Dfnɴ@[ɺ~B@Bi }KAg@N 0^0+O(N-M(%UY]+]gŤ('|. xm^oO  }'iV%r T$1{૳̭5`@Bh{$;D6|'^fQ@YSsk3 `'AqD[e; <+N H `Xzgap` lu[qJsI<xC  0jvǁ3ʀG{]^+yp=ը)Ҁ@gf؞>>?@}X `PPb"t?A3AG듃1|O: N')tٱyZJ{c|1㤮iF.~bJǰø~@ #諆84p@l ?sD h 8YB"|gbh^DBhߦUЙLȐץ⒟HZ}O'm~.p J[OEB%Al!٪`3hi^F Z~KV3أ;CFSHR% k]!5ԢD(&`!hd [H ss]9]BEztNC%ֱa=u=%QctPf^A)ԄbT;+F6B&oϏ;!( G"Es M2b4V$7ӥBg$c/>BhZx dxDzM 2O1MOӂqo4Î}91ϒUJxـٔ<Pia x2픯bL&&4؉I yXml1$^E z6"TNZ^ak(.;@|(`8@pRF8+UH2yc"\m9BH  >E>y‰X{0=N]8c蒻-,;j6@ &d`::M7JV J A@D$3$>4#" BS8*5GXҦ-.>s('GVyd#`WL0l6@0n55g؉ YՅ$>8{,ٌ)m<IEx);\IRNN704v ݍ5b%3%O@vtL[;2q5âa8gѢz(z?'JsN?0"!OE,@Ʋ\9& R`8M7}hV9chK'laAa$R-:M`➅; .lL@kd"*$؄obKPHOp&6ee}bbl20УBL"8C,?r4FK0,6ĩIƉ6| a^dD,VNHdF&@#@( .$/еrd %j(")aɨ/C OxjodO4-ց"aaԑȷD%k5qV(r.kIhb뢟0dK!^)ү,7!dcL5TcDNo`Kn%zbF _0@8( lKn&%Brf:cA6$̊:bPcXjj &v&D, z!TfDRf2IoV(f9\Ҁ*MBTPp)0tQVOQa&J Nz U`Di#) fRp7!+\8 FHNW1J>!.X%xWLWK%Ie A'"xU$`"H%a"& "AAX Ȣ(0s-bT|bxj.q\6"v6A-8ꉐ8 &^`4$Mx|V0R>!0~<P^#amf `4h&$&!AB3 i 4Q ,xnaN!@ViBI8;/ $d|Qƒq)"@.@:RdL1g g\#`"'Ь-p3$*`B$C5lFT"ft<J BZ1 )R0 b B) i|n| -#U'KBtnWr<( j@.@C @ƃ8B@ѶY0PD6FK ܇,UI+2c"p:EO|CID&'0?$@۠Gi4&6AmAz@kR*5Nf +6OlOIhQJ- 6 8!`xBd4gG,QBv́Jr AL9-fl&UA +Oβz`tB!zoE%+`#` @aL3`‰8OdB& |Tz3HI2ĿP,LOWf:tyJ9ub`'btD ~?o  @x9{>ϰ@,g`(M` ~Φq}A@g)&` Oi 8K;P?@ X8)GKX? @xER~>[!Y+ AlsAzP;]WPphho0H~8 "KG֬AygTs=c_E  hz8N" 6٫*z=hR?f2OB7LJ wIt*|< rJ}R,|>@, `x G rt\ڟ @&{\A(KքzL_0N0e11 fLsk5+TނTB)͔"S(,5B  HkJ1i=,P0TОrn-~MIs>ywoI%76 YWڲ3fUj[dk0 A   6Oy(୔2;mYS(K{Z c<!.z๜)0@'pu`hhhp}c9)(x  .h 0! 9C 钐~ #?-8ʀ1 Yq =;|rzv8a 2##`l C04\Rݒ`` (@"2b4`P0;2kBp X @p@uiȀ} /62)5-10hq i)`u*рgf RXupprhzрJxXQ,:9Rz΍op{|@uP C W 8pw` IP B`y(0୏wp'HX ),ˊx|!p&z9ۑsŐv*?>z h뇐Hp@mxD=9`BSਖ $ oECHڱc ))A@>hLس\L!r4Lks7: i(Lq;k[@kX8 Aȃ H8 Ͻ y@Hz@Z:t0$iAt2OQߺk}a( ( c1Ȩyx"{ T-$K9 qHf( 2i @;0Cy/9dAV:첉kUU9t) k0@t8r t+=y{BE\I36Z8{WLH3Q<49 SyVhڢSqZe?9Q"hml2 BP"p $=8p?!'s% K !t[ H' TtLRhvHez@ )e-9 %ŸCajˌJ$9̀*. Ix8A* h{zs }Bt:=-:!XːW+bXWIԌ:aXpgdQ2 wJa J#b{&y a)ſ{,Qp4Ysg Q yŬ̧}@DSrz9 # )h{ ;LZ%N| w (oPy1= %>2$],LA&}LkJx7p|{,а$εM>V ؑ<63 83a@4F@k'=0 )i[NPԲ yZ3:QZ!^p@63oAQ6wTMĴFk#KȏY؀`ae.X /-(@dAgwFc^Hz3HOɲ$S) ܍WX}۰ ),rY ɉ*,Oʬ :~#GEŗt{?({{ r) Wn#aXhejQ@}p\r(7J5P H,h P yow vتԽbJ$ $2@^b3hXI#H) aܣ(K =jBO?e cssiA/ ,d FVG) =!Ein'g gN) qG3<4R٤-An<䳚}y[ @Ntey d2N7+P)i1ſ.J/Si䲜;L6u@l mY;oO\{jFQ#&K WkY:j:+{Gvzr*'[gzҁ ԲB9ˆx?`@# !@``-#Ol: ɀ0 #Ad4I X?B`٬O(p -@APP|Oesi4'c?q--ԥ (Y+ Y1Sخ)~$}>`p@C 9q%1k? D0=~k(6(@ pád=皀$'XT@ ehi0Gٲ`r ~V$9GfՌR=< >joԶ$10s\i>vvJR&>a釆eX%d2~L?B(@MmmVO Jy56&!i~#2X0]4rci'x&7 1RlΦNh[M ͬ1nT4bRFZK1l)ŗ&"P0󗃖& q:Ǡ1? bN_ *91~H ?Ls#&@P`6<ʮ52QojLp [nx#Q$q< @ > 80<~aq&mDcG7x0疙dp@x<%I" ZN8PrP>G݄O2Fe#u8班Oɮ)2<@_v_* ( u,Ӣ1xq:,AJ-t=4v" Lo}S:wU¯'qѲPԨ*4BCp("k>ªP;e M 4h hl6\ʍC('`/$Ei44BB?`ži<0B-/?P",+!b{+[P/Zjd`apGA E*c+JDB)Lc壮?"àK`I<{0xbHȃ(n )‰lJ`hdj Cd̰n5F '/P:,tc֚ƔȤ?dm%V)dƜɀBҩ&ҁl$B2MC@PEtd, D@d k-p*"ُLtILXp[PFHL#~d&'bTIIJ(<>1F&20 8*JUˆɐ'$,L0)HE&My-$($kލ1ࠉ? `*`@ ,H`#1\̧D0MƇȚ <#8"1ڰ͜PSP@2`!M~I@LF86'br)c :tJ$.{*捬]xp޷f!!! (`,.Q.h`U)`; ]H A%&,"kV VS$j=%RH9>QlnE%J:h`n`hN$@h2@P`Z&)K1Gl&È. b)!8Ȇp Vb!E`&: FKeD;!>ρV$f83ANVLE!h@O%(l\aŒoM<hp-@6G@.2@:A:aIj7|PR<4!.As-"4!4bGr^.f&>L!| c2LV'*7Bt6C@7ġOH ¥IӤϢZ 6go,"$B%$1DUYb9$p;ji+J.BN@pf2$؄,?P-?bH))` 88 ,8dv"'9@IAk29h",,~ZTJP$BlI)X3PJMAP:C$(i醘b.8$m>J CfMn7V>#mFb'3XDL^9C Mb L \Uʼ/p6sv1e62 y4CrClDt1jJ'~Sd*^wpq$V-FkJBZ#P*ڂon,M3`jZb&?XƶcN(bң,%9PjR67>D1 5o?<=OrJ```/JDzvSB 간DIj92q =l,AH-XGrV>(~Vs0` .:]6C,'-. nej^cTHVLW ‡2ww:5і. #dC.`2`<FMXY]m^dI c#Vb9Ț-,6T_Ge`(aOpy@B(@+C&3$A!4 2\gprg>Xm-gt- .[At"s:tE֌BU2^8zecR!Fǹ&5TaČQ!IMSf `,d `!mWg|2#,+'Lfxt!wp"r\äh4_#dHsk -( d%b+ƐI+cQG7±F#\Ƽl&"W**JXsq_1T|0/%yI86,|#t-""Iz$KJέ2嵤q|/F"ܥF\̪~!Bٜ1*)ʂy!}y41"03"PEC*DH?[1GK@7;vAq0QȘ<Ԣ$ yH%g/PtQflƞy$E䤅㯿 X:PL0@rSdV .8P;C>L+!ˢ5w8&18XCjݹ/ʚBG,I+9D)_-L rR#j3%+ݓA/xz!vrIeHy΂JJĻӆ~㑁jUB%F*~)z+519qd&vұ}Abk̝" mb!pSMRpf%\4 E GelF=b[1JT, o(WB#g.~mJ)d#BPuoƉ)4©,v#X>/h#06FkKT§2I}ZА*kgL*B#! ,T3i|r`%m,!A$$6'aa"X3 3Þ3.wD'RD 7/Glx!Âץ'b@4߈N%@GA%@ڒ:hԔ68>b^9t @~z6 ' (LF?`(0@ B> WX@xO NT"o|d a2\.@OCRyEBQ R&p9ws[R2s{^o |_Q(#HBA`cAo<^ւǁx[G0>yߕ%hLP y_`apj3_*Ȓ&x"B# : Z}}3zBwGywgb26рg  rbv'6 $5ghq- 'w ˲"t.Ó2 +g& \숦iIĜ~͓U.&r%1G5tQUR)y0Ary? $O3H``( Ӈ%'8O|848#@ԄZm.[>RnUD5<=\IDOAlȃUtt"v E9NA<'g|Ǒuޘˊ2?߶mK 3T ₠M@SZOIR2ĈB)Zt}YBEbnbl8x UV06*\ /qP<2\i'A Unҋ!t8 n>}S5BC%'˷-8]"g}P|RTO<KnO&p_z$D%1  {źKG4\(i1;%q1É"8I @-H') @Yl ʠSDd&}1Aʨ ø3Z A>G&L0v%l])D H2{0H]$-LV^> $|xj`,4PdT@&X~Rtx1RG0 @X?H 4F2yHa= ЀF:hJ%X ڪdWNe[f@Ô+ bMXQT/8D,0q5.2UlcĜWH["& 3b;|=t&hG`.'0y5@UNy.GrW2ax]O:rI}E;Il؋9l]tLՓ c=aNDK H"Ӏ>+#4dX[zu!Dꅋ:s>II53DyLNl4W*=7n{)4n\нss&|*j!3gIr5&X0j e5>p ` ,@핬4G_[@gUvH*ԔI[g[='H/z&enKeu* rp A"4jC0?+ϩUpR &|Ohpaq$%JJ)3or@ x1)PXՕ8Ֆhf` b7:t1Өs bSևz(|ډPyXh,uX) IK$Ol`#x8@8"mR13H)tAKY3p| yhx(x 1!o3qT͇zP{8qY&l3cxb۠ - ~K K{ⓒh ` ) 01QE!! }ీXy*qwqp^m P~zD7ls8{8HeQ1`2?<~)#v8L;U]`r@q8u0xxYT:>$Yr}H  B0+{m!H0{;i1y132[@:8q.AaS"9A\7O7r>M3iy;+ 8aDA2 1CBy3PHqOhN,9~#{rjCQǺ31j:dL0{:[j.'!3yCq#q830 =RtPw{JB2#)?AwQhՈayB4K,1#p:134>u9 D1J=zѦ -3s;:rQ1sv9#aZ@kq  X y8d7#kA]!Oت1: \%(1̺A1Bω7#:.P)#9 !Q !)3#m;p h E wIw҈Ȟ4!Kiq$6SУh^2黽j Z`M 7㯓NlPBiTAb닙HR$YQ5:3{Z);R -HއsixQlJ%2khh~<8wwC(HXwb12 LIxx 9? \>ʏA#Ea:C"r){J`i@'Д埮𭁈Xx ފ4#,z_r1UT)=)y&ڨtp~ q ~R fΚՌz*i!ƈpX1ҁ}P@(z+`s:23YI䩀Ǩ_ xhjkdPl  wTX9[?P/J* 8X 8{EL'Xɥ1Z(k= ;yu@tr슇0/ZIK]h͓$ Ӡ! ( II X-QE?!4cˍ7 $!AT&$-& Ԕ5 '9ⰈP "$N-qQ˰0 s!SO@Dq!8z)3ڵ&PՈS3u C?J54"=QqwMU SJ+g#0Up}?(N8{dHuXNSbb ة1U陂o=E#h ӳMB=$ASQj% IK=T@:u)}#e2 5Fa櫿|~x!:3S q.`6 jT Sа.U͉aaE[Ћdբ3{8MkLOyƻt̰B am*:Ζ@(K!7go fakwon]*:mdrU$@^&"iImA$ć @3Ei~t8i]6V ;%3ƞg;X' YӚ!l5wmdI\7y?%y"BG% HDi$}k6B 5R:`܇`vY Cv"OC(otE0* H ip):39d d5 i X afPY2)Ybz |"6,Xh!`yU;T$HL9>~0٨| eNY ;:cx<8+lf9y?9'p؀8yz8z|`V%`ǖDlo v(i8}yX0uN(wRA B@phȦ Պ ՔO Ø1k&)Xssnqh!Hwl^I]%x[WE>p." ^K^bn%/35X<r0qqsHrY&@UklNxNPX$ %n)xas]{7-q1г@Rܵ! 1;qt ZSYėȃ$ЗؕJ/F2J"gQ \ MȑTK 3`d>"rj$ xs9CLog1+5v wueuhyieo\7d:B8;Dv1>+OgUP A gsi퐪c`Iz`I| pj\cpqʞNS 9 ==^})p$>#L*2$艦ޮ{WJM3bHKXT;:U۫ҍ/}y #eUl` _ ~`@ GcQAЀ>8%0I<1 :@s*}>q D@O q}\  X 9OpL~e1yE/ͪ}?^g|>ѬD*# .H\I'18T\bL92x\9@h\ F~do_' PI:HZFf!&+"g'<4'60(K7$;rKT BeBK1`[?kjjiy o(39 ' J 6#jd$"rvg|J5@@#N9 5țJX ||i 1i!)""1*D˜hL}d."L ~ǀ"湴D2M!}̒{(6|2h Э '` Rs}g@]R!z @=h'qu)xQL 9Pʵv)gD}0 0 $f{I~0UHQ޿ +%!dH@>gQ%#G )y@ph "u  CM#7G"bGtt)oya҄eJ*j ځ"ӨEB@KrH̪g2 NgFLL!<"b(0}@:ʢ#d:Yڌ%G $Nls4۝~oKɂY6S?է-S2!, %*"ġn*` 2{P9.d$c\4 vrP!9CH3 6GJyQ$܄'s%h*%>byrc8%Ő$j3  sYnsX6OQt8g$DxP/Sdd=HP)Enq=:BG͹7jd3LK?:B?!q#ޑqj8$1)*'eXD-E4'FPK3k"ڹ,ѹL ;%\Z# Kq#*dA:ƜͿ'L%޺ Z21fHvڤlRLM\O46I%9 _ȥtQ|RM{5!"=`dQ>gʩK!lx"Q8` -5r0Cp ] 06ru*GɂzjN8]rF&|!=Vd\=< Oaʟ gsFPFe2D AP{`_B:ά$:0ؼ|^d"$-rśӏmPXEG:4] lP(T5(F$9p8Ɂ<0/WPF82t#t=ި l,|YPEcj?n9@ZTL/$@:Dh(e|1@0##AY&CdSm.0O>EK%}h@[ K ˑ'T|L77I< )MV.T ARGHx Q΍Қ/AS'^fD̴:8zA_ uD REp,c~3.ހ>{+6*kb<s2TCo`$t9X(p4Pe +P|E  x;; ?G:(#p"@ &r2Ԩ='ڈe3>/tA=Gecn9@`'f,`)`CAb7ќp@h( Iq`l G§Lƈú4覱1Y1 ;[\o$Pˌk"ZT=yR8l&tN1ed6j]#ۦ SUOcZ2>r,L$hg&Q[^gm3؜G:"u@y2șikp~1lx_741lvxEJi& -&Aό@;LjCzpRNQoFݒj]2HeLusN8:V(@R&S:)-=eT$}_>=N{)Mer"Cҝ+-r}+_=a$nd&w%h!02?c蜓JK#R Rm;$2Yim"Ԍ'!jk Qo`G6ENK"Qv(i~@3iN!;v̺$'vM)@%ꪋ#܄%w)@CԻüD`Y0D>8zsb6Mj\/Q%C;cT!Tcj0JpxC8c%+>+b^a0$\$a2* _N+o..7/KF*j! Krx!0/#j\S~@D|5D ':D ak*8%AakaDсarpF|N# f\U X,fR(  \^nAKDGt Z{(D,!!aA/d$$N\vqB*`-؀" BsM gŒs̡ê$bN3Z!9PxOz 1^'*|vjjNIL>PV'Q8Jh K1z#ؠ8fAf@>FփhF"[6"#r2+#H:"j1 ⫣Ph" !dh.wMP RLc4Ťb6朳="a!S5<)* ΂8r& z9J{qMT X#n}U'cX+I%I ǰ gjNvh#p62/cZ 7H9,@.S\TXz2ZBvNi;LFb*F21ξBo+dބ"U9X s M<0N&괋Ib<$LXn.$[0v 31&-IiPzuU z5#^i+p#'h#CNUhȒ'9c ,@6+B#,𚵰%Nb/&`RG BN`㶱Chv(TQ4&,(Đzr{T薜'ifuZR>5X\ЖFj%v&7ˁ$1`,4j!LIɽRe>8aAA`A@**&^ +0>BE)B'$CXc ,!BR#HTUp'_Qa``*[evV&?g)DB1BR/c &@:n23Aei'%f"jed.֧X]̒tS@!6jv~Mk*!h`AxSinT6c`%aII^!axЗE&HVak1r3C0b Te:Fj:I!`($>v?@-k`d@x5*(.Pӵ(<\X(A7LTғ t7D%2q%O!0Ng4pB$ lcȝY3f*jgtg4{8wʽ(jfg?k 0,&N$L@OHJ"F7_u!z'r`Ɏ]`C""#Xi't%$0pFH"cPQtPLgeFtr[2.Z&L$#'wQD(Jx$h*f _!R Ŭػ9N"2fI7HP4jEVkn37lGuN\ibV;A G1@wv.#QDАwrnD\n爹fcL&3SDbN@$vI"w,- 3"`L-jCFGb&t1CnǼJVE0$<=<Z*m[v.ah;tYZ|u *9ODj] @TL!P̒EAPnd{!jj/B,`\@,u2R"aEDzA1m (^6c'(L/6-!X ;o`',)`d@v oX2aR7AK KKR`B e46Nøn(S Ĩ4ڡ=a3LB&َD$ÏQFC;P]F=H K@p1 B#` *j~DñXcW|r;` Jz:ҫjUBR 9X6uC/G~ 4da  ` ?@/~g̙~sw" O 0@SpE@0 m9Dpg"Q5f`!+m2@' gP:LʅY(a0}cfO'z9ݎ׃ {.6aW ehؕ0Q){H5v]w-Rz 2@,p]K'9Vl6o/;6,ڈ@b'b*AB־*@ Λ/(sư'̲'B~명NZ7Ȳyi1| }n'K2QzCx `6Jr;, T! $JL!~o i#8?l"ȩs'H 69Rl‹ A:DN JNiQǻ'TɟI x!@$} > `*XXsb X.hbWꞧMx~'&j^<(*F("˨S 154+j% $ڳ.c,{I=Ts9TGO O:q>;(O} ʴmYS6k1ȿ@4 VePb{gik s>@vɥjatCg.~ c95QD&}){2S׀!&x ܯ&6.IGl&8m h8J)x &տ-OӴ߽ilٟǑ|hS:ͭtHy!u4m P= 8(@ր`W|q3%%8~; L "j-<VOcE|4 $"GÔu"xǐL~X `"0&=a5l,:< ) !@H~< )A$zv=BVYyq, @:XCoD!¢)GR͛" $ÖKB)e?T)a X >c~p0x`6H!9 ٤LRw;l#fCS&&  98hWL 1(Ly)ɤpa!GJ2yBiA9n$`A !\CL&-Ģ&=ҚOd䔓OŴM !'藳jO$0 8͢^IayIFLx^X<ǸcuXGPMDls)*V8Š]](#tMˢ_Y3D2) UR By8.4KT<9+AB5DC+U`RM@)I|{)GDn1KN G~/nBmH46ꌘcбGSI\RrFv)V7Dx/2ܦ9hJduMnYPxN&|{DB F ʞMˆAГ-6mrLR~Hyvgb `d(f_R-QY L,` GRե 8ƥy.ށ<Ǭ%8}UoX*\OS =/B`y*v|Tsj.bQl];ILB&#A_ЛenM0RuIl;9-3AK :d 0 s.,0Bk'@;FCxn(~np#oBXe9Y*AhRmR`z@ruLf{Ŕw)>G!c 1Oȸ(.\{K$=1`XEɤU2P?ItViц͸bM蜘—EҊeh~2))o>$~nև;K |@F]yA;8æ f!-/F,q_(͞\ %4E iMPi `<L/L ;?< 2$c IA[B0i$ΐ۴=3uJM~02w)Qhi̡/őaI;FۧI(䣒Dr6[䇠t l BT ؕ|3p|;Z c]0:0vK_Xt fóùyڸ@ޯ}H} { U@ȷP j_+ P:g%]Pz`w0uMPۼQ"~G-ũډDƒ *'r 9YHp=Ǝsi@ڸ؃¹[Ԉ~/P} @{b~yɉ Uu!_xvswd-zIyڋSi #xQ0%*zcPߍdI zӰh}hw/R8ޑ #ba7h qhs*z0hypyI|ʇywjozA(9gDT AL~ FS) Hh``! @$&({ڶ.Tk"BP푹L)4 B |ec~b8=i6V!4AȰ@{Qm Ɛ4sEZ xM:f8؜_eOxʿ.<L~͂.qE/!ɽz䨔gȪ<G-> [iHaOʨ΋/ŝ_ a#2MyZǧY<᠔SAJtuva/R!:rTYv| ff2m/TUf c;h %$ap_Qy+׮ꐳ]}C| `@ 0;ogx`$y` (}`H?}O\=ω['AX @G?*Qȫ8` :?mUi@`I !o"6=GB_`- ` ^w05w l *wӵ?(U,_"wn nS Nd[.À\"pb@X0 A`M:*Zٟ  sx xhuǹy)DZ$ bHgyM⾛Z'Ѽi$Z,* 8ƌ9IY|IZK[<|0|-k~H}@. @*1X{`('z$ʲD-2)E (]"- nQrs.Tܡ#n>#Qj~sޝ*)\=p,_FkuXFb޳Y鄢(2zCf[@HHZ%r2>Ÿ̨-RB9ub=TjV hۑjMdX'f]7JА)u|M~- |6qsgauL& 'TFS`9sƍOX8_LKo]GKB ݪ*Cb؆R36WW+m_, VZ-qVa)٪F'H⼣~Mەn +'$;C yuy t#L=O c̵4-]B$,zMX'>3T7{WR)xHP*]xsx?m "L#G,VleK&:Wz;.T |e0B0d~e"VjQ4jC[ L%\drV`+U.v A)| "@p >*h"!s h ?`$̲\c͙fQ:yXX)XpXc,هH2YޢZ5g0[`{_RRg )S/^񖩒%vEb{3%fC Ѻ+&c;eP51$cLS끦YT9Ct&@w:X$c$?Q: ;[ɬJ/v 2F(RRKxL9,鷷Y2)^Ti=I ΅[t1\y!cvP7כDo,zI@, H~g(i;A!3@>TVαB? $e~JZ9oGyPG ē 1-<X H=bh^W+XY |,g4ѥPJ v| 4"@8@[ tN&1% +DV]+۬H &p9B"k"a" l/=k^#B#xj6|c5 aiyg(߰JQ'f ҜHLNȜz*Ke+!U/2]@)ve߉de|E@LS// H(i >$ Xx,"չhxZ͓1;Ýf|zL9fU/!@s/d0)[^RDZ]?`&8pWc-?~$ ~ajmu$q1+9)ɉfJVUuĨfZ4QRv5b.S Κ+)D;uU5HYŃD\m/p 9#YL\ Up7&E),_.(z)X1i=Op\atQG<R=ޫCm;8<Ș J]\~gval|2ƓE1QVugLݘ l>e!\ڠK$@GB} ] ]kvF\ / _J#j-BU;BD<|I*}1"00&ѺyW^-bׯE[fXJLh֎"[ .Qj͂K.."7a!*#aa=96#܆c,B`DfJzm.$:GC !Hj̦(&įa! !̓A -c`-4T`)`X(~B4F4`*K :QX#~r+FxcN#:% Z"(%)ML,>K*EF7.'*,elt^*7@4 !fhpj6%aAR+; >| HD+! cBumN@ ,?/,$@A, @(j `2a4)h@J')8Ӎ)Ě\h'K;3a?` !E+-txFN.NAA!A%?v`т4#R$#Mi#Ea"kFa N(е d,0c(׌:V^HT: @:$FgBSƨݍ. hDB W\GchV}ҀL`BnG0imʗW&^ϭ|QD&@|"B}obe劘|3h(p%ҏ,ZQX, STdz^inPt&X*(겫|%rDqa!I153\{VdA|%Hhe$dpd ݍzUDv2Fl:ev[(FUETe$Tn,xt\p#-6DVzHX!I8n\3nep.>c*ӆE1(,c~qòAhÞQCfbT0:R@cm.g p2KM^|0ύ*P) hH%|Ƣ!E;7S%G3h̠)!K\ GU'/CE,,G$fl4z&(]eH7Ђ?@~R#r*O&JHAAt=o%IצVoD^}SZttDV pr8,c@+$bV<p*X/o%3x;phB vZ̜a"/CJEVzu!JDبV+b]*?F|U\Mi%GN+SFҀ w]F0`v|lF&"t]Hv%)"+8A@5$xt2HB3S#JVt`2a7B쌃b4bNz."*BAb/"@hc0qɺ.q%h8&|@4E`6es#"@9#^0bhӅ**Lh8&H&l,FF ? +%h^w.?c)g`C8+Adpb"kj+V& ` u4uFb4aah7M$Lݭ% ĬEmMRI`<`V*Œ#N@$$CTLebn eZܨF^:WRX 9HuH4d8Rn֍&/3bvA4vdGBi~*f?KqgQ-Q(L! ]FoyCe/13/nse՚l>NJ7Le*^T^PebY(L0;}b)rtC$xg@&AI8G}dP„UyE M,s3PhSݐHZkH<%ꑯZ~3AgR}Z_ZbY-Xn~/gSDEnRz+-N|iY"Pb/Ts:Ody~ $%gXE1h;5d9X\PjSIR?nKjR4Ed !J7/97 :%Eh8^K3"B4F4LMᦦ-RTX|/Jęe`.u:ը #95t?ӊ(m=䮡JtdI9GY{̯8('GBvoN7Q{[$oq"tM3Gqm)~%p(zYa: aܥ"4/- PE4 ["Tvi #B *b'/Cmn"a, 锢jv~2C5$2x!"\ Ű/`j$D*bԜAhl`Ew\b,7.)ܞM֓dpmİQG>lRA<`ΘaAj!A?03"AAzƺ'4D?$O-؆(G\H `(8   H /j~DZyG{O@i)62/R*Š,S r~-|)T=)9|K}gܴ *c*Hݭ@& FO<1۔K Zv2p)uY&Ày}7.' K~2G6+zgz{*ADGͺpgB`aypZH,h(g~C03"o Hd9ʞ%M[Idh}',űR@X H}z}4KȻ~X . Gt0b1mKM&kAG~n@yGD$cBǙ|fyc7@:#/#%F!iP@81H Ky'yB(u{"zgd8L jFTVI֌h G8 2`Hg`@ zy/.ʳ󾆁@P/Byx!b<}=Ǩo 3GX VNA!70&ya<<~ UN0 ) JÌu,R%U1+ZM"0`؋juӲ4GإiWbTQne@*]*i+q)Q 5)jL$%rEҚm ZGZ^䶤erxfSSr S [lu!yQJIě$k8 huiB8TE^7ߡD ˆ.@]ϲzM UI1~ @A`A3 +\%Ļ)6H -|hH= ~;3{+GFºBN9$'J@{#ly-1|>k*A؁W$=NK@IMI?OK(Bjn>M5_q"u#AGZGqB`:Gx{h  `%#Q F0-哳 U>91e Bǚc#6FH]j|sm)A }Ò#/yx|[%s. X|=`,f7fb!<ҡ1ý]RB:@Vr*c- e 7(0, |CV.^W MPaH8Ͷz>?AX L :Hr^="7 ݴ|dLc (tq6CnKIP$:H]h'ૡ9Fӷɐ&@1jsr=((` QcQ /0"\bHgIy,U}#hg C*U |h$YR>u<UYFR>,(d@AkR&&N4xr6cJL~d@¶R ni:"L#7 &*꺑* )j JA%}(:+ X 2Zh@聓} zrwz0v`tHw B$ ؒ>Q<2&ʙқ,%Y:,/e/ҋ/jq*`ɬHr,4 *خ ?&+l.}bcI$B= Z?Z:@]:U ɭkl> Ћ`̀2ӱ - &Bo R ?p +,_C+,E l#& iŨ ;`ɦ@H+FK7bʋ0z $D 8q$ H"0 HQɥ; H %y9q҇G@`@蓯8C/؛8/+D@?:*|9n^ 93qHGɭ+h) +GқD: ͞X}韀asXm  ~LSb ƶjCL=Iq\k̐HxAf yh{񛇨; 6C/+|0!gx(DU x4 н$vxzh pxxkza 2 qy4eϡ͔ k,N%]( ɨ:>0-PÇy9{XH  XHpqHwŴӇ\"Z HCYn¥`"}' yIEŊ鳌m`\[aA˛! M +"*0Yw7<j@ 83Hh0IL7Ѕ#7 ŇzoljhwuYd'܊Q `aCUmT *Q((r=8nppw8 "ٽ xÇ#"ýI88L { &궥N?uw+'$4Ԁ$);(@0r3bl Ó .`@kjR=iCXJxs1} BA/)8< .C~8⚫pG -N%y r@P~ XyHw0u`1 B>Ǣ:;, oORlZ>JYt{H@چt2ϖEMF2w(2Xl+0"<5 ҙ wq@X#չCTx$*D9mBJ.Nwȭ^bjGP)!`yJ1^85[BFI\q) XnƂH%+anjw#bJr+"0ZTPę2g 'D5]‘<p ʬA̡H 0/XzH/ h;`Ês+Rȡ:\qd7Н[ͫ2jz80”I-Ѧ0#d$@M11-yLM吉+xLJ{qHi p2Ǚ҇)ePvXP Nv$29cg86إGP0NvtX @(`P 2X `rvih ̪ IF=J\飈#r\ @8lk(hJțH 룱GiA=@P bP4/\)zgz`t iH6l sh˛ٙ!'6DeY ᒙ,G1bF(!32 Nj_ @90`xfpc0a0ol𖣁 H9I~3{I: _@;(2 Ӆj4c}jmphBY\F" 0H(zktPrT8 `iln"(V 8H Eg Ǭ(*3(>"&j(26ȲfWP2"j+e] K *$5бC-RUVƒȞ_y^ >90ȸQBÉ\ _+^da5A mM?҂nN1 X+ϲ~)a4*gѿ 3ruxy0tBvNTX@mJ9<TDaqMbg\pJq;)\M_eW3^^r(\M[9D5V \8U h\j~?q8 1Zcoq2FB ᮫]D_`֋xHp ZD .|Zt{BO Gݴ[d*/I[E\B ,U)u"\=vD dCՕU>Bg__6w 5D#-hŮX `6Ĺ;t3|s3 0~6 .J([#WwH%ĦƃyCUg14BJMBҞް[2)˜􂹋&U7pukfh쀊FO ԑ':P܇\.>>c%9gg(L4 ]yῴ ͇`|\o317 ɕsxڑh亏K 0{@P)qJT"Uu*h4xL' O4O 0 @, 9deT:9 x0wxrps|y0  /y< GA@0?߯+tda0;w;owC~>_T0@'ESi C'~!(i-\,!E~o{<k> N|ooڎF1UC><]VYOlLCjf[HPF)Omk0# x>$ X=u1,yШ\;FGLo DZ# p pj@* "@+!D@CT(BrCC)dN*3O:6D;~z%\2|y$tO"DgC)\ 12x<@2g6'|D"' FTx 1*1J2gH=!G08d%z64,3$wlŭf.T] QZ*#ĺty/\4OEk 1Һ)RwIx^;INHd(~` & p<\BPV~@k""~ {ٔ0~DA^~eK"ՉL\ ]2 Sp;,9Ĝ:dQ69VI;,rH gG2$RJSS)DfA,R)! )d:lcy( H@9:oZ!t@G:qi35B@Q; .LCDaEzuw@01D {).p FD`à,GHD@0G00*G0#r4ʱj!I#Ej 2wcj!@E䩏R@`!!<AT >@}bx%J}1QM&Q ZcܓqW*2HOY B!!X~"jB|v=ǐ!c҉3Q FdP  71@$O@ 0^(#~a< a@&@ ,Db"vz!*vSh|k4KrV(;Nj =!9$`h!d Hh >)Kl/^ h(tK r16}eNE]aQg|V  <9(6u9@J0> ^A9XTl1? (@` yfr n #vc1pȿɑ9G@BF vJZl#+:Zq$߼R]oOR`FJV\ II:*PԻR:HEr|qTǖM)7TS@>UW0$b2_BdoҢj{Zj)չlho4+Q%O?f$?]J釀!4`sq</VVfZt<`jR&.1 Yx#UGjDK/<\aAd'j9dXA8_2pV<ňןti=0ְFqu7sX1FtKͷ+uĚU㴪3Y3Cb"֯yXmݻr욣_ۻRSRhH,f$">"XPa 3$Zm HN[.+X%b9Hn)C0(mzYfǵSRegK*&]ڒb !|sE&Ҽ*M QW]Q(RZӰ ` f(!v |:gj6i 3A> )8Z:tS>)6c.U-E)A)j PuGy 3HP'Nh)j`Vަ@ MHǞ20@biduLj (R$PaM ="D %"P0M*̞` JpD2Kg $H#4DT0en&F`4$$$d=a!1`?C)BL(N%’CHgGl'mz\*FZ.|lv?HF |Xd0vBDnfsÀOnlݭFH:^W$Hsib%h€a3S4U\g~BtՎ^],vgX_R%s-WF.`jQdLƖGK6HvARX EhBρaa.z3zE-`гxwSFq.n ^/Mo⃍F(\Jqq-%H+/fLr&Gf"}df5D2'e?IAD x-G.&BH*_Bg)*ffh-g;$?TbǍB^; C rͼnHn1>p4mB3=uE2t(ie-*JC@3DC*y 'E E0?$ht*z)t@(7O,p]nDVz$Z#U.@D{þ Xŗ;d23 A$^J4zU"JWn M DRQ$1HRTnkeBXz,Xϼ2/Y,LBtvFS|(pHƥ/n:Ą$LHAA(H; c"P70/qCNJ"2ĤHDyfj`4>*5D! 17jnpE 2`6"A$2`1a@bQ!  Fj!Ȩft+&D`q@J~#1Bc%b( fQ(&D @@1쒾Ba""rdi(ZNU$h-A0p8aBaԩb-0 C|"10܌SV&(xeCKdd6AdPLȢC$$Z Ҁa@r @} cFJE4%.jNEFLo$(I=a| yCr4@Bd!:bNAc:-G2*!g p|b'xl%:ˢDfK1%`@N @ a< 2'l l >C >(+(dLD@'$) ҦthjdbrU HkONhA6$spayD}2Ɂ.dQ NYHdmSS!fBHrTgW/a~ ~a3"CRLf |u,8s>& q,$ ۴`_V)tRx́+f$Gԭ(cM05eйtLMhՂ\A/ʼ-.-EjzGQ6sAnblmOVoHv:խfOPxUǴx9/F$KFOC,4HtqJp"u[DMrGYD2PvذlSRBBNruTx($*VQdמBKRݤBԗN XlJ5ԴF[OyE)z3kDĎfM#$+Un:&*Ӡ V&EzAn3D~kRJHˤŖ^)\RI|%I&(PMAc'‹j\zG3ĒFUPJN},dRN!5sdbd@FS9FCҳgUeyN4DmKc-U 3H)"T$ph#2D&hXjud7.EH!A"L$` 0Cz6o"-G0Eҳ#-$< lh#d/+wFJ1@lL9N4*!Bƹħ"i~;b !: @4'."8 QV'dֹd& vثt.62`h$1ȢF=)]o0G&BwRF*ٗe%&(,A Ы HŒ< 4> πwtEF@)d)0 v{M.a2fn ` ג($nSuzs Ц<`p?N ., 4_* x|2D#@ Mޘ|Da"Mځf"zE2 :`BJ.,V![!9* @} ECa!3  K( xi`0$01UDQVYjCD%g&0*W`;Mg-@5HV7t`muqk+h9Y@pvv&;RᇎGzb>>7]f9Xm*\5hZ^FC,% Clӥe<5/ "sI9a:֔3(%䗂Z0MfiB]xtBX86\+GJKBF<ǢI.^C޳mLE*e@@8? 7?_ H&.e=KrɜvG9!0Nb  @t%,O6+4iUdv4 C}:A cyP=V %Jm/Q3!|/bNQ;䬓O)"ڐ'`X^#M. pHKQ~<v)!?i5xfK8e94c&/t}>fkjzaU;U9jD3ʒFX){Ai#tri\NQ_H,G̚.МTwMz%؍JR1Gc 4#CeNXx$=5S9夗:i4R"` A@:/5AۜYJ08CWbTE`8̔AMg++2:V9*bZGi:/I=a+^"\egL$]{sIqA5v&PB`OIdiKfIVg:e,F49S :(CXXۚF 1TluX?#h(RZ귇)˴z!=Gh7yѻ4SӆQu>ЩTU 6F6 Gwe,ӬJr`(.Uro0 m 4Ƙ c@=# $(i vؖt#Qi:@SӃ]*bj#};1Sm4{aG 8@̀ C>>`u$ P'1 vȰ {7G'dG8U  GcWYJYDbTńFێpmH*ټto@{כuU'P m eDQ}∣Bw?P kDeS!"Ȣ^` LF)`듕R*$/q> 3@/G8 @Pn14P tXhu(:GH: :uц H/r~@3\݂ɥ!;L#$S^$z4c$)OXqV2DF#]䒈dA7ŀ"_yT\tV_lOOC8v%7k)Dٮ'*Gʅ jJ] hÚb?Q ; Mz(R[,bSP"æ= ?y#0cꯪIx"0{6uxwY`z( :ªbi'r-*ޚ @%*bk2ˡj=P& {a+x ꞉--P-Ф:z ɘڕA"Ԩ[9 "jK3:Y 0{ܩ&?+*iLr t ؉c d:i 7(: ),+S݈#mދ3ަ3}'Eq&z $sAb:cC E(01:Y 9ʗd 0ޓ.P?2!47)9 I;'|r,PH @By%r, &PP'"(}o{xwpy48x/-Ei#Hѣ@jH&DBe'c_C&J1k7:1r>`C& YNG3}RA8l|n8H™c 2"1ϢQӲؔ˫1$*iR~+vyz5zK5ǯ2ʳ~ {u w)1X}Sxŀxhu@{!0w( 6?gM`B2@H#2 `pyЏEX?&PXb1ԁ7 i\.X6‘EЄ 7P7 8}I`6~?a9͇s^ A t"@XX$88xʐw[I M{8`ڹCyz3829Dzy܌W#ڨ#GRadV|A%B"[gh`/`hw1>L*M@mgixx hjy CIPÏ@u p ot`vX!1 qS -., #!?aÑ4PH (,e ؈}G|NAuMōJ SrY[ :/r1CĊ ԇ%6q?E.K# b/:! :Y ۓE(E3#@'I[H7(@Ѓ}Sۇ{/յ0ʽqS-ǎP F] .Bh@ rqY)2ө:Ȥy G-ʱ9!($h$DEf65SCЕC4>!# bHTEH E$Fñt)Sl? *Ԍ,뫎hY Վ:謟zѭ3'*0 yw.!))LO, |̫0,du]M {) kإ"C5iI9ᕫ ĩ,ӇL &%呰я.رpŹ8\* h6ᩫ`%/Y|閇vhxBXw{1b&`ňaNՑ剱 $ȍ Hc(\|e*X6Zzh"LB{ZXh*L@Hu J}P7= QQlȶ}HBӥ؏)蕚Ȕ5гV+)?eb 80X@rYQl( (}LLI8<@4qs" ҫPc :7S|ip Jmx@|#::33G8;20|" +b(y`9B4MNLJꯇ@|ty($ ``0#((ު򘈂ebJpxiUަԣ 03ntT ]Ы42eƊ73߈(.7 >%Hp`xpvPpr0uKCtFĆn .߀**E ښ4Nha 8 Xfp v(W k {&J(3.(]LÎ (#BJ։ L*A]*mmQ j5ƶ ?5,O5 ##X ?b0ā|@P@”aq:ՠT;, 82Zءê=>:6-аb%%42E쑺؃(T)W'∝Ȟ q9qŀB>ՉF݉%ŨF]HWK.ɪ%RXn(c+_x;z)9avV" A!%u8 x,j1SjrGqCm#^z_ ٻQD3 r i5܈ G6`h͈޺}FNBK)s撀{i%|Znmv8cSw2Z9;-;+oƺNG_XZEj2#`B0zmh8S܈Ȱ+/VWVH8һp{ҤѦYQH A ,} m4!|$1 O.: A0zWh3`v}BQ1pj@f z癑T+0f08`8 >yE/gAB'~` >@O 2bP# Jd9|$p M4~?^S'~@/k>`7ů( ;qkN-s~@#f'{iywï֧ ,{tDv^ϵ?ҀVvi\r`J_eT_mqj>* `Y/PLj~AO~GYw'( +:8") );)Tm8шd&ٸs@rK .p3.4j:,- L*ˊLNӭ&* u,>,j[O3ˠ:\p?9S:eB6Lؔ)TOj\[*),> .849˸SU+օѬ;-2 JN2s%~=mA63Y8( `/ke] <"U4Bp_OuSN@!Z *!1֋d e+y;/z04 pGQKGcM_.S9l PYuhKѷ@K!C.l %f_i0+ASt 혴YՓ x0"gY19G(ӸnνՇ̩0.[[*v7ʴP NFl*}lYP2{U3Ӽv\V8 T>~\H 6Fn8D9lwG֢`H\|G>{?`iME˄)JPrvTu^LTaGdOzL nU9HD촳| o!DN3O%ٓ}Z9F=ā76€EIaWPZjrzJld。ˁ02 *T֣6e&)<N *žRQ%~( >GnX=` ӌ_I@`y<$:@oNLx<?G]j)E~c4K}@z<Ljx3ƏY"Q ¬сʔK!CS>2is!210@=Md'VϚ*-e P|".6&Ӫo?H) "r&CK $ =c:ELHR >aN%tRNvD)Fج̪{t*(ܚ%%m_,qZj'N"2I©y'X!"OuaZv`2Rt KΎA7Et}:`%'KmIǼL# `D+64݊z̥%W(f 9'4N$V;HRDhgz(ڝt$Zb(#1 ERtUK3"Ii fFs# #4'L. " ԭ'^]|ԪECʛ)$~>.OW9k&qOސ6z5~t&z0iD29\Z=fqtPa"..'1kP@@j*)^N ~woCӯD*O9L *icd}n1L벤R˂H佼[t-V0=Q-Y8'z9߮?#+ƎXszk]ȱqUUKt}N3ƹ\Z=4޳'3g=9sܹLdmnpc1ָX9v)(;pÈDWlr[ֶC) .bPW M BߨTUIx|`$DICI@*`itL{P3lDVhPC(DȾf`CJpE$Ag8$ƣ'xYQf(Kd2ߊe+ "=oJLM )TYE$趎 Wj'D%~OmLe~fDQ] _ M&TĹ$x . #*äiu)2d*(3/ c2[cJfln2*KP/oȶL Vjn҃V-s8NKX'Xj0 jh径p9Dfs)R/,{EEPFƈxZh(ƭ)i:3FF`Ҏ# XBx>HX8#ʜ kDBtŸ,X'p{nOּ)b*deTxwfV$L*00ΑRLfEP" &`>'x>іZǜuX|;hU#j9M4,hES82(Rr8b^rñmV,jKkf#{rGZT 9tW1t8Tj(a4j+E'nZN,#˟9P"nvLg(QFRuJƅ> wA\ '/0*d"nQNPc(ZäTOHM7)TF)3"sJ|'.:E\SD,#*80"q,siG` z`^b& QWGa^a!ܗ!bLOG+M3x! -Rc*mBV:PoYHF!(FDxF@ad@2Rm' K ##&&f8`Xa:A{=0&"AR(bVj`f_5'LgvId6Ġ`8a$ PDŽ[c:=HRCRq&f.KTc:kJJ(KR7N1|L:QN\n:1@+^$~NG0 ! !+!käOJ.FaYP8}hrǷ_--JtkU|QhhNHxdk-4Xf:Ub'DNO(O1@^  β g-aG6}>'.`(bzJl p6A$lԶnMNc(Ri|f#i'^s3?RNaqt Mib(GL)F^,vJ 0+*GNM\g2j&!nbL,q FD,,(9r*'U,tjű:s]L_" aGAX)6nAR%r2sBLljet.s'f„w_PnE@#)`"y(V AAY(B8P] \ Fh#"%R+5B"֖'lA#"Euҩc%8%xAHvnK#R~ڈM:"AayS_GTH:`> y23VamVmTDҼTZvf<2#K2/vƅFyDlIff8~x2qY}t~,! ZC+wg+zfuԯZMG;L D'7Sb`Wn05K`&7}RoTuXFNorСx͠TQw&۬2iR wpcW`NFEw JX1ٌR&vRqƸ.m}JN~E0.ЀQ5I:%mJ'_}fFtrUhL)ƌblY(S?%3gx$&-qeױR:V.Ȁ3C~2{ .Wȵ':ʂDl֚ x)G4ZMV/d\qbmÛ&6y0"AAdDgOcf=BDp"qebИ-dmz} Oo٨<4(8YUHˠ}rKZ#[Ft"P<|O)cM)ZV OLsf>yro+TbJӔ,E:}RxpnF鮾wQRMX~=_d4Y>l6¨ w @N B_8 ~G!p ?߯0  x<^MvI @~ Hh$ _0ZB?҇!! ke~lX` `/,ث #=o׫?Ofү Db~a_q, P z^$ v#n:~l(JwId P1`Q{Ft g: K:8+j:$j|Bk|}'Ҕy,{q{#R~)BFG𰡩,jD ʸ|!!nF,);eF1w ~S\g @4 /8Z+(T,:" P9G*4rL=ʻ Ⱥ(HRQ%PK(:$4>YM!̥N,䀐9rytgS}> X*]Nr<ɐfٸs@ wL. @~SU xgJ@ _„$zt}aHDԵIJ) MRH]]jSP&&4J*(FMV2N=|aA~!EҪ,bUP2UI=/u1PΣI> ZV^]e8eV=[b kQ`@ PX @ {G'4iCk>!Jkfܥ(Z&nfuPJG.R- |TSL) ˮy֟btnOӰt [t˅LVI ,+IKbF>4&.:rƐkW ?Jy3yJR->S_)lxB+/b.!5WHK-FpXxmBe Xa*NrȒn #L9TŶe(#؁a8{$[˩$ZBDc"^ rHǨ hy<C{)0d&3q芮yrno(( 8: :q l pC#)sI.=- 뎝>9{>[C&i 9ۤȒ : B'Rf!e>I}<4 :B);332R|HaTQH)[UaJ N,Ȼ S@6`0 6sg±Hyȇq$ꊜ$za˷W3zUj ЅL:5ML+St&g Î +]?>: +C0 +:,O$QH ZH="YRkNr9q쎢<쳣Ϩ g:!kvz5\b""?l|3:>#ؽᕢQe x%:=Hzv ;3 #؆!cJQ,*-ZI:e;i9OY[EdWO,9|bW7H ٺzpv ݜ ?# &S#kĽ}2*c2H[PIܝP;ń P}0rsH ղ5NuMR3(8X ʂ0|y1҂ hLkSPSQje j@`xAݖP~h8pm0{nxxq2!hF)8YE| `  8 KUxaŀ81`.| ؉iI T ] *H2ijEB ) 9C-cA Ƌ "@# c R30f186·3 PA#y6 2 /I ћv=cv8b; SY#W =`!H$Ôs3Z+4Tȼ:hr@qA` @;[rp (4  dmr@!h8 ['4ƺ؝oͫ r(,LE~cN:!U,ySH)Z[&Hi)$xE0jTؾ <"V79)u􈈾[V3R 5*I3#a9 QJf?0Q7;KhsTCR5ڳ@6yc|ɍ<4!J!$a#!ЩYJhσ-!j JKh;I<$s`z>yy ?e$NȨ+Xqå<~ >:8Lh̜ҋŠOH񒛀;D "Y("n{Ty|hȈi5 7 ⛌T]` @ Ꮅ;nyw<=A1x-ॗ} |!o FdתΒĘ (wzl7hєC 𫇙p0oaPyYܕ:}Iƌxp!"Wet3Y..4-yz2(0G.4c"65RdȺ *(iXR֝"L) L>GiZ Tx;lwypyZx  mȇQhcPila@2##}D]" 9+ ΍Q{+:zo1)|P E4 5`#>e2껱6!f(-*0CGEiV6t.\UvZvWT.6~S{dS"$5bv?FqD4zwFc\x9:RN.MXC$̺ؤOxe~u,ΥT-dut$l5 64 FN(~:+}(}eQP[ʳybWJ,u=+7vy}1 %Ig(Y o4̫F#jAQv8Qj=kVRT+Ms1X$6 ? @_0FЗ~a  E PH?cRH3(D 3,F`$ $Ρ1 k ?!~Ka,@g}R_8E ''Rjg=8qJZW56Aa2 \_ʳ` B/u$vWA/Xn7`.|=_, Vpx#1Fd@+B }< @ H/@~ߏ}>W mN ޑ  T.ˆʀ|h>H0`{co'Ա6  !*B  I0*X(($ +I4S(`H  ['xG`(8* !*)I\!0D|<ٸjx~3"s*X*R!3~*Z3!R'>=2(VadQ܌*`O@춟x$ # y,Pj5V6JzTM ߨB\nd',f2#RVPm^wyt1{:[t(4 Ya҈ @*dl`@!#$ h F*;nʿ+E' 愭ǶZwZ~!`h h1IJ3/v[t(" \!di.j5T2kͳ3ϲ ~"th14(!K!Ո*CϵV#e R@'Tm62,&,9H=P ]V8֟`QK(*(@ Qd4\b2] zM EX:c6\(UU` xp,*LLK$rLȡAqDRuBD^jμB2E Y^582@E4vV. 5KXʻa hJr*`i-&0º[qb.UH"LQ8f` 7hMYOlkYW&Hj.E%TVO ( /y5 UN?\`>'L #EWRƜ0*SR& 1>hs(PXUAgƀ Q2S )й$5*&<̫I&͋F:办i4:g2iŲ"[*EЮi?YG.e^I s/ T\#Ϫb} X$0Jc?҈Hy8p&ЫtR ;U< `6\EkT~A=ajT HP-rb* WWd 2wvq!8j Vq6Qvlx<υCz&M-8!4\@6 {$@#LjŸ '$a$xrYza\`#  vh{Pb"j(  3GheߏZSjcQ> D1@y-l _d}r{e~K2:XI<şHA;`cp1f%K2,z^L8pzR/-aǎ3fz|sא\5`O*)L֠&Յ%bl>Gŭ5Z Bg0t_ آj|$͎?{)%[ÐX$X1r>Amr'T.~!dI3*bJkC h'&T&nAav^J)#mj*v_@y%рR[RMO3*7IG e'l۔V̇Xtxԑ";m&v=ӝ #_ae*#I(T%nF"ye'Bjcl@艅Ő(Bo/,hyH΅H1bNʖBp#|hn2'$MLD ^.&Cu,ccBL3LcI"X}grZ"i4a 2|/( y$HrhUF*(M!N#&GP"Td#*pAA"A@J ::8 jF $!ȡ!C"#ԎI: f$J%lbx"Z(:N:DV=ZlkLbX@":8k(Q#6(>/|t!Bza *@&>#N~3O- ( (#-g7 P4T *QKp|ȶ𾕣lBcN>Q/cقT%C<eaڇbl F* .rrB,@.A~׆jJKFA xH(ى"dht"'`jx)TͩP,hB4f/Ab$5Vt"H̱t`Ȇ6nqS܏M^p!>g_$LoHhzzi*/ aM AI$@9 *F+Mr>G,_N|y!7D- S&ڌPv2AU1ll^c*pTGBS!PaSYLq%|3D H B `HTH 4!Ppl3NZU~&>b{Z«\T! #2 Dպh#)hp*dt%!-l(Ldh?O_tdZTćt *>Њ$TD`Êo)I2CD4]%97:c$"x̨cwp,0.2>$)@AaMX@\AoD&Ĉ{><@ĊAx1LnXrL~sb v"GWB Q0lnX2pdR+X#$K r2D@0'{21K:"XG@d 4aafƶ<#b#OɳST>7.>7/z88Sl Q₉<$ *v z^AFP!`,υрrOiT؁&# gaI'.a)u0-obAHLg*9Q\HY+AcBJ4y\){-/*@1.B|r<=aU^"4pF/6g"!HYC?H&`IKPgN$~P)#a-F$$,t&>vHbyŔJ`{COgZt˦1MW,3h4y5B 3t? lP8*- ?KC)b+u0ZcəTp"^0s2""IlI8u\2Ҧ6^Cϒ NG;PO6B%T05`Z)RIw&7EPb@L`M)Gl붤'`3=p/|'IPF%u0Mh*Z]+7IB,;g@ Yo[ VOZHDxz!F1FOVyC !]g+D`M%xj p6Hg8dj:I 9jGȃxbL>8v*DEBlMFa1:up7#tޒes#B ~ 8 *"X̷BRr$a`C6h@DZ #݋cMroaK$%q @"`8#f̞ 2'7Hz!QS9Vl"!P]` BBXrDI(8 b8&BkzΈdе)A`Rt!"#By [ȳN#&p"`^ fRBT> h$f\/(A-b%ҬX.-  J܎*:hlJw\@b!Wڱ4TH.To`)3r=Ls lzО5)uv]Db;(W|B]4 $)Р$w= hr}UXamӑs6蓨b8#@@gU,a!Az*8rD .9^+;JM^`zn6]#Ю^K!|(՟G<4ZQ&^|6<3H;5()Ò#x^b[0 Γ顇y 0}>8s@P"+]Hnm(t',3!^N;>V4 3VG.)ҧPpB~ (,!`%C"S À1?QY4 ~E ɦhv Kp(^:IVq0Bt OOL `~e#drXd^)!Y_tfI+55Ynu\P0@IQe-4[4t(%Hw ! f"0|7yfgm |Z[Hk@+tڣ6J#id&{HFP@q9</cEts 0) Z~Z(}/+$"*}"(}G:0(!Ҁ 0JC)I;gZ{yģ0Px.Q4=뒙¤ퟲI;;x-6sS&lT$|ܹ/]/I" :>o*k0J.nQ@D́!l ɼ. H0 =^({ޙB%3@!y, HI~Z}!kګʭ! b脝2`~Aȍ" 0 J S@3߰k΃ V@@Jj~`=j|Cj` | x`.nYh &m|+ϲtEʋP`AHPG2$Ҳ 3 79eqw*7= pgWxg./2H(i "1Z+R˒IH(*ھƔ(jtuI8%곖ή*(~ u|?{xxq| U$ PJ%D0@X_?Ϭ'cƱyJh `xp (L*E<efmIL-rf]%|<ǣ1$ OiM(!RP=!a2?5v=C%O`v1JD<LYS6$:^iU T:Yi\值LfHA 0p'GD[/茍RBIyp) Ik<'ؠl .$8DSGV"p^j " .H˹$dJ<-]%jl)I$ 'thIx9LbbL\1%c•O\) 5к{]m+hpƸ: $ &B}Q0llCIQwG TKvGqn==2`D &吭#hNMBJt#By)**:js"A8ie?fr%&NXQMgHJ?3#4*$D^LYKح5E(!d*nLRiUI(6R"&6;*#$(KiUULX*֪*~ 5?'jk\S^:"injlI±RN0s}=!!2=a %ԯ"[34,!R {|4%c"F\&z2Pn)~:l1W` `d|"=O=:gc.pU>Y+ThF2SNI T͊+T{_1~S1G|{Ykk/Z+0aCCxA<%5m/4E:UHgm`A<5_fٸ%KueXTxRѲ)8f&6 Sy܌PEB:hآb.i/:^*{|%|HrfDh_,#U8Ŷ2H\^NvfY<ٞ]W}=٫MB'xfI kmqr ,">ٵ#&?31>h+Sb SĤ{ c RaE! 5rX&y ŪrɦX [2r ##> ¨  u{ Ҹ""( jj;h; "{:x ͭ, ]a6| (*3&ȣJ Yy(C:z/K : tċ96CZE9&+7%A ,#ƣȳE!8Ģ5軝$?2Q CAH^r0~Hur-Zq0.2[ 먎yX8̉(0`Y 3X cД03u yv vhy{ ȯϾ>41ZU`tCؖp(52Qx 9P#:B(HH,7Ĺ 10hU}x{hHw!{3&A;y ~ K%ıR7@}zd{c;sa(.,ҧt锏\l$3y Dt'do..?-Am-Ia~|1!~հІ pxwPr@rK ࡇpwtږs} k(cJa$3HxŤ/1P{vyJӏß.ҟ|;=3ݒ/ )(b"b*H&طDM% tS֣͍Gb0 q$JC'LtK}0 ėycީ<}zҶ9/.Ax T) GG*Qd8#[' ӐDYcELWY=A7ʒ5EW(Rj):]WZ)vDT ŷQQ*+/=xD8:+լũYRIJ,|AZŒ@jɟ-t=8GđNT\A=X0ߪWW@ E{ p=PTN:/ ׬|b)R d+ Eڽu l ÛЏȥj=FZxvI0hk}0qP2jZNX0\r00$X{纩|H,ˢU4Q~0|uhvQm{E)S~МhᓀԇX`x<[R{\$]LL]BKj .%'K4" Iw1xr{3i!I))xS0 XxPòV_um:iIOh-tͬ: _XzX. ضARUz'HkרQIp=a.Χԕxpy[X)I¹Hz oLn7sS)0K9|R#M+Y d ̀nvPv)9 0Gs  aAZ9R:"($u-SͬK);pѢh EKxiMwDw H Xw 0 i8 #3ᲒpXe|z[046ȡso"SU F$U啇ҥJ8.@ [ΫJ㶹)7ir< KNy/0ԽU"01k !%$ v"eՎ`wG3i Zls$S::R@+zT R=\y;㸰 ) !GAiXQr.m#X:W,9 a~-?K׊pQS(ڈ9юT C'LA'p|DcbQpqTp0Z,UqYCym&2pE Wt uq#X,"1̃ lٕեɌ)$.xSb Ew~@  `P,u|qx2x&8d>~`)%?O 7! '@@Y63EϢب T~¡t_au01:W5+dXXUD*U|~N(T }O=v߰89OhvEs DuO;z^[Vb>Vcb;(.K"ӧs ·L"ڷob"/*k>G?s@r2I4ȸaOt.DFl1|5(\1~:ҀZl?Sܦ"m%1˴dˍ0#)&R윲RJ2' 13+Ck" -jz =?Ȁ Ji<A 9 ۦQhɣΦIMTE񜆟M*%=X0B2/j,-Ȱ~?ѓN0:<  2BrѡKC$'|ga=Wo#Ԩ'{!@!b6F4{4)㲱=nO2JB.IAnjPQ#9~)r 0 p+qo&sCU5BrҊJ<#h p2 Hu(}#x}"r Hƞ@v 𯞎Z).0 ,aVtOB0Hz`-h4ցl0dh;'}mDro+-~.=z \[oWi^.*Yӹ)ngq/쵢  : 4:>tΗ,3N?(f1<C@p gn;GphB#}q65h5t 'QlTxOL u9Gxx~+ $|F˴dP  ,BHLiJO`R"! P88QL\(7)$x 58f bC1Ƽ~6b` gX@h 0&TQG!C{C~h %3gȓ4(ؕ2I:F|13y@&5pC=%vzA?(2Q.[\*$^=*Wُ-VaYH"M)ҡnps#{J"x$  ap+D'+(}506}?ztH8(-uU]O19`#ۏBH+!+Jv̀R|G|p >ir!`@[#ASgK,cǯ 5" @RS RXk7CqJ'$H24C?dK0e+F!J4%bU`2:<"h`N,C "T@A8b@7b&`@6 Ubr",M 4DAІ06,@iDb.@eF~CKjЋ~+RP!J5F(оl'o9tBx`B ·Zu` I44 !n7p*_Cz 9 @2ˊ#g .+ ePCFX6,3*HYC"l((C 8p2M:N2C$ `RcB%abe0qJU")93" 5EeV1 (MR+p,'QfL$@Ɉ*,<*ˎLxO"]Q9%(e >'XC_$RQ@ICxdJe%,h([C,>6`b&̲*8E!$Nz@* e,% D0EKdhmNM+ÀSI^#nEqh,T.0$ZSBW@*96)lEL..&RKڰM4dz(+mW j?j~\܃"#vn:kY:O$@j3@BJ"'05l&ׂ5&8tPts &k<`!Fd5" ``nm!* (&(0&1yHffd7F/ⶢ (!o %f4B@&.LHaG2!R^@>T..Tj,'`!¾BpAa9 % 8BV|0 `o1&$:⍅ж&,B #pD_FNl:80EKA*+Mb@W @+e[JppKsd&b` #XsgCc&9#(u9"9P$3FJ+2tŲb:l#M[C M3嚧ߒvM5:Ϊ j؜FN2Q&7|o>MCe+#F /0&1dFfVxYO<2=k4T/F^%h?10`hfZc`Pf thgH31+RxY.\RRl븾 o(ئLH1fYK%2zPC*VI{QC!f~4P{"×Z#+]b-iũFRc5}s̄(S2KTx"1QRFDf\.kyjew%PQB2E'fOV1Yez )b&bCkn*Bt&%UBDH&ekNLcmlB.UqYÛ| lULBuf2N+en@M$6c@dȊfaA!]|#(?Qc#Vhc8޼&ǂgz<5z&(1<"A0!+'>G%."/q?3͙2H"nW tEBC b2n"0iZҞ72gR[I `%60 [}H_bʛe$EL0@*!<!.T RFP>;EtD"0rD.Va3d0nHE4ʞT 7R%⌵j 6U6:QW~f/ q!Zcac-gƒԤHu4X *;#x<$:i6^`.5'&>1!7h@\o'za!)2M8Bb?*sX6!e͡ @FDΝ7alrh anVoD.A)"`( eLB2-(]a(fتbU(,gbr9˂}3%B+˴ktvh+4:9Zk,*h@eQ$.CJkp6"uX%V)#|Urz(&c;9Kj@Ǡmzyb\ Z2|n"F]eCKD亻҇dQ`ò#2ȡXWlӹs&̮#-?0t#3r7jF@({B}Z?(0$,?,:o-?->w%ʄ88#c|EfYT f!80YQ~I+]oq[,V `0^s9}yg/$->OY(oy ߏK$r8)S@R@,QPjj}L+U-~<^כzX@@, jhld[Ie>mIl+(`ţx?IT +M?4 f  gd]׸ =u5 B~4=g|g(Ȁ31Ho?zN 8wg~ #"|@8G X5/D}2|O ҤO1Bb~H˔8joPR)FY R-y~[T?5G`$gVaV@W)`](c~GCOd!:w?U @vE5@1*xвUt[ ?4|1w&І>_@> .`Q< %<? <n$0FNǡMƻ` oHt3du\Htܬ#MzL(L)lpw?ʉT.x,,cI#ǀ@e [x4(!+pΣ}2H3zC zXvG8D;'UA/.ôxQf€b@PNS"Jۉ0c!=5 $rx#Pj 9ќT A'@C!NU=%PL7s?b9i|>wq=GYUIGz3?5k-2bʚH 5!(hU,`H1WC}+q3|>HP"@L M; ᫳ !-al &݀sA0s ]Ap&8f([zWw;)e5bM-$&XnOu(CTJ̈́RM$'c8g`IK=`M[<^ QA!\4ݴm$-Jۂ#*a3 u\XP3Wn4'R` AǪ-g֖ >*eG#bG9)1=1(TR%'% 8_#xLjv̓ezIOa B9MBQ4o) (43 #!AvAu['uKzb(Ur8&W;ӕ埔ItٳBivuwU@X8u\49qamU&\')[:nX'*ѫ}\Z*) 0Y̙L&[As>g5޲UPU11P+Ec`2H8dn*Dkdb:fU[0rUod&IYU1.rL栆B]˝wjh`?nd3,r2j}3} 2oMw'gك^[w#]++Эc DwP5S M.<ͣtla?xd?DZ\-W`HހG>0 @ ! QFEI6P3"Qр1c` ` ZOPx0OW꒹ +(xhx|SٜpG!&>{ Px~hMS8Uʉ h8rpyq>{13?. X8#XX EbMT6KN;9I`2:؏wwIiGr^@3wPu@s@shvXB_A!(ČpɊaxXyin &x3*1 Eώ@ZY4 dHlڸhj - k}9m ʁY"3EYk2 MO !-j٫/( MiaGİd$x ǐ{?˻ЭEc֦ .ΗAH: % Pqƫs8X2 0>ztp 0 uf+Ѡl+pϝenzlv; R,Π$8%ňe+M$Á[eG)? xmmթ\(v8 ]b JxȻGQ鮙 pj] F + }8tFpF }pvypryWh bC,5si8ƞlI ~e!H 9`{ w~n {)Xx  aBHOf!C%  t0{$4x Hip 5և{c!v))PkHۦ2[3zJg0&]B( ;4+#rpG`.rg%VAjMZ`oh"*{ 2C|' }>(">kP͒l`Dz=^B$(Jʓ+g}@Jn"N@ /25dŭ/{~+}j-i(,X2JSo5Oۿ !B&@ +TCr(SJYnk[`9|;<0&TĵCL%v#-3ͥS'D&<Qqx'{ۢ~@B^rp !J~ZVП(%/c` $in'+ EzGiy@`H Cj2"p\&lz~vnJ߀2u~@;LF8(}\|ǩ;` y܈siq"ՍRmT]C+f s.}|Q =0XzatKʊ2<&zG8, @ Շ`wv*|E &ع}nё4x~ "yuf'% 5ƃ>}G'Uz8$ @& P$;2$"ݎe!6"@D'ZI|DR:8!Y)VWV%T䆳HX0&؁GL2Hq"|@[ ,!/Uyw%$)7T ]9P Q705WQAl$߈Yƴ4d 4)%Jb8eBf &@+c2O#)Bˈd Q+,R'a)MJM1b( Uo?TEj<䖔U=VOB'dǐ' 4 ĕx'l>1C(m2m5\c4V ,IS򰘯b4Q+l4Lp Q@Œ(F\=,7++s̤@$QLRڄ&cs̠31mdB4VL7ŀƒJ#ӾزPdT~1,`*NT xWg! &ɊF+H t^Zpi?:~ZJGќ @S\Et7t|G"Xt$q2H"i*@{.V`p V)0GGMy#uA6xI8CFR%n5fM=@Zr'𰚲[ >Fb Hy t IG\*hMj %&!($|fh=B`0LK .&(c.SP~A+8RHRJoij!BMPLؔ<͈`[D[u/E) ì40?FMɒBc$-S$P Pl>Xk9oxa`U52 7B ڔZ 4 E# 4E3 tr6>E?iGˢK!h+Cw4#p@@p*y c ħoPkvs]=Lj@d:.¶vn4u@ g9@C 93;w/!(s%dc\Wiܐ.P$X vJ ( +m=ۈw(E(y}`cu!<2X P>ۀz+{ -OT~EV+MU=Z^ADgȣd8bT- eӔ9Erndr˲\QW%531oP5q V /E`vEBRgj| ? R i}*l6̺,LBW} 0J+L,CJR*"*po@ob 㘡b,"b&j˃35vtYCrZL$"<*1In&F(x$-K 'Ke,#Vj/%H hrQ hDX&#/6|)9d}ЖR'੨iz!n5Cܬ*% */(<(BB [%` <2lJ10J!/Blu2*%CHj>Fvp~)B@,ԾwvA+c)/P%J!ŸC_$.NR&<~C&dt)d|i,L`ļ0@5 *Ae"0?p5 &OBBhKH2"sb$"!;2 r0CL%&%~$g !vƸU6A=D-@  <G*ZfDcIخd%a /ロB"4 FΩ&€ j \$k`">+ -B"3"=Je b d`!!G'B,)!`+LRL9;P(dbeC; AkrnM "XB gB(&T| ae r4` 9B! #,  ,` &!!4sCtz.@nB煊7x )¼?j͐Ow ,W-72*Erb'C p^.ΔX 2#2ANdhBba*a͠&(d9mGc Hj.̴YOjE$,QBHIpUI'J]h)(Ԟp8o%c`=i84Š!&iuw)n PN"OH,R\10^ Fa0 I'?nr*8Q .ʻHLG9 )$".eB̀©Q&C.aCk h*e9s%cDP9&?oPH|³)Xp}RZ*"Lxbn`ʞ i7I\+kJoP j.}(NcNB7Th$@ȧ6-$-"M22MZ/[)g &JMa&27Nq25/'/vZQÖc%9!GIBUfE"_2SuVNS"l}AK^jnS-?R0@fIC((eHJC 3J~A!#$*a!$z4AFDn ; /<9dBŠ)@`c.VLAhh,u&j,̪`*#dʂDX|;@:5@\b@LXo[R&8R_66 $AӾ%!DU;< Dt XjH7lUgu8u2J-'ox3(|]_PA!A2â%6=T$F$T4G`4 0o=(G],C/a7Sy7Ӂ8AaF@dW0B([;8bHcc*"2b\ w:J~B Fs향0eɜ܆d`t  dD&!EeCyax΀`ڳBE"M5SnkX\:.=N Z= P* P515m܊%(w.G=#0 ֜TԤx`B#d+&@FfGQ,OAF.'Tčx}2N6Do} Q'K2φ9/֫ GfV)')(Q#Q5:0R#ٗ*'L#ʥ.!wXc!햢?[ux9Hz Xx,c\-4jXb-"DʢvL/I JX9؃pB+SLUi$)ZpҞ['p3[X~%ԯŌ[wHQqj, Y{_MC_r++ Iv5zGlMt0ZloJ[]!o1,~%_hl5#+/iVI[nj*X|bP,7aj6:Z(E( ZW%*=p6iEq+r,b[rrBA8C9FGR42icAMjh"  ( ҁr(8풄eBݿXOqhcX`AlC$Aaو"w7fl`a:z-XBGB+#OQ&L 2BgbĒkZ#.&m@DWb7>•UUq)D b" L ( ҦH3 +" ǶD"c"Z׷( )š#PcH"Z-RX޶Qk좠u>#r}= !#)SR)4z`u!<g!CX8=2SH"ʱGX>!l|['}0Rՠ* j,Пfx p EѦe&A `;m'`(LM`XSo)c 0Jw! }L$|7Lj !lyݝ4ƀUrj/ro\\Ж; >hYs||֦}. W> '+|'-@ 8cUuϜBF7#t7F㔊z[̹+*&@`@\ *@`#{ Q6P``> @.&ə4t3hI0}0CLl Z q Ür ZU{w&D@>]#`\Q&0t8_2 p @,^>jcʀUR\eTI{J2@( @FfG#x=ǣ>K7>` Gg` z^G{җp8P Ph,cDt#w\!܍+#O)94Xac#IBQ :4 D/)W)Q)7Frm!$I"~X -x23jlͧ\ +单\B*<Hɪ 86!B bQ2I^Pan1jU` m '#/C B wʩ 1stRla,O"0(Q&4<ޝMő|uk!<DBjyQ. -3k 3 ;U|ݒv܇bK "p;)ZWzt5R9SIV:v p UVdmàb Ƃ%cߒ|OEFv%Aۼw߼u\\٤s 7^<с”)+DAP-F-VBFnr#ĩKgv'x!%UVD rƕ%DpQ5l:3~(*ӢLq X`*MMs} K ?FcxX H~=p# 0-pe)QxdI,V;E &+z *?GˎfD=pV?XHg !0 Z U5^)V>D1)v;%7Ndx4Չ÷gܑQ A8"nIvjw^c 'ޒ<ܘlt@6 J}1d2#+07U>cw J<.yq.T$CpT B丌l~7KqE,}LSuX%RKQZhIR.;#q8[%e )\-i0>$ x08C|qFx2zpI@X2RBj'ܬW'8ln0|`D)3X8ȋ (cpГ v@PuDE]H ( l:#<Ssr)YRgl,өRb,Z$q*] ġ$JBZ-@dU`ݍ`-8`ᝳ殇gMYT#ޱZƸ-t2(&۸b$:M_!>ې-AH$rdճ%ą/ɑF1 "A9Q)QF\YCdDIGiMsg4(̪ATqA0%ƬTeɪA_D(̔]t "Eŧ^AՏʒz.b.3Dw/+3:]AJ7LI /"g@"nDѱ oT D@ Y!᠋I]g8t3&1K/YLp<i qiAЇ]QHv)c ' SRHSb5-H <#4d55R)bYp+a ղ2 wـipecHɭWJ̚j~^   R!@ك'5KyBt *v|>X}yRyRmi_ `u `w[ܭ.]B({%hTvӄ79xx(p>o!P 0bj1E  '\i(fQy+@&h4!l,,Ϲ%%ͳ>$܍!ȓ.,zdo {R)zǭH~H12O.: ș|MSpHuCSh HzVX#MN3lU[Ow3ϥR3a'%)hE7 i3-R1eٍ%JS/mZZ_Oߵ$u5GMKgKA$iJ2贮>n퐒,~/SY퉴u' uR6 ^K\t+/rg @LKRSC).@i[vzx{>>PH^{46p߻`'X!v4s#d8_=j oj#'H~ZdAZ)qӕz{&h]uߓm%vZyHnir0RjKb)2TY'&Yz-~ 4n9X]0 >$;@" >FJ)T/w>TI)"NAZ0k +ʙ+V3$$tBNX z8N+c{p 8za#\kю2Lf` ?@4&1iVJK 9[%c[K ')l h"ibʎJ:[D}&_@BYJ'3$SQ+Kc{>JR)}@Y@xl GiEnmB Ph@݁%vQ3FPg(#KǂwUY+-#@hpKT舵`D#= IfÐzNYd( 9S<">v J؞Ǝy,-9CAt;UWkI7>UPL258` L@`9sa1DC؅r[(= p.2FP53fmL(c 6F f@`A4Q*>DDCL{("z),X tU8$9#P( @"XQC#=D~Ws@0)b^.}́8(v}fR3Rʣ"@V@&@9 H!((MVDbQj15"ˡQ~lf3n<7&[M)š3R+[ZCqjzPm|4]sL>W- {`N nWW(۟ bf#˒Wcfht[&WG$҇\ig ^lJMX:6qaqH[SvW.-W+ hF$%?NvQ f О*7GBo{Wʹhŵ(Nv&hcIa$,9 q1%zJԋd3nЛaǑi,*t3n532R_grGvʠѺ'VX*ƨeqʙbBn8 ݓg,;nǾI#DM. `I+TfD=6g#{:\7Z׫X񲭨Ҝ+0Y$XRO8B b`6ʴᴬ 2J!` bR#M].z2j9pPD*Tc̲b YCDT%N(Ih(ÕB: 8CҮV;¦$BŶ{Cr@=Z}Į A 4!C(8$<H`  |c  &pDa\ge$~%eb8B,XeƒS'ME&"y Fig T6vӌ]4jD%ZD,"Z #…nc&lhFZLqtbM͐kF-p̈́:<2XWmfa,B ⦌ndjҥ"_%}:M(p~~Α&tmP z!s8mEFe-3fֈ,jLFMO,3F Œ#ry4{%.r<&X@fMjc%crNo1GX*kzhdq%w j"NdC/eĒ6%p~Rba&7(lόc=-6&ӥ ( N!2N%^Re?-s,lB, nc$iJn_$&1Cx_([%8\X&pti$ :NmGp^bP'&8&"WG)^%DzBY$rE5$TB(Z,p(, !$97hrG; JPa:d "RR0v c,*Ը TĢ!d)p"p6~) 4 cj $)7閷#j:f]V$2#;"!!>."|@BB^C}f|0bCEdH 0lbA "fI'4簐i‡hba0bKeP <⊒b *)#Z-50"Zix4;4xbaH!C8 0d^L2sL~"S=O&4B?~ 틾7s+)xy}G̎poz4,BfJX/54Tmq2\+:Zd84['v/J.iVjDr.@c!{g}"  etxz204R)w`R R 8"is@::*όJVh&}옏1ʏΠ'6 +G drƱ2P" =$FVa-۞r:?*?hGZtZNMKeR]#ByvJ=ΉT}FdzS.l|\٣m!J8`HQNԵOsP 34o6`+0;ǁ;|h?bh`LrZ8"E̪jJIf51LJׇ8t!=GiDe3>üw<5Ljyw^cqAr`(<'l=,]Mpɐ4`, ~8cF*?i)C(ND2G4X|`GQ`T>#J [$܀P"YK|10Gx{!c-"bXM`g(0g=.D7dz†Z1t)ة,=HP(R8d%GM8PZmAIlaJbJE+< 'uUк%n5>J*i19]QdI6)&LҌ t#q-E /kz.#H- D@cMZKx#N'Kp:elF4#źWTC p:ZSԬpLp#eř jLJ .&OU:8F.V)H\. ah]G"%tVOq(ܶȬ#M#J?_"21u9FaslhrJ=lM-Tp+P񊡶1 HuAA %P)0PGғ9"3#:>BZ}.$\$~Den$λ^P&rmV|<VaqKm-@sdh䪂F;k^^ڥ:IqbAFz b6DLB@F=kh%Mdl: #ƚgM"\$V ЦNĶe$Q̬)\M[x=,j-$m, GeMjeBˀk&!E^USd˲V20"4Je)I",%Gc%l8$,cF"e/FG&r”$@Pe:f,:2ìђB9/ M# $&hiCk`%2D":Cț@K,MeJR򂌐%6MT|fN 1zbϤ:ѳpo Vd'oqDxōNʥHTB:CB"1M%O LC(UW:El ƺ@$@ J) KDnpw")D""7…㣲3ib?-mF o:*&!9AyX:oD6a*Є#c:3bD!.Ne#ɯPCwK<+B:,D`iK\H;D %,(vD"C \`@2W. r'XBXf6AvP/F 𦧬 @ n:*j-@AKk@ð̈́d-S$@I\?+һm2!AA'nEzC*LI@^!N^`b` RV.nMLy4v*iLKf]#Pbg"a&7&TH$\D~n`$v-a(#<4^BL62Țg26&#LJ#*zT!un@Kc$2HN#\0d.@k郞H.ie5G]QI|({j&k@@&$6.B&$?VL%rv$m50Ylba*'︓fx Ii$:$ JnJKj%~"Ͷl^S+H. ]WtnM2`I~`,t1=k>&ʹ1:UE$/jhN*b#wì$*Z >2d@d|+)d^yKFtmX/XpNd'()c6*-S+f,xZ`R-hcm2sT-6++轅NNuRd6R ASv K]8[| $TCǐpSjvDJA)$+>ʫm2fdV4 "A)@-BЃ#!a!0D Jb) Njc"cv/6&@\D4Kh:~஺-BbH ".w.$dC!!bϜh-."I*.b")D~FZZa44o80&MviM^2 OC2xF%NH/)BbnEP:bD#(("X ^crTgteSI^ B&*~"8N-z6 dZ4ib8&|-bDdʒ2i],Cl%!<!ba{k. @BTOUX\.@-֧ #DRaa$i'Fp%>H:vP !!#)k¦剎-VhiF@;BI0%(AEi?`Лt=^2c-S CE"bUj3"BhH)/'M”-&(36fH 蚥J-J kS?$HpH,Z3??W@b2ՌxKbg':#=3E%d067kwyR ?gu㹆tybۭ,@zr-mnH?L,6 voLqXe~NX;x?9t$D*C\CĘčb8in%l|0JH>e2CKO3lρkP(YǰšudL>XymylTDI:'x9?3zdq#.cFf[AY9.p뫡!/a'Z+#^°Kb-Dx@ 8"(!lo)Q*cF!CCԐr(cp)g@ )0*>|:Jqҕ8$_nc":zMb1T   A0E@<ʀxDR ~@'>,pa  }*? Jl_:Dm 'J-@XVg!V:bp[7)O՜e=Ϝe]{)ON~NpHZ*CAδ(22e7Z1͇A9mn1kpSpoC@@X<8!h$ gkl+ \H Nh7MugAsIt+J: L!J91j k8 ߟgqhl`#8`[|jfIrG 2$`@ç{ivQ) #j**臀 8!Lz:gB`,z'르ji"T?̀Q잟'y3* eI O"Ng1+ BHV tSk} @J6"V(q\*K+R@t.Z7ssn"`iL;w7Su8t,`&iRHʔZ80ΡFU쩶ԅ`}j_B $N>(~CWF(t.m 4YH Ò^uŮ*-Ի,uh%{.7Q^WE:x\] /pQ\]q&J*Po[EX~9[} yn jC:1:fV)` ;*{*N,[B|.ۀ󳒂;?6׺j߬΢_/_r˿a0W~XsO/g4^z2"!s@8,P r% 6T+l˜8So ȕ.^HS7G`FΓ jj>~;p!!娯|q 'Uԍ+u.`˳Fd4l]F6FZLc/NGPwj@Pt`#|a7(%`aGX I;[*gS FN|ph 1yʁ`KB$S,oP>Ht 1@0{)[<}CDb7(cq yR}R=DlDW ibrI!*63AJD!$!RM *cľY!;+ǀ LtE F&P"0%쉕JnKoQ]B0g@0g<Ǡ1TLGf?S> `d  ~ ?:*u97gRB 4b5o1+m<612:  0dtk6\ @` tH&TDC#zʈXcy>,S+ǣ䑃$}>@sO񒔌 %\i;˞p :Vd<(cxQ zBYyRHY%4p֧!N4I;X 0@1G2SQ<{z0TB\Tixdc( KWA<h~) +0x 8{` z ڕ)興5+1u0 q r~(1D:;4D~.+z!ڟȗY7҇ ،ޘ |JG0 k#   h!Ф)9z(- RaHҸAӠы [ X{8`ч:(z y!FIY +2+h 9B\?(K,:˜A5B?" psht<1H xHчji(v To,J$(~ Cxwqvxt)34\x1J8Z n 1?@ x% vF`u5AÈ :X;n0|| ħ 0F |y$(dgn%x% z%>覈 z{w|ÊS/ ҮI'Ǘ9A`1:Fx)Q;s5=椘戓X[|()**g˄ 㞣{YM{=P4Eލ9 Y#: `p  q}5+ۖ2:P Ј\,CQ3f!A@ϓ0Mj)rI!EƝ;HcSS8c" ,ٟ 漈Ǜa6[j:qɦӨ AI޴aO? ]=S u[;Ӆy({SX\VP>]`tG#@=",RZ2 ,k >“ rJU50- Ӣ;ވpu$DL` @~2X(xsXft<B?6dXA1aa F~ ̙yw AzHz}>h"P5cP&`XhzoAxT ! DЇ{)Dh@b:*;+dcOa7})p  xy $dx]ܳ:=kiLxcHy*z$? g cfZ$ TSnَV>Vܽ G{o p =A8xqnתऊ}Pp`)/ >1V(@u`Ht`sBQ J' <> v"ȠI0q  x YikR.zvhuw ah ,BڇGh (H  8{)P sHu pm8yq+?yPx3i/ :O 8  'XHyYK-H7* U0> c/~HAXI#IkRn.>%NJ9A)Y&yK Wt:՟;S,:vl *[X(g=OM]18nqUu^\w=/*"ө75< JN3==#汧V 8SJN3#&f;kSj<,m=ả~!Zђ`8|- a @})ɋrX1SjW =~q}0~ax~ ƹNO "%8COk<$@ ȓ%2l a$E8vНk^Qepvs Z*ӈy0lMJ9@8((񘇳9)<,V|Z|eP#1 b"%vGq{ xfe*Av`tlrXq/(~mcּx)IbIٮXtHrXxha$TDSy|a5/HJtIy%Xl 0ڀ x`Vy Hr(o s]pyT1iR'=1<0W.$I%  sˠuPyd%zQ4w|iUfq513P h /+Ҿ Y> VpxK/ϧbsfP ɜ,I=2dY j;UТ?0|WQTK?֩y87t^}S I7v>cΈ vʢ+8R "\>_p&@xX4D^'AP^:B`7@x BgriLS,l5Tb3i>g ?_8.ȩ)ŪYTE!b)}~h]n(dW.z.YE*^"bm a3I= LfsUMfsL4 NJ@ns83 vK.q'~A!H3hc\³\ q6Ua]X;xLm{^Aω(k :CSj3~ ,0Ȥ (攧 Bh5t@:1p}Z qۘNi#+x) 4᠉{Jmh#LroGqtt,012ƕgAx$ $ -䖥&S}gigYz(0"g($}X}2m(&H0,!x Qҡ`8 "|2 S޲!#w !v1{L|U͗[~|$4+fyK&*l-4V){}kB'``@ZQo(&&xgu):4JR*.pO4kjm~*(~{}l!{\j"X|˚_M&>?Zﳺ ~.y48[U{At1y(@?Ӄp }ZbV{fn&}wyg6 r@x%: R~-vY|-ɑ~ȝ}@:"CÁlQ=xN<!=yz% @&p"'<:b&@/ԘEF # P,[V!=HtnGHԢ*l@c}<E ,b `|r>YfH<ǐxl=G,DEP P 0K0{HP `3"qee;=8w I0Sʊ2=Z(_K(T!f>[XX.gRGk.8F\ĩS2S%E:r {".ڋ[3]œRLr"l ƍ+'DCSU )mXBrI_dX!$B %>8"4rOӎj3s%3&\} T(=PtYq@/ԫȪ-9L4pDNaEBM :I!  Bz*CFI=E 搓R] QPzZD 0e >^_~˹7 .m?H|p? PHvMLZY G4-gC/5ږ#;FGؔ/trUJ| 0ǸDj j6T<7lǨ#tnL H COU9ILT{򵍘j :`` < $'&Cp q5Gh),`dPvT%Y-!V0m-mZ+|/m@v@"csKcPf q8$D "nP fP^|Cq1)&Kq@@H #o"[#yL. 3`4u`&&I nomWu]NP\}_`,~>Pl~P tI˜4fT[Hl,* ?Τ6`tA&~(Ȫb$dB oD0oE" $2AGEܘ##fMlɄdL(jlߍ)g`4ˀv#FvDtLCIĤ&"~b.* &0#6#)5V 1JC> 6/jq%E^#gh7*@6"+^pJA &><^6#/L"b%$ۢ$(ԣZcO .2*cF@-Jqq#i[ & b)@@1nZ#dbdfD8C d(:*#&B.q:&xr2'EI4@#˪o7*%i!$ƌ F4BH=]=\bNRfDS=#0k+)($?&2,0M.02rE1{c46h M c%c"pM֊V@+d3I$0c\e%),< Tk+cGE.+#Gh5i-¨` MNA.^i1f8@dXAOʅr&  d0/LH-&,)#XlG^(p܄͞aSO!g"q'FCc<1 Š9 ^!@&m@U+T$$I$(rkjh|$#(V""M1 i/ڏxhab2ZAlc 9/%Kq#^ bLJ"*xcAŠL0F[!ATBb&@~~pBQHrİ`,qJ@FJ "$ .-m̷zwa,hD@H` *# ?~m!A-_ `>B`q+ۓj5*-,pŁNP6 @ (j\F.SSr`0!!=:@ 1&hf/0blhlQ!D!&$"`vFAk%I a_Bn0ӑ,M!G +BB"!!@B`+O<" '^',Y!`  dSPat!T@N<t @k`6xeFZRt?>\բ0H B#] J2o9S憉"Q4.nz:Bcơ:T-drBHJ !M1q9񶢶DBHL)*Ys)K8k^~$tk\($vxpԼ*b=ka"4B7 7p6J%#S\I=pRI&b:6mQ0Cj"Eʩ%yr*J-]B"2B-elF+À6%+Є,%,@6g) `'#̸1Zda Z6"Z=n"xcG/FV^c( >b,n+nJroґġBvmGiDbif4'bPJEf!T x2],%&fB5[FHmC@_'Pʀw @pg*%,lVi;SV4-D xTI uao 5Z@JKR9+&j*hl!ʏ '`0T$8YWWUALTuj`A5@2ƅ:_saA8`BLTIJ,tAba"0hF,Xaz X*%b.V#FZ&ĖosFLJHo@} @Ơ O6e&MXAQ'p t. &xDIv{my )Bq@&8Z}`8 08 HFi1)*~Wywi,Jz"~ʵQg+DFݒ*B"l#W-0zY!2n2B+o*V0܀(@rlokM}ɓ#*VqbG[j]b ]8U8,x<E"lhVݼŊeK;D{!e6@X9)TA+B_"Xp~=D)}r&/|3X Wa&29&Z ܹ$ABܧ$pBD"Q=MS +P~5QKC.Vn?47^sHUϑ)^s)g &XHJЗb a@/i&SylfxSH>UCGɸ:-◥V!6aگE( j-"Ss!母4Ab@4y'F̒L8vblf v)"lR]w\N96W%R  @~ "0W^ox?_7$/! 1>?T( YgtTUa(x&)'|2W?-{%~ϗ@|>OFGS!($h @{ 6Av< (:d ʐ O{=ޮ狽y@`\.' K:+`&ngܱ{>>oP41 ӧ)z.¬guIrn1| @&r *` qH f!lEP'$2ȱvʰ*oI ؎%`6Qt+`e|z@Ph)  2.ډG8]>|Kzzbp( @#'t p'u'{ǡyJ V1&+{yN!#`0 @*SP`Klé}x'Zz2{*ځ ^Fa4u(3F(xL)!l Sv)i;;l( :Jt~K(e@'`:n6di.[&n)zmX0ԶGj7X:+tPzGk<4{HB4{J `"/88YYbʢ <"`X;uOҎtKd<@P8&jF!#QxæbNd=VG}@!Є—˵aǵ( =lG'}|_qҪX ~? j:Vhș?D!3_ꭓ(d;1\C$Y2%T2%N;"z`@ Լ(m"ǂ"@C0)IIGH@ P $zOcrthؠ##`hvJbh,yގ8GG12=ߢ`8Brc{hB  ;XTi7ǸdXb(0E*>e$(t #d \K`8e{+]Lyp04` 00?ӝ@lyJ;RŽITwѾ8dl$h 2:G$X )( Ɖ8;(ec@tAH `0_XM B`<ǀ3ÀmjYY^WXr2rG#qA;G .rI 4F!CV9sa Ʃ(.#;|[+ba'ET1ʊa@x- 2' V7Y37*) !0ԠMr#%J#-^L$d3?KS{4y!\ r0Zk]#(7s3mv%+r/.K7n2a{Jl.ݨ=rNŽVmA^d8!`q iFƽd:n5.D=CmEۄ!7ݑ6vly”,{ߒ\ew KeMkmW!puU>HHh0#L ` tD H;>UdwAj0Z{Ot´3_=8>ƶ#Ob$=E}[}1C b,vc'L*'16fv 'PGB Ls6f1s*T(eN'!"٣!xCz%3! *@ "Y!c$鎡٦JV㘦I$?IK 2Sڨ/X!a藸J= w1+ K zx9,0@a(|+(- } `XXN*afShJe8!Q k8|p0cp ~Y͔r Ir W* My>#'.HIU/|p)Іʇm1;B ޷#iC(󓺺KT CPq c8e'P|1z@+) EX1qhpnq䇨1֘!D#Cbx X xzAb||! xpxvx$xwD$٭:8 i8!)K2wqH0r[sC0[11nkʌ {>P沒ݎ&yszXXxx=y0y ӇfHpPs)(|.API:?){c0- 40zI|ȽL9N^ّ|(xHtzɁ!*ِ  13QHKʉz݀3IYX8 (@[>$"9A0e K @ӗm @49 A$ iVK =l:@|Ȉr$km:R((ݏ[-&3AU17dCaӦ9I(QP@? $1yu ģ=EQ: <s?9x酬* 7 k{7ЃtKhB zr0tmH O$X6$! Aζx~' 0zraa!=j'0 =ك!ԩ"Z*R5;uY!"3>2T})ǾC%8kXVq ZWj>c?Y+Yސ-c5m-qBt{1t3k5r%I`djrO$4\9:@Zꚪ?㇀r q soƪ弓n?2Y7Jd؎(8`Xp ou@w Ca˛]@S;$ S`p~8ČIy8}Xud@  1YH!RIY2WzX{-}L`;pwO)܀X~|y:zH 5a;q`,ƪ!]_7-PV lJQ'QP@+qӇq(Hx, ;#5JAX ~Xm3Aч`ёxhwaxޏ  mh@b6-fyuhut=(K~KĽ&pm 8l+ xIU(zlsxfXlnH蔇|OY0 * >)!_5`Hy7*x4䌛&84//ZE6B+S% sUh+ƶ ^#I8!_`"uT8V:EQ =ڸ1\zC+)Yh)J]\Q@F,)i;; u#u(io;Q r+6>ZN9U:+mj鄤Ʋj3Zѱ>|u麺i뽵nFY ӛh8PB"ؐFunp P A0 XABy |)`a"Ku41t (;"8CJW>>;ྖ+|bLRJ ¡ C$ѦݓJFA᫿>Epƫ좝!ֽ^ޘ!@9=SE,Blv> ub+s}FoT@SQ6*·!x7y)PAPt l+b ɮZ؝(#HPŠ mHp9fox|t x%fri+d:.#b#x0nh]'X}e0?ޠRuYh+`̇9d'pz@| $H V}{?I\㈼{ڥ4^iqCyo?М?`dq=:vh}h&@Bypt5 ?g B[4üxҥ1D-5}pG~}@n$ ixw~eȾe*ZscO 3 S藯esP}Ir@r7{ͫX t 6Aǀh˸ihc$l+>jP~TE }I0av¥`x]fzA_z @9 g z=6MNy扢^6OHܚ:}2.gFM 6S}r rX ճUH+) d _w:khKeTAKKyV m wj#7? BaP (a1x"?@` F%P7QaQIl^(_y1g(C1~|*R|:JN`|\<~@;%R%I 4\"(\ҭ[(9"آ)Tnw?V NKVl3Y:L?-tg5Lau(0Tc ta!X83&F2͜ˍ$ydG|FR~1ĒƬ*ӿ,*"6$L2)_E6*@JByƅ A 6Ԃ$~zGx@j\V!B(T~0HyΣ1i`>ҧ\^)LF7U::/uG`A}Qb ./N|" % !zqGr'x蒹!7Ā+mX04~0^0BuYת}Gx``C&*8B|" ?e#ur>S@cRP2Jxq>@ @(cq;;YR0I KGmK pmY qL^4Xn {M a P ;GNGjH,|A P#\ Q<ǂ ,r0:FHD }:$kzťZ$ B02?/M1*$PpMp @ HpLa40ܸ2$P$':%T)6Bd8'^T9Ju*4"LJڴd|&IPɉ7%Hem %DUO!fcc1eoETI86 !x ݜrqH$i̬5~VzMP[L zu(,z(HM?i3fE+%R= vՐPE+W~z* WW*b M €X(P@})Pu4)HE`(L%p#)ُ>NOPP,@TM6֥_Y(N3QVBZuܫBv;:8V HS 2b pUKH}2Tb#4J慎# $i.+F›32LB!լDrݥYk+a]#ɲj90k;Cr["lnG5cޓiე[:^@5h \Y{X`eOJoK,N, "B(82#N5Řc#7$?BZA7G@6|<4X7` f ^@hC{;pϴv<  qaUDxF1ae>C'ErI2$oCuCu4> jᨠO+ `)Z |X|n<]1fܬL>@ E$-;H6VQxX>H)`` @ $Ȥp4gU17$YwFŶܒPlh})3fq {v>)d3 F <۷~>q &E V#0,&*"4i@pn2(z@fA\1tzeJ(ޓ+C6EV+:ϰ`Br ; p*ŀ a &dB~V .% 2(q)E;B C,ZRxD,I c4! %܊PqfT),H054>$R+2^kC^$r+MBRrJ(TJd7 qf tn$G!oo *ʯ&w9k04r85\;*VE W @i1zU6.+"kA'/- M2'QbI~d ix>E$IUX, %z3Э-w:P-f $$-$xMi'H`lO6 W*2O~҃pc2,S1ucabb/t L̽7(j#2!4bp%3sY*e8Emrt5_j-owK ̂F N7vֽ"jҌ=Eeqdl:谢xT ͥe;4.D3t'4Ц) Ŋ[Q,R{+Yc6a!z5K"H &:@'"G$F!6#&H5H6@z|<U~LIs%<'rcM𭙦2ua'P^@a˜v&(Cdž>eBt'bcV?'2=e$)KNdJ?bhMty'8s38` d@jYN|AU!퀎 :,gt #(~ MLzr\ m+Lg'k+zD Qu{!-$ "H To0!kBԢ  D**`\ABaAa4uB o[axGBHz#Bzn΂<3N~Iy,6=f P v0Zi%WtF $@&s`` `,C[FzR:^8˃KBiB10Nװk>S7R KCQi O},ƣpd-f2=j#R'_ Pg%!bNH-l''ZB MǒD[dwN442Cj&Ÿ 梲p)Eù hmiRe<^-e?#d+#s;t 5DW#J'XJ%`bAOjD8iW`P+V.@V(F`[EUL BjD"I^(B`2I^jp i4{%;,q!-R;b6eoZ.<&&P&8 9qE^$]E4Ud% $:1h/0B cnҥ;4L{l-fa!yZ* g4X!p@X~Ҍ*qJx#`K&8J Y6H AYپ,'WxS7$'2M 9u /%-(P"R(»czD"Mj-fN@ @P>00Dka}B\)"0obkNSN=`^M|DRm(xd.ANa҂h[Mq9t9[EHGBTtnV@H8/gN8˅z2F5bn6'Q`b`d }U."LALfz}@n$cn ! p$zO @ D@@  HITFM&x2>d, `ޯG ůW{aI W`xI '4E/{_`  z }B_#^Zm6{@.(?߲d |>y7+2hV~۽ʟD 8^] ?ӅȀh@&@`("ɤ A|Ǚ}+@p$PXjDZh)b !~{E l-j rܤL`xnbFHH"D1&RR!䌜.sੑ`LQ,ҡ))˝0Djl^Eq,Ы{q-r-#zDZ%OIOMiHHR 6-!t㦒[GSI<]1EKc;.w19]=׍hסhЖru5,IVmƷږ˃C2h-H(#s<Gue9t\јzy @X~GZ"z{"㧽6NӤ| Aw @ !y:)!,[ڀ wK`\TĘz޵#k]DMlvB5]4zz쑻髏澥&]Q/ڠ:Rhl AӆUr{YFJo+-\ ޷ I [렔no"DVsWRQ&y!ŗ)؂@'[n1U5 AS5|;[^bt 4w\uM !@&K-ŷNCIP-̾ӡ]!Q;X`Y2PT oAܠa8Ti x/hq,,}  P1V :  Y]ü{ u?`n< )~>?`p<~, P*@,sLvl;?&xy:̰cXڏP|[AppJHQLi:6L@4<xǡxx.tPI[0x$#M_:A/UaNxy8,2 @5c1;@-e`:#@` q;p@R {LP4`>Q@$蠼f1kfu:t .a;XltGgV }#c{Q%W h̥ߦhzx`   RR%|(xyx[Hs@)șz&0|2.`mo-X͍t/ 8PZ[s'HdCH-?!/p5!6i'h508zଇkl-X}XvLG *h19)u9he1 {q‡Y>hxhPn` * 2Q ]I=@[6  `QH 7 A |;Ï)Ga@󦉞,3 $qW z*QYzhuI`$` /LBpentQTz1#28v\I )A.# #,SrY͒1ppy4 0>0 kD cYi3bJ* G3ۂ7s15ˈ 0Ou8u(;0k  U K5Km)UX喘W~2!>1x[p@r/`C7*8A xtPv9Lm"IQ >ps>3뚹/7A`~#ur8uo.".Blm Xڿ!!%rҘp,`A@ > ̦h@+T.C hpg]ȇ`y`2 K19 XWi x%h% yB D+9⟦huPv&ykggpp{d*RXC k$ɍYI==bW ??@ noXhh   p Ex`?iwHY0x=qh{E~̙G8e0m0%D_&iS` 8M P\j; rx *OHqq| %x#lG?;ϫP;_%a`ґHhp }w ߀`~j`| X t+#%@͙AeE '68r0j}&nI200/Qۘ9199HAj>Ix;l{bs7By1Fv%:201׫ J qKIƋDcV!~1m1`a䯵79v3B!qT}0.۩d'1 3 5F;qtT,ah|n- 7zPQ¿ y ..Nl0L&mUG C(}φmȩ¹aW'q1c.<#w!)8,qxp; Yx0L-0u (ehfTsyXB?X$yiH%cH ~ z.} eEp^<,'P\"=x}381XptPWYx-jUУ>$*Y(hr t6ygx`ITd,}Мnn(D@ 8j$hq@%Xf@E%ygmp& @|"XQB.:ހ0Ά8bc i0z=?BN yZ IXWx~xw65zN)8q Rҿ( H9=8 %8|諙 >Hylx&C;8%=cESEˀhU\2Ë쯔J:b>LCSVW9. i  Cok~IR="LIc1Ay$ k&c ~*vAQ#Laʜc/C1iiS#)92 .kўdFO͹ųC4y3"J3 jف5@swH|5F ˡ К{8>+R{(8@ ?HHPxk-.?S9c'rVJQR8{{q[33ˇTX AX$ C0X,EţDH)?_^CQ)DA8fA9H~ 75!I"i o+֦轆"f[@%:~5-wM{{ ; H';"2]vԤS0}>nh+d (LT1^2N(|~?w٬Ԃi*=a?8`4 e1Yf20 c؄$L"P|BG  Jb8 N!K@!z11h")<+%Ƙ&Pq`Fv/#ᲈH# { my{zˋO'AT`~-"'. !0V`{HQٶo".@JxWxqf60* `$4 38|Gvuw'{i{~M}|gp\+ "WK@ZA+3aP|$J5}G3@ HzD9#*~j!r 1IdAh ~i+sB Z\t`uqqa{Pi }(} @MҀ/t`*77iyX@ygqyЂg1r<<x1" ,` s QoT`r3ahv_h⥉@ɀiw{"@R1 x䢨 IbW Cnzhr"`bT\z~QBq_Hx Tf- @bt3PhRI9SG y,4rPZN%ǀӰ DDG/'̌$Pa*yE bIˉ8))9Ɔ,LqHpd$슚XOϱ4#z/%2d#/0(M03 4J̓v&,D#@xLx!<ǰMC{ޟ,(t"h@zy197cRSC|)G(`Kӈ@Q;{+1 )DJrIJ @9 Y&d\I%"EEJI%>`́,3ؘWq3zLZ *̠ UH_|̛됅HTxhi/ꖣ)%1y;e QIj4%rNQP&d&T{D0c蘐J9l` cd nn TF!$7TLH7,i  qԢV+RFNH3ć[zq.>cB_)H)2BVҎD1Zz^)w@wLpn2媬נHA(tx!qP "4 2XxM -s@(yQ¨Q52~g!8 CpnA9HF 0ߴZTe;ˠxO<CLX<쏲wJØ/"D Vhxg8@ gadpp?gAq9X  t:_A1BCi@` 3FPwX xFsK\F=jL]y?ֺuGj^@(aZL@@1=h(vaǍA >p Dj X)0́7FÔv^P}@vPy֋9Q>QqR0qƸK;JU~- g>mYy"(zѓƢG-Eg Ϛ3u4!XފΊ 3'4!)Ϧ`Sk}D |<k#3sɗ_G,Ezn\a'VD7$|mUZRjĪAdz)K #4l{Z_вTSWU}mb#8h,bACv (7J &# DBOL$t!ƁNM ZCc.C6DJ,zCzHZ'2ba$ BN ):,\KXhŽ; X,<;:c#:KB2 *2Hcr&k((hB %ϘVjCIf.JF-Hx+6 %b(Jh(߫9MA$4'>0bj#1B,J`+x9RG. B^J2\9K Ebd0T,O*s$ a @dX#ƳGܧ&F1gB4h%8>*N`D0߰;ciAMX#Z-,\ T``n88/F|0) H ~\XD WNWTc^-F^P@n86@ <ê XӺDC*$0HR-wcXo$)& u A!`D<]AphF, 5@$Mfrgc`V`> cNd ,,HcFpKB m%'^Hb(-C `` TfU@bvf(Dk!aR~QI%5$TrP @av6!%>`&,xSaqAј>Z#}>G;!Dr!~CBfH^W,hC*H'놇OjϪDgЪWB'0kKFab"&ӅYR.4yq&-W`FoSi&㫏KBUe8̀]$!db~` G @\Y?d @4L!T/4NKIsK´ւq;Fa FX K p2 ;]"F&BɓvGR$!U@60)A:Ş.5@"fD Db%\ 8 "ɪp@!aށMZ@#6h^ lA{ p&#cyds/#ty(I֩(F m!&Ƀ)BD`B  l`#/>Cs@{m4%Ejо-|dRdi"1rAh 04b 0h9XD,wD썪ŸP"$+Qs>&:cHr}wr;"˲bI5"1ykPf1f"s![>w;*Z9#shKs-2lC)1R9u84QhvĄܬ! WFv{'.Ur"URIR({B֤;DJb+֭YL#T ǘ`Dj1TK! 'Ce)bf& ejHʚOX/ct%2%B/n5jc-srh/$ob[ xMxPȦ7f-/us ,kw&(c@ eEw8~ȕv+B+kksʄA'4y\ga!Hzw-a76@\ *8<ap=wх"!`C35A3 }z)$#d43H#'lqBURm:"M *}(tf/L!|~5BUiI $,9B֙ʠG@5:G 4.P;/utlG00``lQ Z`Z @ S` !AH& ! ttAf(xLٺb=dy+H#u mm**P""@bS픇_K8I{΢Qb2@*HCF'u0 ?A,1En xz6H O4[{P8zz<ޏj'Dj/W`,F~(@*o@@= Wp0~~>o~>,T. @( hohA#wJw9V^dE`}dO'z@8,"@4Wa|8HQ^[W򌶬okC⊿Bp:- Rֶ+"**0@2AKBP#BTEHE (Z*>CGҫ **ܧ|B\"/ 'h-Ҝ204W;ƈ˱[S$` Hͻ̟/[ C8"BŔУ@2~ВQ~Fr+r]kfH#'ܑ*0icEVE7PZ*\( ?-tⒿǣӓZOWRst RsU+O4i&$ QI]i,AUR,GQTJJމ?/ӻO3 U569LYJ3s돜O(2+ҟoLt9@3]EԯVh}zWb S}d~STWɫ]-WU?UKa}ct>GO3̤wpܚL <98nfRn[!(T@?,f]Vq1AhxrIUHuz.0 HWB>#"~O,*mD!N|pj~f8vp pd=?f#<y/ 怒NèyA9@ 4&`$5NPbT7 T'xZA90#\ip?yA33FL4HA!< @tq9xY8HHwmA82M4ǠZÈw9h`F՚0 `@D"Hgi0 |toqZdQ|jeGY?B Kg؏Uڬ>%][v_**Sڜ?,Jro%I'>[Q̗ u_SOU76}o k@?f'DKYm<& Y} H橉PuѻБJ+@g0.5#G@Hǣ?IaRuA3푎Srj{V.2'iiWMlJgVN !ynSJ=/s%<5]B o50EY<'W(@ bdRNVSќ0 2FH#(d/"qC%ɠX &+=c{"Ey3 Aeҋ? >2$RD?+8:tq)$Xehfx(\X[/Tqp^plx`#UΡpG(;A QB u`Em-z(|t Y#;ӎ;ޑÒjp(Þ/A)F'h+ු-ˢ˹_Kx7Pl=-˹F" LiI1P k.*1 $)h9D O џ ʼn8MGlxp` @@ ٚȱóL$ 궼S=17UJ<. YT1бKV<0 "s%qXwh #@Xn_`C.8+XT  pqhela(/ ȟ͵8}  !;0x\P\]L80"凎ؿ-r#$8ɌCxxtR,Q/t<--B&(း U`n(t8yy.Y3>x X JijP$( a@R8T ⾠-B*X~[ Fڬ\PhC0y8͠펱 Pvb Eңś($x@Ϡ}Gvx̤8 P( XP|G)A?nhh {o txe ȭB*QB*0}52QZH*x>* !&OSw{N0@€SM8 ~ ɀ!8v#h3P -0u$Ԁ[(5XA y:ϽPY  bs~Ps)Z;V"ܗ1)¡l݋AOO㻻9K;S t9M;TVscꘔT єRhi,T(KY7OIÆP/ī>E9'"+ec͉C#<-Z112 ۹f1eAѲe&Ȫs/J|"ɛ ^`23!QNM1$ ]^2/.|@~|iwum4O Dhȴ#Bh+ێEsIjhw/ yEH}RTѰu;ekIC Jp "ea@MXтA GWj~, %v`w(C~)]էq `")+14ܤ70ֻw6RhOEAKc!¯MhQֹ9<>lL󡚙kpYq xy(d n|^ZѵV!L䥙3:þO@}W:E;۲-]75Lsi5i^~c/v1HMV΁ 6Vgf.ׇ退!WX p{Yr"QXx8f_"ؕ+""皬 L Uw&Z-xa`l!0"V\ YyTp?{ "8(㊎zӇZ+)`u`tirԵWN P*P~@kmr_(#([w) `g*C 4T%<`| {C1:`Ky~N'  9 ؜}XxNWs(>,勓*~dFB$3#,8LH0 u <cq ? &@`(l;i;(|X ld(yW}=Gg(  `?y\@x `P= wS -|$u G&nC(@xcu5dHonP>I W>xsQ=ߨ,&Kdb!Q9:nlkB8$ Del>je2%$3WO{\aKSMDE}%BHiB%(ANIgAfU'CdLiH!@]kOP.r ^tS>Mj\6yH(kE1:(4 ReYq$<jf!F#(Pb4VBIRh-$D麡+ԥJpy-D ~ ,t-l) #浒*A,G~9cCx6w&  QjZ&yVOWk.$jrȯg: 2S vPy&(ǼF3fcd FORɟx`Ӛ[(&m2.);-?S"ʼn!,gJN^sZCBz! BC 9<XT#iTJjygc=벡+L2 q@ $'^W4IU-"JRLg' aOyoNK;a @+vEjǨ uo^'޷b?p6sT=Eya!B@x`|>l)zSPW^!aTlb>fDD^N@?H@.`(7.~"k&FOH en0R))r56@>ƘNj-q>RTth da`HLNtPV4MCCP0k !U#:?P3$ު'c'C2O%?S8393%Ƙ2kh{sh<1h(^F`+, (``60߬FŜpT3N":"< =O hP`,paAAAft>@ @H{WAA$AW abP4d~p*ցfBC"$#4@2)A&l,}"!*nHV:"`$@޺L,mb/@'LI"^kea4@fI{ F\ E 4%ڱ8R":J.c"IpBj >YBoB8f*Ԧ&X/֦l ңS`?]<SL0#&#y 7IaĢ窰t=c6B>(_aE2b+z#bd?\9'f.,}Z>8.]IVښ"g2J*dQ>)7wY" R¨E815(WUlnnBFD"1<.+QgN0k $S nSdV)b"IR99d*LDڒ̆$d@5^(~GlZr B]8FNyDVפV]Q¶U‹JKe 9a!a"`,@vU>#@j,BMd aahe<:@!4Eb.!Dp/큯zB"ZJd@n(%a# $/?`9cg B(7spb2Θ EiVљG"z]HB(-5(FtBtw 4gx# "bEbBg$)"&,C HF"`:نŢ`Je#q$!ִ>^ ?pO:! 7 áx.@8t-b L'$>6E3PJ@nЀ X|.H H7.~Xiuq'j0%y8%kVȵoEB`Xwp8 UqH$~(Kq6? ?zN`Q]D=i$!c; -ng`֤;&~p>usAfx0+MLk"6JBĻɬlYy&́8%[4z H@P }0p{`>A Y|PB<{ѠF@Hٶcf1|x ~j6`YG攞-E8F"!h{N((⺎RF`2L uEI^V%h!POC0!?`!0J𴶎`c(|2Q}O!p q'1{aT O){*3hHh:Gl~ H` *1krŒYo' oq8 YPK6h'}oQ 2/oG B8 E#4':_ͦ`* N}Qxi{ZA|UEx}@p q|yz01rK>2>\`Tt=PI ʕ@*A#Lpq\ EzԆdQ*Fl=&[4eHVh* FKf> }@@?@H5>n i=F@y\s3;B2!KkC>J?DI`@ "HRy3Jw!i~-&=VF|F>U@9M?lF3Py0)FO '|HxYlZ,,1@:EuOp@{k"L5x0f'"|`-ǩ/6C>[ k ܘ(gVT,EZ 8V%3 D]`F)F֍DL.?OQeDQc# iTlVwMF@xÔqA@ | &CIK KĞKAl !Sa᎛q7OxW7sMd,PڀSa5iw=R0!B/D -KS4f: z^:4d hFAd5v\UGiaR߽ \ )Z?rҥ,($U&呡=؛z*iEng%j Qf̂Ɉu%J Bq1/8dz 3蕎(!;ȞXwt 돁xhx x r aj|j%  8ȑ6{y{۱ ,];*(z!GB'2!*Ȯ-j^R<+!܋$ch)`!4Iz/*`͝i%&i:{ BM1q ;;( '90 M*qלێ,;?X6қŮwDUêB- R4i0氨֋RCddy#J?SU =2*}wh :y|5Bs ׮H )E ?{+* [*/ (:C`݉H 1Aź9XrIQ g-yIwpwTǀx@}#YTw`]^q,3p7ňӏ83`ޟYP}zCXc܎(_xzx4 Ayc-KDA-0Sã#2 dXc@e91Dai(aوb#04!hƇ"b6񖀀 QPqt*܁TLI (IKx0xO8&3^puI[8ćr8xXt;Ќ|B ~:҈@~'([ ʘ !'ѨY~~0 (({xAIhkL~R 8(%(1y/ +iƠp@)X@%{0q܀C®* zi5I,Ŏ;B61\` x |-+>Y`Ѿ%W@.H$.Ļ<)"zL3Ej;L 1#k"*pț&okxz1m8(8|P 3? o ;մ] Њ̔ D!!|_)b*U 2a@VyE=$HpIh~a-a||J@@ڇxA$i@x !?{ .x1 P|`w捅 @@G LKZ` zg*}@C?@m pGl( #7邪 1cb&ۀ1Ij $pkQ_)ʱtE2D| ɑ̑)n11Tk쮫G(P@dt`mxĿZ2@x0QcC R*#hbQcݏ@A=@zM z &ȀAvP&P~ѵ~s k̸Q=љ?' 3 ({c$@8M02g)N QEE0d_'>H*VHXV;cdc^:aN b3dj%f3*'IjzO826UNgؘ2VnbRe*×bcr}7Ӛ`4]2!`cf"Ұ Y$!E[.L/N(R'd,vAjBp.x1pPJV|y: ɨʌm2HXd=S20&3mk1;2=pضR1;PL P p)R1'mYe;ON#Q>Dfl(p8 @HQI`4nJlף.>pmXSwٞ8gxi J\ztPaF%RnAuK}r-nWZ;,#$r87THfɪSkLQ`ygAM79Mhr )@܏견o)jC0>=Fh_7m$OP:x>F:Mgm\O(uodSQTOˏQ`dlRmZ.JrŒ\)ba(Bk!/RFdd6 }O[dEMS4=3CEfDm002&0t`9@A/A3$HhKՐ*cVZ AzJg\XJ#ruɠp9A wi\In.0dgȌ'\%fa9iAV8"R8/ qAcxрC2'"%S$27sse*zPEa :`a0`47A֟A@Ţl'Lj0b`**+& d,Nc&!ipT1E &=8g¢=Ψ2fo2c|4*@4 C +'e%tBAbD `tIvPCn;  Jj "@!4b\C0*<>G RrnjB2pɖGzA$AAn8Cc' #d8S= E(j D`"pMTI uă%Seh6ISy70ZFKLЅNbV̲r8%ƤC"}&7ʀF.-86̇a赂dL+`W,8;apR0)O'>3GuH '  Zt+W%ls8UBY/#YHNK/98rH8$g a-Pds'gڃ&k`or:x$xR],#CZ@]!OkSݤOP&%m2?mLp[4ds3'`&.a^o4Q,M..2|TM'bt'l4"_ RR#)Ħq.A؄$`\z0 +BФIQs th6MH^_t/2S$pD'ag؏3w]ŭ5bk6v!AJPeG!l<@P `%BjĢ h<``8TDŽw芶hJ3;&MiUZ8"q!I$H_tfLBQLHL6F}D΂b_jEa%r8sKaR\(?c^p&Š{.4[cz>/U( 2 @Uѯ,   @X(&.b҉MGhA7!z,%Ayڹg sC=)fC0WR"J (@`*6g(~V^Ddn qlJC0lw퇬Veb@OokjHH:`= OpS^oFl&e*j&icRQL\PvIJV-kȆ ԅzHx ֔m\㈞-c`'2S27{Gkɰxn um,dqv'FÈb0a[N5[oƽGy` X3Okq$"R$uB'MEP#A\`@T@ pQtA`cD*'u|CC`` TN- ;VI>%nC89UǠH6 w]]XJq&xh7e0-F pQVnv8`6(! @`^¬ln,2gd:e\2fT ֎2+fc ƒd&f%6:*B,LnRӎzf?Z+xd+Z3clՆ EF`@ `' q'^T+w<a,* J! H<31UXEcmBr;Og\7@`Y!ekanۅN!(+t&8('hkĠְ+|4g4pnNef965Ė?pW@}@` ~cd2,?aH;?$L ͠o|~9w>B@Sv?!/X- x-ߏ&opY#?@@·:~@oCjť0 @ QY@ir~$d2$ SA+/qr-.gPDcuF;N(-GЅ:XGч(77E_1gz] 0"~@ÚH2h1{'€`2"av!<>ltHё @H|H( Ҁ ~r}<5"0:9^ͣJ@&{gi/ #ڷ &IL% R 8 4h|(* Ay'!e&8b*@:3m۽/2^=u>˒!`"H}.ҙY!nHBM"2dHڬ-O;=Oa[]d.H95 R")˛ZhE46blZ("MI{RV]h飞(h7̵ nJ\.h*G*Ixp `0>#W5oREeM+àryfMa~"oPS]i0\T'Ȯ\gatG wgN*^\5uYA(lfW8[[LAOGPk4ȃtOP+vZ, `GVVge"$H t !]D(*{i`0/AFY=L39#ań绳a"p@f7@H , eg: |4"),!cjm'BaleHHۃPX XCe  h* AT( @0 }^Qc}nj6q=GԳŒEZA02 ,?<~H=g&3HX Ҽ D1hBG" յ4@) ul $cvU'nC!p'P{3ǠwgB@upGJ,WGNĒ-GD`yj+8 ^ə\5&Z 2xa;s@4{0!@Y9kaDIY:5lSD'Kh9v\cD SIw[*t7N!nVq3idk;]r+($![cy:G0wG U`|BH> PJl!n1 H&7 T$ƙTa!$i0({ sU"$D\LX O:SCZy:. fbGUex SP-5m-I[r@)W R/#}q97FcM^vELls|ۉK" a=( L\5ъ5.dS5!`zqۗPM}Bg5آc mxlK,THqrXBաϾ+j_T議[VjKG35RCGW[ȳք 8۪M xjԇ]BJ&g0`]T'UIkVZ\]ݚ+:."Wͦ0ħ * Q'.a2Ӧ%A& BTCsA=h 8Oyq&VVrdis[Kfnu'Il@H=5US>FCq N[>\*نCYu= 7t;2t O56m.gP3?PP(d`!RDR©Xc0oh@!L~C!9C&kB[G` pB_&"CY䄍Y|-U"0$]]Gq9q(]Ģw>1`tAmb]jNPj>T GcD[M9VCT;8uHml;pgp UBpx;ڔY b}ĩ`CZSшu~&)чv x0~x,(2D/ ty񤀒 pv![&;rĖ,Am|uTK6)71Xk5(}_,IfQs`l+jQd,4KKc pL섡⮓ .} d-s yiG9qC{Hr: (S+s˰rpvs,`ܧ)鵲cQR ݷlqd(bƍ8koࡑ!ȱ5Af/y="АʘҩQʚ Z%2RS94 $aXD*Px.?,M@! 5(W9-9b19A3dj('V{e Iը{uMsDw:-Ra8 DP=Qt(| =Ӈ 3 Et$9y w݆-uhv1Bs X}$F^0!Phgmqw 8 Ab?M 0SGw 𜑽s DqJpv]ч)UiE͋XixգĉO y!@yx!x:YЍpD0!LZ8? CJA ~3*@|x b@=t|CRU *-xvhw~ej Ё<*A KqM5[Q9$O 1سN ~1^}d yJK `4_yHLRr+S8xxpX@psx>($Yí{~ H#| @H !!idі"$%2b(,QAcW|`n]TL9'A] WL .~^ ٩ JZN [HЦSvP(tF ʡ$g-U3i'aJ8s4X[ HXI ikz!kہO#% `|   K!˝q@A+# 'Ģ.b4 tK_ŏKu6,{(LjqV삖)]#Qf5f,,sōepѣWыUPn?F4R*ݖ0v\.=XVkGy`u β똕z$ԫh YuY̚fQXPtL؇0_p Y歕p6_Т9lIyKəUt*9x3. mjIXo9dC0d8+5ӖEf![ shup^^s;jmh)ܗ RFQQ8H%zY Hx+ _p#˩i58@ѡ 1`H&8%I >U љbI=zm>Hw9C[F5Rgx  ,AA5T$)X- 9@"Po XtXH080Dr)ϥaCe [YePkl"p 8yuRx`xAAp B U; G,xzv+ݱpgJ==pyi$hx#X"(Љ3P8*NM]NXh z|wV#]Ux\̌wwLbۙ_pĸ{~ ±-"bIL0ʡ R\:ֺŭ蓤I\*,t,g!K5茒= pR&|%Ҁ8~y:?ްX8&v a,{,pQ\SAbյk P o,CcO =! 9ǟ1Ep$ `+}=^&|8s dX` ~Z@}^q}>r  C!oGwxNf3\7 / p,X>rU  ~OoT1P%B"0P<{1L`Vx| $Acg9o^[8X$')0 <<,ʕ++1Jd'|,i\1Bm$CE(A&P Qem# Ȅ~~)6r  LqTˈ CpbI K!̜T̓2z!p" ˱b<_O)= ARI=˔2{4O@H⨅@$ڦLT*?E7KrϤ$XJϪ)tGmrʷ)PH +8E}3L @h w  , Z0اBeᆁj؋̟X)x ~'ze2 @~0( 1YI`G s1;D ('|IBt°!{,#$cdGIJ2G!'yz%w.Iɑyf,m& kN.|Ϯ̰2GؤR9!H @ 69p P3C @yx43 ,X A)r\Ƒm@X* ~`2jۨ|JuiX Z$%!gczQE Z?a1fO+dzA;h{Àe B&L 0l Cufff"шc<6ɪn& ̮R$P灃w(xA@ 2J m` A;*_OGza;3'8 xZgT)L~AYL ~Ojo7%\VOn,m>!VN)"B)CnY1%O[$b@ i9l7cBH!)'C*+¸L]dF.@A6{kj8Bc¸`?zG}@ĐLbPãuI@3[2PB{vN=6@xt6FTlRwS%٢f>QXcٝL#)i< !1fK#$(BO#HǨNWNyd7' )@!h&B$Hcp`D'~B(`>D+ 뺴\SʬcⅈPF$YؤEΊ3=^ ʤ5TySFB1B$˪Pz%:J]6f<+<?xe-H<ǿ|džAp}\Z35+fm lx;Fީ8M$@@b2[=8$D,: \X»%]qwdŎ2fS^#Ti;GLWHȱhlO CIcy OA`4p.@ /$զ/!P&m|Rs`}ք:f 8 r `0y`k.s@mm=H*taO$A=e; ޒ;lx5G۬v٬9lbRrI]2|9Za陝S+4f3 @j &hm :' PO]\K1$r9\2 LDD 2F#l"ClnaSSӐ^}SP-vx$mml^j'+@$ڏF~ fbV-F!#+0+c>cL`+@dj% +ka?`04)³^BH" Caೄt~@@D)`0aBT,@̠*@Ɛ!2ʂ2?om4$D<$|n,n%?,hBɴPb%n?(6x&QDB|i!jB@&D`4+fL[`N!3da&A裡YI)K*Rb p`*: 4"@ %"eAp2) Cc$Ppe~b,bSaDbEA1Br%lI ΠͼBbl& )ЯKBF\"LCQb~-lR&"r%z!B::r@('Ƚ7'Nu'+#CK+RN* yvv(#=#fFi;V1T1*.`%*In L082 Hbsx:IjH(>g+GTf$ B( %`=$_ "xLk$XINs/%FF&b@,$vcl~Fa;Lz"IgxC2? *H$2` !xrF& pG$6VE,@I]OCIqD>ĶDEB jPg)žʙ&0n`r&#ۭ:ؤ&EPm4"#lVr$u8ͣP&:+݃`4OBo¾eoH9DEFP4h\K=ſ?AdJNޙ%oH,+"crb'E``0T g6#Þv!]:Ka$Dgþ $ ~a&FH$+iP3K9?T*+Pڇ@0EPAY"f1>Bdb#B( "e `^!^`MV/&Q*bO@$dG%eKm&)/ Z TO+SH VJAt03,%KSEA`a!B-i fCĂIdcKR6""ev! MϱLbfVLSvV!&Lp^C,"':B 2]|= :,`thmCHBeO\?j\nlޥwM1D'šI +|\0+.4b(OJTyz!ແćeb:ov&f6}jH&˜RLfb@LJg"&ei $#eZXJ@|!@A0EMڍ:$2=ʝ:;te6F8d} ȑBy(޺`l'"$5 fU3 jva&SeP_`,!mY*|'--{A ϧ߀@8&_0?~9$ 5OG"4e#M$m:3#@T>@# Oo MX鏫uuN~_@@ ,{9ޯdP5"I@/NB{ޣ1PT+*m .hmI%8~\@v;\(|6|^W@0- xPLF}%@ @*RyG(9'I:G~ߟ'}|' ,ߩګ*+*zrVD@ jI ,Jĝ\ L'ژ#G1rRI#ʊ3RI.kh˒t':>ISϲ]P$Ot":PҊ-\ mk"ˀ% l( F-$;%B{kgQ, X`Jwr3roE"`PyGiFoW&i EC6#n. d9bygnہhn&1a@ n |Gqxp x .yެ@Hxr:'Ilj px!(yzǹ$鲊V8[l'gd@Ogk29K*F~k(keCB^J.2NY/K@ A &s8p 9GPZ 0g>[  QqVAm:l;ix=Qx* M q5#^}C}q=Gpd{1OJHpv]D$٭EŬ3~=Kd PKz1#@tX?@@zk :]G8.@BJ`J':c?P{N Ct`D pw<8L7=qx* S@7GNОX\ Wep  p @(:° K+eD" $f~Vcy+\0dO`<>_hGR7Q1tV jSvHUZc_ ("2[=uQE/'JCُbG.HPl "zG@,%TR ApB h;@ (^8` sk(@"tI@@۬O.OL{= ,h cq) V(`+Q.F3v Ff O- PAK3bO !bv4&+-(Qnjbx `LtB 03c=RjCcPp0/SvͺPCEbn }-hǢv}c-<@.J+}I-6LrlOKBW$+2E@0`D2 ĩ+i< #)(䬐bJIВ\RmKHhߓeZG6,<ɥrOѾgC)Sb5R9EVj*?ҜHej*6H[V*/İIKD E!\s*L %zCS…y)]-Z JmrX24L0dJ0I!Fܙfh1;F~rfQ36$=%>GLt|H`\ &8bI ܷsmΕnjJ%pԸA0f9-| ([}*5w2GB&D0}0o j-EMIĘ$e@L BHϙ5Gp@:pןG_*PDbΠI幁 . 8%ؽKtowšR%8 tF]q#tk!|.>肀YdȈ% 3\hUrK:aXJ?f}+ ((p nq(`p(#`&`ǻJ,ۚq@xt"Q#p&"s| <+1(!{貱IP(H" i24Ð .=uPvf0&  ~im.#; Q_-{# d%#  Z-"!yWv|{XP x hsi #ؒpshk`zYf ( 8|<9܀`h}6_%Y猨}z bx[ *n+zׇ ۩ـxX}T\~#?L ꬞K6>jY2fahX4@y`x?4j ~ @q`hmP |ـ, qXs2H>d"8 =Y./y/[2IptL FH~qxj_%L6!r-ZC=j{2n.*9P`p Y(X )9m}(` `xs@m}xX+j&|.|XL1 F $kl~=[* ؒ F#fO r"qQҗi+غ8}8` 0ȖI*<тDʤ:c a% 5IoHEXУ#)4R/$Z):R;W*FbԵh!Rk@;QcS@N56-<̀@Αr̀?:w@Ʉ 4wAM4 !"9 o ȊUeR<9s8 ".\ J<5( ~QR`3H.n. ν pp:A;mB]ضPrfg+#HNRCpب8S8S-ZpYZr3f8fK`|.D % A𛽠$Dx+*8m0YIXpˉNjX൐f@iZ`{"8>*Z&⟒ă(d%Us)o [+j2`uu3 p@xa`gy +q,%߸XP A"h1! }pwRq| azt`sxx(L*ȋ8 +{$( lȀۜ0@:pH'8R|'؊v 0}( Mћ[2iBtȶ98NS ٣I r^ p HrxdHj"H|/ Y2khL6#C[" xY(E= [.:U7Mx  @3{IEۓB'+x8A?soY,8ox q {%}d٣J <;'C蒳zp8rq8jHr x ] (lto9 ޣC@z S՜zzLr PIeٝ0Ѓp w!)Ƙ ]M XP^%'F^JX0xBaz+ @ ΆhssPbY =ćtXr1IS@ T=.ƴ(#s41D=n+ޯ4soMWCԦbTR`F!-3!@%z~6Z@ Ьڱr1t] Wf5oQ S5)]_u}-o&QtK H" ii}Ou+]jՎ ^TJ,h+X ̨NF 9Bsz3ʾYdIuY]6 lHx 2)g5n'i̾JC%xǔqLZZ,hpy`+ ,y!}J%@: {"-,2*F h&ˡ@pB"Ƅ--K;/ͳe.,9y@( E#r<ǘ=i)ʹ>$2P_QS,2X 7o;x\m3p$hJ'M7,/cd#.S64ĞꩇM1|Њke(:1,+YRVJ#esĕ>";BuݣŨ$䤕\Idd)ěa4Y:G1(Bz\Ku.佗`L0"mLiXLY2S*'F)R"BrL I& bn!Kپ⹙|SNIQ&KSp}UdkssZyͥ|xrU8` eGqZBe >Q%D^Q5F~REH%%ԞRTcH    )=> ? , ףzTLff&(\ PW9Ttiff-0.9.0/tests/decode_bigtiff_images.rs000064400000000000000000000024451046102023000165410ustar 00000000000000extern crate tiff; use tiff::decoder::Decoder; use tiff::tags::Tag; use tiff::ColorType; use std::fs::File; use std::path::PathBuf; const TEST_IMAGE_DIR: &str = "./tests/images/bigtiff"; #[test] fn test_big_tiff() { let filenames = ["BigTIFF.tif", "BigTIFFMotorola.tif", "BigTIFFLong.tif"]; for filename in filenames.iter() { let path = PathBuf::from(TEST_IMAGE_DIR).join(filename); let img_file = File::open(path).expect("Cannot find test image!"); let mut decoder = Decoder::new(img_file).expect("Cannot create decoder"); assert_eq!( decoder.dimensions().expect("Cannot get dimensions"), (64, 64) ); assert_eq!( decoder.colortype().expect("Cannot get colortype"), ColorType::RGB(8) ); assert_eq!( decoder .get_tag_u64(Tag::StripOffsets) .expect("Cannot get StripOffsets"), 16 ); assert_eq!( decoder .get_tag_u64(Tag::RowsPerStrip) .expect("Cannot get RowsPerStrip"), 64 ); assert_eq!( decoder .get_tag_u64(Tag::StripByteCounts) .expect("Cannot get StripByteCounts"), 12288 ) } } tiff-0.9.0/tests/decode_images.rs000064400000000000000000000425421046102023000150510ustar 00000000000000extern crate tiff; use tiff::decoder::{ifd, Decoder, DecodingResult}; use tiff::ColorType; use std::fs::File; use std::path::PathBuf; const TEST_IMAGE_DIR: &str = "./tests/images/"; macro_rules! test_image_sum { ($name:ident, $buffer:ident, $sum_ty:ty) => { fn $name(file: &str, expected_type: ColorType, expected_sum: $sum_ty) { let path = PathBuf::from(TEST_IMAGE_DIR).join(file); let img_file = File::open(path).expect("Cannot find test image!"); let mut decoder = Decoder::new(img_file).expect("Cannot create decoder"); assert_eq!(decoder.colortype().unwrap(), expected_type); let img_res = decoder.read_image().unwrap(); match img_res { DecodingResult::$buffer(res) => { let sum: $sum_ty = res.into_iter().map(<$sum_ty>::from).sum(); assert_eq!(sum, expected_sum); } _ => panic!("Wrong bit depth"), } } }; } test_image_sum!(test_image_sum_u8, U8, u64); test_image_sum!(test_image_sum_i8, I8, i64); test_image_sum!(test_image_sum_u16, U16, u64); test_image_sum!(test_image_sum_i16, I16, i64); test_image_sum!(test_image_sum_u32, U32, u64); test_image_sum!(test_image_sum_u64, U64, u64); test_image_sum!(test_image_sum_f32, F32, f32); test_image_sum!(test_image_sum_f64, F64, f64); /// Tests that a decoder can be constructed for an image and the color type /// read from the IFD and is of the appropriate type, but the type is /// unsupported. fn test_image_color_type_unsupported(file: &str, expected_type: ColorType) { let path = PathBuf::from(TEST_IMAGE_DIR).join(file); let img_file = File::open(path).expect("Cannot find test image!"); let mut decoder = Decoder::new(img_file).expect("Cannot create decoder"); assert_eq!(decoder.colortype().unwrap(), expected_type); assert!(match decoder.read_image() { Err(tiff::TiffError::UnsupportedError( tiff::TiffUnsupportedError::UnsupportedColorType(_), )) => true, _ => false, }); } #[test] fn test_cmyk_u8() { test_image_sum_u8("cmyk-3c-8b.tiff", ColorType::CMYK(8), 8522658); } #[test] fn test_cmyk_u16() { test_image_sum_u16("cmyk-3c-16b.tiff", ColorType::CMYK(16), 2181426827); } #[test] fn test_cmyk_f32() { test_image_sum_f32("cmyk-3c-32b-float.tiff", ColorType::CMYK(32), 496.0405); } #[test] fn test_gray_u8() { test_image_sum_u8("minisblack-1c-8b.tiff", ColorType::Gray(8), 2840893); } #[test] fn test_gray_u12() { test_image_color_type_unsupported("12bit.cropped.tiff", ColorType::Gray(12)); } #[test] fn test_gray_u16() { test_image_sum_u16("minisblack-1c-16b.tiff", ColorType::Gray(16), 733126239); } #[test] fn test_gray_u32() { test_image_sum_u32("gradient-1c-32b.tiff", ColorType::Gray(32), 549892913787); } #[test] fn test_gray_u64() { test_image_sum_u64("gradient-1c-64b.tiff", ColorType::Gray(64), 549892913787); } #[test] fn test_gray_f32() { test_image_sum_f32("gradient-1c-32b-float.tiff", ColorType::Gray(32), 128.03194); } #[test] fn test_gray_f64() { test_image_sum_f64( "gradient-1c-64b-float.tiff", ColorType::Gray(64), 128.0319210877642, ); } #[test] fn test_rgb_u8() { test_image_sum_u8("rgb-3c-8b.tiff", ColorType::RGB(8), 7842108); } #[test] fn test_rgb_u12() { test_image_color_type_unsupported("12bit.cropped.rgb.tiff", ColorType::RGB(12)); } #[test] fn test_rgb_u16() { test_image_sum_u16("rgb-3c-16b.tiff", ColorType::RGB(16), 2024349944); } #[test] fn test_rgb_u32() { test_image_sum_u32("gradient-3c-32b.tiff", ColorType::RGB(32), 2030834111716); } #[test] fn test_rgb_u64() { test_image_sum_u64("gradient-3c-64b.tiff", ColorType::RGB(64), 2030834111716); } #[test] fn test_rgb_f32() { test_image_sum_f32("gradient-3c-32b-float.tiff", ColorType::RGB(32), 472.8405); } #[test] fn test_int8() { test_image_sum_i8("int8.tif", ColorType::Gray(8), 3111) } #[test] fn test_int8_rgb() { test_image_sum_i8("int8_rgb.tif", ColorType::RGB(8), -10344) } #[test] fn test_int16() { test_image_sum_i16("int16.tif", ColorType::Gray(16), 354396); } #[test] fn test_int16_rgb() { test_image_sum_i16("int16_rgb.tif", ColorType::RGB(16), 1063188); } #[test] fn test_string_tags() { // these files have null-terminated strings for their Software tag. One has extra bytes after // the null byte, so we check both to ensure that we're truncating properly let filenames = ["minisblack-1c-16b.tiff", "rgb-3c-16b.tiff"]; for filename in filenames.iter() { let path = PathBuf::from(TEST_IMAGE_DIR).join(filename); let img_file = File::open(path).expect("Cannot find test image!"); let mut decoder = Decoder::new(img_file).expect("Cannot create decoder"); let software = decoder.get_tag(tiff::tags::Tag::Software).unwrap(); match software { ifd::Value::Ascii(s) => assert_eq!( &s, "GraphicsMagick 1.2 unreleased Q16 http://www.GraphicsMagick.org/" ), _ => assert!(false), }; } } #[test] fn test_decode_data() { let mut image_data = Vec::new(); for x in 0..100 { for y in 0..100u8 { let val = x + y; image_data.push(val); image_data.push(val); image_data.push(val); } } let file = File::open("./tests/decodedata-rgb-3c-8b.tiff").unwrap(); let mut decoder = Decoder::new(file).unwrap(); assert_eq!(decoder.colortype().unwrap(), ColorType::RGB(8)); assert_eq!(decoder.dimensions().unwrap(), (100, 100)); if let DecodingResult::U8(img_res) = decoder.read_image().unwrap() { assert_eq!(image_data, img_res); } else { panic!("Wrong data type"); } } #[test] fn issue_69() { test_image_sum_u16("issue_69_lzw.tiff", ColorType::Gray(16), 1015486); test_image_sum_u16("issue_69_packbits.tiff", ColorType::Gray(16), 1015486); } // TODO: GrayA support //#[test] //fn test_gray_alpha_u8() //{ //let img_file = File::open("./tests/images/minisblack-2c-8b-alpha.tiff").expect("Cannot find test image!"); //let mut decoder = Decoder::new(img_file).expect("Cannot create decoder"); //assert_eq!(decoder.colortype().unwrap(), ColorType::GrayA(8)); //let img_res = decoder.read_image(); //assert!(img_res.is_ok()); //} #[test] fn test_tiled_rgb_u8() { test_image_sum_u8("tiled-rgb-u8.tif", ColorType::RGB(8), 39528948); } #[test] fn test_tiled_rect_rgb_u8() { test_image_sum_u8("tiled-rect-rgb-u8.tif", ColorType::RGB(8), 62081032); } /* #[test] fn test_tiled_jpeg_rgb_u8() { test_image_sum_u8("tiled-jpeg-rgb-u8.tif", ColorType::RGB(8), 93031606); } */ #[test] fn test_tiled_oversize_gray_i8() { test_image_sum_i8("tiled-oversize-gray-i8.tif", ColorType::Gray(8), 1214996); } #[test] fn test_tiled_cmyk_i8() { test_image_sum_i8("tiled-cmyk-i8.tif", ColorType::CMYK(8), 1759101); } #[test] fn test_tiled_incremental() { let file = "tiled-rgb-u8.tif"; let expected_type = ColorType::RGB(8); let sums = [ 188760, 195639, 108148, 81986, 665088, 366140, 705317, 423366, 172033, 324455, 244102, 81853, 181258, 247971, 129486, 55600, 565625, 422102, 730888, 379271, 232142, 292549, 244045, 86866, 188141, 115036, 150785, 84389, 353170, 459325, 719619, 329594, 278663, 220474, 243048, 113563, 189152, 109684, 179391, 122188, 279651, 622093, 724682, 302459, 268428, 204499, 224255, 124674, 170668, 121868, 192768, 183367, 378029, 585651, 657712, 296790, 241444, 197083, 198429, 134869, 182318, 86034, 203655, 182338, 297255, 601284, 633813, 242531, 228578, 206441, 193552, 125412, 181527, 165439, 202531, 159538, 268388, 565790, 611382, 272967, 236497, 215154, 158881, 90806, 106114, 182342, 191824, 186138, 215174, 393193, 701228, 198866, 227944, 193830, 166330, 49008, 55719, 122820, 197316, 161969, 203152, 170986, 624427, 188605, 186187, 111064, 115192, 39538, 48626, 163929, 144682, 135796, 194141, 154198, 584125, 180255, 153524, 121433, 132641, 35743, 47798, 152343, 162874, 167664, 160175, 133038, 659882, 138339, 166470, 124173, 118929, 51317, 45267, 155776, 161331, 161006, 130052, 137618, 337291, 106481, 161999, 127343, 87724, 59540, 63907, 155677, 140668, 141523, 108061, 168657, 186482, 98599, 147614, 139963, 90444, 56602, 92547, 125644, 134212, 126569, 144153, 179800, 174516, 133969, 129399, 117681, 83305, 55075, 110737, 115108, 128572, 128911, 130922, 179986, 143288, 145884, 155856, 96683, 94057, 56238, 79649, 71651, 70182, 75010, 77009, 98855, 78979, 74341, 83482, 53403, 59842, 30305, ]; let path = PathBuf::from(TEST_IMAGE_DIR).join(file); let img_file = File::open(path).expect("Cannot find test image!"); let mut decoder = Decoder::new(img_file).expect("Cannot create decoder"); assert_eq!(decoder.colortype().unwrap(), expected_type); let tiles = decoder.tile_count().unwrap(); assert_eq!(tiles as usize, sums.len()); for tile in 0..tiles { match decoder.read_chunk(tile).unwrap() { DecodingResult::U8(res) => { let sum: u64 = res.into_iter().map(::from).sum(); assert_eq!(sum, sums[tile as usize]); } _ => panic!("Wrong bit depth"), } } } #[test] fn test_div_zero() { use tiff::{TiffError, TiffFormatError}; let image = [ 73, 73, 42, 0, 8, 0, 0, 0, 8, 0, 0, 1, 4, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 40, 1, 0, 0, 0, 158, 0, 0, 251, 3, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 39, 6, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 17, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 0, 0, 0, 158, 0, 0, 251, 67, 1, 3, 0, 1, 0, 0, 0, 40, 0, 0, 0, 66, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 178, 178, 178, 178, 178, 178, 178, ]; let err = tiff::decoder::Decoder::new(std::io::Cursor::new(&image)).unwrap_err(); match err { TiffError::FormatError(TiffFormatError::StripTileTagConflict) => {} unexpected => panic!("Unexpected error {}", unexpected), } } #[test] fn test_too_many_value_bytes() { let image = [ 73, 73, 43, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 8, 0, 0, 0, 23, 0, 12, 0, 0, 65, 4, 0, 1, 6, 0, 0, 1, 16, 0, 1, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 59, 73, 84, 186, 202, 83, 240, 66, 1, 53, 22, 56, 47, 0, 0, 0, 0, 0, 0, 1, 222, 4, 0, 58, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 4, 0, 0, 100, 0, 0, 89, 89, 89, 89, 89, 89, 89, 89, 96, 1, 20, 89, 89, 89, 89, 18, ]; let error = tiff::decoder::Decoder::new(std::io::Cursor::new(&image)).unwrap_err(); match error { tiff::TiffError::LimitsExceeded => {} unexpected => panic!("Unexpected error {}", unexpected), } } #[test] fn fuzzer_testcase5() { let image = [ 73, 73, 42, 0, 8, 0, 0, 0, 8, 0, 0, 1, 4, 0, 1, 0, 0, 0, 100, 0, 0, 0, 1, 1, 4, 0, 1, 0, 0, 0, 158, 0, 0, 251, 3, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 6, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 17, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 246, 16, 0, 0, 22, 1, 4, 0, 1, 0, 0, 0, 40, 0, 251, 255, 23, 1, 4, 0, 1, 0, 0, 0, 48, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, ]; let mut decoder = tiff::decoder::Decoder::new(std::io::Cursor::new(&image)).unwrap(); let _ = decoder.read_image().unwrap_err(); } #[test] fn fuzzer_testcase1() { let image = [ 73, 73, 42, 0, 8, 0, 0, 0, 8, 0, 0, 1, 4, 0, 1, 0, 0, 0, 99, 255, 255, 254, 1, 1, 4, 0, 1, 0, 0, 0, 158, 0, 0, 251, 3, 1, 3, 255, 254, 255, 255, 0, 1, 0, 0, 0, 6, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 17, 1, 4, 0, 9, 0, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 2, 0, 0, 0, 63, 0, 0, 0, 22, 1, 4, 0, 1, 0, 0, 0, 44, 0, 0, 0, 23, 1, 4, 0, 0, 0, 0, 0, 0, 0, 2, 1, 3, 1, 0, 178, 178, ]; let _ = tiff::decoder::Decoder::new(std::io::Cursor::new(&image)).unwrap_err(); } #[test] fn test_stripped_image_overflow() { let image = [ 73, 73, 42, 0, 8, 0, 0, 0, 8, 0, 0, 1, 4, 0, 1, 0, 0, 0, 100, 0, 0, 148, 1, 1, 4, 0, 1, 0, 0, 0, 158, 0, 0, 251, 3, 1, 3, 255, 254, 255, 255, 0, 1, 0, 0, 0, 6, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 17, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 2, 0, 0, 0, 63, 0, 0, 0, 22, 1, 4, 0, 1, 0, 0, 0, 44, 0, 248, 255, 23, 1, 4, 0, 1, 0, 0, 0, 178, 178, 178, 0, 1, 178, 178, 178, ]; let mut decoder = tiff::decoder::Decoder::new(std::io::Cursor::new(&image)).unwrap(); let err = decoder.read_image().unwrap_err(); match err { tiff::TiffError::LimitsExceeded => {} unexpected => panic!("Unexpected error {}", unexpected), } } #[test] fn oom() { let image = [ 73, 73, 42, 0, 8, 0, 0, 0, 8, 0, 0, 1, 4, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 40, 1, 0, 0, 0, 158, 0, 0, 251, 3, 1, 3, 0, 1, 0, 0, 0, 7, 0, 0, 0, 6, 1, 3, 0, 1, 0, 0, 0, 2, 0, 0, 0, 17, 1, 4, 0, 1, 0, 0, 0, 3, 77, 0, 0, 1, 1, 3, 0, 1, 0, 0, 0, 3, 128, 0, 0, 22, 1, 4, 0, 1, 0, 0, 0, 40, 0, 0, 0, 23, 1, 4, 0, 1, 0, 0, 0, 178, 48, 178, 178, 178, 178, 162, 178, ]; let _ = tiff::decoder::Decoder::new(std::io::Cursor::new(&image)).unwrap_err(); } #[test] fn fuzzer_testcase4() { let image = [ 73, 73, 42, 0, 8, 0, 0, 0, 8, 0, 0, 1, 4, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 40, 1, 0, 0, 0, 158, 0, 0, 251, 3, 1, 3, 0, 1, 0, 0, 0, 5, 0, 0, 0, 6, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 17, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 0, 0, 0, 3, 128, 0, 0, 22, 1, 4, 0, 1, 0, 0, 0, 40, 0, 0, 0, 23, 1, 4, 0, 1, 0, 0, 0, 48, 178, 178, 178, 0, 1, 0, 13, 13, ]; let _ = tiff::decoder::Decoder::new(std::io::Cursor::new(&image)).unwrap_err(); } #[test] fn fuzzer_testcase2() { let image = [ 73, 73, 42, 0, 8, 0, 0, 0, 15, 0, 0, 254, 44, 1, 0, 0, 0, 0, 0, 32, 0, 0, 0, 1, 4, 0, 1, 0, 0, 0, 0, 1, 0, 0, 91, 1, 1, 0, 0, 0, 0, 0, 242, 4, 0, 0, 0, 22, 0, 56, 77, 0, 77, 1, 0, 0, 73, 42, 0, 1, 4, 0, 1, 0, 0, 0, 4, 0, 8, 0, 0, 1, 4, 0, 1, 0, 0, 0, 158, 0, 0, 251, 3, 1, 3, 0, 1, 0, 0, 0, 7, 0, 0, 0, 6, 1, 3, 0, 1, 0, 0, 0, 2, 0, 0, 0, 17, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 4, 61, 1, 18, 0, 1, 0, 0, 0, 202, 0, 0, 0, 17, 1, 100, 0, 129, 0, 0, 0, 0, 0, 0, 0, 232, 254, 252, 255, 254, 255, 255, 255, 1, 29, 0, 0, 22, 1, 3, 0, 1, 0, 0, 0, 16, 0, 0, 0, 23, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 123, 73, 254, 0, 73, ]; let _ = tiff::decoder::Decoder::new(std::io::Cursor::new(&image)).unwrap_err(); } #[test] fn invalid_jpeg_tag_2() { let image = [ 73, 73, 42, 0, 8, 0, 0, 0, 16, 0, 254, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 242, 0, 1, 4, 0, 1, 0, 0, 0, 0, 129, 16, 0, 1, 1, 4, 0, 1, 0, 0, 0, 214, 0, 0, 248, 253, 1, 3, 0, 1, 0, 0, 0, 64, 0, 0, 0, 3, 1, 3, 0, 1, 0, 0, 0, 7, 0, 0, 0, 6, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 64, 14, 1, 0, 2, 0, 0, 148, 0, 206, 0, 0, 0, 17, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 22, 1, 4, 0, 17, 0, 0, 201, 1, 0, 0, 0, 23, 1, 2, 0, 20, 0, 0, 0, 194, 0, 0, 0, 91, 1, 7, 0, 5, 0, 0, 0, 64, 0, 0, 0, 237, 254, 65, 255, 255, 255, 255, 255, 1, 0, 0, 0, 22, 1, 4, 0, 1, 0, 0, 0, 42, 0, 0, 0, 23, 1, 255, 255, 255, 255, 255, 36, 36, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 36, 73, 73, 0, 42, 36, 36, 36, 36, 0, 0, 8, 0, ]; let _ = tiff::decoder::Decoder::new(std::io::Cursor::new(&image)).unwrap_err(); } #[test] fn fuzzer_testcase3() { let image = [ 73, 73, 42, 0, 8, 0, 0, 0, 8, 0, 0, 1, 4, 0, 1, 0, 0, 0, 2, 0, 0, 0, 61, 1, 9, 0, 46, 22, 128, 0, 0, 0, 0, 1, 6, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 17, 1, 4, 0, 27, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 0, 0, 0, 17, 1, 0, 231, 22, 1, 1, 0, 1, 0, 0, 0, 130, 0, 0, 0, 23, 1, 4, 0, 14, 0, 0, 0, 0, 0, 0, 0, 133, 133, 133, 77, 77, 77, 0, 0, 22, 128, 0, 255, 255, 255, 255, 255, ]; let _ = tiff::decoder::Decoder::new(std::io::Cursor::new(&image)).unwrap_err(); } #[test] fn timeout() { use tiff::{TiffError, TiffFormatError}; let image = [ 73, 73, 42, 0, 8, 0, 0, 0, 16, 0, 254, 0, 4, 0, 1, 68, 0, 0, 0, 2, 0, 32, 254, 252, 0, 109, 0, 129, 0, 0, 0, 32, 0, 58, 0, 1, 4, 0, 1, 0, 6, 0, 0, 0, 8, 0, 0, 1, 73, 73, 42, 0, 8, 0, 0, 0, 8, 0, 0, 1, 4, 0, 1, 0, 0, 0, 21, 0, 0, 0, 61, 1, 255, 128, 9, 0, 0, 8, 0, 1, 113, 2, 3, 1, 3, 0, 1, 0, 0, 0, 5, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 112, 0, 0, 36, 0, 0, 0, 112, 56, 200, 0, 5, 0, 0, 64, 0, 0, 1, 0, 4, 0, 0, 0, 2, 0, 6, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 4, 17, 1, 1, 0, 93, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 3, 6, 0, 231, 22, 1, 1, 0, 1, 0, 0, 0, 2, 64, 118, 36, 23, 1, 1, 0, 43, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 8, 0, 0, 73, 73, 42, 0, 8, 0, 0, 0, 0, 0, 32, ]; let error = tiff::decoder::Decoder::new(std::io::Cursor::new(&image)).unwrap_err(); match error { TiffError::FormatError(TiffFormatError::CycleInOffsets) => {} e => panic!("Unexpected error {:?}", e), } } #[test] fn test_no_rows_per_strip() { test_image_sum_u8("no_rows_per_strip.tiff", ColorType::RGB(8), 99448840); } #[test] fn test_predictor_3_rgb_f32() { test_image_sum_f32("predictor-3-rgb-f32.tif", ColorType::RGB(32), 54004.33); } #[test] fn test_predictor_3_gray_f32() { test_image_sum_f32("predictor-3-gray-f32.tif", ColorType::Gray(32), 20008.275); } tiff-0.9.0/tests/decodedata-rgb-3c-8b.tiff000064400000000000000000000727441046102023000162530ustar 00000000000000II* ddd0u(  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbccc  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccddd  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeee  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefff  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggg  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhh  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiii  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjj  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkk  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklll  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmm  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnn  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooo  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnoooppp !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqq !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrr !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrsss !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrsssttt !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuu !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvv !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwww !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxx !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyy !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{ !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{||| !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}} !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~!!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~)))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~BBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~CCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~DDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~EEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~FFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~GGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~HHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~IIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~JJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~KKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~LLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~MMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~NNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~OOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~PPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~QQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~RRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~SSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~TTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~UUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~VVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~WWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~XXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~YYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~bbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~cccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~tiff-0.9.0/tests/encode_images.rs000064400000000000000000000423641046102023000150650ustar 00000000000000extern crate tiff; use tiff::decoder::{ifd, Decoder, DecodingResult}; use tiff::encoder::{colortype, Ifd, Ifd8, SRational, TiffEncoder}; use tiff::tags::Tag; use tiff::ColorType; use std::fs::File; use std::io::{Cursor, Seek, SeekFrom}; use std::path::PathBuf; #[test] fn encode_decode() { let mut image_data = Vec::new(); for x in 0..100 { for y in 0..100u8 { let val = x + y; image_data.push(val); image_data.push(val); image_data.push(val); } } let mut file = Cursor::new(Vec::new()); { let mut tiff = TiffEncoder::new(&mut file).unwrap(); let mut image = tiff.new_image::(100, 100).unwrap(); image .encoder() .write_tag(Tag::Artist, "Image-tiff") .unwrap(); image.write_data(&image_data).unwrap(); } { file.seek(SeekFrom::Start(0)).unwrap(); let mut decoder = Decoder::new(&mut file).unwrap(); assert_eq!(decoder.colortype().unwrap(), ColorType::RGB(8)); assert_eq!(decoder.dimensions().unwrap(), (100, 100)); assert_eq!( decoder.get_tag(Tag::Artist).unwrap(), ifd::Value::Ascii("Image-tiff".into()) ); if let DecodingResult::U8(img_res) = decoder.read_image().unwrap() { assert_eq!(image_data, img_res); } else { panic!("Wrong data type"); } } } #[test] fn encode_decode_big() { let mut image_data = Vec::new(); for x in 0..100 { for y in 0..100u8 { let val = x + y; image_data.push(val); image_data.push(val); image_data.push(val); } } let mut file = Cursor::new(Vec::new()); { let mut tiff = TiffEncoder::new_big(&mut file).unwrap(); let mut image = tiff.new_image::(100, 100).unwrap(); image .encoder() .write_tag(Tag::Artist, "Image-tiff") .unwrap(); image.write_data(&image_data).unwrap(); } { file.seek(SeekFrom::Start(0)).unwrap(); let mut decoder = Decoder::new(&mut file).unwrap(); assert_eq!(decoder.colortype().unwrap(), ColorType::RGB(8)); assert_eq!(decoder.dimensions().unwrap(), (100, 100)); assert_eq!( decoder.get_tag(Tag::Artist).unwrap(), ifd::Value::Ascii("Image-tiff".into()) ); if let DecodingResult::U8(img_res) = decoder.read_image().unwrap() { assert_eq!(image_data, img_res); } else { panic!("Wrong data type"); } } } #[test] fn test_encode_ifd() { let mut data = Cursor::new(Vec::new()); { let mut tiff = TiffEncoder::new(&mut data).unwrap(); let mut image_encoder = tiff.new_image::(1, 1).unwrap(); image_encoder.write_strip(&[1]).unwrap(); let encoder = image_encoder.encoder(); // Use the "reusable" tags section as per the TIFF6 spec encoder.write_tag(Tag::Unknown(65000), Ifd(42u32)).unwrap(); encoder .write_tag(Tag::Unknown(65001), &[Ifd(100u32)][..]) .unwrap(); encoder .write_tag(Tag::Unknown(65002), &[Ifd(1u32), Ifd(2u32), Ifd(3u32)][..]) .unwrap(); encoder.write_tag(Tag::Unknown(65010), Ifd8(43u64)).unwrap(); encoder .write_tag(Tag::Unknown(65011), &[Ifd8(100u64)][..]) .unwrap(); encoder .write_tag( Tag::Unknown(65012), &[Ifd8(1u64), Ifd8(2u64), Ifd8(3u64)][..], ) .unwrap(); } // Rewind the cursor for reading data.set_position(0); { let mut decoder = Decoder::new(&mut data).unwrap(); assert_eq!(decoder.assert_tag_u32(65000), 42); assert_eq!(decoder.assert_tag_u32_vec(65000), [42]); assert_eq!(decoder.assert_tag_u32_vec(65001), [100]); assert_eq!(decoder.assert_tag_u32_vec(65002), [1, 2, 3]); assert_eq!(decoder.assert_tag_u64(65010), 43); assert_eq!(decoder.assert_tag_u64_vec(65010), [43]); assert_eq!(decoder.assert_tag_u64_vec(65011), [100]); assert_eq!(decoder.assert_tag_u64_vec(65012), [1, 2, 3]); } } #[test] /// Test that attempting to encode when the input buffer is undersized returns /// an error rather than panicking. /// See: https://github.com/PistonDevelopers/image-tiff/issues/35 fn test_encode_undersized_buffer() { let input_data = vec![1, 2, 3]; let output = Vec::new(); let mut output_stream = Cursor::new(output); if let Ok(mut tiff) = TiffEncoder::new(&mut output_stream) { let res = tiff.write_image::(50, 50, &input_data); assert!(res.is_err()); } } const TEST_IMAGE_DIR: &str = "./tests/images/"; macro_rules! test_roundtrip { ($name:ident, $buffer:ident, $buffer_ty:ty) => { fn $name>( file: &str, expected_type: ColorType, ) { let path = PathBuf::from(TEST_IMAGE_DIR).join(file); let img_file = File::open(path).expect("Cannot find test image!"); let mut decoder = Decoder::new(img_file).expect("Cannot create decoder"); assert_eq!(decoder.colortype().unwrap(), expected_type); let image_data = match decoder.read_image().unwrap() { DecodingResult::$buffer(res) => res, _ => panic!("Wrong data type"), }; let mut file = Cursor::new(Vec::new()); { let mut tiff = TiffEncoder::new(&mut file).unwrap(); let (width, height) = decoder.dimensions().unwrap(); tiff.write_image::(width, height, &image_data).unwrap(); } file.seek(SeekFrom::Start(0)).unwrap(); { let mut decoder = Decoder::new(&mut file).unwrap(); if let DecodingResult::$buffer(img_res) = decoder.read_image().unwrap() { assert_eq!(image_data, img_res); } else { panic!("Wrong data type"); } } } }; } test_roundtrip!(test_u8_roundtrip, U8, u8); test_roundtrip!(test_u16_roundtrip, U16, u16); test_roundtrip!(test_u32_roundtrip, U32, u32); test_roundtrip!(test_u64_roundtrip, U64, u64); test_roundtrip!(test_f32_roundtrip, F32, f32); test_roundtrip!(test_f64_roundtrip, F64, f64); #[test] fn test_gray_u8_roundtrip() { test_u8_roundtrip::("minisblack-1c-8b.tiff", ColorType::Gray(8)); } #[test] fn test_rgb_u8_roundtrip() { test_u8_roundtrip::("rgb-3c-8b.tiff", ColorType::RGB(8)); } #[test] fn test_cmyk_u8_roundtrip() { test_u8_roundtrip::("cmyk-3c-8b.tiff", ColorType::CMYK(8)); } #[test] fn test_gray_u16_roundtrip() { test_u16_roundtrip::("minisblack-1c-16b.tiff", ColorType::Gray(16)); } #[test] fn test_rgb_u16_roundtrip() { test_u16_roundtrip::("rgb-3c-16b.tiff", ColorType::RGB(16)); } #[test] fn test_cmyk_u16_roundtrip() { test_u16_roundtrip::("cmyk-3c-16b.tiff", ColorType::CMYK(16)); } #[test] fn test_gray_u32_roundtrip() { test_u32_roundtrip::("gradient-1c-32b.tiff", ColorType::Gray(32)); } #[test] fn test_rgb_u32_roundtrip() { test_u32_roundtrip::("gradient-3c-32b.tiff", ColorType::RGB(32)); } #[test] fn test_gray_u64_roundtrip() { test_u64_roundtrip::("gradient-1c-64b.tiff", ColorType::Gray(64)); } #[test] fn test_rgb_u64_roundtrip() { test_u64_roundtrip::("gradient-3c-64b.tiff", ColorType::RGB(64)); } #[test] fn test_gray_f32_roundtrip() { test_f32_roundtrip::("gradient-1c-32b-float.tiff", ColorType::Gray(32)); } #[test] fn test_rgb_f32_roundtrip() { test_f32_roundtrip::("gradient-3c-32b-float.tiff", ColorType::RGB(32)); } #[test] fn test_cmyk_f32_roundtrip() { test_f32_roundtrip::("cmyk-3c-32b-float.tiff", ColorType::CMYK(32)); } #[test] fn test_gray_f64_roundtrip() { test_f64_roundtrip::("gradient-1c-64b-float.tiff", ColorType::Gray(64)); } #[test] fn test_ycbcr_u8_roundtrip() { test_u8_roundtrip::("tiled-jpeg-ycbcr.tif", ColorType::YCbCr(8)); } trait AssertDecode { fn assert_tag_u32(&mut self, tag: u16) -> u32; fn assert_tag_u32_vec(&mut self, tag: u16) -> Vec; fn assert_tag_i32(&mut self, tag: u16) -> i32; fn assert_tag_i32_vec(&mut self, tag: u16) -> Vec; fn assert_tag_u64(&mut self, tag: u16) -> u64; fn assert_tag_u64_vec(&mut self, tag: u16) -> Vec; fn assert_tag_i64(&mut self, tag: u16) -> i64; fn assert_tag_i64_vec(&mut self, tag: u16) -> Vec; } impl AssertDecode for Decoder { fn assert_tag_u32(&mut self, tag: u16) -> u32 { self.get_tag(Tag::Unknown(tag)).unwrap().into_u32().unwrap() } fn assert_tag_u32_vec(&mut self, tag: u16) -> Vec { self.get_tag(Tag::Unknown(tag)) .unwrap() .into_u32_vec() .unwrap() } fn assert_tag_i32(&mut self, tag: u16) -> i32 { self.get_tag(Tag::Unknown(tag)).unwrap().into_i32().unwrap() } fn assert_tag_i32_vec(&mut self, tag: u16) -> Vec { self.get_tag(Tag::Unknown(tag)) .unwrap() .into_i32_vec() .unwrap() } fn assert_tag_u64(&mut self, tag: u16) -> u64 { self.get_tag(Tag::Unknown(tag)).unwrap().into_u64().unwrap() } fn assert_tag_u64_vec(&mut self, tag: u16) -> Vec { self.get_tag(Tag::Unknown(tag)) .unwrap() .into_u64_vec() .unwrap() } fn assert_tag_i64(&mut self, tag: u16) -> i64 { self.get_tag(Tag::Unknown(tag)).unwrap().into_i64().unwrap() } fn assert_tag_i64_vec(&mut self, tag: u16) -> Vec { self.get_tag(Tag::Unknown(tag)) .unwrap() .into_i64_vec() .unwrap() } } #[test] fn test_multiple_byte() { let mut data = Cursor::new(Vec::new()); { let mut tiff = TiffEncoder::new(&mut data).unwrap(); let mut image_encoder = tiff.new_image::(1, 1).unwrap(); image_encoder.write_strip(&[1]).unwrap(); let encoder = image_encoder.encoder(); encoder.write_tag(Tag::Unknown(65000), &[1_u8][..]).unwrap(); encoder .write_tag(Tag::Unknown(65001), &[1_u8, 2][..]) .unwrap(); encoder .write_tag(Tag::Unknown(65002), &[1_u8, 2, 3][..]) .unwrap(); encoder .write_tag(Tag::Unknown(65003), &[1_u8, 2, 3, 4][..]) .unwrap(); encoder .write_tag(Tag::Unknown(65004), &[1_u8, 2, 3, 4, 5][..]) .unwrap(); } data.set_position(0); { let mut decoder = Decoder::new(&mut data).unwrap(); assert_eq!(decoder.assert_tag_u32_vec(65000), [1]); assert_eq!(decoder.assert_tag_u32_vec(65001), [1, 2]); assert_eq!(decoder.assert_tag_u32_vec(65002), [1, 2, 3]); assert_eq!(decoder.assert_tag_u32_vec(65003), [1, 2, 3, 4]); assert_eq!(decoder.assert_tag_u32_vec(65004), [1, 2, 3, 4, 5]); } } #[test] /// Test writing signed tags from TIFF 6.0 fn test_signed() { let mut data = Cursor::new(Vec::new()); fn make_srational(i: i32) -> SRational { SRational { n: i, d: 100 } } { let mut tiff = TiffEncoder::new(&mut data).unwrap(); let mut image_encoder = tiff.new_image::(1, 1).unwrap(); image_encoder.write_strip(&[1]).unwrap(); let encoder = image_encoder.encoder(); //Use the "reusable" tags section as per the TIFF6 spec encoder.write_tag(Tag::Unknown(65000), -1_i8).unwrap(); encoder .write_tag(Tag::Unknown(65001), &[-1_i8][..]) .unwrap(); encoder .write_tag(Tag::Unknown(65002), &[-1_i8, 2][..]) .unwrap(); encoder .write_tag(Tag::Unknown(65003), &[-1_i8, 2, -3][..]) .unwrap(); encoder .write_tag(Tag::Unknown(65004), &[-1_i8, 2, -3, 4][..]) .unwrap(); encoder .write_tag(Tag::Unknown(65005), &[-1_i8, 2, -3, 4, -5][..]) .unwrap(); encoder.write_tag(Tag::Unknown(65010), -1_i16).unwrap(); encoder.write_tag(Tag::Unknown(65011), -1_i16).unwrap(); encoder .write_tag(Tag::Unknown(65012), &[-1_i16, 2][..]) .unwrap(); encoder .write_tag(Tag::Unknown(65013), &[-1_i16, 2, -3][..]) .unwrap(); encoder.write_tag(Tag::Unknown(65020), -1_i32).unwrap(); encoder .write_tag(Tag::Unknown(65021), &[-1_i32][..]) .unwrap(); encoder .write_tag(Tag::Unknown(65022), &[-1_i32, 2][..]) .unwrap(); encoder.write_tag(Tag::Unknown(65030), -1_i64).unwrap(); encoder .write_tag(Tag::Unknown(65031), &[-1_i64][..]) .unwrap(); encoder .write_tag(Tag::Unknown(65032), &[-1_i64, 2][..]) .unwrap(); encoder .write_tag(Tag::Unknown(65040), make_srational(-1)) .unwrap(); encoder .write_tag( Tag::Unknown(65041), &[make_srational(-1), make_srational(2)][..], ) .unwrap(); } //Rewind the cursor for reading data.set_position(0); { let mut decoder = Decoder::new(&mut data).unwrap(); assert_eq!(decoder.assert_tag_i32(65000), -1); assert_eq!(decoder.assert_tag_i32_vec(65001), [-1]); assert_eq!(decoder.assert_tag_i32_vec(65002), [-1, 2]); assert_eq!(decoder.assert_tag_i32_vec(65003), [-1, 2, -3]); assert_eq!(decoder.assert_tag_i32_vec(65004), [-1, 2, -3, 4]); assert_eq!(decoder.assert_tag_i32_vec(65005), [-1, 2, -3, 4, -5],); assert_eq!(decoder.assert_tag_i32(65010), -1); assert_eq!(decoder.assert_tag_i32_vec(65011), [-1]); assert_eq!(decoder.assert_tag_i32_vec(65012), [-1, 2]); assert_eq!(decoder.assert_tag_i32_vec(65013), [-1, 2, -3]); assert_eq!(decoder.assert_tag_i32(65020), -1); assert_eq!(decoder.assert_tag_i32_vec(65021), [-1]); assert_eq!(decoder.assert_tag_i32_vec(65022), [-1, 2]); assert_eq!(decoder.assert_tag_i64(65030), -1); assert_eq!(decoder.assert_tag_i64_vec(65031), [-1]); assert_eq!(decoder.assert_tag_i64_vec(65032), [-1, 2]); assert_eq!(decoder.assert_tag_i32_vec(65040), [-1, 100]); assert_eq!(decoder.assert_tag_i32_vec(65041), [-1_i32, 100, 2, 100]); } } #[test] /// check multipage image handling fn test_multipage_image() { let mut img_file = Cursor::new(Vec::new()); { // first create a multipage image with 2 images let mut img_encoder = TiffEncoder::new(&mut img_file).unwrap(); // write first grayscale image (2x2 16-bit) let img1: Vec = [1, 2, 3, 4].to_vec(); img_encoder .write_image::(2, 2, &img1[..]) .unwrap(); // write second grayscale image (3x3 8-bit) let img2: Vec = [9, 8, 7, 6, 5, 4, 3, 2, 1].to_vec(); img_encoder .write_image::(3, 3, &img2[..]) .unwrap(); } // seek to the beginning of the file, so that it can be decoded img_file.seek(SeekFrom::Start(0)).unwrap(); { let mut img_decoder = Decoder::new(&mut img_file).unwrap(); // check the dimensions of the image in the first page assert_eq!(img_decoder.dimensions().unwrap(), (2, 2)); img_decoder.next_image().unwrap(); // check the dimensions of the image in the second page assert_eq!(img_decoder.dimensions().unwrap(), (3, 3)); } } #[test] /// verify rows per strip setting fn test_rows_per_strip() { let mut file = Cursor::new(Vec::new()); { let mut img_encoder = TiffEncoder::new(&mut file).unwrap(); let mut image = img_encoder.new_image::(100, 100).unwrap(); assert_eq!(image.next_strip_sample_count(), 100 * 100); image.rows_per_strip(2).unwrap(); assert_eq!(image.next_strip_sample_count(), 2 * 100); let img2: Vec = vec![0; 2 * 100]; image.write_strip(&img2[..]).unwrap(); assert!(image.rows_per_strip(5).is_err()); for i in 1..50 { let img2: Vec = vec![i; 2 * 100]; image.write_strip(&img2[..]).unwrap(); } assert!(image.write_strip(&img2[..]).is_err()); image.finish().unwrap(); } file.seek(SeekFrom::Start(0)).unwrap(); { let mut decoder = Decoder::new(&mut file).unwrap(); assert_eq!(decoder.get_tag_u64(Tag::RowsPerStrip).unwrap(), 2); assert_eq!(decoder.strip_count().unwrap(), 50); for i in 0..50 { let img2 = [i; 2 * 100]; match decoder.read_chunk(i as u32).unwrap() { DecodingResult::U8(data) => assert_eq!(&img2[..], &data[..]), other => panic!("Incorrect strip type {:?}", other), } } } } tiff-0.9.0/tests/encode_images_with_compression.rs000064400000000000000000000105441046102023000205340ustar 00000000000000extern crate tiff; use std::io::{Cursor, Seek, Write}; use tiff::{ decoder::{Decoder, DecodingResult}, encoder::{ colortype::{self, ColorType}, compression::*, TiffEncoder, TiffValue, }, }; trait TestImage: From::Inner>> { const WIDTH: u32; const HEIGHT: u32; type Color: ColorType; fn reference_data(&self) -> &[::Inner]; fn generate_pixel(x: u32, y: u32) -> [::Inner; NUM_CHANNELS]; fn compress( &self, encoder: &mut TiffEncoder, compression: C, ) where [::Inner]: TiffValue, { let image = encoder .new_image_with_compression::(Self::WIDTH, Self::HEIGHT, compression) .unwrap(); image.write_data(self.reference_data()).unwrap(); } fn generate() -> Self { assert_eq!( Self::Color::BITS_PER_SAMPLE.len(), NUM_CHANNELS, "Incompatible color type" ); let mut data = Vec::with_capacity((Self::WIDTH * Self::HEIGHT) as usize * NUM_CHANNELS); for x in 0..Self::WIDTH { for y in 0..Self::HEIGHT { data.extend(IntoIterator::into_iter(Self::generate_pixel(x, y))); } } Self::from(data) } } struct TestImageColor(Vec); impl From> for TestImageColor { fn from(value: Vec) -> Self { Self(value) } } impl TestImage<3> for TestImageColor { const WIDTH: u32 = 1; const HEIGHT: u32 = 7; type Color = colortype::RGB16; fn reference_data(&self) -> &[u16] { &self.0 } fn generate_pixel(x: u32, y: u32) -> [::Inner; 3] { let val = (x + y) % ::Inner::MAX as u32; [val as ::Inner; 3] } } struct TestImageGrayscale(Vec); impl From> for TestImageGrayscale { fn from(value: Vec) -> Self { Self(value) } } impl TestImage<1> for TestImageGrayscale { const WIDTH: u32 = 21; const HEIGHT: u32 = 10; type Color = colortype::Gray8; fn reference_data(&self) -> &[u8] { &self.0 } fn generate_pixel(x: u32, y: u32) -> [::Inner; 1] { let val = (x + y) % ::Inner::MAX as u32; [val as ::Inner] } } fn encode_decode_with_compression(compression: C) { let mut data = Cursor::new(Vec::new()); let image_rgb = TestImageColor::generate(); let image_grayscale = TestImageGrayscale::generate(); // Encode tiff with compression { // Create a multipage image with 2 images let mut encoder = TiffEncoder::new(&mut data).unwrap(); image_rgb.compress(&mut encoder, compression.clone()); image_grayscale.compress(&mut encoder, compression); } // Decode tiff data.set_position(0); { let mut decoder = Decoder::new(data).unwrap(); // Check the RGB image assert_eq!( match decoder.read_image() { Ok(DecodingResult::U16(image_data)) => image_data, unexpected => panic!("Descoding RGB failed: {:?}", unexpected), }, image_rgb.reference_data() ); // Check the grayscale image decoder.next_image().unwrap(); assert_eq!( match decoder.read_image() { Ok(DecodingResult::U8(image_data)) => image_data, unexpected => panic!("Decoding grayscale failed: {:?}", unexpected), }, image_grayscale.reference_data() ); } } #[test] fn encode_decode_without_compression() { encode_decode_with_compression(Uncompressed::default()); } #[test] fn encode_decode_with_lzw() { encode_decode_with_compression(Lzw::default()); } #[test] fn encode_decode_with_deflate() { encode_decode_with_compression(Deflate::with_level(DeflateLevel::Fast)); encode_decode_with_compression(Deflate::with_level(DeflateLevel::Balanced)); encode_decode_with_compression(Deflate::with_level(DeflateLevel::Best)); } #[test] fn encode_decode_with_packbits() { encode_decode_with_compression(Packbits::default()); } tiff-0.9.0/tests/fuzz_tests.rs000064400000000000000000000020411046102023000145070ustar 00000000000000extern crate tiff; use tiff::decoder::Decoder; use tiff::TiffResult; use std::fs::File; fn test_directory bool>(path: &str, f: F) { for entry in std::fs::read_dir(path).unwrap() { let file = File::open(entry.unwrap().path()).unwrap(); assert!(f(file)); } } fn decode_tiff(file: File) -> TiffResult<()> { let mut decoder = Decoder::new(file)?; decoder.read_image()?; Ok(()) } #[test] fn oor_panic() { test_directory("./tests/fuzz_images/oor_panic", |file| { let _ = decode_tiff(file); true }); } #[test] fn oom_crash() { test_directory("./tests/fuzz_images/oom_crash", |file| { decode_tiff(file).is_err() }); } #[test] fn inf_loop() { test_directory("./tests/fuzz_images/inf_loop", |file| { let _ = decode_tiff(file); true }); } // https://github.com/image-rs/image-tiff/issues/33 #[test] fn divide_by_zero() { test_directory("./tests/fuzz_images/divide_by_zero", |file| { let _ = decode_tiff(file); true }); }