From 987b4d1ec37cc4959af8ce15cde6ddf97f26cb7b Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 27 Oct 2026 09:03:37 +0000 Subject: [PATCH 1/2] docs: make the README a short project page, with the details in docs/ The README was 292 lines of design notes, setup, operations and history. It is now a page for someone meeting B3Note: the logo, a tagline, a link to the app, badges, a screenshot in light and dark, six features, a paragraph on how the encryption works, four commands to run it, and links to the rest. Nothing is dropped. The sections move, with their text unchanged except where noted, to: - docs/how-it-works.md: the encryption design and what the canister sees - docs/development.md: layout, getting started (the PocketIC binary must be named `pocket-ic`), the frontend on ic-reactor 4, the AI locally, tests - docs/operations.md: deploying, limits and settings, the custom domain (now served, so it no longer says "once the steps below are done") - docs/v2.md: what v2 fixes, and upgrading from v1 The screenshots (docs/images/app-light.png and app-dark.png, 2560x1600, 256 colours) are of the app on a local PocketIC backend with sample notes. Comments that cited README sections now cite the docs pages. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017cSwEz3Q2o3DpuJ8qSQzY5 --- README.md | 316 +++++---------------------- docs/development.md | 93 ++++++++ docs/how-it-works.md | 57 +++++ docs/images/app-dark.png | Bin 0 -> 121821 bytes docs/images/app-light.png | Bin 0 -> 124986 bytes docs/operations.md | 77 +++++++ docs/v2.md | 37 ++++ frontend/public/.ic-assets.json5 | 2 +- frontend/src/components/Markdown.tsx | 2 +- frontend/src/lib/origins.ts | 2 +- frontend/tests/customDomain.test.ts | 2 +- frontend/tests/production.test.ts | 2 +- icp.yaml | 2 +- scripts/migrate-mainnet.sh | 2 +- 14 files changed, 324 insertions(+), 270 deletions(-) create mode 100644 docs/development.md create mode 100644 docs/how-it-works.md create mode 100644 docs/images/app-dark.png create mode 100644 docs/images/app-light.png create mode 100644 docs/operations.md create mode 100644 docs/v2.md diff --git a/README.md b/README.md index bbabe07..5fff290 100755 --- a/README.md +++ b/README.md @@ -1,291 +1,81 @@ -# B3Note +
- B3Note + B3Note -**Private notes on the Internet Computer.** Notes are encrypted in your browser, so the canister only ever -stores ciphertext. With Internet Identity the key is derived from your identity by the IC's -[vetKeys](https://internetcomputer.org/docs/building-apps/network-features/vetkeys/introduction); as a -guest it is derived from your guest key. Internet Identity users can also share a note through a link -that **burns after reading**. +### Private notes that only you can read. -## Features - -- **End-to-end encrypted notes.** Markdown with checklists, tags, pinning, search, autosave and - conflict detection across devices. -- **Self-destructing notes.** Give a note a timer and the canister deletes it when it runs out. -- **Burn-after-reading links** (Internet Identity accounts). Share a snapshot that can be opened once - (or up to N times) before it expires. After the last view the ciphertext is deleted. Nobody can decrypt - it again, even someone who holds the link and an old copy of the ciphertext, because only the canister - can request the share's key, and it does so once per view. Readers do not need to sign in. -- **Sign in your way.** Use Internet Identity, or a *guest key*: a private key kept in your browser, with a - recovery key you can save and import on another device. -- **On-device AI assistant**: summarize, suggest a title or tags, improve the writing, fix grammar, - shorten, pull out action items, translate, continue writing, and ask questions across your notes, with - a model that runs in your browser, so nothing leaves the end-to-end encryption. It uses Chrome's - built-in Gemini Nano when the browser has it, and otherwise downloads an open model - (Qwen2.5-1.5B-Instruct, about 1 GB, once, after you ask) and runs it on the GPU with - [WebLLM](https://github.com/mlc-ai/web-llm), when the GPU supports 16-bit floats (WebGPU's - `shader-f16`). Browsers with neither show no on-device AI. -- **Optional AI on the Internet Computer** through the IC's [LLM canister](https://github.com/dfinity/llm), - **off by default**. Text sent to it leaves the end-to-end encryption, so a controller has to switch it - on (`ai_enabled`); when on, it is a second choice in the assistant, nothing is sent until you choose an - action, and the app asks for consent first. -- **Your data stays yours.** Export to JSON or Markdown, import Markdown files, and delete your account. - -## How the encryption works - -``` - browser backend canister vetKD (IC) - ┌──────────────────────────────┐ get_encrypted_user_key(tpk) ┌──────────────┐ vetkd_derive_key - │ transport key pair (tsk, tpk)│ ─────────────────────────────▶ │ input = │ ───────────────────▶ - │ │ ◀───────────────────────────── │ caller │ ◀─── key encrypted - │ decrypt + verify the vetKey │ encrypted vetKey + public key│ principal │ to tpk - │ → AES-GCM key (non-extract.) │ └──────────────┘ - │ encrypt(note, AD = note id) │ ── create_note(ciphertext) ──▶ stores ciphertext only - └──────────────────────────────┘ -``` - -- **Notes (Internet Identity).** Each user's vetKey is derived from their principal (context - `b3note/user-key/v1`). Only that principal can request it, and it reaches the browser encrypted to a - one-time transport key. The browser verifies it, turns it into a non-extractable AES-GCM key (cached in - IndexedDB) and encrypts each note with the note id as associated data. A server that swaps ciphertexts - between notes therefore gets a decryption error, not the wrong note. -- **Notes (guests).** A guest key is already a secret only its holder has, so the browser derives the - note key from it (HKDF-SHA-256, salt `b3note/guest-key/v1`, info = the canister id) and encrypts the - same way. It costs the canister nothing, and the recovery key restores it on any device. -- **Who gets vetKD.** Every derivation costs the canister cycles, so `get_encrypted_user_key` and - `create_share` are for Internet Identity accounts only. The client sends the root public key of its - delegation chain; the canister checks that it hashes to the caller's principal and that it is a - canister-signature key of Internet Identity (`rdmx6-jaaaa-aaaaa-aaadq-cai`). Opening a share needs no - account, and is bounded by the share's views and the global hourly budget. -- **Key pinning.** On mainnet the app derives the canister's vetKD public keys from the IC's published - master key and refuses keys that do not match. -- **Share links.** The browser IBE-encrypts a snapshot to the identity *share id* under the canister's - share key (context `b3note/share/v1`). It also makes a fresh Ed25519 key, uploads the public half, and - puts the secret in the link's `#fragment`, which browsers never send to a server. To open, the reader - signs `(domain, share id, transport key)`. The canister checks the signature, spends a view, and has the - share key derived and encrypted to the reader. A transport key can be used once per share, so a - replayed request cannot burn another view. -- **On-device AI.** The model reads the note in the browser that decrypted it. The only network traffic - is the model's files on first use (Hugging Face and the MLC model library on GitHub), which is why the - page's CSP allows those hosts and `'wasm-unsafe-eval'` for the model's WebAssembly. Both are pinned to a - commit, and WebLLM checks the model's config, its tokenizer and its WebAssembly library against hashes - before it runs them (`frontend/src/lib/localAi.ts`), so a push to either repository cannot change the - code that reads your notes. -- **No remote images.** Fetching an image sends its URL to its host, so a note's Markdown or an AI answer - (which a prompt hidden in a note could steer) could carry text out that way, and an image in a shared - note would tell its sender when it was opened. Markdown shows images as links instead, and the CSP's - `img-src` allows only the app itself. -- **AI on the canister (when switched on).** The assistant needs plaintext. Only the text you pick for an action (or, - for *Ask your notes*, the few notes your browser ranks as relevant) goes to the LLM canister. - Everything else stays encrypted. - -What the canister does see: note sizes, timestamps, versions and expiry times, the number of notes, and -which principal owns them. - -## Repository layout - -``` -backend/ Rust canister (ic-cdk 0.20, ic-stable-structures 0.7, vetKD, ic-llm) - backend.did Candid interface (checked by a unit test, see below) -mock_llm/ Test double of the LLM canister's v1_chat endpoint -integration_tests/ PocketIC tests with real vetKD (keys verified with the ic-vetkeys crate) -frontend/ Vite + React 19 + Tailwind v4 app on ic-reactor 4 (beta) and @icp-sdk/* - src/canisters/ Generated from backend.did by @ic-reactor/vite-plugin (candid-core) - src/reactor.ts The ic-reactor client, its sign-in, and the backend handle - src/lib/ Crypto (vault, share links, key pinning), note format, search, sign-in - tests/ Test-client tests and the PicJS suite against the real canister -icp.yaml icp-cli project: backend, frontend, local network with Internet Identity -scripts/ build-canisters.sh, test-backend.sh -``` - -## Getting started - -Prerequisites: Rust with the `wasm32-unknown-unknown` target, Node.js 22 with pnpm, and -[icp-cli](https://cli.internetcomputer.org) with `ic-wasm` -(`npm i -g @icp-sdk/icp-cli @icp-sdk/ic-wasm`). - -```bash -rustup target add wasm32-unknown-unknown -icp network start -d # a local network with Internet Identity and the vetKD test keys -icp deploy # builds and deploys backend + frontend -``` - -Open the `frontend` URL that `icp deploy` prints. For hot reload, run `pnpm dev` in `frontend/`. The -ic-reactor Vite plugin reads canister ids and the root key from the local network. - -**Without icp-cli** (UI work only): `./scripts/build-canisters.sh`, then `pnpm dev:pocketic` (starts -PocketIC with the backend and a mock LLM, `POCKET_IC_BIN` must point to a PocketIC 16 server, Node -22.18 or later), then `pnpm dev` in another terminal. Sign in as a guest; Internet Identity is not -installed there, so share links need an icp-cli network. - -### The frontend on ic-reactor 4 - -- `src/canisters/backend.ts` is generated from `backend/backend.did` (the Vite plugin runs - `candid-core-cli gen` on start and on every `.did` change). It exports the `actor` schema, `type Actor` - and a type per Candid declaration: `opt T` is `T | null`, variants are `{ tag, value }`, blobs are - `Uint8Array`. CI fails if the committed file does not match the `.did`. -- `src/reactor.ts` creates the tab's client (`createClient({ network: "env", auth })`), which - `ReactorProvider` borrows. Components call `useQuery(client.queryOptions(backend, "list_shares"))` and - `useMutation(client.mutationOptions(backend, "create_note"))`; other code calls the backend directly - (`await backend.get_config()`). A `Result` is unwrapped: an `Err` rejects with a `canister_err` - `ReactorError` whose `err` is the typed `Error` variant. -- `src/lib/sessionAuth.ts` is the app's sign-in: one `AuthLike` over Internet Identity and the guest key, - so `useAuth()`, query keys and the agent all follow whichever is active. -- Share links are opened with a separate anonymous client (`createReaderClient`), so a signed-in reader's - principal is not tied to the share, and the signed-out app client, which refuses updates, is not needed. - -### AI locally +End-to-end encrypted notes on the Internet Computer, with links that burn after reading
+and an AI assistant that runs on your device. -The assistant is off by default. A local network also has no LLM canister: deploy DFINITY's LLM canister -with [Ollama](https://ollama.com) (see the `ic-llm` examples), or any canister that implements `v1_chat`, -then switch it on: +**[Open B3Note](https://note.b3pay.net)** · [How it works](docs/how-it-works.md) · [Run it locally](#run-it-locally) -```bash -icp canister call backend update_config '(record { ai_enabled = opt true; llm_canister = opt principal "" })' -``` - -(`pnpm dev:pocketic` installs a mock LLM and switches the assistant on.) - -When a canister named `llm` is part of the project, `icp deploy` injects `PUBLIC_CANISTER_ID:llm` and the -backend uses it automatically. - -## Deploying to mainnet - -```bash -icp deploy -e production --no-create # both canisters -icp deploy frontend -e production --no-create # the frontend only -``` - -The deploy upgrades the canisters recorded in `.icp/data/mappings/production.ids.json`: backend -`xeka7-ryaaa-aaaal-qb57a-cai` and frontend `4lidq-zqaaa-aaaap-abkbq-cai`. `--no-create` makes it stop -rather than create a canister that is not recorded there. Do not deploy with `-e ic`: that is icp-cli's -built-in mainnet environment, which records none of these ids, so it creates new canisters. A new -frontend is a new origin, which gives every user a new principal, and the custom domain would still -point at the old one. - -The `production` environment uses the vetKD key `key_1`, keeps the AI assistant off and sets strict -limits (`icp.yaml`). The frontend reads the backend's id from the asset canister's `ic_env` cookie on -`*.icp0.io`, and from `frontend/src/lib/origins.ts` on a custom domain ([Custom domain](#custom-domain)). -A build with `CANISTER_ID_BACKEND=` set uses that id everywhere. - -Operating notes: - -- vetKD derivations cost about 0.026 T cycles each on `key_1`. The app derives one key per Internet - Identity user per browser (then caches it), plus one per share view; guests cost nothing. Production - allows 5 derivations per user and 20 in total per hour, so the worst case is about 0.5 T an hour. - Raise the limits as real use grows. -- Controllers can change limits, models and the AI switch at runtime. `limits` replaces the whole - record: +[![CI](https://github.com/B3Pay/B3Note/actions/workflows/ci.yml/badge.svg)](https://github.com/B3Pay/B3Note/actions/workflows/ci.yml) +[![License: MIT](https://img.shields.io/badge/license-MIT-a35f00)](./LICENSE) +[![Built on the Internet Computer](https://img.shields.io/badge/built_on-Internet_Computer-e8a33d)](https://internetcomputer.org) - ```bash - icp canister call backend get_config '()' -e production - icp canister call backend update_config '(record { ai_enabled = opt true; llm_model = opt "llama4-scout" })' -e production - ``` +
-- The LLM's free models need no cycles. Set `llm_cycles_per_call` for paid models. +
-- **Upgrading from B3Note v1:** v2 has a new stable-memory layout, so install it as a new canister or - reinstall; an in-place upgrade cannot read v1's state. v1 notes cannot be migrated: they were - encrypted with keys from an insecure demo vetKD canister (see below). `scripts/migrate-mainnet.sh` - reinstalls v1's mainnet canisters with v2, keeping their IDs and URL, without taking a snapshot - (there is no way back to v1). Run it with an identity that controls them: - - ```bash - ./scripts/migrate-mainnet.sh preflight # read-only: identity, controllers, cycles (≥ 1 T) - ./scripts/migrate-mainnet.sh migrate # reinstalls backend + frontend with v2, then verifies - ./scripts/migrate-mainnet.sh retire-system-api # deletes v1's insecure vetKD canister, recovering its cycles - ``` - -### Custom domain - -The frontend is also served at `https://note.b3pay.net`, once the steps below are done. Internet Identity -gives a user one principal per origin, so a page there signs in with `derivationOrigin` set to the -canister's own address, `https://4lidq-zqaaa-aaaap-abkbq-cai.icp0.io`: a user has the same principal, and -so the same notes, at both addresses. `frontend/src/lib/origins.ts` holds the production ids and the -custom domains, and the client uses them only on a custom domain: - -- Sign-in: Internet Identity accepts the `derivationOrigin` because the canister's address lists the - domain in `/.well-known/ii-alternative-origins`. Internet Identity's page fetches that file from - another origin, so `.ic-assets.json5` serves it with `Access-Control-Allow-Origin: *`, and keeps the - `.well-known` folder, which the asset canister would otherwise skip. -- Calls go to `https://icp-api.io`, and to the production backend by its id: the `ic_env` cookie is not - read there, because any other subdomain of `b3pay.net` could set it. -- The HTTP gateways serve the domain only if the canister lists it in `/.well-known/ic-domains`. + + + B3Note: a pinned travel checklist open beside the list of notes + -`frontend/tests/customDomain.test.ts` checks that `origins.ts` and both `.well-known` files name the same -domains. To add one, add it to all three, deploy the frontend, check that -`https://4lidq-zqaaa-aaaap-abkbq-cai.icp0.io/.well-known/ii-alternative-origins` returns the JSON (not the -app's HTML), then add these DNS records, as `forge.b3pay.net` has them (on Cloudflare, DNS only, not -proxied): +## Features -| Type | Name | Value | -| ----- | -------------------------------- | ---------------------------------------- | -| CNAME | `note.b3pay.net` | `note.b3pay.net.icp1.io` | -| TXT | `_canister-id.note.b3pay.net` | `4lidq-zqaaa-aaaap-abkbq-cai` | -| CNAME | `_acme-challenge.note.b3pay.net` | `_acme-challenge.note.b3pay.net.icp2.io` | +- **Encrypted in your browser.** Every note is sealed before it leaves your browser, so the canister + only ever stores ciphertext. +- **Links that burn after reading.** With Internet Identity, share a snapshot that opens once, or a few + times, and then can never be decrypted again. +- **AI that stays on your device.** Summarize, tidy, tag or translate a note, and ask questions across + your notes, with a model that runs in your browser. +- **Self-destructing notes.** Give a note a timer and it is deleted when the timer runs out. +- **No email, no password.** Sign in with Internet Identity, or try it as a guest with a key kept in + your browser. +- **Yours to take with you.** Export to JSON or Markdown, import Markdown files, and delete your account + whenever you like. -and register the domain with the boundary nodes: +## How it works -```bash -curl -sL "https://icp.net/custom-domains/v1/note.b3pay.net/validate" # "success" once DNS is right -curl -sL -X POST "https://icp.net/custom-domains/v1/note.b3pay.net" # starts registration -curl -sL "https://icp.net/custom-domains/v1/note.b3pay.net" # until "registered" -``` +Your browser encrypts each note with AES-GCM before sending it. With Internet Identity the key comes +from the Internet Computer's +[vetKeys](https://internetcomputer.org/docs/building-apps/network-features/vetkeys/introduction), +derived for you alone and delivered encrypted to your browser. As a guest, it is derived from a key +kept in your browser. Only the canister can request a share link's key, once per view, and it deletes +the shared copy after the last view, so a burned link stays burned. [Read the full design](docs/how-it-works.md). -A browser keeps two things per origin, so they do not follow a user to the new address: a guest's key -(in localStorage; a guest signs in there by importing their recovery key), and the cached vault key (in -IndexedDB; an Internet Identity user's first unlock there derives it again, which counts toward the -per-user vetKD limit). +## Run it locally -## Testing +You need Rust, Node.js 22 with pnpm, and [icp-cli](https://cli.internetcomputer.org). ```bash -./scripts/test-backend.sh # Rust unit tests + PocketIC integration tests -cd frontend && pnpm test # unit, component and fake-replica tests (vitest) -cd frontend && pnpm test:pic # the frontend's crypto + data layer vs. the real canister +rustup target add wasm32-unknown-unknown +npm i -g @icp-sdk/icp-cli @icp-sdk/ic-wasm +icp network start -d # a local network with Internet Identity +icp deploy # builds and deploys the backend and the frontend ``` -- **Backend unit tests** cover quotas, rate limits, share burning and replay, expiry, config - validation, the Internet Identity key check, AI prompt building, and a check that `backend.did` matches the code - (`UPDATE_CANDID=1 cargo test -p backend` regenerates it). -- **PocketIC tests** (`integration_tests/`) run the real wasm with real vetKD. They decrypt and verify - keys with the `ic-vetkeys` crate and check the canister's public keys against PocketIC's master keys. - They also cover access control (guests get no vetKey or share links), optimistic concurrency, - self-destruct timers, burn-after-reading, replay protection, rate limits, upgrades, install args and the - AI endpoint with a mock LLM canister. -- **Frontend tests** run the real crypto against a fake vetKD with a known master key, the data layer - and sign-in on ic-reactor's test client (a real client over a fake replica, with mocked canisters), - and (`test:pic`) the browser code and ic-reactor clients against the real canister in PocketIC, for - guests and for Internet Identity users. - -The pocket-ic crate downloads its server automatically; set `POCKET_IC_BIN` to use your own (16.x). CI -runs all of the above (`.github/workflows/ci.yml`). +Then open the `frontend` URL that `icp deploy` prints. -## What v2 fixes +## Documentation -B3Note v1 had security and correctness problems serious enough that v2 is a rewrite: +- **[How it works](docs/how-it-works.md):** the encryption, share links, the on-device AI, and what the + canister can see +- **[Development](docs/development.md):** repository layout, hot reload, UI work without icp-cli, the AI + locally, and tests +- **[Operations](docs/operations.md):** deploying to mainnet, limits and costs, and the custom domain +- **[B3Note v2](docs/v2.md):** what v2 fixed in v1, and how mainnet moved to v2 -- **Notes were not private.** v1 used DFINITY's *unsafe example* vetKD system-API canister, whose master - secret key is in its source. It also encrypted every note to the anonymous principal's identity and - gave that decryption key to any anonymous caller, while `encrypted_texts()` returned everyone's - ciphertext. -- **Anyone could overwrite any note.** `edit_encrypted_text` never checked ownership. -- **Internet Identity users could not read their notes.** They were encrypted to one identity and - decrypted with another. Signing in also replaced the user's record and lost their note list, and share - links never worked for them. -- **Writes were silently dropped.** Updates to stable-map entries were made on copies and never written - back, so the "3 tries" limit on links never applied. Writes inside query methods were discarded. -- **Cleanup stopped after upgrades.** Timers were not rescheduled. Expired anonymous users left their - ciphertext behind forever, and `add_simple_note` let anyone grow an unbounded heap map. -- **Other defects:** fixed-size storable bounds that trapped on larger values, an off-by-one note limit, - an un-awaited `fetchRootKey`, a hard-coded host, and an empty LICENSE file. +## Built with -v2 uses the IC's native vetKD, ic-cdk 0.20, ic-stable-structures 0.7, icp-cli, ic-reactor 4 (beta) and -`@icp-sdk/*`. +[Internet Computer](https://internetcomputer.org) · +[vetKeys](https://internetcomputer.org/docs/building-apps/network-features/vetkeys/introduction) · +Rust · React 19 · Tailwind CSS 4 · [ic-reactor](https://github.com/B3Pay/ic-reactor) · +[icp-cli](https://cli.internetcomputer.org) · [WebLLM](https://github.com/mlc-ai/web-llm) ## License diff --git a/docs/development.md b/docs/development.md new file mode 100644 index 0000000..6f0de4c --- /dev/null +++ b/docs/development.md @@ -0,0 +1,93 @@ +# Developing B3Note + +## Repository layout + +``` +backend/ Rust canister (ic-cdk 0.20, ic-stable-structures 0.7, vetKD, ic-llm) + backend.did Candid interface (checked by a unit test, see below) +mock_llm/ Test double of the LLM canister's v1_chat endpoint +integration_tests/ PocketIC tests with real vetKD (keys verified with the ic-vetkeys crate) +frontend/ Vite + React 19 + Tailwind v4 app on ic-reactor 4 (beta) and @icp-sdk/* + src/canisters/ Generated from backend.did by @ic-reactor/vite-plugin (candid-core) + src/reactor.ts The ic-reactor client, its sign-in, and the backend handle + src/lib/ Crypto (vault, share links, key pinning), note format, search, sign-in + tests/ Test-client tests and the PicJS suite against the real canister +icp.yaml icp-cli project: backend, frontend, local network with Internet Identity +scripts/ build-canisters.sh, test-backend.sh, migrate-mainnet.sh +docs/ How it works, development, operations, v2 +``` + +## Getting started + +Prerequisites: Rust with the `wasm32-unknown-unknown` target, Node.js 22 with pnpm, and +[icp-cli](https://cli.internetcomputer.org) with `ic-wasm` +(`npm i -g @icp-sdk/icp-cli @icp-sdk/ic-wasm`). + +```bash +rustup target add wasm32-unknown-unknown +icp network start -d # a local network with Internet Identity and the vetKD test keys +icp deploy # builds and deploys backend + frontend +``` + +Open the `frontend` URL that `icp deploy` prints. For hot reload, run `pnpm dev` in `frontend/`. The +ic-reactor Vite plugin reads canister ids and the root key from the local network. + +**Without icp-cli** (UI work only): `./scripts/build-canisters.sh`, then `pnpm dev:pocketic` (starts +PocketIC with the backend and a mock LLM, `POCKET_IC_BIN` must point to a PocketIC 16 server binary named +`pocket-ic`, Node 22.18 or later), then `pnpm dev` in another terminal. Sign in as a guest; Internet Identity is not +installed there, so share links need an icp-cli network. + +## The frontend on ic-reactor 4 + +- `src/canisters/backend.ts` is generated from `backend/backend.did` (the Vite plugin runs + `candid-core-cli gen` on start and on every `.did` change). It exports the `actor` schema, `type Actor` + and a type per Candid declaration: `opt T` is `T | null`, variants are `{ tag, value }`, blobs are + `Uint8Array`. CI fails if the committed file does not match the `.did`. +- `src/reactor.ts` creates the tab's client (`createClient({ network: "env", auth })`), which + `ReactorProvider` borrows. Components call `useQuery(client.queryOptions(backend, "list_shares"))` and + `useMutation(client.mutationOptions(backend, "create_note"))`; other code calls the backend directly + (`await backend.get_config()`). A `Result` is unwrapped: an `Err` rejects with a `canister_err` + `ReactorError` whose `err` is the typed `Error` variant. +- `src/lib/sessionAuth.ts` is the app's sign-in: one `AuthLike` over Internet Identity and the guest key, + so `useAuth()`, query keys and the agent all follow whichever is active. +- Share links are opened with a separate anonymous client (`createReaderClient`), so a signed-in reader's + principal is not tied to the share, and the signed-out app client, which refuses updates, is not needed. + +## AI locally + +The assistant is off by default. A local network also has no LLM canister: deploy DFINITY's LLM canister +with [Ollama](https://ollama.com) (see the `ic-llm` examples), or any canister that implements `v1_chat`, +then switch it on: + +```bash +icp canister call backend update_config '(record { ai_enabled = opt true; llm_canister = opt principal "" })' +``` + +(`pnpm dev:pocketic` installs a mock LLM and switches the assistant on.) + +When a canister named `llm` is part of the project, `icp deploy` injects `PUBLIC_CANISTER_ID:llm` and the +backend uses it automatically. + +## Testing + +```bash +./scripts/test-backend.sh # Rust unit tests + PocketIC integration tests +cd frontend && pnpm test # unit, component and fake-replica tests (vitest) +cd frontend && pnpm test:pic # the frontend's crypto + data layer vs. the real canister +``` + +- **Backend unit tests** cover quotas, rate limits, share burning and replay, expiry, config + validation, the Internet Identity key check, AI prompt building, and a check that `backend.did` matches the code + (`UPDATE_CANDID=1 cargo test -p backend` regenerates it). +- **PocketIC tests** (`integration_tests/`) run the real wasm with real vetKD. They decrypt and verify + keys with the `ic-vetkeys` crate and check the canister's public keys against PocketIC's master keys. + They also cover access control (guests get no vetKey or share links), optimistic concurrency, + self-destruct timers, burn-after-reading, replay protection, rate limits, upgrades, install args and the + AI endpoint with a mock LLM canister. +- **Frontend tests** run the real crypto against a fake vetKD with a known master key, the data layer + and sign-in on ic-reactor's test client (a real client over a fake replica, with mocked canisters), + and (`test:pic`) the browser code and ic-reactor clients against the real canister in PocketIC, for + guests and for Internet Identity users. + +The pocket-ic crate downloads its server automatically; set `POCKET_IC_BIN` to use your own (16.x). CI +runs all of the above (`.github/workflows/ci.yml`). diff --git a/docs/how-it-works.md b/docs/how-it-works.md new file mode 100644 index 0000000..57ef99b --- /dev/null +++ b/docs/how-it-works.md @@ -0,0 +1,57 @@ +# How B3Note keeps your notes private + +Notes are encrypted in your browser before they are sent, so the canister only ever stores ciphertext. +With Internet Identity the key is derived from your identity by the IC's +[vetKeys](https://internetcomputer.org/docs/building-apps/network-features/vetkeys/introduction); as a +guest it is derived from your guest key. This page describes each part. + +``` + browser backend canister vetKD (IC) + ┌──────────────────────────────┐ get_encrypted_user_key(tpk) ┌──────────────┐ vetkd_derive_key + │ transport key pair (tsk, tpk)│ ─────────────────────────────▶ │ input = │ ───────────────────▶ + │ │ ◀───────────────────────────── │ caller │ ◀─── key encrypted + │ decrypt + verify the vetKey │ encrypted vetKey + public key│ principal │ to tpk + │ → AES-GCM key (non-extract.) │ └──────────────┘ + │ encrypt(note, AD = note id) │ ── create_note(ciphertext) ──▶ stores ciphertext only + └──────────────────────────────┘ +``` + +- **Notes (Internet Identity).** Each user's vetKey is derived from their principal (context + `b3note/user-key/v1`). Only that principal can request it, and it reaches the browser encrypted to a + one-time transport key. The browser verifies it, turns it into a non-extractable AES-GCM key (cached in + IndexedDB) and encrypts each note with the note id as associated data. A server that swaps ciphertexts + between notes therefore gets a decryption error, not the wrong note. +- **Notes (guests).** A guest key is already a secret only its holder has, so the browser derives the + note key from it (HKDF-SHA-256, salt `b3note/guest-key/v1`, info = the canister id) and encrypts the + same way. It costs the canister nothing, and the recovery key restores it on any device. +- **Who gets vetKD.** Every derivation costs the canister cycles, so `get_encrypted_user_key` and + `create_share` are for Internet Identity accounts only. The client sends the root public key of its + delegation chain; the canister checks that it hashes to the caller's principal and that it is a + canister-signature key of Internet Identity (`rdmx6-jaaaa-aaaaa-aaadq-cai`). Opening a share needs no + account, and is bounded by the share's views and the global hourly budget. +- **Key pinning.** On mainnet the app derives the canister's vetKD public keys from the IC's published + master key and refuses keys that do not match. +- **Share links.** The browser IBE-encrypts a snapshot to the identity *share id* under the canister's + share key (context `b3note/share/v1`). It also makes a fresh Ed25519 key, uploads the public half, and + puts the secret in the link's `#fragment`, which browsers never send to a server. To open, the reader + signs `(domain, share id, transport key)`. The canister checks the signature, spends a view, and has the + share key derived and encrypted to the reader. A transport key can be used once per share, so a + replayed request cannot burn another view. +- **On-device AI.** The model reads the note in the browser that decrypted it. The only network traffic + is the model's files on first use (Hugging Face and the MLC model library on GitHub), which is why the + page's CSP allows those hosts and `'wasm-unsafe-eval'` for the model's WebAssembly. Both are pinned to a + commit, and WebLLM checks the model's config, its tokenizer and its WebAssembly library against hashes + before it runs them (`frontend/src/lib/localAi.ts`), so a push to either repository cannot change the + code that reads your notes. +- **No remote images.** Fetching an image sends its URL to its host, so a note's Markdown or an AI answer + (which a prompt hidden in a note could steer) could carry text out that way, and an image in a shared + note would tell its sender when it was opened. Markdown shows images as links instead, and the CSP's + `img-src` allows only the app itself. +- **AI on the canister (when switched on).** The assistant needs plaintext. Only the text you pick for an action (or, + for *Ask your notes*, the few notes your browser ranks as relevant) goes to the LLM canister. + Everything else stays encrypted. + +## What the canister sees + +What the canister does see: note sizes, timestamps, versions and expiry times, the number of notes, and +which principal owns them. diff --git a/docs/images/app-dark.png b/docs/images/app-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..0786837eded396d4badfb86db969a64b134a4cf2 GIT binary patch literal 121821 zcmcHhWn5I>_W+EZ8M=EwIs~LaDUl9QTImi2X@+hXln^PAZjkO~Xhs1+knRTQ9=hQf zzrX*B`}*GJ?m3@bXXiS5ueJ7CYfrd_nj!%%H7)=E1g~GozXgDQQA}xUG*s}>W%n2W z&;Sh;Ero}Nhtt!uBjnN1{>I+^A#!j1aChx+cXfAne|K|bb!BdTW^8TU+?hGn%_U+-93Gsot<56b!{z;@aFcqy1Lf#`M z<(dL9#*m=!nBb6*Pr-h{AN~A-K7R7|`s4@o^Y?J`4-WEn_Vse{ceV3&v32!yado!0 zbN8`vhPpf0de|A;I@mhen7X~!cX)4V``*;r%;>$HwTZ2xnbik__g3#sbq&nS-kMrk z>#3RRYZ~dP8)~WRzg5%FH&oI!QhWPG{;h$Ls`6VE4Lv1MW#w0@FBLUpC11)sR~DCk zEygabt}3CV@%)vtr1VQ+IduUUB_5e)(vspYUc8VNf5t1J#33#!B_bduBJf1?C5y;2 zdLedtAvQW8c6kAT7lMx@1s;h%r4kho6BeL<@>GmLK$?zUP?U$AhDU;ihmD$tNsgOY zjGI!78zRO95#r|M<$l7;g?iW-xp-wcnWUdENI#*Mdcq*dPXCNUil0qF_{k$~4h9x> z7GY)@9%e2s8VZibluuYlI2hO;Gto2A(KAtVFw)S_(mbN2rlO@LW}u{^cuY(Fn3|k{ zjfxTiAtNPap_$|oQq#3%gc2ndKs2nlhC2?$V8LIQk3eAF8p0s?#j0-S#y zK0X0H9sxcM{y&F@kB>u$hxaf1=i}nz;o#%q;o;$;et5Vj9|!lJ!@2t+m-^>p zWb@-$zUaBd3Uf?PqbaE)ZyLsOhA`M1wH7%yHv9mj@pGrIr*sh)YQ2tPZhuW6_Fi8G@ zq5WSB0HOaE5=;O8DG39>|Fw+G_+RkH`3PS_WX-AY$%SHWKhH+TAs_`ePj7zkF=75wM9t*3z_}2|1j1}8#Lc0e((eh=%cc2+& z%*zP-WRc);HveHU$j5Hs9s`P3NcXQOF@hNb>5`*iT#ahqUBI6hROa)B7v!hezT@lr zZSc&{Zyp3JKdz~5ip45Sj2g)JLWy{2nfyI&d%*?M-kc(2hHWmzzXtlLK*9e$gXnwV zl~;ustJbOWNdR@qRnm0K3`6yaSg9GbkaueM!Ld#dap;)N2%2AT z(5W<ttptAP1Y%m#bU47tx_spj7FayR!g_j`#npMM zk3=@4o+kI>!hdV>LwM9J=Iz#LZS0cxYjERkEFTYq1J**~U>6)512lJU1rZqJ4a%LjE0n&A!J$nN-G_(Z98tS@7PG-8-Q@Z(k8iySvsS)+xMeqSO&qDKMmidyLFZJ zCGaMH_~YU5=VjBhA$?mfRyYY{-q<>ih`OU>9&ccdkD;B<>s40UZTqp(?!c0I^FT&)ccs)Od3V`9C`^I4 z;2H#$7RlYc@IFz40X5R424c#eOR|6r3Ak}2SMuqu;$v9IyavvgPc>LnbDdh<-s4=V z6tI0ZG=mO3`@WmU5`qDpUdb=CESgn+9icy#@-Sc@N&Hkdhq8$7(?i>X5E zI+ps&^!6Pb;8y;wd651PWH4U{0AUDPCNdkvb9`K_8lZxQyNtn?X_68$NeihwZ$Llb zOQ#1JvFDx4Znuy>jmHHU-M1%sHLa=BZzk02FEC$cu+?XqEF|!)D zF%0Bb<5Jn!=2Po8GPoZS6rP`PTe!AicI_{6B5m1J{&O~8XD<6F||GU*z?T7R7`i% zTwW~-C-Rv(PqOc}%P-QOO_m+IRoz7gmJ7zTplf&8yXKpV2VsFmJ+Z5IWPVzvyT?d<;8$(A(m9RyJ>}$OvoWJeBCmw7KKTXZi^paq|PUq2_Uu7gl;z#=4hMeplZBbR0{s)`&&;q~?m6~M->M5Y*Dd3Mei zGmNVhv`2;hl|7_cekL6Z3n~2Aay#2vGeosq>XfYPGw?D6y(e6l@cVBH420e6|1DT?do11()99%IV1956OsL|C1aS_?n~5$bpz zuXwV6L5?h%WzaIu0FVJ6YUx{S9D1>Ex(BJ~6X7{FJll{wIy}1Jlz7n=_2Ln*e2D>l zh2AJmfB3`jv!Zxrhzp*Xz?@O}$#^A04e+#Qe%_?y;!>>=Xt(AmkJGLO_Yw@xYZ*X37sY7+az^v3JK>D-_Zsc5Ueh=U_Asdrcx{DEFli^^NpJ~nA4-88hHserF*0|uZI^qY`A%d z)6`K@dn0^ToW`=F-SoQ7X=3-M$3;V-UxpJ1MQTXVp(Crs5xfpn{AOESIN6nJcLzMM z40<9vdeg|4OX)hGTaG7Pf4^cNd%}nq0uGsBpKd4+Ck=*M-Zx4H>@wv6%kvyjxQr3H1loB(GYun;N4%25 z);<#+D*5Wk z0HL=y-CP(C%z=K0qaWO$2qaOFH@%qDBoXPv517u*xehHR{dJt|8~dE}D{i_FGgwcBTAnoMRH)we7iuVF8?( zr>9lrJZGo)hZ|vHsRm(MWj_9Sh55y~3G*t2p7x430HDYXD|M&u@H+ju`Y1babYu%R zutFkRWr?VcfNE6UiiIg~j;v`}L6G{?Yc@AB{4EBQm6~qaWoE;mj&=B1;ig~SuDFSV z$2)_0%D&a_ZwftDVy)dYB_m&MrbD10qj1bQ#qr}D>-aAMe3*QT@@{6npC(_%lyWKN z*3Q|<@$ihawi|YbKG~FAaXC&fFbF+4EiYLzZx(?DT4X>z=#|%ulC@G8bLui6SW}Fk z$>5@b&?1l1rkwG+HJcuc( ztoQZ+wm9Ty7^OKQ`hggcwM9+9IuKYh@5LL9k2A^b*{zE(skRx} zlUS*P;Vi?ph&UFeN-0-4d;8ficGj5Q$e3`EL>G`aNdHh0D4?GWe9uO6GW z1k9G|5Qmv`>}dBi(vuq6&v9##Vo!Vt{Y10ej$ZYP_4|cS2iQ7A+)={{Vk#U0R_NL~ zjLcOv9U&Nf4BJ(sBef&g*a@0*(Rg+cRo_x)ktlA@h1Dgkj)arWCrJ?_$Hj8LH|vu{@glZT&>!*;_Tc&d!Cdmpt6hl5$AS#uRP2xLGrJS- z=pgWLa-AH9AFmIHv>wda7rxlv$`f-}sa4NcIIu;t2c{Q#amrs?y z;L%(D`-`aDaY6w|`FvGW;3I~@lcgE@?4bE`-<>XRy%R4VIuU^%N-L`^=bY{dFA~7L zJHMx9WFDdtx$vgj-sv}C3~vfgnt(v*8p^_^RH3IWTQ%^rbL#%ju>F@HmEC7QQ_%U1 z*NN*}Y;6|ZNfBHakIyV#GnF!xz~DZ?TN}k3Rr)Z;)>)n>FsEV-cWU&nCIYu*NT;G) zL5DqRu?n7&_uoJQT(e(je>k!*Qm6GlhWR3{yWXfiY!}#OFT8P>C&J#=249}zNJQ%9 zn@E@isEXiG|@_pW9Jc>&ReiajcF_vDW38tdRU^p>hjl&{C5Uh&+B_kjp zz;cM-Gy!H{h-Vqp1G@M}h;U}~uQ;9S5^oi!#b&LB4yVyIviL7cUIV)07Fp)XQ`~pp z40NPL4!>pilINXr24n+&=3OEXvsFwX^vJkZMW>k4o*8CIgz3Od9 zO3LYvTKRJ>*y)$azWZom(ov<(G?OH@#D=^#)#Eb-Pyb*Y!{-0uHatQ5SVu2c!9rYc zSdzFf{IfzcWS#c{-9=$iA12LNan*lR5HuNfJFBBs!|iJ2&ZpvXSf zCgwxFHR!#0d7=b5vc1REVN3y#%M@#$suxSS9QlqhiTTF?A*0@A*T0i4{@uI>LkkGe zXgm7yH9HPCFY4TOCX;3=qBB6NC7$+q1p4DE9wf^%F{jMA^_&NTza(CO69Za0xVrFd z^o27N_>?7DL8Mnj zM+54S-5`vruHVw9d}oFwEbvf>rx!nmku>0WNH&`D=-0=^xcznw9!nmY>t(ibBb{W6 zMZV{(KOV#QI)s;}F`&xVBo||>mMTngRWZ~PDls=jlQ-Yv>bAg*y%@;E8{%;(o<%2( zcM2WuMOAI+P;H#0syD!)E2xhCf9UjD+`Vi<>oG@O20DLoUsT5a;$)7 zRyi4fqM&kGUX#W(u;P>8cpRU6Y@b=vGCqa+f^A`@A}#boSA`ZQ7<{TA|Kqt5MJhgFO5LzT79lHRC`FC{yqzt5T6(P}{s{ z#C`=*aZUIJ7G-)%wl;T*Y4l>)?${EP=Dk%VMwWlmN-SR=q86bQ zp1Dn6sU@EB9iQx?kIn3RDokGjpM3r}EkFE*bGOsP+!uS9h9kqzEEDIsB7fR|goBh4 z>TqrW!uJw)YAo}5ztzVEFbV+qQh1JCsa$m8=jD)Ki5w^TH&L7kA zO~fg&ajN*Rl)?IMUNcsvoxAi4={T!8(Q%el0mA##7|@KU;l_rz0LDdIiT}ZD59u|D zi)Yrm%+9=SW^meGYWMo^11%yYZDimh_!YcyON?;&%bU2orVXKpxoz)&y{VQv8!Va|a`=4^yfydEOF9M;cVe5Fa{fCyXs(7pw2MfZDz7}9Bu0^~ zp$;1~&ZB-1(5pc?)t8K3<26jQo(Z1j=m}`ro37tWHH@f;0C=r^5*7`C7j(?9(AP`& z;Km%)rxw$L3CuOHHp`vE4^o;ktNi@kc#O)T{!AE911pcu@P#UQ;6oh)P@}stt5TN` zKfc&31yV_q8@7e^L{ZAMp1HroT^>kao8s_|2qhBjrQdtCYrhb?6vh_zb<@MgQJUie zUsmy;iFpVHvfwq~Nl87y&%aCfe{`VD;Av-S1kg~7&8XlZI!8rXTyB7<;6{@f+vjP- zWfZDeDtar3+jhJ|m^R5^KiPyuJ>?a5sCm$;h6kzRb>}MikfRDrn0$I#vc-=d>8Hhh zbL}wn#{7IUil%tZY@jKl!kD5%D2hz8l2!L67>KqeLD)@+sdw@7Q}PfLw?xZ&IxmqR z-2L$reKeJ4Q@!h?(|`(5>}<9uAwp&w8mwWB-=HvOpg&|a$%ha0o~a_uPIh&?i2tX2 zq(6|tB$gRN;UFB_Nhv+aT^|1>acCMY@W8>8g_~<@u&P?Z8V$}RLg$gqKzn=hl9v65 zivQ2Pz)!9b6Z0EVMBVrx{aBAY9SRTaVYHDq%`cqBI?^Vi(6L(;m?~ebxD*80y}>XtGjE~Xn8$lIr59H@H0(RnY9J`0C%YTpz@Zwa+j?4gMkUTAQSNe@Sai4(g8 zshE14#PhZ5<^jSqn)dbQQ&y{-sd3szRR#4p(~ShiK)rRA|XTJ zT+z9e1rD%Jv#K+D{51Xfdnb7vVUvE zw_5sDmE!6o&z&>0vVvO;oUHS_xU6ysZ{&uj1pH>~ExKjPR&a8d1+SRd7sc><`?vH{ z%2Zg;)F^j*6&hhj&D!h<>r=xO%TdT~{h}AQK&~9Y{@ISgc~1EKlCzTf0< zPLAtRN$#h_pe&O@8fu?Wni~jW;gQcvOSuCySy?|kxu<;EwTU(kk4eq>F4hsOPKFn@ zDo@gY!AFK^p7PHQKhr)>p%5*jnJ|#!aDE*yh_*I4n-&s8;y|1+5gQaDV#h@4wv}4d ziD{gE6Fz}eTErWMJC_8!&1pTGJyl+GL-7k$l=gK2nsA%WRl^rI5b4SI-w9U5YK;W_ z4QBpZ4FN0|(6+%@SfR?~YnFzjg&IQoxF;Ld>mA4RyV-+(yL@3R`%d}`#N z_u6e&W!uxF&cY#M3wtyV2hfJ^DUU;5t}UZA=P!_llCYnW#x|yjGQn8_6ZlfINbrG6 z7rm;W2zxnO(v6Xf*B_B|!WqW84=3bvumcxdylVl}>{#Tv)@LQ1cz&dg4k@94Xa z!fam?X(-s4E5Bg5$-VJCY1Rrbzqf=wR*OukPw& z46kMkb~LhmcjK;qKCp3Z{VwrWNQ?t>)z>U!N!|xj<4R{kzS{o| zZ>wFfqfW5=p$d4)34_KJ4r+>Gv>iTd?$_wL-z)k1w|Nd``)b!eU9kB6SujD4LV8=w z?~u!u&_FVouHGP1r$3c$s-Apahv(%JFBhcjp&~FQznfT?IfzUtX3cU$omfKFB>fFX zv9t#kxrB>Kl08lOvQ1jVGrC>=EptBFljj%gFz)Q0 z?RapJ)iesZKFiJ|vWe<;AtmIgV^y@Q=ucvU*=NT5;@NcIEpqwIxU%CkKFr~h)iGS} zlW4XwNK5l)BYf^72Cs4Ya6<$z`MY>wC$Yg8y=u{pv(TMWbftlQ3S#DA-TI40L`$lZ zLjOq?1WBWjhM!=^*|C&O&u`83@IJJ)8%|eXYF1)WACD_v4t`w zjrXX~Lg;mBZOVC?O4{>$?riq6RS_*x3lpy1x-DI9kPFD{j= zReI)su!Cp(8)KY-6tYKBts!B1hMM6 zBAY&;x(kzwwAQ3j6)&c=UQNG62^}2q=efCIT9Ro#g@uK=G6I?r>rYS`oL&s5@5hvQ zPY*eFr+2P8UOQ}cZp-@v*p$RsxaAHCyWE`!dnXCY2tTg5d>lrnb$jQT4QAcqW;M%< z-Hg_3p32C%;-pVtNNVi+ZU+zrA{K)_z;4Nn3~{Z>TVS$S9s?2SYLIq-F0kXOSwa&i z$KlQUY%sr>JK20AeLXMBSAzO$H8j)1Gz*Ge0&Qq%Si}f7{a@oK38-yUwL0pnQsxg_ z&FdClO&SB9rqk%i0n4O)qe(1_-&1-f@6wE*bAi8Wbp=J)g9P`SxV#hJ?^21+S)ip- zxy3{g=+CaP@-1K>Ek|f(Mz9K=qnjXiH^s2evOpwL4m#3ACTtH(; z0jR;%wosebAJV7F53Tpb+~TR#6aKRi78qXssGV`Kbx)iIvyRO1^k zXv0^ruMF7L<;9d%lon+v?njf=8rR}3AJ`5o(u@3Mgk5j(TPacQtG}N1NECL|K1DFy zq++k>>9MTI1nh&DDq|e8`G!GGqG7)%49oIWl#FOL(aWMJo_#J0G+&(T*{b5m(6i(B19UvA%pb=rN;&R;ChUU1(_lM8 z&p8d}LvwlixrM6sfP%Vz7quVRn;u6)zD`QNt88!d9XEN$qRDoq?$J{-k)^z9ni(ZH z{M=7_VEx)d@Cel6rbZ;O{V3IVM#dNbqLZU;H*6q?eUa@pYS*bG;R`(traVf>7*_pR z`E6_ua*bLs*(6Q0P_lI3?H+rS?SkFPNqMr}hP%off_G>3JXNBpG44>39Ds;VSoHst1KBK zhI#>IOM|_^_+J;O8T`+p0#)*VouTIPKT`|Toc|le|GP#0_4Xe$QN8^Se5l_3H%wG- z{{iyepLy86^{za1kL@Njdew0yDjaM>e8;T~m>7Je>{ z&G3xK=le4|RC{W{K)Xck!G|gY{Bj%s`u@zJY8aJ0IS(qI_%(L>EO$Q&DCnP_*jkEN!imKhPds9)t}lE@%-5nMkj_TL8P~` z-hf6(@qr?hJ2KoYk0^s?8bb9=u1$;7EbOpDUhPIeM?T`YsIitb(Ps+`q;a>34@f`OTsG2`x2nP^zc`xW9NjA6wCtW`1qrRrD02YSiG*kL|x+zS89E zFp7;pnyYso(25xW*i&TBAt8Yw7gGMxB&1p8-o&dJj8R2uh${X4lAbuw?+Uqcqku%N z^fQ0@qJU!-vL0x^aYA7ZqawltG?)Xg4~VbgyiH9*4l8ta9Qg0_FH66WAu{^x1+WSu zzWYeu>c!tY;zstk;4sbx(oN4U{u;moG)SES1Czm*zGIc+QA0l?5_~CdId5mILU5MV zN04oTx9GIjm08h9gu3NK2Qx(#6{xHVbNQ@~7~vj_+L{S-fV~}hCblBi6|X3HW)VNA zY#!nY?ehUc4nWStcdNLKx}nYjU_E`IGd5GERvBz!K;s8U+7%nRT8lJLxCp@wo8nRe zC_BqPKLo8Ff{xB%_lg8ahu`4O_{3{LDBB-1V3-`7PDrGEt_poDuK61LD#RPd3LM>r z)ioJ(=Y&!t|3(o}0VC#B`+X>xfe?y0U9}Rhw&SvB*-OBUh z;rt5-!URj0)H4yV&n2J&G?eg=o?+1*cSB(Ck~ zddrx&7B~(llOf>5(w-oBYHT3e#Sli|fN)(2SL(o03*O{Z1PZx2+7UKC^Rc@6FO=6T zQN}N5AU8_sIuIH__$MZe4>qeoESIp9>u|JHh~`X*z*^CMg(G@EPb}4L`cz65V1fZK zIdfOhfro&bJVh3K0=X!-w4lBI}#WSDa?7i+~_ME&jjc_ zL2rZu2b)0R%TTt_53hk(3@}2UeV-Cjbm~2+bRdat*uQq}P4-KLTD9j{g^e}4i=Q9o ztwbRgzL1~@k*)?QbY6myK2Z)}pbrNe2|_rsc>bZ7550iX*I%s4oxh2hN_{)VRA)sW zR35lKflB;CIu%STDz&sP%FEq#b&a1N8=8q434kvjN6KXXsJ?)Cb#T*$0FH#gog>>7 z$PYJk4gv4z{>`ttwT5OH%%pG%b`xv}oNPP1Sh_oj#arGjDS@1e=xNtq@ITof7^p4O z1Q>!%6+Fh1j>-o3lK8aK@vW?#S4AW^IpB!dSZzQV3+x((()pM= z(VmvOx;CDGH8?OEEn01P{gqykoTNSvdzjC9?dUC@DYmcQrg$7> zFu!k@@og&DsDbN;_Slw`h^ZB#^kpI_04MuO`{~nzZjXmCpwFlw{%jlEWYLu`bD6K~ zS*WAhNn!`B$B|>-zPwXUL5B`{rg)kbH|_bZw1&3om^97amb?NPm6Z4x2!ra}e$A&J zTyxX5zo>T4R-XEhweky38iRTneHU$7ziW>6bZB<(#LqO=k_k>a0zIwK5i=vU7u-}B@ z*@}*w=UNKXE7-x@*`i($M2pmVgv5Vdo@>liYU>kY1T0DVJ=n!PNMK7*rP4Liv?odS z=Hr2}rCF($sZTmGEo5&9!MzXuzxi&7OsOG{ybzUUXJITb8@@JCM|-ErDIIOY+Lr}Q z4;h=Ue@>A7M*?f^JY%I&u?@p$_WuU-nBoleCNGh7?i#wfa!+Owg_$Nih7IhEj^DcR zW@P$OTTFFXDT2yq3fxRv^t2`Xy1L~ds`_GZA>Ej&e?lp+l7}YN42%w9d!o^#1 zIDdZ=Gi&*<^AriVnR_Y-stgNWotPR^wr)9_m@O%} zkUf>nI|6O4Q080OnVT1oFg(7Np6vN<-Vd+6df8lC$X9?)q-!Dc&A|qmxv5d2zA7t)Ww5 zJ1q&3Vu@`9z7lADXFW;Py_>$>z_b0j25z|ZF1w<_*Y~GyX4-06A;SszH+>Ww3*~{7 z2cE|3B@Y9)J41Y_nE*suSkliG@wD^z6~U$b+J z81fU;E>#kLiJ}1xX@3|yIM``J8gus2eJ@=ObRt-aSiG~x`L_oIROPvla0LR;>Ju0@ z;zPSzAP;5QTj~4C!+VBz)URy7jn4WW5mpaIT>Pi~wElN}p^ftTnbspDQRo$GJ~dOs1bmH0Ck@Zsl0 zLkh4+M8v~ejtiPs(&R~3u5@$?q##r;bF6sTc_DJn1WPLAefnT{qH&YkVI^Vr=ZIIw zdmbHHo!Nu6SyEbo-jf>O)KTMivLIJRbOd0Vg0w4Op zy0P~)a|Zgb3s0c61KPoNDdnX0n`nbMr#=?geMw1-;>*Uy30_F^cxCl{5anD{(+@4w z{xLo^ekawMRno9>U5K_fROc6<|D3_l>nb%y;!v~*XwQgH`+S<3ki(QSLqj$~=@g>? zz>l{l2)yt_eL%Ny=J}qd9Z5Z`FyE`C^K-IH3>UszTVH|sZf)dY6VPWLD@4K+?+=I^ zeo+g)nncJnXl>0 z{M4E2l`*eOQ5L-#GTfx2*7QWs4sfr^kk5VtF5_Kn|1aS7Pcr6P)B(Mf{iFM7*vXhk z2;VsqNk_|8RO>KCRY^dGN%ywdUjNnc@b)lOgUEZj!8LPcA|4!fYjJ75(C z7L~_ts^_s!`|30ka>C}%?{*4qY#JUz^g%tvh}=PnT(AQBQO~`sq#hR7pNB4J&KU2# zVt3UCU*80RyBd1JvBNvG`_LOBOb75~0yWphq47&BH~PgG_-0KeEGgtC#(Sv_AGo=h zZN=L*!=i6o!n)ekI;*UUl*o7I75SWxxc0=0fPlOEPI%~L)~ZHiDcOZrKYR*|f zW^BW)S@fG*IMm)3irV}oChuq{Dd|@NDnBzN*oCkh z$6}U-5P#_pQ1IM#k*G3AGdYE7e zmkjP=I{_AcTUaX!!u-ozyf88~@GFsL&-$}z7R4HYYfF)KpF(r9(7`DqlLRJNC)i2? zNmq!~AqA0fm?8^9ysGPKk9Coo0HhWVZ7r~TVvlKVq9uh=s* z`;1kU;LaBJ0X=>2)wAx7sz9RO z)joe5lU8h+3I|DD?h*JF)mFDqxAQG|P@-lRf^;A|1B6q@+VO{919%spTSbWL>e!=d zM^DqlT%1NFJMe+OrhEsSlB6=($wnJH+jJg?-zsnLm7w&_u0knLyB!>&`rT=-E4VCe zz*ZD(bYj2JkHZXRS*g4LFLw zdG}(d@dkwk7Lb2+O6`~1IwaU<0}e|c!3MyhB!mwab?<909}`z?n*} z#M~=6&?ItiP!8%&1c#1!GmuGNf6~Fnij(vr?Nz2nyN#QZp67ZNQF2IZx4qy)Os_w8 zYvY-S$LQYS!09VDk8xPe>7ggCVVr|Ha%*9F%Ti;>tNjeXhdzL(Ez=KPw)>sysoOCw)KmRg42pTJU!Dx3XWV9&!b4BDBC6s~nnGNzE_eFATbRMXPKC3gMJ4ucz)K+R0?%?{V}>*J`s{xHTD>rT@Dao2p)sh^-)M$!H8nC zfUx+7H+D2G7ajXE$T*utjIXL#$A5!fQG1Xev?mJ0pH|fof&LI_M+9Y0g;rdLPIXBS zPsmlE$(W*;bpw_g!k4@vl^YV;^?t$0wrsFd*2N6|!1{P|GkQqsXD5Mq&O*ElD^5}J zjZeMzZl>7FFTIuveJ>iX!cBt4(b=aR^0~OdVR--8O!N};(CL5?%q>CuNPk9aIrOjj zu*(20l(Es>lnXw3+r2>6%Lq%FGViUz-v*yyqmG)_#!WrfueqO)aHFi>)k{lxJ$5yJxSO~gOQ`~3UC^O{ z?>U|yBT)R06>FCISk^SXK>aHk!|HRJ)7U3bi#eLu z!hzG2=$p>PP8&N5s~;rT9Gme;DX3a<@RU!%!LaesZNzGs{l6MQBzPfhQotls@$Woz^= zqAdkFm2OR`oA;d8_|-wFOGrLbLl+V?4(7sZw)`~X*vYN+5NU-UFBpE}<$ z+~<0;i6(;oj${fI3w|Bl1W(ErsN$cxq+p==^6Qq4g06P;wNj$E}1kR+q{+Off|ECYI}VN_ZZgMHZEP6~U7;_GG~SeMG_j zooh~6?&4CT$uL6BxZGF{&q)w;YrFhoft@VW@0*`sNi(A(fqYZC;~$A8PxuE};VnLS z?fw(_cm0in4YME^?kq8m-?l)7fPVL6*Tc$y@g@=-|vjgM=-v6f>B672Q+VT8HrNN zU^37g*2WI(-{F`AtgPC$xvB`!Y*xa6!Ozb3lc`tp&hCEeg{>IxlZzSr8~)~}`5x{V zsCsXJJ^l_5XPqA$&^m3aYVHzvuEVoF55iuQuh5r=ji5Cwew|(z>{@_c{`kp@LPWSL z`&~Q{4?^T)xVIUu*vOV7BM?LT?I0=O_r3nwcK^qczwV(qWkm%2kW?ZsY;MkmFU=+x z_s3NUb-(-F0ELHTo6G*}`bA0JmOjQ;f;^~$bAD}TyT*V)ECIOpnpy`dtdOPRH3Ef; zrphINM|{}&PoQXf)uFGfwj?UT7Pk#LNa6LF(91PREmUZQmKwsvAg)9FO!$v?4Iz4~lsOoU9;~obTaI$J?jB?!QT+ zN3{1_z&`f3cl%XyN8#IXbx>!TjG4YxC*mXbdbbUJWtWtHZp%UcqO_v$ovZs<9 z({dt8rcfh`orU|pICg&8SJn*6^k!2QZwG%Y@N?wX)Q77K;pV%kbz;PRLP-g5Ggpj> zd{(61#uVi_@ES;ZZ(gD}81Z`rWjNL5@}}+TFPvQu7z>UR<#BUL%l|e0&Qa1huSD_C zxm03hXd2JZcx4FESQKK4ry3E8WpWh6f6qi~CD54fy8=4uL#u#px1^pN=`>ENP6%`; zw$93F^GJ~s@-<_d35v^jnsL7y`tYVX*H8EI2MxuHeqq`U?oxi5fqI8UTzw6xeqW{& zfx12NOwur41oj8G^QF#? ztGc_ts2DP7S9I?~8s!C{4460H-|S^it_&eG69i~UrAAO}#oa!IW0>olt8NJ@(dLsN zGOC4j%>Eqb{cnzGxJ>U?-;3vvZeM=E!UY`xdRn z{kqS86tvl87p|tyCGjGx=dHNr5HA%QKWJW??UvL61~=0~Rae++^kWu*7K$|E*dhe} zK)L0ElJH@9n1K9>J}IJu2wvmpyRt3PDx>@E+6x1@^-uO`gkJRo?Vof^Saj*|;i~2B zOeIjEtu0jBkyFCSuC81wV`M^ZeX5_DX#(9R8(fq~lbX>-oRSYs+eLi^&(NhkyES$ehh>`~+XKD$xx_m#<3+n{G%2BGqPP+yMu z<{zItYt)yC%KbhOqF9`mw|xbsBQNZp_<73NY2WuT!X|6@LJx6gj8vR{t_(&4$KG5% zR`TPXuVa9Xe;=Wi7uHRc9Z`FCpA|TCwYd~{v4E27HNZ=nogC_03{;3+{&*sA$r0MJ znD%&-ctW7s%jt-1dXJvgo&kH&TWQ|FeD9>l-MhBoI(CCY$%*-N6QQ;mOP|%Zm$d}W zx>m8BAcqsTA7~#y>D4&PA5v{M+0&qt|%uCys35xmc^a zFtOm!!spP#->~ph6?Z$E#xQv9@63SF_QfrnE~Vvr8A)3q+~rA$%#YPGeJ?gHg0b*} z+ISQ}w%XZflcMkc4i?Clc!B1lNss#qD!NP~O*@D+gWMi% zcy3lV>T*Y%%Lrae<7DHr-l5lv#s}nDZtqeC0x1q$eS#S4;HJp`DzDyx2|GZUxh7)jPsH5uPYt_93KkH3DF8uf$xsR{Er=oq ztaBw_sRP6tq8NRRPixJ)d@~tjW{RgqsTdO99mafu5D;F_*I6RvhUDG z8Gy%fiE8KD`lT<=AM9u&pkvYBR}|cc2XfoMT7v?A4F(ZBOlzK4W zSex=7rrqo0ningX!9_l;1(Fo*T|__JD-w4MjcPdFc!s*CXI={Ma%%U(L-BBzt?Wb} zET5cGPR-Or!g)-1y;fN*!j_R80c6;f1Gp~juaX$Zkz@=iG zs9-NU5P=;2mN_k0f9#-)qBFq^{4$32ZCu~2n>X6FN%+=%yF>>nz>N~L^drAQ3l=Yk z48@Px8x;4Uu;$sx$aKX#Y|#66B*%!QuX_ZI#f$GaZqohy2Q&5Y)q(&WJsRZ8eC%aR z0~ksnwSalccimpl*_q(~K!Y=sPL5(jaH&58&}Z^m!_v@JpqKY#lDRE<5d#EI`6Wgb z9xT5%kP-$$GPZCoxWjQ^?gMiszQibY@|l~6UtqZzgY@Lv(hJIT>@m-3?`BNl_qou^ z10?bjau|xbw^!ESZ?5o3~ z>biK(41JWMWdlBp?a-lkX9jkS3IZZPqCQxFjQG7pw(xShIB~pYcW;tT`Kz^QO~{+|4Dar?3=Umz)mJ!QwrPH%E}CF zfy9^(?VVSWeKDR33&BqEa?nDKQ<72R08UTYmp0_Bq0L9L3!5X;P_u{TkSInC)-J{+Qis zELdGlbgy!SK??J&lF0}uYud4g5j+){!e1m?)eh%KP_sJ=j)LCqq*q+65F4i)jnUqB zej;h8lOU}z6Qn~JAF;(LUH}A~%C9S5^HNOhpU*qe(PX#vj1EI>tDe8ti6VHnpRr1HVGtDKf@1- zMb7q%ufwa39aJT3{e;g0ev(2dW~9X_XI#BKj+lfGXw1tc0q&sqk*^nk6F9q#J6K;1 zZG@0bHdtq~;gf#G?=GF49k2VH#E6rA%3IYY?n%1bTHp)N1bszemG{1CLhAtnrnjc# z=x3&D2UVtH<_J+7-x&Y{giuQ;O{n&Z=WT4k-ihLA_LZ!S<1MVIeJ~gZO1TXS3Frf! z$;k93jEeB->3QS@>Olhff%`fp<<`_~-7De4VgdO05?6z{;R@GhPK z_*U)GhBXE5wd>eRU0>GJ%^F1k&zPom9{StO#~uFbsZ_Lr@U0uu)%TN|W9GWf(V`+~ zuZELgO#+wTy6;I5y@Tx zJ_Ux0|DCtz$&6p7Q-@SZ90PweN=|Pyt9Z9pvdg2xTX(!Z$7Z*hb zXlk~V<^mxDU+mn=3wqRr(RSrF(*?=6h3)>+8e%FW;xeeb^A=c;i=lwUOt=A)LTBiZ zAm;qvfL|^s1&zkJSV}Y+=YPS+{67}~Rb3Dhx++jJ_y_uQF$z%C#af_S`#%){5e32@ z093@p+&Rlk;blo=M#x1Ur_!;e<~Kc?2aQ>>cyB9yv%E+f0x?NJ?!JP`!8(PhsC|Gd_WH8sf98o`_mUXuUkC27b#?B`84@S_7uHmfkHYxJ9Jj*C7! znjtoZYoi})soJPU6Se<=XDNq3)X%JzWH6&HS>8$g+aFNzC&gxbQjKeo8Lzl6$Pk^U zMMDj|_%ep@@4)GRkM{3mymGmR20nm)2!dWr*q{CrNJL`(1%c5bFAZiUH@twTWBnIz z{#}o?Z}!?l26KU(KH*uuntnps6JMfk8Dbb3E?prR(B zXM>`@kq-uZ?7K{mC_}@BitiGTpgHci(zmj?L!HlB^zrKF;?sc;Oue$Gmv3}k7NOnV zCA-vfw}UmZdYas>%VKdjJ&&$k3?ab?X20Fv2Ll-r%Fh{1^nc(UdgCln*GzVnJ%qH=%2+2-7FQRy z%jcNn4D0iYT*`79*7UL-l05U!1(Bh_rKK7{udS@t)$kGw39QXFwG78Y3ihn^b({jU zq@7M?^5!T&MJgw<*N+#Aa9sO(hFLtJ5wA?PXLe&!ODbqt_!SiIUZum7?8ET# zRRSvh9wZzSu+N69h+o?B2#`LkD{_Gu?0zFXNbQZU=D5;?yAh=wZQpqt*|c;DBHlE} zXeN(2h1c%dt-9yBYI!0`l_Onb`X3^TZYF!^ya+a@d@Y=m{_KJmpyG&7H8m4KokBg> z;SEMZ!Z!+t@tQOkmc23Rcj6|Aui2z_#okio$z6{#QFING!*6T{A`jJ4l2_)l*s7gT zH#wX+V{hrNSrM3(%Q~Ky7fZ6d4(x9xa)d)(D{Cq)J>wO?8syU@{DJyot>G+OXJHc$ z|C#ispCU<9-LLLOSXyuyGs4oJZ5&N%>Iq*(_gLTuEzJ#UG2TxZNOv5 zT_|v?P8)0L+Blotvxb$;4oBFp)Jle$E2rC3M(N&pcj}_W1EHsJcC)91!kYL}J=%S0 z$J$@bmOtma#6w1wbB_q~Ts)+1ehPPIa=AnQhZ@G=I_uTnPCsg5)9xqghBGxM^C^&< z-OU!uA*Uuh_4<;$=k-fJ2d5t3Y+qNYO3!7!g2Z;)p6hrUKn21|+Y^5G!mWd>@sEc~ zq!q7xdyYVNR4rln2@|dlS&&+9y5(Z@sH zyLCT=47>Dl9Ha}xoC#oM{Yo)Ax5?yJxGZ2@BGoJVp3>5uv1ZuDMg*sX^`ZL(X{I!C z5R=CMjwrueVg`3WWN}`$X`)ry7eec5`YnO7rvvW)%wauTaAo_U=ti!ezqx3{gHKWx zKDW;aM7zlRAum^0oz-F@zeYS%ap2vr>%BEe$ADyGK6DQhFaGVQw<6eP=A?KpX-0LZ zR4X1DwaZj23*8n8)_MTNXb=UGpoB;{eLgeGS?C;)DUhJD!znXW&VJIRuVMOqGoY+j zh++c~Z-aszxf)F?dNO~`DlbgO=7c2^ip#3Np?G(kK!vg!b3>p8IyyAD^CGGju_2Jz z>v9KXuP!=ysS0f9wqEMd%)Uc?+ri+SZnk+|whZi)daE+5DZ?Z>HpB+$z=O%QD|s|@ z$Xyv&x@)&*XyL<3op@-Xd>)z2V_FcB-P*t3Lj*g)Q`hk_Tj{5oH~9YdfGmR8OEQ~; zCXhNR=jGTYuk8t}9v0QI!-q2monn>ElHmtsE9?$E7CAYFhNTLS@BqYUMnSQCwdfn8 zUUGu4#lt<5e3l2$Dqr7Mec$q=!28fM4{iB^QC4_W^L5(+2g(MobGYF6fabzxkD14C zqofRsSGy%pp*fDqw4Rm^_N%p_oyW`Q+t}j*=T!5*^t1$WaJX1M_ZD*?mS9%f&1Z8h zNOG@qCPCR$E1&6^yOj5fAxEVgg9F5nJiWSFE7h5??zj6KwWWwTBjgEOqvNE|`%#U@ z@M$G0=Da@W)0bn|!~H6&Y~7uC>` zd6Ns9mMYa>Z#&p4sz(0>q{sB457Di5{2OJhr7irG=K&<@9y6@t@9pT2*(bSlA|)Dr zxhC>IN9oC%eftmU*jKe+k05efHUPF;wuIjx7|V>-ks-jB_=M(inn=9d{REG*;7_M+OnJF zRQSu(B%iP8orDg_1I7;aH*!<==@nC|x?V){!#cXQ%)EsA81ONiWAY5-o=n_EMvofL z5+4p6#&pQjvWBL!-}=tA+GoA*{Lilc0k0BJ1W0kkX9Z>40w36I?Jl!D@Ot7l@c8vo z^en19hSdzQHrHF0Wb2|JJ|E1 zH2!YiT+HG+AT9!Nh3S(~nW;&;?wWT~Mc4pWIyKut~W zg?x)P5lZROB1v1(8T?2Qe?`kLd*Ckx@aBcgxgiGhAnYVGcB1OW%DoHpz17MNQVpl$d(>?3WHGc zq$t1B?{|Rpd3V+&&~@d;7KLKzS>aRL%y-Kfi$^b@HOX_g?lq7Uk|_!l{1yZwBS6iD zu>Xk1J_wVl1EHK1Nc&_Nezkrr1H_=O zCD2*M0mYP)HRgGYA=Js*%7&bW!OsNr{6Lu7FIgx!1V+7I#R+B=mXCY>^K%CJC4Sa3 zZF}5}D%ne54X|kAL0Kr01FoY1e!Kh{D763lCJCLZd4nIbE`#KQSW}zFlfupCAhv}> z8VU{s6(gL`6^nq-0^=%sIE4Bp+kAdjo(=k=LWqmDWSH-Z|MCMW{~druqr~ub@3;h5 zD}lrT4OpV5SSf>-9oH$QYR&n9Hi3kwOV8^i(XvQF1J)EZ7s|cW9*M4B>aqk_7E2Vx z`A?Qh2Wzo-05MIAY+dm?_cP!I!_<(0a9YqxNCF$o`!%pBK?!QG6UEIxHDF>oT07JG zvD(|OX-Ih*w8LnTbHpe^11|7p8F;f9Vgbo+wp-hP4wfczbq=U=XtNeH%o&DJHROR@ z4;z8TF&!6PpL{BLg56MWD4zMW&Y$TXgx_^OaSGE`0yI%iC^1A~GIwQ4>nwI8_wAPb z=l8V8*G$NBDsuE=KKP>*j74gUvac8b=UN!rq$;2owEh9ixPsML^dcPfiA&-Jm)Bk0Rbwb^vEzSfG|MK z?l+#`ld2`r&?*2k5|ISjSc$p=JWeDu7-a(3^)Df2<_r-62CNI)3F1s1Jf6Fkr~1xy_Yc8VR1#4}t_ z42H1Qft;!l5R!)oR@Mvwr?L^|pUn=I53F2@>Pgo%43Q7;15NFr=FKZ6D%u=q+ZB53 zx`=KP3=v(p;LLW$_90!eLjmt;{Dy}ZABS$BOy4m%>Sat;r}~0g*&+exl84k0+OC3B zXF&Sh5xeA3f+!BPQ}3Rg>#|xqv&vDr(932a_#<|eyC85NE$#9@jOMl@1cgpMZvdF{CD*ls1VOx0ua$fk1wZo3nB+MA(d!o&{JsZP%}I$FCQLD zy)2l5E?k1vzW!Tyrt4e}?2=ztQ|-Th7q|9t2@6kcx^#BVKl65_4(}3p+l5xSf-9Go ztrit7G^oL^-e*za`(0@wyN9vrY_3Pk%aVOp;eum5J%=Wfz^SE@*HziJrMT$(b9kj* zZ1OtJGTz}b&>cR$r+sD<-#?HM1+g0v+kNXGumyIje^wLW*d>PaLidDrmzCb`-sZko zIO3{02<7Qr51Fk)%0r^c`+1O<{65IdP%yW&;c@BLOpPXCa=O03 z=C|=J9fs4N-;A^gQ5jyEa==jo(9aiv3eZ&dO(gdvkEfW9>A|DwvO~Pu1w!Fn3(vk% zACenCY_;uJNZa9}+466wiB?fR$GM8HZdYeTjH(_f_XY|}<;Z>V*TXEwGXZ-gW}^;6d^mSW>na(l_Y|3pWRl%XQzfwL5#R zi0a-xdY>kVp^TFB>3!yjSob=BI-IgjfGxtwAhJ!xmnvtasxx;;e|pmo-@FRlsY6{35dbpB8T6s zlQH)BJmZu^Ix)7gImY$@P(jmA?--FJI*wrOJueYr?@EIMGO1clQj`(EdqtdyC%*pY zv}G_Bpy>x zbn^YPxG5o54i?18d8ns?2vLO2o&M4gx&L_&`GtIK0B!H<%7rx?DDZynRG4qSiQL;t zkL&Ujg^}$Cvu~bQ)cicEQ;<$FhwBvKn2ZN9Tt@t}`2>k3sviOX_3*&l+>a_F717h7 zhfvYCL7ij*31+iY-Y%@p#*YnA?7ZX~4Vc}ZL|j=|Z&(&|5>w0*HkMr{3UI%qq>pe6 z#I`d8=9@o)1F(SZRjU&hVQy83A%mGaTB!2_8BLy8JQTyCHGW+?9kRc6zxoKcP5PEL zUA81>Hv3&4y@bik#d0;&=|Z~Z8xP_>;DV~CgU{}v84+CP5dJ99Bb33fgZ&z!IAZt9 zcfYRz{*)%)$R6^qC1HL3(f#^D#uO;C311ksuhD>&MOz1~KM4&NQRiq0h$EYAsLM7l z=y8Ktq!D+bm*|3(5J-?uAH88Z?!=BVD=Y4FhbhuXtUHKM^UJp(cUbtWI*14K*Bc&P z-}A6iAd%4b)Dh;`Z=kI3O!cp~trYdV46}&1x6X`aeFlF_%2*~KTpG(^_{Q7S2K$?Q zMbgkVG3$Z0Kwa)NZw%_YS7}Nm#qQ`EYLpK~vmz_DHVAWszaDVvSvb5P?N#sknYs#Z zo9M;95XQi;B_P9igJ3#Qfy(*4(d93{zl{3wYXxlm+O~5BvZ39f8WJEf@xPs47&Txb zq;MUre;ptYnkUfy<(c!=7YB(h?1VA~uzlnoGQF@Z{8_Y%eWuQY6i4swsgNsEUFaDS zOgq5?&k@#I(0PC&*oqPmh$!+ zSZhG%TB-0V*Aw73;iOvjtJ6!SZ#ryzyss9SvCVipaf{(u(2LykC z8H21BfG&zYV8F-4BK_~aC9uLyfVCABM}qp}_qf;~=qW>s z-0(l9)c?zGs(0ZBJZMYzR76B5u)|gzfR1tDOij`P=}Hu4F)Kk642c!pbzd`hAYRyj zZUO441PU=mTK zw8$=A7%L+Vn#~~4GlhhbJYXFL?>LgXE+!9I%7XNSIytRXAZPUj|3xLuGE($rzo?b~ zRf288?wnOov*(suQh)_oK|&v~DIi`Lu*9jn`d7)n2kf6YL<=_msp2Kh)OKt5+L-4F z>%;ChGpFIyqQTV;x46y@I@7GxzlrXVK66{>*=|lXco<`T8ouV;W1NlHTrlpw-vXj+ zHWzko)2OUg52gus8KkqD=fnP?4j{adp)3kei&S09c>{~c^6+TG{M(-Tzwndu8kTQ6 zd|R=NpLSlLiEE8rBCoA$(ms}2Tj?ban_H=jQ6bfRa_?zt!{Vl;=8Nx@iI_ZEMNyl} z{Yh}ajJ@Mw$H?4V+vViDn)xx}p0`$VTj+jTepxnF zxpW5h=;CU*j8}yX@duiW*-f;$rpfx!k@+goOcV}k3$2q#2amMo3@&gqSmp&S5`FiFO4Z1aM`CEUHxyn zJvb&UtkUyba6T3V-NBkV`-$aJ+ZCD4*6Rq)3R6S^*=*HFA3a8pTS@Z?2mwz( z8qp4>KV&DO1~br-Q9BllmRI)KjL=@cJy++3ctbh@@C^2|GHFgJo3 zew!qJ@2FH(yF8$Kp#t7gP$c5q->LV0=1y&%CvQ}Tl4vi#_>-9a74;wk0~PY>Sytri zK=jbAS-*Jr0#R4F{X3TVr^yS)4KBNzvnw%=BidAU+NNdQlY&TdFIdsV2LN(wRxRTw znmkxeq>Fbol&VqF<7n89|8&PcCkn4dy}gm$QVIU(kXWBTdN1C1 zCvgT1$Wl5Bmn89h+*uvMc20Tt`14I<{JG6tMyH(i0R^R2yAIQqDmvuR7;EB!^PuMP z99;4Y?_ZRHHRbvt;B>S~iX0_7SfOorjYHqr(zX70m>C&Uo*txFIJ@S_R?uW-UXp(L zG*yZ0jL&b&;IXKA9%i*~Nz16Eig3jWpb~?l$s%f9`mg|$_1N{O5aC}H*=kC0$;)gb zabEu=8hSF6p1$#2Ldsh2aaQCIo_@B#{^WlnZdxy`m~OZ}6Y??0_-Zj09&nO!CPE}Q9QWeAy9xQ}yv<<~svx)uE| zI=Y3d_`LIUGyX`pizoW_i05pTU;9BWPv)s8&)QtY9mfNI$?!&v^2bBbL<;mo)Ah^t z^>-c**>Mid?Oz9p&DiDJDKbQo`SJ&sPt25 zs0_E>bZGl>nA_e{9;J7Rp7ow52;!-{Z(NBr#WUyE^}EphYuWR>mfQc z0Y4WK_|$;A&Rn65-QHjTvtvz5lOQ_GC%!P~l z4`)v!mGB9SQmmv=sRkKAO39u|9{)-(S6|aKfAgDMxuAKs&;}JAIv80H-5crCMH_J{ zBkRJ=@!*J^%A)&YU{}al=GEPiyIF$ck7eDzQ-rguS$qi(u|cV6O!CC=T>AGwV)Fz- z&kdfP>W^B% zH7Ii8z2*)Raag?OG4jcfr_%nqz&cKr>lHvOADto`Xr!Q+ z-Q6tQrh0?kmSkUx-x*o)$gUwFq9MuXflj;Oo5-QZO@rBtCJT6D>I&qZEY8FpYj#!DI1BjXHT}vsG=o&=wDi%h}2^L%cmo=6BtAmK$vl_S6qhgcC(9 zNx<{}R0+%w-wn8bDL>MReCm>scZr23-1j4Xy@)F<%sUfv$`*P#&iY`irbfyn;pr>e-42>?mfv)p5CW4YzyJ zbb8>~N7C^twP=_AUx^Y6lXEwz-qNLgkzTL0%D3s7Q7NgI+m$dw?(*t2W5^O`D{?6E z)y-!!U+vhmj_h7n45ZtW`{POxoLK1xQH=elg> zV0y~zvY;COw@4u?Qq*tDzFV!7eD69mI<<(kgGnSF4@N3F>1UJtXAs4>@Po1EvC_~w zh3pCsUzSnH;ic28*k8eGO^4 z3eWy}-x6a-cC@20e>pnYu)@QE5dJ7ut!i)2gZ(T-w5Uai7OeoPLzlfsoC7j~cRbg_ zDgubA28{081QrGz+l2?w9g2O;)UmlOF}Y;|qsF+}BEuBn9X~P7fPm}NLDz1oE)*FQ z4Xt)wCoAnDwQjd)qsSz@>)>(naBT|i@v}JZ`)IEUuHu6<^+~SCsi);<7VT?+8e8mC zVGGKg51{fUqQ^hKFW^xLI&jEx!DF*4w0|YCT+jfxE#sc6JA-6E29N#cGLMrxboZgj zt9C2Ob(TVMN-o*^^8CZkGO6ZDJMpq{1)<;v>2_SFR?l3WkZ-4NV1Y#Pst!GT4~Yd1 zzpq+X@O4u8FgSg)q1WbSz)Ep?F{$#jLQC8HW$6H9IJi{g#A?y03GrFy6W+Ky8z$>1 zRt+NJc7Nh-c$1+Cr5M~(#74KDg~_4?!?lmcEDmPJ!Bdio;?Gv%%#ihs;8t z2HJERGbfv>ptpmSZz+o%$O8R3r(WD3K!IqUwKz#tg;HS#WVNg&<_SlP;=riDN4uZ* z5S-?>2YDXb^cJ5wZBtzjOB)rjcRm@~yKmG*Mj%nZY)PrE{hO-$n1qZ0$&XP-(sdz4 zXr)6>2)L()I-o&(8gV8U@nc1F^pO#nX6!v%;e}3}|oQ>}P*f zrnr8iA}#Wm1T_}bEt&CJ(krZVNZY*kil&egZRAWyrZp>3Q3c($$Ok;l^|feX9#125P0R3E;x3 z#?!x#6VM4vf{Ty(kDDKOq!5lnpU;+VdJXkc_ryW)Dsfo4vY7@dK75wn&s6@4lTU3- z0;81T1XtPHLEngPQMZv^9||`g8!fOSOGbwC^lf)#)vtm}#spj@@_gn~Z29JkKQg}% zO6aF=dT8WjA<}*mlQX6!jbx+Vi~Wyu2gt{UI!@pCCkSHr0;hZU5@IKMswh9H{Pt~> z8G4YW-GEYh`lA)hc|iNNpQUL%#$;N3LYi8n28q zH*6{h>@R#{CTgaLemApn&l8G}_Y)do`6E)n)hYP+X%ifi9;lh6pyF7!b z%RK$(YA6DUO5yyL1YOAZcOe0_Uj%&E+`wE<=JE}M>eFEHNn28tkHK;<*s(P-9|)D` zhQ6~SSxe0=T$#od<@%_A6Uc2Vz~~P0MhkD)-H+uzNJ&uRp^JE%b)=>e#SUT&gM}Cr zSl5760Z|N)IFwNx!*JXQ6e}GbO4-;4i2X37v zSH0;6=n3yTePK1oc*8N}mQVJJh5z`{qLFPVS ze}f?4^khYL6FRM$G#_3}Ol?rAIa%H?0gEn$Pa8 zh@TXeD9mZyM9)2$C;rdVWKMA)^*X{%B+rHqCBH^3<5vx#tGG-kq4hDQ82!)%b~3)= zjk$5;9;KB#gawC#$HycRMhT4#ukHbIp2L}<*&_W+qkLb32>t4_@v4Tw^)wFSjB{-9 z%+H^;V|=_jx`3&b-I(sAa7MvD4`dsJ>*PbZB`0Zv2gh5nN|ck;Bw4A{P4Oh@lz6Kt!m!>A*+2j`bN0SacFW}5U zey3<(FBtJ5$o&RD@xa6V3cA+5S>N6Gx?5b;i4gVC97%vm%i2=#U&lrFLI(={`gVk- z$T3qQ1AEH&O*pKiYeV?L_63Gg2!F)6 z`}zrts-DFM#-F$(?jS3QNG~K%uyj9tmY?ySzfcH=$Vf5z5gRxDd5{Oi2N#FV8>8{} zF*D}ib{61Vz2KAZM??~e*b`fu#+-XJ*&A3Ugj^CYq4)+p0+i1t+GW~uxU9k2axiJc1#;Op2=l7dF&J;&Wi4#=ww>gT{cBE;Sb9zg|6{ZPBm%Z zI-uUuut$doM^>VgF!H!`{L=U1kIyRBsyyg;D6l6&-b#oBtZtXP{y7Wb^#Gg7OU9aCA@0Tpo5UFUHTm1K6`e@1kM)^O-!5 z<(w-yytmc6jr@o?O4!!q^R%gL=+O0eWHqejVDb#JTi@O9WAIwh19A!T&#_SN7Vz$F z;%r~F_?%Tsj;1Y#}gq9QZij#HCUBb3ev{*R3_4dbRz;ut&8}^l! zAwrOI81eQpL z*Kk@8j#A=K(d`8myAmv%^SeirNpK1}#+z4x#=bS-`~FqO!c*+~G9#t;?ss1Xl&yf+ zVDo}r5L3WhLSaHUQ?;dZ$UJHlj_?n7!w5&Y0`8tZw;$T;o2-uCakd8PZw?QBeY9IF zmlzCPy)Ff@Wh|@t+iZGxp~)fy+eEMV>PVl_pmFi$nai0RkUc5Z*Tc#PxpQP8VL})n z1UZLn~pj)yY37kCr@d zAi!#3kYkJ)=hS#ih4(I*a^1Uw%zW`l3|X=nOYSXU@%*4;gxWZWacZf_2CnQ=xbrpx zQ5g~7!A{e7rHXVH*$4_IH`Pb^HuN7&AlkOZ;q5$@uAf>Uq25jTvLQrGnQxA8b1=$D?n_R zrC3u$EF-zeMMXMQMR*uIPqE;FGIGYsCzkNoWs@WFMdOxAK-OSUpOrx`-(Q2dgus#v zVZ2J!WNkl>AokokoIMliin3nv<&RzsnA*jZ>*JWBmectgZ#-lr=q$sb7 z0tWm_VLD{=i#UX1jdCCjn@v{30C~wV4Ie61k^q%;|K#cFjDs+?X@CiY${|9)~O{p%vACp4Kf5cl9{kV4X zg>6ImOC?O}JDTJxKlaUB2fvp-IG`QC83ZkFkh0D2@-=ux;O0NT{FwQIig{ndaXV;k zOpq?Zp1n^6%hXhSkXDH@WcDYRa0d7RL%pG|zcYri6{4H&l1DV=2Fpb46J-Y74H12@ z$dVlVlzjne{13NYeLWst?6U2MWy(#S@aYl!z1cx>mu3A-K^l|umi3+v0Y;-LVHrus z7(zsfe6Uo6U~&|uP^JR=ZT`4^ybj;QS(e^Z{pHU5(==xKbi71xuw_X?x>wsO1qD(* zI$gWm{a6H5%8I0~J9Uw$I4+rr1*Cn5O=g})Wu%GM028~HfSYqz6(z0t=1Cl)TaP&! z!L5ERVlJSUrrBQRsM3Yw3uJ$-d>Iqqn8o||xHotkPTQ;VW` zAFQ=4g5WOgRI?29m zD16~Iya`OspD!X(K=#WuOc6$BU+2w68NYh#u;C9j?tP3gX_Fw)qnCS7U86IM_fgfIE_qygAnel8ywH$sr~urK&uwfZ2f< zT5y9j?xSH=uOO`&sMF1rErA!-VLAIU0u`!yOe+IYrlg#l7s~^ z#6LVG6U>837Gels2+OHI*s9-HQ!5IajYFi`xkCq?Xn7N4v*@UHb}zfjIqQBM;~76J z#5kvc=r#1>Db`ey541}G9GQRp!r%K52H%gio$M6*yI+@A-$Zod0U%o>RtngmH-HQb zqIzkV3pM;u?w8O#4u)FTbNa(&^GyXR9AHWzOsw$O&J>}lY{x%ZTGauRGyM--=?1Jr(+n!Uso)RMq6N+hC+NL)r%%V3ulJfl zFJGM%5o&XEbaY{+KDjt#%Jwh>$7J4(FZk9nM!SgBy%y&IqowF@TRZV~hN1@GYmdsg zQQc5cktFV+Txs;|wRoK*jg#~BqO28Q9vwLCFOecf;f^b>^6cIAjq>NUE8MAF7jR9C z+U=zWpv}L)CQ10g>npe*&2kP91|XoC3lNm;Ck$<5VZpp*lAT+<3-;G1Ft7ys1Cr z*XR7&?s)iKuVONf{rEKS`;?{a8$K}oyr`SzNRSJcg?DuCG8(E10YjKmVSIUJ$xg(! z8q{U@pcnJ^4R1U9ge67R;{7^3#t$3NB8FZ3Fhs z38Akqyw<-7Ci?^tNUZsZ+=|Ue+NZ|3Taq&Q47>HTh9$ zNNC=7|MgHSh2yi+BmBm^e6{K*Fabcn0{oryX5M5LG?*La?#^y}dXojAnoh`+n@v?> zfwOGdNF=)UL{Y%}rdyIgyU`HbE8*Jayzfyf%S}J`?3A8R@B2fQ; z?nG!wO%Qdo@c%NinJm(l#_^OOgzIdA?Ti3phlyywybTzHcM|iw>cnAnA1NcJYUVBL zWG8t{jcI}yz7H&Pp6b0BzVVpHm;xhWA=h8p$nVzCnc=iT?7&a!_xD$RD^@{_agW7% z_c_!>*@Hqy_7y9)k^&{HfbZnOeE$!&F+t z?;GbmY`z-fZ+x+2nIHqGAX7->Lmbf9g{lN_suqUZ?BAz%bkyv3w|%f^9i-;&G)`0j z=S$3nIbmFF!6nL$AP-ZeK%EYGXtwT@f16qn%CSmqu2QX7SWxO0Wc!xmZ8QQ;0QX9@ zM>hGI2RIegqcv_cze4E}qU?986)(-LG&bv-29u%2N?8U19vXwZmD)Pc?EU6<;EpC? zzqPSer8V|VSBKKKv@Ce~1({m2Z~BPnkOMKmB!o}hkX7_>rOcQSsr{?)0)IJNib-gp9lMBUxvA*;RBx zn?;LDYUG{f$Ja@$VD3aF zLH2H?XnwWX9&6FMeY(&V)+)7o7@l=KCi{7c-7l z{d9^rigFe(YT7PY{v={RiVVEslPu+KaGyJREJkYB>(pppK~NF3!neSQi~C2%2aG-v zV%*)Bp0lJwE+l^|GvT}MV&J#UGy*QEq%;oY@Up+&$FTjWB9w)4fgv7Z?2mK~&n?fk z8nbLvw~fkkM_U;FnhSyJL2;arV_ z*}YGi^lTL5kKk>`^jmGFGhTS>{Rd9Hu8rz-2QiIpXe`_X0TQ4-28lOpe~t8f zI6snTovHEeSE+0l4}+EyurvP*SND(6`KBydbDF*36e{jT(z*b$K>lGQe_i*G<1!|v zzHxZzKcGLrYX4V@TLLG50K&19lmEc!03Uh%vU-7cgk84*8u?0qD6H%;hKv zjmrY35?HW5Z92+eZjggx+6R8{9gRLiv(G1RIR`}o3CC-HkaIvF0hRuxC0gW1ObXCw z8gz!fxEeI-LX5`KeO@AwI2O3T`$6#RaS(|8w}C%#+~}f?3YZ%U$$rnF7kzh-jVC8) z035Kmf}EGHYL7%i%vWh46%~=!)Hh;QU1iBc2a11H4 zfd9h6xId{B_O)wGmbLF5=Hue??Ncekg=1h$v!}w|4Rzz^|Lr8SXTj-kn5j4 zrlL>uvasHYLdO8$(>weXXLJC9B3zIku+ zlWBp(Ck)5g%S!i)I_+;hJh|aJHvE=Xe$Q6x6;&Ce-7n#BGvjJ;LXAGGW~}N{QLXnNk$cCapTm`=4+>` zbWiC!Ri4WE@XQ7zj=mWf8wQy@ zr}~9SMNha&U&*S_rhSFdcg7Yj=y1|w#>^x<-@>ow_c2QJ-gjAJyTAop(n7;JnYg0f zE2)h+OR2kCC7iK_%KUF>3rhK&9)wKNeh!nEy~qW#PllS~QVx`Ae);u&N>6~`{w}Bggxi`@g-z1C2Av{ ztBB&N0|)xJnMxz~T4FfGz8#IOx<(sGtQjo&P)_}Own)!rLxqHe()r@9^fmcgy-enf z0+u9pbQYj{L|LpUe5@XC` zrn1hGZQnwH*;{gXv;#LA7Pxx{RD^7#8TDQb?l`gOK6z4hiMsTg*p?@t+0R(x-W)*( zOILp}MnMx6%mOMWl);d#Fdw;HlGLIY58DxYPW-O*NLH3Ue!r#g;UEvJ&^PFV#rkAT z4wtxgo7k%4aC6aSQ09~dGnIhm2O^XXZMJr0b;9Yb{`1~(xE_{b>6~O&j0WNxP;Bv8Kqd@{Y>^JT9 z@p$pP9xG*Wtm+5nP`)?9p(GOD$GsvajoBPJawmAfb=>!4g(;Yht1&p2b_@X`;c`ke3g;mhJ5daYcR zZ{PoNrVL-6`Y6ai7Pi73{R`gIz}+$QF8#UR!$vwQSo*H)i&t z|KRPdqpE77chR-Cn+8c~rBk|5>29S6Y%Z`1JeE z?~HN&xOa>@?mv3~W3ktKYrZp{`OGc4u|8%#0`9Rdlme-o1}&j0+YDGeKb9{%#agA$ z+bhs>Le``Xl8$wwVjm-MkP+}Fh2nHMc;aq@Dbq4mc#|lgKp@ITpv8I60unATEcGeI zGQfSzSibL}K|QXZ324YQmIrE)VK}#?bwEFU;qfrJJts=G32m#1ma8f5($%(HRY{>T zAEfGVH$a{4^6b8N7XK%uME~Gq2GLw+slEq87tT;X*e`D>$t_`{70gb5hkEsRrwRLdMvW z)0CQ@db0i!YvnulH2$!V{$0T9CByP3S&W0zkU1rrl40jZ8+2H#J4&JB3QwzOVI+2ooKb|igy^vJjA})&bUH%XN1cwI-CaOm_P|bX~>#qTMmJV2S zh+y-a2IWh$a3zMkMmcl*uI(5iLNN55Aa`iM|7~Ss3|;lu{OEAnFpOh-V%KqN#U3B` zD|Mo*S)$+6O!D+4c{`cuWvJT+=p5Sh1^(|UEDLfZj`Q-&Tpjl}%2F4vdJ6bUtS*Bk zp;=1d5yrCt=Dhq9-F$gHCZ$Df3&T05&YVJ8kN7EG_{4dl*t=utYeI?RC0uAPY2H3> zT`(!yr1k1q%UJ0%;0}i-eBMTdJ)u8e!jevsWBl{N62vPo>5geT(KWvwj4zX^kz{6U$XzIx zHsyN27K>8iA@AU3X`79 zi8UY{n}FOID=2s%?=!j^EKr1Mm-f1V!i@$S56ABki}e!^E@jrH>jXcakiR!sv_ zBo4GwHw5H6rt*p!#xrI(cPmJ<-_2GNd0IOlhG&JHi_CsOR#x&=NHoa=#OBRY@^Ld0 zRt}j|RPjU_Mae9gS%jG5$BoUxo|7S&L=KXoZJ1^zrYS&D90%{cDfQEeaL5^YTu#WOr0;UxHgnpJGf&h!Zd4g#-h-iVt+abBIZ@bH)P zxDwD6cJ?iXTj8Ho%@v?BB#&lomJR^Jo2F~Gp*Q9n4lGoPE}=d|y+a9#Ulk3>ZPj&N zhP8z{JS?ewuK37lJd&lO*HYb~YJfO&WZhIRNqyn5*Kf|_wE{NyVW~8?J4A5@jHR2b z#9bzNEax}oJF17+$?Lnm%EL}Sk>gmQt@9&3XNSx^NY-JZKaQ|S1`%KcxL$%|oGy^i z8Bf(Gp*3tZ=aO#1_{r;X}lJ7ilo zozi#Lcem<-ojc_o#oKY1Vjj9UZes`E|B>nK?U5J0O?^;P`$}@ME!0o+Osvmni6XavioX)L#2}AUauR=3GD@a&>-$ zvB)*#E8nTo5Taq8a9iS}m?m+zR>QkR-uhK6*WD*zWRwsOI+^a?HqrBqGR)JI%Vw;9 zoL9z_OZhWJ_++4x}5hvr3D_0hx_CIf@pR-1e+4UQnmP z_C=wLjrAFC1FdBx`LN}$NggbVV#yz5Qh&Rh49ypKUR7<5)av%Wk-ue^rf<_AcG%BF znp9>7oxX_l^VJ^hLC!CtCPCW=2!~uJYW+{@U&DHKy;K3#^3> znfgr1r11|^T_9O|Tnh%^8Ook8?=~2d2R_?KXVbe}ya!J5$YSjRqM*cDr8rAddxVdeisAsz!Kptd|w0b6TAmapfoF|!5Ov)@5764tRQh#UYV+r z)a!kln@~FyQmtUY(@I_MqXQa7G*`jca53RfGW^dYs#gWcnVgB;8&61^ni%tY53#`r*?J6ZZ&1jA`qb)3{$?DKloShv9Du9smh9adTsL!nDaxiAj=h@P#k zgyN`xTBjpY*kCEzj1A#+Okt`jfKtI>Oh%--<>G!oUd5a91TB4haF|VPTv4MCHkfNc z-`B#MeKttR>GpQjpH3FCt)|4~>I|x-nTPC`xV&T0)r-1FgRWdU58J=8K8s!R?R6KX zgwsWpV(LY?Dky5*6FUtqcwt-IO`H&%J5WCkUVwYNVHBN69QixU{o_5~E*m{f%L8_{ z{e`SU+RaW#U492*4H|B5xBKV{D`vcPdphEsrQ$nW<`b>66EbE`fbewd%{09tDyk+O zrqDG-PVWBp*vzI0nsA7r5{#b-Bn8J}2C{GQ>pH1m$I^!{pX%zVhlHKib_ zBK%QDee>>xnaziB*lbK0hSA4Ix;(KXEbwwl&W(_33rGs>GFnZLZ)_8_Ne)<}x0&N( z7x~aUBxcSTyo!KFiooTlhFrjc?&wJ13oouDiMG)qej(zvnTYcAwpY|t0Wv2buTpf} zbyl1C6M6eI&Y_qr`)+~p7%B{bWO>@w%IN7+Uv+)f06>@DSg+4`Z>m-MIr*#PlQM$> zdmm+9n^EEZvS>h=nauVRwMCu{9bB2$Gy-TZH{8>~ZI1z|b(Fv2xLJY=(I{*cg=Ifl z=*a-#N$bs;_6yPXQcpfn69I1#RckI8)wQ{4jaa~D;O)f zddenT02aw@518ANWlBr2yNsfjCZ2~Rrnq8I1$tpoB)pOZ zN-H2c5iJ^P$ZA%A4!|9@<5T)rylH(rB`k2E$aJ&#i8g0k+t;wTFeDOHF_5hh1Z>8^ zGQP`S3rbKdI7k3_6N7?XJe4+Ol@C2n17+Ts#8zA2F_A1N6jx@&-6TW<(wNYM(W(W@ zViG!d?yg12N3rM!{UI{qKq083R==ffQwy~_epJhzDLVG#xBgP+$Sw{EC+l2kp z@$PC@EtyT4ncE$m)<_b(2k2MQ`*VCe3l>WGU=qF zoFrSeIMa_DX?N6ua+E-lqZ%`OFh~_%L3}t6Oo)ITM6`9h+qwSvl;O1v3*p>aSmUHO zzqR7}M0k7Sq_&ecy8e0GX@0H%3*Z^X|NX5 zZvD_sX~oRj`N4M_oWkAkV^4OfFCNhqT_bXUOIoz-v*e(PZxlt#;n4Nxpb5m&t4;UL zR~3;oNst(okPL)BMK!AIN)KNUKute4qt{^R2D!QqArKZFeZ`U$Ch?zMsOe6Ue=TjV z3e4IEnv2B7eIss-E-;{||z&To%YIQHEX?X~EPY4d*+#{rAI5GB8yU<# ziCk|*B{J|wfw4MieG+r` zk9EMbO*?3Z>i*E{AHY^cHwu}O3?UMgkbN;;rUS4tjDR0&_n_KbJ{iqQ-jD9-a@W-X z!Am_#Lxe6y!SjX^pU%%wmwe-E<){x2e47qTX;9v!=1g;lOtB%q8TRQXUooMJX*lW| zO2B7<7aVnEnLcN^R1yz~v4}=Paqebgh-%-N)as(e3-Vv>w8ZP$e$SlRNVEVB|p3p~h_0{zKzKw^zQ=IP^?pgM=4c;FpzO>_ty|<_chOSqL zL|=-v^6zKY-dL8k*J-4=i^y|eSj8Ed2)?qBh@4M5E8Wggd`e!SLTFBiC>XB^5GJic zHPUzcs);MAkrz1m0Y`L;-Y&le)hOk$PE~fJiT$OEW}fnpfx0$uDL1n?nUF-$r2{;) z1?TJybqM))r{_8|YRjI?27q3u(3qo{9n?xNu^;@P_z3nwE1I!>fUx7XCdaRVWrmGA zd!@jhTbLwfh-V|zLyyWzsO3V)nTy$F{i4drE{o+sJwt;Pa8?)ZVv)uzQ!^>3wd37x z)!Rjg7?DpVonbKEDpyVP&U}fuz_v94QIE;MP2o25Ti9|6RwKkn1l~g;*M4wG8fY)oOpnDkX_9{U@&A0G5+<3(nJI9O{(5sApIO zW1D4E!(A@RSM_Kf2BDtCvl-M51;=vAkEU6lJYruk`>Yp*mBqP14`%|S^BQYP5*mTN z-b}_c+w@cHF^U0KPre4pL(1)blvGcj*%k|&Nw2ROgYx+KxEsR^yH}7Lq_>-=C2KuTqa1K2(;|-A{%u_=Bq5?Pa5+ns@rv!yB4lP4#wu z$U&rr>75%3LwZwFU&=0tBW<6LsZW?GuJCU|GBm7V%ZDm*PU@1_WMliVM2k4x@hRD9 zZj+1?XMTv8&*$sU*L|zrpD-JEj(+o0=9v07gCU5at`R#1IkV!TM60=Be{VLULwc6{ zFkI7xH@rBmdiSVINSDmuJmsfVw)h=7srjT^_`+6%qME%9pkKLkC64B$p(bQ&>;g%) zX@3d0*jZExkNZwAXj%VqfiNU#Yd%WW*3RPK^A^?&0J2HLHb5`E+4oIRpzYnxXOpA+ zM@tX*aBxmd@aufM2BIYl=RH}3JM$}}-B>JX6lEtDk4)?RqskLk(i1Qy>(P2_i|<(U+v?Pz?#w;xzv2(s0Z=(L@toExbu31 zJ@xxf;~`WIn{4nnJL36)PpQ0w`szA})#wfCf3BqhQE*Yg^xG^0lfr$?A72l8JE)H?6dancb}c7n^L#;R)9rlL$O#@F5TcI&N$IB|UDDad=Hr+;P9Ez4YSZbB&Q(k=|M1kp z_Fd5y&9eH;_j4s*dnU1f54hMhW|fo-?ehJ6lFklp(>t(xDl?eDxS8+$vis!+2nl0g z_-U8idJ58cfbW2MXkGxRZrZDICL}Z~e=BOh1S#mk-encRZq|2MMUWWdA08DDdhP{) zkSFCL5IOGnM@TT4{QpB`#N)tL&TZ~k@dl7F{!TC|IGa0Pn$Rzy-e}(x#50} z%J;3-QWmjpbDB9bRj(9UEUDBFcCUP&#r38Z7LokP(-xaSLUFlKLR?s@4*9EEvwoBx zLt_9@Un$xB0t3bL(|lzA528 z=DlM&16KrO&FL{s!3hdPK|yDrgC6Z1l%P^AZ(B3V>bCzp^zr>Ydd!-;E8F#;k=%~4 zw2()(cB=XKg^K+GcjQDyq5+?Wns9$*e&wP+y3y0e2&+@9VPdeJSx!~I&um)O$W>Ta z-n_1#7D_-oYVq?|D%<|Y9%>bWtbmo7Nu$Ni|)m|1ovP7U+o$hk*5iSPc5B^3uk zPUpMCGDW$dm^oa?cUt%;8d$xMn-PXN84}RJ3zki?ivdEpy6KnMZ)1ov|JEa<*h99% z&A2n|vHTTTkZHacnepVuYCp>%flH zRf-h-GSfjKc$~5-7WGdFHXkiJ@Q{8g%!>ZRbm18KooEXa$!xDiJ&V0+mdGZsOq}(Q z&i|9B!fA}%j8d5IBh2#SuPI0z(xjf0yVf#lE>+V_jc?6p#XHw9f+PJv#a!LJ z&jZ%6Vp2R&Z!o|Dq9cl!1G+Q{t%jRg#fBl_MQ#Ju3(F!-SNy zabb~^FYSU!m}WL<8?FqEnG@k9_FN;`2c%8++(8K3R>&P?ME6=<7%pD|_nf3WQ zO)akdX$O@j7D=OM?StrlBn$a_UzSL}7`*@822Hm;&O#iDCIhA5p8vQB?g+X zLtk#hukP;BEbmy=dcB^Ak3C)Or)Sfr|7ygS`e%Y^+h?Y~xF%}?L}hlDI(^G_VKh46 zRv4f?|06X#TGWxTd1o-!OF!`O*ekG+VrlL3x)>tSr|L6h^eLB*PH2G%J@ubP*jwg~a<)u;;IHu)?Rjp^tv8$p46JlAlwaT50PVlJU~x8FojV~lBdq%`lgzY?NGrhitnp=qoi!k z3qS%_zD{KDAxKiroP&c1HEgGqk)y2B`dY^L$l7izS+NGJQyf>MtJ(#twcZbatUCXI zsd&)S$@K)2ary~}s0kvw2U*>W=BW-S^Rt-7I*^L(yUjjQ>&H_0q7+);e27+BNuh?{ z6sQ*{FEOYIMgzeFF^baF!{5+*E69+Z;~L4t26e2Qbi5kJl7%Q*L+afPQ0d^}c_2C7 zT9A_#p{$wSmf8b+hA`dZm02g{37axjYv1G1#p5yX(9P-b_!uP#!Z@=;YwI(0A6JVbiVU8Gd_F zG$X}HY<9^yO?n%zPo9UIST-os$WG&2Y23_l%=d$|^qA-O){69cm|(?*`1O1Sr9zK| z$SBN(&YqMhgB<$2YF&kw&Ye(qq5mOqlEQJ-?Be{WgZ?}Njhs7cr=T|mv-qGFfw{mO(=6R(Q%Kq>!M_|`-7L@qd@wYo(ODe{2-^pEBSW}&(Q$NDypRdH27 zsltM}#!Z9}GQ0fWNh$=~!K89zcm|9EmvV>6T!8tK$~y3eQdE0DXmO2=6xWZsWe^R| zqzX(~Ecb1X#T*t8gVKGF<#$AX#3RYL0-l%t=npA6!AB`k>P=tVstmVmCwsPv+nfcg z`~l@BvEWpt^>nf+$Ij0Yk5;YorwTTKZneC_T!an~BKSWh>u8rf#kznIl5(n$(@iqM z{_}$l`;#m)+LUr?PGB!KSOrgl{&;Ze z5E2J3{rdx#Ir5xxj~rs;Y(26|`ehb)=Chh{Rb?u;Zj;dYym;)5`X0KVoP*U{5np03 zKoSqGT-pCP25KyD-8gYCPN;x9=`o-adS=d&7r|qzpz%twDO&Se0gM@rR>`}>c9=yB zv5T)wSmdk|uK1ncH>w0^ypvf)UTE~ZXG5G|!HP)|$^;3`-_~g%V9;e@r~2?Vk>N{$ z_oJ>SU#ztGehP?sWnz`f1}u9OAD^{JY39C^xTOR@n) zy6_!a5LN{mQIKc#^hTW7+_5DMpw(DddmEHPg=f;=+Acm`QLLiKgy%@`4s^oJ{ACk} ze<>m4Uit5^JV1Rw1CP!MD*Sw&vPU_^7*4y&uV`uirI@phYdJ5fDLuZfTB+(D z$@4V^7^c}WRVJ|IpgVgNB+nZH$}80>9^Kb2cF6-#bPxQj*Ug0TZkNv9&N4BO_+3%D zn}|lmQ|5OS(OFVi>`#v&XXsY zr%#CO$R6imQ_lIA74wU}ldJi9;#-Ta1}&vS%ZfNl3&%qCU;ZVXV}DO<_{SPFTj43n zr8rlG&JjeBC+hivQQZbYRSa+a(L+qhcFBkINwNwHl*y_BwgjTWIIgr=bdd=?auErA zXUTsYNkO{#M{<5Wmax529(UwXMrV>Y9B?zZ;iu9bBW zT#Lbzx2BZvY8Yr!!uEe*7&!{sZJVuG=Eihi}nya1k0HEDqX39e#%aVV<(~l{F2CSrVZ_W>9fjSvOwP88o0}{ zn6Q%zR}M&wGt_58XOyza9}hO2B<}^o9ju3$j%57q;_BhEru30qc3DbjqI-Q?Wwo0HE<^s4RG+voG@KhBW1kdM%11sliS5G>HfDGfvi zIhIPrOqZm%9wz?8er7%`{i6iYPsd(O(ZL=2iy>x@-B!@(kBveJ&yfNk-~Kpz|5#;z z5a$1QF#iH<|35CTzC+vo=PLc*e)`XS`VW};f51Th66S$x{Qu@B@Bsfab*@S(afT}+@-`wQ!;eRga7}O#iXSyIN{~y+ zN6Zk{SyU|)y<2-*t~0(*NqWr53#`n)z0%^skx}iagzfZ{eJ|67 zI)HpDw?+T{L(j6SErD`xpeyNCI{o?zmxU65CmjR{i@2?;L^mG&R42!!+4(~~8%bWyI zNcVSjL7?R*rjrUp5qG$~jbSN+I7pIl%a!@kf_EY`o)hX-;6_Em|vCRAxJRZ|Jeqg>?MmeOn70MAP*hZz*^!c(36= zXVrk^ybYHr9nR7KZ(&(k{8)OtZh3Q)qkP_4w4jPII$UEGuo$)H`0R=Q8#0?{?;gfI zcVhK-Q9*(6db4k+!q24^gv?nE0Cq8vxiam+fy;wAVpe$|?50B(-f`ydES`Ooc^_vi z%#j_!!-IRcT=tO7Pe9r>2-bSQS``xSCFO%8D>|dvTjG0yBWjDbUfXa$wmqdr1g<^& z^P746(IRG##-OJ8LBl2J*&SWWU8n;Gr0#HYpy?$oV_1C&izFu6VTG&DlFsBlzxcZE zR(wCuo&~$D2788bFIy&-p3y*Mez1~QZRlyU6-XfTTVzDpMEYeC52}$xL7gL)S};KR z1UFmTuO%*0b6S|%i_sn5Zyc0|9lpwK@&FVn?zk$%Ka{^1-4ag#4N|}X2^D%1^CX}z zT;xrRQ20oq_Yq^b7ubdjq}_!k$hOwLJPJWKGKy*h^SqtfB(~60E{w%KZTCdokbR)Z0nk9;gD47>9-{Zrdfhj^6GrX@!;wLT=RgcQ%-(`Yzy6B5Bq04liVH}oy z!RyftI~QL|T7QvoDfLHjGf(6otw;OmoniE;0(C2?rtOhn#{rr&OOG2zvTJ9K=sLgE$AudIBFzK~ z@Y8GkEXK&5>a>=MH(6N90MQ0w*Y7bXx<6J8R09?cen+UULCP9faf%Y+a8#Tcg%A-M z$`97!V7;N>ee}ePW(dbmZ=t>p)_(c)-LnD7_3-UNB7AHv-F-H3Qgl?x*rqtbB|kz) zXj!5XW(k`F21hblz@>fmkp1sy-)xng4>uq0Lpzf+FKKY6q@PaB{TR{3ljofB^529_ zZd$5{(Wf6B5*WEoUkPH1*fztjtSpcNJU8t4g8h)tC`xET3MYN($8-+7)r5wLrpnw^bOEh4iB-h-{>+Cai;f_RWpE)6VF*#KOgjIg2zAj8FxQZ#x8y7RoCE) zE)B4P`;eAod2$}ifW#rhfVRu)=>Sh0gghQ%dl{Quzk2@*Y4ysdQ+GC(HGd2uhr=<) z5g8)kv$Gmwj1#HuruuE9Jr{p~ey=#pZy)WJP59(ZPI;`OSHqQ;M_pXu{*Wor(8c5> z3(;-BN`c4m+t@fM-0uu?NQ3337aNCfmTM+E?4G_FvLAm~I=&TKad1U*qPtU80G6}g zZK5N+#vmSVnt~2zf(8(+tDlW`w6S&c+iuu7QSAx+WhI>h>Rw=1yUH4ZtcsV7M@1vF zaDWRlloaR9tbJ{nICN6>DvpEbxYI!m9v1&<6r{~hH8(mUBMa;M2x6-^ofDXv=;4XT zcygOt+FO>`kn&i{%+0R@&%gXL8}xAdEV{?NbtF)2PbeeHN3=MnvPDf9=(k) zif=JXGxCGvgd1eh>{ie-#lkBw{j(`I*7*}ik9fb5&$s!bpfZTB)6!7PY$rcd0Yb*75#d*8oPbUm=~v=$y$%~WIC`lq}H$1W+N+2h@@zaGdR$!%(CI@7rv8QBr?8ElY5gwfZhMcgP~wzW0n)UgWXH$D!1|k7Q(- zbPLsk(!%tE>geWoSCa=vq?jhq73!8zE|1O znu$Rq-21JnlwWD6a5{t%Hdwo?A1d6mzqD+&Dabm5bRrg}G!*+?Md`qoV$@?RZHTDB zm4RvP7;GcL0N=D9|0RPb=i?o*wdPh_8QOg!v1d*4pm=$xy3#m3};|a zvipTlWmx7>NNCEw=A=t!*t95fzUS<7FIt(d7|n>8QLE{N=PAg=cH<2eoc(aSIq&uM zSZXQ25q+7zzRcd5ldfqVBES;mon`V)j!?9>Q%Zd6QIOjP#RH}MrhUjubN#}|YRcD+ zL)wD}f9y8)bQN{1bswN8Kf`k4f}*Yv8!QD?28)i_ z!33R1noeQclq1+J$=hQ71E(oBXIj11K)I2N^7AhvCjwo+v1F}!3r|ld@uP${8FY!7 zdcB|7PMU^ds3a$U4+va|4VX_GpodR~lA{wQ(PH6Ng>fIsm-5_yII;vPwfIn;(jeas zH!wyRyP+-u+8tkEENHZCl{hhU#ps|N0fKyTg>MoA)s4v87(rr~Y`~Xt;OJql{OG>0 zDuvzk68AaZN2yK!!pE~<5Axh;3K!)pFz!-kdC3UsoY8Nf*&e*Yy4Mkr$g= zA2Yo2Vc9T~R_~xvwjxv(JC85lb~~o$kH#o~9~|VC&Tpz69>!HpD%#D)q!6X0C?+j% z>J-Cr1AN6)!oz~bhlLyZ1Qht!8{Z0>WDdBkc&cG=SbF-}_?en%V^8QV1vNx579N)s zeLiGabi@>FMPU@<;}kahbov~1@jVEH4pV@r`yR{sC0vV^&p%-q*3t~Cp3)sd;Yc1F z_o3yx5tA+yqQl&EU;0hDy(KYk8|fe)@j&&Zo_jDb?M}XopJtVJ*-H!m;IB&eN*8QY z)L#kQ?8a!gzKbM$Q`V`>7f8|@{5+#EQs-7&Wp3qLG)(zK0Pli>BPVh}4B)ML@mmt< z`L*uZ002$f0qy?wp+t_XHD`j8J_u?*6-Bk`N%8 zHlSylM`Lao{CGh}#@|pZMcm2QR(ba2iSDX7L0+Dh>*q1b!=9hKU>t3v9%<$QrgNG@ zP(DyWF)-4>2Hfxcf$7(FLF+ztLBOWe>u|s~6a&;bb{LECN51EH zYse{t2E*7#@i?OVkfUi!^pjfUNBWK)E44VHeA&Sq`32))yO|gUjqE*(-33en1~CAs zOmyX{v`l;Zip5>A>AAKd@hDycwYG_-R!zNxJSlJkC{)R0FN0Cz

75H&}x8vf$`ha0koM&&pm3Wudxj#f6DOFaT@b3;oV(mP!nw@0Sx& zez$0=DuFDp!8iJ6U;kMRcclHxjP|#X#Q=oxz=8w-G9+hXU&I$)ub1>tUtd#f;I$z= zchqh8j%Kv#j}cKu(Vgn0-dz7i4m4C*XdX?$BF%H3Rqc(qVxBxKbH4snS4z>DWvB#% zCFc@t2^OX){v^8x2;@UMJKmmC2na5^?yIyXE>gnzAisoeS~F$37s&~kDAbFxMinUy zVojg9i5Z?oV^9c9oah#fcfOHg**ixe5|)2JD4K0c-661C5jvOyj>VMT^>`X5U_M0- z(BVwA-o1D+?(Cx}?nr1z3Rc|Xi%Jl7#{cuSuT)^qm~~3HGaoDYamlDXugv$6jFeSn zqRB{KHHw#!%fN7DL!jGq%4?t<72J&XkQIW=f?M zYE$}gN|aY}{nYT+lfN3l0e7yvk62fbyKwOARR=_HT_9y>;d{?-6@^ss2c{+{EIr$n z&xXPCo&e;rL>3JpV=7~Bk6cA43sT~Ub_tMW?`1};H&L|D5p9rV7CnFOb)^l)L{r1| z#I>%CHt`GPczekAN)Ci5M$00XKB6so#l`5MKziqm9Zl$}_k%n!Hwf61N5ZFy*$gT} z8#F2?4{u-h*JpXCs5wL1s**dINn$zH@v2FL46vg zGc48J05vg=ef~#JF3H>rO=wYu3sPwmKHv3 zhoFW98o(D@Tf6|@>yQye1P(%i_WZ3eGyhBo#iQXYvO7luwhxDXn}&O`i}oTzm7g{7 z9s%V(6JXCYiBJabYV2<**JlS`cEEyh(4>!}g?rN``29eGG9>$PA%U)n3S=`u=&nM*8r3^*AZZPHz7oGTFGIs2uyHlcfmLk(2ESkZY+*47nm}0{k_GOroYgRQyfuy$^=8- z^N~wp4CEA}GgOYfTe(}w+rPmbkfY2Lb$_ABk0KYb*!pAHZx3u-xC^<9VS)k0bS1#= z{IxJ4<^|+kbf?x;%VovxpPu%2>do7d0CBrGVnsznobt@$X7AGQ=HrVy)$|Wy1Iz^u zqU|r-UW-U#?o&O1zKd>?z`ebU@ZOF9)c63jYn?pdZo*->{@Agmxy%P9~ z`gn-6FLHCJg8c=)NV~bvB67Xv2L>qtaMeOUxyd*%AUA8bpODXP;yY209}I~2Fo}G} zz8&yOg2L~!BJS1D}7H%|sR4II~(|T{wQSRsg?!p1e z&`t@sB4lC0<7}lz>oy<@=lP4P-86%StKVO4n68uj?3DhU79$A66%}&hw|#Bzq&Jbc z79yQ(nyfCiE6VyDqQw0A6FHniERr=&@&z73;B7ax;-_HZcSzAvdN9d&Vm!v~_a^>% zt_Sx-4n9{8ozbfEqE+36&Aqy6b|uAIfJ z+**qAuiZL>Qv)y4<@W@12P?P98>k3hJu=$2X=#>11GO$|eqC3OfVzO*4@XVt|4BQA zv-tVxo@Eny8Spf%$YLSBsr13Ue_Uq}a)bx{hPi)zx^O#n`|v)hd-e5o=uO5v)BQix zC?KT|hEXog;w6Rm{?bQBZ~o+S=4UwDJcpMy^p|t|!dLtL*z-lgz~6u=3l-e`UY7UK zPzQzI725KMil5l|3cKGq$%e5==vgFDiE9Ia>;6tdhLhwrzqZLe((72$ zCeJkAZa=JzqGcJ11H(SmKb@&S)=*mb362pja_58MPKbgPB`{`mL#VSIv0-R_n@|1k zn+xb+R-A}obVl0eWugg`lfkDcp9f19AGjzbh_x_3Hx?#nCa zy`R*@YwUl&jfDZ81WBquw4qzMi6$faA~V3oCg&~NHZ4m;7_LXQ{C56*vOp8qp%OJE zP3I7`#d*$5`C63jZ4z=Ew;0gvnU?D-ev@_Wd_B_QmvlQt55yga{5i>s7MO#0u+a?o zFhmKh+=dcJ7Q5uVP_GhsaQCd&%h+UukE{AvWmi+i*?n za!50zEzh#$q(|M(PyDuW^It`hVK8w%B62;F_WUN`=9WThys7)Y0S7>)35v__ z#kqUY8N6KE8*swS8L| zrssY=^X~Sq{>5L%>tf~r29j4>70nH7yaJsiKs#@lbg=dDt={}qHZ%p z4R$ z_1B+X9FC zGt|V?Lje-ng2KU^FrZe%i-xzq2=(u86GQ4(zWKTTJO2)HKq92^@X0UiZ4O9%#Ztme z#kJhuDXF4`S2;G_zr6QU1#r~B{CB3RnBk6BsNE3v3}8Nw;O6f_g6PB$2(F69$peuw4T>V!5lH%{MT%czY`y#~{uzk&`1(UxAFB^t4XNdTY zgV6hPA0c+|L`VJLFR9^Ge_uXB1NTE80P3Uw$A1SZ0W82R;Bz$pJ)?oXm~0NiL83I` zM_VlH1AqH_yRiUJ_bOoiFE~$=0qzLu#FJoPemVwdMEkR%k^s*38%X`%^(~MG6qqQX zaHCW3oAQt%uUG%xwji}^o#B5nbIgN#2cBSYVU5@IM2GZuaF}C{`)i{9T~R$>Tae$eLO&Z z^@GUwHW3{vusm!f>ktpP*XYl;wtS~HOgr`bN z`+sCwY~@2U^6z>4h!LWnm7}7`3LpAF@9lDDXq?IcewZyl-OIbFRzP3e^LeYL1L&=^ zyeEwBX($$guDkJSBRL(v8E)LW5_Qc0d8a?#g$kW!kZ@iaA$GyzdUtJ~X)O8OuG(r~ zENPSK-f2@M34|O+p1zY^ae!s&qTC$j_wAsV1Jz9nrns68{7!^Yif~HRwl$g*n70H}a&T8I`|K+9Go> z%Q^VwUjrz6oF^6?j^wq}oG9_^H|VV%Xh4BKdH6va&>Hy&jbtD7KDGr(G?Z!d`PGV; z{hx+a&j#o<{(4l2W)y{uPuDzE|ggC+B3TASG_+Vy@8}-6|ws>HJ&DYCS&A0QPa7^ z)6FB*FvHnISVRSDD7qsa4ScD`EmCoQcJ}Jk{o{Ay5-*i#j!>yY{rRcjCO;RNoEd>! zM!1q(yJSws%J1MngZcb&``j0?R=ssEQ>|&92o$0%!sbj=1_=isAPn<$J~Ah_1Lsnt z8}(6e!K-L=Cen}mjC;0HRibx$VF6S(Z;bUuK7xDKmTa&i`Bl=wjRBDWZ z!$+`vTSFny!oA!KXyhi+;2f<~!Kb31^y>t3Uk)8uQMTM_zCVU!-HsHO>sA2D3D@a* zZI4}HT=dno=}|rHO9qJy|A5`UgDiKy%$g659bG?riK+Y!Pu+SVl4~!rFulK0l%i19 z;gU(?YWMN!Q;SFP*j4s73ZZ%Ao*+WCRK<;f@D)vYPA)ng#{)%``2SLt%+@t?9E zAWvA|&;+70nL&x&Qd6{4f#_8m8YQ*}bJ!@?m{e%XRBMZ7jNjc6!&U}v;qv2xUMomt z#fL7xr$jB+YL1Vz8r8ju514%}X5+EPeWujg9r?U-D^C={x;J&Vw#X(%u#U1K__K~( z#>Ylozw-ziw4^BSq+H6gdKtJli8eYlhKm&C?qnssZj}D<4*q^z_k3HyrI-@ci1Shg zNW=Yk`rf}18rgRYp0u~s(mp70dk-~VecRzjbo1+ne@+F@dWLgqy^OxO^wToZ&?%Hi zL&UOuB7*;J@0^LkICN>@8!bP|A31h|?Hsea`IveO99}iNu)8W%uV#O&V5`mP?ki?9 z+nk~VY^^j_`~YOOMw_{i&%@YB*}Zk}5y;N-Nwpt}$obf@PS(uCP}7a!DGQg=gfORy z<`siqhex`h@q|(z+(p@cL|#KtJd%kcMlPJ`ken(;R#Jyr0^?#ugONBy1}SR?c={IW zK%ENl26uHo8=O5s*F7OekIcrV@#t&PbW3ml=EklY%2egr8Epf*^U%|)>c+!nf8Jw5 zYctF9U=09!Vzk0{c{V~(jjjdWkkvCrIwb#w>5czsi`iguOC9SHU5_v z68$@CD;$`U2u8XCyy>=r6>Skn`%<+yO!$)#7xIi9iKE-D*ccz0kP|hO82ea1bcW@ZJrZI(nA{qvlG@4Od=XEU>d)L7`An;|&(Gx1mXL;}6W8 z_s7TNGo#kqz4sN!bS+Vh`oyvwTu@dTUugVn7WZMHPf%lE8XbGqzH-2cdy|=25Sv+F z>u;+Gdj8F*>DKT!kWLGjQ$mmSJe|c_u2ovfJ*(Xbx&jALS!0EoHt!IalbhH{^mmGW zEe5zgncmSi+B;X3A^{+kq7r1bsc;$I@bK6p`pU2>x~T0r z2ar;vK|w%Ly1S81>28n^knT7l2-4jG(p}OaN0jdFkd*GOZ+IS`_kDkSf4I12=Ioih z_srgF-RoZWvUYN`*!!f1VF+U9mRmQ({G_*TRmH!TxF>QiTv#p4F7@}q5VFa?-qd5m zPus?i1r9Xd#DFOn*P1{)MCfR|+?E&01HbK6LF#*Kr(6y#+bDJh3tNY#FRRRtK$D!C zo;PM~(7dh2io=DQRZAE+%P`A>9yH1l0uG${*@vc$)r3d60rEq?YBjF@6h*Z&jS}69 z>@g^IE_;4l_b5~(iDT;28&c`jrT72j{ra{-Ls;(}3R$Q^MEd^LPD#z%1PC~9Xqg-$ zP4~7Y7-SiV1e|idh3*ZPDa{IRFYQ#g?3C$0@KAn`LpO@up|95o2V7GWKo;A>BdjAG zoJ}CI6rCCmqY0SZN_y?o@)ZHr-dV#EiDjgp9b7a%85$ieB zUCS0rFm-$&OR3i~8lZD{7uEfn;JcZDv<<&zzUG}H>U(EM8l(BLA2jiWB@mZB_qu!lF5tzRZrl-OqXOr@YZNkeX8 z5_;oZUUm$CHL%EGhWJpP9uvRQ(hVtXenKjjhWFlUy)GSkuU`Yx0c}6MO^jY3+WVm| z&0>m}!v<|s02j4fW*nx($(4}=k6yRRcClug*S#_7fTm&2_1X(0`{)d59Ff|AiprBN zXH>}Q{QZ=`uWg%sPv2oC@5FzWSpz^DvBGz332A;4?GteK;SEnI4SFi6mZ2!nN=ZtB zALP^h>Q9Z->3|@0+vmQsdH}z`VB+(uRf2yMnvH0Sa75lGP7l4$izV3hMCK@$Lt}oY z;sjBEnEn1ykPVb6a%&;l&#Z({YsR;x`PcF8EH#2Jn2i{S*~ zKG#}62JODzpv_v^<>m)eub_?GRrs%wmd70X!y0k#SdprTM}Kb6;2%glSSmue5IxO) z!-9Rz^j=zsUL~558p;yP%G5Br(PGDj0Q{Q5zqXQZNl-s2ybcj~a(jMQJ##772;{{x z91V;<86rbj62gO*ClbKR_mh-<<`^)sEjhLXGlT0FqP+#`5=;S@-XaP|QYXnuW6DRY z_)$RYA$n%}8;>%Pq_~h*Ysk$N8{T;jE4`;r^fkqT^R0XRjI1m$W$KKt5Mp$@45=Re zm?&weWoSH##E-sh^*u>%Ub6zfO9&rccm54{3nDqLG^j>ukpOuWGT5Iz7Kj<|_{Y-_ z>V^A;JYSx3s4DNmY(uv_ADA#46Mf~hXz8Qp;$v3@N?B_m9vImw%>V9Gb70+nCOxbj~>U-#Cg~0c3ubyInr&XNPkKbjQu7}L<}q_0ehzAIGAt`Ee^02^Z|=Ck&(GiV3;zmcXtsxB20O0= z>_h-JWQ0@6afe=x1&oJ@%tu`sA1Es;`_tgGF(}N9VBquaLWROUSYfje$=8Y@&9%9 z{!i-N|8PeuGLQ~--N;}@%&1F`{&hqvs(`!hh>K;R$!QOaE9k>w3$7#AV8s;JzYw#~ zE6CghY6)bA7UE6xFQfx{4A-*2;$I9pfdF3jzjqh}E6)6%TZ66qMVBE{csCD4uE8nQ z3J30J!4|0?bANB5fe8mS(f?k%1H#2GCcvlo+Y`W*M)>b_U|at&aV_@|z*2&L(?)!# zVEZEfdkzJ@2foPQLp}5bY~??$su=J?(V{Bb&-@)o{QI~6U~)`RHVYR|zA!0izwO4R zR9Dwq*K;hkzdUzP81A}<=cVYa$5R<$P%S_k%;MK=_@~GZ=%Yd{Rl^SFel}g8y$pQ8 z4BI8gedSo5PYT92{Cy9}<|mj92*2nB{X33(2oOD)!Fi?oW1RaQ41BoW@W-Ay4z5}s z3Wmp$^@rgX9XWu(eEPA_#<3HmS#3`dEUzVl-Ox$?7tdcR14}J*O<%j8@rnh<8sTe@ zL;(pc5h32mPm2oU>S=W8eq^S3yCpPND|~HT!Loob^!1k#LjS1Nos>+~=H3(j9YVX0 zfB~=9*-7C_C%^yh2d>4{+k~9rb9G?y`g5#KA#C!Nsj`3!_Nmuaa%-;%z#lQybUb6( zU7a#Zkzz;Bb{;&DzR#tntJju}JUfpp9CNUv#P;SJS?H^aP=Ta{RU=<_jxPLpf!6@+~`LU3*i<0yv-|oS>x{V9LOLVL|j=0zjR>TOwcQpA-;c4-$JZb>4 z%=I)`v=gLo`!r0?J>}xhgmb_i-siBANU4a}e2VCYl8X<<;x!G7C?3>w;7-gg!9^R4 zx$94kV=XTB99cd2i6=s*S8J)MvpJa-W*<)Q>(ikF7E-KnMQHSir`<`kSgCn8qtz zOn*G-@^{7+4vm$<^Br8`X!HWO6KS<5MvWhdh1Y0&m94+#{R(IQ#zk)U7KMR;@`EqF z@XE4ex!9Af5vqAwr%h!#y_0$4Q$|6j!1xn~L)8?DyUGT!vJ6CxDK25J?GdF|2gYYY zbiM_d zw%w~=y3>VIGy(>!h!uZJ^j+8^*$zn^{8q#*zseYw><_#Ue2CH0Y)ixm*XSBHz-JP&Jp8WXW2tygY3}CB{i?VWxB3 zVCAMEGLZ>)0PP#PsWo*iWE;XfyS@i+!!H%hhba~UQ@BySfU zHA_r7u5bHT$)fPZNIbFNabfM9^UD|H6wxc1nvSNcaT3658{5!$6yr?|A*umf5%wc< zf#Be4`RfKU<;fAmfutMg5lE;!mco=dff4sYY^JmbUn?6#e5g;_p0h zcl6}OFKuTi=M`jUM!n%CEO`Lkq4Lx9F)!W$1bd`q4q=r&Ia_O$Wc^Gy!)}bc9)bIi zidiYTr&%oCTih8al3x?b1U{HN8Vz-qX-Ds@e*0mUIhlsdcR@3F@W^Rr60ah| zpcGzIKFw@AV@+%tiLG@8j?*L)9%`no=hQ2#5DsbR4`R)1R|hdx>Mar{lXB5y6|?7~ z6rM?|CnI=NFt$q`^1FBlv*&Z|uA!0_rnh*Jly zDV)a2=mVYcYUxFw99?@gpJ!%dD4hceK&R^|Bg=LEN<&rDJ2A{US}Yh*YNQq#r)pB? zd&M-sO0{k1h7D&u9rasi4!1z{X!H}mOEdqJw#esqGLkFZr4)cdaMOQNBNp|ZNHtd4 zW7AQmoTVBGzX#e7G1V|t1E@7@hBcrQ0f!CKDSb8!JeHt6CvjK#ZJ7XQvS0hO_ zv;|wnI#Qh(4WvVB6`m5sJ36Q3`d#1(k@fUZo^lg`qL zF4x59OM|msKW`x_m`N37D*Cf6(ibmq1N$geFUIi_j!AGo5?7-b9d}J#tgglvTiqEx z`2-aGI!trX|6A^I2?5;iMQ8`K@yfT27uV^F#Ko#ZnpPQLu{T6t@TBcWvGf%mg$rzJ zmv*RK#QS(o705pxEOb{zj_t(CHZqGroXX)i)e|3+l)ly~D~K{5I$-`LD}iRzgk?-L zp1*f^vVqswONAdq6#ubb-@}&$n>QEHegK<^!#`b;q5nA}&iP?8$g;ubIT95Qje4>b zq>FS=?Vb^KVjol=PMkU`{X$N5{7>#TUu^ku-9;<>+f-BG;3%FtX)8@^5d)tQ=90;L z|6HrPMQGxbfPxUi-6-Qps7y+>BL*Bv0dT4<6Z^YcexZT|j`pZ)guUP0xSTwub@Z-! zqeg0UElY485q;<{Y@~+hOxVboRpSe0O=OTzqbp5sZ&$r~S=zZdqEc}3c*XNKG}Kd~ zLxUKR#gbN)Bw7OhQ6_S_LlI z9pHVyz}ru57R#LLLGIHsEd#85H(d`-?O)^9=!kkqH1;QpNna!cuxyj zlm8$!)j&ko7E&1#MRuC+ozEA332CPSLs=tK2=2QcA-ONXgWTv2yw(%W^p-dx*C#A^ z^z2tXClw$2yNn}(meT9Y2&b*C1|JpV>(k=HF|x76aNuv(*v7i}82W9{#&|RfzB-o> z+<2GG^SsQ?il6_s-I!tpO=7|q5!BHbLbL}9{~+6jdS9d=Rdl9E5wNADs^#ZxBsJ%- zE%Ya-E0^^hqMyf}!aj^LVidbP?W$3s5j>>&~TiYA$A*wJ0X8IIOrIk+$TXf7Y zSa;}be>ua!PN5%pp#W(A#38XYIqnyCs>eR$Qs%bKAmLhn1;e6%T80*E_GYg=I+Zt# z2C!|XM6<_SeyP0oO3Tr#e|s9Gr-Mk4k-*KzRJO{F#8Pj!Ua-3#Y$*8bHv*w1y07>z zglwb;ZUZW^(2v8m6vbXW=^Ud zRD3$X`~z@)RRJFz)Z%9^n|gX>OH}*NtWhIXbZ_zn^wcH7DMsFcla(P4WoN0^(E|<3MtB<(1TJli3oRJ6c!c} z&9ObhLmqJwo;&){EULOvdEj!*kN%>wU#(7gEhZ0?XYZl8HaU)%>wD|8L#ClV;KQjv zTnuWu40yLR1HLc*jjfe%K?#QutTj043r>fB^>RTt-nuBy_I|chZE9tCHR8Xnt@O^v z$ZUgW_F)iGYfy}I&Sp%v&h(U{H|rfMrK5oXUi783M(%9Vu;;1)lYT?U9|eN??RG*I z&XjQAXKY}lO}?owW#VRCatv+J=q?58A6_8Iq1eQEV&Z*s4ytE0xa#Y$*-c#`{f!P7 zlI8ft)NK4F+DNC)?;JIK`PEl#f}G+bWVtR5iZqkQq=3d+Jnpv>_ zOPPoKof*xgr^{e5DbnvNd}H4v^qTN*BTKwkpEwcUXq1&~Jo3pA%+d+kNDmjkSSlAM zw~23#SH@C!tfu4t9L(?fKe5IV6`-@d5icf6JjX$JF-k z#L+Yo3Q(EaWMfq>ccQ4XG#-x+^E$-~GFI`+)b(Pps{xmEJ{{%Kp3ZS{q`mVQoOys` zN$ayza>8H4@FH3&->o0F-|xgY__Bou>pWB5);j0?{sZ&mVYlI@fB0thTY>eP1fVZT zFYPt%Bg1%o2#o~kvI#^_nY97Ec_~it&F6vOBpx1u5udk;Ng1}DNuW21*Keh$ub)g5 z{m3lUgi9s`nP!v%f;Ugc2%}qS$Gw5!XAg1}M{E;J7eVwSkG)F0VC`2pOl+wq1 zC?A)>tPH7d#s6b=tO-}9Qh};sd$GG_%=$M9i)2Zw#CJH`?b`W4;nTD5wD@B0;PH*s zDrYW;-bODnjw6>Q158PmhPDSrFwaJK6!d6UHkKrwIzGLbt`1L<0!!mMjmTW%ErXwl zyg-^_+weco24*@pQbZOr=cij0aR~1}75A@fW5T^~;1(FZztLOo z<&hw14h=dkq|OZ~Bn1G*s31)mqJ7)i5eJvz5;`IP#&a^kr0i?+y##(n&HH%sJnt00 zZ-2(3y;8K+Q6exon|7*oey+GnMb3O>8F6X|eDQdKysRFMWKj*#9TpR^K5LcJ^hFe*!zzXtY|0l$0n zxS4XhR6vo#;|L@(WOc5|YH%JsN<0nu1W4+aNqBqx1Ka5UPT71`!xvN|!U2v-L-YO;8 zA)!H{uGqY$du>1yJbY6v_)^|bC*~{*qf;TW%)C+@9ph={8*MwYO>?ck^59ap7ZcV(S;}hE$*5&FBM{B6?R@CnQk;HQ-nmwTy5!F%JXPyq1}|6rDkm1 zCU&JvnzsjSDpjG+m&A}DHZDzkv2w@CjoUG|%VTufvl|5(Yz&Aj>v57d0m4?z>5L(6>f*2|-=*XBx|YQM3}%qDvVAJ1P? z5s07hFpHVUQEkVkd92`E0yWU$U`j}wp>b0x>f5(A=*R3EB($)G*MUzC{d3ZeXa#r$ zwN9TyyKW<&WtIXtS%7CYwLYlAEBPbvpbS;NJFlk1VPvWmOgSi<%8d6ck&TWkUlsiH zKEWE{8%wO2Dh5F=(1WsCJ^gy96zS#&eYD#w`_>bL%s{Nwzolc>hZ#1Aa(LY)stf7T zSO+jtU-IthA~eP*XiK5{`#!q{i1s4onMqN`wTkQr#VfSTFh(k*iUr4%PccxQzH2N` zBBGW&V1N+HV}u9yCLmQsh?RYC#vk5sX~_O1Ic7h&yu34<9RP!5x`-82g_RPJoX#<# zcAC?k%@Cw0&YaD(gh)CxBlMcqKmP8BkO$f~2qa^{TNWR6u!yt(X7r%8vEgovYknN4 zS3B5*2eD!0h&akhan_=Qh1z9zI#pKz)ZrMM?M@h=r||FB)iQ;m^L&W{{J2_Bm$D3y z^!6PY|H#(n*!D5ossjXi33T(G!`KyC04ITM2?I>oluXXuxm<+9*xh-=_Qj;h*Bbfh$sIZgl`A+>HKVL zTIc!0n~4IM``CxnMYe#1lF0-!^jc5e#S~dkZ12C`uL*vWX>;F3?jy%&V~U{8?s1Sc zJK<$J-hp(!ngcaY6V&wDc3%0|gLtQuIx+hT zUO8#Xw#Dm)=+O^n-?Dj8mVBsn4S;X|QuCJ5@kE;Xcj-VyTuxXBJ0ql!_&g2#n(k@G~h1ZdsuIIittuAzW>+ zx~CKjl2$$c=JqZ?_;HT;nU7t-`#)G-ech&O5G*c<%H--Vdxymod-U&j-a+*GeOt`% zFOtiD{!?+aego0|NC?&F2R2b^6B}3Zgc^gJc^@_^(Jm=5_ZhQ%#L3f$zQWI+w;Q4{ zpE1+G=szm4&p)RPX1$y&C(a*?+>Xby8p+`A|79JwR!jRMt)hb7WJM45ZZf$3P;NQX zVcj+*O4;~0!;WIrM%0E%kRs7j+Nm=A3wgfeXe`$9U}XrNCkPDR^kanO&|J$HN$6ei zVkgVzPi~Cdn!Qmn+c10O8ganS@HnQHm>dQ!nc%JuUrrj;`|9pH3nJ_!_bJ5OjHVHM z6YgbNz$nFSVi_)2W9D+s;l5Bbm-k`#jqbHX3E+Cc#N4;x&$X@?*jdbNH!VE~D|fSgpoAQ(Mst4-m`V zjOJqF9dX^Df7`5fQnN8i6Fs2wJpmrfT+^@qE>jUz*g zNh+X0_(GRi9s})b%FZFFCS3&^KI&EE)1DzE;~bhl`#i;AF9qEj8OMYRO?0=jcLOd4 zblSulQ0fX+WE(XGj&fG!xu)X|40ps?WJ=Sp!tcS?DbA#KM(TL#S}{{Cfiw!L_!9I0P# zJ*!qaX*4x7(hv{)k0^Xkt23U~i+I~on9SWa#ztfEcT%F-KcTNajz)*%5h>xx=M$^H zwZef%aV#g+(-dirb|UZY`AG2nmZPwmC#A?=(`F7)Mn)f4<2r(+;YxA|`GEy@!1;#O zgS20UWVyOj2j(IYTRqUM!GWsGDZsw4hifSS;_Cxes<6If-qJ_X87KYMYHSl+Ft__M%-FeB^KnP2bTI0LMpYF z3CMQzJ+k?*y>{r2EyAbK^5JnyZUn0Xl(gQPBUaT?JO^Q+=&Ya^a$J{Jf%v zIfEuvP)}8+Mcwlx<_wR0Na9Jp{(#5Ik4mne{v}YtCH}RP%VG+)OzOC}E5#2PnwHdp ztg}J9Sa?kvXcM15u(^1o@hj@MlaWdcsIhW|IAFELe(Kxr4EDlHf9tPHMrA>65F>aa z8CX8z<0C-(F3oTsGf4w~JyBO;8xLG(N1h=x0*WDZ-I!IbEB)app%~$oSO(!6g$+`Y z)S5QXq^6@ABT7eE)FpQh2r-r5Ry$1%W5_nhK`pf|rjs=Dk{s!6k#Q?uIU%zWGk+RDA_n};U z%+doXLh=ARxt@hN@w>FyAXY!ynC+2ZZ#tbXB{`#2u0|ul#fQj0mW{*gU8IYx=Xpum z8!2OR7$mt1Lub=ces(bNS+BoBZ{VnT!Ft$_eRLG<{Km|Y5t=mm)9yCMLhXQ~X_BK( zjNREH1oQkS>vANDzjs_N!POfOuKH#3MmX!WQ)l&+!z+5?N))4@g~RuK2~aL_#}9XR z=pRAui=?1fa>Dz?NPi8iO=?%m!w$usmIZ(rU`t8d1eIeJ7GErDevDqJ^rGw@=%lAza zq)xWKQt8h*<^g$wLX10frPFyYVYYXpXV2BMx#c7FZE>ord!|%=qUz{i9q~-QI;;_V zv4iqL*yYN`PaC49al^nX$R)(fd#R#xqHE_0;>0e|)e=BwDO4H^Nmb^;5EOsbFN5(e z|K=Ys5BJ|zmqe^g(E7oY_bmzl`ZBCq1JUt*mhmqEqfP=ahvg43I5q{IOy%B5ix(vE zLgY7pIeaq&!F6ygnfkEf$r6 z^vOV)U(qWLMCi$kVu2MLGOBYm)2Sy6x`b*XU!`U?@^UBku4!nXISyp8s_yX+d}aOV zRmLW0?Ixrx10hyZ#n_e7LSnJ>QI^(h4FevzK!^!m@|~%AYT#7ynlh2rRUUrJ-V&?` z+VEUO>s=1^S03Z9D|2z9eF0JHckztV?xk4o(8l(4j#6*bd*1zEXgx4sG693iz9l7O zZ31IDn9z1zD;r%6$&UJhSWa@9$!16B!;Cj@;g*GAsGth;_L1#UbV_xMZi+SmT&anE z5!J`f1F)`zekFNp;zCZeDHKiU(pY_1e$~#X!u5Qq%@2duBpM1NKA0C#Opt5g4K#M? zbCV0GT5YK7_LsC~0gBIgEr-oITWKN08(D9$L~59Q&PtffL^-97Y*_k#UBt;wRXKi< zOYCzfLfIzd*7I-|RScK!eV%;hhy}-MpxL(7C&XfO|1(-k{7%v*<<{MH0;~^?0lFWc z^*Vrg_Dh*~q3kD$1>B~8}xoCK{Kz89;>d(GU? zFuuV0F=BX>I#6ElIY=}c-$eYajb=RwKGfPMwz*S3btjLYl5aLRgqdW+;#iLRd4tZ< z>sa+h(M=;qzMLe6hO8dvN#u;wQD-JW?N={hC&9{i3w@hV!VyG!MI?L>4$$9+)6l0m zeZ_Dvl$TKe^*03(77Db0ao4A~a*KJX zmq@t-;n=Tr6d+**CfICZi_y+OT{d;J5P>~P*w-FtSKjGq(3j0rYEkL zq{8jQKK5HYSc3)8R_ury5xsaY^r~r$>#t>L*zbBuoe$~^ao}^Kzf{&8+NH#i?Du#Z zziPW8R^6=Hl?Ihe<{k51PaNxe!D)E5Lv!E!BQdVOt&&^_eK5{2f@TM}YN(MX~h|c%&90_!8-Qjz!&pjlZOp-G| z!T0!6!I9pVW-@NMFJ1|MP{E30jzuK8#W|PG{L#Aw#dvTzkP_|_*8f952prWR%qrGe zS^Xv6WF+P=$#iN+^i|8&w}4eNO{psi>(l18sXu>mri4d?wY3Jrt5A%XzKqg+8r_V? zmZRH1TQ{Kh{``!67G!n(^U_;EUlB8Rj@EAHo2$0K-aKZ%F-2P{z=tq62cJ%@^O1 zOVhXruFYKt$&KxOj#k=Oagip`|^z6N9jShCGYdPidwiFqf_#*>V6#Ke$$@JV|oN=nUq z>}!`rS-MKIoM(%1TA;bD*2>-U0A+xwr?-8TBlUvqHo-5Rd%Kv>dsgZ`r+o{Jl8LqL(1+iOYD2T%t@*^+?0aQH+53P?b7 z1q&0sZvD$T^b!Nk9gKQk{dD=26lt0B&1s1FU;RmVIwo8cvGyNi3IL4!P>npDF*G3m z{Y(z*I9i2wQ+52)^ckMaNi{f?~f-#pjou^^>Ts7vvC+yJ`PBH~MeSkE1F4lpN)GQpg7~XFF2%sMKlkS0`v-{nIOGeJA3J-u!OS%tUy5C1 z0+;5F@Xmkz1QiM%*r1T+R%rcpmNBo`dcn_2^m9ts;A=P;tO>+(pCj2N>IzvmTR`+m z^3x}WrpHBUdg&kA`=e?3ysM74b5Li4C*!|&Y+B4H=p7F(CkOGC3TsH8{NAuUOQp3pe&W)ib%Bdw%C5Oa%|A4moPXVk-RCHTi|=h0~?VJiNz;{1sZ$K_?%0oYxVWnCss#mpO%crZJ7@s!ma~j zVlRd5yWthbO0F@rYn`ukMTLQgPEq~9Z z=y01X6SqZp3`qC1+6|nOzF(ROaUD&(x@J~rn<9hp>i~&)>U|8t!nTpq!--?7-vh0@ zEK5h%LaZZ^e+kQ|KIIQB`_920TTTf>9}SIP3F-#hR~S9`%B9Qb4NdQ7;KReGq2@PL`%a0$g#u} zC6b_dQnZ>Aol3||1)+IL$_RUe?940^iiSKs5?@4L9i@5mfxKNkWS<|xMQ5$Q+$=TD zlee*?PRQOphRh{Hryc?%gFQT-roa7`)DThjGnm%?FCaon^mg<%rDTM2iPI)B@GeUN zI%Td}U680A#BtE@K`uP}BpI|wn>p#a)^QpI7){ihz}nm{e2w=o)-s63$g;9|-<3}v zH&;ku&}Bj5qEh}>?@`8^zzHjFbqLt$Gt2aQVevG z4(jJ7H`BW*)vG?3IT}RLHtL1r9A91@JGy@T2DmnEA+KM)86=nw!WP*I{(^%p$Ie*A zXYP_DYwk=f?6VM_90U$a=Hv9-HSt=x0W3KENOc6esS`HbrD>5C5_i~O0?AQ)Mo9cs z2oGD6B&U`$frMW!w@~fTrH!Y#d7o5DgDu`nauj}<%JvDZC^7CelH9M^4w+#6{6+WQ zxcoVo(JEdVbJwz|b05(bv|aNW-g+<}eIHE$^48*M)>@q$Gw^uLzWcPlN5liya1|6`Yl|*3z{)0?Ib(HO!Z7{(?Q)JWMftiR+m*vrI5B&!G-1F-$h^&#TVF zEFnjyHqv#o{sqme;mdgOl#!4Qv&GD~RA`9f+DA!`?eE&5X z+5Bt@%nsMqdQ~R%z!nMI(Vt`SkyG_q%@Tiu^Wrn5Iz@eT$pGb#UL1ppB&H|YDGoY& zT}7;(j~E5jL$JqJJ_`Dptm~pz)uCfu>Z^N-R#TQEt@}Eqz*Q*BE_dRc`7DxEU%By8 zeVd<14#0=R*<$i*`H6-CXxjY}tEwd=$dI{0sMdSV>cC{Ps@^r7xGYX%@$<$o3Z1lp zhOtZ=htDAiZYD2V53&-iO&tc~Z`z#MrvDrzV2a=`j21h8L3-12lI2~n7?grAwe0B8 zSWR3lOMo8kLV^4km_mkLD4t@8_%(tB%;-^ml*>X=uFxsE;#9A`6o4W z%VD*KML>o>>Sk!GN}0Bxk3ciBFiV`=iH>DstSVx%#-Ij0lgYuB?Rg#@jXztHr=G&N z>4tkcfx$_yMRrjGN#wV1jEJsF=gu$eV{9S>(X}-rk||Q?+nX4)u)ZTa^J!jo~DN!wP6i0R|uWO9bCqJf9GVrb~K^!WD-n5-)5A zcI?+W(wkiWX>=wh4A8CEA%)z;$`&rl^(>Bl(Vl0<9HTH+F5h8l zi~M`>gJr%aA|JFkFBd=syH3j>gW8c zJa3P+=_un#oL*P{g(Jrq()_xAL zK+nU}L9%Drot%u&RXVO({Pqby@;Eu@NAa85-L+04A~2J#P7~0=3~Bf(X1WA#;i#J%9pe-!-Q$? z!+Yka?Pm;&Ol2y8nJnXNrCAj?Jw*BUtR0%sjKwg$`WU}u4WnV9}RUnQF8gGbcRCP zEZlDuX;<@;~t z4ai5um#9x$0)ol`c_fw;`2kD*N?*1~O$h}@6-jh$4fo34@ulf7peitE+C8E1k9p#% zLpmx~+oO{YkAR)0kY@crpe(=8N8*v3c(I07-@8D@;7W4M_6mug#6FBZ!kTcxXm!e! zUmmA?C`%;kxQ0cF(lHzIYs60AMtgP%6qDMdh~8!Y(bc?!a+ zcK{-?lxNrL?aC^#E~NUY*T3hn{midH;gO7MSF8K$vxZ|`T#ztO$NLno2=#pp^p683 zd_1?neHy2x6d{Im>BU`h_qexO4>3B94r0{%Wv^%7PA*0qcg#{joc)3<9iY`^FI89g_~Zb7 zQd`~GOB0m+Q}N5$QTK=6$#fkKzHL=+I#1veGiSrSPvjZwd_i=g!VU4jZ^7$%6w%`- zFg2ojYSt}o3;In7(f)4kGEw#y;G_xm=Jmgvf}soRMg&{H%L;7?%pD#t-srK%%V>MR zIL5xGWIiz}KalzSJnEJlRvgMKuwmmj*aBMyy+IhD^F75Ecn^3{B6#QjBAx#JH<73a z@nAPRTo)6$g4^BnZyuJGHgNv-8Ov10%@V=Cpb6*)AK)Y*Oc7C$?I#xfCx$rF3yVg0 zz=vb3?E*!Q1UAb61U;UEg&Tl-f93zRyVri4F@LU`1a z(b}rYhwv90sYYMwxPN*ExcVSu1DrS%&qPX&w-=7Ko#ce^shZWM7m_}|& zK=buohh#T3%U_Tui1?sW_=6ZszwfE<^`T?~0J74+K|&n*J-f-Rg-N($a)15a2Kx7? zJtz+K+wdnjysZEJZk>DXUe*Hk7yhYzPm_SKaKWj8_^2sPxZ%3^obG=fNzqWr%{TN^ z1YWip-b8+{%LM$Z!}M^QZL5{rrawpsuEtmA`}@A+x8=?NC~*UBC$L*k5^I4;6S=wa z@a1F79lqP^%lRf!JGK9j_51P~MwBrpfls(Y?R%itN?;g<9dGK%Ymn|aS$(tYr<)TfK= zx8?GGuQU969oPpB7WW}8iw!B^tKrg^o7L0S+s;8@i?j34r~8(7noR#G^f3@X=jxA( zo9+p$MbC0QZi8=I+16dQCnEiBXyP*77}Ong5WT;NUwwan_TKM7lZ~JQ)RgCnDJ%fAY`boc)z0<+_o7twmq`T7(hs>!A#q`R-~*(i*J3z_aOGEI$UNv`P7KJrc{s(%-vcPuwl>&<_f zs6>2uVQS^qer0jk8h-SjLR|?V6clyiC%rqW8{-qYe=mGrJn46|QgxKuFu5pue#N{# zSH8I518ki#-&ZNTtO%ko%Gi4)H2u=srZJ;RIP^~Yw%i-~Aae?`9<}lKpOMLRndYCnF97!y_5?@=rj8McbbLx)UD@-~U`b{Z#mBb=1)J zjGkz$Zs*%~*??BxhGKui>zOto-wSWEm7h=LrZO0BG>8BD9jNlhz2KwyeCZ3QSh<97 z`9i)m=JLE+op?#V$)LH&z7n}TNYR^YXE4i8}_#39T8vq#5UQr#GYE2m&m6aAv z`)nZmKfc~FEUKsr8=e_Dq+3F|yCoz9>23su?(TFH1nDjb0qKzL?ijiRq)WO*P}KKe zJkNW5-*dfxaF99Y?6YI-wb#1Webc`v{IU3@vh?OJds|h6EzE#Sk159upxmRf1-J+D zOsG!%kNx%na(vbpfL_#H{MQVC%P|8&Mr6a=-Tv_BHynqRjfS4@$lfP<$CY}&Sib$c zV*=Q2t>V-Uor&TM;Zvh%oBgTWM}fyNwOok|ul6(2 zHbbc&0tGJ)CNTbtYZD<-K;?y?5TXO8-$L+)(Zh#3#m2v)Iyruumq2!yA&otJYHmg94-{G0|n#L`DT5!?qcSTV`*^auYp_l7~rR<3Q3J=T|^D%Ou{GfGPK)1 zp`!WSv8w$G)b(5UH4b*zn)uh{Kq`qyIQ;{c!r_^>l^4at@2BprpFbh1N44o#-7)U- zzK1(D`65`LqoN=tyj!Fgi{p#Vc>JX8RvKfC_x1zS_f`bH)9m|Q0I}-vc-Hs#JeeZ8 z--h~&Egm&jeK}NZea>Ep-hx~zS`HkbOI^(P+xE`-zVLi+HmV?^Di6X0ws9)NvoYns z$R4n_DS1U(zCOVii%moyg@a0h^i$w-Z{-OE|5$H(e?5|?I7Q|%4JRHpHDG6E|UK<&F{q8M{%Q0p(! z_xleu%-M-PyN7Y}l=4Bqpv6q>MCMp|+uOj2#ZgMPD~DLr^)de_U`CeVNEE2>8mE#D zu}*}*zvNweF}1!yV6<=z64goBYc z`g64t3d4)u(IwVgwMKL>!P9$NF^BPpHH*u`UK7%!EdU(ZBPmnub6LQM_a|K=P@@y9 zA-~FKJE(zK^?PoGoJ4Hyk0%z0$0BEZ04LEsOWb-2Qe1&sYZB(Ts$p&MZF+hD8aV%Z z%2`vtt+lx!9%C))`m33a7LZ-RfDAEE9TjBNQrzUz-IUe8PanVvIB~fk9c!2~sv&FQ zAsWxDL0!`T$!%Gk_Ty7CF+YXUA>#_BFXm z>+@k9ec4RD4`NZA3_u7Czl#U?X5K#TN!1qO83W=O7!6t!$A9o*m6$j+!I;q1KF>^` zx{7b6=hKg!MEQAZ&h$)TeRJ>M5!H&C9u3fb_+gm!1qME4DqO=*iG5~Hs9K1^vz06# zG(Hn7lBmerdlfOI0co1G#hlyEbJJvPJp#%K6z4E&iC$k7^xuLT%f$CDFh@D3shi`G z?_&eX#=$>cW--A8;~_zhAaZk274NunBVMM80;MpeW4vW}8$8yd;QZF6M3(8@VS5OP z_Nt(RK)8;pDDJKy)OV4dIgKW(P0P7fh6Of7XP&kbV3?v{Qm5Un)>$0m5MMczy7y)| zZ$f$cBpq0koQP+DVhBA4W$F#r&_lyvNc+2!Tf-fp+-1+jN`g@Fn6g zvjuCXvZo(d0-hH(M$Sy?oc&s`3ygvlCOCz>`x7lE6cd?aC}OcVu1SW)X1>HX6eQ5{ z{L<>KN*=%K10Mcyo%WKRgsXg8zSr12Eg&GExt!&OoUL&Q>bl}Dv(p^B-6a^Yn4ZP<(sn82xt%XRh8O*N^*rVNww0PUFJJOQ1! zCA!HZ(HA&1ESNxSezf>qhE+YNszo}p(%%XOIVs}4F{_4`jkq;~I4)SAs?wjMltIKs zIz&p~Z8YQ5PoMap$r6b+!0>7Vt+ElHwMN&&8r4BzzN+G!&R-c5x)s%#ZL=bYz?s#}3vCRrvSA|AcwxbDt*$$fzy?-^D|W8 zr==uFkR68L(6Uk&V8Mp+J8Y#q)|!v8?wML9UJ~DEGjAs@Ozv36oaK(_A_b7|GXs&Z z&47}~QdDSU$Gwz2KpcPmBn^3i5aLriN~Jc;j?)Ejz2<$|$rhmTNcpm^$KoSF+@-Bs zE#F+>**3ay6-ZVm%UK}>dg$10qJR!9T9`V|yW>b`p!rQd3(>pCI4FAa>m|T8E2#ME z90)Tj1FVUx(NdtW_oY#rGR;D7s9`PR><4f8pFr7W=AlzVDvp*ovFb<;Z658JAc62Q zVdJD&-(knAH2pEoKL~gp6RosgC|=P(kKTG~Uc_QRn)Jcs0;LSQmbh;|+KlngD%w2& zi#pFQjJJ|8D2=`4vgb62I$@pW)Mh^kIfC;zb|h7P#R3TFWEvON&hsi1aOa|WO}*im zzZ14>U&LPjjajwxJaoG)J9xMRNX|D`FG!1;E6yT5S-+b!f zG-YnvGWhlv+A~8w9SHY)raAE*5T|uWUmHjucGOl`d}QI73+&JLn2bj-`i?^5V1QZ| z*ea-DUkyQ*l8AS1oOmn3L9I4NrdcUfi6rjZ%>uvcl#y6BQx}@P^+#p@E z+HgV^`TfCUEnPbYz~1=ri|jr<@jgbjOa>^TU_GJN$b-O)UT`o{;Ef#)OZckoH)x)5 z#BY}f>~WLwjhPMMhy&cFUl1e-YJ83~nz8R&g4|GLIjiR;FuV+h`yq_zjPmZbP^+)< zgnGK2a~!-)cHXE!SPTs<(9W0*zr@BY-ad;gH^uCPSr_`4xUrwpCAD{tadbNU9LqJ6CKbIR7zpph;WUVEEE^;Wet4$AH8FPy`=W5nn*=zV+ z=Y8a3n>v{gsj`?UN1GCvCIsOmum;`Lk5DJ z15pydUb&#va)r+8M9>FgG2PIzd)i?jVF{2Lf5cc+CWf^W)-r;*RzJ;kf7kuO!fj@`&Di-h^H37nr zF)(iOpnemQzh`_mUlQbnF$i$>0XVLHJKp?|H<(-tE5Ii3_he)YayCbQv|#_A{{he& zt&wL_M?ksI?^8P9b?zeKIOcTs?kFiMA5j9P_Rrm2G$C(jpl52Nr6nc8T25i7E9I;I zj;??~`e}@^-Pauq7Fv)lNI{2=?eK`)wPwr#M6kc(4?x9{^Ak)!O?#rPjaF;xBA)iy zW{U2nlDJu1RT%0IT#J}lzLdqSRzZMa{BPUiL944);BuCr>x=HUZ(Bwigg>=6%PPOy zNycJ;4MI(^En+jMTc!T@IcGr_(C{05fs8S=LX8r5cpn_z?ohew=-vPn-B#@+ zlRPx!WILjE%Mbl2_*7c?c(#G$Zwt?WOxC+! z4-sf&AOoL1^O#bO;9Yrc;jSDJ(X|>a?AhMLceSx@9?8v9Ek{@k#OE({8Nfy_s+7!J z&{3@XNpULdnPUIM5kyGaKD*C1W_{{$hU~yTwRAz|@hak^__7i@*0q}anMsV2(b&dO zyADM25eyhVfR>p9HmLN=jH7tTGi1LvM&rD8&;inv=~tS2#MhyuP9C2Qgi)pybhWCgCk1j|3kA#@uz%>V!`Otp zpDGWORcO*vDJ3a{+S^4Ua`9T)U#6h(a$>m8jP!9%*HT=6=OmlocZPP$if^6qU@sLE z*HZY6FyYII_4^M}h?= SjjS7f_OGXpeaEVBIFgH;cO}br9$PS@vII332{ZQaERl zW53MjHmB3eP6Ivf@Mfxj2MT~ z;d#}~>PLEIx)dbteTVj*Lp#fYq4dE>tc~a86;m~7)6v&+?(co z07pjJliyQSte-AUVvG`%l=3!9gZF8y{tM;5Z3@gpU*D#bRM(Q%tYD(#B&;9h6F!>Hu0{}s9>iX{ne zKYxvCDA!@lresBg?YwC6&K&Beb?TfJ$oku*nA~2Lx0%V8=>KMo5eQz1w9J}Vpl_#5 ztm%daeO{9K9yAYBpAx0o=bPM0o0ONFYqDMn@(xE1j$t~BT6p}zA1AUd=y9VPo%Dg@ zFeKEIDn28ga%9kE4T&{+gYux&-i{Jpn&>(>M44a>@KsiEcj6{@V~0pt=$)_Gz^JGeD{Ts5uB|S*~k)Dg8@Cpl_|8TJlf*988CjrM*F0};=|&PSdmYp z{1nxa#-a{M5p{;+{%WED3U3bJ=Q(m}CP^xSmZLV?o}k8^<{0O;ESwkG?^21KFY&ifOo1VO=&)Y^3@A0;Mh_jsL?6im*SIJ1BOE z<`vrCcM`z3r&ona=sl;Pr(<&8B;o({r82!*kKL_E4aJQM0N1Z z@OA|YSM}#qG$cXNvcu2Zfl`7aI#^A{sCuok;=qaj1zU9st*WJuwp^oYuDEZ_V^_5> z^4EAzG(q@4i9L#;lEIw>2i0;Y$3Khdh$k^$k?QGi$;t~S=Z|nM1B80BaZ(`O`Q;$5 zRGh9VVb(J>qu#ikmfi5fr=4j|+U#rws5SY##4$b<&(Q%I9aX?YsNtm*?Y~2(wCv>j zwEj=g;TTsUH&%wir%L3NA0PkKqqew}Rbv;BG)D&}hTEDM@>?LeWN|s#obd`I*WMPr@mm zA0?Kb%U$TIrl5ixzl}C*JI^(s#&oQk))Ux!6+QD_H5sCX>FMi5kCAU#0>f{~;&o)h zmA#mq__tmHC_suy@Cc^K_T9jJZ^)c~%p^(qXH#>DrD&7~2j>Dn zHZ9~_tTTs0RbwN4&3t&syzduQ8!r7Eq>tpPhlpq&qr@(Pu|5m<4rY@zMkD|H6@b_; zIDwni*?#n#l^zzGircl5cGXyv((5S&!msxNM^Pnx9DNJ1xlSA>-?H;&f_7fdRs)7R z_TkTzXbLg6ZKl(Go_>U=bD>B+OEXFHf;jze8bqsg-iR*$O$@DlV1h9=eJGjtspq$< zcLYR3NBv&WK8xA&w|u;Z@xVdF^qR++yf$vgiV8X$uirWx0rRNE}}>VqyZW-xZH z_dS}4#6I|axoUyW@#IEpbOyNP&JKN0o%jrBMplYwMhB)_k4-3X3Oysgyqr<=0<)1J zn0M{CWq4;)Hs&v0@($A%eSKfpagcK|VRlVzS2LlJ#?D!A4HO`hD?$ zjUBmhmaVD#Ia#zqd^oaz+1A@cjmm(kJBn;6I*Ufyo_kybyCxZsILp6N%vkub301CL_++^EP~cI?U| zMsF6DTN`EBnxQnk@1GW08#(Fr7k5U7o|8m@)?xfD!>W`8r-vG;hD5D;tN8HNI%r4Z z_-7O#rX~nT%K$<#z*-ohgQ~oq4MJLeuqucu_ z07OVc?w3ml=mSR$)2s#|WZ}TelOc8Yy&ciR`htP*+q*ko?P~aR#smCF41BG1vOU(z zVT*QnMqP@d+SVl|=e9mqyz+(na?#X|vC$VMcSAQ#stit|E*;%K53@}fR}|$L#ryc= z_m*5$kMd!i)FR{T&}6eZCARUZNvJs~m~VWf=D|ZyT>~!LenMl=`B` zGusB4t6nUys|v9v+@hLS*{H1Eo>PL~+ghjZTMrz;?q^1$8d5-ZfBIYGI*!S4NHHW( zeINRuR8z5x*;08knJD?1?d@9Qx>vJx{?2f38@k`bBc=5Zk*OY>l7%;C9%33S(kHq=DTVK6_ra%8*MPrzv*Op z6G_na>EC6u`D(SM(XBLSo!s4@r2kYG7}_FI5TYr2!_PE;+QkkUqkQ9V!|9p6l?VfP zUUei_I!&{ppO%D!p7I4NkpyKuuTs%#=E(&3oE^S|XZ0LI<6DkBLdGY~vMUA!AT0P6 z^T!n$=0i5vfc~M(Apqn1_RYQg;g_iRb;4&v(cMv2k3TzPjJ`VD{A$s42lfcxQp^Ul za_^TbD!^LbRl$bTILXYI)@)driYrkdOKIu=!~$zDou)m?wdWcpa?yQUyBEatr9k~i zqGnEJt7E^Cc?tOeHGA~o36fMtoND>^FpE|8fi;^0^2kDEAONLu>4Z6zH=^g)E8+P)g={g?X(_*jB z&qE5cxgVvlZc!X&B2B(Gw!`79cF`}>q0CLie`Yya{*6wl(NgIj1|y0REyWqCIqxk;dgh2Lr-bp^HqXOf9J*5J(D2jAMFqaV;CowYOt7%N3zqIzCN zMA|`YnDn#1CYTNbdW=Jp{ zE>ZNS_0V&Qw*7gwCew>%|172T3%5L4tEnuPri3+%LLe$JyYsYXD9MV`B&t7?R_mPC z+RtCbBTR~-`x>?;SeHp}VU4lwMw8i6lxW0I{hbE(RWh>^fU+ilINC`ls_57l%OQKr z?69M~ZHd&6^bvX`^fHMIyfJQ!E!Eqvcam_rd>0=SBof*yW$+IcAjW;M59fIE%$PcE zbrTgTosPOLQ4MNXqJhnn#XK&aoe~e#b_^Rphv;2pvk^VJRro!-m&G7H!qvk$T7o5R zG!Lnte$8^|KO^Q=3ra+N^Z6Jn0*`^ns~lv!Jn$}=psOhuWW}TZ9pg$&RX%k*A5YV+ z6_-i5it5KsAKLUF6}vV52Gp=IvnUO1FqOC3%LEw^LPDyVp?PSO$6d_~3yl=Qc!aG| z|K`kKHdj(Uewm-dNZpu?8OFGG5s+rbo#ly?zoDF?G!(CmG6&&@H}By zRzJih9bvCtX<^1$YkY~7GB|h0skRCLAro~nezQ?rroB&oen*^~`rHDyKq@2Z!l^z1 zLT0snABiLTLpcVvNC`7&a{IIxrljReN{VxR=Ye$HB8?G#fHR-j#eY z@@zav8hRs&xk8m@`{+x5o)queK;aYGJCt;EJoi@S&7kW?ba&}aBOa5D-w~;Uf~J`9 zGVE6U#>pT}{9p_HwYCqzz022cmGoJtVZ%0xt1je~3v&yW+^1|X-#MyKdo47u)&uB; z6N{aleI!X?Fz9V514>VTGT{_QQ-raGpfEJ_OItsrcx}wHEN(wzG{Wo?3E#%dL2?!V zx)Gal&T%&@`LpvJ6LmQVk&mb8;I^(o^d7VN(H$rW|KRu@u)%R(Wu}8(tRg!F!e-Rj^BGdP8uLV7W7Av>q*32 zH{liehvb1LeO{0=za0>k#FF5~e!4A#T3r93N-&aQNv{pgIZ zIXy40I;5n}JFFCw>SN>1c9dwIO5G`4t*>hdWT5Ny3DP6v&K}+5a72=@24WXJ)ey~D zVYN*my>ZAO@5MpW55jWXwmf%}%3OYz>`jEv_+YK~g)Wdg(L>~ceh|#iyDGJRV2%Jv)1V&*mF`Ds8hH3p^pvXmz%e}_%Y^H9o?Z|jw#v$N8GN> zuOSNW0bJ*`+3h6);Ou|mggJ(C(~%=_Ni;CPYBLDC7J)Q5p(NaD+owh|0P+?u*5SbH z9WGyO(=w@HZQ^w~pyQ(e8RFoYEmx+F!Vt!=U{mjh6U%=}&rx8}9JY_`@72gnk*32j zudYjb6Pzt)p}{?!V(B!vW7{lE$+T&sPlZ-kv#8X#U?)4K5u&JDxB{>k25ufP2N_=q z++YiSq7}evKIgG*M1|_Dr1=Q?-Bw(en1tnghz#wbpA{}fEA#*-b#iHdqHFWts75g% zfCJ7TY1WYm{FtNLx`_|$<_zb>Zy&Gl9eD|+WFp9YbuyJ~Hf_XItp@49Ma!_fGL*9q zD-Q28e%Yp3hbyP1&P8o!U6XRXWv!*zLhc;|nC#*JmAIkGT}IKX%lH(jH7@06=loh&5Vby#dL*gvSecls!fjIY!6 ziHlp6^YIvw5iU*X7}&!{6}j(0xr%>(J^YWg_5v%BfV0`rq4NUgQBO|e56sh3=FRaX zQa)=HG`C;CLWbl!$xk03`fXn5iM0wVs=V3Dift#-DH$w*)lc?9Q_7NsBVgHL%E@mi zI~;Jka(8cLk7P=op>4i5A0HYm+JIUwE!=2|yGB~ed8a6<#tMa?Q1b?fGpeB5qzON7 zNH<|r>^Tm?J;FHmSr0EK7;K`qo2Rz)iU1@7-<+}z;Lk2eeJzoXA)U_LX~gp`&g4eo zD$a^C*h}*BlOpb#t+5KH2_SVRkmzVPI_8|^?B&OS+~gpsg;djJqw(5lpL(_~b2b33 z(V_9Y&=Qu7oL{D~Gi{ zA-9;cANwV`=7prhve!r^wzY@eiFpALGqWo*Wrb+3w^IDmD3cJB%VNKR*@aJEiqlEO zMbz0~)>o<9MmLzg*yrjG2furk2_l_Ev0$9wPfcMmewcVQs}gT8k2K{oxCB4~Qngg8 zYrO#LGI|d*I)1Sx?%i?JJ z*@9H}CZ77Z_C^+*;sWk?+Y`u8M?=Z9MLsBk&*I%pixqcyxso^82-Jf@#l?QeOHDlz z+cU8ts;ka;sN~SY>qC2?9o5^(gR_5I+ zOAAc4E#j?xeuMNn%VT8~zq{^SpHaphyYx~PwF(HyjIp9?Z!IJ57EdxfGqR|rR$u=* zVaL#)-B$nD2xnUCDG&3B;&Mi`VwK{7dM$yiz{LW0D@a2T3$uWS9&gc<@+)8HvJ+t! z@BA;2oIIFsm`J&K^lc+2U;R_WxHw9k;IW9Rtvh2WoG$iD04fGh)vi7MI))y`se<`V zl|#S45+HBev@8mnP}S4r%b=q4;WoKWd%f{;d-{4cP+XYHp|LLg<%aEdrx}EXsc8i3 zkxoto`OmHTZ>!p$sF+VqB;`Ag_E@bZA~jl@RUiB|cq0(Qdgp4%9W0 zsA^$o7`Uj=y+{U)oG{WqUIPee-s@{p?ZQWw5>rbVkl#T&Mc_5)G!tlVVaEBWsCwIeVl5~ zSEd<)IYYVmYh%(1uBiw<;$1CZLp;lF_WOXTd(PbUJgBQ}*+5(&X{p}he#rnpxyDgUN1@Ha5 zG?_w3_w22Vp5f&y+v&$)#3>jVL-x;R*_75({9*8s#T!_E0qC6l_NL4u3mKzz!d z!4%$uZb`AZg#V`YjY;KWWr4&NlB5ldpI2tJF0w?Ro&7Z-PqC>fPSf#3d!ox-sc)?t z0753)0%B!a>qVT0^nSvPbq8sZ?dRA5jZG$v)7?>X!8EH<3CLRZRE5c`_b4@rcx&j9 z6-&x1kkiY5Np`)yu(Ol=nT8mk{2x%^MT`s554&|}uA*Fw&n4eMUom^Ugri*_WgyOG z<)a#E{cwV0K*oquZ`Qn@0aha3Ng9HY=!6${qR;n3X~GGef(JiNG>uTOuKY8mvmoQJ z!Nab;Bbi63K+=bHcg|E9Y%udeiTPICYheOsv(kgdg2WPC?g9mhr_>Z_J0AQyTG

oA_ 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 sW1mfuXf6O@Q>X^7)2K+++QQcAkSrnFpF? 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 W!;Hbp`L6$*2`Mpo(Gp?9PyYw|4nm9o literal 0 HcmV?d00001 diff --git a/docs/operations.md b/docs/operations.md new file mode 100644 index 0000000..8797a45 --- /dev/null +++ b/docs/operations.md @@ -0,0 +1,77 @@ +# Running B3Note on mainnet + +## Deploying + +```bash +icp deploy -e production --no-create # both canisters +icp deploy frontend -e production --no-create # the frontend only +``` + +The deploy upgrades the canisters recorded in `.icp/data/mappings/production.ids.json`: backend +`xeka7-ryaaa-aaaal-qb57a-cai` and frontend `4lidq-zqaaa-aaaap-abkbq-cai`. `--no-create` makes it stop +rather than create a canister that is not recorded there. Do not deploy with `-e ic`: that is icp-cli's +built-in mainnet environment, which records none of these ids, so it creates new canisters. A new +frontend is a new origin, which gives every user a new principal, and the custom domain would still +point at the old one. + +The `production` environment uses the vetKD key `key_1`, keeps the AI assistant off and sets strict +limits (`icp.yaml`). The frontend reads the backend's id from the asset canister's `ic_env` cookie on +`*.icp0.io`, and from `frontend/src/lib/origins.ts` on a custom domain ([Custom domain](#custom-domain)). +A build with `CANISTER_ID_BACKEND=` set uses that id everywhere. + +## Limits, costs and settings + +- vetKD derivations cost about 0.026 T cycles each on `key_1`. The app derives one key per Internet + Identity user per browser (then caches it), plus one per share view; guests cost nothing. Production + allows 5 derivations per user and 20 in total per hour, so the worst case is about 0.5 T an hour. + Raise the limits as real use grows. +- Controllers can change limits, models and the AI switch at runtime. `limits` replaces the whole + record: + + ```bash + icp canister call backend get_config '()' -e production + icp canister call backend update_config '(record { ai_enabled = opt true; llm_model = opt "llama4-scout" })' -e production + ``` + +- The LLM's free models need no cycles. Set `llm_cycles_per_call` for paid models. + +## Custom domain + +The frontend is also served at `https://note.b3pay.net`. Internet Identity +gives a user one principal per origin, so a page there signs in with `derivationOrigin` set to the +canister's own address, `https://4lidq-zqaaa-aaaap-abkbq-cai.icp0.io`: a user has the same principal, and +so the same notes, at both addresses. `frontend/src/lib/origins.ts` holds the production ids and the +custom domains, and the client uses them only on a custom domain: + +- Sign-in: Internet Identity accepts the `derivationOrigin` because the canister's address lists the + domain in `/.well-known/ii-alternative-origins`. Internet Identity's page fetches that file from + another origin, so `.ic-assets.json5` serves it with `Access-Control-Allow-Origin: *`, and keeps the + `.well-known` folder, which the asset canister would otherwise skip. +- Calls go to `https://icp-api.io`, and to the production backend by its id: the `ic_env` cookie is not + read there, because any other subdomain of `b3pay.net` could set it. +- The HTTP gateways serve the domain only if the canister lists it in `/.well-known/ic-domains`. + +`frontend/tests/customDomain.test.ts` checks that `origins.ts` and both `.well-known` files name the same +domains. To add one, add it to all three, deploy the frontend, check that +`https://4lidq-zqaaa-aaaap-abkbq-cai.icp0.io/.well-known/ii-alternative-origins` returns the JSON (not the +app's HTML), then add these DNS records, as `forge.b3pay.net` has them (on Cloudflare, DNS only, not +proxied): + +| Type | Name | Value | +| ----- | -------------------------------- | ---------------------------------------- | +| CNAME | `note.b3pay.net` | `note.b3pay.net.icp1.io` | +| TXT | `_canister-id.note.b3pay.net` | `4lidq-zqaaa-aaaap-abkbq-cai` | +| CNAME | `_acme-challenge.note.b3pay.net` | `_acme-challenge.note.b3pay.net.icp2.io` | + +and register the domain with the boundary nodes: + +```bash +curl -sL "https://icp.net/custom-domains/v1/note.b3pay.net/validate" # "success" once DNS is right +curl -sL -X POST "https://icp.net/custom-domains/v1/note.b3pay.net" # starts registration +curl -sL "https://icp.net/custom-domains/v1/note.b3pay.net" # until "registered" +``` + +A browser keeps two things per origin, so they do not follow a user to the new address: a guest's key +(in localStorage; a guest signs in there by importing their recovery key), and the cached vault key (in +IndexedDB; an Internet Identity user's first unlock there derives it again, which counts toward the +per-user vetKD limit). diff --git a/docs/v2.md b/docs/v2.md new file mode 100644 index 0000000..256fd69 --- /dev/null +++ b/docs/v2.md @@ -0,0 +1,37 @@ +# B3Note v2 + +## What v2 fixes + +B3Note v1 had security and correctness problems serious enough that v2 is a rewrite: + +- **Notes were not private.** v1 used DFINITY's *unsafe example* vetKD system-API canister, whose master + secret key is in its source. It also encrypted every note to the anonymous principal's identity and + gave that decryption key to any anonymous caller, while `encrypted_texts()` returned everyone's + ciphertext. +- **Anyone could overwrite any note.** `edit_encrypted_text` never checked ownership. +- **Internet Identity users could not read their notes.** They were encrypted to one identity and + decrypted with another. Signing in also replaced the user's record and lost their note list, and share + links never worked for them. +- **Writes were silently dropped.** Updates to stable-map entries were made on copies and never written + back, so the "3 tries" limit on links never applied. Writes inside query methods were discarded. +- **Cleanup stopped after upgrades.** Timers were not rescheduled. Expired anonymous users left their + ciphertext behind forever, and `add_simple_note` let anyone grow an unbounded heap map. +- **Other defects:** fixed-size storable bounds that trapped on larger values, an off-by-one note limit, + an un-awaited `fetchRootKey`, a hard-coded host, and an empty LICENSE file. + +v2 uses the IC's native vetKD, ic-cdk 0.20, ic-stable-structures 0.7, icp-cli, ic-reactor 4 (beta) and +`@icp-sdk/*`. + +## Upgrading from v1 + +v2 has a new stable-memory layout, so install it as a new canister or reinstall; an in-place upgrade +cannot read v1's state. v1 notes cannot be migrated: they were encrypted with keys from an insecure demo +vetKD canister (see above). `scripts/migrate-mainnet.sh` reinstalls v1's mainnet canisters with v2, +keeping their IDs and URL, without taking a snapshot (there is no way back to v1). Run it with an +identity that controls them: + +```bash +./scripts/migrate-mainnet.sh preflight # read-only: identity, controllers, cycles (≥ 1 T) +./scripts/migrate-mainnet.sh migrate # reinstalls backend + frontend with v2, then verifies +./scripts/migrate-mainnet.sh retire-system-api # deletes v1's insecure vetKD canister, recovering its cycles +``` diff --git a/frontend/public/.ic-assets.json5 b/frontend/public/.ic-assets.json5 index 03a323b..1e57d01 100644 --- a/frontend/public/.ic-assets.json5 +++ b/frontend/public/.ic-assets.json5 @@ -28,7 +28,7 @@ match: "index.html", headers: { "Cache-Control": "no-cache" }, }, - // The custom domain's files (README, "Custom domain"). The asset canister + // The custom domain's files (docs/operations.md, "Custom domain"). The asset canister // skips hidden folders unless a rule says otherwise. The HTTP gateways read // ic-domains; Internet Identity's page fetches ii-alternative-origins from // another origin, so that file needs CORS. diff --git a/frontend/src/components/Markdown.tsx b/frontend/src/components/Markdown.tsx index d596660..1f2ada6 100644 --- a/frontend/src/components/Markdown.tsx +++ b/frontend/src/components/Markdown.tsx @@ -14,7 +14,7 @@ const REMARK_PLUGINS = [remarkGfm, remarkBreaks] const components: Components = { a: ({ node: _node, ...props }) => , - // Images are not loaded (README, "How the encryption works"): fetching one + // Images are not loaded (docs/how-it-works.md): fetching one // tells its host that the note was opened, and its URL can carry text out, // for example when an AI answer is steered into writing one. The CSP's // img-src refuses them too. The image stays as a link to it. diff --git a/frontend/src/lib/origins.ts b/frontend/src/lib/origins.ts index b5f9267..e535715 100644 --- a/frontend/src/lib/origins.ts +++ b/frontend/src/lib/origins.ts @@ -1,6 +1,6 @@ /** * B3Note's production canisters and the custom domains that serve its - * frontend (README, "Custom domain"). + * frontend (docs/operations.md, "Custom domain"). * * Internet Identity derives a principal per origin, and counts a canister's * gateway addresses (`icp0.io`, `ic0.app`, `icp.net`) as one. A custom domain diff --git a/frontend/tests/customDomain.test.ts b/frontend/tests/customDomain.test.ts index bf12f2d..58f1a24 100644 --- a/frontend/tests/customDomain.test.ts +++ b/frontend/tests/customDomain.test.ts @@ -1,6 +1,6 @@ // @vitest-environment jsdom /** - * B3Note at a custom domain (README, "Custom domain"): which origins count as + * B3Note at a custom domain (docs/operations.md, "Custom domain"): which origins count as * one, the files the HTTP gateways and Internet Identity read, and the app's * client on each address that serves it. */ diff --git a/frontend/tests/production.test.ts b/frontend/tests/production.test.ts index b8810f6..851b6b7 100644 --- a/frontend/tests/production.test.ts +++ b/frontend/tests/production.test.ts @@ -1,5 +1,5 @@ /** - * B3Note's mainnet canisters (README, "Deploying to mainnet"). icp-cli deploys + * B3Note's mainnet canisters (docs/operations.md, "Deploying"). icp-cli deploys * the `production` environment to the ids in `.icp/data/mappings`, and creates * a new canister for any it cannot find there. A new frontend is a new origin, * which gives every user a new principal, so the ids recorded there must stay diff --git a/icp.yaml b/icp.yaml index 6a5fddd..601367c 100644 --- a/icp.yaml +++ b/icp.yaml @@ -2,7 +2,7 @@ # # B3Note: `icp network start -d && icp deploy` for a local deployment, # `icp deploy -e production --no-create` for mainnet, never `-e ic` -# (README, "Deploying to mainnet"). +# (docs/operations.md, "Deploying"). canisters: - name: backend diff --git a/scripts/migrate-mainnet.sh b/scripts/migrate-mainnet.sh index 2f00452..505d63f 100755 --- a/scripts/migrate-mainnet.sh +++ b/scripts/migrate-mainnet.sh @@ -42,7 +42,7 @@ field() { node -e "const s = JSON.parse(require('fs').readFileSync(0, 'utf8')); preflight() { say "Tools" for tool in icp ic-wasm cargo pnpm node curl; do - command -v "$tool" >/dev/null || die "$tool is not installed (see README: Getting started)" + command -v "$tool" >/dev/null || die "$tool is not installed (see docs/development.md: Getting started)" done icp --version From 9bd64fc9015957b0cc7cc350646453d99d2f5aa1 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 27 Oct 2026 09:05:15 +0000 Subject: [PATCH 2/2] chore: README.md is not an executable file GitHub labelled the README "Executable File" (mode 100755). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017cSwEz3Q2o3DpuJ8qSQzY5 --- README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 README.md diff --git a/README.md b/README.md old mode 100755 new mode 100644