diff --git a/.bundle/config b/.bundle/config deleted file mode 100644 index b2b66db..0000000 --- a/.bundle/config +++ /dev/null @@ -1,3 +0,0 @@ ---- -BUNDLE_PATH: "_vendor/bundle" -BUNDLE_DISABLE_SHARED_GEMS: "true" diff --git a/.dockerignore b/.dockerignore index 97fdcb5..f00db0b 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,7 +1,7 @@ -.git +node_modules/ +npm-debug.log .git/ -.gitignore -_site -.sass-cache +.agent/ +sample-content/ .DS_Store -_vendor \ No newline at end of file +*.log diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..4c6b1e6 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,44 @@ +name: CI Quality & Security Pipeline + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + security-scan: + name: Gitleaks Secret Scan + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Run Gitleaks + uses: gitleaks/gitleaks-action@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + test-and-lint: + name: Lint & Automated Tests + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js 22 + uses: actions/setup-node@v4 + with: + node-version: 22 + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Run Code Linter + run: npm run lint + + - name: Run Automated Test Suites + run: npm test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..0e41342 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,52 @@ +name: Docker Build & Release + +on: + push: + branches: [ main ] + tags: [ 'v*.*.*' ] + +jobs: + build-and-push: + name: Build & Push Container Image + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up QEMU (Multi-platform emulation) + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to GitHub Container Registry (ghcr.io) + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract Docker metadata (tags, labels) + id: meta + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository }} + tags: | + type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }} + type=sha,format=short,prefix=sha- + type=semver,pattern={{version}} + + - name: Build and Push Docker Image + uses: docker/build-push-action@v5 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/.gitignore b/.gitignore index 15dbe5a..9893bc3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,18 @@ -_site -.sass-cache +# Dependencies +node_modules/ + +# OS and Environment .DS_Store -_vendor +.env +.agent/ + +# Logs +*.log +npm-debug.log* + +# SQLite Database & WAL / Journal files (runtime persistent state) +*.db +*.db-journal +*.db-wal +*.db-shm +**/data/*.db* \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index f140cc6..0000000 --- a/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: ruby - -rvm: - - 2.5.0 - -script: bundle exec jekyll build - -install: bundle install - -notifications: - email: false diff --git a/CNAME b/CNAME deleted file mode 100644 index e2e8746..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -resume-template.joelglovier.com diff --git a/Dockerfile b/Dockerfile index 2c6f56a..63777d9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,29 @@ -FROM ruby:2.7 +# Multi-stage lightweight build for pengzhan.dev skeleton +FROM node:22-alpine AS dependencies +WORKDIR /app +COPY package*.json ./ +RUN npm ci --omit=dev -WORKDIR /home/app +FROM node:22-alpine AS runner +WORKDIR /app -COPY Gemfile* ./ +ENV NODE_ENV=production +ENV PORT=3000 -RUN bundle install +# Copy node_modules from dependencies stage +COPY --from=dependencies /app/node_modules ./node_modules +COPY package*.json ./ -COPY . . +# Copy skeleton web framework code +COPY server/ ./server/ +COPY views/ ./views/ +COPY public/ ./public/ -CMD [ "bundle", "exec", "jekyll", "serve" ] \ No newline at end of file +# Persistent Volume mount point +VOLUME /app/content + +EXPOSE 3000 + +USER node + +CMD ["node", "server/index.js"] diff --git a/Gemfile b/Gemfile deleted file mode 100644 index fd76688..0000000 --- a/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -source "https://rubygems.org" - -gem 'github-pages' -# this gem provides regeneration support improvements on Windows -gem 'wdm', '>= 0.1.0' if Gem.win_platform? - -gem "webrick" -gem "rexml", "~> 3.2" diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index e8adc4a..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,281 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - activesupport (6.0.6.1) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2, >= 2.2.2) - addressable (2.8.1) - public_suffix (>= 2.0.2, < 6.0) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.11.1) - colorator (1.1.0) - commonmarker (0.17.13) - ruby-enum (~> 0.5) - concurrent-ruby (1.2.0) - dnsruby (1.61.3) - addressable (~> 2.5) - em-websocket (0.5.1) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0.6.0) - ethon (0.15.0) - ffi (>= 1.15.0) - eventmachine (1.2.7) - eventmachine (1.2.7-x64-mingw32) - execjs (2.8.1) - faraday (1.10.2) - faraday-em_http (~> 1.0) - faraday-em_synchrony (~> 1.0) - faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0) - faraday-multipart (~> 1.0) - faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.0) - faraday-patron (~> 1.0) - faraday-rack (~> 1.0) - faraday-retry (~> 1.0) - ruby2_keywords (>= 0.0.4) - faraday-em_http (1.0.0) - faraday-em_synchrony (1.0.0) - faraday-excon (1.1.0) - faraday-httpclient (1.0.1) - faraday-multipart (1.0.4) - multipart-post (~> 2) - faraday-net_http (1.0.1) - faraday-net_http_persistent (1.2.0) - faraday-patron (1.0.0) - faraday-rack (1.0.0) - faraday-retry (1.0.3) - ffi (1.15.5) - ffi (1.15.5-x64-mingw32) - forwardable-extended (2.6.0) - gemoji (3.0.1) - github-pages (205) - github-pages-health-check (= 1.16.1) - jekyll (= 3.8.7) - jekyll-avatar (= 0.7.0) - jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.1.6) - jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.13.0) - jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.13.0) - jekyll-mentions (= 1.5.1) - jekyll-optional-front-matter (= 0.3.2) - jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.3.0) - jekyll-redirect-from (= 0.15.0) - jekyll-relative-links (= 0.6.1) - jekyll-remote-theme (= 0.4.1) - jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.6.1) - jekyll-sitemap (= 1.4.0) - jekyll-swiss (= 1.0.0) - jekyll-theme-architect (= 0.1.1) - jekyll-theme-cayman (= 0.1.1) - jekyll-theme-dinky (= 0.1.1) - jekyll-theme-hacker (= 0.1.1) - jekyll-theme-leap-day (= 0.1.1) - jekyll-theme-merlot (= 0.1.1) - jekyll-theme-midnight (= 0.1.1) - jekyll-theme-minimal (= 0.1.1) - jekyll-theme-modernist (= 0.1.1) - jekyll-theme-primer (= 0.5.4) - jekyll-theme-slate (= 0.1.1) - jekyll-theme-tactile (= 0.1.1) - jekyll-theme-time-machine (= 0.1.1) - jekyll-titles-from-headings (= 0.5.3) - jemoji (= 0.11.1) - kramdown (= 1.17.0) - liquid (= 4.0.3) - mercenary (~> 0.3) - minima (= 2.5.1) - nokogiri (>= 1.10.4, < 2.0) - rouge (= 3.13.0) - terminal-table (~> 1.4) - github-pages-health-check (1.16.1) - addressable (~> 2.3) - dnsruby (~> 1.60) - octokit (~> 4.0) - public_suffix (~> 3.0) - typhoeus (~> 1.3) - html-pipeline (2.14.3) - activesupport (>= 2) - nokogiri (>= 1.4) - http_parser.rb (0.6.0) - i18n (0.9.5) - concurrent-ruby (~> 1.0) - jekyll (3.8.7) - addressable (~> 2.4) - colorator (~> 1.0) - em-websocket (~> 0.5) - i18n (~> 0.7) - jekyll-sass-converter (~> 1.0) - jekyll-watch (~> 2.0) - kramdown (~> 1.14) - liquid (~> 4.0) - mercenary (~> 0.3.3) - pathutil (~> 0.9) - rouge (>= 1.7, < 4) - safe_yaml (~> 1.0) - jekyll-avatar (0.7.0) - jekyll (>= 3.0, < 5.0) - jekyll-coffeescript (1.1.1) - coffee-script (~> 2.2) - coffee-script-source (~> 1.11.1) - jekyll-commonmark (1.3.1) - commonmarker (~> 0.14) - jekyll (>= 3.7, < 5.0) - jekyll-commonmark-ghpages (0.1.6) - commonmarker (~> 0.17.6) - jekyll-commonmark (~> 1.2) - rouge (>= 2.0, < 4.0) - jekyll-default-layout (0.1.4) - jekyll (~> 3.0) - jekyll-feed (0.13.0) - jekyll (>= 3.7, < 5.0) - jekyll-gist (1.5.0) - octokit (~> 4.2) - jekyll-github-metadata (2.13.0) - jekyll (>= 3.4, < 5.0) - octokit (~> 4.0, != 4.4.0) - jekyll-mentions (1.5.1) - html-pipeline (~> 2.3) - jekyll (>= 3.7, < 5.0) - jekyll-optional-front-matter (0.3.2) - jekyll (>= 3.0, < 5.0) - jekyll-paginate (1.1.0) - jekyll-readme-index (0.3.0) - jekyll (>= 3.0, < 5.0) - jekyll-redirect-from (0.15.0) - jekyll (>= 3.3, < 5.0) - jekyll-relative-links (0.6.1) - jekyll (>= 3.3, < 5.0) - jekyll-remote-theme (0.4.1) - addressable (~> 2.0) - jekyll (>= 3.5, < 5.0) - rubyzip (>= 1.3.0) - jekyll-sass-converter (1.5.2) - sass (~> 3.4) - jekyll-seo-tag (2.6.1) - jekyll (>= 3.3, < 5.0) - jekyll-sitemap (1.4.0) - jekyll (>= 3.7, < 5.0) - jekyll-swiss (1.0.0) - jekyll-theme-architect (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-cayman (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-dinky (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-hacker (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-leap-day (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-merlot (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-midnight (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-minimal (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-modernist (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.5.4) - jekyll (> 3.5, < 5.0) - jekyll-github-metadata (~> 2.9) - jekyll-seo-tag (~> 2.0) - jekyll-theme-slate (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-tactile (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-time-machine (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-titles-from-headings (0.5.3) - jekyll (>= 3.3, < 5.0) - jekyll-watch (2.2.1) - listen (~> 3.0) - jemoji (0.11.1) - gemoji (~> 3.0) - html-pipeline (~> 2.2) - jekyll (>= 3.0, < 5.0) - kramdown (1.17.0) - liquid (4.0.3) - listen (3.7.1) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - mercenary (0.3.6) - mini_portile2 (2.8.1) - minima (2.5.1) - jekyll (>= 3.5, < 5.0) - jekyll-feed (~> 0.9) - jekyll-seo-tag (~> 2.1) - minitest (5.17.0) - multipart-post (2.1.1) - nokogiri (1.14.1) - mini_portile2 (~> 2.8.0) - racc (~> 1.4) - nokogiri (1.14.1-x64-mingw32) - racc (~> 1.4) - octokit (4.22.0) - faraday (>= 0.9) - sawyer (~> 0.8.0, >= 0.5.3) - pathutil (0.16.2) - forwardable-extended (~> 2.6) - public_suffix (3.1.1) - racc (1.6.2) - rb-fsevent (0.10.4) - rb-inotify (0.10.1) - ffi (~> 1.0) - rexml (3.2.6) - rouge (3.13.0) - ruby-enum (0.8.0) - i18n - ruby2_keywords (0.0.5) - rubyzip (2.3.2) - safe_yaml (1.0.5) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.8.2) - addressable (>= 2.3.5) - faraday (> 0.8, < 2.0) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - thread_safe (0.3.6) - typhoeus (1.4.0) - ethon (>= 0.9.0) - tzinfo (1.2.11) - thread_safe (~> 0.1) - unicode-display_width (1.7.0) - webrick (1.8.1) - zeitwerk (2.6.6) - -PLATFORMS - ruby - x64-mingw32 - -DEPENDENCIES - github-pages - rexml (~> 3.2) - webrick - -BUNDLED WITH - 2.1.4 diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 3423cc6..0000000 --- a/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Joel Glovier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/README.md b/README.md index 3555ca2..d8fbc6d 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,246 @@ -# Resume template +# pengzhan.dev — Dynamic Web Framework & Personal Site Skeleton -*A simple Jekyll + GitHub Pages powered resume template.* +A custom, ultra-lightweight dynamic web framework designed to replicate and replace WordPress for **pengzhan.dev**, optimized for containerized deployment on Kubernetes. -![img](images/screenshot.png) +--- -## Docs +## 1. Architectural Model: Skeleton vs. Persistent Volume -### Running locally +The architecture separates the **web runtime container (the "Skeleton")** from your **content and extensions (the "Persistent Volume")**: -To test locally, run the following in your terminal: +```plaintext + Kubernetes Pod + ┌───────────────────────────────────────────────� + │ Docker Container (The "Skeleton") │ + │ - Node.js 22 + Express │ + │ - SSR EJS Templates │ + │ - Markdown-it + PrismJS (Okaidia) │ + │ - Structured Schema Search Engine │ + │ - Dynamic Plugin Loader │ + │ - Hot-reload Watcher (Chokidar) │ + └───────────────────────┬───────────────────────┘ + │ mounts /app/content + ▼ + ┌───────────────────────────────────────────────� + │ Persistent Volume (Your Content & Data) │ + │ - posts/ (Blog articles & bilinguals) │ + │ - pages/ (Standalone timeless pages) │ + │ - plugins/ (Custom executable plugins) │ + │ - static/ (Fonts, PDFs, Images) │ + │ - css/ (custom.css overrides) │ + │ - data/ (site.db SQLite) │ + │ - config.yaml (Site metadata & settings) │ + └───────────────────────────────────────────────┘ +``` -1. Clone repo locally -1. `bundle install` -2. `bundle exec jekyll serve` -3. Open your browser to `localhost:4000` +- **Zero Container Restarts**: Editing markdown files, uploading PDFs/images, adding new pages, or changing `config.yaml` immediately hot-reloads in memory via `chokidar`. +- **Tiny Footprint**: Multi-stage Docker image weighs ~25MB (no React/Vue hydration overhead, no headless browser, no heavy DB daemon). -### Running locally with Docker +--- -To test locally with docker, run the following in your terminal after installing docker into your system: +## 2. Directory Structure on Persistent Volume (`/app/content`) -1. `docker image build -t resume-template .` -2. `docker run --rm --name resume-template -v "$PWD":/home/app --network host resume-template` +```plaintext +content/ +├── config.yaml # Site title, tagline, social links, author bio +├── posts/ # Blog articles +│ ├── using-gemini-cli-and-mcp-server-to-organize-my-dropbox/ +│ │ ├── index.md # Default post (English or Chinese) +│ │ ├── zh.md # Chinese translation variant +│ │ └── images/ # Post assets +│ │ └── cover.png +│ └── kubelet-source-code-deep-dive/ +│ └── index.md +├── pages/ # Standalone timeless pages +│ ├── home.md # Homepage / About-me (mapped to /) +│ ├── quick-links.md # Quick links page (mapped to /quick-links) +│ └── resume.md # Custom standalone page (mapped to /resume) +├── plugins/ # Executable plugins & extensions +│ ├── google-analytics/ +│ │ ├── plugin.json +│ │ └── index.js +│ └── reading-time/ +│ ├── plugin.json +│ └── index.js +├── static/ # Static files served directly at root +│ ├── fonts/ # XiaoheSimplifySerif-VF, Maple Mono NF CN +│ ├── documents/ # CV.pdf, research papers +│ └── images/ # Favicon, profile avatars +├── css/ +│ └── custom.css # User CSS loaded after base styles +└── data/ + └── site.db # SQLite database (auto-created by server) +``` -### Customizing +--- -First you'll want to fork the repo to your own account. Then clone it locally and customize, or use the GitHub web editor to customize. +## 3. Posts vs. Pages -#### Options/configuration +| Feature | `posts/` | `pages/` | +| --- | --- | --- | +| **Role** | Time-stamped, categorized blog articles. | Timeless, standalone site destinations (e.g. Home, Quick Links). | +| **Routing** | Dedicated blog router: `/` and `//`. | Direct top-level route based on filename or permalink (`/quick-links`, `/resume`). | +| **Taxonomy** | Dynamically feeds `category`, `tags: [...]`, and author metadata. | No tags or dates required; does not pollute blog streams. | +| **Stream & RSS** | Appears in `/blogs` stream, pagination, and `/feed` (RSS 2.0). | **Excluded** from blog streams, pagination, and RSS feeds. | +| **Bilingual** | Sibling translation files (`index.md` + `zh.md` / `en.md`) with in-page switcher. | Self-contained markdown or HTML with custom layout control. | -Most of the basic customization will take place in the `/_config.yml` file. Here is a list of customizations available via `/_config.yml`: +--- -[...write these out...] +## 4. 100% Dynamic Taxonomy (Tags & Categories) -#### Editing content +- **Zero Static Configuration**: Tags are **never** declared statically in `config.yaml`. +- Whenever a post specifies `tags: [k8s, cloud, "AI Era"]`, the content engine dynamically discovers, normalizes, and aggregates it with count statistics. +- The `/search` page automatically derives its default discovery pills from the top active tags and categories. -Most of the content configuration will take place in the `/_layouts/resume.html` file. Simply edit the markup there accordingly +--- -### Publishing to GitHub Pages for free +## 5. Structured Schema Search Engine -[GitHub Pages](https://pages.github.com/) will host this for free with your GitHub account. Just make sure you're using a `gh-pages` branch, and the site will automatically be available at `yourusername.github.io/resume-template` (you can rename the repo to resume for your own use if you want it to be available at `yourusername.github.io/resume`). You can also add a CNAME if you want it to be available at a custom domain... +The built-in search engine supports a full query DSL combining metadata filters, exact phrases, and free-text keywords: -### Configuring with your own domain name +```text +tag:k8s "container image" category:tech cgroup +``` -To setup your GH Pages site with a custom domain, [follow the instructions](https://help.github.com/articles/setting-up-a-custom-domain-with-github-pages/) on the GitHub Help site for that topic. +### Search Syntax Capabilities -### Themes +- **Schema Filters**: + - `tag:` or `tags:` (e.g. `tag:k8s`) + - `category:` or `cat:` (e.g. `category:tech`) + - `author:` + - `lang:` +- **Exact Phrases**: Quoted strings (`"container image"`) requiring exact substring match. +- **Keywords**: Bare words searched across title, tags, excerpt, and full markdown body. +- **Ranking & Highlighting**: Returns relevance-scored results with contextual snippets wrapped in `...`. +- **Deduplication**: Bilingual versions of the same post are unified so you never get duplicate cards for the same post. -Right now resume-template only has one theme. More are coming :soon: though. :heart: +--- -## Roadmap +## 6. Plugin & Extension Architecture (`plugins/`) -A feature roadmap is [available here](https://github.com/jglovier/resume-template/projects/1). If you features suggestions, please [open a new issue](https://github.com/jglovier/resume-template/issues/new). +Plugins are self-contained folders placed in `/app/content/plugins//`: -## Contributing +```javascript +// plugins/my-plugin/index.js +module.exports = { + // 1. Initialize Express middleware or routes + onInit({ app, config, pluginConfig }) {}, -If you spot a bug, or want to improve the code, or even make the dummy content better, you can do the following: + // 2. Extend markdown-it renderer (e.g. custom fences, math, diagrams) + onMarkdownInit({ markdownIt, pluginConfig }) {}, -1. [Open an issue](https://github.com/jglovier/resume-template/issues/new) describing the bug or feature idea -2. Fork the project, make changes, and submit a pull request + // 3. Transform or augment post metadata + onPostLoad({ post, pluginConfig }) {}, -## License + // 4. Inject into HTML head or body + injectHead({ req, pageType, post }) { + return ``; + }, -The code and styles are licensed under the MIT license. [See project license.](LICENSE) Obviously you should not use the content of this demo repo in your own resume. :wink: + injectPostEnd({ post }) { + return `
Custom author bio or reaction buttons
`; + }, -Disclaimer: Use of Lisa M. Simpson image and name used under [Fair Use](https://en.wikipedia.org/wiki/Fair_use) for educational purposes. Project license does not apply to use of this material. + // 5. Lifecycle event: new comment posted + async onCommentCreated({ comment, post }) {} +}; +``` + +--- + +## 7. Bilingual Post Authoring + +In `/app/content/posts//`: + +### Default Language (`index.md`) + +```yaml +--- +title: "Using Gemini-CLI and MCP server to organize my dropbox" +date: 2025-08-31 +author: "haopengzhan" +category: "Tech" +tags: ["AI Era", "Dropbox", "Gemini", "k8s"] +excerpt: "How I automated Dropbox organization with MCP." +lang: en +--- + +Post content in English... +``` + +### Translation Variant (`zh.md`) + +```yaml +--- +title: "使用 Gemini-CLI 与 MCP æœ�务整ç�† Dropbox" +lang: zh +--- + +Post content in Chinese... +``` + +### Routing + +- `https://pengzhan.dev/` → Serves default version (`index.md`). +- `https://pengzhan.dev//zh` → Serves Chinese version (`zh.md`). +- Both are linked via the in-page language switcher pill (`ðŸŒ� EN | 中文`). +- Only **one** entry appears in `/blogs` and `/search`. + +--- + +## 8. Development & Deployment + +### Run Locally + +```bash +# 1. Install dependencies +npm install + +# 2. Run automated test suite (6/6 suites) +npm test + +# 3. Start local development server (uses ./sample-content by default) +npm start +# Server runs at http://localhost:3000 +``` + +### Docker Build + +```bash +docker build -t pengzhan-web:latest . +``` + +### Run Container with Mounted Persistent Volume + +```bash +docker run -d \ + -p 3000:3000 \ + -v /path/to/my-content:/app/content \ + --name pengzhan-site \ + pengzhan-web:latest +``` + +### Kubernetes Deployment Example + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: pengzhan-web +spec: + replicas: 1 + template: + spec: + containers: + - name: web + image: pengzhan-web:latest + ports: + - containerPort: 3000 + volumeMounts: + - name: content + mountPath: /app/content + volumes: + - name: content + persistentVolumeClaim: + claimName: pengzhan-content-pvc +``` diff --git a/_assets/icons.ai b/_assets/icons.ai deleted file mode 100644 index 65d0628..0000000 --- a/_assets/icons.ai +++ /dev/null @@ -1,1848 +0,0 @@ -%PDF-1.5 %âãÏÓ -1 0 obj <>/OCGs[5 0 R 27 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream - - - - - application/pdf - - - Web - - - Adobe Illustrator CC 2014 (Macintosh) - 2015-07-22T00:15:32-04:00 - 2015-07-22T00:37:23-04:00 - 2015-07-22T00:37:23-04:00 - - - - 256 - 256 - JPEG - /9j/4AAQSkZJRgABAgEBLAEsAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABABLAAAAAEA AQEsAAAAAQAB/+IMWElDQ19QUk9GSUxFAAEBAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJ AAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1IUCAgAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAz ZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwA AAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAA A9QAAAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RS QwAABDwAAAgMYlRSQwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1Q YWNrYXJkIENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAS c1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAA AAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNj AAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5p ZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAA AAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAA AAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAA AAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4g SUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDP FAAD7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMAAAAAAAAAAQAAAAAAAAAA AAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMA KAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCy ALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIB WQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4 AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oD ZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATT BOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowG nQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiq CL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsL Igs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3e DfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPUR ExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSL FK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUY ihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzM HPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUh oSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3 JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDks biyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJj Mpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5 BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/i QCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVH e0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9J T5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX 4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2Cq YPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFq SGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQU dHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+ wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZ if6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSV X5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFH obaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1Erbiu La6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsu u6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJ Osm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc 1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3m lucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe 9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf///+4ADkFkb2JlAGTAAAAAAf/bAIQA BgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8f Hx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f Hx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwERAAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQF AwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMB AgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPBUtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdU ZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eX p7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUE BQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEyobHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PS NeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG 1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/a AAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7FXYq7FVOe6t4F5TSLGO3I0r8hiqV3HmeySohRpj4 /ZX7zv8AhgtNJdN5nv3/ALtUiHbbkfx2/DG1pByavqUn2rhx/qnj/wARpilDtPO/2pGb5knAqzFX YqqLcTpusjL8mIxVER6vqcf2bhz/AKx5f8SrhVGQ+Z75P7xEkHyKn8NvwxtFJhb+ZrKSgmVoT4/a X8N/wxtaTSC5t515QyLIP8k1+/ChUxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KoS9 1Szsx+9er9o13b+z6cVSG88yXk1VgAgTxG7ffgtNJS7u7FnYsx6sTU/jgS1irsVdirsVdirsVdir sVdirsVXJJJGweNijDoymh/DFU1s/Ml3FRZwJ08ejff3w2ik/stTs7wfuX+PqY22YfR/TChFYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FVk00UMZklYIi9WOKsd1HzHLJWO0rHH0Mh+0fl4YLTSSkli STUnck9cCWsVdirsVdirsVdirsVdirsVdirsVdirsVdirasysGUkMNwRsRiqd6d5kkjpHeVkToJR 9ofPxw2imRRTRTRiSJg6N0YYULsVdirsVdirsVdirsVdirsVdirsVQuoalb2MXKQ1c/YjHU/2Yqx K+1C5vZOcrfCPsoPsjAyQ2BXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqirDUbmyk5R GqH7cZ+ycKsssNRt72LnEaMPtxnqpwsUVirsVdirsVdirsVdirsVdiqB1XVYrGL+adv7uP8AifbF WI3FxNcStLK3J26n+AyLJTxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kqttcz W0olhbi69/4HFWXaXqkV9FUfDMv95H/Ee2SYo3FXYq7FXYq7FXYq7FULqWoRWNuZG3c7Rp4n+mKs NuLiW4maWVuTt1P8BkWSnirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVV ba5mtplmibi69PA+xxVmWnX8V7biVNmG0id1OSYonFXYq7FXYq7FVk00cMTSyHiiCrHFWF6jfSXt y0r7L0jTwXAyQ2BXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqitN v5LK5Eq7odpE8V/rhVmkUscsayRnkjiqn2OFiuxV2KuxV2Ksa8x6j6kv1SM/BGayHxbw+jAUhJMC XYq7FXYq7FXYqitMs1vLxIGYqGBPIddhXCqdf4Vt/wDf7/cMaRbv8K2/+/3+4Y0tu/wrb/7/AH+4 Y0tu/wAK2/8Av9/uGNLbv8K2/wDv9/uGNLbv8K2/+/3+4Y0tu/wrb/7/AH+4Y0tu/wAK2/8Av9/u GNLbv8K2/wDv9/uGNLbv8K2/+/3+4Y0tu/wrb/7/AH+4Y0tu/wAK2/8Av9/uGNLaSajaLaXslurF glKMeu6g/wAcUobArsVdirsVdirsVTzy3qPCT6nIfgfeIns3cfThCCyTCh2KuxVCapeizs3l/bPw xj/KPT7uuKsLZixLE1JNST45Fk1irsVdirsVdirsVTLy9/x1Yvk3/EThCCyq6nEFvJMRyEaluPSt MKEl/wAVx/8ALMf+CH9MFpp3+K4/+WY/8EP6Y2tO/wAVx/8ALMf+CH9MbWnf4rj/AOWY/wDBD+mN rTv8Vx/8sx/4If0xtad/iuP/AJZj/wAEP6Y2tO/xXH/yzH/gh/TG1p3+K4/+WY/8EP6Y2tO/xXH/ AMsx/wCCH9MbWnf4rj/5Zj/wQ/pja0nVrOJ7eOYDiJFDcetK4UMT1/8A460/+w/4guApCX4EuxV2 KuxV2KuxVtWZWDKaMpqCOxGKs2028F5ZpN+0dpAOzDrkmKJxV2KsW8yXnrXggU/BAKH/AFj1wFIS jAl2KuxV2KuxV2KuxVMvL3/HVi+Tf8ROEILJNU/451z/AMY2/VhQwnIsnYq7FXYq7FXYq7FXYq7F XYqzbS/+Odbf8Y1/VkmLGdf/AOOtP/sP+ILgKQl+BLsVdirsVdirsVdiqceWrz0ro27H4Jh8P+sP 6jCEFlGFCnczrBbyTN0jUtTxp2xVgruzuzsasxLMfEnfIsluKuxV2KuxV2Kq9nZ3F3KIoVq3Uk7A DxJxVP7fyvaqoM8jSN3C/Cv8ThpFo220ewtphNChWRagEsT1FO+FCKmiSaJ4nFUcFWHTY4qgP8Pa V/vs/wDBN/XBS27/AA9pX++z/wAE39caW3f4e0r/AH2f+Cb+uNLbv8PaV/vs/wDBN/XGlt3+HtK/ 32f+Cb+uNLbv8PaV/vs/8E39caW3f4e0r/fZ/wCCb+uNLbv8PaV/vs/8E39caW3f4e0r/fZ/4Jv6 40tu/wAPaV/vs/8ABN/XGltHwxJDEkSCiIAqjrsMKoW50bT7mZppUJkenI8iOgp2+WKoK58r2zKT byNG/YN8S/1wUm2P3dncWkpimXi3Y9iPEHAlRxV2KuxV2KuxVdFI0ciyIaMhDKfcb4qzu3mWeCOZ fsyKGH05JilXme44WSwg7zNv/qrufxpgKQxfAl2KuxV2KuxVwBJoNycVZrpdglnaLGAPUO8reLf2 ZJii8VdirsVdirsVdirsVdirsVdirsVdirsVdiq15I4xWRgg8WIA/HFVwIIqDUHocVQeq2C3loyU /eqC0R78vD6cVYXkWTsVdirsVdirsVZV5auPUsDETvCxH0NuPxrhCClvmebnfJH2jQbe7Gv6qYlQ k+BLsVdirsVdiqvYANfWyncGVAf+CGKs5yTF2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVivmX1 v0gOdfT4j0vD3/HAUhM/LPr/AFF+dfT5/uq+FN6e1cQpTfChgl2ALuYDYCRgB9JyLJSxV2KuxV2K uxVOfK83G8ki7SJX6VP9CcIQUFq8nqancN4OV/4H4f4YpQeBXYq7FXYq7FURp3/HQtv+Mqf8SGKs 4yTF2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVbJHHIKSIHHWjAEfjiq4AAAAUA6AYq7FWC3v8A vZP/AMZH/wCJHIslHFXYq7FXYq7FUbosnp6pbnxbj/wQI/jhUoa4bnPI38zsfvOBVPFXYq7FXYq7 FURp3/HQtv8AjKn/ABIYqzjJMXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqwW9/3sn/ AOMj/wDEjkWSjirsVdirsVdiqraNwu4X/lkU/cRiqlirsVdirsVdirsVRGnf8dC2/wCMqf8AEhir OMkxdirsVUbyZoLWWZQC0algD02GKsf/AMU3n++o/wDhv64LTTv8U3n++o/+G/rja07/ABTef76j /wCG/rja07/FN5/vqP8A4b+uNrTv8U3n++o/+G/rja07/FN5/vqP/hv642tO/wAU3n++o/8Ahv64 2tO/xTef76j/AOG/rja07/FN5/vqP/hv642tO/xTef76j/4b+uNrTILOZp7WKZgA0ihiB03GFCti rsVdirBb3/eyf/jI/wDxI5Fko4q7FXYq7FXYq2hAdSegIOKtEU2PXFXYq7FXYq7FXYqiNO/46Ft/ xlT/AIkMVZxkmLsVdiqF1T/jnXP/ABjb9WKsJyLJOv8AC15/v2P/AIb+mGkW7/C15/v2P/hv6Y0t u/wtef79j/4b+mNLbv8AC15/v2P/AIb+mNLbv8LXn+/Y/wDhv6Y0tu/wtef79j/4b+mNLbv8LXn+ /Y/+G/pjS203le8Ck+rHsK/tf0xpbSbAlm2l/wDHOtv+Ma/qyTFFYq7FXYqwW9/3sn/4yP8A8SOR ZKOKuxV2KuxV2KtoAXUHoSK4qvuE4XEqfyuw+44qp4q7FXYq7FXYqq2kgiuoZT0R1Y/QQcVZ2DXc dMkxdirsVQuqf8c65/4xt+rFWE5Fkyz/ABJpn8z/APA4bRTv8SaZ/M//AAONrTv8SaZ/M/8AwONr Tv8AEmmfzP8A8Dja07/EmmfzP/wONrTv8SaZ/M//AAONrTv8SaZ/M/8AwONrTT+Y9NKMAz1II+zj a0xTAlm2l/8AHOtv+Ma/qyTFFYq7FXEgAk7AdTirA7iQSTySDo7Mw+k1yLJTxV2KuxV2KuxVVs15 3cCfzSKPvYYqr6xH6ep3C+L8v+C+L+OFUHgV2KuxV2KuxV2Ksn0HVkmiW1makyCiE/tKOn0jCEFO cKHYqhdU/wCOdc/8Y2/VirCciyRX6L1H/lmk/wCBOFXfovUf+WaT/gTirv0XqP8AyzSf8CcVd+i9 R/5ZpP8AgTirv0XqP/LNJ/wJxV36L1H/AJZpP+BOKu/Reo/8s0n/AAJxVx0vUQKm2koP8k4qhcCs 20v/AI51t/xjX9WSYorFXYqkuv6skcTWkLVlcUkI/ZU9R8zgKQxnAl2KuxV2KuxV2Ko3RY/U1S3H g3L/AIEE/wAMKCi/M8PC9SUdJE/FTT9VMSoSfAl2KuxV2KuxV2KuBpuOuKpjb+YNShULzEqjp6gq fvFDhtFJppevXN3eJBJGiqwJJWtdhXuTja0mOqf8c65/4xt+rChhORZM8+s2/wDv1P8AghkmLvrN v/v1P+CGKu+s2/8Av1P+CGKu+s2/+/U/4IYq76zb/wC/U/4IYq76zb/79T/ghirvrNv/AL9T/ghi q2S4t/Tb96nQ/tDwxVguRZM20v8A451t/wAY1/VkmKWanr9za3stvHGhVKUZq13UHsffBaaS251/ Up1K8xEp6iMU/Hc42tJdgS7FXYq7FXYq7FXYqnXleHldyy9o0p9LH+w4Qgo/zNb+pYrKOsLVP+q2 x/GmJUMWwJdirsVdirsVdirsVdiqZeXv+OrF8m/4icIQWSap/wAc65/4xt+rChhORZOxV2KuxV2K uxV2KuxV2KuxVm2l/wDHOtv+Ma/qyTFjOv8A/HWn/wBh/wAQXAUhL8CXYq7FXYq7FXYq7FXYqyry 3b+nYeoRvMxb6BsMIQUyuIFngkhb7MilT9OFDBZI2jkaNxRkJVh7jbIsluKuxV2KuxV2KuxV2Kpl 5e/46sXyb/iJwhBZJqn/ABzrn/jG36sKGE5Fkzj9Haf/AMs0X/AL/TJMXfo7T/8Almi/4Bf6Yq79 Haf/AMs0X/AL/TFXfo7T/wDlmi/4Bf6Yq79Haf8A8s0X/AL/AExV36O0/wD5Zov+AX+mKu/R2n/8 s0X/AAC/0xVqTT7AIxFtFWh/YX+mKsIyLJm2l/8AHOtv+Ma/qyTFjOv/APHWn/2H/EFwFIS/Al2K uxV2KuxV2KuxVfFE8sqRIKu5CqPc7YqzqCJYYUiX7KKFH0CmSYr8VYv5ls/SuxcKPgmG/wDrjr94 wFISfAl2KuxV2KuxV2KuxVMvL3/HVi+Tf8ROEILJNU/451z/AMY2/VhQwnIskd+m9V/5aD9y/wBM KKd+m9V/5aD9y/0xWnfpvVf+Wg/cv9MVp36b1X/loP3L/TFad+m9V/5aD9y/0xWnfpvVf+Wg/cv9 MVp36b1X/loP3L/TFacdb1Qgg3Boeuy/0xWkDgSzbS/+Odbf8Y1/VkmLGdf/AOOtP/sP+ILgKQl+ BLsVdirsVdirsVdiqc+WbP1Llrlh8EIov+sf6DCEFk+FDsVQ2pWYvLN4f2usZ8GHTFWEsrKxVhRl NCD2IyLJrFXYq7FXYq7FXYqmXl7/AI6sXyb/AIicIQWVXEKzwSQsSFkUqSOu+FCU/wCFrP8A39J/ wv8ATBSbd/haz/39J/wv9MaW3f4Ws/8Af0n/AAv9MaW3f4Ws/wDf0n/C/wBMaW3f4Ws/9/Sf8L/T Glt3+FrP/f0n/C/0xpbd/haz/wB/Sf8AC/0xpbd/haz/AN/Sf8L/AExpbd/haz/39J/wv9MaW3f4 Ws/9/Sf8L/TGltNreFYII4VJKxqFBPXbChiev/8AHWn/ANh/xBcBSEvwJdirsVdirsVdiraIzuqI KsxAUDuTirNtOs1tLRIRuwFXPix65JiicVdirsVY35k07hJ9cjHwPtKB2bsfpwFISPAl2KuxV2Ku xV2KonTbwWd2s5XmFBHEGnUUwqnP+K4/+WY/8EP6Y2inf4rj/wCWY/8ABD+mNrTv8Vx/8sx/4If0 xtad/iuP/lmP/BD+mNrTv8Vx/wDLMf8Agh/TG1p3+K4/+WY/8EP6Y2tO/wAVx/8ALMf+CH9MbWnf 4rj/AOWY/wDBD+mNrTv8Vx/8sx/4If0xtad/iuP/AJZj/wAEP6Y2tO/xXH/yzH/gh/TG1p3+K4/+ WY/8EP6Y2tJLqF2Lu8kuAvAPT4a1pRQP4YpQ+BXYq7FXYq7FXYqn3lvTuTfXZB8K1EIPc9C30YQg siwodirsVdiq2WJJY2jkHJHFGHscVYZqVhJZXJjbdDvG/iuBkhMCuxV2KuxV2KuxV2KuxV2KuxV2 KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVGaXp8l7ciMbRrvK/gP6nCrMo40jjWNBxRAAoHYDCxX Yq7FXYq7FXYqhtQsIr23MT7N1R+6nFWG3VtNbTNDKvF1+4jxGRZKWKuxV2KuxV2KuxV2KuxV2Kux V2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVWtLWa6nWGEVY9fADxOKsysLGGytxDHuerv3Y+OSYojFXY q7FXYq7FXYq7FUHqemQ30PFvhlX+7k8PY+2KsQubWa2mMUy8XH3EeI9siyUsVdirsVdirsVdirsV dirsVdirsVdirsVdirsVdirsVdirsVdiqta2k91MIYVqx79gPE4qy7TdNhsYeK/FI395J3J/pkmK MxV2KuxV2KuxV2KuxV2KuxVDX+n297FwlG4+w46qcVYnqGmXNlJSQVjP2JB0P9DgZITArsVdirsV dirsVdirsVdirsVdirsVdirsVdirsVdirsVRmn6Xc3r0jHGMH45T0H9ThVlljYW9nD6cQ3P23PVj 74WKIxV2KuxV2KuxV2KuxV2KuxV2KuxVbLFHKhjkUOjbFTuMVY9qPlt0rJZnkvUxE7j5HvgpNpGy MjFXBVhsVIoRgS1irsVdirsVdirsVdirsVdirsVdirsVdirsVbRHdgiKWY7BQKk4qnuneW2akl78 K9RCDuf9YjDSLZBHHHGgSNQqLsFGwGFC7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqhrzTrS7Wk yAt2cbMPpxVIbzy1dR1a2YTJ/Kdm/ocFJtKJIpYnKSIUYdVYUP44ErcVdirsVdirsVdirsVdirsV diq+KGWV+ESM7H9lQSfwxVN7PyzcyUa5YQp/KN2/oMNItPrPT7S0WkCUJ6ud2P04UIjFXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqsmghmXhKiyL4MAcVSy48tafJUx8oT7Go+4/1wUm0v m8r3a/3UqSD3qp/j+vGltByaJqkfW3Y/6pDfqOK2h2s7tPtQSL81YfwwJU/Tk/lP3HFXenJ/KfuO KqiWd4/2IJG+Ssf4YqiI9E1STpAR7sQv6zhRaMh8rXbU9WVIx7VY/wAMaW0xt/Lenx0MnKZv8o0H 3DGltMooYYV4xIqL4KAP1YUL8VdirsVdirsVdirsVdirsVdir//Z - - - - proof:pdf - uuid:65E6390686CF11DBA6E2D887CEACB407 - xmp.did:83fa68c7-118f-4512-a247-c9e31379eeb1 - uuid:96a49c2c-051f-c149-a93f-a061e1b3de2e - - uuid:1abccb90-0c26-4942-b156-fd2eb962e3e1 - xmp.did:58fdc1b8-1448-3a44-9e20-282d8ec1cf95 - uuid:65E6390686CF11DBA6E2D887CEACB407 - proof:pdf - - - - - saved - xmp.iid:83fa68c7-118f-4512-a247-c9e31379eeb1 - 2015-07-22T00:15:32-04:00 - Adobe Illustrator CC 2014 (Macintosh) - / - - - - Web - Document - 1 - False - False - - 28.000000 - 28.000000 - Pixels - - - - Cyan - Magenta - Yellow - - - - - - Default Swatch Group - 0 - - - - White - RGB - PROCESS - 255 - 255 - 255 - - - Black - RGB - PROCESS - 0 - 0 - 0 - - - RGB Red - RGB - PROCESS - 255 - 0 - 0 - - - RGB Yellow - RGB - PROCESS - 255 - 255 - 0 - - - RGB Green - RGB - PROCESS - 0 - 255 - 0 - - - RGB Cyan - RGB - PROCESS - 0 - 255 - 255 - - - RGB Blue - RGB - PROCESS - 0 - 0 - 255 - - - RGB Magenta - RGB - PROCESS - 255 - 0 - 255 - - - R=193 G=39 B=45 - RGB - PROCESS - 193 - 39 - 45 - - - R=237 G=28 B=36 - RGB - PROCESS - 237 - 28 - 36 - - - R=241 G=90 B=36 - RGB - PROCESS - 241 - 90 - 36 - - - R=247 G=147 B=30 - RGB - PROCESS - 247 - 147 - 30 - - - R=251 G=176 B=59 - RGB - PROCESS - 251 - 176 - 59 - - - R=252 G=238 B=33 - RGB - PROCESS - 252 - 238 - 33 - - - R=217 G=224 B=33 - RGB - PROCESS - 217 - 224 - 33 - - - R=140 G=198 B=63 - RGB - PROCESS - 140 - 198 - 63 - - - R=57 G=181 B=74 - RGB - PROCESS - 57 - 181 - 74 - - - R=0 G=146 B=69 - RGB - PROCESS - 0 - 146 - 69 - - - R=0 G=104 B=55 - RGB - PROCESS - 0 - 104 - 55 - - - R=34 G=181 B=115 - RGB - PROCESS - 34 - 181 - 115 - - - R=0 G=169 B=157 - RGB - PROCESS - 0 - 169 - 157 - - - R=41 G=171 B=226 - RGB - PROCESS - 41 - 171 - 226 - - - R=0 G=113 B=188 - RGB - PROCESS - 0 - 113 - 188 - - - R=46 G=49 B=146 - RGB - PROCESS - 46 - 49 - 146 - - - R=27 G=20 B=100 - RGB - PROCESS - 27 - 20 - 100 - - - R=102 G=45 B=145 - RGB - PROCESS - 102 - 45 - 145 - - - R=147 G=39 B=143 - RGB - PROCESS - 147 - 39 - 143 - - - R=158 G=0 B=93 - RGB - PROCESS - 158 - 0 - 93 - - - R=212 G=20 B=90 - RGB - PROCESS - 212 - 20 - 90 - - - R=237 G=30 B=121 - RGB - PROCESS - 237 - 30 - 121 - - - R=199 G=178 B=153 - RGB - PROCESS - 199 - 178 - 153 - - - R=153 G=134 B=117 - RGB - PROCESS - 153 - 134 - 117 - - - R=115 G=99 B=87 - RGB - PROCESS - 115 - 99 - 87 - - - R=83 G=71 B=65 - RGB - PROCESS - 83 - 71 - 65 - - - R=198 G=156 B=109 - RGB - PROCESS - 198 - 156 - 109 - - - R=166 G=124 B=82 - RGB - PROCESS - 166 - 124 - 82 - - - R=140 G=98 B=57 - RGB - PROCESS - 140 - 98 - 57 - - - R=117 G=76 B=36 - RGB - PROCESS - 117 - 76 - 36 - - - R=96 G=56 B=19 - RGB - PROCESS - 96 - 56 - 19 - - - R=66 G=33 B=11 - RGB - PROCESS - 66 - 33 - 11 - - - 100c 18m 17y 0k - SPOT - 100.000000 - CMYK - 100.000000 - 18.039216 - 16.862746 - 0.000000 - - - - - - Grays - 1 - - - - R=0 G=0 B=0 - RGB - PROCESS - 0 - 0 - 0 - - - R=26 G=26 B=26 - RGB - PROCESS - 26 - 26 - 26 - - - R=51 G=51 B=51 - RGB - PROCESS - 51 - 51 - 51 - - - R=77 G=77 B=77 - RGB - PROCESS - 77 - 77 - 77 - - - R=102 G=102 B=102 - RGB - PROCESS - 102 - 102 - 102 - - - R=128 G=128 B=128 - RGB - PROCESS - 128 - 128 - 128 - - - R=153 G=153 B=153 - RGB - PROCESS - 153 - 153 - 153 - - - R=179 G=179 B=179 - RGB - PROCESS - 179 - 179 - 179 - - - R=204 G=204 B=204 - RGB - PROCESS - 204 - 204 - 204 - - - R=230 G=230 B=230 - RGB - PROCESS - 230 - 230 - 230 - - - R=242 G=242 B=242 - RGB - PROCESS - 242 - 242 - 242 - - - - - - Web Color Group - 1 - - - - R=63 G=169 B=245 - RGB - PROCESS - 63 - 169 - 245 - - - R=122 G=201 B=67 - RGB - PROCESS - 122 - 201 - 67 - - - R=255 G=147 B=30 - RGB - PROCESS - 255 - 147 - 30 - - - R=255 G=29 B=37 - RGB - PROCESS - 255 - 29 - 37 - - - R=255 G=123 B=172 - RGB - PROCESS - 255 - 123 - 172 - - - R=189 G=204 B=212 - RGB - PROCESS - 189 - 204 - 212 - - - - - - - Adobe PDF library 10.01 - - - - - - - - - - - - - - - - - - - - - - - - - endstream endobj 3 0 obj <> endobj 7 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/Thumb 33 0 R/TrimBox[0.0 0.0 28.0 28.0]/Type/Page>> endobj 29 0 obj <>stream -H‰tSKnÄ Ýû¾@›ÀÛ¦UW£jÔE€úYÌTšæþRí`’Tš*‰Ã{þ=8¼Lx8M„� }Öw�ïçÞðÓ+a�‘\öj(«Eœ«øžÅ÷9à IFOŽ8eääb�„zu\a çÓQ–²ˆj¼ë:b…¾NeÁƒVSaÃ[Ð.wW²·Ñ§»""4*dÑ  è‘eµ!.ÄÙ@“²ÂK‡£+ 2ßÅk8û]5Å£ãoÑ‘)”Ö� qÙˆèŽBôbÃqñ÷^ë*ƈM�þ©1ô±¦Ð¾æÚ¤ ÚD›ÁšAjÄhó6(�¼'–-o'CË-M ÖeL)n~o*Zò -ÇnDpœZ2S›q«mHO�v6Ø4µ´?r¥fiƒ(ŽÆŒI޳Ü�N¦{dt7’m�£ ¶`Q¥”½Ë/gF<²)ÊÀžNrõÎð+ÀUU­b endstream endobj 33 0 obj <>stream -8;Xpd"pt>3$ihBa"uc~> endstream endobj 34 0 obj [/Indexed/DeviceRGB 255 35 0 R] endobj 35 0 obj <>stream -8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 -b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` -E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn -6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( -l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 27 0 obj <> endobj 36 0 obj [/View/Design] endobj 37 0 obj <>>> endobj 32 0 obj <> endobj 31 0 obj [/ICCBased 38 0 R] endobj 38 0 obj <>stream -H‰œ–yTSwÇoÉž�•°Ãc [€°�5la‘QIBHØADED„ª•2ÖmtFOE�.®c­Ö}êÒõ0êè8´׎�8G�Ng¦Óïï÷9÷wïïÝß½÷�ó '¥ªµÕ0 �Ö ÏJŒÅb¤  - 2y­.-;!à’ÆK°ZÜ ü‹ž^�i½"LÊÀ0ðÿ‰-×é @8(”µrœ;q®ª7èLöœy¥•&†Qëñq¶4±jž½ç|æ9ÚÄ -�V�³)g�B£0ñiœWו8#©8wÕ©•õ8_Å٥ʨQãüÜ«QÊj@é&»A)/ÇÙgº>'K‚óÈtÕ;\ú” Ó¥$ÕºF½ZUnÀÜå˜(4TŒ%)ë«”ƒ0C&¯”阤Z£“i˜¿óœ8¦Úbx‘ƒE¡ÁÁBÑ;…ú¯›¿P¦ÞÎӓ̹žAü om?çW= -€x¯Íú·¶Ò-Œ¯Àòæ[›Ëû0ñ¾¾øÎ}ø¦y)7ta¾¾õõõ>j¥ÜÇTÐ7úŸ¿@ï¼ÏÇtÜ›ò`qÊ2™±Ê€™ê&¯®ª6ê±Z�L®Ä„?â_øóyxg)Ë”z¥�ÈçL­UáíÖ*ÔuµSkÿSeØO4?׸¸c¯¯Ø°.òò· åÒR´ ß�Þô-•’2ð5ßáÞüÜÏ ú÷Sá>Ó£V­š‹“då`r£¾n~ÏôY &à+`œ�;ÂA4ˆÉ 䀰ÈA9Ð=¨- t�°lÃ`;»Á~pŒƒ�Á ðGp| ®�[`Lƒ‡`<¯ "A ˆ YA�+äùCb(ЇR¡,¨*�T�2B-Ð -¨ꇆ¡Ðnè÷ÐQètº}MA ï —0Óal»Á¾°Ž�Sàx ¬‚kà&¸^Á£ð>ø0|>_ƒ'á‡ð,ÂG!"F$H:Rˆ”!z¤éF‘Qd?r 9‹\A&‘GÈ ”ˆrQ ¢áhš‹ÊÑ´íE‡Ñ]èaô4z�BgÐ×Á–àE#H ‹*B=¡‹0HØIøˆp†p�0MxJ$ùD1„˜D, V›‰½Ä­ÄÄãÄKÄ»ÄY‰dEò"E�ÒI2’�ÔEÚBÚGúŒt™4MzN¦‘Èþär!YKî ’÷�?%_&ß#¿¢°(®”0J:EAi¤ôQÆ(Ç()Ó”WT6U@� æP+¨íÔ!ê~êêmê�æD ¥eÒÔ´å´!ÚïhŸÓ¦h/èº']B/¢éëèÒ�Ó¿¢?a0nŒhF!ÃÀXÇØÍ8ÅøšñÜŒkæc&5S˜µ™�˜6»lö˜Iaº2c˜K™MÌAæ!æEæ#…寒°d¬VÖë(ëk–Íe‹Øél »—½‡}Ž}ŸCâ¸qâ9 -N'çÎ)Î].ÂuæJ¸rî -î÷ wšGä xR^¯‡÷[ÞoÆœchžgÞ`>bþ‰ù$á»ñ¥ü*~ÿ ÿ:ÿ¥…�EŒ…Òb�Å~‹ËÏ,m,£-•–Ý–,¯Y¾´Â¬â­*­6X�[ݱF­=­3­ë­·YŸ±~dó ·‘ÛtÛ´¹i ÛzÚfÙ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}…ý€ý§ö¸‘j‡‡ÏþŠ™c1X6„�Æfm“�Ž;'_9 œr�:œ8Ýq¦:‹�ËœœO:ϸ8¸¤¹´¸ìu¹éJq»–»nv=ëúÌMà–ï¶ÊmÜí¾ÀR 4 ö -n»3Ü£ÜkÜGݯz=Ä•[=¾ô„=ƒ<Ë=GTB(É/ÙSòƒ,]6*›-•–¾W:#—È7Ë*¢ŠÊe¿ò^YDYÙ}U„j£êAyTù`ù#µD=¬þ¶"©b{ųÊôÊ+¬Ê¯: !kJ4Gµm¥ötµ}uCõ%�—®K7YV³©fFŸ¢ßY Õ.©=bàá?SŒîƕƩºÈº‘ºçõyõ‡Ø Ú† �ž�kï5%4ý¦m–7Ÿlqlio™Z³lG+ÔZÚz²Í¹­³mzyâò]íÔöÊö?uøuôw|¿"űN»Îå�wW&®ÜÛe֥ﺱ*|ÕöÕèjõê‰5k¶¬yÝ­èþ¢Ç¯g°ç‡^yïkEk‡Öþ¸®lÝD_pß¶õÄõÚõ×7DmØÕÏîoê¿»1mãál {àûMśΠnßLÝlÜ<9”úO¤[þ˜¸™$™�™üšhšÕ›B›¯œœ‰œ÷�d�Òž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª�««u«é¬\¬Ð­D­¸®-®¡¯¯‹°°u°ê±`±Ö²K²Â³8³®´%´œµµŠ¶¶y¶ð·h·à¸Y¸Ñ¹J¹Âº;ºµ».»§¼!¼›½½�¾ -¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäü儿 æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ ÷„óû endstream endobj 30 0 obj <> endobj 39 0 obj <> endobj 40 0 obj <>stream -%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 17.0 %%AI8_CreatorVersion: 18.1.1 %%For: (Joel Glovier) () %%Title: (icons.ai) %%CreationDate: 7/22/15 12:37 AM %%Canvassize: 16383 %%BoundingBox: -1 -29 29 0 %%HiResBoundingBox: -0.006044746786756 -28.0222287010856 28.025759043212 0 %%DocumentProcessColors: Cyan Magenta Yellow %AI5_FileFormat 13.0 %AI12_BuildNumber: 446 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%CMYKCustomColor: 1 0.180392161011696 0.168627455830574 0 (100c 18m 17y 0k) %%RGBProcessColor: 0 0 0 ([Registration]) %AI3_Cropmarks: 0 -28 28 0 %AI3_TemplateBox: 14.5 -14.5 14.5 -14.5 %AI3_TileBox: -274 -370 302 364 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 6 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI9_OpenToView: -13.0549957994217 12.2671784830536 14.3013047921116 1284 766 18 0 0 0 38 0 0 0 1 1 0 1 1 0 1 %AI5_OpenViewLayers: 7 %%PageOrigin:-386 -314 %AI7_GridSettings: 4 4 4 4 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream endobj 41 0 obj <>stream -%%BoundingBox: -1 -29 29 0 %%HiResBoundingBox: -0.006044746786756 -28.0222287010856 28.025759043212 0 %AI7_Thumbnail: 128 128 8 %%BeginData: 10690 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD37FFA8FFA8CFA8CFA8A8A8CFA8A8A8FFA8FFA8FD68FFA8FFFD16 %A8A7FD04A8FFA8FD5EFFA8FFFD23A8FD58FFA8CAA8A8A1FD23A8A1A8A8FF %A8FD52FFFD05A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8FFA8FD4EFFFD35A8FD48FFA8FF %FD37A8FD46FFA8A8A7FD37A8A1A8A8FD42FFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8FD3EFFFD43A8FD3CFF %FD45A8CFFD37FFA8CAFD46A8A1A8A8FD36FFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8FD32FFFD4FA8FD30FFFD51A8FD2EFFFD52A8A1A8FD2BFFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8FD2AFFFD59A8FD26FF %FD5AA8FD25FFFD5DA8FD22FFA8CAA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8FD22FFFD60A8FD1FFFFD61A8FD1EFF %FD62A8A1FD1CFFCAA8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8 %CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8 %CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CAA8FD1AFFFD67A8FD19FFFD68A8 %FD17FFCFFD69A8FD16FFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CAA8A8A8CAA8A8A8CAA8A8A8CAA8A8A8CAA8A8A8CAA8A8 %A8CAA8A8A8CAA8A8A8CAA8A8A8CAA8A8A8CAA8A8A8CAA8A8A8CAA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8FD15FFFD %1DA8FFA8A8A8FFA8A8A8FFA8A8A8FFA8A8A8FFA8A8A8FFA8A8A8FFA8A8A8 %FFA8A8A8FFA8A8A8FFA8A8A8FFA8A8A8FFA8A8A8FFFD1EA8FD13FFFD1DA8 %CAFD32FFFD1DA8FD12FFFD1FA8FD31FFFD1FA8FD12FFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8FD33FFA8A8A8CFA8A8 %A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8FD10FFFD1F %A8FD32FFFD20A8FD0EFFFD1FA8FD05FFA8A8A8FFA8CAA8FFA8CAA8FFA8CA %A8FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8FD05FF %FD1FA8CFFD0DFFFD21A8FD05FFA7A8A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8 %A8A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8FD04FFA8A7FD %1EA8FD0EFFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8FD05FFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8FD05FFA8CAA8A8A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8FD0CFFFD %21A8FD05FFFD29A8FD04FFFD22A8FD0AFFFD21A8CAFD04FFFD29A8FD05FF %FD21A8FD0AFFFD20A8A7A8A8FD04FFA8A1A8A8A8A7A8A8A8A7A8A8A8A7A8 %A8A8A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8A8A7FD04A8FFFFFFFD %04A8A7FD1EA8FD0AFFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8CAA8A8A8CFA8FD05FFA8CAA8A8A8CFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8FD05FFA8 %A8A8CAA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8 %CFA8A8A8FD08FFFD1DA8FFA8FFA8FD07FFA8FFFFFFA8FFFFFFA8FFFFFFA8 %FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FD0BFFA8FFFD %1EA8FD08FFFD1CA8FD40FFCFFD1BA8FD07FFCAFD1BA8FD42FFA8A1FD1AA8 %FD06FFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8 %FD45FFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8CAFD %05FFFD1BA8FD46FFFD1AA8FD06FFFD19A8FD47FFFD1BA8FD04FFFD1AA8FD %3EFFA8FFA8FD07FFFD18A8A7A8FD04FFA8A8CFA8A8A8CFA8A8A8CFA8A8A8 %CFA8A8A8CFA8A8A8CFA8A8A8FD3EFFA8A8CFFD08FFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8A8CAA8FD04FFFD19A8FD3EFFA8A8A8A7FD %07FFFD1BA8FFFFFD1BA8FD3DFFFD05A8FD07FFFD19A8FFFFFFA8A7FD17A8 %A1FD3FFFA1A8A8FD07FFFD1BA8FFFFA8CAA8A8A8CFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8CFFD04A8CAFD49FFA8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CFA8A8A8FFFFCFFD19A8A7FD49FFFD1BA8FFFFFD1BA8FD49FF %FD1AA8CAFD1BA8FD49FFFD1BA8FFFFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8 %CFA8A8A8CFA8A8A8CFA8A8A8FD49FFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8 %CFA8A8A8CFA8A8A8CFFD1EA8FD49FFFD1BA8CACAFD1BA8FD49FFFD35A8A1 %FD49FFFD1AA8A7A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8 %CFFD04A8CAFD49FFA8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CAFD1BA8A7FD11FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFCAFD0FFFFD38A8FD0F %FFFD29A8FD11FFFD36A8FD10FFA8A1FD28A8FD0FFFFD1CA8CFA8A8A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8FD0FFFFD05A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8 %CFA8A8A8FD11FFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8 %CFFD1EA8FD10FFCAFD29A8FD0FFFFD38A8FD0FFFFD05A8FFA8FFFFFFA8FF %FFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFD05A8FD11FF %FD35A8A1FD11FFA8A8A7A8FD20FFFD05A8FD0FFFFD1AA8A7A8CFA8CFA8A8 %A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFFD04A8CAFD0FFFA8A8A8CAA8 %FD20FFA8A8CFA8FD11FFA8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CAFD1BA8A7FD11FFFD04A8FD20FFFD05A8FD0FFFFD1BA8FFFF %FD1BA8FD0FFFFD05A8FFFFFFCAFFFFFFCAFFFFFFCAFFFFFFCAFFFFFFCAFF %FFFFCAFFFFFFCAFFFFFFFD05A8FD11FFFD38A8FD0EFFA8A1A8A8A8A7A8A8 %A8A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8A8A7FD08A8FD %0FFFFD1BA8FFFFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8 %CFA8A8A8FD0FFFFD05A8CAA8A8A8CAA8A8A8CAA8A8A8CAA8A8A8CAA8A8A8 %CAA8A8A8CAA8A8A8CAA8A8A8CFA8A8A8FD0FFFFD05A8CFA8A8A8CFA8A8A8 %CFA8A8A8CFA8A8A8CFA8A8A8CFFD20A8FD0EFFCAFD29A8FD0EFFFD1CA8FF %FFFD1DA8FD0DFFFD29A8FD0FFFFD1BA8CAFFFFA8A7FD1CA8FD0DFFA8A8A7 %A8A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFFD05A8FD0CFFA8A1FD1CA8FFFFA8CAA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CAA8FD0BFFA8A8A8CAA8FD20FFA8A8 %CFA8FD0BFFCAA8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8FFFFFFCFA7FD20A8FFA8FFA8FD05FFFD04A8FD20FFFD05A8 %FD05FFA8FFFD23A8FFFFFFFD25A8FD04FFFD05A8FD20FFCAA8A8A8FD05FF %FD25A8FD04FFFD25A8FD04FFA8A1FD04A8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFFD05A8FFFFFFFD24A8A7A8FD %05FFA8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CFA8FD05FFFD05A8CAA8A8A8CAA8A8A8CAA8A8A8CAA8A8A8CA %A8A8A8CAA8A8A8CAA8A8A8CAA8A8A8CFA8A8A8FD05FFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CAA8FD %04FFFD25A8FD04FFCAFD29A8FD04FFFD23A8A7FD06FFFD23A8FD05FFFD29 %A8FD05FFFD24A8FD05FFFD25A8FD05FFFD06A8A1A8A8A8A1A8A8A8A1A8A8 %A8A1A8A8A8A1A8A8A8A1A8A8A8A1A8A8A8A1FD06A8FD04FFA8A7FD22A8FD %06FFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8FD05FFA8A8A8CAA8FFA8FFCAFFA8FFCAFFA8FFCAFFA8FF %CAFFA8FFCAFFA8FFCAFFA8FFCAFFA8FFA8A8A8CFA8FD05FFA8CAA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8FD %08FFFD23A8FD05FFFD04A8FD20FFFD05A8FD04FFFD23A8CAFD07FFCFFD21 %A8CAFD04FFFD05A8FD20FFCAA8A8A8FD05FFFD23A8FD08FFFD23A8FD04FF %A8A1A8A8A8FD20FFFD05A8FFFFFFFD23A8FD0AFFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8FD05FFFD05A8FD %20FFCFA8A8A8FD05FFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8FD0BFFFD21A8FD04FFCAFD29A8FD04FFFD %22A8FD0AFFFD21A8FD05FFFD29A8FD05FFFD21A8FD0CFFFD21A8FD05FFFD %29A8FD04FFA8A7FD1FA8FD0DFFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8A8FD05FFFD29A8FD05FFA8CAA8A8A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8FD0EFFCAFD %1FA8FD05FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8 %CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8FD04FFFD20A8FD0EFFFD1FA8CAFD %32FFFD1FA8FD10FFFD1FA8FD31FFFD20A8FD11FFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8FD33FFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8FD13FFFD1DA8FD32 %FFFD1EA8FD14FFFD1BA8CAA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8 %FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8 %CAFD1DA8FD14FFFD20A8A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8A8 %A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8A8A7A8A8A8A7FD1EA8FD16 %FFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8 %CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8FD18FFFD66A8A7CFFD19FFFD66A8 %FD1BFFFD62A8A7A8A8FD1CFFA8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFFD04A8CAFD1DFFA8A7FD60A8FD1F %FFCFFD5FA8FD21FFA8A1FD5CA8FD24FFA8A8A8CFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8FD24FFFD5BA8FD28FFFD57A8FD %28FFFD54A8A7A8A8FD2CFFA8CAA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8 %CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFFD %05A8FD2EFFFD51A8FD30FFFD4DA8CAFD33FFFD4DA8FD34FFA8A8A8CFA8A8 %A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8 %A8CFA8A8A8CAA8FD38FFA8A8A7FD44A8FD3CFFFD41A8CACAFD3EFFFD3CA8 %A7FD04A8FD42FFA8CAA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8 %A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8 %CFA8A8A8CAA8FD46FFFD39A8FD4AFFFD33A8FD4EFFA8A8A7FD27A8A7FD04 %A8FD54FFA8CFFD05A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CFA8A8A8CF %A8A8A8CFA8A8A8CFA8A8A8CAA8FD5AFFA8CAA8A8A7FD1EA8FFA8FD60FFA8 %FFFD17A8FFA8FD68FFA8FFA8FFFD0BA8CAA8FFA8FD36FFFF %%EndData endstream endobj 42 0 obj <>stream -%AI12_CompressedDataxœì½ë’$·•&øþ±?d&� CŽ;\;¶f™õH-©îÖX[­TLI5ª ­X”Fûôû}ç~<2“EY³Í„ÄÊ àp\Îõ;?ù¿~÷Ù'7_¼ùãý'î8†ŸüäüöþÙ»7oq�O¿zùòë¯Þ½åG?ýôg“Ž#Ýü*^þëýÛ¯^¼yý‹ƒÉGs4¨¼ã·úOoî_~ùòÍß^Ü¿ýÙá§?CÅï_¼{y�ªÏß¼þêøìÅÏêãðý˳w¨J?·öç&Œý…K‡›ß°Á³×{öÕW/þ_T›è²Ãg§7_¿þâÅë?ŸÞüï_>1‡OìtÀÿ8²ÿþâÓû¯¶õãqãè}ò1å˜BDû|-~r͘ñ‰|R˜FבּÒÕåÍó¯_Ý¿~÷»·ožßõÕùÍË7o¿úÅáü�g¯¿yögÔ<;üÏû—/ßü}À„„Ïï^¼¼Ç»¿zöî`§éæWÆ~~úúÅË/þùëW¼Ç¬xù±û\:û—¯Ð :äïü8}þ«Wøä³ûwï0x<Š£8ÿæþ�3–àÍ+i‡I8ŒG“G7YÍhLœ"?‰9ÚäCÈn ÉÆÃOÍ8>Ǫ¼Â¢ýã0þ•³ýé/Oë·Á¤üôß?½ÿó Yf,Åü¬Œñí›/_={ûW„S†I:ŒZõûûW_¾ÄŠÉ Xþwùµ´Ã”è"`l‡O\n´½Ö/S|�}ò÷_þùÍë{�Í›·ï>ÓE÷~õ¿Zóé×/ïßþËëï00™ÎI§ó7o¾¸‰öó÷ï^>“Y”b–ÿjƒß?{ûçûwØ-o^~ýNvp®OÀrýúÙ?î¹ÚFðÛ/ï_ÿþÍ¿Ê?áê?M!M“·&a»mL&eÏÙw‘óàFãFŸ°JX"´Èþ�"~Ée<.Ï3Ëõù|ŸU‘°t¿ÃÎøíÛ~ñúŸ¸Œ=ìŒ×MóË·/¾XöŒ/EÞôˆWâ�1“'‘§}2ÉOŠ&dãíS>ÑiÂŒ¿{wÿºLvÿù7«Ý<óÞäöõç7¯¸ì_ñ,cç½Æ¦|ùæÏZ7ÿ.5øú×_ê¬Èߟc‡üîí‹×ìsøg©ÉŸÿîåרúåÛ7_ù«×z3üTi×ï8˜·¯û¿üåpzûõW9üþÍ›— G›¥J{aåÛwúùœß±úògͳæïì=•ÿ§<ãüìåË~ûìË¿¼x¾÷˜�úùyëºoðHlз÷K/ògý÷ñoö\qo¬Ûªùåão0Âïãÿzÿ77¨ë‡ßþñáô"WÏá÷oŸ=ÇÉÂßs›'ì}©/ÑüÅßêԤͲ÷¯7XU=ù�n¿x�±]yÖƒm>ûû³wÏÿòëüêñ§ýúÅën¸òÙ³·ïþþæí_9i_Ü?[®ý',î_ïñønPúéûw«çôåýë/¾šçAÿ\vɯ1ÃúÙ†ù�W|óòÅW¯–­·úäwè‹ç/ï?ûÇWïî_=ÞÛåþOx�©�Oo_ÿíþå›/W‡QÛ=ám_>{ýìm³ì¿–½õ ÃÒ!Þ¿ûÃC=ræþôâõ8UŸ}ýâÝýB{Þ¼ú’\ä᳿<ûò^Þº¶ülî0|Žûj}#}òÉWØ€ÓëUý/ß>ûânApÄ¿|óò‹ûׇOyô†Í_¸ÇÓáôÅðïÃXŠ‘â?ùüôvøoÃØþ˜¦ØUq¥øR‚ü¿–Èÿøg]Ò\ò8mÊͪœPÎ¥\Våv¼Æ»Z6[ÿØUq«â7%häŸî7â¿ü7¯Ê´)7æ4—ó\Næ‚Rÿº øãV>º˜»uYO� ®þ¸Uñ«ldô›V%[ðVå¿7«rÒ2ü?{kym5Ýf=ýjU—µEæåõ«EÖU]¯nFá¿\Õ¼YßiµÂøïP–º.öi^fý—«|»^müWÆÝµ¶Ãf¡Ö•ÿre¹ÆQJ–UNÍ -ß”²][¬%ÿ¹•riV±>ÔÉ.kÆ¢‹T—l*‹…Êq­Î¥\¤Ü–rÇRO_f½–FVÉ—‰Ï2¡'9$w27V^>ÊëMò*±)#Œ²e0„AžËçXçœwÑ%Ó;¡\ÜVÛxç½�s³Ÿü�?ù‹¿õw˜H\ð!R¾ 7áÎá6Ü �Á.õ1ÄéqŠ7ñÏñï° ¦Á§� 2§)�Ò9]Òö‰É�drÈ1§<å›|Ê—|›ï°_ì0¹ÉOèg¢lpšÎÓít‡McnÜ�¿ 7ñ&ßL777'”óÍåæVv’Å øS8¥S>M¨:�ΧÛÓv—d¶ÝÙŸÃ8Oç›óé|>_ÎwØlFVÁ_Â%^0¸K¾L—Óå|¹½ÜÝŽXwëoãmºÍ·Ó-žu{¾½ ···wÜw˜°»p‡7½ÃØïnPðÈ;|ó®ùÁZŽXÍùïÛU¹¬ÊyUN«r³)S-þ“W%­JÜ”°*~Uܪ`w¶”- [ˆï¸úíúç²)g-ƒüsZ•›U™V%oJZ•¸*a¸ sñ›âVÅ®ŠY•q)uʇòËzôëŸóªœ´ÈÉܬãvõ¶kVWk»DÛeÁR «ÕØ.Ávâ·Ó]¦¹™[™Ñ¡›Ì2…›ÙÛÎØfžæmYž543¢³qSÊ$%—’¤ÄRB)^Š+ÅröÊ•©¤Þþú^õYõç$妔IJ.g{Àb)AŠ/Å•¢¤·zPк–·²~'Y¯,ëdA¸ £LûE¦ùF¶j’yô2oFfêV&æ$‘y÷ ïÊå….ò72ä$#ô2"Œûå“yݺýÊ cỖªYPóqÀFºÅ,ŸAôn@þòM! ˆ7ŠÁ {‡¿`:NÓ Èfžh!u¸‚ îã;l„ ¦éj;å<€ðF`ŸH±ÁÅ}‡rÁžÒ HuN D;€x;�pƒ‹þ{炉=�ÀO ô ä>€ì;ÇÛøk|ÆÅpƒ "㚈!àÂp¸8 x‡;l· Öâ„KeÂå’|Ä5ãqÝX\:#öý-vÅÑ .¤<àfŠ.àŽr¸« x•;ìÐ –�·(¯U^´—/bcGC*;3´¥ÛÕVÒJ/uòo¼ù'á ”Sï ûáÊã¤é ~}ù2Ù»†»©W’0aSl(ƒÍ´·•l¹#äöá�Þ@FÎ%o¡ §·ÞDå.âU„ÛL€<›÷Ý|ÙEì²¼sݹùºãewÃÊ—gŽÁ4U®A˜†[aLaÂÌ:ܬ§�³@>m¼Ó.ñ‡0sù“§EÏJ½ç[TêåÍå­un„+¹u›•–ÐÌL�rxÊø('wFü]›ÂdëëT®¹pÉ"VHWµ£¥éDfC¿¼;:äõBé"m˜áV>aœd/4ÜA�ŠP.€JqÖ4gÙ* ÝYS¡=:Å;ähK�£E:õÍiüÖ‡ñ4³¿µ,‚LÞˆ8©ˆ=ZÂF2*ÒÒP~©?Ê�odÔ-ÿRï˜Y@›9})§a#Ø�…ƒ®Bÿ�š’›²‘ú[ª˜9ß×»SÊϰ‘t;�Ž'nͤÍÿ^v èÄ0KÚç"Œ�T:Û-ÓÕ’«Ü7¬„|-ñ‰e)ú Û?geÃò{_Ü•"›bíËÞï”በŸü³'»«Ÿï¬Ãz/šyF•K­lö¥å°ªR¢*)r‘…«£œô¡ˆÍõxWµÈ²ýÛÓ\9Ôzz×ö¤ç¸ŠôýiM³ - –fÁ¢rë:<~2ñÛ¬–XÔSÍq¬ò2¬”Zk%×i÷8ž6ª±þ@eJ{>óF˶hgª†fïˆÎÝÉla(,C§0Ü;©�ßæx+ä·>Ã�ãþØ}çké§—”éåŸÊ…Œ”¡o…Û˜Šä ¿agéçnÅq¤ ÇaWÐ2�H@D -A*QERè,Ê•ƒò,¹"Q:C -:‰”E•ä…ŒŽ;‘Š/|¾Ÿ! ©,DiȪ4$òÐ¥ÈC'‘‡²ÈC”ˆH¹ÌP„¢;‘p)©`DÑ(‹hDáÈ‹pdä(݉„t ‰2¥¤„§²)¡‚’rhD5s+âÒâ&ŠLš(6%Dp¢èä„R�">ÝÁú¤eßFÎ�¼[þ-²½ã�þi¡âäiu-.M9³,‹fJÝq]+«jRõß5^³H +&hCT;¹á\64rC‡ OÂÒж]²öÑs O#WÉÇwyŽ‹´¨e­¦ZÿlÕr+UãZ&â‹”¡üb7ÅmÊVíš7% U^jÔ|y£œŠd».§¶ ³Î«–KWúŸ»¾Ô=6¬oêFïYTÿ»Åí–¢ÉëK¸RâÕ2ër‡�b7‰ºù¡2=Rn†F¡¼WNO,B܇�æú¡ryZv>Ü[Ä'—ájÕ{þô—èûvT7ã,~Úb±ÐRU˜ªÐ¬êÍTJÕ~N¥ÝèPT¥õ§Ò†åØÔõ¨”µŠÈ•“¯ZZÕÙúA”FZâ\R)y.S)7s9íÐ(ü �Ú#M‹ê~Ÿ­èÐp…]£>רΊҜD‡s�Ö<@c6D¥–áAš²CI#!ÃÃtã $£! ÚJ¼7iX�÷k„á‰d ?ù×ÏñÃå{:ÇßH‡ºÑ¢‚e;«²SŒ°ä³œ÷8½¸²Åž@ Ô;‹,m²A¬² eµÌ^h›Å墯Y'¬( ´iþ´Zii§½K­Új¹K±×ò‡6Ûa€i·åRÛ-­·d,Å‚;ˆ7“ÓCî Ôè2›sG°ä$iÓõ9ä$lùýFì»gЋÛbåoÌ>Þ -?Os/ ¾ñ& §?­ ¿búEáv$#hDÁèÄ LC0ò$æà<œ&± «Uø,´ˆGûNìÃãLr+±­d¶’×…¬Š:̤t!¡•t.Ds¡• �\hãš"^†™®éßB÷¶´nMâÖdmĔÛ’®†Xíp>==Zñ4û|Ë5*Ó°ë2Ið‰]Òjî8‚È-¯ýƒŽBç!ŽôåA7~4ÑqÁŒ�n7 À ÖÒw(¬„›‚Ó@Î×N²Á‹gþj]|b(ˆÕ)ÛÍÂ8N«iøñýìy›ŽÙ¡c<5‡4}�¿}ò½(32MGY\!ÛFèåt™M«¿è¾ éoß>ÿË‹/~6Ô_Щ�G�1°Ö‡€lN›x˜Ðtq¾Ëιl>�   è¶Ïø&[㳿þû‚ÿŽnŠÿV9—»Â¯ØÂ©„b O…/¹)¬Èeí²PØ _¼èÀG .ÂA/Ì%}OÂTÞ‰>Q™É(lä�0�·Â_ÐE�£r‹7¢'¾´.±êþZm‰jQ ¹¸±¸«3@õý‚Ù�2\ó²Ýû¹îG½6{„¢Îý²ú܈×ÍìwÓª˜Sñ¿Qœâƒ#JæÛâ†sêð°cÑìWôD¯¢µUf¡Mq:Y»�,Ž'gå“WÎ'~æ‹§ê€rÑu¢T|P)÷äê*ÒŽzŸf‘p(ÙP® ˜ -3gl¶Q˜P\M/I=+8­ÅcgñÙÙ¸ü­ó8ÛËÏ¢WVEr* -c_lM¦˜Pžèj•Ÿæg¥®$‹áD]5¬zÅo¸Kñ€«žoy6¤„â঎m£°Ó·ÿ‹•‹ñìd¬Šwõ¤p³<D&�"—&‘M³ØnDB=‰Jê2ˆ@r'¢ê"¬ªß0×M%V•Y©UäÖâI¬¾ÄÂPq"¾f_«{Ù±�[¤X.}õ7I¶Ê²C#ÌrOLÅù,òØíìˆlE”­îÈkYö,²ì-E™¡ˆ²n%ʦ"ÆžDŒ½ˆ«®Ê‹ëW,¥×Y~D;¶°½Š+Bì,ÁžDŠVéPqÖ,žó+W±1÷¿ßοo?-ö–¡8àã�bž]ìÙõ·õ¿³{þ:CM9Å9ß̶7Çf,ÿºÍ¿¾�ßêÈæˆ 5�*›˜�¹‘ÊÕÞ¤ÿU7€å¿7ëÔ¥8ù—È q£‹ÁÊËññwÅø‹—,^ j#[Â1Ä‚6¬<û—#·5'®Tí1“#.W8ýß1këRkiºf—*vîµqÊÌ­µi«7¥÷Öx_íc­ ¿ÿkýoûûú³PcM– "ÕëçºO�Ûüî†Õ¾1ö­M€ûÞKýìû0tVB�»Åa™Õe†—EXlwŸæÓŽOs*îÌ‹+sua.ÎËJéå†Ç?m¸‘‹^¯ú$j° ôÄ•+_/ý­1ýf6¦'!VÅ >°XÕ/28½öôâ«Wß|ùÍ×_½ÅÛX.A\ƒC¹×7áú.\{oýŽ·žÇ³ïñ ŒO±­·ÞÇ×ü�ð@VN�ïåöh”*ïE´þô„,6“bEfûÖÇþºŸýÊÓ¾”•£ýðˆ¯ýõ]™‹å©q³V~ök/ûqÞ¨wE#©o¦ýŸæ=«»v’»NöîP¶o”«pÙÄ®8“*-W'€º¡oËt�W^"º¹Q†²ÃSÙåQ„aQ”ô -׋B= -tÛßÊ֗ͯÞ3{æÝ6˜¦-û6dÛš…ºp›Ý°›m$H‚3ôq8M È~8N’3‡åô¡$}dÎ:´ä±ð7\�ÐÙ�ÑyäÜàä »‡ç´2C.çg}†V'i£÷=N`2qòGçG3ù$²t¦bÏ’ŠOÙS‡Òô%�£ÈÛ£ ¼§õ>ªþÏ­ô<£h�ÂtEë9MGô¸¨”ØQˆ¶-Ç8™1�K©¹ò¸ï F�t9Õ>ïµ^�æsÑçÅ#ø¹¼¼ç}мGòäS6�¸°ø=ëî-ƒÇÚDí­ô¿(éä)œñÍGTx.jL¬A\)ÜBÄsÌ¢Ãÿ~ŸªÚQÌ„#3>o³¨Š‚›2U”Ódqñòì�ìÌHÏ®¤P2GÎy^)h©¼>Nͦ)�œŽ!ŒkÕ÷ûÔo¤´úúÕ«û·Ô[é/¢-úÌ]ÙÞ5ïºsN³KmõÅ=ÍAê·U@R'}Ê Uˆ ³¤’fyd‰4®¡âk�c ¡zXEçÙ‹z øV�kõ¿¾.Ù‘íEÜVò† -öÓJî8†á¶Ê÷�ðÅ»°8hK?"ã“mi|‡Ä$î‰*îW‘ÿT¹�rT ¢²Ô¶ÄE•C(½†0µ²$aár)S)……ï3Ë3{~T'¿ÙÇ{˜ƒIÜ\Â\–Ÿ4—<—›¹œ–2Äóª,Þ0[“èÚÍÚlŠ[™»!ù¹„MérS¦�r3¤›®œ¯”Ëe6ëû>%¢Bù¦E6ò�íwQúù%J>Íqò§å”šm¼W–CyZ¢ýy‡"ôobÆä˜Ý­¤øÅuc*qj—•>Ì×óA-ØPÎÄY¬÷ãLJ8}¥æMÙη¢ñâv¢Ü eoRßu’�xá¬nVöÑâ²q#.eýÄ—ÙˆÌåD Y5\YTêÔp‘­íÖX´[At[ê¢1Í—¢c'´Â*/º-2ÕÓ¬Ýߌá÷ŒÅAcZi¶ÎµOµòmñó�}3†Æ9#вxÀU' •+W·ÅÅmqn“µ'�¸qe›:G¶�ÃÆÊsmöYS™oë¤V™ßÖ­÷Aëý]ÏÃŽ×Ù®·ÙZ:è½Î–2ìÈ»¬Op`õûž®×¼\,¢1ë˜úM_ãèküü;_ǰ —çÈI‡†"-¢Î‚4På—EVYá·!ð+�chßab-ˆ/BøZüž…ïµÔ=ìÝûŠ Nàn¤í"o;÷VäÞ -Ý[±;…sš/»0ÌÂ÷"€WÜΰ8ãJ¿[‰ã·³ø5GíõÁ7ËÏ4—<—åîZ®á0¿”¡Hï‹ oW’¼YKô+¹~)kyWÖsXIŠçM9uå¦){?yrº-»7·(Ô®—™ –_›â¿q‘l˜ÜwQ¾9šÂÃx -Â<41Ì=¦Â6’y‹«°FV(&ÐaV‹®U¢·e›.êÐ�2T-¢³M´ZEoêú¦²>:¡¶‰5:ÏÐ Sqä�hÑ‰Þ¦Ë 'þ$Û*fÂ$Ìi5«zt1o�ÄK$RÞ6 %ImÅv’t+ôj˜4 S’f5j(ìù£4P§*ZÕ»rÉ]D»z.”b²¤AKÊÕÐ% ^R±BŒ=ÃÅtW䥞JäN¢“½)zÙØ´mŠE’(BŠsƒÈ>5dÜìÄ®^‹^­qPÛˆõi(â×´b@¯­/Åï°×0öþ§�3½Þ¸¨2tݾOyÈRÜ”òÆ=e¿¾¸Ç„1C¸scÄ«�¢Ù™ÈÙf -Ø>6ß•°Q€ø�Ȭïh¼{>о‰–á_^¿~öêþ‹ÃŸËGó³aïÃÅ›jÙ+Ì2Ë -ÝË\ǧP˜‹»ŠR1wóÖÕ| Ö±u2W‹½Zëo6¾åO†Ù±|Ú#U‰ï„­:ð -®± ¿}�Ó oP”OEyÀc~XÞçé>•/X ëÙÞÌ÷P&Ül†»–¯�¤ì;ø»a™þ ì}g0D7wÃCô‘“~pðÊ"á|©›\2ô>%�³à"ì”x~°Å©5¦˜ñÞ¹6ÝÅypý“žôÉ.­ýáFZ¬èæòÉ<¢Ígߎ^�ã.ÅÆÇè:lh¶-Žƒ¤gq}qâ—2 • =sâ'2‰~öä@•EY€º·)ÀâÍ0{·Y!¶I4œ—¤bõn«a:  b*Á9šS=™†Ù•iëÆTœ˜6á8¡hz¶á8k}Ïít7ÌJuj²EÊòEýStbÕªð¶HDõ§}CÑiÏ¥8A­Ëf¶ÂXX·e˜eÑ¥¸Ý⯔°-CóA|RI×Ëpµ*¿_¾A㑵/ÃÓš=½üØáNƒ™'©<_œ©ˆrzVøŽ´Apµây–„ÅPôÂÒew3(BÚÌÍ‘™Xc¶:Q3ÇâZY"g‡ÊÅ™rf?ʸ�œI(»x@u¢Œ³Šôg(;ñ\Œí·%4l,Ñ�¦UÕ­2ÌQ‚µT�‰þÜ …²Ôy]´3Ug³¨s–سEýcÚ2¬QÉ6º$·¡v} ]Z8¬4VmÙ±Ì\)‹&,ë?žT:½Ô¶ �5ø¦å©>ùgxzÓÿ4^£ ”`nKèB™åF-Z3‚a,"J…~&ý(á@¦Dì¼vÆ}¦$x7û܇ 注ª;öÚ8µKA* ©nØ;1Å»T¤Ò‘D¬R%&7J¢jü––,ôÄEÑBUBÑ¢¦aEXêϲG·teã5Ô:GU -3tDæ±±WJCq†' ÇÈÑ\†‡*ߣÂóùñwø#ù‘‚üHA>Þóùñw¸ÆxÛ͇ùôi˜OÖã¨ãàiI££Ÿ’�Fã¼·“„sôØ.˜ JØZ -�Ÿdë�àeÆMlÛ“>±’´}ÇVÿ1 ª˜ï‰�dÜ!˜ã -º6â75µ=ˆŠhŽD”88ŒfÁ¡{ Åöû ½‹Q�Gg§´óý¶Åüý”v<ÖK§»ït`étàªÓÁŒ�xÛ¸s_·î«EîË›KWÎ߬h7­ë6²øt¶)��_œjÆâb™}ëûtr¹�MªªÌujÌ´r [g“]g’mÊG×ͯtžÑJ-[Ù ºÛõÙ¬­6ØóÃ(žqhNV2o͹Æ*¸Ì‡”W@HéÛ6X“Qsr”d䌱Ï&M¼àÁñÅŠ£ÑúѤd‚ .z㦔F…O‘ÈS��U¸Aÿ¤Oöý�>šisÀ¬MT/{4“g'pŒ6›�÷ ñX†{—#¸<úÂŽ&úÑ‚]…ަxë?]‡k"g>eyçù}��aV?¶Uþ–WÉîEb¿¹¿ñmñ�ÝɆ7û×סºê>æk›:_Û=áÆÃY98fb~ ÷ý·Øw<Þ¼ÏP_é}Ünu ÅÝTcU¾ëxyÂP£aêý¸´nûŸ£m¶Ô9¯œ-7D²­øà¾šno¯»Í^/Þ‚¶A_èéÕz;C€/àa•:S1 OƒdP�pÒU(éógxï›#ªûVŒŒënEP"´§â�5‰ÉñTÙo‹cÅâœåV1ê4Cæ!j : 1Œ7¿-±å®x…1G®c€+"wùŒßÔ"8­1œ¬¸PŒâXQqœÖHN«à¥áZôÒœ7©/å¼ô]¹`§»`7{ûC �lɇz‚ܨì{Äú;�¼4QjÃoOËÙ`­\˜{�kėѯÁ‚W£ýŽúûv§<ïó¼Ÿ�+Æâ:O@u9.¼±l½.'Au�^œ�f7hýÂíì9=®Ü‹–¯Ö/ãG¾°Á)=o'Ç÷Tü\9§ú„+’÷Ñɾ�/,çaÜ¢qíáq™<®‚Å5Ì¡•U.¬Á½5 WïËM“oØUBy/:J7”Dp5¾¶FiÚ%JSŸ»<#ì>É> 6?m¡«CjËgòªë#Úh Ât+éï&É{çNsH5ô„1y<{”¼v“¨žº¸Å; /uÌàF±±\2ƒ$¥;aÇ�€`ïpŒï¼‘dsÜ šºxŸ¯{BÞçÇÙJ¶’6W‰ÿOøÜù8­ bçŒ'slEõ¼FζM‚&† ÀƱ�X8¬ãæØ%rn㸽“ÉåºÙRN¢ä-ñ#«à‘ýð‘8¿jÚ¸.«³ë -›7l°K–ñ]#Ð-‰ž}Çu Öþœ‹ëæâ¢Ù‡¹,îÝ‚TÖŽf fµx˜]¹ BwÐ}ìv¿± þbgñsâF—°[qóâôEG/úu9ñÝšÄ%‹®Vô‘Ò‘Lðj<êa1÷A1w 15 øðm²€äíÓ�#{¯‘­˜Tf×°’ÐÒFþ‹„[Ã]ïeɦE°mh…ÑäáWR :£�§7ó¶�‘{Ê' 4`+¸JRóq�J™a?‚ôâiÙ�8£ üŽ‚ÿ8‚{ ÊRc9m$BÝÈ1apîo1& ’‰n“±Ã>é“yDÑ'¾ê2OÓ¨T ÷ƒˆêˆÌ‘|ËÇb¶jF¥ûi$¤4ØãÑd/ùnHØ�•s�µÓO ž�pƒdfëÁ^c¶cJ8 ›–«Ò%Àyü“]áìãÏ·îüžlç7V/Š#^Y.É?î$ñG½™öã®@‘ñZVp}å�n 3äŠê‡ìÎ4­ÏeÖú˜³f­ð%kÅ:oÅœêm�ém•&|ØæÇlRcnÓb®cH¶)1WÉ1×¶gñ}Z¹¾Y’ÅÇËß¡jƒâ};IM/õ»Âãî¾rö§ºÏ f°ýsaÜ7B97òñ¦oÎSá eU×�…;¸+QVu~�”X�aVÒ)èÛX€ú¬¨éèDS¡&sAu\¢gü•±³�_̦+îJ »ÅÙï–ø¾exÿ¯~GêÖXp&+øfMá¢À+”k*ÿŸVŸ×4+¸š=Àбr ö¿þ/ÿ]'OWiÖA0OŠ•y¯Ÿ;|ÂJr¥§ñ .ã°úH^ëVØü Ç› ¾枬={²õdêU3¦iÖü¼x»]cçW ýÌÒ_Š×ÖMÉN¢L–4Dn(YRJ2•š‘eÎJ´ä½Ÿ3ÞoÒÝ×-?càWóÜ»®\Å™Z—¡Ëgµ-~-¿óUw[A;�Ý8†æТð,36ËÃɲ†91TÜ*7v•Ó -®ÚU*,ÜÚ´bò8ûÊ]A½+˹XZNsÜx½Hˆàåg…q<4Hþ+îJ±ûe¸RaÞ· ïÿÕï¨CõTZ,Qk[TµF™Î©z/åt� -¾Ñn€@—äOÁÝ¢€ -Öa {ssYGÎm½F› ¼Ýôݷõˆ¾Îóìiå<<î¢öÍÊßáZ±ûƒsÅ¢Ãe‹áJÅ~2›>+Ç:;‡HEÃnj›Øáén1uMw�ê1: çš(/ pœS(-iòJâ¤0.ÓP{ICrïÄsWÔãp›ßaØ'¡ä´Ûf½W~p®øÛt¸/"ø+2E‘8†Né„•C~íÔ¹H?³D4ÌÀ÷õîRÜ|½]”ßQtís ¤8‰– -ô©VÏ -£E¿˜Ë \ß¹Àœ¦D! ¦Ë”ª] š b—jÝQ"#Î�•ÿSm®2§aæû„ã+|ù;rudãȼ݈¬A>Ì}ïQø?vØýlå³R0ÌÔœn¶ø¶‚`uEssЏ­¤9 +Q37¢fÚ©¥Qå[NL÷ó½tø°hp- n)ÃnªÁ6WàZœ™¥œnE*Šßõ:]Ëyåu}7» šöÓ•d“qþYÐJþ³Z�×öã‡,È=ôê¼*©S¦ÙZ¸Å< J—ÍÓ�H~[ÍŽüCsÅߦÃ+²Ã•R$Ž¡Azae+̬䜽Ô)Ã’)¥”SA$Z¢Ü®°‰ÆŸè„¢kVóµÍS Ãwm§Æ|:â*X^î{}ªfâûΧ3§ƒõÇ´y¯ú”oe4 {FðñûÞõëjïå'Ãs{ßzxµ>^f•Çœy+Üñšh¹æ–«ÿ]oÓ+/¬¤kÿ6,Ð:3rË ‘±S9罯ÒßÜAºˆÅ BõpZRe¹ø=¨ø{¯3óÜ­•ö©y¦U’Ñmr?'ç±ÃÕü<‹¦áf¥†#Sm¶Hڸǧ˜39¬('ÕâØæ€C:9ŸkVÆ8v‡u�AÀص¿sƒ”ý�ž 9�ÅÅ6ô©—ÞG&:à¦7Nr hvÅ.þhj|É÷ý¿?Pÿßîôï†}„ã>~Œûø1îãÿGqqÚ;çø´‹e4Oˆe¼ž=¥Hòß±*n¾yŸ´×Ÿ”d¢�%1Þ’ïT�òkz¼<§Ç[äÕ´ä5Ùxs~Z¿9ì ša¨Ë>´ÙÓ×ê¿ÕM»¬h -ÅÛ^�U} ÇÏ&^a?vá ãÞXu_5\af{5ºvé07‘µmŽœn´ûAµ× þu’¿9 -×ï�§Þ"œ®§]LOÊÓf’7¸ZqS&L|ôÅ9û|T?7QÆ2vŒ¸e1�ÔSÙrÚ¡?!Ws‚7'ðÁw üoyñîþ¿N/Ÿ=ÿ+ŽàæÏï#·V¯â}ÏìZC¬^Ó2TXõ5¤úeNö»ÍÉP±ÔÏô¼-0êv3³�繞f�æ´Äð|›¥ó*³‹Ä( ï¤TÊ u\‰[a£áû�YË:+À{ç-TÕpe§TŒêPEëfYpø«Ð°`ñCX˜$L©Š ·%ùòy48üEÃý�vûi1a}R¡÷� -Û‚Ø,I…Z°¢ËΓ¶Â{䃿«ŒpÃÎFØ„Š­z½ÖÃë6X%exh+<–˜a›–¡˜<†üí‚ðÚMqÞ? oµEVe¸’~j |ôÝqü…ïÿþ:ܳ¢®M¥k+ôŠº ;ÄmG&ÚEØßâë— Çá[F=&�{\‡÷�{,V°“ªkDQã.~ÀÙØ\Ýî@\}˜„€ï§nÝM 8|…ëìwZ½N+@ée�(Š"GPJg�ÒË“`J· ¥%brøv!“ŠÄÒÇÆ©³`c l¨¢‡ŽR÷I6ˆÃ/��@ŒŠÀ�½‰‰Ãä“#‰ˆtŽ+™€øÜë¦òØŒ¸4>cveS9sÌÜEE7y«j0tK(ЉÑГ‹‡è�tbÂ�,ÆÂÇgˆoø blØ—ÚN™±Ü=¸1™<@8ç†�"ŒÁÁ�˜Lü„ÙΘ¦ì�Ä[%¡Ð£m0«XKN\ûº«ðRÇ8bn±ëè€$VWŽ “f¨½fWè9`àØRzâ h^ÑIVO›ô…uO`²@uˆ¢‘0׎ë–‰ÍHRy•t±—? �½ÈfÍ�µ<‹$‘ßòòj¯'‡¨É²ý'peÜâ8l„¨à,X™Zæd§.¯T>×S�·ß†ºdÀ-ßáÁJã4Röw«g4udõÔo+q†§Èo5�Á!Ã|Ù~lµb>²«÷Y¾ÔÎÎü˜+ÓVgÓ=’· Žë!9P`œ£W»•^’éÇÈ�ö×GV`Ì  jTZYÞØòµB÷Ž•ñØ“ÄÿuZ¾åu”vdôðê1ÍçelÚYSg�à°¿º‡˜#n„½¡• -í­}¡ù[íÌϹ2qufÿË¿à?ÿòdfäW_�÷øòþÙ»û/>Ç”Ùo÷›g`Ïo¾üÇçoþ$LÌ/ß¾ùúË ×2~ú³ÃþíQþ[8D:\b‹‚û‡LP™ <Š?Fw" `ãU3¡dÈ<›�Óâ.ã’̆»)Œ‹ÏG°D`D0‰` ‰dÆë9î+ ËC66:Ø&@pU ’ÜP1ÓÏ Wlù˜C,*“@Œ’U0¸¬Tâ–6Ø -ØüÚ¾•©^ui4‡t]ÅT¾!ݵ• ɬ H“Æ’IÅ� ‰W;†gbi1FnÕ¦í©â�¸ y×v-äI^\¾•¡‡ÓN?8àÚ8²AfÌ|qŽå˜û½€ë«´•¸F„^t+�yNýçuÙ¶T7$Ö WÖ"á*=d‹��»âÕn%Ø~ÞU ü`¨ÀC@3d0ÊeeÈ �?(êÌ0GFdSœº)ÎM¹ÔŽbŸ–ÝÒwWQF4o�M¥Á®ÍQû˜QÉæ<¤q!£ýðçÆí ÏÝ_™¦ íØ;®à ²�TGƒQ è¨þ ¸B½~n.R° by( ;Ö.!<Ô¹ñEÂ'oj¯çÕ‚“ÄB£o‡{,à y:¢½wIkÁ<¡\¶e0àíq©ƒ&cÁP= "O"™Ý<8PTŒ£‡…) ÑËmK€•ñ¡K•lJaVqà�ø0a¿¡cLìäÁ�Š4™A‰À@{ôˆ×;L`UÀ¥jwdO0§È>¸‘ƒðqç‹ dAÉ ¶€'+„Ë Ïy£0}‡ ‡ÆYáQ±¸q¶ñ4œM¡~þ¼®4¸N®4Øûå+`œ XlhõZ?£­(ÓÎÚJlÚ°DÍS—×Ç~dµB{k^gùVóþóSöçlsøÌáæËæ‚4”HGÿ°‚ˆ`·•‚¶u[Œ÷¦2Þr*ýò¢÷F - p ¡Å6�+ô>ƒ(OI&�âp¹úVRð”ÐdÓ¸<§­(ƒÓîÚÊt¤úôÐ?BÀ¿ýèJ…v×¾Óü­fæÇìOÜr`r:êêþ`TÕàü„dy£b›`Ëð#ª—ä^ô’(ó Àªâ [xªÐøèDo O�œzR *00™SáW9û“pð¼¬ù$X;–›`ÄÆ>˜¨ÒäÉ1¢ÌsdØ“ˆáÉ£\<< ÖH7‰7¨Ëë#&#NÂÙËí ÎÞAv_޶Ùð|‘&ˆš™º¹€ƒ�£4R·ƒÝåió±–»5‘á^K˜hGJ¡#‚[¿NüþÄåw˜0aœnìOÄWÌ 6Ã4ªròùh˜qê‚2Ñ,“7rh ‡“¸<#ô”Üô­('cCD^ºT`ѳ1X¹eÀÑDιè2 ¸:é`G[É®A=¤ž|éD½ÒN7«²V;Q¥¼Œ «h^@еÂ:9¹ˆ@uÓagî#uó† -ͽièsºùèºé¦²Éc+RW,PYaÞL) iˆ#�©ã^“µÃ±’y,¬MjÓ -ÜÇqG¶Ñ�؉#ŽvZ`Sš½I5„`Sy-Ý¢]+RnÞÎ8Ãä¼w†:J@U�QB»v^©i¡OrGPpP cD)½Óøvjă!olöÆÒµØ}§®U;5ÝPºÙ}l•æõ¹Õ•'€3ö T{]Æ®’ñ«ìŸ:%ÙrTo€Çñ|ÓD¥8Hv *ðÒX�ZQïj/W7&æcþVÌå¤|Ëê9]EÝóB ¶•îH¶èÐ?ÇrþìÎèJ…^<í;Íßjg¡>çÚÜ=*-ÿf9êgÇH�Þ°Y×v8²´ƒTûuWTœOâ«*q±¿�û‹fi¬ ôñÚà¨�¥C -Ül€SmWRm%Æj€£~‚Â6*x�§�ŽÏ‚Œ™¨n¢:u¶À‘ñÐÑ‘]Â\-pFŒ(¸®"„~ª”×8a5”{y-Î8L;ŽŠ'{!vÀÙÇ -ÊUkÛ±^eiœj,Wª–7ò(�C(€eÏ{µZÞä¦Ç<ò¦Çåœ6–7á&¢£$éK9[ÞÈ â#2ƒèŸ"5Xó·Fw*ŒU÷mÅÊøÔW“UÿœbäêG·2�ͯ27nßyîþÊLýŸeûþUì ˜Øàt‚‘u}.¦M&TõÕÆÝ¶Í·ŠÖ¿<)£Òð¹Q �t§Ájãv› µºÅ‘ÅuÅ’¬Ž�ƒ3®V|c¤;„Ú¥ÏÚ“ÂHœÆQ%�Jí@î1€‹ŽŸ�Äm¬<èo.7mÅ4qU…ßT’pŒØšsH%Љ#C´1† -;‰îGØw2„q¡•ÞîUèæc²E’íâÎ×»•5ÅeB6ýs]ûFߟF5b;,uvÊùð#Ë�gˆ®îLL5!tâ)~ôÁqvLÔ ‘rŠ{ ýĨ„ «Aâžv6RaÒ·Ð…§û}ˆ]OÃ^?¶øâ€½ãîXÚí;U¿Œ¦UR¯Á4RSäýX¨ìƒØJe_¹¹»wj[è“Ú¹éúéW¡Ë£ëôñ /�'¥~NÄ[‡»ÃízRµ>ï6Ñìz·Bvãp'Aàá‚7þ…´�i´Gºeí:‚E>2aZ §Û{ôkµ´0ŠÓà–4’_‹t $é>¨ñAy“mß;#’%âE–l¢ñ¯õJ¤F /G½µqX£}÷Dj·‰Eí6¾í{?EÞå:5�¸(Ðt‹d©ÕÂh1w¶–­ç"yNCZ.[LJ�q*©í7ÜÞ—‘f Ì:oðÕ³uQ¤f’s´²Y¬ ­w#8¼âHæ ¡ã^×íPx5òyv›k/’n†«ë£èq¹Š[ºãéÔÍ-ѹî;CŠt(£A:÷r¨W$} ½ø HéÝ#�B~ß=R´õTgQ[O/¤ÎM’â:#Êq¸&´3;þ’ž«‹s-•‹þŠã$X\™è8òØO½¥!‡>R!Æ�ÌTNÅ—RÌ1¸~äãPMÀ�S%—‰ö,ˆïúÖ»’ö�É:^�Ka{?KnlwÊIaœ�‚[‡KQ³Ñ¬L5Ó0už—vt”äÁ^áBFß½ &8"ˆ‹Ø˜�õ@�ã¾/¦§2±L3¥Vï“)âjñAŽ·�s&LåŠZçL"'ú+$ʆSç¥I«¿hÎ<½á -ëü5ÁiCtÆæ/‚ê½¶vÜ´–ªXpóÜ ´tœ–œUz˜]ùJçÊI‹ˆP&¢×åboë|:iKtŒlô4wcËWçNjƒ½ Ø@#õJSïåÙÝ-�¸{²½Òö‘ê³ï÷ÉËÈ{Ì»ç¤Ó9€ÒD¤ŒGã÷î–]‹]§Ð�~GÏ�¡t-šWÚuååHD P*ÜqâeÞŒ…Šl\žŠlžÇþ�º{¾¤;Ýt³Û å±Uºêf -…÷ä!� óæŠ¿)Mn^­ØŽÎ½ã)ÎØÓ{wÖŠ]ÇÓå[['Ò�çµ šaï¹¢òð±cÓµÇ÷.©–ú<êZ»A—Š]—Ôå[Ý,µÏ{l²”ÈvÏp¦x;Fª'yéÓ -�}MùËY¼qRÑÊŽŒ«ãÝÉfyë†qP�<ÒlM½­àTãæÆ‚[*ïñ©˜)¬³$ÃìÔÑUÚÂìsÇS<ˆngrqC0ÉL£½(ÆÁ½Q]q-Fr/¸Ù„`¹#u¿|u½ˆŒôK} U—ºâ1‹Ës䀻~èšÊ)TÇ$|˜ì¢×�r§cŘ �c"Q`©ÞB!—'áb5äcñ5ÇwÂ×z%OGË'Éõ¬>tÒ}tuͨ£ö•ªÞh—ãF½{Àd�+Ö™¾•QV–dø\:æÐW &B¿x9z–�øªä.} ÕM‚X:*÷cÿwZ�šƒç&_G¯ëw†Ð·h^EŸÔ¶ÂTÊõKëú±xÜV–jPć¤{¥¦ÁórLdBº/·SÙ=ÿÑ%yT<þÁ×é¬(‡�3ˆ#±ïÁN—9@tûeÅWvºq�â¿('dǧ§Šœ¬`èE˜ìœÛÅGf’»—j\Û;³óÖ+#†°×À•.ö<ïºn(]‹=MúN«F#ß ¥Uê÷o´gèg¦ï§[ƒn(�­Ò~(Â÷ïÎäC¹Øxjêé$jT*“§Â9÷­’ê|#×$�\¾¸OSC�dT�™Aâ­Rj¢bQûÕõI7¢'àVØë‡—a OÿŒ~ M}ó:õŠÜ´™ÔÊ©›ôRÚŽ¼òDZÂàÑŒvoÓ¶¨žW›Ié»éæµÊcëó1?X^‘ DÈ,A‡I•ƒ‘ؙl8R,¦ -”N/.ýèp€³S7(<ƒ/Å3Í1uH$rxáê$K8¸:ú�‹ÇËe¢B¼z$òIŽ®«ÞÌÕȶq¸•¸m@„Œp"Š‚+ ²[6^æiŽ"Âh„ä‡àã)½â%™À„Ä>„â -Oõ²7ð€÷ö"é�€¿F>H"£¬‘È(qO¡¦›ƒ%\2Y”@²;=íD¾h?ð$˜øbª( -Œ¿ÃxçÕšÁÜ+TRcq<ÅZé-†¾•IžÄ{†O"¼½xå«ßuAw›#8v�_Å›‰Rºa+ðâtÇ‚$'¦§hq%çâ�›�øÙZú�RÊ4ƒEœ]õ×MÅq„ðº!‰.»—¦‹ìk8ßvÄÒÜ�ù ³ƒIÄšGò€Y´ëÁª@•2¿ NLjV�žiÔ9˜:C†üΟ§.ž"i4:�4¾Å¤œq¦S8d3ìÖ(®aÜØâž¨LvO—8ÒC9ˆµNŒ;!‘2W†3ªYËPsÀ]Ñ{ Â2ƒè_Á)áKÜ>I\#pxiØF”‚ÂLaÑŠíBÜîZALò�"3 I|�£?÷$fÑIH°WcCxp ?‰�VÞÒHFÑ�AÆÔâ£GH|#{L<¯ö[S-QÎ:±P@$‹<Û8s5”ˆÏ„µÄç^Í” Èzq�l[èÉu%¬g,¥�V^H(¼ëâÞXºÍ;铺Vt¦4¢¨›FÚ¤ú±X%°[‰Oº÷NM‹J�š¹éúéæ·ËcëôÑ©WpÀ4–ˆEaÓng0ü¡[«mňÁ2òFzG%ŠÍ D%/§[\€v-n"þŽ£-®˜$YèÆ3e ¶Æ+°”(Wˆº6 ß].Ÿ$IŽ’Z -"£‡±‹’0œFõ ¼›ÇŠ×1æ£fAJ–ÏQ• M‚´tOV Š2pŸ™0bRE­*3­F1‘~Jlœ)æå¦A ²RÚ;r÷uݤIy…@- …›ŠÖt"*­†h�vÊwZ¨ê¤ªrFäÆ�~¼×)�T)ð"¥L4¯ÓìÛµe. -m:-¤™AÚ¶JN•=�ò”QK¾È¸IŒœ¨‰É7¬PLÑ$Úz“^fúUj-ž�%1�üò¨å¢¬CS'¨›˜®Ÿvn»¡<²B³':ˆšºo3(„ -Š�•eÕÌŒ-yµßj*Î< rˆ¬þá™) ­˜!‚’úz&ת„61›!õ[m� 3Œa¥÷�Q—޾\J6ˆ™R®Õ�¡t-šWªOjZ%Ղј$„´ £'èé¥ãLÿJm}P;3}7ÝìvCyl•æõÄÖ)¤'„‡bG5PbP-˜]+ -XIŒi`ô©ÉâD&ƒb@P«a¦dNqCw®”%𬫨— ȸq[º‰í|Ý33¥²{#èZ´o¢OêZQÄ'WŠ;[=/Û±0Žòv}ƒò·Þ©Ík×¶ý´¶�ytâëÑÁ)ÓT@Žv‰%t¬ j WÚ·òT¨‰Àæ½Hí8ãžÂëDÑ8ËM%?—˜ Ø8Ò܉èMÙ¥o¡×; ©ôëÙN+‰4gˆœg怺c×cÙiѼ“>©keU—˜ÓŽP?:^ºâx)¾pÝ;5-ž—Ùkæ¦ë§›ßf,�¯Ó¼¢Ž10tË+`5�Y�cÀù$$º m#úqPדÀ®Óµ“¬�rÈV•‰*ò< ”c:/y-Rßây‘�%Ô -¢p{}? ®£¶{6Ž~g]‹öMª4Ù´*æÐ$>…‡~(`™R2;oR*ÔE³¼mÜÍjó”Çfýã3³uLä^Å!ØH[Õ.Ùt*dÈ餇Â"{M N-:¦¦ÅÄ¢!“jÌP “o9& :•›âôI‰Ï˜˜,‚X:qà~""E�—1‡A«t¤Åådâ¼;Å–bÛfà,.ºoÀ‰2ëj Å/ÎX  %¶WO'5šVc¤%¸S˜‡îQ‹œ’›® jqžñ7百ô®‡Ö¢ƒ„Œ7`ë„âmûð·¼ô8Š‹>žjF$ì¡nQwì¨*ö˜cÇUiñªD’ŠrFÕ骃»êZ<¯[o–µÓM³µ3”¶EûFUkݴʺAÚ`Ü‚qª?ûi[T-ÌvBú~Ú‰¯xdAöíh?4¤—x™[1½%ïb{ÑY‡a—�9¡Ró”%ò¼…ÑêZ¨…´AáÚé§ðZ†ÐU4/ èZAÆ"=¦Œ•«Éu;„¤Žc´ý{ÑIu¯Ò´¨ÆÞfJº~ÚÉì†òÈ’ÌüݵàøNÔÏ�n�~¬´ñ¶è%ÛVÿÃ(ŽÔ`4©‹Y0ŸÈTÓá„*? Téuá2SÅÆ¾…RSܳ^.:fºÚéÆ�Š�â ù�t-Ú©û¶=5²ÅS#õÛ …DÀÓ…U²æ�7j[¨*Dç£ûv7“Ý]‘�ÑèÙA6‘\õ(#8•Ù`¿‰ò×”(äbj0àHzA”˜ÜÌÜ€ÁQõ,Hg>I(Û¬®Ø Â‰K¿Þx£ìÿŽ¢5Ø4q%ÏV° œ¸®…ŠÒ -׽ŀ£6O•v‘v+·Ób2UÓ™è,\ôÐM+a�¬0HlezP9QÖˆ.T‰vÐåÈ©¦“—C5q¶0s ê’ñ¸Ì”(S"Ç=*:ZÆ1í´ˆ´EFF_ÌVÛ¾$fb±M¼�|èAæã-AjÄ�`€d®k¡’ød®ï¦E‡iÔè?7b»:³Ó¢š1©(±®jØ»Væ(!µ-¸œghj¼è6N y .Çhí(3éTÍÏ ¸�SÅ÷‚®g‚ Ø‚ËÑ©”ÁJX›ä‡§—£ŽUv� Kú†[Ž¡cvéèÞ(f ¶œhj±º¢© Á÷(s«¨n™Û�˜Íó]£Ì1@�^ ¸7«rW†iyL�2GØ0�ºcWa?[¸9šÈ$h«…›#‹.ïèùgÈ=î\GÄw´ïŒç¿p ñ†cÜG ã -�:qæ"$¢ÐCÑÉ -M©n«Ÿ×c»�}[¾ÔÆí<¯kÑŒ[е*Fîõ”݈8 €ÈT�;/Ð6е¯ßwÓMa7”Ç–bVK¶ f„cð´&ƒM¬ØÂÜ[Û¨CŒ#Ñw]‡‘{±kv-‚"o:‚C‹ÁN+º(à ò€¸gg(ÔæY¶pÎßôu-ôI ÜÛN? bÜÎXº»ïÔµêæ¦K;½�,Ò¼š-xOy’‡L(Nûtb¥ RÀ 'ª»¶Íd^·âxjäzз¶Aå -6�q]/-Ø\?�¾EóBχÐ:ÑùÒTÌàJ3¦½NLQ\„àé½÷BÛzÁuÓÒöÒÍl;�GWèQåØ�s· Qï:ˆˆù®ƒˆè ðv1":,¼#¢Åë0":ø]�ˆ&¯‰èðò:�ˆ8o$¢CÐë@":(½$¢bêíbCtàz8D³×‚Ctîû»àŠ^Ñðuà}{à]Ô@7³:_‡1Ãôí€C´x}6DÜׂDt~k�ˆÁ¯‰¨H~6Ä é· 1cûµH䯀¨p»÷¯~¨€ÞC…Ü…y¨˜€ºCì@ -Jà.”CØB9TØÀÁ¡Ã\C8tø�„C$ØGTµ�‚»[°Coè@;ô†mp¼¡…ì°ZüÁÃáq¢ß£4Ðz»;­à„Ô¯_h!w1:@Á¾›‹°Jßbð`§UœÐ�¥_h_i¡›™�nºÙm‡òè*­YÉ ¾ß.†ÃN«S¡ -V†}p ÝÐa.ßjPwžÓµØ�AØiµESèGPpúq¯Ðæ—œwÓÒ>æ±ÙÝ3fô1t²ˆI(<ØTúV´û‘§À T¿ØéH$g¤ %/7QŸ¢#¼�(¨a¡2toê[¨Y®²zÔœLv¯ÜÕ ¥b¸ Îì�¥kѼÓlܶ©¾ <ÿ”Õߌ¥cAì?yï�šú¤nnÚ~úùmÇòè:Í´ó{7O5 EÁï¼�{q®04å2Ž€†m[,}+Cd]+ÛU�Çôè”m>:ÙæÌ§!Z+‘» ü˜hSߢš�… ¦myó^?Fã‹qGåùt¯ÐÕ7¯ñ¼xz4­œ&–ðbá°‡�‘ŠW4C$¢KfÿFM }R��îëÝLvCxlE–Íóý6ž0 -ŠE Í@]­“@˜‘>¯ö[Ñ�Š[ä(íè%V6‹CfÆÉt€fVs…ˆPäHÁÙ¶Pú¨™ò¢ÕZÑv#°è+B*팤oѼ‘r†m«Iqf OÄ¡ -¤I.gÜ4~uoÔ¶Ð7j&¦ï¦�Û~$�­Ñ|Çû\dK‚•Sâ ÛLêLø9È›3ÊEÓŠ;�é×ÅR$*î aa5s³8XIň:#©²BqÌvõ:ÃŒ†¦w?e:ãv:«L%\ø”©w†Ñ5hÞ¦òø]«LÚyœjoGB_‹Ü¿…~¬�¶3P¿²3ÁÍÃ[‚îª0íUá )ÑqžJµ]k,½Ë¡:6ô�@ï(OÛ–&âS'$jø(ô{zóqA¼ 2G„qõä§ÐÕÏ„\Üh¶´}#ÞÀ‰bžgz9æÝ8ºÍëT y×JSnw#ðÜ_?¯÷\óîõKýÔêS™òes|ïZÁ†‘PÅ<`£ª<Ä‘qÔ„ω¾Q'Ò,ÞIÔŽºº ΈAŽC’x¸ÉJœ*íYTÍãxõu Tå>jhûå\@¦¾D`jŸß·h^£ø4­„têÐħI©¿Ž€ÞN”Ùpƒ‹t?þ¦Åób•i¦¡ë§�Én�¬ÇÇCWhl•¸ ‰yÜ<ƒöl½|úJ†‰ Ê!D­I‰ÃH–šzͬêgeŸ¸ï�¯Ÿë´&[ê4ÀÚ¥É-߉Åxd*®¸zH[Q†V�UÛJÜ’Pª{LÒ6ýØÒ*óN÷B¥²Ÿ‚òœ«·Ä�Øbo™¨ZsT¶&Å|µ[‰å%Z�É8|œzNN¤%΋Q­äºG7W(ã2Ãu �›æo1Ú�XŒöÓ N}Lûy›vÖÔñÐð>íBú8M;C+5¢dûBó·Ú)¨Ï¹6q½1AdLòþ%Ù®:'gz »EpÛ¶¢â! -V€ì\¢ôZ kÇ{Lª2­ÄÙ™z )Ž’Q$á®E½’™c‘÷^‡á¾®Ñ$ÞfYòÉöcéZ4ïTïä¦URø:O7Ò ñyÍXr뒛ĕ¡§¦E•âš¹éúéæ·ËcëôCŠsÍž²¡¸•iEUª‰Gû-nk}+W%†ðìªñÆ‚:§�‚|ÁT?“º`‹~Ý;Þ¶n®PÅ ÏIÅ~·þÖXœË=6Å�çµ Úakÿ]+âqˆ² -´˜0¿ÝÄÞËË|}¢®½{�¶…>©}ÿ¾Ÿn¢»±<¶� -‰¬G,Ù[�„2æ@¬”¢ð¯•¶Ø˜rÎ!(¨Š€ŸDìÏÑiTŸ`¾ÈXâËÅhظS¡Êpw„ˆÌ¯Óöa÷¾Nb.ò#aÿÂÞºÍTµ{ÓŠ^¬I⎃¦êÆ�™�2 yHvý*M…> ›‰îëu»'_™ú�‡¦ˆ5ud<ÞÄÛ@5ì`PyƒbË6éZÑÊÔÊí‹n’�¿ƒÀ¯02‘ø%Aˆb‰Ñ?IßÕëTÓV&èÁHÛ®“Qì†;�¯Íèk·ZiõÊÃÔú´»íóЂvBZ¨^îGÝ6¨[pûî}7ÝüuCyl~@�€aÔԙѰ.øGš/[c®ÌÌÃF+Ú} Ñqfˆ%¿/‰· '‹V‘YEHwAð�I} •æ¼Q´M®éâ8S*f£qqo,]‹æUªUvÛ -ûó@uP´!«Ïåv,h!pÊ[’âÎ;µ-ž—IÛÎMßO™Ö~W£î�o„ þ] ƒÿÐÞü‘‘ìá{ÈeD,�@Û° Ó8Šƒ{‹Sƈÿ@ipž,‘´ êmPÉ’˜ã]F–¸§Ü>¨˜ utÐc¨p@Ü"ŽEfÊ#ÉС½£�z|1zȈ>«…£CdJWÐÄèe5Z׃ˆyAGq=vX¨½]Ä0ŒmœJÄÁ(L(ØØ…E†•Ñ8· -KÎï{|°4)Æõ°`¢è)öç Œ¾>tëš8 CסÌ ]ÞÁ*Ž’²“èÚ8itmŒf Œ1¶Âõ´¸`Ã%Š¿A»º©·n™¾PÁîc-• Ìvq’MÙ"t1sÏÀ.ÀW¢÷ž`4• ï–™‚¾}ÎR±ƒxµT6€YËs¬­et;P]Ë;µßšg¡yÎÕ¹{ÔÅóû�Y´û\¬¨¨[ÔjÍH[y‹­•'ÕÍ�Zà>˜±¶Ò’œ¯v>‹ž�†ëÕ¢fQéÓC\‘Hfâ@H.Uº}%è“pY-Šዯ `¹½š±‡¹÷q­ÆÈŠèP&[ð«,ÕxWP«h1葪ly�WŠéœcÜG¥b†Þ½:Ϩ#y|ƒAåËCö�§$¹Nƒ5tÍ;„)TI$ü®Ïh -¾‡“ÊåMZ)ž)˜ïbG¡7%Ò2Šëá|�v¾…ë‚nø*vbì± r*ÛpÊHÂ'Ìg"âIwƒ%ç®}Ú=Œ[ªÌKÈ ¯¶ƒï´T6`J’ y -= ¹ç÷Aœx’EÒ}‰PvÆô�Y*v �–ÊiyN©4n�iy£¦r™ƒæ1Wg®N0�ÊŠ)´·´T¶ÐFâ4´ŠD�½tR ²{2Ó’Ò‘ûh@©Vìâ&ÕÊ£¨>§ƒ7*ƒÛG*/ÔÖ-3Ð<åê¼Õ‰u’¦ä -îÑ\Ù‚ ‘¢É¥Ðâ�üŽ¢ÅÛƒ9¢ VÛ/‘G¿ïö1µbh©l …êc -Ñ<¤nÑ<þÚfž…¶¯kÓSç�©ª�x»ï€-• þ×�nÖtP¬y·�<¤ç§�oÑ{;¥�çÌ;P§Vìé,•[žù1µgÓ -Ùg~�Úfž†¦¯kÓ³ç¥ÊèËt?‰âèhöAúV-†³�ˆ‘¾§Žë;í£(0°À$ÛWâ®`ŽŠþ�sÅÄÀ\Ù"ÌÏiÁ æÑí!"ô/×¶ê'¨}òãý^*›’ôíé#`OoÞ~þëû?½û¸{ûæuF8üüW¯ßí´ýÝÛû¿½¸ÿû矾ùûWeÄŠ& -šìáçŸÞ?Û{Êï_¼¼ÿüß^|ñî/å{Ž„Tö‡ÑƒG{ø‹ÿýþÅŸÿr}ŽjÓ7_6/r½íåÅ+Né‹û¯>ÿ÷ÿxâkŸß¼,¯í¯5å?Ïþˆ!ËzýúÍóU÷ãÕ—äh~wÿöùýëwKûfio‡ŸÜüÊ}~ûú‹òeýûtÿç¯Ë'¿8üôŸ^üíþgƒþ#Ú¢¨ÛWø„dÝ(NþÔ]PÀ‚xžZ3Y…ÆŠäÚTZ–ÿþáï�¾ðË¡3M�‡¯ÿ þ�;üæðïÿ1¾Ð>1FFÒ>gŽg|p4‡_ïµêÞê×ËsªÛíýõ7=5§gÏÿúâõŸu{~zÿüÝfÍμxø­üNä«) & -Ñôu ì<¡Œ©v_ŒtÌ´Z1ZË‹öÁÎN T¡ñcØM·HÍ=y;SÃ`ËP‚HYÉàFV2éE¢áŒF7T0K+}VÕ¢Òé…• -ž"ŸÏ)D:ˆŸÙ,yºG}t�8`ÑyA{…Pl5޲¯ªK΃z�X+!X2Þ†¡ôšÞÑqÆ!µ‹Žsæ$ /Ù@D8;&ÕøÊ’ª>!izP&G â¶4R–„Lúæø*è?*¬*Èå ‚Ù»Yáªt&½1®Ÿ½ÉæŽ^îŽ�Y€9bYgWt[d4´J¨€É• -gç ð/¦„¢ÌAê s'ê‰G7’ ò:TȵTæhèË@Ôʼ�‡cˆ¿"'B]L -9*˸6'¦J"Ü�š²‚ZzTäD%4ÕG`bD}ÇšKr§•�F”Ltì–~œ8ƒbó© -\”v{õ9’ºõÌ© -2¡/=øÉA†VT°Õ(pÕhÅ·d«$Uš7ª<—~˜ŽO²:�D÷,’‰ØâP}´2T¸êƒlIô‚ÛGæcÂÄiz12�Ä@†" ÎXô¿ì[‡ cu$|›hjè#Æ11ۨàÂ4‘O�¬_ÇKda#ÄL¾?�ªG��Ä2Á9£•Æx¤��Jj¢—”'QEà g¦ÃQ™CÆ´â!ÁÒÃP­Ò º§#¢¢Z'Ü#„¯¨XB1‹ÞÇpÒû�rÌt«î[K˾äu1¢§åƒFÜH?Ü<¢FÔìä  ˆT7•^[Hž#®XÒÂÌiJ¥­Áâ)¬Oš˜u¢¢â²s,QÀ‰©ÆWM&ÓAiHW�ï$"ÞÉ -b>ñŒ1ßlábņ„ ”1h+Z ~È+ü±Ÿ´"‰ª”žd"“�ºÂXÅXÀp{>ÀÏiF™[Ʊ…Q_…Éâ9ùFNAŠªÉÂÜŽÌ¿ÈUf²XÀRe¢¾2­BÄ} Æ.ž› =É1g}¢«ž‡á‹Î7S¬ñFºCÊ ÖÄ8aCÁHóM8Ç ó̈$Ž“LŸ)'ÌJ4d1eÒ’ú%KÈ(…>ÅÊMÂ_Fúñý&mt<¾Ò"Ë!5KÒBˆn ,j(-h¢â^e˜q}'˜uŠh‘)7^} æè8øŽ pI ÂȱÅ(Æ&dšä¹xlu¦e†&]ú -ÓÀó&£#"�QqI �c…JÐEr$¡¡�s’�_Õ‚:œ -ÌñD·_€>i’“¤Å’ƒ$4›NÄ#/.È<Æt0õ“ÌJø¸€0Z‘£Œ�5™µ æ™(p¢½+i.u…is@ÏKjܬz§r‚Ä�Y¹$Ü<Ù¥3šDÄY¯:1Ò\ª Z’o,ùRŒŠ‹™9 ‰>&ZsÐ!™°%Yœ8©¯9š Љ^äØI‚á¹ë6SQ%Aåqp²d|‹Š*èD>‹ f•åEYÉdО~9àh\´NaE$ó<ØV´€\«¡ˆç–Ø!NºÃËG¦õâúÍy�î$Ÿ§ 0õb•Ç�G“ -O¬,TrK€jƒÀÒ"@À±mÁ~UG+¦Ÿ÷‰–¬@A"D=˜3­…ÌqGÏ̬Æ�9'1 T Ò´ÎN¤-¶’d{¥>—`XP\*pÍ]ÉÏ•àéc¥r'Ít%ÞžŠlš)¦¬IÒ…[ðb»5Rë´�Ì÷°vð:¼ÜXéJwã(ò–a|KoYÓ®ásCƒU}þó²' ™KÏíx]‚’q÷q[‚¶“^Püb*PCâ(‚IT�4©O§É”¡�é©/'¨Ÿ-™3Ôn‚ÎqMÒG€æh ‰b‰ÈT¹ÒpâÇ -íÌJRAVÒo820z*é:È…zBrEù]¤BŸ.‹–}|¾êl¤â� =Œô5f5ˆv‡W4±³øW02ùqOÕ• -ëë¤ÑUÚŠ(Òs1�8brd$öœ·îAàÞ­hÞ½$w¼H5ÿc�›¤ÛRhªñqê"«ŒšÅq³“kß -v•9}«Až|Ù™”pŽhÏ6Seˆ¢fƒXë±uˆŸ£‰5IÅHk»à¸LRá¸Æž°‚3ÎP$Ó •`¼ŒTЉ9м TÜJw© FÝD+;+¦©B¦Dሉ[’‰�?£hèèJ ó[Z9¯²Nœ:Ü€œºÄÐKšÖäàf%ì®ó ‚çTܨÁÏ 0"ÁËÄüÄ1%Æ8˜éf¹>�D)÷žJ~Br7ãâC±™“ÐÐú͘Q®l�£5¤è€;–Ð)W¯rÅD#±ã-�¯tgIÖÃIQš£ÿÙŠI¢ýèÏAq×%‹(.´‹\G�<~Vó™OÌNùD/{݆¤ñw’‹ÍC™ÜyPÛGâ·)¼ -„L�4ê+O„?[c$„%mI2OXPÙH`æ aôXéDY ~+1Zè²G�6YRI¦«h½”z黊ÉYŒ�¼zäsñ åAÁI$ä =¼&CoÍ„" H®dú¬2†XÉzá#S÷ZfÝ2L*dY&ùÜ–Ê¿@X`2 öÆP¸*nˆ•~,SаTxÁÊ̕Īy¬êªjÆ™·zž£Z ô y{š¨œŸ¼ ºˆV+ávG'æÚr‰à0Ar€KÅó¢œq¤[q$+å—o«ÇL!³BР>N%ÇT Y9rÚM:Ì(s.�I¢ÍH#"¤OJh†XçÄ ¥¯ =´¢ÑD*ìIœKG¸U*%+lH, @Ã$÷9+ÅQ‡žGâÚÉwÓúsCí/žQßÌÎLÍbJ…¦‰œ§“Ê)é·œFàò¥¬¢—Ä®ÆM26_í âCÅ,·ô¡²ô+à¬õ¡RÉzLÂËŠ#˜Ýù3iwšÙˆ)+âL¼)W/䪑„¹P³2ÓÀâªñÆMwLÁ ë©,� t[z⪶\P(’Ý2“2{Vü—’¾*]\_5‰FR¹ãPK*wªÓj…Œ ”QÄÞâfX¾EêI¼#sÌä:¡úRL†bJ$[mhÚ�åC*ĉa…m¤Ê¯Ln¢ë›¡’rk’¾•zÀq¤=‡>K®Ê¬*GžeV:±—å>1O¼~KNcMŒAˆ›¬€<’æî¦$1ÃLlX©û“bš˜ÌCž“Æï$¸Òì.«GUÊÑȨ´„ýKï=1úŠ^&a;‘B åž -È@,a&=/•I×B$™#,8ÞGŸHåŸHž¡d$‘6·)w}Š–ò!ùÐù6´Y†ÂÏ„Æ1ç é nµÈ8VH*jKµx”`c^[¦••²;ePy¶¦Ã•o© ;�Ï­$âàcpóðï\׌¹Cĉ9…-Ë}!‘RKÓ(å`ˆí�ƒ.ÂA_A(óÊv•¹(»ˆ,تü?U§¼ÝXT÷‰NÉõc=ÌEl!w&þÃõ+EIñÚTÏŠFœœNWA¿¸ÒVÒf@ =Átô« dB}9�öøyÆ}Õô]’xš¬DVªóž1ÇÄÉLbzñ,ŠÊJn*Â81\n”ê2LΟá}U'&j@ÅÅÉ -qé³BÞ�dºIzq£_�Åߟ;�ONuyâöŽÏ¹Ü&6—Ï (Ÿ$Ÿ‹ì“åþaΊÀÉhÎúkŠº–Ñë^”²Ì².; ¾Uó�’1ܬ£øÑ\|zn,ï#I¡.iR™Ç¨:,Ú¢ ’KÇœÑÙÒGUž‰"¿L•#C�iq‰TÊQ1‘£ó&jX‘ŠáûG(ýޤ;�†¹»‘×/*™HZ*mR»!Å&ü-ì ôB‹KR«A"¢bxÿFYmJÉŒ$PW*‘&‰K™(%3Š0 -aHÅ¥š22¹þ¸è¸I%«ž˜:Ú¦*>™"ìyYs TPaqáÄÖŠ¨ªt¾× ‡œˆÔJK±ŠÌ£^ð£"à&¦ËŠÅK]x½¸óG…8…H0ùÕyTü8ÂòK[Ù!‘ÉG$[Ì1y.*;¡0MÃá(-± -êÏJñ¶Š -* Ï�¤Dš¤"P+n�*Ô„ ˆý »zÔîBm®—–!fmpLFÒ]Ä�,'33‹ާº9Š]Í�É#³:S÷¶ÒRù&è1Lz@:ÌË]§;L�p']Í•{$ŒûÌ>èQÁ¾að3áR£ÈÚ¦ †‚ÑŸ´T.JVP{!^†¢øW�TíN”DÝ•Ì`’åÇÉ·ä GÐ#¦ûA…r˜dܘK32xJ"ÍŽã|œ¼HT^2¹ -Œ=y'¯q±¤9åÍ .•U@ÉŠB阘UÀªö­ò…ç&„�g›è¶"š\¸ãAhD-ùæ '3ê©.*ŸWýŽš�A4ͪR¨ÍÌ -¾Í ê»ÙT–0T{BWI;tP˜HØ‚\¬´ýË�köÙ)•©*‰&êóð5i6¦­†9qJ\v,ƒÎZP.%9H Ÿ%Bà]#ÝJøZ¢æOîÊ4Ì5@¹[ÖL5K’¸€êc�:æÝE!?s#ÑyL„J ¿ÇT|šd‡ñ?£¢ÛIùla9 1¨‘ŽéA¾Ì¼uzi£ž¡OL쥗 Àë´™Hlö¢,%ˆo2sa9§]0©[`Fâü Kª„VŒBÚ�å¡G 0÷v%*‹DqE[ØÑH ÁB&×ãéÌ�ˆ¤šç')W*¹/Åu‹–b°–äË,I v ‘T_OøÂà$9‰—<¹œÔ؉û®¨à]VÈW'©“’0ÎÔÕ°[ñ¤�£4)r3Œ„ÊôA'þ¨Á(àR£9š“ÀãŒ+Pöå:O÷àË„Z�Ð$éá$Òñwª4 Q›k"y¥�ð…Ú?}àùÍœ+„CÔ.êŒTè mm”‰ÆÑ#X„�NÃ^`¯¹Žšê`Ri�Õ•ˆ)Ûº¼ø Ó2š­Ž��4Yùºã”D’1–©hTÐ#É¡ä52Rp¸FÝ÷b‹“f'Ð'¾˜ Ú9�¢=!+Ñ›1�Làl‡“S'žÔ¼›­dp£B£Db†I"1ÍTsÊËÝÂyvÖ�ÆñZ‰òžÌ�h’êÛF‰ãsÕ¶F|*²oàsÄM#ë’”’ÂDµ=^щJ‘�bdEy# ¡‚˜…»„9ô¤¸Š«‚Àuˆ‡¦_’ �©µc¦6ø97àx,–†„ñLÚÊk+  �-ÃI·¨æ8È]^²�³…�ÐBж˜b2ñÊŠÌ*8ÍO‘–¶F“´Ÿ ÃåéÌ:bÑû¡…’FÒféÇ)=JÅDM*Æš»Žj5§À‰, Ñ"™ 2‚ ä%#)ê¼X5}ŽÝI>„<$M’7 -²%-ÓNá׳~Ÿî¾q¶Ø Åö�ÀTŒKõ2%>ÊÒŸF´ �¥Ø¤�£¤[ó~Rèë$¸WØ-)*º:Ãlj®Î]]Ì7NÍ÷ /ìÅCuÍJ 9#?/†LÊ2¸2¨H‘FÝ['ÚP!A�cMø5:Á¿£“ÁcêA#_‘¤MY´¿RŸÇŠzade8b5#Ø¢) Dz(RŠ5‡l,'‡ -3^ö‚¡IÏR0ž ÎÎ$Vdzˆ$iÁ)F —²&»–ÓS›+^žfP¼jÂKJM±óœ)œ½ óá>ÏVrМɽMr3 ϵãætF£·[ÈQņ'Õ#=ç‹iÛ(¼Ws*Xþ²¼É‹ÔÁ«‰-¼ ­ƒG°^ïˆJ?žx2cÖD Ý%ʼnê<51SL–n’p6l…­+ -•ŠÒ S¶ÐÇ` -¥ÞË’±>Kjz�C Ž«†�>]j5D]RÏ'ĕˆQ7°Ä9xzâ�Ú‚Û�-ä/¦sbêÒ°1fqŸ,lWOOY$®¤X¨{ï "²�bÂ}jör•Hâ[/þ8º é�“P6µÞgÚã=%Äð983ƒq¹o½VZ'�êš •›‡¢ÆÕ”Šì²¾K¿­©ÞKcI�Æ:ì*Ö%Mà†§ˆ?]I Î/!^Ãì¼àâOLL#a¬É4G1±OAE,¦ÊT:I€",Ÿô4ðh}É- -oÈ�Ê ô nÔ©é\Z«‰<ƒêx—�4beú«®Ù -ù"JåDÃʨ€¿êZ <á ñz.Ì£K ‰&2=­ð¬Ä�VÈzŠ(LfC–~* -K©�V’i”Ÿ‡T“²ŽöÆ<ô5 ’@—÷’@�'Ɇ#y]ÅPEï­$ƒ#(«VÌ.Œß4%cÀ(#—sÎ!óÇMÅÿR0þ?öÞfWv&;Ó»ÝêúšŒ[eÃè�£=°gA-,• W|÷ŽçYLfæþ\“2à��38›Éd’Áˆk½?Î�¹™;¹ M¬¢~#·S0£ µ¨ò§cÍÏ…˜"Á-6BãA𦲻l¹ ©£Ñ<çl<(ÊÁ!Ô…ž ü?ãuŽƒ³Ô>hÀ€æÉ¨uß'3UËöì x˜¹éMã^©“³áà -µ„�å æ‹@à j1×>âè&�ÛD’ÀåeÎÀpkƪâ(¾ -l)c`]ËáFËT3új™ÆÁš¸5¹ÒñŒS�Á��áöZú+<5«FƹÌD#i¢É¶)¤Ã—8‚‡;aõ<Œ'›ýS~�ÌÍØl<Ñt¢1l¿ûoð¸iÐ(¬ç×µ]'{†KFð/�ûúm¯HÁf ¦UD®%Œ×.eÑæ¦Œ�c q¨…<ݜߪ]´ÊTjµÿ@Œ&ŽãõÁqÄi.J_[æÊF 9g#káq5ŧH ÓPq¾¸ÊâÞr%(§Ï “¿7¶¯‰^ k ö×�Ñ?çÒ®d,7; È8E -ö‚ºÐnc¬^9>[ÉðŽ¹‹%×ê*éIHÒôp:T—"Éôg2žOmŽ ®»zCÛ·ËÊ8'ÑÒ¥aFGø0R¨O4ˆ*£À¸��öp{ú®ÆP§øf€4³aˆ.<2d.ï™J=6j¸y)Ðh �ÉBnmß7²0®U²QtÊs‰e&­ Ô¸O�Ý…üåøÇÑÂQuþÍÓWÀÜØ�½8o­õ‹ý'*{†eZJ�Þ¬yÌŸUû9à€‡&jOó PĨ‚­_Z‘ú'„5/‰Ý–t(7ªŒåld6óã’@󞦋O¢ôh@3)ƒX8ÝD†Š¸ÿ2ыՉ^ºç`”Ø\ÕO€~1ên€Ü/ë+ËîÊ=®@©mO�´zÄ8®c RrñF47¦‘#›dMù%eí_Ø„—%´‘Io£†ª½®�s„„Ñi;öà5æjnYð·Y@`Ô<¸îé�™]æAÛ¹R⢒çû …žÜ7²,ói2Rì;NgÄ“Õ!~È\6 ä22(-’?�ª}Gš%Å<7p~|z–‡s€†çŠ‚ËÒz�÷/—C–\Âгæû͢Ǝ*bfZ¹VV‚ªaí‚Áª;:8c±}ñ<ц=:Ò;³‡Õ0zôýÖÉH~\A”‘Ç·íÌ›¹Gä>W¯¡Õ�–)v'͈MÜáÏvÞ3íg]¾í‹m7w©3ê© Ž£�R¡ ·C"ª›êù`ºi e×�œkƒÌ£˜}©ÓFsÊõ-ÖÖ‡#„cŸX-誖±ÏF¶ÍÊŸ�ç -­€$ð•TüÛ½Æ|YŽøº;I¨(!fÒG”LjÃ< -Й])ÀRœ ·P0�`,†sdìwDXŒÓ†Pœ6kð|kHc7ê&=65�Ò;«¾w»ÁÐ"‚®ƒŒÕý)L0¸µ¸/�|G˜†„hÿ\ü•R6Ð$Me‹3§Ñz-¨šÞb ï÷jyµ†ŒbPéÑupÜ)!Ú :ëÜPÏûA[”ƒ{Šjêl¨X­‰E8‡ÄìÈ—3€âluù´UÿO©ÌB"Fð¥¨Ë6R5 » à_5'Dð˜ëxì–rìP€è´W›Î(Ü£á<,††ÔÇq²·ûî61¡ôp 0žËh§,›[ìV±G>|.ó3¿âYfÁ#¯Îì…¸%`ÿ²£gX"ül(à#®{@¼·y÷ {®ŒlF¡k¥�;±Žéµ¼rÝÐUÚœ³á;1Lh« íÝÄ•Íi\2ÈB¥§hð¹Ï¿ -_4 E�u.µàÒú öÓ4̰G€BhÓ`0¡Íö”§§{7FY€s -/ .^±Ü v¦L�þÏÜ6Ïÿ@á(„I ’±–4 ¥‘š@ȇkÚ5$Ž«$Èq*ªdÁGØè1M%,‹`õísÚM$pl¨‚5ÿ6ÁÞ5·€,)T…È?ð©%âû.°É«=\ãÃ!’äÞé¨�\KÙ“½3Ç�Ά0Tùé[øYûÚ6µî¸ÁQ‚lä R«˜ðÌ÷ãøžŒ�E¥9¢nSu¸žËÍo1µÅCœS” :Zx„+Q§P»hˆy˜µ|å1cÝëñ©«¯D{†¹òbsXyžl”L™�pò|"ÔêvÅT¦@˜],Û�ô8”ˆ3 XÅ?—•ð -ÜÑŠIï“h˜R©˜ÎWœRº:{¬?BA*'Ξ¬Ç&^º–ãó d({ÕÉAòá²xç`€ÿ™aL3žÍ«¼"ïüÝÞ«ï4ÛgÛµ¸¹æ°X±Ù£_øÞWjÕôÐÔËì~(^D,Ãl0ÈÌ¢Ä<¤.È:÷0q6_âD¥D¦ þa¡»×…&ò<QæükÕG9®Ú ÔšîÛ8grB{€rLʳáŠÓ_(Ôp…º’®Pá·¼öèZ¤Z17˜ðo¦W¤Ã»ïÙ|×Ç>Ë‚âÏ�þ`Õ¢¤sÊ®ú°ÒÔv¤÷E”b|óüç‚‹cKy{†¦ï.=Ä)ÞÂ-ð˜ÿ²}Å‚Ê6ƒ™em–Ü'Éà¹�¦�UÛšê¸ÿÜy¿à -Q´Š¾\œÃϯ†ï@Кê -Ý÷ –­(ñÊ—ž+Í�ÙÑÜà‚ëµø™­D›�T¦üYa×¹:Ì]CÁQ‹d[qSˆýJ˜ôøÅà­[ÈívÔ$õà¢Üï½jÅ%J4³�Ì#ÚUDlaò¬{Aü©ÑW"-Ì †²ÄC¢b}�­ÌçL`"Ã!½äóñ–¡q†ÆÕFÉaz—R)Ä4‹èí -î� Îèd§™'®óýãJœK10RvNq‘Èh-¸FBX£r¸çi1–çÝfR;7„žJ]Ô];eUq‘Wd ë§æ{t�…í‰Ñ„Á:c�,Ðà;÷ɨtB¾$¡b’zåȤ9=ìiã_5L=r–U^¥™ÎÊL¹ÂÒ&ó_ oC1™”Lx˜iMÂ~µ¨„{wf�ö:�évÁ*EÑȲÒQ^Ÿßå® ÿzu‘€J?lÈ۟Щ¬ÊK¿Ë8�ߨ’“Ò#åÅNq‡þEq¶ý[!,£V6—î©, BPv£&9çnYI…+¥ŸP@’®p0[;6D¬†¡©KÅ )".Žà.œo4)Ns/˽„Nœ—׸¤¦yv‹ßùUÀ£Ñ… 3æ.ÙO Nà>Súí-9bZáïqkw—!U|”[ Š‚ݘ×,-šÃ.µ7†ÍÀGlH¤Cv *ÐG%sªÎê*UfÄ93ã8Ø.ƒ=p¢9J)‡ l{KÄéN7<"i5‚§$ZQg¾”©“BÔW)±ÂG =)¼;=rX‚n&¾mTͤ¯r& `xð̱Æ_JÌ×�˜ïq:÷÷é’êò3D'­Pã~q ®�s^« AHj,q|ãòzßDì_/4?¨¢A1gÜóPu†*árH¨1ƒy› —I«¤º‚è_�² Â!Ýé”ò#Hl9  ÷ÍG[ƒÒÈÔí5ц³ølCmKj¡hJ�‡òXf ÈUo‰³™»Ÿ „2|àÚ†æµ-ðüø*Ý×µ�C$s20„4høu Tƒ÷»·µ»\ðo\þ|Â5gO2ø5jSÓd ‹ö"%Ȭ#ËpÞ�;7®<gl5&6‚OI©‹êBQ [Žt¤†™#ÚûùÈ“Ðíø\Bü}ùwÐfÚÖv•sìñ±_™£0Óä³ßù‚c!èZ�ˆö�*×j>#¦vzÔØ]s÷èK¼*�–J]CJ@Ptȧ‚_�aï<\Ìt•+¦¾¯Fw2vÈè=€Ò9­T~G�ƒõiïÝ‹xôÅ¢ÒÀªXS©D…JCO¢Új -ù�>|‘q§¬ÓήÒiOî˜=è¦4@„ço÷“äb|R“·cÛ¦nç`ÿ‚]Í¢5i‰³@~nAÙ‚�–† -mƒÃt~ ¶k±„↑´óÏÀòеÇËQ5(í¤NÛ-ë/Y‚9e§3B€ckÕ)íãä?Oy²¥ ´û)Øüpz=Ê -¹ó™ën,³ÈùêLH‹Ž%uöz}aRÙt$ÐqèVZî=LrÔæ`OÕ0µ Å‚¤~_�•àÖ…¦#% À*âÝ0§ùQÈÂçœ'F_Êcìù˜¬fÃÀR*ü„/ëÈXˆ/Ó–±a±˜Ø0'Í—>ÐF˜8ÎqPoƒBÇ_ã+ÉÙtèh‘DÙ`ÄëÁX;Ylì­Lßcm J/ìC=7=À -{|�(î(Ÿ%À»*¾¯°Þ2Ë@.ŽŸŠB>z›;='*«ˆÃÌ)*“ú% »^[ɱ©%�Ûá¶A•–‚fW±Ø7ç‰ -!4 QÆ îð®ˆA¥±€F¢Qœv|ŠÛ •°º×dà°`dôXQ|-‘Y�ÓÕXàæöz®²ËÞšÁO2ÙPH<1êè³an]­‰Äé>óÊe—¥î3/âÐçä …¤¤ -ÅÁÕ d -ï†xI×60#‰ ÙþT^ ¬bÞqß /7 Zº³‘Ÿ�£H# #á".µ ^Íòù’o¹ÊÆv¢Á‹T©Êk-m憤“6¶IÌ÷lZ•‹#G3—^áq€ÁMöíuT\�¥êú©½`8là"RF™ V焨 éCŽÒñx+&9c ¸{6z¶ê'Xh8êsaô¤˜_¤ËrCî^¡˜…/EËž¹¬€Ï Qg#¬ÿŒÍ2§×øè5¯Ëw¼¡¹L2Ãtq’_óäù+/SOš,§# -“NhòpÌ€#»í*�8ÞÏ‚¥»¤F Y­9Öú$ºaå°)ÀDVªž¬ÞØQ6xBÿHó‹9Vc†K>j~„Ù€A‰0;–{Rbt·rT�Ê�ŸÈl�KDÝ2ìf|:£b_¥"™æŠ.•ô Q3‡_cXlqÃߌ­‹¤¤ }9�±ážwç1Ìy½Á9‹PØx&plT¤cýº½%Á“Ñ2 8‰œ@3Õ#@ó ndn}HõTãTxïˆVjçýþjû‡4Mð|ˉÓa/4?;®�É=Ä#Ìp�´¬ ¤: çå f÷+ x‘Æýj(:ƒKBI„îY³•º™[xcánp¬»ž”ƒ³‡Õ·,¢6P¾éEºŒ‚ Ð$¤¨m‘î*±±I¨L0RpÌ`rsŽ«#µ§7;ᣠ(ï’ ¡™m Ä øùﺴyŽWµ¸ .e~˜{'`åù¿û% Î.ó„F³zq¹y#COˆÓÙ†ØÆ°q=#ש2¡É¡‘#–¢Ò½Zä]V�;œ¢…iY¶‚N’Á±¼(�Ì­ŽÕÃá2ãG�eO²òª%[DÜÄCŸ ½]Tì ô‘€$>ÅÀÈgG -Æ.5sΩæâñ9éþ¦æB+ÍȽ{ÆÞ(´/æ]�ËV–n‘°%PK¤K Ç¢Ö¨g“© ¨Š&Aæ\j\¸¤…Ì4û­ë©¾îâžÕi²Ö_Ÿ:Ò®R±ê -±¨VÝf� -¼ç»Ù£ Êì £ÒÆÍ÷¢`€žÍǪIè#ùKiMg0iþr2毙Röå¥O¿i ÅôþgˆÞÍíÓÐüš�§†ÒˆÐõ¹-ðWÅ0䣄)Ïy:‡(FØO™Ù •9d\æ†WÍðrB0 $HFhSÀÎbx[²øãÀ‹æW„AÛ ÛùÍðWhG†Gª* -Ë2•œ!Räs@†¾O�´m¤ÚçèËt0°ë‹£�2NÇœÓå{Këµ ™ ƒLÛö btb2‚ðyÅÇ)©”‹aRÝ‚m½· u¥ÿš:ÂÊbPë $¯{,/B´7åDì:_¹|5 �é�$~™§]f­‡º…è�Rñcªïiy-ôðZàf…=¶¢Q]À²óPPKEí f”ˆ Žž4áØ@Qœ²Ø-¹Éµd�bÙÂ*}dR5Î?§©×/ËϡɅ%ÏBT¨5Í2çÙ8)�v±y®¯rÚ—l!ÊVY<ú|d ñ3\nãlP0yßг3âX’9Pà ÌÌÝD 5´R£„Ù` ÛZ¤Øg+Ë0m®ú–¦¢`Dc)ðáày„¯œ¬¤<÷¿B¯ã¹Ëö7–…‚«F=á‡ÌŠö(4`í Ïd©ö„†eIÊ’3yÜJÕ¶&}Š;:­Øq -¦Ì ‡ÉG3¬¤¥³(4ñ"Y{år R ÌJ’¾~ýÝh²¦À~Ìõ£û%A)2Uë™]‘4“)·åšTf¨ØC;l.»­¯r¢Rµ£9©´¥ÿØÀKQѦÈJýn +Ž…#€DxWùÐZĸ¡özªn,CeØŸ -š/iµî}º>„íè¢1ó‚æÊ�\�´­B¼…9�d±�Ëú.ûÉ.˜s¾'}ͬZœa €Ø"b-ZzÔÏuQòQ˜-N)-3_ònVûæ+�Ctr∙d+/ZJ� -䀧ËM,YÓ#Å/ƒ[g#U1Jn9>u­U’aª/à%{j[øþÜh2É'ò�¼4àBC—•ü[ÄœNÓƒyº.E`ÆFP›³Lék+˜n+åÑÝ…)_a¬?ÈÁþ;´PóžQQäTV2ÞÜÜ3T7ƒ71GX>•@Ž«~χ÷œ^9ZáÐzÌUpîýmTäLuVÁ™7� i ¤x[Hñ9æùû»è:ØPPv+"œÔ˜ü҃λÊÞ—�?@rרå«`ç*Á_3tšÃ5·e÷©q›#]œ½„'1óÂsxãʤÇyWæ4SEXÉe è >ÝÖSF^³®ôH‹È‘Ü—¦Æål¶y \Ã=W¢²¼Ry~Bƒ‹ ߯SÍX~Ì}:Ƨ#Y”IËD^úÜß�ä§²˜ydq�×\¡íc&ˆ.Šz—g!÷.äz¤#{•¢Põè1T®Î�W‘W£,ÎÖh~¯32ÀhIë›æ°«KU2(o ¢s&Âqì»Eú�w ‡­mˆO•¶ükgZ=žôÆ- &ÕòÜægååÈì³½¹Ñz^K|6T°ª5 r'µßØ¿Šï‘Û�³Q69b3U’~ˆ•Zœ‹¤¶Ù%-ü{YZú ~ñÂÆ|Œ2æ//ŽLgV´‡t\„O+œ+êè„O¹ÄdÙµ¸¸�¤k3ìÉ+7kKƒ9öÙpÁF Áe…–mà󈆴‡Y^qûl$Ÿâw)Ì‹j°Þ¿-–föÕI_k¸±Öƒ]×þqw&'çcƒ ¨fi!¥õF]‡¾l¦ÏÑÅ©C(Jª�ïÙØ†)8#‡Æ,½6dZ´}ºÆúÁ�3#Øñ+¯:Ò>Ke³Gc 5B•m ¶8æ$àé—ž)øn¶n'˜dÃë¢z(§ãsÐ?SlM!bd�qþDuv5ìVzì%¡úàÕé¿”ñ=ÖjÇ>= %«zø¦cÅ©DÏL¿y ¼¶Yè‰FP�vÑÃý -ÑÕU©êÓÄU°|Òø›×¾#L/ïj÷}’¡¤ü -0�prW�^â/ÙE³ÛØ8¾ù*à>a¡`Uâè;¸ -‹ij�ÝEý …œÔ“C°Eí ƒÛ[+ïsƒÝŒc¬˜ælÄEX)Ê�Û”ô}X0ÅKG|ê+Ô�$1R¤ŒDPl¨ DN0Ç™UYLK¸+ u„Ââ-ë©nÁúlÌјe!‘wâ}ïy -’KvF -PÇZ<.ÀÂÁ¾s±Ý™k 4�¹™Ã»,CéFA[Qó@L)ßœ»zËäx÷È]Æ.«­—¾*ÒÃ�S©V·näF‘9d³;ÀêLÌtÔ¬ÍLì¸`sSo”¦ßÅBž9J±ã‘3|™Ó²Í -ÑJÉ‹_óÚêPÊóÌ?õÐÌ*pño§UþVWxÞH9ñ#¦´}–"L6ô<ü»Ûh‡ÂËc�°ßËüU¬ÊÌ£žª%ªèáº8_ߊ9ÇÎ}u�¸´O;¹^C Y•}ÉÈukë´Ê‹FhpÄ®«Êž¯VÕ¦H)›’aVÕ«)ƶT2I/^èÿÖ‡p8jÍFúWÂ®ÝÆ%Ο#ÖbN½¼†º È/ -ÙžMV꾸eVÜ#‚ÛU �)«½'�i­[ OÔÇj.LFˆ‰ln…@G¤QÙó�ntpÄ䎢‹Ê¡_Uõ£|œ_VïXÎ($ÔÃ7&:_=@™k&óTETÀ}æÏÁ«@!¦[ØêŠ ¾.xóBǹb>¥üÎUEÃP³‚H‡nì.�ç;BFÐÃ<*’šG4 -Ú`ÈBàÚrÊsèÍ_z,§ ‚ggz…%�„PoKüõJ‘©G 4)·c -C›yw›3ˆGí§?íDúX;ˆùžÂ{¿?Åiew»½)Ú™ýlåyº�F@ñîGÄ®@ë“Þf5Ò�5Ï� ›¯Õ{±ÐèÒàïO]GÔæaƒ¡‡6“bÈ_ Ç‹ÝõÕ8¶éÉíp½{b�vÕÉ4±\ګΨ–QÎàµ>�%Tçd9ãUb; E 'ýÁ‚¹gIÚrk¡�…‘RW°GÑ~¬$ÍüT—Õ{\ã¹ - 4hÁpÖ“A6àdsû"h‚„$ îõ -ñœýÆOÞ§´"u¶‘îQ¢í`Q%à¤�þA± •æƒ7H ‰aëpC…q¹&‹‰v)ÀÿšÁã]Ä©°+j&0“ạîrG÷^åú3ˆx ·µÖ:Çp“¬’±|µË*êi=áçÛú°jä®2>Ò¬?ŒL”–z £c¡!‡GQìP[׿×}r›’,æk_/MoÏ­¦JÆæ4¾ê—ÖªQü½�ßþŠ»K¹ù�ýÎyÎ_ÿñïÿô§ÿã×ßþ§ÿü?ýßÿüOÿþ¯üÏÿçÿË?ýÛ?ýßÿé¿þq~ Îòs¿ÿñþù_ÿø‡?ýÛÿõÇ?ýoüïÿë?ÿùø÷?ý·{ûÞë×ßþ‡_ÿëÿò7·ÂÀû›ŸÄÎ_>ßr€ñ„†Úr€9ZÅœÉFzƒ$4ZjÌ÷r« -œºÅŠã¿Kpà8ߤP7kù¶ Ë�ß°·†Åú-ò™íïþ(îú÷Z̲.Ä'ÇLõT„¶ç[…¼zlÌQ‰V#d{Q†`ó‡Üf�à6G®H'�¨ìGØ œ‘öö!óG'ò !늭l5§Èûú̒줚ÅyghÅßÚ %U¥ãÏ¥ -Á´_Á AF1" –Îv³‰RµWÌ&H€Ÿ½ôþ¼´ê9.QûrTìáj�œ‘&¨öø¶Gã›å}±vŸ¾½î ®¯£ülq_¸h˜(ŸÎö…LBú6´/BŠÛÏ>öÂä *„}}‘ Ó·k}5¤ìofõ0e{Îßõá£×¿­é)q\åwéI»§Ü¿�èÑúÜöòoô"¡sþÙw¾ -‘Íßvó•{šÚ·Ë¼ ­þl._µ<-ßžò|�Ä£'ù*îúÙ@¾‚ÓÊ#|ã!°æ¶}ävñäÓ¼Ç?¹Ä‹§ÌíÛ^±©þm /Û/µ�àÉwäZ¾ à;û"-ŽÂ÷�P\õ�vïF¢ÛÃýéò®ÙÙ¾ÍÝC¸ìúÙÓ=ıÎmêŽÚøvr÷ðÕ6pgÏí²ûéÛÞ¡ Ì~úµ÷bÉåéÒÞͶ�Ûœ}Tª /Ov Ê=h8·;*‹ÈÃl öù7à™í¼ÎŸq< ×ùHئ÷ -AÙîêìNÐÙzšªì�G¾½Ô™Çà�lu®»´wïthRÇÑoËt8�w¨y Ü—eº‘E˜ªòÿf™a‡°T„]Æm™n´Áv60µnÇôEKAë×›cº 1ËZó�ú´Óå…£Á +aŒ9>à„ÒÐÃÈøaúÕ"Ÿß¾ÙvLçñ�ÝFéãTžþè—ƒtû£ÇäFñcNIç·?º�“Õ¡y×€<�Ò£‘jÁHÙFå4(¬Ð­»¾¬ÍùÕÔâ½x¥;DÑ�ŽÛ(݈—¢?cW³ÉÇ颠8ƒÒDrúá”NÒb¾ü·A:Âêg¼ÙÒŽÑ逸ü4D¿��E†|ù ¯üÎv?¿aÛ»é9ǘ ¶×9h–§mqÎe„,Ö‡Õ‹šýr4ç <–':ÔfØo5\¦·ù…’Z=oÛrÇnÙfå.Ç»E9þÉp'·3yå7RG_†ä"LŽüæC^%úõÛ~)n¾t»Ž× ô=½Æk”l¶Ã8Š |Ë6ço¿åaÍC¾öòÝ„|Û‡¹å7Óp}¨æ´½Â›�²v[„Sþ&8y:ƒ+…Ùú6‡Äbýdé -KÒ›ýwQˆ¨Ý®ßÁ±jl³ï°8|÷ø.Z¼<¾‹j6×míÍ߸p>½ïó,#oaðýÂÈ»°Oez~øwç5GoÛnªÁ…!ܺ hIg?ݺM)\·IwjñÜ·7÷gœ¼KgA´&äùÝ’%õ~‰óZÚmÀMôÂúóôÝV¤ü·Ý¶˜§œn—m>ƒHÒÓ\›ÝjQª!<µù$·)vM±|h«O�‰Ó:VJŒºm— ’ôóÃ&-ZEº—;62¬�·)6ÐÔ9Ÿ^ØøÕž8¢šÆ…Ô³>þzO< ¯±dol¥¦ªÂ=/wkþ&k÷4µ.#æö²öýG垪Ÿí©Ùpן®Ôo­ÜfÔÌ$Hhl3jšy -Oj.…{´­§ÁÝ@ˆÝŽÓµX@yúLshùIË™åï3¼¨­á0}À}zÚJfrµÛMf)ãí&�;+þÓD`”“l˜GCd#_µ=£5:ÍåÍ+Zl,p›e]̆]·74~ÍLÎOKh<(QºXNÐnÄr¾  1õE~ø>óÉÌêËîYÐZo—gþ÷4wNls\lOç%�íäÌGXÓþÍY$NÚ¶ÍYIºÝš³´Ãw“f-é¨Û›˺®Á·¹9¯7'fÊä)߇@ëºÅÞ¾Ëà=5b}ó[þ nMÝ~ˬqñ„Ö’�ŒmywWFw¡>L•Ù(ýå¥|ŸüÍB“­0bãOnNyù%NsO—d&”á¶K22ŠÛ¹¸Éyz"ãe̺p{"SÊ.íe…|…‰Æ›2 ’£ßÈ( ”Ûö8k5z,© Œx–ÛäØ>9½Ì�)ÖÅ·¾Ì�“Õ‡§1²OõzY￟ÆûØ6.¾"±²Ì‡1Dí!ݲ5ÃQR#Ë»{¸)·+ñý÷ÃŒxÛÄH¹pÖÛzx ³§ãð¥Ôg¹�†s$åo‡a¬DÒ<�…o(ú¶ «˜ô¶>d?äñf%ÌÛ)¶v{ÿ�PÐÛ=øP‰/ܤï 9·¸°0 &ªÊýö¶ªTë›50^{¨D-Kà9XœoK`&“‘ß�€Y¥Y'ƒ9þîÿ2C˜�zþr/ F¶Ñï�[¹L“åôK®€‰ñéðž1çËØ÷XÞRÛÏ—ŒWo6¾v -I·åÞ |X ¹0íeÞaKûôêeEÁÜm[ô"Ëj²�yq]®9¿ò²öÛv.úäoŠXo^þZá½êüœF¿åº ~*Œb/ÆXîj<Þ»Äax'ok]îqðFCÚ ™°§‘î>¶ýsA–Ž@›ù|¼!ÊH¿È½°+Û$¬sàöÆ¥=…Wîm‰Ë1nþvÂÍKrà.KõÍöˆ™f¶ËíÑÏ+à[Çd·-öÏÖm*Â@ûmiËÌæ&b™ÒVÒàF¶ìJì¯c$S‰ù·_íþûiS{[î´•ÅAÀOŒ£Ï�u´äù`š'þhJK¹ PÅ'‰•t›Òžei¯4�×õmJ hïZz;Û‹öÌ èÓJ×âË‹–O‘XÙ´'¯™èm(Óöt}÷ µÓY¾ai°tÔjÈHyÏžj>UÎ?'îÞöžc¨$cÃGeyØ~|;;ðä•/:¿½gí�.=Ž–~öžåz‚`SsФç‡÷l¸V^ ’!~]ßÞ³´ÖaÅ}ühBK©õˆù3­þdD+è\˜þEm¤~ÑÒC´ °ô´PoF´öpÎÃLeYÌ~Ѽ½}ûÏÚ Š[¦”À§ÿ,=ÓÁœ©”ü³­¾©—÷� -þr¢%Ýom¨ÃZ]oÇ›­Iðff´Yq?9ÑŠC`šî°¹å�8Ñš�¼,!þômD{UÌÚÏþ³è[4X¾³ØË¥”¾ífgÃ9Öé¿ìfi,®@o~³~¦»Ìò%ׂã|šË’s2è?d)PžågßX²õGißv±C\pùv‰¥aÌ~¹ÃÒ(Gù6…¥�Äë—lT\óÏ&°h\êFöéýj6šˆ …Ÿ/ïWQ`zÂ;´ÿìýêOÎx"ŸÖ¯ŽÍ¡JÍüñ­[¿âµ2ðéøz©¥U·Ñ+b ™Ëß•¿K{ººrQ‹mæÊ ŽÈië᪡ãq¾Y·žÂçÌþÏ9òxy¸F-ΑÓêöpe–Vá¶XM\?{¸º 7õ!BOñËÃÕ1¡‡PRÞâ6sõ9Yõ(–ÙŸ^®õàPÔ#u½½\m846Ô%åörµ_Ø;?Í\£ºí¤1¯©äÛÌ5*ËQ<$ðºÍ\£²½ -Ø£]of®Ü‰à-dëÔÛËU™Ô�éÀ~›ºr—dßv”Þ4}›º2w -.œs§ˆ¢mêJ SpXRé!¥ê“!•G”’ñÓÔÕFuˆ¬T÷mê*¬Ìâ9©tݦ®4(ùŒoHЧ«+�ZÄvPSõ¼]]m090òJ·«« U•ß¹¤µúæê*_‰A€8{—mïÊš� -Ó<ø¨ÛÞ•UB,â\¶štù‡ÏkpšÒâ4!e³|^ý”1çü”Õ¤åózš'Fɳ.o>¯4&PqÐyr¨VéóúÅ„ -Ÿ×Sûƒîáƒ}íÓç•Æ ùP"<Çíójƒû/þ¶yõ8ˆ\Ž×RÞl^‰A„³/wWHò¾T ±Ñtn›W°T±žÏxä\sÁ6W¥Q­;,äpõÙί§Þ•¥é8‚æ"×ZÓq·æqìݞίÑH°2É nçW¿&«p€ÉÁ¸�_iHð²ÀÖ\x:¿²A ”Ùœô@Èlç×PH¡ ÀÆp9¿²óÐ 3�˜7oã×�¹`»3_ú#ß¾¯óËWˆžg„5Æm ±T†¬ÊmOXY§J$Ô4úíKƒ“ÄlHê……¬ÇUI,iýÍ -ÖFw¼8-ßV°An•_;_¬S雬W ”}ö9G9õË 6X­?xÀ²W͆õs‚ì�i×ö‹ úô€u_,ŠIEÌé‡,�NÖåòÍ{ó€…µ}œ|Y¿Òxõðå�¾<`é!#�!}¤o/X; yJ‡³]?{ÁÚK"Ñpk_^°^‰óÉyÚúÓ r¶<®ÙªŸ½`y±ãdeã�ÿô‚5€v Ñ jpàÍ –=0“§ ¬ü˜pæ;Þ"y3�å¼²sRJG<Š7X§äHØ}üì �Z“ÄôIþáË»ìlöiýzZ¥bìc,³[?œ_•å²zÀû¬ßίôX¨ß^Çôáüj>Hñ®õŒúæüzÖ%¸Þ0Ù)?8¿F�o¿×¿˜fºóQDLð„/ä·Ÿ†¯!ÿ›nŸW"鲬³ý¨Ûè5Þ%F2`x2hÇWÙ‰vÕÏÒíøÊW]5£B÷²~¥!®Þñfý*ìnôÛñÕ¿#$À1në×h‡¤hz³~å¢À�mÇW§¶¹Ân£Wâ¤G>�^…¤ jÞŽyl;¾Š :_–­¬n#Šû·¿+Ë&ùº} —‚~¤íæÚX‘(å=l\9FFq¹·ò§†QaÚ -Ùñ庺úç#Ü^-25˸çž~¬�|íUnVLKŽz;©ö5õ‡éªæ£WÙ‡ ó€QØ«ûê}hyª#Òq»£âêIBöé ÚkLï>ì-úË8uÿýðK½-›Ôyí€s¶;ê@o/ŒL7ê%,gûí…:XgÎq[ Ž#îçÓû”ϘM^–§cY·ÓéPå'½œÎ#lûš - ‰êŒ¾¦ˆ¸¢7ñ´3Õ1’BÏJ܇ƒäu»—R{måͳ”C×uÞž¥ü h[•öp}”öc�p–/)õX2`ÛŽÔúljo6¤Í@ö¼mHy ‡b’±ê)ÊðO÷Ñ0ö·éh#[SÏÛk´¥€Ï=,F=”Óí,ÊGt»\†¢xþyŠâi’ûm# -Žç ëæ¤X2Rpo®¡R?r»ÍBÁ$‰k]¡¸y˜kP žØ oGÐÉ’íÚ4:IoöŸ^H¹M?›9ÈÛê³Yñy·øT™…‘¸¬=•q%´=ïS¼|<Û‚¶lûξðÇý‡Y'â¿€}ðèdN:v -‘(²l¸ŸŽœàÉÕãÛ}®H‘lÿMÝAw—fõuÔzÙ[’›)°]-1R€°Í,¥„§òæa‰5„m]Ù~ôv;Vv¥Gê›Q%Çr8RëO©HÈ$ê¨Ð[ìäž¶” ð¯tm;ÊvvÛ…²[DKoæ“Ƕ‘oÏÉÞCöj9M’&ô4˜ì”Ɉs–ÁdcO.«K¶UßxúI"�OijÛH¶¨šlóH¥óQª}xFrŒeYEr†kÙ4Ž@~ ê}:CŠer³”°:5‡ÜoH®œeáé }Xü¶T™.¥Ûõ«&à§Û#;œ×$,¨ ¦?CoÇ¢6N{ót$ÕÐC]ÇýDY÷vpäoù-ãF°³à–_#8nr©Û¦ç?0ºOwFT„Üa-SÆZ£Ïöbà ñiÁÈ1vnÛ‚ì/«Ñ6M¬íÚÃz±–`mÇÅZ‚ôø ŠXoþŠÞQ&ßþŠ{ϵýafCO|Ú*¢Ê÷l7EÈ9°K®`0ØQ{š(rŒWg{'VÓq[&r9H7* º SÂrJ:Õ_<séo¶ˆüÒkQT¡3±—eÀnDä”Pðzz^k3»½•ç¨åö<„DÅ>üiu5˜ýv8”p~]·±!„°F».¼±ÛÇðê�ËÞö…ü½¿e»ZU쯨}²M wõr{B’Ç/áiQˆÊЇåL¨«C/·!áÕcü<}©Ö*�1g&¨j»z¶TÛ@¼òð6['¤îå•Í5²�oF„6ZÚ=�õ�ÛˆðÔä,Ù�ÎÀ»¯˜»„ø&5?z>�i¼”D;”Ó¼�‰fŽ9ú7òš]Åéouˆ¯oX„4¨ -Ýg LÂ|J¥ÈBΛÓÓ€��0ès¬Ð�æs[#>« e2£N®a.tÚtZèW¾\t ‡‹B0DÚí6 ¡dUi>SŒº·áï×;ãú×ó¼7\ßJ÷ÿ�U¾è§Û Õ�M©}š ·œ«Zðå-xé†5‹7KAÈš}9 r:w´?* [³7ÛÀëZLÙO—¿H ÿŽI`P½â:â'|~ü<àiþÂ!ªíÓ$ð@ð0 tÏÓšfŽËy3 tƒ®nN˜HRüú4 4 ¾¤N¾¬ûÌ„ÇK>wDz\ÉmåÑÈ„§…èxótk”�ÕŽb¦æ÷¾ •`ƒ¾Y‰ÝøsîÏrùõe hDÊ@��Ë·ðÓÐó:é$•÷oS@�;„T¡noSÀ¯ãOS@«H q¿:W=ÈŸ5œ“;:uç¸M…k 2†Tß»% õCül1¢„Û½-iH‰ÁWˆÓÚí èÆ*‰Ú@XåÍÐ8½©zªU°Œmw(1 ëÀÛÐË÷iÎõãÀ -kÊñÆþSÁ9bÕ‚¥§% ÊÐRîáh£³ïœ�ÈÛn'@N@ÉR»�]¼‚U‹Âsys4ê�Ÿ]п�iPj6$½p— £]Nt×õæhNÈ;�EÖÑ· ¨Xó4Ð*Êmèl?$ìãRt½š*òYAש·! dÖíhŸhŸ+¿Ù*%zÖ@ž½LyGåä]· ¥Ëµ^dêŸo&€ÊÍVasÄç|›Ò@rv{ÿETäGÂGáÍP„ªRǘÀ,Çh«‚4>**/@O¦(ä bðtDÒѨƒ§t;ê·¢Jöž)Ý€|ÂÑ®„æÍ› XVöÆÛøOÄÉxÙú)ÙD�sþý&nân xg+õ¥÷§ˆhÞBëy;ÿQ²vœCW`à?�ÿh,š£¼km9ÿ¡%®ÃÔ\1R^]½FJÝbÝó�ªãÍùO -CÚ¥Ûù�†Ciì°òmüçqMæ `N~ÿ)ØÍ¼3ƒf;ÿ…’÷¡Ý…påíüçétH™_3õ§ñß) ¶ŒsØÆ¨E‘ø¥]nã?í,üšùf–óéû'Êâ¼Êb\·ïŸw¥=pæ)lÛ4þÃWD‘ŇßÇâ’t±ï·ßß©žtÑ -k`ÎñC$}G>ìÍî�F�'¨)€LØv~Ê›\»ãmÛýùý‚ı£ˆOÜv`g\¼¨PÝvŒNM&æñ²GÉù³ái÷÷ݸìþ¸ˆH‰âÞj÷�²AZÌ¥õ‘§Ý`'ÍJÂ[ÇË üɃíòwÿý0÷ÛǶ§ß©ƒ‚ßTÔ‚Ûž~_/âÓÓO4P´–çÌXÒíé§ð6eèæz¶=ýÄ=(+}¬;÷ðô³ñŠ×÷*ñlcªæ�´3è˜9Þž~ÂÂÖñfa; ˆ«?ÈÈ./?õ¯¨Ö#=ÀÖqyùÙ›Ž++ôðòÓ2€’,`xäë—J¯’÷K\èÍñOºŠ™þcN]==ÿ¾Ú¾ÿ ¿°¡˜¿¾�å/ÿæøç“�¤æ“ï yõeýG¯x}ê¼Ú¯mýGCX]̧RWŽàÍúÏ�JÈ ÛÆ¯­ÿìåøEïk‘žÎa'Á´ƒÖ­’•Î’Z\z/Q³?ÿÉ!r5D6EÀúfü–ØEgn5R>îjÇËøOýƤ$(Äà•}ÿYý ƒ -ÒýÛøOå X4À5¥ž-?§9ZAèeî·2dVãö±«D=äËçïnøÉÞïÕøáêw‘Ï»¢úôææ÷»©�¿jeÞh}2žæ}¡lwÞž}dEÌ«m«>Š›­¼;ôQ1�(±ŒùZ�Šo?¾2zo6|ó˜…¹m�ª•ÊÓöß#…ª3ÜÃw�l]{~¤k ´Mö$û�ïÞzHà(=yʤBqݰңø…ÌéÓA¦±º¾aœGŪm3‡¹ rÂO¿<ŽA`Þ6yTlŽq›ãA&×5éá‰)°çöÄãï TвÂãoĵžVxZ¢h·¬ð \«¾/ Ö¦S÷Ë B Cºýî kÁºMðJAGêénîšZâ2µËd¦-/»ŒâЛ�‘3[¨í[GU5Lß®�”Qß\êr,àmN -Ô­Àt3Þ¼è8ˆËö Ëz�?¬ç2å•üá8—qŸ½5šf`f'¨¡‡­\Ñ}¤ÜnrD®~›È‘V5�øðŽ#7]”Ã]…‹c)".§¸&@¼ÄqÌ vùÂñ™+PIQ6;–xáîöÀ2n÷7uýr¾Mߪ«}zš¾�Tµ*»L߀C2N—Õ›£~¾¼Qf±}ݺRÂõ¶sëêÛ¼™¸~e¸½Ûz -ÙÊmÙÆG@l?�Ú@ÃRÌÙmÄk¥§mÌš^zþÃ��ŸG\µmØøù¢§V­ŠZu·§ëU(ƒÛlM¤Z÷¡i!“÷´Vkz™÷ÛQm+cm#µ¶Ô÷žþizÊsže›vk-»´¬"×ùæ’VÎ^ns4¬³ f-S´š£º÷ôBSe= %ÒÅßÀß¶óY•8“ß Ï8–¯—ϙҒ-ÝöfUo�óÍÞ¬\ºÝ®fÄÅ)ì·¬ª!úÁ€ú˜ 8ìù¶/Cþ“g¹–q ÷<ÍÊ8v,W1ÖŒwFoõ&ËÖÁÏ7K²-çº�Ȳªci�ñgâW=|ǸG€†µË ½PSÜ—¤Ëoæbˆ](wÂ9Åò±­Ä�Ò ¨öt“©�êmrî×í4§õ7—°ÔB[h›ƒñ÷9Úí Æß3<~³KÅ�úrC¹–müU�ӛߗv¹ë6_€7�pó -qˆyûÓ¨oî^áæ£Ü¢&¬�DÄÛË‹Œ4‰¾§…×¥TÚùrî* - ½ »˜·b½|ºjHîÞ>]çZ2—=C¡œo¦\Œ Â�mÆ]…Zö6ãbUôç>L¸<¡§” …˜À»°ÐmcesÜ9[_F[d¸âK´J -a|ØjÍ�…&ãí¦%¿§¿l´ Ž•üîžEŽ/——iÖoÌ·U0™³½;dQC¼ÆËë·¦Ý~Xsá/!ô²Áʼl÷«´Væmz¥š£èáu0²õÛáŠÝU S°p¶Bƒâ8? ­pâ-·�¨‰#B*¦N÷*q�A†ÄÃtŠTˆí5…ÒÙ¡m1¥Ð^¹Þœ¥˜…Ô4­[óÎbÌö‘âïþîUSÈoÓ( "Ô5·W”¢™Ô|Qµ†Èæ.Q¡³lú}y<¡s¹À -·!Ô8o8ŒÇÈcxB¬aX åO×'Žq#·ÙÓ¥!qÚOø¿DëíìD-�Uo:Á†Wj{õE¾àiß4˜Ûa,צ0J·ïRQ~š4‘m&¾ØÇÚȶdÚ?�˜ö±mÀÔ×꺭”ºª�ï¾K°+r@··QÕ T³]–î¿æJûØöTÒOê*·•R_Ê�O%è% -x.ã$DÕÁ×lã$EÖAu=£Á"ŽÛ&© ×|™ 1´s|æ®Éà„ÒáöB9Ößm�ʽ4îv>"á«îÆôïür>21~¾ù�¥­ºmŽLÙŽvÛ‘I-íÍÔȤ|-ÛËHÀKè»Ö æÍ¹h‹ÕnÇ¢1Bù˨h¬—ðG¢!%@ÔK%@�çmKÄßRÄ~D S!`|£Ž‡ûTjb²§é�jýºÍ†´“êç6’1œÞ,†PÉ®¸�…ƒp^¿ …¼»ÇøÙGh¨›\¿íƒ®½«ùt R'¡ŽŸÝ‚–ëÕ—KׯâЇ7ŒgEC~²"Á|Šeö>_næ> €î3ÿ`û36dÙý ¶õ6óÙSÇÓÜJEêíöôg<ˆ//ž^–ùOV>m,ÿÏFjµ—Øô04ÊÏ~=¨O"DúeÓ£,%<ÔO{ž¾@‚OWžï*ßf<Ì’ ù¾mˆ“ºD§&†iÜî_*^ö‹l+–�s~œ+mGô*00!¡à9AˆÁX²Ì%«¹™^í¯^„¡ó¦S\4Z©[sæì -²¦½CÒ5 8R£h¯+z@Ûœ=F¯ï© Õf/UÓìU‰·ÚÜz%AζÄxhÄ+a×Î7-¿Î…æ:)LV{P¾çZÑ ¹kô!ùyÎEÊ;€ŽH_ÁÌ¢És»Ì¤jIJ¬›ü0’ê(ÿT±cÍs¤ Bk%°7ó·•Ãt -ê;ƒ[†8YÒ -9>ÞI�Am"TàÚ)P'‹ V B>‘õÓnÍU+ªc®ôm(J \g - ¬ÖÍ„>snI¤ÜQrÆ -HØð)Ï\ãuâlô+¡1 ~·¶¾/£ia drÀÙ‹£@Ö¥Ü^ª‚4'§ƒf㵎—8~˜¡'¤÷iE-U ›[œ¶R¸Gç†m¼_Ü4¬žs©!ˆQ¸`”×åOŸÛµz>Ð_ÐØ‘Ò£n1¢–‚bY‰]jôê`,JY@ Þ7`�ó}ƒ°zà]Öq/^mN5s¾ÚßtÆ7µ­ëd"‚G -¡èˆßtœ?K™1gÑgy^)Ðs¿w4é Ÿá¹Ï�Q -‹f1n˜5ÛIöŸ7¥öU«Àx½)쓎0h £rê5E+fös[…Tèì4†± -JŒyrô`_Ö„öå劗M±Øí‹Ü—ãàÜŸ]r˜± c˜!‹|ªE�2WÌ=Jr|ñv{„³hš?¨®§7ÁÁt“iEK¶Õ6õq†/,-s5ÇÍ•ë‰P0•eÕ \z0ÛÎaš¢3ãü#”Ñæý¯—ò¾Åu¶#“pJC²iî|›3ÉÓÙg4Ý•�_Wùyvn;¨m�H¯Œ³¹ ÌG"”ÕY!3ÿDÅ:CÚ -[â+ªÄ@®“³ë€x„Ö�41óv‡=3çm M‘ªj uöÿc§¬Ÿog—ái�¬¢Y:Hä8hC �ašÏ—» eZ®×éQ<£Å -zã WKœBÁ0Å{’ã<÷ËÙCܤó)¿þ*«‡7ã. `¼lšg´^âתë9ßlDô´i®(áT¹'ø“™ë\ð%÷|8ÀÊ\ÃT9c픥ç¯ÌNñˆvÆ S≤D9oV…B.„@ê"ÎóQõŒb9¯kÒú¹Î‰˜´¯¡†BÏNÙëÀŸ~~_jaë[^á¢_ñÖÖå­?€Ã‘:e]À]éø¬A5ž=¾ŒS8‡V ®Öñ– Ïâþ®/:äÕ½¦çQ è“yÆŸÎ/$�è�Ü=¯S˜‰):„žÔú¦Šj¥*{àK‡k4/]:õšf÷uð¤Q°­1Î !ÖÁ–íÒ�[ÕhÄŒuaCî‘%µÈA×õ˜²nZ�—Và Ž/ÝqécÏ Èçc7|ôER‚•ãieû'\Áf(ä9Rôr9™èïÅDuÞT¸ªô¨qÜ0ªtÑÂqüô¡ Žûü -P.qs©•[œ?ª H–¢e0µÒûôKß°Cs´|\Ø?®Ñ+¸­o…™áy•*º}<Ètn�YEñX†‰XóÖ!µÏ„zή»~®«¿pZ½œ Uë -'Æ«¯�¼-L¬ÏC­¡L0¸Þ§Òâ}⑟fù«�%=ß?Ä…^¨)Ìeon_z哌±=Ø]8�p-07âá–¹—1Cx-™e;Ì-[¥CÝÒÇt{>; ®¦\þÙ©rò‹˜`é€âtô˜ÌÏÓPy¦‡¬3&’×^  k~Y)0âîƒ8¡ DØãÎr ªY€+/Oå¹\+ÕŽKÛ˜sie‚síY<:6¬F$õ¯„�çZ�ùzŒÜ䃙7Øœ]šsYV#ª¬Ðû�\2‚÷™Ðq'A/qgHyÔ¡LÃë÷Ž_{@–g¯qŠ6ÑF”ãþVrSjÆ'+æŒñ$§k-¨‚³GiG¸æ�2¶½:kÓì5W×sõ"²‡ ÏjZã/Aö°Æ hHDå?âcÉœ`Zô�0{ˆ«ßáߥ:8‹ÓG˜aSW˜Kú’k—Ûæe§xqª»ær©èÍ ÕÐ�îÙùê¼V-Ÿ€�í!iN¶Y³9q%Šm§w<­¡»oà|÷xÓ!³v&3LLÈS£º²z~ -Í¿µáëK•T–¡×i™rL5”ñ¶t ’GÌöÆtj¼ó0È/�†è.�!Å–�ÝvÌo’TwZ–ÙÝ‚uñ͈³€�…‹r`îd;cÞ­¢ÜªÌe0?ìQ‹ßS·d€œ–q®o6ª‡NÃÂ[‰7|ŽªìeI؃•Ž -,1ÙÌÐ€Éæ:·Vð÷eÅçç°`ü–¥õŽ=gõ^¶µe]º8s‹èdpZ3\rϰÞåÜäó´ö2,2âÀÊõÉÀÊŒJøâ‘æ¨9Õ´ aÄ*F8È;�Ù)n03¼vŸs£Ój¤Ž2[MÌ"ïÁŽ$€õ—ìIózYí�üýå$Õ®XñÕ-k -yxD0h:aÑ¿¬FÑÏó¦5õ1é5È>ÌAŠäÔî‰!27уµ–èa>·»c ÊÏØþÅ\jÚkçŒt>½P�^D§ ëߤF =ô)G—1Œé|cé£y5¶¾—êùZÛ$ðÓÖPDß ùêJb°×Uà8Ãýàrg[B$ŸßTR”D.ÖÎù“F9bï«9f½Pžìß="Ý€®5ìåý¼òÃy¨Ì3—!z(£_–»G½‚ÐRsK7žz– Å Î-§¨õ£;džQ®œ —Î6_ãÊÚ„>ÉH‡�à__‘z:£“¯‡õ0RSï=Sè3u Ý»#æ¢z\k‡á=;%n[‚çÜtF~ìq7 ih�/:â‹®­l£ó£ÃÞC¤å²®ìNÂÌ]ÝozˆÌÇ`z£âT"ÓÁ®��j.wW1¢ÙQÕõ”Øà.„—R`XVä�OfN{Á§‰4×ÑÝCª©ŒÄ~C9½–ŸzŒp›“v¡²±SwÊð2_EªHu¾Æu«˜2qwã4~œ ì¢O®B™ì91I¶ZýXfÞ¾% €H@h(™P8›ï…/‚Ê&¾]ˆðçè¡'Kî‚öU‡pÈ#żοÅÅ>!ŽauÙ6}aJ.uŠöÙp‘H� Yå¶„©ø$(†¯[¢ÙãØð~Œ^äE`ªk<ËJ ?nRÛ¬ §�QAÅÑ…Ïzo$EøJf· �$’ºê-ÃK¯a[I±>êÌa‡õü°6P"+“–ÚãÌ0qíÑÜPQzÚ*zÅ]ª}Ø+ö‰£): ßw¬¼Š(5…Þ–‚AZaº—¸Æµh–¯;Õ÷Œ’Å… - -• SýГ¦3ƒ“,㽆ÄʇdTC7BÇÔâN^yif’N fç9¼8æÒA0/ˆ•*i ‘‡Û.ÌØf^ØÐ ¡Ç©~)Irê>G}¾ü} ÝŸ”©FʪúEÔø�_¬X˜W—þ:ãÿ‡S 3}@–8þ�JXŸ±f²!"2›!ѹ�i„вn‘3gvØ ùdæã\S¦ÌìÆ†‰ŸDGÀŒâŽè!g‡œ¸3Ôi2»³Gß~"§Sž@ì`c[Àn˜mAŽÓ@Ô²ƒ”.ÔQ)«2(˜Ì‘çã‹ÔÇÍÓbgÑÎ�à,çŠ ‘»Òî«­}u%—\}Ù(‰²VÀC7$…ÂJ}Hh1²Ô1\ -9˜ä0Ì[ýƒ×\Áå,�om¥rl¥Úkµ±Zq`Ì=4xo§v5es»+üî?td´AqàþpÒðaä='Mª_ˆäã³ ÍÓ: û颚ÃòÅj+½5÷ LGñMÁ÷™£ñŠ<<†¢„îþ´Ÿç±Ä u…[/24¡[~„ÜwÞ!è@)õÇq�Rœ„@#éR–’ Äœ�۹ϓÖy´•!²Mú4ÅFBz<…ôø‡ W—ÿ8GÆy.�s/)\Ì\6è�?±SB ó¨®iÊtÙ#vbþyÛ$36êr%d '̘áŠìR#Lw#Àæù�Ã��<å«åb—p¨ƒÑKAؤ·[† i˘Deœšd×y’›Ù‰L®‹ïÜ‚¾ž“^_vUªP6â“sí"�«f,–7g  ?€F¥Ù¨:Ø‘¾fóïè1÷dnUëµTlæÀÓŒØáw¶˜rŠ”bκ*”ì7icƒÍÚe#4§ï¬§�—BèR%ðX¬õ>‹iEPY§öáKÕ”tŸ5 ÜS…„döÈ�}õ˜‘ÁÁ>ÌÒæ¾C_½Æ*~ -qˆµltRìš#ÓHÁ,"ì( ÷C†ÿG{̈+ ‚�µr•_'YxÌ ®µÅïÕW—utüÔCÆ:ÿgcÕñ—Ûì:.Z^%¦5På3­G¶ü0O!ý}-/‹zSA¶-N\ÉXL›°XÂvz J8¹Ô¦²Ž± ƒëN3bLç^vÁõPh,FÃÆéiP›MŽ;G+’38Dtan‡ÈÊÄæuŸ5w˜Zìpu#e´çù4Ú2¨Î­¾€ ã~”Ð\ا¢‰ «ùʸxû朳áWšÖ´ÐjÁúCß`œ!è àÆ©´é ã[ e�Þõ€:ºà±œÌ�¸×USØ`H¯M]†¹wøRnò dYûÉ�‡J9›hU$…b¶Î©8<3Ìtϳí–X¹b§Ë§Ñƒ��SS}Õô¤êýäK†=j޶ŸÃ%ªèê÷hˆP-@!­›(7D/|ü�é:µ)$÷2S}‚‘["ú‚<¨hδ='‡]_ eDÃj,ÌRxš˜¥\1¿Iw—ƒ¸íç¡ñã�Pdž¸k®A¦°…5¤Ýf4ݯ]b�·�ø“Ü"YÓXµÃ‘&ÒR%3ý‡^Gì]órKI±AC­.`N;–ñg”ºâ¢j·:ìôbók^^œìÖŒ¡5×D×_]3zFBì1‹Î„óa}êŒ7ÜNb5\ï™ -.‹�f™¶lñqǶeæ¸ÌŒâ7 ƒt;_ ÷M3Þ~äÎf�Žû P ¢×Ðc“lI‹}´ï:<åãÈ+shü×ÃF4/¤Ê²Çú‚Ø„ÎÇŽo4“gÔÎuȵWF9½†=[ˆ¦,™•9ysÏcúL1}2Y¡ïÛxåDÑ(6‹äw¤ç,^ÊW/5š�k“DR·;sG®õ›â…iŒ×#$_1B®±xÔ] ðà¹ݘ8æ°—KK¯#iz¢Þ©=TôÀ¥á -”oÄ_˜¦° 2A>{„ °^ÊìÏ2”…|š½æÇBú¸ëjØ-/—%D\–DË¶åŽØçÐÏeÉÈä�‘ñ€pTÓKר…5çF#ŒL^6~“ï\[þCÔ#˜]” âÒô¢jî¥/,ÖMêf_!'m#¬¹~…¤bJö᥼YéÌØê†¿*Xi�Éøñü5Í<¯—WÍzèñtÆÌØ™ Á.…su´”,;48¹¿”‹çæ^ÓhfDÔ-�¤r�]tæÎ|†'–:'Rj!œ`†ÅýÇ´¦ûéˆU)\’Šùæù�g2´ïÁé´>@BcÞt`ЕVŽTSü¯`þ’³lót ÉËÌ^…4dÜO¤×@Xª°ÜÃ,mö@ÇÄÄE1�€¬zÔ/iÀŒ{|ûü-¼yÉ®#>OD±Í“ŠØ6pœ—'hÙh¬ÐC ïØìíõ€/ò°:d ®ÂSOg|Sæõ,B–ÚºU\°|S>:ϣܙ³Ô±Vg²”pP 6Ș†Í�¯@Õ„ÒÓ˜“�Ç<=0ßo^º’u7¯!dŽ t‚³Žd6¦¦…ÊÞÊG&=߹ѹ”2ùf'š2?P͹Y ¥oÈÊ…¬¨û´ì8f†Ê°t=ÒÊ¡+Ï_0Bü I„¤,r)ä{x Æ@äæ0®²%½å}(Ð  G &ç©GŠ�>æ—�X[ß÷ìøm•ÂÑù¢×ˆ^…­ =ÄÉ1“_ -/g4ˆ œÃ8v•½ø)ÇØµi{³ƒéž\ÓG¢W:‚Qã˜=äšÏc@îO9wÃÕmØ«’­ð0äzÓI>µ€”ãµúY@°µsM}MÀ�p9,XœãÐ9ƒLa†©¾°.ÎØeÆ… è'Z¶"ãfHp -…ºÂ•|JÌØ´§S'(‘_ X´EžcbÆ1ÃýÚP”ð½Ù¨^„BK©J'?¬Å)aѲ|8#Ü©ši‹g4¼"pâ=$8eŽìLLd_"~ølPÆé‘‡ó<ö(q¶&øcî/.uKêš;ç|?6¾¥­7qKàd:�7~œ×]¹ÄzñcºìEå¿d5õÏz²ùe½<ì/KŽx.�(=¦Ñ9â2–Ú<ÖL™†ZF†'Ä6qì é ·Xªö³Æ\ÌêÉGšç8¶»7h2LñGI¢Œ!™€¢Ò ±ùqíh(ˆAù±;°Ù£IG‚8j�ìlá#04+¢Ãµ½°è”�Zš�Рµ× 7/m°8 éz²QbB¢Ô\lgãkÑ£‘#+d°v©�‚”NJ AùJ Ï;)Ì’E6�¼@¥sÍÀÝ ["-Ç--¬ÐŒò5PZŸ OÐZ(å­®fî"×pÈ,w÷,¦Ž)+ÀSîí ¸íXöÇ `Yü“¨ Ž›~)¦xÇmY½Z ¤›JKí¢–õi Ué�˜rô@¥ÑÒM ™%Ób¾_Æ3t5éÕk|SÑ8÷lïàÚá75ñ¥¤AXD€åCË7b9b%�Y䌆È=*î$qgÇšN ¨£s�œ¦J™=^aRT´öÓ©ä~y:DÁ>Œ´<úæ»×‚Õ¶�1ØD+v]ý¸„#9Qèhö 4ŸÐßê/±4Qæî®î ÷„ÂÇ„‹ñ5¸FÙ^¦1é¡IMa›–ãá’þ·�Õ‰æ):›ú Ð:��-ãüíZ7š«ç¡· ùN¦¥ˆ§ŽókÉÈ£¸ˆ®Q-?º¿$iPd�ƺ66ôbåVÁwáÂyèé´×u¤k¾‚C!¿dp„b‹á\�[ -"ìB–ÉAMr‰œW8ØÏ9ê0i„èŸs켫ÕuüXKF‰±Èø±¦° ñ©3/é´D&A¿uj`ÙüùZkÔ!f/ ¥d-&£©•÷bÑc±`34”]à<êÇÆz8^‹/J,/œâXì@:YŠa+&g¨‰tz9à ‚"ÙÓ?sÁš‡"êzƲhµ–—ê¼�“™bÕ½®«B¹ètÒÉ(¾¬kh -ý²‚F1�¢aèsZ:`›7ŠĶÞÄ~üTlÍ;7<¥rý¸;‚Í]"/A~ €%4òˆØ]ÒBöÀéE-‰°‡W^^¿¦ -I&Ñ|Ã[èËó¸!šsµ¸Us ðÔšöôPb�\³ÆÃØÓoªÛÒ�^îkg¯S&èŽnR©Æ= ñ´â§dÔ“â§\ÄfMjã§¼¡Ç±�ˆ?­¨dQ:5ˆR‚†N"ךTRd[çdpÙ$Š÷¼ħ -(ñUu¥­ ífqžiGZRò3+ZÁJef!fg‡_Ø¡¬ÈJ±?‚§¶Ø$Ñ‹X³€‹�f€ª"þ"·íôf)íAŽÄË®Hô@4¾VCü€Ò·w†»x—¹9iÕ˜‰¼�saÀm5“‘âciDŸÓý!pÞïc‡}2:s#æšuŠ®°kìóG@<3Îjž‡—UTò]Äš:IÆ: tÌ 5ÿ`Q­òÿE$Sÿf3w^û‡ ‚Í>TcZ½.㺓 ÊÓ\hàd4jEv_Ö�™EµÇ¸ê -ƒyÃæ8Ë{ÞÐ(f®C||÷ªÆÆ¨1²|r�{g�Q\¹IÜWǾ€M•y«æ W"~™³k²C[¤TÏ�\žïyV:¡hl^7\—4ÖG÷ÍDEˆ6ó=RHÄk‘Ìp”zÐõ`Ii‘za†3?ã�A¾Çp¼IšO’*/ûù‹«ª5¬¼ÒƒÈÁr-”ÓA²Î½Kò.Ÿº2°TxUñ“b‘bÄm£ô´&µ/¶8MfËü=Î äƒÛßÍéœ,<Ç”ñ7æš^DôÒ *-mÞTž_\y$à„Î`@Y -0R\ANØiÎ}ú‘V�øs9Û*Uu>ð=Ú¦3¤DK9šì ²v«da"²‰÷æ(?(î#:T!�˜ -Œéò¼@·l·�-A+(Št®ì6e6) E ¶Ùž0B¤d×L¶im6æ0mC:4©BŒNì[ŠàÐá<“‚tY­$6;]5:€H)»„·‚3–áÌQ"R‹äÀNV+DîöÞÛŠJO ùë>ê͆äñ\¯ ACº¨ÅَП²×ØiEÙŠ½.ÇXø{YŒàz�Ð<¨( ¯Kr¢©¬†ëò2Ù‡æ+ˆÀ�BN¡ÅÎCpl鿀±ÑÔø¿”þ‘",pĤݰnØ‹ Õç«-Pâ ÄzÆb¥¦y!?Gݬ+Ùrõ@Ý­hPæWÊNýìáV%Ÿ,™GþC/ >ZvÚú’ƒŽ‡V6'Îq.Ž…î}Hµ ÙÉìäÐ7Ó2E¿’_(ZÃ:RîLTÑïl�( „œ¹1Í•´J9Û·™Ìä…¾5ã‘›d‹SÕ´X½Â�ÈׯƲ]žÓçy¯K .F1DÇÄso¸q$˜q?S³‘.{˜ lðeÔj"°� >�(J°>ƒ=ǬĘÏ‘/ȱG,Û~êE¤¬CÎÜ»¤H]2URqV|vÀÀ‰,€„²Íc¿:)ÓpˆÚC„–ˆßÍ[ņš¨˜"DXýŽY–YžÈcŒþÝ#F],å÷ÇS˜ƒÊ†ÈñV”0Öš!“,ØÏe†3f_Ãú£ê —7ü@}`n>JHýc3ç�8‹ç�€šË› -ü¼zAUº�Žßç±(²ïH¯ËÂÈÜEÆiš€ö9‹Êaù9Å��*Vc,¿X]„µõêb3•ï¯i’zf‰Ï€ßÜ\PÌkl€ÎØuvàô€(B�æ3#&× -W謫GŠ7�d”ÅÈ$±'Nù/íXXGw}ÈÎ] k^ìÃÞNñ°°SEЄù$m¼‰àvI%Ö¢>§À-K×GQSÔìsìÐãŽfy.€I]5l0Ô†IT¶!�9ŽÕä÷K!qh"ò¡Ù-ôE¢d:/ç,A$ ¼:aÀxº]R«·0c¿O œZ "A0l.¤Îâ›BÄc.!òOt3Ì~SØWô±¨âá°æ¥°ns)›œ']tPs@Ìp»œ9˜0�Þ™ªFÌ�í0‡1Öj¦1íºï(´ñƘKê_à†œ‘¾Ò¥ �C"èT©2„ò.ÇbóRèPì˜×—ú³,ûº�ÈnÑK0~ÍÁwœ½Š‰Î¹˜o2ýQ8 ‰9~Gˆ/Ñ�ã μÁbоdw5ªñ«W PšLK"ùê­C¿Ë -úÜÿôøf­´f�Ôâ“Á.Á/¿Ž#Êá­,°|À"z­i÷Tant³(AeÐÄž• ™Æ«†—Vg7«O}‰–Ä#Y6áU1€Ó^ž¥“›q$­@%qÊÛB2*àGàpá©2–ZHOë·ÿ�·Åéÿ0ën¯âý9lÕ±ñ’Ów�ߌèøË|¿ ŸRe+�º}¼hsÁÆ�aiL€ÃLJ2ht8—{€s¢oUŸ÷.@’Òì1'óýà7Áˆ´ÇfzžÄ>‚˜+2¾âˆ®ÔSÄ{Ÿïuö£ƒFPx=>–К�à~÷E s¤Q`½ ¶�öÀHRŒžó*~p\dz¼õˆ…–è zË1’ë§ó\}U4]ð'ÐБßz]¡½$å�Qz� àäÅʵcYÈÏÃXÛÄ;ZúšS¨ÎòÔcl=ƒe­Bn,‰d#3]õ{ª`ݬ½´–Pã`ƒÁJ(ÒoT΀…bb€ƒÀ…mD‚rsägÌ(†¥»�Ls³ïy´»@À8M4THï]Ù|G êÐìq -Õâå¥c “)ï›t¸´Ò\Fk¡‡ Ax.‚bp-vŠ®’©â‹ÇÞ.6,ˆð´Ô¤¬ã¢_•—f¨E0=zØ¿p£Ë%–ÐX>÷D ‚^|8¤@™Eå¼vYÈ Ê|æÝ ê¥8Æ8Æ�ä$Yƒ¡Éš³o,c�,ÑÔl(q)®±µuñÊ;‘èÐR®Ÿx] ¼ûgH0+/tiQŽ˜ÀÙè)1²©@~ލÿü?¦þ°ò*Ý} Ã…ø3ø×Þ!¡ w0çN{ÌiŸeàà ôm ô ÷Ûë¯9æË¥ü…S/n ÿ•§4œØœD©x(�ÈiÊ`Q(,´œíuÍZJ#­-- ¤™´éAr-”™?åˆ+ctY�O“Âöy|×TBû°ÃúôÉR …RôÄ™ÖuΗÃxê,~!X Þ ßÉÙ\9ÄeRyªˆ›±6 -~î öèÜø»µ=„¥}Õ‘ZZÕ¦9ç$�=¨òsö" © @6ÃDùQ™Å]¹�ãæ. !?Þã^°ÆìF×Úð(–ìøhØÄO‰ÝSà��%î/ À™½‚b®ÖþaZêX_$9svÀ­›öÝŸZ‹â*‹|ŒZz´cõ¸ßæ¼Wæ6JÑ�@=Äç4õDq­0³4ßÙ£DöG45µYæËUs^Oâ#gÆV·KM�³’¨s•ë -x„î$µè­ÃMS¡Æ€§%[iý {xôóÝk¬ðzîµÒÒÿr -ê3ÄkÇÚùø+K`‹h�-ChyÊBÄCán“ŽfˆlæÐ àŒz¥jî圤ÚÐCjI VÃÒO÷xz%�“°Î«-x óÁ—8+/:Y¥Ãç™Bñ ?\L"ÎðÎ<® {D�5:AÉÔû{ä²Í›„ˆe¼bG(€¨Îs)Æ3G@ ZIä ˜ZìËÊ¡:Ò)N–üb©pú3Á�¢°4–ÈW•ý:rP<d–"Ml¢B†›Šë�oNf¯úJ}ÂךåÓèE­ -i–.5oáž ‹å=bƒ�!áÒKR‰ -Ç�¾¾Ib×V­  z�#Œx ½®uÅŒj®Xò²cì¬4“ZĞʲ:È�ÑÜw¶­ïTTb�„1ˆ¤ä˯È|7Å.arËà Àù6”\\þŽk-# 凥b[ƒÄTljÂKü ‰Vóg˜s$1­ðéD�éÄãî…:þ:ËuÔ¥šÃÒ\õû}éG:YÎØBÙ ”­ ŸTtr[ˆ%�ráÍZ—BV …¬²ˆ{Öšën�& g‡ Å”ÈÞ¨%ü�Õ¾I¡}F¨+)„VRZ>¦ŽÙBL3Ô”¤–&`D‘­ÚRuÛw’�ÍYSR&�n$[€^¡�"8´ˆ›Y�#ÔžNùU½ɶ -…Bu¬œ‡ˆíõ�F€ÒuD>#¸RÈ$MåŠ8Ï|îº'6å½)Ž …4CÈæ¤0|"5 Sf¥è¤Ø‹EÅ/”Y˜†+¢æÖ”�‰Ÿ|†~è¹:˜Ç«`AûKC¸wo|F¯êùçÈÍqUg�Š—ø�_„–=Š -ù^#³ ×8^ÊY§a4´ðeÃŒþ¯;Ó+YGžö¡¥¯—»3^tN"«MÜK91Ÿ?¬Dqü´sY": -QĽBûK}LÀe-òm!€=ººg8Õ¸H‚>9q �jÆÔ2'Üú¼rÑîõ�ÿq]&gH¹›„E‡ÍZ1êf%J-Z"|á’ë·;9}­úC_`ªùBŽ’BûRÖ(.g,U!¼5cÿÀr/¯i¤0Î@†±ïX§†öÛlìaŠT¢6÷j!¬W—¾å`]‹OWß÷9­¤’x"Ÿ±ó>ëê pø ÷^mv*�¼�“E±•·„(÷ -¢ŒŸ˜ Oã v´]Q®¿™ÊèA&‘㧯E•ég°·©©¬†6ìñv÷éâ¬q…å(2‰ƒè+3 Ò¸Ï+ísK``ªj…9蘅ª~ “_ àiàã! ‹™ž¢^“Ž#ÀE±cà,Å•MÓ#CäË_ ÷•íjbƒÇØ¥pñ� 6,Ÿ ÿ:z-M�œE²Pà ÈÃõ•�`@±&±këˆIѾ��9DìE Öõ:+é©9¨˜ätÁÔ¬æS.7h¤¹z€nþoÖÞmW—äºÒ{¾Ãº1 6P[çÌK©,Û²«Û‚Ðî–`Z,uÓYEYè·w|cÌÿªµvQ6@A‚jGÆŠ?�3æ‡'¢2³úõEÒùp2ØTIßëa1,æÎ�n÷LyOé4×»Y[è¾ÞõÐu÷•þ!YyÀuŠ¿‚/—FÊã|"½P 4�ì=¨ë„'V¼Ö˜‰ñµìªÝI^H¥;H¡ƒÕ.S$„Œ¾ ÜxâòCtí¦’yËqazFt,©m¿ýÛ‰¨íüI\•oÓöÖÄÒýFßX•©I–î»ïä×%g@%ö#ÌÑTçþ h¾\'Ú=f @œt‡ºpcæÃ~”¸1¿Ô•‚äÅN ÐÛ„áÝkŸErWk —™€™Ÿ/ž™ó…mçÛcûçDÜ"ƒåfFtmÚ^ìÈ—ˆ`²óðGDƵi×t骧Y?zÄkFåWØ@!Ïõ¡‡7ÆhøK\xhÐn>�óÄÔ ´pZd¼‘ö'ÜE æ+„ùE„�þYmX"N ÿB´¿…h‹´¿ˆˆ¨)ê)t×Ë; ty3K”‹�i%¢ƒ�”I$'½4÷M¢�©^cäü®È¿­éÖˆ'§|ô(f´H1û¨ÕÊÏýÒ”�©’ˆzI £­W‚P0œà�{¦8cVh/l3ýKµ&÷möÑ3’h0b -æÔñªÛp ²¤�cÊ\ú2ü‰ÒÁd¦Ÿô��Äê'É'“ûžR @âÅ�|ÈÇt!¥ÐÉZ® ©éOÚ»×àÛH¦Wr"N_§�¾hW9ŸŽ«ToÄ‚YVBëü -2�ð™< ¹/`î°œ¥ô‹ðÌ©”ðî!ÎT¾H/¯ ˆ,ãÝÕC4Ò=*Ûtz˜^üé5-®}ÆS=¬À«LáõÊì½ Ñ%I!@ö²ïLUsÝ»Ï" ÙÈHP\η>˜õ,ŸK �àë¥÷ìÕ�:»âùBpÜŒ>ûµÞÞCæ´0»YÉs'ïÇ-CG0!¢$¦|¯Ûù0ÄÚt -?ddõ2²zÈd…|¿ÀâÚ0K"º§[l\cKÁü‘å·žS -’-ÕÚj ->ˆÄý•<. =]¢8kƵ’ƒèF•Jõ‚Y¾C¯Äû®½}›u,†.yª®æÉ²†ž3»Ûåä["½ðQf JT J;Ü(ÁҜŔu~`ªB_ªY<—Øû—n/-°�÷µêJ(;Td¯á؆c{cA§4ùb…=ÃÝ«ô;°&Š‘öö#Š# m†ËQ�2”ë ¨³  ÏæðS�8=ÁˆØbˆ’‚Ï8 y3ìBð 9d/ôËâÎ]ÈëøOý,öçdrÉQêí$õº¼Q×¾|Œ@^×0ßá6tê~ˆ±]ÔƒD¤i½غvK²/ªþÀ`�“ôS¹�´êìtîñdÑžjÈKÖŠ!°NžGÄÈYYªv•!ÒC_.‰ƒ�ÁròSö%Õó•?㌠(å]–™f{¥Ÿâ±÷®Ð7šö³ËÕ._“X98zi괆ǡ‰¦‚ H`«ˆfŽÄ-SVIF{ƒ5ea U@ˆŽ=åW¹–=Ë4ŽÒRrŒ i.‰�hµ³n¬B0¼Å(œe¢�ð»sí ÷VI‘6 o„šÏ4k÷iÛYåòÝAìVR'ïZÀÂÄ ‹ÅJ‡VQ;ÐäTö½†É1�ñC—îÊt²w`=’xB†GLŸ±¤ûú“<þxÆŽÆÁeÜ™óû•Rµ¨?øbr -šÚôÑî2‹ðÒ -o¥Féu}¨Gïí^—A�ŒÔ�Ô“Âô,3—t_.bðýCÝj¾j¨ŽÍ¶ténP¥I©Œæ\YjÍôbaB'Q7b_û•›ca…áÔŠ}ÐŒ ‡’6ÚÕþ_d _?pói*mÞ…‹-¥?ç‘â¬=¼±6€S¤Ì¢Rh`’—©ÉÓ£ðK%ê¥Å¡§-xòöݺe�W** úܤ؃^y– ôŸàþ)‹Œ -Ò÷ð,yœ“¤àúiœÉü®±¿ìºôeïIí^_ë�‘“0®„`9!ìõŒ€Øî0‹T6”Ÿ1¬®•$Pfu¥ ÚçYLhý¦{.(É êX ~[2¹‡­j!V@ÞÓ)Ÿº�êÌ£eý¹í5�…î»"Ÿ�w„|ãUï�Þuæ½;ç3¦Ñ~�©xÔË«!bsÝã Dõȱ®ú…½‚{" Øtggœ¾œH;ܓ͔vN¢Ëé Ø©™%Dô»VoºÂÔµ¸eô@‰B¹’ÏRó>7Äwjš­HÙSV: FûµòÆÑ»Ê�ìLì“c�–6œ©ƒr º©!Î嫎TŸok±³¡$‚:t.2ÖKœŸA}=Ô(”�ÃâEAÚ·œÓ¡mr¦D)¹pt{Ô%0z\��³�Ý´³ÄnØD÷y¦ß?!?„™[ñô{ƒgmÃÈ2¹‘šÊ€þ¥IA=¬&.ªwç‘»b›q>Déu%ö¦z Q�ñ®Öñqªl¿8WqºñY -ƒÇYÒÄ{8¨®þR½C¦XÚ;±”ßÑ ñÅT±)Ør0ôÁoáñ–╯ÊdC™ŸÖt£;=qìÂ8vOk#�eJ ú�èí¡ësç†^ôæ‰ÝÂ&¨ -àux�5x� EZ‚ ‚x˜YÍ#ôÌš4¼§—Çñ!Ar[àG˜——|ú$ýuˆêžùª5nàš37 JA°U}ÄoÅ€C¹ì[¯È-<±ßUÝ1í3eÓÄ -ûÞO½Jð°Ñi!Y" Óý¿ †|KôUp¡Ý#yœÚ¼!"wÏטX% y§òN·_*sÄ -ìñ&õ'š��ú%µ‹ôëÕCõ‘A/£‡–ˆ©²ÏWÉÔîÜ)*(V -R`ÄYOÕÔ{� H‘ŒÆøk˜HtfÚ’‰ÑXWJË’U²>éXpH ¦{�†5ˆé<(Dʉq.3ýD<� XâRu 1{Ê„¹ïR¨ ¼�ˆˆ”DÝ~‰ºÙ—3*`��×nËÔ"�cÔIÑóCéM`ª=¬E 4‚t’1ŸÆ¹jâgÀT¬ØÏ±%¿BØìS�zçж'÷s¯iÆN¸¡œUõ¥ý§lÉØÄZçðíßL†þ)°Òˆ¥¸°ÈMÖPÖwÙÈV6¥Øbí=˜ªP¼8‚’Ý;ØF;‹»®"> -|fUÜ"rYl.ã^;ì9Ä¥iŒç€Qj�Êñ^ITuWýâ¬åVUa±– ½C«± ×€ Îaÿn»¿Ræ��uÄ© Õéà j¬šÐ�þ�:éÃ_2…L§wµ‹“½ô‚»�­�”Ùò•°¨¥CMZ€c$À Íë«Ãƒ8v�˶ÙÎÒ=„(z.@4¯ƒA¼>ïw×1Uˆ¼.™”ײöf ú†�ZU™mkëWƒ’ÕŒÄ3 -,¨œû�Ú•Q.qzÚÔ‹éFM�½*rì®D^GÝzÿí0Iê)Sìïá[�JÈ`•$w*ÖÑw±ú.–ô¡‘ãLÝOQËÙþÉE6ÈË6Èz£4†îŠN©§?‚@P̓Zìò¦­pÄ@œ^z¼%D\·.#ã-­Näôˆ{°ãu”·�’wõ•NÆ~»|åvܦO}oüÜc Ýt²`/@f„WGh×" €î¨¡Èst/ûiWYÂ�y³áY¸ˆ5 -¦cV¿EÚãRùx™@˾ õU%ט …´Ú{Ô+T\¯&L jÐÝ<ŠIZó»åxãÌ¢ËûäfȨCð¢i¼a)Fç.a¨§ �˜x�é3  dSåŽ5Æê–�†¢ äà —À°_/yWáõ&ŠLNôê"æÀ 7*Sž¼è".8f±O»,Êj� ±–•’ŸäôIÿxnÅ|;ÜÔþëY—ÿZuŒ‚õºÐc$ÆcyÙÅš;{Ðɯò€èqÇžT¾ÜMÆõ,mâOí²ú•,8 Ô %®·ÏEè:à!Yô*�hÇ�$¹“58fhQ �¯„ÄÈXìžž«‡}5`”µn±}x—SÏš–¥]¿Ù£™†ËŠ …È:HW>Ð'ô2Sò¶3ó>É»ê}4L’leÝ<("ò©#`i7’fÏù%LPé5åŒGæW´9`érǾ.I] ívìAb•aœ,!:x&½�f5`Q²ïý‘t {!Dšdo"êþ¥&޾¤h;ÁT^+›ó»˜Nƒ¾lÀk§ÀèPJ଄A'1änq¯‰†oØjAƒ8¦ÕI#F§¶ÍF1"—tWû–,Ïúâ/¬%}€/ãœÆpÊ\ˆræC;ŠzKq]¡ƒÖW¶ƒw•Ël$ç«VOôÀxœ*ÜïM6@{ƒÂ…~I†ÊVC9E ™r™JŠ'0Wá’Œ%™­ø {SÆ.ó–ú…=ë¸{Å’|P3”LÆäv.¡�½´òí©ç¥ß– ™: àè6ÊxEzM|&âŸÝf…÷Ž!Gm{�Ëо±´¬˜($:-º&-í/k… 5£— Ä]5Á Z6y Þ+lWDÃÁôkE±‡a¥jΫ®ÌòÎÍùŽ»zm±Jê„« h [®HùÿÔÔ°ZNÅ©'I¬Õ$V…-ôЇ/Wèø%�XÊ2ˆ¥Y5\•Ì:kï_ñ%«.8çþ?"+HžËï»°¦¸›$±Xþ <Ú=ä- â…wíóņÈ#Mi¨D °àkÓLlEœ8l[ç{/¶uŠÀã`HL±AàŠ·EÏuþ¤ JpÀQ £‡Ð–’hÒüN.ðågŽb•~ ^6,’4âþ–˜†|~’ÛÚ*XîcÓîÝCêŽ22až(~U=õRóäù8.Èû6.Üo¯þºÉ¨‹ô -ß´~’`„oó˜ Àé®x„p´í”rg]¢V¦=0§({ PÞØcˆ}S¼ Ì…°†žd5ö¥ ‡-š—À�ŽÐâf™gÃV�do…äÇ«ʬØÍ&b,©ƒjÉg•Úœ%½»,Iž[—³ïجTÍ+D0木;¡h1-pÏ„ð[ ÝcUq?ŠË= :Ýc¬| Zì¡'¡F�^ò[Ûç#¶ìî!�ØôÚ(Ô¸)Àìöiy„e…&*áO©Èô@æm‰b/ÕKÓ~&Õq¹¦•ç’w¸„sT!ªCÒOðˆ·,¨ÓÝ~2Ý�à��#Lû2åÉ�çe;‘ìé%Vy±f¯Þ¹LO¹f(­Êe£¤‹ŠªFêE’^3lA~â^bZÿP�Ëáêr®F(·fJôBÙxŸäÒ‡–/…|bú·,;Ÿâ?.>Êu -úªÑ<ó g4¾bù/Ø¢L¡û^Âˮɓi¨Êš—ÍxÉæ5‹¹6ÜhGØ$ìŠ�àãä´ -›cAR”;×´Hæ8q›D!aoè÷)«M/a1Å×´éƒ]Åä°çÙl…..«Lñ”²ñŽ@Ä„ÅsF¡´Pp>ÏÛÅÔ�øÓãG!à&Þ(NkZ`)šsOó�.EäŠÕ%�Yï1¾^SÇ'Bâ~;$^ [$T�R ‡d¦å4ù�Q‘)=ãy;Å)ç;…ì{Ú“˜ª¨C'\®0?É]ì—%É%{¨ƒ}ZIça÷„½Á¾Ò9- ÷ôzB5A{vORm‘UJo¶Ji¹ëÞ€ÝáÖ PŸ|jˆµ©(4zµèu9€êfýM˜ËÛ;s°ä˜3]fÒ%ÁÚ=ê=Ìk{Êë‰8²# )9ìÛ+íèIM©DjF\˜—§?Aåöô´Ñž�M÷öQö©+æŒÜÌŒÉrH±ZŒ$Û€±’,ßÌø{µ´40mrä«ÃšåìÇži -š­qÀå…’6_û~G¦&¿L˜=Ïè5A×A| -œèYYÐ`õÞ†icÈjÙü.‘�ÁX.«®ÿCd#'è•Ý«k¢¡¤_öBb?>Öu „P¾}@®rûQ]aÝ¡¥e.hQëü€8TRþçFí�ˆrRo®ò°ºÄ~ ªoc Òkoÿv¦ôOš—µª¢?�#Ü%€(ÞÜé·>P’Ú/Óßáº�¬³|ì¥g¤X�¹)Äú¤`¸/s\! -Dúƒy[«Ø�æÒ„ôz;jзÊBÈݼ˜bÀ(l½”¬+˜7YÜZT·}o]H{N°Ü{Êb`L¤ÎxKîô£W³<·(Þ‚ñiï zƒù¤Òh@ÃXY$y¡,#ôöš‘Þ»ÇPbäcÿÒ²KëÀ¯®Æ8!§Ù» gÈâ.cÑäÈ‹h\Å£Gξ{¢›Õ™ MQOsò‰º:Eqš¬Œ¸C’7â»×[må;äeë—Yä{¦î�LbŸ•Œ˜z�+'@ÉRDªDÕ�>ÝK…öz)4!q8«¡Q�ñ•UP¨£¯9<òÙåõÎôâ¶öH�b�¼´›M,SþZKR^­‡çÅcÏ )wpj"A!°³^òU€�e�Åp»Ò`²(:L·;6DF]Å^8×LJ¯?QVâ][Á�2ÚèÂÓ<܃OPD/qþŒ%–WÆ…s÷K O©GÄ'‹ú3£ -1[‰H,žR“@©éqëz�? ˜ BÇÞ`H¼æª¶*ÅÙ–3Dѯºä“C[ÉùV=4óìälÎïh«Õ�•ß> IÊõKyUu¨ò;¹É‡«ƒ�U![óë§"öÆ™Ã'9QÏ# K¿lŽ�‚²ãO@ùÙg]Â5gDµj;ýqeýÔÃO¦¸žÍ–‚„<²Du¹€‰Xÿµ\F¯Ø×¡aÌÖuxÖn ‡?÷ðŠJ&(á¾C²dû8¡°J!;–¨Íàþ"AsÅwhhʩӼm95�°@HïU©x\âØj�pk¸¬ˆ ‡,ÿµ$MVÒÙÙíÜ6€œôK;*£·©˜xb�!Ã*2ÂØ©ÝRK¾�–\À²‹˜ràïb,½ƒ`r=¿;½¿d‘.Ùê$uÄ[¼â-fzUmNa]¸´ôÆÛË–¤>õ¨!ù‹ñïuœ?õ*V•’H¼D.šiC%î3õ¨o=È~&1dÒóGœ©£Ul!=.Ë*‘ÇѦ ꬱnÌ“ÝÌZ=--`ÔÝô5|¨„Vj ¢æI¸;Î+] ±‚´Äª3€e¿ÈbD¤$õúí™q�ô+¿íW~Ò‹¿!`²ÎïÈ6swB鯽t¾0vnk - ¤²{HRP¸2­)pXFp=éeYè5A}Ùï¤žÇ ±2ÛÕ¢ùUÎK³Të¬?¶£++ð?»}ÝÉÝв6©�ºO5nëˆÃ–ÐÆE®@aä46œ�@<'n™RöWšœ¼ŒŒÏ¨RÛþVØáj/°¢—óš<é‡NUB†ŒmÝÜÙ�.m£wi¤Àš—;G‰Ä~—öB½$ùñžTÅyŒ%Hñ%û:ÿ�«‡«kÿÊ[;®°Œ\±z‘Ç‘&l(\í�ꇋ,mÆÜÂRæ§à“êÛéI�„Æcµ W.4-ÕKWª£÷Vß~6ÁðíŸ0‹!}½?Å@?3Nyûó¿üñÇzû³¿øë¿ùåþðÃïûý_ÿó÷ûÃï~øå~øÕ÷û<Ê×ûýû_þú·ßûãïþÛ÷?þã÷õ«_ÿáúý�ÿò»Ÿüîóögÿîíïþó/ŽJà¿üâk‚�åMÇ" Ñ�D¹cî8ž %€ýeP!C7RúP‚CP*ÆoBèóŸ!xËOä%“iå"WXšPœa.ûe©.ˆš;Å!>°y -�þ+I“bË© ¸ç½;B—Õ;Ö³}Jh;O¡/½ç„ý‘Li~Þ·J HL� ’ÊùoXÚ–Sâ•ÂC -’Ø5í×�…MÂ÷m8 z Oo9ôu²J³ˆ*‘loW¿´?Á„üMÞÆÊ„†Kh¥ ’· ÉH¶O’3.ÝŠHêŽPHæ$ yš-]ѧ¦ú±€»Ú»C 4Zg£ûóV1ûHŠPV)çA`D<ªÓómHïÂ>gŽ/nËØqÇö_M»ØÈÄE�`…—Ý…¬4k!XÂìºÔeÚóÞ”ÉȯgfòuP>@òðãdÞT+)>àÄõÁÚ8PH«™¿]‚¿}Çp�ܦ6Šã÷A$ø«æU"Š”]$ßÂ�ýbOÛ ÞrÍè̉XzâÆ.wߨ.¢½éÁŠ7¡õ®µ ßþ‹t#F'I~r‰Û Ä~Iê›Hd:Ûf¸N—å|“*d·¡L U¿!¸¾#eUÇ#º€E‘ÙèO`ƒÁ³îE^”¹f%DD®¥P|<$‚mŒ•ÓÍ_ªRxüÏiqÂU´Éx9B°‡ä¨ÉU2hµ0�0LH¢�2¤�ñøÀ”oK¨¿Üêð™¬))Æ p{°hž3È�’Ìã¾âùEz¶®x¸$"ˆV8b4þÇaFå–e -<Äχö© †ârKª’Þö…”óʦàbÏŸûS_¬�Ë¢vÈFÔcÿ1´ÜâJˆñ¨¥¯³"ï}Sâ±ØW•7 èë-¼÷ÍÐÓ¸Ñï~³þþãE—º?�ØøZR½„ߟh Ô‰:Õí¯‰j6Í’SóãWP î´xD&|N¿Œ>X�{c*Ù¢b-DŒÁa\�úy[ݶ­pª˜á{eñmSIín¸­:‘8z»øciJÿ: Ô&ç›ÍRÊڳǼ"ßOBËùˆi‰<ùÐìGF>¬ù�P`do -½ù{?WB–YäV�¡ÝÝ>DG¿¬o�6óž•ßZ5è"˜ê4ØÞ3Šm‹­[ûNb+e�ŒÂ0àé랃¸÷�ÃÈ1ãÐËyp…º>stream -¶)ÃѽØTWÓÅÃZäS†ÍL„¦áí¾elþµx—¥‡»þ>¢tô"ù¿€s\Þ*š‚K¦ãÑ0Ê<Àþ{jˆ^]!zu»ƒ`ˆkÙª2ªÐô8ÞÊŒ¨Tvw9„¬tc!äU4¢æÝÖ8Îûš{ô@á†Ò¯ñÂYé+�êúû¾ß² Dà–Œnݯ«¾Q¸ªÙ|à½x)Ÿ7ÒB£Iˆ”Ó5UFÒ£?]Bá]ò>äd ,P(gÛ¼�uiÖ¼²Êqívû¸ŠÅUÖ~VÂÕ-fd)~�û€·ÔK*o!ϺÏ–8ÊHà*–*\Bàxc®ZßeS€m÷e×Pv;êz|bõ‹[µ7\Å-ˆ½\©¾ bÛ=€ã¿ߨó™>Ÿ™¾# MËn1–Ø£š´ŸÛ#ܤ#0¶ªÈsJ\Š -âöTðÒmt9û¢‚¾åœ\ä"º$ÝîרœúL‘Áf‘Áˆ^vQ©«�b¾AQj…œ…´âÁ©RUâ*BAÂ6³�´r} º„�…¸Šû ¨K�”5ŸÏbUÚW()*�;qúöúF.\8é[&nr<º.Ø7°…Ϭ tÆËä2‰ØEÍ~=iL>;èŒ[ß§`;c?°Ðã!ַ윥ˆn·DJY5m“ÕkÔS¬å¸ßl% éž&øí¾ M©ayµ7ë!"§›c¨x="UÈ1¢t¯uFg¬:°_”¥çŒDØôŠí0ÀÈ;�Å¢w�ìâ#»©Pý6ÖQª&.KM‚'Ü*„®+.`Ô(£Öª)Ìýt&^Òjïñ’êRÕ²Ú ~HÕÝspND"ïÕá§»ºüAy�ËÈ÷N2-x“GèÕ%9m9Q»ä vúÖU9Œf©àí׎0‘~Ù£r`t{seù§Ë´8ÔnY{1‘òWCõSNáy¤ä"%p¬jœªë!΄Ý×o Û/c¨Ã"2BÌiR3BBñ82ª� ~¨ pÃH;ÞÝüuådö » ‚¾¶4ïþ•Ñ÷|*bôþ/KöŠú�=_ 1žo©mr°*nVè-¥ëE !m)¿¾M0„¾Ì%â)¾$Ô¬yãÝ¥ý*ú§wàÕe»BMnß-ÂÒGèQX'xÇCûqˆÏix‹èã QZ0%ez\#³JØL|7B}·¦f;GïÑ6ì–ö6üHÑ Äz©¹à Òò‡ê&á;–àmÍ–"`‹øÜGu íc»ž:6’|‘öŸ*PK!€¤—» ʧá !ñùÝÊ2ù­‡ƒz:è*ÛCÿß»0mŠÆ›!BÀaÐï· ¨n &Q�¼‡ÌÕ¨ñõaÃÀ;³�Uf®H®¾_9p«:¯Ñ.�öâmA -Íi«;ßÊ=&´î㣰çp\ËPï@)áÚw'á©í—fÇ-µã×åšÓ>�rïÜaÿ@vžÝuW ƒ+á�°úÙ1ÐPy}®-ð_ݯúnÁô ¨:Ȥ±BÝÞMíFZòGT6dÒ½´Ò3zâØ8‘c믷§·ãg"I7 ‰³Ç ºLß)©OfA -®û@ãBø½M=8Å�­’KÆ…è¡)‰âI…+œJ«ÂΑÌ€Ò=þè.�¯Û.=CÕ¿;W‹˜ýîМBylêoôΠ\ªª¾jƒ7†$¨4(êÜAdŠ/Ê~2tX§ChsûѰ¥D}â.®Oì FÊ -Ë9àHi99Ï?ñUa�©eƒÅzÇ[(–!QÑ‘óåÈ´çj&ÙKjµ©bI=8�"¦ {|Y>�?bãÚUE°AƒQrûöìHõ­)@5ðý’cOÁæmæpЧ„”"^xvß}Ë”/’\-øî"”ÒO¿]9w_”B¿: .Mä5§ÔWÕ­ÛïõI@?2ãì£X¸ Ð?ÅBÎR²†S©9S`û3ðp–&5¥?¥o7ïQHÜS_QfLs5¦’Vÿ¤Œâ¾ Ëlq,‡ûƒ<ËxkÂÇZùÒh(–{nh’Ä1“¦…f*vD5ì/åÄê 8Èeû|ì"y9ª}ÎÄã’íÆ³e¢tôXS®í¸e�‡LÝ´�¡KÜ _÷EN$¹ƒê ñ�¤Ú�Ãüå¶™;6ëËÞqKu Bo6 _Âʤ€™¿§p‡<õ5œ}€ÒN7¸æ#ÑkY®®IþÒn�vA@¦À¬M£iîëN@쇴/Ú]R¨†4;Êýò{(B(>Ì”†yc�&ˆáïg¤}ùºú´ [�®·§% P¡>³ØÕ\ìRöô‹jQŠrµB^xÆ®¸íå(ºk&Äú=ˆK$Ü1MGšÜ& {!¹Ë×à*½(ÇÚf0]6§ÿªù€ð={VĈs{DL^éœÍL–e©;ÞvšÑì�ጿ{ï.xˤ£�š‹?C æ$2æÁ;2Ï+ÒŸÈêÃ)³ëê…µ*¥e}jײïióóßh›oõ×5ô‚ßK~Øç@Ñg®A²mh2ånh{«5~y$ºZÉíþúFŠÜý#û…Äš:‰ºµç†/¬–�É­ò¦„õ¡2чócð+‚’?CF†'ëgÁG[çå/dÿ[^­°øÎ 23ÑÑ[-ï%=ÌäË[¤[»ŠÝ°—–·o¿SŸ÷Ct<8½Ë j©ŠÎke ÊÙQ8‘T¬mìƒ/Å›Ëí®¡RI"é;Ϙ·¡]ÈüªÞ•/á[¿£U¸çö„‡BÇ+p¾!¥i¨9£ÀRr…Ýá)kÇ×Á-Q-š9˜=8îÒâ¶úˆHãûÕ,<äb8©.©Ý—öFñc’ãŒQ>`EêR; ö«Bêg1Ö|R}‚CŸÈe!V>šyÒR²�j}?š$.ÁÉaú‹œÎƒ)‡lg³‰rSy€@)É©ë öcøPì‹i„—Ã6a¶qÚKÖí¬BÊð�brr3w°¦ ÍfNO®;„*× cë�†ì´}È[E–€W -a„[�/襔èC€Ø{s¯0 ›ú+»‚¶$wì™G*Dx—,y¦Þ 0r¸bÏjÛ¨âé;ˆ�Ö%Æß6\ÑjæÀk›ÅÙì¿&“ExOý¹ßäprûVÚ(Wzö±K7ù½…oÃkKðÏÁ,1Ð#`!ŠÜÁ´Ÿ9^‚îGÃ§Ž¸”²©®ÚÏÙùË©I“òÄŽE›´BÃÝOËè2Z„¿¨a{©Ü–“±†pPï»]}pñÕƒq­;Le,ô qÆ�Bò®†æ6Y’ÌŽrc´ÂÔe»^d„YýÄiN�P"P<(—ˆ$r)ãÞÅ&[b2ÙGQ¸ÉÆi#LKÉ�­ý_øQá+:ãDZgu%öãÁy¹WKbÔûP(xÔäv?0Hü’½vË<í�QRaàçD…ð—¶@Ú®·ŸÝïgZ€Å$x©˜0Ym]ßÞ¸rjp,yY˜+y4*U’ÃÕ¼b�¨9Ic¬Â[R ]ÂBŠ&Ì'y5£èÄä©Ôö¤¢ÒC‹ `:†4)�º’dWP%¡ tæÒ¶Ìùš Ë«!VY‡ÔÁb¡¬Æãlòäž1Wh;nóMõ�EHJHN€€¥?fvûO)&ǸÓV@û3¼˜{¾òÔ„5Sö0—Û§UÜŽÆ$í×´B×Åä",«fœ…å#F¹-³†3äZ�М’eyôÜŒø¢üD4 –žän¹IúÉuÏ ~À7]H½0;Ò -àÄÉf…‰“1PS^9‚àYÌpOPÒPÅ u‰~ƒ0¢¯Hgà¶')‘^sI-ZwµI÷ñ~ª‰@B&ïãbUªë/Œø§ûݶXú¼þ©jqËK¢#!‰¦…Ä[‹“yL#BîP,$)šµ XãÝ[B�ÇdêEܯ.ƒ@ñP&ÊRšë�¨:z3’ ¼X�üK2g"?Õt¢M%m8^·ŒžØN¿ä*§ì‘æu'Y­z8¹/”ÏD‘P¯®"s]jª y˜;å‡r¯Ö� ÉsÔ>v¬TeF‰Î/*¥�|qJÜ #S-#S$œ\B;n/ÿ—&­a[%ôÿšu6¥Ú -¼F¹F9ëvIÕ<Ò>—†¤�­ý;�Wø.ãH(’Ë"9iÀ—Óú²*9Ððþ#ö®á;qižîqƒá¤ö{à‘ÐZE1Þ; fõºÝK2îôgâk H¬$5d-¡Ü×eh/N†#…“óf§îK¼‰˜„E�„jG®E‚‡iÛ¥?oòMCT "ÝîÑHP¸Ç³Ô#Vî´ÌòàÞ1Î-àäþò˜„í‘\0oÀˆÏCà M�iqBöAÙ»…$m�¬Ükuš?–+¦é…bœ´én{`t@�L”âØaØS¬Ü- n¤4À$Q}’ GEв¢@¼â‡PŨô­°¤/ôA¸IÜÊ\Œ~ÊlØfj�5oøw^j—r(óƒjá(Ô(’Ç>ö”'Ê4eCí~2ŸVeø»¢Ìzjš­Û½¥%v•üŒ‘ ¬GUçT.[œ$Ò¤ˆ… :99ñ0j*ÂúC{/Ò²j eÆpÓ bëR=º°èŽWLL‰ýŠ�0¹Q¤9¥®VðÕ6«ÊÂp U±$öȤ>ã\¤<‡2 gk Agq²5RHT#mz.I. ¸a&gB/2x¦±T°R -Û~9¹¨UBû¬…™Åt–’5iõꚈØ�›A!Ñ÷.?’Ûç (œ�⩦j\ä%§GT*ÈÞÕìé|>Ñ£F�ƒ˜Á(¦=Ì'©E�ö(ÝBeb,¼ -(tcG@‰Ü> MçÑJYä¨qÈÚ;‡x8Ť×fD5¥Á)ÖÖóì Mª™ˆe¦ç>«[Úna=�’Q™¦Eºü½ß“k¾4 ªÔ§/„3LÝÛŸ°V -ðÌBÑ�Å&»Q –w(—9-Y† áî!qk�!çç¶!ä/M‘Ñ@·3ëP£ÐùHùEÐl©90˜�GÚ…K:ëô²lÛ«ó4AÐ0ÌEÞ‰BðÂb–¡�;ÖBº¾ì€Zìw¦,¶òâ˜:dBɳ¦ÄG°´R ¹ßEßW³@ÒFOÔ ¬àPCÁ!^G•{ --.):úÞã(Ç(ò&Ø™º—ƒn‰-3X5ËòòÅ[]R¾yìI¡C°'•~ÊMÆÔƱTíü¨A�VD‘Ü÷ýVk°@rn~�XiŒš Ûú„Ds]‰_züçVí[ˆëùàqdêJ–Sœðf G*W’B¥ƒ|7ñs–MLUõ T:?$þ ½®{†Ìw ™ïÛ~£xçTÊð/©ºE©% ©—MKrÛ¹ú–‘³€b˜¸ {uiÓ\:$çår‹–N"ýÖBªV»²=Lj\ -O©j—ºß}O�1Â>­œm¤+J&Ùió’åU [IÉ;Jžúˆ|nÓE¼ë^Ì«‘ŽD+B² ¢ CR ë�«ž¼ ºŽ•�×i©ô"²˜ó0B�‘Ê[GÐÃÞ=¤KV x óðJéóü’äcè%0åa JÅI²S{Ê óI6 �'R¢bˆ’bmÙd7®Ç#YMUÍb‚8V¬r§Më¾qM<>¢Šh;Šx®°þ‰¸’!“3 “3õ\ïP†`–ž†};FFk粬§á€ÑÆ{Eà_ 8œË°Uq8†]v KKS*T]®¸“‡ 9‹QØt9J"s|uW ò+TÈ×u,é[]°z¬ΫŒzxMqIzI»„MP —øà#.%ke˵²0ª7´+‡äú›$p ÐÆèá+‚xvŸgâLq ÛÁ=Q“^B·zеÓrÃ8‘žhŠ‘üíBkX–£º˜è ¸’n-@Täc*Ýó¯W‰<,•�†Ô¢ò#¹xEd«tÏm {üéü-5�yt -Ý€‘)È‘pj”æNt1�q y ›£6G®CŸçu_�7--§^0"]]èõ §‚иV›‘AdÛáŠ`ìÕ»ÐÝ£ÕêšR¯* ,Qôeeýôû:¾Åa :1×(騤—Þ“zXuœªã"}ü›YÆ“�$bc�"öìÏŒÚFScÏŽËùHØB”, X¢.iËJ ®ó7VØìÚjfßqp¡˜þ -]kõ‡ý�$MÏè¶97±$Ñ¥ôˆ]-4E:Œ;,aS†.Ä’¦l¨»q¥+~ÀTÔîË+º•”4ÅÇ-‡[Èo.™wéüpÇè6}U� ºÃ#Ÿ[ñ’u+ç -ªÙZà ”÷× HXÉ a?ˆ=7ïëÍzÝÖGÔÜŒ†TËÅ,0 -š‹øŠ8A`žb0ð–G`K›ߤbÈSLï2€ó'8Í…§Äó|>ˆ—0* ¬Å:ÈŠïýÖħ#@!M‚‚È„ ¯PÃq¸ VyÏA�ÒÕtëÊ1Œ$D®ÒHÕåhûk©>(€Š1M„¸ä翚=ЖüÌ´yq‹e�;ej&Ù{â³Û¶*«¦r&r| H!okîîãíÏ)G=ýóÁ›ÕxX§G´h ÐÈÞ#¨¿Tf{ˆ¾^æ'Š3Ù”=’rØË‘vËì.Ñ�Ä«×BŽ蹎À}ú+våËžÊ=î(S¢­ç°(©Ä -Š^“8ØÅûZB -øR¬Ý‹üÂý†õ”'ÒØó�ò‘U¿/S¥tPB“� -P@k;„�$•"rj«è€žÿx�ý°Óhg4‰ŸðpzÀw�ƒãÚÇV50Cu'yYz¨>�YLoaKè P­�ìpoÁ´ç.EÕKØ{\ç$›9é¶·Q;<4!¾¨µ»^¸‡"y£ÅŸ¯ÝÙî‰h˜êIGõ)‘ |¬Ì*WP?$�9У³qQ�l7]HÃY\ƒÛí„€íJ¸v ðƒ£Zã�Ìcä@·árG˜šægd6 �$0æS;¹À JÉ—uv?E ÷tFi -D«z�Mד¨éKïvkYÒÅñ¬½áÁ®Í,.VÅ‘úžÛEw]YÑEãœjTGíƒp®4ÜZ>`3#Lf•ÄBh®¤‹ø,Æ{sl.ƒ£Ý·òšú†ú€a³@Õ!ÑM™¥í`ß5`°Àfá•J0ÊIl b¬/é}TXAÅÔýbÎ,D©¿Y’ÐoÌÖrl—„¥<@qÚ™AÂÄN¸ÐlÀhÙ§¿zœ+&‡BHÀ¢ÉÜþ]XdØmñ Þ˜Ü~~B–"7 ÈŒ3`E=y³ -‹ï$e$¼Pzê9šQýP¶.½*`ÁnhEXT2º@Ç�ÅçE¸‡cýAU»lÞ•`š§Å ±Š_ˆâZ�à™*7Õ׿1ð‘%¤©XÆ^“¢%-{þ—²ˆµ.•‘RbÞç�É J’‘”™òü26}|ÆVþ¿rÓ{úÝCû -E|›Év›4‰4tˆ²‘“ã L�¶tíä�$ÕÜB�^²œ ûÞ¦qdcµð;ã—Œõ¯†Eè\fh1Îa¦Mö¹«]£ÔNHJõâ¿ñC(+/�«¸yßéXZÝw•‚ìƒr¢ËGŒ5|…¤É¾\G‚ã ìé2ms �už ÉA}Ð.ØÚÏ®TOÞí!•_6JËx¾@e"U[´jlµò+½0‡‘`åž5«ñ˜‰®xÌ%•_k0þŠD쥇JI�6\î;|GŒ-h �!cà÷Y‰ñ"G3w�þ»ªž/¥_Éd±!”Ì}ó¨oøËbB¹{ l쓜zÖ¥ÙɃ¯LÀ ¼Â¢a¦�¡}Á®kÉh®¸™šå  - ÈîvʦŠs ÊSþ›Û«oc#&ÉˆÏ - öÀ-xE/)F „Wð¦–�Èž{%�ð*Á�D2zh,|yý -/P´ç¨+Hx!v`ó^cAЀ[0 ®§2g ˆEû)Îflt§rÎà* ç)?ЊñŠ7ØXoÀ „' 0aýÜãk›’Õð6<Ž-:AGñv^a.ÌÇ!ôžÿdãABvû19ccÖ†ÝxDVÕíÐ{÷!Ù_ögù˜r'ðPbÛÒžKè>¾ îÆ )©;~«ô!Ȇ£çë °"³ão˜×Çàš[<ïú$K�:Ù4FË’›„Žƒhƒú. ½~I¼ ñf‡ãW‚9Ïñ|@L‹`3R¤Ó~‡l�J/êq¾ìZ|^@¾ -{]Ú7 Ñ@öxÏ .£ L‘Ør_­§ªšQ¢#%ÙÍ;ûvy#•~?åÄ_ÙËpG²Eâƒæ„OMž˜«TÅu°‰zYëïy&«½îûsÕX]%}N•WÞ¿��´uÛ§b›Jr@<ÈÙ–`'±tË[ä5̱�—JtÔR§Pl¥4áî¥ÙÈH„Á¦tÉ«�3v�iìä�Û~K2§-[“a#²Þž£ñz-Áƒ–îw¥¬ž’%S4ôe)µ -ÆVÛ€¾ä"qÚpq^Eh‘)5~*[¤(Øth±zmBÁj"Í -I å|͆ƒIãÐm5Þj$›¸ª=]‘I©3¡&]QmrU¹=˲ -¦[B0ð qÕ’¾Úî둱½êš°�¨kŽÛD9/–H›; å�€ëŽó² -ä„® ¨Ü««B[ 9½,A°{51’®@ÎPb­Ýçi‰ï/ -Øh_šQ ˸¹ÈÙx4ú,l—²,Ëy]*-Êò)jm5jO8î2cüxz`uJh|Û5ǶT·~l^`ºÚ�Šù›äìHbÁr}oÓÈîæQ<Æg+H�@¦�¾Øsš÷‰JN2x“ ~˜”gº, ¬ -ï‚™�GÙ7©Ã†—޼³÷eB#ç6^oƼKºN˜·•0^˜Cˆ5¿¬  "pÕ —v3Ę~S:ê¶™8Ø[ x©/ƒ|!¡¬"ùW¤ ßOm3.±d©þ‰± c—pÐÒ¬IÖz¡¢ ]Q‘ê¶ö×;ãÀÜ&ÉL�¯räH–fTªR‚²÷~‹¦á´;Ǹ¶¸]zk=�eÀN„“ƒ.Ûô¸YÂ�ƒùô=Ñøñ‘ÍìE& Ò0d!dO5ç'A}q¯›½$Œ×ÉÞsktô'¦NôJ�…1#~6§&øý>5R3 ˆE‘„Q ±D„¦[I³Ía(³úSY%ui^Õ(ê�ç ü4D Ë!€a!¤æº¨§(A³$ -žæjIz®&=—tÀ”B@Aj]–3OJ �€l4܃3DU>ÙNÑ·\ŸàìÞ5(·‰ò8ñ�‡¹Ä;„î«9üˆÑ‰uÍŠrâpSI&Ù1FüÕ ¿#©ÙÃAî–hB¥ÎÉ3j枉8¦Ù -‡)Øí)î£B¨U" >Å[RdÞUÂ?€UTΈʄ8åàÐp/nþJj+_åþ8´8�Tûaý€i5ÃsMÓûs>),ÒCfx]ÓñÙ•ÔQ·çÊž-©¬}ë$“ÏŽÌ5ÐTÒuvw�"ec%‡UlLIYᤅÂIéyvžÑ$Jâœë¾ï“¿2¾`…þ¢´HºÄïÜ!þÌ ->JDgZ Và®îE_rë+ºCz—æ­Šu#bC@¸È¹:@]ŒÍ p·ßq‰šÐ~Pù†®äk—­Á|¾díÉ<æ -\Á@Wp_š´g‡õ(¬?°çj! g ýR‰l2"†?݉ëŒKWcÆ9>”}e¡~c@HP!°žH†í–ùq%|×í»s‘sXŠD¬zÓÍ ¸í€•yJ¤f8pÞa1¸š²}77W†y’Ô½^5‰k}U|Ž�Û%Ë\‘%¹Áó"óNd/¸Ëùrª÷C!7sû—Ë:úÅUN¹‹!@³â³š÷¡Tó“Ú,…>£Î„4-°p·J0^�h}ÕF”ó³(Ð5eF¸nÕ¼-G­›^ b™‘¯®É±„†i p°0˜ -µÁSŒwvQY¹j eï,BØÁ"A)#�uÉßʽ¤�Ó%ƒ#YêP&BŒÓ…Ž ËW>N@µ©%OìóI »©1ÉH7L=Á?õËÜÄtÏH˜)‡)� ‰4¡væcråàoZ0¥”²pôÒçIbô¶>±ôÓûÑJ”¥UŠG¶1"~=—÷ÃZwqϼr‡Æþ4ß4ÃS½|Æ�ˆäà¨`pˆ»ÒK°~IÈí}]-áàøGYDþS(]Z/ƒ­D",~âýü>{¼šãú~í;€Í‚Êì =Ô{íÊmîÇvò ŽŸÜ¶ÜT›Ÿ¨Vµ+Ó[ÉbAªœS@ -ƒáä\^¯€×v9w$š4$P‚K(¨¦ÐN'gµ»e)â^gKØç-+ö<Å + 9-`0í+^P>éò•½EÐ@Ê�Œ(A‘äW>c\§Í‘ÜÁ êÛø%q�7k3d[È6gD\‘ý–±ß�$� -TàLq�?DŠåGà¥Ü¯mQÌG�­ÝKú.¼˜r »ÂN’ -~ �‡Võà3¾ª½Á‚kýü/ÍP¯1±ƒ2-þùpPÁgM�Pè+Äüî�ÃîA&M7óI¯B$Ç4VBK�.(Á¨…;�Rø=v„°v÷S¥®ñ©Gz£|? +â¶’@J1Uže4#ÞЛdîbè-Nõ`f«�xP c„ÃÊÐ)ªL·5D.âB””WŸ>—=×E�‡vY·k/‚$eØ øJe­F¼§èöPˆMîîžß‘Fóš/óE6¢‚®À/##q^±î'Œ™æ«ÞrÀ\2›Fc_ä|Ç!QȰ¡3YªÃP1õš±ƒïvŸßsäSh ¤Ì޵žL7íWBšh÷s‡ÔÑõ4óò‚Þñ´.—µ;dÿ9üçz‰!‰„„’4‰¬Ù²ÉQ¾uB¦ ‚ÏÖÝw­ãkí)oHT4×8£ß=ªèdôà#E�JË 0ó£1pcp¿�4Ï [­;ºC«uYÄ«ÿ0¼EB£äŽ ·w�Y|©qls'÷lѵÖ!_Ƚ´Sü°ÈË‘Ú׋Bås„%ŠM{¤„Mf]ògÀó%²‚yÖ€Õ7ÃêegàO`�r�l64¢^fÃ%ì0}¼å 8‚žsa‡`ÐÎE½H “fÉ^GùŽ,`TÀÂä Ôa›SœáäÄK/Å'z'‹Í’oGÄv™:Û¶ Ú\«LÓ@§` ‡ #ÛÅ» -*¤ÈºÛîYRûhI\V7P}›:‡œû_Ew�óCš©-4¦í«o±åq†Ò–­�p7¯r}¬Ã)9�KÒ*ûy‘rªÅïÃ^ùÑî¶01%IJÚ(ö©w® ø­h×0ä -îúvü–—û¹-çÄW Þ-£~îaˆ$U[·Nl~‡HYˆ�àÓ»*ÑöÊ<Cg7x Xuw½{hri“ œêh“÷/’­Eó£É줸¬?ʰ‚ÑÃÎŒÛVkKÝ7o�¾­gÃD�.aŸy’‹ŠÒ7—…«ç»ýZ©”`ŸžÖe¤¢“–<âÆ’ -ŠzÝþ+)nRf¾½=´2ÔÞkŠ“A‡KÄà%�@oå,Wó5¾Lá� È:ëéfÁŠ=-ÿXòÞ›¼$ÞNQ³`±Š�?uuë’™Ç_Ž_H5JkG†C’­·,4Ûc‡ë‰yUL™ÂO~:p/×@ùzFšÐ}îU]BÚÊeüõ¾AœtëYÛ�bBsmVU²=Ë£oü¹‡I™ù,¥4?�S#‘zÃÔW¼?Û{½;€Æº2;Xl#'Ú8ˆz­ cbž.'}}Z]¦!æ ™²]ò²ü8SÉ©©‡‰8ùY£x.ÿlôV`-™˜M�D¢(õ‹ˆW�0/ˆâ$‹ÚÉF(û6Ì+ŸR·ì¯Ã¼s¦Á•“Æïœ72‚ÝãàÏB�)…+zª¸ùõvÎðrÒ'‡•- -)AÒøñ.Uv4Ã; +µIëò+@¹Âö“1–Š�ó±N|�ä²q‘©»Š¢Í5 ÈI@¾de]óZ®y]VnWI§ƒ ˆ½'ë®È ž¾Ù}ß[Ãægª¾fDZž¢áã)VÄ‹)L¸•·�ØWÚ\ -67…-Á:Á:iã,2לS›*#ÁV= -<Èl(¾Ãýi; å¶è1÷ëýú^v…%§Ç#.âv&ÉÖçVœ�°ê7¯�¡˜÷”ù%9çe² ×Ê�ËXõ}‹¦è+†û߀eîóP‚ž€ŒiVv€o^<ÉñÛÕÑñŠ1C'¦ÊM½ä²:öûY´T‚SèŒãþº¬äKL`Ò¬Õ6}eâœ&Èš†)WÔè†uv,¥½ícýI‘>Žƒøef%iìä9Ëä‘LÆ^òûi­ 1ûá�¶ˆ¢¥kû0â—üéì1® ƒÈ/iɾ­æ#B…ˆl·Y[JxðÉê8è¥}jÍfGߦïIæ^5¶‘2/`:JòåÇ^%y�²Y1„ŽâÓ#PwþÆß'#Y`F”®ö+³‚¨¡u©7îW^S�Ùdï쀼ZU£†ªÆíWÏð7¸[9Ð WÓC¸16RV¿Ã -Î@¢V„óiÁU—až<ŽFØ£3A"H C§´â¸;ÑCÑ#ö :ˆ1³C›Y^Î×Â|Ö¤(ѬUÜÑå%É�Ö+6<,0Âpsî¢+’V–1šð®XhŸ;ôH({ ÊT•;­Ëfê$[P�¸ÂÜi/ÀŠ·ùº]€&Í$U¬ê¶×®ÛªäKÏ7ZÞ¼�="/ΧƒJ×+�Ø]Q•R^ÈT‚bAÙ¥GÑèu0ŒN»ôÌ õ^Q^<ÿ`ˆÚÞ~6µø'ÍbòÎ`ƒøÉ$™&Vâ°ðÌu¹¤þ·Gå¿§Æ+ÀhÓôEuýµÐj³ÔŽÍ„˜êlÎ$µÈfPž^!V†‹P9d)~‡[L‰øq±ÏOºå¥Ëø}…ìí¥'ï‡i ÍÚ˜÷L†'„°¬á@ÍdÓ­ü×F[2þx:P}@`–%—Òsrûûñ¡R ²òÄBú0F8f?’–�n+Yº‡™î†H˜èQÔº†µÈbÁݦ` �¾•ÀEºâ†þ¤ömwPǵ—⢋%¡åq' ‘À9ª¾tîJb&å‰)×Ôž£YØ‘_èÒ  4­Û4$IžAš_Í7VNÁ|¹{ÒÊád3¦ºÇþÖÖé�}º®‡Z€¥mlFÎŒïëCÞMfÊLe‚û"õ_ßìÂh.¶ñU+î—¶‰XâGS¤5 f4U5¯/Æ1ù§±ƒp‡R§é±˜Ü–Å�SÂïX‚’ŠJ`SA{(ã-PÝôq¾5!é›ÝÊaís°8 -hÈrIsàô¸åpô•p° v™Mjg2÷“ú\4ö—ôÑŠ^ÐKÆÑ9ˆ½‘Èt±;C’¥óž-û ª}`ßÄÂ�=‡5ƒ×©bqàŽmÚˆòI€Ékd;†7yìcø(Ð,�Qmxñ¼Ç,%÷`&.'ˆvœë¢>ûßý%<�ò[ ÂÄe¿�âO„…²ÍÔMÙ#%¥‚:ÙgÀ“¬ øì�rá3Ü =¹‘;yr8!�•|C�æ~£î‰Ôša1;¤b—Á 8®ññß©y8VÀêŠ)©ç)fÓu�‡’°ÛŽP+Šü ¿6•iñò»Ø?&Æ€†˜©¾6aÍVp�…jšØÃVp,š–ZIðÔÔ^JH!ò³—ç"j NoDM`U[´”ž“±æÊ¿�"V1¡1ËLønMÀ¹cI(¬X� Ýt�Ö¦¡R�äÉ”ôy7°¯¹(¨…Ç-6n í‰Qì~A]BÊ0å)Ž}q�(ííÂ"bRÄ ¢©­hd¢bt‰db¬MOö âöÔО­«:d>Ë0ªÝ°ïýV ÓM„ÝïÕõ,žìœ/Z¯”ê3�Éí^ö= .Êí?Áçé�~ÔËÀ6Š£¦'²ñý@Hê¥O_�/uÎF’ØÒ`l‰®š×^úœêê%¨o84ˆ\†ê4H¥‰e÷-<”Ø…¤˜nG P¿¿¤Á‹œµª!³¤±†|)oýÛ§R¡KÊ Uckuò•ÚñØbõÒAéí@–­ ¹šÔ[Rí2á\Ê(qÀYÛ¬ùô'Ÿç®?ÂÓˆû´oƒOÎPfáQä9¡Y¥‡#é„ –Jš=h ’Ø%;�ÄîžÙ1SÓ 6Ó(c/Ÿ»«n»vþ3¬+ñìLvd8fêàM5øâq‹ÀɨÇ‘[$Åù&ßX�ˆVp÷Öæ -�ÿãáÇÁ!ÿOä†Ìý.ùÃàuP"˜ÒÝkªÿÂu)²>ëLþ{i4'¶a"BÙp –Æõ±D°IH…òÆýæoßB´Ò³\Þ ·Zž8¤ÉœƒÙh5B%P) -$,D3C­TçT�#F“Ú ��ß:“°l⯌¤Y ):ÄAâ„¡Ú°âþWÅä¾›Ëß?¥J:oûíûïSº0ÀàŸ"ê²�Ý!°!à@›€!@í×R‹ìðç VÚ~à -…å¡7ä04OU‚ÍøˆXó :’-2· -i _Pi¡¥—µ3Tݨ¤Æp µûg!â! Ê2óƒí—#8Þ|‘t¬5ƒ}v{Ç<%n -±÷|àO]²íú÷”,Ùf©’£dŸ -¨Y”´ÿÝQà“ùóÇ…€ªdA‰˜T&ˆLÔ{ûAÙI* æaJâš]* "ñ¦í å!J‚èÐÓðrC»6¨¾Ã%�²H*Æ7„ŸR jQW(ÒYìn7y ˜ -/ï¼ E+ÚÞ‡¸“9'™>�$ðЫB/\¯ Hî•¢"ØRv®Ÿp©±¯š-¤GÖìoXë�héö >]€iu Çí¾j²=(7µÔ5B«_2Çú¢-½e�{³¬qSó]ÂôEÑi‡”²@,õ o/*@â÷©| r èméKÏHÕ~‘žšdj®Åv†ø_búB#x¥x¹…—ò$—HbQúXšïàd 4;-ÿl-x>¥ÜúEhJûìbÒ D1àêŠÞ„‹D4ëÒ‹Åaá«ÙñUlÕÂN/ŸØ�îfçe|ÿÅŒ8ÇEÚì#(:Dq”F/ ß‘Y6�å4U²òˆT áØ€ÙòqTY î�‡¹LÐô™øåB'kÀ½ú¹,ÀŸ2×Àj¬DG“a肈ڧU§D`†JDšª½´Y¹!›Ò„ZD·ù -Þï3æmùÒ~ ®¬’˾\!Ž9ª!¬n�}€uÈ@=ˆªŽ=gìrpͱ±_·�Y—1À1ظÛ?{�åºõ;F±öP -`뽎k�,?UÑêr–ž‹f”qónÂý®£ÓÕoÌý6�®o�ÇA“À÷¦×|Õ˜•kî* +wÛýäÍ �ñA8à@³N銺k¹•c ˜,Å"tP¢YMž“CÅYʬ‚n@y¿u Åhç¿ÛG]ž1àJÎû`gC!ÓÖ½þŠŽw” -•k&ÆK·•[šÂSîyöNdÚÒÊœ­ßéí3¢ˆßa¾øÇÚÎ\±1øx1 ©jÜ�y¤ù÷Zö:@-KÁJÖ’TpÙió -ç^â×)®·T* 8×°c® ÀЯpýæÃ]ëŤ÷|>x³1YdÜ/ý럗yTO�ÈžåA½} -qöVåÒm¹¥B‚Û#›¦¦Ë•FHO X7LïHw!ça{9°x`J—NÐ�a‡) i(0uàfnb'ŠThZ¸1œ±ÔÅE¥¡”è]R(vGåw†¤8Ö°/ñ§¼%Q­8ã–ª¼ln -yÓ¥QóÎŒb$p¾¼{ÄFüIo5D”Û›Ú›/QÄôýž�"ª£èM÷ -”;Ô)î4-¼…U_¡ìïG+õÝM…៚ä*Äðš¨ô'ª�ø”ïG I_ <ææë‰1Š<ᦔC£²¬õsÛ%k¯VXý¾Éç[ÔáP‹b™¨þ1鑹Û¬7e}sXlx“‰ï$¦ - b^LìÒ{'SÄN¬ß,¦jFÍàIîu�t‚#VltŠld²RËàïi±[{Âs`�çX/MV¡×¬   ¢¥YáÕ” Áìe•(,žÅY �1  -ó:r�B±¢«°æû_æ{·Ï™Ô;áÊý²ÉŒ5x!·ðz!†Íö§=—r“9#: Ûű¦UÆ…T•iýd–³4wí!æÙÐwìØazýx ¦d»¬<fœ¤Õ[½k9¹­6C$¸…�KCÇ â8Ðn˜Ñq�¤:ÿ–@BŒMÂ7â3ÕÕËFÕ.ut.h v!PþAy4ûY…  éÛļ‘ŠÜ'÷pý…Ô(ï”;Ÿ‚<Ìx%V¼{:˜Wøº·tØÏZL¹½�ó”$‚»þ -][02ayI·¹F€Œ�b^¿§¶.;–5Þî¶B)lî~«œýqGñíŸp·"}‹?Å@?3Nyûó¿üñÇzû³¿øë¿ùåþðÃïûý_ÿó÷ÿþ—¿þí÷ßþø»ÿöý�ÿøý_ýê×øŸ~ÿã¿üî'ã=oöïÞþî?ÿÿ™‘~üý÷ßýð�ø~ÿÀÿøûû:Þþü¯û‡¯ôý›ßÿðÿüú‡ýþoü×v×"Åq0ýˆï™ýÏÿö‡_~ígþã¯ÿé‡ïÿó¯õ‡ÿšøSù£?úwÿó¿þ/ÿ5Nîç¯ä?þø»òó}ÿ‡_ÿ†[úëþùûÿõ‡ÿöÿñ²¿ýñŸâ²ûÏuåÿýòÿÚ§¬çõÝ�ÿðnøëg/’³ù›~ÿ?üö¯þí_ýâ¿û‹¿nßÿÕoÌ¿ÿþþ?üøÛ¿ÙïÜök÷Í7nþËþ˾ïüâ?üŽ#·�üåïÿåŸÿkŽógÿûoûËßüð«·õï~q½ýÅþ¿¿û×_HÅå_^ÿ¯¼ÔU®·ÿeÿÇÿ½›þõ­¿ýû·ÿãÿ¼Þ~Å_ýí/¾ÙqX‘ý"ø¿x´¿ÙÍðqxIÞ5÷¡ŠùÞ‡~÷a�Ÿi>ƒüöuŽÿÛ/Ø¡.r 7î®°A. kTÀX÷%ûp‘@v°~5ô°ñ7£T¢d”l‡($b‰ñ(A‹ø„‘÷â4jx×aÏk÷ËD>j¹çòñöP3yê·hDÅW� 7‚etc¡<÷m €O�›;—�÷/~î»_ü£4—QÚ—7ï8ò[¥º™‚ï›Ñ*ŠŸdyr#ñƒwËó k8â ~ -ÑÈÅWGœêÆÑJ?õ”ç5H¡8ƒûÊ‹~pRò�³�1&:zç><0ŒãžÕ=nŽß¯ÑDª2ú•úúó[¾Ãº-@Åâ”Öi$A×7|ÿäP¦%šGyúý\?ƒx]ÿ‡'ð­�Ôo(O6)e\Ë�†¢Ænž~¾4®|^¨9½Åù×ó´ütÈø-ê(%âÿþ­ÖÏëXíÒ�;ôG÷<÷«ñ*ÑHàùm°Öé=;±ŸÇD<ü«¿Ÿ'†nž¯ªÔ-N BJ4"¹Mè¦Fãþ4¢ñòÍ*V‚ü6ÿ�7Oß¡êý&U$Þ¾úûÿæÓ�óÕ,¡º|>‚ZFï>ãiôx›Uóºÿè#R}ÃøäFN˜€_V|”ƒW4žÉA6Ž4v‚ðèÙ{Ü -ïÔsÂ`ËŸƒÞÙÀH4ÞùI¿ûÒiΩ…|D¶å46p€úêä­”—z¾$C²hVQÕÍå‰[É;ãÙ=Å_�óŽ!¤6�èĺ±(ÈûêÏÅ\´¬åËò@'ÿM4—+_m°toÑ�ØÏŽù+‘ ô³{òɃ6_n´Í¢ï…½Œ«'(ƒÛò�¸ÔˆæxœÕO;ûæGðð8¾z ¯·ÕAb5_ž‰n¤[÷b«ÅpîÃÍóÉǯš�sBþ8l>Ré¦Äy€;‹[Ù-ïàæî �FRñ˜Z¶�Ïh=%¦“Ÿ4ߨAåß×�ã5èOOÀgÖdÑä×=çæ…×Í=Þx¥ª²1_mÄJOãŒo f�ššoŸÔÓ÷^çÇê»ÞŸAžÚ+løRî85ø5W¼U‡N�SïÏð·l¼ây@ÖøÜØb…ýÊÏÅw ¿ÁDÑúo²d4/Ï�4®ò•Æ:²ñ‰×˜#05Wˆ}ѸòÇôÍ|õ ⽚* ÆKOJÒ§6‘ll1òB‹Ø�ð²õhñÑðÕµx¯¦j¹üŸ¨‹q÷Ÿ®2ŸOàõ�É^Õ³#«b~a¯©qÄ'SO ƒeB6ž¹™I4§ÖZû™Û¯œÛ¡öf×'ýðë¯öá‚ó•fO¢Çxûû¼çkÆëSΟAÆ€gÎTwË€³Ãžkpæï¢ùž%†¹qñ‰ÆšŸ‚Fo_7ï…’°õ]ïßDsÆLn·/mŠ3¹ñ}¹q´3òÈÕŽæúŒsj§o=óèýj,5çaO™ñċ1nky=?ƒ›µü«—�×vƒˆ[ï~î7Ù|½«¦»FñöÉ%BÛ�h\y¤Kûm LB4×™}ë 9qˆ‰F©ÑØÊàÉÅH6{\«(žøM4—«ÄfCqa4¶ôºAÑ“TÁ|3i®a¤}{,ˆ{z³õù ÞÇ�ùs -®s¢Ñ.ðDwÑV×ûˆíg¦Šhn¹É¤@—}#r-皟‹W^q‡Ñ’�3AQ¾z¯o@Á¦WÆgõó Ü$2ÝÌfì»hÎuŸOû¼˜óÊü�†øê¸ñƒ‹RM¿w½ãÅDÞîìSo6�ßeóÕ×»GCÄØ4:,ú3Øûœ³>;m'Qɧ°b!¨>^¡y=\­å¼Ï”ì{‹ºIÞÆœsñ�Ù·E`ô@*‰QŸ–�Ñ‚3etïOÀNÕ<…&ñCãôœ³ŸjñM䕌;+M—̼ô;¯y•w�9Àu�GCÅN×%tR�!2¶Ã±÷:»ŽxAïûÝ% Êo—æóÚ£}•]ŠÒñÅL·ø©'V3@nÏZùŽûõ¸Áä¹z™ÝMù)ä;‹ââ³N”vßq]¯aûÙëû•ÔhFhDÇó-�l9Ãöu¾¥¼?3èu®eÒ‘¿ï+›‡“Ž»ñ•˜×†"z>3W#äNr€Wª.7¤÷k³DyÜÉ%€k×YúJ~ w¬ƒq²ûvÍ­ä„üÏæwÐ)ⳋq)”“,ñ�ÈúµÌ´ø@îzg\°—$ÁóÔZl=PÖ|²ˆpWY¸¹Íü2z ËÜÏ^}¡¤“q5ø8°–Í+Cd'úÖVNpæ„ÓB‚îΤLÉW  Ñ²™²½뙬3QŒÖâ™$ÐË;da¼KF’«œ˜Õ.›Ç E -?qç×ÃÑ^3è‰ü#”|j«:¹°Êå�oãïË:óñ¼ˆBÖY3C§Æ+׆kÅ ½�ç=oiÉï¢ù5‹æfͪ¸¿ÍH 7–žÊc:†È/b¯5ÿü|é™fB?y� °æìÁŸŸŠÔã™�®#72ù™Iùµ›Ëéœ`¿ó)Ì'û^×}D¯B‚ö朆E @B²Çí"�û]´„ÊÝ:¯uÆÍ #v”nmœU$Þ‚zöñLl’^Ygrðž'Öβ•“3?ÖòI>‘ê[2ëÎ;fG© Ž÷q”€#^|þÝS…sÙ~ýÐܼ/#:~òÄÊ À Šb^x²b¿r�x¹ò3{äÊOcÍê lªèy�/WSànÄŸpd°:žÌéìæ~’ÕóöÙ “2ÚÍ×cB¤;{�;#è 7þ¬Z{ìÆ~ÂêI|çÆvåK×sVãïÏ$she§ë*%ÿþUIÂÖ9X'§(í¼´rŸ�Ô'…­B¾F3çu(ž«Ÿh×S8Ò°gZV’6ÏÎzõ 0î|3´Çrc/÷ùlÎøˆ¾û:r€¾Î͹�˜{J™Wj&2ÌWÄ ¹ŠMa)OzçÜXæÁ³òÆ~Í­^¹gec�ÍW©'NŠlœ»‡¸Š�KÈ3óÛˆe*'gÃ#Óê7ÎáöŸD«™8¿¢´°÷ŸtdHÏôáº|ÇÌ&ãnnõÌh¬@ßEs971hëÇÄÞ‰Q’ —Ow¼>…ìVîWÎãΕ4ŠO#Ó�(�לÓA”Ð6Oާ›±E#~gÏ{�‰¯Ý,Õ]7Ç:ºcæŸ=Xïõ“ö»2¬ÍXs€Ò²‚,nìs>Yï FÝÚj®)qµÅÄ�ëâI4DF&Fy—Jx"Áõ•Lº3þ—!áú±Zã.bêá ŸŸ÷ú:?Δ·Îì6Oß -â‰�uäô¬w+¸Zήµ:Á êÿ™Æ¢L½gäh#>Ôs鯑é¹f×yº>^£ôºr�¾²xÅßÏ×»Úò·®ØxVOŽZîÿÌ\KÀ{žÝ–¤›ÜØOä,HÂ7?ŸãÛÎbà9BgÉ3È˦<÷jó¤MúkÎíK}ã$ê=ÏrúDÛ8�‚×~“ÔêÉ&Ÿt½,šòªbÕQÑâäžw¥ˆ¼®w·{œ�e;Ñ8ÎFeå~ötLšÝÛÜoTÂy}F:7θWXúÖ€Å&Ó|™¿ïí]RŸ„6"’쨈ÚO‘û>wëªù÷'™1f?�ýLW-÷ý}¨t�rÇ�)«a•“WàØgNceì°›ËsÖ�‰^× (žl|³î~jc×»üW®¡ÂvÂgÔp¼9 }Ê®âò!�]Ýíø …“>OÞ"À7|I¹—PÎô5ÀkÛà³Ý�ý¼\ŠM£ñ¤”fæÊäÄs®‰½¬Á½À]ò³sãuÖ½k<§1î7€çò:¯z¾Å,v ør6rµsãZï7ýYÞÆå!ZGËR¸ü8"N¤ÅŸŸ·Kâ2§œ'KT–!óŒ)†QÏe­g¼Îൟ:�boöíÓQ�ÈûAK)›O,RJ4ž|�Ò -õm.M9€f÷Ÿf"=dº°µÀ ‡–ûe™2åYùç!xM ïútc¢9Žü¤¸ÕN"7@ø¨”_Ô~…÷ÊÊM­ù0õœŒw|í}z¿e}Wbïƒè@YÊx`-vÅÈ8ž;ÓO}7_'…ÖÇÓ­ó=—{fãxE²W&ñèÛrS§ ÛwÑü -y¤h•ͯÌR¯¾ÏAUޏeý\]õÆ&z¶8½b&˜Ô± Âé7„Yç*Ù×!6º©wNÖ¯’@‹mÌ«ùsãžþSôÍH´::qc‹ÄR-˪ù�Ã|È+åÀi×È«'öoQÛ“ðQ® 1åû¤c"“�͉ÛÛ,ÙØNÎà•ŸhõDˆ¯òE{¿àäô&ë´õ,¾@Á9ù«ë䔤¬sŠ%‘©§q�bCɦgæ<9Ï#Ï7wO¥ædØV�àpÏO¶w›mšÏœTJ\ûê“E^®�+{•`žÜ  p°Ï@Þ€+€ ’�Ìiº05ú¯¯ƒNbæ Ñå¶/¿Ç”Žúø‰£NxÓ®w ¼ÌbTD¹ê­¡œóÊ™ÿ�“ˆQ�ý»h^�+š‡�'Ö¯uƒ*�ˆ¼Q+÷Éè”ì+fT4ži¾G‚ªÞï�ÂÒz€uà¯$:=÷85a§ãdJË)ôU9ý–w70á¬ýä/s>” Iμ-P)UzfÙxfŒúB6“¯ÝØÏÌY¡¹qœUUŽƒ~ìitÖÈäUä¦r•­Oá�q¶ÉÏ>óõ%¦óŠ×LrÖëÝç€Aq¶æâI½7ˆ!;ô~S‹�ì»±EÝv?3{£ï|Õ•oŽ«jžpr¤R|çB•`†=«o{Î ÀµÎY.€–�ÏÅóüÊu -¹ÙRN4Ì�={¯öaU¤8v¦ÔÜ'мrª<Ì÷5Ï|ñwc?EÓW­¾0 |ìBé»ê™¨çiÅRæ!‰=È\Ëý:¯22í ™'Nö¤HŠÓ1´ÍW$�1„Â"CºÇb¡ÛXã¼ÚóõG¯KÍSkÂëuÉ•I`Â$E´z¦êQ_\‰~%�é>L™Ìò²>ÞØ;çCeòí-·3íüý E=£ö^¤¿ßç;Üf–¨¨ŒÕC˨4d0ÿ®F|´=ϼ®õTÂO}üb”ÑóÐôt}9ÁÔ™+ºŠÌjygã|sí…&�®ª¸™=©Ol�ìpu9Ç}º„(gÃÌ5V׿�¿WÝRÍš+rØ,›£²Ùú«ùEœHnÔ2È7îMLÿ0ÜóçÚ¡¡bpå49"íMßÈjU«ˆÅ¨+Ñô{]¯™~æKw˜8÷©&¼¶æHP�|äõ0fšŽ¢X54#«ÕÎå^Ù˜•„çk€•·¦\w®××áKdäÅÊ\s:Pê&×Û‘:â%ì9ä•DzF}º¾Ûƒ(8Èˤ”B޼®D�üúTÍ—¦©¶^Q Ö�ÐíN¾£nQp®V=‘ºqñ[«eì˜!Zužéµ/œ:w&w Y½í÷ËO’ÅêòÂ"&ÛÊmŒlÏž_i‰\0á~Ô‰8—ÿj=‰s)ƾÂýŸaØeœX°Œ½EÏw¦´’{«ëÜÄW]Oû›¤ãø]캲ù޹§‚fÞÛ(ìàXˆC�æUÎ;>r‡öšÖV>Èþ“Ï¿½(‡Ê"Þh|rb}%ìÅõÕ®ôr€’;†Œý¤.’ÌÈ^U¹"Õ3ê»38\@1›¾‹ævå|)hmŽ{æµËPgzž¡ßïÆmgïX#¦¬ý�•ê‰hŒÒH…I4ÎO¼#4ö“´¬YÎæ¬ÎÔþÊÞð÷ýü}da¼|¸¨~�šÍ%÷GWð¢Þõ­Nö¸ñ>£–û<ÜWâµÄZíFëø�{%’�gfXþ}íëýWêÆ\0"k•�çµo–“ª˜ý|�õ•¿H.Ò¼ -Ò/¶t¯Ö“•e¤kï•iÍÆÚò•«'‡….í™ÃßíðæIðÖñcˆk��ÉåDKö|å€2ü¬_ÚWz}îóú»W¯<“u÷³aŽEÎ|~¼oëäá«‘ˆ™ÏJ\Ru†"Ól/ý~aNžî5Åçë{Ÿra,ß÷ᆯÓì¨äæJ­sˆÆ–Ag9e12…Ï XjXŸw\wD„¢q=™¥Ù»Þû ðâo=±‡E“ôNXü‹§zæ2÷ª-V·/Êsödi{¦Eë“7[Ñ“ÕNÄïz)™ƒMQ9¢ízÇܺ϶’Ôì:4Ê#ÞAÂuÔ\ã"5{6–WPÄÑo�ëýÇ’ãÞwÒëæ«ÆQ`¼8FüF)ë× ÝFÉœ÷ @,þ“q®ÆGøç"cGÎ{&y5³pä÷σ|�Ù·w72«×þûy²]/}®þâhWÛ¦|óÇ„(dðæ.ñý3E[î‘$¥zºÉrždê»vÍsûlÿþ_â!h¯‘IÚK3êOnTûë~¯„.‡å ùþú\ ÷ýª¸Åó.k)ya7öÀºò�=°¯ÎÚ~ÇÏ»ÜI–¼Õ÷¨gÝ-H¤Uü”×;ìP£ï«Œ�¿ð›{ö“ã}aŠðRNJ't«õèH)äÆvªqת/ÔwðJ´ÍªR=ø<+Á5ˆ±¸²QÈ7“*ÝëBj/ ®jk;>-KpØèê -O`$:' Œ…¬iC|´àFÔW:m U)ûý=–†âÖ©2�Aè@Ø?(Uc„- &"®6TqWCµ‡UªÜûªlÔ3Q+{q¯¸"Õ*ÉPqàjcS‘5©F×@Lt×·ßÁÙâbôJ -›Ô”ýB¨N[S•Å‚¦Ä`>@Õ¨¯'ReçKø©Ë_*=ѪQ™¡Q¿JrJ/ÆgÔU~ŒÄj'Reõe#Q®º™0ÒFýâYjäÍ"À·‰‘rÏ­²WU¡hµF¿‘5S”ÕÎ\|Hßz*ö`bÜ?ƒÇT`FÐ,ºMU,ÊD½_FÖ@¨Ÿ¤+*Œ„Ôu)±QW6" ÀQU^<«®£š¨Ÿ@Ý,€èU_À†ª�¾p¥ÓôÔ5�ŒÅr:R%ÙV=­©èfV9º¡‚“Tšº½„f}Ñyk¢+V{2�¦PëÈD\ó8åGüºž¥ÃûB7«šÕ6ÁP€FQKŠúÉD,_hHðÃQdú"þ5®”žÊI -b E¬æÕ®Äˆ ¶ád4Ûè«ê!™ö+ƒŠ÷¯*¿^amḞ²QH™Vþ³uy h6§ú^RÑ¡¤Úb§³éˆ¢"lO�G¡ ‰�x통¡I_À[ý´ 4 @P(F�êLubP;=„„ý®5éÜ…Š00þ"–5Ñë'¦b¸\¨Ác‚Ïm”‹I¿Yb‘ýje™Š›ìô”¥UCh$Ð/¡ÅPܹˆmŸðmµ!’vLuûû’TÕT¡›x’€¡�T]ÜÍX#¡B^¯“ÆÇ -Š -bjT½·±èH…kMÅD3Á“�êœ ¡º7î@íT­¸™‰ZÜIJyÆê‰A·©žX¹Jm  FŸ© ]»ÕüŒÄ4áëúý’u�•¦ØT¯_ábA_šâÍ™â\ U…àŒRµ…6ƒ).—"ÐJU2–ªl ©Òq¬WCÁaÍêÈ…�ˆ®çƒŽF}X'B³±¡àYUi=Œ¤Ä0¢¡²V‘JªEo­žP&5 S«"8âRSáìÇV%N `dh(4êêª=lFªNq>�Í•îu娉 cúB¯Hç Þ8!.¥t> ;¯ð<* Ê.˜ -ŽhØÁûlÄáÕÓÇó£Üc!†jôôŒU�Â~E©Òy½ZÕ�©q?¾¬¼Ö@ܵ¤'”÷Ä•)ô¹Ó¶¥‹%ST¨3:e­)Áý¨ªB$sT¾£~ù?NÐ׋©*í¤²�ò­•±=üüb9/!H­Ü$Ôy€róˆXè§Ðl,‹ÁeÇÕƒ+6S–0Ã=¨+£¨ÚôÅj®¸n‹ð úâöUºÞ&¢.å©Ü‹©Ü0&ì35O^€ýƒB-'œÆ¿YÕl,¾›±®Ô@%M¦âvXÕŽ?|¥º�§�¸®”<¡‡*sw ®ƒ©¬S‹Âê½·BY3epTØ‘…m¿ªÑT¬­$»Ê(€º¢ ®�Ø�žXÒ»öT�b=}#¡W}q�•,Wbhaç“*QGiÄäJ ¦\üÂ&%8xZ\ü†âfq¼«Q¥=ÄÍ»†RÕŒÿ÷c1ÄrP*, :ÉD_˜rUE hT—ÎÂûV«ô—©J)ÛÊ¡±_%L=Õ4¢FU©0eÕQ]‰UþT� -ÐÍÂþ]SAaQ ¨¨ñáGa³œ‹™šˆ»TÕ匠Q_Ø'k"rmSuª¾ˆÅL´Š…dL „F±¥±�ºqíbw£²Q½Û_)›BB�Ð+Î}Tv`,ºÝõ…ð5|ßX]ˆ^ésÁfL¨ð$·B³©ºX›’N˜÷¯k¨„x¦ÆýÊpâ§:PoŽ4Ñ;ÐkΫ8,œ�+ÖÓ7}šöß°nh >m¿ÚUB!p±‹‘x>%]¬,g¢ŒæÂµR¡æŸPt*‰‰UôÄt¦ª£´ Ôõ¦ÿTžœá4Bª³F_ÕZÙ,¥ç_4‹¬¨£‰Þ_4šªy‰zÛ¶�xñ‡ÊºøÔ¶?ò'U h{¡ñõú]«Þ}Û¯×ÿxU {LÉÛö=£ �!LzE*k,òÀÿÂZõŒÔÍÆzâÍDÊd ~…ÿ¤Ý©pÿ±/ãÿ>³O_Á »Œ *n§Ôwjü妌?o®PWk² -þبÚ,øWÛGœTnlu9YL+=Åæ?W16éwʆ—›ÿº�Íâ9oÿQtB8ç ŽKV5«ü2(:�+µ«ÅBèúýjNG-Â¥Æâ÷ÅÊ/ÂÖ�¿¨z!œüö„“ß E˜¡/VãDÍêò]B=+h7´ë«JüU!å!.ààw>‹šÅb_BY{Ü(€8}uÉ…¿.Ž ®ü§¯Ê-Çß‹ôo« HûwðÇçÚ¬>é�µÜ„ó�„�ÆÐl($´ªñ´�¢‰Ë³‰…��Œ” RGÅ ‚SH_½CF}fÀ_U“S>ÚŸêDyªš�Å76¤éë‹;>ô•i»ªFq/¿€úàëÆB9 =UZÜJ¬z‚SOþòþý޳Q­2eV­úH'¡:¢àmøÃµÂ¡ÿ½Ž¢ü0P§t©œ«ÿ÷±7ùXÂô«»ªJ„C@uÅ# » -[LÄÄÂ6Õÿ6�¦FBa&Á„ëôƒŸB�?ß_X-Љeé¤ÂÙjX ¥ÞÄ*ê¸Y<�RØ[ �‚` -õôûUÇPŸ_ðçÛ©Ëý�ëÅç«óbr'>‡X Á@Uð�E˜$”ùø‹çn¨®— [!þ74I³x„“¾X¬JN½ùËnUc)�Æb–•¡`ï!aÒPÈõ¢Ñ�)†Q�TzÇÖ ñ!²êZu,Xu!îU܇©Ò”~£õ‹ÃàÝEžªfõÑ·xK˜�¢/žEŠSˆ7ÿu'0Ðò¦:óèPä~›³r£‰ÍZ/‡U~�þ.vŽ~^ÊÆUŽÎ®^hž/÷ò²óttÐÁ­:¨yjÇÞ 'ÐKuVú ß¥:ºø*ýà ý↚‚u¤º:[tX^WǾd5b‰ ’p¨�¨§ƒåÑZàŒ -V¸eó[àÜR=e£ú‹Ùˆ¿ë�åïch³ÎÕÃñk坸լìüÑ[�@!Õ¡Ö�X¶Æ1ÈÕÞqõz“µu«ƒO7€wX‚[‚»nÆë@¶"²Ïè5\þÿÃ_T_Pý@‹ÝWj‚G - \2bÎüdkìì¾Ö1�"Amºa#)Y»z‹dãR²ÅÚa€é¬Ÿ-Ì6 s¹Ý€­–ö¶˜; ذ‰‘¬[c%1ÛÄJ¬d.¬cNуdNQeN‘­‚´-8_�µ+Í%Ë¿Ý Ù¸Ž–l%ÜlUøjl•¹k¬3£$kVZJ6¬³�l4§%¼‹†•£¿¶¥��¦Ü3~¨Ì-y¨¹c˜ö&+ÉómsÖMÃÚ>@Kæ˜8ÈÊ6Dk“¥ ¾·™%�ú°–¬]¾ý´’XÒΤsä ﯹy³-¾Æ’v@8…ä¼â†óaÙá9“±U3è˜Ò)”kð Ê5hã7ŒóOÅyÅ çü³ÆpñåÓù¸Ê\TéŠø*>±r&Q8™óˆNlóÕbѵLDÅÖ#b(ã:˜‹ÉŸÂåÒåãêt8ßø‘ŒgÔPÚ#|üd݆°>ÑÃØÈÂI|\ýL.²h2 ׇäMà\B3Nþ^I#y?tÿÀ̱L@úhÒ'jã›2’t hM8 �ŠrÖ^ƒÚæ®Å:"|µ)gß�Œkà ÚÑo \á a%§%r;MÚ/o ãŸ6šp H8ûi“NÚ[Ú=rç“4Rfã¤a-³`Íl@9 ¤ÜÑû{‡ å"s'q»ð±�3)·ÐÁ–œëÒ>P›õŒŽß=µe^<™qAý q`a<ýÒǰ�cøèÚélBË—ttÕd`ÊH* µŒ£C Ɠαƒ-y/M+;oMÚ'f8^2‘‰*ŸÂÅ”|Á„fŽcƒ“Çà1‰.˜ÌÄ–Adަr¾É£XŸØá0o„�»&AÛjX°N¼³†9åˆd‘“˜[: °°²°É‚“œ¿–5šw9í¡a!Grº™•l1ã$›6È$´‹†5ë©)CïCØ£1EÿÞlAKÖ®Ù,±°Þ6@î;˜tM*wM*Û¢mÅxh˜Ëœ˜›ÛId -7M+…»†ÙVk‰5ç¦Aù玱´÷Õ4ÛÂHV­7—l±Bãh:�ñÊEä�¡<“†Ë(o KÖCÃR ¹]·qµ¹ÄBn‹ä0b <‡œqÕ°¶ Ò"y-Ò)d ç;Œ÷ŒÎ¦Œ¶‰.™›ÉFL¤½â‡ËÐû¢gÐ`CòÇsQ5Sù¸.ºl*œ=ÉóD>²b*š1ä‡öB¸䫾@ã;•uÂG—OãJΛ²' øèœ)p �d‡ö -B{ æ|SG)j¿ä“¾R$Õ| ÷™· +œ¢ð�Áû… ãC2ÇóYá>ŒüH¹½·iç¯-wðÑ–+\4 WMÒÞK›ñD²î3”ò‹F2“?IU6��,šÂ$Œd�¢Ð:HÉÅ–Nåcêfp!9ã�¨¡¤‹ÿ@Ú-|0�6dŸpöÒ¢}µy螺l’� ”1|XÁ$>cï"6çÐR>¸t"ã=ŒòŽ -rÎÅ×Ìàbkg°iÍs¸”¶¹\hñDÖ?e4ã‘8d“‹m˜É&·|E—^2a*oKeí™GG—Lf³Ç’¾ íy4H(—(ô Hžãêg°ÉM³øØŠéLPÒhÚ+r(å:„ KËÇÕΤSGÓnÁƒÙà¬q,’_˜7ÒÖC‹uòЦ#ë§Òž Ã,G�u+Ì�Ž\'±"Ñzヴ¬MãŽæ2@KŽ>VŒ›Æ–­Œdë&Jb)³ SxiRžáCÇ`´æíXÈ+¾ëª!Ûæ§E9D’Û‡j“ž)ÃI÷¤¡Ð�…Üa€%é<À’qïÀ¸E ¡ƒŠÆÑÎñC¬y?M¸ÒH dÝã†1NQƒñü¸E‘óÞš ûæ²mdœ·&å:˜uK&ã|4­9¤Gm¼µX·øa\HþÞ/k,ç9Œs‡äLP„åL¤íƒai�È¡tdÞD&cï<6}Ç\’74?C9ïˆa0¬_ò(>$k<�1–r Dº bƒŠ'àyŠ,™Ìäü°ŒË9)å*fð¡YØP4®a¹@÷rЖ²{>Ÿw\�Oß½€C2ʧ4Ïå# &ƒnÀ:éOй ¿Ag2ÞqÃA®ß„0W”{Ø` -éK�>8ÉRñd.¹u—¹k—Ð<‹‹ªšŠt3’‡”1XÞ�^惲Æq©cX¿Ø ç /.(gžóˆœ sLZËlô¾sø¤�s`­qÉÍèßèYkuØÄÖ¯àÃ$5ÎäbªÑ¨š¦ˆoù -ßË+|(ë3œ‰­šÆ'¢>�^eSšf¡Ÿ³ÙĦ/Ùèâ)LxÁÚ'yé›8œòˆJy£yˆ©œÆÆUOg# -'1Q“ØÀøQ°¾i4 WÙàŒ±ð¬„Í%È#z_Ð ŸŒsÐ ÊÙS›‰ªþ‚òKre¶Î\b¶ÙJBÚykÉ($‹É–Í -‰ŒAßG:‰°÷Ó–ñN ÐÚÖ¢�C�ü€n–Ù¹iŽžZ2[OÍMæ2‰%å A:†$]c†P£àÞ2²åHÆÛmÚ3q8¬-&¸p<R>‘ñN@Ïœ5Š‚÷óNÎe�cÜ→Ž!ßôQl@ÎXs'Ù¸f½DÎyh°Þ©#9縡r[_-9‡ô8먶ì4èBМ{ØPd³~‰£@72nC(·È!lHö8.µþ+.mÿÐ [Œ;’O4ŸÈÞLec*¦rqÓ‘®K;G ¦ÝBsÁùãÙ芩Šä–¹\òž¹0o\DÙ%.¨›É¥lŸ�ðÁté.mû.ëàbÐM\Úžù ‹øà´±H¥œ|´AÇÂ:lÁ¸ú¢ýâFpá™XÿÌ1LhÁ.¤x"è=°Í OК˜Â¥µÎeSvÎá�,EW|Á†äâõÃ$�¢A‡Â³€<„Md‚2ÇÂ;ÁZâ’¶Ïb³-f²,¤‹Îë“Å?貉�¨�ÂÉ€gàw.¦f:ôMå[ÂÄ×N§|ㆃ ±1HîR[gcYLkžMç�XƧ´Íá#ë¦+â¿D÷šk‰tÈø$�¤CrÇ1èCû§Ž¢ý“Gb›Z2 Ö -é…ÆÞ;|(å9ëT¤kiŸøár;4.šrO¬ëðsÃ| ï0N�ƒ`‘EòaÅ¡¾)G ÀŽ ')[_m‚wÔ„õïv™Kkšú’óÁ8�óŒÆgŒS¾wÑDŒAG† [�0alÅ4,ÏH&àï0÷ ñµÁ% Ñ>qÃ±Ž -+ŸÂ†ä�û Øæ��(šÌE!Z0‘ MÇ&�æ‚2Æ� Ù…í¯’¤Ë°Ž…5U:l)Ìš:–O¨ÿ’K¨Óaý ëÖ%œ9–CÏ -ë†KBº*¹ñK.¾z<'Œ-^:ä��Û1‹IÝ;—�«˜Ï²ãˆlÄ|:cÿ|:ëðBªà‡eTæ¡ùtdÕ:² aâÊ©ðt&\ǦíœCÇ5Ngü³Ç€.YãâfÒH¶Éâ³z\êî¹lÒåh,�|�ÝO¹!ýã—8‚Ž,žD§ìüŠIm›Í„—Nlz�ñ‰Á¥�Á2à‡d6({,èMÜ�0Bî5˜´GºáeÀ¡L`> 1^±Ã8Ÿ¸lpúX¬£`¾ü2FÃX² óÐ=¤ßaÑ!* ¸É–™ìãK˜L¤W‘œ_À󀞅Mß50$�ì?‰æ Û|°ý!c�gQ9‡‘E'–‘yGÓé­H—Ö뀌r¡ùXWâOpÖX:"k¡Ô£tú7â…tæ�yTÚþ9T|Ý4*(ÉJÒHü~¾)£°}NÚ9‹NEöéÒ#jˆÜ%d ÜÉs,6¡n&�{l1]3�òCóç=æž�öKI{§�¤" -'0hpIm_Ñ>#A§’nȾ¢{€ì2±0¶E“hЛˆ€ÜÒh|Hר!Ö¶Þš2§`mЕ`+´þ±|¦lÿÊ’r`…l¹9‡~"®¿[ÒžVˆÉ8ô±As›Ÿ6¶§`?ÒŽ-¤Š®’Õ7¿fÒΧýÓF‘�°Î ÇÓÁãßóÆ1©{æP9'щm_RQ“©¨ÒITxá*´h<Só|ˆ¨º)„wÆ™C°¶å‚ð¨‡á–4”.Gù¦Ž�»„´Rxk&Åq2ÒßNáƒpþ9cÙ€üqX�­ûÈ!¾�õe`òhÖ+fž;^^s÷kª®{%æß®aC°MDó+¯y𵼦û"ÿäb6®n:È'ÖI : CW£±Ø -q‚ k�Ýò 8Ï?z„g‡æÜÀGWNãÐ<°‘9J;‹ì ƒì èaŒ9�,ÃsPQ…�Ã2·`;„0ØÆñ÷ð¡‹ ÛI«ÚFAºÙE´~A&AÑè9„ïÀz�5ú™Inø’MD²‹þ†Ÿ-¥y–¼ú¡©¬îá7DÎþy`¿)§À�°Þá>°v˜�‚ñLÒŽ/)$kØÎÙh‘�Ú°Î`\àž¤_2š+Ä™m<4�3RÈÞhŽHÄý•:´j -pY¹�/æz°¶`}Âø±¡icAŸÒÈÆÒ®ˆs ›Dº£uà:�@ö˜òFxÉ'íŸ=šôA󉯙 Ìk!C\…°¾$À…ðl¤ ðv +Úñ7dÓóE÷?à3˜g¤³À&#,<„Í8´ÖØf:É©_&šÃ” û’vîZr'-™ƒ¯¶þ£ä®¡eŽÚZ ˆ—[³¾›j�o‚ôJFØjY_g½4ÍI àcÀ§`Üd6>š´ Z›èÀÓi×ÈÁŒSè ðû \7Š�C7Íà´”]sÈš‡ßÉkŸ|‹×è±è¼Éòúöo©Öwf²][k]ÛkJ%·¢ëË¿À2VÃ%Ž¢æŒˆã’egõÉÝO·PÞ[Ë÷ý¾™(ºc@GM†u <ÎÜ|Ît\õ4yÃïɼ‹©€ÔQ`‹to„Ÿ0nyŒkÐáÁƒì-øž±Õ3‹‚þ¦]0_Äù"<àŸ4 -ã~$S Á–cŠl,è2óõ”±\lÍ 6cß6c÷|Ìcª§s 53Ç‚Ï� Ï�ȇ!~ƒÖU0ãå´¦¯ˆº»ßU7LèàÌ1àÏYæS*¿d3Zæ‘%W ‰íOWÍÏWÉv¼\IT^7¡óÏë!�9‹qO¶–p $w�Ć•M¼J–_7¦ .Б“’®ƒÙ„:dÅ-S¢¡ó{À³L|Ó :ºn*U«ÄéÇRe·MéšG+˜ºŽÕLÍÝ•hì @7`»W5 x)UrJa«Ø.ÅT}Á$n×Áø}ØÌ£‹èÜSK©ÒkFf[eðe€\lÙ$Sòu$W°¦€—ˆ÷ÃßÁ?xƒΉø ø Ö&’{ðó€?�öIÉ ÞB‚Mô ¸W¾ éOûð�À阄íBK'Ò�E[3>Ù£A/ÞŸ°l[ È$å–0”ñÍ�Ö‡¦5e¯A»FaüÒG³уA6 O-À¡¼2öÕñ‘Å_€oû;# 'sû²é{çsÀ=† J X��®šÊ$Œâ|¢†3Iµ3äÕ׌å{>™û?n•µ¼[AFLù³àÜ5À/K8E cc�×9ÒŸGÿ-™†}úàCJß½û“°ÿ§ô > q4øe(×€� øúÁ—‚ðâëŒüð�ó�Ȧ~ /Éú üŠô$æPˆ¯3iûlœx -æëÞ1ÃX¤ùÄ_ÑùG–Â{²)�³ô;Qwç[:kÿ|*<<ŠøKpúð¯RÁÉ£i?46H/Ñ™‡Љ 31BߥóŽ/¥Zu˜ð†/ Â|�� ³Ž-"럯 Jï›P Í3À.2ÕS¨âºò†ÇËeU׌è”í_RA¹c 7dóÎInÒ�uÀVÝ[IÖt|KÔu|G—\6†÷œœ‹�ÉŸÌXJ[Êä\ÄÄ7ÎlO#¹Å.çôRoYÙ-YC×7À«Y÷è¡ä6omàëðu°“7�¸¬kŒ¥B 'àu€æ°èÀÀ€…)ßÌQlx¥’¯eŒÆ>F¤sÁ^PA%�˜GæŸ^Êd]È—M¤œBÁß™ðòɰ¦á•àÓ›cÕOdнdÛ¼µÀÇÊx"yGú|d2Äáa½°ÎáC &ħmWñõÈaà¯Á¾B¤Ëè”Ö¯°�¸›sà 6 f$È&~<ĉé˜âÉDÉ)]rOïföÈÑúf=W3 ÖŠÌ)ní3˜´CÄÞ_ 8ãŸ7ì‰xtxÞ$àç›â�rAécù¨â/€¯ð _rÈÎóþYc±¯Æ+¾f&peì/÷MɆ!^‡ðè[ð ªøúàXðlà[@c2�Ik›ƒ¸óÌ›£ÑüÁßoÆ>à| k²ö.NÏd] :‘¨¼fLå_XFeö™NM þ@¹„ ß'øŸÐÎAƒlêfåWŒäÕ·M©ŒCóHŸœ‘`ÓÀwÍz!î¿ëK&v—ØiÌ%‘MçR[f“U—MÈ<Ä+‘ͦ<Àÿì‹lJ�6Ò¥3¹ªû«ØÚG«ÙÔà c€‘¡5�ôÖP¼®‘]£Š�íªøÑˆ*½h~/ŒoÃ+'Áœe— åM½Ëe;>­²jîýVàë€yhL�¯ƒÏˆuGkÞ3|(àé[¦à¸.›X§ÃÅ×ÏD<ø+&¾l*`PÚ+b(ö×$¶~EŸ×§r~XLý¨Gå[„yâJtÜŽtdí£ï_7¤½óFaÿ>ë-òu:ÿðR6ëÐ"ð¿N‡µ -HÉ×a½Ä ¾ž4Ç×Ð<‚œØÄmŸÅÅ–OÃ|Ýñudß�#c¿sJëlÌ—¡- j$“¹s>“ºã+ìgÿš{¦áÞZ¶í¡³¿KNµ¼Ü(«½jJfí�K»¢1w@XÜ áÖG“àü4?`î�t¬MxÎ;óuÀTÀÁ€ ³ÁÙ˜¯c’&çÄ6sÏ.¾l‹ùz.æëLÚÎ¹ðŒ˜¯ƒøð<СHSÇ—‘eç Èü“KÁ·~JÌÕ.Å\=¦b*ÄĘøªiTÖ>¬ ‰Ú»_Ó�]k‰úîå“,½<Ö)öÙzÄ“+5€w±cŒ«˜&¯¾jl½óÓj:vÇ K9âÊær iç«…ñ½GÊ6éáˆüIh�£÷ kâGLlÓ ÀÄ„-èµ m>¦a&[ݱ’©ëZ ïGy$ J9¡ûf�Eœm&“{h1èUª¡}Q…8vÎìs~Ʀïš+¯mÿVÞún�lçOke•w�8ÀD0fI{æ*juxŸÄ‘ ›€mØü£ºTÙUcªîîrªêú7 ð{"›JŸÐGœh ›\§º€©¸†k}l cC–]0Àò™±wÄhèôýè³g.•sv צCx'·„ø¨ÜUô+ߤó6 ü¤[ä`Ê#~˜Ü.Lb ´#â>hp¼;ç„?øGº‹Cºô"øçAþè“Rì7 -Ì x”Î;¼˜nì^'«¿bB§Õé°‰U3ØlÄ#2wÍW Ý‹9ØÐ/Õ˜ÿ1¥ãiÄE›[nU` vÖ#Ø -qOÎ Ùi$kXOåŒÃq:àönáx=azlå4:eÏl:ëÈB¥þB÷Gãˆ1cDÎD68i4Ä0‡FÜ0þ :Ù?X³X—‚îûñrÂ6à7‚¿?Ç×ãXbõtªä¤�{vöGxÆ <v’óM­ð@kÀÅKó¶�”±LJñtªíñfl?Bj&n¶ä%œËÄsÐ{PžC§°!CÀæU$×φwSøç�'?`œ"CŒ•Í?cÀ'í™Ç"ìB‡��q"ðy&¶Î‚X›½k!YqÓ„¬¹õ UxlYù\ËÅ šy|¡¼¢Ý˜¨ºkJæ_D%ÕMŽ1îFxbf £ød´¾‘Îß,èOxWdïpÌ�@ú�i~²‘h|¾’BÜð.à!bH§Ð.žÚ�+~"àü”wúì€ß–9†h›[; 0[K‚ÏSƒðKA¸F ²âp3²úÖ7òæî•òê;¦ÖM]ßNߥÂÛ[×o”X˜™Kdˆ«[¶h{om>±FtÄ®¶šóËÍ,–O¸ï‡Ö3ø%�‚°obç ›˜Wû$� \‚�‹~�ô øQ˜Ð<ðÝÌb³w"ŒÚ6�KBü båžJ_ŸÚ<—Oiœ qY,ß_<€Ö—„ž%élo$¿H.yض5÷ð"ªìœ!öÛû)s+hÐS)»æ‚­¿3àf2${¬ÜÁG rC@?C\•õCò‰ä é±ÕlÓƒ�dDÅ$ð¥l•9 �)4±Ì€2"gà{>0nÌ[8Õ6¾úKÛ¨Ü) Ë8ïèá²q„­—È�"q çðÁ”£ß@ì_ˆ«Ÿ Ü|»°ŽÀÿŽñoÒÞÙXî¼3F‚aòOIå ¯V� /V’…¤Øß˜2ŠØñr ¬S:0nÄŸ`ýrXM{¶•r 9<À©Ö…ô1p ¢éÁ -&£m.øàB„‹†¹…¹dëf âý€ç@|ø0p?Â7k$èEKÖUcÃzR²æëM’Ußm�lÚBIÀ×jíŠxXXÅD*éÛ�œqÂ~ÃücþŠl&ø ­ àoؼñ6¶jØLÀä`7€ó²qˆ¿£q¡ -OêÊ›{VËö½ÛˆÖ”!ÁyjnøvµÄ|£¹„¤lÀÇš¤%„=gÄÿY„ù v»ÙŒ”lÞDHh—ÈÁŠ�‰ ¯±Ò%d0Ì7ŽkØ{iãŸN>Ú0V¬²?H2Þ‘Ãç ¬‡0¶(úÁ�­¼ð-Ö‹€9Á׉02]tJ�*;o8“Žì‰ì Ò dÙzØg•7ÇQ«u Ž -z˜.:&¥[›É�½ 1E(Òåi ³Ù¦{ø–'ÖÜŽ^s²ùÅ:yõ}2±u&¬:cÏ\yÕE„ýÎ�•·L©ê‡ß†|‹M[m$[Yo *¶y:•fø¡øô�óùäê/œkH_†øhö$ÀµŠ¨œ)Àm|GQÎh.œ’¶®šë¦�ñ.Ä„‘�'+oC—_3¥îÄ>ƒÌ=óA�`Î^:‰KÞ?�jè]CïxmF4~X ~i6a÷WLTÍT²õÅ:¢ñÉ -Ìy�;ùaèqK¤/F㼈°Â ÀËÁ\ø/]xLðøÐ8§�Á¼wÂù¡C!öÉ$ï˜Eß4¤£wL“{¦ #ƒ Çù£A>­8W�õkÍ%+W¯—l\o)1§Ýp<p'Yÿ`9Q‹xhHÉðaYÈÖ8ûÄ|"÷¸ä|�Œ’.�iÄ¥áݹ†Ûë©¢K†²mØ÷–3Çÿ —#¶|*ðJy}ûwôöÞ�dëËõTþÑÅ 3rf›ãà£Íy†åœ}ñnƒù¨êé\þ¾¥Láz\@Úð­Y£õD@î š|TÅTr¡7:‡ _›•œ—PÛ<´¸àü äK@ÎERólÐU ¯X¡uÖŸ3eŠ.+ât`>ÁÿÎBÎÒ)\JÝ,„C–È*NêR{ºÍ™]›`~);O-¬k«n/çÛîZ1õ÷ÖÐeçŒ@7Pm�Ìè¬=óÀw‰óABsÆC ðàß³£’Zt¨Ô}³©â³zDÝÃï™æWflëSs¢íýzùŽÎtjëlˆñ.уd.¡ån‰CÈ´£såõ�¾%«;¿å/=ŧ7Îár÷-å -¦aûŽl“¿w1SxÚ€ËÜ¿ã`ÀÈvàܤïa®Èškß2µ÷VÓ ·W“ wVÀü‚ï™,º¤±6ºn›¼o®¼æñ7Dáe]*õè\2÷ôb¬£²/  -ÎJ©ÌÝsÓalqÀûH W…®¸ý-]sp2¼l"ðˆ×ïÁë°<äí!™`ÊΚ°õ¨¶g›øCìø½Ý ™sjV3‰ ,+÷Ë 1k{-KÊv€%’Sà Âh½Ì½Æ õ ¾(ˆ™›¸tàB>ãÈREòŽ9ÏøgŽ�| ²ÙòÚ;«™ü‹ú8ŸbvH¿ -±^&¶z*�¸Ì�¼â’!Uüƒ”KÛ7Ÿ +Ç>ð@Α"©âK>µiŸ}tät(1Mýtì{?PPÚìc�*ûø8öafŒAkzŽñ„¦�?8øVøªöµlÅ�ÙïpÈï8°�OÙ>|öŒoä0e:k,øè°”1tî®ÔîŽ-ÌÙvÅÉÛîtÆ‘›Öo–XXqœËÖxk ßܱ•ÙñÀL^wÑt -ÕÒµž,¹fÄÄ7Ïd"Ðû€Ï=²d -`ðÿãx,šSÄ©&B\T^�¸)ÂáÜž'„|dz•²†[_“y{æSIM3•ñ‰íÓ ÿ¼ÑdHÉx*ãÌB&õ‡…h­�Ã<*»e>ø¼¸Äê™`31¦ÿlÙ #ªì’ Ø0ðçñ�ˆÄ7èžÊœ�Âßéúû+éÆŽµ˜Ÿ4t­„˜ UpF—J;0—(:¶˜¨ê0¥2N.¤£¦�þ–—_3 š^®…¼Ÿ­V¤l¥2Ï v& y pÿÜ£KÙÊ»+ØÆÎõdÁe)ŒÈŽ ¹!N ±TàèàK{ˆ8»¯ƒ°;yÁ›?Ñî`µëÍJX dÞ¹¥ThÝ$Ê?qpMàK8ìŸ3ëâØÚéòš‹&dcÏj�w3„ÍÖl–˜Ëx‰‹ì;²óœWÔ0Ø„Ó)÷ÀA ßy¿lœWÌ&MÛ…cG�[9?È.2ÙG±™ÇñqÍ_BLð/`b”_As ¹b s(B�}ôM…}ý.ÑCØÀbÄ£wÏfóOêƒþã¢Ð<&�\‹ùköQà.Ó@vé°LìW¿‰¢æñ -Í]38 ø¢ ßÇ&$’­oÜ(."k"›Þ2Ùh]е0·òÖ®5Šã·m/] £õÈ NµÅL&Û„ùøv’š¿¢r/Dœ^Ÿlz¶–Úþ`-Yÿd9]|ɈM?¸€Mný -ô1Žù‡Må�4Ç`³öÌ'*¯“õ�Ë Ä_q\(©ñé£Ë€OȪn3ñ;uÏÄ¡r�ÔaHF¦QÉæ09‡¡kW)Ÿ~V6­q°��—¿ Y~Öl6ŸÜ6°Ÿà_Åœ6£e.Uss9W{[w ¹ý!Ž_�t¨¼¡w³«Ë’ÜñbÜ|‘°V¨úG+Ùý�äaâ5þ#$‹·-frv/Þ ¹»�wHž’R9‡ÒÉ{¾‚&(oY2 ËÎé¥LTýT� ÐÀͨæîõtÖîyLLí4*iÏ,*­ËÐÒñDTÑðµ@. ^:ÁÚ1Pbf ²å€£Øí�›„Á÷$gœ5 pÈ'�ìaç…8‘�6ø3iw„=À2¨ÌUÃ>ðˆâÉtÞñ%ØO�ô“¼o]¤Ìùž˜ñ œ£ ¹ŒÙG—ÐÙûàü ˆ7@e[°6Ä© ¾±!ðQ@®—X¯ƒóÊÄ9·û`œæƒO‰ô „sd�=^zëàŒð‰ªšÊ#ü -¾Z>¾d:—¹{!ä÷R¥§ 0fYÝÞnÆìï$dͽËqŽ‚WâpÈ1„ìw¬¾÷5øL˜¤f¬Û�ÃúJÝ3çü�Þ>‹d -sÈ]‰­˜†×*¼à§ò�-a•ï¿ýKªðÐRySû÷òê[ÆdúÞ9dXéȉ ƒ‹ÇÓ©èßWLpü'¾zäpr Û¿Ä}#Ý 21 ¢â¼¡¼ìœûMRÛfC¾ø‘AN˜¬#‹©êKßð{âœ>ȇÜEX;iûçÛ_¯aZÞma’�ÌÃù5èƒqYZÛĤlrƒÜë`Ä+ÐZ4ü‚×ÄQ�SïŽ(ŸœÓ_ˆð `]¤Ÿ˜˜š©÷„˜åŽí>Ì1é2ç¶F×Oƒ-p" iŽ�ú¦Ž°²õÒždeã¬!wCX:®U‡É»a¸ƒ‰jš†m³wÂ�ç=41óŠÆ!{úJ™/‘ˆý½ø>À[Á—š¶oæ9GAÞ¬gÐ}›Æy”Ào�½ùàr�IÙ¬£K`n!f ±z*­!ðcBüü…�ã ~þÄ–YØ/1S¤{q,|Xð=„3è�Ô1X�† ç€X3Èhþq]dça:Ĺ’‘Œ—MÇúºà¤[xD -Y;• ÈË…O_Zsp(ªïÁ±ÿ�BˆiL.Ìeì\€m?æÕÓðß݇ÑnÉøƒsÔ]ã†B. -øÑd6nÊœz{o-ð-YÛxk‚ÏXî=Tî6P¹4ÞñÃ鸆éTÁE=²üŽ1¬¹M âõÖHÇ.†Ü\À8^™7‘Ž®œy)tþ9©r J§€MÅÏ 9HÙ§–’%w�‰ª{ØÌ!Ý -r y¢6‰õ_a^ -ø?¶û>Ùôc‹ ¦¨ôì˜ÍfìœÏe[B_6˜pXXÑ$üÁyrGa~ad/±^ˆ«›òBœÓ'+¯˜bÿ%’{4®óÙìË‘0&®$jo~CŸÔÃ1ïìís°ObBwŸqrÃLŒŸ�=#î|OVœ5Äq+|hÁDˆó³y‡–�?�*<§OT^7ÛOT^6"+.SÅGuA/UHOc[‡l`z+²Ù{`L‹l6ä|2™`Ûßòbƒ¬¹s9•Úò%\ þCY]÷·“"ó/K�¿È«ÛM™–ž­dËë Dí“o±Üç_J–_5"jï~ƒl–èaˆ£"~l>o6yçlÐ?`s¸ŒÃ‹èÂã˰´ñéjz÷ ¢æî×dzË,È»ƒx áæ¥�íâØDÓËUDãëTá-CGÐ��ÃJ^Õ'CJÇSµ“é”Ý_‘�ÏV±Í][ˆÚöo°¿öu�˜'àað$ìÐ�8 å’8ïU‰Û3‹‹Ù>rÈ îŽlûRœ“ :8÷(§u1æHØ£C'î�Ee] /C÷ÌV9QX8†ˆª›LÆïš)/¹­/ßýy¹÷ÝVëÝ¿¬•ýçVâ¯6ÄÅOÛÈcïirççMòÖÏkˆ–kéý¯¬¹S]Îü…G¾Ü��^Ô‰Õüz=]qý›Ôº9 -ψaà—À¹«hÌȬH&Ñ'÷´.ÝйZ±óa×v—ÝÖtWn×xÛŠ­¼¶d�̯ˆ®Ác ¼’¨}ð-øgؼ³ú�—AÔ=øɲ1æœÛÓ­Ï7Smo6QMïÖRõÏVAÜ>dÍÝo±žkê^N6¿X+kìú^^qû¥é¼–�þ$Zzׂn¡êºW ^±†m}´äŒËØ·ûRq¾èÁ Çà'�²gYxjYvÓHÞü|ÑÔµŠléÚÀ¶u™3-O6“�Ý«äõ�¿ƒgÿ <»¼æþ× ' ×Dcï -È!w¾1£öu[1Gž0Ô¡çr릷ß˪Ÿ~-oûmuúµ {í¹?}å…'wºÛ™:ò”bö¡º–?ØaCè’±ºÐ÷žÊÙ£�¶ô‘—QpKJ\וW<1±jûi9yì%ÍŸîpç�=°,Ãïê�“-o6ÊZŸ®®Äf�o˜I•]3åjî­aŽLjë\ª¾g•¬äª.á›>x7Y߽ܿð}›ƒÉæ_Ö‘ùWtÙä£óÙÌ3KoS5�–ã˜Vú‹Ác§cØ@àƒtá5#°¡‡”Ý2a3N.�üEÓ# ¶éõFðAQ©‡ç"þ4™Œk�N&ìœ)O>6Ë¢ê‘ÔâpßZÙéʈó¿òò+·#/ýê$»ù?Û¬ïöÙ“OŽd^?O£z>G“÷ÞøÒ—ßyÀØ)îÞNàîuD3gß:‘'?°äé÷wö±‡âÔCO›CìÍV|uûZ¾îѪ¡k Ò=ßÀ¼ù§SuOWp;º-mw<"غgëØ¬SK�+Ú&ÔÌâ£ò¦Øú§ŒµIl™ÃAìøœ!`3$oßCœì#µ§×œÚûÞ’>úŒ¦�ö0ôéÞmì©GÎ̹gNìî^‚hý°Ž¨}ü�¬ùå -zO¯}èE¡9”ú`.?øËVjï'KâàKú`/IzeMŸèaÙÃݬÃÁöÜ öø}[j{ï:YÃÃoåÛ_­DŸ sTþ�º — cäŽ—ë˜æ§f¯eÚzA6·*vvн÷ª¹cÑØµtÝ„ô_]×rˆYÈ›ž/—·¼Ye½ëãrç»�äÞW[ä>l&ö}ÚBødNýð^AŸ~‹ôÀkš8û‰§/¼qa�½ÜÆîGïxðÁ{¬àŽwo£�÷pä¡—Vàc¶>òËÙÑ_¶ÊOþDÒ?9Ë®üÛV~ö†¹ý4�»}?ÒöÂõ ÛS×½øƒ÷ÔÎî-Të›�ðltÑE°Ø® |DœûÄ3G_ótãûu4ÒÛvß°¥ëž­¶Úæ©ii¨%÷É ±P›KWBgîú°‡^Û0Gß*¸}½,ßö”àw>&™¦n3¶õõVºåµ�ùÃ"*¼l"�~hYrÃü?螆€_Ø4´Î n²Û{ÍØ¦çɯ׫­Û~^)«~ojµý×ï¬Úþ¹ÜâJŸÜª«Ï]öæ_!Üû‡9Ìû—éòŽŸ½‰îŸC©wŸÉw¿Æóoä9¼9\âölo÷áQ.ûúy–âÅã<Û—wJ\ž�«áÝOFãÈ‘?þ²�¹øÚ�»ñ8\qþ‰{°‡Wè°µ;vÇsÛù‹¡v'nør‡(ä­?¯•Õ>ýšÙýÒZq¬Ã…Þ÷VNT>0ÿøŒ™Öž­HY(v<�Ùí¿ïh³÷�ø&ÙÔ»–Yh~±ž<ÐcÅí²eÏ=tãÏ=ñ”üÇfù‰Ÿeä©÷ -æÊ3_æâ+7êô[yâ͜鵧/=s£.~v$¯¼w¦n½ö¥n¾õ¡®þäJ\þ‡#ñã¯6²ó?3ÄåÏvÔ�W>ü³Ûé|ïÍ öþ�HêÌs;òàÙöq£¼þÙwòæÏk`=P‡_�ôñ^Ž;ÖeG~BSmO7É[^¬fZŸš+NÜsùVœºãÎè¡Èý¯,ÉÝ/¶0ž‘Ü‘N;æô3;bï/fòƒŸ¶ÐûžÉ‰£½Öò¯âÜ;yñGúúkúÎ êæ+oêÞóêþ ?âìŽ:öŠÛDœ}ˇŸËä'ÞɘÃÝ y©Ë�zÜȼìJ±y³ˆûø$WÖÝçcÕÑçD<ù)ˆzü"œúñ­#±ëóF²ÙЈòÉÀË ¦‰u9Â¥`À_eUø`‰Õî¯f޾àù+wƒ�~8ÌW?\Gå�Xl½ï·õòý¿n’�ÿ‰’Ÿü@Z·ým¥¬â­‘uí¯_³õ7*Z{äv‡ÚÝW®…Ùܾ¿íæ•DÛ‹·"¸³üþ.–mëµÄXeÇÛõÀÓHdçèíï7"LhÄEî˜.«ê0–ûÝB~ãW{òíO±Üç›9ÜÇ[9Ìçç™ôï¯2˜ÏO2é_Þ¥QÞ%qnç¹=m+ñîn*K¹›SUt'µÂåž2âÃßã¸w]yÎÏ�TÚ¾¾Y½éÉá{»²È‡/‚ÑxúP?~t¢Ït”µþ¶JÞôa®ÓÇöò�Å=nÌ…7Îä‘�uêÇÝì µí¹‘ËÝîŽd~ìödo<õç¯ÝãoµGÛ¶_Jeovòçú°Wúp;ýèó/œÈ_nãÎ=FòxÏ“¿tË—»|ßé<ËæW_[g™cUÙ¡guà×Z�ê³$®½sfŸ=NQ¼º“¯xמϾêLgÞu§s¯;³É§Ï#¬oý��õ­ÙÊoýî$»÷³+ùüS$óñIÿ¹½ÀéÕñ -îsW.yï¹yþµ‚ÚóÖ\^xU—Ì¿°Œ(}hDìþ´ ÚØ3OœlÎß Rœ»ã£8zÏ‘?øÄFq¤ÝÞæ`»uâGŸ|®�Ÿ~EÓç{œØKO¼¹s�¼¸“O]ÙzíåÛ"?þÁŠBö—>ÿÔ‰»w/’}ø NÑu?ÝîÕµb·çk=Ÿî®uyy¤ÊñÝù -öà ®ç^ -{»#”¼ðΖ¾ùÔ—î~gûúj±ÃÛsåîÏöÕøt7U>®­ -zXUæ×Y_éþ´­ÌæÃÅ|êã›$YÇïVÇÿ±ü?œÁ86¶e&Ñð|9¹óƒ½ã½è6°]²¸33->Q—?ºØö^Í·v±Äîáå,ǧË^\(gÚ»"d×~³Ûz¤o¥uò™YV·˜ÙHHÒIƒ�Ùû%wô‘½ý‹ ežÏö×vnßîÚs¼Öæñ� °kôþn‚ÝÙiÉEãôãÍ ÛG3îùÓ»»,øý=,躷3ÁãY[’¹Šš›Ée™·²ÊA_*µùx©�ÿ|%ßþÍñ’ÈG%X&ÛnÅ•º[ºýfb™OwC9�äÖñÕÑR×gû*ø÷÷ó¸÷ÝÙ/Ï—QO>„YëÛL´ý¶^Vûê*éä\rÇÏlOuð'_¸Ê[þµFžws©UqûRÙ™_)ÅÓöL§gª\zOVÛ¼m/bzž$p/§o{}½”ÙžMÝxá)»üÙÆú‡XÈN¿&¨ëO=¨{Oe¿ºP¯ÅÁœ8¼¸iyôoëÍ›è[´~0ÝzøŸË·^ìÛdÕõ7Ïž–ÊÆ» 5÷«²;Òk;òjºj�^©à¾WÈýô4—ùü,›ýõi¶Ãëã¥þ� ÕnOw•Ù½û¡ÈúÁ?],üc5µçgsîèSdç?¬g2Ž/¢ó¯év¥Ú^oÂ6÷pÏìAøow�ܦ呌¯fF×Üûž(¿nDìü´ž;ÿÔÓæÞíþö½æä;YëßVÉŠo,“ç]YbUrs™üÔG9ÿðv¢ËóÓ5ίÎT+^ÜÎaŸw¤Ø|¼]ÔY[›ü0§.éaNm}{|eÊÜF¾çFùèY€Ýûë%ñO -Ò§—=I(oi�-iëˆ.Ú{/¦½oiÚÝ̲웙¥Ù÷ÒËBW”o{s¼˜~ó&‰¼õÞ›:óÁŽ?ýă?ÿć¿ò ˜;ýÄ•>ÔMÒ{º-ÙO�™ÖûÂè_^¦yvïªöëÞQïÓ½³Î³{_=ÿâA&yã'w«[ÿÃË:þé*¿ÿo7ó«}[Îõ­3ozeh±ãÓ×ìõ§AÛÞÜ(sx}®ŒêyIÝxéEÝêõEøÙ•kî² v=ßÌéP0×ïúÙ>ù1ÓõÙ�*‡Þ“¥nÏŽÔv5m�è,©Ly�Uõ8¯8÷~JqËݸ’£Š/> -¸Ýœw­=¼ðò½ˆÂ[¡ù÷„æßFÿ¾{?¬ðÖ­È¢c·£‹[nÇ—æÞΨôyÒTaóþB>û¡#ËþÕÉù£ùZŸì³"Žü¯5uàWkêø[–=ñb³ó“ÕðËZnçK’:ü+ÉÜ~Ä¿íÊe^ö¤Ð/Ÿ'ñïpŸï�Þ$0?õf*Þß*´}{¿„êye}æïÖòÓÏåì¥E×Í4þ}{¾íû«% yõÙ�Óº[w8¼Æ¢ðÖë�}+™ÃXîØûmüáWöÜ•n?Û[7mŸ\˱ë½QÌ^íô•µ}X-o~·škë’q'ž9òW:ƒ¸ËÈ&ŸÿÙžïx˜œ}/«1öAI£ÝÓk%Ìŧîò=7³®}l,Ûùó:êä[–éêLì¬oðxº¯Îöí5¤ /–Û¾»QÌýò8ßáõѲð®²Úš‡q•k}zZëù÷7óé�â]_¬NìÊ©IzœUYõ0®do{T|Þ�*þÍÓù;‘%çnÄVž¾SvðVLIåí¤R·Þ]¥ì§žl¦·+Eñ =•¹ôÌ“»õ0”½ù$”»û ÖFÉ�T$×Ye™w3ËïTƵTÖÝHªÈ¾›UK¾|gùcŸµUgŸ› ÒO¹w2ª+¯¥”o¿–Tõ¨ÉW]]Á½ô:7ôlć�±[®öm1ÿ±o‹¬û7_èÛ³ó@c~{ήœ¹»|žîkvzy´œ~r7œ¹{' ñaA Ì|Îß�(Þû ºxûݸâC‘Åמ„6>‰.w~}°‚øýu¼Å›>WËwÿëiõ[_°ü·Ï±¶ïOæE·WfßO¯¨¾•XÚr-©4ò~i¹ïãúR¿Ç ånÝm%Š7Wòì_Ÿ.áßtæóÏ;søî§™Ì‰ßˆ½ÿÞÄœùÝѾëv©_Wk£ww[�óóƒÛÞž-uxsºœùÔ›.ó·0êíëö×ö\çûËìß�(±ìís·ìþèL>áüâpeüãâ�6�.¦š_èÛ´µõWíY'gn «k]7~k}—Ôòî?XâíËh÷—;+ :+«$”9½ÚWbù·¾€-/ûl6¿éã6½ïã7½ëcÌÞ÷Q[>öÙ[þÒçgùϾ@ú×ödú·ödùÏ?Çlééã6—vͳ8Ò·ž¸úOîFw¸íƒö ·žCµÑJJï¦Õ¶ÜI¨ ï¬lä_ßÏfwÆÑ�z#ØG÷ãù·Oòüž4×Ŷ׆߯¬Ù{9±ìÄÕØâÐÇUHgŸ©T¼¿[dÿúr¹Ó«£AÝu�Y�2ã:Šj=žµVP•J¾xͼîDºón‘ÓëcžÏÚª‚º+++'T¦<ʪa>wg¯~Š$^üaõ°Ï~ëµ¾­›4Ý\P9ySÞ®ioô­´zù›ûûýÜ´{YM7J�Ý+Ù{-¡$åvv±gWs±Ó‹=ÅÔûIôã7áÔ…ÏŽÈŽ;Ó�/b\{V'=È­=t%®äüͨâ£WâË\�Gß�/9u5¶dûõ¤rÇ—ÈÆ¾»Vö5ó^Vå©ë1%—nD¶!�uë~XþÇ®àÜOès 麤GY²|ŠÝØÓgeù[_ óË}e;žÄT\ë -)8ù$¢ä蓈Ҽ®”zö·;9ìo÷³ÁÚ}¼RbýþoA›Îô­Ø•7j½‹�æÛ�ï¬9‰É*3‰Á×ßKŒLWIôŒVJt ¾“,1Z!Ñ52—,—GXyrÌÚÖÿY°îQß:âçÞØ˜Û…ÅÛϧ•íý1©´èrfYåÅŒ²¦ËI%—²ËSvðîl­d޾ɰyu¯ÈåÙÁJ„‹ª ngÔ4^M©Ü~3¡l åw“+çYwþÛÝæÓÅÂí÷âÊÎ#ývº3´ðÀÓЂ½¡Eô?Ÿ¤oÙõÙÐ<´dôêM¬dÑ4É,­‰’™’‰’i’q’/ÐGý¾pð’e_Ì‘¬ZÅJ6r‘ë š_KJ掙&™*™‚®š"¡9Q2Zã Éd-É´Ás%:ã–JfM3�,X°\bhá#Y•~o†³}ßliïcd/ÿH\ís`®þäcûâzIÛÕ¤ŠËW£‹®Þˆ.ºt;¢ðÔõè⺻ åå·S*Óîg×&Üϯ©»šR±ÏiBIÕõÔŠ¢›iåÛÞž*‘¿ø=„|÷6>²³°¢£+$ÿqOpZCÕò¾K0{Òg¾a×ïK7DïkÖßW‘ÚžSU}5¥´éRRÉî+‰%H/–¶\N.ûáFLÉ�7£ŠvÜH(Eú¸äؒ̕/Ç]¾]Ôx'¡¬ô^JUwwPNß+Ÿ‚ŸŸ…ÕýþÎ?ÛãECÑÖ¿÷¹¯¹Òg¸:éÇqßqa¤_¯–Ì›«#Y¼d¾d­�¯ÆÆä�Í[Ưu ל3SG2Z2R2X2H¢-ÑÂÿk£÷ÒDÿ�h¨þ­…Z†£·Š®ˆþ¥‰Û†£ÿgŒX ÑÕc%ßYkô-bÞ]K,9—]Ry&«´äRFIù¥ŒÒòë©¥•—Óʶ_N.Ýq)©ôÐńҳ—âJŽ]Š+þáB|ñA´6܈+9r-¶ôêíÈ¢ôûÙÕô//2˜ŸgÈÿÜS^q¡Ùà§Áå]±å^õmýÎÆM2Ê|$‡cÑóó BO¥�ßæfúÀ“�¨ÿƒ¿ÿçømàJ�’AÆ Ÿ#%5F¢M�L³X²ÔÐA²&¥}¢Õd7>öÅ åȽëÎvïÙ]Ùv1©ôò¥Ø¢–«‰¥m×J‘Ž):w-º0é^n¥Ý›“Éwòª@6O\‰)>x=¶¤òFr©û³ÖRæ÷žlúï�™1�yUíÏóŠºc‹ÍÿÞ繦ìÇiúßm–è Ÿ€Þa0~þ�è á÷è�Æ#‰‹~ƒßüémþó¿øíú¿÷ô?ÌÝPÔß´}ï!Y‘ùtÂÚ½} ·~ès¡_¼IQôÞϵï9SìÚ³«,¤£²2ôaYÅ… Ë"™„9¬¼’VóxôÂÿcï=âʶ}ïIT¢Pæ„¢˜’CUµb2ˆD‘,9£DEr�¬"˜mC«ÝfÛˆbÎvÛv›:ïнÏYwŽI÷>}î=ï¹û<Ï}¿¹|JbµÖs„¹æøÿŠ›Î]Î#ã¾ôä¥üÆÇ×s›_ÝÊ®W|w½¿^„ï+�¿b¤¿^7wGÿd„Gèÿõç¨þû�ÿµ~¿ff£¦¡)SüÑ<÷4´ºàî·×‚'ýý­Ìä›�[wœ«h:t¡¸ùô¥ü¦S [N]Ík;z-¯ù쥂æ/Î6Ÿ¿XиíZyCÁpmËÖ¡òæšÛ››vãºëvNÃþ¡¼úΡâ&ÉOB²ûya©[éASçˆMêóç-EãÕÇÔ!ïâ?Ûœ:¹þÄNáãÿ~#–¨�>ŠÌ½‘y¨F>‡ï�Æÿô°W5@ã‘‘ÖTdi¾Ù­ˆFKƒ{ÕÝ îÔ_çóiõàÕ‚úšëM1Ïw7B=œð¸§ ò2¨+qîÕXŽ?nºßØõr°¾?x#¿þ6ÎÙÝOß>’ë¦×v<(h }{¬ç -ç´ÚQÖãÿ?¯½&~üù\ÿøœ¯Æï?9omretñÒÅÿÆ�Ù;âQG|�ÆïçªCæŸÙØEhÖòhä¸þ –û~a®ì!=üù'µ‰wúš®l!vÿ¸§ñþÅÂ7.ç7?Äcøèjþާ_v=½‘·ãþ­œæóWò›±}6�º\дãji“ÏA¹p��30!së¿ò ÿÓã�óü¯8'�ßÇTÿMÎ þ‡c¢±=š¸Í{Hð™=cÑÿø—?ü&ø]âÙGýþùhâGt~ÿ|,Gs­)h'K{def�,¬V#ËinÈÚVŒ,l¥Èbª™[º¡q“½�Õ Íõ©E+rž8]æ+¾:“[w¦¦‘ä-_liÇߟ…�åÑ[Õm;âØ:ö_>/𓣉gÐ$Ÿ�øÀ‘9¨K²‘1hœúxd¡k‡,Œæ#Ëñ«Ñ´¹J4cYšb�ÑÈr–YN¡Ñøé?I„Æ™»¡ <ÉÏæKšÑÊÜn_ þo…ðÐ'GÊn÷Tïø¬²ñæçÅm�.í¸~©pŽñ­®æ4|u3·åýpvË»û™­ïdwÜ¿™»rRï_¥í’€ÿјÁûCr´1¿g�#1æÞÈÏ ðO��™¶²Ô›†,ôg!sãyØ7ÏDfFsñü[Ž,ŒW"s“•ÈÔd597+» de«@SæÇ¢™ÞåÈ>ìˆÆò­¯�œŽ v.×…¥þß ‘‘Ê!ýülqë½K-�ð8ÝÊn|9”ÛsîË9½/ïæv¿|”Õue(×åÛ]«¦ÍöúÛæÈ¹"2~ÏŒÕ-�±®�ð¼2ÁsÎTcþÞ$dˆÇp ~˜Œ²Eãôçàs[„Ì,–bûtÆ6é�&, -BÖKÐd—4Í¿ÍäÚÑLº- =­¾rÛ_Ç­2o®§¥^îÚVüE]]ÅÕõ7pîuŸÛ‰¹M'qŒºžÓôr(§åõíœÖ—ÃÙ­¿ÈkNº×^ïvEXa1f¿š´&Y»mBÝ2‘�¤-Ü©¾¼üŧSÂLÑ;aÿú‹Ü�×»ª‹.ÖoÿìÄ–Ž»Ÿ—t=¼PÒwñb~Ô [o•·&?io½Œë„G·²È:¤ü»seN‡„ióÿåX®Ir-ÈqôÒıLÏû~[d®9ûùIØ"ÇÛ4ÁÿLÕÍðùMFãõl‘‰Þdìñcì,dfŠý¿­7²™ŒlæE É cÐÔUyhª=šì]…æFTw(} ·ú 0Åõ±à„óàXå—gJâïõn­=_ÝxðLqÃðù‚¦GøÜn^Ì«;}3»þ«»µß?Èl÷,³ëÖ½ìŽÎ›Eõ¿~“2Wžþ³‘ø?¾þ׌äÂ:x´ôð\3ÅchA¦‘ù˜ùd¬Ì­]± ú  Ø'.R¢‰ XìSü‘åTod>Á™OvGæ ‚Ð$G<çªÑ¢èÃK¶=6p,Ö ‹œ‡ñO¿ÅD<ØR~µ²®ýRYö�-çq.�m´ùÙÝœ_ßÏî|ó0»ë‡‡Y�ßÜÉë~5œkI ^Ï‘­Í²iÜ4þäGü‡!>œ}èÏD6�Ñd/|NÈb’+ök�Ùxì?Æ;`Ÿ‰çžkV+‘å„ÕÈÚÜ YM!ë š²( -Ù¹ y²n4ÝqõE…·F/¬}¦ëxR˜¸²÷× .—…E¯‘ì‡g™�/O”–\¨«Ûz¶¦áöÅ’¾«—óšO](l’ý"ú\ð8Šë‹Ë¿„p_¾( x%ĺßV;m¾jbn0å¿=¯‘ئC²Cð’º$Ë‚=áq23YâxBþÒTËç Vx>š#c-xØ SùÈb²²]ƒóã g4WÕ¾·j¯0iÍg‚ä“kN -3Vvýñá�ɲm¯�–çßÒ_žvrôªŠÛFÎÇ…™kÎß ‰âï…xþÇ«¥Áo?Ýšø¤½ê9¨É!×< µëåü¦Ï¯åÔÝ̪{z#»ñýp^çý¹mÔ�O³]ón˜€�ÿþ¯Ø¦Îï±ì2cóQ–ÈÊhš2ÛÍõØ€ìè 4#b;š“}\snùíE7t_=?í”æüœ³ZKJoé.©|¦¿¤ü‘þ’œk£—¦_åX8a Ÿªf;cÕc—êdÌÀ¯�3Çùðx'd6É ™Û‰Ñ — hUŠæPeh¾¼-ŽÞ«áPsßpå€`½æ,Ÿ;—;Ârð+ª-�êט/¯DöªFµå±{µVå®.nâÜò“ÕÚ“Â"œŸxúüE’üú!…ûñj‘Ï7ïYuÓÚ·ñ©�xÛU;úÈobþæ7IòÏ^GüÍ_Ö÷gnðßä'~ æNÿÌ{£T�¼¥¸ô<ö;ù_œU¦ÿ}܃õ˜iÆ£'ã\šh#A“g![‡4Ý=Í•” 9žÉhÞª(4ÛžF3æ¸!;;w4g)�–RUjË’NŽZ¾éª®Kï¿Mq¿+¸z?üÞÁÔ�¿äF|¹»ü‡keÒŸN—ýðk¦Ïs�óìÿëï®×s|ö ö~C‚XtS`$ÃB°ìñûxîɃlî«{ao>k}}®IþÝ—Ũ÷é’‚Rvç×õÜ×/Š‹înëÚ´­x¸¦ÙµóÃä)6Kÿ»T‡ª çxžáó4Ñ›Š,-—¢i‹Ð"�Xä@£åt6ZÓ¡¹¼îšÑš/„Yî¿ -±ða£üûÓùÔ_‡3þý§�²¿ßË�üö4ÝÿïÂz÷_‘Ç‚ÄçAéû“Æ~ÿºØïµäY}ÉÊ'¶^Ç#¢FÛ÷²à-½%„ùþ¶Lœ·w¼ô„À¼z—ýr_[ä«C­IOz»¢¿<Ôá/öClX´»ýÌBÅà#š=ýF!îý~‰{r‡ÞÔ™+H�ö_†xÜ&š; és¥8ÏÝŒbÏk-«øÒб[0Ƕ·Ìó�öý«æû«îý‹ py*8:ß»}#¸ùý]X—ñ ¾aðV^}ëpaCþ½šzù‡s…°†â�mÏýœààqB°÷¼%¸‹ž -Á’×ÂÙûß²?ß«á~üj³ß ÁÉ?0ZÝyñ2äí�ö1R½Oœ˜ºó å™;­qÛ�ø¼ã¶Ìž¿ûðÇßÒý?x0E&K3ûÍ}"ªGÍY$F–Sÿ�µ ÿ°M œgákŒšº„Gö��ê+k^š€ÿ[û™/!â_„Xñ_„ÿï…pŸÇØ<(ÿ[å{Cð?Beï…Ì€¯…Ñ-�ó?#xŠ^ζõ|c/þ{8óöÛ|éwBºä¥í;øÛRqù1ÉŽKè�<™O?pÒ–› ©Ú3s¨Ž³K™#÷äǯ)”·®f?ºTÅŸú:˜ëü°–­v`«¿˜ÏÊ?=W¥üæVµhH`® ÿËóÒÅ~qŒ†;ÚNÆuô4y–šï—�bh:l¾­¿òÀ¿Mt½#¬ÀóIäyNXåYrÆÜ3¶G×7ÿ¨¹ïyÁ�}z;3ú«}íª—¶²ïŸÉÞ¾ÙäY‰*ÍEñë4E“µEy%†¾MÇm}¯ -Þüë'%Ü“çÙâ²Ã½$rä’®)Þû�ÕÔÞ_½d 5†²�L-¶îá2þÈ×rÅù§±ÜÙ—¡ÜÕg1ŠC©{Þ¯–íýÙ�êåJïúÎ�?õU}ñÇŸ3‚ÓÚ�{ô&ÏXMêì?Æ8fÌ™/C˹ -5眳cÖÞœ|¾T?‰¾ï„@ì¯bwé.¤þPä‹}ƒ×¦£eNhéò…È?!I+àèOù“kyž÷÷¤?mí -{s¼‰þî}�hXà½w7ϧü‚µß§‚“è¼àïßój‘¸îôtñ§¿zÒŸ}ÉRŸ¼ �ú›•Úb" LÔð �!J£At’@?¿Ûši¼‚Ýû³¿ê“TÕåû©Òî+dñ›õÒÛŒ}õWú%¢Éö$Fk�õtµßíR �ÕÀqmüb4ÃA†–©ªÔœš¾™à|F˜ãúHXíýWA%ûõ«,ú·—EÜßU¿?[÷þ¸wÏ‹™oSé+?‡Sçÿ¦`¯~ˆS�eëöh®\·GË9zp”{Ú‰1n§L<÷ü4—ùð¾öâäÝÛ¾ƒzóS–ßQa�¸åõqß�ËDG·€�_W¤¶­\鄿ÛL@‹,-‘ÌÓ…ÄmÐ�Ø”3.,»lô‰ùÑ�¹ò2J1<œ-ýô/é‘¿xK÷ÿÕMVutº,»Ò˜ªÝ=�>ôDDöhžù64àÐonÒÊsÓéM}ãe¡9ÚÒÐ-YT¢é{ÙóZtêö†À‹S©3ïYIÓ�’ª“ÓD½–úw¼]à�ÜÌE‘§¾ÀI…¦ãØ™-貦Þ{(Oß[84\zûBUàÍëyÊ‹÷’¥{?¸A_•Uo*JÙ¬ç]Ô?Î}ËY‹Õ¡¥sVPhœ� 2�ë\‡Ú-!ç¼ËcÝž -k½¿XúÇï -éwÍ“\Ø€}‚³8·Í4`¾–)%²í§gÑÅÝÖØh2q%ú )èçä†Ü—8 ÿ5nˆg£I¯ÑŽ+Üc”^7žI‘'þyöLQ»Õ:´„ª9nÇTžÁn>2CÞ÷Ì;´ÿ®’krä²¶Žƒ ¦êÀ º÷• Ó~%]{zžl÷w®ÊÁ/Å·÷ªTOoUìÿ7gYa·¥´}h1uúøôzyÐû+ Ü/�+¤¿ -’¿ -)8žÅy½(¯cÂ2¯´Á±N¢ä¡X§æ×þxûä›Mü­W©Ì©Ÿ9YR³ÑÚ5^H, F¤G£ü3;ªò”�·T‰–M›�VÏZŒü]œQ�"T#,%×8")×$dCÞXUfÍxºó‹°Ï—?ù(ˆ:þ¥„üÁC²çõjYY¯5U9hËx%‚}µ²}?»KZ^.–µ}ç@ïû7_IóðBzS§9—¥ÃdÖ�“ö<^Áì{ïK ¾w—t/‘l¿0SÔûÍRñqÁ]|DXë?øërß}ÿ¶Ôw¯`ï~Ipôx'ø{ÿEPx|ü¼ ¾¾×ÿs‚OÀu��||·ž¶ñ‹ÏÓöMЉ×ðöò@ËgMB.È[ä�è°Tm61O44�#|IH’&ø 6»Ç’Â×–.ß9™è�”÷NWæTš³ñ…úlzó8Y÷ƒT×óULé.&¯Í‚Éo²�a_¨<{;&äæ™RúÌ× -YÙ¡)ÒÌmÆtÉÑ©ŠSÏÔwnÂ>HÕµk™Ì¡wRi÷³åLé¾)Lr�±¬ês;ñeAB}ø1ò"¯ÓÂJ÷ìSFn {t=R��qOÚ£ïuTX"ùNHƒ½|’;B¨~¿™§O rsòÃçä†\—¯A.ËW YB¦»÷¥??øXL÷=u’mÈÓKUzÒ%4�TñÙЋÆîzè¸ÿº‚ôáõØ€†lçÓ50稪½Óè¤-†TÆVc¦æØ,è?Qö<ö‡Þnð‰HùÙ­Hùñ'J屇!ÜîwÞLûËU²Î/W²½Ü`ϧüÚƒ$ÉÁ¿¹Kz_:RÛNÍ’Õ}:[zìg߀˿Q~wpNõ¥âÿJÆãæçuPXì·õÑTßÐB­5kDÈC¬DþÊ4 IJãX79ZåàŠ|<•ÈÃÉ 9ͱG«Öްhøxuwä¼Òy¹ù#©ˆFrU¨Fpb¦aPaÏÔàâ�™Ð¤,Ün=ŽÜÀKßàÃwÖÉ�|¥�üà*Ëi6£‹wM”õ}ç$k¸¾�Jm6‘ÆWéËvý椼ø,‰=ü†!½.›v˜C?3µeߪpǺ ÛJV~ØVÜýÐ^|øW×€½?­ hZ Úù~©ÿÀOËý�á\öª -þ‡2àê?Xߣ_!*Ùe!Êk2ïüy9}üÐúb±8«ÅD¶iÇ8Yj­‘˜WsZº9L³C«,E¾xÞÑQ¹£¡— ´ô”©å& ÅNÕ�™O¾ö’r_Î}Às‡Ÿ1ü�'RfÏ[/ªîÄ\&¿Ý’˨Çåt[2YíØß¶[P›û&Á<”ì}çJ]z$ÿâ~B§TŒ•õí óÆŸ TÍ Ð-fC4U)U¦ŠšÏó½ÃžtÏ�“¬÷îjvçsOЀP¼«”~ãJ—í±ar›Ç³Å}“ × úã¹-;mAŸ'ô‹3Ùq�Ú7<ÙÝrýb¡|÷[¶êó9Ì–33©]ï�™“¯xiÏ‹•²ý?xP‡¿ñ£«Ï ³kM©¼Öñ’ìÎqâòC“Dۯͥï6ñR¥©»Sqj>ŠL �¢î+S“¥4K6Ö:¯ñGSF™ q¸nšo<¹®X‹\W"?Ñ!É‚Ô(e´áâlØ…Éï´bÓ¶™Ði5Fô¦SY#Žó{Þ;I;ï- ØûÎIvô�˜:ÿZÅ|þZIŸ{Ä]ü2’:þN*9ø«;}ú�\²ï¯.Tl‰ž¬&Ú ý[ôž¼”§®¼}¥@uc(‡9ûF)>öïîÒOQõ•©ÒH4Ç|*šm0 ´Bî¾,’DmÒ–®ß¤ºA“ -OÓ–ª’5�\ÜÐjì?W/u$<6*©Ò�IÈÓ“G¨C¬àãSu)eÆ„•¡Ã…Ækò±©: •À<+=V0‡¿ JÛ¬èôjcißCGf×kÐ5dÒªŒøìmæLßCWå©k¡WODÝý¤.èÌP³ë�ô q…§0 ÷˜ê£3Ù²zû¹LÍ¡™8O˜)øÑIÒt}~@f£±¤`÷qÕY[iR«‘«®ìW •K]‘³£'ò“„©AŸ¥$¦TÇ~ú\d«kЦ˜ 9c­Ð*œ@~˜ß5Y¾íÈ|èÉSn91—k½³*°tp&¯)‘ñˆUEk-B`a$•Œ•ÖYr�'3ÝWV˺‡Wà\z.Œ¿´í޽ôð^Ü¡oié®ç«€£À$VŒî½ýôy!ƒ±eο -f/½§O¾fpLt¤ŠöXKcŠtDt´º‡;ƒÜ�DH:÷Qù£éÄmcéì¾  EGäŽ1QØwÄ©Ó댰-LdŠð£æÒ<è[aÞû°å‡gP1¹:Tb±>“߃ãù!œ6™1 #>²æØlªóÖ -¦û™ ³ï•»ÿ+½ç7¢·}ðµ?óÉ7RèÓ�u?])«?3W2øÎ ú€ –…=ßÌçïTÒ�VIê¯Ì•ôþ´Þ?�^2FŸ­ÃT™!ëïLíúນTÕ¡éTù'Ód ×Hz¿qïûe�4µÕØÃ?-ž±Í5�‚¦ÎG+,Bk×®E^¾þh­'Žm8?öà�·?ƒ<ÝEÈÓ[ŒÄ¡ñ²ô:cÐÿ=Ú µZ,ªNI°ï¡ÂÕ ?®ùÂR®çéZº÷™3hvS ùzLåž©ìÞ§þÊÃr°]¶¼ß–Ëk�šXü¾2ùñ‡JþØssà[Õÿ�µçGè £Ûî-‡kÈÔZЕ»l¥;®Ù3ßð§_†IüÍCR}ÎNV=4GÜóÆ! ç­£´tß$qX¶–˜ß î- S‡¤iR Û %ë³´—/t@ó'NG+–¸ �5¾ØoJ0"A^±y¯�²óš»¼åÖjà®�èJd* báaæÕY@¯?è¾ð;§C)Ž™œs¦¨ÃZÖùt½ÿƒ5ø�;]ûÙ\vS›9ƒ ϦV“ž¼œÖ $¿©ÿb!Ѭ<6“j<³€®;=�)œL—œ*Ýõj5uø[æð7bjç�®Ôæ#¶ —!Q%jˆ˜uê’  M*º\/¸ <öÏ Ez ©' ÊÐ�=Ф׌fsº,ÙòcvTóƒ¥`_ ù‹óЉLbÕzC¹!›§KÅd�íH¶ø€­lÇã夹öÓ¹²®›Ë¡·Ç¿@åñ;aü±ÇJÕÙáxþÂÃuôáod-7³8ö˶~:z¡�¹ðe¨dð'giN§¹4©n¬¬°ÏJÚÿ³“tà� ä;Ø6]¤{~t-0Yd¢¬iˆaêD§¥uh±¤û��Û;! (]Óe¥Z9g9Z»ÂÛ¥ùKi$U„ªËÂqm™P O'dêJ"5�AI4^ÂRµèôzS®òÔÐô]WUj�™"2}t`d†Žœ SWF¦ë¨ -z§°mC+@ë ´1èœsº|Ϫ÷ñj¦û¾»ç¹7ô¹rU{í@O�î}â,ßw_Êz*‘îyã,Ùÿƒ }ò-#¿ü$N~æé:vßk‘tÏc'vs¿-›W?žª=2Kvàƒé]>ù�Bvø7\wÜ_$M­3¢Rë�©žw«e}o×Ð�×ìeG¦Ñ¹Ò²£Sdi-&ÎÎþÈaž=r_勀㠬/©ıGª -W'š%»‰F'“: -4S‰]b¿ÉÖžËôéAõ­âS‹Çr ™z|q‹5]z>»íÔ<ºÿ½�ïܤ»¿^Ãå·Z2›jM¹’ƒS�µAgn7e3›Ì!N²y-DSg®Óp.^´k›ÛbA´$3êÇÑñ™:t|‘ÑÛ©øÔŽ|LÙfDEf�­yxôáƒF•t]¦6ôIƒÞWq|&_õÙ<:¡H?€ -Só—"°g*®P�Ëí´„ù"üÎUzà�µûªÿ½›¬ûÙ*nóÁé í:LßKWÐXí!ºeDÚxåÁõ¿ðc?—±'_(™OŸsÒÝ­ŸÎÝ9ˆ²–/S‡ÞúQ¾÷’5^_DåôXÀºš,½É„®Â>³çÙ*È!¨ö{Ë¡ôüA;RªÀs-$VƒÚ´ÍÖd½/WÑ WS‘E£½=x\¹#_qIc¹Í}S@›’+ꛄ¯¥—Vo -×X“=Z˜¬) �ÓfÝ>ì¬Ð’W Ìâj?[Ú: ÷I4®ó{'�ö(ÑÒÆ±BÚvy±´÷ÉJ<™¦“ ÙÖKË莡üÎ{ÞÊ�R®ï–³ó޳ç[Oúà×þÜ©/ù»÷2UϯWª\)†þûà‹gÓ¹ã�åàs™œ¦ñxîÚ3ûÞøB/.½ÿWi΀…›�V;¬A²ØJ}¦ûk¶ÿk/Уò{&ÈÊ�M•¥4C.êîÌÖ@ú6D7²tÏtÂc ÏÅo¨KX›Ì@S¸JÀÃX§:~-’?p_ -º0LH$þ~éXÐD§÷¾õ–î~ã ÚfTËC_ТfƒëÊ e†L~—%Sˆã,®/Xì+˜¬3.c«)“ÕhFåãú(e«“²Í˜I®5âã -õé %4ŽÁÀÅná€*âÔÙôí¦ÐßJõ½s¦ú^:�ŽWØ5‘°Šjp�ÓzÍøbÀÇ./°™@cˆM).Ìþ/}ùOŠ#�”ÜþR¨@3ÖNˆ†På>;¶¬Ë´žè†ó‹@{Ø 4®“èÁ÷^ÔàiÏó0g@ÃŒþLbž>WØn y µë›µlÉ[àîàZj2`±å»§€�‚†—£ã/Q‚OPÍwÙúTmYtîhº`p"žÛNÜæ#3üÅ¡Èmµò àš¢Åí˜:â ÄÄåë ô ™„2iDŠ–‡‡üØ(5|-¬A{4]éàDMÐ’a‰~ön[¢¥7LçËû¦ñU‡f­”ŠC3¨Æ³ Sdç+žTè'—¢"NœI ->r#œë{ìEô(ðXsGŸ2ŠË�”/on~y±zå@«Dqð }ùÀc�5|6O†kÙŽÒÞoWɪ>Ÿ!Y_2ÚÕYŒVÎ^†¼pMšN$nn(Ö÷±2^]’¤é# -Å~3±¡éÚ =ÖzÁ;°íâZ¢�]¤ZQÀ- }6½Ö”^Ÿ2 -â¶ò“Ûª�£7¢¹í'€.h*Q­ç3‡ßK˜#?JÅ»~tdJÛ‚†=S…sʺϰ)µ&Šp5ÈõØÒý¶g¡®–†Äi‚¶?µq³hRÉ5c¥q¹Øgê±±Ø×¥Vó 7™Ñ:^™ªåç‡c ŒC “LkØž€ck�h á84Â8m³Ž—Z8†ßTnºŒp^ÀA-n¾|ß Ð«Ã1ÌyD#k×кnÑŒJ©6CÐú�õ>Z |‚žjý¹Å�wqGž“q  ôeAQTPÌ·4–q¬”í^Ʀ6›Šä±ê,ö�L¸‘1 -b›ÓjA§”�Ɔ´4,–\`ž­W':…=Ö# GñóˆÙ ü"\§˜ñyÛ-€‰ñ8¬tl–¬“‰ùhuœ#¨ÉÂ2µ™äj#&2s””‹&:EhåçÔ™s廦âº} è&²;x2Ý·�¸º ‰æÝÖOæ³Ø}н÷e!Ÿ_H?óYzàþaц¬?¿樬õ‚=Ärþóg!üÕçñЧ5<è¸2AÁØ—­×`Rëp|ì²b«ÇÀZ�Ùb5‚¯,TÍi¥/Z>cr[ã‡$aiZRe‚†®]]=Å8—Æ9¤<Šð·Å²`5ÐäýiÐ/í:4IKJGªÓ!µøôS¦òÀ ð� ÛD7^_¢Üÿ€Wî}ÆðÕŸÌ!Ú…Åí“软|ø“/éÓá îôæ£ÓHÜ>Yfëxj]’–¯X‚€; }õÀ€“Dfj{xIøEÂ)Ãy›U‹cz®.°9éðMÐÅ$¼Jl_  %’òˆ ‰Öä±�¥�eñ\Êm³hÉ·žKt™q͆$h½ªšcóÕç‚.0«Ø¨xmЩc[¯,ç«÷Ï}þa®¾"qóXàu_ƒî¸îÈöÞq…Ü 4C 7;¯Ùt0å‡ËU§î®—|ÈÒm×–Á6…¯%pSA3•ɨ3ebKõdaÉZÀÊàRêcl 楘 Q£Ö§k–Pq· ³±ÔP„óìï@û—Áµ‰å©µ& õ®(°%¼™¢V+à>¦+œ?®[@+X]R#€·ÅlÜ2†I«3! ƒüNkEÙ;¢'ëœõÇçó½ÃîŠÝ÷Åò®{îlÃéE`—<~À=sˆçLËÅel×Mg¨åý/ü©Þ'k¸ì6|�êL�)#ëx¼œÚóƒ;hNH;Ÿ-§7LæsÛ-á½y­uÇó‰ELt‰µ>_'@§NE¤kS1p-Rµ¼D®y\‘Ãô%hùÜ¥ÈÍt9CÔÄÁ1têvcfËþ©LJµèă–*á§–+²k�Ýgö¯°bh qÝw]A‹™ø¦Äl}Yç-G¢ÿsæM0sò{9ÕþÒ˜cLB¥!žê>¸öò  Ø Ý÷ÜUVnøIòô!à]‘1H­1îá8“Y¬zÇ”IùuÐò&ÑñYú\Bšœ¬E4å±?äÚ/¯Tvœwá·}:욉HÒ}0¶ùêr¶óúÐýârjÌH®ÕryÝ}c%p”ùÛ-Å]“� ¬<<´é¶ËË{îIèþ¯=˜�e†²�MÂ9/Ý1E¾u`6pÙþ7ÞÌÀëûž:-¦Ò½SÙ¨R]6:W—ÂóO‚Çt¥¹êSséöÇ+ùíC 53XKm"v÷W„yŠý ›Ý1�Íí¶$ùzÍçó¸Ï�øî—Êî§¾ÊL×íÕÀB”§W›rE=“@Ëtô`?è3ù}Ö$ç¨8>‹m¼¾”ïüj-ßûÒ[Ù{OÔwG"ßy×ôñ\ž'/l›¨Ì«� ß~lÛ}Ý…ïrŶé@r2œÛ0¥»&ãX7“èéÅ•“î|¼Šíçà ¼ñƒu X'=h¦´g‰û‰ØOoÞ; Ög˜ÜÁ‰²¸ÍztJ�1•Pe@­ËбÁjΫ֢•+Ö ¸'äOEªË´À˜®'N ãK®®kÅÑá±ZÀ¨Pl?ë@hÉUÆ„M‹ç9\ Eß°/ÛteŸ×4t乤bC²ÞY´ç]ù†òø ]üùD¢×wè­ˆ9ú†–ìýÁ•ÉÜf -šŒ"ùzÛF8‡LrÕXÐIg7ž¾؉ KÏEÄiæ4Z©ò:mTyMÖPƒÑ!àÇÕ||ý�Œ R=Fˆ› ·ZÜ 7L‡oÐ"ú“›¦É›/¬àZ¯¯.+hŽp_|lÿWÞ²nœÇ;k]‘®44Eز2.FCÆF«ƒ·2¾ØP•¯Œ¢)’ªÍMÛ|}¢©¼¥*úÜÀ€H- ną̀ºøc…°�J ·°h÷ÔÀ”ªqAq¹†ÀT‘oé�ú‡·¼|÷tjà…‡êäµÈ ëçs¸£/°ïµb4Âij\ ¢Å]q`áaƒØù̃|"ÜõHÊõ|åÆâMØY8fÎPVë`gÉ”a„�¥ø;K6ø�+Ô‡pËß—"¹Ò;«„°Û&)ר„ Otiû&‚þ3ØÞì,Eû£µ|׳µÄŽñ—°±ê2l[Àš‡ç(€Õ°©fäÓòÂîIðž¸È\.}r…1ä­ -œëc?0KÑpÊA¾õà\yå�Y„ÙVÒ6‰Ùu×öÞÀZ)hqs)5Æ ~Mà›qw�!'…5@yTž®"&Wö�6VqïdXo!ìßÜ^k&yË*4^“°œpÌ$1òvV×]¾÷ž'¬¥üÁ΂x+OÞföÌgV™¯ ØYÀK†Úì?ØY…#ì,®÷ƒb4!¾¨RjÆña)Ú0wAÃ_±±Úr ð¹Ê–‰„g¶©ÁB•½ÍûÀñ;øÐŒQ„½…Ÿ˜ºÕ žzë~>ÔñŠ’®) ¹M˜}�k4\X®ì¼àX¶w–<«Ú tŸ�÷LX°›Ngv½uçû¿�Ž,°c��Gž�c'¬0­ŸÙË·ìš>Â]OÔV"ð`=îyùQ<ñáê~R9sjP;Âz¶¿T�€‰ÍaŸÁÖ^\¹$_f F~¾ òõ— F©¡Ì¬4Sï˜ t¨Ë ÛâNÙ;X; ,زýÓ@Ãö@ÍJíûÖ‹«;·xóÀÎò‡½’\ :°³d ‡`gaÿDØY^øïá°ß•É•&Š”Â±�1ézAQEÀhäôٰx-yŽŸÀîÂ>™/ï› - D`¨‘µsàšµ¯æÚ¯¯¾«<­ÞL•×cŒ -¾û–äùpŸr*Ðæ&|Â-S˜îagˆ-„‘P†óŽüV\>GàrôÞÆùÖ�‹*§ÁJ�§”^o˜…ëúŠ~;eÿm™jï}¹|÷s1 ÚÉmw;‹ðÛ÷N§Ú.vÛzÓ‘°³rZ��¥ásQ¯Îåí²­n¦޲‡°³”ÀOvVá;KùgvVü쬔QL`”ÅâÚR�óvÈy�Ÿ·Ãô½�¿9 °À”©ex~Ö[[�<×|$~~Ðz ŠS.ä „ûϯ:6›<€©�ó’�ãÝSøZÊcóôŸ,*y0¿åY-tã¥ÅìàkYדÀ?¤‚"5`9�P«‘:!6y4ªáë%G×äáÙ£àwüÅ’ªBÔùMÕ¦°Žñê7x]XÃî4†óŸìf ®ú“YÀ«6·�» ùxÉäÛlT*öÇÛ-{ì€åKòJ·yð'›±Ïŵ Ÿ^K˜°ßŠÚùÔ™ßõÌ—°³@#=&]GúOvVÚïì¬dagíŸ'¯=m¯H*+•«Á{Þ6Ü+UfÖ�WÔì�XÜ=50©�ð­I=žÙ8žè±·]u$¼‡€KC´ì�W@ØäõãùMÛpî58â Ûvm%ß5ìÆt\[M·ž_ - x²ûsH-ÓeçÅÕ}¶´äaߣ¢üèà’*vÝ÷ç>[˜Zb†ÆhªÖgêâzÍŠk¹¾r0ײ#|ÉvCØY÷Wó;_ùÈžÀd¨ #!_ŸŽÈ%‰LÓ¢¢ -GÿÁ΂õ%`¾ÒæîiŠêsÛ,I|/h³á¶í›-¯ûÜ^Y~x°+å 9ú°W æ8¬›(ó;mØÆ‹FøŸÛnLi» ü.Ä9ð¸ª�-Pn94K‘»Í|±ž¥ ü-àÜs­§ØÎN°¾Fî¹K0¿ûÞ†ñФZSÂpŽ) ¬{UA‡ _Þc ÷/¨]>¢àš²¥=6lt¦Ž” W—†©Cì$ù/húgT›ú¸³(@¢Æ†nÒVÆ–B}«ÌÜ6˜'à“¹­‡f+zød¸W±.{4ø|.±Ìb!¥Œ×KCÔİçÇÈ¥ Ž)s:&’‰ãáìš'®Û`¬—ŽðKúm™m'A[ßj.¦þäà(3Ç>Xn›5Ä�ÀÒ6âUGçËq­ - Xßa -W�p¨p …[îK1uŸ/¤[®/v–rð1#Ûù ØYìÖý3¡çƒ+Ù3…Ëí±-k†¬9Ÿ™IØYÀ -�õ¬JlŸe½øœðù;«h„�Å7~º„m½° bYoÅ1_™ÛjMrMì÷�Ùù0Ó|Úž¯Åç]Ö=™/é™LXó%ýÓõ§–pÍç—®-ÜsI*5Råâú~åv\ç�3ß}Ç�îZEïÀ¯Usl6ðì€ó¼'EʼnyÊŒ &"V‹¯Ù?Ö4ûîÑ�‘µ�¾§NTû¥¥„ï„k,RkT�÷][Í7]v„ð•Õ9ä{ìàž»¢òÄ<²o2=o àž4øÄÕõÇO%„¼¡Ú=ÀôÝvÁõ�3¼gðEŠœk<–øðµßÜ; öºq‘¹£å¥¦“š¹õœ£<£ÎLªZ¯Îàœš0¬ úl€»Åbû—±Qê2Y Î ¥H*Q!&"cäÇp^LóK`]ד£¤”R�°<ñß’oîµ¾ì_"L¢ªSóè¦K€9L9Òç€kYX‹b#c´€µ×S^óé|¶ú“Ù°–1š�ÊÑ¡”4�£ ÷Ðå¥g> -¹× LªöIÀYƒµmè%ãkÏÚÃ=+Â<„5L°‹²³Å{§‡Z™ßeûo¸†s#¹%™GýÓ••ŸÌ»'c ëMÀã*l›k×|ï}oì¿çq‰ù|T¦’¨%OÝ>öõ°û^ú+>’Ëw=±­Ã+³ÖwúضãÆ*®ýÆjÅæ=3Ó˜·8ç#9kÕÁ™°¿|€<¿ÙXlãéÅô®§®Të•%pî7“^ǘb=“*÷Ï?¹”<½Øˆä)Ù�”E6äžöïtë¹%TãÉùp}€³õ¼T«ü -ÂTÁq…ø¼ÒØÃ2ƒpƒà¼qþHbž÷lõ~;çç¸nY ù„„Ãþ ç¡LdÖ(xß°÷ŒÝýÌ€4¬[︽’m8¿æÄ/¶¢Ï–ízì{=û1ìö öÄWgm3ƒœ^—ø<–°÷xO°/€Ä=X»‚º¿ãª3øTro:8\ê^ˆ±ðúLx¼ìÉ€µpà±Aµ¤’À&bfÓx`ªÀ9Á½1&b½¦Ÿ·Îiåˆßˆíî1§m5á™:O^¹o&¬¡Â=HÈ剅†„‰…c4äHðÞ”¥3äõg–ÂúŒ¼Û~в#3¹ôºq°'‚�ÍÑ•§Ç¿>ø¯ìö 'åÀ²�ÏÖƒõK¾îó%À<"ü `m.³y<ÔÙä>r_`�/¯öÐ\ÈG·˜í%;mq�Bøpï|9añt\wv<‡Ô{P«b»…tçÓÕôŽ»+ÀçÉ+q.\%ˆµ[Ï¥{ž8+öÜ•'îÕÖWJ¹1Ù{k�°¨|¿WŠóZàÃ×àŸ€»Üsw•¬ãÆ2ºáÜ"rO' ǰ<ÇFøÆm–ä> ¬GÀÞá¬F‹‘¹m"ì# :®�܉/ëŸJ…¦kÉ”5 –näÀ„c3·á8Ó`Îãü“‡ýVå{¦) -,ɽ²†ã ÙÎ뫹†ópŸž ÍÖqëÕ¨u8–ï´¡Ú®8Àë“û5ÙØò:,aŽq%}6ô¶ývTç5GªõòRªù¢=ô¢²1Y:ÀÇdcÓuä›wN#|8ØCR°g -¿ÇÐØ=Ez“9° -åÀÒÆù(WµûгÁ&qÍ¥÷ÞÀ¿oJž�¡Çn,3”§V™ð…½ØGuX‘u>\3‘z?®ð¥E> ¥äÑP›@½ ×ò$¸ßÊa›åâ2tˆmc_3yaçDØËÃÇeé* ž×Ÿ\ù -ð´ „=[Š’>[Ø»ó -ÞÜ/–§5›Aí þòHÂMO®0&{Ž€Ÿ¶ÕÇ1Sç�÷Š} -—QoLg†ýŠ9m„Ù­€Ü8·°F»©Ü„°šˆþt!á¼Âš ÎCaŽsÛNŒø#`ŸbG8WÀŠ…uv<Ç䩸Úb;Ãõ äE`ƒ¸ZÌÔ¾ÆrB¦íó¥| ~ |ž„'üPàÃ:¬“§•‘{¥8'>›|çC?è£cÒp¾ {iKñuÛ28Xt„W÷é2+L¡NvÌmrÀ?l=:›ì®Ø7ö»7„°_æÉðµ¥Ìë˜HâRÕṄ ŽÏ™ÛÒ5…Øiùn[zë©ÙtÕ‰™lZ½)äsäÜ`ßKû G˜O„±™ œpÉÀ—«eŸ|åÏ |åÇõ?÷¡köÏ`"Sµ¡?ò?��ÇÇããññøx|<>��ÇÇããññøx|<>��ÇÇããññøx|<>��ÇÇããññøx|<>ÿ?Ó¦¹Å…­ N -6`= ¦9{- Ä_K‚7&…'øL œïœ˜´6*4)*>.81ÝÆkÁ¼Eö6ó%áÁ16v#¿iƒÉF”‡¿) Ž Ÿi3žÍúùR^kmmì|ƒÓÃÚδYacçìµpA ~þéȯ®À -ÞÂ2x .‰É׉ƒ“ð«Ç�|Ó%¿üú¶fC¾kƒ¿m³d¦Ágü`Sá“pƒdüa¡Íò�MÇ_xãOÖão¥Ú,\`ãg#W.° ƒß—Ì]¶ÐÁÁ†ü _,^:o鲑¯}ÿüõÈGßþþÿþ5ùý¸ÿøóøÃ†‘Këî8ò)9›ß¯³ÝLü~XƒùkÃS¢BÃ]ý8Öß@n3—\jòæá“?½‡¥öó/ÀHi³½tœÝºñðÓߟõû‡e6öø,\F®”½ yƒiÓÈ{Ûp´±_¸t©ƒë¥ëéÅ 7W?äåÇ ?i˜š˜‰T‡‡¢.¢‚ÕüBÕüDjž>r$‘­S“†çjCߤ,"[[‘¥- KÑ+6¨»9‹Ðš•žÈË�Cþt´š¿jƒº¿,ZÝÝ›Ek��§»�¦šX¹N]¾Q+ 8AƒŠ-Е­/Ñ…ghùH‘Ÿ(�Ž”44IS^4J”¦éHþ¶w€¿†¹­ñÂ%(€‹T‡> -ØóîëD~'€‹R£#ÒµAE™Q54�Tym¡7zg‰îoL¾ôP“^™�•FЯ -ýư—ú;•E­“ wú+é� šrè· •˜L]К%=›5G@Ÿ'ô¤ñ±ÙºDÓ”¯ÏБ'€æÉvsЧ"Z'ðûÐÓ´.m4±Q[Wl¨LÄ?¹Â4N˜„l=¢µž¡-…eZ¥FÉCÕAß´ -˜° ZУ}È\x¢6hoK(QÁ1\âV#èÏ¡£’µéÈD¢Iš^\t–ô_‚&«T¤&åCÔXèï�ÆçŸ¡«Èª1W”ÎTæõL‚ÞæE”š¬Z äÜËvOSBßî:ü:Ðg -×3q‹ÑDÊé°–îžÌå´M`’K Ù¤üýZ.½Ö”‰Ì ŒÓX.!WŸhpd7[�}åD§Äˆ\èEÈkž½Q°ŸìíüwèÀh š R½E±2Rt¹A×Y¡&–«ùˆ4œ¤ÐëÀÅ}H?_9ò>‚§ A?ªT«!ÃçC‡âkŠ¿mM·µ¾úUA'–‰*Ñ¥¢Ête!iZ .=TQ0’©Ök€–¦·¿A?6»±Æ( tƒ†·�\ôgª²›¬ o˜O*4”GdëÍ¡¼FKèáR¤U›ò1ٺ̺�Ú óEz{°íÓ‘qšlø-Ð��§aÛH)5‚|eùþÙòê#ó”©�f|lŽŸ­ v}� o½%¤ï/½ÞŒôMÄéƒm*òº'­ÆKËøÖ¡•ÐÉåŒhO0 -õ¥J<ØH/s¶gèç-é�Ú „—¥KzW2Š�•ù“¸ä²±ÜúÔѤ7úhñ¸‘þ¾ˆ-.«Ë’‹-ÔóáêîNÞØGº# ƒç›2ESÂ'hÈøh<–Iš~Høõê~þ<ò÷aG˜8ª8 ¢AžŠç|¨š˜R!Ðo…÷ú¯lXÎ(èçabKõAÓ^GL…©0‘jD—Ÿô@s)u&\d�ŽT™¨t. §Y�¯:d|ÖCïßH¯6èW?‰�N-__¬'S$hHØ�ÆkÊ×è)Ò¶�S&V+b³ôÑé:Ð۪ʨ6ãB¡w"Cúf¹¬­¤÷ 48 ÷��.amàq z?i•¦Š¤rcèe$Ú|)õãÈ8e5Œç«O·ÞIèí†ÞVy:¾® i�}/ôŸ(K÷Ú)·žX¤Ü²w¦‚hC윮̂û<}â±ÿéÆ>ûLè½»"}®x¬ØèŒÑÐÇ6£L-2‚^XÒÏ ½*…;§@¯éwM.5"ö†ý²2¥ÒD‘Tf$OÌ3?¯Et¶`Ì3«I/*éß²kš²x`Ì5EÉΩ ™5Ò/ØoKúÍŠ{&)rÛ­@»GU°Û–ü-ÐIØ�«ÏçµYAïéŸ.í�"‡Aè3É©·à7ÕŽ#z “£K84D»¸ÝzßøìZsyrÁ˜ß  ~´Äà½Ò*<–`�Ðÿƒ}Ø'è]°‘±ZÐ;:`WÞî"äí+A  %c±-zÒÈÏW…d<~>öIth¢–L¡þ‡èD¦�ûß, ^¯A‡ÇjB/µ�H†Ø0u&|“6•«:¹ð·A¯lŒJÓ‚Þa˜[ÐsEú¤â ñ{®ÃÂùÅëËSªL@¿tz@CCžTm :�^k=¥ˆQ—CNd¾.´Aô>ˆ®*޽DWûBðŠè ]Ð\�'�ßÚ¥ìú,èqT”uÙB4ø°->Û'OÒG•Ûb :?ПËEfŽ&zd©ÛHÏ ªd÷tÒ{�ÇM‘Ùd1’tNR”öMÅù�5h)6÷MSTž¾I±yŸø"eêfcÐÖb#´Hž�[ðQGA¯«bSÅ8ùÆ -#>½vèŠ]3ÐF€x˜Õ}lÓ¡RYˆm úl¡OÏ¢%GtÛð{{Ȩ3�(8'˜KÐç*¯<2‡ôðÖ�[ ý]Ð�}S�Ïí�ÜÖðÚ G=¬ìè%ÌÓ—çb»ƒþ7°ÅÍ;§‚Ö³²tÏ4eV§5ôïã¿es z¦ø„CУ'=ô å»±Ä�Äôôs˜+L¾öñ›t¡÷�øTìkA‚ -NÀã·Žè ƒ¯#ïÆ?úÎáz€žº”U©³��Âqa}Ž.èÕ2�Iš\H†6è4�Æ�ý"¥ˆR‡üz!Agt�@ÃôàAr¶ß„R}¢+�Ý0žM-7‚^j -çTxšW¦ZVÜ–Ã3ä¥G숎\h’‡})é5Ås2ò:ÐtûMn6ƒ~x 誱áêD«ûI6hƒ­ ÑùÆçqú‰@Lɱ¹z¤ï”œw�ÉÁG¦áXžƒs¼+bÏ 5ƒc~�ünjƒäB QB|TF³é)Äñr;C¢É’�ó¸ôZ3¢ñ”\Ï$ò¤ýXÚå>ÐÀ…gô]ÐCù?»dgÝ&�¦…òmv~ Ü8 — {:MzÕ T_E «gvyÜð3¥èžnÀs qÈ�x¾¡÷ ¶ú=^OǼÛÅ?Û€µŠýóVãç!ÏzMfmâf³Þ�V3q ûØ�·[ÙÓ“õx�§ÍdEÖ¡r¢À»ë„!¹àYs|ïÜ3Áóü K‡µÁÏò4—–h\-QýBóQl=Wêzu)ä*È;ŒÑqYÐTÂxé -èFäo¡±)�ØËÞ3@G?ˉÆp~¦�7ÄhVàç³á9\¸'h~`„…„gœ&Àó¬X[rŒ×9Ÿ©p/E�ó°~ù•É0�ØË?k,à~xÞb´AÏ Åé_Ïùùàg¡†dQý§Ñxášµÿ²ÏtàY u€õ(ƒ¬�mü ,ŠQ±U0Εø¸ä7�µõ›�GAC{øÞYÞŒKÒ|¬÷qÎ}2¾> Ï)¸>»_[ z5�@Gž�&M-0ǹ&-dóÖÂóÌÌ94~ÇÆÂÀù�N<ë -þ% 5*vÏ^šûL†œ -ºzð7ð3ìNpoÃäYÈ›ˆ@Ü‚v7}Âi¼*L/�‚\ µBˆæ?ŽOÏô%ŒéªåzbôqøÞ€=-ÃCüK öÁ =×ê•·´~ñó²^wW‚hÌág£/!|Œ¿š!¼rcðh h`3ö1³Á' |m«°™ŒcÂ\8(û¤9à­:éàUÀG< |Å@ž±¸2 <@xÒ³2€IñA!N&EùÛÔf `Ðî]ž�ãÕ -¨�bÄ7p¾MÀ3Ž„6�3±6DR«2æß'¬ÇᚈƗL¨Ý ÚüT𓵠ñ‰s€{ŠäÀÕ Ø -q‚_ × º5âp"ð·@5 0?àЃ£qM:\gQ}¢úycËØóÄ>T?Žp ®CC`mÍSˆ7˜ÙŒÇXÕNöçëX§´—Ðü…˜„<„ŸAþùÿÀ|�9ùY葲ë_¡÷ð¹yf,_ ÐI§n¯€ú šf0ßáïÀÜÍÐÝaP¬á:úÛG,GÁ<ÃÚ èo‚οàâ̆§d�32¨ÞQàÓÏêã7¸,ih�¹~¦ÍO¸"+¯éØ÷ÕXöâ¨&ÑfhµM¡z >]Ÿìyÿ©àE÷ž…× ®B�€^àB87Úxû){ ñ�“2 —¾A¸Oø Æå,¨É �ùÜ[ ó j3hʲç|§`½S”ûÒÆf#ISó‘‚##q=8ï3…dÆË^iK¨¤Ê}ØKé’ï4ègb= ÏØE"ŸÌtÄ›mTz» -•ñþö‹Œ}»“ ~¹4…fž¡Ö‚gyÂn ø^¥£ßî`C -·²v1³Ò'lÇ‚Ž9S¶‹JiÞ�5ZÁ³Ë!icŸ8Œ¼®f¢Êw± J¤:aB¥2èŸ k ¢ºâ7x)Ö L¨Kà©â–®€ñ1:D¾¹kØÀ§ë™È’횺z:Z‚a¾Žâ -æöõ@¼kÒŸ¼4ð†8'âO ¥†ç&Š{èó@?�5÷š,D¼tΡo¸—<Œò§‰Íhàt šF¬eÆÖBsÿ©�—ï@Otà!&A^h0¼ÔùŒ‰ {Âaœðœ÷Tч±›  8TrÞ÷ê@ûz»¸ßi:[ìs{Xxài„á.ºM¬‡µP.¸NÁºÀ�ñ%;È5©ÛCº‚Ì~%Ú.dÄŸ¾ØLú² ñ 8îÖ„‡yŽòÆç ;å1÷ô¡‡ä}}î'áþOä\Ð…¾ h7 ¡×g ½„7_]#è�K,QMüh5{X¿áW”'1‡òÁ[+À¿ð>Ö̾~Öq‚4#Ý®.ÁzgXã(u1è?‚;h"36Á3Y+Ä_.yOƒþ*sÉc*èŠc¿ß{«Àó'Яz¸<ü„6)s ÂxA�`ýòÖÐÉÈê�ŒkÆ/P…¶ñs˜ðGÉ”FEðc=Ó1§S'QͳD8Ç#Mæ�(®J™N¨ÛK%Õíc#Šv`ý–3“DŽÁ³…!wÖƒèa=6Ђ]~àpÏÖÃýD•m¤´ìÁefãéÃgG_g€¯C�D¸ zøéåc,e: Ï46€µ ‡,ÌXøNÙÄóõ‹>Sq�å\¨ M-¼rgül½Ð'wµðR”czy ¼�}*йImb‡5yѽ_Œ–m\Áað¼9# zCB”o¡G&@æ‹è˜Í8X’x¥ÿäëv _ƒ{…(—±žYKp�¸Û1Ë1 í ±)„>ÞO� *âéFúF§¶èA“”Êú ºyL°¦Žcic„ALÎ�N'<4ê–Ä.tnä�ŸÃÚ”Å!ÖÄ�fÈŸ®)‹@Ók{B¯î—KÖëü©å7Yd�xÂ�o±.Ö0_Ÿ Î kB:Ç-ze/CÜyæÍhü†5­fàp>È5~7W§úç®…œHÅ–ì`‚_m`üûCL»M¥`Ž[�Á:�îi‹Ÿ°Ç.Ž1tMZLEoŸÆçÞ -Ú<`2Ô4è]‹Î îí’³H蔣usITÓA üÓè Ä+QÍ-6�ØB<§À—JW}@”Ø Þ#€1 �€ÿh¥ãy�ê†jWÌëíLdÖÄøÖ&VÆ |EÀÛRpõã^FçÞ¿ø:`)º§À×±W…šó§mÆc]N”o…!7ŠÜ’Ä.É ^Z�€AAß÷kÀç(üå&àñZðYŸhÌÛWíCð¢ö#¾¾�=4÷÷EgÿÉ×ÙàûëÁ3 úo€Óa®æë0_'€Þ=^_Cãqb蜾Xì=óucÄ×Ág�-î;{f-Å|^»`?Yè{m%ÖK‚>ö˜È^&L©Re×ë o·�Lf·† ñÍ.ì1qÝó#‹›"œ#2—¥Äçd‡µT÷G9 æ&œx_LüjÖ\ý+èg@? Ń0àÑ:‘ï�Ub—¨ù"Ì×1_ Y8GÌס‡|xäP”‡ÁW‘Žz¹üР·}JÌÕ.Å\4ú ×à7Ÿ%” ©ÄÊÝàUG%·*"L2ì1�0ÌSܳ=å4�”Å¢ñ˜�uÖéê/$âÊz$A[üô˜ðœ$²DyØ6X<&Dæ6`î`ÿ§´_SF�׆=&Dñuʤ¸>Їʘ¢¿oé7tÌ@S ò*ø•Pqˆc<À=W¬Iç�³œL¬ÙKfõß_ð™&‚{æ~c¹Ô5QAbî6b° Ö<Œz³ƒIªTdâÞîÁº–p� ‹þh ‹ý%“°6hrýAqV£Ü:êÕVŸ>7WÀ ë}{Ön x±ŽuÎV ÎzL4€õQò„ äW±KšŒ#Ô$è endstream endobj 44 0 obj <>stream -kÐ'íÆ‚F-il= -Ö†}?BäðzwÀ£MøÜ ÿpáp”»Ä(·C^ÄZn(þ°‡"ô�@?Åø‚�¶-ö˜ðJRø§Ç„/xL ëýCý‡üb�ùxL°ˆ‹67Еb uæ#ÔqOÐ[…XÃyòbÀ ¼NÜþ¤ žO¸‡î;Ÿõ¼±”õ{°z8¡¿Ú|€mä@+ Ö0‡FÜ0þŠõ ï®�9‹s)äN¨ÿ€/—"lƒµþÑ{ÀÏñïãµÄø Áʾ؀û§'žÇ> ^S¥§Ð8~fæmØc"|“ݨ�ëÇeð˜�úúbǬç˜�–¸í8À)àßôÓcbxLÀµIÿò˜0µ;¬“ù|«ÄýÆ -Â.¬5ôH'‚ž§[Öbìï⟳¼Í脲=LhÞð@�ß=eÖ÷áj2¦føP ëg'-€~^cÜ�ð:¬™AŽ’x ù�r&ôf±¶ø*[á57ðf4iP©ï•Äm±-ÂC  -9<6`¯ô‰€ó3g½'áþ|�ø°àèåQz|Óšª4ôÂÛºêØcB€¸:Ÿú§Ç„äX»ÒÕ“Ú"Ÿð·°Wô%M/âÞ ¬�Clb^ úšÇ/Ž�–ø=Ê7ÐGí=à! g+ñÎ^:¬x­üôp¯Kr%c9Ö¿¾ö†`Šó®ÿá1‘R£"J«Õ mcäÿò˜H/Èâ˜�>¤mÀ,À÷à1c vúW� ·a� Tã°GŠ©â@ÇlÆ2GÏ�Æýçä…À±�šGÐÇø×ýæRwg}&CïU2¥G‰NéR¦C_mÂý~KÏ)ÔÕîƒ0OYKçI°þóWŒóP˜<ö»Aµ•1»8öð§o7ðνq*­V kªƒF*p!긌ž¾¡«­O Þ?x¬îGYøM†¼~¤‡Ôiâàn-âÀ¾Cx²B¯•¼ÁbäÀúf°†ÿ``¬U üÕLè‚öô€^ ðrð�T3“CÝÎ ú—p_°NhF›ŠàV¿šSÛÀc<&ô4@_Üp|š%ÀÓø?hZc� MšÐÖ¢ö¸ÝX)xy |�û“Ç/�…ñÆë&gF᯦æ£à^‰N¡ú¾¸gí&PÇ.â<„±EØãm¢ØW{q^Ì ½Nðü -{º™‰z¹p&è.˜Bn £oÖ/ š�×QÝâ`ë=†åmb35A×ò6¬¡H­P.÷JY*J«:$Él⋯vêÑ]jd|õNì1�æ ësc9W€=&èØ²]ØcñgØo¡¥kHèŠÎÊ€ÏøB -ûl{Ä/ïì1á2ì1!þW� ó¿<&,GÓF'd)ÑIŒwaMÕy:¶|]²‹E¸÷ |o¬„<‚9§M¤¼Øãö -&¥ó {µW“JT†¾´Èõú¡}Â<:«K üÛ0ç-màK°? Ø{óœûT¼/Â:tðrèWþ ž €ÿ ‡&6½šOì=AXSb3O{¡7»<zmÐE¯i¸Çn5ø8îa€æî�)x�ÇÊk:ôÁ¡·"‰«QÅ”îæì¨~ÛÀþŽ;«%žéË g�ý*ñ:´ßtè€'$˜³Š¹^§#|QsDú¤Ü h_ãõð«Búÿþˆ³Ù„ÈÁº(ƒ¸)ÂáâMyµC<&ÀלqO[8¼>‘¾€:4¼×Ÿç«±Ç„uÀ Ì£ü3WBÏKì¿{L¸{Lˆ¢m ¬Á�°¿Äñ—ìç†x*Ö(Fï³ÉÕÊlj�*æ')-ʰf>@à“G…ý>yóÿé“—Ö­ -û~tyô°9Þg�¸PûàïƒÖzl¥’(µY�)Ú÷b¯ �W¬¥G‡^ÔCÄ‘D·ê(ã'¯ÎJÕáå|P†¹@å¯g¬’äAK¸&ð%¼|>`*ÎÅN‰ @›�NmS�x×DxPó 6ö+å‰P}Gu^|Æ~‚êx’šYŽ�ü.9ç�÷‹ÜÂæc}eX;‚½e°çÕE!h3ûæ­‘8g,‚5!À¿Ø× Ö(a}�%샜øüøÄnSp¯ÿ¸Ã8‘e8âÑ×—Š‚Ÿl�ü‡½ÀãÜ<ÈõÏÅÚÏ»¬µ/î«CßDšÐxüî… ó€“@/ -öû^–7²pž"¶õ“Úú?=!alɬ–ƒÒ‡eG� -‹­™{mX§ÒÑP›0_ƒÞxBÜ_ >·tZ‡*øvÒÉMŠlxáv‘÷ÝU"�¬%Ø£ÖümÂä¡GÇœuŸ„×`ÿÅc‚Bü¯ ¹'.?tà‚¸²àSG�vOžº2ÅÈ|ÆãÎ2ð—Æ^õn ˆ«Dÿ"üËcêìÇ ¾½ŽŽ~± j¶Ä#{`¿¿ú«˜Óúd.gÞ)Š«ÕDIÕéôúúäÑùäå´üWŸ¼eðɃ}˜xŽAÿÅ"Ö›¸¾ -{I¡úûÁÓû.yÜX{À��µ‹�Çñðl½Ð>yÄäàfLF«:ëw}ö„t¿±ü§)«È™”}Ø,èµÀ^Ú&rÿ¨å(X3¢Z8J”Þ¬%DXzO¤ð˜ ì‡܇= Q�4ðJ†~&k†°ôã!&-‡÷ªá8x‰=\‡û(_€ÇªÐ!lxÏðÀìˆgà=º°—Ñ?wxàýA°Þë(‡/�‚u*X߃µ!èQÀ^±[²ÞW~°Þc>G]œAŸ¾0ï‘Aõx Ö=‡œû¸yà%½Z‰KıïõÕ°¿—OHÀÌ«é5šà§*ÈèTÄ{θM„=†°G÷ã«vCÏ4íqnN óëÊ�xÏä}à³à…�¸ì]qŠ™�ç*øT†ä­ße‘kêð5¹¤/bBï­'Ójö“ñe;hï›ËhëÈY°'bØßýŒýŸò·b/"ûyÐâÇÿ6øó@Æ÷î**æå62*'ÕYïÉÐGƾ•~Ö‚¿¸ÄçÆj¼§ö�ÃÞE˜;^·—Qé½…™ý:B�+ðþðã\敽 q†Mà ƒõ÷!#^�æâ6À/xnÀ:*pJàݶÑòpà=ý¡ßÖOÇ„y°î k~Ì1\÷aŒéS—Çâ½­Éóa�¸u¼”£äh‹+“À xx–’'–vÎR•nÜ!´O›�kóY×Ix=^rJã°3¶Ĩb}y¼_ ÷{ñßÞ -½T¯[+0ßÈ]ƒ½P\`8oØk…ê,ððæAñ!ÌÛ$òË]c kÖ°V�½( � ë—Ð/„=¾ÐçwË\ŒûB°fŠr/^ˇüg°—¯LÃy<—`­b4øáFì?ýtXçrO]‚ýÎ _‡<Ù* -}° xÜp?1n!øÊ3Ùï5É´Eð„^ œÎœu˜çŒpÌ>ð‘BM»2_+\â»�_ ·M¡|J¦T+B__“:7ð“Bñöb+öÕ|°½¶ -8ì¿:£í ™Õ¦½PÆýêBÖ-]öYA¯‡L¨Ø% x¹ ÷¥ÑÜ€ýzÀ·1Îõ¿¹Öбß{ÂÛ]� ¶áyØ/‚þ�µB¯›x¿,¬/À:/ô4`?Y´•ÎîÕ$Öí^˜F™œÀ{%¡§k×0ß…^wVŠìça¯›ðÙÐ+Bs`^²ÅÏ�àµÿË¡3±74ÊobŸk«píÇü#~>~ßÌm{Òx�ú çñ°úhÓÃ{êMÎŽ„Þßð¬,ôŒÉ3ãÉcÖ£Á—|OXç”LHÁf:ºbÌð3C¼^†�r,àbØ›‹=í`½Ì.H¼¢`_ -œ¿iøDÎ�šŠÏö ù?]OGTî/ZÌçQn…¸†}¢†nÉK0/ü>"ˆ‹¼óÖÀšâp?àêRðØûæ­c˶cÌ -8Ì:LxŸÜƒ5A_ÕKœœ“~�xaCò·€·î_¢¸G÷u%ø�‚Oxœ€gþd3^C�û퟾ ÷aMÖ¡g쑲ã'TϨ”ŠýtÌ‹mxÝê¬çdðNƒu~Qн ÐOcBó·€G+ö¸�-ÚŽýÃs7B^¦âPžÆµÕ@ï,T³o¬Â˜|+ÀÈ÷Î*\û3» 2š™+™‹àw¡(HjÝ kRtpÑ&à/d|Í.af›.�Ù{ˆJlÚ‹ã>è!xÈm§+÷ šµò0¬£"~¼zÞ"�kK!ÿ@ÍûÜ_Æ>Ü€{ à[}½IŸJ¨ÜM{g.ÆÞЫ:yf®wà “Ö}€JíUbB˶Á}„ü{X™Ð7[èË‘3ÛÄÙ¬çõ%tjÇQF‹ø­ã~#<×Ö<C¿Àõª¬2ÇÝÆãgUœo,;¦/„=dØK¦óXúÚ'-2ëÓA*sP•½ÝÃ?m9&yÕ`!~Ý|†yÔ%f2zÕÙ˜·{ ¯$-“ž¶�} ¼wÝ3ð�Dót…0ðÙF6¥YEz­�2ήN«$�SËy¢ØEìwl4Sê�€ï1ðJ*±v/ôgDA/¶À¾ *©v/x aΉ°=›õ^›Éþ Å¤õ«2É`Ýð?Ây.­U‘�ÑÔ–ýdL9îK³A�7@þ¤2;U!·0I­Jà ¾;gbŸ[«q/ï½» -ò|e=o,£CŸn £Þm'3Þ ÒZЙ-‡DÙ-zÂÌ&mð�$“÷Á9BÿÎ�L¨Þ qqM¥v*ÁÞúÚMæV+¼§™{ïI~Zß~A|ûn2û»ó¬×PTòþ<[ÜuZü¬õó �ÞBú]ÉÝ:CöN‹@t§ýí¤(·Ùˆ}ÐÍP!e›¨�·ɘ¦�¼ìÏŠt^7+yVg&É«5,#É©#éÌ‚¬veàJà­{ ˜¨’]KƒÂíBöN¯€‰­Þ=ì[šµœIn; ˆx³‘²ðž¼›NnU4¼_}ÄðníQ:ã«\¼|uE¾Ï×cO·„E¼¦åýx-ÔcÜïOÖÁþiZƒ¾(­WzPÌ•ûËšM;g- ]¯-$=òëÇ5lÒ¿Ï© -žýP/¿IÈâß�éÂo¦‚w;̯äLèö/vÂÞ÷^LÛ'ºêƒ[Ô -î�´²ÜU\Uç |ÑgJ?ÑÏÄâ�§¤OëOÞ«5‘fÔñ$ñ5ª’¤†CLJËA”{öÀ¸RÁO×2IíJâ«­FW(QR‡šÈïézàŠF® ‹%öAsŒÎ{N7tË\& ƒµã|ìÿ¾ °Nõ‘¹Ñ©ÇÜ0`s;X6·MÈ>ë<,zÚpL˜ßa*ºÞIQYƒjTbãAF·{£“ÇÞë`4†ä½A=òîW]ææGêî {·“¦ïõðÙGm"ÑýV±$¯îˆQ~éyÑÃj#&½SM�R¿—LïQF‡Äüz#Ä%Ä}µ[M˜Ñ® ëµÂìNˆM]éµ:Jz³JÈdÔ©Q©-J�ûØ4”ÿ’ZaÍ‚L{¯Hf~8ÀÏ:H_ë× oöè�wµ©[u¨;õ˜ÇRöYʽ,õ⣄}õá¸(¯û°è6ºÆ»”0¯Q*~Øz˜}Ø&¦ïuó ÇÌðUG�ûU—|ò™f >ÿ݈|ñU(,o·—WÛ½z{ÑèéÛ3’»ÕRæZ«“õAÎ� +Ø -µ×„�¨ü�an¯„MPcQ.8|½ÔˆMêPá>-k`b9<-a-Ô°°ØJú¼Ò\t¯×P˜Û'ßêI²Û)ɵFZ˜Öª)ÊêÕe3{5YßÇkÀ#‹õ¾·‚Ž(ÝŽ}Ià -¶~y¡yRºM”Þ©)J{¯A§öªð³¿( âvñÒ¿íãeÿPÔ/æH^ g&øðçeñ@}€p Û›¬ûr–jýbÅôt£û¿¹H†JƒŽ|¸q²ãfŒx°!PÔûÞOÚÕdÔ]q¼#?AÒPí�~ýõ°° ÷¤¸´ÑFú²éœèn›Dz§ÎÈ8¯âôá—VÆ�J-Ä÷k¥dÖUAbûnáõn¾4¯î8{«�¤bkwAÿzÆÂ¬6]”‡ô¥WkÆ·«�Þ¬•ߤÓ:UYˆ…Œ.uúNOœÛb$ʯ?)Éo:-¸û‡6ùè‹€~: wX zN2Ïú¤ô£~Vø¼Ó„-ì8É|:JcÊz-˜w}æÌ›Ï'¨¢?ŽR¯¿ -^~REŸŒ™ŠsIG¹·¤ó��¨ºÂŽyþÞ˜¾ûA@gi�ÉûÈŒOa>0÷»höa§Xœ×bÌÞob™ìv-2³KE˜Õ®'}Tu â[ú´ÂLx§�¡o÷Ð×»t„w:hñƒfcá³cêæWMòîGöVIåvòÉG=•ß/¥ ¾eßöš³]ç™w=g™ª÷˜ê®sÔ‹A1“×Ã@m¢^ô‰¨ûïä£~�ð~«�.l9Â4¶Y -»[< Þ…‰‡š­œ9¯Ž3¥š>_d»l˜×}G©œOt(ª¡¶Ñ³�—Áš&Îå—B}€~/´vïúßU„¹]Iqå%ÓÇù—$ñõjLУµü[ßÕÉÛß´/?3ä“AšŸý›² ¦o;?ñÛnQò�†4«�4¾WsRZ\bmX^ârø]±›QA™­øEÝ)Éí‘(»Óc•«}êÀÓhTçØô „ ·‹í®.ÄÕíäýªO–~3¡û>;‰?½ •?½÷eíñ~jòe¿ö{1ƒýîâÁò “íÙg[Ó¢<+âÂ*®ÄïºE þî,îo :öþA¬Qï»ñ‡¶Ig‹]ßu ÝOsæõ�)ûrè¨ ëû2mPI’ßlnTTá(}ÜvRøêÃ1úÁÅ<í‹ß5[µ•ŠË[턯[O‹JÛÏKJª­%e5F5…WDïZ-%/ëÍEoêÍÅÍçØ—]¦ôëîÃâüF�U§%…eâ¢j ”ó 2zvóý,ãÅÖmæÝù‡*ï)g@•ôu4zJ{*‚¥ý5Á¢žfoa«·¸·ÙŸnoË/û›1¿ìO#²ìWSAÕ—ôû�v¡&ɧšÓž‡1âO-�tÕûsôË^)s£O� }³‘~µ�ЬßN]ÿ¨¯‰ž7™¾¬¼(ͯ0—æV•Üm2”>¨11¼[cÌ<ê³OÞKÉg=,û²ÍTTØtVœßpFü¤ý„èq§ y÷»ùp�Ç ú˾l7WUÙ‰êk�¥-ÕÞÆ=%á'ßßM<Ý~=ñx÷ƒ¸£ý/cDƒµ>â¶*OQy�ýªßˆ}×nÁ¶Ö:õ¾ ?Ò—mÖq+Á¼5-β11îb}\Ô¹æäX³öì(ÃÁ‚`f胻 î×S¼‡è@ÿG|>d†È)s!•ò^‘¾6¨É^ЄÜµKàü|¡~ÊÇíLÑÐq£Î7Á&ÆõE~G»žEéz-¬i±”|7Ö}À)ó=ž/æ±­£iHд©ŒÈñæ"qnƒ‰I׫¨Ó·“,›ÓÓO´=L4l,õ�ºÆÞn¥Dך D¹è>½~wѨ¡ÀWúªê<{½E_r»My†ílv=Õ‘ƒb.&á�G”o™_4ÄàÑÞ{‘†C…¡’OÅÁ&FØ5Dà˜Ì.s޼Wæ™þÎ-ʼ5%Z‚âöhOn䉎[1’�ê ñ@«ÿ‘î—QLÓ 5/�Ó¦²¿« {ö0îO–ÓW¿2zZwAò¤ë™ùçA2èÝz^xÍzÁóoŒ´½Æ×´ëyÜñÎ'ñ†}5a¶&Wqw£÷áÞ·‘’봠è“!ÿñú‚g½ó¶ýSÕn)¨ûvœéip†19Òý$JT[ng�û›º^Fíý¬Á]º÷(êpZ¼–?NžnËŒM­t�I¨r‹ó¯óNp« J¼Ðš’hÚó Fò¥*Tü¹=Pø©Ã_ô­ÝÿHïÃÈóÍ)ñ'Ûs¢Œû‡ñk׿ó‡ -s㋞8·ÕùAu¡ÏÃ5lpÉÀ®Lv¯®¹÷Û$Âÿ]o# 3’äM6¡j?ýv;uí£ºøeûiêrWIy•£ðÉcAÖoá¥È âu¼ˆwȧC¤¤¾Üíøûg ÇzžÇK»ÊDïë< ‡ÊÃ/6'&zÔ$¹×$&׸ÄzÖ¤JÚJ½è†Ž Æo#\šBR¼½£Ãš\£3kœ"²ëÂnV9†£ë�ôªô�òçé_åu¹1&úð‡‡áì‡îtÙÀYæù ±äYÓ)ÉË&sIqí%ñ³¦ì½Vš½Ñj úØìËâ¬Ù¯Ý^§[sâϵ^M6o½–tºõV²¤«Ö—.ýlÆ+û›DP÷ãYý÷“zo8}�|NM/­g›þÕ�»EoÛ/þPu¤7?Šiû`Ç”vŸaÊ:-~>!ÎhÑgrÞk‹ÔI…o+Ï5½ö=Ñq'îHç“È“-[ÒÒm›#b=ký"íƒÂ«=Ã3+�#îÔÛ‡Ô[…”7_ -*©± -ª² -«³ -®®µ -.G?WV[‡–•Ù…å•;„g–»D–ûÄš7¥Å¼ - Öù™ô<‰ þ´à?áxÔƒð™;ßøÌÃ>‘èQ×aáµ�úLÊWUñµnš¹ÿ�–w]”ôµ -»Û<Ùî÷î’�úñ§Êzðƒ«ðs§¯t ,Ô¨¯:‚ië¶ç?ÿ�O>{OŠ -ëNI[ÞyIj‚�ÞD¸Ö%û7z§^hͺz¤ûy”¤¯Äçhïó˜ã=wãŽõÜŠ¶n � ®u�ºWcQRoZÔdòªÙ*¤}-h°)¨·yVcž‹æ]jµKTz…KTr¥k”gµŒôSa�^9'Ô-[Å¿Æ) ïŠÄy‡%÷{LÄÅ­çŒÊJÝŒšJŒ;KÃEoš-Ùƒ*dF¿Š8»E ~ÔqTRÜ|Q\„jòË/&’ºzÿ*¿T§ÚˆTãö’aA»yãwM~bãÁµ/jÌ“>‘°¥ÙÕ²99åTû­$£¾” ¢�úKÃÅ_ƒ�ôæFÙ´D%&Ô;ÇÆÔ»%š·e%KÞ³] .'ºîÆ»µ$¸7úÅÆÕ;Gܬ±ƒãnµ}øc4N/+ì"òK�bŸ•:FÝ-sŒˆ-w�<Ù™)úØæ/ìlñ”ÖÖ\vœ—Õ[‰Þ5Y‰+kí`nD”^Aqíå[éíVë\›Têã_é—Hwp6xÍñyÍÜÉã(?VøÄÇ–xF§—¸GÙ7D¢øJJ -©òN:‰Î�rÒyÃéè½æt­ß-àß>Ý|'5¸& ' 60ǼýV†iwn4ÛTi#¬¬¸àV’ ãÇËjÛð›µáé•Îá÷êìÂKš¬BS›¢�õÞ�¡~íuÑÿÀ�0èÿÇiÞwîùý““ÑÀ“ ‡šðXÿjï˜ø2·ÈÌ÷H»êÈh‹ÆäÈs�)Ñ'[³#¤ŠƒLzŸEH>4KÞ7HZÛ}…�~=BÝü»–ðù¯GMZÊ#ϵd¥žmÍN8öþnÌᾑG><‹~ìô&?üfÍôõºŠ¾ÕëºeÒÿ( “33h:F¿¯µ=Öu?Ö¥1üšaCÁ½Wœ–nÖ·mº~OêZ'M×sHš©›Ü²É òÕ×í`Ö}-6¤Ù-6®Ö5Ê´çV„ÁoÜ�nÎPû'Öà$ZýœPs€ct†8ƒ¯Ü9ƒœ%û­Æƒý^ãA~ùâ¨ÓƉµ#[Vè?àÔ©7?ŽˆK[mŒjk|N¶ÝKt¨�L‰¬ôJ̬p�µiŽM•ôVû ›�Ù†N[QCµ‹¤¯)è\SF’SMx¢MulÂÍ"·¨GoœÂ­ãPÎ~+¨ 3é-Š6íÉ�¹Øš”ê×à›ê\–xª#+†ù½ç -ÝÕå ìmF¹³2Ì´7/ætGvÜÅÖØØ˜F×XÏ¿á§V_ªç³ÕõÍ–WÏ™è–pºZ÷‡vi‡ÄÎÖ -Ê™¯QÊ)󺿟ýZèUå“Vê�ê^ÄÍ×ÏrÿðÓ-á¦]7™�Aw¶ñƒ óêÓQTÇ�±Í]Ž':ïÆ»×&Þ+vŽxùÎ><·Ø%êÎôÿºD<}ã‘þÖ=úh7ª±ý%aP_}«übŸ¾uŒ(,µÍF9«¬Ú:x¨åRàGt” \çÞà#øã£“FÇ3øÎYë¾uµÉ1¦¤årÈ“&ÛˆÜ&ÛÈ ÏdÑ÷ŠÑ÷j¨‡ÆCÅü�ß.j=ç”t탦¨7—=htAf_Lì< IlݽŸØ¾ë±y»2±që>bÝv%bãv=B‘t¡j÷dšjÖßV©5pjÔ—N'ÇòÐðô—^Q7_»G†ùFÅøD¥¹G„úG_AØálsV¬°ïƒ�aOUØñŽ»±Ň”û$¤¾ñŒM畃pCt¥G,à<~óßÍ ?„¦W9G½DùíY³Uè�v«�;�Vaì�&o�œOÛô¬"¦ªh‰ˆ5óˆÅ#刅„1Ÿ˜AÌE‡ú~õعĆ¹ËˆD„†ØNF]ê*»{/M,Ÿ6Ÿ˜GÌA¿5‡˜$+GL•™KÌ©@Ì»œP˜±žX<+±j•"±Mßœ8à]5ëÐ n�N 'tÿiI½áŽß|67êz‘ýÆ=¦è�CØ›R‡°ÂrÛЧo“*]££Ë=c½ªý]«ƒ’ÞxÆÜÆcê÷öJLØ;¯èÃ}O#È®_/Óý}.vÍ¡1u-—ƒÛ.¡9OþèwÕlâôåüºþ�Ã�éšÖSuïÉi¼UÐÌù²Q#÷ïÛ4r»5c–+ñNK6‹g/!ä–¢k˜EL"&‰qÄxtLA?É3 ÙYÄÒ -ĆÄ~£PY¥ËÏ'*Ç-PkáÔõ¿pgx¿rÖ†/‚E}=~Âæ!7QK¯§¸·ÓÿÄû[1WjââßxF¦ºG\/v‹@y12³È#êq©cÄëwöaWK]#Q>Žx^ìñºÈ)¬è�CXj…kTd•g\këÅ®Ç<äK‡uÒ¯ýçýOu¥„éþΙ,æ¶©¸¿ž±Ol=bÓnbÅrbíº•„ª±…Œ†Ç59M·Ì™ª'ld—-T ¦“‰±Äb1ŽB×%‹>G2?‰^™ˆ®z<ú­Ñè'YüÚDôùˤUÄÆÍ"bå'sð·FØ_â‘ïûÜ/2¢Ð'"ºÐ'2úí•ÈØ"¯¨ô"�È«…î‘÷ -\#_:Gä:‡?~å~ÍÍ;¥ÎJœ"ߔۅyWûdz_»|„Ÿ}È_?¹\j‹ŽyÕŠjpû¥�è§èC=œî>ÓÄÊ9+QNGçç6�• ¾ -› è€3AüǼÿŸ?dðÕÀo˜DŒ1 }�LŒ–™Œ~šEÌž¶–X¿íqгFŽ7ˆêÆçˆrÔQq«¿YÛõØì÷È¢B§°Ì7n‘Ùo]#QŽ Ë/qu¯ -Œ5þð$Ä£"(bóQ±cøÝ·N±¥‘fY‘Â_ÛüÙß›}›ƒâjÞ[…µ:…ëýÎ�>õzþ–}Ú„ÂÄYèÆâó�ξŸ„®i&Џéè;ø~Ĺšÿü1_Ý¿^÷ô c7ý{³Ð\\³ÿ¡äÛ>Kõ&·Zw�;Îv}ð”vVš´=?Ñ–u¹.6Öª>*æÕ+„eQLÂÆ{EÁ8æ¾r�zYä„Ç réãBçȦRÇè® -ûpñÇR?ôï™jwq¬~?wŠÿ�³ÖxÇ©íÖ5%¦¡úý×(óóŽÀGý¼grc–‹ëëÕ.û]j¦¨öp‡¨O¶–eIA /}£î¼v�~Zèõ¤À5æI‰S܃·NÑù….ÑÅ/]£_¸D¿õ‰p© -‰ *÷‰¬ôŠÊ¬B¼«Ò!âf¹SxR¹{ï+g©öŠÛ®êy{¦²©�̆õÛ‰Ù2Sp ŽÃgñÆœ ¾ÿ²8Ná뾆áH�ÞƒçÞð<�¿‡×Æ¢Ï («N"fÓF-%æÉ$Vî1#¶§É¨5rjäçnãÞG9%.á�¥¾Q§Ú2#�›7¥F.^‰°W¤újS}¢#'^Ïyç^‰0{c�Uè0Öµ -I¬w‰5éÏ�@øB¬|9dÌ‚9³ÿïýHtüëµþõ\¯ìÏ÷†¯{4¾3ãÑ�>§àÙ;œQ‡s�ìÏk‡çŸÜÔÍÄê]fÄî“·G©ÝäÖ z9«£m÷CÎU§GG¼ñÆqx¶)5²®À5á]‘stÃÆç„–b×ä–wN uѯÞ8G£øŒzRä•Pâ¥5ÄI6)JˆY“fà¹õßå…ÿíÇ_×ùß}À5�û9¦£ÑçX|ýSÐ'ª‰Ó·‹VˆUJ—ˆ-âÄû2¹:Ÿ9Ó£M·¼’^øDÝÎ÷ˆÎíû¦Ð%¡¢Ð5¥¼Ô)éy‘Kl^‘sdJ‘G„Cex$®U�‘¨¾GDW»E鹬YÎi­Y±ù}ÃÙPŸ³ì¿ŒéˆŸï�GïN@ŸÓFÌ&fÉ. ¦Œ�Cã4å¤y¨Æ/$fŒZFL¹”˜,»„˜6n-1[î±ZÑ™Ø}üõ(åBnÛWèˆpKªP"�+C¢ÅËý óOµdD ùåÊTF ×&¿ŠrkQ©}DkËåð›ˆsZµ†Gé|玪¥½_¾GSBÌ–�üâ¿äJøù¯zótÊJpMòc—³'o!æÎÜMÌ™±“�Ÿµƒ�›¾�˜9i#1sÌbú„õÄtø~ü&Bn"ú=9ebéæ#ÄÃlÙƒ9ÜJ½.î„ióí€Ó5WC›Ý{ᙀj_{±[zk¡GFç[—Ô¾·îW?T¸d T;§÷Õ9¦´VÛ'”—;&ï:PÉmŸ"ûÿ&?þ•áú§ÀxÉ�R ¦�”G?MA£•ÕO™y(—,$f�\I̳–˜1n1sâfböüƒÄ¢•û©9›ÙäÛ„©2{ü{§é|áL„½¯c_úFÞv%îm�KlE‘sle±KBe™cìÛ"§ØâbçØ{o�# Q>}ùÖ1 -^�zç¡ÒÁ)¯Þ ü¿¾–¿ò&äˆñ8³�ùùýXœGÆýü~*GùQ‹‰¹hœæÍØJÌ—ÛJÌ™¿Ÿ˜·L•X°DŸ˜³„OÌYªOÈÏS%f-Ò æ¯`ˆuZ!ć¶IJo¸ â÷/Ã^FbÜRìù¸È9a³¨˜R÷„3£�{Ü)Døa±wï"ë‹�"‹K#Ñ5Fhãï2 ’Y²e7ª­Sÿíë‚<9g†‘øûá8<Çc42…˜%3›˜3~%1gÚbÞìýIJubÅÎ3Äâ­¦è0#æ­óSÄìå$1{¡1K^•˜;÷~o/šØëX?Iõ=§®ÛÏ5i¾wż25 á™_dÙs÷¸Æ×n ¥…® ¨ÆÇ¾.qˆx_æ3Xe3Pg;XoŸXW昘Tó'Y²Íà5fpþS0F›ò=×<˜{ÃïMBïN#äFÏ!æMXFÌ™¸š�Ÿ¾åæU„Ü´uhþí"æLßKÈÏØKÌœ±_Ûü•FÄü%bbñ†ÓÄ*Mbë‘{²»‚z¦)år+”rÛu?rÇŽ5\ó ú<ß=¶¶Ð%¦�Sm¹}dG¹c<̹Îz‡´ŽÇ”ŽF»ä7厈Kø„ªÔsû–­Ñø_Çæðµxü žM—™CL—E Í«hÎÍ”]ˆ^[HLFc83Æ,!fM\‹®m3!7g;ŠOe“ºÄÜÍFÄ‚íæÄ¢Ä2]?bO¬¢’ˆM&Oeöÿ6K±œÛD÷•^¾T”ì^æ[þa¯tmß9F=F5®¼Ô!ª£Ü!¦§Ò!¶£Ê>¶ Ø)úBm|¸ênÏœ)sÿíqûk¾A¾‡J5SVž�½]Ó\�3Ñë“PÅž<üžÌ|B~ÜJ”ÑØMØ€òæVbžÜ~báb’X²ÅŒX¾ßŠXªæB,Sq&*Z Tmˆ_Tm‰•¼pb£a†Ì.Ÿö)JO¸UzÜqaO±ãùÒä·‚ðÐg½kž{$7¼öH/(pŽÎTákÙ[„xBc…îCŠ>¾¼¢t‡[6gΆ»–�ÄX 0"ª^#Q-› €rÿB~äb”碈œ…csúœ)#‡®o1{ÂbÆ„E(7¢cêjBn&ÊÿK4 …uÆ„ÂzSbѦSÄÒ}NÄRÝpb‘¦?±Îô¶ÌÏú ûos‹Uš8%„ƒOK:_xœ­M -yyû…{DÕ+—¨FtmeNaOËìÃß×X‡|ª·�hµM®¨µOL*s 7øÑ{q�Èêÿ:fÃø?~þ+— cáqh´& ¹6�á|Ì”ý…�Ÿ²�•üƒZÄ\‡¿l–¿ldPNÑ%æ-Õ$äç*ò‹Ôù�FÄÂÝhΛÍîÊn nš´û7G±ŠÛ¬\ÅíÐÿúç)ÓækÞ>%~añ…W¢PîŒy…°4ŠÑèÖ‡„î:û¤¾ûäÏ vI½ÕN)]UÐKŠÐhãô–(ìü·ÆMö_òãpþ˜Œ®¡�‰«…_”‰E -è:”ˆ9 UP®P$äf£ü1{Ê™hž¡¹6Î^bÞÜýÄy%bþb=bÁ -šX¼ù±RÕ…X/H!6Ï“ÙìZ1vSHëøÝ�¹_ö¦ý˜{ ˆÛ¬ÞÃé >·Úv<ôôx”QYà‘^Räýäµk¿üûa½çœ¦ÁÄ/оf;Û] º¸ÓjeÜ~%¯’ò“ÿ�×5\ÛÆatYrÒý ütsvlê+¯Ø¤×Þ±gZ®%(�t®O­¨° ‰/u�<ÔÏQ›´-þÇk�¯g®ÍS yœ?&`Ì? ùr樃ÌGóQž˜> -bæäuÄœEZÄE„�-^ŒÜÒ?kßun¡â3n%àIÅÇÜŠ½É›³;¢oÆÎàži»œ+&îºüxì>ßÊiÊyܪƒõœ²Á'îœþ'î¬ðK‰§qÿ£ sÍñÀ瀓Ö| ܵÈ9êù[‡ðò2»°–wö‘ƒUNIuïãÈ/-ö*Nïf@Ž€üþïÄæ¸Ÿµâ�±ü˜yÄüië‰Åk´ˆuêÄJÊšXaJ¬µÏ¹ÎçÍè;ïÆmq3vÃå'#78ä�ÚæY1~›_ëÄm>�·9¼»Ýª`Ìn÷ªIsëÔs{orK”[åTr¸êõœºV#'ÐîàDÚ-œ�?Ä]¾T˜®+ag§êÐ=ZŸÐÐ9@€ž†äF‹�Êý"Ðs¿=WQxiÄ’ûþ‡¸”Ácy}–<Âó•¹…ª„üJ}bÅ b=éI¬%¯D!ijë²;ë&ï½Æ-PÌGãSÍm;PÍí‚ü·Ç¿aÚöY²D~ÄViäˆ]§¯�Úç\>y¿OÛ å˜¯ó>æ6#|rHëWΈ÷cè"û¥ÄM«—ò/[ Ù²R?¸d%uïO}aYïÑóoÇ©Ûê -Òÿ¦ÌæüÃ@ôð»1ûô³±0·O"}\{B\Øvö;é–pJbÙ™²ÿs݃~Ì´éc!¬¿™øE�G,ZcD,ÙqŠX®fM¬ãykYë÷� Öl¥ˆkU‰•+ÕˆµÛ…ÄvÒÄÎ �Çì²) íï‹Õj8ÍÎ@§�3&¿|w4í¼*úüö -ÿÛ7+Áç¶Zm{(ë·µšÉ=kµnp[uÊ9}½2ŽæUqÆ‚¦Á³ls½=û¾ÖåHß³h“ž—Q¢��þtý ï'Tÿ8Év·»»Õ'V•Û»WF«$ -Z¬°ý߈K`m{ y†®sÆ„¥Ä¼yÛ‰e[ ˆÍ꧉¤;±‹²'öœJ¹+ìí4ÅbnµÚŽ§Ï �}zêLþVekð�¯çÔZóþl±Òýƒ;©ö�ÓSÿÌñ´¾sí¯ÜæS�»Ngt( p¾Öéðqê¦�£µ‹8M~wD7çÏ�úN×górt×€³YÇ�¸c]wb/4§%›uÞIÔÕ×!˜#f£˜Ð›Ä9�ó´O¬Ÿöi›šeâ„¥«ö`žöß}LFãö‹übù:>¹^ÄŽÓ¯Fíô휼;…“G±·óÐgŽÒþ�;¢ýƒ;ªù�háv+Wp[T{9U�?¸ãÖõá9Ná±U®ε�ᢡ—®ÐCÑD±§ö’Û¡þ�Ûz¨‚SÓkáŒy=œ…`ðO;ñ·Ú@öË{/�‡œ’®¡™Œò–�„¦š*ÏQÂ>F2­Y‰{µId›1_|&tšÐ)o �ý‡–0oÐ�Êú¬N»ÝZÄ·Í’×2 ³v³>1oÒÒÿÒ ú�Ø”E8 a¬)+‰¥Û„ÄVÃ$™½�3 ÿüŒçËaýïÜiý_9sÝOÜQ­&” ê9R·‚#µßq:ú�œ‰`�³5èæNéUp¬î î�~DÇ:}÷» ôR{·ò«þ8J÷pæä¬xœ™vΟÛõ}rx õÛ¨kŸÑ�†X~LÙ&2äÅZ21;}¯Î@”÷V,©(±3n,ô>é6f“†2aU;˜€â L^ cÜòÒ_Ò[ WÎ1›öPÿíu�GyqŠì|bêØÄôÉ‹�ÞF,Z­Elб&vœº5r‡WåĽ·þþ‹J5·Í'½C/¹}‡<^È:�:^Ûù�¼ö+N�i©´5{#^:TÄ 6» úûlt‹8==ßHy½³ÇGê�·­çä1Y;*o‰v §)ìiö`›Ûìõ¯ÜýEƒ'"t[�Ô¿þ·ýäõóÀɂö£˜°†�Â{Ý"ñ«–Ól~‡ [ÒzJü®ü’Aöà~ÁõoªdV— -uõ£ªðÉûÃTÁ—ÃZ/8¥ƒç³',Z±óìý˜ŽjÆÚ bë;BÙ!ÊÁjNIë#'5øÌ�Óà Q¾룺K}ùæJ}rÓF¹AÃæÚ´�JêÄö]›]ó £ ô5¿u²hËJµj‰M>Ò—E}tѫℚ™×kù¼^ óˆSÒ{Åéê¦vmÖ{º\ÿÑ�CÔ³N†¼ßo ¸ó»y)fß𜬖�€ ¥§d±Nèï;§, ã›ö0׿éJ_7_’Õ]â§ íœõš``7]û\äĽ:çˆEs¶â-‹ûé#~Æå(bª,ªk³·+vˆ�RÿJQ½s•_pkU¹ýš¿qRÁ�÷vÔŸnìï�¾Æƒùá°öÇ´¹Óõý—¨7ߎ’¯~3%CgÄõÍn’òV'6oPLÚ$Éi)k»w Ÿ!`ÿ;/¾|«þ“¨ëÇ¿ÝÀ»ì;žƒÄl&³Ôè{ý|ALí6�cÜlÖ#ù±oÚr6¶|¯aV--.³6*/ñ�¾¨?#Ìí sÚydV÷A2¶lßïæb­ ‘a½mæÈI¸wð¯0–rSW¿¬V!Öj™{Ío�9xŸ[£ñ�£¿<=:ÍAŽÕîá„úuœ‘Îí¿íÖ>ê0JCÛˆ8¤Â' xFKÉ6³�hâ’²\]¶�õ¸NW›GìX4—ؽt±ŽUs µ;2¶`«èUÃIúiË�.ÜD]ð›‚÷Ÿçôkã=Ñfãh«Ñ %+LîR¦ô¨1¡ù›éÔñÍ–©é±•´œ#3?H†¾ZÇ¿÷U“*:J7ö]ÔëæŽ¨UqÊŠÞeÓwK—Ýy<{äÞãÙ£”Írƨ]~8EÕåÉŒCÙ_×ÑCƒ®°Ç©64�ìûj§ó€SÔ�éÙ¨Ÿþe§ÞNÕàÚ�ý—â¦íÝ«DlP˜Klž7�R'Ÿ±ojã0ëˆý•¹ðœ˜Á½/ªô›Žâª*{þ£_yü{¿jòoþ¦*ð°\`ï7� É\NÝiÖÃ{4_|01¸ó§*ßïårÊ&}¶ÀÄa4ßäâ(Á‰s£ðs/Ù=zFO*- .‘/^Ô»�<ÿÇËôÒ†¶ë&öoÔtΓ; v’Ù¨$%–£Ú‹ŸÚ´‡¾1¨Mæ ªñ’ª¶ñB_¯ÒKëÝ®ŸÇ©éßãêæüØ¥}ãïÛµ¯s[Õ -¹ÝꜮ毜X}ˆÓÑlä´µßrZº/9-ƒRŽÕËç´´ƒž*èœu­kb.kpø¬¬¦†:±kõBâÀŽ„¦ž.A¹4š9ç444ÁGüEx‡/Œ„|ÁاÎ#ѽ¥|2a=Ÿ´å?yæ¬ëDÆ*z– ¥~™Ü¶�ö¼ª@;ÅÍ¡�£æP.”äWž:\ö“zÑ-\¹³˜o<�òx°Tü¤íˆ¤ºÒöAJß¾µ¥ï ðù)­»hÏ‹i˰éÿç+õ‹89ôÅp‘ÆSn¯šý“iªæÙãÕ/åNQ»�=Qã·�÷‘» {ùxÕœ‰®s–Ü!-CBUI]“*¡²K‘8°k!0·Ç\ïÐæ4éSé-J §ñú|)Ϥó(!!=k? žEc®6hÞ,ãçpÝR@C�Ñ¢sŽô¿¾Œºà=™´šN殆çO$©Mºðì›Ó¬'yVqL”×,‘ä6f34éøŽ}‚¤Î½LÚ�*ìù½­¿À»ý»/­c7üdµ ìÑ~î7mƒ¢?I�j„©:¹Ãº]œ17�ÛÜ� Æ¥Ú&®£õu} ¡+¹,Ë»9UUKDìÛ¡Bh’êJ„ÒÚ­„ú¾ƒÃ^4³2j꺄òÞ„†ª.Á×£‘ÔDÖøœíd#×Ô¥Æî×VÁ³A×ÐùðŒ#{­CÛønõqѽ÷bþµÏ*‡h9Êýê/‚ô�J‚ˆÒMä¥èü³þWÿT’´^`îöÑøY›yxž™ô¾±˜tM˜K¹¤ÌøÜ]¢ŸÒ°Uÿîƒë_ âÊ7êe n×½öu—n.²%œžAÕß$%c´ü±GÏãê=§¨úßvQy”Alû}»˜›„Y‚K!Óô…GG(mßEìX¶’Ø·q;¡�æuÂq,<ËZz’K>3@‹� {±�ÊéÑݯ Ô Ù»­´ðV3ŸÎî× Ã®£�ãç±Öa³X‡”y´]<Ê·ñsH¯ô…0y×TÈÂ.#QqÝYòágïú7~ÖGEþµ/è‡h¶¤ÝBXÐ~ŠýûÁßÉ´¥ÇdÒ9c>/±qýâƒTÒZsåD÷ö»ÁE?ŸÓÓ}Æ©êFõ¯ÕqÌ“? {‚Ф-dt/'M5ÈåÔùO—ëŠ-dx&¶£F—GêS'e”w+£ù·�PDx„ºè;U�Õ­ óF—5š [Ì6)½è?Søl‹0­ê•Z®$H«ÙÏd´ éí ?§W…º’­@;FÏfÜÓ³^ð|<ë�±ôyLŠ_ØŸiºoÑœ™t¸´ÀU”Ù¯ûÿ±÷–ÑQeí¾oE! ‚[pww‚'�HU-_UIˆâîFÜ�¸îÐHmo+�6�¶ë«{ïsƾwÜ}çÿ©æÝïgœ1î—û�£:¤’ªµžùØœÏÿ'V¼»X8r{×ÿ»‹pý{Y×ýz³þÌßör~:ÀW^˜ÇgÔ:qÙÍ´c½JÏO÷¬ûtžgòÀWc’ù.ÒÌ]M³ðäÌ÷{˜éŽ9j×:¸lóÐÌ6F3–ÕM˧ivnÚ¥Ù¹q³æ€»'é{ê}Í8C˜qqbJF)�áV<û¬à¿#‹ »eˆÍu�c2F`fX|¼ßpõ�¿zþ•‘«{©>­c×øñ -íàoÛùÂs3ÁêòRÃÍ9f«ÊÕoª^øþ¿îÆuäê?X&äõLåSjƈ%'gC;�»ö›·çÕÿØí}ỽ/þû.ï“ߪ+?7S[pfª.½u¬>ªÈ÷Åü1/EƒÙ|fëãøÒ«s¹ørØ=Wt~&æJu‡R­ÝYææiÐè•D !§g -ßòõF±õåvèfCψô„.¼àõ§ÛƒÙ.¡õÁ&®ÿ¹ 7ør'æÅyæS„œŽ)bRÍ>©j4ŸÚè¤?ÊâüÐïÛu�×{Ÿúm»þòo^Ü{?…w4ðwñ•>ø6˜»ú›N{î?÷ð7S´§ÿÇ.¢Ðî€ägæåc�ù-~èo®†›OC}îœküü^¦pçƒ×•ÿg�î�ÿòð¬üxö^]°fñøÙšEöÓÙŸS4{ö‹mHªµ.4ÕÚÛ?Æ’ L²Öã-·ïØ­ÙÊüçÖµ‰ÇÆÅ•;ÑÙvZ¿ sÄ -9*ÑVM(v$fTHŠ�äe)G$Ú@+A>ñÌK=ÿL.üà͵Lá“+u½O7 -ý?î…®¡�T1ZΨ/ô>Ýi¸ñi�ÿ'7sC]ª÷½}/Nèÿm/fФ¼s3…Æ'ë„ÊË Äâng¾îîr¡êü–',Оøûví±Ï–y§uÔæLòª¸3K×Ím€æ,µáE6«ç.Ñ̲uÒ̶£YE'ȾQ–Z½¬�a–¤EF\á(%¯~²tôÚ*¡ëã­ú®›X.½÷_×òpµîÂß\¥ó?óºþW[ÀQbËF‚»À×Ý\ʵ=ÝÄu<Ý$öý²�ÖzÕùùBIß îø½5âÙ×ÞÂ¥×zÜ[á½ïýÄ_ò×XLÜÈåMÕ…çÛxòaæ{÷š=Û=5žÐ¹ÉÎÇÖŒâ3z'A7ŠÊæ)„0ßiήÍlaš�ÏžU.ÅÜŠpâww±ôÂ<.<ˆ‹-!ät³x~žåƒÇÆ )�&Yue×ñå&¡ëåáô÷îâ™ï<ù¡Ÿv“Þö¹=„K?é0§¡ïz±Yßp{‰öäoÛ1„Zg¾…w3êúþ¼EÛðñmÏ?6áýóÉ…#õQ6BùÅyúÁß]¸þ?ï€n&Wq~.Wzi޾ñÓåÚžŸ6z�þ÷mºÄfǽ~šUó–k–8ÍÔ¬›½L³iùJÍ®]»4®û=4»ö±ØÆòc7oIãæ!höíñÔìsóÒxùGYè“ë¡=ÿ‚mh-BëOäýÍ9-ó=\ 9ñ㎿¿Vê~±‹ïyéÍn.:ÇN(š-žzáa8û@�튥ƒ³¤ìæIÐÄ’O¥W®>5ÈW^©ÂÙŸ=¹Á¿ìæ†þ¾3a|Ëã ¸†rníD¾¼–®íÓÕ¹_¼å›ßèÎþϽÚÊ»óõ•÷{uÿ²Î»û×�º¢ÓÓ½2¬¼äs7}€™×Á$K.ºÆAšn½aÅ:Ͳis5›ÖìÐìݶŸùM�ŒHhë%§æ:>Ý£4}¹Ü5èÐA¯P«7j¼= ñ0³ë'bÖº/rYß\Ì‘²80MÈl/ä·OÕw¼ØÄŸù³;wò/{øÚ[KÄÔ–ñ{B/^L¬p¤™¼ÌæI”ß4üié -–_YÀ½½œ¯¿¹T(:9ƒ/=7[×ÿýVîÂÏÂ…Ÿ¼¸¾¿ïäJ.΂^†Öká)2×ú¦Xra¥vÞà6ÈÌ?GçÛASOç›b�=è?ò‡r‡‹™�“ÅÒ+ó¹ã_­…}Aó—åÓ„ØŠ‘|L©‘mË…§‡v¤Xpv–¾íÙšA®}g‰¾ó‹ ˜­dñÏÇpõa€|å™ÁxçA”üþÓCü…Ÿ½õMŸ¯Yì×W¿³³‰˜_ÞÿÖ_{ò.ºÌŽñº¸úQú¼Þ)ºÁÛ®;ñÛä;Ì6wè†þ¾Z`úàX+ô4<ÕsÒii¾·JÛõÕ:>«g’·o²åŽÍîšÍ‹7hvmÚÇìR«ñÐñ�êo®dµetî>:ÍVk %i¼$ZñÉ NRù�ÅÐô�®«1±~œœ<Ü'8ÅF‘Ì ÁÉ6ÆÜž™b˽MÐz‚6ŸÙ4ž/šÉõ<Û*t=Ù.½rÜ«Tqj>ôùžç.Êé':áü ­nè홿íà¯ÿ*(=�Tn¿8$žþÑS7ôl»X28KÌn˜ÀÕ^\¨?ûgWš]¾þ“ª¿ð±ºãÉJ]býh.±Á‘ëþm«¾÷×müÑOWëË.Îá³Ú'êŠ/ÏÔ'5�qqñЬ[ºZ³gË~ 8ž`}étìO{tÆ@sÒü( �N!ò£ÇiÆWŸ•¿ú¸ó÷~ÜI–®>Sàs…ÌcØÚ]-œþe?fqù3ÿé®Ë<1q÷^^³uÝ6�>¢|„ÐõÃqðWè‹q9Ý“ô¥WfëŽ;"ݳÌV ômH7²hh.ñ3†É1£ˆõ�Ú8šòà*�‡‡Xg¼úi°|ö‰º0ÂÁ`öõ¢QÐDçOýê¦øÅÚf\ÓÓu¸¿Ð¢³@gueL±ƒ�Ó9YÈcq–Õ"óBzã8)¥ÚIH?:ŽËaõQBõh!¡ÆQˆ¯-Gæ�àc -íyƒÁÅ7„8 j¤¹˜\ç„ùV®÷7®÷›íÐñ�ò:§«¨ŠÕ9ÍŸ®_ |4ÑZ–5œÏ=9�­ííRÉÅy^þšÝ[÷jö{ËÎ?ÁJÎo›qè ‘9v``AŸPˆ.¶×%Xíu—4Ä3v-¦B{š®¼_¬%´dDÒϘEZ*ø³äÄ\¹´wŽ\q~i¥”�ŸÇ½³‚˜"}ßïUOÅù_ú0$èÚí8¿‹ŸJ½Ï\I�‚Ýkéò AýèëhÃ7_”ø}óA-få U¢ž{,b.<}ã­¥zVƒèÛ>_§ëùy‹¾âÝyÚÐÂá;]¼4›­×¸²ššN7c -Fì�Øeîu0ÎÒÝÓŸùM�èŸl í©€æ÷Ý|Z>ØEÚiaùvЊ·úbr­š0 qÛpé¾ñàåÏäºëË¡KM%®ù½UÂ…ßµÂÅ¿ë¼úÿ¾Q(¼0 öBË)ëo-jÇx«�fÈõÄ¢3³gQWëFZBÛŸ;\b�@.¾j”.2‹ùÌ<;1‚ùºÄ2Gz“)ÍôÁ‰V°¨—4ÐI&Ƴ'p¬Ð{ä %Äâ�‰qÚ2)1o¤œZ:ºŒø\à B‹[.==zu,†¹˜4²úgBëÜ"ÒŒJ¨t‚Ž!´>ô=_o_€X°à©6Ü]…¼KºøŠî›;BïbÁù†›¸�ÐXf±Rßö`½˜xÜÉS‰0÷™oÍÄ ”aˆ!bfóD>¡t¤—O1¤utÀ<óö 5'��¼î©ˆÈQ<¼d 0Æ -ü"V§Œ“³ë&‚‰…x+‘nƒ>™—fÎr3}@šµ_9ZN¦“ÂH§H‚V~fýx©´6«Û·A7QìûjŸÐu»TmiÞU_Zf'Ø}ê©'úƒï¾xûV²Ï™FÒ†lxoÖ¨¾ùýÕˆåò»/ÊŸ¼ŠÂœjxè¸ -¾~Ì—…Z‰õ,>vNb+G¢Wŧ5�C�°_ïo¶}ó~͆yë5»·Ðh’¬t†h WV»îÜçÅri–C*!ÄßöÒû™A“úÓÐ/…ö?ïg¥ãƒÍùƒ‡­ää*'¡üì<ø@è6ñG?[c8ó•l8õR�+/-&í‚Öéü©ïÝåë¯}ø›ÿ!yŸÿ¯=|Éå9wÀ'KkžÀгÚï¥Õ€;‹¹z0à´ÁiÖ{]µøEâ”±<@L¯e1=ËlN>0ܺ˜Ä«döM(O�¬†YÊ±ÌÆ -F‰±l-eµL�ÚEJõ…%¤ËÌrhñ`´éUU]Y¦Vž[].0«Ä�(kèÔ‰Ío�+Ï,‚¾¡‰o˜5B�-^7ø|ûgÅž‡;‘›A3”¸ÙÙÇ'CS9ÿL1Þxªœ{*ò-Ÿ®Ç›€c×ÜTh¦ -)õNBD‘�> Þ -¬ )¡ž›°1¬K/é šlM,¡‚.gáp‘ƒÖ—å'ÌßAûW`µÅòÄÚ1ÐzWóNÌ"ÞL~ópŸˆéŠÏÏêh¥ƒÕ¥c1¼-áð‘‘BRýbätLU‹ÏÎ'=)ô9®.“{ìQžx)��÷ˆ�7WÂ.eöÄž9â¹ÐôÁz±ó ÔƒÊàk®çù6)£…]§z'0eôíÏ6pCÛÍ ]ÇË |ɉrVëd¼7×]{Øz5BX¡šcã­DšsAÉÖ\8®E¢•«§Äjž�šus×h6,Y«Ùí]΃f^~á|b�£päÌl!¡r4tâ¡¥JáÄRG5£ì¾Ñà™{z(è>Ÿ úTÌ¿â< -b´…¤®G;¡ÅL¾)6c„¾ãË�¤ÿsû?áú_®õ›�`Ž Ñålm˜»³Úë€7¯� ò½¯vêî.…ŸÜ»W¯Ù·ÏSÞ݃Ä*'p§ˆã&³ÑÏzÇÞœªÑÉÍ¡åMÑQé#¤è$Î/ÞŠ4å™?”Z?Úlho‡\óÎ2صg}0ñø'Ď϶A÷KʬG¹VÓGëù®Ï7ƒÃ`È©›¬tÎÀP~a1´ù–�6¨C�µüà{…ÃÅúƒá–Ä9/j›©TŸXî 8ø‹›pâwŠõ½/\H‹©èÔl1¤ÈV ˲åØúÓ²û]i©òƾõÙf¹îÞ:hÅ�£†{†^´‰Ä�ïöó”ù1£}’˜Õ5™òõªw—Jm¯¶Ë]ßì5t½Øoèzº_輿,D%¹ÒIÊïž-Cèèá<ô�…œÞ©”s”]](ýl­ÜñÝ.¹ç7CÏcOßÞ‡Z¥ï‘;ôÙZ^ªäµL3d×NRꮬ»>Û!·ßÛÉlsåd,·Šúg°X·€ôô"KÀÄä;žms—Nür} ôI¡-uO§¸ËütÉ©9èÏY'§é#Kìø„zG.ºÂž;”bí)ú™¹l٥ټi›{B\°XîÐ:Ÿo‡Ž/]#V×ziE aF…Zwg1Ðâ+‰MËÖ9®…Úû`¿xìãõrö±IБ—â -¨ß™ßÆò®%*Å–ý}éõ�ÿÕS¸ü ¯=õ·�BZ�4=•PÛLœC!¾btÒÅ’ óàÀN„.½iå“ytŠ1»ÃÙ˜}l*j0þ ü¸�™ûþ½äk=FÄMèmA‹zÃ|`ŒéO–œ˜£“ÔüÙfpY¡9J xh¿²|P*íš-M]û{k¤óÏ9uð‰— -nc˜1mØ}ñ=ñ…¨ô>tc~u£Ðût—tú+/±úê">!ßþb\¾XÇøSŒÊ²CnŽÞƒ”ßç ÍgÄèŒ 'gˆ©=“ôA©Ö`챘1 -º||÷Ï.â±'˜ 9£ö“Ó:&“v]ïÓ�ú·Qó‚™…¾õá -gÀæ í_í�Ö›Øýr‡Øz+Øò¡ôáàú�5#t~¹MßûÕè„¢'Bþ×¹øÔ,¡ýåVCç×®B÷w»ØëwB÷Á˜Z9^ò?l…u�ž“Zse…ÐýÀE|äå3øXP:îæ[>ßf«Twq ´î¤‚Ó³ˆ{U|i�Òûƒ»|â;/¡ï¯»¹îo¶JEççPÿ¸øÄ,Ò·;ùÚÓxå~ zé¹_óÁRÚLj­ÅE—Œ@­ëÍj@p×=¥CfÐA”âÇÈì瓎$˜1Ìî´b°ùþ}:Ò;[ú…†Š+Ë�…ýs¥øòÑJtÙ(%½y¢Øþd›ÚõhŸX÷ñj5­fØ¿Úöx·±ý¹«Zzu1ò_½hæÍû™ ˆ`^�ÕÀâ²Pw…ê9®Ú—ìz[ƒk¨¶³ëÕöÜ]-½±:êØCBãäsÑ/ÆJ�ËIœÇn®1tÌ9ìÓ‰¹SÑ×úw`wˆ=¯w�{âºÛM³w7ó«Z‰å¡¾foxs†è<!(Ê -q‘¸Y1£ÁJAÿ�!é6Xwj\ÎH¹’ÅAh¬B—›ØYÌu?Ú«œx¢…Ÿ8ø�›¾‹å1`gÊ·Õù'X‚-«—Â-ôb˜9ô¸ Q†�;0NHSö`¢µDš¶9#HSùÈàlúÜ`@$�‡œcçWÀX!¶qt‘q ófû$TŒõ�ÌrSE9Ò3û�·R:0—;ñz¯ñú§Á¾Ÿ½—)]~-ÀfÜvyiLœ¦¦ à‘wÙÙyÄÆè{¹W>ùÜ˧ÿk�ÔýÝn‘Åhbg±˜Mœ¡ôæI`gé ÄÎRÿ…�¥?ù—�¨±¿å±Ÿ£\ÉÄÎ*$V±mâ²ìÁ¦ 6<éÒöNƒþ3lï ;Kmýz—ÜùrÙ1[ãZ1Â\Ïl ¬y¼F«!µj,òi%¯k:Þ“œe#¦_ÞÐòd—Üõz¸|0^n®̈ßfxéÐ\øÒA¬<¹Hj¸¹Zéx´ººRÏë½ÐxÚŸoc1�t繺ÿEw~ò?uç{Øc¸òÒßÿ£»ÙêÀSO±òìê‚óP00�O¨s¤¾bå•ű÷Ö ® Œ·„Ö±ÌòrÄuCÏSOÜsœ·BÎI¼bppÁDTƒÌujåz¤Í}(Æ\$âÕ€g­D0»Iªr‚ö¹2ðò±³ -Ùµ}ÃÎ*;‹åwÑ9öjîñ)ÐŒ5¤±¸÷;K /´Ó²<øÀ.½†—ÌEû]>-$ÿ+h-‹Ff›¡°× -Gâã±8F=‘¸¢‘\H¨%øLÐô&ÝëcwÖ�78[,NãéU< -¼:ŸôÚIê‘óå†ÖKÐâ.;1ü+uà±'rdìe é,gŠ,°“CLZÜÄjy°‘tfÁ|†Î5ÞwÕù%ЬÅy4â÷F¤Ú˜úÀ)Äø0†e�;J�J·3±³ê§ŠCOÝÑ”ÁÎ2j¼<Á3INöÝÀ CR#’lÿ`gM;‹ôJß°³Ó‡3:§)µ·WóNÎUY<#þÐ\[âv¥µL"†bZ™8–†œÆ©ÐÒ7¤3_Èî«’oGö]{g-^ÏâáHÓësL¯Ïèž -ÍjØ·Ål5©x´áHï\ŸŽ{n~m�<¨nêyôOÝyþ�îü©Úÿ]wþëÐ�7^ÇÙ‹× -bšjFÛ%§wº>8É= }hê0)¾Ê1Ü,î ™'ïk¦G-ÿÔ,¹îËõÈså´®Iˆ`ûñ©Ö:Á×L«U4ÌN,‰Ãz¸`$±Ø G«ÙMS ‰µ&^Öü‘‹ …žç»À%BQÇò°eÀ9÷t×köïÞGì,�¤šé…²³f G„˜èéaÔxìÖ²ødŽødLnN³1„$Û(�ñÃä ”áðÑ`qŸ:«a’šÓ4þSŒJ±A¼'Þ»¶Òñ»ëÀø!}úø2Gä­*Ëõ™X¨6ÞX§TŸ[¢”Ÿ]H̶–éBÿ£=8{ƒ^)´¸¥„*G�ýLðͤöG.ÈIÑTB²mÕð,;œ!6VAÏ ô[ˆý›Õ3Uˆ?2’ó�²$–‹™#ß°³:í�{ïC/å ; ñV‰¯{–Ó*œÀ+; ¼dÔfÿÍÎÊ3±³Œ¬Þ÷ ·D|1&T�•¬±v¡á¯®tDŸkÈkšF<³ÔƉƌš‰ÌN@ì�ýS†{‹½Þ'±z^½õ}=êxµ°s&4·‰Ù‡\£ñý †Ž÷wúŸZ¨¤WŽƒî3xÏÄ‚-97Wèÿu�<ø³'tdÁŽ�^Ïb'zBó­ÕÊ‘þ¹&îz¬%X‰à ˆ=¯œ¬ñ”Íè�—d†Úýl�ª[b>C¬ý`rI9ªØÞÛËOs`¿ Ùï¡ÕÆ` CZù8cAÛ pÐQ—Ûq§øì|ôˆ[|f4ìq¦5+wúgW©þî*ðæÁÎòÀYIÉÇì,½ i°³˜�Ã?;Ë•ý>öûÝ_>FMÈåžlç’oF£m-DY)‘,~‚ÝÅ|²\Ú; D0Ô¨w®Y냭Rëg[ÀwU’Ƴ»�Á¨�»¾Ü�<ûÈ© ÍM|Â#í3…®.ˆ-ÄH(fyGNÛ)‰}Fp9zî³|ëÞcfãCX¶�orÃDŸtV×— Î7 Þ×O=Q”�W^<´“[®#vñÛOÍåZ>$v–ØüÅFbge6ƒ�eᎵ¨F™KÙýS¡ÕMlê#CÄÎ2€Ÿ vVž‰�eøWvVÔvVÂ0Á'Ä‚Ym©²¼9/ØñÙmS¡ï þr°À ‰Ål}6L[�^Ïê9˜½Þ7Ô‚ãÌÀ¥BÎ@ܼ¾âÊ"z‚©Áò“ÎñÀl•]K%"ÛŽød!ñÃÀüVÒ›&òG?\%žüÑ]ßù|ø‡œo°Ηóì‰Z�ꄈøá¼Ÿ¿Å~WE£åYM˜1 ßãáÅitƃærj¥úˆˆ?¨ßðsÑÃwš `ùOÆñ‰R奅àU€Íí¾G¯qwÕk�o‹!‰Ì×MTˆæƒåKy%‹Û2üI 󹬖‘“k‰ù‡óV\ß ¹ÿå~bgA#=<ÙF÷OvVÒì¬x#±³Î,Ujo®VãŠGéô~fxïàmc¯Ô�V?A­:µØ§ k¶O\ñ­©O;:�ôØ[>ÙH¼‡À¥!-{ð -ˆMÞ0AN­a¹×ÉÙˆƒb˧›åλ…öO·òÍï­žza8ŸCµL§3>—Tk%´äqîQ-½¼\Rµÿ‰‡Üxk�ObáÑ?ÜÒšfËêµ)RÓg›‘ƒI¬–5ñ%Mì,�ØYO¶Ê}ß»+'^zã 2êbaDçŒàƒ2‡iƒ“¬¸�¼áoØYè/�9@|¥’®9jåÙ%jnÍdŠï¹-ÎRÍéEJý»« ¥ƒ]©DgŽÀY1¬qôM 9ÎâÑk+M|ŽwW7¦¨Õߋء€ÇUye¹áÈù…jVÍDøb¯?b þ8÷RóÍubÇWÛÑ_£=w°sj™ïmœ ÆÕ:Ã9<—X÷ÆÜvg¹´{ö/Ô.ç¾æpMÅ¢ng1,ÍF'šë}Ì;)ÿ…¦J¥“ûQã­=h&ú§Z"ŠPßÒj&€yŸ,UŸ_¤ö|u€t�±Wq(c8|¾[ì€XÈ¢,¼tͼpæ‡ÅäRˆc†Ìöi#Y\#Î.zž¬nÃù4ôKMü’ÁYBÍuhë¯CÍ%4\_�!åèâƒeµLEÜñ)j!ÿ V\^¦°Z ô7MLáJG‡ŠÅPä©u7Vƒý†<€˜(`ð°\þ¹&Î�€ ûÂŒ˜Á¸Þ`Ô!¯,—�~´¹"öUÀŽœ±îÚ2²M°eÒ)Í•[¿Üû”z~܇ý:µç‰»ßàCYbþ\:Ïà'™º sº|¸x$öôqO„¨ [ìK õï®à›>[ v–áä3Aß÷z;ØYbõ™˜ù� -‡fJYÝS e-PÏùöbg�‚~V9³Ïâö™Øç;+ßÄÎ’�¾³Fl~=bõ[YÌ7d5O¥\“ù}0[� Ço®–kÙç.îš!vÏ Ö|áàµáÆéø{ë‰k‹=—¸¢ÑÆ,V€áWzb¾ÔqÏEîz¸›ïº·…oc?«êÊ"ðìÀùïI-»¶Ô�Ò4Qа’«Î,BOC=ý˜G^D½�ÞÛ¹Ö×߉ÕXTk”]^,·|ºU>öÑFäIžZ? oL°”ü’¬ÑóQcrÀAUÃ’m ‰eNRç;}ºï{K&µvržÕCÞ^¬^×3Û 0ŒÐ7�} ÊÁˆsšnkÈlžvj>9»c*˜ráÀL̘PŸ)ïÄ,öŠþeT¦­“=y1`˜-)ça?ƒöb@åûÈÁ”¢ óÄãŸnDOD)ì™ æ7â·È|ØB¸®¨GÉ/æŸf5͹Ô}´†xA)Ä@5$—�%3»7ÈCå:·Y�†|Ÿ86È‹ -»œEví©67…}Nf§0Ýí¥ê‹‹ÑÓP/|­.<0ŠÝwH>‘–z­¬Áþ1j²ë'ã œ7äaù#¨Ÿð/ì,±áÎ*ªÛr›§Èµ×V ×·?Ú€ú]”b­g9¾˜Ô2¬4¥ø'«ûØ:ž.½agtÌÛHšjºMŒu5¿–éçvOƒ=P-uÅÐ<©öâ±ùî:fc¤†;”³PϪâÄü bÃ1»g¿¹ù6p§Ø+Y-ßýh›röÏŸýÎ�븷gì°ç®–_[Jç&“³GÊgëü®}tõF´ÿ¹�ƒŒ¼…Þû;X=ä‚÷ _¤f¶Oe÷’}víKzæà¬›œ5\):;—jææ»•”úq:c¨¹ÀrjbXçö:ƒ»%2û��ëÅs½Þ‡å†:�NkÔA)Ã�ãs Çÿ´} VOÓq3by²ß¥”ôÌß -ç—ˆITqc)ìó5`Ž€)Gs¬–E/J ·k ×S©zg™XyizùˆÑbH¦ gˆ±G{èJѹyÄG¡½^0©Z§ƒ³†Þ6fÉäÚ;«±gEÌCô0aÅת§æ€CmÈétÆù©ñ®)·¤u48×P~i ìžî5úMàqåµLCïZîyâÆü÷R)6Ç^I³ÆZ)‰ucq®G<ý�‡áÜ׊Òÿµ§Øü`1{ÐC îô•åbûç[¤ÖÏ·ª%Cóˆiæ-Ëù(g­8·ç ᔜã“ÁÀ�Þ\Å÷¿ØÉ5¼û»Øo¦YÇð;ŠIågÂÏ#—R’ FSž’qt’!¿Ý™ö„˜ç›ï®áŽ^_†ëÎ:êy�a~1UX\!ŸWÔŽ3,óˆ„ÏÍòGŠlÝ‹•gæ‹,?guË*äZ‰ù'–‡ -ÁéÃð¾qöLx¹ @}ë¶û›ÅÆ÷Va- ~‰e½³ÄÎg;pÖS=óµ Ö½¿š|uzÍ8䬸¹äcؽÄÙKðžp.€âzW¨ûÛ?q�O¥½i¿@ Ô½ˆ±øùB`”Îd N‘è{ØJ§õ11ÓŽMSŸ {cBP¨å7W–Ó*ù0³ ì1'U�1ñÌßYª”Ÿ^€*ö ‘3*±yÄÄb19Þ›¡èÄ<¥áöZôg”"fìý©ÅHÉõcq&BŒÈ´U’Á±d?þ+£u⤖}T†ú—rý»kÀ<"~X[`Ã¥Ÿ€:›ö‘3Ùýƒ ¼¼ÚóK��·Ìö¾Y¬F!>öÎáˉÅÓþÙF°‹ðª÷P«2»Eßñb+ßöh|žRÎr p•k«/,ở»¨C�tàÄ`¯žX_ ¥Žtö½Fœ*=3_*by-øÆøø'p—»mÑ·¾žo¼»’öt’Xì€í°5fâ·L¦}@ô#pv8ýèDSŽÜ2 ç¸ö�)w’‹gsþÉVzÃa ÔàV!çNL«aq¦q¼ÌòOç­J‡æ¨¹�“i¯¬ñê -±ã³­Rã{ë°O/øgX{J¡fÜ!Ë -úœ¹–�×áçÓ~M³‡ìöÉXcRa¯3_sf>×ñéF®ù£µÜñVcU O·SŒH¶QJúægHr‡fÊ¡,†FäÚ©ÉÇÆƒU¨€¥ÍòQ©¢�ùг‹`“¬æ�½7øð¦”è;ñp±ƒ’X1FÎëa>ª} -õùXÍDõ{®øÒžîZ�·ŽÓ �Fm‚z×yö[%f³RdŠ Ù6Óìš)yÓp–GŽL·UÏ®¯A¾žêAœÙR {gáìÖÞö‹•¤ããP;Ã#�$nz|™#�9 >©Ú‰Å1'Šóà½2Ÿ"¥4ŒÓ™xÂ8¯˜ÙBÌn¹8·èѦ–Ž!VùàwVç=–‡b�K5×LþìSæãˆsV,úìl�)‰ìÚå1;cõ ò"Ø «�V ï®À}DN(´¼»V®b?ƒ}Nâ‰� -þ0ú<è“'�¦½R–�Ϧô==€9:!‰åÛ8K[Įۑ“sÁ¢#^öéÒÊœP'�]‡µM×þ¡úò":\vz6λ‚›!Î b}QŽÀ®-ü•!»}ťРKˆ Î>³t¤s&ÙiéÀ,¾úÆ"¾âÚ1©Á ù}6œ{iý|#Ö1¶‚£­À מøv«þÒwÒ‰ïHƒ¯Üùª3ó„àDk̇ ÿc÷n8=,, õö`T±½oZ×W—ý×ÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÛÇÿÏ�9svGìò‹ó³÷ÙÏqq]ãÃþ_ëw8.0ÖÞÃ~ŽÏ2—ظ]!þq!Q‘~±ÉÎÙ—–/]¹Úy™6Ð/Üy¾é;�Ù79{Ɔ‡D²/êüýÂ8/Æ«Åû9×]Î�çï÷KŒõYî³b¹ÏçMÎó]\ÙߨëØ?›¾w{Ú/Y¿bÕº¥+W,_ã¼~Åê KW¯\·Î9_^»zéªåëÖþË—ÃñeÓÿà˦oøãËÿýCþ_þïrÈ^°�´÷¶ßà<�³(Ø/wv ´�1]‹=!á�MÝÈ>݆}ã -gq¯ý²]� !þ�;Hî΢‡½â¼Ü™.Žé?ÎKþû×°_½véÚõÎçì¿kW²ý{û–7/úã�õΫÙï_±žýg9û+^¹Ü~Îz‡¸•�W¯X»v�½èj»ÏUÐìÞy@ãz@ÐИy Áæx�š{r~fÞþf<ƒÌö¹Ëš=»´7wE£Õ2ÓfYcÌQ”a­J·Ö$Xy©1æ»]<5Û6ïÓ¸î‘4|˜™‡1ÆÜCf¾ÇMÔìrñÖìÛã¥�š—á�¹6ð°•·_´‘k«-´õ L±r×úhxÔ@öIçg©Ì¦õM²t÷ö¡ßíæm`?C§Ù½Í•ý©ÕxKÁæ{Àõýû}é{¼¥3>(ÙR&†”б�,2f·LÃ(=F]I¦7<Ç#Ï4Úr¸|4ÆK1Œ£ÇÇ4ä7OǨ Æ!ùƒ1– -Æ£!yžf iX±¬º¸c™!“#2lI‚‚ý©„¦Ø(Ñ�(©9)’&Á÷céPÒp9è°µ1²ÀÁË~|™#$I„è ;’FL±Öa¤˜7šqŠ¿9äˆ - ÄXa¤cÃR`¬5¤²µœ¤áüÂ-¤ØêѧáCâ­ùàX’��—–nƒqIH¨êô¾f:ù ™ˆqü0öù£RlÕôªñjéɆìîéEöVCÌÿx+H+Ðg/˜cÀ˜í!ös0Šë{d4Ie¶OUòfH™-“„ø"1®Š}½vŒ”\ë$g÷6DZ@¶UŠÎA’Ç'Ò1p’¬)M×£ÙÇ'a” Ççé¸:¤Øïá}Â,xÉ×òˆ^†`sÈhC†ÙÓ;ÈÌKëgæî¥j ¹¤Ãh‚NrŽö+šÀìÓk0>ªS",ôìóðþìš²ÿ‡æî]û5/…¬«RhË…Ûê&YAºÛò¥ž~½1ÔÒ—n: ƧÅÃU£½ýc,ÜÈš{=50Þê—l-GVŽ”âªG‹#ôb”9 ÞÆ8 Wö}®;!Íëk©"¼Hé|,C´¥”d­†fÛ"²F(ñE£|2kasÓ•´Úq8n®gŸ—½s%©ÆIÍh›lÈér†”�!±Â òŒ$g•\êû‘Âmø�Dk5µe»¾“ÈRdŸ¢6ÞÝ ÔÞXmȬœˆï‘˜íH‘I6) i’¼v“7I´L‡Íû¤ÔM4ƤÛb“ì IeN�, I†Ã¹�Œü[A~20¼Oˆ…àiE²�aY¶blæŒS3ŽMÁ˜¯—ç eØ�DPöÑɹR“*�äð [áÐakÈrÑ(³}>8ÒR Œ±‚䃒Äl#¡h4Fæ ¥g)•—�Ž“#2íĨ [Ø9Æø G„QÓKnGcáù#`›jv×t’½:úáz¹ùÞfŒ1J™&©!&o„ÎÀî³=ŽcöŒñÛž™�R œ[dº-�š¤8rÚ§KñÅ£¤ÐÄá4J‚±Wvßh/(ÜJJïœ,EäÙyÉ�æ{¶»1¹G£Øz3$Xjåh ½Æîeœ%ÇžZ9Ôü€‡¬ñpMc¤IÆ&²5ïoæÅ5�[Åûƒ\«�9 ã7BDÑHðáçxqfÞB°É(³Ï€‘e)¡~Œœk£3ÄZàw@–#ÈJXŽd!èþ„bTÏ4Z ¹IàŽÄ°äáJh��^�¶Ð©Ì�úDY*¡¹vjRÍXCl¹£‘n§†%Û`Õ˜R9NòǨCŠ5Æ\¥ôjƒdFåÙý±%4»$Ï“Tî¤Æ•:bô�¤ôÆÒ}Joœ W^_†QGŒbcUIf×Ì÷b\ÄPtj¾¡úÚJÑS T’rè›kHÇH|öò�ÌšÆv™Of>£2°+Ke÷J KޱsØŒ!14FWiü£%y}31ÚCã©ñE£ÉÞ˜_6$”�QãŠG+±ÙöðsøY$‹…{žVI££4æ}¤Ž¡àĬ5µ°o6$®Lã}ƒ³h<¬ {ºšÕ:R;ÆÜ�Yô» k“5BÎn™‚Q3w.ꙩ`¤c!™ åÔÚ±$ÿ ùîðL[ÂÆ�ÔpëTŒªÉµã•øÜ‘Xß�u…_…ôÞ+od÷öˆqæ3`Ÿ�§ƒ#¬0êYØ•ÛO�Û~­Nz‘Ùâ>^s`¿Q£—Ùë™Oâýc­ô† sø’Nû�oÖû…Zð�–}v÷Ôk¼Ås!0ÕZɲ�¬-~7äåac¼o’F}±¶0"EcMQyì=—�ñù¢ -F( c 7YH^(q•Ž�õsݵWÃ©áæ -Æf‚sl9ßKÈs� *‹½$Á|!|„–b ‰%6$|#¤FÅÐtŒ$ªÅ�³0¶ ÿےØ}²ûIcOYM“!˃qZ)8m8ɇ%ÖЈŸ±p`.�J³û¦¦›hÊ :¦«E½³Y~0’BjIïµüÂbø&µäô|ø"Cb‰#¤°Ä h+Ûbë¹…rxFSÕÔ²±Êá²ÑrríXÈ€� ¤ Ó1v6£‹††1'ä3$•“Õ6?òá9c0ú—=BÉbv‡q5ØbIßlH3ІæÒ;¦bÜžý®ñXKq’£  O#ï�Þ=\è@1=¹q<ÖŠÉ®}Tª-Fõȧ2_ ÙÎ/šÝ¿C$ _Gï÷ƒ½câ¸�?׉F3 ÄB3m!/+øÄYJS¬!«I<žùEN 1Gþ‚ÑEÈb@† ’³�?À“r#³ßè¢$�Ñ8AL,�ÑgŽå\`’•Y<ÒSÒ‘ 󔢋óIöÍ?ÎJb¾”FCÙšôA^ FØoüñq_×BM 4'iæ'Eß+Þh’åfŸqcÜ4ºžDy ‘eGc¢ô¹ëÇQ™Äby&Ë ³›¦�=C†ý;î=ü }obã8äB�!•r|"�²ø�Ü÷�$T2X—\;Ž$™â F© ¥cHþˆÙ|ÅßXf3 „�ÅÊ8:‘F°!?•\ìhÈ뜡æu8c|—ÆÙzź„Ì$Æö°n ¿¢�œCë4¼O’ €<5³CÈÝÑèbN�)Â6þ9¢Zzn>d“!A%–]œYlH` ÂgÒH%Fsº§bÌ”Æ'™­A:Òá�\1Iš1_ή³¯1ðý�€cóí ‰Qtb$X0‰Ü~OŽÎµÇx!Ù@,³Ù„ -G’LÄ×âòì¹ÐŒá‚?ó}�¬ÅH}.[cÌÓ¨=$âòí!�Ç3ÿ'„†kƒ'| »¦£�‘,^°øª@/,ÉÆ4ÊÞCåÍe´¶X ßHë�ý|r¹üúR¡éó bÍ­e$-\qu!�/F•8H©-¤#ï,[žn‘j?]-ET:xjá§Ã,””ºqJÕ…%rí•e §kWÐ7ã÷�‘#©Cà'#X~Ïîk<‹_l=ªiÇ'óúgÃWÁ‡, �DùR1dî¬R˜�ƒmª�uM:2²‡4zÉî#ò Ae÷6‰ §ÆØ,® [$›Âr!92Ûã§$……û[: -×R�Ï#¹ñb¬#)é�‹¼ã¡°H#B~‰Ùé›±|¼]f9¤Äâ¿ÀîÅ|Äþ¤RGÔY�& ùÈêË‹!‹M#«ÌFÕäò•ôL,w”ÒÊÇi? -É’ú/;?(1·c -ÉsÄ8Ðç‹)Iñ¹àÄLÈËÀ@ö£Ì\P ÕXJ^Çt©êêbŒ‹±ìþgÇ=Àûƒ¬ FS��4¨Z04KŠ.u€O… ~�œgãÚÖ�—à7Y »…Ô¶’m£Z"(Ñ -¾±BfëŸì³¨w–·d¦e±ÜSe²Z÷–"̵¬þÒ«&ìI"¼C-¹ºÒ¼4ÞZra>°�„£QæD–Óß«ÇÈŧ爕ï,‚dµ˜Ñ4X/`hÄäz'1«mž|FÇD � k´€ŽÕaÀ€A²]Œ)¶²CkŒ2GNJOžÕdF濃R‡!€ÔŽW3†ì€Å -ÄG•Õä/!á™e'§V9‘”CÇKª¿CRl(&²û˵=Þ)}¾æÆbȼÃ>Ét9Ç ¯†Ôr+VLƒ¯aqk$ìy"Ýà(XÌBÎ�¼ò-*»��£8Ëâ‹Ìâ ü0åÌ– Q’Q7ŽF¹YÞBqˆå$…ÎꆰT[ÊEXì”þø:ɪ@*‰­_Ø$ü� ÿñ¬¬)øg¹°kÉU±£÷VÔ7 -Èšó•çæ!~C‚ ë¿k�É™­Qœƒ\v@¼ÖI)°ß Y~}«™}Â-P3Š,ÞñÀª`´ž|hËDÔ²œO Õz4‚ÎÖ'®Ÿ’\âH˜c¥Vs°˜$„±u˜lͳx ¬ìS:\1 -è\gŒ®{éY­Âûš¡—„¼ïMðAÝn®•‚Yjy;`~¨O€ü ÷™ù,Äd– Û(¥b}!6CVŠ-Iò¤Ì÷#?üÂ,¹ hK}@Œ%Ńå#¹�dkHÞBÆPËêr“¬_¼%zBd¾ïoé…z]‰´ðÌQ�¡žÂuÓûD[@‘$cY�.…¤‡¤!� “ÃjÜ|v��§�œ$×þl3­/ø±Ìê \ç£Íâà¯nú“ÿc·®ýÛ �Â$¹~Ø`JÃX}`¬¥·¤šá&4¾¿Zªù`¥_éÈÄZ¡‡Y -¬9&sü&ÕÙuè¡°ZúøÈYN�>B�J²Eþ©¦–ŒA=d -äͱ¦¨V`µ6Ë‘¬!gÙiC"Ë-!”\32RÀ’�\eRýXòµ,fQB¹ìžùl“ßàl©æê2™¤˜ F’4üQÝÝÕbßû¤“¯½ùþW$ JÒ.ÑE#‘_“Œìá<{ èÚ3Ûƒ]#ï‚ïD¼šµ…ξ¾}¡˜þPê0ÊC�Ä×9ï@yAFûT’šf9¤RÈGãûX^ ´ɱÆŽ"sl±Ö`›äcÙZPQïãO\÷¸kpßõ¾ÉV¨Ÿ�•5­Ÿ+` )­—‚Ì¥°l[øm‰ùô? ùG9#ó2d #‘|l[Kà Í'ÊαºÚ›Õ4^:�·ìoF²’ìëð}â!f»�iÖ�ŽD½©wN‰µ€4$üø k¬C½ïaKZcÌÇ¢o ßÉê=KŠç ì�ÌC92ê«§!G#_)І»kHæ¨Y� áÔëâùßtÜÙÿØÏ×¹X ¬cÔqž:#aL�c�ì›PýÎb1®x$bÀ~7$R�·Âsºœ�žRY¼EïɘÝ:¹(ü7¤‚Y½>L�aùäV�÷CbšùCÄrò¡�v�.ÕëEŽ�ª%”@é©ùTÿfµNUóÚ¦#�EÏPM­gH©3É*fÔN¤|¹¤gßq ¡�ËF£ŸIòEÍ3”Ò�yBãÇkøÞ×;ù¾ïvÞ±ùÓõRÍÝ•�4”ÊF ÖqÃ…¤–ùªpüÓuR퇫¥ô¦ È…�´á�š¾ØÀw=ßJ’ª@levL3ÚM9‘k Åc÷6HmO·ËOvÊm÷] Wb’,dq%§e -êR’î�d%â(ù½Î”³§Rve‘Tus©xô“µnz z°‹îzS½Îì -kŠ0¬î' ùÐÄáÈ7Ôœ¬~‚ô­Mf÷èó Ÿ E—8Ȭn�,9úvÈ{¹ƒÌú§Z£¦ƒ¤$ˆ¤øzÊ­åèŠQðËÈwІl;l2îrLå( Ïu¢¿¹’i#Ç¥d‡mBÞy¨áp!õê ÕŒÞ.õ;Óë&¨¥çLr¨#X—�? -¹I—Äå�$ß‚öi\ë'ë¸ÓqãÏýÙC?ðëv!½v,ìÏK 3G_’ÜÈãp­HÂëœù ÊÏ!•Ó8…zúè!9µ€úIÔÿ9: ’ èË@jYF¯/½–o°z2Dè�âYLEþ˜zl‚Inˆå¯ÌOR UÙ¿³ó€ÛA¾Ow¨×£²ìH<æ÷Ï"y2’$êž ¹FȧCÂXL­q’’Yý’xd4ú«bbá(È€Þ¦ìâàŒ©~‚Ütõµ¥@îÉ©]“� â~!NHåW �ßm�>\/æõMC\”ÓZ'Š ï,纾Þ|—TÔ;CL¨räCYÌ‹gyNa�3Ö�ÒòÀEh{²™ïx²EjühÉ­DÂ> -핬š ríù¥À]@VˆäÓ Ý}Ôp•·–âzë�}±ZßõbIŠ…eÚ -£¬P¯‹¨×'YÞ„þy{Ê¥’ëÆÒ:`÷¹|r`äÂbLÙH%µÙT¯'”Ž¢#ó¹ˆ�’–‹ÏÏjn-•K¯,”��ƒ’†áß +ÁÞ›1µÙ$¡Ë®�šp|¤lõ�¨‰´€<�Ìü-zdzVÃc½(Á©6Ø2”ôþQ¯§Û¡_C½BæË¤¢ÁYÔ#Dí? RܰM}¼?�|ãÍåÂéo÷+—ŸùÁŸ÷Bòö B -Ê.ø±Äÿ°%j:ùpµ#â–!ý8diÆ£>ÇÞ”Êì�$¬ « ÿ™×5¬$ʼn^®WnÉkþ!½ç ¤°ºŽåð·$ceª×íQcὑ„cNËT¹dh«�PÝœÉîŸI‚j õPóÁ×”ŸYˆš^®¸²>‘oþd�XóÞ2±¹?l:ÏêñPÊ0’m,è™�üD -Næ“×1“?þ§µÀʈ¥ç Ñ•ˆiè]+‘¬öÎ=9CÎ>éŒ8Mµ$‹é�1îL¨fu%‹Ù�NÓ«1@D#¥¶<Ü¡´?Ý Tr øà mNëšÅ5±žÅ®¦÷׊G? ©?ÊoS›Ç㞥¾ÿ/;´}ßn~S¯#ç1²kŠz�ÐalÍG¤Ú’Œ&ó·ríµåJ~‡³šÛ9�ÕÁ³ ­ˆrìÔ¯–¨áî*±òúb`�u¦º�ÕJ�* -Hhº•Õëk¤¨ê‘ÔßW¢þY¯K5—–q„þòt¬Uä@¦zë%Ëòô´¿Æî#ìÄ'§w¦š}| -Õë~¬^‚Ý[ê; Φz_‹Ëp�ËNÌ'y#ô™ 14Gîz°[úÊK>÷‚~pÕ·¼��!ìš°\<ˆå9J´¯ÆZ˜¤OYíÏ|Ö&Þ$þQ¯#§Býˆ@I�«B?ý$frå;K”²Ó ÔÜcSª×«¨^‡ä+Þ#Õëè!¢ž@�Êü00ˆÂ±»«�/Co}JªÕX^Jµ:$õÐkÈm™"yÄ|!ß~#Ðr|çËm,'1!!XN†uJ=Ûðl;ÎHHå_�@¢KÙýÓ¼9V+{rÁ/æ$D‘½ÏüpZÍx !”èT;¬Â�d÷LCNÌû¯™�Jë¹ãÅN|>H„#†ŠAì÷Ç—;Bv Xð«À‹ð-¬Æ®¼L=W’�;rr.×þh37øë.`z�…V‘ášœžkÌkw6Dç;À6‘Û�Dá±�׉÷·‰-Ÿn"J|NÈX6¼³J"d‡3Iyv~µKüÚ×F8öÞj²ÏÒ3ó°G#97�¤Ö*o/‘r†œù¨ÂÞØåBÌá_ÕÜgÜGÄ$ô5„Ðôá�”åüR¬°·`ÂtÔŽ£ýîÊwVÐ{Cÿ!ŽåáÌw©Ì·Ã/’ô³?B¢o¹;fSÀxAŠ–�%ÎÿDB” Qi’çGü‡Ik¥úH‰Õ¢Èͽ=Œ”!Î`="6ˆ¬ö„<*l�üdBåÚ§CmšJë‰zèÙÍS¤¢Ó³¥òË Mþ‹ý~Hé!gL«i3ìP Íj#äô'É^X„5K¾¾ñ9«Ë�,·!i~öo¨Ïéûi/±u*$S¥ªÛ˨‘e‡|ž° -1%£Œál Š´¢º�� SÅ¡¯÷SüH ñòR5dSØÏ ƒôwš òà–þ@BLŸÍø ”>Ü$kùîjCÁéy -Ë]¤ôHYM„žgþàL±Tœ\™ÐöÅ&±îê2 Kð½�?–Ê®-äš­6Ê$wÝ1ý*Úc@ÞÍòuì™ÁG -Ùúf>½Y’¢Ù/™öÜ€‘ûž¹òÝß¹ˆ¬¶%ùX–A¶>H œ•@Ÿ5¿uÄžúø;«‡õ�IVžº 3·Ýzžæ@bó!iÀ…À9[»[ó@7¢Ÿ„3 È£€pž5z ìëÖ�öE D{è_²œJly°Y)¿±”ðìš ­_lâú^ºp­_nÐõ¼Ø‚< ½K/–o{ìu%$„žÕê:þŸHgøì]yx4Þû²Oü.B;¡/”@½ì�Ã6©®†æ¡„aèa)¨ï™¿ARy¨C ?k824²©´WaêuŠûæ’\uRÍX“ÌpÂpÊØ"ýO%ŠÙ/³KCT‘õÏ[«. -…úö±¦³üp&,Ö£ïLØó¤ -G. ÚgCq8ï¿‘]�v*=�]…´¦ño�zcœÙ ú�i•c‘ß �{ fÿ+"ß„„`1Ž�ÌnŒÉ¬ -N.ÆZS!§s:jG°u„þ;å¿gf“ÝE•:À�•Êuý¸]èúÞE¨{oõûã‹Fòý?ìÂ:•âsì±ÿ„õ«’ªOx[Ű„á8Ú(6 ® Î÷<ÞNè�4E-Ä2÷ôòÔxì÷Ò°ºß uöP£öãcÊà�Ý·WÐìÚè®Ù±eŸUôZu!@y5�¶}3ìaáç &iYÔ¯,f¢_l!8Ð D]l'� ,f"'GÜ@Í ¹J\’õì{µSöWW¶¦Ö‰ $„§+äÀ}ÌðÔ ’FÔÿ� &$„› ÙïÎk¤CéÃ�@o0MýÉCIÃq¿i_Ã?ÒŠþ Š¶ÂµRÂYüÆ6*ÝŽN ?D¹Eýõ5Jó{›É/"çD¯ˆ®ú›+Åcw×"Ï„L"î)|ƒpìúJ“ÜhõÚGÍouÆ>*É3Ö_]! |í~ømì¡“™//éš­ô<Øgx¦Sû¿õú¾ßõ>\OH¶N¤ÒÓs¹– !4±��¬~Æy w�‡e,0�èC»°uP+„„È5!!ÔEBD¿ABÄ[ ¾!¼jNù.ö„Yœšïm’޲Aby'õ ÊNχ¡š3õèxµðÜ<±ëÛ]RÿOn|÷ï.èK+y§fÉm“…Áï÷·F5/¤¯Q/á|{*3¶`�‹H©‹ºý#Ôê¨�ðDþ‡š”4ÜU2È*ì}B^Vhø|�”Ù?…‹(²ƒŒ;W3 -ö©UCÌ÷îöÔ¸ìÜ«qÝë­ñ”Bi?y§Ðùxäf!_Ž–Ž~(ƚꉪk+qæ 6*Š·–X-�Ï®vÝÛ+Ö¸Fe±�zï)•N´ÿ‡³Ù�míqæ:m‘z¿u%$D͕ŰîŸHˆä?�qà „„8»’új\ÉhôÖtl=ñ8{ÂrMCFÓdÎB!o N†^›–3hăá–jbÍX’¢Ç™‹‚¾ÙðU°WòC�?=~gƒ\ÿÁ:cN—3î'úï@GÀ§¨E3!i¬oº±\<ýÒSîáŽû ´ùÚ–{Û C÷µrçƒ]Ò±;káÄ¡§n�`Fï’΃@δìäÔ¨¿±g÷ !â«­rß�nÊàkO~è·½\ÿóíRñàlìñð‡2‡é%[s¡ù6o�BëóÍ*«Ëà§ À7T�]jÈ«�Bñ�Å2¹æÌb¹îÖjµìÜ"ʃ‘°ØAg{˜¿Ç½Ú>Ù,·?Ø)uÝÛ)t}¹÷½g¡þÕػQ€·.<;—kûz_÷Ñr±øÊ\¡êÖbòQå—9)–�š‹œŽrsìC ß.!`¶Ôto³Ôöp;j!õØ8Ô Ø¯GÝCë¹<Îí1›��Ý^¯t>Ù'}ãn¸øØÏpæ¥,TÞ\$¤´�âk¹ØrìAèü£-½E_3of§¨AD–°õ2~Mfë½(ìyºñ|aUX^h(½¼ÔXØ?‡ò™Ãe£q^ ¥ýË�rÍ«è<öì€ýc¯hMàRq¸¦׈ ×W ¡¦§z8sd,hša(î™c¨¸² g:L9MçTê½£”P2šzìÇ&¡§$rã -GÒOr‰#úàè­ZíVš>ÛbªÙYüNÅùŽó E½sг'¼$íC—;¢„£Tur�xêÉùö£ã�{a@8ºïݯ˜Î²u±ËÐ÷ÄCîìÆu|°žŽ@f7~²Òø�ª¦ýà¥XŽ€þ¿ cÁj¶ÔÚqØåšXmÊòpõô3žëÿÆH`ÈÅ‚žé¦ý‰Þ©üáêQ@¥‹¥ï.$$DJ媣*æ£ç¥æ·N'$D� ¡{g-°$™ÏrC<«r»œ ¿ÆêT’fÿ.u>t‘ºŸì¦ú¤ë… öL€íÖŽ¯ÿ_°vSþ‰µëùa7Îýxh“t8�3hŸ®à\~?¤Ñ›ïoWºŸïj?Z�ëÛ¡=! u°—н4ÄCV#)gŸð~7Þ‹2¼ó(@{òg¬¡úÎR1¹c<¤ïQk¢^¢}àÕ£Èg·O…”ºÐýj'ìÝ�åƒn»ö^T«°øÎâ¼™agDB4,~ü»!¶‚Î+ùõSH{G8[†3?,.Ê�R.»ºÈ�Ó7{BÈ Æ=J쯰{‰³bð9È€ÏScòGR¯ÿP¦�ßÀêèS³•š«àÿµ$y�a¬~­¸BRͰ])¥Œúêè›Û¾Þ<½œÙ65 zQ8ïã“T3Þ7&g¤šV>Ž$ðÿ@8âÞrƒ/v¯}èûáŸRÄ‹¯ôا:à¦× 6Q½†ÞŽ•—K+ô|³˜M¡óÙ6©áõʑ ”ÂÁY„ÔÅžjýxôèĨ{Úƒý$ÏêWÚ*hŸ|9ê }Ë뀕ã#òm¹ðb;f#SÄÂós€ƒ&´|~«UŽO“ß !'p¯æÜáøí5ˆÙ†Â¡9ÈýÞôW©¦-˜+¶}¾Mm¸Géx¸KèýêŸX;á Öîä ïÿk÷ÔX;œÃ¤5†þ³E’‡¯<µ€ÐO,þãÜ!D„I*<= g€”ÒÇ“ýWÞZ*gtN†]À 6û^î•ÊOÍ#„cÁé™ÀEóÉG�øŒú±èµà,Œ�zt¬.0Þ -{f2‹åÈ£”Þçî2ËÑ{âä`sœ‡EÞGÈFç€3ÚýL)ŒåèÇÃ&ãMgÕ¨ôgõµ%Ô§`þHT9³Þtæu -rvVgÐ]œe¬¸²È:„ýì£L´Â>ö÷°7„Î*¨ù�Ît®øìÁVÊò¨¤ª1BDÜ0:#Ãâ!ê’)‡A͈gFËd ßЫ5ä6NUËN-Äù^Gä̰ÕÞGnÀŸêû¾ÝFg"óGàŒ!ΨPß±õÁFôL AO¾51ÖWñéytæ~õl%ЬöÀÙ•ì¦)´V�•¬½º˜d%¯Ûô™r{gˆu—r=�¶r­_¬Žœ™#¤‹3&ûÂ5ÝYMè ŒÚñ�ΧŸ œú3eðMw×pÇ¾ RQGÐG&ÌdùåÅÀ�JO/¤3}8޳‹X;%çæð½?í’~= ^žGçk€ÏB^V24‡Õ +€q!¹|ø`VW°µ¸ù ­ 죢¦DÝ�v|<žt¦¿Žå7Èu�ÀÉj›Œ}Oìù‰Á©÷q�…ð¤át¶5³s -öhQûðq@'ÄÛÝ�: ˆQ.”åÒ9ƒÎrõg«‘wÈ=S(6GåÙÓ~¼!Ü‚ò°È4;•ÅC’ƒ§óùÔï¥ßƒº½Ô’³ó¨Þ¨¼²ˆÐ%¹8Îîÿœµbqõ P:Ì>Ôª«+”ò+Kpo±g�½zBG �‰ýKô qÆ}þü�™Ôž)ó½´—�^Çò )©x4ùQ ’°× ­¹¶œpè§cŸ« {áÉà¯ko¬Vê.¯@gê'¶L^úÎ�ëy± G9¡ÊQŒÊ´Ã{fyÌ`_eÄ´„Z'ú¬ø<¬6€í¿ ·Í3Êu=܆¾ -}¦löÞ€¯föS{5a°«./f_[€š çÀ§ú^íâ_íD/T,èŸ.å÷:ãœz=\Û—äÊ»+¨/ÍÖÎë¡Þ¦<·âÌ|ìž½íÓ ð °mÌ{à¼û‹å’3t^û ØçEOçq„£­†~rÕ·?Ù ÇUŽæýCè¬$zŠØ»Æz—KÎÏWÒÛ'š%µazEl Ì¡} Œ:š¡½ÿ¤:'B93ÿ¦–žX@±Ÿê�Ö)ôïaùvRh!=éŒzHŽ-΢ �¦÷ 5�©÷�²DoIçe�ž1™i˧X#L‰”Ó5U¬ý`¥püËuX À�±ºÞ\Ç|,òbœÍ%öËÒ«Çí„s)RÍ�¦kpt"b*½gœAª¸¹Th¼¿èXªç™o…]㜨O~ç,ªK‘ÿûÁjbåÈÕEØS4õúg‰¥–]]"5|´–rVäa)õãéIçä./¢<}a/É/ätLƒ½HµwVÅEýKf÷ìºÎX I€n¬¤=\ïŠÞ9ÔÄžöÑ3.ìšNù‹g|×—[…¦Ûkhß*ªÈ¨3ìó+Õ—¡Ÿ&ÖÝY¤*!é›?ZKø¾†+Ëá—ùæ§)Ö±xd�ÅìÓ (§f¸ ²ó (ö|¿Oß÷|›X<0ß‹þ¡¾ãåfìI 5­@ýµ>Ú ¼ò~ÚÇ·?ÛLv_} È·µ|ûýM,f­…Æ>*«�W£ç­ž˜ ÿƒ˜£–^Z$Õ][F=P`¦O=óâÛîoŽ Ì$ÔzU¡‘Vï€péùaßýÓv±î‹5¸Žð�8Ã*Ö}¼JH:ê$¦µO�ŠNͺ¿Ù¡ô½8<:õ1×…{žÈ‡Ñ/ÈëwÆ> x(ß–fUrNÏT³z§ã ¡€èÀ™døàª+,�¸µœr޼ÓÎRþ™™bÅ•Ü1ö{‘³¦4�ãâëFó„ܓӹÆ{«¸SÝ'œùÕCwê»õWþÓƒïß|øþrP¸ú›$œø«;7ø×]üÀﻥs?êÔ›/‚ ï=�Qß)¾ó½*öý´Wjút“OqÇcDšútv•]3 Ù:�'WÝZ.u=ßi<ñ”÷º¯ì¹ÏùußÓ*ÍŸl# -}ÿØ#Ôüi90¸JÙ»K ÁÖötíi¹¾ñ˜ú��)Ö¨¥ºOÖ"†Rrì‹õJé�%8ÿbìyê¥ôü䊔X|i.«Ÿ&9ƒS…¼ӹ«3½Zž®ðºô_»õ·þSÏßý7÷§ÿé'|øoAúÏÿûÿå/¼þ{ºüÓw%â«¿f -~Ž‘>ú5×Îxÿ^žúàI¦|û— áÆïŠpë7U½ýu¸ñæW>ûûžh ­�v:žî»^ìb¾gî+_ss±Øñz»ÚÿÒÛ·ÿ)¯t|³G)¿¹µ¢o^ÛLCFõDßÃEŽ>ùsäzìß!\0žØ§C|Oë)žùÍ[ºò�$]y%K·¾=¨Ü|,ßù&H9õ-Ïþ¾‡oÿz“¾ï‡íÒéoµÒÅoD‘ÝCîâïžÜ…xˆgþâÍ_øÝ[ºð­ \üQ'½óJQ.½T WŸøÞùì°rí¡¯Øûí}×W›¹Þ]Øs;lN¬y9ì6&ôÿ°Gî{í†ýZyèÛÿ—µ·oªY÷¾§†k www¨Qo“4ÉÒH½P P¬¥¥î@]S÷¨ Š{)ÔÝ•ºà�ðì½×7³xžsö{Îùλ÷u½ÉµHš4eÍÌ=·LÖüþÈ69Ò¼\z³†&¯4èà™mêÈ÷QYÐÿ¥µ©¡ï,°¬jصMAþè!"oHŸ¸ÙgŒÝ1Âo}4Æï|ä’�‡¥Ô³Aèú)üÅG õzàˆèA¯…è6lcAN?h–ж[P;ÄÄÝ^>ZcÜÿj,,üÊÁž|&¨¢�‡…ïþn†½øJÓ•�çÄ•µ®f¯KÌž–ž�ÔJɼvc2g@�]´Å6®ÀüùQBöK¨Ìa -ú‹ëefTZ—ßÂNÁÄòœ"’ Dß…š¾}ç$}^m/ºÛoJJÅ·ºE’ÜN\’×LÐYí¢œ~u­ß€ -z¼IZQ—ï®"de;YÑè¢(]‚ó<²l‡(»Û@”õAŸÈì×ä~Ñ&ïág;ÀÏý¡Æ{Ç`ü6æ˜pà�óâáÆPz¸÷2Öðå$ÞþʼnúèK }󖌖…[ Ü“íº™ i -õ–ö4‡›õVÉŽt½L‘4ÕúÃ~o¾ZÐEýGÅeͤ¯ZN‹ -:$Ò; fæªì,^9™?*;%¾W/År¾h S;÷Ò×{Ò G¨[ƒžX¿­ÿ¡5c:§ƒýOzµ^h~»ÖÚôf½Õ›DV·6…láJ�.q§ƒ/.l3½l<*yÙb',øÝ{ôEH<–ÒïºNÑE}GÉgƒRâÑE?ﶤÞv%‹>Yý§ÈòA{òýg[¼øwküÍ7Sá«/4^üÉœ¬ê³—tU^–t—Šj«\Éç̉‚!‘;ª�¥wÀ®|:„æy¯‡ v‹ÅÚÌ©{-™Ûiˆ]ëÑ¢s:¹ÒG5‡‘}KŸV£ït�Äí>âz�1}§‹ßo5§Ÿu™ã7¿`�©[]^Ø-ÀõáøË!)QôÕš*í·§ªzÎ�å}'ÉšgÉÚžÓø‹1ù �D± 1(Âï}b�†„ô½všxÛfE6wœ£{ÛL‡Ë£Å£-aÂvÆžßÀØà-ŸÈæž ä›Ak<ÿ“>c¨KülT—¡ï4Y_óRÐz?ª~ÿúßµè‰ä]µ£Íã—Ž’äF2üÑzÁ­ïºØío†ÂWŸIìÉ!ÈýUC˜0¸S�úm¯(}T_šÓ�™ß­;*}WâlZYâmQþÎ׬¨ÂEü¢á¸äv›H”ÛmÂæ*WuQ�FÀ8GeëÜp§ØõêaRÃ.áƒ_xXÙ7Kbð³§øSy¨x´"”þô!ˆú¥/�þÔD}ºDŽ ù‰G*Ã�væÊN¶gÅT‡&EW]L8Òs+ùÍK<Ô~øÃýD³þr™x #TÒÝL4ö8Âþ´'ߌÚP¯F­…9ß5±¬uÉËV{³â*é㎣ôë�ÃÄýQœ|Ú'—·:™u”…‰+Û]é7ív¢²Î3’’ZgIE�»YÝÛ‹¢òös’W�ö¢÷�öâ¢ÖÓÔ«âM¯…øe3´Ç;ÉÛŠSââÚSÐ癚\éÛ+¾¿‚ŸØ°•çÚü§Œ ^2tXÔÕ í«Š�ÕEˆúZ/ÓCí—Åý­!DçAÅß̘a¿Øk¾Ø>ºÒ£-�’Ou‘6}ÄŸÚˆš§‰WýRòÆ ‹z¿™ˆx½ �m܉_ÿhˆ^=o±1}Uí }Ye/-¬±–´˜Jï×YšÔ™“�ºÄÔ“RìYE½ê°½m9)~ÙtBü¤ÓVô¸Û+ønŒ=á“0þR¯:mÄ55®¢Æz/i[íeó¾’˜£ -Rí:¯§齟d=ô*A4R(î¨ U68¯‡Ì¨òÎST{½—Yÿû«Á—ñǺn¥Ø·g%�kNMrhLŠ;Ýšžx¬37Ît¤(‚ð6ürœÿðwc´þ#>©"ò¼¶Ïø Fä�PW‡ �oC±Kèõ|/ããN²xôˆY÷ûË®"™ycq°uϳx«ž×ñt]›‹°ä»9ç>£!ð¾”oå2ÆØÀ„�¼Èãæqa“¥eÏë8»®ÛiçZ³³m;¦š6—¢¸FÝnÇEy­&¢BØOoÊÌšŠ‚¤¯kÎP×Ûx’Û"äg¨îVŸã]¹ ÐæRÊýã‚*‚ã‘ Z÷ß�5}%ùô.Ârà¡ÌµIÆÚdn…WìÝ -ÏØìrß8ûöŒx ´[ë¾ÂXÛ®[ ’áÚpñp{ˆUï«8²eÄ™ÿ€1Âs¿ë -Sûö‘~OVW¿è™=m8+yÒc‹]ûã^¾‘S·Qøü)í¬ ²éyžt¤ûI²é`]4ÝÑâ#îm¾lÑ_+é­ !Ëzì„ÅŸL�ç Ÿõãdiçq²¦óœ°áÛ²¯É �‰Uï“8Q}¥«I᯺Ü+õÛx9#{8÷~¨qŠC~ÛïGí:®%fVû$¤Ôø&…4\NñmO=Ûž‘jÓw?Aò¥&Jü¹3ŒþÔ"úÖbÕÿ0öLkFòÑÎü8ó¡ÇÑ‚úGxw~×"o|አ;aœÑ¥®£"J¶¡Ü•Ìí7dcî½ }æ×;0ÓkMBIz—•Rs�/݉ç}Ô¿ê´3­©ô‘TÖxÐOÌ…9¿j -cÊ6aáï6ðeå›°§£˜¤±Ò÷ȇg)‡ûž'K{*CELG+cZSSýCÓüCSÓë¼C3%e—ˆ¦®³æÃ¥2ï–ÈŒKÍ—ã£[|â¯ÕyÊrÜ£oÖxÄÀöÆ^ªŠ )Š ©¹w¾9!Þbàa 50àGT Ÿ$Ÿ�˜Kžµ—¼j±—¼«w?k±¥î¶Ô�vÑÇÖ Á(ãL}í½dמŸ|ºýjº}{^š]û­tIO}Qöù¿âoaÃ[¬öïG¹ïžñKF‡›Õ·ƒwõã^Qi§ƒÅ@YœUÿË8²cÀ•,ë=AVtŸ‚ù³­øJ�Ìÿ`$ºß ¥K«O›µ¼ ²íº“dÕý$öh×ýÔsmYÙ.­²Ä€úàX·æð˜°Ú€˜kÕ^²;�n1E�N‘•­Žá%u¢Šk\¢*œ"jë�"*áÏÕµÎQ®Ñ*Ýc®UzdžU&Ú·d%˜¿Ž�4[ö=‘aMœ�“ –Z÷?O8ÒW�t¸ïV¼sGLBD½_ÜÝ:7YI£sTq‹SäëV§Èwð±¨É9²¨Ñ9òY�kL!œw™µÞqÙUÞqéÕ>qµ! ÒOoù• Í‹ªX#Èc4è{#"ñƒa ɽ>Kñ»öÓfe¾f-%¡æÝe1¢÷­§„¹#ZØ•!-qn›Pü¨ËZò®ÕA\ cò«/–’†Fÿ�šàLÏzY¦yg‰Œ.ê<†ÝøÍ@�Ú¼K˜÷E‡|2(¢ÛZ}ε¦g5f6X}aQ¼ÙPYŒøks„UaÜ…¶¸Ô”F¯Ä„FßTûŽœtÉpyÕÓämÛS�ìÛšâל˜Ôè%»Yç�Ž‚Z·˜Çpœ^U¹Ê^–y&>+óˆ+¨ð�%VúÅíÎ�}ì¡»Û¤õué·]vâŠF'Qy‹“¸ºÞÍ YÙEh×ÁqAÕAñ¾Õ‘‰^u‘‰ie~ !ÕÁ©DÉFÀoeŽ�þ)¬*09±$ >»Ä/έ)ÚWZZdÍå´£ðÜð‘QOã÷Œ1÷ c,lÿ~ -ým»Ö;™u¡ù¡õaùö�·®ØôÆS-Õèꪳ¾�‘×Ð8¡ãU­KÌÍz÷˜ìj¯˜» ®1%-NQ™-îñ‡û ð_ú½yŒ­ÉÐ?ìøßGìû'O³á'áîu1‰!µ—’+|c¯•øÅºÖÆÆŸjN�=Ýœ´=W&xnÙÿL&h��|h •´wÑ�~±ÂoþÝ�~þ‹µe[eì鶜̓í¹)‡?$X ¾ˆµxO쾌 üêLöûˆ¾Õ…î¹g9ôHfÒÍ3i=L|¨w9Üs/Ñ»9&Ï´©è"÷5cÈÉù¶ƒüdÇ9M™ëž6ƒ“޶Ťúw>Øë~¬7/1²Õ71©Þ'Φï–ÌäWæ¬q/cj4Àˆ ‡‰áC 3¤ñ(ciò•9mòƒ9G}«ó§¾×ùc_¾xw0b£Ø¶U¼ûŒ.þþ‡•¸¬ý‚Y}]àÑŽ»©îõ±±Õ—R¯Uù$^hMÌ”ô׆ÐÍ­^TS·‹¨©Ö[2Ø~ºåJšg]Lê…ÚÄ”›Å¾q�Þ{Æ85'AŸý2÷d7K|d•!1vmWblznÄ�Ã#~TóÀòõ'kÇS­=¶ÝÉ~õa©wßyÉ^•»Å¾óŽ»óÞ~Ö[öô½§,»Ô/ÞºÆØ¡’h_ƒj‚Ÿ–zÈÞ–¹EåBŸUQë1Úæö%Ð×ù5'ÿè©ßÁðM¾3ç÷ÞŠ»Úâ‘PÒv>òI‹‹¬°Å%6¼- ]ô½*Tô½6ÅCóÑw2Áð¯†ÏuŽ[øTÝ#ö -‡ÌÎʈÁnM°}ïA°s�&غSlÞ~lØ©6ïä5Ì]NÛõÉt휿­Ñibtð/Ýž•Q1Ù¯.ÅÝ|ã]—X—Uì'‹|æ'[séÁ�@Ó¾šè#]‰0/Jެ LÉ|�˜]î—ó†øjÿD”ç Zÿ~ÌôcQTv�WÜ+èßžµ:EÝétмÓíMýh¹lœÿi×I6MËPÖÍ_ –*΋À,0¨€¹ðX Ÿ¯7lš»hjŠ€¾ØU^W꣰w?VNŸæ�9ð·æ€É -³À4ù¹`¶âb0ÜJ°Xe#X:;X³F ìàÙÍË53õ^0ûŒëZØûÇ9ü=cE¿ÿloÖS*Ë}ï—PüÞ=ú}™{ôÛJ—¨§¥î1iÕ>ññ•‰—jCR}j#RÒÞ$ÜfÇÔG–Tz1!ºüR¼ÅàSÖóËybhÐÛµ5*¡¡í|Ds‡c8œCÉØ�!ƒ†«—ÿËF=÷ÊÎW¦{Ü�eZºØ ÿËfý¿ï0xÈì5HhZ©Î·ËoKg/‹g-‡m˜ &ƒ‰`&Àc*üIÌ‹f‚å*‹Á¦]&à Y”‚úùç“4’Gè´1º¼/Ì þ/Œ³éð‹Ñ`_0Ý:ê+jë÷w‡Ø~¸•p±.4)ù}@lÖ[?Ùõw¾2èc¯ûÇ=.ó�½)w‹¾Zæ ý±ìù;OÙ›bÏèâr÷èÌ*Ÿ¸Øš€¤öv‡P¦Ï>òK—sÚ/CgBŽ÷dDs~cŽzÇìÐò{£r@ì,·e¯Xµr1X¿a5Ð6?%¯ïŸ7ËÀ÷Ú mÛ -+-ÓÀ0ŒJ@‘½+Áv)À»�ÿógEøÊ$Øê ð·ÆÀŸØ×&ÁûÂÉkÀæ­"°–?t‡YG•øÊ^†ÈŸÇÊÞÊâßÆÆ—^ŒM,¾—]ì{õ­_ìÝ"ŸØo½dÞzÅ<~íSçæ�2/ÙýÏØ÷•®Ñ—kC’©¯=�ôçæ@ì—OÞŽñ ¯Ûa îtŒŒoóŒ×ëc8L�‚ÕsVC;T†ç�Îm,<+y¶hl&Â�©øÏzÿ¿ÞäÙÖ ßD=0Œ•›§€1òSàO3ÁìéëÁÆVàP@Ý,þŒ£ŒôQÖâ¡ö�c×s‹üb‹ßzF_{ï›[ê }LôË÷(¿š°Dó�'‘þUáIÈ6½óˆ)(õ”%–ùÇëʉ¥é¡~k òh Oªûp.<ºÝ3†ûcw(îÍümŒÀâI3aƱç?ž!z>¶i´8eø =—ûo­ù¯79¶uÿÜn9xGc7þ½™p.®;x¨uÎԾɬåŒ0G¨ž�iwm˜eÇóÛŽü¸ó ‰‰N�q ¯_Ã\Ú$ÃÄw—âÐ8¾ö‹{UìÉŽò¥�ßzŶ”yÄ÷T¹Åˆ?–ÿgcÔÃP¼!æ¸à;ã¬_Îèì娀ép„þ_ßPåÿìô¯ÒŸ}6kì -°t)lÔ9z×MÕîcôðOU.ç*ÒÂS^ÅÝyãÿô­WÜ“"Ÿ„'%žI÷K=ã_¾õŽ÷Ê'þu‘wlDi Ì»&2!¼20>¬úRܵXwU»ËnVzƤUúÅñ¿2çt^3;µnÏа¹ ¿iãN0[~*kƒãÙ³ø?mNžíÖNÑãmÃOKßËνŸóPŽ}Ž^ï¡W� fƒéJËÁ<ÕC`õ¾c`§y–¼N3£ƒ}îu7ïš_âVw¼ãZ,ª‡í[2ãP^†êJ˜{ÅÂÇ ±ñ¶]ù2ôz~¹WL5ÌÙ›œ¢~æºN‘©�Þ‰–C…2˜_ˆ5ÎGŽ]0göÿoß+ÂãŸÛú×k¨½ -¾÷³ÝcØž™{h¼OegïO�úÓ)üÙÖñìü›5m+X»çØ{ô¶’ÎMfƒ°Ÿq²î¸yº6;^öþ2k‡'[2cŠ|RÊ‹½â›à6—x¥´½óIo+÷Li¨r�ýÞ+ÚgÜ“b︔’€8ÃQF²EMfNVaçÖÿäþÝÛ_íüŸn¨MãÿÓ1ð>ŽmÿTx‡1Qy;X²JÖ¨;‚mâT¹טÆŸë–[—Ò^ÆÝ~éÿò�Oâû·Þ)Uo}2*Ë<Óž{'>(öŠÍ(ö—¹WÇĢç&,ÆwY|­¯Ìªïv„A%c¸nÕÖ»?½¡{Î -ÿ4¦r¾7¾;Þ§ËÍ3€©r³à8©@Ÿ4ÆøE@Ei˜ª¸LQX¦�_fÏÒkÕ¼ÀÞ#o”4Þ2›¨Á·0o‘Áx€bB¬Wud¼øceˆéÈ˰ãmWdÐÇÄ>…¾2†äkPN~úÖâ27Y{Ûù˜›°ætj�‰3þÎXëd}X¹Ï@f+Lù¿Œ øo¾ýüW¼@ót2ôJ¨MªãV€ÙS¶�¹3ö‚9*»�êÌ]`–ò0còf0cì& .ö’ÁÜ,.¡ÌOóÌxT{Üy 󘋕—»Ç6¾óŒ}Wâ Û(3úÆXì9.¿lÛ^[§ýËíB~rëÙç?}àÏ98�ÍF¦‚™ò³Áœ «Áœé›À¼ÙÁŠ °j÷ °t» <Ž�ykE`ÞRÌ^‰�Ù‹¸`¦ª6˜;W�}o?ì÷hœ¬ý�Ñå 1Ö–­w/ÚWg†¦< Ž­xî—ÔüÆ7¥ì­O -Œñ‰oJÜe*<Fj܆\GÝR*5 MrÀÜ­f`ÁN{°DÓ¬àƒ5T2Xƒ§�-–Oå÷Gü:S­’ÙB –�w,N�ð{ô.4¦æ^u°mË=âÃWYæ×UéžÐWížØUã–XôÎ3þl}rŒö{fßœ©sÿåqûk¾!�"Õ U :f lÓ\h�3àë“aÄžòó=ùù@uüjèáØMÜýæv0oÖA°h)–m;VtËu¼Á --/°HÍ,оj»€Õü°ÙôŠüžÀΩêO˜5ÜaæÝ÷ÎãLYz¨oQLÔ³‡—Sëžû§7½ñÏ.*òŠC5CxU`â¹ÖäÄbX'4W¹²ë�¢�¯.ªßaVÌ™³é_ŽåŠl®…rD½a,›¸úþe@Uq)ôó‹ EÎdmSÞgÈÏ‚í[fO\T&.�¾ÓÖ‚Y3 ÿ_fo0‹7Ú€%[Žƒå<ÁrN Xb6ØÜ–ßÐ8ñàmf©V £ó`;I÷ ÿ“õYᑯCco¿ð“Õ¼öŽk†m«(òŒ~Záó¡Î9òS£Kòp»KzU½[jZ…oŒÉ�~‡ "§ÿë˜ýÌ�ÿóç¿|ÉÏ\x<­‰p®Í€c8‡=f(,ªS7±c¥º@ Ú !˜ ípáV X¸™„>…æ-7ªs5€ê ºÙ ,Ú çœI(Øz¬@aGDËä½y̵f«F ³‹÷õ�ã6­y—K‚£“ß^Œƒ¾3á5Ì¥¡�Æ·×¹§ô6¸¥ 6¹¥nrMë¯õÌè©qGkI2ý†»lñîiÜþÉ?þôS`[`ö1i X¼P,Y¬Û¡æ,Ò‚¾B Ìš ýÇì]ÐgÂyçÚü9ûÁ¼¹ÁUu0),XE€¥[mÁjmo°Q˜6y ¿Õ§jÜ–Èö {3 ÷gý˜«YÌlÕíc¸ÂÏí.¦]üßDG‡¿ “Uùg—{Æ?yã'¨ünÁ}Θ܇õEñw ª»ÓǤ‡±Ó©`ª_*QQ�¼ôm×ÏØ6žÍ‘—œÀfY(BÏÓá8Íšº̃ñxŰVÇ ¬Øe V¬áƒ¥‹€Ð_ÎSÞó¶�ùswÜ’ –¬'À’Í"°Rã4ØÈ ‰D°ýÈ3…­‘=“v?bæj 3jZMÎ(cÃdŽQCþ‡ÛoEÙ5åÄ[õÞ�±kÍMÌ|})1íÍåÄmy)æe±^�1™UU"†jœ#“Ëübõ†|‹Ñ©ÿµmcØöLfcó4 Êú�‰lÎ?‘}D9ò—3”Àd>œ�ª@Y ‹ÁŒ)Àœ%†`™Ì�O½P<94óÀuf‘Ú3f5Ê'Õ3«ö§ÿmÎ^Ù Êé{¼ª&í9ÿxÜ� êé˜5‡ “OÌiÞ'æ$ý¥$À|èQøéÖdªçPMŽrÍǨv-öŠ{^êSYáÝVî;Rã™ÖPî‘„}isÓò,WA>ù÷Å6ÇÿË‘}¢ÌXuì<0úF°t�!Ø { -¬Æ�Á*›(°Þí�â†À÷c¶•�ßæ÷~ܦóO7¹¿TÚP5aGpû¤�Í“v¸—ŽÛéT4v¯_ÍdÍÇÌÍFf¿ÚMf™zXû,­|f•n#£kØÌ�º‘QC F™óŽõ 1(gAíÊ…¹³gmT—à}cM€x’m4^øEÈõ»=W�v”[¶êÀÿb—òì˜!¿>SæÃ³ÕÁ¬EÚ@u5¬Ò<6b`=vlE‚mÇ®+ì -k˜²?�Y öŽO-³C³–Ùƒüß¾�¦é;ms6‰‚Ávi¬Ü»ëJ¼*§ ìPÑHø:ÿÐcf+ÌOô aÌø?F¨/%¾†ý ­R±À(¶m5/¢d5~÷]ÑVôüÛüöaöß4¨ü˜ˆ~7§ž~6§ %ÒÇõ¶â·§ÑõNœÆD]¢0Cá�{h=Í4åqK`®¿,\ÌKÖ™�e»Žƒ•:Î`߬×;6°ë¶ã`Õzm°zµX¿“;±¹Ýg�Ýs¡d‚fÖß—êÔ1ZMŒ‰ñ cŽ}ùîaÓ}3Jô¹ô¢àÛ7'áç.† ¥—óëzƒô¾õ†7˜íÆ• �[ÁüÆ\Ø2r’jmt£>Ô{[ >‹·ì{'úØB4Ž8ñˉ°öÇQª·ÓÏ·."µ¦òB„_MX¼VÚè’¥‹wþ v)�ª6˜{ÀyÛ©2q9˜7o'X±ÍlÕµ»0?°wûާ*î‰.�®öŽY«óƒáó˜Ñ3¢OO½°_k\LþñõŒð÷zgþmNœß™£:ß®îg†oø�‘}e¬ÈO}~Æ}Œ™^èÛù†v1ãumÂÆ3‚*ÆŠ“ÿÇnžçõÙ‚‡Œ Ñ3ìu¬ëFÒáž;‰g[³Ò�ußIåðŒiuL‰Œz±EœßŒ“Oż¬O;tÎ¥N\¾f[§ýO·)pܪî+7`ž{ ì²{­´;¨{ÊÞ FÚÞn½Ï nô+ceôƒ±6øÎˆ5Û˜½UÌ6í~FÛøwæˆscŒ,¿Ê3&±ÆGæU#}åƒÖP  íé¼bvé>d¶ëU1:Ü6ÆœßÇœŽüá*þVF}ùpÉø!£Î1=&¯±m70ÐÑh%ºŽËjU'¢_o¹\™/>5�ö|°ŒÈýÝ�~0bŠç|Ö%|o-¸ä¨Ú„Ž]¿•æM^þßÖ‚þÓ6`žs¬©«Áò4Ønš&¿?¬Kù¿CŸÙùbÁûÎØñ~aì9ŸkÃè ŒSÅ`FåŒ1¯™±Ž0.&½ÌqnCq^0zh#ÍÛ^…Hú«B¹• ¹eþ?¶kô‹Sæƒiãå)K`½,Yk6;ƒ]Ço)îºT=iÿ­¿/ÔªeöÁùÄÕ{ÅÐó¡ªg—9ÁÈ뾪ÑkF‡l«v9öáF²tôm89Òê+¼À)f¸Ü XUîÉ#ŠÜ3çÆp=ý§Å=XfTÂÐ}­þTk‡ïbÁB}¾p,œy×ÿv»þC_h6Ehá¢DF7í¦ïöŠÄ¯Û쨗]–TIûqqy¥£IîÈAáõoÚXN�~õ£6ýäƒ^ôÅÂð£~èLîÄ%«²uö?ß”aÌX¿IöPArî/§ªeÔ ?2R“ÏÌi£aÆúk1Æ]üË7üÛ¨¯ô úò¦ïV×;÷lû³J&÷õD­¥ž§:r2�ÚÓ­ÄáG¼¹5 mpíãFÃÀ7 Œ1êÜ× ‡“Ù³•ýt%ïÑ=üY7‰Ý2ÞùMsLP˜žV04Lz\�å$!þ¾WÆ"¹eyýGú¦ÕQZÜà(ÈÝ'2êåV"³OK|³�"ëúΉJÚNc×~;„E½Þ ¸ûÕ/µ&š¸½Œ•N £¡v¹ByÏál…ÝGr÷ÉUÒ8–?VçüéÚÞOTôr¿n FG|е8žõQ)ØàWWãûŒ/¡o3/ûËnî}FÛ$ïÇAǤéû÷«ƒM‹ç‚­ó桞.°8qj‚Í÷™Vnç¢}b&w¿hï»lÅ55n‚G¿ðw1ÜüU[r¥Ð-X‹¼¶¿ÓÊe¯Ñ|1`irçmAð«•ø…ìÙBK÷1K%¡íi%vßKn×ìIõ)Ó¢&GìÅÉ�+ßÌy¼‚›5º““:´ÙÀëÁ,M±§üfu)X cóÜuj`©†9Øn%§Þ ªSÀlÐ}ÃÔ-‚Ç}è÷3VêøÞRÑ=;�ã}u–IDÞ“�̼˜Û˹Y�Û¹y{a/×`.™³q‡Ê9m6á~}árc>q"x²ž–>ÐÞð `¼âó€Xb./”šË>Ió Å[‰o· -RÞnÇm¦¼Ù�]Ô"ïwQøónš½®òròÒ;}ž7¢+yZÔ´²ÆÛ²úMˆiE™§¤¨þœàú¨6ÚW�¹ÆÌà:\šhà›3SçòË9-ÖïÃÀÌÉ‹�Ê8XÀ:tõf.Ðð,ž¦ÝÆ2`HüËG|øWOþ†4¹Áhð<’f˜�}éà?Yõt-î—±úEâ„ÿ$Ä4V×:;vŽš6 Écì^!–ç“»ÌÌ)z6Í=ø¾ ô„oò|,±rö`5T°Š¼tw•(»ÝÀ2§NBÅWî¥\Ãg¢=DÈ­UxV�&‘ܰ�|ºQxí£–$¿›Ô‡HÛª‚Mnþ]Cè“1O�\¹ {:Jš¶•š�¼—Qß[‚?gþ¯ŒŒg'ô{L¿�Ù­>š:×èŠ�È'·¬'[û/ÐU=ŽÄ“o”ðlüôCjú€Ç7ì�Àg«±à'« °{Å:ppí6ÀÑÔfbK+e›³*§<§I]Âfãiïö¡ë|éÇÍf؃n>–ÿY—ŸÛwPx1kœ¿Œ¸ÕÃE×Õ -o|Óá'tm&}Ü…ßø»?¾f ~!M;á:žp‰™)ÈlÙGÜ1ÂòGtøi5;øQoÖp³úwò0:¼»Ì!Nþ�=F7þ¾Óè:³]ç-³Ww˜áüˆuGcƒfÆÈ¨”1ä¼b MÊŠû’14 -ºØø¤çŽ¥½‚‰ÅI}]°gí" ¹k0àrnå8†<í9 14‘ŽÒá[œUDþ‚tËœ‡Á¾Å¯,ay �Y+%îÁªäIŸI¤SüLaFã>,½ãpu1á™4‡ðŠ›#„¾Pò²ú¸EÅ‹üE¯XxñÎR�K„2î¹øI‡•¤¶Ú])--u!î í{ˆ€K‰sÑÊÂ�ç«yÅ ýâŽò"ý§Ì~·'Óµís'è:NÕ9›;Iÿ>³ƒÿ‘9�®åã×2–¯œYz†¦@[ݶIhíQš{ö¡½Ëxòz‡ÎoááÙmêÂSžx)@{Òù8 ¤'Ý&£½häÕ&}Ó›ebv®oæbÄÀ^iSCs ¹¾?{y -æ®L„®EûO$™-´÷€ÊoåJžU=h•H -›,¨kÃDr×aZ÷~2kT]ó)*m<Ë¿ý›?«k/ñd­0úÑ:Aá7#“â?0ãZ˜Su3œÆŽ›±þmf›qxór#K%55.ÐåIGr^�ï;MÛPìÒ†z «®Ô×oºýÔ¢¡OÊëèr€Æ~M ¯Í.DRKóÓ.SÌ|2—›ûå­A{ƒ$>QóÑG*¯Ëȼ öˆèî± ï³–Ð=~îwu¡0û£ºPV¶sŒWœ ™$¼ú‡º¤¨ý,Y0H°{].¤¨¢ýÌØåK1Ÿ”¹¸wÆ|a`Á2^FÓv^Á-“ë_ÕL’*7s¯Œìää}ÝÃ)„¹l Ã5©ù›Ä¤äo¤Ñýß÷qý¯ÎázÆ©ð®|Ûƒ?ÆM;·ñ\T„Rf -#§óhk9õ�{À®«Á�Í;�œw¸­Ç8´— ±ô$Ž�*ˆÅŽE¿Ø„ç÷é‹î5ˆèû�4UÐNзZDî�>ýpá•<�rŽžI¹gÌ#\“¡¿Mžƒ]Ê^„æ!ÿú°ö¶ÇLô®á$öð3Ÿý›– 磚 ï‹&ñp€ J:OÑE�Ç׿k -ÏM!ÎùOÁ¼®Ìç§6ï"^ H%íum{¦P½MÞ¼— —óŒÑæÄ ­7öx ªÉ±Ä)yÎù´i&…Œ® ôéJŽø”<ßÒEIhv^‘‡•ר«çß& óÜ!hš0§WÍe*‡˜ˆ[LZØ+JBfˆÃžm£³jôðÌJuaVÝAòJ‡b@Ho×IùýZøÅÜÅ„GülÒ/{Úë…öÇS—¯,C|Ëw/ÜN´ä%Ÿj½–fQVä#º6Ä!Cž¯'.¿Xƒ]Ñ ÷ЂÌÎý›Ÿu±‚~c<´`î9óLœÍwK›É ¼³ˆUºŠëtME_z^^;!g(vQàâòF<+9¡Cœ2ÿLä 5X:VÌ„uÓ&å…@kß! µw?06ä²b®ÐL“S`uqN]š&²>®„ö"ý鉀)ˆ»%9í=…>å6 í¦rê�$j,Åw:¤XÔ›�B—´Y˜ìý~ΰ:î{)Òêâ‰�ËcÐVEº,Äüê'mÔ�XtÑ&Â'kî¡B^Ê_ŽØ�ØÃaîƒ_´M -¾j›Üý~È$ÿËAAðí¥|¿› ®É3…'&¢q1Dúc<@{ó¡­Ï¬ÄÎOAv�ÜYŠö• -Ž\có0®EŽ -„WÖ|<©y/™Ü®Ž¸ÙˆgÄò„ -Úpá�a´·‹H®Ù‡]mÕÀrÚµÐ~qúÂ+m>y>B?6¿ ›!Œ…q>wD]�V¿Ûäú°ºðþ0{Ý'%ž÷IðWƒfTQ÷aìÁ°€û‡þtXÄ¿ñ«&fç?ј2—ã™�R@û·ðÜÏú’§MGM«ß{KË+݉—ƒ^á?t�7ôýr]Áa°^u9X7y|œtŒHÀ·½0FpôÂËSŠ˜õù1é9EuMmpúσ;÷²zlØÙà)„½çD¾¹�<ŠôIÇ b‡‹Ê¬f”­óxÊò¤"mç8±è¼žøN‹˜(è5Á’æãN¡Ê‚즽ÄÕ>]Ä5$·L§Ý"T‰ì&-É“RË’§Þ¶u÷¢Í^Tž%®ë¢=h”Ïí¥„¬az y1s1õj3vg ÌÖðó¾¨óãÊ6™¸Ä*ó½¯Íå…¼\&8›8]KÖ Û÷�ý;µ€Æ^=`Ì·’Cû,ùÇÆo_¹,›0,Ÿ¬ÖO›ÀüåW¦^éKDw7¡=y’Ë7P‰µLò×Ðf'ùB�ÒcŠ,‹iaœõŸ&ò‰žGÅ>ÜFd¼?(̨Ùsé hüIµÛŸõ©;¸àjǤ£@œšŠt𨧱”¦}XZÓ>òÊ ;×Ãî¬&.]Y‚ÅWî ouš÷:…hl‰×=æäÛNküqcâ^Ì7w�à¸ïx.~L^W‡:ê\ÀEœ{[¯qøéˆi¸[ö\Ä�Âm<Ær [è;NÈãg¢§C[XHøÂ#ìíF´o…È1$ VaÇ=Æc§ý&^™0žß�ù`Ü,ÂYöÓG†®ÃÒªöíšÄ�Còæ.žÛ¯Íò¶o÷qˆ{ý´OC˜Ñ¶_ób?XíBµ,ºæ›x>,\=À�y¿�Ÿõu:Üɪð¤Ûx"øî*aΈvuTq3±�;+±À{+„²ÒÍü¬þ½¼ßÕŽ‰Êºs°mÕf°aÆR°kù&°oóVpèÐ! oćô`lƒù±�  8ÐÓá=àYžT:E+#ö ò/h�6b-"Ö‰[Êc|è{0kyV?.þÍN*³ížÕ®�˜Ý˜½×D"8w9y½�#¹U#B¶Kæ,£<ç"&}£Q(zÐ$¡ ;ÄÄ­.–óQËý¢‹ö„áIõ{PÒÞ‘sðà«Ë)¥Û‰Ûƒ&ôÓ.+Á­ßtù¡¯V C+×ó2w™díÜXijrSâÑ§ä „Vr<‹óŠ˜}ÄþQ×1{¶ì›®ûvh]5#è7iD"6¼øÒõÕ’´RQBÕA¤»†8tˆWÈJ� —¬¦gô´×q_è ++Ñ>Rî2UÂ7u�0­m~sÔËÿ¨ƒG>Û@^HR%à�xñ¤cˆ2»'Ï=q.›ßļÛÂrƒ ×`±/6ãÑO7ùKðÀÛËW{b¢ Ÿ‡]ù¢…]º» ñ2øÒÓ -\âˆ<ßÌY;8Ñé6ÐÐ?ÛûNDL=�™³âì!þ#~Ä{éž>� ,\�Å7îDö…˜¿0¯XHœ™ŠŸ -œ‚ÛyNÀŽ»ŽCìHÒïÖ2aJËvrä£ ÂôŠ=ho%Œ¦’µVta‹Dú²æ$ý¦é^0`"L(ßFÂØ/ ´íMDû׈7Ý–üü¯÷4UÁÙèiBŸìù‚œoꂼaM”ï@ÛÔä~ÑD,0ááÓJhMƒ+¶’g9-‰•Ûø�»p�¬¹&fNŠšû Áþõ{À¡}zÐ.ù€#À�@l)/´†µ¥½÷$ÜÞeÿðiE¤AÉ2^¬•p§˜Tð“õˆéƒ¸®RÇèYâÃNãL;�QVò’ÃNã¥ÞYKɤÊ}ˆõ„ظ{‚*˜»Ëj9Hd4¨“¹hŸ+r}5â âY­¢ âN_�;¨Á¿ùYƒöá#F•àˆË´Oñö¨ kè�gq{ßI&˜•G` -�=c'|&RióÐ|äÔÜÖÅ®õkb9#ÚÂŒöÔ¥Û+Ûq -ˆì.-ÄXCì!<á'ÃËëÑ¥r:�É‚!ù¸SB<ê ׆5ˆðGëwÅ a»mØ�!cìÖ'}alÙVÌ=sZW:Å©à!Ðgf¶@9–\¿íG<ÄŽˆá\³°SÀ.D¨ µaV×\V² ;ì;Î@—†u�02¤u6hu){)bSR¾Ù‹`_΢ÎÇÌ@},8î6N`zN‘oyBivàÉ5{‘Vb‰BòÖR‘϶"¶â}²Œk¯¬Eˆ=ʲ´a¬$odµî‡óq/÷x ™øv7žZ¹�¾Ro ÉkPÙUºÄ•Zm"w@¿ÝË¡žt›Òuõ.ÒŽ²`iã{?´ÿÞ¼è¥õ E„|.á7ÎÝíÄ�A#´¿ùÃPàž7G[w©¡]ð$"£W“ÌéÕG|1Ì+s®0°p¹Ð!^å¢:šH³Õ ¾ Ë� È]Éê1Z»�¥O…Lcµ.Èf!¦<ÒUBzx(ÖI”¦o5†°8 _˜†˜èøõ!ÁµA Ä6Úv¡ñE,:¤Y@‡uå©‹S¯ôy„Œ³°¾ ¡¯ \e³(çð„kì,Ì ÖGáÓ ‡eâ\ätú„Ï$ü”ÿdÆ`¤‹‹tCXPñ yÒ)jÚߊek`Ù]êˆãAù¤/dµŠÂ`�“Xº é‹!}<¤Ë‹´™cˆtð›Š.ÄÍn#úa«X|·YBÝl 1£ÑÚ Ë -¾±š¼˜¾±žpÙë­ˆ=ƒ´ApX'áù#úXþ¨® ³cš3ˆaF!ý™Óž“(Ÿä(oÁ®ö"ýo-Cº»&°–A5Ò"¯-E6ŠØ ÷ñ¾ùyÄ|u#<æ1÷Î_ç¶:uéî*ÏhÔF&4À,”hß”…ˆ#Ž8@Ä ¯‰H ñ û‹“6Jº†0&må`_,@ì!ÄtÅÍO+"– Éò³¯-cY*èñRÞJ:0{rgËJ º³ -‹}¹…Õ¹Ò£+¾ÑˆYÞ{kkóðÅYó»åÖTv‹>Ë£€cMÝo#ÄÅÍö’®ŠKæ]E‘h¯b•ˆoדh_>ÒcÊžmÂD˜R¾K�5p@ò|ÿ¨ÿ8- Ø¿n7Ї5b:±qó”ß$#¤G,9)ϳ8«hȵ„~Ó�–Nc{Ê*ñ��iRÑ!–�vÌw"bE!ÝÄÐ'�"gàGÆ¢¸-¹W-µ¸_~ŒŠz¼qéS K|½�(áw¿xW¿ì%ü –!†=sÊèg›I‡H±µÊõÈ€›ËPœEuµÀâ„"bûcg.MFŒ@ì\Ø4Á è3}&’vÐ×9)Óˆ7éœ8[xØQÉØÆ@!'™ÕXƒö„t¬ÐÚ#†XB0ýÔ8Mš�t (GŸ©ô…@ÄeDíB:¨ˆÅMÞX…xu0†iüdd]]ŠXwH·ˆeF9„Î@CÄúf5Dú¬,ÒS�yµ å]ÔÝvðÓÞ“„f¶ -˜ÙñŸº�ˆ± c¥0¥f7é?ƒ+²“7!¡o$¬åHç±(†�î‰sp‡À©¬]µôx0—†9¤È–Õßæ Íå“ñ§¿±ÿq˳Jü°}iÒëFúxjÙ^2«V åfˆÊêf{ÆÏCLÑ�‘ôIÝQÑí&O*Ý�æ0Ò&À`_"ÝTÄL%œ£gv…Vç”�VåÍjl"Có’GYÈaG�ưZB~‹‰3Søf0?�þ± Xë±±Ü1R±ÞÅ>yËX½ßÄùH÷‰ÕtEí‡u b¥#­.ŒHo‹8sy*q>Z…Õ0ðJ[ ¾xk5Ë“Bëœ16ÑY5:âk x -œò†°ö26Á²A<»CKój#ò“ººB §ÇHïŠǰHwŠÕqBšÌRsyÄ;6ÁÄ@@[È#–7ˈ>é:‰²??3?§Ä2å¡?¤’‹÷KR_kÒ�6!»&lÎ*!>_²‡L+SCÜ/Ê=l›k%ïÆ3Ê÷#‰WÔ<±_ú¤ .X�X‡xRñqn=ÏéÕ%Î\œ"´8®ÈꜤ,…ç­CºƒdΠ‘7hÈÆúì6 –Åp}9i0�<æ1ƒó�Çq¥©Ð'ðä–ýtTå.ÄŠC:jhÌÐZb‘×>貚§Ðß�n©sI�Œyl¾ö|#•Ò¡NgtéJ2ÚŒ$MFDzõA¤…(r -�Aùf.B,CÄÑC×3 ¾1ᕽ€Í9‚¬%cËvÒiÑY]’¬z®Yv-_t¥Îñá\Þ(òIZ(ñŒœ+Š*ÜJf”iÒ©•ZÐ6w±9Ìmˆ€«K`¬[ÃòôNNAš˜xZË2gØ�Ê4Fëh�ñ ‰€ÌElÜ? ýô¥ë+Ðú á‘¿PxâÒDÜ!Z³™ŒqÃ%Íå4û÷©ô�;,‡´Ü ŒHoUG_¶�`]Ëã“·¶SB⨗»X ´s!ʬ6-œç¨/ÄÙ5FdÜûÝ´gÜ\Ä‘§ÎúMa×;}S`Þå5EtÒy|¾�åõÝâ÷qþõÏZ„KÄ ÄdäŠŽÂØöSç�82 qÒÉK«�o@Ú‰ˆKOÙœP2u��/õL[,õŒ[€j0ÜùqS9C#c ¤Ìä�ÅMÄÛB,nÄÆ­O)±üÉKy+DñoöQ‰eû‘.+b޲ðˆý -óA*0cbi -R_ï î´bâœ�XÜÒc -¬¦ ³¼ -R”]kýê^"»éu£‘G†?X‡;øNF ò¬ï¤uŒÉ“QnŽÖ(ß+‹óÅÄ#üò—�²æ -m.ŒA{0fLC\>yXÞHOÀòŽ‘¶ -âJB -7Ký¯®¤ÎOÙM¹&Î!SÔÄuzdÔûíb—U–…Œâ+â]Ÿñž‚4Ψ?µ³°x˜—Ýîâ‰6Y±L5ïôig¡< -Ÿ�þÐN�²GLÑ$UÔ^‰{ÚBÉù(UÄ@•ºÇ/@âß!í2«óÒ=Ñ×6ºÚЯò)˜‡šÉý¥7'±÷™BØœTBq‘ÕÍ:2i¥ õwVÃÀÖu<šwâ³^SéPcq¹Yí,è¿2ëtEy |Äà#s>3`ƒ´³ŽøNX:("mY!u\AH“G$8e%OJàÿej¡@YÚ)!Ö2)…¶yÙkˆ2«�ã»&r6`*f{Té3!¦7˽Ž{¹ƒeq#�-§Ñazòâ4¤Wgê9W|9o5S´›B,î ¼UHÿJ|­ž‹rdô]á -s¦~iÛŸ,nV(©f/Ë™EšÏˆs�Î;ìÎĬE×£±ú½vÆÿ\vf5>¤Ç<'!í(ñI׉?µ³¢�¹M†h}�rDÚYRÀã"=DZH§ }ï†ôÂPÛ�Ÿð§vÖl¤�ÅòJÿÒβv'uK_(Š|±]ê“¿R ãËá?ê=�ÕírIšËj(ºÍ@:–/ÙÄÒ—¸B_ÇUdë;‘µïÈ—;Ñça<œúóó^??ï–¹1«‘}“'¡­ž¿8]r9{¥iZ¥�yJ‡­›²êþƒ;�ÿÅ�¿ÞÆÿïÜùfMÄ�—>F×^tŠPLCšb·”ù"¯ìEÂÃçÇ 5 áÑ c©saÊ(Æ#Ý,f!ÇÅÍä„HGÍ÷ú2:ªj7Êsi—Œ¹(þ!m?ÜêÂa&Çç‹´EV‡õŒßTV‹ÝѺØ3a�Ä1ò§^šó—ï®%²Z!]"´¾(€yÒ–A:ç\C!0ÒÖcµ³”XNHü‡vÖ´F„b"—#m>Œ/6ò(>I¬�ÇI»Œ—Ø:�YŸKÛ8�C>iq³úÔ1sÅ^ �ÿ$O:�GñžÕ»€}Kſڅ4~X>ý¹ e”·Ša®ýÀZ±ìÉ.Qøí ¢à[kYÍ6ÿ¤EÄÕ:tí Z+E,nÊ!L™€é›Q©u('Ek€"[Ï âãÑu#¬6–_Ö´ÞÂjÿzd- Î]žŠYžTdµœ`Ìdcä_ÚYéuštV½ZKùK; Å[ѹdÏ´KÈ ¤W†´³�^2ªÍþS;Ëç§v–ÖûfÇQ|‘:„ͤ­Æ ¹‹þâ3¡Ê(B>Wâ“°�Õ3» ›#u‹˜}àl;hK籬öü¼©cø,ôyÄ[ÿçÏ£:^쟾1·YÍ>”kÈÞ쑤½Ñ2½x}­È5tâ>#½gV öÒí•ÄÕ!:g€‹8²H;i㱟‡±­‰Ï¶‹._]ùSwý´"ÒJDúh=}çeŒÑ€K[Ë D€GÙȡڭgsb€4±)è3ÈÈ¢-(—¤O^œlÂ3ÆF0âð!=¬ q ž%õKY‚tÐQ]Îj›¢¸sñÖj´vÀjÁ^¼¹1ìÑ5¨fÅn èSѯ¶!½y¤�ÅA×JR¦òH;KHP€@ÚYÐÆ‘bµ³ôáÿ¤ý.9¬"vð™fzÜi¢™­ïd¤ÑH[Ù�!­N*‰NÀø‰´» O¦³—# D¤¡Æ®�#]³äšƒTrÙ¤ï*:3KꙹiTÐUÚ(ÏGßs œêÿcï½£¢ÊºíÑ#ˆ³¨­¶´Š9ÇÖ¶ÛœPrU�XH’$AQrÎ9S䌘sÎYQ$ˆÅœíø…x{ûÝðÆûÝ1~ï?�£Š¢êœ³×^k®µ÷šÜÜTŸ0®x[Ö° -±…j$ÄÜZ4–÷&×]ŽŠz‚·êV«‚Ôc•Î!ý­|²F[�¼>¡zª²º^¦:Ð,ŠU�¦ -p'4.¡ÚYT¿ýÀdyÁMª�Åå?XFµ³‚ò¡�¥½sQrÓâCöŽW7զޫ¡ÚYJè'C;+\£�¥ügí,·?µ³võf-µåÉ-%‚Û�y¡R4üÞÐß&�˜rw ™ŸYc ­@ÿžä‚ù{+'m¹Â¶t©€¨îþ>éÔ ú€¦Á%žãªI¹—¢kHªOæèÕšßb@ÞhEöÍÜþW›e¥m?@ÿPnå �ýå -ò@®FóW¯> -kí-›DÆ\Arr»ÀÞx�±©œ±PmÕü’‡£Žˆøƒü ï‹t§å¶ÿæŽæ“OL‡^´¹7¯—1›7ÉàmÎq7ñÇ£¥„š©Ðò¥¸’Ämþ$–ø\’Ë>éTóû­ä•í«„½[¨v8Ò]|úZüC;Ëû‹v–W_ÕÎ:4[L¿°PÚ3ØBfÝç½m¬•*ý3GI)fZF–M²ÜNõ­i>îŸ=Šò±Ü]Fõ -H‚. 岇^Õ&Ï%ø¥ìµâ Wpo¹PÚ°Ž-¾÷“"ÿÚbhÀÓZöçÐ\¦T×Åg^œ.yì{”âO΄.©´·ÙXP_\d¹;jgãÒSåäß�äkcù¼ÚåÀ`<Ée5ú’í,–jg5ÿ$T¾Ø,îë0ÃdäT Ã=t€Â>¨·¹ƒ·ŽÜ1¼ÏŸÚY¨/As€ê+Å–HɇgIaich|+ÐçÓÎ3/-TÆ› íJÑ=höŠaŽ£n¢ -Ñç²ÏÌ×ès\ZHuc¢ õñZÄz\ɧæ*ãŽN—‚ÓFËøû­Ž=¡¿�{>ÿ®äñJÔ×èš;´CÓ‰ïU�’v¦§Î.aTë^V¬/Ä—OÄú‹ÜåH‹÷”‹.×çœýûZpvZ2K[-ÄNŠÁéï›<|ózŽ13ßÚƒ³ñë¥t�ˆüVéŸ6 -š'ðÉ|êÑRÅc#ʃŒµŠm�}àóyϘ�ˆ…r¥›¶©ÅÖ¦ØóCb°â˜2¨ø[#I\£:»¨y’¼ ûÓP/Õè—TOdÓÎ�[ r.6ëÜ\è(}³GQ}°à‚qˆ;–ÑÔ?HI'çˆ$W…ê›Máä¡*C�S3Î/„öpÕD�ÁðÀšØw-`Øz, Œû �:àN}j®�}k)°"ÖU ]èüpgæPÛ„¶L�E“…‡+aŸ|Å«�X¯“*š7[W7 -<ñŸÐ¥31‚~¢½Õ�Ž,/숄5}Œ ëØëRlæ¥yмÚÅÐÎRîoee•OWB;‹K=4 =|TÍ>¸|,¸¬YZs¾<�jgA+õ¬DbŸ1äšÈõB;+B£�%dŸ]Äå_ÿ1‚Ö[IÌWç�£X“ø}h¶³¹ -éäºcʾ¢Ê¿£ZóQÕRÖùE|îµï©®-Ö\vFQ“ü~ñû¦ò%u«„²ÆuвºEä½RNÍ€žt> ÷$%œ™­ôÍÍÚ»ê)‡f ¦!|¤.¢µ�=í+å…7S}'’cÑ\#áäL¡àÞOBέeÀI&æÖŒBµ«'oíÝ 5É#l tP%gŸ~ÊÝ ÃùÒk,ËëM©–Œ_º°€‚äCf¦$_—Ûf• 4ŒP7† êƒQ�Ó€~Ê ü±ÐîBÎ'„”Œƒæ†U5=&´Î¾o"{EýÒ-¨Ÿà28ŒjÀ[“ŽÌÀzÕxߦËÙzS¼ &F›ÂåÞ[†šˆU1šßˆßñqÐÂ}E>JýbxîXhVÓ>—Œ[‹¨^�oÕ@Uú$Ž Ìdl€C… ·I޼Oul€‹¢Êô9rïin=\_r�ÄN¿hºëò©Çg¢¦!k‘”ÇT\yãjÞr{O™¹À`ýŠjÔ„d~C5¾ óæ1€ÖþI;‹Ëº²€æmaùc…ô3ó€ÇeÅMK‘¿Ëì}{ÉÆç¼ ô •&Æ|Ñâ$y™Çãù?µ³"K¾ƒ¶�9•w™j¬K{'jÞ·ü[ØÍ¡C�T3…O?>‹Ë¿º„ØØR>ë -Å,´f•´oÞƒjÃE»'Ÿ,@}t§Èå’I._Þ´B<ܤP~¾Y^R· {ì°æ.%ž™M÷Mú„ ?²°>s×Éþôyw›#wìUU fìžúÕ$Z…s†/’‚ŠÇ‘±$×@î}l…öºñÁ}ÄèÓiΜu™è›©g¡rÒb ¦¦Öa{ô¡»Åû��Ë8G-™Ì’`C ÆÂ\Űö¾½��q]lîíE¨K�|²·…\Ùƒjy’Ïc+&Bß -û—¨&QÒùÙŠœû‹ 9M9Úç@rYÔ¢8hmá~Š)gçpÉ'f –�Í9õ•+=zBGkèbô‘)T…®õB“ªp†Œ%ö^Bï ûhÜCí -yñÝUð©tmÚÚNy/b,ÞŸµsÓÁž Ô¡SÄYíб0·Ôh"ú猂¦ -® kc¬½SO#ÃMÓŠŒ°ƒØÖ˜½S‡iôÌÏÎNC k�ÀŒ¢gø@ª‰Eb40ÎM½oŠ˜uy1ê3b4±?r~RÌñi¼Oæì‰à\ƒú‰>б$ïÿXø â¤-{·Àþ¨_ -™—AóˆêAk Úpþ¹£�gÓuä 2¾Ð ƒ^^úÑYÀ#T·šíQ•IŽBõ9°v_NµxŠk—A»Có=äªÄn�� ¡(iÿIQÔô|ž˜H°t•kS�ÍR”·­’jš, ƒµzªõµ+~(Ý{‚Z#öÅšÊG\ }cü ÿÝåò¦eÅ÷¿W¨¯Î§k:Þ$vÀvÈÓ茡뀨G`ïp@öh F.øûäÅw(vbª'Ém|tdÊÚÈ% [ÌM8Î?�ÄõH�àOû­âk ¤0õºV¦>=�+©ý‰W_[‚uzÖ&°— ïÔC¾�IJÈJ}yÁ�%xº^Hì!¤x æµG_‘vhª¼äÞ2yþ­ÅòÜ ыʹô…>&çêÓWŒ­4 úpØCV3Ap"1Ô5¬¿ä“3Z…"´´ å“*‰=<6Ir®X{ƒ�Þ”èîÛŸÛ3PÜ�4L¯ >ªx,­ó‘œ‰æäïp� /m²Ùœ1³�3ÀÑÈM�ïâ¾'a½•'6Ëo÷íKmÓ䞉á%ßb/�°= Ÿ„xžunð -ô´�bÏ–µg"ön`^á<°^,zçê!w†ÿޤºé^ Céž#hÁ{§'ql8�óÐ{%>…÷ÍÒƒ¦3ÕÆ~Å ªÙ-û@ç5Z¿øaT«‰úà³ó¨Î+j&‡bŽóig4þÚ§ÄÇQ�+hÅ¢ÎN昸›Ü»pbg$?.‚ ’h›uiƘ�-¸´XH!ïA®“ê‰A?úèó Nî3„®•L}6±ò‰úèXo‚·±—6šÜ·¸ý“¡EGõʰNçŸ0y´ë0·é}€H=9ƒîN88 û]¡› BìÄü¢�Ü[ø+eHñ·4.%›E5ÁÉ5óq¥¨�ÆWMT¤žŸ¡H:3�óÎ=§ûëñõøz|=¾_�¯Ç×ãëñõøz|=¾_�¯Ç×ãëñõøz|=¾_�¯Ç×ãëñõøz|=¾_�¯Ç×ãëñõøz|=¾_�¯Ç×ãÿçÃÀ`ÝvÛµÖ;­u¹�º«6-²$?›[ïØiç©k¬k`9g•çεŽ6;ݶ[{úè/#OÍ�=¡þs;ký©šWê“é›x::8n'OZØX»ØMÓŸ‰¿æŒ¶È7­Õ_¦?u‹µ��§å\Ë¥–ÓôПºjÓ¼¹–äÏÈo5/ý�äCò�yj·þ¼¹úFú¢r®¾-^o޳%Cÿ£×¿`ñìÅßk~ÞòÏ?k¾nùÇëÿëÏôõÛÿããÉÍ8¯wt±[¦ù–^Í—A'×>OŸÛ ;g­Ý.G»5Füf}ÎXW$g:‹Ž¼æò½ŸóÍ_ ù¥þ<òÉ‹çãÚ¶ý½·áËß|ùò½þBòéó¾§wi¡>þl®®�=?é2ý…ó/^¢Ëmê·qˬ[cÄl2b# Û¦¬ƒFÂV-¹uc3›F&ö=6n˜õkÍÃÍ"c.ÛÖÃÂ.¸8eö�½dö½Ìmwé˜JZëV™0+–od6­çc…sc•‡–±ÌYk½!Ǭ]eÆl\oÊ€ÜÍT¹MËÜn‡Ž™µ»¶Ü5¬ŸÌ)ªŸ‰�¯ÎfsKÆÈd+B+ ›�=ev½Í­¼{n6³¤Ÿmh¦$ïaÁ¬[±‰|5gÌx-4t`óý–-Vô5f¼c…½O/�´(}“F€ŒIRð-HÐÄK ˆ]Bû£™›6íìH‚ÆY4>cS5M•ùãÑDƒFOÅV�ž"¿Aæââߤ·´y4åø\4œ¢9Np ìGÉ5ÈWÑÉ·¯èò•Œ‘ Ê¢¤+x=š«¶y÷ìwôRm�¨ô$Ÿï•0d+¬{`Jú`çÛËÍÒ -U¹h£¢%�&°¶:h–DC4oçÙ $àærž‘[»hóž©CÐ(¤pôê¥pð¤ä8 ã�ú¢ä°2«ÂÖˆœÉõ»ùö“RFJñû§)CÊÇ£ÉÚLrìÁÚxé€4‚^{L•� ÄÛÈû á÷Ó3n%g -*'†W}Ç|ÃzEäv¦�çÓ‡ñ>éÃY‡�>fÊíÚ ¤å݃P2�ÀÜÑtƒ;%ã‰Bï š"Br¿A“èF|�P�ÏQX:k+x+-?š*´@‚i3û¦æÖ=6›J Ȥ,ÐtÁ»P¢J£-"c¡†�2�±¢«¶Œ\�†ÜSò3H>×­Ý q„µ¬cT?¹cL?ÙVo�’›€˜ÕÄš‘©œ´AêihlÁ 1œÛ‘2ÄÌÆCÛÐH`Vo0aŒÐ¸kíÓKØž<ˆß™:„s� ãÜ´ >a¦Ú©½‰¼nÓ�[õ ÎdK–»z²J÷ž¬½w/É)¤¿Ò5x€è=Ø2(67^ôO×ÃFz¹^rZ¢wÚp)°hŒ2´L$ ÊÝIÃA t ïÞßT°ÓZ¿Ò�øÈõŒ9Kæ›rWOsÁ][&8“±ÜÙSNæ‚“–‘±Àoæ4â<ªíÚ” Çn7™ó6=Lå*D²8?Ñr¶A½ÑXĺF¹ ÞÇTnÛÃŒuèA ¢É5 ›ß•9Œwëk¡ôÔÆg€pÍÕ¢sh^ÐñqB¢¦iDšrâœ}úˆN‘ýe’»¶…Dü¨¥[OÑ)¬¿ä�6Bé™8Tr è/9ûôE“­Ê7Y�·A‡o/4ðò©´ d  ãÓ�Š~�q ÄCމå�ñCÑTIIwe� ã %$Ÿ›ƒ&N4™£ÉVô!÷äÄ÷¢F}`ª2õÌ|eÜ�i%©¨œ¬ @³Èê‰ÿÔ4$ŸL|&š€`W´á–ŒçìÛ õ°åîˆ!hÊ¥�Õhš ¯œ€¦%Úxë=„ÚñËÊ]‰Ã¤�1CDÏ]ø9¼%ü˜û'Ó¦XÚÀ·×@¹ÏsMŠªœò.MãbõDÚøY>^ -. !UXÕDúY lð „ŒEm䎮˜ ¢Y /AY£¿ô”ØÄä.Aý¨ %Q.‡&ö â ÎÁUM| ¼€]®7a ·˜3 §’qÄ7*£-*F&�¿'>Iaã©#SÚkÁÿPBïÞ°øf™µ“¶Âε'šº7›È3ÎV‹µóëÅ:÷a/>Äù°1…•·š˜1·ÐüE¶ÜÂÉ9'âp}n‘Ä]IÃ@¤ �yˆ;“‡‚°pÓÚ Œ\rÑÑäÚOnåÑÄ#”à•Ä^JpA|!|„äìÛä¢gÄ øF�¨rN}Ñl)Å”NDC6ülKp&öIÆ“6tç�á…yÿ>”mwm^TEUM¦MàdÜ$ÿœÑ\P2^ŠÞ3‰àƒq K’b÷H‰ÇfÂ7I±§Â)wÇÉgï®CÒÈ<¶wôFÓ­ä—0BÜ‘0DðI‚J°’ÄÃ5ê&£)SNl ¿h˜$ó‡’ÚQ9r.°ßL=�Uáš0—Ðp+&ŸI›‰3¯.@£ãÐÀ“6‹¢É2´|hic(±5�b€d2²6âËɽ ö5 ¾ä¶œg„.ûˆÞ7ä2hô¶€ßÜÃtÑ8ImÀ“Øì®¤¡” Ïí ו;öamˆï/ÈÂÈ#þ˜’€ Í-Bä~ -âÿXç½qoð€/!÷tˆj;‰$¾Š øsöî«in%ç�|a�[$€o¤ó�ü¾ØFH<7›Í»¿”K»8‡’&'�žN3Ýbò~£ø¸³Ó¹‚'?òé÷ò®ÉMÌá§�µEß =1åØ,!ýÔ4½Ó{Yùˆ@�GI!¬éJð¥W/¿È|”üs¿Q…ï�_¿ÃYmÓ¹ÅK1 °¸²@$>¶)�°Ö;niS)Gà Ú\KÆ6ò Ú(ކ`Ü2?(! ÁBÂö�þh¬¥$ðQ/ÏøÁ¸—"|%R�ˆyÄ{‰±Àýh|…Í€ôÄRÄNÿ$À¹Ð¦l‚!yÿY2^4æ#ö{ÇEžÒJŒ™zr&¿i3.±QÉ'�úJúØ�8”÷O±øQ�¹Pƒ„£S ÒÀ…•Œ¥Ä#ž‘éõyD¢ñ9rßçÀ€ÐMÚr{šc‰á%ãù”Ó3ÑXÍy’ñsêƒ1Àù�°M·Ré©Y3‘w�Ÿ -‚?|m¦Á½ÍÉÃo’v qÖ1¤¯D3ìwëÀW"VdþSûŒÞ3ÑŒ³ïaNb¹‰D¾’\ß›ñ®Zæ$ÿ’IAJöðgƒmìéé ¦�»±Ç¦B�dw´I{7ÁÇôûÔaBÌA.ùì �qs�y£ X�Î's8\ô ŠÀ’Ñya;D,H�3�Ñs1º#1W¹i“Ò‡‚äd*â¿íýz€DHÜ™6ŒÚ‰ˆ�É7¨¿9áöàþ‚_ÊpJRQÒ±ŠæßŽ¾}iL$ã+/z´ "Š´ó3A`û¤> ²L>¸$vÀV$'ø¾†Ä­A°OàD:þÚ 1 ˜¸Ä4�ãÑ8Kâ‹@â ü0ÅÄ–©øJ`†mR'¸…Æ!‚!(ɧ ÉœýúQ,Bb'ÿåyJ(2a“ðC´úËß`¾`NÁ? QeßQ".ò;znÑ• °ÂvEò‘)ˆß WÃ|Çç`î€|@±5ç@n륃yFI"ÈgBp@fKrfKm䌉w -Æ€4€úЂÑÈeå–4×£Íõd~âþ‰>±C©‰±¼#É9HLb�É<°óé¥ ñ‚a°O~GÒ`ˆbà>£)ßTFr…UÔ’€ qn¬%òv-sÞ�ä!NZ ­Ÿaœ‰ÏBL&X¸¯|:æb3ÈmyÏ„A”x•ø~àCÖÚ¹§ÜÞ½§ÌÖ£'�;âÉ}z�Ì�æ$/×zõDm‚ÝÑ_aåÕÓùº¸]Û„µÕB>†| -÷Mfé® rJJ†KòtÞ1 È©ØnBIŽAÆ8-z¿ÄäÅ­Ëéü‚ J%/mZÎU¿3”íÿË:‹âgKAòI…`ƒ¾Y#dvž=Íx©ÄéXõõ…|Ú�ù¼WòP¹­§j8 ÜÀ<‚ÀoÒ|8(5’KçŽA¢j7Áî$7ï~ÀŸ’_ì0ä3ƒq;æÍH®M0R/5€P[¹›`K�ù¤é� ‚+”ˆÓ;sõµ$fA|…bØ=ñÙ¢ÁêI|Úé9%™ŽDIà�2®.ä*_nä÷?5Sìí¤„§”´Æ=zð5%ÈÝ® ñ zï‰íÁ®�»à;¯!º�Ü‚u!¯‡¯D]È#v b›_oŠC€ ¼2†B¸‚â‚Àâq”D›`�ÀP�×\ ÑJ4»3j»=´æl“úX2$äûøJâ¦õ›Œ»ÌÊGù3s5óg—@–-ãíµxç�~ðÛ<ñ)¨€Ì�bFâ?T€ Ã'G�Ì¥Þ d·ö‘“¼ÚŒä4¦–Œ™`Óƒf’çáû¸mÄvíü{�ù:Hì墧6HAN¨°÷í…y(³ÚÑ“Î1âcQ·„ï$ù^Oÿhœ�Ô… êÀÈÈ;H¬þ�ú*�ld]]D œ@^‚œ‘ä¸ —`<5⎾·�þc‹"óáB†`#�3±PQ�V̀ЎM=;“Û3±HaK>ä/À­°ÇÐ2}ˆjI$Þ¢ö¤ -), -ÿ d’¯÷–<‘ p?ȳ‰?D,§>¤5 ÷¥ùzôP�ðR‘„øSiþ\8N -/‹š¡ä—¢§ôÍÐF¦�¦x9¶b¢¢¤þG*ê´;aê™”Ø":ÿ;1¾j -«¾³H±çéEåóÕT¸2ÿÞ÷|ÚÕù kœ£ ÖB¼GîЂKÀ«lî½%|úÍ…|@Þ(àCÖÑ¿ÕÙ¼Kem?Q²Xˆ‡•Œá‹5!îÌt.§n)_ôd¥PÒ¼F(ª_" #‰+¡c‘—RR"�q".AÜ%b�>ÅÇä!&œšÁ§\˜Íeß]lh,cPË€]m–iòubW˜ST`„äý”ßiwà 9'ÉŸ@êFç&±{ÔyPOàÝc -$oá:êvÀ½ò­ÄÚøõBN²*�+ñ^™[ îIƒá—�wP!=lõ‚Gò`ˆº[p6Z¼cP_Á3n°hÔ¶ âJàPåŽ(Z« 5j»´Þ�1JŠ?¢!*AèJ0Ü®ˆÁÀz””egø JPYü­¼ðîùÁO†Š#�eUïV²é#`¦’³ê² ŽÃ½¢äô˜çÄOP|¬PõXZÓG )îÀ4ZO¢õŸìo@vŠº H¤Ôú¼PK!xƒäë XBm\éEb*ð£_Î( ‘Á¯ÄOÒ*„†‡§@HxŸ’÷!_w î/‚¼2bïDJ¼FÉ–Ê'€ˆÄð gæüÒ†ó>$Ù7õUnwÔ`œSáž„ãÓ ÔLó'i§ž™ 1AÁ¯ì`AŒâŸxz[ú|%—Ýø=^ù-â¢à_8šË:;W^Ö²Âd|ôžï¸])CN$æyœU¡�y 4¬b‹š—+JšäÕ·–P"™í°�(]18m”�~t6„<@˜D‰á@J�äpÉgã~Ër,”•µÿ@ÉÒœƒú±[Ýt�¯sÈ×' nB ÿOâ~Š¥|2FÐy@ÆX >X˜óH$úåkòõ]ñƒi�‘ø\Ä �d 1G§°ig ñ§¦ »sô8{ïÞø=Ì ç¦òË×�“{#íÊÕI¯l+Äw¶kƒøH þ52Éá1_D¿¾XRÆîù’¯ôG½†Ö -‰/㣫'Ò!r7¯Þ ‡m -¨ã}»P¨/Ìe>Û"žlU)ªßl™ïŸb¼}pÖš`›=‘Ó ;R‡"n)rA¸3ù9Ö¦$b‡”œ „ÑðŸáeß�\–’Œ¢V€ûVD‰C¿� -}I^Gðü-%èÒäëºÈ±pn”œ2´`œ[c@rçi4o"ã§!×Fk ÈùàkMGN/$�š Ÿ¨È¿»„K»6‡Kö‡MG V�ü�ÛæÛ›RFV||Â;ìêm^2A‘{{1s¸øãSX÷ä�ˆi¨]‹ÛIî¶ÿ;!d¿>â4Í%ILA„ÜØT’W’˜ R8™ä¡ ñ+dI�«Åâ'k ‚Œ?!�¶ÓyMâ—IbWÞõÅ\ö JbHñ­_þHŒN ²)Ûûiµyå³åæëÀ<*rO‘¯SÑ g2ç]ýúQ‚Pâo…ô3sň})¬t<Ƀ'‚4Dó´^Á¥¬« ¸äs3!øÁjš·‘\ $Œ9b‹ŸüDòõE¼[ê ZßÝþ‘¯ói'fC¼ õ7àtÌ endstream endobj 45 0 obj <>stream -U` M¾ŽùÜÄût}�Œ#ìÄ2tÏ)$w,Í×­I¾Á 2¶´î]=‰æËxngà@!aßTJÜ„:»¨1ÊÖ‰5�M…#ír®êå&Yñ�¥Tì‘Üs[‚Åí Îݵ’§¶†Ô•äþćanâ ^€|˜ -ù#b%ê¨'{’ÏÎN“ÂrÆŠ4_O¡ù:ÈlqŽ4_G ùò<øPâ‡!ðÈæ\]a6ÔÖQ§¤¹Á¥4WY j ac9ˆ9_¨(®_Ñdï·fr’+›ÈÖÚã‹ØE´®èEü°ÚHˆ]ˆî~ý1w¨�JHÅ·ÀÄ -+ø5�Ø…XؼJ(i_ƒëù9b(gO>ß+q(Õ@î¿ -áEɱ“OÒš+%Ç‹Û?Y^Ü´\^ýn-ˆ!x-ážEœ¬ -/ÖWºG „mÛPòÅœ;K¸’ú\Á½(Á&®�YgðTè²DŸ’”–>^+U·˜áÞ°9×RûŒ?4k4|Ü‘)”D.ùò,>´F_á5À ë£rG-øW)¬B㈘„ºëÐd¹rk_¬-hHÒõèzwòÙyôÜPØIp8ñ]ñíð‹”TŽØsDÝD~Ħ P’]*v[¢ÿ±‹ˆ]$k„ÿá_ü iþ± žä¢ÀæfÆ*Š�g08’{‚ø¶Fýä®äat�¹½“�O´†’?–�>8‰O<9]ã¿Èçƒ$˜Ñ?Y¤mX? 94É�€ èWJ¬xlæ,õ¥ð�ˆÿÀ$/WlCEÈï�ŸÓ×ÓµÄÂq ƒåS.Ï¡õ×àþÀóT0Â#v°Ê…Ì�mÛuhÞFÅ.²Æq5-[hüð†Ø…’15•jSXÏq©¹_àI}» ± \›êO± û€>ÂÎK •‘§ˆ»ð¾¨‘’œ5ψê Th&iÿtˆ¬±E~à2NÏ� ^ bg>áÌty^Óbiˆ¼KÆ¡^E×€» ^Çš|”2ŠÌoâ3Q›¥${x¶ö¡kn7*[7)ÊŸ¯âHnK‰q !)| -Ä>°Wu"äüœ[œ.­?à{’Ëì¼uL,ì{®cQóÔ‚Ø·ÂÑ¿7/°À‚Ì]–ÌyˆR¢ž„= ÀQ§„ðr"ÔÈó½@ZŒˆ®q ~I0Wа\LøA^Ù±J^øp©EEû�Ài¨]š¼m¼a»�‘\ÝBñ± }ø¬]›(³-"µO|­B]Ò~­Í`í¶Iój}nÛÕ5,ù=ñ7¨£€yˆu•q5S@K×Ê]5µ.eLådJÄí�6BC ¼«ÅdŽAüõOÑ�Ø/±K¥[ô@Z?ClM9AE^hÝÞS³·‚‡Ÿ‚P ‰õ¨;SAw嵐r[÷žØBÅ0v„ÿ‡ØEYÓ±âÑ&Ö?oäŸb2ÕNmj3¨Cú'�¾‡ØÆ@ -ùg±‹�؉qT¬‚Ø�ʇä@~}8;Ï^´¾Z:¹#T óõwŠ#M¢vç?~"°ò²W+Ù²«ØŒkóh½ß+z�bï˵˜§¼W¨.ÖŸ0%ê‡2GRá[9ç]}°‡95Dæ ââsEÅ£•”Üd­È…Û´LLMã-¦ Éû{ ÏÁúòaä~ -�Ä�ð‹Fݸ�eÖ.Û̬þq#qXÔZ-!R–§AbÔͰ†…÷¦¤¹È_IÌD½‚|T\µ@äå$…؉™ÀäˆÈyAĉûB K+;×È¿ÛDæÔ"ˆ}CìÂdˆÎ-{àaÁò Ä%‘ÿƒ\›Š]²Ì–Í -†ßÐGQâ¯i}r›wŒ7]×°Ù®C¿Ú»ëà^‰.$þ@ ×- ¿ÂaõC[dž[$æ_[Ný"0'j�˼0ŸË¹º8�Sø6çÜ| ‘jê(ºŽQ¨�uTJ<™yz_Õb�øm¬¡¨|ˆ/�-›$V4lTVµZH{Ÿ™°•/ÖË ¿§bdžðñ'Ë nP± 6ÿÁR*vAògì·ØllÉ‹nZ|‚"êPTð;ªð;ˆÈP±‹0�Ø…ôÏbîŠ]xõb­µ¢“Å»X&qžÍ¯û�Ͻ»”'¸“Ö N…¡9§_öH)êÈ®ìÙZ~ïkCEù‡U¨K‹á& -�EcØêë!$Gs^�z#_Âþ0ò " ž‘ƒé¾ߌÈËQ?B®Žüâ¤À¨¡IöÞ}”n±ƒ Æ…µOç²Y÷ñA{ÇÊ]£ûƒ ^±3m0ìÓ\rÔڰ΄Yµf³iƒcÂ;ÑõPàN¶ôÑ -邘5, „•¦zÖxÛ‚z˶ùô’;EôýSì‚-l[.‘¼ ~J aŠ”Ã³•áéci|'±LH;4Sȸ¸PJ82ƒâ`à;èÞâï1VlÑÝåBqþ¬n [öp%Ƶg6óæ|¬ÝˆîŽ:¯n9_Ô¸9ë—£‡¼ëõÈ{èü–Ǿ=bBÎåïÅÒæ�\M×fåñGÖÊC›|aë[4’õJ*÷Lˆ5 ÷žfœU3b§ÈA8‚È|™¿&�ù�ZÖ‹L  ^Gc.TÆŸœ­ŠÚk@ñÌŽ„!د� ±øá!íÆºŸkvPý²Ö ÑPÁb|äy7qYçæAìBòÍ¥5Ô°çH™÷�2¦Â@™tjöth0Mé8Z{GhWìZcÌùù8­a€üwgÔ ºÆã;upÔV”MëļÚ59;‰ß~Øßqtº2z�jöT8“®C'E â”|ÊþiÜ�f#ár“­ê|�3Ä)7oØÂ@ܘîe+°VYÙl,ì}d(/¹ñ=§„¸úîb�þƒ„›®G@8‹`Ôÿ5$góK×ú¨<�䦇K[ò½]« v�u.²b¼f}bÏ8ÅŽÔÁ�çâ/M§b¾ÉÃh•T55/)¢p<»ˆÔˆ]ˆ9gCЂŠì¯ô"ù@X™>–#y*%K&¿çKWñåÍëh~RÖ¾ -k&$‚`Ÿ"ó? ö�ý‡`_ÅËuØ÷clÎjHÑé>ƒâñ"ö5àóAúž_¿R,oÛÀ¦ßš‡ûÛ¡kB ÂZ*rtÔÒIŽ$nVXŸ¿æ¦<Ûdk¾ÿÍ*Ì6õÊlΧd$Hý‘k"_¢ëÀ;’S_R<$ñlyçØ»!Áƒ†k·PáTs‘Äwç¥í�ýUˆ#Guöê ÿ®ôL¢ûŠÅˆÌ±”èkGØ[†=?$. - ‰N8=CZùÖ„€©ÀÖ(±¾BÆ{Åàs€ (yD ¢µþmA}E¯,’G˜$¦�_ÿGE$ ¶14’¿&�¢$Ô°]Þ7�ÖÕQ7QµläÈxAEc�“ …ý>–Þi#­L:ÇP?"¶H‰ï“L£¢V$þcß!Ä•¨TÔÁ‰Ø#aD>@=’ÚòÅÙB`éØür3®²cŸx` -§Œ<8BØ -Ÿìእ̀µ`/ ë—=ÂÂÎKkf‰åÀQâž¶ÍÁЍ=É-ì‡î£b”$ÎA¨ ¢Í¨gòÎ{ ›ôÒìU£5pˆš¦ž™EëÄ_@ìUÊÔìù@žÌNò ºG{“NÍ‚˜Ý„õ¬£lÝ­ƒu*¬ïam5 -ìU�"Jõé¾rS` "hñGy§ c]wö¦{dH5ƒŠ²„a8ÿ8ìµ"qù D‚ˆ}H)§ç‰‰§fal±f�µz*Š�:&Ö/Q/Ä_Ôù#ª&кÖL‰ï¥kù¨aáïÎà½c†P? -ñ'¬5ÃFÓÎÌ¥B¨§c�+²|"^ƒ¿N?¿PÌ89yœ¦žX0÷\ÍsCyEû -ˆS -»R†rnAýqÎÇüA[1mWúpz­¸’Àvá_PÛV*/k\�º -½¦rn¶O%ö“yy!øN99“<7 9ö‡Ax‡­ì\+¯î\ƒZ(¹w<±Gû¬Pë‘=\*$_�GëÒdn`¿òmŠs“MÅZ1ž/º·¾¶�~ì!ï1Sˆ=D÷Ëb}뼨i`?›}k![óz“¬¸y©°3yˆÂÆ‘î•DMkטïBìÑ©b@ñ*:ã—5 -µ"2 è:P`í¡kÿÞéH5ñoRü¾i4öÓü£p,ý½sDÞ)Š>èuÇÐ~Ø‹‚:šÌÒI³§ÞÆ­'jK–nڨ˷õ“;øö‚@:XøÐ²q\ú�ùlîÃ%˜ V#y½–ñ±ÀÅØ›KÅõ°^�ªÑ*ìKáÓ®ÌÓ܃ìш©ôœ±)éÂlV]¿¢¸4Ÿ'¾v�}¢–¥i^ -üA’‹q§g`MQSØ; b_RÂéY|֭ų‡ùfޤºOîä ŠƒP&ñ’ú…Ð’oa/|ú•£õKb÷ä¾N…ð)ƒ ¶ñ46ëü|º†‚û�´Ç€Ö±&„uGÔŒ£ÊÆSüD♢ìáOlÞåEtÝÊ-z DܰÎ/¦Ÿƒz—qeÄbûù·Sa¬Ssá—ÄOÓXGb`\5‰Ù§QL  !%�FcÕ‹�²Ê¶\LÕwx-ꇲ’ŽåX“bÓnÍCþ"/lZ*Tu³U¯7*Š[—S»O=1»ÅŠâúHÌZ ?ŒuT’/DÍ[ŒÚ7 þ1GŠ?1ƒÏ83‡Ö@! } ÕTQT¿Œ�«š@E,P«rÚ®CãÄi*^®V”¿^Éeqh—tjš<‡|.0«o¾žÜ+cˆ"°d¶¼\]·@~àóFöÐ;c‹¿®“�ú»±âÚo–ŠŸ¶²§ßóì¾Ï›åÕŸ×*ª>¬ã�¼²�.´;(¯=ñ�®·mçξ�¸Ê×ø¼{?XÆ”¨\ýû£.A÷®’{1K2O§)çòemkTûž(¬kêÅ­õrëò:s1ÿî -*¼ì•:\TDï1òJEñ£å¨Ïˆ©—`_†¢äÑrˆÑœ“`{¾úù®æÍf®âÝ:®´k5ÖMð€õs+Xˆ�–·ÿ$Ï«£ui>õÜøOEÕ³uð-\IÇJXBv&ÅžNk©t¿è±iðcøÊG4`3.Ìasî/–W>_­¨h_ÍVµokÚM„ªÖ-°”—¶üˆsDýç./j\;�]+ÊŸ­ÄÞvßCîp‡9D°¹ãÏåo’>]&¯ù}=wñµ¥x÷ùþö Wéb‡wò)'&òZå±fKþh»L<ÚNþî©\<ÕfÅŸ|É)ÒÌS¤ß›+ÏkýÞ¼æçìé—¼òb³³òô#`åþf9[õf“¬úé*äJyÂ^.çîR©¨a­pò©À}-ãò—iT«'s¥�«eê;sqºÈ»ÙÒŽ–'m-�=²c+]Ϧݞ �_1áÒl*.Wôd]ÓŠ;7ñ˜Ö;í|{!ä3î.F ¥8$çÁ÷büùYØÿ¢ªxb*V¼Þ„sb2ÉŸF±¡ÕãØð}ãåQ§'˜<™gz¢{�ìâßeŠ«¿)å·ÿjÍÞüÍ^vÿ_·ZÔwÛ°O ^?�å:?± o<ø[ï\pïTõuáRCs�pù­={þƒÈ^|/I—[\T»Zd£ªl6W6­S–<ÙÈ•µ¯%¾çŒ«"íÂL®äéJio‡™ÕÞ' -±¤k½˜xa6rE«ð¢ ÊÀÔÑV;¢‡ZFT™X;¾B…¨ PŠu:ÄGîà3îÐ{3þTÏŸêø‹Ï¶Šž8WºìÅÏŠêëÅ-?È*_®ä>3ç�wqCùñ&òc¿s‡>™)Ž}0ã�=cÙã¯,ø³�¢x¢CRžn¶µºR»C<ÓhÅíy¶^Vöx¹|Ï«Uä±6Ç¥]Ÿ »„�±{_®*Ÿb½V¨yÛ4VíkV¨5\eózEyûJø>¾‚ø¿’öX³�W<_!¯z³Úbÿǵì¾w›ØC¯ŒäG?lQþd¤8úÉ„;÷^Å_|KüÀk^qù“’¿öf›xúåVñ¹Æc] -át‹J:Ó±•?Ó)±Ç_š£ÆlqòW#Ù©_�åçfùŸd·ÿÍJ~ùWA¨{ê%Õ5X]»·Ëê½íÊc�*n_‡WýfÎ�ϼ±±€Æ‚�W>)…S¯•|ùûõ<ñ[ÔZñ%]kÌ·ºj›Ùxõ„¸&ÖB-oÞöQ]ªw�¿¶N½UI‡Ÿ‰Êš§ -å¾V¨è0«_óU¯ ù„s3 ÖÅǟªkS�ÔÌ‹€_ÄX2ÏÓk‰{žŠÏ7±å¯×XÔü²JVø~©ùžß~4¯ùû -ÓÛÝróöngÙ›ñ–Þ?NÞ¿Œ“7ÿâ¦èøÅ‡{÷)‚}÷[˜òcmªí›j§®CyÒ‡')âë牪-©V/ª·u])R>iŒ"÷Qb¯ÿºU¸ñÚIªmñS]mõ�u*UG›­¬O?tÝzõ†�õÙZéÄ#•¼ú—u²â§Ë„/-T§›·ñ‡ßÊù�–¢þ‡š±PÝiLü�©jï#™õ‘F;ËC�TÈ7ÙŠgëxØBå‹ ìÑNséT»•x屓òJ««ìØß¶ÈÏþ"c/¼W ·»<„¯œ¸‹oUìÙw¼pé™ ³Ë‰»ñÙŽ½ýÞ�{ðÚƒ»ÿÖ�»ó³£âÖßì׳”]ýEPÜúlÍ=|å®ìª‹S>»/6> à.=·f�½‘±57ÉK»~”W~^‹ùÀ�xÁògžIÒévkþD+ÏÕ<Ý,¯z±F¨~j¢:ÛàûV]xè,íäØ#¯ÌØ/Œ„£]¬t²ÍZ¸Øe­8ô«¡üØ'#þp—\qê™…üì+…âÊ;{ãW;þÞkwþá‹ÜýWn\Ãó�\ã OÅåwú‡Ø¤¸üVTœx.“Ÿ}'NtìÍv[®¥ÓKxÙmùþ~¦ô±5EÖÑínÞÜm¯hýy×òÂ�»þÖN±ÿó&6ƒÄPÿÜQÈ˰¦I}9Á¥ˆ¨W™g<še~àßÖ§^(•·ëwÛŸ»²[Yøx=—zv¦Åáß7È�ü¶YvõgN~þkQó—U²¼·‹-Š[&–~ܤªî”[orRݾëkYw7lëýÛV7øK—›]”GÚE±æ™Å*{ßn@žÆ’8Çïy¿‰`ÂÅRÀÞq²‚æ%²Ó˜Êk³aßþ"}¾Ÿ,}|�,|~žÀÿñ*^øÜšÀÿú.–ûð.RúP—êô´FíÖQ‘]Ÿ\�ù0&oÛ‹Ã9Š •Þµ§:~±›ÜOwîúG{þêG;Yõï«åV*¯´¹[Ýz¬:×é$\{ãÀžü¨à.¼’¤ûm>V�µ)R]G€p½ÃU¬}ºCy·ÑWù )ȪéfŒx¿ÃKyõ±»xç±»t£Í“¿úž½þr«t¥…Øcƒ«òæéV£ñy–f•¯–Y$ž40Ïožo~ôß×™_è6SÜ}ç vµD«^=LS½kJ_µÅ ï:â¤×mIìÓçþþÕÚâÁ¿XÉüa/køÅ‘}þ)@øØ¯üÜ”nÿêLžô¹=…mxîÉ^}­â¾5‘gܙ˦]›£È~¼XqàÓf<'^jµ·¼Z¿Kuå¡»êTƒ�òX«¥êd“�å±&kîl—ÄŸ®’_|ÅóW;íÅ›­nÒ•'Û¥óOÅsÏläÇ~7’Ÿù`ΑøË_}j/54ˆ�…ªÚã¬_ÝÍrz~¬Øõé�âm/Oؽ»š'~x/u6D‹uÍ>ìµwVüý§|Ç£P«×w²lß^Éuî:\äÞQQàÕR\°ëqAŽg[i¾óÓšË7Ò¸�o"e͸˜Ÿù›ê?ÒŽôabHÕxEÙó쾆üÞ÷†ðmˆ]²ÐKãMË>-æn}ÜfõìNšM× µõã[‰v/.æÚ¾¸–+4µûËîþnm|²{•EÔ¥ æ¶þ½Œ -–µ×ƒ}'�zbcóâZŽkב¯¶={;Ï[¶ÔÆ#®ñG:â¾63ñ¹O×ïï²zr#Au­a ÝTy¤S„ŸáŸµ…»tÕä›Ë+º•“ð 16h÷úx¶åÇ›ÊÏ·ÓlÞœQ[Zœû›©ìâkwï© ×ðÔKÖüÛ6îÕ“PŒ‰íËó9⣺³SÙ`Rùh�iõ‡¥Æ'þ¾ÂøF÷fóö¿9¹vVå—ׇç5D$5ÇE4§ïì(+¶u2OùKC†ôóÓásW’øÛÓ$Û×g²w´•:=ÝŸcýî\¦Å£¿o3=ú·5ÜÁ_L¤SOIœÿ°Aˆ?3ƒO»»Ø•«y½™ÆÜ�Já Á:å–UOdÊÒ.C¾¨á'Eî½ÅŠ}Ÿ6HWŸºZ6Ô…+ë‚…óo¬eÕY-˪�#O½=Ë\}ŽüÂG¹òq]Ķç‹^]*T½¨KŸ7G[~¬ËÚÕV\õ8¹$òqrqiSX~ôãäregm,û¤k§õû{ê°Öô²Ø–¸ÜÌÖðܪ¦uMsP框à,r½Ù±õ 9I÷²“âr¼[òr·¾9“Å¿yÉ>xïÆ]ú`­¼Øê¢¼Úꮼýh·t±Õ‘?ÞÁò;ÌÄOm »}ù__ƺvì/ôìØ[êÞ±¯Äµãp©òÅ£¶öggóÿª”5ÿÝQÞøoN&wºM�®t¯7©xµÈtï§eâ½§»¶¾©Í±}}%‡ë|ÀÕ¾ÜÎ=xæAð³£TÙnÊí¾E<Ù¬îÕ{Zµ^Opì:Z`ûì|¶S×Éb¯öŠ=þmêüèG‰Ù�-©Y)�ÑYUõ¡ê£�³n<öI¯kÛ�z·É/ãVƒƃfŸ´ÆG>iuäçúFߌ2O×eUÕ…e§ÔÅç»·VäY¾¿–&~hN´yu^-ò/ç»Í'ÿÝ‚;ú›wæ­(ž}±UØ÷É”+ûu�´ï%Ë�ø�ê^ìR¾mO^vFó/ŸG*ß?N—>×§³Þ„ ??KP½�aõ¶QÍu¾ ´¸ôW ùÅçrñf³‹ªý~¬ò}SšÕû;êðæÔÒ¤–¸ò�Õ{m_^ÊQ¾½o÷úRÞ¶WÇ -^ÎõíÌÊK{™s¼)P}÷±oÆ­VŸôkm>é·É×O|Óo<öM¿Ø�uŠÌ»òưœ=ÃrJëÃs¢“òTŸo¦šÔu ¦¦Yìë^%œø J§ßoUžxe#Ýîð´zPaÕz7ÙúYm–x§ÍCVóa�¼òÝ©¦]&�í²SÞnÛ%Ý"1ùê/6ÊæÇQI ‰å!�ÔåÖO徭O�åÿjhQܲD¶ï—õÜù·¢ÐÞîÕVZæòôp‰ÕÛ»ÄÞȵzW›%ýÚ’fûúTŽ_{NqÑãÐü¼ÇÅî�Õ¥Ê÷÷ÓøOÂ_+ŒhO.ŠlIÌ/xª>Ô˜‰Ç±ÆÀ¬sdœ®> P_© É¿XœsìA°:¿.2ÛéÙþlñSg’ð¬=Zõ¨)F¸Ùå*=xì#Þoõ‘ê`n¨kcˆ]'æ$Ô'äFÔ§ç‡6¥ç—ÔFæ%Õ'³/ß„š]ï¶0oëvÚFüSÊÃøÂü»Ñ¹{îFæ>É&öUR’ÞWâDÎMñácˆÑ�n#“ëÝF²Žß=ðÞ®mGËÓš’÷'?JÙïþôp¥ýËS¹|k½ŸPÿpgÄãô*ŒWý³= -ÊÚSšu¼9 ën«OFykP®ÃëcyŠ?^‡™¾év4{÷ï®æ¿wï–ÿþ9ÄêýùÔ ¦¬ü¤Æ¸¼ÂÙUw#³³s=ZJ³=[Êr�:jÔª7·Sm^_T+ß´¥)Ÿ·%+;ž&gÿ°Uú·ÍÂ¥?ìlÚë²=Û«ËÝ:jŠžËÛúör¶í›‹¹Â§gqò7ñåÞ¾kJqxq$ÇæÝYµÙ³ng³Ž�ìóGþ/N䇵dí³|r#ÆäZ÷fãêß'žoì[2Ô$¨d¸qiû<³ú¿‰Š·/ƒœ_îËOo‹È/xžcÿê°Úì/Ý;�^v[nyÓ-m~ß­Üü®[0|ßÍ}ì¶1ûµÛÓìïÝ^üoMQüïMQò_~ 6êì–¶d·O1=Ù½Aqçï¶Rm‡ŸÕ£¦x§ÎãÅA�²Ë²ëc‹«†çûµå—+_7& -m¡ü“gþâ“Æ0åÛÖTÏÖÊ’�¦¬b¿Æü¢C·"rÎÞ Éòi) >ûR¾ê}}¦Íë[¹ö¯Nåíê()O|’PÚœYìÒU�ÇýõU ûâE�ðº�øÎúLû×§ó\»j -vuäç組çG?I,>w$(^ý xñ›¿ùãnã»ÝÆ›O|\º%=ÔæÔýc7Õv¯2ùûvñ�Ɣ؆ļŠÚp5‰{êCwÃÕÑuIY®í•Yö/fqï?Dò-oü¸kŸíHwàÛ^;>;Vù(¥øøíPõÕû�Y§n‡å½Fþ6L}áNˆzϽÈ\»—$ƾ»›‰øšÐ�˜á^°úfm`F ñY}Ó>¶ïNùDw‰¯‹|’˜'ûÛ§�M�Ýæf¿w{9¼<œ³·58ïn»wúùVõ©VÿìÔöèRñ÷‡Éâï�Iˆ‡Öo«-Þÿe׿KÝ+�SmØæ®½Öj§Ö�óýjCfᲟ˜ÅKW3ó¯bæ.ü‘™µx%3w± ³BÔc]Àù!ëªÿuÚú'Ýë¿< ®ËÈÚs56çÐõÈìÌ[ 9ù7âs*nEªÓo&åÆìàÖV�/¼}oùª!s[×±|‚‹ -Óëâ‹ÊïDç﹞³Ÿà†Üú¨|à<‹¶s¶üt#cOChÎUâß.¶ùd}ê“~ô™O&ÿ÷Ö8£ýŸ™ø¨¯Ù,23Æê3zê1ã=f,3Œù†<ôÉ÷Óû|ÃÌùÆ€Y½Zd6IZTáÚË–³Ìä!c™1ÌhòªÑŒ®¶3XëfTO}flŸÉŒþ°ÙÌ„± ™iÓV0‹LÝ™Õq #6^îþÁ¨©[�½ü/Å�n[áÎÏîV/î©kîDæÝº”y§6(óf�Æ…{AY%õá¹¹uÑù±�IÅá�iE%w¢óŽÐ1 WÜ‹É˼›»õíµüÅÞì»·amyÍíÞi-�»SÉ*”ÿý]¸ak·ÉÆýÌÞtp¨¡oå`£àãz›“ïéîÿeî¦Sÿ¶ÈðL÷2ü'“Wš;2“ôç0FMdôõ&‘kÁè2ý™L_¦y "?�d†3úÚ#˜IÃô™9K̘Ÿ¬2´Wz_°ªðã¸õíÝLéÞnþG·¯åûËiâÛW‰BÛDZýu´ôúY’ãóÃy1MÉ…w¢³+nFªÜŽP¿˜]u+*ç\m°úúýÀ̽µáÙÄ«/ÝQ_¿’yë~PfùÃðœì†è‚ŽŽ]ÉݯÜÓéò-ùãÝŽ$—e™Æív^{»{ÑšÈëÃ~”|{Ì[¶†™2YŸ™9k*³ÎÚCkSÔ>=Ȫáëý´ Æë3ƒ™�L¦7£Ãô¤ÿtÈui“=­/?÷$Ï WÝ�¼ªùI›>7€üûVw3w¾Èü HÔZ{´{†ðîn„úJ’:ÿRb¶úf¼:÷f|vìü[±9{nEeï½™}üFxö囡êÓ7C³Î] Ë:FææÑÚPõÉ»!Ùwê2ã“ -ù__Ä ?·ÄËÿø¶»37ïZ‰ÁOw§ç¶‡än|Õmü£¥3uôTb‡CÉùãÜz“³Ò¢W�±éO8ÓÌøý=´èÕà•¸ºLïCÈ×�L/­�ä§̨!3™Ù‹l™µÑMzæHÜøØL|”�ô®#ɹó@~Í�Èì[7C2«îDd×Ü Ï&>&óÊÝ ŒÈ†”|ë7çÓ£¦À6ÏÞÎ:v/D�_•íÜU�-üÑ™Äÿµ-!¸-µ é¹WjfGH–É_»]׿\»àÇ-Œþ€äúÐóïEÎßë’kN,n(ùß÷øoWó_�ôêþùº{�»~äýF�¹8ã'feÂÓëuO7þн�ñ&Zõ¬1ŦóR–cçþïæü|ŸÇ9y×®,Klc˜;6ãxêZdÎÕ[!tÜàKÏÝ Ín­ Î}ñ00KúT›HÞÏ~Ë‹nÞô]·‹Åïݾ›îw¯_flÏ !#ôûÀ5j}¹#ø_çË=ÓëmÀL˜`ÌÌ^ïÍüÖ4hÝ«î�ŠÏý½”¤]MÈ9z=2÷ÂÍМó7ÂóÎß )8y/$÷ÊͰÜÛWÃs¯ÝËN»¯kHÏK­‹ÏM©�Í©j yW}�úP]HVI]dŽù¯Ý^ë¯u/^}dø*{?­9³3£´QìKÏâ?Ûœ½ÿÚÔNñõ¿^ƒÆ{‘ß÷¦sO3{Ðïñ\ò¯?ñªºÌ(fˆÎ$fÌȵÌÔœ™ÅÖZë[º×Ë~dýúlòþ»aY)µ 9.�UÙȇÝ[Ës€Ë�Wì•O¾ú5gç:víWãùý÷C³ê foiöÉÐ`]ŸôâÇaù6ïN© ¾�Vy§÷7zÔÿë½ïIÿ|­>‡ëÕþò;Íu÷¢w¦¹CýÈ¿Atöj<ªÆi¹Ö¾tþé žÏL_êÌ,s:¢³þP÷,Ùën»Îéž�{rÕw⨺µ–g7ß/º+4÷ Ö»¡Eí·ÃKÛï‡5? ʽv'4—ØgÎù[a9Ew£s6ìVÎ[¡dFè£sëò ÿÛãÏëüŸ\Sß/cÚ‹üëC¯ùGbâÐ…ÌwSdÌ´•»™Rq�«ºÇýÜmo×z8¶är|Α+Q¹W®‡çß¹VôðfxY]mHÉ¥[aù§o…f—ÝŠRÕgeãÞ�’Mâ»:·1BmûêHša]÷æSæÿ¯¯Cã µé9kÿÓ˜öøò»~ä·ýÉ¿!=F1#´Ç1ƒzè‘qF|ÒãÇ3Ãt ˜A='1µ'2CúÎdFémd¦¯e–m»®³êf÷þíÍ`‚[Ô$ &d‡Ö§çJŸê’,?\Iqi¯T“}�øÊ2Fàk€É÷ßz«6PÝÑî�uˆäœ>Y9F¿wÛ­¯x>ùC%3J{àÿÇØ0ÿÍWâç?ãæ©.ñJ¸¦‘} ˜Q0ß _ÆŒö=3rÄFoè"f¸î\fxï9ÌÐþ³™¡ø¾ß3¤çHòÓ 2Šˆü$~j�!¾d<3¢çTfXï™Ì°¾³˜áæ3£Æ®e¾›J°ßúf>_Úc‘P®õCÒë!F¿tÛ¯¯ç_MÈ>q1¦àÞ�°ü‡·Bóëo‡Õ?οw+$ÿöíÐüã÷B³ozõ^pžÏ¹¥^ÓÕ½júœUÿëkùÓoÂGô£ž½÷—ïûP?Ò÷Ë÷ƒÉ8ŽÔ™À|CÆḭ…ÌX½…Ìè±?1c Ö1ã&š2£'Z0£'™2#ǬcF|·‰;…cfmNg~êÔ]y§{Žôürpæå”lŠ[nÇeŸ»ª&Ø,'¯6RMpf.r�£7 ~!Xìþý ìÇ·C²oß Î&רÞò[÷֥ΩZ,#±uðÿñuÁOö¡ž¡'ý^ã5s°E#ƒ˜Z£˜Ñý¦2£‡ÌaÆŒú‰1˜¥d¦|¿�™°Ðž<œ™1ÓEfÌ3j²œ5Þ„1róÍ7éïæ˜ç2˃ë®{Þ½Áø]·�MÛñ÷úò䢋‰Ù.E´\�(ª½^Db|þõ»Aêç‚ó>4æ½oöÏÿð8°¸ùAp0©áß»•™ý¯Æ ç?ˆb´A_У&æaîi~§K~;„Ñë5šÓ߀=`:3rèlâ›§1zCf‘ù·”=t93rØrfø°Ÿèµ��jÅŒ�(1æ¸2Ó ã™…¶Çµ—¦¾²òT÷Ôյ݋�?u;8<Ù zéJdþ£›ay-dœÕfwÕbÎ={TÑÕ\ÖÕPz§.˜äñkwÿh0cÓÿÚ65×ÊÐñC<ª5šªM2$2¯†‘97\{ìMF1CúÍ¢c5ÄÁ�Ø /3œØá¨¹:fÔl‘ø”fÄxfÈpWfÈfÈì`fôb2çk™¹1ÇLæozl³¸Ç0lÅmÃ\×ÛgåÏÿˆ�|Ò³¾êZucë'[‰ïÜ~‰äÒÄF·=»›¿ã›ûyí¯æíüñanû·w -;¾¾��µ¤ÍÞÏ ŠqŽ ÿ­q3ùÿØë?lɹ�ìÃz -ã8Ê•ãèMÎÃ…6Ú�øŠÌà¡Ä u&>“Ì32×F[ÊŒ¾œqâÂŒ«`& ÌØ¹ÑÌd÷uÌL¶ƒ™µú”ñÜâ[}çÔ?³\|Æ0ji×oÃW^5Ìõ|eP°?>Ë zyº¼ìrcãÆ u›¿¸RÖ}íjá¶³—‹·ªoþªøØàx‚ÔW •¾|Qøµ!ÎãsÃr—Êk‡ØŒý_Ï«7¶YÐì^Ò’fYˆÐÙdœ÷›ÎŒ ñxœHfªG&3Á9Œ™0EÅŒ½Œq þr„Ý ò@̛nj¾�ä” -fÌt�3[ÃLtMffÔ23…fÆiõG&së¿¶^ø¡a¸ëà -·¯ +Þ"¯ 1Òwß—E=;Ü÷pï¶ðoN4Å=Ù×Üy©²¹ýòúæø§=;B¾»±¥èASç­[Ù›¾¿�Ußz£t‹×÷~Ž_Òÿznæô|lhlîÏ ¡þÊæüVô'røK{3’ƒŒ$óqcg†‡#co;ƒ6Æ—·‚äÇIçM—Õ?hÙÃè&#Ÿ\qÆ0iéÎÿ¶xóë� 7½°¨è–õ¢Œ3}—møb€ë)ÔU ®�6$+ÿlH�ºVòý‡“Ÿ´nF=‡š¹æÔ®W‹¶~|=¿éæç¹�O?ËÛòövaûýÏ -Z¸Ÿžæ¹~6>þýß±M‹ßc9ì™ñ�>#˜‘f2c§ù23<“˜É|3)²�™žwÊtFÕ§æs7|f1¯ôÓ¾³2ΚÎÊ¿`6¿ü–åüêgÖó«YÏÏ¿ÞwAæ•>‹KoÛ¬hɇ‡º0ƒG»3C&+™I+“˜™\93�«`fiê™y1LœëîÛ.í18¬¸@ÆçŽaþÊ;†EðKjX½×d–¦šqÒo1ZwÀlYÑMÛåUϺnÿyäª3†¹$?ñòý‹!XõÛ»4é§k%¾ßd¯šÏü¶<�¬Ütm2üJùóoS4ÿ²š?ò�¶û?\¥ýÿ¨9ýkˆtîÇùäk�þ̽hí'Ï“±ß)àš!ÐE[cboò¿Ç=¬‡`¦ÙõCrý¹Ì(G3fZ03Î9–™è‘ÅÌP•1Ó½R™™Ë¢™iN<3iº;3y²3}�Ì,àjŒ¦œé³(ûšåÊ®ÿëq×àæóÐèÿÚÂýôkAä—‡4?^¯PÿòK&ûão9¾Ï ’×Þ¿N÷ÙùjºïAƒ“ÿMƒRñ¹APÝ6„°�ß&HOäI_Ý[þú£ma¯.nÕüðe�ðàm¦ê3ƒŽ½óÛ雥%w7µÝ¾™½©ôvÝ6·öwcÆ:.ø7ìÒUÉ=È<#ç9Ðj<3bÄf¼@f®gãÌ•2‹øm¾~Sóò`KÔ×G›SžtíŒùòh[€ÒŸÃcÌĆós´ûñâ¹×Zeןç{¤¶Y�Ÿ²„Öiÿ¯Ã–ŒÛ¨!ÎÌÄj’çV2Îq—ÌnøÒvq‡a±½…^?x¿¿Âý~3DøüjЮ|jXìzË0Ïý[ƒ»ÿß «³4mÞ«°©ùvñæ¢{uMšw‹±†âClÏã¢ÁÙó´ÁÉë–ÁCñÔ¢zeHbßþ#Wû˽:駯*ýO\‚bŒ]ç-d|<ÜôQb#×õÄEh¼4G“³k¤6¾a€\xjœ°ïï¾ò©·AüÞ=…’ÃcÔ9{‡øFÖö™>WÉŒ°ÿ?Ö‚þÛ6MHžEr¬~“™ñóeÆ)¨ÝxiÝË�ð«~¤ó%Tù«!NùCbÀŸ ¾�‰/x`àn8¿Ï þÊG†0ö­!'ðC¬â–A -8oðRn~9CYzÌAÑù­“úöß#„ï¿+Rÿ`ÈT½4ÄøíÿÇeÕIGÕŽóùž½„ßIêíŸÏáêÏOçÚ.,ŽßÔœº®Õݺ–òè“ùì7!Rû»Ubãmg±öO³ÄSOÅ�§ktßÞªUÜ4ˆs–ðÿÏó²$~±ŸÉH¦_ÆÎv ©£ç3c¦ú2³ü³çØÃ¦Î•_X/=üŸ£Üî–�ù¤ðºhXæUv~ˆW\§¥_щ!~— âÓ/rb¾:ت÷ÉFñí“öû×ÙW -ņ-C «MkSÍ…e¶~[O�ó»fð‘_=)“ž<ÏSVå­Ò0¡™¦Êÿ±œ;ð›7›Xgˆ昉�ÊÇ¿Ñh/=�“.¼ “®=‹Õ~v3=pßÛåì�_ܹ½_»ñ»p—Ï~Ê_ù)Ô÷¼ÁeÕÚ}Vc&-§uö¿v$fLŸÅ2‹¤ F®ùú­ºcpñýÁ üÑ�ì÷ÆDüµVIâ.ÿÓ/Åü/ïJüˆoðÎî°ÐÅ“Y°h�˜bxâµ—æÉõ¤ç{;3Ÿ6ï }j+ÿÃÛuŠÛÙgÏ3}«.;øhpQ\2t~=WÙxn¢òÃß¼ø�¾¹¾d�þÍ›Kß>P”lâÈ2œ>Ö„r’Àß/êpZ/ü ¿ü$]õ~ººãÝ6¡Ò*0³ÅÎ/y‹õRÿdfÌ0'£MèzºÑïviÆô7!qmè5èÙß¾Êåÿñ²DúÛ£ !o/4áÞŸôæy©ðàûtþÓ_"¸KÓŠ×ÞÅk<)ÑÝ|V(�z«å²Ûûºú2Þ‹1¢Zd°ÿ]ÕzÓIyö¿<•­×g©26Ø¢šÝ~e.·ï�‡pü{5»ýÞ|¶ e¨T¶s”vC×D©ùæÒ ½ýŸ>Ï -¾y­LþA¼|òK­¼ÿ…ŠÛûÍ*®ùóùêêCc}S¶Xã~›½© ];ø×c9¸ÿfÔT7fºo"³4ñpŸU¦ygH}¹kt>o ’ß+ƒ¬¼oö?ò‹ý"òͼý‚/75¨ -f$.Ø84&Ç:l]ÇDyÛçˤšÓ3üTŒó˜áÌâñ#˜¥xLÎx¬tf¸æ+NšK×ç¾–ÔÛ>™Ã§T÷£ûÏ÷ïG÷DÇä[a™æ`ÉÊ;¿v—;^yˆ æ -�¯Ü´‡žJâÝW©škO“¹=[Å5\š¡>þ³õ]„ðèušâC¸ÇmƒëŠõŸÛ-Šê6Y¸zŸéÒÕûÌ\cö÷ñÈ8ÝÏ}ÝÙ�^û~ž!¼{[Œ½8…÷vp¯Îõ?aX¡Üþj¶²û§…Š÷Àžß–¦· XºÔ…™å8œ™;bÃzy2¡ñI–‘ÙùƒÂó*†£O,ðøOî§/£µ·oç©?ü‹J}ü/>êCugkNLdóªí¸ú=ù£Ot�æùïÂ�þÃ]]}q"ŸÝ=” Ë7W‡¥™±ÑÉf´ïeß+EðÙ/’‚®mû@)«}¨�ÀAÈ98Rˆ¯¶ñrófÜ—.gT>$^©”ŒVbÌêCŒ…â–êíW稛?™«Þñ‰¿ýÃyìŽËó¹=¯ÝÄ/%þã/eº¯r}ëqÝN¾ç­§îܽ5A7o¯ ûârMÐç7 -uW¼sG_—Ûd¯H«´ò)Ù;Ècý…aËÃÊM¦/á˜A6ŽÌÀ¾¤ uèäÙ -Ƶðj÷§†U>ßDþ§Šù7-T]6ˆ� ®Ê‚ûÀÕäZ¦•Ù° ç¦ò¥Ä˜ -ñeÖ` -ú»¸3ó�™€îŒ,ÆÐ^!ÊŽ+Þ7.8³q¨¬P3^ä߉ßJZGrÍ7çsu§& ŽM+�OÒt?ó Û{W'm»¹XÊÝ8=BÍáI|××+…ÖûKùús3Ù=?¸éö)h¿»W£z«:ðк²Å#Ô­7çqçÞ‰AOoT¿ýt³ôëã êß Yª¿ÒH<‹÷þÚÀyŸ4,ôÎØßßEÊxjWù·>ž.>ù6[¾õuºpö‰MÙ6`Õ -oF© -ah�FÕG“¹ê³“}Ô:fá„iÌò©ó˜€•®L°6Ì$<­À.2¥``hRa}NÝP¾ýOK°ÏW>ó(˜;õ¥ŠÛÿ£§jß«ålE—W½œpøköÕ²ñPm9�mùÁ™?øŸ~ªm·çðÙíC¸ø\ !§i�ºóñáà[?nÿ[Uûíùª†ËS]ß.Pž2x(�Vìÿm‘ßÁÿ\àwÀàäñ‰a±çC€Ï_ ZÏwŸG?¿ë߀‹ßÀIqÁàë·ñœ£B¡y@X¢I`h‚‰�·'³hêhf¥³3ã£`øðts1¹Ð Mèˆ@_Dšb -!æuŽàȵå«v�¡<�ª®‰ºüê!bB±µ˜¹mÛñ` ·óù2¡|·£PØ2L(Ú:Œ%¾Pwá‹ØÐÏÏ—óç¿Ñ²GǪs6Ùñe'ÆkÏ>×Ýù¢û õׯçGߨÕÏ åÇ -©�vlÍÇ“•W *îÝOùÈ‹¼Ï–zä�àž¸ÏÒ3ýd?�”}ÖÞ' óU?2°—OuÇP´w°—oãîâOÎÉ�q[´‚Y¹h Ã&æXˆ^Èû+ùî§.lR¡¥R­gГ®âeFŸ�gƒ^4q÷Cï C7´´·¤Ó v×Ó˜s\Í� |Êz[.k£�Pwr*úOt��Ð{ í¢Ð}t+Jsê‰Nwòa¨´ç��ÐúrÛþåR±ë�;ö|j®?HQù›‡ªëåbnÓÙ©lã‡ÓÔ'ñ ¼úÎÿÉ©¾4„|m!ãæï}Ä0Ïã£ñ~aÅf+V(O¥Ž Ðe˜¨Ò¶ôw÷Õ0ËœÝ_/ãéâ͸Lwb<—­êÕ¢‘Œ=<×¥+o÷F­à�>Ì$$9Ç6¸¸s|HiÏôéŠF¢ÇQêyérìÎjÍñ¯´êžÝØümƒùÒÝ£Øî\ØÍ7æpéÛªj¬ÙÝÿpÑ]y–"{-Ð^—ìCÐÏÌ­?8–+Þ1œ_×1’­:6NÙñÐIyì7·À?¯l¹9[±ëí‚€žŸœ$¹ì5ƒ"ðöè¯ý‡èwâïKe»‡) -·Tîúeê Øübž2wû@6{Ç 6½~€RŽ0rY°ˆqž0™Y6{ãGæ]нl`ééÒ«‚ÅÎ5žŸÅïå­ùà¾F>ñ@–Ž=äÃOÔ¾ケÆÓ3„¢ÖRVã )¿c„�ÛJümë0®²{4æ¡êÀ7ƒ5ºŸÀ�þQ¥:ð‹›zï+Ô=?­N'H×^$ÉW^Īüº’MÙ`+¤–ÙrE»FªÚ9 ç¿ÓëžÝ­ˆþæô雇ë” Š€� î[¿Ÿî_pjÈÊ€hÆGH2ÈhïxÒà©®=71@›d¬ -Ë1cƒ3L•üc×Å®dþÍbV�|„OÛПÝû�+æM€df¸Åbh¢©>­Æ^[÷Ñ<¹ë¶ßyÓ…íº»\ÜõÜ ý‘»:õþoÝøŠ}ŽBÁ¶¡bi÷hôz¡?^Z¿køž.¬??…ÛýÖU8óµ¬î|±”=ô£'wì[¾öØ$>¯Þž+lªÊk¤¬::ZÑp}’"sÏ@o}†±oä«Í1QðiÆ~Êp#6m«�jm½­ëŠflŸ�Ì R7ͲŸ-YŸ-^Êøû*(‡XÁqºª‹“TÙ_kÆ“s…þ‹>¾ÜÜ-]ò:[9)Ï=ÃÒÞ{~ºS·Ã´GŸë¹†Ë3ÙœöÁÜæOç¨ö¾qáËŽŒ…V—RkÌ[Õœzª=ö\Çïþ³;®#×xe–PÜåÀgm(Vîv wúM âÔ_Ü�ýìxü×U�ûZ®®>2VUzÈA�Û:ˆM(·Â¸øBL©aЛOl}0_uj"—Zm »çÊ�ŽE_©zu¶¹/ÉÃ|:†Õ¤›E]#ù–G‹ÅÖg.àfƒgDyBÇžòìÁ7èíZo/áv?qåö>sC¿8O|ŠPÔ>RÌØ4�ϨÀgo¶g·�8¿ï­‹ºýÞÂÀo\Øo”Ü¥WzáãW:þâë`éÊ—QÜ©7jÕ‘ß<øso4ªƒ]ÉÅ•YùK!FÊà$ôoñû~ôÖ�{¸&è‹O×é?»™/\x­Sžü/õ‡†Eí§ã=ÕQÌô!ã™i6£ÉÏ‘Œ‡ŸÈ¨¢³ÍÕk²ÍÃ’L¹ˆ sµ>ÕÔe¥;³œøÏå S=6.¥ÚVH,´R…D#VÈ é–Ú´ -;ª�e!…%˜Êqé`%È=�•Ú£�µÂ±o¹ò–‘|f­�ºûába÷+Op …ŒšrÞ¦!B÷C7ÝÙë‘a×έ‹¾ûAcðù›)Âî7žèA“Š�Œ6ßwjOL+:ù†‹³…º£SHž0EÕó“‹jë�Y�9[ìTëö WÖ\§NiàæNê§%ÌÒnŒëb/Æ_n„>KUl¹…ÓÄÌ8K{f¼Í@fzÿ‘Ì2’ ¿ -*Ú9F³éø,ôäéÖŸž!5ßYT¾Šœ`ªbeFÔǘR!´0RÊúkŠGH[NÏ:>]ÎvÜ^BréuË'õ±½¥£ßñêÝÏ—AGAHÞк |ù™ÜއK¸ö‡KÄ]¯½è\¯;:Y¨Ü5†Ûvs¾xøE ðÁ c+\ú:DüäEæ•@bâb®dŸƒ:¶ÄBÁÇ{zŒ‡‹‚Q€s]Ô—OÞÔŸÏënYÐG!Dßo̯m@la”PBuŸÌDߊÐóÖW¬:6‰‹-°à’K­…¢NÏ�’|pë`!ks¯�¬;9�k¿µDèx¶R8øµ¯xè+¿ï[wÊÛ>ò*@øà[5ú4ØŽ§KÙ¦ó3Tû߸ µ,ö| ¿Ñ«w½[¦jút†ªëç%øþ|fY?6!ÏB¨>>‰ÝûÖ•Ûýn%¸™\Íщ\ÕØÍ×g«º¾]¬<øë -uz³�g@3oÒlf†ýXÆyü,fÉì¹ÌªU«o¿f•‰m$?ö ”Ÿ�ñòP0^>JF–`Âf6Ú�=ÿ‚m°Áúù0cNE|aLõã¶]^ u>]Åw=s³›K,²ª÷�< о­�íŠU{ÇI…ÍÃÁÄ’>`5§êä“ϵÂáïÜÞܹ}?y¢'Œo¹·×P^W?Œ¯Þ=N½ãº“päu |îe¸úð߮В‹Íí v¤Xzx»ãñ"Úƒ\ÿá vçç‹Ð[Iâ_�îÔ�pùäc�þÂíùòÃÕü±ïÙíŸÍIìg7~8½‰è_.¦Úÿ³«:¿}ˆ:¥±?[Ü=R½÷uÏ›•Èwˆm®Tïûi%X`lT²Ö4ÚpcÊii¾9OÕñÀ™/èœiºr©/³tú"fÕ/b—*&@Í3jm˜1AjËÄuÖ|bŽ¥**Ù””ñžnÆg6ÙKÕg§ƒé®«>½q°6*³oPT–…F -7ÖEeZè×u�[n.ë l >û¾jßX®ëñr¡ã¾‹¸ï¹ú\¥š“Á仞¸jÞW GŸªÔû^»ªý¸’?ó½ ¹ú$^sþéjñà+…zßc±rï8±°i(W|*{ø�7í]>ó­–=öRwÜŸ«NoÀ¥7Ùq�o–³Ý߯à·\wb7ŸÀ´ SWœËflèêÀ8Ïtb<–ù1Ðñ„Ö—ZM~’Ø£ÖGSæGÙÊèbÓû€™Jí’øM±ñØ aï—ž\×Íerzi)1ÇJ.ÝîÀ7�›%n:;“ßL>¯çwõžoVHEÍ#„ìz{©ìÈxhmð9 öbÎÖ!ˆ“báöa”©“MêÁ ’‹—ì-lFY’YMƒø„ >¡ÄŠòv6|8™þLÛ4€‹ÊíÖ<^ƒ>|0ªÔ«sÌÑ' Þž´áԹ棙|b‰u n b`Ï\|±•TÐ>óE½ÿ7õá7žÜžoWr{ߺ³Ï–I•G&‚íN�ÐýÒ Œ5°‡øí½ k®çkOiï ñØsV<óB'|ø\Rïyã*lüp¸sˆìö?ÍãŽ~ïÏþ³7»åÆ\.¿sÖÕØÌ­ùâ3;Ÿ-CÁµÞ[„þqðüÁŽTkÉ\ �3á²7 ÄÚÛõr¿ùÚ<.ª¤¯�§Lê ÆÏWf¤” ý¥Êî±`SJ%ݣɵ,e4Ùã«cóúªƒRMUañ&Ðìà[o/†V˜@ššž©RýGsÁÖï“2®‹ºFƒ=JYÚ$V¨[®ÎSw=YJæãbaë™9bó' ù¶›Kä]÷|t=ÔR÷-Oa×waßw^ü‘o¤³_ÉwïåèŸß¨Ö?ø´ý÷!W.dJ§kàs…ü­CÉÜu¾öC/.è7_u~Ï0wOžYa㪭…ŽoVŠ{¿ñ_Œ+êÎV�Ϧm³C.걚­A ø6”Y¾o"ÕcŒÈë#'Õô§ZÙ›ƒ)]%èá!ÖéO]�’ßWƒ #„F‘ß—÷�?ð½�zÏkW°Í¸í�1¾`ÑA³@ˆ%ueR…­P´s„PLâ,©/Dâ+„Ü̓¥¬�öBî–Á\©�Ò6Ò6Ù ©õäøbk>©Ì†'1º¸Ð ¡: Úxc1³Áý­\÷W®û¥ 8RñÎQT«¨ŽÔ9Í×�¡/}<èòB› Œ!1­´.¡/ýäÓO´Úã�tÒ¡jÔ`Fcí„2„ªN+v:‚õÄo¾4ìhƒð¤Nâ÷¿õæö¿óTw>_‚9†™ý™äBk©¸Õy ·ûÛUbÙáqÐÝ $µ j2h‰U{ÆÂFÁÐàâó-T:øc0ßÙ5éælLA_~ÝþQdn»H•Ç'(Ã÷垌_ ÌpaifrÉŽQàˆƒ$ÄYA |B!±ÂF™fæé+1þb´¹`�éʇ$›‚%#R~öžq”¥‚Ÿ•=åªî rÍÑi”•²áè$nË…9TSd×מڃ¸°>‰Ž<}>%äøgR÷coÊ£ c-�x*h¯>JÔ½ü¼2äå•zôÊ�U¢=rOD_>ôØÍÍdI ÂîøÌYÝõÝ2¶æãIª5e}Ý\•ÌÒi oR€éDãfR©µôˆu ÆÊÐS_Eñ›aŒ–iöTxóeŸ –+«(;-¦Ä -¬(è–€¡/fÖÛókÒú në>øBz⳩áÌlpéÀTâš/Í޽U ÇR+wÿ´X(;6 {¡†ä”�ÍÓêj#Œ�ë‰å‡Æ!΢®V‡Æ›‚íÏ­­´#�K­ë¯Ž/ >³ØJŒ#¾.}ƒ� ÞdVóP6*ÝÌߟÄ@VbÀI¦kÄž c…µG,!‡z5N[FBÇ@J/î'gW —çT°¸åªƒ“À«#1̵—‘µ{,XwÐ-¢Ì¨´Z{p Áú`»-‡¾Õ‚…žjÓÅyÈ»¤ãÏé8ðÉë¬Ùàh.8¶W·Œe+Ù·ŠéÛìš8ã@‘øF!ÂHŒÌêƒ"æ7ãÓªú)ƒâ¨†´:<Ž^hž¯1¦œ�âNÄä(J™áC“Ì _Dê”ÁraÃ0hb!žC‡•�˵À:™RŽ1&9‚žc.¤Ö¢rú¨¥Ê)’ÀÊÏo"UíOêöà&Š»x _¸H�§çPæÝÆf@³Ú}Ú÷ÙÐ�/§Fœÿ(3èÐm=eC6]š‡9Ê6_vB,—?~*_{ž€>=Ôðภ-Á!Ä—­1ÒI|Ü9RH®í‡µ*>gû`Ô~l˜‘ËR?fѤ…Œû -Fža¦Ö%šx“ÚÕÍKIri’Cj¢©þ¶’ 1“üiðKÁþçÃRÌÔ|”1ºÖLά³ªO‚·‰ßrc¾îÐYwà™ ×~0�² K[Gó¾ö•ϼâÏýE -^*7Üt+:j3¬¥�M$îùÊ“jž#æµ  :FÐ|½îã™ÒŽç.rÇKO]ÇS?]ÇC?açË¡…¨É¬µ—J:GƒeŽö3€o,u;Мcé©â– äö¯VÉ]/}t]÷ÁÝwTš]w}ÁO$sy¦¦¸e”®°~¸¦áä\±ãÆJ¹í¦±Mgš“‘ÜF(ß=†Äº)”§_e ML¾ýñ2qï_©çµ?Ö-°N -´PÞ9šÆýdâ§+LÀúŒP°_iŧ5Úq‰56Üê,s…bäºl³tÉ -÷„¸(#h¹ƒ&ì|âŽ/½F¤®UªD†�ˆ3ƒF…¶á‚3Õ@K­±£Ú´džãZh»oû‰[?](n޼”RjK×;Kv�¼«ÈV“�eIþ<ŠòúŽ~¯N¼æU~tr6كɨЬ!±­WçPH­éNºXyl|´Á¥—"ãÍ‚ò·ŒÔ¶;ê ·: ãCáǃŒ|ýüV -6�q¼-°¸Áæ#’Ì(²²g‚fÛå%Ró�¥Ðes”jÀƒýJòA©ªcXšê¶Kó¥£O8íÞûJ,n}Œ Õ´!ãÜó¹¨é¾ãCüêb¡ûá*éॸñÔ4>­Ä 1¥ÄZÇø)&X!7ÇÚƒT²ËÌgÄpÆ„ÒýcÄì®áld¶94öHÌè.ßù�«¸õþ"bCލýäœö”]×ýÐ�Ýyg1j^hfa]Œ®Ã•í›×µ=ðëMì|¶Rlýb9´äÕ¹}¡ë­aç­l÷ƒeà„bM„ú_\çŠã„¶gËu;y �_­"¯w÷AŸ];D -[k†y�5'í¦“s„ÎÛ®Ú½w•A{ï šö;î|Ëg‹ Ù*5ŸÖ�TzpÕ½ªø`Цû_¹ç+¥°ëÏî\çËåRùÑ tý¸¢gåÛí¡ÐŸü"BûÁ“ ~Ó•™ô>Fr}.±Òµn ©¡»®�V�ƒ(¥n(“÷§IhÆ»S‰QÆ~^jÊ;†¶ -ø…ºš“³õe»'J©Õ4‰úkr›‡‰m÷Wh;îz‰ Ÿ:is6 ¡,dÄWð®×®³…Æ™ô»v·�äeG^*µ§†S¦Úº�hg!�âµk‰?Œ3‘Ám‚óÕå·�Òe4 UŸ¿Íšæ›.TË;©ÜVŸ³e¸nÃÉ™Ðø -J�ÆF†ÕÁ&ßK—ÙËâ7õL‘?Pj.ÝŽÖ_¸‘··«àÇ÷²¸»nzèö|¨Ù}ߟ뼶„²¸QSv<]Ajè¹`¢Ñ®-²åBInEò_ª½Hê žÄ°éu¥]ãëÁ ÖŸÈÇm°V‡¥›¡î�~‰¦xÿMÑ�1Tã²âÀ$ä -`ÑØ¿vÇ=w}ÛomÕ©éÈY)Â(�17 y­—…†“´î‘S6Ú�qI®·9t µmäzíxâ«­:;uÜCBãähc1$ÉL›RÒ�28·ž›¯k¿ïÔq;Ì]pž¡wÄu¶å†ÕEÈkv0ßöbßðé¡üÄD¡î"©©ŽM7ŸÂí~ì¢;{32ìüù4ݹ›«Uß¹ñõçg -¯Î³Û¨�…æîÓ‰ëÚ°®}ðï Ý!v½XÝowÆÓ�øU•DòÐ`£?ôæt‰Å¶Bd‚â"ÕÍJª­¬¿S ƒè\ Ì;mJQ?¹–ÄA0VÁå¦ÚYÄuÞõÔôÜW�Á'îýʇí y ´³V—XªÃÒL¡-ËJ±&¬c ·.¡ÔV]d�Ê” M7—(Ó¶Èš2•×ï/ƒÏ ˆôòþÐá†ÎŒ~çh¬PmãÄr[ª[X²g|PZÍ àø[hªhÖw�ÿƒÅ­©Ú3‘ëyá©?s=*øÆ¥|éÄ 6ã³JÉôê4m -] ÊâÞpxÕÆØõÌSÞÿD´û‘ZêüÊ]$1šjg‘˜Mu†r›‡C;‹Õ…Sí,í¿hg±ûpC}ˆû[~Í•zµ³Ê¨VÕ¶I)°�6Õ†§\ÚîQà?ÃöþÐÎÒ¶>Z%ï|¶ŠÚ1™ã*1Θ%¶­y¼F ­†ìºAȧ5Å£ñ�¤¨ )"·ôåu-÷WÉ/< {ÀGáõ±Æj1܈ê·@3¼jßDøÊA¬Ý?Mj:ç¤i¿ë®®ÔõÂŒG¡íÉ -ó(wžkø¿¸ó#þÉ�ïþÆCwòYXØÕ‹…Ú=bíá)tÝ:¥{Fói vt]±öätaë¥ùX WE¤š‚u,“¼q]×õP�1Ç~+äœT¯:¸ÐDÔF«µá4×£lîÕIæÐE¢z5ЃO1×Ļɨ³û\³ç™?ÕÎ*#×öí¬jhg‘ü.±ÈF»nÛH0cu9$îý®�%Æ–Y©H쿊ex)ÜXÔ‘Ï - -5‘ÂâÌÀZõÄ6×À^kì¨>‰ctM$¥¼½ÆúL`zSîõÖ ó)‹:[$Nã”PÑzuA¹õõë{&ËMWJ`qoè™ý+íž{ -äȸ—%ä’œ)¾ÔJŽîeqSý¡–Û‹)gšÏà\ã{×�f-ö£QýÞ¸l‹Þuà,ªñ¡�)´†v”6!תW;«ÑAÜ÷ÐëƒR:´³ôŒR=“ô>ÐéÂ}7è…!iã2,×Î -í,Ê+ýC;+"·¯>oç(Mýy'}ñþ‰ZÏ(‡Í:KªÛ•Ó2œj(æl°‡Ž¥®h³Xúº\â ɸj¢K¬¨}×_X€×“xد÷õE½¯Ïët³ö-&[ͨ [ß=1¨ý¦OÈŽ»´nêºûOî<ÿwþÀSÕÿäÎ?Z î¼þ ö^¼Ð ¦ACS›·c¤¦¨{4•aŽ5 vMv)µÎ1ºY\¨‘‚6b¡£Vr`œÜpk!ò\9§c8â´ýøðlsµl¤Rib'¦T‡umi?ªÅž^6@[¸ÝA—^߫׆9¿þøT¡ëÉ*èa}QMòhË@ç\áË2~î^T;K-i�XáŸÚYc°F„˜¨Ð3î*_"�ŸtY}uQ9ºèL MDj92«/|4´¸©>uAÓpmÑvøO1!Ëñžê]�k+m»è �ʧOÝ`‡¼UKr}â¦j7ŸuÖl<2CS}x*Õl+k-ì¾ë�½7X+‹[J«³È{BßLj»ëŠœk€šèBKml�ö�Pm¬Ò®1Xo¡Ú¿]Bêú~\X‚)Õr"1“ÆÈ?´³vÞ])wÝóÂZÊÚYˆ·šÔMaÏrN�=ôÊ �½dÔfÿ­�UÜ«�¥'õ~p¬)â‹>­n�žf޹ †¿vm­r ø\]ñöQTÏ,{ó0}Þ¦aÄEì�òúPí-òú ô�ƒñzðÖÿõõ¨ãµe;Ç‚¹M5û�kl¾¼H×~Ù-¨âÀTMní`pŸ¡÷Lµ`+�Lvï!ïýNŽ,´c¡�G_Ob'Ö„æ�œ4ëwOìÕ]O6…V"ô°ˆ{^þœÌ(äcµ†QJ‘F¨±ž Ö2ÐÄ–ˆÏë¯ÌA.)'TØ*C?�ñ P1‚>ÊD—S=X_ºc tÐQ—SmSÄ�ŠÃ“±v@µ`+MÃ{ -P³r¿ó–/΃Þ<´³°WR -2†v+HŒí,bãðOT;Ë›|y@û]—Z=P›VÜ?(6Ó*8ºÄ�rx¢¹ž`¦‰'ñÚ]Ä'ËUÝã¡� 5ºv]³ÖÛË¥ÖË ïªÉh¬/ìt„F…ÜqËy>îs §››ê®o+tÜvEl¡ $ï(Ú1RÊ ç]Ž®/H¾us¥>óH]L¡UpfÓ° \R×oØ;Y·÷ Và¾F³ç¹’;¹åŽ3Õ΢úí&r-ŸPí,±ùóÅT;+¿ÚY&¾˜‹Úc©p·XÝT›zý>ª�¥ƒ~2´³Š{µ³tÿª�•ð‡vVZ!(Ú„Im©%y;r^hÇîpßúÈI ¦K¯ ó³i´èëIÝ!G‘ׯ1áøp#èR!g º?x}ÍÉiôM ’—ôrŽ÷Œ×’k©‰+´¢údÑ©} ù­ÉÝ>ŒßòÉxN€’cÔúPc9»Ö눈?¨ßð¾XÀî4NòŸ¼mäÚ¦B¯Úܾ,ãëÍ2È·Åètâ�†i7ì› -_šW’¸-ßTŸKj9³žjþa¿·ë©«¼û™ÕÎ#=6ÓBýOí¬Œßµ³R-ôT;ëÐLMý9'mJE5b„ï½mÜ+Õå4ÕÖ˜TÚ1>(¥˜ê[Óz_J®°E,ät &Ju¨‘{~HìA.…8¦ËoEc$‰kTgkž¤nÃþ4¬—öê—ì'l:¶¾3j.¡éÌlèè²¶ ¥ú`-ˆ;Aå-Ô?hkNÌÒ�Z8XßìÕ®µëÕ¡"1yjÃY'h¿! š(Ðà!¹ürMì;�0ì =Ð Æõ†FòqóÉÙò–«‹�+â¾ -´ã¡‹�±áô,j›Ð–É¥±h¢ÜzËö)u½òÂý:m×}ß�½wd‰øOèÒ)ü¡ŸiLu KwŽ–×VôÃ=}Œ‰��g‰ûRBãÇsøí7@;K·ÿ±Àîzáí,qã¡)èù�Êö�• -:G‚e-Ð5çóS¨v´B°žUMì³¢‹œ9_hg•ôjgÉ[>œ/6_^ˆA×[IÌ×4;Ð\“ø}h¶ ¶�s’ëÉyWtŒ‘Ë:ÇP­ù²½´MgçKÛ.-¤º¶¸ç’R>@_@êhøUõL–ÚoºÊwÜùŽ›Ëøä½êNNƒžt> ÷¤Ýpz¦.kû0!2ÎL®;4 kÚƒ÷xäEtm£û© ×úɪïDj,Zkl81]n¹¾\Þzu1ò$…*„áõi¦RH†9Ö|´Iël¡ƒª�É´Ô¥o°—v~îÔù…’jÉd×F.À“z(PIêu–ض c a„ucèÑ`]ƒæ`Tç4×R—ß<Ú]¨ùäÂvhnÈe{ƢDŽ®3÷Œa¯X¿LÈ·”“ -­‘‡Q bKšš#Óp?ƒj¼Ç¯³Ã3h¾�LS~l’¸íúb¬‰hʺÆBóñ[$>ÚB¸®¨G©_,Þ6šÕ´Ï¥áê|ª”UC5Pu™Õƒ¨3ä¡r‰Û¤FC¾Oul�•u8ŠäÚÓÚz¸Yä<‰�þ®én#m<>kÚc�´ºc·õbç�•RP¼)«’Ü¿¢5…�éÆtÞ�‡Å•XÓõ„ÑΛ.Ì£uÛºæ‘rýé9ÈÇÙ¶»‹P¿³‘Yæ,ÉñÅŒ–ÁÐJÓTü®ÅIê>2�GKhg•¶��¶‘„9µý<ÕX×–ì×û¾�£`´„u;IRýñbóEgbc‹¤¦ 4g¡kV5=SðT®œØ=ù<äÔ·AwŠÌQ±–Ôò�wWhßåùÃ_ùrí7c�î¹k«OϤû&3 ûɇï©CN_[yêlbØ‘O#õ{n -Ý_¬$õ�+¾3|‘6¿Í�Œ%9rí+»&`¯›UÐWS~x"­™›/.Öd5Vë× $§¦Ö뺡»%û��³b´1Ë‘ÜPͨUzFˆÌêƒüç%lûÓ|¬K�z²�šÓQ-OòYšÊ®qзÂþ%ªITsv&¿õ³ùÐ�¦ís µ,֢ĨX3hmázjê>œ%Ö~0 kùˆÑbt¾§K2…Ž2î¡kÊ�L¢ú(ô^/4©ZGCg kÛè%“ë/8ážÕ<Ä&ì¢âôTmé� СÖítÄþióÅÞܒΣ½uÕÌ€ÝÓ±Æzô¸Š[FaíZîºïCü÷L)¹ÈFŽÎ±C“Í4é ƒ°¯G<ø2@wä‘F³û‘Bl¾½„jö` �êNŸœ-¶}¶Ljýl¹¶rß$ªiÍ[’óÑœµæÈì/„Ðm ,q˹yüî§n\ó§óq÷›i¯cl©�IÕ‡¦ÂÏ#—Òd– yJޖẒ6GzOˆøw¾ùâ|nË™Y¸>ÐYG=¯ÖÄC¿‚jª�¸B}^yö°L¢ºA8o’?ÒAæ½X{h²HòsR·ÌC>¡’ˆ"y¨•Ûß{ÏÄ=ϼ ÈcÝzÇKÅÍ—æa. ~‰ºÇ‰;¯Ä^Oí¡G‚ØpÙ‰úêÜMƒ‘³â}©�!c‰½—Ð{¾÷°v…º¿íš+|*½7a‚º1ï/D$˜aOÖ¡S$¯5S«‚z5s¶…¦ -Î ÷Æ„È5¦þ>Þ$§Õ0òZb¸Çœ±q`¯žù‡35Õ§` ÷ ‘3j’‹m©&‰ÑÈ‘ðÝtå=“4Mç`}FSNì�|?mÅñ)Rfã ì‰ãò-5™Ð±$ïÿ•×:qR-û„<+¬_Ê�χæÕ‚Ö´ár¶ E�Mï#ç“ñ…ôòê�Î@>Bu«¡Ù^¶k©Q¨>î�×S-ž¶‹¡]„×Ðzµ*±[ä@ЀàÛŸ.çwÜ]Ÿ§©&¹t•k7›Áw>qÕ†N îÕS­¯´*;º÷k�ØTuh²TNòZèãïðOÐ]î¼»Œmûl!¿ùâ\zO'ƒÄØ™c½úÆ-#è}@¬G`ïpî–a½9rË(ì#àÚ>¥¹“\±w<–iÆêÖš –€nrh‰9›HœÙ5Gl¿±\Ú|É÷é…°R3Ñzƒ¼×úÒ -_¨æäѨMPïâº#OÂýV‰Ø¬ŸeAmÓäšiŠÛGa/�Ÿk©E›f×CôÑ $߯^ÚrrÝÖïŸ-:ªW†ût9ìQ'A»s›^ø‡�'¦ÑýÀŽÇ~Wè&Bƒû1¿hŽ@®-ü•®°m�K5ÇfPMprÎÒú�c©�VíÇo<;�¯9=EÌh²G>GÏ û^Z?[ŒùD5¶¢Í ®êùr9ûÁWRÏWþÒÞç¾|Ý¡IBTº9úC�ÿ‘±›�¦ÐùíÁ„ -[ú½é¼>5Ëðþx¼?Þï�÷Çûãýñþx¼?Þï�÷Çûãýñþx¼?Þï�÷Çûãýñþx¼?Þï�÷Çûãýñþx¼?Þï�÷Çûãýñÿó1a‚{|øª�”ÑËf‚«÷ü òwUÈÚ”ˆd›› A³\“SVE‡¥D'ć$g:.&¿š=s®“ã,UDH¬ãäÞg:’'9*’££¢ãÉ/Õa!±S§ãÕ¢¿ç½Êq±ãd¿�̈ä ÙA ƒ¦8.qœìê=gvyù×Þ§.!› ç8-š9Ïyî|Ç…sœÌtZ°hŽcÜÿýëN3çΟ;Ç1¿îý ~Ýû„ÿñë?Þ$öÿýÞ±6«m›x›@›EŽ“§8Š‚ÍlG×›¤ÞKᱸ÷�+#ÈÉý~]Èç8Šž6³VE¤E‡E¸ùK¾Žb€�Æ‘^™Ùä¿ôOä��ÿùÕæ9êç,Xè¸`.y‚¸úßy:þí÷—üþc¡£ùì9 Éÿf“?Ò—ÛL˜@¿Fq±£Óœ œmDoK/o�qwóg¼ýÆ_n¤¢Œñð—C�\ˆQ@`˜‘¿"ÒÈËWf(«a˜>)×F—œa¥ËØ`Z¥1¬]g Z„²Ö äA`ø h!,ÞŒ!c -,Åä|ktRêó¶ŽD‡¯œRl«‰Ì³ t Â-#Ðm¥Í¨µ—có,…ÕkÍAä¢]8Äöù¨xS1"É ´M±�´òè–×Uš¦©=>S—¾e°—o%&äYÂÎÑÁº@h‡^fÓ`Úá[b ÛÔvŒ¦Ä«-Ÿ,”›o.E£”ßK‰’Š­Õ:2Äh×q -±gtÞ–u�E�*¹ÅçZÒ.“¬R;]QÛh)µ¢¿´&½/í"AÇ+7Ú‰k&åî!Å[)åcâ#=•@æ›.ÍT%'š°r ËSŽÉxÒŽ§‚í#@äA'­•Ó—’ÃÒ7Ñî>}Ùž‰´KšŒ›6gë°Þ¼ }´¶¼{<É@ÒVvOÐV›ߤ­<8¾H—^i -–™hF;¶È<@n!G¯íƒ®Tmö†AšµÈ™õƒ@¡2P s7£ãl"ºuÅĖЋŽB2(õ�ÖÈw�=d5Í ç„¹„ŽTMõñé´Û¶ñâk溛äÄ2[�ãi·;¨»kËliLÏÜ<sEˆ'×>!Û]zÔ§_ b’HÆo5%Ã×Ñï�ñ ¯A‡8®ÈçjQou1šÄ…5ù– Ë -A)¦Rh–9ˆJ áñÄ/rÚhcä/èZ&ÐfA>Àƒæ:zb¿‰åÖ”�·y¨˜^5]Ïɸˆ 3!¾ÂÔ)iý±Išòã“)ñ-,ÅL"¾”v…’9„¼ôEØoê¶Áè\W�€&FSªñ“bp’¯‹è%r“sA\F7íÚ�Í y 6®ÀŠvˆÒónLs@øÈ ËóINX¸}$µgPaÈ¿cìáésÓ7F.šõQYÛ†Ñî?¿‘Ûa )=%�äq™õƒ)�)µ´¿6­j %Û€�¢ñ7™Ø :ác1‡ò¶ £Ý× OeVØéŠwŽÑ·;¢s—v0’ùŠy Â$:ö0o@^ÑP’Cë(|OJ™šØ!Hw´k±h;íP„mü³;µêÈd“AŸ7Ÿ "6¨è@ÄOøLÚM‰.Ä¢Nt˜ÒÎIbk F€ÚJ/ÍŒørr-ˆ} „ïýUL.±¡jå=ã@_A'$r ø=9q� : © $›M«±£´Dü.¥Ø†[“×W#¾´ZtÓ¯#sŒøcÚeZXB‰ èw<ñBÌÚ>¸6xÀ—�k:@O≯ðb2,z»?Éw¨=7‹Î-RÀ7ÒùFþ ¾¹�\}f¦°ý³Eâ¦�fQªpÍ©©´s1¡ÒVÊn*­ÿpªØòp™TÝIŠ«µU¨à§cL4Y ƒ5uÇfÈõ'g¡+œ^»Ò]cÐy‚¥By2Žä—©d\SIü"óQ›³m¸¾x÷xø*ø1xµ èG4_ªááÂ< ñq°M-ˆ®ë‚xH».É8"¢Ý§d¼a# KÐNjtÌâš�ùA‰)$’ã ­ÐyJ)ðQ¯äªþ¸–ø<|í6/ĵm"Áo’v ʶ]h¡†ªDdº|%b…Læ?µÏòîq�b¤‘ŠÄr…–ü$µ -þ(Å«HýÅj{?( á�ÔÊSSAå¥�­•Ç&C±48ÚÅœNòcúç�劃ÄÚ§�V-æm -E/(Ј™�öbÁŽáxðyíà‚¢9TÔ¤ƒhíbR… Ô:Túcä¤ôÁ“šLOüwdvä ìhR6 ¤v@b⣖ÔÔ_‚Þ_`%g×ÙSŠCû3WZGgYИHÆ—Ûqo1(úü¦³ÓAx‡}RPÚႼ”7äV¤&_CâV?Ø'òD:þP¢ 1 9?ò�[´d@�£q–ęĸašs[¦ê$y ƒi7É[h"9¥`Æ’º!&Û’æ"$vJ¿ÿžU@I"ó6 ?D»… æ æü³\Ö1†’ªÈ¿ÑïV¾k,(@4çk�LBü} 󟃹:9"±5ç@ÊO5Ã<£ò™ ò³á¤fŠ5AÍ(’xÇCQ]õÔ‡¶ C-Ë%ÑZ�vŸ“ù‰ë§É¬´£ -$ÆJѤæ 1Iˆ!ó "Óœ'ñŠZ°OimM¨Fà:£k]É’Z…6ÂZòB|7!u{¬±JŠ"uÈc�í ðC× �Ÿaœ‰ÏBL&¹°…¦êøTÌ/ÄfÐ_¥ä ý(™”ø~ä‡BHŒ)™hʆ'™Òx°¶ª�iÚ-†*R—÷ýRM±6!Ä—XñÁ©¦JÔëšx…nŒz õ®”hz#¥Å’:]ŠÎí šU¦ˆÔ¸%dŒ�§•ïŸ5®íñR:¿àÇò7åvÞ]*îýÞ‡ÝÿWwuÛ—‹@Á¤¤~Ø`VÓ 6"Ù4PÒA½MØ|ÙIÚte®”ZkÇ…'›a D -Ì9)ß~“ÖÃù XC!µô¶‘ êÓIN�˜k­MȰDþ©Í®ˆzj) ›cNÑZ�ÔÚ$G2ÉÄi]:É-AÊÜ4)(’PReFã êkIÌ‚: Í `÷Äg÷’øöŽ—6�š%S -si?J€?j¸è$îúÆKÚÿ"�ßýœA)Õ%±¼òkJ�][luzí‰íÁ®‘wÁw"^C•µ…Kž_‰u¡¤J[~uvš‡ 'Hm°ƒ²Í òÚ(ešä8 ¤P�瑼ª”ÄšRÖOˆ/²Ä\ƒmRKæ‚õ>~’¸àíáË`ÜÙàL3ÔÏP”í�?ifPMš•"�¥˜BKøm‰ø¬€öGsFâ?d@�ÈÜ:˜Ì¥> ò «óúr¤®$5�RÄÊaF”(I~ß'®&¶‘cj$êuPÞ9M² ¨| ÷ñ‘Y昇lðZS:Lj�ź%|'©÷Liü£q¾ÔjyX@ŽŒºƒÄêQÈѨ¯…¢éâ|J8Ý5#©qA_¼ð�¾Qs‡ÿâÇ7Þr‚¢æ1ê8…ZOL¡Äâ›°ñÃébJE?Ä">œ|6è(È[a�EŽP�Ò’x‹µ'}aëhä¢ðß “z½�6‰ä ­ ï]šøCÄrêCAuý–Öëåv ÔR�ª“iý[Ðê -Þ1y,Ö µÙuƒuY ½Dżúa4_®ìÇ·±Œª¥o€õLJ~(o£©Ú3IØüé|¾û…¿ë«•TÙ±ùúBiÓŹ Ê1åÖˆµP·á¢sû@‘ùª°íº³Tÿ‰“”»}(òC!:§/ˆãÂöÏñO–Sš*ÔµòÛGˆym½9ÂúÓSÅ­7I;ºÈí÷Ýä_¸‚TÒK+$q¥¨e$êRJí­q ê'%ÝŽ4?&͆“Ó¤ºs3Å-×ø° Ö2`þ¾lo½Nì -sŠ*p�ºŸÒãפ÷E¾¡AÍIê'PÏèÜ$v�u¬'H‰•¶2©[@$Ǻò^.”øÏ°lsÔt 9�>$¥6ÒÜZN¬é¿Œ|k ¶Ã&Ap—“jûCõ\-†KÑùròúþšðü¾°M�‘‡ê֖ѵ:Pš±¶K×;s†j«Žô’Ö�Ö˜BדèúÏ–á �b]”ek}©XK!ù©×A ÂÚ¸.•ÄTä�Ù[‡ö’†HþJü$­¡þkoWÕº­�¿‚Ý�¹ÅîVl‘Žk­Y«QìÜ!]*�‹îFLT°E%D¤»‘{‡ûœ3ÿï˜ì}îùî½ÿû�ûû}ð››Ü¸ÞùŽwŒçcÌñ\ƒ‰w–ƒÒà}nºðõÓãÄ0ÝÑ5u17™Œ›F”¸&5Âät˜^LÛLg¬0¹t} -äWéKî“a8§lãu%(sü &Mû?Zj{"›„9€a¿ N0Þ9«©øjthåvÚ%å'ˆ‹"ÛèÙtÈã DB½*(w1É é‹~SÉc8æ]À8Ç=IÎ�8ªB�Š©ÙMÆÕìaäÛ¸I+§À>Ü'ˆf‰ï­¥ ˜(ÄMNƒ©m0A8œïóup¿…a%[„ M»¸ibÇíÇRN�¾N_‡8‰qäðÿšlÏa)« Ü9À{X |``ÀÂôY¯Ib›È!¾~Ñs2—cÄ>âL‘]½·œ -x¾N䙽Jt)l&myyüœS”À¯Mf94=ßÉÅð™0ÅVxÔiN)Âd ö·�#bçE|Øf Ô„¤×’ÿäëWÆA¾†Ëb_Æx¤/ær„ÀÝ_S¸Á6E�ÇûS ‚”?Û@Ýj7?l�‘é=Ú0íö/5ÆÒa4eŽ1ˆÅÏÃ�Ó‰~öŸ -qKz%&Ò(?‡Ú”Û!7½ -&*ƒÿtIXÓW¹)œ�+€ûåÃMÖüsêÞD±5æu€¿å&X ñõ À±àµqÓ�¢æ‹®e,ÅÜy%Ç›íñþ MŸšÆå€ó�¯ñ¾½ -8½È'{ øD2²hðz=íØlÚu2‰ù}Äz7±Ñ-i!àæðÅQ¦.q‹ÈðBP”¡=ï/§ÎøN„˜¹kñ)̽�3Š3•!Ns\Çt˜`Jg”?æ•8fÃÔ4¡ä¬"¨C�‚”$ªrŸ8¶NTBc€¥˜jÎ�k×è`»"ިСyÜ”?ßÚD*Áž�¨P -S?îã§´ïþ‹¯æ‘á{ -|�S•8ŽÏüI›±ÜMìoE��6ˆ]ã”%Îñ 0^ SƒÂ$v._ŠD!¯6Ó¾OÖ€""(:s¼ s%˜R*@TlÝ^Ì×·2§ý'qù}ñéòu&àÁ:P7‚üàt8«€�†ø:œ‡q0™ž«¯á};1uJ^$q ŸÇñusÌ×Aï-—wöH_ÂñeøÞy»‰"¯+¸ÉF�gâÔ 2–Š*4ŵƢ»M�Ö©+Œ}»ƒSƒ8ŠïùAŒÅ-1ΟQ$%燦žbî�}œMx 0Ýø:`*à�¸éH0© -ò�OÂö ò}¼Vìuk¥Ä9lž˜ãë~_‡i¯ð9¾9DàÀóÀ‡b? -ˆTØ«- \¹uÈSr\ ãRŽ«Ã4=È58GÍ£AíûB2¶|'¨Ê‘ñͪ“ ©A`Lç”ËÙžpGÈqjâQƒ5tÆ1õ'se�(ó³ªAxL_À~Ø6@ Ô ÄglÆÁÙá”F“~LLš�_RƒGר‹âš4`}0b(m‰ÿý ÞSaâL¿¿ -Ê"dæØ¾¹œ+7=îzæ2"¶j7‘Þ·zAZ˜î™Û­e2—Xeé׉`›€m¸é„ao·ÑqåªtÔ»]ÜJX'L° y¼™á” 㔹)žñµû%éõ&po¨°×[8ûô¼½j4Ìõ»Ë¹)k¾/×2NÊäi÷ñ&P%Ž*€•8')Ã>BL‚¼uìÊh˜&K˜[�€ÚÂ�BGàL®Þíûx#÷Ú ÿpãpì»$Ø·ƒ_䦮aûãÔ!o“î°M�‚L¡åÔ ®Å)ÿS Â Ô |‡&óCüÿbÍñ?Pƒ`0lnb$ã0Ä8�hÌ=a2*Øç'/úNãêtÀí�Ùpç‰Ë¡;FÎc�QoÀÅ�Ë !EÆÆÄÙÔsŽÃÔoÛ1€S@iéO5ˆÙ k“ý¥ayeôÐDË[¤n·–‹1va¬!GŠ9ä<]ÓqJ,>™«@…ŒŠ)ÙE嬵ø]˜|Ìx=ZEDTmŨ¡I×qó!_ÅÕwc¼53ðQRw|¾±Ï„Ü,7…�Í­¸š¨ˆRtÉÄê4æ¶ÜäXŒ‡`b'øPÀ^ Èç§O_ŸÀåàṡ…‡.�à ,‡éiR�óT5lò¨í(P„€>>»>ó Úù$èYê� Lœr øû#aª/p ®ÆùKŒ©è¨ŠÝbï§ë8å|Ϩè’]DJ³:]¶C�Ô´pä.�1Þ6ÒÖåÔ „˜« ȪA(ƒo€Ú•OŠL Äœ}¿ũ:A^Òò"—›�Ú9Ø&Ç«aæ‘‹£ ‡%~�ý äQ`Jð˜<+½ž±&¦rµò“C¹.éÕ”eܤêË3†& _Íá|Æ@òŸâÓØ~±]JO{Läòg[ýp*(\ÞþÜPo~ -”Lp¬‡¼3§x~Ùg*qðÌpè áÔ"~vù5ˆ„* qRµ.e¡ô—„Pv^‘³ÈCÚúÎ|j°ÇUƒpRƒÀ1ŽSsÀv#³Âè°Íhúй‘\~Á)~pGNqŸ#È¿sø×íöÎîN{N?*©DB—•СN½ÞÈåû/xL"S;÷Ã9e.8M€úœ_ 燂•8e[éãGCpjPa•+˜ N&U«qÓÏaš)p!òˆϘ‡Œ ŒæýÀç@}ø0p?ò¬÷Dð‹ ª£M¡ý;õѾ=:ÔS!×*8 -*^3A±òfP¿˜›* üÇLÈ‚b§¾¹@àå Ø j 8f&‡¸œ&UÂ}á&z¦´hïôéâ3µÔ°A ‚§ “ÀM‡Á% ê‹Àÿaú4§¡G!}1G®Œ–�êö×\~òÈåѰß\]ÃâÔî£å™p¯Ä'püÛÓWÆ‘‡/r~ˆÃÁO¶Š#_ïæü"`NÈu‚:Wð³MtØ+À™0!ö|ödÓФQÿY\Õ5Zê¨ÜdÆàœ�LZ½Là¿ 5™öå×–ˆ“*t¤i Ij;�JéÐ"¢+·sjøœ0ž·–QyœY²ƒSƒÀüú-ô�L‘‘ø´("�B ä¡8El÷è… ²Â©A8©AHþU âÌ_jFRfGIñ1ïBMÇy*²t^´ƒÁ¸“ËxÝZ~„ãœ6¡J÷»Ëé„öýLj·™8 yi±ËÍÅ"»˜¹Tz‡(­qœ¦^_‚þ0|q*™çÜ&s}ÖA3€—Cþ¸:ð_Pïü94‰ååÑÒÓ×&�ZÔ>a²,ò~+cŸ:�8é1&¸“ç&ƒ}ò%G´5yH]Céj› sŒ«‡î¤â«UaÒ,L.‡–€塳#9>á÷hô|��RG.Œd0—†µKJµéàü­۸ܻµït®þ½Ž0±5I™ˆ¯ÚÃ$·ërjÙkÀfˆªAXý©q~´”Sƒ¸³¦éKÎ_›¹5>O$ôž`¬)µ‹˜+…^(À�‡/�‚\Ÿ�"úÀ‰á’K3¸)ôÐsá–²|Ø+ç‡`òixîQpÞ6™S‚2ì'äßA5|ŠÄ#nL3F<Ý@ßjæ‰R›ôaAUŠóµQ¥ªÒŒr¾(¾b?–«¾�ΨӃéË�»äúA`’©WæJàÀ¿¡f÷—Í©AÔî¥té‰Ó[ydF¿6‘Ú¨Æ\M_5òˆý(á«‘Ä1×1©APÑ�»%˜—�Ÿ’‚rƒß�uR—Ày\|DZLp{�(èù‰×ÝÕ<€c×Ûƒý=ìS´[[¡Á$”jP ej°¿�{¦‚ó7AíF ÊÖîw–1õ»È ‚ ôÕìe”ßó5œ�ò~°Ô&i¯›ËÓqØê€÷A)Á5m Qº›‰©TÎCÙ„ÍÞõzà=Üù,}{Ø&Da/·‹ãktèŒ6}éýjséífåûl5e£D]œJœóž5�Å™á&´Ù0l§ÀAhŒðyY~M„Ï7䢠^ÄÓ#ü§¨‚q¡Ôóá:™{êRÏüì5ú5@AB[¦! -ÈÛÌõ3@ÍFÿ¬õ‚ª&(¥Âþù[é�'A BbÎå =G2·ˆ…Ò«IK¥>Ùë¡§cÓÄÏçrï�ºxm -—c· ›|œËaÀtÜó�Õµ©�‡ÜŠ4ªJSQ¼gˆ³ãømý÷VI=’—BΞS–äêÐÞS!ê�Œ_æJúf�¡èeÕAÙÓÒã Þ¨¯m€@ý—ëeK,Ù/M©1¥VëqyÛ9õFPË–©ÀT|˜RÍÕ#@Y -cÈÿ)X`Îf8ê¢D榇Kn5�Dj›:¨A€9í–´`¨>‘<ŸüÙ2¨¤Óž/VqjÖ¾Ó8å“¶r^×蜄Û�„8ì± -(>pÓò1ö—^À|À9A™S^Ã<•›&ŒÎÄWª3‰5š?IhR‡š (ö€¢ü(ÚÍû§¢]R§&ôýñ©¡©á\ŸAì1ô5À¿SÑ#ËÕĉ�ÚT`ÁF¸`;\MTu – -ri1Gß©!ÍŸ¾>-}\u�ŸÙ£g�òÏ]G[Å)ÁÔ{àšÀ—¸:ðϾ“9_ì;¦¨S‰-`ïzêí7à”Eùbßqœ—œ²'ƒ8ê¡Ç/Œÿ.=çÃõ‹]ƒçq“�¡v½eÐóƒã¢¦({嬖:¥,„šà_N� j”P_Á{ ½bàs€ržä¬ë$.×Ä~ŒøBæÑ7—ˆžnÿÇ©,€¹¨…aþê“ÍMiÛe¬½¸¼:äMd1õ: L/²�™ œrQÐïcz9@Éì¬Ó$‰­÷LnúýŸê�°·DzÓ~Ù£’Cfù…Öôý!Ô© õ„bÇ× ·ê�¾V�"-•Ô¦ -›T|ƒ*’¯"¾žµRìž¾˜SÓ…š¿M°äèèÓn¸쿨A�˜¿ru!·Ø \|BU² åÈ“®c‰WÇa™G»ß[ -JМª¼k æ*á?‰þRƒ€8ýxw×Rá/·BÌ–ºg,ì÷W~•ã´žiËè˜÷ª’ØJ-q\å~*¹öŸŠvÔ_Šv™M&ÿUÑ®Ní “;c�?¶ÈM†÷½¹’S}ÂñúA}ˆSHr¿µz@9�¹"Wâìß÷ù:‘]ü\° ðÀÍè”fmÆûærN½ÑíÖ"PŠ&­B§“vÁ3 ×½0”Mè Á¡ # f&±p”8¹Q_„±"äžÑaè‡ÜÇ©5â8Jf j ùLæ8Æ��›¼0Ô«ÆåÀAõÓÿÑZ.O�ý¨¡Šìƒ‡z>€§fÇ<ƒëÑ…^FŸìµ 6ÀõA½ê(.�€:Ô÷ 69 -èU�¸Æ+s}å Ü58P óÄ8ê²ß4êäùQ\� އÀk¸ åàC€3Âe5Tß W+u–Ï—xÝ\ý½4¨7f[M®ÒåSaJ»*×£pÊu<ôB� -—wŒ®Ø 9˜>ÏùvàÄp¾®ÞZÎõü�ß>ë ª˜{@ïŠcÄ<¢d`Î:PH»$­É9y!t‘Tµ—ˆ.ÙF]¿½”²�=CJDøkN©)w §d¨Só¹¿ J:�ŸñÊZIF¼ÚJ„ånäò& uúúDÈ#s -“Þ×€¸ÔóÖ*®§úÀ¡wÎε»KÉäîý¢´>C‘ûÃå\ (g.»–±s†� àÂMÊŒy>‹[¿pgê¨À)�wÛ†+ÁÅõôa|XÔobæBÝj~ôa.îÃS'.�æz[íãçA�¸yT�ÃfRg¯NÕnàI .JÃXÚ)]Yä_¼p‡È.i›O»LàêñÒŠ;e;N‚ã!7 žë—påò½Ü¿¼r©×î,çø†oöjNµÄúÀñþ_‡^+g�߀ж‰_ÎF±wöZØ[¨YC­žS�€<&Ô/!_=¾�çwM[Äå… fŠ}/Wˇüg0—¯Náü(¨#A­l4àÑN)òéPçrK\Ì)“�¿|ºEôp#ð¸¡|bÔP€§3>èIMª Þ(ºè7•>m?^3Æ1{@ñU1íbàtn­°Ì ÀvÁ¿@n›Äþ”H¨T…¼ -·&GüÚ@ùÝÛOðË-œ¶ßÃ5ø{+�³A(ÓP)-û‰ô È…Òn© ×de賂\S¶Cäûj#——Ægúõ€os8×çö -¨sÊì1ïv€oÛ†ç= _ÿ�5¢k·¹~Y¨/@�rÐ�C…l¡2ºu…±5;Dç}§�G¹^IÈ)BíλèÚ½â+±s9U›�Y�+Âg`)W² âžájÿ—ƒ¦s*ÎØ¿I˜·‰ -/Ûg”Ç0¯W` ¸zs9õ9¨—]ñŸ ªNЗÂänº¡³!¦r¯z�|ž­£äåÛ@5–ãóØ·‚]CŸ¨©kübŽ—þÅ̉Å×sVCMq(�ºÔ°$^9k™�³³Vâ.®OîájA^ÇKÎ/8ÅýöÂæn..‰íß×  -Š: FêbTÈÓM\ î·OòR.'5!¨;BÎØ=a‡Ÿp<#ÊöR/·ru«ÓAå êübÿûë!ŸFån5UN�>²@…Sî ÉÞ~™ŒÂ~š‹u8^OÇ1ûÖJÓ‚Â(yÝ[ÉÅþ´aJ£*}5m!ü.ä…qÍ»¡&ElþBDWí¥µQiÝ:dlÃnÎîý�Ú› -[¾ Ç,ðÃPGÅüx ä¼Åî7–€ÿ�˜#ñ|°š z´žË�‚ÂôÍc2¦|'u=m§ò¹ªc§FpñÔ[’:÷‘‰ÝjtPÉV¸�ࡇ•z»™º:�¶��ÅxÜ\L%¶í§4‚2:—o„纀ƒ@Íð0ä \R•¡HqË=«âtk‘Ä!yô�qª? Î=Éàƒý²1Žx¾�Ã.·”×Û‹hŸì•Dþw³ZGÎ$.M!íâfQΙ yéfâæ'êvŸ‘àæWMaö#òõ7S2ïã*§Ÿ¡n|Ò'Ò?í'Ó4™»]ɳ¦ÃÒ×ug%oOÑ�;$tJ·6ñn—éÕ¸¥²“¶ã /Áõ®â{j�øœ.ù=ßÀ$4jÈnÔ‘æåâIå„yb)_Y¤Ê)_ðŸ.³�áî1ðJ2¶z7ägÄþ/7C_W½T8Ή±=“þÁ€Îèѧ“ú4éø¶}P7� ”Š8?—Ô¬J�hbÓ^"¢”ËK3þOÖƒÿ$ÓÚ5Á·ÐqÍj ð -9`gÏ;«¸\*×/šµü|düÌvœ”L?l¥Ewð…WšUcÊÜkŠï5áÿ¯•g7š1;i2°d#ønѰ�ŸñY•Êéd¤ÏkŽKsª-ËH3k*­GW˜Þª\ T� ×€+Ú!‰©Ø/zØ*bîu éÈÊ�C -£éËèø–}BùÛ äÙë€wSñͪ¦*šfU¢R¾jQ…@Wìõb§¾S§ÊÕ´®?Yñ˜Ëw² |� *R�Êá�°’íbϧk¡ÿE–Tg,NêÖ…}õÁ2ÌŸfQNéó)— ÷œEÆQu�°šÂç?„ä«oR¢ð7s*ÿ›¥ðýßÊY ªõËQ÷‡ktË'{ª¢ç,SÐwî�¬¼ÔERQc/zÙkI=SÏû%’—õ'dÏjOšÞ¯¶�¥Ôð¥ÑUšÒ¸::¡i?ö=»`_É€gkè¸V5Ij³‰Yj)ŽkÓ{?[\ÑÌ%f‘ÔζÙÏSM]Ó–Š‚¡vœË)5�‚'Ôé >Ò·Úyôí~&»�a²[DÌóöâgu‡E¹m–â›í$™> EÆÖï¦tª1·ÚùÌý6šÆ{HÜàY_�èÛMȬ&«�¢îw ˜Ç-bñƒf‰4§æ YnñÏâG•ftr»–0¡v7‘Ü¥Ž/5°9:àͰK°1*µSK”ÒªõZQF;ئ‘ìF )»]!¢Sj´ÈÄ&5ð}LöqMªP³ ’>¨i=û™ƒû©}ºÔí.CâÞ€yç£!yï#�~Ò/cž÷b?ÐÍ�/?J™×=GÄ9�Äwñ³ÚHQN½Lò¨ùó¨EBÝïäCŽYðð«¡0û«ñô3Åä}<,,ü»ñò«HTÚzARZyÅìõ»‹fÏÞ�’fUÊè͆tz�.¼6&8o Ä.®`|Dæ~”в»¥Lb¿ƒ}Á�›ÅfL\›ÿÀIE‹ ÃA}j¡¦ù…V²ågÄ÷»MEÙ½2É�v±4£•”Þ¨§DIÍzâôn#&­[�ñz²Ô¬˜ë÷—SòbNA48o+àñ5|΋·Š“ÛõÄIt©Än AÆuatÿ~ò·=üŒªÆ…,Áob� {þ¸,é¯õõw^'j¾œ&›¿XÑ}]©¾oÎÒÁbÿƒ=äÇÚnGHêüÄݼeõþf�eò#m¹1ÒºJw|%Ô›¯DyÝÇ$Åõ6²W çÄY-RÙ½3󜲓^åY™?.>+yP-#Ò¿h -c[wŠnv -d95G˜;½Y½ò�3¥·a?d,K­šß­K¿ï=C¿ý|”,øýù曩ðÕYðÉœ.ë:#m+½.mï)®,»B¿ø`Neõ©ŒA]"¾m‘òi?œúAÅ_¤ë;lè7½‡ÈÌOºTŽ¡¶á³€—AM“óå—B|€|?¨z-ÿæß5DÙRiaù%Ë'¹—¤ÑµZ´ÿã5‚;ßµ‰»ßô…¯>ÓÄÓJ�ñ«º0¢WEûm§8~PW–ÞB˜ß¯:&+,²6--r>ð¾ÐÕ,¯ÄVò²æ„ôn“XœÑnÂa•Ô^màiŽsLr¿.Æ„*’+©ó…Q5Û„9¿Åß,¨ÞÏŽ’Oï}%ƒ%¾¢O¼˜_º7É@©ÿ±Ö ù鿤0�rߨಫG:î„‘¿9IúšüxiÖý^.éiñ•¶7ySµ—ðýÏÔ$¥k§ÀûáR~dÍ&þ½hòŸ±&dQßaq[½‡¬«,@ÖW îj¼.êk¾.énô¡Z?Ø -Jþf.(ùÃŒ(ùÅRXñå(õáãÑ`ƒ§ôSU e×£ɧ&?ªâÃ9êU·Œ¾ÕË#‚Þn ^¯'CkUÈ›õá{â –¦¯Ê/ÊrËÎȲ+I³Le«,L³ªÌéÇmæéñ¼‹a^µXŠóNKrëNIž¶?i· ²¾�ø4Ž¿Ì«VKIEÅqmµ“¬©òºyWQȱY±'[oÆé|u¨ïU„x ÚSÒRá!.­±¢^÷™1ï[Ï2ÍÕNfÝoCöæ†o»s¦9)êB}lÔÅÚ¨°s�ñ‘Ç[3ÂLòèÁ7aÍ/'ø�~7„ü�äçÀibÇ´dÂUêÆ€“Ú¯¾ b—ÐéÅã„�*tÁà³ö·myróÚïCÏÃv¼U5Ù -‹¾›=dÕî/ñÚŽ4Ô3Ee© v¸½P’]gaÑñ:ìdÛݸ �ÉÉG[ÅšÖ{B\cî6“â�&âl|ŸÞ¼¿hV—ç%{]ñ3s³ÉXz·E ~†iot9Ñ–�m."æ½{˜W‰w8Øà¡îû¡¦ƒùAÒO…=�äWêäœMf”8…Þ/q M~ïv¦9!\ŠíöPWvèѶ;ÒþJI³ÏÁÎWatÀ5?‡5 3¾k c»vÑnO—Q©_tÌžÕœ—>í8J¤ý±Ÿð¿ŽRµNøâ-k­ò²ìxu¤ýi´ioU°¨¥ÁEÒYý@÷»Pig•]ÜqRXðÉTðäwcáón’~×z‚®h½ ¬ùv„îªs‚=9Øù4L\]zÅ$ûWm^Jõfãô�F~¨å±úü¦ß��lI‹L,w‰ˆ©p�ò©¹ãZã{¾9!Ö²ëa„ôKE�äs«ŸèS›�ø[«ÏÁîG¡?7&DkÍ 3ï{,¨þqÄøÞïô­/h‘Šnaüw³…0M«JãÛô˜˜Š½dø;òÆGmɫ֓¦¥.ÒÒ -ÑÓsaú¯û„!Åë ÿµ|ùûõijABZ[êzäÃó˜Ã]/¢e¥¾â5¦ƒ¥!ccÝk}ãÜj}c㫜#=j}¥-Åרº¶óæýïäÎ � ×ꯇ7¸„§U9Ê3jìƒoW8„àõ†^+÷ -óyïêSq=ìr}Dø�žG!LO�UÒš~1`.}ÞpBúªáŒ´°ú’äyÃQæ~3ÅÜj6lô ²ÖÌ×Îk'›3£Ï5§ÆŸi¾w²ùN¼´£Ú‹*þ|œ_ò7©°æÇQ¢òïÇxoYcÃ\V‹—ÔµÕ8õãNñ»Ö‹zŠÃvç†Ñ-=WèâÎStIûYŒŸ�JRšŒéÌâ‡52Ñ»òsf o¼Ž¶Ý‹:Øþ4ôXÛÃØ MIɶ�òH�jïP»zÿ¿J��´r'ù½Z»�¼Z«ÀÒÆKþEU6A¶A%5V•ÕV¥øëòJë ’’+Á9¥ö!i¥Î¡~¥ž‘g’"Lû_ˆj¼-ºžÊ‰º?Î -ž²|òá?ô½oúQ¯Xü¸ã€èÆGc:᫦äF'E?øF‰J;.J{›üD�-Lç7im äSy 5Ðã"úÜî%ë/ 2ë­”Ó-�v‚¿ ˆçq~Í YÓûkÒþª³þ·r—ÿxŸúë‰ç›ÓSv¾“öyê~q¤++êp×�pë–�ˆ€j·°ûUvò¢Zë ‚«À×�V�…øc^�u`^­uàóª+!ÙøÜ%V:‡%—9‡Å—»„yTúDÈ>åûóJY‘qPÉJÁ V]ô`@,Éé? }Ðe!)l>gVRìjÖPäkÞ^"~ÛxV˜1 A¤ôiH2š„’Çm‡¤…�%8&¿úb!­©u÷©ðNt¬–'š·ÉEy­Ç‰[¿é bë· o|Ñ¢ŸöŠEM�.ãN´Þ‰3ë-¾0/ܬ¯8Dòµ>à`wv˜MSXlL­SdD­kì™–ôxiÿû¦£ÎùhGV´k“oŒ[½wdT­“üv•]0\Y•v!Oð>½*»"Ï-vŒ|^ì–Uâ �,u =Öž*þØâ#joò�UW]å·�””ÔZ‰ß7XIÊ«¯ÀÙ�_ÅvíæUîîZéTWìáSîKuö8™¼aüFöØìŸüÊ<£#‹<“‹ÜÂìêB±}ÅÅV\�;†_90èhø–5ä½a …ÍßÏÂß>Ùx/1 Ê7Ó·Ú/óLë�ËÎìp¦¡ÜFT^vÞµ60 ö ®W•¶!·«íC’Ë�Bî×\ )j° -Jl°?Ü�AþÒílÜÃ5éûÇIþwöñý“£YÿSûª�HŸÊëÑ%®¡iEn¡W*CÃÏÖLJž«O?Öœ!—õú[t?—K{¤}¥Í­^¢Ç¿$oÿ]_ôâ—CM¥¡çšÒO7gÄþ�q ÷eèÁžçá¢�í׉ž_­éÞnñ·*¿ÃwÃ,úËMÚÙã&̓‡©Õ¶‡;D:ׇÜ0­Ë»Ê{Íê¥Ûjäýt�‘uÜTž}Üt£ø¦�&å¿‹ÉÞNûã�7"]#£ª]Â,»îÈM~eÏv²¦=¬D¿Ÿ•ê÷±"½~–6d-L¾²çL~°˜oUîÌ÷*wâËÃVbÚ´Üø!«M¾ýqPRÜlcV]åy¬å~¬}uhBhùµØ´2—H›ÆÈDiw¥�¨¾Ñ‰©k·×U:K{üÏ5¤Ä9V…ÄÚTFÆÜ.p {üÖ1Ī> -û쑲þò`‹î‚pˮ숋Íq‰Þu^‰N5Á±'ÚÒ#èߺ®Rö¢îFì;˃-»s"N¶eD]lŽŒŒ¨w‰ô¨óŽ}jö"»>_!;¾ÙòkY £"ÖHÿÁàƒÀÈYúþ™ót‹Yu~ç÷Sâ_*ý®UxG$»ÈqÜ“ß.r‘{”ú„œlJ ±ì¸B÷¸1õ=6ôëO‡p?Ì4v8mÏŠv«ö‹½_è$õÞ.$»Ð9ìÞ[güÿ:ËŸ½u”'¿s ?Ô‰cl_Q0ÄW¯ -ïÈgïäùÅvAØg•TZ 6]òûˆ¯"ìëÜê¼#„¿tÔmaù&ßÙ ‡;ï„¥68D5]|Ú`+Ïn° õoòˆ/ó¯ô�xh>X(ôÿzQÿ«fdç?IûÈÅýfçö$hû>=´eç^¤²cÚ¤¢Ž6lÙƒÖª¨¡ *<¤JØÓ¼òtŠfúßVjÕ±Zä—vG‡Ò �äW×Ân¿q .ð -‹Ìó K*p“æû„_ÅØátcz¤¨·ÇÓ´«"øH[V$ÆEÑ�¥ž1‰o="“ß»„ebÜ^î 8OÐø÷ã¦ó‚’+œÂ^aÿö¼Ñ*è^«Uà½v«`æGÃuÃÌO[yVòÉúb´zž2Z4|&Z€f¢yhšƒ/eüùªÑsÐú9KѾ}b¤+¹¢ -sQܹ›B˦ÌCsÑlü[³ÑÅ™h²Â4k¸2š7zRž¶-š·­\©Š¶ŸAû®WÌÐyÉî2¬bEÂÎ?.�oÙƒ¢·ŸÏ˜u¼“g¼u‹(xkü¶Ø>8¿Ô6èÙ;û�¸r—ððR�Èk•>±.•1qo="îr{ê"�zw5"øýµð½ÏäDÇ/—©¾^ç+�A5M—ê[.ùã3MüèsÑk`y:™¿¬Ó±¿5UÏ:e²¡Ãý™ú¾ï”õ2¿lÐÍþûV½GìN½ˆºejü£h‰òz´hÖb¤›÷Š�ä‹Cß–^ ¾^éÍ|íð}®÷$~ùä|©%<âu3ŽÁ­—ÛÃuºX£=¦ÇЊÙ+°Nů^Û(üª¸UÀތüÒaè?ÞàçÿùM�[ ü&Ü� hÔ°)øãD4Ra"þjš5e Z·õ ÚïQ5“?€ãÆ ë€}Ô!I_³Ïñ–›‘yn¡ùŽÁio]C3Þ¹„bœ[däVáiÞó4нÌ? -lóq¡CHÖ;Gyd±{èñ¶ôPÑ/->Ìo�^�þQU.ø7;†ð~cOî{3oó¤<~^Ãhîõ�į>Ÿ€×4[ÜTü|>쿬æ?¿ ãV÷¯ë†ßaïÆâ¿7ŸÅÕ{O 5¯Öš·ÙUF즣ÇCÖ^égÑò"ähKfØåšÈH«Ú°ˆ×¯1–Å6 {Yx- ö1ûµ[Ø«GnßÀ—>Éw -m(vï(³ ‘|,öÆÏÒ ƒeŒûØ‚וּî{Vk§‘%š‚wèÿõ¬QáÏ;ÿñç=›9j)Z´È­ÓºŒö:WMÒìbuÈOe¶Jâüc^y…Ý{ãþ,ß)ìižKÄÓ"Ǩ‡ïÃsó�à _¹„¿Îs xç)w®Œð/õ ÷+¿–V�yW¹½üv©cH\©[ÿ+{Aë5«¢éqwºº¥�Âúu*h–Â$ÎÇp¯âÿ´9îþ+rv -ÿó†,q$þù(îì �ÃaÜçð½Ñø}öªÐ,4eÄ4Wi?Z±ë8R1ORЪgµˆÏ�öæÝ�}3‹œCüнÂN´¤…>Ó�¸ x%Æ^¡žø£MMhøÑ¶L9|?ó½SH9Æìõ5VACX×*0¶Ö9Ò¢/[Žñ…Dýrà¨ù³gýÿÞûáøú×µþõ=X¯âŸ?Z÷HîÎŒÅwh,~ŸÄ�Þ!�:äƒÿ\ëîüÍœ¼ ­Úqíüõ[§plŸaO œÃbŠ<ÂôYéFU)š1aw¶þ;¿ð¿}ûk�ÿݬiÌŸ{:¿�æÖ? ¿ã˜8u Z¸\ˆVª]B›%±Ãö¤±ó ?³–‡î\‹{év7×=<÷�KäÛ|瘲|—„ÒbǸΑ9N¡ îrûò�P¸\*üBq|—‡WºÊvÝ Ð+eõW/ßô¿^Ç�7Tä^³â¿ìé°?6ÿt~Ÿ2lš¡8M6ïÓ4ì“æâ¿M±M¾MT\Œ¦ŒYƒfÍÔA«T�ÐÎ#oF¨ç³ë™Þ|Œ[ä8@Lu* —|,õ1Èõ;Ñ”"Ç>&ôö• 8Œ€¯LžŠ}kA±�¼¹érÈmÌ9­šC ¿³‡´’>,Û¥'E³'þ_öý_ _ÿ/àœNÀ^ Ö¤4z)š5q3š3}'š=m;Rš± ÍœºMŸ°MµM·M…ÏÇnD3Çãß›©Ž–l:ˆ¶™f(îÏdWð:Ø£–�w}OV¥6»ÿÒ=4ǾÖB×äæ|÷”öwΉ½ïÜR{ÊœSú+�’{kš+íbJKb�wí+gU&)þ¿ñ�ùAXàØ/¥ÊhÊp%üÕ$¼‹ùqüT˜‹}É4cø -4mÔ4mÌZ4}ü&4kÞ~´pÆ~ZŽh?l«(Qa—O÷Ã/¬…¨û�Cä+¯ÐϯF½ËsŽ,+pŠ,/tŽ)/qˆ|WàYXèyÿ�Sh>ö§¯Þ9„Á÷ÃÞ»Ë5ÚXõUëÕÿ×kùËo‚�ËyöQ~>šó#cþü|2ÞG¥‹Ð¼Os§mAófnA³çíEs—j¢ù‹�ÑìÅ4{‰1Rš«‰f,ÔEó–Óh­~ Úeß2Aí-»^òá¥CðK¿P·^}Rà$ÇØ,,¢ØMŽqf8p�{ù¿`,öþ½}hm¡cha‘C(^£Üà{`Çq…Å›wâØ:ùß^øÉÑœgÎ}>ä‡ÎàX�LB3f¡ÙcW ÙSÖ£¹³ö¢¥k¥hùöShÑK|GsW‰ÑÜE$šµŒ@³ðÐ %M4gŽ÷³õüp´Û¡v‚æVÛ¨�=dÑxÿê™òDߘçÞ¡%/Ü¢ê߸Æç»Äàù¦È^þ¡Ä!b Â.¢¿Æ6r Ö.¶¦Ä!0©ÞVºx«ÉÿjÏàõOâ0Ú¤?ÑãP̃³7ô³ ø§SÐÌ‘³ÑÜqKÑìñ«�ÒÔuØ7¯D3§¬Åçoš=u7Rš¶MŸ¶—[Û¼fhÞb Z´þ$Z©ç‰¶¼¯¸Ã¿kŠZ6»b_1«bô‘=|¸î†'`йn‘ÕùÎõxŸªKíBÛJ¢á̵×Ú'µU9$´Õ_‰[ꀹ„g�F-»géjÝÿµm­qûñlªÂl4U3$|®¦á37]qþÞ4ïá$|MµÍ¿¯mš9[Û§:¶I#4g“š¯r-Üg�–y£•L4ZIÆ¡�Ïvü:Cµ”ÝHõ_¾TàVìUèòc¯*¼¶GïžàWZlÖVjÑUnÙVa™Wè~¾::Dó-»kö¤9ÿö¾ýuÞÀßC¤š®¨„”F.Äkšƒíq:þþ±'ýLaR³ûC¼wãÖc¿¹Í�¹-XD Å›�£e{­Ð-g´Tà -PµFó5mÐOš¶h?m0MQØáÙ:Ií)»’×Ïu:ü\ïëšôüÑõتîñuoÜ“óòœÂ€3ø—yF^hŒŽ,À<¡¾ì -—‡|uUí»töìõÿv,Îa-Àˆ8z DZlœ2öý‹‘ÒðEØÏ/À9ƒ³Íiø}ºÂL¼¾…hÖ¸ÅhÚ¸…Ø7âkò*4s:öÿ‹õ�òZs¤¼Î-Üx-Ù㈖… …z>h­å]…mµãöÞei4°jŸ”¶¿t?]�äøÚ7ôîK7yÅkç°z¼¶’<Çàg%v!ª¬?ÕÚF÷7ÛÆ—UÛÅÆ•¸†˜ü辸Vlõݳ! ü_ÿåK†°ð¼[ãðY›Ž÷p6wMWü )MZÏí•Ò| lƒúh¶ÃŸ6IÑOhìSŒÐÜ%zHiŽ:RZ¨…”6˜¡;ñ™3ñE›Žg)n h˜°ó;[µ‚ݤ^Án3þúÇ ËÆ×=‹¼ƒ£ó¯†aßñcil£áÍUö1�5vq½uvñŸë®ÄuW:&tTØC.I®ÛÂò+oÿ·öMñ_üã�ÿ˜ˆ×‚ÑÇø•Hù'u´PY¯C Í^ �}…*š9 û�YÛ°ÏÄç Ÿµy³w£¹sö¢ùJjhÞ"š¿œB‹6E+4�Ñ:aZ$Ga“KÙè��Ícw>aÚ�ôcξv“vË~n¶5m{äáþ&8Ø?×O^žçž\Tàþô�K˜ ôûÞ VÏä!æß0í­.&ìI­v¯Úµ¢iJý�ëŠmc8t^r,‡² BÏASð>Íœ´ÍÅñxéFK´JË --Ýf�–®ä£E ö ùØ_Î�º_ó6£ys¶cLÉC ×Phá1Z¦~­3òEë¨H´åÈsÅM�ã·?fç¨÷³ªØ}Fƒ¬%¯—=Îôô¹n¾t².=ü`çÃ�“�‘‰¯¯Eƽ¹yªéFŒyOq¨SmHbY™M@_…u`t±[¨NKn48û?®m$·ž \lžŒ”8ÿ1ŽÃüã¸�€AÀ_N1c�yø<*¡©#àRFÓ'®E³ê£ÅªŸ}9|O`ߌ=7ÙªÏÙ€'UŸ°ËwÇÿmöNyï´í]Sv8•�ßqùÉè=^åSÔsØ•ûkYu“Oì9ãOìiÑ—"ó¾Çþç£åÀ瀓Ö|ܵÀ)ìÅ;û�Ò’+ÁMïíB*ãjÞ;D_šì4ßOþýß±Í1Ær°O@ÆJ£æ¢ySÖ¡E«õÑZí³hi�–[¡5v9Ã×z¾¹Éëý˜ÍnoG¯¿ütøzûÜ[=ÊÆnõn¿Õ³~üVûw£U¬òFít«˜°ï »v_-»[õ6»Xͯy¦F&»\»–ÕÖ¯g…m¬Ø ‰ ÙË—ª#B³Àº20vv¬ ŠàQÆH×p‚yÒ[M"2û‹�çvwŽªèÒ°ÅË÷üv©ÀíøõJÏRC3h"¥Æhù¾³há�ÖWÑzq Ú|ü¦â6¿š‰»o°óUsñþT²[÷U²;Àÿíò©›¢r4]q½Øm‘…Ûqòæˆ=N¥÷z¶LS�ø:oÿvÆ':ú¿°füƒ™/E®úݬHǧd¾AhÓ -〢äý?ŒE%ÝçÅ/¾!ïþa$Lþ›:“ùñ£ïæÌ³Ïæ¢ì^©ìIõQI~Ë9èw2*bMÔ$>ŠÓÿç¸ù8iSG/ÄXúI™�®6C‹·�@Ë´¬ÑZ¾;Z£s­Ûs­ÞB¢åk4ÑŠZh�Š©>öŸ2j‡MÑØ}I_¤UÅjèÕ±&†½¬9ñ廃eûí ñçwWß¾Y ?ÿ°Õoa�ô_×èÅw­Ñ¿Ån1,e�y%,ů`Í… §™ÆZ;æCµóÁÞçá]¯ÂÄÛ}¨Ú+þ{V*¬üqŒélus­ -ˆ­(µ p«ð ׈\¸HYåß°K`m{às†×9mÜ4w® -ZºÙmÒ>‰¶nhi‡v�ˆ¾#øÝÕBv•Ö–oÌþ,þổøµÂÖä_þ^mÍÿ£ÉÊèwö˜Öw–§ý™åëg¥_Ùƒô§.7Ã.ÖLÇ7žþÉ�1Ú–~# -X=A{Ð(ó�íÆŽ7g ±&TG¿Óñ¶[Q‡;îEžoLŠ?Þ~/ÖÈØÑ�� ƒ^n”dÖ“ô³^‰qÒ§­ZbÇ-Y¹‹ãiÿÝÛD¼o?)mCËÖ -0톶�|=b»WûÄ� ¬¶½í:ŸYÒàWö Áö�ÞwV²¯‰Ý©^ÆnÖìf5 g�X׆È3ËC"+\äNÕ~!âÁW.�CÑö§õŠÝ¦ýˆÝ¢SÆjñšXs~{V8ðÇÉ·j?æË‡k†�X5#Óã -ê›·#=-MÏQB#‘Ô¨F¿Þ(¶M™'94E䘳˜Êø]_”3`J¦Ö¦\ï,ئ+é[úŽZ³ÉÍ�°ä¿ä‚þÃ61ÎÂkÒ -´d«m1�SØí×6 üßþÏÜy9`ü�=iü {Æè{H¿û‚Z–0*c ƒ÷¬¡q=k!`mM:Ù¼2–1zÉêËÛÖ»eÍç%voTü~ˆêëq|d­ømìqƒÌ?TŒ=³•ù1µ[ÉŸu¨ÇƒŒ ¢d#ør ›«Bݯ1缓HËŠ®˜×çûˆžvš3qƒûéàŠm´oáz:§‰6ozå#í.ó啲ôÆ]ä»®±Ø/NRœ‡&�ž�¦N\ˆyôV´p•>Zoh�¶�¸3|Ûµòñ»ïüý'�Jv>O<�Wì÷—J:'Ç8=T2xÍjÑMå¶Ç?ÜŠ– æûÓ�®Â¾^£–Çó -Uâ�>2œ÷ó…‘n?†²° ³dEñš¢„.-:(w•Ø¥!¹ÝÄÐU]ÄEM爴ßöA¯× -îÕ# Qõ½y�ìA­ -V]õzÉÔ‡“·É¾ûHÆõ㙣´.?š¤éütšNÆ×µÔà€ ôâ8VŽ_¯>dU�#º6'ÙÎ{ÈjšÜø±×äRԔݻÕÐzå9hÓܹH¨£�œ:;ÖÒÆ~ÆA»«sà91“û_4©·mG%v‚Ç¿ð÷ÑÜþUSèóp™ÐÎ{*˜¶Œ¼×Èãz4_öX˜ÜûCSàýji“yc@[ú¬ú˜ii…³EùÓ’bGi^õÁÍAMx®‚¸2�wñÚ8=×ôZ×sgïµðP\³‹@3&(£i£1ÀjH3Û)IOµ�¬©ÌÛäößÕ…. sÑ¥›‰gƒ´iS±§ÙÀ[9ó½ÁKðƒµæÿÊ^Äñì”nKèf³Ûu/gNVã@Ú’#à £ÖÐ�Ý6¢²ŽKÔÓoŒð|ø”ýªºÈ˜oޏg4<Ÿ¯ ¼Ÿ®ÐHÑö¥«ÑÞU›‘Ñ>ud&±P‘°öŸJùe¯‚çO¤‰ Fðì“ÙÈ“>/;,Îi”J³ë0iýzTtÛa\ûn:iPz>ÅïjÏóïþ¦ÅOjÛI<]% ~¼Z�ýÍÀ¤à°cªvö€QkŽ÷ÍP÷.»Ùп~‰�…ËUUÒ6–"#éeEþÅÐÉšúb´g›Òב"m5]¤¶f ÒÞ³H‹FtZAKÛ©ïÞ‡t5��€G"±ÌBÑüœíD3—Ä%æn7V³AR— yðŒ#s£ÍÀ<«òˆøþ‰àÆg ¡}øLÒ-õ'aòG5¡¼x#q)|šà´ÏxaêjÒ¼æótV/Å=ëb£Ï3×o-"\bæ�Î ó„žY‹�ê¶gýÐ0¹ùUÕ$ªt/e@ÅèÆ×FÙ˱<“Š¿IMŠþF<ü}Ï=u6Ï1lšqÊ·dN?iÙºÙøJÄ4¡MÌ á¥À)Æ¢CÃÔTv mKW =T�>wäQ‡Ñð,ÌÒ“^òœ³Ø‰à—ëÉÌ.]ñƒ±èa­ˆÉj¦DwTFŸ.üh-å=—±žÁØ'Ì¥®Dc=›¸–¼Î!ÿf¿‘ßa&.¬9M<úÌçßü¦!Hÿ¨*¸ñeõ¨‡bŠZÏŠòZOn~ß'<ï5‘ºà>‘pJ™Ç�­ßF½ì‘I›«®í|ÃtÖ9ç²<£ç¬¦QXßC‡¥}FG‘uVÁèrÜd“lV[àûl™‘ä¬ßÂv„Ðìòpcò˜‚úNu|þÖ#UŒGÈ‹^“…é�êpnŒÓa03æÓÎ —]ô™.ñ{¾Y”T¡C&–ª “ªöÒ)-:0Bv·J*ÈìÖ ¯f(Sá³h·äð¬<Ï\OY óy, -_Ú�j¸}¶1-î@qž‹8­Ïˆöy±†ºþr%‘: N=é [w oÖ&²º I߬å¤]àtÂ1rß.n†±ç½¼ wËyViÓte—´ˆSÃô%¶Š<ò¢‚�ñÁa‹aSù?NTW5B‹FMC30oZ?õ'¤±k?ÒØ¹êó¸9Ä<¡Ù0Bz\‘ÓÅ9{m²øÐ‰$^+è¿ÈNyL„¹[ÒsÎEgíÆÃ3ÃLzµ�4§ÂBr¯EF½Y'´�›IÈßnä§÷«‘îw�V—±ä„�mUœÓv@’Õ"%S?iÂ}$‚óÖS.IóIë€iôµÌ%0;�xÔoÂËùEÓ$뫦ÉýïûM2¿ìxß]Äw»=_p%z†ð´Ç8Ø}Ð3#x6ÛúLÒ3gqÁ{"Ø=áqo}giQôÌùhÕƒ`³—¥ç©Ô~mx�q¹»ˆ’×l£|®¤¯&*“A¯6P~÷Vbœ°’ã‹?¬x½‰mèT¾sÚcŸÜÅ‚ó‘S441_ز íVÑ@ê;u�!ÿà0xÎ’ÂcÌ–ekÑâ±ÓÑ’ ÓКÉóÐŒ?_™:Å/Ü_ÏäI¯?ZËDVî1õÈ\)2;=œ/!Zv|87‹´0λO»ÏeBm¦Þî&TìÂXz-ì¿ ªr‹ ë³.s¯‡¤¶ìêœ×$Ð] ƒž­#bêvqu»è”^î¬ûÝ[A]KYH„—n¥ï´šPZ…°·Ôës:¿õù¤‹Â1q'áš1_pÂu �<® ­E!-5âÁœû£N£És“I»ä907Š´tÅ£ŽbßqJ�ü9x -¶…Ÿ(W|ù寃çV¨ú´gÖrâ„ÃâœÛxÊ)Çó{†Í¤¬åC>Ò/{5W¶‹JhÞGÝêЧoà‘ݚܼí»]FÔƒn<§!LhÚ- y¹–ŸÙ¯Ï—…žoêE¿L�2¸‡òv-?éë.xý¤•û$ái»1”÷ýåÂôu"upÌÍ$|î-#<,Êßmà'uï4¾õ]Up)rª¶‘9Ú¼|Z;}Ú¶d=ÚµaÚ¿?Ò50BûuplÃøXÏ„AzFÒÑâ!=cdlqZQh<f‚�g´aÖ"Ìú£I ‚�}qH�Ó� £Â$6í'“šÕaf7qÆiå�±„¾Ùd$½S!Û¥=Ó3Ž‘s`&–èV­PœS'e·H¨;=<"ý£&‘ñEž #£ªwÀ=9Î&½S bÞm¡îöšˆžµÜùM›ïûj…зt�qbï6“ľ��[ ŒÚ�0�UÐf|àòpâLÀDþ±+#wl܆Öÿ´ íÚºi«`¿)@  ³á%×n®�ƽÓG”íÝ5˜Có -ùB2áQˆÓÃt ž ÏúÃÜ‘WÊ2xŽÇ�Ÿ({¹å;_×´‹¼=¨Od~Ô"Ÿ¯¥m¢”(|Á¼xú’ÏTî™<ûÈ9¾ )ÜÈÍôÎ^I„¾Ü@?[Gyd.$=ï.¤vì%²zŒ¨¬nc"å‹qíþb˜—Á—�SäQGøfÖÉãžãL@·A„ýó×q0SO`f=æìÁüGòˆóhÚ>~.홽‚¯Uû‚™¿WüD�ó™DžõœHžtKœ¸2fGÒnw cvpÏ >^+Œ/ÙÏVâøg*Í©<(Ên�þì½w|\Õµ0*LÕ!t†b°�O/6Í’ Ʋ%4š>’K#{ðH#F#Û26.°±š î€1B •äò%!—„PB!77÷¦Üö½÷{ßï÷Þyk­SgF²ÎÈ–4#Î$XsÖœ½Ï^k¯½ÊÞë¬Õü£�Ò‘Ÿüvaà�¿ÜÑøÔ/ùèþÆG¾; ßMÄ÷ׂ?ù—Ö†ÿ¯i¾•{¿éËî8»qí¡K|‡ÿï[}Gþ^�öðfµï…ÿ]�¹ÀdÆážF]¬m,åiÙõ!ß°ÿ39°êàEwÜÙ{bõ�s*n¼A­˜>õ6àˆŠy¾@…/Ö:¶1¾e×}gº–ŸÖ° s"Ö ¤/mKÆzwŽ?ôî ˜Óóº6/Ùq~lAï)- –� ·�mZÐ{jó}¯ íþp*æzÂÜ�•O}3°é…+ýwspÿ§·†^øÃíøžkxËK1Ÿ`ààÓ¢/ê ¾þûß �ÖðÊÿTÞù[0úþ�Ñþ~aèå«ó½ð»[C¾*´zçþmo^×øêΦw—ßù÷XãÿøŸr¾%;Îñ/Ùy®ÿÀßon<ô·[�ÿBhÜüæ„Àª=ú6~ûÊÆ¥O�7mÚ¼ -Ù+T̼©¶ëxb­/Ÿþ‚îñ5'ÆRÎ�õÏSŽÎ`jÉɘ3•øäfhÇUÁÃÿ2ËðÛ"KÖ�îZ~zdÝS—v~orèÑw½�ÇàyGþk†ïù?ß^³ëâà=ÛÆ‡×¿v5ÖÚ,ß>>´ü‰o¢ž ­~êBÊ©søƒKÁ¿ÿ¹ËC«žº�rI.Ûù�@zù©�ôý§S¾�Íß�H?zŽÁŠ“1×<¶Á÷ð1G•oáò“ð=iÌ·Þü�I‘-ß÷ºî?ãÛ˜y¾– -ägçÚÓëö^ŒëÅ÷âÕø^ýû,ÿóÿ^í?ü3÷ySø�×®ÁÜ xè�5˜c sžÒrXû�üë¬ðá¯æ†ÞøCcè�¯š‚ßýCØ÷üß§ùîõ˜wõFãSÿ‹÷¿þ·¹þWÿ{vããpþ•.Ä}µÆÞ'Î l™yà˛Іð?ý‰Šï�c>Ìé‹ÁZ›ßq‚ÿžGÏý�ƃ¼)ðØÏyÿ‚ûO¹}Vü ™µs"áìæ³ÃºsS†ï?t9ÐòüðÒ�ã‘Æ¾Ô½§øZzNlhí<kvžþh -ÖêÁœ@Ñ-G® oû>‡¹u0ß'å¸^sðrÌ=J¹´AWøv¿Ïû~q#¬Ç)Á'ÞaC»þI ìùpjäÙOno:ò™/|èW³‚ÏþfFð…¿ÜxíÏóÂïþKKäãO–7ÿჇš?ûÙ:|ÿ>þÓõ†¿ó»(ÊÜàÊ'.€µ+_þk-¾‹xåÿ�ã[yä³7Ë·T4v¸âñóýkÀ?ZüÈ9ÁÅ�žìÙvN¤sí�»×W@c]\¬Bu@c�cC½ÛÇãû­þCŸæ?ôÇ[1�Gxí¾Ë¨VÑÃàçìú…ŒõŰ>ÖåÅÚL˜c(´xÝY˜Ã%øÊ¿ÔFÞþ"{óó¦ð+ŸùÐGÀœÑ¸wB9„zybhã>æz -<ö‡¹g°6Hü¤À‹ÿ1ÛÿâÎòøÃT\3˜Ã,Œõg2«Ï¯}úR´[üÏýûôÐúW¯Âº»w€/ƒ>Ö -mzþJäQÌ¡áï\y꼆&” c1ç{ã]KNj\´ê”À}/^kûÖðo^;¯¾µbÆÍ³*jïˆTø[�‹ÜÿÌe˜Gó;לŽ5°0?a°kc¥¯}ñ¸YsÂsCÉ1@‹K1÷æt Ä3'b.™åÏ~þ*Ê¥‚8rMdÓ¡ ‘-¯_O¹R6¿~­ÿñ±TSäÙ�{ù3ë·þ)Ùþö³ñ7™úÝlÊGsþö÷?ïjúã??ÿãO·á»r˜«$öÚ'!|/ë14>ö}o#ø �ÏüRöüËM�[~pmÃ]ëO©™V_qãõJÅlð 0§éÍ»×�Q‹õˆ›ÒcëçgOœS× -r³µ"ÔÚ{æžjÛõ“Û[vÿt:åN[tÿé˜+ -ë–`ýPï¶ñ�»ŸŒz»é[¿nžÿí_. -o‡Á¼t˜SÉ¿ë=>øÆ4ßüß¾úçþ÷”àú7®ÂöÁ-`Sîø>Z¼í¼;b‰1hë…6¼rêYô«}ó;OÄÜþþî*1G ¿çá³}�«@f®==Ô²nÉæs#˜orÙ® ,7w.èÀÆpæI¦kÀOXÇ -÷ý˜Kô�Vãt÷%XÇ ¼díY‘{6�‡y/¬ƒŠ¹¸#›^¾óÕ�›¦åÈzîJÌu‡u‹(gÔâ­ã1�!æúh<øùÍX_€jÁb=Õ�?æÑî -¿ùš‡@æ¾3ïLžà¿3¥ÕmÄË +ŸùH -yr|]´cì!��ÁĘPû²“Q‡„Vîº0°xÓYõ-TCÚ×ÖAtÀšgwÜy×Xʳ±öÀ¥¨#ÐF™W©Ì¿{Ö/?åüÈêíbM,ÔçX‡5бâTÜ'«�, 6˜ƶå'{¶ž\°üd_xå) -c®ü•;¾ÞôÜÕà·ß‚yCÏ~v[pÿ¯o ïx›¥œw�|« -kvbí¾ØKŸ6ÎÿÁOz?ü~oË+5SnÈ�ïñ¸FwýD@]ùÁ—ó#?ÿCßÓCó¸,»ë„à’ ÷]Ìl= ÷ªËŸ:}„ÚÆÖ1·ÞX[¡^«T̸enECÛÒq¾¦®fƒïZs[=ØÒ`CF“T»¾1>srcþiÌ_йÿ­Ùq¾À‚±�ùÝã"½�>ôêµ(1oSàñĦW>‹4½ôe0²õ[7PîÂuO_xé_çDÞùª%ð½ÿ'|Çëÿ˜xàÛHï`}²å».ð/ÌŽ«­o¨Àº³ø^=Ö€kX°ü¤Y³*P.R�2°B+¶�N_uÖæ $R'b^LªW ü…9¡ê|‘ŠàüE'F2Àc‹×�ÊÀZZµûb¬G€¹‹¢�¼QEy™Á†ÍïGùª~krlëkU˜— kV…’é“0O]h×ÏÔÈÖW®Çü†Z}ÃUgÄ2œ�õº±¾F`ÏSBSƒ¶æ ¥ºÙ«Ÿ¼ó`F_ÿ]´ùÝ�öÛP`÷/\ÃX›À´Äº©˜35¸lÇø`džÓÛzÆa­ŒðâTcy ×e}xþÿ]½'Q-¡uû=Áî g6Ü ö È;Ìý_�tù’mça®÷ØÚ#WQ½™ûw]‚uŸ¨¦+â~ æJÇZ]>ÐXo+ØýàYÁ¥;Σkö^ÛøêDÊ'…ûœ;¿39r𣙱ç?­�îûdfè±ïqÈ—øÏÌQŸŸú©Ú÷ÏÓÐŒþjžÿà·„ïÝ tÚ1kÊ4îù�êáfbÎ ßÞ/ÕÀG®ˆ¬zúbÛìé3a=…*‚‹ÖŸî¿kÍ©wD;ÇúÛ{Oò§�KÆÍ® ƒÏSS!_#V¨URÅŒi˜—sþ˜úxê„À’íç|åêàâ­ç`žxÌ¥Ju„—l:7vï6¬ÝwÖ3¯›­À¼OTŸ óS�|ÅxÔy˜[(¼ÿãÌÅL²)sï�{5…òÿüð¯ñà;ÿõ?ýÇ)Xs,ØõЙ°6ÆÎßkî� -äÁÀ¡?Ô4îü±åä¬Y�·ÝVW�õ®h–<<ëNQ'¬ÉÜ‹ùŽïðÇ*|‘ùc1—7åˆN¯8#ܵôT¼gå”y~úý›ö¼Wyô»“‘¯ƒíÙq˜,ôäÏÕÐÞnÁ¼_ᕟO¶ÖSï+�ý¿¼ë04­Ù~qlݾ+°@ÓCoÜ€¹»ßWc/|Ò8üçYÁî�g6ÎO�HuÎ7½ÎMgbMÌÀÞßÝ:ü÷9á#�‹û¸OŠù ƒ\Nz?rú�—&àþLpÕ‹—5v>pz`ñŽsý][*ý —�TŠ�™vÓôЧÞR�gBóü Æ`-wÌÜ÷Å­˜Ç—h~m}C¨"�è‡5*bÛ$S ´ž-çRmZXçH‹Ø¡�jCOüL‰¬~â"Ì#ή;“ö;ïì®5gFÓËNƒï—Q¾¾×ÿVüö_ /ýOMpù£ã1'c]ô.ÐmZ�Ã`Ï–³1Ozè�7®EÙ€µ1/}¸½s\ËÊÇ/i^½×Ó¼ú‰KÑ ÌG9Þ2fNíÜŠÆð�c0#êMÌ·…¹¸1ßp q÷8Ê?ùÀ‘ Ñ'25¼ëƒ±.+æ¥ð˜ûìÁð¦ýWa.Mßž÷Äðë_øc‡?­�`.îæE'PM˜—;�üs(zè7·ƒ\�<ôÛéá—?«=ò�ë‹ï¯Äþ¡ìýgb­cüJ¯:msÜ{ßÿ¬s>£>ÁøìÏðøãÍá ¯O ýã�G®¢üv/~U×üÖ¯±o}Ñxô§^:ÇÈl;ÛßõÀèëÞ> Ö]¯ /ƒyÃ=���þ)�$ÖŒ¾k-[{›�òcmÌ_Ø´å-¦yýsׄ{:'ÚµùìèŠ]†ö|zKlÿÇ·…¶ÿLˆ-ô›” õ+æ»î¾ïL¬qÖkgùŸ»ìµ?ÖÇÞþmåT»oߥFí,´£±n�‡'„»0§èîo"¾M+÷^Ö´tû71jóÊ'/Å|°¨k©æè[Ì‹Oµð–m8'²ãgrì™Og¶<ýñíÑ]ÞJµ¼ïÞpfóòÇ/jÚü–k|µd±ÆÆÒS©6Œ«©WËÅzôȤð«ŸÕGßû(Ùü£Ò˜‹{ö´Û+æÕ´\Ü?œÙôü¯ïˆ>÷é\ÿ�ŸO¥\ÜèSîÿý-àCs˜sý‘X÷š3ýóÁ¶û—j/‚Ÿ}ƒ¹é›Ö¼u=æ >øæ5�ŽÍgøZ—ŒC¿ë—D×¾xEtÍKWP�Ë�/]‹¶æ,";â‘7¯C"oùÂ�c±.òì™Of4ïùbvlÓwn@û·1œsG >&ˆzk^a­ÐËÁío‘ßÉ>r.æ¸zŸ„u c{€^Ï|1'¶é]/æQÇ3$ÔcþHrl(~÷¸Xöþ³(çß›ö~:»eÿGó0ç.æyÆzGþC Ïÿ@ º÷î½sö|uS`ûÏØà†o_|øÇàS½11´ùÍIþç~wkÓ»¶·þð‡‹›¾÷ᆗÿ³&°í‡Þà#ïOݳ‡d,ÖœÃsºÐ}{/Å}=¬�€ùï°vGèàWÓ±îÉì·WÌšrµ! vè�cŒzsM]kÏ ¶§Ç¡^¤ºYwo9k¥àþ;Õ0H®8×],»æ¬ÈVЃ˜córSí,�_>ž=òiæà þÓí�ûÁŽÁÚY ï?Í׺øD¬-ÛN�ÐZ4óq7¥×�Ù”\s:Ö8¡œ²ó—œ¦œ¶kΠœÊ¾:‚ù¹±Ä’ gcn¬3ӼﳹXc…jwm8“êÞÿüÕ-‹·|ãÎÎUgbM•胯6rqG7=�ÿÈW³šßùÅ‚;?xoeøÛ_‘gnŸ^_¡Õizê¬ D¹¸7¿z-ÕÃF9ðì—³"/~QßòÜç¾ð�?Í�ަÚY ³©ÎЊ]aí¬Æ¦6ª�³ÕÎj|ñ¿jÐ?Äó­yµ~²•´ÚYë©VÕ¶É®ªÄÚTžòÒº ó?#ïµ³bO>=²ïËéÄǰÆBc�·°Ö<¶‰a­†{þÚÓѵû/Ç1…¬:5œXq2Ö—oÚýéôÈþ¯fb݃ÀlŸë µ�¡ú-X3|Ó × Œ¡<ˆ[_¼>¼ó{BtïÇ30¯nøàW³0ÇcpÏ·€Î£¼óþí9yç/6óÎúó̦·¾lm}ÿÇ«cÏÿ¶.´õÕI´oˆuÖ=y`ñösi_që[7ŸxOĽð†Dω˜ë8v9êõ¦ƒ¿­Ã9Çx+´9©^1ÖÁÅšˆ±ö±¾XÙz”›{áÝ'a]$ªWƒõ Û²'E;€o–><sŸGŸÿr.ÕÎZ´5jg=„µ³À¾ëZS»ïÉK0glÓrÐ{zí¬Pjýé `Ï�ÞX·� 5Á³ZæŸn퇹–CÍÀ›w!¿n9—êã�£=‘솳üÉ»NÄúL˜Ó›ò^?ñ#‘rqc�-ÐÓø_KzãÙX¯®eŶ‹b™ÙùS%Œ¹¸7¹ë_Åžÿ¤md<Ë -®›©sÝ鑤–‹›êíþh -å™ÅšÏ˜çÇýðëU˜³ãѨ~oÇ=§jûÀ˨ÆGó¢Õg`í¨XzÅéZí¬—†^øíÜ /ÁÚYÍõuXÏdÉÉX§ Ïݰ^ê¡XÇÒÓôÚY`í,ÊWjÔÎJ¬8¥ùÞ}—E·ýPh^ûâ51Ðg”‡ÿ®ûN£º]Ëw_D5—o�u,›Ö9‘ê°v¯;‹j±/YNlõS—6-Ù¦ÕkÃ5ÿà›×~1ëáþ¢ì¬-ƒuÎëæ4VÔθ�jgù±1�A³vÖ¸G„:±n^sż  _ÚÇ¢~jJ,;¥iÁòS›’½§F='GÚ—�‚2kqS}êU;/Š­yêR”Ÿ¡ô²SQßS½  møÉËXã‡òÓ÷l>íÖØú ®‹=ö®}䵪èC¯^G5ÛÖï¾<øÜÇ31ö÷J1wxñÃç¡O¬oÞóñ4´Iq0š\}Z,µêtŒ¡ÚXë^�û-TûwÕÁKƒ=žåoMŸHµœ@g’Ž4jgíû¸:rð“Ûp/Ũ�…ú6ÚóèyÈÏ‘å[Æc½2¬�…õ’Ñ7³jg­Õjg5ƒ¿gêDÔ/Í‹þF¤mñI¸v1‡¬{ë¹h¡ÌmZûÔeTÏìžÇ.l¾÷Ñ A^€º#Òºìdª½í[–¶Ç|ëööèÇÇÖï»snSÍ>´5û‰Ú´÷'5-_º.ºbëù˜÷ë=S-Ø^»&øÜßfFÿ¥óÈbíX¬�GíAwâ@p×÷…èƒÏ]£Õ]Ïœˆµ±þîâ™×\¤¢.’;×­¨·�Aß÷³çùbX; 2#´í§,Ú’‘ôÆÊ;êãskƒµó*‚Í NhZþÐùÍ랹렣_NµMQïl|u"îP-Ø�¯LÀöS€>«ÿå¿Ìïø1�õæ±vÖ<Œ• ·ŒÅÚY�ÁpEkg�£|¢ÚY³áyðÖ~oêyè¼Øâµg·¤zO¿3y%ÖhŒ´u�jK�‹v‚þÄÚ] “#›]�5±†í�c]³§?º9üô7a}×èÒ�ç7¯>àÁ‘ý¿š�v>žs M…¹¹©>áƒ{® îÿhꪑ°ìŽ5Ï\^ -8b]Žƒ¿{ëÃêæ•�]Ò´hõéwöî¼°eøõ›Ol:üëÆæ—>�FŸÿC}s'ïþ�Lµ³¨~ûK×øwÿÕÎ -íúç)T;kå.¬�uÂ\‹±ôØðêç.Å\ÝT›úÁ¨vVÖOÆÚYkµÚYMöÚYi£vÖⓃ-Éü!ð-c`·£Í‹µãW?s)æ÷Æúh“`-°¦%a}î¼k+P{ð;"  ý�w�à´�ÁºTh3PÝl¿å­ëé?¬©v‰–çøù«c@ËhÇêÓ©>Y²çd¬ù]ñÔ…�Çÿ‰½øos÷}1ëúï\pÆ—à?ôÕÈOèè9%o=¡vv´¢!>yâÞ“ñžyõþ -_óü±‘{¶ŽÇ}DÔ?è¿a¿¸‡�u§ým`ÿÜûä…á­ßºëU`mî93+æÌn¬@{;”\òxû…±Í/LÄZ¾dW‚ÞŽ ªuß|ßOdÓ�«ðü"ˆ¾ËkŸû‘¦¡ <¡EËOõ…c[ÚÆ¢î$ûsú/Û:~ÎÌPÅ óÇ„Zï9©©cã™èß6-ô¬y‚29üÈë×Ç~6—ò ãYÅÂ{OA™Îl<u¡¿)}B½oþ˜zŒù݃¶걦•{.# z�êìâž'ømŸ†û¥Zý’ÃW}sëËèsw¾Ã`‚¦e�_@õÁVí¾õNˆÝ$b[¾=9 -¾*ÖÀÁýM­¦ðÖsµ:T CÑNÝþ®€µßРš(Xƒl ”hkbÜ ÖFþÂw,°f0ÒkÔ¡zì-&òøû*ÚŠx®‚µã±. -Öù m{2ñ&Ö–YAºèšÈÓ¿ºù3|ðßnÃóºØÁOçÄÿ&ù‰uéêæbýÄö±TzݾË#ÝÏÂ3}œ“`úÞÓð\*¸ãlà©$¬�Õôâï‚�Ï~u+ÖÎ -=òÊ$|ç#¼þ…+ë\‚¹¬ƒ´çüÃIT; k…à~ÖCÀŸN€/Öκ_«�yü»bh×OÔ´ß -:¿iÕ®KÉÖ¹�5[Ð>ù=!² ðÞ¸ÿŠÈúWP­ùõ‡'Äv¾+†Ÿ|O¡º¶xæ’ÝpNó*ð°†ß¦#Ã{?œÙÿ›�ýÞxúzø­ë±žÖùÀzO±Ío{›–=ua°½c\äáW®Ç=�ØËŸÐ.¢½�C¿¿Õÿô?ITß |,ò56û†Èî_Üyâý)h'Õ5Ä+Í‹O Ç—ž„{>±»ï;ë ÆõžÖ´dóøð¾®i9ðëzª%s϶óÑ€?tG=øë�ÀÛÁ¦ -¬a„ûÆX�÷5È£:§+NkZ¹ë¬Ý…>_dõÞK±æFdýóWâ;&´Ï´öÈU!äWÜ¿L¯<-r÷ê3У0ÀKÑ-¯]�çTã½ó¾ÊPÛR²÷Ñ‹nxãÚГ¿˜‚{"Ñõ¯Äšß¨¿C ã°¶ÒýQ’‹kŸ¼kVÓ{.Ûß©^в-Tµ©÷¡oP f˜´C#ÛAoƒ�†ö>Õ±A»hý~OhO¾ÖÃ]xŸê5Ý+Ã�¼yîiÄÞø<ÖôÆGÍ¡¿©·tžØØ©Àó+ªQ³zÇETã 뼡Öqÿ´Ÿ`«�Úù#žü¶ûv]Ùö6‹öxãž�UôßÛ—�Ô6~héîó±VZt£^‹ü>XÇ—‡�ÚYëö^�µ�¸¦žú!ÕX�ÝÿÜUZ¿.C~ _ëPoyáÚð¶7«B»~,�©á�?"›…ö¬¶™„}Pm¸ À÷ð<´H¶aÝ)X£¡­àËøø–諯þiŽï‡S0ÆÏÜc½í¥¸ÉÞÕgE^ýÄûçwµçÝ®Ö×~ÖÞüüGwýºü¡i8f”E±•{.…¹€öœ€±ná«N‰nxõò™wýxJtÙŽó}Íw� ‚MM5¬ï;äÁº[!àäñÆPrlcc ؆¾ -_CsE°}ÙÉh#^Á'ÿ—ˆûàOžìó7�¡Zžð¬è¯ÂúV¿D5‰¶¼ë <ñKkŽ`M9zÏ|YÜ‹ --H�ÃZ[HÏèÃß�Úú­ëq/ut(¹òTÓÝ'bešJ5{p�êN¿Å„öüò¦ðÓ¿¼9öÀ ×RMs¬y 6Ù¬[^›„ñ…(¢kž¼k`…ÿxî÷5þ]?ñ|Ï›é]ÇÔºÓI'=ôÊu(çÑ–Šö®;‡ì”{¿¨éþ=:ùØõcÑÿø;“‘>Xgýy_´c,Ö¯ š* WHæm؃1,×RÝ ÄìGÒ°îC[_™ûü퉆0È'°Cƒ VœŒãÆØ³Ðó_Þ†5¸oý̯o =ö�kõWhó¡«Bû~W�±ž±W>†¶ÿD Y½âÑóÑfÅ~IÆÀ\bì%Ö{¸Ò{¸w…~ÿžŸOC™JgÓñÄ è÷¢ŽÅþƒ‰ô8ŒÉÀ½p¬Sº³{œ¯¡E«‰¸ü‰ °¦ -â„gcÁö»Nœ{ûl°i£‘nà ž�£,§Z<{>˜‚µ‹° ù{è«ߢ „5 {sà™�§¢Ì‹>¶ÖUB]ûÈU�_L‹½ð±ëÄàY=ÕúZ¼é\Š=Á½FŒÚôÊÄð°k±¾1^£|ºË>¾©qÏ/•Àc?æèLg)èäXcZ}ãÝÓ9 îG`ìðŠÇ/ÔläÝ—a�ÏÏÈvŠl<|µ¿µw\cS÷ èK`Ý*´9°&\hù£ gûfìÏÆ[mzaBì¾Ç.¦³²Ç¾Ã†ö~psø±÷d<§¶Þ{R]ø®1þ… ËÖ=ëñïþ™ŒýÓyͽÀ«÷\Œk,¼þ�'ðè+ý{1Å¿ë}ÉÿäO|5”Zq*ÖÇ uôž}àÙ TcHî{áÊÈ] C;î;=ÖûÄ7±Vakiƒ=Þò,ÈÐW¯GžŸë <{Cù‚õ¦¢]ËNuo<3ºdËy‘µAFí¹„öùÀg"Ú!�°¾tÝœ†Š;|þ -´£Ñ7AéŽvž·†�gÃ�ËN%ÞÆÓ@³èÚ½—a,O¤sÅi1Ôç;ßÑ^ÁzZèbÌVlý¡«0v׎ϋ£KŸ<}g”ßhGRÝôžÍçRÌÖ‚_úÈxÐcãIÏc½W�)áe;ÏÇšÎTOãWÝ1´}°Î-îÑÞ³é<ªÕD2ø»,ÕyÅ=°Cq�‡}[“GXûdÕ¹ÂZ±¸Ïk,ºh·ø ü´‹�Áâƒ;Àâ<¢MÜý)ò0ôxR=1¬Šõ‡qŸ÷É—n<‡ÎJÁ&ÂúlÑg;ߣ .{ci7Ý|ñ¬EGõÊðœnùæñè'aí:\ÛD”�|ûzŠÞüòÕïŠu±!Æ âú"h‹òªiõžËH/my£Šj‚Îá÷]I|ºéù«�¼{}`ËÛ“BKwŽG{Žpø—§9×ÕØZÐ5ë„7ù—›¿õ§yá#š>ü‡9�‡_¹6¸`ÉIø~Ú0w°Nè�I´±ö`zã™4nZ×ß™ü÷ã~Ü�ûq?îÇý¸÷ã~Ü�ûq?îÇý¸÷ã~Ü�ûq?îÇý¸÷ã~Ü�ûq?îÇý¸÷ã~Ü�ûq?îÇý¸Ÿ!þL˜0£³mz<¯ ÝV9aÚl±®âÝÙD¦r^å„–ÉÓ2ÙéÉÖl2ÝÏôz¦ˆñr‚grC"žòLÔîôÀMžºLrA²€¾Öx*1És¶Í­õÏžî™â™XïMdZ˜±e’gªgâ´Ù,ÓÍàWíÖ©ð_e•Âò²—EÁ£°’àåDŽõt XP½¼Ì‰6p -ÁÚ‚µt°ÕI?`«“…•ÁÊÎÊ;*UÏÄIžP°ÒoûôP�Õ™žî…õñ, Úi©e^º³>“ìÌ&;TUiàê�ÀþCå¼.üp¥Ÿ|�Y3“)¤ídó+ÐÉ4/Ý–À¯9Äî÷ àÒŽT'üTÃÊ$ç÷dÝHH˜¯L<ïŽÖ…ÉT[&щ¿sžÉ³;³ÖoøO¶·‹æk"Ë0&y&û;“­öA¿� ro]Oõh÷.L$,ÌýîÎxÝ c1n¿¡”qZ’lË.tŒ’~÷°c4mvË´T×Âx ë¯dÜ96xϰ£’žW¢5[�îélƒ±U§—:Ũ�–Üšív<_9m†Uç\Øë£Þ’Æc€É´á±Ôø{ôá–Š˜Ìödæ÷¤�­ §¤Ðš:¤†ñœaƪ3íË&³­È? §nº»1™J8_‚9m†Cœ7§ØeÝ=)çê͸}ø—£—�â4?Þ�˜™IÜݬë\Èäµv 9§èuötÔµfã‹‹àG{'¨Ÿñ³GߊצÉ�ʼn5î£ÌÁ0ON²Óé줻™x6�q<7Vƒag9_º'Óš˜•‰w-L¶:6² …ÝÖê,qé—ì`Õå Ã�àâ©Iwt¥»“Ù"ÖÎPŒƒLK§C˜<=Ñî™êº€¥ˆS™¹€‚ëº.`éâ1j]ÀöLìÆÔ¼t²Ûu]'pÄ�@Ç[�åé:Vs®èú€®èú€®x,þ’0 -}À"p*°:±8‘ò-Œ·¥—Œ‚ÃÀ*n´8HÅ`2j]$Ç6[w¶mzbq2Ž*‰°7öžŸê@Ô—Ÿ¡Y<´¯4döÎY³â=ÝÝÉxgõ€ÓVŠvº½½;‘xìåÇrÅ,£R·­Ë»6çÊ«­¤�í6纫͡ò’Õ_Gë§üÖ} -meŒ.lM§Ò™)KèâØ•joÊùn£~÷ð[åŽÑéJ´ö¤â™štgw6Þé\´6�ã§b±œ±´+Ý™–VÃaLJP×3À�] 5’Êq PwO¦=ޚй�ò`N£ròTªX>£Æõ,—eŽqY6¸ˆE rÜýè!1EêÓÉÎlm1[fC³W™ðé£V·1ÊÏ:�Ç£T�‰V©kÒAm•Œâã”R‘ ñL2»°#‘u~bWN²!•ÌÖÇ“¹å'FåQ«cÃeÑû-6DðÖÒõÑ9p‹¸rÐAE ì’e±æÐ>3lI³ï~”¨Ðòñ£‹?§(—󣹉̂R²üL¢b�†Q<%C77ðÈ <ê'vÕ¤Ó©êL"±ÌñyTÉF}�Þ?©*by•ø.·è‘Q_å|ç©Í¹F‰Ø–LÅ�l—Ó†�ã)*¯�š¡ nýìuœ` oKö8öÆí#g"§3] Ó©ôǼtÜç¯)¸Òm„¤Û¨{�Εi®LÒSÜ;%,ÔœcR.k¿ˆ×âJ{íW ]ò-ùr ß­9æ;V.¥.ÆF¶çsU.‚šqnÛ”g®ƒ"¬„WEŽã�ݬ ï�o Ö,Œwv&R¾D*ÑZŒkZØpø�*owɆÃ/0Š(}ì“rÑV£G˜aõ•|à”c6ë.î 篾 ‰:šžìîJÅ[‰ÎìÜxWù餎8tåø¶,|¥â4–²lvŒIÙÈfçz³Äe3ã1þç)øÊæ|uŠ1}sn�·�`Àe*�™ë@|”¢Ø›ïØQ*u!áü}îrÌùâxšÊF:×NÇ?*´TV_{QqlíÉTª˜p¯ÔLk&Af S”âmmÉlr±s[Êj0üïp8–6üŒÇÏ#œ"™ÛªtEi{&Ýáœ#éæxs­3wüV¸Q­sÓÎ#»m †�s#ÉvÜæ<õ”vï‡t:­­==‡¶ØW”­IéîEgÓÎ}Êô O-‰÷:f:0-²ñLQ¦ˆvÿðû0Žqš�•�çhw��gïLv±F†è•òN×:jÂfœcR6ÄhÙB©Rܰ™ÒXî£5l¦Õ ›)›°çsU.‚zô׉,ÂL(q]äZlôf•Éá�o×~ Òó¸òÍ‘|“\ùæÊ·2‘oŽyÕ•o®|›‘À×Û|K \éV&Ò͵Þ\éV¤tûZo®t+'éæÚn®ts,ÝìÇF-Å…lŒ2!çùãr‚[V§„î"*bÉ_çEäyw¹‹(wÕ'—&Rõ©xoKq¯‹–b4Ðר&•ÈxDÇÁuÚPŠˆ¯³µ('9˜It¤JÈR^9i’�m‰ödç€%Qí±`]‰xvzY3l-†¿QœsÇáª+÷„;Ý]˜¥Æ)Žå”£†už[ÃMR3’IjÜÜ.ƒÌí2Ü ÊÃNå+¿Œþ› -ßáïTøÁ3:ß(:‘M©˜Ró‹)G^âo ¯{\ÂU.ï G½Ì²ÚÅ(©0•Ëó<ª5Ýѕg€ÅQ~K©(9^âGlƒ<7,úíð 5–Ÿ\ˆg’Ù…‰¬ói)Wù0êRÑ Fø•º p¼3ºh€ãG"xké¾ßºÈ¹�[40eÑ•zZçl6À<Úg‡-i6 †ÏŽ?JTiù JO•‹ãä¾…8ÊÏŸ‹ËóYŠûLîùóÑÐsÏŸ Éâž?»çÏîùó1¡9zk¤¸çÏîù³{þ|¼�<�昩E0î™sé�U¸gÎî™óˆïP–ÇÖIyŸ9yââ+*…rN›aç¹¶d{{�ór-¥.óŠD§\$Ãh:BïM¤Ré%N±I%,ÌÂïU­˜îÖ1fùÍJ÷œ»w¼�Щ 2‰DçT°®SAÇ%¤§.N¦S‰ìÔL¢mj:ïèœÝÝ î7ŽwL)¸(jKËÖbø%¼â±ø²dGOv€žv�hÜ?b»?Ó“ä£Ô¢-2±3Ó5·©V7‹Êo8/1ÙÝ•h=˜)Úµ,l8O±XÎXÚvÅ °´;–ÆÜ—>JzÇ -Œ�Q¿]ån減9îfŽ»™ãn減9îfŽ»™SN›9úÖ�¶™£ïìÐžŽ»™SÚ¾ljà �ò =pw¦Ü�©cŠOß (ß­©Ñ™šcoÒ µRß«ž·¼GHZ¹é9JTF¤’Ùúxr Íçò£²LƨIÍá‘OÍQlrɧåpžÍ¢ÄÓr8g±¯aZW…� -uÙ­Šµ \õYrBºÄÕç Ü¸RW¡nf«¯ƒ --Ÿ@€¢õS¹¼šéfµ•Y­| ãmé%nI%ÿ±¤´*ñä8u™û²i¸îËþNm„á–7íí݉,Ž=“h+j~Ê…õFSl®ãâ­mŽkÓ­%ŒÈ -ÐŽÈÒ”u´Ž¾V>ÂàEG¹ˆöA8 ¥29Ãs–U>óâ:q%îı<3Á)Ÿ.LÁdÞ>ü›a‚sœ–$ÛŠˆ%ÓïvŒ,WÛÍ]FÙ£«XÑ1#:·GÂp,禣C˱Td¥än”—ên¤KÓLv·?ÊiûC-ÛÎq·?JU »Û%,×Ýíwû£¬¶?Ð±ÎÆ‹ˆvtÝê²>ÁnÏÄ[³ñÔ¼tÒy$¸ÖØ!eŒ' 3^­Åí 9”¶#ÁÇ�i_6™m`OÎîkãÝ�ÉT¯Rç´)á¹*g‡ñ:Îì3?Þ�˜™IÜÝ“èluî-äµþ)º€¼’ÍìÖÙÓQ²rqëÊÞ¤œ´‚›ÉÍ¿”‹Ûæ_*BB–{ú¥"ôF{&Ýá|ÑÑÍ#ðÎhÍ&å&“r¾¦F2™ãu\�+›vîÓ¤G•aË‹5"»IEgS’�¤ÆžÌüžè™2Üj�y`ŠðãKÜÑps¤¸Û°Ex¥£0 -­œÊ& -ÍÒ-¼Hên™§�¶e>܆¡cV,í84çxŒÚ(´¬C£­¼0Fÿ¶?ÎÛèÛøgFùοã�¡aØ.w}À¯…XŒ p½@× t½À�Åõ‡È t¬þ]/Ðõ]/ð¸‘`´²¹~`yú�Ž3K”§è=× tÝ@× tÝ@× ¼Ë$ŽB7°œÊÆ ¦Óm 2qçâ×õGÞ¬bG‹X &£Ö,ê=óõDZ‘íæ×( ·oT¿î;2lŒÉàæ )'oÏM—z4DFE¾�áÞíN�«¡¤Ÿ2?o]4Õ£�Ò]ñÖd¶wJ�ÝÙÞ”ómpýîáG\G‹ø. -™AKìZS3‘ËoIuS>ÉšÑÄf£sxôÛ>Åɺ7~Ž%?Õ(Þñ.±Wdå?_k¼c!§Í°s^±NK\š‰N¹»Ñäè-YXD‚‰½ÀïUĽ ±üfÃtãØ Ô¶&ÝÙ��TŠÓîæ·vñu÷dÚã­‰â¤bn£rÚ\'Þ5™µ$Ç©)¸(jsÝÖbø(ï˜ãË’=E®š÷�˜©5=IB¡¶˜cî!Ê0]“Sµº@ŶŸQë¶hQ^Øp΋ÅrÆÒ®tgbXZ ‡ËAT#v D×@t­§á¶ž\ãÉ5ž\ã©=áÓVùZO£sw}ƒ@­Ôí 7޼4eC<“Ì.ìH‘G¿œdD*™­�'r�ÊO@ OøÞp¿Šæ‘EDŒØÁ[Kçn7ˆ{.U¼À.Õ}¤EÜiŸ¶¤Yl€dovDxW…º*ôë¢B‹ÅËÕž%'£K\{Ê‹+u êœÍJ\ƒ:g³¯¡-Ÿ­j·¨d [FC®cËgJ†nåÇn$Ý@(» HNsÍ”Ÿ;0êÓáj¾´]ž’ªˆ7$¾œs;uÄ¡+Çé8ÊA¾Ï‚¦Ý‡€”Ÿð+^¬—¼hð0úÿúúfBœ¢KßœËãöôSéÌ\ °ǨN&2šßc„Ty§©õ/¢ËÐpgÉrì‘”z6Ž*7G‰H‚Ñ -ˆ[ß(Ga‚æ¢�ŽRkƒWFn@àpxNÎ+{—£ýmŽß-Y19èZàÃ53¡öDff23êv�†^C•Ïqt6>ß9ÊaÏ“ó8Þd'ÜÅí”å´¹D`=�­ å'TF³yeãùz°Û,—ÝFžÝد‹p«á@ò‡0á@c&ÞÙÝî¼ÚEépÿèÝ9ѶíG£e:«»Ô·Oùê—»s2ä3CÑxÓR©!_Eåã N¼”Ë–D™†�ÅSÂj´Ù,Ó2£³Í,e… !-óÒ�õÐe‡©ÒÀÕ‰ÉNû•óº¨AûÉ×Û1?�ªœ8­­Í33¾8�A!RÉx¦Á¡%ø%QÙcý©«d¼’*³ªª -Œ¤°‚¨x/+(‚Ìp -'Š‚ÄIZœˆ—•Yx–—9QP ÉŒ¨(/rªÀ endstream endobj 46 0 obj <>stream -²ØPQ$NDFU^å8O(^iEœ„záâvør€–xXÆ3×mbÓ¼G„ùS8 +@S�TÎŽ:«Â7$¶Aø«H²l‘§Cä9‹Î5•&ȘŽZ *Í�(±"GÍxQ"#( -8œƒD£~TFÁgyyF”¨Õ |*ÙA<2]ãä*²êáY//«€» D‘$ÆxxŽãpˆ&F­*¼ õ쬑Œ@HŽª6 À¬ˆ“·ò<Ìи“U% <̲�(É g& @k%Œ‹‘xÑñ@ VÆ'É8«¢ÇÆ0ÁËc0A1îBüTV™Õ�Å„ÖÃ�y‰À¶»`,+[ƒF¶b€«lˆáZáYN´°¯BšIœh¨Šç¬5F¤ 3ˆ ëZJ@ÖË1£u Á\!mXic¢kŒ&nEÙÃ)^@‚W` N‚—`A¢è�eÎð LàÀðø\/, -Þ�õ‚Ä€ºÃåÏa·À3¼} †ª©l¯ôW’ðj«”<'yBÁÊ -}‰*€RXAË>ÄB'°´‘ FdaËÁ-;ElbkBK¡àšÐR´èšÐ2(áÍ#¾&´ô!À4`Ñ"Œšå 1б -ƒdЬP”Q_Å 3 ×`ÄÙ„–A -4`šA‰4�½!Ô´5±-ûl„hƒù/V¸Mh)o0]nBË`DÜ„–N0{'NëLwzTN"g7¡UåUàIV†ù�•D&�fÖ�…G] �{$EEYh@`‚U�'YRÖÛÈhWK¶(°ß—¼J"ÄhW! -Êd)è#(„X­hJq² - Öãóq«í[!’À‚Ù0†9+$ƒ´‚Y@ -вպ/˜…¾5ž¾`ö¶…d±`öÁ’ÆÆHD?@À÷Ìæ¸ØÐPw±ÀiáëÁSMd:1k&Û¨ûY$‰`‘©VˆâSa¹Ò�8�“‰ñ&7$â)-¸äô¦úRI-ã$øG³2ɶ9‰^­_±ðÑ à5ug3‰a ú¯N§S¹ƒìÄ�ìY=É6Í­žÐÞ[K¥jp�éÈi.XNYuO6›îlI//±oŸìº àt}Ýõã8 ¹~ãYP ’„aXÔ½¸úú‚�ù ħý^¥iŽQPWá…¬nÍXã<ô#ö¦5B‹@EÉ ôgÑ4£¿µÆ3é;Þ Ú¾íEõ¶6=¡¶Òx¬*ÈývŽmähl1€<ÏBÃü³/‚–a-‰¨äãvø¦ „ÑÑÔ¿à�2ŽFÌp(Ý© •u‹˜²Ú€è þ*r²Çl -�G£›þˆ*êÚ&£¹!4¼2:ÁGh=×hÔVVÏÇÕàïD—¿Í³ oK&€ùøI4©U*N0k{'ƒõT/¨DÃDÿ€Ä•I3q&ŒÑŠª’ë.°êTëÆ5Xœ -ÖB8ó¼u£xV±Úq²â uØDz'°š…jöÅ2H’âÇr…c­kNuë°"W}œ‘ã�§´°.˜…’Õ°Cî­®®¼Î_‰›#°ÌÕkãž;Oé_ªúüfgÈV5جJç³./XÚ⨱VIá_cI¥*m+ÍZ~úÂ1Ö��ãí+Á†dk¼Ï9å}E•U”SÀ6ºË²ÌÛç & O‘æK°±‡„ì!ÛØCÈã}†ßHó¬¹ç±§âÇ"{p¬u›ˆÜØ:¬ØUgìx‹ùY|œ$Û˜Ÿ·1ÿàU¾à‘€ ÀËíΉv¯É$Ú’YOM<Óæ@»—ʶ+‡~(‡{­ú7Möp*m®YdV"£r"øáÐê֪•AhÍÂRv¶je2‘«$ÍAf’�?2M8t&‹¼$€¬y¡H42N@ÓHŠ É2Xiú;Àà݇sì•­Ke�L‘<¸ŒÀ" 6–5Û@2þh\žJ%jm¨48ü‹¾¢hþ‘ú7•E§æ# SqéY•W$Ú@²ß•cÞ1’ÌHae•¨Í¤óÌc†ƒÿñäÍ‹æ=¬„Æ�ãGØ:ÓT¶Ñ,ª\aHð©>¾øHªe¨dƒp¶vªÍ( ¹î0§ÿ -ÚÜ '«·tœHÆ + HCÎÜð²Û è"§·(ªpËYýr�%Œ¿lÿÌ ©7Gå^TY4g•<ˆ»ÛvxjàÿñäîÉèâ)¶_Ø|fÀé‘p¸ö›x¡ˆ'Øúáiª}ø\7 >ÕÇÅâI€§É¬P8/À$sp 0ÚÌ븣Ï?,q˜XÀF!�|0A¹ì *¼„§A¶MF`v0O“Q6¨|àx³ÃÑq«>¾¸ÙXCVòXäFkˆkˆkèBAÿs=A¬Á;cprñ`)ç2† j°X[ç AÅÁð©>¾øˆŽ¯)VS¬¦1xãOÉ(Ûm+޾ônQÂÕv›¨äÙÇ_q €ÛÀ6EQ¸‰Ž¯)VS¬G -úŸQ¹G(޾´.šÞƒyš"æZC 8Àm`‹¢(ÜD§ŠƒÑô§©NÓŒù§4t?�ν,¢ëgÛö/NÆò9�ÃÓl=�Ñ>ÕÇΩÎ`Hep¤8ÒŒþoɨ ûÜ ¨.úж Q™A=�ÜN»õpüÕŸ hI‡çT]0¤-8Ò œG“Ú¿%¢)ltXSô¥f‹’¦¹®fŽ 1šbÜ6!ŠÂ�sª)È“è¨Ô ÑüC�aÚŸ‘׌SïB²¡-ŠÎ-®Üõ™+`gVè�¾E ѱoP]Oh®…HZA$ Áëÿ–Œž`rfb=ч†-N–0‚­§ã¯'Àm@ë¡(Üì\qt=¡y¢G;ªÒ$�öo‰è ;p@=ч~EQê|»&Ç‚ÏC 'Àm@Û¡(ÜrŽ2Žª'üæ™snLãU9ŽÞ‘çXF4¢¤1œ%3FC‹šfé�7Á<±!æÙ«äBÿ´éÑals›¬ñ‡3ŽøYÏ´.Œ`Õâá±þŽ�lœÚÚ�kõCÜ~ØYv| -kyuZ@¾ .çP]–xNà4²ç‰IÎß?……�oA°ÖYé¬RÄ#ì�yŽa¬žT9�k�ÕÇÛF©Ài+çqÇ!‹=V–þïË7Ð#“îjK/9j µ‘ÅàŠ)"èš5‚®Ibˆ¶/ÒËD�ZRH /6�B/×f)Êô&‘ 7×ï05•š\ÃSWÕìÈŒÂ4aº•,Z}[ÉêË€YÃ<ÈìÊxœªßcŽÉÐ[xôÕìÆ@΀Ø½æ“ ã´úäàœõ=“祳 ‰Öt¦ D•ÆIt2$^a½Oá.¼ÊH,\3mö,]¸5¶§3F†xb5`ŶôüDË´Ùj —íM%Z¬GkwMD£O†5-M²Þ ¯®žÖÚÚÓÑ�ΚYuÖű…ÚP¾rÅG8࢖L…3ÝâÅd;œmFÄxcfTýÙ+Ñ&À"³ ²±¦Æ4åZÇðEç0““Ÿ$‹¡�ް§ñ¡ O·j´ÇŽ•üeQS©¬b atj`)™¬dâ”Oga%Gáš3NW7sM#˜×æ3뷜ݯ¦èZ#rœZ;FÒŠ4IŽº�^aTÁ R9IäÙ܈t˜†ÍUG{šÀ{%øX•X5÷q¬r2ŒÈU_ä}¶óžFˆ°v+Þ•'ýÈ“ëú±\Ú ÞáÈ—O•BÌY¦˜Ëƒ¢Ò®Ù-ñÙ'¬PçKë‰>€”·)û£€LR eò¥mŸ8_J[ÊÁ€Êù|“ÀÉÛ$ -q0µ-7r䣰|®èC[á|OÖ’<¾N�HŠ+(Åùܧi"|Q«>¾¨)Rß�#!žófÉ×KP ð¢”]PÙö#ð…]…%ê)<#ap:¾ÃZ]”…‘8Ü�€EVäXAxŽ¡ pðyYVV€>"&`¼œù_á«$´maHV—*•¼!ÚXSÐ0èEÒ}©>šÔögéO4yÇ!�á•#¯\ÈšÈøÐÿ”ëKH3“©Ž£»¼}8ÀGñ{ó_<@Ç—å1o� m9z›ò9_L×Aµ¿P"‹Z³a «a;9ã˜}�Qr]À¤· *�¥Ö¬WÁì'…£Y¿€ ¯0¡ÏÆ)^YlO…^ÆÀ_åÀaeñESJd!yenáDIbU•^0†G‹¢"ó¬*Sì6E¸� ”@¬âû” õ¼ôî#‹ŒBzB@œdYPa�²<å¾½¸íª�ãU-§‰“Gq˜®³¤ÀÂV0Þƒã//J*Ë�9¬Ùú˜$ÂAf%Ê&3'‹’�²Z^`©ø–‹ãÆ#C0xÄ#É,mÎÊ^:€»$zãÉYžQ8Q–U·ë�=KÂ4!2+pœ*ˆz X -�e‰ÜŠãFEV]+¡|”yž5ÎÇUìGB1ŠTœi¾çk‰Þþ é¹ñîEôÍ\íµÉÎE‰¶¼í¯éÉn\øùàšT²« LxvçâD&kܺ‰~ƒµ<¡¥þ£4q SŒ  ñnÊ-×Í3‹´gbq’²hözBó5—@%¡šð5<c'B û¿AÚ}ÚÿÛš<´�Ù@c™ÏƧ€háäÊÐìÓ*ŽùóþÑïçÿàïýÿü� Ïïý ÜýÝý½¢øóè¿´¾Žíƒbl -(În3ÄÀL¡5¯oùj³¡TÏÌžeËz=(qm¦Ó„ͦÕº^3å2Y˶«>¯•&·8”™C9™€üù†T^ž ›˜Ö¿^×ChLë"Pý»A6æ½*°²l@›Qe5ïhoÞN]ØZ6 e[iy…rí- fY\ZÀæB¬ŠµºÀj.» ¬ÿá´¼0ƒ×0Ú^˜”mø¬¯ãHK'öׄ–™´LhS€¶0û³¾Œ¼Ç`ôL›í™Ö“M{4‰’\–°|Ë¿n~w"³8ÑÖN]‹v“ݳr¥©¹¹Ò -�3ÛnÂ Š -S!q"î+z�Œ®7²)îŽ÷Á˜ëlžüR�¢²î²¸G€ -á ̱Eoƒ1¸ á¯ÂhBJøÂj¿€Í=cxÁ‚Õ wì 9/p�bëÛ h]é0ÎË?è]™0^¦³M£sø" -²Ö—6‚}±æs¤mjèX MŒÍÎmBM´Ò¼Uýü¸JÆÔ’`5éÈ…iã6'+Ú.{JJh4ˆAUR”œQㆬ¤ØÑU½¬vbvn‡£¶`æ¨s`ú<ê�›eÁ6ÅÆHm3l¢c6´PÖû¶Œ. eÉàwAbs(h‡iH‚tYÄÛ! HäŠ^QQí䪭¤Ü¥°Ll-E¯*3öy· š ‹~6¡hvlRÁ|¼�|æ0mô3‘1[Zë�Ûý -(EôCVÇü“vúÙa:k{A— -v*à†®"ä®\n „sèÇa>[ÙÆª‘i[ÕêÝ1(hÁ,Úa„¦Ù¹I sv)c Õ.e „,)c"mHÀ”2ùÔBr6âè$´ƒG�2¬"ÚÈÀš9qMú�ˆý—+xÌ}šCS̼ÁñŠm ç@túÙ`&ýr`ˆ¢Õ¹AkýÌ‘Zä3±1@¾ZÏök�vTBÒ�ÊW¥\ÒÙA„ž=ˆvJ�eÆ -RŽô@[bÈŸ�r< Âð6Â�"¨‚M*Ø:Ù,�I5;Q3û5p7Ÿm‘Ì¡E2 dá©õk¿ÖIV@$™�sT†D˜)6QI¸+Ð%+)v’É^Ž—y;ÅÀlâd»*”¼ -›¢Õ¯ SÌ™³ƒ3³_uãÑÁÌñY3q0@–Z·ök�`´!mËjIrm³ƒ1–µT·¶BÉ $ÌV&æF¿6€A²|êäØn6’ 5ÃØ1‘7,"Í ÃÉF3ú2›éæ—Ù¯~m£˜±fA4¼ŒNMÌ�Ûèe ÏF0³™‰·Ñ± `,Ÿ69Æš}Yê kùèzÖZ`ºùc#˜a%Ùf˜Rf3ÃØ2;66’™ ‹f6�†›Ñ±‰½ñpûºÔ‡h_˜:ÖÂ4p7¦0f}ìÖ™E3Τ�†™aͨ�E0Ó,²fÚNÈ´®ŒnM€E0 dÌ"¼ÌŽ Ì͇[3FhÑËÀÁ€pù¨WÛµN¬|ºØÍ1‹VÄ@Ê0c ¬ KÇ¢•aY¤2,&bXTFŸÆµE'b’É!|Œ> |�§Z42FfÑÈ»1±Õû´]ë4ʧ‡Ýþ²hd@ |SìkøÆ�E#ݲHd˜HÄ0¡Œ.�k‹D&Ä$‘ Bè}èêµ(dŒË¢�b n‚˜¸ê]Ú®u -åSÃnpY2 :†¡b®8Ý–±(d<‰ ›Èl£ÛLfŸúµE"b’ÈѶµõ> |�§ÚVš>2‹FÆØÍ6¶FŸÖµN£|z=µæH3ÚiÂq;¦7‚9Oæ噾Ï�Í{¤Ý§ýëàæûX��õ£*ãÿÿ°®�õÇŠÜÿßÜ�û1?}ðPÅñá¾þìçØ[1 Î3Q»Ñwxê2IXÇÄP¸ÂÀ¶r:”¥“ؾŽCò ŽDô3Ô¼# :ˆC­aþ±H´ˆƒlYp4¢á:˜Ã‘¾h§•„A -'fŠNsýÄ�M a'yPçG'а�Àòø„Z äA�¡^ù‡(Ì1J_´ëŸè}¯äA‹8`�–}±t‡,Ô.ÿ˜%èü …�*8j!è`[ú¢ÜQ¨ÜÇ!L´ˆc,ZVxCÐAÅP˂Ø<¨óãB¬à@† ƒ9’é‹zýSº�£š\ ãÃ,­Ux\C·u`ƒ- �lò Îm°Ö[Á± ¢ZüÁMTëŸÀ}èäé`°}Á¡¾s>ˆclVp°“ tz´ƒØî °øã�>¨Õ?aû8öÉ:>øÁHŸü£*ÉXüáÆ(ÿä!.G@,þ¨ZŪ(<Ê:>‚f…D,þˆˆšåå�6ùE,ú¨¨jM§!Ù€E"Ùlbk3Èfs�d3}­M¡\ ãÃ$˶ö†l¶0[Ä�RÔ: -a šlÀ"ŽšlfoasÜd3ns;˜#'ËÞÍ!ì`Ž�ú –[7‡°ƒ9�²Ù¹9”-þPÊ2gsÈ:ˆƒ)›�›CÖÁNõA+Æm® ı•ͰÍ!ë`Ž®lækes|e³hsEÁ ްú ×ÀÖ¬�²ÅnÙ,Y;YuÀe³WídÔ!—eÂÚ©ZüAW!�6_í-þÌ2]í-þ̲PíÄ,þ(̲Yí”,þ8¬�>Û«vJPfÚªvBXf™¤vB}`f©v:hVH�� T;‹?N³ŒS;!‹?R³lP;!‹?V³¬R;%‹?Z+¤Oÿ”ì7uÉPÇü+G{߳طµoKw$ú¯™÷ -A‰Œä¯Œn5HV¥r†ˆdžG-/xU^¤ÄÃË!²|ÿ ,FÏH”Ù�ÞýWeY{=„ç)~D{&mòËi±Èª—“1Ë"Þ¥•�äÀRâ4sƒA‹Æ£Þð�%`qÉ|µb(3õmë9g -Ea´fXO�È`$Lѵ•Vs„Š^–·�Ù¬Šz†!BÐRÃú µ•™Xpúd•êCê#²îÊã±—�”½¼’N¤5ËzÙ+‹˜alXLæT®ëã�‰TKM*Ý�Ðj´× ˜9pPÛÍÜ�”ö§ - ᮿG+~¦ê1y¢LoÔÑÿñR¢,–ˆÑ€ZÍEJÍ£ýb´ ;(ŸG˽£=E‹ÖîSÇc}ÇþT­£íI¶'Új”PU(‡¨w±ä�à_,‡pLJ ^eÝ\¥Ð3á�VRñÐ}´Ác4Ð~¬R�*…oþbk hôPŽ–½Ôqý@#MkËW+òŠ’S¢D/šþöÜ6zóÜ‚àZMf{qe)/­©ž§Ê–‡O�Ìãè G[*ÞÂzÓC�[õqÆÍVÞƒ£¬@¶�çdÒ‹­ËÖÂ#ŽÑŠMæpa±¡Ål:óTiÜcý1ÕÆ¾9|mÿ׺Çj¨1¸ÖŸÎå¶çÚ†£³ø±–Jï«—>¹¶»$¾ŸÌ~¹Å¼J¾m«þ(ç'WDžŠF²öºdùÒÅ?NÁR錭vº”Ÿ�wȱ«>ÎØÙ2ÕSÞt{úaVé3�´–³y¸’7q^…Þ#]=N[àp·Þø�BNe=ÚoT~Úø¿ð˜Þº¶ «£¦t’�¶ªâ(¥S•Ñ¡ñ€óQ}Œ§�Q[7tu”1røÖ6« -CžvJÄWðõ„cI´Ì¡ÙTŽ´]˜îòwiáÑ’I"‹´™L‹§4‡(r(‹\ÑWX\¼õ•3¿VÙî¨â¯ÌÒE•€I»1({óR{÷¿R4?}£[РÓc[ê’Åt‘Æ·ZsXÚÜŠ5Äà"§½ëšJãqµ•¶q �¥7Ä!Ú5LI$@¯R/ú7-%½ö•²Gã‘-�ù¢Ñ‚`�AãÞ9ý«N$–1i¤ÕR;ìS1l[ý±8sæ -ç¡–t g�iuÎñ9ß´a˜ƒ«µM-£‘úÃ+ ;Š�v�1�c·f [ÊfpñœvDcS -—›€—uÅQ@/o« ÍP©ËC?Ç&`Yp¶Y|šhëJfó4t&g+ ' ùu%†µêã�š`ØŒêÉ5¥9ù¨¦¬�:ìŒec7‹-¾´±«Åv×Ümp¿µæò˜Òή¶�»ÁjKv‹J«}`‡@êÇÆâEÛ JyEŠ6�9EA¡vö™ù8VB_ ü[‡|_k¨±«>îØ™ Y|œÝ`Îñµ,¹ÛQ™'�ó„µ)ϪL�–/|íbYgÜ›·Éõ*ã÷Ãzì1°' ˜zǾ,ó©Å©hˆ“g*â¸r¦„“…<†X�ð ÞbL=$õ«3”‡Š å|iˆpª>î8Yl–Çe¹;‡Áâä(¬§ƒÊ¿�ôc5ÇyRæïfzFoËÒÿ¨;êÛìP0WFŸ²™~·¾i?·[\ÍX«›³ -ò×Cû1ÕxQeAòH°ðíeœ²Lr[ÎYÖ©-^2ç&(¥½Œ(Jèsó” 8–ç=œêåqo Jkžïá$ë{ ²Œ$ɤքàQž»Û èî²T/Ö'D¯‚;ô:IÚ)h�Áo`ŸË € ¤ŠÚ¡‹*ÉÚi -ÝR0ú¨ÕŠ9ä<¥*UùCÅ÷Œ ð©²#¬íä¤ÊN®*;%[+é¼{‘víàà Ó/€¡DáÄFŸ˜¼œb£%ãk�Ž™~i j!Þ×¥y³ÕÙŸa{¼5¬šJûxí¨,Ö�" °,R”'¸Q¼ÄÓK©Œ@¶:¤Ö„p²vbZ[ØL{ؼ�FßaBhµD²9­¶kÛtô0ú¬-x -ÉM¼ÇzlUεÑ‹)ÓYó¡y—öî€Ì0B$ .+õ+}:dl¨Ÿ öumÞ]euD^QàUR…‡~x”EÉødkÊèÂ+r¨cPù¢1«y^ÏÖSkŽù Nò -ž¼©"«=OáË÷ä­Áç+äºÎ-!á]jÖ(íß«¼¢'&Ó@°ÄÔª  d^¤ˆ …©qÓ_e)(H´RÍ.�•¬[T=ÞÇìÄj­4Aп hïQ'8…e­ç€ÖJs,æ=ÆhÍNò1jí·òVhn­ötÏÏÄÖd¦5•há[&yè=˜]¸~ÌyM&dØ|Œ"É`¡!¹/xÅ`¤™0:ì8’�²—cD†Îà�Á«¨Êm&ƒ”xšxqÃßÐ0Ä{^§3Ïc -E�U-6]ñ'לŠˆ’¨h0¸²$iÑ0–N`a±=ü+˸É-‘FËG¤¦5”N0C,ÖݰЅÅ. ÆhÜòUR|_D‘h¶ª°ÀŒöŠ ü&Kà(Ã* Wâ‰}d#|MÓ·ð Ïã@rTS0Äc3$Y,÷À{PŠ2î·³H6ÚðUU\¥e*�|‰x¦u¡ãú ¥$ @c¢”À)Ù eþS@¥«©¥Š¼Dæ†`@<½u:]`µP,–5ù>ƒïÝ0*ÖhIQ8¦�Å%!óZåmUbTh›»¨ê€¸De·Ã5‹€1È`|{HÌ—=Їb=è ©¢ùv'ôEáÚ»F¦o‰gTt*ÀÞt`n—ýÁÚÉ7öÛå‚$Æ×•˜l½,E¸á´Gñ¤^E÷^M˜Ã<AcñžJ�âî“æè ­Ž©[ÐK4çTÄx]p×xF+­b8V㕨z–(p‚¢5á$0 Àe5Þ÷B†•)Ü ß·]×Pz$´- ç/@ʼn”ˆåA?Ë8Ë0lŽcõTe+À3pSq8UÔü)`iޥŧY#ø‚�ýh9Å€¦´ KB”´X, Þ¢Jåj*gÒΈõ¯½�Ó6ŒO² ðtè 3wƒôà)V“$‘[. ’ž× ¦š^Ëæ)ž 0ßµÖßû1#à/À‚‚+•R{äF�C{†ÔŒñBŒÓ�R áU:š.EŒ5à0qà/K‚ -ÌX–åxs*Œk´x˜Â„àr�$œ<0bQ8ÓR´¨Vئ[@[ �DÑóÔªB *šå’Wy-õ><ͧ�LhDqÚÛo¢`­µÁ2ôš#�mp#?fZbñ˜KQä+Î+h Iª(ÐXkF -&­¦p�â‰q0Q,f.wã PÝð<9h“<4@ÁsåU˜{ß{µ}NdË×f\˜¦Mžšx樛’¥¶Ézµh~ Ô7hV+ÈÌpÆ ÃÚöR8Y Ãfq·�¡È¼ŠÍñ jwR4ð¥5„(´³H'>¸`L*2-©@P `¼2ò§êרÁÀY�óÔz6Rmp¤Ö¡ ѱx$‚Ç¤í ©"ÍÂ#õ¬£/� ®:¾3âµ`g BS¤pL¦·+„˜=¡t“tg߸¯¥¶¬¨¬­¥ñ♑–ÇXoÆP1M‘³Ã̆¸ÑèÕÒ#€`Ð(€þ½7ÐDzLqô&ȬѮbôd$ã%ýe ßᲂ^m¼ÌQØ¿}1ZÝô¤‹þ*E_�d"…ó´Èúf<�ùz`µÉ)*ýZ ¥„î’PŒ'è÷“…¢=B¿¦=‹¿7°h�ãK fÀz†1F¡wa 2 Üž‚ƲhC šª°Üq·ÛÎ tÂ�1&‚�%ãØ "CÁ2˜Äe«Fãó«ã™ªl|~¿‘vÎëª8ÍcEæ§�rŒe!›–§7%pãŒBˆ´/tFB›.鸕Tˆq‰­DE»„ÉÔn5:5’Ö•~ ËS—ߜ؄šØ.Mkb—œ7‡átæhèÊ6XºF…ÀÙ¾CSV¿¤s5£OºÐ†X¥‰oS½ˆyWú°ú‰¶�G¡ œ‚%aµ(pÜ|£]CX vÎ Y�U´ÂǪÙNÕ’ÍðŽË�BcÀ‹µ#G¸”E -d`©ÒRÑ�c1†cIÙSO ÀóãІ¹ê¡@N‹Á`[¥å‚Œ¼(´öî¨,dÿœÅa_8ËÊ\pÚÙ±}%æ,RÑbÔœUS¸²„œut<ƒpƒ@ ¥Ñ§”E}&ò6"çG¹`h Ö³RX‘±Í©þžŒ5§ùü -Æ–(ê¨>¥`ý ƒyËЛªÅ¯ -ßGœÐP"W=È ¶¸´þøU}µ:B -[Œæ/©úTœ‚•Ù̓â8VÅ×O%A@ˆÊ°’ÀàÆ8V’©]´F-\óuô!7U³Æ½qw!ÄjÑ®=ƒ/|†Ñª#¯W¼R -z,„X-Ž-X|020è/nŽau1®¼ d7&–f§eñ–ötkOwŸþ:ž=7 £®Hà*€�åDà rÔ�Ÿüw¼uQ÷Ó1ÆL²ûá¬D®¹á¨ƒE(³žÐ´¾­`A•åA~12Æ@¢fÅXµúE•~Ux¡ï&þ’¬G¢¢¾÷,©”1ÀMÐ $ë¢V¿¨Ò¯ -/ôïÝÇbÀb€˜«(áQq/€¡¤| -3a LJ«(an˼t'…¢Á`ªª*­Ûö*çuá/ŠöK}ªþ­›W¢5[©¥ðTgzºzæÆ;ã O]¦ ­ß£þæÑ~¬‰§RIÐr] “­ú��€ÚdïéÊz= éžÎ¶É…÷NòTUNÌmÀ2Gm‘{³èé¢. ÁÌT<;àý�éžÖ…?SÝ �ÖÀJu�0 sšÖ,ŒgZÓñ”§ÊSŸèlM¦ŒÛÛð.ê"¯A<{m7|ï\Г0îÕ'¹�îkÔ€�¸¾D¼cò$�W›-˜Þœ¹:ÎsÞ¦ à ̪}ìp‰ùÒш×þã17Z0Í3mvKu˜;• j“óa¶ÔøàN©'¥…«Ocœä0¡ÔÏü&vîÂKd7ú¿öŸe�1Gë Íç=<÷œç2Cô\‘ž‹3A�w�¤Òÿ‡ê¡}/´î…Í9úq¸Oþèk…#×ç/q€�ñV¼<Ùcü;™xe²G�Ķ4*k~cˆõÑè¼ú/€GmÂ-yhi÷Õ£ø,yľ€„–¤QØØF ¦?Jg"¨Ú/0‘¾lo*Ñ]9yNgzI']€öŸ8-ÕÛÝo™å›ä™<Fštò40'Œ[&פ;ºp1ÎL¦0…üšÿd§G»AƒjÞÚdý–À¾ŸHv'ACc‡…=ø²ñÖEEôPïN¶Ú›gÒ‹ÎÛsôCª.£7„íF žÎ6$ZÓ «ÛðGí6�ÇÇ3ú¹Ûäé‰vÏTO¥g¢­´Q¦z豞©•žÉõñL¶ÌjÒ�m=ɬ¤ŽÒ "[u�F sçÐß�˜±8ÑY×F%Lˆž�ê NšTÀÏŒ'Êâ«ö}W�÷ -2î{ˆ¢ÄcŒ¸Ðäér~†7æÚ�C2��Ð`½F5o—‘^bˆ’¨ -D”Y }[Q�‘4†@êNŠ(éé¦é›á¾P|¢áµÐq£PÔ©bÑÔ< -a«S‰Î¶ãDÙÉÔYÑ«ÐÂÃjß/"•“g,M´öàèj[ $;ñˆ½”åã±�!o5=©‹ËºööîDvM@?íuQ§Ýé�'Áݘ¬)/,g¤SnbNžZ ¢gF{;è6¸»1™Œ¬6—Ÿ}³;»Á/œ4„¢|b]OV{†“1=ÙÝ•Š÷j—åP¹-—ã­·Ž;ߎ„`§ý ^Ud••UÚÑ·wC*ˆG ;�"œk�ÊI®VqµŠ«U\­Ò—»P"1‡®R8£”ä¡TJ}*ÚëõÔ¤3�‰L÷ÑÝÚ¯&ÈëÈ”þG¥?ëe1´P/”ˆ=Ýý±¶»“5Úw²K wϤOa¢”¶…ë®ÆÒ^�h1¼ÌŠÊp¼Ä‰Ááe8‘QDÌh*±ÖÔ}rAeXÕ4ŽAFjÛTÓƒö»GS‚tŸæâô« -gjçXN• ¾ÿ6¦Y-øhJðk$¾TW|¹â«¬Œ‰�$ -¾léJ]’T§zžy‰R?AaQ‚±›˜PY‘åDß�g¼¬ÌÉ*Ï -˜“Õs÷õ·)[A›¸óÑ×qh^$' ,ÀR$§$Fq²Ç.°F‚~"#ÉÒW¯Wà°úPKÅ—tô1€=ìÉgß¿”i…K9;˜ýÒS�Œ*2Ï+ŒÄ°ü£a`ñʊ‚PTe=g­à‚ÙZ¾ÈxýL8>Ô:îƒ#²ÞyIäF`%8K¼"8�²Äq,'‹<ÉOˆ/H* UàµõŸÇœøB¼%€‰Q~2ÎèÐpïPV€ÿ˜V£ŒµD‰WT+®j)þL $Jœ*)ª¤b¢}!çr ¾÷nW-ûe– Áûã$© 9‰]Vˆ•AQ”Hxáÿgï=ÓÓW–‡ÁÙ€÷`Àä¤Á`2& ç@M8÷žóá}f#³…YÁ,f>ÌB¦º%�$”°¹éÿÞó~v´Z€g=þMáßæ?ÊÕÿw9d¡Ÿ*£Æ’¾„ßA¯h´T²m~sPç0â�ç9·^ç¸%ÐÔºŽïä"Ä0Xn °aä�îj¼»±K|W|¨þê®gå»üãôüsÊ©?Ú½©zd©yêükÍdY‚ -�LJñ8,Ö{_Mx;—&g�QJPš5ƒ.=ÖØwV®‡t0&›€†m/É–'*_|xK:ÆàÝ|Ü_ ¸×c\¨øÆ?SAþkŒî0P7›Ó‰�FÃ,Ž.¢Cºè‡0A¢{Ñ&Œ�X,Ç› ³1 ÄÂŒÑæt[ÔñœðOq¹y®NQ¢Ä8}™Ë7Dí4­¬/s»è²Ct—¸À\‹ázãæÉ3â×|³DßCbƒÙt<3ÉNÿÕ/ÿlý"0€P�G“'hE©ÿôõ_ý€Wk£ÿPýð?âŒî‘GE2= 0•»ŽBÿ¶#tcοãù[J~ëÔ©äK%BµÆÿ@" ÿS³þs×˜Žœp‰ÿw ÂäV‹åykÔ,þöùï©­3vþ—�Ú’Q°ž?‚òí4�97˜ò½TÎÞžü‚¾Ÿž­]÷§Øß]¶ìŽñ;Wq´Xý%´À6y½êc]Á$º“Ën_êM·+éK½é| ëõn…ÐðΞtWÙH¶k®ÑªfÄžÑ'ÀKÊŸ­;Ïÿ}Ù‰›á†‹wÞáVkÁ™úßõT\„òo�ù¯ þí­3ˆŽTïœAwÍ â¢ø/qN‡C(SÕYB¥f$MDÿ7¸r1ªVGRQ"â3%¢¦X6L‡X -ßP‡"Ÿ(NŠJ½�D˜'¼@„‘þÇþV~ÿ×X•Ë¿ú ½8]ü ÝÍøŸµaø_9øo&ÿe랊m¯J»úŸc®š2>)…ñù_Ëò7’õ~ín§›W‰Lm�gËéN¦ -—ö쬒_ëÖ†¸H�€ Ú7’¹áóóÁþþFÃK Ý)·Ùpx†�Þ‰çäz–ÞÐüêÆ|øëLùûY£ˆb×ýh¼áøg§fU Ði"\ýû˜\Íbæ¼É „‘ *²K†h‡ªBá÷™0ŠÐ‘(MGCØ€äÍKñíGnŠ$ß:!Bui¨0eÙó}ÐnÿBqÅqs¡}�ßf ß(C†Cx>@Ra1C‡a¦”°5/¢ ½Ÿý³+¾‰Ð ²ØBD(B†Y|:>J2dÆC&Cç{Ì‹¯£$$áuŠA‡òÃ,ÚáÆI ¨†(AÓ‘Œ�»Öýäæ›®Ð˜”€10!I2ÊðY´,¼K4‰ŒLleÂc -Ï�bH6Ä_uÈÂFØ0ŒžfñÎAXvn!á �‡T¤Æ#J�Qú¼˜€W2‰PX\E€�.“D'hÙh„¿£•&ˆ�hûç†AB?Èœ “š?ÎE-Fi@J耑˲aФgë)œ–¤8ZÉ�Š\TFE3;JdÑËèU0º)ŠÂ´aQ±AUùŽòI9IQ@?$ ,„G!?Ñ�SOp£> -˜i1%$£@ýÉP$ƒê“ò *°L° ¨P[8 AŒ„™0�1!Ű"l'åK´Â aÄ~IC÷4Á„ñ­•4ðy$Œz¢(œçaÁ1 ã|:eùQDd§+�\�%mÓø¬¤GF¸@$™D8*Ž"†A�p@Ey4‰˜ -'D¢RÈ›g耒~'Åa�!­@ႇÁ†@î¡�D¨þ /¯~��'Q½A¾ºH” ‡aAH @qîU+”2&b JAü ˜#$Œ� ‰B”¡#á€ÉJ‹tâ'J#"ùˆ�`@EÃ@™0Œ�O@ „e‰5˜ø÷-ñPñÄCˆô‘ô`ÁÈŠ l’O0 ±a`YÄ>Þj Ä1’\°˜Ú)ž†@ã…+ò)'!BI”âJXÉ DaQP² ¼ÃQx8ÄB*„Cµ‡Š×b�t@î‡øVæñ@aME|“äl$�ƒEq¼ÄQ ÐïaŒ |+̆ÃHç‡Yè0Ä“L d°%Áòòà0ÿ“Ñž;ƒ”h;QUÿCïÔ !^â ¹S”(AëÑLe|DPý_DD€õL$„„‚xT]íhÙA"×~n$�扈ÔÙ ‚�DxæõÐ 0rT>Œë;°¶D8 -+€1ŒëÎyGˆ(N9!å¹Jè—¨ŒºT˜@˜<à -aŒ‡ø¹c« ($1C¨…;D‰ (¥2‚… ֱʌ¿§ƒäsHÛ¡S¢|AÖQ„`h0ˆxÉFU`@瓼nƒYƒ�b Áo<< ;X�0M�ÀöIHÅþ@‡ -™ˆ¼œ#�̇¹¡©‹$X G¨P˜�åM#@À ëy“É_` ‚DµX#¼I¢ÈÐUSºÆ€"ãT”¾¬h'�y+ŒŠFa>œ„ùõ�—Pqrd¢:Ãx=À´D£…QéaÌcÒV^Dвq‘"Tà«b-It§ýHà~" XÙ¨4<>_‡ #ˆCQ~æŒ0Ç`)XÌc -µ®F -Tˆê�é"J콩¹ñ!Å“>4A -ÆÀ¡¨0qйQy&�Ô¤11R¤hnS(É& æpû0@=2µpÞö|Pµq -É|0UY†—rì223ÿ²³‡£XêD°¬Û-4‚v-²2p¯Tý äp„…gXÛ€AH!ÎGå¾£¼EÌ tq¤”(¤1ÜNj`Y-eØðní‘eNÒ!,ûÙ�ÝA£úÄÈ ÍÕå†U'1b›šAÅÎ(\ü.ÌkBè0„ô!¸DØ(8Ls¥¬4e2¶0.Pj`#NˆìFÅ"/¬rx”À†!T1+0‘éH ™DXE‘è *Ї\l˜ †:ÐÍÊ4+<¦BÖLxG, ž€^�KL`� FY¨ HNÒxL ªå >0hO‹.`/Pò j`­iJÕ<;Ì# Iµh˜Ý‘b^À/–¨¢á‚4’Œ!ä´óTƒjÏÊ‚�†SÜitS  �oi’B‹FÒ ²Ã‹ìC -%ŠÐ©"åÁPA£ÂÖl„V€/° x­Ê¢Ø‰À(i”Kí‡; -h:Ä[€bø-Ð"£jÝÒ‡Òø”Z·Ø¸ÝY4’&QœÛh„ç1Ì;Pó@e Ã�Ø^à?ƒ½"±#šI} 7 -#OÉ^ȶU²¿ºHbËû<;èü`–( ö5Î+EVê ng‚p¤Pn!Á Ço€“€wЧ"úÐìWª�Ðj²1Š�§*‘¨B, -†@Q ¤z1 ¡kÀ;§‘aŽå?°øêÐx,˜ŽQÈlÀ¼Ž 0¥ôˆ�ϧ8Ÿ�Ç„‰ŠÆF/­ùSY8Jå;çJ’–Úi,yã}­ÉŸ†¯¢6û7ê«þh<0|Ih&¼'z2# t;›‰!\=¸|3Õ.Ћ逛Ÿ7ñ!dƒ~¤mQgÚ{±’О+ß¿¢W4Dñ’Д·*wV**§�RØfçÅ*A 4‚¢•`öÏÉÈìœdÿ<'ðjþýìàW¾KWqÕýß>ÚøüÄ'y›Ù;3•B†]„$ œŽ=‰¢ ¥àv„Ñ]((!ð,ØG$Ê"™Gc7Š$d,hêÁ^AôO!žÜy* ºh' -ü$2¼ºÎCBÔ¼è@ܦ !tc’ é—º@�·h¨Ý?ÁGnQ麰h�OͲ(Šöž+X*ȇyRÀ£‚­ f2N`Úlp2 ½ÁDHÂf)-›cê~H,“(@Åî,°@" ü $l°kÆ ˆ ¬0RÈØÐ&Ð�ѵ0»KvÀ†G·C S*ÂÛF»RïýEJUÔ_`‡@`+òaà2¢ÈÜ_‰VùZ%Zyj`"ñ7¥('kü‹0& -+z®„¿¢L¦` YÐE ºÁFÅö î+j†à± ¶ ú‹•`L²€peñô™Ý?™Q¦åæ) Å‚/‚€|‰B \e|= þ:R¨0éF p0?ã_„a°¼•ŒÝ!VÔB`Ï¡x0^›S$ªõÊ¢EA&Ž„Á _|4"ÂÇë#»/!ìp þбFd<O##7Š ŠúEBEq£|\¤Ø™QðHþJ¡@ô`FÆ¿ˆ.�c�HÎPûÀë?÷MÿÅþWQ<üEì=×;Ï.¦‹ÕyqµØ.wÂöPÈ€Xr@7° „$ƒƒ £Z0HyÓ¯êé]0ˆÚùç`Ü Á£ Nh:¼ÛøAqvYÈ“\Hiϳ^¥†Èc¼Šm|v熢é0¶|€û±W òŽW†@1¸%ì ™¶‡ÃÁv~*HP o„6ñxÂŽý�¬e0$) 1aÃR¾û C!ÒûÉ€@,Öo÷ƒ(`�¢qE6»BÎ.Ç|ýþGwµŽK*œH›þÑEÕ|[ôûZ£ʛᛠ#Y˾ý‡b§7ž`ª¤ ä[Üæ£ÁCÒÖ¾í狹Ö�¥ó›.ún`fnbË-ÿ/gOêÎÞÔºŽQas3„o¸’ÿbF…°YÌþQ¬þŸ$Åb˜žjjž”ÿqt[wÑ™9¤ó@t˜%Ç8_´PŰ›¡üOàÒõðoÿÆÚø_Ìëé¸ÿŸ.‹©8÷ÚR%БF<~¬5ç'\af¸ÔbË­8Fó£Q8˜�D£ÑHÄh~ð}4†Óþkg·; ®5�Þ\¨Y•nê«1x+ffvøÎ¿v’þciôO3³üó_>-eˆPˆ ¡ícÖx^7%aÿ-,,[‹íªÏePzÑ¿ÜDEö¯ÂŒÛt`1ývÑ_ŽÃ6BfÈIÒX&pÒ%’=om—Ë·^Ÿã�Îs©YâX -Og -n -‰¹× >ýÅþ¾K`šáZ$è'VdšÁrP´Z/B×ôŽW–ÝÁ@Ѭ;ïMŒté<½Ý,ΛÝõ†[�ÿâ�Ó¥èù²»äVçëñl;ÝÝcµç^Ôb³êÎ×Ë.,AÿÏóÏÕx­Uº"És]ç“9¸ž‹íšã`¶NÓñz€¹óJrnxÚ“´¥Þ[0u¯-{¸< -2SŽd°Ðîì—Y -‹8€ 7‡iÂ�¦ã9w¾áþ®²¦j-×8Sn}Ø-#iÜ�oÆç€ù®Ð.$Á^�o…ív m6žW¹?¸©ü$]jtWüÕZëF®€Ra=zcô†|MdM�øú£Æj1O¹ -÷§{²–ùY�¨´T��€#ÒÞ‘Ã�É&“¢-nzÝÝäýê¢ß�¢XÊ?W“¸»¶0@nUÊI[J·‘�  -|K† 2$L .l§S1â(¤wÁSa v¹d x²äpêhˆ÷½‰,³B·Ïí®Ók�,eã¡Õº3æþ£Ë�×›î¼/´� +>#èÜ)~«±!�dÕÁÛ­ æ@Ü@`u´u(,¦²uaºX¬2;’7lÚCAaÍáãvõe·¿§9†"C½"ÔðÉ;|·‘h„Ôiº*¥Ñª½“ã„F ¼vûŽ˜0º1^§énΨ¥ÎØLà›„RÔ CF -ì Xê8 -~ëOI6-<ÝÍÇ&(÷'YAR“ ²ÜtšSF¢6à>óßp&Ú"”J›Òš-üÖNé„ÂV‹(1:%s¢´Ñy½•¸˜_K\5×s�Œ·³ó&ji+dòídÖ\»=Ž·Ù.EùZ "“ÛœïcÉä6Ò5n=Ú©bÌé0"doÔ·›%(Qýwˆ½ª<\µ;ÿÜv?¹óÆb)êáÝ"§‹^wÚä–ÛéZÚ›D±¶K¹V•<Ã+-yʆ÷‘jÒ½ÿÀübu÷’QKùö§ãåy�¢l?_qŸ0ºµþH]q«?¸ó…h†íT¶?,"U›QÅ»+1õtºóñz .Äøüj„&ÞV0GѬ”ºue~çc…�4�T{°Qcí±ïVM:t³êgßoOIû@¹¸#3}¨!�Efˆ„ÂqøÛN¹ﬗæîï-®¿˜Ž{§0^­ À`ÒÐ^&­×vÓùÝâîºùáÚîÞ?XZ”¬jjiQj+Kîe–̈lm{  `Å&’\;›S.Føn¥2ã1»Z,Ñî9çÇ�%©4H#$Ëžã?ŠYHVZ@¸V¶&ÜY²?½ÚôÝÕàœ<¼„V"Ôwê$Ý£lç~*" Ò¤½hò@yT.Öã�eG‰ã L¿B*„_i-ŽU8Aqsè>‹-$ö5Ê\ˆH\“®8á>>xD�¦fY©4%Á±Û©Xö+Ѻ"5[™ìi?@ù쀶”L�5¢wmEešíÎÿè®÷ö)ód¢êA>Îóƒñ¦+õÚâh•wwA((WyU„¬ïèù|±×gçã9V‰ˆ.Ä`†¡µB�§KzŠÜ¡Eáäɦ‘'+uÅwmpY¤�³‚vnjigÜ´.xÑ--/ZÖª½óÊ �ä:dÐà>ÐüZôâ*¯ÀâäÔ§lŠÑÛ�NåòAÙjNûjÍ¡A¬ôû[OÆËÈÚ‰~‡@~Ó�"دÚÁèÀ|;bâ¼¥A L¤ˆ„Ê‹^i>\œïýj©Ñ†×‚·5ƒÞZË(¬5YÓºÂÔ2c<ç-óôˆ$ߣ9ŠäÛ’¤¼Ùž&¥¨âۘÕПYFþÿýŸÿÏÿûÿ_/¡¢Œ¤k?žO¦ëM`Ý_ WßÚ'4ëï}8‘2JóÉ9:í%% -6JH×Èæ¼¾D£]Ÿï¥ pÙN#WÖ1t¸à›)¥�´ÉY›ÌXœº•-•"á‡æ‰†®êŽgïå}Âï>øÊ´£îϤVÅÙ(ö9·” ŸË™wë æî:ÏØb©»b²ºŠU_œµÔjÛg yª±“¡�� Ö¹¯Ü§�¸HÅßžÔ¥o¹N­+TðÌžŠW-+±Qy“ù¼¾­¦.C\+;N$û¹@Àùyª:xxl®`�±OÅMîë5zòûÒ³Eu�.µ6#o’±m ¹ÐÅ}ækê¼?³ç†D¹§ÚÙ²�Ûç—t;èh•¶‹½¦.'…×Tl˜ys>û¶à*†gvŒ¬ÂÇ{}›¾Þ³™ijúfF›ìˆ}"eèøpäúdõ;uyå¼çû�!¯³oŸo øäøÎ•%KÆùºH·ü¶9?†‡î`{f�~¹¼ý|?|ëÊŽBïñË´�vx37¾o*ë¼+d¹­'Ù)ÛFñ~¿;AŸÆÞü°:â!“D°Ë®Æ±ñ[y�™Ú¯œþ•÷e›®¶ßhüîT¼<¢ÏìL¼óšJÏûΙ7Q‹ÙÙKb̲Áõ�N¯ú%Ò;‰‘»û¹òºhc�{OƒØ8ìÂú’µ„Ëïã2S¶1ãgðXµ§²¥KÛ}Þ ¯a]JÏŒ-ÉfoÞËÎà9Fõl¯¸ÛäÜJ2Z’gæž¹�#<%37ãH³3¨ä«­– v/‹÷i… 0èÁî79³=k)„?{“…KáÓå}¾Â7Ïúò|gÔ#UÒ} ¼ÉdÞGå®>B?÷‰Ëøàëæ ¯änÀÐ_= @£Ly7€×ýHW¢‰q!ü[ؒɽcTç¸õUˆyb¾úévîË›+ßùn×y‘azw·—×¹÷dº=êoÒ�‹~-ݦhXý4ûúhƒwOù‡�«íE<ÕÊÈôm²ï,2 ¬®Å{\䆭üãºíº½I[üž_!Ôó™=ÿNz;™ÐC¹�Z­Fw¡Xíþ -¯P$<^1°xŸ7³ˆ¾)Q)Ÿ¸ï"žø…E]�ÙãÞÄÖUÈMÉ QÇàO‘óý$™Þ"oo¬évy³=D¥b%%xþaeA¿µAŽ}Æi%ž¶Í(Wp9–îìˆi>å{Ä¥'Ç­V>‚k$â»�ðèØ!£ZL¿—ILm—þ�âÔJ Wúb»<ïó i}Ï*éú[¦VÈË‚¬ô…ì`öˆ…§Ê3S&q¿ï›ÙTO™ë¶-¡ÙFÁÕsʼn�P·—HÂÐÄ0v¿8­²]>ù6Å¥µ�zã¡Fâ¥õb˜™AÒÒÿܠܶÒõ~Vq.æ˜'7݈¼jÞDù©,ý|9FÃS{ÕSܼféÖG9'\¾ƒ¡óšI·k‹ÏT§]êò‘Û‡3û¥—È¿ìбÌû7TÁÁÄ`Í·Ñ|òí`™vyÁìxvVA<&œéæté‘¶»í^ƒøs†ØæÈHW[àÈID¸øü=Õfõlõ»MÊT†Ç‘¦�o2Ð,ÞÝ–žÈÜ9,î)ž -«�žOdšFò¶”hq‘÷µû Àâí=0öÃ…7™`hü4Ýò¥æÙñøv€¦fAMÚ¹JåÚ_¸Ì‡Ýø)šË§gÎ7o×RöÌ´LÐZ=ïù“�\�=¡T‡#ØðÓüލ¸fyø3Èr�æ?•Qøô�„ߺ)éoäg¤åþ¡eWx±âúÌŠ/~Á'w´�ßßàßø?®eÚ]5áÓWŽo‚#(ä2/j$íC™å”]H¿{£<ä„ÑðCBƒƒ^0<3K‚gÀg%<•~(Z„aDO–ªtV{R9¤YEY<¾1&DtH挫"Ó†dÎË‚HÉ*Óäßàíº��Fú.žîsRõ@ñºìÐÁC‘¯*�;Ô#?FÀ„«xG¯!�)?¼‚øù¨6G/åILÉ09á�ÝÂïßáÙð3û#2Ä4�¹RÃv3uñžš?SàéÊby ü‹ô^4=O7‡Ÿ0++K…ÂH·;•y!E’“3{Ñ^|³$ìb$¶ÉöÖ~Yxß´=©8Ѱxó�‡kQ•ù/$æ„Ä*PzIÒvgvìðæ ¨`¯Ä5#£à°T2ŒL?÷³¦7ÅÆŸª…4=¹(c?@>!/vÎì‘E™`ó~ß0”«\}‡¤P2ï\º9oÝ¥[›Ò,ï­]ò§ÓB*j_ŠNEÓ½w¾x¥çöwºžÍ4� #XW3bÀEV˜|¦cƒ�÷ïšiö¥ÜÌ•WžµÒáë×Rºr v²0²;û¤¸®s+Áô«2PÛ/��ïÐ÷ô=d]ˆ¾êŒeï^¹Jnx»nÇ�g Éüw–··iÊú¬ï iºBgv©3´§P45ÞÃ~H× ¹¯û÷ìø‹ Ƈ3û'Ø·p’ü`Ùæ`�çßÛG‚Ûš¾î»J:ûŸäY0ž]< ™ûô»¯x·tò µº3;ò>fƒãd"&¬•O2_dd(ìa�0Ò5h\côPÚ†‚Užæâ” DË©p$y:ß3@ãz -žÅÞþ—[ÿ’�F'\% x ïÉh®øÈÁÏSU Õ”ÝÞZÜ/ -'…§±¼öã67¼ó ®WÈQîAžç@ì©’>W6Ê ®·KÇD‹¯ØÂÛ«ÇVÈÏ·”=:‹«é»>GØ~µœ¹m¤`.�³ÁÁß>ÚÓ·7­N!çˆöľpìdÛkÕJo¹÷‘•1êië’½XbÞdñý]¤¬×¬` ’™Ô¼`Ú7†{ž�¡HË[fB%,û»@̦)yƒ°ý´�v€Ç§ûÔ�‘`‹¬» Üz¯:Ýo@›MÅ+�VpGyßõt«8ø‚uI¬¨Ô�%Š×¯@µ¥8DrCüäØÕh½Å‹½¡ -PÞºÐE{�_’½TüÎ�ɨðÔn_éö]÷ĦDá%EÃh®ý;é¬ `œÙ£ÓÂb¨E1ä®e[ä^ig&¹—–Fõù— ˜´#× q-Cî• qï'PrÁÝ˜Æ ¹ðåM>¾z{4áåKº­J¸7S}a|º$™ò6hü©ØÍ×d§¢ÚŒµ0Ï -¡A >ÿò{1Îâ)ŸN.8âÞ>>×ÂàŠ¹„ Aïa¤æ©Ì¬ž-&39 YŽ™¤Û¹.™™Fl‚ò}�S±úí/˜DÂPÞŸHôž�irµt³�ú>¤ Û:;NÔÖ©XÁÞe®˜‡bö&Û¹ÚY‡Œ _ØËqÿ9Wê7™Ð=µ9Xø7›”q[p•¯ªÑë—ÂF0‚…E ¡U˜xå"=Ì}Ú^CllÈ‚94öì»ÂVêlÈ-Ñ=_º/ì/ó½àÓRnyó#‹´­Â»ÍÑ‚ùy_òo_›>ŽA⳸É÷2×™=VóÒÏévÛa‘ËUi×mUˆR dQå…°øõEƒ@®m…lúLÄTéäXÎ×ïb†üh£“t¾�f£ÍÏhè#3ƒIfÍ&Ht‘«äöÏ}í�y– ÁKºš¤.“Ë{ЕÓ9áPé‚ËLœ›r&ôh½»N¼„œ¦f*˜y²^\�eRº÷#¿�ò“Z mXF±N˜n˜¶�‹ðÝw##–›‚û±±IWÉ�h¢r3È fQŸtÏFæ)_Ÿ|îå//„£°„Sw»¼ÀõÞ,¾rÃhyšëyÆöhõcuYHOçVUÐ ¬>ÚÊ‹Ýdƒ/¹Jå2È›jÔmË_È“CW!–nZŽw�äo™D!�Ì0öe8WêNíògÚpn^›H–r•’5 ÒRÎ@—¾mã±�"6ï°æó^Áâñ‘àÂÞ¡w¢pýlx‘tK{\nÞ¹dÛ웸w•²Ëwß$Ä ®Ò,½ÜØ -¹F­U°/C \î¹Ï�y -íyQ0ƒàÓÞÀÂ{xi¶e˦áßuêÒp«BA�E,~�Fyú�Çl“tÈ•¹Ë»Ö½W$HH%²ˆµï ¯0®ÿQJ«š¡Üöj¤³<@.s%½Õ=RÏI�S1Ù‹Ÿ.áï‚ïÏx­•ë¶Š/E{ñ5ô2ÙJoª…WXýÔ6Eð%²“™T-¨�.%T›d|‹‚ÇícÀ -ÙÁ•HMñfcœ‹ö;ÂS¾“ÎT‚¸¢ -qŸuïÀИTm/«RŒJÓêí‹ =˜¦[½å�÷)Æú™™Y#_K)u½ü¹r¯_0”{ú²ËÆoë�tk{G*”ð*Wš�× ¶23á”)|ÔìQm  »lÆjƒªM}¹E›"]ûùÞâÚoЮí¸Íw?JÖÌÌë�(h‘Æ$ÖÇÕͬôX²o¯èLÂw3E -eø‹xíù“»t#jd,>¿V·‚c»ä2¡m<ð´%>9n2sE@‚òÓÌ×W#•+ n7¹²ËU@Û %~ß(=íΰi”ß8Jry Öø¡ñZU³`3ve ºó¥o=ï !û3R*ŽËÛ Qz.^*øA˜ (ývìæ­·-|¼Q3Dcôn3ýIJJ .#ÿˆÏy<؉É3(‡WnèXÚ˜Me“(¼OA”ñ›ïVcíacoÞÚò*×…vÏi0BÝtÈé\DÉûJ0)®7èØt¥îCjí~°æ*å×ïwùfÝ/¶ù?B ¢‡K/A&Ö«;̾�Þ�‚su}]xß¼ú )'×–oÆ1˜Qx #: PÍ)ÿ(ð|ÅâS¤ý’ïµÓ÷¹Ï°c¬�^;Á%ʬ�–æå”°$y¼gv¼™=_~Ò�Ô2V[oòÐ Ã|“Ñf®ŸíNržq°Ï^Òy.ÿ4,åwáIܤß* ÝÔMGü+Š…±ØÂk<±í�ë`!·MãmÉ[°8œþ\až®�þl»3“ø¥_0P=~‚€kmÛƒýÁ ^ -�ÞZ3aw!rlË}J¤¥ð¼m°,àî.Ý\T?˜ä·{"u™Ž3ÎËjÞ÷šŸ¡fûà,FèÞ—1`,ùí)çz\¸-y]||_~`¹c ÌïGˆ&@€û 6fu{}¦ÏˆèÊwIŒŽR·® ¢§Kæ®1§Þù -vÒ~ómÓ—+[†„t|ã%Ét¾‡i¬ -ö*Sô½k 4Vp<}ÎsÃÅ«‡ŽTãׂ¨ÏDPt¸]Ü–oéÊ“;²_}tÀ™ïo­o‘ú5ÝŽÒ¾r¼ðîëÄsÙõÓÎ/j[ÞÏGösTp¢]ïˆlÈ»–L1½ø^ÑéŽzîuüh“îVï@¬ÜíÔöó—¹Ñ·`ÿÖ -΢½p=Û¹Eà Ý_re¯-,…<Ý\äû=ß�"¸§®„_gVZøwd¯]Ê"ݯl*þæß¦ÛYö¼ÎxØA7½Hs…ýàø^hW:žŠ¿ÞeØy©Mæ^?_)ð÷[ÓTPì äEcü7¾„ ËLÑ|ÁQ¬.÷Ç‘G´Ã0åñ'Óö?>Qy‹?ÍÝ‹èçý -Æz�N­gÈìØòì~ñzúß9âÂ?Çê=lÉzHð fV0÷ïzE9µ“ôÿJîÎÛÉ�ÂåpB´òd´"‡g‰î„3>0g±XòÛh£œy·<&“t.X¿ŽÆ ]û*‘i k¶*¿±XV÷„źn‚ךÚDÇ…ÚË_‘úãv„±ð×_Y,î�œÅâqZ-WÙ -îy¸š¯ÿµÿ X¨Ôê¶D‡‹ú -.Òëç>Øoá�5R̤¸"�c„ž‡S�×o7|p:ñ×üG¿TF_ãøk†ŽÄ¯Ð×:߸ýÔ�¡¯}ü5¹¥—ðÁeE}_¦#�¯!|r'ÐW¾Eg íƒÏÔÈÚŒßÐðÉwƒÞ΃ÝТ¯x aà~ÿ>øIüì¢Õ7úz‡¾úóÉoúÐ…?Ñp†õVø+žKFÆ„gûç z_�^Ž@“ÖÂ%Èå]½òЙ ¿‘n¯í…|ÆC®]¯ùÞEì{g¹Ê–~Ã(ÃȤ‘ä{Ó6ˈʕè•»x޲ù×_ŽåÅ*u@޳¤W\�3;ú‹—-ÞÝPX<Ïä‰ÿQòôb¨±Yž½ïøGx~.Ã4�•7øy2ÛZchuêïð¤ÔÜ�–ÅÔ’¹m]Eè—›YÌ<>5ÓÍÁ•#“ÚBh<®Àç÷›7—œ$òŽÅƒ§˜ya>2“ØÀ—ú~g$¤´ïµt†ú•Là˜ 8Ìç¶pY(Õ¦ÒG§#¯cÞ|­J¢èëÍW 7 }±íÿõWpR®€ÂÙ¬X‘aË1áLËç`sfgg/Ér!Xк… 6Õ‚•¡7ÄΞÉ;ÅhjñÒúº’Ô·YaÂJ~y3þèí3:éD.8ø©™iØÞ“IŒ¾"ö°Þ–ruêd{&O ‹iråG§#{¢R¡s™Z-©\R~-ÿÂ4ü—Åæ&ý[°?³X×_Kî>4»ÊZ,Wå §UX+·çÕjqß<|[<±¨Ó8^Wh!p¬ë}É¿ˆ1÷þ©Œ«ÏzäG´mqX¬Ž×˜ÅæËÝX.(oÏbg�u‰zhß#Š×ÕôÙâηO%°xÁb°ø:o‹ÿ%ÿe ôünKðsœ°³Æ­…\³œ…¶m.,ôöޱ„—e ã³½YXò}e‰¤j´%Z][bw–7K¼ß‡²$÷¬%™,×-W�ħ%5'½–LÌ“³dŸmï–¼cua)4¾S–kûòÅRª/m– -hKµk·Ü\yÝ–†ƒ)Yn{é±¥Uª…,wÄÃ�¥³ý²Z¾¼åé=N‡ååᎵ¼ÝN_,í°ÏÒë4[–ÁÃòÂ2$«–Ñ¢»±Lĵe{ü¶,ê�¢å»ÿmÙø¨k«¥ÔÝZmËLÍêÈØV×èáÎêÍ^VÿÚþa%jݸ•&k³3»5ü+[#7N—5›¿X“Îî¥5µzü¶fGÍ–µðV YK¯¥©µúr]·Öµ�µ9½�[ï6�¶õ‘€~^ÒS«õ½ey·öfy/QÖñt0³-_­ËFÜgëÆyÇØ¬­Õ…ͺÙÜãÞ½Íßb®m$ý±…´×™u×¶Ë�øÐ–j~=Ùr7åºíºElÕûIÂÖx¹ ÙÚ_ ¿íÑævÚ^£K«­Ûè®lÜgkfû¢*_gvÛ¼™ÙÖŽôç…µ~5¼pú²ŸÞ·â肈W¾.–»ÙEôåýû"YYZ.²9ÒyqM§ý5ï}ø¢é['.î±âÅK°Ó¸èÆlÏÃZet1ù?v¹)ì–ø6æ�ãá¦j÷n�`÷Ýtçvf“öÚ/oI{†¶ìÅÑíÈ^«$ÜöHÙ­›ûÛtòm|�û×ûGþögË r8'ƒ[GÀ1[:B¬5îˆ5ÈgGjœv�ÙE¦SqÔ&sGÛáK8žn‹=G—‡Ÿ\øÙ1ÏÝ[¿ûÞéXßû�~.øà u^ÎømüÅ™©,BÎR½5p6^’WÎû±ké|ÛŽjÎ!óèuΪ¥wçf’ºùçL&,®À0úàb¢LÌ•øŠl\ùBüÁU©èjÏ[×ËK·ï”—U×4C0®M¦bu;3\ßÌzn¶ZMº¯ÞÖwñ;·v7“�û¡œ½w,,÷8Ù(îïi$ì±ç¾½ž€ãÙæa^sßž«ëÐÄsM_pž[Ç¢ëy\požÞ´û♌_Ÿ=›Åû³×íþ|õR‘Å»7~míysÄÐ{ãËM½÷µ‡•·k]Û½_µHÀ»±6Ù3»ÏõnËø¨BéÆwé_<ûòëÂØWï¯m¾Ç×íëÐy߬7¹÷[çí‰ßoOzýlÌŸö§o¾ïý•épáï„_hÿÇË}Í? 4GþíçðfžkÆÑ›R£%@ T:®û@§zyèVî®Óò|´–éË ¿Ùì#[8˜Ý^¿ë± |º+¿�ÃÁïÆ[�p¹Ò—}g›Wán�(o6¢ó™»'z·t˜˜\Ò^r�ËI’7î ™h¹Gd©KÔÈ»K‘=2» ç×�eÿ§)*áôRÉE~JU²o�Ôƒ'P¤\‹¥¾«6'íεæ4rÐÙðÇÝ`3eú5z‘¢¿ªŸ‘�õ¾NœÙCÁMÖJ\²ŽPùÑk =x.6!îñbZÓë°wâÙ„£÷¬5\Ìfíá»`Ýîû?‰ð·ÏÃ2O抉�×L!l1ífë�éM]Sæ;úè`=/!†�ºÐgÅ·ÊÛIRv°ZxØõé–Zý>ry}½ŒT²™Pä)¿‰Œ+©¯¨­ž¢¢WiD3ŽÎ2z›]F?¸ à÷È¥/æ?ÞÆb«dÖU1öÈ�Àn'rgöøEeºˆ‡²ÅB<—s®ãíÜk5>¸/;ã›.qI¸láËTök|ÙõK—ÝÈ‹ûò{øô‘ð_=fIÏÀ�¸éŽú‰÷ÎE%±,‡é¤¯XY%¹Þkò¦â)%ߟj°úÉåxé¸òû³“«äÍêõª¾¬6®º_îjµìFSÁz1˜J³´3ÕrÙ-©Ál²L[Þ^'iºûý9¼»ŠØ­÷«a2ÿÀ\¿~=Ô½®øÃç¤Öô~\°�¹×»Þãë3y²tÇçبzõÔöÅO³¼»úLמç -ýùöÞž7ýîE©÷Ò½Juî»O©F«»-5n{ñf£Ñë :�ÞÊÓkö#7›Î™½ßZ“ÏýE¥Ô0¾Ï¯ÁmŸX f�g7*a®‘xÊpÓl¼9¤¯¿ûÃúýÃv8¦èOš¢KŸõ–ãýs²^XFôí<>jg�Ñt²Z�C/îøøö.ö<žßTÁúübýÒWëÅ;ûZ~–“¨c:˜triv²þZv§—ùÛÈôqKr3ëÃ,9K]¶f³7ªPž;]Qç<ï$_æý ‘XøØÀfQ¾¦ï£^òrIuÛ²ÑzÿX.¼–ò™ý;ò‘ ß—ºÖ•…p«T൳z÷°ÅµÛ>ŒÊÚ�»*Ü-$ñjiðÏ¥‰dM÷ÙdÆi±9m¨ËF®ðÎß’�îšo„ŽQŽYc1÷ÿTäî)Þ7O…ÚÛ$‚.¦ÿ–¦Ó-®ò½X¡àñü3Û]ò™Àc1Í_ï¡ÙSm1_ôñÕö¹Åßæü%³ÊË>\Ï8ç’zî:)‚(Ñ”ÃÈ•e±kŽƒOËëå¯î&ßýäPF©"±_³×öbi _q“š||+X¦»ZëöBM�öðt;ÅôÔ^u—Kƒ†$ßpíþ‰®šƒE†çïÈYoû#4¼Ò¼þñç|ß mÝÂèÃ=øñú|;ŸÌ�õúü$®tÝ_�—‡7ñ¨!¿É}E*Íý¥DzÝ@hÝs=tï˜nc½Ûê�þQå/Émp•±òf5ÄÀêã|ó6?å…~ª@аº®=ÚÎzóîxº61q~:mÉÝ„â…OFó�aq’Ëteòþ|‡‰‰¹€½øÞã‹6`LÅ]cÒ¿ËPêXV*æ~¤6ÚO_m¥J[‰áOBp•‰ºï^Û(¹UKþªÉ¶ô„µ`p”æ}�Yø¾–½ÕÁèq9å[ òøo‹ÕD*Æ .¸0°|ŒÙ/�*_›À±öí\¥ag©QEiÆCº·øƒû ¶LY¢m–î¦Úý“[)®èÔ'}UéÏR.”“Ô×ÏòE‘ÑþqØ‘h�£H)»˜ðµC¥�Ôx8ÞÝu¢Ëïò9Ú¬ª÷‚èJ*äÑ}Sø† Õ«õ”,mâš=“8A7‰€ ùs6¤‹D7G/½hJ€-$Üþ¹ †Ô¢&šuíu¤–¹²DÚÒ{Ô5&ÐäüþzÕŸK·½éû3‚æ Âz`E‹üž;š$K ½MËÏxâËîܨƒ;cZÝ?¸˜ÎcXˆ´üžÝ4wƒÎ»Ê‹‘šŒ»I^¼�øn0Fþ48 Ýë](É¿TEúF‰_ÂwVè;$þþšcAñoÃ:ööJ‘X«Àà"ªK9swêˆõæÎÁbv±‹`mVw"z½™'jÉ3š) -D¯ í÷·�›yg9˜ÁãéÜô –Ó�óŠvo¨ •år%4Ó†ŽÚЩD¨ÂÀ¨�¤¨Õl%­¬AF´Z�‘ð L÷þ¶AË�hN„£!ý–«=x6¬9J¾mOjÒñ7 Î{žçVcTÆOwP/séÅX‡€ú -¬i7’"M§«…äb�Îͷ·Æë߀6À¾¹Ê­óª—›õ„R -z=â†Ø6Ñ®»î�73Q -›¸SN¶‡³ž®3éõª-úX—nÐmþ:sA-w7ÿõørë˜â(ÕÖ«A`±BÒ¹«Œ@ ‡`½�«¿r×hµ®ŸÔ£ õ3 K|B›?$¾¶z«5º*[ì˰Ýús\÷—S=ŠoÓŸ+ï|U¶ÙHÚóƒušv—ÆxÚéŒ}ù9›¸9ºú^Oî¢VkTÐÔåâæ¼œÞ3†™w€ä7ãÍŽ•4L/ÜDRg¡×�9÷ÙÝ_)¬Ñ¨¯,€¡ÙÔÍ\¿¯)ÙÇñ=ÝX´[�ºnÅé` 5â6(3‡±í¡Ú›¼•êþ×ß—Ù.—úî´Z­Ôµ–ŸÊ–í-(+âӎ�æé·µ¦ E½»²{D5.–}©‚¬uV7lµ h°Jý Uòø0 ô¤o’¬«µ±>Á­†Ûy_‡¢ø6BP¤*%‚ßéÎçbÝ"õ;nq+#7¢?“˜V®u³˜9/å³ e?0¸"^^®$F¡Ú¢@ä€�ç:ôˆûáŠýÙŸ:»£’†‹Íˆ[i·DV%o„ª0Ž‘–�z&¤yÏ`›PÞùv͉;¦ªW §Å%÷ÆJoÑ K6ûÇç¦ n5äĆâ -´:Åü–mÇ’Ò¨\Æ“�ž¡ýTkèÐs€‡�ׯÃ4ð¨ÍÍ–û;—îb~É“\;§ÖÏß7õy£+;¡}{\h^VÈf÷ÖÃAÀ�ös¨Á�¨hW…[ÍUÇÉoIm¤blÿ"ڋŘ–Ýþ.†u ‰ó%Üóó�¼€;Z_¾°;š¡øì ‡×¤¿¨& x“áÖ{Õ鉠·æ÷^�64úD….ocôîÁíî~§¯Ú›Ln-N®mÍD77$“»§”7ÑdF7}�°øƒÎæ™ÝâMN.-î›§¨Å7ã�aÀâÝÆZ_í!gñ5Š&]|Ø’u߆ÖÔºƒËMBWõ�$�‰Ð扙=á[4ñUQû§Äõ;—=³¯VÉD/í[Þ”S•è:¹¾¼O¡N~õòDäž -�íB"�蓞4;'‚uîÝ�AåF3K\„ƒÔ‡åºNúœ£Žt !_}ÊÀk/iŒ±Ü$½¾øR `myuæ(gÒšS4 ב"ue»~ƒ¯Å)1p<æD|V׫U|ÝY½L#"jñ(À7)‹ÝFŠö:uërÁ‹ä ¥¾Çòê5ëIèjdëM-Ž=Ú0ÐТٚk}Œ½¾�Z{°2 ‰�ð·gI¨}cžZ@¯mÓ^ðieÀîÁ^Zž×¶ÎcCèm™ŒeŸËj@½ñ~èRhxtf÷\\…jês =>ÂSSj- ˜ ¶é¾QJÚ÷¹=PX)XÆfo´Òi- DÑöt§´èO9K½ÀƒPX——¯.#€m8�ŠU¥ã›é’ìåå«ú¸z¥Ê7¨ûpMÏ¡D-ë ¡Å™ý€”Þ. š@ÃÓºu£´»zsØ;j@Ïìðn¡ÏÌ� �Á*�®Ó¯´ÐëÐâùq¡ôÒêZ;YÇ -ÅYÖR°«íiw»®ž_Õ€z/ãM­™26Û÷ö‰UŠ$Lèñ™(T.ª¶fQ{è&w«”(,ÆeM ŽZ�+b göƒ¹†9¢xk{R_Õ›{Â> vZ”]*€®�Åw½�~×虃 OZM~®ù—IAô)ITKQõÌôzò͆2W!5 Du6ä0P$-e`1ÐH-ÿÖÓúFÔ§õ–:Њó©,V - ƒmÕhVm®hµª„4€>‡ˆv©åֺݴªÅgöÌ®:×±kms7Á‘ÐÑys&@ -¶uv\–›+U ÷þŽCè}Ú·iO¾H~õ¹Þ”¸/KßãRúÚ³Ö4�NbSgYAáÁ¾\ooé�:к׺ô€xWúA?¸4�Zß�}+eÒ–œw “¨ô>ûýÎÎV(h{×µ Áî†7¶ØäPß!§¶ƒöú¸Ö ©µr¦ù›%\ɃÝ\y¢ÐN\¼óLC½nbe¹x¸%òù»8„v‹“s±�´°Å@A‹íEa"è¿ç�^‘¿¨µ]nóâ�¾º«V¥@©ÍÜBe7}”8˜i‡~9³=ä.=¶lQ"xµÊ{E­Ú˜)žZ¨hi¨ý”î—üû§ZÌ›L,¦šoƒèu¬4ŸùË�O|ÚšJ˜jêúY|Þ9ðÕfû]çé࣯ý´f™~îV_íyè" ý´¾�|i?mu¢ÑýÓŒ­Q>£ýv»¹¨k>]m|”¨ÔŠ�*2¹sÇ~‹Ï_”ŒFt>³[í§÷� �§Ì‹k�1•ç×£œöÓ§ð³WûéëÄUß?=ÄØ›+ô ýöÛç§ù”{2©öTÀêø»Úo'Ã;í§™h(¤ýô&I/t0FÖ¿cqͧ1Çrñ®ùÔâðfÃâÓ÷ÕÆ,µäD|ÞSÊ> Eäfò§K…†ÄLsç„:/)¹t_.A>Õæ‚ðé63§�òÕÎ;¸N´s2› –ïs6®ÜÊ]y[íˆßâØÂ§b#Ü8³…‡—Â`ï½A6ç^‹I`[pœè¹a­y�èWM™ì[Y)g¢áçm/äçHfš´ÑNè»<âù9�R{,X‹Ì�à?l‘Aä5¼T -=FjÅ~ŽPÆvfGžÎë¬ èã‹&P0m—´6PäçÈ(Yy:Ÿ"ÐâT -ôÒâ– µ.¤èm„) Ð�ÃaÛÏÙÿ;°´ hx„¬ÿ©:Ð�ûU¨µÐ Èì19Xlýk¬ÿ  �ïš@a.Öâ£9WlýkÓlŠ®Ðæ(oõÉ|SéhE6…œ”.ÐSßî“_0—<‰ rõ5ZÒYÂD�ć'–Öo'HKllíå -"…øw#WNŒ�}X&->d)çQBh¡•¯¤/�ãcð?þOÖïÉîÜõ[”z‹~kî¹ �v{3‹õ ?ø”Cqƒ<†¬Lþ®_vlóo="ÞHÆÓp,Å&­”4öB�(‡íöýŸäÒ5h 3îES‚æ0ÐÔ7ßH×ÃCÎG\ÎŽþØvØñ¨Eæ`Ï9²{á¼Þ!�ÚG{Ð�“y»ðÇW[¨ J6¤ÂZwH6ÒwGúПgÁæb.ÂÈê¤_¹ò}¤ º¹½W­˜è4Cú"^©îg¨>?ôÇhýœVµõC«/[AÄŸ÷RŸFe~Èx=jý„‰Ú -Ü×9YÚÄsáÖ“{£ÎLû‚Ì¿®‹jx?³KYñ€ ÎQà]‚19æßW§áb˜ ˆ”üd)DOþ%é‘‹žü^ôˆ¼¿›ÿ‘«ñè[ɸ° �hõo”â.�¼é’ämåhÞ·N�í5ßwªû˜+ßòÔë6SQܪ\ÉÇãT¦æ·ªMí€+ ¦v»­éL�ç!·óÐ~ riùè[îxLoVÅŠCX}bÏ¿äüŠ I%¿é !wNJç;6”ѹýi -úå�ÈßòÄ�´>�ZöZš�]ÈõtÆ%�M¢§ÎuÔ;ËüG��xgDF%Ã@ß­Æ jçTý> �Â� Ü­ ~ž"¸Í]ð`d=Ú­J°]k�Òœdp´ð&ö6Øc:KÂ[в%)Ya2ÑÃÛɪšФ'óUP7vÆ¢¦Å(Ób“ÈF_1™X_Üÿ¶USKEÅ~ÒµžŠJ9}ˆ,�Tí -ûbªƒâ¬Zº2µ�©!!ƒNSWÖ›;` <ðúét†6¿¤ù$jÿáúÉw¬xduü'#†oð`ïõ÷�õÇuvTgÄ)1FžcÔ)1Fÿc‚ZÍwè¸~^g7¯ï•œ™±Ž©ÌÃ@Ur¨´Zrlse1m`«såçµÜÿ Wn®.Žt”ñ~¬*�e6öß`�Æ¡�º=¦�‚ë¾ß™tššsy7àdS‘9xȺ0ŠÊ@ W15Û†¢°-4 § -{|¾a׺)ª¨¨kº6A*ȶ(Ý«rÌHèñÊ•[‹?g%£}]nÌÒ"oè†5;_%MçZݵD�@˜Ëëú[SÇ«ùÃÚCÒ;ߤ[Á@-« æuãrœf~ôU§]ã×åWH”� 5²’j5lùÞÔûáü¤§¡ð ‰¡óûáˆx††O´¿Ù‡EÏâçÈ -™ †3“È2ÅâêÄ .Û»"Ëk‹ÓÑåÖØI3ˆ.áɬ,gñÄ苘ëBs4göcœŠ²2$«8ɪIþYYnÁÿlj!×~j2®Ô -p¨ D©–uû¹(È�,oå.å�&ý¦¬z”N7îSÆ›»&â>gvÄ c®'1ýx ²a;:5Q ‹4ÈMéà¡)½¬ ŒI�iC¦4}uçµð‹1Q-+:{R†jPQ¼ŠÝ:MÄmÕ,áéÅ~Ï/Ë -Ö�fé\]#ÃP줙YéÑye¯÷vûÑ„”*OKœÙµ#œ°Lù6ÚO …9³›@Œ±-[9PtZ”l3cË¢Í*ùù�[þ7]®;3ÍwH{H’¸%ÊéË>³Úu[›áñVÔYbók™üÐúá&…bÕÐ.ÏJO³åN¡¼—3»é~Lr Z/âÙ¾Ÿ_ïTà^õÞ.gäÍ't– <›U¢Xïë„ÅÑ6¯Kao¢ßúœ£T¡¹hĽPgÄiÔ ¢±/Îc¤•{|š¨lÍÕP©².RTW¢u‡ ~S‘h;;Â’@¼¡ÜÅÓ—hª»ÕÙƒC?—hÐUu{f7Cf$.ãF‹§`A $£ÙÍÔ•r»TcßXÌ¢Îh³bFÔ†ðÛÑ^µºÇ‡äXð·_ÄÈÃÖÀã3¯ �OSœ™×†]kï§ì³×/÷§°ïaÕTtáñZ õ£gß›ÕbÐÏ/ì{i/¢.Ô= g¢¹}¯¥ µvy¤lxoBêëBù߇ۯ¢ ÌGÒÔ…{Ké}¥£ ¥ç°LØ(Pw-ÛI”ŽLŠÌ=CjE,²´§mQîyûÌn‚»¡³‘ †ÔæmiT:›hGÑ�Û -W`ì(çò}eÊæÝ�RS�9!fè„®�8™‡ýJ”ŽÉjlj*ÕRo­PKJo}šp/r)U‘‚Õ§8»f¸$½µNð�¹ø˜’&±<žð´-tö³ÝÕq]‘•êi"$½µ©x²¸’ŠÆ)D´–AS‡oqg&:O@èÄ`e¡¾]¡’&Eàó0†ìÅ3®Àh!ª¬ºg!Ë–c‡ÏC6÷Tè´Îì©à&SͯÞï¿É¡ÓÏ SÜÞðã:ý :~‡÷÷9tút8¿ò9tútòlÁŸçÐégÐ�ÙO“C§ŸAw�-øÃ:ý :�–'É¡ÓÏ ;ÌüY�~�ìÁ/rèô3èä;‰Â§äÐîWþ>‡Nq ùP_‹gà=éÄÒØí•ÚuÚX�þ¢bHr-f8(qHYý|"›L¼³K�SɆc}šÃ°*‘^cÓ+ËžÉ<¼g8ªóÕ&)IÉVÏÚ3»FFÙrŠTöÅ6Wªw‰H»h<�ø��tÎ<|_ÈwEìì]ë;{ân‚^õZ¹‡©íêkupxŠ@g¥5Ó lð - {|Zt²ÖÉ—›4ê†ÜŒyߦ\8�]E–œ±zÓÚ“ø¼®4äs�I;Re¯ó«„­HÝ+¹©�écdgì)Ù ýÈ =N.u ÈÝís®¼¶>?Î{ÝØ•ì!±ÇŽâø’ Ž—ï¿hâiãuþOû̱3ûqá�ŸeÆ�Ù�Ôq™Ý�d‘^aPGEdt†¤¼Såx2‘Ñð’äú": Ê#2å£"2»§Us¾¬¿ [ÌÊÏâé9Ò5 +s± é91ÒùéíýÊYù×”†¦x8î>¥ò#2ŠŒT”†öÛˆ ÎΓGd´î¸3BLø¨äœ3»Öa—²~zÎQÉ9h.±ÆF™‡zug78McÆX[ÎöûœÄŠÙ“ ’3WZ^˲òë{Ãv9vëú}šÖ‘=Q4I¡±[‹©£ ‡ô)=9ŒÖÜôa`½¼ºƒC³ªÖ…a^ݱg×½$„S)$†g1nXS”lòغKeµe|_Ÿ¹½2³ùp÷õ�(ŽßKRfÄ�:îxûI>œÚ U”ÉvÚ|¸ßœP5Ÿ§—‘zº|8äñ�"\?N.-µ:ûm>ÜîV “©?ˇÓ8â|¸COÜðHßòáŒ3ëMmëdî+þi¾Ø/ÎD*lK”|vª3‘w{7ú7¼ßY˜µßõÎô‚òþМPô‚*ýòZ Ü�~Ö™ù~~‘c/ú/¨“[y†w‘âä:*nÓ:þÄóãò� á79ª�"0džǜiмq¥�âh2î -A9vÔŽ&k�#|ÿÐ�–åñ�÷ýž Q/ -&ü‰÷Ê÷sL"¤V&êç·W]à^Œã0æL{¾3­mW­›(tâÒN•+�QŠWÕÀ”VÜ9¬™‘úò}’ŒTÒjp‰ŠùŒTÒªô‘‘JZCf�P½ŒÔ®•3‘t£o.ÜŸ(#õþD©÷'ÊH½?IFê½Ú5Ð�ÏDþš|Á×@Ë,¨2:ÈæP°¡Ê5Ð(ëN_�™=m{ÚT8~.×ZìT©p?¸ ú©p»ú•ª��*Ç-�½÷_¦Â©ú•'O…S‹*œ>Ž×•rÓÐ8Μa¸¿DX5·ú¸á‘Mlp#¼ÚmÀ:Yb?¼PMm] ³ž@ÙkèÓØ0Ùkj/É„$FÛýwi^,ÉFÔUzÇ)4$ EÈODsuϽ¨fœ*9 +ÀWû¥ÖŸÿüöÝâë¼å-þ4ýfñ—£yTÎ<‹>=Z|£¯6ú“²xû�²Å—kfÑTR3z±[N‡bÀ§÷•[}brÏš´¯¤\+ËP -Y©XT=ïìÒêÐ+ðëdØy/©Ï[  ŒÍv·œ>k%»=édØ­­…/½ »áMK¨ƒ,¿÷µ€ävÊl¬LKT‘ìfq{¡¨LK~_Ìv3UfØ…Ü�š@Á í ;¢%n4€âz|Íõ¦•w¦›a·i-ú>:{ ‡õø8;ÒªÇÐZuj~Yß%-šsµ¤^ýmÙªrQ<þ$,„;û4˜i¶Ã¼/¶|ÛÎæ†=2¶ï·üCݰ]x$ÐÝîž^”tô’V˜¢âŽëðJÃÂV»J’Ú‘Ûƒ»Ôä¬ÊÑsÎèÚÿC}­UǪá,HÇøó¢_Ø>âÌ•vj�Ü6›N-—Në®›ŸgÓ™�Zÿ&›N¥+òw7„¨eÓ©åÒéŸQüI6�Ú> µ>e6�šß,ו§È¦“ k'FÕö^—M§–K§•3òólº½W-½ìÔÙtj«»÷÷O•M§–Kw°›ðël:µ\:,aNšM§¶~˜_NšMg`)�(›N­+ÍÞgÓ©ue\SøØlº“aÌÐ&<c?˦ÓÀ؉³éÔréLçX™Î¦S“‹g'ϦSË¥;3,ãxl6�vÎÈ)³éÔr¿$Þ뉲é n�=Q6�Ú -í,Ø“eÓ™ô+™M§³ó~Âl:5.×½ƒHÃ(EC -µB¢�,?QI½®{¹X:òê&M/ úž[Ž8š‰Oyeâ¬�uñƒzuj�žuñ³zuÖ…a½:³xrjI²—dOƆ…* Ö¯|]�LÇ) †´jwÚÑ¥|Hf˜Y’™¢7(# À`H¢„�A™fg£!UC/&%ŒTdÊ=¢ÄF顤*£ýJsa°ß•¹0¦_èî“\µÌ�A�-ôYæN£Z–¼ÐÝ“÷,üóóÉÇ”¹Ó9Ÿ¼/t÷‹4%¾Ìݯ#ЦÊÜ�™:†òÛ2w»³pÂ;ª…î~}؃·ú*ʸÁˆ!v«;2Ï‚¾ºcM$¿*MnÕ}±Šæàc¦æÖ9«pD"�ÜòþÑYkXsîØkøÕÒè”{|?,Pg&Ö +­¢yìð¨CdØæGi†GTØ2Ê'ê¾;Ž2_+Í­?ksŠ¥jpÝQ§Ó³ž†‚ÎNuª13yJ?Í£ûn¦6¤‰ÌG÷¯“{³8›Ãíùu?®sd -MöãûáhuÝfª“™8Ù…º -˜’–&k݇zï¡}Â[¡3“ù&g&2NÚ&…™TwÉQ)[—�ƒ2U'GâHê&2ì®b–B�_cúÛ{æBÅŽâžÚŸe¦€z3˜³Ñ©yg¦JËš«`¸žhc5]µHyïñ�3�0'´OuÞ�bs÷r‚[p?G&2¨�îÀý¨×úA"ƒ'WÖ€0Je0`ÃÃs(/»4ð_L²¡Q…;sù•¿­p§Ì}3Å9GW¸û©5~\…;ÝÌÇŸ³¡¬”[}Š~Œò‰ÌVÊû]>ѾRž6þ¾Â�ª„1YÁÚ|…»Üj޲Ÿš&.Ç0’c÷§K¬½ÇfŽŒ_~žX{¯ïU›­õüòý›û©$™�þ$ÖB/jѬ#Ï\ñýÁ<ˆ�óýü>±zѽî¸üvT.O{#Z8ZßT1™Æô¾:dCøÍ8®uf7Á†0«gÍBëf’˜äZ,æ2ymº‰$¦÷•r]~|ñîÌØm?3鸿¯L…©5ã–rŒ1§ñ+a%;þ#üJ ÁõpT“EwP¿¿H_â%9©Ìã_™ãª¼èøG†¡P)ït9®�j®{ÏâØ×ÌÃDÿЬdÇFXíWå©�]M%Üs�mLXf&l˜Gµ ×WÊ3[îQ÷öT‘î$åÅŒÔSä¸î vt¼¶ºV=C"Ø‘(QÉâ©ÄIœ¤‡ÒúZßû mñ´Ó úÔrû*ïa"ø0aÅ“XL¤ƒ£KûÌ)”-xiqi‹4‚„Ÿò2w΋ÅRªèduØ\½‹æDê‰ËSÓ^ô*νù5�… SWzfç ÝÍéø»VÞ›Т%¬ ´X\=J"WÊ4<Û7³}ÑJMÓɇ‹Ü¦š »Ô4ÀÎrŒOï´ÒðÂ#OêÞ³ÔJÂÓÎüô~2-¦Ìý{½ÖJ8dlöI°ÓÓÚUŠ3ë1‚‰˜Ú\…$ÒϲM¨åÅÆÜi¡×‡�J2¸ås-9«ŠXÓ�ÁãOb -æv`¢Ý™}©Û83=Zë ‹‰v«íûÄ.‰Ÿð”|`vЬ oû\ -Õ©ç>Õ›*ÚNQÑ@a­63Å~ÐAìôUÌ–GÒÎþ‘^­¦ZÅÌl•/Ê1âF¿Ë£�ÚtÔÑ*MKß7î08`j6’xj¨@S= ©‹'§aíÓYiÇ­ÒIóe¥AOqŸþüÌžíA)nG6MÌO–cƒ -�tõ!ÉN|(nl;éÄ©øEíœÖNpÝ©Ÿ�U«Gßü f -Ž2Ÿ ÆüèSæ¿ü ›?*¸¥_ûé-š}k>»ÖjÂg5˜šî]6&ãc�¾åoâZb�ÔüKÎÌæ®aE=õȲDZšËüÑ%´r] ˆ9Õ•�¨«Ý)-•8ŒÙ’Ü» -”‡wÅG¦Uw«MI˜®õa{"¹pš[qœ¥ÜiŸš;.PP» -_Z]ÎDÐN¾Ýæ=<@0(ªÝº ˆó›Ín‹hWé5uG„äð±2ZùóD²ÃûÇ~‘~¤i¼IïQÜÇðt²7We-¥f—J&ï Ru/Œó÷M§rÎ r¨„ظ©TN�DÄ Ìà.zå•�•¢¸  j×;¦³GýúÝÇaÌ(—ç(Œì\3IA¢�cœ¦ŒHI÷_øÎ´íC�,@³Î,æ—gšÍ4u«†V¦+êíê#ÿ( ð¸xòO³wð råØ�Í4›xfÿM ÙÀ³_ešÅ'ÖÈ?Î4›¨ô‘�ËÔ15wßô³…ÑÎÊDQ>e€LQ>9%dmý¸(ŸÌ³ø‡åS�Â�¼(ŸQ�÷ÓåÃ7´ç6r×ôäEù4£p'-ʧš3rò¢|'©_iX”Oq߸ޠtlg~4†wCýº®Ÿ~U¿dr�ìn(ãº~æï†úM]¿ýÔNp7”f]?ý¨�ÒNþi]?ýª~?ºJ¥®Ÿ~¸L+¿òغ~úUýÌP²©#‹ºUýToiþA]¿ßfr�â´¢�Éu¢D$­ª~ÇÕ¯Ô®ëwDÜòuýäkn²:ÃÑuýŽ?¡ú“º~jéˆÆgᎭëgDɧ©ë§¯èÎ ¶ÖÌÖõ3‘•v‚º~bþ–zU?eœÿ§uýާ±ŸÔõSKGvÜ{ý¾Õ/‹¼ÿÖ½~›íãçrü{ý¾Õï7ü–Ý;Z&äoÞë7Vó´Mâ¯Þë7:¥h}Ömþ¨÷ú ÃüV¿}kE�y¯ßÈÁf¬`jvßìº|+½×ïà‚Øž>öË÷ú�Õ¢%÷ñ�ÅcÜëwxuí¿q¯ßÁÁ…¼oÏïÜëésôV¿ýò-�{¯ßA‘yG¼ôuØ‚xß}Ø¿ªÛnÌøÈ¸eϵ«F\»/rí�xïý–ÝÂŵ^–ðjîÃz;û¹CöTÙb±gÌa æÓ¶ˆ-v÷kÚÑž-ÊÚ·u·4súçõ'WŸÌà»ßÈ›íÕÝÝ‹æêÊ£WÏæffwêræÌ9µ6söëƒ{3æÜƒÛ ç?Ÿ»º°rq—ùü�þøûŒºþç·B­5×/«µW¯ÖÕ�ÅŸ÷ÕF}õ…Úxñ|KÝ>ûc¢œ?S©o.]U�þy÷^=>³ó·z¼¡¿«Çßn�RO.½»¦^Ýùô‡zµ7yªÞÜ\ÚQoÏÞŸUo/¼žg}åŸKgv\yew|=}s÷ç¹½?N~»úפØp?Ce燯wWì™™Û�®ÎšznóÌöÝ“�Ÿ?\9µ³»¼vÚ”oþ<óöÁ9wâá­­¥…‡kwϬܻ°mb!àÔì™õí—×—ê�ÓÿàHÖXö¶4³ûñÕòì��·ï‹º?BöyuéüÇÏÍÌÂçò^ç -È�r‹àÂ… Kç ÅÆ6K¶ >­ÞÞž»wðJÎo•ø­º´¢Ö>YS7N~½»ûÃ=y/•¤±"µœ¸pqyIn£<ák¯_ÿgy÷Ç˯çùÝÉžÂî©$‘ÏÊÅo³™gU¢ÁÛºÑtì—±�8ûjí'ïÆ|ê¯Ï\¼ýäéÌÜÒæ –ØÞâ?çy¥æÝ™¥åÓ¯¹m+¼kó%/Òl8¹ÄíO·ÙéÛ{—�œÖ•/_7~\ùãÉ“× ×g®Í­ß¼ ôË˵7ó/þM?«¨qœ"‡�Áýöä’·œVª—?øq9pâjýLü‹·3¬¬ýüLo¯ÕY?ëë~!±ùq1|\�Løq¸¼pýñÓuÎæeqéñ·««7—µZ^)çÖ®›ÛœðóišÔúš½ÍËç7fvùh![ÁâÆÂV|°”?x]oÇé}¯ i>\ißwG§mMiö³Z¾qñlúVŸ]Õçø�ÕÅìÁæ©Õ‹íƒ›GžÅÞ½\àf̓ƒþóîkùX\z4ƒ�w/Ÿ�š�C¼‘ˆo×d¿Ï‚|¶¯ -Ú�:bŒùÜÙÈ�e¶–[”_º¶¼yáô¹;g­]¸^þ“äBàÝ7žÞËG­÷(F€Õ˜ãÎê¿3¢Œgάœ¸ÖŽ7kjÖÝkÜ�µËg¶^»ù>T¶bUOu‹,M:x3ÿùÍÉë[Ÿ¾7Ù,ãÂ7ñ–½&Ø»;KÜ Elj½ƒ��–Cä?UúÝÆÍyüõB{¿üîµYinœÕ»Í¢ýë})C„£ýt_F\ Ÿ.‡ß~z¡Ú¿^ëìôßAÛX óùô¾È¼ž)Þxª|{ûûlX˧/V$MqÕîüöëù¿Vÿ¶kw®~v']ÆFHŽ¡*Í/(ýã½­£@-ï=�Ä—nTÙ{­ô }ymêö¯÷&Á�QÜÇúöþ)ƒ6žÏ§Ú{¼vv~å|ýxéÄíµ··gÕÅé7?juëÆB…³ze->U'3Å¡«)`+ï®F/œÙ8—G³�È7çÿ|>Fy|óç9iR°>³8éáß<•éɧ=ßôGvñÙœ0EÍ•9!¹–…=ø@6¿3ƒó,§»%7kެîÍ^‹šä–Lßþg{Axòú¼/sþëÌwάãŸg_'ûŒ9syæ•»jÇÕoáâƒëïÕûÙ�kÐõ¶ºÕýÔÿ.üáõw6«ß•¹çJ¾e»†ÛíogûCü|w÷{¦ž�~nnej¬|7sñoÒ½¿ÇÛ¶uºJø;¸Ëgwó!ª¯ký!Š›/ÒüíUþ í´Cœíç\Ú‡±9äuö݉„ØjýÚƒw±¯ÍNn^4…Ð,çáÕˆ9Ï^ p,Aþ"Žå<÷WqL¼KÇžCÇ~“âçò}øEËwbÖ»ïÇrŠßMó!úËÈÉu¸•ÇÚ‰_<�„|’ÛsøN4D�ÿŽÍ�RìÀ!ö¡ø£œ†€gvì×�j~ŒÿŽm%O¿!²ý¥e¤ãœšýÅeìǸFçài¿?‹#ÐçÌ™k/ï…9˜½Fhg{ô™Iä£îÄÙ„•G�CŸ[žÝWu9Vþ·<›xıäPÆ-Ï/÷�ƒ¹úLßÌ>¾Ú;w+ãcg‹SçVÿHÏa†mlÄ� ÞÚJ}tû±ëw_A´ø±�‰·_˜3+sëÙÇÎÌÒÌ䣟—D`k/{÷cæJ6?þžYºÕ<ŸYrKÏA/°ý×gïÌ/ŠJƒû}ë.¤£Ò»q7lß/pªÏˆ8žGõøþÔ©_ð¨ߟJìq=ªÇ÷§ÂÞ?¶GõøþTbòq=ªÇ÷§NÍþ¢ÿóXþTŸs<�êñý©S³Ç÷¨ߟê½ÖÇó¨ߟ:õ ÕãûSES:¦GõøþT¡ýŽG•v|Š€2r{ÆûÞÎ^qbÌ·¼æî×°‹O?-´|êõ:r&ËOÜ=íIAÍM~Ä«&Þh „V•^› \æÇs zýÔ?+žSEv„_ÿ|cgåÆçÇO_^Y·3ï0Êãï-AÎ}‘n½ð©>#jî³×-ÜÞIr,ÒÎÛ…•»Ÿß[ÕA ä«m !1H³ýK{sU81ßRÕ^Å^ýêâ¢�6\}úbW'í×–cÔBå*Á™¿ßDzU"|0àW²كo«âƒžâÃ[²oÍE"ÿs1𡌊ܟáÞàJ—•ç‚ëKkEKµ$ÃK÷ùñÞÙŽ¢óîÃ÷ö^à[§êsA,Þþê£[K鯾·,Á½ué&·í^vëÞ#¶ÈT‡õ7»Aœ_*—dÇ.åböÒåóÝï_ý<ùpöÊÝ­¿6®ýqsæABHÕ6á]írËÙn†êU3¿¾vÁ§ýk#ÞÛ¸˜²Ú»{jûÆ«çîÃÔì•?O}¼þüý]òù‡:á¯yõóõåÀaŸ½.¢~Qf ¿v©Ž¨òÄG�̵{«ÔàŸ,·hÿD‰ý/«{¢[öD’¾ò¯"þUú!®ŸÿÂ4•çaÄ7[rðÏ£Òý\Å¿t~úæ­yý±�Ïó"›èÛkŸNµªÃ?U»–çÁDPó§œ2ŸÌ^_læAÖêñ©…,u7Ðþýö²^¿.ù'dÈ…tJÈóIziqzþ7õþyö„AŒW:þer¸ÛJ~W¦Ù€öÛùÜ[{ûøÙêµ7¿¶výöc×j,_*µýîœ%†NŠS.¼¥šôü°ì–�QyÙÂõXTÖÊòxØ¥ú̹Ó_MyýÉÕï�Á-Ï^[hªòBË7¿]ƒ۷®ýܼ{.^ZkNÝ¿úêÖÉõ•ï§¾l´z+ƒgÞKŽìÖ—À³0_OØ›'n‰kt¡yü�ˆ=áÏe&WTKB,ÜÒë0g¯\üÖã–J› ­ß[ èò’tøfûXè.‹�w[…°¾à�Ï¿�{1šÿø×ëË/‡§ÏGä°Ë#Ìua„«.y†ê•š—¯ÝºðUA}YKºç+:u`øˆíÒ©›IÓ˜�áÏ«úÆÆ‰‰¹¶ôb -Êå…¯MZÌt˜©Ù´˜6w¯›o{:ÏB4›˜Ü‰ˆ}r„0ðAxpùg ÿR,¼-’ö»xHyô:ŠXà™cã1qÑ_PæàCAÇŒf‡ËµŽ´Œx.ý!ÞýøÍeüý³——Ð6Ž|w_~;>Nw­Ü}³Yu+ïnÿK¯€]™/ãì©lˆK«ß¿v†ø:søF·²MÇ_¹»{¢âÙ—4„Z¿ýl+Õ³—Ÿeß½¾ÄøN ¿‹cv~Ƕ÷Ž5Äp€Ï3¿�c�w~Çž}ýÖ‹ÞíŽ €µtvâùAËøûW·2áØ§Ÿ¿wÏÞìO®S³GâÝ÷ß™ƒ4ñßÝÌ£ŸÆ³¿G)>¡T -7O¿‰ØÏv~Jáâï,c·Oc”ái¿Yü<ñ{sx~òäáÙüx™†˜9óøïùïÞYä©�!¶¿¶‡Ìáï ¥ºÜò¨;ñîÓ�ßå–ïvö=Ðåлï}Õ“ÂËw?gò�['Ot>ž>Ùfº®{?8MÔ¦å02Û¹gKº_ŸÎ,~ÿ¶1³xûé¯â7™Û‰vìr09.>+óˆÇi³")b·öæM²øî~m} ¾Áý°â­nïžd�¿ŽQ„eoKoo¾™ ý³-1ÎùÔLùÐøÈ¦Kçæ–ülýsL4˜ã�ÎíµæøM•ÌÞ<ÕKqN+èä9OÍæU+«)¬÷ª¸¹œ×Ç�v¦ æ¿P?²o´Sš•ü[õ#ûF;Ó[þ­j�±hçÔì¿X?²o´sjö_¬Ù7Ú9õoÖ�ìíì–ünýȾÑΩ³~dßhçÔì‘ëG~#Ú) ÖÇã�ÿb´sjvßxç¿íLîllþw{wJOûÿ)ü�ÿÖÍ´6nÚT>TüvãÝÔœÀNëùé�üâÊõ©Ù7ËWv÷®}ÜÚûøugs÷¿ÓçøÕÓÛ�n^›>7íð?8?=‡)©7€Æ£y†Pß`šo¦Ôôüÿé0žüså>Þ™R]U(£UÙ”MƒiLtYYk¬QÖ¶,øMU•®)Mã -])NUMœn¬ª]Y袖éO\úX6Êð›é§›S*,oÿ/>ÜÂÿà«ÿLk5}{úÅ+5ýž3»?…}XÒåôùÃèI]èÆÙ²©uÓØéÁK8ÿ³5e'Æ:¥‹J§TÑÈ×jd%ïØÂ—¿|¡øè‘a8ÉÁ¶¦þ?29 -lþŽ? ÊöÔÙŸüï·©fRM/Õ“J)�mVUi]]a7´}°4ÕÐôýÈ@MV~£ þ¨.Lit>©þ÷휌š—êªrUS¤Wïóõp”¿°Gצ´’§Õ¤ÒJ7ÆÕZ5…ãËëÑíƒrø@ü`8Ô_í£zÔ¯K«dÊñåݯã«mÿkuÐ×ýAâK›ñ—6ã/uã£ïóu�¿€~×F‰¯)­q�²Åôà‹âSU!»WW=âK¿_ö›Á}âˇIÄ—ý #>¢�1ø¨;T@äá×ͤÁ·¥-Á¯øC@59b‰Ç¨‘/W§ô~¤æØ!­¹ƒ¾È�~k¹eÊR—Êš±_ÚÁ*íÈv¬NYÁþî·ò­�h|[9Ûð%Åôà�À¾îïÜÈw«~eƒïʱõ=–àwn¿ïGÆáÑŒ}=8Ô�`H™òeGVDZ‰Ä¦¦tíŒ1¶òÛ.Wåß|áÜëRÛ¦ñ nÂÅõ±ue«F×�œçDÓùfkj£'ÆÔ�ªL] &¢{®¦±Å›¦hʪУx~È4†ÃÅŒÁt·¤?�þ¦~2Ëé³�Õ»îî~ÜÙ;@ëÒ])/ ØÌÄ`XCSc"… \Bƒ3REe˸²rR@§ŠK…ÀT®iTY»Jûß“Îã¢î¶2ØoR¥™@W«M­*èhº ç*&®l -UjA'c@.TF7µ‘YáµÔøŠÆóN£†¢Ø >ÙÚAé©Â˜B5FWeUB–r`$¾ªêºhLãEm�ç -ÿð!EªIiLa ¨lVÇa9Õ¤†Ò¥µ5^8Äb­¦¬U­ -¿¾»Ä~jë‡%P]®¬üŒ)®º»HçTYä -vÀÖP~[Jæ L•ñ¼-î›Âl¡ Ä6¶®[3x^]xñ�Ã2¥+A`WÚ�äó*¸ieòê�r°¾ö¿PŽƒ7À¬Ð‚Ì^8ÔÔÖUIG†&UÃJ©­®=gÃÙ6ÔÕMá‚é5`Þxy& @`Ó´ÜŸ~¦jm¸Uj˜ÆZ›€ô@I ê¨ÐÞÀPp.a_b“tvÔs±�ÑÔr# [S¢ CTCॠÆ�‚Yª&²jN7Ù¤^¤ƒ—ÛvHSÂ$w[Ebƒ…v– +´v£= -u`Qª`–áT†*,dHð–~‹1UÎ'½yƒépeCVyW8Ø®<Š3äÚÚñ]!80ÕV�%“€QÎóÏ«JÊÈd&q�þ“¸\ÖQ_ßu˜á±RЇ]/xs•Ù¢ôy”àÍ›Jё͑\"<•W`´#ö�îžä!D’ $Ú -Z}rÚá1ØB”Þò@μå)\gr ‘ç@ÓŠêžBÕ¬š$“ÈÊ{û¤�™+Â,„'�Ê&)å8+PC™PŽ ½Í‚h·MR�Çf -ý¨60ÕÂdÅÅÜμUÂtªŒ>é½ÒQÁX.3¨ á@xX…gc„AWET?äM<ï­B]s³Ãì¼wu�ú4YE¨ -Ì®.[VI‰©hh‡ÁÁ#/Âä å"mBÕND%€˜ºÓ­ÚBêÄfç̹`ŒäÐ"H�«á~APUäuƒ·¸¨…ŠèÇÈMÎ( ñ®\øãà:*$4%G4`‚…­!Å¢xÁ¢°“°„Z -Oô©M¾5Eò¸ìÖµWÔƒ–1Ø;€ÔPu££®BWEX±¥ xl2EF»IÊɰÌ|™5·;3bå5ÔMëát{£ØM�[ÀʇöÙJµC™ÙaqákSb&i+ÿïÚ- d@À�d¾ˆâ¸Î<ŒÅDïÑ%ˆH§#Áh…7­�؇xn!À!…ZŸŠAÕÉ| ŒšbQEX­Í#Z -B™4…!ˆ¸„ -œ‚ͼ|>³GœÄFå1bQÖÁ¬ ô-*G×Ý_@�†$�ü(rQ6:Ò3ý¹@¹*zoÈŽËäàðºäj×õ­��ŠŸ~ ²ŠŒ;µ›˜.Ž%�`ÀAñ+"ÂùùÁ`ÉNøcô@·‹è*ïàP6�] ’*2r€îUo7 äkro@áJ£r€î¦¬¢gÏa­gú³C2ãgBßxD@x ö¶=K9°úª ¬Åƒ€º]2>xüƒQJlRU&–,ÂÑ‚hcÈüÂÇAHE¥ËÁö§£¿„܃µÛzÇ(Ãbÿ“A^Uƒ‹—°ˆ¯j¢[VÆq I,³Nh_‹šd¹ÄB¿É"9Ì•HrPˆ§ÁÌu¤'ï!ÉOŸ -8Ó"zôærWÖˆ¥ °3u“Ÿ%`¢#!ŒS@oÈ÷wÀ3ão‡0IìuëȆÊ[iU§¤˜@X9ŒýÖ†„é$ó†¤y“ü°\ ‰±Œˆ¥Äç1°KƬ'gˆ׊QÀ`ñºÌ<@ÉÛ†—{�¢*[zû¬hmúðzXfÍ -iÃÂÎD1�’rá‡É€Ó€�Êýç=´—dˆµä “à¦Vx–Š]Mõȧ[!ÌÇàµY0p¨õXЀI -£×y:gO¼Ä:•©WøãEl°t?ã Ë†Š‘e -cT`d=<�H Ç -µÍE϶X?4ÖL4~‰*wÆ „ný~W¸[íªÔ0-²Û[¸�þÉdŠd]X⯄ÍX¹"WPºÂ{@0�ÜØxݨB0JÙìl˜%º«2N.âlôÏðp:î%‰<¶~�È¢ZPî1DkP{ŒÔF'Õ{põªu=Ï -ˆð`ôŒéöÕ¤Î=Üt2(Ûµ²A]d­™˜�Ûœ–œx ¸ ‰mâÄaõ%öŽ!€P¥ŽS]å{Š(œ[¯F *¨c¶Ñ×FõMfÒ‰@q"ÀÝ(Óh‰dqX–£l¡õV©ì øµÉÔ\Km®*Utxrãû39˜Û̬þ—&jUÙ$Nà×§T¢k/¨KôüB€éÝÚÑéG3Ušd!3بëÜOêäØºÑMÈê`"¶¶ìP¾XŠÃ2 8S*46§;Ñ„LÉxéêÔ`ÖÃ_f=|ÿ`Öcë�_µ‘×zl;¯nê` <ŽÕ©‘_ö·dðúÁ¾WáÏ'†êïÅà”‡;:ÀAù>^�y@ôIÛh„÷ƒÕ½� ˆíÖµ-`ã)ÕNx,ÈÀ´Ù2EKdÖeñ†nÚªNæù4Ô"[—­ -ƒ}‹;,œ®œ y„a »ôfq*`»Ÿ5 -œ8™®\P×Ta2aÊk,$óÝP¿©ª,l'YU9·Ç~©è„’ÌjXE yy&[¹œáKdzFˆáz£ 2¥Ì¢n‘ÝUÎgÀ5eŠÛ,ù(‡j5Ñbô€”™ïA�â S†Ÿ té²l6‚d* �‹‡W·07èB6%*@C�~w9!Y–s Y&ÁÄÑWV€ú’*Í®Ž›ªª6¤Rb2�›ýÐX`ë¤DH:! Û:Ü8ˆÊ’oB¼­D˶M$É *ËèŸñ)EÐeéÉm²Ä¤Ì³JA +R‡Ì$7 '‚è&Eüe2MSD#Rò]ÝFR%k…éÉ6ó -,øÒꄟEñ$i²J‰ÀcÏÉTcï£0TÝÝÎ6̳ ©,>S‘q‚^ã‚°èÐ’dƦëv%³ËRn -pIÕf‡xßð¡VÉKQ1óRÙ:s8ã�øTD ¨Âm(Ò»’Š,ñF ò°¾gª0¥—zìµËα� |Qr{Ü„†Ý²¥Ò™�÷}A8¸ˆ‹²p¼Êæ8^w/ׇÅû�²g;Ï|ØYFÐð÷j)-3ÅñeèÂR&)ñ˜#±ö]ÔnC¡ÀÈÜaÀÌ s׈.Ë –v)4^JÍ�«Zß›÷�€ʘÜ#ñÝJwœ -= -12¥µœ8Q:žB¤ÌGéxâBX²¬+ -�T'ß�ŒSfeáU�3£¶©sMÏÐþ‡QÒnº? JY”QÃRªNn³8M–e+‰“U–GV·ª&26І°p “$�È€›˜+C�2ÅÇ\ÀȤx�Ûè´J{ÞYÔ1¼$‹ŠŒ°ÅH l–L£È”s)¢yBéÐúb;i0LD�noÚk¤ g²ìrZ®it«æ$O§\’É.ÍGkuBBPáoçáS›Ä¥‚mËp[Πý”ѳ̄RØä•'@ljßð<3¯¥œ öÐ+…ô�9FG€BUyŽ&P *3„†’lbíÊ hX©Ò£»¢‚5“‚I¹ÎÁ;ëÎ固eÓ2ÌÑg$Ó­·´©“¸D´ë«©•JCÆF)¡Ù%™&‹Â‹‹TrÀD\lŒiêèˆéá¢c|ZT*‡PLv°µmm4ºa!eŠ”? ¼(Ó5éTtu™IäÓæ6´NCÛòÁi(E‘ÒV˜I‰É@SwQþ7Üà˜ñfÜ’›¼†9ÂY2#žãòò‚F�)Ë|'KâS–çêÔØ8ª+Oـé`g@mMŠË�-i˜’Ôãçƒì‘… å¬¶€ÞeL¹­� ¢LNçÁÌ¥ÎR—©e$ñŒÁ ¢dàüªŽSg¤òl"fzªÌ�ÝKª!¯*ØA¡±1e˜CH^)ZÅàò™ó‚bÏ$l‰f+• =Gv�&ãkLJœ`rØ3oJ—)ßÉЪÊd–3':uÂëË2Äq@åò@'V2×ÉlÄn`K£ž©Î�éãþy–4-™ô)©ßǰzÑ'Cü�†€Ér† ×ìŽB˜‡š¥å*â`j±@RªƒÚ -Ãv³*^J6ç,�‚U -¿&±-ùQ±ÂÇ?úØv¯‹~`CÆç°)ug�·$NçÉ\P~MòJ�¥§�´fæ7(Ñè·c w{R/×Q‡—¨Ž-ƒ€m¹,‡‘9ŽYlËU¶ƒ·dxÖ¤¼•AöZÕ 'ŒA@×JÞÂUÿ6 ‰Ê>9‡qN¥ÌÀªkÂ0õ¸Î뢥4 ç‚®n˜8Ú‰Ž3!Óѹ%Û3Èjq%»Tòmš<¸Ò¸FwŠØ|VQ&+m°_*¤ 9}¸dŽ´«k�§%PÐe±ˆ²îre=XRGMo¼î¤â÷“=(5+èœQ¹šïn’›>¸©R:táË_²*%Ëäx’¿Æ@ ðMÂNŸÛ‡ÁsSds—:AÅÁ® ’br̯¨›ßÍ“{Bø¦Žž7’ÿ;ÈotY!�÷uC¤,è¬óŠžR²Bêœ]RB%WÃЈ˜âÙ.²2–©ytJ¦´…¾…Øf¢ y]¯îc}ÖuÇ‹ØÓD†©\|^Fçqp_6@.Ó8UctJqÿ¥ö•Uëjçt�&yrõÀiî&©Ú“.Ónˆ´�ó­íÕ}±ºÚfTnÄGÊì™TW*jv™ë¤L¥ÌÊ$©ýf¥pa.`·í¸2†ÉÈ\üòU‘œË l5èKYöS΢}çA˜ñ’ŸqÅp|r?7Ì«² ‚O9Ë"å¬sƒtHåu|^¦Ž>¾\JwRÒpÑ'«ÁïóÜ�° Îö74¥s‹� �ø3 pÚFWÙ Wyñó@ÖS±ý•Kû†—º– š”e“UCaº¦ÌÊݱ-Ö‚ÕMnZŠgÜyc"YJãÖf5; Ý;¥)ýlˆ�E;’ÃØUQÛtð×9A꼌RÆh°ß±Èn�»!”ØåÉï$ Ð ²„JX`DµÊgÓ óhÈ ØD®-è’% `Èð²²UF3rÖé]Ð.£^1ŒÿÒ É<Û^xôúöè %E«m‡F`#�ÌL¤õЙ±Ü%+Épm³´[›½õãi�òðFÇiò*Yú“ Ù+Þ�”!L{L,�ns‘Šà˜ÒYŸ„QümL”+£¯*;f‰_ToÆ75�­²1÷˜³I*µGr�½¬©LeþA(AZï$¶¿äÓJó4ˆa0†6Zî�Ô@Œ0ýƒ>G—\%2yv3s� �$ÿžö­’¼“\ï\Âøôð¼ºjk$x¸5ÌÔ’¥Z;¢«ÉŒÙQ€*Ó5ü’ -3ó*¨±MJgÁîš$ºøb�ZÖÚ£_¯4Ž,˜âš™å¥D®t'ñú½Îj²–‚Þ�*”}MDÇ(Œa�…Ž©©‹T«�«æK…7»;U’S‘' â§Ré¬?ˆäþ@¾MÀGv“¸Š‚qvà9øVJúœð‰äüµ½¶Ž¼A²xÓJ@VÙ¦S*Ë®/:úe}ðÑvjÃ$£¸[4ˆ§VôÔ5y´©/ÿäUM/FÚ>fÅ.L¹©›ÜC%5(U´u -I�°ëFKqÐ*rZÉî�YÙt¦Ó•9ÒÙ ÖP&ËI§®|�°";�æ-ßÚÈFïcðÎÊ^Y:�Yñ‰Mz%ÜýÜŸ4ØäSóøÉs ™QdM™wÒdF8*ÌHÎP.×åEU ЇA@a˜},æ¡M_Å0„Ïyk,3mn $GCyÏIJ;mªOr“ŽÏ^i:)R€wл¢”È(bUš4e>!\j�"5ÞVX™Ä¥ŠJá9-íBz ̺ؾÅ:pœ¼­’ÏRÌ5ˆ×èÞcÓ»NµÇÒ ™Ÿ™ny» IBjŠXÞ!í’­sÇ‘†Ië’7e|ö¹e4))�ÆMQåj²ïQGÞ" ÂÎ댅±ŸG–BÅ�ƒ®]÷�O}KyûŽUq-þi÷¸<¸”î³Þ`—¥lx"$>çB:¸¯Ê{g²’i‚×!Tz�œÍ£~lµj³̦KifÄÚ¬» ÝGÐçbç d)ùÂêNÃx–¤OvÑi@b$°ÚhÓ -GfÑe‰Þηh?I~am½.O’B©#;ö¼-Ïû ëg³\++Þ•¬[=aª:WÝ,µ¹,ƒ[šlVeÓ&øy6;hSº€IÅ”­:UÈz¹�u `~jJߺ$ðFh¥³œP˜ËÑUR`»µ?@ñ29|†kÑ­EhØ%QgÉGl‹ å0*+=Âbk×\©æˆY ÁçEÚN:&ƒtfØôËG“ÔÙUæ�žl¿ûñqoûXÍ$¥þË0cŸ}Á‡õY¾þ 4é?–Œ Œ—´Yûã9ýÃÜÿPú%3ݧӯÄHÌØ¹ØqàË8�Í: -í~±~”"̓�‡ BFÉ‚¤Ö…ÙÂHΧͪ]¥�w �ç1�ÕeÝiH;Šf¬ä{ÛQ`ØFËe9Ôc0ìaWgÅ,Zêô2’aë_Õd�J¹nD„¸ë%J -Pkµ›Ðß¼1ÐöD¬lkð‰¢µÿ ÂbÖªŸ Ö¼4˜2®©RÙuBHõ:¥Ãö!¶|}~ŒA�H•R°%7Fg1Ö!ùFSuJE‡@#Çh&]©v�¬¾ê(@#ˆÎŠ&·íÆ� ôrwæˆ £ëNyÇ€\GAºäº:5’¦†È£ ½ù 'ì”*¶†ëîCˆf×ã&}é_ÚcJ}˜!gÌn ¤³èÕ£0Ñ�£‰¤µÍ­íw_¿~:žL"1w«wWÒ*º‘¾ŒÁÐf(ËÖwØX�Õzº£Áî�r�Š=G�¤È²�°´5wªˆcC¹"mmœN0z"Ü›\æîòÁ8ôO™NÚ‡A¯I!©’µ2K5�u -µõI:å½yç€Ãô37FÔ ¥ô¬2y3ó‡ôUd’Á—mħ#N'&^Uª2Yc@˜XÖÅŽ!uk2Ïa|“eÆ>îΤûp£û° «]¥rvÿ8U€´^<È”6{Þos±Ré©d…+­c$‰wŒÐ¢[»ÚŸGçéQféTjÊZGmž()Á«¼_¸abR^îÍž Y$¨ÿÜ[7.Ùfnl�!A2m½Ê#¥ëCÚ'B¿£Ð†ù^¦ö•äùÂ,&6ƒÊ Æ0lÔÇ�‘—døªC»kmgïoÚp&½}?ôìþ¿,³VlÎ�›InJˆø2`NZÓd�9hy×à�6úœ™³™é0,úì$÷Ø¡Vu{GöA¨ÛUÝnÕ=¦>Z“õÀÎtÒ]­è˜=éËí2…cHÜ:Q¦fÊ=Ì“n‡«íC¬N 7­#foçû0ƒÓëÎtðx°ÚÕÃ0䈪åÆÇ�OÛïoîüÿîî°ñ -ŽÀæ˜Ï˜’4¾x˜tÞäŒé;þÌ꬘^1࣓–Ó{ VË:㨃ȕ09�Ã:³½éØ4.O‘¢»±¨³âN¾(V¥F éPŸSìÝX¦¤x1Y²—ª_Z(~âŒW¯N±¶ÜÆ P‚¶’e ؉†~W¦ì!édñR‘N–ú„ké¦ì a(ôÛŠ¦V­p&ëŒ"§šÒ}¹·ÍÚ/5Ì6ê];Àb3}Îõ„ÈÓ)ªa˜’Ë‹<1ånù¢âôÚ‰ôŸ2üÖdåýç®Ó[€šXeKcÊ´cH¬@Ú.å ÐêÎmA}ˆYAŸv�«äÎ1 Q‘šužÈ¢‹ á›Xú/ù]Št:$ÇJæ…Ë{Õùd³NãÖg'©NF骼àbðÜB‰�NMŸ¾”Ð8éÄØÅÙ‘÷Üg=DG‘À”í6„ïBø ›ÉË4†£°)o̵$÷”Y ÓH³æ&ÌùeÑfªkÕ!uУÒSW™qͶ%�}MŒQI €Ê´ÉÜjRã©Ë(möY¥ìîÊT'¾¯”_Î8W— æ5P�ê–˜KSò,)�ƒ˜&G ö¶×yî°‘[6"�÷ùÉ)ºf̤›C Ñi,"oi*Õ¸|ˆ²ÎŠYµ²½ŠÈΩ®a1:õð?÷ö¶wS×4¯œ•Š'3g/›¨³±xÝyÁ©�1ÆJ2­ñ�ã-t¢BA�µ¬Í'¬F�8>KC(-¡Ë“��1g+–³r»˜æ´šŠyeš-Æ @˜©L‚.¢+m(¶Ù¾ „SK›žU¼ VÓ S3 -[(4º ’µš%[5…|M³tduÌ;pbÖQƒ«`_F ØÇ±qD~âaê¦û0…b.x €Ca4kÎöµ‰÷¾UÜBMe¢ ”áPŸ"[Ÿ·w€´„ïc˜žA:ÂîÈ8¤èOªÇlØÅ®œæíUÃ.o°nT]x.\Ú뢑ùà'Õ ÞkWøq0 i‡¦28¼‹Ñdl�óhƒ½)±6ã°\—tÀg­"iô 6*`R£ƒ[*'ÕÉXµ&¶�²²?ìÙ†%@9”£ÀKpn`ŠNŒ/¶Þ(6Ù™†«¢ÀâgÀ�öqylù‡±Dx±6‡V$¡×Èq¢´AY¹�—ûÛ#ÙÊ—ü§ô´ÀÂ(öÆ…üÑ"#Ù¤‚Wódª>)‚«sÌ´‚^>Í<·º”LªQF’X±T²ÖUc ÅD<·œºðxˆ!~LÃÊ‘D/&c±“¨8H£‚ Äš×2òiÞ&¬éžô¼v�%³è¹¦›V0ü°‘^ Z~#!<à,;@z�ÿL3�#kbïâö•j†±~ ¡#O´ ÔTàT¼pbr«ù=ßÏ@™(™Ž(…ãcóâDEýVÀ±7<Y˜:¸ Ì’˜1`ÈaÑ% º¸ygí Ö¤+ßøá؉Û @ògµ“ø#�ï)Y€ÿ4L[å-áÂeö¿õ�ZëÆçˆ€öËPU@–²’Ú”±q¬¤ÐÖ˜DDåÆfÃú¦b' Ã-Y•ÈyJ[Fyaµé‘½¡àªic±ÂV(¼¿Ãà,5õê«"›‘ƒ¢°¯xyÖþ`GŽ›ù(À ͦ,ØÆQ¬!©*I³*X�3†}†}GXŽ­€îQ�àðÈ�F€XжÂÖpØ éE(^Þ3 N“×cE;Fóœ`:Iì ëó‘ö|£Â½ÊgÍ@Yk$7Á*·ìZ„¯ÈÉ9LÅJYvÀÉø‚·ÇqêÆ@ÌÄ×)5`Sx�0ô�˜nIóG‡ó.%ƒÊ±£�cš´6"Ì4ïp"7aáÐ8È@&�(ZK+W -²é‚ä%0/Uˆª§-BXˆ S69òù”`z0 �AÎK NÓü°Ä -i%6 -ôKôR±”zSÇ„½rÚÐP±šDêãƒÊ|¦ÁxñbDwÀ ” ª’e#QC¨*NÜH}k_gu¦ÄÝø¸·þóÝ:\×Û6} h:Žñÿ§ÿå·÷Å"aN/¯ƒ²•òê£Dšœøn—�pdÈ™ì'aÎFÍlöôE6VÚ‰ß-×eb/ŒÃÞ1n áíX5ªöáT`saGu(øá�qâ))¿%Ëž)wçág|mjæ—B,O—%<ò ðVÉÙмR:i—Þ8&�BTx!á«c,»Ï³ó,IlÉW…7¥Ÿñ¥/ Ô|â�9".Aê`;+‹@è?UƇâÀÄìŽÉ{š¹ø´“*é+⋆I­ -£Q4óþR²ü†…øMåAØ­‘—BÐÀrÔØ@[�± œö ´Ðx‰”ñ™Qþ+†EE5c Ž·‚ýPìž5¤¦;z€ý± E#‰n(gi9ª’ ½Ùf¢¡¥í8['¾,6†ªÅ‹Áà�YP©üýVÚx¸¹�º8 ¤‚÷ìXði©€wOóö�@ÖÓË7wö¦ç<¾ñæÁߛ߶þ÷Ûvn¼�²K6&¤·¢ôn£¼BQð15Øß!;(lâÙ°ý ìVI½ -ÖÍß,‰ èÌ�ZÙ.™¯N�B/WÃíd:qÆ^}ƒ(1ì"�­—ýr”pø *®’Ÿllh”Jö óde ¶Ð–¤nP -×¼UKnHÅéúañ Ë‹HplÀh`ßøJ,ì)„(/× @.Òö�õÑ’+ªHKìb!Æa^$æOõÀ§¿–¼EU±\¬Í󴢸Ð)XZŸM ¢p‚ïF�¶afgå7 ó=–a›Ðn†ÝÛ¢T¼æœ R4_³K¡á|ë39*|“fJ0�P}jÙ£¢â}BB,jÅ_lÁWÀó Z --Å¥»„;)~á”Xò¼¸±ö¸d©—h¦œã©#}™b#hC û‡×‚*rK¯0"/+œžM€ ø——c‹~CU„¤lDßw¤ÙIÉ&œÖЦe—82œBlv–*-{ïAn† Þ[°¾Ž*%®À{6ΠþP{_¥)¤Z´aï)3¢ˆ¥û(çAÀõÈ—™J`´/*ëQ3‘,�¼j¦æ«pÂTZð1œdëVÔ¤ØVÒwò:dû~ýh(¢µ4.Y Ÿüe�ˆ “1'éÑ)U ŠŽÔÒKnqs�N`茀¤ÑÁ4J 7�@‰ÄgÔPórĦœ¼IÔÃ;I•`Äô`ÞC maÙ\�÷…Ð -vêÁk¡®C)m„ÚÙØ©£“‚ØHÏ%ñ–æbéņ°ˆ†Ê;Q}b+æa)æø‹Ï {ñ°´ôÚ‘fò8Ýn8Îè¬g§«†B(V®1"ì”ýã%‰5Y;òMÃaú‚!-Òx¿ŽTÕ²^¯ämƒP%Æ ú5€éŸw:6Öî›VSëaS ÿѲçB!2l©¼/¤òaí‰ÿ+°c5U{’/uthÙ eØ4 m¹Áر·±�êy�݆Jæ®B××¾ÒB8LÐÕþPYÇ{bi0Yo1�ËòŽ Íþôâæ0⒦ȅðgÅîqv/TØJ@+äÍ.8œ|{@ôñF,©½ââc^Å)ic𒜂÷¨ðÂo�†Ø;†z  ò~%CÇ‹S¦ -É‹>q¾ŒnÁÊd�§\ÞgIÍ«Ä óªŒè8¬˜ÁË04ÊKÞÚä í ª  P5>÷µ¤-$í²?A ¶7 Ø}WUå ÙÒŽÃ Z1�W§ˆSô ÓZfY‹¨\ª¤÷‡ý=]E¿ådˆ$ày°ÌÀ"ˆ Í4ïÕb³”2B8‘Ûa(­´¬ -ܺ €Ã¿8ï€öòŒP�,‹Ùl‚{ÑH,…hìîcÛ2–ÂÖv\;\hës$ýO°oˆéâéÀv³§Ž„­7P@ÈVš¶+йB»”†»J&ÃV·¼Y³4*¼ˆˆq‘ý` Qé*ŒÝ¤‡ŠWzÙÀû¡Y±E•Õ¨¤£òQÒ="­!A{2Œ#ɰQ*Ì?úséÄ÷7õðv-7íZ�o0rÜÎë<–d†#*äü aˆ‹–þ}z!„`x­¹!50 Â%AM0lXÄv J|ë¼ 2ª J+,ìwYIÃ,Â{€½ÐyDû%ÛÆP‡–ÁÒÈiÃëÙ²É:FÝmë|`À㊛¿`cŒš­¸É ýX…å0F¡Å-Mb>%�ÒtÅS¦µ -k´¢w¸¤‡ÂŠäe)6G´Sh”`ÝmÎæpž´R…ÄÁ€b1¼Ø)dšJU™­‹Ñ¾ÈJÓ}â`Ûœ ZEŸS>¯Ð°&޼�gæƒå±„Ú%Ýòt‘€O‚´Zï¤ut»QÞ°rØ'ÈÀ*Ól GŸ‚wwhýÀ…ÊP Hg�©!É€�vx¯g¥J‚8rZÖû�ó^e'NÞB|SÖGe(=kA ºQ†f«Þo¯$þe¦}“u¨8øÔdf“ Ú2’Д^A¥di%+'\’Þs'éþøÚQXKÕ3ó7œƒ†kwéÉ wÂé õm+rKâ‡�ÒïXMF|YX‘óZ6ûz¹’FöX.FjÄûÎr ×–L%-P©ò³Q¤bŸÅTRí‹?˜”ÄδÓGNŽ1_š§@½…¯4�²h«+aS–EùLCT+…Ù¼mâ€ü…~ghötÐZ.ü §Ìˆfƒbh‰Æl: ÁzëÚ~I"´Ù -Eˆ—=@Äö0‘^¶à2é}ç+áèϱDˆ,é¶×°h��¬•QØîŸˆÎàGªû•w8ˆ›Øø[xØ ª?¡Ã×kì]ÈWÉ8DGú¿ -²8*‹Ì3æ�`â�¡Çc)t†¥ªa[ÉÐ8¦TUMèöB~W1ƒÕúöö ð�îFaË‹‚�à -‰qŽ¿ƒmlõVR±©ƒÿ¬ŒWA×%³<²�©XF?™Á²ÊKl1ó `øú"tV'‹€ñ~+¥AÀ�fæ:+HCK ö‚ÔB™V{‚�‚MZ³ÿsR¿™çUI²(J’o-xd©ØB\¼P 6²7œ4Ä8Þ¿ÅòX:`°YMÀêŠC+=Ôÿ&6g›^ñ×HŒ—ùx¬NmêàSì’Äë7)‡ªúP�Ê^Þ“M¢r¼²¸”7‘#UìAL‰+º5“ʰ‘7Ž_ºW)˜Q7!àÌæf´Ì8ÕUZâŒÔ"ZY; -¬XåJYèY5°Ñ0W¬ƒ”‰ÅŽ%6ìÓé½Å–¹š”eôFK‚ŽÍ¼ÀÅ8?~ÑŽ¿¶ûñÝ»wŸ�W­©$ÞÑsÇû=™ùàé*YAë�ÑÉ€Wr#¶€Î®ÆŽmŒi)y5r© £Æ’àÞÝ‘€F^·Ï^ªÃˆkŽ£Ñ kBN†åõkš*¬yÔΔ�ƒ`Ô’iëx—"ô} F‚óÂÞ!öæs‡ÕfÓöJŸÎRR'2Tª°ÃùH¹bú 0”ˆÁ²~�×IgdGâjuÞ(ÄøÔ¤¬ƒ¥TtìÇ -%·ÂHF0o%d`p+å†0TïØ¬ŽñRXù>‘ž¾_ªøôIëQ�‚f~AÓ� õBnOšnÃD.þ%µ+ütz@µ\äÔЕW€Ð…›õf,7Ø€¢ñ•Ï3ê­ºû|udﺾÜ:Í9¶G¼ƒ†0GÄw¥uœ&ûÕ1iG@Ë uh°q267©hbz`HWS,%ƒæI“Ÿó5¢ë¼ý½S<_~ɵ3iÀzAU–—ëŽr-G㢤G¢d“ïb”� �FÒðuGú÷¸–dj±I\͸\ÙŒ®W|׌f±ÿ™(#�2àþëŽôïri )BÎ+^Õ+3¥ÚSq£!Uú¤ú}üž¼-†�— ©1 ô¶¤7u›¶5âúdN,kX­÷côæ .Kf¹Ñ±ºõ �¹A|V?ÔjfJQår#@ñ hNzd6C�‘u �;4˜�®"¹ -%^XýoZöÍj+ÅD:ë`G}2ÔÌkbì°žn¿°Â¤|ѳ%˜³Z” ø×4ÀÇdCŒ÷öt!„×ÓÊ©-Ûl+m‡0ÂêéwcýzÃ�óéÔÖ¥·ê8;+>Hæ�Œ‚ô–-öxˆ¥_Ì[£{ºd IJ€aÉ`Adµ*¨#@Ìןçý#Ú�¤%E�Y¾Ÿ–„ϘäÍCŠ£š­nf�MÌ1èÖÌË3>¾Ñƒ�~ ‰^&@?ߨ0šz «IX -tíî\4íd¦;²3™¶#KZÁ‰‘u»ÈZèJhh"”KUámv‘a®b’›wøô�XäZñ®ÈB:öI˶vd.¸ñ‘iöJâÙC.À´±#=‘]äíÓ$`'رq˜ÌG“–‰rÊš±Ù Aú«ò÷õ€$œ‘A:œ˜f0œ ï�íoÉŒ*ÆVÕñ]Ýz»ÓY¹È@Ì£þ‡Ù0§�D{„£"k‘4,*À>óÓ×Ýi×�äpþŠÕ!i›™‹´L}‘½º–9ŠEé³…(ùz^<,-´jè ”¬Æºïj´cÏ@ëô•÷>EVÃN_ºÔ#Sé.ÝSOHÚ¤Àt0Œèªö†˜³45X�Z2¶2ûŠ5 “¿?ðЭ…æK™ïx¾0ÁkJ4*#w*Ö,)Æ@±¶‡³eHî±?!½ ß9%9…Ê2¶Ø°À§vB9L,`Ê>s¾ý*Û³2lË[ÏF@|û'n XÜ�$ ’·ÕôÖºÑÙ AFV5 -»CãÄ¢“×ÌÞ¦Ò« '.‚áIyqb™[Ë[( [�çh€=G¡.a«c\�¹¥Öž—Ö�­2üŠf Ši7D�›X1û@´×4Qÿ/é­,Æ FXÝH:k²ôƒm2Êpålw2Ì®(i/£¬®â;æâÍŒ_)æþŒ�ÄDæ+ñn›"ˆ“Þl† #«õ7g8™Á~Rû¦áéßw:ÝÜù±·ùawóË^§�«S³WnVo®ï¼ßØüïöîÒÒÔììÝÍÛw7?~ÞÞ�úðcóÿlOoîì|ÝÛÜÛþ†'Óv·ì}ÝÝžþñ÷×ÿðü¤Ÿ�½~gmêÿñCç endstream endobj 5 0 obj <> endobj 15 0 obj [/View/Design] endobj 16 0 obj <>>> endobj 28 0 obj [27 0 R] endobj 47 0 obj <> endobj xref 0 48 0000000004 65535 f -0000000016 00000 n -0000000159 00000 n -0000046754 00000 n -0000000000 00000 f -0000380483 00000 n -0000000000 00000 f -0000046805 00000 n -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000380553 00000 n -0000380584 00000 n -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000048289 00000 n -0000380669 00000 n -0000047148 00000 n -0000051272 00000 n -0000048589 00000 n -0000048476 00000 n -0000047570 00000 n -0000047728 00000 n -0000047776 00000 n -0000048360 00000 n -0000048391 00000 n -0000048624 00000 n -0000051346 00000 n -0000051608 00000 n -0000052811 00000 n -0000063720 00000 n -0000129308 00000 n -0000194896 00000 n -0000260484 00000 n -0000326072 00000 n -0000380694 00000 n -trailer <<53702B5B51C44E52AAE8E58E30924AAF>]>> startxref 380880 %%EOF \ No newline at end of file diff --git a/_assets/icons/icon-dribbble.svg b/_assets/icons/icon-dribbble.svg deleted file mode 100644 index c9f14b8..0000000 --- a/_assets/icons/icon-dribbble.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/_assets/icons/icon-facebook.svg b/_assets/icons/icon-facebook.svg deleted file mode 100644 index 2b2a00b..0000000 --- a/_assets/icons/icon-facebook.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/_assets/icons/icon-github.svg b/_assets/icons/icon-github.svg deleted file mode 100644 index 937b6d1..0000000 --- a/_assets/icons/icon-github.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/_assets/icons/icon-instagram.svg b/_assets/icons/icon-instagram.svg deleted file mode 100644 index c8578a4..0000000 --- a/_assets/icons/icon-instagram.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - diff --git a/_assets/icons/icon-linkedin.svg b/_assets/icons/icon-linkedin.svg deleted file mode 100644 index a9167da..0000000 --- a/_assets/icons/icon-linkedin.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/_assets/icons/icon-pdf.svg b/_assets/icons/icon-pdf.svg deleted file mode 100644 index a831b24..0000000 --- a/_assets/icons/icon-pdf.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - diff --git a/_assets/icons/icon-print.svg b/_assets/icons/icon-print.svg deleted file mode 100644 index 7c277ad..0000000 --- a/_assets/icons/icon-print.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/_assets/icons/icon-twitter.svg b/_assets/icons/icon-twitter.svg deleted file mode 100644 index 82102bf..0000000 --- a/_assets/icons/icon-twitter.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/_assets/icons/icon-website.svg b/_assets/icons/icon-website.svg deleted file mode 100644 index 63c34d3..0000000 --- a/_assets/icons/icon-website.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - diff --git a/_assets/resume-web-template.sketch b/_assets/resume-web-template.sketch deleted file mode 100644 index 690ddb6..0000000 Binary files a/_assets/resume-web-template.sketch and /dev/null differ diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 76c4d84..0000000 --- a/_config.yml +++ /dev/null @@ -1,66 +0,0 @@ -# Site settings -title: "Pengzhan.dev" -description: "Pengzhan Hao's personal biography" - -# Build settings -markdown: kramdown -sass: - sass_dir: _sass - style: compressed - -# Resume settings -resume_avatar: "true" -resume_name: "Pengzhan Hao" -resume_title: "Software Engineer" - -# used for the contact button in _layouts/resume.html -resume_contact_email: "haopengzhan@gmail.com" - -# the next two items are used for schema itemprops in _layouts/resume.html -#resume_contact_telephone: "555-7334" -#resume_contact_address: "742 Evergreen Terrace, Springfield" - -#resume_header_contact_info: "742 Evergreen Terrace, Springfield • 555-7334 • lisasimpson@youremailaddress.com" -#display_header_contact_info: "false" - -resume_header_intro: "

Software engineer on Cloud, research focus on Edge computing and Distributed systems

" - -# use "yes" to display the email contact button, -# "no" to display an "I'm not looking for work" message, -# or remove the resume_looking_for_work option entirely -# to leave blank -resume_looking_for_work: "no" - -# Decide which sections to use -# comment out to hide -resume_section_experience: true -resume_section_education: true -resume_section_publications: true -resume_section_projects: true -resume_section_skills: true -resume_section_recognition: true -resume_section_links: true -# resume_section_associations: true -# resume_section_interests: true - -# Resume social links -# uncomment the options you wish to display, and add your own URL -resume_social_links: - resume_github_url: "https://github.com/CoderSherlock" - #resume_twitter_url: "http://twitter.com/jglovier" - #resume_dribbble_url: "https://dribbble.com/jag" - # resume_facebook_url: "insert Facebook URL here" - resume_linkedin_url: "https://www.linkedin.com/in/pengzhanhao/" - resume_instagram_url: "https://www.instagram.com/pengzhan.hao/" - resume_website_url: "http://pengzhan.dev" - #resume_medium_url: "https://medium.com/@jglovier" -resume_print_social_links: true - -# Design settings -resume_theme: default - -# Note: when editing locally, remember to restart -# your Jekyll server when you edit this file. Changes -# to _config.yml are only recognized when the server starts - -exclude: ['README.md', 'LICENSE', 'Dockerfile', 'CNAME', 'Gemfile', 'Gemfile.lock', 'deploy.sh'] \ No newline at end of file diff --git a/_data/associations.yml b/_data/associations.yml deleted file mode 100644 index 60f9deb..0000000 --- a/_data/associations.yml +++ /dev/null @@ -1,15 +0,0 @@ -# Associations -# comment out the urls if you do not wish to display them - -- organization: PETA - role: Volunteer - year: 2001 — 2010 - url: https://www.peta.org/ - summary: Organized fund drives and participated in fundraising events for the benefit of PETA's local Springfield operations. - - -- organization: Yale Amnesty International - role: Communications coordinator - year: 2002 — 2004 - url: http://campuspress.yale.edu/amnesty/ - summary: During my junion and senior years at Yale, I was actively involved in Yale Amnesty International where I helped facilitate our student organization communications through website maintenance, writing for our campus publication, and graphic design of related materials. diff --git a/_data/education.yml b/_data/education.yml deleted file mode 100644 index d2c6251..0000000 --- a/_data/education.yml +++ /dev/null @@ -1,14 +0,0 @@ -# Degree -- degree: Doctorate of Science in Computer Science - uni: Binghamton university, the State University of New York - year: 2017 — - -- degree: Master of Science in Computer Science - uni: Binghamton university, the State University of New York - year: 2015 — 2017 - summary: GPA 4.0/4.0 - -- degree: Bachelor of Engineering in Software Engineering - uni: Beihang University - year: 2011 — 2015 - summary: GPA 3.25/4.0 \ No newline at end of file diff --git a/_data/experience.yml b/_data/experience.yml deleted file mode 100644 index 61b243d..0000000 --- a/_data/experience.yml +++ /dev/null @@ -1,34 +0,0 @@ -# Jobs -# Google -- company: Google - position: Software Engineer - duration: Jun, 2022 — - summary: Keep GKE nodes working - -# Graduate position -- company: Binghamton University, Mobile and Operating System Lab - position: Research Assistant, advised by Prof. Yifan Zhang - duration: Oct, 2016 — - summary: Edge-based distributed deep learning -
    -
  • Implemented a system for time-sensitive, edge-based distributed neural network training scenarios with state-of-the-art performanc
  • -
  • Applied empirical experiments to show potential opportunities in Edge-based/Mobile-based distributed neural network training.
  • -
  • Investigated heterogeneous-aware training tasks scheduling problem.
  • -
- Edge computing -
    -
  • Envision edge computing's work-flow in end device performance(latency, traffic) improving.
  • -
  • Applied empirical experiments on different edge computing work-flow and propose/implement related solutions.
  • -
  • Design and implement an edge-based multi-tier system for decreasing bandwidth usage from endpoint mobile device.
  • -
- - -# Undergrad -- company: Advance computer application technology engineering research center - position: Research Assistant, advised by Prof. Juhua Pu - duration: Oct, 2013 — Sep, 2014 - summary: Real-time routing -
    -
  • Studied on real-time routing problem based vehicle location data
  • -
  • Optimized current routing algorithm with predicted traffic information
  • -
\ No newline at end of file diff --git a/_data/interests.yml b/_data/interests.yml deleted file mode 100644 index 87b4dbd..0000000 --- a/_data/interests.yml +++ /dev/null @@ -1,4 +0,0 @@ -# Interests -- description: Human rights and world affairs -- description: Music (baritone saxiphonist) -- description: Linguistics diff --git a/_data/links.yml b/_data/links.yml deleted file mode 100644 index 7ac03d7..0000000 --- a/_data/links.yml +++ /dev/null @@ -1,3 +0,0 @@ -# links -- url: "https://blog.pengzhan.dev/" - description: My personal blog diff --git a/_data/projects.yml b/_data/projects.yml deleted file mode 100644 index 782fcfa..0000000 --- a/_data/projects.yml +++ /dev/null @@ -1,32 +0,0 @@ -# Projects -# uncomment the urls if you wish to display them, and add your own URL -- project: EDDL - Edge distributed deep learning framework - role: Leader - duration: 2018 — Present - # url: "#" - description: A lite-weight c++ written framework(based on Dlib) for distributed neural network training on embedded devices and - mobile phones. With supporting of our implemented runtime profilers, training devices can interconnect in an optimized - network topology under various network environments. - In our last publication, we showed our framework can perform distributed training for diverse neural networks on - resource-limited devices. The EDDL framework also showed well scalability in large amounts of devices. - We are currently working on network optimization on per-batch communication time and overall convergence time. - -- project: Edge Courier - role: Leader - duration: 2016 — 2017 - # url: "#" - description: A proxy-based protocol for incremental file synchronization and cooperative online document editing. This protocol - supports file hosting services including Google Drive, Dropbox, and OneDrive as well as document collaboration services - such as G Suite and Microsoft 365. - Edge courier can significantly decrease bandwidth consumption for collaborative editing web apps, and also showed - advancement in cloud file storage services. - -- project: RTRouting assistant - role: Undergraduate-level student researcher - duration: 2013 — 2014 - # url: "#" - description: A real time routing prototype which can guide vehicle to alternative routes with high-volume traffic prediction. The - predicted traffic alert is generated by a pre-trained model learned from history monitored traffics, real time event - warnings and a abnormal traffic prediction model. This project belongs to a urban computing project studied together - by Advance computer application technology engineering research center(Beihang University) and Microsoft Research - Asia(MSRA). diff --git a/_data/publications.yml b/_data/publications.yml deleted file mode 100644 index 1279f00..0000000 --- a/_data/publications.yml +++ /dev/null @@ -1,29 +0,0 @@ -# Publications -# uncomment the urls if you wish to display them, and add your own URL -- name: "EDDL: A Distributed Deep Learning System for Resource-limited Edge Computing Environment" - url: "https://blog.pengzhan.dev/static/2021-12/eddl-sec21.pdf" - description: "Pengzhan Hao, and Yifan Zhang The Sixth ACM/IEEE Symposium on Edge Computing (ACM/IEEE SEC) -San Jose, CA, USA, 2021." - -- name: A Case for Web Service Bandwidth Reduction on Mobile Devices with Edge-hosted Personal Services - description: "Yongshu Bai, Pengzhan Hao, and Yifan Zhang The 37th IEEE International ConferenDDL - Edge distributed deep learning frameworkce on Computer Communications (IEEE INFOCOM) -Honolulu, HI, USA, 2018." - url: "https://blog.pengzhan.dev/static/2021-10/eta-infocom18.pdf" - -- name: "EdgeCourier: An Edge-hosted Personal Service for Low-bandwidth Document Synchronization in Mobile Cloud Storage Services" - description: "Pengzhan Hao, Yongshu Bai, Xin Zhang, and Yifan Zhang -The 2nd ACM/IEEE Symposium on Edge Computing (ACM/IEEE SEC) -San Jose, CA, USA, 2017." - url: "https://blog.pengzhan.dev/static/2018-02/a7-hao.pdf" - -- name: "Poster: Securing Device Inputs for Smartphones Using Hypervisor Based Approach" - description: "Xin Zhang, Yongshu Bai, Pengzhan Hao, and Yifan Zhang -The 15th ACM International Conference on Mobile Systems, Applications, and Services (ACM MobiSys) -Niagara Falls, NY, USA, 2017." - url: "https://blog.pengzhan.dev/static/2017-07/p169-zhang.pdf" - -- name: "Poster: EPS - Edge-hosted Personal Services for Mobile Users" - description: "Pengzhan Hao, Yongshu Bai, Xin Zhang, and Yifan Zhang -The 15th ACM International Conference on Mobile Systems, Applications, and Services (ACM MobiSys) -Niagara Falls, NY, USA, 2017." - url: "https://blog.pengzhan.dev/static/2017-07/p163-hao.pdf" \ No newline at end of file diff --git a/_data/recognitions.yml b/_data/recognitions.yml deleted file mode 100644 index d52fdaf..0000000 --- a/_data/recognitions.yml +++ /dev/null @@ -1,8 +0,0 @@ -# Recognitions -- award: ACM/IEEE SEC student travel grant - organization: IEEE - year: 2017, 2021 - -- award: ACM MobiSys 2017 student travel grant - organization: ACM - year: 2017 diff --git a/_data/skills.yml b/_data/skills.yml deleted file mode 100644 index 24015f1..0000000 --- a/_data/skills.yml +++ /dev/null @@ -1,4 +0,0 @@ -# Skills -# Organizational leadership -- skill: Professional skills - description: "C/C++, Python, Golang, Java, Bash, SQL, Docker, Kubernetes, Xen hypervisor, RESTful, Django, OAuth, ProtoBuf" \ No newline at end of file diff --git a/_includes/head.html b/_includes/head.html deleted file mode 100644 index 1c922ae..0000000 --- a/_includes/head.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} - - - {% if site.resume_theme == 'default' %} - - {% endif %} - - - - - - - - - - diff --git a/_includes/icon-links.html b/_includes/icon-links.html deleted file mode 100644 index 1113764..0000000 --- a/_includes/icon-links.html +++ /dev/null @@ -1,48 +0,0 @@ - -{% if site.resume_social_links %} - -{% endif %} diff --git a/_includes/icons/icon-dribbble.html b/_includes/icons/icon-dribbble.html deleted file mode 100644 index 339bb63..0000000 --- a/_includes/icons/icon-dribbble.html +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/_includes/icons/icon-facebook.html b/_includes/icons/icon-facebook.html deleted file mode 100644 index 821fd9e..0000000 --- a/_includes/icons/icon-facebook.html +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/_includes/icons/icon-github.html b/_includes/icons/icon-github.html deleted file mode 100644 index fd67236..0000000 --- a/_includes/icons/icon-github.html +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/_includes/icons/icon-instagram.html b/_includes/icons/icon-instagram.html deleted file mode 100644 index 0afe491..0000000 --- a/_includes/icons/icon-instagram.html +++ /dev/null @@ -1,12 +0,0 @@ - - - diff --git a/_includes/icons/icon-linkedin.html b/_includes/icons/icon-linkedin.html deleted file mode 100644 index 78671b6..0000000 --- a/_includes/icons/icon-linkedin.html +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/_includes/icons/icon-medium.html b/_includes/icons/icon-medium.html deleted file mode 100644 index 44108d7..0000000 --- a/_includes/icons/icon-medium.html +++ /dev/null @@ -1,6 +0,0 @@ - - - diff --git a/_includes/icons/icon-pdf.html b/_includes/icons/icon-pdf.html deleted file mode 100644 index 0be0900..0000000 --- a/_includes/icons/icon-pdf.html +++ /dev/null @@ -1,14 +0,0 @@ - - - diff --git a/_includes/icons/icon-print.html b/_includes/icons/icon-print.html deleted file mode 100644 index 069face..0000000 --- a/_includes/icons/icon-print.html +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/_includes/icons/icon-twitter.html b/_includes/icons/icon-twitter.html deleted file mode 100644 index 3d85b49..0000000 --- a/_includes/icons/icon-twitter.html +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/_includes/icons/icon-website.html b/_includes/icons/icon-website.html deleted file mode 100644 index caa5621..0000000 --- a/_includes/icons/icon-website.html +++ /dev/null @@ -1,40 +0,0 @@ - - - diff --git a/_includes/print-social-links.html b/_includes/print-social-links.html deleted file mode 100644 index 29f852c..0000000 --- a/_includes/print-social-links.html +++ /dev/null @@ -1,41 +0,0 @@ - -{% if site.resume_print_social_links %} -
    - - - {% if site.resume_social_links.resume_github_url %} -
  • Github: {{ site.resume_social_links.resume_github_url }}
  • - {% endif %} - - - {% if site.resume_social_links.resume_twitter_url %} -
  • Twitter: {{ site.resume_social_links.resume_twitter_url }}
  • - {% endif %} - - - {% if site.resume_social_links.resume_dribbble_url %} -
  • Dribbble: {{ site.resume_social_links.resume_dribbble_url }}
  • - {% endif %} - - - {% if site.resume_social_links.resume_facebook_url %} -
  • Facebook: {{ site.resume_social_links.resume_facebook_url }}
  • - {% endif %} - - - {% if site.resume_social_links.resume_linkedin_url %} -
  • LinkedIn: {{ site.resume_social_links.resume_linkedin_url }}
  • - {% endif %} - - - {% if site.resume_social_links.resume_instagram_url %} -
  • Instagram: {{ site.resume_social_links.resume_instagram_url }}
  • - {% endif %} - - - {% if site.resume_social_links.resume_website_url %} -
  • Website: {{ site.resume_social_links.resume_website_url }}
  • - {% endif %} - -
-{% endif %} diff --git a/_layouts/resume.html b/_layouts/resume.html deleted file mode 100644 index c10d86a..0000000 --- a/_layouts/resume.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - {% include head.html %} - - - -
- - - - - - {% if site.resume_section_experience %} - -
- -
-

Experience

-
- - {% for job in site.data.experience %} -
-

{{ job.company }}

-

{{ job.position }} • {{ job.duration }}

-

{{ job.summary }}

-
- {% endfor %} - -
- - {% endif %} - - {% if site.resume_section_publications %} - -
-
-

Publications

-
- - {% for publication in site.data.publications %} -
- -

{% if publication.url %}{% else %}{{ publication.name }}{% endif %}

-

{{ publication.description }}

-
- {% endfor %} - -
- - {% endif %} - - {% if site.resume_section_education %} - -
-
-

Education

-
- - {% for education in site.data.education %} -
-

{{ education.uni }}

-

{{ education.degree }} • {{ education.year }}

-
{{ education.award }}
-

-

    - {% for award in education.awards %} -
  • {{ award.award }}
  • - {% endfor %} -
- - -

{{ education.summary }}

-
- {% endfor %} -
- - {% endif %} - - - {% if site.resume_section_projects %} - -
-
-

Projects

-
- - {% for project in site.data.projects %} -
- -

{% if project.url %}{% else %}{{ project.project }}{% endif %}

-

{{ project.role }} • {{ project.duration }}

-

{{ project.description }}

-
- {% endfor %} - -
- - {% endif %} - - {% if site.resume_section_skills %} - -
- -
-

Skills

-
- {% for skill in site.data.skills %} -
-

{{ skill.skill }}

-

{{ skill.description }}

-
- {% endfor %} - -
- - {% endif %} - - {% if site.resume_section_recognition %} - -
- -
-

Recognition

-
- - {% for recognition in site.data.recognitions %} -
-

{{ recognition.award }}

-

{{ recognition.organization }} • {{ recognition.year }}

-

{{ recognition.summary }}

-
- {% endfor %} - -
- - {% endif %} - - {% if site.resume_section_associations %} - -
- -
-

Associations

-
- - {% for association in site.data.associations %} -
-

{% if association.url %}{{ association.organization }}{% else %}{{ association.organization }}{% endif %}

-

{{ association.role }} • {{ association.year }}

-

{{ association.summary }}

-
- {% endfor %} - -
- - {% endif %} - - {% if site.resume_section_interests %} - -
- -
-

Outside Interests

-
- -
-
    - {% for interest in site.data.interests %} -
  • {{ interest.description }}
  • - {% endfor %} -
-
- -
- - {% endif %} - - {% if site.resume_section_links %} - -
- -
-

Additional Links

-
- -
- -
- -
- - {% endif %} - - {% if site.resume_print_social_links %} - - - - {% endif %} - - - -
- - - - diff --git a/_sass/_base.scss b/_sass/_base.scss deleted file mode 100644 index bb424d2..0000000 --- a/_sass/_base.scss +++ /dev/null @@ -1,46 +0,0 @@ -// Base styles -// ---------------------------------------/ -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -html { - background: $white; -} - -body{ - @include serif; - color: $text_color; - font-size: 16px; - line-height: 1.5; -} - -.wrapper:before, -.wrapper:after { content:""; display:table; } -.wrapper:after { clear: both; } -.wrapper { - max-width: 728px; - padding: 0 24px; - margin: 0 auto; - zoom: 1; -} - -// clearfix (now called group, -// via http://css-tricks.com/snippets/css/clear-fix/) -.group:before, -.group:after { content:""; display:table; } -.group:after { clear:both; } -.group { zoom:1; /* For IE 6/7 (trigger hasLayout) */ } - -::-moz-selection { - background: rgba(51,51,51,.8); - color: #fff; - text-shadow: none; -} -::selection { - background: rgba(51,51,51,.8); - color: #fff; - text-shadow: none; -} \ No newline at end of file diff --git a/_sass/_layout.scss b/_sass/_layout.scss deleted file mode 100644 index d3919c1..0000000 --- a/_sass/_layout.scss +++ /dev/null @@ -1,74 +0,0 @@ -// Layout styles -// ---------------------------------------/ - -// Layout from Primer (https://github.com/primer/primer/blob/master/scss/_layout.scss) - -// Fixed-width, centered column for site content. -.container { - width: $container-width; - margin-right: auto; - margin-left: auto; - @include clearfix; -} - -// Grid system -// -// Create rows with `.columns` to clear the floated columns and outdent the -// padding on `.column`s with negative margin for alignment. - -.columns { - margin-right: -$grid-gutter; - margin-left: -$grid-gutter; - @include clearfix; -} - -// Base class for every column (requires a column width from below) -.column { - float: left; - padding-right: $grid-gutter; - padding-left: $grid-gutter; -} - -// Column widths -.one-third { - width: 33.333333%; -} - -.two-thirds { - width: 66.666667%; -} - -.one-fourth { - width: 25%; -} - -.one-half { - width: 50%; -} - -.three-fourths { - width: 75%; -} - -.one-fifth { - width: 20%; -} - -.four-fifths { - width: 80%; -} - -// Single column hack -.single-column { - padding-right: $grid-gutter; - padding-left: $grid-gutter; -} - -// Equal width columns via table sorcery. -.table-column { - display: table-cell; - width: 1%; - padding-right: $grid-gutter; - padding-left: $grid-gutter; - vertical-align: top; -} \ No newline at end of file diff --git a/_sass/_mixins.scss b/_sass/_mixins.scss deleted file mode 100644 index b228852..0000000 --- a/_sass/_mixins.scss +++ /dev/null @@ -1,103 +0,0 @@ -// Mixins -// ---------------------------------------/ - -@mixin border-radius($radius) { - -webkit-border-radius: $radius; - -moz-border-radius: $radius; - border-radius: $radius; -} - -@mixin transition($value) { - -webkit-transition: $value; - -moz-transition: $value; - transition: $value; -} - -// Clearfix -// -// Clears floats via mixin (avoid using as a class). - -@mixin clearfix { - &:before { - display: table; - content: ""; - } - - &:after { - display: table; - clear: both; - content: ""; - } -} - -// media querie tools - -@mixin media_max($screen_width) { - @media (max-width: $screen_width) { @content; } -} - -@mixin media_min($screen_width) { - @media (min-width: $screen_width) { @content; } -} - -@mixin media_larger_than_mobile { - @media (min-width: 600px) { @content; } -} - -@mixin media_mobile { - @media (max-width: 600px) { @content; } -} - -// type utilities - -@mixin sans { - font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; -} - -@mixin sans_light { - @include sans; - font-weight: 300; -} - -@mixin sans_regular { - @include sans; - font-weight: 400; -} - -@mixin sans_bold { - @include sans; - font-weight: 700; -} - -@mixin sans_extrabold { - @include sans; - font-weight: 800; -} - -@mixin serif { - font-family: "Lora", "Minion Pro", Palatino, Georgia, serif; -} - -@mixin serif_regular { - @include serif; - font-weight: 400; -} - -@mixin serif_bold { - @include serif; - font-weight: 700; -} - -// layout - -@mixin section_border { - border-top: 4px solid #c7c7c7; - border-bottom: 2px solid #c7c7c7; - padding: .2rem 0 .4rem; -} - -@mixin section_border_thin { - border-top: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; - padding: .2rem 0 .2rem; -} \ No newline at end of file diff --git a/_sass/_normalize.scss b/_sass/_normalize.scss deleted file mode 100644 index cc9c5f1..0000000 --- a/_sass/_normalize.scss +++ /dev/null @@ -1,426 +0,0 @@ -// Normalize styles -// ---------------------------------------/ - -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS and IE text size adjust after device orientation change, - * without disabling user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability of focused elements when they are also in an - * active/hover state. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - -img { - border: 0; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome. - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - box-sizing: content-box; /* 2 */ -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} \ No newline at end of file diff --git a/_sass/_resume.scss b/_sass/_resume.scss deleted file mode 100644 index c93dc83..0000000 --- a/_sass/_resume.scss +++ /dev/null @@ -1,234 +0,0 @@ -// Resume styles -// ---------------------------------------/ - -// util - -.section-header { - @include section_border; - margin-bottom: 1.5rem; - - h2 { - @include sans; - font-weight: 900; - font-size: 1.75rem; - letter-spacing: -.05rem; - margin: 0; - } -} - -// page header styles - -.page-header { padding: 1.5rem 0; - - .avatar { - width: 95px; - max-width: 100%; - overflow: hidden; - @include border-radius(100px); - margin: 0 auto; - display: block; - } - - .header-name { - @include sans; - font-size: 3rem; - font-weight: 900; - text-align: center; - letter-spacing: -.15rem; - line-height: 1; - margin: 1rem 0 0; - } - - .header-contact-info { - @include sans; - text-align: center; - } - .header-contact-info p a { - color: inherit; - } - - .title-bar { - @include section_border; - margin-top: 2rem; - padding: .4rem 0; - @include clearfix; - - .header-title { - @include sans; - font-weight: 300; - font-size: 1.75rem; - line-height: 2rem; - letter-spacing: -.05rem; - text-align: center; - margin: 0 0 .5rem; - - @include media_larger_than_mobile { - float: left; - margin: 0; - } - } - } - - .executive-summary { - @include media_larger_than_mobile { font-size: 1.125rem; } - } -} - -.icon-links { - margin: 0; - padding: 0; - list-style: none; - position: relative; - top: 4px; - text-align: center; - border-top: 2px solid #c7c7c7; - padding-top: .4rem; - - @include media_larger_than_mobile { - float: right; - border-top: none; - padding-top: 0; - } - - .icon-link-item { - display: inline-block; - margin-left: 5px; - } - - .icon-link { display: inline-block; - - &:hover .icon path { - fill: #333; - @include transition(all .2s ease); - } - } - - .icon { - height: 28px; - } -} - -.contact-button { - @include border-radius(3px); - background-color: #efefef; - text-decoration: none; - text-align: center; - display: block; - margin: 1.5rem auto; - width: 220px; - font-size: 1.375rem; - @include sans_light; - color: #333; - line-height: 55px; - @include transition(all .2s ease); - - &:hover { - background-color: #333; - color: #fff; - } - - &.not-looking { width: 400px; } -} - -// resume content styles - -.content-section { - margin: 0 0 3rem; - - .resume-item { margin-bottom: 2rem; } - - .resume-item-title { - @include sans_bold; - margin: 0 0 .75rem; - font-size: 1.5rem; - letter-spacing: -.05rem; - line-height: 1; - } - - .resume-item-details { - font-size: 1.125rem; - margin: 0 0 .75rem; - line-height: 1; - - &.award-title { - font-size: 1rem; - } - } - - .resume-item-title, - .resume-item-details, - .resume-item-copy, - .resume-item-list { - a { - color: #333; - text-decoration: none; - border-bottom: 1px solid; - - &:hover { - border-bottom: none; - color: #9c9c9c; - } - } - } - - .resume-item-copy { margin: .75rem 0 0; } -} - -// footer styles - -.page-footer { - border-top: 4px solid #c7c7c7; - padding-top: 1.5rem; - text-align: center; - margin-bottom: 3rem; - - .footer-line { - margin: 0; - font-size: .875rem; - color: #999; - - > a { - font-weight: 700; - color: #333; - } - } -} - -.print-only { display: none !important } - -@media print { - .no-print { display: none !important } - .print-only { display: block !important } - body { font-size: 12px; line-height: 1rem; } - .page-header { padding: 1rem 0 .2rem; - .header-name { - @include sans_bold; - font-size: 2rem; - margin: 0 0 .2rem; - } - } - .section-header { - @include section_border_thin; - margin-bottom: 1rem; - h2 { font-size: 1.2rem; line-height: 1.5rem; } - } - .content-section { - margin: 0 0 1rem; - .resume-item { margin-bottom: 1rem; } - .resume-item-title { - font-size: 16px; - line-height: .7em; - } - - .resume-item-details { - font-size: 12px; - margin: 0 0 .75rem; - line-height: .7em; - font-style:italic; - - &.award-title { - font-size: 11px; - } - } - } -} diff --git a/_sass/_variables.scss b/_sass/_variables.scss deleted file mode 100644 index 9bff935..0000000 --- a/_sass/_variables.scss +++ /dev/null @@ -1,21 +0,0 @@ -// Variables -// ---------------------------------------/ - -$container-width: 980px !default; -$grid-gutter: 10px !default; - -// Colors -$white: #fff; -$black: #333; - -// Styles -$text_color: $black; - -// Font stack -$body-font: Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol" !default; - -// The base body size -$body-font-size: 13px !default; - -// Monospace font stack -$mono-font: Consolas, "Liberation Mono", Menlo, Courier, monospace !default; \ No newline at end of file diff --git a/css/main.scss b/css/main.scss deleted file mode 100755 index 2f921eb..0000000 --- a/css/main.scss +++ /dev/null @@ -1,14 +0,0 @@ ---- ---- - -// "Reset" styles and SCSS reusable components -@import "normalize"; -@import "mixins"; -@import "variables"; - -// Generic site base & layout styles -@import "base"; -@import "layout"; - -// Layouts -@import "resume"; \ No newline at end of file diff --git a/deploy.sh b/deploy.sh deleted file mode 100755 index a3d23fc..0000000 --- a/deploy.sh +++ /dev/null @@ -1,2 +0,0 @@ -rm -rf /var/www/html -cp -rf _site /var/www/html diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index b3cc86a..0000000 Binary files a/favicon.ico and /dev/null differ diff --git a/images/avatar.jpg b/images/avatar.jpg deleted file mode 100644 index 1e057ca..0000000 Binary files a/images/avatar.jpg and /dev/null differ diff --git a/images/screenshot.png b/images/screenshot.png deleted file mode 100644 index 7d496d9..0000000 Binary files a/images/screenshot.png and /dev/null differ diff --git a/index.html b/index.html deleted file mode 100644 index 448aefa..0000000 --- a/index.html +++ /dev/null @@ -1,3 +0,0 @@ ---- -layout: resume ---- \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..b545cd5 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1273 @@ +{ + "name": "pengzhan-dev", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "pengzhan-dev", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.3", + "ejs": "^3.1.10", + "express": "^4.21.2", + "feed": "^4.2.2", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "markdown-it": "^14.1.0", + "markdown-it-anchor": "^9.2.0", + "markdown-it-attrs": "^4.3.1", + "markdown-it-footnote": "^4.0.0", + "prismjs": "^1.29.0" + } + }, + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/markdown-it": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.2.0.tgz", + "integrity": "sha512-NoQ2yGlLWj4wpxMs+TYmRKk3thDrQ97agr7sFqfLsAlvoS8SNQuTrlObhFqG9iugdTtgOE9jpJ6FNM4ZGsa5xQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/linkify-it": "^5", + "@types/mdurl": "^2" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "license": "MIT", + "peer": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.8", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.8.tgz", + "integrity": "sha512-JNcyFQ64OiijEkPzUBTCe+hyPXUD/3LEldGQ6iF5LR1w00mx9o7xtDWHXBY2iItjdCFGoilOLNQbH943ut7pHA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.16.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz", + "integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==", + "license": "BSD-3-Clause", + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/brace-expansion": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", + "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", + "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.5", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.15.1", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "license": "MIT", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/filelist": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.6.tgz", + "integrity": "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.2.tgz", + "integrity": "sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-yaml": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz", + "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/linkify-it": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.2.tgz", + "integrity": "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], + "license": "MIT", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, + "node_modules/markdown-it": { + "version": "14.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.3.2.tgz", + "integrity": "sha512-sHHjZ5fJKlgrG4qns2YwVcdNep35h5fERrfkD2YNsb9UFk0UIHarbiTaHKVMlPuWAoiilyK8Fv/jAm11slsY7Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.5.0", + "linkify-it": "^5.0.2", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/markdown-it-anchor": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-9.2.1.tgz", + "integrity": "sha512-p6APiLJDFAW2GEvaavDvhIBn7jrX2jLv77NkBGgNacFTurbORYc4pyYySg/mI6mpR6cHQuAtzKtmqgQr4K8dsQ==", + "license": "Unlicense", + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "node_modules/markdown-it-attrs": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/markdown-it-attrs/-/markdown-it-attrs-4.5.0.tgz", + "integrity": "sha512-dsuEyK/MDAYsdZLDIaDAQXz5+gP0AAbJ4ZjOSB0w+ZGe4lLbzyCgGg0LApC6j9zUK2F+2SA9VkzXfyNG9hL/8g==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "markdown-it": ">= 9.0.0" + } + }, + "node_modules/markdown-it-footnote": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/markdown-it-footnote/-/markdown-it-footnote-4.0.0.tgz", + "integrity": "sha512-WYJ7urf+khJYl3DqofQpYfEYkZKbmXmwxQV8c8mO/hGIhgZ1wOe7R4HLFNwqx7TjILbnC98fuyeSsin19JdFcQ==", + "license": "MIT" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdurl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.1.0.tgz", + "integrity": "sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==", + "license": "MIT" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.15.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", + "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", + "license": "BSD-3-Clause", + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.1.tgz", + "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "license": "MIT", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..25180bd --- /dev/null +++ b/package.json @@ -0,0 +1,28 @@ +{ + "name": "pengzhan-dev", + "version": "1.0.0", + "description": "Dynamic web framework and personal site skeleton for pengzhan.dev", + "main": "server/index.js", + "scripts": { + "start": "node server/index.js", + "dev": "node --watch --watch-path=server --watch-path=views --watch-path=public server/index.js", + "lint": "node scripts/lint.js", + "test": "node test/test.js" + }, + "keywords": ["blog", "k8s", "ssr", "express", "markdown"], + "author": "Pengzhan Hao", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.3", + "ejs": "^3.1.10", + "express": "^4.21.2", + "feed": "^4.2.2", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "markdown-it": "^14.1.0", + "markdown-it-anchor": "^9.2.0", + "markdown-it-attrs": "^4.3.1", + "markdown-it-footnote": "^4.0.0", + "prismjs": "^1.29.0" + } +} diff --git a/public/css/base.css b/public/css/base.css new file mode 100644 index 0000000..c19677a --- /dev/null +++ b/public/css/base.css @@ -0,0 +1,394 @@ +:root { + --color-bg: #f9f9f9; + --color-surface: #ffffff; + --color-surface-soft: #f4f4f5; + --color-text-main: #111111; + --color-text-secondary: #4b5563; + --color-text-muted: #6b7280; + --color-border: #e5e7eb; + --color-border-hover: #d1d5db; + --color-accent: #111111; + --color-mark-bg: #fef08a; + --color-mark-text: #111111; + + --font-serif: 'Cardo', 'Iowan Old Style', 'Palatino Linotype', 'Songti SC', 'STSong', Georgia, serif; + --font-mono: 'Maple Mono NF CN', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; + --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; + + --max-width: 1180px; + --content-width: 820px; + --header-height: 80px; + + --radius-sm: 6px; + --radius-md: 12px; + --radius-lg: 20px; + --radius-full: 9999px; + + --transition-fast: 0.15s ease; + --transition-normal: 0.25s ease; +} + +*, *::before, *::after { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +html { + font-size: 16px; + scroll-behavior: smooth; + -webkit-text-size-adjust: 100%; +} + +body { + font-family: var(--font-serif); + color: var(--color-text-main); + background-color: var(--color-bg); + line-height: 1.8; + letter-spacing: 0.01em; + min-height: 100vh; + display: flex; + flex-direction: column; +} + +.container { + width: 100%; + max-width: var(--max-width); + margin: 0 auto; + padding: 0 2rem; +} + +.content-container { + width: 100%; + max-width: var(--content-width); + margin: 0 auto; +} + +/* Header */ +.site-header { + position: sticky; + top: 0; + z-index: 100; + background: rgba(249, 249, 249, 0.95); + backdrop-filter: blur(10px); + -webkit-backdrop-filter: blur(10px); + height: var(--header-height); + display: flex; + align-items: center; +} + +.header-inner { + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; +} + +.brand { + text-decoration: none; + color: var(--color-text-main); +} + +.brand-title { + font-size: 1.55rem; + font-family: var(--font-serif); + font-weight: 700; + letter-spacing: -0.01em; +} + +.site-nav { + display: flex; + gap: 2rem; + align-items: center; +} + +.nav-link { + text-decoration: none; + font-family: var(--font-serif); + font-size: 1.05rem; + color: var(--color-text-main); + transition: opacity var(--transition-fast); + padding: 0.25rem 0; +} + +.nav-link:hover { + opacity: 0.65; +} + +.nav-link.active { + text-decoration: underline; + text-underline-offset: 4px; +} + +/* Mobile Hamburger Menu Toggle */ +.mobile-menu-toggle { + display: none; + background: none; + border: none; + cursor: pointer; + padding: 0.5rem; + flex-direction: column; + justify-content: center; + gap: 5px; + width: 40px; + height: 40px; +} + +.hamburger-line { + display: block; + width: 22px; + height: 2px; + background-color: var(--color-text-main); + border-radius: 2px; + transition: transform 0.25s ease, opacity 0.25s ease; +} + +.mobile-menu-toggle.is-active .hamburger-line:nth-child(1) { + transform: translateY(7px) rotate(45deg); +} + +.mobile-menu-toggle.is-active .hamburger-line:nth-child(2) { + opacity: 0; +} + +.mobile-menu-toggle.is-active .hamburger-line:nth-child(3) { + transform: translateY(-7px) rotate(-45deg); +} + +/* Mobile Slide-Down Navigation Drawer */ +.mobile-nav-drawer { + display: none; + position: absolute; + top: 100%; + left: 0; + width: 100%; + background: var(--color-bg); + border-bottom: 1px solid var(--color-border); + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); + padding: 0.75rem 1.25rem 1.25rem; + z-index: 999; +} + +.mobile-nav-drawer.is-open { + display: block; + animation: slideDown 0.25s ease; +} + +@keyframes slideDown { + from { opacity: 0; transform: translateY(-8px); } + to { opacity: 1; transform: translateY(0); } +} + +.mobile-nav-links { + display: flex; + flex-direction: column; +} + +.mobile-nav-link { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0.85rem 0.5rem; + text-decoration: none; + color: var(--color-text-main); + font-family: var(--font-serif); + font-size: 1.15rem; + border-bottom: 1px solid var(--color-border-subtle, rgba(0, 0, 0, 0.05)); + transition: color var(--transition-fast), padding-left var(--transition-fast); +} + +.mobile-nav-link:last-child { + border-bottom: none; +} + +.mobile-nav-link:hover, .mobile-nav-link:active { + color: var(--color-accent); + padding-left: 0.75rem; +} + +.mobile-nav-link.active { + font-weight: 600; + color: var(--color-accent); +} + +.mobile-nav-arrow { + font-size: 1rem; + opacity: 0.4; +} + +/* Main Content area */ +.site-main { + flex: 1; + padding: 2.5rem 0 4rem; +} + +/* Footer */ +.site-footer { + border-top: 1px solid var(--color-border); + background-color: var(--color-surface); + padding: 2.5rem 0; + font-family: var(--font-sans); + font-size: 0.88rem; + color: var(--color-text-muted); +} + +.footer-inner { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + gap: 1.5rem; +} + +.social-links { + display: flex; + gap: 1.25rem; + align-items: center; +} + +.social-link { + color: var(--color-text-secondary); + display: flex; + align-items: center; + justify-content: center; + transition: color var(--transition-fast), transform var(--transition-fast); +} + +.social-link:hover { + color: var(--color-text-main); + transform: translateY(-2px); +} + +.social-link svg { + width: 19px; + height: 19px; + fill: currentColor; +} + +/* Headings & Typography */ +h1, h2, h3, h4, h5, h6 { + color: var(--color-text-main); + line-height: 1.35; + margin-bottom: 1rem; + font-weight: 700; +} + +h1 { font-size: 2.2rem; } +h2 { font-size: 1.65rem; margin-top: 2rem; } +h3 { font-size: 1.35rem; margin-top: 1.5rem; } + +p { + margin-bottom: 1.25rem; +} + +a { + color: var(--color-accent); + text-decoration: underline; + text-decoration-thickness: 1px; + text-underline-offset: 3px; + transition: color var(--transition-fast); +} + +a:hover { + color: #000000; +} + +mark { + background-color: var(--color-mark-bg); + color: var(--color-mark-text); + padding: 0.1em 0.25em; + border-radius: 3px; + font-weight: 500; +} + +blockquote { + border-left: 3px solid var(--color-border-hover); + padding: 0.5rem 0 0.5rem 1.25rem; + margin: 1.5rem 0; + color: var(--color-text-secondary); + font-style: italic; +} + +hr { + border: 0; + height: 1px; + background: var(--color-border); + margin: 2.5rem 0; +} + +/* Responsive */ +@media (max-width: 768px) { + :root { + --header-height: 64px; + --content-padding: 1.25rem; + } + + .site-header { + position: sticky; + top: 0; + z-index: 990; + } + + /* Hide inline desktop nav and show hamburger */ + .site-nav.desktop-nav { + display: none; + } + + .mobile-menu-toggle { + display: flex; + } + + .brand-title { + font-size: 1.25rem; + } + + .brand-tagline { + font-size: 0.68rem; + display: block; + margin-top: 0.1rem; + opacity: 0.85; + } + + /* Centered, balanced editorial mobile footer */ + .site-footer { + padding: 2.5rem 1.25rem 3rem; + } + + .footer-inner { + flex-direction: column; + align-items: center; + text-align: center; + gap: 1.4rem; + } + + .footer-left { + display: flex; + flex-direction: column; + align-items: center; + gap: 0.45rem; + } + + .footer-tagline { + font-family: var(--font-serif); + font-size: 1.05rem; + color: var(--color-text-main); + } + + .footer-copyright { + font-size: 0.82rem; + color: var(--color-text-muted); + } + + .social-links { + justify-content: center; + gap: 1.5rem; + } + + .social-link { + display: flex; + align-items: center; + justify-content: center; + min-width: 44px; + min-height: 44px; + } +} diff --git a/public/css/components.css b/public/css/components.css new file mode 100644 index 0000000..4078cd3 --- /dev/null +++ b/public/css/components.css @@ -0,0 +1,1377 @@ +/* ========================================================================== + Components CSS: Exact match to pengzhan.dev Twenty Twenty-Four Theme + ========================================================================== */ + +/* --- 1. Homepage Specific Components --- */ +.home-hero-section { + margin-bottom: 4rem; +} + +.hero-name { + font-size: 3.4rem; + font-family: var(--font-serif); + font-weight: 400; + letter-spacing: -0.02em; + line-height: 1.15; + margin-bottom: 0.35rem; +} + +.hero-subtitle { + font-size: 1.45rem; + font-family: var(--font-serif); + font-weight: 400; + color: var(--color-text-secondary); + margin-bottom: 1.75rem; +} + +.hero-intro p { + font-size: 1.08rem; + line-height: 1.8; + margin-bottom: 1rem; +} + +.home-section { + margin-bottom: 4.5rem; +} + +.section-title { + font-size: 2.3rem; + font-family: var(--font-serif); + font-weight: 400; + margin-bottom: 1.75rem; + letter-spacing: -0.01em; +} + +.two-column-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 3.5rem; +} + +.column-block p { + font-size: 1.05rem; + line-height: 1.85; +} + +.pub-item { + margin-bottom: 1.75rem; +} + +.pub-title { + font-size: 1.12rem; + font-family: var(--font-serif); + font-weight: 400; + text-decoration: underline; + text-underline-offset: 3px; + color: var(--color-text-main); + display: block; + margin-bottom: 0.3rem; +} + +.pub-meta { + font-size: 0.98rem; + color: var(--color-text-secondary); + line-height: 1.6; +} + +.project-item { + margin-bottom: 2.25rem; +} + +.project-name { + font-size: 1.25rem; + font-family: var(--font-serif); + font-weight: 700; + margin-bottom: 0.5rem; +} + +.project-item p { + font-size: 1.02rem; + line-height: 1.8; +} + +.recog-item { + margin-bottom: 1rem; + font-size: 1.05rem; +} + +.recog-meta { + display: block; + font-size: 0.9rem; + color: var(--color-text-muted); +} + +/* Homepage Compact Recent Posts */ +.home-posts-compact-list { + display: flex; + flex-direction: column; + gap: 1.25rem; +} + +.home-post-compact-item { + display: flex; + align-items: center; + gap: 1.5rem; + padding: 1.15rem 1.35rem; + background: var(--color-surface); + border: 1px solid var(--color-border); + border-radius: var(--radius-sm); + text-decoration: none; + color: inherit; + transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast); +} + +.home-post-compact-item:hover { + transform: translateY(-2px); + border-color: var(--color-border-hover); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04); +} + +.home-post-thumb { + width: 76px; + height: 76px; + min-width: 76px; + border-radius: 8px; + object-fit: cover; + background-color: #f0f0f2; +} + +.home-post-thumb-placeholder { + width: 76px; + height: 76px; + min-width: 76px; + border-radius: 8px; + background-color: var(--color-surface-soft); + display: flex; + align-items: center; + justify-content: center; + font-size: 1.5rem; + font-family: var(--font-serif); + color: var(--color-text-muted); +} + +.home-post-compact-body { + flex: 1; + min-width: 0; +} + +.home-post-compact-title { + font-family: var(--font-serif); + font-size: 1.2rem; + font-weight: 700; + color: var(--color-text-main); + line-height: 1.35; + margin-bottom: 0.25rem; +} + +.home-post-compact-meta { + font-family: var(--font-sans); + font-size: 0.82rem; + color: var(--color-text-muted); + margin-bottom: 0.35rem; + display: flex; + align-items: center; + gap: 0.4rem; + flex-wrap: wrap; +} + +.home-post-compact-excerpt { + font-size: 0.92rem; + color: var(--color-text-secondary); + line-height: 1.55; + margin: 0; + display: -webkit-box; + -webkit-line-clamp: 2; + line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} + +/* Brand Tagline in Header */ +.brand { + text-decoration: none; + color: var(--color-text-main); + display: flex; + flex-direction: column; +} + +.brand-tagline { + font-family: var(--font-serif); + font-size: 0.82rem; + color: var(--color-text-secondary); + font-style: italic; + margin-top: -3px; + letter-spacing: 0.01em; +} + +.footer-tagline { + font-family: var(--font-serif); + font-size: 1rem; + color: var(--color-text-main); + margin-bottom: 0.25rem; +} + +/* --- 2. Blog Listing & Original Post Cards --- */ +.posts-grid-original { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 3rem 2rem; +} + +.post-card { + text-decoration: none; + color: inherit; + display: flex; + flex-direction: column; + background: transparent; + border: none; + transition: opacity var(--transition-fast); +} + +.post-card:hover { + opacity: 0.85; +} + +.post-card-cover { + width: 100%; + aspect-ratio: 1 / 1; + object-fit: cover; + border-radius: 20px; + margin-bottom: 1.15rem; + background-color: #f0f0f2; +} + +.post-card-cover-placeholder { + width: 100%; + aspect-ratio: 1 / 1; + border-radius: 20px; + margin-bottom: 1.15rem; + background-color: #f0f0f2; + display: flex; + align-items: center; + justify-content: center; + font-size: 3rem; + font-family: var(--font-serif); + color: var(--color-text-muted); +} + +.post-card-title { + font-size: 1.3rem; + font-family: var(--font-serif); + font-weight: 700; + line-height: 1.35; + margin-bottom: 0.4rem; + color: var(--color-text-main); +} + +.post-card-meta { + font-family: var(--font-serif); + font-size: 0.88rem; + color: var(--color-text-muted); + margin-bottom: 0.75rem; +} + +.meta-sep { + margin: 0 0.25rem; +} + +.meta-lang-tag { + font-family: var(--font-sans); + font-size: 0.75rem; + font-weight: 600; + margin-left: 0.35rem; +} + +.post-card-excerpt { + font-family: var(--font-serif); + font-size: 0.95rem; + color: var(--color-text-secondary); + line-height: 1.65; + display: -webkit-box; + -webkit-line-clamp: 4; + line-clamp: 4; + -webkit-box-orient: vertical; + overflow: hidden; +} + +/* --- 3. Single Post Page Editorial Layout --- */ +.post-header-editorial { + margin-bottom: 2rem; +} + +.post-title-editorial { + font-size: 3.2rem; + font-family: var(--font-serif); + font-weight: 800; + letter-spacing: -0.02em; + line-height: 1.2; + margin-bottom: 0.75rem; +} + +.post-meta-editorial { + font-family: var(--font-serif); + font-size: 1rem; + color: var(--color-text-secondary); + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 0.35rem; +} + +.meta-category-link { + color: inherit; + text-decoration: underline; + text-underline-offset: 3px; +} + +.meta-lang-switcher { + display: inline-flex; + align-items: center; + gap: 0.35rem; + margin-left: 0.5rem; + font-family: var(--font-sans); + font-size: 0.82rem; +} + +.lang-text-link { + color: var(--color-text-muted); + text-decoration: none; + padding: 0.1rem 0.3rem; + border-radius: 4px; +} + +.lang-text-link.lang-active { + font-weight: 700; + color: var(--color-text-main); + text-decoration: underline; +} + +/* --- 3. Post Responsive Layout & Ambient Floating Side TOC (Dropbox Paper style) --- */ +.post-layout-container { + position: relative; + width: 100%; + max-width: 780px; + margin: 0 auto; +} + +.post-article-main { + width: 100%; + max-width: 780px; + margin: 0 auto; +} + +/* Desktop Margin-Docked Floating Side Rail TOC (>= 1280px, Docked to Left Margin) */ +.desktop-side-toc { + display: none; + position: absolute; + right: calc(100% + 44px); + left: auto; + top: 0; + width: 220px; + height: 100%; + transition: opacity 0.25s ease, transform 0.25s ease; +} + +@media (min-width: 1280px) { + .desktop-side-toc { + display: block; + } + + .desktop-side-toc.is-minimized { + opacity: 0; + pointer-events: none; + transform: translateX(-12px); + } +} + +.side-toc-sticky { + position: sticky; + top: 100px; + max-height: calc(100vh - 140px); + overflow-y: auto; + padding-right: 0.5rem; +} + +.side-toc-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 0.85rem; + padding-bottom: 0.35rem; + border-bottom: 1px solid var(--color-border); +} + +.side-toc-title { + font-family: var(--font-sans); + font-size: 0.72rem; + text-transform: uppercase; + letter-spacing: 0.1em; + color: var(--color-text-muted); + font-weight: 700; +} + +.side-toc-minimize-btn { + background: none; + border: none; + font-size: 1.1rem; + color: var(--color-text-muted); + cursor: pointer; + padding: 0 0.3rem; + line-height: 1; + transition: color var(--transition-fast); +} + +.side-toc-minimize-btn:hover { + color: var(--color-text-main); +} + +.side-toc-list { + list-style: none; + padding: 0; + margin: 0; + border-left: 2px solid var(--color-border); + position: relative; +} + +.side-toc-item { + margin: 0; +} + +.side-toc-item.level-3 { + padding-left: 0.75rem; +} + +.side-toc-link { + display: flex; + align-items: center; + padding: 0.4rem 0 0.4rem 0.85rem; + margin-left: -2px; + font-family: var(--font-sans); + font-size: 0.82rem; + line-height: 1.4; + color: var(--color-text-muted); + text-decoration: none; + border-left: 2px solid transparent; + transition: all var(--transition-fast); +} + +.side-toc-link:hover { + color: var(--color-text-main); +} + +.side-toc-link.toc-active { + color: var(--color-text-main); + font-weight: 600; + border-left-color: var(--color-text-main); +} + +/* Floating Dock Badge (shown when minimized on desktop, or as floating action button on mobile) */ +.floating-toc-badge { + display: none; + position: fixed; + z-index: 800; + background: rgba(255, 255, 255, 0.94); + backdrop-filter: blur(8px); + -webkit-backdrop-filter: blur(8px); + border: 1px solid var(--color-border); + border-radius: 9999px; + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.09); + padding: 0.5rem 0.95rem; + font-family: var(--font-sans); + font-size: 0.82rem; + font-weight: 600; + color: var(--color-text-main); + cursor: pointer; + align-items: center; + gap: 0.45rem; + transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease; +} + +.floating-toc-badge:hover { + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12); + color: var(--color-accent); +} + +.floating-toc-badge .badge-count { + background: var(--color-surface); + border: 1px solid var(--color-border); + padding: 0.1rem 0.4rem; + border-radius: 9999px; + font-size: 0.72rem; + color: var(--color-text-muted); +} + +/* On Desktop when minimized */ +@media (min-width: 1280px) { + .floating-toc-badge.is-visible { + display: flex; + left: 32px; + right: auto; + top: 104px; + } +} + +/* On Tablets & Mobile Devices (< 1280px) */ +@media (max-width: 1279px) { + .floating-toc-badge.is-visible { + display: flex; + bottom: 24px; + right: 20px; + } +} + +/* Mobile Bottom Sheet Drawer */ +.mobile-toc-overlay { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + background: rgba(0, 0, 0, 0.45); + backdrop-filter: blur(3px); + -webkit-backdrop-filter: blur(3px); + z-index: 1000; + opacity: 0; + transition: opacity 0.3s ease; +} + +.mobile-toc-overlay.is-open { + display: block; + opacity: 1; +} + +.mobile-toc-sheet { + position: fixed; + bottom: 0; + left: 0; + width: 100%; + max-height: 75vh; + background: var(--color-bg); + border-radius: 20px 20px 0 0; + box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.15); + z-index: 1001; + display: flex; + flex-direction: column; + transform: translateY(100%); + transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1); +} + +.mobile-toc-sheet.is-open { + transform: translateY(0); +} + +.mobile-sheet-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 1.15rem 1.4rem; + border-bottom: 1px solid var(--color-border); +} + +.mobile-sheet-title { + display: flex; + align-items: center; + gap: 0.5rem; + font-family: var(--font-sans); + font-size: 0.95rem; + font-weight: 600; + color: var(--color-text-main); +} + +.mobile-sheet-close { + background: var(--color-surface); + border: 1px solid var(--color-border); + width: 32px; + height: 32px; + border-radius: 50%; + font-size: 1.25rem; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + color: var(--color-text-muted); + line-height: 1; +} + +.mobile-sheet-body { + padding: 1rem 1.4rem 2.5rem; + overflow-y: auto; +} + +.mobile-sheet-list { + list-style: none; + padding: 0; + margin: 0; +} + +.mobile-sheet-item { + margin-bottom: 0.75rem; +} + +.mobile-sheet-item.level-3 { + padding-left: 1.15rem; +} + +.mobile-sheet-link { + display: block; + padding: 0.45rem 0.6rem; + border-radius: var(--radius-sm); + color: var(--color-text-main); + text-decoration: none; + font-family: var(--font-sans); + font-size: 0.92rem; + line-height: 1.4; + transition: background var(--transition-fast); +} + +.mobile-sheet-link:hover, +.mobile-sheet-link:active { + background: var(--color-surface); + color: var(--color-accent); +} + +.post-featured-image { + width: 100%; + max-height: 480px; + object-fit: cover; + border-radius: 16px; + margin: 2rem 0; +} + +.post-body-content { + font-size: 1.1rem; + line-height: 1.9; + color: var(--color-text-main); +} + +.post-body-content p { + margin-bottom: 1.5rem; +} + +.post-tags-container { + margin: 3rem 0; + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 0.65rem; + font-family: var(--font-sans); + font-size: 0.88rem; +} + +.post-tags-label { + color: var(--color-text-muted); +} + +.tag-link { + color: var(--color-text-secondary); + text-decoration: underline; + text-underline-offset: 3px; +} + +.tag-link:hover { + color: var(--color-text-main); +} + +/* Previous / Next links matching original screenshot */ +.post-nav-editorial { + display: flex; + justify-content: space-between; + align-items: center; + margin: 3.5rem 0; + padding-top: 2rem; + border-top: 1px solid var(--color-border); + font-family: var(--font-serif); + font-size: 1.05rem; +} + +.editorial-nav-link { + color: var(--color-text-main); + text-decoration: underline; + text-underline-offset: 4px; +} + +/* --- 4. Sleek Minimalist Search --- */ +.search-form-minimal { + position: relative; + width: 100%; +} + +.search-input-wrapper { + position: relative; + display: flex; + align-items: center; +} + +.search-input-sleek { + width: 100%; + padding: 0.95rem 1.25rem 0.95rem 3rem; + font-size: 1.15rem; + font-family: var(--font-serif); + border: 1px solid var(--color-border); + border-radius: var(--radius-sm); + background-color: var(--color-surface); + outline: none; + transition: border-color var(--transition-fast); +} + +.search-input-sleek:focus { + border-color: var(--color-text-main); +} + +.search-icon-svg { + position: absolute; + left: 1rem; + width: 20px; + height: 20px; + fill: var(--color-text-muted); + pointer-events: none; +} + +.search-pills-grid { + display: flex; + flex-wrap: wrap; + gap: 0.5rem; +} + +.pill { + display: inline-flex; + align-items: center; + font-family: var(--font-sans); + font-size: 0.82rem; + padding: 0.25rem 0.65rem; + border-radius: var(--radius-full); + background-color: var(--color-surface-soft); + color: var(--color-text-secondary); + border: 1px solid var(--color-border); + cursor: pointer; + transition: all var(--transition-fast); +} + +.pill:hover { + background-color: var(--color-surface); + border-color: var(--color-border-hover); + color: var(--color-text-main); +} + +/* --- 5. Pagination --- */ +.pagination-editorial { + display: flex; + justify-content: space-between; + align-items: center; + margin-top: 4rem; + padding-top: 2rem; + border-top: 1px solid var(--color-border); + font-family: var(--font-serif); + font-size: 1.05rem; +} + +/* --- 6. Modernized Comments & Moderation Section --- */ +.comments-section { + margin-top: 5rem; + padding-top: 3rem; + border-top: 1px solid var(--color-border); +} + +.comments-section-header { + margin-bottom: 2.25rem; +} + +.comments-title { + font-family: var(--font-serif); + font-size: 1.85rem; + font-weight: 400; + color: var(--color-text-main); + margin: 0; +} + +.comments-count-pill { + background: var(--color-surface-soft); + color: var(--color-text-main); + font-family: var(--font-sans); + font-size: 0.85rem; + font-weight: 700; + padding: 0.2rem 0.65rem; + border-radius: 9999px; + border: 1px solid var(--color-border); +} + +.comments-subtitle { + font-size: 0.95rem; + color: var(--color-text-secondary); + margin-top: 0.35rem; +} + +.comment-list-modern { + display: flex; + flex-direction: column; + gap: 1.5rem; + margin-bottom: 3.5rem; +} + +.comment-card-modern { + display: flex; + gap: 1.25rem; + padding: 1.5rem; + background: var(--color-surface); + border: 1px solid var(--color-border); + border-radius: 12px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03); +} + +.comment-avatar { + width: 44px; + height: 44px; + min-width: 44px; + border-radius: 50%; + background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%); + color: #334155; + display: flex; + align-items: center; + justify-content: center; + font-family: var(--font-sans); + font-size: 0.95rem; + font-weight: 700; + border: 1px solid #cbd5e1; +} + +.comment-main-content { + flex: 1; + min-width: 0; +} + +.comment-meta-row { + display: flex; + justify-content: space-between; + align-items: baseline; + margin-bottom: 0.65rem; + flex-wrap: wrap; + gap: 0.5rem; +} + +.comment-author-name { + font-family: var(--font-sans); + font-size: 0.98rem; + font-weight: 600; + color: var(--color-text-main); +} + +.comment-author-link { + color: inherit; + text-decoration: none; +} + +.comment-author-link:hover { + text-decoration: underline; +} + +.comment-time { + font-family: var(--font-sans); + font-size: 0.82rem; + color: var(--color-text-muted); +} + +.comment-text-body { + font-family: var(--font-serif); + font-size: 1.05rem; + line-height: 1.7; + color: var(--color-text-main); + white-space: pre-wrap; +} + +.comment-form-wrapper { + background: var(--color-surface); + border: 1px solid var(--color-border); + border-radius: 14px; + padding: 2.5rem; + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04); +} + +.form-header-modern { + margin-bottom: 1.75rem; +} + +.form-title-modern { + font-family: var(--font-serif); + font-size: 1.6rem; + font-weight: 400; + margin-bottom: 0.35rem; +} + +.form-subtitle-modern { + font-family: var(--font-sans); + font-size: 0.88rem; + color: var(--color-text-muted); +} + +.form-grid-two { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 1.25rem; +} + +@media (max-width: 640px) { + .form-grid-two { + grid-template-columns: 1fr; + } + + .comment-card-modern { + padding: 1.15rem; + gap: 0.85rem; + } +} + +.form-group, +.form-field-modern { + display: flex; + flex-direction: column; + gap: 0.45rem; + margin-bottom: 1.25rem; +} + +.form-label, +.form-label-modern { + font-family: var(--font-sans); + font-size: 0.88rem; + font-weight: 500; + color: var(--color-text-secondary); +} + +.form-input, +.form-input-modern, +.form-textarea, +.form-textarea-modern { + width: 100%; + font-family: var(--font-sans); + font-size: 0.95rem; + padding: 0.8rem 1rem; + border: 1px solid var(--color-border); + border-radius: var(--radius-sm); + background: #ffffff; + color: var(--color-text-main); + box-sizing: border-box; + transition: all var(--transition-fast); +} + +.form-input:focus, +.form-input-modern:focus, +.form-textarea:focus, +.form-textarea-modern:focus { + outline: none; + border-color: var(--color-text-main); + box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06); +} + +.form-textarea-modern { + resize: vertical; + min-height: 120px; + font-family: inherit; + line-height: 1.6; +} + +.form-footer-modern { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + gap: 1rem; + margin-top: 0.75rem; +} + +.moderation-notice { + display: flex; + align-items: center; + gap: 0.5rem; + font-family: var(--font-sans); + font-size: 0.82rem; + color: var(--color-text-muted); + max-width: 460px; + line-height: 1.4; +} + +.btn-submit-comment { + display: inline-flex; + align-items: center; + gap: 0.5rem; + padding: 0.8rem 1.8rem; + font-size: 0.95rem; + font-weight: 600; +} + +.comment-alert { + display: flex; + align-items: flex-start; + gap: 0.75rem; + padding: 1rem 1.25rem; + border-radius: var(--radius-sm); + margin-bottom: 2rem; + font-family: var(--font-sans); + font-size: 0.92rem; +} + +.alert-pending { + background: #fffbeb; + border: 1px solid #fde68a; + color: #92400e; +} + +.alert-success { + background: #ecfdf5; + border: 1px solid #a7f3d0; + color: #065f46; +} + +.comments-empty-state { + text-align: center; + padding: 3rem 1.5rem; + background: var(--color-surface); + border: 1px dashed var(--color-border); + border-radius: var(--radius-sm); + margin-bottom: 3rem; + color: var(--color-text-muted); + font-family: var(--font-sans); + font-size: 0.95rem; +} + +.empty-icon { + font-size: 2.2rem; + margin-bottom: 0.5rem; +} + +/* Honeypot field: strictly invisible to users */ +.hp-field { + display: none !important; + opacity: 0; + position: absolute; + left: -9999px; + height: 0; + width: 0; + z-index: -1; + pointer-events: none; +} + +/* Generic Buttons */ +.btn { + display: inline-flex; + align-items: center; + justify-content: center; + font-family: var(--font-sans); + font-size: 0.92rem; + font-weight: 500; + padding: 0.65rem 1.4rem; + border-radius: var(--radius-sm); + cursor: pointer; + border: 1px solid transparent; + transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast); + text-decoration: none; +} + +.btn-primary { + background-color: var(--color-text-main); + color: #ffffff; +} + +.btn-primary:hover { + background-color: #333333; +} + +.btn-secondary { + background-color: var(--color-surface-soft); + color: var(--color-text-main); + border-color: var(--color-border); +} + +.btn-secondary:hover { + background-color: var(--color-border); +} + +.btn-danger { + background-color: #fee2e2; + color: #991b1b; + border-color: #fca5a5; +} + +.btn-danger:hover { + background-color: #fecaca; +} + +/* Responsive */ +@media (max-width: 1100px) { + .posts-grid-original { + grid-template-columns: repeat(2, 1fr); + } + + .two-column-grid { + gap: 2rem; + } +} + +@media (max-width: 640px) { + .posts-grid-original { + grid-template-columns: 1fr; + } + + .two-column-grid { + grid-template-columns: 1fr; + gap: 1.5rem; + } + + .hero-name { + font-size: 2.6rem; + } + + .post-title-editorial { + font-size: 2.4rem; + } + + .post-nav-editorial { + flex-direction: column; + gap: 1rem; + align-items: flex-start; + } +} + +/* --- 6. Admin & Status Pills --- */ +.pill-optimal, +.pill-success { + background: #d1fae5; + color: #065f46; +} + +.pill-warning { + background: #fef3c7; + color: #92400e; +} + +.pill-danger { + background: #fee2e2; + color: #991b1b; +} + +.pill-neutral { + background: var(--color-surface); + color: var(--color-text-secondary); +} + +.pill-pending { + background: #fef3c7; + color: #92400e; +} + +.pill-approved { + background: #d1fae5; + color: #065f46; +} + +.pill-spam { + background: #fee2e2; + color: #991b1b; +} + +.filter-tab { + text-decoration: none; + font-size: 0.85rem; + padding: 0.4rem 0.85rem; + border: 1px solid var(--color-border); + border-radius: 9999px; + background: var(--color-bg); + color: var(--color-text-secondary); + display: inline-flex; + align-items: center; + gap: 0.25rem; + transition: all var(--transition-fast); +} + +.filter-tab.is-active-all { + background: var(--color-text-main); + color: var(--color-bg); + font-weight: 600; +} + +.filter-tab.is-active-pending { + background: #b45309; + color: white; + font-weight: 600; + border-color: #b45309; +} + +.filter-tab.is-active-approved { + background: #059669; + color: white; + font-weight: 600; + border-color: #059669; +} + +.filter-tab.is-active-spam { + background: #dc2626; + color: white; + font-weight: 600; + border-color: #dc2626; +} + +.filter-tab.has-pending { + background: #fef3c7; + color: #92400e; + border-color: #fde68a; + font-weight: 600; +} + +.comment-card-box { + padding: 1.35rem; + background: var(--color-surface); + border: 1px solid var(--color-border); + border-radius: var(--radius-sm); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02); +} + +.comment-card-box.is-pending { + background: #fffbeb; + border-color: #fde68a; +} + +.comment-card-header { + display: flex; + justify-content: space-between; + align-items: flex-start; + gap: 1rem; + flex-wrap: wrap; + margin-bottom: 0.85rem; + padding-bottom: 0.75rem; + border-bottom: 1px solid var(--color-border); +} + +.comment-card-header.is-pending { + border-bottom-color: #fef3c7; +} + +.comment-avatar-circle { + width: 38px; + height: 38px; + border-radius: 50%; + background: var(--color-text-main); + color: white; + display: flex; + align-items: center; + justify-content: center; + font-weight: 700; + font-size: 0.85rem; +} + +.comment-avatar-circle.is-pending { + background: #d97706; +} + +.admin-kpi-card { + background: var(--color-surface); + border: 1px solid var(--color-border); + border-radius: var(--radius-sm); + padding: 1rem 1.25rem; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02); +} + +.admin-kpi-card.has-pending { + background: #fffbeb; + border-color: #fde68a; +} + +.kpi-title-default { + color: var(--color-text-muted); +} + +.kpi-title-pending { + color: #b45309; +} + +.kpi-value-pending { + color: #b45309; +} + +.kpi-value-approved { + color: #059669; +} + +/* --- 7. Admin Bulk Moderation & Dynamic Comments Actions --- */ +.bulk-moderation-bar { + display: flex; + align-items: center; + justify-content: space-between; + gap: 1rem; + background: var(--color-surface); + border: 1px solid var(--color-border); + border-radius: var(--radius-sm); + padding: 0.75rem 1.15rem; + margin-bottom: 1.25rem; + flex-wrap: wrap; + transition: all var(--transition-fast); +} + +.bulk-moderation-bar.has-selection { + background: #f8fafc; + border-color: var(--color-text-main); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); +} + +.comment-card-box { + transition: opacity 0.25s ease, transform 0.25s ease, border-color 0.2s ease, box-shadow 0.2s ease; +} + +.comment-card-box.is-selected { + border-color: var(--color-text-main); + box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06); +} + +.comment-card-box.is-removing { + opacity: 0; + transform: translateY(-8px) scale(0.98); + pointer-events: none; +} + +.comment-checkbox-wrapper { + display: flex; + align-items: center; +} + +.comment-checkbox { + width: 1.15rem; + height: 1.15rem; + cursor: pointer; + accent-color: var(--color-text-main); +} + +.admin-toast-container { + position: fixed; + bottom: 24px; + right: 24px; + z-index: 1000; + display: flex; + flex-direction: column; + gap: 0.5rem; + pointer-events: none; +} + +.admin-toast { + pointer-events: auto; + background: var(--color-text-main); + color: var(--color-bg); + padding: 0.65rem 1.1rem; + border-radius: var(--radius-sm); + font-size: 0.88rem; + font-weight: 500; + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18); + display: flex; + align-items: center; + gap: 0.5rem; + animation: adminToastIn 0.25s ease forwards; +} + +@keyframes adminToastIn { + from { + opacity: 0; + transform: translateY(12px); + } + to { + opacity: 1; + transform: translateY(0); + } +} \ No newline at end of file diff --git a/public/css/fonts.css b/public/css/fonts.css new file mode 100644 index 0000000..7f2aa27 --- /dev/null +++ b/public/css/fonts.css @@ -0,0 +1,24 @@ +/* Fonts definitions with graceful local fallbacks */ +@font-face { + font-family: 'XiaoheSimplifySerif-VF'; + src: url('/fonts/XiaoheSimplifySerif-VF.otf') format('opentype'); + font-weight: 100 900; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'Maple Mono NF CN'; + src: url('/fonts/MapleMono-NF-CN-Regular.ttf') format('truetype'); + font-weight: 400; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'Maple Mono NF CN'; + src: url('/fonts/MapleMono-NF-CN-Bold.ttf') format('truetype'); + font-weight: 700; + font-style: normal; + font-display: swap; +} diff --git a/public/css/prism-okaidia.css b/public/css/prism-okaidia.css new file mode 100644 index 0000000..590b65d --- /dev/null +++ b/public/css/prism-okaidia.css @@ -0,0 +1,118 @@ +/** + * Okaidia PrismJS theme matching WordPress Prismatic plugin + */ +code[class*="language-"], +pre[class*="language-"] { + color: #f8f8f2; + background: none; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: 'Maple Mono NF CN', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 0.95em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.6; + tab-size: 2; + hyphens: none; +} + +pre[class*="language-"] { + padding: 1.25rem 1.5rem; + margin: 1.75rem 0; + overflow: auto; + border-radius: 12px; + background: #272822; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08); +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #272822; +} + +/* Inline code outside pre */ +:not(pre) > code { + padding: 0.2em 0.4em; + border-radius: 4px; + color: #e83e8c; + background-color: rgba(0, 0, 0, 0.05); + font-family: 'Maple Mono NF CN', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; + font-size: 0.88em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #8292a2; +} + +.token.punctuation { + color: #f8f8f2; +} + +.token.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.constant, +.token.symbol, +.token.deleted { + color: #f92672; +} + +.token.boolean, +.token.number { + color: #ae81ff; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #a6e22e; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #f8f8f2; +} + +.token.atrule, +.token.attr-value, +.token.function, +.token.class-name { + color: #e6db74; +} + +.token.keyword { + color: #66d9ef; +} + +.token.regex, +.token.important { + color: #fd971f; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/public/js/nav-mobile.js b/public/js/nav-mobile.js new file mode 100644 index 0000000..c1a2dea --- /dev/null +++ b/public/js/nav-mobile.js @@ -0,0 +1,49 @@ +/** + * Mobile Navigation Drawer Controller + */ +document.addEventListener('DOMContentLoaded', () => { + const toggleBtn = document.getElementById('mobile-menu-toggle'); + const drawer = document.getElementById('mobile-nav-drawer'); + + if (toggleBtn && drawer) { + toggleBtn.addEventListener('click', () => { + const isOpen = drawer.classList.contains('is-open'); + if (isOpen) { + drawer.classList.remove('is-open'); + toggleBtn.classList.remove('is-active'); + toggleBtn.setAttribute('aria-expanded', 'false'); + } else { + drawer.classList.add('is-open'); + toggleBtn.classList.add('is-active'); + toggleBtn.setAttribute('aria-expanded', 'true'); + } + }); + + // Close on navigation link click + drawer.querySelectorAll('.mobile-nav-link').forEach(link => { + link.addEventListener('click', () => { + drawer.classList.remove('is-open'); + toggleBtn.classList.remove('is-active'); + toggleBtn.setAttribute('aria-expanded', 'false'); + }); + }); + + // Close when clicking outside + document.addEventListener('click', (e) => { + if (drawer.classList.contains('is-open') && !drawer.contains(e.target) && !toggleBtn.contains(e.target)) { + drawer.classList.remove('is-open'); + toggleBtn.classList.remove('is-active'); + toggleBtn.setAttribute('aria-expanded', 'false'); + } + }); + + // Close on Escape key + document.addEventListener('keydown', (e) => { + if (e.key === 'Escape' && drawer.classList.contains('is-open')) { + drawer.classList.remove('is-open'); + toggleBtn.classList.remove('is-active'); + toggleBtn.setAttribute('aria-expanded', 'false'); + } + }); + } +}); diff --git a/public/js/search-ui.js b/public/js/search-ui.js new file mode 100644 index 0000000..4484b67 --- /dev/null +++ b/public/js/search-ui.js @@ -0,0 +1,20 @@ +document.addEventListener('DOMContentLoaded', () => { + const searchInput = document.getElementById('search-input'); + const searchForm = document.getElementById('search-form'); + const pillElements = document.querySelectorAll('.search-pill-btn'); + + if (searchInput && pillElements.length > 0) { + pillElements.forEach(pill => { + pill.addEventListener('click', (e) => { + e.preventDefault(); + const query = pill.getAttribute('data-query'); + if (query) { + searchInput.value = query; + if (searchForm) { + searchForm.submit(); + } + } + }); + }); + } +}); diff --git a/public/js/toc.js b/public/js/toc.js new file mode 100644 index 0000000..125a218 --- /dev/null +++ b/public/js/toc.js @@ -0,0 +1,129 @@ +/** + * Interactive Table of Contents Controller + * - Perfectly Centered Post Layout (No 70/30 split) + * - Margin-Docked Auto-Hide / Minimizable Desktop Rail (Dropbox Paper style) + * - Mobile / Tablet Floating Action Badge & Slide-Up Bottom Sheet + */ +document.addEventListener('DOMContentLoaded', () => { + const sideToc = document.getElementById('side-toc'); + const minimizeBtn = document.getElementById('side-toc-minimize'); + const floatingBadge = document.getElementById('floating-toc-badge'); + const sheet = document.getElementById('mobile-toc-sheet'); + const overlay = document.getElementById('mobile-toc-overlay'); + const sheetCloseBtn = document.getElementById('mobile-sheet-close'); + + // Check user preference for minimized TOC in localStorage + let isMinimized = false; + try { + isMinimized = localStorage.getItem('pengzhan_toc_minimized') === 'true'; + } catch (_) {} + + function applyDesktopState() { + if (!sideToc) return; + if (window.innerWidth >= 1280) { + if (isMinimized) { + sideToc.classList.add('is-minimized'); + if (floatingBadge) floatingBadge.classList.add('is-visible'); + } else { + sideToc.classList.remove('is-minimized'); + if (floatingBadge) floatingBadge.classList.remove('is-visible'); + } + } else { + // On screens < 1280px, desktop side rail is hidden via CSS, floating badge is available + if (floatingBadge) floatingBadge.classList.add('is-visible'); + } + } + + if (minimizeBtn) { + minimizeBtn.addEventListener('click', () => { + isMinimized = true; + try { localStorage.setItem('pengzhan_toc_minimized', 'true'); } catch (_) {} + applyDesktopState(); + }); + } + + // Floating badge click + if (floatingBadge) { + floatingBadge.addEventListener('click', () => { + if (window.innerWidth >= 1280) { + // Expand desktop side TOC + isMinimized = false; + try { localStorage.setItem('pengzhan_toc_minimized', 'false'); } catch (_) {} + applyDesktopState(); + } else { + // Open mobile bottom sheet + openMobileSheet(); + } + }); + } + + function openMobileSheet() { + if (sheet && overlay) { + sheet.classList.add('is-open'); + overlay.classList.add('is-open'); + document.body.style.overflow = 'hidden'; + } + } + + function closeMobileSheet() { + if (sheet && overlay) { + sheet.classList.remove('is-open'); + overlay.classList.remove('is-open'); + document.body.style.overflow = ''; + } + } + + if (sheetCloseBtn) sheetCloseBtn.addEventListener('click', closeMobileSheet); + if (overlay) overlay.addEventListener('click', closeMobileSheet); + + // Close mobile sheet on anchor click + if (sheet) { + sheet.querySelectorAll('.mobile-sheet-link').forEach(link => { + link.addEventListener('click', () => { + closeMobileSheet(); + }); + }); + } + + window.addEventListener('resize', applyDesktopState, { passive: true }); + applyDesktopState(); + + // Scroll Spy for Desktop Rail and Mobile List + const sideLinks = Array.from(document.querySelectorAll('.side-toc-link')); + if (sideLinks.length === 0) return; + + const headings = sideLinks + .map(link => { + const id = link.getAttribute('data-id'); + const target = document.getElementById(id); + return target ? { id, target, link } : null; + }) + .filter(Boolean); + + if (headings.length === 0) return; + + function updateActiveHeading() { + const scrollPos = window.scrollY + 140; + let currentActive = headings[0]; + + for (let i = 0; i < headings.length; i++) { + const top = headings[i].target.getBoundingClientRect().top + window.scrollY; + if (top <= scrollPos) { + currentActive = headings[i]; + } else { + break; + } + } + + headings.forEach(item => { + if (item === currentActive) { + item.link.classList.add('toc-active'); + } else { + item.link.classList.remove('toc-active'); + } + }); + } + + window.addEventListener('scroll', updateActiveHeading, { passive: true }); + updateActiveHeading(); +}); diff --git a/sample-content/config.yaml b/sample-content/config.yaml new file mode 100644 index 0000000..4d672b8 --- /dev/null +++ b/sample-content/config.yaml @@ -0,0 +1,43 @@ +site: + title: "Pengzhan" + tagline: "Was childish, Now foolish." + url: "https://pengzhan.dev" + author: + name: "Pengzhan Hao" + subtitle: "Software engineer on Cloud" + gravatar: "1f0283e19ce9680f2441b9c37211e0b890fd7ebf4b9ea5a5c413fe0379d7d3f9" + +admin: + secret: "admin" # Admin dashboard password (or set via ADMIN_SECRET env var) + +navigation: + - label: "Home" + path: "/" + - label: "Blogs" + path: "/blogs" + - label: "Search" + path: "/search" + - label: "Quick Links" + path: "/quick-links" + +social: + - platform: github + url: "https://github.com/CoderSherlock" + - platform: instagram + url: "https://www.instagram.com/pengzhan.hao/" + - platform: linkedin + url: "https://www.linkedin.com/in/pengzhanhao/" + - platform: email + address: "contact@pengzhan.dev" + +search: + recommended: + - label: 'tag:k8s "container image" category:tech' + query: 'tag:k8s "container image" category:tech' + +plugins: + google-analytics: + enabled: true + tracking_id: "G-MNP4QN1T9T" + reading-time: + enabled: true diff --git a/sample-content/css/custom.css b/sample-content/css/custom.css new file mode 100644 index 0000000..5379d57 --- /dev/null +++ b/sample-content/css/custom.css @@ -0,0 +1,2 @@ +/* Custom CSS overrides on Persistent Volume */ +/* Any CSS written here will be loaded after base and components CSS */ diff --git a/sample-content/pages/home.md b/sample-content/pages/home.md new file mode 100644 index 0000000..38ad0c9 --- /dev/null +++ b/sample-content/pages/home.md @@ -0,0 +1,104 @@ +--- +title: "Pengzhan Hao" +layout: home +permalink: "/" +--- + +
+

Pengzhan Hao

+

Software engineer on Cloud

+ +
+

Joined Google in 2022, working in GKE, and focusing on Node & runtime area. Most projects landed on bringing ARM-based VMs to GKE, introduced more flexibilities in node customization and pod lifecycle improvement for preemptible VMs

+

Contributed to Kubernetes open source community and became a member in 2023

+

Now working on making GKE a more productive platform for AI/ML

+
+
+ +
+

Research and study life in Binghamton University

+
+
+

Wide interests in multiple research areas, and spend most of my time in Edge computing, distributed systems and networks, and mobile operating system research. Under supervision from Professor Yifan Zhang, I spent 7 years in these research areas and outcome publications

+
+
+

I worked as a teaching assistant for Operating system and Distributed system courses for both graduate and undergraduate levels. Mostly, I helped lecturers finish academic goals and hosted Labs for students. Before and during my research career, I finished my Master’s level education with a full grade point average.

+
+
+
+ +
+

Publications

+
+
+EDDL: A Distributed Deep Learning System for Resource-limited Edge Computing Environment +

Pengzhan Hao, and Yifan Zhang • The Sixth ACM/IEEE Symposium on Edge Computing (ACM/IEEE SEC) • San Jose, CA, USA, 2021.

+
+ +
+A Case for Web Service Bandwidth Reduction on Mobile Devices with Edge-hosted Personal Services +

Yongshu Bai, Pengzhan Hao, and Yifan Zhang • The 37th IEEE International Conference on Computer Communications (IEEE INFOCOM) • Honolulu, HI, USA, 2018.

+
+ +
+EdgeCourier: An Edge-hosted Personal Service for Low-bandwidth Document Synchronization in Mobile Cloud Storage Services +

Pengzhan Hao, Yongshu Bai, Xin Zhang, and Yifan Zhang • The 2nd ACM/IEEE Symposium on Edge Computing (ACM/IEEE SEC) • San Jose, CA, USA, 2017.

+
+ +
+Poster: Securing Device Inputs for Smartphones Using Hypervisor Based Approach +

Xin Zhang, Yongshu Bai, Pengzhan Hao, and Yifan Zhang • The 15th ACM International Conference on Mobile Systems, Applications, and Services (ACM MobiSys) • Niagara Falls, NY, USA, 2017.

+
+ +
+Poster: EPS – Edge-hosted Personal Services for Mobile Users +

Pengzhan Hao, Yongshu Bai, Xin Zhang, and Yifan Zhang • The 15th ACM International Conference on Mobile Systems, Applications, and Services (ACM MobiSys) • Niagara Falls, NY, USA, 2017.

+
+
+
+ +
+

Undergraduate life in Beihang University

+
+
+

From 2011 to 2015, I attended the Software Engineering program at Beihang University. Overall, I received 3.25 out of 4 when graduating. During most of the era, I was enthusiasm in participating Movie Association and Mountain Climbing Association, and also worked as student assistant for career program for the last year.

+
+
+

Starting from my junior year, I studied and researched consecutively in two labs. Worked in Android Kernel and module localization and smart urban computing areas. In urban computing areas, led a small team to participate in a joint project together by the Advanced Computer application technology engineering research center(Beihang University) and Microsoft Research Asia(MSRA).

+
+
+
+ +
+

Projects

+
+
+

EDDL – Edge distributed deep learning framework

+

A lite-weight c++ written framework(based on Dlib) for distributed neural network training on embedded devices and mobile phones. With supporting of our implemented runtime profilers, training devices can interconnect in an optimized network topology under various network environments. In our last publication, we showed our framework can perform distributed training for diverse neural networks on resource-limited devices. The EDDL framework also showed well scalability in large amounts of devices. We are currently working on network optimization on per-batch communication time and overall convergence time.

+
+ +
+

Edge Courier

+

A proxy-based protocol for incremental file synchronization and cooperative online document editing. This protocol supports file hosting services including Google Drive, Dropbox, and OneDrive as well as document collaboration services such as G Suite and Microsoft 365. Edge courier can significantly decrease bandwidth consumption for collaborative editing web apps, and also showed advancement in cloud file storage services.

+
+ +
+

RTRouting assistant

+

A real time routing prototype which can guide vehicle to alternative routes with high-volume traffic prediction. The predicted traffic alert is generated by a pre-trained model learned from history monitored traffics, real time event warnings and a abnormal traffic prediction model. This project belongs to a urban computing project studied together by Advance computer application technology engineering research center(Beihang University) and Microsoft Research Asia(MSRA).

+
+
+
+ +
+

Recognition

+
+
+ACM/IEEE SEC student travel grant +IEEE • 2017, 2021 +
+
+ACM MobiSys 2017 student travel grant +ACM • 2017 +
+
+
diff --git a/sample-content/pages/quick-links.md b/sample-content/pages/quick-links.md new file mode 100644 index 0000000..0eeb661 --- /dev/null +++ b/sample-content/pages/quick-links.md @@ -0,0 +1,20 @@ +--- +title: "Quick Links" +permalink: "/quick-links" +--- + +A curated collection of public resources, contact points, and references: + +## Professional Profiles + +- **GitHub**: [github.com/CoderSherlock](https://github.com/CoderSherlock) — open-source projects, personal tools, and experiments. +- **LinkedIn**: [linkedin.com/in/pengzhanhao](https://www.linkedin.com/in/pengzhanhao/) — professional background. +- **Instagram**: [@pengzhan.hao](https://www.instagram.com/pengzhan.hao/) — photography and outdoor life. + +## Direct Contact + +- **Email**: [contact@pengzhan.dev](mailto:contact@pengzhan.dev) + +## Documents + +- **Curriculum Vitae**: [Download CV (PDF)](/documents/CV.pdf) diff --git a/sample-content/plugins/google-analytics/index.js b/sample-content/plugins/google-analytics/index.js new file mode 100644 index 0000000..eabcabb --- /dev/null +++ b/sample-content/plugins/google-analytics/index.js @@ -0,0 +1,17 @@ +module.exports = { + injectHead({ pluginConfig }) { + const trackingId = pluginConfig.tracking_id; + if (!trackingId) return ''; + + return ` + + + + `; + } +}; diff --git a/sample-content/plugins/google-analytics/plugin.json b/sample-content/plugins/google-analytics/plugin.json new file mode 100644 index 0000000..d18f431 --- /dev/null +++ b/sample-content/plugins/google-analytics/plugin.json @@ -0,0 +1,5 @@ +{ + "name": "google-analytics", + "version": "1.0.0", + "description": "Injects Google Analytics 4 tracking script into head" +} diff --git a/sample-content/plugins/reading-time/index.js b/sample-content/plugins/reading-time/index.js new file mode 100644 index 0000000..5d92466 --- /dev/null +++ b/sample-content/plugins/reading-time/index.js @@ -0,0 +1,18 @@ +module.exports = { + onPostLoad({ post }) { + const wordCount = (post.rawContent || '').trim().split(/\s+/).length; + // Assume average 200 words per minute + const minutes = Math.max(1, Math.round(wordCount / 200)); + post.readingTime = `${minutes} min read`; + post.wordCount = wordCount; + }, + + injectPostEnd({ post }) { + if (post && post.readingTime) { + return `
+ Article statistics: ~${post.wordCount} words • ${post.readingTime} +
`; + } + return ''; + } +}; diff --git a/sample-content/plugins/reading-time/plugin.json b/sample-content/plugins/reading-time/plugin.json new file mode 100644 index 0000000..1d5a352 --- /dev/null +++ b/sample-content/plugins/reading-time/plugin.json @@ -0,0 +1,5 @@ +{ + "name": "reading-time", + "version": "1.0.0", + "description": "Calculates reading time and word count for articles" +} diff --git a/sample-content/plugins/seo-analyzer/index.js b/sample-content/plugins/seo-analyzer/index.js new file mode 100644 index 0000000..51f3b8a --- /dev/null +++ b/sample-content/plugins/seo-analyzer/index.js @@ -0,0 +1,15 @@ +module.exports = { + onPostLoad({ post }) { + const raw = post.rawContent || ''; + const internalMatches = raw.match(/\[[^\]]+\]\((\/[^)]+)\)/g) || []; + const externalMatches = raw.match(/\[[^\]]+\]\((https?:\/\/[^)]+)\)/g) || []; + + post.seoMetrics = { + internalLinkCount: internalMatches.length, + externalLinkCount: externalMatches.length, + hasMetaDescription: Boolean(post.excerpt && post.excerpt.length > 30), + titleLength: post.title.length, + isTitleOptimal: post.title.length >= 25 && post.title.length <= 70 + }; + } +}; diff --git a/sample-content/plugins/seo-analyzer/plugin.json b/sample-content/plugins/seo-analyzer/plugin.json new file mode 100644 index 0000000..b8000f9 --- /dev/null +++ b/sample-content/plugins/seo-analyzer/plugin.json @@ -0,0 +1,5 @@ +{ + "name": "seo-analyzer", + "version": "1.0.0", + "description": "Dynamic SEO auditor and content health inspector" +} diff --git a/sample-content/posts/ai-can-change-coding-for-kids/images/cover.svg b/sample-content/posts/ai-can-change-coding-for-kids/images/cover.svg new file mode 100644 index 0000000..bc1a8b1 --- /dev/null +++ b/sample-content/posts/ai-can-change-coding-for-kids/images/cover.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A + + + + I + + + + <> + + + Coding for Kids + diff --git a/sample-content/posts/ai-can-change-coding-for-kids/index.md b/sample-content/posts/ai-can-change-coding-for-kids/index.md new file mode 100644 index 0000000..9c24ffb --- /dev/null +++ b/sample-content/posts/ai-can-change-coding-for-kids/index.md @@ -0,0 +1,26 @@ +--- +title: "AI�以改�什么:为孩�编程与创造力" +date: 2025-05-10 +author: "haopengzhan" +category: "Non-tech" +tags: ["AI", "Parenting", "Education", "Kids"] +excerpt: "当AI能够直接生�代�,我们应该如何引导下一代�解技术�培养解决真实问题的创造力?" +cover: images/cover.svg +lang: zh +--- + +��人工智能技术的迅猛普�,编程教育的门槛正在�生�所未有的�化。 + +过去,学习编程首先�克���的语法�编译器�置和环境�建;而如今,孩�们�需�用自己的语言�述心中的想法,AI 就能�助将其�为�视化的交互程�。 + +## 从“写语法�到“定义问题� + +在传统的教学中,很多孩�在记忆循环和��类型时失去了兴趣。生�� AI 带�的改�在于: + +- **�时�馈**:孩��以�时看到想法被渲染出�。 +- **系统性�考**:�点转移为�解逻辑�程与规则边界。 +- **激�创造力**:从消费者转�为创造者。 + +## 结语 + +技术工具永远在演进,��的是�对未知问题时的探究欲望与审美能力。 diff --git a/sample-content/posts/kubelet-source-code-deep-dive/images/cover.svg b/sample-content/posts/kubelet-source-code-deep-dive/images/cover.svg new file mode 100644 index 0000000..18d9753 --- /dev/null +++ b/sample-content/posts/kubelet-source-code-deep-dive/images/cover.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Kubelet + RUNTIME & PLEG DEEP DIVE + diff --git a/sample-content/posts/kubelet-source-code-deep-dive/index.md b/sample-content/posts/kubelet-source-code-deep-dive/index.md new file mode 100644 index 0000000..8551a4a --- /dev/null +++ b/sample-content/posts/kubelet-source-code-deep-dive/index.md @@ -0,0 +1,60 @@ +--- +title: "Kubelet Source Code Deep Dive: SyncLoop and PLEG" +date: 2025-07-15 +author: "haopengzhan" +category: "Tech" +tags: ["k8s", "kubernetes", "go", "cloud", "containers"] +excerpt: "An in-depth exploration into the Kubernetes Kubelet runtime architecture, focusing on syncLoop mechanics and Pod Lifecycle Event Generator (PLEG)." +cover: images/cover.svg +lang: en +--- + +Kubelet is the primary "node agent" that runs on each Kubernetes worker node. It registers the node with the apiserver, watches for PodSpec changes, and ensures containers described in those PodSpecs are running and healthy[^1]. + +## Architectural Overview + +At the heart of the Kubelet daemon is the `syncLoop`. The syncLoop monitors multiple channels for pod changes: + +1. **Config channel**: Pods from API server, file manifests, or HTTP endpoints. +2. **PLEG channel**: Pod Lifecycle Event Generator events. +3. **Probe channel**: Liveness and readiness probe results. +4. **Housekeeping channel**: Periodic cleanup tasks. + +### The SyncLoop Implementation + +Here is a simplified view of how Kubelet receives events in Go: + +```go +func (kl *Kubelet) syncLoop(updates <-chan kubetypes.PodUpdate, handler SyncHandler) { + klog.InfoS("Starting kubelet main sync loop") + for { + select { + case u, ok := <-updates: + if !ok { + klog.ErrorS(nil, "Updates channel closed") + return + } + handler.HandlePodAdditions(u.Pods) + case e := <-kl.pleg.Watch(): + handler.HandlePLEGEvent(e) + } + } +} +``` + +## Pod Lifecycle Event Generator (PLEG) + +PLEG periodically relists containers from the container runtime via CRI: + +```bash +# Inspecting runtime events with crictl +crictl ps --state Running +``` + +If PLEG does not complete within the expected relist period (default 3 minutes), the node becomes `NotReady` with the condition `PLEG is not healthy`. + +## Conclusion + +Understanding the syncLoop provides clear insights into why nodes report PLEG issues during disk I/O bottlenecks or heavy container churn. + +[^1]: Kubernetes documentation: https://kubernetes.io/docs/concepts/architecture/ diff --git a/sample-content/posts/using-gemini-cli-and-mcp-server-to-organize-my-dropbox/images/cover.svg b/sample-content/posts/using-gemini-cli-and-mcp-server-to-organize-my-dropbox/images/cover.svg new file mode 100644 index 0000000..1952b47 --- /dev/null +++ b/sample-content/posts/using-gemini-cli-and-mcp-server-to-organize-my-dropbox/images/cover.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + Using Gemini-CLI + and MCP Server + to Organize My + Dropbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sample-content/posts/using-gemini-cli-and-mcp-server-to-organize-my-dropbox/index.md b/sample-content/posts/using-gemini-cli-and-mcp-server-to-organize-my-dropbox/index.md new file mode 100644 index 0000000..2dccf79 --- /dev/null +++ b/sample-content/posts/using-gemini-cli-and-mcp-server-to-organize-my-dropbox/index.md @@ -0,0 +1,45 @@ +--- +title: "Using Gemini-CLI and MCP server to organize my dropbox" +date: 2025-08-31 +author: "haopengzhan" +category: "Tech" +tags: ["AI Era", "Dropbox", "Gemini", "LLM", "Productivity", "k8s"] +excerpt: "I think many people face the same dilemma I did: Dropbox fills up with thousands of disorganized files. Here is how I leveraged Gemini-CLI and Model Context Protocol to automate organization." +cover: images/cover.svg +lang: en +--- + +I think many people face the same dilemma I did: years of accumulated receipts, research papers, camera uploads, and archives scattered across folders. + +When managing workloads in modern infrastructure, we treat our nodes cleanly with a streamlined **container image** deployed across clusters. But our personal storage often looks like a monolithic legacy system. + +## The Problem with Cloud Storage + +Cloud storage services like Dropbox offer immense space, but search and organization remain rudimentary. You often remember *concepts* rather than filenames: + +- "That invoice from AWS last quarter" +- "The PDF paper on distributed consensus" +- "A screenshot of my terminal settings" + +## Introducing MCP (Model Context Protocol) + +The Model Context Protocol connects LLMs with local or remote toolsets. By creating an MCP server for Dropbox, we expose simple tools: + +```bash +# Running the MCP server locally or in a container +npx -y @modelcontextprotocol/server-dropbox +``` + +And in Python: + +```python +import dropbox + +def list_unorganized_files(dbx, path="/Inbox"): + res = dbx.files_list_folder(path) + return [entry.name for entry in res.entries] +``` + +## Results and Workflow + +Once configured, Gemini can inspect file headers, categorize documents into appropriate directories, and even rename messy receipts into normalized ISO dates (`YYYY-MM-DD-merchant-amount.pdf`). diff --git a/sample-content/posts/using-gemini-cli-and-mcp-server-to-organize-my-dropbox/zh.md b/sample-content/posts/using-gemini-cli-and-mcp-server-to-organize-my-dropbox/zh.md new file mode 100644 index 0000000..0bd80bd --- /dev/null +++ b/sample-content/posts/using-gemini-cli-and-mcp-server-to-organize-my-dropbox/zh.md @@ -0,0 +1,27 @@ +--- +title: "使用 Gemini-CLI 与 MCP �务整� Dropbox" +date: 2025-08-31 +author: "haopengzhan" +category: "Tech" +tags: ["AI Era", "Dropbox", "Gemini", "LLM", "Productivity", "k8s"] +excerpt: "�对堆积如山的 Dropbox 文件,如何使用大语言模型与 Model Context Protocol 构建自动化归档助手?" +cover: images/cover.svg +lang: zh +--- + +我想很多人都会�到和我一样的困境:多年累积的���学术论文�照片�乱无章地存放在 Dropbox 中。 + +在日常管�集群基础设施时,我们通过标准化的 **container image** ���个节点的干净与��现。但我们的个人存储往往�一个臃肿的�体�留系统。 + +## 云存储的管�困境 + +传统的文件夹分类需�大�人工维护,而且往往��时间推移��失控。借助 MCP �议,我们�以让 AI 拥有读写文件的上下文能力。 + +```bash +# �动 MCP �务 +npx -y @modelcontextprotocol/server-dropbox +``` + +## 总结与�效 + +现在�天晚上脚本自动�行,未分类文件自动按年月和类别归档,大幅��了个人数字资产的管�效率。 diff --git a/scripts/lint.js b/scripts/lint.js new file mode 100644 index 0000000..a4ae340 --- /dev/null +++ b/scripts/lint.js @@ -0,0 +1,110 @@ +const fs = require('fs'); +const path = require('path'); +const vm = require('vm'); +const ejs = require('ejs'); + +const JS_DIRS = ['server', 'public/js', 'sample-content/plugins', 'test']; +const VIEW_DIR = 'views'; +const CSS_DIR = 'public/css'; + +let jsFilesChecked = 0; +let ejsFilesChecked = 0; +let cssFilesChecked = 0; +let errorCount = 0; + +// 1. JavaScript Checker +function checkJsFile(filePath) { + jsFilesChecked++; + const code = fs.readFileSync(filePath, 'utf8'); + + try { + new vm.Script(code, { filename: filePath }); + } catch (err) { + console.error(`� Syntax Error in ${filePath}:\n ${err.message}`); + errorCount++; + return; + } + + if (/\bdebugger\b/.test(code)) { + console.error(`⚠� Warning in ${filePath}: Found 'debugger' statement.`); + errorCount++; + } + + if (/-----BEGIN (RSA|EC|OPENSSH|PRIVATE) KEY-----/.test(code)) { + console.error(`🚨 Security Alert in ${filePath}: Found private key pattern!`); + errorCount++; + } +} + +// 2. EJS Template Checker +function checkEjsFile(filePath) { + ejsFilesChecked++; + const content = fs.readFileSync(filePath, 'utf8'); + + // Verify EJS syntax compilation + try { + ejs.compile(content, { filename: filePath, client: false }); + } catch (err) { + console.error(`� EJS Compilation Error in ${filePath}:\n ${err.message}`); + errorCount++; + return; + } + + // Prevent inline style anti-patterns that break IDE CSS linters: style="... <%= ... %> ..." + const styleMatch = content.match(/style="[^"]*<[%#=][\s\S]*?"/g); + if (styleMatch) { + console.error(`� Linter Error in ${filePath}: Dynamic EJS expression inside style="" attribute causes IDE CSS linter errors. Use CSS utility classes instead:\n Matched: ${styleMatch[0]}`); + errorCount++; + } +} + +// 3. CSS Checker (Brace matching) +function checkCssFile(filePath) { + cssFilesChecked++; + const content = fs.readFileSync(filePath, 'utf8'); + let openBraces = 0; + for (let i = 0; i < content.length; i++) { + if (content[i] === '{') openBraces++; + if (content[i] === '}') openBraces--; + if (openBraces < 0) { + console.error(`� CSS Error in ${filePath}: Unexpected closing brace '}' at char ${i}`); + errorCount++; + return; + } + } + if (openBraces !== 0) { + console.error(`� CSS Error in ${filePath}: Unclosed brace '{' (mismatched by ${openBraces})`); + errorCount++; + } +} + +function walkDir(dir, ext, handler) { + if (!fs.existsSync(dir)) return; + const entries = fs.readdirSync(dir, { withFileTypes: true }); + for (const entry of entries) { + const fullPath = path.join(dir, entry.name); + if (entry.isDirectory()) { + if (entry.name !== 'node_modules' && entry.name !== '.git') { + walkDir(fullPath, ext, handler); + } + } else if (entry.isFile() && entry.name.endsWith(ext)) { + handler(fullPath); + } + } +} + +console.log('� Running comprehensive project linter (JS, EJS templates, CSS)...'); +JS_DIRS.forEach(d => walkDir(d, '.js', checkJsFile)); +walkDir(VIEW_DIR, '.ejs', checkEjsFile); +walkDir(CSS_DIR, '.css', checkCssFile); + +if (errorCount === 0) { + console.log(`✓ All files passed verification!`); + console.log(` - ${jsFilesChecked} JavaScript files`); + console.log(` - ${ejsFilesChecked} EJS templates`); + console.log(` - ${cssFilesChecked} CSS stylesheets`); + process.exit(0); +} else { + console.error(`\n� Linting failed with ${errorCount} error(s).`); + process.exit(1); +} diff --git a/server/config.js b/server/config.js new file mode 100644 index 0000000..ea602ea --- /dev/null +++ b/server/config.js @@ -0,0 +1,64 @@ +const fs = require('fs'); +const path = require('path'); +const yaml = require('js-yaml'); + +// Content directory: prioritize ENV var, then /app/content (in K8s), fallback to ./sample-content +function resolveContentDir() { + if (process.env.CONTENT_DIR && fs.existsSync(process.env.CONTENT_DIR)) { + return path.resolve(process.env.CONTENT_DIR); + } + if (fs.existsSync('/app/content')) { + return '/app/content'; + } + return path.resolve(__dirname, '../sample-content'); +} + +const CONTENT_DIR = resolveContentDir(); + +function loadSiteConfig() { + const configPath = path.join(CONTENT_DIR, 'config.yaml'); + const defaults = { + site: { + title: "Pengzhan", + tagline: "Was childish, Now foolish", + url: "https://pengzhan.dev", + author: { + name: "Pengzhan Hao", + subtitle: "Software engineer on Cloud", + gravatar: "" + } + }, + navigation: [ + { label: "Home", path: "/" }, + { label: "Blogs", path: "/blogs" }, + { label: "Search", path: "/search" }, + { label: "Quick Links", path: "/quick-links" } + ], + social: [ + { platform: "github", url: "https://github.com/CoderSherlock" }, + { platform: "instagram", url: "https://www.instagram.com/pengzhan.hao/" }, + { platform: "linkedin", url: "https://www.linkedin.com/in/pengzhanhao/" }, + { platform: "email", address: "contact@pengzhan.dev" } + ], + search: { + recommended: [] + }, + plugins: {} + }; + + if (fs.existsSync(configPath)) { + try { + const fileContent = fs.readFileSync(configPath, 'utf8'); + const parsed = yaml.load(fileContent); + return { ...defaults, ...parsed }; + } catch (err) { + console.error(`[Config] Error loading ${configPath}:`, err); + } + } + return defaults; +} + +module.exports = { + CONTENT_DIR, + loadSiteConfig +}; diff --git a/server/index.js b/server/index.js new file mode 100644 index 0000000..ae4c9a4 --- /dev/null +++ b/server/index.js @@ -0,0 +1,120 @@ +const express = require('express'); +const path = require('path'); +const fs = require('fs'); + +const { CONTENT_DIR, loadSiteConfig } = require('./config'); +const contentService = require('./services/content'); +const commentService = require('./services/comments'); +const pluginManager = require('./services/plugin-manager'); +const watcherService = require('./services/watcher'); +const seoMiddleware = require('./middleware/seo'); +const pageCache = require('./middleware/cache'); +const { notFoundHandler, serverErrorHandler } = require('./middleware/error-handler'); + +// Route modules +const homeRouter = require('./routes/home'); +const blogsRouter = require('./routes/blogs'); +const searchRouter = require('./routes/search'); +const feedRouter = require('./routes/feed'); +const sitemapRouter = require('./routes/sitemap'); +const commentsRouter = require('./routes/comments'); +const postRouter = require('./routes/post'); +const pagesRouter = require('./routes/pages'); +const adminRouter = require('./routes/admin'); + +const app = express(); +const PORT = process.env.PORT || 3000; + +// View engine setup +app.set('view engine', 'ejs'); +app.set('views', path.join(__dirname, '../views')); + +// Parse JSON & URL-encoded request bodies +app.use(express.urlencoded({ extended: true })); +app.use(express.json()); + +// Load site configuration +const siteConfig = loadSiteConfig(); + +// Serve built-in skeleton static assets (CSS, JS, fonts) +app.use(express.static(path.join(__dirname, '../public'))); + +// Serve Persistent Volume static directories +const pvStaticDir = path.join(CONTENT_DIR, 'static'); +if (fs.existsSync(pvStaticDir)) { + app.use(express.static(pvStaticDir)); +} + +// Serve PV custom CSS if present +const pvCssDir = path.join(CONTENT_DIR, 'css'); +if (fs.existsSync(pvCssDir)) { + app.use('/css/custom', express.static(pvCssDir)); +} + +// Serve post assets (e.g. cover images) at /posts-assets//... +const pvPostsDir = path.join(CONTENT_DIR, 'posts'); +if (fs.existsSync(pvPostsDir)) { + app.use('/posts-assets', express.static(pvPostsDir)); +} + +// Initialize services +commentService.init(CONTENT_DIR); +pluginManager.loadPlugins(CONTENT_DIR, app, siteConfig); +contentService.init(CONTENT_DIR); +watcherService.start(CONTENT_DIR, app); + +// Inject SEO locals & plugin hook helper +app.use(seoMiddleware(siteConfig)); +app.use((req, res, next) => { + res.locals.pluginHook = (hookName, extraContext = {}) => { + return pluginManager.renderHook(hookName, { + req, + res, + site: res.locals.site, + ...extraContext + }); + }; + next(); +}); + +// Super Page Cache micro-caching +app.use(pageCache.middleware()); + +// Mount routes in order of specificity +app.use('/', adminRouter); +app.use('/', homeRouter); +app.use('/', blogsRouter); +app.use('/', searchRouter); +app.use('/', feedRouter); +app.use('/', sitemapRouter); +app.use('/', commentsRouter); + +// Specific blog post routes (/:slug, /:slug/:lang) +app.use('/', postRouter); + +// Fallback standalone pages (/:pageSlug from pages/) +app.use('/', pagesRouter); + +// Error handlers +app.use(notFoundHandler); +app.use(serverErrorHandler); + +if (require.main === module) { + const server = app.listen(PORT, () => { + console.log(`=========================================`); + console.log(` Pengzhan.dev Web Server running at:`); + console.log(` http://localhost:${PORT}`); + console.log(` Content directory: ${CONTENT_DIR}`); + console.log(`=========================================`); + }); + + process.on('SIGTERM', () => { + console.log('SIGTERM signal received: closing HTTP server'); + watcherService.close(); + server.close(() => { + console.log('HTTP server closed'); + }); + }); +} + +module.exports = app; diff --git a/server/middleware/cache.js b/server/middleware/cache.js new file mode 100644 index 0000000..b3d25ed --- /dev/null +++ b/server/middleware/cache.js @@ -0,0 +1,70 @@ +const crypto = require('crypto'); + +class SuperPageCache { + constructor() { + this.cache = new Map(); // path -> { body, contentType, etag, createdAt } + this.ttlMs = 10 * 60 * 1000; // 10 minutes default memory cache + } + + middleware() { + return (req, res, next) => { + // Only cache GET requests that are not admin, guanli, or API routes + if (req.method !== 'GET' || req.path.startsWith('/guanli') || req.path.startsWith('/admin') || req.path.startsWith('/api')) { + return next(); + } + + const cacheKey = req.originalUrl || req.url; + const cached = this.cache.get(cacheKey); + + if (cached && (Date.now() - cached.createdAt < this.ttlMs)) { + // Check conditional ETag + if (req.headers['if-none-match'] === cached.etag) { + res.setHeader('X-Cache', 'HIT-304'); + return res.status(304).end(); + } + + res.setHeader('X-Cache', 'HIT'); + res.setHeader('ETag', cached.etag); + res.setHeader('Content-Type', cached.contentType || 'text/html; charset=utf-8'); + res.setHeader('Cache-Control', 'no-cache, must-revalidate'); + return res.send(cached.body); + } + + // Intercept res.send to populate cache + const originalSend = res.send.bind(res); + res.send = (body) => { + if (res.statusCode === 200 && typeof body === 'string') { + const etag = `W/"${crypto.createHash('md5').update(body).digest('hex').slice(0, 16)}"`; + this.cache.set(cacheKey, { + body, + contentType: res.getHeader('Content-Type') || 'text/html; charset=utf-8', + etag, + createdAt: Date.now() + }); + res.setHeader('X-Cache', 'MISS'); + res.setHeader('ETag', etag); + res.setHeader('Cache-Control', 'no-cache, must-revalidate'); + } + return originalSend(body); + }; + + next(); + }; + } + + clear() { + const size = this.cache.size; + this.cache.clear(); + console.log(`[SuperPageCache] Flushed ${size} cached pages.`); + } + + invalidate(urlPattern) { + for (const key of this.cache.keys()) { + if (key.includes(urlPattern)) { + this.cache.delete(key); + } + } + } +} + +module.exports = new SuperPageCache(); diff --git a/server/middleware/error-handler.js b/server/middleware/error-handler.js new file mode 100644 index 0000000..4d49aeb --- /dev/null +++ b/server/middleware/error-handler.js @@ -0,0 +1,23 @@ +function notFoundHandler(req, res, next) { + res.status(404); + res.render('pages/error', { + title: '404 - Page Not Found', + errorCode: 404, + errorMessage: "The page you are looking for doesn't exist or has moved." + }); +} + +function serverErrorHandler(err, req, res, next) { + console.error('[ServerError]', err); + res.status(500); + res.render('pages/error', { + title: '500 - Server Error', + errorCode: 500, + errorMessage: "An unexpected error occurred." + }); +} + +module.exports = { + notFoundHandler, + serverErrorHandler +}; diff --git a/server/middleware/seo.js b/server/middleware/seo.js new file mode 100644 index 0000000..5ed133b --- /dev/null +++ b/server/middleware/seo.js @@ -0,0 +1,106 @@ +function generateJsonLd(site, seo, req) { + const siteUrl = site.url || 'https://pengzhan.dev'; + const person = { + '@type': 'Person', + '@id': `${siteUrl}/#person`, + name: (site.author && site.author.name) || site.title, + url: siteUrl, + jobTitle: (site.author && site.author.subtitle) || 'Software Engineer', + sameAs: (site.social || []).map(s => s.url).filter(Boolean) + }; + + const website = { + '@type': 'WebSite', + '@id': `${siteUrl}/#website`, + url: siteUrl, + name: site.title, + description: site.tagline, + publisher: { '@id': `${siteUrl}/#person` }, + potentialAction: [ + { + '@type': 'SearchAction', + target: { + '@type': 'EntryPoint', + urlTemplate: `${siteUrl}/search?q={search_term_string}` + }, + 'query-input': 'required name=search_term_string' + } + ] + }; + + const graph = [person, website]; + + if (seo.type === 'article') { + const blogPosting = { + '@type': 'BlogPosting', + '@id': `${seo.canonicalUrl}#article`, + isPartOf: { '@id': `${siteUrl}/#website` }, + author: { '@id': `${siteUrl}/#person` }, + headline: seo.title, + datePublished: seo.publishedTime || new Date().toISOString(), + dateModified: seo.modifiedTime || seo.publishedTime || new Date().toISOString(), + mainEntityOfPage: seo.canonicalUrl, + description: seo.description, + image: seo.ogImage, + articleSection: seo.category || 'Tech', + keywords: Array.isArray(seo.tags) ? seo.tags.join(', ') : seo.tags + }; + graph.push(blogPosting); + } + + // Breadcrumbs + const breadcrumbItems = [ + { + '@type': 'ListItem', + position: 1, + name: 'Home', + item: siteUrl + } + ]; + + if (req.path !== '/') { + breadcrumbItems.push({ + '@type': 'ListItem', + position: 2, + name: seo.title, + item: seo.canonicalUrl + }); + } + + graph.push({ + '@type': 'BreadcrumbList', + '@id': `${seo.canonicalUrl}#breadcrumb`, + itemListElement: breadcrumbItems + }); + + return JSON.stringify({ + '@context': 'https://schema.org', + '@graph': graph + }); +} + +function seoMiddleware(siteConfig) { + return (req, res, next) => { + res.locals.site = siteConfig.site; + res.locals.navigation = siteConfig.navigation; + res.locals.social = siteConfig.social; + res.locals.currentPath = req.path; + + // Helper to generate SEO metadata + res.locals.seo = { + title: siteConfig.site.title, + description: siteConfig.site.tagline, + canonicalUrl: `${siteConfig.site.url}${req.path}`, + ogImage: `${siteConfig.site.url}/images/og-default.png`, + type: 'website', + tags: [], + category: '' + }; + + res.locals.getJsonLd = () => generateJsonLd(siteConfig.site, res.locals.seo, req); + + next(); + }; +} + +module.exports = seoMiddleware; diff --git a/server/routes/admin.js b/server/routes/admin.js new file mode 100644 index 0000000..57f9d74 --- /dev/null +++ b/server/routes/admin.js @@ -0,0 +1,262 @@ +const express = require('express'); +const router = express.Router(); +const commentService = require('../services/comments'); +const contentService = require('../services/content'); +const pageCache = require('../middleware/cache'); +const { loadSiteConfig } = require('../config'); + +// Helper to parse cookies from headers without requiring extra npm dependencies +function parseCookies(req) { + const list = {}; + const rc = req.headers.cookie; + if (rc) { + rc.split(';').forEach(cookie => { + const parts = cookie.split('='); + const key = parts.shift().trim(); + const val = parts.join('=').trim(); + try { + list[key] = decodeURIComponent(val); + } catch (_) { + list[key] = val; + } + }); + } + return list; +} + +function getExpectedAdminKey() { + const config = loadSiteConfig(); + return process.env.ADMIN_SECRET || config.admin?.secret || config.site?.admin_secret || 'admin'; +} + +// Admin authentication middleware +function requireAdminAuth(req, res, next) { + const expectedKey = getExpectedAdminKey(); + const cookies = parseCookies(req); + const providedKey = req.query.key || req.headers['x-admin-key'] || cookies.admin_key; + + if (providedKey && providedKey === expectedKey) { + // If authenticated via query param, set cookie for convenience + if (req.query.key) { + res.setHeader('Set-Cookie', `admin_key=${encodeURIComponent(expectedKey)}; Path=/; HttpOnly; SameSite=Lax`); + } + return next(); + } + + // Render clean login prompt if unauthorized + res.status(401); + return res.render('pages/admin-login', { + title: 'Admin Authorization', + error: providedKey ? 'Incorrect admin password.' : null, + redirect: req.originalUrl + }); +} + +// Explicit 404 for legacy /admin routes to prevent leakage and bust browser 301 cache +router.all(['/admin', '/admin/*'], (req, res) => { + res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate'); + res.status(404).render('pages/error', { + title: '404 - Page Not Found', + errorCode: 404, + errorMessage: "The page you are looking for doesn't exist or has moved." + }); +}); + +// Redirect /guanli root to comments +router.get('/guanli', (req, res) => { + res.redirect('/guanli/comments'); +}); + +// Login GET endpoint (clean access) +router.get('/guanli/login', (req, res) => { + res.render('pages/admin-login', { + title: 'Admin Authorization', + error: null, + redirect: req.query.redirect || '/guanli/comments' + }); +}); + +// Login POST endpoint +router.post('/guanli/login', (req, res) => { + const expectedKey = getExpectedAdminKey(); + const providedKey = (req.body.key || '').trim(); + const redirectUrl = req.body.redirect || '/guanli/comments'; + + if (providedKey === expectedKey) { + res.setHeader('Set-Cookie', `admin_key=${encodeURIComponent(expectedKey)}; Path=/; HttpOnly; SameSite=Lax`); + return res.redirect(redirectUrl); + } + + res.status(401).render('pages/admin-login', { + title: 'Admin Authorization', + error: 'Incorrect admin password. Please try again.', + redirect: redirectUrl + }); +}); + +// Logout endpoint +router.get('/guanli/logout', (req, res) => { + res.setHeader('Set-Cookie', 'admin_key=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT'); + res.redirect('/guanli/comments'); +}); + +const dbService = require('../services/db'); + +// 1. Comment Moderation Dashboard +router.get('/guanli/comments', requireAdminAuth, (req, res) => { + const status = req.query.status || 'all'; + const q = req.query.q || ''; + const page = parseInt(req.query.page, 10) || 1; + const limit = 15; + + const paginated = dbService.getPaginatedComments({ status, q, page, limit }); + const counts = dbService.getCommentCounts(); + const adminKey = getExpectedAdminKey(); + const stats = dbService.getAdminStats(); + + res.render('pages/admin-comments', { + title: 'Comment Moderation Dashboard', + comments: paginated.comments, + totalComments: paginated.total, + page: paginated.page, + totalPages: paginated.totalPages, + status, + q, + counts, + adminKey, + stats + }); +}); + +// 2a. Single Moderation Action Endpoint +router.post('/guanli/comments/:action/:id', requireAdminAuth, (req, res) => { + const { action, id } = req.params; + + if (action === 'approve') { + commentService.approveComment(Number(id)); + pageCache.clear(); + } else if (action === 'reject' || action === 'spam') { + commentService.rejectComment(Number(id)); + pageCache.clear(); + } else if (action === 'delete') { + commentService.deleteComment(Number(id)); + pageCache.clear(); + } + + const isAjax = req.xhr || req.headers['content-type'] === 'application/json' || req.headers.accept?.includes('application/json'); + if (isAjax) { + const counts = dbService.getCommentCounts(); + const stats = dbService.getAdminStats(); + return res.json({ success: true, action, id: Number(id), counts, stats }); + } + + const returnUrl = req.headers.referer || '/guanli/comments'; + res.redirect(returnUrl); +}); + +// 2b. Batch Moderation Action Endpoint +router.post('/guanli/comments/batch', requireAdminAuth, (req, res) => { + const action = req.body.action; + let ids = req.body.ids; + + if (typeof ids === 'string') { + ids = ids.split(',').map(s => Number(s.trim())).filter(Boolean); + } else if (Array.isArray(ids)) { + ids = ids.map(Number).filter(Boolean); + } else { + ids = []; + } + + if (ids.length > 0) { + if (action === 'approve') { + commentService.batchApproveComments(ids); + pageCache.clear(); + } else if (action === 'reject' || action === 'spam') { + commentService.batchRejectComments(ids); + pageCache.clear(); + } else if (action === 'delete') { + commentService.batchDeleteComments(ids); + pageCache.clear(); + } + } + + const isAjax = req.xhr || req.headers['content-type'] === 'application/json' || req.headers.accept?.includes('application/json'); + if (isAjax) { + const counts = dbService.getCommentCounts(); + const stats = dbService.getAdminStats(); + return res.json({ success: true, action, ids, count: ids.length, counts, stats }); + } + + const returnUrl = req.headers.referer || '/guanli/comments'; + res.redirect(returnUrl); +}); + +// 3. Dynamic SEO Analyzer Dashboard +router.get('/guanli/seo', requireAdminAuth, (req, res) => { + const posts = contentService.getAllPosts(); + const adminKey = getExpectedAdminKey(); + const stats = dbService.getAdminStats(); + const report = []; + + for (const post of posts) { + const raw = post.rawContent || ''; + const internalLinks = (raw.match(/\[[^\]]+\]\((\/[^)]+)\)/g) || []).length; + const externalLinks = (raw.match(/\[[^\]]+\]\((https?:\/\/[^)]+)\)/g) || []).length; + const imagesMissingAlt = (raw.match(/!\[\s*\]\([^)]+\)/g) || []).length; + const totalImages = (raw.match(/!\[[^\]]*\]\([^)]+\)/g) || []).length; + + // Check heading hierarchy + const headings = post.toc || []; + let headingIssues = []; + let lastLevel = 1; + for (const h of headings) { + if (h.level > lastLevel + 1) { + headingIssues.push(`Skipped heading level: from h${lastLevel} to h${h.level} ("${h.title}")`); + } + lastLevel = h.level; + } + + const wordCount = raw.trim().split(/\s+/).length; + const titleLength = post.title.length; + + report.push({ + type: 'post', + slug: post.slug, + title: post.title, + wordCount, + titleLength, + titleOk: titleLength >= 20 && titleLength <= 70, + internalLinks, + externalLinks, + totalImages, + imagesMissingAlt, + headingIssues, + hasExcerpt: Boolean(post.excerpt && post.excerpt.length > 50) + }); + } + + res.render('pages/admin-seo', { + title: 'SEO Analyzer & Content Audit', + report, + adminKey, + stats + }); +}); + +// 4. Search Analytics Dashboard +router.get('/guanli/search', requireAdminAuth, (req, res) => { + const adminKey = getExpectedAdminKey(); + const stats = dbService.getAdminStats(); + const searchLogs = dbService.getAllSearchLogs(100); + const recommendations = dbService.getTopSearchRecommendations(20); + + res.render('pages/admin-search', { + title: 'Search Analytics & Query Logs', + adminKey, + stats, + searchLogs, + recommendations + }); +}); + +module.exports = router; diff --git a/server/routes/blogs.js b/server/routes/blogs.js new file mode 100644 index 0000000..a6ac7fc --- /dev/null +++ b/server/routes/blogs.js @@ -0,0 +1,42 @@ +const express = require('express'); +const router = express.Router(); +const contentService = require('../services/content'); + +router.get('/blogs', (req, res) => { + let posts = contentService.getAllPosts(); + const { category, tag, page } = req.query; + + let activeFilter = null; + + if (category) { + const catLower = category.trim().toLowerCase(); + posts = posts.filter(p => (p.category || '').toLowerCase() === catLower); + activeFilter = { type: 'category', value: category }; + } else if (tag) { + const tagLower = tag.trim().toLowerCase(); + posts = posts.filter(p => (p.tags || []).some(t => t.toLowerCase() === tagLower)); + activeFilter = { type: 'tag', value: tag }; + } + + const postsPerPage = 12; + const currentPage = Math.max(1, parseInt(page, 10) || 1); + const totalPosts = posts.length; + const totalPages = Math.ceil(totalPosts / postsPerPage); + + const startIndex = (currentPage - 1) * postsPerPage; + const paginatedPosts = posts.slice(startIndex, startIndex + postsPerPage); + + const taxonomy = contentService.getTaxonomy(); + + res.render('pages/blogs', { + title: activeFilter ? `Blogs - ${activeFilter.type}: ${activeFilter.value}` : 'Blogs', + posts: paginatedPosts, + currentPage, + totalPages, + totalPosts, + activeFilter, + taxonomy + }); +}); + +module.exports = router; diff --git a/server/routes/comments.js b/server/routes/comments.js new file mode 100644 index 0000000..244459f --- /dev/null +++ b/server/routes/comments.js @@ -0,0 +1,60 @@ +const express = require('express'); +const router = express.Router(); +const commentService = require('../services/comments'); +const contentService = require('../services/content'); +const pluginManager = require('../services/plugin-manager'); + +router.get('/api/comments/:slug', (req, res) => { + const comments = commentService.getCommentsForPost(req.params.slug); + res.json({ comments }); +}); + +router.post('/api/comments', async (req, res) => { + try { + const { postSlug, authorName, authorEmail, authorWebsite, body, honeypot } = req.body; + + if (!postSlug || !authorName || !body) { + return res.status(400).json({ error: 'Missing required fields' }); + } + + const clientIp = req.ip || req.headers['x-forwarded-for'] || req.socket.remoteAddress; + + const newComment = commentService.addComment({ + postSlug, + authorName, + authorEmail, + authorWebsite, + body, + honeypot, + ip: clientIp + }); + + // Invalidate page cache so new comment and admin views update immediately + const pageCache = require('../middleware/cache'); + pageCache.clear(); + + const post = contentService.getPost(postSlug); + // Fire plugin lifecycle hook asynchronously + pluginManager.triggerCommentCreated(newComment, post).catch(err => { + console.error('[CommentRoute] Error in onCommentCreated plugin hook:', err); + }); + + // If submitted via AJAX, return JSON + if (req.xhr || req.headers.accept.includes('json')) { + return res.json({ + success: true, + comment: newComment, + message: newComment.approved === 1 ? 'Comment posted!' : 'Your comment is awaiting moderation.' + }); + } + + // Otherwise redirect back to post comments anchor with flash message + const msg = newComment.approved === 1 ? 'comment_posted' : 'comment_pending'; + res.redirect(`/${postSlug}?comment_status=${msg}#comments`); + } catch (err) { + console.error('[CommentRoute] Error saving comment:', err); + res.status(500).json({ error: 'Failed to post comment' }); + } +}); + +module.exports = router; diff --git a/server/routes/feed.js b/server/routes/feed.js new file mode 100644 index 0000000..0b65578 --- /dev/null +++ b/server/routes/feed.js @@ -0,0 +1,58 @@ +const express = require('express'); +const router = express.Router(); +const { Feed } = require('feed'); +const contentService = require('../services/content'); + +function generateFeed(site) { + const feed = new Feed({ + title: site.title, + description: site.tagline, + id: site.url, + link: site.url, + language: 'en', + image: `${site.url}/images/og-default.png`, + favicon: `${site.url}/favicon.ico`, + copyright: `All rights reserved ${new Date().getFullYear()}, ${site.author ? site.author.name : site.title}`, + author: { + name: site.author ? site.author.name : site.title, + link: site.url + } + }); + + const posts = contentService.getAllPosts(); + + for (const post of posts) { + const postUrl = `${site.url}/${post.slug}`; + feed.addItem({ + title: post.title, + id: postUrl, + link: postUrl, + description: post.excerpt, + content: post.contentHtml, + author: [ + { + name: post.author, + link: site.url + } + ], + date: post.date, + image: post.cover ? (post.cover.startsWith('http') ? post.cover : `${site.url}${post.cover}`) : undefined + }); + } + + return feed; +} + +router.get(['/feed', '/rss.xml', '/feed.xml'], (req, res) => { + const feed = generateFeed(res.locals.site); + res.header('Content-Type', 'application/xml; charset=utf-8'); + res.send(feed.rss2()); +}); + +router.get('/atom.xml', (req, res) => { + const feed = generateFeed(res.locals.site); + res.header('Content-Type', 'application/atom+xml; charset=utf-8'); + res.send(feed.atom1()); +}); + +module.exports = router; diff --git a/server/routes/home.js b/server/routes/home.js new file mode 100644 index 0000000..2b146e7 --- /dev/null +++ b/server/routes/home.js @@ -0,0 +1,16 @@ +const express = require('express'); +const router = express.Router(); +const contentService = require('../services/content'); + +router.get('/', (req, res) => { + const homePage = contentService.getPage('/'); + const recentPosts = contentService.getAllPosts().slice(0, 6); + + res.render('pages/home', { + title: homePage ? homePage.title : res.locals.site.title, + page: homePage, + recentPosts + }); +}); + +module.exports = router; diff --git a/server/routes/pages.js b/server/routes/pages.js new file mode 100644 index 0000000..a5e5d22 --- /dev/null +++ b/server/routes/pages.js @@ -0,0 +1,28 @@ +const express = require('express'); +const router = express.Router(); +const contentService = require('../services/content'); + +router.get('/:slug', (req, res, next) => { + const pagePath = `/${req.params.slug}`; + const page = contentService.getPage(pagePath); + if (!page) { + return next(); // Fall through to 404 + } + + res.locals.seo = { + title: `${page.title} - ${res.locals.site.title}`, + description: page.frontmatter.description || res.locals.site.tagline, + canonicalUrl: `${res.locals.site.url}${pagePath}`, + ogImage: res.locals.seo.ogImage, + type: 'website' + }; + + const layout = page.layout === 'home' ? 'pages/home' : 'pages/page'; + + res.render(layout, { + title: page.title, + page + }); +}); + +module.exports = router; diff --git a/server/routes/post.js b/server/routes/post.js new file mode 100644 index 0000000..25ca6d1 --- /dev/null +++ b/server/routes/post.js @@ -0,0 +1,52 @@ +const express = require('express'); +const router = express.Router(); +const contentService = require('../services/content'); +const commentService = require('../services/comments'); + +function renderPost(req, res, next, slug, lang) { + const post = contentService.getPost(slug, lang); + if (!post) { + return next(); // Fall through to standalone pages or 404 + } + + const { prev, next: nextPost } = contentService.getAdjacentPosts(slug); + const comments = commentService.getCommentsForPost(slug); + + // Set SEO metadata for post + res.locals.seo = { + title: `${post.title} - ${res.locals.site.title}`, + description: post.excerpt || res.locals.site.tagline, + canonicalUrl: `${res.locals.site.url}/${post.slug}${post.lang !== 'en' && !post.isDefault ? `/${post.lang}` : ''}`, + ogImage: post.cover ? (post.cover.startsWith('http') ? post.cover : `${res.locals.site.url}${post.cover}`) : res.locals.seo.ogImage, + type: 'article', + publishedTime: post.date.toISOString(), + author: post.author + }; + + res.render('pages/post', { + title: post.title, + post, + currentLang: lang || post.lang, + comments, + commentStatus: req.query.comment_status, + prevPost: prev, + nextPost + }); +} + +// Route for bilingual variant: // (e.g. /my-post/zh) +router.get('/:slug/:lang([a-zA-Z]{2,5})', (req, res, next) => { + renderPost(req, res, next, req.params.slug, req.params.lang); +}); + +// Route for default language: / +router.get('/:slug', (req, res, next) => { + // Exclude reserved top-level prefixes if any + const reserved = ['blogs', 'search', 'quick-links', 'feed', 'rss.xml', 'sitemap.xml', 'robots.txt', 'api', 'plugins', 'public', 'posts-assets', 'guanli', 'admin']; + if (reserved.includes(req.params.slug)) { + return next(); + } + renderPost(req, res, next, req.params.slug, null); +}); + +module.exports = router; diff --git a/server/routes/search.js b/server/routes/search.js new file mode 100644 index 0000000..11957eb --- /dev/null +++ b/server/routes/search.js @@ -0,0 +1,104 @@ +const express = require('express'); +const router = express.Router(); +const searchEngine = require('../services/search-engine'); +const contentService = require('../services/content'); +const { loadSiteConfig } = require('../config'); + +function getRecommendedSearches() { + const config = loadSiteConfig(); + const taxonomy = contentService.getTaxonomy(); + const dbService = require('../services/db'); + + const dynamicPills = []; + + // 1. Add categories as discovery pills + for (const cat of taxonomy.categories) { + dynamicPills.push({ + label: `category:${cat.name.toLowerCase()}`, + query: `category:${cat.name.toLowerCase()}`, + count: cat.count + }); + } + + // 2. Add top tags as discovery pills + for (const tag of taxonomy.tags.slice(0, 6)) { + dynamicPills.push({ + label: `tag:${tag.name.toLowerCase()}`, + query: `tag:${tag.name.toLowerCase()}`, + count: tag.count + }); + } + + // 3. Add top trending searches from SQLite database + const trendingDb = dbService.getTopSearchRecommendations(4); + const customPills = []; + for (const item of trendingDb) { + if (!dynamicPills.some(p => p.query === item.query)) { + customPills.push({ + label: item.label, + query: item.query + }); + } + } + + // 4. Add any static curated pills from config + const staticConfig = (config.search && config.search.recommended) || []; + for (const item of staticConfig) { + if (!dynamicPills.some(p => p.query === item.query) && !customPills.some(p => p.query === item.query)) { + customPills.push(item); + } + } + + return { + dynamicPills, + customPills + }; +} + +router.get('/search', (req, res) => { + const query = (req.query.q || '').trim(); + const recommended = getRecommendedSearches(); + + let searchData = { + query: { filters: {}, phrases: [], keywords: [], raw: '' }, + results: [], + total: 0 + }; + + if (query) { + searchData = searchEngine.search(query); + } + + res.render('pages/search', { + title: query ? `Search: ${query}` : 'Search', + query, + searchData, + recommended + }); +}); + +// JSON API endpoint for client-side search autocomplete / live search +router.get('/api/search', (req, res) => { + const query = (req.query.q || '').trim(); + if (!query) { + return res.json({ query: null, results: [], total: 0 }); + } + + const searchData = searchEngine.search(query); + res.json({ + query: searchData.query, + total: searchData.total, + results: searchData.results.map(r => ({ + slug: r.post.slug, + lang: r.post.lang, + title: r.post.title, + date: r.post.date, + category: r.post.category, + tags: r.post.tags, + score: r.score, + snippet: r.snippet + })) + }); +}); + +module.exports = router; diff --git a/server/routes/sitemap.js b/server/routes/sitemap.js new file mode 100644 index 0000000..50d9149 --- /dev/null +++ b/server/routes/sitemap.js @@ -0,0 +1,75 @@ +const express = require('express'); +const router = express.Router(); +const contentService = require('../services/content'); + +router.get('/sitemap.xml', (req, res) => { + const siteUrl = res.locals.site.url; + const posts = contentService.getAllPosts(); + const pages = Array.from(contentService.pagesBySlug.values()); + + let xml = '\n'; + xml += '\n'; + + // Static / Top-level pages + const staticRoutes = ['/', '/blogs', '/search']; + for (const route of staticRoutes) { + xml += ' \n'; + xml += ` ${siteUrl}${route}\n`; + xml += ` daily\n`; + xml += ` ${route === '/' ? '1.0' : '0.8'}\n`; + xml += ' \n'; + } + + // Standalone pages + for (const page of pages) { + if (!page.slug || page.slug === '/') continue; + const cleanSlug = page.slug.startsWith('/') ? page.slug : `/${page.slug}`; + if (cleanSlug === '/guanli' || cleanSlug.startsWith('/guanli/') || cleanSlug === '/admin' || cleanSlug.startsWith('/admin/')) { + continue; + } + xml += ' \n'; + xml += ` ${siteUrl}${cleanSlug}\n`; + xml += ` weekly\n`; + xml += ` 0.7\n`; + xml += ' \n'; + } + + // Blog posts (including translations) + for (const post of posts) { + if (!post.slug || post.slug.startsWith('guanli') || post.slug.startsWith('admin')) continue; + xml += ' \n'; + xml += ` ${siteUrl}/${post.slug}\n`; + xml += ` ${post.date.toISOString().split('T')[0]}\n`; + xml += ` monthly\n`; + xml += ` 0.9\n`; + xml += ' \n'; + + // Bilingual URLs + if (post.availableLanguages) { + for (const lang of post.availableLanguages) { + if (lang !== post.lang && lang !== 'default') { + xml += ' \n'; + xml += ` ${siteUrl}/${post.slug}/${lang}\n`; + xml += ` ${post.date.toISOString().split('T')[0]}\n`; + xml += ` monthly\n`; + xml += ` 0.8\n`; + xml += ' \n'; + } + } + } + } + + xml += ''; + + res.header('Content-Type', 'application/xml; charset=utf-8'); + res.send(xml); +}); + +router.get('/robots.txt', (req, res) => { + const siteUrl = res.locals.site.url; + const content = `User-agent: *\nDisallow: /admin/\nAllow: /\n\nSitemap: ${siteUrl}/sitemap.xml\n`; + res.header('Content-Type', 'text/plain; charset=utf-8'); + res.send(content); +}); + +module.exports = router; diff --git a/server/services/comments.js b/server/services/comments.js new file mode 100644 index 0000000..8661488 --- /dev/null +++ b/server/services/comments.js @@ -0,0 +1,49 @@ +const dbService = require('./db'); + +class CommentService { + init(contentDir) { + dbService.init(contentDir); + } + + getCommentsForPost(postSlug) { + return dbService.getApprovedCommentsForPost(postSlug); + } + + addComment(params) { + return dbService.addComment(params); + } + + getPendingComments() { + return dbService.getAllComments(0); // 0 = pending + } + + getAllComments() { + return dbService.getAllComments(); + } + + approveComment(id) { + return dbService.updateCommentStatus(id, 1); + } + + rejectComment(id) { + return dbService.updateCommentStatus(id, -1); + } + + deleteComment(id) { + return dbService.deleteComment(id); + } + + batchApproveComments(ids) { + return dbService.batchUpdateCommentStatus(ids, 1); + } + + batchRejectComments(ids) { + return dbService.batchUpdateCommentStatus(ids, -1); + } + + batchDeleteComments(ids) { + return dbService.batchDeleteComments(ids); + } +} + +module.exports = new CommentService(); diff --git a/server/services/content.js b/server/services/content.js new file mode 100644 index 0000000..b5208a3 --- /dev/null +++ b/server/services/content.js @@ -0,0 +1,284 @@ +const fs = require('fs'); +const path = require('path'); +const matter = require('gray-matter'); +const { createMarkdownRenderer, extractToc } = require('./markdown'); +const searchEngine = require('./search-engine'); +const pluginManager = require('./plugin-manager'); + +class ContentService { + constructor() { + this.contentDir = ''; + this.postsBySlug = new Map(); // slug -> { defaultPost, variants: { lang -> post } } + this.allPostsList = []; // Chronological list of default language posts + this.pagesBySlug = new Map(); // slug -> page object + this.taxonomy = { + categories: new Map(), // name.toLowerCase() -> { name, count, posts } + tags: new Map() // name.toLowerCase() -> { name, slug, count, posts } + }; + this.markdownRenderer = null; + } + + init(contentDir) { + this.contentDir = contentDir; + this.markdownRenderer = createMarkdownRenderer(pluginManager); + this.reload(); + } + + reload() { + console.log('[ContentService] Scanning content directory:', this.contentDir); + this.postsBySlug.clear(); + this.allPostsList = []; + this.pagesBySlug.clear(); + this.taxonomy.categories.clear(); + this.taxonomy.tags.clear(); + + // Re-initialize markdown renderer in case plugins changed + this.markdownRenderer = createMarkdownRenderer(pluginManager); + + this.loadPosts(); + this.loadPages(); + + // Update search engine with all searchable post variants + const allSearchable = []; + for (const entry of this.postsBySlug.values()) { + allSearchable.push(entry.defaultPost); + for (const [lang, variant] of Object.entries(entry.variants)) { + if (lang !== entry.defaultPost.lang) { + allSearchable.push(variant); + } + } + } + searchEngine.setPosts(allSearchable); + + // Sync to SQLite database & FTS5 + const dbService = require('./db'); + dbService.syncPosts(allSearchable); + + // Invalidate super page cache on content refresh + const pageCache = require('../middleware/cache'); + pageCache.clear(); + + console.log(`[ContentService] Loaded ${this.allPostsList.length} blog posts and ${this.pagesBySlug.size} pages.`); + } + + loadPosts() { + const postsDir = path.join(this.contentDir, 'posts'); + if (!fs.existsSync(postsDir)) { + console.warn(`[ContentService] Posts directory not found at ${postsDir}`); + return; + } + + const entries = fs.readdirSync(postsDir, { withFileTypes: true }); + + for (const entry of entries) { + if (!entry.isDirectory()) continue; + const slug = entry.name; + const postDirPath = path.join(postsDir, slug); + + // Find all markdown files in the post folder + const files = fs.readdirSync(postDirPath); + const mdFiles = files.filter(f => f.endsWith('.md')); + if (mdFiles.length === 0) continue; + + const variants = {}; + let defaultPost = null; + + for (const file of mdFiles) { + const filePath = path.join(postDirPath, file); + const fileContent = fs.readFileSync(filePath, 'utf8'); + const { data: frontmatter, content: rawMarkdown } = matter(fileContent); + + // Determine language: + // if file is 'index.md', lang defaults to frontmatter.lang or 'en' + // if file is 'zh.md', lang is 'zh' + const baseName = path.basename(file, '.md'); + const lang = frontmatter.lang || (baseName === 'index' ? 'en' : baseName); + + const renderedHtml = this.markdownRenderer.render(rawMarkdown); + const toc = extractToc(rawMarkdown); + + // Compute excerpt if not explicitly given + let excerpt = frontmatter.excerpt; + if (!excerpt) { + const firstParaMatch = rawMarkdown.replace(/#+\s+.+/g, '').trim().split(/\n\s*\n/)[0]; + excerpt = firstParaMatch ? firstParaMatch.replace(/[*_`#[\]]/g, '').slice(0, 180) : ''; + } + + // Resolve cover image path relative to web root + let cover = frontmatter.cover || null; + if (cover && !cover.startsWith('http') && !cover.startsWith('/')) { + cover = `/posts-assets/${slug}/${cover}`; + } + + // Tags normalization + const rawTags = Array.isArray(frontmatter.tags) + ? frontmatter.tags + : (frontmatter.tags ? String(frontmatter.tags).split(',').map(s => s.trim()) : []); + + const postObj = { + slug, + lang, + title: frontmatter.title || slug, + date: frontmatter.date ? new Date(frontmatter.date) : new Date(), + author: frontmatter.author || 'Pengzhan Hao', + category: frontmatter.category || 'Tech', + tags: rawTags, + cover, + excerpt, + rawContent: rawMarkdown, + contentHtml: renderedHtml, + toc, + isDefault: (baseName === 'index'), + availableLanguages: [] + }; + + pluginManager.applyPostHooks(postObj); + + variants[lang] = postObj; + if (baseName === 'index' || !defaultPost) { + defaultPost = postObj; + } + } + + if (defaultPost) { + const availableLangs = Object.keys(variants); + defaultPost.availableLanguages = availableLangs; + for (const v of Object.values(variants)) { + v.availableLanguages = availableLangs; + } + + this.postsBySlug.set(slug, { + slug, + defaultPost, + variants + }); + + this.allPostsList.push(defaultPost); + + // Index Dynamic Taxonomy from default post + this.indexTaxonomy(defaultPost); + } + } + + // Sort posts list in reverse chronological order + this.allPostsList.sort((a, b) => b.date.getTime() - a.date.getTime()); + } + + indexTaxonomy(post) { + // 1. Category indexing + if (post.category) { + const catKey = post.category.trim().toLowerCase(); + if (!this.taxonomy.categories.has(catKey)) { + this.taxonomy.categories.set(catKey, { + name: post.category.trim(), + count: 0, + posts: [] + }); + } + const catObj = this.taxonomy.categories.get(catKey); + catObj.count++; + catObj.posts.push(post); + } + + // 2. Tag indexing + if (Array.isArray(post.tags)) { + for (const tag of post.tags) { + if (!tag) continue; + const tagName = String(tag).trim(); + const tagKey = tagName.toLowerCase(); + const tagSlug = encodeURIComponent(tagKey.replace(/\s+/g, '-')); + + if (!this.taxonomy.tags.has(tagKey)) { + this.taxonomy.tags.set(tagKey, { + name: tagName, + slug: tagSlug, + count: 0, + posts: [] + }); + } + const tagObj = this.taxonomy.tags.get(tagKey); + tagObj.count++; + tagObj.posts.push(post); + } + } + } + + loadPages() { + const pagesDir = path.join(this.contentDir, 'pages'); + if (!fs.existsSync(pagesDir)) { + return; + } + + const files = fs.readdirSync(pagesDir); + for (const file of files) { + if (!file.endsWith('.md') && !file.endsWith('.html')) continue; + const filePath = path.join(pagesDir, file); + const fileContent = fs.readFileSync(filePath, 'utf8'); + const { data: frontmatter, content: rawContent } = matter(fileContent); + + const baseName = path.basename(file, path.extname(file)); + const slug = frontmatter.permalink || (baseName === 'home' ? '/' : `/${baseName}`); + + let contentHtml = ''; + if (file.endsWith('.html')) { + contentHtml = rawContent; + } else { + contentHtml = this.markdownRenderer.render(rawContent); + } + + const pageObj = { + slug, + title: frontmatter.title || baseName, + layout: frontmatter.layout || (baseName === 'home' ? 'home' : 'page'), + frontmatter, + rawContent, + contentHtml + }; + + this.pagesBySlug.set(slug, pageObj); + } + } + + getAllPosts() { + return this.allPostsList; + } + + getPost(slug, lang) { + const entry = this.postsBySlug.get(slug); + if (!entry) return null; + + if (lang && entry.variants[lang]) { + return entry.variants[lang]; + } + return entry.defaultPost; + } + + getPage(slug) { + return this.pagesBySlug.get(slug) || null; + } + + getTaxonomy() { + // Return structured taxonomy with top tags sorted by count + const categories = Array.from(this.taxonomy.categories.values()) + .sort((a, b) => b.count - a.count); + + const tags = Array.from(this.taxonomy.tags.values()) + .sort((a, b) => b.count - a.count); + + return { categories, tags }; + } + + getAdjacentPosts(currentSlug) { + const index = this.allPostsList.findIndex(p => p.slug === currentSlug); + if (index === -1) return { prev: null, next: null }; + + // List is sorted descending by date: + // next is newer (index - 1), prev is older (index + 1) + return { + next: index > 0 ? this.allPostsList[index - 1] : null, + prev: index < this.allPostsList.length - 1 ? this.allPostsList[index + 1] : null + }; + } +} + +module.exports = new ContentService(); diff --git a/server/services/db.js b/server/services/db.js new file mode 100644 index 0000000..aae5a6b --- /dev/null +++ b/server/services/db.js @@ -0,0 +1,419 @@ +const fs = require('fs'); +const path = require('path'); +const { DatabaseSync } = require('node:sqlite'); + +class DatabaseService { + constructor() { + this.db = null; + this.dbPath = null; + } + + init(contentDir) { + const dataDir = path.join(contentDir, 'data'); + if (!fs.existsSync(dataDir)) { + fs.mkdirSync(dataDir, { recursive: true }); + } + + this.dbPath = path.join(dataDir, 'site.db'); + this.db = new DatabaseSync(this.dbPath); + + // Initialize unified tables + this.db.exec(` + -- Posts storage & metadata + CREATE TABLE IF NOT EXISTS posts ( + slug TEXT NOT NULL, + lang TEXT NOT NULL, + title TEXT NOT NULL, + date TEXT NOT NULL, + author TEXT, + category TEXT, + tags TEXT, + excerpt TEXT, + raw_content TEXT, + cover TEXT, + is_default INTEGER DEFAULT 1, + PRIMARY KEY (slug, lang) + ); + + -- Full Text Search virtual table + CREATE VIRTUAL TABLE IF NOT EXISTS posts_fts USING fts5( + slug UNINDEXED, + lang UNINDEXED, + title, + category, + tags, + excerpt, + content, + tokenize='porter unicode61' + ); + + -- Search query analytics & history + CREATE TABLE IF NOT EXISTS search_logs ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + query TEXT NOT NULL, + result_count INTEGER DEFAULT 0, + searched_at TEXT NOT NULL + ); + + -- Search query recommendations (curated + dynamic) + CREATE TABLE IF NOT EXISTS search_recommendations ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + label TEXT NOT NULL, + query TEXT NOT NULL UNIQUE, + clicks INTEGER DEFAULT 0, + is_pinned INTEGER DEFAULT 0 + ); + + -- Comments & Moderation Queue + CREATE TABLE IF NOT EXISTS comments ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + post_slug TEXT NOT NULL, + author_name TEXT NOT NULL, + author_email TEXT, + author_website TEXT, + body TEXT NOT NULL, + created_at TEXT NOT NULL, + approved INTEGER DEFAULT 0, -- 0: Pending moderation, 1: Approved, -1: Rejected/Spam + ip TEXT + ); + CREATE INDEX IF NOT EXISTS idx_comments_slug ON comments(post_slug, approved); + CREATE INDEX IF NOT EXISTS idx_comments_email ON comments(author_email); + `); + + console.log(`[DB] Unified SQLite database initialized at ${this.dbPath}`); + } + + // --- Posts & FTS5 Synchronization --- + syncPosts(postsList) { + if (!this.db) return; + + try { + this.db.exec('DELETE FROM posts; DELETE FROM posts_fts;'); + + const insertPost = this.db.prepare(` + INSERT INTO posts (slug, lang, title, date, author, category, tags, excerpt, raw_content, cover, is_default) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + `); + + const insertFts = this.db.prepare(` + INSERT INTO posts_fts (slug, lang, title, category, tags, excerpt, content) + VALUES (?, ?, ?, ?, ?, ?, ?) + `); + + for (const post of postsList) { + const tagsStr = (post.tags || []).join(' '); + const dateStr = post.date instanceof Date ? post.date.toISOString() : String(post.date); + + insertPost.run( + post.slug, + post.lang || 'en', + post.title || '', + dateStr, + post.author || '', + post.category || '', + tagsStr, + post.excerpt || '', + post.rawContent || '', + post.cover || '', + post.isDefault ? 1 : 0 + ); + + insertFts.run( + post.slug, + post.lang || 'en', + post.title || '', + post.category || '', + tagsStr, + post.excerpt || '', + post.rawContent || '' + ); + } + console.log(`[DB] Synced ${postsList.length} post variants to SQLite & FTS5.`); + } catch (err) { + console.error('[DB] Error syncing posts to SQLite:', err); + } + } + + // --- Search Query Logging & Recommendations in DB --- + logSearch(query, resultCount = 0) { + if (!this.db || !query || !query.trim()) return; + try { + const trimmed = query.trim().slice(0, 150); + const stmt = this.db.prepare(` + INSERT INTO search_logs (query, result_count, searched_at) + VALUES (?, ?, ?) + `); + stmt.run(trimmed, resultCount, new Date().toISOString()); + + // Update recommendations clicks or add to recommendations if valid + const recStmt = this.db.prepare(` + INSERT INTO search_recommendations (label, query, clicks) + VALUES (?, ?, 1) + ON CONFLICT(query) DO UPDATE SET clicks = clicks + 1 + `); + recStmt.run(trimmed, trimmed); + } catch (err) { + console.error('[DB] Error logging search:', err); + } + } + + getTopSearchRecommendations(limit = 6) { + if (!this.db) return []; + try { + const stmt = this.db.prepare(` + SELECT label, query, clicks, is_pinned + FROM search_recommendations + ORDER BY is_pinned DESC, clicks DESC + LIMIT ? + `); + return stmt.all(limit); + } catch (err) { + console.error('[DB] Error fetching recommendations:', err); + return []; + } + } + + // --- Comments & WordPress-Grade Moderation Workflow --- + isAuthorWhitelisted(email) { + if (!this.db || !email) return false; + try { + const stmt = this.db.prepare(` + SELECT COUNT(*) as count FROM comments + WHERE author_email = ? AND approved = 1 + `); + const res = stmt.get(email.toLowerCase().trim()); + return res && res.count > 0; + } catch (err) { + return false; + } + } + + addComment({ postSlug, authorName, authorEmail, authorWebsite, body, honeypot, ip }) { + if (!this.db) throw new Error('DB not initialized'); + + // Honeypot spam check + if (honeypot && honeypot.trim().length > 0) { + console.warn('[DB] Honeypot triggered, dropping spam.'); + return { id: -1, status: 'spam' }; + } + + const cleanName = String(authorName).trim().slice(0, 80); + const cleanEmail = authorEmail ? String(authorEmail).toLowerCase().trim().slice(0, 120) : ''; + const cleanWebsite = authorWebsite ? String(authorWebsite).trim().slice(0, 200) : ''; + const cleanBody = String(body).trim().slice(0, 5000); + const createdAt = new Date().toISOString(); + + // WordPress-parity rule: If author's email was previously approved, auto-approve new comment! + const autoApprove = cleanEmail ? this.isAuthorWhitelisted(cleanEmail) : false; + const approvedStatus = autoApprove ? 1 : 0; // 0: pending moderation + + const stmt = this.db.prepare(` + INSERT INTO comments (post_slug, author_name, author_email, author_website, body, created_at, approved, ip) + VALUES (?, ?, ?, ?, ?, ?, ?, ?) + `); + + stmt.run(postSlug, cleanName, cleanEmail, cleanWebsite, cleanBody, createdAt, approvedStatus, ip || ''); + + return { + post_slug: postSlug, + author_name: cleanName, + author_email: cleanEmail, + author_website: cleanWebsite, + body: cleanBody, + created_at: createdAt, + approved: approvedStatus, + status: approvedStatus === 1 ? 'approved' : 'pending' + }; + } + + getApprovedCommentsForPost(postSlug) { + if (!this.db) return []; + try { + const stmt = this.db.prepare(` + SELECT id, post_slug, author_name, author_website, body, created_at + FROM comments + WHERE post_slug = ? AND approved = 1 + ORDER BY id ASC + `); + return stmt.all(postSlug); + } catch (err) { + console.error('[DB] Error fetching comments:', err); + return []; + } + } + + getCommentCounts() { + if (!this.db) return { all: 0, pending: 0, approved: 0, spam: 0 }; + try { + const all = this.db.prepare('SELECT COUNT(*) as c FROM comments').get().c; + const pending = this.db.prepare('SELECT COUNT(*) as c FROM comments WHERE approved = 0').get().c; + const approved = this.db.prepare('SELECT COUNT(*) as c FROM comments WHERE approved = 1').get().c; + const spam = this.db.prepare('SELECT COUNT(*) as c FROM comments WHERE approved = -1').get().c; + return { all, pending, approved, spam }; + } catch (err) { + console.error('[DB] Error fetching comment counts:', err); + return { all: 0, pending: 0, approved: 0, spam: 0 }; + } + } + + getPaginatedComments({ status = 'all', q = '', page = 1, limit = 15 } = {}) { + if (!this.db) return { comments: [], total: 0, page: 1, totalPages: 1 }; + try { + let whereClauses = []; + let params = []; + + if (status === 'pending') { + whereClauses.push('approved = 0'); + } else if (status === 'approved') { + whereClauses.push('approved = 1'); + } else if (status === 'spam') { + whereClauses.push('approved = -1'); + } + + if (q && q.trim()) { + whereClauses.push('(author_name LIKE ? OR author_email LIKE ? OR author_website LIKE ? OR body LIKE ? OR post_slug LIKE ? OR ip LIKE ?)'); + const searchPattern = `%${q.trim()}%`; + params.push(searchPattern, searchPattern, searchPattern, searchPattern, searchPattern, searchPattern); + } + + const whereSql = whereClauses.length > 0 ? `WHERE ${whereClauses.join(' AND ')}` : ''; + + const countStmt = this.db.prepare(`SELECT COUNT(*) as count FROM comments ${whereSql}`); + const total = countStmt.get(...params).count; + + const pageNum = Math.max(1, parseInt(page, 10) || 1); + const pageSize = Math.max(1, parseInt(limit, 10) || 15); + const totalPages = Math.ceil(total / pageSize) || 1; + const offset = (pageNum - 1) * pageSize; + + const dataStmt = this.db.prepare(` + SELECT id, post_slug, author_name, author_email, author_website, body, created_at, approved, ip + FROM comments + ${whereSql} + ORDER BY id DESC + LIMIT ? OFFSET ? + `); + + const comments = dataStmt.all(...params, pageSize, offset); + return { comments, total, page: pageNum, totalPages, limit: pageSize }; + } catch (err) { + console.error('[DB] Error in getPaginatedComments:', err); + return { comments: [], total: 0, page: 1, totalPages: 1 }; + } + } + + getAllComments(filterApproved = null) { + if (!this.db) return []; + try { + if (filterApproved !== null) { + const stmt = this.db.prepare(` + SELECT id, post_slug, author_name, author_email, author_website, body, created_at, approved, ip + FROM comments + WHERE approved = ? + ORDER BY id DESC + `); + return stmt.all(filterApproved); + } + const stmt = this.db.prepare(` + SELECT id, post_slug, author_name, author_email, author_website, body, created_at, approved, ip + FROM comments + ORDER BY id DESC + `); + return stmt.all(); + } catch (err) { + console.error('[DB] Error fetching all comments:', err); + return []; + } + } + + updateCommentStatus(commentId, newStatus) { + if (!this.db) return false; + try { + const stmt = this.db.prepare(`UPDATE comments SET approved = ? WHERE id = ?`); + stmt.run(newStatus, commentId); + return true; + } catch (err) { + console.error('[DB] Error updating comment status:', err); + return false; + } + } + + deleteComment(commentId) { + if (!this.db) return false; + try { + const stmt = this.db.prepare(`DELETE FROM comments WHERE id = ?`); + stmt.run(commentId); + return true; + } catch (err) { + console.error('[DB] Error deleting comment:', err); + return false; + } + } + + batchUpdateCommentStatus(ids, newStatus) { + if (!this.db || !Array.isArray(ids) || ids.length === 0) return 0; + try { + const placeholders = ids.map(() => '?').join(','); + const stmt = this.db.prepare(`UPDATE comments SET approved = ? WHERE id IN (${placeholders})`); + const info = stmt.run(newStatus, ...ids); + return info.changes; + } catch (err) { + console.error('[DB] Error batch updating comments:', err); + return 0; + } + } + + batchDeleteComments(ids) { + if (!this.db || !Array.isArray(ids) || ids.length === 0) return 0; + try { + const placeholders = ids.map(() => '?').join(','); + const stmt = this.db.prepare(`DELETE FROM comments WHERE id IN (${placeholders})`); + const info = stmt.run(...ids); + return info.changes; + } catch (err) { + console.error('[DB] Error batch deleting comments:', err); + return 0; + } + } + + // --- Admin Dashboard Stats & Logs --- + getAdminStats() { + if (!this.db) { + return { totalPosts: 0, pendingComments: 0, approvedComments: 0, totalSearches: 0 }; + } + try { + const postsCount = this.db.prepare('SELECT COUNT(*) as count FROM posts').get()?.count || 0; + const pendingCount = this.db.prepare('SELECT COUNT(*) as count FROM comments WHERE approved = 0').get()?.count || 0; + const approvedCount = this.db.prepare('SELECT COUNT(*) as count FROM comments WHERE approved = 1').get()?.count || 0; + const searchCount = this.db.prepare('SELECT COUNT(*) as count FROM search_logs').get()?.count || 0; + + return { + totalPosts: postsCount, + pendingComments: pendingCount, + approvedComments: approvedCount, + totalSearches: searchCount + }; + } catch (err) { + console.error('[DB] Error getting admin stats:', err); + return { totalPosts: 0, pendingComments: 0, approvedComments: 0, totalSearches: 0 }; + } + } + + getAllSearchLogs(limit = 100) { + if (!this.db) return []; + try { + const stmt = this.db.prepare(` + SELECT id, query, result_count, searched_at + FROM search_logs + ORDER BY id DESC + LIMIT ? + `); + return stmt.all(limit); + } catch (err) { + console.error('[DB] Error fetching search logs:', err); + return []; + } + } +} + +module.exports = new DatabaseService(); diff --git a/server/services/markdown.js b/server/services/markdown.js new file mode 100644 index 0000000..36cf405 --- /dev/null +++ b/server/services/markdown.js @@ -0,0 +1,88 @@ +const MarkdownIt = require('markdown-it'); +const markdownItAnchor = require('markdown-it-anchor'); +const markdownItFootnote = require('markdown-it-footnote'); +const markdownItAttrs = require('markdown-it-attrs'); +const Prism = require('prismjs'); +require('prismjs/components/prism-bash'); +require('prismjs/components/prism-json'); +require('prismjs/components/prism-yaml'); +require('prismjs/components/prism-python'); +require('prismjs/components/prism-go'); +require('prismjs/components/prism-docker'); +require('prismjs/components/prism-sql'); +require('prismjs/components/prism-typescript'); +require('prismjs/components/prism-markdown'); + +function slugifyHeading(s) { + return encodeURIComponent(String(s).trim().toLowerCase().replace(/\s+/g, '-')); +} + +function createMarkdownRenderer(pluginManager) { + const md = new MarkdownIt({ + html: true, + linkify: true, + typographer: true, + highlight: function (str, lang) { + if (lang && Prism.languages[lang]) { + try { + return `
${Prism.highlight(str, Prism.languages[lang], lang)}
`; + } catch (__) {} + } + const escaped = md.utils.escapeHtml(str); + return `
${escaped}
`; + } + }); + + md.use(markdownItAnchor, { + slugify: slugifyHeading, + permalink: markdownItAnchor.permalink.linkInsideHeader({ + symbol: '#', + placement: 'after', + ariaHidden: true + }) + }); + + md.use(markdownItFootnote); + md.use(markdownItAttrs); + + // Disable indented code blocks (4 spaces) so indented HTML elements don't get converted to

+  md.disable('code');
+
+  if (pluginManager) {
+    pluginManager.applyMarkdownHooks(md);
+  }
+
+  return md;
+}
+
+function extractToc(markdownContent) {
+  const headings = [];
+  const lines = markdownContent.split(/\r?\n/);
+  let inCodeBlock = false;
+
+  for (const line of lines) {
+    if (line.trim().startsWith('```')) {
+      inCodeBlock = !inCodeBlock;
+      continue;
+    }
+    if (inCodeBlock) continue;
+
+    const match = line.match(/^(#{1,6})\s+(.+)$/);
+    if (match) {
+      const level = match[1].length;
+      // Strip markdown links/formatting from heading text for TOC display
+      const title = match[2].replace(/\[([^\]]+)\]\([^)]+\)/g, '$1').replace(/[*_`]/g, '').trim();
+      const id = slugifyHeading(title);
+      headings.push({ level, title, id });
+    }
+  }
+
+  // Build hierarchical tree if needed or flat list with levels
+  return headings;
+}
+
+module.exports = {
+  createMarkdownRenderer,
+  extractToc,
+  slugifyHeading
+};
diff --git a/server/services/plugin-manager.js b/server/services/plugin-manager.js
new file mode 100644
index 0000000..7fbb1a8
--- /dev/null
+++ b/server/services/plugin-manager.js
@@ -0,0 +1,137 @@
+const fs = require('fs');
+const path = require('path');
+const express = require('express');
+
+class PluginManager {
+  constructor() {
+    this.plugins = new Map();
+    this.pluginStaticRouters = [];
+  }
+
+  loadPlugins(contentDir, app, siteConfig) {
+    const pluginsDir = path.join(contentDir, 'plugins');
+    this.plugins.clear();
+
+    if (!fs.existsSync(pluginsDir)) {
+      return;
+    }
+
+    const entries = fs.readdirSync(pluginsDir, { withFileTypes: true });
+
+    for (const entry of entries) {
+      if (!entry.isDirectory()) continue;
+      const pluginName = entry.name;
+      const pluginPath = path.join(pluginsDir, pluginName);
+      const manifestPath = path.join(pluginPath, 'plugin.json');
+      const entryScriptPath = path.join(pluginPath, 'index.js');
+
+      if (!fs.existsSync(entryScriptPath)) {
+        continue;
+      }
+
+      try {
+        let manifest = { name: pluginName, enabled: true };
+        if (fs.existsSync(manifestPath)) {
+          manifest = { ...manifest, ...JSON.parse(fs.readFileSync(manifestPath, 'utf8')) };
+        }
+
+        // Check if enabled in site config (default true if not explicitly false)
+        const configEntry = siteConfig.plugins && siteConfig.plugins[pluginName];
+        if (configEntry === false || (configEntry && configEntry.enabled === false)) {
+          console.log(`[PluginManager] Plugin ${pluginName} is disabled in config`);
+          continue;
+        }
+
+        // Clear module cache for hot reload
+        delete require.cache[require.resolve(entryScriptPath)];
+        const pluginModule = require(entryScriptPath);
+
+        const pluginInstance = {
+          name: pluginName,
+          manifest,
+          module: pluginModule,
+          config: (configEntry && typeof configEntry === 'object') ? configEntry : {}
+        };
+
+        // Mount public assets if directory exists
+        const publicDir = path.join(pluginPath, 'public');
+        if (fs.existsSync(publicDir) && app) {
+          app.use(`/plugins/${pluginName}`, express.static(publicDir));
+        }
+
+        // Run onInit hook
+        if (typeof pluginModule.onInit === 'function' && app) {
+          try {
+            pluginModule.onInit({
+              app,
+              config: siteConfig,
+              pluginConfig: pluginInstance.config
+            });
+          } catch (initErr) {
+            console.error(`[PluginManager] Error in onInit for plugin ${pluginName}:`, initErr);
+          }
+        }
+
+        this.plugins.set(pluginName, pluginInstance);
+        console.log(`[PluginManager] Loaded plugin: ${pluginName}`);
+      } catch (err) {
+        console.error(`[PluginManager] Failed to load plugin ${pluginName}:`, err);
+      }
+    }
+  }
+
+  applyMarkdownHooks(markdownIt) {
+    for (const [name, plugin] of this.plugins) {
+      if (typeof plugin.module.onMarkdownInit === 'function') {
+        try {
+          plugin.module.onMarkdownInit({ markdownIt, pluginConfig: plugin.config });
+        } catch (err) {
+          console.error(`[PluginManager] Error in onMarkdownInit for ${name}:`, err);
+        }
+      }
+    }
+  }
+
+  applyPostHooks(post) {
+    for (const [name, plugin] of this.plugins) {
+      if (typeof plugin.module.onPostLoad === 'function') {
+        try {
+          plugin.module.onPostLoad({ post, pluginConfig: plugin.config });
+        } catch (err) {
+          console.error(`[PluginManager] Error in onPostLoad for ${name}:`, err);
+        }
+      }
+    }
+  }
+
+  async triggerCommentCreated(comment, post) {
+    for (const [name, plugin] of this.plugins) {
+      if (typeof plugin.module.onCommentCreated === 'function') {
+        try {
+          await plugin.module.onCommentCreated({ comment, post, pluginConfig: plugin.config });
+        } catch (err) {
+          console.error(`[PluginManager] Error in onCommentCreated for ${name}:`, err);
+        }
+      }
+    }
+  }
+
+  renderHook(hookName, context) {
+    let output = '';
+    for (const [name, plugin] of this.plugins) {
+      if (typeof plugin.module[hookName] === 'function') {
+        try {
+          const res = plugin.module[hookName]({ ...context, pluginConfig: plugin.config });
+          if (res && typeof res === 'string') {
+            output += '\n' + res;
+          }
+        } catch (err) {
+          console.error(`[PluginManager] Error in ${hookName} for ${name}:`, err);
+        }
+      }
+    }
+    return output;
+  }
+}
+
+module.exports = new PluginManager();
diff --git a/server/services/search-engine.js b/server/services/search-engine.js
new file mode 100644
index 0000000..ba7cecf
--- /dev/null
+++ b/server/services/search-engine.js
@@ -0,0 +1,243 @@
+class SearchEngine {
+  constructor() {
+    this.posts = [];
+  }
+
+  setPosts(posts) {
+    this.posts = posts;
+  }
+
+  // Parse a query like: tag:k8s "container image" category:tech cgroup
+  parseQuery(queryString) {
+    if (!queryString || typeof queryString !== 'string') {
+      return { filters: {}, phrases: [], keywords: [], raw: '' };
+    }
+
+    const raw = queryString.trim();
+    const filters = {
+      tags: [],
+      categories: [],
+      authors: [],
+      langs: []
+    };
+    const phrases = [];
+    const keywords = [];
+
+    // Regex to match: field:value, field:"quoted value", "quoted phrase", or bare words
+    const tokenRegex = /(?:([a-zA-Z_-]+):(?:"([^"]+)"|([^\s]+)))|(?:"([^"]+)")|([^\s]+)/g;
+    let match;
+
+    while ((match = tokenRegex.exec(raw)) !== null) {
+      if (match[1]) {
+        // Schema filter (e.g. tag:k8s, category:tech)
+        const field = match[1].toLowerCase();
+        const value = (match[2] || match[3]).trim().toLowerCase();
+        if (field === 'tag' || field === 'tags') {
+          filters.tags.push(value);
+        } else if (field === 'category' || field === 'cat') {
+          filters.categories.push(value);
+        } else if (field === 'author') {
+          filters.authors.push(value);
+        } else if (field === 'lang') {
+          filters.langs.push(value);
+        } else {
+          // Unknown field, treat as keyword
+          keywords.push(`${field}:${value}`);
+        }
+      } else if (match[4]) {
+        // Quoted exact phrase
+        phrases.push(match[4].trim());
+      } else if (match[5]) {
+        // Bare keyword
+        keywords.push(match[5].trim());
+      }
+    }
+
+    return { filters, phrases, keywords, raw };
+  }
+
+  search(queryString) {
+    const parsed = this.parseQuery(queryString);
+    if (!parsed.raw) {
+      return { query: parsed, results: [], total: 0 };
+    }
+
+    const results = [];
+
+    for (const post of this.posts) {
+      let matches = true;
+      let score = 0;
+
+      // 1. Schema Filter Gate: Category
+      if (parsed.filters.categories.length > 0) {
+        const postCat = (post.category || '').toLowerCase();
+        const catMatch = parsed.filters.categories.every(cat => postCat === cat);
+        if (!catMatch) matches = false;
+      }
+
+      // 2. Schema Filter Gate: Tags
+      if (matches && parsed.filters.tags.length > 0) {
+        const postTags = (post.tags || []).map(t => String(t).toLowerCase());
+        const tagsMatch = parsed.filters.tags.every(reqTag => 
+          postTags.some(t => t === reqTag || t.replace(/[^a-z0-9]/g, '') === reqTag.replace(/[^a-z0-9]/g, ''))
+        );
+        if (!tagsMatch) matches = false;
+      }
+
+      // 3. Schema Filter Gate: Author
+      if (matches && parsed.filters.authors.length > 0) {
+        const postAuthor = (post.author || '').toLowerCase();
+        const authorMatch = parsed.filters.authors.every(a => postAuthor.includes(a));
+        if (!authorMatch) matches = false;
+      }
+
+      // 4. Schema Filter Gate: Lang
+      if (matches && parsed.filters.langs.length > 0) {
+        const postLang = (post.lang || 'en').toLowerCase();
+        const availableLangs = (post.availableLanguages || [postLang]).map(l => l.toLowerCase());
+        const langMatch = parsed.filters.langs.every(l => availableLangs.includes(l));
+        if (!langMatch) matches = false;
+      }
+
+      if (!matches) continue;
+
+      // Searchable text fields
+      const title = post.title || '';
+      const excerpt = post.excerpt || '';
+      const content = post.rawContent || '';
+      const tagsStr = (post.tags || []).join(' ');
+
+      const fullHaystack = `${title}\n${tagsStr}\n${excerpt}\n${content}`.toLowerCase();
+
+      // 5. Exact Phrase Matching (must match ALL quoted phrases)
+      let phraseMatches = true;
+      for (const phrase of parsed.phrases) {
+        const lowerPhrase = phrase.toLowerCase();
+        if (!fullHaystack.includes(lowerPhrase)) {
+          phraseMatches = false;
+          break;
+        }
+        // Score bonus for phrase
+        if (title.toLowerCase().includes(lowerPhrase)) score += 30;
+        if (excerpt.toLowerCase().includes(lowerPhrase)) score += 15;
+        if (content.toLowerCase().includes(lowerPhrase)) score += 10;
+      }
+      if (!phraseMatches) continue;
+
+      // 6. Bare Keywords Matching (must match ALL keywords)
+      let keywordMatches = true;
+      for (const kw of parsed.keywords) {
+        const lowerKw = kw.toLowerCase();
+        if (!fullHaystack.includes(lowerKw)) {
+          keywordMatches = false;
+          break;
+        }
+        if (title.toLowerCase().includes(lowerKw)) score += 15;
+        if (tagsStr.toLowerCase().includes(lowerKw)) score += 10;
+        if (excerpt.toLowerCase().includes(lowerKw)) score += 5;
+        if (content.toLowerCase().includes(lowerKw)) score += 2;
+      }
+      if (!keywordMatches) continue;
+
+      // Recency score bonus (up to 5 points)
+      if (post.date) {
+        const ageInDays = (Date.now() - new Date(post.date).getTime()) / (1000 * 60 * 60 * 24);
+        if (ageInDays > 0) {
+          score += Math.max(0, 5 - Math.log10(ageInDays));
+        }
+      }
+
+      // Generate snippet with highlighted terms
+      const snippet = this.generateSnippet(post, parsed);
+
+      results.push({
+        post,
+        score,
+        snippet
+      });
+    }
+
+    // Deduplicate by post.slug so bilingual variants don't produce duplicate cards
+    const uniqueResultsMap = new Map();
+    for (const res of results) {
+      const existing = uniqueResultsMap.get(res.post.slug);
+      if (!existing || res.score > existing.score) {
+        uniqueResultsMap.set(res.post.slug, res);
+      }
+    }
+
+    const deduplicatedResults = Array.from(uniqueResultsMap.values());
+
+    // Sort by relevance score descending
+    deduplicatedResults.sort((a, b) => b.score - a.score);
+
+    // Log query to SQLite for trending recommendations & analytics
+    try {
+      const dbService = require('./db');
+      dbService.logSearch(queryString, deduplicatedResults.length);
+    } catch (e) {}
+
+    return {
+      query: parsed,
+      results: deduplicatedResults,
+      total: deduplicatedResults.length
+    };
+  }
+
+  generateSnippet(post, parsed) {
+    const text = post.rawContent || post.excerpt || '';
+    const searchTerms = [...parsed.phrases, ...parsed.keywords];
+    if (searchTerms.length === 0) {
+      return post.excerpt ? this.escapeHtml(post.excerpt) : '';
+    }
+
+    // Find position of first matching term
+    let bestIndex = -1;
+    let matchedTerm = '';
+    const lowerText = text.toLowerCase();
+
+    for (const term of searchTerms) {
+      const idx = lowerText.indexOf(term.toLowerCase());
+      if (idx !== -1 && (bestIndex === -1 || idx < bestIndex)) {
+        bestIndex = idx;
+        matchedTerm = term;
+      }
+    }
+
+    if (bestIndex === -1) {
+      return post.excerpt ? this.escapeHtml(post.excerpt) : '';
+    }
+
+    // Extract snippet around bestIndex
+    const start = Math.max(0, bestIndex - 60);
+    const end = Math.min(text.length, bestIndex + 100);
+    let snippet = text.slice(start, end).replace(/\s+/g, ' ');
+
+    if (start > 0) snippet = '...' + snippet;
+    if (end < text.length) snippet = snippet + '...';
+
+    // Highlight terms
+    let safeSnippet = this.escapeHtml(snippet);
+    for (const term of searchTerms) {
+      if (!term) continue;
+      const regex = new RegExp(`(${this.escapeRegex(term)})`, 'gi');
+      safeSnippet = safeSnippet.replace(regex, '$1');
+    }
+
+    return safeSnippet;
+  }
+
+  escapeHtml(str) {
+    return String(str)
+      .replace(/&/g, '&')
+      .replace(//g, '>')
+      .replace(/"/g, '"');
+  }
+
+  escapeRegex(str) {
+    return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
+  }
+}
+
+module.exports = new SearchEngine();
diff --git a/server/services/watcher.js b/server/services/watcher.js
new file mode 100644
index 0000000..e39b5ca
--- /dev/null
+++ b/server/services/watcher.js
@@ -0,0 +1,60 @@
+const chokidar = require('chokidar');
+const path = require('path');
+const contentService = require('./content');
+const pluginManager = require('./plugin-manager');
+const { loadSiteConfig } = require('../config');
+
+class WatcherService {
+  constructor() {
+    this.watcher = null;
+    this.debounceTimer = null;
+  }
+
+  start(contentDir, app) {
+    console.log(`[Watcher] Starting filesystem watcher on ${contentDir}`);
+
+    this.watcher = chokidar.watch(contentDir, {
+      ignored: [
+        /(^|[\/\\])\../,              // dotfiles
+        /(^|[\/\\])data([\/\\]|$)/,   // ignore entire data/ directory (site.db, journals, etc.)
+        /\.db(-journal|-wal|-shm)?$/, // sqlite database files
+        /node_modules/
+      ],
+      persistent: true,
+      ignoreInitial: true,
+      awaitWriteFinish: {
+        stabilityThreshold: 300,
+        pollInterval: 100
+      }
+    });
+
+    const triggerReload = (event, filePath) => {
+      const relative = path.relative(contentDir, filePath);
+      console.log(`[Watcher] Detected ${event} on ${relative}`);
+
+      clearTimeout(this.debounceTimer);
+      this.debounceTimer = setTimeout(() => {
+        try {
+          const freshConfig = loadSiteConfig();
+          pluginManager.loadPlugins(contentDir, app, freshConfig);
+          contentService.reload();
+          console.log(`[Watcher] Hot reload finished successfully.`);
+        } catch (err) {
+          console.error(`[Watcher] Error during hot reload:`, err);
+        }
+      }, 250);
+    };
+
+    this.watcher.on('add', (p) => triggerReload('add', p));
+    this.watcher.on('change', (p) => triggerReload('change', p));
+    this.watcher.on('unlink', (p) => triggerReload('unlink', p));
+  }
+
+  close() {
+    if (this.watcher) {
+      this.watcher.close();
+    }
+  }
+}
+
+module.exports = new WatcherService();
diff --git a/test/test.js b/test/test.js
new file mode 100644
index 0000000..05c7a8a
--- /dev/null
+++ b/test/test.js
@@ -0,0 +1,250 @@
+const assert = require('assert');
+const path = require('path');
+const http = require('http');
+
+const { CONTENT_DIR, loadSiteConfig } = require('../server/config');
+const contentService = require('../server/services/content');
+const searchEngine = require('../server/services/search-engine');
+const commentService = require('../server/services/comments');
+const dbService = require('../server/services/db');
+const pluginManager = require('../server/services/plugin-manager');
+const pageCache = require('../server/middleware/cache');
+const app = require('../server/index');
+
+async function runTests() {
+  console.log('====================================================');
+  console.log(' Comprehensive Test Suite for pengzhan.dev');
+  console.log('====================================================');
+
+  // Test 1: Content Service & Bilingual Loading
+  console.log('[Test 1] Testing Content Service & Bilingual Loading...');
+  const posts = contentService.getAllPosts();
+  assert(posts.length >= 3, `Expected at least 3 posts, got ${posts.length}`);
+
+  const dropboxPost = contentService.getPost('using-gemini-cli-and-mcp-server-to-organize-my-dropbox');
+  assert(dropboxPost, 'Default dropbox post must exist');
+  assert.strictEqual(dropboxPost.lang, 'en');
+  assert(dropboxPost.cover, 'Dropbox post must have cover image');
+  assert(dropboxPost.availableLanguages.includes('zh'), 'Dropbox post must report zh translation available');
+
+  const dropboxZh = contentService.getPost('using-gemini-cli-and-mcp-server-to-organize-my-dropbox', 'zh');
+  assert(dropboxZh, 'Chinese variant of dropbox post must exist');
+  assert.strictEqual(dropboxZh.lang, 'zh');
+  console.log('  ✓ Content service & bilingual variants verified.');
+
+  // Test 2: Unified SQLite Database Sync & FTS5
+  console.log('[Test 2] Testing Unified SQLite DB (Posts, FTS5 & Search Analytics)...');
+  const allComments = dbService.getAllComments();
+  assert(Array.isArray(allComments), 'Comments must be an array from SQLite');
+
+  // Check posts synced to SQLite
+  const stmt = dbService.db.prepare('SELECT COUNT(*) as count FROM posts');
+  const postCount = stmt.get().count;
+  assert(postCount >= 3, `Expected at least 3 posts in SQLite, got ${postCount}`);
+
+  // Test FTS5 search in SQLite
+  const ftsStmt = dbService.db.prepare("SELECT slug FROM posts_fts WHERE posts_fts MATCH 'dropbox'");
+  const ftsResults = ftsStmt.all();
+  assert(ftsResults.length >= 1, 'SQLite FTS5 must find posts matching dropbox');
+  console.log(`  ✓ Unified SQLite active: ${postCount} posts in DB, FTS5 indexed.`);
+
+  // Test 3: Structured Schema Search Engine & Deduplication
+  console.log('[Test 3] Testing Structured Schema Search Engine & Deduplication...');
+  const complexQuery = 'tag:k8s "container image" category:tech';
+  const res1 = searchEngine.search(complexQuery);
+  assert.strictEqual(res1.total, 1, `Query '${complexQuery}' should deduplicate to exactly 1 post, got ${res1.total}`);
+  assert.strictEqual(res1.results[0].post.slug, 'using-gemini-cli-and-mcp-server-to-organize-my-dropbox');
+  assert(res1.results[0].snippet.includes(''), 'Snippet must highlight matched terms');
+
+  // Verify search logging to SQLite
+  const topRecs = dbService.getTopSearchRecommendations(5);
+  assert(topRecs.length >= 1, 'Search query must be recorded in SQLite search_logs / recommendations');
+  console.log(`  ✓ Search engine verified. Query logged in SQLite recommendations.`);
+
+  // Test 4: WordPress-Grade Comment Moderation & Author Whitelist
+  console.log('[Test 4] Testing WordPress-Grade Comment Moderation...');
+  const testEmail = `ada-${Date.now()}@computing.org`;
+  // Initial submission -> Pending (approved: 0)
+  const pendingComment = commentService.addComment({
+    postSlug: 'using-gemini-cli-and-mcp-server-to-organize-my-dropbox',
+    authorName: 'Ada Lovelace',
+    authorEmail: testEmail,
+    authorWebsite: 'https://ada.org',
+    body: 'Fascinating article on MCP servers.'
+  });
+  assert.strictEqual(pendingComment.approved, 0, 'New author comment must be pending approval (approved: 0)');
+  assert.strictEqual(pendingComment.status, 'pending');
+
+  const pendingList = commentService.getPendingComments();
+  const added = pendingList.find(c => c.author_email === testEmail);
+  assert(added, 'Comment must be present in pending queue');
+
+  // Admin approves comment
+  commentService.approveComment(added.id);
+  const approvedList = commentService.getCommentsForPost('using-gemini-cli-and-mcp-server-to-organize-my-dropbox');
+  assert(approvedList.some(c => c.author_name === 'Ada Lovelace' && c.id === added.id), 'Approved comment must appear in post comments');
+
+  // WordPress Author Whitelist rule: Subsequent comment by approved author is auto-approved!
+  const secondComment = commentService.addComment({
+    postSlug: 'using-gemini-cli-and-mcp-server-to-organize-my-dropbox',
+    authorName: 'Ada Lovelace',
+    authorEmail: testEmail,
+    body: 'A follow-up thought.'
+  });
+  assert.strictEqual(secondComment.approved, 1, 'Previously approved author must be auto-approved (WordPress parity)');
+  console.log('  ✓ Comment moderation workflow and author email whitelist verified.');
+
+  // Test 5: In-Process HTTP Server, SEO, Cache & Admin Tests
+  console.log('[Test 5] Testing HTTP Endpoints, SEO Structured Data, and Super Page Cache...');
+
+  function request(route, method = 'GET', headers = {}, data = null) {
+    return new Promise((resolve, reject) => {
+      const parsedUrl = new URL(route, 'http://localhost');
+      const req = new http.IncomingMessage(null);
+      req.method = method;
+      req.url = route;
+      const normalizedHeaders = {};
+      for (const [k, v] of Object.entries(headers)) {
+        normalizedHeaders[k.toLowerCase()] = v;
+      }
+      req.headers = { 
+        host: 'localhost', 
+        accept: 'text/html,application/xhtml+xml,application/xml,*/*',
+        ...normalizedHeaders 
+      };
+      if (data) {
+        req.headers['content-length'] = Buffer.byteLength(data);
+        req.push(data);
+      }
+      req.push(null);
+
+      const res = new http.ServerResponse(req);
+      let body = '';
+      res.write = function(chunk, encoding, cb) {
+        if (chunk) body += chunk.toString();
+        if (typeof cb === 'function') cb();
+        return true;
+      };
+      res.end = function(chunk, encoding, cb) {
+        if (chunk) body += chunk.toString();
+        if (typeof cb === 'function') cb();
+        resolve({ statusCode: res.statusCode, headers: res.getHeaders(), body });
+      };
+
+      try {
+        app.handle(req, res);
+      } catch (err) {
+        reject(err);
+      }
+    });
+  }
+
+  // Route Tests
+  const homeRes = await request('/');
+  assert.strictEqual(homeRes.statusCode, 200);
+  assert(homeRes.body.includes('Pengzhan Hao'), 'Home page must have hero title');
+  assert(homeRes.body.includes('two-column-grid'), 'Home page must render two-column research sections');
+
+  // SEO JSON-LD Verification
+  assert(homeRes.body.includes('application/ld+json'), 'Page must contain JSON-LD script');
+  const jsonLdMatch = homeRes.body.match(/
+  
+
+
diff --git a/views/pages/admin-comments.ejs b/views/pages/admin-comments.ejs
new file mode 100644
index 0000000..1321df4
--- /dev/null
+++ b/views/pages/admin-comments.ejs
@@ -0,0 +1,429 @@
+<%- include('../partials/head', { pageType: 'admin' }) %>
+
+
+ <%- include('../partials/admin-header', { activeAdminTab: 'comments', stats }) %> + + + + + +
+
+

+ <%= status === 'all' ? 'All Comments' : (status === 'pending' ? 'Pending Moderation Queue' : (status === 'approved' ? 'Approved Comments' : 'Spam Queue')) %> + <%= totalComments %> total +

+ + <% if (totalPages > 1) { %> +
+ Page <%= page %> of <%= totalPages %> +
+ <% } %> +
+ + <% if (comments.length === 0) { %> +
+

💭 No comments found in this view.

+

<%= q ? `No results matching "${q}". Try clearing your search.` : 'You are all caught up!' %>

+
+ <% } else { %> + +
+
+ + +
+ + + +
+ +
+ <% comments.forEach(c => { + const initials = (c.author_name || 'Anonymous') + .split(' ') + .map(n => n[0]) + .slice(0, 2) + .join('') + .toUpperCase(); + %> +
+ +
+
+
+ +
+
+ <%= initials %> +
+
+
+ <%= c.author_name %> + + <%= c.approved === 1 ? 'Approved' : (c.approved === 0 ? 'Pending Moderation' : 'Spam') %> + +
+
+ <% if (c.author_email) { %> + + ✉� <%= c.author_email %> + + <% } else { %> + (No email provided) + <% } %> + + <% if (c.author_website) { %> + + � <%= c.author_website.replace(/^https?:\/\//, '').replace(/\/$/, '') %> ↗ + + <% } %> + + <% if (c.ip) { %> + + � <%= c.ip %> + + <% } %> +
+
+
+ +
+ +
<%= new Date(c.created_at).toLocaleString() %>
+
+
+ + +

<%= c.body %>

+ + +
+ <% if (c.approved !== 1) { %> + + <% } %> + + <% if (c.approved !== -1) { %> + + <% } %> + + +
+
+ <% }) %> +
+ <% } %> + + + <% if (totalPages > 1) { %> +
+ <% if (page > 1) { %> + + ← Previous + + <% } %> + + <% for (let p = 1; p <= totalPages; p++) { %> + + <%= p %> + + <% } %> + + <% if (page < totalPages) { %> + + Next → + + <% } %> +
+ <% } %> +
+
+ + +
+ + + +<%- include('../partials/foot', { pageType: 'admin' }) %> diff --git a/views/pages/admin-login.ejs b/views/pages/admin-login.ejs new file mode 100644 index 0000000..e4e4bb7 --- /dev/null +++ b/views/pages/admin-login.ejs @@ -0,0 +1,31 @@ +<%- include('../partials/head', { pageType: 'admin' }) %> + +
+

Admin Dashboard

+

Please enter your administrative password to manage comments and SEO audits.

+ + <% if (typeof error !== 'undefined' && error) { %> +
+ <%= error %> +
+ <% } %> + +
+
+ + +
+ + +
+ + +
+ +
+ Note: Default local password is admin. You can configure this in config.yaml under admin.secret or via the ADMIN_SECRET environment variable. +
+
+
+ +<%- include('../partials/foot', { pageType: 'admin' }) %> diff --git a/views/pages/admin-search.ejs b/views/pages/admin-search.ejs new file mode 100644 index 0000000..bd72442 --- /dev/null +++ b/views/pages/admin-search.ejs @@ -0,0 +1,69 @@ +<%- include('../partials/head', { pageType: 'admin' }) %> + +
+ <%- include('../partials/admin-header', { activeAdminTab: 'search', stats }) %> + + +
+
+

Recent Search Queries (<%= searchLogs.length %>)

+ Recorded live in SQLite search_logs +
+ + <% if (searchLogs.length === 0) { %> +

+ No search queries recorded yet. Try searching on the Search page! +

+ <% } else { %> +
+ + + + + + + + + + + <% searchLogs.forEach(log => { %> + + + + + + + <% }) %> + +
QueryResults FoundSearched AtAction
+ <%= log.query %> + + + <%= log.result_count %> <%= log.result_count === 1 ? 'result' : 'results' %> + + + <%= new Date(log.searched_at).toLocaleString() %> + + + Run ↗ + +
+
+ <% } %> +
+ + +
+

Active Search Recommendations

+
+ <% (recommendations || []).forEach(rec => { %> +
+ <%= rec.query %> + (<%= rec.clicks %> clicks) +
+ <% }) %> +
+
+
+ +<%- include('../partials/foot', { pageType: 'admin' }) %> diff --git a/views/pages/admin-seo.ejs b/views/pages/admin-seo.ejs new file mode 100644 index 0000000..7a4921d --- /dev/null +++ b/views/pages/admin-seo.ejs @@ -0,0 +1,49 @@ +<%- include('../partials/head', { pageType: 'admin' }) %> + +
+ <%- include('../partials/admin-header', { activeAdminTab: 'seo', stats }) %> + +
+ <% report.forEach(item => { %> +
+
+

+ + <%= item.title %> + +

+ + <%= item.wordCount %> words • Title: <%= item.titleLength %> chars + +
+ +
+ + Title Length: <%= item.titleOk ? 'Optimal' : (item.titleLength < 20 ? 'Too short' : 'Too long') %> + + + Meta Excerpt: <%= item.hasExcerpt ? 'Present' : 'Missing or too short' %> + + Internal Links: <%= item.internalLinks %> + External Links: <%= item.externalLinks %> + + Images: <%= item.totalImages %> (<%= item.imagesMissingAlt %> missing alt) + +
+ + <% if (item.headingIssues.length > 0) { %> +
+ Heading Warning: +
    + <% item.headingIssues.forEach(iss => { %> +
  • <%= iss %>
  • + <% }) %> +
+
+ <% } %> +
+ <% }) %> +
+
+ +<%- include('../partials/foot', { pageType: 'admin' }) %> \ No newline at end of file diff --git a/views/pages/blogs.ejs b/views/pages/blogs.ejs new file mode 100644 index 0000000..f293017 --- /dev/null +++ b/views/pages/blogs.ejs @@ -0,0 +1,58 @@ +<%- include('../partials/head', { pageType: 'blogs' }) %> + +
+
+

+ <%= activeFilter ? (activeFilter.type === 'category' ? `${activeFilter.value} Posts` : `Posts tagged #${activeFilter.value}`) : 'Blogs' %> +

+ + <% if (activeFilter) { %> +
+ + Filtering by <%= activeFilter.type %>: + + + <%= activeFilter.value %> + + + × Clear filter + +
+ <% } %> +
+ + <% if (posts && posts.length > 0) { %> +
+ <% posts.forEach(post => { %> + <%- include('../partials/post-card', { post }) %> + <% }) %> +
+ + <% if (totalPages > 1) { %> + + <% } %> + <% } else { %> +
+

No blog posts found matching your criteria.

+ View All Posts +
+ <% } %> +
+ +<%- include('../partials/foot', { pageType: 'blogs' }) %> diff --git a/views/pages/error.ejs b/views/pages/error.ejs new file mode 100644 index 0000000..d76fe17 --- /dev/null +++ b/views/pages/error.ejs @@ -0,0 +1,12 @@ +<%- include('../partials/head', { pageType: 'error' }) %> + +
+

<%= errorCode %>

+

<%= title %>

+

+ <%= errorMessage %> +

+ Return to Home +
+ +<%- include('../partials/foot', { pageType: 'error' }) %> diff --git a/views/pages/home.ejs b/views/pages/home.ejs new file mode 100644 index 0000000..81db34b --- /dev/null +++ b/views/pages/home.ejs @@ -0,0 +1,62 @@ +<%- include('../partials/head', { pageType: 'home' }) %> + + + + <%- include('../partials/foot', { pageType: 'home' }) %> \ No newline at end of file diff --git a/views/pages/page.ejs b/views/pages/page.ejs new file mode 100644 index 0000000..5484ca4 --- /dev/null +++ b/views/pages/page.ejs @@ -0,0 +1,13 @@ +<%- include('../partials/head', { pageType: 'page' }) %> + +
+
+

<%= page.title %>

+
+ +
+ <%- page.contentHtml %> +
+
+ +<%- include('../partials/foot', { pageType: 'page' }) %> diff --git a/views/pages/post.ejs b/views/pages/post.ejs new file mode 100644 index 0000000..25d0b67 --- /dev/null +++ b/views/pages/post.ejs @@ -0,0 +1,139 @@ +<%- include('../partials/head', { pageType: 'post' }) %> + +
+
+
+

<%= post.title %>

+ + +
+ + <% if (post.cover) { %> + <%= post.title %> + <% } %> + + +
+ <%- post.contentHtml %> +
+ + + <% if (post.tags && post.tags.length > 0) { %> + + <% } %> + + + <%- pluginHook('injectPostEnd', { post, pageType: 'post' }) %> + + + <% if (prevPost || nextPost) { %> + + <% } %> + + + <%- include('../partials/comments', { post, comments, commentStatus }) %> +
+ + + <% if (post.toc && post.toc.length > 0) { %> + + + + + + +
+
+
+
+ 📑 Table of Contents + <%= post.toc.length %> sections +
+ +
+ +
+ <% } %> +
+ +<%- include('../partials/foot', { pageType: 'post' }) %> diff --git a/views/pages/search.ejs b/views/pages/search.ejs new file mode 100644 index 0000000..8b86f1c --- /dev/null +++ b/views/pages/search.ejs @@ -0,0 +1,84 @@ +<%- include('../partials/head', { pageType: 'search' }) %> + +
+
+

Search

+ +
+
+ + +
+
+ + +
+
+ <% (recommended.dynamicPills || []).forEach(pill => { %> + + <% }) %> + + <% (recommended.customPills || []).forEach(pill => { %> + + <% }) %> +
+
+
+ + + <% if (query) { %> +
+
+ <%= searchData.total %> result<%= searchData.total === 1 ? '' : 's' %> for "<%= query %>" +
+ + <% if (searchData.results.length > 0) { %> +
+ <% searchData.results.forEach(res => { %> +
+

+ + <%= res.post.title %> + +

+ +
+ + — + by <%= res.post.author %> + <% if (res.post.category) { %> + in <%= res.post.category %> + <% } %> +
+ + <% if (res.snippet) { %> +

+ <%- res.snippet %> +

+ <% } %> +
+ <% }) %> +
+ <% } else { %> +

+ No articles found matching your query. +

+ <% } %> +
+ <% } %> +
+ +<%- include('../partials/foot', { pageType: 'search' }) %> diff --git a/views/partials/admin-header.ejs b/views/partials/admin-header.ejs new file mode 100644 index 0000000..f45eec5 --- /dev/null +++ b/views/partials/admin-header.ejs @@ -0,0 +1,58 @@ +
+
+
+
+ ⚙� +

Site Administration

+
+

Unified control panel for comments moderation, SEO health, and search logs.

+
+ + + +
+ + + <% if (typeof stats !== 'undefined') { %> +
+
+
Published Posts
+
<%= stats.totalPosts %>
+
+ +
+
Pending Moderation
+
<%= stats.pendingComments %>
+
+ +
+
Approved Comments
+
<%= stats.approvedComments %>
+
+ +
+
Search Queries Logged
+
<%= stats.totalSearches %>
+
+
+ <% } %> +
diff --git a/views/partials/comments.ejs b/views/partials/comments.ejs new file mode 100644 index 0000000..889efba --- /dev/null +++ b/views/partials/comments.ejs @@ -0,0 +1,276 @@ +
+
+
+

Discussion

+ <%= comments ? comments.length : 0 %> +
+

Share your insights, ask questions, or connect with the author.

+
+ + +
+ <% if (typeof commentStatus !== 'undefined' && commentStatus === 'comment_pending') { %> +
+ � +
+ Thank you for your comment! +

Your response is awaiting moderation before appearing publicly.

+
+
+ <% } else if (typeof commentStatus !== 'undefined' && commentStatus === 'comment_posted') { %> +
+ ✓ +
+ Comment Published! +

Your comment is live and visible to readers.

+
+
+ <% } %> +
+ + +
+ <% if (comments && comments.length > 0) { %> +
+ <% comments.forEach(comment => { + const initials = (comment.author_name || 'Anonymous') + .split(' ') + .map(n => n[0]) + .slice(0, 2) + .join('') + .toUpperCase(); + %> +
+
+ <%= initials %> +
+
+
+ + <% if (comment.author_website) { %> + + <%= comment.author_name %> ↗ + + <% } else { %> + <%= comment.author_name %> + <% } %> + + +
+
<%= comment.body %>
+
+
+ <% }) %> +
+ <% } else { %> +
+
💭
+

No comments yet. Be the first to start the discussion!

+
+ <% } %> +
+ + +
+
+

Leave a Reply

+

Your email address will not be published. Required fields are marked *

+
+ +
+ + + + + +
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ +
+ + +
+ + +
+
+
+ + diff --git a/views/partials/foot.ejs b/views/partials/foot.ejs new file mode 100644 index 0000000..5bb1adf --- /dev/null +++ b/views/partials/foot.ejs @@ -0,0 +1,13 @@ + + + + <%- pluginHook('injectFooter', { pageType: typeof pageType !== 'undefined' ? pageType : 'default' }) %> + + <%- include('./footer') %> + + + + + + + diff --git a/views/partials/footer.ejs b/views/partials/footer.ejs new file mode 100644 index 0000000..82a8615 --- /dev/null +++ b/views/partials/footer.ejs @@ -0,0 +1,30 @@ +
+ +
diff --git a/views/partials/head.ejs b/views/partials/head.ejs new file mode 100644 index 0000000..8062592 --- /dev/null +++ b/views/partials/head.ejs @@ -0,0 +1,62 @@ + + + + + + <%= typeof title !== 'undefined' ? `${title} - ${site.title}` : site.title %> + + + + + + + + + + + <% if (seo && seo.ogImage) { %> + + <% } %> + + + + + + <% if (seo && seo.ogImage) { %> + + <% } %> + + + <% if (typeof getJsonLd === 'function') { %> + + <% } %> + + + + + + + + + + + + + + + + + + + + <%- pluginHook('injectHead', { pageType: typeof pageType !== 'undefined' ? pageType : 'default' }) %> + + + <%- pluginHook('injectBodyStart', { pageType: typeof pageType !== 'undefined' ? pageType : 'default' }) %> + + <%- include('./header') %> + +
+
diff --git a/views/partials/header.ejs b/views/partials/header.ejs new file mode 100644 index 0000000..6cf8322 --- /dev/null +++ b/views/partials/header.ejs @@ -0,0 +1,42 @@ + diff --git a/views/partials/post-card.ejs b/views/partials/post-card.ejs new file mode 100644 index 0000000..8df14eb --- /dev/null +++ b/views/partials/post-card.ejs @@ -0,0 +1,27 @@ + + <% if (post.cover) { %> + <%= post.title %> + <% } else { %> +
+ <%= post.title.slice(0, 1) %> +
+ <% } %> + +
+

<%= post.title %>

+ +
+ + — + by <%= post.author %> + <% if (post.category) { %> + in <%= post.category %> + <% } %> + <% if (post.availableLanguages && post.availableLanguages.length > 1) { %> + [<%= post.availableLanguages.map(l => l.toUpperCase()).join('|') %>] + <% } %> +
+ +

<%= post.excerpt %>

+
+