minus-5.6.1/.cargo_vcs_info.json0000644000000001360000000000100122000ustar { "git": { "sha1": "b8f8f58d20d720e7a09694d13da9948c51096407" }, "path_in_vcs": "" }minus-5.6.1/.envrc000064400000000000000000000000121046102023000120770ustar 00000000000000use flake minus-5.6.1/.github/ISSUE_TEMPLATE/bug_report.md000064400000000000000000000010101046102023000171750ustar 00000000000000--- name: Bug report about: Create a report to help us improve title: '' labels: '' assignees: '' --- **Describe the bug** A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: **Expected behavior** A clear and concise description of what you expected to happen. **Screenshots** If applicable, add screenshots to help explain your problem. **Desktop:** - OS - Terminal - Shell - `minus` Version **Additional context** Add any other context about the problem here. minus-5.6.1/.github/ISSUE_TEMPLATE/custom.md000064400000000000000000000001761046102023000163530ustar 00000000000000--- name: Custom issue template about: Describe this issue template's purpose here. title: '' labels: '' assignees: '' --- minus-5.6.1/.github/ISSUE_TEMPLATE/feature_request.md000064400000000000000000000010561046102023000202420ustar 00000000000000--- name: Feature request about: Suggest an idea for this project title: '' labels: '' assignees: '' --- **Is your feature request related to a problem? Please describe.** A clear and concise description of what the problem is. **Describe the solution you'd like** A clear and concise description of what you want to happen. **Describe alternatives you've considered** A clear and concise description of any alternative solutions or features you've considered. **Additional context** Add any other context or screenshots about the feature request here. minus-5.6.1/.github/workflows/ci.yml000064400000000000000000000064331046102023000155110ustar 00000000000000name: ci on: pull_request: push: branches: - main env: CARGO_TERM_COLOR: always jobs: rustfmt: name: rustfmt runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Check formatting run: cargo fmt --all -- --check build: name: build env: RUST_BACKTRACE: 1 runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Build crate (Static Output) run: cargo build --verbose --features=static_output,search - name: Build crate (Tokio) run: cargo build --verbose --features=dynamic_output,search test: name: test env: # Emit backtraces on panics. RUST_BACKTRACE: 1 runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 # This step helps separate buildtime and runtime errors in tests. # Do not build or run doc tests - name: Build tests (Static Output) run: cargo test --verbose --features=static_output,search --no-run --lib - name: Run Tests (Static Output) run: cargo test --verbose --features=static_output,search --lib - name: Build tests (Tokio) run: cargo test --verbose --features=dynamic_output,search --no-run --lib - name: Run Tests (Tokio) run: cargo test --verbose --features=dynamic_output,search --lib - name: Build tests (Search-only) run: cargo test --verbose --features=search --no-run --lib - name: Run Tests (Search-only) run: cargo test --verbose --features=search --lib examples: name: examples env: # Emit backtraces on panics. RUST_BACKTRACE: 1 runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 # No terminal available in CI, only check the examples. - name: Tokio run: cargo check --example=dyn_tokio --features=dynamic_output - name: Tokio Messages run: cargo check --example=msg-tokio --features=dynamic_output - name: Static run: cargo check --example=static --features=static_output - name: Less-rs run: cargo check --example=less-rs --features=dynamic_output - name: Color output run: cargo check --example=color-output --features=static_output - name: Large Lines run: cargo check --example=large_lines --features=static_output doctests: name: doctests env: RUST_BACKTRACE: 1 runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Run documentation tests run: cargo test --doc --all-features lint: name: lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions-rs/toolchain@v1 with: toolchain: stable override: true profile: minimal components: clippy - uses: actions-rs/cargo@v1 with: command: clippy args: --features=dynamic_output,search --tests --examples - uses: actions-rs/cargo@v1 with: command: clippy args: --features=dynamic_output,search --tests --examples - uses: actions-rs/cargo@v1 with: command: clippy args: --features=static_output,search --tests --examples minus-5.6.1/.gitignore000064400000000000000000000004171046102023000127620ustar 00000000000000# Generated by Cargo # will have compiled files and executables /target # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html Cargo.lock .direnv/ minus-5.6.1/CHANGELOG.md000064400000000000000000000474351046102023000126160ustar 00000000000000# Changelog This file documents all changes made to the project and is updated before each release. ## v5.6.1 [2024-03-31] ### Fixed * [#133](https://github.com/pull/133): Updated the `flake.nix` file. * [#136](https://github.com/pull/136): Fixed weird drawing issues when minus is ran multiple times in a row. ### Docs * [#134](https://github.com/pull/134): Improve documentation for `error` and `input` modules. ## v5.6.0 [2024-03-05] ### Fixed * [cd2b92](https://github.com/arijit79/minus/commits/cd2b92): Fixed bug where screen jumps to 2nd match when first match is present on the same line where upper mark is present * [#120](https://github.com/arijit79/minus/issues/120), [#121](https://github.com/arijit79/minus/issues/121): Fixed screen flickering on WSL/Windows Terminal * [3493e76d](https://github.com/commits/3493e76d): Fixed weird search jumps due to updating upper_mark in incremental search # Performance * Include a bunch of changes targeting text appending. * Introduced `minus_core::utils::digits` which uses faster algorithm to calculate digits in line numbers * [67772fc](https://github.com/commits/67772fc): Improve performance by Only reformatting the entire text when linen numbers are turned on * Introduce caching for frequently used analysis about the data like like total line count, total row count, length of the longest line etc ### Docs * [#117](https://github.com/pull/117), [#118](https://github.com/pull/118), [#123](https://github.com/pull/123), [#124](https://github.com/pull/124), [#132](https://github.com/pull/132): improvements to documentation in README and lib.rs * [53922d348](https://github.com/commits/53922d348): Overhaul docs for input module ### Added * [#114](https://github.com/arijit79/minus/pull/114): Added follow mode * [#65](https://github.com/arijit79/minus/pull/65): Implement horizontal scrolling * [#130](https://github.com/arijit79/minus/pull/130): Added new APIs to the screen module. * [36da3ca6](https://github.com/commits/36da3ca6): Added `add_key_events_checked` and `add_mouse_events_checked` functions in `HashedEventRegister` to prevent accidentally overriding already present bindings. * [#112](https://github.com/arijit79/minus/pull/112): Added all the dependencies required to develop minus in the `flake.nix` file. ### Removed * Removed the `initial_formatted_lines` and `initial_upper_mark` fields from `IncrementalSearchOpts` ### Changed * [#130](https://github.com/arijit79/minus/pull/130): Merge the text module with screen module. * [cb991f1ac8](https://github.com/commits/cb991f1ac8): Use a better colorscheme for the prompt * [4611a13](https://github.com/commits/4611a13): Use a Vec style type for `lines_to_row_map` field in `PagerState` which yields better performance ## v5.5.1 [2023-12-05] ### Fixed * Version information in README * Static mode specific functionality not working due to incorrect placing of `RUNMODE` setting code. ([#110](https://github.com/arijit79/minus/pull/110)) ## v5.5.0 [2023-11-27] ### Fixed * Prompt status not being updated when a new search is activated. (#102) * Improved consistency of search highlighting. * Fix a panic when using `delete` key when defining keybindings using the new input mapping method. * Fix a bug where search character shown at prompt is `/` regardless of search direction. ### Added * Added `Pager::show_prompt()` function to control whether to show prompt. * Introudce s `state::SearchState` type to hold data specific to seaching only. * Added a `PagerState::search_state` field to get the `SearchState` field. * Introduce a feature to disable minus's method of search highlighting and get exact/accurate highlighting of the search matches. * Added incremental searching support * Introduced more keybindings on the search prompt. (#104) * Added a `Pager::set_incremental_search_condition` function to set condition for running incremental search. * Introduce `SearchOpts` and `IncrementalSearchOpts` types so that applications can control when to run incremental search. * Added an experimental `screen` module and `Screen` type to get analysis of the data present in minus. ### Changed * Make the `state` module public. * Make the `search` module public. * Rename `events` module to `commands` * Changed the name of `Event` enum to `Command` * Moved the `PagerState::lines` and `PagerState::formatted_lines` fields into the `Screen` type. * Make the `RunMode` type public. ### Deprecated * `InputEvent::NextMatch` has been deprecated in favour of `InputEvent::MoveToNextMatch` * `InputEvent::PrevMatch` has been deprecated in favour of `InputEvent::MoveToPrevMatch` * `PagerState::search_mode` hhas been deprecated in favour of `SearchState::search_mode` ### Removed * Remove `futures-lite` from dependencies. ## v5.4.0 [2023-07-27] ### Fixed * Unexpected line break where number of digits in line number increase (#66) * Pressing `[n]G` takes to nth row on screen rather than the nth line in the actual text (#99) ### Changed * `HashedInputRegister::default()` now inserts the default bindings before returning the `HashedInputRegister`. This better aligns with the docs. * Massively simplify all the text-related functions and add better docs to all of them. (#97) ### Added * `HashedInputRegister::new()` is now publicly available * Added `HashedInputRegister::with_default_hasher()` to create a `HashedInputRegister` with the default hasher. * Added a `Dockerfile` to build/test minus in isolated environment. ## v5.3.1 [2023-05-02] ### Fixed * Passing `false` to PagerState::set_run_no_overflow() causes a full pager to start where in reality passing `true` should lead to this action. (#94) * If a full pager isn't started in static output mode and another pager is started after the first one, minus would make a panic as the `RUNMODE` variable doesn't get reset. This patch also fixes this bug. (#94) ## v5.3.0 [2023-04-10] ### Added * Add a new native API for defining key/mouse bindings (#93) ### Fixed * Fixed a bug where screen would get broken if user scrolls with the mouse while simultaneously data in also being inserted onto the screen (#92) ### Misc * Removed dependency from [crossbeam-utils](https://crates.io/crates/crossbeam-utils) ## v5.2.1 [2023-03-22] ### Fixed * Fixed bug where copy pasting the default `DefaultInputClassifier` template causes a compile error(#90) * Fixed clippy warnings ## v5.2.0 [2023-03-01] ### Added * Added `AppendStyle` and `AppendProps` enums in the new `minus_core::utils::text` to control the append behaviour and properties related to each append operation ### Changes * Moved `make_append_str` function and related tests into new `minus_core::utils::text` module * Bumped MSRV to Rust 1.67 ### Fixed * Fixed a bug where line number paddings didn't update properly when their number of digits changed. * Fixed bug where screen would get redrawn after processing exit callbacks ## v5.1.0 [2022-11-10] ### Added * Added new events to jump to next or previous nth search result. In the default keybindings these are mapped as:- - '10n' would go forward to the 10th search result from the current position - '10p' would go backward to the 10th search result from the current position ### Changed * Draw the screen intelligently. On movement, minus now redraws only those lines of the screen that need to be updated rather than redrawing the entire screen. (#84) * `parking_lot` has been added as a dependency and all sync locks from std have been migrated to `parking_lot`'s types' ### Fixed * Fixed regression while quitting in static paging (#79) * Fixed a bug where the screen would get redrawn after quitting in dynamic paging (#79) * Fined bug where `dynamic_paging()` and `page_all()` functions can't be used multiple times. (#88) ### Removed * Removed all usages of `NextMatch` and 'PrevMatch'. These types may be removed in future major releases ## v5.0.5 [2022-08-20] ### Fixed * Fixed regression in quitting in v5.0.4 and cleanup issues from v5.0.0 (#79) ## v5.0.4 [2022-07-31] ### Added * Added dependency on [crossbeam-utils](https://crates.io/crates/crossbeam-utils). This allows us to use scoped threads feature provided by it. ### Changed * A custom panic hook has been injected to display panic messages more clearly when a panic happens (#77) * minus now displays the name of the binary in the prompt rather than the just the text `minus` ### Docs * Improved the crate level documentation including fix for not displaying the optional `[n]` prefix for movement keys ## v5.0.3 [2022-05-3] ### Fixed * Fix line numbers not wrapping properly in some cases of wrapping. * Fix search bug where the highlighted line is off by one ### Docs * The README now displays the optional number prefix before all movement keys ## v5.0.2 [2022-04-27] ### Added * The prompt line now shows the number of search matches found and the current search match number which is in focus ### Changed - Line Numbers are displayed only on the first wrapped row of each line. This decreases the clutter on the line number column especially on text which span multiple lines. - Line Numbers are now padded by about 5 spaces. This makes the line numbers not get tightly packed with the left edge of the terminal. ### Fixed - Fixed bug when appending complex sets of text, a wrong value of `unterminated` got calculated which caused junk text to appended to the `PagerState::formatted_lines` and also to be displayed on the terminal. - Fixed mouse scroll wheel not scrolling through the screen. This occurred because a of a previous patch which removed the line that enabled the mouse events to be captured. * Fix panic when the search term gets changed This occurred due to the `search_idx` not being repopulated when a new search is activated. ## v5.0.1 [2022-03-20] * Fixed extremely high CPU usage while running caused due to calling `Receiver::try_recv()` rather than `Receiver::recv()`(#60) * Fixed another performance bug which was due to calling `event::poll` every 10ms. The poll duration was increased to 100ms without any loss of responsiveness (9f7dace34) * Changed initialization of some fields in `PagerState` tp preallocate memory for them. This reduces the number of allocations that need to be made when the pager just starts. * Bring back and improve the `Justfile` * Fix bugs related to duplicate line numbering and wrong search lines to be matched (#62) ## v5.0.0 [2022-03-15] * Added `dynamic_paging` function to enable asynchronous paging. This is the unification of the previous `tokio_lib` and `async_std_lib` features. minus no longer depends on `tokio` or `async_std` directly and requires end-application to bring in these libs as dependency. **This makes minus completely runtime agnostic** * minus can now be called from a OS thread using [`threads`](https://doc.rust-lang.org/std/thread/index.html). See example in [README](./README.md#threads) * Applications should call `dynamic_paging` on s separate non-blocking thread like [`tokio::task::spawn_blocking()`](https://docs.rs/tokio/latest/tokio/task/fn.spawn_blocking.html) or [`threads`](https://doc.rust-lang.org/std/thread/index.html). * Use channels for communication * This allows minus to exactly know when data is changed and do various optimizations on it's * Added [`crossbeam_channels`](https://crates.io/crates/crossbeam_channels) as dependency. * Store the current run mode as static value * The `RUNMODE` static item tells minus whether it is running in static mode or asynchronous mode * Added `once_cell` as a dependency to store the above value in static scope. * Added feature to scroll through more than one line * Prefixing any of the movement keys with a number will move the screen up or down to that many lines. For example `10j` will take the view 10 lines down. * Similarly jump to specific line by prefixing `G` with a number. For example `15G` will take you to the 15th line of the data. * Searching through text with lots of ansi sequence inside it will no longer break the search Previously this case would cause the search matcher to not match it and move to the next one (#57) * Added a `PagerState` struct to store and share internal data. It is made public, along with some of its fields so that it can be used to implement `InputClassifier` trait for applications that want to modify the default keybindings * Renamed `AlternatePagingError` to `MinusError`. This was to shorten the number of letters one needs to type * `Pager::set_run_no_overflow(bool)` function is now only available in `static_output` mode. In dynamic mode, this was more of a wasted feature as it didn't solve the issue that it should have done and was a burden to maintain it. * Changed function signature of `InputClassifier::handle_input` to `handle_input(&self, ev: Event, ps: PagerState) -> Some(InputEvent)`. The `handle_input()` function cared about a lot of things and passing everything as a parameter was really tedious. This also caused a breaking change whenever a new parameter was added * Changed function signature of `Pager::new` to `new() -> Pager`. It previously used to return a `Result`. * Use threads even in static paging mode. Although mutating the `Pager`s data won't reflect any changes in static mode. * Replaced `tokio-no-overflow` example with `static-no-overflow` function. This is because the `Pager::run_no_overflow` function is only available in `static_output`feature. * All implemented functions on `Pager` except `Pager::new` will return a `Result<(), MinusError>` because the communication with the pager may fail if the pager has quit early on. * Applications should spawn `dynamic_paging` by themselves. For example on tokio, this would be ```rust use tokio::{task::spawn_blocking, join} use minus::{Pager, dynamic_paging}; let pager = Pager::new(); join!( spawn_blocking(move || dynamic_paging(pager) // .... ); ``` * Renamed `Pager::set_input_handler` to `Pager::set_input_classifier`. * Removed `tokio_updating` and `async_std_updating` in favour of the unified `dynamic_paging` function. * Removed `PagerMutex` type. * Removed `tokio`, `async-std` and `async-mutex` from dependencies. * Removed `Pager::finish` function. * Removed `Pager::end_data_stream` function. This was only required for running in dynamic mode with run no overflow on. With deprecation of this feature we no longer need this function * Removed `static_long` example. * Removed `PageAllError` from `static_pager` and `errors` modules. ## v4.0.5 [2022-1-8] ### Fixed * Fix all clippy warnings ## v4.0.4 [2022-1-8] ### Fixed * Fixed a bug where `q` key didn't quit the pager in `PagerQuit` exit strategy (#56) ## v4.0.3 [2021-11-28] ### Fixed * Introduce a bunch of performance improvements ## v4.0.2 [2021-10-10] ### Added * Added the `minus` logo in README ### Fixed * Fixed panic when more than 65,535 lines were searched at once ## v4.0.1 [2021-08-18] ### Fixed * Fixed bug where selecting with mouse didn't select anything on the output ## v4.0.0 [2021-07-16] ### Added * Introduced robust line wrappings using the textwrap crate * Added a `Pager::send_message` function to send messages at the prompt site * Added `Space` and `Enter` keybindings * The docs now show feature tags on items that are gated on features * The `Pager::set_prompt` function now panics if it contains a line with \n characters * Added a Code of Conduct * Implemented the `std::fmt::Write` trait directly on `Pager` * Add new examples 3 new examples:- *color_output*, *msg-tokio*, *tokio-no-overflow* * Expanded the test suite of minus ### Changed * The `Pager::set_page_if_havent_overflowed` has been replaced with `Pager::set_run_no_overflow` * The `Pager::set_data_finished` has been replaced with `Pager::end_data_stream` * All fields inside the pager are now private and cannot be accessed or directly written to * All tests now run without requiring `--all-features` * The `Pager::new` function now returns a `Result` * The Pager API has changed from a builder pattern to a more programmatic pattern like ```rust use minus::Pager; let mut pager = Pager::new().unwrap(); pager.set_prompt("Example") ``` * Line Numbers displayed are now bold and have a little more left padding * Next and Previous now simply move the display to the match line number rather than moving the cursor * The `utils` module file has have been transformed into a directory with it's own separate ### Fixed * Prevent panic if invalid regex is given during search * Fix run\_no\_overflow for static pager (#43) Previously, this setting had no effect if paging static output, due to an if condition in `static_pager.rs` which did not consider the setting. This commit makes this setting behave as expected. (@tomstoneham) * The cursor is hidden as soon as the search query entry is complete. * Fix where color outputs get distorted after search matches ## v3.4.0 [2021-05-26] ### Added * u and d keys for half page scrolling ### Fixed * The reverse direction of j and k keys ## v3.3.3 [2021-04-29] ### Fixed * Fixed warnings issued by clippy ## v3.3.2 [2021-04-28] ### Added * Add docs for InputHandler and DefaultInputHandler ## v3.3.1 [2021-03-13] ### Fixed * Documentation build failure ## v3.3.0 [2021-03-5] ### Added * A trait to coustomize the default keybindings ### Fixed * Fixed bug where cursor movement stops at last search instance ## v3.2.0 [2021-02-22] ### Added * A new function to signal the end of data to the pager ### Changed * Page cleanup when the pager needs to quit ## v3.1.2 [2021-02-16] ### Bug fixes * Fixed bug where text with large amount of lines where not displayed * Fixed bug last line of text was not displayed when the string is pushed with multiple lines ## v3.1.1 [2021-02-5] ### Documentation Fixes * Added information about the backward search feature in README ### Bug fixes * Removed the unstable `spin\_loop` function ## v3.1.0 [2021-01-14] ### Added * Backward searching ### Bug fixes * Fix bug where cursor is placed in wrong position if upper\_mark is not 1 ## v3.0.2 [2021-01-12] ### Bug Fixes * If two consecutive searches are done in a single session, the previous search highlghts are not removed * If the same search query is called twice, the matches are repeated ### Documentation Fixes * Add info about `search` feature * Add info about `searchable` field and `set_searchable` soft-deprecation ## v3.0.1 [2021-01-10] ### Documentation Fixes * Fix README examples ## v3.0.0 [2021-01-10] ### Added * A special mutex for the Pager that is runtime-agnostic and implements `Send` + `Sync` * Search using the `/` key * `n` and `p` to go to the next/previous match respectively ### Changed * Simplification how text is output to the screen when the terminal is not filled ## v2.1.0 [2020-12-24] ### Added * Ability to control the exit strategy ### Changed * Minimum requirement for tokio is tokio 1.0 ## v2.0.2 [2020-12-16] ### Documentation Fixes * Fix docs where features are shown to enabled even when they are disabled by default ## v2.0.1 [2020-12-16] ### Documentation Fixes * Change version in README ## v2.0.0 [2020-12-16] ### Added * New keybindings * `j` for going up and `k` for going down * `Page Up` and `Page Down` for scrolling by entire pages * `G` for going to the end and `g` for going at the very top * Scrolling using mouse * Add a `less` like program as an example * Add a complete line numbering system * A `Pager` struct for configuration with builder pattern configuration functions * A new type `PagerMutex` which is just an alias for `Arc>` * Error handling/propagating using `thiserror` ### Changed * `tokio_updaring` and `async_std_updating` now take a `PagerMutex` * `page_all` now takes a `Pager` instead of String ## v1.0.2 [2020-12-04] ### Bug fixes * Fix compilation errors ## v1.0.1 [2020-12-04] ### Bug fixes * Fix bug where `minus` does not redraw with terminal resize ## v1.0.0 [2020-12-03] * Added all features * Fixed all bugs minus-5.6.1/CODE_OF_CONDUCT.md000064400000000000000000000122151046102023000135700ustar 00000000000000# Contributor Covenant Code of Conduct ## Our Pledge We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. ## Our Standards Examples of behavior that contributes to a positive environment for our community include: * Demonstrating empathy and kindness toward other people * Being respectful of differing opinions, viewpoints, and experiences * Giving and gracefully accepting constructive feedback * Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience * Focusing on what is best not just for us as individuals, but for the overall community Examples of unacceptable behavior include: * The use of sexualized language or imagery, and sexual attention or advances of any kind * Trolling, insulting or derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or email address, without their explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Enforcement Responsibilities Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate. ## Scope This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at https://minus.zulipchat.com/#narrow/stream/294466-community. All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident. ## Enforcement Guidelines Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct: ### 1. Correction **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. **Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested. ### 2. Warning **Community Impact**: A violation through a single incident or series of actions. **Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban. ### 3. Temporary Ban **Community Impact**: A serious violation of community standards, including sustained inappropriate behavior. **Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. ### 4. Permanent Ban **Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. **Consequence**: A permanent ban from any sort of public interaction within the community. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). [homepage]: https://www.contributor-covenant.org For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations. minus-5.6.1/CONTRIBUTING.md000064400000000000000000000100621046102023000132200ustar 00000000000000# How to contribute First of all, we want to thank you for taking the time to contribute to this project. Contributing to a `minus` is pretty straight forward. If this is you're first time, these are the steps you should take. - Create an issue describing your feature/bug/enhancement and how it will be beneficial. - State that you are currently working on implementing/fixing the feature/bug/enhancement - Fork this repo. - Start from **main** branch and create a separate branch for making changes. - Read the code available and make your changes. - When you're done, submit a pull request for one of the maintainers to check it out. We would let you know if there is any problem or any changes that should be considered. ## Maintaining code quality and best practices - Your code should be formatted with rustfmt and should be free from clippy warnings. - If you're adding/making changes to the public API, write/change the documentation appropriately. Put documentation examples where possible. If the code returns a `Result`, describe it in the the Error section of the item's documentation. If it can panic, describe that too in the documentation. - Every chunk of code has some comments above it. If you write some new code or change some part of the existing code, you should write comments to explain it. - Gate your code on appropriate Cargo features if it is required only by that functionality - Code related to dynamic paging should be gated on the `dynamic_pagiing` feature. - Code related to searching should be gated on the `search` feature. - Code related to static output display should be gated on `static_output` feature. ## Tests and CI Your code will automatically be tested by GitHub Actions. If you're code fails in CI, you should fix it appropriately and ensure all tests/examples are passing. ## Commit messages To ensure quality commit messages which also help other fellow developers better understand changes, you should write commit messages that strictly adhere to [Conventional Commits](https://conventionalcommits.org) v1.0.0. ### Types You commit must have a type associated with it. Here are all the types that we encourage people to use ensure commits can be classified same for everyone contributing to minus. - `ci` - Changes to GitHub Actions CI wofkflows file - `chore`: Regular stuff that don't fall into any category like running `rustfmt` etc. - `docs` - Improvements to documentation - `feat` - Feature improvements - `fix` - Bug fixes - `perf` - Performance improvements - `refactor` - Changes that don't fix bugs or add features but improves the overall quality of code base. You can use this for commits that fix cargo/clippy warnings - `release` - Used to mark commits that make a new commit on crates.io - `test`: Commits that touch examples/unit tests/doc tests. ### Scopes Commit messages following Conventional Commits can optionally describe their **scope**. The scope broadly describes which parts of the project you commit has touched. In general, the Rust quailfied name of each file will be it's respect scope. For example `src/state.rs` will have the `state` scope. Similarly `src/dynamic_pager.rs` will have have scope `dynamic_pager`. With all that, there are a few exceptions that you should take care of. - Use the word `manifest` rather than writing `Cargo.toml` - Use the word `root` rather than writing `src/lib.rs` - Do not mention the name of parent directories for modules. For example, use `keydefs` for `src/input/definitions/keydefs.rs` or `display` for `src/core/utils/display/mod.rs`. - Use the name of the module rather than writing the path to its `mod.rs` file. For example, write `core` rather than `src/core/mod.rs` - Include the name of the parent module if the commit is related to a test. For example, use `display/tests` for `src/core/utils/display/tests.rs`. ## License Unless explicitly stated otherwise, all code written to this project is dual licensed under the MIT and Apache license 2.0. The copyrights of `minus` are retained by their contributors and no copyright assignment is required to contribute to the project. minus-5.6.1/Cargo.lock0000644000000330410000000000100101540ustar # This file is automatically @generated by Cargo. # It is not intended for manual editing. version = 3 [[package]] name = "addr2line" version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ "gimli", ] [[package]] name = "adler" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "aho-corasick" version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] [[package]] name = "autocfg" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ "addr2line", "cc", "cfg-if", "libc", "miniz_oxide", "object", "rustc-demangle", ] [[package]] name = "bitflags" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" [[package]] name = "cc" version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "crossbeam-channel" version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crossterm" version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" dependencies = [ "bitflags 2.4.2", "crossterm_winapi", "libc", "mio", "parking_lot", "signal-hook", "signal-hook-mio", "winapi", ] [[package]] name = "crossterm_winapi" version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" dependencies = [ "winapi", ] [[package]] name = "gimli" version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "hermit-abi" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "libc" version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "lock_api" version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", ] [[package]] name = "log" version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "memchr" version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "miniz_oxide" version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] [[package]] name = "minus" version = "5.6.1" dependencies = [ "crossbeam-channel", "crossterm", "once_cell", "parking_lot", "regex", "textwrap", "thiserror", "tokio", ] [[package]] name = "mio" version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "log", "wasi", "windows-sys", ] [[package]] name = "num_cpus" version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ "hermit-abi", "libc", ] [[package]] name = "object" version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] [[package]] name = "once_cell" version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" dependencies = [ "parking_lot_core", ] [[package]] name = "parking_lot" version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", "parking_lot_core", ] [[package]] name = "parking_lot_core" version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", "windows-targets", ] [[package]] name = "pin-project-lite" version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "proc-macro2" version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] [[package]] name = "quote" version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] [[package]] name = "redox_syscall" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "regex" version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick", "memchr", "regex-automata", "regex-syntax", ] [[package]] name = "regex-automata" version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", "regex-syntax", ] [[package]] name = "regex-syntax" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "rustc-demangle" version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "scopeguard" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "signal-hook" version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" dependencies = [ "libc", "signal-hook-registry", ] [[package]] name = "signal-hook-mio" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af" dependencies = [ "libc", "mio", "signal-hook", ] [[package]] name = "signal-hook-registry" version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] [[package]] name = "smallvec" version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "syn" version = "2.0.52" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] [[package]] name = "textwrap" version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" dependencies = [ "unicode-width", ] [[package]] name = "thiserror" version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" dependencies = [ "proc-macro2", "quote", "syn", ] [[package]] name = "tokio" version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ "backtrace", "num_cpus", "pin-project-lite", "tokio-macros", ] [[package]] name = "tokio-macros" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", "syn", ] [[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-width" version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "winapi" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" dependencies = [ "winapi-i686-pc-windows-gnu", "winapi-x86_64-pc-windows-gnu", ] [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-sys" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ "windows-targets", ] [[package]] name = "windows-targets" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", "windows_i686_gnu", "windows_i686_msvc", "windows_x86_64_gnu", "windows_x86_64_gnullvm", "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_i686_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_x86_64_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" minus-5.6.1/Cargo.toml0000644000000046150000000000100102040ustar # 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" name = "minus" version = "5.6.1" authors = ["Arijit Dey "] description = "An asynchronous data feedable terminal paging library for Rust" documentation = "https://docs.rs/minus" readme = "README.md" keywords = [ "pager", "asynchronous", "dynamic", "less", "more", ] categories = [ "Text processing", "Command-line interface", "Asynchronous", ] license = "MIT OR Apache-2.0" repository = "https://github.com/arijit79/minus" [package.metadata.docs.rs] all-features = true rustdoc-args = [ "--cfg", "docsrs", ] [lib] name = "minus" crate-type = ["lib"] path = "src/lib.rs" [[example]] name = "dyn_tokio" path = "examples/dyn_tokio.rs" required-features = ["dynamic_output"] [[example]] name = "less-rs" path = "examples/less-rs.rs" required-features = ["dynamic_output"] [[example]] name = "static" path = "examples/static.rs" required-features = ["static_output"] [[example]] name = "large_lines" path = "examples/large_lines.rs" required-features = ["static_output"] [[example]] name = "color-output" path = "examples/color-output.rs" required-features = ["static_output"] [[example]] name = "static-no-overflow" path = "examples/static-no-overflow.rs" required-features = ["static_output"] [[example]] name = "msg-tokio" path = "examples/msg-tokio.rs" required-features = ["dynamic_output"] [dependencies.crossbeam-channel] version = "^0.5" [dependencies.crossterm] version = "^0.27" [dependencies.once_cell] version = "^1.18" features = ["parking_lot"] [dependencies.parking_lot] version = "0.12.1" [dependencies.regex] version = "^1" optional = true [dependencies.textwrap] version = "~0.16" features = ["unicode-width"] default-features = false [dependencies.thiserror] version = "^1" [dev-dependencies.tokio] version = "^1.0" features = [ "rt", "macros", "rt-multi-thread", "time", ] [features] dynamic_output = [] search = ["regex"] static_output = [] minus-5.6.1/Cargo.toml.orig000064400000000000000000000034001046102023000136540ustar 00000000000000[package] name = "minus" version = "5.6.1" authors = ["Arijit Dey "] edition = "2018" license = "MIT OR Apache-2.0" documentation = "https://docs.rs/minus" repository = "https://github.com/arijit79/minus" description = "An asynchronous data feedable terminal paging library for Rust" keywords = ["pager", "asynchronous", "dynamic", "less", "more"] categories = ["Text processing", "Command-line interface", "Asynchronous"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [lib] name = "minus" path = "src/lib.rs" crate-type = ["lib"] [dependencies] crossterm = "^0.27" textwrap = { version = "~0.16", default-features = false, features = ["unicode-width"] } thiserror = "^1" regex = { version = "^1", optional = true } crossbeam-channel = "^0.5" parking_lot = "0.12.1" once_cell = { version = "^1.18", features = ["parking_lot"] } [features] search = [ "regex" ] static_output = [] dynamic_output = [] [dev-dependencies] tokio = { version = "^1.0", features = ["rt", "macros", "rt-multi-thread", "time"] } [[example]] name = "dyn_tokio" path = "examples/dyn_tokio.rs" required-features = ["dynamic_output"] [[example]] name = "less-rs" path = "examples/less-rs.rs" required-features = ["dynamic_output"] [[example]] name = "static" path = "examples/static.rs" required-features = ["static_output"] [[example]] name = "large_lines" path = "examples/large_lines.rs" required-features = ["static_output"] [[example]] name = "color-output" path = "examples/color-output.rs" required-features = ["static_output"] [[example]] name = "static-no-overflow" path = "examples/static-no-overflow.rs" required-features = ["static_output"] [[example]] name = "msg-tokio" path = "examples/msg-tokio.rs" required-features = ["dynamic_output"] minus-5.6.1/Justfile000064400000000000000000000012401046102023000124750ustar 00000000000000_prechecks: -cargo hack 2> /dev/null if [ $? == 101 ]; then \ cargo install cargo-hack; \ fi fmt: cargo fmt --all check-fmt: cargo fmt --all -- --check build: _prechecks cargo hack --feature-powerset build tests: cargo test --all-features --no-run cargo test --all-features examples: cargo check --example=dyn_tokio --features=dynamic_output cargo check --example=msg-tokio --features=dynamic_output cargo check --example=static --features=static_output cargo check --example=less-rs --features=dynamic_output,search lint: _prechecks cargo hack --feature-powerset clippy verify-all: check-fmt build tests examples lint @echo "Ready to go" minus-5.6.1/LICENSE-APACHE000064400000000000000000000227721046102023000127260ustar 00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONSminus-5.6.1/LICENSE-MIT000064400000000000000000000017761046102023000124370ustar 00000000000000Permission 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.minus-5.6.1/README.md000064400000000000000000000157541046102023000122630ustar 00000000000000# minus

[![crates.io](https://img.shields.io/crates/v/minus?style=for-the-badge)](https://crates.io/crates/minus) [![ci](https://github.com/arijit79/minus/actions/workflows/ci.yml/badge.svg)](https://github.com/arijit79/minus/actions/workflows/ci.yml) [![docs.rs](https://img.shields.io/docsrs/minus?label=docs.rs&style=for-the-badge)](https://docs.rs/minus) [![Discord](https://img.shields.io/discord/953920872857620541?color=%237289da&label=Discord&style=for-the-badge)](https://discord.gg/FKEnDPE6Bv) [![Matrix](https://img.shields.io/matrix/minus:matrix.org?color=%230dbd8b&label=Matrix&style=for-the-badge)](https://matrix.to/#/!hfVLHlAlRLnAMdKdjK:matrix.org?via=matrix.org) [![Crates.io](https://img.shields.io/crates/l/minus?style=for-the-badge)](https://github.com/arijit79/minus#license) `minus`: A library for asynchronous terminal [paging], written in Rust.

## Motivation Traditional pagers like `more` or `less` weren't made for integrating into other applications. They were meant to be standalone binaries that are executed directly by users. However most applications don't adhere to this and exploit these pagers' functionality by calling them as external programs and passing the data through the standard input. This method worked for Unix and other Unix-like OSs like Linux and MacOS because they already came with any of these pagers installed. But it wasn't this easy on Windows; it required shipping the pager binary along with the applications. Since these programs were originally designed for Unix and Unix-like OSs, distributing these binaries meant shipping an entire environment like MinGW or Cygwin so that these can run properly on Windows. Recently, some libraries have emerged to solve this issue. They are compiled along with your application and give you a single binary to distribute. The problem with them is that they require you to feed the entire data to the pager before the pager can run, this meant that there will be no output on the terminal until the entire data is loaded by the application and passed on to the pager. These could cause long delays before output to the terminal if the data comes from a very large file or is being downloaded from the internet. ## Features - Send data as well as configure the pager on the fly. This means that your data can be shown on the pager's screen as soon as it is loaded by your application. But not only that, you can also configure the minus while its running. - Supports separate modes for dynamic and static output display This separation of modes allows us to do some cool tricks in static mode. For example in static mode, if the terminal has enough rows to display all the data at once then minus won't even start the pager and write all the data to the screen and quit. (Of course this behaviour can be avoided if you don't like it). Similarly, in static mode if the output is piped using the `|` or sent to a file using the `>`/`>>`, minus would simply pass the data as it is without starting the pager. - Highly configurable You can configure terminal key/mouse mappings, line numbers, bottom prompt line and more with a simple and clean API. - Good support for ANSI escape sequences - Both keyboard and mouse support Key bindings highly inspired by Vim and other modern text editors - Clutter free line numbering - Horizontal scrolling Scroll not only up or down but also left and right. **NOTE: ANSI escape codes are broken when scrolling horizontally which means as you scroll along the axis, you may see broken colors, emphasis etc. This is not a minus-specific problem but rather its how terminals behave and is inherently limited because of their design** - Follow output mode This feature ensures that you always see the last line as the data is being pushed onto the pager's buffer. - Full [regex](https://docs.rs/regex) based searching. Which also fully takes care of escape sequences. Also supports incremental searching of text as you type. - Tries to be very minimal on dependencies. - Is designed to be used with [`tokio`], [`async-std`] or native [`threads`] as you like. ## Usage Add minus as a dependency in your `Cargo.toml` file and enable features as you like. * If you only want a pager to display static data, enable the `static_output` feature * If you want a pager to display dynamic data and be configurable at runtime, enable the `dynamic_output` feature * If you want search support inside the pager, you need to enable the `search` feature ```toml [dependencies.minus] version = "5.6" features = [ # Enable features you want. For example "dynamic_output", "search", ] ``` ## Examples You can try the provided examples in the `examples` directory by using `cargo`: ```bash cargo run --example --features= # for example to try the `dyn_tokio` example cargo run --example dyn_tokio --features=dynamic_output,search ``` See [the docs](https://docs.rs/minus/latest/minus/#examples) for a summary of examples. ## Standard keyboard and mouse bindings Can be seen [in the docs](https://docs.rs/minus/latest/minus/#standard-actions). ## MSRV The latest version of minus requires Rust >= 1.67 to build correctly. ## License Unless explicitly stated, all works to `minus` are dual licensed under the [MIT License](./LICENSE-MIT) and [Apache License 2.0](./LICENSE-APACHE). ## Contributing :warning: Read about our plans on standardizing Git commit messages https://github.com/arijit79/minus/issues/103 :warning: Issues and pull requests are more than welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) on how to contribute to `minus`. ## Thanks minus would never have been this without the :heart: from these kind people And the help from these projects:- - [crossterm](https://crates.io/crates/crossterm): An amazing library for working with terminals. - [textwrap](https://crates.io/crates/textwrap): Support for text wrapping. - [thiserror](https://crates.io/crates/thiserror): Helps in defining custom errors types. - [regex](https://crates.io/crates/regex): Regex support when searching. - [crossbeam-channel](https://crates.io/crates/crossbeam-channel): MPMC channel - [parking_lot](https://crates.io/crates/parking_lot): Improved atomic storage types - [once_cell](https://crates.io/crates/once_cell): Provides one-time initialization types. - [tokio](https://crates.io/crates/tokio): Provides runtime for async examples. ## Get in touch We are open to discussion and thoughts om improving `minus`. Join us at [Discord](https://discord.gg/FKEnDPE6Bv) or [Matrix](https://matrix.to/#/!hfVLHlAlRLnAMdKdjK:matrix.org?via=matrix.org). [`tokio`]: https://crates.io/crates/tokio [`async-std`]: https://crates.io/crates/async-std [`Threads`]: https://doc.rust-lang.org/std/thread/index.html [paging]: https://en.wikipedia.org/wiki/Terminal_pager minus-5.6.1/demo.png000064400000000000000000022154511046102023000124340ustar 00000000000000‰PNG  IHDRðý*ï° IDATxœì½{ôoIU¸wý.ˆ<4³¤Q—Ý@7ŠT#‚&j2“EFPQIÀ¨YºÌD£™£ñ×ÄñµŒÑµ³&Y:³â ÅâŒFišߨ¼DZ û[{þ¨ýøì]uÎ÷ûýÝ{“[}ûÞï9§»víǧvթ÷=õËéFº‘n¤éFº‘n¤éFº‘n¤éFº‘þ²¥ö®&àFº‘n¤éFº‘n¤éFº‘n¤éFº‘.“®Œîú±o'½Çã/!abIEòy!&"!Ñß y™DÖ¥ˆˆÙ[]æ²*âÒ«fæAµ@†¹ÈVÚ$霴Պ`£óÚ6º_ÿ1“±Ú™vJÌ‹¬2å,°u½ƒƒÅ¼5Ü…ZV™ÒßGÊ0Ђâ|2Ó’cò_ê@±U±}´Öųa4»îh1öê /£!$IßiŠý}×S‘-Bg½óZ‚~ë2j>g¼0ûÂDž™̈˜›³2¨eµHÁ c‰è[gÃÍ]öÍ!¾BïD„QÔ”Nã/$ƒ1† ´zèdÏãf‚­B,•‰>â¨L‚‘áʪr}gnL$B]z3ïL&›6e°T…14o™ÙMü° ÌLÄnêá³Þ [DfÉÍ숛q-.B"Ý3 á€ô?n^Ѱ“VžEí½$Ú冼’ÏýF’z„R…jbï8h7ú¹d?¹Ü±±š–Žšµ;¼c"éÝ<›ÔžÁ5§ŽTãR}âÂHy,þ¼‹˜7$WŠêT• ñNŒRE®ØD=ÐeCg÷Qvõ¼õöŒJ.”ÜäD ¤1Ã%€Ÿà$BˆecˆXL扄ä1ßõGäÚÊÕÄ«4£•ÜU‰ü‚åMd‚þÝ„üŒ´1VI¥JN§´¶0§Ðå™yÎK§S«»&Í»vFRYSñq|®µ¡!yú/ŸÒ›qÚcZêÊÜ0\,³Ûômý°ü øRº¬jâ­1ó¨8Ä•Í]¹>OMž¤6ÎID7…|œ)¥Èæãø;z@¨Ô¨.>¨ÔlP!p«žÙ.sX;<¦¢… e’«pŸ'+© w² ,¦¸ÎŸ¨¢d’eÁ@†ˆ1›¼I*¬ V‘RûÌ]F9Ì?´ÄŒÅi,Á”TŒ—ÉΚ ù¦þ[,£x=ÛÆ…2#JãYÔ5U´TÞz÷&Xt$븼ê!l¤ Qgj&…LÔˆ…¨™ëÒ¿ÔÕs[ŸáK­a‘£Æÿl&`Wg@ yAŸ{ËÖÚ•+W‡ÃápÈtœå¶Îôq—L{­d\Xd[ãTæVŽPk&eßé­GƒPYßÞ©=k‚¥©QÌ¢“þ(™Ó6Â=DùÊ•‹{ï=pZ­Õg&l°3¤Ù¬V#6]LžR³ôÞ™¹µFDÒEg¼Œƒ2J`:Âj`D½bíd'!hTàïµ oO½ŽQØb@ÃCF®nÙÃjm(ÊŒŒÀߌ¤–$éŸ51Ø')βÁ|o75ÏÃ\^O3Ÿ1Ø=)̯M¢<B<—_°b‰£6`QÀžòjhÃãÖ‹EO—U+٠lj|ð¶'·0c;ÛÈ”++ˆ…mí!ÚÄÞiùà‡þÓ¢4é¾srhÍ;!‡Ò†\sã™ýš—Š#ùϪŒýdví¦³ø°ALªîXZѹDlmÔyúMµŒëÕ†m\®I!Q$ý^†ó'R+£j†Å€nÑ„K¢D7¬3o'Wá?]'ÙÕ穇̊sŠœp¾žδ,YÆ£mj$"`@dÙÖíÜsæf 6›öŠWŦ®@;*0\ˆ£„Åm·T½U÷“ë Ln±«(ÿµuZ¤-0±L¾Ü±¬ cõ 7«¿´&“s›ÅSü¿äJ†sõt¬Ó3øhdBËiŠ^VŸkUd´M\:¦w8Á°’e«Þ±AÚn"W“ò.ëBW E ç@šëâqßå)Ë¿'bcÍ KðHm ãQ©­Ü IßÛ0\–5ÖÚÅ <)«‚ èïÌå*UÏW; €Y[W¤%Eöw๭@Â*2lÄ•ë1¯"\‚€šÙl[2ËU0„fóȑ׽½ú{§ÄMÛJmfBÒØU®Ü‹'Xh :G&uócAA Û6bƒ€¢æœlÅS¡Œ0Q8Åy¶…bH¸Q‡ ¥íÔ ߉JïmÙv»Í~“ Õ«Tnïæ]Q;—¶7ddW5þæåpc‚ëŒf–°.n𮣹¯”®º¶Õ4å1rW 1xä&ëDª9·™,ÉšßlŒü?‰ìx§üÞŒlñ”Èß(¶õPõ!5 "CJKÒ€FÎ…ÓÔz’°\Ùí..nøÝZérÜ^— `hS¯kk( $±I¸$@ÎÒeÝö4Ñ,^Øþ^òuè:ªóq°Øv#ý§²q(/¿*›kGBDÂÔ‡Œ²¾ÄÌmÌóE:Ø¢S×4STŒ¶‡ö ©Å„ËšóÙ²‡”àlj‹]ÈÕ:ªQž[ãÃÝ:˜F)M ÑˆÀ¨ºl›€‚¢ksÃDÌÒ;ÎrW:‰˜€äùÏQJŸáW1ü÷³¾ø)ˆ ²,W¬ÀõW5yleˆzåØCdÆ:›`2¬®ª[½5Ì‚+Féo”晉‰;tÌg£"l¸§É1RÌr‡²ïzUŸ>óŠÆU‰©ÿ ¹Ñ…D¥K­ç·=µ`)Ã\©”ø…’+ŸVX9ËN˜°MË\DJ{·²ï˲û ê\áÁÝú/礯KZú­“þ÷”2#ÜÕ®g¶«åÙ*‡fö.ÑXòTˊ„``$l¬rÙú"ùŸÇ }éoEy˜05jâgúÍ9è,Ðᪿ ;œF´^ÌnÄjSö ‡‰µb TƒØvüͰÊÂÿèv­B¡ˆí{ÙÆ÷’ÅDnݵd†™M£¨špľàTÁŸUž`×35¡N]6¬ZÐîèNͬÕAr0ÍøjbÀfªßG`«èWÍPU­^[B`ãÆ™¸KgX®¿ §ºC¸íaÈÞ%§r5‰‹iÑn­u"ßb°¢²2cqs‹ÝûT-²å[".CPìÚ¥5 ¹µå[Žðêé9R˜½Ý;Ô:½®0v/¶¹hœ;³-|¨Êî:öŽ.4;Ævåòh† ¬cw3‚D$ÒIºzÉ´Ÿu(žúG€Y_|ÆÚm³"+Ká÷ ],mi'œ€ñ—¤“ž¦Á…Ûã¸öc¡q[w}+~ ÑŠÜRasÏ-½Ëp‘{¼ ´î¨OµýÞ2î¿oÝt™ Ýø{y1 Dyø†¼6½!ñàÑÄy4Š{+Ulù—#Éw3íãwï-&¯¸‚š0™¢G8€5,HõŽ (€^ŸÓ¯„ròTY…žÝNÕ4O¢S'´içC)eÚè„È®ÎWp¸!lC-cxøk”Ë­wÓ¤¶Q'9{îݽ'=ˆ©!aÉb>'G°DÉîS°XHˆ m cRÇ Eîg+ã(£ùÎV56ê>+)¹ø^â´â±Ÿß”ÔÊè;”ŽÈwÍ`QÀŒ"ØŠ·cñlÇHyƒe†VÜ—Q˃àF±ð«âŽÑZÀmPã¡îÒ¢5ÇQFšI [ä^Bu}fBN"•EVgofU‡ŸépèÓø'àå}®\¡ÃáÐûÆûH©®}ÉŒãŽ%?Y‘R}þ¦E“,0QÁi¼ $ÔÍݤŸxQ©Ùܲ å{ïÊc‹—OºËB„t…–mA˜ÞÒøwAžMMoÙ±’Nk«â¼q¿¼ uzÚ1¼—I×ÄÿYõlS‹ :C$rtµVxÍ´fá_zeÈVÇgÂ<ÕBör»ˆ-À¢5ÛK¸ tòR®VŒ÷r¸Sßâ àž óCT¸±~ÒÉ@ÁpçñÎ!l¢"–îK‘¶DÝìk=ÌãpcgÆ—õcÖõñŠï8롃ýÇä$f"î/R¶xÞ½˜‹M"œŠþKɳeqk$B½÷ÖÆ«Ä1á”ý†Ä»Jy Šú‚<)¯Ç+‘6çÏ ÙÚTý˜{“ôÆ SC¶Ù¬ 3É&óàç¸Ò½›˜ƒðXÃÒ³òÚz¯äC9ç’Þ¸ÙŒ`Û ©Š©hþ®Õ”=…œ0À1-s{q@<Î[Y朩‹Ž‰Ÿœ´ÚŠNÙâ¿%ß¼’‰ðJG&.Z@¤Üô¹A÷ùVZI×" È4§ÚæÎ^²Ý««D&)ÁÇð{¾ù.¼üå/ûžïý®[}ëñ—Ýkùn”༠ÎîÄÈi*f\b –9+AQ¸FËlªÌÿ4âSx§B#Q‡=2Z\äÙ2€„…€j”ÌÌ›0ïe.ð¯OÕ¨t’14Ÿ—²6á‡aüŸ¬br#Vœ§ÅôQ™A!ñ1]ðBê¶©°ûõc@€G>Ç ¤”ß[1瀫i°ÕùQýЉ«“ZˆÊŽ7Ê¢þq¤Â«Ðo[\`ˆ­ÆìlÝs¼,ÅR†\£ÿ%ÿЪûÖÞszŒŒ»Ì,Ÿ3ó'&ßÂÄS,ÿ„¹ÐDžD¸ÛRÇxGYõX ÂhެªÊ¤ÉpVÝGﲂýzö3N¸u3ϵ58›…~|õzQu~ÊÊæ;¯ Šl €ZHçéÔ‘ÉPÃ3"Üñ¤¶iÃóäz ¢–k¸=gu5%d4/Pzò•Q|± (6ÙÌñÖŒYgt‰L:™¿•.ÄqŒç †lDæz×Aužç9æÖ×[à(,9ÈUŽÀzFw|ë†" CUГœ„p‹`§LÀ°·Ðƃ‚ {¦ ͵ßËN[Ÿ€(¬7.Yj9K*½ý“7³fJ“õ[Šhc h¼,NA5Q ¸EçYêunÂW $g­Ã5kD‰†Dj?ê»®‹žÏ8aÔž1ÉbÖÒh~àæˆÉWYÇzEÔÞ‚¡ÜYUPóBÕ+§½ÛÎééº7ª}ÚÓžþk¿úª×¼úu¯yõë~â'~ò”¶ìÏåÓçþ?øõWÞõž÷»ÿ„ç?ï¿òË¿¶$o•.c¾å[¿égö§¿ãÿßî¼ó5—®äZ%fýsZî!Âã"1?o+Ø0Ù ‰½8˜m¤…' |ž¸ÚaÖiÆQV¦r†âœBôˆí—nÚ=Œ¢énõñ؃ÌYøgÌs¹YJ,_v1ÔÂ>´FWN»|W ½¼yg‹cŽûqî£ 7ÿ¬jë» K‹%g(˜†f³Ð‡¡DáÍzÒPø¯ ÷´Í§!~öÞûøŽ¢cŒÒ£¹šÅí¥.&c_¤pÐ/`BPˆ^Hþ(#UT‘[­pÃÁšˆo@qu¬W^øÒ–B„ºˆî`Ôi±ÂÚ°ãI¯y=<Å8`C'û£j%Ö\áñŠNnñ]˜²¡ÞHÊï‚då8ú¨çéq›Í¸ÞÝ(Q”výk³GåE<.JMš9ð,—a1ÀÁ`¹¥`³¨‘„j,L'l¦-ÖgÕŸáZÕKû`+m%«e2JÈü +éÍ w}T'Pâ.Í=‹F £êÎ-g4 cnÜð·Tˆìd0û ’ø”U?±pšÉ´‘=ž¦»6ã¹¼¦˽ñ\ù*;[þŒ‹Ü­ä:¥=Ê'ù*{![v;5ZŸåYã?È®Cç´¯U¤Z§ÙjBÿWRìÏ‚ÑA=cÊ5ËÐæ“œl˱s\»®ãn‹ ìì¯L‘—?/ÕB¸Æ4¤t5nO6~ïd#"ú+åøºñ ÿñë*š>šÐrè~ä-úýßÿ½»ÿâ­DÄL|Ô£ïºëÎ]&„ˆú¹é>á_ñŠ_{Ô£õˆG<âr5\ÃäK0{™d2bˆR1æ,iZ-?·›TêÒh•( D>ÞQÂy=Jœ×‘׿m—2éþU6%µx,,åÕbP`I.ôt£Óf-ºžp8¾Ùt3Üe'Û¯åD)Sp–VOÁÖÀqN ¢›ÆZÁQ0.½‘"*mÚ¶J»÷eÞó¿“U/îpì·“( ¢æ‹2¾+‡‹ ˆ…‰}ú/L²½Í +“BDS(;êÜI†Çf/(í@Ð~ŒîxQIÕ”Ó$d'c>l«-«Ú:Sv{Tzc¢oø­wn|qqq8(ä¤8vîk'ÁEJÊAWaxú5êî¶yÓö 035an±šEŒRYT‹X­"Î x%7¿¤yGÓ Y¢…íÌKp3;ÍË%ÃÛ§ ¨Ì—ç·?÷7ôs+¿GÙv«Õã|§Z½“ùÙTƒГð!‘MüÔî…ˆŽÔµ¦ 5`M¦®W¢ge{YŒÇóäæ$àõ²ÎBƒoõ-ÄD""™˜mKsc&éÒ{·Ú@k­‹¿ñ±QÐeð1 ½võþúäØlüd¨Ô~JZ‚7äÇ‚·Öøp8Pjtqq¥÷ÃØ¿ºXÞü¦p]+(ƒ¦`°ÁÄR –]Êž® ±ÿ嫜.½$¤‡)Ͳ">{z—‹iSà0üþ©i¸d;¼›ýæ¨'ù^Rh““S,¾ï êö34ý!0Û¤LÙçdHKÇúêÎÚž u%F-V2Þ¡EÚ”þ]+¤«â:ö´ó1)Ñ=¿gp–loº ¤°tFå·Üò¨û}?pÓM=‡ž«OJá£ýè×ÞõZÓòèG=úç~îE»/ ³Rzæ3>û™Ïøì«¯ç–†ù €Ù?Ca`¦Æ­›’Oé8Óö‚X§‚(N6 éäß"(™qŽJ:E´‡¸¦™ð¨9Õ9¥%{;c±jš€2„‰Æ·Ø˜,¼íGXQ°ÍF¡›ÄPÖƒ˜,?š^ óîQ œ˜˜…Ý]%&¡°ëŒKÆ·^µú–ãðÒãA~Úr0I;_ü›’2öÀF÷ç›NdàB,ŸãËÙú›ë#›ÙLL ý|—¡|åÊ•±€;È|“DåT±Ÿ`XNÉÓ[œ_y™G}£ðösG{j7»KÚ»~ùÆ‚]6ÒèsM¶ÎA„͹Opo´•$â”H÷ý c]KÆ‹ihïI. ¯ÐŒy"çê½ÝÔÖùuïxêK$Ù®ðr~0Jcá·ÀÒnbT+…@G>ß}¤Oªå…#L6UÉø=E¬ÀPz,Ús ˜ÈbR©éþª_9Ë ¬ã»!O«é‹çnúÄ2ªŽ[‘d( Ƙ%yØÑÓEËH":v¨:¶N÷~0 ß ¢ñä‘üõZ´uiÞXÎ^NFÖ½¿@¯‡…àF1‡©e‰˜è €¶GúÞ{ïi­µñ)£ùX/Ž:|*t%‘Ì¡ë$ÓÈ‹w"®fX^:ïÚ`’;-½Š¢Ê“±;vÞ ÄE*¹ÖôÎK FXBdPÛ‰EÎØ±3¸Ý±p(p™˜¯2Õ0ަ¸SN8kÍ¡'=$ÍïlÏ­ƒiT’}qÚ²ñ±­LWkˆÔ,¿¤]`©Ì¶12( –\ß^eÜfø9õìðzqo2øÛé¶[o³Ù»îzí÷|ÏwžLÏ¥SÐÃÜn¾ù–×Ú¦ß=è½þê_½éµ¯=¾xaÿ2'ÇùÇs:EÏ­ÐõTÖìä‹IÅQªådROG¢«S‘Ý”ÍóÏŽ!SéÛ¦@£–rÎ99¹ÖÒ¿©ž—X7=eû]·µ²g·iP=vËö÷Luˤ³T¶Eƒ-6Gf(³ÉºïÔ2Q#b=¦G°ÅBܘ{,õÎXErÁ`Lá—L<8†¼2¯f.<ÿN+ÊA­Ž{ + Uu)ml¹€‚ Q¾¯/ziz« Sǹ|TCî¼£GŒýŠ¥19…ß+½Nz—€ ÷i€Ï5²µ/Æ=±(†’ñ&¶ ü©Áœ%¸»R”Q•lïñ;ßt÷¤§W³ªiãÏ?7È™¯˜ØÌ~f "BŒnˆë¨ÇÙDÚýu$1å«ÞAgF‘葤¼ ÿjó ,¥°¿»æ¨V¶2Vìöݤ[=××gÏköƒý¯…*ð¸#_´ ìK¢9†`£?eŠ"Éœº¿Qdž߶·1sYn§Ì²zu0‘HDlÊ݈ÌDÞþ c¢ÔˆYÁâE jäe<`ã–™i“'.¥ ç¨‚UDe½šÐ‘FÛÙÂÚ%n²–~%X=Tè`Ư+AøÐþ™@Íd:YDÖ–ú´ÑÞ~>t×Lf‹R±¢câ2¼ IDATpÜåÞÊÄø[%æÒÁlˆÁ\ö–DîËjÚÑl¶¨Z{Ê0 8¼t›9Ëü4aÎôt]héž÷ÒFn*¸!دäÇâ…ŸöÔOyÝë~㬦ÏI©_|ÀƒzÓû|è‡~Ø{Þï=ÿôõú>7½ÏCozèã?ò£ˆè oxÃCozh›‘ªÛñÇŸ÷ùŸóÁrÛúOÿ÷Ç>ñ£?ú¯}Äÿø _ô¢ŸùO~ÂÇ<áñ?ðƒßU<í3Ÿzëm7ûŸ¿þ¤™ }ûÛß~ëm7?ùãžø»¿û;ÏyÎç?þ£>ìÃ÷Øg}î3ï¸ã˜ío|ã­·ÝüIûoâÍ»ï¾{”-u¾ô¥/ùìÏyúÇ<áñ·ÞvóG>þC?í©ÿG~äÿ„C‘¥í¥ðvâXQºôy/À"mIƒ{*Ó½jØN$/¢m”ŠÇSNz—?Öx[óvSñ"ìZ¾p €ŽRo.³q䄺Øõ­š ¯ [Ù;ϘÙÉЕƒƒ˜ÖO#ãÖ ɪTZ|:õrTa–˜™[A9‰màݵ&b²o§OÆ'œŠf7ß (ŽläÁߦ˜µ{Y“ tÒÆ ÏDýÐÝ¿#ÞL¸l/‰«ôÞ#×x9@µÏÔñÒìœtòÚòÒÁü+Q«Ügrü`lJCm—?Ç)³SN€X>²1¡%.ÊÃ[Žr‘¿¶N´T 3ÚÙ­o3Æ*:´Qï‘tÜD'4ÆÙi>}œ”xaië=64ا8[wžÖˆÇ}ª= Èi˜Ì[-æ&¥x²É9«xƨ§ ¨'–ÁÊØ¥^ZfÔ¢=‰§9еJðø¾{ÅÍ€{uXÚ®O£36Ÿ­ÊÇìM°;š•qgŸÈ&}ý×Ê«;a¤WÉncö“»4&’¬T \ÊöðŽHY™yã°ƒ4ŠÇ\§á]kƒÍùòa_ÊäN³{Ï ^JÙ(KI ɲKòuØDÛªbàý<•š×æùSÞÕ<Ï]ÊéFOVìFŽ™ªê_‰whE5<–Lâ Gl˜F¬Wå5I¢æÀŠý_f‚Oì‘¿|r-=òÝ¡%ç¼¥ÐÓ;ÞñŽö¿þÓú¡<Íû_MŠúŸõ¬ÏýÂ/üÇã÷W<ÿ«¾âù_å¾å[¾ˆ÷á½ûî·nW%¥ÂÃá𲗿쫾êk¾ù›¾á«þé >ñ?é+_ðÕßû½ßýu_÷ÏÿÇúè[o½mdó"òò—¿lŸÜ/úâ/x¿‡¿ß3žþY¿þªWþüÏÿÜË_ö?ò#/¼å–GžÜ_M?÷ó/zîsŸ-"yÌ>æ1ôÖ?ÿóWÜñk_ñ‚/ÿßùí/ù’/;¹šÔåÉÞê+>'ËTˆ«j‡øÅüN4©úÞ†”-‚‰ˆ¹q ß<Þë‘Ø€ÁÔÇ7ÛÑš%`ul+Q§ ¢#ä,1Ï/ðBÇ ØbТë¼vp{^îBΘñœ¦mCöHst*ׄ Úÿ£“Í8帥<ãRw¯ÇÆQM]~£úãy-”™zÿ²µèƒ†ëòàõÆÒïØÙ¥Ÿ¥twñO%>K¶rÎBº_/Ný5Dµ¹›W½«Ç`g¸ ìÉ÷mÚgò°÷ÔF1ûcg:ŠÔ{XåJét 7§Èp ÈÉÚëp„W;˜Ì}œ¡í¹'…ÖœSL£˜…t?ºEŒVí­(0Ž U­ÞïÀx»kY|†÷8l0´É¬:þcB7}r ýaËêRÓ$öŽ.Ñy³²j5ë‘»$”zª*.ÁÖŒ yzAÂTÏú±[±Ç¢Ö¤0åZ01x;H`™ˆS'ÀnÁ÷&ŸaºÌ×µ Þ(£º¼œ“ ½÷Þ{[»•èköc¯ú83°&{º$«§¦ë—ô3™Û`nÄ$½Sògð—ËYÅì¿]®‚t&Û£«ýÕÄìkTÊEÞVÑ ›Õ§é»™‡Co­½çýî÷ö·¿ýÐ{G‚Äìb™ˆxdÊKm¶Ô >0œ…õ "Ò÷]d b’BN¨ÎïZA6çº"F:¸}Å•t'šªv30šX/²»]z©$Dõ³OCøõÜ.¼ õ$u5Öä)+¸€ð'P« bÞϰM©±ÑågûàŽfWIµk!¿æ¤’,Xk2àðÙ_Òþ6C#NU¾‚/‰(I¼ý+E,ì4[[R_2y{ò³UP|,÷½ÈOÿÌOYC×Àa令ÿÇâ…¯¸ãïï~ò'}ÒßùÂ/z΀ÁÏxÆ3?èûü¯ør"yÛÛÞ–}ÆÒ…ÄÍÃáðžýüà‡üñÿׯýÚö´§=ýÃ>ôqíââ¹Ï}ö/ýÒK}û5_ýÏÇ·¿ýíò¡Ù¡õÿø¿~Þç=ûOÿ¬qù­ßúMßù]ßñ½ßûÝÿò_þ«s»ýïø‡Däë¿þ?åï?eÜùõ_å³>÷³~ægzkBk¸­Ö†°¹Žm”²HYJë’CÚU–$™Fæú©É¿Ðx12ÌÑC‰ËI`Ë‹3¦í˜€I²¸[MçNLä³X„#µÖ‚7f¦ÑpvŽ×n$¬{+w±Ì¢LCnê:NÓM–¾•• c-¾™gÆå^À&hMõ¢Çã☔W-kEKœG?šò5¼”ÎÚ&€ùR£¾ÙТ,i€3jnLÄÒ;˜u…qËŠ”‰le`A)É*Ddç]ð,LG‚5JÄË¿Êp &Å0ä>U7Éj¿hÉØT<Ñq%ÃŒóü~bîD.4ÈŽÀN‹e Å´Ú, KPkÂNÅ–ŠêªØ©}LjàíÕîæìð“bw‰£why [€ü d9\ 2Ó,`ÜGJ Úû°dh$Ø Ûï›—7^ Ç®ëÞŽ‚ Ðë)ìX:;ó$†›‚À=Ë8k¬aú¨¸ûòECº ŸBèž<{g²àù ÄÏÏ'ñ@XªƒüÄœEäéü4 ãie`§èéPLB5ŠÓXÆ&ˆqbM:(è-²çXiVP³åýÍ®:+&÷òÉÆ_ê=@6‹bȃ:72\# °Kv'Çe·æçZëÝ—á­E ¦Ótî²dÚ+2W´¾±bØž«![ÎÙ¹ÄY*µð­u% Ûõd §ònS?ÀÇ­Ír%mL” ƒÙ½¹¦%÷Ï݃‡3J¨rŽ>Ì‚ZcK±,G¢†Â\Ž0"Ÿ:îô÷ÜDX³2w8 Ám.»…QÈ¥Ó•N†2™†0×Î|㉂>Õ&v×¥G@JŒ(V@±cÚ}c\6šVL£'ñ`˜,•!ž-Y¡ˆó˜íXVe x@#·Á± Éd€!ó«àé¶´võßêbÝaøØL,ØHF¿#2 4iXÂ#j¹¾Êê †JÏF„ϸx×ïÐHjÔàVaFÁS| ªÁ?J •ëÅË»6ÉÆP•î¼³©~ìc?øwŒ¯ÎÊ•+Wn»í1w¼òŽìS å—¡ðr zyÈC...âòÁ!¢»ÿâ/.QÕcûÁDôÕ_ó‚—¿üeo{ÛÛN*£ ³ãúFÜÎÌ`yTùWÀæÞÚò×5gŸ_»:ŽÂ1ûL.•ºƒ(è1Çè·]ƤS£EÔ#/‚µ…ÞÑí©wV´ÌT òä&ß*jHËg6‹Àð'2S¬lª ‚±AcÎýdN$Œ¼­Àò… y7ž*WmÑ#õá?} 6Θl°B¦íèâ[àx¸ à 'z#°B€¦3l IÊÑŒ'V6tVQˆ­)“Ž åÜ=µcT¡ó¿Œ/XÕ|¹ª¿øŸ~†Ì.2ì ¯¦×»Àý}÷E:.ð.zÈ™˜E“@äFl ­vçxdÄF‚U1h‰9`ÒìM„W¹¹£@ÌÐÆ]‹ ƒ»õq¾º `¢æ¯Èʂْ‡sdì½GP™È"žš‡-D63åˆ ±`Y¢\²Ê#tIuÀÐBé²RMø-´„JÒ³rϘ>p˜Ó~Á¸«;DLT±J‰ACvçm£ ¼¸¸€™cmÑo:Áøï*·¥G˜x¬v®Øƒ—Ü{ï½³E*8 .ù|ÛßÄ%Íü©´¹3|lýã0Ô¯ã nÄÄ4©ã¢ïA hÆ„,ÉZrñ×úºò±Ò¹TA«¨“S~v0d®Da»5g¡s‚ʲmî!ïMéûe'³œX¶ùôj’,íåÔеmt‘îsŸû¾÷{¿÷ƒô ÷}߇ýÎoÿöƒü"ºå–GÞï~÷ûýßÿ½?ø!oyË›ßñŽwà8ò6ñ×2ùk˜.77~îsÿѯü—_~éK_òÒ—¾¤µöð‡?üqûˆÿ婟ñ‘ùø­" n²T ¥1Ør=’”£é¡áhtò×Q¼Ü™{2QÆžççKée£Ó/R ±ù„ücwa+¢XúŠ®7;l¹ƒ¢3´UñáÃz‡§Z+~EUÌ;ºÆœ©qëvÔ«íK*VÝÀè‡"¶š’1Ëù0¢ÆÁ'ö•Õ¤2d}‘k¬r1\n4ñûGÆR7¢rwü‰~›ÚÍÀgà+ìrk¯ÊJ@ ª¤±¹FçÄø»›;!¢ÖXº­Š›,´‹F‘ ¶Jš+»zö’¯¨îMk '¦IG´ãÆ÷=[ƒMÌÊž;k׸»8•¦K¡ËØ9[ê,lçu7ÝÚ/CìÆ§# «'QP±Û'æ:™ÈMã¼á¥æÌb<ݪcïÙv·¯e·42¤ lø$X‰Í‹ðîÿôEÍîx= Èx±˜x”¬ë‚/ºáF…å5§$í.ÕZí@Zn0¾0§æÖ[æ1ÕÞ̼!g›`«S–_ðTqñÝf™ëþV›=8cm ¤¿Ý@ΤAµO”—ó_¹Ëò±D€mp­vPKùQøxlÌ)éX:ûuõÓˆ®"zLñÖɘ”v¶Có®½±8 Ê]q°T+<cÖŠñnéãýó#æ·NÒ„Ä¿í(Ò¥s,*¯“=sx€Ñô¦‘ÝŒköÙ§OJ»tƒ Q-6aô8" $E>˜z%ã@eÚZ¹ÖÚÐþ¤JôZê'Ž«í©x=ªäa]¹E¼ë:Dq~«?Œœ„ŽV;q…°ü¢s*1¬ðÓ%* zêÔ\¨·¡ÂÙbKW ô½D=G}ö)iÓ_ï„~çqûðüÿcüþÒ/ý'_ú¥ÿijý‹¯ýz"zÎsžýó/þÙ1 ŒáÞ½NHåZ¦÷z¯÷þ÷?ü#/yÉí¿ø’Û_õªW½êU¿þÂþǾð?~Ý×ý«§|ê§<(Òrø·aõÖƒ£íÌ™½eœS¹^µ¦Ì§´/ŸÇ¤7¬Ï턽°ë´SÅŸÙF’a¡“Xž%i‡.QãânÞXU2ØÆ)M¸qâA5ÀèF†{€P/  Ý“f î˰E†9P9çç\(6m2ü£&–^Þ±z 7[ÂÀ®"ŒÊ6è*’â\õªŒì2ޝa"¾h#LÄ)nÖ§º!À%Ùè\Ì|\ôoù¶Ôñä.9*RdóW¶Êžæ£AéF”jÑÞÕ¦ÚÊ€ŠBBè:É8àx¢F4¢6㣥ý4Çw­¼ÀzÍo^‰O&h‚U»è˪­ ŒÞinî䡯ÃâÖË4×2°-ò0NqÃܹ)0@ïKª;ãu›‘­œÖñZZcî ÆÃ¸ußìWìàd²ämùò—0Iï`İ–­ö >´(H´ÎDq„žPDÇŒÏN°Ž£fü\ºÔY¹ 8ØAó%c6¨*ï\8^[÷iÑ[$~ño1•ö¥<^¾@êHå&=Bv””ù+y^Â;ÖFÆCk¥vÓ[•Ùú@3 Iï™I¿£nžv Áâñ²†‚A$jD:uf¦p¾¥(·(Šëtx6ž<Œ]B+â Ù<ãL`ß¹¤qÍÃPX—ªž®K¨DìuäÜñ¨N'†ÉK*K=Êå„@ K•"#¥¥‰Dþä¯!b ¨OhÃeàd]SØÀËô@f œR‚\^nõåæc)q{„$BìÏ©èÄ´SŸä§›9ßïáø€›o¾ãŽ;Þð†?=½aÇX¯yÍ«?ÿÙŸó‰Ÿð·ŸúÔOî<ûž{î!¢ÏøôÏ|Â>ö‹¾ø ˆè•w¼ròá§Àšwjº¸hDt8Ü‹7ï½÷^oÕçÔZ{âŸôÄ'>‰ˆzï?öÂ}Á ž÷Íßü >¡] v\ ÿ8 £š&ù<]eæ Û©•5=ðºï}ïû‡ø‡oûÛýæoþæëˆèÁ~°ßé½ÿÑýÑŸþéŸøÖÚ§~ʧÝ|ó-¯ýëßò–·èÝjªŽŽü0¡¾f']«-šÌðê’€˜×_6Ø«®¥þº®ÎÙF^!›¾©n׆²®úéKkÊœ8jxBMP6nú2šP³o÷é “ˆôÞÓ•õè»E¾ÅpŒ ÿÄêr»è¥E48»Ëã-¡ÆQ[É=ÛÇpgÅ3@ U;®dO̶9µ’ÌáðÁ”Vm€%¬Ü2[6€aè»t¹¸hmĤÝ68²›`³î*0¶‚1ïÄ'ö á_Ž!ƒûlôuË”òû­Úa=J\]º“íLæÇ´aÛhˆa5UUZ–]Xã¹ AéB]ä öùl&fj/˜˜RÈáuu;vmÏÀ.ˆ™óˆ ìê.Mýܬá]’Nsû¹ÔS¼  3Õ^տĬà1ÆPï¡­ºôM¢­A𫬬YN½ˆ¨5n­‰ôÃá ]Ú8Õ¬‚lr|U ¢ÖŒ< Ô³’£i»!sÅAš = vØÇ’œ¨AŽGýÑ\ªü¹ÊÄí£Ÿð /þÏãÏóŸÿ•ãîÍp˸óýÄO•OyÊSÇ äøÀOú¤ÿéÒ ßzëm¯¹ó5~ùèGßzg\ßÝÞ‰ Ÿßõ©µö±Oxâ=÷Üó-ßú½w"ºûõÛ¾‰ˆžô¤'{¶Þûßú„¿ñןô1wÝõZ¿ù¿q×ïýÞïÞÿþ÷¿ÿýï?î€Q\ÈœÜHæÀ¹¼ëÓB“72ŽæÞ™þMz>;úE•5~—z – .å²(^ZõÅîéj}z? sk-X²Ažxx· ýHàÙ^wBÁ;8ÏEH0†¢ö(šôVØæMΚ<‡£†3j åØÈ“enÙÑVØqÃp‚Ì‚.D‰'…9—G_ˆt£2>àz±¼AgÜ4(ɦyÑa3ê͈vF(ƒ$†lŸ9k…·&r×Ï;Räö+"¹çÏLJ=àVwW=æ3Ìm=§½z®‰…¹Ábë ²"wò«ú$lÝRšSýˆ}á¤ZR¯ý§é ,3 ¤¹Â€KûQÍÌ%ãü— …s¢™©œêQ/}é/ŽË÷z¯÷¾é¦‡¾æÎWûóízR5§µ®é·ç·Ÿ÷<ýîëPÈ7¼áõOû̧Ž;{߇}Ó7}ÛY~Ù—}ù/ÿÊÿûýßÿ}?ýÓ?õ°‡=üÎ;_ó¦7½ñѾõ³?ëYžçÊ•+O{Ú3þÝ¿û¾¿÷Éç±ýà=è½þü-o¹ã•¯¸÷Þ{Ÿó¿`Þœ¼%;Rs,]Þúâ]œ˜¶^ÛCµ<æÐ…©Y2ä gS¬ôÅF­Jƒþhw¶¸ÌÊ"Ö…ñÎ$×2œÎ§ˆœ\»¤dž$Ó)šAüÛ¯LŸjÑ^¡¡Lãðhù ›õ4…4š;Þ–ÔEÒ_ÓZ4ÇA”†%J92“ÔÓsútA ³u¼HÕ++3‹Î?;"¶A$•Ï™6nBF ¦‘Ÿ…-§Žpí‚gô –%?©@vü˜Øži>â‚æÇ.aIvÜeÈÏS!î"M¤ÃÆcjÔ:_0wSòôkgþYçªÓI¬¨¦Æ”+=„Ü+UûœÖ»&íös!‰ ÐDÓ­tÅéŸüd`0v)ði¨”/¹¹L.%¢—-ðYÉ ‡07ÇÛ “íO]^½…+@HÂÁ˜Ü)- #{ÄZa‘g±JÖóZ2ÙìÈÖÊô·Ç‡Åv³cf<Óš-œBÆÃÜöOøÚT!öѼDŠT€’•ü ü€‡hEtèq‘Êóü\k˜\zç¡ÉBú¨$®€³áòy‡ôgØu‹F[(w­plÝlúíV2Oo1Ö0Ë– wb]ˆ‘اµ8GŒ%tÑa QRÜWp[*xDÃã¹fäên‚1};)~(C–±tÙˆ’Þ3— !Š‘0Îê;´¶"N7òz¥ ƒ8mÂ-˜¥+T ¼¶_æ²›Yqd¥ <ç>ÛeÁÔ`LY.~wKÿæß|û-7?òÑ·ÞúŸ_ú’ýÑÿpb©!""zÄ#Þÿ=ï÷žw¾öÎq$_c IDATyë£o%¢×Ú%½Rðû0‹î~ë[_ö²ôõ×{î¹Çï¼ño<·Â[nyäü‡þëoÿÖ—¾ô_ö²_¹é¦‡~ʧ|êþ£ìë®#=ÿy/¸í¶Û~ø‡è7óuögvßûÞ÷æ›où´§<õ™ÏüœRáˆIÓ¯Cû ÌCÜ[×ÝI ﻕg©ªÏ“­[»-vÈgUSD4z˜‰ƒÜB©V'3/„÷á”™SÓ]¯mXƒþ~Žz ýø ‡mÒÃ?¿Z<œE ;`¤£w<*¹rsÌ IòŒf±ÚÄÊoòLŒÉƒÂ¨Ü̆JI©T [{ 4ÝZcû^HóÑÇ>²º,œÓN$rh†€ÂÚ†íí¡T˜h ®)¡¾þuŠÞ.“ŠÝ‘m —®¾$±±&c1¢)h&&nÌÂ|A4Bøé°¢mÓüœLɉé2?RfoÏÑfd{׸maÔ½2ëtDïŽKÂäº-^(Ç +–ÅÍ$4ŠÒ€ÍÑâE‡þÁ{ñX‰€$±+ÖÀ‹è&nìdzÂ_Û &7È”ÊãPke˜„`’Ó¬Ý6kÊvØ^L•3Óµ‹@:s¢jöJ æµÜLÔÏO¦!›A%;¶[’Oªq_\+HæÞFõ9mLÌQQ¼!/E`ÅKÇB+[{!³ gJjè,âþÒÞ¨™\ôÜcŽ_‰Œ@yUŸq°žØŠiˆæŽÑI¬ñE0BùœfÖ#Äu5=ÞÑmÌÇh"®ÙÃðÒ‰IbBY‘©µ+ÍlJüô¸` ÌÊ4ec»c£^­—ßÑüqËÌ·=õˉè®û×¥–äP«,ÞÛ\’EL­f³“³íKKÆ€Þ'NöÒíÒi«µ—öå; µärˆòÒqc“ MÁ—‚CLDôêW½îBÞuL·Þöf%–{÷!¢{ï½×fÉuÔA`¼'Gö&CƒŠ‚î£\¼Ç¾¤±‡™[£è¸'æÊ´pyT1çÔ±Ç{\_´&”¿º;X34ne\;»¼§þYó1 (ÜaÀ݆Ï{à\ýÉÒƒ—×’+Ûâ,¢.Úµ®ºkzÛwþÅ ­Y'*[ 3TkÑÐ"èßlUwmcð(ÈNA¦,){pСÚÕ;ÅuS×§Ú½¶À•J8!Û±ƒêzÝúý®IBqþÙJçµûÊ")’u[ËTÜ—eÍðî¸Çe Ý’aZKq üD=l@Î*|œ‡d½`g«`,ÝÛ€Üf»ELÿܶ‰-¯-AwÝ•Ø-¶†3´~/)š©n4 ÿ9ûõ(ªÑ‘ñ‹nSKÃ6™OU$3áJS)&âñ*é°ƒ îY¦v…Ê»Ùʆ:ŠäÆ]T¨ ZIJFçEÓœ¸YfªjïÕ¢§“e,ƒJ?hÌ]KM[A6Å!È\K 6NQãHìšçt³kä½êt z.s°VÍÎGE3ÔçœkV ¢³È$ç[•!"? z¶„LDÔqvfp mræ!“dé€Ï±ýME#¯®3)JiÚí**sb3VË Üu/Y7e–ë TòÈÛäÑÄ%áh”ô >ªŒ(ð­5MU¸ó¨®C¢[Š.«Áë“ýš¨É"^e*UIþóNLn— ²æ–}•Þ¹ä]¯Tõn^¢±@ìY#XqO€CæØa}@›•j v±M)™‚U Û(óƒEsã8ÉD­¸AW©Bêû]Q@¶M)›‹X»'ýÃ5Ê^ëÉpàØ€UfÎÖËh‚áZÐâžf*±=YUœ%'UÀñ¿;Ò* ’Ëêd„rµAÄDž/ã^\¡Â¦•˜a9AÑlž­@¾§‡cŒ6ïæ´o!ŠÈ L2g]†VSÅèÿÙËጇN÷ñÌäóúM‡´¯»†RHhì:¦ét¨Öðt¨“­"Oö³ëãñVæ¤}¿v~:൨3íÙeÑDA<Ú6{4e<•sK¼E&DK]ŠW˜™ Of?u%”yenÒò NZâN.7‘ ú’ˆ”R}!ˆ–K@rí§ˆ;å|‘CáÛÌú@%sÍ5þõFxòpf9!€l73µ6‡/ág›–Ã)^·;‰˜KÅì)×DBÔ»ì<áÜ7qOïÒÁÁ¡D•ÙqŒ&KRrmØ(q¯dÊÇ#Ø‹›0¬Õ¬;Ûy‘=˜¼*UëH\ZlI˜cbÈäÓ₉ì³@öF bI\j€f° NäéXOÚà,£MÛ‡°ÙöÚ]ð« ÜÒÌ0ívcvó‰kߘ»>¹­åTWÌ£D:h€ „‡v’ÛÈøâïʘ•ž@Ž%!ØB~F:ÚÄÙHæZ'Šè[¤á-Ç5D ïâtõÉ’¸¸Þ(ϹcYjóCp… pIê‘LËì ¡%&XÇ"……¹±t1O”¡Áem1¾6ê›H!椑Eáá›ð½ßôÏŠrnÇoŠâ(¬Z¬.²‰õkoÜ;Bé]æÛÃ/ByƒN ¯L%1ágär.Ü¥Â4}>\¼« DNcÒ§ÆvǺ"lÆÕ­<™i.2V?D¹Å«*gÝ9LÝ&"\þ/c´à(æUG³ìÑiGVf¤g‰oZÕµâp)âý¨¾Sµs÷ÄŠµzÆk4ƒ7g8 Eƒ¼Â8gV!$"¨K?Pc=¦›™µwæFÔmHù]E*…C ʃ]Cw+•Úz|BEó¬òbЍ/ª>‹aÛ%ߨÛ+’KúòJäÊÙ¢5bÝÜ\™³E>ßN<ÙzZ×UDmH m3àLÄ6ñ#ÁÃZA T͈ôñ¤Û¶‹ˆFß“• §ªvÃÍ ;%F–z;\¬cbÛÚÊÌÜûÁÖiÁòÙÔ!p¼N®X­tkÆ‘¼fp5ݲcPVX–>É¿=æ9p^Ê£ÝTwsÍÅÌ^]2ùäÓZ3“hsó!€õÃÿçGG;$Bãˆ^蛿xTíÀˆj º t–š–Ó¿ Wpœ3a¬m ˜Y47#é‘‚€j4+l16½áHAfà„lÛ`ð‚˜ÒÉ‹àØÈ 9Zdÿ¼žŒ“'´:?X `’=Å]\"#ðoBÅ¥ìèΈehý…V ûæ0€”XU˜þ`Ê\M¡@ݤ¹0GÂP¸Lô§N,ê½¼ö­@ع)ü0Qâ±T«óYjDÒø‚Xº4³([—§Eæ#…9y·é·Üç“á ïêY‰$%E"Ú…øÅçy Æ_ïÍÂFwÊ&ICFå¤wùŒZ7I¦˜G šx^‚ ¨E“òîC_0ÅJÒÒFôÕ¨0»?.$¹Ð­EK+là†™/˜õ* @½ÕLMRó2+óN‹%dß{7‹iïIŠ·q\­ºYb¾hÜ;‰ˆtáÆã60ó‰¡/ÄawÑÔÛ+A ŽE|Eˆ¨µÖ¨åÊ™ˆºx|:%¼nܨÚÈ1|GnÌ‹Vùc@õÙôé¦]f¾h¤Ó ¹çž{ÕŒY…æ~’ÍC9NL…ÒT‰ý ¤V%÷]C)²0òn¬ÙQÔçÖŒ”ÜÔvbÿt¨™‚ØÀ“])ÓB ‹ºl_¢WIà@3qFWÄ”\7Dz—ñ¹¦¸Ëp¸1ÅYÐNŠ8C4nÇŠ FDMò—&´cüP1¬)†Þ§5§ 0†‰}G :Ž2Ç=Ä%œ˜P|qà .ì÷_¶´`¬…w<ÕËihÖ;i2°}\LN ÖZ©Íç‹á;½ºˆ3œqõA{ÅÊS,H1G˜Œ¡ÖÇ•DDq¤= ¬P¼@ôÌG]Guw\^A¼´íã‰ùŸ°~ó¢ðDgž\b‡3“…S‡-„ÃŽ'¼,ÚªÃ(‰½`ÉЄ­c[ž]ÁÀr[|ðœl½HÞÅÚ·šö½¥øINIhSÌÇ xcn=RLdÂ(ˆ› -80à–S–Oñ\þwvñ;ÝÈf]]£tÜýªˆAÓƒ‹0Qcb=î¸5îã0’™¥'6´$ïݧUl–¹hÔd;.Oê)ÉáJ2  ué^²:tÎkoy$Ò°2Ý&QhÉYô3])í å«Á`µ°%Éaæ Kd˰„úb#Lá*|:»Ñ©…‚ÛZùäHci´v+ëXÓ`í]âƒÅ#\ žW4XÕÍzÆ*9ƒ›çW#~œ¦¥ØfRö äyÇ$ª¼ã‚&ØžÄFn¼52áÇrƒI*‘‘mÓsù7p8L"æÆÌvÚ”à"Yé‚7NYZ8s;¯ÐÎl°s³ªœ:€­Q6­>¡eÚб½é\Å£d¶–Ķ>ì¦kêµÖúyýtùz6R[\¶µ„/ÿ § ¤M589Á·ÙÛz@Ê÷A^’ŠE;;0Ƨ>‹bAÏ Õ°5†iGBe¸M‹)· á.ÏévºQCµ ÖÌN®vÔ5„ȶ—q´îñíIgÛDyÐÄ×ut’;߬p 4gÀM6-÷1¸/±¶ šƒÈ Ÿ‹=÷éÙž4,ö:ßs±‹Ïf bRb¢‰÷&`·Ñrd¸ÔgE¬Œí^U2C„-”dÛ¯¿‘ŸE\à‘òZDˆ;wé,‰©5–qÄô…p';“O!X ÛivOBožâ•Ô4&PÀ«ÞBÙm;—Ÿ;Àùä$õÊ ª-ä¤d(möI¬ÏIUO*u ýßj#¶í¥z¿–²SU&|\ÊÚöcð²H&BäÄÂ¥À(3qÁ3Br¨dæ`¿:C\;¥0 H˜›®X›¡–ÞÕ¶‚¼|-ÑDvÒÎ$§Åˤ±Æ‹&có8=K´ç ’¸»äà,kY BBNå!2{¬óY¦ÝO{ÀGÏÖ´C$ÍMè¾õƸóÙ¢¤¸*âÖZ–?Í öLª’÷ndtU˜Mdü”†~.ð$ ¤Ñ`¦T}HñŠŠµà ÂÌq“[P]ñ¹^|¢ÈÍg¬yèp6ËJ±gZíðÁµpC±B›Ob±„¤3ª",“®ÿàV{$|Â(€1½]êJæõžã\À0Ù,’òíÓÀ§ÕónÒ[„n½ífý} ReÑ ÄNHÇ‘Êì Ý`†yßhÔÆë(º*´Ä®ãMí'Ô¶`‚UvÀÖ l}ï,ëÙ{Eñ ‚ãîkö5"aé= 9f0‹dF9•Ê}_y¬$n •_  1[”£"³u2Ÿ­–›>ƒ VT™™ß!“¶'ÇÖÔÜZ{cPí24{‰R§ÈV¼ëB""úõv‚mc­5?ëZÛœ~¥0€óɉ÷è ½ß4¦²¶cØÜ«z;žc«ÄQ唌UVyÍ„õKyPof7„ÂŽóš[ÿpâv ªrS¨ õÞ;qUv·Æé ²QpO¢çˆ‘ÉËLuÃã”Ðé ö£t-¶C)WøÿZ$•Ò©9hrsAámEõ0Ë“|#å^^1…MXÉqdÃòÞÏàs:¡ÌÁeÚc’T>R·ºÓ¤<+)sê‹Tä¶eÖ=Û¾(8vf“êQ%ÀñVÒåÔ,°±jA^«0Î=bfêZ#êÔó Ž‡ ©ãJ-ãœQÊAÖµŒÊñÿI˜ÏÍŠ÷Æ>ÌD Ò¢ÑÓX2u6§(ÀŠuœ!";’ÒÄVâ­‹;Ù,315ʇ$ïÌ™ÆäÉÈÉç`ËŽøÜOù'è¾<×xl™ð¾±m¡` ¶tí!ç³ÛJ$,üaDµÕyŠ”E„V×äaÇ¢ÐÀ mÔ6fû¡wê)™V¢Ä]?åÌ< 1^íËX$íž9ˆØü¼Ò]^ý¾·&ýw»?â»a®ßzÇI€‰h|'Õ6`¬èÙ›ÊÂ5lÌP÷G³”¬•mã~nÈi^(Êì“-¼SÓN‹ËG.zלÔ‚¥Í€´´@GÌ’Jªã1¸¥Ä,áëªüU‚Tt@ÑX~3êZ¤ãö{]Š)JïpxŽeÁ혪ª"$âÜÙ|ø>¼o·„Õµ„[6Ï[ cyw#Ö½Tù¦™­‚û–[hˆœÐ—ºy0§Ù¬{™²—·Ì’¢…A§>L}âŃ1…ñv…Ô¬¾õ=a)Ç©ý˜ËˆËlš—–̃G©ã£OÉã±¹ôiÚc>˜lýD²5’€HÂ6§êz¸ñ˜Órc¾à!aÔÙüùv{…õ›8JæìI®¶\ƒ  ${)[9®çª$ì6€=:•^õÚ%›q$ä·ÑÙ¹]ót§qr6Î?¶0O¬žX€MïƒÝó ‚[0±ná°­'b@CðnØ #Y˯D62¦²H;{ˆtêæX ›ÕŽj‘.ãÚ€é"#V(b%½³ú<Ò)Ùºð›YÏ«íTÎ$¿"“•'Üí÷.̰˜ßgå½ç0'B­5bÒÒ#3Ñ\߉ÉiÏ_Äóp€OpÚ^+M‘m`¢…'YÃs÷o#Ž<&ä³Á"¤Æª;º!c5ZwZ­'œ"JÄé² ¨@Ñï\/†äÊÀPïM#ÃJ3SŽoû7xmŸs‹e˯ó©èá õ½q@.EžWÇ2‰7z‚õbÇGDõ³=† bæKÙS©!Í660Š@þq¹ÄÁºFGë”xr¤’lâÞ “ÀŸ‘”3ú‹>œÂ´Ó žͰÑȱ„º™òW—¶Ðõ´#e¿âuÁcã7é(LCt+QØ1¬ÕŠ—ÚÃH¡ÅÑ?¡“‚V… lÉþP3ÙÎ&&°Gú I[}¸¥;9´!ËŸ–O4«-&93}Ú( ·•ebZ+>¨’a-¾ô` ¤dRN[ 9½ ¥õ‘u·Ž‹_êZB®„ÀoL÷´š’À58… p´åÔ¸à´ì ’m™%PÍ$‚d*]h‡¾•êê’¡K–ã$Æí!C]H¿âã¹5n/˜/˜­ïRÙE‡3¿W¶¥¹DÆî‰• änÿ\W3¾vI£Ýb)ÏdbÖŹ&àÁéõ8 @".aáåÏcÉlìÚ˜†Ýt»+Ye±UÇ«Ýæ°†Ú:RìüÜdOÕÍY :¿³·‰ë}ÚgE„™Ó ž)Z€Tå 1·s°j@g.¨• ƒé¥sÌJC-L¾Ÿ¢yéH×Ï…í˾œÇ&–™'`ndÉY½%Ûn®Wµ§µaÓ ó¤dlòƒ1VU¹|mP,ŽO† |zŸ;­Iêý67šˆ_ƒË®ÃiC¥nFGLÏv ÉÅ7Ä–1 ܱÍB«Š¢oa¢9qÈÏßð%™>ÿuo²bÔ1†âª—©føå¢ßµ·4n°ÍW÷îÛÝT¯Ó~¥éTÙÑÖO%ñº¤¬‹Gõ>ço§'jWçØjtÙîuI@“ÊLf{ÈÞBŽô.•Í"¦«ï›äõX¶(;¸°ãul·ºo®~˽È`\~Å€e>0€£þà'3ÄÕ›Nµš¹a9ÔD#fGâø‡íxÈ{©muO$¸„Œs•‹Û\ÌÊ„S“­'£„®áág"ÀZ‰çF ?ECLéó?áyºM•Á²F#bj0¶HyžÛØKf[òØÆ&{töè}Q͵ވk퓇ãÁÇÎâí½Ï&k»²v2ð…ûŸ&Ô§þæ`-“Šzxøk`—ìܸ±ñ}¯ê–ˆô.{o#*Nܸ _0SÓÈ…Ø2|¯G›*r2#JU, @»Œô\kR£«JÇ™pÆmµP^«­›ŽÅ4pXjý8ƒ[$‰Í¿ïS£"’ OvHÂ]KÒ$ÛÅ–ÚåW(ÆNZû!¯Üš×É›¢V« ã¨áf™iOõ‰M-’Ab÷ƒfNë'‚Äp…ŸõÏÜXBbm³¥›N_ªbf9lKñhZQsIÍ0B–,úrJ,]šßˆï»¨ïÕEEó¶¤h[cóšr~±GÅò»zM µ5‡<­Ä„:åËÈ61 ‰úõ´‚GGN†¤ô=¾Õ×c–tl?¼Åe8üPhÝflÿSŠ#0ŒŽO¢À¿spמk“¾!!¾¨žˆtQ3hfJm`½á¹à&`h¸ (¨CÄÌÔ"°DqøA̬õM)‰ýɆé³V·Ü³èY?œd°kò{IiÌß¡Ýv™…€D ‘…ƤW ëÖfJXuW»WDv3¥ÙîR.¡ ïíWÿn˜p u 3â1Šs„g®.ßùü‘©›þcMLÀ&öco½ªë™öö› `æN¬¢^†Ùå•zœS¿íØä X k‡ˆÆG¶ QEcf‰‡Cça ÜhôÓ+ŒRÓ,&=…¡4¦¨Áì¯ÛèMøvÞúU¤\¹íˆŠY× â±3õ7&RËjs ©€¢¬”0ù?´/¿fã6,V²Ù¬G…%ä)(WëÀv!ƒG‡Â.—ânK¨Ú€MÚí †éjÑ÷Ž…*œXçy·esR|×I‡µËêé$ÆÍ`†»_Q$¢µÚ ~P/ bâ¦ú¤a¥d´ÁãÛæøþ# [015Ç¥>mMô8MŒ;vn" Û³µf¦ÖÚáÐXqo"΃ !€²"‡ š¸oM4Æ‘øü;àËåaË<¹ËÝóˆs?j+ÕQºÕ/4{\9ðøŽíê¢î Âö 4.Gscé}L_×/¡‰E.*ÂèB¢qnh³·`“b]ÀhNº " ÏÚYä†&Ÿ#ãÃi£[W‚}¿Lp˧O›‰£á DÃåz«:×Z|\ÆzŒŸŠ;Öéã>îã?óiÏøÀ|ìƒô ?ù“?¾ýá{¾ç;ï÷~w&1wÇ—ìblÎn;ZH;ÔçÙAv)~š²aä"mŸ8^À­ÓºÆ)ÙwÀ)À5wÊPŸžÞ6´±„D)åð—Q ºÉ®¯bı¹Íz¸ Þ–0asðýfÙÆ$…Ã_†Év2'nª‰æ(…X°ÊôŒ¬©¨ÂR3æ5ó2£26¬DlúPóˆ÷/è†Íf0;[¥4 0”ÒspO“Èl+“Ò¼~(ŠçqЃØ$Ûeð=~‘>0P°M]1™>JPµ€ƒ¾ôõøÁ¾IcdÜè³v®è2@©=[vÎ „^ùy«rîºdJÒ_éb•F$7¤€RКqE‘’KPêR7àë˜Ö¶Ö˜tyHˆ/H¤óÉÁfF¾8v´ET„äò°q-³¼\ÁjòÙ{¯z»žS/;å?Ãaåy¦=×°´ÒìÒ‘#Ã2åÞ“Y¶¦`ƒò9Ïv‰µDàÖÉTî $ü ­Êô0,­„Ï! tê憒°4ÒµÝéö‰.d³›±rHÌÍfGîê<¥þÇÛ3á_ô·u1Þ6*š¡vÕ‰uvGf¼Nz_î,d£Èºö^9‰;+G_K Ž·)1Ó<ð¿^¯7Ó焨5£)Óš©ÆÍŸåœdŒË®|²¾D¶˜}„­:z oÆð5ƒ¨‰YY9]rD?NdÓ|l×7«Av­oóOC{šeªÃSY*nP|,@'ÝÕÍSÔ¥·ÖÆ<.P²™¨npõdÝm€"Ñ8ˆ¹®ø¶N—>¶$;ogH›:묃©Ç6¡UõH¢ÿœ!bnÚE8ÔÌ ²Åß°ñØ’ÂÅBs¼ó3ŠTp3oëãsœjÜp)%ïqHñüç}åç|ÎçùåÃöðÏøôÏü»ÿó'?ëYÏøÕ_ûÿ¼KåpºaµÏ‹ïî&ßʨº:‘ô¶µ f« ¶#¥cçR´Ñ¨˰“bDÜì´[à𒈪­Öæ7+ÞT»¼Cáéäm$wóealü²½NÅ1ØQª­c:j–‚(âVêR{MBdï…ç—™~G”² 0ÛìS(^½VââØÿ›k(¸¶a]Q»g.ž$­EU1›qûF ¯"hö «à¯c/"ÑåÃØäÓôqñ/ÒFÈ{°ÊpñA*Ÿ°u³€,Òa´œùõ¨w¢K€„ß@MS¦,÷¾¼;0E¢€ûp`ó¹ù¥1{ë@[ÕµmÝ›špH@”âÍ£TôÃ!ñã$ zieO†eÈ$“té,mlR´xecî#.Št‰Î˜ç Ñsmq¢.QÍå¬åyE&|´Eçž™·]%ÛJ ïE‹[Þïh7ö2œàŒ,ÈZW&·ý­[TÜ?h À†–Ù=e„'c×®RÇ›n¤®mìÖÙ›F^÷E» ØÔj;`ÜÓ(’&ln>F Icf«Ð#’ŠH=otÔ^'ÔY9ÆÕ"º#›z˜¾L]—#upe߯ó¢–8$àúÀY©ùMÀÒ·„luº/¢|ö} N&E”a›)`†Á¶Æ<¢]´ÚBFLZ¹)r8Ü+pн{€ˆ:ÐAn£wʃíw .`¸¢ãÆõè:«#ø@bæð~äU››ä¶ÂòlÓ3‰I,ôÕer¤ñ~µònLIYÑS­5cÄ]¨K烎õPùèñ‘û”à’š@ bû0Ïã0–W¦îÛóbmŒ¹m|äXA”’Kp( ÙâaØ »°ç˜qv´¦ÏSGV¾&™ˆ²xIG¿Äüä'¼Ïf{ïwß}÷ø@"zÀðßømŸø‰O.„`u0v1=W,Â<Ule×—1·ÆF•#@ øÚÜ9ÍY2„0,2eÃ.&.‹ê¶É8ZõÑ;-^¢¡R%„6ÍqLÂgMd'A\6æÈ%Yg‡öuEÑ[XèYükÏÃËd&ÏW“<¸—̦ áa§î?7S£ß%‚åk½Ói±‹lþ ÿ» “ÿ›]º"²%K °Ø8Âb,[ºÏþŽ”¯e #zà{¨L·Ù˜l#ZMbmSéSntlå l.“IÝ»;49t8”3ÙtžGˆ˜š9a듹M JƒÂóSXwnq£GNþI=ñ²Úð“ÇÝß’ªtËø²DïæFÂã5¦ÆÚ…p×9íÔ©BΩdHþ½c»ç&yʳÊ{RŠå¾=ê(ôàRi¹ {^ªóÖ¸Ÿ)än£Ù3÷úŽÕ¥1¬jÝdU6¡»rµ•’`ØÛº*gæÙLOUÍ™hànajÃó5n]ºt rè#ÓñJÈ}†½v+v.“‡>.Í‹A¿HéT0[úY™Ü +#¬³°(4®ýÕ31‘XØ‚i¼ß ®hާ¦t'ṏvH;ʸ«?ÃÔÑ)ç]áR®mÉÓàhú»`û„BO– ðJ<Ü—æâ“¸Äo$›M!]MÈ ”?â–®½œíÝ,×ìîQ‹/ÏwÂX,(£œag²€lht²èë³1ŽÕ ºJbÕZT"KXñ›ì½u’IR{’?Û³LLãDrÐW&¢nýP;lÒ¿ØÒ’t`þ®³‘\ må6=¡7F —*ަ§}Ægޝüõ;žð±ýù!/øÊç;ïÿþïÿ¡ö¸BõIäÄŸ³ã_µ‚Ýö…Æ×¡<¬UàþŠÂk›8ÿÞ¯_Ör3e:šçD6I‚ì§&³ñ(QBÊ]ãñqÕ¦¯2,ÿœGç¢^vå-™AÏ‘sŸT”•\¢èl}rÑ@W¬Î£=ÇŠ÷r…9+´²÷eÖæÞBƒßàÏ|Ð\"ÌØÇªìܤ'B"s”’ü’bYÜ"z˜2Äæ7ŽNÿÿĽyümGU'ºV›‰&a "‚ `7êSQZQ´»µŸö 80&!á‰hЀýúu; Ä0„Bœ@õ1i7Ҷ̉’›†v$̹‰’ÜSëýQkø®ªÚûœß½_îoŸ½kXµjÍ«vív?˜-á-l‹ÎXíÍóÖ«å"ð©äMAƒ™‡@¿?ç¤`¬»Çp^ ¯ITqFHãíÐl'Bºš„©"µÂ‡ÿšW[¸0û¬H7tº Q»€°N÷/Ç©Tœ2’w(Þ¢{^Ý9l_³ã˜Š ÿí¬°T¸9\­ñX÷˜{fÝÛI¬GêoÜÒ~ã²0oGBž]©&ñ¨ŸÌÒzv5§Ka¾¡pómC!»Â=W¦û¡7%?ýeŒMüwŠ#5e•õbš˜˜ÉÒ«¶Ð]àŸ$èçŽâºçÒ…0_´[,Ïâ6ï°§<‡Ri|¼]h3OJUº‚ÉDf§½ 3ë(Sò Ý4:¹0COˆ-Ô6d5ÏÖc}2?¬9·¡ôDÆ©¥ÌèHaIº)f?—> é6×hG ÌÝm³9õ˜C˾–Ý(,É‘’•j—*M"–"Ô‘©÷*Œó5“@’…•›¬¶¨ ?öoáB0 P ®$ø0Âáwqñ’ŠÃøÑ¢D-H®3@ÞŒ„Ô“ÅȲkT2£oœ:pÙG¼LtLâŒ5¡·OÁþÐÐT¶¹µí«ê. >mÖô™÷ެ©™¾÷$&7Ö´ð®2­‹²w=ԃm¼hÐN{Û¯¸Ô:€RëzXm…,<žj,‚11®_zÀŒ!1uÒÃÇ 0C(ÅvWIí'‡=i½Ù3Ñ)šn{QÂ&Â>7²}¡ñß$#6[Ms½L¡šê1`aG9:¦!'¡/S¸ `NU]'¢“‡QéH)1Á\¤_ÁDf]Ê“,œÍš)fÀåKÙýQÝàÕåªõê~ÄŒ“dÌ‹:¬"ÏT«tJTߤHZÁEJ㮓LØÏÉÈÖ·Ó|ì rÃ~¢ çþv´„4‡ÖFÑzAeNL Œ8O‚#äAï=tÖoNYaGÁ÷´n.N­îi[WxÊq&>ñ d»ÝZì¥ÄÌI_Ì«±vNɬ”¤Ÿñ˜¯l.p2&²vЭ†4ùN&2§šöoì¿èL¶áÎ÷|Ïw·—o¹å´Ú"n¾ùæÙü¦eéQ·Ú»› l³ÿvq,•±ÊÃâgÍ7‰ ÚœO'²ìØ0¶^FŠÙؽN>pŸFÔY]¬P‰y:‘á&&øBu½`GI–„J4.%ìÖW=¡kö¿‚wz@;„í16AY¥ïëóIý ÀÞiÇ÷h6YÁL¸cšò1¬!|¹ 6Ýx½K#£*'3*m¦`Bù•âï _+'únbW!òil_÷Û©ó ?rJ2è$Û·oq9Wž3кÜkƒ÷mq½Q‡ üÿÇŸX^T,›ÐÜ7D<êºC°ŸÀ" ÚÑî9Î’L§A»#L–§.ª®Ûgi‹è›´íC>Ú— ˜LyËñþ(ZnsjXúûŒhJjÏê;Ù«îŠyëÅ¤éøŽlªiµzHÄ¿ žƒÆË‹<Œ²É@ƒ°½Sh¿ 631ÿŠ,dÌã†I² ¯DO• Ÿ‘í~ÑäÍþĽ`°JtL.r†é̛˞ B‰Ù^"*vñÎÎèI( —u¯ØØ¸Œ>Ñhö.S3ó Òu0¦Žšy‰Í€Ø…Š0Pô-épgE¤æô£vÙÉ7IÆ‹O´k'pÁ†_Æw8aŠáŇ®ŸÏ2Öµ^ƒÀM íÓŽÏií¸w·gÜýÔe®RëÑ­)"›Í!f:zô¨ÇJtÜ 11û 4Á³bD•8ΩÂ&ßÏÑ(ÒÙf9v“At(ž&XL8÷ "h‹´žJÚ²ÉYÉ”„]`±ÍÕ…œ‘~z ¿Ø—hÆŒ·< ü%33“Ô {/ƒšÊ‘›oêî|Ý×~ÃÝ¿äîD´Ýn¯ºêªýTàX–jòêSe`¢Úæ¶Bß¹«`›V6¥0óv»5Q·`ì®sÒx”+A {଩ͺ ˆñr/ëk¹ÏõuøÇ-S‘ŠhêT‚r|³{sp» 4²¨¬ÝŠ{н•ýô·Z=IÖdäP·-jJ!ŒD?÷Èn‡@2å3…#$Q2•ãC³YÂV󊤙´áõö’Mð{Ítk—Çw»x´Ì„ø‚‹­×6çx;XzËÖ‡ôI3ù‹b^Ùß°NB>ª @Ȥ…2kÀHh(Ý2êñÀ›ÿkn-ÇøâMÁ÷'Ëž0N]¢ªqŒ'ÄÞ&Gúa©µ2±6 œK)B¡Êµ€_‚5ë­ìxMFät;oìug:òº­·gÙY5U@YÄÒùrø«S¿D@?<4ÙúÝ·´þ‰*«zdXñDîhàá™n†›ÿ@þÓX¾ (òÄ›°~LK*Õ–lñt"͵?/¢[MêÖ¼î9DXÛи¯²Ë2üXR}Q×ö··b=‹´NÀƒY=vÍ’æÙó?GíùÍ›«Ô§Ÿ2©NÅ/% ld²Óá"¦1$< ›Ã‚ìeæ‡Ys¹šéô—ab–3O§Ë¨«½6×õ{ö>Sô ËIgn¶¹ëi+Uüذv´S;Rñ)Db·Ÿn‘0q%] Û4û}¶¨~f#w¯"Ԥȶ9eqt§³î¶Þ¬ªgh»w´G;F[| »ÙøÈdþgŠÙÄ–¤ñÈvàK[eF=îîÜZ”rÄÐè.w½Û/ýÒ¯´ë׿þ÷?ý©Oô ÌËNE?Öï"»ÏšeòωMåˤ+»ÉÂ\¢Â:0ÈzÙ‰®ùèTø:äB»cÌÝs–É£ƒv` F3¥<õa™´ÐOË Æò‡•ÁFpZ•ŒG–8nyêõøîj‹ÐF£BÝ­nºf¢OX‡}øînԘ͙K}K¦IÝž'ãļq  PKš%lZRÜÑ…g²Ôª 8Ÿq€,h^rÆOæ ìÙ0Ë«›yg„ù¯Do¬Ÿ &q³3œ±ÔfèMpÔÌú2½ìŸÖ9q‡Sëñè›Î s¤í*==@”{½þ1È.B¥ê]?HËU˜…õ¨f¦RX„7¢ßIñN%ÒY-IàÙjÍÕ†°÷†þÿ(e œ½«§ ¾ÅÎ1Ç2ËGü–@[²üRg$×0ÈCÖÃ*p(m,£¿|iï6±›Œa|J¼Zé¸}4ÓDl>S9¾a30,\ƒ¢ËuÀlû7[rçæ‘@ÛE2j5žil*‹uÓƒñ‰Žøxüé`³}ÝèчÊiØÝ{Y‡_~ £/9¬ëÁTDþªAÖ®žÔо»ÏÞ³e2íWY쇇¦£Fs¢ªÙÌ£üž˜< øëGÅ! dVìÝU’Á2 ®csgÞÛù”¬nM³Ç˜²Ëš 8ˆÈâÝ@4EϯsR”²Í,÷#­ëp„EìÜx"ŠÏöäf?pÚ±kV×ÇN9÷-ù. 8ÞŒ7.¥Õ Æаf ÝGtpʈµ™'ËéOLGИq‰ä:…ý6ŽÎDtæ™g¾üò+ï~÷{Ñ7~üçþ¿ÎTÑzY"ß}0ÁÆw3úÄdûž 0s3¸J¥-ZŒƒôÝöXyŸ)d­8ô‘÷“"nŸ¸²ÈŸ«MN(ÇR"!šNÌXCu´£Ü±ÞMé03s…£ ãw[ŒvvÚIÉÅ5V¾m­ê…]jô<Ϲ5ˆ‘œïÆúHú:Û¦ Cºi7QJH¦G›¼1kÍëU©¥&Ì6ÊVœß²èBB]ox±hÌT·Õ˜ÉLL…«&¡ÙpêÓcÝ¢¡Ý¼ÜœÊâR%zû_¡¢Q{[…°/…ü+ȹ çQÆ0³B‡7Ñ­¶Ž¤Ö1 ÎØuWÂ#zœVÔdÅ:“åÄ2ÊÛ} ÏÀPz_I©•˜jÓÕE“WÔ¾”[„7UÍq´*-$ºˆˆ@‚¯µ5蚥Ɍ÷Ké—;‘0Þ\ÂOï‰ðœ|27׫O8æÁkš’X©5Ũ›DÃSå6ìÀ˜»£VœÈÒêoõ#ÃYÅv¯Y˜(¾6&fªH8TUªqHD¸°{h ”ªYÇTùùÃbNT–æðl·:;žÉö7鵨%±;¨žÈ3”e‘ÝÐìÕõÓzôäL*ÿgóƒ;€K{GGgWˆÚ±í¬‚(¥˜[Эš©ra4Ô 'ÜOþôyW³)ˆìº±ªQNªÅ‘HÃàÈûT'RÊ“¶ªØ³ûš´}x2“>ÔäÙ´„Ÿ’Pš1_„M‰ÔZY?qbÈÒS¼moA¼³–eŠÛæ„‘~X‹,äoëàSnž#©³ìÒÁ"Føv{ÀHøö s;ÐÜ—Ø>ÛC¹cçÅD+º4"ºÅTµÃ´,ù €Œl0ûïd1ó¾ºD^ ‰……’7£b11ÇÔGo8€Áèíu”ÝéNwzÙ寸Ï}¾œˆŽ9òÄ'žõÉHÏ&?ᘃ`Ý:«`¥hV¶¡Ž´ôHÝŠvG&ƒÒ‹”°M=þöoqlÅÝ-W{; “”Q­FãÚ­Û1Ó%X±Ð†í´OꤛÜþ¶ßêðL°ñ¿{O¡ _øÀ!œpØTD@'˜>k;ULÞ™æe‹ŠW© ;%¸16 yº\(Ì‚nN ÙÝ!ÚdhãR ‡Âɦ5íŒ GžØ?.e…„ýÍÓŸ(#=ó‰ûTÃÜkF€Òà!ü–œ5=j µJÓä¦i(b„¶M&‰\“’*Ú,ëN-]ø^Cô°î€Ì‡÷Óìá$v‚Ò4˜Xèf1¬9¬T>¨XØ”Î3tÀ!; Ã\‚–Øӣ6\jÉé`cóÜ;ìT")™7§–E˜+SÚ+ýhb„¦^áî(Fr£]s&ã³Ä”•škÝîÿh©~à’͆•2$Jô=ÐiˉÞ<%«‰µÛ‹ªFÛM\¬¬MZ3»)öqñ¢±§¦ËHHôl*‰|‹'R52ç:ÉRÔH×O˜† oò8¤æ´tbÃÌC‚$™»d\SŽo:+XÑÅ.t …b@tšÈŒFªÑµ:»,êQ¬ëƒtƒ8lB$B›ú®±Û(]Cߢ;;}V˜¨½0."È2ò°¥!«KºþDˆzÔ061ÝLÐ9àÍô’ä’‡×í ‡×-fT‘z–Ò‡ ªFƒ’ÅãœGBÒ ö³MÞ6)XiFØ EßC¦v!ê»R§ [°Øf-5‘ˆFv(ѤF€,ôûûlQ°TbÊñÑgXדí€+$<ËÐ ŠÙ ±¡Zóéêrcí±)Á UF\(ûé›Ã)¸:ØO¼2/…Ø}Æ¢K²ªýXDŒ ZÏú9FIäo}Ýáw|ÙeWÜ÷+îGDGŽ9ëìǾöšÎe´ìÎâî­·Tby¿+ e4ƒŒÎ©#WÈtê ™z2‰‰õ=`“EôÌ,¥2y$‹–úÙë~7[gë,g8ýY-Ý<^3E,§|= 0Óaía§me8_ήAØ÷WÝæÁG¸ïAÌ:êÞ{ir n °Ù* ol² mf".Ï3\ Bçy·`üWÈ `,±×Œ:ân¢ Ù^{·sL¸J¬…žÐ2˜á$ «*0™•„öhz%3~ÎWœa{F…¥ð…Ðü¯ Ǥ&8˜ ÆQ¹…ÙD¥²:Y‘D”}4™ú9F·»DoCd·If©=¯*ø¶*ëriM˜ˆœ"R«l‹øùÆ…¹®–´"’êÁnbÌ»%ìzèßyÐ)ŠS¨Áž»!¦UH‚¼\£àr¼’v¡ÃP‹öÑÐ]“ë[ìhyª;`n¼cãÎm‹^yžCøvi¥€Æ|i½îÏ””{Ä€_[v?~ ,ñîÄÆÒÚ½šóö®¸Ø‰ìæo½ø I…0ÿª›MîhlWzQÔ|AýDŠM̻݃(pߨþ.$±Ø§¤³‚´–mν€Mh6̱X ÚsB¦DÉ‘én<Û{mæö4­;({${œenHževi78§©éÀŒŒµ$ù  ¬«1ô¶™+.q¹ Ñ)ƒ`Ù•™¢ž€1Q“Gbx½Ü©5ô»£Å=rK‚$´Œôh¿&Ý ØbKÕï a¡Z«ÙÚÒ?ÛÃfÄèš°¹’ÏÕdÿÇÀâØêt´‘ú÷›qcƒS5N]‰¯K»©ß!0#œÇÿ˜˜©}‚njúþg@…©nñ ¨ ×DD§Ÿ~‡Ë.{ùýïÿ"ºé¦›Î:ëñW]õ^\BO[5:øÒ{Þë[¾åágÞù.ÞŪå5yè@ÌdF]5æôûCØ·ýØÈínÀŠPžqºAšN€É¹vÜ…cÅWek¾3îb9Úá8Už¯â„,{&:®"µ¶fÏI¨Õ‰+Qƒ7dÖƒ3´µ¤179ìM‚jLfcTC=ý…¢SŠ™ÓÉÐÂúë+äÕŠÕòÍz°h#ت·cÇ«ãùàÅ)C¨¥;*újriNIcB}ný13OH¾ ÊRa+"ÛÚ"V©ù;´Ú€=sÛ’Å„‰D*o·Ôt${éËÈ€}û=÷ žù¨éó+–”¤Å®z­¡;½©øÓ$ØMƹÄÂU§HDèöÿäôK/}Ù¿êDô¹Ï}Ÿð—y6W‰Ô¶ò‘|Ç#þåóŸÑf³9räÈ£õï>üá-M$ÃÐÍÀY¡ƒYÁ]Ð0û”nܤ ^g犠HG††ë¡Õ‚uv" ªy‚LÑð2tsó>”Ý­vv wW‹h…"4lk€¿Ë™Ö©©DF'ÒDv ‚uuÙ¸•§€J‰Ý¡¶ÏDD¤Ö*•˜ÛÉܰíçiqEÑ™¢=×Ú8ï†ÉÒŸ^è( ×]Äæ ÌE_uHm–·7N,“É(lóP ÛÁdý%-Ê=6]ñèóXñ§fÓÅž!³K̬!T/~03ùÇr¨Úw «´cYœ'´ÄS/™Q®1±0‰T©Â°"•ÆwÂÓ/FÛA7àpÐÜÞÞf2„l˜$ŸZ8_ÃnU»b!©Ò²:íÛyDúŽ›W‰îÚt¥ k·X½1µ×GK(ÀXì¸6@¾8íàßG‘ë0¨ÇÂþNPûÕµ>¦1ý㊔,ªŽ²¹kÂñ‹`£‰Ýlà*Å$}:|D°$.MÒ¥ÝQ¡¡Ö°h‘Þ.%ªä%c?LÝ·ÐVÅB;å¸R{¼JvÖ¤šlÑ×K)».Uâ‹”Rš<*¥P%¡jþMÓMÅšdoM,7 8ÑdlÝÚQ,"TE˜6ec•m£ N%”©í±2cÛ”R“BL¥¸ÑNö­85sYÅDµø©TsO<­Í~ò–éCaDtCbúA”*B—±k ‘&ž¶Û£D²êô(¦4A÷u¦Š{MõÍu¿U+0Cj;H¹DÜm¡²>^–ɉÕ5¶¸Mš!ÐìÑöª1lÍJ·$¸1Øh´Ñ¿GÍÔ¶©:ÏÂa1ùÿÐ# “%B4…bîjiLÔžµ ‘MÀ~ÇÏöØ N«my)\¸4–k/êH•-æ¾Ð>l£™é§|¼ L†Ѫ›½ÙdY/$®îg¤Ë,¨$´‰ô¬¡&7˜þ¸~üWõW·Ú'tè¢_ŽñÊWþίÿúópÐïû¾Gn6"ºýíoÿ¯þõ¿¹øâ çS‡&pôÑ”f;Mc­öÑÖƒ’Jƒ.ZŸË¬#nÉEò…0“š÷¾kÌYèEp—Ö‰/Âï¨}€ÎVégå¡cyªX°"Ð\Ï‚:ˆn>â…áí¬=cö9UD³™À†ãû™|©ˆ—[}ÄY ž¨"6Ä‚Á´CÞL×cµs¥­ZX|«Prh·¿LO.îòXGÃæÉ6«[Ì#7z±OPhbÙH6i î–pì£ Ñ—ʸL(V»©Ž{òÒo"Ò÷Mîvè-µÅ’³ ýÍ ³¨¸K܆ì ⦞"=Ð0ƒ"D0 ÛРsqoâ!b…ûñ°85%XzÑN4ö#E—èÁm*hO¾Ì€·XÚkÔµJÒýÖq¦k!ô*[fáØ‹°HûH-W¦BR;³a}Œ%Ñ7pºWþ‚d]׊ÉÓ0EºÇ_À’Ì›a1wà­¢½ z»è- %ë,{OHœp/@•Ž‘pX¨3–]z¤u¶œhj-i«SìW7(Åœ%衳¼ÍH•¸ç=@µ©:n{CHßR´E|yÌ>9ë@(7.žÎõ:–µn(ÃÜ6.wh™ü5´˜¢ZA­Q: iÐoÉy7èTÃBÒXà—y_Kc,X(ì|6žï×sׯíÕ!ÿ¥‹ÛÈ®P@"4K¥p)¥ÚŽYËCúÛžh|8É{^PÇò½'¶ç¢ôÚϨWÛPg‰þPÌÃ_WlgÊ›tÓFS{Wª¦fÛÄÛtJÙÄ{¡Ýüžÿc§Ä‰Ts}â-‡MµC¬ŸéŽ;®šÄâ–*öïb¸YÞd³¨ziΨ[sž“‚M¼ úŽ«§Ë%ŒóQ* wúäöaø¡NÜeS“}¦4µžx»&ðwäOçµ=a§Œ5=AóO’‰@ö6<4àS@>Ù4Ú~ÝÛ•Œ¼Ô³wfÁ³(#·KWaº 7ajn9q:ù5Öö=Ä÷ÔOч^w Î.@§f«Õö[£ûD9êfIBî@Ò‘l&—4›ðD7q‘™Ñª¦-œ×›1Ç‹A·‡@¶I{mšü»Ä*ü¥`IMCV„³Ï“\"ØhŸî%}2ö¶¿&Ç ‘’:Öä~6ƒÆV=:B’-vÁÝÍñ Qpÿ BîD5½¿Ð)H°~k¡L)è@¶¢žÓ½îH,§ìsªL¨]ÑÃ< Ftb¶ª€ €@zå`çÆlž Õú³@Fº û‰k‡1 儺NdÄL6(^ÚÁïÕ#j‘H6Ù?@`êo`GX|UÕÓ ¸Q…J0ÂŽ‘ ë³÷>=âHÒ¤:Œº/ÉÖª½¨†fS)›RÊmG¶” à›ƒlˆ¼]¼—‡Rçb6–}C)O6ãT 8ÃÊúºç;´RFjZwÐÄ7ÄÈyЩ<˜J†Ufb¦RÊ¡M9´Ù:´Ù؇"ëv»ÝÖív{´Ê¶ºvkšŒÌé(Ëò×7 À"Œ­º˜vªyp Í`›öâëxÇ0ì°?A9¤›´6ú’¢]„!úã ‹wÌÆÝoÀ¾$—iÚ ‚k&¥&½ø î‚aÒyoFh!—râB%Þÿd¢ö5CHÄŒBíñÔÈš€efâZ·›C‡˜øèÑ£!h™ $¤àqcÇ£!$&Ç;A«ãÎlL“´¾ÎÈ”‘+$ó6œÌ$ÏQN–ø2°tÀ°}íVTÄ4”ëôEÖ e4âØ´5Êu âãy†î$†–@T·—~›o3àg‚.£)6/$^âÓ~»eÓ®z9*æ üÒ¢§‘—f1•˃)w×{#Ä,Sá"¤¯ª6Î)Ìí]k•­´¼B„…Œ%!É0¥xÃ:ùÈÞ/›Ú!¢¥=˜K£åðü™îÉG Þ¡U'Ï›`ÜwnÄåƒ!¬ÁÞ~CÉUX÷È9w©ŒÂV10¼ÕÆ>éDê›Ï€M`q~âÎm¡ùPö§°.ëÁ˰6Dd›¶)þ2Ù~IoèÛqÆ~Ä2e¢p¥HêÚÍ*¯;m÷Ö€Cç+Ìu#cnf¤øzM†ªŒP;÷X\‡7íI–Zº¤Ãô-ÇKÆwNæõ§Ö‰ËŠr·ix±U¯; £àÒ7YÔ¸JùÄsH[f,l33$Ôg²qŽÅ(Ø5GÎÍ%c» 0 Û9±ñ¨1¹ƒcÿoÂBìÜæºº¦aµ:]3'=Ÿ±Ö1b2-GP1ãTÀl€î@1[|mÛ«Óš›mVÉœ‘zyËvØõ{˜+Ïa³OŸQ8¡¥›¥Ä=äÈ ‹n<®\ 3ó† a)¥ùµíŠdB.LÕûuÜëô¸œt`öÎðèøð4¶(^NÔ‚ÈpÍ8äÂ0!þW¥ßä56èÆ=ŒeE¾f²0wÊþuoÖ Aˆ’ÉD$Ù*5#í9•X!î“,’в× £xÈ®HëJOÇ-{íÅ Û~ã:XìH›SÓ€–!õyލœJ ·ÎÌj°q}ƒ têv AåqÚn‘¶xª¶%gUö µìw'ñ=‡‰™vØ¡±Ü†eË\µC}k¾°®¬m{änM$NÞÉhNsìV€²Ì]¡I‹t^1[¯•ܧ¹î€Ç°c4sböÀ›PÍË÷M{Zˆ² 8£|£ÑwèÄi ¿0uê×ò‰Ý óoý%{‡Œjmäénlh"®Ä–Øñ“<Ò¶Çñ Ð*F3—Föœçû.LH4Â4Ük$D~—ñOÖ|W¬íwtЙ։éâXOž~}&b…qÁ9.Èß§¦…å X±N¼¥Ÿ¢È\”·…Œ½KYÕUKø åaÛYŽÓ:éÖË.t—Úõ×ûÍpèv;ït—¥Ü·ZmÍiô˼ „Z;ЉÕùJ åôl ƒªš¹Å½ËÀº¸ˆó{iº¬¢gäÏMT¤ªiÓ4!ë[¦f¤ Q1MÜ  BdqiËßRHRO>ös˜ƒcé i†IaûT‘ÕMŽcKt;Yö`ÍX²)P¸4ŽæX«Ù)ªLzø I­í»IÚLHªlëÑR6kÆ2f()P­ìêX\S"ÿ¦fy®)à+Š-b9vògVÚ^Ü΋ÅÇ]VeË(‹€æmU•Ju[¹TÖ—hK)B²‘MÛ$–”§j}šý{ɺdåõ·e?dïWNP7Ç2./ýG Ðôd‚OH‡­Áñÿ°çÕ áÙýåþÇ[Ó¡¦ÒÌYO|. ÚŒk¢éÔ¸©öaÈ.Ž)æmQ¡"v€¨o̱ &Ì'gOf.…·[i[m¹è·Iê¶–M)Ä[©ê ÃÌ¥ª»a`æÜù!ãä 7¬dQ¢V)Úlj­¾óÓ wþüMצwb[˜ïÂ\·[æö¾±:òô“ÉrЍœÿVA •¹‰4Ǹù¿¦w=Lä¯ÏC"µÖöYuYܽJpJ))¯ê’ûÕžNžEö…9Çá±)nó!]ÿ¥,cjeN˜±(Ô€o˜eŽÌŠkGêpxÈ_áꮥ™\1+”莱·j $È¥[i¡J„3psÈf¨›•c(Óòaq¨ÞƤÁ¼ŠÛD4œrÜ#L:&‘*RnÈ0ÍD®²¬¶ÚAííÇÞnfèúÿѳe µßž˜mýöx‚þA¾*¦UT7„ÁÂ.³r#Û\§±ghK‰ ü¼Pt}ZÓ½ÕûzÏK|5y¥ÒØÃÔÚß½ó>NTq?ó²ÎjfÄã:y¢Î; éä:xè]&b6†é®‡dÕ¬b/óæ©«ár.îp4Ԅ›NKö’;ÿÃø}fuY\®{Ù£a7+×kÝø>5ª±ª›.jfú ×S#Ý­K5&B«Ÿ­QWHOEôïÉì4 KAÑŶ‹›š_ÉMöÛp#9*ѼËk†Zþ2Hñ°œfÜš´XþÔ†´ú®œ'Ò<›i¬°®H;·ÈòÖÆªIç+f­Mûˆ“Ì+Œm]yîÁk¥S3³‡QÌÚ–x]†šÙ(Ûºe.¥Ú·¥Šl¤ˆT‰Ü ³8ºä`ŠÁv*{„´15¸VÊAë¯ôðWBÇ¡ô_®ÜËiì§ëv© ¶˜!‹6QC¡£µÔ;H¸K˜ÜLï†4ŠD Ð »†UÆ—ð/lªÔä`ÚÒœÞRš ë_¨V£®CÃôˆˆhÛ2±Mv‘zƒíãí+:à>»±švÏDÒ,’v–ÖW3|ßDL'.U\Ë…Û@DUd»ÝFÏ r[ÝÅ6!ÓJ )~ÉÜfÝxÛ/&‰QôTlÞ‹À\—ª 1ŒØ 4ÝTš;GÛqÈ.ÄÈGxÓÚ†˜oä6d…ب/%¿‰n`dCÌ,Æ,o]ÎYC•$c\©Ãl~–õÛæÀ¯5¨î^€êgˆ›oËMBU*‰0ný³¿ÊÒ)¥œtè¤ÛŽmG„˜Š‡U,7^mp0µ(«+ÓYS3Z ²Ø'¦ Ä>Ûî m `·—ÑáÑ cñ°Þ6ב±âiW áâÝ8K$¡nÿ 46nmc²´D°ÓÔ´Zñ©hÀFÃ8¤XºWxÒgþ «Ý§&áÉ |cæ¶M$뻩&åXÀd}Ønée?VªÔù|«ÞìhCø2„I’îÖ¬‡k°â†&ú\¹$²r@±> ‹ ~)&jÏažÀc³æ(ziéÚTéëï³ù‰ÏÎÝaèd^)x€Ñ︤´¹ˆ Y¨²þ’g,Þ?’Q¿[ERãÈ [D,D $ˆ›Æ Dk¥íʚŧ 0›ÍÎ:0ˆ&ܶà^E„(S¢õ?)“Õé’ ýSÌ*›ó-m);ÏIìûñh#ÄIÂ3ZzU£s¤ƒ*[RÖÆnHÚDéŸ~rIÕáØ±®q+IѨ¨–t’¥ñe,'7Œ0õ:ÙjhöH­Äµn«*¥”ÂB\k)e#D²Ýü ´"ùj¦TáýDàSßÄŽœ@pGƒöXŽo_ÈÒËÞci²¥;±QÜ áØ jl™‡Ê`û“ †ì Ñ@ƒ(h~ŒŽSJV\÷¤‡ÕÈàä蚎:ebÁ ¸£$ôQ¤%”[]*6óÕµ6ˆilÒ’ˆ@&Eç=Œ‹û|åÅξòý¾ú5]Iv·“ó­,"{fË“Q‡!Ø/1(3Êé;N®¯ƒ–¬ˆ¡(’P1C, óÍ;ÑVªŠ°òÐ*ä2úŒ À‰¡§“ ˆ3gÕ™ºÅQ&fØHnŒæD×wÚÏ'•U™iØ„„$©ÅáòÇND³ƒ“„„ñLl‰ˆópXæ»Ãr˜ö’qý>…Ø0œ%Z4±eÚ9ÊõYÛ† Øä¾ÊP""O•‘‡š¡ÒEv´Ò@:XÔrƒ¶@jÄ!ñW—;0‹3ofP3  á±í.ØFb–Ęa° YÚ'fÊÈ™mÌ‘n9‚-SݱÛñz]†Œ­Æþ'•íÿqMF¥¼ÔíAÁX¬jëÍAC"0p¬ OšNÆš­ž„±¡sÝÀÑ çC½0(Ìàö>poBÒ'M@@hp0mÐ7cSêF†{zÙ¦J;3ªN{¸œREËuô1ñܺB½lšª¬Éd"dØóʹ¸40D™>*Ææí”bK@R Žƒ|·0«Š±TÚ}¤pÕƒ·ª/AÚ· .ú&rÌ* ’ òÁy ‚“ÄY™ûÞ8\¯&Æêcï¡Iò3ß™ö­äb"ÔiÁî™ÊÀưªäžãb¿ÓvÉ™Ü á›…ˆBΞ: úO<”?‹´°}6î¦0œPš!Э‹Ð0ØÐ®53éÛ›Ô+ÌÌÕ’NÒù@6bÒü %µhˆÄ,/Éz‘„š˜DRä–…ø)õ¥ Å/ƒ&E%ºÃÖZt;9ÝÚäöÚÈœd8y¸6¨-Í$íiµÄÆr2ÐÆö7ŽAn1\“%Ü Ë½XÒŒµÊB·@gû¢G4JNĸ7ì`n‡›éë‚^œçÄÛ h$×6 ÅnÛ„ºH~ì!|(Ö—Z JíDd/p1—ö–¬Ëõi5ÍZ··ÞZJa&}ÅHª}¶ªaLj;‚˜-qJí8buî·Ã {$Eø0h5ÌlHâãÁ¡u9å˜iЋô†aØ<ëE&×bSÄç£nuM>R[L¿fö “Á.Mº^ -¢”4³ 0简äJIšFÇc˜<Ãi¾ÒÇœ=öSí2¹:¾²nXŒ+¹&‘nŽM$WØÙó^% )Dz‰“ÉfÌéž)Ý](NÌ«8R¤‡Ÿí1[(µÉ>.e£_Û#2^5N6!û4‡¯N°ÿOŸ™¾öíY§‹i¨9ïK^Zƒ0q>Œ #2S%äsD·Wvšf›Þìí¢:.ÓIY\¤®ÈŽã‚~zFpžgb{­T\{.Ô^mupºX0 U2£Ï;…-!j›‘ʦPû¦TN^|B=ö$â}„‡Ld‘o˜çùrۆǴÝn­WV^Ô:àhʸ ­}«Ôi†á,Sv‚é6p ÌÂ"¢öŽ™«J¦n\Ü1ãÁó!’Û +r¹Gëdż›\\ë IDAT=åá„›ø?+Љš2µJå*µÐ¦l ˦‘Ôí¦4âé…S’WVˆ1MN´§-!bÓŒM++‚; ˜bø?ùDv¡d§’2Ár`2iÐÝÚW?ù²äV´JiV9zlÕѯ†b+  +Ù“1¬»5ÉK„h+­†êå7fæÒ\17ÈÌ\' ±dGÈCøÃ¾ëþ Úäek­ùÀ1éãÎ^ŒfõLõÍJ"M„Ø÷-S ˆ„„·0ÔzFì­)ž%¨–•µD®H•ªÈÈ,"±Áx¬ë"Dd±&f¨"ŒèöW³C|Fq f Ð AMfr¹éG=¼—A tE)€÷;þÔ™Û*^¥<¾6†¨ìÛj ÐÁÄT …ášÙÏÕ©˜æ ò#¥Fffý`*¶á_@·H·ùËi„öˆ™7eS¶³? ª"úål¢L¡Hl( Pd”Cˆ/B'¶[ÍÎ8Ð÷àa®ˆ-½C Èù”¤Ÿ ˆÛ_-Ì”7øõÃp :=ö¦X;¡®?6k˜íËÔÝšöšKñy«VÚ$Fp‰íûýÖÇ d©…íj¡n-yùõµ6ÚcI÷íjzçxú?¦9-ck`î—ÈkJbÝaqv"“ Ò]O‘o¶¡k`j›@ÜÀTjgæôÂ#Ú*Nü1jÙfg9)°aZš±ÿÞÂ(¿tySÄžæk^¥UÉ– ^(ôš½Ë6aÓõi¬°vÒ·@] €I*t!ì܉hlLòpCžc$oò»°8?/Í}.°½ø±µ5çˆ ÷¤T>äb.¡¯³YƉ®>o;}õn “E’‰uaW¤o_NºGó$À‚÷Á„”ZÄÜ÷ž%Ðöiªæ•.j­ÄD[¦R Þ”R6E_¢åÂj‡A:râ êþÑ\”uÏžRçü§ƒÞö(È“û¶9¦2ÀK&-eô΢¬5Gãq)&¶¼Ý¬úÔ4êÌ­nlÆ'Ê‚½„ê»kÀ¥Ïöf)IÐUóÓ˜R@­U=ôï{ë>”&Ÿàí0#Þ~«*±,Ð2ðC±Ç°$-ù”•i¢Öb²¬¼#ˆ(D…ï¢KïFºpð|dg˜—EýmðY™ýt%Ö½–æIj§K° V7ðŒõ÷–…Ãì&.v*ã2ÜÒP A%´¦°ž!#ÓS$cд†íae'tŽ‘Ž ë¦,…)‚¯wyd¥ÍŒŽ´€-uBaÇ0çÎÖÑe$¨$©³óôÆ!¡Ç´P—Ì%ç"j–­Ñ_u:x¦âIÀz‘$oRCΖ§µÍn1=ÿe’Ã8·F€4WÉÔ‘Õõ­¹T±‡í¡Ø‡›¶õ Ôê¸hÀêñ–¥y­÷óä U2äÊ›Så>˜‹VÝ´øf"ŸµÀüQÑŽfÊ—žŸoo:¸Ðölï³¢| ¶i{ÆöÝJv.‘Õg³‘Ñçk•óá{³Úè0‹†Ù]s UL‹3—Úthµá æÀádFem¹`“DSZš37ñnË‚_> ¸ ¶^ ;¤^¨j‚Ò¿À06˳껤ÉS×1ºa9gì0å{wÌb ‚$f¾<Úéî)¿3}5µíd dó¶N˜ôTÏQÒJ3.Æm Ä3m‡ðD¬.ªà™Òh¤JåÊÛm-¥l6T o6\…EX*ëÖxb¢ªdˆ*‘ÓƒÒJH"„ ¨¥µöéÌ00ÑŒ %„Âé_`Õ“"W1Þˆ¸,r»²2MŽÎ¦KÐ ÝÏ{Ýßè\š±E×i rÅz0“¥ýÀeQÊåŸÌ+é#†‡~´¼ÊzŸˆë‰‰ÑÙeYQBƒOKù!¶ã# ×Ù_¥ä´´O ·q”@…Z¶‡.uë:¬‹Î;åNâJ7ˆ§”Gsßfv5Šñ½×ý$´n‡ú‰­qм T¯Âvéµb¢Òã8ä”n†dŸ6!ÈÙ¢¹$Ü4©o% (†¹Kêâ˜éšŒE+'Ýï=íMÍ Œpåvñö™}¶'#I]ÎɲཬÇéþ8T¾Vs#mHózÃÝšLŒhA;¥Î˜b¹°òo‡XK~zDŒ²E Q».Û€Ð7‘YyÝ]÷3È^p×U-‰6“)ùª;è;P°ütO ça¸ÝÌ·:ÄLNô÷×{­·Õ¥%ßMODÓ/rtã`Ç®H°ãÖTWÒ4 A°3§ .êéÝë»öR™ŒV·¡|H1¢_F‘—Ôã’2‹-‘ÚGóÉ<'ÂFã ƒ<œIÑ%2CöHÏ0ÍÆËÀ&³ /yàigó[&£,3 Ë*¤¯Ü —*ª;šùÚÌhÒMÜfÅDT¥ÊVÆWI“Eø#ì_ì4½àq‚Hl;““@‘°©ˆ¯NvÒ8ï>ö³!‚3—<› %¢ÿËæ6 Xê{Iê¸Äš‹@"Åâ¤2(ÐZ tï‘¡¨§ªq ˆÚ¦ãR¥ÖZ¥Þp¡²Ñ ‹¶‘Q9†9i#†û2¶vQîBðÞÌ·;ý;3ŠÜYÒHìã-SË$ý6ùØWàTƒˆFY¼‹b]“C4#X¢~Xp8l/ôŒ 0‡ÎÒP ¾wgT J7m]è”$A†ØÌÓt²nQ&".Ì+tÒ1p³mÀ"B-C5î“ëèffUÄN;‚À+˜"ʤ *B¸9ÒÀ-'² ûLiryŒåÆmñðZB8Ü·.Íh-H¤–²!ŸÆ$ðI'´Ýn·Ûm¨k*$¾ç—Á±=`±NèSû€§Í†™ª††K;Ž‘"ÇG®Ÿ”’‡ß!©’† &mÂ@É:5Ò«¶„óLz¢åî)ûôUàf‘±m!Uéf*¶ä ;a×å\ö8Ѥüâ&q3ûÇ……G%Ç‹¸®GQ f„YQ‹ïÐævâr¹²ih2Õ~÷ïd•çN²¼Þ©Š@æ¤cœãî¬jqo¶‰? ò!‚UŽxH€òÖ&¬óOÀéA²sHúŠi ;€atðòíü–‹§;Ê‚'ǰrZÖfýÁ]–‰ÄV¸tÓˆ’ÇhE•}ãó¦PLÜ0I ®q!\VÅïÃì3ê‹}&ÞÊÎ èx’©ÃÓÈfqР‰Wv\ƒ©%c˜NÅu4+Ì\&‡$Á0cL½;ãà…2"ÛM"Ò¶íUVˆ)yC‚Ñô!îðw!¬ðL¾lÌR›õ¦&cáÂÅ4zÒ_9%žâÊ®çÍNJ©ý ƒ9Ñhîè9Ô¨ª M×1c+/Q• YH¤¹YxÏ¢Ÿ)á}‘Äì’–’Ô&ÿñ÷`úL8vIíáS?,íD ÏÞâLA]!"©µÖív{´ð¡²)…7›MÝJißïQk”08ƒŠ|Xß±6qbÏ$; O¤ÃýJ&e^fÊþÄ`ìŒEí"䩌]}™dŒ–Ñnj±ä¶#÷õ óÜë’“:/’gn]+Š÷ǸâL3U€0‘ˆ°”vfLd– ·<¸?KÇÙ„CT5Ä8,éÐÒÝFé Üuƒb,I¡€èIÌ¡ ÏéFÉF<jõÐY‘Ç´=$=†,ŠªâÔNÇ2½ØóÝ@ØÃv{´Ö•V8S&À¨'N=~Ø/׈yia'!'ådlÌ~=-›ð’•´Ñ†ÞeЙY´ Îh?¹Ã\ˆ->09ƒ*4_ØjEõ‚ÔcYÚ9Z8«b/üæSÛw‘;›O|qäée8VŸŽfÆt^-F³>®#?ä!_û‚‹^tþù?ÁTºí$ÙÊ'¤Àp™ˆ¦Ë¨{_Á¬ÏdÚb)£‡Åª€¸ 僬bŽ›#dÖ-‘%ºoS1¤C«lj¢Õ,LíKÒEÕ*"¬²öÇàÊæ®â"¯Ýd5|æøw¬"Äæ19DÖÚxÐzza´u't 6ŸÔŒ™dMûåªdÊ®©$ƒsO]Ïxm@ó&aUÓºZ‡&ë…˜©”²Ùl<&Ñén²iPW½F˜;pÔÞ Ð~£..A¨ ö2¦‹ Wºü«6îN,ì'u$ʽup¨âîÅd®ã(¨³«˜0H&ω(Ç ›ŠiÊ®Êv[·G·G¥V"ÞÞlx³)…c»å5y¾ÜK‡té–[|-]íÒ2‚w#þšC§“bæ-.,âÁáX4`rµe s™ÇÈ]äöP,„ÔÇÉH2ùÓØ À£HLá§ÎèQ9ä‘ÀdÑ&JÉÍH%¶1,Sh[ »+Ã/f âܪø­‘¾4d!ï,ËÍ&îE Ú”à†2“ï¯é<½·d09Sº`Š˥›3Þd¬`VA/NE,®ªíéDж¥F+£V$òŽ §Cx0 ð[ð±ßÙS•;…¨Ù„Èî™Jõ%É”½ÇÀˆÎ%ÆÖ¾<çZOÛ8NçÑ+Îä„6 Õ«Rb²'³ÇäC ‹ùÙÚxO¤Š$'ùqgZô¥XÝÛÓÄ£¡G)Zý•neÍ€Å.•b’õŸ,$"œï»‰=Y$[ ·MŠ™i0ÎYÏ „7dîu¯/»æðµ×¾öðáë¾îšÃ×]søºÃ‡ßøðûÿüÏÿ"u®¸¹> ª·ò2»#u¹|g‚I$hÞõÝ+¢ýHlÊ#qó{¿÷ß_w퇯»öCö߇ÿŸÿò ;;yÚÓ~òøÎý¿~ì~_ù•{ÀpÐÒ ·cš®m÷U¯½öðúÐo&¢sŸø¤ë®ýàs~î¿LW-Ú&žêkr(µ|SåG×'JìA“¹+­g³ Ìýaì\Ãv]˜Ì—V d ™L'¶Î_õªW^søpCÈ9çœóWïû«gÿܳé‚8ÃoŸ—/F·ÓXÈK^Ú=”Þ½žçub˜¸ 4ë$ª=Y@m”¤>ÖêÅyˆ<d“d7Î4îªtâÒŠ~$ÝÕN7Ï“ìÒtP–‚y"±ÄfYµÍ)vBÑ”JW£@ÏÖÚ´}W¸’ý+P ía¿u ‘ö¢{ØrµóÇQ XŠa½ÉOäÚÚVKÒÖíVH¤Þ*›²Q:âÄÔ„.^â¶²:eóÎIÿy×l›áa~Ÿ²²p³‡ëKÝ0pçösдLn'í?Ž9®k‚ngæâ¨5v¸R»·‰u%ä@+Bl&ƒl{[(rlY¬Ö”^«³2Ô@ãÓu§Ý^¤½AÑÔãH fßË€ž®ó̰¦:ÖƒN´X~¾4&gͺ5Þº‰‡*7ŽÕ÷áA½×ß)0³685ô=qõ —6€—ø“ò©½&yÕL]ÆôÂÕN³„fÑy´í!ŽÁgF‰Žj9ÄYÆ Ã7†ßÔÑ’,ªˆ‰{Ý‚&9!ð…2Èß)À€FÃÄ«œhBÿ(]„…IO}['IÁ¤( 9u'¯z‹½ËÐNôà´ê’ôMUfDÑct༴ÔJÐÎ ®0½¯Ç¡:Í¿²†¼WÔýg±#\¡!B4'`é5škóßMlš'5¦†ét(îu(81…¹7&’‘Òþ|ò“Ÿx÷»ßÙþûà?°g×o|ÃÿýßßrõÕW}ä#9að†ô±¸ÎP.Áýºë Óà 7u½›H®„È$¢“ÜwuþSŸvÍ5×~ÿü`)ÄMûÌ277Æ”` o–KêÖC{*!XaT zs†ÇØqâX|O•aˆ©¯ª˜ñ˜RuÝ,]gAŒ¬R/ÔþD”t{¤Õýï™bÁ;ý¢{ÈËeé@ɘèãÒ†“Ü©ý"Ù3©¦D703·L{•zt»=zt[«q1·ÒZ@•[LÄ"T­t1rr#B+ÛBæè„[ÿœ²´JYY÷~sI&W |Hû M­µQV¨´pr;HÇKÌ^™Ì(¤gí#EæƒæÀ0¬H÷~„®æ–ü1ZÙÖÚv n6›Í¡²Ùl6¥Xh‚ó÷</Y²8_&“eÏÉÁwÚ>û:üg'þž2}©ó%«gŸ!ºµÈcí]L€†™I+˜`20¬.³ä ®Yg‹áòÅ„ íì/¶APDÚGÍHÀ¢’Nê5FöÜ?]’QÞ5aPÃM" ^ÆÚSw BãÂ{.žf7sËÌ`PRHÖ˜ŠD‚\A±'‘-»QÑŒú©‡ÈW˸Ò<}6/‚ážP•j D¨¾&Òøi%¢ÍfÃ6B‘½nG‚­zQ-æðûwfù@—†Úì± WÛN¹Å r)´1 1Ü0ÁZº¹Å…dç`-sy•xç›#ÜÐ|]8(G V¬ohô䵩µøµVbµ"<Ð*Á–ŠÌr«íko“Â@I ¥3lóJ­ˆˆÈ¾ƒK‘´‹ dïÐö ;yoìÿÇüõ{I¯ÛÜ£¤þÚƒë8Œ®0®PXˆÁ-d§Q¼ïÕÞ/OsS »îM|0¬ÙÔQq,·Üró[ÞüfðþxÀÝï~w"úèG?ô2-$ðÇ?`*xÀ)~ÝŽOYÑoßJ×;Tæë̬ˆ•îV˜Äô¶·½õmo{k{ôø—]ô•Îýî¯xù¯¸|Õ±—Nvp¼µ¹£4Ú’ÏþóDtëm·Ñ­·~žˆn½õVX5PØ~ðçDbi!g fN§‡kjQWæeãqìSm r÷3`kœ£Þ¼1·&>ë­ŠCÈm·ÞÖ±³L×3b$ý È12lj©1¦‹Ž~ %¤» ÀPªØSŸ2Ã[)©-ÕB1ƵÚy¤GäJX Î’=ˆ¹W7/\IäÓ/ÊëÅÄE7kÆÖ‰w™ðp{Ÿa¬!3ôŠê¦a(XGiÚ¤)ÁÑ•Xx=Ù.à¶Òɇ©…¨.QM –è ¸ÊhŽ eʘõ½0›ÊÈjMÛ¬‰šÊö-£! ¦Øpd ³“q§À°Ú"UˆEÊv»=ÊÌ…7.¥l6RëF¤ -’L–u²ëz”QØÏî"ùó!`°CðvŠžý @ÏåÞr}|Ú?2ý=)+´´ òUR•À~zÄÐdÉØèç›±7ƒW\XGÜehã·E±“ò2¦á" £©'¹Þ¶³Ûþ±Pµô 8ŽØQ¹'Ùµa9-LüB"Ö¨¨g?RRÌvX’ž–'c}uså\ɈJ|ñ“_Ì›ÂQQí k…Õ:lk™'Ö/iÄhß;e²‰§å †tÁ2YŠ!W¢Z6탪¦®‹—Õ3¼›2ãŒv÷óìg›±0™6ãóð ™$,´@m~W”S«TÙý™MËPµqMZÒElm»{µmÚ?âñ¥¤w:«`‹ïºÇx éÊ&|¨ šNõ¶ÙôHøaIâdA˨ÛaCDìXREÜŠ 65ý¡z³a0ùœeZ§M„4nd= Wo^>eSÑ0+fu‘,ð[L㟸ñÉ?ö£ú‹éáßúmÏ{þ…Dtý®?ï¼'B'«Ö…ÄßñEéÏ£þ9ýô3~ø‡ŸpñÅ÷­ 6/+ö]¯!wöµ^zá;yŽD³¯éÓ^<'¶Ñhÿ9r„ˆŽ¹É¯o>rd0 ÖþN'ô¡³Þ˜ã8¥¶† æôH"2 •ÚÄY¿Õ˜¨*+½ãu´Pc*Q 7ßÌÄGn¾…ˆŽ¹Ù%Ñ=ïyÏoú¦‡¾æÕ¯;zô¶nŠ4réÓüro¤ÌÚ«!„ ¥ùb\Ð5§·Œ…4“„I§»)Ñoê¯[CµôPÚ芘>‘4È@ÌíÅѬ*‘%©!Ü-J°…&qÙéÊlVœˆœ>Ó'5ûX„Zƒ#¢qØyBš)Q&ïÐ(E€Â4èI0‰LÓÒÑ+Ê[žPÇ×ô©´™Ç"ó8£…bŠ+3Ò(EÅI4#¨v©ük±i§~lkámÙòf³)…6¥l‹ŸùÊIMÏ»EphF0xf -b²oä±² ûÒÖºRã`M&OÇT(wô¼Za:Ih´tZ{{¼x$v'0†Ù.1lçAdòg¢§³œ´’-»‰-!Ë7@:+Ã%7Ë»žÏËAëgÎéP#Õ½‘4õ©§¢©ãýX[ÁäÒêqo¼u& ‚f®œà&˶˜E‰¬Ø—Q ŽS-îÀ//"ÂnÂĦ±àž $‰bsßÜv!MAi82&Æv“Ô~QxÀi²õjþ–0žKø$›}vuÔkToj U’Bï’A4Í¢†F¥•b2Ä&=ÕXcø¬‚äý“%òL1t $SYM+fä莌u.]²0\ø™ªZõ¹ïLÀqßÇ ½Ý åÉhlçÈ»ãZ‹[Bd›$ªH3W|öÁ3n´°ÑeÈ3Æ•Fþ3ùúë¯üã÷©O}‚–KG™ìbw¹ ‡ºC$">ýô;<åÇžú'oyë“ô)¾I°l]wí‡Þögo¿ë]ïö+¿üÜÿõçïºê½×üÆ•¯üº¯ýzD!`V±lw:ý$"rßûÞï—~é¹öÖ¿xß_]ÿ¶?{û/ÿò¯Ýë^_F옫–ßüß·m?ô?þûÿì‡ÔòÃþÅ·¼ê•¯½úªkßú?þ×ÓŸþÌ»Þõn×]ûá×½ö½Ú)'Ÿrݵþ“·üÙ—ÞóË.¹äÒw¼ýª÷¼û¯^zézÐ?SÞ ¶ôÿFü¦ûæ¿Ý"B7¹/7ìùН¸ß¯þêsÿìÏþü}ï»ö­o}Û/þ¯Üë^÷îx“‰îsŸ/ÿÅ_úå·¾õmW_ýWozÓ[žõÌŸ½Óîìˆ%¢SN>õÚÃïó›ÿôKïy¯K.yñ_üÅ;ßýî÷¾ôÒ—=è6f zÝïÿþ5×¾æšÃO:ï<"zö³Ÿ}ÍáÃï»æš÷]ó¾÷]ó¾»Üå®¶á«ñ}îsŸ_øÅ_üïÿãOß{Õ{ßøÆ7<ó™Ïº£ ªË"ôkÏ{Þû®yß7~ã7žþSßò–?yïUïýÃ?üÃyÂÞ£3ß|ä"ºå–¿g.7¹™ˆn¹ùf²M;Ì|úíOös.ø£?þƒG>ꑇDggÐ@àÌ£¥×U ’*µêÆQ-(P€Æ2CPÐîdêÊCã çf{€¢¶öè‚  sˆmkí"ÇfÒ1õð'Ìx œ¸ Ì öåA÷ uœ¯¿*ÐÝ ¹M”¸ÇìCëùd.`ºNÃiú]“½ÞuàÅ¥ÁƒYAD̶OIL¡6K è LÑ &¢ìVäIS )I‰ªš8»UáüßX'bs°=‡U\`p0v<ÐŒ®6­*µÖíѺÝn·µ3• m —ÂúéjWØÎ6œ7³Ë¬n¬„£ÎŒŸ‰×SþæU¯9+:(º6䤱PBäv(QÒ­E2LS¡Ñ,Ü-S9@RÐ(l¤¤¼>Åh’ŸãùÏñ?x‚£AGž(-m»ààót’"°ß+^¨#ÒM¥ÇTÈ{§Å¬B)MH#³Æ@Ãbt@»Äb&<Ç«ÚMâ%“-Œ¨u#òh·ÎTˆ%ÜÈ€ó˜J—kuÒÚƒèí q2 nðÊ´™çn“%>F0«SlÜ””ÊÓ0ñꤨ«Î¢Ó³‚=6W!sSV.ÏAæ <''i°;Lõw˜C£Ã~ÄÚñPÉ;ŠS‹V¡Ód8{:!!!|Ù(¶ª¦Uì±Ý$¥H‚ÛÊ⯥§øt ¢Uðç ÙÛÆ· ˆH·‘[õøl; ;mÏ)‡UiùOš“†XšOXkm ´ÃòSKÑsÞ#:à¼×„Ò=øÐCû*ÒÐX¤’›Ïž¦Uj·½Ûú»¯K€8œ™¾ùaÿâùÏ¿ðä“Oþìg?sî¹ç|ú3ŸìAÎäÙB±[C§H z"ú'·?ýñÂÖgœñ\ñÅýüú…êSŸüÍßú¯¼ßýñˆï¼üò+ýèG]uõU”8h7°ßð }ñ‹.;å”S>üá]{ݵ÷þ²{Ïÿùo¿õ[¾í‘úwý×ÞÙKW®»îZíù!ùZœc,ñ7}ã7½ð’K7›Í‡>ôÁýíÇþÿäïxÇ¥>/¼ðó7yÅ•/ÿª<ðáÿ¶‡|Í×<òûþí?ôÖÝîÿ€×¾öõÓ†ÛíöºŸý":räf"ºùæ›Éó´7éÄÇCòµ—]vù©§žú·û±w¼ãí÷ú²{Ï÷~ï·}û·?úÑ?týõ×9c?ðA~ùWœvêiïzç»n¸áß÷¾÷}ìãûßù?ðý¼ñÆ»°ÜóžáGÿæo®¼òʯzÀW}ëÿõå_sÅ£¾ï‘þð‡™Yj=|Íá#Ÿ»‰ˆ¾äKîþÅ_òÅó‘|â“AiGo;êĘÚâ IDATô —½ü¥§zÚ»Þùî¿û»¾â¾_ñ˜Ç>ú;¾ã?ð?tãg¢²)>›þáÇŸyæï÷~ïôÓOÿ®ïþ®Ÿ|úO~ÑñÏÿ·ŸWýÎÌĆ[ˆ¸¡å–[þž]¨ÿõ_ä’K^üØÇ>ú9?wÁ¹çžó¢¾äµ¯{ÝÑÛn#çl(¬’Y¦þ¶öÔ>-„H-©fÁÅP݈Cßäp”43¨æª€†ýÝà>˜&ñšn@xnÔˆF¿ú¶‹Ôjú²ioUèQ´G5ƒƼ#´ßœbÔ¡®ÓÌTALÃ"p†°Ãñ$.¦Š Ý5«^™I¾tµ›'ƒÐ:˜Ó•Eá%ÍúÏIêØ,q€†; Ž˜ö}¹M•§¹OÛ´w³‰Ùc’B’w£tYõ€(æR :iSÍÖ«RÃgÏÄP Â×8ògÆf§îúª¶“µ=C³®íþÈ!ŸÅ@+ý®L`ybÇ_:Ó†~Bß@xüL°û³OžÌÆZ+š$!¡.±g¶xìšÛX k¿ceÝT Ïµ´ŒÅÆt½0¥]lzesI;ÑH‘g¼ÑOA¢® T‡èR$ˆ•Â-QƦ”|€Ú¦ ÏuQ^shſÈyg¿2òžcžü©ç·ÛB´5²‚N<,8„ÛMœt  %m²dnØ*Kfâ<;ÍhåAmô­¾ë_}×É'ŸLDw¸Ã_ÿú?ºòW<÷y¿¶Ýnw‰æ!âÜ?^¼sú?9ýqü<áì3Î8ãúëßÁ³ŸõÇüGöiÐ(wºÓ.{Ù¥—¾ä…­íÙgûô§ÿ§'?ùÇÏ=ïì\ѤFÂr¢ÕŸyÖ³O9å”g<óé¯~õ+‰ˆ‰êéÏ8û¬'>ùGŸòôŸþ«ÓÌ£Ñs~î‚vqÊɧ\}õá¥O}êOl6›‹/¹è¹Ïýe"ºýíOþó^0­y·»}Ñ¥—¾øW^Þ~>í©?ù¤'=ùìsÎ}Æ3žÞîÜtäÈŸþéŸLÛ¶ )¿÷{¯ùÀ¯¿ésŸc¢ë¯¿þ¿þ·ÿòŽ·¿½[Ž .xΩ§žú¼ç=÷’‹_ $Ìå'ò§Î>ûœŸþéÿtÎ9?âÕž}Á³O;õ´óü)o|ã[÷çŸÿÔóÎ{ÒS~üü ~ög@ÓÝîv·—¾ô¥W^ùЦªŸzþÓÎ{ÒygŸsÎÏ<ëYM=<óÏh\òãçŸÞyç^vÙå¿ýÛ¿Í!½"Œú³üÌi§žö´óÿãßø¦6ÂÿøSÎ=ï‰OyÊ=û‚g‘TÏ RÙðýÐcÚ)—]vùk_÷êG?æ‡.¿ìå7üÝ .§_ÿðÁ}ð¦ÏÝÌ̸þC¿ð ¿üÎw¼Ë,&¦ø‡¸è‹®¸ü{ücó˜G?ç?_ðÄsÏ~á _üº×þ~­ÛãªRvq‡Öq ¢™ÚÀhÏL-Û¤½Š<1 Ù×КÙòé™à?à Œ›‡ŽÃç"}Ý(¤â+„˜—Z… Æi˜Rœ‡õY+Ç»7ÛÉYPÊ…äÃÍLrÔºÝ?©…4MGˆÂ‘ßìï7ó‰MI:¬ê_†o²bv™ì€´P¢±‘>½ØÑú0û=_k:û|ù™®JWEmÕtUd»­Gn™ùСR6´Ù”*$$¥rUŒ`vÔÇŸ0½;RÖB ŽŸ ýÀÂìXdîÌ…õÚ»*-Uàty ¾ßÐÎ&2]r´úŒÈý/bOecXæ«p„;³É1°Ä}0±Ì@Ÿ:"]á}i(/ôÂÛû¯cÁ¥Õ¢£ãx3v=Ò¤YƒoªÖšI37.¯Â `updØ/d?g×p«¿90OZè!J‚ËžŸ Ÿ¨‹ˆàÍf}·³èÛ˜BwUo†\°šWœøÁ_½ òýì–X4EÉi§ÝîÁþê[n¹å¢‹.l7¹é%—¾è›¿ùaÓö¿ù[Wúˆ¿ûêß}Ò“žì°1ÑG?ú7ç=éìiÃARñ;ÞùŽw¼óíÞÇ?þw—_~™õ£õîr—»>à¸á†.¹ø"£’úÜçþÚcû¸¯ÿú¯g.m Àïtç=øÁ×]{íÞøo~É .>çœ'>ìaÿb„ã·~ë·š`¡×¼æ5ç=é¼=øA¶.L]²f™ˆî|§;?èA¼îº÷¿éÍoáRÚº¾ð’Ÿ}ÎY{ØÃ\ EÓëÿà´­ÈÇ>ö·ú'ÿý»¾û_õ?ÿgãÇ]*½ë]ïy×»ÞÓ`¸ñÆ¿âåW¸ªÎ…èsŸûÜE¾àå/»âq?üØÇ<öÑÿùÿ~ιçžó¾øµ¯yH-«¥×AÀw£ÏTõ’LÔ.˜z»–:î¢Ǥœ—“‚³Ó>÷¸3I/ªì´|·ú‡v½ÝÖQ#ã6:=±ËÅ[hµF#ªMÒp$@È’i)ù w É!«¤õÕ¨ D:ôj3õÔº g†B#a:Ç%¼‚|Ëm¡ÝN™ÎþòÐÜ¢ØUbÑ «ƒ·?jnÆÖ¶VÞnõÓO.›²©R+•²il›õ^ƒqZ¨~Èù/ûi´Ñ·ž.Û²2ŸÄýôï?BY¡ª¥’æÕÐlºÜ*x4[ƒÊV“±æFâ\Xý.3XwHDɧD5]¡ÉM qË;¸ÖŒÿôRjõU–¦Ï=+"s.âŒóŠ ©æ·_:æ{ð™@á.Z»_Y\q!‹t©>aÖ£ž`£6rèQ=$m,RÉ´Yès0ÁÝŽ7-[‘$lœgâÌ‚#‚O¥¯Dê1•±-t‹¼`«˜Š–%bLXŒ¿FJuÚæ>"¢Rؾ]7ªváû7Üa2C‘H öá⯿†ýàéY²ó«Ø32±¬ÖûŒÐÂì6€óSޱFïK$ùoÖþ Ì ÑŽMÞÙl±ebàÉ~D$@‹3¦}dÚô*ÄUáÑо;°pš2eptm@˜æVÜuH¿óªßù‹wüÅ©§œúíßþˆ‡?üáDô]ßýo.»ì¥WÿåU‹8E»ûüÓúÔóŸöîw¿ó%—¾ø-o~³ÃÌ£qNôéOúóŸÿ·’þáþþsŸûìî°¸kw¥\{Ýa":t褻Üå®›M!¢SO=ˆN=õÔcèmWa"ºÃîXJùØÇ>zô¶[ýÁ?xý´Á7Þ¸ÝõŸŸøÄDt»Ónçý1R…š{=¨•ºs¥tÑÎ<óL"úëüµÆJ˜ˆè¶ÛnýçÿüAÌÅ[Üå®w%¢O}êÓ÷¸Ç=|‹Ï|æ³w¹Ë™°þLD7Þø‰ºÝ6îeæO|â“:c}çž< Ü%D|æ]Î$¢OêÓ÷¸û=Àì—Ï|æ³gÞåLn_ú)±õà㿱]r)"ò¿o¸ˆÎ8ãŒvTr2,[w¡ ²m?nºé¦\tñË/¿âÑù¡üÁïÎÏ]ðšW¿ÖÒ‹*"€i´ä’ƶ´d§MvúÝžŸÔY õÑx$íÔ£Àƒ+Æ* ™óÓàªæü¸¢Á ¥à ¹nxÓ–þ\ÕBÜé)ÛZt»¢Ùž{o’þö;Ö†ƒ‘qSçåÑlj½¸SM%n¢0¡P&'}û\I†ÖŒ]Ö‡I!¥Ù"dó2%Y¸bï2-Y+ ]p÷ˆûGløND!$"²ÝÖm©¥p)›MáºáR‹¨¹-•ŠÈvbfLÁPÁFÊñ”|É®Z ñüµ%˜0èr#] _-C/þö)Ñ8¤÷Ϩ™¥z3gè&dxüK•Œ©˜%7UF×e“‘]¢ku­³¨Ê vcý„;Ò0ÇÓ*D)JHÕj37UíU"æB¶9S*‘ù|½•œegÃpMÇ·ê³1M ãVÙ®Eø©"ìVbßÊé/(SSP̤ž‘êz±·.™‹j¢Z«í].›²=ºÝf\<=Ũ˜|C2IÛ·júàJ)™J)â+ãD¤´`,t(ë‡bÂW0z v/ųÜ:´SMSyL?[b šîhe±ôºîã-eÓR¥ÝQëI'tÛÑ£dk6Î.ÂIóÌ †ÇúCBäwêŠ 7RÙpi¯¹ˆ”æ\ÔZÑ´`H›T½ò¨ØrlmS`ÃR¨ufEô‹Àá2sáÒ4¥šU¾ @I·Ù@Œ“Š‘HuQ•æåªD#☞Ò¸n¹C'܇ëäq÷Gˆˆ®¾ê=W_õ"zå+ûþè ÷¾÷½‰èë¾îÿ¸ú/¯Ê¶nÌeFƒ|œÜÑr¿ûÝÿk¾æëÞóž÷|úSø¾n¯|-DÚß9xá<૞ùÌŸýÚ¯ùºÍfsÀ¶‹³X/²o½õóqûrÌdŒa»5|2r —çh‹V‹IĬS¸p!¢ºí7ÓZÈLÿn ÑC¿é¡ozÓ[ºšÛí6 lŸBÄzš×ÒB(¦yº7+}OþKm¾ñ¡ßðÇoèßÞn·ì¢Öx¤±®ÛÊÌ¿ö+Ïýµ_y®ï„ÉÄ«J)öªj͘O=õÔÓO?ý”SOé`ÈJúa|¦apC!wæ‰ýaÚæ¢ÓtV&¢[1 ôg1¸Ú´»ÇÈV(ÀÐ.¹ó9bË6‡ÎÒ"{yÉ›Û×L¶©ïa™£Îðƒ›Ý&€Ç1cŒ7m¡ Gˆ ‡V£y˜ßØ ÚlÒ‰8¶øoâ _E´!]:¿¸$&?è ,ª5£™,o°¯ì¨¹é—B†ûÓéô22ꬽ+1I=º=Ê…6‡ 3m6E„j•R Q{¡mƒå¹g2çÅz#¼;Ðâ߉¾›Ï¤ä·wõ±WYÔ#{´:IÝGÅöT¸®ölðƒ>¥ù ”yt¨c=ØžÁQXd=¤©Â©W>YêÔnÖ_v, ¢Ýá} ª`êhª&È“©¤û©B{­+ ³ÇcÇ2‘9,úŽâ2Ã-øo®ò‘‡c–¦ýíߦҪº&vÀ>áH»‰»’”Ÿ"p\šãkS Œ«)ÅW›…5û§Ë5%H½-BÛZ›ÅßÎ$kj±}s»™Zû×§xW` ÇL–®ÔEj º)ÅŠC¿x¿«Ð½ ÔWo'1ÑÑí¶K ,p3e5êf—yvCu³#ÚÌà RÌÚh™ó•(j#¯–kÙÖ R.´ÜÐRRúÐÐ2ý¯‘ñ'ö·’±wØ£?Ø7üwg^£HKžd€¨²›í]d‰ˆ¸µ¶C ¬™™ùªú¡}°9´§ŸqFšÄBY’ùKU®½îÚŸø‰§þèþØ9g?ñ1yìoýæo¼ä%/úä'×UÞUv뎻ßý¿qåïl6›¾èâǯiŽÜ)§œò«¿ú|ëá¸l2+ÇiX ùU(_zÏ/½àÙÿ¹«ß­ÛzÞ“ÎY€Fym'XOB¢$¢«¯¾úE/|!…šcj_Èм™[ûæ¹HÒïÌœ¾¨ÒÏе‹«&¢¿üË¿ºôE/í*¶Ï°IžOkÉÌ›C›gms0x›ž1]½”[ú¢/úâ³Î~Â÷=ò?œrÊÉoû;^ðëÇË2„/[:K⿆ @mP÷h[ÿà€%‰ÍøÁ}ÕòeëÅu¤+Sro6%áG %ð rÝèý+!™ ò~V·›Z°H»Ôú,œ¿\Â¥w,éo„’KÊX†±¿ÁÁ”¢&Øli¢.èƒÇý/<^g]-Òý]+ÔzgìÏÐÂ}üÛ¨DÚÆã²ÝnnT6…eSJ)D•¨ÔÊÌE¨¶Õ˜îšŽÀùG÷Ñ¿˜–ŒJŸ>éjj«es*aÝ-Œµ÷€®¼òò˯ø™Ô0``o@-`Ñ1˜7o. <ÄÞ2d±¬S§›"¹I4pÐV[~±ØeÛ,´æ¡O1" ö·jµÜf—ªjUöôÄÍÏ=u 3gÌxð¡ñ U‘5#Û)ë £ À¹. .ÒJÞ4dfΘùÐÃD"Uˆ)YñºOŸ>ížžv݆lg³öci±*.›½üg>sÌ1GŽÚgT¿~}'LxæÊ+®žðôiÂy;!ÝÄð‘Nc4Fàû‰”™å4Éî‚XhlžóF âem¨ŒcR Àb.lVÒ wI3xç;%Õþ±uKÒÉè‘á ˜ñ3¶róçQ»lÉ‚FÿVbüÖíØ‡7V!¬©—\ˆž@RŠ3Á BƒGì´›x© „O™uŒ¬¯ØÒµ3‡M ì>fš‡ 71’}ŒUÛa̼ÔuÝncOO»Õ±ªZôiU=d*¤Âk;˜s¾SPbúÉÂÉ ô%—žßéZT#=1{ eŠxÿ@´¦[;Ï·}XÐ ’ä®zM‰´2z…›ŽPH+– vV¡ˆéIí»l‡C|¥,›‰{i´[Š™±9£McÔ'èl?D ±“@ŒŒ6«4TN€"€ªŠK‘¥½ñrèJfý˜©œÁefp`@fÃË>ÁQüÊQXˆ%¿ÆÜI‚­’÷<ܤÀ ¤ÚùÄÚ°µ§æÅ@^Ù…ð¥Ø²#Vå¨XHe™Í´«ÛùBÀ.@?“k<{fEåE#/ÐŒ¬Y(ÓÐ/0vÌŠè>£€Iä›Ä)¼IU†Ä‡Y9iâ¬8Æãu‘LcÒè+'»åkŒ³-H5ïPDÀ>­VÈŸÖu]µZé{~gÛYjfK ÝÇPÇ‹«ºƒ !¶äsu„°'I$† 6$iCËd£Ã^3›M|Y”%¹/Û @+(¢CPkjLJ Æ€ Â~9LvÚe—Œ€VXá¬3O' Å[|uÖ O§N¡ñþ»í·ßñò˯lµZ³fÍÚoÿQo¼ñºçÚ¢úî»ÇÜsÏ]»ï¾çI'ž|øáGxàWþpëï/¸à‡¶Úâ‹/±øâKÌœ9#ü\r‰¥üñÇÿêßÿ\v™eà¿Þ|ÓÞ\~ù囚÷´Û€ÕÂ&ƒñÑG}úéœW\i¹å–ÿý©áÙ&oÊÕŠÀs÷‹A7'¿2yè°Õ}U{ä6Jƒ«}øá‡°êg?[é·© oß~&<[UÕúë¯vLÿ`¬òÙÏ aÁæŒØpDÏüù/NšTŒ«2çíTXÈâlm "š6íXe•Ub¶l¸~Ïüù“&½dHŒÕóæÎED¬ªˆƒsÝ¡ { önÁ  ƒN;ó›{Ú³OŸÖ3ž½êªkŸ~ê)Û‹6”dJvÓ³9±ì†Ý=«×ñì¡`=ìn'ЮI^òp9}Ìû½ÁÄ3%qa¦ àŒ˜¸{)êˆð_b9`Ç[ǽ9„ü1Ú²ª°ÂV]g]ØK`X­¦“» ãì8Û4UËÄÒË-—µu%Î[Çb…è@a»ÅB2”v þݹocÀÜÌZ›ƒÆ‹Eý%ïÒP,/!E¥T°t-äæl_8»ªL*¡Ê cøJuU]×ó{zZ=ا V}ú´ˆ¨®±ªâ‡%pw]éιtÃJ±çÉÆÝª ¶½(Þ®ç}ý'KC|Õ¡”ÍH²©F"ÇÞÚz48¨c€j³È SÀྑca“û¥¡¹Ç8½ð”“þßXÁÄœB§bf9³’ Sºw°YPÿÄu¼<¦x4+$Û|´I¥1Lf±Ž†]l“XrÄŒ™1„×ÎWHÔ ÀÖÕ³»*µíRÝ·ƒóî/"ªÛuÜÐ…€ˆuü’ND!º;þ±€bx—5|Y@·XcÕ ­l”#/9¢å¦ ÙViWs)m‚Î'i]{ÉuC%S¦-¹ÑaB%⊯"“²2±'â~³ Ÿª'"Ôu]UVUø¤,w”ZÌî¿ ãìÆ ~'É…L¨±b ”\´š„wôÚí¶‰¼¶VôôôD%©*•NV1вìðQS–4«„;&uP¥øÏ-ÉSûr\B¶¢ª+3Yµ#ì(ê…Ù,¥úÊ ½Šaü/š;|ò“R1ŽÒMèä/]W!«0ö¾{ÃÅž{îuï}ãn¸ñæqãÇýûßÿ~øÏ/ýûî»X¿4hÐ.»ìf`ÛØs±Dõ]wݱën»œyÖéï½÷î!šT˜5kÖgœVe«ªuÚégÀ„g&X{Þzë-Øe—/‰àôë×ï„ãOjjöÖ›oÀúëmЯß" AW¨ßn·ÿ@«Õºô’Ë×Xc耷Ùfû8°W^×ëx"¥öŒßõ™'ê4ÆX#˜>ýƒÉ“'/·Üò'üµ¨±UuÚ©§-²È"{òoq7ÑG3>zþùçW]uÕ}÷ÝOX·×^£n¹å–SN9%šB‹qÔqõI@.ÞŸú>¬¹æ†Ì  €3gÎ|á…IŸ]u•½÷%M÷µû¯~sã׿y²#œ›†o }æt€4@¬ÈVVZyÅ}÷Ûû…ç_8æèã<âØ§Ÿz:zb-“¾Ò…id‹ ÈZ{2\d”ŵϭ¡¥†í]QÑð|­Ð(饠0.P‹O)‚e²ŠÅ„ñ ´UL7pô} ï$BG²0ø|ïj ¨XùPÐq(§%¥Ëší„X7Dn€]¼%éG û¦Ð´EÖY*èðªÌÚžn¤C¹²° Ž®.v´‹fÛHþ:ÅÂ:Ú¦ÎhÍ}ÑH•ÒJ/±?…º®çÏï©Û5"TVa —2Ú"fÕ¦;‡º]JoùME-õÙëÒÁŸÉpt¨yJ~8ñê0¼%ItHèO3ƒéê}ò’]ÿðèû^£Lb BP ‚ltÄΤø7Ž¢#T˜ÈFƦ¤dý_flžF¬räÒºh¹éqá^ÎXªúöíƒè‘4~ё᭞UFv ÌVµøÊ ”¶ÏÆ/w$ÊÍ.@×b NUz  :¾1¬H”ŒÑBMÙ!W ŽCã"¥ƒÉ±ÔC¤ÿ¼Ž–ý…Á´ˆ±4sç«Dêãa¡3 sý$n4¹eZñÀË.UU¸† ìw€%&ˆàÕ÷i¨³à©q2YWÔ2(ã9>ˆZYŸ0Ó/»E€lh1¨j,r(” &äÙÆ ]…g:踊¨Ã¢wYly½´ÃTè nÉjލ‰”Ç•!;#%кD Šv›² ¸å–[¶ØbË/~qkXmµÕW[-.¶ÛíïïœéÓ?°`æ¿fÊÏýk¦le±r½¥®ÛcÆŒ¾ë®1»í¶Gòè_ÿš¹ôRËŒàá)S^[}õÏ­¸âJóçÏ¿òÊ+<^ÝËŸFß~ÔQÇl·íöwÞyïÓO?½è€þ›o¶åCW(š•!˜òúkO>õ·M7ùЃ¾õV\×}ñÅ/øñ`•UV½èŸ؆K.¹Ôïw[¸óλïœ~ú)áú§?½p£/l´ÑFß}רpç‚ÿp½õÖo“²6ü ©+²¨k^ÓÇ¿-¾· IDAT!Å„?øÁ÷oºéW'ôµ}÷Ýÿ­·ÞZe••—[nùY³fýô'/é!áyç}ÿ–[n9ÿü}å ƒÞzû•V\qíuÖ™={ö%—\ªÌsÞʯ³™­52X<òèìÙs¾|àŒØàÓ9s`ÚžqÚY,ñpÁùÞô«ëÏûá9´ß[o¿»ÒŠ+¬µöðÙ³ç\véLz9ä*êf‘¼[ËÁû⌙3;椿þõoÆLÀ©tj{ÒjÙ˜Ƶ[oQ;„‰X®â%ßÄÓˆMRÒ!Æ¢ø_²‰$Í_@3¹æ¾/ä?ƒ õ;zPolNº%¯Œ,"Ôþд Td¬Ÿ¬ ”CÍ… 1²b­­oè‰î&G$xÛ§@Œœ‰F]VÒ€+XXa µS´²fÙF%SlèÃCö,64iJz8Õ/d¨@ Ù|çm¸(s"˜^Kn™â—£ø@!8êËS,d~ç&™ÎX3ëmÇ(~I22ei•à‡ ][Wt€KöR´”õ)UˆÀÿGj¬rª^ š.Iß²©ë¶X3÷ ³RÆ/¼j¾Ì…îô“ð‚‰Võ‰éLj2[ÚÃdþºW‚‰ §gþqÇ{À~ì5jï5׺袋~ôчO?ýôM7Ýøâ‹Ï“Œ1sæª+¯øÜêŸ[sèп>ñÄè?݉¨8RÀÏÔëº}×]w$ö¶OŸ>gžuÚ·¿uöÖ[o;pàÀgž™pÉ¥?4é…ÞÃfÌøhß}G}ã›§ŽÜtä~ûí?uêÔ?Þö‡k¯½ú+_9߆ø>*"À׿~Òg|kë/n½á† sçÎ § WÊÑq;§^UÛäN.±X&N|ö€ö;áø6Ùtä†n8cÆGwÝu翸üÍÿú'WF@˜<ù¥}÷ÝçÄO9r³Ï¯±æÔ©Soýã­7^ÃÛo¿ 9d¶,ºD‚^ü49¼ÿþ´ã;ñô3N:thÿþ‹À{ï¾§ÙÄW&¿zà‡wÂ1›n²ñç>ÿù÷§N½í¶?Ýtã¯ßyûm0ß¹výê‰tY,‘0ÀEE8mÚÓÞÿ ±ŠPñ››l¢tó‘„Ax8Ë«¶ÊûñdÙ–_݈º+ºn#ŽâL$WŒÀ¹†Ñé¦"#4Ya ã äIˆé{«¦B³³,Æ`ýÉðY+ŸÂ69}éÀø´ æÇ̶ŠY'uñu¼L}üZ€ Ò Åì‰ uSb‡¿’ç²Öée‘±Oᎈ­»Æñ릵õ–Éñ¬Bãíµ./v— ÊÉNñÈ•ªÂº&ãγϕ©›‰ÇŽ?Aäá¬mÒÜÎ…A!à€¸¸ã4¦¦ëž6µz¨O_¬*¨ZØjW@T“ý(LTCËÞ.$r%é0¼©á¼¹«ÓùI§¼’™Ò¬ÌN? xб-]' 0ƒ"#kÄ?âÎöÄTMz3"oØ"ǃl‚B;‰2ÃK>™Æ ?£ˆ üÍ$˘MO5ú*•’ÅäÐÞ FѶEsfhÀ‚\TŸ0EäÔ¼¤aü3ªV¢… ªÇ@ ˜¦Ùæ6f…),EE³L|\¼š›h|@ÒbqÕ‘ˆ°’Á¼’Z8‚šêyóæêLÝ>°àðü“_–d±Gİ—]¿#*ˆdÀ1ªkjUÑQcÏ¡‹ùf¯:Zf¶lNt=KLY'ãC¼è2zÜi|ÉA›Ýˆ£nx4¡jEÆF{ÅÀShŽ©r†è,,²‰jc3h±B|-Ku…‡V„ Þá·†ÃCï·AØÈ•£È©3Dæ?ËœÒÕ<­IŠY1VˆŠ›Q¹Ü) fëBÆWèf‚ø¶ש´>kL‹Z#ZCõøÒA¶¸áÆ—â´À[du‡íL¹ãJw×ÕåQ„ÜäŒ2ÝÌ-,nŽ•`šÄ É˜¡²Ê•&OåtÏ4E‘B~ïS^&p…£v.ß¹ì¡ñFIånÑNC‘0ºÕêóòKŸ>ýƒ-¶Ü´k«NðìŸD]“ ö(Ä©&–³<¿¨à¬¹1æÓtr‡à3ŸYáÏÿåÅ_ØoÿQÐ\¢ &º )Ÿ3¬’V;ÐÞ%C³Ô‡ýä==mÆ}[a&Z¾še$ãQÜ;ù7ؘ¹‡,ÍaýúöY¤_h·iÞÜžžžžùힺîao&ÃÏîä€l,™¹}¯,•º¦M‘©ñß(Ev&h$IfÛ‰¨O­"´À@+Dä¯Ó&àÚ‚±#v­†Í´íX¦"Î{H@]?P¨ë h6ɹ-]Ùµ›)ÍXƒ5¾âìÐ7¦è3QßX–ñæá(@M•Å–XUT×b ØÓp4à¬<Ñ9§ªìÛ%Ö¡h°u#qÑs1U.tv'A‚zü8Ìœ¢\éÔ¤+2‰æ!RƒíO(äCT' î(uP–sÑh{`"B#Uñ•N2RÙ8Íl#*ij5ŽŽâà²h„ì#hN"Ö †1Uab@1¡±/Õ²Ñòñ.¥úôéS×µ7ÕñËLqL$Þvp#H½.¥>£±OriÜ4 ÀÇylŒyLTªV%1> B„³]·ÅvaX~o´ï˜^Š%ð-Ö¸ú 0+´NOãf˜—6 ØÁ`µMU<+¤Ÿ$â.3jšÕÙ'ŠˆHI‰IV?³J&"ÍÐáÙ¹í±Á@6`Þ€ÑB€êPºE“ÝÚ¢^~ú3Þå¥r³ FÀØÆÔÕ%¦V|w›l2Þøçà‚6ëöUè´1" –Ð,¡%Kl#fQù( ò-8OŽ%RùàùjiUüAlAŠI‹€Ñ ‡sÉÑ€v$§ÜVR°PÅþ°‹›~ RÌÒ y!ñ-õé>>Ì.8O(?õs6Ç A3š•ÌßL|fF€¿NÒÉj§æ¯±E¶ '»©”:(Ú±Æî½–X¡Ï”T¢a›Úq:oÅ‚ÌØÙR4Šæ¡ ¿âåü¢ŸÍŠ÷K¬0+‘˜„]*ð|ì5Õµšdtu3æÚeµÑ¤YeM‰«®É×pLC s8žbB®ÍSÄé¾xQ¶:qZ›ï¢ÅÀÆ'\ôZp“ “¬p-HnýGWßfCW2b˜È(éÃ+¥Ä£´˜¨ÐÜ +•ö &× Æ« ʤcó´™Û&µºÐNÞñ‚ÅÝṟTâªá OcØAJ»7_=+Ňzø®_Ú5\/ºè€aÆ×uýÛßþº€žíHïY³ŸéIV™oçNJ›K”e$ŠE]Ëw±Óˆ¥÷C#yÓ„Ùê‹ 2ØgvÓÂr²‘ÔºñÖ½D×¢ nD$ñÙ…–©%}ÔÛêÞ%C+Ïm›Ô¤æ7Ìpé²¥·&^s}úÑÚR2k× ¢-WÑp  w3Ú„z1ff¥"þ×8[#ÜNÊc Îy/j|–ŒriǵqqP˜Æ$4ö¬4ú–Ûç‚Ãl ÆT¨s=ñºÚ/“3ÈäÅ+×KtTå@"w:£„¹ ìRG™qz!Œ½CÅõàè4˜ß„U`óVrŒÁ(|x¶îéi·ZAøªhþ `;¬96R—]5² ìKÈíÜ´hezß[jé³ $W áª(WçíÏ^A:h®s^áFb-&ÿ}³1¶éT˜°4ŒÌ!b:âe°…XÃ>¿ÍTÆšR³ˆ’š¥Þ$ %Ã.ä³1Œa@•—ÃRl[Ĺ0Ó‹¸\hÞS'Ý%½º#ëÉ8âo^–.ó)¢6ž1Á bEÐf ”Dá†ñóâz+ bÉŠa›äF,ªˆ,9žˆA^q¯©fÏ)/#'8È„³”‡ñBf°nWB ¿ó?ü4Ö/ÄJ±•]òÿ‘~ÅRØ«{BT ¾¡Ã®Ñ($«¬þaÞÊ œÔ5¾N»…ï×⬣:UV}·¬¹qÁ:§L ÓeÄŠœ{n´Æ=H®øwhEy8dÿ+•ÄsèÙœ@a¿oJü‘~È(UàLC‡i*–Κ¼œ˜Ø­Û– ãè—–¼[àñ) „£`~[°°Gm"\*Â+u‘G‡|? ¨Ãå—³úÅ>Ù¿¸²òÊ«Èëµ³fÍzî¹g/¿âò矟˜¡Rë¤ ¨DYŠG¢úÞ”!"ÖÉ;"£DÀ‡ï7Ðn·+Ò&Š@R™“Ñ:·0gÅŠq×oŠš–ì„'ªË¡3N3ÑL)1œ7»¤ø±(¯“%÷¢Æ0!Îâ°R©8F;¿È²‘—»$;£óÔ€$½CÀQwˆÔl$¤“ùã‘÷Mx\½.#B<†Zs&pÍ£Ya…T×Ü"Ž!”òè#®¨"F²C2&Ê8á*—\$m ]qûYƒ­oÜQN€.iäH*˜„]»Ý×ñVD·RëÙÖðv2N=XDʃRwš{QX[MwYC”!“›C#å¥cÍ:¼ÝÔí¹sëvM­ªE€uö¾“E‡p/|TÑ1Ü…òq çÕö5.a¹º½¨K[6V!WÃhPX÷º¹RÌÉ"Ò_¤ Ô¤ì¦ü?Ìj’åÙÆ¬Ÿ ÀИzI›z! ì¤/¥2Ú &žòfQвé=ãÆaV‰¤òT¦ NĦ]~Çu#Ôb=žYè¡Aþ_ÀÓÛb~[!ÄNˆ¾sLÕ5Ÿ}\a´5Ñ!Jn¸¤v$LÀøî2Ä“M"!UUµÛ=uM-³@J,†i¸‚`ü{:.ÈÎ2$¬¼èQˆ½ˆÛY/ŽÖäÆ[,F„€XUu8¨±O+|¯.¶’jÄŸªÂЇoÏæŽÖŒœÛ\ ÈÙúö‹«ò¶H”"R¨¡¯ Þœ“dºŒD(‰jÀ M_€a™]ÄO¢m³­ž½ÃDz‹åÑ V$8eË• äݪ‡¼²1¤$Cl6ähü3*žýÆÏ©"GM“§5ã;´¯¾"}ª¨1q‚*¬ Ìu¼Ó¨¯Áb§áL©$®8‹— ºÀªBΘl³˜é"ÞVúÕd²«0…’Ž¥Åö¿I€ºÑÁ %PøÁ¢ì³ q Hª€“ -D7ñAúiT€)­`™å(aÚˆŠ‰Ä¤5ZoÔ¡ðyöî‰TÙ0»ã{Gƒ±+Ň­–À©˜!lC#´mKºWP.îÄ>½Hk_%¦ˆ6$õ%64sYÙÙ„$ó8VdM¸…@ˆ.Lªó>OcBhÿ–K—Z±¿dY¤ •Ñ䃸‚N(²˜N¢BÁM-]¢ !N˜S#;;Нô„×;)§­XïÇA›¡8iAMsy"Ð6 xî¶Žb¸4Ó%njFCLŒù%?Û£•tM`È1Áb¢³B¨¥:>í«Ù ˆU,1§›¿Ëˆ°âÂ,p6D¾ÓPLÍkgzf㈲ͩªªUµ±Ýn×u›Õ; ýU¯©SÆ““Š8@qÙÊÑ“S¡ÛäV'ïžÔIò}Ys3Ð]~€ç^%M-­5àe« "í5ÐÙ²Ub½Ìz£Õ$ðç2‘5›M(¹IÙN•¿(u.|&P“GŠˆs ]!‰3¡ƒ»HFÙ¢!?³® =CJ1bSÎ.õÊbã¯@§BvpÄGÓ{./ŽB´Tb‡Ø±àÚdœìFGˆ¯ú#ÚÙ¦ãƒDRvcÔq†ÙL¿7lˆJFƒ([o¦ò\FCHežNÝe‹œÈ7Ãþjùi+ñ'á­ ’8`Õ ‰Ë’X@JnLÊHõȘ0A~ËRKb­GY'ÍŽU*{zí°°§óÇËY©ã Ý³…&™Pg€+Œú…(ÚCK¨R—Ê™ZzjšyÙbíWcåäÚ[ Û  ?1¹…öIÙõt;Ý2iÖ‡tG¡ß¨ á]ÿºJã‚W‰öÐGZ u)½pó½‰pzS°)¿Öܯù#—ºXædÓ&ðÈ(’*×dPMQÂìŠ_†Ôžól-âV@¤Ëwê®$:W§!J7E ËÀ“»‚DtKñZ².d=7Xk؈xŽ›´8vqë‚;`“-{Y_ÍJ•Õv•¼|©Taj”àÛéE/$'Â̬€I>‡ ]¥šGÉE>›MÛÆ“t&ÿ`cŒ¤eŠ] òa†ÀŒÌôÓüR¿ffv~-±%úKû¼¢^ž Û…8cEM¿9 æõ‹y;]À™ ì4ÑuŠò›‚Aa° WuËr®œÄàÚ47OÅ·TJæè?Q$ˆMVO!æ;I¡¾ÆðŒj ½…Õ#Š)’¼­Œ»eÁ&÷»˜a®Šbл”.PKCSë­R’¨3úi–·s)tÓõNÖiÃÃ,'˜¼ÑdÆQœH—‚ +ýIèšÔóŸø#c»±­`£•î×ήÅä†ádƒ _¸á Ö˜’}«Äø0L:ípQþ—lŸ–ptÂ:ëÎs!Ÿ`uÙ4m­§ —Ê=™"†l *:ˆ¦šFKDÇfClým ‚}OerDåƒFŸn&ÄMÊþ+3ò&Œfʉ…g/oòÈ %ã·3œHNý0òbÀªG4N]çɾϼ”íŠÑù#Ãúf~ÊÚ3gA¢0ºÆ¶¡½í™+W1‘#ÚN;3r¼;–Âg{â>­kI”tËšBDw]jsíDÜ;F›~.ùí¢A1æ l|ƉÞ""3Öæ’6OKc”—î~½c)¢Iü^qË(°ýO*TÝ}à:—Ü'{š$|KÆË¡K¦F&u½°ÍS ­:„ t½uñt’+ÉZØ’xSMþ:‰Î±^FD§«Å'VÖ]£IU“Üt "ÿ#¶ QYÁ„—%>†Á“|8ŒÍ³e}y`ƒÁÅ)£Wý0‡v”—øfWÍ| -¬P™çO +‚&Îêd¼Un­í"mÛÒ 8¹@Í °çß5õê Œ£ ³M‘&>_Ñø;„°vƯJ-TIœvŸøy Q c {ნÍwÂãUX7¯!¤g?¦#-XFŽ4åf¤|tŒμ‡½AËÊYмø$aQo\€u™h*Ü`[p|Í ¡¤[d5)~ƒ!üŠºÆU6ÄÉpK„d¹À×Ç\çãè;oR>??#¬ÃÀèä]zö6…ÝךJƒju$”Ñd·Ùè è¥ ƒnÞ°(ˆ0£Ë`ñYÇ䀱mñDóâL´½\ËN#nk¶Š6âÈTÈÎÙG"dã°XÎX…%(Q\­Éáa¯™<€â‰¶ò# —rD“eWDâ düÅLOö¨^ÁLb©ªÂ+uQ‚°—9Ûòc9ݲ«¡¦ÇùTŽ:sÆ*O1’´$¶³´NWa6ÙS…Avë` 8em6ÂçÞ 97/1!u`6F‰A‹¿åP×"I·eᄉ0bãX±]÷;Ï* $ð˜Få4[‘s=…~ºØ”<Éšk¢ Ð*DN²£™ß¡È»‘7”È.g-«ª©M( EMdŶqB«¢™š@7–Rú$É^¨iHp“xI­“AËËRÞ¯`éϲ2S;Ë/77°nʬ¦r™16–!°›IHÊI̯{YòXAÜ›ÄfÁÑYo(Gر䑉õ%Le`9PZ³èµE/-$—ìP©ápÑqýŒ63Â]Š1/ºÑÄσaÕ¦¤>ü¤Š¯Õ¶ýO.#Öݬxå¿âŸ ¹›*¤v¤Í“‚´sÕRûNÚ ¢ª’/¼…17Ya`çÊ:'±¶S¢LæzUµÄ^¢æ˜Êp׆\£Am8%.° ¼IѨ˘d©‹K é`‰7Ð<¡LEó˜+¥O ½{iä~GÃ… £@ÍÇúxJyV"™:„Ê$Í"*À™â¤ð“ÚI¦©è8$®íã¬He*ý„œæÞ/´.páù ‚¤ÙŒ8øí”Š]¯$@'ŒÉs«¬m[­b4rs¨ðÖfú8!d4Ÿ7påÍØÚR …w}¢ãU›Àdå"µó,éÆLes`‚7ùŸA|<2fš{çA.ÌfKÎÁ&¨‘^5nÕ×¶!qÍŸÂððK©ébQoí!iG¼cYHé•7Û¹KËW}i •›ðµ!xBU,®¤ì!×vAŠ%(‹ZŒÚ¦ œH«6+k~ï`FÅ!‡‘»OÃ7°xDH: ‰ý]g£%Ät¤È2G¹é\?$ò’øÿ…/ið"3yhô ä…òWÛ}t'wã,Òu©†ÑdC+d¾‘áŠiMÙÂ,¨‰JÝJ((1®(߆i`‹Ø®ÒK)Ú‰C¡ÕjµÛm3½ô˜— z’[ñ‚dÙrËrŸí¿0‹lÀÕ×Áôë@¦ûèáín–šÏÔ´1†zÆÅ4Úׇ(æI)0„òêv»–› BàeŠßÁ#a¸8LhŸó¸÷:r[ »po\ ¼È »ØÇÈ"?›Kß´ô]6‚Êd;ôVÌ.ôktJ¦âÁ{{`{’Ÿ0w¡¥>š¾püb8‚Ô AQÐn—åì­1uƸ`ôE‰wêX0»Fý‰î&ÄMìÊ¡)}ÇyR ”ç´\—̛—q.<Ð-lj8?à‘¦ lÒÊÜ£YsfW"O’5ÞÆ6á›´¶øÉnOTß›Ö5ËÎ*‡‚NáþN¿©ôΗv®•OKJ\Rî;qO£ð«<‘©&`vQ¬‰ %Å­<]MB 5^^EÑ^¹øÈÕH†¶%’ÎïÆX+©%—åÍe8Y,Ø09 Ë)çÒ‡bÝ~ÇFªy%ÉL§1.óÙr 6Ì2¹—üRpojôµ3ujø:ªÿÿ¢âýYðpÀR_àð_ui1†Ðl™K»ø¶8Ҝщœ·›v’`…d‡}ñðéÌš,ëÑä¡ ×h&ˆ€ÓKF­³3: j<Å XpIì­ÝÊi%šS6µO”ižšcèC‘ IDAT6IØ®«…)ùO³="¨­m,äŸ/`q–ËI†‰ Г6jÕMûÇir%Ì.µÇP~ÿ¨‹q•ËÉ_‡—}މG‡÷ mº0œ$ÛÌg7šPþZAqdŠOçÚ9.ªE&Q5FÙ½©ÎWúBVÍ$ vq¥k1š„y„&kVKà !ƒ:{B Ÿ*ö`¥±]`áPÕôfœ,B [”G#ìp9Á¬¦Ïþ —¦±Ž¯°qÏ삽AËMsŒ•™}ŽQM;Û$à™†Ngc "n…l„¡™Kœ¨«µ­¢ŽG_6$“#« :ˆ`œ¼¹eë òu¸p§®ëx`¤Eš÷€×Mu $ÄSMà&h¨efmòÈqÀ£Õò:–xgŠ7'ê>å8FÞ· V©þZÌ,T ’èø¨ÀZû¤·Ü±Ä!  šŒ†I…­È#“Fñ„ .ØØÄ¦óAF±8«_ Ü–äÚÔ‡rîÇìúâÇÅÃÙn£hv1Ñ{ùEö•±£è’â\©æ®£¢‚1E‡Å‰ eŸR: û Ñ¢ê 1jçߎpö–46ѽ|>6ýP›á%JšxÛ+Ç”±[Ÿg’€Ñ»xˆ§K¼C€8±a’£Ú"µMÒq \Ò€ ¸_†#9¿4‘—0ȵ.ÌîšzF`0}A$$┪Ýb‘Ʊ5Ùø$›BEŒ~Å-:ñÙ^&{6D.9+)qo 'u¨‰äÙ¬ÿ¿Ìfc1k³.¤´á²¹ã¸Â®yìëš“)qàPÒ`zS¬Ñº˜¦1ãÐŒX8,"QcÍOÛA~Ü!ñ-Ç> ºF`ûéfĬ…q$ñøX!¶Éo»8§êî£,å9i0ÊÑœä;ݘ$“nq×¼WBÜ‘é"Ó?ˆ(ßupXÇuaBï¶&¨ÓPÌËR6ÂÿtJ® -f”6³®–ÀrÝ(Ò¤HLŸ—:»6¯ÇŠZ/™w`EE[¹Î„a9²"¯bW:£jÝõ̇¸1Æ 8(N½LÔö¯u3ˆ-2“å·|†?bèÁxÙ|lÁÄ,&Âk˜©‰6 8øÁGî# í·ÞeöœÙxõ¿¨—©v×þT šî´K½4ÆœŠ…nFÉÉŒÄd[T£âqD£í4Ñ IƒDaµ,¹Ä’ö÷üˆÊ>·PÝYEÉnrœ¬5樠WÇâSúÚ °ü_ÓEá~Ngâ•S£Í>@ׇ”ue7°=>]Hnðü ³|ÏÍ›ô^ GtÒ%¦»$6‰X¥\¤Ô¸ b÷¤µØ†Wä‘[à(ÓdÙ‘H‚À–°2„²XAœšJ+¸ñº®ã¶—X¢ +Ò ³’5& HÔ:«H5ÕV!¤7ož|dž€çZ˜e|¥V, z²…Æx ¢ª¿".tóü·ÀS’¡5Î(Îω ‚8^è/@ÔM€!øûePk¦ìt·ƒå(–0VàY}#@î¹th©0:/ˆ>T‰C&Kˆˆê,7ωrð§ØÇ/.;kƒö’±ªªâ‡a,žÛÄ\€?]ÃŒNÃK¤ðã÷ ‰R†¦™ñ%Ç(S$G ñ‰ ì¬ ‚ê€)Ž&ê3À’áJúOhµS\ô7ÀŒ¦N›™ ‰'A¾0ц~¨`L£SæfQÞ9;K2DõM,Æ!Ž<ÜTÈIšMâò¶pÉÈ&ÝÄQ&é6GˆÌ?_Ëü´ûIº¸f¯é–eqZÀ¹óÍX¼ì“°Óñ•W7£Éc‹ â;Iˆf5Òc–w¸Ÿlxå•×|ý§˜àÏCV;øÖdgÉ\ެ>E9oãÜø'7ÒÁ.Œ¸ãž‹ BÈ8ÇŸÈVÕöÏVŒ‚dDÄp]»!Øe×ú÷_dü¸gÏžÕĘ®eâÄgO<鸟ÿüÒÿTè¿WŒû,1ªSƒìf4àû0M­ݶÞFqWñ'Ïfí½¤'˜‚Xî¾Ç—úôiÝ{ïýóçÏ+äïÙ™˜ú4OŸ j »‚˜Ôw×*µvÉ×ÌYƒ ~É·“2®…âα‹².¤Øõ¶Yìóá)—LÖȶ³#Ž™`ù˜K~6‡Î©ºÀ* Êj’nCTà‚z@“ËIR<bËÙø#ï6ƒšŠ…ÞJà1åKSíT³YïdHÙ˜uí§Ða—¾xÖ€`VAíµ]tŒ,äèNз.NfíS+ƒB„)&MüxÃ`ÅîÉþpÉÃ84Ñ$9€+s]dŽ]Kb¡ ÈÏf‘Q7¨™B'?×âÛ$Þ6Ì"tÍ >ɰS"Õgb^È"¢œ¡( Hù/A‹“"ocƒg9rrÙ¶Ä“Ê1¾ìëÉŒOùuyV7ÝëM‰j/Hk¸À"m|@±g¼ Ó­$q²Œ…oL|“R˜ªAlD ²©±K–ålDVÏÒùÑÁ2B ¦Íï[“н%uAC\FA#^Ž2¬/ÁìÖô¡Ø›wÉ]vø¯¼òÚ+¯¼öì³/®´ÒÊÝ€ÇhL훥¦ Á¥Š¨ºÞŒ©Þgˆ Æ1µ:Y6J¾±{$W^hH-˜óTgNP­ožrÚöÛïpâ '­9tM64 ´q ; `oâ ôÿ<ä,Ncë*Ƭ~H•9†= Íâeên»í/½üâf›mGsÔ‹/=î÷ÎIÇŘÁô_mq3½Ó^£ö€;+&Ê¥—]üàƒ\uõ/þþ÷W¶ä¡S÷Ȳù9‚F…be¦H*ñQuœÝ cåAÄ[ÿø›&M9r$uôaϽøäÙç~«„{²áˆöµÜ9æîÆH8j\*´b“³5i±”*†:qUfX.¥è'¨ð¡dEø¿¢F‘¹¤7 Â|[s—–ÞB¾IˆÓ¡Ø0Ñ<ðžq„RíG˜`ÃÙ£’eò!œl®Iä‹g3úÌ .G3`Å×D b.P9g,»ò§yL’Ä6)ô²+¡üŽ#Ï» ™™œ“ÒKgµO\DAIì<Ñ3 c§Q¾ÃŒ'NvÜO=«ƒ4~# „6+fÈŒŽmXɾh„¶‚F“®¾a¯‰$ô&úŸ)XJ´­d`ç¥=!ðŠ••y;@ž ²a8fGfë„VàÖ´"{ª «<¼’¸)e›EÄ/aX×~‰ä»â:È"ÔJ !B…ˆU|e âN@‰œ¬÷ÆM£K„Å=Šb#xèPÄ´—#7ŸM%…rÑ6ŹVWTHˆj{òXJkÁ¿¨š2ŸÐ> ‹½qè*‰¥Äû8/ïí:)? Jš™9é·v,Ž>Eäf‹˜Dz2sµæ\§4“É'èn“ðâ­"ôzÂŒòz#“ÇXÅÚ†b/Á x¤rU”ê•6.¨K‰çn1xábbÜ="ÆòH{NÜè#<”ܧRÀ!s[Ùå9’ýNà ;ø\{þ «ªÂJÄL¡­ºêª§žrz¸¾è'?~ûí·<ŽöÒÛÇ‚rå-ô¨8&qGÉŽÈ}1m–bW¥ĸcT;wâ-¸vj¤™¬‘Õ6Ü?öÓOç¼ð o¾ù&dÁ€GÛ£0©ñ˪7ã]&¦tÇ̦À×aå#Kû<·A AG#&hšpH‚èì•Ñ@ü ¹d6Zð}zhÕÕW]oýuÞyç O?K)ß ì´Ó΋.:`½õÖ_e•U¸ìR“OIî¨Vþ‡z¡61Ç‰Ç qTid#ÔŒs šÒ^B#Ðk­½Ök|þ£gLyíu[#uÞ™Õ´¶:dö›Z[¼­Û$j¬¹uV! °ŠþËñSÄÔH„¸7×&‡†7*bº½'ôèRþ/ RUØ·o¿V|5Æ©~ÕÞe‹4·­°±i&ôÈE¹I‚uê²ÅÒÉù+É¢šš†6ÊË"rÖ]ž¥Ø"…à¸ÔY¡äu4Û`‰Ë!Í{ÑioKçϱNüw¯"E_Tÿ„.âw-e"D©¶$Nh,À_ò¬]¤n&œ¦— Çãî¥ÖR_éèK´ ÀZÑ‹ FEˆÙ%ÅSˆÂç´±®EÌ‘¶@Uպ袋û÷ïO<ñÄ­ø]J]L*%$SÈÑK`[–GHFìf“: îÒè»}º0.ƈ›¿êÜÀ„îýæ·¿þÍo˜}gâP,ƒ˜@îÌ~ÇÄ¢âd.±²YÆâ¹]j9"-ŸdÏŸ¬Xlq¦yîÜy0wþ<"š;o.Ì›7Ï¥@5A]8 eVü#Çl„Õ½Fíc 7β±zÈá‡røÂÿEG€œdbypÌlÀê„>aŠâÏk³¦h• iÒEÓyóíçsËë„ L°÷Þ{À’K-1öþ;û›ßýþwœ5ëR¨9„èDŒðÈ_ŠÇ^È4(s±äD’5 qk™!FdB V®xVXÒl†tÓ¨›Æ{+f újy‰± ÕuÛF¹~BWU½ 7›ãØ?TˆÙª‘yl­@Á…š1úSáR8¾¢ÁqíƒL’ð%ª†›¹Ä Ê¥C[41Ê×.ZSÚ%‡ÙÕ §Qƒ&ö "n$¥A“›ù+¯µûƒ¼õ¥Mó65%{o‰í’½4/j†šºÒ“cÁˆ»AHˆ-G2!”s™ä}ÀàÅÍ”+.ÁaìHí4 ’„aÁ9 êëE(Š*3]“: Ç’i'd§.ŒTøÄ«µPÞCp¨°‚–É5 ô“Ÿæn¥–ÕGkqŠ_Öìføj -ðÝà¡2Ze´³‚t}ñÞØVÆ»K“&ZÌÈF±CÜ„¸ÝðI·û"kN먪*Dìéé©ùTžšjžŒ#P8^kªt Í…£[ê0·ƒVU¤ËäIM ݵ¼0”ç…Œ?î,X¸Rmc v#Ú—…F†X@…Õë"r;s^›545´$Bå¶ûðÃ$E!Ø=’¥!ÍcQìˆ ŠÂ߯#ÿKn6÷çÜ Ú› ’ààÛŠlý É {ìq믿Ìš5ëì³Ï*#ß+K#Hd--ò©[UŒ c» AFW/n®Æ‰Õ!C;餯¹€ÒñµÁùû±°B"Ö–§JXÁI¯CAÿÏ´è˜ÁqàM¤æÈwµÒ<(É?%ÿÌš5 fÏúfÍš ³fÍb…5K¯§"6+Ç0õBîc…{î±+sWŠðÿöB^4ŒøIÐQ zs L£^q¶¦’[=ˆ ‡0޳ãçðÇܶ-²È"_Úuçžžöe—\ñïyÿþÚ7N7þî“¿qâK,ÑÄ·xââT“n6ŸÉççò™›ùgÿaMJ2 î*ö˜A&ÓÒ>I³ûç —ë4/Þ5–ÞU'€v»?hÍÊ‚v׫âÜÇ¢X—RFYfABî̧Iê_°ø€ÛkŸ&.nð8fu´…éBô&U(Gsžò|(÷]  4,¬²ê³n÷¶ Ë^¾¹‰›Ü¾˜K¶dM¡„oÁD§âfWÖ‡‚ø„i¢£ÌÂÐaÙ$±MJârEB¬%¢äIÖiŠˆ9YŠ(Ma¢¾}~JÛŒ yÏ :!Õ®1GÁKÖ»bÖÆÍb{ç±Éükº£~ÐÍäùK4ˆ+°AÅ´×ñeöíGOM#kì»ìQXœ¡”> €ÊP›m‹])dPPiƒ$XM}1äd€è,p|¢èÏ ¼C-'÷Ã$¥†%׸ò’•è2ü’w'Œ¥ãkyÒ,Ì~vçOÈ„Ö  ÌbÍúµé%Ö {Á•̠☮¹~)ê|¦hYÌ3ZžøÕô&Ú›n‹Ä)ì?¨Ã ô]Š­YcÍa'ŸüõÐú‚Ÿÿî{ï–Z€X's"Œ•ß8dF5gãmg—šë]‡Ïj™þóAÅÞ0hðà“OúúøñŸxâÉŒÀï~÷ÇW^™òê+S^}åõW_yý‘GÏÁõ×ßôÂó/ï²ó®=öÄ_ÿ:a=öÚn»~ø/O<þÔ¡‡žt´å–[ýŸÛF?ÿüË>úÄ™g~{Ùe–}õ•)wÜq·ÆF6^êÚm¾Ù7ßü›Çÿòä+“_{ú©‰·ýqô¾ûìϧIG~öó_Lžü÷MGŽüæ7NyøáÇ^xá¥ûî»ÿÈ#ŽFwj4Àç>¿Æ%—\úèc¿8é¥G}좋~ºÊÊ«˜þX f¦®;VŒ“ØÙῳ`öìÙ~î!PÈÔ1\G’€¶Üró¥—Yæ©'ŸzïÝw-Gsĺë ;öÞ-·9r³/Üuט‡¿Í¶[l¾ÅÆ¿þÍÍ–q}eÿ¡ÃV—_Üzóœ¹sçÎ:lõm·Ûê­·Þ<þøc6Þdƒ F¬säQ‡Nšô¢­6cÆŒ¡ÃVßåK;Ø›sæÌ m˜O<ñøáG¼ù¶úF¯¿ßþ£n¿ý¶tO³‡¡1ìÜtä&×Ýø‹ÿ|ïÄÿöØãoùýM£öÞ˺ü_ÿöÆ&=½î:kó<°¨ñÐÃ~îÅ'Ï8ó”È|ï©§s™e–yþŧoû?·pŒ€ˆ³gÏ€9³?NRÌ™=»³ÑØvÛ­üè#ýêæßì¾Ë>çžóƒ>úè«_=zÜø{Î<ó´e—]ÖVöÓW·íGay£h ½–7Oø¹²6V#ªMeBŸj\ãC0½Ÿ”´|О7®^¥±$£Ojg»›jÝ]DÕuÝ®kƪi—ôpñT ÇëNuuO€K‚Û6XÌü¿&S±±Ø,øJç6šE yNèísp¸y7žY ¤ì7z  \l¦>ë2Âõ ÓÛ@´óœ t,ä5ÊÃA6K2š¨ú΋~>Æ Zo´©ªªªªZU õƒ=¾¹ H‘ö “(¬MY˜ˆyuŠƒKÆÒb¶sº/ïÆ˜¬¦ºBÄøÑž8.8Q5ÃŽžÝV†ôµ¸*î!Îó ¡KÞbÃ6§ t±K›ýuYòd|ÑG yhðã…Y×')WQû8‚¦o£r ô¢GÑí‚"7j/Ô³P)ù¿Á¥1`Ÿ>}rÑOûöí <òðí·ßfÛSï @¡ÛÆ'˜<—QÇ’ GO!³SÓOºVÈ3î®,³Ú4rß„AƒvØáG~Ô!C^{íW_}¥mûꫯ„ D1â E: Õj1â?<ïôÓÎüáÎ7nÜÎÿÁÑÇ{öwÎyúé'_}5ž9´ÙÈ-®»öÆV«õúëSÞy÷Ý}öÞwñÅ·üè£Ú²Í6Û_}õµˆ8yòË/O~yРA뮳î~ôã•W^ùg?»Ô’G~ÔRK-uç˜ÑƒÞu·ÝÎ<ë¬åWXþÇü€FŒØð—¿¼©ÿþï¾ûî„§Ÿ^ù³ŸÝc=¶ÝvÛ¯|å+¯½öÀÛáÆÿiôè"2ív{Ýu×µbWhgÏö×–m`†>Qñ"'€Fí³Œ=†²­8ívûىϞsÎ÷/¹ø¢sÎ={çwùîÙß»á†ë.¸à‡›n2rèÐa¡š\ÑĉÏvfò×¾~âÊ+­|ÈÁ‡½<ù¥?ÿùá‰Ïxûíc>÷¹Ïwn•—‡ÿüÐ 'KDǯ5|øÚ³gÍzqÒ ß9û¬7ßü¯SN9Äš& žÌÕV[muÙå!⫯üã•Wÿ>pàÀµ×~ÞÎ^y¥~qÅ5Á Œ;~ý ÖÛåK;Nzi²Ð ;ì´-Œ÷ ô¹é¦›üâªK[­ÖoüóÝw§îµ×î‹->„›8TâÚìœ9×Ûaöì9$¯u˜xSÊž{ïwÜqôôÌsÇ]w޹{çw<æ«Gzø!_>èËcîóËo~ûíwL# —,&)¡\ßûdz©F1©a#©Ä*é­4Äð¨qmÌk$_ÃÑ9ho!6È>· …ÜenÀÙ'bœ)r¤k<`¡.*šS°ªIÈEìÀI†Åúq<=΂G ú…ƒ«­ÖOÈÏŽ%¯ ±oŠŒ§‰Ì†ÐÂPçEéû:kïtà£NÙoN'=-dÉçud>îÆòoõ¢wá©’÷ÞêŽõ±â¬Q^RÑŠ•‰t{¦¾¡Ê»tQp'ââp$ÝK• ­xü؇ḉ½úË0„Vˆæ¥ Ní@]“ICjJ†Ò}ÊÆ aÅ»¦ Z*6hÕ9¼JFµÄÊh¦Ê‘q’`~9F0ñ ›Y.(‹5ˆ#R áÅži¸5?™ð„9-ñ'^âÐ4I—a~Z…t¤}ä‹|ڨʛÌd´ã=ÿIã†AEURmeMQf€YUX‡¡ û}YñìÆkb‹i±6ÂPd2½TÉ·¦ ªªÞ¹‚lçâŒ/>%ù®AUUʱkP\\ ;Îi«JÎ3!Š`ÏtélEœ«ç¸2œ³wáñWîÄòR6|2ùµp‹YÏ”©òØß‘ü¶ZG§µ¢Ì(K^1…Êì±8´ÔãèwhÉrÐ:Qnå”­¬èñ[&Þ‘Áb++ Ü>ü0’?¶‰I¾‰Æ¢ ¥’¨iÊJ •Ø‚”l«“NþúðákÀÇüÝsÎÎà䂳0…ˆAðë"l"›bC›%•ýq†©—-0Lr¥ÂA†ü$4pða‡~ÄG2äÿøû¹ß;{ìØ±@µ Áyçê/Òo‘ç_˜lQ·¥Õj]ýµÓ§°Ü²Ë~÷»ßûýïoyþù‰=uû𫝹éf2¡ýæ)§¶Z­«¯¹êç?» üóŸ‡ù3%ÕðËõûåBÄoëŒÑwü)Ü>|í›núÕ;ìø³Ÿ]š¨L«Â/y¿`’n¸ñ†»ï¾çà¯òËn|ÚÔÀÇsÎ9·ÿþ—_~ù5W_@ˆ­SO?í裎>묳Ž=öèä“YŸ<òÈ#éþ €øqm{÷®;ïœ2åµ?þþñ\xá…žzšµ5‰dœë·?eÜC§‹/¾Ä6Ûl3kÖìxÐfgßv»ýÕc[zée¦M{ÿüóÏ;è ƒ7XDÕjp±ûÛ2ýþ÷~.æÎ»Þúá¹L›öþÑG{ÈÁ‡…Ÿ—]vñ5×^uà ×ýøÇ?éЪXnýÃïˆè º÷¨}×_~éÈ£ÿà§ð!m6°Ì\³ãؾûBÄï}÷ü»î¼7„SC<‚ã IDAT‡ ½îúË·Ý~›_\qMàÕã<ãÌoî´ËN—^|±?^n¹e×[o÷¦¾?éùIóä¯×jµ®¿î¦_\q5 4èâK.d<\Ï÷Ü}ß”×ßøäãOpÊ”7~ú“Ëž™ðlë±ìrËn¶Ù&NÿèñÇШ®ÇÞ7nì}ã¶Ùî‹Ç~õèýØoŸ}÷¾÷ž±7^ÿË×ßS£-‰Q`'è?4+(FÏΈOH2ÅÉ»ÃÏå1› ãXrcc²—,\íU¿aÜ4Ê}¡³±AƒkcúÜ÷Ã0Yg8bÐ)qO‰_oŒp´I·û<[#‘_ w5ìÉÝJsd|º58.lÂ>gpo<]2Lœ¹ß9×Bäˆñ’”Öâo•“½oJ—iÁŠÌ â:4Yµå±QI3?¹°^\ûð߂˶+*÷ügm1G›ôYx…„ã‰*Rþ1’`= fŒ¯ŒhN€V’¨£0IR'd~RdºJŇ½*<[¬áŠ¡•ai…X›E*cC~ –g³B"Æ^MæQVª ÊV0'%‘A0ÚædÓÚžÐieí±‘h*Ê"'$:~EàQt’Ò²F¡«–ü1zÂ[ëQâaüÂ-¢ÌõµQÆÓ¾ÊíE—1*âè£í&Þ”û"W6ä]­+™¿ºM»M•‚+T((, .Y[uF “—ßpág|jÁ Yt™ì˜§$oŽUÞPúH;\oue!Sp6MÝÉ‹ÇG(ìŠQ”Ø ,Ö6Vðòhl øù„à^y]W3ÕOílÝu×ûê±Ç…»?<ÿ¼iÓÞ_~¹åe÷ì[núáôéBÑ£ •èxi9\° ž óˆ7H"'mš€î òQ)ú-Òÿ¨£Ž9êÈ£† Yì•W&ŸýÝo?pÿ8;l±ãÜ5` sæ„ݘsä:,H.¶øa(]tÀºë®7gΜ«®¼"4™5ë“n¼n‹-¶°=dd¤†X¤Ï<óŒ<<ù¥‘#7 Uï¼û.¢p@"¼óÎÛ?ôð®»í¶þŒw.½ôÒÇŸ:õýk¯¾ŠzûòŸÿüƒÙd“MªpüÒ;o¿} ǣ9=ÈóÄôI0a„ &„_ÓÞÿ׿úµ°®8Tè¼YqÞm÷]ûöísÇè;æþûSif5eÀ€0pà@8` 8fΜYê³{9èÀƒåzŸ}÷¿æÚ«^|ñù…€„á n,wÖZkí'ÿ¦cgw«ØhÀšI). ÏM|AäðÕW^Ýæ‹;›*8}úôgŸ}n£6\oƒõ^xþ…mûí·AÄûÇŽ¯ã—ÒaÑ‹®½ÎZsæ|zÍÕ7†Žf}òÉÍ7ÿv³Í7Q`<Ï<3qÂ3ƒŸþÁ·üæÖÄu$–{Ï=w­ªêž»ïk·{l =?ôç‡üóÈÍFwü1{ì¹Ûî{ì:~üCgœö­ºns]®­Ë;¥<ÑieþÄgKS"rö?Pø™‚¦¬BrSF…¶Ë¤ Ì*û^X´&Õ ŠËã®Öž!k™aß]Fª£)Ά':H 6Z>à869ß/rרNSÌPÁå;í¡­"GgpFp‚EØÜaÙ¦Êâ(®™ÜôiÜ6`“+Íè¡MüÒÕN+ ášŠ{'åjñ’ È pB+®1»ÌlÖé´Z§ Š)*<ÖqõUб#¢ «†)_-‚bÒ*… ÓQH`°l’µB1SQU…Iu]›À9`hA¥«ï6²Ðîä„%™:‡5Ô²¹@º°X…@S„ˆ×Ìu$@²Dåp°,R™ùA¸…æ¶$«—~ú’ÙÄÜf÷cˆÉBE@&%¤çªT°ýÄèòôÈ$5uyÍÀŒ®-86ÝL‘«5òÆß¨’"%i %¸Ä7IâÛlÛ‰­³ì=ãSbcÜ–`z¡Д"楿Ÿ<¥Ì'ÛaÙX¤Æ9›ß¦þÑff,U¾‰²¿ gI Náa'7]Ù<“ÁÈ=&â¤1ðm%É5¢ø}舑è<‰ £ù§¿ ÊâfÅHï3òxÒž Ü'r5b#šÉìÎÿq«Õ€ç£ÆtØp„1ï™Nפ#ÄwyN`8³ cŽ=¡Ê2ã@áÅŒ\†Išk¿šYA\O¬¾ÚjßüÆ)¯½öO:nÔ¨=[dAÁU᥾‰0ð”Òq0Wˆ‹/¾DUUï¼óv86”×§¼f¨J-/ê_ÿ'½8 ¾Þù#F|a‘EúbnNĦ½?ÕJî{S߀Áƒ‡K-½¼ùæ?k¨EÄæÏ›·Áúë­·î:5µUˆ(œ’—ò5þŠƒL*RüæeÿÀz¶™Œí½÷(=z´Bøt+]·ˆË2Ë,'þ\z˜óé§Í-Ë:ë¬ ßûþÙ'>ûïÿ»XÇ(<9Ï P‡µuVï—'½ß9çÌõ×_¯ÿ"‹F+þ#9OÂûÇ>;i`÷¸ÃŽÛÀ¸±ã¹OZlÈbUU½ûî»=óçÒëSx¥4†r0°×Ô£‰½¡ØcÔî0fÌÝZÉøž`¯þú׿qøÑ‡rÔ”)¯ï¸ãö}Z-1p`$A)Æ))q0Kî­T"íì¢ö,*À†“d!Ц-©5Óª©p¢ëö·/d™wl î­uW{§x{auŒ‘ˆaˆÆ™“ÌÌ{4¡‹&ÎÕ€âu£ØP‘B`sÕÍ ¾§ ˆéy¸Ú”ɦ7;(#c<ˆŸ°FSÏêÀË–N ·Uµâfmç.øŒv‹…›õ2›(†šnÏ(ØÆjZGÄ ŽXË›SêJ2ÖDT×QIÍ}Àx©“‹´„ Ë{U`Zø@ˆÍÝXÙv½Äõž<Ž἟éêOq¾äj"ph™¤ìö´Øá ëœ|Æ’ãH²jdZ„§Æ>«{²´Êý«#M‘q˜Å™ VL;˜OìD €uÝç–#Ÿ±\É7xˆuT™ûf&oÝJ»§'*|T¦š¨®°Š®‰|""PM¡O;÷±Þ5m+µ+6À‡`‰&ò*iÁ<"BšÌ?•f¼žE”T%Å òÑáZ%à)™£l“0©…Ïj†ãÌÙ€)v(îÜôYj$D&0lE’~‚³¤Z¬Yä†ȼðØ[OË#kG"˜#ë|ÙSD.X]4àz‚Ä( Æ=.ÀG¾Ù-q‘l±Q^lâùsg¤ÕÔ«tH´ÆV$ñªV¤dÆGN‘ˆ!¶UÖ<é–ãqï0 ãF {Jãjï$Q0æu(ï3‡’ãl¨ØtŸ; â‹\IYa…ÃÅ~øý&Š2N™Š45ïØ¿vѬIdR~E`E> tÄÒÅ­k®9là 7š8qâG}h4)ŸNŠ/éñ¢ÍÒ¶â[À¼yólÍyóæ%íW—æ“ ž×\såFm´ùæ›o¾ùæu]¿ýö['Nüão}æ™§âÇoLcVÁ \|ñE_üc6+¨Ûm1Îd̺uÕ(HÅÿ£GÊ% ÅdŒKð¢àpØšC‡ öÆëo<ÿüóÑûäú-ˆ…ÄÙÂÍO8ᤠÏ<ýÄ?ñÄãUU­´ÒJ#F|á€ýÜh£]½Ào‚LÂí8™úå ¿±áú›ŽÜhÓ‘ÕuýÎ;ï¾ðܤ?Ý>æÙgŸ W`ìøû>ëÛ§î´ãv_ôs€zÉ%—Ü`ÃõÞzëíÉ/¿\¯j!Ìg9 ½Z±Ìœ2™ÿ¶ø "l0býÏ®²òK“^žòÚ” [­>»ïþ¥£9jµÕW9cf»®ÁÄF6Â&#vIç²Äô±ØÉ‰p wϲ޺#¯ QlY9Ì. !—ëBFG4õæð³¿®l³ ] h$]A!Å w-RdÂj+þ˱0Ò¥G­ÉÂu,¾M™guІ"½I¬8ÑÔNÙc>™ÇÊjJÄg­_RˆBIrh BIiD˜O6we`òzW2!×ä¡öF3 Åó#2’Ç¥ºkéE„3XøIÑÿÈ4;Ž¯å–žšÉ"ÜX ²Üñsõ&"µmP[™òµ ¬óÚC²ªOaÃ5JÁ>ÙºÔ¦/OßOœQS„Q·S>1Ò˜*nÐ¥È.5i6Ë™¤hÍ/ÌÒGrY`(äZ©Í?ÑËŽµFK®*̌؊ªLtpɽ1ðÎVÊß^µìÜyZ~qÅUADÂéPÅ¢¡XÞøJÿ‚¡‘§çË­ JÛñ1kb#½ÊB1û5XxåÕWO;í›'žxò1G{ðÁ‡üá÷¿»þ†k?üpzM(–á5!œFÝ+u.j­ÓÔh@ñ_ÿë€/ï·å–[n¹ÅVǯ5|øð½öµ×^£¾ýoþÓmÁSvƵ4fÖ5y VZiås¿÷½Â Ôíöñ'¯ˆúøg‹8n«]´÷~û@8•Šâ'}K¨ü,C†,vënüñÇþòøc“'Ož<ùå1cF3ú‚ ~²ï>û¥µó¸Ð¦€>ùøã#ýêÈÍ7Ùl³M†]cè°5wÛc—ÝöØåûçþhÌw¯•̘9cÂÓ7¹Ñ†®÷ì3Ïm·Ã6UUÝ?v<ˆk³Üãø.µúîycÉ÷_íµ÷pÇwsÀ›DGÔ·o¿Q{ïqôÑG¬¸ÒŠ3fÌüÙe—ÿþw·öô̈26¸Œ˜¸o[M~u,VIy)q†ëñ«´Ä‡}!¼›|æQÀH îÇ(^ã‡4h3àÈ©ŸC"ÅÁV†W¯ W­4Þøˆ‘hôÅd‹pÎ ‰é£&©<™Q_cýT1´„Ë „CvÇ0(ÀÕaRÆåŠ˜ÂXðÒ Ï.œZ¸:ì@ãnº8è8@™f…å]W4ö9ÍôAsb3]ƒ"ˆÆ,›˜Y;密ÓLábs¼TTZ>'w’x)2)J'ÇG:]ã×—µ«À>—(ÄÜ xL“˜#žó1•Të ”%·¢'ˆQE ñ…W± }vqov˜ôSðIÙ=½à"hTêÒ9ø,eƒ™Ž=™WOëH§Û—Ððmn´º«X¿³ …µCl`l,;ŠÝ¤.Ôȹ2,5ŸdMJòwI}OŠE(gƒRãjíȼƒ(O•Õ3PrÁ<þéc@€©ž¿d\c]ç½&™v&"Â4 P¶KÕΆ×JVn\½^”ÂÕë®»^÷`åWYmõÕ'Mš4ì^.xd`K²Í)‡VV¬ë^ùº,#ëê{î¹ëÞ{ïÙu·ÝO>ékGyôA|ë­¿¿þ†k?ø`ðœö?䣣؅U¯Áƒ[C1dÈb\MTºäæP!=öèc=ŠˆÕ¨Q{ÿèGž~Ú£ÿt[ÆÏo —j@Þí)ÛK–ø$Á ·ÜrË"‘ív[€šî:³PÕ|6Eÿo0AèÛ·ßî»íÞn·ï¼óN#!{ïîÿuiµ*ÐD §§ì^åPªªÚj«­·Újk¨ëúŽ1:ûìo]rÉE<¡MMnYI"w êöùëù+ ¶öØóKçž÷í¯ãÄ1wÜ  ^fÜØ6¹Ñλìøì3Ïí¸ã¶pÿ¸-ÀyóæÀ ÁƒÑ$ê† ".‡Å^#ô_tÑvÚ~îÜycï½ß„1¾H¿þû°÷‘G¶ìrËÎä©ìœ9s±Ný[/oYÀ&Á Ï$Qg–[ìfe²‘íLš½TijQrQGl\žDv¥-ùdVóýê~:ŽJjj­¦ ¸xy•‡½zOr$iK½U[ÈøÉ«›gA5Žk lÈÐK—–§‚1Êi@á>ªéš, þ?²¬ó½šÒ̤]ùIRÄF AÇíbð„$âÖ™M!|ÓO²“ÁB•pðu ®ˆx×¥Aù´^‡†’z _ˆ ³š9Ê8VŒqÑž ùªB>•IQ4W* ÑDÃ9e!Ïg]’Lg ¬ ¸QáŠÇ‰cóDbÑŸ‹`;YÁxꛟ0ó,IÙi‘Ì^©ÜÓÓÄŠˆÂdŒˆ°²‰–ù„îòÄiX³‰.ÅW4*Ëîø&AÇI=î0¾'©¼t;l<ê~dQœŒ£¤Ã\ŽÙ:K‚Í2Û%á³Kù|Ö»§Ä'5Z±´SqQJ+‚ZoCq%ܰ0UB“?ŽSYË#ûºw8 ´&à EÉó¹1)âSôêZøÍ yé¡$—àd‚Ò§åwh£RZA¡¹jc±b rÿYo×\(鄲Ç*G^¥Æ¡Ü¦ - RB;l¿Ó¸q^Ý/¸ÿ¡ÕV[m¡Aõ¯%µ8måØfç´º ˆ™8…Û\Õ¦úî»ïüÒ®;~Æ©ï½÷îá‡ùàøG¾ósM8EÖ@-õ˜ˆî|4cƧŸÎYqÅ•–[n9©¶ÉÆ›úf  Q¢)­€X}f¹Ï,½ô2r‡¨=úö×_Ÿ²ÔRK 4¸ y6„#ÀôéÀªŸ]Õ¼ Eýúö{öÙ‰'>'_º›üêäáÆnÿ [k­ak­5lÝu×öÜèHŠBÑ¿¸õ×¾ñaÇ JfkÐ6Ûn³Ä‹ÿå±Ç?˜6Mü õäÿa4hp¿~ýÞ{ï½¹sçÊÍ7Þx–^zi¹S×õÔ©S§Oÿ@îTUµÏÞû­¾úç>üðÃO>ù$Ü´¢»åV[òqk~’loE¬ªÖrË.·äÒK —ˆê;ÇÜýÏ7þkÉ¥–4h1¿ðЃôô´·ÝþÂF#þùÆýýï¯YS<㣙Ÿ~úé +|&~–6úˆøØZÀnܰýî´ãvøóÃ~üñÇàÔ–ZjéqÜuÖ·NïׯßÏ.»|§wûå 7…sÔHÒ3+9)¾iü{͸ƒ,dv|å!+¤õí…¹o^ÓeA–­ªñ½£hàÐÄA® •ó0Ò=œÌt¡ŒÜZ )ƒ ÐSŸÂÐãÐnC”퉽èÁÁŒ(¢@otƒ|OMQÇ‚ÌQàEoúø"í§9 ’…b£LŸþ8J+‘R‡ÀËkˆ¶ Fn ü–•ÊK‡Rò LFRßÙâyE/Ç´±ç|Ò’ÄÞˆ(j5•u»˜jA ¨°ˆZƒˆÈ?í¶@Ó@ÄC ^ ”º:, ÕTë—Kʱ†TÔàÄ™68׫k§¢ˆV¹Aßò%Íðév>GZ‡í†UUaUbxÂMYc™¦¤“H·ˆ=ñÇhcŠùð­0Iᯞ*ç#ˆ°±¾¹È¦îðA¬bN¡ªZIä+´[Ã'çÅ;ß@–/l›ÕD9‰ŒbIu뚨&/8h`‚±õbßP_#ç·š;˜ÌÀ}3;ò]™Ù›Šž˜ˆì0Q»®{Úív»MüÝc˜ ÄN”¤ó§4dÙ dÒ£x[ÇÂ?«ªjµZD¾”‹€È/ ‹½GÄVÕªZò>1 „·‹+á±ÅÂN,™H‡ƒcu%6Ì™æ©Å‘GC«ÊsÇ!Tœ@7Y r–'´i+—¨ìÉ(ÓÒz†ò/†JĈ—$8Sº"~þQVGB8I¯Š«¾ÑÆë¶ºý·õÖ[th·Ï>û…õ¥Aƒí¼Ën Ös<ÒGâ²l­dJ»ð¾·Ñ«%·¨¾ë®;vÝmç3Ï:ý½÷Þ=äàC;×w²pßÄÜ©µÛ=Œßjµ.¹äçk¬±æ€·Ùz»ýør©7cÃPhµZ÷?ðУ<þùÏ­!­>·úçWZiå9sæÌž3GÂ}]b¡ÂôéLžú&ÌüŒ§?ûûï{¿?|á‹®½§²©dBfÏ(æþ“’Tá«ÖŒ*pß´ÜŽWó Ù.fǨrŒ);¶±1IØlRô+9æ¤`8ülÅ o›Cb†aR±Ý!ŒGnÚ:ê€þ/ PÌ„˜§išÚÒÖδÃSŠX|"»|Àtÿ·ä‚ˆhÛ‰µ>ˆGnì~•4[#ìæ!Ìæ$–£ä§ðYÐ"«®ä7Ÿ6y40àˆ ¹6æßÃeHUYNÒ–;5£K6ëí‘ ’Ry$ˆ1Q ýÞIç‘,BÒÞRks{¶%;[,Q‰E_ÐÃÔ!ð @^;$Rš¨-lúâƒíAŸdËtâ²h¹YJ²b 2’•gË®“¤/ñ×&NChƒšk̉ÔÜd–ì&8ϰíø`‚öá-ã?š¬Q´K>ýË€¥%jLZÈRoøÿáåš¿[ʺ¹v;þDê'ý6-‚$®Ås°î ­ò@ÏšŒÍSkp|ÉÂ^:˜–ãÑ:ÇÇBHÉ— ã{hûPꈌJÅî¢!ÅK0FU‡y¬V¸ÁƒõU7#DLW^ï8Áï7Üaø¸L G¹Šû[5méÀvnãÝKó¼þù¯¾à‚óïw¿øÉ[ßú›~ç·õ£Íœ¾ök¿î/ÿÓvæ?ÿù'<ág—©êc9yÚSû®w¹Ë]ïz× .x};õ›¿õ”;ÝéNXIMÁÀÞÞ¡W¼âÏ>û‘¯}íëþöo?rÕ—¿|ì1ÇÞñŽwÜÝÝ}Þóžã/>£ qÞô_~ý×þè_ô¸Ç=þŒ3ÎüÜg?s«[ßúæ7¿ùÁƒŸúÔßíèbT÷žç” ÜBouË[¶/Ç{ì 'Í5WS6Ý›Ýìf÷øÞ{\qÅo{ë[‘‰;i·=þá3ÿð ¿ ï}mêqÙeÿóa?zf;sÒ7œô´§=cûÖˆè OxÒû?ð¾½èßô¦¿8é¤[þÝß}âŠ+.¿ýíïpö#éevwwö°³^üâ?ü¡þÁ;Þñ;Ž=ö¸ƒ_þòß~ô#{{{}ÌÿÕoNþ†o8±}9æØcŽ?þø«¯¾Æ3íízÕ+_ý£g=ôOÏ}ÉÇ>zÉ—<ö˜c¾õÛNÞÝÝùo/x1}ˆ7ýù[þÝ=¾ûag=„ˆÞ¨ûqC=?㿞sÚi§œv—;Ÿ{Þ+Ú©§þîÓïøßN#u,ñÃÆÊ>O:餻ÜåÔ/}éŸßý®÷YµöGH蟾ø¥ÿøý¸æÚ«ý‚TüôÉ«ZgÙ”ËL,æ+¡ð–Êú> ñ bÃá-Ô®A× 8sqä!‘UBA·á„äºvDGÅ ‡dˆ·ÒºùX‘û rdÁ\J“BÄF&„â•“Q«ù„0c)ûš‡®b ÑÄ$b›WcîWÂŒT·:ú|¿- èàvqˆÕèñSšÙŽ+³i2Þ5Û—_´Í,”¤®¥!Xÿ4×cOûÔiõ8®lVm lM‰B3“/VH0a¦Á–æ!+®N•ÇuÃîÚL¾àL'„¦5…S±QO p²±éDÛ`é63ÑP²‰‚H”0£ ú +éÍÀ‡áÇ;V«ʇ'$9¿ŸOÔS ‘_°=ü)BËÌ“u;64‹ÓŒ©ïÔëú[) ŽMï>pJ“¹È€{°Â­¡¼G¿|B$sj«¬–…ñ‚$ªŸšGñD’g—|A=éZ6›‰ìõDõj7™]ó#Šsb±íG×­/Ç'\{#¢… -B§À—á‚+ÌÀ)$]wÑðáßZTqwvË㈠}† &µßγo{ÛÛÝþwx÷»ÞùêW¿ê0ûUÉodP,@Èeø?¤ôb¥MÜ>”ªºÕaSó¼Á¯qûš£>í´»b£Ž:ÊÏÜô¦Ÿ*Õ±M}~å}韾ôÃ|ÀCòÐ;Üá[¯¼âŠ7¼áuÿøŸû¥_|²Õ.ª»áßþ­ß¸ä’ÿÈüèmnsÛãŽ;îQ#tæ IDATúë¯ÿÔ§>ùªsÿì¥/yqµJŠÿ˜ÃW1_üá=ä!~ìc껾ëî§žvÚå—_vÁ<ûÙÏúìgÿ]£, BçE:â“ÙMÔïxÇ;Þ÷Þ÷~Ç)wºàµ|ñ _hmÒLÂÒry?üÀÞÙÙ¹à íáC¡Í7­4ßWå+]ôA÷Uç?óYO×»ÞqÑE¸ùÍoñ þøÇýçXw%"¢_ü…_>ùä“ÿäO^~饟ºêª«8pÛÛÞîÁgœùð‡ÿxðc; Þý®÷~àý¼ãw|ûë/|ã¿øEl§mñzúSŸõßÿîïOð¿é6ßxì±Ç\ý¡O_úéó_sáË_öJ-Üɾõ­ýK×:öØc>ù÷ŸºôS—¶“Z1Ñ?ÿÓ?ŸyÆY>óßrûo¹êŠ+ßøÆ7þó_øù'þlÇk#Ñè‡üÐïÇÌœ¡ˆÏ®#>ºîúëF!ßÂÃ)ñ_Ž@ð`ãUrñXuÝTůû7iä)oEÂà '¢ä¾Æc,‘ÖÙ"¿‘->¸¤Ð_˜ÄëUjÈœaÿü‹#9¾ê>KÄ58ÒèÊÎTDLŨmd}”´7ˆèmúL Co£¿ËÂ!{ž5:×½¬ÌL´¿¿1èØÂ }9²Á…Oñ¿¥l»©­Ïá2é[QЙr¾çV+¤bj\¢¨ñÀäÖM¼öµv2ðbù˜x²×™Ù&XÒ£Di\¬A׃V'Þg뻀'bšhž¥µ?ÓldO戰aFaë–½«ÖW}!Bwgˆ±““í’ȳ„ÖÂló)Íà“³Åö–)¦ò°qÈhÒŒwq.3OÓdS&š¦iö÷9hÍ)ØŽ54ƒ+±Yék§VkÚÙáÃÌ‘Jeq2œö÷È:ŽŠÞeJDÓ”f≘÷÷÷Fk{œØrbº4S`Oò¦} ö®¢´^ßu7X¹ÏÓ˜ýyn Ó-qêf 8㟅+UÙãQü úš7l`‰Ä†MSÅvSÛvÞn0c¼«0EÇݼÚfV„òsˆlS¢(îKÈ=yªtÍ7×€zÙ^ljfŸ>ùÌ'Ñ?ïéý%ïv `†ŽœÉ®­úÃ2#ÄzWe­cX´'cηàk¥“°OÎÄ/"ËVÇ¢ð:" £ªDŒè¸GÅÆÛ¦™g‚Ñ2ñì#›Ç´R´Q»Ü}µG D° uN<ñÄ·¾õíùÈßœyæé«T¥ß<*á±EêÕpò½ˆ'Š>)—j°BÒ xq $zÛf´ÄÃÿ$tÁ…Þîv·;ãA§ü¯ú"DDûøÇ7võ¯ü¸ë)ß­ßFÓsQa¤ ¢‚ò5L &¢ñ?©Ôó6 'ÞâÄ?ÓùýÛýØÃ¹B³õNê&[¬"ü†7≷xÀ>ø3Ÿùè¼â~VðÇΦ’v:{â¢\Áœ±×kß‚>V÷_†8¦ø¶ŒÔÍq9¶« "V÷Tž1éÆh½L 7o§Ð£·Ž$zŒ8ØØ#Ÿ(È–¿Úcµ‘$‘EÓÏ‚r[N"0‚nàþóÄij½ÑÚW¨š„Oз1XŸ%ñ'“Y<«X©WÓQAJ†ÙòQpÒiÞâû亦$ÂIh #¿ ­_FNä²Ý”iwß}Ñi9ªÊ|/–3ˆ.̳go®¼èTGí®ƒ`ÅUŠ‹*»>˜ ÐÀˆ½JrŒ™@cÕÖ< AŒ²¼NÕ[a×"õh™Ûô>-Ûøz±ld9¨ndNÌíÁE³®&·@ ÃÀþÌËè$´ 7û—4Ö27¬0—A´bÀ8’3|ДÒxÕ·gA 6¢Òè§)UÑ ûZí͘óN_‡øÚÑcKdȆuk3VêÑ@D4W@Üv¿SU d´,Åöú̹¡PPÅÍàR:Á‡ÃÝZ™¾:å…Sƒ#¿žÊàb=¤N¤Ò4`JDèöÏû4m±åØ ~«#|¾-fgR¼Û¶]}yõ.@{ê•VŽ5'‡ßÍ”Á$h½á÷kM¦‰’‡#1dB„ËæMƒú‡Þ›Ž¥Ñ2J•¯_Âï,rÎåÇØávý¤ðѹÛwÞˆ.ýô§síš[ƒöôTp „â±wsf;íÄU!Í[+à>oU7N‹# îtÊ)·»Ýí.¹ä’_ò1÷»U(ÿŽñø™WßÐîsÐFÌ8á’U.Ì*À»Þí4"úô?|6*ˆëÅ.B|÷»ç‰'ÞâúØg³£‘•‘y:gyÀú e?1¦$¢«Þt—•„ÓœöükÆ•p°1—CŽ¡°°±zлÅFîsx´=é«Új·˜›âÇX½aU1î`ƒƒ8+ÝÿÉ1ŽÁp‡MA+™¸ÌYL|ÞÊe]YõeÙ¦lUÀ¯N»›,¦¥á…ž€:Ý8¢EhÀþs éµiÔÞ }Sü°Hü"qViÖ9 öÇ¢ºT"·ýå~s•xNlŽžj˜+^¾k%h$5;Lˆ€e‡=Uö„j3aÊ<ç¢øž®r²Ø›d½¨uœ¸5~«:¡0gH Š:ox‡õm‹™`wGSº6E"Ô\GªJ»c Õ(eø‹i¶¿u€ÝähY­{¡˜šF¯E%"äÏX+~MòÉoÇT9k¯sµó §4*ùú˜[¡®-\éÔcéÜ)(.o–lVKˆ‘¢eqÎo»ª[W¹ÛJƒ'M¾Þš»ðÍFS›¯®/4Í—m-ém%WL”u ÎfAÝ`€& ¹ŸÐnÆç~,rÙ–‡œ÷…óëþn˜£3îÕ[å( $Áá@V½_ŠgN»Å(°Ó#þ%R}¡=•žë6´‚3 YVqnð½W_œºì;róµk’ŠŸõð³ðÿÔçlÝä&GŸ|òÉó<¿ìe/2Ëù±· uãÏ`-{Huüºˆ/é•H²ÝƉQ}=hŸfëÈ Òä~…íoîÒ¸A=ÝÅø[O¾8-%†vÿ6ŽxQFÆö›Y¥’v8k ‡YRy\xk]<쬇þÀÜ»¸ÉMnrû;|Ë<ÏòòWy]#Ã_BïyÏ{N¹ãÝFe¢Û£§?Ãy@­ŒÅãt5VÁ¥3’Þ2¶9Jt ¤š EŠ×²È D°½l#VÊõj^ ýØæaòßÇÆËv‘syî[ ß#‚¨41Að$ƒ”${|ÅP¡F\ËCgå;ŽÀ¦«/7¤Ñº5ZÜ„Y†"X±6`“Høý4¶²*©ÔÒ,véê΄2$à‰¨Ð¶1Ò{fÃäcþjqÖ‘N»¤›ÛZ»x•n¶M›¥*â"’Þ+c8áckÂÈ·ƒF˜œ’þ'ÂrÔI_üm¥²*{²t¥z ÌÆý&3™>yž—žpâúR(S>$ä¼Á¤A€x­¼mÂ*³”œ 4ÃT°µRèÉ¿Ô1³VlNÑžÜ%`‰ç:Àäsý”èŒ)ŸÌ„-™“°½œ†p õ·k]iÄA)“ènô‰'ž&Noy¬Ü&°í.l×Ï:üï&L–éã¸Îû*&Š[CCj¾0 Eñg˜ï<«\*•0D»ùt#Ë”ba L÷Òâ±]Ê@ż37]ß"K:¤dP#É—ÌjY88f㺣ÏÄ6nˆ’™jq¦*¶7 ;ìÉC)Ÿôa‚£S†ÊÂájkI5 ×›Æ4%Uܵ鿳¦‰ˆá>²ûÓDB"³i ïË~iGÜ UL·¾Õ­O;í.í×Áƒ?üá=ëÙϺøâZ"=LžV C·o£!Q¬ö˜L¼›ñ)Â.E¶¹­;*&†@Óã'WZ$,Ž@໕Ñégó±]ó Л4€»„QÈájå¿îàÂ0»˜}VBGsÏQLoáP—ˆù–·<éΧžÒ~<ø•¿¹ø#Ï}Î ?ò7ï¢GõO8¶u£„&á ÑtÖ`ƒi¥…Ú?iJe}r˜×–…<fížF ŒÂŒ%Ù»¨Èîó!ÒW¶V=¨ )CG)(*íe:ìm™ŠòÛ6tyÕ$€r,„&1y¶›a±WYkãäà Éìawánˆ<l x6ËU±$Œ0^tí’Õ¼üÀ/JRܹSÒúö乸<% [¹«%®´‡Ç÷¡PGZ”Í|‡98nsʪm2·«n`> ½±éƒ\Z9Ð9‡&¡ÀBd°è.2e+L‹ÜÌÝŸúý¨-ˆ{Sí—%ݤ¥Y…6†l‚îl7ZÁ; ÊDì‡éê¾[³Ðþ¼ßæ\Ö5Eújjƒ·ÃBÌ={›Z-ÈE3ŒkF£ÞÅËX›Õ áAd£ ùñ™Y\€9⊕ szXHh6uÙW{eöÞ-⸠WG©‘>ûÓô”D`­¯j·ëà‹¶MN¾ ÔŠ©èÁþi¿•:DŸPͦÜz±ÒÚæ‡6 ðÐ AC˜a~ 4 ù`Š uÌš„xb Õg“ûC ”Q™Êª(»óL]ƒ4‰@I¬M»oÂÎ¥èœ&  Ì“âp<[ÂVèv)³}PÆFhÓš$€–³Ÿ.ðï= ^‚5øm&FYM0é{§43ÈÌÄ“q”N3uL¢ œ5žï¡åÔÖ²'îwK¯cæv æúÑ!ÔZAtSåüà,å#Nª_»x'Sl!Ë$7Ž•X ýÙ ~dÄ#2âdžˆö2Û¶ÏÂQdÝÀ ijÖ“]{–@{GËÄLíùAR”zVm2ÚBL#âÉl‹=L#)EuC 2ˆ@Ѫ`3@~/Ìäf Mðêqv· “Ù|×[]tkr)Géôñ¢ÈÿfÇ]ïü=E€àÁÚ1°þR4 ¸\ôXÿJˆpP¶þŽaA5Çòî{¸ 8µeôCÃ*6Éö mTÑ[ ê¤H§¯6Oñ`UFÁÃJÈHžc²g’‡ìZê -íüŠ¥Õ¸gÃ1@D×xÐí ¸Ïn‚Ñ=‘ùÀÒPÏ&´:ÏIš¼ÁÛXkF;@t‡@½ÂÇ/À¯ü/÷ö°‡ß›.¬!t`+Ñäf£‹-ZÝ)’¬=ö}迆¶_‡^³;É¥C ɤjËÆ3pR?‚ÂMÐ!T†‰cçˆx d”G0ã7GU’:õš úZ•äß‹C`ϵ9Ì5J'fž¦yß§Ž0Ü(¹ãŒÁcd“‰‘j ÎzAµÉÛ©R³Ù ~Pø ±÷0ÓÄ:!1ùø®ÑŠk: ´ÛnÁQpa!Ę n‹ iŽp§t»ÉaÑdÑonÑ7yáêÞÈ]ª¶0id¶Ðf;AßòÁ<,‰¬"1 ’÷¡3<±ÁÜÃ; 9 ¬'¤ŠZY«ñÂa²ñ™i5XLSj"³S:.D-]ÂsÚÔŽ[mÎ N½dB5‰&Ú°ÆdÀÍ4‚ÒN¯òÒ\FýÑqûç~š¶~mO:6ùå8‰}2¨ Jˆ6†9¹ ø=o̤jÖÍP¥?ý´€?ö½¬•3[)K9d ÉFŒ8âXk±õ•_ÝÉ aCw$Jù‡Ù…]E‹Z¼f¯d!@ôåMS4bã;æF¤(E,ýY÷!aÝI3Hîlåc£e›bN‰/?IIK‹ÙÔÝ„¶S¦Iÿ÷;ƼõÉÖ|Œ‚{¿”—è†u µ5±öƒæ ziûn9Ll]ö6+·„YˆXù‚ h+¸ TQ€ÚÃ@5Ý©MZäP åÍâåU8-=Zÿ°ŽÛ=l÷aCùº©“ 1ö¢Ö]?±_†º±’“‰lË`XJ¿ûÞEwŽ5b¿R]žÁc·Ùläô<ÔsÊVP”Ä<:ƒCXÕ:V¤ïU\{-øŒ*…Ý}Máræ0 ÷’=Nq8ï0a, /XÈrp¿Ù«ú›çÀ´ì2|:kùhÈÝSÜ&晉f« SJ\¯.WZÎ(=LˆòÓvÖ0ŬêÉ׎ÊgÓ4ݶÌtwZ¢!‹}§ Ð*(MšÎ#3‰¨I¤ýæ÷*gÕ­džŠ¥g)h‘ROÉ «²u~¯ã4LƒÆÑÊW¢»oBÉc,[‚·¤'Û(*&bŠs¥,>„íiðÔi{ŠõdL¾8ˆT&r ²€÷y\ÏA±Áó¤ûhJÑ“.žC묾͖Šv1ª>ËËz~ãk{6ó(=‰7ìÑa<«-3Æ+¾Æ. ®AØåT—Øxq?¿I+VŽRo[ÙfjBËÌnr4´%]¹qÅP’” ÀÐTc5t«qE&}äfF;ãi¬4]`7-éøBß"¦jHæ™Ì©ä(ÝEæEÔ—q”îÊE‚_(4uÑ9 ã])¿)gÂþ µ®±ˆÆ% .¹gOëÞJítSÒðÁ‰–¨=l°A¶›8´g‹eÀ]xC±ƒšÌì–]j®Ë2 í¯VbD-})ê¹ÌŽú:žÞ&7<‹ö¡ axk¶°£ÃfÙÌ¢·Sô™S§“A è@G!Í¥áuŽéL£‹__I`ùy·£œ}•Í+ ©w•Öèh- Øj@„Úœ¶žË-¨½{DÐ Ów«Á¦§;à–#1¹ŽVqöcÝ»žÙæh#ÄnÈdnÃùI™ˆF´•+÷ÂTÄ2âu`àòìcê w 4±øíÊ„B‡È"0!òHãÖÍúv&O&B9nK=óªR€‹tG[¯²]4Aˆ£sÖ_'´•²HˆËųIQQ¢÷à1-@o!Aâ4gW}€b=.þâIƒˆe¹Œ'N]“ª´r)ùÕÒDû{{¶8xI3n·vrÛyצ/Ü6O É<ïë&\Ï;Xd\„ˆ6áÁpêÒâ¸;ˆhšxšvÄŽýybn˱"˜X‹*æÜ%– Û­"‘iŠmÕl·gÏ"m¿=ºtÎÁ†sÔúëÛ­‚|Þ9¹é›™’òD¦p ˜ ÌŒXŽa±x9”iÒ-ë¸nl“'=ˆˆîØÞPÅjÔð°Æ Db Ý FR«?R„2œÐ‰&ýKHÇÉú‹³ê,7$E/< Ü«@êó Ùƒ JåÛ>ŒÚ|¬yÍÎwh÷p÷¥¥G ÝD¦l=8TÏÔÕ”ŒŸS4Êd•eHm ÏbQ/;‡ ¶‡$aöËØæs$Pmò­€RÎæ{’cÔ˜´(—Tßú#М=‚â0i¶ÅÆ~£ëÛ¾õ.*BÛ†«€îlÑ¢¥)Éo"Š.r‹N$ƒ¬ìç]¢Û˜F ñfóH®sèd`ŒÄ¼­%tá6¸ÖÊd*Ng™¤ÐYŒ_ü.Èy¦¼oºv8Ò•vøRˆ âDÅ*&¶è l'Á@Õ’œî[&RÚÚæ†óœPÝ'áþ47Ìõ‡ôÃ6HL“QªÔG‹¦>z­«8²ÁoqèHt ôKÊY㢵V[Ó0ÚjúÉwH²õQU$¸—7«I*#%î>O\Ú·3…B1ï^YõÀ-µ˜—Á­\…IÝæ$ >ƒ £”ƵãR&¹5åaáR ˜ðÕ¡*»iÁeãEÉ>½yâdŒqšÒh—ýýY—zðmƒ¦FüøFÆx†Åì ‡.,À2ººiŸÕ´¤Í·7D=³êà9i%ÜÆIº®]A(k´M¾_ÚÙ¸SMáO©Y"AêI¦6+õ¹Ç„áºÛ“>Ö“&7¬×Äk‚ÍÍØã̲…p÷zïÎ%°¶ß…pÜ ­/¶ÌÏ4 òxmL|AZåìÌ |:¡È©I;ïù7Õ(UÓC¡ÿˆo€£Ÿi³%rï­¦L2"\jio“Ô/‰+é" ïLŠ,;BA&%M«– ¬ŒZXê˜³ÎÆ„jÉç@«î®¥G€ê;eéÏŠ¡n É]r:/îcóÄ;Éä1à >4´æÈ`íÅA<<›¤÷"ä)ºír÷LTt¢ ­üLôÄç»Wvv|Ò®å%&,UËŒÀ"^¶»GÈ%"Í»—¸ox¤ ¡ç`h¼|‰N:;AQè—ó4ð`|ú[²š’ø‰uM{^(ÚO*GqÔ"Ñ£´4“Ô5zÇt?’ó^f¥7…޵ÇÑô 7xQÿP¿žDÞ†¾Ãƒ#}ŒGR;ÕµÈh05jq$€D-Æ\K-ð0Âó´)“bÄÚŠYõ0eBx¸“÷a.oiÎ mK|,±îà\›Ð±8Š¡ÉSƒe² e󢉨6EP”k“ÛÁc¡Gç2K'nIÃÇäÏŠÍ7Óâ’ca4ŸÍ"ç®HÀ?®W*EÅÛ Ž¸œƒ[ô%*##õ3µ§ Û¤VëÏÚÞ4MÓ<ǹWRß^a§·NtŽÉ͹ug ß sºsnŸÕ©›;N¢š]qóÝM^ppë›ÅÖ3Ñ!¢Õ,¥¥*­KW}ݤ(Q¥í<Û”î5”±˜šNtö¯¶i‹Òâ×c¢y–NC)ƒ.ŸkÃéqÌ@Ç€Õ¥ßJP:‰®tžÃ)%b’4"%ÙO\ æêaÞÓ4ÔàÌ ¢w •3 ~ ´á¡P›œÃÿïÇX%}OwXûI»Þ‹Éóƒ°nÁ¤V™’p>òC ¢Z‡G0’]G‘õ¼Ìò6½m<¸|jM`Ž-8h.{¸÷«ëUcàtçâÖšëØâRQ›É®ð¦SøfEÛÓçMtÒÄЫÎË‚'?Y˜ˆ-:ÍÇèbzŸQ\O6‘ü "Æ(¡‹=™Ÿ\|ú,ïÌ„îŒÊj–ׂkÀ¯Z ¶ÐN7Þ à”ç`-–Z·D˜­c¶x'¾25mÕž4Œ OêÚz2yÉ%”Ñ[€,6v•°#ÁΣ­>ç3l?äQÕo©·vUÿÄòÎ’ÖŽä?ô_Dn.‚Œ'B¾’ȰÜ-žÕx%§ÍÜ–WØ6=Ž[F¾0C,Ò»ÈØ°o¨ÕÁiå}*Ò ô!û:Ž@EG…\ÙS˜Æ(ÇmýS2í¨Àùõ3pTr„ ÏbXY?(VÇYà¤ÿª‘â(ˆE“T I™2Á3¬“>ÂîUYê(eÔ‹b’™æŽUÁ»ºŠcuytN@ly‹ˆâ©ÈLC)Žzky&DÙüvÁ‡é¤ÈÌDí¶J÷såYfÙÃý¼É¾æWol¾Ñ†-hðeÙ$˜2<0³þWDl2Á&OÝßA©.ÊÃG©ijžö÷çyžÉöëâíŽZÇ$'Ù…’ây" F‰¨»d^pk½J"³ßØ9Ù£¹aÊRðÅ"ÒwË©+qy¢S!¡i‡g‘yÞß™vçyÞŸgfÞÝÙ™Eöçý¸Ñ¡½Cû{û&¬öÇÖ{ɼ’nÚ‹•êyí ÂÆEq[p“¨Ì•;Ëg(WqÑ\©——É^ƒ$Bí¡Í6Ôè`A«ÉxVç »1€Í ÀÉ \ƒ(Гrä=ñ2&eé(7 ü‹2¦¿Æu*î~`V(ÌÙi.õ0,½í±m-ñèõ0ò“¯xÅŸ}â’OÝýîß—ðUÜ\²B7±aà6<,un*:f(}j^cq IDATq#ÌIÄ ]KÅJ¾TãAe3&»Öi…ÁŽ LTH+(Ñ3HEbô†ÊkWA*öOð—­ôŠ+„™³˜Y¯Xg £ˆf  b”^²ÐWíÞÇÎÛÅ?ƒ7L"o7 Ru.Šºº°éD·bËæ=ápk§ˆÈ,ö¥ßíÁ–ïˆ\û?Ébx˜ìº˜ {_‚UUÉçâL'@1¯åßk ¯“áÒ± ÏM^/zêº\˜v¸¸…¥œÙШ½‡eªnƻȱ»ù:[+ iÔM1‡ÖhäXáí…Q9P&ÞGa€£žûà o„8®†‘º&ùHl<\ J :_—!âûÊÏõ gµN=½*ÖÒÑ’CéÍ•#ìÀ¤Å¹jè­#ƒÿ"k'‰´š²æ1\©ö±îݨ@# ‰Ò§( òښ[ÂôÐÑyG˜ KÝZå2‰„  èãïËø‹ þ2€DÍ¢oÉTb„æYÄÄlÆÑE ¢DЉŠ6 `šYl«ºŸ"<ᶉ¢†‰Ï¯äzÛÉDhžeoo¯M½¯iš¦i'p)0öuÂ3‹ˆLÓ4ñÄÄs< ˆHh™e® úÅ<­ÙdeÃ9z…Œ0â¶0j21p$šbçܾZf6;Ð×ONíÏsKŽìííÍsÝjDºR“­$˜™Êlsée…%Єz%ü"ùUx€ ìßLTÁ/ÍsË“˜l±º@ŠÄ³‘Zqü°‰±åuæ…Ç‘‡Ñ¸è#Té±Ý'´¬®v9È맯«³­ÿ‡Yhxα_®¼^¼ÀaÇ;ùBÙVi[:#²u&]HÐMŠ#ÿF]â`k&›r纑rõì’iÒb„\»=çXÓÌþš1†ÈˆÁÐY$¤Ùî¯nÏÀUI67è[jLx"¦Mª½6Ëeí³Ø•Sc—r&«ÖjtÍ"“ÎÜX$Ýa†A±ÅÛåeärU3anÈ©~ mbJZ§³í1ýÓԪ龀à!vYcÍb^ Írñ*zYXɦ’zBÛuVV쥫n•²) c¤œÝDDë¼ð íR´j6cÌWy¬8©Å£ØÿP¢]¬?#Ök¨Ø?ˆËSËkïeº³fžãvR‹›Î8/Â<=ð‘ó^s.%2ÏûÔ…_¥É­„.YÛS€ˆaZ^òæCñ3lìàN¥Ù šªÙ¬êiÀÆ¡X°¼Ó´3Ë,³+´Ÿ,\nï#©Kð\/öׇʊ‹(=x߯°‰@ãM%`ÒD¢ñbæbbß¡V0&Ú×·ž¸BÅñ(¢Ö Ѽ¹)ߘòæ|KªÄ.Eo6ç2:Ž&S~2Ú¦lJLÌð¤RS˜XE£f¢Ô¬Ab¸dqBpùð‰L™c–ëõ,û$DœXÍX—DÍaµìOÇrV%R"þzV,dU/l‰@h9<ƃQž6FVC@QnSo¨f¦’ŒÉ§ÜÕçº `÷F ƒ²¶?Ï}Ž× ÉëÌ Ù×çšå¶ P<” D *³²” uÈ^»²“=šYÓdó ‰±j9®Ä !VÔ,}&™Šk,½‡–2o¹nEü…òH—×Ê —޼ë .GÔM]•mL"»;Š}‡ºòÊ+±ôÁƒ_†Þ,H‰žW¸¸ÁåGDt{|ïÍo~‹÷¾÷ÝŸûÜgiÍï,Ñä@t„´ÿ®Š„¡I_ p b,˜îy|XW‰hN”†¸‡|„J’†ãy¥å!ÉR/±Ò0´¤£ÄФŠÒ…¤ „Ã(°mÝ7\2OÉXËdÐ+hÏ«ž-φçÎå9ºµøb0•j­ƒ®5d=·0PÚˆxRnèJS–ìаýÉÎ¯ï ‰Z(##Ve/f¼Ž6„{ <Ò7[w?NâL´^Êžz5WMa¶Ø1Ù-ˆ‚-w‰§ZPbF+T¢’êét«¿¶Áø•ÔfÄ[@ Ü%_"ˆb¹»òÔ)WIg ·:rØÁøø¶¸NIq“¦]›E²µ¶$ÂEh©'ªã$¹bCVê&7ŽWïW¤¾ È-cÊ>4C ñs=$î.鿤àN7.Kn·¼¥êŠ =•èT"û'öÒΟË;bÑÄŒD¦f[àix¨ÐÖ‹¯ÃسnÈæäfð"$ÔyFiá†ç%^QàO ¦ˆ(=¶y<,}›¾ã—)Ŧ±u‹i¹8 ¢nVXo-Îr%K3;ÎùÑFB·”H´þ˜¶å#<x_¢Æ<^iØH"XßÎQ¢{aî<7§r!Æ0ëQ0`V é¡‘ÉWâ¤9 ¯(0g¬Û,\¹!·B£m˜ÐS–Ì„ºªTÔáÌ~e2r¯`í–PSô¼zƒhF¨1:i|8X„SÝêeì%Ú*3êÕ§;Í[¼Lº34< d/öW0ø°•ðjë#…`JÆÎ¤âºè¢œ}öYv!¢p õ¹wy0i<Âãä;œüøÇÿçßùßúìç>S.þ 3ˆèÜWŸ‹ ¬h’DD·¼å-¿çß}ï«Ï}Õ¡½Cp½F{eŒ¯{« ‚Šä®€Év.ÇždkãàotOGÙþR|Ù‚Ì{¡ÑìÞ¸§¤W/¬{›JÊöÊçè pÂ"ªD4ŒÆÏû{ïòE£èõjlö $¹Uß¶0)‘a(K¦’‹ú:)ðˆ( ž=Raž¹·8²àœ0(¡yË-ãàn åI9| AßP7€¨{ÜhÞP/fž¾®ÓÄw‹ì:Ó=¬cCyõ¯}0à¡C±­¨†ÉÖ Õ‚Ð[hh[KS°µ÷K•8ˆó#ÍÇìõW‡Š€fåä£eÝ$ÑõëJÏÊiK&ki°ÙùØ%ãÚâ0ÆšñÑM…Û ÅòÏCWª“é ¬òÑž¯ÎÄ§Û •p¬šGVeÁ‹˜m”¬³•V°(ì¥PxŽ –Ðm v$¯ 2»ñôÖ~ä2w¶^׆a˜$­ðÝm’@:¨«Îô»6ÂqË;‹Új2¿Ú|Lœc45†áAØQóˆÖÝ0ùàÈ0,¨ ×ás&)öì#}ÃF/µÍ´DŽ{"ÔÖö-ˆYÚ–H['ÓH(©½AB8»Xj‹ÚžD³5Ìa·‘¶üÞv;Ø0«Y˜Ù ªE´Ñ“2ë¦ÝoˆôJ0h Î[ùÎÛ¶6]L(ë±ð2%ûŠJ4ž‰u678[ˆÃÛYßÄA†>˜†M„ï¹põ%b7bw4Ö(Á¶/˜¶Ä•¸úÓŽ²‡VàßðüýQ…l~~ˆšwÂG¯o¸0ü[%·ö6öö‰k!"ÚÙÝiçÙÔþ1Ôf ©éʆãä;œ|γŸûš×¼î¾÷ýþêqÇŸû|ÿW¾ò•7¾ñ ¥ÇÝO\ò©w¾ã}_ÿõÿÇï=íïy÷/þðÇ^þǯ¼ë]¾3èg:æ˜cÿ˯=å/þâ-9óGŽÚ=ê0¢òC!¨ èl…ûv›‰r•t¢FâŸöVc™2ˆ[]Ì?Ìé¸XÏ[GÜs4ˆƒ¶Z™ÂV[—𯅴-GíY°FF;ô.?7éÁ°‘’½8 e|gb˱›E´=0îKÌôãŸý¤‘r„86ÈCÊ'È#´®€PÀÕ6- ƒ^9ÓŸ4'’”®bgÿHì“@i‹ØÑƒÃ.Ì#Ø0úÆG|z™ÐÜx„Ôñ¦¤ö]E3bë±AD(÷iŒ¢ÂÓè‘ñ†G "­÷ à íXÜѳúí·E”¸DýyÌWú=s%[,ô}[á|Ò”#™Á¨ÁÑ«›B¶8í£1VÂöxÄ Ãiv P)ê³g‹x,C@+â%1™[#ƃ¨æÔl&pàWp²´D×[DÏä!“a„˜<ïÈY3s¢Œ ;äüãåUÔž!ÛÄcØžÿuŒ†êØD ß­®WwvÛTj¦&õ@a¥¾Ì¢OÄebæ©•šÅã­°mÁA÷]åÖw êÔ:vd*(v®;±Œn¤°Æj )šX°sn¹¢ƒ@µò‹C™‹º!tÎ C˜*o׊ÿ^÷ÅÁH\…¼8ò2™HÚPí\íŠÛy¹!3ÝpõcQ \ÄI(ß„kÔlašp3O;;~Ò„?ù#ü“ÔÄI°µS•D7&¯rÌŠ‰‰t¥16•7v“åJ<Ë Â•´Pa_"Z»)4ѾìE‡Ð>²¶„y›Bë˜y3 Ä*e‰’-ŽôíØ=´ó,'œpÓ‡þÈþÌÏüÜÃÏzÄ-nqx' >ÃóïF§c†™è[Oþ6ŸÊ¾ãý°=³_ž½ÿýpàÀ׿þÂk¯½f¡/:çÙÏ=úè£_ñ'/ç;ß~—»ÜõÅ/~Ùîtg/ré§/}Îsÿ¸ãŽÿõ_ÿ7¾ñÍ~ðCwwÂFVŒ•±a- Fq­ãÒ›Ãó/ÚŒßYŽ×ëÈÀ¸ªŽI^" s}©-©lùÖ6é¤××כ䫱‡Å£ŽÚÝÝÙežbnËD™!ƒªήJE,Îüë¶e O°Ø1{é8 Û!d¥_¼ä誑¹7s;eÉ wºÔåq–;J2hÍŠ ™‰i»N£QœÖèXDûÃ\,ŒŠêòÍÁAüáöé Ê&-£XSŽ`Jn‡+-6ï+Eû!«""âö‰¨®™¿¯bÍuS´Ä%Æv)ÁÝ¿…–—aÌÓ›OR®ý±•VÕòÆÂ˜;Õøf¨#1`Bšý*Á„z©"r„«1Èp²òŠ ’Z*K´¤L%à\®GžqhíæÙa"‰¿šmÔñä‰'²A¦igš&2Z”<ä9ì4¸¢½ 0¹Œœúˆ²¬Ù†YcV™%g&!™eŽ7y°n“ö¥´Ú™,”E1Z8ÉÄ™ð±ä¡a2³Cg°¼…—qD™&}ÉÍÎÎŽ§7î8Ì5xƒXt”7´Çe¦Cß—SA5ÕšÝÈÈ}ŽÀ çsz"_# ªÝ£5’yž-¢ú6Ï5â¥+½¤â,P"³p¡5‚*Aô¹'À¯Fêd3 nÄïïÏóÌÆ FD>ÌMÝuÓH?¬ŽÇY@¨”âàî¬S& I‡ %eý¡Ã’„„;6GÓ3L¹¦ø+€¨ˆw›-Ç›Ì[j<½ø„*Æ-æQvÉËŒ:‡ä%‰mjWŸá<í¨¸Žþš›œwÞ'žxbûùÄ'þâÏýÜϼéͱT1 nœMTe+õN>ùÛÿøÿûÞ÷¾/½ùÍñœçžó±}tØÝ§ŸID¯~õ«¶šb›Þô¦ô¢¾ð…Ïo?ý¨Ÿ|âáqûéÇ<æÑÍ5^{í5Ï|æïýѽðÇüÑxøÙOyÊo>ö±?õÜç=ç¼óÎÝßßKŒœu âô—Å›‰Ÿ% ÌÑ*c´Ú-“ Ç2Ü<%/âÕƒ8QWϤþPUÎJ¯hØtq.+ Ö‚R~㯶 9u¿¬ :¡j85ÿ‰§Ý£ŽÚmè¿?Ï øÃÿCÃhÌœ¶§1´\:0ÎÝßÌvVQ‘¡‹\=,o¢t¿M-‡þú!Ý5(µü|<Œº¡ëq‹˜Ké{vNy”À)Ÿ¦ÁAÞYpÕŸXCXU@yáªÔDÓawžft >ÍªÛ Ý¨ü­@ÊŒéÛ̽›AÏ~+#›l3LDûi&f[s<˸-ÑõÓ_VZ²ûü`2Ø%Ý4bE{ÑQõ“([oÁª³E[å‰îBBƒMy!Ûø¨? #ÙO2pYu6ÏíH¬¤æ1é!kÍ7˜ýy~´r0¥(bT¶+⃡õ4]§@Àñ„Kš,Ú”*K‹°%‘Äã'E$Z6'HŒ¥CY˜Ãàj:3œ'uìHBüz÷ukö»™™|ªÎP<(§@Þ4&¨œ£­×žð€-’ôkIXŽØH`U½½,Sˆb-<Àsª)F¢u&ö0±°_–Îâº&—¡»C ç4óY¦š«}Öº¹, „ú>tnë0£múÒÎCD£ª#´ìÓñ$ˆ•ô†R;©É<ØaQ±š»Êõ–~n±`©ÓtO<ª€ü,ñ“AÙdÌáÌYqè<~X¢Ñ±p€Ç×Úr…våpljˆÄ ¡AC¬Aóz$’ÊBMÇjó±¼³³{Î9pÞyÜë^÷¾ðu¯½ßýàñ?ýSK³ÙoþæÛßñŽßñéO_ú¡°ñ4à‡ù¥/}‰ÿüã—¿TDN=õ.Bä)v"ºêª+Ÿõ¬§ßëûþý9ç<ë¸ãŽÿ§üÖÿüͧŸ~æH8è:†}BÑí5#0N<¼]Wˆ¾¯:àš®Ã\‚B‰Þ¹ûW•Á–ƒHe"Wµž=?ºnQ#ʲ½º¨£Û¸|/ñ4M;Oí¥Ä`ey(…õÞ~7m_¦‰y ™àwm„QL˜Ã'´ƒädÙìÏÁ7fu‡Ö¦ÔÃc5lÑo¾mb ¥_ÉuÂêt¬¯\1€“,¶b &²nn°Þž«ŒVÜd¹˜EûÆõ:ü.GPUÖ¨ÖµqÄÌ6Çp-œ‚aWñ¾Ì’§ò4vìtÿ 9ä@¡ô†ˆA›™^Gp­Ð_yп3j|tºÞ+‰äŸH“x°¤»â ±è½U^Ø$/­À3S45”ƒà·\s8)’Å]ú¡bwÓ®K-À\:•ÛМÄW5@ý*.{rW¨¯Z«‘rÛª(]45Œ­pÓÛM JåÚÕ8›¸&ÜŒ)¾´Õá‰bŽ’L¶’1錄!äÓ[w‡EÔ¡¹2‘ÇÛÙé-F†1çV†â†ßTE 67±¬°å x¢Õ/Ø=qê 4C’ ×Eéz“#œÊZ>剂ڠ¸ *ÎgÖFv-åâ&p.màRs Q®[¨ äòk£AdG‹1 ƒ),ð>Ã@Û¸@>—©Ž:k´¬Ã=@³ý£¢î¸ºå¬x¬©“ÓXIÉ©”Áßöp É•ZO!*éZ¾JU3¶j°¡Z‹[%zZ:ÒÙh¶i£@‘–&Pÿ _üÂë_ÿº×¿þu¯yÍyzàN9åÛó˜Ÿ8tè}ôÑ÷¼ç½jfèíPÑà Q½h,ÓQ»»÷¹Ï}?ÿùü¡¾ßžð³Ÿüä߯ˆ¡½~öÜs_µÔ&]~ùå×]w­ÿ¼öÚk®ºêÊãŽ;®ëœ‰èà—¯:çœgÞëûþý3žùôÝèFOùõß„"œ s­.åªûãþðÀxïŒìpMÖö1µ‘dÖŠAÑZ÷æÈT¸¿Ö ~ÛFW´=A2x÷ïD$"ƒ`¥-É:tèÚk¯»îºë:ÔÏûöc­çšÀBdIžQX þ† ³zÊÙl¥xG²¸Íc€ÞêFpÚ—“Føù¾ƒ«©x=š „ƒ},b¡x™ Ê0<zÿŽ=÷&˜]æ~õ{Ø:(M ÎOwьۊ‡;®©I­C{LAÎØ·4ÑuNªQ G!ʳbŽK–`F}T™Œ¬Š)©“…³³Äfc·•:ShW©S¥¡ôŒÌ¬qŸÝ޲†B뵂¢ï`%5œ#Ç^Úˆ:e#í‚+"iÀòj€ ÷TaØ » µÛ~UH"@(as¥ô¿¡QG×8fA1l¯Ø¨0|oœ$¤"/ÖüÌHg Ç¢_íÏâw¡úˆ°½B¦˜öúM" æe˜†ñj !£ÕSˆjBµ™ø4íÑÜFw&š¦]bkA×Ú­ÑâÄé­ª‰ÚbGyÀØË¤3`fúº¬´…—i;_ ãG¿d·±õ3Æ@²%lBûÑ.M<b78ÎKϰÆÖȰËâÊFE"|àZ'G‰JÏиæ Dí……2Ñý¬Æ¥ç$Ð,ôC­Ñ,ЛAkWðD÷‰^Œ{ ;;;-jš&&â¦)ÓÎä î¦v3­‹ñ펺—¶t™¼Œ æÃT¤7•Ú¢µAb¶RÄ{"÷þÔýDÌî³&}buºüÕn9Õ¢n¯ÖV‡ÐÖ™â#8ºa.!Ï’"Œö.^tÑ/ºèƒXèmõÖ|àýßýÝßCD'tR«H9‚ÈN~ ¸?Ï—_~ùI'ÝòÿÛ‹žÿü?x埽âúë¯R½³³ûC?ôÀýýýó_{ÞJ O”3Ù¿ÝøÆ7:öØco|ã;…·a7 ,p¢0¬VNéððÒ¶+Älx5ª[Îå†Ê`)Dñè{m‡mSâ˜r1Y°eÞÌ·Íôýt} ‘nEšãå†d±‡BƒøDäOÄ#=Pï CƒÀ„‹¤UÂ}û›rA=ω{8Å€2Ù¾ŒfIuºÐ.Lر? !t)¼ Ÿî°e[¯w³˜ë‚;ç…½Qv>'‚×xëe°n¹¹¨NKznjà¢ü¯@Ž·M~ÉÇÏ>ûÇ(é Œ‡}Cø±tl5j@Þz;Ü—¢º*´¹Ÿ¾¨Ä¿ÔVê(hYhiÕÀ¤áµ2¬רÍ4œ€»#.D2|+ ©FùZ¢–1„'suB ц'©¦ÁâàÊ(U]éøâ6ÝR°¸î&#ÀcvËyšˆb¨»Óäúd¹|ЧX‰ÞÐ¥Ú8°¼-ÇayǾ2~䟶upTe8VûäTv¸T> D’¬àTQ9e³ …Œ‹ËÉïÚ¾'¡½­àF<KÎd¼•B 0Æm8›å0uG!°u±xb 2þ°<åãdoótœèöQ0242‹@@ËÝÁYĈ8éËi8ªk©ÃP»Ëc)¥÷%ä/F‡-ÇEÑjË #àHÁi¤¯ö‡/ñ´*¢ëQz£Å´µžk#¦8h™C ñJý¤½÷btÅÝwVöø4NÄ3©ñ¢‰yR›cƒ~D´áÎÓbÇ õ¤Wç`»H£ÐàpZ—£’Ðía±ÁÁ=Xx³ÌP?eD ’ûFè+&6 ‘.¢4»È7—ËÉvWÜ“Ås±q@ØÇd\Ñ`Dí´ŒÐÑ;â/ÁKòUK `ÃÜ•R†ØhÞQÊ`«u5åÔG6y$[!͈I–7´²È„€ŒLîeÚ<‘s•ÿÖT¨Õ WºáÈo³B›² ÓÇým8âí·Müõ‘ ±·/T`Acìgô'B;·`»>BÕí;·gÄ‹¿ì•‰˜Å×Ã'bŸN™“(HÏ­º.ð´X$…Hn}NqëM´Mik">æÉn£GîËÊÂV{8Œ À”é5™ v¦4XŸ}Ô"×ÌÆ¡Œ:Ée ($ã&'F§…{‡´o;Wž€EÝ|Àˆ²-â­=fÉÖaR™˜}õ½K8g!Ï]l†`àÏìW˜©íð"¢y.J£mdR4J™µP ®ìÝj’ü Ø.'+2ôö?N‘ZCz±¡Y”˜RÙêµ+”0q^”ƒ8Î뙡>ýÝ^6T5qÞ%Z$„x›ú‘†¹\¤Ø`ÎV—%A‰y2Ì!ݯ„¦ZŸ@S³íMKÈ•SÉÍCr|×Ð,DZ\v?äXÒv3 éŽXeÏ6g–l>|tã›/J!¦†.Zšy"b±Yšý2³à¶“„yj ¯ë·¦§ÆcÔŽÑzp (Ðn…µH ¿¡mK µÉ5u ’ÃNU\ÆUkGÊ¥,CE ±a’‘w1Fl|„är‚ŸÃÙ•74Aª áëp-pÐçlfÐZ!—'®æ…+‰t,|g!*\û/w@³jÄ€Abž <7']‰¦ã$ŠR {JÌIX- ˆpj:~V‚"‘£c U º{¨²fàH)©álŒï¤ˆ2‚¶ÑLøÐ´“ù1WjbN³Ìs¡ìÖ]pÙ,ÓàkÁGqàL8à m•}2'bÚp+ãÖfcåÝ4ârgÆËv™ŸlÆì2ÔèÌ[Åè‘t% nyÈCÏ8ãL"úЇ?ôãg?üºë®ýÆoü¦Sï|j«ÿ…/|ÁÉhïsŸû>ó™çìììç™ï}ï{ñZ”€FàJÚm’ìA)šïŠ{‚3`/>Ã0<}î‡K§£L9weëUÎÍ(ÖÔé93‰‰ÔsÍPˆ—äôÜÙ86+åŽF¶§Œ›^±mÁa‹e-«­Á>f;KI%0‡Rß÷1 K¹u ¦^=ÿQF›u´ä4е| °£I¹p´—¾Ô-ê êŒÜV·$ÏÈ`ÕH!šÐ/é1M ŠÑa|J(‡]°-' ~EÊþ^ ÉŒ´/,]¤>cÔœ¿n4H¢‚ê+Ù‰ ‰UhÅÏ‹ÐÌûú=<‹ ç9V¨0a¤Â%ËÀFZ¤…ñnõ…Ö‰v¥ [³žípO‡“+D_œÉù}nÆb1<+àÜó0‚qræÀnÄÛY>ZÄÂ+Ì>ú]*“‘Ç$’Yà¥fdâ`ÚF6h´ð†»8ÅíK”DRûâdw±H´fŽ$| À'O.P»ÍnÑÀ9ä1ŠEü§Œäñ€n›”€eÕ4.Íd”%h°jeåpÝ5I.¤ÀÇl¹å¸8”âItxØ÷¾Ák:H<÷áŠ÷“åÆ7\‡¦õ‹,–aJ|¾éÍ:Q<õΧ¾ýíïºðÂ7\xáŽ9æ"ºæÚkÞö¶·N?ýÁ;;;DtÌ1ÇüÀüÁÜØ€ž$Uî¿é’ÇÕW|Á žw¯ïûÞ§ýÞïuÔ'ÿòÿó–·üÕ#ñÈ3üÐÝÝÝ .xm‡mñüüùŸÒÎΑLÓôsOøy"úÀ?ànu«[=ä!ýð‡?töŸuÖÃVg³Ë\À¡:°È}˜À•ªzƒZ¶Q¥ƒ˜p¬à¡@¿ r•-é õlu¨¶Ô¦bŒ{XæRc[ˆìõS›CÄžÌ$ိìFþb«¤ ö=²é|Øá? 8ä *À]k«¶ m8¤+dlZ`ótéMVÏÚ@!;QîÍ•ð$漫‡ÊúB%äù®ðòrã£Rßzz'P× w‘xkÇÎúŽG®â˜Bû5°­ô“#£ 3K<¯u°HÂâ… 7"ŰÈG ÕÜ騀Ñ™BJ’°+“] §. ç<&ðe®ÊHbfYÅ8p8‚v×Wõܬ©±eÙٚʲ;pnÄGÕUZŒI\ øùÜ]GX»ëan¹ËšxÁ@»‹Êð‰…Ùú`wvÙŸAš‰M~¡Óªd6¥wúbÂ.5!Ø( Ú .Äï<÷©;'’°ÍäVÌþ&"x{­Oœ±˜€¨zðóÜDël怅»Z&evàöê€Ú‡âŠH?*ù‘¦ê6A*×!p0]Bc¨´01z¼ÎÝ·ª‘‰«oéc ^wQЦ‚ÿL¦\ë-XÞÌ©Zò «^pÃi ’‰2 _\””è ïbØR!•-Ͱp #óÏ!<²*®”Â]Xåj®ÍÔ´Y[Ã[ŒB,EQš-“Œm¶¯ÇgΈÿÁ÷»‘ñºX}ùÆxYø¾|ä† ¸ßù&Y8Ëo”ôãmoûËs_ýªöáãŽ;Î ¼¿¿ÿkÿï¯þÏËþ‡º¶uÅ•WxÝ+í{xø=…¸¥}Œṿê¼ày/{ÙKÎ:ë~Ôúå_ú•v~¸ß¸W^yÅ;îëßü¦·}ò“ÛÛÞnyèСßÿýg{Ë.¿ì‘|Ä»ÞýŽŽ¨¤Ù ˆnRKÐË=#cb†ì$Ž*p,êóVÖdV;§ÔmSg€½KW@ùëpc%Nø-¤1­†5ÖˆP÷jf '½È¼=ø$‹E¢)#Ê~z ‚wb›B'~#œ4ÊŘÈoœm%ó¤uQɱµÁº$RHŽ =däK ‡vr 'pm7t"Ý‹P_<>Z@—Eº‹cCzxl,L$¾ÕøR^JV ö ©qÆkYg”Š2êYv=QºúÏDñLÏÛ’0æÄ!Ä;cëº.º05¿¢Âž´IНQGb6טîÕ•¢Né|Y»ÒiPõŒÃG\†<Ö†§7,äwÏøƒÌv¶ƒn &š}͇¸­£XzßPM¿¸¸³qý+ƒ¨*Êèts54M5bÍÒWZyé»ÌÓ$ólj¬ §5ÏÎ=šv!0óU5ô-Mγ.=ûæLÓZ’[Û±\â©Þ@§p pO—œt« pêKˆ ¨kµÛ~Ýy–Øcéœø"5Ã&Mûn„²›.ø¦†‘B{#Ýh¿ò†·1 (KöE¶&·6ƒ™&Ýî‹EÚ¦âî"-bŠ ñ5%ñXÒ˜$ÁÓ%÷­fGLž|W­ô’ƒ‘]²Ä…ói^ªcg×µ¤ûûApÕç3NNÉge0´í}»ä3ìðÙƒ5ÎÒ‡}+Û3„kôÞ7€_Lá’{ׇÜÂ"–köNFP€†Ï¿Ak¼âHîÜìÛïAD—]òžR²ï|tZ,ì,2n³ØB¹•&-cßq)͉(;_¾((„q2Ñ_¾åÍŸùÌgŽ?á„ãŽ;nww÷²Ë.{û;Þþä_ù¥¿ú«·bˆ„蟸äΧÜùøŽû_ÿõ3Ÿñ_÷ööà¢i$:œ h¡ŸYºû{{]ôÁ—¿üeÇsìîtÊ'>qɳžýôeùÐ4M{ÜO_sÍÕzô#ns›ÛÞínßu '\|ñ‡Ÿø¤'\|ñ‡Ø†áàW~ösŸ) ‹® Ƥº~Nzõ⋆S¿ÐKr¦WçN»a_ëj€‘®š*ÍÉP§.;Ém êÚ˜Äx†¨SìYREÅ€äϳSÀܪ6Äfc øYOôºþÖԯѡg²o þ0 ‰ '`ù;[a-®dRÒ ;TGÍ3qÛÁØ:Ÿ¦ÉfÓØ{îAý*„­´TÀ¾¤*ƒðÈ~CÄa²#zÒv²Ð$æiŠø;yUð”¸Å€ˆÚÛ²ÈBU†¥-¢…ùD‹Õ&µ«ÕH5aÁBg¾|©žX` õ¼~éÜi8—àwT³a"ÙkKZ”X¸h5.¡ƒÖ'Yp‰;FK4”„åkbdcšW. 8”#vÃúT'£‡fúPÇßÝ‹]EŸÔÇ—¨“æã 2°¦Xž@"]sÞŽ“ÏöXÎmdÊCÔÀx@¶ÉóîÎAC0ˆßñúk=øÛ$HD@a²’8ð\*[|IB2ñ´»»;íìÅ›Fõ™þ ÏZS#XódkÈzªãê£Ó7îÚªXâzлŠ+ü˜7ªJ¨ƒÕ¬ÜW¹–{Ý;ßÙ$FŠ(6pcõr„õŠ9¨(q¨„ô%üQ,-¤ÆÑP =z¹äM©Ç…˜OšÚŠ]P½#&7Þ¨™Z #æ º `4E"0‡L>ëBN}úD:îW'#+“ë„XÚÿJ¡ÇÄ“c’aÁVh³þ@7Œ£•J¸ w;¤ý_êBL~iT]xб† 4ÏûíÌ„Ù1¦nò *‰ˆ¾îþ?CË+´¥MôK8w,2;‚£Ô]æ¹Û@•`›âè¡r÷©ðàQˆˆ^ûÚó_{Áù”íÉsXûsŸûìCzFÏUZr]bkicHüs¸æš«ÛÛ,ÏÑÎÎΕW^ñ ¿ø£¨§…sÏ© Kw¡ÓIJ³8vØ ç“EçV•æT>uÏ}yí ôuEáÛLÂm )íwë”Z:ê"l‡8ÚÊ{^ÜïxiÕ„ ej ^íGk„c¨U¹`s‘ZkA³"8ÒS4º(2Ë%Çïr狞²^yqd”"Žé†QÙgX¹«Ö_ÀõÔÙKT¦:šv¤RŒ Ë¥ ’­ìâlVâ*ù†Bì…™Y×àvN™¿Äî´žÇd¥âž›—ÈD“ãÈ•CÒGwžýÆr" r‰¨­ÆXÜ·Œ¢[+ø„JËbábªn5}Ôΰ:‰Ù[—oe/‘‡5R]){%­qÑduq’ý\B†EAàYØ&äBÉtûx-ô³l0蔇²³gJ¨} J.-¯Ób±‚¿æ§ý߯³UÏNÖ}vžQ~R ÝŸ÷eÖ•Iµ[Îè$3ù lþ“Ø0³…‚Šá è¹µ¶ DÌUXÚ›T›-–š–ñe¤¤YJ3‹¾LNxš0Žë” VCHdnS&ÞÝÝõÄÒ’GÖBÊP‰±RÁ²€¢xüXÌAÚˆhYe>/¶*\úN „xËÉ0ñïcõIﺭq¥‰1ìSÁÊâ6{+0ü¢4×w§ã…‹,"s ýÃUŸÖˆßøžx±Ù]$Ç3ãÝÕÆÁ«ƒ W…\A1´}»8Q5•qyófñÛHÙ`†KA°7]Çlf˜ÒÚÑMáÕ¿á*Å ™ç6b“ÏlmàlõŸÒê- ‹vÁ{hû‘ÖÀ¥ÛÕ»sZ:–|^Ýt¹Òû5–ª fæ±*ŽȾ­ôÔ©-bŠO†‡uÔûßÿþ{{{¼öü•²ÛÑí.–z¡„[zR–+Àïõ-§jdƒ2l;+P±rW‚¦JCI›4ù l”)íùÛâˆôzïÚ é-Ùnt®îS‘ÁšCë?%/]JŽ÷˜Ð¥ò­ j<¦Ð:ï>¬ÀªÿU‰p<šèìg`­ÚYw¯§K% `öO›VKu_l¨ò!zþÁ¸á_ÇÏNŽg³ ð ŸÁ >R¬s œ{’"ϲ„=~•9VJ=®Z¨”ª/˜@jŸÌ<ª¤ÉI[7EWRTN-Öî;“±Iî&pn¿c­‹F}`Ç5êÉÝz‰>=f$eGÜš–,|áêÝdðìGë3 BÏ—9€Ñ*é&^Ò^f­?~ Êhè!ÄD`Ž‘6Änº¿+¼œ`ü´Å;\ rœl‹kúm7뱚ŸV±vÉ&U.a[KìÄùÖØl«s76d|á°“5h€&R0Éž!Õ?—€»_L‰Ço†XÚ…9«w{ʉ[eL‹%chÑÒöaw®LÌf,Ù]a¬cRÌ?¸ Ôö„fz»ú™¥XShÕÃÀ£Âù‹sÎ'coêØî#T<Ó ·1Z ö ¥—pS!'ßêA¶¦8\»°¬T”kk÷Œ…&ÏâV5´o%P E?Ú3)÷ööb]MÆæ!Œ šö´¥ -¬öC"ßðŸUÄëG°â6éÛm„dâ Ý·X+Ó´3µ{E^Ef"»!™HDöç™l×ñ¬·×b#1Qdÿ|ý“ÙQ4äoØkQãrzô7&(SÕ.\øå@O£ìÞeÙkTއ€Ó°ª›Uºœ¶Î†,œò,.ü¨Gö†ºÃ{c‰Q¬ÄZN&¨Nd*Ÿf{”^FDú\¾TXÄö;/“feè­l}²ðlÔõ'‰•t¤Ás"`2‹hDä¼>é˜õYåžžnV#¦Èã Ä9±étÖ¾ižSâi¢9i8éX§WAS¦Q@·ÓatlõZì£(ê…jÇåå¥ÑA¤¶š•»×¶¼iï§û©Nè¸*¢3Yè žqDyØÑÆ£é7î ÄÐc ˆ‡ß‹w…³Õ­ 8’aÃuØ\>™qšÀЬÖò¤Õ¹l ßW'a FÇ…N%ÃeÁœ™‰|s¬?BÄ(k’xE>!\Ãôv›sƒí¦¤·ä1`ˆµv:pf ŽxÒѺ¼1Æb$¥A¹–å%éÄ@r¹’2ø}˜êgà‰M ¡ÀDO¶þÅé«}M®ŒÈ¾sé+û7¨”ðÄ.,¸?Ž7,कËsÚué.¾í÷Id:EÅG‡;Íß,dIo^Eƒá5ˆ4Ä Ÿ}×¶ü[TÀ’%;ê±ÍZ=£D®årAÛFÚ6žÓ·e¤¡¤¶ÔÁ’¦´†6Ͻ7Rz;gÿ7äD·d/žµÞ´Ý¡å,$ò|2NVXÇ”Uþ&?¤_qÎ,Ëä•"!"Td–D?÷H”£¦‚(T™™f=ÝvÉREh¬4Íã/>ô;·}…•ˆÙËR„e<¹ÉªÒVñž«‰LFN-ÅáMf“.ÔLŽÙ<‰Ì2Ïû£i ã§û=Ò 5—:MÓþþ>,*›ÊK ¼ûãh9u‡éš–k0Mp¦ïM€~de³§S™è«SÀð³\~NlZÉ"I~|äUÚÆ´ÕÖ/ £^Ø36òlð/©Ù(K¦¸ˆÑà3ÒÛ)fžÛ®r¦ÿdcC`!1Ïò‹®{V)˜ŽÞڲ،ŸšòââÁÇ@kG¨é4×K­é–õØ5Ä;¯ÐŒ…hšHda"n;;LÓÒ »núÊ:¤ ÜÏöôÇ4ñ:´¿¿?GrЉô)nÓ4Y/½ˆ|„–néÈWh·’äÖâ&ªt2€u+lÏm'‡Å[‹J‘£",™—tºß5xñ¬ƒ³Fj£ž³$Ëâh­îïïÝáäÛztW2æa]ž•QpˆS K$£eXuÜzÐEš[†QÁ`dqqfHMæ@¨Ôõ¶´4=¿*pW«´¦»9°—¨œBFÉŠÙ jÁC‹š¸=9Éž»‘КÃã Çг…N•GõG# øT\Ãè÷†Íúý<] ®)D ã€ð¦Ù± ©Ñ'“…Q{yp™K#…¨å…O/$˜ÍiÞ/É€ÀÒ‰ååljƒ5uèlk n>~Þ¨ÖRkË…d²73ÜÝT·öÑ à%¢pØÝA h’,¶nJä„%¥bf¼µØ$=×ÝÁ~oØqZã’:ê„l0FY «B!›À ˆˆ@uM#0t³©P?œ³{Õ.ÏuVôþD³8æ‰bª :i¤]÷’[2õ\x`ñ•,¯-KTJm$—®`ôÊ”"G.¸+íöUieh5’©Ý™¦¤"!œW#mŸ a@C1[kA˜›àup•µ¢™q[ š¦ižg!ñ›–©:jZ×mY©5.‰©ØìÐ)^ÑdŠ\sH×Õ’#KMu„çd`Èðëv/&‹>±¯T Dµñ(†Ä((wVCº¸  K_Œ@0ˆ›:Ë"Kd§¡bêÉÌÉ[ßç— ²1ØòÌa™<×(±¹Ÿ£[ ó‚³EÛ_ë¦î@ÿH +Úæ»Îï‰ Ù©2þ ̧ê°HœBâŽb@?F9ƒBÖuVëRÒ¨îm*ùQªX4î‹–D]™qc›/zD†f-íÆ¿¿¶˜f)•aûe4F¤Òk„tØÐ÷í&HSÁp¨…G &3÷2ƒE’+íb½ª—*i9NzÍRHhºö?ŽÕZñ µxOùaQ}-µ Ù'*ä’GGÊÑ^g]¯¬ÛÄ3ù…âN±B¢»'^ƒ"•µëSíÞ¦»ý ^*“úª\8¦˜@bcÝÕŒ½ÜÈ[•€b m@e3møË×ñ U¨QÅCÇ"F[§ÄÞ?†PÍ ãº4:ÝAß›±,LÇMÁUpcÐøäQ ôÌnGOïôí¥\éy¡F˜5ˆ0¡Zƒ²Þ¦–(|I×òˆu*OÜólÅb”\-Ôò’ÜÉ¥˜L »:©x³ÎO€+´*ý¹Å£šI­(ùߨrRp¸ˆEÖiHö¾ ¤“‚…~ó—*IŽ@DôÆ›¨Äu]c‡g%:s¢º£?lÂ;:âÚÎwËÐ'¤¬e®Û‘—Ê¥õÃa+Ñu«-à|Cˆh¡©€A·ÙR¤|pM3[{BÝBþ“[bL#÷ çQë /ÌârÍ7‹ËZªB©Éþ1gV¤Ž&Ø* ϳ´ç˜v³>ú8|`wâ"NÇ`ªÙD8뛌÷xtSˆ²RžE"¨Ù&¥bäaeD…}£8ÀôÌEÔì’ Ô&ì˜Dl ëàá&Kõ`ðd¿Ô,TÊßBn&váÿãîÝÿɊúÀª~_`„Q£Y$ÊpŸ\nÞ¸_äj FÔMÄQÀ¸Ovu] Å‘0‚®A%: EÈ€—520ÈU`˜”]Æ1\™÷×µœº|ªNu¿ïHò¬Û ﯿÝçRU§êSuêœî€›ÅŠ}L½k¶ðÁ>N(D–IæÆ»®«b6iöJœþLìY Nç웇þ¹sä@¢FnÍ|/úÌ\C©¬!zœœ9ñ Q–ìuÑ#U›«„Ù[ˆÌxÇ(èfw¤ÙUõ˜…®’Æ¡J‚ˆ'ñŽ7{ŒõÍB]{ñái¸ÝÆ7T'bσÑ3Qr¬a³ akÓ0–êñÔ0`f8:Z˜—…ONVs¯<¾žÊL¶7MöJÂZTpí[¼k]û5E*+À®Ì[3Ì$´ºÐßàY_Ô*ì(Ä“GÓ”cÝc|_ÇÍߥup&'0Í6\åè(à$Ðh¼iF…‹ÊV/”Ö?©ãoù P·á˜÷é«‘½ð¢& S+hOäå¹C6«Á :ژΣ øðhð/*ƒ “37pjœÇuÆ…Ï‘yd²t;h)Çžj¢…_˜ˆWx»ÎǬ =jØ•·èÇøÔ/¾š[O‡X[P.Ðj°ª»0é£ÝëêaOÌc!á†]&ÝHy”Àÿ.¡@)S[‰£‘¤Ÿzª«¾ì¢+]×ßxqˆÊ1Xç’š\1 @†!²+ŽO.»ÁbHÁ‘ha(»ã.¡ ÂÈvi´a@‡›4 Nòp”5m¶»ëº*öS9‡˜ÜP˜Z’²þÜY¡A¤=Ø9¯7˜fEÇZø£/Õ¹‘ä\ÞÞŽÚ B"¢²þÃUg–7%f^§Ó†§-Hÿ+nd„°Üm‹Šœûûû’3’ÌMãÄl³ÁÔ\‰N$ô|á–JµfRË‹ëm3!\. W?5£ül:&hŒx7&2Õ¢±2ˆp_ˆo^ÀVÁ‡M=9C#p ÉS¸"[h›k¶–ºÂk2ËÏàÖGqÑëXPc:ÚB# ‡¥ÊûOÍi‡1gäù‚ú ^ɧ*uqµÊäÓtB'Ã`™4¡9e]_‚Ó[\œ¿6Ì Õ|U­fÆ‹Ô+ò³>Ô8Rá]m;m†Å”îƒ3Õ…DK¥>w6øaqAº]>’Qe¹ @*ï*L-Ø…+¢Œ6¹F4$™_.âm´Û…±³_&BoÐÕT´×­Þ|J,Hé6Ÿ’!jFèF·‹‡ÑfPÁPP¯â4&ÚÃhbh‘N¥: üšGVN0`!¨GГ+HˆÍ¤+çU ³ÒoDRN„4®ËuÆn4gˆÄ»K³†ñºù˜ó”qõ@pHZPê†fFFÂ)ÿ3yÁrê &DÖõ(Z ©bÀãµÐ—ÇB@VU«˜ñè5be5‘&rÐÝ͘à!i$¹S‰l»‡Ù-gÒÉŒ*SU’PI¯ÅšUº:¸üu– a1'C,/ƒ8ƒ“záÜϾ`»„E&²F9D¸¨eƒ¾ Ûä!ªë3ðu3œØIÎó½ó9-Ò÷¡O–¯¤sâr{'~‚YQHÇ=Q~éƒuÊ̼ÊZƒ½ì5`lÆŽÓP çw÷e2Ô"´t_¬Œ;&ŠèD’ĺ!Ú¥˜g{A‚ŒÄ“‡•®ž«•z ¾´P­ê"ö811´=!c~…c~~—i©Ù]¼%µm™;nÐä¡7ÕÛÞM.ZZ3C{R™r½P¦b˜æ}Þ?®}"jx8 éIŠ8ˆHw‰)…ï߸úÃÚ 1ûk67¤ãî|üˆ4ª/bâÂR#„aw±“mp}‘¨äJwWÌÒŒ­-yÔd-…DDâdùðòÔHéL ®ºL/¼BJ÷ ¤’=‚’ç0 “3¡äË]¿þ%+Œ ÉÅ£«ÂàRd¡ÐÛP°vvh Ý Cc¼Éë&7‹|aÅ:·ÒûöªÂq,‹^¢Pä¹"Tv[Q™T#59Úˆ¦‹N^ºƒñŸ”*œ]CO2·R»´ LEÇ>5¦£3Çj¾_ËQ¨R9l¯¸ LæAû¶d&¡Hùu¿„2[ZŒkz˜YÄ¢å, /G3¾Žs$&Ò¥âeï‹ZW @o9·Z‰>tDfdÌæänÒñSHwðâØ8±¹ó>Ã>T&f5º<4>gÉÀÚ…¹"â˜vR ˜«É¡¤›q˜§™X>7Ÿ‰pQÈ+¿ÊˆqZd¶ëB`{ÜÑÊV‰¢”wàæLŠ*€D}Ë­ä¬WIKqì¬q^Èœ©¿÷Ìž}T“f Cø¯$šm¡áš¦8ÆËìÓ“Þn멸–·>ÅÙhPYƒ÷ [£î=éÄ e×îJGeRËà£ë‰dl„Í„IK‚%±Ss¿E_kãÉ(J–6µ±m4¥ÆÇ–ƒ™%ìb°ƒF¾PiIØIÔe…½^Üb†7-IÀŒCú–ŽÁ›™ ;³7NBúC{ËÖ=ê´yMTiK m·)û-·®Ú”× <»2'd唌>V¥vàbèdy8`³èËÀ§Yו|a©¶3ɈÝXáÆ²üæ+ç°0BwÝæ×Z³3ÜvUÐS÷=t%µ,áéöâÀΠq˜ì\–¸83A•8ªUBñ¢»oUà ֱٳx§;¸•2Q l„D0[ ¶6ßG.à Û>Ïñ ç˜ÍÁÓ˜(oÉñhJ8µç+ÌLËrj|±†y [/Ò Æ¨-„l¢«/yf©È tYÿ”ÈØý‹A ;a‰aOÎiy³µÛZðAK#·}-M¥ßßô‚J–—^Ê“™†S¼è œòÜüÔuöDG豋&o:¡‚çdÝ–8™}i42.‰ä("š(ôNÝ~üÓŸ#åéÚ¤¥cäùì„!FL:éÊ8΂ ârɺïŠj"KÔ^ yn¨®mý1Ïó6K–®xçvKP‡n%Ø$æ¼÷›$š3»¥ âÏ΋öÝáKQT´ SN¥§øÒb=[<1NåhâÐñ³»»Z8KRß7–auaàRÔd¼€QFìD•X˜Âî/°9[£›µ;„:ÍãÔJºp#•®5¯ZÚÆ‰©u?b¤`µ‘À‘Í`5¦ÚnŠ@*óÉÌN n’ßrOyeVâµ:W슎Ȳ‹c$¸” bs#Ã¥™¡²PónÆ"-ËM}⬱۔-›mÁ³·¡# ,PFdŒ#"&@âdYäÍr‚@5LI†;€*0nøé;6¥ŠñKÅ÷tuF…›-zQpæbºÛý kW`Š}xØË”™Ú: TÀs·IŠû}ØJ¢Õ—)ÊˆŽ¸Ìi­¥ÃG^Ñ%w] Ù&ª0ΫÀ^$ñÀwh9)‡ŽÍŽ Ñ|ijébšà¢4W·rßÇ=gas`¡ïüÎÿñò˯¼üò?¹ì²·ñ ûtDiCˆb"A¾5ïnøït¹øRN‘*}0¾/÷áhÕÎŽbET¶B鿉…i¦P8ìYÈÁ;—[Üüg÷•¨Œ€ëXÊ=c%¦$vòŸúÚëª×TýÚðÙµ"Œ&à7%FÃÙˆ$Àr•Ç:Îs>H ®e²Å‰"£êØ3ìšè¦¹Úú„Áø“§¸[ÚÆµŒ 1âÂ%ãªHÒ:ð¯Ã‰&™8‰©‹j]2|„Ïý¼_§€Î)µ®ëº® /§OZ–EˆüÔ« Þ.㦵l÷.”È¡Ä")¢hv¡Ô9tQWÚõ×Þ] "k-I·‘ æí,ÍÖ1ÃXŽ~Ú0“uéW¿C–‡ÃOãP(Œ¸ÒñpÿÒ¼t4ºÛn{>Êp—aõ,N<@ób"%|B‚:²&æÑoÆ¿Øoœ7 ÓpØÍàÑ?Ѻ®§NÒíÐì€#ÎEÉbì­˜]K+Jf5u"£4H,ÂUáÇm \uT…ãtš…g&-#@D5uâh¦Â‚{AµÖ9‡ €ûÝ;ôZNFÚ|C„€yß 3óG:ªîHqÞvœþÛl£ mMrÚöB‘œ„°˜—V*구öȨ,Y^ÄÇu j\×WK>*CM[¡Í“AF¹Öµø¶lÔù)HA¶ŒÓ>é‰bÉ¿+d nŒPÝÉUÀ,rê¥À =‚0DÒg‡Q–3jkü°¡õ]½Éî8˜ –)2êñQ?PècBcfÖS¡)Ý…Ç5ÌØjyÛF Ïo9Æ åe;­™­ÌÆñ»®{ëN×&F9I^m­x»ï}¨ž'CÐu&]":ï·xò“`”yÁ /üØÇ?†ž?¶sˆ>ø‡ÜÈ2¤ô‡a¨êÕ”à –’«Ëb0Ú† .¯¥ˆ@¨0'Íàê–zaj9åX Ršï–vˆ8:4F°ÖÉ…° yØŒgºÒKúïª:n<4oöÎôÅw©;dXÛ¥ ûa)üNo^Øã =T L¡’™·Âª¿qÊ‚™:Ñ#¨LóÁY,ÒžDª:eàŠ×€ÔH«Ú Bq"Ë«vB84GƒÆxoCsH‡sѾ3ö%FÚ›g…=`D¥Æ¾g&¸Ãé¹~¯ë‰ó<ÁkÚ GŇ£·d&Ò´‚ƒªkŠ&R¶ ¿ßr, ;ðz[3JfHޭ֘Šš‘CnQÈ\5ºÄƒ«ŒÚQfªìF½ïç2SQI%G‚ý˜‰7à ŽÃå„4q—¿üK‚ìT%!Eq²‚,Ë"èõ†j/‹~•ËÄ€gQ¥GŠhú¼Çßÿäo.efæSì†;ÂßybZ2ñ nß³|í2Ø áäÁU7eG8λ¨Û£Y =°û«?"uAnâ´þ„ÐØ¾j{²ê—Ìf¦…°Â[‡ÃÑ @s`¿T˜vÕÀ†½5äÚ‡µ9 °9Lå}ø=Ù£b4+¾î@«²¹~õ'F͹è d{ô,ɉÃ1¿(rwÖ¢nP}?l -Äf´4X&1‰ ­)(jL[jÜ¢•R+lÅ¥µ“¿£»sIf–ÓP¶7`Š·Kª‘ü“Â÷+&|Uºã€PldÞX5-fááÌÎÔ¸ð6óJC®ŒhÿkSÚxþ:"–hÏKÎ298 q}îåÖÌÈô‘ò}Ú¶2¡­ìO/blÞ8Oí±Ýcä2eQ!ÐÝëÇ‹@KDìù!M9µ G¸:ÏS<õŸz³›ÝŒˆ>ð¼ä%ùs³ÈƒRPtÈô॓@7§Un¦FB´`Û™'cöhacÝ.H*˜šþâ{´b¦É"—Ϥ.Ø]¾?tßBŠüTÍAô¨eEª¬ždñr*c3¥JO†r¾‹Ó–(Ü!F¾Û2 (cÛ¤dk±;HT…¬®Œ‚$/1N–£’«k wüˆ1¨«Æœ9FÛÕS¯•†ËY›û ç¸cÀ Ĥ/ôç“úÓ_CŸ1š[8[_:jdÁ # ·i1¯Ób¦#F mCýœ—„縕`­Tø¿zÆîºT˜½äÔ”QrCÛ<Ò]ó™bƇÁv› dmHœ‡*SW3‡¢dqmèÚÓ×;ÏÐiÁÑT Yj´i3µZâ¨Àsï9ӚµÃ ‘ˆÎ[s_#Ú†wà;qE‘GN4šêG¦ÄGÒ'Çæß·p†±KIl‹ RRÀ»Ñ æ³êå.ë:#b@q"p%Ìb I8(呉h0Ýô`³];4¿¡14{e J2„°ÙB*QÃW ÛE–†¤Ø02jiM ©ÈÔaUt bS)¶äae§^èSÛL,y@àNÐöæD`bjâÎf°L–z!}¿Z¢44´™'Hx麤ÙpДÁ!Ç›fôÃ2›í†—~çÇ .™¿aÃÀÚZÅÏÒÕtɶMê¦OAœe». nkÈBb¹Þ½Ùì|U®Ë7½IòD‚ºì< Þß9÷Óxì¿åXâ%|}o}£í1$°­ÁåØlÖE’(H¾7žH´:B £´È2ÒExÙBõrþù·ûÇ{ü¸úÌg>ãäÌ™™ÄиœL¼À˜KòYAr„)¸ÉG#NGdÓ¹*ÉaÉÆÝ´ƒ¬¸Ã‰¹X!’!„IÛ’mCaÊjÆ4‘ÆÏ$n&›·Éxç—dñ‹~sBýšøQ¾s0z±¯CMDìß ©ÍfE„-Úb¡X÷ m´ä ¼„Ç•F©FDQ1œÙ+£õBik\Ê¥)’1Ýê IÞ¶ø‹¨Íçâ´ÁüCî´†'Žu@$–ÅâY>¥ È\Ò½ËØ€OGühòc¼ŸA–¶ë&b{ïÉ %²Á(»QH¼@„U‡½z%‘"Û¬Ô=foöê1TÞíœñ/”HI\äÙ,‡ÀŸø¥ëzMô ¾·„z~‡4Ñhî5.Ï 8]I 0”fÙuwøajq¾ï ‰j±{(Ž™ÃÇ<x¹QïtèŽù±‘”s«áTžsÝ”clT¹bÓ$äÇq‚d…7Ï'ÿÛøË¶Ä–™`²ñÏ :^‘-{YÁØ6â™ÈÐyh·ÙžhÉ SX…urŸÇmŒq2..›¿Î‰®›`6‘0².,K$…¹ü›N\˜,\}+õ¦²æ&:x]×q²,Ëz/éL¨Vç²KŠù*¡Ž‘P¥ª°5!ç…‹Z¨bÊ.fÔO»[Ù—™Ø8×:³ôî’ã·Œd~Lؽb°¥ÇpìŠLU® S4ψ¸®'{U ³Õ ‚°³;:3 IDAT غ…,…fgÜÃ\‡ ¶G¾q.ÛŒ ãQÂÚÜÃì[9ú¨nt¦£Õ¹“¦/éÒß` ¾w“5ZZ2¸ÙPìÓM‹Þ˜oxÙúÖû¡ãÈZ3te”ÿ¡ââž”Oµ~r›¾OÛöˆ¸™-èê9¢ÿ¯?ò£§N"¢×_òº·¼åÍU'cåŽ=µ­¨ëb¾Ð  ¶DÕ3ëÉÑÖòd›Jçè0zÚ-×X Ũ]$ÂÚ"¶ KÌËÒ ý±1(fYì!‰å¬¥VÛ&r„=ãDb‹¯UVúD„s´`”cÍÐÆe¾xÈcmÅ"¦ù%!ïÔj3Ñx…‡²¬Õ¤ÈeÜM²Ýe ÎÐ!¤¢$R“´|W®êp".¯'†Ùå°lVb¡‘‰eÊ+Õj^\Ç8föåSòÔ=-R2 ø‰…bÎÝâ­è#ȬXª.œcʱ;]„ü“mŽŒ\¾<7;"/YWb‚ïÐî+ϲ@=4Y‡ÍaTš<éÜr„ä´3hpµDÄÎù4@§ò$i#@ØQéÑçsèԦݳôÁñ[RÊó=áåŽ<Ðn©šÐ°bÊ‹øïÙV8ýuºÆœ%õ©^#2³!Vf{×]š¢ˆ UˆìŸíaûä»-v1ÏÜ3›…»s€”4Þ,$Ë©SdöUÚQï“4%<[L¿r`ž{õ.Ç(YWÅŸ2-œü‚YqynWè\j>ÁxdPÉK À4Ñ‘xkÉë5†Á6K1MõmuÝ,»K—’¹ÑQ  £/öi™-¶½#@òÍk ½I""æåÔ©S²ŠÈ:d•ƒ;¤œAÕD_Cdòmß W ‹›´•;‰_úÄ`[¤CË"2Q™ÀzØp¨4R˜ªO—;rùX¸0?pIŸvu¦¥1Psìéâüÿ4ZS¥t»M‹R y«pÉ”}Ë­Ù:5,F 3/¼Œ%wòL ŸÎvâ!c¦ËãðFì¸åŠDxá‚Ó4 °A ØNBG¿œ¦òS½ï·¾Bámìì\0Ę\šÆÖe¯NÍLIÎ"U,Ž3Ì¡ç Ç|íäädYb"×T_9Éà5TX#<“ -#¢®ÏÐ ¢üÙ·I,ÐAÄ`Ô:@¥¢S6Ï#ô ˆ­IùnðÿÏÿrœ¿ö5¯ù×ÏxæÝîv÷O~ò¿\rÉëž÷¼ç~æ3ŸžÛ•…¨ÅöLåõÊp¥o¿ ždxš m7b)ºžè)ÇÄ5ïr.ƒè î44ßê¦õ©H [µ¹º¦ÛBã¡ËœXé³X“"cÌ‹”=*£WP#r pÙµ‚Xt/ÛV R“þÓ$ÊèÅã£<Øl[Ôëg…ưk[ƒ‡HâeÑ”  Ê3šsÒD±¢‰bø5F ¢ŠÓà$AÐv‘a©ÊK¢”|D\<ñ™•ÜeLf ÖÆ¿kzŒ‹õ°mΆ#á[½c¤€@"NÕÔ#V9œõ.lo¢Òæ…lqçª8F@fH‚· ¦;’»‹hà@å­`ÂÉÅ™úTÓ6d¤ÄI†¡l¤¬öy²&XT$;+û´`܆s¼Dë6äø†4 àFMP jÞû¼ÄD°÷ƒ¸Ð°Q=PѾuÇ­ëb‚L› Fy+ÕŒêÉZ ¥×éÆ(04õ@ÚŒhähcdsì` f§Ù qñeà [,nóÕœH“.™‡)0Å—¨5ç°Ññm<&$¨í«ä›†°$Ð’‘Õ“«¾3CÍŠ% ^‹ ¼8õR¶P \Ϙ@§¹;¼ÈÉ­^„Ë&¥ò1q.BÕpy½¡<%Aâ:¬¸5㻽Rn̈µ³î§ÓL(ƒ9Î!aSë-(ëniÔ¹74ä,•sèjì/Oý†¡YRÇfÍÎàºmX¶2y„‹ýµ³¾rgù³·¯ö?Uaôò‘îíÇ5”ÂN¼|4i¶÷öM¾ñ˜zøbIbÐ -˜®è˳zvÇþ, ·oYˆ~]IdOÓX€•tÉÂD¼È*¾TÍÌ«½UaCªg§O›ù"ÅtõŽº:1ÈÕKeQ3ÆÆžž¶Ææ¢+“ºÜ¡XØD¶¶¬ùÎéÁä8þî3V·amæ¾’A—`È[k, ëðýE›é^<çÚÌ8œ@,h±å޳<4jÄ'òŒÚ޳”ÌŒbM'9¤c‚Íù]"nî 77#»›àî3Ìþ6ÆTÑÖ/@(Y°µ=òA´Ì¬·èûÝ}7ªM:ê¶½ŸR†­ˆé x—䟦Å£@Ìk•‰;n•Õ7ùÉéÚ IÂøI ó2F¡Œ¡]qVš|dÍiª¯°£)p@l©8Z 2vñ"T`Nu«;â 5Âaô%ån~æN£Ñ~¦ Ç•&šïš€ÀýÌ$e )‰ý7Êõ¯k×u%♤žjinRš% Ž*â¥m/&ÁÓ¹±,º0ÓÉÉJé‚ê,>wY‘žÛ–o®{‰f Àð¥Ó5+a ËGb¼î8µÚŽM¡âÑ~ì8Y×õo|ã•W^ùõßð ÷»ïýˆè‚ îò¨G?敯|ÅF#™“ê`'—Ø;2G²Ù!È6LnË?ß9"<<¢H׃$*±Emº%wCöµKÀ»8â–Ç[êàëqN—, ³Ù> ô^Œ¤Îö âí S "ŠõÄTÞwsjKubŸÝÔfe‘ýir±ç]å¶á„æ6Ù|u¢9ýâñš¶XTаd©_zâRà±ÊGÉqËCML…E,™*n˜Ë˜l®¶Cç%8,)øc&f^˜Ïœ¬ßNä·êÀ&½83o)ùBmªou<å+ N˜ŸÚ­‰"`pd³ü:,rKÞÌ[ÆÌ6:™”¦êŽr¢ö‡šG:eÝΪ{ÐyxãÂ㤻#Uµ>eV\M(Q ©ó‡04Eød·5ÙOtµ³~ÿ»e"Í´˜5“æ…Dd¥x¬rH`¥ M±®î——¿ÕÒè56„µÍ$E’]ÁL’sÀcm§QMÛ9Ò0v¾5gm#Zµ\Þà‚f§fj²N°˜V ÚÙ¯šš0‘íŠ'"˜`ÇP 5‹tæì^š>Å0‚ׯ1«·¯SQx@c;Bü‘`ì[ù“P'çÎ8b°›%]Ð~Ô/‡t?w*e@ ç‘šÿB’„ˆ|»s¬p«ïvVd…qÂT0Ê>F> 6Ãîf®E˜;qKP Éx‹šJ(²ù눂1æCLêŬáï¹P»œz³2Õž;Eí Œ¶œT¦ jàJ®i±ú=öçe6U \÷ôÖˆÜY"•k1B¶R«3ÇV$ôl£mo{¢wÂþ%óÁ>Ó³š-÷‡¤Û[äoêö~ðË&¹°ìVœ…X¸üj˜.Bi ¡u{Ücœ<ïyÏ}úÓì¥/ýµïÒ÷¾þ ¯pÿÖ¾Ù£•û ÔfVüæ`yÄÓÜw_Z®«a5È<2ˆãŽøŽ^Æ~[Íš š¤7߇{e¦ªíõŒ7âÝ9”Ùda"ÂÔ@#™ÐÒ½]-X‘‰Ôè»w«e² Tå¢l‘Ç4ÖWAmAõ.‰ª=¶˜â1îÜÒ ¹ Œ˜ ¯kv˜äŤ ˜DrÌæp R³Ì˶Tõ™™yY^b¤Cõ“ySâ ±}X¸Ø]…ß¹À¬ê68­Ö¸„X'3^\wªE!ëÕXI”•v˜õ|ò1{æ¬+ëF ‚ãêŒÕp¶QÚWÉMhf·Ž,P‹MÒ’ß"‚f¡ñv@ÁŠRœ±¸Ž0ò™ì‹˜LãVfƒ2ÖTÕ¢¬ —¦ZÔ½d w;]çþàB¨I¡«Ä(Üd§‚ÿë_IÓ̬Ùãn„Ù ‰yƒÑÕ²G€¨ØbÞ´)(sÿ—­Ûñ›á4?Îõü mXw×-k¿Ù„î ¸ÑÄáÂ6˜¯SÙ„Ù§¦~NŸ>}ó›Ÿ7Î_Éëüúìü˾ìË”¡×nNHj¿ZÂ1@$w¿8DéâKîÒ´W8€.Ú`$#ùÙÛUÊð"R”—üÑÍ©‰V6µ—b¾Íùnø‹}DÍQ*‘ê`@ge3CTÈÞ³é;¬$˜&HÏé)G€G&&{§ùØ@Þ\ìåOƒIB*)dRµ 'ÀsæqæÃPWáZø˜i骺Ⱥ®« 1Y:U|³W`vðÎ…Ò‘Ø7W¨vqD¨jåÎ]·§˜¢"mƒûîª3Ÿ¶„’`cƒ), úR¹ÖµC¦t 7^–: ™ƒö¸ÓX$^DÜ.’vGDØ`4†b(&Â< `¢·7ûÿ¦‹¹ñÆ.)bþn!#1Ö_êÀ×ìpq#ha]ïAÚ LôÃ%À â““ãö¬ãb£îÉ,œäU“Gç·©X´ðVþ#"]cf^ä]×Ôí¯Þ9¸ªQê·›Á–!NåE@K‹N¥_8}ªœZÔ+À]»^œÅî!Z%òG)t5áe”ZÅë¤LaÉíÐÖh-û\ªhFè×Ç<%4QVR.@Ë“¥‡9ûýF‡ú°àw'à4»c F¿F%Œ~€:…=Ê\2k]pÉCÿq£Ôn€°w”Þ‚ØGñý®ÝÞhÅ„ä7¶S±cX´±¦ì0 `Q³‡Ô¯)C/Å’v5“³€(m×uÜ=Žß.2Œ-ÇBŽ.kaz’Ûæà¡íq~ú[šÃÞ®©ç/»Xsp­Ðg«=@a“¤½És]mïÕæ!gÎ\÷©O}êÜsÏ%¢ßøÆNÚ97þ‚qríµ×"Áƒ†/¿Õ­¿â6_ùÞ÷¼÷ê«?®×íÛ¡,Ù¾¡Ç/ÿÅ“H$Éa—…­Z@ï1Ç\w£Ø ™GefîÂÖžÖƒe¸üµîYüEؾ68l@oÆõ#I¢~ãïøt€_|‰*nb¾†‡ÜÄ‘ 5$«åǬ„éºPÚ@†°!&&{3t÷ Ë`KD¿îH/æÕn÷ãb„AA{‘ßX4£…™˜×uµ «!eñ÷i¯¥ŽfQQÑ#Z¤-2ÖˆpM–cJïöˆ¾CàZ–(«‰`sØBìÑv2àÇH7¼2ô=~8@šWLHn íçà¦û¬}nSÄ1T¦»jaš¨ôMã=:vx_ÊOk1Öç©S§NŸ>MDŸûÛÏmòrê6Œ¥½âqØ„JõÝús»žâa¶'-m;DÉÞ‚*Xò0oøNÆ ¼H¹Vè7îȇ$zðˆv•pf­ 2ÉDA§Ëµ3Б³+Bð0›}r(%g D˜@MR½„¿§ÈŽ2ÔÛâ†!’%¾º)²Š>ˆÁFž­Öm““ :¡ˆ 0ÅÓh»€w ÊöiÇÖÝÛV5Bt·ªx—é±AÑÍÆÛPÛVÛCÊÆ Ý8±ÚBUÔiŒgøÄC‹p³¹#h° ;0|À´ŽmHVÌØù 㥊ÀZ×–lÜþIVYug¶<‹î‘3ž"Âɤi/Ä0æBég.š™bÍ,"\"2ºö¯ãøš†ŽÝC`*MD¾U‰˜}ÂkS[ ƒSß  Ü†1ÑæªŸõ¦eYp[“§ìbPˆ±Ùm^±Îƒ„°™<§¯ÂYÎÀMÌ2Ý÷cüq=v‡åÄM}ÙÉCÍÅky¥ÙÛtݺHnwÄwkùxĪJGBþÉo{Ûß÷¤'Ÿ:}"ºÙÍnþ]ßùÝãâ{ÞûžBÍýïÿÀK^ÿ»/ú·¿ò†7üÞW|åmÄz45Tj:Ÿ?ûÂù<щu&ÉÌ÷Àü ‡½‘œN6%8À+SúïžjÔ9é¦ËîöáÒÜ)†‘ Å‹»<j¬¢Á·©ßn¥öårQÐe½W—±Ì± Þ…½–šF3"1¸ñ߸c(€CZSà?r“‚Æ@²B¼DÄ Hªàx²Æàëºw h±“œ¢ç3Ë9¾PmPÎÑCK°§À*­ýãƒÕ¤©€•,r]–e`ü*r²®ëºê]&æeY–-¬œŽMm„RžrЛm¨‚™¦Ä•TnRJ(Z“ý“ï²Ã3(k„<—÷3Pm×vË#¬ëzæºëÎ\wݶvèœ%h’ñô™Ef†§å¢£¼,ûŒÇ·}1¤ºw ÝÐõ(cˆŽ"$Œ8m¤=úñæg?Ó² ùbÅF%5'Îl²ÏIXè°˜’óò5XÈ6TRÁSÀ¬Äšg¥bfÇ>+¸Š5tW`ÆÀìDԆͭCÁ_–ý£1ÊÕÂÑNª¤vÛöC¶ ;W+¶áÈ⸙<²}¨#ÿ×0®—ØTÀ…ÊXFjù '⣇´Åèu7t‡åb´ìôxÌa¨Ì~„'5‚6k_mêè‚MÏ‚I•ë(¦\˜DI8,ˆ"2²+dUy\Ð|tÐØ±}!Ù@j¿ñÎgNÂc3^cŒvþS U u÷þ°k×Òňpàp[ˆõBóÖLC;KŒ¤¹W0€„µôšP2½ÐÎ z\?Ýf¤XÎî°?Qj‹F xÕScõKìì*Ÿ¸ŽÎJwÆ>yð5?Ga©|¶§Å>Ù¸~àCv@¾lekÜ¡*ÅÚåpqâAƒÍƒéß½øW¾é›îÍÌyÈ7ßéÎwþП}è«¿úŽçw "úÜç>÷²ßxi©ñ-ßòm#¢=÷Üsò‡þÂ/¼`u²SË¢:´œ]Dy`ú49Ïö^wwê“£¨À?éZ!P>=Ú6ÚÓº˜µE78`êW#}~]#Éçó»$gE.­[Ú>$}aÌÞ êhqAâ˜KDøm¼D†ªî颭pæÖ4ÍF“5žÕÆÜ»ë†ÐxÒÌò†ˆ«ú£ñÑ9÷”6H—øuƒŒ›††ù=ÏFÀÞÚ;þŠz›¬E­>±~Âé*oµ9‡¤ÿºèƶòVÚÇÁêÈæ»F H l«Zٷ覕mA¤zf» ÄÙ…{ŽLùö‡³ïÈ•5¾|ž=ç+%EQüµ{h¢Aêü}‹2ã=ÄÏNIy¦ vðEHTÌ3ÄCaÔ4ªâ‡[Û6™®…Õ¹Mޚͨ§fpuK<žD4tÂõ‡ø”„¡½/•†\Ò.ô=¡iàÙx1–’yxœÝ²" ¢Iº]%aø?2ÏЃ->n6VP#ZØèL…‹B`#’ z5.¬ˆ~Ë›ÙÐ.ÂP›”è ¿ÀŸí2"æ×|{ň˜^%^)Hu˜`Q1(0ãcÃQáú’6…k»¿´,öA8³íŒT0ûüM=-ÏÈ ?+láFrL°q{œ™IMž‰ˆ—HåÄW 8 ÌñaC¶T­?¢S.¬2Ç{â ‘6êRo8ª’’/¢³2Ü ›ý‚DI_¼ì ^·œ¤Ôx¹ñç8÷nuܱ—ëN‘äïŒHÒ™Z³ dZ2çµÕDqjb6®Åg«M/Ó<>T²BÖEù¯ÜªG—²oº²ÿ¦êSÅ¢¼.;·+õ4¹VÍ]ÆçÈÎa˜èÒ7¿é¹?ûœ1†ÿðËþá×}Ý×Ùì™3g~ìÇ~äÏþìOK•kþæ?ÿ›¿¹Æ¨qÏFÁNÛ¦YW•Slƒ$Ñ»VI@„žù¨6Õˆ Ï.üzþ´±îŠŽ”!ÚB†¸Sõ1ò™¬™t¦ Ä6udHµGBŠPųñ÷Gš’æôË‘¾½£¡FøÁVܧô[­Ï0ÿày8¬¦O¼ÆÓ­¨çE*ˆœm„…´i+Çyã˜/{œEng“C<ßH(2Åð&Ê6SµXßÔЧ۾ ü`§u”z¿u×:ッ1”‚ß­,$Q. Æ5í"öÞZ ùl‚Ž c–}XûeB|®®çkìh!w•-æàØÏý‹Féæ0}O’nz²}·!Hå|„)åȯƒÓNö×JеR¥³Ñ"zÓçlê* ¬ŒOS-K~%+Þ" RhëöR®œñšDµ ¿HéÄ­ÁÚÔ†BÚ.1XéÕ'/ƒÞxÃTÅÖÚ-ј=·hÖÿùþ0’K¡ÚYÍfC|È$Þ Ì“( æ×‰+µ³„4BêÕ G=?Ô¶äxÀ¢ÞzRVhG÷aÅhÑ›üÃÁ鯾mt0ºs3ñø©6iª‰ÞhÜ}¬š1÷'…-Ë¢·ÖáDþ¥ýâ»ÞõÎï|Âw_pÁçw‹O|â—]ö–ÿÊ‹.¿âò¹ã¾ðçοÍù·¿Ã.}Ó›^ùÊß‚@y=‡SH.wÇÏ ™Þ­ÿšG™[/áφo‚rGrx5ÅEúù|‹¿ ,rúÒ%ænKÛS£•€Ì[Ry®ORE èÒóúÙ{Bs{8-pF}µ8+VÛ®Ñ-’ÂåšÊF¶>fÓ¹Õ­ñJýÆ¥§rsWRj™—e9µœºn½ND˜åôéÓ×Ù.P^Æ·…˜%½^¶×MÈÃp?FPg²é²J8f÷ÆŠ‰—eëÌš03ÕÕq©ÛæƒÆÄdߍæ)ؽc'À fc‚ß5,å‡ë‰þ[„^¡ÇÑis©¶¹âÄø¤jÆ‹rÖÄhm•q7LúAN1˜÷8&\Iíµð¨-N[ˆbÓ„¿‘¿ö¸ÇHáÏ-m8ÇÚù ü,j½ÆÃG IDAT!Wøþ-ÆÝÙN¸¨“”بÁ´ l¦àé%Ž‚8e|cvc€'-·¥TÝ"&_ÍŠCõº~šÌ„²³Þ‡ä“—¢üèò(ñàEhlaøbð±¶VCms(râä3{1qÒñ)„Uƒ\ºphú+S¯âv¾QÄþèg:¶<¢Fƒ‰Ï壙NFiR´ä ãdÂD¿`y-_.*Æ>à &Í·šsó2…×$£C‡‹7€d†Ræ„L(_U›ô…ÓsÐBl !›h¿µ•-}—¾Qb!67Éæ>ÙžNü`wdˆf3eml–‚„l\8‚ìªq®ù’*Nî¸ø¦hÜgÑ)4¢m[ÉÕۨ欎Dj^Aˆ©S Ž9T‰Y^Vûz6dº¡ê`jäùËüÞä€nŒUû‡Ò¹óMLhÜW}ÛÿBDòªãDd¹'¥ªïgN`T}TƒŒbȘw‚ïÎ$ÔЃÍ^õ‹&9Ô"IÍðP‹¼Q²b-,FÁè,~lÆÙCKòÄhüo­oõÚ<6,ì8µ;uÇŽâ× Œ¬U ƒ”0^‹%\×:öþ AîQµ °¿÷c(FB®mkoðU¸ÚOÿ«Ñ™Úª€æ•ZìŽ+ú¦áNç³O\Îg!PzôÅ^@©ª85bþÉv«™®¬2â^–܇çÆ[)îp_ \bB+yrkEÊ/¤p<ûº°‚buX.²Êc1#T$×V£dHÑ·ƒž­»2ª9(éÁí#ÑI 2@¿'h)c2†Û舀û™u†bÐ’wžá©©ÅH°kƒ)†*¼cþ˜åÏãWŠ‘¤ ­½äŒÆ³fIPä1*œ”|Kb2¤ª8ªTIjj¢²Ažä9³J¯ä Ôˆd‘)¤€'‹©AŽpÂ"ÌKbž”c°`›{HÈHÓÄ¥>ï%Š' Œ+•Ô¢WÏÄÁñö¸W’YßùäMA‚áSÌ¥ímƒéŸ4Ê-)Š˜pƲ!õ$?m!ÇjT@Óy¯ÚíYZº9–aÅA]‰ÜªvmßJiM¡52Y–+Ù­´£UwW¼L¢´¹ûì4-dÕ®l'Åä í)D«­ …;Ïèy1ž¥š< 6¹ä¦xY,¤#…”#'vŠQ Œu)‰F÷~ãÇ­`ÅSº#0wëêÐ#NÞFW)æK$C™Jw­©þÏеwLâž©ŒKíß“ø%»‡Z&dø`äDeÉ/ÙÑ LÕŽ¶é6/¼œºÚ îûŸ‡>nú;uò–‡| ³i8FÛtÞ'T^ðhžÞeª*ÉZ/íádj{3yðÓ ˆuuX’Îåá) èZ·Žãr0LÕµ¶"ЋÉ#mu“G?âþòáõƒŸÈ6·«ëádÒ¼•23A–¢7üФ»ÉK?æ…–ttþM—Êé¦]ÿ‡CWã•ΩF,ˆÛº¯Ï¦‡jK]¾­F½ïP¦!X„..J¼a›BhÀ"yÌ]DóØ‹Q,éŠ;¸*D¶g8-qFÜa÷¥Ø),„M#^š‰i±y0Ä:î2>ïÙ0Ñ‚§¶¶Ä¿P1ö5;ÓÛ#`ŸÛTÜ$'¢eÁìB’ÌasQ‹Û P;ãξTa>˜G•š¢£9 ~zŽHpÞ>ÓQmVCÕ91™þÄgyZƒ£Õl4ìidQÛQÃò‘¸øa\ôïC£Ü*õ '™2O’ÖïŠÄ «÷±5W0TŸ¥¯"h’…+(¸ê‰t¶úø;¹ˆÊ[W½½g‘çÆ]r,þ³{ÄL8\á$cl‡si¥VT|Šô1Pà“Ýš yL*XV”<œQÂ"¢Œ0â8Âßy‘9öSuоXÓ¼*ËnŽîLðNe ‚D óš¶Ù$šI½ Iòyêò#ûñ‡K>Ï(!¼ ³I8—ÿ(ÆÊª˜£ÓÝH¤ÿÇÂó[-tM%é$,.T¬ª¨äÒ‚ŽÌö×Ö ¡„EP¼ &!Ï-È=XÂ\Zcl"S©î~¦~Ò²¯ÄâùzŽ[FÁÅ:…¾sp¦t½7Œá(á [Û÷¡…}@3è(\ؾÉÐçèNL3èeíq>˜ˆÐmYÆœ—eYõ9¦ñM  QÉ«ÙcCÐÖ¥ úÊeá3gƦ}Z–Å>Xà†lF êâ†M¶TYô¡uí.ÅÔ.6E’ªÙärGº¯¢W #r‡ŽËªv¾ é×z £…È6êc›ä[Ç‹Bbo¨ªYîòº›ÁŸ :I¾ ‡¯Ðní^IÒ9µ;¢Š©`3Çx¶˜,˜÷#‚åôWˆhYæE æ® %zµª~‚wkiDËš.ÃSêP¢Ë­Ú3ÕŸ¿9íÁCßè«1ñ¸¤½v¹yŪVÊ“êòäÜ®âôuH)á&ûÛ@ý.L´wB>) Jâ[m\ ’Eè 1ñJ«Ÿó=Gj¸…q¸™Ü˜¨¬óêP²I(ìÖÄ4‹O½9€¥\º4u€ðX XÇG¡‰h|ç.B%”…"®c¶Wx È·lÑêìÒùƒTÖBˆ”i]×ea¢…HΜ9ã¼bŒ-Nh,CÂâ5BFûÇ*ëBË4Z[Ê.ØÉŽæ±nývÝó—tŠó\$¡sÄÅ©·ìÆ|z’æ«~¥J-ζ†šjC¿’ïx” A@TFªÍ«:k<‡Ié·k³ÏT‰HVYÝômhÈ×ÒRÐñ~U»jÜC¸äQf}œPxRuî–m¿–eþ¨„ýõØEØ)ˆm„ÕIÀpS%SôhŒk+ÿ×1<&õ‰{œrA·R9q³ŒñSJ­c„´1›’x ñ¹a ðnVoÛÃêrþ™.åáªû]½hµ$2žû'Rx¶ña¡•ôm==FïðìzBsø˜´­Ç:¶ÞS‹:à*œ-)<6[ô‡³öw78£žLêïΉÒú·nQÚåïµ4º®BPŸ@kSÐÂt™¨ÑßòÛu^YÐYŒ{l¯dnM[i.‘Z3Á¨—5ìøMkŠ9•A!q”ð0夓üÁ-hô\8¨™ ›ôó~c¡UV5ÕæÔŠÅjñO¹æÂ _‡y½àÎÊ¢ƒvAbiùéÅu]—eáØ¹À<,%M·|Tô"ÛScÑòðЫ%þ–øðtì_c9fæúÚý ÓÖE#Éî¸ N¦ü¥£â Ô‡@yœr7Ãç~:.¹UTÇ?ýâøÓ¨ƒãt«¸R;1¸Ïqmÿˆº“ ^¿‘R±«“·ÈÞ5¶+_(QÄ“-!tÍP¿J­ˆô>F ôßy’Ûd”Çuoa Øüía ub€¶ªÅ‚Û‰ÎL·cÈ^œ5síÕ·è“ Õ†ýQ€‰î_Òtvr\ì—ÍÓŒ@vµèCÈc‚b(F‹~ôo‰ú½)Á8¨TxÀe[³Ý1•!+œˆ)©†Ú=K¬,k~r]e•uYuƒ™B‰J4¯¶¥Î·ÕݼùåCjV˜Q\ ©”ÇÅsŠ[s¢-+í¨œVœ9†n;üsÊ%BÝÀD"ÛóV˜¨ªƒ·û6P銦ÐÓ…ƒúòz¯%(jÜ‚VP'h”Wžêø%ÿašnL;p+)’å{l蔜˜jÍ î”ÙÔHçiö ‚›ÉCk”n§0)Q€7C¦ªµâ0adù—ªy*ÛéeÔ5‹+ê€HúCƒs»^Îí•k"`¤ù Y œÅåå]!}îcÚà4‹Xc{h<ñ:cÉl·«¸}uãh¬Ò½=[z4«™¼;?æ%¦¸†ìÿZ2d`VÜQ» æ±u¨øG›ËÌCœ*Mh+—’ÊŒGöŽ$qö‡´n°Ù¶{)ÐÃ.Á="Û„bF:y#"¦JœáR¨«ßiÍb1>ŸO‘hÝòdÛ-ïÛùΣœ.8Ûæ&Ms¼hàg£ñzyoDÚa?ú¢.®4-ØÚznï/CÜЯŸzÚRÒ;`N8ãù0"‚´b冚«<ÂÏØÌa $éC2»ä¹ÓH‰cŒí©Œu=³ðB dË-‰Á‘ŠÅp´:FšCeÄ_á“øƒ%"$².Ë2Èï܆[DâÏe§ ÎÞÚ^E÷“/ËB24fN³ÙcõÔ«¡3×]óèM$g¼1³>p$"D''«®€Ž-|éÁ/¬càÆ*š´ÌÀW»-%<áÒ®ýBÄlO±jÄ"þ”¥›m“S­ï§…pÂ[A\¤3+÷ÁÉí‹eGØý”6%û•!—\aµµ1 0^ˆ7x„ã ºÀ•åð’IÆwêÖv'l¯}@ £cDQ™Ö3Æ.g?U"›™ø¾ÿt#FW høM T×xÑë'ë -̼°œ(Š­ëI‘¹¬,ÀfL¤ÜStLÌY2ám¥hqdëºÞà7‘“““ØÕœ“JÞ,Øäðu<¥¥®‡4ÿ{r²º’³¾d. V¯Ž½uc,jY,3’³Lœ£#Ÿ‹éŽZ™N®÷ªîf˜ÂœÝš&–ÅVX%§;«SPaÓ ´ƒæp}÷4R‰Õý&μzêDq”¼É‚ºG>°Û$=þ˜b«³è½id«“’û8F¶ÐôT|e-ÏAœŸ»õ¥õ¸˜\â@â;06²ù…LFSn¬D¾°¤©”°$—SL%NÆ“˜ñtaxOày&Ìhò¸—g çHÑk)‰àp{'_îˆÙ?ÙÊD4¾|Âð¦¾ð/ɹBÈ›² yJN„nÿ~I„ì `£‰ea"‹'š ¶w{f¤H^ÕcÌw|–ÍãAÖ,íÇ }-:˜D˜à^§^D“ºf=°™ËnÌŽˆhõô¡è”m›¿‰÷)n¡†#IÓÚR8ÍxÙÆÝò–â×ðfÄds¸ª'Ú&c†ûÓ5O`qŽ]ÊtSò˜›Èoº‹H2'ÅÐA"6qˆˆÈêÊœû;”bª2Yql•˜Zã#üžÚŠZ£úO_}bò(z´óÇï{Ç>¥ÿß?.øš{Ù(ø¡£¦aØ$þbx¶W|AðJ1ðÑ—¸Båït?%r9Dx$Ô_Ñ 5 ®0‘®ºÆ-F2ð’ÉNµQ_¹\- U‡ø%²@®„9\öÔ5pSÛ£âÿÑVT`Ö6<8„”6N Jü_ÐíOÝDZ«ä„ªçFü ,?"ƒGÀ¥Lš»{XôãÖH$—Ÿ:l,6 VxóYø,|a²qSõ0…Z ŸÇЭë*²*’åßv„ßt%ΰ:™âÙ¦w—¸¨*Zßñ0çeYNÖò,€g¼}òX†œˆÆ@ÆDv‰ØÉ*éÖ’X7²fyøkvn-glOqCW #MhÅ%Pb¤æŸ%ri[(Š—ì'1\>‡´e‡vÄ+ñðLÑàûÆ<'Ó­lë6Á­˜©ÄVÉ£$‚e5"w±–@HMÃõ<&6AÝ–#Lš3ûNávd¼Q¹\–t~(ôÁ{«2ë••ì[t˜Ïž3i"ZФ¾[´TÅ gÉeÝg²+IÝ' zNbÁÓ¦e- îG Éáy”S0M^ÌvZF2/êΚ/‹˜ç±ÞP¼ŸÆy¬”@¨QzhoŽÙ9bQ+a$Ñá²â|5·¼Ó3®ûSó‚%˜PÉz÷Ú/ñ,aŽeΆz—®K9‹¡ïIQцÆÏ\¯Bëi:\#»)†ãéÚ„ÌJ[:y‹ œgcµ3CÕ(7dÿpU¶#¶µwézR–µ`šTÚqVàÞDøÍ$t]Rf²©{¥E³@Çi»7]¢‘ŧFÆÍ;£Þž`‹Ù8Ùyê æ¶p]›–À 3¨DîÐ3åìà:'©Àö%r úÂ|‹—¦N°$IUfe´Š¡Lw’ ÓöhqýÙƒíÎá0~Œüí2µ"}ôuÉ)æÝ\: S6‘XÉɯÉ È\ËÌUwÆuHÜÛµÕ=4ùk÷Ë9;Ãèmî§oýÅF³À즠3঱ìB ©õŽÔCS/›éØ*fj/$´ÖlÃòlÐꯔ0GÁ1/[ÁÔÀi²å¢ýi Â{q…kdR ©Y¡­QÈçÛ©øBù‘ëyÿOF±—–h¡Y.°ì¸½…Dàl†ÊΆ(U/ëÏ !氻ߔ‚¢Æb9ÔR#£t3aÿo7ÌL49b%P3mÅ®S—ëw°aïä‘-}Îþ”X;³¸×’OeȾ‡WßÌŒ¹á,íŒ(û&X€×ì­ù·•É%+^§ß½?!äÇÊ—šqm3ïÍ¥S^3¿i§ã zUö·*á"çfƒjM¶®Åã=-<u³ 6Giv!"ÒJ„á·¨ÇOÀ#ÕÒqQÌã„â—¶yc*ÛyË4Gœ“”àEÒ¤k’cñ°®@Ƹ¹9ÌDZ¡Öv¨˜iƒÂ¶ÒÔs?gwƒbÒ顸(síÉú‘\˜s¥ Ú"(Å`bê¹at<™Ä–BŠÓy^Þí¤R/‹Çƒ‚EÃyû›7E׸¢FïÙOwʱo%Þ*þÿ—cròz¨ Åj¿ÂÁj²dj,ÈÚŒiÜøSb´ k+¾4)Ô¼ùiB–D;€K*\`= gµfó)åP â > õ¶\´bùÆæ`CÉv}-b0 Lw·h-GòûG'áxËabØáµâå× ^Ðì”x7">I…p‡‡ß¯• ´ÁÏøÔä]¸eü;†°}vÜ'‚Gg[¿Œù’LQ kHq ZüÝÔÍØî;+ÙÃUäÔ²øì6\!„kvˆ %±#úUg>)¹oÝ副_“ì6?Ï8kni›|Æ7&ؾÅHd'†ÓºufË /ã«„ì3]Ç9•µþ É&“IRF›Öøö+’¤Ö÷<¡B6ÍÛ?™B ¶Êˆ¿¾ą̂”±¦Ô˜ôyèTˆšù„»~.ÚVŒV ΔcÓŽ5ØëñÇVaÞ ÛˆW(GØ/T'eêßú{˜œ½Ã ©.}*d,ÉÉŠAI¡¡Kú¦vZHÛ¦b‡²ÔµÊV¤4å3[w@Éõ¦Ö&­˜YIÓWô ¹ìÓ)F ñ²8Š2Ç÷Ò$ô!G7AŽ“g³Å^°bÀ×É;ÀkóðñKþ€ʰñ"'­qj9µÚ‡h×⫂ΗîƒY•XÂöâ;GŒ³i¦…"²Êx†d]õ! RäÉæfFj¿±‹„1´z6ÞtÏŠé¼Ø‹•}mf„Žœ&^ìh¹0¡Ûh›Œ,Œ…{ËÕžƒP·´ÆŽë*‘sJ¼rnjÒ})?Œ‚]$P~Ç ÅK»ÌRND:LrœI„!²‡°ÛæþM€¢WüöÇù2!6çôå\FÎ,ÑÏ&,@šX ÐõÙ^ä•:™¿Öн¦‚ÄÑ\ðRÐÈÂâ–C²Ø¿.j?™õ÷øðHT­l$†Xx¥Õfú$ɹ=iGb•&JBÑè©i>$ƒ¨…‰§–©b¨†‡í@º¯0-3Óbƒ=p £ñ²p±_eñÿ&æáV6×Xp+œ·é“™lä“ ³E"œ4³›ÇÞM´y;Aí÷—…OŸ>½ØÛÁ˜4DçTiàC+ÌÄ?ý¬Ÿ¹âýêÿ=ã?©UdÔkY,Ù?~úYϹâýôÿžñŒgÁ›a Íd &AôL 7§‚°p*eÔV ‚¢Ú³Ô_1Öùâ¬tDºîÖ;Ý0«ÂÐTp¦ÀèÌKvKÄÄ¿ùŠß¼üò+Þwùûßwùû/¿üŠïø§Om {×´²×½Ï}î÷ ¿ðoðÀË:–ã™—â¸3Æ¡R€`)ÆÉÓdVTWMÉòHU–ŠÞLdΦ yP=nA;“S5è_‹ñ ­Cµê¬/º¹Óïôî÷üÑËþýKÊôaHî_ýëÿýüÖoý¶oÉC求XIÅ““““UV›Ušmy–È'‰.‚ÐTÎþ‹Ýˆ:í&Pt%µ™* Šëd¿iBPAÒz'ˆqç lܳ(gÈ£ÊÚÖßLe&n@>éâȧ+Yt¢J¦® éhÒÏ"ÔžýäÜ›Üôïx÷ÛßñÎßä&:¼-æ¦kJÚ.àl1”tÀ%éZÒa®º‰o†#aŸÃqM¦¸Ù%ýBB‹œ¦›ÜäÜ·½ýmo}Û[or“sUñøÊµÏó©»Ù”x'çÞä¦o}Û¥—½íÒ›œ{n#Õ¿‡GÓqÍ<‚ßa_¬ˆç± `aMö’‘žE IDAT€0‘·éZf@½í®f;ó•“<¦ØŠ+†«xïûµ‘9\h”¼Pˆ² %G™~:¥*aIµ–áÔ$µ9õi‘41ãܬX/%è7˜ÂÑ—:cu±¾8éØ LŒ¼0.sh:¢vÃ#4Ì™‡Ð »†B(.žóÅ\ ´)ýür¹’§v섈ÀZE +ŸaŒDCt##~¢Š€³åˆ:I^Ô‰Ù¬âÁ£*h›îg/Ƽº`M—~qùlš­÷RÀègg j€ZïÀ |F³¦Ô5"CÏ‚Áa@™]dÍ ó“Âyê~‚UX¡E³DñMÜqt^×Ï7ÐÊ#ßtÉ—Õ!™—.ô£³Æ`€ 44ä.t³ga«#):†ê˜æð©ÙöÇDDï}ß{®¾új"úÀŸ\icQW²"òXVÄ#µ–G½kg&2üу`Ûä[åË­¾øÜ)“ë]raéU:š: ……ˆ.¸àkŸø=ßsÅ•WþÜ…Ïás4 m»$e0ùïx×Õ×\CD·þò[ßúÖ·&Pò43pÞyçýä3ò¾÷»Ÿˆ¼üß¿\‚CY"’ôÙh×$‹má°±¨]. âaå–QŽ®~?žݰЀùlÕEÒB Lb1b~Ô£AD¯¾ø·4ÏE [Jþ Îù‚=øŸýìß^òÛo0 (ëºÐKt— .øgÿü»¯¼òÊ\øBaïøIJ[‚ Ͻ$|r‰‡8µ¡ìæÂÓhláãÑ©*néö.ïr—»>ñŸ?ñŠ+¯¸ðùÏo^î“5^\ˆ™ß¦¼)~“N#~erÍRÄ\T™íq%Uþ·'Üå.wýžïyâ•W^yáóÿN YW˜µ6Ó6VyrØhìÃöÐsÎ9çÕ_ü™O yd°ô?Àë&œ¦ºD•iƦ‘TÿÖµA‘bÛƒ[p¢$´ '´–˜”„ˆEúÐo>çœs^óê×|úÓŸ² £( U¿¢©2ÂXÉeæo~èƒÎ9çF¿õšÿð™Oú0´oïxÇÛ_ôK¿x‡Ûßá)Où¡vuç¿í‘nÌ´ôáaÇ`*»Ú%/ûÕA$Ò·~&-Í(ò\ .„Ò:¤B$1™yW¹tÌsÉrÉ#ˆá¸Öi»iC”¦Ã®L‰ÈSZ"y¡LµÛE×S'aãB<ú68$ýIç9¢èÄšŠ7!d·eÆM›k%74ËRþë´üŒ‘šN¦‰¨3褲ÑEAY4… ‘0 œeGõr21²léôq• A³’ñÞ`Kª¢õŽU•øÖÜaŽW[Á«]Ö$¶XC8WæO f“†Sñr&1Φ °©s>y6[:‚òª )hŽ2~u4kŸ§»²Üò~6Ç–ç(+Lví3¾ëáŽÊMÙ%À¢‹€6Z×¾ö’ÛÝöö;ýÞõ®wúÌg>=_wq¬ë*ëêËBºW‘ØÒþŒ¬BDtá…ÏãÏZ¥|¢¥ÿÝ‹/º×½¾þE/úÅŸyîÿámL‹]kØTÐR&ãϦ“h:›ÚŠbïCÒ-#ñÌuúضmx4‹ÕÛ›Ö<í‡~èw¿Çýîÿ€×¿þuW\qEîÅ`…ËN!CWD¢Ÿú©gŽn¿ÿIßÿäøZs~]uû™Üô¦7ûå_ú•;~õçwÞðìg?ûÏ?úÑÓ§NŸœœYEnxþó]ïúó?ÿóÜÿ~EˆàíÕGq¦6u$âe‘õdv8Šj”.e—ÂdÛtGJTË’x£¾ÇÒ[–\´ —ìÅ£ðU5›îÞèFç<ø!¼îº3ÿáµ—¬ñöB=ô ûßä&7þíß¾äÓŸþ.nèDMˆH~ðiO¾ûÝîvßûÝçõ¯ÕW^ÊâÓœT{,¶Â[±¨ŠýŸÃ&Í G'ÖN]5ÇÉDt£Üèï~·½{2mÒB“ ŠˆèiOÚ{ÿK.yÝW^Ñн9Ï~í‘|ô³Ÿý,õ›¯xÅÿöc?RŠåYpŒèy·øÂ7_zÙŸ|àOñðo¦ \Æ®^‹E2v"DðÀ¦ƒšÕEDOû¡q»ßãþ÷À%—¼îÊÁiZÙWzÈ«:GDô˜Ç~ ½òâWâwø¢rôÚjà{6>5lÀæ™]*–|ö®Óm_¶™a8è^ÄÞÚ­?Ewè1y²llË”UH^xì’XWa~ÌcCD¿úÕäâBí¼·ìH™èÑy]|ñkþ.AÈÏ>ïg.»ìÍ¿÷{¿ó‡<ôwøªëÙÊçõ¸à®w~ñ¯þŸDtrrò±}âÍ—^öË/úÕ|ä#^ LY]r £Kn”:Db#Y@Ϲ^©>ìáßüÌŸúq¬ûêW½öOÿ©Ù hÕ&:9ìâ7@RÍÿV·úï~ø_>õ‚»ÜéæçÝ|ÜúÉŸxÎ+þ¯WEQÄËÜû3A%´l4g+(ÍW«La–ß7ºá ßúŽ7ýÅŸÿŃøp½Ï2Uš~e¨™ày‹x¿“È´yå-VÅþǺ±/uóØ„b‰(©™ÍØøiò :<[Q£_h¡ÈV9) ™$b{åP tU À ¹DCÚ½j<žb…Dç±Á¼ûKS«.HêT¸@Câ©£+mðGqÑ'qŠ=¡ñšû;mG,+c¤ïuš_}Áì¶‘¤×šæ˜·Óõw# lžÕ7ÊpK÷¼µ𸛜C*´y4éŸ÷#8gaÚØ$ls ²ø„ˆ2–€eçÆjûÇstÅ¥Ø'`#bê¨ç”S³ýéî>íi?|Åû?øøÇ;[™B¹!éÑŠÊ;tÔù\dÁ;¿û†×_{ígÞýîwøÃ¡j—SØjs§  §d‘™gZ†¨íýC¨<ýÇŸ~ǯ¾ãK_òÒ§<å)W]u•99c6l l@Ä>’Äü”§>õ½ï{ßã÷8SÑ„ùP3?õiO{ßå—?îq75°=r¦Ž"$«øCÿãVÚá'¶(‘IofswÈÞÎ(|– ÷À}ozÓsÿãüO×\óרÎp$zì#ˆèÕ¯ü-íK /zdæßÿß¿öÚkÿøßó‘hOéZ®Öê¯Ñ.çk2¡ ÐáјˆkÇWg*ÑÐJú=[!is\úÝßyƒj秊!1ÇÕ×RJ˜?qõÇßþö·ÿ>øÁ6„ù'[A˦4´«È:àq]õã DÌ‹¿Ú:Ö}M8°=üîŒÓ˜,ôXÝÑÀê1Ú¯û¯óÏ?ÿ‚ .¸êª«Þú–·¬²Ž‡½½=K‘ˆ©Œ_îBüâð ¬i‚èiOý¡Ë/¿òñÿ'-º™ÛµóeA@‡ÆLô$ÌË2¾½@"²ºÒ®ëà—dü!b^οÍùw¾àÎW]uÕ[ßrY¸ðFý8±ƒ¡!ÀÜW|åWÜéÎ_óÑ«>úG—ýQŠÏòxЃü_pã;Ýéη¾õ­¯gŸÏCˆèÚk?ûÁþé?ø§W}ô/¾è‹nùèÇ<ü坸µ;}ÍOD{NR€[áCøÉOyÒ»Þó–oûÇþ$£ãN-XŒ9âRû¯¾úêw½óÝã¿?ûÓeš7YA÷Xç»3†LtƒÞðŸî½ïûÿ哟|×;Þ=þûÄÇ?цï9 ¹óÅŽäÒÆˆ»}1Ñ¿~ð)Oz÷{Þ âOF_aLÆ1Ÿ=[>m€10ýšÄ‚^ÅÇqø2uIn¨[¤fºÃD®ÐÄ*rÕP6®È„œÿÃNñŠÇ3©Â·Nº FZ›\eŠÍàZ!Û9Í~(˜»ò[$ "Dk€½»Ò­r!*ò…\€Çdkª8Ûj„GêÛÕ7޼ä²,¼$ …üÁ>=ÑÃ#En«¦³S°½eFÁw¡ÍGÊçí}‡Ø»SÜ*"²WÅÒ¡ÆC°%™ˆ™£ç]ŠàË&—㣽êškþzœßüæçÝêV_>Î×ñŠ—=¬Éœ% óòÿ܆ީW\4c‘jƒ˜)ORû§rà!Ó­BKÃP¨´ìÝ;œ3}mØ_ÊARèÊ,k¦²É/3‚WJ/zÉE½ä"ƒÅzü㋤Qž™5Ç2\´#DDË©SèPz.¸ó]ú°‡~ðxÖO?+ƼKŠç·#R„\Ú´QbŸ ›lÆ}C Ób_Pï(Í~´‡ä ma )a8ä·[ÌÒ\ñ«Bû_õòñ÷V·ºÕ×~í]ÿâ/þŸ7¿å²Ê¿î£&fþõ_ÙK_ú œì"4Y@pàUjIT.Œ­ÕZ• *2œ±ù$›}îZ+2‘?T:ÚýÖÔK^rÑK^rѬè M‰ mòMø‡øŸÿó¸pÿû=à/üù>ìÅ¥UÊË û&ˆÚ¤C=‡ÑÖB²0"zÉK/ºè¥%itÓ­ ÷†j´ŒåÙW½ê•«‡‡C>v¢÷ݵópU¦Cclõ‰ú6iëãjÀÖѺwQCaE._WxÌcKD¯ºøâ5Þš¦aT¼ǨCb?|yvÞÁvVǾ㻞ðßu½«ÿ×8®¸üŠo}Ì?"¸ÑÎyê¿xò?ùöo}泞þè‡?n¥CaC<ÿ@ÜÞ­™‚¥!Ý·\zÙ›ßtÙ¸wŸû|ÓsŸÿÓ‡æ9’Ï5°ƒ¾á¬Z±+·¿Ãí¾â+ÿÑÛÿèOügOî£B_!ê§Ðù"²ð1àr#ìôe`/™0Ë Q¹C@šN?¶*¦4ˆ˜v*Ò »ˆø‰·«zAêð•sìÉ~³iY¬µÎ\ˆ YI wÌÂÉ9¤ˆþ¸úeæ”]àñÇâa!û•µ[䢡%æêAø½,aÃcÓ¨¾y UÃã(1;õàÞ(î×=K,0òÉ…îªycÄ©§áwën>_Ç0 ÿ®^rå©SZ,rå6ð‹¦ TSgØ B˜o ãÎØâñ‚\øÊW½bœ?ëYÏÚ7¿ùM×~öÚY©N¸Âúâ4`dfòTö³Ÿ½–ˆ®½öÚ¢vðo©nØa-$Ǩ5f†g èÙ3/Û¬"¾áûçMKàÜTS‚çíؤl›U@)Eé^ràqxcÀP”"D ó ­b¯Ç#õ"ú¥_þåu=Óã±Ã×vƒÖ ´ì ëÇËN—æòéÄj«>Øç|p”¦÷xOqP¦×FæY®Ã(Ñ—~é—ÞýwûøÇ>ö‡ø&mfû|Ì#˜ù5¯y­¬'»ª¸ ŒO±ÁG †®éLhΗ©>N"Ù˜ 7«OŠæCtNËÁ9z×…-в‰g à %÷M‘hïŽ7=±œ0q£ÖX8+Œ_afÿàÔ¢#²b,£WṅŽäHr/Ë©G=ò‘"òªW½2LFpa£ói(s…»¬ìøÀmº‹úP`¦Â+è¢z›hÃøÖìÖäÎ(êKªÉË2¼¸’¿,§ùÈGˆÈůºXûµ%Œ!5 ÿC ÚR'BÄËrêx˜ˆ¼úâß²¦ŽtÈ_•èßþígŸó¬Ÿ½ÛÝîrÛÛ‡;Þþý—ÇÎÿçø0çŸ<Ž+‡§þÜk 4Ÿ4мÙyôªù¹©E™{(fHðóK¾ø‹ˆèþjkv©¾>‰©™áhz½öŽM¸†¬lxÊRWÐ9bò_CIbÝÆ¤¨%6%ë|“F-ºTÇ8vÔˆÌfšÕpœÄT¶'´€=[Í¥¸N0­¨ì™¯N2“v Q¸(F|âáoŽð$1pPÍz ÇÏÈ]¬ÝlnÆÅCY#Òl‹©FZ!«Ãþ1Dææ¨þyNÅzOþ6Wi±a†í`åÚ-²?N%¬«ñQ\Šæ*¤ÂΗv AYüÿ!У7Ìì_ø…_ôð‡=bœÿÚE¿z°|Föÿ3¼ Hã‚}‘Ñ8 šŸúÔ§‰èSŸú¤_‰?Ù´Ëh”ç¶·»ý÷?éî~÷{Üâ·¸úêO\zé¥/xá…þð‡ ŸáÏ?øAþîï~Â=ïy¯G?ú±·¼å-?úÑ«^þò—½øÅ¿,¸Î't»ÛÝá‰ßû}÷ºç=oq‹/¼æšk.}ó›~îÂçøÃò®_ûÚ×á#ÊÏøW?ñŒõþó¾ážÿøÇ|¿ò6ç?éI?ðu÷º×Ío~Þ_ýÕ_þþïÿþ þç®ùë«K<øu÷úúïýŸ¾ïv·»ý-oyËO~ò“úП½ìe¿ñÊß|…Dˆš‰²‚¸O•ç×ýåw½ë×:=ù—yŸû|#wJD$wüª;>éIOþîv·›Þô¦ÿø'þïÿôƼðûØ_1 ­$–ÔzJŒMŒ$"²ð2Ú¿×½¾^DþàþàF7ºÑç>wξy}Ÿ>8ð%_ò%?ò£?zÏ{Üã†7¼Á;ßñîç=ïgßóÞ÷ј¾ú5¯¾ímoëô?ýé?þô§ÇÓS÷þ¦û|üã£CÅîsïû~ì¯þj]åÔ©Süžÿ—»÷ޝªØ†×:„ % =H ”„BÄŽô^ "ˆ ‘Ž ¥)¨4iRB‘"ÍÆ¥—ô‚ÔR‚$äÌ÷Ç´5³÷9‰÷¾ßû{Ÿgî•ì³÷Ìš5kVŸÙ³ff^íѽLjÃãš7/V¬hRRòŒÏgxüï'¨¶ÈÌÌPB6hð2§»çÌý"+ëš9Œ‹kîà·Õ ññJÅ–:¹kµU«Våʕ۷o_zZø|"’_¹rEÃ膽{ö9~â±½øüóýGŒþõWË?žò‰¬xÎZ¶lQ®\¹}ûö_ºtÉëõŠ À€—žÿõ×}S?ùlÂÄïÝË7ö½âÅ‹øÑû999ƒ¿ÚÿÙç¨>}{:tPý,_¾Â?ìµ&ñîÝ»õD>ð@¥¯–­˜8ñÇäæÞ‹ŽŽ~{ØÈ¨¨zªZVVV³¸F5j„mݲCÝÌÎÎŽŽ‰zàJ»wýDaîÝûËüs~ÿýÔÕ«WK”(Q½z>½ûuíÚÝÅû–¾–””ú`Íð ËÓ€bcc |6<<¬Lhé›7o;{~Í· 6©­k–‡‡‡©&ãÞ1îÝêç£mÚg^½ _.šÝ¤i£1#ßÛ¶õ{ŠBÿžys诗}3ý³Y@½·0ÁÐHÕkTðò ±±î+Y2##ãÇ=¿|9ñõ¬ëö0µŠÓ¾‡a˜mgòú> Ô®]ë¥A/4jR"äêÕk?ÿ¸wþÜE„½>ùlÒ£¶4ð¦MµïØ®L™Òi—ÒÖ­IüzÙ7*ÂLL†ÍX»þ›ÃÃï¼;êwG©Ÿ´yêêÕ«t¨åî¿Ôè·cc*|ôȉ™3¾8y2É"GÕÐ,¶1§Û»ž?oáõë×­x];€.Å¡qhÑ ë:ʲƒ+ý*„Ùœº§üüLS+f‘ÌcçÚ]‹1érUÁ0m® i‡™ì"3‚[Ó [ž0ÙBI¢YRÓIp'}ÓöåCµ›È[¨yF›kÔã¯ôP:A dÂ\é¬ÌâI5LDˆ‹ùY5ÕÉ[(SazáÉ dÜWïÝ'UBG¡Óc0O9vt ïÿ÷EÇkfq ©ÜSI|Ôü`` W7­ÎÀåtEÇ „*H2xÞÜ9¥J•€#Gó;}ûô €K—.îÚµS0£äs:Z.­IÿOF~J†µàZòÃôÖ­[ê_Ú¯k[×~ :¦Ñ’Å_-ZôÒ¥‹¿ýökÕjÕ:vìÔ¶í#}úöúýT 3=ÿü€ÐÐ2‰‰ %J”xúéö£F©P±â¤I©J±±q ,*R¤È™3§SRS«W«Ö¡}ÇÖµéÑ£ëÙ³g8¤“I7o܀ЍX±â¹sg333J9¹¹ŒG ¢¢ê½|e±¢Å8ž¾¯fÍšÏ>Ûÿ±ÇïÑ£KFÆ…W›6Ì;“““’’“BBŠ×‹ª?qâä*UªLŸþ™°¢6A(= Ú¤¦¦â FGÇ€ŽµheÖ¨QÓÅ‹—]ºtéô¿ÿ]#,¬g¯^­Û´éÙ³û•+W4ÕÔî`Œù@h1ŸÏ'ô…=ü;«€P¾üý7oÞ̺v§T¢ÁÛ‚zÏpÚÔi¥J•Ú·D툸æÍÆ,ëÙ­ç¿ÏœäMJ¾yã V¬P±BÅ çλš™©ôDnî=ŽRRòÍ›7@Wãö› äæÞãzM¾0}úôk×®­^ým­Z5Û¶}xÑ’…ýŸyîØ±cŠpµnóÅœ™ˆ˜’œ’œœR"$ªnÔGÆW©RyæŒY*úä9ÇfÍ›5j:wüâ‹9i—ÒÔŽ3Ed-&Œ!`çN`}â¥1T"/¶YlÅŠ8tþÂyÑ@v*õ”Ò³ 6Só€O¯×Ý`â„IÆ ?þýíÛ¿Ÿ4q‗Œ3ú·_÷§žç7‹›;w®×ë=}úô¥K—:wîR²T)²sËr) ¶nóðœ9s1%9999©xHñzQõ&NœXµj•éÓ?·Öð§Mû¬d©’ûöí¯×<îë˜å=ºu?}F¿ãªO/Üë^¢¢ê}½|—¬Ëéû¬Yó™gŸ}ô±Ç{ôìš‘‘AãF9@†Á¬%ÉκLùøøýßÓÓÓ»vë~_É’ÎNÛ<Üvîœyˆ˜œœœ”œR/ªÞÄ “ªV®òùôÏìÚÒ†jC§þ2€S©"<ð 6tŒT‘¿Q£&¶œöìÕº5—ÓËV#Îr]»u€ø„x ‡[óèè˜%K–-ZôÒ¥K¿ýökÕjÕ;tèøðÃmûöíóûï§,òùç_ ݘR¢ÄÓO?=rÔè +Nš4AUˆm¶`ÁÂ"EŠœ9s&%5µzµêíÛwxè¡Ö=zt?ËcZ¡-o@ÅŠ•*V¬pîÜ9žâS”››+÷`TT½¯¾þZÍiÍš5Ÿyö™G{¬gÏî*zgÀÚ´iKù-$$$**jâÄ U«V™9c€Ú‰|³Ö¹KgˆO#²-[¶6ŒnøT»'Oœ8A ÿØ“À–ﶒٱߖAç® !!Q¼/£$=//ïÐáCï¾ûÁ§Ó>~÷½qO<ñä;ãÞ_¸pÁ¤IÅ6m¦Ž}RŒ±Ã‡AÀòúCªT®òL¿þIÉ'÷ìÙ}øPïuëÃà ÜÊYvïÙõÊ+c‘‘u"#ëÞ¾uëø‰ccÇ:wîì[o аâàÆ_7È=lõP˳>FÄÔ”ßSRO/^¼nÝÈ>[¥J¥Ù3çq埜têæ[P¡b… î?þÂÕL›Èͽ¿&±IÓF»vܶUÆä ¡]»'`ó¦-²O‡wIEJÿ:u#,ù¢XÑ¢‡½œ~(üÁ°Þ}»?üHëþ}dfdòjµk×Z¹f©ëxóòòb£[ñë7†½V·^$”*UZ¶Ž[°ä UsùW«~ØÍSÓpî‚AA…ÓÒÒÏœþ³zjÝztjÕºù³}dddà™g{—)SzóÆ-!!!O>õè[Ã_»¿ÂýÓ>þœƒ’q‚~kGzñÂñä@R’NÝä­(É«#ØÜÜrÀ€£FyiÀsV{öìÆ—¶.úró¦-Ïô{vñ¢…—/§ñ ãÆ½[¤H‘1cGÅǯE>rô€_2äµQ£†s2Œõ6ïüÍ¡Ã^6:Ê[±?þ}~Q$¨ÈÑc'èC]íwÞ úü³O¿ürV$¨Èĉ“Ÿnßþõ×Þx÷½q’¾dBŒm¢"¸5l`ÅŠ+Z´hFFcüûÝ‚QÔ‹þ¼”.]jÛ¶íŸNÆ€y<ÞÉOnÿôÓ/0nì8>È1£eÞxóAƒ^^ºdÙêÕ« 6LUãJâõ7Þ4hà’%˾]ý-Ê7sPÅ“èá.[öÕ’E‹=±žþíÃ?Œ¬Sgñâ%<òèô韋l+crê·N›:ÕÇ|÷ãO>iÿtû_;f´=þÃñ¼³"AEŽ=~Š”¬×¸d!âСo ôÊ›¯åÜËH[Ó£~!â›C‡À¤É¿Z¶ŠOýxªÝ ¡w¯Þˆ8f̨„õñ@dd%K–>òèc.­îK&ˆU2ùH?àUôHÑ7DÈONÅPÔd1VªTé¶?|ëÖ­ï·ogŽÊM¿÷ÞE‹1cúüysù,¼=|Ä€Œ5zàK/X¸{<سgÆò`Ñâ…›6nî×ï™Å‹¥_Nãи¶;vL|üZn4FŒù⋆ yuÔ(±7jÔ®y†}kðàW/^´jõ7_êÝÂ{ï½ÏçôûßóÇo}kРÁo¼þæ»ïŽ“cDÂoë9½""ë,^¼ø‘G­¤ ï·T©Ò?ÜæÖ­[;¾ß!ÕŸܾmû¨Ñ#Ÿ|ò©iS?S ­|ùò ê×OKK?~L²ŸÊä”*UªM›Ö·nÝÞùý./ÒÓ€öåƒÊ–-wåÊå Æ÷éÓ¯aƒh×ûÊ+÷íÛ«âØÞ;zø2¬;çÀ•+— øL¿þüççŸO›7ÎÂ… &Oþ$@+ײzÕJÆØ”)S»t§%%|áÅþ;v~/Ze!ˆÜ<úø#MšÄÜøëÆ‰ãÉÔ™éÞ³3"¾7nÂÆ ›yÍÚ‘µç/˜ñpÛ‡fϜǼ3v<ôê냾üÜWK¿Yóm‚S*wîüázÖ_MšÆT¨X!=-ß 0¼f­ðÔ”ß?õ¿ãêñX"úÑã†+ZtÄ[cwíÚ#xmЋŸ{åÕ}0‰W»uûæO?îu‚~¨‡üQ³Vx£FѪNhhhhh¨ú¹¬Š3,(¨ðìó–,úŠ+TôýÇ>Ùî±ÁC~4~’ôp¦öï÷’ù€Á²¥Ë×&¬èݧÛ×KW^¾ÌSTHDä;¡vìøÎØ8«¿öÆà/¿°léŠµßÆ»‘ T©’Û·íœþé,óy¼…&N~¿]»'žÐÿ½w>Tǽ3²XÑ¢o½s§ Ûk¯~éåç_}íåñL¢ÛÉÍMÞÆÌ ¾c[E²:+×`u5j8ºnêÜOæû|úgwïÞm òL3ÕvÃÆD~&\¼xa×®]^¯·AC½™sĈ·;tl¿VöÅ–-] õêÕ#Å}ŽÉ`Ê”­W¯~JJòöï·©JsçÌÎËËkÕê! ¡xñâpèàA=%9©Y³ÆO·RWl¶ ]3*7‹µ~X¶lÙˆˆˆôôô æqºÝ½û÷'S§@K‰›Ú­©Ô¼²Š}ÌÇ1QA} €ñO@1@DÇEŠ={6W™>_Þ‚ù_@½¨(EVê RL8p›«m)ö0Ê”4ˆ¸rÅ7Ç[¨"~óÍjÆXÆ eæ0¸x0>tDé½”ää–ÍêØ±³äL¼ÏXzÚÅÇy¼cûν{õͽ—C²¬b#¶œ¡"ºðSdâŠ0`¬xñGi›}gûöœ~Šîü¨W—‰ð‰¡*ÿB”;wî Š$Ñíìli£’¥Jq3T¬hpT½¨ììì¹sæðáߺukѢŚÚÔëW 5×3ãäÞƒõBSrrR\\³žÇÒO.R¤èœ9s8äåÝ›?o>DEEd1BK½€(5È2¥CëÕ«—’’²}Ç6E•¹sæäååîŽ y_×Á.ˆˆX±â+VHKKçÑ,ü}çÎy-4K9EÉ¥))ÉqÍc;tl'·²(YNS‚§×L¨¯em©*[¶\DDDzúå/¿\À}¨»9w?þd2´lõ¶¤Œ³0ÆÚ·ïP¸páï6o¾›s—ô‡ˆX®œÐ–óæÍáûBó͘þùÝ»wc›6EôZ"µqÓFæ]¼pa÷®Ý\[*c7rÄðŽ;ðh°¥K—×–Šæ ½âQ¦t9§Û9Ý|ŒÍý‚Ïi+ñî" æ7A^ÄÔ””æÍã:vèàcâXc­³Ûwh_¸pá-ßmÍɹ«›4#3óà¡Cå+Üß aÉâøèc âÖ-[˜Ÿ5D€§Û·+\¸Ð–ï¶Þ½û·9{¢)Ń‹@Hñâpýºs¿kJŸÞýÔu×n=àøñ£ÿ®Å4QwêÔ©»ßÁÍ›„QWÿÉv¿óÞèÅËæOýtL›:3''—.‡UãOMNmÝêÉ®ûúsÈ,W^ItnnΦßy<žNžVOÛµ{6müŽè"»PÏTyìeJ—®ù{ê»wíQNÓ¢KóòòâZ4S-.^LúÚ𡯠úúð·^þÖëÇÊÿ{s¤ªöú+o5nмqƒæÃ‡Ž€Ä„M4oÔ y£úÍÕ[÷m<C„²eCkÕ~ðò匥‹¿æË©9¹w?ÿt4oÙLŽž)œ¿Û¼]ø!—.¥ý¸ç¯×[¯A”Ÿá m£´H‹ÖšEŠ™7çK!õ¾¼… –@ݨ •.]¦nTä©Ô?T4 _Î_’——×¼e&‰*°1ìƒ_줧ÌÔ[(|´­TDbD©!_4ÄðÛºc‚J ëh– ¨[‡ ýüß1lK?ÐÌ?pq •\M‡0r4®Ñ,Ÿ‰†rNœ€ÌÐüK2İWð(4çÑ h\Š a™8Ý_î¦Î5 (µlÈY¦é~ùtyv¦"!‚vÑìÛm¦üLžkL寮§ÿ£P¶@%_ˆÖì OÇϼUþCô@QÛ-AÍ„e Vú÷ž_lØø× iV¢ËËãoú!z¸#¬²Âu¡šÀÏÒt "Zù­bm·•Hæ€Èʆ†ÀÙsgy­!77§Aú|V±™V‚JKO€%J(€)©ÉP¨Pá²eËòz hÑbP´hÑ@#A*çBQ–-W®]˪T©’‚ׯ_/[¶,͉ãÇ›6iúÁø 3gMONJº›ó7¨wPoí_µÌjîèQE -Šnâô¸rùrvvvÙ²"­Mð$QÁaŒy¤ËNbeÛöp^¯W}4222îÜÑg’ñ·ÚŠ+FÔ&i JDD‡ù| èâ§î-ÑàAcp=ëzÎÝ»Œ1¸— îÞýûæ÷•,©sv NOjÒ¸ñ»¼ûÅì9ÉÉÉÒa=xyÆàßÿ}úÌi¡1õŠªLo¢þJvppðãO<ö÷ßw·|· ä2ùÉžj÷xÑ¢E×o䟆Fò1y€* öHÈ$€GYÈW—ôDІ%K–ôx</^ÌÍÍõ$Ùi·Û0*ˆ:=€Bý‹C«ðĉMš4ùàƒñ³fÏLNNæ'½é¨E¯KBFF†üÄ.ƒ´´K\,Xí;sÍœ>0%Y×*Uª¬C!Y¡L®[ü€2þ'[¾î»ï>8wþ¬TÒgÿüSSA6xòĉ¦Mš¾ÿÁ‡³fÍHJJº›ó·Ð…Üv¢œ 3{¤¾Ñp0­Lb—rú§œK™‘‘ÁåTéK »víëâ×)—…AgeÊh©|à ''§AƒzS3¥-y!ÚR J´åýÞB(ZÄÔ–Ž¤“r²”äq:…JmY¹ReJ#>§4Éeð[RòÝ»+ãÄ#mív@×.] >>^¯s 6¾[¿ÛÖ¤qã'ŸzòÈ‘#£Ç ¶lÙjN•ءԥKgXŸÈ'u/Ÿò•6”+WÎëõêŸeË@ö;ÿ¨¨¨z¿þ¶ÿýƽñú[‘‘u\,ê˜+6¶qç®ísrr“N¦|9éîÝ?Xu“N¤4nýÎ{£æÎY˜’rêîÝ¿]= 齸ßWü¿nÃ3ýûtèÜnÁ¼Å ˜ð‰§ÏËËÛú«–ê—"m"CÀÐr¡•u½âiwýu£lhôh?ªŠ[_¦Æa” - çÏŸ'¯@fffvöÐÐ2Ré°"3#“4ÇôËW D‰Ù”x¾˜û™„ÆBà ç/Lšð u#€@£ã¢\23¯Þ!l“žv‚‹Ë@n÷³®e= è&`þuýFhhJ,DÏó>S£á.œ¿8yÒ4‚ô;±ò‘ŒeMÒº yEÔ½¢c]êËzhþ½ .|+—v·"P'’É!‡MÜ1Ü… õ#I÷† k{#ê*"#:(õïõ+ž4–ÞœJŠ,«­XO9LˆÄû›3äl¬>Sí ,òoÃJ‡ÏzFêªG #SiÉ:Òü¨Ü¥ßbÓÍ ªèGXP9¹þáä³=XE¹1æ¤ÒH‘o•в£;$bà·_'’Lò©êQwÆo×Þ›6Œ¬Ãï®Xñ•ÂÕŸD:o*>@r‹èר%'—b˜©9˜\;ʾmÌ>3ÅÜDÌ ¾*èËË#7M_Øtn¨ËˆÓ¦N™6u YwìØqbS7Â1LWÊÉ(Kj¯ÇÍ›7ß¹Óöòòò(Vóæ}ѸqãæÍ›7oÞÜçó]¸pþðáÃk¾]}àà¯J³17j[øå+jÜ</º‘iÈËËã»(åL"Ý9£xN Tls­¬ùØ™ÔQ|û·zÓU.®’õW¥ùåj¤ú¬PEiªB‹>GÌà£dd_.XبqL\\l\\¬Ïç»xáâ‘#G×®YÇÏŽÒè!Ñ®Œ1dhÐ5+‚Û'ž|¢X±b›6n¾}ËãñÊïT … >’¨;fJ+I.¬ªErI{B}ªiéÄ€×ë€Üœ9QŒ1Æ—_áP E8¹Ô"ñ:ÒÏŸ?¯q£FqÍãâšÇù|¾ .9|xÍš5þF yyy:;OùÕˆ(#ÙjPêA5„æÍ›ïܱ۬Ź u0yBt„Œè?ˆæùÄ~0€Žo‰1„yóæ6jDåôÂáÇÖ|û탿úqr8›Ìª£ŸhLd3ýfÈ–”Skì """22òôéÓG¶02´¥S @O­þÌÔiOú1O­q ‘‘uÇŒÛ(¦‘‹¶D÷ŸÒ… £”Ú2nÇŽ]¤¼¼<Ž ò¼yN~;²fÍšƒhO!w2j׊ˆˆŒ8sú̱£GõúŒÖðýöïÇŽýÄ}2e*c¾2¡¡11ÑçÏOâçå0….„ÚµjGDÖ>sú̱ãÇŒ©ýÿ­¨ƒôhùÏbãW^yõÀÁßöîýeïÞ_<OåÊ•££õìÑ»qc¹fë€:zÄ»»wýèjÕ~¹4¦QƒØ¸Æ±q}>ßÅ‹—Ž9¿6ñС#ypwêN(þyæìáCG£cÄ6k²ÿ¯Ñ1 *V(ÿÓ{¯]»æhâ^ÔtpFjÚ¬ñÆ-ë¬:yJŽ„aʨÿ¾¬sä¥dÙŸ5ÊËËCÅ’TI‰i6ó³Ù3>›äýC¯ÇÓ¼E¬íTj¨_¹2®©¯$ ©RŒÜNÊgÚÌz=^ˆkòݶç(èO¯ÇÛ¼¹·?t‡:uü›Ñr»ŒFLQ_Øéʺ„ä¶´:ºEí/‰6hQ—–7‰öoÓ•KL6ç„YÕ˜ŒŒö:nÐC'q1@ßÕ8ÙŠFm2÷­ÑÍÉ×°T-áƒ^«æR{…ÆVj’)}ª1³fÓJóÄP5ég h&IfL’õõGt™mrC®È#S£3€ê_µ4«‰Å 5D!ÓœR(w—3É9PR¬SŽÝ™ÌßÐNšÃ»1 ĵh¾$‚ÌL4Q“ÈÁþ’NÂñ†.ÒÐð–?yþ¹ùÏ_û555…2”…Šáþ! …˨[¨‡AüŠ’Å_NJjFµB{û tH6SJÊ­c'þZE¾uÔ·n?ð@¥•+Vy½Þù 楤$3Ÿ .üé§ÓÝÇaÞò ªíÙ ÙcÇŽ-˜?×J;ø˜aùnÜø«W¯î-Z¶lÙ¢UddÈÈÈN:wêÔyÌØÑ zó³›,Gݲ î´aˆÈ?^cÖ@j,í#5rÿ¥kÌï1-V¹¹¹P¸p²×²‘ƒ ˜ëµa~ Àí®ìœ!cH^õp˜NahO”ŒÕE›ê;7oÞx¦ïsqÍ›µhQ»vDíÛwèØþqï­OH䛵(F:žth-I|¿qBB¢‡ð°°úõë?wþàÃj$üûÌ|}t¦3?ŒXjrOI–K ½'6L§62â¿yãFï>½[´hÑ¢E‹ÈˆÈˆÈÈŽ:uìÔiܸ±ññ¶O ?¸wí¾¦âŽ;¶`þ<ÜÁíŠD™àR`z‚¨öE Ûˆ; c7nüÕ«W–-[¶lÑ2"2RÉ騱cÖÉÊÆHŠd¨0wÈ(eP ¡¶®€jLYHs~ÝÅÉ®]éRJËŒu¡© ú ΠR¥+Vz½Þ æ'''ó¬b‘"E>ýìs9hé·¹ñ¦ì“<;vìØ— æ[vRŸæÍÞ¸ñWïÞ½[´lÑ¢y‹ÈHÎo;vê8nÜ; |µ!íÚ½+$$¬G2("feeýú븸ØF1Ñ|äѶgë–m”JõvéÖÖ'Š5á>úÚÿcå¾ûJ®^µî—_~úù—Ÿ’“““““&Mú¤[×îÈí¡ÉfñçÆÏöؼEl\\ÓÚ5#"jµïðdûO¾ÿîÄÄõ›@™',ËÖȉŽ_·!:¦AÇÎOïßÿëSO?›6|§“1 «»k,³¯“Ç“–,úÊz.ÎíG€J•*ç~–//ïÍ×Þ<§îŽZÀÊ&8½¡ %r¤>æùîE׋s…*îcþ‰,zP[.%Šš¦&Ñ×'Ž'-Z¸Œ$“Åÿèx9nÂË‘ñ1†S)W®¸&Ö[Cø=Ãøë?®6Õº‰nwäȘúÇBÈÕ$¶À;Ü ±†ÔÞHÿ1«™êhITT[×~·"Žè×úWZ9€©9t³âÆ”y@ðùøV&`ò“€ÚT¢d[²²MŠ´jf "¨ä>³fʉ¦@ǽ9†ÒŸl¸É¢ë}³é' Ü~:Ò*ò!áQû£ë[¡•r’ ‘nöçºTI(œ C \W Ú¹S.];¨Z¹ê÷å×_ó¯õQ¢þ[¥r•aa'Nœ¸v-“ß²wÐÉÆ†SéÄ‹Y¿ý‰ìÚ½+:¦~vöm*7zŒŠ Ìp©tÉãë{ŽõzÐãÉË»g5¾“­Hy­N»ñŬ™³¦ðü% .n·vÕ¦ˆ† rܲ²®}¿s»søhJc¾Ÿ~úñ§Ÿ~DDo—Î]&Lœ<üí* uêr…€Cý»ÇXT åù$ÝL¥ãõzíµ)·Â”ÒÔV rrrîü}'4´ Ÿ8ó#ʦvà·Pó .xäÊ-Eµx<âLvé¡è1ë¹tP¸àîï"‚×[Z‹1ß/?ÿ²÷—½ ÀÓ©Sûñ}ðÖ°¡‰ë©:âá!J\X ãÄ|>æñxªV­Ó(:íRÚoû@õÍÞ®S×N°~ýF>IKÒú+ííQ &Ý- !†ïÂóú&_Œ )QøÀÇû¸ï¾’Æ@«0a1Õ§?õ}Ú·qîDOçÎ'L˜8lØÛ$ ýG¶ \íÊÛy>YY×vìü^¡ä3¼Œ¯m"€8€Ñ2pıP Å^ÅÈÈ;ˆÅq1Ÿ¹œ""z:wê¢ïçŸ~úù§ŸÑÛ¹s§&L6lXB|Ÿo}bü¸q£?ýôcЊ‚›6n9y295õwÓZZÆŸíýeßÞ_ö0@OÇO½ÿáØ7‡á-ËÇE•p%´Ûv=ôáGZ—*Uê±'ÚÞ¼yëÇ=ò›CÌ?â%rFº~ýúžÝjmÙÈDò¿!Å‹Ç9–y¡»<\‹FµßGH–½œîõzÕÙþþ6¯¤Ÿt_LoÉ”ß=æ™]ÿh:ãrít¿%ݲ®ïÙõ£|¢-Žé31ÝÌe2”k 4¯¢¾‹@WðÔ¶ ²Ê§t+d’¬rƒ˜ö%-%dÂý/Ä©_ ±Ö Gû1CAWïXÙ&Άƒ£U¨¬#ñ7F§w¢ÈX¥Ì›â_Ƙǣüµ$£3¡‡®ƒÃq¢H9‚I\:¾ð‰’\o5ŒªçZ“‚ßJMI ŠˆŒd6'0°äÁƒük;À|Œ¯Ìp³GÖ*}ê ¸\2cË€UÄí’¥JñYñRºT™%BnÜТ@ô”¿¿‚:Á’1ðùòÖ¯Oa€bGñú €àñˆ/7£°"žÚù|¾ ‰›d}5ÉŠ ùhMÇÑŸ7ƒºÔ¸v-ëÎìJ•*Ý_¾W33 JÕ*üžT¥Ø ºATTU9õÔ©& â7ˆkÜ y“†ÍùÿlLK—QÓŽ”–—ÊúÚµ,¨R¥ ’÷0CCCƒƒ‹]½zÍ?$MzìëР4 Í|Š>Б埬Z­ŠîÀÝ ^TËS"ÈIÊÝÇEÆXžÏÇŽšJ'ƒ™ÌN«…QF˜ÃÝu3=·ŠJbXúŒªÝÿHtMë¤-—YIªJ¦Œ‘”(œš@¹‰Un¤âvQÐO"Î7“¹êÈÆQwJ}UDðù„_ôð‚‘Éõù ߇¤‡ò'—h^ÿŸÒ›$ÐP£0 ­L"”wÄo#mà6RÑ¥63 <èM_ÓmáÚ2¢vmC•Ë~ôœ’ÕÂN;¯X±ò-2§^¯wë¶m»÷ì ü†&fáÎ;T±óÏÏ&Ä'JBPK2E‚Ýøkß¿þU®\¹gû?ãõz·nÙ††Ë&F _Ø` Î-õú¯x<ž–-Zåææ~öùT¾N˜ýùôiкõêšÏç{ìñ6µnþÇ¿«›ÿþ÷.œ“{öê6bô[Mš4r³êÌëõlønͶ‰aa5ÔݰÕ+UzÀÖ–pùò¨U+ܸ«&Jübñk×@ûOÀ¦ [hEŠÝÅó *ªgͳׯ_?qüdÕjU:ué n>Ýá©…Kæy}°‰€öƒIÿÌM㵯^½z*õòåË=û¢8’:((hè°×`ï/ûœ­Ôæ#šÔ±xˆQs¡F¢³æ@J^ã»[ÿåzÖõãÇNV­V¥S׎Š2:µ[òռׇ¾¢‚C>¿Î(úô¢¤´â ºå(_ Ìäšuá,Ìòœªîu\o;­µ1/êŽéÊXÖJ™â:ú©¨DŸÎÏʨ•Fl`vbÂä\DÓs:Bf6Ù™ÆT>²]4/…S–ðO'¿]»wëŒ5ЪF~;ý~᣹xRþ„Æ M­¥&Ü­[ióÍl9–>–|[‰ÿc²Zæ†?óÿ(ÿ"{dR î+ðÁ´œçÁœD†x¹–’§(ˆÛݺ÷à¹Ò»wï®]û­cþôI×ÿÒ_øë¯ë„O8f¨]k'lÆòSȪU«Ož4ºtéÚ¨qrØ›þ²² ÍñÞøðÃ÷—,ùêµ×ÞèÞ½çùóç«V­R¾|…[·nMýäc¿(ظˆŸ°îÅ´}¸mbâ¦~+V¬X\\‹]»vк”î{öìº}{tŸ>ý¢£c²³oà•ŒŒ¡oªÆøÞŠåßLœ8¹oß¾ç/\¬\©RTT½Û·oO&¿"ˆp/ïÞªoVôî… 6Ÿ8qüÆÍ›%BJDEE*ThÞ¼9b‡ªÔK ¡Š8J”(Q²T©ì;ÙtºjÕêS¦à\•)ºrå·üÎÅKGŒÞáÄ ã-^6bøÈ¾}ú^º”zùrúìÙ3Ý|0Îðc$Ö®]óÒÀ}úô]·nÝ©S©ré]ۨݫú'á.@üá‡n߾ݫw¯† fgg@Ff&XPRüøÃVµ+™ÃÞF5Ö¿þ*ºeë¦Ó§OרQãJäæÞ›;gžªpï^î·«¾}¦¿øõßž<™tóæÍâ!u£ê*äýrÁBÆòÔþ5**ªdÉ’P³VÍûï/›––N• "Æ6‹­P±üo¿þváÂPò#¹êÒ¥Èwk)Ïõ¬J•ª“&(&J—)óÕò¥óK—ÒFå:†·Æõ02ÆðÓiÓÅÄ4jÜ(qƒ8‰jÊ”)õê×ã•„Ñ”;½«TÖüVªdÉììÛÔ›¸w/wÕ7ßôî¹ÄÄ 'Nœ¸yófHHçÞùóçùXž½õ' žU«V›üðƒåËWLœ0©oŸ¾ç/\¨\©rTTÔíÛ·§}: ‰åÞ÷Ÿþ÷þ_÷Ç6ݱc×ùóçygÇOœ˜2e×*Ó?ÿì“O¦Ž=¶{÷éié‘‘‘2­£Ë½{¹«¾YÙÿ¹ç7lØxâĉ7o(9?o.%ä¶pDƒn¥Jݹ“Mý½ªÕªMž<Åéòå+åœ^9rg†I',\´xøð}úô½té’”Ó˳fÏ”É_eË–kÕªÕõëY»÷ì¶×%ˆà}øáK–,{õµ×»uïqþüùªU«–/_þÖ­[S?QJƒŒYûFÊg•E0ˆ_÷ /´}øáÄ ›8P¬XѸ¸»wùÛ0 {~ØsûöíÞ}ú6ŒŽ¹“}®ddúº‚ýá‡ã—/_>qâľ}û\¸p±R¥JdNE¥Ü{¹«V}Ó¿ÿs‰‰ëOž8yãæÍ!\N -˜¿Àçó© ¡e˶lÙüúõë?üð#ÝžÉ|ö–¸u˶–­Z>ól?غõ{ s-[¶EËæ]¿þã?  àoÐ.åì¹³£GW€k×®öé+2J•¨4mšãȆ€eøðQ¿øuéÒÅß¿½R¥Ê§N¥^¿žU«Víçú¿ ê*T¨OŸg–-[ܱS»¨¨z%JÜwëæÍ'ß»woð !Öæä:u"ÇŒ{nûP»Ç:2ˆrï^îšÕñýžíµ&þ뤓)7oÞ ©S7¢P!ïÂK¹Í¢$ùéÇ_nßÎîÑ«kƒ†õ³³³àJæÕQoU`¹}ÿ÷§;Y¯~Ýsç.w~ƒZêÍ3gþcï.e ÷`—º Â$Å 8¯–Wƒö£‚€Qó‚ô#GèØŠy8X±¥ì‡¼äg ¢1wB,meVâû|"Öå1 ZÖÄoAóÊ5’Òì'g¶€q‘é¬oΚÁàH/DBÆÅ*ò߈íÈ’œ¡€]µ* U.šßÝö½é£‚Q/À3?Ô<Âù&!´Œšø0õ¼0Dϳψ¯±oÚ¼1+ëšõX*#Ææ|1+<,¼VíÚÿÚ»7A$ø™>žb!›)ÌúA%ãÊ•ËÉÉI‘;wîàŒa~#„ÙÄB 8|øPÝ^yeHll³˜˜˜¬¬k6n˜=kæ¹sº´%x1ñ¦Ô_VÖµnݺ¼9ô­f±Íºu둞ž¾fÍêyóæôíûŒ+˜Ë—Ó¼ô¨Qc"#"ùW.]ºÈ@!‚˜”t²k×NC^}=®Y\ÍšµÓÓÓV­þæË/ç_¸p^yˆ0yʤ”””^½ûÖ¨vß}÷åääœ>ýïµëÖ|ýÕ2…1ã²Èð§ŸÚ¿_ý 6$&òŸPÔŠÇÄ4¢H.\XÝ)]º´bœßüÖ«g÷W†¼Ú¤IÓ˜˜˜ŒŒŒÕ«WÍž=3#㊋épM_0IE ôÊ•ôÏ?ûtìØw¾üòË!C†$%0u–¡¨MÝbêPvåòåA/>rxDíÚ’¼—@ZUe4Ò/§[ÕÒ.² @¡B…ÆŽygÄÈ·[=Ôªxñ⇞þùLq©,Ÿ|<-55µG¯5ªW/q_‰œœÜ3§O'$¬_±ü¥%²íý×Áƒ‡êÖ­»më¶ô´tTGw‹­ç<¡]ºt€õë7rzÉ8@éR¥Z·i}óæ-yT/#ÜoP»xp±†Ñ éÂ… EGG‹9-UÚé¦è9²'!ãJF×.]{ôìQ«ví¿²®oÙº5íҥѣG󾀑IÏÿçŸþuÿþz êoܰ1-íѯ¢Ç)S&§¦¦ôìÕ»F’{O¯‹_÷õW_‰¡äŸÍC·{Ï”ñ1÷cNž<Ñ­[—!¯¾Ö,¶YÍšµÒÓÓV¯^µpá‚ .€ù*e†¾ùÆðá#zè!íîÝaò6nÜ““;xðàððð’÷•ܸaÃÒ¥Kºt骩S¦LNIIéÕ»1Òuk¾þê+2bÇø/{ùuÿ¾z lLÜ ä”LEñàâå´Œ:ô×ß~íÕ«ÇW^mܤILLLFFæêÕ«gÏžI·`çÎ]¼^ïÆsssÔÐÅ$É¿À¸¶ì>ä•!Mcc¹¶Ü¸qã¬Y3Ï?+fÂK+A/víÌÊÊêÞ­Û›C‡ÆÆ6ëÖ­[zúå5kVÏ›7¯Oß~@˜XMýåËé/½4`ä¨QD[ê+)éd·n]‡ yµY3>§é«W¯^¸ðË .Б~<ùãÔ”Ô^½zW¯Qã¾ûJäääœ9}f]|üò¯W€Œf°S§^¯wÓ¦ïîåæž8“^ÌλßËÉ-Q"äßÿ8}úßò©בCÛ¼…“WøWÿüȾ}ûСƒôNnn®º“••õO†‡?¸nm⌙ŸïÝûó¡CÊ—¯Ð¥K××^}“¯»ª2fô¸ˆˆˆU«Vž9súÆAAAaaáÝ»õxöÙçE 7\8ñìŸçªT­ü& À§ŸÌ8•ú{÷ž]ªW¯V⾜œÜ?Ïü™°iårGêàÊå+¯öÖð×j×®Y´hHKK'2*þ À‰c'êÕ¯»yã‚qÉUÚè·ßyý­!-Z6kÐPlGϹ›£ðOMI}¦Ï‹/ z¡IÓFááá—/_Ž_»~Ù’å—.^¤C༎|Áß5¿Ý‚õt:xäù~_ô|Lãè ëef^‹_›8î"¾:òJ2•X"Ö©FW®\2ø­aÃ_w%¯£øeÙ””S}{½øòàš6mþ`øåË—×®]¿tÑò‹/¹·Ñf‡¾*²`\ òðQ¼Ñ͘/O½L‹úÌÇ£vˆ ó;7ÿÄáÆ‚U£Ï%Â(ešZb÷hÚhþ$' átœç fE&ÛTšr)Õ~“Üèr¤/¹&Å$deËxeº£M9-ÊoPÓÉ:ªDÒ+ yP V 'œíÜåÑÂIÂQ€ô`F š«jó+ñ.’çÔPNŽ“q,3``DQð{Ât³½ÝU d ˆ)³WÀ‚2–„_õÇ<”ì†*åx”‹ ª[+mE¥‹ú ’Ù\¶u¸NöG¤Ã!Õ·€É“§véÒõdÒ þbÉ{v}½ü+ךZÄtgLõÂÇ2E@;ÉOðÿaÏîå~ iFa6ÎÎUpKZðèdøï—¤HuT?éð(KvI{ƒ8â™-*̨˜UѦ0ÁË¢ãƾW½F ¨VµjÕªÕ&|ôáò•_»ñ€èbäÈ1/¾øb^^ÞæÍ›gÍšqáÂyUI¶Õ@ÞP$H¨É¡ìÈ΃Кè7ÁÐë-täØÁ«™™mZ?Jbk´ªhJ0ƈy@e¤¥P&PUPÍÞ!!!{~ÜuïÞ½‡[?zçÎSK°~Ïô=fÄ·ß®ýhüÉ”@ëˆC “˜h+g+^2³æ¬:ÇEu±|«±bÅvìÜqâø‰^½zº…ŸÜÿÐ{„‚«Æ@EØSáÀIøÖò7FH¬Ä϶è²eý`æØd¿ö“`Hù„r%æZÌ}7†Þ&0ÅlËúZ½ÜËëlÞ¼%<<¼KçNÉ©Éîý™$¢”©==0WE'8œ&óµ4¡š8KýID4.hV$•м…ʇ”¸˜> "$nH ëÞµWJJŠrÝô×þí1'õ4qc|XXXn½SRR©=QšáøÉÃ.þG•èzq†ØìÙë…º¸’Ô_äOý dziküýåËuxª[ºÚó’? "@`˼KMG›LÀ³c»´fe“_?&ðºzTÄùoÖAH­®Ô¨‰”öߨBq˾—@’­Ö®‹ŽÁíJ£C‡ãÇ£´æEÙDÔÃ¥hN¨;lô…š‘mOÜ)ç¦9èh¥·€Œùd5ÌlJØAîL–4e¤2£ä¦Í•QP6ȧÏ)Ö-È\ž°ìŠ^E'‘Z~ãc2h'éÔÓüIüš‹†¦Ò›ždö+?„¦,u› >÷3sœrÚ\Õ„&ª ÿ"ܶS‡$ÿÂ@¥9üX1|*Èþ¹aáf ÕÌÁ“N jvÎÇ¥2–ÿbKå7‚Ÿ+/(ÙB³UààVYtñâ× .Å1v­î?†¦ìÉä}‡ŠâB_´+j²h=òóѶ*ÒË]&ù„z~g³™wz|äŒàÀ¼]·n=÷¾À'ŸL>~üȈ‘£;vìøÃžÝüÍd !êLÒ…*YáoS+CQtÄsÚÄ *" 3wez-LWA½«‹„R.ö•ë=£g¢ð]ŒçSíž*R$hó¦ïîÜÉiþEj°K×N˜°¯0CÔdg(H¥W€AÈ#a0y#Ÿý<:]Ù¸I8söO•Ћ–}‰¡ XüyÔ* Ȇäñµ¹jD´Ryìç:áÖ>Ϩ̖Nq9F$e ¶«¥®9‹3$,a©Weu;Åíò3ôr†9†D)„ †‡‡§¤¤$§$›õùÁD ¹Ù0$û Pyƒd¸ÂE êÑíh¾ÀhI¯F¸„ò&±œ #k4"Ô«_?,<,5õTJJŠjÌ9Ƀhq ˆqÔoP?,LACfó`¶ üO-n®‹•Ïð-‡Êì 7iT¾Âýâ§'ÈʶFF»¥pe‰_ë-“7%0K3ÐV¢YfÞrª I<ªY˜ü¢ÿýŽF4K±”ÂF¹O/[ÙflÇSçJ•dl: ж™¨¹¾(„Â#„oø!‹LéJˆŽI¶Tð«Žý™éA©Žhj‡É9£4ûG]‡éghØ7¦þÚâel3V^ƒƒ] S5)Þ±²vÚU¶ÌÎP›¹`¥‡ó+\ü4³¸Mkoÿ“åÃïæ¯o} Zä™s©ÙEÅi× µWÈ\q’Î*¨Å'ez+´ÿ§Š &õ4ÐVß¿%3ÀJIÝDòé •×ë´Fæœ:” hžÇ +¿#µ (¿™ˆ¯¥{\ÙÕ'ç[ˆàÈlаÒðT Æõ ‘}#`’Ñ)á2¢‘Ü^‘?‰J¤UäÉþ±_‰šõ]ŒŒíÙô ñU’Øë-t¥Ýð²-ŸÏãQ'Ö"ßYJÖ¸ÝpEW€õ‰Tº*€Êh+~ˆÐï™gžzò NƒbÅ‚kGÔfŒõíÛïØ±#º2#³T ä¿üHp± ¶»Dhµe€d„ ž®¡Ð@Ô‹äjéŒêRTÌ)@%Ú®ÊÜØñ˜ša’8‘(9l'%”r Í«ª»­ôªw™, -­0»hÜ%DÓÝ©kűr»›¶¼1óù@®tÊ­rªD´‘ý@êÁTšá«úIu ‘_™ïÐÔsnhtâ#7ÐwQ„»îñp:H:æÿ€Ò°^œaÖ ÂLnΆ“dæ6?çcÑׇߺÓãß›´1qétV÷‡’Ñ„Ù÷-™dn×îƒÖboÕpÁý¨9Ý·VžR«yGøZËe ´?SKwƸ\V¨›Æh_èâïºñ¸¶…ÊBã>¹ÐQ€z SħRÕ•EDÆ„>!Qœ+ 9p¥‘Ì:¦y!ƒ5`RWJÛKy™öÞ@À¶û/ ­ ³_ÙFæ·I )/“ÈøÖAÅ Ú!tc_c³Ä>á…x<Àÿx„8<ÜÈø›(SÚ˜Œ¨‘2jH› ³.Þ€›±¤•\9D¯ÐÚ÷Ò“¤¨é9uQ ²#a„­§ gAe,Ìžtú—ÉÌŃs~²BëGLjݸ²l ¾Ë¨‰X⌆æ¬jŠ8}"dbr±Öu¡HÊÙàÒoÌÕcÅtæØ-ÙPp-—ê¿,†Þ7¹ •ˆÓ^]ðð3d©Àåf;IB&™Pihp¦áÙ]š"¿:­]0©Ï ÈŽYÏmÇ¿¾ã n‘þÃ4&ˆèñ úPn54.‚^¤F`zÒEi0óeU¹¹9»vï4`5„ú¾²ìHoÉ ^—Z)q¦ô ð„5“}!%Žø‡Ú,7þ¾½Ãë5u˜N§#¡¯±ÃÜ6ŽR¼èNQ@jd4<¾ª˜ANˆv‰¥¼Z¢AxÝL ¥J•ÊÑ11üúÖ­[G™9ë‹ãÇŽ"zô'Õµ\ê9p£‰¿â°N¶ZãLDß{‘®ÊŠJ§8% W€L13fœL*F*`ÌŽ[LŒÀÂ,Z¢™þ¥0±R.ºËý÷ê´çiîcÂâ ÊÚŒf†©³¸˜Þnàóùˆ\éÎtl¯ïJÜ–d nqÛÿç(DÞ$ÓŠY2ð6â"µ³‚F³R~¤SBó¤;©Œ¨^EÔ/¾š9±Öÿ; #άó¡ùÓ´ƒÌï‚Sœ±Xpð#¶þûï¿w~¿Ë¨Åd ©˜âIÒ™®±–iY,´p ,1VÎÆ.hüq>UÏÅIhøpL8‚‹¥Ì1 PŒÜm¸õ­Ú¼,7Ÿ:‡hai¡Á‘ f‰)…êÓ y.‘´c¨áªl#±æB×™<èÐ"nJ…j j¸\ªZíä…¦ÑŤšÕ+Ÿ}S-iP^uíH•`+'‹I"»àÂåîÊ^oe2_‘%`™‚Jç#z¹¿!u¸²­4«éìÕ5ŒÈwf “¦N7_w»üɸ®×™ i$o1!‚Hì ÷ Ð((Iár¢FKÁ Uæˆü¦s¤Ò‘„ÖhÆz—_^3M_DÝtMePí÷2öRëñÐXËZ S÷Í¥`k`+QLSHð•(ª›r%\C+F#‰%Byæó™p%ňÒAB{'ÛÉåwNöVM Fm'Ñ®U —J³™@J* 5ªí,µmFEªSWmáг”Ëœõý""zKÐå}Ý¥s5˜ “Jªá“c_¼ IDATdË<Ëô.K­ŠzvÄ.Ÿ3F…Èê7ã_6 àá,ÇçNð‚fX­.¨ç!œÃR…©á[©g™EÑ–ËHxª©CBdUŽŸüß°B ~˜4°iqR^´ †ÜuLA4OÄÛ#ÎZ±®I3FëK¼¤Yif%df´uŒEürÕ".cBóŠÒÆÒ™j„ÂÎ2Ä~‰oëG«+–ö·o€1·EB‘k3n˜­¼ÒÕ,sfbéC /¤3P¯ZÃp/Îôe]§'ã ñoÄÄ©­Õ*RÜatªÉ’8.¨¦!±˜„K5o™˜0sS€Öih"£ìŠ‘i–TQç•H‚‘nA·QJVÿTÃD0L— ëÒ¡ýĨK<+éh ý óÚå­-ÕˆŸ}ÒŽÔ@ôÈm†`Їì7D5FÁZ¡åNc <”u“?$¿ âÈØ]*;… ŠÛðõ£Ù†ˆ€³J `@jã»94H"J__úõZ;)nôƒ«ÉÀ„¬ò7«Õ,FÄUQÑÒ–YtNФ çjC$x¿R0}ñ~4Å¡˜?ɱ(Är/˜Ï|£}Ót6Í*¶CДýGägÉ”ŽdŒ±{÷Ämm›1‚-úå—nÍœ$3él¼®Â]I$ªQ`ŒŒ* ª•Áõ9´RfÄç1¤¹ð¢Õ5"¢8ÏWð·8øš†ŒÇ£° C$ÛÆ´vx ÛÀ1×1¹A:ks»¤Åˆ¿]Ø…SÂ)’±uÖõ¢ž$5#4bƼ3”™­2&4þC¦Ü?¡qE£ !îšÀŽw†õpLÊ(úÔ%©Ç-¨IV"Ý;èR]*fíĨRq]¾½rs&ÇÎiÎÍ”Š0×Ú$ÛJÆ ñDZyÖɓ޸MêRºSÁV>Š¿$GíûP1.DÕ7 ôÔñzžÅ¿¶žPrA±pê|ÃPHz:1ã¿ÊQòÛÜ¥Üf?UêÊ‘@÷[˜}iÈ;e6mÕj+ÅÏ–¦œ‘D£ˆ+å¬nÍJFk¬j’„+aG÷¨Æ™Ã×nŒÍJ´Å¡2AàX¡ãjGXî‹(²ÖBŸKàRWÓk®XQ¯R  ­Clæ†ÿÈŒ"zoŸÖ0Õ&,Dc>{[–fšã$†Î½^—åcò}4 #aù4/ÑTš hyØíACðz½ˆ““kHÚ˜wÿò$ÕŽ¡W”Ò þ»bw¥T¢Ð=*-NtƒT hZ'¦¹S+*sœÍ$•k?ˆ[K¥i5áw”àþjRž4Ýa½0EDÉ1Dw%è'Å£4¼’ªž.ÁDU>ÌîV¹h̺EñöŸûTAóbŒ$~VëÖǪ̃̄Ãa<"ÖV)_­M  0›4”59«“ÕRæ6ãùB"xàFVM.Áæ†}Ö¼O‰®}{P¬Š|­ ¨EáÚ_Ù=&þUr!ŽÙpÈ —kô ¢Ïçdðø˜O àñ¨«>_"ê•@CíÚ_ˇfn:¢ ´7õ< _JI™aüä EQ²ñ[[æZ/ÒÞÇD¦²8™w…šÊØÊ¹ðx<^¯‡1ðùòè^zP/û|>ñ¥gÁËÑÊ{ˆ›gÇ€L?uïR8ï©¥j`œ_$)”46#7^msá:=b^^ž¼OÐ*Í¥l“ç2ß~æ”';AΠ0*Ó¤õ†©$»¬˜’¯®Uþ'íø·¶WkW4[2&Ý?3šµ tÞRÐ\“«Dß’-{§‡Sni׆&Ž‘ä «wÕ¡à3Ñ£‘d´»[ýÔ¥³¾¶¨ÿ ˜æJ:#z·¿ðÈ­$ “Þ»ñÄ9Åš˜$£lû²ŒLB .“®½Ã¬ÚR1YxØ@ˆZýИâKÕ”Üâ9yA®•0êd™XÞ03.í`fs¦I‰Æ¤™€4i• "¬ÈR8×™íè¶‚£o´),ùBŸ.¤_.5Œ©î YøRyy÷¸ÎWE,@ðx½^Ƙù˜š* Â})Ë"¸6âè¨ÅÈ!£@ESŽÅ†f|ŠÙ ¿zË­®B Ÿú6/ý7–­ºÍ7Ó)úÔ÷ Òm-<#½8·Ò¹iÒ½¢ìI§†)Q>€R*ÆàüÑàI~#¸~ëŠëíDjKmQs8'.´kÈa¹#¬EÝÐo~jºéeP$sE£àÆÉŸ´!š¿µß®h¨Òuþ°öXñ™a¤Ü‰@N¶Á¹»¤w¹ ¦bt:mkœ`Àt]¨ÐY~P·€Ü}AIaDfæp¹ÖI D>»ËGÒ’æj~‹ÿ$luÖ…éÔÈ&¶¼“hVƒ0Gê:,·Ñ BhÓԘ-ëè¬/B~Z¤ÐV÷"µŠ:-CÏ¿ e_Éɧþq¯ÿ•ÈÈZü¤±-ã|~ŒxUϸj#U y#ñÙr*¨ªÌ“Î’NUÌ `¨Ù3ìxؾ$ÑEúí¡¨E\ÍÉ®º¨^݆ÎöÄês€Pº’ÈͰéË’àèÒ´Ô2B[ºŽû?sF´þðS\9;4” œöõ¿õ•ÐáH?+”Y3­Ù–Þ$…YÿÙÏ´ ÷ƒ¢~®v9jÛ>0ت–X*ÙYÁ=€|üQç#>WÒp‘Û› †t‰õXuV‰rÜ1½@XÚïxÜð <~“smÃ.™Óp²“È€$ 3—G¾£_"»Òƒb´¢2*Ê^+ u+J7kÿ““®©M2Vo-oË©µZ3·Ê[SÍï!(€¼Z"GêG=!÷jÄb/‚Lç‹×äHò q\»^“ífbHpïÞ=Æ¢=ÊSRä¹@+i,‰!ó¦Od˜ußË2ò¯ hÕÂ8ø|>¹¨á>Ê‚…Œ_ØTw bæGöü÷’O¡kŒ@æä±‰ã$—[§~ô´Pႇ¤¨T ¾hú‚+±œCEÕ }è—ùf§`Å©ƒLÖÒ\EBt©êAC 9º6[é EŒ9j8àüï_µ0?×ú§¢¿bWp›ŒáS'R–Ë×(CH™®LÛ=ùåï)#XÜá ™lo’uŒ¤#MÜà27WxÒh&•%Ç0Ò¸ ¾ÓßZ€© ïÂV¨]:Íz¥ÌmÒà%¦þªI¥æV½Ê+‡¬Ú?UkªKõOþ©ˆšÇ\¨‰6ùóÅÂÏœ¸s–5bE¹ãJ¡IB‹ÿSšý?VnŒAOÉKúµ º*kÌ …`úÀ Ò' уüS À£ö˨ƒftn× í”È×ùø¢©´ ¢óœ¾òÛ˜·T~‹ŸGÚÉ!ûýI#”ï²k‰&Í;sûµÐ1tšœÀæFǪ†æÐ¬”wAKþ††‘Îüs¯Ûë[^Àf¹`«çRÛ Ëм—ŸªeŽ),@ÉÇç±µ•ƒŽAQ$íŒ.åT3ÝÔÜùGÈ ªéÕ D;B‰šYj÷b9Vî¨ÐŽ­Öt7)hÜ”]v h䬪:ÌÈSè@¾X¼–+Û’nþÍ¡Z(©l¹dÂ|¸ÁøÚŸºID,´÷„`//`g¨†èñòz|>Ÿù˜Ïð ×QPïJ¾4˹‡o«ÒQJ‹ U¹Rc¨çL.È ÝOÙK‚0®E ¦yÌ­ÐñïÐø@Íïáû‰òÓ„¥I€âŽßþ\Z»¬ÉB»%„®×~ûSõœ>#7™à&éE›´ËçROoÆP‹è€•L-¨/â·+Å|´5È*`Lï (eNNqš)ë®=hÇßOq¯öýÖ$¸¸bìD4°Ô;Q÷Üš i¢ò”M””7ÝO[¤;ÁL›ÎK—bøzzÙR¾hN3Ï¨ÌÆ?÷¬î\3h´£H¿Ä$ºèÑ9I© ˜1Ç ä½ÑF‘èª,3|vý•Q§ 0ÝBäFùúZ¸"†L­0€1—%’:î/ßOÁº0ºö»£8†‹T°&. d4ËŸó³²x‘gOŒ÷¿³ þ×M?ˆÂÈ ÏnÒj2“Ÿ2ª­A)X1ïú:ЧsüúF˜`xiÔSt]úWÛ)Pë;D¥úÓÆT·c³-gw4NÆ=¹p–víU6 TK!àʲYÐ’?ÊæÃÓò 4‡t+~±E‰TvëS¨hI*½¯ÃÝfÀ;À€]†Á©ê˜'/šxÚBy›¯þ¡ù<€û`Úñ|­Ò?ŠQý([䥿ՑÌ*8"¥Q7œS"VšIuoaüã.XÈmßÀ€H€[@lFÖÑ*ÂYÖì‹rç4S{Áú ÕÂØÿGÞ{hQdýÂçô€aP’ ” *ꪯ"Q ¦5KP1ºæYEP1î® }לÐ5*‚3 ‹JN aæéúþ¨ªSçTW?3¸ÞïÞ÷ÞZÖ駺©S'üNUu·5<¢]'ÏJº•‹¼€FA‡ã Ú»Š ¿Ã@n–´Öžœa½¹mw½Œ@x…Amê8‡€(¼š5ã8®¬¬Œ+âbÔ(ˆÖ4£NfñѤ°É®¹Šj õwÈcƒBö ð)³¶Fì<Ц…J œr7“Ö¦úÝ‘»BoX¨øìx}'—wF¸{LnéÖOÉ€ ŽZ,Qó§Cmñ´û3¤Âî‰~D®êb8¬„O}Èçü™¬ f#ØX˜ê*ŠU²<÷þC=ŠÿN°°Öæ Å ñTLX%¹¤Î‡)–j#–ÐÜËûh¾¹ü)^3L#m/§$­©zõ\¯cZ¨€5~r<¶rd®ÙCX`¸ã°ž~z ´'ÓœS ÿ#ÐKª)[â£Aʼn±0æ&¬´¬3*É_ßÀ@ MeSÜ6½ÆÎƒ˜è@òòJ¾ÏD?Ÿ%4x9¯€f: ±£ ZH±÷ ¿\st­8{P4(S1òÄ#g¡•t+7_“ƒÆÄ?Cº0óetù48¯Â+ÐT^:ú²{C‡C´+ÁŸ3JÊʾ++ý®¬ì»²²ïÎ:óœô1ºÑôésÜ”Ç?á„“äxý*ˆnÐÿd†d*MÂX ˜õ*@é…ñ’M³AÏpXÇN¥¥Ëf̘•èWR·ßqç·ß–2”‹¶ÕÐ9Îê˜ÚtúÇü6Ùu c|o@&q#=)¥£W„P¾Öò$2ÙÛÜXÈ}ø5Áª3³O¦¦»Õœ@í:µ‹¾üòë…_~U»v”Ñù\GR²HUÕJȸåéfõ‚y¶â¿BŒÔÅêÔÙ뫯}ùÕ×EEE¼ùß—FºìÞ{îëÐáPÁÿHiJen˜)Ï7á\µ¬D´S#j„ë‰CJ‡ÂcQq£É¸¤£õŽt Sd9˜#¸eÓb]K 7ÇZcõ‹YxhõWDnÉʱ†—1°¥ýS~¸Ô¼^×r,(¹“>¿‚Ю^Œh½0IÆ8¢Øˆ¬“Pöì€5èr Ò¯%ZMI¾øÌ U1ÿ”¢~N©Y­”1œsô²<Ì$‰‚…´Tk  ƒmÒqCnÙÕ÷¥®*é@R XIOqÕ1õ’ÿ\-|ÊDaÅE)U³Ü=ÁW&\û Åð,,ò;þ² Ç4"9 ¸°sÁêdǦÍDPER*ŽãŠŠŠŠŠŠl6K€P)«¸ºË,©•4¦œ1V‹µz_g5mпv>Ì#”‰Jr]ØU¶?¯x6+ @-Š?TBDg¶k¯ÌïO"ôû½ð‹SC®‡XËÌè@Ε±n)Èc ô!åøÏMcÚ¡F%8j³,&rJåÉEª±l¿j‚d¶ëjQÚ]ÎF–Ü4sÜ7U øâ‹/w}L `“å~áÂ/?š÷ÑGó>Z±bEb°Œvƒ°ÞÞõ&OšòØcSŽ>úèŠ ïÕÜ>‰à‹³Ï”œ)@ Yšðù~ØÏdËÈͪ­lç…y7.‰& 0JfÎ`y¦­ÂÂZ'tÒÎ;_ýõ *;–¤ZæØla´’ç'|ˆ˜]’])ß{ûT\? ÍÄfG9³iX‰­Nt½°C3¦бS§‰>réå—q L…8ÎàËœZãx—BtòÉ'¼ùÏ7~ûm{‚#.…=LZᤜ2{ëÏ–¹ËLÔ÷g;ý&e!ïSe""„‹,CÞzãÍòß~ûÝŽáË/Ž}ÉÃ?ôÎv/"ö0àÅ^7v|&SüµT$WpGlcVL«Jű8c«"DýOÀþ—¹J20ÎÈøìs.LÚÒЄJ âU±ÿ©ú·¤åLàäŽwaFæ=Ú’XQûu!.+Ä?«ÖÊ–ÄpW*V*öëÒNŠÜv¡2¦µë‚Ü8Ú‘¦+GÊ %þ˜¢ÆØ!ËWÞLš#î‡,34º@#iƒ ÖrÝö®°ð \H ÀInJ“¹{摸V`:²zUÑP¹¦%«0ŽPô˜Lá\d|“˜@%þQ‘4ã.Jò~ÉØ†°j¶<Óaæý½Nœ5‘<¨jœéɘÏ&Ëù÷oÐí=èÍ[§ý§'¥Teee6[Ç1Ú½I»ºP-´Ü«øÀ@#¤3•b/‚<‡CuƒÑz¥.lE}ÁPRÕת'¹Ð(È5ml…H•±m©8VqœÃ xw†s˜RÓÇvIC“Ú%[Ü ãrýön8A[Êû«gQ) ”‚XÅn¡5(ê­ÿ½ò€ùeeß¿ûîÆß(ådˆóNäp2 ®‘™¬BýzõËʾ›3ç5“˜‰2QùKè´€R]¾¹ô褉C‡žVVVöçsÏ»÷žûí¶¿sÒ†HÄ;ï¼í¢ Ï¿èÂóç¼:›ñGz`ÛeQÑ^O>ùô±Ç÷æ›oüé„ãÞ{ï*›Ÿ—oùÆXS¥U¤úàÚâŽd `\IRô„üH²s¹Îç×L[~~á|rEEÅܹsyEÝÕ‰'žX»ví·ßy{ûömá¾9 {y*¦h.ååŠvïÆQ&Ã]®ˆÜÍY?­¨X)sn•UH¨Q3»s÷Ï;woªŒ-ß¹qÇ®5ó*,ÃtJ±#Ѻ®þ0 DQ4æŠËûÛgĈ‹Û´mü½o ”þhJ¡>acØc×ÏÝ~o@„3Kf$oÑðx¬#x™šŒê›ÁrLuƒHGÂ;× qØÖ*Ü6ù}å†-ú›Áöh†¼2ã•X© U+=4áwÞykòc.[¶ô÷µð&-Õ}dèÐÓ­¼/¢ÓOìH߯$Ѐö”¶Òúœ‹C”‚Ø>+d®•П8Ê$[¥¯îÝ^Û¹qÚæ#àCvòëN< Ûqbí~rmXÀ¢xA³“MgãYG†/â?±î«’v†|°;ý¥8mjtëÂT¾êÏW˜ëØ«ËÑ›o\—%û=ˆiu%9?l©Âfõù-ï¢JXVmÝt³gwëÍ/ 3APn Ç©5N@$îkªŸƒJÔ÷¼vŽ^œ´i±L”SŒÛN˜¬àQw!Iñz¶Š–N6§>8Äp Â͘|#60é¹x9Îej8k†E?í0XÃicàãÐfÅ4,’ Ìœ¼@_ªL™®NͤóG03 @á¹å‡eDµh2‡øh¥Ì«‘xêÂ̱G¿ã eÔf<’úKkt†ûJ)÷‚ DZR1"f2És¾l‚Ø Åž`:wbÃä$5%ºIØ}OkÓ“˜++V‰‰¦8·ƒ%C6U…6Õ¶:¯!âs+¥Gç´Y/vL¦%h3ñž/*œ4љÆîà9em•7¼d\æœ<ŠVÐ/èÅÞ†š aS*ŽãX®dXhâWŽ%?–-úzذÓçÏŸJß¾çœsŽ!‰Xiס-ó¢ä*£ \Üró­|ðóÏ=7fÌe«W­BËÌ”ä¦D%ŒÅW\UVöݰagävÒc®¸ª¬ìûaÃÎ𩆗A¬$f¦˜àh-9RjËL€"È&\—r² ø§N(**z÷Ýw·üº%Ù¬ŽJf”˜ ÏÝ€ƒšV–¹°“Ë1?¥. z•5j¦¹`š¢àò1—-)]4dèé.sA\ʼëꬴRˆEÆ+€ŠÊ+W®ŒãxêÔ)»víÚµk×Î]å±ÊÙn‰µxP)õö[oïØ±ã›E‹Wü´ôÙf60ýaq ÀÈ—beÞA˜xO‹[tìØqÕªU_|þ…ä=]‚ƒ;kà1Å5aPϤè¹âÊÒÒ¥C‡ ÷›G)àá®I“aEFF¶Íj`‹–-5C|1¿Úx9N8áÄÂÂZ‡zXóæÍÿƒfþ˜D1Ù¢E_>D›Á³Ï¶ÏS°÷3·â'í.:cLüF³é5]‹´lI©¬Lç/z×$A`Ý á¢ÀQìT;á AˆÚ8ŠŒ ¸ô‡ý³b äA‚<2ÄØgBy‡þÊH©±üGe\F¬W{+võHq=Ð(~)¥8Ë£œÁuÀ e3Á(Ç +}†mx­ØoGZ.ÎkU#¤5±‰mزÐtʵô½$_¬ñÖ¤¯q£:‰À«è{¾ô‹‰ÿÇ&\V•ᜥ‚:sÍsé 9Õ8 "¹nNнdíÓgóÚ" ŒÄr´Ácʳ’핦Ð6†ŒCFL¤H°À%ÙWAg>Œb÷•"”2  Â/ÇÉ)mƒ"h·e©J!,˜‹í¶Â °ÉóÌ‘µHüE¹`¹ãÞYk™‰`võÌ•{#““u²Ž$x#clæ¥ÓAÐ ãÆT,QÀÏÏ‘r\!ÆéòíÛŸ|á„‹Ól%.úF…l9 º˜Ã‘h̨ãcëÖ£8ho]?ic«€r6ÜÔ“ÔÊ.|¾ìŠà‚èRA‚T̈$(÷çÓƒ,J… *»wï¾êª1;vî¸ôÒË‹ŠöBàóE–ůŒ„ËxIÄŽ;|Ê)ßÿýÝ÷Ü•h„‰öëH÷m›²w7ü]ªŠ × ãº,Q9Ù¨1J€L&ãsϱ`ð@vÞØ™S€fû5;üðÃ׬]ûé§Ÿ:r¸¥Q\)%P ZÍ"øÄ–!\D‹Öbóz€ri^‚O—Å:[dèX´b£\>òš5 š5kEÑÀ‹‹‹óóóóó “a·’sÉ$Rýíù¿wírÄðaÃwì(O˜+w”F9óé”A “]4JfÍô/WHh§Ù?šUÍ)ØÜæäÖd¦;4àÁ„ÔÉâ(½Ô2kVI,V;÷8}ÖŸ¿úrñË/•ÖúšùãÓîÝ»¯¼R›ÁËŠŠö&.¥†*W€l”oé“d¼°¹cvƒ™·ìÆò©IX çyYbëw€ˆ!蕌ˆÅ(‘ûg DÌ"¿6}¸žˆr”Ä9`-Jù6RÇQ7A,»YáX¼˜¨¢àÏ&⬴Þ<7 b£sG¨Ž‚ùˆN<š¬%Ô ¨¤ÜúæS,Ç@(kF`‡ä:¹#ŽzpîÓCæåP(*8³)« ›ÜðSà5I®xöÞàp-"çƒVÆûH)ˆuEŽ:E‹"ŒÅHàÌ‘°‡QšÛÔ3Ùîƒ$þqRh%Þ~¾N¬ÆÑ°œ²¸àÀä·¯èÙ6—'Qä³Lš n8Mž°+n²8˜AkM-r¦…§$¼0Í:l+4±jïG&Ř&n ¼È_°!0‡¹·vÍÂì<9…¤ÙaÖU1×b'G˜a_å´êUB·øÊéâ y£€Vn6Z¢Ñ×,/åЀò-JØkr;´ î 7£=ë9#‹zMB-JH‚gî̪°ýnaÁñÞjkˆ@k’VøÒ:0z IDAT¥¬ØXÕ"fÆYÿAD´Kƒ¦­ä¹É%'Õ†<¾0|œ1n½Ê÷7Ö È×èkDܸq㬙3‹ŠŠŽ;öX‹0¨/â_µ „z^û÷ëO<ñ¸y«-¸ v“áå ‚ {WÆ™l‹ É:éû|þ8y±p”ðŽ´Àð¸¸&ÑÓÞUGˆ¢ˆ*Ú%k×}ãÆMºuï¾qãÆæÍ£Þ©ƒ"âìÙ³”=O›èÊ&' Ú¸¹»N™ñÞÃF¥Ü#(á8Mžô^TÛÐL¡ ""F ˜7QH2ÌQym—¡ [Y3?¯^~~>TVVæÕÜ«rw € ›"‚-ÐoàŸê#-Є뼘AÓF™¢¨Fÿþý•R³Jf±¢¬s!èìd”W‹ E¬ä¶¼Çà0E „½•åžH}¹8k‚õDûЦ1ê߯¿RjÖ¬YÜèþß””R7nÐfðØcðwC&íPZßü€Ìthd«5…!$sÖ”Td`¸Ca+xÎÉXSÉñ3:G-”¬²ÇÑ©<_&D¾:¡Òg)è_1£ ð%ZkœMÐK™Ö ²å5¶háɹÝáaXPÒ‘ïálûÓ5b®Œõqgágme§dkBŠÍWV™qh‰Ñ•H‰½2ÿ>±ÁÊ»i•š1%­ú'­»ÉøŸŠK<ÌÄã1A¨l€Ö5©žo騂 'Ž{eÑ`ˆQ,K%Ã[”lÔp;K^«f°+<Îà;]%wVWdÜK~[ˆ|:QÉ!±rRÄ:å-'… Pß­ådE²BY%²Á˜rD)íõE¤É ž¡Ä›æ´’p˜‰u@e]Z"6£ áÒ8Ï‘P ×}°]3 Â>’kÉPJÅìƒva ¸|~89Nuxà œEž¸Zo£¬›G;QO%®Íi#¹ˆ¥ùa%Ú[L‚\=”Òÿ\³ÚÒ:År‰}‡V[L%fIÈ®´˜È¥ÛSÂ×—ú˜‚‚o}ýЃ.Zôµ²ëãZ Z·>袋.éÞ½[½zõ·lÙòé§ÿš8ñ‘+~ò:?ñÄ“.¹dd‹-~ùeó«³KžyöYÎJ={ö3抃:è×_ûÚܧŸšþá‡óÊÊÊìG/‚€-ZŒ1ºGîuëî½aÆ÷Þ}wòc“6oþÅ ‰PeÚ»ï½;üŒ3{öî=ûÕYJA¤?9¡Dö }PÔpÇQ¥½q =Žì¥”úðƒl)dÖÓÍQÆ ¯¿þ/Ý»wËËËûê˯|è%K¾ÓÌ™ûZëV­©ƒ›o¾õæ›o¥Ÿ½zõØôó&PjÎÜÿæÅn½å¶[o¹MÛ´ 25j,Y\ºiÓ¦ƒŒ»nÜ‘={.Y²ä¯Z°`¾±bÊÎ#{ô¾øâ‹[µ>¨¸¸xÛ¶m?þøã /þ£dÆ ¾JAQ¢Ç¦L;¤ý!oü÷?Ç«G[YYA¡ þ†{Ÿé€LÈš0‹8`À@˜5³„„]µ ìâL«V­Gyx×®õêíýË/¿|öég“&M^±â'4(¥à¯L8áOÇŸÞ…Ý»wëß¿ýâúkV¯~ùåÏ<õŒ™—»´jÝúü ÎëÖ­«ËÏ>ûlÒ£SVº—~á¬W_iÕªQxãM7ÜxÓ ô³ÏÑÇoÚô3€R U‹–^|ÉÅÝ»w­[wï6¼÷ÞS§LÛ²e "}CT÷nÝ/¸øüÖ­ZÕ/®¿mÛöŸ~ü饗^™5³„N#Dˆ»`:¬×¿Ÿ{þ™N:=Ö¯?öØã©i Ú¶msÉÈK?üð¢¢:›6ýüá‡NztÒÆä8óyTïÞûì³Ï§ÿúך5kè>MË–5ªëGÔ«Wï—_~þô_Ÿ>:éQO~xâ 'œpÞyçvïÞ½ÿÅÅõW¯^ýÒ‹/>ýôSôkÕê ‹/¾˜‡G&N\¹âGò¯ÎºpË-·Þr‹Ó…Þ½{nÚ´‘Ìl‹–-FŽå´þ½÷&MztË–Íb¤ zô8òâK.iݺµòŸ~üñ…_˜9c†R±Õá>Žê}”eÈj¥hÕ.¸ðÜÏ?ÿôþûºãÎÛ*++n¸þ¦ÚµkßvûÍ»wï1bô9gŸK- ?ãô… Ðφ }øÁ' Ó®]»=¬]“&MŸ}æowÞyÛ‚…ó+**;uêtõU×µoߊmÞ¼¹{.ØâŸÿý6e–——wêܾI“¦ï½ûoó“O>ž:mòwß-ûùçŸ‹ŠŠ8àÀáÃÎ4è4rÕ Ùl×ZÞ}ÿ½ágœÙ«W¯Y³KÃ|+kë,kÜ,E›ëZ (ƒô!‡àdДšPàbŸÌ+rW(¶èýÀعLž¨ÕÑþš¸ö;ÒrɳФ ¡@Ú„zƒ«g†ïJ棷‰ÄW{e™ò໲›~ˆÍTò©L20’e„«¨sBPC/y£: V™gX[M©sIŽW´éæ$ÈÂVoÍ?Oùû˜ŽçÈø qWÒ¥§´X‰“$ú£1$X ”zÏk4YÀazäÅ1ѳ?(ÇBW-t—ʯsˆ òTâ‚€Ù8÷ÅÛ`¤aÁ-œ’Ûö^¨(ÙkQ4º,NŠ5ŸæÑ ×¢RzÃãØUôôËZs?‡ýV@pÑt¶ÚxðòåÿÖ­–.ùvÛ֭иqÓÆ­X±bÓ¦T·²²â·K–ØbM7n¼bÅO:‚Õ©¢²Òëtâ#þòË//¼ðƒjsÜqÇ=õô3gyÆ¢o¾3ÇxÌ1ÇNš4KKK¿-ý¶N:Úw¸óŽ»šï×ì¯O .è±÷8²çᇜøèÃ:ø‰ciˆA¡Œ"­õõyã’™J(@=š4n<ÿ‹ù+V®0èÔøS“:vì4}ú“kÖ¬™ÿÅüfû7ï{jßcúsæ™gÿÝwÆ0ÛŽÿ|î9Åõ‹_}õÕ¢¢¢ÿ:ù¤k®½ªa£†÷ÝsŸFàˆn]'?6)??ïÇ~\¶ì»ý›7?唓{÷î=|ØY+~2±Yé·eÛ¶mÀÆ7jÜp劕›~ÞDBÆØ«>ø§ž}²° `á‚/×­›ßªUË3Ï~üñÇ1ü¬ ÍÄ)¥Ž:ú¨G'=ŒˆeeKKËÊjשÝþö·Ý~s“Æ&Nº×rL iœu† ¿lé2°…;vêhËûB×¥s—ÇŸœš——·vÍšåÿ^~`‹‡ 9ýè£:t؆õë©·kúx팒™~—:už>ý); _4ÛÿSûõësì±gœ1ü»ï–y…ÏýóyÅÅõ_=«¨¨èäSN¾nìØFß}÷Tàˆ#ºM›FÆaÙûï¯Ãé§;ã[ø+ÄÛ·ïðìsÏi­_·î³Ö­[ŸuÖYÇÿ§!CNãÑûÑÇôyì±Ç´—––Ö©S§}ûöwÜqg³ýšýõá ÚJÕǃÀŒ™3“'G²ÙìÂ/Þxã->pï7Ýpâ‰'ý军ŸxbÚ]wÝÞíˆîmÚ´ÕÅèB)õå— “Œåé²ËG5Û¯ÙYgžómé’÷ßïË…Ãf̘ݲe«Üµ’é½÷ß9ò"¥T»v·kwÈoÛ·³xÑõ7Œ]±â§+¯¼8ð¶¨ø§ŸV@£Fƒ{2!öR[ AÛ­5ƒû˚ʉºì˜ -7ÉkrT…ì ­x6ß¿ HÕ«ä|©8>c¿'+"µïSšøÉeð ÿ&s’`™°€Aü}úlß¾ý­7ß²‘Þã7ÞTPPððÃOò˜ˆ0ºêš«/8ÿ‚±cÇ]xáù^SQ„C‡ ã,<9ýÉ9sæœyæ™OMŸ¾nýZ]à†´q¸^Pxíu×þù£Gºn¬68vÜuºð˜1WŽ1búô'_|ñÔ…u¸ oºéæÂ‚ÂË/¿ì­·ÞÔwÅW^rɈË/sã¡Q 6 ¯?®dV‰æjÛvOŸ>ý¸ãÿëÃøÉ+˽íÓgûöío¾ùF’½Ùlöâ‹.iÐ`Ÿ ÖßqǭÇŸÙñ°NQ&3räEŸ~ú ű·Ü|»¾ÐÛ°i“6¬¿à‚‹èK×&<0eêä'ž˜v÷Ý÷å¨L/¾ðw¥Ô=÷Ü?pÀ`óí·KÎ;ÿœ·ßy‹Zçü(€-›É îaRÆ1úŽŽÍ`H¨íþcÚ‚„…kԸ꥕¤,Lä1BÜ ¤»iÁƒ3½JþÅQØ\¯ è^(±‹ŒfC\ a¥# å!²ªÄ:÷ þäÙîRƒÔDäÂÃCŠ‚ V=”Ã;UÞ êÈ'bЧU¨*R®²Îû;Ñ A¨Ds¡cöª”qºš9X€¤ÁF¤¾‘ÀPŠ> g)8pÀŸ7n›@°¯žCD,:Pf?Œ4Åe5¦Í‚çÐ]š6UB߸®ˆú{å-°Í$€©©)4 ¢yF;5/•ËÍ=Ú…DAy`y‡ìºÞ…—ÊŸ$†¢†œ¥Å«Ÿ<ÛjH0¾›wR´”!ÞŠ í“+Û;zÏ£(bç}Û–Ü¥t/…RŠëˆ’ÿr¤* ¤&”ÿÄ-››¶\çYø\𗱡ê…?œhArMº¤è!£˜ú͆A׃=’͆ÿº™>ôÐ;f³•>xtîÜEç bÇ×]wM¿þ§Î4EðÌ3O@ûî]ãÆM7n´víºçžyF³oÇŽO=ýãbaaí:”——Ožöؤl6Û«÷Q©ƒŽD‘>6`Ÿ`gÌüàV?pe'T3&Šôb\¥<Ÿ_ðèĉ±u3Ó¦M3 ÑK_v'€æ\³#ŒlW‰Ós"‘‹àYøÜsÏ;ÿþ¿)¥:vêÄ[«]«6,˜¿D¹¬ôÛÝ»Ú÷dÏ:!ºukŽ=¶Oß¾'rZee…2GðØ+v£(Š"@Ô¯Ò4pÌœ91ŠÌû¢ sêüñåååo¼ñÍ9X+ƒ€ öÙ§m»¶ëÖ­×Ѭž±‰<ºk×®#ŽèŠ1Ѐ0wîë¦>àš5k?xïÃL&shÇÃÈ{àCt4 ÔsÏ<íÛ"˜&aYsÒ*D¨_¿¸}ûC–.]öÖ[oSþÔÇÏf³={õä2P»vmøráW¶nTV¶´wÏ>§*úäJûtÁksMd®È““cK)þTxt,Ü\±ý›Ø©]Ê¢òö?c¼ÎV¤äsœÑ“±èþQgHFÞ–RDßÿáëÿU'B.®¸²Þ”å»ðÜÑÍxçÏÁ‡@¢‘°âÁÀÓ4êîÚá™{Œ#Ž-D¿ðäÂâ}d}T¬&¥Ìo|ðç°IˆDK :¼ãââäÀ”‚{ÒN8LÃQUP`…Kf§DW‰ÿºŸv¯Éëœ~x[1áù$۠ɬª“¬\r)á§­øŸ¤¹÷JÙ¸qãŽåˆ€‚6mÚT^^¾÷Þ{耲²2D¨Y3¯Aƒú»O…PPP`ÛTuëÖ€+2£P úñGóP·îÞQ­^½º¢b7eþûßÿf+h°Ï>°ù—_š6mÊê–-[4(ÏnŠJSa§ùÎvÙo[¦Æ¤=¼!úïÆw”—£55k×®€Z…µ˜% ôWCÝV¾.©¿>J'ßrbR‰sæ›7oÞµ{§¥vîܹuëÖºuëjú´g[¼xq×®]o¹õ¶G}¤´ôÛ];wÒCîŒ|âîܹÃòÑ3Úá2.Êd O:éÄ;w¾ùÆ`—¼Œí:ùäS Jf•”——»1𠸸V¬\¡;+++:wêbio Û°a€‰®¨µëÖ@:µ ‚/]¶ Ô¨Q³Á> 2™Hä€ËĈ­ûrŸ3lР6ÿ²¹iÓ&\.¶lùµ¸A1¢yº#//ïÛÅ¥‡Þ寛o˜4iJé’Ò]»we2™l6+Ïü¤ðéC¥—TldEÒž5¨_\~Z¹‚ÃM7–——k²õr­qš€`×Jü§‹‹ëÀŠ?1iÀŠŠŠN ÊᆠñQÏBQQXº¬ jÔ¨Ù Á>QAAA¡1Þ>^2Iø‰ÅFë77mڔײZop ",þfq×®]o¹åÖ‰>Rúí·»víbÜäÃ5­†”ÌôÔºÊT“Œ´Ï>ûd2÷³Á>P¾cÇïhª}ûŸñÙÍ·ÜpùeW¶kwpAAO!¡‡ð£LÕI9Â- |= „GÌ_;¤©1Õù/ý’ÎBÒá`ôë)`2&FÞ_mÑ,UˆúA rz°ÁRÄP“ÝbÒ1n(;2e·ÑlÓ ô&cšÄÀ®’4Ó¼r¼ôcZ”—zÞšî¦ü¨Œßr]§mÕ:rYh˜Re=>F¿%Ef…Þrèkœ÷¥¤ÓWîý8D9Ñé=¨åR¥rM®Ö¤õ¿g¶„·¡Ò~R瑈.fT®²Xu’‚K?Ü7<Á“Fê†GVR F€¦e?°!à‰'žTXXkΜ9Û¶o¬3”̘éM mg0€8›EpöR)!“| „?5³|ࡇœÀnÛ®íuã®éÜ©cR,¥Æpmýœg½-ß½G·7ÞzÝkÊ«–Û?þd§.»÷èÖ½G·8ŽW¯Zýõ×ß¼òÒÌ Ýᄞ[)¡åj Öú%fq6¶BeØl6ËѼ=5mjÛ¶]Û–/_´ˆ¶¸Œ0f|À€÷0 ̃ÜÿÀ÷óœví7~|—°qHMº´Zßãí·ßõÊ“QÒ!û”©u9¼K#{ôð…|~’©mÛ´m×®ÝòåË¿þú+c@&æéJüŒ¥ß9zþ‚/>ùäãO>ù8Š¢ýöÛ¯S§.CNvøáfÏVœE“®-¸ËJVIóLËâ>Ú”Rè«~‹Ž‹%ãÛ¸¨¦/9æ®mAC\"<Ëït 1=e"’ÜRDßâT\sš4¶ÌE³nÀ¡ÝÆI£ ‘‡/²SÀ’}vñ<Ž Ü<¡ËRE|2},C¨ÊËcQX•&†D 9]^OA~=Eþ^ '³A\•KeXœÀ 9'(\ ,à’Cw9å¼A‡ãÝ_±ЦyÐ E<ÀÊ»¾“nUŒŒ[‘júºê'Þ/§A3!G¬ Is°7ùŠc+>\aSÝÔû½zvV_™}|2K¢XEÎXÓÚˆN4@€N˜Hâ Ä7ÿ9SB†åOôÙ)Oìß)Æ6.kòĤCT~ïnKpE¿¸J03Žõ—{PxI£X À¾^ËÞÌÐr_憔w‰4ãü ×`ZªJ±Tð­ÈÀõF,WU‘Ð͡ߚ» ãª}:Ÿh”­ä¤ÜïÐÑ'­•;´/K žnÒ´éóÏÿ=“ÉL›6µ´´TÀùùù>øPîQËQú÷,馨¢E‹Ÿ6Õ+!  ÊËÏýŽ}xX%²æ£•~QPÍšy»–»éê΄£UaaPMÆð”YÓ¬”[aéܺuë°aÃzöìÙ«gÏvíÚµm×®_ÿþýú÷wO9Retò¦sô™¾8ŽÍæ2³¿±RtÞ8Ž¢yq´Õ–-ZzØ¡+V¬X0?ù²œ„á×KˆŸÙEIvPÎi†©d÷š4iü̳Ó3™ÌO<µ´li¶2 ùùù÷=p·éÓ[BbÂà¹n§ß|³äÉǧÛ1™R±;:…••¿þúëYÃÏíqd·ž={´mצmÛ6}O=¹ï©'ÿåú›Kf?Ïûbp“r­Šóiê$òÒu>àMuyxÚ`˜YR"I”çÍ[³`·ŽsEB®,¨&Mš>ÿüß2™Ì´Ç§••–f³YPŸŸÿàC)ÆÁê IDAT·k–-Z4mêT§A }­ß¶uëðaÃzöêÙ³gÏvmßpÃõ%3g‚ô'ƒŸö‰ -u{ä³ÿw¦½öªûâ 3>þø£yTZZZZúíìÙ%³g—Üu×}ƒL”Ùþ‡¼šC1‹ì8s©¢-=¥¬'HOÖÊ ™R”*ø–Š*ÛNëqj‰ÂJ±µ8‰¾ - hmVÐL{ÖËÞ¦¯T¸{–;¨_w $ îKG(‚ñàK¡‚ H¯ÒƺMó›krª]n…%«!¬¸aUš] ¢È€uuUFÜ·Vÿì%šÐ¤µQÄöUÐÛi0`@­Zµ&Ozô‘‰¸ÐœÉ>bˆ2ƒ‰A™/`>¸b÷n¨S´¯»×^ô–cÃÈl6€-›7›7ôØYN×e€ÅõÀ¯¿òÇÞ¼™îߣ‰Ý½{׎;Š‹ë£`@ðÚH]Sš¨2QFÜÑ™b¨ÁjŠéì˜WÔ¨áo‚ÉÉ2ï[Q*ž7ï£yó>PˆÑ€þî¸óΫ¯¾¦Ä½óV¹13üêÄP9ºtÞþûÐåð.kÖ¬ùüÓÏ"}6ÜãA€Y³fsøjGmÚÑ1‰– ´ëÉDÈf+#ŒØú‚‰`ý#(šÌSûõ­U«pÊäi“'O![W«V-*'O¹G«·œ †¶-›7¿÷îJ)¥bG7‚~O)•ãH! úä“O?ùø_ˆˆQæÔSO¾õö›.»|´ híÈ¥ð%]s}œ@ib,ß"ÊÑ2™Ll¾“LkÖ¨Ù÷”¾ÙlöÕÙ¯šId'’Áš°³ {WEDÌf+AÜn“?ޤÿ€þµjÕš+ÉOê¥b ©ëNýGUÉC¨èŽ1J µäKì°9øY=œ`ñÂÏÎñW66ð€f#‡ ²ŠÛ[Tm3s.4š6ÓâsŒ+øƒ÷è–ô~ì¯>Fö¤†Ûwo# %+s&¿„‡ûÀŠ•+95jÈg™;¡cn2µCDܸq4ß¿9êú­W:wjß¾½©® Fš5nРqÑqœ=kÎòå?ìU·ŽTTãRŽ>ê¨K/Õ®][yƒ8”Ä"Þ¡áÛþÍö'H Š4¨U«ÖÏ›~Öl!sLŸ>õêí=ï£7ÚO I°ºoZÛ„È" ¬Y3oÁ‚ù .ˆ0òf21Rûjãà>ü«@AÆ ÅxÝœ1¤¦™i½ö/QçÎeîÛ¨¸¸Ø…*.)1B^»vû–Ãzó>š§?¤y¡ßñ»Lë“êÔ)ÊËË[»ví®]»(ó‡–@ƒ ('ŽãuëÖñOEQ4hài-Z´üù矷m3'ÿÁÈ€²6ƒKËÊÀÍ{• 5Œ`Rˆ6X ÆT‰6e Ъcþ=’‡oYoîÊê¢sWIÚÈ£‘WCg˜S£k2#–›xs4K¦Yš¤:v(àþZr¢gµÏÃû‰‘8ã%Ɔ´t†^9F(²ªŒK´Ck/\« .:•0QXÉtÃJÎX 6³tU%]è ‚ ;Œ¹ÄŸT‹!É£ñ£ã(ºÞ?Ñã³þgq'Tß+¢A?hñLþ³ÍºYAr´2ºýáó¯á"E¨QtÄ{Sö· ë™–Б&¥Ìö©œIÊNñ@¿BÒÕË Ï­´ˤerÍS T›1£Õ2Ø-;Ïñ5ÜÄ]ÙÖ¤÷°Œ£ƒ:æJk,™Pa‰*=kb{e¼tf”¢@¿ß—¯ãéêì§X%4: ìGŽYûž”Ë)Z¬h4Ê!7%TÀN¤7j-i”ô[uõÓ„V´Á)ˆŠã,!Oe÷›ˆ»44ï!¢T«äsºê:^ª—ÐíôB÷’¤¹L‰Èaé†>L“ÓvÏcX* &lƒ°°ßg¹¾"Ð-¿…Ý»¯¼òjŒ"ˆ2™«®º,˜OB³båJ8éÄÿB;§yyy#.ÉÚGX»víšµk7ntΟÿ¬s kÕºàü <³ÙÊ·ßy7“É<øÀƒ­[T«VícŽésúé§{­mÞ²ù믿>à€  ­ 0ðoûÛ•W^)‡æR¿~ýàÃ>0nÊ2Ù•àL }8ïCèß¿rŠ2‰£™2çc¬_·Ú¶iöF¨O\·Þóï#A–íÛ·_}Í5™L Œ¢ÌUW_ , ¡d2™7Þzóý÷?hѲ% ±e‹–ûí·_yyùŽòN±qãÆo¿óάY³^~饚5jrp iµØ ê߯¿RjöìYÌNXyTïÞ 4øì³Ï×®]Ë‚G›6m*+-Û·aÃQ£F"DzW\qY~~ÞçŸn6‚S–P,Á#¬ZµN8ñOT>///t%œ>!®_·Ú´i¥9@¯œÑÿ¶lÙ²hÑâý÷o>`ÐóVÔ~ýû>óÜ“c®¸” Y5çþ÷¬·Þy½EËÔ~‹-žxbR‡­wîÚ 5jÔØ¹ûç5w#@Û¶m'NžpñÅ<1}jaa-ÃåL€±ŸÞŒK»³éçMKË–5l´ïyœ«éÈÏË»öÚ«`Þ¼1eÑ4JJJ/2%@DԳаaÃQ£GéG=£(sÕ•WäççöùçfO/ ‚4­tOÀÊ•«à¤Oâ³0rÄH¿¶½ë„<”6oþEkýàÓNC³Ä£ú÷ïÿ·¿ýýÊ+¯"‹œÉdÞxS y+2×$äåå;˜ƒ‡ÁõìAý/ü¥(Šzõì]QQñЄûã8€òòò }Ž>º‹ãøO'sÔÑG~ÿýw”ùï¿jÕÊZµj¹ó.)èwj?øàƒ(꫊ à}šmôW^§#¸êZ ø9Þ³‘.ßoz«‡¢(X5š’°OTó\9ôŽŽ7<&à«À@}ÊœUÇÐv¶Üú©Üãa÷mtËÚÑv€7ņNË4s®^: Þq®Åî¯ (˜Ša›×^ß óß›«‡ £RìÂͶß[µ#$‰T{;ô 9BÙT¢P)4ÞÑîˆÖp·ÒÄãï”¶o»>å`’ÄE©Ê`5Ø H1UlØ{’<›£¸ë?Õi3AI]Šz K€Ì×› 嬦‰–Øe”°ÉñÈç²Ã]Y!—lZì-ÏÎæŒØ|:P(ê:=•æÕÜ5‹“^O|=ˆ¹*Ñ #Ï ¨‹WyASB/CذO>C«’ž'cöTšƒÓ `L›9šcgÊW$+@4(wZ‘³ÇÃÔÀdÔõhMxB$…Ö#å ³ÈàmÙi˜¢„EC»'©çÏáfZèÐ-)H€Í¿üÒ¦M›7þùæ?þتuë&›ìÚµkò¤Gi-©¤dæùçŸß§OŸÙ¯Î™ÿÅ…µ {ôèùÞ»oÓ¨ìI4øë„‡î»ïþqãÆ>í´õk×µmwðGó>ô˜ˆÞ—λÞåÕW_Õywßs÷¡‡j‡oz¾í¶[Ÿþù;î¸óŒág¬\½z¿&MiÈo¿ýöÀƒ"1Šžì{rß.]:ÿý÷Ï›§ÄËE´¼f ‰ñE¼JÁ+/¿|á…6|ÆŒß-[F}ù~MK’‡€½ü>xÿýß~ûmØð3:vê¼£¼6lÜxŘËÙ4|øþºX§NËË˨ 7]yÅåhç~ýõ×âú ÞxãÍåÿþ÷-Z4mÚ´¢¢bòäÉh…³²²â…üãœ?ÿyöìÙK/Þºm[Q¢CÚR£F©S¦ÚªN"Úwè _OÝú ƒöÝwß5kÖ€CK  {#7nôùgŸé0¬²èˆhà P2³Ä*›}Iž ’é;n¿ë‰éÓFŽ1hð •«V6oÖl߆ûnßþÛƒL0†žƒXý`…#F¤’’Ùçœ{Ö1Çõʬ—Ì_XXXؽ{·÷ß{_΄µ: >üà£ß~+2ôôŽ;–——¨ ¾æª±Ôß·ßûô³Ón»ýÆáÃO[¹jmÓ¦9¤Ýo¿•OxèQ‹ª°¢b÷K/¾rÖÙÃg”¼°dIé¶mÛ‹êÔ9¨MëîÝ]¹rå~ûí7oÞ¼-[¶d³Ù:uêÔÀMš4ÖÕ©[·îŽ¿Ù¥C…€Íš7¿óÎÛ4¥º‡zõë=÷ü3ºÊš5kÇ^7N_ß}×ÝÓž˜vÕÕW6dÍÚux`qqý ë×Oš4352P ±Š4hЫWÏ-[¶¼ÿþfîì.wc·ß~Ǔӟ5zÔ ÁƒW­\Ù¬y³† nß¾ýû`þ_¨ MÓ”9h€³f•œwþy}úô™5{öü/æÖ*ìÑãÈ÷Þ}GÎL€´Þ±c§òòrÔºpÅ´íßvÛmÏ?ÿÜwÜyæðá+W­nÚ´iûöíµÖ[é‚l¶â…þqÎ9ZÈ—lÝ¶Õ ùÔ)qœ¥ÅÁâûôêÝkË–-ï½÷žDi°§é§?w ¯ÿË/??ìÄ5mÒôþºG ^sÍØ/æþôÓÓßzëͦM÷[¶lé–-›:¨ÍŸÏ9ÊÔ¨Qcøð³žyfz¿þ'·oß¡¨h¯íÛ¶-^òMeeåˆKFÑád=œ(B¥à”SúvéÒåûï¿ÿäãSp£EëW°PÁæ& ò{.W¬.)0ï–eŸ¬v**[äµè¯çA„=̆X;îò“°ÂKh 1LîP‚†Í‘3F$elÆ*6ö*öפÈ`¡¯ìa@RŸ€#%5^ˆö’ Ûy8g#XkÅ>$2X§ àÉÉeçAÓç@·Ûä T¡K=aʵøÍD…pßZ §IΚ2¦ê87e®·VJ-½$5rÁ5.äCÁž#8j/c1ÜÑ/O¿œÄñ¿JˆÊÀ±lÃt… T¬­²á1+çëÇÌ_¥•BIù­…‚F0%Ù¹aaW„4!Ò±8CqbJ’R¡€?îI3æZPÊñCy=zC2vך¯B@¥w+³|.”Åõšz`ÆÀXÄÚ¥™VôÅ30áBžÀ"‰$_ä‚D”|óšž7Pü»´ðeÞœóÙHÏ'xo·â/tðý‹²µs¦ ³€Q²çÜo9®f yw«zI1ŠƒM8—àŒ´W7Ô*oG‰;ìd`P6¥ŠIó}žÂ#íše³LffΕéZ€je3\uå˜ñãoèÝ»w~~ÁgŸ6áÁ–~·TY¼uë–ÓO|ù˜+ºuë>ø´ÓÖ­[ÿòË/N:eøgZµäâܹs***F\2¢EË–u÷ª;gΫO?ýÔÀ%ãÔ† ë0dèƒjûë¯[þùßÿ\³fõøqã!Š"Zé·ßÂ{ï¹wéÒ¥C‡;àÀ{íU´{÷î–/Ÿ1sæsÏ>—dÇ¿>þׂù iÈ?ÿùÏukדJz Lü?hà()™%F‹ êí]ï˜cŽÙ¶mÛ;ï¼ K!R„Âý~õ՗Æž9bÄÅ]èÚ©SÇÍ›7Ïûúc“¦¬X¹"mθ$æ![ˆøë¯¿röèËGv;¢ëÀAÖ¯ßðÊ+3Ÿ6}èð!V6lØ8ò’Ë®¾öŠ6m*(È€µk×"F4ڲҥÆœsÉÈ »qxËV­Ö¯_÷òË3ŸzòÙÕ«W[L¬Pá÷NX¶ô»Ó† :ð€Šöª³{wÅòåË›6Ý¿Y³f——¯¿tZT§ne~òɧ_|þEûC;¼öêëëÖ®%€¤U«°°SçNœÌš5kvêdrêí]h›?þÃμdäŇ~x§N7müùå—^™4iòÆ ›cƒ‚~ýûe2™¹s_ÓßIJA¬Ìq¬4Úøê«¯†>bÄ%GqD§Î6oÞ½¥´uAÿçÛo— ™·páü†  8èÒÑc¼}×ñãnhÛ¶í /üý‡–oݺ5//¯E‹–§ >ýì³Ï5²è ?îø;ï¼+›ÍÞ|ËMÂ#¸„©,0n)ðH{°×>\gŽf˜w–(¯ýD–RyBzÕ!ºWm(a5ÝJ‹6a2çaÏ$V³I )y߃àDBv²èÇü_)c héØož%@ËógG7‰“8bh ]Z¾GÇ9ƈóšúžx!Œý†z÷¤Å>©ÕJÕ)ÉÊ$ƒsç6Y A¨tÑBÚxK^q_ƒÓ­xà$΃9ùR6#Á=²j",5“âöÉ!^›ùTOÒÿ¿þ d¸öI9¿nج©´}žlJ6lõB± ¶ª”€òûâ%LN‘í*›©,ûóAknŽlhà´Åø À}*MW`댞”ˆiÓ=9FiR–;UG‚ndí¤&ñbܦfú"F½d"Š\7íÞa€Áƺ*Erä”Òí5yI†ØF¥*%…P³%V±þÚ¹–5±gÜöô±ð]ÉYqR›¾]ývV2´ò“ô an&J*yW¶XOª©fǶbÅ\9BÑÞ˜d¡ ì츣FêŠÐï­5q,è7Ù"FQe³Yå½à›}Ñ ¨{™ét’˜äfã&MÞyçÅß,:tˆ;ô˜]n®ÍÎ]§Î]Fޏ¤WïÞ•••ãÇŸ;wŽe²¡Êš¸þ†8àhÞ¼yóæÍï¸ýö¿ýýy¢‰K¼&ñÚkÇžwþyÙlöõ×_tâÄ•«Vz6Z±Ùt+—L 8pf†¾¶Š^C$"Ì!Ùþ2™‹/Ù´iÓQ½{xâw"x-IN²”C4‹*Vuê}8ïÃÊÊÊ£z½sçÙ)œuöYãÇ{饗o»å6W™_˜3 .¬¢svÚ¸¨ˆ‘¡Ò_-Ò&I©(Š¢(гYkˆù ¥Ã|Ú¤ S¨¨c¡¾òJ¥±Îßü å b•å¡Ï-óaÓþrÿS^ûnðAÉ·3†‚[P0gΫ-Z¶8mð饥¥’Éö°G`—h°Á‰r?©}´ÏW+û,Šå,RB ömy¥0Ѝ)ßP°,Î )¤¦÷Ã`îÜ×Z¶l9pà€²²ÒÐ}(-]Ìÿ”Úµk;w9rd¯^½+++Ç÷ÚÜ99ªˆ³;4%Ì4»Éµ,Ȭœ5‘è2„ûs'ŠÐØâ„è.XUÐ ’Ä8ÔÁ I屄/iÎÝÛíUÌx“ÛUÌí*ÚOP±B³Å“¥•C¡öªÀ)<–öü0ã@>… õ¨uI-SHËCvX,³* pLi`I–b*î*†ˆ<¬+" éXýþØ’r˜Œ ½M?†uH¸Inÿ4qZ?Ü‚%0œ‘í`%Ö-¿Á~³•i’¢;s sI‰~¸5€„ JKrëžå7îåúèf 1Q.]µ½›Šx¸Ø“‘‰Ç³ÀL'‰òµÌJž6°“½0mbpDA®»x˜uí`ñø²Q!L¶ÍĦ¸5q B×)tjÁa£#î0)ß" hÂ-ʇ¹À{â#s ç%Úñ2”Æ$– š¼ƒ¦üÐm®ä³Ê»e¯ÄzX€&*L®µKéhÉï‹߃Ä[y™Þ<…æA|ÝHŽe'JÖÒ%­X±,h™Èääéä±ýﬓ¹]˜@™—BýðÓN;yÿ L˜¦Ž¾§~üñÇ÷êÝ{Éâ%·ÝvÛ7ß,ú~Wbò;wêxð!í91µ£…lþ¾ûïýfñ¢k®½îÔSOýàý÷W®ZR:z@ýÅn®q¾,º@š~™rÔ¬wáΛxòÁd&¤Ñ9Ó‹ã¸EµÇÙPA|rßSòóó_›ûÚÎ;ÀFÛÔí û²(Š~ÓùIçGU’ÖR*;ËÊŒ‘Ä"d³-2v6Âã® û–­ò&ã‰Ï«†P¼ øN½D¬‘ô´I8ëG¬_6â K´¢oÅ-ãô$vØa-Z¶XºtÙÒ¥KA8ÈÐY$gü(æ·6„zóM’¸ &§|ö´³›t´[}1€ÅyÔOB³þ= 5O§Ã;¬eË–eee)Ñìï9xül:þ¸?õêÕ{ñâÅ·ÝzË7òȆNJq“ZŸ¶ÝÃEUÈÐ7´Ëý ³ðjv‚Ý4rø„ÉK™ØŽ.˘*%ð`.ñðÆ(ú1€Zz4Ö”Èq_ toôî±%@QÅ…ËW’|!O’ÆYHÖâ&³«âK?è§ ŠE×8oÂEf;¸€xã púõûô?Y+aÊÁBsÅ«{ð͵ãsUqAP~ “íVcŒu§ÚÆ]*2óØš_ÁyB°ï@cGx1ëj•µ ÙXØfÿÃgWèmUÓ@à,W%nY”ü#4qÍÀVõ%^,›{;ü/Šq’Fú’ub¥€xèù6I±×S }:FH¢A(Î ‡êšOÞÄ8Ãdð˜ÃeœŒ@ ƒÀÖ$Ãîöþ%xLÎE69}sXtåàºHG‰VF$‘©XÌŒý¼CëÏ´t ‘¥—Ð÷Í/eí>ߦ¸‘›黓d%S‘˜(À(.µÒ 3Э1 }Y ŠFùÚF.>Ë%m©‹v}À2ÇúJ¶˜“t^¾åKcæá¬³Ïþ¯ÿ:Iß+,¬Õ¦m¥Ô™gž¹èë¯m-ÅÉö{iîìºMîGîܽsá‚®fWx¼ªù*¤Å¡¾™É%¯fͼ޽{­^½zÙ²e|/ˆóˆñÓrÍír#€Šã˜¶)Ì6#ç»ü†‚oÎ e¾Y¼xÓ¦Ÿ{÷îiw4ürI¶3Š4÷ÄOò‡EÆCþyR%¢\)Œ"_­Dy³áò #öWÝc-VOìS‚ˆ€©8ŽU¬7I˜N·G$YeÌÈ|b|¨ ц´4ÂÄc8Òz Bgm+|ü&NOA 1GweçÅlÙæÛ­¼!燸õ ¤,KQ)ë½&aHhdñmëÅõÆ\ÊQÐü¸#× IDAT±+½)Ì& œðè¦ÜüË Ä²I ŒÀI™J)€²²e‰JÿÃÒÁ·Õfp×î] Ìç{wÚwÏá °Ò&¶™ÊxsÊÍ¢kÄô‚vKë ‰*²Ip<3r’Ñý?¹­è¤Úõž 9‘å@ ôˆ+ZA“úŽâ"F éóÉN&À ÷×â:±F…â÷aŒ—$‰å¤ºu×As¦ÂÉ*‹yÛ^¦P`)Îób¢)îAsöÇ—í\s¡ú‰6ÈÚ±lªV<…t{ ð-Öþ\ ú›œßK©D›@7Ì(íj ?V Í(Qö¨²‡ñhÜ$Ït~GW cF)–h *À-8H×…²­'ÛáE­#ðÅÝgLšfl !ø~/“ ̬‘þöž¾Ž¢(V±R*EƇ‡ψ|jV,5Ê®½Ñ“Nƒ÷ivm‘‘U~G^'¾Ë`¦1A _,2ÏEÕA6ð¥U$‹`iL¦ko‡Y‰ò¨bí@¡õc?À·C‹9†ô豟<ÙJÂpÊ’'¬rU*KEÍåhCN±B÷2KÓT%£é>¶æ¯³äeŽÄ z±É¢|Z:Šc¹3ŸVÞ“ÀÒXtt¦ÎÝÑ·ök¶_§NuÖöíÛ¿þê«G'M^ôõ×\ÚøÐHÔ"þëÓ‘M"¿ìœ•7¡z»ŠˆTfûŠë®·D_Q±ûÝwßµ7ù$[f:²o¥;‘yѱ ¨”Rt®›§äʾv=Èйa¤,'SV.ÐÁ½d£^QDgx·HõÝ—fŨm/@óàø¡@Fô­rÎ!iž>òƒeÌ0DQ„¨¬Ù¥Tgõ1?Ãa²ªS /é Tâ«î ÷-T5h…ÁØ¿­ÒÊVÇ[6;àS ¹½`RI΀ +ƒ9D½ðé@ÜPìýôŠÏI¡›6Asc$Þ½ØéÔeD×Öè k-Ñéh7Ä(tÎÿƒÓ'ÿú8 %ÓvéåÈSÙ@š«Ÿ]çÇÑ5ÇÍo¾ÌçN±V,Œ £Œ¿³ß£ÅçÃN§ß—ÛÖ$½Hú$ £¦Í§$8bäyt4š$uÉã!‡ÍVcÌç\]yg8m åâîÊüWd!éÒþ 3 u)ø€)sžátŽš€Ë§[ —OiŠõ0ru ¦ˆØà Q!Néä° šçâ~Šç·“3“¼vfÊ`0uU  ,½x›BF¤³«¯ˆfI ,• åµHyü¤¬‰Œc .ã0¹fÛÒÏš,Qµ¬¤²HÞºŸŠ¨ReÓ°#°2àÖaÙ=¹Ôhvª²q–`LÇ:3Žs‘!' ¥{Q¼0­þ2ol9ÌÊ«À•Áv¡—þú…,˜T´¢nQ/˜å7+à ;—5~¼^0wÞxg¸’Ô{D¦¶`¦GÅ1F‘–ŒÄ.ˆÐþ'à!·i Ü ÍR²ŽÒ5'ÎL4˜3%­ö¨h 9x›¥†øw0Ôˆ”$yVkSÑã®]³ýÚ. q:¬^€pÏ]wßs×Ý!ïÇ_“Dý¦5ÆÇæp+ª‘Œuó^»Öª!€Ò Dì&‚p3N¶€ÂÜ„ÈaÍ»¢ÎÆy£fF_4‚ô²Ùʃ>˜9ôkýk9fFËG×›™^à˜”Á× µ—&„Àî{ÝOj'Ú´ÍÈõ;0¿õƆB{\Ü(´+Ø MŽ·÷éýQ|µ\ØÕCE@@€\O¸ŸL¦XU·Ã¾Ð’.íä•Þ­Šô>9ë>è?v|lûÃ¥ÒoeÞæå¼ˆ.žÝ†NØÈÅ]¾Ÿ”Œ©ô ®ÈaN+Ùk¨½ÿgRòtV¥9rOøiË tp/ÌYH²æÚvHËØõ›û`CÎ5o 1éBÉÚ/¥8Èt´«ÉgÆÀõeÒÒfI—k ×Þ=£êy•r+ÒæßÝ2ìÁ\1-³L¾çÎM‚¯¥ìT#ð+a¾Ý}5á€ÃÁaêý+åßIV¨®aIìÃS¶¥¼D†qD%fWVnܹٔòÆÉ°‡É—c!á4ÎÄ.=¡_%eyÁYê3ЛR%ÿ“Ê“T^%š K(²ÿV?i¾:Æ=i§Ï4¡peKÀkÇÕI¸EîrYÀ?:àÑ]…oå¦LŠŸb›Grº\ÂÞsf:C•¸m`œO‰…–<åâst&Ù 6Ôeô;Þ ’Mý±ÏÐ2ÞW£tÒ1yªçLƒBC9Úya^ÇÇR¢ VIˆ¢òË„]2²XAñÕLˆUWIÓÐkg-¢¡=P’£` *Ÿwé‰íúD‘\ñ…fOZÑ”W!6ú'Ðe€Kz¤ Ö:®}t깇9Ñ“°<÷€Yl4´H…ÇvùŠ¢,Îq$BC¯&BìZËQCWÊËá¢éÿbÝð`ÁëO`Mp“Sn…n €—|ÚbH‹9š¢#ÖŽËZOK=o#‡•9öJÂíÌM?ï)÷_ïåæt¤‡µ**ÒæµÅó9¸Ec•@‰mñh14?ôfZð4O²ef[ølHVŸ<4Lz•G£3?påøO&2Åvøp ìí,÷ÿ‰­ŽÛ†íù´ÕYc ”S~dÎ¥ ”Ê£8¢nÏC0Rº\g~%ë&]]AúãŸN/mÇÈ~¡P¿ºó9Ú6¹±´ÃctÙ±ûGbü‘8×l¦DS~9 y¡n ú|^ºgæBÝCj;²PÎdM¸A²^¶G7É”›t&+ö ›*š×ß‘ö¨’÷Ì#Tü•.˜Kž¸‚—¾!d?•~/:sÉn”%F¢Ý0ǧ1A®¿‹Ë†À–ý5{\ÁK¾J©”0%ÕÖ‹$brh¦uœôšª˜wL‹c-X†Ib[NœÞ’µ£AB8<ÔL£AU시nÞm;¹F#eJ0‹<ØþjJ3ô”5ù vKwDÓìá!»å¡ž#RÕó”LÆVj¨o‘ þV<2þ—½*éT, ó›ÛG«ðžKµõà¨jñYiÊKZ'v‹N]…’Vïƒ>v$ÖJúË­¾D*o½˜žÂSŠ™`óL:L¬ýׄÇÉò<}§ÿØ™B)f#Bùq?צŒû¨bESr%^i€ÐXÏ7äðNnH÷SK?EÐ Ò°ÉjÄj¹v‚)*+au<ŠnKÊdÌ+ËÇp•^k÷ж‘z«².ƒÂQŒ>{þÄÙÿžT³Fmr¡a@:žˆýÃ6¤ Yç¿óiVq©Jspg9’¦’2CÂtfŠ(¯)µ, •F"Ô4TE²Š%Äœ¢Vˆç’ €i ˜¶äެkYӓठˆ=bï(“ @GF7ä–0ý>˜Aä+Ù,ýo‰q' ÈBÖÉÔÚ….›Ð[YñИ3æÝR–äLáv¤øp ±Ñf˜Bbã) ôKlòÑA ´æø"˜tì#×Kib@¦lG%‹0EXVÕÐ0½Vó‘\ǵ˜³B.FSS¡Zm±Ôª€ŠuYÓ¹¨Â:j; ƒäß-„=2À! €'×a”$|62³*B’ÊžÇIb3”É( bFß"ăß=°D‡EAóÆÌüg\á $†•c@©‘‹€Ogi#™è¯GWrUW‹lx3€¤¬ i€Œ ¢óQeèaÅñZ‹ú¼GHTÚ˜ŒA –ñ¦$ƹZd€ùÔpH9fT«ížKÊjÖ{®0«”ùЙE"¯¥º×4³)ådÕ¹H@&¥4z—K²ŒF÷B|.“ [vG4s…ɈÁñ0H™d @x_6]¹ÓÆF+oÞa¿”LçÕ et‰œvÈ©¸×Y…Ñ‘¼¢Ï!#ÅØ‹ÖÁ èBJ`ª’TCƒªLr÷L¤¯Zµ,¥ù1£1ÛùKIÙ2›E2@t†°~I©¢ÎÂP€ÓÃm´-*겕Y$(ØäÈ¢,ä=•ÿ™P=Âo‘³<öI¦ãC3É(®K;úC%šœÑñ"€\óêe.PÔ6…PÍ&œú?O¸˜t²p ±v÷ßõ¿#ÉýP%œ¬%(/ØŒ0Ú­ÿ~Û¢QE)“&…¦³9f ˜q")«iÜJ‘€"žu뛎_K(ÜW¡4•åꪼΟõ`Ý(bšË«?oÇÄe6ÕFåòò;Òki¨´pù‚Ær Íšfm`0d‘¹´VV‰2Ðô.1SƒV,ÝÈDÏþ“ŸóV ì„vK-ÑÀé (FµQ-ϯ¥ÍZeiÂ0Šd°ê”*€/lÊÒIBŽ©Cæ Aí#êuAŠÎF’ÉY^"n;–ôP„º’ˆ÷qšÆ„ƒÛ…{‰8Ô9mgQê€ eŠ£´ˆ@Ö‹ÅêMУŒ¤¼ú'19HU—-¼OÈ zc®: Û v±à¥,{JJ<`ëß\M3Æ~K6>»!3•!VÚ%+æ–´§CŃ<Ó,ò73„nÃXUÆ%دˆSÏ…íDåÖØ™dí):•LÚˆ·Ë:ÁŽìSÜs2ÃU¸žIì >GIÌ„y#ìøµBRèψ)Ã%ì‰ mdna±#QÕtÅ´jÓ"ÍàW‚¤†˜Óš„”súã˜vƒ-Ä)/,‹tgÊ©ä/› œ y@P ä“;Dg(NÃc~s•€€ÙœU°gð€ öfQæ’Ü3ðk!Î1°SÔJ‘rRC%tC(☥žfsÆžÞbÌÀV\ùPòîc~+!‡æá¾7­2Á·ub>3þ åLF$ƘF‹ §µ †1BÈÂz¥«HtBðH,+1RÄhð=ò?!=1ÞJ—±<õ-ˆJ~Q‚eæé°‹X0Øp³”õh<6ù‘À«N1ZÒÖgè\WƒTœUNV³ùæ%bœ;~ ´jƒrß$!Ä'¾êCr_41+ûBxÌš–S&™¯ó¾S~/“,›kÒ”’@GÂë:FÕ® ö ËÂMê(¿W'Œ,ÿD»`SwÓú³yç™ þïOÛŠRÀÔGÌÐe©˜:}&« ºÛI–‹ŠZ¤#^(4"“ BUjÉB‡¼EÒÐ+W `1›ÌVñ6Ê¢Bx'±DêØ˜Q]n…Š*-¨Ç²"JŒŒQH/iÿš$$ §W¥;eX´UáTé䛋’³c»Ô3éÍf¹Å‚ìvŒ±®Èø©BФÕXs¦Gvmj3Uƒ•°ó \±Bk˜î$,#ó€"ˆ"߉!rà@ RÉQoàÎ5«ÑÐUteˆéÂRN#c56/é1æ ŇçAX„#.T|`ÆhH4šÓk¡ !]õGˆÏr‡@ˆF—Q¹,Q –H†Ôgaš.¢mѨ»…8²`Àvl·X-Œ½Éˆ101nŠ$Öãã%q¯…´Êë BOcõbÀÔ#¤%JÇœÆÒTå r‰µ‡RvÑ ¬‰L”•S¶É_iºŒžGˆ}Ì‹°µ‚½Cºi®$¦I՚蘇vËÚ¶ „„ò(+ó ²Ð}±˜Ì¥룉,âh¢Lî+èÔ1ËÄ(Ô4 QXh+l’±Ñæ pnjʥ̅,V2𲬚‡cÄbŸŒÂ˜¬öSkQâÛf“@/íŽDNMt¤–1鬀"ôd³‰R`°s¶¦`Þb± ™"@,ÊI(óÌÔâÎŽz“ÚÍÊîDÇL_HGˆ€ÀÌ)/U¥Pª©¹ã Qze5Ó‘Àl~Ò±åF3¢» ôŒ%1 ¹4`i2>,$¥äöf" S©T¸Æ„F­Ñ£ÉÔs4.¼ß´"þXP^½&©y´¯“Z cW<¹=Ïõh­€‚»Æ$´˜ ÏÁŽÁŽFoØŒ¶LÝýt*ÈT²š@vU×Z‘Ó¤’—òæu˦HäÄBÊQ]‡ñSuи¤$8„rX –oT¿¤£°dCÀò­€SK^26xZ Ê™£õä@<ñ’我Ô.¦ ] #¥H•”S)iwŠ*Æe#—鲨$~Gï‹Yÿõ±Q Ô÷˜ª„E‘ˆ„ý"aj™!ªo61ä‘É0¼™,*ªA‰½í—šG †¢`ʆgjy3!$©”´‡º iR| ©`¢]Qç¬YsRS/¥¦f¤¥]JM˘úÕ4!{ Kò Œ4kæìÔÔ´‹©i©ié©©iS¦N55S‘.áTÏŽÞ¢JA2Eoßþãù çÎ_rfL¬x,.3’—– ôùŒét,ðððûðñ#¨X±b¥J`—¶——÷ŒÓZ¶j‰1Þ±ý'‚9Fõˆ¯ÊÓEî#rÒí$V EŒS]Ÿff Õ±üWžj꧘€H4«i,â|º˜®Ñ·[ -$?ØÍͽ}ûv/^¼üåçßèC%È@XxØÀý32.-_ºœP™ìcáÚ(?½†õV¢y­NE5_L5ʰŒWÅêѸÈù O1ƒCž—XTƒ®^wÀ€3.]Z¾d;æâGåXŒŠé9[*‹Ñä›ÐAU1]U0cRGxQ“¬ml ²°ðð¦_ÊX¶d©¢}Ƚàˆ*j'’̵pÇN\]]âŸ?Ï=¦`!"ÖZ…ˆ'C8,,ü£Ó/]Z¶x‰ê˜"‘"ØÆùb&C#–å˜4šoÒ/©[€ŠbiÚ Ù'Õ)ª“««kB|æ,Q©éÒ“—Àü$(Dï@|'AçœøÄK!dg·ˆw„—ÊXÕ:¶quuÙøsÞóçXÝÏŒÀ¸)ñU h ÜDŸD&^Ó[½áP¬h:XH“Ë$%Úwlãêê²'ñ—çÏŸK%ãÓýµ0-rG~Å™½è¨Vçƒ~}.]º²rÙj²ÀØO’ŠY‹3Ô߿ܚ•Ò3.™eºauúõï“qéÊÊekì‚ä„%~úzÝ™d–:"O…íc­œ¾éM,ŒwèØÖÕÕewâÞçÏs_ƒ”œ|zÍÚUÁÕƒGŽSäÒâÿI§¢O@ÇŽí\]]v—žd£Ú)aáaÈÈÈX¶d™f¨:â“¡Àöò!yÀs!WMfiJ!³ü¦½Jùÿ^’/Sh -cí¹,¤ß謌<7S!ßl"Ϩ2ñʰÙs¬ÉM.eвÉSÌ_ÈŸE’˜3A˜3/ cdêR5ŒÍëºî#•”O9¦ã¢x¯h¦“_”—$Æ¥¨ì ó ˆA8ˆãOtÖÆ­*¨ß8±ù…Z6oÙ«wŸÚµk—(QâÁƒÇŽݰ~]Zz*ƒ‚æ–85±G¸ W*ún¶Ey¢º€”_ºdÉ_T4wÁ8hÚ°ac£Æ×®Y³`á<’Æ{ÈÃ¥K—ýõçA!,äè0ª”Øív«ÅB·MÒ)=2²AƒÖ­[ýþÛo$>³fÎ"9‡6tø0‡Œæ.^¼øš5«Bk„îÛ·Á¼7³³)Vvqr9}öÔí[·Ú¶mÇ pÒרŽétTÉM}­ÈðN)$õM^ð`P™ìðDE"j”ÒH!¢1B`9äú]œ]ÚwlWXøêçŸ'´ÅRj×îm÷½{ÉÍÍe¼]&#GÙ A«Ö-ÿ}_Fz °0=ެ¡’yk·Û¸ŠLü0 #Ò¦1’b=×D’þq  g—c§þ¾}ûN‡v](ëàÇô …0Œ5¬Aƒú­Z·øý×}²-$`S:"0áÎÑgÍž!C³kgÜäØ)S2ãVWèÉš“w)ïC‡ÿº|ùrL—w0¶“m´FCSJºŠÀÉ”ð1þíPj3°2`ÔèQ‘‘‘­Û´þý×ß22Òü)T­_ $¦èÖ½;ÄÅÅéºí>²X,vl—G,v»Ò Ñ£GGFF¶nÓæ·_ÉHO—óRz7é;„ö°‹³ë™³goݺզM+ÃÄ“1´ ­ƒ„ \¤ÚÔ|´ 6jönݺÀθü9Ævâú‘x£9x@ Ϭ×éjÈ‚('±S*?w.Åf{B’È5éV±BűãÆEÔ‹ðòò"O¾úê«m?n‹Žî2gÎl9çλbccÍ8*Vî¥pdIá§%ƒ4¾J%Et³KL4š8•¬ IDAT$ÄïáÑ Ü—Á 0-UùzWI&\aa¢ E7Áü jy=ók‡XÍC~£c:Àj¯B&§—±<’ k&ýµòƆŽ\¿~D‹VÍìûãRÆePK1E@ÝðZ}?è v»ýËÏ'™vgøˆÁõD´hÕlÿï\ʸŒ5 Ìö“h-6kÑtéòùŽÞ'&ì4† rPÐÀAý"Ö/Y²dν{þuhýÚïÜ ä‹!CÚèÚ­ ÄÇíqƤ…‹æ?~ôÀ}:t ùoªúïý†ui ‰Ó­ìÚ_DYm[,O(ó5jdddƒÖ­[ýöëoéÀ±""êmÞü=Øl¶{÷r’’’V¯\}ýÆ5D>´‚PttôìÙ3åwîÜ5™²ÖŽdNêà(3g—ÓgNݺuëm¡ ÂòÄ¢cɬ‰î={ö, ¶ØI±š¶Â°€GÑd°Ö|`PаaÃ6lèåUòáLJZ¶lÅÝ;·äL›·l 7B¸iÓæÙ³Îܦu› ¬Rµò‹/.^¸¸dɲÔÔ‹¯ï¨„Nz²,Èß"Ú&å´ ºz™Fê­ÑÑѳç(cºkg\lìdIýG Ñ¢æ­'£ ¨5ÜsÄRQ€r,±—¢4.‘«·2@ &^¨‡Âð­m˜ë ¯'@ÌJ9z¥W¢8/É´Ó CeFªT6~ì„•«Ö´lÙ²téÒNNN~~~]»ÆìÜß©c”,qAJ†Äâ0¨Äæà²øv,–°ª°¤Iê%]]Šs7Ó3Ö%+ÂB,t…Ûív ˜ð%;¶kuÀþß÷åç祜K¹~ýo[¢K5´‹ö±\ÚLžZ#tËæFsãæM ªàÊ”­¨³RÀ0}>rÔÈ Ï÷ìÙÌŠð‡#GºpñBÏ^=‘’ý‰Ð:†xÅÔD*ÑqNˆÈÙ[l”…”£EFWˆ7 Jñ¶o·.^Üóσ?yò„=· @€,Ybºw€„]»ECÈÂðF>à…ìû#???%åüÍëÙŒÑ y-–ЀaÕUS±(Ë¡–,é"›óYzŒã¬ B"UMÓ¦ˆecsŠÇØwôô#KQ’Q?àh>|œ|&999999óJ¦TžŠ#LÔ hv Ö,€ ^L'›cÎÆ¬si¬Þ‰÷ïÛO'àªx©·è¤ç ªT·n›7ožÃŒ¡ó"àl |2rèÙ”ãïõx‡×öfg–ËøìudP»NÍ[Ù·NŸL6@,k7œ— A!ÓˆÞ=#ßûÿz‘Ÿ!åâÍÙEƒyår֕˙ϟçýùç?Ž€ÿcÿ_ùùùçS.ÞPkiІr&å(,%ƒ$n>xt&ù¬üwãÆM`ÇA’Ô02ò‡mßuŽîh·Ûϧ\(^¼xß¾½vüôCPå 0a~”ƒëÔ­•}3ûÔ‰SŽzñ&©]»önnîuêÔ­T©ÒSÏÿH²Ûi ÷ cŒƒ‚ë†Õɾ™}êäIå!I®‚*eÔLùyy—/_¾tùò›7}}}Þy§{\®ð°pâáµÛíîç$ŸNN>ld5læÜo¬ó‚7*DõxðàAr²×È>ÉÄ+Ú:’Ô{ Ù±c{TT'|þÂ…bÅœºwï¾cǶò*ÈPd¤g#''®]»ž|:999ùæ›r¶wß}oɲÅ5j†ž;›r+ûVóÍÜöC½ˆú<8ÂÉ#Y=–ºBÈbQ1 rzðãMèHHç7ˆû$$ ÚÐJŠeV_ïÑrŠ,Åø=§f®¢8Ž2&¤ØoF°” ÊCUú¾¶A‡E+ÉT]å âÿÐ[ÙßŒŠªš5kþa¿þäúúõk—¯\  ÷öö¶Z­_Ïœ•t$éñãÇzkРƈLriðD±§b+ýÂÀôi²¼¦ÀƒÄ¥F´ɈaÚ ­–5AWåTtc´eË[¶ü’–g†L]#ÖéꆅuìÔáÊå+sçÌGÚçӌƇŠŽ„ÿ<™«ÈèB×Óô¯¨É™ÛÄí›4Á…NÂKÆÄt€Äø=²ùLÜj*T¨W/âöí;ÇŽŸdç2Ñ—2t?lÙ¶uË6ú«#!èO Zh’ù-¯pj‰Œ=IÑ+¢Â@@¢ºpÂ1VÆY“Ö†ÉPKÔ€à‡~üaËVÊ4•’ ­R‘Ž$M:|„\·nÝjñÒEÀFÉ1#}RÊä1$Ô@Ñ;Àì7ebÐQÒƒ`ØlÙ²yó–ÍDçëâ"uëÖ âãÌtÆ«¤Q”êÇ$î€Û¼eËæ-›A÷QGÊtàéyªfö ã¥Îÿ±¤Piªû;ï@\ü.,±s~²~£€g$wÎKCô³Ääé,d˜~æfDpppåÊ•Ož8ùÁÿÒú˜tøpÒá$2CÛ´n³dÙÅUøáã :2:H‚P¦Q,D,‡ŠÁ£¥ºÆt²< &>SéÞü –"Vnåþ¾619€©b éI`ƒl@ ¾Š†-ºkgØø³¶t&]IÏèyL@7å"Øm[wlÛºC~"åUÀ}òøqî}k7áÄxëÖí[·n7‚ƒµ_CÒæÂ¡CI±§ÉOfÏ^±b…ãǨ—ÍÝÍcÖœinnnsf/üaóàììÁ”“ƒdŒ›‰D [¶lÙ²e Hd#«¬©i©]ºtŒ±›«ûgŸÚ§Ïû³æÌŠêEò>œ””Dåi›Ö­ «1›§Ž…¢yÔà0#eVDi5épRÒá$g›Öm–6hRTšCˆY²¼5ïØqcÝÝÝ7løná‚Ev»ÍÉÉyÊÔØnݺ3æóÏ>ãÙ¦M›N.&MšÔûý^«W­Ž7.¤£úÀ ?~zôì1uêäÁC>úxðÉ7³cÏ8ý-Ò^;Š7BmZ·^²l1É+K*31}„ñC±µï£P Ôf œ_A¹E˧öµ ­ÛòÍa¦¬*:ÙCoä©bdÄ’¯DiÏeû¿ÓmˆYÓ¯)¢$«µX×.]1Æñqñ<RåëÉŽ–޹û^æâ²\⢌$ßÅê¨\§ÂUA­‹ü[¦Œ/\»vM¡$‰5bXžWtd1%-L›­<ó·t™3åÚä@n‰Žîˆ1NLØ#×o‚DœZ‡ÏÑìü+*9æl¼xmUª¬U´ш,¢^}oo¯‡;zlåʕׯ_{õê¡›7o ˆàµÝ»{·u«6˜|‡U¦6*;´¨‡ƒ4nÜcü÷_ÿ¥fvî’&ðõ-3nÂØF #Ïœ9÷Í¢o.\¸@ú‰'$ÆU­Z•×9yJìä)±ü¶EóV÷ïßÇ ¯Ï†¬ÖbgS’ïßðî;ï}ñåçMš4qss»xñââEKN:ņ—v¤q£Æ î_¥jÕÒ¥K={–{íÚõíÛ~JØ•Hu€<=<—~»0´fȾ_L™4œ\.S¢ŒA’¢»vBíÙý‹Ûe.‚#°t!®â÷júY¿Ý¸imXx]i°îµmÓ 0 «Ûívl_¹zyƒõ'Œ7î3k1§9³ç?þ|âÄqNÎNkV¯Û²y+€˜ÑMÞjaüTÿÌàéÜ¥£‹‹sbâÞ—/_Ç5BƒàŸ’älGœxçÝòUª¥¤œWud€¦M›Pz»}›=G0ð£~Ç7wጯ§½zU8qÂdiÓ§ 2üƒõãpö~ÿ½Ó§E¬rÙ²~ÿ•¤áçåË—uê†úû—ÿ~ã–¯¿žvêôÉÂÂWáááŸ}úe­Zµy¶G5j\/(¨ò¯¿ìçóòòÂ#jùû—?ø‡×”txÕêo/]ÊxðàAñâŃz÷êÓ½û»„X,t'Õ´4kÞÔ××÷èÑc·nÝ’0@G£JÕªC‡~\¿A®æ-_¾âúµkòüܼySx„Øäy÷îÝV­ZóªJÁ¨¡‚/\¼X­z5ÿråÒRSUÄhIÿ³TµjµÔ¨a¤··÷ãÇOŽ;ºlÉòׯiEív»·w©/Ç~ѼysW7—”³ç.Xt.%EËV9¨òÇC‡4nÔ°dÉ’÷îÝ;xðÏß®xüø‘‰§‘sÊ– Óþ˜_œoX-éåmµZ³ofÛl¯x%¹ÏŸÍ›;ßÍÝÍb±b»­È¦õ”•™U»NíêÕª¥g¤@~~ÞÄ “(*>7j2èãU«Vã ÆTÁ kêñ”)±ST½—?÷ݺȆ‘_|þåÏ?ÿBÛ€|öÙ˜ï6lœ7o¾ô\»BqA"@‘\UúxÈÇE–,é•sïÞÁƒ­\±êñãÇ⛨ ÒÌñV}Â…Rù {„D!Vµ0|Œ&¹ªFqÃñìŠ×À?Óª*”uТö ©Yh›ÒÑ[Æ$éŽ[‡3g’£¢:@‡ö·lÞ”ŸŸïçW®ÓØRRR€íyCÒ¹òê ‘l‹ÅvlC’¦Ž°kÌWáÒ  œ£Šäæ>€g¹¹Ê@I:^ΤñNCkxxøúõ\]]oݺuòĉŠ£;·lÕ²oße¤§¦ßJÏÈ`€¡°ðp,FE‰|QK2ó5FtÇ2eË<{öìñ“'²§Fˆ€yóçx•,yìØñàààÆ†…oèõ^ï+™™„@S/¦={ö Êù•ó+çwãúõû„BSXøŠ\¤^L5φI¶BÑ>,^üÍÃG·mÛ\½Z«Ö­ÖmXûAßÏKáëÆ-Z4_ºü„PZZzZZº§§GÍš5§MŸ\±b…eKWHu!hÔ$2¢^t‰‰Zñíš;wîГ dmR¨•€ºt€Ä„½Da% S9¿²§N&߸yÓÄ}Ž?ç!T7¬ ° aň~ ÔV«%,¬î̯çþt䔩÷ýþÇì™sûôáØqŸŸƒ¼‰Ô « [¢„„׬YsÃ÷kÝ\]OJ¾{çdÕjUÞïÛ«MÛÖ½{õÍÉÉAìܺû³y‡eŽºtž9k\¾|ùÎÝ{ݺw+Q²„RchѲŲåKBi©i©©©žžžµjÕœ>cZÅŠ/^ŒÄ¢™4IAš@/@ÚäèÅÀÔ P/¢ÞÚõkoݺ•yåJPåÊ=z¼×¢Eóž={åÜS,F^sL÷n°+.°hÔ°ÑŠßZ­Ö¬Ì¬ì[·bbbJz•”—4‹ÓÙÙT2l¤^HÍ}ú üÊù—+çwýúubà $LÌŸ¿ÀËËëè±cÁÁÁ›4Þ±é½wÞ¹’yE2´M"|YþÉ šÃf·/\¸¨|ùòΧT®ZµaÃF›6mîÙ³Gzzšfn‘r>Öθ]Hßµ«Yv»½REºw.((èéÓ§•ƒ‚ÈmÅ€J™™™Üš­W¯þúõëÉ(\¹r¹rå*=zôhÑ¢EÏž=îÞ½£á§ÿ‡ýK•.•˜_¼xñN¢¾øò‹²åÊΚ9“¹ˆ;ål´GÏžM›5;“œ¼~ý2XŸñEÚuÀËÛ Z´l±ñûM¼c7nüãÀª¾`Hªp®Qoíº5 !õ|¯eËæ½zõ¹w÷¾võªÝn¯X©"APPPàÓ§OƒÈŒ«X©ÂÕ¬«ìKéÒyçºv‹€øøÝʤ€æ-š-Y¶!”ž–‘J™j¯¦M¬XÁéÂT!íBzîÓ\ð+WÎϯÌ7e –3|hYoÙ·‹\\œ¯^½žžq9  b§Ní›5}«OïׯQƒ0íb:#K³Ú^½RZˆmÖ¼é7KçPþ––áééQ£Fè䝯W¨à¿|Ù*ú1DÇȬž?¨Yoñ²…Î.Î×®^¿”q¥R¥ í;¶kÒ´Iÿ¾ݸ~MS$ÞïÓË»´÷/{~ñ,îùv‡¶#?ý¤Œ_™Eó¾áõ]ʸLå BuêÖ³ôªðÕÙ3çä'•*y{{i:(¸tIH™:aæµ¥]äƒågDï+6X÷îÞÛ»û­‰îôˆD><‹{À“'O8 `ôäñ°Z­8 ‡½ÑÄõ"›Ív:ùtlìÔóçÄNžØ¾}‡I§¬]»zæÌé #ñcŸøÆ89ù´iOy1rXÅ ûöùàbê…?ÿ<˜|º×Î UªT-º”1üó¡CaŒCCk„†Ö|ž››rþÜ„‰c¯_¿6fÌç`¦Ãvëqq&ÇA……‡¯]·ÚÕÕõö­['Oœ¬P‰¨y}Þÿ×åË—(V2N&UàˆqPAëï_ž>yÂ=ÈL36¤ÑJ2PddäÊU+\\\®f]MOϨÔ9*ªy³æ={ôºví*-ˆØíxÁÂyþþþΟ¯\µJdÆ7mìÕ³wFF:— µjÖÚ¸é;7W·S'Oß¹{§ZÕª}ûöiÛ¶mÏ=‰ñƒ84#‡‡îŒûÉ´Û6›­N­:ä0_«•À¦[­7n£î[T¢„ûãÛjשýñ°!ŸŽþÔ,Eb‹-—»”*i©žžžµjÖœ1cZ¥Š¾Y¼„ôó"Ó{ýüÊQ±«¨Ç…d˜vlÿ)²ad÷wºSƒ–‘Vtç(HHLXSÕ}EýGcLÞjÖªõÝ÷ëÝ\]O:}÷ΉªU«öéÛ»mÛ6½zõá¾õà»¶:Box݆ ^T2ƒVX\\Û3"Ô‘'QΣ±7$-•Š_ÄL»7Qc¯¨hc´¤$ñöíÛºu{§FµjÕÚ±c×öÛ†|<´D‰’ðÓΟ.¦^+—WTµï!m#)–Œ8>ÕÜå…\HÍ#+´Ò)ÿšJ¬ (¦Ó×¬ÂØØÉ®®®‹—,Y½b%FØ‚¬c>3pàÀ/¾ø|ð A–é,úßÅÙåô™ÓHjލZÆía:nå{„]\Ü]]]îçäì9¾¥ €—·×¯¿ý¾pÞBŒÀb±Îš=#*ªSÿýc'Æä?Ô9bäˆ?´á»ï·oÛ.aƒ2ºñã&†GŽ1XË@udóçííõýÆïׯÛ@Ưÿ~Ÿ}>fȰ‡ ý€.–¿×ó]„Ф “öhCBC׬]ÖºMËeKWð¾ßó)©=ñò.™ž–q?G>QŸ/ä"¢^X… åÏ=5ëgsˆ95ºt‹€Äø½Š´Ð{FÀG/èšÿÄI¿YôÍšÕk0Wg—é_ψŠêôÉ'ŸL™ï÷Ù°nýÝ{wÓ͵ *Žýrlþ‹ü±ãÆÙí6Âʃ«7hЀçõñññññá·TM1ˆE4“‘`¡#'Npvv^´è›µ«×FHÇ›2y TPPp+ûV…JôÔ“€€JÇŽ $CP©â‰ã§h½Xxc½¼¼Z´l–›ûüÀ¾ƒä mônî¡Ø‰S SŒBBƒ×¬]ÞªM fÐâ ¦óÉÈ¡ƒ÷ßøÝ–ÛvÒÎHÞ,üå¸O]\œ'ÇÎHŒÛC^ŽþlćýÞ<¤ÿ¤ _Ð&ŽŸJødäVÛ.ASRŒ¸”oçã üã%ðN„ДI3v'þLr‡¯XýMËÖÍ—/])ùi%KzµhÑôyîóƒûÿÒ[øìË1Î.ÎÓ§ÌÜM¥ ŒøtDßzÔojì4fMЪ,V4ð_ƒÈQŽ›6nùñ§Íïõ|gËÆ­÷îÝ%æÌœO渋‹ë¡ãÁlúäææøpˆ,’§ÏšÚ±S;0¤Y3æ“<.Î.GN4fÀÏÃG 4¸ßÆï~øiû.ƒž KµkÕ¬V½êå+WRR.òW99  ’RAPå@¸r%KUK½íÿSoÀf³ ô±ï½{wgÌøªwï>auÃ-VëСƒŽMâvìÔ)Tù!˰f=¥éÞ½»êÛ‡îæ]´hþÊUß®]»zÖ¬¹E”2MÛ~üc<{ö¼n1ï'/^è?àƒýöƒV¶%0€——WË–-rsŸïÿ}¿±¶I“&¸ºº.Y²lõÊU0B–O?3`@ÿ/Ç}1ø£ÁtšN›Fú'§ “ç [êþúƒ0àvíÚGFF>yòäì9Å‚Œ§èJš '° Æ»¸¸Lœ·kXúì‹Ïû÷ï7tØqcÇÉ.ûÒ¥KýóÏ? Œ±½X1§¯¦M‰é:løÐÑ£Æ +Lžëæê6zäè}û)F9øãÁ#FŽ˜;YÒO@¥}í!@ÏrŸýõçߦY$óÕ´ª6(»y%²%Ä'ôë÷aûvowìÐá—_u”³G¯¡ ã'&$$’'¡¡¡k…‚€™Þ 0rÔÈ?´aÃFEïeíÛàÑ£Ç F–ó/wûÖmòªZµjÕƒ«§¥¦e¤³ÏF˜ZS|G¬pë¡ØØ‰n®®cF}F4.ŒñÈQ#üÑ'Ÿ ›:…ò„gÏŸýý×!S\Ѓ'é³=t“ƒÇNõ0ž­d–Œ,CêˆcúY’)·ÊŒ6dxÅžP ˆK¶Þ¡Ø~ÀüN lȇ_¾|ѯß3gÎjÛöíªU«NOU5«W-úfÓ+x° ¢„`Æðê•MèˆtIIY«æ+¥ݘ•õÚ(pvð,÷9<Ï}N³2‹WRWøF.¶ˆÎþ#ÃíããzçÎÝÕ+VPíØ¶dñ’¾}ûFFF’:ùÖA¾?SÁ'úµ˜Õn³“ox ‡#À†•øSù¡Tœ;#ñD—o—­$º¿Ýf[½j]TT§Zµk똈ÔgXS(†)RÂõÀþá†4V²RToÙ²•Ö†`ë?~úÙè°°0±õ ƒ‡‡;$Ÿ>K‚Ï -5½yÓ·©õ(aÜ»{·cû˜råü®_¿i{U¨Ž¶òuG@WzÔ^¹+¤6OÖ­[æååïßwP ß“ƒºäÁ‹M‰ïiåç¿° Ëó¼|ÈË{å=Ï///RÖÍÍ­V­yyù«V¬#4˜û,wÆM›4ä´‹’¶4IJFDî(ùyx¸À™Óçˆï§§¥·hÖ ÉÅÅåÛe«EÙÖ®þ®S§5k…²8ºo†4Þvˆ £^ooïZµj¦§g8ð±­^¹vÀÀ~o5mÂÄ.FaÕÆÄRpŒÅ‚0 Œ±ŸŸŸ_¹²wîÜݲe ² lÇùùy7njÓ¶ `‰ž“ ÉÉg8li©›4~‹}ó©~É¿AÑÅVæ¥èu'yÀÇÇ'8$øÎ»kV¯!´ð²°`ÞÜyQQš6mÊéCªÎQQNNNñq $®X[ƒ»»{­Úµòòò¾]¾‚Ì“ç¹ÏÖ­_ßä­Æ¶U 8”çcÐ2Ë×N:BXáÕ¬´‹‹ë²¥KÙ¶[¼jժΣkÕ®…ÀHò˜ŽŸs)¨9ÅÝÜÜ-ZH,F›­pþ‚ù1ݺEÔ«Ç[”¯ÎÑÑNNNq»vq„𔕙Y=8ùúúzzzþsøÐ°¡Ã´eÊ”¹|™,XáÒ¥}BBBîÞ¹»fõjBW…sçΉêܹi³fª)°{ϺïãìììƒìU7¬îï¿ßˆ%èÂY¬3gÍvwwŸ>}úõë×€è A‘‹6­Û,]¶lçα“L?²¢ˆ]*-åV0„K3BZ»f F½(x9—Ò[,/ÎÌÊ ®Œûúúxzz>œ4dè ØÕÕÕ·ŒïùtSl'ÍvŒjïäT,!~÷‹—ùb #Œ0aª§Oå³"=-½yÓ¶Xa(t$Ë"°PøÄqSì.e\ X0àÍ›¶~ØïýšµjH% âf$FÆ" •m& M‹<ÜÝàLò9Äe¤¥·iÞ‘ïNârœdèÕ®˜S±Ä„½/^æs® `A€aêÄivŒ/³µP °uó}?è]£f¨ª8üúóïl/¾sëö?~»CÛšµkÜ݇ç1lQ1ôÄî%‚ª+¿—ø¦Ê¢´Ïl7¤Ò(ÈçʽîöNWˆß¹›¨N„#‡ ܯgï÷~øa[~^>£r•ÊÍ[4ÍÉÉI9wÞ0· STBo/_¼0rYpw÷ðp÷O »QþƒÔ»W~Ýý÷V®ú6%åìPY¨¨!¼T5jÔì÷a·®1+V¬$úxçÎQŸHg&–¶ŽÊB]i @)ïRµj×LOÏØ·ÿ7|V­X3ð£þM›¾Åáɾ™=|ØH 6D¨Ÿ‘ká/äŽY"‡6[Å¢&H«[k «ÝrœÌ2J\JÀEõodVL­±'HzëˆìLáÓ<4ƒٞ*Ô¨qcÙáMRÛ·Û…„„ÈC)lûVá«þ<óŠøj¥$'å7ãCÒЊ ‰-\#‹ÅZ¬˜Åje@NN΋ùœºÈæ7w7wLç­Õè •“s???ŸÎMŒ<¸Ÿ——çååÅÐFÕ/k±bCwúùÙ] ƒÖ“™™Y¶lg—   §OŸ:q¢lÙ²îî¡+W®– ª¯Ý¸Æç4¶ã{| óãÞ½{é·ïÞ€âÅ‹ !¥~ýúׯ_/épÒÖ¶h¡I@y‚@f"ÖîttbAH„*è|ÌÉËË+Í def•)ëëâìðôé³S'O—)SÆÝÍ­b¥ ¡ÌÌ,,Í-â&!çÍÆíJâù  ÆTLJ…×uqu•ù’DH†9Héé—._ºìääìW®œùrþþå<==ÀÕÅEÊE¥ªZ”‘ª¹RjöÑ©}ñBLˆý²NXWÀÊY&Š»t•>?+9§ÈOFƥ˗.+æTÖϯœ¹r¬ .®.²4'é>ÛÞLÒÝ»÷ xqO‡*¢K<9B¯ðDij#*5/¿TvfÉî,ŽD7w·ß~õʶwÏoÀ4„ЩÓgŽ=Q¶¬ïæÖ·mÛ*$¤zL÷®ëÖ¯´Z­Û¶î´Ûmr‡o¬|~ÖLG5öïõæ&É××WD>øúø@^~¾ãÙy;eêÄääÓ/^èÎ5 ¤D^„“ÇÅÅ3ÅHä*]šLçëò¸D„× «F½i’!÷^h²Ž6Œ|¯Ç»µj׺pþÂÈ#ãââ§D`·Û_»ÎFˆ%==ýRFF±bNeýÊùû—÷/ïïY¼8¸¸ºh£“s???÷ìáƒyyy^Ò.–òðÑ#ÿòþþåýýË—/ï_ÞÇ×çñã'>>¥ C¯ÔÎGâLR?‚ʘd”™¼5ë­ªûò{Ìf2äã ê'&îž8~RñâÅçÏ›kµ€† =vdÑâE¼ô…ó`Ê”Éaaá\•* EFÁ†1XeçÎ8èÖ=†tÇ(ªs”Ífûy¯¾ÀP»‚U„¸ÆõˆŒ@ùòþþåËûø–~üøIi3=Dª i@~*½”Vh¥Þa®ÓMlzíëhÓÝ“\ñ ‹Xw0€‹‡…¾Lžš*B{6ƒüH>(¥ Í›·øfÑb‹ÅòêÕ«… ìýeÏÐ!ÃzõêôÝw»wÉÎß[C\3å-`©RáÅaƒB÷€i’R¥6òž?€çÏóˆ@<ÉyŠÍ”»FÉ®3»Í&¦•BH’ñZD¢¤ƒ¹ÊJ;§Q¤L•Hþ “tç"yg³Ù¤9Ï]\·Á:Aˆae¥°Ò7…UÊì\~ÂýÓhÍêuõê…7jÙ¨q¤ÝnÏÎÎ>{æüÎñ§O'3q‰cÊòÜ€”Ú¶kíææöóžßžçåÊïID;Ù[»;~G ƒŠ“!VB†QÒ t±±‘ü&ô Æ`µZ ° € º óiѸJ?k×|Q·a£ú Õ·ÛíÙÙ·Î9¿ë§„ÓÉg4%Âf³…[þdÅ™ WµSt:œX-hÔ8ò×ßvkm6yß‹Ð)Jß% _l¶Ùå l7Ñ~ÐêÕkëÕhܸaãÆ ív{öÍì3gÎìØþÓ©Ó§€­þêÅ ]RÖ$šØt¶Ë¸G“HŒ,yˆ1„‡„†def;{V å«@AÁK9t³«Ò0&ª¼¢ÆŠiÈõ^Ìž‹WzoY"ãÂÅ_7 ­jå„“ØÄmìv9‘³šiýÈ2>‡,$$$44433óÜÙ³r'HÊÌÊBU¨P!0((3óÊõ7m6[```ùòàJ&5hSåc0Œ‚_ÅÃüyóÌ›Ç;Cr»¹¹§¦¦‘ ………'N$ýá¸Eº­ÊQƒ´€¡}Y ³'!)YYhÍY™WBåË— ÌÌʺqã¦Íf«P©ByÈÌä+´´ààê!!Õ³²®¦œ;Gù‹^³z]D½0ÁTofŸ=›B˜êÈ!=…„1vLxxÙÆ0ô¼Alª]™f"Æ”¿ÅíLL>Ì[åÃP½zµê!Õ®f];Ÿr^‚K,t‡„|úÅȺaŽº €&¹Ø,ýfÙÒEK_‹5ÊþÕ|[UäÅêÍ…"Wñ:by™—uè𶇇ûý=z¨5ÿù§ãgִ͙Y“ßÌ€ËW®äççáxó¦­R.FoÕ«SzÓÏ ú(i«m$ýg¶ñСÃOž:‘”t8)é°Åb©P¡Bxx½ïõª_Ÿ-´Hž„`‰“Kí*P6yb"EÙ†IÊÉkòÀpMOŠ¡ûìÓÏÿøã’T«× 4$tÜø±áE9IÌg™V‡4 Nd}ãÆöíû]+«æt˜èÒB²odá¼ARÕU¤b—´Ë—}{óæÍZµkõ~¿×¨Q#-ZüÅŸyxx¬øv/¾jÕêzõ"7iÔ¸I#»Ý~óæÍ3gÎþ´cç©SŽ>A¬&U¼eff:uº^½ˆF9r$¢~D¹r~þõ÷CºçV dTz!EM±V‹5nøÛ¾Ÿµ6m6›Äø#Uذæy$ƒ³waΞ¾ ýi¼L´þÚ2üšiňÏY0 ss%c”™¨Ë„ ›tB²g„€çz0]±ã6Æ0räh‹Å3g~ýÛ`êWSÜ\ݺÆÄ”(QrÀ€AÓ§O% ©Šu¤ª‘Ôš¥fž:7dW‚¥¦Aå’ õüùsºF%4 †0‰GqÊP³FLƒ™½ 0?¶›X‚!dW´}fPá«Wàäì, .¹#£Úù)¥(ÿ( !ˆÑáKvErÊ”´:Z»¬x‘²ÁÓ§Oû¾? IÓFM7 ©Ü9ºcçèŽSbg$ˆó'LlÖœñm +;#D/… r``í:5oܸ™|ú¬æ¶BJOùy‘ÉTñ@ i€XêÍÀËÈgh $ðž>}úaßÁ›D6n\-8¤zTt‡¨èS'¿Gþcôéˆ/! ;`›0òx¥åSR.¬[³TA+@Ç:-ï5ŸÕ8¶Ý@fd‰àÙÓ'}zÐä­FMš4  ‰îÝ%zÒÄØ¸¸8døö*çH¢SRt­U-³e%¥"@«‰ÕÙírTœZƒ ©H‘C!„?ŸºH_K•Â<€Í,²<*9òu G9¤^³Áªnm!ŒEÙ ˆ5‹ ¡wÞ}âÈqP†/gef@¥€€ÊAAW®\),,¸y3»rPe?ÿr………ׯßP:af_ŠºtäJÏYd'ûÁf³8pêÔ©ëçW¶~ƒú{÷ìá3!l4ŒÐÙ!ð"pÁ É«3RŒ‰ 33 *T ȼ’YXX};(0 œ¿_aá«ë×oj(ˆ!q¤q‰¤SôüvI~òäqŸÞ6y«Ñ[M‡„¦Ú©st§É±ÓSÅŽÔ%•+ç·aã*«Õºní÷éiv»0vqq™=oº!ïk5] ˜·ÀØ3™¿…þöÕ䙉ñºC­K7º<«UEðëçç·fý·V«õ»õ›.¥_"¹«‹ËôÙ_™À öK`1íÜíÝ»ï[M›¼Õ¤qHhHHHH—.Ñ]˜‚ašµA†]õ6‘ð™Ÿvì¬W/"¦{פ#I$Þ81>+FÑÿ"Ȉ·RRίYµŽ>¦‘Ð$*V¨0qòxS8í6Ûða£õ§’(+¦>Z£ á"Ô%çœ$úFl…`àÆ¡]…¶.Kt@å‡#ÑpM,Læõ»ãø:@õêÕIΤ$vÌ †ýÓ5&BCC¸mĪÆ+T ªtþü…‡›[BÝŸ€-Bë23öJÉñçŸÖ¯ß ?ï9c(˜…vñlŒÜÉŠ8K˜ a±ZTAƒ,+BºOKÞR¨a™»$0Æv;&îmÆh(,,Èñ¢T©R²SSýT”¬¸#¦[¤‡àDÃñF&+/¬J#[ `d¹ÅŠYEI @¢>$!c{Ò¡#‡ÿ9‚ díÒ%jÊ´ £FOŒß‹ÓÏöH•(öW ¤Z@…JÃ#êÞ¾}çäqi· KLúW¦µ;‰|¸¾Ë_cµ͆´èc€Â‚Bð,^\6bK”(Áò8°©@æzÂý@ {Òá£I‡B–è.'5~äèa ñ{Ø0Ù€Ð)1#9áF•—رȎèʘ?zôLjRÚå"ÔYN@dÚbŒ™Õ€¬‚Â%x­(ûáC‡:Œ,ÈÒ¥kçiÓ¿ó阸¸8j¼¨¾ ‡”\Ù¼1Ñ 0ßÓŠÓél±€BjÈjµ£¿œœœ£¢¢l6ÛîD]Ï&©€ ½¬¯“³ñÀ8¡eÓ‡ê€øš67¸£¦Jg¼j}²Ý©"#昷Z­’yNNÅ€zâYS$žÊb%º ‘3cy?B€c\¬˜Sç¨h›Í– ƒÀœ’˜¬ÁV¬T1(0èØñãp5++0(¨lÙ²W¯^e È”B°˜]˜Ž‚1qÓ’«WPPðrôèQP/¢Þ÷›6?áè‘£ÜçxÓ}ÜÜ3p\Aã#¿€$B’ØÖº€3³2 RÅ A'ŽŸ€«YWƒË–)síÚ5›í•L…NNÎQ:Øl¶Ý‰{¹)DÅ¢ Æö¤CII‡K×®§N=zÿ¬—Jh¼KúDŽîÒÉÝÝmõŠuß~»š÷Ì|O–7]<#<„„«ðD¨È¸òCøÛ‘ÃGùènìWãGŒš¿G“s‡Níl6ÛÞ=¿Êr€Ë‡¨.ÜÜÝÖ­Ú°jÅÞ;þMAc’¢›u5IVÉÓ«W¯@>¥™%‹ÅÒ¬Y‹fÍZ€ÝnOØ5q⸠æ0ƒ–"Qçä"È%Só õ[‹!0, ,ñ™ @' ²XãÄ݉.^HKOæ|£ùåê5©kLww÷ß®\¶l(ˆq÷<Yú“GÉa³ÛàÑãGþøCßሠ•‘áD]Ç<==›6}Ë´ ™õ3Œ9èa°|ð›»ûšÕkÄÚ8úmJ¹y~gP{^¼üìó/·oßÚ½{·¼¼¼%K–j0¶úçСB–˜˜.LÁˆ7…˜J=®1Ó!‚áß~ý}ü„±mÛ¶ñö.Õ¾C»§OŸ<ø§¤"Ê1%Ù,×L/ìø•Í=:xð ”)­¬›o½ÕØ$8\N¢d3€T¥šŒú©Z™IfdªjTÒ¦‹EñKUÕ¦y$ TRÀmé Qƒ!\bôq5‰8Ÿ- ðô)=¾WÏ^,€‹‹s·nô¬¹'OŸbµÕ6mÞþå×ßV­ZóÛo¿ Ó€j$Êî‡X”» -™ý‘œv»=ïùsŒõژ퀔V¡” j~øðHá¦ÈÉÉùäé§’Oâg,䲉͓ƒqÑÓ¥ôËÎÎN!¡!ˆ *ÖMŽNkÊCEŽëcdØ—` ïíL«&>GE°³äåååååX¼½K/îùŒŽ;B‹µlY? Î<'$칚u­TioOOO£ÖåîáQ­ZU''gA“JËTyíÒµìNø³]ˆüÏj±FE··Ûí{wÿ Ò[ÚŽsyfJŠŠêV““2Eõ =zô8??ßß¿\™2ex–úõ#À$ÑÁkÖü­á#‡„† W‹_™²ò> Œí‰‰{¯f]+UÊ»¸§'Ï)Á¥M 5;=2‚Ú."7ÙZV‰Éf ¯]«¦±„3²â–%Õãž>{•*T’ev@@€@ d±XË•-çSÚ‡7jǶø¸ø¬Ì¬4™G IDATÒ¥Kyz`U"a€æÍ[Œ5*4´†\ú½%Á*5ºb¢cûàÁC¨T)@æÉ¥}|ÜÝÝïK_Ë ©eËÞÞ^‡þ9|/ç‹:Œ<|ô0??¯|ùòeË–å¥4¨¯ÕCØ©qc…$Å(É3¾ªÃì=Ž.÷O~…ÙúÕ³g¹åÊ•sqû!ƒƒàÁýûHÞíàëëãææ†1&»Å|||ÝÝÝÉñdæÙ²U+oo¯CÿÊɹ'µ)ÈïÑ£‡?®T¡R`PЕ+WpVVfP``@@À•Ë—yî‡@@¥@‰€h£|ŠP÷ˆ{†©¢dÅN:µcûŽR¥¼¿üòKÙUG˜žps9Za”¹Õb’ B‰Þ| „ôèÑ£ÇW¬X1(00óJ¾z5+00 R`Å+—3ÕŠq‹–ͼ¼½JÊɹ'…Ñc6»0B?ÂTYI;¶ÅÇ'fe]-UÚÛÃSÚ Š©À˜1`”ìãº~ã&cÒ€üÊ–Q°ÉE‹¹iËg!äæ>/((ôóósuv¡D‹PP`<¸ÿ3t„,eË”¥;ó ¶íöÄÊß<==e0›µxËË«ä‘ÃÇîçä°X‰Uøú”€7nÊ,°LY_œF°_—tÁð¸èBo”MÉŽ¥3… XJ‰îïv€Ý‰{© ~9BC0zÌ'Þ¥¼–,ZNL2­ÛÍ[6óò.yøÐÑû9÷ ŠÖÿgÉÓ³¸³³óíÛ·_¾|ÉfeeÛÿI’Ýn¿sçŽüÙj‹ÅÒ½Û»•+Wyðàù Ç çäì³4ºæÃ8R%™+sr:yòØ©Ó'¨š§•‘E»ØèE ¾“'Nnß¶íVv6æd%ä©H"£¯¯/\ãßU€²~ey5rœ¯››ðIùøNþ„W˜s?*Èà#@ááµk™|Yê•Í®ÀF8.ÛJ›–žZ³F-í¯FhÍ¡5ëÔ® l¾>yüØf³•¯P¾X1'^³‡‡Ç_~>`@?%Ò›4ása “M=NN´ªË—.ýöëošš&o’Ü’Wö¸{ïÀªŠ-^xÍ9! $‘ ( H¤%”¥ *½7¤ˆ"½‹^:¨€€tiz! ½(½HïPJ !¡•$g¾?¦­™½ÏIÔ{ß÷î›ë ûÌž²fÍ*¿Y3{oêŠVÃ5Ëe¾tÜ„qdf>߸a³Ï¡ƒ^xá…mÛ¶e>R Øj‚ˆãsî3ÒÓ ((Hõ#W¥Š²\\||¥ UÅÕ*W¬V¹bõÊ«W®P-¢J$Øë*ïFìkÙ”$Irì˨»öÓ(aä]ÙÆo”ƒ³%ÐhN‰Ñnh¤‰mUËd„“£÷¶i#ß²ø {Í[¶ÎŸûÝλjÕzenÙ²E¢>VµMë6,PäïïÿöÛïJ.p(¯–³Úr£>E®Î:›,Ñ8iÙªÕè1cêÕ{CÝFI®öŒ* @qq7##îR\áÂ…û}ò1q8‡ÓkÐà>>>GŽå_TÍÅ æ6DG8Íš5Ö`˜ÚýÆØÌêØ³¶ò´¹“vÂÂÊ€8ÑèBIKK€°°²‚rõŸŒSàôzí× ,xüèÉÛ©æ§,ùHtNiÌRáF½¹¡%H€ØWvö®]ûœNçÔ/'”.]:_¾|uëÕiݶ…œô@Xù°Ùsg|ثۂÅsòæÍ«Z§Ó»eͶ1!!Á‚û\JòÍPa;X.¤WMœ*"X~÷œ;{¾dÉ öÚ –Ù¼EÓ+—~:°¿:-+D éæ-¨\¹¢·ÎD€Û©©©©·‹-Ü¥ëû,Û×7oÝ´BN§só¶¿ìÚ ¢õàbÅ‹={öìÙ³ßeq6'åË•Ÿÿݼ>}z/û~©oÞ|H[m™ Ǫâd ###>.¾H‘ÂÝ{vg%¼}¼‡  ˜ïÇoÕZœ7P†xؤìì¬_~Ýít:g̘QºL™|ùòÕ«÷F»ví¿xYi†y HM“HØ’v; Ê• ÃóeD%ÀœŠv(Í>xð`žÎXÁ¸ç™Ï  à ”:Î!C†ÀÉ'PLh›Vm`}ô:PöÌ4z‰‰‰%K+V,áÚ5þ3¸Tñâ%®Š7BQ€Œ»élzôìÉr¼½½‡ öï·–6nî›iúŒééééÍš7{íõZ_j:_«!pëæM¨R©’···õ¶¤R¼½‡ Àå¯_¿T²Ä+Å^aOÌ^O¼^28¨x±â×®% ¦Ðн*zƒ¨JõÿÀétlÞûË®­!!!<â\¬X±gÏ~ÿýÙ3M>(e‚T6,T_ô󔜔 ½I8§ÞÞy>ìÝ5€X$^¡V6ÔÞ×P×áÃGóäñúd@_Bœ/_¾Oô€ûËrN§3vËÚm¿Ä‡K} –öí™ör ù¥q“tἓ“RàÍF ™{ûx÷ø°;fŸ5 Ò…_Ô}6åŒõŒòì’Ðy›\kkÊÒn߀²eK»ÇòäñnÖ¬ Dkç„¥}¶Š@åJ•Ú´kyæôÙ_~Ùmb@Ò²eS`§~ TåÞ¢þדÃá¨]«NffæW_Og‡ž={öõ73 ^½ú²˜ËåjØèºõ^‰¸víjRÒ­|ùò© L  ~V V`ÆÝŒ¸¸¸Â… ÷û¸[¾:ÎAƒÌS‹UѪ&ò/¿ÍV|´c§Ž#GŠŒŒ²Â ¼!qëÖ-¨R©²···"Zôt+Þ~§‘,ïííݧOÕ˜ç™Ï@ˆƒ8½¼'Ožô=¸ÿ왳%K•lݺµ¬Õ¼EóU«W <,éÖ­›PYÐF$îAF€êË5°lMýñç'ŽŸð÷÷8h€Ãá ^^yFŽáp8öï7Ü.‘FÿŠL T¼`òÍ7°Ì† ßjܤ1¥´ZµªÀ€Óéܺ}ó®Ý¿„††ÊÌP0ž#e¯S-VÄ^QÄP DÖ®ýZ´hì)‰ÂEI‰‘*UôööÆ>ŸñæþýgÏœ+YªdËV­¤¾7oÑlåªe©×ƒ©·ÄÌuŸŒÝp=¤©–g6-¹iÜ.ÛDXö“h‡IØQ0\â¶DŽn‡‰ø «lݤ€oPkT‚D.¦r}Gå 42kö¬W+VŒ¬ !!!!!!²úºu?oÚ°PÀƒ}ðP½áýᣇJÜÅø¢‚~Ú&&1.ù ”ÖSPPÉI“&@Ë–-"kDÙmÿÚT”+=ycâÄI‹—,ê÷ñGmÚ´¾•”T¢øË… ?yòdæô™²TPP©ÉS&òŸƒÀ‹/¾¸jõJ–“’š2|ØHþ9- ÒZ¢þQiýºØî=»µëÐ6zýÆ+W¯¢„qKKÅé&T_A @öí=ðôé³öÚU ÿýÙS¸“~wè aŠ B`ÿÞOŸ>ëб}xDø³gO ==cðÀ¡ªA€G*Xpë¶ ÁÁÁ¯{%33ë;~t ì¬Ìµ?ýü^—Nk×­ºxáÒã'Oýýü_­PÎË˹dÑr—+K°Ž¯*T,ÿBþ t™Ð—^*˜ªV¤DÊˆŠªQ¤ÈËÇHIN±Î%Û¼Qžž¦¢-Tâ_ø;˜T(P`ñ÷ü¯©)·å§esº†±AÌþjnÕªUªV ÿ9z5»1ãËY+½ª(@‰½üóæÿ¿à‘OmVÖóŸ×¬ïü~‡ŸÖ­¸x!îñ“'~þå+”óòr.]´Üe=gÂÎzZŸ— %‚JLœ4Vt°‘.[¾€å¤¤Þ=âsJ(P2iâ´eËŽ›0¶C§¶II)ÅŠ­PáÕ§OŸ}õÕ,y šwq-!áè±c‘5jlÛ±%))‰µvþÜ…iÓ¾Jé¬ofO6yÄÈámÚ¶N»V®Ü¶\D¼ËÊÊ\óï5ïw}o}ÌÚ .>~üØßÏ¿BÅW½¼¼.XˆÏ ±ZÅ‹|  ¼ýûïÀæÓP"¨äÔ)“ð¬¼øâ‹«W¯d¿SRR†Á"“'M^´dÑ!ƒ;vìšz;88¸`ÁÓÒÒæÎ‡yW°P¡Úµk=xð`Ïž=ˆÌg @¾š1£ZÕˆjÕ«mØÀNᔩS*U®„)/Trê”ÉB¥qX͘‘œ’2|ø0Ž!{÷îyúôiÇNÂ#"~ö 0Àœcìôp+ @fΘ^½zõnÝ>xë­†IÉIaeÃ/_¾¼bÅ ¹€f }ÿÞý°°°íÛ·_¿~½t™2¯-úçŸΟ?_îËQê*Tè¥Úuj †wEÃYÁ„„„Feee%%'Äë‰Á¥‚}||®1ªØjaò¤‰‹–,:th§NRRRCBBÄ,¨cu(éëIB(¥Ù4۸Ŏù¹(}úäÉÄ fÍžý¯ý«YÓæþÉ^àln’ëPD-“ÙØŽ=¹sçΤ[üéßsçÏO:•Ÿ4iÒâ%‹‡ Ò±cÇÔ”Ô`5„yȔӄ„Ć fee'%'@Âõ¥J–òññNHHÀ†¥PÁBµj¿þàÁí»ŽÚ‰J•YýÓ… ?~âïï_¡Â«^^ÎE —º\ÙúÈȾ}Ìà· ¯Â\zúÝ¡ƒG2ƒ³±k·ÎõÞ¨½fýª“ÇOûæó­Y3jïî½¢_6ï|„ý{>}ú¬]‡6Udkw‡ -¨ƒY_Í­ZµÊû];6x«^rrjÙ2¡ùó_½rí‡UkäH²23þi}ç.ÖXìÛ’E˳]Y(X¨àkµ¢>|¸¯z¬É„6¿×­cºµV¯Yqêäß|¾‘‘5öïuÑ‚ØüƒÂ +/Qâ‹ ü„Ò/,Y®ûËjÓºüd;fAAAã'Ž¡zkËVHÛ›:zø¼6!tÿ¾ƒOŸ>kß¡Mxxe5YCF]ê¿Y7°@þS'ÏܼqC£@…Ë(Pâtz}öùBÈW3çàBD¹/T¨`­Ú5>x¸oïAuÄ.Ú–cºqóÆÈ‘C)Ü»w·Sçv,§Ø+ÅfÌøÆme»4tèˆcÇ~ÿýÒ;w+Vüòåøî—-Ö­kwYÆËË«S§÷—/_Ú¼EãŠ+¼ðäñãóÎeeeõíÓON&PH³äT¾QS›8 &LZ²dQ¿?jݦuRRR‰Å .üäÉ“ÓgÊq•*9eòDÁ!aÉW­`m%§¦Œ6B.F+U¬4vìgÐàÍÞjHÑÒSLþŒZBµ£GEFÖØ±s{Ò-áOÏŸŸ:u‰ŽŽù {·úo¼³þøñ¾ù|_«ùÚ~T ­¸ï~Ù°²[¶nºqýFh™ÒÜ’ÏûŽw ã'L\¹òû ÇwêÔáVrJñW^©P±ÂÓ§OgÎTï–)!!AѦ|ýyæëߤ8ªl#:”N›öåÊU+ºwÿ Y³¦III%J,øâ½{÷¿þZ“/¾[6¬,wß«Oï6mÛm[·¯ZÅÁÕŠ•«ß~çíQ£G¶hÙÜép†• »ÿÁ AƒgÍúzÄÈᇹ};²²2ú÷O]ºv‰ŽYwáü…GOø€±Èò0Ø»wßÓ§O;tìþìw¦€ƒ–C`ŠsõÊ•3§ÏV ¯|ãÆÍÓ§Oƒ\2Pµä€„Ä„£ÇŽGÖ¨¾]a$ráÜ…iÓø“Ï&L^±r鄉_têÔ.)9¥X±Wâúú«Ù·2µäßt«‘öÑ7/y@¾8…ÿ_8<¢‘ {ù ]Û–¯ø†ˆåÙ*£Ö(Ë™;µ­öXØ2¹çæ a.¢ô?~ÿ [·ÖmÚ4kÚ´lÙ°€€€îŸ={îçŸ×îÚõ+;Ά{š7onHHhÙ°²‡^¿Nûn8ó›.Cì“…wTL’•%wî܉‹‹ Ûµk·e5ký­¢JD>Nœ>}ºc‡Î}ûö®~ÿþýM›6Ïývþ­›7dõ|yóFDDàóäÉ#s $ ha†µÅC‚cÃîܹ3û›¹#F™·à›ý‡]ºx ÄÊŸèË Çc8ŒS½wÒÒûõýtðÐaae}}} 5%ؤ"1MKKëÓ»ßÐáƒË……ÉbÒ2â¼¼¼F;|Ä:ukûùù:yú›oæ\¸pÅ´`Æ—ß\¾|µm»V¥J• xÁÿùóÌë‰×££7þ¸j­ x319|ìÔ‰3å+”Û¹ý×Û©iÚÔ(‹Í[6€ ±[ôëÖ«ýäñ“=»ö)ÉUM(6çË›·JxeÜ‚W/™¨?BoÿT:î?==£cÛn­Ûµ(S¦ô£‡vlÿ5%%eèð l'…8|èÈñ£'*T®°eãv}'™w1óËY—㯴iתT©’’o11›~\µWaq*'k. àïçQÓš'—Ì ,P@Nü¥KñÛwíÓ·gTTõÒ¥K§Ý¾½vͺ%K–¥$'ë‹(Ž™:xèÀ:ujK!ÿóÏç@Á. °iã¦çÏ3ûôé’ÿ…ü›6n^±|eË–-@¬Â˜®9mF|||»íJ•*õ ÏŸg&&$®[¿~ÕŠÕ˜f¦8zäH¥*•7mØ”ššJ¸á²ëŸ/_DUí˜wžkq¾éN¥×Úµk÷iÿþ¯½þzµªÕÒÒÒbb¢ç~;÷Ù³'¨:¯8hð Ñ#GÕ®SÇÇÇçÈÑ£_Ïœy)î"î¨e«VN§sã¦ì­Î¿¥„„„€€€ø¸8v„211‘í–\½z „øP€cÇulßá£?ª^=²jÕˆôôŒ5kÖÌ;7##ÝΖëIøx~X[j»zÕÙ¹sç/;w¾Õ°áÀ¦M›Êg?ŧ1Èè§tà€AC† ©[§Žœ¾?ÿ¯°&püĉN:÷í×§zõ|\°¬$^K hí™Rr=ñz¾|yàÚÕ—Kšµhêt:7oÚš™ù'ªmÊÝ—ÓfÆÇ_nס­R™ÄÄèõ±«WýÛʧ;iw>êóéaºÁ£¾ÿA§|Ü¿Oddµ–­›§¥ÝY÷sôâ…ß·ï¨^¨CäÜîܹӯï ÁCû‡…•á­qóÅ×R ‰ïuìÙï“^5kÖˆˆ¨rçÎ ±[Î_Ê¢¢2͘>ëòå«mÚµÔì[ô¦W¯‘SBš4{×étnݼ#“ GÖàÁƒÝ:õìûIïê5ª6oÙôNZzLtì÷‹W´iß÷¨¿UôÂDc9úA|Ü"wÈÊB18€|ùòV‰ÐZË“Ç+\ä(¨|¹s'½_߃‡öW“•z,ºÐšo6Zžê§ê_СSÛråÃvý²çô©³0Òšµhât:7oÞÎí›dµÈ\NéÙÓ§'Ojï³ÈÌÌ”9÷ïßÿK­@hhéu?ÇΚýõ¡CNž<^¸p‘V­ZòñãéèQ#Ç”+Wîßÿþ!11áÑ£GÞÞÞ!!¡mÛ´ëÒå\¬y‹æN§sÓ¦ÍÏŸ?®Ø& qúô©:õíÛ'RÀ¼›6Ïýv†y~yóFTõó€Í¨ÃA(MNN¾~ýzPPО]{¨6;Z0‘Õ4pð¡ƒêÔ©#Û—'®<¸ß¡]Çþ>‰ŒŒlݦUÚí;?ÿ¼vá‚Å;u´åÞÐÁCGŒQ»v-Ÿ£G~=óëøøx\àÒÅ‹íÚvèÛ¯oͨ¨ÒeÊܾ}{Íš5K/•ëU# 8hÈÐÁuëÔQ¾þ?Ù;ÙOž•½0S\\\»vúõû(**ªR¥J÷îÝ‹ŽŽùvÎ\¶ø”©lXY ¤K– *Y2Ο¿ 3Ïž9ÓëÃ>Ò¯L™ÒÙÙÙ7mþfæ7·Ón9uú¤)'Nß«goÆÛiS§ÇÇ]nß¡]©àà^xþü9+°®&ÒÒÒúôþhèð!å˜ÛMMIÅ u±Ÿç8{öl•ðʱ±ÑêëŽ|—Ø¿wß«»ãî"Tþ/§DÄN¬|àvÔ¨‘%ƒK@P‰%‚JL™ôå?(8¢‚&@€ :°ÛïeggoÛºsþÜEIIÉÒíˆHƒ|fŠb®)¯Í®;CÑHD&B¨6Cc/†9}öØÝŒŒ7ê5”‰Ã!ë²CÑêt®” 6’&™l}»Ö<ð÷÷ß¹kSVVV£Íþøãw­@Ç÷Ú>pÝÏ1S&|)¦•Ã"fž8Xi3¡Ôà!ö³NpQR¤h‘-Û×_8©KçF¿¶ÔèVÉb;”¸jÓ§&L;Р&èEW„SNÅ+|¤ñåbÃWÜ\òv‰x'‘ÙÛu‡l¸ÌSi?PdZ•QgHÄÉ%t—•`‡6”dSÙ¶aÊÐO"ŒnØJN7n iӪͥø8)¢¶ƒæ2.]¤hÑ]»v?w¾}û¶¸›8,SÖ…‰Ó)zm¯Ð&qœRw‡˜/õÆN!OúZ“ºÄ9Ñ;eÚ¸8°qÓæÐÐÐÖ­Z^Š»–¥…, `Lu“@©¹'D®KÑdrqÅX[[ŽÙ&‡ÓE]¦ˆ*¡iW²#ÚGÞL×rb\ÉÆ4c«T€Së×c7¬ i׺㥸8<,Õ—’dœQ7ˆéðâÁþº¨‹}‚ñS:e@PDØ0ÑDP'œ´ºÆ†‹êutk,âû?ÇüRê½öÄ£×–­ÊÁ™g5 M«È{æ†;ªjà] VI¢Éú ?–,Ôªy'v¡ eûdCŠh{ûÉ'J»—c¨ß¦™4-‘R°>öß!!¥:¶íokOŸ;lÍüßJ^­@…%o{).NN>ò>Ó¤U®ûÒ™ÎÞ«çB²³²P+D—ˆÜ7/zA0þ¯Öýç ­Ö¨nýì’ÛÅ­épŽÚLâùßÒ¿Á.»d5:úZIs_”Rqìüe{á"/7jø.ûü;o•­ì¨Gþ€0ZBÔ$˜!rÑ*…9gвÕX;KÏ¿r‡– Ñ”0;C«Ã÷Ä!O‰*Rˆ%Ó ¶$,n@¦V” täÈ#ëáåàXŒïÊæG.R¯öÖ(ò¥¦œ ©µg¤ÛŸ¯¾ú*»HIN‘nÚ´+üÛaàUÁí½Z¾¼h-C÷/]Fˆ¸´£‚Âñ²_§Ãár¹(…ðªU$ñ˜úÕ0¾šñÍùóФé;û÷LNNF'L…[g·ñè•’ê) jG(_ýÕM8Ÿ9ŒS@ãÊ"€¾K&‘7&SÅT·aZÒóλ ½}¼·nÙñÇÏðm6žæ-šÀ¦Ø-²,O2t‚lyq¿JT¢RÐÌl•G«U€7n (š(T@N‡ÁxÛRcŧ M„I%¤¢’°¶ÀíhNµ¹ikö„‘Õ±EÍlŒ˜ôåÄÓKTí<7µOQCVíËÚ4XzáÖÌÞMV®\9$4$>.þR|œª€Æ‹.T Lô### ñúuKoúo±JUNÔ‚t¨>›ˆÊ[P~M¹5æÂÑÊi”K;‰C ’ Ji•ððÐÐи¸8¶šeUÄjãÌ)4näèˆQ”)µ~ŽÌ]âb#>KŃ/„8ˆƒ@6³‹/äØŸš E ‰•º¡#îHÆ`j¡I-_pEdsy‹¿ÇåMÓ_ÅXãÛ!zsn¿ 5á†áñ5à£9G½3ëè”Sÿ7( œhä„ãž­T¹bpH©+ñW-«YªÓ€7|¿]yþÓ­å“v”DXŽ“á¦gï>ÝK– ºžxãúõhd¶äŒÊ„ðû#žTA IDAT(#¨{ÔËSŽ ­–B7}>Þ¡%–Æ,}˜±Ü%v¥T>Žvˆ•ºÍ&¯bKú!5•ÿ1`†5h‚Dt•26°mm*SG"¢ ’¿Xm%MbŽf‹/ð“uT€ QmÕ¡ž„«¢ä pðôhŒs±w‡r?¡FË€ZƒˆmÖ­Ú•bRv¹U)¾§Äö$ùV ”=ø.N–ˆvµïÂ9nVFÃÇ&þðÎãS«Îk©)©W._CfP :P¯ùb7„›ݳwÖ‹)Áj%§j‚(¥N§×©3GîfÜå;´’iTƒiB/yD¦¦®LZ–H¢ômgŠäM–K#Qâ™ÖÆ"«¨|gQS¬mZY9Š5  ã{í5jÀ2}}ó– +M)íÞµïù³çM…¦Ú?æ0lrÍ„d–O–a8,A`¥\Ê ¢fD*ìãž …*E®è@lñïJ[ù€¨‹c]J]âa9^ѯà‘ǶK‚)¾:ŠÕ×Åú®Þ—°0’à2`IÔ(„‹¼÷~—wß}‡]çÍ›·\¹r”Ò÷:w>sö hB‰5JñÐÌ`3%÷¾ä"Á*=Êð)P¥Ø )ëƒC6µ5[ŽèÅÆ‘Í…#J©Ã¡>/"ÝùBÔªšC¹èÄ|CNI´Ã 4á‚ä9>^Eíí³B.*ဠ¾Xœ3 Ü!£ŠÏ:ÙÕ#jÚmäê2ìpP—ðVaÓ·üN»&ÌT<´Æ\DŒT< º‚ÚÚ7 K9 Ä‚nh| Z-ûiVš+ó”©ÑVä Lg(*;X$EºL"Œ?úì½9DÔÎ2 »VP˜Ic4­Z·hÙº8ÎâÅ_y!ÿ þù¼_ï'Ož²¶N‰Ñ7D Ùc@¦Ì]mÕ b–²Ï6rŽw¬S':wÈMwÿ3‰íЀ>8Ý´(?Ï6?¨Ž\2ã,í² ÿ¥¤ð‚æ9ÿZu<åb¦(èR‡Ðà_èŽ(u㾄@;”³ÀcsÈÑdýýDL}³Þ×ìZBaÊÔÉÍš7ýlÌç1Ñ1`cöÙ>Ÿ8Âý¸)'ÆÆž0†,Qû_DÉ¢²›r½Qfþ5°¼êŸ'{¾i‡ý¨Êá7ík©M6 ,ó ¾DT5-W&VKFˆ,!Kš({t‚÷ úŽ‹‹º8!ü«†.eOVé>VQ‰ºA()hÒ£‘bYôpŒ4zÓ8ªSø“PéÄ©ìN\õ½M‡ÃIÄgo—ÏÅéI4'G$¡ÕˆéÍÌ|¾w÷>ceÎãun,MDæJ-­§C` ,b¸è Z þ^B[ˆ+]Jð‰'ã¢Ü·> ˜NÓŠP ×*û0,‘#´QÞá?¨¤•#:ÅŠ¿"Ÿ˜zòä鹳翛·ôü9ËjVõ¯M nÖÊ É«ðjmDŠhtèó€Í,öÚ² «‰åPìRü™t‡jPÖA´Øƒ:*¡‡¶°pË!:ª§H»Ä Ó¾¹MºÏc P"¨„| öÉ“'gNŸžóíÜ3gϘäh=[·ÇÛ•åú°«°ŒœãpƒS \.ªžùCØB«Ê¢ª Ü_`bårY,ˆòkÞÀ=’0`Šî籊ãvˆÃAÄ×щÜjG-˜ËEñ\z“9! |¿W}æÇDTÂYZØi…÷i¤C^Ú]¢iXÇ… Ø0p'`¶å¸^à|cëU(-ç)°œäÐ%u¿¬õgx3+)|“Q‘º³rƒ(§b´Š$…ì¸hø'AWáÂ/Wª\(¥î?ܹc×¢ß_¹rÕôƨMž3êWðS=g€ÀÌ·Êï É<›x9(b¶Ôÿ¿—¸·$6á)<ئRcûT&ÍZœ6ÅöY"“¼úÒ)0þU‰šE<ç#3.³Ø×:ˆÌDØ0§“V%ÃÅâß–j7ÉÏþ1/ñžHXß”+RÞ|~o5|ó÷?þرã÷Õ¤xÙE )?€¡[rJ»3›Àò„7ÁrØRŽJ(vúb‡öªx†¨5j7OwMÊøó*”¨§ÂˆÂh¹š6÷]iÖÓÙ àPçÄ<“Œp”hÒD zqÞ3ÕP#Ç:BíÅv¤×4¶"'g]+nHœÄD¬ˆ¶›§mm ä!GMQм› Öbö”:Ë*±¢ey@8UŠwdû(Ž…Vé‚8¹qêJ̤5'›Ô“Ä¢!éXK XVÑ¢wª]f5]Uz*CüÆ»‹ÊQkÃU@FO݆E©»Käï-l‘ñ tÄ­vÌ2›Ê¥›…t3&Øaú”ccŸUT±–¥u0HÅ-+A ²,šm£?Ñ rêZ ×¸CeZk¼WC¦,/x½"{•ÍˆŠ™Ü=)UÐ+;µ;f)6[fÈÖìÔvåΤÓå¢(”Æ‘•ªˆ‹[½æ±a Ü1¢ðºJ°ˆè‘SjHÌI¼Ñš(îp8x0Þä€à‰D8xÈzãíÌê²/¢Ë€žØ\ÆO@ñ V7„ÄÄm±6¥..ào–ê>ßÚ†²!üüެEø„æ i¦R³×xtŸ‚ý€ïþ¡¢3ÆbÀEŽ´!ö{¼f«¬WmvÌûŸDôø8›â‹"dc è3GÊõ =Ζâ  ¼ÄÔ­2“·†ý±0ŨO µ¶jvˆQºpÌî+Y˜àö÷ÿ;´Aa(ÈÉ9‹CvZ›”«]YåíþoI¶¶”8ÓØÈ¹5~C~½RT5dîкñÎ:A#¹Û‡¶-FíÈ ÆÈlî!“ÁOYË£U:DÀZ&íDˆq)Õ¢t+ò¢ô¼«àa‡ÖáÆÿ §ÕšŠºÝºÓIöLˆ‘¤ %ÂÑX væâŠ/­µ’¨(‚½À‚Ü1aÿ˜k blŠŽ+§!²ÔO{‘¶¸E ˆÊåíÕiQ'š$²±DØþ“ „pY-EEWÒP¾bJN‰>µ¨ÈJшÉhŒµÚÍ`æ•~Ï› µyE8ºaÊ0M8–LAÇþÚÂÛB¹ßI,{تSÔ¢S™ÖЦuØ`­©7Ë[£eönÌ$bcŠèÂl­–û„ëzÖvm°èj¶Ê$?”eK›REcy‰bMÆ© £°HìG©Ò&‡“꺤ÙÓS½š–³]©_Ñ`›±“C¤ËnbÑýÕý±,à’Íq“ãá¨À8, ¦Ú17)J"Í81뱆ˆˆ1#æÞi¥Înµt&Û$±Mnby|Ù,ÄC͇f`‰lSlMm7;æ³ær‰1ÊUŸâb"}¡˜Ÿ6Û'›î]ú8‡ÃËËùüy¦F¹‡APÔž¸ÎÌåN˜*,ˆ5E¥¹U'xSN{ƒš¥Qí'6÷x@ØÖ WašY&R9Eëë™[ÿçÑ>ËÞ-nK2ž²ÅM`B¸i2ec]PôÃB°ÝºÓjjµáY'E¶l3j„/×DA9Dõ@0“MÿF&š\­13&¦Ò: X2&ˈ€ ”¨GÃó`¤+óìæåbX™¬Ðä|™¸Ž_QÖ‹ \Ÿ7jc3I±þÆ²îæ„ž’a.¢ÂÅLd±$è¶±ÿˆï,£º=:@Õ먠L*>Üì§+;›?ƒ€wÏìö‰xnþA,O¨>vÏÉCAêù6ˆÈ‡Ûõ²06&oÅ„(x@¸y‘{†À?ÖEìsŠo¤±sȪaq%ß›¬¦Rpâp ì36€âÀ–Μee@[îöÀ…óåòQo@ôäÖ裲v¤˜#ÆYܳSLJÃáp¸\.ö¨pVVá¯iËPl %vCM[˜j]8zKˆËåzþ<[X¼a=È]S)E¢g‰‰õj˜¹3ý6– /±O°²VZr)ŠÚˆ;tü &g¿Â¹ÚžÕ¨°ú;D•u®WÁó)×ü—YV€4 «Ê5 Vc% ·EºŒ$M§‡^ÀÆUáÉ¡6<Ä-yH6°ÕssPå2Ùâ qÅ_œÁ¯L±`ÑÎe˜ç¨Ð-Q]b†Üz¨¿—ÜÙï±ûÅG*üwÝX¹ḻÛþSÂÃ| õêv—ì`¢TSyKÖë_íKO Ùƒ?-­|‚XDwÙzËc!&à“Â*¤Îí­ZÕàa.˜1ż|sƒé,¸SÇ0x@vœGþHá\-·QЬ½’e¢tX€Ñ“ŠK !Èñ"j4Q'š³—_³A껨¦MSóH®*uÇfüR;²ÁÊÉáöå¿4P ¨ø02ej ¤­ëÑ íÌ0ÁÞŠh·0“ôÉT>Ò ‰1–ˆ*¡è]‹å¯d¬BLÄàœBËô×p®ç¤„ m𨠵Ájl+P5AúЀÑ*é,u£Ìžmô?6àŒLK3½“ƒ2L–^šR½¾ÿJÒ¨d± –_T綘‡ƒ½˜‡‡#‡Õ¶õhòðƒ ÿñ$öLܤ¸”=>E’N°ÓU8ÁȰˆJ嬨jÉõ,ÒWŽåã­”‰ 0‘°ÈÅvIhZËS“=´¢¨ž¨&͸}òð^TGã¥Ö®¶ÙK€Rêr¹§——“‰l¶+[DÔLà>L¬I¬W(!*à‚Õ‘XÛ"@Î_=Óæ‹™1,™=·h#6·€2¥J[sƒÄ"ù¼Qe<4A)èÑÜn.’¾Ž384¼RÎá!tîÀÐUÁsjžè@áUn¿1tŸ!þmùVNwζ5¬ `²€ €v’# ?´/Œ.&‚9Ãܶe"Ý\'Ü[ùE·m°˜rî"×¾¡\Q§‡ÙF¶!ˆüƒAÿÝ”£v°ÀSS¶mQ·w´J˜Ä = !;jCɰ1Öž¥‡“Á[™Ôg{ìé0ïÒœ,mÈÝ ,¢ ŠøzJ®Ûtß%b¡eУRr¦.пÜÑ{•vÜÔѳzdW²L,ó¨Xœ¨o–0N5¡Á%ƒº»0_~‹˜`é…C7ñ0­ìJ.íþW>%…AsˆD1F'ŠÿÅû.ÒÎI cäÏ1¹— ">;š;4A=|\ü?r=nkGµ1Š{Ú“Çj6­(ÅV YwéJ§%U¯ÀÛXº ·ˆ·Ûd˜~#åÖþ…äÁ&ªK«Ú¹¯ÊÇnµ•P÷óµm`Ýfc‡™2­Wf¨ !À ‰ÃC˜µ%L51GIM‹ã¾ Ð])’Ct%l»6šN ¾$ŠjA:z³¹Ù¹öKøAex(•ø‚˜!Z{×#ÕÅ `$6WV…4´”ˆ¼á¬P«^T2繕=(µ&Æ][fˆ¬¼Ëwî:NBˆƒ8tÛƒ§_s1Ê Ýc:m^M){6¤ƒÀ¿´gù¿’lüJnGia±Gÿc»óHp0žZ‡ÝY_kR¶rÜôÍHœ-tÛ`µd‹Ç7ºÆ[›mÌSä4]Yr«NÑÃ* ¨¿§ÃwM‘ñ¨Ù–Ä ™ÍâÀêmݵfÍW½«YàÝñn ¨Tq4 Bõù†¢8°"Nþ QËUB#É žÖΦ ŸsÉæÄ{n“@ò àîßbÄߨœÍ¡=wIÅ»þÆ[WaÚ÷ð#9²CþR]‰©¨|—™GÁi¶Víz©:IXÿt µs¶÷ì BÔ÷ß)ÿZ‚§”µyõü‹M·Ô´-V¸†{²ØX*uSã«»1³âúM¾fgÇåçsô™´ø!‚IÒ_D»+ ë¡ ÂAÔµ÷]RKÕYhqš¿ú–âÉ\âÕÄjqP~6¿ìƒl3+LÐÀ‰š jl4‰wç'UQ3l´Ë¸*á³ L0«¿FÆ(S/æRˆ·,Ê*:°n7Æ!<,¯¦o¬Xk1+l\7¢‹_ÓòÀ¹@•¸°^¥hÐÝš°î˜'Ý…clõô¯&iít|€c7é”ÁQ7Ћn•Àê¥9PÕ7¨pÆJ](z•ÅétQyX–"MR%’н\NÞÏ*ßA-OêêFƒe9·ŠR .„ŠhŠÑXŽmh¢a#ˆK|g†pC$8)Ú’8 Æü›‚lj$L³ÐO,fRFµÁ_>…â`=>©ÄÃÒ ÅÉ’i¥JE²ÕWßÄ!]Tvv6!ÄA\YYYBî(a-B{¿>÷¼è$âmÄá—Ë•íÊÎã•ÇAˆËå’DP ^ý_KV”¯"¢ˆûÚrÞ„0{îK8 úÄ®¸Ì¡¸Yp‹˜:êÎ(Ûoc>‰[¥9š·$†vªG3Ìn5eSBÚp;V¡h»l_ F¿n"q›Êçdyá ¨jª»è–êŰsÂçjÂì–ËE qáé«PŠ™»@½ŽQ…s¯/ñ Fèl˜ºP~_2Ê„XÀ¸þ’Ÿÿ{ö‚†¬nF™ *+!+aPMr€6H2¬¾Ñí¼¬-ÑrCå¿<ý';4´\wúb*¤¢¶l ÄEµi²6+÷äâoô²”Ãg{$9¶VJ÷gödè–ÐÏÜci³yªdRÜP>–‰0Aw˜Cp W)l±J˜Ù€i¥íPKuBÄápp×D)°£¹näFÁ5uæýÂóáÖÌfõJœ+ˆQë" 5n’ˆñvñ4…Q­‚8[ i”ˆ“¨ôu;¢Uà#þ”’”SŠy,¦YÃÙæÓøR‹"ð©ØÛ”ië3¡ü„4¡îÊ)§f—öÉzËzV„¡âÕiÔC£–~1õºÆÈ j© ¿ÕAi²ü8„ÑÖ+^ÖÖÚÙ$ÃxHÎÝ@u|`³(ðÕ{ÄʮԆ¥¹vP\“ QN¾:‡,`Œ"€A€u«L¿´=B@œÝÂ1N‚,±›ƒq–}Ž{»«Ô÷ŸåÄqcD¸‡¢ÛØ´l›V3­:Â@ˆÅ?*¢†¦|–ÈàG[° ã˜!”*ÐN@%šY è±_¹”VfIfëe€XoØ(ƒ.¸ £ö: 7ð/͹jG^¨ZbQ—‹fee2ûË‚*hj=pÓ©§I‘Œ‚²)eÓ@¼œ^”Ò,—‹Rêà–è±YMÇ<˜Àÿ¹¤¢HT†t™&úQÇSLÀ¼,~ŠK;v‚€§ASHÐV•î  S*¥¨ñNÙç1TY¯×,$jßöù.Ïl@Âjri*ÿ­® úIÍ*VÌŸ’Ç\c¤Ýç7´âTPËŒÙv‡ÍŽö´?Ñ&À†!Êú¨ÐÓIa[ûç¿”¤z«k¾»E¤œ{j–áRÆ%—‹âË`—X]Tò/“'—Ù¹]î{2D,Ùê ßâÿÒ¡.Í™*ö¥ v3îêYÜ ™iõæÿ©D„á׊á¸k¥QVÀ¦ù3£qô?ñ…dà€õ©€Ò:HI§P":Q³%qNâk‰E°jÉ:FªÄ%º$©˜» 4ƒ Ô#ÂDlx€Œfÿ'N‡ƒh‹.Í.P}ìÔò8‚Á{äÉñ®)‘ƒ•/ô°¢×˜d墱FU9Ù2jKçMO%¬n‹Õà #ˆ‘2è&2ù*WÒIŒÿÄ.4!à`ï´ÁÍ›Š6\àæDÝþ f÷7Õ¨•è˜Û²T–U&M§hš°ç$'Of”döêóá¿&|^¡b4[G+XzìÌácg;}èèéCí;¶6›kÕEzu¿ž3£þ›õõCNª–‚¾aC7#Ô`¬üHWRˆ›TÛh³ãjFé©!؆ɉ”¤«ÊUÂÃÏ]<½æç«1 †ÇOþâ¹víÛ2ûò¯nœyf‘PsÃnðDÖ“KYN£’«úºMžDÒ@ê¹mFú%¥©¸‚å“ÚØ;{’Ô–”@m =‘iV'B$‚$˜±‚¶ÛÏÏLű“QlÞyâr®FÃýK8ˆ}J›1™…‘»š[Mº©²Í¤­2´XÑn‘S„n±ŒÕ³¼íŸÏÿÐÑÝîÊÇùfÖ¤Hëˆ9Zmø¶½Z0¹y_0AúŠYÂ½Ž¼æHŽRê¢ü8!Çv¨ºÙæ· ë=}«9ÑÿS®Sª°ZØÚ¨«àHî’¿_À‰“ÇŸ<æçç‡$¨Ïí"´ DZhxÍÅò/Çô7š ú2›eЯ_¿ÉS&W¬TI+Få²JFh¤ÿÉåƒÀúٌѭ'ùÛ7,๞fMÔNÄ=&;Ø£‚  .»b  "(“(o 3IÐO¹ uO´&"9s—,VšrÂÌ¡P [e²SuÖŽýÊH"õ`3Áw$]ÒnqZi“fMd"ý”ÿjpUˆ…ÔèH¢"#J63Äcýè–hG ‘aA—‰ƒBØ3]bOVNvÐ’bt!Æ#‰yöILævòjq¥i›”9;©·hžr]ºyÏn|¯Uk¤”¢ù%b¾U°H!Mš½»tÅÂÁCx9óH“„;`^öÌéó‡9|èHÒ­$“Æ5!?°ÀÌY_~5{Z­:¯eefI†š¬“ú@­ÑS)óÎÞi˜¦ÔâéA纞$p@Ýq¦Óúà5R(V}}L€–-›@Lt,€‚Ž,åÍ›ïí·ýñÇ[·lšfx8v‘N–1ûÛÙŸ|Úß¡K ö¨2DŒÍ‹»ñ D(Ó€kËE¤q…©á^Eü‡£RÌ€ŽtÓ¢h _‘•·ÔÙ.[͵èK8gâÀmK3.W׿ëëë»cÛŽgOŸH$K:þ¤õ"Œ2‚”²yÖ>HöJûñíœoû:@‹Uñö5vx9½FŒ>{ÖìraåÜ™8ÑÚ§D< ¢9RÃUPÊŽ¬‡ƒSe8##¶£YoLÙÛ¢ „y0%²Ò¸ÉÛ¾¾>;·ï|öô©;Sc:uêd¿ûÌšõU.Qä7 ƒ€wÞ}Ë××ç×»Ÿ=}f«òv÷#ì XÄ÷Àô5Ѥ,1¨^yÆ7Óú|Ü ’åOjc&„Né9B•zˆê€ÔÅ~ØòïÛŠoO­ìЫ ·†ܦ}±O+3åŠE ६R`0Ajš £µç…Á#â­í€‹Ã¢W€ío³Euùnãw|}}wlßùôéY[¹S;½³æ…‡G|;wΧ¸EÀ‡‰¨¤67J¬/€)þùm€Õ‹¡~Ò¢Eó\=bÄ0§ÓË'™8¸ì›µ&±ž×x¨;Yл˭™.Æ]¿nbž;²ä!'ç©fŒP*£°§yhmPùG¿gô-ÌŸp; L™!ŒDX²9& † 0ƒ^F#¡– ŽÈ?l#@°9a È/á‚z0'1õ`†A}f]ˆ¡r1@"€Ž ª>uB)ͤY¼AuB½Q‹ƒ+*¾L+å‡ ðV?«+%ãµDa6ž*^ƒq¸Ä·jù4ã‡ù£eÂëQR¼xñ#‡GT dµÆ›¸vÍZ¼+BŒºbWˆÃ(¢¨;l=ÕXdèPA1`*ü²\&vìÂÇÛç·{RSo7~»•˜ì ¡&¢ ù¨¸úòàŽ¾®3°#øúø<¶ûvêí¦ï´Ö=ºfåßÁüP%äÙ`óqéòïÚ·õÚµ„v­ÞÓÚ0¬fëͨ' 910XøÝâC3¬Óû ,8vÌ8êrúº¬dËŒi3Y_½û~Ø«o}LÄÉ5&—þþs¿û&¬|Ù]¿ì™õÕ·)É)‚íÔÇÛçà±=ŒoxTSgѪºÓn—Ę)ªÇé*W–æý¼h“FÑŠD³ÞÞ'OŸHIIiøV#9bj–Ya}-œCøzû°ÖÞz³!h5ĵˆ¡Ý!4bÉ *wH£ IDATÊrœÂ!•O«·w²é¢Ê$Q<~æ}Ðìi}Qáy¨ÒÑ7  nݺ ¬^Ï\¡ËE@>ÎÌçHoiɰ’iWÈäQiÓ(0p`Tddƒ7ßܱm[üåx š °Q5⃺€Ëå8h ˆ÷©P%|ÜtàÀ‘‘‘ Þl°mëÖË—/#÷Khvv¶Óé$@\.—‹ºØ \Ôå@]Ö{ãyó¾7)6&vôèÏäÏà^½?ŒŠª‘?°@ú;»÷ì]²hiFF³âá“ܲUKˆ‰Ù@<ÈÒcúêëGþöë¯;ßy§qXX¹¿ÛÌ&qE#æì7oÙbc63÷-\!®cmÅMÊi®»2’.—z4ˆY̾Ÿô®^½jÝ7êüºsוËWY $Ë:¢Ô“cÔ »¼¥ƒàtP­œÍ@@ Æ·ØÍ¸œ¼Ëß7‰­±µœº¶]-!¤-§ÐƒR8vòPvvVÍu®%\²¤Ä¬Å‹1rXU„¸Æ›°æ§5M›56m ¦`ýºè±cÇZ3Ê>bÒÅ !q‰B†Ò§š¯pÓ;CÌhÕªD¯A$i²AˆC!UI!”€ŸFFÖhРþömÛ.Ç_¶@ösit™ØA‘Gq¹\Ì‚2E5ñq' Íš5j3 Ÿ³ŠXq`îܹû÷íÿü‹±]»u-X¨Ðˆá#•ó™"úWNM³!ˆûoðâxŠu,”*d.A…·6•ʯK*,äBüVîPujb'–'†Å"Ò ª f’0P 1»ªq0yÄp Ðãx*¨Ãå‰(œ'M!J‘°¡_Ôl”ß,¬…ÒŒNµÎõÑŽ“Š­Ø†Ul4[þ‘9"z ‚ûA:JU¸¡N6$ÌÈãí=ÿ»yõÔüèÑ)–NžJOO·Ö•ÿ¡5‡›®ìèÒ~ê1.¤rÉNÀÇŸö=uö·ví[³-{«`ß­¶À\lÙæ ÷mróXåJ½RN— 1Ô$×Ò ^À-‰ ϨlÄ œ?¡g×Þ§OžiônÃŽÛÙõk7Dýp•V’¨φ…•/ûÓ?2:99Å= Õ°uœýú÷=qöp›ö­­·ôb}D1¤Ôh øÊŽrðP+…è¦r“S‹¸ëUø¤Ëy«aƒ€ÿÝ»÷÷Ô#ÜBÐD|G5B$?ÕPµÆõZŠÊ¯»Ñbòr1£í(²’"Òa0È€x¹\u˜¹¶k[]Ó1.O×Ãv²1ºp»x"ê_³#Õ™~[ŸS~Ó~8ZéZÂC‚;ѽ[wýõÄ|o’Šm–dÚÇܺs (¥Ð³ÞR.!†ÜSk5=+ÇÈ¿Ñ&ÎSUCDJ°ÞĹþj«•3Þ­ƒïX©@ò²}%EÏŸ?=bìúkzõé¹1vË“ÇÝ#çT©J¥F5p-qæôY *ñü[/&ÉÔ¾O(Þw‹¿lµ ¸3ù‡ª Uú  dòž¤U«æ³>FÍ´°ˆÅ‹¯^­ZJjêáߎÈ{Ôô{ö'®¨&€®^ýÃêÕ?XyeŸˆU‹­‚ HÑþ ûƒ%˜jJbûZE¾d"€˜]ñvä§Èˆõ¾vÅCß{‚ X,—-MV«jZbiZµn Ñ1Ñw€³IödkýòÍSáûøšœO‹àçªÕ«V¯^MÍqKá]Ù¶öÆØ-nûô0H %©uÃÏ dD¢O  Gj)F•ŸÑk²V®,C\|ЃðCû. àp8<|ðà!FOƒ æ|;Û:,7 ß²…eÈùû2˜Ávטý¼n«Ö­ &&–Ån¥¡Ð7±]¥6 ½zõêÕ«W»—tröxGɉËüS›âýЬ^.ÑÆ¡C‡:Ä®ßlÐ`ö·žñ Àóçχ ºuûæ?þ(&:öñãG¹íÌ}²ß’¥–í9OM°QÛcô\˜wI2\³õ±ž¬ØÉÙf±–“çqGbG[ýÐÛÖ±qC†^RùN 9ʹTUÒ×  /T»ŠajOOAØûi¢n®mʳr“§×“xU”Äx)—á(*ÕR;štn`K6ûà¥+C5›nv§f™ÂK/¿7oÞtÉ_D…š7óL¶:b¢ˆEU¼¿nmÒ¤}Çn+iÓ+ø'* ˜½‘4œ„Kû·Ô¡qÄ;‘ ”}Eõ.®ÑzO0Іɨ7ÃUã´èˆÁe¤glÞ°Å?À¿n½Ú¼ˆ7–ƒ}BlÜômX¾l•Ë•íŽ/Ô{p³…æ1¡¸S94yâü‡ˆšãº\†Š`:jO;‘`Ç?´«5íŠÈ7¥Š)™žž~àà!JТU BȆØ|wNi'úG`%n dHTQÏ[4ÅÓ¨Ã^>ƒ Á 2(q–sˆÎŒpRGH”¡4`åÓŽøcL¡g$Jª^÷ÉsÄIÃgA‹åv„Ëå鿉5¢MºÔL¹¶Â)éxÝìxá…üo¾õæãÇwîØÉò¼Ù P¡‚»~ÝÅV³ðüùŸÆMHNJ~µ|ù + Váñ§Ó«yóÆ”ÒØØò‰&Kÿ“É>§ÃÙ´ÙÛ”Ò±›-÷ÝÔ÷ÞU"†w%,íJåDÁ(à1ÏRo£ÔžÁÚ—‘"FŒxÉ· [ìGg@5eŽtB 2-<5“¥:5.(¶ÂZÇË/¿7nÞpÑl—ËÅNÆ:ˆƒº(¥.d“ &Ùv Ru‘ ÔjÝárŠÝ‡%¹W=ffœÍ›7£”ÆÆÄ¢*¼ b5½Š‹gIŒdOžêŽÒ-$Tz †Š"b´Î, Zìß~f“ 7T¥ËXq’ŠÃx8ÙDQ¢Þ”Ý?˜|õBã Z…k„èÉŸh%µ%¶Â[”è!D‹rÄ8ž!‚é|»ŒK5E\B$ `)Ñ“…³v…"þÖi£Ú65hl¢üÛ*öáZÀmª,»G5Ø'É6…'¬càA­råÊõéÛ«Zõjw3îîßw`Þüé¸øÌ¯§½õVƒ^~Y½Y‹¦/¾X %%uÝÚ˜U+~Ð#l5µ¡g¬^"sÇ|6lÌgÃäφõ›Þ½{W{ùå—†ŽY-wž³g.Ìž5ÿâ…KFÓ¥‚KöêÝ=*ªÚ ùó§§§ïÛspá‚%î?)ÚB±À6¹\®Àƒ‡ô¯U÷u_Ÿ ç.Ìùzþ… É*]:´[.‘QU <|øðØ‘ãßÍ[rëæ-P@H÷ßìѳ[©à’÷ï?ؼqë«ÖØvúÚëQ}Ü»t™ÐGmÛ²sÕŠ·ÿºárüÕNí»(`R*¤dÏÞÝ£¢ªå!zzú¾½/\úàþ5ÌAíÛ{ MûÖ5kEmÞ¸Eì'º·’&fì#U3ŠRzpÿa·uॗ_:bPddµ<Þyι0gÖüKÕdý´~žúÑŸ ¦¾Qƒfw3îÀÚhOÅòbÔéô:vjÿÝŒ{Úw<ôÓš¯Eúæõ½t1þÛYóOž<­h¢Q5#{~Ø5´tÈ‹ <~üäæ[kÖ¬]¿É²OýýüçÌ›Y¾B¹Û~ù|Ì8]T¨°î}š·lJٻɲÚüeQ±1±rI‚ž°J¡V­ZŸöÿ¤LÙ2>Ü´yëŠïWìÞûk|Üå6­ÛÊvV®^!ÞIKkP_=³ÊȉÙ]ºtiYæó/Æ~þ…z@«^Ý722îbÚ^zùåQ£GFEEz{{Ÿ>}ö›¯¿¹xñ"%¡¤@ûî½~ýz³&- „äÍ—ïØñßRSRßzëm5Dêr(ðâðáCëÔ­ë›×çÜ™s_Íüêì¹sše•öÜQŠË”@héÒõí[#2²@À{÷îývø·¹sçݼu`¦»\¹r}?ú¨zõþw÷íÝ;wîÜôôtú`áÂ…‘‘‘#FŒ=z”—Wž)S¦<}úä³ÏÆz{{/Xðݪ•+•'¥buk×~饗~;|8%%…G›Ë”.ûa¯^5kF(PàÁƒ‡¿ývxΜooݼ„È€f͚ݨQ£=zDEEµhѲ`Á“““×®Y³üûïRâp04±zõU«J6¤¥¥Õ¯_ßápd»²ÁÅýT_”û 8õîÝûÀþý8À½jÕJKk ˆÒ`@cbc5 ù|ì矒Nâ.]1bÔ­›·”w§´ió¦>>>±±þ|þ'›ÆWË—€}û£A 33ëðá#mÛµ.S:ôâ… ‚¯bJj×®U襗Žüv45å6„ž~pôèoÓ¿üjâ¤ñYY™cFîçç7~ÂÏŸ?ïÛ÷ã®]>%;unwòä ù³pá"ûöš,úóÏ?+W)ÿÊ+ÅV,_=iÒø'gffEDD <¼bÅJ²Øýû÷k¾V-88dÛÖ_dæ³gÏ"ªV|å•b»wíÇm:tpÁÂyW®\¾{÷n@@@©RÁ:¾×ºu[몀±­Ví× ½TèèoÇSSn ®î—.Ú½g—ÈȪ <|øðè‘ãßÍ[’tëó¡2„Ò«O÷j5"óß¿ÿèo'~·ôÖ­[r³lnTG}6l²–o¿ÙìnF›…%Ë¿«^YÞJ¿“Þ¸Q L3ÿ—BXXXÏÞDTð÷¿{÷Þý‡Î_Œž‹oŸCÇv§¦ÞîÓ³ÿ°‘ƒÂ#*{y9Ïž¹0gÖü‹.j(@TTd^]BC•íýym̆èMî5jÔà&ú·#óæÎg$È´jÕʈªšÏª_ÿ-9:R‚>8hYÌsÞ,[¶$2*rØá›·l7)èѳç!ƒ–-]>cút dÁÂï"#kŒ9zÔ¨^^y¦N™öôéÓ1Ÿööö^°`áêU«QË`õC6ó€Òî={;vêX«v­ØØ –ŠÄîÚS!`ÎzÂÍ´Êô° ©L°í £0ÞÖE@F pjy¦CËX)Óò1«d5YWfʸ¤…Ê…®\ 2À*5M,ó¨"ƺ¢'ü{£*y¡{ZB|ãkKN” TçÒÚÖoP¯Û{=2Ò3ðâAçÖÍd(\¸°ÎçÈA–XzùåBOžõ…‹ˆ©GÁ‹LþÚdˆ»xùÉ£'º„2ÅÛ•m3¾žúàþýµk£Ë” }£~K¾íѵϹsd¡:õjÏšó%!$>îJ\üe??¿ Ê?¦DñbßÎùNŽ• yÔë5ªV €-›Î›» 55Uôf‰£r’–-š@ŒŒdKËL¡fͨ¢E‹?~âÖ­›vÎŽÔ¬5þ\§Ó™˜˜œšÚ²e‹ÀÀüVÆÊ÷? ááËUÙ¥‹—?z EŠ-Z´È­›73îÞ•lÊÌÌ4ø6}Æ—ùó9r4,,ìµ×¢Â#–ul×)!!4"¼y«4‰åd»èŒ™Ó‹½RôÂ…ó!¡¡‘Q‘ËW.ïØ¡ÓåË—M#k.qušÂÃ×,]âëë›’’rüøñAAÍš7«ß ~çÎï]½rEŒ™T¯Z}ñÒÅÞÞÞ))) ×®‡„´ïоÞõ:tèpçÎɧÓ>qâ¤!ƒ÷ÅŽí;'OšÔóÞ£F:vôh|üesGªUö:¨‚\>fddÔ‚ |||ãããK–,Ù´iÓºuëµoßþæÍë܋ֺuëVðÅ‚6Ä4nÜxØðá…‹™:y s¨”Òøøx1u$œE+¨8’L„dee:y“W²Tð‹/ÐX à ŽøËBBŽððpÆUô-PJ.^¼ôøÑ# ¤H‘¢E‹¹yóæ]´Jy.$$--mÓÆ ­7PJ¡m›Ö½.„óð€jŽ àáƒÀ^ Êw£µ-Z5€èè ¼òÉÙÙÙ'O;ö_3gLûù˜·ß~ç³1_,^¼pòä Q‘5åkŸä¥ôÔ)9ÖÔÿÓ~%Š—xÿ½®/]سg÷©“×­‹ -í¹–5íÞ³ë£zQJË—µ|ù OŸ<9wþìè1#nÞ¼1hÐPÁ+íÍ%Í[5€˜˜MzKjDV›3o¦÷ë7/_¹TüÝÆj×y½KçoÞà«P9¼òü…³|}}RSoŸv¼DÉ fÍšÖ¯ÿÆ{»\½zE¶pYZ$Â|èMaõ·káصk~ŽŒŠlݶõ–­[€6B(@³¦M`ÆXaÀétF„W™4iÊàAƒþ5n쎿L™4¥Ç‡=FqüرxîFm§ ‡yaŠY¤Huôy`öJsž\ÕŸù˜¥ĺòɱÏ¥ÿRk–d[•7™Ã`íá¶uŽQ¨¶ÍNÐþ b³Üïut¨‚êö¹^Z.ŸI@C$v<”rû˜«CoÊ×w&]îيP-í®Qbæýq#ÙA²iypÖ¹–{µ¦u{€‡)dnÙ°25ªW—? *T¨P!ùsë–m 1zÌHoï<³¾™³dÑ2 ÔÇÛgüÄ5nòÎÇ÷ý×ãÅ|ò–x¯Swu€eËV­ù±c§¶+–­NKK“G xT„ÀçŸgy}ÒçÃ^ÝV.ÿñçµÑF°@ž# Ì¿sÇîY3¿¥@Ä1aÊçï6nÔ­Çûÿ;Q=fh^_ß¡ƒFÿúËnVë“þ}{öêöQ¿ÞÆMF¼"9]òTðŇî×g ¥./¯<Ÿ}1¢ióƽúô>d´,ÿl¼œï~Ÿô€™Ógý¸ê'È›7ïøIŸ[»þ¸o§Ó¹dÑòyß.?ÿi3'ñ{HeFŽ–××wøàÑ»~Ý@ !ý>éÓýÃn}ûõž8n²ŒàôðáCÆF¼¡*¤â)Éž}}óúøú°½þ‰˜ÿ—»gÍœCç„Écßiܨk÷ljɒSßï“>={u[¹üÇuk£QgüÏØ1¢X!!k¢U7ÈÏ@`ü+Wþ¸|Ù*–Õõƒ÷ ù¤wßý?"µ¯mûV„Ï?›Àΰ@X¹² ήÿf=´ å­ž?{ñÁý‡òÇÅ]NOÏ lŃb‚RNBµêÕŠ—(~úÌ™ÄÄDÁ^E`«Ö- &:†R4?ˆ‰|êt:,X4gÖð÷øê›™Ö¹˜0žËƒ·÷‰ÓÇ/”¦5†­5úø´OŸ^˾_¾æ§5zWÍX`ÀmÛw~5}&›¬)Ó&5iÒ¸{ÏîŸË 9ò,6—ú š‚ îß WÏÞ.êòòÊ3~ü-Z¶è÷q¿JûI¹#2 ÆŽëëë;ûÿãî»ã«*¶…×Ú‡T@J¡…$ E¤….¢¨Øè]Q¬(Š¢\±\ì"Š‚ XîµÒ‹"v¥ H %¡†’ HI É9óý1mÍìÙIô¾÷ûÞ{s½äìÙSÖZ³Ú̬™=å­ï¼Ã<Ï5úÑû züñ±ƒ&ÿñÑÑÑ“'OžõîL®¸&>ÿ|×n]~ø‘§'<¥Ú…B³fÎÊ=™›TµÊ“ãÇüÉ'[¶lG"Ó¦MmÛ®÷o¨z­X±Òµ×^sîܹ•+WôB€'Ÿ|2&&füøñ æÏç4=fÌ A÷>8lظq[òà!Þzë­ "8{öì%K¼}àÜÙsŽŸ8ΉûÜsÏq·,:*zó–Í~ƒ= ¢çyçÏ»ýöÛ9Ò\»¾üÊ+Ý»u1DRí#þó¹òßq±q“˜ 7D÷ø8Î,ÃG 2ä9sæ~öé§b2ª‚œå‹ð-Æ i“&õÔß»wïïÛ¶©ËÉÉ€Ô”nô„OÉ0­NìÝ·l £$oÅk®¹úܹó߬üN¨y!?0xHbb•'ŽOœøìm· lÞ,Ý …† üë¯kÔ<öÐÿ“# IDAT™§ÿÉðmXN'N¿ï¾Áw ¼‹?NžüÚôÓfÍz÷Å_)¦–3}úÉ¿c/½ôjï^}yÎŽÛït×7ß®TZêæV¨X±cÇçÎÿî›ý­72&&ú™ /,–æcÄè‡ïºû¶ÁÜóÔøgÕÆ=9:66fÚÛ3ß›9—ûÃG=t×=·z쑇‡Žä…&Èò>2ô¾Áwøþ¿ç}¶@ù{”%_zžOÒ &:zõú€Ø\*cŸ5uÊô÷ßû1=áÙñ7u¹aȃƒ'>û"m³J•*Îýøy÷¡G†Ü7øî»ÝI­sß[z!âÓÿ˜¨Ä6hØ`úÌ7¯½îjç„¶BƒnB]2(((ÈÎ>Z3¹/V;%yÝÚõ)©)Œ¦¤$¯_»Q¡2îÉÑÑÑQo½ñÎ{³?àÊᙎïÜåÆa=ðÜ35Æ|ÙÈ÷b‘0 ÌóÁü…ŸÞvÛ-ï¿÷á±ãǬÝ-þ\«Ö˜±£ó/ä7^…äÔ¯_¼Çõ%ª{@˜óÀ_¾¯øÆä7gΜÅ‹‰‰™øü?»víòðÃ==a9r$9¹¯‘’šòë¯kÓRÓxHIJJíuëÖ ç!cì–· â“OŒç«®ˆÐ°áe³ß›Ù©S§7Þ˜â¢bÅJ×^Óñܹs߬T‘ šOýc|llì”)o¿;}F„1Ïó=jР{Ç>>æÁ¨bÏ='ä4&:fÓæN‡Ã4‡~ã ô×Êo¾9uêtÛ¶mjÔ¨‘}$ÐÃK/½´~ƒú»vîÚ³gЄ¡PhÖ¬÷rss“ªTybüŸ|üéÖ-[‘ÈÔioµiÛ6C}à¯'¾š_©bEc&kÀ^ª©#jû§"«ä¦ÜÓEp~P™€6ëÌ}°âû3Wo|Í)Sc5!ã¦õŒKo»òWÌß«‚Ýšß"ØlÖHyF~aUCLGmˆ¨h¦í¬¯š<ö¦ª £&þ &¼•f„è&Ì.Y"̓û`ÝOI|g¹Drõ@5mõÁHbm¶†M´4}†Ú¸Q“Æšd$ÌŸ· ñåM7jÊ3?ûTD½&&$6hXÿø±ï͚éy±àâk¯¾Wvh`,[öU„…94ÙGŽüøÃªP(Ô¤Yc"j¾4³3ˆÇEâÜCÇÄÄ̘6‹×аð{3?€Ëë/4TªTéòÆ—íÎØûÝ·?¨€úY3æ„ÃáöÚ‘Ô¡ƒ€N1Œ‹:e:@Âá·ޘÍ[4£e&<ùÜ€~w-‘«ï Ø¿?ü5¾LõX­zµ¤jU;Ág³ŸŸÿ¯?ñuרñeùyù3gÌá9çÎý`®ºø‡QL÷dìýîÛÄ Æf¿;7_qe;²yf$îzžG3µ^°êè3¨Œˆ- '\^‹ -Þ‰‰™>m&¯‰„gÏü]ÞÐ/‚ÎVˆ<Åý½RžDÄ?ú\>²O?™Çã‘uJGÄÇÇÀæM[U»vet¼ê¦¾½(!‘cǽéÆî½zÜrû€»‹Š ,{C€¤ë%®ƒ2òeËuêÔ)//oÅŠ•zOµ׸ÉåyyùÓ§ ßîܹ³sfÏ5Z²wmõ ~ ö×ç_ôøòã&´tLLì´·§©ÁzwÆ,hܸå"KSf²U®è"..öÍÉSø´&\T8iÒdh¡#`‘üß„L<Šÿ%V©Òð²†ÇŽwúŒ0,Â"o¾ñæÅ‹Û´iãy!ŽFb•* 68vìøÌwg2`€x± à•W^€:0PÄ //ΟÏ€ü¼|äßTTÕ ©k·nQQQË—/¿xñ‚ùðñ±÷ìÙ‹Ïf{ÿý¹Ð¸Ic³$Àâ%üÔ42`ÙGŽüðý¡P¨ióæ"„ÇCô<Æ‹D43ƒ!hLž¶å§o ÉPÊ@|£ƒë8ÿ-ŠfIw†îÕMª~ úõïó¿XÀsyÉ_V¯€Ûnχë^Z·ã5WçœÈÙöûvó€$`—®£¢Ê|õ劂‚‹òÁfññe lÙ²P6¾,”+[¤7ù7Òmô×Ñúôí¿ÿ¾åo´sþüyhÙ¢µÊiÔèòµ¿n\¶t…xÖÐ¥ëMQQeV|ù‘Ç?ñÜ-}ïZLÌ· —7Öóó„Ä„ ë?žÃg³Œ±È´·f\¼XЪU q<Ì:Îm%u¸J™r €ñ—è‹„„„z .=q<çý÷>äŠçbAÁäIS ý•íÀ—>ÿl¾ú½xárÐÖYôU–ê^D@ÌØ•qíU7÷³¿Z'êtîz£I7¦^íÏ›€‹ø]†Wv¸ÂðúÀ²e_±H˜;žÙÙÙ?|ÿS(jÚ¼‰ei¸, âó/NŒíÕ×:¨šòÀË5¾¼Qãጀyóæ_Þ¨ñåš\~y“Fòñ§ ÀóÑcŒño€“¹~›5kw .¾òʫСÕ ô¬¬,~¿w•*UÊ•+·jÕêÔ´TDˆ‰‰­Zµ*ßÃç²^6>6múMº@¸k×®+ÛwèÑ£§ïˆ`×n]£¢¢¾\þ•Ÿ{¥Š~WÞùÀ¦¼ùöŋ۴ièׂþG(n ¸2¦¦?hLu °°pñ¢EžçõêÕK:Ь[·®°pÑ"¹¦' S…Ÿ——(„שðKŸ´+¥÷®è[ÿÅ¥HH'š²øY…dbÛ×&V/xr4"€ü‡Ú‹ƒYsúÖ¯À@ƒ7äƒÅ ¨”ž¸† M™Ë¿Õm‘[ŽÐÏ-Š ýÈÔ7­&•žõÛ¦3S±ÎÒGã{Ž9°Ñj1IØn9à“D'Ìg´€«×é- (?aK›·g n(ïm}œÄN³¬U9¡28t Â"êYNNN^^~Bbø"£sNäÐŽ;åÊ—ÕqÑšúÎë$‡yñùWàjÛG~‚Œd‡ÜÜ“.äƒ\Èâ=ÆÅÅ©:‰‰ pêÔé5«“oüóÏ3 •Ñ›2ÍÞû:rèÈK/¼fQídîùùùŠÌüñG~^~… —Ð2{vï€2e¢¼ `Ll,ÄÆÆ(ä+”/‡ŸW9xàC…K*xž—}´¨°€²2­ å!!1‘cZ½FuI.@T˜á‘âØÀÅõ¶ò£­'T\än@nîÉ ùùªwÿ`•:ù¤†‰#.6 äÀéS\bÍðÂ…ü³gÎ^RáPS2ÆvlÛÙªUúø c§M¹kçî‹/ÅoÉ.À…üü¬ÌLj-”ú1éñññ7ÞtÃ… ¿úr…&‰4.]ºÜ»pᢼ¼óN¼*T¨ày^ö‘#…|è 3s/‹â ØLȃË^ZSìÐÃHQ4ªçæääççéÁ:z âãâe›,Dl/“? 7‡Ë)r»òäɼ¼<;íëÞ‰@BåÊpðà~b =Ä¢¢ÂôæÍE_Œ1Äʲ˜dAˆ9¹9yyy‰‰ ¤'Ÿ#Æ‘›mòmP`}ùýÆópñUäY™ŒŒ]P¦LTbbb(ä@LlÄÆÆc')œ›«G !ûØ1(W®¬°jÀÔ×w!*. ëõ$#Hú >c€Æ<ñŽD˜v£W†{dщ-ß¹ËÍEEEK–ѳ6nüõ×µíÚµýø“¦¾=íС#79rx(úä“ÏÂá"BWÁ/½H¼qÉöšø7œE€*Uª„B!ý˜XòòóÿFS7Y·~íÓÏŒþȨË.kkC*¦  g/Gܬz»{÷äæ#1!ä!pó£Â¼+'T€C‡Ñ ›Â‚öm®)Váç”ÿÈm6u-x§¢Ë—¹¹'óóò¥•šë[Nž< BáëÁÚ±}WËVéON;}Ú¬ ®{…&·IÒm)Ø—eeí¿òª+b¢cRRkŸ=snã†ßªV­_³f DÌÌÌâf"¡r%8xð :õÊ@z5 •¥*ÔÿæœÈaâXc«)WNéSJ±{î¹»eËkÖüòé'Ÿ BD\¯RÐ4&<žÅ÷¡AÜZ„à!†#N'S +'õÁC™VC›#ô›ªœ•™uÕUWÅDǤ¦¦ž9svã†IIIññekÖª…ˆûöí“·ýÀömÛ[·nõô3Þ~kêÎ; .‚ÐjÊ•5ÐìÓ»Ì_°|Iªèƒ"ä"´HoY‚ÿ) £T˜ïJ_…™áÌsýâ‹ywßsw¯Þ=ß™öCÆ"Ð¥[—p8¼|ÙWL,Âz¤“¬\‘—j–V*þ³ê’aÜSÇDéÁ¹~\¨ ׎ƒ³)c%‘QÆ-vêGÅømLL”ˆÙ'VÕp¸à¯ï\“2AªâækD8}“8ùÃ÷Ù°2˜™–v] ¥“adÉÌçÛ¯/éœ+}XÄ.Å8‡Ù]h(„èú6L”Ó"üg'7YÊNN 4Ÿ¥ Ãâãwƒá5ÀÖmu†™÷â7„¥Þ—í†Ãag`>õ*°É“Þœ<éMª(<ý븻3ö:”ª–䘋( ÑJäVw+Û¶kµôËyVÔÖ yíÛ·uÀfw ‘HXΡ\M@ý† ;¼yó¦Ôa"€ƒ„S“W6±Ê{!€Â‚šY`>@Èó M»VKŠÁT¸½ö²‰9…ocŽaS9’ápØ`rµk¤rôð‘LãUè =JŽ6‰5AÆÀàU6sæœ-›µm׺m»Ö‘HäÈ‘ì-›Ÿ÷Å¢M›~“Þ?Ó½£³K‹æo¼é†¸¸¸¥K–;o|‰Ó­wï^ ?öc6ÉwÎ ‡^^xÀƒKµÎ7ÁR]¢-¢:ß—ìÁ"C#Ç„ºs~ c(H$ òØWË~‘¡É©£ðYDÂaÛ,Èå6«¢˜)§×R‚0H5¬ß áe ³23·l•›x¨”."°—5zâ‰q-Z´ðK½PèÌ$)1z“^}õµW_eŒyž''³Ê­0Ì ÝzÃj¾á¦)ÒÐÖhB:ŒMQFZ2¿¥€Îo.[¶ìÊ•ßüqê]Góò+/t¸ªÃä7_€½{÷^ÈÏ?y’}øá¿I¢Rƒúõ6¬Ÿ•µÿ÷-[M—ã¿+W§¿776ì¡ ׯY³zÍšÕžçÕªU+=½å-ý´jÕZ6«qªß ^ƒ†õögø}ë6c8djذÁcc‡7Ow˜£dòˆ´Ý¨x†bèw#Pÿ-Sâ ˆgOºVÍp8ì—"õý'"Ãß›=óýôÍÚ¶kÕ¶]+®{·nÞ¶à‹Åƽ}25¨Oè¦Ýwñ'+ë "Ö¨Y=55%3+ëðá#áp¸vJrÍÕ s_–À€ˆBAÎ`…W£4›Láç0öú¤É¯Oš¬ë!@\\Üö"À§°°ð©èsC’|Ú q(,·œ¨rôø7TýIÖö %è·ÌÌýˆX³fÍÔ´ÔÌÌÌC‡…Ãá”””Z5kÀ¾}ût3f¼Û²e‹+®hwÅí"‘ȑÇ7oÞòùçó6nÜà׎ p5˜µu‹ŠePƒ6ßõ‡ÅáãŸvèÁ5T„«±b™™µqæ–­Z´kwÅ/¿¬iÕªEêÕøñ§?þ8YŒ~ÿ/šÃÃÊî”FäÌúê—VÅúG éU5“. þ¥ù©¯wM3ÒØÊÕј)‹\ËÅGKdd 4 œöÈ<@£ÐÑ…[ŽÍ<´O¢h‹®æý}i•ª6“D¨>fèƒÃéÈé;*è¤b »jÁ“»}ƺ¹¹[+Ø›ÎiÉ<Má?µž¶‰ãÝ‚uþÚŒ='¥³tUÄXPÿ ¿ï•߃Ái5oÒ–B#1|¬`—‚ò”9m± ¨¶¶ý¾cά¤‹¾"&™ÂEE-š¶pX Ï¯†Ù©zõj³æL …Bsf¸;cO¤¨cbbžùYÙßJ%9[Ûß1gö²žôÅ ’áôR£¢¢€\D“&1sgªó{˜¢¢¢5˜Ö °T˜)CGTúz J®>4O1®Ym¢ÎÖ™3Þ9ðþ+Ú·mß¾Mƒ†õ6lЭ{çnÝ;Oxjâ‹-»«õ#ó&¿Çep/ëÕ›‘]$Ë+ÍêÖ©Ó´YÓƒnܸ ´Œˆr¢YKâí…"xº¬©ŸHAdT‘Æ çЙŒÖÀ´ƒòf7§ÓÄ ‘¬®¥:¤5˜±`JIN É=yFñ/N}˜ý¹æL̦/Å´w?~Ô©è%ñBõê5>úèÃP(ôîÌ™»v‹0&&æµI¯QDT,‹èÑDô|C bŒUý0_òÌ|/SLHM=m^Iü‹|AIÕ-áiU³ 5‹ôë×ÔºŒ˜>3~»ÍÙ³gzð‘ÚµSRRjŸ:}ºÞ¥—>óÜ„ç'¾˜Ÿ—g ôêË…eq€ ô?:]rI…O?™·zõÏ«Vÿ¼sçÎ;w,Z´`Ñ¢/¼ð ½œ§ž½»c{V WõÕfÏ …Þ›ýaÆ®=|Þóâ+Ü|¸ù›IÐG^iˆk.U–Æ÷eþIµ; ¥qöÌ™»ïxàŠöm®hߦAƒz ÖïÚýæ®Ýo~f ‹,µÀïÙGÒÍTXüïþ¬ý\;9-µvfæþ‚‚‚#Gަ¥¦T«‘TXXtðÐaâ# XAëì¹Ý>½¥è"2Âáð·ß}M›4©V-©eËË–-§n ± 'uöƒŸßñøùÆ@¬cÊWNj2߸•• µSRꤥfff9œ––V½FµÂÂÂC‡ËÅ8sæÌí·ÝÑþÊ+®¼²}Æ ^Ö°{îÝ{t?þ©…¾mØÞü:(Çö¬e®‰¾VJ:1%6Jb»†)¥„š„r,¤›÷Å_´lÕ¢wß^k~YÓ­{wX´pcO|©Å±¼>òfÈ—_ŒDGGƒáJ醵ÕõúÚ è‚ðº´;’7˜õÞ·ö è.Ÿ¿/Één ìú.0Ý€v§©át•#Y4Œ„+8£¤|bê‡zëgE'2Âà»ËÉÜ2´4ªÑ±“˜97Ç©+Ž¡2¬1ª™§ˆÁDT UùâlÓì «ÊºFS€èy‰è…r!F´\ñöå6¬ 1g!ÔÑ#®N›å/(ßVÌ™P0‚|Ëõ¤™‰’G²‡Èd¯Œñð3|f$”µ",^(æØ…B¡H„úÙæPk©e$fI1»}8ŠûyÄ/5Ø‘6J~’jï×àuáÿ>}ú‡ïd¾ênS¯QÕ–‘Añ¼Ác|]B×ãâãf͘3}ÚL…u\|<í†ÉïÙbÈØ%PÇY´…P¶|9Á: á’Kì«nѰÄô'?N~Ê3xTù™3gÖ¶I‘š¼&¥ŠÐˆ…E…ù.T®\Ii;Í‘Š}I×â§g‘ß7þØ3gBª$le\¦LÄ0Žž'6=È,A„±Õ«V¯^µš z={v}湌ùТ‹-òÆW=j‰– #$'§´l™~4ûèÚ_×s |-¾—ø*ýbù†Ô争@ùrå9|Š"†^FÊE?™¨Î¡ê‚d mhé%w\gÚãÂy0Ž@(RêA‚Ú(P†‹ ¡#S[O–¿ÃSS•”N‰ i‚@/BÄp˜_pTqQŒB¡Œ€p]woL £¢¢»uí‡/Z¬¨Âwüùž={ÆÇÇO›6íí·Þdˆ—Rï:Z#´¹Ç¥F¥ cèyèyqz–‘zÒ+#ö†‹ØŒJ™\R”dÂ@¡BÔ™t PÀ…ÀO÷ˆ«à)‚èÕ©S§yóf999«W¯AÓJ"@„E¼ögíÏºä’ o½ýæ>ÿlñ"«G•‰êÚåæp8¼d‰žæ!°ÒL¢þûð‘|%RQQø÷N=ϻꪎW]Õ"‘ÈÂEóÇ7iÒË|B«ìMT™è.]n ‡ÃË–|¥EB, tëÑ9>>îÝés¦O{W5®I;DΞi>€1Ï yž©!7X.©2|¾ó)±žòÀdf/Š{†”amk$_3udÍê_Yý+ zÝztžðìÃG [¼p)]`ŠŠîÜùÆp8¼lé—ćÓ6+KLhk¦¤ÖÞ°~ÛŸu %µvÕ¤*ˆDЏ¤DXXÒÍà.åÕøý .BL¥ÈS©,(¸8jÄ(Öªe«¹Ì÷ĸիל>}J7àv™µÓHÕ þ‚´–j)¼D@û!:qý¦ŠíËÌ€äÚµRSS×­Û€ˆYû³ÒÒR“’’ì?‰„Aûfa‘U«V¯ZµšB¯ž=ž›øì£ŽZ0õÖ¢¢¢»v퇗,^êt LØ”žÏ+ƒÈEIªyÙªÏ`dƒ–¦&Ö W|õõOŽ»þúN•+U¾éæÏœ9ûÃ÷?mCÝj½µU)é#ØIHH€Óþ‰fy{¡—xÝt6áÑ¿a"2PAy§´mÏÓ_t“Xñ’ƒÏ~‰ìé ùV¼g”…‚ˆHÇ>GdˆÔYô9öö˜ˆ©,*p‘ÌyÕFš ;Ò‡ýVá+^9Âxœ U㢠ñÀ­¬Ä|V“Z.݃Ѥ 4øFÌGÕJ¿²ïÄÌÌ55t-r0¾˜þÊy,}ä9 _*a¤?c²¬Ü&ÛË&ÿ ׅ飯‚õ-ØNž<µ“kó‰ 'fbbb||ÿ"¨$ íˆ4ÁÆÆ ŸÉÈ’˜”mº/ayg`²b ÅàWïÖ®¬  xÍÓ›5nÜÈÁÇÓN ‰•ccõÉÏ„„„¸ø¸?ÿ<£@äw†˧?þø#??¿FÍU«&”´Ö­[º)BôP™Ô„Qé4àü—Ö'ÆkC)êÙ³ç «U¯£Š¤¥¦‚<,GI¬’'¾Ù™ÓL%†ŠŸ[–K¶¬_¿>°xÑ’°2´SZGÆFQ¹r¥7^ŸbÍyêxÍÕ+U\½ê—œ'",aÆ"¢févÜÿ;R¹r壣£=zñâE•É7¾è-µ‘H䨱câ+¦ày^ŸÞýêÔ©{òäɳgÏh/ùêk®¬X©ÂšÕk#Ñ„UàСÃÚ^&%UÕ…àÔÉSR;™Žjttôêµß­^û¢‡¦F(åÒ³>bøÇ§ 99Y¸‚ €ABBB||œõ}xŠ“Ý´z…^RRRBb‚zÉXdÉ¢eû³TN¨T®l9ZøªŽ’n9¹Zãë¨vêÔ©?Oÿ™\«fjZJæ¾,¶ÿþÔ´ÚµS’3÷e)ápÖN–v–1–˜ ¼\åéÙ,sÐ 6lÜðÅç_T®\éñqc}dðOÛŒGE-D( ‡ôLÏòQ¥~«M3…~S9§O:}útíäÚii©™™™°?++5-µvJí½ûöœ,"zIIÕ4?3Y°paVfVBBåòåËSȯ¹¶#Wƒò«vâ°¥¦(Ø¢¢¢7l\»qÓzy)%‚S¾ýªu¼ºãðÃ/»ŒÞ[nh½‚‚‹K/‰‰=æÑK.¹ä«¯¾*,,*Uª¬Ò%Q²(¬ÃaXA©Yóf‘‘a1‡‰+µÎ@¸qᜠD¸ú$|Å“ç#…Ã*¡0*júAʦ ‡5ÿ0û2Xå~ŸžûH‡À糆àphÈT1 ›T/õäÅ&I¥šÐ¢e`‹s£ì10ßùWF†V³tïZZNåÜHÞ³‡ÛˆQ1ÈdÊä6ý¨½ý+›7é»1³€ëo¼%wDÇDß7ø^ ƒcÇŽ=v<©ZÕÛcw­Ü¤> IDAT÷=u‡‹¾ÿîçP(ôÂËÏÖ½´n\|ÜUWwèÝ·‡‰>þyúÏmÓ^ÝU]»wž=÷‡‡5Z´fŒA—®7ÀêŸ×ؚתࠊAœÕ«€®Ýoæ­*q§‹®ÿò¡¯_¯nñ.Øñc¢˜ ®Qéܹó#}(ä…0ô¼£€›6+OÈ …–}µpåwËÓêÔQuÓÒÒjÖ¬™——ÏoD¤èV«V}ÅÊÅó|üÉg– EÑÉ8 IìѽclÑ¢Å~>êpU‡ÄÄĵk×ÉÏØj"(5ápÑ·ß~ …^}íåKëÕ‹‹¿ºcÇ~ýû xäðËyªƒ¤$SqüØ1hР>}'Ô±ÖhV²ZA`‘5k~‰Š*3|äÈ0ˆ>ò!øù§ÕV­‚ÂÂ#áÅB¡2£ ›Ì¨rH6¼ìéÓ† 2gXy•@’åææîÚ¹+))éÁ‡ägáB^hÔ¨‘111k×®å{/›››±+£Zµ¤A÷âZ!::z̘1°zÕ*&&‚’°œ‰•qïÓ§7,X°¼e\àð¡ÃpÓM7«°²è¨¨!C‡š›*ZI¹a, çw‹E³âÛS±ý]šOTȬPÜç× A=Õã@*ïÊDEuïÑæÏ[¨ìE{1ižš6iÒ¯ŸÍ›7óÍ·ri¤™¼j“¶!"êÿÛtÀó¼W^UXXøúäWùÞ~^^Þä7^€Ž¯UÅ"‘È 7^suÇöô3›ûöí=|øP||¼Ø\•j¢gOÇuPdÖG€¸ù€˜èèûßc8yòäî]{ªT­òÀ°û¸,x^èááC£c¢×¯ßè°<Áµeýº„Ü^W€ïp2÷äIIUîºWØ©èèè‘> |‹µ¸d2>” …-ûì«• Óê¤Iƒ´´Ô5käååçåçÓ*ê:(¡¸™R¸Jÿ±ýû$×®U£Fu~bö@Ö”ÔÚµjÕÜ·/K~FŒåæäddìIªVõžAwr¹‹ŽŽýØX½jg&'Ï2Œ‚X7ð9Q¯½özNNNÝÛ_Ù¾$ºšÃC‡@Ó&Mx «•”~»÷>áTDGG?6æ1 ú ögí¯’\£fÍÌ}™•µ?55%¹V-ù™b€P(ôÕŠeßÿðMºÚת[§NÍZ5óòò´qïƒþü¬¶];wUMJzð¡aŠ-G³vÝ:“-•Ò¡æ ¥û­ò6l4múÛC† ž3w¶y‘¤æaðùç_@Ïž=`ÑÂÅR-Zk;ª¢ã§‡«ôƒ8 öÀõèÞ~úñg'Yœþ•z âœÓ YÉï`3ú^.J*VÕL¿Ÿ›Wk#10‘BÌ÷4Ý3tËC÷Õ–æ×EÓzš…(Ö”N'·cÄ”¶'°Lo†½ÊI 4gðJk‹ÈÑ@óåã?½Ã‡"ÐX·*ûðɰ+Ðê(q\ž1€L×Õñx6š:Ö­| 9ôrKRÚ5÷`y¢‡Œ1Ήè»U<1I}:W†k0¢er2Í\úVxX·U½ôÂË3fNtôÈn9zôXZZjå„Ê'ŽŸxgÚ t °sÌù¸+­ED å•pñ#v«~\}þѼþ·öiÖ¼i~~ääœ||ôøRˆ†ƒ{ñùWgÏ}çégŸ¼åÖ>GŽ­Q£z£ËæÏ›2yø’“*vúÔézõë.XòÉÁ‡ê\Z§Zµ¤‚‹³f¼§¨¹dñ²w¸ºã•ñáo·ÄÆÇ¶mÛú§¨¦8L}súÄŸ=fD¯>Ý;Ñ aý5«~ÕʧLžšÞ¢iz‹fŸÍÿçLzõÍË›4Óž¾øük³çN›ðìýoí­0=>ïÍÉÓœÝÜùÆæéM3÷e­]³Ö$ƒ¦Ò‘`á¼%wß{G¿[ú,Z°lÏž=%”V3WòL»Zõã=ôyyp"÷äã£Ç[ÍüüÓêóçE±¼¼<ÈÉ=9æÑ'h™3žI¨œ°ìËy™™Yii©5jÖ(,,š>í]EÜ¢¢‚Ï>ùüŽ»nŸ·àãÛwž9{¶|¹ò.¿¬L™Ð¬wçDô¾“Ø:kܸÑ%*@½z—V©š˜ÍEGm6òÇvíÚV«ž´nÝú#GŽ˜Z@ïÞ=_–«rmIO“^›Ü²E‹–-[,\$îúzååW›4i B30¨\ûùŸ£Õ*U®üÁGsyNvöÑqcÇQ‚ÿøãOçÏŸ¿uÀ­Í›7ÏËÏ'rsG|ThOµ»˜„âž<éÍ–-[Üy×ÀN®=’]¿Þ¥*VܳgïG}lU8ýÇ©z ê-[¾xÿýu/½´Fõê/^|gÚ;ÈOËF™ X€òåËW¬X!ÿh^DÚdDÄNœ8{ö¬‡z¨oß~‡J®œ””tîܹW_} å¢cðüóÏÏš=kôèÑ 8š}4­N„„ÊÇ{êTâD‰¿Ìb@£"b•*U:t¸òôéÓ?|ÿƒT¤¶æ_°`Á=÷Þsíµ×,\¸pý†qq±W\Ñþûï¿3ÇS·ÌrDD#<–W\m))i/¾ð<­Z¹råýë_<çÈÑì±cÆŠêŠyˆ:“AŒ¢ÏÚµS^xQ¶ Zûè#Nô#ÙÙcÇŒ%¶~úñ§óçÏ0 ½y:—¬99£F>*æÛò:·N×_W©RÅM;x耜‹Ãêˆòô„‡ÞSO?…ˆ“^lò… CBbb‡íùÁ",ŽåÓƒÆ{LÖgðÇ'o»½?Ï©Y£æk¯½ñWÚƒÇ{|ý†usç¾·rå×5kÖÚ½;ãôéSõë7¸û®{U™2eÊÜvÛï¿ÿ^ž]7nR¾ü%çΞݶý÷¢¢¢¡CÔÁÉŒ%$&´ïÐöÏÓþô£XôAŸÏ³xѲ;ïpuÇ+?÷Á¦[ââcÛØæC¤—^œôÎŒ7Ô³w÷Ç$'׬RµÊùsçß|}ª¿ðÏ?­9>¯ß-}š6#öô1¡T“““Ÿ8^‚„P©R¥÷Þ_áÎÎ>6~ÜÓü÷+/Nšöî”á#ìwKïcÙÇSÓR*'T:q"gÆ;³,F~ñÙüÛï¸õ³yìØ¾ëì¹såË–»ìò†eÊ„fÏ|ŸÇÄò’ ‰ í¯lûçé?úaµšg™ñ®23÷_ÃuEEáÃÙG!sÿþ”””˜˜èÌ}û"ücðÒó/ϘõΨG‡ßzk?êÕL›6ƒúy6¤/—Û'Ò¹sgŸŸøÂoN~æé =zô¾p!¿fÒ[óø`ˆ‰D23÷­[¿¾MëÖ_¯\qX~aÛïÛ^zéeþû…^œ9ëÝÑ£0àÖ£ÙÇÒê¤IýfØú}Y™7ÞpCQQÑáÇcYYûSSScbb2³2%õXQQá§Ÿ|vç]w,\8oûöígΞ-_¶üå•)SæÝ3ÉõN,1QªÁ~ Âþ9ñ…Ù³ß}ð¡a}ûö9tøpíäZU“’Î;7éÕ×Ax°˜œœò ÿä¤Túí£ñë?àHvöØÇ¤F` ’kÕäåË—¯X±ây¹Rœ'öìÙ³eóÖfÍ›8ppóæÍ4t–$tü²`_fæºuëÛ´iýõʯøz%lÛ¶í¥—^aDr±K—Î-Z¦ïÛ»oÍjcMÄ5¡ÑjÚ¾n” ~º?SÏŸ”‰brf¤s@‹0*ˆÆÍ1'AYu,1WÝËîlH¾Wâ¯GOÎ=¬ÎÐׄÞüzÂ6XËP¤lªÒwÚ\ªqoÌ[Žóu @Ða3iëŸÏêÄÁBcåÈQœŠIŒ”±2¤–¥éX¢ï—‚ßu®8ИÇÊé._‘P¯ÔE¸r“˜¼ê”(^~ÿ‹¸ùК5;ÑwаRlܸéŽÛîz`èý­ZµlžÞ,7çäŸÍŸ6mznN®d[÷.)ÊtÀõ …ý—§ãÇO<4lÔ££©ß ÿÚÍÑ£ÇlêYÏ”sObÆÎŒîæñ‘o½3iÔð±»vì/|~ÐjÕ"ÇOœxhØ££F?Ü `èyÍ%€2eBãŸ|z̘‘W]}e|Ù²¿mÚüÆä·¶oßN˼úò¤ŒŒÝýoí—–šRþ’ò…YYY æ/þ·ø>°ç¯kÖnÚø[£Ë}ýÕÊcG!:¿Ð%vœúŽà@ÅŠ•®¹¦ãÙ³gÉn•RòÖ Ô,'çxŸ>ýúßÒ¯~ýžþsÅŠÙÙGÇ>>† ËÆÇ§§§Ó.¢¢Ê¨œJ+YöëÄñãCúØØÇ6hÀ¿/r4;›ƒÎœÖHJéCVfÖm·Þùð#ÃÚµk“žž~âøñE‹–NŸ63O\ùct:æÑ±{e‡ö111ëÖ­ŸŸúöÔœœ¶e±\W¥¥€€Ý{t…BK–.-,¼¨æÌäC< N:Õ¿ß-ÃG<Ò¶mÛ¾}û?vâ‹/>Ÿ1}Æm·Ý&h«ˆ²‹¨k ÷m l||ºþN/@TT”Ê©”UÙ0d’o&Qg)ÞÁ!Qé-$‡Tª¤ cpüø±:†pHv¶Ð!*hûöíó,`5»`ˆ^™P±ÍÊÞ~Ç€Ë5üö›o7oÞ¬ô ·QüwžÝB¡ÐÒ¥Ë /ò?$nAñÖÛJyçÏoÚ´‘檜S§N¹*—êÖ½tÞ‹Þœ2yÍšU›6mHJªÖ»wŸ‡oÞ‰ðĸñ 6üä“geež9s&::ºNºýúö¿óÎ{h±n=º„B¡e˾.,,ð»ÕÓÓ§Oß1àþa nݦEÏÞÝNÏY0oÑì™ôçæƒXË­›·Þ5ðþûßÓ²M‹fÍ›œ>}úËå_Ϙ6ûð!ûÛo àĉ5ê±Gê×whËøø8þun•¢¢Ê¨ñ‰N `Ó¦Íw¼ÿþ!÷¶l™Þ,½Inîó>_4cúìܜܿJ[0é•)»3ööíß+55¥ü%å ÷gí_¸`éÇÿúܤ[çP(´lي‹ÊS´#²2÷—/_.#c‹„`Ö~þñ}ûöË56l8à®!÷jÕ‚x53Ì0Z×”Öo™£üÊ•+¿ùæÛë¯ï4bÄ#/¿üjöÈ4þ#V_FäDÁ¨Ž~ìÑ«®ê $WŽ#âÆo0pȰ!­ZµJoÑ<''÷óϾ˜:uª œµ/«|Ÿò»2øQùýû÷s¾Ý»G]qŒðòK¯dìʸåÖþ©ii—\R¾   +3kÞü}ø/ÚZž=B¡ÐÒ¥ËÄgä êhvÞüÛo·ÞzûС´iÓ&=½ù©S§–,]6ííwØ/T4ƒ²ñqJÿðEm–¨°jõn–.^Æí‚5K‘³"غuK³æM-2?ü^BR31Ûü)GAB{±à¢ ‡E@`Œ]ß©Ó?'>‡Ÿyö9Ý’¦ ó8Ý, ‰Ë3w¾XÍ4ê²öU¯VméŠù;¶í¼kà} 5Åš§7»oð=W\Ù.\~ú©çV,ÿÚ–Sés>öøèÚ©Éœ\³Vr­W_œüé'ŸÛsZ^F~çÝ·…Ãá_~3cÚ¬#GŽØ€•BÈln *f>$C¡ÐÆÍ«Oæž¼öš›ŒD3·?¬Ÿj5”Ð3¹«ˆÄ¯2@+W®Ü?}[TTtÍÕ.\È7ûewÜ1pÜöÙçÏ>ó¬ 9kr!Õ½TÕkÔøzå—Û¶m¿mÀ@±’ELr ’Ÿ+œ‰(Aް&‘MB«1ã$%¾â Bã—¢ñk¥”6S¿#rÓán¢)½-ÛÖ·‹¹m°ªÄ‰¯k#z‹/ªS·NßÞ}wîÚ%÷D©`Ù Àa ˜ÒqzhQG GCAfŽ¥>iì$=ÏãûØàÒeKSÓR»véºÿ~ UëÖ*ªz° ŠK9¼À·¸<#‘zˆµª{bÔyаˆŒÒ]úQ[¼dAºuúõ¾egÆ.ô傱í; Åÿš”Þä ˜¿èã´:©·õ¿'#cw)+ú ýT¼‰ãÉT H„I†.ëëÏhÀÚ¤pjŒâYØ  ¯¶~;oáÇiuRô»kWFY¯7öðÀy£Ý 0µ !+èó$´}ÊYlóVá[’õCK¡Ù4÷iYj#˜UÅÕ©½îÊÔGfKJDÙ’%‹ëÔ­Ó·Oÿ]»v:{!õJÕjªa¸îAû‡¥IˆÞ7߬Hª–tã 7Í> Êh“îüí@9}j•ÒÓÓ‡ Ü¡C‡¢¢ð“OŒ_¾|¹c@q¡ræ[*K¦ D£ºÞpÑô Òføw„™uœÒ0A4ÇUÜöÞF¹ØwÈ®H`F_yõS(³ÅëÎ@‰YL}{;;´¦ŸUºi×j¬õ03G±@Ž”ÙÔ•"ï¨b×]RÚ1ãÂë’ખ‘ñ* I‡ûó5îŒç~ûh]*]fLöÚ M‰£ù¥\F&§©€@¦†ÁÁü.¤lËâÃ8`±ÃI ©.S 9Å ­¿ö[Óõµñ%g÷Ýÿ]Œ– 5{6nÑ*ö8Ĭ2¾±ð7u͵¯¸²Ýλ^~þµíÛwøB¯$6kÞ¸a£†þå— lÿƤ)Û·ïùèÃ]ºÝ´úç5tB P,iü³4³™_ö]:ܲ=+b_”‘O684WŒò%wAXç.7ÇÄD/_ºÜ?›&!-0!iÖa`|ÅÿejÕª%ìßD˜‘E‡ Ø›Èɇ³Ó:¸xSuíö˜åùù—Ô'Zù+Dä•ê¤=atDú0®àVêÎç0m¥Ê[ÎSTEÀ¦ÍšÕ©['cWÆ®Œ]."he*þ0ÆÄ¯dKS"gD|!ʈ-ÆO{Œ…¥p­-ò¨–”kñ¼ÐƒÃ†¦¦¥fef©Ù¬®K?â#ný'¾A`×@ bDìº2=ü„ˆ@Ïã]TaÐzðÌÙ´YÓ:uëddìÞ•±KÐHâÿ·uéÿÌÔ¤i“´:©»3ö–~6k'ß`Ù¶Ë\Ç7Ë ¥P]­Ž®Ý1*é2†U0z±€'Ú,.õ6hÒ´1§Û®ŒÝj­JÎP;ýZu!W!9ÆÖŒbé_4Kÿ&%!?ýìyòquã1šÓ ¼ííKÓC Ô®¸ iS©wíò*Ukt­J´M2Ñõ™Ì¿šÚ¶m[­zµuëÖgggk•)='<³xJµ¥%:uêÔ¡C‡íÛwL|nâÖß·•X“;Y®6$N™·¸+Qþf øÑuÂŨgì¦ú<{« fæH—ÇrÒt¢F®´¬Gêòû*Ë^ÐW-0îêµÿb[E±C»gÁ›¤_f¶U,†‡ýóe 0Æw …¥uW æ(µZaÅ 8˻ƛ®—S/ù„l¹ P ©åZÕ,“ÉÒ2D+h$œƒÊ=b%ùÉu_ZsQ±š. #{?&Þ¶Ÿ+$Ì)¾VYôQÍ—A¼oxwF}’[Œ>,Fã¿3J^) i]SG8wõ‹‡Ç¶öÔe0ð–oìÄÇÆÅÕop)clÐ]Cÿ}›QÒ™b¶Ý¶m›‹…·ü¶ÕÕ«9̶.&Î[ñ!DEE_qeÛ£ÙG÷ìÞëÃÅž~Yø-ÃnÚÝnO^¡P™›WŸÌýãÚkn”’ƽÛÊ~)7jiU³íïÈ"B È)™^ÊÕËiŒüñ£k'a4Þ1°sç›8OÅÅÅ7hPŸ1vÇÀ»·nÙJa“ÒêóIµ…+…:¥ùâåpÛäøøÈcH‰æ˜ÐúÌ´(À ÉÔ­EQ§ÒUjËÛg¯ÔOÏó‘‹„#¤<ÕOZP;&WFÅ>2Ÿök[^¢\¹]ÑîŠ /üöÛo¦ÞsŠå'X½ø`B£šo¼3¬›þJ"OÞ¿YP‡mŠ/ÿIH‚n‚Ä †§o¨tÄ# ”3'ØÉ¼às3Œvè$¢8†,v;ÓØ4ÓO)t‡–ô<òç(?ŒU($d¹Ižu~;8ñá`­{“Í2òݧ 6¤³B>¨$k›È¨Ðá§Åå*¢Åqt¿Á˜R—Õ©wIÉRZT¤5@ Ó‚k3RèØ2ꃘ  »Ä†…æ"¥­_±.“¿ëàœàDý{ŸÂ-­PV?þ®m"jÖªÙ,]œh:wîüï[·MŸöž˜Í‚=ºY8k×®ƒb´ MœùKIÙ`aa}…‰öŒáfÚ:¸{/î†7 ¢èCþËÌœ’Э ÒTþàcê=¹ô=¯KuqÈ| ”†¨ÉÉÉêpѹsç·lÙ2õíé[·lÑ€«¿È?Ýf¶ìè§t\ÊÐ%š†B²²Å™O>Š7´˜<\ÊqQcƒÈƒSXDO­úÖŽÖz-XŒQ!À…LÚÖˆùТ/ÅE+w¢ ålÔ§å¦-Šmi1ư¼Á«UKjÚ¬)‡êÔ©Ó+V¬xçé»wï¶`V8«Ã¶¦­ Ò ™\ÃAôùŠ}¹ÌP¬cHÇ9ëó’¨Ó@M(~û¡SÞþw§R’Š·(_ª”ÁÐü ¶Œü­ä—}ÊcRgÊE1ÉLŠ Uª&ÈhyÆÒoá6E ¦Ãû öJõªÀ³Ü0‚à1$þ>€§¤ŸH'¯\ºW·àö1Uò¼Ÿòu(…špá8íþîÖhñüFßÊÍfе}¾ÆÄØð#-=¯J¨qñe¯¿¡Sþ… _½’¼DB¨ФüOÌ õeÑüå—_Ô´ë2ìҸݾZ}úËj?X»-&~²¶ŽÃGSÓHRƒÛAF«•:ñ1rêcH§]1+ƒž› ªã@!zÅi?•AÆéØQͶ·@_9hüUƒŒ¤¬Ñ·DIŽùžÒ—‘7h4½"Ÿa´vhÍ*¦¶SD6“=E*Æå Ë(ñiÊ=E½ÅjWóaK×™´$ñc\¦7V ,%·£ z,™½9_0¦ŽÅR[„,Æä,UáHî4ödç†ÿ¢„ß8ÆÈP¶”ü d€¡4ÒE£Ð3¹ºÈ‡€¹ÐíZ#a¹gTŠ\¤Cß#Q?AÕ|9ÌýÒ†|#h–0UØ,¡x P5Xn ýéàP¿ÊÏÐ;”ü_lÙ§–ÂWX„ƒ&>±„žÇù8êco70icxs\£ñmdi ±T_µÿ_“ŠWÖŠ©L `ÇŽIMˆé² JöÝ ù šû…Òÿ¶Å4y(Pa횈DˆU(˜ä%v \0´9ÉÝ‹6¦jñ)8†kÇŒø@ª(í˜ÙR'‹<@‰H”>£Ëå–Šq5RB ‡Ã@xÂÔX7Avü¯%>¹DÐZ…)aA7?(ˆH¼¬bB©×•…aþÜÿ Þ2Ô;Üȿމäêt¨p÷Ðð±ŽD"Â!枟dAð»SZ€ÑÏw>'ŠÉжnÄZYí*[o{Žþ‰¤B5Àd$Ì¢ø¤!,WœI0f„³ÌK¡|pßQœÔ¶WŽU4™B‹²rÅÂ8áÚ•«Âò,‘šúò5cA¤®4LJ,ÇÛJD­ü¨i§Å;ú_sk”YùÂY¸‰M>&|BDq§±(¢`WÔ°4ž/rZRQZK$¨˜‘º(·ŒÕ–,J£O—xèŒ×ÉhŠÞ„èB0\k#Wc <Å p¦˜P›äèEÎ,ìt'BPÅk8¨¯È´Q0¡6¸ˆ,Bòœ “Ú„ûš´E’*HAÌÏ‚ÜAvãH’€ÊÞ:ÑR„5ã»$DZû#ºl'1Û²žIs¹×fÓº1Ç(SÆPÚ€Ø=Þ¡R |A ÍF˜6±\«hŸKwêÐŒ²YF[Rψ‚Ì@YN.˾©¼š­¡*§y•²%%ƒ0`!þ k1ÄP¬pÉ*†R ?Ð¥ImNÌ4^r¯„l‘1’3kÇ]ÖKÂ*”÷ëÒé(qL&2TŒ2Zd<”Ò FÊš8b$‡SÈ;Z$§k£l™0¹œJ†CïYûb÷õ†…16T€§dPîaÝ$V;´ÊÕk18(6G¾Es5†óËGSD¨qÇeôÁZOP=»RˆzœÏmQoÙþßH\SØÚ˜øÔuQ WM2Zµ †ñ±vY¬ ™Ø€if4Àj¹ô¥ £F ÌŸ/&)õ(zâVß7§¤fMõBW€–PÜΉ‹²ªÔWH[4{aÀ"`'?~èËämíæ.%‚ÆV•¤~*úGDOîqcË»ÂH$l ¾nÌÕS[á‚ß™¨ö[x¢è%Ö’ð$¬ƒEñ-UÇeWŒ´ç†Bb¤Wmuæ˜NË9ʨòI.åÒ˜Áà¯R%”­hŽ‘«è²i‹ÇMši’h¨ËÑ ¹b öÚL|¬ªM¡°sþ²"¡m»ˆšÒD§ÖÂZÿeÚo$À0ŽÌÀYQÛGqŸd¨®ðfÉÜ3äÅõx–1j™W¨‡Ôò/˜ñÊü ?Âëj×ìÄ¿ìL Г;†|šß$°pAAêBõ¤#KHo@ÀÃç”åbåÁhÝêÉ·L.«0¡Pü$&K¹'ÚÝ’=‹É1RÈÂÎÖ{D:4Rè+oPͲ(”¥z_ÿ%kƒb;Ô~1…h²40©ÂüV‡ir¹øÌgA7rJ…€S¬¬"¤áX$èTY‘ÒE +7Ýg ´Ê·ý1"´x.mHº{\Üé¯ Ò~ñ´S¤\…f–߆:©b1 ¯Ä´é¦í•9Üí +›|L9rO ÇÅÚü1;°qRî§9á~út?A¬ÚFì% ßüÓR¯æ/fT²T“áUXüCl’áP]¡©eAì÷üÌj®%)”ʵAs¤€8Ù¥œê E£û2ý@ª14Û§|¢n`,|Ä?ò#…ìÿÂ5NÍš´ÖÔDêwhÂlâ{O¸ÚdR¬ö³Š ª&ÍÚöêN)õ'Ýûg.Öµ“Û΋ßÌ8ž šuŒ?ÌÌ&¿Eˆ™å¸\:×@ÍÁ“KNä@¡3È̕Ԉú¥wmüpå;{)1èYP8°§¿kn‹IŒø{zu†ô¦üK× kÐü¯Œ]A]¦D`Tafÿòµâ2-ÁP–Ê ”²¦æ™F%²œâ2³€.”’$ÔwÀi:½ÔÔ2`>ÏG¨|ÊhhRKøÁz@‰…p’í oÌœ¿ qB³© ¢3©‹3­´m°í§LeÀŸÄ(ZЂɲ¸pV„)¡ÆU¶ ŽöÁ©´02˜ÓÐ@L]˜èŸ‚drU6Ê ñÅèj’>š^YRËY†Sh?YíåiU©‘þ+(ÒÛ×+ž%„4¸’È€f>Cd8QCÏÂÁOUtdëÖ%°ÔæPƒþÖKÇÔÛ0À°ˆ9hBûqUæô]Ÿ"¥¯»Cÿ›ØÔR!fŸš J(ìF[†‹d€¥Ü e0€š Œn1J¶âŒýr­W8ˆI—Ä([¢êžh=o2ÖƒJpHˆªB>RòRq 0øìåv‡úåϳGTW ô;7À×øi-“-½XÁÈ8¸dȲ‘ÅŽ®‰±?LÐa†0r:ÕŒÓ>†a7;tODÑŽ­´%¤ù™Kto}ô#Ïj]]#%õ¾#JC7Böf•™AÊDTÿà>ÂS 3ú¿$!½é„¡„ PtUÆa̸Ø(ä›ÙÙ¦wjy| dNßÌWz“’ô¢ÇR«Ps\%÷jŠ8¬" BÕ‡‰”$0#¹&ó1•iX!»I[Ws'Éo ‹¹ ñÀ€ßf¡Rˆ@Iâ®› ÚšT-qõNœ8zŒâÔ·í0}$Ëu2zæÎR'Üdô Ì D?ª¶ÿf¾{ù¤˜DŽx’ÍcÑ‚“ÆŠ»‚€#€üÕ¤'D†Ìe*CÌÕ“-}`¬XrÑ”a{’n†ËiBå람W’¤ÆØJD¬ua;‘y½Ã ”¢ÙÊÝ8˜óBŸ2tùT>}àÍ2þ*¦ïfD.q¿³¥R™T¬HÌ(éPÎqæÒ4Œ¨?5E}ª%™ "¿›Iʈó÷|ÏÄSËP$²KÀ-ÿT¾(é…ÊDX$˜§Î™]ŠàÊE®ŽøÒ”£ÏÓÕ•Hù°6;4ÁŠ•Ãsõ帒ßËr©7wRQAg®eRèÚŸÉ6.Ÿ]Ç6Z\ sP¢e}4R´¥Š;:Z 壚$ÑD çjŸh'żTLJÕŽÝ€­€Ñúõw¨@¥¦„ë.´YÓ­X Š\gJbJs =YS©Pâã*.äW¹@ejH"‰¡C¹¹J 1VS´Ž<ˆF"BG‰8YÆ–+¢aüº“qˆ{MDaîK<'7eÛÒ@ål&-H4²s%ƒÖR¾?¢'wpK‰0'Ù–el =9„J{“¡õ¡­m™âR~jP5²ò©q¶œ7¦Ô:G£èfÚ˜ô¡”}Pš]ø~æ‡OÙJh4aŠ#üoK ¢óId>ÅàNãCU õ-@DYŽHà;[?ø­‡)¸Æ*…‚Ž1……ªF.í;­¥2 .K1ñÉj‹Ù…)T¦s8ÁuI}æüI¡G±i®•*‰y íùZõ›b-¸R `Çð¥*…úä­Ñ5@†ËkÜv(ö° ¨"ÄâØØ•‹H$"UF"àEüEš hsŒ»EówÜE ±&—ª¤—ˆî6€‘oúNÁ"¸ƒÏ·u`’ô[ÉD2€í\™´74Š!+om éɱKmø¢4ÿsIÿä윺§=Gl3 ` µZúäE Ÿ^C£”MNctLëÄ5…ap%¨XªŽÓdQ…“Ã;¥ ̦‚¯u} ‰x'è´Z‘’p3 ¸#{ÂVeiáoÔ°tœ ¹ÔÑYB}y !×¼Lÿ¥]Фö5¥·?Te=eŠYÈu$s—Ä*ÊwÂÉæ xÜ-3ö´Ul«í,ŽrÓØGt©;0g&ÅŒd€k$eé3S4öGÇ+†QR‰­ ‹4í`\çhoT;<<'Eø_B=æ&°ÀžkXõ´ ¾CõèªæÓeJI–tÀBßKHÝzn’‘âÏóH·rJ¨ª*‡ÃøÏh GÚPèáyɔᾠÒ.„“ãR[¢ |I±º/Ý é©”‰]5±¤‹ºj‚jŽ´ÃF„ˆXú ‘‰ë"mä¾’ü'¢–?'>ÿÜÖm¿mÙ¶ië¶M[·ýöÔÓãe ¤‚IÉ™ˆ`&N|fë¶ [·mغmýÖmëŸzú Óèø˜Ò/Œ’Û-²{“Cnƒ`Ô|ÖÔ ¡«Ò¡µAë‡áŠ3øðã÷Öo^³~Ëš [ÖlØòË-ú—¦û«:^õÆ[¯]×éÚb& ëB²Xsd!¤Ä¡^í¦Àê±,uO%—a. ¨ÎX³fM¶l[÷éç:Û}öŸ¶nÛп_‰j[Õ’¡sN‰ƒ¢¦›C¤•äÛZÅ߇ӓ„çJ=Ô– ’¤L4êȰ,R,øòÚ¿Ñ2$•‹V2ò¶U[RVÚ ª‰ˆÇ D3“|bd1+ô²¶jkB‚ÉCO[J/bq¹u*_®üÆM6lZ_¶l9ÐCB{Ò¢_2b e}㢗fÜnh ldWÑYªÕ‚?Ø+äÆÊÅ—Û°qÝúMëÊ–-÷_©@ÿÿ%&7ÇÅ“ø×a¹”0é@¦ghR9¨‘ž\Dd Í´,‚‡ºž—2¸ÃÚY¦s—’©  T‹vÁ¤ubÚC2i¸ÍÙ,]µ³pð¡"jèØi‡€éº ܵ üNaé’)AK(J?oÔ†èÞ}r6…hk½€iü7(àë ögÒr(hÝ 3‘± b{uU’ª}ò²M8²ƒ}wa¹ŽÍä³9–Å¢pºÇÀ`/æ‹8v"É`;­bÆ-PQçÚ–Ú1D¥¦«iå¡<[­¸@*G„C#5üݘ°ªReT!ad)édë SzªDémémv¢ÄQ^mFJP“Œ„„—'Ã0¸‡JoÙgTh²|x+ª²Ü<Œ°ßêD~£Úš¡zTl‡j”·±¡'xZ;ú_gaŒm5Ñ, €¹Y¡Kn;vî<õÇ)Ø·gŸIJíÄ¡î‰lhÍg²µ]§þ8 ™{2%Á(„P"ï}igª]‹ôîdÚ8{ KmRÄ:™DЭÙKö sÂ/ó)%`ËoÛNú’“kÖJ®¥šGÉMV£+Vœðì“W_Ó16ïó…Žn-v(¬6ÀÌ7N®‡‡“›ý¶[7\z#n=÷èÕ -X*Z"ú!..þƯ¿páâ—_~-û1’A³ôf÷ºs÷î½ï¼=#b¹nf\p;¥6øj9\q±É¢RÌùŒU6ýEKD0„)¡Wm7r¡äÜš§§t÷î={§N™¦[µ†Ò(¿Ïg^-”iáJ[jCÏc,B-!PÇÌޤ•!#o©ºiÞ¼ù}÷Ú½{ÏÛSÞ– #1/VT`Ó¶}´PÔf]ºÞ»hÑâóçÏiBKâ(LÐ-ë?Ax … Z‘¢L¥\R’ýʺœµäÂ7êöämÃÁ-I®`ŒuîrSllÌâEKÎç/%(þôÛo›fΚѠ~ƒáÃG•j}ã¿9É}yE±nâ5ÈûØ1¢ãî,ŸRW7ÚòÞ}þyÃtsH£·8JSNѾëªc%‘棛ºifäé>”~0e@TeôµnÀ0™FÚŠKEJ°bRø±  ´ 4 Œ¹¿ÂЦÕ×™2lå/4¥Qù+K4 £KÐ+ #İ?z®‰ –iŒŽ%û©XéNP!†AEÄòöK¯ÀŠIZ¬®åoâr‹©‰\=Q«è®*[wcKYÜeÊj–œ2ÆËç•ëf“Òæ‹jÒš'Q)¨Ì•í²CÌøã+ê0Þ„tH™®CÝ¥t]—Ÿˆ@u•q$]ùb¥˜)ÐWJ…+üÑ\ídt“”'høpäŠVC/³Ó\a1¡—Œh$ú—v°î²î² I95ƒáˆôíhd9ÔmÛµ»ãŽ;›6mZ¡B…œœœŸWýU‚\h ÊÍA®œMS¿…¢–Ø¥y#r½áµW^çovÿࡃ̬ßX¾|ù©ÓßhpYýï¾ùá×ß:r8[a³fÃGëzSoÛ013­‡Së‘ê~¢ZãbLþ™QT/†œ'›pX1a,e™@³àðËXLLìM7__XX´|ù×bGJÜpãueËÆ/_þÕùsçÀ‘>´uë–×\{õʯ¿Ý½{íΰ>íï s± ÷µHV©¸Ãcª8²S¨@Ä×<™è &&vݦUG³Þ|cá}iF¤b¯WïÞ°`>YQ2yŸgTªXiõšU{÷îíÑ£'á C´ uKS-ËëD÷ûØÌ³ËÄJí%Ó²Óä\t`²‰ €½z÷€ •Êà H¯O~mݺ_¿ývåÍ7wiРáßoè¿&1Ho‘þþ³ çœÈýeͯ³gÎ=|䈰- ºtëü‹ÏÒj ç/yæé‰®€Ï`l¥ôb¢cÖløþèÑcÝnîãG–E3©#”(u+ƒ®ÝožøÂ¶¥Ï>ýû õÅø(©íšI”:•ª&bÈ Eßf’þ·Ô§"f›1ˆ‰ŠÙ¸yýÑì£7Üp³ÏñaîT±FŸ Nw“l<þ"ƒ0ýéÓ]B‡×!f9ÄÑP>û#¼ ¿e®Òq+ÁÔn£²(ÖåÄÆib™.¢˜þŒ$|@ÜðüÛÈ…¥í&æ™SK‚¦¡bÎ_())yøàå)L À©M Ø7ZÛ´iýêÕ«[7oÉ3÷UÞˆ-Ç]j…³QÓƒI¸Qñàд$Dÿ5(Sr„rc&0™Ð `‹·qoö*íöÍÛ"ØÿZ>ÿ¼‡¥e•Ö­Û4lØðƒð·èt¨¤¸äÙ_=ûë¯Wiévµìú è{üÔ·nn-•°àu^Þ½»÷Éßóç)*4Óð£Ô~ ×1TàL1Q¯ÅB4ÌG;¨Zäå½¾w÷ùKyþ·RQrÜ&ȧ>cº¨YÂ’âµ·‚% g³‰3/Š(I—±Ô'†ž@qV¨¡zÿ­ 80d÷Ζ-[A6÷´Ý ×ÞК¤ú˜+2í7h:5aœ‹NÃq •RåL QÄõ‹|ô\Õ€)Êõíò¸MghA™¥”뉼evGé= Ååø¨¹ Á"I|DâJU›LÖÍg÷°Ø6¥¼‰ÞGýB¼»4}ÀéÊ1V)G}öéçS§L%—ÓÓÓŸ§ž+µT&„\ƒKž+™g¡“øÊRE0ÉHžÑhH)©B&œi$;õ!Xú1…û¯ 6A飀[9‘7[ñ¡J&תÏÇ’)|a‰#£jºüKjݺÕç½>}þWÊ×[vÊíª¾g†Ø>¹jsÈZaë°éEi¢¯=(aY8AŸ@õí`úâ‘ @PPˆ9-WEP¿~=OOŒÌ¬ë7nò«¬ÕÌï¾=öÝ·Ç* ÕÓWLGù¥¿Ø¸ÚJ“eü|ƒ=޳r€Ù<Pjòa`ß°¦8a@}÷Ýñï¾;ŽÙì’Xˆé—·0GQ1\½rõê•«äJ÷nÝBvï4Ñi €ÆØh¤ùc¹©{D8VS K¹t,ËâÑ£ß~{ô;j؇‚”‘_QB'2âû¦hÈ;™ŒÃ’˜a,qH`ˆ•Ò¹Ðø}axŸ*¡h¹4J…כϒ0 „4®aÀÔß” ÿK5r̨‘cþO üß-é’’û"¢cfn1gîÌá#†¬Û°:°w¢V\½~õêuR¿[·®;B¶ˆ „ï1eãfL¦Å?JAÑßsOü*—kW¯_£¸uý¤ËöM"“%Ú#¾*C(žR§*†¡Ê} ÿ#P GÊi<šà£ëRÇTØi4BSebA‰Ù¢Ã °Š IDATvQ„oM°˜t±ç•åbãÇ€I“‚oÞ¸‰Œ˜|Hèš¶>ðèýóÏ?ðOÉ?`­gUT5,FÅ^\`" ¬zN™]§$‘ ¢—ôOl1ä°@¨Î`b£²jE³u¤î;¥ Y‘>Ò+gÐBÇÄÈ]ÿ€pèÀ7lXA$“Jy¹|³ÞiIŽˆ‡*¬(ŘCÝun[øp¸(*H>êEè¡t kˆg ‚X6‹íÚ{·ËÍɽrùšƒú „NÇQ¾+Ã0BZ"IQàk´L‘ n墅ÔÜs&h ¹ 4“$Ò!¢©×r)N8 :„téh&‹ØgfB:ÈŒu:ÒÑ€ñBšq«°“”d¤›•*é+Wª¤¯T‰uŸUaëÜ´X\^sHª¤½ãH.ÊÉ´†í'S&pÁÔXQ|t:}``Œq\l¼$§¢ÓQŒý¿c©<—ÓaåLÒ`FR6#÷oÜ4>C-ø\ÐQ‡%J(_ ÀÚ)Mï0‚ÄÇþwÝýÿLÑéè¶1~ÿþŸM¶üùç³F:·tÎnÙɾAb,P¬™$Åh ˜9ûe§hZ—µ8s;"x;ÆaÁÂK¡‚–DcSÚ1{˜7ˆéä’ʪ<–Ù­«QgX¸Vâ‚YÂê*¶Š\²µ³5 ·nÞ&Í%œNˆKNþ•ßÎÇæ®[»GZw°Ò1SQЏBkÍ5€l€½‡ÌêÑ©U$˜$MÓS«v-xùâ%V^ÇU”„8'‚ÉlÅÙçòHS.MÙ"[])6Ó!°0 cl4Ò…1E¥G&±R»íø…ykjRH-‘„\Ù¨1V®Š®þcv^ }Ek¯ G&$–c;š“ ¹™ Wìq$Ã5h‚$rŠ >ñªœ*4*šWcÀã©IdˆV\Ø -s|bt,ìsDÿŪ ¼ËÔ–ýeÓôÊ8)‹©Œ!A!²  bBêäƒL§*Sl”A‘5L'7´tˆËƒN§W|•ÜÄ„†åí -[’¡{CKKKp~~þ¡C‡W¯Y žmÛÒár¬ca±»Úð ¤ææL¼*ʇ<ã/ºRJ}AÔÈÞ'EEEb$Åh #Åü^Š1Àç=?8qLcÇFùùoâÏ~sä8ÈHugçæ“¦Œóôô°²¶ÊË{}ù·«a¡‘¹9¹Àv#Çš4m29xœg;5«ç¿Î¿qýö¾°©/SUVÇÛ»ý¸‰£š4u²±©YXXôòEêÉèØøØÌHd¹ ؼm}÷O»N4ë}»>þ665ÓÓ3bNÄ=òjø£½wûqF95u²±©YTXôòeêÉèØÓ± ¼ò˜‚à5$&Mž ÒíØ±è˜S1Â`Ú¶sÛçŸ}:aü$oïö}ûöµ±µIOK‹>~âð¡ÃÀ|´>>'OhÚ´©­­MaaÑ‹¿_;{2F=¥G¡wîÒ©V­Z×M2aâØ7®mÙ¼míºÕee¥K—¬¨Zµêê5+?|ø0eÊôѣƲšÃ†ºs‡OgÕ©cÿÛ¯WA.ïß¿oݦEݺõ¢]·nõí;·JKË<<<æÍ]àæÖŠUËÏÏ÷éàéèètî‡ ìbqq±G[·ºuë]ºø»óêÕ+ûÂ÷þùçÓ¼¼íÚ¸ï5t|JÊßänrâÓ¢Â"°··¯c_ûU꫼¼×¬åÒ²²S­¬´ŒX\ve˶ ù¯óODÇ4kÚÄï“Îa‘»&Œ™òèÑcVÁ×ÏwGÈfV*\S±À»ƒ—GÛ6Ð×?todFF¦@ M›€ûö€¸ØÊBAí}Ú;Ø×¹}ënjjªê1ò?Ù‰<ÖÆ½5€heysz½ÎÝ£Õºu›çÌ™µrÕ²ó?ý¼qæqÆ.\ôåÍ·ž>}ª ïí½'4D¯×§<ÿ;=#£o߀êTÈBØH •†7“/)êîç×%d÷V„PrÒÓĤd+«ª®®-¿Z½´Aýz»BBU“37¯®^£úõë·š»4÷öiyhïðÁcSRRX…§&=u<ˆƒ«›ëÖwnßÍ̼մY“#‡}úi÷!C†ÑhC͵vÔìÛ·ï†àÙ³g™™Yýú÷·–´^yØÏ¯ëž½»BI‰I‰I‰VVVn®®k×®nØ ÁÎ;iEÑ;pD$±À0v „Ü=ÜØÈ¬ÔjÛ¶m÷Eî53«œ‘žñüyŠ£cãƒûwñó6ttNN6h• þ}n¥ŒÉRû¸aãz¥§YBO‰ÿLÈâéé¹ÿ@„™™YFzúóçÏ ÔůË!Ôˆ  äîî¾ÿ@„……EFzú­[·6lÐç“OºŽ>úÙ³?™£òëÚuÏžJ·$+«ªn®nkÖ~Õ Aý;w©¬ðè1£mmlâãã­­­{ù÷œ¿`^ûM61òùuíº{ÏN„PRRrRRRUmͪ†õëï Ù¥òÊcDÖÇÄÄsÊRY6 wîÞY¾|Õ×[7-_±´GžË–®ŒŒ _¿~w{¶í;Àß½{G“ì¬Ì˜9­Aý#GŒ~’øø—_.ݽ3ôäɸ&MšVü”i¹ôËÅ©S'aŒ[´hÙ¢…뻢¢‡,YºðåËsæÌP†žØ¸­"ìPÏ Þ¾¥Ñ€²Q6uÐ,¦§Cí ½¼Ú·Û½w‡¹¹Ù‹¿_>ýóYÆ üý{töí4rø„—/_‚ ÉF#Þ°yµC]û'›8¶kïqpïè™±€–®-"î±´°¸sû~vÖ&M†ØíS¿QÃÇggç )Ê“m$-6Ä€ÁÅ¥ù±Âà‹P CÛ6>, è½vý*xö×_Y™9AýÕê mÛzì‹ÜExŠ£cヂ:ûu>tlN6Ñ,ŒÜÝÛ„Gîµ°0ÏHϸ}ëNƒ† úøwýÄoÔˆ±>û“áìç秈eb2ò5_5¨_?dç.Þ^ätM.ä˜1£mmmNÇŸ¶¶¶êåßëËóìêlÜÀVe£®]ý$‹TÕÊÍY¤e¤àØ÷Ç[µn5yjðÜÙsÕ±Æz½!0”üº ö-1ÑÊÊÊÍÍ•taç΂pâ“Ä‚B@`oïàà`Ÿúòen^VZªxçèã'Ú·oßÀ€~8Çûƒ! Oˆ5Q3›#H„\Ý\G´´°¸}ûNffV³¦M™ÁÏÉÍ!àâìrâÔqSF€Á`hÝÊÏ?·U+7¨Y³tñë|(ê«yøPÔ/!xzzFî§¶—˜Á~~]†žM$D#5 —À,±ÃJ‘œÑ@ⓤÂÂBp°¯kïP'õejn^.##/+›·nªQ½úõë7œ;tðv?rpÈÀ¡ÏSRèú pus;u€Ð-+ófSn¹¹9êØò#A%­Ã‚|UšQ^À®òi¸ÜœGùWŒ8¥è“„d#a¬zN-Öäm“B£‘Öç’†<š$H£!RL«É+ XÍ—ÄŠ+£ÊoU,å¡EŠ:¡-É@UúFqƘbÙ.1¬Aê«Åç •ÙT tÝ ^Pz/e¼š«8¨réíT 0ÝOE™ç4*Ì£óÏ&ˆ˜É 6ʲ²²ííë@Ï^=Ã÷í#hôêÕ‹ÔÍÌÌ SÊÒŽÕ,­—ˆ t¶Eì Íÿ1È™OEÅd½Ù¶ø]1,"ÿ`:‡N©.QNÄa€é3§À–Í;Ž9–––ë6¬4i/Z2Ï̬ò®¡"£0€¹™ùª5Kzù>uÚÄÕ«6°^/^:ÏÂÂ|Ïîˆýá‡0`ÒÍœ3mÌØás¿œ1=x6#ÉÀAA¡UËÖž>}–<êÜÂ94|G×n]öìÚ Œ (zª¦Ú 3rÆF|øÐ7ѧŽ:àèáï²²³H…þƒ‚B_-_›pú,iÀÙÅyoøN¿OºìÝMò7ªvjÒiKX˜[˜[˜çææ µ&ÑÃ5ªŸÿéRȶݰN§_½nyOÿÏGùÕre×ÍKW“ƒ©_O˜4æÈáïNžˆQù<„`å²ÕDl”jQߊŽQpSªpͬQ£úÑ#ßGTâ¡QcFÌš;}Ò”q³¾˜Ï`Ô!´jùÚÓñg -]\BÃw|¸Àzðøaâ›ü·5jVONú3''*,A[O÷úõëÝ¿ÿðï”¿Õ  0ôí'æºrK€1BëÖn&zjnfvãÎe~S.z½~äáÜÜÜ:µk-Z²àرè‡ Æ]{v´÷nŸœü”´;cÖ4½^¾oÿ®ÝÈÊÊjÛöÍ L³3QÊÀÁýBË—®ŽK ¹¸8‡Gìú¤»ßî]¡bÍ5ªÿôãÅ_ï"¬_»a…¿qF­X¶šÕY¿–`‚ÍÍ̯ßþ€¥E"UðÒå‹,-,æÌšwþüÏÆx欓ƒ'Θ1}åŠUš!’ªˆ~dæ¬Y°q㦨¨(`iYe㦠üYJˆÁC#„–.YOÄÌ¥E‹ÈýáÝ»wcóŒ<6—›%R‰­Y½ž€·07¿u÷º†€0àEK˜™UÙ±{äalff¾zÍŠ^½{LŸ>eåJN7æL«W¯Ñµk×¢¢wÎÿ,Ìö*6v欙°qãæ#QQ ê){7òeKÌÌÌvlß±673_³nuïÞþ3¾øbåÊUŒ¦Ë—/µ°° ÙŽ ¤›3wöøñc,š?yb°’)!ÿÜË«ÝÛ·oï?|(Ê$]§ „Ê:*•çÀ°`Ñ\ss³•ËׯÇ&a¬¹3ÆŒ>)xìò%_ÑF1ØØÔ¼òûÕ)“gàJúJËW. èë?yÊø/ç.a]X¼t¾¥…Åü9K~¾p‰\™>#xâä±S§MþjÕ:0‰ú-¦2tÈ @aQÑo¿^ÑŒšÉ>:@£×/fL€Í›¶=ò²°´”6yV”/^:Ï̬rÈŽ½"!ÿjí²^þ=¦M›¼jÕZÖÐ’e -,Ìwí ‹À€BsæÎ7~Ì— çNž8…AU„|ñò¸¸8rÅ¥…JÈÕ˜cÍ«œG Ó£¡C™.Š‹?5|ø°Cˆ.)6–7ºx÷îÝBBBÀØØ¸1cG÷øü³^={þpîœØÐét:*--czK\”‹K‹ý˜}C°h‘ÂÜ™³fO:xðð±cÇY¬Î†ÏŸÿ9?ÿ··WݺuÓÓ3ÈTY“fM›;7KJJ~úô)M"€f¬œ9ôOü`Åòe–³gͽpágÒάY3&Oú‚|€¡°¨ð×_¥¬›dQ Á®¹ss/¯vìž;ýáÌ9%Âǰtéb3³Ê;¶‡DFìjý{÷šþÅ4¥QÁ·èth˜šYC ³Tq1£=6q±‹/%}ž1ë‹ààI>~,Ze•ðžt¤FÍ?þt~Û–mlÔëô6­ëÝÛüÄñË–.g&pùŠ¥œn˜0î‹ÉÁ“f0ºi–òRS ˜`„V¢kuú M^Ò Êi¥ 3þ³\@Ȭ$”¥ôË Œt:Ìr+Ôi: ¶ª­Wç}¦Y3ÍgXž âÊOÄz@ê9B"$)Ñê†ÉE­Z•Ä›âÔ¹4Ÿ Ú‘«Z#"Ö#!‡Sˆ(ò ± ª _Ž#™&‹D2ƒŠ¤ñAZn+ è€~a‘¼…K- e[.\9rÌœ9³AÃ>ýÓ·S'ßÎI{ׯ]ß`)$EÈ4”‘f½D¼¦X¡ÂØš´_TD–ÓZáe°4ÑeüBØÞÁÞÞ¾vfföÑ#ß“Çþ))9õ]·î~¼[;ÛæÎM³²rDF½ÿðÏ×[BzùÞÑ·ÃÊÖÎÖÙ¥YVVÎþðCdE"ÆÆ=»ö 6°]»¶éˆíÃUªXÀÝ»zÉIÉݺôRõR;´ç¹Åÿpæ'’Í@FzÆo¿\ù¼×§®­]³.( m•ª–pïî…À?MNþÔ¯§D¯rÉÎ¥‰_Òéøš !Efææá¡‘DЌƲ‘Q=ý?oéê"×2y©õAÕ_¥°:Ü[(:~ìÛ¬Vô±S3çLkM&iQrçPV''%ÒYÅE;2³2ü{ösppxù2µ¬¬´|Ü•ÔâN%ú­ jeeÕ­[×ââp«:/9v$‘R\\ ïÞ½€âwÅ+Ç5jT',--ÝÜ\‹‹KÂBÃÉ•¢¢Â¢:tôámÒœcS6ÊØ#¨Zµ Ü»sŸu,9é©_ç $P^kssó}¡‘䯯ýQþþ=\ÝZ ŽpÎh4 æ“é*?"xÍš5ÝÜ\““Ÿž¿Às¶}¡û&Lçëë+…¿”!^Yríì322DE‘Ë%%ŇE}úé§rUDzzçö]æh“’’|;uÞ#¡ ¾+…ŠnìÝ.^•ïºTõíl휛eeeï8D Öû÷ÿlÙ²½Wï|;ÒjÔˆa@üûøW®\)6&öý‡@‡ììì3329BÚ.))9|èð§Ÿvöv Bvµìœ]œ33³"#öc0 ¥ï7oÚÒ»·¿¯o'ÖY;;;—.Y™YáaáÊ*0ŒCvî1bX{//NÉ\?N7Z’’;uê"Å"ô(!á,{<==ý—K¿öòïÙºMëÌŸ²H•*Ú»Œ¡‰‰‰¾ý„®Jv¿wÿÊ•+ÅÅÄ}øðžˆ6Æ’T©RªV­ U«T«ªU@Xiòßʰ¡#ØqÿƒÂöí}øðþÿ‡h®g[/v¥eK×ë×nK•é‘Ñ¿·¿——W“&Nm==`óÆ­Þ`£’˜e¼@MM¥ñ—% W1þó韊tb8røè˜±Ã]ÝZ0“CÛÒÒb×ÎPŒPYYéŽí{úú{x´a¹eÍ5]ÝZ{1E,RlaSÓÆ­•krRòùóç‰Eí Ÿ0q|g__oàW¯Ò¦M.Aa?BÁ“¦“nÝ»…ìÚqêd,ùV²Œ•6lkgçìÒ<+3{Ä~P$äý–Í[ý{÷R¼Œ,¼ §ùþéiiÌpeý”ɤNYËß&áUÞÐñ/°hÖæææ{w‡’D×h4†ïÛß»·¿›[K‰nn®ÉÉO/\à¡Å¾Ðˆ ÇÓ.¨Ò8¬qQ«0Ž‹N5\Ÿ°1-FH#ÊàŒioÒ R3B¥¬ý0:ŒF#{UQëõL2* ¼%J)–Š;VjàÂgßã¡9 [3Íåa‹tIhÄ| ƒ2WJí&"1™üb-ûÑûTƤ׽•­•°˜‰(Ï*†œÏ‹‹ëŽ|¾°©l!á_ ýãïWNG‰å®*ˆšLÊ[ɺw/YQ©Óéô°hÑ¢&M›‘Úeee§1¾V IDATOÇkí¬ —FŒ¤b>_qÑK'—e ïÞ‘%ÇE|d„¿®Ö=6m+.ó«nm ôãÊpÄË©LXjc[^¾|)R/77·¸¸ÄÖÖ†½°gcS^¾Leo`b€Ò|ÚùµoÛÙh4€2z€Ÿ)D*DGŸ€  ¾¤ºéz÷ém0”ehJd¦á0MàÛÕ²€×¯ßÔ­[¯žbôëÚÖ²{óæ-1ƒå©³HQ²ì7µŸ¥öí…‰Tl¯ªß9ò‹µÄp‰ ݾˆ}û"ÂÂÂCÃÂCÃ"ÂÂ"–-[ÂX¥ >i.WP(¦ä3Ä™çæä“Wÿ™J(U…wÁŽÐ-¿.)ÄQÖ²¥t’¤ ‹   ‹%Ë–ó¥bQ%Dê›ìW4ƒH|kß4¨yW•޲¬ˆN§cÇ ™Õ‘ÒÍ|Ê }åBOà˜™¨P¾$¾b­zlðQtV&áŒRä%Ç|µŠª¼ázLøƒ¨cdAÃÂSäÅf$J($Œl°k4 fÂÊ 9_à\nÊC@ÛA ~œ—~AKÊ]MfºhcÀ®ôùo^6|Þ—ó|}}õzý…󬬬ì &&FYâ¯a«Y´¬Ž'M—ÐëË”#eVª¸˜Uª‰OÈ4%còÉnl0Ћ„ï± ?Ò€Ñ 9`d0P€”jØÈ÷2QaÍæu"Ãy´mãíÓÎÛ§ÑhLKKpïQÌÉø»wïQÑ“7)gí "¢*²¦¢í»wmß-Ö<¸ÿ°‡g›ö>íÚû´3éiéî?Š=OµU’)Þšjòyz³ªƒ_X.,~Ô”˜z0îOé —Káe}¥Æ2A1ì8¬É…;wîIÄÄ&â-Þ<¿ýÙçÝ,--Ï$œ+zWdÚò-Ÿ¸S§Ëá$…$s#ÓWÝ—Žˆ•È ½À‡Ò÷¼"†>H5Mž•©BDøAOOwŸ^>¼Ýîß{xêDCã• fï—ceBÀcY.ÜŠ ‘·‚­^‡À§ƒ÷çϪöyÒt$ÄU–Šì)·¢…ö=f Ã÷ExzzvèàÓ¡ƒÑhL{•vïÞýÑ'oݾMmˆ@¿@dŒà,Åá#5å‘`j8³H7y ¬4„ssg—Î)ÏSp>a4TkˆöaºoŠ!ðîÐîì1ª¦ I0P³ uʺÀV¬† Á05r`¤¦†¢ªrÖ*!ç ÔNt „²Ç^"?ŠXvôîÐQKm!W¦T˜ÿݦåë­_½õkñʾ}á²f½º«4z‹€ÄÚ¶õ€½»CS_¥ºµr6|è¬Y3¶oßùåüyU«V ÝÊÆ:÷íÛçééÁ ½zõêþ½ûÑѧhÚU,b ˆRRRnߺãÙ®­·Ïµ?þðôjëà`ÿ˯¿½~-¾¡c2/Ø?¼èu:èÐÑûü…sò0 ¦Ú¥ &Dü€¶åY]¥˜„y¼År¦¤¹ábu:_eY /ɶt'…ò¢“Œ hÌg0³Ø Ñl?­Ð­ƒ÷Oç0í…·NåâV^¡SEÜùU‚É¢%uej,ùüEÑ!i +Åz(Sò‹!’ÅXÂOu‚éÃTYœ AŽ´…‡Q¯1 ¤ùa_u‘–‹Hr©ÂÂÚ$çQôuL™=ˆS‘êÉ]é¤7ËM„ ”}«FŠ’‘º„l)'bŸÃ5ÛÇrЋ”Ùa¹>f}BtýæNiŒh²²3|ù%A³•[«ï€>ìÛÇÞ-DjùI,â¯j‹1†˜ÓŠ@9Lµ%"ÔzWôŠÞ½+§¡IĈ}kQ ¢6`Ð$°ŒWjÚŒ|ƒZØ0Œ9¹CÇö:¶wvnæìÒ¼w@ÏÞ=¿Z±þt\‚hµ&a­tR«Èu ÆšìÓ±½O‡öÍ›9»4÷ïÓÓ¿OÏÕ+×'Ä%€ha1V‹†ªÇ€ìÃP¹²™ÒE ÿ'H9ç…M¿ôo í"¯Në‘;åqaÕŠõq1Â×>¸"i5…å_ ¸¯òùÙö4‹œœ·jí–ú2õÎí{¦ý帜–ØKÿ…T:9 l¢ƒuÔîÓÇ FŽ˜Ð±£OÇŽÞÎ.Í\\œûôêÐkåòµq±§i'ÄT¥•bšJG0ÓE9ÅÊ«§,»}øàQDx°@Œ ÙmB#bê€5ÇšMbR© °`øð‘:uìØ±ƒK g—€À>}–-[â²0þ¨Ô0õ ˜)‰@”­2ø~ÈîGqHÚEPj |€Lp´ŠwÇËLõ^sä—(/瓌`aAÁða£:úv줢ÛÒ•±1±驉é.((>lT'ß*.,_¶26&N„$ž‚³óÿõ¥ZµêǾ?yåÊï—¯üž˜˜˜˜ø$..&..fýúÍúà“ý“°[ð£”7ŠÇ’B Õò·ºuÙ¯×ë##&'>5 ÈÜÜ|Ó–u̾bÁQ ï¸"!7fW1eK1ß¾};lØ_ßN;vpqqqiáÀ UäîTEÉ¢Oœôl×¶ÿ küÑ»woˆ5ýnVy¡–º•‡E†ï§SÆJÐCÞ™#²W¿~ƒe+—jB0 S§LÚ+·!„Õò"öK¾ñ¬0ÊÜZ¶VP*XH NŠgÄxÜ”XŠ—ÃŒ‡E„G 01(tãÅ`(ssmcòh…”ª¸È>ÇTÅd6Јà#­jv™<ÎÔUÎRþ5|u¬€Ù%þ‹ù¼™—Çâå;{jбpŸ…_îÌß)/lljZUµâQ-¾]:MìÜÂYL©–`ùŽÀÖ:µk“—åhçŒ ñJ£U­¬HUIåMm•?vïÙÓ¿*›Unîâü/,e…V=¼3B£’äÐŒŽ‰•VÕ«W'ß— ¨fÍšÖÖV……lÜ]á‚òb ñ;Ƹ¸„¿S^ØØÖ´²²R“ã*U«6mÖ´re3é²IÇú‘‘é3ªå$bèe4OÇŸMKg+åõ·j\ä¾òÌP*´þë×oJJJêÖ«[§Nv³]»¶B=5è.]º|1sºKË2$D¬V:öDz©¡1ÆÅ%¤¤¼°±%‚¤t€¢éô‹„0ÙÀL±j°¨€1y[©Q£F¢ ¶ä{ ˆöƒÀ+3ȇ9hÖ‹·DëˆÝoD «†Þ¾¶½­­¥5ÂÇÆÆ§¤¤ØÚÚXYY›4ðëÒeæÌ-[´ä¦˜žJ7ÈÝׯó aÃÜ’#°µ³«RÅ2/7OPMù}Ò¥fÍW._ÍÍÍæ&j@Ãú ©ß@P£F”x—6¢c¬0²³%¾f€‰­kܰ‘Žz.„™™Å­Û×oß¹AWÞ"¤ÓÛ×q°³åûˆblŒKyÎéf"uÜ“ªo }{;;;î/4kk¥€_W?B"0ÿÓ²ßÿûÅÊÊÚÌÌ,##ãýû÷ìbJÊsw[5™™™„•¤ètºþý:95ÉËË#ßö ºNþnÞ¼uüûè´´4î¶iáêVf º \”ˆRËŽ¼>Ê¢!„ NZŒdŽìjÙZXXMþlmm«T±|û¦€j7&Ÿ•jبk‹ N¹»·qskÉ¢pL2Ü0ÇO¹&&%¹µtoÕÒ½•«{+WV®îìϽµ'ëÂÛÂhX_l5j ¢J!ÒÛ°ACÜbÚÙÙÍb$£BÞP45•+›Ý¼}íÖíëéèR7jg„0cbc!WØÀüºøÍœ5Ó¥%ÝÂG˜ìÖ,Z¹ÓClTy{“Œ`V®\™@~öìÏsç~€ÄĤ¼Ü\}êôöuìÉ[—D~°Ñû@3>úBœ NlÍ¥ÐM>|øp:þŒ¹¹Ù¼ùsªU«vîܹÒD3©€@Pf “&/‘ º!H£† ÉCÄ.èy´õh忯ÜKRR’›k7×6­\Û¸¹¶qsmíÖ²µ[ËÖn®­Û´öP¥!‹<@¡j€²¾QƒF\™ØQÛ«b…Dõ-ÄÄàE‘FVIŠk*§–ÛPV¶IÛô6ù‚¥{y´õhÕÊíã1ZEEŠ…hÆWÞLqní…¸´®˜&!úÌO±åFëÕ«[R\RRRÂX ‚šºT‰)®^ùzô”PÖJ¯0Mn¤Kr½¬¬lhÖ¼‰fk nvV4kÖDe;”SŒ ¨èÝÌ9Ótz=¬ÓéfÌž wî*c z½.îÌñsçcŽÅÆØÞÁþ‡OEŸ:òí±•ô•y¤žBº€@2BAÛâVÆ·sG[;Û×o“íL†…S¬&׿)‚eaÅ`(ûùç_ôzýæ-ë›6kjiYÕϯˀAý„‡$©iÑ¢ÅîГ'ß ÌÒÂRRaúJú„Nžÿù´““#‹­׫W·¸¸¤¤¸ +P'NÕNÕc@µÅ|h 0à7ù¯þ,¸rå‘ Ùý(&^e“ÙÿÔ¾=’ iiYe¡§ ¼¼¼ää§uìk?Ž`kff6ÿËypùòe9///))¹vÚS§M!~D¯¯4gÎLss³ë7n°·õzýÙ~&tSL2rrtªW_¢[ùE’G­I“&,:mâ¤@+).Çׂ#M‹ôÿ·¢Óé|;u.--ݶ} ¡Rqqñö[ÀÏïVÍh4~öy×.~Ÿ=û“]üë¯g¯^¥V©R¥J•*$vR¦£‡²hÉÂöíÛ+UMý'` øÕ˗к•ÕµW©iðyÏttØÂÌÌlrðDZÏ(Ž–}(-9{:‰õzýì9_Ù}šzÊüüü5jÔ0¨_ Ë%ûú:1sötÁ vDO[ ¸Q£‡.VÙXÁ©+]`N|ähe¯iKK‹qãGs"`Œ1ÎÍÍ!B>vü(blÍÌ*Ï›?._¾Â¬tnnnRbrí:µ§MŸ‚ëtúÙTÈéw°^¯ÿáÇ3¹àÔ¤ C¨‰S“zõëóÝþhiÑ¢ÅÞ°ÝÁÁ“Œ´°¬Ò È¿M¥ÑKœœx£NNN´QE³È®oݺw#§Ÿ}úiïÞþcO϶AAAl†£’¾ÒÙ.^:Ï>˜ŒœÍ*)` ÈÊÌçæ4:¥Ò&ºaÑÑ' oß@ˆ‹=­äX혨X¶X¯@€7oòƒßŸüÀ À#ßš5g¦R]H¸³)vHúQßCÊËÍMNzZǾö¸ ãHçÌ*›Íÿr.p3Xd9¬¥æW ¨•yfêÓ‘p èf™ÎÎÍe„M rµÖœä›Ò C`ßnt£‚?ñö„’¡(t¹w>ò„ú¹ Å$bE42Gò“å¤Ãè_㉴CYLGh ʧÑX¤nç®òÕŠ _rLþð1+aΘ2Œ¦ýR3²D"¾ˆ€¿ýd-ÓV6¡J囵Á²)iF[YÒI±”ZÆXI{éÇ€yœ´…iLÙ² Jt‘}ô(À¡iÓ§“áÀììì#Qßyå8 o Þ28oß¾•fÂEÄ£fƒ(‹è…¸Oc„H¨+М € ®Y»ûöéèãG ô)šerñ¢TçSŒ0Þ¹cÏÆMk,œ×@PVf–³‹ó•ËW)a˜RkÃú-û"öÌ™;cÈYŽŽmlkfge‡î‰ ýX·vKxäîài‚¾JMkа^íÚµŠŠÞmÿz7ëDYYYô±S#F 9~2êÉã¤Â¢"ëªV-\]*UÒï8̶¤b¥^=r`emU½zõõþ™‚#P+$ʲ²ÒÇO 9ä»è¨Ä'I……EVVV-[ºè+éF6ÊÄÇ© T\0ÄžŠ=nä€AýãcÏ<û󙪂¸ˆ”ü‡@xS_Lo0W~¿Zü®xààþmÚ´&»ùåää-þr)°Ìc@èòoJµÖmZ—Ðj ç-ÁЂ‚›ø³Ñ)ýÝØ©Qݺ¥¥eá¡ûÙÌaiié‰ã§†ÔâBøa£±L &Æ-][T«^ š6kR«¶mFz¦i6 Þ>íííkß¼q+-- ›Ü ê×bcã©Âñ´OümРÁºõ+©æ ¨icud?©“–ž±xÁRMëKUI}kû×;=Ûº·õô8«|†~ó¦­ÊÜ&×LbPýúuIkk«ê5j”dfrØeeeÑÇNŒ5ìÄ©£O'Y[YµtmQ©’>2ü Ñh@Òëûl±±Û_®ß ÁúõÊ·UYO=DžHÏÈXøå"rwÍêµQG®YóÕ°¡ƒSÓÒë×­ëêæúî]ñ¶¯wp&Q-xžòüÆÍ›í½¼~:îÕ+eûÓGmܨ|tÇöÍ›7,Z´`àÀþ™™Y...¦!KYYé±ï=2&6úñ£'E…ÖVÖ®®-+UÒG„ï7Òä”>!T¿^=F·5ªÓˆP!Eƒ ×­_)õ´¦Íá(b= =#sÉÂÄÎo\¿5,b·†©ÙΚC€lkÙuòíðöÍ›ß~ý)™“öÚ Ú¹#dã¦õ ~9``¿¬ŒlgçË—¯zt3|Öm Ü7wÞì¡C§gd::6¶µµÉÎÊÞ»7Œ¬î!Œ\·vcDdÞ(JQ IDATØ´éS èŸúêUÃõkש]Tôîë­ÛY|UVVVÝÂ÷Erûö‘è„lGA 5zÄ©Øã?),,´¹`,cÞÊÎή“o‡7oÞüúËoTqèÅðÇÚ“Ë‹—/-R>XMõõë¼aÑ+õêÖÛºuÇ¿‡óç/¼yëÆ¡CΟÿ©^½úOŸ&¿y“ß¼¹ó˜ÑãXJ•* 6òðá}ýÝÜZY[W+*,|ôøaYYÙ”àiÊâdªá®nnË—/€îÝ»}öi9÷“üÀóçŠ.üxþ¬  7mÚ1±qcÆêÚµËɘã·nݱ¬bÙÁÇçÒ¥_Øã|©À›×ùÍ›&œ9ùâÅË&M›88Ø¿ÿa_hu®Ö­Ùx(*â«5ˇ øêUz½zu]][¼{W¼íë¬rPž§¤Ü¼yË˫ݹŸN§½J#Í)I˜°Ž@‘X>8 Ó‘Þ*,N™<¡S>¬˧ ›ä°ŒŠ˜¡- E?ÇL8ÊÂ<žac,=ÅßÝ%· lܨѨQ#Éõ½»÷¾ÿ«Å“O¢™¡{Üš97»þÇõ¸Øx`Ó³ˆÒ _èÅB³M%KËH¢ —“›œô´¹s³_.þ*vÇ(rˆ“Y¯d»¡³gΖ––NïääT½Zµ3§ˆŠú¦oP58Ê÷Moß¾3røØÉÁÚµót÷h››w":fïÞð¼œ\Î ÷ïÝ1lÜäàñ^^žî­Þä¿9sæÇ°=ûSSS9_oÞù4ùÙÀÁA7²®fõáCéß)ÇÆ$|4ZM\½~ëæm·V®g~ÌT²‹ÿPrÛ·ìüóé³þƒ96²¶¶*ýPš’òw|\±£Ñœ5Ü0šš Ã’›“³'$lÞ‚Ù;÷|=oö¤'I µ¹ØÑ­„[…cvvöŒisgÍû¹y3s sÈÌÈ4Mس³s¾˜6wö¼/š7ofaa™´U"fP©R¥ËÖÌ?÷sÇ*U«Ü»ó dghâ“$¡lÝò4éÙ.|ûM´HR®ÿqóÎíû-]]~úñçÌô, yóa }ûõ€¸Ø3&Ù,®Q£F¿Î……E/üÂÍ'.f„¨ZÅÒÝCÚ°¡råJîîä¸FÍš*BÊoˆdW?''{@ÿaƒ÷oÖ¼YÁÛ‚sç~JOK_°p>¢¦Œš¸rùÚÍ7ÝZ·:sú‡ÌÌLÄÁ*¶h˦ÉÉÏ î׸qcB·”””ؘÓß~s ¸Â3ÕÂ81g¢œV­béÑÖCÕSåJÍ”šì‘Ä'‰ƒ:-ØÛÛ»i³fY™YÇG~rÏž0Ò(¦ßß»wïþ°¡£‚ƒ'zµoçáÑ&???!ᇽ{Â^¾|)úÞÍ¿NNúsð&tû^ö5´ÏZ;vÙ²iëÓ䧃† lܘC‹‰‰ýæÈw A0 À¾}ôzý™„JKK© ÅÝÿÇè­øÝ»;w¤½jKKKÙ•üüüÿ š4izòDÜÎíW¯^¾sçV:öýúõÿbú,eÞ•–Å‹–º¸¸|ÿý·))Ï ÌÌÌœœš 0hÔ¨±”$„.8õeêß)7lÔðÒÅ_”´í6˜3kþ¼ù³Uº@tðÍ›ü!ƒF̘5Ý»½Wÿý²2³¢OœŒß?tØ`›¤`¿œ·xÁÂy¾¾ÌÌ-nÞ¼µsÛ®äd²3*&B’ø$qÈ ‘S¦NòööjÚ´iVfftô©ƒû¿J}Å\ ›À€çÎ^0wÞ,ßΙ}ûðþ½âºiwߎù#gNŸ)-- žèäDÔùlTÔ‘  @'Rnß¾£%䡹¹¹<EpïÞ½¡C†O™2Ù«½—‡‡{~~~BÂÙ=»CS_¾AD7oÜ’œœ Ù,&ò˜¦iôq´ÊH6ƪ‡˜§TVÜÈj$f¨üšø¿ÑëtFŒ±ÑXÎJnJ °Y_ÝÕœº6qqüþëå£G¿`šâjÖƒµkWÔÈTLér;Á* ÖeÑêVš-ý#^CÅ„ ýœ]°•S X6PæÜ°ÿ°‰8$ö„cIxÐ… ?Ö±¯ýùg½”Ô]Š´¥ÞH¡æÿ»÷Ž·ª¸ú‡×Ú—ÎEA04 ‚Š"VT¬ÑØD%{¢5v%ÆØ5v±×KŠQC4FMŒQb6°‹ˆ³ç÷ÇÌj3³Ï½øäý¼yž ñž³÷”µÖ¬ò5sö¶ôyß’sÎù]ÙÈŸóî Ì”‹vÀ*¢c"Xƒ‡WµD²nˆHIB¦Ü|г컌Â8ÆÊfJ“uS£8ŠÃ bˆ¤í¿r¿È U–YõÌùÿXº’‰7ÇTWÔTõ |‘AWN£ÙkPAï:€Õ:iO÷–âõ7H!Ø£ePx^ï¦7Avhõ¢ ß…²sX @Q«Õø­>í]–þ¯™6CaØëPÎÂÂ5㈴—è¿%šnâB¹d <¨Ì!à¤i Ú÷í¨„¨'±Ä[ J¼ žH-¹;ëé¤äû ,ë$S•‡ç6Þ(ÍG™ŸRÔÞw— Ä$ªUÐ¥¥:„•j» ™TÔCða^¸ €‚–g¦: .‘1…¨fói‚4GQ?SŸ¡¸hFÔý”Ëü–A®¾f«Ê²lhѼ÷¬zˆ†B/ùÒ‘sö[´lQ[Y«•¥¤ë­lÁIB¡RˆpÅ—Ù7N»ÌÔd`„xCŽ“„1cdÀk{,ŠÀ (ŸÎË€H›@6fi·;X¡ ¦™þ“‚Æd¬¤OŒ¶U”I…ÒùÔ{Lœ » ?J£¦u7DÉ—ê>„+½·Ì ©L7Ÿ¶M?T ;q=Î*9‰QdIJ, ôO‘„ü%ÎÅÌ KŸùÍ[´N×ßìaÊÞh1ú*ëšZGÔxá|0­¢µƪ­_Qh“¤´%*†¯&q>df#æTé:muÊ8j¹gòYÊø½âh¤.˜ {U+,ΰ5æ€aŠ @´¤×¢T4¬29F…ƒPI§©0 2&9ŸÎ±ñØÇ„d%&u?Žþ“èûR;&QªTA7!£ÞPåè`€$ª”î´Õ)hßj$ Êž(²5ôKûÑ¿“¨$Ìxp„+–?÷ì?•é&¥Î’µÉÈÕuêseA;QúIW•Î;GTbòêJs"EZשÍiàú½Ó|$‰„µÖîÉ¿R[¼ø›©ÿžvë-wN›:ªK^iR8¶²ûPû­œóÇÃü–‹8L«0]2’®\…l+;»¶fó§(¶kû-8¹žs†…ö&*}4•\B¸³2ýQ^ 88{¼p2³¨ñœštöι Š`;ˆöíF"«f©ÿ½%ï­¥éÿää£f¾ƒ<_z“3[²½FÓ¢"°ÝRM‹º³jzõX‚j“ò&iÈϵ‹H¥±­£ºÍh8eJ&èÅ!·YEÖìB²tͦ'°ÊCó¢(\lLzT0Ô†µZÍjÍñpØ»ôlÆÊº!çÚ¶k¿ûß_ºlÙSO=¢†M%æ•Lu‘C€Oz{Ç€0„<"8D(ef±é°I,ذÉ·ŠfÚϧL6¥Û²{Dݱ’ y1ÞíÌ8Î2FUÔÔ @bS«ÙîÒ ŸnR³yŽÍ@ÉhÍšX­"<‚mÎÛ/šöÏ KH§„°bò·3ø>;¤p®L6š&§.U9R]5rP6ï~C;îN œ„ë3€,‹MOì›d³Ëïú(ìåZxõöç“ý çœß“”Äe’ÕL„3¼Ë$ˆ1Ùm `ä¢R’¸ÃT4i!¥W"*~2‰!ú¨ze4l½oųªTQ']í‘Þ“_³~Ôœ²oWI-pôÜ,©Zéx Mêr•Íóò€wâƒFédAf TùN"¯(Fºqã‘â¤- òIÏ)¹É´R õàj!‰â]]šý«6fë_´·µg%8ãTb½¨Líšn´ª%ŽÉÉåòË<ºZ< qt“9ËÓË™³‘ÅÆ,^Âd‚N\3í}]©Mž$–Ÿe'Š„‚ŠÜ‹ùmͬ ÂdÚ³a,ÃÔÒL>)Ág•Ú–œ€²yÀ„Ú>2ëL„âµòj—$²"Âñ<@úÝ (^‚Ëöt4Lä­”†æ€¼=DÅ)Q¿Hí%…®!Ä›ÌFªµõ§¬ÿžörÒöYÙt“ÍëW0è"߬êEáKmFD• –o4œqߨç9øGéª+†µ· Ð'‰˜qÉ™Œ†Næ»Æ*ØT1²qþM• £òKÚ¸÷ˆqu9ñYMÅSµ3FŒy¼Êq¼‡@~šáÔ¬(ØAÍ™>Å^TÔæŠsC™íÄÂohi½Ö%é=@#*ó¶†eõJ´3VU‰®B&xä«E—Õö¦UÏØRUqÑ+)bÆÃl­ >@ÍoÕÒ"–%ýžEE+„Y=fuI5 r÷½ÐÌΰ1q 4À?žQ§X@ë¿8q2!`Éer<7•?M mÕŠÅ­wó[ vhÙV”Õûõ%`é18¢jµZ‹†ž•:®—pQAÙ—²,ýÁò¤­qÈS4eDC¨­`Ùÿõdû L_ÝI¦ª§ˆ{"%~W¡6Dë$XRHf)ÏÄŸ•gj.]¨1lT5ÎL£Á»Jf*À‹Ê%{w^ì`-SÁç²JR"åÔ¶ š…Wf8š2ÇJ2ñÉe>êBœ§é^m‹àn\øÕN¸ì*HåÑE€ÃáÔà$ q¥©èk*:ûUJ~²ìÒ6¶¡mÇVQ0h@“¤ê0P}RÍå¾¢1P!?mcrJ:¸›¤±¡Ùxn ã:§¹.Ž€Ì´V«‘¸]!ÙôTZUòKø“ÒWâUE9°Ç² Ô{ NuçÄõšþ¢>œ¾`U-1_cgƒ9~ج‡:YQÉ%f5‰‡sãBAgŒËZÉÑÈQ7Ha"x3 ÿÉÔx:è6’*„€L†îE%WC@_ŸÆ1MiŸÁñÈì}«Åþ™ÜNÝúÿËŠñ’4eå ~”´¡]¼iC3Ä:zTÚa`ÎÆ8u“7¦]u“¶³§Šr†Fº– MMq8áÔ‰9’¥9µrwM9þÿÁ‰}M"SÎèÚ IŽ,l¹ZYkÓ¦mY–Ë—//Š"‰ÛºO@¿2,ËÒ¹ à eYs¥k(Š(>rC—ùÆ2’˜‚GµÌYõP”Ö0nÁ06xʆ††–-[”¥«Õj+W®tÔ bxJ~n+-}}sK¿¤Ý°Y·-ÃôÂÕ2ŠäêôbZ9¼D1£8Ç[μs¨¥ÂuÐŒ‹áb®ÿfz»Öi@ŒËßU•Ê2ÈÃÛ=±( ¬Õʺ¤ùÖæ‘lðzVœƒèUW& ™íM@@t®D,hDZˆ†Îô(vˆyU¦9©$²¦ÅW O.2FÄ&" A Eg.”¹ðÖgäÓ°áñ¼ ¾«Ê™ÔW¢Õ¬Þy瘞®ì#PÐã‚v6¬¨ÎÒ_9«7aøHóaƒb˜>“€0¥µ‘Œ¶«t†*â{ÑcLYSÖ |Lî&ç¢쀽åÔ'JújÎÄ,ðn"PYÁ®š)·àcÄAyrŠc"+u“›õÍ!¬JIÿÃÎ[0}-»dšùšD,IÌ7—4d‘’)µŠèÏãõ:‡s•ëÝ¡»Ñ; !Ïw¦`Ìzfxm÷ÌÇ6FK<:åô¹{¥ fk'´0)ö†21W4…²D, ãY&IÒ¾¿Ì9r_Ž“3(Ä¥R¬Z*?Šêj‚ãLÆ<¢¤óé–uk1„N0R,1\ ]Œfgá…c=H&P{C‰aj†øj%îí@6î0Ȥ`aÚa¡{²ýk/¥ñËúª7x€fÇ' è¤qb¢È~„†×jí8"ÄEÕÉÝü?XH uvÀÆ=—‘rµ‡#c6GªÄa8ã”Ì,iè÷>è·L*:x¤Ý]H±3jÒG ÐÃÑå¢)7‘½¢;¸vNäéä6¤§ÉbJš¬ l÷.¾#=»ðv6$ÄU‚—vCC‹Zm¥? X_ŠÊ‘Ö®Ì ÀvseY"©V@¨´åžO®1ù©,^¤žÈ¹¤=ÄõCEQE‹ e)Û³¾£š+ƒf**ËÒÆCEG«¼”Ò´U©“òß«Ô[þ»ì[©•¹ %Þr¥â`‹&Þ©ÏuªÕ/¼» ¤Tàsîøät*U’Fðíõ˜G½G‹²’ãkQ4xÂÂô3>F–;Ž¡ƒÿå ­œÅä¯z`8‘&î²)fý<#ˆOW~\·úì»HràJWz@ÁÚ€V¤-Zxg€'#;‘€r‹”ñK&AÜŸÞ15'm‘{µ°ýýÌ—# a “çmhD¢ÇQG»Ø‚d.¹!š؈비 £gE–*!"Rbs?ðä»ù[YÂeJˆ°J8×ø-'áN#ÅX±¤ó0j䤾%;uÑ—VåèäÁÕà™ŒÖg2õN_Ôàz#9--@Ëf†•: Ô-« t›f;L6‡éfðzõNšCòi…ŠðåªYuQõñü‘Õ”ÜI(È]­éÁäLt0kS7õ órÎÿe³þ[€¶¶n J²v¬õXùé¸$[í-ÉdçÑ VÁcɸD—‹Ì+)ÊU O–Ô>9­—9žb‡ÎÒ¬•£Y_›kUDéµ4cè"·doYH¿6‹Œ^öyôß–ºhÚ%ø€%î85¡·éxYÈë•ÈxÿÚ/6#ˆég Ú&J‰² ËL5Añøü=aTrcvƒ{L>‹Ua\Þ  0§D£Š¯ÊJ¥„'øÞ’ÚŒ‰F\5ž¤ä´Ì­NGPR%€f£ç † øWQ†ßNØUYÊK3Ì`º®À.Ï*ú=5(K/6$Òh IDATpíô0i’2Óˆ'R²Qî*ÙÙFÙë¤ÞíMgr‡&t•VpU Pô  Å–$r»Àñ^š¾-±ŠEÛÒöé¼ÈLŽC=dì8½óñö>/g+N?RjéÙ2.ß{ÐUÔÉgþT휱²MU$Û¦"\fÔ< t3ó ¹°2˜:ˆ}Šuü¢ÛV£Ø;V¤sxhµK"tæœ9¬ƒ¦:u¼Ú­ÊŒý·—0˜hmTÍ|ÔÏ çKQõ¨·Œúù1åF’Ö—ÂÞ=Ê–‚£s§²ŽuzÎ9–³ö//)¤¯@Å:e™@½lŽiÀÖ¢]›à6Í7ßáW5(ݘ 3ïrj¶›ì±¥´0±ãÒy˜Õ€'¢ý%é˜ '˹*$©eb%“ú~IRõgG®ä¸5bêÝmÂTY” ;³˜§Pù)¹oxw¦ªD*&­d©`eÇM¡$c´@Ó0R½ ºãô¨X½¯ï¨gÆ:ú HºÇ;vÐfDÝ*¹EáÊ2‚\)¥.:ÆÆT²ÉÍ#‡ C„õM2<7‡áAƒµZmÅ teY––BƱüü$D g_Ù=„*d®U‡›(Ïæ «:šˆ*¶&s©¯9­],ŒR*^ÂCUfФ­…Í.éAøwŠÌ øŸK-.G@ÕÝŠ¹Ð50¶SRõd+ZÛÕêÔ\ãON½¡/|Àpß#$8M;1ú̳E(€æ9òŠ‚Ê£­P•,T;´Ò)€ƒ2ØTCQ µ²æÝC P`E–/_Ê-(†œ"ÜÞcš BO€~Z.<´QoUô"iH‡¤J¥N’¡+%‘ç}EB[”ÆÍx{éü±²ò˜É µâýnÊød(Ân"“¾mlÙµ–ÞU×TŽÊˆ/ÒЉqRžèhILÀ„uLgƒÒ+¤Ví3ÈtU "?"cûëÄ G¼HªGaÄãÌ8y.Áø"ªñáÈÎyþžÒ¼9%TRŸ®:†÷¦Š3ê-X„hùjº²ØÕΚéiuò!w1÷™ „2ˆ‹ÙäBK(B}xÏÏ…~o<%zӍ޶ã™QFÝä¸"å}<«ÿþk ågA?îÏÜP3JignÄ…'ÉɌѴU5•R“hâ¼v‰5ŽCŸ³ðÒ€«• ,Š,iÃ{]Ó¥,9yå‰õÙqËME$&ªD­QÁa_Òqp ÎÈ­)—]jȰêStì ÓOÜ2Åíp*JG^†lƒœ‹V%ÇÞ”4—P—ü¶ @>|ÐÛÏ–mFMž=I·©=Ý7Ø ôu T}à„k1½tö²Ë<ÊŸ¢–”ô—›'ØÆƒERäÛ9r†”aÝ‚þ\2PJ¾*È* véJ\›Å`ž‹RèYA3œ¨çŽÓ¡ bRØðvíÕ‹"ÈŸGU:e:Ö©ËÒ¿°VÖj2&É"üDŽâÃ$õŸÆy±eNƒñ~3æ€ÎȃÑÃAÁø5­¼mHƒ`Ù„ ?Û‹l5²‹HÅ*î”gæJ¹išøÔQ‡îõÀDV±’ DbŽi÷´ø3ûeœGõ wC¤½]TŰÒdÉdc”†c8T„Ù¥ßÐzûc§eÒ™ˆ¼*5‡*§äž;tD„vøW7B…ÿ%vÄ Ygiäð,ký¦ÜЇéØ.ɬŽ)Çæ"û9rlƒNª¥sèj¢= ÊPáÒòú$XØè•õlªIU¾#+;žŽ„‰‹¹fR9ðAFã….;¯òu34މ¤náNˆÛjDu74/}Ø—#r1L"B{`Œ{& ãÕªfÞ0h} œ¨°îì³_å![F"š½xteTòHñE^&R,9äu‘ÇöçZoœXjâ£!(ž«Ð#×5áQÉªšŒ–Ž—T·*“þêÇ}£ªƒ0æd´ I?Í-i‹²ŠŒµ¡L¡Pžú@ªä?”À[7{€ Ûª5{T;…$ÃåUmâMWÐ’isú›eJ¤ÃtËìÈÿß(ÊU³ƒwüüŽ¥2zGðt´mk6]³Ê ÇäÀ¸¦ÄŒÄ™ˆƒ&ó¦mÁHôîˆÇ! *oIÍÄã¡t®Æ3%ø>#´úb(ŽŒMv1–ßU.ÔÛ(m?ê§ãrp ì蕽¸­ŠR÷fT5>)›Kˆ¡õ ’e–l¦Tu¤< É@ë"…©ÐRë ¦Fö›p‰ÖLì¹Xªš…{2)š#oî x4™8ü4Ñ„"Ÿ͑ˆrÒ©<瀳fòÉCEEÓ‘-”Z°”Y!é26!9\Û±®pBÈ[ȹ\¢Qo혭Ê,~uÄ”””2F“p‹<ޏ÷Ð0 âôlå…‰êÿ4]r§Ê¦Ôe}šÉ¡±tfÒ“© @ÁY½ðíXýãyCaV>`r;+…˜Qõ ó$­l؉~MRÅgÄÐÁ>ZâS<œ0h¯%ŒYƒUÏí ‹ y¾'!¯QòÄ[‡Sˈ]±j£êˆÉð¢ÍmE².Fê¡UßF,¦ò<’SS©ÔŒ€*¬ ¬ÒµUì„rŽ Îh¦oî%+û¼ö,±>ÍïÛ;WÒúÈEðÑÍ} ¨Žÿ´ÔCìúÖ©ÿ‚zÅñ_ñbHÞ–þù<"GMϳm«M#N#-Õ>¹­‰ëá¿ÈãRHGºlçgÃù4xrSŽ•&#YéLß²“KÈÉXá_Âh·è*:tL4$›áѾwü±—^vQÿþ›¤·¢ò‡‡î2í_S¦Nòÿ>xD¦;O¦æN»ìtãÍ×|÷]­]`¤•^Ú„+·¨Í8¨ÆjZŪ.O¹®šxŠ@hæ•JfÀf62mÒú-p]RI¸àâó^Ÿö¯ƒFìoQvH‹I›u}+ðÕ#o•a?µµ´`þ€ˆXÁÚÉì ¡tKÛ™"Ö¬NEVר®ý˯NzéÕIíÚ·kŽJüo)ÇŸ0ê²Ë/éß6n*$(ï+21.Ôš¼_Ó%«yMզȩ]°ú€Áz ¶‚%ŽZê쇌‹Aªb(Ë9G-u'ôQà\̇ÿµ9fvü¸éÅŒ°I"dúª8\œ+qÍ*{gÞŠ‘_òc' ´§“\’¥./ëÄ”SsÒ-S¹É™ì¦<™ÂÄhÒ½-©]Ñ™Ðénsr+Ó b3 mMí1‘¡ ‚Hc“P€U’P86£÷äštæþjªK^й*bNÐ>£•Š4r”Ñã)Ͱ[ßÑqØRž‚Å-ɶ@>M¾QŒ¢Qy7bð ú‚òY«Ÿ&­)†mÑjÅPJ£%G•y¬ôÀK)fIsƒé8?#„¾uÙIj:î0™J"Ñ}é²P³”Ëàa»<öÕ•œjô]ÃÆÏ$óª1$‰I­ ‚rê“L¹=´á‰ÁHÎS3þbÂrÑB ™jmãQ2¾ÃP‘º•« l[.x5ºò¥¢‚öê¢vÔ&·CòW-Έ‹t§‘š„C‡íûàïï=ó¬ÓZðÆVìò¼>eÚ¤^šôÂK3g~®+Ò;v¼á¦«Gßtåà·[±beEàÑ(AõŒ” Lï 0• áz=E÷œñÞ<÷ü%îñÔå\ oè°}`ü؉©Û´m»Çv[¶ìÛ¿<ñ4ëo:B|É…QE cÉ©f“ž‹K¡%žL[£_»ð²–Š_h¨¡=rÌpÐ}YÄÑŒ9pÎíµÏmÚ´~êɧ/^\'¡S¿L™2ù„Ÿ=úºïÜü âÐaC~÷‡ûÎ:ë ~R¤*#æ"K0Ÿuè ›T<$è¦ÛdˆJ®8[Õe €Ub|¤—¤9a¯Ãé–˜wÆyZÜ“sRIí”5€’pi9Œ¿úV1<‰>|…H(,±š”²ÿD©ö]„Í9\D怺ZB)™$Û39%ý¤Ð«jmˆüE!©íæˆƒÖ Îñ6%BpUO®Ï—Ù0†ÈÇ¢ÕØp‚kËǼ P_Íf¶›#ÔZRS©Ò2rà{Ä%Îè³Y“§EÅ©(Šj£MÇcÉRPn˜PœØoÖwÖ pÂjeL#Þ9BŒ¦šú¨Òs¤VŠ™ÄH'éõáGÚ‚ºmu($g4#VSÞùi3} ePN!«4–sNÞÉáÄá üñ²-°h(ü[ʽÑgÌCcÓ46…©ÖWä€èmˆ\8LUÔ„½* «}7ƒ„H<¬.Ìoe 1ì•AçŽbfS2àyõ”GŒÉ§ j‡ÖiÇDº#î“dÿ⌢*먽ö‰$37*ž¹(TäiIx.<”[r´|)ýoûÅKpÔä¦È<‰9~ÉR²™«%‰dþéšcí [·j=íÍ)}êq¦)WŒÏwþT:¢¨eÇŽ§¾9ùÏãÞyÕ3h˜1™2Ý“Î8¦¾øÖ[ï8täQÓ§¿{ø‡\vÅ…ˆ Uœ\yŵ'Œ:õ„ãN}|Â_3„ëä€so»sôλ ~æég÷ÛgÄsÏ>Ç<·nÙzÊÔI?ùg+Ô}—Rá~‚kx_í¥,€‰¦)„˜ü\WÆÉ6­Ûü`¯ï¯X±ò‰ÇŸJnâ{ìÚ¾}»¿ýí‹/V½KÒ¥c§ŽS¦ý둱¿KˆÀäJ¶ ¨SEeƒBÀøFc|¶ä¶ k #¯äÀ9”§W!t<†ý?ßa=–U¬ZÑ> ÆŒÛ6©W®»þšgžyêÖÛnž1cúwîä?[n½åöCG1}úŒÃ<ìŠ__ZÈû.”«wÈJðU {ÀG!EÙ¤P @‹“ü`U±úlïHÚÞ…'FI Ì¥S¯%·5Ñådà:Ùpã;ã`ŽÊÕË©q©Ðìåê~¨9uÑdr›ïó°êŸŠ}Qíl"‹´'qyú;)j–õ ‰çœ”Âç {Ìàté8„¦ç\š³Öž®˜WEF%qI}eb*¯ïŒ,u; !ÈO±ÞPL6†ÛAblJ1™°UˆÆdÎ#G±ñ+ÆÞ­ÈdæYåÄáGÚÞ¼Š£x·‚³÷ \ˆ\Í\NÙ£è”!1YyGÅV…xbÁ®í¤jVl0µPN.¦ƒ%%©qZ1GZIiÇ$ê„.6Ò>ªLÜH`öõULÖÐ HHEG ëUÒ/*¸=Qš„Pòƈ#wböx´±ÆT ™J˯ڀƒÐqÉχîFÿ*[¯´ü¥ìÚ´+º‹š9þÍ«7 iŒäAÃB©ñ$ä³Ó‡¦U ;á=ºöÁ©E ?ÖÒÔßφÞU€"¼N6'ü! Aº!*½jlcÊG;¶€Ð6‰ª ÏÔ•vÁ»Ga–ëæ…Gå‡ÿ4¦mÛvß¹“ÿxqß~»üÌÓ¾tÙ²N8¾±±Q›’`÷Uì3ÁzašM(G+–d§T×'E0*Ê $(Çz†xT©í?Š N,dU±ÆÉÓ²fr€4pN8$E«À‡&þ™æM{mY`DÃÃ&hÚ°Ïãñb̆ÁÖAk*{âWù±\µy?\«Ðµ ~³þ.ÛE|± 5e‘p¼ ö§!nº0ŽX‘<…ÁsÍYž&UšÑFª¢SøÓ¶¯4l×ú§°žµõÿ1ÕºTÉ9Fw›6'úgº‹À‰]Çñæ‡þª[bô9qˆ©5á3Tcnþ•­F¾©‘A{Ö#D©ÈÀð<§ñ°–„´Û|€êHs çÌê94$gå'4ÄÌb/iú[e9xǤHqü@Ó2ãkUFÄÒ‰â!P:CMb@ËIÖövhÏHAñuªÅaÕR;ù¤ª½RÐx¨[!Ç;LÚÿƒ,˜Ñî%Y\ʘ˜!Ý(­¸@o´ˆXôc_ŠB~+g³Ê6첇BcHNË*:ÇŠ aÛˆÁöÙúŠ”‚ðŒ'ÕŠå…Àº›¾^ΨWPAd„ÌzI(G"ÍÅ –~v:>„ß­3w²’—ÁçÍ›7~ì„wÙu'=( ßJ–ɨ ÙoO¸÷7–®Æ$UΙ ƒ*'Ÿ,ÀÄU'Ô¥)Íj‹"1cÅ”p™ ×&‹ò>Ý»wÛz›-¿˜÷ŤI/¥Äï·ÿ>ˆ8aüÍ<,¢¡bYCî;Æ™ZÏSÛôøüG9Ÿ‰·m3Ï<º3”±À]8øÌ³™>ýÝŽ:z­{쨣m»õj«¯>ïóÏŸ}öŸwÜ~÷Â… ü} áÍSîÙgŸûÑÁm?xÐc=$C1Ö‰"¥q>–Ó í¶uÎ=ÿÜ¿lÔÝÞšß[óç眺í6[¶lÕrê¿ß¼é†ÛÞzë-®þ§1¿ëÓ§7W>缟ŸsÞÏùë^ß²`þøã£õ«í7þ|lhÑâÅמ›?Áa?:êÔ3NÚv»mÚ¶ióöÛÓo}û”)¯k^`Ûm·ùñ1‡÷^¿÷ktZüõâO>žùÈÃcǙࠌømß¾ñ†›¯Þhã¾Oÿõo™…<ù9dèÞˆ8᱿”e bŽû Ûû¸èŸÕþ=öüþ1ǵ^¯u.\4ñ±'|àOrOUìÛwÃcGµå–;4Ο¿àùç&ÝvëÝ_|ñET±wŸÞ£ŽûÉ–[ ìØiõ… ¾ôÒk·ßzϧ3gêà AÛ}Ì}Öï½FçN_½ø“g>ü§1ãÆ<æèý.ÕÅØ\}ý»ï¾Ë¨cNÚfÛ-‡ Ýw5:}öÙìGûà}¿WhØùY8úØ#×_¿ôã?yø¡GÇŽ§'j9ï¸ãök®¹æ‹/¾4û³Ïôõ£9êå—_¼úªë.½ìâ•+Wœ÷‹_µoßþâK.X¾|ùqÇýìˆÃbZG2bòä×øk׮ݞûǤˆŸo¿ýv³õèÑóþû~wÙe¿6ùÕ+V8ðŒÓÏêßS®¶páÂAÛmÙ«Wï¿<ñ4_\²dÉÀ-ú÷èÑóïû§îsÒ¤î¸óÖwß1þü:¬·^¯‘zÀywCŽQôàïÏþãG#´ýàíÆÏúÈé7½ ¦‹V8èE¬“™ªŒš í²‘ Ž)4wæ5zi䘈ƒRÕÃâ«ÕôW´ËC,uÍÉ´4Ip¸Ô¯.‹ $c0jÆrD4‹—êuX® c)¤Ô¡Z¬Ð |[‡ü>NT뤪Áš^c†—%Ó}Õ -eM.:”D‡›pQŒB—›c#¼¹Ñ9šPª’>Û«Ýzÿèç)¨&ÄånÔ#3'«¼j›Íeü™h¯î(2Ú¬ç­.Qé þC/åÉ®#c¡$Ÿ¸¢‹‰h*lÅÃ4cÁ «sÞ¡å iÆpZîh/6W£ƒÄ}eDL.Ç9; Ñr«÷Dƒ-1¿Qö$×›—vض ©GKŸdƒ!Œ#«6 «Öμ£ËÅêÂO*¶€µÒd€—z~íZ:µ±P/ýå¦õ yòã%OÆsµZM-ÈP$Ä:ÓdÈ´’BLžÒž?b“nÀ%EqÝB.E5ÄZÀC½‚s¨Þ¹äÂS«$já9C®¹š³˜5»™¨R)^ ñÖV0{ǶŸšž óB/oÇTÙ+F±¥W£Ð†èòn&ìJ÷þF͹«¯þuÝß|ó­Þ}zo³ÍÖ÷Þÿ›C>lÆŒ\}›m¶¾õö›[·nõчϘñîºë¬³ï¾{ï¸ãàC>üã?Ò¹¡C÷»ôò‹à½÷ߟ;çóá [mõ4¢d[m;è–ÛnlhhøðÃ>ûlöþÆt\}µ”³7Þè7÷ÝÙ¶M›É¯½>wΫ}6èsÈ¡?úþ÷wyðá_|ñ…}—¢·OüäãO [×®–뚣znÍïuYüõâEéDmhºâÊ‹:v\í¥—_ëÛwƒmmµÙoo9üG?ùàÃ|`ç­‹¿^ ݺuëÚí{ŸÎütþüLÇÊ+ýjjúÛ3¾ùz1t¥j~¡ë[¹reDÁU×]±pÁÂGþ4fƒ úì¼ëŽ·ß}Ó1G7mÚ›\aðNƒ¯¿ñJDœþλï¼3£±±ýÆoô«‹Î]k­·Üt‡ï—ßλív[Üb ºÏí·Þ=göœ ,õæuþ_²Ž7Q.„¦Ìo IDATÑímmݽ[××^}}æ§ŸÚ†¡Îýö¾äò_Àûï0wî¼aûé°ZHÊ7¿í®Ñ­Zµœ={Î|ԫ׺޶ãÎÛ6òèyŸÏãj6pû]£Û´i={öœÉ¯¾¾Öºkí;dÏw|Ôá£Þï}ös;íeòÁ>:®OŸõë·JËߟýÛñÇëœÛh£7Úh“o/žöÆÔ_œwö'Ÿ||Úigzj¢&<ºwíî½´‡}u#K”ŸóéEíQý—ì"9׳z9·Œ¦Ó‰qäÌbIg]µZö@8ù¢‰ÅþyÒªay–:uqu U)Ì…Äwz¶Ö½,m.¬–’]äV³É¢ÃŽ…‘ÌëW9uÀQï›eŒà*)–2wM,'¢ÕŠs¨a9YK+çºÑ;oM¶AXÑjâAˆqs:9Y˜k»@©kwTŘBmJ|wv¢Å€Áìz(T p̤œš2³ ýõI*FÀFÐʱªe• .Œ/ *@$}ÍRÖü±ë×ĊϪ¸:wÍy˜éÊ3 hÓ§$$š’z˜œ¼7G ´nºs.d‰öÀø;òÖt Ç[u"Äñ«ƒó„¥N»^Ü“vÎùGýú¥ƒ:ojZ[[¢·¯'C)Ü%y¥–røeéh[ÞôžeRÑÅjN]ÚRol‡I‘uŸÞ¡ 'üŒfB¾Ók=ôZ‡†Ž¬³È ­vu‘éã(\©¾3êéš`QfíÐÇ OŠÝ¨g‘0¤q )4hIJdM8ìšÀ«j‹Ò¨ÍÉ(Þ…%mç5ÖxþŸÏ{ÌñΕ-[¶¼àÂó‡í¿ßñ'Œ:íÔ3¸ÃsÎ=«uëVçÿò±cÆùŽO?ó´£~|ĨãŽ=ï¿d²O<égpÕ•×ùgÇŽ:úÄ¿ð‚KÔ¤Õ—‹@ÇN«+i:vj͈´iÓ¶M›Ö~30…T\:v\ý©'ÿ~õ79p -.¹üü½÷ùÁ‘Gvá//õÍ.øåE>ØâqG{ä÷ýáÏÿY¬ó Þ]øË‹ý@ÇýlÔOŽ9òÁûÿèÃcüü¥wì¸úïøãý÷>è¹9üÈÃN9ýgÇŒúñ)'žÉgÛ±?"^øËK?Ñ[]ß~}o»ó†]vÛ),h˜BxcÚÛ‹}Ù±ãê3Þy÷‹yóÍ`žTmã¶ØjóµÖê9õßo|ôáÇt1$ú`èþûÀcã&ßÇ Šø³“€«¯ºá÷<mÛ¶»ôŠ_E3gÿâôV­ZÞ4úö{ïyÀ¹²uë6^ü‹½öÙãø޽øÂËy*Î=ïŒ6mZßró]÷Üñ[±8åôŽ<ê3~~ò £Ne6úápDüÕ//}l¼ß·w}ûõ½ã®Ñ»~ç›oºƒ}Ìyš¿ÓuŠ?äîûíïó»ƒGtÿ½¿›ûù\oœ~Ðóqáøñ|“¾ýúÞu÷-»í¶ë£oŽŒÛ9×±c§]vÙeñâož~ê•Z­öÓcGu鲿çŸÏ½ôÒ‹FŽçž}Þûÿpì˜q¾µ¸ÿ¾ ÿ¦›°DºuëÖ­{×9³ç>p¿_n¹¥K—Üw߃vÊ m›¶ýûo²dÉÒÛo½Ë³ºxñ×÷Þ{$·N:õï¿ñôé3žzúöÉwÞqw­VÛaðöa=¯Ü– (¢§–IµlÀŠ.úæá÷KÙ‘Ï¥!´nÝú¶[ïò®°,k÷Üu?l¼I?¬”Ü­F9S­Æþµtb% •ˆýþÞ¾ø¡?;ç6Û|3PŠÕ®}[x}ÊT&`ú;ïì¶Ó^#†šr;wÎì!{1üÐ#=fåÊ‘<ýˆÈRB:lŒ;Ñì6€síwÝmç%K–>õ׿¾!˜A÷îݺuûÞœ9Ÿÿî‡üå¥K—Tt+Ë”ÓÝå‹Kþå+e> @–¥(ñŽ•V×qņ\UU£H³>PC+Õ ±ŽêKûBU®!¾¡L¹‚AŒ«kcMÿ 3ÕÿPš q!/´ÛÓ‚a¥·Â`åoFñÄ‚#üïi¦âµÖ?>ü!_zÇ›sn¥ÿa«^ƒˆé(š¥™"ê¨Ð oˆž¬Z–XgX¬á» ‡h&TƦ0E¯r²a´@Nbh¦W¤\»S-MBÁïÍòyIÖ)âWQæ¡P¾‘$‹,FW úÅ‹šÙ˰ÅzðP ÐByBA ¹QwN×E~qV<©uü›5w¹¨{ƒLرJ*Fzðºf{¦ÐAó’Yað© ßãóæ/]º„;Z0Á’%K;v\] fúŒwß}÷½–-ZuíÖ½G=zöðOnÓºµ#¹®¶Új0óәƒ?úXéaµÕW+Šâ³Ï>[±â[À‡| ¹v®\£KgX¸`QžÝ{ôìÞ³g=»wîÒùËE_vîÒ¥²&3ã“êE"í “è¥”Û×øâ‹ùË–-ãsçÌ€¶mÛj:¬ôƒK£8JÝ;ŒÒÉ–óeÑ¢/¿]¾ŒéX¶lé×_Ý¡C#õðÖïÀ¹çŸ5`óÍZµn“HJ)žXºté|È«Ų̀„LÛµm·ûv]¶ìÛ¿þåêÑqÌÛsïÝÛ´iýôS_²d‰u-aVëÐfÎüeüøãO U;w€™ŸÌd9€y_|±dÉÒÎ×à^×X£|òÉLçøÀnŊ僶Úy›-vÔé/ó~uÖ€›µnÕ&0'´hÆUNÓ) f–æ}þã40gîçÐØ¡‘¼ùÆÛðË Î°ù€V­[+p‚бZÀðáûCxý¬’4]RïÒœ²æšk64È›×ì²&,Yºô;tåy{Á…çM™2yÙ²üj¼ª¨5'Çì`‘ *@}´õ²æê §Õ·ì?2Yø. ®…bйЮz¥î],MT 4r,à˜ Ý(\Ò«7¿8 ç©U,Sí¦‚…™.™h@jš]-ámGÆ1h*Èìa¦3Õ$ÿÏôý—¬žú* ãð5aÞr@§8¡®à „8P8þ&Á™YµŽm€ÎZÆBË©p„mHiçšñ¬ÁFÓØ†€¼!ò£9¾  šQYà‡Â§ü„ »PS)Õ⤌ogi ºñJ)S¯W¦¾èô­rŸŽžµ¥,Í"??—C;§ê+·ŠH·œ7¢ÇQï1éˆI¼pú³K®¥[2Ó¥÷0ý¥²bÉÚZ.´=‹Ñ—“­ ¡™‚ŒI4HYÖ¿®È¨ÕüÃ~%Û¯_¿³Ï9càÀÍ5ÖT @e­Ôw˲Œê74 ,_þm`@¾*5h(m·Í“õP«Õdšãùuæ#ŸÍp䬢IÏÇñLIY­V3Kþ^ªÓ|±uÛibÿr"²KʧñOÒõ›»~;p‹ÛÚjÛA[•e9kÖgS_cÌ£ã'O~=óktî7¨4)»ÿ`·¶mÛ>>áÉo¾Y Þ’UMÿ.Ÿñc& µu Ç•¥&‚5„/þés¬9Ds­VS ¬ o®VæxRï¹û¾-¶ŒòèÃã¦Ly,¥n˜gµ‘Éßpí×_{£ö]wÝù›-·Ü|ÐvÛ Ún›²,g}:ëõ×§>úÈŸ_{í5iÔuß¾öÛ¨ï‡|8õß´£[ ÿ@IÞ½Ð4ÜÉ—ãÿÙ«¯½2iÒ “&½PÅZk­5pà–?qðV[mÝtcvŸ/”ÈÇiÍTÀH]@ Å$Là&¤cÿ–g…à¨0û¯9ùPÐFÈØ«)lºY²-¦S¦#AUŸÒ6oÏÒu|?LSS‘qžýü¯Wƒ›bg¶¥RSP1*#™ÅÏc»l¹þ? 5ÙM¹à®ED|@±D.SG/Þ‰vª©ò…Î\Ïp«ùÐ@SK¾aª+Î!1(â¹"d(É“—ØÄ°úÚœ Éx¨”Q‘Œ)ÊcÙ¢‰¿RÉòr¤ÜEÚfxdÄüìTÇ\ݘ[BÐ…LMþBn)¸9ûŒrs3ÁÄ)›–ž9è…&º[ÎC>$R8'7ýW‚¬ù"8Åh\ QQA<—_Šˆ pTÓpžLgµËÏ Ý Æ^!“#HèOu½‚“cqáœrÖ¢ú‚d>2+;Uå >$† Ù0’§3Zâ3Vƒ€ùߤ2Ô­%hÄêVß&mŸuëF€„ç©:aAë·Ý)–yqë-,ûð.ÿ8õ°@žx'êì5CÀÑ‘„qŠ U„ ¯ÁÑ Ãð†²ð;ßP–ñV+" EQ”eN¼CæÝ7³ YÆ·‘~”+2àscë Ÿœd!ýˆ, •ýePÀ¯"j*›èÞ½û}÷ßÓÐÐp÷]÷Θþn­¶´jÝêªk®`¬á«Îbô¨À" ÖÅú0mÚwßyÑ ”9q}>§Ô²eKX±bI.dà´Sg Â.ØL8ß¼eËV ªàÐÝÜb,ØÊÈD Û»H©^ØwPá¾úê«£ûévÛo3hûmúöÛ oß ÷Ýo¯}÷ÛëÂ_]>~ì„<6„0iˆU "õKÖqÅ+RÕ^½ÖÛt³MfÎütÊäS˜8¢®âÁ땸qܬŠQů¾úêÈÃ~:hûm¶Ûn›¾ý6è×/ä‚ó/?v¢îκóι’ V_…0¾þêËCùñöÛo»ýƒúõÛ°_¿¾û Ýw¿¡ûžÿË ÔcŸB'Ãa{V‚SsÿmeµÕVè¾ðÂ?ŸáŸo¿ýöÛo¿5nܘqãÆ\~ùUpDVäÀkÕªˆJò&ÎhÔWlJ‚¤|¹seéñA€¸ømRn(o)Çc°šKÑäÚƒBÒeÉ®ÆÕäOkpÒaÕq|UÞ”Õ2d©2V’`­úµóWgçÐôÉ4·}·‘ótz•<,ETàXõâí"IK‡Š¬¨N=Æ.@9Ù4¨Ç€°<8K5ZÉ…Ø~ÌêÞû˜Šb KÿŠÝ¡t%@¡w`ÊÓŒÑïÔHâtùð%AT[­þÆ(sŸåZó£}B[Ôs@_ã%©Û›½QÓ•Ò{v ò¤ •ÈrÆÚ )¨PSœ7(4W U¤LpA¿üp¬Éι’N© :RWé@ùEM`¶A ™]«f±~òwŸÌ•-9C‡_²ñft`D“‹6ž'SnK2Lv£dÓ6XlÚ0‡ Cj+üž6!$9ÙæKÅ}Q;!Ána Ã,ûÝk n´®¿ –É­zÀF…x±œ\¥–®Óp/Y**)Ȩ=Š×*Á=¢¨z&Frˆ¢\'é'@œRq¦¹S‡HXa‚\"qÖÁቅÄ9›á¥H‚ΕiUtΕer³UÏ:'P/F÷”³S2P9oµ&÷D{Ť–¨ÂÂ5?y?øSçØ±ú‹†aß €·aýC‡ i×®íí·Ýuë-·³tÛ¶m'ÂFpŽÞæäÛ¢¨ˆêgr·._¾:4vТÃj« C,†•µ,Z¸ð™gþÎm#á9Ö&¡sçÎðå—_±Ð‰'Ud?=³r劥˖­±F§ÊtRs f>Y¥ÔW“kª­VÊ-”¯rØPÄ{æà\9é…Mzá_±Øoè>¿ºèÜ“O9~üØ ¤+äJMŠÁP à"ÂZk¯=p‹³gÏyõ¥W-©‡{ÂñþBb áw#ñ@‘Ð_ºô–Jµëm M, ˆX«­4ËWNzþÅIÏÿ öº÷Ÿ{Ê©'Œ;!}ú£1Æß°Ñ4–`^•"rà\í…ç'½ðü €X ¶ïE—\pêi§„-IªeË–ûî»O­V{lü„¿üÿV ¨ÕÌC¶ý3·ÓcEQì¸ãÎ;î¸3”e9vÜŸÏ;ïœk¯½Ò/hS½övºè«/é‚݃ x9{ž€íÙ˜‰êÌë"ï¡æÉ)h.•Qš| Äv l$®bò5GùÛKj\¼-Ó”ê¤Db6â%ˆ0|l"ü“Á4õN¢x>WUÙcbë æ´yjƒå|!Ã’¤§d•åøq“â  ž'¾œãÂu~À)” ’ë‘<¼šWÊšØ#òä."OJv&4¨Rb [41f¶r3F5s0üXLD kZ ØÄ Èü¥Ë ¯þ#tÉ`س8ˆóx9L¨sEHR¨JV°B'É'ÿ—IM[œo7 ˆÏämü–ƒÝ$qP"gF‰áàeP,OLFô–ô¨³—e×Ê‘xGtü`@}*ÁˆT¤ÄHWU6ÕDXÙ鎚QÔnYÒ"€±óUš"¢PI¿¾.8Ъ³gK[¢f¡®=xèÙq*î5Ä’ ±ÿŠ™ï(Ç“–8Äè;ö-É‘¶pàÀ‹'Ö….+²t§Wyeû#½ÿH>ßQ”#<>ë“B¡‚õ+ádkѲïÂÎ-òèN÷Èšø‡5ÑÝ̿Тôÿ”1Z8å6ÜGd-®PÜtéÒ¹]ÛvÞÃ`kvY³]»¶_.úŠÅ¹f—.0ó“™2@·n]¥3î˯¿€uÖZ[Ïú뮉lÁ‚…K—.íѳG×®]ÃÏѶÚrKË‘›7o¬³Î:L."ˆ·Ø|Óþ›¨ºo¯46ߦO77Y™âHpQyoúû­Zµì»Qß\ã€*RÌvƒB§ÝÈÿÚ`¯ŒˆöÕ£D½/«¯¾úêWçÖ:ujìÐøõ×_K_XtíÚµs—΢ŽÎ7ñ£?^£s§ÆÆF #´}ß¾}ãnЪUëjFø³ÊðIC†ìY–å„ñOdÅáËW_ k­½–æ|Ýu׎ª-˜¿Ö^gm­Ç]ºtn×®íüù €âÝ‚ `Ýu×F,‚[¶j5é¥gþõòß ,üµÂ ¤sgáË•,ö©ÜqÇ~vÒ¨¾õ ºÅ ¶ue§ä$ÓŒPtíÚµKç.\³tµ±cÇøá‡;¯ÑØØAuávÞeçN:>ÿü$¯óÿ%¥±±C«V­fÏžýí·ßòÅ?üºtéÂWʲœ3gÎ_åEQ0ü Þ½ûÌŸ?_if8ÃëÏLl¾ù˜þ޼Œ«‘Ÿ×ÊÏioT‡p"< ƒª=D,°zŸ›šÅWl}˜Ð—>pÂñˆþÅ¡AÕÏÃ*cI>¼çg®þQËJý³RŒ:Á´G%˜j8‘+ô ½¨½Ý`Þ²ƒcžú„ìÜèsj›u.„]°‘—b£ôd`r –zHBˆ¡œ¾°j‰¢å‹¹Eü8BEz•àèH뚣# ù Ug¦£ê)o Í•QnU”É´ÍSÀB ¯Ö@D­ë8ù™hkâOꑚ¹Ž¡ÃŠ j»µ>ÿÎ-Ñ)Ô—“9d-Cà= ¹ìl;åoQ»SÕ«º˜r#°"ª›ˆô‹f«…íÙÌ&€b‡c‡²%1)šô€™ö¥7 LH\=0è§É™±CgA5­ÇL\ø»éÍÙVD‰ðÈòap‘cŽ;ÑàVΡ²îÓö¯Ö!ŽNQY}°†SµšÍyÔ.ÂcËŠ8uY3ÈȳªÄuTU }”1 ôà}.кF².NhGVè/šL-yëÐ]B¤º`~ ‡tnÁ‰¶ƒ‹ÅÉË0ËÙy⥬ÄE'ý"WTU£ÂQ¨’ö j[HK(• µÝD,_±âäÓN,°[´hyêé'À”)SXÊŸ~úì±çà¡uëÖ£Fc$0göìÙ³çtëÞõ°#ÂÓSÛ¶m÷“Ÿe¤‚®,W>óÌß®¼ú×ëo°~»vívÚy§ƒF$ßᢅ ¦þ{Úºë­;ü€áÜzè°!÷?pï)§T¥´ûí·/<ÿÜ Â>sJj˜L“È›%ù ÿ€!ûí•Eµæy‰;Õåó¹ŸÀöžø´&Rµ úˆÃIÊ7‹¿9é´Ÿ54´€¢h8ñÔã` ?¿±¡¡aìćŸxjl¯>½ÈCï^ëõèÙcÉ’¥K—,åá|éÖ­Û„'ýã#÷?ð‡{Z´hYÅ(b1d¿½s=6Q7÷ ì°ãö»t~ååÉsæÌ1­¬Ι=göœ¹Ýº}ïÃ~䯴iÛöÈ ¶ÌŸ?Æô÷ºv]óºÕºU«ÓÎ8&=ÿ"¾`þüéï¼û½ï­yÜñGûŸÝ6 'Ÿ2ªuëV¯¼ò½V ÆMüÓ_žÛ»O¯@BïÞV B¥ëÛ¯ï·\sÌOºëž›Û´i Þj´- çŒëMµ¡¡˜ðÄØ§þöxï>½ù^ïÞ½zö\kÉ’¥Kí³—†°?ðëgMú©é¨ùÿ])Šbð;®X±âºë¯ö‡/–,Yrý ×ÀÎ;ïÊÕʲÜã»ì´óöï½'Y¤÷ßïÓOg¶k×®];Ž#^û ÿ|îŸ6‚"9D”VŽ/2°¢Ï™ƒ›xLKKãmývÁ. ”ÐsèØ¹‚b!"E†ëT(aH—YÓfí½ú€fU„—ò*{ A`N^y%[Í„ið‘†b(bLPÝó:ÍA¸V³³˜‘¤¾/Y<‚)XE¹z¶¢¯î# IDATïTò¼¡ù¨¸Q`=¨QoX÷1­SF*„G_é"ªS€Ô<|¡?š ò.úßcd¨²×lWqy›Öæç¡s`Ô° ¬)…θP²!$VHÕ¯• &6š`i§—ÊñÊ‘Ÿ:«ÆŸ©?v/¢sdÆý$äTÉQÉ ´Ÿñê,©ˆIñeäXN„)‰x‘)55"rsв¬$ScÌIs•W\—^ÇàC¢QÄbôT !­žŒgõ¬Ž-¹HiôÂ-)3F½fŽg9lI;z(T8óâÔ²ËÑåøyOæƤ¨´d Âê¢=4÷ãa‹î“«0ZD¤'9E OP¿°we½À#âFF<-1Õ—8Œ„<©cˆ¤¤‡³Ø‡ ‘ÚªH"2üGå„0§äW€ô»DX´`á†nðØÄG?þø“>ë÷éÞ½Û·ß.¿ã¶»ÙEŒ÷Ø‘GºË.;>2æ¡×^Ò¶]›Aƒ¶}öïÿP’T¾á¦__yÙÙgÿüÀ‡Ï3·o¿~Ï?ÿONØLF¸îšë·Übà–[;îQßð׿¾jÓÍú[Öà’K.»ÿ{/¹ô‘#øé¬Y={ôܤÿÆß|³äÚkG;:T%Î`Ÿ½÷¸Å€÷ßÿ`Ò /ÈÄxѲlHI‘’cäO;臌3ñ½wß‹«4/ÄçêŸnÒ7ß,9è‡ °Ù’¥K`Þ¼ùçœyç6<ÿܤ%ß,9ð‡l¶ùfK–,€/¾˜î™çéN¿úê«Îk¬1nâÃ~ðÑz½ÖíÞ£ûÊ+ïºã7€•µ•üéχö£‡¹ÿ­7ßùzñâmܯE‹†ßÜu_YÖ@ÛÜÆý7ò§^ƒ>]Öì<{öO;’WuàqÛm·îÚí{¯¾òÚg³>ã°ç_Îù×ÏŽ;ÁD眹yôí—]qÁ™g2üÀýæÎù¼oß _ð“eËUW\wë£O9í„?>ç³¹ëõZwÎ>ÿ|Þ·Ý£ûýõå×ÞvçèŸÿ“aì7k欵Öéù½ï­¹xñ77\{ ÏÓŠ•+¼@þôhHcûÆ7é×¢EÃ=wÞW+k^øôìÙÍ·íС±cÇÕfÏY‚ÀGsbS^ÇPoÅÊåzèáÃ?äÑ1|óÍ·¾þzqccã&›lÜ¢EÃ]wÞfºt^sðàí-Zôgÿÿ³òñ'ŸsΙD™€ æ-SÕgŽq«ÐCýÑÀüÌ4’‹ÝêK¡Ð›{³Âkº°eÊÊË>Æ£ú¥[!Új¢õËUU4§‡rjÒœÖKþéŠVjúŠº½æšº—G2htâý£GÃO8_Êâ`Q, ¿àGŒÏ™Ê¸fz”åè«Ù?ÆE€ŠjšŠÐ±Âº.&ÀHÆ);#JóKÓ5­ê;^_É\äµ>gˆ]¶·‘åËŒIÍô!si„u’¨+ír+ ´Z(“ÿ.œÛÒ`|”ŒgQÐ EÁ»0|Ý£eöh‘Üôú'¶–Øb2ksŸ~LŸ–‹RL˵c\P>Р²§!±Çì8æφþWëN×W¢åô ÕãºUoa¦V"šÔ¹FR2_«*“ ’¥ ™ ›À3”©&‘L(?rËz€ªæªD)f‰Ø©ßSÐAqÉ«‡B¥Ôšƒõvœ°Föz¦Øq& hM NˆÔ„:pPù7ðzuM½K*ÝG·F¥àz0VçpãÕŸ#i®8ˆÝP 7\§x"`[_SžUÎþØùŸ‡I4àõ†MÕÏÏ8÷¬³Ïn›­·~À°¹s?ô‘?ßuço~tðˆˆ© &¬X±ü§?=¶wŸÞ«¯¶úÄÇ&Þwÿûï?”äXùüó¹ 1â‡nØ·ï—‹¾üË_žœ5kÖ9çœÖÉ¿ýöÛ#:øøFm»í6ëo°ÁÜ9sþô§G~sϽ³>•ZÕ÷wÛõ¢KU«Õ.¹è ká2%q›¼©! Ì›÷ÅÍ£oÿùÙ§Þ|Ûµ§|ö[o¾m{k²˜šs?ÿü¤ãO?õÌ7Üpƒ6mZÀœÙsÔ’À|>÷ó“N8ý”3Nì»á­u5ÕU‹-.8ïâÓÎñÉïÿ£ï\—É“_?òÐcuÔ–[0pÓ/¾XðèÃãî¸ížy_|¡«ýûõ©‡ṟ?=j«­·0pÓE =>ñ¯wÜzÏÌ™3ùpÍU£gLïÀû¯·ÞºVüþÁ?1­L÷ /¼øÊ˯ö߬ÿÄÇþâ—÷üC,Ç0…É«¯¼nÆôwúá½Ö[¯Ãj–/_ñáŒ3îÁ~/èÄÁÐaû544L˜ðøŠËM7MìIeÊ’o¾™<ù5}eÅŠ|eáÂ…«ÚaŸ>ë?úȸÑ7^?iÒó“'¿Úµk·áÃ8ñg§Ð¾k(çžs^¿~ýþøÇßøá_}õU«V­z÷îsÐ#?ü¨¤KÜ}÷Ý.¾ô¢Z­vÑE—§*‚¯´8ÍúKäÖ­ ÄgÓ…WÉ.Å”&8y—=Ð NnÁâqM´ºCuE-9kõ—| h–èJÕÈ×Ôq8J¬j²l”vž¢WÕe3è­¬¢C¬SÌ‘ü¡‹+æFÐFv6~—´ÈfÖ¹R G«¤ì(šÛ¾3NSÅËEZÍ"ŸipM \Ðgš£ãa)êVþ1ßd49d(b‰&H)Ô .LÇcÀÏ AÀDlv,^§™Õ e2R†’Ѫ‹Fµ.ý˜ýÎ×ô¿êªÑÃÖ ïŠ[R?ðöχ‰Û~2VRhñ6ÏèÊ_[sb—-‰"½Ù ÜeäÎã:é`h?:B¹1»hJ>‘ñ¶ì>«•!E½øÌ«b *ù90#$ØT–V©,Tl×*]ó u ¦i¿äLäuÈ?W g.¤Šã]É”“Üå¹éոбñUã7´¯jnçÎå^úýFœ Ž»̜ф€¦D9ØU–¥uJÂõÄÏv²ïΡ´<­ˆ‘æ.¸êè­Ôi )’Ã]érQ%-©gl2Z: Ì@¬ÏÈŒU£Ÿh×"Ê|;~Ù IS~~Ãõ%Æ;ÕC|N–²t¤)„øÅ":~#Kæâ¦tëÞýégž|cÚ›Ìêš ŠÍH;X7fp ˆªJxšQêy[§*hyP ÑðñMâ„oêÃá"J4‰:QçgªˆÖñIº5‰¦’ÿN™·ãnø:÷&ÄÈ >y‘#­RÀé®zWVa:«+ò).ãOb¸Ä^“G0TÔÒeî‰%°|u>(7ºŸ JwMá/nZۊ✬nE¼ ‰Ã5kvëLhÓ0.¡U7 ç#c§PaÐÔ->Im#Jϼ)©ûK÷¢-ª¢‹9Û  •93Û¨ØlAÁXN0Büß¼e·\G”SÕòQ¼¥šeŒ‡¥Rª£(±]¹+boj ´Ìªm*&¤Z9>ƒz ;K|s¼‹òÓNeœ@ü†M;²gdóïy¬Î8 ûÞÿY¡É­6Ó¦ãt.FZ¹Þ-o‚<åXi™œþ2ëz/\2XºÄQÈ ÖÄ7zs!°d5“ÅYFÈΙ'ÛX´Ká˜!°'õÚ²ŽÓL¿š@™DW Éžaæÿo5ªbú’óÏê  †×õ8ž ›á, ¼@Ðo}ZH;çwùácYBM"Œ@³õÖ[À‡}m=Û¸ä „}çàû»íºÃàíß|óíË/ùõo¼%ç©´8`óþmÜÏHǤðƒ¸Íõ×ÞôÆozƉû ÙóŸÿxáÓOgIy [éKX„.Ld•í…ê™:æ"l]s uW}Ëšíµ÷­Z·zâñ¿.[¶Ì&úÐ Û?xloÞÆoƒ4è&³C-Ö0AÇ6‘Ô” Ì¢,ÕÜ`͈Ĭ\ªÝ¤³_è9³¤Qª’«¢i³›õîÓ{ú;3²«Ùÿ„«ÿ¯(ÞíþýÝv¼Ã›o¾uÙ%WL›öÿÎ-²œ•Ë¥ç|….¡ª ®°·F†|J$p#O²BWùijŽùMj"AL0ó¯ÛEhN‰@θQ†¦UU•N‰ãžš$Ò„¯M˜T-r u]£|£O6†Ð àÂô‚¶ÇÔµã§m-Á›‚=’œä…æ(½íì‡JõjÊô]éDºKxä\I`+}”÷™kðë'—b‰TÚä”n%MÄñ[nôÖ…é?_ªä¬@‹¬æP'¤ü:`í²ËÈÈ©DLD¤wUWUB~Y,¬ ÄZPÅKvd3–NïE„ C52H\‘#$:Íò³¯‰öÇÚQ4€N\:$3âÛmö]4¦yù>¡“XEðøÖ±ÄôëiGŒ·Oè(¤„t¢Ñ{0+F«Åò3SŠ!Îç²É÷ñ¬ð¤MÎÞµsÍSJ±D§0 õ Æœ‡­/8záªÍ9: µ€?C±z’:’Iµäüçð MMþI¶~æZ=Lx´CË·œâ¡¨; ~Ç¡¡R2ôf_P¿3P© sF”ÁîÕÛkœ¼µC;;Yh†n‰v3qçùÙtîÛÓ¦ÃI$@µdÚ[$ð cCÝ%·„ñ¾+€‘ø³wŠYád¶te?ôyèa‡îµ×ž¾÷¶mÚõí·¡sîÐCŽ˜6u*èé5'‰@â©4èÛåßN™ü:pH3ª¡}—ˆ¥ù¥E‹–ÛÞö³Y³ßñ~3›²Ðêb›Hïøº¢V G;´ öÚmHzV3jßÌð`u%sÓ@%5JðhlJº ý_*—Œ›3aA/h©âÿãî-«:šÇáÙbH ´@ ¥X‚4¸{‘â}J¡@www(Niq©à.-n IÐBˆA I€ÜýX›ÝsnBû~ú½ûô!çîÙ™[=T«ä*!d ¨3æh@„d^îÔ°ˆ·É»æEy¡éT1ÁÕþª#€>¸Ò߸y%#’ÿ/¤ÏJÊ¡¡ioß\¹|O…Ðhq›zÐ7Yà 2ú±énTÀH’¿šVêk‰z€¢Ú‹{„ñ!CԆ勌Ét›O)’jD-š8”ŠV 2{crÖ»êú~7VÛÆ »ü‘aI­ý‰ ŸØ"¨©nÝB%‚lvA°÷b¾–‘ê,­‡Ì´AÐFp´PM“5iꬆ@lþ²}px†uÆòÊ Ò ¸¹i‹[òjq±Å\ÇýÓÞ<6GË7¶øÙüøÉ +'r‚2æ ÷¤«;`&H²uͨ è¬ vÛeâ¡„vá}Œ¾ˆÅl\%† ”“ …DÙðl•m]7Ñ‚*q™Z½Áe…À .«ùÁc P ‡ÃI)PRâðOÑ øBxOêƒO ]ýr™ÐNªeÚåòAJ…p?"^@½/Ã[ÙkFpCU¿Ùå‚bLê|ñUS(HÀõ³FÊávŸ˜pp—ikòQ€`âìÉ0´˜4ùdˆÇJÂ} èI•1\YÝ º­Ð‚ ‹HAm“­®zööVŽÔôèaüLpYP¦ü;Mh儚åEâ©¶P¸ðŽÆOÅdœ¬JNÅ• Âð±Q*œ”‚…FShåO€ag)¾ôà P rÊ,Ý@Q˜ÁTË×¾õ,Öˆ˜>åÊ—cÏIIÉ×®^[²dÙ×G€RÛÕ¤®Úo,w/œ?Èæ¼‰F#1Ÿz`é4Kz÷îÍÉc§À0m±‚t9ú’ÆAÍÎðJÿWå¨åÁ¤[qYŒXËzã%"jÉBº×¬º¨ñ„B0ØGDkj)Fd` Bnq¬fv Arª÷žð°j}ƒà_k؇8LØ"=”¾O \åd‡éÒ°o .¹ÿ,8wþ‚ô2D1D³HŒj9ÊEÅ .5sl6|*½°ö¡k„ A䢭4k‚ÃäêÂe»Ì ¬“Y×t]†‘²‘«Îh_Œ†­…ëWC*`©:ÚÇEËØç˜%TïëêGŒr ½µR:˜hM¬ÅQ9 .š±bmc:­­°_‹ßUñ‰E.D X*§öcH@'}•¨¾C‹¶âN q ‚uÖû:-u ¢í$@QªÈÀyºJJPti¼Ñ¸©‰£š5"§´e;” 8VQ•“’µìHPÎÝ!kÐìäT”$¨Ÿ8–+~z‡R}ñ\ã¹ä •·©°ÈÞK«öysc„€ú ;{F∡2Š´™C<ž·ÅôÅï‘ðÏ9Ëm;†L#kÃÀÊ~RX¨Pƒ nÉHœÈêº}Æìf*%Æ6Bðp·ZèÁ4*ÁÆòÂ#Ie°7ñ ˜O©°#¦Tu‰¢GGƒÚ•5Øz&àÜì5)PÈ¢àÎöóó™$^©®Ã}íRÈ5d]Ïò1 ÕjŠp]›*]2'ÍóºÚt#Eì5#EÄ4,ªÕ?¼oÑÔhË“ håÇœú0Ü‹(Å\³hFÿ©1­˜‹&üþ(ªv»S4©mN¿ˆ¿ÐNìÄ•âŠj˜9ñ@4ú„¢¥µÎ  ±µÀŒé3fLŸÁw2BNâp :Û£CÍÑ ³SÈñ²2Hù}‚n–$Ó2WnæëDpû·¦D(ÛñÞš›žþ®bÙ*`²[‹FL,¨ØÕ‚Œ¡â2àD«jÆZ&ŠÔÌºÌłʽ^¶ )‚¬éØ´Vô¼¾\"†ÿÁ.X3ÖvÆ×4özñÙ+5^ÂbÊM’•bjbÉ'â(î ìDìð@™œÿû‰‡<ÞF@FFçò¿Âô¾/ér=JÍ€½^[êÚŸí´ òéh.E½±€´¶#´ wï¿LbÞ9s“A±”»t±Æ¹9£# v¿­ V¯ì:Ù|¦øëè/Uªœ¿Õ%IÃl#ÈŠ|b×¾½m5!ª?º?vÕÒdchÁ©‹ÄL³pànq<7'Ð$ª)9Z×ÝePÆš‹uíûˆFƒ‰‘ú)\†¦#vàä2 O{¥€"—§åKP숭4blœ¬Öó:rB¢ÑtŠ0ÅV&f?(rÆva£k•µ²Eì-DªLm ëÖ@sìèݪj囸¡/ [H5+̃ ÖANìØc’Q°!iµ5ªIíM±/Øb½j£lÙ¾F…æÒÈ–M4ÏqÊ“Ãë”Ãæ¹<ß> µdº–nc ®i5uïaEìì£Öc6<‘½Š^d8ÄNc 4‘Üä‡mÞÛÂqÈš¾â15*í‚m®â"0–Þ©ÿ‰ ¾JI¬oq(×J%éå( I$:âÐŽfðp a/ë蘺چú/Õ€ëAëý)»ØÄ'óö„ž€Ð¶ySÌÁ‚èRÂ> ÄAêäcâ ì§ÓÉÆ˜ ÄðüJâPljþÔâ@MT-ç°3™2õv)cõ‘5$ׯÌRB¨ˆu€!9È©R£_3IH‹ml»=!¦}³ ’.Œ9 µ‘> êÐ òÙ|:Bh¹Ï›j¸Ùg=؆Mý§•öêEî­W¤:àtR]‘€pœÀ{[ ¿ôÓ¹3Œ1r† Xމ³º|øTè3³h2Šˆ-ÁŒ«NkˆeVc¬6Yn»¯NP1ƒì,›ÂZ®êJ*aèRË2 á ¶l¶ÔŒ €¦Z.Ä€Xe @,‚PC 5ú}¾FQ%âkŠ„È8Uò^!ÉZ‚˜È—Ç1(¨S‹;•™·+†xå[U·­á2—ذD ‰"l=Ð%̰‹ Ù–./¼*$'×UGPM¶ dô6 ‚ÕV/ªÎw‰òÈv¢ÙÏÿ_$±û‹(á°ŒfE<­%j<ºGR÷ä šø-fu¤×%–vðVwyÖÈ–J À»Ú¦‘—öY”qÑG%ï—ˆCÓl±Q YUÆR*Ð1ùb­ö/°“É%#Ūê—(¯j1TBUq8(%—Ä^Í5F®©È¨¼<¹¤My2‰/ö)È{K—®ûÎ[¹\ˆgźXv%":âtŠè'¢ì—µ!Y%ÁŒülÖ>Y>–*ú ÍŽ3ÄîQJ“¹aµ “ióÚ&œP³}\ìö)®“mˆa)àB6ÔÁ¥ÙÈÌE÷Óh¢ó”`ލQ«¸ö00¦8®Ê%H2¤uQ’ @pˆe %üð¿ÄÆ&`fŸ á+`¬2!„8ðÜ“‡tÿ„8ÀNù)þóà5`S'ó‚èÁŽ}Ôdá‘=_ì*Y3.!6e-1›YBnY°AI1¢×÷s8Z)‹‰Ê;v8¸hÅõ–cܺ>Ì33Š»+4“h-­Ï¹ËH>”±ío]_8O@A•‘³µzSÊÈI¬¥¡I©’“/$;_ä#y}[‹I±0'cd}´YñY[Oæ† Û?ö)« ##¥ jïÿ³ÑÊk°å$0&Æò_³ð»ºŸÍØ6!FK.­"Q†Z*1“.͈evA¢èòÈ’Ù8qa"ÞËVQôõG~×xñ @5'DròJFœÊÌQí‘XÁ1]UÓŸTåi³`BhŒðF¿¯FWz+kŒe$›u5¼ B Å€2¥ƒ‰¥¾$„µˆðBJÔº¼ Nš&…7±<ˆ „8)û—v‰®]Rùäô5ÑÞÛ<Û†ÂÁTfkÒ 8f…èqœ¥õÕ ýŠdø¯àê+56ÂlúGS’,–D6$6 ª¥Ìg—mºÈÉ0ÔÑx£:WI¿å8¢kXïÓîfì dBFÕÓ(@á3au[/ÑM…M" {¼•ˆñGßr¦'¤ªò;wºu2¶Ñ”}Bv[AÈÌWÙfiXeÖ¸ .´ÊTþ!”‚n" ¿ûÒ«õ>)ƒ­"Im4Åz<cŠØ¨Ô—"U¡ö½«ÑfÓ”ÀD¯H­ò.ÏO¡1Øp:qtäÂÀBÄy ¹N®ÍhÕQÙá IDAT eõVš(SÊM–Ò`[âÔ %ã†4 „/zÙ×Utlš"‹‹ÀYT+L¥ÏrRê ø)µ‡C× "ÓüÿX_¤$†…z”ÞGôehe ±]ŒêF6WPÖ 6žSiQ¬´ˆºë;]Ñ¢Y,o&–.!X4BpÃQÛ˜Ð÷Á“HIShŠ®v™·&Ãl2lƒ¤Ú4óBÍóù4µV4@"{lçQ9fBZÄYO‚;CÕ£ ¦)ZLĦ„ دPÙ‡‰Ê§!UèöWe- Šãˆ\kHE8T•"šM{Ge ÐêÉ¥–öÇúžà64øhÌv›§¾aØl;3w©[Ö Vm‚×L¬íNÅŒšÔñRa礨´:K‹ÿ)W0MÙ,¹ÆP„VˆàxA3D6JµNlû<ãd£ |iE»RYâϵŸr;ü§‰æBª\v»Ðq„ƒë—¨¡7¡”R'%‡G%,‡öQœ$ÿ g›q² j\Õ±®4X‹#kHP•× Áo¾ÖÊY0£Öã?hÍ(jGEN—SûStóûŸS†Õe a‰ÞvF[S5þ \l/.:º`ÿ‹Ð £¢È“Û`§l½½ `åˆÔFõZSqO0•E;h˜²Q§“²5Z âӘ⠎tp*…ÎYÿ ¡Qº¨àõ¼?‚zqM\ߟíZáÌ´Ý:R„oö‚ak½G²÷3¶& @к°&JÆ„oãòAE Æú]8 VjÊvÛ!¡\‰‹MX E 4>것‡y|9†já¾Hç åæ\Åiã¿ê[Fb­X~ÓÐ66W¨T#ùGȲä"7>YäŠï±‹srD­„É‹4L(‚^ãZ A¾Ea5 Í´úFROXÐMi1uNÈ0jÉœÈÆ5¥ˆ©žeYx6»WÍ”f„/áP\'jFQ[‹•GÛR¡¿´‘feÐô8Ý=W¶È#(@ƺrX sÔKèD$³÷h&KŠ2Ò`SLÑíâ乩®J‚±À 1­+ÍR|yh\³¼ø[Prn‡}tÏè\¢±F…¨€c,. @¹yP—¤ $5Æšj%ŠPÉ>é–þ †BxñM¥¡O“kôªÆþ³BË&º²ç3á=‹‹Û'3¨À­PÓSÅ!ÚÜamKpªÛCQ­D†¾Ï…Lº•tyéƒ.<¶@,Óï±¾d`HU¾ø‰#;JôÖm ‹™@i}¹Ü ‰ íZ_YÐé.¸‡ºáÓÝ€E¦àÌÒ< ¶$ÂÔ!E“‚J,’ƒœ<ÊDöŽgÈ7r.€P‡ƒâp:æ‡'ÍD¥ Ú‡J.eçÚ\-#[]Ÿ%XhÏ–Ðw¿š€k/¾{DYiÌ‘5´²_Kö3 .Ȳ‹xEí Ø XK™Vä‚0cMcÕl­lTF*Z%&ŽD±„hðìL¥-OLG™AúEm›Õ#ó’l6RuqP6 ¤—8(B©“¦p SÈÊÇ⩪N)х•ðg’ –LE53óõXœ,rïB4A ³ÄÚ¸zÎ<²œi¢#§«8hë4d±ÏÖsÿ”†¿£U䆒š»vt&q=~ÂcÝT¨'åx€K!š¡S¶BqÌFBÔ%¦|$¿Jy'46È0ˆ´ö›˜ñaÕìé'ÊÕéD:ÐKÔ xª:à›u¨Xm’KÌ ¢Í9b&c'LW»•ë2UÙGázyìÃM¸îiQÎ^È £m÷Ú6^yOµ&H¤EéQI4p§\ôx×ÎÛ¶iÁMÍ ´ÔAe1bR’µÈ¢bÆŽ5d´D‰¶RÎÙÆÅK펓ò&$ÓÖSlú¼>ÖQU‡_>Î~b#Hô)"ƒFa6ù¤Œ¸…DY ]ÂnjL(TQ 3W:þDΖ0ð<ûG NE 1¿ì „8Îôtܹ^DqT¡N„‚Â8qꔈ1?‘^]£Y¶¾ø—[tˆÊ"ëP~–UQüÇ¥Pg¼Raq16÷.æQÆ Ÿ§ÅÙè=ÎGâf–Ô*S]ôy'4ø¡ü½‚zȘ¶, áTÿÇŠ GX³Fl‚¬W ØO [Á¥[h[õÏè—ÅTY;Ù:RS&•hÔ{9˜’šeªšÔVx2–(1oŠ$KZ8PV!…âÈ"š´¿&…ˆõ'šØs]•GÔuÁÌ­†ýf£„šR2E” _v1§®FÊZ ñ;c܈NT¾yx‘;È1;H™xpû’Ä,*aâÚ¨®à俎®PuKó™‡"F;ÔòÂ~{¹¶ý]:+§SìRÐÐ]È„ßë¢Cà–‰n‰r:‹åæ ›îdF”œòS ‰ë0ÍFý2.‘YRbÏž̲Õ[2ÚÚ#v8Ùv¬!ÞÖzï7Zw¸~E5ü¨Ö.,aKˆâ?™MŒ2D†€™ ÉïUf­‹ÐÎR‘ þ«žfÎÕj!ÇЪ X‰)ª/{‹WnÆ|9”½•¿{^Õ`)"(Î`SJNùvÊÔÉ7o]¿yëú­Û7nݾ1nüXJœÀ‡¸”»‰Aà(¨ñ¦NzëöÍ›·nܺ}óÖí›ãÆÕx@…ª³)qpq§)_¬6è˜þȆ[üuùCûù/UØ&QÐvSk‰lÚºîÏ«çþ¼zîÏkç.];ßî‹¶ØD«ÎÔSõ°êóÍ®]·–]ó¬uJ°ˆÚâiõ¶È R£€m2aSýÁŒýl`Ú7@5rz‹J†0ri(Sö³«7ÎoÛ¾ƒ’‚0~⨫7ηi׊à=m¨¥ÎlìGeÇab¹ 6$@88øO–€CÖ™Òš9‚ 0C†xâx¾ 9>“Õ$ e‰ƒ€ŒVØpV>Ûš`,"Ûaþ¬ÆÉZ>B'°™ff"ƒ¶Éj€õvtade¢ûTzš-[¶³¹x4k¶l. KøT#B³Ë¦í±A鈕“D÷›ª¹ ô–Ë”%·m™$›Æ C Œ6dËêsFç›AÀ|!xÁUúiŒ,ůä³j®ÈÊHÀ2>ŠÐÓK0†¶J˜å1r ¢w•%82€PoÉ!£lîåÅX—EÈdƒ¥M«&i• ÉT„p\£^ë† gÆ#Ü9F8Ÿ¨l,Ôî0‚3- PGª²lP³É´ËBÔfº_Q£P·‡4‚m‚Ÿ,:–!BÿÖ°»ÿPÿSËï NôÑ ²†m¨ Ž)ˆ©jÓ¬WÕ‘|j5„¿V-+!CæÎNPlü¶ pd}Ð~;@Véýë$&†â2ôŠ‚ CAO °9ƒzBñ'íÐÖ«¸~hjõ>—BI'Mä¿ ZÍÄ< ÈmQ^PUµ¥¡3¾Ð¥6¾Z'ï3½†8Œ#¯5ߢTl瑌³›çù¢’¶……™rìcÙ*dàiIîØ€µã“hÐ°Ž——çþ½¿¼NN² +ÈK¸lh ·##£—/^…ÆO¿Ø’¯‘Ä-2qy“§/Ïš¯íjã ÜæÑŠ’¾§£A#ηäädíbwܪWZ'IÁ¶\‹ÊdÈSj¶¸Û·ÌBß÷K(å·z˰Ʃ¢/ ˆDþcF=‚«¼I‹‚i™ˆÞå£*a! !”¯;imÊù„„<@èBÆ\îd@vŒZóMít Ýj(6\:LW‰hÌbÒ¢*[\ ß#:0–B¹§‘28ÄŒø,@ÄŸ e“ €–›”µ™N,6ˆÔÑ ájŠM¿.£hØÆFÆx•Áé -H‹kýðL¦IuŸœ,Ý¥±“e"¶î m›Q5Ò%Q*€ç“AñY,*¢ ]¶ ƒ.úT]ú¨±BÒ!­¥Î€ 8lõLÕÉ•@óA{-ãÁŒ¡ >!ðÞ©LP™nÝ;EFF¯X¢¹]Pá“–ð–cÓ]¡€ˆrèÈ ð‡}„@à!¯ÃAô¶©~üƒH­RÃ!©÷\D´5"(£N­8.&Ý•ý ¢ @ûö_|÷Ý0OOOˆŠŠjÙ¢•$WÒÚ¹k§Ï>+ãë›#!!ñÂù k×­cÃK ½‰pGwŠé3ì¼J¼Q™”ýY¼hÉÉ“'¨b7'’Add¯]»&´rèš5kçÍ jÕÐðЋ.9~ü¸Õxº{\¾zYþLNN¾ïþ®Ý»ܶ‚Ÿs“}3pЀJƒkÕ®ùûï‡#ïFr|l,T-&3íYfÎH:á&þCRó1b1šçûåô;zâ—èè{m[wæ2I)Ìš1‡ÉRß/{÷ý²'³®¦Z³gϾtÅüÀâGŸ?wñÓ'OA´áéáyæc11Ïš6hÅi@(B5g-)Ö/²ç‘íÒ¯Û•DÎÓ>18«Ë›]®DK6(㎮\¦õôônаîÛ·ï~9xÏŰëÕ«•-[Öƒ{•”d Xùz`¿Š+Ô¬]ãÐïG#ïêÓ1ê‘»-vâטùýG}˜ÊÝ‹641d– ú©˜¸¤‚f®¡ž/ŸŽ‰yÖ ^3Ð9/wj#³ È€o¾ªX±B­Úa¿ÿv("â.7¬‹·¥:DÐää 7mÖdÚô‰˜ê];÷Ž;I QR T@ΙÓïø©_£¢ïµiÙIÃÒú}dÉåLj­¢Ä*õØ·bÅ 5kÕøý÷#¢Ouñî‘qA†ß!©yËf°g÷~iñ¥ýÅîÄÏÏïèÉ_¢¥–Ô@¿àŠåÃjU?ÌåM#'S D³À’ð ?Ûýà"Ì”^Ø’g³ÛÙ[­«ürú>~0:ú^ûÖym€>Y¸ۼESسû€îu¡P¡O{õéV)¤‚¯¯o||ü‰ãgÖ­Ù(¡ë7­*[¶´õéSçnÛº]ÜÿËŽ X‹;qÇÏ;pN‘B…{÷íRÉ×Ï/>.îØñ«W­ILH0*–+_¾Oß^AAe½½³Æ<9|äÈŠe«’“_Åú~Ù·bppŽ9âNž<±lÙʸ¸8ÌN P´h±¾ýz‡„Tôõõ‹‹;qâÔòå+9Ë(­¶tÙ"+þ,íÙ½wÔÈ1 ·råúöíUVávtå²UIn”-V¬oß^•P£+–¯dÊy°[Ö•-cmqêä[·nc€j„ÕX²tkÜö9ÖÈt8Üvìú±hÑ"ݺô¼|ùªà„²kåÊ—ëÓ§GPP/ï¬11ÏŽ9¶rùš¤¤$«0) ,Ö·_ïààòÙsdOHH8yâÔòekµÎ¢°~óª²e?³"6cêÜ­[2s)€O ~²s÷Öä¤äfMÚ¼|ù®ªV­.áÜÙó«W­{üø1áþÕ~bÁz2äom¢@Ž¡ÀÖöîØ3vìDþUFQÒRËT67ÒÆŒ×k„‡…cÄÌ¥ØÞ´k÷y·üýsߺu{êäY÷¢£%±í;´þÝŽí»EDÜeþ¨\¹ Þ}º•ñòöމ‰=zäøªë’““1ü}*P ?XÒÄqÓwîÜÞk„U[¸x¦µ ‡°çàØ1“%ŠAåÊöêÓ¥lÙϼ¼½ŸÅÄ=zbõŠ’’“ŒP¶H±"½{w­X©|_ßøøøS'έZ¹ŽË!À….T¨gŸ®•B‚…á:½v͆ĄDBÔx øä¯ŸŸß‰Ó¿GEG·nþ…¼Oñ¢mÀ (%„ÔªÖ£W×ÂE ¥¥¦Þ¾¾dñÊ;·Ã¹¤I³FS¦ŽÃؽsßø±SŒËô³`›àéáyîÏc11Ïš4hm[À6ÇÖ“6jÚpÒÍDìÙµÒø©f¹Ì§|ngþ8&¾N~ýàþý{ìøi7åe0ÓWú—«UýÈ¡£‘w#m×Ñ6.…ÂCHb”W«P¾FÁ««PP|—…«;Q#.vT[N~™£àææ†æQÔÈYSfeŠO´"–=¤6ÔYsüürNš<±víZÖš¼MJ@¿¾ý¾4PfæË—·e«›44hÈñcG›Î5jýè¹x²,Yȃ©"¬'øJ=e±¨Úša¡ GÆ¥x¼&K騈ÐsÄ¿iiiüñ'äÊ•3 0`̘ÑU«Vøõ7h0MöpäБÏJ—ŠŠŠ~üè/PÊ&‘Cà#‹ÅÕF•z}l†ÂË)Î0[7¸¥8¥"XM;äùG>B•0Öt;3bô°Àâ?nùyÖ̹² f/bˆ)š†÷üj@¿Þ}ºM4ëçŸv⚶ŦLžµcû.ݦ«cÿšŒˆlÁbªÂp4Gîb.íÐW QË”¿¬[¯föì>‡û矿5g@›·j {w« ÖÖŽ>QºtÉè¨û=~"›rù;n¥‚(b¿Õ×1ì6pY´•²0 .ß""¡£IpîÞ G+]ºdtԽǟpC‡P!â¤Nтʖü<ñùÕ+ר‹¾9 .Ä ²>;i‡¶F3·>rj”h‘.š°ëÃ41Á9vø8§ôÑ_" s Š ÔµÅ®°-ôÓÂË”-õäÉÓK\V–ÛE(2E–MGGŸ(UºDtÔýÇŸX" Jfäã‚F+ ¢ ÀcˆzD§)¥Ž‘ w³}ú´PÁÏ4¾ñRqþ¢ÞÞÞÏžÅݼq»hÑB:·kذnïž_Ý¿ÿP6ÉæUnÞ¸ýîÝ; 6>.cuûVxbÂsl¿K—.íîž%]¯²hÉooïg1±7®ß(Z¬H—.5jØ£{Ï{÷îsA$P¿AýY³¦»¹¹Ý‹¾÷üù‹€À€ž=»‡Õ¨Þ©cפ¤$Ùl¥ŠË–/õôô¸yíêÕÀÀÀvíÛÕ¬Y³Ãccc%W«V«²dÉ"w÷,Oþzrýáõ‚ vèØ¾a£;u}øð!/F$&>ôè!'äöÏ]à“Ná0(Ð Ìš-p{ñ"  gÏna5ª)ÜX£‹U£7 ü„5Ú¥S7Ö(S;ÆÞ7nšì3$)1ñù£GpNnÿŸŸõÒLÜçm[-Zdïžý—/_‘|tÕoPæ¬)nnn÷îÝñ<:  X÷]ª×¨Ú¥cÏ$¾÷(@¥JÁK–-ðôôˆ¼uõêõÀâEÛµoS³VXç½bãb%vâ°•8.!²uGÒáß rwϲhá²—/ÿÁR„¸ý¯Ÿ~ýz¥¦¥¥¤¦z{y™‘ Hy îîôQ«Ï[4hT¿O¯ÿݸqSù.iêmÑí÷õbç7¡ö*ü<1ñê6/9|} .dš£ ,îF»•ù‘(” rmÔ·S­zÕÑc¿?wöâ/µnÝ|ñ’9-šµ{ûö äû(ß Á_¯^¹."â.+_¿AÝ3'º¹¹Ý»÷àÅó¿ŠvïÑ©z*];õÁcÚÛ·"žãK•.éîžåÝ»·μxôè1ÎñÏ«@üNdØêÕ¯3mÆx77·û÷¼xþw±€¢Ýºw¬^½r·Îýð˜¶rÕ‹f¹»gyòäéÃë· ,оCë ëtïÚïáÃG’K!!•,†«}Æõzõü߃ûï66ÚÖm¥Š×8æ“Rþ"­?o9vüˆ·oßýùÇeŸ¬ÕkT­\%´OÏþ—/_aÀž'>¿zå:ëÞ¾9 þ”Õµ•ÙÜ¿²äÀLȽoõç‰Ï¯]½ÎžsäÈQˆá¦#¥ÂC#F!‘¡oÒÞ\ºtræô+PôûQC+W :è{¼N&«?|¢t©ÑÑ÷ÿzü„mâã{(l¼>€Њ—ZI•¶®A©n”1½6Ílè% ‡ÄÈVàÍïI–Òã '8õbDgàðZe* ð®` Sv?-Ø\ŽÏ~.RdõêæÉcIõ+ðK–(9ð›ìÕË—/ŸÅ<+P°€·—·‡‡ÇôéÓêÔ®“œœÄ‹ ¥àcua Q»Šq+”_b«¿ˆºD°xE›ª ‡h+¦Ò@öÉu§Ó)§ ¬ñ[FIÀOLLìÛ§/ëÙóç_ºtqíÚµZ·i½ãçšbQ ›7mÙ²y«ÜQ¯öX…&ÀÒ ¸Q…4ªcµ¥ls|¤â]ø#Hª µq5"W‘Q¬Ž9A‰¸ÌgJ/ªI“AH™2ŸÕoX÷^ôý9³€…óæŒÆÞpœÈQIµ­‹Yƒ‚X»­WŠS’‚HST„Ò©|Šß#ÔPØ:խƼ%²îùê"Ûü\¡BPÌ³Ø þÄL ÂØ°¾ØºeûÖ-Ûe‹È§(õÓ\ Âbc‘°÷Kê ŒÚý¯¬›jß —¯¥*tø4Ÿ¾{‡lÙòã–-? 8*¦a•nn4ØfÑDçÏ]8îûY»vÍy g{®x÷ ĹJè¸j?äþE¡Ƽ…+c¨ 0çaË–íŒRlé5Q4q³ÕZìL¡y‹f°w÷'8¹ÖÞÛ“ih²mëOÛ¬ Gv5-I·KZ Kð$ó´Òâ².à®Úˆµ´É<Ô ï(µ™Ä®—¨POö–-kïÝs;Ô¬Y³N>ÞÛÛ{æŒy[6mQc†µhÙtêŒ Úu—%ÝÜÜ`àWCŸÿýÍé*#Çž†)2)¥´K×NåÊ]¼øÇƒ¿âF§Ïœæíí=mÚŒM7€‡»ÇØñcZµj1cæô¶mÚóbÞYÇM4pÈáÃGhöì9æ/˜Ò·_Ÿ¹sæqÉ&0aÂ8OOÉ“¦nÝú#pËâ>fÌÈ6m[þíÐo‡3hY²¸Ož4ÁÝ=˘1ãwíܲdqãÆ „ þfØ‘#ÇÀÇ'û¼ù3BB+õî×sÁÜE 4eÜø‘žžS&ÏüqÛOˆ›[–Qc†Þ¦å·Ã6Љ(!„‘0 ÿPA‚)øâ'–aիר~wÇÏ»v„uw÷X²t~håŠ=òÍðù fø¤_С…‡G´nÁÆÓÓkð;µŸ:}bó&Ÿ‹}ñX›xÅ0ìIh&åêmÊçÎ^8wö{®]»æüE³ _kÕL¼RZ"¶5 Uuu°2Tª³2Ç4(&|œ8„5ª½}ûnà׃߼yó$fÜÄQE  ˆ @&Lýä¯'«V®c%³fÍ6vìw„!ƒ¾?rø8Èî“}μ©!¡{÷í¾`îbI÷wÃFã–:wù"¨\™?.^ú…B¯NŸ>7nôd†ãÆ´ ÈÿÇÅK¢Ñ¬£Ç #„ <âÈ‘={öÙs§T îÕ·ÛÂyKY²¸Ÿ8ÒÝ=Ëø±ÓöìÚÇrú²K·ÿÔÿC{²fõve¸¦Í˜Ø¡]7Båb›ÀIv â$Awª¾ÀªGµ‡n=:À—}þùÇ%hÓ¶Õ˜qß÷îÛ­ÿ—W˜#âB¨Y+lÞÂ̹âž?\ûk„§!Oq![(¶ƒÜ ç.^8w‘=׬Ucöü鮪 xx¥þ¹ŽAž?>àƒÙË?þhaµª·hÝl÷ν8‚déÇm?ý¸M¹]æ9x1±“£¤.…"œ*ö—ðGÄ=&æšâ(4ÌòT„jD~% @?‰ä¤r ¦¶¶‰‹A“b #0áì™ ¨þÔ¬eBȾ=ñ.Nn’ˆFŠ@ÛìK[îØà†ç¿ÑW”Ë”ø2åÄÔ TÊÆŠâR¡…-vˆ„88ÿ)P~ž–(/@8ÄápÈòÂ~âÖ•RâdÿHáF#adÄm’#ª,źBe–|E…ɳžÂ•¦à~B8 êdµ$Ž|æƒRJ)!ŽfÍRJ÷îÙ•ϘL딼Ñ`—›¡„È"”R=I…ÅÅ/½=¥ÔDVF,ôó˜`Cº@EÓ‡£iÓ”Ò}{`ðµj×ðÏëØÑ“,(€7oÞL™4ëÉ“§%J–*]Rv8NXžää%šêáG)mܸá°áCÂïD ì?øí›4Y«vÚ¹sû9rtóÆÍL¥Þ¾};iÂä'=)Y²ÄgŸ}Æ`„††øúú>|äÈ‘# W¯^Nž< j×®)º-V´À'®]»¾më ›ôôwÓ¦ÍHN~V+Œ8 Ç"E }˜çËüÁF³ðîÝÛÙ³æ½z•T©R%¾³_u™–9rÔ©[çÕ«¤C¿fo+sÜŽ>Ìs^½z5eò4¨S»–`-RX4ºc+öîÝÛÙ³æ¿z•T±R%ÙñŒ½N§™F-jSñ£žräð­S·ö«WI‡~?‚%úôíéïŸkÉ’eÏŸkBKBC+åðõ=|øØáÃGYÖ«W/§N™ µk‡IÉ*Z¬HO \¿vS†¡ééïfL››œüºFÍjü+*Ü@i$d¬GY²¸>fL›ËgKu>Ù²†V®xäð±mºŠ}‰™‚„´´ÔSgGFF,øIñÅAk¡°ÖžÒ#\ò} ,M„i`U$CÕa”±eªétZéµM3ö–‡çûùù¾NN~óæ-üý÷?à—3'iÓ®UpÅò£FM”˪¡¡søæ8|øø‘ÃÇXý¤¤¤iSç@­Ú5ŒÉdÙd£Fõ¿60"tœe†„çðÍqäȉ#‡O°œ¤W¯¦³FkU—u þôÃ?øãËl4 ïÞ½7gÉ«WIÁ+0y€ZµÃ˜áÚjo¸J‘ÜÆºCÀÖZš±3X'€¿®ôôôË—®2àü¶wÏ»w£Q¸!`Z¸c?ö²M–blZü_ø¨ÿ–Œ^Ã3n’9N>yòtÎŒаI}žå:`ÓÃ,^Ú  ¡µ}Q®U™ˆúc†±hýí@ÆÑ‘7©Ë@D-=¢˜ˆX¡dÂF<#  Q0]v'Ä(ÀÆÐ°a}kY§ÓIÉ/Žü¼ýç´7iäùóÄ_~ùåË/û@~˜C²3òPá³X(#fÑD@&í™T+¶ÀIL A¬HJJ¼‘É&Ä7lNuìP¿’7nÀ'œLNÎÆÍëË•+'¡ÆÅÆÕ©Ý€±rp¡¡•z÷é^´hÑ\þ9_½JzôðÑöí»öîܯŸ!…‹îׯg…àr~9}_<qñÂ¥Ë×>~ôXEÖ„@`@@ï~=Ê—óññIL|~æÔÙËÖ$$$ðÅ>dÖœ©uêÖü²ÏÀŠ•*4mÞ8W®œ1Ocvü´gãú­Úø“Bý†uzõîöi¡‚/^ü}`ï/›6ýˆQ5bXo-©A¥!¡!”Ò3§ÎYÆÁZÅ>ø`è÷ƒC*Up÷p¿~íÖ¢Ënߺ#9¾}ç¦"E ËÂ#G9z˜üY¯v³Ä„DòÓ.­Ø¨ÑÃF¡buk5cç¯ÜܲüqådbÂóíº: ´r%/o¯ðÛ‹,ÌT ­Ô«w×"E ‹ÎzüÓö]{ví³Ž^|²ù,\2§D©ÀC¿?zrfãGB4kш²oï/Ng:hóÑ@ÀѼeØ·û€Mm ë6¬*§ÅÅÅ7¬ÛœCe¯˜\~ôˆ ÿ”%‹û¬™ó^'¿þnäP÷Õ«ÖoÛü#ˆn *W éÿu¿¢Åм|ùò—¿oܰõÐÑ}w#¢Ú·é"Á É3;]Y/~hhE;¾íu"féƒ>þý`w÷kWo.\°ôö­;€¬Úú +ƒÊ•Ŕ֯ÓTÉq”ÒB… õé×+4$˜ :qìôŠå«ÿþûo[d%'íÃ0õÔéÕ»;Ó…ý{nÞ$—Áå´!LBút-RQúÓ®=;‘„¨Éä ÒHœ¯ë7­Ö(«W‡Íš¡3 P¼x@¿/{—÷Éž=1!ñÔÉÓK—®LˆOP¦ßóUµZhîr_8ÿGÌÓgX‡Ù‚gýuz÷á”Ø÷˦?Zƒuë—[ä­­[àJ={w)\´p®\9“^%=zøøçŸwïÛµŸ";…‹îÓ¯Gùàr~~¾/^¼øãÂ¥ËÖüõXî¾ãлoweßNž]±|uB|"ÆnÖÜi6öíç=›Öo¥š]‡zõëôöíà¾_6‹¨Î~* ZÕʹ?È}ñüŸ1OŸ‰(Q"NŸ<‹Åæí›7ÎýÙºMó¢E ݺy›½bëoéééYâs8bè.= 2mÒÓ'O¿ì×?éuÚ%K€S'Ns‡¼y“vîÜù6m?/V´È­›·ÐÔ´´ýû9tG î=HOOÏýÁ’~ø!„‡G _MÓRSÜPªtIÖ)ð.Ý )¯S5ÎPgZZZ–,nrFøðï¿õXlžd7kÑÌÓÓcÏž½ii©¬ÝÔ7iû÷<|HŒ!)PBï+Ü8Ûߦ§@Ê묖d£N.çbyóÝ»w¶v‰e†ß ñýhvH¦fÍ›xzzìÙ³/--Λ/oç."#£¶nÞnB ©i©û÷ÿräÐQà1€÷¦§§çÎ[ Ò‡y>€ðˆ #-5õჇ%K•ðóÍ!í’!!.¬O]ºv(øIþß~=|éò"ߊ¸0ÝIçÍ]´ní­EÿºŠ ½s+¼X±¢yóå¹s'¿*R´H¿~½‚+V`qÈ…ó,[¶ú±¾y›)^< ï—½‚ƒ+ød÷ILH½ú‡„7kÞ$—®§OŸþ¼}׆õ›í‰t‘RÓÒ²¸»3º{¸³œ¼ùò þvàêU?DpnHKK;°ÿ76š•éá=Öõþ˜$IXhh¥ISÇ>}Óÿƒ“““0ÁáwG˜ø×ã'¸‡›6käéé±oïA)–©iiü~ôðqÌ­‡÷¥§§û³F @º3RRL=}“ö†ë)”(§OžÃHê†ë–¤û…ý{nÚ¸Ó¨÷[ÑbE{öîR©‚_ΜÿüýÏ…‹,[¼úñc´šÂƒûKV2  hDD$¤¦¤Œ=I"¯¶®ªñB÷ÒEŠéÑ«K¥JåY£/þ¹|ÉÖ(î§Óé—Óoð·ªU¯âéíyëú­Eó—ݼuÛ¼O ìÕ§G¥Ð ¾9|ãããO?³jÅZ9˜Q+Ç%C’Ù„‚¸êÍ· @þü8²^½~yÙ åvããâ×o¡Ðo žØrl]^C5øª2$Ö*r%BD1x›QŸ‰”ÿ—{=ù”<ÿ5±Æø€JFUû.äˆ㡆Zìm=Fš§7oßLž4eëÖ­bêÌ>¹{x°‡T¤?)¯_³OOO"²¥cqC|°®×œ¡2~üs:È µ ™hÕÙËF=]Øt>I"ˆªHׯ_€—·^¿+NYâ *+°1h¤5Âj,Z2—~÷Nx„O¶R¥JN˜8ª@þ-\Æ… lP™å«zyyÆÄ<»|éjþOò7nÚ FÍj=ºö‹ŠŠ–ô• Z¶r¡‡‡{L̳ûÑ>-T°u›ÕjTéÚ±;£öÞtêòE®\9ìû%»OƒFuý:OÞg͘/U³i³F“¦Ž€èè{±Ïâ[´jšÝ7;fƒgšÚLÝhõƒs'%%ýý÷ß.Byž¦Î˜èç—ãÂÅKÅBBƒË-éܾçƒØÛðÛw“^%@ž¼yóæýðñ㿞£*ïÞ¾“Å^½L€¼ùT1Ù$;¡$W­`ö¼i/^¼øé§]ÅŠ©Y«úŠ5‹zvíwãæ-ÞU«¾`ÑLBHDxdxxD6ŸR¥JŒŸ82þ/\fØõÊ•ÊW( Í[4^¶tÕ³˜X´¡±v¿ñÞ=Ö!+ ­˜/ožK^}ü×_²šú‡‚œ€'„” ’wŠÈÑ´ÜÜAA¥§O›ûÍ þ£Ç~wäÐñYÓævëÕyØðo.ýqI^êRiÑ’9nnnî?|ó¬y‹&¾~¾®ñ—VIâ$¨VmÁ¢ŒowÂ#|ß-\f¨Ùô™“|ý|/\ü3 0 ´rŲå–ujßãþý²Ô]$!Dw±9˜ygiÉR%Öü°ÌÛËëò¥k±±—Š-Ò¡SÛÚukvîÐ#!>AßGm±l–ŒfÍOœÂuáÙ³¸–­šåðÍ¡Õ ª×¨¦KH¶R¥JŽŸ02ÿÇù„È…Y4t š1b2y7Bö)” * lq^êû[¡|¹•k–yx¸Ç<¹wï~¡BŸ¶i׺FXµ_t‹‹1!|' ­šÀîÝûäÉ~‘i³f&M Rë[6ÍžCj½JLT˜å.£äƒ“2Q½Fµy gBî†GF„ßÍæ“­TÉcÇÈÿñGK¯µÊ•Yºb§—糘gW.]ÍÿIþFMÔ«Ö³[¿¨¨{²SÊ• Z²b·o÷|Z¨`ë¶-ª…UéÒ¡W||¼†¶oÙ}4¬;øÛ¯óäýpöŒù²DÓf&ˆ>oŽí›Å2±Œf­Ø ä¤È³.ôÉîÿ¼|…UþùçpsË"z–8²¸eéЩ»êÚµ›»vìMMKÁí²~ ,8áì·oß|ÝPbb‚`*ÿp2kôïþ1°d—ÃáÆòΞ9{öÌYä` äÍ—×ÍÍíÙ³YÑÍ- ¼}ûÖ€öæmˆQÜ‹¾wÿÞý*U*-Z,**’•iõy«Ü¹ýwïÞ+Mz\\ìþ}û @àóÏ[À®»@˜£³§Ïž=}Ö`´ÂM°Q4Z¥XÑb‘Q‘, hݺ¥Ñ(PÊÎк¹¹uìÔ‘¹Ý«×®íüyWjjªÉÅÆÆîßgÚØÖŸ·€Ý;v ñƒôôô˜èÓ¯GJjêÜÙ‹¥gPúêåËÖneò)üEÊ÷q>xõÏKœY6¨ìÊÕK¼¼ÕÿvØ7yòå™5}.ƒV<0ðÇm‰OOO/_¶2 ¿s·E˦mÛµ¾üçÕ-›¦¥½¹ïþŒYSž>}ºjÅXÁÏž9öÌyääÉǺž»{ìÛ‹Ι?ííÛ7ß|ý]bB¢@\lÜÁý¿ê@Zµn{vî—€Ø^\‚Ø%eÝYþ½{ÜX¹r¥¢ÅŠDEF3œ[´jæŸ;>.! îeÂp9XJ¿}/öY\ËVÍ„µÔp ®¼dÙxt72ú“Oò7j\¿Zµ*]:ö6¦ZœN:mæÄ|å½}ûN¡"…‚+UXµni·Î½ñu†%J–Xµn‰——וË×âb/)R¸}Ç6µê„uíØ+A¿lJ¥ãI6ýøØ¥ôôôÐ ÕUQ ”6¬ðÄ™Q(ø)ƒ®Ž#š8ØÄÕöŸí!r.åC(52UsafØdN´BAÕçv¨ýÔŽ~ÿÛlŒÇr®H`Q!ÆMqœ;GŽáÍe~B)%„oÁiöìÙµj…-_¶gª@ͶëøNÈ• âø°û NJ‡ƒ=aæ_”¡5jSPšœœâ°¾¥ãØøíe¦À¹È¢jÝ· ºð çI§²9$OÏ?¯\°å´mÿ9!dôÈñ{÷ìgoŠ—(¾jõâZuj,Z¸Œ0’£†zyy.Y¼rÍŠu(!Žo÷ïÖ£Ó¡¾ê÷lù»ßzx¸/š¿líš ÔÓÃsü¤Q ×ï÷¿ÞÇOåëÛbc›ÃAºtìÍBäÖmúy÷æö>ßðÃÖXá†ûì³f.زqxy{O™6ÎB¿‹'jQ//o//Ï„„› ÊŠŸŸï¡ß-˜³ˆ8n“¦ŽiÔ¸~÷^lj[þÆŒâ$²Ûž6ü°uÇO»tPÆŒšÈ"©þ¬Øú­?oßå c¿œ¾›6nûa-÷v]»wüí×}¿ì9 ÿYºM»–„±£&îÝs€e/¸rõ¢Zuj,¶ Ìnݼó÷‹ürúF„GÆÇ%ê+CÚå+åÏÿñµk7¨+d”%iѪ ìݽߺc„Å*S§Ìf¶ŸÝæ'¨dóWjÈÍÍmÝÚM‰‰‰y>ø`؈Á?mßuóÆM'¥óΨX)8òn4ûþúº¹¹­^µ~éâ@!›O¶Ys¦Z™&FC.¶±˜|›´wïAf¡Š—\¹ja­:a‹.Üðóóýý·£óç,d]?yÚØÆtïÙeܘI"&£S'Ïb…==̾­_·ù§]›ÚñùÆu[cãbÍÿÐQºuÓ6ðöÎÊ"6kbäøúù……UKJJ>zä„ðLC)»Ê¸`Áú°>-T¢£ïKoÃ<椩cª×¨Âr4ªÛªu³]û%¿NV RJÖ®]3[¶¬°ýç­ÇŽ›1cvY ŸŸ~Z}€.\¢¢¢Åd±.DQ»ömà·_çUõP¡B… uëÕÞ´iË“¿ž¨>grDÆ~¿zíŠÖ¯^´hé™SgÚ}Ñ®[·Îáá3§ÏÖœ©eJ LéÏŠEEGݸqÓ–Éö¸qÎáC¿_µvźõ«-\röô¹v_´íÚ­søˆ™Óg㺌½S§O ãÁb£Æ >ÿ¼U×Î=’““Œmn2}Vºt@@±¨¨è7obƒPªT©F\½v}à þ*”€¸Ø¸%KVìܱÓ¡ÓÜ®ýçðÛ¯‡Ô$™Ê—«S¯Ö–ÍÛ%{­$Lš2¶F—†êµjݼ{×¾ÆÝ¹ƒ¾ý:kVï¥KVJ—-!‚NÊ®H‹ó1¯—ÇêÕ«S±b…—ÿ¼¼~ã.4jôp//ÏÅ‹V¬^±–éé !_wïÑùÛaƒþ×÷k‰Ã÷£†yx¸/œ¿díêõÀÓÃcÂä17øêë~ÆM6è5ãi CFphK×®^ï¤NOω“Ç4jÒ૯úN?…™B™9¤sÇ^”:)Àk7íܳµC‡¶×ma#ÌWÉI'Oœ±´@ü#;~ÞV³úè1ßÀÛ·ï¦MžU¯^íJ!:uèùöݵ0èÂåµm× ýzÄúªVíL·n_wüØÉÙ3ÆÅÆeð¸¤té’ÅŠDGß»‰–Ií‚[Ò¦mK8ôÛQÅCê1|ÜòU V¯]¼dñªsg.´iߪs—öá‘sf.”ÍIÃeУ —HÌ/Ìš1ÓÆm„€——÷TÍ/pÄ¿1ÄÓÓcܘ){vïdзºuïØ÷Ë£GNhïÝs s·õêÕjаîo¿–X[Sº{vÁóáß òôô?vêÞÝûÀä›o¿îÒ­CŸ~ÝÇŒš€£“\¹rž9}ßPêÌ’Å}̸hܧ_Ïáߎ”¸5ÔËËkø‘ÇŽgüýêë~=ûtû²ŸÉì¢ »ÄšLJJ:}ò¬mêtÚLàØˆ2§OÍ2<=áǸÔÉ=6šeÃZ<¦Í–-kãÆ uëÖ;wb£OL^ê‰ Ù#¶”ÝßEäÍN„•vR'~N¼!B€Í°›ˆ¡º‹²µÙääd,⊱8¤S À÷{SW;÷-nÁ” &–èkò@ [6o¸rùš¬Q£Z=<éçŸÛ?°x±ØØø5+Ö99«œ‹­ø¢cÛàŠ€8(MÿÜEccã×®YÏ:3íMÚœY 6®_¥jeI©4ýöÿ&Oc>}sâø™†ê~V¦ä³CÏ oÞ¼yó~øìYܱ±$5%eㆭµë„`XŸUc5¡À—u†Éy¢n;³[zzz._ºš½p:ß­Yµ¡Qãú%KU´A€"…™ìÇÒ„­›Õ!û·í4¤Ù 2 HÖ¬ÞpùÒ5yf'üNxõªõ˜.hW<{Ó¨AË|ùò=zô×»wo‰lÈÄ›ƒjѲ ¨ë Äˆ…ðÉæS«vØë×)‡³µéMyÏhcé””„m+`çÉYœäççËêz{y—*]âõë”Õ+Ö±QdrRòúu[B+W”pqã™Ia|»rù:ÓhBiDxDXõ†Ú}àéé¹lé*ÑõékVnhܸAÉÒÅ•ÔÚ†ÌrÛÛj 4gΜ¥J—¸uäÈ1©ì«–ÿнg—*Õ*[FàHIMþR*VøŸ=‹ÛÌtÒ”×É7lºNp²ïÜrJ/]‘š~§zµ:žÂ›€TG~EHAöɘHÓ"* ¹sûÄ>‹[³j+–š–:kÖÜÆMV­VEVĶ«qÓ†îîYöìÚ›šš*t˜¿Õ(%¦Öÿë”5›7\½r]ááuj4ÂeüýýŠ‹‹_ÃF³”:—.^Ù¾C›ààò„83sùû ,¿nÍV1íMÚÜÙ 6®W¥Z¨pjL{ðÀïNêJ !OŸÆœ<~¦A£º¥Ë–Š=‹)ݲ‰%)©)›6n«åšÒFMê»»gÙ»û€Ú•*|ìù3z÷éÖî‹Ï·nþI®¤*\¨FXÕøø„›7nK l©3Ož;~Ñóþ½‡ÅÆŽÿ®X@‘½ºˆÝ ò7·mÙž5›w¹rAõÔûì³ÒmÛ|ñ÷?|çÛ¹3gûõëӡÛ7oIMI¥@©Š-V3,>.ž„á²û¥J—êÞ£[|\üÆ ›y¯èiô˜ÅŠùdÏ>f´6Âg‚ÞªE›u?¬3†GÇOœüvÐ0ξLíHcÊöy›Ö°]\„¨Âm οÞªe›uëV;Šåœ8qrˆlT8kÆÞ¼yò´kÛñþ½ûÅ‹ŽŸ0&  Xï>=Ì_dÎÛ‹Ôšá¶c·‘ÿUÿ/ !òçÿiûÏ»wî.^¢Dû/ÚN˜8ÆËÓsË–m6€ ݺw‰‹ß´a«ms#Ç /V¬¨OvŸql›¥ž8 y?ìоǃ{‹;þûbEzõêºpárY,¨\Ù&MÄÄ<[¿–3ªGÏnß þjÞœE?ü°‰j¬Åja ´È´Q“†ÁÁå‹)\®|Y˜5cÞÛ7o¤­ôÏíX< 66žfÅ! —wèØ®bÅ „¸QšNrûû‹}ÇF³öæÍìY 5nPµjeD¨Å]yI‰BÖ?wî Pq¼}÷föìš4¨Z½ °2n°¨† OŸÆœ8vºaãzŸ•-û{,xò×Óý‡Èæ­Á¥4-íM¿>_óÏ•+22:K÷»7¯]³ñÎíð Ïn(UªD×îâã6oÚn%ïæÛÛ·íÌšÕ»l¹ÏêÕ¯]ú³’ÛõÄG`Œ*­>o»wìÇo­U²T‰.Ý:ÆÇ'lÙ´»Åˆˆ»m[wYµvñÈÑCYÎÉ“g‡;mªl¸äå2ÈpÝa|’ÑàæMÛôÔÔ” ¶Ö®[SçõýxJ!¡èÿ IDAT22J¸7Ø´a[·îK—.!ž={Žy g+VFýîæÛOž<Õh§¶²btÞ˜”FEF‰Õ=ºyã¶.Ý:”*]BÄ]¼‚··×’˘CIO·pþÒ¦-•/+áåôËY²t‰Èˆ¨cGŽKøkVþЭgç*UC1©¬lÒÓ'O‡|3Ôž )Ãæ{°-èyÌ‹“Íèj½¦úØý$<†ÈbD„— ã^^U¾'Dî.惂Ûâ*´ˆ6¦26ËDQTT ¨|!o9AYUûvròë£G9ÎýûXÚ"¶­K$Äý%¸¼f”1 „8dÓh\À^ëëÉ*¢#¶gh *†ŽÈrlµ³jÚ¥¾¢GD§ Z’R ½x4 ·nÞ€1ãF•õôôÒ(É?WNxôè±ñçíÛ´JÁÕ+–¯ÊF³ËŸ{$Õ—Oˆý:Å?w.u·ŠHl‚_¦Øgq ¶ @Ž>ðøñ_TÉ—èÿežSSäö*û,¼½½ ãis(ªgi¿äÞ‡¿_ü“š–"¹”ššòêå«ì9|Ä!n @Yg÷}P¹2ì›Ìxà!ÔF5›’’rïÞ}t5¿a4ø’5kÖºõk¥¦¦ýþÛ• Àbцëyyy>tŒíB1Q#;ŠCp8ˆCµ ÄEw Ùöõõu81Ocð•÷ïÝGˆKkƒçËÊÒúúöÍp=ö»²å”kš)Ê&$$¦¦¼–ÆæÙ³XÈêímçˆñ¤, !¹?È /žÿýñÇ}ôq¾?þè£?òÿ ×?ÿ¼ô÷Ï¥c X*PŽâdŽìÙàñãÇ8“ù@é*%dD™ 2žžüÛÔTV>4šÈ§Ê”VŠ,UEL§( Ñ ¹r倇QpJ´â™Öû£âª^ËVÍ`×®}øTPúÖ›G ­o—*º~ĘáeË–ñôð4)>R€œÌp=~,OS€·oßT©T34¸†œÈ•+'ëÎ hBBÂë×)¢O¥ˆÓìÛ³Ø8È.í[öìð×㿘Ô2š0¥Øî1\Ù”ûü¬â¸téÊÅóæÉóÁÆ-«jשвUóÕk—¸¹¹mß¶ÓéL—`O:÷û¯G†};úÎíðÔÔ××®]c—šÖª&œ,£ŽÐS§NM™2mäÈ1Í›µ>zôX¾òuëÞE‚úóÏKçÏ_È“÷í[7Õ­[§D`ñÏÛ|þÃú5nnnÛ¶þèк ¤yóæ[¼xÃAFãê:‰S§Ï¦¤¤œ;w^æà.÷Éæ3yÚ¤O }zóÆ­Õ«ÖÆ< «QýÛ¡ƒ…a‘³2@D˜ãííݨq£wïÒ÷ï;€£e·WØZûdË>eªÖh Õ¨r§Nùõ—߆ vûÖíÔÔ”«W¯Ž5jשś±ŒI¼½³6jÜàÝ»ôûJ†@þüù«×¨úòåËöm;-Y¼l×î½Ó¦Íø²oJé7ƒxyyÛqŽæÍ›wÑ¢95j¼Î^EÌéÓçSRR΋‹RtúÔÙß~=Â3©XZ†oJ„Pëw#"ÏŸ¿˜˜˜8vÂ÷ÏbcW,[KÀ‘Ó/'q'äÍ›wþ¢™;zR²ÖõÜûž>}vúÔÙcGOjÓ¢óñc§òåËÛ¥Û 'Á†”·wÖê¾{—~ðÀoûHÖ»@Yl7OÞy g8dܘɆ:gËæ3aÊ肟~rëæuk6ÆÄ<«^½ò Áý UŸC¼téêÅ ÜpÕ©[3°x@ËÖÍ׬ㆋ:ÓF¾9¸_DÀâXɈˆÈÈȨ,YÜóäÍûÑGù>ú(3¹ž^ž²dŸ¾ÝƒƒËíß÷ëØÑ“³g÷™>sb·,@H¥Š'Ïš5oš½PVZy722***‹»{ž<¼QÕ¨'&ÊÇ ùç6#Wèý«¤ÿž‹*fv»—úrª%<•§YAðEjןª#? 7iïÑ —Ò5¹uHìvâƒ:vé‘M±sR œ-Ý.3 BÙŠ§N-žêD• ðõ‡ÃÍéLïÝ»· Hÿªa( –å´ŠpŒàtòÝ8”Rq0´Ñ}†5Ð=+€¸rã5ßrlŒ Äb³HòÖÆþâµ0,Þ¦Hµ¨Q†ÂªkËW(Z¹RhåJN§óÉ_O®]½±ãç=W®\‘؇é(¿%‚£I%};>äLwŠ(’žžNˆèE…¶1ƒ@æÏ]4î"ñ›¯T;ÓÓ‘´Ót§~¿.óD/<ø…è¶•7QEݘ¢ðb€°Ÿ+%`e%§hà ¿‘­àŸ"GÍi¬Z¹®B… ÐÊC+WäuíæŽŸv_¾|Åì|0£C]ÝëÕ¯ãíí}pÿoÉÉÉæt:!ìlí>¾‡'C³‡Xï@,2Ž×Tu“àæFàÍ›7BÞˆÁ-×Ius€’)Ó^‰FW¯Z_¾BÙÊÁ!•ƒNç“'O¯]½±óç½èÎ-Þ½ééâîkÊŒ›M×ë°ÍÄðÍâæ€ÊÁ~57¦§§c,…fX¸€ž9uéNUR%¥ÂNS «V®)_!«óÕ«×wü´ëÒ•ËH脪1™¸îÚ¼5µŒŸÅHO7Ì×zÑ¢µ/pÿÞƒëׯK;É?ßü‡Ðz^߉´^ó¼°¦M†l®Yµ¾\ù²!¡Á!¡¼ë¯_½¹kÇÞ+—¯ˆ*Äà†Ë5 aE1Ñ(Å”jÕ¨¾ÁtÁÜÅ æ.Vå˜}c¤‰JÚ P'9  X`ñbî?¼qý¦Ù dØ·£§ÎWµZåÙó¦@tô½”ÔšH·lÚŽéìó ¾};üÝ»ô|å®XÍtH•zûöÍÒ%Ëk×®U¹rå ÔŽÁ!ƒ†Î˜5­zõjóÌ€¨¨¨Ô””ÄDºqãfáž Ã×oÅÊ%|øÁ¬sÄÉO=Q€¹³çÎ3×´[b§Ù‚Åó*T¨ðÝw#ì?/Z:à›¯{õêž’š:oÎ<\ÿ¡u›V`XN„J8ÌI9rlZè!›_J¿ëQ©ƒ› r,¯$;µb‚2ѽQ]S*#2‰uõyðY•(°uÆhŠH`„ûÖ¬E}(ÖCc+!ió¬DáÉ>œéó1üPInÂDM#*ȱÚÈË~ò®2á}J<åTù|> @i¶Ïçc¤ >@(D,P1*LÑA ¢ä’c7*¡Qʯb;iù{]`-Ämïô(úúõë];÷x´AýGÔ«ZµJÕªUšµx¡Y‹Æ}')q.'CRwBo8…àˆ÷(®¡’Cƒ"&†Zy»§ˆ…šÃæ´æ1ÕØsPââ’ÄËù*HÇ$)ÀõÿíÒ¹ç£ ë?úH½ªÕ*W­Z¥Yó&Íš7y{ì»I‰ëeÓ;Ãke‹ð‡“E¦–-ÙäÏ™O ËÐØ˜Š5kU?wîüþ}‡×9‹qDY8xŠW¹:2±  †ÀÙ¬7„©ä¢)n\¿þR—>4xø‘GêU©zÕª•ßÖ®÷ZɯO)  @ @YEЙçpäð±OÀºl,p–£MÑ4³E­ö‘„Þ ¡ ðGׯgt}±û£ ê?úhýªU+W©Z¥y‹¦Í[4;f|âÚ$VÀGø‰Á.‹ h%¿6åNÄóF«¤uÛ–˜¸Ž›KoDM€ ;“fÿ@ߌ 7®_ïÞµoý?òÈÃUªÞ_¥jå¦ÍŸoÚüù o¿·.q½WÕyKÒüè(9OeÊ”ùÖëÎWœœ¡¯¾î‡F{¼ð(!¬ºî>JtG¤¢ªî,ŽgíÔ¼«ì>›+‚ ò£zDÚ1¸.2öQGƒP±/‘².(1èÁ0ym œ¥Ý a–ŸÅÈ*¢Ç‘ªâz÷?¾è%‚¹ ‘??{øßwAW6Z®lùб9zõj:¡DÖ¤ØìÛ‹ƒsØ‘'r¿èd „uw¹e« ¾ÀoëÖŸªëÖMËÏðúe—Õh§ ”R·ñÝqC†¾¶vm¢ÜYÑ·Å@V“ÞOÌ.†ñû5ã@‘Ö‹Ç $4¬iÓçsrrÖ'%;ÚH­÷ã‡ò”Š£’õat©1¥Ý;~Ù-š¾y‹&c'Œ~uðÞ¡%|ÿ±Ïï3 sû–Å:!ȾñX€Pd߸A²&X8Q˾ö瀰а&/<›“““¼þ[OဳgÏž={¶`‚³>œzö̹5«TŽ=->å–)$4$'' çgjØðÑ­?oÛ·o7“ü~ä䔈ˆÐûì™3gÏœ)X°àÜyžùç̪•«Y[ID€ú|þé3¦Æ×‰ONÞ8åýJNN6„……I¿Îð €,qtüƒu€}û(îÀžß÷ÅÇÇרUýÒ÷—HINl\\||íÔ+©Û·ïäºÎÈNƒã_;9yãÔÉ7!muzö³J%ïöü¾7>¾vÍšÕù©HRu63ö:Û+66.¾v­Ô+©;vìTp@LÈDEEJqcBU øGˆ$ÆçóO›1%>¾vrò&y¦®b0ÎÞÐPý t2¿Wb$"4fìÈ1cG:ó³Ñ4àcÙ;ú–s ë×müçŸ3'Oüµ:qyíøš²Cëóù§L·v|ÍM¿›>u–šîfâ¡„4¨¿íçö”ô±¹Ä@ŽÎá cbcjÕª‘šš¶sçnª¨é+}>ÿ”iïÖª]sÓÆïfLifZ_§nm8°ïöí9P;¾fšÕؑȒågÏœ={æl‚gÏ™zö̹oV% £Hˆg4(Ýïæ4oùBþü‹~:ÞÇ ‚Ù°¥”þ÷ßQ#Ç-_ñI«ÖÍnݺ=oî" ´>ð>€”‘š5o’?ÄÇ —,\ð±Ìá®Tà¬úò¨§¼¡b¢0Íøft+u…<±“8Jœ~Äâ|´Žô$qb72¨tknÞ Za¯`›ˆn:“Ž›WJÕC^ÎàÈ#Pª—BÝD…JŽy)ñ‡M êñP@)ȯvìØ~÷®_îܹu_Ñb/4á'œ£“åŸ|ò©™³gøýþÌÌÌN_<}ú´³ øj:\W›QÿŒàÌcÑÊ>é¼å˜ž¥ûÅr-Ç@*fV†¸V­špöÜYA²éð3 3BJ+žÈNOOç¼ “ֿܳk\\lTTTff&¸võT¨Pž¡”­ä!¡¡a;woñù| 6¢€ôôkP¾|y1ÞHÑ¢Eó縔rņ¹:%<]¿~ø7„UªPQÞâØßöC²»#C~ù×ÉS5kU¯R­Êqýëv÷œø¹ê´šï‘ý—B.GpÔ;A¡èBÑ…¢322X;.\¸@¨×o0"Ø2„ÅEcQ`µ'%%¿Üƒ7ÖÍLS´"##K—.u柳YYw­^šR±­^€õ‰©8{WвßÒ´ùs@ yý&àQÃÆh:Ó!y Mfy[e€kW3nß¾]ºt©b%ŠËcë>¯çÒÖš4jÔ f|ØúÇ'´<@Å‹gçd§¥¥ = $%mx©G—¸¸˜¨¨(yê¸,Eˆvo‘i’§‘D)¤§¥@ù åp)¤vZÙYÙGŽ3 e³ÕD>9ª(Jÿ½þ/”+[h@J{…Šåy1ºBˆ¯xñâÙÙÙiéi¢W@“zô|)®R\TTTæLàŸàæØ?þØcµãk~ÿý–ãðGð˜ J5Ù6›î*3åÊãnzÑûîËŸ?ÂøRx¼ñcÑ…£·ý¼#5-U*¨òPTj}Yá')¡D°96…1Z‚j é+Q¼XvN¶üF¥uIÉݺ¿ÉT†ÂUn¸ÊÕƒÐаŸw}çóùê?ô8c;ËV®\9‚üaÑûŠæÏqéÒ~Í1ŒKìëoÜ€²eËbCV¾|y™ÿ4jÜ ºp¡íÛv¥¥¥éÍÊxuÈ€ÂE¢'½3UŽ6²Y`Ò”ñ—S.½7éž/Q""_¾ ç/Èþm™2¥{öîU0jß¾}ñÊ•+@Ê¥SôÅÝÐaCŠ)ˆÔSÕ5?|%§»>•‹UZ¾\yþÀZOxwKn¢f‹PZprüÄÉøš€¥6Á­Ú4¯÷HB÷®}ïÞ½ËæiîܾCØ‘oQ‘‘rlÌÛ£¼Á®¿¼=æ]Íú‰‹2¥KuïÙ5ª`ÔýyÄ P©r,\ºtI«[àʦg7¬ÛÐ7y1Ý ”Œy{Ôc7صó—ñc'YW„Rp'…RÅØ ¾&­qcÃÅÞJ\¿!ý‚J(䩨}EàìÙ Ø—(QLÃL|¼*44”ueNýuêûÍ[šµhrâ“WÓÓUÏC}¾Óˆ=TFÛÝW¬(œã§!ðT¢d1p¥¢÷‰ˆÈ'Ž¿"÷ÝW4"Äիפi`æ)W^Fùq°µâkegeµ¾X+qS4=À‰'ëÕyT¾Ê}5 5€óçÎa€v¨mÄJzŸHeSCf¯ÐÄɬÄ?²²„ mãýK¾$Y„zo–퀸)M¡ÜŽ |¨„È–ú°º8ÖׯM3:õTR]¿^ýŸ¶þøÓÖ-?þ´eä#Øë˜˜˜üáÇŸ~X·.‘”õë“Yu 6ÜúóIë7ÿ- ƒ®_¿ñÓÖŸ δiÛš‹DEE=ûܳr…ádáð~,¡>â#ÄGÀÇ2ˆ;É, ±xÍ~6±@€´jÝzô›£üq³á°¡^1To QRªtéÑ£G@ò†MÜéÉa:†!þ ß®ý~Kr\\œ S±L™2·nݾuë6«(==ýÄñ?‹/Ö@oB|Àçó< <<ì·ßöP`eÓÓÓOžø«D‰bÝ{veT„…† þìܹ›µ©9e!¶kY=zH¹”’rérÉ’Å»tëÈžä‹È×½{WIr 6™²Q¢vîØ Íš?¯i o+;µ£y­Xw«òýqVå¨Cp™g«DÕC¡-â:3óæá¯øCüÀç÷ö ìÛwEe„¿ß¿áÛ5ßoÙ'8IbcbXcݾuGÇ”,YrÓæ5«Ö,ýòëOCØÀ<¥”% Jˆ¯Yó(¥ë×%«%„…G>R´hÑ=¿í»|é× ®!Bþ8@uCeql+¥µ·ö:''û§·ûýþÉïOˆ«‘¿Ñc Ù‰‹  «üUªV™=ïƒÞ}^þhñqv—lðûýë6®ÚüCRllŒ¤/6&¦L™Ò·nÝ6¾üŽ“n ¤H UDcX”Pª„ƒBƵŒÃ‡Ž–¯PŽ}p••hڼɧŸ/4¸¿ ž}½fÍêaa¡òt%Jì_ÊÅ‹))—J–*Ñõ¥P 4_D¾=^’|fý~߯o×oùisLl¬T©ØØØ2eËruV AhÕjUç-˜Ý·_ïO—|¬ñMP%PXj(ZzZú‰'K”,Þ£×ËìQXXØë¯€;v Ïšj̓ZGøŒ“3ACÊ¥K­ïÑcÅ·±II£ø Ò.¿ßŸ˜¼rÓ÷‰cc¤2ÇÄT,ÍšþÖV:-Û·¾zñQâóÜ/<<ì÷ß÷RÊO1•öí¥ž]˜††† 6„§ e IDATvíû5«®-oÔ7a\Jᔾح#{š/_ÄË’RÝððÈíDãÚxªY³z›v-8üã[ø<óff‰âÅÚuhý̳O±:BCC‡ ۶휣?ÿ¼=++»U«–?Ì·"E‹Ž9 6oþ\©VÍšíÚ·9pàÀßo±Ì$ zmPÛv­<ýbçNLzÂBÃÆŽ]¾|Ù}ûœ:õp‹ƒ^{¥M»V‡:ddvvU_:Tþ:ùçÙ³çk֪ѩS†­ß2jô°ÈÈü[¾ß*ÍÅÍ›™%ŠoסÍ3Ï>Íž„……ö lÿy— k“’6öî1Pÿ7`õJó”fÓ†Š@Wü5ÍIÇÎíGžððCÂiÝÝô´ôÇO/^¬ÿÀ>,ôòùü¯ î/ãž-=ýä‰?K”(Ö½g7†BXxØð×_€;v3ËŠQ;wö<Ô¬ù@XXÂ3C+Y¬{ÏnŒ—¡aaƿʡIG.h‘¤Ó)ˆ¦3Äå3Â/ýlú¼q#Øí„DFFëàÀÀWûµnÛü𡣯{‹í¨²Óöí»³²²[´hšðp]ö¤HÑ"Ã^¾ÿmÆ844¬ió&”˜l´ónõmÕ¦ùáCGG {+;Kÿ²±H»¶ÿ=z¿ÄV7€|í:´yâÉÇnÞ¼µwÏ ˜™í5hÓ®ÅÁ‡·ü°UFSR¤_àÆ!""¢{ ‹¤ÎŸO€gž{’ˆTXXXŸ¾Ýò@@œ-úäS³–zú©ÆÏ¿ð,¥´NÝÚì¸ìTÀùsç FØr¶Štñ| <ýì“R¾ÃÂÂzõQ• RÈÊÊz嵄øAƒÀ}%3222Ž>Z¾B¹­[HgÝ´y“ÅŸ-xåµþDÓ( @/œ?Õk<ft­˜8â®—öëè°÷(”*Urøˆ!ðíÆï5€ †âÕÚ·|†Ö>ІàÌTëR[H@­¨öª#(æN0b”Z…1¸+Kò ê£A*A|_•! àó<\Ð, ¯ Â#ò•(Qôä÷û‹—(lNœRøãرgÍ<ô5ˆŠŠŒŠâŒ»wï¾1êÍÛ·nqÄ ü-øëâËÝ|˜¯p` E yà e,0Ú’Að®Ñ2fåÊ—wÒDhÙªE½‡0©º >ª Ícs)Zô£E (@‘èèJ÷ßúÓ[×®^+H€òåËOzo<.R¸H‘/–~ʪ»xñÒèQc@vvÖʯ¿éÚ­óªÕËýãúÌQQT¯â_¼hINN¶\ôÞ¤>úxNÿ½[·myþÜùråË/^,3óæÌés1‘S&O[°hÎaƒ:tj›rñRLLÅ"E _¹œºpþÇ’Mf‡[µ¶™>œ5òûFŒÚºmËË)—«V­²CœÕA ¹w%Á4‚+X»zýË=»¶ëÐ&qm2Ú…bi=èá‡~!MÃöm»nÞ¼Õ¾c›ÚñµØ–Ô´tñ©n¶ézûÏ;oÞ¼Õ¡SÛø:µoݺ WRÓG½>ÚçóÉ#®_ÿ·h‘¢É›Vÿ}êŸ˜Ø ¥K—ÎÊÊ^¸p±ÙX߬Yf5Öglß8R;¨^³ZÁB ÒýqÅŠM¹xI¥ m½ú %KßóÛÞ‹.Z´|Ö%mpðE'eË•?‘Í‚Ë[áÂ/á§M\L¹ôöèñà™ìÑ øpæ¼:ÖªS·öª5üüӦÎfC†ØÞ°T¦ ?p¥@¨B… Þ¾u Rfgg­úzM—nW­Yzìèñ72£¢¢¨^5$ÄÿÉÇŸñ¯ÿé\æB§˜P¶\ÙwÞÃß J?ûâ#Ié[£Æ±bïOš¶ø³ùã&¼Ù¡c› RJ—.õ@õª7oÞš=s>à_‡þçôß§ÿ}oBBÝäoמ‡u;wöÂI“ǽ>bpë6Í/_ºR¥ §ÔHEï»ïÑõþÍø—}ÁR¹Y:]ðùü£ÇŒ „̘>G7ÒƒL?ùÓÏNöîéÓ}®¦_)\$:åbŠ\/W¯]}òÔ1cGòé¢S§NeÞ¼Y¥r刈ˆ]»~ùf•ã ¨>âûöBÈ´fš´R ëß¿äϱèãùFÙqo¿ó÷ß§€?~â‚…óÞ;ºcçö.\¬\¹r©R%/_º2mÚLF%%ôÀýŸ-ù¢{—–|öÉ™Τ¦¥•/W®x‰â999Æ¿s#óºá`žzú‰Â…£÷íÛîì1§Å  ëÇp‹ˆX´XâÆ7þ퉧þþ8 *]|æŸ3©iéåË•e•NÿNfæ Jí:ÿöÄÏ—.™>cêé¿O§_½S¤Hᔋ) .Òé&ðÔS ·gÏœ‘˜Ió–‘‘ñÖ›c?˜6eô[#{õî~á⟸؂ ¦§¥yk¼D2,<¼_¿^‚½s1þ0îíwOÿ}š™ý‰ã'Í[0{ô˜í;·¹pþRåÊ•J•*qùrêÌs±”N?yÉç ?˜Î$äZllÅÂE¢SR.}´p‰ÝôEZÃDE˜»`º|Z¼xq˜¿p³Eë’6®F_Qz úo¾5žx²ñóÏ´à-®C~ïÝi-žÓ`¯Öm[œ?w¡œÐS‡Èôþäé Í2ô•Û¨8äJê‡h*ù÷in{7mV¶÷è‘?>˜:“åœ2yúírŒÐú… >‘«̯êj^Ôqà‚†Š)Œ72-5mÁüÅìÅžß÷egçŒ~ëõï6ÿø|“§ïÞÍÚóÛ>‚zkùóG,X¨«ÀÄ Sا®]½:mê¬7Þ¾ðãÿþûôÍÌ[÷WŽ‹ˆˆøe÷ïk¿YVjüd£èèBö:ÇÒ×RXXXoQé|ïJ<´ô³ݺwþøÓ¹gÏœKKMgF5''gÒÄ©™¢C.)÷ùBÞ;’2cú\µÄ@õÇèœY ß{܈‘ƒÛ´m~ùÅhë’’_z¹Óã7X¹æ‹½{FäÏW¯~ÂÏ?m7ؼ|ÙÊgž{rĨ!ÍZ4ñûü•«TÊÈøwİ7§Ïœ<|äàß~Ý{éR êg‘Nÿ³gϾ‡zpݦo.œ¿È;òÇôf€õë’»¼Üé±Ç¬øæ‹ý{æËŸ¯^½éãx#‹è>ãZF¥Êqk×}ö̹ØJ±%K–¸ûßÝO-$ S&MûxÉü±ãG·ïØúÂù”ÒeJU{ ê­›·æÌš¯uC(€Nÿ³wϾº=˜¸ñ›‹·£Ìœ6l¥ä,ža*R¤Èìù3 páBqqq¡a¡Û¶n_ö²•-Wnœæ-^¢ÜîÛoޤöв(·‰zA8î"bÅÝ;ðŠþÙL¢Í™q»rðö!â¡ZÈHPMù9‚2z ð©LÕ2 Œh}Õ žÄb²xñâÇtíöbÍZµ ,x5ý꯿þúÉ'Kþ>uŠw˜¡„…… ÅÆÄÞ_åþ_wÿš¸v`«ZA­fð) , ²OÎi§oªX¨qáÊ•+Çÿ8^¥j•üÉ&$/ÛKe kÐàQ¸yóÖŸ'ÿ\³6qÕ×ßP!¦Hdþˆø:ÚÍÐÐø:µÙutá3œu@¦MyòÄŸí;´©X±b‚Qwïf>}zíšu_.ûšg öèÒ¹Gß~=êÆ×©•q-#9yóÂù‹Ï=‹›ïÞÝ^ìÕ·ºuŒ¯S+-íê7«Ìÿ8-5MŽZ¨(Ë5Y²1ùÛ¬¬ì¾}»ÇÄÆ*X0y÷_|ñeK>„–÷D•»¡påJêÜÙ GŒ2wÁô¡¯úã˜÷Âcb_IRyÃ_¾|ù•C‡µJ•ûóå €””KvŸýòåËú >âµ*U*ólS”B Æ‹!$$ä­7Ç9¤Q£†ù#óïßwpö¬¹ÇŽªHiSf<ñ—ÞXÿ$®]ÿ¥8ãúÛ®ß÷í=ø@õªßoÞré"^ü‰mµ˜üIÚ¨»` ¢££{¼aæÌ­[¶ FêåEŠŒˆ¨_ ? ‘O EG¡¨ÿ¨,¡ÿ©WR;µ{¹M»–÷W®týßëßmÞrñbÊë#Kò40 °kׯ¿ÿ¶·F­ê×oNI¹Æ…éSgŸ<ñW»­*V¬`ðM!âìwóAdþüµëh”†††È'Ñ…£ðÿŽ?ѵSÏÞýz<\¯n\¥¸Ë—/óMâçŸ.» b&aõøpïëCG6¨Q£G¥žþ÷ßT Ý$oؘ••Õ·_¯ØØØB ®_¿ñ‹Ï—¶lÙ\öŠ!SÞÿàø‰:´¯S±`Áwïfþûï5k—-]f";vîúí·ßkÖª™¼n#[{†ÃÇÈüù]6$^PZX¸&²wï¾.^ê7 ÷CÕ¯S;-5ý›•«çÏÿH|—‹ó¸E«æ~¿Cò·YYwñ€à7‚“¿ÍÊÎîÓ§{LlÅB &oؼléŠ-_Àí™?"Þjù¤páh馧Oýð䉿ڶWMÿÏé×nX±|•0Ñ8ÔíÅÞ}úv(áÁÚujf\ËØ˜üÝGó?9wî¬DìÝ{àå.}úôëþ`Ý:µëÔLK»ºzUÒ‹ÓRÓ˜"ƒá3êŒå3›’7gee÷îórLlÅ‚œÒ¯ØNÍ[4ñûý“¿»{÷®%ý“lMöÓ¡SÛªÕ*ÿ¸åçCÕî5\ë±£Ç:µïÖo@ïÚñ5kÇ×JKM[ùÕªys]½–ŽÞé×_¯<{ö\÷ž/Õ¬Q½LXع³çÖ%®_ºl¹qJ'K_ìXíª[~Ør`ÿóZR•î¯d—ŠŠ”׿ýö[çN]úè›P¡BÅ´ÔÔåËV,\ð‘:g•˜öÁô}ûöuèØ¾zõêeÊ–½võê¦ß.Yòù±cÇlømÛ¶€µke "<[ ·È(µÚ´ûöíïØ±ÝªÒÍŸ¡JÙÚÞ£G¶oÛqÀÀþññµâãk§¥¦}ýÕÊyó>ºz5]70Úð£ª1:yñã–­;uíÕ«GBBÝêÕ«§§¥mÜðí¢EŸ¤¦¦:Ø[I_( ðùxê÷ßötéܽ_ÿÞ u+”¯––¶bùª~‚¿D ÇŽþÑ©ýKýô®_£v|Í´´ôU_¯™?ÿ“kú!̹%@CPÔ!S­Ú5ØÅï¿ïÇäž?wáŸΔ/_î矶kqªíàÁC]:÷êÛ¯{BBÝø:5Y²`ÞâsçÎa{$1Ѥ@^úæáƒ5|ÙÞ»àÞ½º½Ø»oÿuë։״> M !d©©•g¼^hÞâ…GÔïÞµßÝ»‡NŸ9ü­W^ë;|ÄkçΞ1ôÍóçÏŠã*ÅÚ°°f­úz͹³ºuï\£Fµ2¡çÏ^ذnÓŠå+4ÇF£U›´vƒùBÇÛ]i¤Ú;:sÆœýû¶ëÐꪕ.SúÚµk›7ýðùg_Š KãRÇÎÜpk½Í3"N±ñi%‚ê÷²s®3Ë8"ÁtAb€€ÊÚ±yê½nA ö!\F¾1œm¨(W¾L¹re§¼7ó«+Ui%W¼öa¯¿ÚíåÎ999›7ý°pÞâó.8j3ð$ZC©m°`=tÁÙK„hRõÊïÙwpwzZú“Ÿ7+"DÒ‡´ìdt@2]*—],**êûŸ’³³³Ÿ{²9ۜà ±œºt>bÈšo'¿3U¢ºõÎdZ3¡“S¼#"9ô ó—”,YrãwkŽù£kçžZUDÓ›Pí‡ÔV!:*ÃÖÆîµ[Œ5 “üq+ &E#J™Y)$âVê(fž9»n$ë•:KÌÒb¢Fû?Q(Aòbò_ !ñv(FV ’´~ullL‡¶/?~u.yÚÎe¶ÿN/8‚“`üÀt:”`ÑOphVuì/%8Jøõ55Ôðñü£{k¿Œ‰­Ø¹}÷ãÇO‚§–”3Ræ@,Û–·Š6Š~=Žøð¬)/èXlôÊŸ—~Sð$‡È¥Å‘¢-|16 ¥,ˆ}3½yÐGP0‹ñqpWhxî0i^È(„_ë«DÀeǨó´æÒL<#@äP-ªMƒ"=– º$‹K£m¸¯† æ1,¹áYzVc¶5Õ1XÛýÏÉÛîå5¡`‹¥2³‚~ʱ¥m– ±ž˜R@ŸŠ=@à:!—™qPô]¦¼˜ )žÛŽ•ý1ÂKJ²]UL,¡®pWV þgô«U˜"¢ÊÌ£.!ÈŽ«&N„èpиÌï#x§1ª™k(O³¸pá"'ÌQ®‘@DqdKl°‹äoxàvqñÂE‹5.A¶¥™9"XĬ:ß‚ãMØ€±HNµ¿Á1B@v©):¼B&wú^Ò8ôÆéÿPIUH0“£_§Fµª‚3™èŒésŽ96dø š=·cÛ®ó.X S&ùU MÂ]h:ØÏþ'„@û“1¢õf ­–$ÉÄcá’gB'< ]ΞáÙðð°o7~wç¿Û¶·mѲ¬OÚ(JèGAåÅö©•öòË{²´nB8sæœ9Óåj 'h#ìãÆ ¸jÖ‡’Y©)£b3³%ºÁü›`Õ.dl z°È2"-•¥ »Ì‡8)_Ð΄ÈçóQJä‘{Ø_c|uÍ•ŽpÄа‘hyTF ¨8BZ}ªãZµkÅÆÆœ8ñçñ'ù[BðAa†ô!oaÜï5?›cú.‹|ëüUEî²è¡}Db"w­€pWT—E îÜõ׬U#&¶âÉ8qÒFÑû4n™ªjÏoBæAƒ0þ&f–9r'‡‘…ÿ5ä’í«|%3ÀA`¡šrYëdÜ^y]ÏM†P–ÕhqOÉòx¬‹¼Í}MÍ’ZdDA§d‰à_dÅ+c 5»'ˬ'âxÔ0Zá€Í®ÜDˆxÕ.ÞK7¨:{Dnlúðøk¿ž”ºÞ;!õ»5Ê.B{qa×å¢á’sÅ@°Ž€^–?÷îÍÚ ‚$´ß}Ju°AКæÅ˜ã¢ fvõîFô䦈g«;[*vK¯;ïlø_JƒdÑ®fh´ÐÄ¥zrâŽè¬fǘ™õJE £?D#š:‚„ˆý8FìÂSŠ õ2 <èªHc¤[T}ï.€ˆcuž#…•¿æÞ|AôGnO%êãÜTd’ZÁL*ÃRåsøÑ£O8i":0Bñ¹RºUÞãk¾ÖZ3¢=äÙE'SŒ€<Ò·:,±&Bym¢&ÓgÅŠ¢b½‘æ#|Õž£Ñ1¤éM.B \„Ðа ê]¼˜òçÉ¿¬Ù<¬òVçzG­wÚ{J%s—#£9~¿ÿÁ_ÒÓ®>Ñø9 Zò(È6<ôȃ¯ÔÕhšÈ›)ËÅÜS*l ùdà‹PwÈC9ËPsvêÒáÙgŸdwù""*W©D)íñRÿÃ‡Ž€ƒ‚Ýä8)§¨ä_µ7+ùÈèæ”R~XŸÖ%4ÅIØÈ ³*þ2qç‚äˆ=QÆO7yŠ@ gÆ”OÅP±q“¯å  ÙVÅ q刌uŠôAD<‡M)Åß/Ðgԉ̩àj‚Ãbk¤'Úô,qÑÊ12[ËÌŽÃ#Ⱥ—0ƒÔìÅüaÿƒ‚¦æA“NvßÚCqCQ»H=¡TîúQhlÑo=14âW,®Xð¨Ù^ ‡\¿DIÍr;½¥SHµ6.‹žØªîÇ"­{-ô̽uµ°Eà§û8¢gÔÁ#¤­áhþPÙ àSDâ*UÎEhpU”ç–‚±VÚÜàŠr/ k¤æ’uCíU£M—3£Ë²âàÅž4Â-ƒÓ6Áy6ɢ;È1Ÿy›õ tùÕ{zT«ìeî Z¶voÉš–5M·£ˆö“{S0uCK0(±+³Ì`)1‚R.¬æü9€VGPØŒõ÷ÎÉ\“=C«:'ÀqÖ-Zdʗ⃦îê-‹>U|Á¦.YDõzŒÎŒ,)Œc:¼È u†ѬƒÕNÆl ^Ž*l5%Ô.ŠŸ„å!Dç6×)0ü½Àe÷0G9,ˆÃîN`9&¼DÆË˜ËFðâ£71:O@twØbpö”óÍÓñŒR]*й «™UHpAÞJ©$~Á“¡ëæ EÈÍÊúoëÖm^¤IóbAÂA›iàEQÀÉYX9&ÎÕ„JQÐ/¨˜PÑ[33"‡%I–Ýa¦µ8Æ-:vÜÔ« ¶JDõÚø°%õà¦û2eK˽©™™7:²pþ§ŽÞ,ä"8Hñ‡¨Å5 9¤)#è IíÅW=ª_¢~…œ £bX@ŽìR!]‚{.è 5*N¡S#,lÅ‹qÐì„í5ÔPÌ£zåuŸ*¦¡bx©ßêëå¦ösLˆÃ Œ½–µ ÂiKQÍëHïmh_DBçi™ÁBê^«¤<#™^XZ!1’&Ö&!WÓ›—¤Û)ªl ÙÚÞû3¨:1-Õ©†¥.°^€8E$§ðle¦ˆg䔼9L¤-ó±Àš&F*›¸µÞ[0ôU šô1B`Ÿ°öâ#$  2î¢(mSy]°2©JxfOæä€öÂùŠÚ³^ÒÀX™ÂÜWjNˆˆ%¢$Ab$¥Èk ØÃ £µüÙ@Ž‹0•JÍñ”8]Åo)¥â¹à…øS«Ã' IDAT HK0¥š€òõB| W0ƒ Yˆ «Hõ*â)bâC]ïÙér«‚ šÜ,êgã¸^¹$ŒAŒ´›¤š—±+Ьa^Üð„}*YCõ·rHEymŠMÑ2敽:Ö•ž\–œð` ÍV=F–êÝ#t+¢¡bÆÀõž¥0L¶rE’s*q"Wš+4ãpínƒRPŸú¸¶ôy>JbD›€5ú®È®ŒjL#D +­><†‡øNuÊÍ¡[©-µé#3J³4/âÚ±ùЇçºã¡:¢Ñh°ÊOñù'mªVÄR” ¨ÐQ5¢Ü0eƒ­¬ab¥Ç}ÂúÊžx&wqJÛáLé@ª·²ªèó“è„P Š©x™cšV·ÎÂ8É:=„{¼<‘ˆjJ…I0>p ÷d+;à ÑÒƒ;´ö žÚ§Ït>+KE@ÔšasŠ‚à‹W¾BYndB(ØÂ†13¢ˆÃ0&Ƽ ² hRWÚ|ç]˜¨þG!®Âz£ä¹uE 5E€PÉC9à1MG>ÔœûÿS²–vÐ ……‰‰åu ‚Çtž5ò?ÞõÝ™™j¢„®¼pq2ÖèͲ¿Òé9%?‚Ï » ôh!XÒWèkô%(âA!ùY#ä§Âîƒ gûí9ì³ÛCåº*ÐÜ1Ðâ” Éõùø<Öè–#7·ˆm7ˆ^ȼ¹Ýô΋ÞáQ0"-;Æ—J"±!yäíˆdŽƒ/+°Á8¨CnX®2¤y @½QAŽþœÕH4‚±Áƒ¡Ô*èª ]{4ñ’a×£A#žô˜0²ÔüÔ½&'µzæÊ«cé´_(T·²x¡â=«k%ã;´*Êà3”ûÎxŒ²þAÚ€ìn#?éÖV9EŒ šƒR""•_˜‹¨^©AFçááA+´¸[M¥B…EæüÑ‚YA•ˆ Ô…d›ª¤ª°´ðTA`Óžrq.öH×ÃÑC£á—jóŽhÌm¥ùÖÚNå@ãÖX©²6ü %€–#á–ƒEBh €g±@Êf¨rÿŠX/CŽñÔÚ‰:n,sAÑq5z~Ê—S½3Ã!ØïÔ¼Ó5YpˆË•èYO„÷¤rêLFóT›ªw²­˜ TÌÕwþà˜¡Búà_hà¨>/¦VŸþVÑÞ*£Їlˆ-ò˜÷XäÍJ$c”|h&Åiˆ)We«Èï®# õÑk¤©ˆsž¬ÆG.èT¦ÁêS½b‹xm45o)ê÷ûAtgåZǰ®à)ÆñùùÉ(û8·ÆÆò 1ßCЊD”Õi߈º#Dí³Ö³«eA¸íeúWäà\áG®NqÈkGà"Ñç›Õ Ÿ\~Š»JD翚4ðvUd „®Pý õiÕà 4BÔÇ ߥ´æ^µ‹à9ÍèË Ak2G„éeí·ðš`EÂEÅzxaVÅ­†gdOÛqjQL °}¯4!ºV2nU>ˆÇÐ"ÂÌ`·é´ûr§‘ Œ›#Ä¡ âÄŒš¤š¿f ´pBÚÈ‚Ýt%l(ˆ‚Ä]o¡meœ©PtĨ W¡ÒY‰{ßP™QÌj)ŸO ï¥cÔsîU92åÉæù¨õŠ(™T\e!áÃJiÙq¯ŒÚky\oQ4Ü¡Æâ¤ìªàÊn}Öæ–¥#„xôã©’ RQY°›IZ=W8啨"Íã%ÖÐåMþ öPØPÅÚø«NXÏlÇËéB6} [³Üyû‹\b¢Ìï;—‚ª£+0âƒ_ž&ÍÅtŒ±´©kT˜Ê©ka•ÁRq‡ˆr€øF‘¬R AÖŽà—²Á1P}+÷å“܃ ]ԽܷxnÇ9¼%ÍÈMdÔ|€®¿(žÀmÈ 8†g*§Ž?RZª¿ç²Gä%"NU& „C2DKL¶8Ñ3ËáW²PÕÚÛÜ[Õ¨ÀÃV @ ´YÔ ‘ÍÕÙDW9Aö[©MКÔ"R‘ÐiD«F›³P؆ä+œ¬¤þZç1q€¢m èvЄezí½Q©5_Py&€nö]P(8CeR ¤k·ÂXD\l7¸E‰±Ù¬X.%RÂãz£ŠšÜ®¡LLÖô¶B÷ËM‚^1N:GL“nú*cS±9ÐiÃôGœÍâ9ñÇ1îSŸ*(ÎÉYGb=•’@„Îë¡»>Br„bÓȨ»N8UçÓ¢B¬™äêYÁQ!­–ºóýŸ,H"~¿(ðRJIˆ,`(?g¤†OˆÆéµjHu®f}ˆ‡‚¶RØ´)fbŸj‹ƒ¼>RnÙă98¸åÝ "gôD“ˆ  <<Ø4w!E:2Û’á°¯ž%\c¿0B —óqò]ÓA JÜl(HÖy&„ªu8K{A¾é0+è<¼Õ‰óØ\ä‰ÜŽêå³Áý‚¢j$O>C£üÊäèêá5ýh “¸Ç=d\Ûb›–]—»@2äÖÙK£h\[g4$kXaB‰¶,PYrË“›Ãwž²gD`Z)igašrrk!×Þ!D°[#Üæ ø:yÞܧò±JYŽÈw<6’v \[6-Âö›|ÐXG ƒÌ߈Ã/€ðÍ<ŽJ0•Ú®H ×qÊÍP1 E.¢Íµãè½qðB-ÞfõÆ55r˜E¼ c,Ý’è2¨Ó@ËÇT "¿eœ’¡Í‰pQÄ‘œûæ)¹ì»’$7ñÊ;æÅ?Èž “jT9¤$ó9"/]™­¬¦Ï·ÁëââÆ­ÑUq—ñç@ƒõr¸°e3 *ñÀàL„hQïü¸ÓáPû±ÞÀ ¾ÍYÀì ³éÉjb\rceçq9+³&ÃCo_sÌ[±L/Ç©Æ2(CI"è‡OS$Bæ·6èõåHvh©Xù!©ÅN®Ç%â±-,úaú†ƒbÍ\@Ø}ÍÀ!ã(ÝŠ¹tؙ䒂½žl5¾òUN> Êp)Þm«Öç«xNL jQ‹£û£.^/ôÑY ÐY+= òî¹ œÎ9}"V›tæÇ«ÇD¢¢˜gÁ‰9XB È(OÀŠ;ª¨¥T‹^‰b±ä†‰¦Eœ”{iÇ! Á&ªQ…¼‘­$RÄ-šJGmi¤ ?°äÑD¹Z(’ÿ·1vÃûa¶š™(áVÄš‚¡^™ø­DÁ¶Yª þâWàz6#Ý” -ÀÔ‹R‚ÊhÈQê¬Ë -MwðFÃ<Ï®\QhPÃ^/Bûöï5ñÝ·«×¨&$YŸ)CáÑò¯–ì;´{ïÁ]{îÚ{pwÇÎí¥a¶l‰ºlÜø±yóg?ýÌӆɳFÄQÑPaLøÕ*”6Eâ#„Pö;6NoPÈ~Å'À)§š-qdEeƒH)£Mœ§EÓK‹Pù”æ ‹ÁfÑXZ%x°ÎÃ6Ê•T®1Ä:Í»‹eh™1a»1ìZ!™6".›¡gÂe NÅIÖ‰à#> uAÊ»¥’‚.‹zþÿ‰qôÖÓÀh@Ϙ,WÇK!ЬE“š=·bÙÊY3çåädˆ½Í*¢ pðÀákÿ@¹reÊ•+‹ì‚–*ýλã?ñ¥tÕª5ÂzáOéÈ qOA=Q×L.4ûFಠ|+5Ö,€i{Eé5žhÙ\·ªH¼ç¶»Ì-µhÙÖ%&Ûï#òå{æÙ'ïÜùoó¦ïEP'N¶®ìÄsf{kשսGד'ÿZ0gÛµKÀø¥FC0‡š[߉†‰jCP¥dñycë52qèÑÝÀ™Ú¬Ì.áÓ·,Ô!åŒøX o;iQ±Èo4‡O”Y‘ø7yá¹|ùÂ×%­¿yó¦M·@PRL¡€}žÖ°Û&(TsmŒR¶Œ‹ÊÈAŽ4Wh¨éË0rØF׫ë¡k®×âªTîF&„æ-›6mÞdù²¯fNŸ›““­Ú[s¸A\õ%Ä\î n¸;4͹ZÐ ¶ëÏf, ¦ !V³ä>îlHð~h72â6fyà¼e²ƒ¼örÈÞZ¬a.£¿N&w1š2  …Ó¡²V&AR_AÚ-™z$/÷$ ÿ—RXø¬¤b’ñÔS¼žSóÂbÒÿ¦QG“:!…èïe,¢1›õp.uŒ;år!C&݇ñ‡üFµ©æ5Y\%[¹3™s2}'f.·ôq+"%1t‹–:Rw©®¤ Z&'XÁ@ À-2ëžBj‡“6Ú6{î•3`Ÿz$NDýkÕ÷ÒQTƒÓª‡£"‘‡3ƒ(K‰tS¸9ÕÃÞqUáláÂ…·íøñ¯S§Ú´hi{òÉ'zöêûßÛÇŽŸóá‚ãÇ3ÈJ}œZ>õBTÊ6%rš@.îfë“ù6QͪQ@þ"ÅmÚüùI“Ça.%®Ù0~Ü$ü„0 \…C¼HÅ7Õ¸GÁ™! *”-SæõQƒëÔ©U(ºË>é©ß¬\‹1nN[¾¦ú¦²uÔf?¥’‚_¸ ¸ÑY}|Æ3ê âl°°°_ölMI¹Ôô¹Ö w: @$by6ÞæŽá¾KUj—ôô¨ÞîÜ|ýã¶M§Nýݾu¯lŒM¨´k¤;²±ä/|²sûî7ÇŽìòR§¢÷}kôxÊÎ<§·GS&OgpûìÓo@o«1\$@TTE‹çW«Vå‡ï·L›6ëâ…‹’)áaá{öïN¹˜òì3/èe qMr;&s¶ÉÇ«à§ã±bcÁ½Ôì œ-‚EÅì§8ZÒ²v¡+| öù§²²²7nüNù9QäégžˆŒÌ¿qãw™™™‚n+‰ù¥"…ŠlÝþí_§þn×êE <â+¯öKHx°ñ¾ß¼åÏ“É=©dx÷W´´† ¦*ÏIÙ5캕4*Ѝ^F˜5{Œhtá蟷÷שSmZtôpÙwõ¿¥×0¥Ÿ×ä¡…ØÃˆ¯ ›Åh€¶jÝ Ö®MÂöîÿ=,,Ô  SÇ®G áaa{öÿšr1å™§›à &ŽoÓ¶Õœç/úh«yã¦uåÊ—sB{âñgÒÒÒôðÍð¸ˆAò…åÛ³ÿùîæÍ[§OŸ^»vݪ¯¿¡è{áaá8ܾ}ûÏ?ÿZñåÊ ë“qApküø3éié t›1Ôçó¯NüªR\ÜKÝzíß·_aà÷‡8ô«,ž“““ž–¾k×/óç}”ré¿t…,6 æ/Ú±}ט·Gu{éÅûŠ}ãq”æ°\lÔ«“<Ñó—$T*¢GbØ}“Ù^ XÆ¿+)þ€%ŽFûáøÐM³§ŽÝÎÙ8!Ľ_)LÏeˆÚõˆ+«#©8Üv¦WM£óiæW£`Áˆ6DFÂBËæ³°…* ¢¸Å=ª| káˆ8S‚äñ0b•=„+þäÝKwVT-k5Ø©SdÕO1ªü‰©ÏfsÈV¤Sªb?YƼö MòêÎÒ»G¿}û™s¥J øÔ¬¼( ¬iÆ_ym@Ÿ¾=Þ8eÕÊ5ŠQÊ2iÌÕ‹ò”~õêý‡Øu¡Bcb+Ú¹Èî“jÝT«¦±Ðj2$H˜¨Ðа¹ ¦WŒ©pîÜùӧϰ—iiés*²+NP4C¢•tFÌmmè ÆÞw¦h½k©âRx¬¡šÝ€ÇqÇö<È̦ŒhL0 ðLž¹¬€ÙIGdAŒ<¦LÑ=Û"H:räh÷n}|ôáó/=Þøþª•k¬ÐÏ%¤ ÇX ‡/`–WF‘d·:þäÓ ˆúþûŸ222@ƒJ Eëf°nm²Õ­sxRêâªÔ»ØZ£FµS>wî‚” ª ¶¤ÊÃ¥ôÐÀ¨©±›@Sú2šªeSƒ\ò©m\• 9”~E@Ó͵4ùBŒU Ç€ƒV½5*ÿa·¨ÌS»vÍ ç/ìý}¯!wÙÙ9‡6q'äæÍ›Â˺¥J—jѲùõë7¾\¶Â¨ôÀƒvw)++K…ÙëiLYúï¿»{öì€ÂE¢+W®m†Ñ.7,ÙYÙâZ½j×¾M¥¸¸uIöï; A»s翃@hXØý•b[µnñØã:wì–’rÉŠ~AÜ{†E‡éÖ¥×GÏmÒô¹ÃGŽ-ûâK A4±ëŠEò[%ô 0–k’…„5"¡~Çò!'h£‹<˜fvW¼€=¼ç’ËÅ%W"z £Û,¢.]chà:XE\*©®,Žf™ÝÅYÑ•Aå°¿P¨M8hšÞoÀæ—mƒ¡ð4mÍcãËÈ6ˆ‡ãžD;£Io¬ÜÐt'ÖÛ™ZÆ‘ñN¹ÑëAdÞ¢>žB¬ªTŒA±ã£ÔÕÝ¡êtIìC…ÿS°‰z ”a5³XDdE\1mê ŽÄsÔ_)zh $Ð|Ú>û5>’ëD¾ EV’oï`“¿DP"E(ÊZµeX80 ¶š+ÞÔ¤WÎ8L („%ÛwLåè¸9,i<úN$$†fßšOÎQ Ý{¼}û Øóû Ð®C»qãßêÓ¯gÿ~ƒØè,¥TÌ[€€~dÄ(jE#®Z®7Özv˜ ðË®ß~Ùõ£÷‰'›1û}™‹R ˆæ1„hEš`!ä~ÇÏÚRå*•*ÆTØ»ç@ïÙ,ŽÆhQ[ ±¢rz­È’ußæA럩Ð3µ>›‡šRÕÄü6ä)QjJ„=9i "Z ^Ç=/•‚Ø{„þë,@´\Z¬˜GLˆ‚mÅØoÞ½›5j䨤ä•ýôZ—˜|ãÆuÀrÎ×1ºÒ´bƒ[«ví&/åÒå_ý]ã+AåIZ«"[ÊîáËå+W|¹ÒÀÇÆPU/l„E‡YÐCÀePÒ¤c}Cûšðø çŒ§F,UTbkª¸$¸­”g•Ùøé‰¦íõ ·Uë–˜¸ÎæmFFÆK]»k8Ƥ  OŸž!!þeK—gÞÌ4ìCï}ÿ»{?ÑËÚa gºšžÞ¿ï@v]¦l™¹óf?ñdãÖm[¯]½V@',[ï^ýe©º>¸`Ñœ—{týþ‡-¬Ï)Sïýÿ»ûŸQ?îÐ¥hDFF¾òJ¿72gLÿ¯Â(§^¹Ò»×ö ""ÿä÷'>õôýö?ö»5ò²NúîÝ»#^sæ5öIJÜpãÆ äŸ‘4ºƒk3¦dwfφ¹Aô é¢Sê™îA¥.h²ƒO ¨õƒ"X¤ÌÃÄžöY Ü“C å&Åòé–‘äOå B„¢6Šï-`Êó¡…'Ê@[ÉLj«DY@­¢@ጃ b]zt#=B€¼û^[˜©ˆÎ¥Ç\qâ(ŸäZ¥+ƒ)¡Ä~ìJÎöÉ‹Ü:–ß«RÊC¡pAÊ%Ö„ÁBlåW7ú"*õAqÆßÙJÙÑlÕtw”÷g‘§'òZl dbAtÁ$2º Ká‡á)å/˜Ð}©ÚmMTÊ&3Å?ks ÈÝ2 û¨ ŒOxëªÌ¸þ(£]‘8ŽÂO’Ð@  ¿TJà÷û(¥œJ©ßçWÅñ…@@¢¬Ë…Þ¨4À¿9©,%„½¯hNNξ½û ñŸocò¦u‰ëOœüSrÚ§Z€…‰>ÌÑiEó€¶’HHf¸ÖÅlöÐc5 ì'„ŸOEïœJ¾Qˆ—t.ƶBjmW¬ø}pîì9}¶”:¥b¾®ZCB’ü/ç’ÀŽÝj@|>âóûü~Oé^i>TºŽB×d‹¸æÂìUñcJ\6øa‚h›V9j©ëfaŠÛÜIóôHE@ÊMMMÝ´±@¨Ç7‚d²@;FBlÐH‹æMà“ÅŸÑ@€o È“3 Ö5652*&°9E@˜v+)¡ÌCf¶¯ÂÇœ}²[·^hJ–,™P¯nZjÚοª,"OóVM !ë“69ÎVåþYX}-â¸ãoº¹®¹ %AšHSÍÞ¸ª:O²¨.Hõ¿TxH$©Í’[ ,GKE´¤ÊSP6Š(¡ÙL^†!Äç〄ÿP+p=¬'ñù›·hJ)MJ\ïÁ:nv1x´Es“¢Ž%J´jÝêÆÌ¥K¿»a¤±%ÄaHP•ÖUÒxC¹xáâ”÷¦@³æM¬¢ZÚ»oß²¥_@“&Ï °>R©¨ÈM3 Ú§O"E‹Ì›·0==÷%©ä4øvçÎí÷ߟ Ú±°Zxê`†föÓRÓÖ'n(P ê‰'“1‡a¿¤¤ðÍY7n,õ6Cí¢øIÉ3UþË=Y§t:6õÏ.'ö?)@R˜ð_Wê⦹"Ž™%oy]‰˜rœÛ *Òå쑇͈̕(BÀ R@ šËó÷UY9–‚‰ºÐᄉ›U *=ýêŽm;.Xœšš¦26sÊ3Ï<ѧ×+õê=Ô¼e³"E _¼xqõªÄ/>_îåÌ)Åó4j8uÒŠ`ìmÜ4=-Q¬x±o ­÷pÝаÐCΙ½àØÑ?Œº*ÆTèÝ·G=Á·m[w.^Äù&±Ñ™C FQô¢££‡½þZÃF†G„=ôÜ}g`UEÐè콤¡!RzBï *H ½ ˆHG°bQ¥ƒ4PTP:¢b”NAiIH Ô„’{öýØ6»gÏÍÅïûñÞ[KÎݳ;;3;;3»;»çЬóþîû¯SŽ{ä‘î²*Ú´i“Q£FT®Rùê•+›6oY¾lÅŽï·§¤{¤[wko6oÖôž{îÙýëîÔÔóÖ’9I©KA[z`GŸxbPXX¾%‹W^¿v¿P=‡gzb§^Sϧ~|ès/>['9)_X¾}˜1}Ö¡C‡äÅú¤‘#¸ÿÀˆ/o:7®t`ÿ!ˆ/D»hC( ±Z ‡›³¶ãâbûöïsü؉O?Y†-Ò§aD} .¤_ò튗ÔNªÕ§çÀƒcNôïßgü³c>YñéÔ)3@hÁ0òý÷;»÷|´IÓF7|òƒëØtÝ„PS. z‡½2¯˜Î»g¡>m@—•îÍá`Zó’giË‹`€±[ gõÃâêR*½Sï&B¦H "éØó "æž(cjÃßìq¾qèYN©^ 8ÚèÙ^Zó:„Ã-Ýx÷r,ÕkXÅÍ’ïZR°¹‚‚/w5ƒCþc™¦[oqcê®a0A/gW ]HÐoI!–öBHxÚD=8i­†KÉ[ŽôðªMb¥Lñ"” 0ã™ä³~z˜ZJãô2صUúÑ& vuãæ(áÿ'zbV×wŸT ¶FLä9ë@(XKßZÔ%ˆ)ðKIµJ-Z¶œ3w!äè‘”#G,P FêoNz=>¾ÌÌ3¥,%%'-^²(22òüùóüñGÙ²e;vêØê¾V}z÷;qâ8ntÝ:u¸(<<üüùó'ÿþ»|… Ý»?Ö²e‹Ý{fddÊ9Z ˆ‰)¶qÃÆèè‚íÚ·{æÙñ±q%ßy{ŠÄ­KçN“ß™ 'NœHK¿Ðíán… ÒB)À短ªY³ÆÐaCÆ›`h`A,!”¶hÑ|öÜé„£G9šR°`ÁêÕ«½þæËññ¥gÏšÏÊ=œrýêuˆ‹‹-qæÌYæg3 ¹wr¥_®^_¿AÝnwÞºõÌýÚÀ¦M[ŒîÐÆ-O‚qU«W]òѼ¨ÈȽ{ö¥§ï­T©B¯>µ~ Uß^ƒ232YéÄ„„OW¶ê%7gÏcŸY£FU P´hahÞ¢ñâ¥ódÉËV~¿ãGö\'9éƒÅ³ÃÃÃRSÓNžü§|ùr<Öµy˦}z>žq!C[áè׿wLLÑM6Œ.Ø®]›§'Œ.[bê;ïÙБ2Ž'w@ Â^¸s'×oOy£H‘B»Û“P¹a£zµ’æöí1èÔ©D+¤Zõª‹–ΊŒüsϾôô½+UèÙûÑÖ÷·ìßg°ä2Ì–9­1‚‡¾óî›q¥b>R¾bùz ê.Z:¯Ÿ!ÇŽ—eê7¨;{ÞûáÿþsúØñ¿Ë–-Ó®}›fÍšôë=äôéÓrTvìÔî·^€¿ÿ>™žžÑ¥[ÇB…£y£H5lPÖœi~¿ÿŸSÿžOMëܹ}a)äè:­jš„ì©T©b¯>¶~ eŸ^3JÅJž¢îô¿g ¶dIùBL±‡‡‹ô‰•ïH¡D‰{®_»våòe·×Ôwß.\¤ðîÝ¿'$$4jÜpiò’žõ9uò+räðÑë×®@ll\l\É3§Ï\¼¨FÖq6Ï”Óg.^¼$›P"š}Æ”¬KY«V­©R¹b«Ö--™ûxÿ¡û”Zµy‹f³æ¼KI9zühʱ T¯^õµ7^Œ/SzÎìzçC£& êÔ­ »´ÿ`Þ¢ÔóiA'%”téÚ֯ߌ¬ ¯Ô°aƒ¸Ø’{þøóÌ™³Öú;µŸ4ùU8ñ÷Éô´ ]»u’ÂhdT?v\Κj'±™­Ž¥ EËæ³çL#„¤pýV zõj¯¿1±L™R³gÍ“:§vRí…‹çFFF¤žOÝóÇÞø²ñ:¶kÙªEÿ¾ƒOœ8!!Ö©Sgáâ¹ááa©çSOž#öD¬pan1¯Aûb¢6Zð7ù‹&üv%Ö–+U‰ ¼"r?™@÷B^|á¥õë×3"«V«¶xñÂûïo=cÆ ©ó_zibddä¬Ys~°€%Ä÷ôøqƒ=þìsÏ<1ä ÙÒÄ—^ Ÿ1}æâE‹êDDDLzkR‡íGŽùꫯŠ8Ž‘ÏGzöìÍzjɇK7lXÛ»w¯¥K>J¿ÎØ5jÌh˜òÎÔËW!Q‘QoO™Œ¸ÊÉZ¿vÀýÚ´yࡇÚnݶ(¦){ìPç±B^zñÕ 61‰IHL\´xî}÷·š=ûjâ ¯±j#F {bèãË>úä‹Uk8(Ô»ß~ûÃå¬+õÖ‰‹‹MMMcÂ]±RÅÊU*¦=~,å8 ³o¬z Wˆ¨ž˜øÒ3Q‘‘ãǾðÝ·ß³÷#G=9xè€á#†¾ñÚÛŒÖkׯýôãÏH˜„pµS¹Jźõ’e“1ÅcbŠÇÈŸ[·l—ãùù‰ãÃÃÃfÏœÿáâehdxä«oNl×¾ÍS#žxãµÉÊ«`Õ§×㬳–~¸|íúÏ{özlÙÒÓÒÓÔ®Š´çD¹}Ýß÷â ¯°ð£žbì]½j ÁHõ)Rxû×;f¼7‡õùü“&¿Ü®}›ƒú¾öò$9%{aℨÈÈ c_øî»ïY¿ýäà'þĤ×ß°ˆr”•êVVG¯+Vt×O¿<5t ¥N¾|a/¿ú|§.í‡4aÜ ÀÌê³Ï‹ˆí•Élç3~dÿ½žxràËßwø¨a0íÝ™Ÿ®ø"£¢&M~u/8|ÔP¿ß¿xѲy³@ß}_]…-G.“ ã^üæ›,gä¨aC†1bèë¯M9uà½F€mÞ)ZD(3 ß܆g |´ךPêDFFEFFdfdÈÞ¡âSØ<6†RÖÊ×Û¿þî ‡:Äç›üΛ:´4xàË/½ÆjM|ñV—] õÑG¯ú|5Pö!(!3}ñ…W€!BBV®^õ%c•ái@‘¢…W¬X¹ôà íûŽ?jè°A£FŒ—Ì{¬{7BÈ+ßܸñ+–—˜°`ÑÌûîo1{ödÕ(Þw³c‡ )I|aâ3ááa³fÌ]²è# 4"<âõI¯´ïÐvøˆ'_mHÛ >ôé5)‡U½zu_öáÇiéi¬ä¨ÑÃ`ê”iljùö;“„jîP¹`úœ %CŒ3Òï÷/\°xö¬9P @ôôï"ÙàGåÅfÍš FOŸn)&S‘"E[µjyýúo¶«0BOÜ‚•1\(ëJ|;‹Ôæýi³¤GW¢Ä=µjÕHMK?pà tÔ—¯\¦ßÇ“r&p?JíÂÊ–Ô¾¬ƒö$Tp‰EÊ¥hÅìÄ E°&vl±kÜ­ÌÛ£ÖøhÙ ^[ù@Ÿ:c/RÛNRΰ>…^ þv% š@–Cè¢WuËb(¦{6nMÝg«dÍ×úNÛˆ· GܪI‚¤É(&DqhꢂPx–जV`ú04ûtÃUè*YÚ­ ze$•àX#ÇÂRÜýe¢lƒåƒþ[‘ešwq”RøF¹\@)?öÎþ3ƒÎST¬=åo·Î°…k>—È’æ -†2C¡¨g£%Š$Llúu,V-Ü(Î. 5#Û#÷§RÕä”Û%êk ê²óñ±@_n/) >Ÿ:”÷:òcÌ¢ÔE8@*—hCˆb5 ù 䀽{öJZ:Ü´I35ꊿ'±jbZZú‚ù^;³fÎîÓ§wƒõ}>?sebbbÒÒÒ/^Ìb}nݾ5uê»:´oÖ¼™@X4Ø´i3CΟ;ÿýŽÚµoW;©öö¯¿BâbãââbÓRÓ–/_„BNNÎòe+xà~pD,ytt¡YsgT®R^yíåýœ;{8öZÏ(þÜû%|ôèÑæÍîw;š÷¯¾!§ãÎÛ7|Õo@¯.]:|ðÁ–Û¡cذá+©ž\‚AD(;R´hÑê5ªK9!g³°hÁG÷mÒ¬‘,yîlêè4 'þâ¡8âɱ,û¾Ö-ÞŸ9eÝš¯¿:Y×ÚbН’P9==cÉâeL ܺsë½i3ÛµoÓ´Yæaì7oÚâ°$P8îÜ÷;~j×¾MÍZÕÓ¾NEôñÿQD*óÍ8ûÄ´Wøêxm°;óç.¢à€ã–,ZÖ®}›ê5Å ˜äÛwß‹‚Å >8¨_“¦¨P"FØ"E?¤³"·F¢¢"çÌœÏä977wæŒyº´ON® ÊìÃK/¼áPzâø ÁMúÉŠÏúèU½FU‰l\lll‰´´ Ÿ®øœÕ¼™“óñŠÏ%ê1ˆŒŒª^£jvvÎÂù2~_¿~í£¥Ÿ4j\@é½¢E8¥ß|óW.Xúøà~Mš5V]¥¿(Óàó>Ê$°Å'Š?Êõ@|~}Œ\Ñ™¢zDDÄÜÙóÔay‹.íС]õÕЙÓû"ÄG|ÄG;ÊO¨8ÝEúÀnթЮ„¬üx%Ÿ}ö娧G&%Õ–º‘RÈ_ þÜ»OòæèÑ”–ÍÂðäSZZZ»¶ÝââbOŸ>››{GãŠÅ!#]»u€õk7q‘GŸÍ.P @ëû[egçlÿú;Ó?"q±\BØlrrr–/ÿ´õ­¤+Èä@8eÄå…S À)Ý»G]œ›r4¥E³Õr-…âÅc«¤§_X¼àCÊOõ8³gÎëÕ»{ýúõ|ÄçPÄÄÄ$$TNO»°dñG¬ëoݾ5íÝéí;´mÚ¬±É€Í›¶2a£”ž;wþû?¶kß¶VR´¯Ó€Ò¸¸¸Ø¸’i©é+–¯dœÌÉÉY¶ìãûh­ñSˆ2ñÂçCÃ82*šÕ³³s>˜Ï>7n\ûðÃå›4ÂТ"£jÔ¨ž3_»~ÝR §Û……å[·vý­[7•G‡0*\¤È‡-6jýúó¯ ,½A ®TÜÁC<îýöí;Ë–búk"ßÑ€g'¼°eËVàÝÍÓªÏWËêk×nxâÉÁ5jT³€“ë¸æv rl*”@Lñâu¤}û¶·nÝ^§£~ÿs—‘óÜ„‰[¶l“ †J‰/Sfõª/×®Y_µjb÷ž¾öÆKŸ~ú9n1¾lüþƒH8W._6tÔï¿Éš‘‘¹wï_õêÕ©U»Ö¾¿ö1îûï#„lÛ²;ƒŠVêPðá 1lޝ%g˜Ëyn/Yë{59±'Îs6~±hå™”óÆgਢ°—y"zcv÷WpFÉ â91K+€ê ,:X·(R ÅŠe®™¯†´ö}"'ZMÍøh­å±¥Œ{Žh,å¸oNŒ 2™«É :¸D…ÃC0ꨆ‰°èËÞ›I¶êŠ­hB¬áb@‹ßÁØâæ·‚‹'^õÀø Š„F¨÷¬°t¨Ù9^X&õD•w¿ÒQ2?Ûã^($Ë`Tã³ô<È„c%½uùŸúA5™ÁB‹ÑçÑS6rKP)\¶3Á±á3[©e4ÎðѧæEʉµ5ì]Ãrr„vP;`¼8žÎ rQŽà(NJR8tàPýzõ^}í•9sæ9räöí[u@,Q h±bÅàôé)»ç(¥ôöí[u’ëbî°ÀÓ§ÿE«š$#ãBvvvñâ1ú !pmû@jZ:DGG3Ü Š€ÓgÎ fÐþùQGÀ“Æ֯Woã†M¿þºû­Éo¾û}8@Æ fÌ|ÿ×_w?=v ÈCÚ-›·«&O0‚@Ì=1uér\©8<:®\¾SÌÒ@HIZH Z_p+V¬(œ>}š{¢@!###;;'&¦˜¥à\ÈÈÀC1-= FThù|óæÏ4p={æìäISЄKÆç)ìä:Rã23/æädƒ)iié%•ç[ÖåR¥â0{®\Q|cðˆÏ?k®}î̹w&OP8™y)çfŽ,séâ¥ììœÂE a—…çËV¼xŒÏO """"#¤ÏR(ºœ={w‹Æl-T¸°ÏçK=Ÿz'÷ŽìØS'O¨2J/]Ê*U*+E&!zÿ˜z¸Ì0ÅILWAùšÏK„’•– Yp¤5¸¶Ë IDAT—Y~fFfNv6ˆiii?*ÊðÝ W[ÙxæÊ=!×”²Žµëå¬+·nÝ”tܼ™síê5t*àðÁ£õêÕ™øÊsóç->zä˜*ï‘rrrNêü׬ b\TTþÛ´¾yóÖ¶-ß(å&¨Ýƒ‘‘ë×oÎÎÉ6í `úíŒÔo€$µhO¼g¥/¿úÂüy N¹uë&å—í©Þ*Ã4ù™»“‰¸}ûvý:Mð dÃçô™3¸ÑÌŒÌììî!«d°ð~AžPѬÙBÑÑpúìÌÍÿýaO¥K"T™FšÌ#… öù|çÏ»}ç¶|yòäß:Ï pá"¬Ø;·Á(摺ucñÆë=\;È—Ï_¿^]£VzÚ#çæÍ[¿üü Ô­W·P¡èrññW._¶¶øËÏ»ô©XÈÈÌBÀQê73#3Pg1X >‹v%æïì÷ÇãJÅí?¸×¹}ûÎÄ^M=Ÿ–'n23$°2¥Ë4oÑôÚÕk=ë›~!(¬_·qÇŽ.ž;fÜȵk7ÜDZ4''gçÎ_ ,_¾ +”-[æù'<õäØô´T‰Ø¶­ßÔ«W§m»öýµõþmZÀ¶­Âžb(9é üZåˆË÷DúHRÓé0\ÝnÀõU7ka‡Ì†a6‚&[l2Ö¡¹-®G)9xzî±A9ÕØ#ÇqP®zC'`b§»Õ*Ç便ŒsÄ‚à sޏr¼ÐuÓªÓ‚À1–6 ›-uäõ«¢j³ ccØ(l£¨T Ú]ÞbÎ !(1žÙ&N^¼±J à;Ѽ*àSKy2B°7‰æpÕ¢Ø@Mh F° ÍÅ# ®Ÿ°à¢ýjª7 ? cenÝåU c±Ü—8 é®ZHÅÅT"‚XêÚÿ–“U´O$·&(¥ê›E®`•!¦ar þQ7µg€Ò Ö­[§q“F›4rçÜÙ³þµoõª/öîý5JÀ 8"„—ˆHMnüÄüúJ”€Ú…CûbZu€÷§½÷þ´÷º¬ÑJ€A\:É0oÎü3çÎÖ¨Q£WïcÆŒœ1}ö„ O(þ¼äÅÂ…‹ëÔKnÔ¸A£Æ Ç9wöܾ¿öùź={ÿD1\²"„Mq›œ:õÏÞ=ûêԭݰQýÝ¿þ–\·v\lÉü9+뢆 ßì¢ §ñû|аq½¯¶­q³qÈÌoCâîÇ+Aê­ >Âû”“EJ) lk[. :ìÓOoúô÷¦cÔ|>Ò´©¹{“’r¯Ê¥ì¨Rêh‡8ÄÎv àÊRr¥öÝ å|kToÓV+ßäÉðù|›44ÊO9á¶>üj4ÒD(S—˜˜0þ¹ÑIIµü~¿SéKÁ^,KÇ8Aü>·ù§;øÀ?ªS7©Qãú×wçܹóûþ:¸æ‹ {÷þ)É•>‚…^wdû`ÛÖQQQ›7m½ž}±Ž0¾y»fƒ ë N@Ó–nå)+8¦‹5ºháÒ:ukk”þ¹ÿ‹/Öýùç_²Û|LEøò÷þŠ,†À{Y0 Õpôõ¯÷§ÍxÚL$~hÀÁÒæ µjY÷Y݉øýn«i*A*¹Šµ˜L‰UN<µÿ@‹äØáÌÉÉiP¯‰™².]=j ybИ±£† bøS£­%G{ëŽöiì[ Ó¿¸†ý—ç­žÕ3пC›sóÖñcÇ×~¹á칳ȸñ4zäÓæg{PjÕº!då'Ÿ³óA¬âîÝ¿ý¼ë—¦Íš4lPïÇwÊf332'Œ{Nâ8ppÿ±ãFN}÷ÍýÔa¥íÛ¾}þ…ñmÛÜÿî;Ó)¥ÅbŠ%ש}æôYq `¿š¥±“-¢°±FDÉ "f4§öÖƒúúØYC˜ÞUBiïÐÐáQ»VÕ²¶ŒoÂ5%±NQBæN¦´[çH|¦ ½p£@-¨ì Î/4Y0gLÔ,®yÌ®P)ñžêåÌzÖŸ/àd“8î0÷m¼F¾—Ý]où ‡]ÌŽQJ©cŒjÎZh—}3›RçÝ©Óêׯ;hðãE‹­Z-ñË/ÖK9"ÜõÊÕ+½{õoÚ´q“&«&$&&tìÜ¡c篼ü†¸’2¦ãÏσÊW|áeÍ—ëëÔ­Ý¥[‡_ÝݾC[ظþ+|æÆº¢ Úáox™ƒ/Y´LŸëIOh™2e^xy‚U©;¹Q#Æ»˜NÍŸX©öÄ}v)LÔá˜ÉJ¨[)è°)¹¹wjÕ¨6µ"B>Àç÷Q‡ ƒ<Š’` ùQ¦µ.d˜RÆ·/sQ.› @!7÷NÝÚ5ضHª¤ëtÙ÷qq±‹?šç÷û?\²âØÑãÌ鈈˜<õu¤ IH:â¸zã.M8´dÑ2Ã+û( !„Ȉ¸sûÇæÁ ªÚ#€$O¬aBrïä@XX8 beùù QŸP‡u%Ær©\$„ø|„Ojø('ŽƒfÂ;L­bé7«×wíêÕ~}†4nÒ°I“ ‰U«tìôPÇN½úòäõë6†`¸©¤Âˆ²éÚµ#¬_·É]§Bùò5kÕ8súìÞ=™fÛÃEÆêÂýÊ"\†•:ºzQÚ I“† ‰U:vnß±sûW^zsݺ z5V—ððS±ÂD…MA%pfV¹×kCXW7pÒþh>ÅÙºóÄÉúÂ¥®t€µë6(¼’IÑÒÊ•Ÿ|¼óÍkÔ¬qðÀA7 ,Ö J]‚ÀxAuÃÉ&ˆ‡¡Ê©V/]¼øÄ§D#DóPîÆ…­P¾<;~¨vìØ‰¦Íš”ˆ-á’]ºdy»vm’’kÇ—-{æôiV.ëòåßÛÛ¨qý:ujïÙó×ý´òù|j{Ö–ÂÂÃàÎu4¢jw%àZ^T‹ÚÒGwhÅ©ÌÇEµžõJ†[#Û¥¢Ú"AœPVÀž‰² Ê¬Š†¦é ¿ˆ^Ú,†ËÚb‚e–·ŒKí¬ãmà`B°dÉ ¦]<2¦ Ý)Ì0AÄåeƒˆù¨+9qÃUÚ•Eu—#ìN¡(F+†˜)º+н3— P³†‰8¦F%)»lw]ÀúÙ©$Ð’®7k á »äËí2Qõɪü-k›• YOZݵˆã8„på‰6ÛÌ’†[&­#æ2¾JTB“g"ÌúŒ‹KÓ‰…Èý–í«Y‰qšœ8N`çÎ?ýôâëÚµó›“Þ|úéqk׬v‚ÆóSäâóù ø ¥lÑÝç÷ñ NÉé÷ûÑ¡8ëÖºB†á@?!Cü>6õgäùýøãÆúH¡ôÖ­œñãŸ]µúÓ‡î–3kÖUŒ3;°sç®;w€ø»téôú›¯Œ;rÝšuÄÖïT§`\µÛ·}ûÜóãZßß²HÑÂmÚ¶¾võúßÿ C.#h1¶JÆ”Œœ\κ¼cÇà6¿¢d‚ù›¸¶Y .   ¶ØØ ›aRT€u–\ï­ºe /ëàÝw½ö“R‡É=ŠAv|Ä'ÆËÊ·2Ke*$؆ç嬬;~P–‚òÓžr Bb§xj9ÅrŸOmº2ÑÛ°œ„ŽÛåϵ胥óç-’À¢¢ò›l§€Ýx¤’¦ nß¾KhŒTGQÛç48N`×Î_vîü(õùóuîÜþµ7^;näºuëúlùÃç÷Ësþ ŸÏO°&çÅÄÀMiš\ת÷uƒ(Wˆß :¥ò.ù¥}n-ydžLtAqa8P¤P!í–cw1– Ù®V€°°ðÚ6‰Öô …¦û°—gºqãÆòe=bØSCGØ]4…‹HncßÖåÿ˵TJ¢ò瀜´Åª9Oì',ßw“˜Í*X âJvvŽG=> Nœ8™X¥T©Xr¿mëöFë?Ԯ͞==ø ‹7fÁü6m@!†é·+W0x¥¥²oÊbeeö‹e{~0ÆIGzk9=œ&h›€[Uº+Ô.tyM(≊Ðâ.DÜÉBÅìöÆO{ЋºY.ð5AÂ~÷ÉÖ†ìx–³0Í]€}¯„2¶.·„f±V(×ìD[CwI}~*Å6­ZElÎìO¼¡ù¦‚d*]W*¶A½rÃåÓ;ª•f$|J);ƒJùÿ-˜yчڥ†A_Ì4Q€°ã¤ ÄÝç{G|ß”ºèóŠ@”RE,’•ç;›’Õ€hš[²dLñâJPgíÚµ§NžŠ‰)V°`AV÷Ò¥,(W®,ÞG ß³ç÷={ÿ}ñÒ%([¶ŽŽ+^¼xþüùñ×YòḺ½rõ Ä—‰GÖ†–+WV/ɃʘwpâÄñm[·À‘ÃG233× )Y²dLñI©ãÖ­[êÔ?ÅbŠ”"fâèPÄ@”sëöÍM·FD„}zdt¡è­Û¶ßºuKl[qæ84pØ ÙR”0°ôÆ—‹G­PHJ®]£z5ä=š’T³QRÍFÉ5%×lœ\³QRÍFI5'ÕlT7©©kÔ`³‡1ç.±ÎŠ'r)“?ÔÅÌ‹rT¹c8$6¯Ô ÓÎwÄøpо¢GÚ@vDm1ê ŠŠ η²Jð_rrRÕ„F‚âJúÀãÅ‹‹RçÓh±˜˜üù£®\¾*KgÅå‡X(P %JÞc¿z픉/#h¤hÙ²ñ²Ë˺”•““SªT\‰’%䫺õ’k8íLBÊr á ¤ä¤5ª»Ic”×®]Ž¥Gß;›¡|úJdX0cÁ‰t<åDxxXBÕ‚¬¬¨Ú{Mº?$2Äôòõ^Ú¸úˆáD5ÁóL…‹.\¤ˆüY´hÑèè‚×®^“}Kˆ¯d‰’111Jt¨³~ýæS§þ-S´@‚’[2åÏ_ R•ÊaùÂ5"Œ†‰øZÏÚML àóù;ujç8ÎÆ _Â$$>>g–»·,„šc™à3J‹'|¿•uÖ¯ÛxêÔ?ÅbŠ,PµÎ¾T®l<[ž`ÿ†……ïþý§ßþØ)£bX±²ññ8d<¦xqM9Ø>¤AðŒBd2JË–Ñ)-WWdÉZ¶h1jÌȪU«ºÉ¾”••““Sªt©’%Ø÷Z¨W¯ŽYì’(VR}Ö¥^}ó,K­Zµ(Z´È®?gddèÝ)0óLîq ¥O>þüêÕ«-[6¯V½ªæ7šÕÝÿ¢d¨ožé9@(КµjÀ™3§]K) ½i»óR"'Nœ€¦Í› ÿÂÂÂ6lG ^?>¾ ܸq·ûí7ßçæZßß2::º^ý:§Ný{ìØ 6B„ŠbŠ£vRM8–rB‡Í¨XI âÍÒœW| êAR›–Ã~7ï-éÝy)i»9sÒi%Úø65þÊZ€ØØ5<¤O“Sw_.ÐDæÙºø.“[Œ6‚b|7I0”‚ 3€ÿT•„’4Ë2úü9x%êú×ZŠ"Ï/t¥¤8BÄådQ—ø¨>UR¢%|LÝC5 Zëè| ŠfE¾td\QLÝ™T |‡#¤uJáo:Èávu5(B?Å”›—#"ŠOÍ DÀ­˜ àŠ:Š0d‹âu'àP‡ò(O5–“l¿ß¿õë-;v|[¡BE! ¤b…Š¥Ë”ÎÎÎÎÎÎf5.^¼xôèÑ’%K>5|8Û>õûüãÆ‰ˆˆØ½û7Jù!Ë™™)GSbcK>>øq†iXxø3ÏL€;wÚzÙž±©©©©©©qq±ýú÷cÙ‘‘Qƒ=.匉ٿ§þ€Ö÷·fY>ø@û(¥uëÕéÖµ+ó¿ß¿eÛæïvl¯P¡¢ì òåï-]ºtvvÎìl9}`‰]AT¥J%—|"±¡ô‹/Ö@çÎí`ƒ >Ôd€RÊ«jÔ¬&úË‘p²²²ì?X®\|×ndf§Îí–.ÿ`ÔØarVƒšó  àÿÊY1iü3333%åxÉØ÷î׆Ÿ0vîÜå’g”¸šã½Æ¥Sè!•Ô³ã8z!ý‚d¯ãê’ÈKYGQ u0ߺtëÄû™Ž]ڸ샑cž’ÄjŽŸF B^ŒÿÛwîŒóû¨˜ßŸoÌØ§àÏ?÷IÊÏM€Û´–¦=<<|È °©©©©ié±±%z÷íÎ(‹ŒŒðx‰#)7pç»ï~ôûýoOy£RåŠùóG5oÑì‘G» ”(Pš•uéÀþƒåÊ•íÚ­³ìÈNÛ/[±pôØá˜f‹Ã;tl»vþâ#>® •]fî¡6EùÈ äîÚù3kNÐ'Ô‡ËV²LƒÇBùðŒô´tHH¨ì#ÄGøÍÆTõ,8ŽC)ewíT©R¼Óõë7Æé÷û¨ÏçóôسwŸlÛï÷oÜòÅ×ßn¨P±<w­|ù{K—.•“““ƒ]8$..vë×k¿X³b媥ùò…é­a§‚têÜžRºaÃfD8ÿ³æMbŠÇü¶{OZªû3¶ŠÃi©iLBúôëÉ€GEE |¼Oz݉Á'|>ÿÆ-_nÿvcù !>ŸRZ¡|y¦ß²søŽYffæÑ£ÇJ”,1lø|”RB|cÆ ˆÿí·ß:¬ç/^ÌL9z¬dl‰ƒú1¬Ã#Â'L B\,ÑHÄî=HMMMMM‹+Ù·?§.**jР‚!J|•«&Î?ëÉ'‡|¸t‘+öo¿ýÞï÷OöNåJ•óçÏß²e‹G{ØÀ"ÈýöÛ~¿껬X–-[º‹±$®ƒò:ð r°{8ôv£Fnܸ¶|ù'ðÔSCE$mOÄquOÔÖ„>§«¤T©RÏ¿06oÞFð{üìÒëšcåÍ·mÝ~ýú6mîïÕ«'+þÒËÏ•-[æÏ½ûNþíyùÒ·_¯Zµk\º˜uôÈqÜî•«W~ýewñ{Š÷í×Ëï÷oÛò š²`糪cÇvðÓ»0p³5÷Tží•e:É_‰•!cÞeNÃ̪€»f"öäR¤Të—¶ öW-§GËÆ$Õů`ÉpvõÿP’]ÜQn^p'¤¤zu‹{&¬¡ªO‰jœ›/­:w!JÂnÎG1jLʈL4‡ æ­ÂƸ5¤9”yo°5 –þW™¡íåKâÒûA·~ü7lð®™pÈ1¥šœPtÝ%7Ê”kYå¶@¿ G’¨>¤T}J7íN¦ˆ•|Ö:e–ÑŠ”Râ#@ø4YÀèÔ à®+¨9„ŸCÙÝ*¼uâ#€Ç“€¸ýP-–®¢8’KDv"Å<±XÍ@;Ÿ}öYÿþý×­_{èà¡«×®EGGW¯^-_¾| ,ääÐIo¾µxÉ¢#‡?òè#gÏœ‰/_²dÉëׯO›öžˆ£¦@á­·ÞZ¼dñøñO÷ìÙ#õ|jù bbŠ¥§§Ï™;—Rû‘›>#¬'g̘5eÊÛÏ?ÿì£=œ–šž˜˜øÓΟ‡)P€eËW´}¨í‹/>ßµkg¿ßŸ•uyܸ§gΜþÜ Ïþòëî´´TÈͽýùgŸõëßoíºÕ‡¾zíZtÁ‚Õ«WÏ—Ï¿pÁbÇÉ•}Í´Ê?î¼q#»{Gk'Õf×·fddNÿ¼cJàÄñãû÷¬U»Æ¿§Ïìß·±[}\ þ>yò÷ß÷Ô¯_wËÖµgÙW…<röìù2¥K ™­q €øi×þ¡ä:µÿþû䮟~¡@å®,êtôÚµë ¬V=1_>ÿâ…ËØ×›±ñ¯^£»$¹råŠ÷Ü“ššjôK 5ˆ-ñûoœ;{ó¡„ve›·ë6J.y1|ÖŒyo¿óú3ÏŽíöHç ©«ìTÂS||ü›o½ÄyH-ZtÙrþ)šó©i/<û ¥(J:ríÚõè‚«U¯š/ŸÑ©Ælò¤) Ï6ü‰nw9{öl||™%K\¿~ãýi3ùŒ’PxgòT©RSÓÊ—¿·Só€-—ÕÇŒ³§Lyë¹ç&<òh76عÉî6:eJ—bùÑÑ‹)|3'‡"±¢ï¿7½n¤ºu“×®_ÍJN™2­fÍJï¿7£nä<‹/^¼i³&—/_þþûÜΛá‘ð T& 2ŽX©OV|Ú¿ßV÷µL¬šxôÈQünчPjž5bœFËZr0‹-©XLÌü…s hÑ"•*U ÛñÝk¿\gA7‡Ñ×ñXüá|ê²0£FŽg¸]¹|ù¥_:íí&N<¤ÿùó©+Vˆ.}1óâË/½a@»§D‰…‹ç€?Ÿ¿\¹²÷ÜSÜqœwÞž–›{‡qR‚²më·Íš7éÓ¯lÛö˹TÏíÚµM®Sëï¿Oýúóo,A†\^Ô`Ç£ù ­æãbfYëÈ?ÄÌûOIŸÓš{@œ >^(Ñ ØF/Ϲ µ|PÁ êÓ¦^gA !ú/ÜàˆR¯&òNŒ1‚`Á4êÅ÷f›A…ê-'Æ*F0¡‰v<Þ=²ý¶æÕ ±¼VÅ4Ë­;s¥¼Ò]u*5þ†XI+®S¦×ÿ¸ß›ˆ(8!H–~†–Šé´æk}åM“ñ⢎üS—hRÑ þi'GQ:ÕDN8N¨1OU?õ„EJMG<F( åÿñK8_Í-@°ú j a”8˜úÎÔ”#)=zö¸·|ùB…¢oß¾}êä©/×|ùñŠO€mTþ¹·G÷žÃ†=Ù aÃä:ÉYYY7mž;gî™ÓÿbvþñÇž^=z>¬^½zÉu’322W­Z=w Æ‚e$•ÇæM›ïܾóä“OT¨X¡Pt¡M7}´lY·®]qÙýûö ™8røHÇú {jHÆõ+Vª”žž¶zõš¥K–Ÿ={¹M=aŽ,²$W7Ðø¤b0hŠ„ýcÏÞ>=û?ùÔºõê&'×Î̸¸zÕ—óç}‘‘¡æâøR¶¼TØDjWtTOÚ ––6ü©‘O×Ù++»ì8ΤüFBr¾ Ò°ã[ú«×.]²âܹóÚ8|Cý òœ­Ú~þ™—&<;¶iÓFá¿ÿ¾wÖôyì;=¬jVÖå>=5´~ƒ:]þ c IDATºu¼ž±æËuK.¬çÃ_gËæ­¹wr‡ X¾Â½… Ú¼iëŠå+;wé ˜ÀŠÒ .<úpŸG»w«R¥ò•+W·mýúü¹ÔgŸ{qàÈ%!•*UJOK[½z͇‹—;w÷4=<Ðúõ7_o¾ñ;“¨F¥lX»õ/NrŽA€dddÌš1÷¹çÇÏû`æØQ<$]k´ã!*Йm¦ôôô§ž5þ™± Ux×§¦Ê®à¼!$==ý©'ÇŒf4*–fX®|ùòM|ñµgžÓ¼E³üòÿ¹wßÌs:Œ›{wÊŒ””ãuøÞ{ËE*xûöS§þY·fãÊOVK#!W*wÿüûÞ=ûªUOüzÛ7i©âC&èû}lh³)ëºu›]<ƒ¢E‹¶hÕüÚµëß~ûƒþ΢ú¶lÞ–{'ðÄÐå+Ü[˜Kȧ]˜„³•?”Ô,……å“9EŠGxwêŒc)ÇíÞ­ü½÷ JO­]³aåÇŸóþ¤ùë¯}½{úä ú ê%%×¾œuyÓ¦-óç.8sú ËBþس·o¯C‡ ©W¯NRríÌŒ‹_¬Z3oÞÂÌŒ êqŽÔf•xújÓW¹wr‡>9¸B… …£ mÞøÕ²å+ºví,Þعë—ß~û½f­š›6lNMM5ö@Æ…Œ‡îñX÷GªT©rõò•­[¿>wþüsÏ™Ëa.\Å®\¾²mÛ¶sçŒb:wéä÷û7mÚ’{çŽî,pQ¦Ô0\úº(é"š×¹~ýúÇ+VñäðáCG~šqŠ¥¤¤Ú®Z ,0Ñ&xø4@DD8»dþÆìãÇO¬]³~õç_JÛÀN¡Ëýqn‘Y;©– ·| dsÇw?ôî9`ðàõêשV½ÚÅ‹™›7o[´pI¦ú†wA"##6ªÏ²®]»¾kׯK/Ûóû^åv‰å°ï¾ûáåÛÏGG@`ëW_Ï›»ðì¹³¼ ™±qAêE¦S¯¸pª`NüìhA©ßŸoï¾_.f^lݪ«œl]u8Íå (–Ê$;U/\ @Áï~ø*77·uËö7oæ 9'„@ï¾=ž}nÜêÕk'½þŽÄ&ôms¹ :– KÃ9é¨ö jó<(ÿ<¼Ð_WÚ|`R*3±%’#‚u¢X 1U$h|D)ÏÊÂÙÎ3ê-6.nû7_ Ìñµ qå2 3_%¨'о]©Q@41sÑ ˆÐ@†ËF†5OŠ ”ëQ]ã]Rrí'†lÚ¬Qnnॉolýj›i\‰ò¤»HÀI§@ìÄÕsì‡[ýš]yzÈppá12œ©u¶Èw! Mw×é(Þ”áÑhæÒM›ÄÒÞÁvª±ÁNømH¯•¬»K–þµSþ¸I®ò§¨YÀefôƸ©.ÅçK-e-|tKÊ&¦d¹tEÜ4¼/pýÂsz¢•±;y6­àû1‚ÿ©GñÀ×ì¤Y#¡u0¡€”™y´Z1+Õ$Ö ÈÕ¾q‡ý%f/ EU®ÉWT­HJ#a˜[ýYøúØýÝØ#sƒÑÀA“X4GåÞ›Šû(•™@Å6›2F øÒÏà?4Š”Ð:@rAu ê~аˌ‰¢UÁ †ä ÿš®`P9»pmàãJ[;ežáÆðO§: ®sÂYM„)eÈ~£ÏùŠÄ‚®[/Ù¹@ƒ†ucãJþþû©©ç5±–Œ1EÑüÚj$ïRm0R<ÀB£É·þ(††Ê5%ZÒ)0¥\ t%o4¢ õCÌR¢¤ÊÖ[Ân6V=g¯²,Ÿ)ê¥kø‡4y-ÞH‘½ˆ¬1«Âr‰b!å+\g'êxÕ)¦ªW(YÐ(¥fQZXvQJ)»ºæŸN()A$€ºÃ™ME õý­š6krèБɓ¦°O8r‰"óëä4$)¹fÕj‰Þ³nRï¿7óàÁCã&ŒîЩÝ?î:{ö,ç.Š‚£H(P4Ñ ¸®ž/bSY]&©°;€ÂW°î©LBŸ€ìxÝÞ QÖ-¦Í~¢Q¯-˜“vÚDD„oÙ¼íÖ­›ú:  ]»v€ ë6=%“Ž˜W›RDµ‚žÌÔ¹Â9Àd‡³“-H"k O‚Pñq$< Ù솭ÏbWYø®¼-cÂáʈKˆÏç£:{ˆö‡/RPG|S]@uÓ$vE|'‘ÙB¶uÌ+@}1d„w(ª+P@êׯ'ŠñT«V­ ˧¤;ªf³n‘rÏ:u‡Å]C”â­39Vø‚êqjÔ×ÛBË%.ðÊà*ÕÌ•/ZìP Zô:Cr -èN’ ‚ÿ†LD¶ƒ(1‡‘o‰§¸ ¥•kݺEÓf:úö¤wemôUÂLð£[ci€µ×_¬ZûŪµ†”B)t´¯ÑÕ\r,šA@& éfÝÝD-¸‰Ñ"#Ï9ˆž ñeJ'£!³oßþ¹sØ¿W"@âË”1ŠÍ›»pÿ¾6ºö^‘ÿ%‰9½e¬`Ql3©¢–P½¨©3…a”=,+*D/2uc¤&.! ’lž(xÉ5ãPÇô¯¿þ&{uWž¦Hˆº„‡g…î)§ (ð`ùâ%"Ê@Ž´J®MØôDu‘ýœÿ5é¥ÁµŸb¡BÍheÿ¸$…Hy¿óÀÒb•ÌS;¹ÜýÇzU"¡IA°ú!çz.;ºM‡D ‹µ«VÈØ*5«’Á`—'cêjDµ’ØF(×ô¿JªÛk¾KóíQÏnfñZ"ª•¬âÄ;ÏØŠ™¾±)ÀŠÖ™ï¡·Ìåç+Îé‹ëÌêAB6¤,†È¸@˜J*¤T!k'ì¡yêÕ ìî^pè”ÊOÞ‹ -î† tÑF)!„ˆ 9 |…ž u¨Cðg1U-1y| EFžêßÝexö›7Õ®0öî³w¤›áÄòÂv‚ÔtN¼3MÜ:ÇybÔõ r1  ûÄ.`Zì&A5E ·Ê§F]‹Ío@m¸P´}J¬¼~†VÏÔ^‰wF ¥Ã?[íVéy¨XD¸¾Nm ÖèT2VógÍòy){>3Q8ȉ ÑNË—ŠTcH¡ýs%]n²Ñd§Lñ4¡@H&•k±mj5ÏXËM»µ†«¹ƒÃƒ‰Èk²˜ ËPC\²dx¶V“á‘Þ<|‘‚ˆp¡îZº4ñ$Úkª QLÇ¡YJìµ|¤CŒuurØý瘹"®Gõ¥02àÂv¦ÉÆK Ž ;°Û8£_-@Ì€X*Pô" Ó§tª6ÌÑб´Œ‚ÜÑ4²Wšƒ!T¶Ånrˆ T#z¿äA¨5×qã½ãP,ÉÁêËv_téšNyµ—Ê»œ1ŒîPÀp¹( úXê­íM‡Ê˜à8x¦Ì /hguÉ–f‰‹ Á!y4§ SËTR½„ÇØ@Æ xÃD(¼1Jxª8¤ б…4ŠzH¤ Vì‡ázÊ·–;/AP¦H¤IÀåmJØü<áNô6&¦%ÍË£Óï¤4J—6ÏÐòÆ•EÛq:n²Ü´|öÅbIô½;ÐǬƒ«ˆ ‘ry0|³Ó9ƒÜ2ƒ\3bä{0yõ4ß\1»ãò™pdL õcÁ’3æñb>–GˆÏÇý51Y5Ac‹ÄC£ÍÙ—ð¶|†…ç<—ÆC¾—Ðbâ°†è’Í»±,HB\z0˜Qõœ7Z|P¹ÈoºÜJ ¤ˆ2-c]j‚ì.U- #¦æÐæYèuJ¢!„žh˜¹s7Ž(µ%â«#îýâ˼Ï)HCˆQ%Wʤ 2EZÈ&wöEËpÀ¼”ž$Qÿ„˜¦_¨lÃÅ jJ˜U÷†¶¶ùŒ ç€7+U*#Uà 9:^BuS.™b€Qp éÒt¥\5y‘$(ue°ÐÖ:GÏ…·ÃÐ74/—dª‹Ýâå¾vÀí™à×(.‘»AŃØV)¡ã÷îÉ‘€F„înY š¸Ú§UHÛè°ãˆCùO6<ùúØ!™ U[A•íËŸê€gø­‰+(–ÛåHÖÜ] Ø#@³;&jjÚïE’2G6zƒ£õ©¾aÃ1ÈOÄà 0 bÍ­µFl¥ƒ °ùJy‹r_ÑÇÝM÷áv¬Ö'a“·gbj?¦ž<ÆúZ鿯ÄàœÖ•ºöD¥w¤ŸË5ÎÐyùp ÿ ªÌ£¬…IhpékNè,‹ʳ £9…†–Ð-A¦ðy$Å6û|Fg„«a±Ìƒg`“¸<yPRó!x[&šGaé zž±UÈ2FñSy ¸TõìBW‘<ÇGð¤ã.qrU£Æ_„¹ÇÝ#o;…ÏÐjË)vNkÄýSZc/Gëö ÆÛH´l<±6©Á'â"Ÿw§[ƒæ©päF¤!¡éÐ »š\/OËÁqäãÄG”ïäð©¬Ïg[š5ûSáêóùÙ[ÇqD¦~ÊPqoWI¨†ÎR®‰Ö I¨5ß]«½§4°‘§¼yws2ÎØDƒÊFí{1ZIâ~4»Y3óT/Š<ß ÆÃ¦Þ<õXèU4V*¨Èv¡ÉúÕÇËb FÞ´Õ±C¨µâ¾ L@åÜBþß Aã‚p®¹Á¡óÒOÀÂóDJ·Qɽݠæ’US5ùŒŸŠsirâ Ú"ê§×À¶ ‘®Ù´Re€oÙ`VéÐ5¸Dji¢b¡ì *[£Ü ¨ÃS0?&”—f ¥¾nŸT¾Ôææ¥0'Æð×ö|ÕIZçÈàVm§F†Þ¶Ö€Ë+//úí6º‰ç; û¸â"†£Ó :±afzÁü8e‘)ˆ•ô<¦R^ ߥý)h5$²œw†ªÛúÄfZ¼’v†Ötd½¸ä©Š»]S¢ÐÊÓS1Ç­Û¡°8È35“šÓÚ^"½‰D“e¾B±Ÿìåê€ÖkÔƒOžI㺕ÝK$¢@©“Gˆ5[©·îPµå„B—ªÜépÇ™©–´×^ÄĸGCpS |««{0wNP†ã¨Œ å˜ZQfPÛ¢å?u/gij¬i×›ü'EŠBÊUƇ¬±îu#áöªE¼ˆmÇIø”ù“jûJ½RÿµAƽyÌÕF*¢• >ªH‰’½¢Ww¯K®(ö˜ï Åc –<М~ h•oÜ™¥5OÍ €Ž.ññk¦-¨Z˜mê…6âš„¤R!õDÁÑÁR©A4„Õ¨’H+ÁD>lÐñg8¡yêNûáyI–Æ9u…€Üž6G—@"H» ¢ YÖž•‡"öâU1®‰ °ðÖë"ÀÞ¥íõÆðÿT£zÍ’¡Ð-éz¹þš2£¸Ö…âp©7Tv&_ŸÍêБ`Ú¢”P­PÔ¼©˜‚$%eò.v/;pNGíTǦ¦ ÝÀ™"}׉Ø* =t׆ÓÎ|`í?ÙâÿIR«ƒ6Ìÿ‡…È®žÌdÒ" hZÎS©˜u É*èÛgÿ“d5ÏFÿ pKŽ)µ–ݯŠ!Úºó`t<7?H³ ÍG©V6H¢6Q YR‚g«·š/æªboލ O þb«®Rù¬¹6kaƒŒ…éûc²yTFìáCyæˆÒ½ÙφÒ4çV)T¾­K jóè`î ¥Â¸bœ°Ð @ˆ:¦JPóv‡5¤D€G 3^‰¯ï‘1¿âJÔà`¸ëP'qìF>ˆ=.áÄRdÙ ¿÷˜3ºº@=åáiÚ°´äyÚe­Ñç´¼ª×Ü!”¤ ´<ÏbŠ3KÌh]›Ù€fš"ÎUN«íœwyqDÎLŒ)^%×öíÖ”º|=ðp+™šÆÓ†§r?ùð \Îä§Nä×V”î·é'MeT´Ž ÉgCFÚeu"ÐÊ|ªØ@„\äCênGD¾â*¶JÂ0Š£GHah U×MrêcZ]%k‘™p \á AØ»× Ø@ÇUõ²Û}t ’»*ùìn*xBZÁXcRú^Þ¥A¹‹òÑ ”ã/%_ÜD “OâóPÇ¡!Äï÷9Ž#6V)&›É- §»5,ÿ—&âúaz ­™JØU4†A/(} 'îÈK#GƒLeŽZ"Ä!…\áºÛ1SF!À%>;".xtCÒG™Ï)TCšUZ¦/(x´g¹ƒ‹¸òFДñàᤈå$Û+{„ŸŽÍ‹Ó6ÍHµ7ŒÑ W L7ÜàŠD@ð‰t–lhÈæåý`µfð8»©Ó h»YHÌœPäñ¿¼y|0õÌèÝ¢#aëAAZ: !qÅ®VÌLêö–=A†¨Œ°bøÁÑ ¡UÍW0¢¯õ[ŽÅŽŸðÃø?Þ;ÚD€ Í|š¶H:ÀÚ !rw5"ÜG¢qeÐǶk0 æ‰ñ*ç´V¥çNê"(å·jûTø®FšñÙÆ¼ÉCð­`>>ùä½…|`/–ñͰøŽà7ñ Ë¥!Ô¡Ô‘;½y°z1A«Kد’Iözb?mÑ‹d.]¶à­‘Kðç‡ ÇÏl&¸C¡§ n¹ÚQ4r*?̥ΰ÷jY©æ(±QçJó•0Ša,p"c)Zt(ßZ&< $µý{éBiøR>¦EípêÃ<”2I”@_ªQD#B©lÚ$ÜÙU7+‘$FHNQíòïp`AÛuhB3èìÒªh!9Àl‘<´_&Ï€‚8ÙNø•\T÷xJ}Ò_#>æÔMŠ~®ØDÔ85¼Í’”/ϳh@ŸpX` ô¹Ðæéóp¢nýé€ ¿ÓäׄAшDONmä^^K$€fÐTulÇĘey¥_EèjÐí*cðÿQ’TKþà?ÀÈUŒ6º[ª„¦^Š 9 ¨‹¹_b £¶Ç½C#©ˆd*”¨~aŽñ<;5àBéHfïå=<(¼À„ïáSæéø(@ÖcÞ^º"A[Ð16†;1{C®«à»±D¸»Tïi£½§Z®Išiš4’´W&ˆ*>"Æ»eUº±`«ïÂY¡õ†:¨¬)kŠWÞ4CÂ#V£…*ÏõTÙURz]ò@MÞÚèr ˆSm‘Ä9·Q’£‚‚n4ÔÕœÅ@ví9ÿ?›ÐhÃCU%­ÓÜì¶TbOÆZ¶„œqyÏÐaÆ´+†¤¤7Dœt•‡¼ ‹± ±ƒIF¤›0ònæëYÁ#ÖG”i-€5”pðlËéJ±a2°îqcÏ›ð=V(¨V^„§ÙÉ Ú_“5ºÍ ‘YdÒ IDAT%Q+Ó½ 5µ.±,³e¹SІ•]£:‡”†÷üŠDHÉ]ÔåÝ} âKæ…ŒUx»dv ü¯ÐüD-¡ËXBCŽg¹ÙS³u‹# /›˜†@†1<½ß«¨Iî¹ñ˳iW nF¸ÚW¯¸.!ª*^J3Ÿˆôø¥ºþ§F9`êm·†§bɤÅð?1ê„„Ð{*i£‘I|>E—²,Ê QÿD' “ä  “'O>|øÐáÇ9tøð¡W^}Å¡¨ÝTƒ:Šh–!–\Åøˆoòä·>Àþ=xøÀ+¯¾LE„’ø-Ô*È ¶xæóÝoQl1ÛV°&:|ãÚ…ªar×(¸zõç‡ïÿèÝ»H«ûî›7îƒ>|ÛRn=²pOÂùkó­OLð´2!Ô8¸„I»Õ`€µ¿õ–ÅøŒƒ¿Ï—/,Œøˬ”tðÐþÕ_¬2šeÝóÚ›¯î?¸çÑÇVˆP!®øgžAf5‚ˆÞ6ô©@ ?Xø$ÐÑ)A ‚aJÜŒlkËV¤4~+;¥í*Q… gOÐ&\05 EMa ‡Az5Պ܇'*yŒ¨œTÆnŒpÓ`QJÍÒ¼!*¨‘¢ üõ÷ïþ}Gù±è<¥"N…5§p£f‡ †xˆ0²Jê1D–€¸%š7(‹(DD?¨÷’@[£ÎH„‚¢ÿØóËo{v(PànfLÿ'ªõ’¦ÎÜœ ºj5<ƒyªRO.áu¡€A Ïu¾\œUƒ…€Ë`ã2x[ѲåËÕ¯ :2¤¤W¤¼æOyÇèI"‰‹´ÐQÑV& :Ý&.C«ÿ6Pµ¢ …„3ÖÚ”Èy™/ ÔwBR.™øíéæþ'ø¸~ž, æaSeñ‚!¤ëó ÆW@¿‚"è1Â]˜3ÁÞ€5ØJU¬£63Pú]Q-XÈÖ¶|Z?*½h਱TѲáÚ!Œ°k…Y“„ÿ‡0%€CçGÄVîâ¸eÙ¬|Æ¡>‡¾t) þ>~ä²¢:[Å]"1¨<ËÀÙ/ZVœ8~B®¦h;òáÈ1² «@­qJtM²Â‘ ›Ó)TÄH& vrÒ AŽ;>gÖ‹•S¶Ûݼ)êÚÕ+t†˜øÒnÇìˆiҤɎ˜k×®*‰ñ°Z6oÞríêU —CPPà⥋`ìØÐkW¯‘ø±ãÆŽ7‚{&%&2ŒUì=dGæTªÂ¤˜³ ½ÚExsòFèÄq½½Ú´õ=îBBBkb,á#ÕPlGGò¥Ëˆ Œ7†Ð¨èSĶjcS*fGt:µ/^¸´jÕºwïÞÑ¥73¿÷ðNê‡Ôí;3à9晥@ÁÖ,`)º^5Uªb,0b%i´{b®ÖáY*-“Zv©$“€ìtEFÉ€ÒëÍ;uîTTT|úÔª>èÎóÚ[YYž>}öû÷©ÿDgØÙ:=ŸÈ´$4Ê:R¥¤LÏX@$ f_x´ŠY•„]i/&Òëô÷ÜMýêç×I²®@­Ç!¤O˜8ÎÛÛ«M[ßsçÎ%Ä'²é™ÎO¢Î˜&‚ºtY¾|1KÙ￟;w>C5k˜ÇWôlË”¹výBRrrÀ¾2þ`2$^ÏŠ‡q£ÈDü”fƒãЉ£½½½Ú´m}ñÜåÄÄ$J‹TÒÔjVUãó AÝ îø)µD¢•…@PˈMEbIç d$¶25y„¾MjÑ‘ô©"[Ð 39f¤±¤ê/œ;ŸˆFS†(–´þ–+ÆÔ=Ž;¡ ê'ÃÚu«ïÞ½}éÒ…Nü]]kÿï€ú?ˆ> ¢1Ìwêl‘Ù‰ÛªnnPH¢T·•d™%FœÊ7ú$9DB'ŽñöölÓ¶õ…s™l? Œ&À²x“A.(„zjq`,bÑHú&Ç„IN`»{¸íص CVföí[wwÅìyûîkÉKÛ¾Ì0T;*QJëÖvîÚiá’¹,É'ŽZ´`i <‘¢ý?zöî<¤¿½½ý³§ÏW,]û2ù%Òz÷ë5mƤAýBkÊÝÝmØðAnî ,Ì-RSÓ¯\¾¶cë®ï¹9,Àã§~­X©¢² Å –ÿ=@Ü·Q³VÃ<½btôë5èeR²IX?_ ¨öX2Ë1§4Ýèñ#=½µòmyùâ处$5DäùL !ÉéWjL˜®?“÷’%¢ÈÄ?){ñÇxA&ö;üD2TÓ¦ÝÖÖnÓæMsçF7U8†Ò¥ËlŽ”$ôÊJŠò“‹b,|À8"Xñ¦F6E’qšh‹cùð3ü4 ÙÙýüÚÑÚ´ñÍHÏñmE~½-c=2 `ÞB'†>yöoŸ~}Ë61¶–§$üÒ…Kyyy?yûö‚) BÀ!9zâ"^éºma¥]6F 4wnx:µì;4yÒ´ïß kº\PàˆJàøp¸ '·h› ˜ê2þ_Ù"NZÿÅ”—ªJ¯äåå=yüôíÛwX$•ŒÀÅ,Té‰úCµjUºÕ{ÿþý¿Ð/’zæ¹ÇjD Â†E–ô…dXÖJ0„N÷øéýÞ}z‰È³–[Š<‹¦z¯Œ1aÈãÇOR$UÏÒ!c!ý«pO„oÕªWkèÖàý»÷÷þ¾¯ª\2tèÐѲaC·Ê•+ÿ·0þrÛA¡¯¤ãÍ|À ,^ª™‰&æû6~ÂØŸüÝ»OOÚ$˜´‚‘ˆ§øQEM Ëb[x¯f)”Ì ¥Yñóyi,D`ÅGi÷Ê,,@q} €ðˆòóò““_&'¿|ÿ>µlYûÀî]ÙÝ A=J‚бš&‚í“™ú—Jÿûøñã¿‘ß«—¯ÕHf“«úaøQï`êc³MgÏ™þþ]ê}‡«V­¼~óJ33iÞNÎN&ݾ;!!‘Àoï×n[ìæ-›eef?zôĶLéÁCìÜ·ÕÊÊš…ùüY<¥—üЋР¸¸˜ÅÆÓÛs×Þ˜ö~m²3³ÿº~Óh4ôìÓcïÁŽ? VάRÄI›PQáM“¦>{îìÐÙ¯ ¿àÉã§:½¾Wߎî«\¥…cræ9°GàÊuËk×q}úäYꇴf-šíÜãîáA|üøñÑÃGä÷úÕkPÇLHÑ|VS¶aê…öz˜Í›Mq“I¯ˆØÏÚ  †?µiׄšhåÛ"3#óGy…'¶"®Œ7ê΃›=zw7Ù|¤ ”W k—¯åçå=}òìýÛ÷¢õ,3¦¥AiøŠV·P³äX¹Fòy`G¦0f‰’LöšN’@|•¤¦&†¼,j× I¬ VR-­Cˆ¥ ñ©«UwÙ³ÍÁÑQ ÓT0†ê..;vlw”&#úVTç¦W æ_†‰ÛùKf?P>"Å…ÎÂ]>F#]B ´v‘˜•£ 4Í£GÚ´ñÕp£Ñàèä\§ní‹/µw$.®0éF)âO)d,c†ü_¤([£ÖÏI“Øpÿþƒ Ü)Â’m Ê″\ ƒ ÇŽ–aäææÖÙ¿cròË+×ð†>c’säÔhˆci‰F¹\€[Ñ•¿ˆ§W¼±\WòO a&9]¡(]ÉNsÈ&7eØÓ¹mÉ:0^øérÚî=‚àøïqj1`À•*Vòòl”ššvûÎjS¯ƒúšû÷Ü¿ï Fž~¤ÞÅÚQ"V‚z>60 '“7ác£¤Èe¡bKfëª%ì€ýûìßÏSŠÄ}Lª˜æa•ÃÍ›·nÞ¸Em۶͆MkM(Ê óG‰–ŒVåí";°|6Œ¯Dþ‚jY«GèàÁ_<Fº(†À‘OÔ´ìrŸ€ ®wü4#‹›‹Ò%²NâÄ`PÂŒõ°– ÈÈåyÆNØ–8¡å1ÆFãþýöí;@šF'Y•¤”Áeã;F¥ ÌÀîwÿ¸÷() 2(xÈ›û(”Ðì™Ã;dFµðÇ´þ cY Ë« å 0Ç$ÂüzàÀ¯¦¾J`ˤŽÁZQtÉAqѳÿUepIðYÕmÀ´oˆß·G0yÕ››‡NÛw@¯Kæö è‡eSmJ1WPöCêïܺ{çÖ]ÙÚ·ÕªõËe¹J1° ’`Y"Ÿµ$]Ã-Z6/**ž:½°° õ}ZÄ‚YÕ«W}0š·0üý»;¶ï"9,,-Ã#¦#„¦O»|é*ØØØ¬\»¤±WȈ!×GR„gψ`ÜÏͽá?ß;wö"ƒ7gîL^·b隣‡€F«6=¨gÀÄ©¡á3%øÌ|Œ’9ò Z+*×¼©´G­ÖlÎü0­™vÉ‚e'ŸÄZ­Ù¸ £ ê?uƤ‰ã¦¨•P.ÁƒÀ„±“îß»A=ƒf…Ï:|ð¤qü@çÝÛwïÞ¾Kž[û¶Z±v9KõO–b:`’d·ó‡‰Ç’|¼ôRÜV­_ñ3ø˜P¼úÒh4O?måÛ‚ÓhŒƒ££“kíZW/_ómÛúGÖ“ðÏO¶™ŸÁ•&¦8rèÈ‘CG~”Ét&ÊãÍvÒ­ó›‚x«JD/Yì¾JëG?q$k2’q7q´TŒ,¡Wøq@ ´ûŒ?„^kk­ZÄ›MNJÞ³ƒ¡KôYBu\]É€%ÿGºÓaK˜‚ Qñ‚mDßAØØF¾æä@^^žt" EËËTEžX?Ÿ²âg¶=aùòB´@“"KÔ5 Íqš€nþc²û¿öfÿ¿ ´e³q‚ÿE¹ " ]’¤¹‹ý‘ÂäR2ªR‘˜–ř⠺Bì«þÓ€d?Ñ&’¤’u‘ª=&û1¹”E"±o¡Ü Ô1c?l× ?(Çeà °‚‚ü5+×%%&W®R©VZ "¨FR |Tÿ¤¨¥@Q¤5XÛ «I¥L“`k[:÷û÷ÂÂøüùØÚÚ@Ï>Ý=½<æÍYL§U}|¼J•.uùÒ5âÍÀ·oßV,]¾mZšÂªSç“§…&¼Hœ:qvQQ!­;—.+U|üè)ñfÀ`0¬^¹>÷{nËÖÍÁÔ»<î*œ!4ý '‘Põ8I­"€êÕ«–s(wïŸû'Ÿ$"V\\´q]dηO/OqlE0˜ vövƒáÁ½‡äõÓçNŸ8“˜˜ÌHr Ä2¦éuU¦òbá° „1’l=–Ë íÅ(œ†Ÿ”Ú={ú¼téÒžžÐÊ·…Á`xñ<á¿(¯PŧãŠþÉQÿ)ggiHÐJà ê³³ªŒžVIJ_…– Ðü’:‰IçÍxØ|”X–Hi4 Å`ÇOÈ3瀘Ÿ¤”S§OÏŸ» cÇJJ)-púôéyótêÀ&ûqàIRö;ìôÐÎá¿ ü÷œÈÉÉ)9ýCÊ›”¯_¿¶oßþλ¾m}ÿùçž°Ðñ3J€1@Íš5†ñññ.SÆîóçÏwîÜÜý6%Æ‹;Z£† ;wnøÜ¹áôÕ·uûì¬,ò¼ný?¿v¿„ŒlâÓ8 0ÀÎÞîÃûGŽü¶{×^±=ûb=<ÜékFzF»¶eÈwêÔqÕšå))ïzõ*(,$¬qrr>~â¨N§Ð78>!QÖ+!Azˆ:ŸN¼‘þ¾IÓ¦ãÛ·n™™q¼™@;d½NK’V¬àg6}íÜÉ?;; 0üõ Ku‘os"ÂæD„Ñ×vmý²³²0€F£½ÿðŸì¬ì>}L›6¹iÓ&æÏŸ=߸!òþýû$1Õ(M||†V£†‹½Ý·o9oÞ¼ùõðoÇ~D,âÛšµ•udôƺõêžÿãüœ°#ÆB ¥»º…g@؈PPPBèDÜ)ƒÁÀTï @ÜñdVL À°wß.wi¶më'«Óèí[{{Ïš6{ö ­Ölùò•¹ß¿‡‡‡™é̶mݾß~‘€æÍ›M˜0¾f­š_¿|9uúìž]{®\»ŸÐ³{oµФIÓ#C\jÔ°ùväØïÇ1%@³Âfúøxëtº‡­_·ñé“§lA{öí’IoÛ6XmGCµjUGÙ¤IãÒ¥m332®\¹½íó§O<…lâŸÐ;u>2¤ZµjŸ>~:yòôÞ=ÌÒj‘"Ô¤‰ÏðCkÔ¨ag_æÛ·œ7oR~=|4î÷ä (Þ•Q•êré”îî½1în,¥~íºJð¨¨íZkä¨až^¬m¬³³?þõçÍè-1™™Y ÂxC E˦eË•½sûïÔ©ì稭½½=ÃfÏ›5kŠVk¶|ùêÜï¹aá3t:ݶm;ì?D‹Ä׬Y3døÐ&>ž¶‚âŠÚ¼5%%…B;vâH ±FÌ1Wl§mÛtÌÊÈ"¯]¿ÊϯÝðÑ>>ÞÝììí>|øpô×ßwïÚ+°c@jŠ«ð“óˆÌ£uêØaåše))ïzõ!C“€“£SÜÉ£:®Ÿàø„¶["ð[¶h^¶\¹;·ï¦~HeYöËð¡wïÞ^µríâ% ‹‹‹ÂÃæZYY-\4¯°°pôèqƒ ¥)ûè}ÿþ=úêèèôçµ›RæCAAAC·:åËWس{ÿ’% ïÝÿ§¨¨ØÃÃcê”õë7 É>}úÔ¤©gµjÕÿg 77×£Qýòå+\¹|…yóæ­Û¢²³³mllªV­Ö¿ßÀ=z!ÖgkKëÍ[ÖשWûÂçÎYÈoJ’DmÝÄVýŠåkrssg‡ÏЙ™mß¾óÀþÃl¡5j¸„ âÓØÓ¶L™/Ÿ¿Ü¹ûwÔæíoSÞÒ¿Å`«~NÄÌ93ék;_ÿììlÒhÖ¬[ÞÞ¯ÍÈáã7öêØÅή̇~ûõøžÝØÖ°{ï6I[ÈÈôkÛUÆÞNüV¬^œ’ò¾WPÿ‚ÂB¹““Ó±‡t:Ý€¾CâÉN{I—%{õùS»¶ëÈÑÃ<=ù–uýÏÑQ1Y™Y˜±ìÖ¬[ÖÞ¯ÍÈá¡{ $¤þväøÞݱÔ#iÚÜgÜøQ5jº|ýúõì™ û÷|ä°F^¶¶¥?}úô÷{Û£cß½}+ƒàêZ+däPOkëìì7®ßܾuGVfÖÌhõg×Zjв²XM³bÍÒ¶í|ÇŽœàÝØ³K7ÂcGãöï9hTªZ“Û-   @kfFžÍt:È/,prrš8eÜŽ˜=/näœ9}þÊÅ«lö7¯R ƒ}Y{¦(‘ŸÆ G¤~H ;åûwÑØCe >>AŒ((Èó&¥NÝÚ¥K—úüù3…Ô¾c»a¿ ©ZµÊ§OŸÏž:{p¿úò£Ñhkk;arh³–ÍÌÍõO?Ú¸åéÓgb €¡]‡vCÕ Q´‹ ÈËËçé!tacAa¡V«‘ù”¤Ð‰S…2©^¿~S¯~Ý5] ??oÑüÅ’"K ü‚" cp©á2hØ ¯ÆÊØ–ùüåË?wÿÙ¾eÇ»woeðT²AÊÀP¥Z•aÇyûx’ÝÂׯ݈ٶãó§Ï?ƒÜÄø6åÝ·oßÚ´óýûî?-}[<¸÷P§×)3¸Ôp"¡tÛ–´"€G÷Uw-Õ™aÓg†M§¯]ýºÑmÏKW-mÓÎ7tô/oÏÎ]ýíìʤ¦¦?wpßÁyG°56º¡{C !3#3°S HCûí._øîíûA½ƒ IŽŽNŽî×ét!Á!ì >² P—TûÊ; 2éø£$ÈŽ&"Ö‘f¢EÌx¢ƒ:˜IÂeK‘—ø´?_€¥÷Ä ãâ…E…‹->xð †`ûð.^¼äÐÁC%ä¨ãÁž|Hø„EÞÊÌBf‚ãG41ðÅÔ99ßáG­ÜXŸEÚ¬,­®]ý³Mß5kÖy{y­Z¹¦Zµªü7GŸÆ[¢#õzÝëWo«T®Ü¥Kç–-[ôï7(åÍ’æù³ß¾}g'g'gÇ·)o³˜ÝÿÅEÅl­À!ƒììíNž8eccÝÉ¿ã´é“œW¬XC¥)1>QlAnîn€üà¥sœïÐÉÏϯÝÈÑ#6oŠ"¼ ˜eii±%jkbb"GäŠ2%à Òj9‘;|_BŽårrrr¿Á‡c IDAT33Ó >Nä<ïÐ,^º¸T©R÷ïÝ«Q³¦wcïn[F†„¼IyM’%%$ä~Ï'G‡÷ïÞ}üô‘bÏ!¬Ói0†Äø„ܜﰣ£“££ã»wo?fEk´"΀Ðúõk>}úxäèo5kÖðõm½}GtÈÐ_?~B+µe«–7®E½x‘ðüE¼µµU½zõ.š[©RÅM#e lÚ¼©§g# ؼ9êÃû‚ËOÕ" cà "gÒÄ1 פigg§þ¹ÿ–W—òªøø:ïâîî&‚FÃy¸»-Y²|ÊäIóçG\8qéÒe!Ç͚=ãï¿ÿNHHD€0ÂM}šl‰Þ¬Ñh^½|õ>55((ÀÖ¶´)˜ò ¬¥îvkßÖ›#7 „^¼ˆþâ…µµUýzõ.š_©bÅ 6‰~>¬\½Â¶t©;wþvu­Õ´©»ÇŽ~½ú¿|õŠ‚Oì „»»e8Hoe­W¯Þ®=;,ÌÍïÝ{žöw5÷oß¾]¿~333ùDô°®h Ðmɲ…”œœž–ѽ{@©R6L^÷´jÝjÓæ5R ©ËKȆHª‚y!ûò Š@@ϼA¹¹7”vŠh{4rߺ}“Ng–ššöòåëjÕªôìزu³ýBxJ…R„q`÷®pœ?J¢J5ÎݽÁÒ¥«'M?o~ØÅó—W,[=ô—Á3gMýçï{<ó1önìµ%zQ\ñ IU*WêÒ¥s«–-ú÷ü†*®§/¾}ý†œŠ d]Òà!ÁvöeˆâêìßqêôIŽNŽ+–¯âs`œÀ+.„¸¹»±y…qMüÇçý:ùùùµ1zø¦ ›ÉG¢¸"#£ã0{]¯P~`8ÆEym0î?¸1ÍêsÃ;vì4'|^L̶¥Kù4nB}¢ãîC‰!tÂØJ+üìùÓ«W¯<¸ßï·ßâ\\j”œK®\½‹ÆêooowêÄëNý¦LŸàèì¸r¹¸ A8ø„o o à?.øul×ޯ͈Ñ!‘£Iΰ9Ó---¢"·ÇÓ¤•±ß—Ì)ôä<=˜–õªZµª½zµjÝ|`¿ÌŒL&1€AƒúÛÙ—9uâ¬u§Îí§L utr\½bßÿaäããµ)rF£yýê͇Դ€@[ÛRÀ÷ ˆ$7aœÊ;À·/_YŠº7ŒŒÞ 7×§¥¦=¸÷°b劻tlÕºÅ𡣓™sk<<Ü7oÝ`¦3KKM{ýòu•jUº÷ lѪÙÐàá™™™b È º%îî‘Ñ&  › )ÈÁýììËœ9uÖÚÚºCçö§ŽwprX³r=ùêêZkÿ¯»@- oðâE|·@ÿž}z<¸÷o@P—‚‚ÂW/_/[¹0õCêŽm»¼àö;·nÜ‘aíèì¨ÑhÒÓÓY5C]븮Z·´¨¨pò„™ìYJ$…F£€¢Â"^V0qÜ ¨°4 -¨K×ÎóG@ròËŒôÌ®A]­…~A6djÄxñò…NÎN/ž=¯Z½š§·ç–˜¨ÁÓÅ}ü»vž»(^¾ä¡Ù”¶‘UÇ«—¯Þ¼zÓ¤Iãê5\èEÝ‚ºÙÛÛ>yF¦Q/YQb¡Ž9V¯~Ý¡#††Ï§IÔfDî OH àéí¹nÓ^—ò&%)1¹R¥Š;whÖ¢YHðð·oSØôF£‚!;¢BOJH¢ëÔ­½#ÒÜÜüáýï¥ß¯^£zŸþ½|Û¶’•™Äal黺ÖÚ{x—ê'ƒÁÐÔS2oiiyýÚ–­[l\ééé±~ͦªÕªðß½ååí¹~ó^—ò:%1!¹režÒaÁÃß £ºñÏr¾å€£““£“û·ï>f‹–ª¸m[ýö³³+óÇé³ÖÖÖí;µ2ÞÁÉaÃêu”@Zq¡n @-\<±_Û6í|‡Œº-j+Ayêì©–1[cLx³<Ë…ZA/2kÈxkUínÆÕ#oX°ìÅWÅE쀥ۤ^³1f÷XIg#šâ'¦(ø…5’UÐÅ‹AâJ²ßù]JpáÂEàu·Šký£åg߉,ߢk¿ +&šöbLB2\—û=÷ÇíDð¢å!B`mc}áüÅn]{õêaf¦½|ùÊøÐ±|±B÷9{ö ½^1gþñcqÄ+Ÿ:mòÐaƒF6{ILB'Œ9ê—]»öü*¬„‘ "p‚ã¸ýÁ‹ÝsüÄ‘þúîÞ¹?=#$X¼x „Ìuæwî]rw.#Xäú¤e‹Wx{y 6äìés¯^&·ïЮuë–/žÇïŠÝ¥Ñ]²^@ˆ„V«Nke©gøÃC67·ÐëõÙÙYf:Fvy&¾eiÛÒW¯^‰ŽÜŒsœ&,"¢}û‚ƒ—/åϤ]ºd!yøeĨAƒ‡>|ðDÜ1–Z ÂË–."E9zР!¿þzèÄñßiEakk ¾÷²µ-}øð¡}{ö’ÅN‡N 5zÄÄ ±°w±wïž¡ˆ9óNÄ$U\»vmÛ#Û¶óݼ9R¦âŸ<~öùÓgÛ2¶/^Ägf~D'NÐ’!²nBÈÓ˳b¥ŠÉÙŠu>A= îXœr·hÑò¢×éï=¼+r]j!i4š˜˜Øìì,G‡r³Ãf:ô료82rƒObBâÂ0aÒxF³mkÌÆ›ÀÚÊzíú5 ‘+)°=kŸ¾½BáaÂô2®S·nÌŽè¶íÚlذñ$Ø–±=wþšUkIÕ/[¾¸KÿaÇE„ó'b ‹.%äëuúÜ‹äU.¿»;bn˜…¹ùä‰S/^¼DP™8aüˆQÃÇ;oÞÉè;ò¥`/ ¡ÆÀÊköîÙYXX,]¾ˆ)šÿÛ»O„PDø‚¸¸SVíÚµ·ÇD¶mç»iC~«s ½šF°i…ú–-]Å!®Ø`0ÓšýóàY‰‡"9;lšNg¶iÖؘ=°^§Ÿ¿(¼³‡1ãF,œ¿„:±Y[[ÛÖ¾-sr¾_ºpEB6h4𨻳³²Ë•6íðáß?~\l0lŠ\ÛØÇ‹úسgO×ëus?G†¦LŸ4tè Q£‡‡Íæ÷˜…ÏŽ  C'Ž9ò—»ö9| [ÑɃ¸t€ã ¸`çÎ=ÇâŽôÐg÷Î=iéé„à%‹Èiê¤êo‰¼gú xñÂeÞ^† |úä™—/_úùµ÷õmùüù‹˜m;ù4ÒíÙ¶¶e|}[Q†È*ß`0Œ1ªlÙré‹/èß »›§ÑŒ3âöí›Ô?—2 + &dd¤ÿòˈàƒÉëºu«£·FÅÄl[¶le ¹TÃáC0ÆË—¯êÔ“Ä<{ötXÈà‹—.ð-CΓÇÏ>úb[¦tü‹„ÌŒ,b˜p@$G ÑhvìØ›•åèPnfØÔ_ÿöèуoܼª±W¢àRΘ5E¯×Í‹XwœœN‡&M 2tÀ¨ÑÃÂÃ4᳡?ä‘CwïÚäð1 À߇'rÎq(xÀ/äj®;÷ý~ü@¿þ½öì<@û¬¥‹É¸èuú;÷®I)ÛÍ’E«¼¼ |æô¹—ɯüüÚµömñâyBlÌÖ„PéØë˜Y ŒÙ–eÄX¯Ó/XÞÙ¿ÃØq#Ì_&Àq(xÀpB®û~;¾¿_ÿž{wLÏH'-{Ü„Q&fûî-›¶kkë•«—ˆè°(1†M[¿¶^^¾~ýúôÉ3s 3fOÕ›ë£#·ïܾ‹l"?iì !&N 8v…4mö3YÔ¦è=±{1`N1?¬Cg¿‘c†/Y¸ì'!`€é³¦˜éÌ¢6FïŽÝKTÍœa;û=|ñB† Fسkÿ¯¿ïëÓ¯ç¾]Ó3Ò1À·œœëÊ—0ðEùåN¿9Þªu˰9Ó ¨¨xÅÒ5íý|½74`¸°BXbJ²Ï Wï ¸pî²²_ß––V–°ÿÐΫWþ\»jcFF†*2<Ú´k}øà¯ïßP~=~¬[½áоÃ`na±€92ZœÄ`W¦Ì­¿n…Ž™ب՚͚3³K€ÿð‘!³¦‡ÑJ5n¬_½áÐ~šì_ÒƒDÌš»iÛÆ-1›·Fm¿sãN÷ÞÝû÷MˆO\¿z£è ` ÅØ¨ÕšÍŽ˜Ù¥_(eÓégúê×®}›«~í/\¸ÈL¶ª±ãG~”“tzÝâùKOŸ8E¥Ÿ<~ààþ!#†.ˆXȱ³+sóÆ­ÐÑ16jµºÙ3»øÿ22dÖ4qÝŒ°iæææ³¦†]¹|0†1ãG >dÔ˜‘KQyû)!þ–“ó—)y#G˜0`ll¬¯\ºêßµSPÏnZ3íµ«Ö®;B•ÒE󗞊;EzÀÐÉ¡÷ÿ…¡”@0jܨa¿ 9°÷à±£ÇD(ðç84|ð‚Ïþ=û÷Ù׫oσ{fjpõ²Õäœ-À€\½lu#OàÁÏŸ=ÿæÕ+ßvm[´lžð"ao¬d©¦õ{h—ÉtõcUŠxkÅ4@x¯¢ô E úØ¢m)sã$Å Î (>1®2ïÐÒ½_ÂØ¦pÅ¢sqä€î]>˜7ðe%š¬G-3‚Û_2©3 œÇågh¿Ë®"Ä”QRèŠÚ"ÌÌÌnܸ•——7|DÈãÇO2ÒÓ--,™Ìž5Lj1ü&ÜܳgßÐaƒêׯWr}•Pî©SgA¸ä+õCêµ+×;ùwpsopáB† c$J©PLj„àÛ×O«V¬X²|éÜùaÓ&O9{ºÁ`X¶d‘™›™i$5+üQN}`I`#Fªƒ,Beêtú11DÆŒþݻ۷ïàZ»¶ÄC“åTøyˆùŸAEš€y@ûýˆÖ # èÄÉcã'Œwsw3·ÐÒ™Ö6–ðüÙSs 3£clLL|îÛº ?ä„„‘‘Ö©cW'gç·))Fc1'l¶"ó—»$-Bˆƒ¢ºÀEkkëvíÚæææ;w‘ie´îÓÆ•œ‘Gå忆ïßs 77r¿€Ò¶¶clÄæõë×ËÍÍÛµ•ÀÈÉÉÙ»«Y³&&ø¯R,Ë_b:<¸÷PòA/^jóBšÑ`ؾuG—.þõëוA—­y¡Ûï¨f°+cW¿~½øø„‹/Ðf·Fo>¬E‹æ"ÓÄ@y*^•Iƒ³³³“³cZjúÞ=üªì¼ü¼={ö·kßFJ/²"”Þÿ—*´øñ-›·~;,â·¤Ò!9¶¡(N„2ŒF„±QÐQqG·«’(û²öµ\k¤§go Ö¬ÚØÙ¿CóMÅÉ ‘þ]:š™iãŽÌ/ȣijí•HÅ÷\"!¹€á» !¼ÙPجFq!Ø»{ÿСƒê DZòU+°•&¥‘§N¥Uøþý‡«Wþììß±[ƒ´óé˜:ñÂN~‘mûàÓÇK/_µfù¼ùáãÆLš6­¸Ø0'|¾¡¸!æ´,¡ËêÒµ³™™6îØ‰²DäC––V`eeV–V`meŸ?ÿ—+ßú÷HŸ{ôì½5êñãÿ 8¤^<yÓ˜ºuëݹ-®|Fô€ô´ôNœË;¿My'L>Gd_^nâ«>/!Ä+‡Òâ9³1NLL¢ž½‡† P¯~]¥þ¥ï¬3‰…«žh=ž9}ž^4ú>õÚÕ¿:uökàV?ýBúÄOŸ>.]²jåêÅsg…Ž:köäâbÃÜ9‹Š‹‹”ذ£çDé²ÁÞ¾¬Ð²ö+,*X³zSgÿÍZ4¶Õ €Ó§Ï6’RR?¤þyõFÇÎí¸Õ˸õê×ÉÍÍ‹‰Ž%dçæäìÙuÀ§©7mŒÎÇ;wðôlTÝ¥š›GCX·jc¡°ñìËÚ×r­™‘ž¹3f—p²‰1zó¶¾ýzyy5Bˆ#Ì´··¯Y«FFz&ñf °°`ýÚM:û5mÖÄ”y!©7Q mW,Q5(¿°`ýšM;û5mÞ„@øzöÌy£Ñ@À}øúçµ:µ¯çV/íB:¼ÿaRè4iÙÔ®E!ÀPTX4v䄚µjØÙÙ%%%kµf¿þ¾wgì¾ÏãØÕ©W'xÈ€Ì̬ûdk€1zúäÙ‘C¿[ZZ¸y4hß¡mýuö ù¢lÎf„M­QÓÅÚÆzѼÅ;Rº“³“£“CzZÆ¡ý‡ :ùùyöòmÛZI”¹…ù–ÍÑäøÇâ⢨Q]üz¸Q2œœhøåýùùy÷I ‘KHHØ{PÔöÍ3fóƒV]¿>c¯¾Ƙ[˜oÙ…B#7DuéæßYºomm³rÝr—.0sÎŒ§OŸ}üö’­p±£’¦›¾ÐˆqrR’ðÜwhààþuëÉÇøÌ-Ì·lÚbÄF(*.Ú¼!ªK€¿ƒ[[Ûºõê$&$]¾|•FÆnÛ5xX0‘·9×’ðáý‡)¦™ú*&­V{ûæÝü¼¼!!ƒž>y–‘žaia!¦DÏ_`Äœ”$ «Qú#cIæ}œ;{ƒ‘Ä¥¦¦þõçöÛ×kX/óRºÉFJUéó§«—¯^´|ÑÌðÓ'NŸ2c’¡Ø°dþâââ"„ ÿ8æ#f-$a‡´J~R‹)žéž±"¯ÂöÇÒGƹÁ˜–R¬|—[l,j¼…-n$&áx.4k™‹äÏÌq×e~³Â BÒŸjÀ2Þþì~tÁ²¤T(KøNÚoßTÇQ”å`6š‘,­V[PÿçµëeÊ”¹xñ2 ¤7×Sr@||BbB¢Vkæää\¡B… *ØXÛ€¹9{û‘À )ªH¬&ZG²2³ÒÒÓÀ¦” B€#„IjŽCs1Òj933ÎL«13ÓèÌ4:ÆÌL£Óq×®^¾rùŠ»‡ûºëÊ–-»kgìë×/5ZN£!‡3pDsÜ [gXòí6¤Ï³³óòòèä®# s õ¼@›’ÇKk¨äðåË—¢¢ŽCœi4¨¨(?'盵µµVÃiµœÖŒ33ã^ÄÀ¬°Y<ÝmJYêt½^£#?ÆÌL£5ÓÄ-§Ñpùy¯_%Š„çG}¨”x•¥¥U‡Žíóó Îýq £C´atöïdn®?þbnnžê:zÞ2T65ñ6Å ¾ö0”*]šã¸ïßè€ 9Yýú5“p™×§ŸÀÜùsÜÝ=ÌõIo¼צ@VfV^^U ©©© IéR4y bC)[Ö>~üT¾Byò«P¡¼}9ûÏŸ¿°[ªޱ¦)– ”*U Þ¾“lN{ó:áÙ“ç0gîl777½Þ\™@@^tæè=ƒ ±ŸŒ€Ñm`gWRRR0iÃÈÊÊÌÍͳ··#¯|§"´ îÝàøñ“ÖIÿb:HÄpI Ç'$&&ÅåT¾BùòœmllÀ\¸MµW Ý•~¡T ²«xÅeÃ.íÐ`ªuçÎ]8þR#O-[7”-WnkôöÄøD6%ïá#@u€c”!*#Êêág޳R†råÊi4ñµl9ÈÍËû/@‘·óæ‡?xp???_-‰„–¼¼¼—/_³†iv ²1A1Zìbâ“Ì´fNNN*8—¯àlcc |Ÿ…?y†ýJZýÛ·7 €‹Š [úø6oÜŠ ”‘' ••Ç °äùÆ«š·oùãÞ0Œ³23)4 ÎvˆÍ™×<|ZK.ÑQtXŒ ⓘtûöݬ¬ì9óg¦§§oÞ‰•)S¦„-eŽNNë6®à84/bñ÷œ¥0þõ×ÍËVÏ‹XÔ»{ðµ+ל‚õSÂA·nÞÉÏË»sûoå×R66ðîäæ0º“\†\vÖÇ<¦üø1/7¯téR4ÆF€†ÚÙ}é‚¶CVV6 çT®RùÙÓç{vîMKMkÞ¢ièÄqµˆ…BóK*tØð¡<=ΞúcÑÜÅÖ6Ö —- Ö¼{]úóü²Õê×ˬ6ÖìJLHLNLÒjÌœœË;;—w¶¶±½¹ü:Ï2Ä®lYøôñ³syg>”w¶+k÷åËW{{;uKï?„Ó‚8ó‘Z­¶° ÿÆõ[¶¶¶W/_:þ““µZ­££@©µ”RÄêIq’NŸI‘™ÅFd0:Ä”b5å#]¾péò¥+nnk6­¶/[vgLlrbµ+•v"O8ÿ—r–£èh*ºu&B6B-ÙÅ!˜!¢ú—9¶|A˜I,&®~‹”€`VæJä”’ ƒštp]x@dÜ1®Ê€L?0gg*ÊDê"ªŠ'’= ùWua'b„¥Ó²@nâþÎÏЪ'RÚÒ|J&9áÒÔ©Óù*DˆC’oCíÚµgÌžÖÈÃ5q~HP÷•Qþô_,€'1Ömظ~#pH´bˆWefÆ_“£ÓiYϘ Ö¬önìÝ a×ÉÉö-3‚%Uÿ£SÙ$† ûhÄ`0Ä„›±#HŠ„©uõröa‘©Xڱ܋aÆnûcÿþÝnîn^^^^^^F£15õÃÓ'ON:ñF#`#¹S„žŒ àß q30.Buìägaaqúä™ï¹9R›@÷pü÷8a$ølï/L9*[R³àLJh4²Ñ………&2ðÌb‹”±mkŒ§g£&M}š4õ1ïß½øðߣG~'gn±’܆…ˆ²àW…€´í ì. pÿSÓ¦>çÎK A¾ d1‚ÔrË•5zÒl#ŒÂº8šlß¶³‘§{“¦ÞMšzÆ÷ïßÿûðñÑ_Ý¿ÿ€*>„AҥРe¡ s²Œjºä˜é…Éf0Œl`ƒÁÀZ†´}¸ºÖt­]ëÕ«×=–S/rAÒ¶X<¨æ®SÛuƬ)ꊋäa…AÔáô²cÄ!„kczà °nõúu«×Sî=tØEVˆr)Â’…Ëš6iìîម˜´cû.ÊIQ`„ªU«VíÚµ^½zýøßG ´ÿG‚ôÀ>üw¾ñ˜1ãþ¹÷÷Í›7nÞ¼Áq\ÅŠ=<<ûôîçåEçlä`A£™è‚™~…ï*X(Àµ¶ë´™=<š¬z‰@+ù©ÖŸJvf¡õk7­_»Iw Õ™°lѪ&>Þî ““ccöR ¶xö4™GþЖ%-‘–…*Å‚¥ƒ+ÖnÞ°n3Eö]²œ¤JUd±´å…ÍŒ¸võO¥-Iq“šò #AP@`0ä•€Õ_ŵ?ü¾$À£,9¦`Y̆uj#v²ü¸Š£V†Ì4çç¨0Ƙú“ˆ~—j‚Ü# IDATÊ»ìØl±o_¿Ž3ÒÛ»±·wã5kÖ¬Y«CÇN:vZ±bé™3§€ =zžÂæ°ÐDF0ŒÅoºal4òæ;ÇãN’Aq‚êÕª5lØàmÊÛû÷Hô?Û¸°\æh4DŽBÊÏ%¬ôk$Üañšƒ§EiÜ|ûöuà€ÁÍš5iÞ¼©kÚµk»v èÚ- ëœ9óŽ‹ãûl­P!ÂêqaJ[ZªÐ °\V5רEþøñ“¾K“ã¦Y‘NòÚLü®¶C‚™ˆ|ùú%x@HÓæ>Íš5©]»VíÚ®]»ùwíæ1gaܱ"›H6ÑÔP×òþ†•/¡SDAQ[X\½ÀrúÑñc'™HAa*˜Í°€¶=@œwí‰Ñh411»âŸÇ  U\¢ã„¤– ÆÌ #Æ2IBÊá`Œe…|±8’òOWÝ¥š•µ89:ØÙ—ÉHÏ Èsg4òn4ÆØ£ÏÄ^¢öóíäÿe(UªôáC¿Ý¸qý¯ן?þüù³¸¸cqqÇ–.]Ù³G/6¥Ô$öp“ÿ‘Ô%’¨!i¤³³Sìî-&vÇÞø‰Fƒôzý²• @*«ˆÉÇ ÌHšé ”E¥S¯! P­zU+kKptt°³³efþ%¦iMìÌ ]‚ ÃCYí‘¥¢(GEÙÍ0šC}‰#þJWåšb*+ô"‘ÌÜ#±ü#’yî H9.L²ê¸B… ³æ¨/5 Ç‹«‘€££ã¤©ãwïÜo0gÌžü×õ[gÏœïÚ­SXÄôGž²ç*éõæ6¯¬îRíÀþ_÷ ÑK+IÆxÿî=Ø–)­¤GÅüå£eñJ×€Z#HaÿlÛô€¡Y‹fžÞž‡ö"Þ,Š"7Fº{40°ßуGÓ3ÒeýŒ nC,­, ¿ lZ·©‘—{ðÐ¥íl]k׊;v’n›ÿIœ¶îˆÒh4»c÷&Ä'  ×ë._Pr~¥œPIúäÙ®{ØôØ„½S—1T¨Paz¸Iy›ªø$¢aµ89;m‹Ý"Pš@5ÌJ™Vo )ÌY’pȸ¢”MɃÒÿªZ½ Ùíåèè`gOLw¾X©1%ædýº³KªDè\ª`§ðø¨ƒ$¯¬ÆEÀÔ(ï¹H)ÛÞØÎ‰tèôˆ’ùUB¤ÉDJˆXþ€¤ý…†b¨U¬X±jµªÏž>ÿø1›eˆ¬hJ°Ðý°' •L†’põê5o/ŸÜÜ\5ev5ó¿*Ij¥Ó ]---¢·l‹Ü¼…~!ûµ@ ’œùÑËaY˜¢i8¤Ñ þ6VNXÜ@7"ø‚•2ÃÜÜbVx8ÆxϮ݃‡™6cæ¬ilËGlÚ±& ó òËØ•Ì©vÍ”É .–=ˆ½;}à?-ØDÝq‡D ÂOòjµÁ çùÃqI)„V£ñîÛwïÞ„¸N:OŸ1{äÈ1gÏœâKZ̓0€c£†ÓbDwä ¼ R¡B¥Fžî©©©ÿÜý›lãb-LrÔqáàubÆ7Ø̲„ *º©¨°$K=”*Åœr,k4HòÄîJ`#Œýuã¯7c„¸À n ÍŸuh9N³|õ¢†n Ξ9¿fÅeÉžÞš7oòçŸ7þ} nY'mÊ`Àyƒ±t:3Öäê â¢bÖØ‹TÖ_Üdv²Ð–#Ÿô2¿hŽïedи7r€>’Ápÿa·uë×I¿,n;çm†¢A¢ÅF4|AAÁœYóvíÛØ5/7/:r›*!%ÿn-,-b·íܺe;-ÒÂR±cH‚›¤Ê ŒFøüéóµ«Ê3ÿ´¡-ÑÊÚª©iyûñ˜ƒ˜€7Bé¶-”KÈRN)’ee¬v„ƒéþO­pIËBràrXæaóÂ1Æ»cw 2=læLþ˜@¹fói™ÈÜqShª¦}ZòÊ"JÌpKªWÙgEµËJ¤n¤EŒ,ºþr¿TI ˆ|R+‚cG.Ax$ŸÚ¶m»nÃF““ó½_ßþ¯_½6…‚` Eü0Æh4J½Y1¨’_R­« s([RRÞ±2ïää €¥ý«`e UÄ`Чn®p\¬F‹ÌÌ8Þ¡E ü<¡aLO7fܸò*9txGô6w¦Í›uîÒõÌ©S*„².¥ ‡’“ëÕ¯çR«Vb|¼ £üHå¬/1,¤ÅñŠ‚‘bÞ!áý^…IE&mK•*]º”í—/Ÿ ¶¥ËX[[çä|&9W®\¹bCñÇٙƳgO÷í7 jÕjVVVâ]v|ƒD––VNNÎoߦFˆšFŒFÀZ~qr`÷npêä)a¹²0O©éÖÍßh4ž:qŠŸGø¬fJ[bŒw Á PLå|üô)//¯|…òŽŽéé$¥··§¼(&´nÕª¡»ÛÅ‹—ž?{Χv8GGGƒ¡8++Kï0?~bذ!.5\¬­¬s¾çÈ}¦ÿjH1Œ¬R¹²äÞȽ¸¨èñ“'²¼är?Ä©”‹úúõT®XI7@P¥Je+⊠ÅÙYü㎟2,ØÅ¥ºµµMÎ÷oT©V­Z6toxéÂåçÏŸÿ§ÄÆý *WªŒ ¥¬}YKK‹´TѲ!åµöma[¦ôŸ×n[(M r¨è ©OQŽ(®·ïXàTq) ZºtœãLIý¹J†U¾2½ºd8tÊ´ +UÜ·÷@ä†(o¯F­Z·êwü±A¸º•oKÊÁõP§ùÿf°¶¶Ñét©©©ÂÕåðêÕK([¶,Mf4322´ZMÙ²åH Çq=º÷Ú±c{RRâ·oßllldV•••sùòo^¿)*Rî à{Sd#P¹²öðöí;6™£c9Q/Ô|ù¯–R3(ˬ ÄÖ¹*èÉSÆW¬XaÿÞÃQ›¶zyy´lÝ, ¨Û fÇ805Ý¢Eó†îõ/^¸úâù ™Ì}üø *W®Ä.[+[ÖÞÒÒ"--ƒM,J£‚wBÏ Ÿ>}ÎÏËs.ïìàè@¶Æ€‡§ÉûÕÜðàþ VÇÍÌLwùúyŽãZøøblà“Uª$Ifoooai‘žÆãÀ®H"〠Tƒ¹q¤2&T«}Y{ ©A¡ ññ žnÍäiÔB`÷n>M¼‡ UXXhaaÂ-¬ùyy ÕFœ¹3Zµn~óÆíùs–€Úx…òÎCB‚­KY³mš.ž–F5RfF¸Ö®ÅæÕëÍ«T©œŸ—÷õëWóõÛ7¨X±"+“•«TR¥Â¾¬¹¹E¾°£ÕÞÞÎÂÒ‚T ß¾Rhb Ð(-¤«ªL{!T­Z…~¥9„Bó…Bíe…€™ÖŒð>9)ùâùKþÝ:Ç¿Hø(½ÍˆÈI±ÁˆCªÇ©å@û¨rP2ÄÂ"?/«á†²²² Re ? †î ‹‹ŠøC¿iWÈà&÷# !!ÁÇC*oªáGZŸ¨A Jv8«R*ôÔâ%äÇÈH0Ré‘E7@ø¸‰ãÊW¬päÀáQÛ<y4kÙÌ¿[×3'O³õBÙÏ‹Ã'dÇq½œÄ“ â©Òƒ”Å _™…%&<SæE‚ûÃÏ I-Du’ËqfþÉjÒ¤Éå+¯\¹tùÊ¥³ø‹ƒ«U«vùÊÅËW/ž8yœämâÓôò•‹ä'Ovåb܉c2õèDÆl¬­­:vìX‹ÔQSùIé“gçc»÷è6»u«Ö2ÐÊô?ø}-Ìѽ{÷:tôÓ ‡8œ^§1ò¶X„8~†Azz:Ôr­æ8#Ç5¬Õ"ŽÓë5ææZ2hfÆéÌ8­q e*¦KÈŠ;qó¿j—ÿa0bÀyzöèžž–¶mË6Æ+–,+**?iB¹²ŽF#H˜¬å6 ‹{Fþg0ˆ?£ߺq :uêDcd šF,üØH&ü'b¸¸T7°‘ß¼ŠÈmÉ+£ 8=-ªW¯n(ÆF¾PŒÅÀ÷ïßGË! 6b„¹‘cÆÀ¿ÿ>¢Gíh8ÍþC¿ùíx•*ÕhÝV©\ÕÙ¹|^^{¼ᬃƒãáÃ¿ÅÆîÙºu‡Vk&ŠÄF-2Ó!½¹¦KŒñ¥Kç,,ÌôæZ3§Õ"-[5·/[öï»ÿd¤§#ŽCÂÙ[ÌyRHZ,»ÓAXÞ)Š6+–*OdØ`(¾téŠF£Yµzyš5---[·nÝ«wOS^»vÈ-›F»Ý‚? P,K£ÑœùãäÅË窻¸P5ãR­Z…Šssórssùa5Ü$Æ0ÓŒ”9’ùðéó§GW©Z¥GîtÄ/ ¨ÛÞ};'Mù#(¹w)o aÃz^´ì…žž–ššæäì{îØÑß÷8¼S«Õ± ‰6Aøˆ¥$ Eïߥ@ûm©Hètºá#†›ˆùÇ©V-g\FHÎ}$¢#‚–eßØÇ»wßî©©i‘›¶ÀÂùË ‹¦Í˜àèè$ËŽ\]]7F®>bèö›-èÉs‚egg'Ä'9:–Lô€^¯Ÿ<5nýuû‡R"~EŒÆâ+W®k4šÅ˸Ôp±´´lѪEPÏS„ôêÓsêŒÉ^Þž*E ø˜ŸXΡÜðÑ¿ Ä`ŽãƆŽÒéuÿüsc#ó1;;1!ÉÁ±\ðд²&L·nÜf‡ÉŸ÷)ï ~ýº:NB" ù˜ŸäàXnа`_§ÓMœ"@3QGÿ›ÁÁÑaò´Ð}»æ[NXZšƒàÊ’ÑF0vüÈ Ý?z:}J¸ô4Wðõë7‹ŠŠºx ã³vöv“§Ž€ .SÜ_&&¿My_¿A½Þ}ùuûvêŒI–V–—/]£„¦§¥¥¥¥;:9ôØ—à`na¸÷PVèØÐ1b¡¡c€wæ1ÀÛ×o u›VDîÛ´õíØ¹ÆØ½‘[×€.J¾ûêÕ««×锊›(‡v~méR2N7ì—¡<÷™e¸›@q#F*þüéÓ“ÇO+W©Ô¶‹.Ý:oß¹elèhžvF5Üêׯ«Óëþk1úþ’zªÛúµ£Û•tzÝPRšŒê¯Ìô ¨QÃå§Š7Áà„qlðôö ìÕ==5m[Ô6 xåâeE…E¡S&888‰¹$Š•âghéšiù’YDvK2ƒH¾(Cu^Sþ†HBÁ¦£Î'bŒ?1+‹³YP¾! ‘) æND$†€]’Sòp‚ÎÜÜÁÑQ©ÑhH¤¥¥%£3×;8:¨%s KKR Åþó—¯4Ù—/_¤\~(°HÎ !–î"¦Ç“ˆ*U®¼xñB hÒX9¢Sré䟑4BH€8Àpüø©!Cƒ}}[9vðÞß-,Í›4i̯¯.eŒ…*B7ÿº‘û=·wŸ^îîîùù¹••=wNµGD1¤7['fÓŽ«BÅJasçh °-S&rk4‰IKM[1XZZÍš†Z¾dynn.xõêõ>=|Ö”Pñ¦;ž)ü\ ÿ¯ôd1Yܱ“ÁC‚»÷êq"îtrR¢‘A @È%É.FŒ¢º!Åݸ~3wBn÷^=4t#CVVVøÌ0Iõ ¸I’õìÙ ¡[^n.dfeGÌ#ƒ¸˜Ãðíë×2¶v‡Žyýêu•ªUœœ‹‹‹wÅìÀ€VQQQܱß{õé»kOü‹9ßsþyïxUq<ŠÏœûAA,X‘Ž…ŽX£‰IŒŠŠ ‚Ø;”boøµÄØ{A{b¬HE1jŒ D)É•öáC5*|î™÷Ƕ™Ý=çž $¿÷ÞoÅû9gËìììì”m§ÉfM:vêT*•žyúÉ´œz½ß©ã®M›nmÚ´mÑbËÅ‹+ù O«=={õÚf›m>ûlJmí¤I’”JHT""J¡_¿#`Âĉ¥Tþ¹Šf”!î´ÓN7þþZÞ§Í·Üò©gW1 .ºì’+E*…;o¿«gî={öxeœþâñ-7ßÖ¹ó~>ØqÇíÕ[Ó¦Mš5köÓ?›„«¯_÷ÜŸŸ;éä_ûü—_~õÃ?4iÒd÷Ýw¯©)~øQ~U†wrpçvþý® Zú„iéÂË/Õ_±»áú›žzú±ëo¸ö¸AÇΟ¿p‡¶ß}÷ÝV¯^sç÷†‚áë¹s?þäÓÞ{özý‰óç/P4š1ãË[o¹#MSÄäÞ{îÿÃÍ7^zÙEý9jñ¢Å:uzÿïþGíê×­}þÏ/œxòñ/¾ü§¯¾œùïV5mÒd·Ýw­©)=:ú±°¥;îàè¶ÅÍ~”÷Üî´sЧͷ|ò)½Ïsá¢Ú+.ÕŸ{½ù¦ÛG=rÿðCì¿hÑâÖ­wQGFzp4€í-¶j±ßþ{¿òûwßy/Bð˜R2T·Ë8ÚL7nÂ)§žðË_þâűÏNùô³Fí½WïwÞù€,fIÞýÛû«W¯9và1]ºuýqÍj¨[²ìâá—Æ\Y_q‚üþ¦ÉǨ< .ºüÒ«`³ÍšÜpãHD¼îº›~þéçñ›o¾}ô‘ÇÎ;ðµ×_}Þà l ·ÚªÅ~ûïóýÊïÿö×÷¤ª,¢o¿ûöòËõY ÅùË—/tü±*f‡íw¸ýö»«_|Ù'Ÿ~üĽùæ;ì°ãœ9³W®\Ñ¡CÇSN>Íæ©©©4èÄ'Ÿ|ìȾ‡í±Gç¦M7_õÃ3¾ü¢¾¾þœÁç…›“wßc×Í·ØÚ·o»õ6--¬5A ~úøñ¯žtêq¸ßs/=5uÊ´Mmº×Þ{ZŽÂ@A¾ÿî«W¯9v`ÿ®Ýº¬1²÷ÒWzÀQ¾gƒvÞéú…ÎjÞ¼ùO=¬b.ª½ò²k`³Í6»î†+ñ†ënQ£é›¹ßŽyôÉsÏ;säu—ŸÎpÇwÜa;õÔ´i“fͶ¨­ýQ´àÖ›ï|ðá{†?ïØýj.Þ¥u«-[4¯«[òð¨1 óÜÉ f9Ýw÷Ý»wéÖ£ë³/ê¯AÞuû=»«o’É3»î¶Û¥W\þꀾ‡öƒX¸íwÜ?êž3Ÿ~äQG,˜¿`ÇvØz›­W¯Z}ß]°à·ÜyßC÷ zÞÑÇö«]´¸UëV[nÙ|IÝ’Ñ£5‹éåo¾ùæÓO§öêÕcÜk/-˜¯?ßòÕŒ™wÜv·ÊsÛÍw>ðð=;ïØý-Z¼KëV[nÙ¼®nÉÉ­ÐHK;bEÂU#/]ºdé¨U¯Ÿ~2µ¾¾|ùU¿ùÆÛ¿;ô7k×®›òÉTP³*gŸ 7zðá»< 7üÏ-s¿ž +—/¿ãÖ»/»ò¢‡¹÷ë¯ç®^½¦Cû¶›6jôÑ?>yå¥ñ;ºé†›ï¹ÿŽK®ÑÀQ‹Ö¶kß¶eËmë/¹ïî\&€‡îuÝï¯~ñоýލ«­kߩÇ|hÏV®XÙ¶}Ûç_ùó¼ïæµnÛ¦eËm×þ¼ö±Gç$uÿ¨ÿ¹ñÚa =RAëè ÙðÅ´ézêÙãOôàèûç}7oé’eªëËåò-¿¿uÕªxfUé ^¥£·þü§ç}ðA#.vØ‘‡–’RûíV®üþŠK®ºåŽ›†_<ôã¦Ô-®å­øæ›¹S>Ú³W±¯¾´ÐrÈ—3ïºý˜8þÕãO>îì÷ÇçŸúlê´F7ݳ÷žïý-¢nníÚ·}qÜŸç};¯u;ƒÛÃ+Úªên½éöÑ=xõµW3 ß‚‹¶ß~»]wë´fõšûïy0d·o¾ùÆàöbˆÛF z`½:a¢jé3Ï?ýù”i›6ÞtÏÞ{¾ÏZêy¼ÿÁšÕkúÛ¿s×.?þhLÐK¯òòËÃÇ1 À;îtÕuºˆ5ÝãL÷ë¯þh¼ÙfWŒ¼o½éµ#àÛo¾}úñ'O|æ¥×\~ñóï;´Üq@6u€vÓbPžÎ ³àŽÈÙ<(âØµ "½×K•'Ü@±é‚Ö³uõäLžhŽgvC˨nÓ¦uûí?úÇG¯Œ¯Ïß"¿5$0 Ô šNÅÝ4%.©[2kæìŽ:üõíwU9M|h™8Ÿ @ÖŨÖöW®ø~ЀÓÎ:¸wïžýŽ>rñ⺗_;æ‘Çw €^YE} âŠKG >dèíÛ·W[Ñ×Ö&ÆÏwK7d,PG'÷©ÒFwîÒ…ãZSScc¶Ø¢Yš zAË–-_{õõ?øÈBzbÌSýæ ½÷Ù눾}ÇÇ©g—ÔošÑ?uuuÞ7jÄ%ÃîºïŽ‹‡]:kÖ,Cuaè½Ä 4– ¨T9´ì> Åµ‹‡~áð :th¯nK¯]TK©m´ž ©­­6dØÃ/èоƒÎV[Kæ$ÕDøýu×zá>ûíÛx³ÆÓ§Møf}õßè{ÿÝ÷þ¯þ눣ŽÚ¹U«&Mš¬[·îÛo¾™4iâK/¼ µ5À”O>™>mZÇNþúö_êjëÌmC6ø‡Ú&½6ÉÎI ÚM¸Å–ÍöÿÅ/V­ZõÁßßk¸IIßdC –—S½5p³Æ»u»×4¨énbš7k.ù–‹M X nI]ÿþŽpt‡¾_ùýë¯O^¸`áe—_vÿƒ?þ¸s—.Ç¿ª>´cÍZ5Xo½ùöÙ³æ xì.­wÙ|ó¦k×®›;÷ë—_~å™§žå½oQ3W< `³ÆºwïžÝÒf6~æÌ™ŽtÎyƒ÷ÚkÏvíÚ/®­}þù󄺄ÑBC1ô’‹.¶ÿ/öµÐ~þy­ÙØB¯N|mݺú³Î:½MÛ6[4Ý|âÄIO?õ§¾}+Ãñ¶[ïž3ç_Çè¿Ë.»4ݼÉÚµëæÎ;öåñ|æ9A~E·þñÉÇŸìÑ¥ó«&ÕÖ.Ò±Š-7jÔ}”OµÔÆ4kîZ:eÊg':íìsÎèÕ«G·î]–.Yöâ czpôRõ3 ŽìÛ§T*M|õõÈvS-½àfQtêŠ+ <åü Ïé½gÏ~ýû.^\÷ÒKcýøÀ㎕`µn©[\wÎà .¾dhÇŽÕÉ-\dSå’3D¢Lnc4A.¾dØvÛo7qü¤þþa)Ñ—çyäɃùÍ~ûíÝÿè~/½8V –#A&¾¾nÝ:DïÚ…êLï5«WO:…Ǭ[·ÎƬX±"V(/´mÛî¥ÇÝsï]|ðþÔ©Ÿn»mË~ýú9¨wLëŠË¯êÔ©ÓŸÿü§¹s¿þ÷¿ÿݰaÃ6mÚsô±'tjó£|2uÊ´ÝvïôÆä¿Ô.\\¤™dY¹bå‰Çyî³öìÝ£o¿Ãë/ûÒ¸1øèÓ§ìÞe÷I&/®­õÜk˜:åóSO8ëÌÁ§öèÕ½k÷ÎK—.ùÅq?ôè²%KÙB+$„l0+°tÉ’œÒíÚ·û÷÷ÿ~ë¿,Z¸høÅCý| æÍÿî›ïvÜyÇ÷Þy?J)˜>múi'žyúY§öسG—nW®\ùú¤75fþ¼yÀŒšÏ¦~~úIg~ö©Ý{vïÒ­ó²¥ËǾ8nô¨G—êc>ì+.¾ú‚açí»ÿÞ]»iò®ýÙ‰‹©S??õijÎ8ûÔ½ºwíÖyÙÒå/¿8nôCc–,]à Uš“Gyؾûí­6«˜oæ~{ÙEWwáÙ#.¾pÞwó/qåüyó‘‰ñ¶íÚ„pš4ÙÌì2¤ŸiÞ¼'2h÷=vmРÁüy ^ÿÚ³zžø„#”O§œvÒ™§Ÿ}ZÏ^=Zí¼óÒ¥KŸöÅGG?öýÊ•Ü5}ÒäuëêO;ó”Ö­wÙ|óÍ_uòŸŸùsŸ#‹6gäå#‡]:êÞ‡Ôw¼Á€{cÒäúuõ§žqÊ.­wÙ¼éæ“_üìŸ ¡Ýw÷}Ó>ŸÖ:í¶ëöÛo¿bÅŠ7_ëOÿiÖÌYa¥×\~Ͱ‹†í½Ÿ®ô!S©Zfûò‹CÏ~æ9g´mצœ–_Ÿôƃ÷<´¸nñÝ·ß;òú«¯ùŸ+/<÷BïpÓ_5døùûî·w—€CV®\yÚñgrVÏ^=Ž<êðºÅK^;î‰GŸ:z@SšØ/\}ÙÈᵸ=xÏCsþ9Ç‘`ö¬Ù'úgŸÖ«w϶mÛ.^¼xìK¯<õø3öc¹(á^yñÕC†Ÿ·Ç-ÿë Å‚7E+W¬<ý„3Î>ÿìž½zqÔáuuKÆ÷䘧úèïò³bKêêF\0bÈð!íÛ;KµpõÚ jܸQç®ÒtoPccš5k¦*2ì‚m·k9ùÕ×?ùÇG…gúW¿=h¯}ö:ò¨¾^1ƒ.)v:ö2˜;.÷ü´]SåšË@É­fÊxuÑ¿9W§î÷qÍ•UE¤†]ÕALÓÔ~ Ìé&žÓ?î€m3¿­D˜$ ¯á—™#Ñ=03Ü$™U¶±ÀÕfÁ~Þä÷¿¿¾ïQG~5sæŠå+àÝ¿½÷Ç?>+êc* ছnè{Ô‘_}5sùŠðÞ;¿bƒw ‰Ns÷y‘öD!Ð{KµÝ¡ö;ÛM£dÝ™D.§-€6˜”A¯ äŸP_zÑN»ì;í´ÃŽ;íxûÍw>÷œõñŒ)ÌÊqá‰'*—Ëo¼þÖÃ=º`Á‚0Ovp™r† ›K€”R=¥ƒvnÇÁ©©©y÷Ã÷—/[Ö÷°#LAE½0\¢¥'d'ËÞñüG¢Ô‚²wc7Ù¬éØ±ëëëûõ?üçà3’G=à‚ †ÿÊwÜjkNS*—ÓrJiY¹µz»8˜‹~ !Ít3K“xVšÚ®åvoþåõ_|yÜqÇ{ÄðéÏ|æšš|l(6æ"ð ¥ ¼—¼ -cq·,8FLˆ‰tFz¨Þ%µB®»:>„¸„·ÒÏ`(9;›Úœµ½Iq÷?ó]grûÔ×ÀcÇ=צMëÇœ8kÖl’¹ÈQÆ4F5 ѳŸVUi½@êV6©k§»‡aT¤ˆ‚^á,î°=…ö z’$Ä4‘©ˆöÊ„çÛ´i=àègÍž È©Â´¾ùñ~èÖy_ˆ§`†¶#«ôJü`oËË„g›Ò. ú¹ÕÐ`z/v¬ËÑÂ|ÞA$:©@ò6tWZÔ+Ÿ²hˆÑDhÙ²å¸×^þêË™§xzPIÆ yÈ}+$…/-±tqþ9hÊ|ùÿ"`„4žfàì#ê&£³X °ÃÉÙ ì…8„ JÑñ Å!²¶7“I8»é&AHʪШÇ ×«>ò;߬Ì\fR‡xLt”ûÆy¤l4ØSܪñ5`e6«hÖ±z[Üñ%ðÚ˜ãD·³u,.QÉœ‡š‘(§Ëea•êd—C‹Bw$ÊøªÅ%V²- × óÅZ¿@L7Ý#¾^ïfÇ¬Ñ 3zì `·]wUÑ ,cìZ‚ÚAÀùÜKu)»í¦¡-\°Pˆ1Wœñ9_«u øJªïë€:~èkŠ!à¦Ï¼N!ƒ¸ äT±N1°ÑZ«ppBäcÅ1qÛ¥ÛvíÄK¥d3‡ò„îºãž3¾:â‚Cûüî½w?˜g?M^IZ „_e‘–S»Xš"¨N¥d·/ë= j¦À\$¨a˜/íϓħ#QÐP³¼Á]ös¦|ÑDðë_ÿ¶aÆo½õÆÏ?ûÞ,vØáðúë¯ÚÕ#HJ˜$¥P~,¥)¤e*—Ó4MÍZ¯‡-óÛïÄx¦þ¡}‹m¯Þ½à›o¿5m6iÞ˜0×ÿ¨GÆ¥FÔû  H™B=°¹øþ— C:€Ÿ+á%,sØ•SD€ ® ´NŸPœ†ó|Ãq+KÍ¢BZ(ntU¯Å–5Õ;7\8LÀ.]:·iÓzÎìZoV´\ÊZ¡0õÆõu#t“¡N#…e}9áŽ{k65ª‰¼Ù®E™áñY¤ÉŠ3²²‡ì»W#uéj2{N(Ø#oÿ׆õkFE5Ÿ¢¦«7LˆçA[ˆ+Æ @f-Dœ’ E~4×òÜ^“|‡<.@<¸q`#º÷êß};OÀrfT!Й"ÐÖ' ZRhEÖP¡Ýª«›ça¬êÏ ¥zO茋hÞ¢5—62c…V.×XÛ;°¸d¨Ä®üŒ«î4ýAYÐb[S{¹HÁrÑUÖ ÜX5‰YhEv·1[„Îî™öŠß–ŒXŠä¢.¹yÛu‹Höt-'Ñ5~‡Ë¹U3_¥'0—‡ÿ Õª, ø+ú®v³Ädk4 É=²†$Ȳ’0Ž? žpjРá¾ûíµpá¢9úsg"Ý“ï‚õ¼?³CïepúG÷=OˆPSªùÛ‡ï-_¶¼ï¡}ÌáObðõ:¹4pÈfì$öúÕ­‹cÐ8›-'€¹ Ê\ÄEDæF.PŸ 5òÇNV²õxfìÈiÈN8þCVÏ6mÔ±S":ñ„S§O÷?࣠v÷‡$Œ‹4kzrñÌ‚0#âÃ9„leœd._¥¬OÁiL´¦îOd;Œ™0@Ót˪| ”<\ƒ¶‹ñG–à‹^θA±Á39J%‚=O²‚ÕPÙô{°S"ÁJW>•U5ˆ¾i¦) ºÔ´/ófèÞ9ûbÏP×¢÷7³PÁÀØIÄV¥8²;=‹qrÊÚY·WrF!ûS œ„8hÀo>H=oÚ¨QûíˆèìÓΙñÅ ^…hàû°JþLôÅ`21Òb!ªb!H ‡ª5LmLuÝgijãBh‚ Ç*ì_zF,€‚4fVŸ^rÏ6%0J2°Ù¸³ Ró]ú+çBh‘ª4+UÊZ”gdX””™cÃjWÁ_¡Õuj{ŽHM\£%k퀓žd¹+{43V—LN,&wžfýmgÕYlܱ^s\Õ7qh|X‹•+´6*÷ló±Tx0»Ñր΄âò!ÇþuXú8:åÙù­‹È©„toYNµ‚Q-=ôÖWµko«Õ>-p}k­`¶G‹ìŽQ«c Q,…‰u~…s¡˜Ïì)B–“«-V%ñЬ/]^峬]·öwÞ‹}×At®]zQ]„A7$Þº­ ܵýǶ,˜•lÛN¾¦ùAnõtß³†oÆ¡l¬;b‘1ÝÆKûË„e\ŠãHÒî5?^«®wÖ1†@ÛXÃä"zÇv´§IW­Z=mÚôî5}útOe¡i$¡x6Dÿ 2äïscå½|‘r|×qáÀLÐŒ'i¨÷¸ò̺þÈ**f.ûÑ`w¸ÈHÝþÃGŠ"E œ Õ$"³2ƒ¯†Ü3'A Hܪ2³_¿ú{Ç}ž`S¶RÚKmðGÄ4Míù¶wݧîÿ_§}h>»¯L•ABÎ4t¢u0ž‹U\™ 3ÑY¹ú½R}0ADm¿ãöötßêU«gLŸñȨǾübF7§4ýSŒš±z¹¢eêžÐÜÍ*qÈ™Ìlœ®—ïPMÈîˆ ÒÌôneX+Œè ‘¼C‚ìQ|Š„"¹ªUl x©_NUÈ„#/7_á)íƒR„"Ð3Ýz‚ h=~êÜ´ô íׯŒ<þâBmë¦?ÍØü,8wÓI"qømDŽP¹(d¥ö 3È…a…ìæl|±EMÁp†™iEà)ñù$ÖRU<>^¸ µ—eIs‡ÿ‰lFbweÅÐdå½8+Çx²q¥ÄÖHå²*÷µ”`’¸õX/h3‹ô3Cuª%isÑ)«È³ÈüA1ÎùNÕH ï/GSæ‘j6;­çci?ÑŸãæNFez2RìNõ7±=šbs> {ç@De¬ï}JcQŒƒ®Åè0Vb‹<{Êí¶L Ò”€ ¬7$Sš¦@€æ€¡`rûB2*‚“&YîI[£ðÑì>‰Œ¾CË]ÑöÆ :ÆÌ"ÙòÙ×Â+´[DÀrZÖ˜dΊ*sÒ„éÊs£¤3hVع¸H•†4àØ6ëÖñ\òôi|ÀºÁ*“=AÀV›=ñnêâˆG*ˆRNNz"o,²]B¦:%„C‹¨¦9Ðh@Û[á´/þß]¡åL€oy!¢ƒÞˆ!ogD‡x·×Û4‹ S5†Ø°">úèOËÇkfãÊ81ÝΫ.÷ô_`ëê;´•Bp‘~ñí"ó—‚4W­£k|áCj‰œÙ\ÓwUsD@§‚À1»)66ÁxžHŒ×Y•A>"=(@„æ´ÿ˜½B› ¹hXÿÞÌ‚PÀ|̯t=Z‘6H q :d @ß}ñËfÛIU`K±Bˈãã!˜ùjc|:[KØÔ¬zíö$ ¦ÀE‹³Ò¸!433¦ÐõD¾u¬ÈLH‘^3y¹ÿ¬c"dQ\Y±ìÀf.M€O¢hÙ¥ê4Û5ŒÚ‘úAÈoiÍG/šfZ 1–ŽÍ^Ð`ÑCÓS˜@’u½“PA¦9vF–€ÜGÌÑSyli×ñin\r>²•è#Däâ…2ò¬`‡Ó[zT—綸³jý–šGIP@qðAw™á+V­XÌgÜŒ`OޏžDk×ʆ€sQŒÂ ™š„ƶ§ÏeÍYÇ— G‘áÈ©ËäŸyn¢ƒlúá ÉÆÓIŒö/•Ó”Êe¤Ҕʩú / &hx W™f¸Žä«X~@C]à»NRÍʆDý{OQK+a²¦ÌT¢(ŒA~ÍÄ67—×n xS%Lò(>"Ë¢ƒ,«º y<‚h§›¦sñNŠ#U$Ç'c+3åæI¼ÈA¯Óø4”0`Aµp°Bǧ/ã Ñ¢ bÄDE,Å’"†žè 9 œ U€þ3f¥†¯®–,áeW7±´¥BYÃÔé&³”­Jè¿8èŠÁª­¬£ qÅŸEü _fX_¡ÝМ¡^ôÌ!¯ o`ñŽÏ®ÝgÁh#rX3–¿Æfcö03ZüÊPrP\Ü,Á7»ãµ¢e7˜ÁÇ8mÇÄæ‰œE‹²‚âÅ÷˜² o-rn½%“p L·óëyü2T&;Þ½¡ƒ1œíÀ6æX5'L.>maÁ™%n¡²Ÿ’Ä|zµ«Wn 1I’Ën'6Úü§²i;Ï8—ÈÛL ij?\ì##´—Z/cR«{bÌõSÄ{ž÷¦>k UžDŠ<&‘e/6"Ä eev±A“)üfµ`Ì×q˜Éâ"‹Z“@šù»lUV¿¢þ„¬¹±XGšÚɲóœRk‚šÎUN 8f²ŽƒÚh dË\Üð9ŽW#J~òò#7Â]ýn…Ìf±€}â9WT-¹øÞItPæ7†.è©-»-u]Ê€•# õ®W0N8Û ®qµP':*”JÄS“+ïÙXdðà#Ê­#¸Y9·eÔPÑšá|Qu‘Þ_¡©îÈΫ7Ôá˜+Ö,!`‰ÒÔ|þ§œR )¥ ·SC6ÓT©¨Kª'L£PtzÎ>9“%|qy»u‰HR•š3ž]”‚6yïxª'£¼Èã.Ò…Œ#S‹†]Ðò…ú€ÙFaä»|Áå [LÉ Æ@Æû7.4ÝS¦Á‚v(ë8³*ÎòõX…Öc*ÎÓâU §ˆ_×½ó>ö9ÖGÁðˆlÙæ¬ÇÙoat^‹ùv¯º°˜•9ð\…BJ»Ùø¼Á{|_¹«BÂÊ›³™Aa‘ Å®%±ôXåqc%Ý,fà äE’|$ú Î Ê1lÖæY§¼Ø˜´UlHË688Ü=Ì<6‰ô&ZÚy"«BU¡"Ãx‚‡EL"=SæqL$º<äëüþRù¿Úwf$dW%aþÈÍ­*? ®û,€L\E øŠ=`ÞÀI,ŠALËã .ŠjlfÁÀ?ÀôœØÖiÌ&ôkf‘Vsá • ·A¹”@âæüÅÝÉV2š- B‘0üݺâY³‘,Œ6SÙâ\QYLÙö\Q5eœÙnh1†ÅÑ6É¢#í‰!)›Lí+ÆK p§Ékˆµ<3ê¾ÊBâ­>a¬C§bmvFàšˆ- ©ñâ[ŠEéȸ•Wí«ý`cJäY¢ÀúĨ‰ÔÛ?,ƒùÖ%¸Ëoy‹•¢&ä~]7Öˆ!ï‘RR25¯«_ÑY7Eô›i™½wŠí~w|Ú‡d³+ç“ÄîYæK~DDlÍž]'¤WÛPçvl™*ÝÀÔ,næ±0AH,•J¥4…r9­¯/ׯ+@¢¶Á$jÛ¶ –æÂ¬´²šõpÉA–*g؃ Ö~€‘ `Wtê 3Ó³OM&â#$ËÚŒ †`DˆóÄå¼Îè6^¸Qd#5ss×+Øs®zŽÌMèjelný³®ò\“1;ÄvD@–„Ñ@d—½;0¯\f’>! µÄÊŒ~«&»nß°0²'äù²­n„ìíÊÔx­ŒÝÝ£CÖŒräfq Z–M• g •bUef Ù–J@pVGœêÎðÓÉ Õc6p_Œ‰ÏMoˆxÝ(!‚€ìuôRâe€ëŠÊÊZÇ N/ä`A^zÅþ•ÅÑ ÀjÜ€Lx#Ä4@ÐÏ=ì<™4ÏGßi‚Àÿrðfƒg–Üü¨‚õ‰@‘è(@ÿ–ã˜dGÅ!ÍϾÔ(V?”AÙfL\ýØ ¬Õ‘µ.f„Ð9ïDN.Xä=mƒs(!qWÌåH;ÝTn-Ž_¶y€òGæÆÀœæ§¾H- ÞNœ˜µ$k·›’Ú±±.Æ_ä9ûê5…XYÏ*fþ-q® }•ñȹÊyP>TS%BæU/‚º£v¶4:#ÏÚ¬ª× (4ã\„Ú~há“WÐ|lÕs§ÂšìÂBŠfÁØæ¢sk1sÐ4 Ë©jµœ¦PÔ!""õ1[C.ÜtJ s(#ÞŠZÔN(:»aäÙDrì‚éZ¡LùH“ …iDÔMJ€˜$%lÐ ISHË ?j›èÏ#£ê@·ÙL 9Þ°d6È„JÄÃ!/Äæ‚0÷9#xu'0˜EC2ZèçÍA"?CŽqÂæÛÐì••}¶×ùÊ.pÅp< èÄîo‚ܘ0Ý—®D)¹vØìNuÞ5s;»{.ØÈ¤lÖ¢ˆÀ*–oô¯W½ÁóÛûÁ=Å”ÈFiy5Ͱgh= Ç 9Ó\Šß \…¢  ¯tlüx6>ø4Kc#©kÔläñ;—d9j“ecÀ Eš È6Êå¾;46FT¤óMäï™rQµ¬Ò5ŽÿRåéïî$€`|ã`yGä—§ªGb¿^’Ì® ¾`“¡ØÉl]Vëæ(¼£Š¡ÙhïÃ% Sš´&èf¸Ìs3ÙR†Œ±d°<àö»l>jŽÔÑDƒŒx5–»&±¹œ‹Díì#ê½ëŽw,•Ôj¼ÇH)¥äèŠIÌâ0$æÕ‚PãÂö¹·v_7Ÿ @C&ëy³l°õ˜ÅÀæÏ®X$„R‰Ò2”RLÓTŸ³%ެ+ãúÉt„Ã:f7dß”ã6÷†@&F¾nš…ÆFÃ!ê*VÞô9p~Tq•f%‰ç­ävCEðŒòQª’Ûön'V(2žÍŽ”,ÙT‚Œ§éjÊJ .ÚÁ &CÏW¬TÏIy{°l+›*\ïHYÃU³O<¬&ßìõ1š…¯CÊÄ0}˜W<XœÙW”(C²1Å ‚WJŠ{°‚Bâ“QG™ò_ ÁHѦˆÓ)ù#7£;1x•x‰Ù}ýy~b3Ó²àE¬ÛÿfX*sŠd”ÿFË(ZÔX¿Q6žßâ„(Ê\¹¡ˆyTM3Ì m¼7™²žyÓPnüðukìqX98Ë“›¬q|O`¥ƒÄ&qZ"w@®Šérè‰gw”·‡ÖX÷™ÂHÔäö¾eŠdN„m·JÕ÷cýY·‰”Ôþ^± Á,´Z§G:‘êsúP©%Öcl=–ä««, ™P2 ¥úE±÷i5ÊNpšÚØò–óŒ±Wˆh*öÚn:“À V½D@rGµØÚkΰ0YÇ€a/µß!Ev¼ÙŒ™i5èYÇè„v MÙpA´|C–U5Š$jh6dˆ‰,›éhDkع¾g†3¹Öˆ5dÇÿÄâÐU¢6| Zý%H¢$M©¾>-—Sõ=[Þ À …¢:â- œ›ŒÃ,Ò,E”üðËÆ†W'U,;I›ÏÍêaÄ W}(âëØv…žM.©vÑZÌØA;"D‹"Ê7ÔYè3&åeœóOÁª¦˜sì(«Ü‹µ 6H‚(‘×£éõ9Ö݉Iám·7ÌØ­¸Œ:Rhb £ý+A7&)l¯EIDÇܹº¬BŸ­_‘nócYÙ€‘Qvv« IDAT!GÔ²±Ìi Ö"W|È^@?ƒ?.;©ªTJSÛLíܪx´ívënISJ‰(M1I4¶Š¨j¿0šE_Ý•Ê3±‡À-k©Õ~Qƒækq~Õ[nä[Á“1ì“«º³îîHá:XCNTã“Rš&)AZ¦r9­¯O)%Ä„ReA‚‰¸$LìdÌë¥ü9ŒÝ É/—UM>iði¯¨ÁS8xˆæéÞÅÑí`zm—š}¹v6C¯nZyÅFY]l|XÙ#Ñ•¨ð0YˆCÖ4«á ¥Ôjº4Må/x£:+IDj~—ZX`±òÓK° êÓ2è/)VVò,f%8pâ5‚•W:Ü­[¦Ý,>ÊNräT²À¬¹âö2>×q¡¯Ÿ…BHÖH–×ɹ)Ä›ÈÞìP´ëÃ> þ«+F<ßÈå\_ˆê3ˆ‘dwk†ÜÒëW‹½D€åÀ°ˆÏ.…D“,k«p‚–üB¦VýϾ昭#«™æò—* "~îxýO_7ä’Î î˜ËxÕ`NþfSÆjùÚPh¯ßrGˆ †Hù' ƒü¼Í|¯…­Û§{´¯ƒlf&:…~ãÃ~OÍœ?ËKœ0׉ùI-s,¬¹†&Ùx$™ øÕ¯<팓۴ÝåçŸ~šùÕìî=kæl¿]hîáá+f¨n-NP;´¦z©ÿÉ]åkM50ÔÐbÊ,‡àï;ôºGrÆxÃu7qj‘(DY¡7çÈÇÝkAì¸ã—\:¼{®Íš5S‰×_ÓóϽ¨ AP´“08‡—ÁåùÃi§­,{׬þnÒp“©Ÿ}¼há¢ßüö\¦™ÌŸ«Wæ¦ ø*5CŸÈ\,ÌojäHßj­ÑÞlvɱÔÚ—'$ÄÀúú‘Pߋͷûâ"ÖÇ̼²Ãÿ ‹î"cF—dÂ@}?™€,Õ`M –ËD)¥©ºdËÊ!h7Z°óðÍ-,§Y%ƒN,,ù7TA°U’*5|È–â8J’ÀºryÅTú¥øºBÔE.7YõŒÀ;׉“×Òã@o6¹›Sà*’Ø…!ÔhBýóéÓ>Ÿ>íóés¿þ†õÉcî—µ}g–{- Èþ¦$·™! 4høÀCwÿê ø÷Ÿ}ö¹ú·tÉRŽ‚ d<SÎ`ài¤R‡Qªã‘ô‡ìI‘!5Ò\¶Ø¸`C‡^ðå—Ó <–/ËFp(+Õû¸l‘#p4C¥iš¦i9MËjïmš–Ë岊 uqRJ¶oloq DD:ƒ×@껯¨(’¦¦P.ëõLÏÛAáÆ+º¾”(UŸ^ N TŸ¤œxü³p¸Œ%DÂJ%¨©Á K –j$5 °Ô )•ÀÄ3Õƒ‰™ó‰JŬª!Ò~@îèoÜ€ ¥Q¡¹Éè=86öEu¨,ãÊL§¸+®Q¼z/q4í𪒸ñþâ¼Y\P°ã$dûH¡Ê5qWL(ÛøHˆò®HC“d§;³Í Áú渊Aþ°ÑünUš˜È(`ãݶ‘(xH§b°ËK¼Xñ Õc±Èì HÆ^ –èç66…é"6œ5ömyAÖìP¼‘9ý¶r>GÑIÏY/üüÿbÈb•Hê産 ¿7‡³@úE¢ÕòJó+.À!^zÌfiy³2᱂ +ü+2›Z(霓;«ÛlcBVðCÐöÖZÀÀNÒê& Û9VG àíT””‚3Á¬Ð"@°ÃßåÕe¡If›˜¶زPZæüÁ;V q¶94Ž€žä3K äv¨ríî´ø°õ'~ÉkŒ;¥«dÖ·ÛGý F·ÌL1)½C¬‘®U³ Ù…^SÑ)§çž=ôÓO¦ÀÑŽºfäågœ}ògç~f¨YʬÐ&‰Ýui˜7ÏìæUð´Ë ài{³DÆ6æ"|ô?üàc•ù—¿<àö»o6tÖ´Ôž £Ž…m–÷ Õ]*ßÓí¤›Ûm¡uìØ®uë]¦|:õ´SΓİàÕ:vq@*N»•kNÇ’¢qz¯®Î²»(ݶÛ“Kêph9T"÷Ÿ²ü’$±«¸ÄÛ‡®º”©ÌéÏÚØþµ+´èj4“1@€úüòN@µ@F€ìˆ8ïz•Ãþ’–N¨s):5 ¦j©WwaJˆ 6Pë®¶\">ùœpdBÄšõ¥*—Ór=¥)]Oåü–ØÁíSͱƒ%³1¹}àb½´ “ed\œ†ºÁ•?|B?Åt†/dÖ,ÎÐfuÔ@e<ò^æu k—­1ði³hméÅZÅ‹1ª±tµŸÉ U]J˜ ð[ÓÁÈe² ‰YE`ìd1Ê–ãê¢dϨs_³ƒ>ËÖߘ“«%ÌË´[»EuccµìZÈû[ Ç!kh8(ŸŸ)æ5 ÉQæä’íŒõ‘Sû¦R؆X‰øjå:ÂÆ‹Ú-L¦¡+ †ŠD KõRôñ?Øh÷*Ï>€ªjÌêA!/$t·O$ÌW*ަã¼ÅÌŽÉKËÄÂ[4~}ÂúðvEÈ™"/Fo@¦ɸ d²k.*Îxm¯lNX R¬?*0W¥ ÎÐ"ÌDD² lÃ(9kW!ÌÌ6`®ƒ9D‡dW+ÉH;»SK}»·•ÃcZLù|h -éå 0N¤5&r¤¿B•Û¾nó’‚­ D>ãÖ:˜§ˆÐX”žÕÁŠyº-ZlY.—§Nù\UÿÚÄÉݺv^¶|…õTu•fšPTÕÛÄ·CsàDá$Š:)”ѵßî?ö]Oâ?ª(³º-¶Æ·E[5i玱Lì®loŽ!%T>6ê;—mu¨¿£b.α¢9Žˆˆ¦ZZ.# Û(@)¤ C·m_Ïš­ÑY½cè˜@ 1)% ¨ãµúŸ& ¢»¢Êr!›ÓAäƒBæ']U¼r¢÷\Ö,|})£|$0[Lys8¨Nk/KÑ‘,*Ñ`[aæ)©u)û™uÛ{Bm0ÀZÁv€•Ž~ÕºOoI&“Ùí^tÔW“%”¦DDb>†“Dƒó¤¾OKY„´Ló7£•Xz’ÎBò.Z62-è63@2C˜f[ 3„ÙhŽä´Cß ¯mYvD&ʼ}Át×ÔÅ µ{F@Æ º”Ó¯º#ñôVL_‡¨ë Fí³W?gLÒ åmS2€.¹ÇŒ8ÂB²Ø^›Š72j9ÄÐUÍãÔ³k³cd2Mʺ°¯ƒ¢¢‚l) ›3LbDöGi(S*ã—Ït·0228Uœ¸ä`‰ýϵ<Œ&ÝZ5Fõºa•£¼MÅ0Keò…­ uM$Èv(ò)O`V*ü 3k>P¼Ñ€B½¡\„.Á°Ê„ÍÛ(¥°+в»°CªUeö‚;CË0™sQ«h¨˜˜íá ¸e-Î4îò]ÅCeÊ£5wtÉSž¶wœ&޼“ÁÏá¤â¿ÁíWA€<èaúÑ›ôüfî·{tÞ­C‡¶sæü€~þéÇÿy©'mßc½÷ê}ò©'·nÓ¦ù–ÍW­Z5ÿ»yã^yåµñS£¤ž|ö™ÖmÚXà_~ÉÅ—_b_?øðeË–Áý£ïïÙ«çÈ+®<ù ®ßN:õÄ †ž÷ÌSÏÞ}ç½*6uŽª¢—Ù^êŒníbµn½ËYƒÏØ{ï=·Øb‹%uuï¼óÞ¨‡Y±b….È)cç %". $ø†Á®:>÷ì^½z5mÚtéÒ¥ï½ûÞ<¸dI2ûæî{î>ø·¿=í´Ó÷Þ{ï¾}û¶h±å‚ ^xþ…'žxºÊyu²Äñãǵo×ÎF\{í5×^{}=à€_-]º”Skë­·¹âÊË÷Þ«wÆ >ÿ|ú]wÝóåŒðÖ­[>çœ}öî½ÅÍêêêÞùëß|hÔJG7³VëHX”6š”•j>Ûi–ÁœMÂúQÅç À­MYˆ&Cz"ýñ]4n‘Bˆ´A¦¼]£õtŒ nâD(2¬ŒŒðçöÉÊ"Û5Îü°=ÈŒ;ËD€ bBI‰}¼ÊåÔƒ®æ$P?» ,<³Æ35¢RÈË þ¸œ„è`"£2+”#ö3'tøU$Žj•°Ë± HFx9ѬG›Ú¬1 ‡uÃ$בl,bb¹1EDLOcdÍZ “¨jãÑÆ£ÀØÍ¶¼”à(m†ÝC$/…KwY}cœ{‰B1C)C] «¿)&àº>¼×7§âLgš‘b|à{}ÇÝ>GïÃÈÆÎb()¿;y•âøqåqêÆkm+•Õ˜‘SRÎ-¶Êl®QÄ“1³X!Û~ã×0¥¡â™2 ¹ªªÈIDï=«P–TmðÌ&gvEBUéÁ 7±w «GÜáä­’™|ŸW.è«B S©]aû3Kä°Å>¸Ze‹1»Ìh$û-ß”ÉÛ†§v‡É@ ¨¬‚™€2’NäñÎÖÓ“áf¿„*ŠÖCjËW5јÁ¦¡N¢l,Ù†€¿4ãUà.B’ÈÞ7ÈHè/>ÿòw;sð©—]t%ØýÃj=õ‰?DØÿ¿¸ùö[ñ_sþùÏÎÙl³Í:íºëeW^±ývÛ5Jœ3kΪVÀ6۶ܶå6óçÍ_±|¹Å|ݺzÕäq/ïÙ«çG1yò¶3àÐÃ~¯N˜”¦z-NŸå4TÒ‡HÝ–öfwÛ}·ÇŸ|¸Ñ¦›N™òÙâÚºvíÛÂÀ_ÿúWÇwÒÒ%KTK;uìôÂËŠÒ°\.÷è¶¢ÇðìÑy7hÖ| 8àÀýr´mÂSO<ó׿¾£ž{öìùȘ‡6l°h᢯¿þºuëÖÇ8æ€qÜÀAuuuž™{ê)§¶h±åøñãš6mzØa‡]ré%Ûn×òæ›þàufЃö hæW3Wýû@hÙr»í¶kùÝwß© •©~]½Ç£·ßvëͶøð£;uì¸Ï>{wëÞuÀ1Ç}ýõ×6Ãî{ìþäS7Ú´Ñ”)Skk?nß®Ý 'úõo8ðø%K–0¼”kŠ|÷—ÝKÂ`ëÓ’žµÒ[»éõ7ãÓÚ¦©Ä«pdQËnoµqŸ¬!«˜5^'e@{˜v¤xÛ ø¢³]÷µH¡mˆ ÞHå«ÐüôC€5˜–J¦T.§€H©9¾mçÆ¬oÄûÜagW1ÕZ{¶i7Tg û&GnögX6rã1²È jÅšQa+}¼&ºØ5ÝÉî›Êqž*L?¤R)ÐWv›}*hOàsß8\é]É8=¯è`©£Ri¹ }ÑÓ0ù6cot¿×¸œ9ÊJ˱Ó"M·Üž½÷2²|ßËÚ8fUe¿0À™èŒû'A“}>BÁ¸1^Bcå´n¤™œY8È\.ö^„@°µ8Ùc6Ã…6^(ûñÇŸ|þ¹çUf3JÒ¼y³É“ß¼ý¶;Ò$)Ý|ËM‡÷ésú™§]}åÕ¶š‘×\ÝhÓFC/öæ[o)$†½ðìÁg]xÁù#¯ýÎ?D ÎŸ2/ÃL—¸=£®OÌÒ®úN®ö-ÐJ3î³Ì¬–Ò Vì”´öFQõ¿bnã¹–èͪ˜b©”4h˜¤e¨_W^W_¦rš$ @€êÛVÀ‹ìYËìY®Qhâ±îœ†ÙÒ\5–ÍšaÈ&Èý—Õþ’îv+¾£¢5“ ù”Ò´M4H±\Ni-i9DÎÛô|nl9á+×øtA³ÏÓ4€$1_H’$MÕGzüýÚwÄ¢‹Y¬ì ™MQ… f¨¡ÿ‘1ßM.0æ£ÉO˜TªÃŽý3/Ú2¸³Hݸ­®1¸}@YÖ|QUgÚ´ñáˆ~ÌÈLD几IføV’ç<ñÌÎÀj‰ùÏ„¢ÊY¡"ÖßyQª­šï Ö`/K0½= ä [mçA?kv‘ ›ñê« 9ÕUe×Ç¡º¿8$ðþƒÁ ½üû  ãŸÏº)³¡êaƒ?Cµt”Íš•ËeÏìeÎÉlÉ‘‰`wUƒ' 45u{dIN¿Éþ{`Þ¡÷.s›ë¬8ê ³/ÑT£sÇ4ªÄ)Û¼AöËh6ÁfEhÒ´é÷ÞÒ®}[¸òšËgÎüjÑÂúÂ'ãʪШQ#˜þù´ÔXÞ³gÍ>ì7¿öe#¥ùˆy&‚âFµ¬]»vÒ„IÇŸ4èð#úŒ~xŒÊyè¡À„ ¯ªw)˜¯œ¸AJÁ,¡ÙuÂæÍšï±Çn³gÿÓz³ðð¨GO?óÔý÷ß×nB[°`Áùç uÍWëq`´guÞà ¦tàÝ÷Þ>öåq#¯¹^˜Õ°U‹­:vì°¸¶îÑGƨfýôóO·ÞzÛa}ÝoÿýŒwù'LœHæœñÂóÿúö;‡õ9¬k·®µ“)ÿË·ÅôѨƒ¶gý ùìãN›l²éý÷?¨pNÓòè‡9¼OŸÎ{ìa3oÙ|Ë=:ï1{Öì·ÞzK2zè¡Qgœyú~ûïÇ®Ÿõ%OÅ CÄø’¤¢ºCJ§¦¤Î¤Zo–˜w¨]oë »i³I x>,ô›ù‡°5[Ãÿj3Ùšõ<ÍèS†šþüFÕùév ïEI}ÜAQŸ9í›8ÛÊÊ'å·c¢7#&¥šI¹LõõiZNS-ðÐ:ÒÖ}eÚ?ßèÆ àìRÛ·Ù &bš›ú5%Ðð'£”÷Ù´|9k–8ÉR[÷¿–ZœD ˜&f«-ª%YÔ­fû–x¹¿}<Š!Mé¯U:²¨h-¶™\3%IBDêÓ²ªHšº 1gÞÜÚ㸗˜®(¦ËsØKrŠðH¶ÐsÅ™E9‰ØÁgaðòcw$TÍëíÊWÍþú2Ù)øXÙ!NwÇãÍŒ ³ ‹Øn-!zËdðÍ!ØÖ%ñÖ3z s°XTrŒ ž(’jÛRG É"1ŒV Œ¶ÑP„¹ªg@ÆýàŠð«ð¤³rz£1–œ§%U%&Ø<¥ˆŠ*beü¸*áF²-V5 ËÐRÐåÐ}£‡J¢hc‚*^Wt«{ã¾B«ä](EˆJ)uÚÙ~ó”™þÑFŒÃÆžúË勨PŽhpìy-ÊŸR÷ÁÄŸ³M˜ˆOëkÙ,Í•°*žÎ:û´ž={LšøÚ§:òúkn¼é†sÏLi¹çž{ÞxóMS>ùtä•W*\f}5«[÷î]vé˜ÑΙ=ç§Ÿ~pÒÉÞ8D5f³‰˜±/;þ¤AGôí3zÔcÊ>ú]ŸƒËåò¤‰or“¹2ÌÙ%fÿ1qØ[m½¬X¾bû¶çFû÷+¿o±U Ó§þ…ÊℲÊÕ© κƒ·lѾ÷-ÛÁK–,Y³fÍVlE׆ºº:þºhq-4mÚÄÅäáÑ£8†0oÞw7\#æóI†[²dÉ’Ÿ~\c Ô.ª3+¡‚¢ÛòŠn&¬\ùýV[µàž>üȃ^ÝóçͿᆛl Êd4n¤¦—£­ê?ã¹1vtV·àÍ:˜` îÖêê‘ ·’JÛ‘Aög̪?±§m­ A ‘ôj-²E äúÚ^HCvC-Êa‚5€TBõí«úzHS¢Ì7Ž#ílId'ŽYeéRÿ)4"½>s ü! 8²é¸À߇jdr4A¯ŒÙ…“`3IÀ·œhrñ[}<._¶Ê\€DT®OAà¢5ß fqÎãát ÛÌÏ èÉ”ØÉ6Ÿ¥)Wi9ÊS†œÉ •³8˜«¡½V¾Ñh°=¨Ù0ˆŸÎ€¢Ð0~ƒ¼õþjB¨ÉE«c©e ãEÆ™%ËÓý—œüù x6†«g+EóWÈã÷¬m«”æf®Îã‘H Ø wn½R$£Líџˆ@Úøw%`õþI•¡`…rÅÄg^Æ ÞÌ®¼šÁÄOÓ8fÀJ¹˜ƒŽë¹˜—S±U»FÅó&{¤¨U­Eøßtq« nËNʋݸHl„`?ÛƒÆÍ 4 ¦”ªliš"h Hæ<›5Mx!³ “)<ëí 3p!ëX™äàÛܬ\hôÅ¢‹ÝüÈɨ¸qiÑ áØxaþú]r1è~»õè~táÂ…{tÞ½ÿ±ýÏ9ïœÑ:ÿ‚!7~ò±ÇHï°Ã§¢K·®½zïÙ«÷žiš.\°pÆôãÆŽ›öÙçÀiÙ&bæs0çÎýö³©Óº÷èÚ{¯=?üèã=ºn×rÛwßý`ÅŠåªÓTÁ4M“D}Æ´A­s²9æR’ÀÞûôžüÆLå²ü– §ž[Òˆ¡ýñ(íâÐ ÒH˩٫{ÄÔˆ o‹WÞqÛíwÜv;óy I’ý÷ßßÃö¬­ ÙÌ1ÁÆö;˜L†nûì³÷›o¾)Ë̦$Áý÷Û7ÀmQŠ˜ðÝ¡©[VÔ„"ûµ^6ÔŒú"óå ]Æœ©wDs ×kZÙF“ßH`K`¤WRÐÝb·3sÌ*®éoe¯§ÌŽB}å€Ý ­’©ƒ÷ c<¶8”˜æ&%JJ¥š¥r=Õ¯+—Ó4MµSŽÎœÒ-‘,Å·¨éf‰O‰2”ƒ£‘ÀVï¦ý$VË£@T¯« –ÀHµÇ›u©Èe¿õù‘ù ªe磞˳'‚r9µU8'>Ø ½¾œ\PŸ’""‚$A»—RA|C¦jëÚa¨ÆŒ¤Œ¥F“lÿzâ‡Syf3¶Å*zU…ÉÎN¾0?T(äd#’¾CJê †7W¿!øØhdL›O‚J.ÒųZJ .±_D2ÆŸ³‘  gcç/84¾“!«­(øyå3š]$9!BœaÇÜñD/6GÚ©¤ˆ8af23*ù¨dΪS±#‡dRDLÁõ’¿ÕKj¶÷¨²$+†CU=^\rýçCµTˆ{c‰¹ƒ#7q=TqPckŽmrqAm¸*—Ë¥R‰ŒcšhAˆId†WžÜgQZ‡HíhÄ“”Rã Ú±Gl'Ñ•b å³Ož¼w2•k1'ý¢vVË®he²„FÜþ¸wڔϕ 6Þ¬1¬]·¶T‡{ÏnƒN<¡Yófí;v˜8n¿æüËìÇ„ÿÃÙ§Ý{ïÞ½÷êݾcû;ÒçCúrãu7½:n"¹6ê&I c£€¹Úçå—ÆuïÑõÈ£ÿLJë‚ée IDATÚç˜0~’>Ÿ¦] "J“¤Æ~‚T™°)¥f¡‚OðÅ_>:ú1šzÉ vÚaÇ+G^åô´\rþð ¥wOúП‹¶'2 Žª™nIÁÌ¿0{ÐäSOå´¼Ûn»ËÚÐü œý[¦Å‹%´×B_LÿbôèG$|H6[X.×ï¾[g7ÄìåÜ`zKïütW­Ú…P3ÉD†ôÇ]lºÙíÎUÐGZFÅ f°ØPP’› ›µT B’ƒãNB:¼Ù›Ñ×nÿ¯°Yóf|Ðÿ^õ·¿¾ ÎEP0SëÍ’=â¨Àª3½+W¬xûíwL­-kóáfMšì·ß>QB–Ëe0·9òå½§ äSK¥Rš¦®É gàØ\„Ìè^² ëÖéJáP†‡5 ÊT€+Vüåí¿Ä0P?ÜMÒ¨EK¯SšåyÔ㘖-4CZ[Ä9nÎAg1I©)¡{Mn_ƒ!€š%1&¼ýµÃÁí÷p§M«ÔT3Ü©+DŽsÀÝA[d 3n-¡ÝuI†];HT#@H°„ ”JI¹Li™Ê©ÞŠ,§óH–6µ;Jxû¶d¯Ú@ŽvÜqE¶É‚o˲iDßEÐQÌm^`„8ŸžÌߊOܼ€™mÑ%"6F ¸À§­âpÕr):B°kŠ{³ì÷2QG1=UÑð‹bßïÙ˜¶Nµn r-“ Ãzh[¦ÈùÒ¹ŒaÏàb"ïù¤óý7¾†.o3Í묓¨ ãÉE „œ›tfiÄ‘úÀìÎScy<3u<§4<[a%‹üÎ ØŠÛ 9ò3DH‹þ[Œ/þC\³‚[Ì7²åo”?›œÏËž/‚utF|¸ ’S¢+hÐ**Âȇ“QCÐÆ”é•Cu¤ÌQ°UwUNÿäp²AÜr,»ƒ/zèË-ã» ºU9g°0HÞƒ‚dV4Ì¢‹Úä(Ý vSˆ"¾fkO¡N ‡…|N.(£ÝŸì}ƒ¹bà˜†5ÚG«=íÍ&êúâÖ­[ 4úú_ÿzûÍ¿ÒçÐ9³æ,[º ˜uµÍÖ[¯+——/[¦}TJ'Žõ„“oݦõf›5YµêS¹¾6Ö¼â–aà§Ÿž8aò Ž6|HÓÍ›¾øÂØŸ×þlɸõå2Xî@¶êã«;·ÚYîJOºõèZ¿nÝ3¾TYgÏžÓµso–ÁÚ;N-rþ„ø³.¼lÙrhµS+{z‹¶Új«ÆÕ.ª%/7øýVAZú¯>oÈ¥»šgÝHY  >̳s«V<»uïQ¿nÝ3¾°ÑÎÔ±Õ¸Q`}!Ò¿f"JL \R4…3¡÷x!ª5WLÑÁûÉ ="(e§(4ËBŠ A’@¢‹íqÑî#Ö M“РŽGT*=ÎWÂìB¶CtËh^ÑÜWŒ $ ”JX*%¥–œÿÝ<Øÿ€ÔÂøËßr0uíÞõÐ>}Òˆ(%Â$yaÜ ã_{¥UëÖ`6·Úe—í·ßþÇ5?®Y³Æ:2Š‹k@ûömõþq"Pû¾É8ªðÒ‹¯ÀG ãÇM=)a¤¤Ùç·`Þ<èÒ¥ó&›l@ &¶—qåÊ•_LŸÑªÕÎýú÷5Å#ûþäÓ\8ì|Ä1wg³=¦gÚáÛ-Äþùo6˲¥KgÏž³mËmN;ãTÕ‘›l²É%—\ï¿ÿwt•ð.Ë2¯s{ÖÁq†‡"oÇŽœf`Ú%^C€ÄŠ+¦O›¾Ë.­ú÷ïoSûöíûÇ?>=|ø0žÙt éEvJ‰(¥” 5´!6Òì Ÿ£Ga"ÅVÚí ×ï–Al\ªêÓr9-×§åršêDiJiJi9-—Ëå4-SšŠ/ 9cÜ »rJårZ.§åTµRûUX»lhd|DëoQJ©dWÍflÅç©Dß5—»:`6¢£®@@)"•j Aƒd“Mj6Ù¤Aƒ¥R ä8Xã¤ËÛŸhÇ8Â@â&.°'òòË` ?Ãtr#E÷gý#OOG2sÎþC.*íÊ-é%hÊœ+± *$ƒ›r¤ðÚÍF2|­½ˆÀq¢Ò×+DŽžbûjTAä…¸YJ2OÒ™|‘@VmåŠVT['òòZb³.´‘Œ³Ñå(€:oE1íŸçpå }9†+ \[$º‡ç‰"˜8L8›wpc8“ 2CP4kà€± ¬9cUnÿy‰è'z¤ écß‘c³]…Œ¯Ìà5ìAdŠ•É ’‘V'!“ö2ÁåŽ3aE†4päR‚®Å¡@ž^¢“CŽE‰shL‘¡“y¨ŽÐBð¹à‰á•5¾²tPV9¡ÒΙIÇJާØîÉ]8ÄT’Ùð ¿C‹NŽªf2sQ½ªtLÔ¢‰J ¤–ÝHì“ívÛ 5ÜN/'eQPÁyê—~ç«;òÜ+é¯Õ²}Ln„‹ã°Ì®€ENˆõ¶0 â{-ƒ€†ªFLc’ ]›Õ ^øóó¿úõAŽö»>‡–’R»öí¾_ùýU—]õ‡ÛnzÑÐO>ž²¸¶–êëë_záåãNøÇçžšùÕ¬V­jºY“]wëTª)=þè“æþ!4=Hï½÷ÁêÕkŽпK×.?þ¸†–,]véEWVžýëMŸöe—®»ûÝüiÓ¦ÛU0³æj¡þë¹ß|òɧ{îÙëµ×ÇÍŸ¿@•1ã«Ûn¹SQäÆnyâ©Ñ×ÝpÍqƒŽ™?Ñ;l·Ûî»®^½æî»D¯KÀ2!óQ¦Ú=‹Äòú¹þðû›G?úðˆÃŽ8`á¢ÚÖ­wiÑb˺Åu>0Êäâ[ËŠ©ÿ%ÿ©NÇwß}õê5Э{·5kÖÐ’%KG ¿È؆Žl¼yÖªbØë®¿þ™gžºñÆŽtܼ vÜ~‡Ý÷Ø}õêÕ·ßqˆ1c ÚmãH &Æ&ÑÃÖq¨]§4V0×yza¼«[ÄYAIŒG°ß81븨ïRrÔrãZ3@jpHˤF–ƒŸ ¢m-ZÛ/U;®Åi +øªj9ßz¢—¶QìlsžB¦TD,¥¥´œ–ËT.§ÙÕjD M8¾O׌Rsú\¦ùÏÉ#HXã¥xˆ @d#‡³–0l¬,$?^E2—ô©J†xÎoÐm·DT‹×¢Ó]…¹kÏ çl¦¦x 4“¦¸a©Ø¾G7^)’`Å/™È„í³F•dGʼ]5fEdª…"ÍTâ&^>tV\©ñmðn¹Ë®ûF9¨y騯rQÌÔAÙ#œÍœ€ä}Ì€{êXŠ|â3¤c€o$cHeÅ^(Ó¼›®$Ln2D{-~,ÁÊ?UÜoÉÑžèÁ„Ž÷3Ý‹ ¥ÍÌ&ë`ꦃ:EJY&õ»Wǧí× rb(xd¾@¼Dåa3ä7rÉE(ªX–ƒñȺQÉe_|¡‘GQ /Zgt¦PV¡‚<”Å— Ч<íV1TÕS•K­¸õµ1ê\Q|žµ5 ,A;Ùëö%¡Þ9dV+ q‹²cGø›Çœú¯¾ÂšEë/²iL¯ÃVšT´ó¦”L†íñÁbü3Õcs9ˆ¸é[B¤Ä-Éb)$ák×@3¾˜1â‚áÓ?Ÿ¾Ã;l³ÍÖ“_{ã”A§NùtêÝwÜÛ¤i“«®½Ì—`ï¾ýÞ®ýý̯fµÚ¥Õ>ûìÕ±S‡¹s¿¹óö{|`4Áz‰‹× 9wøôé3vnµS×n]ºuï²Ç»F ðÅô/`¸WÃyn@HԪ׈a—;ºuïªþµoßΪ‚Y3g7à”I“&o³Í6þòjó€cNšõÕ,ôéÈàGô19Òä˜/0eÊÔŽ;ñ­7ÿÒ¨qãîݻ֯«áù—<¾nIYÐ3LÁ:Îÿgu¶’l¢Eq¨[¼øœÁç}>mz«V­ºwïÖ½{wõY²ì,ÃýÊ0sæWG}ìĉ·ÙvÛ_ýò—M7oúÜóÏuT¿¯¾üìœ(¹1Àíy7Å® GfÙÖ¬¯š–® uÏ"Cqµâ©îùM5<õÔ?мêPU<%HSžÁ`ÇWA}–À®Í*@d¶&PÌe3¤z1›Ô%µÈkïq²|DD‚G#þ/v!¯äRL Tš¬iÔ4H4HJ5˜$€ 1RâÓ­äÛùA­5ïGFxX4­õÎªŽ°Š?v¢#JHÕH¼qÖ¨tå<µUÄtWyT¬z«Ññ¶1”)€ £U"hs ãh°Ž©Æúã;Š$‘E_9àäôZ á²')18‘¶2¹2°J›ÊYzΈ]pÊH*Ž˜ÃÆ…,qÀ3¢ãÂÅxšÀ*ˆŒÅ"`ºÁ…2Ékrö ä Š'ÖÒBü=Ú¤yÈûë•¢ ÒÖglß‚„5ÍÀË8)•Ø –}™ /S¦ä”C)”˜ Ë,“^ f|}îâ\ зÈ9"¿š6|"|¾>#ΡwÐ_YòŒ¿©[͈ÑfÖG-~}…ăS<³þ\0ÊNpù³"[FZQ ÙÊ`}ñ²C#€ö Eð‹%a§c/€yŸ±JCÌrÃK}˜…¬Á…nMƒ›aÕÿ\'Æ‚˜¼"=žÑE×ÚaÏfÊt’‘3‘!/æÌ3¨âÏÁD'®0çÍ¢š ŸTr2±·QjÿÕ’lâß^¤gÂÔ²˜ž®²³V‘UJ×ï‚/rýB.?ñ Ö9`Ñ@€˜¼öÆØm·ÝúÐßµpá"çCj`„€555DT__¯Ö¶QÖR´F½Tl]Ê^M«}oß›å\aû(jtÅ»&˜6e/(ê‘DAÉoAÈdúÀ!y[àåäHŠÈ[Švk„Þ¡vC˜ç”ÐLBÆ07òF±ç+ðœàŒ,?/lÛÆ1`+¿Œ†Æ¹KÌp³RÄ·e#W{ʬD5Fv(Y_ô¶ä,IÏúõ€¨6Â'Èx Ñê<61ÉáµÕjbþ7h»?M!Miݺ²º,Š€Ð ^FND³ÅÙ-{Ú5ÀD~ê&Bp! ÅÚš ¦Ëeú¹\²cASÌõ7™,‚ zÒ’±q$ `ìó¬Ñva&žŽØñæX«£°UYÎÕ‚¸h¢A ¨$IÔŒˆáfïÑW×eܕШå"î—ÊBíåí“B¿„Q™®4ÙãƒÜ¨> Ÿ„Ð$öW#zQUc„âO"ƒD^)¡8#1yé±v¶ É#x‘Ó?ÉL)ij&bý€ÃavHvu¹¡’mÅõ»$.Çc}*¤ f£OGʪ1‰Í¢#”‰ÁΜ=M«—›ÚUQ0V$ì˜|¬ž‰· ±*%Æ+×±…x õlÞ+È^l¸æÈ„Š!³…sý0ù•V¶¼õK`·GÙÿX˜c6·?†<”]KQ¬¹¼E³±ü|mOXíj33·¹@¶m/ÐýÑ ‚‚x[£Ë*(@G ëð©}c£Z§U'Mpyô!Eg±YGÏÔfn†v[G¥s¸B‘ÓøGÒ" °+ÉÞTL½{÷lÙr›O>™²pá"gBj œë`í)ß")uH÷‡O[Ù,É=#T[Ž9ÌÏì`Q\1‘ë9?=j”€cükù"cÄ.H‹¸,k]Y'ªÁ"ÏtOhë›E'cõÛe[5h]Ž v†_Ê n®CYhȶ¶ñjmwzŸÃ4W9>²zØ®QcWï‡UØ51³½—ôi<©¯U£.J¨>ÿƒ(%ÕŽÔcãè&úŠZ«ü?¤|J@£H@êˆD{ÌqåªÅ…X ×<…PBH,•Jõõi}}Z®'³g3Aí¦’Úc¬-4CCU!i<Ô¶l+EDý¡u“'ÿ#2XÚÌâs<|DÙÞ•Y<Ø­!6#k…pøG1ÌJ*f…Äá+JWZwQåë5`œå‹— l¶“#úX†Iù²*¶\#Á.Û‘Š²˜ÍêKUôÇ^X$ˆaâÀá`Î%‘È+y;›5qŽô,â„ñÖ4²¶®4êÿg=äÙ ’úíŽ@Ò8€¼.Iª "Ž’—Õ,}{σš]a@Šüaº~ƒm# Ñ¢`q|¶dÃXÇT-#y=R¼-Ìý‚@+aPCŽaUW~e*TÈ•ÁïÁV ʼn‰üduv®B ª-Ås„8û\R‰6¬"{†Ö) –ëSä¶“W£´¸ï¡X@§ì¸™_üÍ!Í/G4† ¸Å†Šª]5+’Ç`ù„pbêåŽ|d]Å$Qf«Z•ELÀ|JÔ.ÆÚg]Ž?»ŠL{ÙöIiæ‰oE‹pïØ‹9¢ï¡0aük’$À–åõM3ö,4w|Ò³ÕQELÛÝÄ ±´ú9 Þ øE©ÎÑw4Šlĺ›izP죢än|›™[IÈ»Fv‚àdï'ž$h#Z,ìÖ `¾¦ù«ÚEŒjS“˜úRCL¡8* #È¥Ka˜Û¹iÞ¨a¬&^âýâå‘þÀ¯_-]šw;ÜH­6ëË€H)‚þ&¨Wž)¨~î$“LsóþÀT-s+Ï8”Bª€phX*"ÖÔ$I‚i •ËP®§4ÕŸ‘R«ÄúÈ]L‹0¤¸º‹IÞ<¡VÜâx ô P4VnI{X˜iÑõÈçC’s—Üêm 2€sƒkZ弬&¼Ç ‡àÕ*ÃÀæÌL®þÀÕ’ŸTEÕz4; hTYÄáóxHÆÉÒæÕƒâç–:O( pÐÈb¶]8¨«3¥ÂN)º‚]¿FiÏÄ:™†æ'п|Ú‰y:A}ÊÒ!¦éÝŸ(r¹mÎßV‘ByÀ2+§ ¦H¨z‹Z:wã± ’?–Ì·%wD:dn4F±ž1êx+öÑûø¢ó_ ŒW‡»>QûÓfàÈùÝ:Ülª#,…ó#ÉBǼw)¬¶,ƒM6ºör›sö]]!n‚»‹ïîí;p»wôæüæ×þËÒ'Lé©Ãâ>iÂÂÀ)”²þÚ‡‚j=¨"wmвQ &Þ8*BPkìð|h› ùG’Ú¯fìHNM3ÜQª¤þÀE9œŠFEblT¢L&IuˆÕwkòÊ‘tËñ¯;2]aŒX2 ˆCñ}é'œ‘2´®Ùž*ÿ6ý¯ˆ‘ZG?"\îtº~DÌõ.ƒä0_’Ë"­1RlÿN­7d.m\ÄÂç5å„îè]1GG·/²…Ât›Ÿ˜³,ä±,âÐ"ë(»å虨"XåQ’>›D8¤LO ¶™f±‘qY‰þL ±ÒÒR+Æ×”:¤Õ‘;î“ל›øôÎÔ7‹f16Œˆi!°¿í]{ƧœX¥I˜$&ygA¡±_)Ôšy’ 6T—t¡uS,ô‘d†yœ¯án6¿Ð>Ú@vŒ”5·d~ñï¸ ÎÜÚ4ïo {•¥åêŽ`SÈë©›µä®°ù§µ¾ ôÙȓΠ¡lÁ†¼¼@ŽÐ1Ôº¹o)é9S× æ@±ÉpOB–Çã±l/öz±÷±mÛ!‹rŒ¹Éc£T{Ä4Gç˜IuÌ–>^Ë:&‹8Õ©p,‘ÐÀS‘ˆŒÝ·ß&iZgò>fCuªmV²L³‘”Ù©®Îpæ;úÌÂqúÀÌp)뉕wˆß ýÕÐ'võ*A…2=ÜóÉ993¢ôƒÚ ëÏ·³Ë²¸¨’Õiÿ“ËâÛB†… ¢o6˜mغ‚2)o}6VŽCw¸œäZmü¹Þœ‘£[V(•Ü82ߨ|pt®ýE@5¦&ýv„B.×%©ÊD·é€tåú7)c™È“3~‚r¼É °Ólc×–æôA•Ë#ßVû‰Áük= éCƒ h¹QÐO5OHë2’IâKįñ¿ÒFaø„­ O œäì Øa;Õ&ê°‹ÈÉ­°âx"ý!ùÉ‘7äK½Yc¬ì–¥Ñ,€› «¨xÅ]fÕÐMôV^$ABR^¹³89}_‘[6ÜÈÎÙ¿H2Cü©#l•#1߉©Éo"Âlw &ÛäÚIþ€_™Š+õ£:¾ j1)íSÕˆU¢Ô›àƒ;ε_䩼?›üÚ °m/ÝÙI¾TŒ”ÆLŽGŒm¯íu€Ò'O•£T}ü¸'M\¢¼{8ª†Zdê±ùœ ¹a›®F&ËŒéÙÉ€,Hû"§®Û“œ`YˆüG[™>ÎÅ|vÖR„¨™“$åµÊ@±ˆŽV€Ö å !ÛBÈ–…¼^Ûëåø¸©#¶¿™‰Š·ilÀÁxàƒ|BQøÖ ~ë(çÔ+¾qI¸d¤²óŒךÍѽ!É5E€3ê' FÒÁû‚ÃЊALrZ€£kA¥ÂÒ[ÇC#2¼•­?vN+ªVMF­¾Þ{¤@À ß`K)S&é6@—L€îÉc~åP 5¹sT~­×Ÿ³¨’Ý×$•)?Z9‡F”ÈM2¬“çy0¿•鈔°‚Ø$CÊ$¬µLù¼ZQ¾W›K‹/`¨½«f‡tjå~‚vèçCCr³|H![ËâCˆÈ©à.™%fÝ,ÖÓHBÓZ€x¦×ÃS Ëd£Ÿ¨Ò3©šþåÊÀ}v¸áÈO·îþMúO)ñ¸|(ñä = >&)þž41bÊŸ-H ÓÄbH©75œˆ#œQžMAD¬–Ú#û¤ÄôÒÈ‘n*%)ñOœû¤œ¿C# \r˜EI¦ØH§‡¢õÝ%ÏR[Æ¥:ˆêöTQrf§‚(‡"“ÖkIcñØY+†¿‰Â’œ¥ëCú4´<ÎàtLîˆfߘ*zçˆf1oÚ¢\Gq‡#]Ѻ IDATì¡*IX‹±<%Öó(v ƒeQªmâîŠË=¹Ä!5tQd´6ƒ)`]ÎÜòKS_Ã,`ŒÉÂ|‹ ˆ`PvN#°ÉØŒ' d‘š²mlƒÙdï*ùŒ¬ºÙWŸ)Õk”U’8 X‘‹ªZÌYŶèv_ÛËcYÁ¶mÛ¦Rì‘’Àr¤öµŽ„‘ø¶tãörF”øŽ´‚ú6uzRªR2 8¥É¼Ñã_.›–VfûCª† H:Õ`±*•uDCFÔ)³¹ÃM5^1‰0OT£¯äoW§÷pjãÅLçPà ‡#\ëî2áNê¦Yz›j¸u>\ŸX¥ÉÁ”»YÕû§Œ½†ŠK\»r ö\&Éc‰öH 1¼Uˆq¡E{åV;h ’­’«ià½0r'UÁåÖ6\^ùk›ÇO¸µ2ŸCÝ”ϺÉ\ƒõŒa‘YªõÄ-Nr³•[0TØòA‰ßòð~F&IÿT Ó¿Oÿ™„ÌZC£ Tê¹ Á}í?ø=Ý#9ž9¶ô¹¬ô¡î¯¯¨\d£—œÛ]ƒ Ì£KÊ"»û,-”¥ÿ² „k>3£úˆ ér#²¦õBN̘tø„±“i̺ ¹rÉbj׀̧ъ©å²žžúš4¢3kƒaÌ[JŒµ¬ê­lÖŒ½¸²æKç#É9EBsi@¤Ì2·H‰‡Maò™Ä,SÚ˜"KÓ:S÷*õ‹1&jB–…lH/ãÚüÌ•,Z#ÆÒÚlö†ãR'%Çœ*W6 |w)c€nüE@¾ Åtˆ>d Ù…À²,@ÈB€1¶½ä8&l!d[™ŽCìx6¶à—ùaúú‹Ç|Žî…O§j"_Qiò²…‘e× ^¯m{0û.£N;б 2‰Y>cÔ̑Üq\$¾s® šçv𱈴$]S‚Û§•d=9dºŒ†1¸¯¾˜ÔŸ¹ž»à‡‡æÃ•á统!<é v^ªåL½Ó«ÏTLË[­9d9;w—ÇÚ'4×'ªüä/SnlïœIô ËÅV?As0a>ÇËݽĖÉXÞŦ6ìeÅ¥hÊÒ+ öûBæBŒb °K>Äï’GÑ8×Ïp¯š vÇcßJèZ&“EÜ’/Sé{&Úyézøá»;=¤§Ó¥ùÅî„û‰Òÿõa `e…ëÉmÛvG߀£“”@é#3nXx?f î<+ïÌ…Ø*7%&±ô igÿ€ÉÅ×:$Ê1½öÕзÂáCl0ýN&Bf™kIóOãlHŠ„'À4ÂH‹qV¹‹mrJ2Šfù‚"F‡ãSÝ·SÅJºäú$Þ’÷³±C®=V”Ç+˜yiŠî``Ÿh!núB]]r•jæN‹`]`æ‘’|3†‹ºWxQ]š€äh–ýc¶Š´ÖÅJK¥Mi˜»dª'ÍccÚªècd±k¢AX|`Â⑦š°uÇc0`òÅT¤ã¦dé 2‘)&Ð0FuË3rÚñfŒW£·ˆÈZ (f‚0-/©k(˜/j„ÁF€Ù6ݾ!ǃ-L>TûØÀ$Ø¥£3.èðŒÔTÅ'Bµ€– Ï@ò£Äj:7ʦ,Õ´•‚„,åñ"ïcüè‘SÔ¼À¶tȶ¨8S[4%$¬ƒ6”¦^ikÏÅCn#€- àæ‡µS÷ÄìAüsK:~ÄB·1£u)&(Rxä!%¬í!èxf;®$bœð÷²aɈ-Žæ‰R†8\û.z”AVa°Ü“a톱óÒªÑWìïšü›î×ú“ŸBEŠ.øbÝTцgF_«ù•bR7¢Ò£Kì U‡Õ6Ùˆ$kí3ý›3sÍ£›U?‹ñ×DÏ &ó37N¹ø¤üIôð `øß`ý˜U¬§Ã-1¡tQ–Ì2ÿ4„•q{?,Rož a¦dö/Ÿfr€ô ÇÆðÿ!Œzò•ñ$}¶‡öЦ†¢ûÕR\>@¬c%Ñ MÌ »<Ýaq~÷LÊÅ£YâC«$ùbUÝï¥u!< fåy>j(UGZeÂÄ9¶¸»L^Ù˜E³4T`>:ÿxÇ' ›D±ù™,mR[f@€fíb‰0Wyòðˆ– ÄÅ 3g Y"Vÿ‘(ÅjF†O¢Eñ ܬ#­5æGZt¤‚´ð‹ûõÀ¡ePó@ñœJöN©CÅßQE Íž±"lüÃV>WI $¯°ð¦D³˜žxâ4X‘Óm«JÈ­L VAŠ[Xˆ ’*I–"KðÎꉡ#2¶™é°mû“çt…¶›D¬–e±ú@˜mí„0ý/Ð º4D#14Øh`./ëF–N‡e+SœÉµ“bµÄP d²<^¯m{±mÛÒºaÀ@«Pðï¬ UÄ‹ôÁt­ý#iŠUiªlb† Ev%k›±7Í4ù)/32Ú’\‰´½„ÒÌÀb˜Çâ*ª‚õ¯;ZúÈš¹æÍ©ý™@ üg:±¥8Z]°éå|¡Tm?­-aËÍ„øåÕÊQ=‘쀸¶:šQ~¯R(…É‘ÙE‘Õ Í¤$-È5½g}—i½pâ%J§Òf¬rßzà̬“•Ù5"·£¥KG€öÎ߯L/Á Û{ŸH|‚vz’5t)é°—¾uÕíïéûÉ“$ƒ™—êËIœÿ) ÷‘´ö%Íï«Tý{*°Ôh•>Ùè§Í¼ÙœüӢǦ[WXÒ)Ç"Œb||LÒœ”¼:bÖñÑÁ}ÞåIžo¬ò"; ô[>šó`hÿ˜ò‘IÙ)ý1¨2ä~žòB¶×ÒiÆXtæ%˜F³ÒšT,ý R+r¸ZÆs ¹E_(ôbC~·„TÞåï ðÊP{P¥¬J­n§L¹A¬¤`Kca¶‡¸í y‹r.%ã°Ø-«¯JŒ±q }’îä ÐLžš±”ˆDÈÒÑôÍ"ÌþÓ¿’'„ègk‰°­ÌÙ"V”OÑD"7‚CEù”—,ý\%‰ö;x u-"3ÅÆê 1ºbßë’÷ã®0%seV @d5¾Â2s˜G¾D ˆaºãÑ9^„è×[£‚Tº¹Ð«Œk˜É| {‡ ‡,ù/Â^/`l›+7’ñb"w­¸“¯`p9ßH‘'_²À‚[ˆÍ¯k|«É?¯Ñ3cÓÌÍ ÖŸeP‘+³Èš¡—ÊÉ:Ó:×{öêòñ˜‘¥Ë”⦡f²ÀK–Î=ph÷C»íI<´§M›×5ê‘Õ¬]sÒä õê×C}g"â+ 1¯!#&Pu±­"#c#@À& MTšæ©Óx‰7¤e S„òä©$~C8²m›ðE X–sôè±+Vr‚Èð;¡ë“1Ÿ=zôµ×^C « õª¤}»‚L$%ª |é%“e±'BYä»Ëdý½\È"¯@>Ï q쬂xƶ±mÓuÒÒ®n†×Ƙüyi²mÛ¶1ÐW6f±-€±×Æ^›èÂ6¯mÛ6ÉOVXÐpO,¢–š7kXÕ%&J Ì­eAöìÙÿã?þÞš=G˜åÁ€k˜³€«­Á4h:Ÿ5kØÎÝ[·ïþ=44«‚“7^ÑnDë–t!ý1Ý`*~c~ >“f¸­A¼ç̓QÏr‰®A¶[¼¾%ßÚ͵ðEvò³«–š-ÑIPyUO&“$k“ÍÙu@w1[†§¾*;þœ¯±úZérýL’èeíTx»PËÕ9æŠÖ= v3v9œ©‘š–_g 'üw¹]þ0È=7’ž«E„I‘z=…"aç05Tº \?™ý—‰7V„dÓ”a#¥|¸Ôé:8°ÈZï”áJB袠>¹Bùô ã©§Ž]» 5²ä‹/fœUµNØa¸\¼d ¿Í–Ü \Tå¿”+×–ŸÙNû)É€v Ge(ß¡š¯ÄŒU’§ÒJB}z@ÆFÿwœâä¿0@…8(y1³KŽ$Çûje˜IåKÿ ŒìÒ§ôùÜéZxW¥Û;ºU˜M-º4¬ÎOЍy‹&M›5Z´`é7ã&{íÇzVhÿþƒ7SnÀs |® Cò 5á9sŽ=²fíã–¯¢´ W«òqȃë“Ë*‚ÒÔE¼bó‹ì1ÏØ†o©š8 '…ˆdÀ2yÒ0ãEx­Zµ€Õ«VñÌ|>6$$´QÃF÷ïß_÷Ó:¯m[d¦ (TëÝ”kYÑm&bÓ2©©><_¾†1Bò¨Ñ ¢“V¾‚¤ô4°&åˆDÊ•/ߥKÇ'ON™8.‘&ªE¿‰'ˆJ’[ $Õ m/¶ d2Ñi›œeYA˜$'J!„,®_˜¨¦FABšm“ÕEm{ñ~-\àS² ' O¿^ùŸÍ?kúœ'Nú ÅÈ„_’”£/™ïEò‚D7’‰AƒjoÜ%\¶|¹vÚ:uzæÔÊ2 }’³Ù ræB ÎòŶú*cù΀”_ÙÖ»Mž¼,[¾\»mO<=‹ÉÍOü>•ýÉ›©¡$ÒŸû–˜þÒ)mÍ·TS™òåÞlßöô©Ó³§'­´—79’j£d$•È ÑÿaB5lÚ¸~ã†+–,›6qŠ×ûØ …äûˆC“ö›qÎÿ<ýkäi'麥¿úÑ#ÎâÜUPëH÷“?%œ“¼Y)Ÿ<œ­K‘°@8»Ô…F š¼|”'Ym6™dJºO¦©¢Ús‚@LÌZYœDÀ°±ÍÙæQ#.à3áŒgù¡F^pP–}‰ÛÚ°JòÓ.iNQ Z™û®½Ðp €ðœáîüaõbÄ¥‹´¹.ÄLo¬¿:efû7»ž8~ªÝ[m>ùìm*B¶6_|öÕÛ=ú¾Ý£ïºŸ6rR/Àë²eË6ý»I5kר¼iKÓÆ­¶nÝʹ  N<´wã/ëøì+—‡:§‚åšQ˜pÞ#Ç,w³ì5æõdã@d6ª˜†¿Úä†33À²e¦c)Ø jܸñ£G~Z·ŽÍ‡ZËòx,ËãiÔ¨QÖ¬Y7oÞœš–JÂN,bxqì6VtTG+9NX4'PÈ+eólÀGÿ…àúÅ¢g[Ň1à~ý{ש[«gÏnE‹¶¥Ñ#znf8 1jA*›±Å°cƒ1Æd“-ÂÈô¬×ÛÛÆdæÛŒàƒˆ5I«Ó™rUïŒ  hܤlذÎãA( Ð òx²p‡Nm÷Øš5YÜïÏm¿JÖW¿-[5€5«×IÎ;×]ôÝŒI wôÐ[QWbjöܾþ—Õ.´ªD€Ï>;þÛ/·þ¹!áàöý·ï?¸ý•×Z“LË~˜Ÿpp{¡çŸÓ ·hÑ$áàöQŽà°¢cÊ'Ü>þÛ/AåDV ' áàöÍ¿­“AEæË—ppûÒæ‘Û¦ÍíOܶÿ øõÑŸ\@ppðÎ=[÷ÜöêÚë¦ÍI ¶ï?¸mÔ‡#4-%388˾Ämôïà¶ý·ýöÇúñ¿,W¾ŒÚ :ºüþƒÛ¾™ð…/éú‘dùoß³uoâ¶e+u E˦{·íMÜ^½fuNK^]÷ضçÀ¶"E‹(¼¨)gxÎݶ-Y!ÀïJضvýJ-çû£FìJØÖ¹['Ôæ Ϲ+aûâ IËvâ-UöÍ·ÚÔ®[«S·‚AÁÁÁ;¶­]¿R›+|oÔˆû·uêÖ |ôF¯l~ÇîH¾RV;híÌ\Vöj¸1ª|Þ=ª×ªÞ©kÇ"ÅŠh… ´+¸ðbl_êì Pdî šZ;Èý¤rQåÿÚ³í¯=Û¶îüsåO«‡Q @ÙÕàp(MŠGcè I©î½»W«Y½c׎…‹Q^d.ùîsýMZáê’w¡MHÞ¡Wº0Ýt èÚ«{ÕšÕßêB‰0” Ì”ÚõcÑÃÓMsfÌ|»S·Ó'O½úæ#>ɾAÈœb%´ð«uÈ×ú²%uáÏXé2­–ø ÕòIôÿÿv’£X9Ž-{ÃKh£2«fX롉©¯ä;¹ƒá{¶d[(øê«¯Rù“¥Èm@lÅ’!+̰±‘åÍ›6§§§L£9%²´^xáùråK_¼xiïîýFW„]1ÿÈì}øÕMœ:®VíêwîÞMØŸHþn\O&owïÞq±ÑZ©è˜(صk V$š╌£,s–0Œ““or2Ξù‡¿óÁBù¨²AA{ y!Wx¸ì¯ÜL¾y`"ù“ h&”D>O éÎ=šB`!ÄW3€K’©ÒgHYc©É…qéB¯žÏÍ`F Iåå䨋¦:8jÈL•¹kçsè"v ÁEýðáÃ!ƒÞûqýŠžow[³ú§»wïòl̶#ÀìC@.  ŸÀ]®|¹Fœ>}æË/ÆI|2)‹ˆR‹lFÍpÔ á_6¿¾ºV>=H!iP¸â“¼ˆë„DEF [¦€¯âCìûSðÒK/ÀÊ+llÿÞ B¨`çbcc/_¾¼}Ç i-„É.\„,˲ÙsÊ%Š€pù ¯2s©¶B\,ÀÄØ¶m²j,dëBgƒÉ‰Pt~™1(Ä„±ÍÂ] -Z¼dáâ% _ÎMþãkO„ôyESëÛô›4ä›CblÓ¦„$:(" ÞÇdó¼0?‚]mCXqH·Â$ãÆÍ`ÃÆŸ¥UÜYž«h±¢gÏžÅà yŠ-òçÖ¿€*•f1´hÕÖ®Yç¦@¶¥Âœ¡%Šâ /Qô… íݓеÓÛÎ {víkÛ¸è+ÖÈÏ£bÊÀÞ=û Ä9­•v °cÛÎÛv’ê­]»Æ×>—^š‹ÇUˆ€?¶þU§n͘øèÍ›¶ðW;¶ïÚ±}¹®¥@3§›7oöìÖ—ß¾üj«÷Fù`ÔпÿØöàá'ZB~ÜKÇÅÇÀŸ[ÿª]·f¬ÊIçPâášµªY–Ƕ½‘‘‘%JÿmóÖÚukJFÞ wÆ©c—·<ž% –ÞK»‡Ô_­N3`þôö­[m^m§=usµ Ò¥ —¦¦Þsjì¾ä;‡ßbè 5 ÆU¯~&ìóVû|éòåK–›€dš§ú8ëÝp‡œÏ}÷ç©’N?Þá5ZÝÁÁYzõyûå7^yôo¾ô†™GáÕÐñË—.[¾t™ôÆOuöGªX¨•1bÒDíÔIň«âI‚äË–¯XFÉ_Íño&(Ì,3™Tó‡|4âý…«—wìÖeýëîßRÖa§ƒý$òÕSÆ0ž Ö~ÿÿ'öç£nn–@Yr¬®3玘p{4JtÖ=r„eˆ;ÏQP  AH „!î§ÇòX–‡LÆbvޝyHºÍ'OœHEIúG\[ e!…,õf1õÑÅÍæs|•ÍÖ‚šA\:¡"ó©5.•z3̺ì.Ý;iW/DFÎq1ÿ@%ùêNšåÆ?®þ)[¶°Zµ««ŒJú†5®ÌÃmÍš7€Ù³æÚ¶WFhd«„1ŒæÈTŒ8#kKÉö£ŽJs@XÔÇ”Z#3Åw®»W‘™$÷2 ÊŸ?¥J•¯_¿öç_JP)Ö–­Z"„V¯Yc{ݳ1Çà!!'‰J§IØÄü“±H"k›ùÔ+BÈBˆ¡'DãWÛëµ½^Ûæ †I„éƒ}²œ—_‘†‡YùoÅNNŸb-—Ö>èÄ–ÓŠà˜òi[Ii8Y=2Ê&Øö‚m“‰Y®!Ì8Åó $deÓ –åiP¿!ÆxÆuB!é F*ô|¡³gN{­lÙÃòäÉ}úÔi*N©u¸–åiÞ¼!ÆxíêŸÝdxÿÁ}HO¿ŸJ©õ`ô óæÍ Iç/`ù¼–öîÝoÛvlœ2CžóùçŸ;w.é›!TÐ8[$v^™Ú¬ŒØÅ‡ÕB#Bn…ø¯×»ò‡5P!>ÆTŽæ7Qi¶$­X¾:1á`öÙcã£yl®#ÿe:1_!Æëõ®\±â,ÈGŽÍ‘#Gl\4¨Q³š×ë=vì„+X×d`6_¾|-Z6»w÷Þ’E,ŠÐ øäÐé¿g € _¾|Í[¨Hå,†‰,×° AšFü˜3 Ùè¯Þ›¹¨ ÎL%/v-â’ôÎžØ i°JñÛøcÆÕí@]+ÀI8#ðàþ„±ßœ9uºÀs‹•,näÑŽDuI5íƒëVÊ-³ÈÿþûŸ¯½ñJ•j•~\Ëvı%iFçA Q™ä–”½ IDAT RåJã?ÿø[…¯§´bÅø   „„ÄñßL8|ø/°zÍÊ¢E‹òÌŒzÿƒQïóÛZ5ë&߸«Ö®,ZDÎ6òƒQ#ùm͵n\¿€=‰ܸ‘üÊË/ 2¤J•ª!!YŽ>òÍ7_ïÙ»G£°rå*=º÷(Z¬XDDÄÝ»wÿùçŸ%K¯\¹Â)†°¬aÓ¦Ï(]¦ô†õëG ¦¿Ó¤\¨UëÖ¡5«WKѾS«Ö­`ÕŠ•¶n#„¦M›?|øˆaÆ~þùç©©©ï½÷^PPÐôéÓÌ_À`` ¸XÑâÝzt«T±bxxø­[·wìÜ1iâ䤤óäšµ«eñŽõÁ¨QðÛÕkÞ¸A4þÛñ ê×ïÔ©såJ•Z´l‘ëÒÅKË–-û~Î\>€,˜#b¤«W¯Õ­SŸ‘D?5j8vÜççÏ]hÝê•’æ™/rí?½ñZû'N²Ï 1ç +'ÞÐZŒaéÊ…EŠæ‡Ž2tÄ~Û¼a³›7“©g…Pñ%ÞêÔ±|ttX¶°›É7wlÛ6gö¬äd¼ -§ß ªT±RDDî}ûö\½z…"ÀYCò†fÍ7_–à,·n§<ûL~¯-V Rn¥DæË{õêuˆƒjÕ*åΓ{׎=W._q³|÷î¥@ê½TŽ ;Œgž¼yP±Bl`P`bÂáo'L=røˆ 8 NØ,b>1à;wîœ 0`Éœå÷îÝÕ^×kX·c mýOë/\Ü­Ç9Ãsnüm½fÿÞïîØ¶Ã‰•Wm‡Îí–~¿üÞ½»<ÈàëȲ††ýö«’/–زiË'£Æ`©NÀד¿‰ùhäèƒû~óÕø´´´C~?kîòÅ Ë…‹iß©}\|LΜá·oßÞ³{ÏÌ©³.$%Ñ×ü° paa†Œ=ûÆÅÇ6nÖ$W®ðË—/¯^±fñüŲ=Ÿ>{Z¹¨rüöúµë-µ”D0ÆõÔûø‹/$]l÷jÛ‡lò?o¾ÈÅ+ujÛéäIýH-04 b¹*^¢x‡®£b¢ÃÂÂn&ßÜþ÷¶ÙßÍJ¾qCŽáFñi­:µú¿Ý76.¶Q³&á¹Â¯\º¼v嚥 kí"¾RÅn½º.Zäî;›6lZºpñªõkOŸ8ÕéÍ·4²¤q3|üèñÂE‹ä‹ÌwâØq’kÊìéeÊ•íñV×#GŽp ‚×Û¶yg@Ÿe‹–~ûõò|ê¬éeË ¹Ý¸v½U“–FS¸H‘vÛÇJu:kÚÌ‹¬NýÆMú&&6æãF÷Ô/ pÂØñéii† œ7{îK–É_(Z´mÇö±qÔ1Û·gÏìé³(R`Î’/HŠôî°ÁïŠôRãæ7“©"}ôŧ5k×z·wߘ¸Ø†Mi-ü¸jͲ…‹¥,0iÆ´2²@®_¥)S$DäŽêÔ¯÷Á˜Ñ“.vnÓî¤Hs—- êñVçSL‘DÊÀpC±âÅÛw‘zÀ¿·}?cVrò 9ÏGŸ»°°h1v(R—žT‘~ݸiÙÂÅ+~^{úä©.mßr`Fð÷Ÿµ|奸Ê7þl0,ÿaú¢JÄZt ÿÃ6£ê~šÉ;š†ùä ?à²RâMÞ[ˆ_ ÁVX‰ëL¤«Ä¸ F [ÊœM¾þQqØ2Ä ¥î¦²Ú¨,ºM! Ñ£Œ)}ÒÎ<1ÃHò“ú9¢ÅàJ²“PÛÆŸ9:ÿ3‘GŽ}¡È qbg̙ڡmWz$À_!v┯ƒƒƒÎýsþĉÓÏ*ФIÃêÕª¶mÓùüùó0hÖ¢ñÇc>€S§Ï\»r­UëæÙsdsb®P±ÂÄÉc=Ï?gÏ]º|¥E‹&9rdl°o–*]jÖ÷SB²dÙ·÷ÀÕ«{‹-Ò¦í«uêÕjÛ¦Óë×¢N:"óE§IÕEÍ´yLé2oÞ<÷îÞ½u+ʼnBN_~õyÎ9vîÜU¢D‰Ê•+FEÏ~ã•7NŸ=CÞ=rŒ¬|ÎùLdþ|Iç“nPã‹àñ£ÇD÷Ž>v÷Ž1†GÝ2I±OøöÛ›7o.]º¤xñbuêÔóý÷íÚ¾y ñ'²fÍ:S§NE=zôÈÑ£aaYË–);f̧Ï,øÍø¯5ªT­­[¿4qâ„K—.9 @^³úRë—`媕’éEåÊUžÉŸ÷î=ç“Î+ÅœŠ'ª|ùO?ý|À€þ~8jÓ/›>3¦K×.Çßµs׉ÔÛ¨P±âôéÓƒƒƒÿ9ûÏñÇ =W¨YÓ¦5ª×xýõ7Îû‡€=rä(oddþüù#ÏŸ?ŸÌ:fxôè‘h7 c‡Ž¹~\»6[¶l›4ûbtŽœÙwîÚ[¢D±Š•ãfFOnûzç³gÎ,ý¾SºL)ÏÕkTž1g2/»`Þ’­¿ýIÐîÙ½¯DÉbq±1?^¤CWÑÑQä9£ÏñkÕpÛ¥c׺†$þ *ºl@€'a_âƒ÷>V¶|éð\á)))ÆxšÁ‘I¤ÄÉÆKæèù ÀÕ«×Í|‰q$JHàÀW_záÂÅ¥‹(Q²xõUÊGMnÿFç³gÿ‘ÁDE—õxö'>|pÿÈ‘ce˕ϕ’rS%BCCÿÜúwZÕ¾ýfrllôøq =_HN“f?üd$œ>}æÚÕëÍ[5Ë–=øLyòæiѪyZjÚÒ…<¤¨I³&£> gNŸ¹võz³VͲK½ ÂðøÑãÄ„D`ÁBÏ…‡çT&W^yòäiÞªyZjÚ²…ËŒ[|åø¨˜òФy“Óf^½|E€Ëc•-WfÜß¼Ý÷íaïùmóïß|ùu»Žíúê·ï¾S'N‘l±ñ±ã¾tþÜù“'O,X A£UªVéҾ녤ódMɉ£'îݹùœÆvB*ðFÛ7rå ß°n}XXX½Fõú x'o¾¼ãÇŽçEN<ÅØAeË— ±‡ì ýºé×: êÖ®[«c·NßMžFž>($4dæ´™§NžÔFY$qªÓ Ì•'†+(ðêå+ÿœý§Ðó…Z¼Ô²Jµ*Ý:tM¾¡w⯽ùF®\á×­ËV·A½·û¿“'2ïÄq‚…Øøø/Çõx<çÿ9wùÊ•ÆÍšd'žƒ£*A¦È÷L$ܽ}‡çÚòËæ2åÊÖiP—´$ÕªW6oÚÌŸœ–äV¦\YÁ¢šbâbÇN uzJªÓ®ou¹@}$(^¢ÄìE߃)y½Þšª#U‘¾ùò›^}ÞòÞß7ÿ>þ«¯ßìØ®ïÀ~ {÷Q’ÄÄÅ~9a\PPPÒ¹ó§O.P°@½† *U©Ò£c× Iç °“ÇN¤Þ½y##óæË{ñÂ…Y‘ë'÷¾Úæð\á¿ü¼>,,¬Nƒz½ú½“'_ÞI_‹Z8}J¤´Itfj˦_kÖ«S³v­v]:Κ:¼ë?t`HHÈœïfž:uÒaíÜäJS¹òQã&«=`ë–•«UéÙ±ë ‡"™Yøf`|Šg2¦=Ê I;W®ð¿ÿÚÞ«{?ŒíÀ€À÷G kÞ²I÷ž½;ØÍa‚ƒƒF³võO¤æúìÓ¡ã›Ý{vzÄGTï>=à«/Ç/š¿²„„Žùl”S&ïôíîñxfΘ;yâtËöÕ×cXŠ¿÷þà,Yö¾yóoäÕ;}zuíÞ±wïî~8†Sù[·n@Î𴯕'Y”¯ TQAg É’%øÆõë|ÈE Z–3<çÆ›ÆýcÛ²<Ÿ}1¦iÓ&ºvùÞHRSÇ PûôíÓ½G·9sæ._¶\ÆOômĈ÷ }úöéÞ£ëœïç._ºœí•Å,Åžóû¹sfÏœIæø:uêtõêUD±J–zqÎì9uëÕw´‰‰‰)))áááGåk5e^E ‹ˆ‹¯P°àsûöŸ9sš cj ¡Ö/µ€U+Wˆ olHˆè°Çã™9sfrrržÜ#Þ±xÉ’ÄlOž2©b¥ŠÇ#eFŒüÞ{ï¯Y½ŠhüÀÁƒ:uêØ«WÏaÆ‘V0|Øp"˾}ûöèÑ}Μï—/[&ì8åa”Xz£MbOfÏ™³fͪ¶o¾ùýì¹W®^ €ñèÑŸ  Þ—°G(ºÉ ôÉÇŸÅÅÅvîÜqÝOëÏœ9Û a½Zµª=zlæws¨ÌèØ]~a!‹µn¬Fµ0ò½ÈÅÛïôèÒ­ã‚y‹Vþ°±&‹¸ À0`ð»Ó'O[8w.F%8xØûïÕmP¿s—n_~ñ·ŒÌRBŽì9«V©–ššúç[eÅE¿nþåØñcõë5¨Y³ö ·m€Ö­_.^¼Ä˜OÆØ^xøðbè‰ñË‘3gÍšÕîÝKݲy+•„¤¥¥@jjš°9ÌÌ“ûœ9slúå·ñc'bËãùäÓ‘›4èØ¹Ý¨÷?!ù‹+'ÍF䎈ÈÁo7®ÿ•s¹gÏþ¶í_‰‹âk1¢cÊ9/J ãt£§…“Äœò¶mÝ’¿Z‰> ”rT¨  abÙò¥ã+Äü²qsFûîL¶Ú‘^~­u¹renܸq !Q´3•Kк=‰ø"ùîÝ»·íÏmfj±-K(ÒÍääþôçµ?§Wßw^oצC—ŽŸ~H‰_téÕ£}§K.^»b•¿H–…zu¢Š´xÁÂï—,hýêËˈZøæ !B˜ýæó±QÑÑmÚ·ýuÃ/çΞ­Y·N•jUO?±pî|Epþ¥~ƒß œ1eÚ"¦HCÞQ·aýNÝ»~õ©A‘zu6±pý* )ºôêîñxæÏ¡ŠöÑgT‘Ì#Žwn߀9sd‚héßD°"±è ÉO|GWGœpž =.þó„åБIH‹f…Ó :uÄ#,-Ÿ!¦Hõ94 ´æ™ÎàR»IÃ\8-jåy4™û½•ŸwŽŒú9Jɨ»D³âß`Ñûˆ=ÈbëÄWLTOŠ ”Z ˆf,“"ÑŒØÖR=’—fŠø«,“&L%ÿÑãÇߎŸÒ¼e“¨˜òˆ|¤0xøG^ŒO8Å7’.˜·¸CÇ7K—y‘‡•‘ù###ó^¹rmÑü¥äáýôôùó×!„0BBBJ—)•––þÝÔÙ$º¸—zw•*Çsv@xxxé2¥N?¹y³8‰dÆôÙº´¯R­²µ361 ß5ÅbZQDû²@X¼‹x¼K’E¾ú+Í‹Á©¶ƒƒƒ'OžBäfÛÞï¦ÏlÚ´I™2¥tZ—u󌭮ä VÂ7GÑ¥¹‚ÅK<8*ZY ˜5k(ìÛ»q9\©RD3»rår:5ŸyæÙsçÎ=~üÈAD ðRë—`ÕŠ•#3,,¬~½úiii6nÇ™è{DRÓR1¶É+iidNïäÌô´ ;î‹Q¾ÿN¯~ÇzüØûþ{£{‰ýþ˜ 6ØÒVaï°x‰jf5C3bÀ+"¢hñ¢×®^Ÿ?gFatÿþƒI&ÖmP¿B¥JÄÆ°&OÅR¯^ƒ€€€õë×Ýp K ”t>)é|ãFMÎûçï¿ÿ$˜Ú·ïpüØÑ;þ¶1¶<€Û^”#Ô¤iÃÀÀ€µ«zøà>#¢íIêJé’ãÔ4!tÕÚO›L?áˆídzfÌkܤAé2%¹Dz÷@r’ƒ—V¯üé£Qc„¦I{w“m´Q„±àà,¥^,ùÏÙst–^ë¬@+­Þ#€ˆÜ¹ö4øšäJ“–s'L7ÅÆÇÀþ}‰€Ð„ÄöÐ&.>fÓÆÍ: n)""â»9SÈõ3ÏäÏŸ?ÒûØ;fôWdQ¨a7 rÞ*<ü°œ…F­]³®s·/–.©°ÌN„:°?¡C›¸ø˜_,ìØ¾ë~zzÇ.í:ríÚµY}põÊ5Í"€ûé鋿/©U§¦“ÓÈü‘;÷ÓZxôðÑâòŽ$C[Ê¡ÝO_¼@@{+2äö})¡SÅ«úÚÕ+/5})2ä…¤ ?2öþéiéAjZ¤§§#i©©=G^/£ß1æ3]6ÂK.~³}›R¥K)¾—6‚ˆ‘gF¹{°ñç_è)—/]þë¿ë5¬÷b¹ÒW½ ë„Ô#骃àVJòØÏÇ~üùÇCß:¨ß w‡ô÷>ö~òá'ÞÇDÛG¬Çr4 á^`ˆˆˆ(Z¼èõ«×|?Ÿx&>˜<~b½†õ+V©Ä3s‚6­ÿ…ï»réòß[ÿ®Û°Þ‹eK_Û|²d )ùb©ôôô¹3çü©©÷Ï__1^å€þÖkÔ0:&úùÂ/…Ö“¾þöᣇÀ|²ää‰ ¢b¢Ë”/{ð̯Y§&Bh˦ÍXíµd|õÉÈÑ6ÆgNâ5³lá’6íÚ”,]Š‹íÒ¥‹C äÒ½zw?=±.2=-À Hc>mc|æô)în,_¼äõvmJ¾XÊÑ>ɦ ¿`°Iž+—/oûãï: ê•bµ`†ƒœàÖ­›ã¿;jÌLJ>`pßý½^ïç£?ñåf¸¤\Eн~í:‰fàÁÃS&L¬Û°~…Ê•Ì,°¶ °°å*„„PEš7s!7õÞ½% ÅUŒ]6"† “ø–ÿ7÷¤ã!å—‹c(kè ŸÀzú¦fÔ`rLÙ|¤Œ8‘…¡xˆ.ëV1h«p‘üŠÃÓ–3Kî>ˆààE¸zb넹·ÌþuÄx€åÅZF`ê꿃6.¯°c† €ø!±"šE=_†äã;’KrŸÆªa垨¾k 6ÅMc3 °ˆÿÆ›éé霻ää›iié9rd—!?~<¹#<êA@–,ÁL8{¶l”tA&àü9åräÈaYÖåK—>zH¹BèÌ™3s"337oÞzæ™ürñÛ·îDDäüÉ¡ª¼„رš€]+‚ˆgu±ùJËë7ÒÓÓ¹¡¸rå „†„ ļ~M ‘L£ÓmÑKÐr))·>¸ÏÜ¿Ÿ~çÎ9r²HùCÅÇWøðþøí‘#‡<`‡ôè]½O¿Ÿ~úÌ)‘Aç^ ÍÚ¨Q£û÷ïÿ¼~Ò:@“&M³dɲjÕJ2SLÀ†´X5aÄr`8vüB( 0wîÜ`…d €,ÁÁ,vcážØ'@NuBbƒe¿äÚµkò¦‚ËW®@¶lÙø<>–d¢Ìþa;ý7lØØ aý êM™þmž|²+}£(ñÀÁq_N8ì8æÀÏtãF²×+Ö’…¬¡jš5k©Ò%/_º|ýúu@4¬‹qºEÜÿëÏíµëÖ\4)g –3dÏž .\¸ M:Ÿ¬O$‰ü>¸ÿ`çŽ]-[X‚ÏÞº-NL@4¹ZΟOgòÛ9{pÿÁ®» *6:[¶°‚ž½së… ›g¸ŸžþÏ™³\%%½Rlš¹%ÉŽl ÌaIýipp0§›EÁj(*–nÜP6^½z ÂÂÂ|ón€…`˦͵ëÕ©S¯öדÆEäÎ=cÚ ±ì–s.²cE ÒyxD8$]H’OŠJ¾qƒ.9Bì"î€áÚ5Î@Ùsä°,ëÊ¥Ë=äÐÎ=k@\|\Ó–Í=ztìè±y³¾ÿkë›–زisTLtu&&’75ëԀͿüê·ÐDRêÔBœ% >Kñ<•]}èèT• MJŠtŠ"P‘jm0S)YU$Q H¡ÓŸôÛ¯›kÖ­S«Ní/&ŒÈ{öw3ø Ž); €ð\ápáB’w$'SEÊ ={Фõî»§ºBpv½†€®¹•ë)F³™#DEìR‰Ü&5ÁêcM+¨F‘ÍFþJ´lb“LÊÛ>éªmc 6Ž'¸$Õš cÀÎA1ŽÓWdêÇ/¥rˆÅ˜ZyàÇòhÖ²Ø×IœÑ,­»ŠM¥³âfÊäG\2˜Í\Ñ.=ÚGꥼ^¯‚C‰’% í]Îãñ8(=¯íµe"´sƒé¿>|(‘†<|ÈÐS¶<–•*Çÿ¼qµ†’'UX`ÈZ, KvDûõ­^R Ç|¶[f2d(l¿%R+ÌU‘¹’Й($ Hl 0î«qãÆŽ£3ªì£= X0R h„§RýñGŸVªT1::ê䉓3f̬#;Šï! òq0Í)TÚ Æl˜…Ž€-°Àöz±…Wiô! CãbE‹-ZìüùsGŽ’gf0†ÀÀ ìÙ³………å˼QT„ IDATyñÂ…\¹"à¹ç _½z%WDĽ»w[¡b|ÙòåNŸ:=ö|¹Ïd¼!S¢ÜZäèG]ÓtñbÖ¹eê·§~;Q@ó ƒ Ž„„Û!ñ‡ü“„²<Ëóû¯¿õ4 vÝÚÇMÀØÏ•«\T¹‹.œ8vÌÐ3JÅK”xg ¹NÕäËܹéì1Êl/Q¢÷€¾e3Fš‰¤)Ò´‰“¦M”)sqÏø/ÆÆÅÇ—)WîÌ©Ó ¿Ÿï3¯+dªH^wER“o2T$3%(ƒ÷ÿ«ôoqó6'õÏîPýi¢,6=äOK2d“×ùjÎ]ä |}(ݼ%õÁrljbe×N}åÝZ.¤ä8Ê%9õÄÿhV%@¡CJ2¨&äÌÈ«•Ï…«v(ˆ}4œ¾âfˆF³Y–ÊÊ'?‰O˪+%åhÔÁ·¡¯u@ç”fä`P9yä&þÈÙs§z<žY3ç?v¶½(88èó/?v)nìò7>8ÁpèàáY3¾—ŸPÂØz,eÇ€ƒÄ¢Ò„$r®qX‘ s˜ 0žÕ‰0kMÀ#xŸÎ XÉ -q À?¬"?s»%.; bAU ¹Eb)?í„ïܹýƯW­VµZ•ª%K•*UªT‹–-[´l9â½á+WþÀ¢!w»hðáh"!ëŠU?ðœýHFüì³Ï6ÈH“m{‡ö7¿r’OÈùíwS<ϹóO8i?ö‚ààà‘Ÿ|ä,ò”R¦z*RÞ|yÃs…›Žóü·‰ûO]QäÈ|Ëÿ Kÿ)'þ£óÃÄcÇ)CîXc°óÏE< Íô‚jfh+:ÙŒâ8É-ó6íŠP h…©4ø†O+É$sÄÄtAä<_µ$÷ÿ3§EzÄ‚ºÚ,¸e0ù®,ã# H^)…k&ÚŸÜ¡à00X–ƒæ1íã•Þ¼EãÐÐï¦Îš2å;^8$4T£…î1ðX2ÉÒÑÍTOÉ>–°l|)ÆÙ²gg7t¿±×¶ %åÖ–-¿3™c]‰¬?¹}ç¶Â¯9Òo+/ÉòOàç=~ô(ýþý\¹XÄe—¼J9*þ Tý> ÐIͲ¬¤|1²>Ä  Äb©²Ø 9 Þ¿þüã¯?ÿ ñUëV­?óéÀw­\ÁbQGËÕIÕˆÂðÜs…âââ.]º´sÇN¹¹xé¥W`ÕêU4Îd6D4 ¤‚ãì±}Ý–e‘g­Zµ :eêÄIßÒQ" ¡¡YII[j3šq”ªó¸Y®oÅ?Rƒ=Ä5C›¬[Tœ%4ţ£1ÆÓ§Ïêѣˇìýv_’…1Æê‚£À >²V“µ48²[kceºÜÆãñ`›ÌC3›l¡ À zõx½Þ_ÖoMAsæôé!Cß­Y£vÓ¦Íß{(éž[4oÿÁ¨÷àÄñãÀÆ?-7jØÐëõ®ÿùg°0Âd-åHnX€á­W«T7==ÔÄÍošÏîT7—¤TàÞ½ ¶mGE•CÈ*W®Ì™Ógåc`•þ$_½‘:"=wxòâ⣠d©â%K)ß½Œ«`hµ5Ë|Ƙÿ¸f]›v¯·}ëõ/ÆŒ•Iâ…ýã] nÉa¡DÉâ%ÔOwÆÆñ€Öa3ê*”~Ó¶¢9cžÔ´ÔÅó—ôèݽKÎb¾”ACjqšk5úö6@ZZêâKº¿Ý½s÷΃ûRC¯øgy2ʯ0@ãfCBCæÌ˜3sÚ nBEêžx¯ú‚ßÉiÝ5¸ÚÉYBBFŒzcõÉdž ™7RhCX²d‰IS¾îÞ½ÓÌÙS²„„H싘³\Š/ÂìˆÙùäää“'NåÍ—§]‡v¼¾Óÿع}¥” £5nÒ ~^÷زe—m .\äÌÙ3ÜÇ,\¸ÈYöñdàóÚ@ã&ôp©À O@ ey€ `#„-‹ÔNøÀA‹V͇ X­zUúEŒ»š3­³ý{wïóx<¯¼ÒvíÚJÿéìŸ3è±¹Öj…r‹áÂù P¦ì‹AA†¨&.>Ʋ¬=»÷ Aþ?öÞ;0‹¢yŸ¹'„©R¥7i)ª€t‘®€Ò»¨(Ѝ( ‚€¢Ò¥+‚ Ò‹Š ‚ ½w¥§Ñ„ÐÂsûûcÛìÝ=OÄ÷õý|ë#¹ÛÛ™ÙÙÛHJH<}úlá"…òäyÐÑñsgÎ@… Zž=sf󯿅†…¶m×Zd1g¿Ðõóîj€ 1®r¬eY;e’Ϩ.8×`æ $ÄÇÇÇ'äÍ—§ý³íxvxxx§.Ϙ€HIIY0ï+èÙ»»BVC{¦=³°ððŽŸ5Û 8ÕÁ”§”×|ùtïÝÝý4o¾|‹W-þ|áç3çÍÌ’É r@Žq¦ g/@ÝõÔ‘9sæ®=º:›“Òš˜%K• °ŠKW˜k±dÕºoå*•[¶m•p!~ú”ÏØ‡ïJMM}ñ•þê œ´×¥Ë”=nLçî]ÆM™ NwÓS+\ºtñıãæy°ƒ Ì™3÷{éغy‹Ô½n¼½;â÷ßݰ~£Ïç6âÝb%J„‡g©Q«Ö“­šêo«§Úô8 Rå8)þ¯h⯫W·oÝ–+wî§:´óù|?¯ý)mÙq.œ»uê×S®{æÐÌ»w¥…)8w+eŒ—JºQÐvêÖ5Pù¤ÄD(Q²D`/™èVªR¹yëV ññ3¦~Æ€9*55õù—û{~ʵT™2£>Ó©[—±“'„…‡;º­©=a¤ç^|¶ý¶Er.¤Ó!óûïn\¿Ñçó .©z­ZÍZd$ž6i [6yu)Ã)=óßýMiòô½$í€(Pµ¦ ¸~Úd4ÉY^{¶Â>¶Á¶™í·ýw™ßoû¹Gl$ñ] ÈÄ5Py¤®D]*A‘@¬£¬ý§e=u¸àä“”G<…ž `²51TzzUGsž¥g}¹±'Ž€BÀl LFT•cêî§™@—k=žzÖ5;í{åòåR¥K®Xýõ©?Ï”(U<¾|·oß™6e†ŒÂÒ%Ë;wyæ±Çj½xþŽí»Â³„U{ä‘õë~‘ ô¶OÇM5ú½× hÕ¦y…ć.óë¦ßhã|øØ'TŠ®óí’/yþ‡Œ­P±¼Çé2bøè9ŸOwøvÚž={¾`ÁüåË—KI¹ñÉÇ㙓š6m[)æÄ‰“¿mުƉ?Â@@¤%ß.ïÖ½óSíÚ.Y²òø±cú˜lÆùؘ5ò‚Ñæ6lؘ’rãévOEÇDß¼q“’_}åU ^+¬_¿n`Ê«íÚ·‰‰åçë$&%½ür:XW¯^Í•+÷kß{wÔ­›7ðÏ?O͘>«ßó}ÞþvßÞ/ÊFEË=TCÈš52Göìñññ†N‘^íÆ_6¥¼r£íÓ­£¢£nÞ¼IIɯ¿:X)Í?øx”O_x©_›§ZÅ_H(R¬HΜ9’“fL›ÁûÄæÌ•ë‘êüuõêæ›óÛ¦«'œ€VÑbÅv|ó;0@„¬Y³åÎýàÉ?äÂ3j78gÎ\U«>ò×_W·lÙ„X ¢Ô¶_¬Dê"@¡B…†½7š5oR§fs܉À ŠtÙ’¬»}ûîŽ;ÔkP‡1¶sû.“+5ŸTŠ‹ž=wš›û}@/úøÀ`åŠUí;µ¯U»æÜ…ŸïÙ¹',<¬rÕ*›6l$ET“ 7ÿºéFÊÖOµŽŠŽâ+’ÉÉß4˜©ªT1  àC…†¼÷–D GŽSg V‰¿ÿÞÛï@–ˆˆ7‡FÄ1#?¸uë& œþóÔ³çvïÝsÐ7^{q€ÙKÈ/¿A™-[¶[·œ¯ŒóÉÇ“Æ÷y¡_‹6­.$.Z„¿H9gúLäèzÐ( ñ¦~:):&**6zîWâx¡ ŸŒ/[¾œ»äÃeËô*Ô®óèÓÍZz@—ãýóÚŸ©Q½m‡§àçµÎ¯R,Thð0ƒnÙsä˜4CÒ->~øÛïÀš•«Úul_³vÍÙ >ß³kOxxX\Õ*›å˜ºÍÔ{q*Ðy½fÕª§Ÿm_£VÍ™ó?ß»{OXxX\•*›7n P¶lÚ|ãÆmZWˆ³LròÅwÞ|+#°‚… ½9T¼W¯2qº&Ȉ!ï@–ˆ,¯¿=?õçŠÓžš7gn·^=¾õÆ —8@çÏo2’㽟~üÉGÆ÷y¾_‹Ö­â ‘Œ4c&E/=™6qRTLTTLôìù‚‘&Žõf$žê7lX1:êÏ“l߲͛0îäVDÿÅäD £žW°ä&:q¼?ŸÊHA €Z×L<C&$­`@”¸aàaZ}Â&wb*] b¶OÒü^“ê§Üƒ ÷‡Â¢{S§Q€ÚxôuüL‡§ø- Ì÷UÂç!Æ#ƒ¢e‰¯Á0ucjáx³L¡±æ¡áBÏž½víÞ]¤h‘ØJ•b+UªX±¢C°BBB^cж­[Ë—¯;wî;vtíÖåÀ}tÙèÑ£~sÿþýÅŠ«]«v¹råNž<9jôÈñŸŽwïèØ¼iÓöíÛoݺµdÉâ çϻŰ8Áx1(ŠKP9rä¬S·îµk×~\ë>ðÆ-#_ÿÑ"ÂvùòåvO·[²tIDdd›6­ãbã¾þæë‘£F’k±€„Ą޽ûîÞ³§H‘¢±±±±±•*V¨ÀKjQœäB!,K–°X‘bbb¢ S¦>X1±1åË—ãû¢¾örþüùW®XóÛæ-rÙgLŸ{üĉš5«·mÛZ)~±iÓ–ß·m¿yëÖ7_/å‘dùDÑ€°„Ä„ž°wïþÂE EÇDEÇD•¯PŽº;wîî޹׺ŸÖ‡gÉSñnêÝ¥ß.íÖ±{Rb]ðlÜ´©ÏçûáûRïܘ  ¹L”)Xà¡°Ð0ñ¡,Å‹€?þ8I9ƒ/›5jÜÄçó­]ûCjêD@ ,øBÐò¡eZ €¡%¶¢$''=|Œ1öËz/‹ =îÒvˆ nDÇ ìܾËï÷‡‡…<ùÇåË—dx :6Jÿb¢¢c¢DÈëžfœ×_y{ÙÒ•ÀA)hP¥JìܾÓQå÷­; JÕ80¥ÞxÕšKUéU²-›·œ>u&gÎO<Ù˜Cô4*&Êñ+Q²„>ö‚T@Åffœì—})iŒw¡r•¸àÄqë÷«¿äøÑã… .Yªä÷«¿ÿl’†Fõ1ÕïüLªß +©%4Àë×Í_=út§`ûÖß÷ìÚsûÖí5+V'Æ'xƒ ÄRRõ\½r¹GÇ«W¬ŽˆˆhÖ¢YTLôò%ËÆ~8VSW€”8à…ûöî/T¸ÐråËšCç&#d4Ä‘%¼btÿUˆª!™BTÎÃeæu_xùżùó}¿ú»ß·lUÿröœ*Þ¯ÿ¼ùòý°æ»ß·nUÝûrîüq²jµGšµhá ȶ­[wíØq}tž´ IDATëö­K8#9ӞݻûuïµaÝúðð,¢*Þ½{wÅ’e}ºöP§LQ›$Í”œ”ÔãÙ.Ó&N^ûÝ‹}óbïç~ùÙ›‘ öc 2Øï÷üÁ‡Léá £é,óoI¦̸ Z!ÐÏSˆùy9àÚ½èÈË«G ‚«`‹¨,è ÆÚÕ`$ ëø10Ü †ä¨è ®pnjɕ~êu8µ|6Eš_£œ(Åš¿6pQ<—1y cæÎOi®ê è•8;‰=ªuµál0VÝ"dÒ/úñ5E/é³*”<‘âX~u†R`:1æÀ@·àXêk(zÙECED±¡óã.œvq‚žùóçûní²û>Ó¾ ¡‡@ }\BÀØJ±½ût¯Y«ÆÝ»þ!o½³fõ÷&ú×ßxµH±ÂP¨PÁB…=ò“¯,Ò»ƒ™³û¯¼Ú¿s×gü~ÿwkÖN™4ýì¹sœ Lû<82É–R9ÚL-=ÿâ§Ü£/2ƒícZOû|!û÷LNNª]»&musà"¸'Ñ<ûjÐÊ!w‘‘YýuóÝ»wkÕªAÖàE¡N» ~sðÂ… ßygh ˆÞ(È¿™C3#Z¶m§¦¦rÑa6c|Eˆ1¦ÆH­¨!"³9Ýé ÁHß]°,ä¶™-xÊÅ„«”"âüˆˆ> -%ƨ$"Ú¶ÍWÌ”\ °œ‚šÄšœd7:ej}V°l]>9JªFTR)Ô(Êk„/-(R¬hŽ];"›”ÀUdÛ"£§ÿ%|+/?Ÿ» H‘¢½zv=vü(çE^Üö3¿ŸÙ~fÛ‚öŒÌ^Rë‘aöÒ9Tµ€›M™18¨Ë8I*»éÑD°ÄÀ-9žé~Y#Þv*“ˆ¤ }@ˆŠ”8/ÿwº"9ßDTáèàEY+ø} <¯Ë€€ó/(\¤ð3m:œþóTZ“²²šUms×WÀ‘"¥nt¦ÃmlCSZ‘x5à8ëe ê¿Ìû‰ÃJðàèŒ[+骔/_¾E+>x¨w—”‰ã$7è9.ÀLxß„âa¿¦¯â}Nxÿ£8Ü[ €­'»g(åÍ—oá²Å‡êÛ­‡Ê¬Ý©[—ªÕ«ùýþ‘ïÿé{¹¹æ?A™ 0KF I^Vlz*QC† Kõ–cº7XL½T' eí” ÇËU=îŒ.­x–×Ö¼¡ªPÆ ð„ƒ`œr,—Äõ®lJnŒ:§ô@þ©7=<¶s…Óà=1(8Ú£#Zí†ŽÖŠÍÆÔ•%~ Èã„™lVYnæ”Ú|v ”Û’vºl?@§eØÓïqK·‡LƒGᣓñù$góoÈɤMÉ­‘ò‹œj{T媕àÏSgŇv™®yãj>• Ö{¼NÍZ58ôþðö8èš|µ—[±,9_ÕìÎ×)øöS¦êÀØO&ì?ppÀ«/>ѬñÆ ›Ïž;g‰Z7”„L„æÆjê,FJùk Ö¶$µf"VBEìÚ–ë/â$e€ÉݺWz¢Y³ÐÐЕ+V¸½Ylݪ5,Y²˜â&DØpK¸3fJÓù~¿_y³Œ1\e6‹s(®@DË®”xmå\-´À²Á)y>Ë@Z–}&`Ï<¦v6êP>èAF“ÙLÀЊécø ¤ #‡žTø7%5š$ý-Õ&g¤3§ÏÐÌZ=Zµzµ#‡ûð£C‡þ34q0ó*®!Iÿ$`zÀ$í$ì G¬M=U‹ýÊt–aÒNBU€é7ûÌ-ŒÀ'“¦×ôíè…éK‰2( lC ô•ŠÐªx,5XÄ^MáØ€°õS'i\”pL:÷¢<†Vë`IMFeÈqÎÜ>æ5ø° T«Víö;»ví&|ꘒt 6­T-X¦Ì5j=rþÜ…cü€;fŒ$­¬nøÎp}•ÿòž“ý溭K:Í(Ú¾û%''ת]Có‹ 3Ê.r¥ÀT¯ˆh*OPÜ)s¨¡ôìw öŠi»hîÐÍ€tcåàÄ€°°pÆì;wRÕ®Î8®6cÊÑUÝAÒÛ–%æ%- U&‚§ÃÉc›~ÛfÊg’›¿4@£™¢”…'® «UØ)ÒmJ—Wv€9?¡AE‹ÚeÊ¥æ5-©PeË€H›—¼„ÀOr˜;äÕôKŒIÃÐ:œgѶEœ–ÙŒ/q²xH¢[ø< ]BU¤‚Ó•V§’/õìÛý°O²ÛpÎ`2tK2F30JÒ!èª÷÷jÒB6<ãìe<¸f€@šµlþdË'Àçó|¨@Ö¸sû΀ç_Þ³kw Vü;™x™3'f=Á/L /æÆ×zæðJéça5¡è™È»Ó ¥›­Ú¶º^ýzü:,<¼D©’Œ±ç{ô=¸¿'½65AÍd4áßcäMÿ4üÿHbôsqÆÔÌs¥6íž®«)L0Ò ½úÜ¿_ªr•ª·ïÜÞ·gÏýC?xòBÍlª„Ý$@ avnD@ÏÖÒ`bûR ’úšÄ‘®¬rä#OÛ<ˆªŠMþ¿>É´3‰í iÏ;’_#s–¶hщF„V`£ÝZJ5™ã ¦©r¤þ`ºŠ‹¶ ƒl® ˜¨ ¥Q2øGÝêg¼°§÷&Ðÿª¾«â&½5b¬Šë±O£÷£R^p“ñ±LeS[Q*=i¥‚òÓ‹Ìò#Ì ˆ‰æ-]¿ž²wϾɓ¦ïÙ³WmÅL¤}3¦|Š"à–­ÛÐaÞ4AZ…vÛ}iŒ»l$5õÎ/ë6JŒ¸x1i{ÑVÅåA{³ lWŒŒ&¹ ,O‡Ý£[–¡e™C”ÈsÍ™ò^l=@cÄÒžô”[@ûŽ"¢1EJ—º›‰©D™ÑäP¼ ØBGjIhZʘ$¨Žëº-<.¬Œ1@Ëhø"0c[ú´ŠŸ%GWÙˆÓê&¨Ö710©ŽµÊ¶“Š8z%QŠ’´öé` 5·GH„¤ÎcµšÁ”´Ë¡PÌÖ˜ˆÏž §ü`c¶x£Å¹Þi?zH 3 Ð{ÈóΚôâ€Þ.;šëÎW&sŒlšÓaý:À˜r’ì7Ž,¥ÏÓCÖ`äbJ 8fÌê,ŽîrÌYB.%ÄE=È›7OùŠå€1võÊÕu?þ׊¨M €`ÉÏqÈ5AyÙWæ·mÔÍ£Ô›L";G$â5ÿÉ·jQ®1:ÜÚ4'cfüËøý̾kÛ¶¤¡ü™šxß™†kY7xƒÆ›Í\`ÔaˆÞµ2t.E“{k6@“iWIã>xö:¡çaJùÁ™ S}à{–<üÇúoÌ®d’'zcHW;§w÷£@ÓYÅ¥¿C€te2,èm§:ÛÉpJGÜ g¨3þ¤5°žíe„ÿ%ûO&7«ü[;Í‚¡–~¤ )óˆ0—éMãYXSjžƒj¤J†1ôp0›ÙÒZ’&•òN‘Tsšˆ ‚ôÈæ_baðì“ùã¹&‘²ÎhŽÚöì-;›sþ/RñɇÁx‡Ös$yHH W©Ÿd9Ö¾ë¾ðÒ©Þ§©Dï…9(bˆ–Ž'J'FÝòŽhOÊðPIWZÄM”-2n:»¦ƒ?ҙ∧ÍýT P‘¦8nÇнüWÃO ‹—¨Ù”¬!éž f’þÉ+eÏ }—y‡¯…æ?.|yÔ¤ ƸÈQhÛ•n‹­ÄM+ Õ’aåR&]§ìën;É oÓ?:×,‚*a3éUþ‹ÂÉC9ÀšÚ†™Ù è·®@Ñɹ"+1 ¶(d+ Z–Oì`Œñd ­¦W&=Oà·m)̲,`š›$z*̌وhdzå&LÆôF^ƒ„|žÒ[ €éf룖d`+~–dˆ1†>Ÿ¥eZJŒðc9_¿œ1-ÑrƒÕ°êzŽèEóSjÁ€HtR÷ˆuÀÓ(“ž†]·nc=/Ón“z^BZSŸ¡Œôí¿hz7íM<2Â$`HVÀÓE[w–6UÿnbÆ:í!-A’{žFoÆK×h¦-Óù7pJÃŽðh.Íž< Ïô4véžk¹ñN(¤oç¥ÑÄÿÃé_Ô{×¤æø«Sú¥Cš¼гMÈKL¨ä_MÜFqø]gJ3ÊÛ“ÑÿiIX’aÕ<2ºÓIéœP@Ç¢‰/Ëžè÷áHh Õu€Þ0¬r¤ %ñqE¿@˜Béd!2µ&WZÙó%Ò’—mHÐðÈÏXrŒ¯·AçÖ’QY~¬’Èp ÌJ3L1…´æ‰{+?Gº@¤$±ÿ|OzÏ(òÚÔ^b©;øŒ<20"ŸqïÁüP£fk Ó,&‰¡Á©ÿÃMWä§@¥ ì µ_¸‘l,è¨ðŠ»àGmš8U‘sœgUxC,$þã1jÈðªHÆF¸ÂÜw1kns :.i"5—Líf¯„æ®}¤ÿ›gLÑp‹k ÝÁ (u%š]2` BÙSµ ‰É|‡ “/ÖR†3®à˜òIüÀ¹?YŠ­yšº  ’{cUÕò©b\lsø@͈ò€+ê~Š’j¿·Ú³A´5òÞŠ…(†ä,*-hŸ–)$Z”H¹™ÈÅ?b¥-ä_©?0°i½ØÄP Žôô ÒœÎ-Ã?xI-š¶rö p¹à¾V°‡žÏX°‡´jòšVSiV÷@ °5(øÜÍié‰ÌÆñ,œo6Hw­œ¥„)*m•Vr0·šùÓÍôèqÅÌ¡6`Ó4¥Ì5me(e„í¼lBôO¯V8µDÒ™¼Æ&­’÷'¥“†ÿžôŸÆV›šO³ÍOWóN5¡œSc;¬{jñ¹í]€Û£p̲®[ê(»Z:ȘÇ­§p+çÁø„ÆK!Œz3NËVõCcG5&áS VOÄ„“]ÖŽ’v¤”™Eš”ZcÛêݬ¤ó$GµîAG•`OLÌxâEp ¯,íÍZ"V£¼YÎH*äF DEÇîäªèân´P¿BÚÊÚ6ü]&ur »£„bZp„½LСĴµåÿH•»Œx p/(Ë"ZúD]ÂzÞñ.‚üÇÃ4coHŸÏ«¦ ãÿɺLÇ`EPPKï€ÚU!eCxUUK‚ä] mJí²T$×Ë”#«8óαõB‹¾‘‰ÂrZö¼tš¾‡Ñ,‚ò•LY¦ÎÏ4+ˆ[Çr…ÉMúÑB -´mñíe¹VǹY¸Zä°Äꨤ©ÄB0iË’K†b(…ãI)È€»û`’äè‘TQ^Ó g%Bìõöµõˆ7«ë›v7èa Š‚¡Ã”¥‚¨VþP)&@ô%õ£ígÀ?4Í7Êž®å­½4v|.w…úŸ1[Ñøë©Y J—÷˜Ì¼Mwsó% Ùõªž*ÑiØÓqµà17gt4‚Ÿ[« ÚšÖHJ·oNG©uª]¹hM ”1 J!˜9èøëNR'PeODß Û£z ì~'£ûÿÙ”¡É/þc}ñFøo6çÒäg¸ÓÆåïÇÔœ÷ÒÄý m+æ9øŠ'RùŒ¨?SÒ`ŒñíÁÄ‘P1Úª®éÒNOˆÚšÝcÅ‹€XùÒL ›¥5fL•uÙƒŽ˜î/é o3HGµ/ê˜IdR#åî˜×–cbS9“0M-|Ï–KÀzŒþåÿèSŽÜÅäL ödó’X$c`3eâÿ¦°özô_µeÒµ1®5û™†! `r./ýº¤1×|äI{¯µÄëwnUæN®ÉiŒ•;DÄWG¾ˆëªÃˆÞü,쉄@Ne¬FT®Ó€S¼yn%Ü ˆ£ßiQ­‘]æÌ¢úgŸøÉT&…61E§Œ·IÌù‡‘çÚ 0„Cãdׇ@1³4˜>‡nD÷µ‡hƾEÙžCÎD–ADcùL.¡$ B†„øü6Ú~[ºµT' ”mÛ–R­ré60 Ðqv¹¡5¾akÛ¶ç4®ûãtËHPXm¥Es]˜ìõ½™Ì@³O “'Gi&¨Œ£n…"ÆÉ ÷9ÑòBÁˆ…Ce€e¡…–˜Ì¶AºµÒ÷—PI£_î@3…\É/öŸîî5¥e“x;€’P*GNPéhÏÔEJ™J‚[ÈßôQ&·ˆÊ6¬*p‚q`b:Aà9—”säkˆ4"¨Ú‰‘P´y£z¯ ÃaZÃ×­™Ž;¤ÌaÚˆúƒÄÛbN&¦[޵?îpnÅ•|ÌÕCw 0)¦O ÃÞ˜†Ç81u ’è¡ Ïqzì)±UA9 Ú••ù²€-gÍŒL#ª½§û,â‚–¢iJªþyÐŽl 6ÆK˜Ø’ïÉéK“CÕÅâ‰[j6ÊœWæ 1Ñ :Fà×õÜ3Ï«1³B@£Tö½ìgF¢èŒtƒÔæïpržÐ¦/QIÎxµak ˜ƒÙŽ9Þî‰y±·BûŒT#ªl9JŠY ØSZ½ æzÊ_Š6¶Ì~ùÆò5LîÞ1ÆlÛ¶в,`âˆu¥[Õ±Q*°êüXŽävîØÚh©ï÷Hä ]|Ë™0®¥†§¡¸4¡FËÔnj‡ƒ,ŒZ¶D&UE¢¡ˆpÈp>mL½ ãV–^ãà0¢2„ˆV€àgüôc _.ˆž(òøŒË™fŽ¿Î Ó4Ü‹IƒŽ¿ÆuFÀrÞM{]γ¡t–OG­lÜ6®9CzqjÜt|RT4X™<ð¿ý7X¥ÿõpþ¾'O :Ò¹Ðe¦ +x‘àS¸gÿ¥éKW•´tLp j¸ts •SDÓ*ïNÿÚ1ÍP jÁ©¤’2µ ¥É ß¶¥;!¶}*'Khpbv6¼ÎfAu±ðO%„ˆDý;ª*¿‡ZjÜDR®‚ª³ß © Z€v‚˜. _æ ó0mh!õe{sV3¶Kýlø'ñ4`PvHS ”£ýt…ßµãéZÇPæ(Po€•¿ÛLJ_Ó®ªKÐÞ¬­r¨sëm¨;yF± í·5›0a¦‚â#bªRš(É¡ýe”‰°’ QÛ£D /’7Õ 3UL‡£åÏM9Ž>;7ˆJ14»7Pek¢ØÅ!3jÜ6±I¦ö›Þä,)ƒdØ Å¼¦¹5˜ªg8ˆ 6uì$£k¡Ô,F®Sòf2Ç„ ŽRšÉÐäÚ¨¦‹¢!ãb†h[–…ˆ–åc"ü ŒÙHÖFl°¥£H(ÃäÀô›äŒ7(Ÿ½Fµ_Eø…bvUà´”+#jÀ5A „+èÁ7. KP™/½l)"æÒˆ÷ê £à§2ß²ä߈os*º†Î˜Ü"Ëäö|ªB¥–p¡à¬+yË32ã6É£¸9£>S‹`DþP˜÷lÅQÖ@óLZ.ÈPŠl¯ "¥Ï. n:›ödRô.ùÏ&7Þ÷­áôz™Æ,ok9ÿ±2 Ó“þÏH8ËÒZ¯t¯´zC’‘L⸠+¶Å1¤–žOÌ•K«#4/¥±N£A0Óˆ+¿†IËÃyΓ ‡*'Éê™iÓ2HYéÎÀ¬g§]ãQF¾½Èt*ô×Q»$ÞD”—ëyº¥£? †]ÿÔ.RÇ;Æ¢ág:òE(Ä6cPÞ,öâÿs« uk¼InZ3ù‚%³0Æl±C™Ù 2m ŽãÆ÷.Ò¨käe6c85x)žž JdäÈÑ>xèÿ {gÙ0«ú‰áÚñ+‚CÚ1â=û·ïÙ÷ûž}¿ïÙÿûÛÃÞz ÚÁp8Ê›Ò&Z"£ÊgÇ|—{׫ˆ”©\dÒ=¦[Ï]}ÒÑK4}x”¬ADK}ÆBËBZ>´|–å×r;+‚ü‡ü,$Ã,wÃRzâ7ß|}ðÐÁƒ‡ò}öÙŽ®¾£»uêÖ›2ejƒ†Ôº ×[b”3†iðG$(ÁU»R|ÄC.Y¼”Ö"†‚ãd²@콑r.n, }¾wnCBB|¾Ëâ—RD´P}à 11&&zßÝ‹¾^ÀlÛÖrgó4ôÝÁ;÷üÖ¦MKÚGºÃÉÖ¨ÇVíd–ªÔ$ŵ‚.+u)ÅÈ&_!2Ô? ŸäÈv%pzõÔÚjõ#…- Z’¢¨F‡1@@ ,X!hùÀœËÌž™Œ`°‰ê§[]§ÏvÍ_Î&Šu@0¤8í<Ó9<›`2žc ˆˆˆÜðÛº_~û9""†ۢ&š…¡‰XµeÔOn3J»jUÐü9u ºJœšâc@‹Œˆüñ×uký9‹‹ ÷"´,÷Ú¿%©ÁÈ_§P\¤™X‰dNYtŠ®Á  /6½?Mgòž0ÿ>Ì´ êFÙ}ný¿•Üšâ#©éHNJÌùÐqåœ.ݳ'h3Ö£5Õ ßf~?»ëgwïÚêç·1d m†Œ)ïm‚ sÀㆠ[ø´!’ŒNº~Œ¾ŒAiöðÂÓáý‘?^‘Ù6ó\üŒùã/)ÉL†íÀèy¸|L5Äûêð$ïiû†#Àl¿ÂSÚ7â\óP(2T4 ÈiÀ˜ÜrªJsÃ4{g˜†+l3¯Bʸ$¡ 'nkš›˜hY:<+àHsôsAgæÂW“†é•1(ñq°­Ä$"rÍè‡b[õ\>;£åÀÁ—/]€Çkg^÷êÌä¤/õ)p¾|é2ž<~RR[×j I÷@>Ô ElŒ1yÈ1­ïá41W=o%ËIf`²ƒb‚O3Añ­gT§Å !3;d:ÁÆ^€˜˜˜î=º=z|Ò„IÂBç—“ ˆŒÉa Ã³¸kמK—¯@áÂ… .lÖrP0{öï¿ÿ~ݺuc -¢´BqL7cêRÛ=œIþŒ´È»Ë4õŠ­±Ž`d=&„w)Ën0Ðk}œ²g,ÛæxÛ|?¯XA´¥N÷ûýjUBè;.çÚŽ’AYÄ–-›ÀÒÅËÁù§’m@„,Y"6¬ëÖíïÖ¬5åQG좣+víÞñØÑS&~F 5@MFsWƒsù˜j*Šš‚J QžØÌÈÌ®}œšæ÷ÐÁ§%ö~ IDATŠÈ¤yØ"¥–ÁOó˲*Dwhÿì‰'fÍú Y€èCf¿b)¿ØGRF-f˜FÍñ¬ìÔ ¨‘ô$çÔ%STLÅÎ];;vâ³IŸÐQŒ”˜¼÷á*ìÝkØèñаÐÕ+Ö¤¤¤P&Aw}7Mä£FPcY_zsïä Àë‚4ãqÅÜ×b.7|<4,ô»•kn¤¤¤ÕNÚIC»qïÐvíÚ9}Æ´2¥Ëôï?àce÷;Ý#ž’áà+cF^8ê“ÊŸt ¡‹ÑsßÿtÊè8,ï50÷š CàÿOA’Ó*÷&˜iL¦®&3¸7aÛÂ'“ Õ"`‹Ì0„4nž‘JSQS¶aM¹Ü÷­ o5“3m¦iˆL™9En]£þz6ã4>ˆ†:Ñ'ÌçQ§2G’ÎZð7­0a<é4vUÕ–cÝeЉV1°úóÒb²-—™ô¹ÄßÇ\W²‚Mo€l¢EïÍZ*@$¢®ÒÕBZ'±9u˜ŠÓ¶kÿÔ ACC3ÀñãÇ›7o¡[•.nÝzõ:´¦\¹rY³fMJJúõ×3fL?{ö #E½¦slŒ'”Âæ_Aщ&møe=!ƒsrC„éÓ§>Rí‘Y3çŒû©š “'LÛ°a#±® I+Z´hßçzV­Z9[öl—/_þõ×ߦNš‘O†NZð¤¶bCWGDëʇ2†?€MËL†è+‘B'îå&Ê©(œ ÕÙ±ŠïedÑâA©¶$¿!xñå«V©\·^Ý~X{ôÈ1ÙKUÙ¦&—ÆqÔ¨Q¼{Ï?߯ßóÏ Ú,ÑPê³fÍ:sÆÌ²åÊ®]»v̘1gÏžUàC3‡îÚ½ëüùóõ¯oR4ŒŽ%!ÃPvP\ó£ÐeÈEб Oaƒá~¦ìl¡aåvID¦öð±³,‹É±&/}ÓrpÞ¸IãÔÔ»+W­–€©U‹ êEDdY½úûëׯKÜÕ‘IbОïß·J•Juê>ºö‡ŸŽ=®hêJjÓ ظGÞ±4a>‘ jPü£ã üUi5òšÊE ýþ—õ ññO·nEbœä2¼ ÞÓÆ=zÇÆTªY³öú_~:yâ8gzþ9D°m°åÒ§x­Àx½š<Ñè½÷‡Ñþ,_²rø»#µ"ƒoJ [öìkׯ>qâd‡6ÏJ$?X¢æjFOϼÕç^èW¹Ò£ujÿ¼öçcÇŽé0.Ün"¸©Y‹f°rùª åô\gø‡d~EtvßË’µ5¯DøP—@Ãgþ{v°s{ % ChÚ¼¬^¹Š?hؤñ÷†Òú«–­ü`øÈ`] I@[±êï`üÉØ¶mÛòÓOk7nZ¦ÌÃÔ}HP1:zÂô)à÷û/&_ܾuÛ—³??wîluÝôJƒ=y¶Ú„& Ê+€ š4~ˬÕËV~0b¤*íÒ^ð <Ÿ¤™ ,øü€þ££È–ç|òÁ˜åß.I£š‡u‘F‰{Ä/ÐÌ¡ßÿ².!>¾]«Ö2ì¾4óÀú?‘˜3ŠÆ ¯MžšIm0mQÖ‚ > ½Å[ˆ*bhë€*¨#”P££ýeªÓU¢Ø‰µêÕ)'Řë1Ï•_ÂEƒ$8#¦²ŒáQâq8ôAÞMISaÏ"ÒӣЄæåK²õ}vŽŠ^1g%™,­<”´¤ÇõÜØûƇÎI9‡õ«²ŒÄUÆT)H½ÁÔ E†d-´$w’¼ˆ©+@.¹°Âƒ×Ù²=0aÂØ!Cso–àNÂôÀÞxýÉ“¦Ô®];W®\™3g.X°`»ví—.]­UH»UsµaÓ€r¤9ÉÄZˆÙSW†ÞV&àj9é±ÎQÈP¤å?x¸L™ ç6iÚ€8p0ÄÒªÕ“ Î)øPAB~@•pE€©q3œ Ób{¾ß]û~{êéV´®²¤(,‡i ºŒÚuJ;/Ô´|ßT ‚…hXˆßBÌs}ˆüÂò!Z?¯]wóæÍ}ûœ=}Á´-@0’Ÿ%—YP‚²@>ÃJÞ4‘$˜[Žþ°aÃÊ–+;oÞ—/½ôõf®#X24«–éè^BÞîK/¿|ààvíÚ“ÍŒH®ý_zéÀÁýíÚ·S$ç\0iÞÕŠJÀ‘ $’‰ÍȈüì]à¯×Êf˜à0Íœ@ZVƒ†õ³füyݺ«W® Ñ @‹VOÀò%ÊD”•Ì‚¸îÇõ7oÞÜ¿ïà™3ç$>B'ë‘@ÅñŠ ÈÇ»{J š sô 32h|b*S>bJ@• *Îæ¨Š}Ȉt« ÀPü~ÝøË­[7:xþÜyíðX`ùÐ Aˇ–àSQŸžx†—.]Ú»{ïÞÝ{÷ìÞûÇÉ?e>SÿÊQ\IN<ν¯Žé^þä¾>N84žÚ¶0 Öÿ¼þÖÍ›ö8{öœAù Ú‡tº*Z¬p…¨òçÏßµ}—S'’fçÐ"ï112‰†Ä¡óÇX¯~}~ݾ¹e›V´Š©Pe] ü£È~꞊Š-R¾bù çÏïÙ±‹sØ•K—öïÙ˧þøÓzðpiaíÜùÝ;v¥=0SÆÂóDEE‹/ÿÕÄ{|ëÖ­?NžüãäÉ ç/äÊ«ióf3æÏ-W¾<xsŽ‹ûi&O=úöY¿usóÖ­Œ\ÆV„{ÔäËžƒEg‚ coZ$`Ê”)óè±Õ|´öµk×&—’/ºy=x3 d½‘þÔ£oŸõ[Lò¦ÝÉ{#CPH÷LÜÿfrñó½‚Q®‘Î#{/eŽ! ÊÂwã$Ë ‚€s44~Åø.[›Ýõ‹_ê]v×f~üjS1Ÿy”L,ÔóW ™î ÷K³ì×¥Û}É\[nf|‹/ð—¹C£w%sŸz$v +†o9ÖHQÓXnR¤N’óÍ%ý2&)Iˆ£vRÛ\VÔS3( &ÈÏ5¤;zRûz<…š(XCÙÄ Ò­)ã©&"Úl£º  8Ü&”瘢¬*ýHM¿fÒ2V³ V¼xñ3¦äɛlj SÔ©[¯K×nü©mÛ7n܈ŒŒ€ˆˆˆ?ü¸q£úÂTwÆ—‘@4¦c» jK´‡ôñWúþ4üA¸ l›q uÏu}~"X&žò82d0ðõ—³d Ÿ;çËñc'Ù¶?S¦Ð·‡jѲYÿ—ú½þÚÛfÓ¦ÍåL^OeLJ›ËÞšÅäwF "]0âUÓäR¥$;ñm®`!*§„Ic…5.xK¼Ëý -X°Eim› èjÙÌöY ÈIQ{W.©ªÑÑÑM›6=qüÄ£?‘M]œÐ_ïGî‚òETÚhC»¿œ~r—«£iÎ¥áN+Ñâ(—å—¹l›1Æ,`–eiý(Tamÿœ-b«V-`ù’ˆ†–å@ÆØCŠ‹‹½Ÿ°mÛvÙШ,˜¿hÁüE*ƒ©3äJ€A²À†’ü†Æ#ï^*)E Yl‚§ƒ¯¥Ÿ!ñ˜õ§­y{2ØíR ”0øöÛ¯¿ýöki®šs·…–d„A´P~ó̲¬m¿mÛúÛV.ÕytÌØÑZ๘+˜{ƒ¤˜´Ä; Æ$€`øm›SÖB´|h!2€E_-Z´`‘Ã8÷ –·aÞÈ2Íš? «V¬–Ár¤÷Ikpž»¸()`q3ØŸHµ™›>Ù Ö¬\­&·ß·nû}ë6þ´öc¾ÿÑèôC{B{W{ÏéN:véÔ±ËßpßÓ±#Gºµ§$„††õy¡_ëvm¿;´SÛöή&ÂýñbQ“V-9XÞb Ý;zP¢tÉÂE‹ìÙµûå¾ÏÿA÷'‘îÿ—üÉÿzú[ÄR!"æ%#ŸôF‘D´y¯7YÞiù óЬÄ;ºõŠtÇï·¥û„Àä7S4Ú²ûL£h+_‚:ޏªq‹$Kç‹À(ñLG]ÙÈ­!tIíDL=§N…­2”%åa×I®Ã´Ñ/íªI¼t'`Oe„–´ÒÕ6jÑk&~Àƒ$¢á[2¹Zàì›eáP" E#ƒ ¡+À4 %ò&l¦L$`ÀX™Ò¥¸7{âø‰™3f’–U„°öíÚóüÔª]³r•Joy‹ç)R8:&FROÕ\àXhç½ñ’Vþ Hªx›m›Ù·nÝ€›7oâ ¨.ƒ‹·HØ„……WªsíÚõñã&Ù¶RSïŒ=ζ횵ªkx‚ÒŽÔ©> y ÎY€þ»n•ñ*ß¿$á@y2‹ VExœÖg¡…È}²dÄբ׈––2G$;âø%•«?f¡¥w¨Õ‰¸+:Í[4€é3føm?UšnW“£dÉ«@…‚uÇi{j P6oj+'q½´·©—½’„%ÄÍ£¸TàŒ;-Ü…á>?"Z–Ïòùø¨òd¡…–Åý¯|ùòW­Z%9)iӦ߀Ù̶åaP¶Ý¼e3D\¹|5?Ê×è‚ <$۠¤^2Ñ•% í°¤ºÈ€GzÁñr¡fAØgŸ… ÅÏ8ÆÀF 1”Îr.§º˜†ˆ·¦ŒÔ4^*1@’–¥D ôz0_žÊbeÊäË”É ±,›Ù~¿•<`’mE.‰uæÉòùš4kÄ[µ|µK#‹i Ê rTp.­x&OÍ¢ɿɔ ?AàÜC²,_£¦ckV¬N-/õbB[™hÿ‹éöí›>þääñ.TòáÒÁ†$ȹ§?ÕJ´³SðZù9ª¦ƒyœ¦DiÐ] r?˜Î9û7—0œ ¤ÙƒËØß•ô´èxt¿ ÿ“çœ$Ÿ1â ¹Ý-aª qG9§[j¢”.(_€”–›‡TÔ|¦±óûíÔTê]ÿ]¿ÍNy$Öf3­wåÎ0Æ_iä[“EèU»!"Ùò¤%&¢‘ü0Z`40+¦¶ªÛâØZåEÑúl)õ³e¦cÉ$þ© ªj/J>•Þ #ãÔc¨\9IyE'9NNMHЉi9~èzÛ+„öú®`0ÐNÈ7xœÅI1Ó¸ÖÀg]aš“·*e¸²#E]¹¢£ÌSi¬ÊR+W­zgè;52»¨•*UŠ_Ìž5ëÒÅ‹€ðÍ7_¿ð|ÿ|ùòÀCÚ½Ûc£”´ëxÌGvBH$£”B)¤¢Ç_ÏÄÈáGׯ§@ÊõëNCœ`£ /Ü—"-{6ŸÏwþÜyÿÝ» i=åú'MÏnY>&ÿcÆŽª_¿NŸžý«>׬yÓœ9s\8áÛ¯—Íû|3¨‡%K–èÚ½SÕG*eÏžãêÕ«Û¶nŸ:yæ™3gÞß,ý²d‰â Ó·† zkÈ u[¿n³‹É%‚X´X‘ž}ºU{¤òÙ²%%%ý²î×ϦͺråŠnªW¤{ÏÎ%K–È™+ǵk×O:ýõÂo–.^¦_­lÄ@g¥­Í·D˜ýùg1±Ñ ŸÄĤF?ÉÔKލÙöá2ezõé^¹r\dÖÈ‹É7nøuʔϒ’’˜ 71àH2B¢}ÉJiCê5c6l¤£ˆ’¸ BžZû±ää$ðùBöíß—œ|±MëVƒ½^£fÍð𰃎;vÇŽßÌZ½zÞ½{•,U:W®œ×®];õ穯.\òíb%öJDFd2uJ¹ e¿_óý[ƒßæ ‘ÐBâÛæ-š!âŠå«ä÷~P `‹–OÀ²%+˜ô‹TÄg>5:&ŠŽiã-š0e\åÊ•†¾õîÀ×_ Éôñ‡ãnÞ¸ñÚ¯fÊœiÎ̹ ,¢]}¤ú#}úõ.Y²Ä_ýõýwk|±`åË=Þ¹CgRJoL VÊ¢œT}¤jçn‹•(ž#gŽë×®Ÿ9}fÙâ%«—¯ø‘çÜæyqÀËq•ã2eÎt`ßϦL9|è ˆU]„‰“§V¨¨{šœœÔ¶m Õ°¶{‹-Ò©s·¸¸¸È–””´ñ—3§Ï¼r劘¢#½þ Ôoøx×]Š-rùò•5+×,øÒ8ÌLÓ푪]zt*V¢xΜ9®_»~úô™%ß,]±t¥¶= 5Èä¤!­ù"c6›2cZT´–ӤĤfZжveÊ”îÖ«kl\lÖÈÈ‹/mþuóŒ©3¹€’jÔ¨–;wîíÛ¶'Äǻ݀b%ŠwïÕ-6.6[ölW._Þ¾mǬÏf=s†BxÌÈ:õê¼ô\ÿ¸*qMžhš#gŽ .,_¼lá¼¶8'%´»vŠ«"´åŽß·Ïš6óÜY íó…óŠ×ÚòÕ7^{õ×Ôm«ÆO^ºxQÝ.Z¤Sn•«Ä=-[rRÒ¦ ›æÎ˜uõÊŠ?¨RµjÇnŠ/ž#gŽëׯŸ=}fÙ·KW/_É„©Zõj¹rçÞùûö„øxÏcÇìT­Fµ\¹sïØ¶=á‚­GϮ۶móá'#ÞïîÝÔ·ˆˆxoø°;wîôíû|çN]UÉÏ<µsçu›7o¾ ¿lv4}ûöí¨è² ü|î—ï¿ÿÞŽÛSSïÆÆÆ¾úÊ  *ªb—/_®V=®X±âß­ùQeÞ¸q#¶R… ®ûy#…¹yó¦iŸM>vìèÅ‹³fÍZ´h±íŸmݺ­±õÆL ØÑÃGŠ—,‘7oÞcGŽÐG•«T}¶«1 Ë/]ÃG Ì^` ý+¯¿öÊëzè[7iƇ~ì䉱•ㆿ5ì§µk…¥ÎžéܩϋýÎ[0eümЄï -Ò©{·8ÉH›7lš;sÖÕ«WuÓ ƒi¦R¥KwêÞ5:662k䥋—¶lÚC¾ß”ÍãÄ–ÞªÞ)ælÇó±Ãk ÜGò( ‡“ å("!47Pu žá·1s!Êšm¨MdûªÀiíЂî³nCy³šôíí;·‡ÿ« LA#Æ/Z4’Ç)nܸ){ƒ¶Œü¤¤Ü´ ´ÚÆ1FÕ1æ`tÔBp³p·ƒÀ³%whù8ÞÉ„H{ÌŸø|ðØ,p±B€ó¾X §©cçö9sæXµbMÖ¬‘×0ð…¼ùó|ôÁ8²rÕ¸ “> Í|êÏÓGž(\ø¡&MÖª]£Ó3=OŸ>ÍQ8|ðÈõ¿®@¾üùòåËsæÌÙ‹É—T©©©ŠÊ•/;cÎäð°°;ö$$ì(Y²D‡gŸªW¿NÇÝ“““Õ‹G{tü„ñÈᣇ‰ŒŒ(_¾Ü»Ã‡*ôЄO'«e~þ“ØØÉ´¦”)n=®|à蘊ŠL0šð·*UŠ:}bæÌ™.\¸pòäÅŠmûtëG«õL‡.‰‰ Tȧ$r(mÈãª8ÔŸ]áÃQc_|©ß[Cýüãú?ø¤S·Ž¾´sûÎãÇ*U«|òéG>ŸïÔŸ§.\ˆâɦٲ=àBXýU^™c@9SÙ5k×þp쇈xìȱ£GŽFDF”-[ö!ƒ ,øÙ”iœ`J}}ïݲ=°cûŽ’¥KÅU©<>jRï.ÝOúSµ{â¸îiye¸“¹³Q™2ÿtrXhØÞ={w+VüéöOש[·[—®ÉIÉ|3o­¥N€¦Íš>Nž8™˜˜Ô¬e³¬Ù²º«Ô|´ÖGã>@Ä£¼§åÊ•}kØ› ˜:i𦕠“2NÄWêÅzÆØÝ»þcGŽIßܪ(ÇÔbbc&LŸ)s¦ø ñžü³H±"-Û´¨Y»F÷Ž=“’’¼jÀ-ž€•ËôyEjJªõé”ñ¡a¡ñâ÷ìÜ] ÐCš6ªõh­¾=úþqü„N»gÚçÈ™ã»Õk²FF>Þ¨þó/¿'ožO?+‡+UŽ3þãÌ¡™Ïœ:}ü؉B…jиaõš5zwéyöÌiäèá£)×®@ž|ùòäÍsîìÙ˵¶¼{÷®êv™²e?ýlRXhØÞ]{’w+Q¼M»¶Ö}¬O—Ô+¨Q«Ö¨O>@ÄãG;z4""âáre_òf‚¦s~s¥ÆÍŸ€UËïñ'4d›ph+V¹ÇËï÷ïܵsÈw>þèƒ!CßjÔ¨ñÛo ›1㳑#‡?Rµš:öI]0ÆvíÚ¼õû÷+ôP¡ŽÏv>xèÀúõëvílÿí·ËJ”(¼–;­[ÿósÏõbŒ•-[®lÙò)ׯïÛ¿wð[¯Ÿ>}jÀ€»yóç€kýET¯UkäGÎQôö› ˜!¥þXð¡O³öÊ%Ëc+Ç5mñäOk× R#@ƒ&à‡5k2êù”)Wvü4ƒ‘Z·k[»îc}»iF*Uºôô/æxV÷ûýרͯû¾øÂÃåË@¶lÙ ZÍêã¦NR%¿žÿÕ&¹zóñÄñ™2eJˆ?õ矅‹y²U‹êµjôíÞ3Ù%§OuhŸ#GŽÖ¬‰ŒŒ¬× þsý_x0ož‰ãÆe¨›š¼y%y/yI–¤Þwß} Û;vì(YJèÞ>] Ý[æá²ã§L Û»{OÒŽÅJoýTÛÚ=Ö·G‹ ·üÿnJǺ…,F-DeàÆÛ‡FdmPÆcµ‹©ÖoÕ&È#‹ùF:n"߸«NÖtn_¦ϸ/,Rë†GÕ‚°é‡ •BÍ“V^ɬ*æÚù ÏåäIs¸c®.áV9,2U‡ëv¬œ¨zšw^ÉåÑ’›WE‡?æé¾*Z=Õý§T ƒ©.iàŽÉ,pï³âÍÊGÆÆ*E$² Ç+è4b®<[YÐ`?þô£O„×S®Ñ[V9®rüùÀï÷ïÙ³Gàèíi¢—ɬ ¸3¼¶*…`:üx#å:¤¤¤¸‡OÆ©,š)-F%m':åd;’eaçg{ñ]sgùõ’yíÚ·ùbö‚„Ä^`Ðë/‡†f~gèÈåKW¾ôê‹»tèÕ»ë·ÞãP‡ Ͽطg¯.ŸÏ™ÿ͢Ş‚5øí×ÂÃÂxó§×óœú÷íÑ«K¿ç{¿÷î(@† ¡íÓ­qØÛ×K“ëá‡ËLýìÓz×™8a*¨Õù ý?é²0¢GŽøˆÓ344tËöõê9*wÞ<0sæLÆOž9cc,4sè»#†4iÚ¨ßó}Þ6Üf̲,Dàg Dd K‹†…‡‡……%'%¹F†+(«Ìž#Çw߯ýdÌ' ˜e…Œú`ÄO4íÖ³Ûз‡ñŠo  Ø‹ý_ìݻǜ9_|½p‘ÔLŠÊìÍ7Þä4y±ÿ>}zÍž=wÑ¢EJGKDEÊ‘#ûܹ³gΘÁ%¸{÷_د_¿¾}ûª2íÚµCÄÁo¾¹té2ŽuÙ²åfΜñøãõÇÿT«DØ¿oÿåËWräÈ~øÐaîWFÅ!yW¹ÒC…Ú³gï'ÿ”2ˆ–…€-Û4€e‹WðUV -ä«’ÂïÃ…,4sèo¿¯$7?—>Ÿoάy/^Ì›'÷«¯øöë%û÷í·ûhÜqUâ”CÛ÷ùÞ>ŸoÎ̹Ó&OÆ""#G~8Ü Áœ =$[¶i…ˆï¾ZîÀ,U¦Ì§SÆ×®óè´ÉÓ´öÈ–=ÛºŸÖMùt"³|¾·ÞR¿aÃg:w5|Hð“>â“~hhè?­'4”ÔÆ x-,4lèÁ6®ç§HôìÙ»s—®}úö9b$È÷Ó™móƒÀÁCb@1pßçûÀØÆ/ür!„…‡¿3b(¸Ê¶nÛ‡±Jö´L™2ŸN÷X½G§Nžf꡽ùî¾²iY ý~Û¶¢5fôG¼S¡¡a¿lYÝ Šx IDAToÔV‰Á«o¼’)s¦)¦~>ë š9tð;ƒ6iÐ빞£†rg={öÚÖJ¹žòËÏ¿¸­‚o¼úÙ”éŸÏ˜Í­~/õ{¦Ó3/xñ•^v·,ìÓUhË/¿øò‹…óZ?ÝfáB["ÀK_ΚyÔ{#×,Ë4ϽôBûŽºôìúþ°wyÞöG£Çs}:wïòÕ¼΃a%–¯¼>0,4lè Á¿¬[Ïsz>×§S÷.=úôúð}ÝÓmZ"â¨wF¬Y%F¡t™2ŸLW»Î£žm¶lÙk=Z+%%eú_ÜO3’dÏž½VíZ)×S6þìÍï÷÷îÕ'wîFŒx·C‡gc¢c-Ÿï¹çzmÙ²Yù±ï Î/x6H“‰‰ =zôêø¬Ø71vìGS§Mž1ã³Q£>Ì(ö ¿šÏ=zL«–mxÎÁƒºuïüãOk½Zx¬^½Ø¸J×þúëÐÁƒôaóÖ-qô»#¾[¥¥þã‰ãj=öè 9 #ßy°žÏõíÔ­ËÂy –/vœ ŒlÃúõW¯\­\)o¾| ñ8;+Q²xÉÇ;!µ–1²°æ|>`ÐÀ°Ð°¡¯Þ°~=×<½úö騭K÷޽ƌŒtýúõß~uFÅy¢/}/Y"&6VÝæÌ•+g®\êöç~T­¿4ð•L™2MŸ»téޫטÑÎ.¤æy§ÿõäáz-ÉK£¶Úez\;w¸NŒÌ¦¶êª`«ðTƒ4,}`Q†©×ŠPA“=BDù­DÙ”ì«ÂKy'+ÆøJ09nxÈõج„Ȫ*b†!KãææYóJm’•„’.–„C2 A‘œÐ³œs1ÁÉ ×6X`rQÄó5^(»™¥<™Ÿøüm:ñ (Òë!H!,£^ú´üǤ[kxâž ía=ø`žÇ|ĬZµêÒ¥‹Â©$â§y @ÒQ{´—M™r¬}×Àøñ‡2B›b.¢š©¤Å¸ßèyIÒêU?¨MÈçÏ]ذ~S£&õ+D—OX+&’·ß|Ïfì¸üx6ïó»t(_¡¬ÈP‰iª9ù–äÌ‘£|…²GWÞ,LŸ:§k÷Ž5jU£À"²„Àî{¥ÃÀŽ>R§vC ë'|K89¦¿ˆz¼ŒsÞ=^ÄÒ]îܹJ—)•4kÆ\ŽÅí;·?3®IÓF5kÖ`Œùø6cî_YǺ’hÅ/22ÙŠG â¢`²ߤ»*í…&"Îûbž*5þüW¾[‰ÖŒˆÈ;ù±¥xøÐ¡š5jzÐ >þBƒ òç/púÔ©»wSÍ>j ÐáØ²ÿüì =ñU¯ÈȬõêÕ½qãæÚµ?[–Ç*ZDUý¦À?þFzJJ ܸqƒã×Ù²‹OM„‡‡—-_ö曳¦Ïæ¤I¹~ýËÏçW­VEA $>táVQ6KD8ìÙ½¤Ò9zøpãºAî!WXgÎ:sÚ ›1Dðûý_Ìþ¼~ÆeÊ>¬4V…ÜR¯äÈ–ýá‡Ëž8q|ÃÆu Þñ…y_Ì}¶c§j5j¨½ðR¨)àN˜7¾¼ùò$Ä'.üò+žsëæÍó¾ªSï1£@x–pسk¯‚sôÈ‘Æu›PÈj½ÅøŠ3°ùw†lî~ƒ\ßa®/TÓ”3w®R¥K&&$}1û Þ¯Û©·'ŒÐ°Iƒj5ªyt QÓ†!™BV._uûö-ÇÓ\¹s•*S*1!éó³åoOŸôYÛ§ÛVŠ«„h1fS~øîeÜÇŸ¿°iæÇÕ/U>ñ'¡-G }϶ÙÉãÇ€Îðëù_µïØ¡l¹²îîšx~öì9.WöıãÖ¯W¾˜9ç™.«š=声o…cGŽ}šJZRRÒ7såÎÅ,¾ªÇcÌç a¶ígÌè¹TÍ®e(ÔÂàq€ä¤ä[·nÊå3Œ€,aYT¥K«[ÒËšjÑGûrÆ€(uíH—/_¹}û¶¢Ý­[·þúë¯lÙ²Q98°ÿ@•*U†½óÎĉ:äi°RV¿yãÆÉz¬YP Ì0J9DªT¨%…@îsa6c¶ŸÛÆÔÔ …œ9sÀ™3gȲ:\LN¾yãf®\9ÝB3½½Ö äÌ™Ξ¥ÐXêÝ;õjÖñÄäbR2 ‰‰‰5RkËãÇŽ°L9så²|ˆ¡aáhû ¸å¯+—¯äËOµ%üuõ¯œ¹rR~8rðpL¥ØWß4ë³ÿ¼ï¬ªÈ>ç¾P‚z‡ÐB‡ €‚®^m¨ Eº+«¢®}w- (Å‚i¡ZVA¥/Ez—ž $¼wçûcÚ™¹÷½$ˆîþöŸáÞ¹SΜ9sÊœsç~¸Ïœo³  kn°ì÷}0V5É[»‚Ïφߌ”Ê—/àçÌñÛrå ;'ç šjÒ¤éú¯ûÛ ã~èц -ZÔ.Aæ&©u«®=»çååíÙµû“é¯üùg«ìž»[$&>öÔØ„( †¸8eá÷ÞݹG×™~Ä5é›:ß …þÅ&j];ßT¦œAHª{AH¾©@ G*W&ÈÊâÅNŸÎÈÉÉñíÔz±–¯¬ØØX¥‡:oLx˪•vüø„7ßô£ðŸ9}šŸÁ)z6ãhUG–·ÒP´å!`ȤùÊõ«T'iAH',ÿOY@üMV%zµa&Û'®•4Ö«QÖÔ´€µqíg“…ÆèžÜ˜®sí4£–”Ý "åÓH0¢`¨,~#¡Ÿía6Ü 470—60?8Ct|Í7Œ.lj±á QØ?ú`fbËæÉm[%·måºîñã©[Ý6oÎÂÍ›%Óh®6Ô4!-ñβ|lϧ2ù¥75d¼ÃÁ8`<”†lE)’ Cfà±1z;Gý‹¼_R0 ‰ÎJùAÊŽÜMQ6¨˜¯âÔbŒ®!ÆMVèý »Ì÷Þ{?))©]û¶íÚ·u]÷رc¿þºeÎì97mðšøZ C¹ÚÕ«0õ6£{k§›‹+¶dÑÒ‹³¤(?Ä Ø»7ÿüì"I«®f –Œ×Ó ˜£› X(Þvðà@.Œ@ ø[€¸_4s’ÍËÏž™‹úËIlÖô›'6o•ܪUr+×uS§nߺ=e^ʯ›Eɯy½P(äÊÃ#P~nG¼‚ÌâÖ¦)——  II­¾üÒge¢œ`^5j Dc @nð|õZ>­ûñG3[´lÞ:¹Uks¤[6ÿÊqNñÃ#öÀuYˆ‰—$s…ýÈÄ¡kÖD @Å:u]šb7Õ¯_¯^B½Ã‡ïضÍh @¯zBõ‘”a¹#!5uÒ»S'ܲ^Bý‡Ó´y~ÜÉ_/É€ä–ImZ}™2ת͹¥¢‹OfÌl–Ø<©M«¤6­\×MKMݱuû¢ù ·þú«Ý)ƒzõêÕ­_ïÈ¡Ã;¶o Œò[uëÕ«›PïÈ¡Ã;·m÷áHùàÇÍ ’Fz`ÃÆ¯^½jõêUŽãT«V-11éÎ;úµjÕ:\•ŸyÎkÊrÌ|ú±Ï,,^`Ïšªj¸täÐá­›·4KlžÔ¦Í†õëš%6¯X±âšU«33ÏÉšøÒU˜2¿ô:5YM(ò­Î 5¦M~wÚäwi'à´IN¶ªªó® YQ%’À[ëV_ÎõÃIŽs•a³Ó•P÷õâJÛv42í¯*q ùYBQáÖ+ÿÖ¡0<•å,WEž˜¹kÌhOÄ×eÄa‰Æ¤‚$4$WVoÑ‚´c0(µ:Ù¤úW»l¨u¥r™R)½:”}o•ð3å¬Ï|š§ó0bd„¼º‚Ð& E @ LŸhéð¦U˜Ž}X3xšŒò”ð3¢ÙKÕžYV !M:{>ýx*³?[ Pt*ÜJü KDÞK£„•çE«æªmJÍ -‚2k¥n&<œdpˆXªTé3>®W·dee :t÷îÝÚN4v0âU#´„´«(êÁ[Û(e×¥y}Iˆ¶†>ê c&œrFì ~Kÿ5Ÿýø“ý{÷º!bbbžõE³–öä];v~6c–•Iâ\8nÔàá­Ûµi“ܦnýzõêßÚµó­];ÿã¥×–-ÒÜ’#µK¯î ªÌwÕƒnX^„¯«n-ò8þÓ5×”úê˹«Vý²rÕ/»víÚµkgJÊü””ù¯½öúm}o/PBÝcpþü¹ÑC†·nÛ¦µ9 ÿ|Ù˜(0–§,l–ؼKnÖ¯»¹sgøvɲB ¦];v~6ÓCH„çT©Rõ‘±žcpC¡§{BÝþŽt%õ9ˆ¡Pðúöí¯¼•|S˜FwíôÛ¹rB¡à ¶«™´rɼûéKÛo–Žê*L3 B!Æ\¦ß{~,oVÈ{ÔB¨Žb³×\û×h šì“«ó5,×£<œ’Ž€‘(%ÃT²Ä 1ÑÚœ`À|·¥ -¸ÀÈc…¹-`›&HL—“òGà×{Æx …J-_±ák'úA¨gÎl@´va¢õX™ž9ÛùaË«d†0 ´£Þ:æŠ#Êݪ'íf’4*ÿ(ýرÊjåa>ôdù å÷p±dÉk>š>½AƒpáÂ…áC‡mݶÅrnÒ±U¯Z½VíZ۷臭̷Ž5ø­]½fíA½]ºuyúù§G=4jqÊbKÈMÛ“ô²M¥”ùS…p@î£ðG@€¹6¦Š‰¾µó­¡PˆZ”gò×»0àXôâˆè†‚9F²{Qu;uïR¬X±™ΘþÞûê‰É- ‘BÌ€s™™á\‚T‡`Ì]¿fíú5k¢Ó¹{—±Ï>=âÁQÊ”â%‹‰¾¥“Dˆ'þÈ÷M QÙ» ¢‹DßÒùÖP(ôÝÒoÀ^˜ÿ±ÄÏùñ¹“) €×mî8N‡×wèp=¸®» eÞ¸qO½õÖ?½í·K—íÞµK%A™,] bÎݺ<ùìÓÃe´²È~úáLJ¤Ã_®/Wú/7ߘu!kõ/Jðm)ÌÁ—H*[¢M[ÛÍ(Z(¼#WÈS~@=I@ÀrÆj˜Ã$ÊÌÔÅŸ@koáÐþû“w½ùñü«oÍrµÂÙ²#åfÒ¢MÜcèSnIBÒm¥·›5Ïå¶9ºR‰‘ª¢~L FÅ¡ìÚbYJæ€Ø& “uáK‘«TÙØÈgÌô™ SÊ—SzC=)Æ ›ÜC¶æi>ɧ¦s¨ÒAPäÛ£YbÐ<ÈôT £»x×¾”9Z½Pz‚™Á@~zIk*óÏ3ÿ2¨ÌUÙ¶TMĵ4eàZS¹’`Á´fõpy¿®ÔŤ5«¨õ TêIEÄØ%?úð£ÆÀùó†ºuÛVá­9’núËMK–-™6mÚ7ß,÷C3~ —•ÎóÀ©ÁDôþ×u³³s¼Ö¬1¼¶ÎËœ?w> U©Z¹H‘hY‹—(ñè t/ÿ6´¶‹,>³íòåÊÀ‘£ÇTP±byU–üБÀ(}¡?à‡õרQ]ဉ͛4i¤Pã S©bÅråÊsÏ]”²äÐÁÃeÊÄÅÆÆ‚&5qÕ¡ãµ£‘Ð ·Œæ€"8j“åÌ™³6q€åÊ•-^¼ØéŒÓŒ<★\7 @À­önù#à¾=û¢£‹4lÔãC“¥ˆ)V«X­JbŠSè]uÌä±LI‚ÏP³VÓž2ìRºtéÒ¥ã$"±L\Ù’%Kž'¢p0P©b¥òåÊQ}mÁ‚”ƒ¿,[¶LllI´æŸa‰â±õê%)-©Z–vÝ»O/X0?E~ON™³Žãzôèâºî¢”%ÌLÇæÜYƒ 3Éb…XG":ól楜œÊU*W¨PAõÑ"±…ªOÃ{9ÒÛ_Û~è¨õ@@®²ã*V¬HOþdÌ]²hñáC‡Ë”‰+Q¢#]K°#Qó¦74À¬Ã$-IBào U«VrlÚ´yÆ ùã` €NYÈ €àÞhzV6 0þñ§jÕªQ&_½F .Ç V¬X±l¹²bú -Y¼øð¡ÃqeâJ^ëø– c. Ú_wÝðÑ£4»jÙÐ5J)‡/g†)ü;ÕªUw¦Ê–-S¬x±Óò (ª¹k;^[ªt©u«×ÎÈ‚ ÔΜ嫾º\õÀX‘"E¾ÿ凭üQ,O*Œk™§Wn¹²eà˜à–‚&ÊWÜE¤Ÿk`àµÀisZ½ºÎb€ ›6oÞ°q#¢ËA§B…ŠeË–E)|Üe‹–9t8®L\ ò~/´ïpm©Ò¥Ö­Yg½²¨;¡3pm9N«2֮õ¥J—Z¿fÝ錌ÿkbcKFGG§¥¥]¾|Ye<ø”+WN帮›žžÎ?ÍÍ“ã8}ûÜ^»vÓ§Oó%@Ó–Í›ΛŸž–„]ó„è*T¨T¦lYÍÁ]¶„Ì‚Å,™GÔOÅ~ÓåÜËß-û6::zäCÆ–,ùã¿þ•››kËT@…ädÑ|™øfªÕ „Ä™Cóæ 5R9ûömûÚùünº®C$ŒûÉ׳gÏ@µjÕ)ó/S¦l±bÅÎ/*Ñ~˜^I~‹o´K!“À[õ|ðv%)‚^ÝüлӒÄR¼uA?IÉ=`š¼ãç ¸,bÁ ËËcyyn^ž 2—ËÐt”Œ¡ àràJ‹EÌšŒLv•ÎØËDX'ÓàjÅ›B)íin50ÎI‰EÙÝʾвVeë!ƒy£×¬’ZZÏ”×Ê“Ge¥\Ó!g-¿ ôfÚ· G¤ 15{Wu4E& #o`-y“Âtÿaƒ>T¦ Z¡vX̨šdôçR“¡¤ª,B”꼃Žãp׋´îô)Š^)PzEΖøË[kÛ¶íŠ?­XñóŠ??õÔS¼líøÚ?ýôóŠ?/¡PØÿ¾M›5ãO‹ Lš4éÇåËåïÇF?`a¢Ïm}ønnllì­:07^èrFÉHm1ibEDZ•WEø€Ð»O¯§ŸþkÇŽ5v•@ç_6*M:ùèÒ¥œM-ñà˜QŽ„¨¨"OŽã8Îê•k­Fh£†À•=~< n¹õFÕ~LtÌýÓéWSpòÄI¨W¿ŽŸör.óܶ­;jÔ¬Þ«oO”q›Ý{výhæÔÇŒT¨  –Ì^úý‚øÚñªz||­ªU«ädçädçБ#@ƒ† o¿ûæýý÷á»EÉ¡á 4aýž9}fïžý+–8¤?ƒèèèÇž«V®ÐÌIͳ¡è‚úþµø§•+W@žÝ@šJŒ1Σ fä1ÞÔ*ˆøyQ õë“-±Ï*2‘Ÿ-”P_€­ $œ••õøODŠpìÑÇ€›Ô 1,ûvé˨]»®ä0X§vªÕªegçdçä˜6T®\ù»}3ÁœÙ_UD`Y÷ˆóN¯ž=c)) å–,¨…}íuíË–+ûïõOœHw$Â9N\× …\.eSÜ_®ç¥‘¢QðFÉ©ŒÄ W¬ø%¼øÚKµëÔ)V¼øµ®ëÕ·§QPr9P/!áõ‰o2pÒÔwbŠUÐð_TTÔì”9 –-¬U;^Î+Ôª_¥J•œìþN»/)Ï)O!œ›Èr¾ˆl IDAT†xî\æÎ;ªU«Þµ[eÓvêÔåw¦>J¯pÑA'€©Ç@£Æ£c¢ K”v2ýDzú‰Š•*Üuï]¼^±bÅû¼—Àˆ5;eö‚e jÆ×âu!>>¾JÕ*999999Zma €ÕOHxýí78iÚ»E‹£ë=?ó‰¾:súôþ½û+T,ÏÀþ<7:&úG€ukÖZ¥»ÉóŠŒMÔ|ëÌ™Óûöî+W¡üá÷sBrœÀˆGFGGoܰ‘ï™Lߨ…´–UÚñ4øËÍ7" ÇTttô€!ƒ ¼‘ëS'O@ºul’€s™™;·ï¨V£zמ=TåNÝ»¼óÁÔaŒT9¨¨Ï|ýõ’5jÅ+)[³V­Ê|·z”À„…s-kRr i ¦PP˜¼âã þÐä8Îu×vÈËË?á þ}µììì o¿ ×_ÿUÌuÝ[n½¡ãõí÷ïß§2ØìØÑâÅ‹{ýê½o¿í¡ÇMLJ´è5|6ö׋Ô¬¥eVÍšrë×®-L7ùáë½è­ã¿²üšñÉ;—™¹s‡Þ¦NF>nWÐdY•Z2»“&¤\ĺHX°Ç‰ï¸0 … 7/t97˜› †\W%4ÜP¢:×e®ëº® …cè`ÀqÇðíûó.µ²L+Ô 4â"û£Ú’¤#®18:Äæ¥œÿ*í;ˆOb÷ÝQIX­(_;j°ú<®„r<†‰­ôñ]ê–†émN®2›‰ËDÚU´¬²qµÝmXª>?µ“@¬^c;ÁN~´æûÙ¿áú%¦‹„+GÑEæÛFGUŽlN::–RÙüZ#Æ*#Å3E¸ŒÑšüh%&¦hÅŠ-ÐÏ,^¼8‡½H@£«X±âÅŠâªä5%­2ÏS×çÏe†[òZy’ú²–6ÄÍ€Fi31ý¼F/¿òôìÝ£]r¹Î JöÛ· ˆÀ`ü“>š9í¾wwëvë±c©Õ«W+S6îì™ÌI§HhHÌ7U¨NM–ö¢”%ýöëxýµ_εy㖢ŋ&'·þiÅ/ ˜9¨•¿¬Î¾˜}û}›7o–“ §N~ê‰q ~øÇ«o|øñÔ¿½øÌ]wõ=v<­j•Ê 7Ⱦ˜=qÂÕH0˜7gö¼»ûßõåœY»v쾕Û¨Qƒ@T`Ƈ3]fˆUå™É±%cK—.u"=GS6BµêÕ_xy”¸¸¸3ßã-¤¥¥?óÔ |¯ÿ}ü”÷'Žyô;îê›–š_«LÙ¸“'NNòÙcCt 1Îß)ΤlåÿpŠ™;wþàûÝy×óæ¥ìÛ»—v]@ü¾GddLûc%žZñÓÅ‹ûÝÝ/111;û"œ<•ñØ£ˆ…!áúùçŸ/^¼xW¿~-³/^€“>òÞsçΕ+[î›o—ýöÛoµãã«T­š——7uÊT5«Á`ÞW_~5à¾óÌݱcÇ… Y±±±7ŽŠ |ðþÌuÕhyïMš6)UªÔ«_¯|…òi©izÍúmÛ®m¥Êׯ_ìØqñ!`Ƙë"ôêÝ ,X„(ßdf€úè/Î °zj/¿òœœR1§Ï{LMMöé¿ÙHµ™jØä·ßmÑ¢Y‹–Í?›ý 4ñ­‰dÔ€fúP¥Š¦·R¥J]ÊÉ¡,2Ì›?gÞ÷Ü5ëËOvïÜ}!+«dllƒ† Q?üØuCÒ-¯…Š8[‘t¤øsÕjÕÇýíYC€Òqq“§½Ç§§§¿òÒ |Oc„7Þywê_Ç>Ó§wßÔÔ´Ê•+'$4ÈÎΞ6M®,>a"‘£‡6mÚØ²eÒÜ…óRç3´sÇΉoNDxïÝi{åocÓ£O“é'ë'ÔçÁÿ:DsçÏ™{ç=ý>ùê“Ý;wg]Ì*Y"6¡Qƒ@ ðÉŒ™n(¨9?Xx+]úRz:eŒU«U÷¢½N§MŸÆsÒÒÒ_zVÌéÛoŒŸ0yâè‡G÷½½Ozú‰šµjÆ•‰Ë8yjÆûQ¦LÙ²Éí“ÏŸ;·zå*ËD¦iÂ?ßš0eâ áCºõîqüØñjÕ«–+_þâÅ‹S'N?çß ,]²äÎþýÚw¸vúç³¶nÞR´xѤ֭Wÿü‹UQU]»juvvv¯Ûû6iÞ,';22N¿ðô8Û›ï|0eì³O÷¾½Oêñ´ÊU*'4l=íƒ[¦Ì™wûÝwÍøbÖž]»³²²bÕ,LŸ©ŽòâiÓ.ùü¹s«Yå7$#>thóÆM‰I-¿J™“v<•gîÚ¹ëÝñ­ÖÖ µ|ú:rø©§ÄÛ›| œ9súî{îà9U«T}óÍ· ÕàOüõßÖüñôï¿ÿ®jÕj{÷îÉÌ<[¿~ÂÀû«2QQQwßÝæÌé={umÒ¤iÉ’×d]¸°}Ƕ`08rÄh+89¡aÃGž|®»¾ã]=û€EÁ`^ÊÜy·÷»kúçrbc6ŸÎ0f'1õ·õmÒ¬YNŽÏÔóæþv`çöš4>vì˜:ÕÌK|‡Ú¼iSbË–_Ì›“–*&k÷Î]ï¾=‘—ðÆ›ï¼7e츧{ßÖG0NH“§@Á“¡æŸ&½5þÍIGŒÝ«OŸé'jÔ¬W&.ãÔ©§TˆNÃC!­]½:;;»Wß¾MšÉ•uúô ãÆ…­fDÞ|ó©SÆ>ýtï¾o ·?:ÆBF)D#4ÆuYf”Êcri®ËÎG)ãµö#ut-ÜÈ>="‚üŠ'¸úpjÛ¹ê!XÏI¿ä¡>~Ó¨&¬zhVéùD –Ê…'æÊ‚L‰k0,ÏÌØ6˜oyÇÌ'Ï/ù ¢‰êû¶yåmÆßú±J gÐ,ðžæ¤…æ­¢ÛA/Jý z‹0zç1œÈ2eùf‰CöE”›„©mËì{þÍéQö­=¾0úIãcêä)uâk×K¨·võZ~þ Ù°ÿ¡ÀÐuà×ãhòÛJÀS§2vïÞ›Poù+”£O©ì†¤ìvïÙ{o¿Á#FÞߺMR“¦Îž9›²`É´)rÇï$ê+³¹ÌÌÌûú ùа֭[öêÓýĉSóç¥|ôÁ¬;îêë ÊÉ'ýØ#?˜P¿^LÑHOK׸Aس{Oÿ~ƒ‡ÒºMRºuNœ81w΂™Ó?M•:Oãߘ´oïþ¾·÷®_³dÉØ¼Ü¼ƒ-LYüÕg_{»]³z݆olÒ´ñÒÅßžHO—¨#)Q¼XóÍhù"E¢š'Šœ¸¸ÒjAoܸyà½C‡Žœ””Ø"±YFÆ™9_ÏŸ6åƒS§N)nÅ)Ü8þU\êkAò °“'OL|{ÒSO6íÝ|dçŽÀ9s˜Í< vëÃNžH>lø“cŸlРÿÈDjjªÅÑÃ'ÒG ùÄØ'$$¨b&G‡¨¨¨§Ÿzzì_ÇvìØ±D‰â›6nžðö„ÛwQáëÿxcÏž½wÞuG­Zñ×\S277ïào¿Í›¿à³O>§øäí®YµvãÆM7þö›oÓSÓÉCEö}úô€ùó‚™°Ò¥Ju¼¾ã… Y?þk9ß ¦x¥[‰%Šk‘ØœV/R$JÍréÒ¥–‰›1.“oØŸ:yjÀ]÷õ¾½wzu/œ;ÿÃ÷?¤¥¦y| ©¡)jÝÚu›6llÔ¤ñ·K½Ìôñ“öïÛß«oïšµjÆ–ŒÍËÍ;tèÐâ”Å_}>¥À´†¤`Å‹oÒÌ Þ¨¨(•SªTiÑ/Ã}{÷:dà Á-[&ÅÇ×9yòÄÂ… ¾øâÓ´4²²Pàž7näèÚµk×´¹Àäå˹:ønÙ·yyÁA÷¬_ëš’×|»ôÛ/?û²k®²ߤ·&îß»¿×m}ÄHóò<´dÑ¢9_ÎfÌКPáí»¥ßžLOGS>•(^ŒáS´H”Ê)Uº´Âï–Í¿Ž4làÐA-Z&6mÞôLÆ™…óR¦¿ÿ‘F‹Ð¥{—@ ðÝ7ßórñcܾuëˆCï»PbR˦͛žËÌüî›ï>~ÿÃãÇŽù¨àËõE:Ÿ™9ràÐ!£†%&µìÚ«û©§/HùtƬ^·ûqK€S'OŽ}ø±Qc¬[¿^LL hr€}{ö 0価ƒ[¶JНSçä‰ ç-øbÖ§ÊháiòøIöíïÑ·wšd.žûå×tߤs·.@à»eßåå^Ÿdo°=ÿ×gG><ºmû¶Mä,Ð/¯òÖ¾ÿ滼<ãs¬W ‘³/^Ü´Éøúk^^žÊáÁ«…JuêÔ;'e⤠«W¯Ü´iCÅŠ•úôéûàc,¿ëÓOkРÁ—_~~ðàoçÏŸŽŽ®]»Îí·Ý1`À «ÁÔcÇ>RµzµÕ?¯ ×éä “ìÛߣ1 K-žû•Ì:uòäØ1ó`ÝzdêýP·sûöFMÇAQ MVyá™gG<8:¹m[ÅD|2ìÛ»gø !÷ Ü2IÒ‚_|b’O*ðnŽ7mÙòëè¡Ã Ô¼Eb“fMÏœ>³hAÊÇÓ? î~5Ó©“'Ç>öبMô>íÛ³gøà!÷ Ü2))¾¶ÄÛ§&Þ bG\-55|_­‡0íØz¬Ô\LÔ{MŒ¹Œ…\àïA“z?€e˜é2]Uh¾Â•Ç ÿ¥¶`=±ªL),•H´Ž?õÚt ZÛ0ò]XSc²°f’AFÒìj9UÊ“P÷€r0&¼¦‡ÐD;\5‹†µ®)Ÿ†ÂCN3­s˜I2Ñe ‰¶ÜñW8²È¡ç"Rao!¹üÔó>ŸÐŒ”L²3¯ÐóˆIË‚æù5iðoimŠ1݈?€‰8Dñ%LmH©ý2t´hÑ´a£†vgÂ4P`ðx¼ùæ[Û·o{ü‰Ç»÷èöÓŠŸŽ; ÂŽÌ” ¨T›9fÛTöÐ…' iÃ䧸BÏ…/2ëÑ¢5-ú‚°ojwF6Òµ[ט˜è%‹—^ºtÉKh½{÷€”ù‹øX\ÆXÈåF¤ã8|9»®ÞÕ¢èRrB Ô/¸GaGÚa  Ù`‰I‰päÈQom9f㊅Á‹¾gàÈÏG3`¾(Fš“@!JSK‚JKÛGyAX,ÚÅøw±ôø•M'©ŒQc”)óYjJØ«s<@¼Æà3zš‚˜I›&‘4èÛHã¦MjÆ×:°oÿ¾½{Ã4¢%3òD†%O°˜?#±ˆ·:7"²4Böí5(Ÿ'?±ÉmÜ$_ôþO$êv2ôÅ?eÐ-[%U¨Xaó¦MWnÍþWNÏd.ý÷€x!‘šd¾ZÅP{º@LF×e!qt…r=Éo‰3âób?˜neª$ö€AâÇ7ïõû± R{âü—éϨ |_Ð&³gtJr2S8X.‹jƒúš ÐW‚ˆz.¡´Ä±)ãFmÕt-+SJ H0 h˜HCžk…¹ðÒÕHd ²‹Ã6Šžœ‚¦0ZR€N;Zÿz ûÜ#ø#Z$}ˆ δÕïÍJÊRÑÄ3KŒGP$ÈÈâ?¦/@:¯ÔrrAˆHªa†b¦²o4߉SókÎ!Ø|œÿjÓ:Êãb)½Ê‡l¿"+]à&¨–P•·¤A¹¶(”’ ø¿Ø9‘%@`¢kŸgùd†ƒÑ;až°Œ0¦òìµ*ÉR‘šßSÄÃù ç'qÕ"0ÆÿЋà8L5iP¦Ø"QE®½îÚÔÔã{ö-Plæ10P¯_<ñL‰Å›Á 15«Žf‡fQ[·mÉÈ8ÑCkfsJ¦†d„JW’, ÉÚÅ.™ŠÒg®q2,Æ€zeéŠbfsbZêóÒnD„;ï¾óæ[nä…‹+V·~]ÆØÈ!#·oÛÆ >+A&Äok•’:•øŠ9qÙOc"$¸„Å)¹«œ´Zå CEÏ…£ô¯ MzN%?ûPœ%Lâz¬ §LƒBÂ×€K·· Æ4çðÔ‘Ú  K¤è×HøŽÑóŒdä3ÆÈ &ëó)•#ÇŸo _)ßæþ<´×·m§®Íñ^EÖ©½gžþÖ.ÿùêkË/ö/Qø6ÿRAùŸ|Wr!ôð«ÑûÕjÊ‹Ê0í+/FdóF½"ëò“œTÀ ;QåÝcªQ¦.£Ÿ„6%ÿgRk’ß%°¢þ|1TÏx”Æe躮·ŠêÆ+Âmñ¥Äµ“¨E~Z¥Œ0kNt#܉ì»RøFüiÛ2g ý#R?@*ˆ‡Ö;¡HšÛžôEð} T-" ‚C#µ5‹Þý­ioƒ_o`O3wx) arª…O)g®Ý.íIè¹öNJh4Õñ˜\Kh~¾™_þÚf ñÃLM‹ ˜¹’µ7LU ;Gá5;O92:ßÕ,dAø®D´Gè1?!Ì0<åÐÌ7?“¥šòù²¢æAHÈL˜EŠÅ ÓBó&É4™"E¦^&¥)OoÓåæå._¾ R#‡ø%Û”P6ï>3'Qz‰‚>µü“Í.(2ÃÍ'?_5ÁfSjSQM.Sþh‚ƒÊÜñÉtñÔˆ4öÈÍÇ5ÍS/mÕªUšÉ·p/f]ܱmû‡Ó¦ïض]ã%ì2sh  d*8\H3F™§†ÎXÜæéúÈDƒÊ_KP9`]hc”2K@ÓE­™ÔŒ _ÊiKS+Êî䯋Î.8+ñ”ó—ž:×+ɘÍ@=}D¸+À#:/,¿Âù?óËO_ȇLÖ×v-4‹xÉM]øÔ»2ä69ÅŠïø—ë/]¾ôÓòåþ-xç  JÀïKc-dùBUü#’o¿0D/̼öp‹)03_©ýÆwr\]Ìd€²>ïGíêF˜4÷¥?VüW=ô[RʘÕúˆ6üdis mn$€’E½¸ …M&Ït¢Ï€†¾IAY³T(“½A¥#0(ÀZÄ|‰Âóâ¨à0 ³R«Í·óß“|4}ãÞã¡E1{Ì%@s~}NN1ŠÄÛˆ 5æÁ:¤Ô&Œ?K”¨Õ?®‰2¿Æ8‘¡A÷Š„´}a,ˆHwo-1\|ž3Æ×ª¤l=ÿ†ÍŒH +E(±Ž8à”Ø~>X´Ë(UÒÐT|f͸ɂ&à Xxh™9†]ÅT޲6<ñ²Ïõt/©šjqrèÌx„f9 ©:Òaê¡MD¹—›‹. ±3 òÇ«ö(@*š€ùŽÖ-' Ø%bÚ  ÚdZ$øÎ Úåq*Gi>Y(XPx[õíÃ×D1y?7iH«†qí‚¥1¹Ê8k‘®q~jz@D ¡©œ8rÐqÔ‡«+ ü†¢aóš_~SCCûÏÀd ƒñT“¢g'O‘"Ý%ó£TÛæD2Kõ£–³¢‡Ä)€s~ðOÄzYŒÐ‚ O®f:ðü,%¢š_µpä‰Ó“Š‘Ë‡iÃ<–eež{^ÖÀüoÂáU ¬TÎïƒÏ0ÕV¬û_ðÐúï—X(Í— ¯,axºÿÓR¾]„z#7òç“þýžu[ð^®^º2ûÅ7)ñÁÀe ¹® †Ü`0È”v/”"mÕÛ§€Ê:•jµ8 Äq´6t‘%y„ñ«´0­‘ù*šòG©FjĨÇm¯c«[}ÊZ¦ÒÇrhÊ®5ðF›f–L@=A C™¶| £¤y’ᡊAØžrù÷…W™#5Öøý ðzhѼ0Ù镨±–˜“ÿp:­x¢„WšŸÒÌÀHLb(ÜPÊÌ4Œ&‘€ÔýAzs¤NÆWŽ5hMn^íQÆiÈjè,› DWµ.Ƙ #”ãæª¥Z~è «ãyª°påóeÜL+£n2¶ðÕ}•ð°kÂ*ÍÌk¯ANÍQÑ*’{ ´àŸU]^(ž§od RÃ0n…šÏÄGÒ@’¥šFã<sÙø‚ÄÐu] šBùŠ¥AušæÉf–ʶø°E6rè ˜%JÈB"DA7ZŒ‘R–.–•d üª ¢#b:¸ æ d&‚Αø9Vj˜!£Ô0}HÐÂ!óœ“!w!ìÍÃík7NŒVPÐñ{îH2\âÒ@"f⎶(- ׯǤNUz†xJÜ­€:®YG½2®jZ|Yµ§IËxÛˆÙÜÑŠÙ\¸2á„Q†¹¾ )œ\þÝx¸÷ìåk^…½S©Ãÿ™”Oà|äá_r"¨PмL Ò»!·v5bçß9ÉõÂf-SÊûÖ‹<Æðe#] Dßón½²Ø¿‘‚&¥52Ƙ+¾.㊙ë2&ÞDtyLJk×Â$c*_ˆ @G*î*r‡B§7扼VzÈ<ÌPRš™Jê ¡Æ¨Îoz÷ˆµˆ w^­¶ˆ É&3ò†³‰$‹âÁl¥)–¥_cµi–¤¢Ò’€xIõR@ºD9 •!Z†÷Ö»ÞùŸl#šT¢‘b²[¹vÑD¹Ž°âO‚ÆPΈ€Z56´8 !H£–E\Ê|Å=Ýü#RÑ‘·"Ü+ÿF}FÉ)GP3äë1ˆ@9>ÉsÄ1cÊíݘÐÀh~¡D P½[´%™)HÍVðAЫù‚ÍuT)sKTÓ¹Ü}T´*y¾?v :é_¿A1}X«1<"\YR¾‚¢e¢¢;-ø„JO¬±³+I*ÜË®~‚Eo%™5Äë3rµi9 Pãi9Ÿkà°2Bæb}µ§£}Fñr>W†È }*ª˜ãýD|èì‚I•İxõrK¡‘ÜNR yÈIC?K–Å3eÌ’°p¸‘eß’ðyçóÉkEc2É4™ì5 Ú%ÝØdA ƒ \¡p(!´Å¬`z¤4È›._S,Q¦Ë"adz ï ˜¬•1e©{ÿÇÝЦ½g&mÉC¦@SÂÉ ÃÍ FjsLƒ_˜x¿yãÙÅöéGoíz; /n®0åÛ`¸>ãðyµäwwE =W½Ã«¢ÛZŦ7èsÃü êo6§)MׂMÊ[së[®Émc¥Ù(a©¿ZÃT,[j‚ KÆ´F£†EëSéCĸÏa'Tèè½Y©."öt B³~!Ô‰cx 4%ØßÈ@{ÆçdઔÑDM•=„ÑË|FmL¨‘¦RÐ­Æ ôòó#RLj\‹É#‡|ôKoSQº3O›j•ð˜(džÂ|™Ê(-¤ŒÐÆP‡Ûîùz©Ãa¹®,OU¡Ê¶]žy[±"âméMùÊøhôL€°NiËæ~…<‡ ”ü5 ¢­Ñ ä.CINÆÔš4¬|=&dHG%«óo¿ð.½‡âšð€ÀÉ¡<ŠgÁ’w®ÉW?"%¥³(<šÝ£à•VÛ&–@"•©HKúÄÔûÄœ«^¹Ç|£U’ƒ¬Ì€¹Àä}\¬Ÿ1ã;àÿäû@Ë "HLݹ®‹´„QÕF¥%•ê>“cgÐý_&.ßO®[úÓo™÷ ô  ¼©ü½<Ü)€ŽÃC‹Å41ÂД¨@Çq€1—7zÐqnMni¬+%h ›.nÉ:(~…TW|,fJ-Qž"Óáå“›[ü›ÅÒÇ Â¨'l d°”taŸ ÒÎb|8$ÉAŸÁ=±Ž™F¡’ßVÛLò,½º 1nP 2ÉæQnÏ ¬ .ݪ÷ …<¢P"úÿDBã’bÃgå«Ëð˜°çÁ~Ì*L”¥Âú°U1<Û—JˆÉ–LAFÞ·êR.,ýžF½‹èj¶~¥é?ÑgþéÊ&Ñ¿óQ¥=½˜,A«ÀÆÛ.t öѪ)9ØÄJJ{TãQVI\»#ËK¹|H#V€‘Ó^M®«3ÁeŒzÇuÝP(Ä\Ft3DÇá1Â\¦J—¬K„›n\šiH˜±ÈBF‘=w";Àž<æÿ€öHjô¨úP†¢p0Øz(3•2¦bßD«L‹nfJqi˜ªaB…Pª*ú‘@€L¯Š©ûÉ|J––o<ì+T¼ž¡4!ü®Oj¢š —¦ïÐR¤xõI¥Ó§³<ê¥\² ?:¯Ei7¬TqÆP̙퓚~r’ÐŽ^:ºi|Zƒª¹Ÿ%;^Z©³ÐÄ@-*5@?wÑèp@&kKÇóºÎ|Öƒ©~˜;â’//ÆÀt„ÑYƒò$2>ðyc³5fÝëj‚­*ó‘ð3›Ý 6,<æÌì@‡Þð f-¡#2G6á3tCãö%}>áª{FNVà~[òõK…;öÝWºúÍ™\ß&ŒW  YáíFnÍû”Ñq…ƒQðVP»–E ’ù!¹|$F#çDôl¬IuGøx…4`fo @ÅaçÊ]q±QŒúÕ_PW¹wµ®ÀÍ\…iµ‡,•94ÿ†»UE¼ºìÊåZЯ^d¹È½Õ„d%h׺¾%Úu6J<×_ôÊ×®x¦Ãþ§ú^zå·y#© ÁŒÒ lAÆèê ÆÌLÉÜÈŠ”º3¥ˆµO¡âUN¿¿qs¿»¹Âöø§§?mqyYk$žä!($Î8ªÛÚ Ò{+× •ùâõ C©PšoOÊ^d`¯JéRÞ®¯×É` øwcy’W\WW3²aPÙ¸ÒÚ˜ÊSJâ@ë>Œ²Ê/½ç8IÑ 8" A1`”|H³°g'2`ŠczÞí^1&iÍóá#:hð5÷|#€r‰|þ/§ˆcó0óšÊ6f—²õ8oSê=WeµºLô$Þa€è¨Õ(Ô 92fû8èeÈÐb)‘l.1O‰ü «[co™_1>Äò0 ÝSˆ"¨5õ7¯7È#ÇM5ˆ‘ j1œ›ËŒm|²°õQý1ª˜òÙ|ê»`ÂÁf’®2_p<9ÑS}˜5…r )¼ ÌGñ–Ÿô€TõU²¨•1`6!x’Xj ˆ¸Tje°ºáµd2h[”‘?éqÔM)#^µ¯ÂûhŽ¡Y†O’ŒÓðA“˜c2À’é‘ñ2’beiµRšºEÒSÆåH:lD € 9ôÅWžoܤ‘æ)Júûä‹¶¬Ù°e͆-«7lY}W¿;Ô’¿‚nÔnH‡ë;¼ýÎ[7Þ|#HtÛV†}á¹—So<õ|ú¯>kžok‚¦ io‘1"õøÉ€$8Òwu"Zœa:ºRo\Ð7> yóæÛwn›3çk[Þ ÀK¯¼¸}çÖ;î¼ÃêMí8)Ùe,ù€ahØgX¾%eGø{–ƒ‚Um– •‚'‰oÿp«O~øøÀT-0KD­9&½èIRÌCï\êÒ™’à‘ÿT{º€º 5%JÄ._½âÇUË‹—ˆ© áX”ÎG€/4Æ„ÇqtÛ’Oh^ ùÒe§.ß ;òrÄt*{3›Pl’g¡Y W“)>êiŸ0ãL½ƒ…è 8jÐŽâÜ\ˆ3¬xñßý¼â›Ÿ,^¼„=£ÿ¦p«Ðwé#B&ê ŸVfÌ)Ÿ@Gri<Öæâ“ ‚ð{êÃçû_ÀÀ !÷?ýìs 6* Ö~gòŽª05¼™¿‡•^ÅôûµV_]ÁúåŸÂ Å®î8­š­!¡%¤9X-z4"¨í.9Wâ§ó„ݰ£$¼’)¹¡/~ë2pÅÛ°,7¼t97çÒåìœKÙ—.]¾œ †BLË)—¡+>¨)Ä#oÊåÚ ‘D.ñÆò'Eqøº.dvùÚo.•®Ç̱Dšx!ýµ2ÈÈ ò1DËbrRQœkEǯÌAj<¡çÂ3¹>ª Õ«Â.e†hˆô¦Ô“ˆ cÊR,U/ò|2<…–‹]fÂr5V~á’õÙ/_„ürx.š·ö€ŠJé$ØOŒ·"Ó¯+0Ѭ§F{À½S©$¹(W¦ž-ªv¡ÌÂð“„¢+Óø “ú¢ìˆGÔI¾c8Œ|†Èað…–ÿƒ@–ó"ŒéZ(ú·¶&™Ñ5#N"¶D®)½Û…LµÊ¢t ’!"vïÙ¥k÷N_|6{âø)®4ù½^®[~Ýž™yªW¯Z­z5æ–.]úùŸéxÃuŒ±ysRôl!mXÍšW˜10ƒÅéðmüÒ®5õš¨o¶DH(hµŒ°0±j&@%N™§¬YèÝ»,X°@e¢<#­Xñ:uºtéò²eßøÑBG$õ Eb‹!CíÝ·oò¤)6sEøH}Ûññ‡¹õ&æ‡x 6€ë2DÂyT Î2èÙi :~U@fÞkCXfj5{Zz±Ð”jLð7pKç›cŠÆ,[¼,ûb úöÀ0X"Ò yX–+GÍ4Ñ3u>2cMš7¿»ÿ½˜ñþûÆéLâ®V¤5rÄèJ•*Ïš5}ÿ}&‚[mÚ¼ùÝ÷Þ{`ÿéï½@7± êT“ò­n‚5°’-ä2@%X8½;dxÏ⡚tÅýMnމ‰ùv鲋ÙYvN›7oúàÃ÷ê'<üð£ábQþÔd€à™QÈÄ7°¦Í…| vV83ü(b[ &†Ìpë>€P(2EóV=%aÎWåˆØ©k—[:wš;{ö´ÉSB¡àUkº[ÿ¼ÆE²æ4‚Òä[þIA”aû)\á <ÛnŒJw¡òj+ ™Çu'ªkO‚i/+ˆOT)†Èç˜Z(8<²2àŒ1ƽ¯òtbÆh÷¢õNŠX5Dî¡i*fkÚIH=˜Ñy¶ÕЍ¢±Ä¹/MD ÿGêNŸ)# ÿú­Tª)b,=™Ñ,ýº“W{ô¥,9Sâ­¶™† azfφ¹[žçGä,¿`c–"žB§0Ÿíñ9à´à{V$×(ä{³Rká…`š $ZÐj‹Œž`œN¨Ù»¯bŽa+ý‰Ïú )^DÁ®Ûæú.(»Ö²/”Jæé=ܵ©è{_@‚˜è˜Í[~MMM½ù¦›<“À@Û’rù!*mP±`rI²äE\\é¿|»ÿÀo·÷¾G¶Ë´n o˜š&Áé$_ºö Ò{S?XµrõÓÏŽ½w@¿²eË>ûô‹ôdºƒ7þ9žßŽ5tØÈ!f3¶`Œ-;yÚÛ ëÿø¯Ç¿s<5Mu³rýòô´ôîûª>l=Øø‡ä &BÞ¤õ#6žÇÀåØP"Édl¼ %VP±psßFÉ(›Ì€;­þ)¢IˆÇŒ+ ÄíÜ¥s^^pÉâeTÓãÐÞzë-%J_²déŬ‹Jr™Û)ÂX2÷§|øÀÃclݺÕ_n¼áûo¿ß³g/‘^d((¿£ ý(&:æß›Ö¤¥¦uºµ‡·ƒðœ}¯c¢cþ½iUZZZç[z‘eÄÐDÂu´ø²d“Æzc h*<‹2˜†¹jPnù  [Ïî°dábiü*Ð%ÛAŽJ™Æ¤;TY‰°!¸äðÄ–-¯íØá§<°? !W©ËcµIÓ;ïº\æ¾ð³v£ ‹CGŒHLly]‡Ž+~üáÀ¾ýúUe&8Á²‰W™×îºëþñÖEúfñÒ¿¿ü2Çc¬f­Zý LjÕêšR¥22N­^½êóÏ?9sæ4QÁô¦ øÈD×î=`éâÅ¿G¿?áÍõë×þðÃ÷;wMHhpÅí\DÞ¤»gÀ€áŒê|ÃM—.å °Ó¥G÷î7Ý ·tî<îÅçi½¥ ¿þêkžÖˆÞ„8täˆÄ–-¯ëØñ§?Ø¿_QÐ?JzH¸ û°ZFºf M†/Ð:¤œ¤Æ«›f|ôẵk}òÉ;úõ+S¶ì+/¾HÏÿ+P25ôB§«=¢?*å;4of^úîâ’äk ^…Þh²Ÿh…Ï [ñG&^Å·D¼i ¨Ê¦!k&f()äf¿¦Bªv®8ÃNQáJå¾Q&ߌÕH9§<"L‹¥ jU‚eè~¨ßåA³†(Ë| X·d¢"LŠL<^m\g3•aëËt‚™†š># iSºcf ÝR’}|s¦Bjiú–é[Ê­âºú ]‡/@éÊ8œ)ù(Ñ>Í ùòoȱžRܪ‰ôg¶«fš0&$•ö­p•æÏ•hh‚ÝV8fÇÂÏ“OyÊh­-EeLŽKRékr1ð Ü$oF´(ÝôŸØÍR_¡g˜CÒÝêø~ ®Z„º©»KÓŠ®4_JòîiyéWZ{Ö¦B€dnÛ¶í4`Øæ[:w½¥ß½wx9!³3|“ÑÑ3ãÆ&4¬ÿÕçsÆ>þôñã©áêªpHŸx 9ŽÑܸuÍmwôUœànf¸Ìè‡FlÚºæ¶;úðê:4T·'‚ƒ1Cü ,ÌÄA2b­Ð²~ãUÌZ BÜ97ßrsÉ’±Ë—/ÏÌÌTkZŠìÝ·¤Ì_$d$(ÒÐ4bÙ·~ð‡ïÈÉÉÙ¶mû‘#Ç•#X|øÁ­;6ßy×¶zŠFËž‡A«\$°<«’Ì;ðÃeQâKµÂž4…è$âzÕ†9é˜È@IŒ‰…¨Œ~Ê`CNrkÆ×lÜ´qêñÔ-›~UÜ É„-ˆe}u$Õǃlc à—å+.]ÊÙµcçñcÇIA4ÁB|ð ¿>{öŒÂçჇDeôÁ¿ÊG„_~sšššŠ¢ƒ€Ü«£»u0¹à€ü&ËØ²‘£ q%oÔ#f_x¡ —¼ƒŠøÛ¹sÇ#†oݲå¦[n¹Í~5£ Íë‚YQü—$ªä¸°bFŠ+û*Ú?–ßÏ,EÃ0éæàºæêC’˜ ßÏ&J»ÐÆx஌¸•áÄüUUDtDy\¾T]!—…B,äÊ_Hþdu&—„º@ ä²`ÈÍ †róòró‚¹yÁ¼¼`H~:Q¾àð…¨^ÌWœÅÌypu4ž¯_PDBIÁoÊÒËvÂ-L; òŒz²•ÖÎTuŽ/T»nà!,QS) ê0À17ó-+e¨b”Lˆæ@TEMĸ¥ýûóüñ“/³ñN“êõŸ—ÖüØi-F­4› w M7ÔíI…TjmZÕ“¯¼|ŠÌöèÔR4®,ÝψXNuœ1HÕ t¬m@ÊRy­-D¤°Øà©†E¶Z°¼ü¢YNjë¿pgn °x@#¿å sߪxÄ|éí+ëÝÜ:gô1Ÿêr/çþõÉgS–~=bÔý S–d]È¢UeKMM›5½µËÍ¿8øÖ\Ê÷D,Ÿñ% ïc~NwZ}Y8qd“·2Ì"‘†a[Fh¢ Z"å ruYI©}ûô€óRøSixT«Z-)©eZZúºuëÍ)ðenˆ ñóϾüü³/©X)×v˜öѼʇ4½Ü‰>£$)E„|&0&ìRäC’kA?0.U0‰ œ¢ø>2JÃò,³TñÆ€@^H°ßEF@éž]¶x)WW#ãºø˜­2Ù=È UCµ1;wö×ó¾þÚÁ¹s™ƒõ§Õ‰KA gçÌùZgYLcŸüKÚ±4€µkVÿýå—)Ï¿ôRÕjÕ6mØÈ!*V¼øs/¾X´h±I'Ì›û5 DÇD?úØ“]:w{öÙ† FÜ…î®K÷îðͲ¥Ì1 ›ô8 ÿÀ+®~•áñuj:xPÒÔ®S{õ/«øí†õë7¬[ÏË_×±ã+¯ÿï)‚2tpÞ¼¯çÍÿZôâðkãcÔLAÈwÚEæ†øä„*ví•âYótf˜™é#d \qøwn^î‹Ï?÷ÙìÙƒ†ÜÿÍÒ¥Y.\Y;>éÊ©ì? ¢•0Ï¿áj 5¿¹5’ˈm†yhª0ü)¡")å×±°$õ+\dHþrwTm® B禔£ÄêÊ@ßîi`™²ßá6©òŽHqÅ\7亡PHybE”¢‰,é%kÓÔ‹”î.y:/ëJ×.J>®§Ô”Uó¦D”Gu²ˆøü¹Æ4 §ÏCÄ|ï#Ü%àQÍJY³>©*I…Š'&Ñ#Õ?¼‰2xJ%€ð%…=v~ìrtL½/~çäú&_fêß_~¡l«Ó+¬kŠô¶å’–ìðUm#ÁHS ’ 4’k‰]Êjª˜|Ä4M€G3ô%/ò' A35•[N j~K•Qv¡µ5ÿ¡Äö²Þ`¶à”Ô-‹yå®ò•™*3¯l¸FõªDGî{;† ŠàÀlŒYžUå£ 0ƒKäÔ@Ñc*©€‘‘±xÁÒ’%co¸¡ƒý Œ€K?ç–‘ºõè OÿÔuC¤š5*ò”€—p©ÄaĆñŽ€É/*€½šu‹Cºä7N½’低 àÀÌ‘ðg•+Wn“ÜæÔ©S«V­ñ¡gŸžˆ¸0e‘ëÊš%ФFãç¥K{Îæå™þæ’c˜‰ù=¿‚&µÜDb⣤jOVp˜ëÊ#d¥EæLKl+0EW¨vëLì¨GœJ}Pû^¨“1=ŽèܵclÙâ¥v] ºÁP(/ÌÍ æææ]ÎÍ»|9÷Ò¥ÜK—.ç\ºœséò¥K—/_ʽœ›wùrÞåËy¹¹Á¼¼`0/ ºÁ¼P0 †B!וtBWãÃgFìŠFûB¥ÎÌbY2†.ƒPˆƒn0èæCyÁ`nn^nwÄ2Êp]2¶¨ÞE'E*2Ò#M—2_z¬ýHDkñÊ“¥¥…² ÔÆ¬¡DùÏ|ħ~å™çžQùè8Ê”µ­t%<=1`C‹–²EóGS°ÕÆ$^]5ÊOË$âÃ/<٭«±§à”ˆûÓÒÈW¹.œ þ<=Ê/3\î†yD‰êšè‚J¢ûL†@3ÚòÃ6“ú»§#åsþ/óάjHZc7Ö7-;©lRZ ­e‰d˜F£œ…#2×uãâÊŒ;¶cÇë‹‹Ù¶eëøñã·mÛf©õêÕ:lhrr›¸¸¸ÌÌsëÖ­›üîÔ£GŽÃAèÔé–¡Ã׊¯uölæâ…K?ýô+¹ Û]›üÀƒ#êÖ«sþüùeK¿ÿtÖßý°pïžýýî¸Oσøøš÷œœœtM©R§NúyŪÞ›žy6 ­Vë§Ÿ~¹£_ßv×&/^´ŒöëKs~è]'·MfŒ­^¹Æc*U¨Pþñ¿>Ò&9©H‘"[·ìxgâ”];v©§³ç}Z§Nmuû̳O>óì“êö–»Ÿ>}¾ž÷9-6㞫no¼¡sFF0ˆ lÞ²ñtÆéÛo»ëɱ·kß®X±b»vîz{¤72uBc  ]ÛöC‡©[·nÙ²e.\È:|øð쯾ž?o¾<G§Ø%'O}§Q“Fß}óÝsãøÛn¼2ÏTÑ(ìÕ»'".JY캮ôèJë œ^½zÀ‹̊š¶Û_Ûþ¡‡F×­W÷ü¹sK–|3kæ§?®øvÏž½wôí§º˜õéô‰-ÔíÉ'o¾± ÐW6ÌM™]·NUæ¹çŸ~îù§ Þ:Î8M­¿ å+Œ}ê±ääÖE¢‹lùuû¤‰ïîØ®'+.®ôŠ_¾;tèpïîw¨•[¬xñ5ëW¤¥¥u¾¥Ïâ­¹.‹‹‹{üÉ1:\S,fûÖíÇOÞ¶}'“1&Å¡Øq59¥ðÄÖ®SgèðÁ-[%–.]êìÙ³ÖmüðýéÇåËE½Æ^/¡þàaƒ“KÆÆž>}fÕ/«?|ïÃŒS§T“oO™ÐªUÒßž}ñ±±DEyûÍ 9Ù9}<:ºÈÌé3g1¤G˜ÎLÛömË–+’²6Æ IDAT·qý†ô´t —æ@ñuëôt_R«–¥ãâÎežÛ¸aÃô÷>:~ôˆxÌ_þÇ߯¿ñ†GG?ܲuRçn]ãÊÄ¥§¦-œŸ2û³/\pU_“?x¯I³fjð§NÝÞ£'(–‹ J•.½p)Y¹2}ò±õë×Ê–Þ}wZ“&¤µŒS·õ鉊É!"ÀŒYŸÆÇë•õØO>ö„^€}{ô8sö4ìß·÷•—^<~ü˜0OA§.]¢££¿Y¶47ï2:Àê'$ÀÚ5k…M{yãÆ Ý»÷Œ¯¿{÷NDõZ˜8]/9¹mÙ²å6mÜpâD:§ÎÀï:hýúµo¼>þ•W_ óÆ=ó|‰%^zùo¹¹¹#G>p߀A λï¹cÓ¦ê¶bÅJ?ÿ´ÚÂÏåË—›5oX¥JÕY3?{õÕ—6nÚ—LLL|ü±±Mš4UÅΞ=Û¶]R||ío–ýKefgg'¶lR¥JÕå?þBÛ\½zÕ{ïOÙ·oïéÓ§K–,Y«VüÝýîíÛ÷v¡09P¢xÉ%J”¯X¡hLÑ3gÏT¨Xê%Ô畯PáÔ©S>J¤0͆0yšI!§n»­—r_«öÀû7o‘XªT©Ì̳›6müøãéÇŽn')ókÔ¬yß}C’Z%]sM©ŒS§V¯\5sÆôsç2Õꌉ‰ùö‡å'N¤?úðC=òhӦ͢¢;¶ïxÿ½©{vïÒr€´jݦÿ€µj׎‹‹ËÊÊ:vôè –-^lYT5jÖ0h°ît•ìÔ›Àª•+{õéÛºmò·ß,e~jB¸ŠWZè?·¡RX-— ¾ÖHþ Z:UÄnÈD†Õ–h _”ñfµ…´¸" ­yP¼¶6@ÑøOšA|‡/AÑAÎRÔ¹ãp @…ÆÐèP<–ΫT[~ž“„gAP©Øú¢~óNÃï1O×0p”×R1FÉA™¼—ôµ¿•¨¨éAýØjÁGu “4b,’¦4ªÏ[ÊífÃ=Êôª¥Í$t–))kè >­X Ö€rÚ¯ÿ’Q¹öSµN«¿þ-2z|¶/¤°«ì÷&«a{í£7Óoc’‘àgТߵGùó¶)kõ©oV–%Ö¬}ÂŒ¥¯Áª(‰>PDÅÍPq|í©ç†\ÖcÑSh¢×»– ÃQdØþSDÜ ÒcVU„å¥TrEË2€ë¾õÖ›UªTݱc{:uÚ$'Ïœ5ëî~ýöìÙ«êµINž6mjLLÌ¡ƒ‡öìÝ[«FnݺvèÐáî~÷9|$vzöèöÊk/ÀþN¤ŸêݧÇ5¥JZÀ @rr›w&¿<œš–Þ³g×R¥®1DÖ¨q£fL.V´èæM[N¤oªS·v¿{nÿËM׸çþŒS¼,ŠìöÈ‘ãP©bEJU‘ÉËó B…rYYY™™R ‘³ É^TzõŸ/–*uÍúuë'ÔKnÛªY‹)îrðÐ!ÆîÞ¹7ëBTªT©b¥ G;súŒê8/7+»wíͺÅTª\©R¥ G;qFMR0/H¼=iÂÙ3gfõuýúõþrã Íøà¾þ·mÛ†B‰†Ž;Nž2wïÞ³k÷îØØM7yéåªW¯6iâ;RžˆÖÚ¶o—Ôª%ôêÝsòä©iié ÿBÆ(O£@öîÕ,X$@3Æ€ArÛäÊ•+mÜ°éØ±ãˆŽA¤¼Àä)ÀÁƒ‡RSÓz÷îQºt) ù€°wÏ>oÞ¢¹ºV³»wìÉ:ŸÀñVñè‘£§z‚y!Ë|üÇ믔*}ͺuê7¨×¶]ëæ‰ïÝsçÀƒ¿Ô+OÂ@tcì*#äºÿ|ã•*U+ïØ±³vÚ­Û´úhæ{ýï²oï~9b¦eÍ œMÙæ-šOyoRLјô´ôÍ­V£Zçn:\Ýð!#8 Áæ‰-&MX$ºHzZú¡ßÕŒ¯Ùçö^×ul?¸ÿS'O)Ì8§Yó&oýcücxjÜ_—ÿ°âí7Æß;¨ÿ˜ÇÇlÞ¸iÿ¾}`<"tëÕ–,Z¢”$·–­’Þ˜8>:&úèá#û÷¨^½Ú-nm×¾ýˆA÷=r„G")>{ç=ýâÊÄ}·tYllì·Þ3î¯GŽ~ôÑ'¸ëž»Gë=4摇Æ<¢ª?ÿòKÐùÆ›rr²%R£ŒÀJ|N÷ï3ŒØ¸ISðÑ2àÿ±÷ÝñVÇã3÷>Þã!HW°ÐE,±&&bA±ÕDņbïKb‰±ÅŽŠ½ÇÅcÇNbEAé]yïÝ3¿?vwvfwϽ÷“|¿¿Ëã½{÷ìÎÎÎNÝs ¸ÑUW]WWW7wîœ?üçÚ]»í¸ãN[mµÍq'=}Ú ¼o¿þ×¾©e]Ë?ø`Þ¼‰=zôØ{¿}·Ý~û£G¾pá‚‹.¾dÖ¬oüÑÞ½úül«­®ÛðÆ£8|ÆŒ/·­¶Úæ’Ë.GÄ©S¦L™äæ…þ­rµDüÌL[s$äÏmBˆÜ9)eî—·ÞnÉT¤&±TMÊ<ÙIªlJ]§°]9M‚ù#&Æk†‚Éõ/à}_⾩€6šU53ÍTˆP(øeôÉvnóÈáäâ®I ›È7ŽÒŽ8Ê~(¶6åõk…â²çu¥ÑLžö¬íB´½„ñ­éKÝÔ©cÇ×_{íÈ#Fe-ZÔ^xá{ì¹ç1Ç{òI'ñsöÙuuuç÷»±5€N;ã´C1jÔQçœíŸ>zü ÇÀ—_ýÀý`ËúúK.½À á)p܉G‹ÅÛo»çÆÑ·@ëÖ­ÿtÕc’}îéõ-[žqÊ9/¾ø²YÉãOuÄÈÇ;ò^Ê%ƒ¥K—@»ömEšRNeKË–õu-ë,þ‡ßKð”mÛ®í Ï¿tÝU£3 B¡ø‡K~¿Ë®CGqп»ØLö÷ç]d°8î„QGŒqß=<ú—'Àž¸^%øÝ9¨Çž0êÈ‘‡Þ{÷þåqÖ†‚qÛµowϽ÷ßuÇ]“CqÚ§sìÑÇs#»ÿû"âyçünܸ'MM¿þýo»ýævøÅõ×Va!ÑDzxñ’öíÛ}6éóyó˜3ÿùÁyóæb^ý§?™uµuÏ¿ú–¾[þÝq£F9òžwþ;î8Ô¢$_sÍ•Ì!Ï=ÿ’í¢Û\rÉEf"GyôÁ‡Œxø¡Ÿû„å ››…q,ӿ߀={NÿrÚ¤Ï?wê·pÑ"èÞ}yB 묳̘1=ÒܰzÛv[o½ÍòåË_}åWë·J¥ÒQ#îÔ©ó¼ys/¾øÂüÍÆƒ6)‹Ç3ò­·&p{ÁùöÎ^s ùeÞ¼¹G1ò ßÂ$ºù–›n¿ýÖK/½¢L¯dyø¡ˆè²Ëþ´×žû˜šO?ýä°ÃùÛ‹/˜€ÿöâóŸ}þÙŽ;Ýþç¿øýïÎÉJDD{ï³OŸ>ý.»äa/ð¢œåv41åê«®4'äuuuÏýí%0Æ,ü“O>­®®îŽ;n»ÿ¾»  …£>ö€ý}ܱ'ž~ÆIf4D<õÔ3ZÖµüýyç¼òÊKfÅGŽuðˆC8ò¨+.¿½n€N:?üЃ?þˆé{ä‘GtȈ:è²?^̃ßsOD¼ì?ûÌxSÓ»Oß«®½v›m·“í)§Þ²®åïÏ9çÕW_65GŽ<ú #?räŸ.¿T3¨Ù·Ë–@Û¶m«Š!}T”¼¾”sÕºã oº´ü¢ÓD²U%O2]cK¨<‚k‘>{…úDu¢f\0)ÐåaúPνÓ}G¢¦¦R©T"€ššDöîSû¢¯¹1Ðû‚œ4,ᢴOc¤3 3J±X, @©© ±P(XÐ⟻×E#D&Ñ×¹Ô‚¦w¨ê~‰óG21±Â0'ð>ôÀ<Á¼hJ= œÄŸ2k{IžÇc¢²\…àø¼,ëçfÚñÌ(»ŽÖO×À£)ÇA‰ð£½­’Åž!òó ‰rg’+åÍô˜„RyÄ'” åèÄ`MüׂƒQ”–+üNQ-,ä½+ä%w<ëë™å‰â]p 4ÚÝPÖ9 ßMc ‚U†ñÕD(ª)S¤ãÄz‡Iº™¨²=êë믽æZs×ÔÔxÕUWÀàÁ›JÈ¿=ëì½öÜgìc )áÞ{î€p³.]Öê²ÖšsfÏ5Ñ,"~¿bÅ}÷>è§BD@-ë[Ø¿¡aÅ­cî4Óûî»ïî¹ûÃöíÚØòçS_|ñ%Vw·Ý|W©TÚj›-…캢U*…‚ÂösÔ£´­û#Y¨®®îæ›n3/$/•šî¸õØ`@?Ò%†ï.ˆ £ÐGq×5^€ˆÜïIúЃ!¢AoÌ  U«V0qâ?¹rÒ¤IÛlµýÃ÷Dz°Î3g§‡í±û¾pp©©I84ö§€ócºí¹×pû8gƒq€Ö­Ûüò—;44¬xþùéD°{Æ-[Ö¸ACÊ[o¹ pùwßÝ}×} ß}èD|‰ÁO´lòuuuucn¼Õ¼“€¨tû­wÀ€"<@ÔÝ•”úú–£¯c·©©ñÚ«o€MDŽ´+ü¬iS .a³ÅB¡óûôë3oîü»n½“ C€ŒJ·Üx˪•«6Ýt0º×«wìÔ±WŸ^óæÎ¿ïî{‰2Z¹jåè«GÀ–[m ó”WDø~Å hhh€† ÐÐð¬Þ¶­³kF‘""Ýu§š5{þo«V} ž¤ÿîÂC8xü“O±ýË@ÿ $ÝìÿçŸy޲’>gÖì ¯¾Q,78@èÎÈ’øåvhIO͹–¹%O§–iƒº/²ån³V0l·á`ß²ã•ÿ{ï¾ {îµOË–õ pÝu{üìg[/\¸`Ò¤O#Ž;î¸SMMÍßÿö·•+¿W£»ÒªÕj°Új«Àj­V€Ö«­>7¤™åÀ~ß÷Þg?øè£~œåË—À¦ƒ7ãš 6ðö[ï?ýÔsö;Â×_õæ[¯×´¨™1ãË7ÞxíÍ7_óÍ×[·nóùg“&¼ñÚ›o¼–QI›¾0¬×ËêD>³òêÑþtèСW¯ÞóçÏ7Ñ,ewÜqëªU«6ÙØˆ "b»¶íûõëÿÅS_}íeî»çîR©´ù–[bÄ9ãÆÙxæ™ñ ÆM©¯¯€>ôéS¦|>|Ø.‡òÕ®]û~ýû1u*G³`ÝbKÁÐÚW%m³*•2ÞT²q²=¦®²ç«½ºò?¦y'Ìé÷"½’ÎfÝ"'õ* 𣑾­MYa‡#¹l=qìÊ ôÑ‚²îfD¥Ì<¸ÔØ”5•¨©©ÔØ”•JdnOÍ2È2‡,™Û\±°7ô›h´(î7õ¦¹7O˜¡³ ššJMMM¥,+eYFYS©ÔT*•J%÷!+e\(#þ(Î[¼ÇëüÌ­®ìPD¶@kkB ÒC¦—ŸØ¿æ…Gîå™ÄûÄ)¾¡œÏ©F @Cµ û»õ–4rŽõIÈ!ÆqSKÚß|œmÑ‘?<À@ÎvŠý&’#0~nz r| ÊZR§®þè#rñ,$Œ»¢›ÂDi¦ #—w-½éÜ®|Sô¼>³m½x„Ì"°+O3;åäù¿¹ìk­ø‹ÌS¦»œ„8¦_­éKú—«m£á4þ¢+É*#óç/X±bÏcÑÂ… íÚµe’âç“?€ššÚN:‹ hÙ²Z¶lÉKÔvõÕàë™3E$€3¾üZMŠhõÕÛ …Ù³f76®r¨Ñ´/ÄCD c现xñ’µÖ^KÖ/]²¬cÇŽ</×®B†4ÿ²Àx³ ¼/»`ÁÂ+V€µk0{Ψ¯¯m9©†ÈÝDAæ%¯ÌBòÿZ²xÉÊ•+¹å÷+W,[¶Lìî#}òñ§›m6ä÷çŸwã c&MúlåÊïø†âd­ÿ~ÅŠéÓ¦ƒIˆ æ¥$ ¬_­ÕÐ~õý÷+Ÿö¯¾æ;ï2´e˺qcÿÚÐÐÀŒ@”QÛÕÛ …Y³f556T À,=scTüÜs¯ dÁÏÑ×À‚ ¿ÿþ{n?wÎ\hU_ÏcÿN¯¢ ‰,Xd–ÞÔ,Z´¸¡aEÛv«'Ðsä¶NŠÈM+ S§ŽðÕ×_‘KðF€ÆU«¶ûÙö+Ä:ÀÌ™_k.-X0EÊŽ; BAi‡¹ü…£!¢}¾ñ_Ÿæ ]¡Ç”)S ¦¦EÇN ED€ºº–PײΒZmá‚‚`Þ¼yкuë*å‹%Odzsƒl,ÜÁô%áŽ[@’Ø´B€–-ëwøå¯J¥Ò /<'A}ðá?'N|oðà!cÆÜv×]·Ïž=«Oß~#U,ÇŽ}Üæ jdvÙu<óÌÓn€ªiÐܬèܹs±Xô_;u€ϨÍ(nøÎ»oŸÁ¹'žpJÿþ´lÙ2lá(Ó·o¿÷'¾g¾Ö[ôìÕ롇°éß\Hu2Ð…ÝU÷Í1$ß1Ô®}{˜ùÍ×ÒŠ66®ºÓÏA°F‡N`É’%]º¬%-ö²eË:tè`²páBs–eÊ¢E ÁE°ÌäŸOúlã79õŒ3ïºóö)“'Û M?èZÂf,[¶¬CÇl‰ã'ïúTW~S”ëâ†Æp±¨J´¼Ï.À…v+þ&ü±J3Âào94Dòª(J1"釴ƒ;âçòèDjrçÒ6ös‘bS)3¡H“{’Øص9öP“3:Ókƒ—pþÎîºMqçobÌS$3²I'æqM” Žãóô(}e;¿«;Åá¡å‚ØΧžxÝp0ƒìW”ËEš#YG(J/tréõZ•i›d7¥“ØGlM$ÿ€héA%Ü÷Й5½¼G  dÉÀH¸-áap8^òkÅBi¤Ò-ã/9~Vº£l\•fò«úçöUtË¡WЊ» |W%ª}[ï›å…4¹èždÞ7«•{Þ´7y‚r›Ôg¹$:QÅÃcÙGä·ù0&Á{-|àH¢¿rä1p&ÑܶÒ÷ê³y¯\†R©ä€Ø6ýûmpæÙg Þdé0i8v]²Ræ&à-Ü‹E€U«Vù© øê°- °Å–Cž~öñ`°R©y|ÌH^!çL¹‚@x­¤RìNŒ†ÿfOнöÜrþ¬Õ¼o#;Ç;îOq/GÂÌ—$·âðÖ[nßtÈà-¶Å–?Û"˲of~óÏ~øØ£¿ÿþDAk(IÃçq€±±D@:ôWõõõO?õÌò†Ä‚#‹Í 6‡·ãžx(÷šhËX šEh\µ …‚Ùø]¹Ò-½Œ¸šà,^…R&$v, rÕuÑL~(óÆÐ,+qKÓšá'Ævƒ Û@æî&ÈüU¶5!·×ÌHV¡PÈL:A©T„‚]DNl&r©GÆr©#ŽÜfC¯Þ½{÷éýÕ—3>ùø#†*´[ï¾}?í¤m””zÎ:«)©?æúÑc® Æ$³í+»†Úº£þÎ ÞÛ6'˜©e’}ç&‚­x-wøå¯Zµjõê«//Y¶8Àáü Î;ïÜó·Øâg]t LÿrÚ÷߯X¼˜}ì/1 ½zöîÕ«÷W_ÍøôÓ¥œ-Ó§ð‘¾,?,6>æ˜ãÞ{ÿÝ Þ˜0áB¡Ð­[·M6Ùôö;`È{fÛ¢¶¶M›6­[·^sÍ.ß̜١CGXguëêêæÍÛ¡SÇåß}»jU#€OÖóy«!yŽ”x¡÷ÌkæQ€ðnb¾èÌǦ›yèáÇ‚Fj4‰ø­2{@*aºï¾»74hÓ!C62$˲ٳg}òñÇO=ùä‡þ“áØA‡ yè‘Ô vJéý¦ÜÒl‘Ç)×W{AÀ$Ž}ª$‚RV2p‘1糟›7 á;Km·Û-Yñ²NfÆ·´Ž©· FÔüXNf-pãÅʃwb¹µ±81(yB:Ö8qµ˜ŠE‚,ärANt-nDPÍdˆ2C è(~Iy±¤FÕÜåá'»Yz<Ÿ’†j-ìbxöðGÅžu"ü¨`*(VuùW,Yµ2 !þ•ÜådE½g ¨ÕR Ú<ˆ =ápð.¦µtæmZ¬;€#ýÌÄ‘fQÝ —ŸŸÕ F¸ ŽX„O‡Š½¬”F¡»ÔW–Q-(wz§0ãU &”ã»é´Š%Üw²öZkßsßÝÅbñöÛîüì³Ï³R êêꮸò2‡Æ!Ùä-f²wÁSµðñGŸÞqÛ=jnYJÑ2·hÑ«˜±ÇKY‚ÆÆ&hÑ¢V´b\#ËÑl Öèn–¸8V("[§ÌÔA’ ¤í¢]ck¿ýöÛß8bë­¶ÕV[öíß·¿¾»¶ûða¿;ïÂqOŒ#²ÌfzñÑ©y„géæoCÖ±O…œF°~õ6Úhà×_}=ñ}™âhxó¨ Ž8l´ ã\;1¨ 8s½4Œ>$Š$`¬ðÒ=´@H|ÊŸ'£ã roÅ£ÌÛŒ È;¹äî­• Xøò¤$#€•†%¬é’e¥RS‰:Âþæ®ÃÍã ž—ôn’_Ì(k®Õå†ÛÇ‹Åûï¹oêä)ä¤þw_¶©ÊŠáÈ9rXÀUp‚C9Ч:KS½¿å ’‚åðÙÛ‹:¶;<óŒ{Œ“€óí²¥gýöÔnÝÖéÞm%Ë–ôX¯çgüöÚë®ZÑÐMv¶›‡ãôR`ÿþ—–ÕWoûðC½ñÆk¯¿ñÚ¤I“&Mútܸ'Æ{â’K®Øgï}`À€×^sƒi»—·‹œÓÏÙÂÂ*JìØ@%¨ xfe¿ŽÂµ´4±sŒÜÐ~&‘´šT$š‰Ï’¬ño!ЇAëüÉçñEó6Ïçô„E@{ ƒÖ•¾ÇðV­êo¾é–oÃ-ÍšÀ: -‹Š?ŠyðG`Uc#´nÓÚy1mÚˆ‡!@S–À’Å‹_zé'Yì ùix™#„Ž;ÀÒ¥Ëâijð95ÐØ¸jÅ÷ßwèÐÞËŒ”øS¡ wq,0­¹–<o`$O"@MMXS€b±Æ!žáõ×'@ Ã÷ØíÂ?üþ”SN7öI!l(ãTü‹’´¦¬³N÷Á›n<{öœwß~ß]F°gN¸çÞ{À¸qO?žÌ͎ݯÆUféÛ0@ض­~†mNG'ᕼ Ñ&j›•˜{}1‚P*•<“#€|¤­çDF`ã7 ¬ùÉ€ óû… JY °Xa@¡XDÄRɦA?  CÅbѼÅOlçóJUi}éA´hQ;tç¡¥Réù§ŸuËMò<;ï¶K}}ý=·ßuç­·ñ¬\¦³¿ÖjÔ”ˆ[@™ws1µjV*9'Åvû+-;F¿}=JŽ0£­»îú6¸pá‚·Ü[‚¶0sæW3g~ݦÍê—þñO3g~ýä“ãÂ9Ô´¨ýÕ¯†–J¥çŸ{Ö˜žî®‹`¾2¥©© «ËR(¶Ývûm·Ý²,;îñsÏýíUW]nÚiÓ¾8ó¬S·ßîÆí~îygÑ>|Ï!C6ûýùçÁäÏ?—ÒF´U óMTÑÇJ]Úg«È]0@Ø©”J,]ºäõ7^U sÜa¸E¥æV‚ìwÞ2¯B,ì¼ó.gœuöQGÃm)sƒ¾þ*÷Iå•“I¢^¶lY¼§\¦cˆ¼6þ»“× Í(j`±Luåüèÿã±{ÎTÊ…&Æ+‹B0sv<å$I6¶| `o:ͨDD™}ŸªÏ1ÐG¬~ËÐ' Kr)¸æÂræ‘ÏÛ$­ѹn ÊuA¥ítq¶‚dG`«Á!@Ú“’Ý1¸&?¨Äžy´óp`v¢}…¦âŠÆ)8ÙL˜ç£Ý ÄÕ€9àÐ~ŒÈc‹1k¸¯%|®HøÃ·<î ±øO•rmŠHŒp ¯Tj%ÛhØ!CV*qúS^7©u Šã?‘cÏf]öï$IÕCr& rUØÛÆîÄT¯€z  s6Üœ½‡ÑÍMüg3K›§ J„9¨"6·}OýƒÐ¹s§úúVèˆÝ©SçV­Z-Y²Ô±sçÎðÕ×_Kà]º¬é爀K¿ýºwï.›­³nwžœ§Å‹–¬X±bíµ×ZcÍ5X²‰€F´`þ|è¾î:b¹m2hÈ9ª²Ñ 0yòT°ü[ié¹N_œ:ù‹ÚÚ}ûõ ÛGýÖ÷ÜÇ|ÉÛ¬`·ðÈr®ÇÛ*7Ç®™!')t-Ú¶kÛ®m{fží;´iÓÚ<'Ó®D¡ØeÍ.;uòg @ãÆýuúô/;tìкuóø û(«µZ­Wï^-ZÔMv g@í±×nð䨧ƒ a±X³ûî»dYö×'Ç»…qhs¾ÁÂ…‹ÍÒ¯¹æÜÝ-}šÄ2‹œ'Ñ„„Aâ6ß~÷ݪU]ºt©«k鈀믷.¸·(ùÒ©SíÌ×V­ê—.YÙC@€m·ÛæØGõë×—ˆ\`F´`Á"Xwu0ËìÛ‹5-^zýÅ—ßø;‚Ý Z´h1Éò/Ø¡c§úVõ .â‡yØa…‹S( …‚W]™óO¶Þv›¶íÚ¾óæÛ‹-©×>ѬcÇNàÞ)â u^³3øvV)©}FÐôFQþ¤Ã¶ÑŒâ{TkhÕ†^ °Û°Ýà¹çžqYå :ŠOG<¦]»v·Ü2FŇnœŸýlë¶mÛ¾óöÛ Ì'§ þ£ŽAª´nݦ¶¶vöìÙâùÃ0}ú4èÔ©×dY6gΜ æsM¡PØ{¯}{ôè¹páÂo¿ý–-[úÎ;o!âܹsÞxýµwÞyëwߪ­­6mÚ;ï¼õö;o-^ºØvF« J&-òSâì„¢$ØÍÓ}Œy2/!ïÞ­;ŠH¥EMí³Ï¼øÜ³G(æ9ݺ)c„€n4¨k>(ôpr baÎkš´j×7{æ™§¿újFûöíWs7ŠÇƒ¶¸Ñ ~ýú·©e„qÀÀðÅÔ©‰IÿxáFù`u5‘pˆ üV‹´<¸î äx:A-í›”-”þ¡ø'§íWLÎIÊi f$€Œ #j*eMYcciUc©©‰o©ÁB b  ~°dnC“`l3º X´Zšõ0æÑ¥ú€;Îa¶ðç1hm"Q&üž¥ðI‘:†"sk”¹—2ó覌Èü”l¥a»ü% —·Ü¢Q™õŒ¤ÌUÐÞXNá |úš”3a’ð‘]¥€æ k>aµ ¸@¢à·©e`àšò£ ¤Gé'èw"Ró/KžøÒ-jÍ:(Á£­KYtbÙu EÔ†%Õ€Ú”ï Ðk‚ZÞê*ø›ƒ?Ø@Ól>…˜Gèz…)t6¯=‰b8Æý»¾N²%l©A«ÁIE>0 õ|ØÉ Ü06’÷ŽRtîH˜_”U'Ÿr’Ùá.Ö´8åÔ“à'ºF8sæ70t§¡& ÀºÚº£Ž:ÒÏçΙ3{ÎÜ.]ÖøÍA˜K-[ÖzØAn’VÊK¥¦¿ÿýÕb±xéåõìÕ³¾UývÛo»÷¾{è‚%‹—|ôá'ë®Û}Ͻwg:î>|—»ï½ù„“ŽÑ3ô=‡í¶ ¼þꄲl}‰Ú¾ñú›0l÷˃0«ìxˆYˆÙ†ŒŠš7w>ôíÛ˹ô–½ä²!âܹó OïžöpÊf)íøÝwËO9ýÄšb @,jN>õx✚T,Ÿ~vÜßþþL=ÀéÆë¯ßµk׆†+V|ïõ. véÒå™çÇ>úøŸ|øî5µžÙPͱ°Ûî»Ñ_Ÿïp*¸ß°õ6[uìÔñ·ßŸ3{øGȘó^ú^½{­¶ÚjÛm¿ÍÞû ¤Í 5rÀЭoŸž²±9ÔH8(rÜÙŒìÍ7ßiÑ¢æ„6ê¦U«VÇŸt4¼þÚ›Áè«?é“$V¬©9ñäcàÿø 6‡ýú÷»îÆ+yè-wÜP_ß ¡Àj±°xѢɟMé¼Fç#G &¦%8æø£këjß}÷ý¦RÉ8 æ/˜2yêkv>è°ƒ°P„ÚÚÚO9ÞzãM"jjjjj,±O#&ELDØu÷a0þ¯O[U…~UM«ÙßÌ€ŸÿrC¨­«=ä°ÃÀ~7³Ú·´þðÁ©p‘%e¼ÚÔ%Ñ$*øVgjçÏŸ={ôL]ôȵhQ;tè.ðô3O§ZzJnÐÀn» ÿä“^}íe†ø#íºË0ÿŒJF%ÈaíÿT) Ûl½mccãÕ×üÉû744\sí•°ýö¿àfY–í8ôçÛm¿ÕÔ©S¸ò‹/¦Îœùu«V­87zôè9mú4žT=§OŸÆd aXaÖ73 ÿ jkk½Ar â½AI '*,Æ‹-œ:uJ§N=ì¾ Å‘#®­­ø÷möÁÒ%K>ýô“nݺïºëî l§v=zŒÉŽn–ƒV,ÿüÐ_ylìºë®Ï×]w½µÖZ{ÅŠü|¸¥K—|úÉ'ݺwßuØîÆ« vÙ军Æ5ÊÛ,Ô®ïN;íoM˜àYCÆúÇÊXFö§D%ó“e¥’ÿi*e¥&õÓý”š²R)+™}´Œ‡ð#ˆQÜrÄl»PX™ŠK9”Ï—ÜËwNŽ@©evL f£~s 1Ë ±©´jeÓÊ•M+W6®j,e°PD,b¡ˆX4ÛÄL$€  X(ÿ*Ë„“@P@,`4U½ßg½\EÕ”§ì„ˆÝAD·•iœ <ÙI.ùh߇ äž3•eYVʬ«›ŠgF#ÚM&²5.Ö%%ïQ‘.E°Wrcg>\Þü=×’RM¼— |í\Ôúî{«Ó,^¹q@Bq”C”eöÕ‹Š"€Š²3Å÷å9UQ?UòìSu¶ößYµ’¼¡Õ•T¡á¶Xù’n?åý:sWqK”[R=,¡=¦÷¡fÎó-52!Ïø btR‹­| Åä—0ú$_åË¥„ÚhŒÒ|\5ísWˆ'g1”ow–,Zܧoï§Ç?9cÆŒž½z­µV—•+WÝ<æVn7nì“#=øç?ßî±'þòþ{ë[Õo¹å/¿üŠ…`Nápôµ7]rÙ…gœuò^ûŸ7{^ß~}ÞxãMM(€k¯¾aðàAƒ7ôèã÷›ú?]qíÀ 7¹—\ü§;ïsÁEçîÀ>3¿™Õuíµ7Ðoùò†k¯¹19Ù]vºÉà¦}1ý­ o, z0±,cÿëˆÃÚ÷ö÷ÄÓS¦LÇE=qæÖA®¾á¯}^{õåËöûŸ} ÔаæÍ_xú©¿ã#¼þê„åËöÛŸAZ±¢æ/Xpæiç‚°cË–.íØ¡ãÓÏ>>í‹é믿ÞÚ]×nllºeÌmøçõõ-7Ýl³ ¯½fZˆ·ŒèØÙ.´ƨk×îç\pž¨]ûö7¸xΙ3çâó/°+£•.]»v?ûœs´vío}³…6wÎÅ_ Û¿õÖ„†††=öØ{àÀV¬h€ ^pÁ¹Y+ Ûn³mÛ¶m?úèÙ3¿‚Í…Bñ”SÎ@Ä›ÆXEDúÞ¨;n¾ÅË–-}sÂäM?é«eÆW3~ûÛÓÝ(‹-<ð×ûY:¬ÝõÊ+¯m<8ýô³Þ}ï»ï¾ó…žïÚµÛäÉŸ/Y²¸OŸ¾#9ŒÛÔÔÔxàA÷Üsçð=v8pÃ6mVÿîÛo?þ䣦¦¦QGËÉɈ…õÖ_ÿýGß5„jÓzõN:O›þ…ÝóÅ~ñÕ—ÿøçÄM6üàÃΞ5Ë\ûlÒ¤Ñ×]]»u?û¼hMokzÑÖµW_uÕ5×8ôð]‡í>ë›oºvëÚ©SçåË—ß<æFÉ2×\}åèn:ó̳÷Üs¯Y³f¯µÖZ}ûökhh¸ùæ›”Q´?›ÒÔÔ8nìãûî·ÿwßûùgŸ}·ü»Ö«µîÛ¯_±X¼ÿ¾{2ñ@¸k®¾rô7ùÛ³÷ÜË Ú¯_CCØ›nJz"¿Úq膃6úrúôwßz[mÅÛÿ¼¤¨:1Æã‘WXÅðy7ò?» 9ìš®E½¬Ž;çaú#zÐe@QÞgf\º§œàîlÆ\ô@YpÛ…#€'0«!äz\¯µ8{axüAëœøGß¹¿¨T6Ëî¡P©(ÎJrÙÍô€³"Ìí…2’Ð|!Åfè5#÷“ÐÜ×à•»yŸJ9N ãß@dâÉm ÷2ó–@FM@ò‰´‘ïZa=,ÂSZûíÌÓÎ:ó¬3¶Ùf«Úº–ï¾ûÞµW_÷ù瓹ÕâÅKüŸƒ?ñØÍ7²×>{Î;ï±Çž¸ýÖ»ö?`?ð’øÌøçK#:týëµ]}õ§Ÿzö¾{¾Ç°`^óçÍßoŸƒ÷ÝoÏÞ}z-[²ì¹çþ6ë›Ùgœy²˜À¤IŸø?‡uÌá[l>¤g¯žsçÎ}ô‘±wÝqŸ‰©‚²ÃÛŸѹ¥Réâ?\¡E¿2§Æ‹;Þü¯¿ùô3O=æªSN<ë³IŸAj¥ÝÊä°‡yî¼yÇŽ:ùÔÓOìÛ·wË–u0{öϒΆ͛7ï¸Q'Ÿ4³öΚ̚5ç{Áégœ¼í¶[·Z­Õ?&~píµ7|úÉ$)ºüšÉŸMÙwÿ}Ö_o½6«·^µªqúôéO<þä÷?ìã}•·ß|wâûl0 ß Ͻ8gö<ÇìÕØyì±ç07v<„†íÛ·Ûnûm¿ýö»¿ÿífz™Ð#{ÌŸ¿`ÿ}Ù{ß=z÷éµlé·/<÷â¬Y³O7Kö¦ÈÕZµÚx“$=[´¨ášöíÛ™X‰i>oî¼cGrêé'Hº¹Ó[ É2}ú—xä±Ç¹Å–›m²É yóæýuÜø[ÆÜµbE{+L“³ÏüÝégœ¼ÕÖ[ÔÖÕ½÷ÞÄÑ׌™ò°£ÝdÓÁm¼á‹Æ>6îÎ[ïX¸p{^tfàºôãÀçµ9æÚλíR,Ÿæyóê¬F°tÉ’£FqÄ1G Þtð°á»ÍŸ7ÿ©'ÇÝϽ{ì³7.°‡ˆX@Ÿz žÙ@­ZÕÜH­iMM ×´m×?˱žydN©É?wZÕ×As5|W6—ùóçyÖ©Çs|¯ž½ëêê`îÜ9e· Ûu8DǪqÙk¯}z÷îóÚk¯|üñ‡Ö 4JÞQcçv-‹Ï¿ðÜ*óf2ï.æì®æ—†åË'N|_Ö466rÍâÅ‹SÊ•ž={=öè¸ë®¿f„×'N|oÍ5»ìµ×ÞÇw’yäá#=lðàM×ïÑsÞܹOŽûÀý÷Ï™åe©Ùv»íÏ<çœR©tååWð†”t?Ãok±¡*æJ|åi‘ O¤š°Qª30Rÿç…¦¬Ð?æC¶¡jh/Ã”ÐÆê¬¾2bUž ‰P‰Ü?"Ç–Ü‹ìÀΪ#¸sTO$ (Œ.ñ*—ìö0"ùg»éùÅuädW9ž#‘h)#VÔ&Æ>µ³S$È!bf=úÅ$™6‰qÓ¨èu ¾%;¤ª´<„ÌÐüÀ(à0@ˆåó¼Í^º^Yv´8ÊþNmBÉÉ`"o5˜–IdÏW,½n „²™)WrË„!ÊK¨Ô ìØ94k~‰áPE>Á~û³ž~H€ðîC’™k"ÑÃäN€Ñàæ0+mî¨LÑ7>.ËŸ‰SéîtQÁyq$Nä­‡Ô(ÛXà¹|ê^+`½ôXaˆU”“Í£Øö‹%Ø16æ$näÏË…#è.Kµ®E,&dñ.kuyöù±Ÿ|üé¯8,rú¤”ûco2häQ‡nµÍ–MM¥ßŸ÷‡gÆ?'ÂÉmtÆoO[g½îн{×îÝ»]qÉ5?ôˆCˆ$‡šŽ'ŸzÂÁ#,•JÏ=û·[n¼ýë™3%Óú 9ON,°~Š{"ì£n)Ë€íüÆ-ZÈ‚ß Åâûÿx}á‚…¿ÜaºáRBñðgùl?}4ñç}&»ò_€Z·nýüߟjjjºÃî߯X!ÙŠ~}Ðþgœuò£bÊÔÉÀ×½`á˯L¨çÿ½eûŸÿLRÞ&M!€|aH@ë°{ÞæšIH°K#wêk5¹PÌ‹z–Úß$–(—coBSÑÔð„D$Ò§ €`ÃAƒ>tÄæ[nY*•þxá^|î9ßÀOT]ù‰œªðšÍ’P¸à!r‘ã’r„¬™ÿ›'-|¸d‘>5›ã·9UÅ™qÑ6ÜaTQæM­…é´’ý¢à Ôp ÉjQóþX—ö‚â1bç >èçcÛ^L²^T`nMS‡°S´jÃVI™_ÏÕÉ 2ÎRÌ„ò)G1g ?ÿò¬3hP´»åëÂqò0¨Ö2§oY]Q¯ç¢9r\ë寻Gyñ•\2Å™ÔÜYGQ© ïOJl¤–Ô«.]ІhžïÓüRÀÅ$)Õ¿çÊeÀ­‹ J9Fÿ­TJa ±›âü|« Ümºw€bÒTޱ™3‘Ϫ\/o À¹~ö—»%P‚Ð9± üV¡RâI '!øÐ‚‰'þÆã°‚T£Hr©±Šä]XŠE…ÑG BmRJÅ(ü>dÈ`ørÆ×ýôôÈÒ/vØ~«m¶üô“Ï.ýã•ü©œŽÑÚx`ÿ ú <=Õò®½zô'Ÿ|zÒ©Çï:l§×^yãë™3Ñ›+r[nò•âæQ ^õùñµúCû\Í Ù‘w \G&ƒõè”$$ˆæ×HʬbçvÞeǺºÚgÇ?ÿý÷+œGÅi=ÍâƋ3;G'O 0?À~ÙtÈ&0cÆ×áþì6ž\h6%]ôüþå‚Á_f§.ÅxsåÒí;‘)ìSCÊúûÌwéƒ#` Xt\íB•2`£ ×[½©“§NÑGÊæŒÑ?1™å;/šUA¿RÄ1²üÞ!By¤«K …âˆCë¾Î:_͘ñÕW3ô[ÆÀÚæ Eª”7!)Ø&“60pÝu×ûbêTŽf!%eÿ×Kxè4p7…™·‰•zåÝU“Ö)u&¹-l—k’ðÎv{{%"° 6éì'†•’{£I[ÚùŒ‚'Ý’Ãàéºä á6Ûn·ù–[~>é³k®¸rÒ§Ÿxå–Pàè,£ê/ˆ¯ô©ŒðQ¶upšöDüb—ÍÍʾ`Ü ÙAûÑñ 3¸Gê{}éåõ&û`"ßÅTZø¸ Áó" EèÙ¤ö¡(öðÂÅÎ耢ûª;G>¿‚Ñlâ0¯‘Íe·AÒÐæzøàŸXãy7ƒ'e.ÛÈ[Òy*‚À9^¦×«úºä8ÁÙ9n§" `ðH1™µUáƒo©Üé)‘”ÉÇRÙêk‘þo”„‹f‹A¥ó¿Žiµ%8¡Mù˜rs À)Jwja÷áÀå~8mîä Àè8 ˜7¥¿¹‚7Ì3zÞ`PUI…lXù»VÒ¦G—E½½Ÿ´ËaU¹&H„!†Š"'Ç/aêlÜ«!Iò™ ß¿4 “ZѩДgå0 ¸Òwcˆö‘™Â¬°¤!ú#/ð$rŽ+ H>reÖZßY]ÏöÎ'‘3K£“Æ1rØ<(å.9«Wn*<¥ÊMx¤¤À4§cLþȵMa§œ,Í-ÒïHöÇJCx†'R¶^ì`ûa‚šDú_A'ˆVæ‡öÇ(BTˆÊ—ÿŠ:¡Mû¾Ž¼cB`¶9“¬šcµLÇûNè¶iÁH=0Jª5aBDµßIXˆÀkópR7‰x'Æjòü8Zù°ΨšiTûé ‰žñ„«Ä•”g©»Dž€2cJ‹ºÅ¦×œ­‚MTDóüiÂs¨H?–f‡?"òÛ"¡Ó/Ž4yÈ)óÐã#rGlÊE „5×\cƒ ÂK—.}ù¥¿ß{ïÝÓ¦MMÐ7ùÇ(ÉÒüª«éïH%ûÿÉÙlTb* øàµ"èhÁvu¶×QŠ}z ÌªD³ý"ÃOKÃj.ÝÊfîgì¤[%[(  uÁ*h™#ÏŒ6„*|³N'ùÇQ–]N8æç³S‚wßy»< Ù¥ð`¼Ír‡eÚYÔF(D,yáŒûh½ˆqg…©¸ÅÅ¿Ã@?GyV(³¸ÜV¬t÷ÉmƒÝT¤J©rü•väóeÖÅÎvf"ŠpdddÉò¡"Ž^(´iàŽïYëóHèT!ÙÉ ÝÙ! $¿·èò­‰‰Ç›8ŒIèG§¥)ŠÈäuQ™èBŒ£¸”+‹r×wãÖÉeNª8uY- * ã#¸@ýnùËkzAßT)ð?@(ØZèS“i–­úw/F?tÜÿ$¶Õ{B;ûé‡bçCò€¿ÄÑlÙE·IGD>—Ç 4€£[´{çÅ!h u¨´eå<<›eŸþTi"âp‰p’ýÃíîKçÆ×TèPòâ„HÎÐo‚?…•þ´s¢‰Ä3L®‘’ú7vxî ¹ œ×0ïþD‘œ°O9ªÃJ±¡ìï3R§À97nn#†ÄÝo K¾ÝíiIÊ¡€âI¤ƒ ®ÏU‡>_AiÔ<ãI ?Ü 2mpTyß1½]”h§A–i¦ †ðÕ’/1ÉÙΑ+W§ Bª) òXZº–Xà°€‘‰L›e" Pp/à‰O6ÑCì‘0-5)|Ðè¸Lãâ„sÃ9ŸŽ|F3ïæ£‡  $â@Sí§~ÒAB½HT ’p~=æìp’Pï)³\Öf‰ Éëå* ñ«`³Ã‰¨îyÖ·¢ çý‡dÛj<Û?r)”­…ÀD§Ò $Ñ(8 ™o å§À+Ô¬% ÄÌ–*U’¥ÊÒŒu‡|g² P?.ÚÿjÑ÷Ðæº=B͹fˆÈ÷¿ÀùÁ ˜Îˆ„DK5ù›œ¡ˆˆ$(­ßÊC¥¶Œ"ù¾ŠßÍBìÿXñ“·,š¢†ÈxR”ç¬+þæÆÞU´ìh Íš_hFŸròª8 µt/0×S%$${«xAÙµ|k®ê‘+Ш[ÌB*@ð–B*Už€”û‹ €ˆfEð 3Õ”ð`Ã)Ø^ºi@ eeHî0¾6Ç«"ŠS…ÜUؽ¥ÕíjIçÁÁžUfòÄR‘’%‰€/‘7LMnH»ÜgïÚ¢M°éìØü¦ž0Ç–ûÉ: Îõ% ÌÎÐ9.QRÃÅdAÑ#"î,Û¨ö)ñÐ6!Eü*lxºI 8=j1qÉ5§jR¡éâ\#¯HXâÌšÉS§µ* Á;wföªg ¯ üg¯‚Õ/_ªiS}³ÐQª¬òŠæg‰RŽEAÖä]#w?»ËvïV ´‘NáfE¦CÔZ… _å%5¯—to½‰°§ -€¢¿«ˆ‚ÕÔGB”8S+ ‹¼Ûu Ûd‘Χh~"é6x¿™ âQr× ²œ©©)¡©Árˆš²r  CmƒœíˆÄ¡k9°æä<«“Èt›ÏâŒS™8~X"ðò«Ûú%~Ìø±«ÁGÐáB€®–Ø™§P¨wß-œÄ) §’/1X2;’b[¹Ì¾ŸýÄûz_ ä!QÎZ Ÿ´[9bPæ:—Ë“ÂWR¹‹ùÝ1ù•êð¨IºØÍ>Fæ]-ÆŒD–$Ø«ñ»IÁ~ŒûÍœª¼Hý-U¯Ðžþ—:þM®®>Î1dzø•VÓR(Í=åz5§KàqI”˜nV¶4 ½ÿc…•©ðÜ̲—R/ï®1ØÔR"Èœûo€xÃÏM'ù]<`íèî5œÑö¼Œ9%JnU‘L6² ŸdPR ´`XÊ? —ZJ5é&ìXøÎþv'cxT\ä¶ø%<‰Ž»‰Ù‚e@¨õ`TßDÌ.ÕšÃNq‘qwW#ÀR…Ü©†ZæpnšEì ‰XUŒ.gàø@o»Õ°„<Ñ£`[ãâ6À­Èd®«àNˆvÈ;"¬øülThœ¥Xì\ÕE fÞ5]þuí–,åÊÛ³¼E®˜øTÎpK2’D,¯¿¤òº)Ñ x "÷,‰èWì_åN­™åwü7 ñÀçG(5ù—¤šñ8šûLcò,@V³z3ê’Ø"Îó¶3©£¥çªØn‘Ø”<®–zŠd¸âŸ|)c©½/`¯kÛ(<]™ôêõ’3Ûà,2Šú K‡¸?ñ yb>FYÈs¶÷Bmkà%©"!ðÒ]ªsl£$bÖÌ-#ÏiQïC Ù¥©)nÉbó5Ax*j•9-Ñy5z¯Ì~ð+p¬GÉé|Ë=^B×TßwäÌ§Šª!‡Ò‚¦.3*ﺯqPW2I žÌÆÑ°ÞÄ †ÑKsŒi93V¶†ŸB)HyCi8j]]dª³U{þ~SÇ0hŸÑêöÈ´öqø™{ÿØkwyМ¨ãUÅg6²’|¯9ME ¡BS¯®X3eƒBãp_çä5kieófvåyAHœWŒ±¦5ו#S͘?ÿùVFõX¢®³¶MAŠÁ:o*¡Âeç‡PËù¬Q˽r Z?\±68_yÝDÆÄGêÒvp-½2äƒDŸè¢O/œ3è0ŠX“ûeBÁÝ©Á¯¿Šb@E>X–û« ó݃ í•\¡ïøèZ劅’â´?æ>>IáøQ  RsrIÞnº[7ôÍŒYt,#6o 2Ê<}<'­‘G„"U‡„æÑÙ:m9ps@Ü #*qPÀYÈA4ëÀºko—Q¨–¡P "ÊÈ=Ò-¹ór¿q·À*³äàiW‘9òªýQ“@Ô'v‚&˜ªLUQ~Ôµù0’×%ê¿ÂFy²†èØ.ÉS$dÚZÇÆòê‹zT‡fÊ`‘’[$U•Ðå§’.ymHbtv”Ÿ@v;Îk|Ò­½R1o£VÜàYYÇã[Ê™-i—Ë(U­ »w)®Tbà=&â6Ú1á i’%ýMUÀ‡ \ÌH'Á¾²ÃEÄiêX¢B² A6úžèbM™ƒªñJL­Üp¢©6r9Ö$µ…Ÿ†œh‡Œ$¾ÿ3 ‡ì~9ê¡‚C©hV © i9:1ÌKîpœȆœaŽiãµgo¢ :dˆÏØ>Bå‡þ§¡zêŸô®ÔíhQv&I–${¼Ê”Øpú/ä4žó¤Ë.p#ô'®no^d-ê~).÷jÆ’ # '¡BÍ`*½:DÓÐç®øÈ%Z¾æj툰ä»X9Žr>«6åÎ"`£mËrPõcs J6u)E’Û›óõ¥ð›÷¯D•Ò¬ê5/Â$!&yRµ'Päó]Ý.Ž#’¦µo¦ð&›;~fžåd3k™•ˆ2¢Œ¨€˜eho­U) 1`ç´G"µ¨c»pÜb*ìöPΑxÖ÷–vRì^òÐJB&”¯°3e'Š‰Ë¨ïਙŒÅÙ³· .f'þJ™a>°÷7K€5­@Qå€HáÑ3ïg°ëæ_òí¬&‘y¾Tä*‡Ä¨>)Ž.|b1¹›ÂÅ3#0¢@–• :"Ëíiøø›˜¨*È h%¾ÿŸ³úéjÞ¨ WÓ¥<žº¥$}º9%?þk%íçiG¿;,þƒtz¤œùUäjµ«Ç‹˜ ÂVÕL§9*UЖcNÓÀÏÚf~Ë…_ÉëÍ C"-Ž´fT•ï/ps¶Ê\Â;NcÕPFóû>B~ØÄ*ž°{i Zn´Ê‘xñs1ØÜÔg¹òËÓå|GO}H0´œ‰˜œOBaæk^ Nާ½FãÎë¢t æðÛ®@QÇó$¹'â;C}`§ÊcªÖYñ¨6É|iïÕºLåÄÈ1b‹d‘ P$ÅÔvaÑ5ÄÈ~1+–q«Ø1ò\&òaËùfåKRôåèÉ/QÉO¿ˆ&„â„ …úѯj ‡Ë%²— kÙŽ¬Øu0Ø–œÊ¨G;"¢PÀL,Å:COSUFq £®©'cƒˆïc:“ÀM«e}PÍÑÖ¨7%ºLv09 ’×~ÌòC ¹03•m‘ذ¤ÄWÿH_χ´&|uq3«<°3ÖY8 @ fÓöWO…Än08!©=݈æ ƒ Ɉ¡zøøGE‚ž:à³í}s¥¸ÃÉE§Ÿ2`ŠÌ«®ˆã¿¹ŽR몢ù=rd@S»œ+ÃSÒ  å2Ù<)âÀÐ)¶10¥ÉÁaA.'£jÆB9(Ç@‘yÓâø¦å8¿L¯€w«óÅ0[Ï>ÝÈôpyÇ(ºœì3íýÖ¥ÙºÖie”! ó\hí*ª“”¶“NGrÌ T¶Qz÷¥áÅ#Á˜Jór¨ÿQ Á/N‘h "ÁøR®Ë']5$ý©üÈ%¾‡6\t;XÜÀe-Y ‡F°šp*0°K'PÒ›4*Jm¤XD(fe¾šb m˜òg¼Ö< wš†+›jýápwžŠóøSÈqü`<AWè;HÐi”äWñ¸Ž2=0ÖÅUtjY¸Âq›K,„¶ßËäÒ²kãóî,ÞÞN‰Ç?É_±b‚cíšð¸éœÐá µ‚wñ`™70‡\e “@¨z÷?så»h¬'!Á}ŒO(n¢ÕÝ-P¦xâk¦Òº"¡Ç¼­ÚŸ\*‰”$þ¡ŽH“œ+ì ßQ²<Ê(˜üdÉHüafŸ1Ë?ñÃXl¬#(V«ˆ*£¨d‰gªFr3•÷AN%\%¢) ¹è¨Iåâ…òb™ ÂR,TxÊ(J÷ÏøybD‰Ïæ(5Hºäö];Lk67òAÈÊÍ“ÊÈ«ÊsM¨QŸ”콄¨ w 4c~]»)™’2(ÇŽ¬%@b=Ãý/f¾­´õ|V'›IòÞqŠÝç ¼”ÇNù~PØNYùùÉ 9çÃǰ¼Ž¢¬yI@#7°æ"ïËça–ªßü(/˜K2âÖ˜T,>Õ'âô©ýEþ»K×qƒÒAá™2ƒä/ÿU²âè5h˜ÓÈN#êg´U*[ ³AaecäµÈí‰qƒTÛHÐU%_Ãð¢è FŠC•T¬U“ë§ò_)þ)ÇÎ J6’“åÈŠ3 Uç÷‚]ªo¼ó NµÖw®{¨vtÖ[AYçyMCü¬BáÎ&Sz´äd'ðvó3%ÑI«%TöSÌ™£-c[‡Tfoœìõ™ÑX#""ŸK”[¬rô±Ÿ{€²†ì“«¥Ž+ Z®©ºeïdE'õ„=ƒ‚}Ç]ìïë&7@5¶£Þoµ±3Y*Úˆc]ÛX°¹W~òV®@†•üÊùGüù¹I>vÕa˜Øx—.šoΉ•¢‘Ì€TCÞ-ð—d4  Î߉"2'x)e×e]Òª»l¥<8{F£ ^r+RaXOˆˆ(¸›"ìÛË2"ÊÜé«•E+üF†,Lò×óŒ¥gŒþ¦1)ƒn´JÚ^;vöñ£˜ƒ,Ÿû®–íƒo¼ÿ•8ޱÞ\Ù§“ÒÇÂÚC†æW‹xdDÍ™1<‰’—mÁ<2ÂNõ—àqµKö3øê'ÏUÀ2‡91Q§®;Ë´‘¾–úlÈÓ†É-²«dò³oO£I¿œx)µqheíÐn GlÏf¶EhXCÎ[¶ö”˜£vyb+öoPî¨÷‘DSÌÚÙM,˜?ÿ¦è’†àÏ+Ô¼9ÓO™zy-—u씓&Õkëºç¿hbo•B­í˜Ân ImiñLìJ—E^ô3Á¯·6þâNY[!OîÊÑÉÞŒ¤¦d}­@(ÛérÜ´HOÑɘÐ͹ƒGÊÞø{bãYFK_-‰Ú\À˜Ó¦º‘*w‰JÊ?U’%dCO(Z/´  §æQì§òß*ñ=´ò8رêì+gÁE8QfSj‰o%ŽZÎo’C9ÆÆávroÒèe¾ý%wëb)­êL¿'6F#ç™D§\·*”·®àUK£ÀKkÞ}÷ñÄHÒIö>¼7‰Ž.ÕJ>Ž#¿µÀ}Âh9š£KÐY—üeÌëiÖKÓC8P’MHBŸú‹ È…A`| ;Œ§3¯«t°’Ë ¦â¤Õ4óI¿²¿[ÿœTÍ$òö/yj¨8HΔ«ø)å‰ýŒ¤ç.ˆËZ|kÙ˜&äóé ÎÖÙµªÌ0 :O‰³ ¼Åó£!:~â™›¯û®î˜ à+7Œ~#“òRUmÞ<£­y[O1Ðn’ΧÆóÁtÔÔKîdHµÊ®Gwï¸:RÃñ¤kÌrÞe·!RaQ§Äþ{:2 ž¶¤/krWÜš“Ø„žS<ô`²^yöNÛ“J ²¨< ¬u(§=ÉÁL [Æ[¦Ä $€Â>^LÄ\×_²A@fË)îî{ ?eã xN$E†ßx€D"”UÕ öE`,bÔ¢‰†5è0ïE—²é•¼Üg!Yçí>¢“\2÷Åf™{æ‰B9!jèoË÷±«4Ö'ªJñ™dAäfg­§Ý±ãJ9ÒºŠD•"´{ùÎÀ‘È4Tn|#Ä Tc1÷ñôƒØ5a28ê&kìÁcêÙ6P Í)äÿ+•M§®«\¢F‚u«éŸ;Œ_= [EÒZÕ8U¢óSù_Q€VèKa4ìA­HÁKø¡h9îŠ<4Ù%OƒßÍ6V­œ(,¬*²1xB=º¶úÿ°ßégœRWW S¿øbï=ö—mÖYg§Æ?žwé’¥Ûmó+žpÚt•›”éèg'¥ì ¸B¤B®‘$·¦¡Ã$xãÜ =ãõR\*»•Ž}”O/1X0L²‘¼7ÒÃý0ª§èRº‚‚¿AÑÏ€2ž‡i »#–’(è6§$h™¯<Èé6Îsón¥¦¡s·Ü8ÊïŠ0«$ ‚"cUW™qBAvYÌ‚=7u¿ý@R¹žó)(üêhÖ…„rarêŽëÅØåHãNú=ZQ|:—ª* èŒj©ìI·wŒ¸9Eäv˜STiœÎ‡÷¹×¤6À9Q#@eIê¦éýt¯*[ÁÌ«+çt‰wJ¤mýAU"9ÇDÞ¡$«âù>€˜VBzs(-pŒÕ=9ª _£‹<#÷)Úx t6Š™C¼ÒRÜHóiå¥ctÓ®A¢þe­%Åß‚„ÅòXžcäR‡N†Ób»Ëg>@™œ·Ý ²h ñÒjDˆn}Ãí1pªpUè¡‘&{'>#wêG“5 k•ȾbkÊOz¢p–Øky|MÁ7¿Ž‹_yå"‰£¸[ÐHRÜñÉÛÃÊ]6×; zY1¨ : Q•Ûè‚°ÊêXßý-–PýTþ»E´š¿íò ÷Žœ9$·×d7€€íuS…µ6ܦóÞÄEJo‚'9IÄ<t–C‹#qhÛ®ý…ýî;l_× „‚D})6"ÆZE÷K£IËÎçl’€½kA›Ðòî’Ë…PîÝØÞ•Ï¬¶¤Ý°É7æs¬"ý\ªT#ÄñB¸§î§.ÿR¢NºââÍO¬ƒ­L+Ë!ÂhX{kÍ3‰§-%úØ»(ÊÒ^ǹ›!⺚·õ Ã…Uû ¤É mà-YÕ1t «›•Ôwá#\šH²Ò!L AdË5áßí"Ì£T±±ø˜br»Dèö¼DÁN@YS -J>ï Ó³‹‡%Œž,–ÇÁfì¤ Vã{„*Ìz%ÜŒTNªž•üÎN—G"@á ËQÈ'û”¥cŽïGI­•æâjÁ#0O€<ËÃDkë@¸Å•Lˆ¼ÝÅä&‹˜“þë:$ÄBÉ`ÄMI(* ©#T†µ±«XgK‘àÈæÁͤ|Q3ù©ü·Š hC£Aì{øl6¸Ï/HîH-%³æ4sޤwˆcKPÎYUƒTj•_zôèyëm7¬±æ uUCCÃKEêž¾ýû¬µVøæ›YoŽò0É_wÞlCŒâî8¢¥àY"ŽU¿”2ã¡ìÓ$òt¢/ð04ã©\Îx 'Y^ôƒ¡˜PÖD}â_¦%ßm˜—_)XõEåãïx Æ©æ oÔíĪÝgíe ènTLâEAu’ ÆõG›pÅÏR Ã$ZûÁH¸‚?GáŠÙÓGŠzVR©‘äMòBÎîWøïMŽ©ˆ(õ—=˜, }ݥߔ‰eÃÁJÅßoA+†‰6]$GIQâYVq©™•“Ù6úü¯ÃW(äÀ¯X¸5çÑÃÀ±ÉQ†Ú$ØÈWžrÙ —õCˆâÞv¾Õ'‡k™Ì÷' »Öa( þ>+tˆò2ö· 8ëÁ¢I[ße¦í‡Ä"ŽSî(ÆüöYsݽ\W4²+ŸV¥ºSŠ¡PK5#¦àCý8FÈÙ¸6Wó6aýh^¹—‰&È!Äpº¹]PÃ>xe{e禌Œd"ÖXz‡'±Ý‘sÜ-&á!„ßS! È6.qƱîš{žE šWùËâ¨Õ`[†‚rbÂ$c°­lò ‹¥ï‰oýÀ ×­ÌqPºŽ¢k ÃòÝË_H‰zÜ¡œ¦ÕCî ›W$÷(&%å2üë#¥¬ØÿTþý…OhÎBù Ⱦ£S¤xÒym¡ìƒÃÞ¤ßÖȰ!§Fê5 ƒ•·öŸÂ¡ûöím¢Ù/¾˜öê˯vÄ!ãF[ IDATIä.Xxò‰§sõvÛmsÕµ—ÀÔ/¾8î˜S¤OŸ´lÁRYž³I‰ï>ã†=vI-9¼2E<´ýª5fÊ7K gr)š…*ÞO'0ä¡¥æœzcLœ•¢‘׋–>n›fA“@W"lv~ÉІ+0&©‘œñC@·Uº¢*¸Ttóµ)ïHÎE<éËÞñÂh€ÊÎ:¿;p É yM45„P“á€9OHüWUKzþÃÈy èæî„«€XnQp˜B‚„ãèœ#Õ˜3Ûä3iRêÈí8PÍ ¥> *J÷MdW\ÉêKì¡xŽ”6 §ÀßÍ*oߢ¢ ÑžŒw ô@ǶNhÏ´ý ªBJühHÒãã,]¡¿íQI¯|j¿~>cåþ¹Æ¶‘Ó)ã‚%Ð$Ï¢ìßjO6ìT…‹§å6uº“ãaD3Ê[lçí';å¿&Ê”.òþ…óìXæERJ¯«ÉfŠeç°âÂ<àÉ­ÛêSfÚ{’ÅE•Å * T€?‡A¦;û%QçëI‰`0€s_"¿Îí “zP·7.!† ŠU<#w­ÁÑ(t«Dc³]Í=áþ$ o,l(„>É(zÉJ…Þz•o_«äÖæu«Òj‘ø] Žò"*ÝÊ$ªªgXž˜?•oѯí‘+.'lj1k‚@]»”:±’Ág×Nþ‰mrôì3 ªuÅ0¶ƒ| S‡ÿìEç_2t§_åዉfkk[LúÅÈÃ[¼x1jßY˜>Ôtõ•Êú§]¦0Lñn`¤<ùz›ØzEͤÓ×ìb4Dú+d¡®Ð‘¬Ì÷P:zI4 ôÊÃ>UŠ·âA­o§öôNQ|œ xƒC^!»‚Ñþ¢b–˜nÏü³&E’ã«”¿˜\—$`ž—R-fdi\ô9eŒ·‹øZ+ ª¤ FŽùígÊåöúl=ºÓ5€Ï“™žÚšZ¡›cÄÙSîîÑT¼t¥Ìzn.W¥½lļ+¹df˜åM²3¨C·á#R]a>3ãù÷®H6ÕB… I? ‚¯o‘uõÈ-W0l‰v žSTÏ‹j?‡‚g432»Ã4˯‚uÙbïÝP‘âo.+ ÜÙÂM}j8%— ²û ”†ï¡••€£™µY“ êªpm<KÁbdˆ€2w#ô`3»¡ì¤Åw´·„J*ŠÑ¼ è ¤ÝØDm“Ãä…˜üaeºD|‘×*”`VŸ‘ 4h óH‰EXuƒ˜"85VöÕíI3”OÁBQË0¬Ù%‚Œ¡Á‡‘˜\½L&ÁT#•Ç¢Q—TH¨òdd®€FŸÑpßT¬ëƒs1 ÄÜ —Í7æ¼5d÷Í\‚rÀBá+1µ1NÌ KO@uã¦ñE ¯ç R–§´YÌmZV̪RgX5}ª³E ß®òXy›£Õoʨ¹…¦(ß4%ÕàOå?QÔ{håé¡w°Ù¥öëhnï å·:³¯~.Ç+–1ÛB!!‘7Œõ‚f[^|ñåJ¦Ò`jvÚéWµµ-`õ¶«?>öÁ‡xä†Ñ·dY ÇE†QКñ,K?áØÌ¢çà{ÙãuJ§õIq °¶ŽŸÌ°9$àg4Ï üïu''¯®F߃ !`W_-t\Rxf ¶óÓ=M.½ã4r$ñ Å*KÔÀÚc–²@õ:»nö‚ýMŠy:TR_ùQ U›› ‡ÑL_ËéÆì^Fb%F!óF (A9àÉ÷GUΫ³“Mr§K“#³xìÀyG€_)ŒÊ]°Y-¡w¨–ŸäwÈ/MpµF=FR½öé ÀÅ>[ì›aµ ýFpgˆ1Fê>f¾7/…yÊt…Èò¼£µŒ³úlè‘ïrŠIük%xeœ6º¼bk\e£nÙú–“çn¶¡Õz(ëeÔ`4M4Ár÷‚‘#`Ðy„PÆŽDM²äéö¤MH™%s±ÚÖaob¶“L[ù–Ç‚.V¬™ãD‡]Ò%2<©Õr¿ˆˆ²s‚i.nD§¢ÜƒÁçy]íwÁ¬¸(è,ŒbX/”=]ˆ$žâ•K™•` ¢/1û˜Ö%³”¨¾,à×=q§†$¥~9_Q W}¼Ye³êK@=“˜õܧæjD/!•V[ÁK¼¸"ô@B`ôÇß,ã\M­zÓ\ýSù¯r츀gùþgw]#²X~c«ìzWJ‰“F#Þ°ãzé›Dc§ÇϹ=+ö—y’9˜¶jUø‘‡tí¶öYgœ—À>-Vè`#øE-£;¹‘MôõÈo€íÄÔH¼3F]:ý­'nÑt¯•AÝS!‰VcI•˜7kRà_y £õ`q˜WÆYó5T!1IU¥ÝPñ±=Öé=‡oxÍ"„'óB^y´·(æxSà+ãY¦x¿JK”\µH$6bÑŸV,cÏÌÂà‚§­jšÇ‚ŸFÉ>#س²mKšÞ­3ûî3YÁØùl„4:fÁ¨M{×EÙð÷A…’«_«ó£Cù;ؤÖZAÇh‰$Å\h÷Víº²èòÙÅ%¼ rÕm³J3w×+z[ÿ²Ç"îaÔј³$"eUcN%©jÃ…ˆ±žÐî'_íItÉ)Þ/ÆÉãÊ`eµàT©yR0™(èH¡È—6Ö?ÁKISâF¹nƒTlÉ[ncÊÈÝ…\=IáëÈìidâ4?JÌþMP4›¤¬¡‚|k³ævè€]Ó‘b7äug$Òt‡ˆ›H’ícÏYRÑ‹§¥ Vh¾â>ÿ½çŽ·ª8zö^x*Ò‹JQ@PzSQŒ&V4j,Q¤ *6Pì%DD±aÅ HìRì4Q QP" HçAÞ™ïm3[νïI’/¿Ÿ+Â={vggg§n;vGš.•"%ä{Gi—Tõ0êT¦C%€¶¡Ì¼Àrµ“7ì@rç”Mžœoh%އàÿ›LÇ>x„2íoé?œÜ-Çz*X+‹æ^-ÂʓЪ -Y?#ðqã¿ ÚœŸº¬ðoBþCXô¸W[þ’`E‘·z^½zå•©ÿüçÜÂÂÂãïÒåwGÀɧœ0qÜäo¾Y@à§a æuu½ò"ì5xÇç¢îr.ôŒtÛøJ8%Hä­®GŠF‚Gî}Ü»E¾@'|d †GÞ!$E3•.ti— -d_%@‘I%/Ú=Púë2öqÜœŒÚgÈ:èp÷âœÉš©J™ß÷„­xÍ`™ä‘ì Ýìb’…AL¸÷ÑÑÑ£›øÍ&ßà×™:†AÂþjÆçÐåMGA7«ÐkŸhá<Ûž('̽„› FÆ/ò…ÅHÝV&…å1"3‡œñòMA ŒkM‡ ¿”—ÂHC€g„D5½‰)‹É½YÒ ° oaÞº!®¯i”0¹Ö@[V’#*HÁ|“cPÜf xï )ˆˆF¶}É5¥íbcO!XCïCpôz».¢zßreºéV$p ’ÉŒÄ1A‹¹)¨=.å”™5f$d ‚ÀÿÕLÀÙù_±¡àM8šƒMúU]<0E¢¬©®ô)h·([ªgç…Á(a;䄽ˉ‹ã(÷CÚ´‚g' …û9 ŒÎŸ¥7X6Ðn©õ â ÂÎh…}ˆÕ¯EU„;zê—Ǥºxþˆ¤ÜûuPµvÒå·ôkÝrÌõ©cz ‰œ¡Oûy„«´v2€ÙvBeélŽï¶Ñ òJj÷#˜ÇëÞ/[—¯ôèôõüo¾žÿ ¼öê´©Ó_¨ßà h×¾Í7 Ò©ì  ã‘KRQeÚÐUšäÌëC`u3€ {âþºëÆ‚}ŠV;eò˜œa¯ÒIMÚuÓNÝ/¦7&ÙM@úIböi÷|E„–ÑBdÖ‚fòNÆñÖ-JÎȨKÀõæa E\Ÿ“z?Âö’Äþt–f2¦”°;ÿ%íìQSÔŽî'ŽýŸxŸ”×Ò´&E> ì9 ÆÄèm#RÑ]lˆÕrU²Yuépqq‚ ›ëg&-£_ï.Ñz…¯£(=m4nw†(· ¬"(¬|“µßpB~»Ð@†šn™n}Ó3|CsyÑõ?¤%áôŒàG'Š?ÅžûŸEýáOÕE=+*Œ,xj)BÀ4ÊFûèÅ5ùx"ÔD: Õ§’.$FS " ð…Sb1ý>ª=”|ÕIåS¨9]Q%<^8ϬªÜ™‚|åÖa4«©EýˆQq Æ-‚!%¦FÀwhn;UËðÖ¥ Š“(ï Za‹k„STo=7½Ô^ë}¶@VD#¦‡7I­¯­…äµù|“ey—DÔšç‚dÉ m%„"#èŽ1ºÔË–}¸q%3@6–•¢rT-¸‚àŽ°ÔÆlàÙ0³åvanùôÔµVÂHˆX\xÒ¬†ÃeM2bžyƒ4´òa&+rªÅœbV!GÇr&ëáúÞ ™¿±7’¨‚žj5˜”$»ä%厫`dÿ-ý×ÝrÌì§šNF³Ï«äY×kö˜4OÿÒ áG³A÷ËÇ„X¡ª{ê¢é‰SŽÐÏ÷(84Ä+¾—m¥ý*“˜€Up»ö°&ó*€KLû%]X;Tµ¤ã—ˆ¬ÁNîò ð[L•mµªåjyc»oÔ²&;¶êè£ðzhG7V £,˜Ó`>Ñœ½ÊŠÞЏªḦ́ɳ û¹fè2ö4®F@ ½cG ¥yå}2زeP…hN H¼#}ˆŒs ǪMZ(2ÚúƒôLô™AõÅ"½~•½Ž­®Π@¡æÒ½Y+ÝrÒÉu6‚·g3%bT˜ÁfÞ#é-Îv­é‰'˜J<ÊÔ*GyQh(fL3A"€© „…Q( ǃêVƒ`]Ý*zs_n1çYzÌv™VKÌ ¡òtÒ‹9#ÇßøÍ¢öë”g“8U4u¸P¬)2(dާ³ëX°öLÒ䤪[J –£2é¥a¢…“/ié¨5s:âÒê‹J5$er] {æB5æ“‚I¿ ù!1àN'ô Ÿ³ß›Ë™ ÐW‚€fDD^‘° C!Ÿ!¤‰Òž:Œ+=A&®ƒ”è°^%Uå&!@™7—}ðv÷0/c§öLœ ÀŠtIÜ $x(Œùa/Ùœð>Æ$4§émD_ ©ù‘LHÚ äå2Çfæ\ß¿ÀÃ4w#·Ó`ð»>f‚#UJ–b ˜OÆyn%·êáÖLgœtk ³r¬ÔCn"ñ8ô·ôßHv˱r…¹°6Å’¨)æg,´È‡¤„<úX²,™“W„v”t%o`¼!‘‚CÏ^V©²¼÷ÎK–,“å²Y½»8qh"@pà Õ_¸`ñÖ-[h_¢¬‘€ÀGðIv Ýþû„·µå• ÄsSÑÖe¨{BÂkÜC=Z‡†!ĘÓà¨BVÉgUé =·,c-½Ã؉‘½€@ñEÓ r¥·jª!€¹ •TQš£=Ä%y¥"¢ÈÅ7ˆ¹¼-0â"H¯U€È³n‰‰H¯Qd £¿«o ‘͈ÄLÍ# ¡®‘ZO Ò‡˜E4˜‘ÉÞyÝ} ½Œ—Išî;¢U{ù¸&èÄÿ˜êf|¦F°´önÏ€æKM%³Ãf0$-‚]ö¿ jÁ BpB(Õ/òíÞ€šR£MÂ9ƒšoî;ßèz?tSêm$Ñ• —Ä{Ö͆2ßxõ`ô»æO[”‡7¼÷}—¤ ð~ËàÄë²iY¦éÁ%ÔŠ¤@¤÷ï fä–+Ýæz†D3‹£HsÏSœ<Mi%PÖhTÿ¨ùZ>åö’0’¾0w5Øi’é[‚$ )¬_ÁÏŽ…n ÁøÛ0Ê^Np†:èÙ†à)©`²äicrqªÛh½FdÛG%˜<¹ãž¢‚0ˆÉw´Û`Kæ-åqìפ|-õ¨n!7 h3ÜíôiIkî@v] 1úÿʪl¾úí=éZÚMW/ÐnËp¸€¸Š¾Q´~©U¸Æ¯²,aBêFB”˜•‚˜ŒÐ "fhKàçÉÂ'œôûÖ­[@½zuþrËP¬R¥Êa‡5—%6lØhQÇì½Ü•ÍfwîüWïî¯\ù=mA‘H· b]$µÓhÆÊ@È¿K¾íè*ÂÒŸ”Ä©“ºÐ9áXG Áõ9#I]68y~I¤nà=mVð²õhø`vÈÍÆQá–WR¸ÛÍÜOçeRCV ‡«nt}WNta×+9džB‰ÞÕìvzÄ6Ù Ÿ•÷’ɀȑ™Œ’Ë$˜€üúˆÐ³Ü€È€ÈÚbªÒB~ñ.ŒbQòac9ÊÊ‚Ñ\Í‹Qr’2 ®fëA}{ÉÒÀÙñ}”n"Kå2Ï‘š+RE]Ϧow4Ì º²^ŽÚ_í`ì™ ÿÁLXü*$5 ˆæë|Áî³ š“‰ <õJW€˜‚pf}©ãÉŠaºïÃ\|¾ŸyžÚÀXsñ«\½̻#Z—´în¢A†)j)¥"å áWò;rÁÐ-è{x 1F“÷•'¨ñr¡"†{(³èvy–G³~;ùYTú ¼.fe¢['À‹ªx=ÍVµ;;9éÜš"`7D¤øC\œeÌÍ@‚Px¹™ø³Ñ@ÈÛf,)ànîaŽ‚)Á‹° ¥ŸÁ;€,û”¡€òêÅ}‘<SO'†XGZÏ4o„ü+mË4Ï·Pæ¢6G·û75ý>)øý?MùiÈÿÍdÎÐj÷OK j~G&æ~òÄI8o¸üf|áTËåÚж|¿‰yØe õ‚U±#ŽèxçðÛe~ùråäF ¼ûÁtعcç9g]ï¾ó¾ hO;ý”-[»výa‡Zeÿ*ðóÏ»?þøà̳NÏf³P©RÅNúýè§Çºxð @æz†'gi¨ÿªa+S‰u'c @@þ,t)îå ;@Ââç-uˆ%å8GÌÈZ~#þY°0ñÚ|×…y4v•›`3ä`¨½ñX;ȕ֞Xg؇‹õjñ¿ô?Âx ÚÔ›þ¡¤HNš=ˆàšvuº˜×Pd„hAF Ô.b @š5úH3 ’±Ðû½IØÕ_þÁ|ÒIµ4j¯)±££)4Àª@È›aþ‰]UŽù‚hG\ï‚¶'…ˆÀ®;P9ã"b·8B°+9“î©­èKa(ÆbŒ d²Ó:F"çG¬€~ Z•ʽ5«l´ Û-ƨwhî”Z¨Î Y}cÑ,(yàøþ¯,Ìšôÿ_ß»Že–>Ù3´f m8Ëá$Ï1Ñ4/B ¬ ³i¾Z³:)ÓE \ôÁ]Á«Q‡Âråjժ鴘Ífefùòåe΋“_í|ÔGw9 4¬ß a}™_\\<üÎ{·9QÃÛ·hÛT¿ã»YÝØc@Ö¹î+6rnåxK*jÂæã6ºò+M<lŠ RKg’CL;ˆ|t†O ÞSÎOÂx@([« £Y3§¨Ö3 *1©zÕM'…"m“GG]Òmyj’¨|IŸ`@0¯Cù‚v-Ì®qìá´Š|(( M4Kª°UV#ÞdŠÏ­  ÂEÁÜAçCÐjǧ ( C®u‰iäs/Aåì_wì$æ2~1=Ïs-@ä‚N#0ß32fŒ›zrͶ•ªÜH:Xçå â›­Ã9D&Ð}m¶ŠƒÓ$*gEêBEH´ ó¨‹ [͹‚á]e:g‘àÚ4hTÝdL&Å?”bÄ‹=åŸ<¶r7!™­Á1Fœhú’"…¾ ™Åwäùù_c„j¡òT7iÍ €˜¨ltècŒ€Ñ v3G 3È‘·ÀHO»å Ž«6£§I—&«†Bj™™nåü¼IYK#›fó»ç; F;„Ý?“j%*ÖŽwG*衱{8œ%«•EС(¨ Ãyø<”nnwÌÚã?;š"HjÈ>Kin†EÐÙZ¬_“‹‚ʃà†eâ”°ÜÑQãAµw¾ZüÿwbJtŸ& 3}È‚o÷JdË1€Šfõ=%áýÿަc2NÂ1 ‘}@¡ù=” T‹¢WÅ I^ó-YÀz”¬[èüËQ —ýÿž¸g¾oÐv`– N0#„Sn·$á¨Ásô±enyŒ,u…ñJšŽ•‹N%u 6àæ”òšÖUüHhEFŽ•‹:êèÔ ãâ+ˆ)¿9=dàb6wü—E͈ÆXªyVT«²r÷k†|LH°ÈÚ½>‹þHƒï­€ê3SºœÚŠFw„[O@íW@Ä$±Ë»y)ÒñQÌCx¸Cr¢—XˆI!.ˆ³ÙX¯Óÿ…6=5Å-oÉl|’úÌ ÀmWˆžâľ7¿ªwVjc´ç“Á;æÂÒÎñon¹ÖVÚþx>êgÑ_Œžáp™OÖáàÏ™%MÜUÖTôÔ¾¦¢Ç•1G)ê‰Òr¶ñ¼û‚Vû\M(µ£ð_O9øªTP¼ÑLm,ˆAŒ\A*þtÐ[ŽÁXq5LÜMWòCHå™é(µ†O½Š™‡ IDATñ´š!ÔCÞÓ) í¦07º!óäcšKÄÀýœFGqËÕhÊÕ:Q¡F…Õ'úŸI?.–sÏ :ÿÒ ýåœ>â÷&•H!Ÿžž"A>m ÆVÀº-3s–L—‚{ì•Ä2FjÚ³eJ; ¥*ñ7‡î÷Onl´Õñ„k©ø`B(’º®­‚2¿†1ŽÑ8‚U4^OjòÖ©ÀèщñUT©‡ò½[B¸“hÇMà¥m¾"@Ôl‘ë‡L¸È!p|O—Öí ¬lK°ŠÇhþœÍ¥½ú²¹ò¥£Y {Œm›hÿÖïr¦Œz4$:ôÝ!m õ³¸éO0yöÁu`ãÆ!Ú{o$Ljù:š¿´]v¬ž¯úÜO§¯J?š[5 ,ŸÝq\% º#fnÄQþn#VvØQŠ CU¸¤Â`ØcÜS–Òݠ܃.Á¹’|“ I6Ÿç`$ÐDÓµ±\!à]^Æet$àHuzÜ_.—ˆÊâ@K§Ószšþõ¯Ù }¼&¿I6o„x{hê‹€“##Iimåÿc*­Xè~ÂáØˆ•#1ÁeÞ@zÓ6Ù€–-1wmÇÁ@ÞN¸`ÿ8møO^Ϲ¡¸‘¬Š0Û”·a´Iº"MKd¦/EVÒ^DœÕÜ­sMÈž¤5¡³^9Ï}yâžw4k“Ë ®(èƒvà¨d‡ \·ÈôÃ7mŽ•I]bþ–(X’ãùM±ã[aOE³¦D a]±ðt„Å:¤Ø]× 5Ø#Ü)q»foµªt£©ØõÅÞ¢VD¼ã ´0‘U®‚Ãà=™'·û|A»„n¦—¸pU¸s˜JâKd1_ìPyªÚšÚ ÚÆBò7ogæôï~UR8ÄÝ›€‚u*cЦZ’÷Û켇 …:%R5û"åò'BÅ„ùy×5ö%í‚þt“6•¾ð|ÌÿäkøRRØ´´ºör9y&©õ8 ¹«r¼ÇÒ²V q_Yèì½#¦%”Z6ötÄ‘¦¥sbq$¨@ ¸) <©!xFðL M‚°10áPÒ 5„fŸ ?Fë¹VS–ÅŒyIGËIÁ´ÎƒW'¥¯¿­Uö>c=[AØ…¬Ôˆh«çá)ˆˆø6À_kw‡‘Þ¥¿¶½Bų´€Yh”á9q\ܨV“ì–5F kæ-åt&é79Éj¦‡½'4"”ïºó6,Ïž{Ç3vNéüY™vgK£%ý:!×ÚhP®y‹| ïš*lzÀísõ™›§r‚œgZsüÕ G-‡Ù ¹U.:½'BÁº§/°- K÷¶ó²œÉ—Aî)ƒáÚ²ÜÌÉ^é­ëL®)Téd8§a)Zè¡f éï’‡{E¶ª°•CG3¸hìšîUìï* )Æ浕:ö ‘ á»8Ž3ny?‚ V=PÓÈúí¥@çØ+‡eüòr298³„\#&æãí“zAƒ~cJBÅÒ„<“=Ÿáºæ‡MX d ËOÆG§<’Z¶á»†™›L¤N¹œ+O*ý‰™Gá⺓sB)¡üñNó}\ÈqÇ2)çg—ü´÷ehA+úRJ»ë±BÀÍ— #ùM2ñtˆP'f°¬«Ò'þâ±²®”ä÷v¿–^Ââ>\Ä›óÌ›w‚Ã÷›0®'-øp]>€®¶£æ…T@ ®MFýB?ˆŒ0Ÿ¸ n¯™Ã‚Ü@oÉHèg7“Z2"ˆ hÃ+¸J©¦c@/¶;û8µ¥°”5Gg­ÿç¨eN ýN0ê8Æ ´w W‹šV¶²{îd¾Dr‹ ¯<\4"z¥–æ™Â)̧ í½b·Ôh A‹ÉîÙ uBZV»êB-¡Íš‡jfW2È¡ûË~ŽE{D0¼O$xðlVºø¤¥|ŒvöBžÔ6üá1=teÕë¦|ê ÷ †¬‚xä-¨ °îèëÌÐ**!]Fª+þe„HËË&³ƒÈÄÇKÙRî(8„* 5ûõÖ¦êèÿd¸ ÷;’\±w_sƱ¡SDîf„÷VТz$Ц‡‰ !Ϩ¥> ]ê-ÑŽhXÎ&á<§Ü,‹ºž U<D9jo“öõ eXo¬vŒ‚´ô¨+–‘•Ô\°T(èá5 •_ª ,¾Z´ IÞP+‡C›A£lõWrÈ ˆC öo˜Ý³9[ƒ­ƒ¡N;êv”Cl©gœ{`YSêªæ3”Úœ:w>…„Û>iƵ ZÄ‚ ƒ‘‡8@O³ Õ úíÀ!ó ­¢P3U¼àJzÊG¥ÄÐÉQÖþàÛr‘S>Œ¯%G`L8þžÔÓCãª#îbPå$"Ô¶K5Ö•õÑ6cš[„–Ë|W¼Ó–q(ˆ s#gÅÌùÑë± ÷{*¥§)W–÷”¥Èh#ùßåP¤¥ à¾q6kGYA¡o` ò†B'ìó“’I‘«êDkiÀÕ©®ŠÛB"·èõÚæ—µu^t¸ˆ ™ƒe.H]žªi{"Ä=©Òˆ¶v>ÛÒ-Áª²~‹(ÔL­žò!¥Äl`e'@y`¢1÷9×e{j©ùGb|ê9L¼óÞ¨FÌÛÀ€n‰tAù7¦´3E¦L>p‚?À@O%B¬ÿa‡ÅE'RŠÒ3#"[3°zÛC3%Yã¯y¼nSËæÖóSP¸½µ[&³†|6Ê¥†|”J̇‘ îìA:9˜?‘“°/û¡D†rß¹¨È¼\]Ó+´N¹t£Žê§_Š1—û]-á–0ù9.³ÁÔ·¥JÑ¥ŒÜ5Ó¼~çmÐC·+Ò_ÓD¤©ÇG––Á1Ì_fy-€w$ Ý«@Yfc<¿UÈ;„A¹ã¨¸ ÁB'YÙÕ":xõ£'zm•¢Cúh×ÀÐp½ÖáPJ¤ôQIˇÍ‡¶ë©­úQýeÑέ‘>‘üèE´Öˆ1wEH†°ÞÞ âêæNþ(ˆ@6Ÿ2.uÊU?®y ½d£æŠÀâ²_„2ƒ9!S•n!´ͤ_oÍÕp)'óÈß@Öš2"°‰L@ë¼åh;þ’“ô_Ê £Úú£µ#Ÿ¾ñ†%Åï šÙkÄÈ´‡¯»òë-i.¿ÝŸÁù~´\fE‰±÷ã¹î`¸¬èŒeZí2ËlÃøª&à’ßs@T/Ø*K§‘Nûò¨,Ѭ’:Ìþh ‚kGÉD¼E¢pM—â­ÙbjLè¼aã¹Â­–߆ÏPL}°ÏÝJ'}äG"}gv:¢Æœ#¤FÐ_׌KþæÜ†z‚ÝÁ®„IKÍK ’Çè¿‘€sTÏ|±Ú94vZÀQᢚ?—“³úæƒq¬š£‘Cl‘’Ïà¶œ[Žcp\LŒÃ«wÂÌ$¦sá¾P,y<½©Ò#’ÃCÖB)ÀÙäg80H¡9_~ZjŒþŸ¤#Úv6Tç!fËd2k¼’“âQ^.¬ýTùµqé[2©Õ“ L±¢0³Ï²œo  eaû(ô!U½¬¾è!@ß\BÈÊSÚ«âøþà©€Ô¤ü2{›8Õd9e/2ä`³Îé¸ÙÆ´RR9gš¼z›1‹{ùÒn™x#~4^RÙ6î£ç¾rêiCy?zì“3éùvov0ŸŽX?Cñ„æ|ºƒZ쬓D¶1 çŒ2Œecv„ÍdëSšÝšN¢:Ãq¼2F"å2l*†M ÏIjŠ®Ó:Œú07ªW›[B1ÏR[¬‰Zp7HEƒ6Œ³ƒT†ÞV+©9‹k°@éÝíˆí/ HI ÁFš·ÈR v¾ ¦9.gÙ¨ ¾Å[mÂõâá€Ï¥ÎÆ€ E5w[®DgµS©äœëîpdx²h!Ð 'ƒþ#Fh€˜€{m™óuïxãmx½#º|`)Ì䉛leÙ\BÌE)Ðh˜¡rº²y§|Á8œT›h‚ñ/ƒN©4¤’ñˆŒÝE¯?*¨‹y‹¥JÖd•Ð^*—Cådà8yTg^YX•4E&‚ÿÅz?‚SNb)häô%òOÊ)®‰$jÈ‹pK€‡©Â÷ÚÐ’Áù¯<¬N¾‹!1¯*\Ä”Ýg¾šú?—ÿV2,9º í"‚óÆå!J£bþ§’rŠAò¹ÈdÝQ €"IÕ:-(²š ‘Ô¸*A{ ê · ­YUWtð깢ȑQAuZ"f&.D°Ï· â« ÕÜ3y4ÒHÅ2Ç0âSj§ß)F¨§ h,UY•ŒS×KHzbÐv~Dp ¼äo5;¡Õé¯_šÍ™bØútdŽ´ƒ–aªå§8'¨µ%z(€As÷[øn-šÂ:Î &?WÏ5_¢EW¶Ø[›¤$fìÜ”;I –a“Ä®Äjé³ Fc‚‰3µaxÝ"§é ièÈ!ÐP@„(éö› ¸‰Y¸ù²>™ç ÄÇÛqãB=1í›Ý­ù¤m2ÜœÓcMç°ÜÔ-¡óJ£÷àÈ$Úùgè‰a°‡9‚¨«e%a¡™ã²ÊÜÅæ´ ftç±e~ZÕ¬dªúTŸ íq_Û¼ždÒ{’U]ˆÚä†Ùm «ÅŸâm³^ó÷¡#…!m;aæ./ûÆ?˜Ã,ЧÖO‡ž ¿òiÉ|‹Dhtb€j‘â¶ X™þ•),ðTm8&ÓÝóÂx5 ÆlÁù5}ôœÃêoê¤U\Ï ]gB~´0[ézì¡îw–È-ö´ö~MçôZ'[’U¯­ÒÖ-—RmÅ”~—`ŸÝLÒL8⋱‰¶(G »NMÞÉe2“Û¼ˆKêÜpÓÿvû¿š„¹„­iPSNy­öʇbË,`:Æ|ê^Gz¶TЦÀJ wÙ%¨à€ÖŒ2ùáYU‰8.Ñ>)€D»/À(%ÍéÓ`Âu¼ÂN÷xs&˶I< Z0ޣГÿ[xùú­ "„qÚ$N ©€S CxéÕÝȼs h>U$½3´¨š5 •™ÃC.aò± ¸‚&…ôY\QÔ Y5µÎ»ï+WÄ0‚¦Žò„Á0“=ÌB5ìæ`)ž/9õÕ¶ÚuО³]“ HÅ281ËûM½‘Xïã”üc%‹¸$¡ó¶=!/?a*HÂ'ÄEé&×âÜ1¢=rš®†žšWʵ“g¾d }ó<©³)3¢Œ¦C=ÚJPÝx˜Ð„õÑ[!H5W*˜WŒf׬s`ÛE…_J×™gÂÒ^+¡0S5°‚kY‹Q…`MšPëÑùiGm_lg•r% ³B9Zš£I¿ Ù¤h½@¬Ä–DM;ŒªÙ/åkh¼¢°ur•ëûxažb'-Œƒœc½!¡ò‚…ËÄdÒ øùfgXz±ôF%$aÖE Q1Æ2©Š7<Ï·pÖ&$ê€gGŸÒS”Ùì‹XÊÏSbräÚÎ0ËäòªD¿Cë½Ô¼æ^T _ºç!R[ ™TÇ ÿ Y£—Ò —ùJ2—5…¾«U{Œœû4 ûĉþßIòN"L¥äˆ 'ƒ‘Y‘‘$Ř$ÔEJ4ry±±b6t1¾ e… ‹Ø>uÉ£Ú@“±«@"QíåsΚX?Œs©·B¹Ñƒj*‰T¨ß„´™ÈÃp*S°úÁ•gëBI KÂ2§Êñð„¢*Xqpõ´ ]T%5EJ[Ô‚§% Hc€æ¢ ¤P@`Ó½à¼RþþOI´¸ƒñ>lDGh[ÖuRP_ÚéW§Ìói}xRM¾é¹J8Ò£p¶@û½IÔ{ÖH„£ˆ‰jR¨?2ÚPÊA½³›­x óC— ê¢:þâP#˜bÜÄx&Ÿ“”ãT|WÆcÈ BE«`Y>_ëDšŠvŸzÙÁ™ ʵ[áh ò…ˆüÖ­„“¤À>86ä ’bÇm¡_ߌO÷ X&‹Žö£ÆUS é|_§?ñ†rmÉ÷ͯKΖã¨Q0‡aÝÒÆëõL*—.á¼° ’¶Åøî¾G¯¥AÒÓñ+ç9~!^ýŸOÒ‘CÀ$›Íf2‘Ù¬PvL©y#d!#3ˆ€ &I¢îÍÂ(3k‘õ}ÊJÛàÖ^U ,.'§‘Ýl¬•šú¡ö¬Ä#ZC¸³éÖjè€Á–V&7œ+~ÔÅ}5Þ®°6šNÏËS×?ÄF ‰Ueq² Ë⤖ÚŽèwI„Ó$rš‚†µæoßszT·ÂRË8B]®k6®º{ ”Lä‚N_Л*µö&‹ê?;ÔTW…íj èÛÓÍ?û5LoDð¥YÃÍŽ·ëx6èð–Ã.Þª©DJ¸ÛÔ„©,ÄDN Míæ™okQ\ÈR“‹ÿöTl¬y}¶]=;iþ6¯;È.<çþÅ}“"1O‰a”(å˜W ¸¢\-:a‚avõÝ’cGŸêK[ê{¾ç†Ìû áo}F%VfÈ2´óõ,ªMõä®k¿…îŸ}Eî¡âÂì%LGú)¬=Kñ¥I +j°VWËÎ,“ºã_Ó$ÒÞ(è*ÜSx±Vá¨M4ïêÁhÜd ïmŽ&¯¿Ô•$±5N…úK8?@?q6³“ühP6"È%÷ qjR:ÃÜuZ>ä=²N†ƒ€_“H_…ûèïŒ"dE—R«WÇO˹t˜ÃˆªŸP¡ÿT²­ˆÌ©—ÀíŠïƒ¨ñ±ÅMIWŸºpSDZþ1ú¸kÈ98šùA,]¾ãµ<=*œÝß)m›ð~•(Í›7÷™gŸ:´é¡*ñM¹û:!ËYîl™L™2}ýã´¨Ï× Þ‰,D«V­»uï¾lÙ²§G=™ fä]QzeF¡#"0A4·Ì€öÈ)w Õž) „Pg;õR­6±J#+kî‘/œaÖé6tDAÏʹg{/)jo‰D|’ÛrFݖᤠPè¨  O²â3ßÛ?rº.cÒ4Õ×"^5Ôc*·FÞ‘`/ò”˜ƒ‘ÓñÈ©ûéÞ'²d‚•<ëo~îˆlLâ ‡`(š‰–­[uïÕ}Ù²e£Ÿx&ºBµq 3߈À hlnè\Œ&ˆ°åi/øG ùÄŒƒ*Ú¦•æ`yòK ·ÖmZõêÓ}é²ïž~ì™$ÕÅo¥¼ò÷òfé@ÆÌNë6­ú\Ô}éÒïžxì׉->F[ËY‚Ú_ᾤhå€O0–5ؘÒͺš(öÞ-aÞùбÅ3cßù>=€ 8…AÂLÛ#@ë6múõë³dɲÇ}Õ®%RN¾ìK¤Õv i.aP@@{àV‹¿îµNÓcï² ·a¤ KW´÷VÐØ6mÛ^|ñÅ‹—,yìáG·rH›…“H/â;¿6aaeöžgxi£r˜ŠÓ¡,7ߎNER\åP])$„a|LGuè”`1Q¶l™l»&˶ƒÊ•¨DOL<üØãmÛ¶€žv[¶ti&›Íf2&â¹~ €I’hN%n yd V½"dHkØìz)ú ,K{Ó ¶êÒˆÚ[JêGŸz¬]ûvÐû‚^Ë–.ÓE`fÀ±$A't:¹ë)ƒ‡ ¦9Ó_Ÿq÷ÐᮃÄVÈX^/Ç,¥ ¶}ûksÈ¢8O¤7víÉÑuèк×ké’eJ¾¹NçˆEÍüui@€ÓN?eØðÛiæë¯Î¸cÈpއ‹ÚÓcïØ±œn¯%´ …³¿˜µnÝúSOúSO§O©oÃ8 ;8¾‚#äîmôíIJٰo겈Ú;¶êãæ ïàDPU'µј<ùnôs£;uìgÿéœ%K–Ll@L»çlðÑÅ0Ö<]ô‘VC¨‰VC#TÅÌ/'rݭHüŸçÆïÔé8ëÌ3/Yœ&éDÀ¡NM…å¾üj>ÍÙºuë—óæ=ùÔ“óçɧè÷h[†)©}YÌ™8GjäëR³AÈ‹Lº<ßWàvÅB 7¯Ý AžIZÛ‡Uª| Š4u su¼ÑD&‚aÔ Xù "¹9&P $ÉA%c¿ bAK•|÷ D‘Vn° K‰Þ>I‡?½ȧ6ü¤Ü=ê« lÛ°b¶pˆx(t˜BEhEsK$óþ¨×ûï¿ÿÝ{Ó­×Ëh6gªß þ•W]&?<ò1ÍF·}õ+’°ÔüqÒI'—/_¡U«Öõë×/„}˜Êd3r£qVßO§?ÍCb=p(ññ¬Y?ÿ¼kÑÂ…kÖü d2É ïOFA–;‡åQX¹èšÑë®{OâÉŠL&“ɨ£³ôs2‹–d´&D_%%ÒyQ¿6ets*žŠÕâªc/²ËMÇç‚ò7ÐËaÕÕq! D("\-‚«5àé‚ç@GûÇÜdkrv(„œ:À@-é ©ßj£² üò ÉLÔL‹1)Ƥ8Áb”3 C›B u$ÜY$ƒ-D¥~—öŸõɧgœõ'LP!“$˜¨ùÐݤ?ø)º¡ž7QW%©I YÑäÈ r—/ã24@l7?þð£ŸwíZøÍÂ~X£°¶Iû *3¶×Ô©a2#ª­[¶~ýåü¯¿œ?ÿËù+W¬´ÄÓm% $ &†m€`=ryWwm“ÄCp‡Ñn Œ‘é®!ƒ@ÙQÓyæûíÚµkÁ× W¯Z㠼ƙ` ‘EòþÕrPÔ±uq(*Úòå¼ùòÏŠå+CäÖG€™ïÏÚµk×7NÐi¿ÔIÓÀ #𺧈ÄÙToJ¡ŽÓ¸Ë¥¦ÍÈÅa ÊÝ뀌‰ÒÖµôžõ”‘:Æ e%G!È;»@b.ñFÄÞ}×®Ÿ¾žÿõªU«u0‘§kÔq8pÀ7 æÿùüóÒ™põÕW/\¸ðü Î÷I©þRÜm©¡MX3d•¥fvTìe­Ž!?å`2bZ"‡¼÷î»»vý4þüU«Vy\J©'1ul)‘ .±1#´{÷îÏ>ûlögŸýcöì;wÿûß?ÿüäO:´ºÉ¹¯2GÂ6põ5ƒ-ZrÁùÝrðD=ßdôVÎJÜáåI†:&%®B"ÚÔE½×Âèø@r0µZœöß°W~É)¨¢Y?¸ˆÕæ}+1{úª²h@CY[ê3¦ÿ IDATÓù@Gã}ÿUÚ÷W«îR„_ÿ…DÎÐ%o"S"à?P>¶Y´,Fjª·þ7B+h] r{à#æŽ_ê4:øàÇŸ|¨f­š‘÷¨@($!“ɹó¯…å `ÎìÏ_}ùUC}%• X¥jRBwPû•Ì׳Gïž=zÿ:û,‰¬(›É"È‹ ôüHˆ,v‚áå—_xå•—Ì–-£ÎÆj‹jÍ0 ˆÉså–=õ¬€Ú +9¢mLIA­Ü"¢°ÎÖ²ÛK¨÷!8ÈBômzå‰ò”q0ŸÆD~ŒÔO]xÛEP¨ ï ÝF^–Aפ~ èÅX…”9V’ôØ~QþãBlS3É•D@°IÍA/;± (–ʵzüg´Ï“S]cä‡é@b5[Èf @µ“QF×y¡¶o)fGZßîöw‡3 ¹nåþ®q#…˦܋S^ziÊK>ê~ˆ•àÛdÑÂFpP·dŠÌžóÙsdα¿;vÄÈ{d¼ÀÌegë£Î ò”´5Á°¢ |Hý &Œ´! "ìÝ©4åù—¦<¦›ŸÐ"”Å@#.;…eEýé?f*É‹ÇìÈGF„`;}„çŸi²ì‚‘8LGÑ:)¶Ë2³¯R\ØÂþϤ@ž%#n79Ø*Ô±Ó+äˆ+cYû— @ˆò¦2—L&ì܉-ÄÄI'NšH”ÂZw‰¤>’Â\˜“3ž ’þ˜X•ÌØÆµB ´&F· ITíšflü,`⤠'M`J2¤Â©î¤¨ÐV0vˆ¤¢¢¢¾}û˜Ç?ŸþC†Þ9ôÎg}´{ÏîôXr=\5è±J%p× I£"(„1´“}AG]q®ýÛÃ…Ûaž››üÖKõFªUƒèÁ烬ODû‡±‰]™Y‚6JˆŠjÃC$lÌÀ–:ù­ìû¾ÿ;@–<ÙÚR à“0ë`ðÔäÄ {ÔÕ úûÞŸ”2M›4–ÑìòïVŒ;ÑCžÿFèݧg‹–‡À¿vþkØwÑb¡†<+GßL$æãWÿO$‘‘Íd²ÂL“°¾é™* ñª*e–ÙŠ¨ZŸÌd@®Íê5[Y‘É ¡ ½«>…J(‹AMGš0+”@0†öEˆÀh‘š³6æs>\*©Pp±"?2î$3PzQXúm¹­¸º€ÎÝ˹^uJVÏá'æo»–ÈzÄàj—Ó(™«oÉKºcv©M¦0®¨{L"—m÷bRœ$Å &¤Ý\lûÇæ'^I¹P̼_oê_â¦e"Ðk sêHëyv@‡&’¾®"&$µ¯(Â~ áë bàÃ6}`õfø”*äás˜*Ô3 ·HéAtË™ŽËZªÏàvت¡œª:…}Òi•g2t æ¦VdlEQ2¤XÔ\XÈÙªôªÁŒîí²²¯¶„á€5ûN˜½ìï NqÓ™!dwºX%MƉ@€+D­ ZÙ¡&#Žš€:3°"eÑ.a‘&4hÑã$m£Ì-n$ŠÕÂMHnÝZ%¦3< „1ÉÎ3q©¢þBžP^|á…yóæV©²§#:…sRN¨dKTÔÍËBu%ÝÇ>¦Q=cgv¨HdDFï^S’F&2¶s %WmBºM 'ËTÞ)AŠoëô¸8¨scîO^šbÁ½TÝ.µoV®ûó[Ú'©Lì…pçóN¶žÔµyÜûÑQF˜‚<0k\rôœ¬·ßzwøÐ{N8ñ÷䇋7i|ÉeýdÆÈû^¿n½„€ªk®Ö3ïj<¡èwqŸ9sfßwïƒÃîºwï/·Ýz{ÅŠ‡Þ9xÏž=—]ve¯ž}LÍnž7wîæ±ví:äÁݽ{w«ÖÍëÕ;`ü¸IwÝ5ô‹¹ŸÿòËÞ¶mÛ^wí-Z´4ŶnÝzäQí5:øí·Þ7™?ýôSÛv-êÕ;`懣0?ýô“§žµté’¢¢¢Ê•+7lبÛÝÏ>û\£öU—º[bYÒ<>ê©-[™ÇÍ›7ó§3Œ}¦:¶ïÔ½Gφ ®ZµêÎ;øaõ´©¯¿õÆ g_çû{jö]@£†‡\ؽg»¶íöß¿ê?þ8wîçcF?»æ‡Õ Ž€Â‚ÂwÞŸµaÃúA ¸fPË–­Ê”É.øfÁÓO?±øÛE>|ÚMׂéŸrá…=Ûµ³Ž3zÍšÕ€¼žN{ý­7mOGŽ|´mÛöwÞ9øƒߣMtëÖ£ÿ¥W¼0eòO<  ʽóþÌ Ö_3ઃ®5]xêÉQª ÄélØèàÞ½/jݶm•*U¶mÛ:÷‹/ž{n ÇMµ^£z«jß¾}Ù²e|½à©§F-^´H½G@€¡Ãï>îøã Ø®}ûSºv­Z­êúµë¦½öú “&;=mÒ´i¯‹û´i×¶R¥J[ж|ö÷OÆ<=zóæÍÚb¹‚rï}:súõW_6`à ƒZµnU¦lvÁüO=öÄ·‹H ´~}Z·k[©r¥-›·|öɧcŸyvóæÍ qUö߯»o¯ú~Յ燨6çV¨Pñ½™37¬_ÿçóΦCªF¡‘…Õ«§M}ýÍ3ÔJ+ê¨Jò”uix7eR£ƒ6Y×ß|ãõ7ßhÏ8ùô-EEÆõnШAï~uìÔ~¿ýªlÚ´é“?óÌèm[·Ñ1~ßÝÇÿá¸ýtèÔáÔÓ»V«Vuݺu¯¿üúä‰S,‡<>²}ûvwüuè57\]¦LÙ‡î{h×O?]{Óue ÊŽ=î¥É/¡yjì“-[[Ü´qÓ§œAÇH Μ=kýºõW]:`ЃZµiU¶Löëù žxÔŽ‚I7>¤çE=ÛwlWuÿªÛ~üñó9Ÿ?ûij«WFB²ŽkÈÄt…ËÇü+Í–™ýÅÇEE[zœßçšëqT§òåÊ-Z´øñ‡Ÿ˜7ïKRàÆûôíÙñ…Û?ç|þÔã£-n: 8²óW\Õ¿q“C¶oßþö›ïM?ù¦-Y¼¬ÛŸ{çl̸'[·µtÛ¸qÓ©'œé`ZXPøÙç3×­[ß¿ï€nÔ¦M«2e³ó¿ZðèÃO,\àÒí¨ÎG\qÕ¥²Ñ·Þ|oâ¸Éï~8mÉâeçŸ×‹R‹YÀ° òé…4׬å?7þ©6¼ 'ýá ³a€¦$IªVÝÿÚëvéÒ¹°|á7ó<<òño¾YHÞ?òžN8þÒ‹¯êÔ©ÃÏ<­Zµªk×®{å¥×'Œ{Þ¹¨qãCú^ÜûˆNí÷¯ZõÇm?þcÎ?G=öÌêU«4~Œq‰Ç_zñ•:uøã™§W«VuÝÚu/¿ôÚÄqÏ# ”·gFêØ©ÃM7ÜöÖ›o³‚õ»èÚk¯7vÂý÷ßïFVá)hҴ髯½üðC<û̳pψ{N?½ë=w˜8a" zG×ÓOíж# #~è¤Oì{Q¿#<âŒ3Ϭ^½ÚÚ5k_|ñÅçÆ>GYwÒ¤‰mÛµ36l8þ¸ãyÓbÚô©76σß>x°=}l—ßmÞ¼I|}ÚÔÆ›˜ü!C2˜ë²¹h3hÁiÔ¨Ñe—]qÔQGV©ReãÆ3?œ9ê‰Ç·nÝbÊ~ùÕ×k×®íÓ»×­·ý¥]»veË–ùrÞ—Œ|`Á7_k2…"V Ž íéävíÚÓžw\‡Ô±FùÀ7ªQ/E‡ "JV¬XѶm»êÕkÈǪU«~úéì+Vtíz²U¡B…/¾˜·víÚ?üþ8 ­óQG_z饛4­^½úŽ;V®\9å…ɯ½òŠÓiÓßhÂFaè!CÍã1]ŽÞ¼y“ƒÆ]ßîl£œô¸IðߎHZ7Kè ä¬ä=1ÕñÀXÊß«Ž+eðf\¢PsÒÁI‘oi=Úç)|xÌq/Mnž Ý¿¥R§h@K"ÌèçÌ!4õbIשѲ¡ÈN}7‘¹ž|„´gÏž{ï~àå^¶¸šZdc (S¦ìa·—)[>ùÛ§Ó¦Nç–AÝŸj)™ÅÅÅsçÍýë_‡Þÿâ¾ß¯ZÉÀ».g•¶mÛlôâ~XeŠÕù˜áýžÞxK½ºõžý”,3cú´¶mÛwíúGÐÀ‰'œ ï¾÷–™µ•éÎáw«.4nzTçÎ<>êÒ¾}¾_õ=h[ТeëG>\XX¸aýúù_}YïÀO<éäÎGsÕ•—­Xñ±DõÝo¿ý¾øü‹ÆMš´ïØá‘V£.ísÑ÷+WÊ·fâÏç_PµZÕwÞ|«R¥Š8éÄ+®P³víG|ÈHK«6mF>þpÙ‚²Ö­_¹beƒ† Î8ç¬Î]޾¤w¿Í›69ävïð5kÖ¼òâËMš6íÜ¥ó#O?~I¾²Q4ÐFqhgŸÙù˜Î š€äë½(Lø‚z¿++­#ut—»ï!„X¶téÒ¥K*V¬Ø¬Yóo¾¥nÝzÏ>õ¤ë6xö6-þ/Â’EKvîØ µkשU§ÖšÕ?lÙb˽¿ì5Ö¿ÙaÍfT¹r徚÷ÕÆ s>äàs/8÷Øãׯgߢ͛åwAnÕªU}û·*UªtÂ)' ¸v@­:µº¤œÉfZ¶jñÀˆ‘W¼âæ¿Ü8óƒYÞû`>=®¹þ깟±lé2) Ë–,Ó†X´lmg¸L¢ÓÜwß?|Ík^~á妇6=ºKç–­¿¨{ß•+Vš¡j×±ýƒòøÙlvåŠï×®[ÿÇ3»VÙ?F0÷? !Zµi ~N»oäð~X3eÊËÍš5írlçVmïq~ßú1têÔñ‘Çï7žqF×*Ul£.=ÂôAêÿ§“U–š.´nÓÒƒæïâGÜ{gÝê,\°¨QãF;µýÜ“=.ì»tÉ2§©=»U¯^uÆ´7+W®tÊ©'^{ý€ÚujÝ7b¤äŽÚ?þÄC……+W~¿xɲ êÚõä.ÇݽÛE«V­BÄ$I̪GÏ^Ý«UÛÆ´7*W®tÊ©']{ýÀÚukß?âAiu_}ùõŽ:üéì3ß|ãMhITN?½+L›6õ™©å#(ggåÊ•I’tÐAR)4jØ`ûöí5”…ªЊå+| z÷é]½ZµéÓ¦Uª\©k×®7ÜxCíºuî~·in±¾ÿIѦm[`áÂE;¶o€:uëÕ­[gÕªUE›7›&~ùeÄsáÂE;¶ïˆÛ»×8!‡Þbü„ñåË•ÿâó/Ö¯_׸I“={œpâ‰þó¹›6mtëáGýaõêI“&Öü°ßwÜ„vmÏ;çìï–`gv˜¿_²x±é©¼Ù1%9Ž·z-~n8|ðÁ°aýz÷E,tÒù¿;î÷OŒzB±hÑ¢…‹VªT©e‹–w ^ÿÀƒF>$•*.\°PVݺÔ­[gÕªï7³Áú%†"‘üÍÝhµµÜ䳞j#ÏÊÈ;¸e nÜ ZM¡¤C¯º%ŠQMJÙ/ï‘ðߓ¬‹ˆ¡0j-e q÷e"m˜…Dô_.”É¿Š¯À9ßyßXP¢d8iÖÌÂm³ßB^Ò¿_ÓC›ÀŽ;‡ßy¡ ñ\ír«~›/ö1:_zIÿ5jnܸaذ;ºuëÞ¦uÛL6{ùå—Ìžý©‰c‡ ¾Sþ˰) mܸ¡_¿Kztï%G޼ÿɧF=ûìÓwß}ož¨šô”çñž{îûÓYçÈœ… \Ô·×û¼gZo¶Ã9c~?8ò~© ß}ÙEcžqÆYBˆ{îööÛoHMšúÀÓåXæy‰L˜Ñ9e„W]SPP0bÄð·ÞšÄe—_uþùÝzõºhøð;èðÕ¨Qó…)“_}M‘»¸_ÿ={wëÞãž»‡±nÐäS”iÀ€k FÜ;ü­7y£½û n'zÏ8ó,!Ä=w{û7eŽßÓÿöÑ?þضm»ÚµëlØ Œw£F‡|ð!Ë–-%sñ.ôìyÏðaf˜ º®°°pô³ÏL÷ ‘éùt»ðŠ+Üpí5@&|«ì_eÖÌŸxì1Ä$#ÊÜ6øöN:éž=ï¾óNÇRg2â²¾—$I€ÏO˜4þ…IgŸwÎ &oܸA–ºæ†kË”}ú±''>7 n¾ý¶N9±_ÿKF »› !Ô¨Ysò„ɯ¼¨ºpéý{öí}aŸÇ 3t»æFZáÍ·ßj¡™Es8ÍáÛ$Q7»‡ {ëÍ7dù&M}ðᇺ{ì³O<%˜±R;„Ù¹k´ß9øYø’+.ëݯ÷ó'¿þò«Œ3´·sýÍ7”+WîÖëoõá,ù¦ÿ•ý{÷ë}Éå—Þ}çpà)“ýz]"¿8;aü¤É/M<÷üsžÿü† dl6;þ¹‰[ŠŠjÕ¬1èÆA¯¼ôÚ‚¯¿I¼ï¡í;vX¶t™$É}wß/[/,(œ5{¦íK¨Y³æóã'¿ô‚…Ë®ìß»_ï}z <Ì”tÃ5…Æ Ÿ1uº¤ÛUƒtïÕ­ï% ùË0!&XI¬¼ÕÀ:ÚÞÿ*ÏO˜2þ¹‰òuÏÞÝ^{åÅýû^}Õõ¦Öõ7]SPXpÇíçOÄÕ×]Õ³w·K.ísû_´ ¸rÀ¥Ùlvô3ãF=öTªXiÄw™†g:ü®û$ rÖÃÑ*€š5kŽ;yÊdE·«öïwIïÞ}{ ùë0Ó—+^šÍfŸ}fÜã>•*Uº4êYG>2œv¾ÛsüîvŸüQXPø/> ×€êÕª~ò·Oû_:1)S¦ìíCn>ãÌÓ.»¼ßuƒnÖQ(f2¢Ç…ýL`ìØ ¯¾>ù‚nçŽ;iÆ r’ð¦[®+,,ü×a¯¿>]Jß ëöîÓýÒþÝvÛ!D™2Ycþ3èqa_Äb÷ÜÄ—_›|ÁçŽ;qÝúµˆøÎ»ïßtËõŽèPk×®•˜4nܤiÓ&ß~»ØÞ'§ŠYAÙ³ûç5kÖxÐ’4l0{öì† Ê× ÔŸ3矎O’âü .À$€1£ÇL›>µû…>7zìú ë$5†*´dÍûrFà–›o–È]}õÕýû_:vìs/Ny·Ü|³Äuà5×\Ö¿ÿرc_|ágk’ìÔí·ß^¾\ù«|÷½wdÞ5× êßÿ²þõö¿PFªU«Ö˜1£'Mš Š]=¨ÿe—÷»ø’[o½9È49 xÇÐ!ò‡\†M©X«V­1£GOz>¿F]#šâV!œ~·6mÚnÚ´qîܹNæ™Þç_ „¸åæ›^ŸúšÌiÖü°±cÆþá„G>ô Ì¹é&¥L®¹æÚË.»|̘ÑS^˜gÛó…O€—¥žìíý¦¤•¬Ð¹X'S=Àšˆ¨Ö<n¬X÷xpó¦ÍµkÕž3ï³9ó>ûǼϪW¯NAZÎ^8Åèï *@ÅŠ b…ŠP©bEضm”*u» »ù}ö9çÀ×_U 8ÿú׿ }»Ž&ç°ÃÿÇì/Þ˜¡,(;­áúZ:Þ×'SôP’ÓP¡‰¸òåË+„õÚéÒ¥‹Ï8ãÔ>u÷K“3 \'jgzø]Cûöí%£Y@À—^šÍš77虪S§½f€¿õö›ph³f˜ÊµÂy†Ú·_¨Ñfl&B÷Ô~“@õ´íé/¿ìyç73™Ì©§œf2O<á$xû7é­Àª Ó_38É.4kÖÜÈuµjÕ7i²iã&Í&ÅÏ>ýÔž={Ú¶m'@èÛ† Ç<ó¬<5šO;mÞLÈõOB—wß~Wz{€bÝÚuŸ|ôI6›mÞâp96ÕªUoÜ´ñ¦ ›dü »÷ìyì¡Gàˆ£ŽT$"Û¦^{ù5s6åioÀ¡‡ÙÏSU«® M°Ðv;Ð9‰¨?©É¤Î»&j¾šû#ã’oŸ~ò©½.èŽho¶]F÷zar•9dÌqÖªU«6?¼ù²%ËfÍœe°ûÌsÅÅÅGv>’ÒCBzûÍw,–ëÖ¬ýÛGŸd³ÙÃ[¶ ¼´ë§]ˆð¯ý$ƒÞýªìg\td”%¡œ,]âÕ—_3˜>íMh~x3Ú¡!· í~^ÏS§ËÇqòÄÉÐüðæªŒ$D13!ùxæ„E^1åù— µ_|áUDlÕ¦­xû­C/8·×ô©V'M˜‡µhn@•+Wþ°Íúi×3OŽ•Y;wîÿÜóâ„È2h/½øšAvêëoÀá-,÷–/WîðÍúi×ÓOŒ‘tÙ¹sǸç&Ñ>óÖü°k/©¤£ïƒ€ÂµÌ1äòåË=òð(ÄbÜ»wÏC#€¶mÛ¨dgÝo¼ƒ˜H¬[»î£YÏf³­Z·0àn»yð¹gwýõéÊÛœ8~2Þò0z›„6cÆÛ ËßkÖ¬ùhÖß²Ùl‹–‡É«YÙ³{ÚÔé™LæÌ³Î0®ýOï S§NÓ}6}· 5ó‘#†€+–¯¨_¿>Ö¨Y£R¥Jÿû' 5ÀÂÂÂZµj}·Ìý Óô3”~X³fÍÌge³ÙVmZ³9^E»Ç©^Ï&·t!{if}íâV­Z­eË–ß~û­‰fàÉQ£Š‹‹ér¬}ʽúګТe`F$•Âq A` ¥l, FãÇO7~¸ñ?ø`Ö!wìÝ»÷öÁƒwïù9€ljªP±|1÷ ÐŒ²hÑ‚#ìtúé§æÆ‡Z àeý%_k¿ˆÞPÌÉ.+kãc¦Ï¤ûbîçø.~N}œ{ôKÙy1=ÜîANÁÏÈ>µ˜~ia}¶@”L3ŸŽ‰Ï%$Éo)WJùlO©Rj­tš/ßX×Ä´¬´-F[II· ¾%›ÍÀdzþööokØX‰Û«8pÂÙ¬J^ì^²µ jÖ¬);¢kÔ€Ÿví*(¹1xðÛæÍ›ûóÏžåÐX’ß ¦Ñt6x[’L®š Äâo¿€k¯½©E‹V……å‚TV¾•uqÙ}ÄšÒ –}·tùòeeÊ”­U«N:uëÔ©[±b%(,,töï5[¶@ùrå+'W]…t¤m´¶×(Iª§×ݨzê$ sÆŒipÊ)]5û‹?œpRqqñ{ï¿ëEEE{‹1™.¨1¨V­ü°f5*1_vï>ñ¸ßýáØ.IqBÕù–¢¢Ÿwí2½Ý¸~ƒ‚f¾'®KmÚŒzHņ b¥ŠÒO<]t4¨:ÔRFÕq£T4Kû4Ù-ÇÂw8 °´aqÔ4ò3×&tVžnÀŽ ‚%è„Jë¿Rc:µå¯ûïyÐ^åµKÉÀô0†'˜åÓ¹}„­Ì—*6¾üò+?ÿ⟟~úɧŸ~’Éd<ðÀ¶mÛÿù¼ :tèÈÊ!„½T»É'Nz®U«ÖíÛwhß¾C’$ëÖ­]°à›3¦ÎÿúKãu 7o›49ôÊ+¶lÑŠùÁ$·tj˜föÂÝ:&(‘þ¥5JªLœ4.ÔÓió¿þ’–_µúûùó¿jÕªuûö?ÿbN«V­kתýÙìO·mÛê`€˜øâG; á`±úv¢®F/rêjqq±ÖÕÚrJh®£úãªòS40ê¡GG=ô("Ý(¯V\\ æ{ Ú(Èï’ȪfÜ)4A0QÐt1ºLª3i—…–Y1nô¸ÖmÚt<¢cÇ#:&I²vÍÚoæ3ýµió¿Ò÷ ©¢fä…ê[6ÍŽîhfQz(›É@Ç#:¼2ã§dqq±ì/«Ž,çч{ìáÇ ÞÍ¥÷W¹Š€uDè±N|©"±1@ÓCtÃÕ­Û%ËЊ9ÚÖ¨<>ÛAðåª Á†k¦¥C›zÝMÛ„pÓED6+`Ïž=ô-}Ì_cÚbâ¿1|³Ñ\M„Mxä aU$‚|Çã_%lIRlw[ ÓH\B´§ø<ôà##|ÄÈ6kÖìÆ›µmÛÚÄ$!2a³xïÞ¤¸´h=pÿƒÜÿ &Âòå+æ~1¯]û¶Gyäg³?kß¾]ݺu>úèã-[Šˆi•ÝDûÌ| Å{+–¯Bpà 5\¾ü»U«W7hØðÀ€ï–/sHige Àý÷ßwÿ}÷©èÙÈ>ŽÅp|t¬*3ÍëÞÉ$uÈQzÿ}7¨+..vý3—-¸]#ä&Œ¿ F_%m”¿B:d°víÚ?üá8èÖ­ûí·ÞR´…îl*Qzò©'ÚwèйsçÎ;'IòëçÍ›÷Ò‹/~>÷Ÿ)¨Eõ§EX1 2ÓF5µ/ØÉŸ,È~jo„@²laÞq1ó×d~áÜu¹; ôL¼lp®Fï*¥w,¢SR¨-®fsLÙü–þÃ)p)”p%’|¡ðÑ8ØŽ¿ˆ2–ϱ‘ˆáú1\Xáæ§&úe[üž†'IeË–%Eíµrayé÷kiåUr¹û/¦ýö«ò”W>ùäoÿäo‹-Z´háÔ©¯MúÚðá÷žsö¹º”‰qˆ~f½dl‡ézkÇŽíW\qIÇN:v8¢qã&Mš4=é¤SN:é”÷ë­éB«L–òu>j×®óÈã²Ùì¤ç',[ºT:L………½ý†[)W¼$ktiô¯w8%wìØ~Å•—vìØ©c‡N^OgÐ’3Þ˜ÖªUëSO=íó/æœpÂÉðÎ;oå¶T<’ 92 µVÒ‘[Q“•lkFò‚Šö «À°ò|/Ï4M ÍŠé!¦ýð»ÏÝKùCèv¤Qµ'pûöí—ô¹äˆ#;u:ªSÓ¦M›4kzÊi§œrÚ)ÃïþÆ´éöS Ä£A<®Šy;L%˜HNÖ\øÍÂqcƃ U$‰ ¿W+ØèEF½Tªy%9ž!· NÝ:Oy"›Í>7f’ŖɇÝsƒæQ1J¯ Ý.ëçºõê<ûܨl6;vô„ÅßZ܆ßë`šÏžgÅ<¹Ð¹Ðr ™ùâ`[ÐXzÏÈ9?X)JD”S%–‰¬s@½zÏ:›ÍŽ=~ñ·K’¤ ï¾÷NUVN]ÙU'”n­ ÇÖíWrॗ_n×¾íŸÎ>ó³ÙŸž¦öO'ïí’^ï._¾ê7¨p£Fß-_¾÷—=k~X{p£FuêÕùå—_V­ÒàÓhÃq\òqiVÎ!\XEÐ+ *¢v6Á(W¢#œ4þü§Ÿvï•HB‘dI’íFÈWŒF`Ѿçñ`:p$½þúkƒ]{üï_¿~ƒU«¾ÏÚMðãöÏ¿à¼cŽ>昣iÖ¼yóæÍÏ<ó¬3Ï<ëÖ[o~õ5w†Ñ™¢p†…ã¯ûÂÚ \À¡[ƒkŒ6 p}[KN¼ÜŠôð>hçsðA‰5_I™,ÖfJî5äÿ–þC)|˱TWA)}–$Ê2B)u£ y¤tòÊÌ;Ù¢qœ‚¡¸YôH &ƒ=ˆO"vxôÊ%' =à€ê7ªÿíÂÅÛ¶nqÌT¼ÈAäÿ@Êf3@÷ ÀÞ½{À_ÐÈd2]ºü®K—ß@’$¯O}õ¶Ûn~à: µ·ËŽ«!È߀ô K$BLæÌ™=gÎl!D攓O½á†[.½är}±“ˆÄÜ÷cÄÉ'ŸZ¾|ùñãÇŽûŒ PÞìzÚ3 þ8šFG}Æ4R>²¿‹ôüžšôѬ¸¦K—ßU©²ÿñÇÿ~çΟ~ʾ®DÌZ-L@ÒF-¶d„^]‘ѬÈf²B¹ÈIZ]?—‚IêÐ×Ř€Èd·>›ÍòåX[=\U”îZ&›A ¢„.´â½ d2­ÀL& j噇šˆ³?=ûÓÙˆ „èúÇ®·¾õ²—Ϙ:@ßEüÌ8³xm¦rµ¥¢Ú›$°mÛ¶f}LcgJ&wBg$Rôgü}®&ˆ7e~œöÇSËW(?ú©±O=ñ´)Y¡B§b ùXr%h‚¶2e²N=9¬&öÇS+T(ÿÌ“cŸõŒV+èïu”W•:;·÷«¼ä—´:ɳ´*¹gÏ^¿ÑÊy7êás¨m¾ ™Þ0—!hbZ'•Q@‡¹m%Ïí @üñÌÓ*T(ÿôScžõ´Æ‰¤'T5{µ‚0ûkU“òÍ;o½sË-7ýá„?TÝ¿êɧœ´}ûŽ™~ȉ E3Š¡¦¼h÷ ú5lØpΜ‚€+W4lÔ°víÚ߯\™$Å®GNδxKIraÕ›ö"´ í#Ñ¥B£Ê²ÕmÛb/Š¥ÙºõƒÞwŠ—6‰À/–S$oË™9æx×®Ÿ^{õ•^½û\Ôç"sCè}Ž#•Õ#† ÿö÷ÿö÷@ˆÌŸÎêÀˆ#>xÀÁ¦bÿ…^ré%WŒ·>gæ=rQù«)𻽮¾ú7õ†á'Ñ+Ä%X-®ªÅ´÷l B…PÁ“?ñÀýÿ|åkzÄ}¡/ôõõù¡£FŒqÛ-·VäIÊH5^¬v+:Áõ%ëÌ'žxüûxÕ¿¯±ßAñöæ•FŒøÈ €›n¼‰êúJ&ÏzR@«•Åð#>r±5´ä#þ妿>ì¨Їˆ#G:êØ£àO7ü9^ã¡¿Øe¿¼tÊÕWŒÛ`„¡Ö[ý׬õšç<·`Áóu” •°„BPIUǺ”Yß"³áFãEÏ@¼'ùé§ž¾û®{ÖYww¿÷ݤÊàï~û¹?øî‡?rt‘6E5jÆ¥þ68s-kIáÈ]ðGgÌ€·îö–}uÑá#FzIòGœt˜ñð Ø|óMGŒËdXbö/aCÍŸ?ðÑéïŽB_ÿ±ÇþvÛ, 3©qÛèzä#F~ÄÁ¦•ÅKÿþoèïïÿò©Ÿ?aü¨Ñ+¿i§7íñ÷äø@†OÍ"ÖÏ4zAÅ/©¸Ñ/ŒŸ0~ÔèQoÚiÇ=>°»GeD›\±3y^÷ºMG áâOØd$9úühá¢EÇLíWë~ü ÇÀm·ýk(3ÇNzÍÝ€.©ô3fÀ®»½%^]8|ø°Ã8”ÚEH÷‘uлŠq  \zée°ûîï€+®˜â1 qkrÏ3ž>mÚ¸u×Yk­µ¦N}§M›¶Þzë­½ö:S§> D;¡5íù<„<I2@cì1{ölØxãê|§-"Š» pÖìY°ÉF—žzêÉ;î¸c½õÖÛãý|övïû.¼ð§'œp¢(hVÛìH_ke]Áõ€)nháWá܇~è¸~äÈ‘ûî·o‚†ÕŸþô§áÇŸp‰5=G^ù„N€?\=¢¿¿ÿÚßþîúëo¿Á„(ƈ¬?~íµ×^°`Á‚šR©g×£°ñÆ  ›¾v³³ÏùÞÑGø‚ ~2zôÊ!„¾ê©âAˆÁkÞãñ<­Â¹†¦gYpÕÁª)}þJNÊ] ?ºT,òªSÑÏøQc;8" ¥—`Š#ío9æ"(Š–`Jö§ãòL²ó<¥ ·¹ÑÃ*Ÿïñ~#F®´Æ«ìúX)¯ lÆ™(qzfÞ<~ôì¼y!IA„6Sõ4 õÐÃ}ò“ñÅhµ½{òÉ'öÝoÏ:g­×¬uÚigt‡ÿøÉ7ßò×þðû¿ýíµk­µöý÷ß÷ôÓOm´ÑÆx—6lؾûpÁßÏîïØ|ó×­²Ê+æ?ûìÝ÷ܵxñâ£ú°{Ç’ï4ÕH®µÎ)ŸüT,Œ»Ú·¿uv3{Îì/~ñsañâÅS¦üüØûûçÿè¾ûþ1`þ˜•Çl¼ñ&ýýý?ùÉõA¬º¥€òJ Ÿ˜W]õë½öÚg‡7¼ñüïÿèÎ;ï9jäV“¶‘›u•Kåõe骫©ÑóýFë´xñ¢N=%d¦M›zï½÷lºéf3qÏ=wÅ“‰¦'õ[v¯ßÕOÂé_;íßþæÁGöÎÝß3sÆ£k­³Ö+×Xc``à»g~‡€4ª©´_¸h4³eš|ãÔoœùÝ3ùè1{ì¹ÇìYsÆ­?nõÕW›ûØÜóÏ9Át°?±åoœúõ3¿ûÍc>úá=ö|Ÿ„vÞ9çG´àÛg|gˉ[ìsÀ>“w™ûï}á%?úû½ÿ˜ÿìü1cƼvÓMú‡õÿð¼ –Ô£ Ã.Ÿû yû7Þpã‚{ì¹Çë¶xýs ÀÜÇŸøÔ'>Åûêÿ;íÜïŸõ©Ïžòþ½Þ÷裳^óšW¿vÓM ,øÖ™gµ“¡4À-ˆ°ö:ë|æ JW[mµïý à¬Y³?óŸŸ3õr‚G.:þrʯ÷?hß7íôÆ‹.ýÑßn½cäè‘Ûm·Í®³LÎéÁiÓo¹å¶­·žtåU—=:cfyÏÝÿú×Îlì•“7oÞ¼ÕW_}Êo.™öàôõÖ÷š×¼zÑ¢Åçžý} å{å”_ð }&O~ã%—ÿøÖ[î5zävÛ'Ü$È3¾ñ‰“^?q«-.ýy|[æi_=só×m*: 묻ÎñS¨éöƒ "ÝfΚý©“?ÛÔÝ›€xÆ7¾=qÒë'mµÅe¿øIÿµ¯ž‘­ÿ0wE»’êûƒÓ¦ß|ó­Ûl³ÕU×\1cÆ£õƒ{î¾÷«§ž^wá‹_ú È.¬¾ú?Ž¢7sæ¬Ožü_ êé'ŸÚh£ ¿úõå=ôðø Ç¿zÍ5_xaá9ß=7(Lè0rDÀ”)¿<ð ý&OÞñ’Ë/ºí–¿=rûí¶»îºëcÿœåYt4 Ó-Büóþ;î¸s‹-^ÿÐCßqûí‚ÔwÁdÕàÔÜm·Ý/^<ãÑGàÁiÓÖ[o½•VZiêƒrDGCƒq[wÝqÿïËñ-ÙLÞÓK_gΜyòI'Ën]ÝußgŸ}&n9qÁsðØÜÇO<þxë ÔÅöÙw¿-'NZ°`æÎ}üøãc>ÿ…Ï]ø“ ¿ôÅ/í·ï¾3f<ºÖZkm¾ùæ§}ý´IiÜÖ]wÜW¾ü•Áº§«¯¾úEÆ7]=:sæ'>ñ±Aî{¤b?¹ðÇ“'ï¼ß¾œÿ½ó^XøB-ø_?í«[o½õAòÖ]w›ñèŒ7ÚhìØÕî¿ÿþ ~|vñ¢E?ýéEtð•Wþêî»ïž÷ì¼UƬ²ùæ›6ìì³ÏªªÅ•ë®ûýÀÀÀ¾ûî?‘Fá±¹ô£ÇÔOÙ5^guêœUVYeµ±cŸ^¿T‚yÏí¨¹×Ÿ¾8¼˜ o…rŽ2è?Îoù-3ÐÖî²x[CiK‰Åt@‹ƒÖcN4Ä7uM_ŒÐ+‹¹Çiƒù†ÊVµD†×¶Äô*#AûÁ¹ç¯·Þ¸ñŽ¿å/·üæÊßP‰àÕSXb¯ñ‚Ûn»Uæ,Z´ˆsžzê©^Ž?áò˦œùÍÓo¼ñ·ÝvË¿ÿûšï{ßÇóQy Nùä§6Ùd“Ÿýì¢iÓœ7oÞˆ#6Ø`üÞ¿ç?x°·<÷1zÔ¨Í7W[¡† Æ9«®:)4úη¿9õÞýž÷®»î¸1cÆ,Z´è¡‡¦ÿæª_]~ù¥¦­ ýçžyæé£:üÐØ¸å¤w¼ã]sçÎýÕ¯§üä'?Ú}÷= Qm:š}ø¡‡ùJžýÎw¾9uêï~wKO™ ÷Þ{÷¦›nvÍ5Wå{Œ‘ö¸B½ÊZa€xY±s÷wuðázð–[MÚ|‹×=óôÓ¿½úÚœ{Þ£<m.ZƒSOÁ`Œ[Ý8Ú¥d²z·ÿíöÃ<ü#Ùr«‰¯ßòuO<þä—O9ÿœóüq1MT—–öo·9ÐÎ;û¼Ç‚Ë"ÀôiÓ9à°#?tÄ6Ûo³å–[<öØc¿¾ò7çŸóƒ $ÎøÚ7ÿyßïÛó½ãÖ·Ê*c-\4}Úô+§üêâ /IÝ·¨1ÂÆˆEçÌyì£Çœx܉Çn´Ñ†+\ fÏš-Itß?î;p¿C;ò­·ÝjüøñsæÌùÅeWüè‡?™ùèÌ¥ÑÔCéÀèÑ£ÌËZ‡ Æ9«Ž«z& è¼ˆØÓO?}྇}ì‘Ûl3i÷÷½kΜ¹¿øù”ïŸ÷£콇ª.¢œ“OüÔq'óÆ·ß‚}á……¦1$4€aÆ}úS_øØÇÛñM;Œ^yôí·ÝùÍ3¿{ï=À€ž~úéö9üC9b›m'½ww=6gîÏ/Ÿrþ÷~´§Æ æ>öØ^ï?ð{¾wÃ&<óô¼k¯ùŸY3g}ü¤B’=jÔ݆¶%嬶ÚXÂѮؗ¹sçîõþß¿çîn4aÞÓ󮹿w3õ‰“Ž—C¦*4…³‰6?á”ã?vì›vÜaˉ[ÔY/¼°°.°òèQœ)ºsÆ®6t:éc§œtòÇÞ¸ãö#VyóÍ·œùoßwÿ}XW)Ä !(A€úLéSO=¹ïÞsÜÑÛn³õ{÷Ø}ΜÇ.¿üçß;÷ü½÷©çaë ¥R%^™;2§¼;ï¸c‹-^?eÊ•ùÔT\Ò8@4ô|Úƒ®²Ê*÷ýã¾ú2ÞéÓ¦Õ¶oêSÁOh>éG=zÔĉeîðáÃ9gµ±«¡š§Ç9sæqø‘'ü‰M6ÙdäÈ‘0sæÌ|ånΜهqøI'ôÚM^ËÅdó¿÷ž÷¿ø˜í·ß~à 7š={öÅ—üì¼ï}oÆŒG ]XÚ´òèÑ'M²=´Uý}¬Øüb§?ÞpÃôéÓ×[o½ÝßûÞK.¹¸^ŸúàÔ=÷|ÿqùèvØa«I[Í™3ûŠ_üâÛßùö‚IÛ/ùKÿøÇß÷Ùg¿õ×_ÿ¯xÅÂ… |pêe—_öã_74gÎìÃ?øä“Oyí&›Ò(û¼ΜÙlýVÕúu¨”‰vÁ_ѵ¼t"Wk¦ª–H•†ògKð| –çù¾DÊïöÉڴᛋ‚µªwDöÐ'h"F®1›)çERj°í^HHé\qBÂD²ùŒP™–ÍŒ Ãú{gA@ìïvóí7<ñø»îònÕ³xÈpG]õî‘aÍW¯yÕµ¿¸çî¿°ï¡]Ë1-?bΑƒ°æšk^ýÛ+î¹ûïûï{H L'[…2”…¬‚E (ŠQKï‘BEDFõŠ(sM1çêÌlÚD÷GbBÿï~wí¿¯ùï»íºÛÌY³TIä^Rž40Ô]´…kBê¥ÛhKÌ,Ë34Dè«¡½Šm³ˆ2Ø,YÄ‚þ]FI»j]j÷Mì‰B¡x-búÜæwmó{ %Äh˜]=§ôl½C´-–§Ä³ì!½Ø³•ÙÊy­ëF¥ïR€öLïê~Ì!b€@®$1Ca!‹—³ø°Ò>JÙ"[6(?JÖ®ËÈhÏÆ4ëLJy&&ÌŠYÈÕC*!îè§2R6å¾HÁyÁ¼H0ï˜J gHÕkÂCiAxWY£”Q…¢i¾ÅÔo'ZhQ%´ÖZû5| vþü;ï¸û»g×w·£ßx)eÞuÖwλóλ2Ù1SžŸÇ˜×‘?ÌV[é[ǰ*¨è°¡G¢N®Ur»®> ­+aG½ë®oyîù箽æZ±¨ÆL¤:®z æ "ÚÈ×Ým¸„ýtʧבDz!b€ؓ⋓³BÜV LÁ$S”˜b}ß;ÏO©çæî…Uš{ª ²Ù“˜ç[žbãí¹-É!•Ûž¢OÎ8¨'4Ôr :Ú¾d‚¾”È ?Û'üÔ‰¸†Uж6úÅ©l6ÝYn(½|R¥å1Eå´©„— IK%§Î‚³›"ZæÒÌ®Bê³õ:,&RsÉk…Ö¡ŠJ,“@ ñ–ᲜéºéV¸NËn°ò U³OÖ:`<+‹ˆXA͆´} Ô» ®(;D;Ç3B–=ëôFw¥P­†Ôí½u„ÐDSºUëð–ÕSÓƒSiêÂoÈ‹Qt^æ¹Ðu«Å¾ R^`9žÑ­4àО6C2Ôp53-Ç,Á_n^:©!*ó¨ìS– €ëïz!s.ëâÆJ ° pÌ> !¾FŒmq‰ lãÏVIpê‹#½ ÿ îÝ”¦r7yrz˜K(n×J—wË„À‡‰Õs…4‘ÄMƒ«K»j2SiC–åZd¤ð¬ÃÑ-ñy”Žš;'`’Œ¦æ‹P»0ÐPz¹¥lŽMm9vÒõKÛd=UuÂ>'?•ï¶ñ^ß-LÁg>éãôÖÅÕâG¿‚ÉgÐ]+kjHx ɉˆ›ŒÑãœo(Î,¯Éïú¼«ödŒy1Ø|eC6åí°o½ÌÆKÈb왽O_h=°þ^ÅY{2?AÕÊÝÛå$¿NµVK¾ºoÓÔjí~cPëãÐR,ŽkþLÈ]WzŸuW·E9àDáe1â]œ-¡&pÔnbÕä@eÞxŒydœw+ËàR ™øw«ÎK°¸Œ+÷m˜t(U—è(D=·^03ï3]ÔA6Öò:[¸©n,¯ ÉËt‘Ñ›¼ ¡ Ž€BÚ D=3º639ô®Iãm!O½*Hü²—'8É-‰Ê7¦aŽoMF7ZÒT/Å? Éu­“<{–q‡»C=˜ßí8(ˆêé‹Å0ÿJYô\È Ív rmBz¦¶¾½Ž #u͆Dó"hÀè‘h¿J¡ò’k‹Ž3›3”†RJ"¾Ü&n9ÎxGš×F-ݦ&]×,Vèj¨X'')èåâÜc@pÎØqØ@˜ œpŠ&:®vÕ‡]tü,têWæÚEj„ Hƒâš ¹<»óÎoÈ ¸Fßfç9r—ô;Dä­“õßLÙð^hº–Ò}YQ? _ò±lpSšÍ^kI5,äƒ+ÿ¶ ½òO/)2ÎQw¢e¥!Òæã’,ÝùT?BÁõ+±^ðü^ûFˆà䎲çnÊNLu’Õt¼´¶xÅÖY ›ÛXÒ„½9×…Ô¨Nñî…£“1¸Ðu®°„aq_è Cä’~LÏ1n€ø½‰†I¼€ÊuÅœPE7b°B±ÿ¶–J}ì lýIyLëì¾%ä·¼¤,kŸãï@Q§~m©.«Æ…w0 W èì“£±]MS:&€AF™^<ë¬ýåT*wÿ©\6߯¶Y¸|¿tªœKw9gö[è1_KP²õMžÃçôÃÃØi¥àÖÒ\x†Äv¼‰øÆ„Â)YV*µ|6±óF‚鈆]ÜÊòÅø MõR]É,y\ܳP!;´™¬Dˆñ‰Æ9L‘/’Š ²ñ¡¼ƒPÊ©Éü$\0uJ(}Å~Yˆ®Þ‹èXP¾‘XPЛ×äÉ߈?ÚgÔ!LQ닲X y¶Îá˜Úªa Þ,] ’JùÀE^5S'zqÓ•kš0Q@Á"ŽEQ–p’h§ÁÃÒéÏžóä…–7Ù³Òðµië¶’ìzdÆ–­‚3ÔE'ÉwÖ!ö}»)šlJŠ+uÞðÈr25}5ÞmûºSUÁô¼5é8,}“‘ÛµÁôk(½lR­¬„Ã/8hXV4 Oÿè`ªv›åKA¬~­ó5|Þ÷]5кŒì»&‘ö;¡Ê%„ÒÂi¾³ºv^èèžÔ¹PìÖz…Æ¿¥2¶©J×õ B)cV×-œgz¿ Ž=4³Ù(ÕÁoƒOÐd E).]jR˜ÔÇO³!ÏR£r{‚{<È8F…GôÛijr>_ãS;{Ænš~¶ðY1koéI.jN‡µ?®4›Z.¥¥ÜÔêÀǶïÁ>ñ!X©ñùͺǮ0$Dë!Q¼èå9¨ó?Ìá4µ˜2~à[qÇ O’…º æ5d…Ì]RÕƒÌêUá”X‚~Sî9ÚH…¬Ç4•ì¨G>DÇ3±ñè<ÆFêAD9oÿ5ô-ˆw1Fùò¬J¡õšôzinÇ\ ŠÌžNŒ4ƒåñp&ZZVã‹)$j§ÞéØPÆ8’ñÜ;· ®Qcûr™üh–ðJl(ÅÇÔ“Luèi´J˜¾Ç|‡::à7 ß@+ªvì *Øyª¸ßeÑnƒ·TÜ¡þÒÂwauãä–µé¡ôrNEL3¬TF¡Ý/Åà$U£ÔG ëlgД…6ºEÚs®W·éü âùnV²ó¡/p0îk©5\gË7‰`"Íd¢ÓÇZ9‘Y·æ¸(‡é—òË]@@£{ƒùlW»ºÆjí,îY»Baé×Z'ºØ”KƆ®åØ ´ƒY:+›¶ ç ´¬Ëì ëë0ðjŒîź©›Â¥iP׎›RÎ…üŽ]˜J#Ú=¹ÎEo©+ºBâï úÀuÕÀŒL©#‡¨³ vñSV<ûP^óðÊ¥À~t‘ê8…²n#@óS Œë޶ª²b•ø8IHì¯bƒ8Á”í?Öº„V cíŽ;®º¡› êdd-­!@ó •ñ–›zu¤™Fëà»ëfͺ\«K1'³Lí6£P/Å@.AíÕqÑ Q,Gõ®Kr¼bœ«¹'WU™ýnܹT“¥¼$)Å"ã¡Î7ç`´ÏPhÇW•Kw5† ·–h÷hMÏ&gÐé_ÔPIÓ†B©Yÿ‡Òr™jõŸÉŒd'ºå8ÅUž‹¤U_2’EVtCmk%nÉã ÁDÛYŒjÍÏÆ8SCÚL¡Ê ê}âBð´¥LèâM™úB„7Ðî±;»l~Írz%[¡U>N·&{À¨%5 ÜÅémzY{G¡uëlá/º÷ÊïùÀEwQ»Î1ˆE¤Ûž§Ø_Ãq 3ªÖH؇ tRUžtu•n“ ªHA3€v© ©‹oÔ«Q´å;ù±Á|ÏÍ(7§Yøb™BçÑ^Ó*+@¯u‡8üô ¸PÝd²5ã.‹-eä§—ð¡"©{3¤/Ÿxö¤`ýKS Õ±UD¬¨ °s¨z©”E=Â}m’ˆò(]:ÔÏ) g.Iö4á§5‡èšª¼Ò¨ÕÇömü½Ì FBÉN‚ mˆ¶NšÙ0WV®úrª©æ¬ÂLº7›Œp’?­+ÌL¿õkD›&¦mE]¶çØ*Wê2'Óÿ$ÅyÞ°0š¦sd8*  +ŒÝ#Qé(K‘ñAfÈÇdõB4Ûº |éµãK"5:eÎѹ¤ÛCéÅK‹F¯í–ÈÜfúê¢V•|XO•ÎÕpai&^±Tº>-Áq§gsG̤„u.Yò0êÉPT‰ ~V€ïÿð]|„ô³ÐvÒž ì‹RºnëÒÐWpˆ”»íPn¢ÔwWx>el,ãgådLr¦¨¶¸­092bÿY¶C[C ÃqÚ3äP+q‰ñã›Î`û^†õ¸îWÇø@¸Ç¢J¿£å—”B èµf6=ÕÌÀHb^ =…Â÷¶D®vP9I7uA¡>A/\-vóŽM$Ø>Ð"‰e„æŸÔ'RûAuÊ ¿Ã«Ú(#ÐL·R´̧,Æ2¢èluR¡YŠfõÛA‘L$)tZ9ùâ2ý¾SQW·Ñ¦p-˜…¿z]SÜ‘¡-òt9ºEžu»^Ùc !BÓHñº@z%gÛÕ<"h6DRªNòqøÚÈ(‹œJ'ÉCŒ£h?#móqÙœs˜€ûDño\e×ÝI}Q¼¥Ú3j²1´t|£=o¾±«'•Ö.¾¡áÍ¿ªXüö$ÐKÅ¡£‡¹’H$Òfƒ—Cóñó”P|Úpmu^· »–£Ô¢ÿc†ÒË"µø!¹œØØ!»å˜Ê;ó÷Â3HWš MqU!Ô{°ÒÔoÞ*}¢øÈì¢Ê”-ÔßyCP„’O-@ýî®=ík§¾yç]rêRýÃb@KGu»îO“SÒ]V'·ºû~±®©1Dih’ž¸ïæÎ2„mÑ7NØø!ôä 'sÒŽCסC™Þsnfn™~lZÅe2‘·¢KL.v6Mî’ªÁÝ­¡˜èr%Noôì Ù7l&j±ô1·bšk ¿{»e2Î>¥ͺº=Ë–y[Ò·§ÑK,—3`Ç êç9Ê·õVƒÁ$ãa§˜(xl¿Šgä @·”lÆ[)æM¦)б{MT}SµXÐÚ-üzzn•5$-õ4v„ØH̯Áµ^Càf¼«âiŒŒ}[K§Ž·Ë©¥h)ƒ%B™Œ]i:$-ü&6@ÙÅÀÄã‘Êù5if1ÑáõÆ«*RÇ U‘ÂË_*}Ù)nÓIÒÙŒ³5‰qãÐåÝn«m¥Tb†ñ >Õk Ôw]ZUq;Ýfd_òÉÌ0ÉLým( ¥n©•g”̃PÂÒ ­çhJ-ï¨~áI9÷̱ÕábR] `xnÜI|\Jìϱ(òµíA qÍõ hlãÂ… Ï8ãëW\q¹‡@J}}ñ­>U…cÇ®6yò›_µÆ«žzêÉ?Üð‡Ç›M ,SŠ¢8âå•ce)Î=ó3¦¶¯£G\…ŒÎ›‡¥ƒçÇ´ е/H–Å/Æ8šnõzëSi³î— à F›ñí¡ ”]Jsïòþ§zû¯º#šÎðQ!¤¨“9‚ºYuCi€ÔD~¢M:§\ª©§…ñ2xéx´(ôd/Y GVµmÜ^DÓÿ-/àêÆdéHÃúiiC£ˆï(䚯+JmÒ;QR“Š›RK!Ãàu–FQ±X ¥=:ž¹“Y Jk¦ÖXÖPö1¡œäë-øò§†%D³AˆuÒÁW¾a¸´s“.\ÚE‡¤Hâ²z®C說&Êòi{˨¤© >PÃòL×y_6Šíº\#.€‰Ø(`Ö**çž×hæ¢ÀF_tïÐaׄ®ˆ#òáðÛͶ“‚î †‚¶¡Ñ=ó6-Õ௥® _ } †]š,ñb©Ç&ÍÌ $vê„UE|Uoôœ)ý) 1f¢6g²•t5x/ºAú?ÐH*”ЕÆôE4G/~’ä¼½«ÓrMˆ¡ôâ')Ýάn†Ù²™g›ƒÄÇ% ¸3]¬QWµ^8——ÅÔOã8X¯ÙùOv\£.·*óM¢Ì ¼Ðß^*5Nm95zÔ÷Îýá«^õªúçÑGûß_øìõ7\§hPðÀ{ϼÃÃú…i<l$mãƒö†[4°ùAQC‹öJ@Ì Búª¬tÐTyç€6=-NV›]"EæH ;J¦2f¤öÀQUué¢`ô4h“!"ŠKŒQ$Ã2¨Z23¿ÏÍwÃȯ ÍÅÀŽY )¸2'¬Ä~âyŸk1É”mV±7«ÙÕéíÂr…zBÈå.÷ˆH=:‘ƒ’ e¼¬v¯úØë…z÷ÈWIápI¢óÑÏvÇ&ŒI‚P}’÷š«u …Öœùa ¨×¤Õ ZÓÒ£@ Zú9‰ IDATíùHþÆërãg¼OôõÉ´YƒsÒÖg$4䄃Ä-"Ôªöxï3ʃòb‡«”q~}-ÛäÀŒË§§œѰJÈAªm®²?‚ÁÄáÎZ®õè{2¹IÉRsi<óZq¼Tl%µ¾£ÎË?ÌC0Åø¶rþ°×„Ô¥ T0OGG5¤}ÙjäÂÈ÷5ÁÍmŽÙ!r~ºÆ’ĺèe#Á¬›3\ÖŸ ‡ÈÑÎËWøêúÉ9’cJ^›l( %N®ž 9,ńʖÔ-ÇB[cZË>¿Á„Ùr„”ºç/‚-Ä— faæoƒùk †4«È—Bm¶éæüðáÃOùÏOß¾÷ßæÍ{&kÛO!äë(±'ÇœòtÇG6ŸêÓu69_ØTY†CÞ•ÓIw•ã—Ú½ÏKv3À™’. [ælYEI¿ðçhÄ“GI&šú%·*2á4Sž(Öàk\&'š•®`NÈ Ég±öh3óÝŒÏÑ~œ¹ ÃÜcõ™¥Nç&’ë^DÛ]´³¹@–{¡Ûó1%— øÝí©½œ3¸˜s¬~êÔÕ¬“¤st+õ-¨žÇ`­–}ºå¢YBLŠe 2¹k^þ*±—¥¡àX©ôÅ X£#Æ @Þ•¬c’S—Y1aaQ»ÉÃK¯œÀ¹KN[O/ÈŒú¦–d)”ÌíuÚKº»9‡æú.ê)ËŒEÉ7°¹Wª·X±QƒÚÎuÁÌݯ®z¿!™&Ü”‡ iž$K Fp>rÜœc~œ=3FÂ…$†_¾ÎÒèžå?à ñÝ(5¯Ê B¡ôâ¤f-•¶ËùEýÒ‘ÆU)¯Q†âÕbÖT<ˆÖ’jr«ÄͨbOªBø.ÁÖæ¢WLE“Q»Í}ì÷¿ÿX¸páe—]üðÃOš¸ÕñËÆ 5jÔöoØáÚk®êÁH•è—ÿ& ÝrW ´¿Í7>@¡£žK&¿jÈÔÈM;ñ¡ñÖ½€q<в\¶-P¶‰òG3t E”W¢›)8,¾kâ7”¼¢Ú-ÊÜiL¡læédϳGÝÐx†gÜ[*·—w1ÐûÓ¶ h—;?‰V0‚„q4“ÊTo«é>´n¯ç+ÅßjиkÉ¡NÊqw™š©Ôäþ{C3”œIÇ6„X¯±‹ØŒ­¨ˆê—vBí³Y~š¶2ö2Œ߲ä=ÔÊRºòP±/¤½´“švâ`^ÿ«äZ½¡:¦Wéíû±o±)Þ”u¹9)õjƒ¤ŽË>ì nêþ(ãM²gb÷–†š¡êäæb-À ÿ/´·ƒkéÂ^Å,É6ðë’BnÄCvÇ—.¿ j¼{S{¦RCٱ̿Ӟ¤ƒ0Øè«¶™g’}u0u‰™• O÷]ÊHÈЦ_ŠÉ’_g‚ä¶<5—¡4”ddêËMþÂl#V-Wþ ­´ÝÕ¡B€9¬ª‰6|—é­þ·GíóD­bž[øµü¤ <”†Ò 9›‘°…áíF&ÃRF2‡Y9:Å,£c½Ù2×*B¶§¡’×`ÊdGR¥¦eGCúUyü*Qæ•ë §ÃE_Ÿ{î¹:oøðíRÞf´™î”;‡N¦[CŸJîÞh°?:ì{½„º¥F{®²Ée,æÝBžçÀEŽtÑ1Të‘!LŽk²œê„¸i%øcëMX(¹Î½u»‰u0I @çŽãœboé§x³W ê§ô( m¨Ì@¢VT§ÏÝf §ØFéˆ/@îÌ ò«k×ÓöŠbb$(Q sAAQ7U5±Çs(îµ!{yŸ“ê,Xi4µ’œëº?ià‚¤¿¤™i¬Œ× S-38ørßò{Nžúeëû¡d¹•@A™ýÉÛ£9 ®ùšñ\B©›ûÖB6«¸\¦&òè­Y”VŽ¥-© jse4‰Ö ù/û ²3´Ø$Ô­â^òØ8*leÝú^HúB>uÊ5ÄyêâèOHçN Yð馛¯¾ÚêðÈ#?ôðt†Q—X²xqÖ=xÍšk­3nÝûþqßÓO?™?Õý$g¥Ëù—.уj¢Q¿8+cµ\tÿE2ʯTÒíe»—õ¦Ü7uë͆ºEhé³ë¦ëÇÊ‹L‘ÇàRy ¬aœ¥`B¥%„ª»VRCÚŸ`…˜çä À”}ìÐÍæ)kÃ÷ëñÄã^xáùµ×Y—/ˆšó؃þŽ;îôùÏ©¿¿``àC:üá‡Ê»h-Ñè7&Œ5…ƒQŽ5DCå“Òíê‘+:ª3]¬øZ ó à,ªòݱÕ.&´idgq‘UòJ<¸êÅ5‚HÞ°Žò½—¨?tœkÚÊ‘ŽÐ½Îôœ‚AE ¦/åÂÆôkXSw“¡.ŠMXm hv+ ÙŽW# ÑQŒ)*p’èp§›ÈÅIÍOñJRÝOÅ0 ¨7Î ªg~“IU§œB ½ÑSjŒFDP·Uޤƶiw–@Æm@×ðêÙH³¹20â|fÞ´Yöõõõ÷÷U"Öçgãaq‹{bÆ+ ¾µ^¤…œÃP}$‡ôµ>ð#m •AÝlŠë«§ÿœÞd×Z=Ýi|%ÁF¶·´Â4I¡ÌM\޲ïpÆÀ^-R‰s\²Ñ¥S×™(¸š³5ºŒ ¥…)¢ü ý  04nè¬Ú¯x$¡²s®®H¿+ÎðÈSC §:Àõ$%Á Vx()Ó¢£±âRd(-eb· ™Ý°¢(+8×äÐCOd·»©£ ×P¬{4››!®êÂw÷Ô€­&msÊ)ÿUgŒ9²þ²î:ã.»t ÌŸ?ÿàƒ÷€nøCÐn¶éæ—_våãÏ]{íu† Ï¿ðüŸÿ|£ýŽw¼«¿¿V^yåÉ“wùñ¾ïzÐ֕ꨲèG8è@ë1Vˆur¯·“&ß9¡ùªì$=­ròÔ±˜°ïŒTv‹Ø ¬ ÍâköÓI èÈ‘‡ ,ZñºDéj-‰Sz渨Ë.YN§í‘FÓ®xó§PNÍ@Ó˜dUÕB);&Pîª.ÉžSúPj¸èî sA;Kº46w̾öR“TÄ;™RDÂÝìÈ«”j¾*¡^¾$ܼžEà^Ä6wø^Rˆ®â²µ%…ˆ ñšÍò0ñ†D°,Lå±Ù/¹›c2žjð(Gk€h68Æ¥±ÀÁbÈX Ø&# ±o‘;™†ö6šMµÙ°z“¼º”YtðÊxÚFñĉQT´/ö”&,Í#¡}f-ú¤$äAá†V©Ê ".×…Ø`z‹—6Ô*žP¥€ù^cvüÅ£éŒB"ù:Þ jƒ´¤CzÕ±B]ÙA¸ÛbŠŽ¦Œ¤Sô63ÅaÌ©š^rzt¸ê%=3)¡K9*»CždEkHÄ-z,u™Â¯³5<æü\(”](EͲLS-F£Ó ¨N˜­#¤XwhÄì\ÊΈxqwÏI~jZs9OÍ4kò1Ú\ ¡ô2NAisÝaîE ×Â7+ù÷˜Ä-Ç]ëZ­zïѬÎihQ9jÔ"ß0ÙXªTN=õK·Ývë;ßùî ã75jÔ3Ͻ_" ·‹ûm½®ÐáÒ¶¡ôrIj’–“d4ÿgIºíÍm²çÉ0ÿºŸ5–j…ÓV²9šmýÙ [б™OÓ¬¥©ûÆÖŠüGÉ ðì0˜<ñm\'¹T—uGOÊžá×T¢gGH;Àåê!ïùàœ®2±AiÏy¢â1ÕSæÉzôxk@vêd•ü ™LUðIeƒ¢ÙŽqƒÇÜlÙ ÕÄ ‹È9 u¦"½Íc°J£€¶€*3GAä´õ#¤oÔ bUU—®õC½ý¸h!@UUP¿6÷0„D›ˆ(ŒT 9É®§\D§"°šFâ+~ó-/Ýòaà=FnKE׎N¯ÿH¦éœ¬UÜ¢{üR@}·ëqù üñQ¾×%g%Ta‡‘ÆšgIâñYÍ3¹üug.T$7P’,"YÒçp«ÜõgÙ(ÛžåíÅ™¥@zZØed47êño©ëu@Õ,ÂÑS1ê£ÁvÂJµ2˜Z/n î×øK‹…•Ìl¾4R¾J/·Ä{/BÎþÖ$žÉµqG©ÙìÜ'¡é m}4§cÅî¾kkg‘Ln{ÉæD¦ºœŸÝ¬jÜyõL. äúE+ÛHÇ YG§79¤¢b—a¡º hXEô!­à h|:p\Q6vWêBå{ág<¨/)ؤÈÓ *—„DNôðx‚C¸oéJÉè‚ óí&ê Ü ¨1âBÂe*pºíqÊ+¹9¢³Z$ºb¼!Ô¡•Z4¬‘£­”Y“Â@žw ê&˜<>"f4œ(hÀëŸßk¯ˆóF@ÑS+Ê0çÃÖÐM”FÏî?”ºp–„œuB€¸m5@ÖHâxP™jùiG.¦^Åß‚"ždÔˆUÄDoŠH¾=Kš:Ú¥%¤ÓÁHœˆ¦9%¡õŽY 4U1âΤðÇ]~² –!F 1#‚ B0wÕ­#“Ôï¦äíöqÝÄœ†¾Ã)’5q(ñ‰sø¸xŠ90Xi( ¥ž’P¤=9 %Jé»=9¤õybÁ]DJÍKÙÎdщ§ÜaP7C²è°Cƒü œkBCœ’HzT-ªC%‡@0^sꑼÛ)¾c¦Šƒ€•J Kìüsêæ=r1O£,4¨Ü"z9ºdDh“¿_«Ë"¯æ'{¥CötЖh™ÕzS“±S;ðX ŠóBœXÔ__r=Jÿ’¤åÞèx³¨–ñ?]Ê“s½n9ÆfAH©¡@Ùli¹ ´fRhº˜çN¨âÚ4|‘yï®^ª›G‘õ+ „ÓÎ~ä7É>–Êú²ÈÞ½^6ãò`šÐܨÔrtúȉ»Iô­¶Ê©{))và¼HÂÚb"Æ=3nbæ ´Ð3"Ü@!=7ñlí¥’wãù ²)ó;S 5Y’£ ùÁö2!ÚQ)ðT> ;»!B³í¡¼ÍR\”'Ö…äPhWWõJI›- ´çÔ$~')””'†ŸèV`"4«? !Þ+„ƒtß®• +!ä{30©Iá»5«Ù ûŠ$C€µmgèÅ+‚¡~¤–ý 23\ÂÊàèzÚ+èË!÷¹Ö2Â'S !×'}'Z nÛЖê¨`bŠJƒ ‚Ptõ´€GÆ$°ûMqè=˜7[£âËÙæañ™x\¥PøÎeá‚ù±f0Ý1'aþ#I Yaa0*z½¯Æ‡‡År)?«m Ú*ÖVˆ¼à¤.„Žæ¸ìãn×`­é›¼ï2 F„õU’zùMîkËz’O´ &ÉñËŸØÆ´ Ö¥ä,ÚÚ%û,³ÜÕ†¼r“¡^þSæíó¤Ý[J+VjP¡Å¢RëëºQ¯XdÓR1X·[ŽS*ûݪ6%£0K^z^«²GX+_Û‰ïi;¥´$êÅ`b¦«iYC€¤8Ó²¬pÙÕÙr’×™!ì1ƒ;kÊÊëd°Ñ|íz,6šGCsá´W±ænM<µk€©-°IB@ŒÁBýLò7iÆ;ð^¾Ð¡âîˆHL¥¤ñ¨2ÚiµrÚˆÂÉ_µ|§WxT]õÉä œÂ¨É+0‰<¡4ˆb_HÏôöGQÕ‰“OQ’¶_fÜ%|Xf_0ŒÏLŸ§z±Þ¬ h•|eHÚJf–»+uˆ…©õÌÁÅô\DA Š õ•Zã3Ô pVka¢ãÖý´tiÔùLÓ ÃÌfÇ"Gfq‘­ÞiI\l0DÀ*„Ð××,™·Ô«#Å’BZ¦fÁDI<ÓLŒ€š8H²vº‹–S©¦\™#MËL @ÜExŠÉé­oî‹>~U!bÅŒ,fßXÉK…`=m­,h9œª˜Åd0‹ÐP\Þ$ÙŠZ"±ì=%{†k98âGÎ{‘ 5¥L^ÔLf‹ÉËÝ¥í@8 Êi6 G31q¢0ŸuQí&8k×ßHËW24M?Iñ)Å*ƯÓnj£/Myû ÿjŒ¥ZЪ5•2C&ÀÓÈÇâÆ{ÝZg‹É" O™©];¬zLÓ’5ï„sg+bÊ·ö(Fñ¥5YeËíLYÉLÒÉ7´ Сs@Û¢W—]’6Ã:ùf›x¶ŒÐó´·ÔÄbîĦ>ÎCSG¼!!{T/mˆÜhžíÉãä'ËÁ¶ŒmŠF7_Cuô“ÿÃn³ÈwMX{ÄDÖzsX$y€rCÔcx„|XZ$¡ €iÑ—›æ4b¡£%O÷?x¯($Äꂦø’.Z±1Ö»¼ƒKZ7’ipR °fЊ]ñŠÚú‡‰Pm©‹ž„Zô n“ë†Q6Ó B +¬@8mÂù D ~O¦Þ õ~CQ\êPªNŠ€hÚüȱNZÒ‡ C‚ˆ¨Ü^L%å2'*ñ®E5–AÈRÜÇ ^¹f’;ZuTLíÊ–˰N Ãγ„¼•r])ˆDB¬hþˆBÁ@QÁ@ÅÚð¥=* (ÎåÙ?½ôX²jù&^Ä´q–Æ<Í3Õã“m¦EW@€¾´‘!šÇ˜ä2“é ˆADlG¨÷zz*pÒº±ï[Ù¡Øi1{2u%¯Õ¸67[{lêÅ>ß„÷"çÍÛ mã ¡%…Bl[Nw ”PJIÈkÚM£®i¶‚ÍÈÈW®ìæ¢ái…iXYë%1Kú!u5ÛÚá6™uÜE•Õ‘3˜©tAr#zvxð•bÌhÛ8^²t¿.i›d3’™+%ûäeþ¯©$3®‘p–@”ŵ{E¥ä`[”–é{h›Ë»šÜ)¢ô“5ˆZö¤Kuü¦;$wœkN!žLó±ÊùÜ¢¨Ý:‚¬Û²ZÍßÌT‰’EÌøÉj}û5âÏgXØþ‰F:ŠÎ¯¼÷Ä"ywÒëVdN~.ˆ7“P I@ž©]ú’Õ*¡¯Öÿ2§Ì.Û͗T0‰œiï¡Ç‚ÙYæ«xµD¬ª*†1öÜß×úBPÞ7Á,˜0ç®Õ3ïú£š· "–¡‰_ÓzÐ&gÚLÛ +²h© ö 2’éÚQ9:r0=‡&öÖóU°“qN m¹htÀq¯,ÍŽ|ÊJ6NüdWõÊ^°ÌHG–(Ò“:ˆkÊňü¤·ÇRäqFuõr˜)ž«™˜šÔCñ‡GŽà|K” ÚªæC;¤¨#¸)õJL(Äf­§/èL&ƒT¬áh¥BÜ@œ¦Ô Õ V ÙéaƒŸŸT*·¦ÚÎô†eï I+3yu¬£»!Á¦-ZlŠöM2&X[/ËÚ ™ŸQPä~‡F’ÚºY–\´p‘Í7jÁëK–gT„­°ë[5ìqªŸŒì³¥«Å<‘ñ 7éÛ|^Ï-Õò|9IÖ»â•ô|.4p¡ÌPÒÉÓÔ”XMj³Yÿq”®ý야}IzÐûk{šSŽ£ÜLô˜ ‰3x\&ó n‚‡å±ƒ+hËæÔT#ù­|_Ej2û[_v)•3ßÿ !)/–poÚ}¤ÜlnÍhaØ£ ,-ºG¡g"£"CÐRã|êK4È8§/i[¥dãB’ÁMí(¦&ÔOrB+±žÑÜS#õÉá¼-ÎTeû%`x1²)j—”rm’ZªZ²dIUUK*ÄeÆÅP¢ò’%Ðúy7¤U¥äÍh\ €B€¾¸NûúúCÀP¯Ó†Ð§î_­=íšb–“3%œk9h™×žÌì…Ô¥AÒÑi5FìÏ“!Z·:œÈC?ƒïóª=ÚIÎnA¸Ðû!x¶ç˜£ùqýÐn ’.–[O7‚KÊ+¾yŒÎ’¦­ËÔËzçÒò/íkf"#á+ O„D!Rbdåü¡'W,~|’41›Â«z}Ÿw”͈q™++SÌ­›úcˤõWe;R1Zs¶ºîC°~l÷ô!ņûàê*õ[Ù¯½â{Ød‡<™ “Ș0*"™rý¥« ˆ_¿w2‹•¸+(vÓArÍx‰\¦Þ1cÑ+ ƒ|*Qf‘†K»/Ú5rÌf¯`a8ÖQQ|üÚg†ÆK™"Iøp7ÕÜt,–,Y\! m ¤h¶þcN PExä`Å+Yå}9*Ô!µV…*²2Ñ/„Ð×—¡CU³ƒêC ƒ0¾Àuü#¢¯ˆ-í¦Œ½UWøúåE¤йZ.¥†‡ƒ¼;°‹‘÷}Š"ÊS†z\,ÇŠ"LS…¶M@Í)ðJ F ²%éy""TXÑT·i(£+<], ¡¡IÉåM^S\ŠÀ[¾ãzL\:È0%ï=ÙìÄÊ×M**Nê#»– sÚÔ[ŒåM%EvúßYÑU˜Õâ©Ôb¨ùˆÇ‚ï†#$E’b~z0J~‚  PG˜T( Å‚f&Ç‚JÂ[Œ(²˜Vé6jYZY‹}RûiÛ1UlDÛ'ÛB)1S :³²æ•|š'òºa å)§KÚÆý ̸E<à™"T¢Bl-*…”¨¡œÝh´zHjrQãXÿ(it%Î&'äåKç+%9U&;‰h±7Æ K¾¡d{ þ•ʳd †1Ñ}$ËÈÝZ‰c³<ä &áä,I¥ÀÆ\‰¤–vÓ*-žôk¦ƒ¼ 2W—]L˜}a0HÒT¿˜ìUjÆàAÌ®ZÜ6kÊ“ñÖzÜöW!Æ."9VNÈäÖfi©òšåLôŸJ7!uAYGŠc‚žÿå­Ý¹ñn¸¸&Ξ´t’œjflÓ=7…–¤²BCÒÇû”w<ÊDñ¡umÎÕ+KrňÃÕ€´(W÷âÅ‹Ó@1¡Íš…¶Ó“úB}+5.ÁňìfVK–`Å“!iÝ„g Ðz`º×ƒþЂ;‡©ñM}(¦LIÕ›x ô¥ˆt@1ˆÂÏŠoœ1,îluçAµÞ¥ûUQšŸåýäÎe·ª€D‡ÿQh¯åÿZ½öO]—1:=§ú´j2®Å´ù!Pzn7X ôêVÚ {P¢“L_€g\¬UäNhöø¬­Fýà )k¶\u$J(ÛÃÜE’ºqOAoo@¥˜ªN“T± ¯M ››˜]•ó,°!™ñIhùTB\4y²I‹ ¹„–46ºh¶¥£[h jÈñ. ød’*ãE¶¥¬|ÌÍ/ÌûéûŠ’ÅðA%=޲wÒó±x«æ{›í.¥V<$䟬ú œQÃ*ÕJAœ[©Ñ;Û¥å4%•]½YÿÕš¡E1teaíêà«>O~;´GîƒÃt•æ˜6¯P»4r¥NjòxôŠsåD;'v]e/ /“ä€JwüÓ_öÑ=†d±K)ÆŽó+VP”l@Ás!ï¹kX\KÅý± ‚!i( pÞ¨¨"¥u!}†.Oé—ÂU¾@;IosŸ1‰‰À[¼pÍ"¦g B*al¾é±j#.]O¤ gȨÎqu¡”‘Ð¥å¼|Gk¶@Bшô’•ÃHcQßÿJ ù¼sÒb€¸çYw%co=õ¨ Zœ2Š5Dl¥Å„quöplƘ¢ª•©zŽÚØŠÐp¾g#ÏB %Ü´˜32@ºÕÎRºU¬È鮿‹â¼ŠEyiJiT´E:b°%¥xKw¼]§kVH ZòŒœµKŒNCB& ^˜˜Â¨ ƒ—r­+žRR=J¨i¦˜JÚÁ‹¡äXæ=É~…„t†„VÒ$ÝÜöAÌ‹3¯$Cu‹!¾ÑÛQ<3è+¦è[q¡(S™ý3ÊR”kÔè+kçlœ¢ š2gdWPß]ì¯HŠÆ=¿,—­Ìçh«?,d›Sþµ|&×ý•êC:ÆÞÆÒ탚,Ί@²¡ä$ëô '%Ú(£èÇ ®EJ_ã¼s®ÇDÛ±&uIu–}̵1ÉÊLg‰¥!¥©AƒšÞ¸æ¦cÚÁ5rÅ7l“G­=.KÞŽBW×Ö¡oOÙ>LõÖÂJK bí ÔN_íåɸÎz ˜(‰`ü%ßµ—’¥½çØ“x§IZÜt?Å· TG !çÙ_¸4ïÐÂ7GBÇ?š,kÍCzD½ÉvÚ×q'Bt8:%yŒCžM¬oHNyê<ý k´_ù -E³ì²©“²QÝNg³I”=…Dù”¼|@´—Ð,“©¡ d î‚*À ´yI$(”©©L'8BÉÀ²D ÉÑ›²•R”Zî§òAH0XÖ†#4? <~XÙ8‰EMuIè}±­[õMXÀCÞjtr>“ õšÁ IÔó1D¨(œ•†[¯¡ Ò1ä8SŒŒBšGRzUMÕ¦˜Ö®ùñIGF“˜'b¯ÄxùŠ×¼õHU†nŠkKÆ»(•*•é3·›ÊuÐ=Šœþòž,ÁÇ¥%= GmÓg)âºû(Í].ã°P@®¡‚Q2@qa—Dþ£³L›ŠðSåÎro\,\£yÁ”Ά2ˆÿ¸´ãŠ‘»Î’neqH•†¥aÙ:´˜úå>Iª¤“ž³B”èäÒ¯È${Y'e32÷ Œ‡8¡[ˆ˜Ÿ1*#ûÐdYœ¡EY73a"}¦¬ŠU¿åv[sZjñ®¯zëc¦_-¼ÖJe °âÀj¥t‘´GíøÈ„ÿU³fsºf‰:÷@ª4S ò|1’q§h"šyÙˆ\r{UFÓó7t ‡¤t¥)5ø„Ì€…èy&;ˆœÔ5Š›K½Ô¦eU½@®‚ñF—Kx™Ì~AP+G"‰dæ¸y˜¼—Ð€ÝøÈa슷•o ÃîÈH-Ä¥`º& >u+Q„bX@GzPó"¤q"Eé°0'ŠâÊp†4\É»CYʺcj¥Fº ÿªÌÀÊEí+!_$ú"‹fLg2’Ò¡½§bã%Z—z•ýE¡H z©)+n7 UÒ~â=2¡.QsVEýËúúúT¯Å€`^ÞJ‚œuÖwOFÁ@´¯§¤^EÞÜËÏVUEÌ.n´Š¯Ã¥IDz‹'½ÿJm_Wz!!$†ÂW¯wVЈ&dn‚oCPIT “5<x—ÉTê€XŠÚM¦RÌQÖ·5Ÿ%ˆ8)œÔ®î‚–ÈBCdÆL+#Š˜ÑL‰"¤3Èf+žs1R½¢_ÁáB—rÎø¦K:£ €J²‚]™{:p€Æ£ù¾ÌGMQt×(²0a«x<8E””Ù¬ô«Í³ZÞÚÛUëDúÙí<–%ç“¡´&VG$÷Õ¦¥!9­£éÖ¨¦œæz h• U¼“Z{W&H²(˜i'ió“#îĨž— F£¢ñ;UÖš}RêI,.ù€ÞëZUXUUUá’%Õ’ªª–à’ªZ‚1³B¨h¬*D‰+÷XË_+±®D“ ˜ÿ (€ 4iÔÄÀ¨Ìµ£ðâKz÷=wl¿ýöˆxØa‡ÞuÏŸùܧÐpŽB&' à¨BUaUEÉ\RUKªjñ’jqµdñ’jñ’%‹«jI…ñbý.ÝJ0 áX‘0z‚—åЩQí ±0ɨSTBj)™@möj7kÈÔÜJ’#G‡±Ø²%uŸøW=Ñ.^?HŸ¢˜!bÍ A/ ¾«57å…`âôäOÞyûõ÷U^ñŠõ7XÌ¢l3f^÷»ë7ßìµS˜6cÆLwbF _¢3¯SC}2dBd´ ©, VUEoÍUlCòVU)ê@‚$x+@=7o†×2Áá–±·9îØ#:â Ÿÿâ%_,   *IdˆÊ &†+ãL˜X‘ÁÄY%!Aãg¸G Ý`úÈ!OŽ@W·²è#¡˜TaRúL*ŸuÔÛYéÕ»}ê×Õ¨í¥ ü¡"Òx  í#©в‘SAxÄt~ m·Ž@èÝ,éuÁ\UÑ–O ²ï†áR7ëËœÍ]TQÙh¡-ƒâS¹`ü±(¦É¥äÓ€ˆ‘‰ÉvÔÕ3T%ùB©µ‡^a/ÄÒr)8I.ÁÂ#è0D.TX˜¼‡à— ‚˜àÆ’ƒvTµ…t’\â4‡›ì'ð&oF×…H‰ X@r›ýœë’¡G{7õE+„Žÿ%iÕü†ÓŒpi(J´¨å¤ ɲ¬è ‡[MÛ.+÷„„ÇÏ”íë0·ãKÄK5…†_Â(T&#ÌU(ÔÈôCi¹OJ´SjÞȳ¶ž‘*“7i†«*yL”9¸ÚÁÛ3r$Ùâ§'ÂÐ$ù6 “«:B¥"Ѻg¨ÖqYnÜ©´7ÔŽŽ[oýÓ¿sæ+×XÃïh±Î8ìÈ#Ƭ2¦=8í²‹/çPA£ «yŒN¥·^³eŸ60ôPë?OÂ"-%;³D‹Næ  ªHäEIn2 †dj¤cLá/Pð_i’Ò>eîµP”ÅD‚!'h²n ô±‚-ÞœXbÚ ¢ù–ÜR±QŸÆ ôY  ŒÁª[C‰2fÎЫéÛbbK ï±c¼ÔÉ#rgÈÁKºZ —Ø;5ªÄÑÁtôPp½œ‹Ho¨góÍñ™¤‚\Ið|³>áur†aPIG«±Wv]–çꌑ›2øæ-6®=qÁë±Ë¨ý—TÒ,E™B¬{¡ÍwÌûî8+"-‡¥´±Býi1õb@ @ÏBÊ¢ 7ͯ hg³¼D¯·ûÉc¯”PÅÚøÐ:{¯ˆé8•µÞÑ.Ë !‘6y’{¼Èš²qa›…a†êhvÚƒÓn¼áOût@ì]v²"Œ[ý÷ì±{ýóô¯ž¾dñbj‹zd–ƒ;1AZ‚Õ}q½0f•UöÚoÏóÏù¾ÌÅì‹„Ò`âZÇßw?Ûÿª[AÔ)hPþ„rü";%äI°ÛA¡ÝUœ  Ì€@˜?ÌŸ?ÛãJšœáØgä™UI©77Î[£¡2'm–0 Àüùó``þ³X¯ÿ2Í×^{í7ì°Ã/~þ‹Å‹¶ Ó´GUö^] Bž¬aÛ PðVO ¦€6¤W{‰…ÏZ{¢duÖ.?¾†Û ­|ŽboH9'–©Áª©I‘/X& \ ŒAˆœx ”#–˜Êst² Ë*¼ 2"h†ia&AÕé×¶ºŸy=T9FÇ .XcT[ÚS¡„?0 eºšÌcÑ`žXûBuŒ%'˜¢½¦n³Ë¾PIåIø3gZýÒÜ'“Ævº©¹Á-Ö”ZÐÜ$·_È A iæ=”0¢„®fö¡˜ÕEZ‘Q[¶ æÕíàN€€ % ;[N,’—@WË’f}ƒ^ÏIÍ%€é©Y½akgå¢ S­o”JHÏ‚º&–£äÆ±à Œñ·ª™1Ë”²ýJ+TÊTTL(ÿûÈ)µbÚ¥EÀåGþ«*aÌ6“1ŸÃÃÒGé¯Ò@òZç4!K^–šºŒb†wÛVQ¶$PÚ<ÕiêTl#=åÚá»öêkOýâ©oyë.¶·ªpÜÇŽëïï€ÿýíÿÞò×›éYT”N%{ÊçaL0ï)€\eÍ<è1cVÙgÿ½÷Þo¯Q£Gq@Ûß?ìO·üá‰'žòðÃÜõš¨ë¯¿þ‘G±ýöÛ®ºêع=öûß_öwÏ~ê©§bĶ҈•n½ý–Y3grðaŸüÔ)“&N>¼ÿöÛï<ýô3î¹ûnnnÊ•WL˜0~泟þÌg?Í?'ï´óã?ÎM¯¿ÁG}ô¶ßnÕUW}ì±Ç®ûýõßýîYu£ÜÿÓÏ<}·]w=ôöß~»÷ì¾û¿ýÛê3yÉ%—^ðà POÕñüü ‚ H~3fÌç>÷Ù#<✳ÏùÅW,^¼¨›µ³^›DOoçð¹+…yw¹ÔaÏ …ÐÇŠB½¼ŽìYŠ•µ«O4ZÇÀñ)½ŸW–¯wˆÔN)ÐK˜*…DÉÐ"sèU˜ª]Ëi«Çt}¼¸ H÷zËý/úK 9$E<7 ÁÔL‰-VrÂã"!êÆ1ʃPŶ¥¤S–ˆúò¾~Á?’òÖ§Vß“žÖExQÐù&‘ IüÈmÐà+yíÙf·ŒÐWªn\öé PÇp´l"3äÄr;ÕTFLê;4©»BÍ1CcB!d¶•8¹VÀ0PÃq;[Úᢋ2C&ê‹§ÒŽøú€|rI¦ýýZÆ;P©ÄFeæ3ŤÃAç&’ªÊ«ë86[˯ÍX¥€Ç.øeõ0ºŒ³"¤\M8»æ2/G|ÓzŽr¤´Ì˜e ¥$ežG²ÓiØ…VÕ%s%…¤ePˆö‹˜°ÒøtMz…6S«µ¤T¹VU{ºÒ! DÑ{•‚©“¬]/)aÚd;Ž“15![V‘š–¥e.²Œ/¼ðÂ×OýúÏ/¹ãcÅÞ¸ÃvoØžþùoþ-1[ËîZr~ÓË ã;}—ž±óPšÞ•ÇŒÙgÿ½öÙŸUV3mê´œwA®ºOýú—Ÿz꩟_ú‹ Žßiç7uî·Ž<äè»ï¾ÇÀ…|“6·¶Þf«3¿ýõ+xhúÃÿ¼êºë®ý¶·ïöÆw8h¿ÃŽ!œòt8܆Þÿ@üÂë·xzÉ´í¶ÛœñíÓúûû§O{hÖ¬ÙïzÏ;^±ê+"8â+毯~ãËÎxôâŸ^¶É&í¸ÓßÛò¬îsè´iÓkPo¼Ñ…—üÐÅmÉ’%ÛMR‡¥``þ"ÎöY˜?0@¯‰]Ùrâç|﬑#Wš5sÖ­·Ü¶Îºë¼óÝï˜üæÉÜÿàø'ƒÚl³Í~ð£óGyë­·Í™}ó„ 'ìÀ¾o}ë.{ï½ïܹs#ƒP¿Ï8óôGf̸袋^ûÚ×Nž¼Ó–°×ö~ðÁ©5ÇÜ{ïߟ}öYXsÍW¿úÕk>üðÃOÄ À¢E)†Ül³Í/øñGuë-·Îž3gà ö?`¿·¼õ-{ï½÷ãsçš19è ƒþíßVÿå•W®²Ê*oÇÛ?qÒÇ×|õš_ùÊWd±Šê`þüg™D\`úôégŸ}öðù/|þÈ£Ž<çìs®˜R‡µéÿ³wÝVÔÎòÞqpÀ½)‚ |EEE°‹ ‡4Q¤+Š{Aìå'‚R•f£#*]°Q”*Eä(H¹—ß»I&mwßÝ»ã€ýøä¶$“É$™Ì¤­—j¢È`L#gÎ\'q¶‘27ÒùP 4ÆëÛr D´{a°!ê’Ï)yX”-yF­šR4ŒX·(­PçÓüÀN€áþ’㎩f q'yc”}à!'^$u°¥NÿAy@÷!‰DôµÇjj ¹²lÌ€2að§òºn1…$,*áÍÊý•æW¢ÝülÖ1À„((šYê˜ÜåP¨$¨œ?ÂùtC*(¦w¥T ÕÙ–põnJÄÑ”»ÖÙ85 }ºLP hy>ŽæáÌ’‘à 9z*ãVH¯Å¸!;ïxØ⹕†õฬY¥!ìc#|¸¸%Â'ϹWŒj‹y±®º¸× cFF÷Ú9O<J˜úw¤CÐj‘¢¨ >‘C¨v‰Ú¥Šˆ!fµÑ# ‚gÁÔ„Fô%?Õ-·Å—G°”‚uû²N4¶O³º8%¤Âb¼ÔºQ쉼•ÞѾ„=vähLè¾Ð'ªvìÎs¬öâ«€l†VXTUªî%Ï êÜ :³Ø|â–Ÿ±#PºRie â §£ö×Èêa6äó¿„qæv€Ü§›?ï[0iJå–éñ@Oçú›3û<Ó§NÝ:2Ì5oðûC:(3Í£aé©ð¨8XE‹m}g«;Ú·KM-ºiæ×ú½>wÖ¼)ñŠ/6~Ì'£GqnÛßug¯‡îëÔ힇{=jMWHy¼wrÁä¾Ï¿2uò4'ï<Ü«CÇv»ÝóÜÓ/Úú©v-CB^{ù-çYrä–ÎÉÈèÙ«k4>ô£ E‹}ý­W€qå|¾ÓÑáeË”3jü§Ÿ|îF¼¿[§.ïêÔþÅgû9Odf.\ðƒ™ÉX o`¢¾œöÕÆ›öí?@nذéÍ×ßùyñ/̦vC>ùtŸB… ðÁÐÁC)PB"=üà=îz¬ÏÃݺôäÆÉ3Ï=•R¨ÐC><{ö @x W×n]zõºÿ¹çžÇl”)[vĈQãÆu$ñàvíÖµSçNÏ<õ´SøO<ñ„òÁìÖ­ëÈ‘£äC¡„˜Ÿ{îÙ”B)½è=kö,¥k·®½zõzþ¹ç”ð‘iÛ¶s~Òð#¦N|ÇíFµ}Ç6fÚ´©6nØ÷”³Ž IDAT¿ÿlذáµ×^[ºd V‡ÿ;üÞ{ï5ªcÇŽíÛ·ïûR߮ݺ2dòäIYYÇY(ÝŒW§úʬ!¤HÄ]Ö@Ñô„“ÊNç†Æ „°#Šˆ1-ø&”mOåþƒnVJëõE¾èNÖhl@ƒÜ$dÓŸ?À׸|‰¢ŠùŠÿ$6KÑf1v…!ådS Žô)‘3·D±OಀœYDÀÍr/äÀ}p) ¹ Y¡°¨"¸!E¯‰;‰‚LÏ*FÂÓ€÷¬Àžæ!´0‡ù´Tz wW¹§Ö©W÷Ü``UæKëá°¡2¨oÊ”Xœ¦må)§FQR%‰g"oa,F¦ŠL# ZX¥Éi}*n¯ºf qêBqÀ̘*¦Döc±Òs¡v®’’0ª9|ƒ;½lìiamÌP‹)6gDš>cQ¨–#y™Nï¢÷u"^寢hö¤Öˆ‘M+¬î.c´ü(Èv˜ Ððê†ÕέæÜ^Ñàò2eË@ÁB[·kõ¿óÿ×µS÷X,K¬ëÓyä|ú6ó ,tç]íîèÐ655õ÷ß6¼üâÈùsæÛ–×B>ÿ¿ýⳉ÷÷îyáEb­¯Ñ3Ö±çžê£tÃ￳Çtܘñ:¶ûßù5}¸Çt!û4… ¥ü¯VÍÇ2Òy’™™ùñGc/»¼7QÙRR€/>ŸÄãN2£S—Žÿ;¿ObË–-½{=âŠÛl»2«ƒÂÒŸYºôg§žíܹsÌèñN^—J•.U£Æy;¶ï:xh (ðÞûwÜÙ¶^½z‘qüÃÅKÖªuþúõ¿Íž=›§9äƒ!÷vîÔ Á• ì0÷å§ÜA¥0qÒ¤®Ýº^Pëüx›qÉ%k]PkýºõÜ› |ðÁ½ïmР~Úôéü4à­[¶Ì›÷íÍ7ßtáEnŸ)Ú¥K^ºt©s½sçŽÑlPöïß7`À{£FŽº«ã]:ÜõÒK/uíÚuðà&Mœ(u‚+ý(n~à˜M^ùtªAR” ¨×ØTt¾+O •OVùq£QöqcyQŒäÜñHD5çD wÆ5w%OY>D‹?á¾.!°ya×÷¦ÊG}Ù £d¼³yRy˲jòâªÒ¦T E)uö&JEÁc½èUx(±Ö ˜]^(Y‰5Åuö‚&àÁ ûç ª7H)˜ê¶û÷Vu‘4Vk^¡÷ÇÜaF·|øxASµà*iWðªÊ#kæ;'IÊ\ª&"œcŠþq­cÛË•ŠâÙÅÏ1#›RÆ”v3fÔ:=Åä³3y-É„ƒXna®™Ã2ÿ1 m¢§üÊ]µš¤C²ÖH e¨1áÇHvê"wh9 Lª¡‰Ø–z2d¶([OÄ ×O·!â.¬uÞªß÷ ¨gF©"×Z“8UþwÙ£ªRê!– Iô¦¦79±Xìû…?lܰéÒË/mxÕ•PëÂóonzÓô)ÓåOeˆ‚.L‹£J•³ºõì²rùÊ1[0o!…˜F[H~ïÞ}GŽüÇ©þïðÒÒÒ4oD•Ý,øí·ß ))¹T©R‘(@¡B… P¡‚:“Öǰ2“Ã@Z±b‘HdëÖmÇŽu™$ðç¦?Õp`÷îÑL üûï¿’’"2IÑAuîŠJ¶­i Ûè@ T©’ð÷?ãÃ\?zÉŗ⼕*S 2ödœqæœ!°wï¾R¥K¡‡»wíΊwì3 àlˆMI)¬ Qº2t_¥K—€=n¢<àÞ½ûJ—.Å£p»vîÄÑ·oßΩÝj…àiSv²jKìà€Q£Fµïо]Ûv}û¾4Ñuheš°rGÅœz…U¢@‹”yiØ- dc.-¶pMØj,IL ó‰û7b¸+Äý!„Rîaº&¯X_*øpåŒj$§å.šEJÎYÁyV„lTìÍ2ïpw„g…“ ƒÞÆñ>±Ì˜ `._,#ùµë³p†ý71È3KÑfþTeTœ¹#ŸE!ò‡JçÈŠA@uóõ Û J]"ÒvO+ÕÀšÄµ:œ`Še\ÓëÔËc `g•à¿Âïǫ̂q‘6°óö%uã¢a¢•ö(€Q¾½‘›[x%T‘å«ÞJö¯8[xE B"ËŠa3IZÎéd!€ú—_öÍ̯¡dee1’”gA©`( ’px'¸R¢—_^Ö¬Y #++K¦`¸~ë­·ÞzëMÉVõ´Ñ¹ÐD¿I(P(T¨`jjª3ê¡Aé|)z¬ÖWsd)¾àÄ9‰0çÂ}L)Ó+«™ÔÑmò¦=‡SyjYYiºî&²¤ Óeájj«Y(‘%@X5d”˜Î¡"«Ý=å8ãÜp3š «œ‹ªŸP 4æ:ÐÆmÌü’§Á»+– ‚ð n«á{Rx1ˆCq¤‰XŠD)Þ‰pþ<&í9eþƒ EDbÅ+ÈÔŠ‘§§*F£Ö6TX¹…‰*¦»‚üV$H²«®šûxfPšã÷ƒÒù„¢<å7ˆaô°¿ªkì;pU$Ø"‘@ÔHà®6‰IS_&ª!(W€Dï)DÜŒä1Ö±H™TGñ¹òa] ªGr§è £ºTä¢H[ ½æ""r¹)ìH#_f¬€Z·ñ_ÞÅË–±Ì›ÇÝÉ ‚þ÷~¨ÜùJíÒXÿø¸‚ :¥âäkúš‹Ù.E]?AÕHI…1J¦#ค #°C¡íL…~”´LUlH¿3ËAÉžü— å¾¹¶ê+™ºù!˜ÆŒ¤‰  ¥*ŸªâLJJNKKs®çÌšÇÃÏ›5¯q“FP®|9+cøVòäNФL~ûmÃsO¾Ð©ËÝí;Þq{›ô‰ŸO=jìž={x%Å`ÆLÁ*†•(âd»üå‡FG½~ýﱬ, ´`Á‚¯¼ÑWË7žÅiå¸ìǘ‹H+<”NS}¦5ª<ñŠÏ|â™ÇT’ –•uÿ}!Ù#û‡J<Új¯¸¬ká64€U«Výp¨È!4‹!ysÆ© šá $âFQw_¯Z¹êÃ?TøŒ¹K/TúxS¢ŠÕ€{ç²ÊÓ3Œ·Ð²eËwîܹU«V \¼xñÀïÉMM o»Œ·+ÕŒ}"ÉŽµlĺ³D¸OL³ Ûó­2¬šãܤÀkqP‘¯c&uæ¾q‡Ì‰Ø/¿UÍW¾¦Ò-/¬†ÅQKDŽbƒÍn28!rNÑp‘¬8Ï.«Rå§”Š3‹…Ÿ+ÅÅ>?¥r›OÅ â½Æ¼*yü«R[WÂþqWö@L]FeÕ‘d)ð2•Ÿ¨3‘Jç,ý‰$îUö²D¥¯OÂúº[RQˆBÕ’Ö†´¬Kd™Ç¨µhc!àZ ÉLy€çúå͘1 ©a€Iª:_FØÖàDÉ­q^Yy¨ ŒãV¤Î熭)®NÔ˜ÂÈe®N$ÛŽ£Põ!RD’ìD·$y³æ:È»‚„ø!òÌúßÓ°!i.Ö!«æ–‡‚ÜyKôVåø ­®oƒœü[“NoY ÉrISÑ÷HP÷‘îXI]M›Zþ8~üØÁ̃Eб´ Pa÷ú¿ÃÿÉ1œyæ™gU9kÝšõ{¤Ó¥4öÍ×3g~3ûº¯íÒµÓÚµl•>iÂäÑ£ÆìÞ½›ËÍÉKRRäúuNC•‚Z˜JhÓf7§N6däàACy\¾–²ñ½Ìõ•J2¶\ÀÑ£ÇÀYûŠì±ÔÔT÷šb1¥ P¤H‘+®¸Ì˜˜˜,eµÎ'ßjéÔNÇ3ŒD# §E"‘H„?~Ü¡s<–{æÌ™£gZÌA(ýEÿ²€v¨jãx,æ&:wŽ”˜®…•jl Ú#]5p”¯P¡k—.éé-“““—,Y2`À€¥KƒÁ?b”T*jw›PÉfÓ´ˆ{Çò,8pB»ë©0ý¶Î™£*j^¯dêQ×ìV?² ½uˆ"5IDšâ”@Æ«“ÊføeŠ¢b Ç›²œJVŽE²4‘u#–PFPZA$( ŸÝý9rÔÍcác²AEå46™.Cî ¬B«ñ×9l bQÄßÀŒKlHÊÖk^Y’‰jï¢K"JÕ äõÚZ•Vn©ö–WuCó8ƒËV”4¹úV@Á(i2U|j~|Àªc%#• nØò mmÄA ³ÅFšD2>yµ¨Ü  ¦“‚ÍQ?qòÂí‚x›Ã±Î+Žb/XW²=M¥Ck±ý/zoÍF&rýò¨M5o"$ßš\¹Ï61n×bJ“"/™ ¿)F(ˆ¢Tº¿ áMÝVž2Ë—­¸²ápO—ŽÏ=ùâñãÇRÓÒÚ´kå¼]»v• Ý«]õê[/G£Ñƒ™ïéÐù¯?ÿë ‡¯46ó«™³¾ž}ýM×uîrOÛ;Û¤ßÞbâ„Éÿ÷滘ÇbÅŠ+^bß¾½Ný+Q¼DÑÔ¢Ðê”ìé¨~)]ºüý÷fÌC¹òeX^Ù!s×§"ìJòÕ×ÚQTÒNسgïáÇ+œQ¡LÙ2;v¸û<ëÖ­ÍÂS…W©)á5ŒèÚuëj_€Z ‡tóU§Òä(e® gJ¼rå³"‰»ã¼@?-ú>‰Ô©}±CÍÙžZù¬ÊÂR'R»NãÇŽ®\µŠÉ"¾ÆM­ŒÉÝ»vÀY•+ãaZ¤N:Ç[¹z•!¶Í!žFÃP´HÑǼE‹IIIK—,øþ€E‹ù±û­Áý³é„#«å§„1¦#ðÔõ~Y'Ü~7:‚: ¾*ÀÙ׫n¸Ã«p´…ñnws¬ëƒä@‰ª+9ßÎ*UÀëŒUzI;âuŠ‹›¿1ÊþñîNνÝTBm ÄX¤+* za:Â=æ|ål¤ÃÆú„ F4@ 'W£xùþ‘Oë ≫JŽ!jº$8gþtÔsеÉ=‚Á0P¢–kùÞ©&ÚžzdÏ¥Ò ÖQ)œææêÅ ð\^3î_í †‹»ú˜¦ríP¶Œ9è&á>TeÁÓzˆ¿ Hà»úeÒBßÈ¥oK+1z"€ý \ \ïéˆ@÷1S³R¹2 ŠÖÁ^«‡CBL5…õë†W'鎩j ®ÝAÁ]"ƦCô¥nxþS:PЉS~mïÞQ²‰•¸·õ.½dú7S¦3eúÌ)½{À \¥Jåé3§LŸ9eü„±ãGê(ú&×5ž0ý³ƒß›0íÓsέÇŽ›øÙ$)ã·ÞÖÔÙ€Z¤h‘Æ×6̤õyŒÆ¾žñMë–w¾ðìKÛ·ïhÕ¦%•…t0ó`¯Þ=#‘$ˆD¢÷õîË~YɈÙ¶bËæmpíõyàäää{;ß-˜áB€Ío€Zµþ—œ\@䀪Á$³‰ 8¯²²²æÍ]F_y­oµsªN)Üðª-noΧÉ=-¯tRšNªŒ:å÷¨5Šk`•µQ~¶Hi÷îÝëÖ­/[¶l÷ž]>‡HïÞ½ L^´x¥YýŒŒ=+W¬¬\¥rzz:¯bÍš73vtï‡zg»2ïØ¾ªW¯®6- ‘‘±rÅÊ*Uª¤·lÉsÔ¼yó1cÇô~¨7Vö`ŒX±bÅV­Z­X¾âž{îéбý¢Å‹À¨ u@†4 èÿl6 ƒä±ïü#®c”Rê|î‰RJc,pLÔcˆQt NÙ»Õ0F5qKq5Q1é"&ª/3ô€1‰3­?NÁå‡w&x²àÎ~,bŒÏ"o–Rcqm`þ­;  ¸+N¾c¢Ê²ÁɛŗB©V覈ÔÚBIï´D.@ôUætDHíÕ~žÊncÍnçVôÏj¯Ò#¹Æ¡[6·‡u»ú“¡i ¹8Íœ¨Z@¸®, cVAãPJËX¨<® "ÿ8ú¬oªÎx~…‰Ø3Œ ‹‹Žã)bZ\1U¨/%kZ«©­×pÆØ=¬î¬ä%QŸ  R¯ÈK‹ÿNˆ#0ùL{I ¼ŸáÔ½%vJÉò´Aða<Ø›©ek[®Qâã/‡¿C«òAªÖ¦c䈀ÒÐ=ÈySg$4èÑ(¥ôˆÚdBU‘Qw€Jb„ØyH.XÐùF4uòÆ‹/4`pÏ^Ý !åË—+Ï6ÍfÏê÷â«þù—”3ûöíçöï߯v JŽÑÀš—R¡ËÊš1í«¯¿œyÝ×âTJ–,9yúglú³ÊÙ•+œQáø±ãC‡Œð¤gÀÔ)_¶ïØöª«¯üä‹ùyEJJ¡Kë×[0¡-Îü¹tÉ/—Ô«;ý« [6ouþúëÚ7ßè•*Uz©ßÓn €%JŒøxˆódÛ¶íO÷yÞ8îÿÎÀ:u/¬sñEŸOt?¥ûÖýk]ð?YP¬%9•G1kŠCR9–ó:/ÅžòÞƒU"îå¾ÜïաÆôèÙ-=½Å?›ÿ9«RŲåÊeff¾õÆÛ¨jѾ}ûŽóq¿~/ÝÑ®í?›·T<óÌókðàÁ·ß~GJÊ&J¾?ÿàÁƒmÛ¶«S»Î¡C‡`ç®]õ~½'/ö}q̘Ñýúõ»£]»¶l©xN”eT ’˜·ÊÑ%µ'#ãÞN÷þðã÷2ålwˆ¦±œC¢ªÑWêr1Q66é6G~ø²;™EŸ±¡RlDŽ«!,]çÞI@(Ywì(^UÑòêÎÄð{uGa‰‹äœXO1D ¸/˳Mæ¥n2ÜWGî¨äB A |¹¶2æLÑ¥ø2“"’2=dÖªrÿ?•½rÜTõ5ó>45ä¼g×s£'¤ôÂr_ê-G#*ªƒS´Üù æóÑ–¬Q€ Ð×ZãVé›ÒQõÅ©I· í¨È‡7eÙ&Gûoh“¾žÿ)#ÏÓ Þ§iÉT–e¢¶¾#Hº'Iú#  œÂá“ë ¿ó™MÑœcP¬v¸ ³2µT½.½„ࣣW­XÝöÎÖµ.<¿x±â{ödü¼ô—q_¿þ7=ððGT9»ò9çV[²héô©3dödÜÌ·ÇSÈŠe}=ãåaRRÒóϼôУ½®lxE‘Â…—/[9°ÿk]ë•Ó»½{;´íÜãþ.—\Z·y‹¦;wìš4aÊð¡µj“²ÑË ðÇ~úÁ‡ïkРþEuÜÏÞ9rÔ V8¥è @¤ÚìI‰Ź vîÜݦå]-[Ývîyçìß·æ7s¶nÙöè㢨˜]ÊÕ¶ÐÞh4cAˆÄ=/ ©#!èžÍ8ÐeË–µmsG·î].½ôÒ:ujgddL›þåûßÿû¯?Dü5k×ÜÞ²UûzÔ¿¬þ9çž»}ûöO?ûtøÐa›7o6ˆ;˜·cÇŽ.]:?þxŸ5j8Çoݺgpíš5··¼½Ç}=¥D‡±D s+„qŽÇg£uÐ;¶ïܱÝж­zÏâ²f³i´Œ}•—I|(œÿC…Fr}B¹Êh×è¯|òëGdÃ’"Õ+öÈ‚ÁyvÓ—¬>n"³™$Ê+;å§Ç3:D´]—5›ëCónª2UÜKÆ:ʬj“J¶›:ʨ——(#Öèl°*TäÀ«ìQ“;ëé(Åå£ê,éÑ=w¸?GÔ¢°Ð·’2•µ±§t³Ér«tùq E ii˜ª%¦ÓðF;ÑP’0È7Zck7 ¶\{ÀÜ:ø+Öˆär:ÔT%”\ëàQ–€†dØmä?xN‘9‚Ã%Ëj™Þÿ±NÃ(™¸•dˆ“Ö …Ôõ®“ÁK1ä­úÀî¯?±…̵w@sÿ„(îªlBö5Á}:Wƒ]ÔqD¤©½J5´Š¡ñ„ m€1ç0Múéçÿþûï Mn5Ñ”‘©xi;ŸâÓ)ÂjØ»¬ØÛ ÊϘ9é×ÕkÛ·ë„ùd.»¾š&Uû`s•r­}ç£*âÑ÷ǨK˜2?Ù¡BG°(óŸzïï)™€~¦ç]ÕôZçÑV¿§Y.õŠ‹ÇÿlÖ¼‡õ”-I2j3 HÃÀ”Ê8÷ÔaáÙ>«I´˜˜!ʼnÀÓT`¦€>uƒB±ºÊ'ƒ¿Õiw_݆BͼˆZN•ȆO{ó~1 (¯ªÖ°4Û Øh³ÕeYéúrkåÁÆåµÌ@Ä—y^2”ZH´àD™V kŠÊ»¹#G®¡Ok¡–‚F[À¢š5©âźž•Ñf\Åi×*0ë]sH³ã­ Ϩë>|y8)¡NDÀMJöjÙÙ Rd¼zÆ ¢Sz\àÔ†ÍVV›‘¤µ&mÐݹ^þVË/á8ÿÃ=€N9Î9£#i[M»Ñ}Òɘb÷"¼Ž<öò“LѲo%Pñ¯©byë¶fJÕâhù!·RùrG"Ϩö#Èß´ùSæqxöÐgT@Ž„® NÐ,V‰5Å»UB¸ÔêÖ«ýõ7¨YG³fH\³[ÒûLL˜?çZXß1 ;±ˆ±†Ó˜K??Yl⪖ È豃FÃÈL#nxUïªĪög yoÿµ¥À+ >ÊWX T‹•¡|½±K‡7UÅ÷©*ýuwŸJ5Œ¸Þ)ѪJ„ƒÏŸqµ¤ûkL‹ê™—hiƒ”O‰Å—H¹³èƒMv‚¡ûÁÚ„-žµÐ‚ocI€Oë—Ö#…|(Øô¼9¢¯“?ª·¯$gD¼À•Ÿ{±n'ÆÅeLBz(T1T`7)­£T¯Ì$æÀ•’ȲÀÝ$U˜9ÈÅž èMÉüeÕ›uU*.Q@ŠØ(%ok4ÄI‹„ €tNnsHÕŸ€ fXr¬C7G¨¿’XͺSÛ‹¤jZ)QŸØ†€©þ²||>ˆÕa¦hÕäžÞŒû) E{³ÍÉx?#}~¥"¯´ÔbªZf%×3ó–2U_\’D\PChy]9|Çm®¿Á9ŒŠ¦¤>¯ú9±Xlü¸ÏåÓ8€‘£eVE‡wZ¶W6YMÜhh‘$Ÿ×ec Èïæ»: ö–§(^蕟’¯Ð]¨(ZßÀ~Ðæy‰ZÇ n¹ØnôdD½0G¥ê')Õª9°Ú¡âc²^Å;dQFˆØF+wZ¼³"¼ÎóIGÅODK1%æ\ÞØu°1´ãˆQbêfnšd¤P÷#™ü«ŽbZDKWVr8 á*SŽM0ŪÅö½m1m~7‡ (Õ;Ǩ>³Òµë\ä<ÉÌ<¸rŪ [µr¥’/“­î§¥,D(ì§ –--àÚ;œJuÁ·¦ŒXFl†'5±l4W=áQJˆµÍûÙ£'l.Í£6²D¯=¥gˆBUÈpÑ´˜´* +Rt”¨Z’NÂÃ4²† ¸Î£J:A¬Äp>—‹—·!ö ±‹-ŽNŸÊe¶œþ—ð¬8©$¤Fù1çÃÓ›MPWïWO¤4ã"›X‚q¥-šˆq$›TLÄ·}SÌfà^ZX†—¹ý °º¡´fA†xW±jÅfäæé=|­#Þ² (aA ň5bêDõ> 1^"ë‰W Šà v °^ZËÔíxô§!ò!P] Êo›Z®y HTMPØ8‘cOîÚ_Y÷Ð8ÔøUèà!z IDATh‡·@¾A¸ò¾/Ñp}_“üÞa^„P¹¦£_9؆Æ-¼ÔÍeùÞÔA3Œ™ž 1O~5.H-W=_¥@MQ¨OĤT1ýQ8ùìîÀrï›OŸzeˆê¹áS»b¹©Ã°ØS§*ä0>¦$Y“¹a ï U“)Ñ¥ñ[OÏSfOö0Ü–Ò÷"ë­Xã‚-•¢ô„m!»ôšD’§{E¤|TÕ{ÅÄ3ä öá Á›3I8ÍÓ  Ë1ÔŽÐB~LÐ kjèA`ìY²OÂÃH´7› ÚWÀmð†¿„j’Ùñæ<­nOʪ‹fæÜsȃ –²! «-ÂÿWQàžlPá›%iù”½ºÙ(x2–°Ä³• v|(s#÷š>Òœ"¬o‡Ö÷y³Þv¢YW‡8 Ál?]©èUÀÐñŠÈ»òñ\<ªî:Qì%3?‰‡´‡VV¿ Š[€Y48V€¾)Qgì’ŠÕ Àý&8£„æ¨I¨I)¨¼eÍ×neÝŸ©«¦~z€›³h2R:„_í… þŒ™sŸ²Z£ô”ILgQí-PßäW½üx¦ MÖ:_¡2m#@RÙTµ’¢zø(åCHY É›Y9à‹ˆù¼*úK(%„µ#å‚ð‹Äø4-ÚXÚCj~mäݶ—Úb¢ØíÙc9kb!N(4•"]±Z!Ù@VƒÈ˹ P=‚9ŠË¢vð'ÖC¡ÄžLpù¤&“Râš-f3#–£n™éOÙв ˆÊ¤ 1?&æ[ŠžX*˜ D5ØDêRÍT8%„ð­³ÎŠw´¼}PLΌܹP” ++±Œ¸!$IB빌}Ýx›‰è Ï;ì¼` îœ=;\Ç5%$‚¾¯ÎÙB œ_Rw@„gƒM¸Ä„8Ã'(e!QµWÀÒVŽ2v–IKãaàÒÆýo§ÆZ©ÙP¦¦!GÉ!ŒD„ý%ÛJ’Á¬€DrsRÁ4ÒÁ^iÚC Lô°«ÉðôêIÜ´Õ9OŃ•¡NhYNé3%—ƒ÷¦ ê‰üŸ æÐRUÐB¦!áTÈ팾²M6Å4"T/DR9ÊÐË3ßX74{I³{TÛÀlJ¡!ïg¤-m†€R|e;DÐaeƒÍ‚?(ï¾µ¤´´A‚?µAOÔð–c_cäÖ‚ÜiQ”R£4FÙä,/áµÆg—-1·*%¤½$ÜË%ÂWº£ïgR[U¦¸÷àWì`i¯™€»'Ü(ŽlÂÉ f±Ûm`;v¢z[sÔ¯—ÔÕªaåOÓ†s¦©Rœ( Ÿ.œZߨOƒ‰_júãÀ°¸)Pý”;yôe¨lqiª‘zé­sÔwþA¢¶²ÎÀ zK´¦xÑ ÖBr‰éÊ1/%‹dLý‚Ië4‡Ái”Ž1gÁ°¿‰ðxn7¬«¤(¥ðŒ.‘˜6±cæ ÷RšyÒ$_ =Æíß¹òè;Oyx…ÍÓUú*?û#D¾1ßQÖAêH‡Ý™à¡=Fè?…/ºÐ„-9V4¸%ÜS“>}È•=P’(y‘òØ”DYÓê¥Û þšGhý7§íK-= iæ4ÓD†$ñd*˜vú°ºe75©é["[þ¶ ’ö×mJ¨ôÍ E\*ßÚÒ*vò«;=sÏ_u'@)€» ‘P î©Ï–(C!–™lÚ‹J…¥xC,þö EÊbf©`õZ^&¥eÉÃöVëøM‰ÌŠÀËó42æ:®’ž3¤שÌb¤ÝÒGÏmOûôœ›ž#:¶$Ðyœ4úêçùjm×5¼ª¥RÇŒ“?æÈÖùqóŠnŒƒ2vÝ&R·W„\˜¨øƒ$¢räʼnÅÄÅ“n>·Šó€=ÿ8O™(cº|øWjøn0&RNƒHTAÎg¡õ6¨t¸:󉕤ږ ú_<Ñ  l5ßS6•½•m`Ý—ÑåÔ° ‘o w«\sIð¤Xª»¥õк«ð®‡ùú’cÛ±#R0iª…Z=A9’‡ùk˜PGD®u ËLšÄÛŠp':ÍÌÔÍ¢æÙ"à²'‡•#ëVœÉå™Ñ“ÃÁþn,)šA‘¾6 Ú_ݯ¤(& È’¡nl³PmWrby 4‚þ5D…7{ÂK9/ %ðý`¸Õâ<ñÙyâ䃤¤EXÞÞ,ðHyÞêOHZÙ‡2CkÐAÐ’0èRë2œ€éµÁ–»í›æñN¤6Å®SKpóø»yU´å›µƒøÎÜ&ѤDÅkìS|…zëɹQsŒ¶ƒ}PdÔ>¸î*•ߊ;©_Å+( &KÅ?Ì£œeQk(s1ÕÄ\$1 ¯n6žz€éPJÙQcºì„üuÔê”Q. ­ôMA=^‹ ÒKb©^8Ž$‡v¢[-æ’7­x•_*ñùˆ„] b`Ò—*£¸”<3ÛÚÉ›ƒY›¯•g-é¸;ÃAÑJ“ŠóAqaØýVMÚ†'JêÔ“ ^èÈ¡r•bz‹,!]E9³}T{.˜;¯á¬8Iù Îq£ì•Eb•üoúø~¹jb5…< 'mjT{,]ÈÚßýGíDÙSSh2 À.ñP<|çÆô –@þ¯¹{/hzMäΉªÃ4nM"ŸÄ… à´Óàø9¯6FÝô¸ñö§ù¹ Z…aߨ¯Õs¾9 ä]ê&Y¶ šÄÚ†k\_¬¨æP»CªÕ|C–©ä¡óNäpLibÃQ$/åØêtJYs/(ew}VîºÖp•¸j WYr=t"bHÜ'Ji`OŒ‹M®ŠüŽ÷ß Áª«ÉPãØm+ÙßSN€I ŠI]ðÝB ´aƒ†‡fz„M«Ÿí‘¿»ÅB'Òy%·`µ^ŸwKÎÏ÷FœŠæ#&ã[êùVKÜ„(¾UÉtC¥-pÉ’¥,øîàÁÌ ®8vì¨'`’Uî´EjÆ +Åb*5Y›)º%§6ÄËh¼ä=ª‹Í¯ÉF’Âð‹Ÿm ågû$·`²êäq'WÍI%È»MþA{²«tÖ&Åk‹¼†ïâM6G{.ç‰ÅTSTЦ_NØU"!B)£1Étþ1 ðt“d>A\ãjéóÆ£Ol02;$¼çÕ§Uâ†wt*÷/zþ¯‚l†ÖäžhOÌ9oóà<ºKf<ÙI'™£ü©jÓ¹ rJ̧5™ÊÒîdx½æo ÂÔ-mªôZßp寉qz€jáÌŒQ–ª'ó¼Ç5õû¶W;xî6»gµëÔ¾÷Þ{×ÿöÛÀ÷Þã¶=!b¼—bÎø±©ñšƒ\Z"½ð­Ïf×GñºLµ0P»àQ—(˜5¤µÌXÛÙÉXb7ßrS¡B…¦Lž¢z³’’cÇc™@:â“W2u¡|-.`<åïþ•)‰YK$nÀ?Ñ ”«Íõcz„ߢ1//…"9†Í›5OJJúrú—ÇŽ ê䙹³%0ïXø‚‚%¦I™¢ë@ÞÔó­%FÎûøÁ×T€2ë™ÙœË H1ñð—¹â–Yn)HMBtÐJ§d±•F'%B%cH¤ÀµÈ …ñP9é³Ð‘ÈB9áìŸ Xô$ëÜ{kïŒ6.JStjX)V0Š wˆDPª•Tzˆüß‚,h¥È£[nkqÿä%G¶ÌÅ¢ÐËë"//AÓ-9€´äØ(2@ÓfÒ„WL÷±4RÁãhâñ±êi 1Kÿ£C,ÉP(^¬ø /=Ýèš«äT çCŸŠT¨&Âßô¯N^ɶ¿ŠH¯œÅ  h\Òâag-ë7Ý™4J_‡?ÆÄé0¿‡r:b¬àŽÇ˜+ËŸdÅŽB  ´hjÑ=»3sF÷îÝ(e4fì˜5k׬Y»ÖùÍ7_4~–­‡]¾bÅ 7Þøí‚ßÿðcÓ[o½¦qã9sç-üîûöí;IW^Ùà³O?_¶|ùüo¿}ìñÇË”)óëš5'NÜ¡ðèR”‹óŠË¯5rÔwßý°víºE‹—|þÙç-[¶Œ¸‹d]—÷Ý÷¬Y»þ²úõ{?Ø{Þ¼…+WþúÕW3ï¹ûÞˆëî9Æ J«U;÷·ß]¸ð‡Õ«×.X°ð×ß<ë¬ÊŒsÓЭj1ö ™t¨{}ðàAžiŸƒ¼ǤÙ6. 4,S¦Ì¢Ÿ~Úºu«xå*ìÈM7Ýð4,¢Ñ¤uë6~÷Ý¢2eʾõÖ»?þ¸tùò_ÇŽýì’‹/Åb)˜\pݺsç.¨Tñ¬Áƒ‡-Y¼lÙ²U#GŒ®UëÝAkРáŸOZ¹bÍÂ?<öø“eÊ”]¿nãäÉÓeÆÐA÷:SõøØPŠSZMš\›–VlÞ¼¹#F½þúÆO>Õçßw÷èÞsî¼O<ñTÙ2e%Eg÷uHuÃü3ÉUTÛèºÐSÀq ÿCs¨Æ¦®3•WÆšc“O ÉlðTr‰‡ü µÕÀcx®Z5 ;’ "OIø-Qk<éç ÜÁEC[u;81pºÔ«ÀÊ †¡^»ZqbaP ¨'#îÞw5˜Ö•P寠rïà¿€tN.¸KŽc±¬x¤,‡eËY)°T9 7ÚcN=tnÄçJ)€2ÁFÜÌpõÛòǘ¨„£Ç޾òòŸ~ò¹Âeߪqþ6ddñâÅ`åʕγ6mÒ““ À¶mÛæÏûKÆ’g¨áJáï%I¨3ŒÚl­#QJ)q÷Ï:ÇÇd)tI°94>^K±ø)Z¤HÑöîìÐá®´´Ô 6 <$&|xº~ýz— !µëÔA¬JˆF£uêÔîׯßÃ?òâ‹/Ìœ9ë•—ûÝÛ¹ó“O>¹xñâß"ê׿|ðàÁÑhôM›¶lÝzÛm-Š/&eÂG–®ntÍ Aƒ!ëÖ®]»vMÑ¢EjÕº _¿—+Uªôî»ÿ'B:v¼§T©RS§LJMM½ù–[ïÓ§|…ò¯¼ÒS«]§îÈ‘*ThëÖ­K–,>«r•[›5»¦qã;îh÷ûï¿9¢¯Y³æ„‰“ŒÌdeeÕªUSÜ#'–ºSÎ5;¼›•žö•#^>ˆs&—ÛT ’ÞÒ9j’-ÂÔ5hÖ¬Ù˯¼6nؾ}Çm-ZM+ Ü¢aR­Uë‚GN)”²téÒÛsî¹í;t¸öºë[µn¹k×N¹Lë¼ôÒK<òXß¾}¿ùæ›—ûõ½·K×§žzfñâEë[ç»äâKGŒü(99yëÖ-7n¬Zµj›6m5jÔªuË;v/MŒ>سçßñŸŒ«~^õ&M®õÑè;ïh³|år¢{ÿŸþ3vôÿjžß¨Q£:uÇ·L¿mÓ¦ <Àåõ¯øpÈðh4ºiÓÆ-[·¦·héèØ¡=À K „k(@zËÛ`ÂÄ @áø±c“&~1iÒÄ›oº¹{÷žwßÝéŽ;ÚOœ4aèÐ!›7ÿãéf´nVE¶û*"é¯äÝÓÒƒ%šÝNžj(Ò “ì“qòAtõâ[gŠyò™j'ò›6På..S$ĉƒÙÅ[Ú](å+æ[äkæ ~(ó=¤Ü OÔÇÆpþvŽd[h–‘ £¸¦n×ÄR##D A¹s©Š{BˆQ¿Ì™3לP 3f|ÅÏ $·nÓÒ 0~üg²xŽìù7½‘z°nð Èø`Hýú—s‡ö™gŸKNNþ¿wÞúðÃ!b“ ¾üÊëM›ÞÚëþŸ}ö)ˆ%J”9jøða:·:uyüñ'zÞ׫k·{q°²eË >lÌØôîýH÷î=;wéúä“óZóÐCD£ÑêÿîÛP¤hê{ýßgaâ€i¨°6üþÛ+¯ö[²x±‘='b¹r导¢ÁîÝ»,˜/^ÑØ—3¦Ï˜ñeã&Mzt¿¯m›v­no=}ú´!C>ظi$Þ7Ò‹oÙ2X þ'õ! Á‚ê¡|ãV}zØhÀ•‹:(¥bA%Õ„Â}“—l„ˆ|èŸ?À3´|V¹br)Dþ> @ac´PœGæå(!‡ÄÎ'Ò’BUâ0‡OuüØ<.Q7K*‰Å/Ö‚ 6ôc„“7ß|C©Ò¥à¿ÿŽLš0½ò”†.X“"¤†kþ×àsR”9¬œ‚šMg†Ø€ê‚SNØZ×IÖæZ ,t÷=wßsÏ=iiië×­ö™A³gÍR aY¤r2\¼‚ô¡C‡¨3¯…¯‹/îDJI)\ë‚Z‡4h%3óÀð#®¸ò ,=1|ƒ)R~þùgþxíš5õë_Š9ãƒÓ¦MeK©aË–Ísçν喦Õ®½ý›¯ té25kÖܾ}ûàÞgrŒõïÿnûö.»ô2B"”ÆÀæÍ›{ö膋Õd4¸·K–.Y²Ô=…xçÎ}4Š¿æãlæÝ™·E®kËìƒn~n½õÖ Lž<ùÈÑÿXUpkNù ÊW(¿mÛö?åÄ>|øàÈQ#¯½î:!X %K–ºà‚ Ö­[ǼY ƒ½ß¹K× ¯RòrèÐ!`s•ì:œ2¥¥K—®Q£æöíÛoŽ=òúë¯4mzkÆWéE„1£Å~øqãÆ<öXŸ:uê¢Zì^~òÉ8þpâÄ Ý»÷¼à‚ x’))…/¸àÂC‡½ÿþGÜ™™† ÿðÊ+¯ä„8s‹—.^²Ôõ`wîÜññG#½™lq[z$™:uJVÖqÎqë3göœ9³¯¸¢AÏ÷5o~[³fÍgΚٻw¯X,Ë(b¹¶Ã¬²Œ£™S1è6o–¬½Œ ¹aB„fÉ©‚Yûÿ IDAT½Ú†%›m¸k°BÆV¿üï ,û±ÄôP÷5äS3 aÂÕ' Iò-ó ù"žkP /¾ÖËj‡û×Yðˆ\+i¼^ *|a°išYpib—YÌ@È*(†¾‰BcYT¨Ä¡ïhßι˜>í˽{÷6¼%}pñ{§H¤†ÕD-5SÜ™AçJ#²„Û СH¸ÌywO“’SeKÀ 9ûì*>øà²_~1bÄܹsÙçdˆ2aY¥ÈFеiÅÃv®y­L+V<‰lÙ²åØÑ£|tbÓÆ LB¾&½¢NAÀêU«ëÕ»ôù^0 ÿš5kŽùOŠ! yçÎøåöíÛ 55Õ¹-Uªüõ÷_¨ÜÈÑ£G.º¨–”÷cC¨D©}x×VÎb{`4)ðRgÿQê–»Sô-Z´€‰'Æbè @ -5þþç/JùQ[äï¿þRdRºLiÈØ³çŒ3+*à½{÷–.]Ê›kA†U“Ü`×®‡*]º´¯n1ª…ŒŒ \”ÿýwxÿþ}ÅŠWÂîÚµ++ë8¶{÷.(œR˜?)V¬X$Ù²eó±cGyZ7ŠÉ:3Á]Aç é ¿0z†µ~øî‡¾«[÷â¾/ö»áú $%9š&¨Þ£és’(´µ[Ö©A@R,¼áÚºC1e«Óˆ3ŒQ¡­y #ôÄ‚P€Ù «_>[-¬‡öIeKOéögjI¢{‰¶bâæ·6§LeUgh…kÃ'z(È“¥ÊZn=…¢»fhµÆÇ¾7Ô1£ïm©’fZΙ¹Ü¡uœ[µ²º¨W¯^Õë±cǸ+E¹]oMÐÏo±$gäWk¬Z,Ê!'‚R ±˜îè⿎£ë!7wÝ1=÷¼óêÔ­»lÙò÷ìÓæÔ8“rû2ÿD &Å‹F ;z„,eŸH¡rYë´$(¦vtñ%—\qÅW\qE,Û¼ùŸeË–}þÙgK^ TžðçÓ³NÜ7ß|íÍ7_ão#$±,iÙ°’µù× r TçÙÙ7vøÇv€¸§¿Qš••U£zõ5jü±iÓŠËôQî÷u²bh‘?=Î\>¶#"„ÀåW\1gÎ<…¹¬,£»å•I$7)XVVW>ƺâåib5 ú `FàèÑ#8€ü1 :Yùöâ‹ëU©\eÕª•7ü¦†C\‘hR³[›uíÚ½jÕjY1ÃÆÔ 'Ù%lD*€ÎÒ"røÆCÛŒM$Ä©nM†…â‚hz ™k0LŒ+§Áà90ÚnddIåaYŸˆ=´ºúG® •¾¡FP¯!Bz–Ÿñ,&#ì5·MfÙ×gö°»ƒýÑŒ]÷®»:8K–,Y¿~]@0f64gÇ#,Ûãk6ÔÝ`D1k¹ ÎÌ(›„Scò’eo–û·Ö¯_ÿØ#vïÙ£S§Níîh÷éøO† ¾çßÝîwõŒ_¥™}Z”GÛKLÎ8–B•sœ¥K4€³oÿ¾6mZ5hРÁ• jÔ¬Y³fÍæÍokÞü¶§žzbâÄ/âTLWªXé¹^4¾ŠeeuëÖÅDV™ñV^³1(æÂâQwâžù·¥§À„Iåz#T0¯[ŸÐÆõV®\ùád^HÌä"zÂ0<FuY{U&ÿØ9„4~âáZqðéYý•ƒ’[¤·ìÚ¥[ÅŠ•222Þ~ûÍ1cG?~,^†Œ è_ßÀÙK"A¼F- øª˜§ÂBât€OŸÏW°(” _ëS³­ƒ0”·ðЃ§Þ(‹ëÐ ‹€(åÈ9×V›Åоç»Â·;'üFúj¦5A¢•&Ñ—¾š}üŠ+5º¦‘s=fÌžŒnVªXéì³Ï^ýë¯{öü MγW Ò=]Ì®5›ò€•Z6EΉ2ïNÜw§ªˆXÌìÆwŽ}9cú—_Í¸åæ›{ÞwßÝ÷ÜÓ¶]»Ï>ýtøðá»ví¤îiDfÞp9RÃ00KÙ+šš†É¤¥¥©ä}ª¨šÆ.\°pá Ò¢y‹~/¿úÈ#Mœô…™†y©‰»^=*ä#‘(‰D²²Ž;a‹-Ú°AC#'–éM–¬¥zðÕåì_îÉSp›vÏD.œÜô–¦YYYS§°]ßò‡„b1êd×w:JЙ'ÌÈØ3{Î,ÎçÞÀrÃòŽF£Î¢h£ïꤤ¨2MI½Iå§pÏUžSßRS¥ ––VLnîØtðW))…oºñæ#GŽ|ùåt^ãy±%,Ô¦MÛÎ÷v)W®ï¨û9ª‘È÷±‹o¿¢0òð!®Ä|Wik.B„sëîМ1ãË_}uË-·ôèÑ㮎Û´mûé§Ÿ¾öê+Œ‘œµü8«ÒYÀêröÙUyZ»Î‡y*W®|±¤NݺÇ[¹je€LϾ#·ÊgU&h|©Òe .¼mÛ6”‹¬ÑÕ×Ô®SwæÌoÖ¬Ym¤[¼x‰âÅKìÝ›áÜ–,Q*55uÿþ}`idúC'³{öd>|èÌ3+–+Wn‡û!¸´Þ¥3hÆ7ÜX¤H‘3¾tXÂ<”.]fÊ”/K•*•‘‘ñÖÛoŒ3úðáC9LN‡×èYî¯"DˆS¾ëGBdÒ|”Ú‘ñGŸ?rÿÁ=ž0ĉGD}@Ø@8xD ༕ÆÈ©\êTúñÏK+Ÿ–æñ'»9)BÝŸä€QÃÏìÑ™j¡Áe¥õ/«?¡Ï}œUÏ®:oþüyóçO6 €sEŠIoÑ 3~ü¸XÖq)OŒ% 4===@Ñ¢E¯¿ñFMD.œÏ63Ùg• eEãŠBìpu¨È߈'(Q O]sÂRiº„f­Ÿ0w;„J6–5}ÚÔ[›6}â‰'¶mÛvçwê‚'šðdîÚ ÇYYÇgÏžFßzëísÎ=¯páÂW_}M«Ö­qFÕŸDš"ç¢ÑèÌY³¿ýö»jÕÎáaªU­V±b¥C‡:hq$DYKؽ{×ÚµkÊ•+ÿý€H$úÈÃ,Xð§E?¹+Ø ‡›{ö½nÂ?ß­AM^*/v¶uÍÿ‘h’[ >Kþ9 KYYÇgÍžFßy»ÿ¹çžW¸p‘F·nÝF·oÈ>?û¹òœ¤.Byëí7®i|ÕСCoÖÖˆ²c[15šÄ&"Dˆ!BxƒØ••&d]sIÔ\;ɵ]ãa=¹û,âi{ŸbH²¿2¸^âÒ,å‹—F" ŠƒÝU àìØ%z A´(ú˜ŽËcÁBË•+§DF£ÎÃÂ… £–A[¶lY´hQ8räÈ_|aOöîs/ûöíE~ ÄŽ´VÖ0¼§L¦k²¤hÅ)(ѵoêæÓ°rC†©\¯(ç™ùº±XÖÔ)“§O›vó-·ðÀgUåÕW_e (Y²ä¸±ãœ'[¶n}ü±ÇLò°€Â[o¾qñÅ_rÉ%S§Nsž½úê+^x¡š[{má/²²Ž}2~Ü]ïž:uúêÕ«÷ØŸZ4µV­ZIIIC’¿ ‹êÁǸ“¾}_9òãûî åí­ÿù石ΪT®\ùÌÌÌ7ß|]wÜùM6tü]J*V¬èܦ¦¦/^ìðáC¼8K—)Ó°aý{3æÍŸ‹Ä ž²üï¼ýæ›o?ùäÓ··j½}Û¶š5ÿ·`á·:/¾øüرã^~ùÕ;î¸óŸÍ›+žY±V­Z|ë­7Ý=ó~çúå~}‡øè±GûÜÑîέ[·U­ZµT©R;vl8°¿«’”ÓâÜå£èß}ûö–.Ufö¬¹7n¬Zµê™gVQ9¯`·²‡ñ ™(œt]jˆ!BœæÐM|=€‡n÷;À‰€³˜Myì~¥%¨ßDí)€à9:IóNj´êN¾nžýË…¦YDš¬ÇÐgO­1mØoó=¥À‰ªl.)@õÉ6še4¦¤\⵪¦€ñ:ð9œ01”ˆÉ£#TSW,?¥”1„DšPí «wé¥ðçŸâ×õHá\Ñ .xU|ê:[e‡Œ´ ¶¸ìùEÕ®V­Úºuë¼¼Yããl—œ¹=y‘ ذÍ¿çæüᥗ^°úèå—_yF…3~ùeé_ýafe>÷{Ù°"DˆÙFö\J"ýA7D1Ÿ ²5í®¤ {³Ó |É1+v¢.y4|ÅTóˆ6ç’âÖ¾Í9’’‰×§•9Ï>pûH Ùx“Îa0} ²—¸˜û¶ér òg…Ùz[V Ðztâ=Åé3!ï…öîºéÆ›œë””Â5jÔˆÅbcÆŽIxLÑRã¥9€˜„q0Ò6›½ärV¬X^£Æ¹9¡HÕ0P¢¶9ï ñ㡯ÖD‡o¾éfç:%¥p5c±Ø˜1NVþáÇïª×¨<¼ ß!š!B„"?ÃàÊò[ø¹¡ÃsƳºªž†ð©Ñkæñ’ªü ´‡–*†'þ‡º‹Ö¥jD¹ÏŠN€Bޱ ÒC«° “ÂZdãó óhüs(Êáh\³ È^ý4IF0Ðã2¸¾DºB‡õâT ú†šï‚8×*U¬T—íÂÍÌÌ\¾|Ù€W®X.·èSÉjÚÙVD΀5f.ÎJˆ«桺ËYR¦á¥£«+U:«nÝKœëÌÌÌåËyoÀ{+V,?!ÌœT8mûÖ!B„ádKʳ³rןþßoe`8w{ ÂÝCûÇ”!ªƒƒªåÕgÜËsÅ ¸â“_y»´æ§A¦ûÜOmª®+‘ßøË|2aOÂ’j.µ»€3ÃîR38[„èa)whÝ‘4PœVÛ¸Fœ?OU•Ý9Ùl -]"ú|»%Eë’O_=èšýx晽˜±>i„÷{&³7C›]„f(!B„8 aílƒm‡M ':ÕS§cÊ[“&ŸBÚCëL§ ¹x[åÜæ»)ñÔ sE³­Ú]Â&glnuÒÊ‹rWG›ÆÈ%Fð.BðÑÅŽåe­m>e“¢T»ÂïÕ¹a+SŒçF0f‰n¢bpƒúrq¤âbL¢8zv\¬ªG¨L|ëåëM8[2ò¥ñà)Xz'‹r>YøÌm„r"DˆÓ¦…Ä`¶?$‹Ñ¼âM^X™C¾NÙîé”͘\‡ÖËGPß)²’–ð(û+ã‡8 7~õ’š^ikE!±€HÞ¡§S!æUs¦Lý>ìC)ÕÒÐ ·ª‰äGÒD8³úd¢”Œ‰3Ís6 ò©a|F)âõ ÑÔ׃÷Œ›ÀX9Í>EÿÚãÝ þâÊýR<•z“S)/!B„"ï`ñfAéÖfX, Ô™Vñ!þª«—ùí)Ö«bÙÉ ð)Ç2(žMcî¡êÌZoÔp}TÊü˼•_tÍ72BrvRÌ‚ È¥2Ì>úÑÉVð^˜­-Ç×zK'h'¬Q(ãâÖ¾—ßH";C þ ‹Õ£†sŃÕ](Uˆq¦g ÄùÜü‹S¯û9y >Dˆ!Bd^‰§ñæ=|ïëÉ`ß„H(’Ôu@³¢e({(ñ±FÙJV:7y®Úø&Ë—€7ÕlTõø¢HiÒìO_s騹6У„x4zÝÛ2LXÛ#zûnHØ~5/!òé¤8GªL©Y¹æƒÙA´•úÉ{y³¹Åxƒ9%"Dˆ!B„È70Ïe w ;I%ÄiÙ¡•ס¢Í’r3y³’l›ã'šñm çÇ6JË“1·És¦ì…˜¬Œ§ Ž~Ïú†’Ù¡ºÓAŒ^nß|*P™ÚeË?|7W'اedmÜå>|“ Ð8Ùõ˜MO`*?ÅSÀw=‰&•O>C„"ÄI6ßDiØ%…È>”ZÓÒYä˜hñWÁ|(ìBróš/t7/··:Ö Ò6…èá›f‰êÞ¥¯ëÌHË›AmSjàÊ/Vš|v,ë6XUPâ[´nö¨¯3‹éY,ˆšMj¸2#¨y&ê”gÜéI§lé1‰xi¤cYdo\ îZUþæK;¹Ë@ ?ð"Dˆ!N[„ÝPˆ²Fò¬Ê!N4Âb "Dˆ!B„0 `s-¾K`»JrŽ(€²UM4®½ª¦µ¡Ôãŧu]‚¶íÚõéóDÁ‚à÷ ¿7¿õV‰«¯nÔ¶m»Z\––úï¿{/úiäÈëÖ¯Ó2b`ÆäeÓ‡óEzzK˜8qBN&¸5×Uv›lÞlvwâ¥ÅÖeÆVsŽüë$ø¸«Âû´­\fp‹†èAù,‘ü+ðP2!B„"Dˆ ;´ú¤œí6((ÿÇsYÅ'l=þØ£3¾ša K@]Ë|RÑ6•ë@Hä¶ÛZPJ'Ož4 ÝÃ)—ÜZª <øM%r¾<…d6>;Õ;Ÿ¸HîzPs@{ ý6O$"Dˆ!B„âäÛC›§À(vIô98ƒ[H̨)´¿ zU«3iòd_o¶AÆܛýûï¿çÍ›—‘±¢Ñh¿—_.^¼¸ƒšæ}äŒ÷–f¯T(À• ”+W~ñâŸþÙü¦ƒ Ú({'§.Y…I¥‡ˆ}ó4ÞOë³W–SÓßÂrŽÂœxxp)—‹ZwÐU^¶ôâdä9Dˆ!B„"D®#âÄd×KþQû‘5Þ¾(•ÊRéŒìLæIëš¡FõêåÊ•€ 6 6Ìéúëop.~üáÇ[n¾©gÏî·ÜrÓîÝ» %¥pƒWÉ SY_£<>«½Fõ|P©b%ýUz‹Û`ÂÄ )y bÅJmÚ´KJ*Œ‘:–‰BIRíâ$€mx²5ð‘çnb\i³˜¿<@~à!Dˆ!B„âT@@‡ÖË„¦æA= iâHž¡£ˆŽëßÚ½Ybù îô˜Ä™ésCMŸ>½MëÖlÚdc·pJŠsñÃO?Ï:{V¯þÕ}[8'&åÃË«—ÄÌ’¥5ª×8`ÐäÉÓ¯»îzNZZÚµ×^wðàÁo¾ùJyF×¯Ûøýw‹Ê”)ûö[ïþôãÒË7öÓK.®‡H-šÚ÷Å~³fÎiݪ­§[‡ñM¥µÆ"D]ol\~lc­GBÔ/@ äÙÉ¼ÙæÓÉ!Z£@ðpN¢ö.Ü YÈNÝ©á3‡"Dˆ!Bœ°9´yfxQåR¸ƒZ@ý»BÄ{«%_¶ËéKÙÔŽ=úÒK}ìÑÇyÐ[¾b¹sqÃõ7¤¤€òå+Ô­[Çy¸jÕ*“ÀúhÌEÖæoÿøóA¼Ÿ–V쥗^žùÍìV·· <[ qîŠ;¥¹²â:Dá´w’'#°û‡w¤½ËÕìSù:ôßB„"Dˆ!Bä:”=´üLÏ!Àól€Ê“el¢Òo3¥æÍʾ±ál_da»+šÝÛÙ³g7ΗÑÏ?û|Íš5P«V­Ï>ûü®»:N˜01-­L˜ðÅÚ5¿ªYJ¨)_³FÍ÷ž4iÚµ×^?{öÌéÍ:w¹ç—_–ê![¦;ë?·‘*Q¢Ä¬Ù3{ôìÚ¿ÿ;=ïëöƯ%%%Ýw_/à¿ÿ÷ïÿÎ5¯zÐÀ´´býú½òÍ׳n¿½u4ªž"–—…¯Fç…¢ÒÁ·ÒÄ¢9ÍÓ×qRœ}½P¨ö&o}Í€I¾%"Dˆ!B„"{Pfh½ìÎÜ4)• læÓxD5ŽøQžÚy÷œSUæ˜þ;røž{îž3{6œsÎ9O>ùTÉ’%`è‡>÷ì³Ü‰ö“RÜ®D$}à“&M»æšÆÓ¿œvKÓïïÕcÍšÕÆÀçœs^­ZüùçË–ýl#H=úc~;vÜJi:u•`û÷ï{ï½ÿ»¦ñU¾—–Vìå~¯~óõ¬ôôÛqN<á;¨¹]ȧå£E[²'éìkÄñ%[›tLþ­O”!B„"Dˆ!ò9\‡Ö¶–»¶õžòWs”H9šÂÓ©Tã‹ù>ìV™ß³¯_•2cÞtkÈ‘CþòË/¿¤Þ%J k¯»®zÍβX*èSD-ÐòKÛ”r¤èµ×^¿uë–fÍoyôÑÞ›6n îVSïez+˜0á MÅGŽæôÿûïÐþýûÒÒÒŒL8°ÀÀþ×4¾êÝþÿW°`Á~/½¢°ÌÉ¢˜Ùܛ霃,ÓÑEIJâUp6PŠÃ{×|VýÌ-‚ñ¤õä9ô?¹X[ÜäRNC„"Dˆ!B„ŠœŸrŒ¡»Ù¶œ ¾±¾ˆ˜;ºÜÝÅûl©>…›³cp®ºêªwÞù¿bÅŠ?~ü×_oÔèªO>gŸ}ö¨‘£Î8ãL6A›#û^g0+ËÈÈ8óÌŠ#†jgÇääd[Üh4ø ÒIDAT©Y³æYYYS§Nò8'K߬?QP¨P¡ÔÔÔB… ‰(&Îs6/ŽS }Ï(Nãšaõ˜­Q¥2•ïmrNì‰K ösÌböøÉç?Dˆ!B„"Äé‚Ä:´F$v!¨2y†fÐxîü —9ݫ׃‘H^yåå‘#‡ïؾýÅžŸ2y2¤¥»·SçäÄ+ýãÇ5nrÕÛo¿™œ\ðÙgŸŸ5k^ûöwÝÚ«®¾ºtéÒß¿pÇŽí‰rÊ•+ÿÌÓÏÏóí½:¯]·¶cÇösZØ|t"Žðñ‘×£ÆÃsèw…"Dˆ!B„‘-$ЧÕ<³lºjèAâçKã¼óÎs.~øá{æJÓ…ß-tÖ¨YCO¡RÅJ ¯ººdÉÒ³IêСƒý€»µÏ<óüìÙó·g!½EK˜0q‚·Ûž”Uèë§=@… g¼ð|ßÙ³æuèp׊•ËÛwhw×]w.Yº8¿y Qpq¬<6^Ç;Ï€ù^oS•’»€ç`C„"Dˆ!Bä.òÆ¡Í-hö²ÉMUü_û 5¿öïßç7÷¾ÆF[aa¾ÿZbcãbcãħñq ½{÷÷Žˆb,½õÊ«ùŸ/\¸èäÉO.Y´xñ÷Š‹k櫵]Àø©EWø¨‰wÁÿÚîÂékŠ˜KšÝØNu£}€Û˜Æ¸\w%*ž+KïT¢À0͇r“&MþÝïþ›å¹L4#=cß¾/ˆ¨©©iöÃß&¢;v,]ö-]öÔô{f”•]3fLbbŸÿ³þCQÉÜy™Íf"Љ‰™õÀ·×¿ýVà¦èÐÒÒ¼aÃú?üËO<ùôSß_µòÅå?xö ŒŒˆ Û±c‡Ãáð_ÂÍ›7Ÿ{îù_\érµ›LæŸþìçDtä¨÷@ƒž?Á‘#Åkßz³¨èbsÍ ŸÓÎü¬Þ h6„|ÕÒFܪhMú†ï}ñm'” :]Ðê‰p¤§Å¾o6«|ÊT§ûþ†•n™””¤Èa6›ùÄèèh¾¸5o®¹c̘»rî"¢ŒŒŒŒ ï ë–­›wüýSEù¶F›ø¼±ÑÆTáxGØí-Ò°vå «ùt?·Ÿ•6¦_B¿‚üÏ/^,ÍÈ:pà §Ó¹nÝZ1C}Cý²eO~uè ŸB}íóƒ–Çüf °9×u±—žŽ1öZDZ^ŸVz’.žrÌT4^U1%ÒïDPõäÊ@%·¶Ú—<¹xÕª¬Ö¢†††öööÚÚë……{ô£å«V®NoæÿZ·níÉ“'ì­ö½۶m ¢6Ýø°6÷Þi~ø":þœ¯ûÓJ………ýü?µZ‹FÛ¯_ÿ£G,YúÄéÓ§Ä ÕÕ_òÍv2é±éÖSyõÑ9-ÙÿÞ…l—{VßøÑS¦‡`‚¥ì¦°rû÷Ž5›A2ª¸ª–1÷–-›¶lÙä¿.ÞµkWç/˜g´ÉA°Û[8Ž#¢­Û¶èÉo6›mϯx®ÚÂAèêm0LOLªñPuTîp葺: •–zf‡î™yêó]"cDßoÓü\¥)ïÄ-9©ïõðóÛÛÛåÓžýè«û»Þµ“ê xj÷ Çuz–·ïK T pë…  Õ}nË(Àùtg- $TãëÖ´ÒœB#'\¦©GÄ8NG-úQŒÓé¸kbVhªÕ[=cÄi*_C‹~®…6~ùm°á™º¦îÙw€‘˜¶ut/A´Ïg}UêY‚G“†µ>GÔ˜ø'Ëç«hÌ*@>3úÊ„LœvkõHö”È1a_tUš;åë¨({ ¾óÓcÞ¢4ßLZ[ö”þçuäg éV=k¯ˆ:cʱÖÄ[=çÊêMüÍåTaIà3zŽS]L‹Äjï\°kèJãµÎ+\®ö‘£tÝWãƒ«ÂæŠ!VhsU5|ºP´¡¾†TGQ>漪“½‘¢f<¤·Õ¾âa=ÃÑbºtHÍ@仑0ïõ–Á—ùM쀞KW@Ûñ¹º]LXJ½úý4¸P€ ˜Ÿgê+ý³¿»ˆ±SÍ©¿z&d\ÛI³ŒÍ ÝÏ€öìÙó]Ùʪ—7Üê&t‘Í¿ª™nêâv„Zè‘Ð@úÛöÀmÃélÛñɈ¸9ßùϰ°^·º92¡Ÿ®^9ërµ<ª»E³ä„¶­­-sÜ·¤)qqq&d/_þÃñã&HÓófθråŠf!Xûõë¯(öΜq‡cøð;wìò_©ÅbÉÈ:oîã ,4™¼á÷¶í[V¬ø9­_ÿnîŒ{ùĵo½ùÖ[oÑλ†a m§¡¡aÒäìáÆïܹ»kjPøºê’õÐß;=:÷Çá½"nRvé¥gdJ?Û¹þæÍuæ;s¾>tœ4¥ÑVSræàõš+NgkddLrʰ;ÆLŒ´th7§GDDdeec¬¢¢¢°°`ÿþÏßxcí¬™(rN˜ÅqÊÛˆ†‡‡+RŽ?æp8ÂÂÂJK/Ô××ÇÇÇkVš“3‘ˆêëÏŸ?÷ò/Wyà‹uo­—–o6›cccó÷ìÚ‚¤¤ÕÕ_« ÔÙ6€Ûc¬äô—%gšÍáfs¸ËåÔ³UÓººº ‹%¶âiz\üEPZ__åv»8“lpMMùý›\®ö¾±‰ ý6Új.–«¬¸p_Þ’¨èÞß)1 e¾r$$ôûàýŧÿmãK/­Z½ú…÷äFDDHsþùƒ)š¬ÖCD”›{_~þîâbë¬YjVúÞ»ð¯]»úì³ÏìÝ›¿uëæÇ›/æq¹\ãÆMØ[¸×år™Í檪ª’’3yy³òó5Zm¸ý¸Ý®û7UW—ÅôŽŸr÷ܯlÕ_U»|ù¥eŒU¤Ošò¨ôé¿Ï®­½–˜˜:$õiúÑß¹\íYÙ³†Ï""ÆÜÇŽì¾tñÄÉ{%ô5´ß]ð½ ²m‡«²ÈzÈl6/˜ÿ]þqÀüƒ ^¹ò%"úôïŸ(^;f¬ÍÖP\|˜ˆ ÌfówŒ6֪Φè"N§£ººlà ÷Ï\Ú7Vïu—Œ±ò²ÓD”–¦ h¥®”—œ<¾76.iÊ´y&“YLo´]¿y³!!a ÍÇ™Ægå……õª¬(eÌ稪~F…ÊHÏ ¢ÚºZÛÚ[í§N5ò[99öêÙjܸñDtõj¹"=55­OŸ¾{òwQaaANÎ]޶6­Òéég–ŽÍµk×?§N›4iröŽŸÌȽ{ÊÝ9ùëŠÌŸ}öG}hlæ¨{fLyýõß»\îÎk€ÇeŽË2u^xxW¿®ºØj¿™˜”méë+OuuY±u‡Å;힊Âíö&"ŠK”&šÍa½û$¸\N‡£5ÈÐ`$ ½té HJ6°íÑ£GÚÛÛ³³ïŒŒŒ3zlié…ººº€[EGG‘Ý®ÜáæææÜÜ{ ì­öÃÅÖ™y455h•~.—ëØñc«W¿Ü§wŸÕ/®Ü½gת•/ œúê«¿:þœ˜í“O¶ý×ÿãܹ³©CR‡ ±uëæµk×tjÃ|éÕ+rä·&»UÙeå ¤l Õ_}¹Õd2ß=ý1õ:OŒ¹‰ÈdR®Üd6™ÅW;(è€öÿ>þèø‰cýû'ò+E‹¿€–ß–ÿÓðÔe"jºÙ43oVUUÕæM;ÎûïϳÛ[ —¦‡ËåúÁ÷—ÏšùÀâ'—Úí- .ºÿþ™?XþCÆXQÑWb¶5o¾FD/¬Xµsçî÷Þý  `Ÿ±m€[ÂÑf¯¬( 8h¤¯<ÿnow´·; v¿èàv~HVSíõ«'Ž47ÛBÛHO¬ìgòrmíõÅ‹ò¯U\«¬¬ {å•ߨ×XRÜ㇈^í͇š-M±Z‹ˆ(;ûN"ÊÊÊþÓûïZ­E>ø±Ö;ΩS§GEEÿñõ™™ã’’´Øíš9õ´M§èh Y,"²D[ˆ(Æb!"›Ísl*«*«ªª’““—,yŠO‰ŠŠ^¶ôéü|ܰz†òò3n·+-}¬Ùìóæ8ññ)Æg;ŽºÚk×®ž«¯¯Ê›¹¬WD”:ç±£»m׎¶œ‰Æ¢?é¢DÞø5ð*LJãp±÷J× ²^X±:3sœ:çÝS¦*ÖhîŸ(›-ÝÜÜ|úô¿”˜˜DDÙÙ9DdíÀm»Ó9cFîž=»–-}ŠˆÚZµçal[lj×4ßhl$¢ÁƒS¥¯¦¦¥…¶:€ÎSæYߨç|c"JNšœ2”ˆÜnסƒÛ++.œ?o›9CsÀ€¡Í7mIÒBÛH! õ=D›’2ðóÂ/‰hãÆùÊ‹ ý4£Y"zûí þosäH±Ëåâ‡g‰(>>>--ýÒ¥‹µµ×ûõӻЖßê5o¬SÜ>æal[ñ‘­Ù,‹ŸÍ’žº3›­ÆÖPÝ»OBBÂ@=ùM&óè1Ó*+.Ô|]FZ!pæøÜÌñ¹!n¥d„6°ï|gîëoü¾°° üJyêÔÀ¨ðЖ–^xþùçø~Qb«µÈØì_¹²K'‰(=Ýßð¬‚%&–ˆÚÚ´/í$A, =wîãn·ûý÷ß5V×Ù’’3Û?ÙÊÿ_YUIÂ…µ~´´´QTT¤±z»ÇqD¤¸OËíºEÍ‚ÛíºR~†ã¸Ô´1š®×\ù×ÉÏk¯_“&ò«óÑãLDäv·+6çƒ#“ÉÈ=w„"8¿¹‹-æ8nûö­ ÁÖÔÔÔtölI||ü¹³ÏŸ»ÄÿÿÅþ¯HÇe´§N$¢!CÒ‚­Ô€}û>_³æµ3%§ —Чo_RÝ5·¼¬¬ƒ è•¥mmöÉC#£b4347ÛÎ-*/—M¶ëDmé#¦DEõ&¢††ji6—«½éF]XXx¯^kGùÆ$ÿ{™¼¯ê:$uúô{Z[[7nük0u[Ýn÷ĉ“¥!{RÒ€ÔÔ´²²Ë55Õ¾6¬¬¬øõo~IDsf?l¥Á*)9³üÙ§ß^¿nÉ’E†ï”’œ’’œRUUõç?ÿ‰O±Û[Þ}ïÐ5 ³x–ƒò=ß89y˜Éd.»tª¦Æ3Œ×ÚÚ|òÄ^"4Ø{™¾±ýcbâêë*K/åSsŸ8–ßÞîðs+  ^åXañKöïß÷ÑÆ¿>óÌrÅ2KK–.’«¼õooèÛ7–ˆŠ¬ED4q¢òf¾“'M)//³¶Î~xŽ˜XWWûô3K‰¨¡¡þÂ…;ŽûîË›7ïq½»¥â¿m¢kžA󦦦›-**ÚXu?ùÉs?{îǯþö×›7ÿm@rÊÙ’3Ó§Ï0V@9möoŸò7Œýrÿ&>JJM›1t<ÿRkkó×U{ED¥ æ«´ˆÈèñY÷;²{áÆ>}û…‡G4ÚjÚÛIÒÅrxÙw=x`ÿ¦ãG÷\,=f±Ä6ÚjZZnDE÷ÎoHö+ˆE¡xS§NOKK/+»üɧÛÌ_(}éøñcêüN§“À¯5ñ.U@;yÊÇÛhµ’´mmm|AD‹eĈ‘Í›¿`ÁBuDªŸÿ¶‰¦M6qâäS'OÌ™óhJrŠáêfÏ~$<<üíõë.^,m¼qcΜG—-{zÛö-† 0Ìív×Ö^S$ÖÕUðú'Ë/ÿ‹1–š:Úä÷F-C‡eÅÄÄ?gm¨¯j¾ÙÓ;.-mÌð‘9Ѝ-11õ¾¼%%g^¯)¿ÙÔ3lÄwŒž¡u¯Z¸Qÿ‚ˆJ·ÿAñ¹s¥!©:ê—7„¼ÌÝÿ|çÆº¼YOÅÆ%…¼pÃ6üª"eô;õd`Ê1Ü–êê*nܨ‹MìVѬž€VÎŸ× =VBÂÀÇ¿»âV·"!¸ó@ד- …±Yè)¼#´ˆf ñ´X zÙ*ÇÒ˜vä¨ É3Nò"'ÝDžâ+]°¬9NÜe±6‚úŽðõ6Й_Ï& Su¦ª+;Ô·#NòyfŠz…Ž#bÄÔíÑ.–ãø?ÓÛŽHÜ–ã8&$Çɾ}$å3oóe»Ãy¾å8a?d[ɿŠÞ2˜·7˜Ðiÿ(J3JRƒ¸³â¾zkáˆ#NV©ê.ÞÒÆw¢g[aß… ¿ñŲÔ}KÞ>õd“Âcž×%»$´_±9“äáÿàóø~«û>þÿ5ÔÌ/|04>8Šm%Xèþ?Ù[X“æÒŽLúº®]–¿s¥KŽ'éÿ°û+ÏÿkÞº¼‰²žèaôœViœ"uJ[º¥°ÀYˆä=¢î_ýe ¿A]ßóùùtá8Þbâטþï3N8•¥@§ÎÞ“SñoÆi¼Ê?å”ÂZ¡¥Šö¨·CDŒãˆq’Si&¡ŠÕôñõë_"ÿƒ´P~‡™¬š—Fhë)™ÉrJËñäád¿XˆÁɃNâ¼Ïù˜N~Œ™7JÒè&y˨C)¾u,SõcHþy—vŒØ?~ –6C’“üÁøŸ¼Í”î“÷qm4„I?ž¤ŽÆ â\¡ˆfI»3ùkÂ7Ž ¾ÁdßÁ·¬`Bªt´!'=gúf}êBD°I0Õé6ZéâÀŒpæI$œc3æýS5lçyÊi@rñ!+c$ÆšŠ@ƒóÄÃ’¸E&H‚WÙðžFu‹ÂI¹Vå‘BPåvªÑMå#Ï °'dŒqBýÎV 1u6&{x#-ïïœt+YihÁ$¹²Zø0KÙ‘’ã'„œžß”«•Íïé´ìØ ³fN1›ê'8â<ï(ñ­ÖG€© äYdU«ÞPÊŸ„ _:c>Z«L Í©ôp…ê«9D¡¬FÁZu‘ùCß gºÍÚoò?W=ŽWGøë=é-yBCE©Ú€$£{Lò#ñ ^:(Ìöôë1I,Ä×Î3ñŠ&ŽÜ|ÌÃ8&œÕ “Z=Ó]…ØGŒÇ˜l R>É‘úŸy¢Q·Ï!Q¦e—²ÉÕî‹ûÍqÞ龌y‡ùðž“앬õ’öÈ BiN>¨A¨—"IO”5ymq/˜2Жn&û½ƒùèGa¦¸<£8'•IŽ¡¼}Ñ—Ðcœä8ŠÑ¹æÏ8êÑbï_5d1­Ïfä'þ`* Q Result<(), MinusError> { let mut pager = Pager::new(); for _ in 1..=30 { writeln!( pager, "{}These are some lines{}", SetForegroundColor(Color::Blue), ResetColor )?; } page_all(pager)?; Ok(()) } minus-5.6.1/examples/dyn_tokio.rs000064400000000000000000000012001046102023000151440ustar 00000000000000use minus::error::MinusError; use std::fmt::Write; use std::time::Duration; use tokio::{join, task::spawn_blocking, time::sleep}; #[tokio::main] async fn main() -> Result<(), MinusError> { let mut output = minus::Pager::new(); let output2 = output.clone(); let increment = async { for i in 0..=100_u32 { writeln!(output, "{}", i)?; sleep(Duration::from_millis(100)).await; } Result::<_, MinusError>::Ok(()) }; let (res1, res2) = join!( spawn_blocking(move || minus::dynamic_paging(output2)), increment ); res1.unwrap()?; res2?; Ok(()) } minus-5.6.1/examples/large_lines.rs000064400000000000000000000004601046102023000154400ustar 00000000000000use minus::error::MinusError; fn main() -> Result<(), MinusError> { let output = minus::Pager::new(); for i in 0..30 { for _ in 0..=10 { output.push_str(&format!("{}. Hello ", i))?; } output.push_str("\n")?; } minus::page_all(output)?; Ok(()) } minus-5.6.1/examples/less-rs.rs000064400000000000000000000034651046102023000145540ustar 00000000000000// This is an example of a pager that uses minus and reads data from a file and pages // it. It is similar to less, but in Rust. Hence the name `less-rs` // This example uses OS threads, // This example uses a lot of `.expect()` and does not properly handle them. If // someone is interested to add proper error handling, you are free to file pull //requests. Libraries like anyhow and thiserror are generally preferred and minus //also uses thiserror use std::env::args; use std::fs::File; use std::io::{BufReader, Read}; use std::thread; fn read_file(name: String, pager: minus::Pager) -> Result<(), Box> { let file = File::open(name)?; let changes = || { let mut buff = String::new(); let mut buf_reader = BufReader::new(file); buf_reader.read_to_string(&mut buff)?; pager.push_str(&buff)?; Result::<(), Box>::Ok(()) }; let pager = pager.clone(); let res1 = thread::spawn(|| minus::dynamic_paging(pager)); let res2 = changes(); res1.join().unwrap()?; res2?; Ok(()) } fn main() -> Result<(), Box> { // Get the file name from the command line // Typically, you want to use something like clap here, but we are not doing it // here to make the example simple let arguments: Vec = args().collect(); // Check if there are is at least two arguments including the program name if arguments.len() < 2 { // You probably want to do a graceful exit, but we are panicking here to make // example short panic!("Not enough arguments"); } // Get the filename let filename = arguments[1].clone(); // Initialize the configuration let output = minus::Pager::new(); output.set_prompt(&filename)?; read_file(filename, output) } minus-5.6.1/examples/msg-tokio.rs000064400000000000000000000012471046102023000150710ustar 00000000000000use minus::error::MinusError; use std::time::Duration; use tokio::{join, task::spawn_blocking, time::sleep}; #[tokio::main] async fn main() -> Result<(), MinusError> { let output = minus::Pager::new(); let increment = async { for i in 0..=10_u32 { output.push_str(&format!("{}\n", i))?; sleep(Duration::from_millis(100)).await; } output.send_message("No more output to come")?; Result::<_, MinusError>::Ok(()) }; let output = output.clone(); let (res1, res2) = join!( spawn_blocking(move || minus::dynamic_paging(output)), increment ); res1.unwrap()?; res2?; Ok(()) } minus-5.6.1/examples/static-no-overflow.rs000064400000000000000000000004451046102023000167210ustar 00000000000000use minus::error::MinusError; use minus::{page_all, Pager}; use std::fmt::Write; fn main() -> Result<(), MinusError> { let mut pager = Pager::new(); pager.set_run_no_overflow(true)?; for i in 0..=10u32 { writeln!(pager, "{}", i)?; } page_all(pager)?; Ok(()) } minus-5.6.1/examples/static.rs000064400000000000000000000003441046102023000144440ustar 00000000000000use minus::error::MinusError; fn main() -> Result<(), MinusError> { let output = minus::Pager::new(); for i in 0..=100 { output.push_str(&format!("{}\n", i))?; } minus::page_all(output)?; Ok(()) } minus-5.6.1/flake.lock000064400000000000000000000065071046102023000127340ustar 00000000000000{ "nodes": { "flake-utils": { "inputs": { "systems": "systems" }, "locked": { "lastModified": 1710146030, "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { "owner": "numtide", "repo": "flake-utils", "type": "github" } }, "flake-utils_2": { "inputs": { "systems": "systems_2" }, "locked": { "lastModified": 1705309234, "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "owner": "numtide", "repo": "flake-utils", "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "type": "github" }, "original": { "owner": "numtide", "repo": "flake-utils", "type": "github" } }, "nixpkgs": { "locked": { "lastModified": 1710283812, "narHash": "sha256-F+s4//HwNEXtgxZ6PLoe5khDTmUukPYbjCvx7us2vww=", "owner": "nixos", "repo": "nixpkgs", "rev": "73bf415737ceb66a6298f806f600cfe4dccd0a41", "type": "github" }, "original": { "owner": "nixos", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { "lastModified": 1706487304, "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", "owner": "NixOS", "repo": "nixpkgs", "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac", "type": "github" }, "original": { "owner": "NixOS", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "root": { "inputs": { "flake-utils": "flake-utils", "nixpkgs": "nixpkgs", "rust-overlay": "rust-overlay" } }, "rust-overlay": { "inputs": { "flake-utils": "flake-utils_2", "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1710295923, "narHash": "sha256-B7wIarZOh5nNnj4GTOOYcxAwVGTO8y0dRSOzd6PtYE8=", "owner": "oxalica", "repo": "rust-overlay", "rev": "a30facbf72f29e5c930f394f637559f46a855e8b", "type": "github" }, "original": { "owner": "oxalica", "repo": "rust-overlay", "type": "github" } }, "systems": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", "repo": "default", "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { "owner": "nix-systems", "repo": "default", "type": "github" } }, "systems_2": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", "repo": "default", "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { "owner": "nix-systems", "repo": "default", "type": "github" } } }, "root": "root", "version": 7 } minus-5.6.1/flake.nix000064400000000000000000000014421046102023000125730ustar 00000000000000{ inputs = { # Specify the source of Home Manager and Nixpkgs. nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; rust-overlay.url = "github:oxalica/rust-overlay"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { nixpkgs, rust-overlay, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: let overlays = [ (import rust-overlay) ]; pkgs = import nixpkgs { inherit system overlays; }; rust-toolchain = pkgs.rust-bin.stable."1.67.0".default.override { extensions = [ "rust-src" "rust-analyzer" ]; }; in with pkgs; { devShells = { default = mkShell { packages = [ just ] ++ [ rust-toolchain ]; }; }; } ); } minus-5.6.1/minus.svg000064400000000000000000000564101046102023000126520ustar 00000000000000 Minus minus-5.6.1/src/core/commands.rs000064400000000000000000000100731046102023000146570ustar 00000000000000//! Provides the [`Command`] enum and all its related implementations //! //! This module only declares the [Command] type. To know how they are handled internally see //! the [`ev_handler`](super::ev_handler). use std::fmt::Debug; use crate::{ input::{InputClassifier, InputEvent}, ExitStrategy, LineNumbers, }; #[cfg(feature = "search")] use crate::search::SearchOpts; /// Different events that can be encountered while the pager is running #[non_exhaustive] pub enum Command { // User input UserInput(InputEvent), // Data related AppendData(String), SetData(String), // Prompt related SendMessage(String), ShowPrompt(bool), SetPrompt(String), // Screen output configurations LineWrapping(bool), SetLineNumbers(LineNumbers), FollowOutput(bool), // Configuration options SetExitStrategy(ExitStrategy), SetInputClassifier(Box), AddExitCallback(Box), #[cfg(feature = "static_output")] SetRunNoOverflow(bool), #[cfg(feature = "search")] IncrementalSearchCondition(Box bool + Send + Sync + 'static>), // Internal commands FormatRedrawPrompt, FormatRedrawDisplay, } impl PartialEq for Command { fn eq(&self, other: &Self) -> bool { match (self, other) { (Self::SetData(d1), Self::SetData(d2)) | (Self::AppendData(d1), Self::AppendData(d2)) | (Self::SetPrompt(d1), Self::SetPrompt(d2)) | (Self::SendMessage(d1), Self::SendMessage(d2)) => d1 == d2, (Self::LineWrapping(d1), Self::LineWrapping(d2)) => d1 == d2, (Self::SetLineNumbers(d1), Self::SetLineNumbers(d2)) => d1 == d2, (Self::ShowPrompt(d1), Self::ShowPrompt(d2)) => d1 == d2, (Self::SetExitStrategy(d1), Self::SetExitStrategy(d2)) => d1 == d2, #[cfg(feature = "static_output")] (Self::SetRunNoOverflow(d1), Self::SetRunNoOverflow(d2)) => d1 == d2, (Self::SetInputClassifier(_), Self::SetInputClassifier(_)) | (Self::AddExitCallback(_), Self::AddExitCallback(_)) => true, #[cfg(feature = "search")] (Self::IncrementalSearchCondition(_), Self::IncrementalSearchCondition(_)) => true, _ => false, } } } impl Debug for Command { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { Self::SetData(text) => write!(f, "SetData({:?})", text), Self::AppendData(text) => write!(f, "AppendData({:?})", text), Self::SetPrompt(text) => write!(f, "SetPrompt({:?})", text), Self::SendMessage(text) => write!(f, "SendMessage({:?})", text), Self::SetLineNumbers(ln) => write!(f, "SetLineNumbers({:?})", ln), Self::LineWrapping(lw) => write!(f, "LineWrapping({:?})", lw), Self::SetExitStrategy(es) => write!(f, "SetExitStrategy({:?})", es), Self::SetInputClassifier(_) => write!(f, "SetInputClassifier"), Self::ShowPrompt(show) => write!(f, "ShowPrompt({show:?})"), Self::FormatRedrawPrompt => write!(f, "FormatRedrawPrompt"), Self::FormatRedrawDisplay => write!(f, "FormatRedrawDisplay"), #[cfg(feature = "search")] Self::IncrementalSearchCondition(_) => write!(f, "IncrementalSearchCondition"), Self::AddExitCallback(_) => write!(f, "AddExitCallback"), #[cfg(feature = "static_output")] Self::SetRunNoOverflow(val) => write!(f, "SetRunNoOverflow({val:?})"), Self::UserInput(input) => write!(f, "UserInput({input:?})"), Self::FollowOutput(follow_output) => write!(f, "FollowOutput({follow_output:?})"), } } } impl Command { #[allow(dead_code)] pub(crate) const fn is_exit_event(&self) -> bool { matches!(self, Self::UserInput(InputEvent::Exit)) } #[allow(dead_code)] pub(crate) const fn is_movement(&self) -> bool { matches!(self, Self::UserInput(InputEvent::UpdateUpperMark(_))) } } minus-5.6.1/src/core/ev_handler.rs000064400000000000000000000472411046102023000151740ustar 00000000000000//! Provides the [`handle_event`] function use std::convert::TryInto; use std::io::Write; use std::sync::{atomic::AtomicBool, Arc}; #[cfg(feature = "search")] use parking_lot::{Condvar, Mutex}; use super::utils::display::{self, AppendStyle}; use super::CommandQueue; use super::{commands::Command, utils::term}; #[cfg(feature = "search")] use crate::search; use crate::{error::MinusError, input::InputEvent, PagerState}; /// Respond based on the type of command /// /// It will match the type of event received and based on that, it can take actions like:- /// - Mutating fields of [`PagerState`] /// - Handle cleanup and exits /// - Call search related functions #[cfg_attr(not(feature = "search"), allow(unused_mut))] #[allow(clippy::too_many_lines)] pub fn handle_event( ev: Command, mut out: &mut impl Write, p: &mut PagerState, command_queue: &mut CommandQueue, is_exited: &Arc, #[cfg(feature = "search")] user_input_active: &Arc<(Mutex, Condvar)>, ) -> Result<(), MinusError> { match ev { Command::SetData(text) => { p.screen.orig_text = text; p.format_lines(); p.screen.line_count = p.screen.orig_text.lines().count(); if !p.running.lock().is_uninitialized() { display::draw_full(&mut out, p)?; } } Command::UserInput(InputEvent::Exit) => { p.exit(); is_exited.store(true, std::sync::atomic::Ordering::SeqCst); term::cleanup(&mut out, &p.exit_strategy, true)?; } Command::UserInput(InputEvent::UpdateUpperMark(mut um)) => { let line_count = p.screen.formatted_lines_count(); // Reduce one row for prompt/messages let writable_rows = p.rows.saturating_sub(1); // Calculate the lower_mark by adding either the rows or line_count depending // on the minimality let lower_mark = p.upper_mark.saturating_add(writable_rows.min(line_count)); // If the lower_bound is greater than the available line count, we set it to such a value // so that the last page can be displayed entirely, i.e never scroll past the last line if lower_mark > line_count { p.upper_mark = line_count.saturating_sub(writable_rows); } display::draw_for_change(out, p, &mut um)?; p.upper_mark = um; } Command::UserInput(InputEvent::UpdateLeftMark(lm)) if !p.screen.line_wrapping => { if lm.saturating_add(p.cols) > p.screen.get_max_line_length() && lm > p.left_mark { return Ok(()); } p.left_mark = lm; display::draw_full(out, p)?; } Command::UserInput(InputEvent::RestorePrompt) => { // Set the message to None and new messages to false as all messages have been shown p.message = None; command_queue.push_back_unchecked(Command::FormatRedrawPrompt); } Command::UserInput(InputEvent::UpdateTermArea(c, r)) => { p.rows = r; p.cols = c; // Readjust the text wrapping for the new number of columns command_queue.push_back(Command::FormatRedrawDisplay); } Command::UserInput(InputEvent::UpdateLineNumber(l)) => { p.line_numbers = l; command_queue.push_back(Command::FormatRedrawDisplay); } #[cfg(feature = "search")] Command::UserInput(InputEvent::Search(m)) => { p.search_mode = m; p.search_state.search_mode = m; // Reset search mark so it won't be out of bounds if we have // less matches in this search than last time p.search_state.search_mark = 0; // Pause the main user input thread, read search query and then restart the main input thread let (lock, cvar) = (&user_input_active.0, &user_input_active.1); let mut active = lock.lock(); *active = false; drop(active); // let string = search::fetch_input(&mut out, p.search_mode, p.rows)?; let search_result = search::fetch_input(&mut out, p)?; let mut active = lock.lock(); *active = true; drop(active); cvar.notify_one(); command_queue.push_back_unchecked(Command::FormatRedrawPrompt); // If we have incremental search cache directly use it and return if let Some(incremental_search_result) = search_result.incremental_search_result { p.search_state.search_term = search_result.compiled_regex; p.upper_mark = incremental_search_result.upper_mark; p.search_state.search_mark = incremental_search_result.search_mark; p.search_state.search_idx = incremental_search_result.search_idx; p.screen.formatted_lines = incremental_search_result.formatted_lines; return Ok(()); } // If we only have compiled regex cached, use that otherwise compile the original // string query if its not empty p.search_state.search_term = if search_result.compiled_regex.is_some() { search_result.compiled_regex } else if !search_result.string.is_empty() { let compiled_regex = regex::Regex::new(&search_result.string).ok(); if compiled_regex.is_none() { command_queue.push_back_unchecked(Command::SendMessage( "Invalid regular expression. Press Enter".to_string(), )); return Ok(()); } compiled_regex } else { return Ok(()); }; // Format the lines, this will automatically generate the PagerState.search_idx p.format_lines(); } #[cfg(feature = "search")] Command::UserInput(InputEvent::NextMatch | InputEvent::MoveToNextMatch(1)) if p.search_state.search_term.is_some() => { // Move to next search match after the current upper_mark let position_of_next_match = search::next_nth_match(&p.search_state.search_idx, p.upper_mark, 1); if let Some(pnm) = position_of_next_match { p.search_state.search_mark = pnm; let upper_mark = *p .search_state .search_idx .iter() .nth(p.search_state.search_mark) .unwrap(); command_queue.push_back_unchecked(Command::UserInput(InputEvent::UpdateUpperMark( upper_mark, ))); command_queue.push_back_unchecked(Command::FormatRedrawPrompt); } } #[cfg(feature = "search")] Command::UserInput(InputEvent::PrevMatch | InputEvent::MoveToPrevMatch(1)) if p.search_state.search_term.is_some() => { // If no matches, return immediately if p.search_state.search_idx.is_empty() { return Ok(()); } // Decrement the s_mark and get the preceding index p.search_state.search_mark = p.search_state.search_mark.saturating_sub(1); if let Some(y) = p .search_state .search_idx .iter() .nth(p.search_state.search_mark) { // If the index is less than or equal to the upper_mark, then set y to the new upper_mark if *y < p.upper_mark { p.upper_mark = *y; command_queue.push_back_unchecked(Command::FormatRedrawPrompt); command_queue.push_back_unchecked(Command::UserInput( InputEvent::UpdateUpperMark(p.upper_mark), )); } } } #[cfg(feature = "search")] Command::UserInput(InputEvent::MoveToNextMatch(n)) if p.search_state.search_term.is_some() => { // Move to next nth search match after the current upper_mark let position_of_next_match = search::next_nth_match(&p.search_state.search_idx, p.upper_mark, n); if let Some(pnm) = position_of_next_match { p.search_state.search_mark = pnm; let upper_mark = *p .search_state .search_idx .iter() .nth(p.search_state.search_mark) .unwrap(); // Ensure there is enough text available after location corresponding to // position_of_next_match so that we can display a pagefull of data. If not, // reduce it so that a pagefull of text can be accommodated. // NOTE: Add 1 to total number of lines to avoid off-by-one errors while p.upper_mark.saturating_add(p.rows) > p.screen.formatted_lines_count().saturating_add(1) { p.search_state.search_mark = p.search_state.search_mark.saturating_sub(1); p.upper_mark = *p .search_state .search_idx .iter() .nth(p.search_state.search_mark) .unwrap(); } command_queue.push_back_unchecked(Command::UserInput(InputEvent::UpdateUpperMark( upper_mark, ))); command_queue.push_back_unchecked(Command::FormatRedrawPrompt); } } #[cfg(feature = "search")] Command::UserInput(InputEvent::MoveToPrevMatch(n)) if p.search_state.search_term.is_some() => { // If no matches, return immediately if p.search_state.search_idx.is_empty() { return Ok(()); } // Decrement the s_mark and get the preceding index p.search_state.search_mark = p.search_state.search_mark.saturating_sub(n); if let Some(y) = p .search_state .search_idx .iter() .nth(p.search_state.search_mark) { // If the index is less than or equal to the upper_mark, then set y to the new upper_mark if *y < p.upper_mark { let upper_mark = *y; command_queue.push_back_unchecked(Command::UserInput( InputEvent::UpdateUpperMark(upper_mark), )); command_queue.push_back_unchecked(Command::FormatRedrawPrompt); } } } Command::UserInput(InputEvent::HorizontalScroll(val)) => { p.screen.line_wrapping = val; command_queue.push_back_unchecked(Command::FormatRedrawDisplay); } Command::FormatRedrawDisplay => { p.format_lines(); display::draw_full(&mut out, p)?; } Command::AppendData(text) => { let prev_unterminated = p.screen.unterminated; let prev_fmt_lines_count = p.screen.formatted_lines_count(); let is_running = !p.running.lock().is_uninitialized(); let rows = p.rows; let append_style = p.append_str(text.as_str()); if is_running { if append_style == AppendStyle::FullRedraw { return display::draw_full(out, p); } display::draw_append_text( out, rows, prev_unterminated, prev_fmt_lines_count, &append_style, )?; if p.follow_output { command_queue.push_back_unchecked(Command::UserInput( InputEvent::UpdateUpperMark(p.screen.formatted_lines_count()), )); } } } Command::SetPrompt(ref text) | Command::SendMessage(ref text) => { if let Command::SetPrompt(_) = ev { p.prompt = text.to_string(); } else { p.message = Some(text.to_string()); } p.format_prompt(); if !p.running.lock().is_uninitialized() { display::write_prompt(out, &p.displayed_prompt, p.rows.try_into().unwrap())?; } } Command::SetLineNumbers(ln) => { p.line_numbers = ln; p.format_lines(); if !p.running.lock().is_uninitialized() { display::write_prompt(out, &p.displayed_prompt, p.rows.try_into().unwrap())?; } } Command::FormatRedrawPrompt => { p.format_prompt(); display::write_prompt(out, &p.displayed_prompt, p.rows.try_into().unwrap())?; } Command::SetExitStrategy(es) => p.exit_strategy = es, Command::LineWrapping(lw) => { p.screen.line_wrapping = lw; p.format_lines(); } #[cfg(feature = "static_output")] Command::SetRunNoOverflow(val) => p.run_no_overflow = val, #[cfg(feature = "search")] Command::IncrementalSearchCondition(cb) => p.search_state.incremental_search_condition = cb, Command::SetInputClassifier(clf) => p.input_classifier = clf, Command::AddExitCallback(cb) => p.exit_callbacks.push(cb), Command::ShowPrompt(show) => p.show_prompt = show, Command::FollowOutput(follow_output) | Command::UserInput(InputEvent::FollowOutput(follow_output)) => { p.follow_output = follow_output; command_queue.push_back(Command::UserInput(InputEvent::UpdateUpperMark( p.screen.formatted_lines_count(), ))); command_queue.push_back(Command::FormatRedrawPrompt); } Command::UserInput(_) => {} } Ok(()) } #[cfg(test)] mod tests { use super::super::commands::Command; use super::handle_event; use crate::{minus_core::CommandQueue, ExitStrategy, PagerState, RunMode}; use std::sync::{atomic::AtomicBool, Arc}; #[cfg(feature = "search")] use { once_cell::sync::Lazy, parking_lot::{Condvar, Mutex}, }; // Tests constants #[cfg(feature = "search")] static UIA: Lazy, Condvar)>> = Lazy::new(|| Arc::new((Mutex::new(true), Condvar::new()))); const TEST_STR: &str = "This is some sample text"; // Tests for event emitting functions of Pager #[test] #[cfg(any(feature = "dynamic_output", feature = "static_output"))] fn set_data() { let mut ps = PagerState::new().unwrap(); let ev = Command::SetData(TEST_STR.to_string()); let mut out = Vec::new(); #[cfg(feature = "dynamic_output")] { *crate::minus_core::RUNMODE.lock() = RunMode::Dynamic; } #[cfg(feature = "static_output")] { *crate::minus_core::RUNMODE.lock() = RunMode::Static; } let mut command_queue = CommandQueue::new_zero(); handle_event( ev, &mut out, &mut ps, &mut command_queue, &Arc::new(AtomicBool::new(false)), #[cfg(feature = "search")] &UIA, ) .unwrap(); assert_eq!(ps.screen.formatted_lines, vec![TEST_STR.to_string()]); } #[test] fn append_str() { let mut ps = PagerState::new().unwrap(); let ev1 = Command::AppendData(format!("{TEST_STR}\n")); let ev2 = Command::AppendData(TEST_STR.to_string()); let mut out = Vec::new(); let mut command_queue = CommandQueue::new_zero(); handle_event( ev1, &mut out, &mut ps, &mut command_queue, &Arc::new(AtomicBool::new(false)), #[cfg(feature = "search")] &UIA, ) .unwrap(); handle_event( ev2, &mut out, &mut ps, &mut command_queue, &Arc::new(AtomicBool::new(false)), #[cfg(feature = "search")] &UIA, ) .unwrap(); assert_eq!( ps.screen.formatted_lines, vec![TEST_STR.to_string(), TEST_STR.to_string()] ); } #[test] #[cfg(any(feature = "dynamic_output", feature = "static_output"))] fn set_prompt() { let mut ps = PagerState::new().unwrap(); let ev = Command::SetPrompt(TEST_STR.to_string()); let mut out = Vec::new(); let mut command_queue = CommandQueue::new_zero(); #[cfg(feature = "dynamic_output")] { *crate::minus_core::RUNMODE.lock() = RunMode::Dynamic; } #[cfg(feature = "static_output")] { *crate::minus_core::RUNMODE.lock() = RunMode::Static; } handle_event( ev, &mut out, &mut ps, &mut command_queue, &Arc::new(AtomicBool::new(false)), #[cfg(feature = "search")] &UIA, ) .unwrap(); assert_eq!(ps.prompt, TEST_STR.to_string()); } #[test] #[cfg(any(feature = "dynamic_output", feature = "static_output"))] fn send_message() { let mut ps = PagerState::new().unwrap(); #[cfg(feature = "dynamic_output")] { *crate::minus_core::RUNMODE.lock() = RunMode::Dynamic; } #[cfg(feature = "static_output")] { *crate::minus_core::RUNMODE.lock() = RunMode::Static; } let ev = Command::SendMessage(TEST_STR.to_string()); let mut out = Vec::new(); let mut command_queue = CommandQueue::new_zero(); handle_event( ev, &mut out, &mut ps, &mut command_queue, &Arc::new(AtomicBool::new(false)), #[cfg(feature = "search")] &UIA, ) .unwrap(); assert_eq!(ps.message.unwrap(), TEST_STR.to_string()); } #[test] #[cfg(feature = "static_output")] fn set_run_no_overflow() { let mut ps = PagerState::new().unwrap(); let ev = Command::SetRunNoOverflow(false); let mut out = Vec::new(); let mut command_queue = CommandQueue::new_zero(); handle_event( ev, &mut out, &mut ps, &mut command_queue, &Arc::new(AtomicBool::new(false)), #[cfg(feature = "search")] &UIA, ) .unwrap(); assert!(!ps.run_no_overflow); } #[test] fn set_exit_strategy() { let mut ps = PagerState::new().unwrap(); let ev = Command::SetExitStrategy(ExitStrategy::PagerQuit); let mut out = Vec::new(); let mut command_queue = CommandQueue::new_zero(); handle_event( ev, &mut out, &mut ps, &mut command_queue, &Arc::new(AtomicBool::new(false)), #[cfg(feature = "search")] &UIA, ) .unwrap(); assert_eq!(ps.exit_strategy, ExitStrategy::PagerQuit); } #[test] fn add_exit_callback() { let mut ps = PagerState::new().unwrap(); let ev = Command::AddExitCallback(Box::new(|| println!("Hello World"))); let mut out = Vec::new(); let mut command_queue = CommandQueue::new_zero(); handle_event( ev, &mut out, &mut ps, &mut command_queue, &Arc::new(AtomicBool::new(false)), #[cfg(feature = "search")] &UIA, ) .unwrap(); assert_eq!(ps.exit_callbacks.len(), 1); } } minus-5.6.1/src/core/init.rs000064400000000000000000000305511046102023000140240ustar 00000000000000//! Contains functions that initialize minus //! //! This module provides two main functions:- //! * The [`init_core`] function which is responsible for setting the initial state of the //! Pager, do environment checks and initializing various core functions on either async //! tasks or native threads depending on the feature set //! //! * The [`start_reactor`] function displays the displays the output and also polls //! the [`Receiver`] held inside the [`Pager`] for events. Whenever a event is //! detected, it reacts to it accordingly. #[cfg(feature = "static_output")] use crate::minus_core::utils::display; use crate::{ error::MinusError, input::InputEvent, minus_core::{ commands::Command, ev_handler::handle_event, utils::{display::draw_full, term}, RunMode, }, Pager, PagerState, }; use crossbeam_channel::{Receiver, Sender, TrySendError}; use crossterm::event; use std::{ io::{stdout, Stdout}, panic, sync::{ atomic::{AtomicBool, Ordering}, Arc, }, }; #[cfg(feature = "static_output")] use {super::utils::display::write_raw_lines, crossterm::tty::IsTty}; #[cfg(feature = "search")] use parking_lot::Condvar; use parking_lot::Mutex; use super::{utils::display::draw_for_change, CommandQueue, RUNMODE}; /// The main entry point of minus /// /// This is called by both [`dynamic_paging`](crate::dynamic_paging) and /// [`page_all`](crate::page_all) functions. /// /// It first receives all events present inside the [`Pager`]'s receiver /// and creates the initial state that to be stored inside the [`PagerState`] /// /// Then it checks if the minus is running in static mode and does some checks:- /// * If standard output is not a terminal screen, that is if it is a file or block /// device, minus will write all the data at once to the stdout and quit /// /// * If the size of the data is less than the available number of rows in the terminal /// then it displays everything on the main stdout screen at once and quits. This /// behaviour can be turned off if [`Pager::set_run_no_overflow(true)`] is called /// by the main application // Sorry... this behaviour would have been cool to have in async mode, just think about it!!! Many // implementations were proposed but none were perfect // It is because implementing this especially with line wrapping and terminal scrolling // is a a nightmare because terminals are really naughty and more when you have to fight with it // using your library... your only weapon // So we just don't take any more proposals about this. It is really frustating to // to thoroughly test each implementation and fix out all rough edges around it /// Next it initializes the runtime and calls [`start_reactor`] and a [`event reader`]` which is /// selected based on the enabled feature set:- /// /// # Errors /// /// Setting/cleaning up the terminal can fail and IO to/from the terminal can /// fail. /// /// [`event reader`]: event_reader #[allow(clippy::module_name_repetitions)] #[allow(clippy::too_many_lines)] pub fn init_core(pager: &Pager, rm: RunMode) -> std::result::Result<(), MinusError> { #[allow(unused_mut)] let mut out = stdout(); // Is the event reader running #[cfg(feature = "search")] let input_thread_running = Arc::new((Mutex::new(true), Condvar::new())); #[allow(unused_mut)] let mut ps = crate::state::PagerState::generate_initial_state(&pager.rx, &mut out)?; { let mut runmode = super::RUNMODE.lock(); assert!(runmode.is_uninitialized(), "Failed to set the RUNMODE. This is caused probably because another instance of minus is already running"); *runmode = rm; drop(runmode); } // Static mode checks #[cfg(feature = "static_output")] if *RUNMODE.lock() == RunMode::Static { // If stdout is not a tty, write everything and quit if !out.is_tty() { write_raw_lines(&mut out, &[ps.screen.orig_text], None)?; let mut rm = RUNMODE.lock(); *rm = RunMode::Uninitialized; drop(rm); return Ok(()); } // If number of lines of text is less than available rows, write everything and quit // unless run_no_overflow is set to true if ps.screen.formatted_lines_count() <= ps.rows && !ps.run_no_overflow { write_raw_lines(&mut out, &ps.screen.formatted_lines, Some("\r"))?; ps.exit(); let mut rm = RUNMODE.lock(); *rm = RunMode::Uninitialized; drop(rm); return Ok(()); } } // Setup terminal, adjust line wraps and get rows term::setup(&out)?; // Has the user quit let is_exited = Arc::new(AtomicBool::new(false)); let is_exited2 = is_exited.clone(); { let panic_hook = panic::take_hook(); panic::set_hook(Box::new(move |pinfo| { is_exited2.store(true, std::sync::atomic::Ordering::SeqCst); // While silently ignoring error is considered a bad practice, we are forced to do it here // as we cannot use the ? and panicking here will cause UB. drop(term::cleanup( stdout(), &crate::ExitStrategy::PagerQuit, true, )); panic_hook(pinfo); })); } let ps_mutex = Arc::new(Mutex::new(ps)); let evtx = pager.tx.clone(); let rx = pager.rx.clone(); let out = stdout(); let p1 = ps_mutex.clone(); #[cfg(feature = "search")] let input_thread_running2 = input_thread_running.clone(); std::thread::scope(|s| -> crate::Result { let out = Arc::new(out); let out_copy = out.clone(); let is_exited3 = is_exited.clone(); let is_exited4 = is_exited.clone(); let t1 = s.spawn(move || { let res = event_reader( &evtx, &p1, #[cfg(feature = "search")] &input_thread_running2, &is_exited3, ); if res.is_err() { is_exited3.store(true, std::sync::atomic::Ordering::SeqCst); let mut rm = RUNMODE.lock(); *rm = RunMode::Uninitialized; drop(rm); term::cleanup(out.as_ref(), &crate::ExitStrategy::PagerQuit, true)?; } res }); let t2 = s.spawn(move || { let res = start_reactor( &rx, &ps_mutex, &out_copy, #[cfg(feature = "search")] &input_thread_running, &is_exited4, ); if res.is_err() { is_exited4.store(true, std::sync::atomic::Ordering::SeqCst); let mut rm = RUNMODE.lock(); *rm = RunMode::Uninitialized; drop(rm); term::cleanup(out_copy.as_ref(), &crate::ExitStrategy::PagerQuit, true)?; } res }); let r1 = t1.join().unwrap(); let r2 = t2.join().unwrap(); r1?; r2?; Ok(()) }) } /// Continuously displays the output and reacts to events /// /// This function displays the output continuously while also checking for user inputs. /// /// Whenever a event like a user input or instruction from the main application is detected /// it will call [`handle_event`] to take required action for the event. /// Then it will be do some checks if it is really necessory to redraw the screen /// and redraw if it event requires it to do so. /// /// For example if all rows in a terminal aren't filled and a /// [`AppendData`](super::events::Event::AppendData) event occurs, it is absolutely necessory /// to update the screen immediately; while if all rows are filled, we can omit to redraw the /// screen. #[allow(clippy::too_many_lines)] fn start_reactor( rx: &Receiver, ps: &Arc>, out: &Stdout, #[cfg(feature = "search")] input_thread_running: &Arc<(Mutex, Condvar)>, is_exited: &Arc, ) -> Result<(), MinusError> { let mut out_lock = out.lock(); let mut command_queue = CommandQueue::new(); { let mut p = ps.lock(); draw_full(&mut out_lock, &mut p)?; if p.follow_output { draw_for_change(&mut out_lock, &mut p, &mut (usize::MAX - 1))?; } } let run_mode = *RUNMODE.lock(); match run_mode { #[cfg(feature = "dynamic_output")] RunMode::Dynamic => loop { if is_exited.load(Ordering::SeqCst) { let mut rm = RUNMODE.lock(); *rm = RunMode::Uninitialized; drop(rm); break; } let next_command = if command_queue.is_empty() { rx.recv() } else { Ok(command_queue.pop_front().unwrap()) }; if let Ok(command) = next_command { let mut p = ps.lock(); handle_event( command, &mut out_lock, &mut p, &mut command_queue, is_exited, #[cfg(feature = "search")] input_thread_running, )?; } }, #[cfg(feature = "static_output")] RunMode::Static => { { let mut p = ps.lock(); if p.follow_output { display::draw_for_change(&mut out_lock, &mut p, &mut (usize::MAX - 1))?; } } loop { if is_exited.load(Ordering::SeqCst) { // Cleanup the screen // // This is not needed in dynamic paging because this is already handled by handle_event term::cleanup(&mut out_lock, &ps.lock().exit_strategy, true)?; let mut rm = RUNMODE.lock(); *rm = RunMode::Uninitialized; drop(rm); break; } let next_command = if command_queue.is_empty() { rx.recv() } else { Ok(command_queue.pop_front().unwrap()) }; if let Ok(command) = next_command { let mut p = ps.lock(); handle_event( command, &mut out_lock, &mut p, &mut command_queue, is_exited, #[cfg(feature = "search")] input_thread_running, )?; } } } RunMode::Uninitialized => panic!( "Static variable RUNMODE set to uninitialized.\ This is most likely a bug. Please open an issue to the developers" ), } Ok(()) } fn event_reader( evtx: &Sender, ps: &Arc>, #[cfg(feature = "search")] user_input_active: &Arc<(Mutex, Condvar)>, is_exited: &Arc, ) -> Result<(), MinusError> { loop { if is_exited.load(Ordering::SeqCst) { break; } #[cfg(feature = "search")] { let (lock, cvar) = (&user_input_active.0, &user_input_active.1); let mut active = lock.lock(); if !*active { cvar.wait(&mut active); } } if event::poll(std::time::Duration::from_millis(100)) .map_err(|e| MinusError::HandleEvent(e.into()))? { let ev = event::read().map_err(|e| MinusError::HandleEvent(e.into()))?; let mut guard = ps.lock(); // Get the events let input = guard.input_classifier.classify_input(ev, &guard); if let Some(iev) = input { if let InputEvent::Number(n) = iev { guard.prefix_num.push(n); guard.format_prompt(); } else if !guard.prefix_num.is_empty() { guard.prefix_num.clear(); guard.format_prompt(); } if let Err(TrySendError::Disconnected(_)) = evtx.try_send(Command::UserInput(iev)) { break; } } else if !guard.prefix_num.is_empty() { guard.prefix_num.clear(); guard.format_prompt(); } } } Result::<(), MinusError>::Ok(()) } minus-5.6.1/src/core/mod.rs000064400000000000000000000063451046102023000136440ustar 00000000000000use std::collections::VecDeque; pub mod commands; pub mod ev_handler; #[cfg(any(feature = "dynamic_output", feature = "static_output"))] pub mod init; pub mod utils; pub static RUNMODE: parking_lot::Mutex = parking_lot::const_mutex(RunMode::Uninitialized); use commands::Command; /// A [VecDeque] to hold [Command]s to be executed after the current command has been executed /// /// Many [Command]s in minus require additional commands to be executed once the current command's /// main objective has ben completed. For example the [SetLineNumbers](Command::SetLineNumbers) /// requires the text data to be reformatted and repainted on the screen. Hence it can push that /// command to this to be executed once it itself has completed executing. /// /// This also takes into account [RUNMODE] before inserting data. The means that it will ensure that /// [RUNMODE] is not uninitialized before pushing any data into the queue. Hence it is best used /// case is while declaring handlers for [Command::UserInput]. /// /// This is a FIFO type hence the command that enters first gets executed first. pub struct CommandQueue(VecDeque); impl CommandQueue { /// Create a new CommandQueue with default size of 10. pub fn new() -> Self { Self(VecDeque::with_capacity(10)) } /// Create a new CommandQueue with zero memory allocation. /// /// This is useful when we have to pass this type to [handle_event](ev_handler::handle_event) /// but it is sure that this won't be used. pub fn new_zero() -> Self { Self(VecDeque::with_capacity(0)) } /// Returns true if the queue is empty. pub fn is_empty(&self) -> bool { self.0.is_empty() } /// Store `value` only if [RUNMODE] is not unintialized. /// /// # Panics /// This function will panic if it is called in an environment where [RUNMODE] is /// uninitialized. pub fn push_back(&mut self, value: Command) { assert!(!RUNMODE.lock().is_uninitialized(), "CommandQueue::push_back() caled when RUNMODE is not set. This is most likely a bug. Please report the issue on minus's issue tracker on Github."); self.0.push_back(value); } /// Store `value` without checking [RUNMODE]. /// /// This is only meant to be used as an optimization over [push_back](CommandQueue::push_back) /// when it is absolutely sure that [RUNMODE] isn't uninitialized. Hence calling this in an /// enviroment where [RUNMODE] is uninitialized can lead to unexpect slowdowns. pub fn push_back_unchecked(&mut self, value: Command) { self.0.push_back(value); } pub fn pop_front(&mut self) -> Option { self.0.pop_front() } } /// Define the modes in which minus can run #[derive(Copy, Clone, PartialEq, Eq)] pub enum RunMode { #[cfg(feature = "static_output")] Static, #[cfg(feature = "dynamic_output")] Dynamic, Uninitialized, } impl RunMode { /// Returns true if minus hasn't started /// /// # Example /// ``` /// use minus::RunMode; /// /// let runmode = RunMode::Uninitialized; /// assert_eq!(runmode.is_uninitialized(), true); /// ``` #[must_use] pub fn is_uninitialized(self) -> bool { self == Self::Uninitialized } } minus-5.6.1/src/core/utils/display/mod.rs000064400000000000000000000322161046102023000164450ustar 00000000000000#![allow(dead_code)] use crossterm::{ cursor::MoveTo, execute, queue, terminal::{Clear, ClearType}, }; use std::{cmp::Ordering, convert::TryInto, io::Write}; use super::term; use crate::screen::Row; use crate::{error::MinusError, minus_core, LineNumbers, PagerState}; /// How should the incoming text be drawn on the screen #[derive(Debug, PartialEq, Eq)] pub enum AppendStyle<'a> { /// Draw only the region that needs to change PartialUpdate(&'a [Row]), /// Redraw the entire screen FullRedraw, } /// Handles drawing of screen based on movement /// /// Refreshing the entire terminal can be costly, especially on high resolution displays and this cost can turns out to be /// very high if that redrawing is required on every movement of the pager, even for small changes. /// This function calculates what part of screen needs to be redrawed on scrolling up/down and based on that, it redraws /// only that part of the terminal. pub fn draw_for_change( out: &mut impl Write, ps: &mut PagerState, new_upper_mark: &mut usize, ) -> Result<(), MinusError> { let line_count = ps.screen.formatted_lines_count(); // Reduce one row for prompt/messages // // NOTE This should be the value of rows that should be used throughout this function. // Don't use PagerState::rows, it might lead to wrong output let writable_rows = ps.rows.saturating_sub(1); // Calculate the lower_bound for current and new upper marks // by adding either the rows or line_count depending on the minimality let lower_bound = ps.upper_mark.saturating_add(writable_rows.min(line_count)); let new_lower_bound = new_upper_mark.saturating_add(writable_rows.min(line_count)); // If the lower_bound is greater than the available line count, we set it to such a value // so that the last page can be displayed entirely, i.e never scroll past the last line if new_lower_bound > line_count { *new_upper_mark = line_count.saturating_sub(writable_rows); } let delta = new_upper_mark.abs_diff(ps.upper_mark); // Sometimes the value of delta is too large that we can rather use the value of the writable rows to // achieve the same effect with better performance. This means that we have draw to less lines to the terminal // // Think of it like this:- // Let's say the current upper mark is at 100 and writable rows is 25. Now if there is a jump of 200th line, // then instead of writing 100 lines, we can just jump to the 200 line and display the next 25 lines from there on. // // Hence here we can take the minimum of the delta or writable rows for displaying // // NOTE that the large delta case may not always be true in case of scrolling down. Actually this method produces // wrong output if this is not the case hence we still rely on using lower bounds method. But for scrolling up, we // need this value whatever the value of delta be. let normalized_delta = delta.min(writable_rows); let lines = match (*new_upper_mark).cmp(&ps.upper_mark) { Ordering::Greater => { // Scroll down `normalized_delta` lines, and put the cursor one line above, where the old prompt would present. // Clear it off and start displaying new dta. queue!( out, crossterm::terminal::ScrollUp(normalized_delta.try_into().unwrap()) )?; term::move_cursor( out, 0, ps.rows .saturating_sub(normalized_delta + 1) .try_into() .unwrap(), false, )?; queue!(out, Clear(ClearType::CurrentLine))?; if delta < writable_rows { ps.screen .get_formatted_lines_with_bounds(lower_bound, new_lower_bound) } else { ps.screen.get_formatted_lines_with_bounds( *new_upper_mark, new_upper_mark.saturating_add(normalized_delta), ) } } Ordering::Less => { execute!( out, crossterm::terminal::ScrollDown(normalized_delta.try_into().unwrap()) )?; term::move_cursor(out, 0, 0, false)?; ps.screen.get_formatted_lines_with_bounds( *new_upper_mark, new_upper_mark.saturating_add(normalized_delta), ) } Ordering::Equal => return Ok(()), }; write_lines( out, lines, ps.cols, ps.screen.line_wrapping, ps.left_mark, ps.line_numbers.is_on(), ps.screen.line_count(), )?; ps.upper_mark = *new_upper_mark; if ps.show_prompt { super::display::write_prompt(out, &ps.displayed_prompt, ps.rows.try_into().unwrap())?; } out.flush()?; Ok(()) } /// Write given text at the prompt site pub fn write_prompt(out: &mut impl Write, text: &str, rows: u16) -> Result<(), MinusError> { write!(out, "{mv}\r{prompt}", mv = MoveTo(0, rows), prompt = text)?; out.flush()?; Ok(()) } // The below functions are just a subset of functionality of the above draw_for_change function. // Although, separate they are tightly coupled together. /// Completely redraws the screen /// /// The function will first print out the lines from the current upper_mark. This is handled inside the [`write_lines`] /// function. /// /// Then it will check if there is any message to display. /// - If there is one, it will display it at the prompt site /// - If there isn't one, it will display the prompt in place of it pub fn draw_full(out: &mut impl Write, ps: &mut PagerState) -> Result<(), MinusError> { super::term::move_cursor(out, 0, 0, false)?; queue!(out, Clear(ClearType::All))?; write_from_pagerstate(out, ps)?; let pager_rows: u16 = ps.rows.try_into().map_err(|_| MinusError::Conversion)?; if ps.show_prompt { write_prompt(out, &ps.displayed_prompt, pager_rows)?; } out.flush().map_err(MinusError::Draw) } pub fn draw_append_text( out: &mut impl Write, rows: usize, prev_unterminated: usize, prev_fmt_lines_count: usize, append_style: &AppendStyle, ) -> Result<(), MinusError> { let AppendStyle::PartialUpdate(fmt_text) = append_style else { unreachable!() }; if prev_fmt_lines_count < rows { // Move the cursor to the very next line after the last displayed line term::move_cursor( out, 0, prev_fmt_lines_count .saturating_sub(prev_unterminated) .try_into() .unwrap(), false, )?; // available_rows -> Rows that are still unfilled // rows - number of lines displayed -1 (for prompt) // For example if 20 rows are in total in a terminal // and 10 rows are already occupied, then this will be equal to 9 let available_rows = rows.saturating_sub( prev_fmt_lines_count .saturating_sub(prev_unterminated) .saturating_add(1), ); // Minimum amount of text that an be appended // If available_rows is less, than this will be available rows else it will be // the length of the formatted text // // If number of rows in terminal is 23 with 20 rows filled and another 5 lines are given // This woll be equal to 3 as available rows will be 3 // If in the above example only 2 lines need to be added, this will be equal to 2 let num_appendable = fmt_text.len().min(available_rows); if num_appendable >= 1 { crossterm::execute!(out, crossterm::terminal::Clear(ClearType::CurrentLine))?; } write!(out, "{}", fmt_text[0..num_appendable].join("\n\r"))?; out.flush()?; } Ok(()) } /// Write the lines to the terminal /// /// Note: Although this function can take any type that implements [Write] however it assumes that /// it behaves like a terminal i.e it must set rows and cols in [PagerState]. /// If you want to write directly to a file without this preassumption, then use the [write_lines] /// function. /// /// Draws (at most) `rows -1` lines, where the first line to display is /// [`PagerState::upper_mark`]. This function will always try to display as much lines as /// possible within `rows -1`. /// /// It always skips one row at the bottom as a site for the prompt or any message that may be sent. /// /// This function ensures that upper mark never exceeds a value such that adding upper mark and available rows exceeds /// the number of lines of text data. This rule is disobeyed in only one special case which is if number of lines of /// text is less than available rows. In this situation, upper mark is always 0. #[allow(clippy::too_many_arguments)] pub fn write_text_checked( out: &mut impl Write, lines: &[String], mut upper_mark: usize, rows: usize, cols: usize, line_wrapping: bool, left_mark: usize, line_numbers: LineNumbers, total_line_count: usize, ) -> Result<(), MinusError> { let line_count = lines.len(); // Reduce one row for prompt/messages let writable_rows = rows.saturating_sub(1); // Calculate the lower_mark by adding either the rows or line_count depending // on the minimality let mut lower_mark = upper_mark.saturating_add(writable_rows.min(line_count)); // If the lower_bound is greater than the available line count, we set it to such a value // so that the last page can be displayed entirely, i.e never scroll past the last line if lower_mark > line_count { upper_mark = line_count.saturating_sub(writable_rows); lower_mark = upper_mark.saturating_add(writable_rows.min(line_count)); } // Add \r to ensure cursor is placed at the beginning of each row let display_lines: &[String] = &lines[upper_mark..lower_mark]; term::move_cursor(out, 0, 0, false)?; term::clear_entire_screen(out, false)?; write_lines( out, display_lines, cols, line_wrapping, left_mark, line_numbers.is_on(), total_line_count, ) } pub fn write_from_pagerstate(out: &mut impl Write, ps: &mut PagerState) -> Result<(), MinusError> { let line_count = ps.screen.formatted_lines_count(); // Reduce one row for prompt/messages let writable_rows = ps.rows.saturating_sub(1); // Calculate the lower_mark by adding either the rows or line_count depending // on the minimality let lower_mark = ps.upper_mark.saturating_add(writable_rows.min(line_count)); if lower_mark > line_count { ps.upper_mark = line_count.saturating_sub(writable_rows); } // Add \r to ensure cursor is placed at the beginning of each row let display_lines: &[String] = ps .screen .get_formatted_lines_with_bounds(ps.upper_mark, lower_mark); write_lines( out, display_lines, ps.cols, ps.screen.line_wrapping, ps.left_mark, ps.line_numbers.is_on(), ps.screen.line_count(), ) } pub fn write_lines( out: &mut impl Write, lines: &[String], cols: usize, line_wrapping: bool, left_mark: usize, line_numbers: bool, line_count: usize, ) -> crate::Result { if line_wrapping { write_raw_lines(out, lines, Some("\r")) } else { write_lines_in_horizontal_scroll(out, lines, cols, left_mark, line_numbers, line_count) } } pub fn write_lines_in_horizontal_scroll( out: &mut impl Write, lines: &[String], cols: usize, start: usize, line_numbers: bool, line_count: usize, ) -> crate::Result { let line_number_ascii_seq_len = if line_numbers { 8 } else { 0 }; let line_number_padding = if line_numbers { minus_core::utils::digits(line_count) + LineNumbers::EXTRA_PADDING + 3 } else { 0 }; let shifted_start = if line_numbers { start + line_number_padding + line_number_ascii_seq_len } else { start }; for line in lines { let end = shifted_start + cols.min(line.len().saturating_sub(shifted_start)) - line_number_padding; if start < line.len() { if line_numbers { writeln!( out, "\r{}{}", &line[0..line_number_padding + line_number_ascii_seq_len], &line[shifted_start..end] )?; } else { writeln!(out, "\r{}", &line[shifted_start..end])?; } } else { writeln!(out, "\r")?; } } Ok(()) } /// Write lines to the the output /// /// Outputs all the `lines` to `out` without any preassumption about terminals. /// `initial` tells any extra text to be inserted before each line. For functions that use this /// function over terminals, this should be set to `\r` to avoid broken display. /// The `\r` resets the cursor to the start of the line. pub fn write_raw_lines( out: &mut impl Write, lines: &[String], initial: Option<&str>, ) -> Result<(), MinusError> { for line in lines { writeln!(out, "{}{line}", initial.unwrap_or(""))?; } Ok(()) } #[cfg(test)] mod tests; minus-5.6.1/src/core/utils/display/tests.rs000064400000000000000000000441241046102023000170310ustar 00000000000000#![allow(clippy::shadow_unrelated)] #![allow(clippy::cast_possible_truncation)] use super::{draw_for_change, draw_full, write_from_pagerstate, write_prompt}; use crate::{LineNumbers, PagerState}; use std::fmt::Write; // * In some places, where test lines are close to the row, 1 should be added // to the rows because `write_lines` does care about the prompt // The pager assumes 80 columns and 10 rows in tests // Wherever the tests require this 80x10 configuration, no explicit assignment is done // In other cases, the tests do set the their required values #[test] fn short_no_line_numbers() { let lines = "A line\nAnother line"; let mut pager = PagerState::new().unwrap(); pager.screen.orig_text = lines.to_string(); pager.format_lines(); let mut out = Vec::with_capacity(lines.len()); assert!(write_from_pagerstate(&mut out, &mut pager).is_ok()); assert_eq!( "\rA line\n\rAnother line\n", String::from_utf8(out).expect("Should have written valid UTF-8") ); assert_eq!(pager.upper_mark, 0); let mut out = Vec::with_capacity(lines.len()); pager.upper_mark += 1; assert!(write_from_pagerstate(&mut out, &mut pager).is_ok()); // The number of lines is less than 'rows' so 'upper_mark' will be 0 even // if we set it to 1. This is done because everything can be displayed without problems. assert_eq!( "\rA line\n\rAnother line\n", String::from_utf8(out).expect("Should have written valid UTF-8") ); assert_eq!(pager.upper_mark, 0); } #[test] fn long_no_line_numbers() { let lines = "A line\nAnother line\nThird line\nFourth line"; // Displaying as much of the lines as possible from the start. let mut out = Vec::with_capacity(lines.len()); let mut pager = PagerState::new().unwrap(); // One extra line for prompt pager.rows = 4; pager.screen.orig_text = lines.to_string(); pager.format_lines(); assert!(write_from_pagerstate(&mut out, &mut pager).is_ok()); assert_eq!( "\rA line\n\rAnother line\n\rThird line\n", String::from_utf8(out).expect("Should have written valid UTF-8") ); assert_eq!(pager.upper_mark, 0); // This ensures that asking for a position other than 0 works. let mut out = Vec::with_capacity(lines.len()); pager.screen.orig_text = "Another line\nThird line\nFourth line\nFifth line\n".to_string(); pager.upper_mark = 1; pager.format_lines(); assert!(write_from_pagerstate(&mut out, &mut pager).is_ok()); assert_eq!( "\rThird line\n\rFourth line\n\rFifth line\n", String::from_utf8(out).expect("Should have written valid UTF-8") ); assert_eq!(pager.upper_mark, 1); // This test ensures that as much text as possible will be displayed, even // when less is asked for. let mut out = Vec::with_capacity(lines.len()); pager.upper_mark = 2; assert!(write_from_pagerstate(&mut out, &mut pager).is_ok()); assert_eq!( "\rThird line\n\rFourth line\n\rFifth line\n", String::from_utf8(out).expect("Should have written valid UTF-8") ); assert_eq!(pager.upper_mark, 1); } #[test] fn short_with_line_numbers() { let lines = "A line\nAnother line"; let mut out = Vec::with_capacity(lines.len()); let mut pager = PagerState::new().unwrap(); pager.screen.orig_text = lines.to_string(); pager.line_numbers = LineNumbers::Enabled; pager.format_lines(); assert!(write_from_pagerstate(&mut out, &mut pager).is_ok()); assert_eq!( "\r 1. A line\n\r 2. Another line\n", String::from_utf8(out).expect("Should have written valid UTF-8") ); assert_eq!(pager.upper_mark, 0); let mut out = Vec::with_capacity(lines.len()); pager.upper_mark = 1; pager.line_numbers = LineNumbers::AlwaysOn; assert!(write_from_pagerstate(&mut out, &mut pager).is_ok()); // The number of lines is less than 'rows' so 'upper_mark' will be 0 even // if we set it to 1. This is done because everything can be displayed without problems. assert_eq!( "\r 1. A line\n\r 2. Another line\n", String::from_utf8(out).expect("Should have written valid UTF-8") ); assert_eq!(pager.upper_mark, 0); } #[test] fn long_with_line_numbers() { let lines = "A line\nAnother line\nThird line\nFourth line"; // Displaying as much of the lines as possible from the start. let mut out = Vec::with_capacity(lines.len()); let mut pager = PagerState::new().unwrap(); pager.rows = 4; pager.screen.orig_text = lines.to_string(); pager.line_numbers = LineNumbers::Enabled; pager.format_lines(); assert!(write_from_pagerstate(&mut out, &mut pager).is_ok()); assert_eq!( "\r 1. A line\n\r 2. Another line\n\r 3. Third line\n", String::from_utf8(out).expect("Should have written valid UTF-8") ); assert_eq!(pager.upper_mark, 0); // This ensures that asking for a position other than 0 works. let mut out = Vec::with_capacity(lines.len()); pager.upper_mark = 1; assert!(write_from_pagerstate(&mut out, &mut pager).is_ok()); assert_eq!( "\r 2. Another line\n\r 3. Third line\n\r 4. Fourth line\n", String::from_utf8(out).expect("Should have written valid UTF-8") ); assert_eq!(pager.upper_mark, 1); // This test ensures that as much text as possible will be displayed, even // when less is asked for. let mut out = Vec::with_capacity(lines.len()); pager.upper_mark = 2; assert!(write_from_pagerstate(&mut out, &mut pager).is_ok()); assert_eq!( "\r 2. Another line\n\r 3. Third line\n\r 4. Fourth line\n", String::from_utf8(out).expect("Should have written valid UTF-8") ); assert_eq!(pager.upper_mark, 1); } #[test] fn big_line_numbers_are_padded() { let lines = { let mut l = String::with_capacity(450); for i in 0..110 { writeln!(&mut l, "L{i}").unwrap(); } l }; let mut out = Vec::with_capacity(lines.len()); let mut pager = PagerState::new().unwrap(); pager.upper_mark = 95; pager.rows = 11; pager.screen.orig_text = lines; pager.line_numbers = LineNumbers::AlwaysOn; pager.format_lines(); assert!(write_from_pagerstate(&mut out, &mut pager).is_ok()); // The padding should have inserted a space before the numbers that are less than 100. assert_eq!( "\r 96. L95\n\r 97. L96\n\r 98. L97\n\r 99. L98\n\r 100. \ L99\n\r 101. L100\n\r 102. L101\n\r 103. L102\n\r 104. L103\n\r 105. L104\n", String::from_utf8(out).expect("Should have written valid UTF-8") ); assert_eq!(pager.upper_mark, 95); } #[test] fn line_numbers_not() { #[allow(clippy::enum_glob_use)] use LineNumbers::*; assert_eq!(AlwaysOn, !AlwaysOn); assert_eq!(AlwaysOff, !AlwaysOff); assert_eq!(Enabled, !Disabled); assert_eq!(Disabled, !Enabled); } #[test] fn line_numbers_invertible() { #[allow(clippy::enum_glob_use)] use LineNumbers::*; assert!(!AlwaysOn.is_invertible()); assert!(!AlwaysOff.is_invertible()); assert!(Enabled.is_invertible()); assert!(Disabled.is_invertible()); } #[test] fn draw_short_no_line_numbers() { let lines = "A line\nAnother line"; let mut out = Vec::with_capacity(lines.len()); let mut pager = PagerState::new().unwrap(); pager.screen.orig_text = lines.to_string(); pager.line_numbers = LineNumbers::AlwaysOff; pager.format_lines(); assert!(draw_full(&mut out, &mut pager).is_ok()); assert!(String::from_utf8(out) .expect("Should have written valid UTF-8") .contains("\rA line\n\rAnother line")); assert_eq!(pager.upper_mark, 0); let mut out = Vec::with_capacity(lines.len()); pager.upper_mark = 1; assert!(draw_full(&mut out, &mut pager).is_ok()); // The number of lines is less than 'rows' so 'upper_mark' will be 0 even // if we set it to 1. This is done because everything can be displayed without problems. assert!(String::from_utf8(out) .expect("Should have written valid UTF-8") .contains("\rA line\n\rAnother line")); assert_eq!(pager.upper_mark, 0); } #[test] fn draw_long_no_line_numbers() { let lines = "A line\nAnother line\nThird line\nFourth line"; // Displaying as much of the lines as possible from the start. let mut out = Vec::with_capacity(lines.len()); let mut pager = PagerState::new().unwrap(); pager.rows = 3; pager.screen.orig_text = lines.to_string(); pager.format_lines(); assert!(draw_full(&mut out, &mut pager).is_ok()); assert!(String::from_utf8(out) .expect("Should have written valid UTF-8") .contains("\rA line\n\rAnother line")); assert_eq!(pager.upper_mark, 0); // This ensures that asking for a position other than 0 works. let mut out = Vec::with_capacity(lines.len()); pager.upper_mark = 1; assert!(draw_full(&mut out, &mut pager).is_ok()); assert!(String::from_utf8(out) .expect("Should have written valid UTF-8") .contains("\rAnother line\n\rThird line")); assert_eq!(pager.upper_mark, 1); // This test ensures that as much text as possible will be displayed, even // when less is asked for. let mut out = Vec::with_capacity(lines.len()); pager.upper_mark = 3; assert!(draw_full(&mut out, &mut pager).is_ok()); assert!(String::from_utf8(out) .expect("Should have written valid UTF-8") .contains("\rThird line\n\rFourth line")); assert_eq!(pager.upper_mark, 2); } #[test] fn draw_short_with_line_numbers() { let lines = "A line\nAnother line"; let mut out = Vec::with_capacity(lines.len()); let mut pager = PagerState::new().unwrap(); pager.screen.orig_text = lines.to_string(); pager.line_numbers = LineNumbers::Enabled; pager.format_lines(); assert!(draw_full(&mut out, &mut pager).is_ok()); assert!(String::from_utf8(out) .expect("Should have written valid UTF-8") .contains("\r 1. A line\n\r 2. Another line")); assert_eq!(pager.upper_mark, 0); let mut out = Vec::with_capacity(lines.len()); pager.upper_mark = 1; assert!(draw_full(&mut out, &mut pager).is_ok()); // The number of lines is less than 'rows' so 'upper_mark' will be 0 even // if we set it to 1. This is done because everything can be displayed without problems. assert!(String::from_utf8(out) .expect("Should have written valid UTF-8") .contains("\r 1. A line\n\r 2. Another line")); assert_eq!(pager.upper_mark, 0); } #[test] fn draw_long_with_line_numbers() { let lines = "A line\nAnother line\nThird line\nFourth line"; // Displaying as much of the lines as possible from the start. let mut out = Vec::with_capacity(lines.len()); let mut pager = PagerState::new().unwrap(); pager.rows = 3; pager.screen.orig_text = lines.to_string(); pager.line_numbers = LineNumbers::Enabled; pager.format_lines(); assert!(draw_full(&mut out, &mut pager).is_ok()); assert!(String::from_utf8(out) .expect("Should have written valid UTF-8") .contains("\r 1. A line\n\r 2. Another line")); assert_eq!(pager.upper_mark, 0); // This ensures that asking for a position other than 0 works. let mut out = Vec::with_capacity(lines.len()); pager.upper_mark = 1; assert!(draw_full(&mut out, &mut pager).is_ok()); assert!(String::from_utf8(out) .expect("Should have written valid UTF-8") .contains("\r 2. Another line\n\r 3. Third line")); assert_eq!(pager.upper_mark, 1); // This test ensures that as much text as possible will be displayed, even // when less is asked for. let mut out = Vec::with_capacity(lines.len()); pager.upper_mark = 3; assert!(draw_full(&mut out, &mut pager).is_ok()); assert!(String::from_utf8(out) .expect("Should have written valid UTF-8") .contains("\r 3. Third line\n\r 4. Fourth line")); assert_eq!(pager.upper_mark, 2); } #[test] fn draw_big_line_numbers_are_padded() { let lines = { let mut l = String::with_capacity(450); for i in 0..110 { writeln!(&mut l, "L{i}").unwrap(); } l }; let mut out = Vec::with_capacity(lines.len()); let mut pager = PagerState::new().unwrap(); pager.upper_mark = 95; pager.screen.orig_text = lines; pager.line_numbers = LineNumbers::Enabled; pager.format_lines(); assert!(draw_full(&mut out, &mut pager).is_ok()); // The padding should have inserted a space before the numbers that are less than 100. assert!(String::from_utf8(out) .expect("Should have written valid UTF-8") .contains( "\r 96. L95\n\r 97. L96\n\r 98. L97\n\r 99. L98\n\r 100. L99\n\r 101. L100\n\r 102. L101\n\r 103. L102\n\r 104. L103", ) ); assert_eq!(pager.upper_mark, 95); } #[test] fn draw_wrapping_line_numbers() { let lines = (0..3) .map(|l| format!("Line {l}: This is the line who is {l}")) .collect::>() .join("\n"); let mut out = Vec::new(); let mut pager = PagerState::new().unwrap(); pager.screen.orig_text = lines; pager.cols = 30; pager.upper_mark = 2; pager.line_numbers = LineNumbers::Enabled; pager.format_lines(); assert!(draw_full(&mut out, &mut pager).is_ok()); let written = String::from_utf8(out).expect("Should have written valid UTF-8"); let expected = " 2. Line 1: This is the\n\r line who is 1\n\r 3. Line 2: This is the\n\r line who is 2"; assert!(written.contains(expected)); } #[test] fn draw_help_message() { let lines = "A line\nAnother line"; let mut out = Vec::with_capacity(lines.len()); let mut pager = PagerState::new().unwrap(); pager.screen.orig_text = lines.to_string(); pager.line_numbers = LineNumbers::AlwaysOff; pager.format_prompt(); draw_full(&mut out, &mut pager).expect("Should have written"); let res = String::from_utf8(out).expect("Should have written valid UTF-8"); assert!(res.contains("minus")); } #[test] fn test_draw_no_overflow() { const TEXT: &str = "This is a line of text to the pager"; let mut out = Vec::with_capacity(TEXT.len()); let mut pager = PagerState::new().unwrap(); pager.screen.orig_text = TEXT.to_string(); pager.format_lines(); draw_full(&mut out, &mut pager).unwrap(); assert!(String::from_utf8(out) .expect("Should have written valid UTF-8") .contains(TEXT)); } #[cfg(test)] mod draw_for_change_tests { use super::{draw_for_change, write_prompt}; use crate::state::PagerState; use crossterm::{ cursor::MoveTo, terminal::{Clear, ClearType, ScrollDown, ScrollUp}, }; use std::fmt::Write as FmtWrite; use std::io::Write as IOWrite; fn create_pager_state() -> PagerState { let lines = { let mut l = String::with_capacity(450); for i in 0..100 { writeln!(&mut l, "L{i}").unwrap(); } l }; let mut ps = PagerState::new().unwrap(); ps.upper_mark = 0; ps.screen.orig_text = lines; ps.format_lines(); ps.format_prompt(); ps } #[test] fn small_scrolldown() { let mut ps = create_pager_state(); let mut out = Vec::with_capacity(100); let mut res = Vec::new(); write!( res, "{}{}{}", ScrollUp(3), MoveTo(0, ps.rows as u16 - 4), Clear(ClearType::CurrentLine) ) .unwrap(); for line in &ps.screen.formatted_lines[9..12] { writeln!(res, "\r{line}").unwrap(); } write_prompt(&mut res, &ps.displayed_prompt, ps.rows as u16).unwrap(); draw_for_change(&mut out, &mut ps, &mut 3).unwrap(); assert_eq!(out, res); } #[test] fn large_scrolldown() { let mut ps = create_pager_state(); let mut out = Vec::with_capacity(100); let mut res = Vec::new(); write!( res, "{}{}{}", ScrollUp(9), MoveTo(0, 0), Clear(ClearType::CurrentLine) ) .unwrap(); for line in &ps.screen.formatted_lines[50..59] { writeln!(res, "\r{line}").unwrap(); } write_prompt(&mut res, &ps.displayed_prompt, ps.rows as u16).unwrap(); draw_for_change(&mut out, &mut ps, &mut 50).unwrap(); assert_eq!(out, res); } #[test] fn no_overflow_change() { let mut ps = create_pager_state(); ps.screen.formatted_lines.truncate(5); let mut out = Vec::with_capacity(100); let mut new_upper_mark = 10; let res = Vec::new(); draw_for_change(&mut out, &mut ps, &mut new_upper_mark).unwrap(); assert_eq!(out, res); } #[test] fn large_scrollup() { let mut ps = create_pager_state(); let mut out = Vec::with_capacity(100); ps.upper_mark = 80; let mut res = Vec::new(); write!(res, "{}{}", ScrollDown(9), MoveTo(0, 0),).unwrap(); for line in &ps.screen.formatted_lines[20..29] { writeln!(res, "\r{line}").unwrap(); } write_prompt(&mut res, &ps.displayed_prompt, ps.rows as u16).unwrap(); draw_for_change(&mut out, &mut ps, &mut 20).unwrap(); dbg!(String::from_utf8_lossy(&out)); dbg!(String::from_utf8_lossy(&res)); assert_eq!(out, res); } #[test] fn small_scrollup() { let mut ps = create_pager_state(); let mut out = Vec::with_capacity(100); ps.upper_mark = 60; let mut res = Vec::new(); write!(res, "{}{}", ScrollDown(9), MoveTo(0, 0),).unwrap(); for line in &ps.screen.formatted_lines[50..59] { writeln!(res, "\r{line}").unwrap(); } write_prompt(&mut res, &ps.displayed_prompt, ps.rows as u16).unwrap(); draw_for_change(&mut out, &mut ps, &mut 50).unwrap(); dbg!(String::from_utf8_lossy(&out)); dbg!(String::from_utf8_lossy(&res)); assert_eq!(out, res); } } minus-5.6.1/src/core/utils/mod.rs000064400000000000000000000017221046102023000147760ustar 00000000000000pub mod display; pub mod term; /// Return the number of digits in `num` pub const fn digits(num: usize) -> usize { (if num == 0 { 0 } else { num.ilog10() as usize }) + 1 } /// Stores the location of first row each line /// /// Due to line wrapping, each line may or may not occupy exactly one row on the terminal /// Hence we nned to keep track where the first row o each line is positioned in the entire text /// array. #[derive(Debug)] pub struct LinesRowMap(Vec); impl LinesRowMap { pub const fn new() -> Self { Self(Vec::new()) } pub fn append(&mut self, idx: &mut Self, clean_append: bool) { if !clean_append { self.0.pop(); } self.0.append(&mut idx.0); } pub fn insert(&mut self, ln: usize, clean_append: bool) { if !clean_append { self.0.pop(); } self.0.push(ln); } pub fn get(&self, ln: usize) -> Option<&usize> { self.0.get(ln) } } minus-5.6.1/src/core/utils/term.rs000064400000000000000000000062701046102023000151710ustar 00000000000000//! Contains functions for dealing with setup, cleanup #![allow(dead_code)] use crate::error::{CleanupError, MinusError, SetupError}; use crossterm::{ cursor, event, execute, queue, terminal::{self, Clear}, tty::IsTty, }; use std::io; /// Setup the terminal /// /// It will /// - Switch the terminal's view to the [alternate screen] /// - Then enable [raw mode] /// - Clear the entire screen and hide the cursor. /// /// # Errors /// The function will return with an error if `stdout` is not a terminal. It will qlso fail /// if it cannot executo commands on the terminal See [`SetupError`]. /// /// [alternate screen]: ../../../crossterm/terminal/index.html#alternate-screen /// [raw mode]: ../../../crossterm/terminal/index.html#raw-mode // This function should be kept close to `cleanup` to help ensure both are // doing the opposite of the other. pub fn setup(stdout: &io::Stdout) -> std::result::Result<(), SetupError> { let mut out = stdout.lock(); if out.is_tty() { Ok(()) } else { Err(SetupError::InvalidTerminal) }?; execute!(out, terminal::EnterAlternateScreen) .map_err(|e| SetupError::AlternateScreen(e.into()))?; terminal::enable_raw_mode().map_err(|e| SetupError::RawMode(e.into()))?; execute!(out, event::EnableMouseCapture) .map_err(|e| SetupError::EnableMouseCapture(e.into()))?; execute!(out, cursor::Hide).map_err(|e| SetupError::HideCursor(e.into()))?; Ok(()) } /// Cleans up the terminal /// /// The function will clean up the terminal and set it back to its original state, /// before the pager was setup and called. /// - First the cursor is displayed /// - [Raw mode] is disabled /// - Switch the terminal's view to the main screen /// /// ## Errors /// The function will return with an error if it fails to do execute commands on the /// terminal. See [`CleanupError`] /// /// [raw mode]: ../../../crossterm/terminal/index.html#raw-mode pub fn cleanup( mut out: impl io::Write, es: &crate::ExitStrategy, cleanup_screen: bool, ) -> std::result::Result<(), CleanupError> { if cleanup_screen { // Reverse order of setup. execute!(out, cursor::Show).map_err(|e| CleanupError::ShowCursor(e.into()))?; execute!(out, event::DisableMouseCapture) .map_err(|e| CleanupError::DisableMouseCapture(e.into()))?; terminal::disable_raw_mode().map_err(|e| CleanupError::DisableRawMode(e.into()))?; execute!(out, terminal::LeaveAlternateScreen) .map_err(|e| CleanupError::LeaveAlternateScreen(e.into()))?; } if *es == crate::ExitStrategy::ProcessQuit { std::process::exit(0); } else { Ok(()) } } /// Moves the terminal cursor to given x, y coordinates /// /// The `flush` parameter will immediately flush the buffer if it is set to `true` pub fn move_cursor( out: &mut impl io::Write, x: u16, y: u16, flush: bool, ) -> Result<(), MinusError> { queue!(out, cursor::MoveTo(x, y))?; if flush { out.flush()?; } Ok(()) } pub fn clear_entire_screen(out: &mut impl io::Write, flush: bool) -> crate::Result { queue!(out, Clear(terminal::ClearType::All))?; if flush { out.flush()?; } Ok(()) } minus-5.6.1/src/dynamic_pager.rs000064400000000000000000000012771046102023000147360ustar 00000000000000use crate::error::MinusError; use crate::minus_core::init; use crate::Pager; /// Starts a asynchronously running pager /// /// This means that data and configuration can be fed into the pager while it is running. /// /// See [examples](../index.html#examples) on how to use this function. /// /// # Panics /// This function will panic if another instance of minus is already running. /// /// # Errors /// The function will return with an error if it encounters a error during paging. #[cfg_attr(docsrs, doc(cfg(feature = "dynamic_output")))] #[allow(clippy::needless_pass_by_value)] pub fn dynamic_paging(pager: Pager) -> Result<(), MinusError> { init::init_core(&pager, crate::RunMode::Dynamic) } minus-5.6.1/src/error.rs000064400000000000000000000066351046102023000132700ustar 00000000000000//! Provides error types that are used in various places //! //! Some types provided are just present there to avoid leaking //! upstream error types use crate::minus_core::commands::Command; use std::io; /// An operation on the terminal failed, for example resizing it. /// /// You can get more information about this error by calling /// [`source`](std::error::Error::source) on it. #[derive(Debug, thiserror::Error)] #[error(transparent)] #[allow(clippy::module_name_repetitions)] pub struct TermError( // This member is private to avoid leaking the crossterm error type up the // dependency chain. #[from] io::Error, ); /// There was an error while compiling the regex #[derive(Debug, thiserror::Error)] #[error(transparent)] #[allow(clippy::module_name_repetitions)] #[cfg(feature = "search")] #[cfg_attr(docsrs, doc(cfg(feature = "search")))] pub struct RegexError( // This member is private to avoid leaking the regex error type up the // dependency chain. #[from] regex::Error, ); /// Errors that can occur during setup. #[derive(Debug, thiserror::Error)] #[allow(clippy::module_name_repetitions)] pub enum SetupError { #[error("The standard output is not a valid terminal")] InvalidTerminal, #[error("Failed to switch to alternate screen")] AlternateScreen(TermError), #[error("Failed to enable raw mode")] RawMode(TermError), #[error("Failed to hide the cursor")] HideCursor(TermError), #[error("Failed to enable mouse capture")] EnableMouseCapture(TermError), #[error("Couldn't determine the terminal size")] TerminalSize(TermError), } /// Errors that can occur during clean up. #[derive(Debug, thiserror::Error)] #[allow(clippy::module_name_repetitions)] pub enum CleanupError { #[error("Failed to disable mouse capture")] DisableMouseCapture(TermError), #[error("Failed to show the cursor")] ShowCursor(TermError), #[error("Failed to disable raw mode")] DisableRawMode(TermError), #[error("Failed to switch back to main screen")] LeaveAlternateScreen(TermError), } /// Errors that can happen during runtime. #[derive(Debug, thiserror::Error)] #[allow(clippy::module_name_repetitions)] pub enum MinusError { #[error("Failed to initialize the terminal")] Setup(#[from] SetupError), #[error("Failed to clean up the terminal")] Cleanup(#[from] CleanupError), #[error("Failed to draw the new data")] Draw(#[from] std::io::Error), #[error("Failed to handle terminal event")] HandleEvent(TermError), #[error("Failed to do an operation on the cursor")] Cursor(#[from] TermError), #[error("Failed to send formatted data to the pager")] FmtWriteError(#[from] std::fmt::Error), #[error("Failed to send data to the receiver")] Communication(#[from] crossbeam_channel::SendError), #[error("Failed to convert between some primitives")] Conversion, #[error(transparent)] #[cfg(feature = "search")] #[cfg_attr(docsrs, doc(cfg(feature = "search")))] SearchExpError(#[from] RegexError), #[cfg(feature = "tokio")] #[error(transparent)] #[cfg_attr(docsrs, doc(cfg(feature = "tokio")))] JoinError(#[from] tokio::task::JoinError), } // Just for convenience helper which is useful in many places #[cfg(feature = "search")] impl From for MinusError { fn from(e: regex::Error) -> Self { Self::SearchExpError(RegexError::from(e)) } } minus-5.6.1/src/input/definitions/keydefs.rs000064400000000000000000000233541046102023000172400ustar 00000000000000#![allow(dead_code)] use super::{Token, MODIFIERS}; use std::collections::HashMap; use crossterm::event::{KeyCode, KeyEvent, KeyEventState, KeyModifiers}; use once_cell::sync::Lazy; static SPECIAL_KEYS: Lazy> = Lazy::new(|| { let mut map = HashMap::new(); map.insert("enter", KeyCode::Enter); map.insert("tab", KeyCode::Tab); map.insert("backtab", KeyCode::BackTab); map.insert("backspace", KeyCode::Backspace); map.insert("up", KeyCode::Up); map.insert("down", KeyCode::Down); map.insert("right", KeyCode::Right); map.insert("left", KeyCode::Left); map.insert("pageup", KeyCode::PageUp); map.insert("pagedown", KeyCode::PageDown); map.insert("home", KeyCode::Home); map.insert("end", KeyCode::End); map.insert("insert", KeyCode::Insert); map.insert("delete", KeyCode::Delete); map.insert("esc", KeyCode::Esc); map.insert("f1", KeyCode::F(1)); map.insert("f2", KeyCode::F(2)); map.insert("f3", KeyCode::F(3)); map.insert("f4", KeyCode::F(4)); map.insert("f5", KeyCode::F(5)); map.insert("f6", KeyCode::F(6)); map.insert("f7", KeyCode::F(7)); map.insert("f8", KeyCode::F(8)); map.insert("f9", KeyCode::F(9)); map.insert("f10", KeyCode::F(10)); map.insert("f11", KeyCode::F(11)); map.insert("f12", KeyCode::F(12)); map.insert("dash", KeyCode::Char('-')); map.insert("space", KeyCode::Char(' ')); map }); struct KeySeq { code: Option, modifiers: KeyModifiers, } impl Default for KeySeq { fn default() -> Self { Self { code: None, modifiers: KeyModifiers::NONE, } } } pub fn parse_key_event(text: &str) -> KeyEvent { let token_list = super::parse_tokens(text); KeySeq::gen_keyevent_from_tokenlist(&token_list, text) } impl KeySeq { fn gen_keyevent_from_tokenlist(token_list: &[Token], text: &str) -> KeyEvent { let mut ks = Self::default(); let mut token_iter = token_list.iter().peekable(); while let Some(token) = token_iter.peek() { match token { Token::Separator => { token_iter.next(); assert!( !(token_iter.peek() == Some(&&Token::Separator)), "'{}': Multiple separators found consecutively", text ); } Token::SingleChar(c) => { token_iter.next(); if let Some(m) = MODIFIERS.get(c) { if token_iter.next() == Some(&Token::Separator) { assert!( !ks.modifiers.contains(*m), "'{}': Multiple instances of same modifier given", text ); ks.modifiers.insert(*m); } else if ks.code.is_none() { ks.code = Some(KeyCode::Char(*c)); } else { panic!("'{}' Invalid key input sequence given", text); } } else if ks.code.is_none() { ks.code = Some(KeyCode::Char(*c)); } else { panic!("'{}': Invalid key input sequence given", text); } } Token::MultipleChar(c) => { let c = c.to_ascii_lowercase().to_string(); SPECIAL_KEYS.get(c.as_str()).map_or_else( || panic!("'{}': Invalid key input sequence given", text), |key| { if ks.code.is_none() { ks.code = Some(*key); } else { panic!("'{}': Invalid key input sequence given", text); } }, ); token_iter.next(); } } } KeyEvent { code: ks.code.unwrap_or(KeyCode::Null), modifiers: ks.modifiers, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } } } #[cfg(test)] #[test] #[allow(clippy::too_many_lines)] fn test_parse_key_event() { assert_eq!( parse_key_event("up"), KeyEvent { code: KeyCode::Up, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("k"), KeyEvent { code: KeyCode::Char('k'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("j"), KeyEvent { code: KeyCode::Char('j'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("down"), KeyEvent { code: KeyCode::Down, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("down"), KeyEvent { code: KeyCode::Down, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("enter"), KeyEvent { code: KeyCode::Enter, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("c-u"), KeyEvent { code: KeyCode::Char('u'), modifiers: KeyModifiers::CONTROL, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("c-d"), KeyEvent { code: KeyCode::Char('d'), modifiers: KeyModifiers::CONTROL, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("g"), KeyEvent { code: KeyCode::Char('g'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("s-g"), KeyEvent { code: KeyCode::Char('g'), modifiers: KeyModifiers::SHIFT, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("G"), KeyEvent { code: KeyCode::Char('G'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("pageup"), KeyEvent { code: KeyCode::PageUp, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("pagedown"), KeyEvent { code: KeyCode::PageDown, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("c-l"), KeyEvent { code: KeyCode::Char('l'), modifiers: KeyModifiers::CONTROL, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("q"), KeyEvent { code: KeyCode::Char('q'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("c-c"), KeyEvent { code: KeyCode::Char('c'), modifiers: KeyModifiers::CONTROL, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("/"), KeyEvent { code: KeyCode::Char('/'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("?"), KeyEvent { code: KeyCode::Char('?'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("n"), KeyEvent { code: KeyCode::Char('n'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("p"), KeyEvent { code: KeyCode::Char('p'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); assert_eq!( parse_key_event("c-s-h"), KeyEvent { code: KeyCode::Char('h'), modifiers: KeyModifiers::CONTROL | KeyModifiers::SHIFT, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, } ); } minus-5.6.1/src/input/definitions/mod.rs000064400000000000000000000032411046102023000163560ustar 00000000000000#![allow(clippy::uninlined_format_args)] pub mod keydefs; pub mod mousedefs; use crossterm::event::KeyModifiers; use once_cell::sync::Lazy; use std::collections::HashMap; fn parse_tokens(mut text: &str) -> Vec { assert!( text.chars().all(|c| c.is_ascii()), "'{}': Non ascii sequence found in input sequence", text ); text = text.trim(); assert!( text.chars().any(|c| !c.is_whitespace()), "'{}': Whitespace character found in input sequence", text ); let mut token_list = Vec::with_capacity(text.len()); let mut chars_peek = text.chars().peekable(); let mut s = String::with_capacity(5); let flush_s = |s: &mut String, token_list: &mut Vec| { match s.len() { 1 => token_list.push(Token::SingleChar(s.chars().next().unwrap())), 2.. => token_list.push(Token::MultipleChar(s.clone())), _ => {} } s.clear(); }; while let Some(chr) = chars_peek.peek() { match chr { '-' => { flush_s(&mut s, &mut token_list); token_list.push(Token::Separator); } c => { s.push(*c); } } chars_peek.next(); } flush_s(&mut s, &mut token_list); token_list } pub static MODIFIERS: Lazy> = Lazy::new(|| { let mut map = HashMap::new(); map.insert('m', KeyModifiers::ALT); map.insert('c', KeyModifiers::CONTROL); map.insert('s', KeyModifiers::SHIFT); map }); #[derive(Debug, PartialEq)] enum Token { Separator, // - SingleChar(char), MultipleChar(String), } minus-5.6.1/src/input/definitions/mousedefs.rs000064400000000000000000000140121046102023000175670ustar 00000000000000use std::collections::HashMap; use super::{Token, MODIFIERS}; use crossterm::event::{KeyModifiers, MouseButton, MouseEvent, MouseEventKind}; use once_cell::sync::Lazy; static MOUSE_ACTIONS: Lazy> = Lazy::new(|| { let mut map = HashMap::new(); map.insert("left:down", MouseEventKind::Down(MouseButton::Left)); map.insert("right:down", MouseEventKind::Down(MouseButton::Right)); map.insert("mid:down", MouseEventKind::Down(MouseButton::Middle)); map.insert("left:up", MouseEventKind::Up(MouseButton::Left)); map.insert("right:up", MouseEventKind::Up(MouseButton::Right)); map.insert("mid:up", MouseEventKind::Up(MouseButton::Middle)); map.insert("left:drag", MouseEventKind::Drag(MouseButton::Left)); map.insert("right:drag", MouseEventKind::Drag(MouseButton::Right)); map.insert("mid:drag", MouseEventKind::Drag(MouseButton::Middle)); map.insert("move", MouseEventKind::Moved); map.insert("scroll:up", MouseEventKind::ScrollUp); map.insert("scroll:down", MouseEventKind::ScrollDown); map }); pub fn parse_mouse_event(text: &str) -> MouseEvent { let token_list = super::parse_tokens(text); gen_mouse_event_from_tokenlist(&token_list, text) } fn gen_mouse_event_from_tokenlist(token_list: &[Token], text: &str) -> MouseEvent { let mut kind = None; let mut modifiers = KeyModifiers::NONE; let mut token_iter = token_list.iter().peekable(); while let Some(token) = token_iter.peek() { match token { Token::Separator => { token_iter.next(); assert!( !(token_iter.peek() == Some(&&Token::Separator)), "'{}': Multiple separators found consecutively", text ); } Token::SingleChar(c) => { token_iter.next(); MODIFIERS.get(c).map_or_else( || { panic!("'{}': Invalid keymodifier '{}' given", text, c); }, |m| { if token_iter.next() == Some(&Token::Separator) { assert!( !modifiers.contains(*m), "'{}': Multiple instances of same modifier given", text ); modifiers.insert(*m); } else { panic!("'{}' Invalid key input sequence given", text); } }, ); } Token::MultipleChar(c) => { let c = c.to_ascii_lowercase().to_string(); MOUSE_ACTIONS.get(c.as_str()).map_or_else( || panic!("'{}': Invalid key input sequence given", text), |k| { if kind.is_none() { kind = Some(*k); } else { panic!("'{}': Invalid key input sequence given", text); } }, ); token_iter.next(); } } } MouseEvent { kind: kind.unwrap_or_else(|| panic!("No MouseEventKind found for '{}", text)), modifiers, row: 0, column: 0, } } #[cfg(test)] mod tests { use super::parse_mouse_event; use crossterm::event::{KeyModifiers, MouseButton, MouseEvent, MouseEventKind}; #[test] fn test_without_modifiers() { assert_eq!( parse_mouse_event("left:down"), MouseEvent { kind: MouseEventKind::Down(MouseButton::Left), modifiers: KeyModifiers::NONE, row: 0, column: 0, } ); assert_eq!( parse_mouse_event("mid:up"), MouseEvent { kind: MouseEventKind::Up(MouseButton::Middle), modifiers: KeyModifiers::NONE, row: 0, column: 0, } ); assert_eq!( parse_mouse_event("right:down"), MouseEvent { kind: MouseEventKind::Down(MouseButton::Right), modifiers: KeyModifiers::NONE, row: 0, column: 0, } ); assert_eq!( parse_mouse_event("scroll:up"), MouseEvent { kind: MouseEventKind::ScrollUp, modifiers: KeyModifiers::NONE, row: 0, column: 0, } ); assert_eq!( parse_mouse_event("move"), MouseEvent { kind: MouseEventKind::Moved, modifiers: KeyModifiers::NONE, row: 0, column: 0, } ); } #[test] fn test_with_modifiers() { assert_eq!( parse_mouse_event("m-left:down"), MouseEvent { kind: MouseEventKind::Down(MouseButton::Left), modifiers: KeyModifiers::ALT, row: 0, column: 0, } ); assert_eq!( parse_mouse_event("m-c-mid:up"), MouseEvent { kind: MouseEventKind::Up(MouseButton::Middle), modifiers: KeyModifiers::ALT | KeyModifiers::CONTROL, row: 0, column: 0, } ); assert_eq!( parse_mouse_event("c-scroll:up"), MouseEvent { kind: MouseEventKind::ScrollUp, modifiers: KeyModifiers::CONTROL, row: 0, column: 0, } ); assert_eq!( parse_mouse_event("m-c-s-move"), MouseEvent { kind: MouseEventKind::Moved, modifiers: KeyModifiers::SHIFT | KeyModifiers::ALT | KeyModifiers::CONTROL, row: 0, column: 0, } ); } } minus-5.6.1/src/input/hashed_event_register.rs000064400000000000000000000276421046102023000176400ustar 00000000000000//! Provides the [`HashedEventRegister`] and related items //! //! This module holds the [`HashedEventRegister`] which is a [`HashMap`] that stores events and their associated //! callbacks. When the user does an action on the terminal, the event is scanned and matched against this register. //! If their is a match related to that event, the associated callback is called use super::{InputClassifier, InputEvent}; use crate::PagerState; use crossterm::event::{Event, MouseEvent}; use std::{ collections::hash_map::RandomState, collections::HashMap, hash::BuildHasher, hash::Hash, sync::Arc, }; /// A convenient type for the return type of [`HashedEventRegister::get`] type EventReturnType = Arc InputEvent + Send + Sync>; // ////////////////////////////// // EVENTWRAPPER TYPE // ////////////////////////////// #[derive(Clone, Eq)] enum EventWrapper { ExactMatchEvent(Event), WildEvent, } impl From for EventWrapper { fn from(e: Event) -> Self { Self::ExactMatchEvent(e) } } impl From<&Event> for EventWrapper { fn from(e: &Event) -> Self { Self::ExactMatchEvent(e.clone()) } } impl PartialEq for EventWrapper { fn eq(&self, other: &Self) -> bool { match (self, other) { ( Self::ExactMatchEvent(Event::Mouse(MouseEvent { kind, modifiers, .. })), Self::ExactMatchEvent(Event::Mouse(MouseEvent { kind: o_kind, modifiers: o_modifiers, .. })), ) => kind == o_kind && modifiers == o_modifiers, ( Self::ExactMatchEvent(Event::Resize(..)), Self::ExactMatchEvent(Event::Resize(..)), ) | (Self::WildEvent, Self::WildEvent) => true, (Self::ExactMatchEvent(ev), Self::ExactMatchEvent(o_ev)) => ev == o_ev, _ => false, } } } impl Hash for EventWrapper { fn hash(&self, state: &mut H) { let tag = std::mem::discriminant(self); tag.hash(state); match self { Self::ExactMatchEvent(Event::Mouse(MouseEvent { kind, modifiers, .. })) => { kind.hash(state); modifiers.hash(state); } Self::WildEvent | Self::ExactMatchEvent(Event::Resize(..)) => {} Self::ExactMatchEvent(v) => { v.hash(state); } } } } // ///////////////////////////////////////////////// // HASHED EVENT REGISTER TYPE AND ITS APIs // //////////////////////////////////////////////// /// A hash store for events and it's related callback /// /// Each item is a key value pair, where the key is a event and it's value is a callback. When a /// event occurs, it is matched inside and when the related match is found, it's related callback /// is called. pub struct HashedEventRegister(HashMap); impl HashedEventRegister { /// Create a new [HashedEventRegister] with the default hasher #[must_use] pub fn with_default_hasher() -> Self { Self::new(RandomState::new()) } } impl Default for HashedEventRegister { /// Create a new [HashedEventRegister] with the default hasher and insert the default bindings fn default() -> Self { let mut event_register = Self::new(RandomState::new()); super::generate_default_bindings(&mut event_register); event_register } } impl InputClassifier for HashedEventRegister where S: BuildHasher, { fn classify_input(&self, ev: Event, ps: &crate::PagerState) -> Option { self.get(&ev).map(|c| c(ev, ps)) } } // #################### // GENERAL FUNCTIONS // #################### impl HashedEventRegister where S: BuildHasher, { /// Create a new HashedEventRegister with the Hasher `s` pub fn new(s: S) -> Self { Self(HashMap::with_hasher(s)) } /// Adds a callback to handle all events that failed to match /// /// Sometimes there are bunch of keys having equal importance that should have the same /// callback, for instance all the numbers on the keyboard. To handle these types of scenerios /// this is extremely useful. This callback is called when no event matches the incoming event, /// then we just match whether the event is a keyboard number and perform the required action. /// /// This is also helpful when you need to do some action, like sending a message when the user /// presses wrong keyboard/mouse buttons. pub fn insert_wild_event_matcher( &mut self, cb: impl Fn(Event, &PagerState) -> InputEvent + Send + Sync + 'static, ) { self.0.insert(EventWrapper::WildEvent, Arc::new(cb)); } fn get(&self, k: &Event) -> Option<&EventReturnType> { self.0 .get(&k.into()) .map_or_else(|| self.0.get(&EventWrapper::WildEvent), |k| Some(k)) } /// Adds a callback for handling resize events /// /// # Example /// These are from the original sources /// ``` /// use minus::input::{InputEvent, HashedEventRegister, crossterm_event::Event}; /// /// let mut input_register = HashedEventRegister::default(); /// /// input_register.add_resize_event(|ev, _| { /// let (cols, rows) = if let Event::Resize(cols, rows) = ev { /// (cols, rows) /// } else { /// unreachable!(); /// }; /// InputEvent::UpdateTermArea(cols as usize, rows as usize) /// }); /// ``` pub fn add_resize_event( &mut self, cb: impl Fn(Event, &PagerState) -> InputEvent + Send + Sync + 'static, ) { let v = Arc::new(cb); // The 0, 0 are present just to ensure everything compiles and they can be anything. // These values are never hashed or stored into the HashedEventRegister self.0 .insert(EventWrapper::ExactMatchEvent(Event::Resize(0, 0)), v); } /// Removes the currently active resize event callback pub fn remove_resize_event(&mut self) { self.0 .remove(&EventWrapper::ExactMatchEvent(Event::Resize(0, 0))); } } // ############################### // KEYBOARD SPECIFIC FUNCTIONS // ############################### impl HashedEventRegister where S: BuildHasher, { /// Add all elemnts of `desc` as key bindings that minus should respond to with the callback `cb` /// /// You should prefer using the [add_key_events_checked](HashedEventRegister::add_key_events_checked) /// over this one. /// /// # Example /// ``` /// use minus::input::{InputEvent, HashedEventRegister, crossterm_event}; /// /// let mut input_register = HashedEventRegister::default(); /// /// input_register.add_key_events(&["down"], |_, ps| { /// InputEvent::UpdateUpperMark(ps.upper_mark.saturating_sub(1)) /// }); /// ``` pub fn add_key_events( &mut self, desc: &[&str], cb: impl Fn(Event, &PagerState) -> InputEvent + Send + Sync + 'static, ) { let v = Arc::new(cb); for k in desc { self.0.insert( Event::Key(super::definitions::keydefs::parse_key_event(k)).into(), v.clone(), ); } } /// Add all elemnts of `desc` as key bindings that minus should respond to with the callback `cb` /// /// This will panic if you the keybinding has been previously defined, unless the `remap` /// is set to true. This helps preventing accidental overrides of your keybindings. /// /// Prefer using this over [add_key_events](HashedEventRegister::add_key_events). /// /// # Example /// ```should_panic /// use minus::input::{InputEvent, HashedEventRegister, crossterm_event}; /// /// let mut input_register = HashedEventRegister::default(); /// /// input_register.add_key_events_checked(&["down"], |_, ps| { /// InputEvent::UpdateUpperMark(ps.upper_mark.saturating_sub(1)) /// }, false); /// ``` pub fn add_key_events_checked( &mut self, desc: &[&str], cb: impl Fn(Event, &PagerState) -> InputEvent + Send + Sync + 'static, remap: bool, ) { let v = Arc::new(cb); for k in desc { let def: EventWrapper = Event::Key(super::definitions::keydefs::parse_key_event(k)).into(); assert!(self.0.contains_key(&def) && remap, ""); self.0.insert(def, v.clone()); } } /// Removes the callback associated with the all the elements of `desc`. /// /// ``` /// use minus::input::{InputEvent, HashedEventRegister, crossterm_event}; /// /// let mut input_register = HashedEventRegister::default(); /// /// input_register.remove_key_events(&["down"]) /// ``` pub fn remove_key_events(&mut self, desc: &[&str]) { for k in desc { self.0 .remove(&Event::Key(super::definitions::keydefs::parse_key_event(k)).into()); } } } // ############################### // MOUSE SPECIFIC FUNCTIONS // ############################### impl HashedEventRegister where S: BuildHasher, { /// Add all elemnts of `desc` as mouse bindings that minus should respond to with the callback `cb` /// /// You should prefer using the [add_mouse_events_checked](HashedEventRegister::add_mouse_events_checked) /// over this one. /// /// # Example /// ``` /// use minus::input::{InputEvent, HashedEventRegister}; /// /// let mut input_register = HashedEventRegister::default(); /// /// input_register.add_mouse_events(&["scroll:down"], |_, ps| { /// InputEvent::UpdateUpperMark(ps.upper_mark.saturating_sub(5)) /// }); /// ``` pub fn add_mouse_events( &mut self, desc: &[&str], cb: impl Fn(Event, &PagerState) -> InputEvent + Send + Sync + 'static, ) { let v = Arc::new(cb); for k in desc { self.0.insert( Event::Mouse(super::definitions::mousedefs::parse_mouse_event(k)).into(), v.clone(), ); } } /// Add all elemnts of `desc` as mouse bindings that minus should respond to with the callback `cb` /// /// This will panic if you the keybinding has been previously defined, unless the `remap` /// is set to true. This helps preventing accidental overrides of your keybindings. /// /// Prefer using this over [add_mouse_events](HashedEventRegister::add_mouse_events). /// # Example /// ```should_panic /// use minus::input::{InputEvent, HashedEventRegister}; /// /// let mut input_register = HashedEventRegister::default(); /// /// input_register.add_mouse_events_checked(&["scroll:down"], |_, ps| { /// InputEvent::UpdateUpperMark(ps.upper_mark.saturating_sub(5)) /// }, false); /// ``` pub fn add_mouse_events_checked( &mut self, desc: &[&str], cb: impl Fn(Event, &PagerState) -> InputEvent + Send + Sync + 'static, remap: bool, ) { let v = Arc::new(cb); for k in desc { let def: EventWrapper = Event::Mouse(super::definitions::mousedefs::parse_mouse_event(k)).into(); assert!(self.0.contains_key(&def) && remap, ""); self.0.insert(def, v.clone()); } } /// Removes the callback associated with the all the elements of `desc`. /// /// ``` /// use minus::input::{InputEvent, HashedEventRegister, crossterm_event}; /// /// let mut input_register = HashedEventRegister::default(); /// /// input_register.remove_mouse_events(&["scroll:down"]) /// ``` pub fn remove_mouse_events(&mut self, mouse: &[&str]) { for k in mouse { self.0 .remove(&Event::Mouse(super::definitions::mousedefs::parse_mouse_event(k)).into()); } } } minus-5.6.1/src/input/mod.rs000064400000000000000000000616601046102023000140540ustar 00000000000000//! Manage keyboard/mouse-bindings while running `minus`. //! //! > **Terminology in this module**: We will call any keyboard/mouse event from the terminal as a **binding** //! and its associated predefined action as **callback**. //! //! There are two ways to define binding in minus as you will see below. //! //! # Newer (Recommended) Method //! ## Description //! This method offers a much improved and ergonomic API for defining bindings and callbacks. //! You use the [HashedEventRegister] for registering bindings and their associated callback. //! It provides functions like [add_key_events](HashedEventRegister::add_key_events) and //! [add_mouse_events](HashedEventRegister::add_mouse_events) which take `&[&str]` as its first //! argument and a callback `cb` as its second argument and maps all `&str` in the `&[&str]` to //! same callback function `cb`. Each `&str` of the `&[&str]` contains a description of the //! key/mouse binding needed to activate it. For example `c-c` means pressing a `Ctrl+c` on the //! keyboard. See [Writing Binding Descriptions](#writing-binding-descriptions) to know more on //! writing these descriptions. // //! ## Example //! ``` //! use minus::input::{InputEvent, HashedEventRegister, crossterm_event::Event}; //! //! let mut input_register = HashedEventRegister::default(); //! //! input_register.add_key_events(&["down"], |_, ps| { //! InputEvent::UpdateUpperMark(ps.upper_mark.saturating_sub(1)) //! }); //! //! input_register.add_mouse_events(&["scroll:up"], |_, ps| { //! InputEvent::UpdateUpperMark(ps.upper_mark.saturating_sub(5)) //! }); //! //! input_register.add_resize_event(|ev, _| { //! let (cols, rows) = if let Event::Resize(cols, rows) = ev { //! (cols, rows) //! } else { //! unreachable!(); //! }; //! InputEvent::UpdateTermArea(cols as usize, rows as usize) //! }); //! ``` //! //! ## Writing Binding Descriptions //! ### Defining Keybindings //! The general syntax for defining keybindings is `[MODIFIER]-[MODIFIER]-[MODIFIER]-{SINGLE KEY}` //! //! `MODIFIER`s include or or more of the `Ctrl` `Alt` and `Shift` keys. They are writeen with //! the shorthands `c`, `m` and `s` respectively. //! //! `SINGLE CHAR` includes any key on the keyboard which is not a modifier like `a`, `z`, `1`, `F1` //! or `enter`. Each of these pieces are separated by a `-`. //! //! Here are some examples //! //! | Key Input | Mean ing | //! |--------------|--------------------------------------------| //! | `a` | A literal `a` | //! | `Z` | A `Z`. Matched only when a caps lock is on | //! | `c-q` | `Ctrl+q` | //! | `enter` | `ENTER` key | //! | `c-m-pageup` | `Ctrl+Alt+PageUp` | //! | `s-2` | `Shift+2` | //! | `backspace` | `Backspace` Key | //! | `left` | `Left Arrow` key | //! //! ### Defining Mouse Bindings //! //! The general syntax for defining keybindings is `[MODIFIER]-[MODIFIER]-[MODIFIER]-{MOUSE ACTION}` //! //! `MODIFIER`s include or or more of the `Ctrl` `Alt` and `Shift` keys which are pressed along //! with the mouse action. They are writeen with the shorthands `c`, `m` and `s` respectively. //! //! `MOUSE ACTION` includes actions like pressing down the left mouse button or taking up the right //! mouse button. It also includes scrolling up/down or pressing the middle click. //! //! Here are some examples //! //! | Key Input | Mean ing | //! |---------------|--------------------------------------------| //! | `left:up` | Releasing the left mouse button | //! | `right:down` | Pressing the right mouse button | //! | `c-mid:down` | Middle click in pressed along with Ctrl key| //! | `m-scroll:up` | Scrolled down while pressing the Alt key | //! //! **NOTE:** Although minus's description parser can correctly parse almost all if not all the //! events that you can possibly register, not all of them are correctly registered by crossterm //! itself. For example minus corrctly parses `c-s-h` as `ctrl+shift-h` but crossterm //! categorically recognizes it as `ctrl+h` when reading events from the terminal. //! //! # Legacy method //! This method relies heavily on the [`InputClassifier`] trait and end-applications were needed to //! manually copy the [default definitions](DefaultInputClassifier) and make the required //! modifications yourself in this method. This lead to very messy and error-prone system for //! defining bindings and also required application authors to bring in the the underlying //! [crossterm](https://docs.rs/crossterm/latest) crate to define the events. //! //! ## Example //! ``` //! use minus::{input::{InputEvent, InputClassifier}, Pager, PagerState}; //! use crossterm::event::{Event, KeyEvent, KeyCode, KeyModifiers}; //! //! struct CustomInputClassifier; //! impl InputClassifier for CustomInputClassifier { //! fn classify_input( //! &self, //! ev: Event, //! ps: &PagerState //! ) -> Option { //! match ev { //! Event::Key(KeyEvent { //! code: KeyCode::Up, //! modifiers: KeyModifiers::NONE, //! .. //! }) //! | Event::Key(KeyEvent { //! code: KeyCode::Char('j'), //! modifiers: KeyModifiers::NONE, //! .. //! }) => Some(InputEvent::UpdateUpperMark //! (ps.upper_mark.saturating_sub(1))), //! _ => None //! } //! } //! } //! //! let mut pager = Pager::new(); //! pager.set_input_classifier( //! Box::new(CustomInputClassifier) //! ); //! ``` //! //! **NOTE:** Although you can define almost every combination of bindings that crossterm supports, //! not all of them are correctly registered by crossterm itself. For example you can define //! ```text //! Event::Key(KeyEvent { //! code: KeyCode::Char(`h`), //! modifiers: KeyModifiers::CONTROL | KeyModifiers::SHIFT, //! .. //! }) //! ``` //! but crossterm will not match to it as crossterm //! recognizes a `ctrl+shift+h` as `ctrl+h` when reading events from the terminal. //! //! # Custom Actions on User Events //! //! Sometimes you want to execute arbitrary code when a key/mouse action is pressed like fetching //! more data from a server but not necessarily sending it to minus. In these types of scenarios, //! the [InputEvent::Ignore] is most likely your true friend. When this is returned by a callback //! function, minus will execute your code but not do anything special for the event on its part. //! ```no_test //! input_register.add_key_events(&["f"], |_, ps| { //! fetch_data_from_server(...); //! InputEvent::Ignore //! }); //! ``` //! It can be used with the legacy method too. //! ```no_test //! struct CustomInputClassifier; //! impl InputClassifier for CustomInputClassifier { //! fn classify_input( //! &self, //! ev: Event, //! ps: &PagerState //! ) -> Option { //! match ev { //! Event::Key(KeyEvent { //! code: KeyCode::Char('f'), //! modifiers: KeyModifiers::NONE, //! .. //! }) => { //! fetch_data_from_server(...); //! InputEvent::Ignore //! }, //! _ => None //! } //! } //! } //! ``` pub(crate) mod definitions; pub(crate) mod hashed_event_register; pub use crossterm::event as crossterm_event; #[cfg(feature = "search")] use crate::search::SearchMode; use crate::{LineNumbers, PagerState}; use crossterm::event::{Event, KeyCode, KeyEvent, KeyModifiers, MouseEvent, MouseEventKind}; pub use hashed_event_register::HashedEventRegister; /// Events handled by the `minus` pager. #[derive(Debug, Copy, Clone, PartialEq, Eq)] #[allow(clippy::module_name_repetitions)] #[non_exhaustive] pub enum InputEvent { /// `Ctrl+C` or `Q`, exits the application. Exit, /// The terminal was resized. Contains the new number of rows. UpdateTermArea(usize, usize), /// Sent by movement keys like `Up` `Down`, `PageUp`, 'PageDown', 'g', `G` etc. /// Contains the new value for the upper mark. UpdateUpperMark(usize), /// `Ctrl+L`, inverts the line number display. Contains the new value. UpdateLineNumber(LineNumbers), /// A number key has been pressed. This inner value is stored as a `char`. /// The input loop will append this number to its `count` string variable Number(char), /// Restore the original prompt RestorePrompt, /// Whether to allow Horizontal scrolling HorizontalScroll(bool), /// Sets the left mark of Horizontal scrolling /// /// Sent by keys like `l`, `h`, `right`, `left` etc. UpdateLeftMark(usize), /// Tells the event hadler to not do anything for this event /// /// This is extremely useful when you want to execute arbitrary code on events without /// necessarily asking the event handler to do anything special for this event. See [Custom /// Actions on User Events](./index.html#custom-actions-on-user-events). Ignore, /// `/`, Searching for certain pattern of text #[cfg(feature = "search")] Search(SearchMode), /// Get to the next match in forward mode /// /// **WARNING: This has been deprecated in favour of `MoveToNextMatch`. This will likely be /// removed in the next major release.** #[cfg(feature = "search")] NextMatch, /// Get to the previous match in forward mode /// /// **WARNING: This has been deprecated in favour of `MoveToPrevMatch`. This will likely be /// removed in the next major release.** #[cfg(feature = "search")] PrevMatch, /// Move to the next nth match in the given direction #[cfg(feature = "search")] MoveToNextMatch(usize), /// Move to the previous nth match in the given direction #[cfg(feature = "search")] MoveToPrevMatch(usize), /// Control follow mode. /// /// When set to true, minus ensures that the user's screen always follows the end part of the /// output. By default it is turned off. /// /// This is similar to [Pager::follow_output](crate::pager::Pager::follow_output) except that /// this is used to control it from the user's side. FollowOutput(bool), } /// Classifies the input and returns the appropriate [`InputEvent`] /// /// If you are using the newer method for input definition, you don't need to take care of this. /// /// If you are using the legacy method, see the sources of [`DefaultInputClassifier`] on how to /// inplement this trait. #[allow(clippy::module_name_repetitions)] pub trait InputClassifier { fn classify_input(&self, ev: Event, ps: &PagerState) -> Option; } /// Insert the default set of actions into the [`HashedEventRegister`] #[allow(clippy::too_many_lines)] pub fn generate_default_bindings(map: &mut HashedEventRegister) where S: std::hash::BuildHasher, { map.add_key_events(&["q", "c-c"], |_, _| InputEvent::Exit); map.add_key_events(&["up", "k"], |_, ps| { let position = ps.prefix_num.parse::().unwrap_or(1); InputEvent::UpdateUpperMark(ps.upper_mark.saturating_sub(position)) }); map.add_key_events(&["down", "j"], |_, ps| { let position = ps.prefix_num.parse::().unwrap_or(1); InputEvent::UpdateUpperMark(ps.upper_mark.saturating_add(position)) }); map.add_key_events(&["c-f"], |_, ps| { InputEvent::FollowOutput(!ps.follow_output) }); map.add_key_events(&["enter"], |_, ps| { if ps.message.is_some() { InputEvent::RestorePrompt } else { let position = ps.prefix_num.parse::().unwrap_or(1); InputEvent::UpdateUpperMark(ps.upper_mark.saturating_add(position)) } }); map.add_key_events(&["u", "c-u"], |_, ps| { let half_screen = ps.rows / 2; InputEvent::UpdateUpperMark(ps.upper_mark.saturating_sub(half_screen)) }); map.add_key_events(&["d", "c-d"], |_, ps| { let half_screen = ps.rows / 2; InputEvent::UpdateUpperMark(ps.upper_mark.saturating_add(half_screen)) }); map.add_key_events(&["g"], |_, _| InputEvent::UpdateUpperMark(0)); map.add_key_events(&["s-g", "G"], |_, ps| { let mut position = ps .prefix_num .parse::() .unwrap_or(usize::MAX) // Reduce 1 here, because line numbering starts from 1 // while upper_mark starts from 0 .saturating_sub(1); if position == 0 { position = usize::MAX; } // Get the exact row number where first row of this line is placed in // [`PagerState::formatted_lines`] and jump to that location.If the line number does not // exist, directly jump to the bottom of text. let row_to_go = *ps .lines_to_row_map .get(position) .unwrap_or(&(usize::MAX - 1)); InputEvent::UpdateUpperMark(row_to_go) }); map.add_key_events(&["pageup"], |_, ps| { InputEvent::UpdateUpperMark(ps.upper_mark.saturating_sub(ps.rows - 1)) }); map.add_key_events(&["pagedown", "space"], |_, ps| { InputEvent::UpdateUpperMark(ps.upper_mark.saturating_add(ps.rows - 1)) }); map.add_key_events(&["c-l"], |_, ps| { InputEvent::UpdateLineNumber(!ps.line_numbers) }); #[cfg(feature = "search")] { map.add_key_events(&["/"], |_, _| InputEvent::Search(SearchMode::Forward)); map.add_key_events(&["?"], |_, _| InputEvent::Search(SearchMode::Reverse)); map.add_key_events(&["n"], |_, ps| { let position = ps.prefix_num.parse::().unwrap_or(1); if ps.search_state.search_mode == SearchMode::Forward { InputEvent::MoveToNextMatch(position) } else if ps.search_state.search_mode == SearchMode::Reverse { InputEvent::MoveToPrevMatch(position) } else { InputEvent::Ignore } }); map.add_key_events(&["p"], |_, ps| { let position = ps.prefix_num.parse::().unwrap_or(1); if ps.search_state.search_mode == SearchMode::Forward { InputEvent::MoveToPrevMatch(position) } else if ps.search_state.search_mode == SearchMode::Reverse { InputEvent::MoveToNextMatch(position) } else { InputEvent::Ignore } }); } map.add_mouse_events(&["scroll:up"], |_, ps| { InputEvent::UpdateUpperMark(ps.upper_mark.saturating_sub(5)) }); map.add_mouse_events(&["scroll:down"], |_, ps| { InputEvent::UpdateUpperMark(ps.upper_mark.saturating_add(5)) }); map.add_key_events(&["c-s-h", "c-h"], |_, ps| { InputEvent::HorizontalScroll(!ps.screen.line_wrapping) }); map.add_key_events(&["h", "left"], |_, ps| { let position = ps.prefix_num.parse::().unwrap_or(1); InputEvent::UpdateLeftMark(ps.left_mark.saturating_sub(position)) }); map.add_key_events(&["l", "right"], |_, ps| { let position = ps.prefix_num.parse::().unwrap_or(1); InputEvent::UpdateLeftMark(ps.left_mark.saturating_add(position)) }); // TODO: Add keybindings for left right scrolling map.add_resize_event(|ev, _| { let Event::Resize(cols, rows) = ev else { unreachable!(); }; InputEvent::UpdateTermArea(cols as usize, rows as usize) }); map.insert_wild_event_matcher(|ev, _| { if let Event::Key(KeyEvent { code: KeyCode::Char(c), modifiers: KeyModifiers::NONE, .. }) = ev { if c.is_ascii_digit() { InputEvent::Number(c) } else { InputEvent::Ignore } } else { InputEvent::Ignore } }); } /// The default set of input definitions /// /// **This is kept only for legacy purposes and may not be well updated with all the latest changes** pub struct DefaultInputClassifier; impl InputClassifier for DefaultInputClassifier { #[allow(clippy::too_many_lines)] fn classify_input(&self, ev: Event, ps: &PagerState) -> Option { #[allow(clippy::unnested_or_patterns)] match ev { // Scroll up by one. Event::Key(KeyEvent { code, modifiers: KeyModifiers::NONE, .. }) if code == KeyCode::Up || code == KeyCode::Char('k') => { let position = ps.prefix_num.parse::().unwrap_or(1); Some(InputEvent::UpdateUpperMark( ps.upper_mark.saturating_sub(position), )) } // Scroll down by one. Event::Key(KeyEvent { code, modifiers: KeyModifiers::NONE, .. }) if code == KeyCode::Down || code == KeyCode::Char('j') => { let position = ps.prefix_num.parse::().unwrap_or(1); Some(InputEvent::UpdateUpperMark( ps.upper_mark.saturating_add(position), )) } // Toggle output following Event::Key(KeyEvent { code, modifiers: KeyModifiers::CONTROL, .. }) if code == KeyCode::Char('f') => Some(InputEvent::FollowOutput(!ps.follow_output)), // For number keys Event::Key(KeyEvent { code: KeyCode::Char(c), modifiers: KeyModifiers::NONE, .. }) if c.is_ascii_digit() => Some(InputEvent::Number(c)), // Enter key Event::Key(KeyEvent { code: KeyCode::Enter, modifiers: KeyModifiers::NONE, .. }) => { if ps.message.is_some() { Some(InputEvent::RestorePrompt) } else { let position = ps.prefix_num.parse::().unwrap_or(1); Some(InputEvent::UpdateUpperMark( ps.upper_mark.saturating_add(position), )) } } // Scroll up by half screen height. Event::Key(KeyEvent { code: KeyCode::Char('u'), modifiers, .. }) if modifiers == KeyModifiers::CONTROL || modifiers == KeyModifiers::NONE => { let half_screen = ps.rows / 2; Some(InputEvent::UpdateUpperMark( ps.upper_mark.saturating_sub(half_screen), )) } // Scroll down by half screen height. Event::Key(KeyEvent { code: KeyCode::Char('d'), modifiers, .. }) if modifiers == KeyModifiers::CONTROL || modifiers == KeyModifiers::NONE => { let half_screen = ps.rows / 2; Some(InputEvent::UpdateUpperMark( ps.upper_mark.saturating_add(half_screen), )) } // Mouse scroll up/down Event::Mouse(MouseEvent { kind: MouseEventKind::ScrollUp, .. }) => Some(InputEvent::UpdateUpperMark(ps.upper_mark.saturating_sub(5))), Event::Mouse(MouseEvent { kind: MouseEventKind::ScrollDown, .. }) => Some(InputEvent::UpdateUpperMark(ps.upper_mark.saturating_add(5))), // Go to top. Event::Key(KeyEvent { code: KeyCode::Char('g'), modifiers: KeyModifiers::NONE, .. }) => Some(InputEvent::UpdateUpperMark(0)), // Go to bottom. Event::Key(KeyEvent { code: KeyCode::Char('g'), modifiers: KeyModifiers::SHIFT, .. }) | Event::Key(KeyEvent { code: KeyCode::Char('G'), modifiers: KeyModifiers::SHIFT, .. }) | Event::Key(KeyEvent { code: KeyCode::Char('G'), modifiers: KeyModifiers::NONE, .. }) => { let mut position = ps .prefix_num .parse::() .unwrap_or(usize::MAX) // Reduce 1 here, because line numbering starts from 1 // while upper_mark starts from 0 .saturating_sub(1); if position == 0 { position = usize::MAX; } Some(InputEvent::UpdateUpperMark(position)) } // Page Up/Down Event::Key(KeyEvent { code: KeyCode::PageUp, modifiers: KeyModifiers::NONE, .. }) => Some(InputEvent::UpdateUpperMark( ps.upper_mark.saturating_sub(ps.rows - 1), )), Event::Key(KeyEvent { code: c, modifiers: KeyModifiers::NONE, .. }) if c == KeyCode::PageDown || c == KeyCode::Char(' ') => Some( InputEvent::UpdateUpperMark(ps.upper_mark.saturating_add(ps.rows - 1)), ), // Resize event from the terminal. Event::Resize(cols, rows) => { Some(InputEvent::UpdateTermArea(cols as usize, rows as usize)) } // Switch line number display. Event::Key(KeyEvent { code: KeyCode::Char('l'), modifiers: KeyModifiers::CONTROL, .. }) => Some(InputEvent::UpdateLineNumber(!ps.line_numbers)), // Quit. Event::Key(KeyEvent { code: KeyCode::Char('q'), modifiers: KeyModifiers::NONE, .. }) | Event::Key(KeyEvent { code: KeyCode::Char('c'), modifiers: KeyModifiers::CONTROL, .. }) => Some(InputEvent::Exit), // Horizontal scrolling Event::Key(KeyEvent { code: KeyCode::Char('h'), modifiers, .. }) if modifiers == KeyModifiers::CONTROL.intersection(KeyModifiers::SHIFT) => { Some(InputEvent::HorizontalScroll(!ps.screen.line_wrapping)) } Event::Key(KeyEvent { code: KeyCode::Char('h'), modifiers: KeyModifiers::NONE, .. }) | Event::Key(KeyEvent { code: KeyCode::Left, modifiers: KeyModifiers::NONE, .. }) => Some(InputEvent::UpdateLeftMark(ps.left_mark.saturating_sub(1))), Event::Key(KeyEvent { code: KeyCode::Char('l'), modifiers: KeyModifiers::NONE, .. }) | Event::Key(KeyEvent { code: KeyCode::Right, modifiers: KeyModifiers::NONE, .. }) => Some(InputEvent::UpdateLeftMark(ps.left_mark.saturating_add(1))), // Search #[cfg(feature = "search")] Event::Key(KeyEvent { code: KeyCode::Char('/'), modifiers: KeyModifiers::NONE, .. }) => Some(InputEvent::Search(SearchMode::Forward)), #[cfg(feature = "search")] Event::Key(KeyEvent { code: KeyCode::Char('?'), modifiers: KeyModifiers::NONE, .. }) => Some(InputEvent::Search(SearchMode::Reverse)), #[cfg(feature = "search")] Event::Key(KeyEvent { code: KeyCode::Char('n'), modifiers: KeyModifiers::NONE, .. }) => { let position = ps.prefix_num.parse::().unwrap_or(1); if ps.search_state.search_mode == SearchMode::Reverse { Some(InputEvent::MoveToPrevMatch(position)) } else { Some(InputEvent::MoveToNextMatch(position)) } } #[cfg(feature = "search")] Event::Key(KeyEvent { code: KeyCode::Char('p'), modifiers: KeyModifiers::NONE, .. }) => { let position = ps.prefix_num.parse::().unwrap_or(1); if ps.search_state.search_mode == SearchMode::Reverse { Some(InputEvent::MoveToNextMatch(position)) } else { Some(InputEvent::MoveToPrevMatch(position)) } } _ => None, } } } #[cfg(test)] mod tests; minus-5.6.1/src/input/tests.rs000064400000000000000000000316061046102023000144340ustar 00000000000000#[cfg(feature = "search")] use crate::SearchMode; use crate::{input::InputEvent, LineNumbers, PagerState}; use crossterm::event::{ Event, KeyCode, KeyEvent, KeyEventState, KeyModifiers, MouseEvent, MouseEventKind, }; // Just a transparent function to fix incompatibility issues between // versions // TODO: Remove this later in favour of how handle_event should actually be called fn handle_input(ev: Event, p: &PagerState) -> Option { p.input_classifier.classify_input(ev, p) } // Keyboard navigation #[test] #[allow(clippy::too_many_lines)] fn test_kb_nav() { let mut pager = PagerState::new().unwrap(); pager.upper_mark = 12; pager.line_numbers = LineNumbers::Enabled; pager.rows = 5; { let ev = Event::Key(KeyEvent { code: KeyCode::Down, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!( Some(InputEvent::UpdateUpperMark(pager.upper_mark + 1)), handle_input(ev, &pager) ); } { let ev = Event::Key(KeyEvent { code: KeyCode::Up, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!( Some(InputEvent::UpdateUpperMark(pager.upper_mark - 1)), handle_input(ev, &pager) ); } { let ev = Event::Key(KeyEvent { code: KeyCode::Char('g'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!( Some(InputEvent::UpdateUpperMark(0)), handle_input(ev, &pager) ); } { let ev = Event::Key(KeyEvent { code: KeyCode::PageUp, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!( // rows is 5, therefore upper_mark = upper_mark - rows -1 Some(InputEvent::UpdateUpperMark(8)), handle_input(ev, &pager) ); } { let ev = Event::Key(KeyEvent { code: KeyCode::Char('g'), modifiers: KeyModifiers::SHIFT, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!( Some(InputEvent::UpdateUpperMark(usize::MAX - 1)), handle_input(ev, &pager) ); } { let ev = Event::Key(KeyEvent { code: KeyCode::Char('G'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!( Some(InputEvent::UpdateUpperMark(usize::MAX - 1)), handle_input(ev, &pager) ); } { let ev = Event::Key(KeyEvent { code: KeyCode::Char('G'), modifiers: KeyModifiers::SHIFT, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!( Some(InputEvent::UpdateUpperMark(usize::MAX - 1)), handle_input(ev, &pager) ); } { let ev = Event::Key(KeyEvent { code: KeyCode::PageDown, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!( // rows is 5, therefore upper_mark = upper_mark - rows -1 Some(InputEvent::UpdateUpperMark(16)), handle_input(ev, &pager) ); } { // Half page down let ev = Event::Key(KeyEvent { code: KeyCode::Char('d'), modifiers: KeyModifiers::CONTROL, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); // Rows is 5 and upper_mark is at 12 so result should be 14 assert_eq!( Some(InputEvent::UpdateUpperMark(14)), handle_input(ev, &pager) ); } { // Half page up let ev = Event::Key(KeyEvent { code: KeyCode::Char('u'), modifiers: KeyModifiers::CONTROL, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); // Rows is 5 and upper_mark is at 12 so result should be 10 assert_eq!( Some(InputEvent::UpdateUpperMark(10)), handle_input(ev, &pager) ); } { // Space for page down let ev = Event::Key(KeyEvent { code: KeyCode::Char(' '), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); // rows is 5, therefore upper_mark = upper_mark - rows -1 assert_eq!( Some(InputEvent::UpdateUpperMark(16)), handle_input(ev, &pager) ); } { // Enter key for one line down when no message on prompt let ev = Event::Key(KeyEvent { code: KeyCode::Enter, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); // therefore upper_mark += 1 assert_eq!( Some(InputEvent::UpdateUpperMark(13)), handle_input(ev, &pager) ); } } #[test] fn test_restore_prompt() { let mut pager = PagerState::new().unwrap(); pager.message = Some("Prompt message".to_string()); { // Enter key for one line down when no message on prompt let ev = Event::Key(KeyEvent { code: KeyCode::Enter, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); // therefore upper_mark += 1 assert_eq!( Some(InputEvent::RestorePrompt), pager.input_classifier.classify_input(ev, &pager) ); } } #[test] fn test_mouse_nav() { let mut pager = PagerState::new().unwrap(); pager.upper_mark = 12; pager.line_numbers = LineNumbers::Enabled; pager.rows = 5; { let ev = Event::Mouse(MouseEvent { kind: MouseEventKind::ScrollDown, row: 0, column: 0, modifiers: KeyModifiers::NONE, }); assert_eq!( Some(InputEvent::UpdateUpperMark(pager.upper_mark + 5)), handle_input(ev, &pager) ); } { let ev = Event::Mouse(MouseEvent { kind: MouseEventKind::ScrollUp, row: 0, column: 0, modifiers: KeyModifiers::NONE, }); assert_eq!( Some(InputEvent::UpdateUpperMark(pager.upper_mark - 5)), handle_input(ev, &pager) ); } } #[test] fn test_saturation() { let mut pager = PagerState::new().unwrap(); pager.upper_mark = 12; pager.line_numbers = LineNumbers::Enabled; pager.rows = 5; { let ev = Event::Key(KeyEvent { code: KeyCode::Down, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); // PagerState for local use let mut pager = PagerState::new().unwrap(); pager.upper_mark = usize::MAX; pager.line_numbers = LineNumbers::Enabled; pager.rows = 5; assert_eq!( Some(InputEvent::UpdateUpperMark(usize::MAX)), handle_input(ev, &pager) ); } { let ev = Event::Key(KeyEvent { code: KeyCode::Up, modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); // PagerState for local use let mut pager = PagerState::new().unwrap(); pager.upper_mark = usize::MIN; pager.line_numbers = LineNumbers::Enabled; pager.rows = 5; assert_eq!( Some(InputEvent::UpdateUpperMark(usize::MIN)), handle_input(ev, &pager) ); } } #[test] fn test_misc_events() { let mut pager = PagerState::new().unwrap(); pager.upper_mark = 12; pager.line_numbers = LineNumbers::Enabled; pager.rows = 5; { let ev = Event::Resize(42, 35); assert_eq!( Some(InputEvent::UpdateTermArea(42, 35)), handle_input(ev, &pager) ); } { let ev = Event::Key(KeyEvent { code: KeyCode::Char('l'), modifiers: KeyModifiers::CONTROL, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!( Some(InputEvent::UpdateLineNumber(!pager.line_numbers)), handle_input(ev, &pager) ); } { let ev = Event::Key(KeyEvent { code: KeyCode::Char('q'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!(Some(InputEvent::Exit), handle_input(ev, &pager)); } { let ev = Event::Key(KeyEvent { code: KeyCode::Char('c'), modifiers: KeyModifiers::CONTROL, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!(Some(InputEvent::Exit), handle_input(ev, &pager)); } { let ev = Event::Key(KeyEvent { code: KeyCode::Char('a'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!(Some(InputEvent::Ignore), handle_input(ev, &pager)); } { let ev = Event::Key(KeyEvent { code: KeyCode::Char('5'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!(Some(InputEvent::Number('5')), handle_input(ev, &pager)); } } #[test] #[allow(clippy::too_many_lines)] #[cfg(feature = "search")] fn test_search_bindings() { let mut pager = PagerState::new().unwrap(); pager.upper_mark = 12; pager.line_numbers = LineNumbers::Enabled; pager.rows = 5; { let ev = Event::Key(KeyEvent { code: KeyCode::Char('/'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!( Some(InputEvent::Search(SearchMode::Forward)), handle_input(ev, &pager) ); } { let ev = Event::Key(KeyEvent { code: KeyCode::Char('?'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!( Some(InputEvent::Search(SearchMode::Reverse)), handle_input(ev, &pager) ); } { pager.search_state.search_mode = SearchMode::Forward; // NextMatch and PrevMatch forward search let next_event = Event::Key(KeyEvent { code: KeyCode::Char('n'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); let prev_event = Event::Key(KeyEvent { code: KeyCode::Char('p'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!( pager.input_classifier.classify_input(next_event, &pager), Some(InputEvent::MoveToNextMatch(1)) ); assert_eq!( pager.input_classifier.classify_input(prev_event, &pager), Some(InputEvent::MoveToPrevMatch(1)) ); } { pager.search_state.search_mode = SearchMode::Reverse; // NextMatch and PrevMatch reverse search let next_event = Event::Key(KeyEvent { code: KeyCode::Char('n'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); let prev_event = Event::Key(KeyEvent { code: KeyCode::Char('p'), modifiers: KeyModifiers::NONE, kind: crossterm::event::KeyEventKind::Press, state: KeyEventState::NONE, }); assert_eq!( pager.input_classifier.classify_input(next_event, &pager), Some(InputEvent::MoveToPrevMatch(1)) ); assert_eq!( pager.input_classifier.classify_input(prev_event, &pager), Some(InputEvent::MoveToNextMatch(1)) ); } } minus-5.6.1/src/lib.rs000064400000000000000000000264011046102023000126760ustar 00000000000000#![cfg_attr(docsrs, feature(doc_cfg))] // When no feature is active this crate is unusable but contains lots of // unused imports and dead code. To avoid useless warnings about this they // are allowed when no feature is active. #![cfg_attr( not(any(feature = "dynamic_output", feature = "static_output")), allow(unused_imports), allow(dead_code) )] #![deny(clippy::all)] #![warn(clippy::pedantic)] #![warn(clippy::nursery)] #![allow(clippy::doc_markdown)] #![cfg_attr(doctest, doc = include_str!("../README.md"))] //! `minus`: A library for asynchronous terminal [paging], written in Rust. //! //! If you want to learn about its motivation and features, please take a look into it's [README]. //! //! # Overview //! When getting started with minus, the two most important concepts to get familier with are: //! * The [Pager] type: which acts as a bridge between your application and minus. It is used //! to pass data and configure minus before and after starting the pager. //! * Initialization functions: This includes the [dynamic_paging] and [page_all] functions which //! take a [Pager] as argument. They are responsible for generating the initial state and starting //! the pager. //! //! See the docs for the respective items to learn more on its usage. //! //! # Examples //! //! ## Threads //! //! ```rust,no_run //! use minus::{dynamic_paging, MinusError, Pager}; //! use std::{ //! fmt::Write, //! thread::{spawn, sleep}, //! time::Duration //! }; //! //! fn main() -> Result<(), MinusError> { //! // Initialize the pager //! let mut pager = Pager::new(); //! // Run the pager in a separate thread //! let pager2 = pager.clone(); //! let pager_thread = spawn(move || dynamic_paging(pager2)); //! //! for i in 0..=100_u32 { //! writeln!(pager, "{}", i); //! sleep(Duration::from_millis(100)); //! } //! pager_thread.join().unwrap()?; //! Ok(()) //! } //! ``` //! //! ## tokio //! //! ```rust,no_run //! use minus::{dynamic_paging, MinusError, Pager}; //! use std::time::Duration; //! use std::fmt::Write; //! use tokio::{join, task::spawn_blocking, time::sleep}; //! //! #[tokio::main] //! async fn main() -> Result<(), MinusError> { //! // Initialize the pager //! let mut pager = Pager::new(); //! // Asynchronously send data to the pager //! let increment = async { //! let mut pager = pager.clone(); //! for i in 0..=100_u32 { //! writeln!(pager, "{}", i); //! sleep(Duration::from_millis(100)).await; //! } //! Result::<_, MinusError>::Ok(()) //! }; //! // spawn_blocking(dynamic_paging(...)) creates a separate thread managed by the tokio //! // runtime and runs the async_paging inside it //! let pager = pager.clone(); //! let (res1, res2) = join!(spawn_blocking(move || dynamic_paging(pager)), increment); //! // .unwrap() unwraps any error while creating the tokio task //! // The ? mark unpacks any error that might have occurred while the //! // pager is running //! res1.unwrap()?; //! res2?; //! Ok(()) //! } //! ``` //! //! ## Static output //! ```rust,no_run //! use std::fmt::Write; //! use minus::{MinusError, Pager, page_all}; //! //! fn main() -> Result<(), MinusError> { //! // Initialize a default static configuration //! let mut output = Pager::new(); //! // Push numbers blockingly //! for i in 0..=30 { //! writeln!(output, "{}", i)?; //! } //! // Run the pager //! minus::page_all(output)?; //! // Return Ok result //! Ok(()) //! } //! ``` //! //! **Note:** //! In static mode, `minus` doesn't start the pager and just prints the content if the current terminal size can //! display all lines. You can of course change this behaviour. //! //! ## Default keybindings //! //! Here is the list of default key/mouse actions handled by `minus`. //! //! **A `[n] key` means that you can precede the key by an integer**. //! //! | Action | Description | //! |---------------------|------------------------------------------------------------------------------| //! | Ctrl+C/q | Quit the pager | //! | \[n\] Arrow Up/k | Scroll up by n number of line(s). If n is omitted, scroll up by 1 line | //! | \[n\] Arrow Down/j | Scroll down by n number of line(s). If n is omitted, scroll down by 1 line | //! | Ctrl+h | Turn off line wrapping and allow horizontal scrolling | //! | \[n\] Arrow left/h | Scroll left by n number of line(s). If n is omitted, scroll up by 1 line | //! | \[n\] Arrow right/l | Scroll right by n number of line(s). If n is omitted, scroll down by 1 line | //! | Page Up | Scroll up by entire page | //! | Page Down | Scroll down by entire page | //! | \[n\] Enter | Scroll down by n number of line(s). | //! | Space | Scroll down by one page | //! | Ctrl+U/u | Scroll up by half a screen | //! | Ctrl+D/d | Scroll down by half a screen | //! | g | Go to the very top of the output | //! | \[n\] G | Go to the very bottom of the output. If n is present, goes to that line | //! | Mouse scroll Up | Scroll up by 5 lines | //! | Mouse scroll Down | Scroll down by 5 lines | //! | Ctrl+L | Toggle line numbers if not forced enabled/disabled | //! | Ctrl+f | Toggle [follow-mode] | //! | / | Start forward search | //! | ? | Start backward search | //! | Esc | Cancel search input | //! | n | Go to the next search match | //! | p | Go to the next previous match | //! //! End-applications are free to change these bindings to better suit their needs. See docs for //! [Pager::set_input_classifier] function and [input] module. //! //! ## Key Bindings Available at Search Prompt //! //! | Key Bindings | Description | //! |-------------------|-----------------------------------------------------| //! | Esc | Cancel the search | //! | Enter | Confirm the search query | //! | Backspace | Remove the character before the cursor | //! | Delete | Remove the character under the cursor | //! | Arrow Left | Move cursor towards left | //! | Arrow right | Move cursor towards right | //! | Ctrl+Arrow left | Move cursor towards left word by word | //! | Ctrl+Arrow right | Move cursor towards right word by word | //! | Home | Move cursor at the beginning pf search query | //! | End | Move cursor at the end pf search query | //! //! Currently these cannot be changed by applications but this may be supported in the future. //! //! [`tokio`]: https://docs.rs/tokio //! [`async-std`]: https://docs.rs/async-std //! [`Threads`]: std::thread //! [follow-mode]: struct.Pager.html#method.follow_output //! [paging]: https://en.wikipedia.org/wiki/Terminal_pager //! [README]: https://github.com/arijit79/minus#motivation #[cfg(feature = "dynamic_output")] mod dynamic_pager; pub mod error; pub mod input; #[path = "core/mod.rs"] mod minus_core; mod pager; pub mod screen; #[cfg(feature = "search")] #[cfg_attr(docsrs, doc(cfg(feature = "search")))] pub mod search; pub mod state; #[cfg(feature = "static_output")] mod static_pager; #[cfg(feature = "dynamic_output")] pub use dynamic_pager::dynamic_paging; #[cfg(feature = "static_output")] pub use static_pager::page_all; pub use minus_core::RunMode; #[cfg(feature = "search")] pub use search::SearchMode; pub use error::MinusError; pub use pager::Pager; pub use state::PagerState; /// A convenient type for `Vec>` pub type ExitCallbacks = Vec>; /// Result type returned by most minus's functions type Result = std::result::Result; /// Behaviour that happens when the pager is exited #[derive(PartialEq, Clone, Debug, Eq)] pub enum ExitStrategy { /// Kill the entire application immediately. /// /// This is the preferred option if paging is the last thing you do. For example, /// the last thing you do in your program is reading from a file or a database and /// paging it concurrently /// /// **This is the default strategy.** ProcessQuit, /// Kill the pager only. /// /// This is the preferred option if you want to do more stuff after exiting the pager. For example, /// if you've file system locks or you want to close database connectiions after /// the pager has done i's job, you probably want to go for this option PagerQuit, } /// Enum indicating whether to display the line numbers or not. /// /// Note that displaying line numbers may be less performant than not doing it. /// `minus` tries to do as quickly as possible but the numbers and padding /// still have to be computed. /// /// This implements [`Not`](std::ops::Not) to allow turning on/off line numbers /// when they where not locked in by the binary displaying the text. #[derive(Debug, PartialEq, Eq, Copy, Clone)] pub enum LineNumbers { /// Enable line numbers permanently, cannot be turned off by user. AlwaysOn, /// Line numbers should be turned on, although users can turn it off /// (i.e, set it to `Disabled`). Enabled, /// Line numbers should be turned off, although users can turn it on /// (i.e, set it to `Enabled`). Disabled, /// Disable line numbers permanently, cannot be turned on by user. AlwaysOff, } impl LineNumbers { const EXTRA_PADDING: usize = 5; /// Returns `true` if `self` can be inverted (i.e, `!self != self`), see /// the documentation for the variants to know if they are invertible or /// not. #[allow(dead_code)] const fn is_invertible(self) -> bool { matches!(self, Self::Enabled | Self::Disabled) } const fn is_on(self) -> bool { matches!(self, Self::Enabled | Self::AlwaysOn) } } impl std::ops::Not for LineNumbers { type Output = Self; fn not(self) -> Self::Output { use LineNumbers::{Disabled, Enabled}; match self { Enabled => Disabled, Disabled => Enabled, ln => ln, } } } #[cfg(test)] mod tests; minus-5.6.1/src/pager.rs000064400000000000000000000354461046102023000132370ustar 00000000000000//! Proivdes the [Pager] type use crate::{error::MinusError, input, minus_core::commands::Command, ExitStrategy, LineNumbers}; use crossbeam_channel::{Receiver, Sender}; use std::fmt; #[cfg(feature = "search")] use crate::search::SearchOpts; /// A communication bridge between the main application and the pager. /// /// The [Pager] type which is a bridge between your application and running /// the running pager. Its the single most important type with which you will be interacting the /// most while working with minus. It allows you to send data, configure UI settings and also /// configure the key/mouse bindings. /// /// You can /// - send data and /// - set configuration options /// /// before or while the pager is running. /// /// [Pager] also implements the [std::fmt::Write] trait which means you can directly call [write!] and /// [writeln!] macros on it. For example, you can easily do this /// /// ``` /// use minus::Pager; /// use std::fmt::Write; /// /// const WHO: &str = "World"; /// let mut pager = Pager::new(); /// /// // This appends `Hello World` to the end of minus's buffer /// writeln!(pager, "Hello {WHO}").unwrap(); /// // which is also equivalent to writing this /// pager.push_str(format!("Hello {WHO}\n")).unwrap(); #[derive(Clone)] pub struct Pager { pub(crate) tx: Sender, pub(crate) rx: Receiver, } impl Pager { /// Initialize a new pager /// /// # Example /// ``` /// let pager = minus::Pager::new(); /// ``` #[must_use] pub fn new() -> Self { let (tx, rx) = crossbeam_channel::unbounded(); Self { tx, rx } } /// Set the output text to this `t` /// /// Note that unlike [`Pager::push_str`], this replaces the original text. /// If you want to append text, use the [`Pager::push_str`] function or the /// [`write!`]/[`writeln!`] macros /// /// # Errors /// This function will return a [`Err(MinusError::Communication)`](MinusError::Communication) if the data /// could not be sent to the receiver /// /// # Example /// ``` /// let pager = minus::Pager::new(); /// pager.set_text("This is a line").expect("Failed to send data to the pager"); /// ``` pub fn set_text(&self, s: impl Into) -> Result<(), MinusError> { Ok(self.tx.send(Command::SetData(s.into()))?) } /// Appends text to the pager output. /// /// You can also use [`write!`]/[`writeln!`] macros to append data to the pager. /// The implementation basically calls this function internally. One difference /// between using the macros and this function is that this does not require `Pager` /// to be declared mutable while in order to use the macros, you need to declare /// the `Pager` as mutable. /// /// # Errors /// This function will return a [`Err(MinusError::Communication)`](MinusError::Communication) if the data /// could not be sent to the receiver /// /// # Example /// ``` /// use std::fmt::Write; /// /// let mut pager = minus::Pager::new(); /// pager.push_str("This is some text").expect("Failed to send data to the pager"); /// // This is same as above /// write!(pager, "This is some text").expect("Failed to send data to the pager"); /// ``` pub fn push_str(&self, s: impl Into) -> Result<(), MinusError> { Ok(self.tx.send(Command::AppendData(s.into()))?) } /// Set line number configuration for the pager /// /// See [`LineNumbers`] for available options /// /// # Errors /// This function will return a [`Err(MinusError::Communication)`](MinusError::Communication) if the data /// could not be sent to the receiver /// /// # Example /// ``` /// use minus::{Pager, LineNumbers}; /// /// let pager = Pager::new(); /// pager.set_line_numbers(LineNumbers::Enabled).expect("Failed to communicate with the pager"); /// ``` pub fn set_line_numbers(&self, l: LineNumbers) -> Result<(), MinusError> { Ok(self.tx.send(Command::SetLineNumbers(l))?) } /// Set the text displayed at the bottom prompt /// /// # Panics /// This function panics if the given text contains newline characters. /// This is because, the pager reserves only one line for showing the prompt /// and a newline will cause it to span multiple lines, breaking the display /// /// # Errors /// This function will return a [`Err(MinusError::Communication)`](MinusError::Communication) if the data /// could not be sent to the receiver /// /// Example /// ``` /// use minus::Pager; /// /// let pager = Pager::new(); /// pager.set_prompt("my prompt").expect("Failed to send data to the pager"); /// ``` pub fn set_prompt(&self, text: impl Into) -> Result<(), MinusError> { let text: String = text.into(); assert!(!text.contains('\n'), "Prompt cannot contain newlines"); Ok(self.tx.send(Command::SetPrompt(text))?) } /// Send a message to be displayed the prompt area /// /// The text message is temporary and will get cleared whenever the use /// rdoes a action on the terminal like pressing a key or scrolling using the mouse. /// /// # Panics /// This function panics if the given text contains newline characters. /// This is because, the pager reserves only one line for showing the prompt /// and a newline will cause it to span multiple lines, breaking the display /// /// # Errors /// This function will return a [`Err(MinusError::Communication)`](MinusError::Communication) if the data /// could not be sent to the receiver /// /// # Example /// ``` /// use minus::Pager; /// /// let pager = Pager::new(); /// pager.send_message("An error occurred").expect("Failed to send data to the pager"); /// ``` pub fn send_message(&self, text: impl Into) -> Result<(), MinusError> { let text: String = text.into(); assert!(!text.contains('\n'), "Message cannot contain newlines"); Ok(self.tx.send(Command::SendMessage(text))?) } /// Set the default exit strategy. /// /// This controls how the pager will behave when the user presses `q` or `Ctrl+C`. /// See [`ExitStrategy`] for available options /// /// # Errors /// This function will return a [`Err(MinusError::Communication)`](MinusError::Communication) if the data /// could not be sent to the receiver /// /// ``` /// use minus::{Pager, ExitStrategy}; /// /// let pager = Pager::new(); /// pager.set_exit_strategy(ExitStrategy::ProcessQuit).expect("Failed to communicate with the pager"); /// ``` pub fn set_exit_strategy(&self, es: ExitStrategy) -> Result<(), MinusError> { Ok(self.tx.send(Command::SetExitStrategy(es))?) } /// Set whether to display pager if there's less data than /// available screen height /// /// When this is set to false, the pager will simply print all the lines /// to the main screen and immediately quit if the number of lines to /// display is less than the available columns in the terminal. /// Setting this to true will cause a full pager to start and display the data /// even if there is less number of lines to display than available rows. /// /// This is only available in static output mode as the size of the data is /// known beforehand. /// In async output the pager can receive more data anytime /// /// By default this is set to false /// /// # Errors /// This function will return a [`Err(MinusError::Communication)`](MinusError::Communication) if the data /// could not be sent to the receiver /// /// ``` /// use minus::Pager; /// /// let pager = Pager::new(); /// pager.set_run_no_overflow(true).expect("Failed to communicate with the pager"); /// ``` #[cfg(feature = "static_output")] #[cfg_attr(docsrs, doc(cfg(feature = "static_output")))] pub fn set_run_no_overflow(&self, val: bool) -> Result<(), MinusError> { Ok(self.tx.send(Command::SetRunNoOverflow(val))?) } /// Whether to allow scrolling horizontally /// /// Setting this to `true` implicitly disables line wrapping /// /// # Errors /// This function will return a [`Err(MinusError::Communication)`](MinusError::Communication) if the data /// could not be sent to the receiver /// /// ``` /// use minus::Pager; /// /// let pager = Pager::new(); /// pager.horizontal_scroll(true).expect("Failed to communicate with the pager"); /// ``` pub fn horizontal_scroll(&self, value: bool) -> Result<(), MinusError> { Ok(self.tx.send(Command::LineWrapping(!value))?) } /// Set a custom input classifer type. /// /// An input classifier type is a type that implements the [InputClassifier] /// trait. It only has one required function, [InputClassifier::classify_input] /// which matches user input events and maps them to a [InputEvent]s. /// When the pager encounters a user input, it calls the input classifier with /// the event and [PagerState] as parameters. /// /// Previously, whenever any application wanted to change the default key/mouse bindings /// they neededd to create a new type, implement the [InputClassifier] type by copying and /// pasting the default minus's implementation of it available in the [DefaultInputClassifier] /// and change the parts they wanted to change. This is not only unergonomic but also /// extreemely prone to bugs. Hence a newer and much simpler method was developed. /// This method is still allowed to avoid breaking backwards compatiblity but will be dropped /// in the next major release. /// /// With the newer method, minus already provides a type called [HashedEventRegister] /// which implementing the [InputClassifier] and is based on a /// [HashMap] storing all the key/mouse bindings and its associated callback function. /// This allows easy addition/updation/deletion of the default bindings with simple functions /// like [HashedEventRegister::add_key_events] and [HashedEventRegister::add_mouse_events] /// /// See the [input] module for information about implementing it. /// /// # Errors /// This function will return a [`Err(MinusError::Communication)`](MinusError::Communication) if the data /// could not be sent to the receiver /// /// [HashedEventRegister::add_key_events]: input::HashedEventRegister::add_key_events /// [HashedEventRegister::add_mouse_events]: input::HashedEventRegister::add_mouse_events /// [HashMap]: std::collections::HashMap /// [PagerState]: crate::state::PagerState /// [InputEvent]: input::InputEvent /// [InputClassifier]: input::InputClassifier /// [InputClassifier::classify_input]: input::InputClassifier /// [HashedEventRegister]: input::HashedEventRegister /// [DefaultInputClassifier]: input::DefaultInputClassifier pub fn set_input_classifier( &self, handler: Box, ) -> Result<(), MinusError> { Ok(self.tx.send(Command::SetInputClassifier(handler))?) } /// Adds a function that will be called when the user quits the pager /// /// Multiple functions can be stored for calling when the user quits. These functions /// run sequentially in the order they were added /// /// # Errors /// This function will return a [`Err(MinusError::Communication)`](MinusError::Communication) if the data /// could not be sent to the receiver /// /// # Example /// ``` /// use minus::Pager; /// /// fn hello() { /// println!("Hello"); /// } /// /// let pager = Pager::new(); /// pager.add_exit_callback(Box::new(hello)).expect("Failed to communicate with the pager"); /// ``` pub fn add_exit_callback( &self, cb: Box, ) -> Result<(), MinusError> { Ok(self.tx.send(Command::AddExitCallback(cb))?) } /// Override the condition for running incremental search /// /// See [Incremental Search](../search/index.html#incremental-search) to know more on how this /// works /// /// # Errors /// This function will returns a [`Err(MinusError::Communication)`](MinusError::Communication) if the data /// could not be send to the receiver end. #[cfg(feature = "search")] #[cfg_attr(docsrs, doc(cfg(feature = "search")))] pub fn set_incremental_search_condition( &self, cb: Box bool + Send + Sync + 'static>, ) -> crate::Result { self.tx.send(Command::IncrementalSearchCondition(cb))?; Ok(()) } /// Control whether to show the prompt /// /// Many applications don't want the prompt to be displayed at all. This function can be used to completely turn /// off the prompt. Passing `false` to this will stops the prompt from displaying and instead a blank line will /// be displayed. /// /// Note that This merely stop the prompt from being shown. Your application can still update the /// prompt and send messages to the user but it won't be shown until the prompt isn't re-enabled. /// The prompt section will also be used when user opens the search prompt to type a search query. /// /// # Errors /// This function will return a [`Err(MinusError::Communication)`](MinusError::Communication) if the data /// could not be sent to the mus's receiving end /// /// # Example /// ``` /// use minus::Pager; /// /// let pager = Pager::new(); /// pager.show_prompt(false).unwrap(); /// ``` pub fn show_prompt(&self, show: bool) -> crate::Result { self.tx.send(Command::ShowPrompt(show))?; Ok(()) } /// Configures follow output /// /// When set to true, minus ensures that the user's screen always follows the end part of the /// output. By default it is turned off. /// /// This is similar to [InputEvent::FollowOutput](crate::input::InputEvent::FollowOutput) except that /// this is used to control it from the application's side. /// /// # Errors /// This function will return a [`Err(MinusError::Communication)`](MinusError::Communication) if the data /// could not be sent to the mus's receiving end /// /// # Example /// ``` /// use minus::Pager; /// /// let pager = Pager::new(); /// pager.follow_output(true).unwrap(); /// ``` pub fn follow_output(&self, follow_output: bool) -> crate::Result { self.tx.send(Command::FollowOutput(follow_output))?; Ok(()) } } impl Default for Pager { fn default() -> Self { Self::new() } } impl fmt::Write for Pager { fn write_str(&mut self, s: &str) -> fmt::Result { self.push_str(s).map_err(|_| fmt::Error) } } minus-5.6.1/src/screen/mod.rs000064400000000000000000000624431046102023000141740ustar 00000000000000//! Provides functions for getting analysis of the text data inside minus. //! //! This module is still a work is progress and is subject to change. use crate::{ minus_core::{self, utils::LinesRowMap}, LineNumbers, }; #[cfg(feature = "search")] use regex::Regex; use std::borrow::Cow; #[cfg(feature = "search")] use {crate::search, std::collections::BTreeSet}; // ||||||||||||||||||||||||||||||||||||||||||||||||||||||| // TYPES TO BETTER DESCRIBE THE PURPOSE OF STRINGS // ||||||||||||||||||||||||||||||||||||||||||||||||||||||| pub type Row = String; pub type Rows = Vec; pub type Line<'a> = &'a str; pub type TextBlock<'a> = &'a str; pub type OwnedTextBlock = String; // |||||||||||||||||||||||||||||||||||||||||||||| // SCREEN TYPE AND ITS REKATED FUNCTIONS // |||||||||||||||||||||||||||||||||||||||||||||| /// Stores all the data for the terminal /// /// This can be used by applications to get a basic analysis of the data that minus has captured /// while formattng it for terminal display. /// /// Most of the functions of this type are cheap as minus does a lot of caching of the analysis /// behind the scenes pub struct Screen { pub(crate) orig_text: OwnedTextBlock, pub(crate) formatted_lines: Rows, pub(crate) line_count: usize, pub(crate) max_line_length: usize, /// Unterminated lines /// Keeps track of the number of lines at the last of [PagerState::formatted_lines] which are /// not terminated by a newline pub(crate) unterminated: usize, /// Whether to Line wrap lines /// /// Its negation gives the state of whether horizontal scrolling is allowed. pub(crate) line_wrapping: bool, } impl Screen { /// Get the actual number of physical rows that the text that will actually occupy on the /// terminal #[must_use] pub fn formatted_lines_count(&self) -> usize { self.formatted_lines.len() } /// Get the number of [`Lines`](std::str::Lines) in the text. #[must_use] pub const fn line_count(&self) -> usize { self.line_count } /// Returns all the [Rows] within the bounds pub(crate) fn get_formatted_lines_with_bounds(&self, start: usize, end: usize) -> &[Row] { if start >= self.formatted_lines_count() || start > end { &[] } else if end >= self.formatted_lines_count() { &self.formatted_lines[start..] } else { &self.formatted_lines[start..end] } } /// Get the length of the longest [Line] in the text. #[must_use] pub const fn get_max_line_length(&self) -> usize { self.max_line_length } /// Insert the text into the [] pub(crate) fn push_screen_buf( &mut self, text: TextBlock, line_numbers: LineNumbers, cols: u16, #[cfg(feature = "search")] search_term: &Option, ) -> FormatResult { // If the last line of self.screen.orig_text is not terminated by than the first line of // the incoming text is part of that line so we also need to take care of that. // // Appropriately in that case we set the last lne of self.screen.orig_text as attachment // text for the FormatOpts. let clean_append = self.orig_text.ends_with('\n') || self.orig_text.is_empty(); // We check if number of digits in current line count change during this text push. let old_lc = self.line_count(); // Conditionally appends to [`self.formatted_lines`] or changes the last unterminated rows of // [`self.formatted_lines`] // // `num_unterminated` is the current number of lines returned by [`self.make_append_str`] // that should be truncated from [`self.formatted_lines`] to update the last line self.formatted_lines .truncate(self.formatted_lines.len() - self.unterminated); let append_props = { let attachment = if clean_append { None } else { self.orig_text.lines().last() }; let formatted_lines_count = self.formatted_lines.len(); let append_opts = FormatOpts { buffer: &mut self.formatted_lines, text, attachment, line_numbers, formatted_lines_count, lines_count: old_lc, prev_unterminated: self.unterminated, cols: cols.into(), line_wrapping: self.line_wrapping, #[cfg(feature = "search")] search_term, }; format_text_block(append_opts) }; self.orig_text.push_str(text); let (num_unterminated, lines_formatted, max_line_length) = ( append_props.num_unterminated, append_props.lines_formatted, append_props.max_line_length, ); self.line_count = old_lc + lines_formatted.saturating_sub(usize::from(!clean_append)); if max_line_length > self.max_line_length { self.max_line_length = max_line_length; } self.unterminated = num_unterminated; append_props } } impl Default for Screen { fn default() -> Self { Self { line_wrapping: true, orig_text: String::with_capacity(100 * 1024), formatted_lines: Vec::with_capacity(500 * 1024), line_count: 0, max_line_length: 0, unterminated: 0, } } } // ||||||||||||||||||||||||||||||| // TEXT FORMATTING FUNCTIONS // ||||||||||||||||||||||||||||||| // minus has a very interesting but simple text model that you must go through to understand how minus works. // // # Text Block // A text block in minus is just a bunch of text that may contain newlines (`\n`) between them. // [`PagerState::lines`] is nothing but just a giant text block. // // # Line // A line is text that must not contain any newlines inside it but may or may not end with a newline. // Don't confuse this with Rust's [Lines](std::str::Lines) which is similar to minus's Lines terminolagy but only // differs for the fact that they don't end with a newline. Although the Rust's Lines is heavily used inside minus // as an important building block. // // # Row // A row is part of a line that fits perfectly inside one row of terminal. Out of the three text types, only row // is dependent on the terminal conditions. If the terminal gets resized, each row will grow or shrink to hold // more or less text inside it. // // # Termination // # Termination of Line // A line is called terminated when it ends with a newline character, otherwise it is called unterminated. // You may ask why is this important? Because minus supports completing a line in multiple steps, if we don't care // whether a line is terminated or not, we won't know that the data coming right now is part of the current line or // it is for a new line. // // # Termination of block // A block is terminated if the last line of the block is terminated i.e it ends with a newline character. // // # Unterminated rows // It is 0 in most of the cases. The only case when it has a non-zero value is a line or block of text is unterminated // In this case, it is equal to the number of rows that the last line of the block or a the line occupied. // // Whenever new data comes while a line or block is unterminated minus cleans up the number of unterminated rows // on the terminal i.e the entire last line. Then it merges the incoming data to the last line and then reprints // them on the terminal. // // Why this complex approach? // Simple! printing an entire page on the terminal is slow and this approach allows minus to reprint only the // parts that are required without having to redraw everything // // [`PagerState::lines`]: crate::state::PagerState::lines pub(crate) trait AppendableBuffer { fn append_to_buffer(&mut self, other: &mut Rows); fn extend_buffer(&mut self, other: I) where I: IntoIterator; } impl AppendableBuffer for Rows { fn append_to_buffer(&mut self, other: &mut Rows) { self.append(other); } fn extend_buffer(&mut self, other: I) where I: IntoIterator, { self.extend(other); } } impl AppendableBuffer for &mut Rows { fn append_to_buffer(&mut self, other: &mut Rows) { self.append(other); } fn extend_buffer(&mut self, other: I) where I: IntoIterator, { self.extend(other); } } pub(crate) struct FormatOpts<'a, B> where B: AppendableBuffer, { /// Buffer to insert the text into pub buffer: B, /// Contains the incoming text data pub text: TextBlock<'a>, /// This is Some when the last line inside minus's present data is unterminated. It contains the last /// line to be attached to the the incoming text pub attachment: Option>, /// Status of line numbers pub line_numbers: LineNumbers, /// This is equal to the number of lines in [`PagerState::lines`](crate::state::PagerState::lines). This basically tells what line /// number the upcoming line will hold. pub lines_count: usize, /// This is equal to the number of lines in [`PagerState::formatted_lines`](crate::state::PagerState::lines). This is used to /// calculate the search index of the rows of the line. pub formatted_lines_count: usize, /// Actual number of columns available for displaying pub cols: usize, /// Number of lines that are previously unterminated. It is only relevant when there is `attachment` text otherwise /// it should be 0. pub prev_unterminated: usize, /// Search term if a search is active #[cfg(feature = "search")] pub search_term: &'a Option, /// Value of [PagerState::line_wrapping] pub line_wrapping: bool, } /// Contains the formatted rows along with some basic information about the text formatted /// /// The basic information includes things like the number of lines formatted or the length of /// longest line encountered. These are tracked as each line is being formatted hence we refer to /// them as **tracking variables**. #[derive(Debug)] pub(crate) struct FormatResult { // **Tracking variables** // /// Number of lines that have been formatted from `text`. pub lines_formatted: usize, /// Number of rows that have been formatted from `text`. pub rows_formatted: usize, /// Number of rows that are unterminated pub num_unterminated: usize, /// If search is active, this contains the indices where search matches in the incoming text have been found #[cfg(feature = "search")] pub append_search_idx: BTreeSet, /// Map of where first row of each line is placed inside in /// [`PagerState::formatted_lines`](crate::state::PagerState::formatted_lines) pub lines_to_row_map: LinesRowMap, /// The length of longest line encountered in the formatted text block pub max_line_length: usize, pub clean_append: bool, } /// Makes the text that will be displayed. #[allow(clippy::too_many_lines)] pub(crate) fn format_text_block(mut opts: FormatOpts<'_, B>) -> FormatResult where B: AppendableBuffer, { // Formatting a text block not only requires us to format each line according to the terminal // configuration and the main applications's preference but also gather some basic information // about the text that we formatted. The basic information that we gather is supplied along // with the formatted lines in the FormatResult's tracking variables. // // This is a high level overview of how the text formatting works. // // For a text block, we hae a couple of things to care about:- // * Each line is formatted using the using the `formatted_line()` function. // After a line has been formatted using the `formatted_line()` function, calling `.len()` on // the returned vector will give the number of rows that it would span on the terminal. // For less confusion, we call this *row span of that line*. // * The first line can have an attachment, in the sense that it can be part of the last line of the // already present text. In that case the FrmatResult::attachment will hold a `Some(...)` // value. `clean_append` keeps track of this: it will be false if an attachment is available. // * Formatting of the lines between the first line and last line ie. *middle lines*, is actually // rather simple: we simply format them // * The last is also similar to the middle lines except for one exception:- // // If it isn't terminated by a \n then we need to find how many rows it // will span in the terminal and set it to the `unterminated` count. // // More on this is described in the unterminated section. // // * We also have more things to take care like `append_search_idx` but most of these // either documented in their respective section or self-understanable so not discussed here. // // Now the good stuff... // * First, if there's an attachment, we merge it with the actual text to be formatted // and tweak certain parameters (see below) // * Then we split the entire text block into two parts: rest_lines and last_line. // * Next we format the rest_lines, and all update the tracking variables. // * Next we format the last line and keep it separate to calculate unterminated. // * If there's exactly one line to format, it will automatically behave as last_line and there // will be no rest_lines. // * After all the formatting is done, we return the format results. // Compute the text to be format and set clean_append let to_format; if let Some(attached_text) = opts.attachment { // Tweak certain parameters if we are joining the last line of already present text with the first line of // incoming text. // // First reduce line count by 1 if, because the first line of the incoming text should have the same line // number as the last line. Hence all subsequent lines must get a line number less than expected. // // Next subtract the number of rows that the last line occupied from formatted_lines_count since it is // also getting reformatted. This can be easily accomplished by taking help of [`PagerState::unterminated`] // which we get in opts.prev_unterminated. opts.lines_count = opts.lines_count.saturating_sub(1); opts.formatted_lines_count = opts .formatted_lines_count .saturating_sub(opts.prev_unterminated); let mut s = String::with_capacity(opts.text.len() + attached_text.len()); s.push_str(attached_text); s.push_str(opts.text); to_format = s; } else { to_format = opts.text.to_string(); } let lines = to_format .lines() .enumerate() .collect::>(); let to_format_size = lines.len(); let mut fr = FormatResult { lines_formatted: to_format_size, rows_formatted: 0, num_unterminated: opts.prev_unterminated, #[cfg(feature = "search")] append_search_idx: BTreeSet::new(), lines_to_row_map: LinesRowMap::new(), max_line_length: 0, clean_append: opts.attachment.is_none(), }; let line_number_digits = minus_core::utils::digits(opts.lines_count + to_format_size); // Return if we have nothing to format if lines.is_empty() { return fr; } // Number of rows that have been formatted so far // Whenever a line is formatted, this will be incremented to te number of rows that the formatted line has occupied let mut formatted_row_count = opts.formatted_lines_count; { let line_numbers = opts.line_numbers; let cols = opts.cols; let lines_count = opts.lines_count; let line_wrapping = opts.line_wrapping; #[cfg(feature = "search")] let search_term = opts.search_term; let rest_lines = lines .iter() .take(lines.len().saturating_sub(1)) .flat_map(|(idx, line)| { let fmt_line = formatted_line( line, line_number_digits, lines_count + idx, line_numbers, cols, line_wrapping, #[cfg(feature = "search")] formatted_row_count, #[cfg(feature = "search")] &mut fr.append_search_idx, #[cfg(feature = "search")] search_term, ); fr.lines_to_row_map.insert(formatted_row_count, true); formatted_row_count += fmt_line.len(); if lines.len() > fr.max_line_length { fr.max_line_length = line.len(); } fmt_line }); opts.buffer.extend_buffer(rest_lines); }; let mut last_line = formatted_line( lines.last().unwrap().1, line_number_digits, opts.lines_count + to_format_size - 1, opts.line_numbers, opts.cols, opts.line_wrapping, #[cfg(feature = "search")] formatted_row_count, #[cfg(feature = "search")] &mut fr.append_search_idx, #[cfg(feature = "search")] opts.search_term, ); fr.lines_to_row_map.insert(formatted_row_count, true); formatted_row_count += last_line.len(); if lines.last().unwrap().1.len() > fr.max_line_length { fr.max_line_length = lines.last().unwrap().1.len(); } #[cfg(feature = "search")] { // NOTE: VERY IMPORTANT BLOCK TO GET PROPER SEARCH INDEX // Here is the current scenario: suppose you have text block like this (markers are present to denote where a // new line begins). // // * This is line one row one // This is line one row two // This is line one row three // * This is line two row one // This is line two row two // This is line two row three // This is line two row four // // and suppose a match is found at line 1 row 2 and line 2 row 4. So the index generated will be [1, 6]. // Let's say this text block is going to be appended to [PagerState::formatted_lines] from index 23. // Now if directly append this generated index to [`PagerState::search_idx`], it will probably be wrong // as these numbers are *relative to current text block*. The actual search index should have been 24, 30. // // To fix this we basically add the number of items in [`PagerState::formatted_lines`]. fr.append_search_idx = fr .append_search_idx .iter() .map(|i| opts.formatted_lines_count + i) .collect(); } // Calculate number of rows which are part of last line and are left unterminated due to absence of \n fr.num_unterminated = if opts.text.ends_with('\n') { // If the last line ends with \n, then the line is complete so nothing is left as unterminated 0 } else { last_line.len() }; opts.buffer.append_to_buffer(&mut last_line); fr.rows_formatted = formatted_row_count - opts.formatted_lines_count; fr } /// Formats the given `line` /// /// - `line`: The line to format /// - `line_numbers`: tells whether to format the line with line numbers. /// - `len_line_number`: is the number of digits that number of lines in [`PagerState::lines`] occupy. /// For example, this will be 2 if number of lines in [`PagerState::lines`] is 50 and 3 if /// number of lines in [`PagerState::lines`] is 500. This is used for calculating the padding /// of each displayed line. /// - `idx`: is the position index where the line is placed in [`PagerState::lines`]. /// - `formatted_idx`: is the position index where the line will be placed in the resulting /// [`PagerState::formatted_lines`](crate::state::PagerState::formatted_lines) /// - `cols`: Number of columns in the terminal /// - `search_term`: Contains the regex if a search is active /// /// [`PagerState::lines`]: crate::state::PagerState::lines #[allow(clippy::too_many_arguments)] #[allow(clippy::uninlined_format_args)] pub(crate) fn formatted_line<'a>( line: Line<'a>, len_line_number: usize, idx: usize, line_numbers: LineNumbers, cols: usize, line_wrapping: bool, #[cfg(feature = "search")] formatted_idx: usize, #[cfg(feature = "search")] search_idx: &mut BTreeSet, #[cfg(feature = "search")] search_term: &Option, ) -> Rows { assert!( !line.contains('\n'), "Newlines found in appending line {:?}", line ); let line_numbers = matches!(line_numbers, LineNumbers::Enabled | LineNumbers::AlwaysOn); // NOTE: Only relevant when line numbers are active // Padding is the space that the actual line text will be shifted to accommodate for // line numbers. This is equal to:- // LineNumbers::EXTRA_PADDING + len_line_number + 1 (for '.') + 1 (for 1 space) // // We reduce this from the number of available columns as this space cannot be used for // actual line display when wrapping the lines let padding = len_line_number + LineNumbers::EXTRA_PADDING + 1; let cols_avail = if line_numbers { cols.saturating_sub(padding + 2) } else { cols }; // Wrap the line and return an iterator over all the rows let mut enumerated_rows = if line_wrapping { textwrap::wrap(line, cols_avail) } else { vec![Cow::from(line)] } .into_iter() .enumerate(); // highlight the lines with matching search terms // If a match is found, add this line's index to PagerState::search_idx #[cfg_attr(not(feature = "search"), allow(unused_mut))] #[cfg_attr(not(feature = "search"), allow(unused_variables))] let mut handle_search = |row: &mut Cow<'a, str>, wrap_idx: usize| { #[cfg(feature = "search")] if let Some(st) = search_term.as_ref() { let (highlighted_row, is_match) = search::highlight_line_matches(row, st, false); if is_match { *row.to_mut() = highlighted_row; search_idx.insert(formatted_idx + wrap_idx); } } }; if line_numbers { let mut formatted_rows = Vec::with_capacity(256); // Formatter for only when line numbers are active // * If minus is run under test, ascii codes for making the numbers bol is not inserted because they add // extra difficulty while writing tests // * Line number is added only to the first row of a line. This makes a better UI overall let formatter = |row: Cow<'_, str>, is_first_row: bool, idx: usize| { format!( "{bold}{number: >len$}{reset} {row}", bold = if cfg!(not(test)) && is_first_row { crossterm::style::Attribute::Bold.to_string() } else { String::new() }, number = if is_first_row { (idx + 1).to_string() + "." } else { String::new() }, len = padding, reset = if cfg!(not(test)) && is_first_row { crossterm::style::Attribute::Reset.to_string() } else { String::new() }, row = row ) }; // First format the first row separate from other rows, then the subsequent rows and finally join them // This is because only the first row contains the line number and not the subsequent rows let first_row = { #[cfg_attr(not(feature = "search"), allow(unused_mut))] let mut row = enumerated_rows.next().unwrap().1; handle_search(&mut row, 0); formatter(row, true, idx) }; formatted_rows.push(first_row); #[cfg_attr(not(feature = "search"), allow(unused_mut))] #[cfg_attr(not(feature = "search"), allow(unused_variables))] let rows_left = enumerated_rows.map(|(wrap_idx, mut row)| { handle_search(&mut row, wrap_idx); formatter(row, false, 0) }); formatted_rows.extend(rows_left); formatted_rows } else { // If line numbers aren't active, simply return the rows with search matches highlighted if search is active #[cfg_attr(not(feature = "search"), allow(unused_variables))] enumerated_rows .map(|(wrap_idx, mut row)| { handle_search(&mut row, wrap_idx); row.to_string() }) .collect::>() } } pub(crate) fn make_format_lines( text: &String, line_numbers: LineNumbers, cols: usize, line_wrapping: bool, #[cfg(feature = "search")] search_term: &Option, ) -> (Rows, FormatResult) { let mut buffer = Vec::with_capacity(256); let format_opts = FormatOpts { buffer: &mut buffer, text, attachment: None, line_numbers, formatted_lines_count: 0, lines_count: 0, prev_unterminated: 0, cols, #[cfg(feature = "search")] search_term, line_wrapping, }; let fr = format_text_block(format_opts); (buffer, fr) } #[cfg(test)] mod tests; minus-5.6.1/src/screen/tests.rs000064400000000000000000000146751046102023000145630ustar 00000000000000mod unterminated { use crate::screen::{format_text_block, FormatOpts, Rows}; const fn get_append_opts_template(text: &str) -> FormatOpts { FormatOpts { buffer: Vec::new(), text, attachment: None, #[cfg(feature = "search")] search_term: &None, lines_count: 0, formatted_lines_count: 0, cols: 80, line_numbers: crate::LineNumbers::Disabled, prev_unterminated: 0, line_wrapping: true, } } #[test] fn test_single_no_endline() { let append_style = format_text_block(get_append_opts_template("This is a line")); assert_eq!(1, append_style.num_unterminated); } #[test] fn test_single_endline() { let append_style = format_text_block(get_append_opts_template("This is a line\n")); assert_eq!(0, append_style.num_unterminated); } #[test] fn test_single_multi_newline() { let append_style = format_text_block(get_append_opts_template( "This is a line\nThis is another line\nThis is third line", )); assert_eq!(1, append_style.num_unterminated); } #[test] fn test_single_multi_endline() { let append_style = format_text_block(get_append_opts_template( "This is a line\nThis is another line\n", )); assert_eq!(0, append_style.num_unterminated); } #[test] fn test_single_line_wrapping() { let mut fs = get_append_opts_template("This is a quite lengthy line"); fs.cols = 20; let append_style = format_text_block(fs); assert_eq!(2, append_style.num_unterminated); } #[test] fn test_single_mid_newline_wrapping() { let mut fs = get_append_opts_template( "This is a quite lengthy line\nIt has three lines\nThis is third line", ); fs.cols = 20; let append_style = format_text_block(fs); assert_eq!(1, append_style.num_unterminated); } #[test] fn test_single_endline_wrapping() { let mut fs = get_append_opts_template( "This is a quite lengthy line\nIt has three lines\nThis is third line\n", ); fs.cols = 20; let append_style = format_text_block(fs); assert_eq!(0, append_style.num_unterminated); } #[test] fn test_multi_no_endline() { let append_style = format_text_block(get_append_opts_template("This is a line. ")); assert_eq!(1, append_style.num_unterminated); let mut fs = get_append_opts_template("This is another line"); fs.prev_unterminated = append_style.num_unterminated; fs.attachment = Some("This is a line. "); let append_style = format_text_block(fs); assert_eq!(1, append_style.num_unterminated); } #[test] fn test_multi_endline() { let append_style = format_text_block(get_append_opts_template("This is a line. ")); assert_eq!(1, append_style.num_unterminated); let mut fs = get_append_opts_template("This is another line\n"); fs.prev_unterminated = append_style.num_unterminated; fs.attachment = Some("This is a line. "); let append_style = format_text_block(fs); assert_eq!(0, append_style.num_unterminated); } #[test] fn test_multi_multiple_newline() { let append_style = format_text_block(get_append_opts_template("This is a line\n")); assert_eq!(0, append_style.num_unterminated); let mut fs = get_append_opts_template("This is another line\n"); fs.lines_count = 1; fs.formatted_lines_count = 1; fs.attachment = None; let append_style = format_text_block(fs); assert_eq!(0, append_style.num_unterminated); } #[test] fn test_multi_wrapping() { let mut fs = get_append_opts_template("This is a line. This is second line. "); fs.cols = 20; let append_style = format_text_block(fs); assert_eq!(2, append_style.num_unterminated); let mut fs = get_append_opts_template("This is another line\n"); fs.cols = 20; fs.prev_unterminated = append_style.num_unterminated; fs.attachment = Some("This is a line. This is second line"); let append_style = format_text_block(fs); assert_eq!(0, append_style.num_unterminated); } #[test] fn test_multi_wrapping_continued() { let mut fs = get_append_opts_template("This is a line. This is second line. "); fs.cols = 20; let append_style = format_text_block(fs); assert_eq!(2, append_style.num_unterminated); let mut fs = get_append_opts_template("This is third line"); fs.cols = 20; fs.prev_unterminated = append_style.num_unterminated; fs.attachment = Some("This is a line. This is second line. "); let append_style = format_text_block(fs); assert_eq!(3, append_style.num_unterminated); } #[test] fn test_multi_wrapping_last_continued() { let mut fs = get_append_opts_template("This is a line.\nThis is second line. "); fs.cols = 20; let append_style = format_text_block(fs); assert_eq!(1, append_style.num_unterminated); let mut fs = get_append_opts_template("This is third line."); fs.cols = 20; fs.prev_unterminated = append_style.num_unterminated; fs.attachment = Some("This is second line. "); fs.lines_count = 1; fs.formatted_lines_count = 2; let append_style = format_text_block(fs); assert_eq!(2, append_style.num_unterminated); } #[test] fn test_multi_wrapping_additive() { let mut fs = get_append_opts_template("This is a line. "); fs.cols = 20; let append_style = format_text_block(fs); assert_eq!(1, append_style.num_unterminated); let mut fs = get_append_opts_template("This is second line. "); fs.cols = 20; fs.prev_unterminated = append_style.num_unterminated; fs.attachment = Some("This is a line. "); let append_style = format_text_block(fs); assert_eq!(2, append_style.num_unterminated); let mut fs = get_append_opts_template("This is third line"); fs.cols = 20; fs.prev_unterminated = append_style.num_unterminated; fs.attachment = Some("This is a line. This is second line. "); let append_style = format_text_block(fs); assert_eq!(3, append_style.num_unterminated); } } minus-5.6.1/src/search.rs000064400000000000000000001436131046102023000134020ustar 00000000000000#![cfg_attr(docsrs, doc(cfg(feature = "search")))] //! Text searching functionality //! //! Text searching inside minus is quite advanced than other terminal pagers. It is highly //! inspired by modern text editors and hence provides features like:- //! - [Keybindings](../index.html#key-bindings-available-at-search-prompt) similar to modern text editors //! - Incremental search //! - Full regex support for writing advanced search queries //! and more... //! //! # Incremental Search //! minus supports incrementally searching the text. This means that you can view the search //! matches inside the text match as soon as you start typing the query. //! //! It is also significant because minus caches a lot of results from each incremental search run //! and then reuses those results when the search query is confirmed by pressing `Enter`. This //! approach eliminates the need to re run the search of text after confirming the query. //! //! Running Incremental search can be controlled by a function. The function should take //! reference to [SearchOpts] as the only argument and return a bool as output. This way we can impose a //! condition so that incremental search does not get really resource intensive for really vague queries //! This also allows applications can control whether they want incremental search to run. //! By default minus uses a default condition where incremental search runs only when length of search //! query is greater than 1 and number of screen lines (lines obtained after taking care of wrapping, //! mapped to a single row on the terminal) is greater than 5000. //! //! Applications can override this condition with the help of //! [`Pager::set_incremental_search_condition`](crate::pager::Pager::set_incremental_search_condition) function. //! //! Here is a an example to demonstrate on its usage. Here we set the condition to run incremental //! search only when the length of the search query is greater than 1. //! ``` //! use minus::{Pager, search::SearchOpts}; //! //! let pager = Pager::new(); //! pager.set_incremental_search_condition(Box::new(|so: &SearchOpts| so.string.len() > 1)).unwrap(); //! ``` //! To completely disable incremental search, set the condition to false //! ``` //! use minus::{Pager, search::SearchOpts}; //! //! let pager = Pager::new(); //! pager.set_incremental_search_condition(Box::new(|_| false)).unwrap(); //! ``` //! Similarly to always run incremental search, set the condition to true //! ``` //! use minus::{Pager, search::SearchOpts}; //! //! let pager = Pager::new(); //! pager.set_incremental_search_condition(Box::new(|_| true)).unwrap(); //! ``` #![allow(unused_imports)] use crate::minus_core::utils::{display, term}; use crate::screen::Screen; use crate::{error::MinusError, input::HashedEventRegister, screen}; use crate::{LineNumbers, PagerState}; use crossterm::{ cursor::{self, MoveTo}, event::{self, Event, KeyCode, KeyEvent, KeyModifiers}, style::Attribute, terminal::{Clear, ClearType}, }; use once_cell::sync::Lazy; use regex::Regex; use std::collections::BTreeSet; use std::{ convert::{TryFrom, TryInto}, io::Write, time::Duration, }; use std::collections::hash_map::RandomState; static INVERT: Lazy = Lazy::new(|| Attribute::Reverse.to_string()); static NORMAL: Lazy = Lazy::new(|| Attribute::NoReverse.to_string()); static ANSI_REGEX: Lazy = Lazy::new(|| { Regex::new("[\\u001b\\u009b]\\[[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]") .unwrap() }); static WORD: Lazy = Lazy::new(|| Regex::new(r#"([\w_]+)|([-?~@#!$%^&*()-+={}\[\]:;\\|'/?<>.,"]+)|\W"#).unwrap()); #[derive(Clone, Copy, Debug, Eq)] #[cfg_attr(docsrs, doc(cfg(feature = "search")))] #[allow(clippy::module_name_repetitions)] /// Defines modes in which the search can run pub enum SearchMode { /// Find matches from or after the current page Forward, /// Find matches before the current page Reverse, /// No search active Unknown, } impl Default for SearchMode { fn default() -> Self { Self::Unknown } } impl PartialEq for SearchMode { fn eq(&self, other: &Self) -> bool { core::mem::discriminant(self) == core::mem::discriminant(other) } } /// Options controlling the behaviour of search overall /// /// Although it isn't much important for most use cases but it alongside [IncrementalSearchOpts] are the key components /// when applications want to customize the incremental seaech condition. /// /// Most of the fields have self-explanatory names so it should be very easy to get started using /// this #[allow(clippy::module_name_repetitions)] pub struct SearchOpts<'a> { /// A [crossterm Event](Event) on which to respond pub ev: Option, /// Current string query pub string: String, /// Status of the input prompt. See [InputStatus] pub input_status: InputStatus, /// Specifies the terminal column number that the cursor on at the prompt site. /// It can range between 1 and `string.len() + 1` pub cursor_position: u16, /// Direction of search. See [SearchMode]. pub search_mode: SearchMode, /// Column numbers where each new word start pub word_index: Vec, /// Search character, either `/` or `?` depending on [SearchMode] pub search_char: char, /// Number of rows available in the terminal pub rows: u16, /// Number of cols available in the terminal pub cols: u16, /// Options specifically controlling incremental search pub incremental_search_options: Option>, incremental_search_cache: Option, compiled_regex: Option, } /// Options to control incremental search /// /// NOTE: `text` and `initial_formatted_lines` are experimental in this context and are subject to /// change. Use them at your own risk. pub struct IncrementalSearchOpts<'a> { /// Current status of line numbering pub line_numbers: LineNumbers, /// Value of [PagerState::upper_mark] before starting of search prompt pub initial_upper_mark: usize, /// Reference to [PagerState::screen] pub screen: &'a Screen, /// Value of [PagerState::upper_mark] before starting of search prompt pub initial_left_mark: usize, } impl<'a> From<&'a PagerState> for IncrementalSearchOpts<'a> { fn from(ps: &'a PagerState) -> Self { Self { line_numbers: ps.line_numbers, initial_upper_mark: ps.upper_mark, screen: &ps.screen, initial_left_mark: ps.left_mark, } } } #[allow(clippy::fallible_impl_from)] impl<'a> From<&'a PagerState> for SearchOpts<'a> { fn from(ps: &'a PagerState) -> Self { let search_char = if ps.search_state.search_mode == SearchMode::Forward { '/' } else if ps.search_state.search_mode == SearchMode::Reverse { '?' } else { unreachable!(); }; let incremental_search_options = IncrementalSearchOpts::from(ps); Self { ev: None, string: String::with_capacity(200), input_status: InputStatus::Active, cursor_position: 1, word_index: Vec::with_capacity(200), search_char, rows: ps.rows.try_into().unwrap(), cols: ps.cols.try_into().unwrap(), incremental_search_options: Some(incremental_search_options), incremental_search_cache: None, compiled_regex: None, search_mode: ps.search_state.search_mode, } } } /// Status of the search prompt #[derive(Debug, Eq, PartialEq, Clone)] pub enum InputStatus { /// Closed due to confirmation of search query using `Enter` Confirmed, /// Closed due to abortion using `Esc` Cancelled, /// Search prompt is open Active, } impl InputStatus { /// Returns true if the input prompt is closed either by confirming the query or by cancelling /// he search #[must_use] pub const fn done(&self) -> bool { matches!(self, Self::Cancelled | Self::Confirmed) } } /// Return type of [fetch_input] pub(crate) struct FetchInputResult { /// Original search query pub(crate) string: String, /// Incremental search cache if available pub(crate) incremental_search_result: Option, /// Cached pre-compiled [Regex] if available pub(crate) compiled_regex: Option, } impl FetchInputResult { /// Create an empty `FetchInputResult` with string set to empty string and /// incremental_search_cache and compiled_regex set to `None`. const fn new_empty() -> Self { Self { string: String::new(), incremental_search_result: None, compiled_regex: None, } } } /// A cache for storing all the new data obtained by running incremental search pub(crate) struct IncrementalSearchCache { /// Lines to be displayed with highlighted search matches pub(crate) formatted_lines: Vec, /// Index from `search_idx` where a search match after current upper mark may be found /// NOTE: There is no guarantee that this will stay within the bounds of `search_idx` pub(crate) search_mark: usize, /// Indices of formatted_lines where search matches have been found pub(crate) search_idx: BTreeSet, /// Index of the line from which to display the text. /// This will be set to the index of line which is after the current upper mark and will /// have a search match for sure pub(crate) upper_mark: usize, } /// Runs the incremental search /// /// It will return if `Ok(SomeIncrementalSearchCache)` if there was a successful run of incremental /// search otherwise it will return `Ok(None)`. /// /// # Errors /// This function will returns a `Err(MinusError)` if any operation on the terminal failed to /// execute. fn run_incremental_search<'a, F, O>( out: &mut O, so: &'a SearchOpts<'a>, incremental_search_condition: F, ) -> crate::Result> where O: Write, F: Fn(&'a SearchOpts) -> bool, { if so.incremental_search_options.is_none() { return Ok(None); } let iso = so.incremental_search_options.as_ref().unwrap(); // Check if we can continue forward with incremental search let should_proceed = so.compiled_regex.is_some() && incremental_search_condition(so); // **Screen resetting**: // This is an important bit when running incremental search.It reset the terminal screen to // display the lines from the same location and in the same way as before the search even // started. Basically print it exactly how it looked before pressing `/` or `?`, let reset_screen = |out: &mut O, so: &SearchOpts<'_>| -> crate::Result { display::write_text_checked( out, &iso.screen.formatted_lines, iso.initial_upper_mark, so.rows.into(), so.cols.into(), iso.screen.line_wrapping, iso.initial_left_mark, iso.line_numbers, iso.screen.line_count(), )?; Ok(()) }; // If the query prior to the current one had a successful incremental search run and now the // current query isn't a valid regex or the incremental search condition has returned false // then if so.incremental_search_cache.is_some() && !should_proceed { reset_screen(out, so)?; return Ok(None); } // Return immediately if search query isn't valid or incremental search condition is false // NOTE: This must come after the reset screen display code in above statement, otherwise this // will cover all the cases of the above statement's condition and hence the terminal will ever // get reset if !should_proceed { return Ok(None); } // Format the text with search highlights and get the index of the element in // format_result.append_search_idx which is after the current upper mark // // PERF: Check if this can be futhur optimized let (buffer, format_result) = screen::make_format_lines( &iso.screen.orig_text, iso.line_numbers, so.cols.into(), iso.screen.line_wrapping, &so.compiled_regex, ); let position_of_next_match = next_nth_match(&format_result.append_search_idx, iso.initial_upper_mark, 0); // Get the upper mark. If we can't find one, reset the display let upper_mark; if let Some(pnm) = position_of_next_match { upper_mark = *format_result.append_search_idx.iter().nth(pnm).unwrap(); // Draw the incrementally searched lines from upper mark display::write_text_checked( out, &buffer, upper_mark, so.rows.into(), so.cols.into(), iso.screen.line_wrapping, iso.initial_left_mark, iso.line_numbers, iso.screen.line_count(), )?; } else { reset_screen(out, so)?; return Ok(None); } // Return the results obtained by running incremental search so that they can be stored as a // cache. Ok(Some(IncrementalSearchCache { formatted_lines: buffer, search_mark: position_of_next_match.unwrap(), upper_mark, search_idx: format_result.append_search_idx, })) } /// Respond to keyboard events /// /// This souuld be called exactly once for each event by [fetch_input] #[allow(clippy::too_many_lines)] fn handle_key_press( out: &mut O, so: &mut SearchOpts<'_>, incremental_search_condition: F, ) -> crate::Result where O: Write, F: Fn(&SearchOpts<'_>) -> bool, { // Bounds between which our cursor can move const FIRST_AVAILABLE_COLUMN: u16 = 1; let last_available_column: u16 = so.string.len().saturating_add(1).try_into().unwrap(); // If no event is present, abort if so.ev.is_none() { return Ok(()); } let populate_word_index = |so: &mut SearchOpts<'_>| { so.word_index = WORD .find_iter(&so.string) .map(|c| c.start().saturating_add(1).try_into().unwrap()) .collect::>(); }; let refresh_display = |out: &mut O, so: &mut SearchOpts<'_>| -> Result<(), MinusError> { // Cache the compiled regex if the regex is valid so.compiled_regex = Regex::new(&so.string).ok(); // Run incremental search and update the upper mark if incremental search had a successful // run otherwise set it to the initial upper mark so.incremental_search_cache = run_incremental_search(out, so, incremental_search_condition)?; // Update prompt term::move_cursor(out, 0, so.rows, false)?; write!( out, "\r{}{}{}", Clear(ClearType::CurrentLine), so.search_char, so.string, )?; Ok(()) }; match so.ev.as_ref().unwrap() { // If Esc is pressed, cancel the search and also make sure that the search query is // ")cleared Event::Key(KeyEvent { code: KeyCode::Esc, modifiers: KeyModifiers::NONE, .. }) => { so.string.clear(); so.input_status = InputStatus::Cancelled; } Event::Key(KeyEvent { code: KeyCode::Backspace, modifiers: KeyModifiers::NONE, .. }) => { // On backspace, remove the last character just before the cursor from the so.string // But if we are at very first character, do nothing. if so.cursor_position == FIRST_AVAILABLE_COLUMN { return Ok(()); } so.cursor_position = so.cursor_position.saturating_sub(1); so.string .remove(so.cursor_position.saturating_sub(1).into()); populate_word_index(so); // Update the line refresh_display(out, so)?; term::move_cursor(out, so.cursor_position, so.rows, false)?; out.flush()?; } Event::Key(KeyEvent { code: KeyCode::Delete, modifiers: KeyModifiers::NONE, .. }) => { // On delete, remove the character under the cursor from the so.string // But if we are at the column right after the last character, do nothing. if so.cursor_position >= last_available_column { return Ok(()); } so.cursor_position = so.cursor_position.saturating_sub(1); so.string .remove(>::into(so.cursor_position)); populate_word_index(so); so.cursor_position = so.cursor_position.saturating_add(1); // Update the line refresh_display(out, so)?; term::move_cursor(out, so.cursor_position, so.rows, false)?; out.flush()?; } Event::Key(KeyEvent { code: KeyCode::Enter, modifiers: KeyModifiers::NONE, .. }) => { so.input_status = InputStatus::Confirmed; } Event::Key(KeyEvent { code: KeyCode::Left, modifiers: KeyModifiers::NONE, .. }) => { if so.cursor_position == FIRST_AVAILABLE_COLUMN { return Ok(()); } so.cursor_position = so.cursor_position.saturating_sub(1); term::move_cursor(out, so.cursor_position, so.rows, true)?; } Event::Key(KeyEvent { code: KeyCode::Left, modifiers: KeyModifiers::CONTROL, .. }) => { // Find the column number where a word starts which is exactly before the current // cursor position // If we can't find any such column, jump to the very first available column so.cursor_position = *so .word_index .iter() .rfind(|c| c < &&so.cursor_position) .unwrap_or(&FIRST_AVAILABLE_COLUMN); term::move_cursor(out, so.cursor_position, so.rows, true)?; } Event::Key(KeyEvent { code: KeyCode::Right, modifiers: KeyModifiers::NONE, .. }) => { if so.cursor_position >= last_available_column { return Ok(()); } so.cursor_position = so.cursor_position.saturating_add(1); term::move_cursor(out, so.cursor_position, so.rows, true)?; } Event::Key(KeyEvent { code: KeyCode::Right, modifiers: KeyModifiers::CONTROL, .. }) => { // Find the column number where a word starts which is exactly after the current // cursor position // If we can't find any such column, jump to the very last available column so.cursor_position = *so .word_index .iter() .find(|c| c > &&so.cursor_position) .unwrap_or(&last_available_column); term::move_cursor(out, so.cursor_position, so.rows, true)?; } Event::Key(KeyEvent { code: KeyCode::Home, modifiers: KeyModifiers::NONE, .. }) => { so.cursor_position = 1; term::move_cursor(out, 1, so.rows, true)?; } Event::Key(KeyEvent { code: KeyCode::End, modifiers: KeyModifiers::NONE, .. }) => { so.cursor_position = so.string.len().saturating_add(1).try_into().unwrap(); term::move_cursor(out, so.cursor_position, so.rows, true)?; } Event::Key(event) => { // For any character key, without a modifier, insert it into so.string before // current cursor position and update the line if let KeyCode::Char(c) = event.code { so.string .insert(so.cursor_position.saturating_sub(1).into(), c); populate_word_index(so); refresh_display(out, so)?; so.cursor_position = so.cursor_position.saturating_add(1); term::move_cursor(out, so.cursor_position, so.rows, false)?; out.flush()?; } } _ => return Ok(()), } Ok(()) } /// Fetch the search query /// /// The function will change the prompt to `/` for Forward search or `?` for Reverse search. /// Next it fetches and handles all events from the terminal screen until [SearchOpts::input_status] isn't /// set to either [InputStatus::Cancelled] or [InputStatus::Confirmed] by pressing `Esc` or /// `Enter` respectively. /// Finally we return #[cfg(feature = "search")] pub(crate) fn fetch_input( out: &mut impl std::io::Write, ps: &PagerState, ) -> Result { // Set the search character to show at column 0 let search_char = if ps.search_state.search_mode == SearchMode::Forward { '/' } else { '?' }; // Initial setup // - Place the cursor at the beginning of prompt line // - Clear the prompt // - Write the search character and // - Show the cursor term::move_cursor(out, 0, ps.rows.try_into().unwrap(), false)?; write!( out, "{}{}{}", Clear(ClearType::CurrentLine), search_char, cursor::Show )?; out.flush()?; let mut search_opts = SearchOpts::from(ps); // Fetch events from the terminal and handle them loop { if event::poll(Duration::from_millis(100)).map_err(|e| MinusError::HandleEvent(e.into()))? { let ev = event::read().map_err(|e| MinusError::HandleEvent(e.into()))?; search_opts.ev = Some(ev); handle_key_press( out, &mut search_opts, &ps.search_state.incremental_search_condition, )?; search_opts.ev = None; } if search_opts.input_status.done() { break; } } // Teardown: almost opposite of setup term::move_cursor(out, 0, ps.rows.try_into().unwrap(), false)?; write!(out, "{}{}", Clear(ClearType::CurrentLine), cursor::Hide)?; out.flush()?; let fetch_input_result = match search_opts.input_status { InputStatus::Active => unreachable!(), InputStatus::Cancelled => FetchInputResult::new_empty(), // When the query is confirmed, return the actual query along with everything that is valid // in the cache InputStatus::Confirmed => FetchInputResult { string: search_opts.string, incremental_search_result: search_opts.incremental_search_cache, compiled_regex: search_opts.compiled_regex, }, }; Ok(fetch_input_result) } /// Highlights the search match /// /// The first return value returns the line that has all the search matches highlighted /// The second tells whether a search match was actually found pub(crate) fn highlight_line_matches( line: &str, query: ®ex::Regex, accurate: bool, ) -> (String, bool) { // Remove all ansi escapes so we can look through it as if it had none let stripped_str = ANSI_REGEX.replace_all(line, ""); // if it doesn't match, don't even try. Just return. if !query.is_match(&stripped_str) { return (line.to_string(), false); } // sum_width is used to calculate the total width of the ansi escapes // up to the point in the original string where it is being used let mut sum_width = 0; // find all ansi escapes in the original string, and map them // to a Vec<(usize, &str)> where // .0 == the start index in the STRIPPED string // .1 == the escape sequence itself let escapes = ANSI_REGEX .find_iter(line) .map(|escape| { let start = escape.start(); let as_str = escape.as_str(); let ret = (start - sum_width, as_str); sum_width += as_str.len(); ret }) .collect::>(); // The matches of the term you're looking for, so that you can easily determine where // the invert attributes will be placed let matches = query .find_iter(&stripped_str) .flat_map(|c| [c.start(), c.end()]) .collect::>(); // Highlight all the instances of the search term in the stripped string // by inverting their background/foreground colors let mut inverted = query .replace_all(&stripped_str, |caps: ®ex::Captures| { format!("{}{}{}", *INVERT, &caps[0], *NORMAL) }) .to_string(); // inserted_escs_len == the total length of the ascii escapes which have been re-inserted // into the stripped string at the point where it is being checked. let mut inserted_escs_len = 0; for esc in escapes { let match_count = matches.iter().take_while(|m| **m <= esc.0).count(); // Find how many invert|normal markers appear before this escape // find the number of invert strings and number of uninvert strings that have been // inserted up to this point in the string let num_invert = match_count / 2; let num_normal = match_count - num_invert; // calculate the index which this escape should be re-inserted at by adding // its position in the stripped string to the total length of the ansi escapes // (both highlighting and the ones from the original string). // TODO: Add more docs to this let mut pos = if !accurate && match_count % 2 == 1 { // INFO: Its safe to unwrap here matches.get(match_count).unwrap() + NORMAL.len() + inserted_escs_len + (num_invert * INVERT.len()) + (num_normal * NORMAL.len()) } else { esc.0 + inserted_escs_len + (num_invert * INVERT.len()) + (num_normal * NORMAL.len()) }; if match_count % 2 == 1 { pos = pos.saturating_sub(1); } // insert the escape back in inverted.insert_str(pos, esc.1); // increment the length of the escapes inserted back in inserted_escs_len += esc.1.len(); } (inverted, true) } /// Return a index of an element from `search_idx` that will contain a search match and /// will be after the `upper_mark` /// /// `jump` denotes how many indexes to jump through. For example if `search_idx` is /// `[5, 17, 25, 34, 42]` and `upper_mark` is at 7 and `jump` is set to 1 then this will /// return `Some(1)` which is the index of 17. If `n `is set to 3 it will return /// `Some(3)` which is index of 34. /// /// If `jump` causes the index to overflow the length of the `search_idx`, the function will set it /// to the index of last element in `search_idx`.Also if search_idx is empty, this will simply /// return None. /// /// Setting `jump` equal to 0 causes a slight change in behaviour: it will also return the index of /// element if that element is equal to the current upper mark. In the above example lets say that /// `upper_mark` is at 17 and `jump` is set to 0 then this will return `Some(1)` as the /// `upper_mark` and element at index are equal i.e 17. #[must_use] pub(crate) fn next_nth_match( search_idx: &BTreeSet, upper_mark: usize, jump: usize, ) -> Option { if search_idx.is_empty() { return None; } // Find the index of the match that's exactly after the upper_mark. // One we find that, we add n-1 to it to get the next nth match after upper_mark let mut position_of_next_match; if let Some(nearest_idx) = search_idx.iter().position(|i| { if jump == 0 { *i >= upper_mark } else { *i > upper_mark } }) { // This ensures that index doesn't get off-by-one in case of jump = 0 if jump == 0 { position_of_next_match = nearest_idx; } else { position_of_next_match = nearest_idx.saturating_add(jump).saturating_sub(1); } // If position_of_next_match is goes beyond the length of search_idx // set it to the length of search_idx -1 which corresponds to the index of // last match if position_of_next_match > search_idx.len().saturating_sub(1) { position_of_next_match = search_idx.len().saturating_sub(1); } } else { // If there's no match at all simply set it to the length of search_idx -1 which // corresponds to the index of last match position_of_next_match = search_idx.len().saturating_sub(1); } Some(position_of_next_match) } #[cfg(test)] mod tests { mod input_handling { use crate::{ search::{handle_key_press, InputStatus, SearchOpts}, SearchMode, }; use crossterm::{ cursor::MoveTo, event::{Event, KeyCode, KeyEvent, KeyEventKind, KeyEventState, KeyModifiers}, terminal::{Clear, ClearType}, }; use std::{convert::TryInto, io::Write}; fn new_search_opts(sm: SearchMode) -> SearchOpts<'static> { let search_char = match sm { SearchMode::Forward => '/', SearchMode::Reverse => '?', SearchMode::Unknown => unreachable!(), }; SearchOpts { ev: None, string: String::with_capacity(200), input_status: InputStatus::Active, cursor_position: 1, word_index: Vec::with_capacity(200), search_char, rows: 25, cols: 100, incremental_search_options: None, incremental_search_cache: None, compiled_regex: None, search_mode: sm, } } const fn make_event_from_keycode(kc: KeyCode) -> Event { Event::Key(KeyEvent { code: kc, kind: KeyEventKind::Press, modifiers: KeyModifiers::NONE, state: KeyEventState::NONE, }) } fn pretest_setup_forward_search() -> (SearchOpts<'static>, Vec, u16, &'static str) { const QUERY_STRING: &str = "this is@complex-text_search?query"; // length = 33 #[allow(clippy::cast_possible_truncation)] let last_movable_column: u16 = (QUERY_STRING.len() as u16) + 1; // 34 let mut search_opts = new_search_opts(SearchMode::Forward); let mut out = Vec::with_capacity(1500); for c in QUERY_STRING.chars() { search_opts.ev = Some(make_event_from_keycode(KeyCode::Char(c))); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); } assert_eq!(search_opts.cursor_position, last_movable_column); (search_opts, out, last_movable_column, QUERY_STRING) } #[test] fn input_sequential_text() { let mut search_opts = new_search_opts(SearchMode::Forward); let mut out = Vec::with_capacity(1500); for (i, c) in "text search matches".chars().enumerate() { search_opts.ev = Some(make_event_from_keycode(KeyCode::Char(c))); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.input_status, InputStatus::Active); assert_eq!(search_opts.cursor_position as usize, i + 2); } search_opts.ev = Some(make_event_from_keycode(KeyCode::Enter)); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.word_index, vec![1, 5, 6, 12, 13]); assert_eq!(&search_opts.string, "text search matches"); assert_eq!(search_opts.input_status, InputStatus::Confirmed); } #[test] fn input_complex_sequential_text() { let mut search_opts = new_search_opts(SearchMode::Forward); let mut out = Vec::with_capacity(1500); for (i, c) in "this is@complex-text_search?query".chars().enumerate() { search_opts.ev = Some(make_event_from_keycode(KeyCode::Char(c))); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.input_status, InputStatus::Active); assert_eq!(search_opts.cursor_position as usize, i + 2); } search_opts.ev = Some(make_event_from_keycode(KeyCode::Enter)); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.word_index, vec![1, 5, 6, 8, 9, 16, 17, 28, 29]); assert_eq!(&search_opts.string, "this is@complex-text_search?query"); assert_eq!(search_opts.input_status, InputStatus::Confirmed); } #[test] fn home_end_keys() { // Setup let (mut search_opts, mut out, last_movable_column, _) = pretest_setup_forward_search(); search_opts.ev = Some(make_event_from_keycode(KeyCode::Home)); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.cursor_position as usize, 1); search_opts.ev = Some(make_event_from_keycode(KeyCode::End)); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.cursor_position, last_movable_column); } #[test] fn basic_left_arrow_movement() { const FIRST_MOVABLE_COLUMN: u16 = 1; let (mut search_opts, mut out, last_movable_column, _) = pretest_setup_forward_search(); let query_string_length = last_movable_column - 1; // We are currently at the very next column to the last char // Check functionality of left arrow key // Pressing left arrow moves the cursor towards the beginning of string until it // reaches the first char after which pressing it further would not have any effect for i in (FIRST_MOVABLE_COLUMN..=query_string_length).rev() { search_opts.ev = Some(make_event_from_keycode(KeyCode::Left)); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.cursor_position, i); } // Pressing Left arrow any more will not make any effect search_opts.ev = Some(make_event_from_keycode(KeyCode::Left)); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.cursor_position, FIRST_MOVABLE_COLUMN); } #[test] fn basic_right_arrow_movement() { // Setup let (mut search_opts, mut out, last_movable_column, _) = pretest_setup_forward_search(); // Go to the 1st char search_opts.ev = Some(make_event_from_keycode(KeyCode::Home)); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); // Check functionality of right arrow key // Pressing right arrow moves the cursor towards the end of string until it // reaches the very next column to the last char after which pressing it further would not have any effect for i in 2..=last_movable_column { search_opts.ev = Some(make_event_from_keycode(KeyCode::Right)); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.cursor_position, i); } // Pressing right arrow any more will not make any effect search_opts.ev = Some(make_event_from_keycode(KeyCode::Right)); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.cursor_position, last_movable_column); } #[test] fn right_jump_by_word() { const JUMP_COLUMNS: [u16; 10] = [1, 5, 6, 8, 9, 16, 17, 28, 29, LAST_MOVABLE_COLUMN]; // Setup let (mut search_opts, mut out, _last_movable_column, _) = pretest_setup_forward_search(); // LAST_MOVABLE_COLUMN = _last_movable_column = 34 #[allow(clippy::items_after_statements)] const LAST_MOVABLE_COLUMN: u16 = 34; // Go to the 1st char search_opts.ev = Some(make_event_from_keycode(KeyCode::Home)); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); let ev = Event::Key(KeyEvent { code: KeyCode::Right, kind: KeyEventKind::Press, modifiers: KeyModifiers::CONTROL, state: KeyEventState::NONE, }); // Jump right word by word for i in &JUMP_COLUMNS[1..] { search_opts.ev = Some(ev.clone()); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.cursor_position, *i); } // Pressing ctrl+right will not do anything any keep the cursor at the very next column // to the last char search_opts.ev = Some(ev); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.cursor_position, LAST_MOVABLE_COLUMN); } #[test] fn left_jump_by_word() { const JUMP_COLUMNS: [u16; 10] = [1, 5, 6, 8, 9, 16, 17, 28, 29, LAST_MOVABLE_COLUMN]; // Setup let (mut search_opts, mut out, _last_movable_column, _) = pretest_setup_forward_search(); // LAST_MOVABLE_COLUMN = _last_movable_column = 34 #[allow(clippy::items_after_statements)] const LAST_MOVABLE_COLUMN: u16 = 34; // We are currently at the very next column to the last char let ev = Event::Key(KeyEvent { code: KeyCode::Left, kind: KeyEventKind::Press, modifiers: KeyModifiers::CONTROL, state: KeyEventState::NONE, }); // Jump right word by word for i in (JUMP_COLUMNS[..(JUMP_COLUMNS.len() - 1)]).iter().rev() { search_opts.ev = Some(ev.clone()); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.cursor_position, *i); } // Pressing ctrl+left will not do anything and keep the cursor at the very first column search_opts.ev = Some(ev); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.cursor_position, JUMP_COLUMNS[0]); } #[test] fn esc_key() { let (mut search_opts, mut out, _, _) = pretest_setup_forward_search(); search_opts.ev = Some(make_event_from_keycode(KeyCode::Esc)); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); assert_eq!(search_opts.input_status, InputStatus::Cancelled); } #[test] fn forward_sequential_text_input_screen_data() { let (search_opts, out, _last_movable_column, query_string) = pretest_setup_forward_search(); let mut result_out = Vec::with_capacity(1500); // Try to recreate the behaviour of handle_key_press when new char is entered let mut string = String::with_capacity(query_string.len()); let mut cursor_position: u16 = 1; for c in query_string.chars() { string.push(c); cursor_position = cursor_position.saturating_add(1); write!( result_out, "{move_to_prompt}\r{clear_line}/{string}{move_to_position}", move_to_prompt = MoveTo(0, search_opts.rows), clear_line = Clear(ClearType::CurrentLine), move_to_position = MoveTo(cursor_position, search_opts.rows), ) .unwrap(); } assert_eq!(out, result_out); } #[test] fn backward_sequential_text_input_screen_data() { const QUERY_STRING: &str = "this is@complex-text_search?query"; // length = 33 #[allow(clippy::cast_possible_truncation)] const LAST_MOVABLE_COLUMN: u16 = (QUERY_STRING.len() as u16) + 1; // 34 let mut search_opts = new_search_opts(SearchMode::Reverse); let mut out = Vec::with_capacity(1500); for c in QUERY_STRING.chars() { search_opts.ev = Some(make_event_from_keycode(KeyCode::Char(c))); handle_key_press(&mut out, &mut search_opts, |_| false).unwrap(); } assert_eq!(search_opts.cursor_position, LAST_MOVABLE_COLUMN); let mut result_out = Vec::with_capacity(1500); // Try to recreate the behaviour of handle_key_press when new char is entered let mut string = String::with_capacity(QUERY_STRING.len()); let mut cursor_position: u16 = 1; for c in QUERY_STRING.chars() { string.push(c); cursor_position = cursor_position.saturating_add(1); write!( result_out, "{move_to_prompt}\r{clear_line}?{string}{move_to_position}", move_to_prompt = MoveTo(0, search_opts.rows), clear_line = Clear(ClearType::CurrentLine), move_to_position = MoveTo(cursor_position, search_opts.rows), ) .unwrap(); } assert_eq!(out, result_out); } } #[test] fn test_next_match() { // A sample index for mocking actual search index matches let search_idx = std::collections::BTreeSet::from([2, 10, 15, 17, 50]); let mut upper_mark = 0; let mut search_mark; for (i, v) in search_idx.iter().enumerate() { search_mark = super::next_nth_match(&search_idx, upper_mark, 1); assert_eq!(search_mark, Some(i)); let next_upper_mark = *search_idx.iter().nth(search_mark.unwrap()).unwrap(); assert_eq!(next_upper_mark, *v); upper_mark = next_upper_mark; } } #[allow(clippy::trivial_regex)] mod highlighting { use std::collections::BTreeSet; use crate::search::{highlight_line_matches, next_nth_match, INVERT, NORMAL}; use crate::PagerState; use crossterm::style::Attribute; use regex::Regex; // generic escape code const ESC: &str = "\x1b[34m"; const NONE: &str = "\x1b[0m"; mod consistent { use super::*; #[test] fn test_highlight_matches() { let line = "Integer placerat tristique nisl. placerat non mollis, magna orci dolor, placerat at vulputate neque nulla lacinia eros.".to_string(); let pat = Regex::new(r"\W\w+t\W").unwrap(); let result = format!( "Integer{inverse} placerat {noinverse}tristique nisl.\ {inverse} placerat {noinverse}non mollis, magna orci dolor,\ {inverse} placerat {noinverse}at vulputate neque nulla lacinia \ eros.", inverse = Attribute::Reverse, noinverse = Attribute::NoReverse ); assert_eq!(highlight_line_matches(&line, &pat, false).0, result); } #[test] fn no_match() { let orig = "no match"; let res = highlight_line_matches(orig, &Regex::new("test").unwrap(), false); assert_eq!(res.0, orig.to_string()); } #[test] fn single_match_no_esc() { let res = highlight_line_matches("this is a test", &Regex::new(" a ").unwrap(), false); assert_eq!(res.0, format!("this is{} a {}test", *INVERT, *NORMAL)); } #[test] fn multi_match_no_esc() { let res = highlight_line_matches( "test another test", &Regex::new("test").unwrap(), false, ); assert_eq!( res.0, format!("{i}test{n} another {i}test{n}", i = *INVERT, n = *NORMAL) ); } // NOTE: esc_pair means a single pair of ESC and NONE #[test] fn esc_pair_outside_match() { let res = highlight_line_matches( &format!("{ESC}color{NONE} and test"), &Regex::new("test").unwrap(), false, ); assert_eq!( res.0, format!("{}color{} and {}test{}", ESC, NONE, *INVERT, *NORMAL) ); } #[test] fn esc_pair_end_in_match() { let orig = format!("this {ESC}is a te{NONE}st"); let res = highlight_line_matches(&orig, &Regex::new("test").unwrap(), false); assert_eq!( res.0, format!("this {}is a {}test{}{}", ESC, *INVERT, *NORMAL, NONE) ); } #[test] fn esc_pair_start_in_match() { let orig = format!("this is a te{ESC}st again{NONE}"); let res = highlight_line_matches(&orig, &Regex::new("test").unwrap(), false); assert_eq!( res.0, format!("this is a {}test{}{ESC} again{}", *INVERT, *NORMAL, NONE) ); } #[test] fn esc_pair_around_match() { let orig = format!("this is {ESC}a test again{NONE}"); let res = highlight_line_matches(&orig, &Regex::new("test").unwrap(), false); assert_eq!( res.0, format!("this is {}a {}test{} again{}", ESC, *INVERT, *NORMAL, NONE) ); } #[test] fn esc_pair_within_match() { let orig = format!("this is a t{ESC}es{NONE}t again"); let res = highlight_line_matches(&orig, &Regex::new("test").unwrap(), false); assert_eq!( res.0, format!("this is a {}test{}{ESC}{NONE} again", *INVERT, *NORMAL) ); } #[test] fn multi_escape_match() { let orig = format!("this {ESC}is a te{NONE}st again {ESC}yeah{NONE} test",); let res = highlight_line_matches(&orig, &Regex::new("test").unwrap(), false); assert_eq!( res.0, format!( "this {e}is a {i}test{n}{nn} again {e}yeah{nn} {i}test{n}", e = ESC, i = *INVERT, n = *NORMAL, nn = NONE ) ); } } mod accurate { use super::*; #[test] fn correct_ascii_sequence_placement() { let orig = format!( "{ESC}test{NONE} this {ESC}is a te{NONE}st again {ESC}yeah{NONE} test", ); let res = highlight_line_matches(&orig, &Regex::new("test").unwrap(), true); assert_eq!( res.0, format!( "{i}{e}test{n}{nn} this {e}is a {i}te{NONE}st{n} again {e}yeah{nn} {i}test{n}", e = ESC, i = *INVERT, n = *NORMAL, nn = NONE ) ); } // NOTE: esc_pair means a single pair of ESC and NONE #[test] fn esc_pair_outside_match() { let res = highlight_line_matches( &format!("{ESC}color{NONE} and test"), &Regex::new("test").unwrap(), true, ); assert_eq!( res.0, format!("{}color{} and {}test{}", ESC, NONE, *INVERT, *NORMAL) ); } #[test] fn esc_pair_end_in_match() { let orig = format!("this {ESC}is a te{NONE}st"); let res = highlight_line_matches(&orig, &Regex::new("test").unwrap(), true); assert_eq!( res.0, format!("this {ESC}is a {}te{NONE}st{}", *INVERT, *NORMAL) ); } #[test] fn esc_pair_start_in_match() { let orig = format!("this is a te{ESC}st again{NONE}"); let res = highlight_line_matches(&orig, &Regex::new("test").unwrap(), true); assert_eq!( res.0, format!("this is a {}te{ESC}st{} again{NONE}", *INVERT, *NORMAL) ); } #[test] fn esc_pair_around_match() { let orig = format!("this is {ESC}a test again{NONE}"); let res = highlight_line_matches(&orig, &Regex::new("test").unwrap(), true); assert_eq!( res.0, format!("this is {ESC}a {}test{} again{NONE}", *INVERT, *NORMAL) ); } #[test] fn esc_pair_within_match() { let orig = format!("this is a t{ESC}es{NONE}t again"); let res = highlight_line_matches(&orig, &Regex::new("test").unwrap(), true); assert_eq!( res.0, format!("this is a {}t{ESC}es{NONE}t{} again", *INVERT, *NORMAL) ); } #[test] fn multi_escape_match() { let orig = format!("this {ESC}is a te{NONE}st again {ESC}yeah{NONE} test",); let res = highlight_line_matches(&orig, &Regex::new("test").unwrap(), true); assert_eq!( res.0, format!( "this {e}is a {i}te{nn}st{n} again {e}yeah{nn} {i}test{n}", e = ESC, i = *INVERT, n = *NORMAL, nn = NONE ) ); } } } } minus-5.6.1/src/state.rs000064400000000000000000000351051046102023000132510ustar 00000000000000//! Contains types that hold run-time information of the pager. #[cfg(feature = "search")] use crate::search::{SearchMode, SearchOpts}; use crate::{ error::{MinusError, TermError}, input::{self, HashedEventRegister}, minus_core::{ self, utils::{display::AppendStyle, LinesRowMap}, CommandQueue, }, screen::{self, Screen}, ExitStrategy, LineNumbers, }; use crossterm::{terminal, tty::IsTty}; #[cfg(feature = "search")] use parking_lot::Condvar; use parking_lot::Mutex; #[cfg(feature = "search")] use std::collections::BTreeSet; use std::{ collections::hash_map::RandomState, convert::TryInto, io::stdout, io::Stdout, sync::{atomic::AtomicBool, Arc}, }; use crate::minus_core::{commands::Command, ev_handler::handle_event}; use crossbeam_channel::Receiver; #[cfg(feature = "search")] #[cfg_attr(docsrs, doc(cfg(feature = "search")))] #[allow(clippy::module_name_repetitions)] /// Contains information about the current search pub struct SearchState { /// Direction of search /// /// See [`SearchMode`] for available options pub search_mode: SearchMode, /// Stores the most recent search term pub(crate) search_term: Option, /// Lines where searches have a match /// In order to avoid duplicate entries of lines, we keep it in a [`BTreeSet`] pub(crate) search_idx: BTreeSet, /// Index of search item currently in focus /// It should be 0 even when no search is in action pub(crate) search_mark: usize, /// Function to run before running an incremental search. /// /// If the function returns a `false`, the incremental search is cancelled. pub(crate) incremental_search_condition: Box bool + Send + Sync + 'static>, } #[cfg(feature = "search")] impl Default for SearchState { fn default() -> Self { let incremental_search_condition = Box::new(|so: &SearchOpts| { so.string.len() > 1 && so .incremental_search_options .as_ref() .unwrap() .screen .line_count() <= 5000 }); Self { search_mode: SearchMode::Unknown, search_term: None, search_idx: BTreeSet::new(), search_mark: 0, incremental_search_condition, } } } /// Holds all information and configuration about the pager during /// its run time. /// /// This type is exposed so that end-applications can implement the /// [`InputClassifier`](input::InputClassifier) trait which requires the `PagerState` to be passed /// as a parameter /// /// Various fields are made public so that their values can be accessed while implementing the /// trait. #[allow(clippy::module_name_repetitions)] pub struct PagerState { /// Configuration for line numbers. See [`LineNumbers`] pub line_numbers: LineNumbers, /// Any message to display to the user at the prompt /// The first element contains the actual message, while the second element tells /// whether the message has changed since the last display. pub message: Option, /// The upper bound of scrolling. /// /// This is useful for keeping track of the range of lines which are currently being displayed on /// the terminal. /// When `rows - 1` is added to the `upper_mark`, it gives the lower bound of scroll. /// /// For example if there are 10 rows is a terminal and the data to display has 50 lines in it /// If the `upper_mark` is 15, then the first row of the terminal is the 16th line of the data /// and last row is the 24th line of the data. pub upper_mark: usize, /// The left mark of scrolling /// /// When this is `> 0`, this amount of text will be truncated from the left side pub left_mark: usize, /// Direction of search /// /// See [`SearchMode`] for available options /// /// **WARNING: This item has been deprecated in favour of [SearchState::search_mode] availlable /// by the [PagerState::search_state] field. Any new code should prefer using it instead of this one.** #[cfg(feature = "search")] #[cfg_attr(docsrs, cfg(feature = "search"))] pub search_mode: SearchMode, /// Available rows in the terminal pub rows: usize, /// Available columns in the terminal pub cols: usize, /// This variable helps in scrolling more than one line at a time /// It keeps track of all the numbers that have been entered by the user /// until any of `j`, `k`, `G`, `Up` or `Down` is pressed pub prefix_num: String, /// Describes whether minus is running and in which mode pub running: &'static Mutex, #[cfg(feature = "search")] #[cfg_attr(docsrs, cfg(feature = "search"))] pub search_state: SearchState, pub screen: Screen, /// The prompt displayed at the bottom wrapped to available terminal width pub(crate) prompt: String, /// The input classifier to be called when a input is detected pub(crate) input_classifier: Box, /// Functions to run when the pager quits pub(crate) exit_callbacks: Vec>, /// The behaviour to do when user quits the program using `q` or `Ctrl+C` /// See [`ExitStrategy`] for available options pub(crate) exit_strategy: ExitStrategy, /// The prompt that should be displayed to the user, formatted with the /// current search index and number of matches (if the search feature is enabled), /// and the current numbers inputted to scroll pub(crate) displayed_prompt: String, /// Whether to show the prompt on the screen pub(crate) show_prompt: bool, /// Do we want to page if there is no overflow #[cfg(feature = "static_output")] pub(crate) run_no_overflow: bool, pub(crate) lines_to_row_map: LinesRowMap, /// Value for follow mode. /// See [follow_output](crate::pager::Pager::follow_output) for more info on follow mode. pub(crate) follow_output: bool, } impl PagerState { pub(crate) fn new() -> Result { let (rows, cols); if cfg!(test) { // In tests, set number of columns to 80 and rows to 10 cols = 80; rows = 10; } else if stdout().is_tty() { // If a proper terminal is present, get size and set it let size = terminal::size()?; cols = size.0 as usize; rows = size.1 as usize; } else { // For other cases beyond control cols = 1; rows = 1; }; let prompt = std::env::current_exe() .unwrap_or_else(|_| std::path::PathBuf::from("minus")) .file_name() .map_or_else( || std::ffi::OsString::from("minus"), std::ffi::OsStr::to_os_string, ) .into_string() .unwrap_or_else(|_| String::from("minus")); let mut state = Self { line_numbers: LineNumbers::Disabled, upper_mark: 0, prompt, running: &minus_core::RUNMODE, left_mark: 0, exit_strategy: ExitStrategy::ProcessQuit, input_classifier: Box::>::default(), exit_callbacks: Vec::with_capacity(5), message: None, screen: Screen::default(), displayed_prompt: String::new(), show_prompt: true, #[cfg(feature = "static_output")] run_no_overflow: false, #[cfg(feature = "search")] search_mode: SearchMode::default(), #[cfg(feature = "search")] search_state: SearchState::default(), // Just to be safe in tests, keep at 1x1 size cols, rows, prefix_num: String::new(), lines_to_row_map: LinesRowMap::new(), follow_output: false, }; state.format_prompt(); Ok(state) } /// Generate the initial [`PagerState`] /// /// [`init_core`](crate::minus_core::init::init_core) calls this functions for creating the PagerState. /// /// This function creates a default [`PagerState`] and fetches all events present in the receiver /// to create the initial state. This is done before starting the pager so that /// the optimizationss can be applied. /// /// # Errors /// This function will return an error if it could not create the default [`PagerState`] or fails /// to process the events pub(crate) fn generate_initial_state( rx: &Receiver, mut out: &mut Stdout, ) -> Result { let mut ps = Self::new()?; let mut command_queue = CommandQueue::new_zero(); rx.try_iter().try_for_each(|ev| -> Result<(), MinusError> { handle_event( ev, &mut out, &mut ps, &mut command_queue, &Arc::new(AtomicBool::new(false)), #[cfg(feature = "search")] &Arc::new((Mutex::new(true), Condvar::new())), ) })?; Ok(ps) } pub(crate) fn format_lines(&mut self) { let (buffer, format_result) = screen::make_format_lines( &self.screen.orig_text, self.line_numbers, self.cols, self.screen.line_wrapping, #[cfg(feature = "search")] &self.search_state.search_term, ); #[cfg(feature = "search")] { self.search_state.search_idx = format_result.append_search_idx; } self.screen.formatted_lines = buffer; self.lines_to_row_map = format_result.lines_to_row_map; self.screen.max_line_length = format_result.max_line_length; self.screen.unterminated = format_result.num_unterminated; self.format_prompt(); } /// Reformat the inputted prompt to how it should be displayed pub(crate) fn format_prompt(&mut self) { const PROMPT_SPEC: &str = "\x1b[2;40;37m"; const SEARCH_SPEC: &str = "\x1b[30;44m"; const INPUT_SPEC: &str = "\x1b[30;43m"; const MSG_SPEC: &str = "\x1b[30;1;41m"; const RESET: &str = "\x1b[0m"; const FOLLOW_MODE_SPEC: &str = "\x1b[1m"; // Allocate the string. Add extra space in case for the // ANSI escape things if we do have characters typed and search showing let mut format_string = String::with_capacity(self.cols + (SEARCH_SPEC.len() * 5) + 4); // Get the string that will contain the search index/match indicator #[cfg(feature = "search")] let mut search_str = String::new(); #[cfg(feature = "search")] if !self.search_state.search_idx.is_empty() { search_str.push(' '); search_str.push_str(&(self.search_state.search_mark + 1).to_string()); search_str.push('/'); search_str.push_str(&self.search_state.search_idx.len().to_string()); search_str.push(' '); } // And get the string that will contain the prefix_num let mut prefix_str = String::new(); if !self.prefix_num.is_empty() { prefix_str.push(' '); prefix_str.push_str(&self.prefix_num); prefix_str.push(' '); } // And lastly, the string that contains the prompt or msg let prompt_str = self.message.as_ref().unwrap_or(&self.prompt); #[cfg(feature = "search")] let search_len = search_str.len(); #[cfg(not(feature = "search"))] let search_len = 0; let follow_mode_str: &str = if self.follow_output { "[F]" } else { "" }; // Calculate how much extra padding in the middle we need between // the prompt/message and the indicators on the right let prefix_len = prefix_str.len(); let extra_space = self .cols .saturating_sub(search_len + prefix_len + follow_mode_str.len() + prompt_str.len()); let dsp_prompt: &str = if extra_space == 0 { &prompt_str[..self.cols - search_len - prefix_len - follow_mode_str.len()] } else { prompt_str }; // push the prompt/msg if self.message.is_some() { format_string.push_str(MSG_SPEC); } else { format_string.push_str(PROMPT_SPEC); } format_string.push_str(dsp_prompt); format_string.push_str(&" ".repeat(extra_space)); // add the prefix_num if it exists if prefix_len > 0 { format_string.push_str(INPUT_SPEC); format_string.push_str(&prefix_str); } // and add the search indicator stuff if it exists #[cfg(feature = "search")] if search_len > 0 { format_string.push_str(SEARCH_SPEC); format_string.push_str(&search_str); } // add follow-mode indicator if !follow_mode_str.is_empty() { format_string.push_str(FOLLOW_MODE_SPEC); format_string.push_str(follow_mode_str); } format_string.push_str(RESET); self.displayed_prompt = format_string; } /// Runs the exit callbacks pub(crate) fn exit(&mut self) { for func in &mut self.exit_callbacks { func(); } } pub(crate) fn append_str(&mut self, text: &str) -> AppendStyle { let old_lc = self.screen.line_count(); let old_lc_dgts = minus_core::utils::digits(old_lc); let mut append_result = self.screen.push_screen_buf( text, self.line_numbers, self.cols.try_into().unwrap(), #[cfg(feature = "search")] &self.search_state.search_term, ); let new_lc = self.screen.line_count(); let new_lc_dgts = minus_core::utils::digits(new_lc); #[cfg(feature = "search")] { let mut append_search_idx = append_result.append_search_idx; self.search_state.search_idx.append(&mut append_search_idx); } self.lines_to_row_map.append( &mut append_result.lines_to_row_map, append_result.clean_append, ); if self.line_numbers.is_on() && (new_lc_dgts != old_lc_dgts && old_lc_dgts != 0) { self.format_lines(); return AppendStyle::FullRedraw; } let total_rows = self.screen.formatted_lines_count(); let fmt_lines = &self .screen .get_formatted_lines_with_bounds(total_rows - append_result.rows_formatted, total_rows); AppendStyle::PartialUpdate(fmt_lines) } } minus-5.6.1/src/static_pager.rs000064400000000000000000000025351046102023000145770ustar 00000000000000//! Contains function for displaying static data //! //! This module provides provides the [`page_all`] function to display static output via minus use crate::minus_core::init; use crate::{error::MinusError, Pager}; /// Display static information to the screen /// /// Since it is sure that fed data will never change, minus can do some checks like:- /// * If stdout is not a tty, minus not start a pager. It will simply print all the data and quit /// * If there are more rows in the terminal than the number of lines of data to display /// minus will not start a pager and simply display all data on the main stdout screen. /// This behaviour can be turned off if /// [`Pager::set_run_no_overflow(true)`](Pager::set_run_no_overflow) has been /// called before starting /// * Since any other event except user inputs will not occur, we can do some optimizations on /// matching events. /// /// See [example](../index.html#static-output) on how to use this function. /// /// # Panics /// This function will panic if another instance of minus is already running. /// /// # Errors /// The function will return with an error if it encounters a error during paging. #[cfg_attr(docsrs, doc(cfg(feature = "static_output")))] #[allow(clippy::needless_pass_by_value)] pub fn page_all(pager: Pager) -> Result<(), MinusError> { init::init_core(&pager, crate::RunMode::Static) } minus-5.6.1/src/tests.rs000064400000000000000000000215661046102023000133010ustar 00000000000000// Test the implementation of std::fmt::Write on Pager mod fmt_write { use crate::{minus_core::commands::Command, Pager}; use std::fmt::Write; #[test] fn pager_writeln() { const TEST: &str = "This is a line"; let mut pager = Pager::new(); writeln!(pager, "{TEST}").unwrap(); while let Ok(Command::AppendData(text)) = pager.rx.try_recv() { if text != "\n" { assert_eq!(text, TEST.to_string()); } } } #[test] fn test_write() { const TEST: &str = "This is a line"; let mut pager = Pager::new(); write!(pager, "{TEST}").unwrap(); while let Ok(Command::AppendData(text)) = pager.rx.try_recv() { assert_eq!(text, TEST.to_string()); } } } mod pager_append_str { use crate::PagerState; #[test] fn sequential_append_str() { const TEXT1: &str = "This is a line."; const TEXT2: &str = " This is a follow up line"; let mut ps = PagerState::new().unwrap(); ps.append_str(TEXT1); ps.append_str(TEXT2); assert_eq!(ps.screen.formatted_lines, vec![format!("{TEXT1}{TEXT2}")]); assert_eq!(ps.screen.orig_text, TEXT1.to_string() + TEXT2); } #[test] fn append_sequential_lines() { const TEXT1: &str = "This is a line."; const TEXT2: &str = " This is a follow up line"; let mut ps = PagerState::new().unwrap(); ps.append_str(&(TEXT1.to_string() + "\n")); ps.append_str(&(TEXT2.to_string() + "\n")); assert_eq!( ps.screen.formatted_lines, vec![TEXT1.to_string(), TEXT2.to_string()] ); } #[test] fn crlf_write() { const LINES: [&str; 4] = [ "hello,\n", "this is ", "a test\r\n", "of weird line endings", ]; let mut ps = PagerState::new().unwrap(); for line in LINES { ps.append_str(line); } assert_eq!( ps.screen.formatted_lines, vec![ "hello,".to_string(), "this is a test".to_string(), "of weird line endings".to_string() ] ); } #[test] fn unusual_whitespace() { const LINES: [&str; 4] = [ "This line has trailing whitespace ", " This has leading whitespace\n", " This has whitespace on both sides ", "Andthishasnone", ]; let mut ps = PagerState::new().unwrap(); for line in LINES { ps.append_str(line); } assert_eq!( ps.screen.formatted_lines, vec![ "This line has trailing whitespace This has leading whitespace", " This has whitespace on both sides Andthishasnone" ] ); } #[test] fn appendstr_with_newlines() { const LINES: [&str; 3] = [ "this is a normal line with no newline", "this is an appended line with a newline\n", "and this is a third line", ]; let mut ps = PagerState::new().unwrap(); // For the purpose of testing wrapping while appending strs ps.cols = 15; for line in LINES { ps.append_str(line); } assert_eq!( ps.screen.formatted_lines, vec![ "this is a", "normal line", "with no", "newlinethis is", "an appended", "line with a", "newline", "and this is a", "third line" ] ); } #[test] fn incremental_append() { const LINES: [&str; 4] = [ "this is a line", " and this is another", " and this is yet another\n", "and this should be on a newline", ]; let mut ps = PagerState::new().unwrap(); ps.append_str(LINES[0]); assert_eq!(ps.screen.orig_text, LINES[0].to_owned()); assert_eq!(ps.screen.formatted_lines, vec![LINES[0].to_owned()]); ps.append_str(LINES[1]); let line = LINES[..2].join(""); assert_eq!(ps.screen.orig_text, line); assert_eq!(ps.screen.formatted_lines, vec![line]); ps.append_str(LINES[2]); let mut line = LINES[..3].join(""); assert_eq!(ps.screen.orig_text, line); line.pop(); assert_eq!(ps.screen.formatted_lines, vec![line]); ps.append_str(LINES[3]); let joined = LINES.join(""); assert_eq!(ps.screen.orig_text, joined); assert_eq!( ps.screen.formatted_lines, joined .lines() .map(ToString::to_string) .collect::>() ); } #[test] fn multiple_newlines() { const TEST: &str = "This\n\n\nhas many\n newlines\n"; let mut ps = PagerState::new().unwrap(); ps.append_str(TEST); assert_eq!(ps.screen.orig_text, TEST.to_owned()); assert_eq!( ps.screen.formatted_lines, TEST.lines() .map(ToString::to_string) .collect::>() ); ps.screen.orig_text = TEST.to_string(); ps.format_lines(); assert_eq!(ps.screen.orig_text, TEST.to_owned()); assert_eq!( ps.screen.formatted_lines, TEST.lines() .map(ToString::to_string) .collect::>() ); } #[test] fn append_floating_newline() { const TEST: &str = "This is a line with a bunch of\nin between\nbut not at the end"; let mut ps = PagerState::new().unwrap(); ps.append_str(TEST); assert_eq!( ps.screen.formatted_lines, vec![ "This is a line with a bunch of".to_string(), "in between".to_string(), "but not at the end".to_owned() ] ); assert_eq!(ps.screen.orig_text, TEST.to_string()); } } // Test exit callbacks function #[cfg(feature = "dynamic_output")] #[test] fn exit_callback() { use crate::PagerState; use std::sync::atomic::Ordering; use std::sync::{atomic::AtomicBool, Arc}; let mut ps = PagerState::new().unwrap(); let exited = Arc::new(AtomicBool::new(false)); let exited_within_callback = exited.clone(); ps.exit_callbacks.push(Box::new(move || { exited_within_callback.store(true, Ordering::Relaxed); })); ps.exit(); assert!(exited.load(Ordering::Relaxed)); } mod emit_events { // Check functions emit correct events on function calls use crate::{minus_core::commands::Command, ExitStrategy, LineNumbers, Pager}; const TEST_STR: &str = "This is sample text"; #[test] fn set_text() { let pager = Pager::new(); pager.set_text(TEST_STR).unwrap(); assert_eq!( Command::SetData(TEST_STR.to_string()), pager.rx.try_recv().unwrap() ); } #[test] fn push_str() { let pager = Pager::new(); pager.push_str(TEST_STR).unwrap(); assert_eq!( Command::AppendData(TEST_STR.to_string()), pager.rx.try_recv().unwrap() ); } #[test] fn set_prompt() { let pager = Pager::new(); pager.set_prompt(TEST_STR).unwrap(); assert_eq!( Command::SetPrompt(TEST_STR.to_string()), pager.rx.try_recv().unwrap() ); } #[test] fn send_message() { let pager = Pager::new(); pager.send_message(TEST_STR).unwrap(); assert_eq!( Command::SendMessage(TEST_STR.to_string()), pager.rx.try_recv().unwrap() ); } #[test] #[cfg(feature = "static_output")] fn set_run_no_overflow() { let pager = Pager::new(); pager.set_run_no_overflow(false).unwrap(); assert_eq!( Command::SetRunNoOverflow(false), pager.rx.try_recv().unwrap() ); } #[test] fn set_line_numbers() { let pager = Pager::new(); pager.set_line_numbers(LineNumbers::Enabled).unwrap(); assert_eq!( Command::SetLineNumbers(LineNumbers::Enabled), pager.rx.try_recv().unwrap() ); } #[test] fn set_exit_strategy() { let pager = Pager::new(); pager.set_exit_strategy(ExitStrategy::PagerQuit).unwrap(); assert_eq!( Command::SetExitStrategy(ExitStrategy::PagerQuit), pager.rx.try_recv().unwrap() ); } #[test] fn add_exit_callback() { let func = Box::new(|| println!("Hello")); let pager = Pager::new(); pager.add_exit_callback(func.clone()).unwrap(); assert_eq!(Command::AddExitCallback(func), pager.rx.try_recv().unwrap()); } }