From ef34e5090f93706d47c6c2ff5ee8ecdde933b3e5 Mon Sep 17 00:00:00 2001 From: Mihawk <163614687+mihawk-99@users.noreply.github.com> Date: Fri, 2 Oct 2026 13:40:55 -0400 Subject: [PATCH] Present the WebUI first in the project README Lead with a real console Overview screenshot and port6769 URL legend. Organize setup, guided global/core settings, systems, balanced graphics and file locations before developer details. Preserve licensing and attribution; separate source-build features from release availability and remove game names. Validation: desktop/mobile GitHub-style previews, no page overflow or missing image; actual Overview inspected; Impeccable finish review and final delta ship. Screenshot provenance embedded. Evidence: evidence/readme-overview, replay with python3 tools/evidence.py compare evidence/. All project gates passed this round. --- README.md | 565 +++++++--------------- assets/readme/webui-overview.png | Bin 0 -> 130145 bytes evidence/readme-overview/capture.json | 17 + evidence/readme-overview/expectation.json | 13 + 4 files changed, 199 insertions(+), 396 deletions(-) create mode 100644 assets/readme/webui-overview.png create mode 100644 evidence/readme-overview/capture.json create mode 100644 evidence/readme-overview/expectation.json diff --git a/README.md b/README.md index 87ff1b2..ad3c225 100644 --- a/README.md +++ b/README.md @@ -1,293 +1,195 @@ -# PS5 RetroArch 🎮 +
-**Native RetroArch for jailbroken PlayStation 5 consoles, rendering through -[PS5_Vulkan](https://github.com/mihawk-99/PS5_Vulkan)'s port of Mesa's RADV -Vulkan driver.** +# RetroArch for PS5 -Maintained by [Mihawk](https://github.com/mihawk-99). Based on -[RetroArch / libretro](https://github.com/libretro/RetroArch), with a native PS5 -application foundation derived from -[ProsperoLight](https://github.com/blackbearreloaded/ProsperoLight). +**Your collection on the console. Your controls in the browser.** -> [!IMPORTANT] -> **Piracy is not condoned.** This project ships no games, no BIOS files, no -> console firmware and no decryption keys, and never will. Use only **legally -> obtained backups of games you own**, made yourself from your own discs, -> cartridges or digital purchases, and BIOS or firmware files dumped from -> **hardware you own**. Requests for, or links to, games, BIOS files, firmware -> or keys are not welcome in this project's issues or discussions. -> -> **PlayStation 3 (RPCS3) is not in any release.** RPCS3 is licensed -> GPL-2.0-only and this port is GPL-3.0-or-later: the two cannot be distributed -> together as one program. Its source is public, and **you must compile it -> yourself from source** for your own console (see -> [PlayStation 3 (RPCS3): build it yourself](#playstation-3-rpcs3-build-it-yourself)). -> Do not share or redistribute the binaries you build. +Native Vulkan rendering · Fifteen release cores · A local WebUI -The title launches as a homebrew title, presents XMB through RetroArch's Vulkan -video driver, and runs fifteen native libretro cores in its releases, six of -them (PSP, GameCube/Wii, PlayStation 2, PlayStation, Nintendo 64 and Nintendo -3DS) rendering on the PS5's GPU. A sixteenth, RPCS3 (PlayStation 3), is -available only as source that you build yourself. Input, stereo audio, -configuration persistence and content browsing have been verified on a -console. This is an active development project; the tested paths below do not -imply complete core compatibility or Vulkan conformance. +[Download a release](https://github.com/mihawk-99/PS5_RetroArch/releases) · [Get started](#get-started) · [Supported systems](#supported-systems) · [Build from source](#build-from-source) -**Latest release: v0.5.7-alpha.5** (a new 4K launcher background; otherwise -v0.5.6-alpha.5) — see its -[release notes](https://github.com/mihawk-99/PS5_RetroArch/releases/tag/v0.5.7-alpha.5) -and [every release](https://github.com/mihawk-99/PS5_RetroArch/releases). -v0.5.0-alpha.5 was the first release on RADV; v0.4.0-alpha.4 was the last on -ps5vk, the project's first driver. +
-## Table of contents +![RetroArch WebUI Overview with content uploads, library folders, recent transfers and quick settings](assets/readme/webui-overview.png) -- [Current status](#current-status) -- [Available cores](#available-cores) -- [Graphics and native runtime](#graphics-and-native-runtime) -- [Roadmap](#roadmap) -- [Build from source](#build-from-source) -- [Install and file locations](#install-and-file-locations) -- [WebUI](#webui) -- [Testing and troubleshooting](#testing-and-troubleshooting) -- [Documentation](#documentation) -- [Authors and acknowledgements](#authors-and-acknowledgements) -- [License and third-party terms](#license-and-third-party-terms) +

WebUI Overview · Open http://<PS5-IP>:6769 while RetroArch is running.
Replace <PS5-IP> with your console’s local address. Use a browser on the same network.

-## Current status +A native RetroArch homebrew title for jailbroken PlayStation 5 consoles, made by +[Mihawk](https://github.com/mihawk-99). Play through XMB on your TV, then upload +content, browse your library and adjust settings from your phone or computer. +The purple WebUI starts with RetroArch and closes with it. -| Feature | Status | +**Development status:** this README describes the current source build. The WebUI, +guided settings and recent stability changes are development features; consult +[release notes](https://github.com/mihawk-99/PS5_RetroArch/releases) for what a +particular download includes. Compatibility varies by core and workload. + +## Get started + +1. **Install the complete title folder.** Extract a release and copy its + `PPSA99169` folder to the location used by your homebrew launcher. The tested + location is `/data/homebrew/PPSA99169/`. A source build produces the same + folder in `dist/`. A compatible jailbreak and launcher must already be set up. +2. **Open RetroArch.** It creates its writable folders and initial configuration. + Existing settings are preserved. XMB is the default menu; RGUI is also available. +3. **Open the WebUI.** Visit `http://:6769` on the same network. + Choose a destination and drop your content into **Upload content**, or use FTP. +4. **Load content on the console.** Select the matching core and your file. + Install any required BIOS files first, using the locations below. + +No games, BIOS files, firmware or decryption keys are included. Use your own +legally obtained backups and system files dumped from hardware you own. Piracy +is not condoned; requests for these files are not welcome in issues or discussions. + +## A browser companion, built in + +| Page | What you can do | | --- | --- | -| Native title startup and Quit | ✅ Working, including splash dismissal and clean native exit | -| Vulkan video output | ✅ Menu and software-core frames presented through RADV, Mesa's Vulkan driver, linked into the title (PS5_Vulkan's port, reporting Vulkan 1.4). ps5vk remains a build option | -| XMB | ✅ Default menu, with icons, fonts and background rendering | -| RGUI | ✅ Alternative menu | -| Native controller input | ✅ Buttons, left-stick menu navigation and button/axis binding capture | -| Controller feedback | Core rumble drives synthesized DualSense haptics, with ordinary rumble fallback if the haptic path fails. Native streaming verified; physical feel awaits confirmation. Inspired by [PR #6](https://github.com/mihawk-99/PS5_RetroArch/pull/6). | -| Native audio | ✅ `audio_ps5` stereo PCM output, audible channel test and buffering diagnostics | -| Filesystem and configuration | ✅ Directory browsing, configuration loading/saving and FTP-writable application folders | -| Core loading | ✅ Native shared-core loader, official `.info` discovery and recovery from rejected loads | -| Content loading | ✅ Tested games and archives with the cores below. Load Content opens two roots: **INTERNAL**, the title's folder, and **EXTERNAL**, the console's `/mnt`, where USB drives and extended storage mount. The title's sandbox hides `/mnt` for now, so EXTERNAL is empty | -| Colour and menu transitions | ✅ Corrected pixel uploads; Quick Menu/Close Content/next-game transitions I verified on the console | -| Hardware-rendered cores | ✅ PPSSPP, Dolphin, LRPS2, Beetle PSX HW, Mupen64Plus-Next (ParaLLEl-RDP) and Azahar render on RADV through their Vulkan renderers, with JITs where they have them, at up to 18× internal resolution; PPSSPP's MSAA renders, with the save-state caveat below | -| Shader cache | ✅ RADV keeps compiled pipelines in `radv-shader-cache/`: a game's next start reads them back instead of compiling | -| Save states and fast-forward | ✅ Save/load states (including `--entryslot`) and fast-forward, tested with PPSSPP and mGBA | -| 120 Hz output | ✅ 120 Hz by default where the display offers it; the refresh is measured, and a display that stays at 60 Hz gets 60 Hz | -| Stability | ✅ On RADV (v0.5.6-alpha.5): every core in the release with its game through boot, the menu opened and closed twice, Close Content and a reload, at full speed before and after, with no crash (Beetle Saturn without a BIOS, so up to its BIOS check); earlier releases also passed a 10-minute PPSSPP soak with 25 menu toggles | -| CPU video fallback | ✅ `video_ps5` remains registered and selectable | -| Development diagnostics | ✅ `retroarch.log`, startup/GPU trace, kernel captures and optional buffered frame timing | +| **Overview** | Check release status, read what’s new, upload content and reach your library and quick settings. Development builds identify themselves honestly. | +| **Content** | Browse folders, create subfolders, upload and download files. Uploads stream to storage, can be cancelled and never overwrite an existing filename. | +| **Transfers** | Follow upload progress and results for this browser session. Downloads use your browser’s download manager. | +| **Settings** | Edit global preferences or select a core profile. Guided categories explain each setting and offer supported choices; Advanced exposes technical keys and manual values. | -The v0.5.6-alpha.5 checks recorded no crash and no kernel fatal signal, and -full-speed audio once each game had booted. These results apply to the tested -games, not every possible workload; the release notes list them, and -[committed evidence](evidence/) holds earlier captures. +Guides cover all **15 release cores**, even before their first launch. Global +preferences cover Video, Audio, Input, Saving, System and Interface. Core +categories follow each emulator’s options. Runtime-specific choices, including +BIOS lists and arcade switches, appear when the core registers them. -## Available cores +**Save settings, then restart RetroArch to apply them.** Global preferences, +core options and per-core RetroArch overrides are separate. Existing game or +folder overrides can take precedence. Unsaved edits survive switching categories +or Guided/Advanced mode. WebUI light/dark appearance changes immediately. -The title build includes these cores and their official metadata. FCEUmm, -mGBA, Snes9x, FBNeo, Genesis Plus GX, Beetle Saturn, VICE, MAME and DeSmuME -**render emulated games in software**; RetroArch uploads their frames and presents -them through Vulkan. PPSSPP, Dolphin, LRPS2, Beetle PSX HW, Mupen64Plus-Next and -Azahar **render on the GPU** through RADV, with their Vulkan renderers. +The interface, fonts and artwork are served locally; only release checking needs +internet access. Updates are announced, not installed automatically. Uploads are +limited to the content folder and 64 GiB per file. Available storage is not +reported because the console API does not provide a measured value. -The frontend now supplies balanced defaults for a 4K display. Internal rendering -can be below 4K to leave GPU and memory headroom; RetroArch presents the result -at the display resolution. These are starting settings, not a guarantee that -every game runs at full speed. The console results in the table below describe -previous tests, including the former showcase settings. +> The WebUI is a local HTTP service without a login. Use a trusted network and +> do not forward port **6769** to the internet. -| Core | Balanced internal resolution | Anti-aliasing | +## Supported systems + +Release builds contain the following native cores. “GPU” means the emulator +renders through Vulkan; “software” means RetroArch presents the core’s frames +through Vulkan. These are supported systems, not a promise that every title works. + +| Systems | Core | Rendering | | --- | --- | --- | -| PPSSPP | 6× (2880×1632) | 8× MSAA | -| Dolphin | 4× | Core default (no MSAA) | -| LRPS2 | 4× (~1440p) | Core default | -| Beetle PSX HW | 8× | MSAA off (1×) | -| Mupen64Plus-Next | 4× (unchanged) | Core default | -| Azahar | 6× (2400×1440 top screen) | Core default | -| DeSmuME | 4× (1024×768 per screen) | Core default | +| NES / Famicom | FCEUmm | Software | +| Game Boy / Game Boy Color / Game Boy Advance | mGBA | Software | +| SNES / Super Famicom | Snes9x | Software | +| Arcade, including Neo Geo and Sega System 16/32 | FinalBurn Neo | Software | +| Mega Drive / Genesis, Master System, Game Gear, SG-1000, Sega CD | Genesis Plus GX | Software | +| PlayStation Portable | PPSSPP | GPU | +| GameCube / Wii | Dolphin | GPU | +| PlayStation 2 | LRPS2 | GPU | +| PlayStation | Beetle PSX HW | GPU | +| Nintendo 64 | Mupen64Plus-Next | GPU | +| Sega Saturn | Beetle Saturn | Software | +| Commodore 64 | VICE x64sc | Software | +| Arcade | MAME | Software | +| Nintendo DS | DeSmuME | Software | +| Nintendo 3DS | Azahar | GPU | -FCEUmm, mGBA, Snes9x, Genesis Plus GX, FBNeo, Beetle Saturn and VICE retain -native rendering, scaled by RetroArch for the display. MAME uses its 4K target -for vector games and native rendering for raster games. Renderer, JIT, filtering -and accuracy options are unchanged. Higher resolutions remain selectable per -game. RPCS3's separate source-only profile is unchanged. +Use matching arcade sets: MAME currently targets **0.289**, and FBNeo requires +sets compatible with its pinned version. Azahar requires decrypted content. +Core binaries must be built for this native SDK and loader; desktop cores or +cores from another PS5 distribution are not interchangeable. -Saved core, content-directory and game options take precedence over these -new defaults. On an existing install, use **Quick Menu → Core Options → Manage -Core Options → Reset Core Options**, then save the appropriate core/game options -and **Close Content**, then reload. Reset Core Options resets all options for that -core; to keep other custom settings, change only the resolution and MSAA entries -listed above and save them instead. An existing game or directory override must -also be updated if it supplies those values. +RPCS3 is **source-only and excluded from every release**. Its separate build +instructions and distribution restrictions are below. It is also excluded from +the WebUI’s guided core catalogs. -**God of War: Chains of Olympus (PPSSPP):** a user on firmware 5.02 reported an -intro crash at 10× and working play at 6×. Their logs show 10× geometry, 8× MSAA -pipelines and a null-pointer fault. The default now uses 6× with 8× MSAA, selected after the console -save-state checks below; turning MSAA off leaves additional memory headroom. +## Balanced graphics for a 4K display -The **Ghost of Sparta** save-state reproduction now reports the actual failure: -Vulkan runs out of device memory at 10× with 8× MSAA. The new build checks image -and view creation, reclaims retired GPU allocations and retries once. On the -console, the first load recovered; an unrecoverable allocation after the second -load closed content and returned to the frontend without the old null-image -fault. This makes memory exhaustion recoverable; it does not make 10×/8× a -recommended configuration. +RetroArch presents at the display resolution. Internal rendering is chosen to +leave room for emulation and memory use; it need not reach native 4K. Saved +core, folder and game options take priority over these compiled defaults. -The same state passed three loads and one save/load round trip at both 6× with -MSAA off and 6× with 8× MSAA, each in an 80-second run with normal exit. -The owner-selected default is now 6× with 8× MSAA; MSAA off remains a -lower-cost option for demanding games. These tests -cover one affected state, not every game, the original reporter's firmware 5.02 -console, or a long soak. See the [memory recovery test record](evidence/ppsspp-memory-recovery/). - -| Core | Systems covered by the core | Console verification in this port | +| Core | Default internal resolution | Anti-aliasing | | --- | --- | --- | -| [FCEUmm](https://github.com/libretro/libretro-fceumm) | NES / Famicom | ✅ Gameplay, audio and input; subsequent shared menu-transition fixes verified. [Evidence](evidence/native-core-loading/) | -| [mGBA](https://github.com/libretro/mgba) | Game Boy, Game Boy Color, Game Boy Advance | ✅ GB/GBC/GBA loading, corrected colours and clean menu/next-game transitions. [Evidence](evidence/mgba-native/) | -| [Snes9x](https://github.com/libretro/snes9x) | SNES / Super Famicom | ✅ Tested gameplay, colours, audio/input and menu transitions; not every special chip or video mode. [Evidence](evidence/snes9x-native/) | -| [FinalBurn Neo](https://github.com/libretro/FBNeo) | Supported arcade boards, including Neo Geo and Sega System 16/32 | ✅ Tested arcade games using both native 32-bit and converted 16-bit output; not every board or ROM set. [Evidence](evidence/fbneo-native/) | -| [Genesis Plus GX](https://github.com/libretro/Genesis-Plus-GX) | Mega Drive / Genesis, Master System, Game Gear, SG-1000, Sega CD | ✅ Genesis gameplay and clean transitions, which I confirmed on the console. Other Sega systems and disc/BIOS paths still need separate acceptance. [Evidence](evidence/genesis-plus-gx-native/) | -| [PPSSPP](https://github.com/hrydgard/ppsspp) v1.20.4 | PlayStation Portable | ✅ Tested games at 10× internal resolution (4800×2720), 16× anisotropy: correct picture, full speed at 120 Hz, save states, fast-forward, and closing and reopening games. MSAA renders on RADV (it needs render pass 2, which ps5vk lacked). | -| [Dolphin](https://github.com/libretro/dolphin) 2609 | GameCube, Wii | ✅ GameCube and Wii games tested for up to an hour of play, with the JIT and fast memory, save states and closing and reopening games. One tested game still slows to about 76–85% at some transitions (see the release notes). | -| [LRPS2](https://github.com/libretro/LRPS2) (PCSX2) | PlayStation 2 | ✅ Tested games at 6× internal resolution on the Vulkan hardware renderer, full speed, with multi-threaded VU1 and save states. Needs your own BIOS in `system/pcsx2/bios/`. | -| [Beetle PSX HW](https://github.com/libretro/beetle-psx-libretro) | PlayStation | ✅ 16× internal resolution on the Vulkan renderer, 32-bit colour, PGXP (no wobbling polygons), full speed, and closing and reopening the game. The disc image is read into memory at load. It runs with its built-in OpenBIOS; your own BIOS (`scph5501.bin` and the others its metadata lists) in `system/` is used when present. | -| [Mupen64Plus-Next](https://github.com/libretro/mupen64plus-libretro-nx) | Nintendo 64 | ✅ ParaLLEl-RDP at 4× upscaling (the default since v0.5.6-alpha.5; 8× stays an option) and ParaLLEl-RSP, both JITs on: 59.9 fps with clean audio in the tested game, and closing and reopening it. A new upscaling factor takes effect when the game is started again (Close Content, then load it). | -| [Beetle Saturn](https://github.com/libretro/beetle-saturn-libretro) | Sega Saturn | ⚠️ Loads, then needs your own BIOS in `system/`: `mpr-17933.bin` (US/EU) or `sega_101.bin` (JP). Without it the game refuses to load and the menu stays usable. Gameplay not yet tested. | -| [VICE](https://github.com/libretro/vice-libretro) x64sc | Commodore 64 | ✅ A `.d64` disk game at full speed, and closing and reopening it. | -| [MAME](https://github.com/libretro/mame) 0.289 | Arcade | ✅ A tested game from a 0.289 non-merged set, BIOS in the same folder: full speed, and closing and reopening it. Raster games render at their native size and are scaled on the GPU. Vector games are drawn at 4K by MAME's alternate renderer (not yet tested on the console). Sets must match 0.289. | -| [DeSmuME](https://github.com/libretro/desmume) | Nintendo DS | ✅ 5× (1280×960) with the JIT and eight rasterizer threads, full speed, and closing and reopening the game. 6× measured 93–95%. | -| [Azahar](https://github.com/azahar-emu/azahar) | Nintendo 3DS | ✅ 18× internal resolution (the most Azahar offers) on Vulkan, with asynchronous shader compilation and the JIT, full speed after boot, and closing and reopening the game. Decrypted games only. | -| [RPCS3](https://github.com/mihawk-99/PS5_RPCS3) (my fork) | PlayStation 3 | ⚠️ **Not in any release: build it yourself from source** ([how](#playstation-3-rpcs3-build-it-yourself); its licence, see [License and third-party terms](#license-and-third-party-terms)). On my console build: 4K at 60 fps in gameplay in one tested game, and 4K held at 30 fps in another (a game with only an "Unlock FPS" patch runs it with RPCS3's frame limit at 30 by default, the "Frame-rate patches" option), steady where the emulation keeps up, with its busiest scenes still at 24–27 fps. Needs your own PS3 system software (`PS3UPDAT.PUP` in `system/RPCS3/`) and your own games; a PSN purchase installs with its `.rap` licence file. | +| PPSSPP | 6× · 2880 × 1632 | 8× MSAA | +| Dolphin | 4× | No MSAA | +| LRPS2 | 4× · approximately 1440p | Core default | +| Beetle PSX HW | 8× | MSAA off | +| Mupen64Plus-Next | 4× | Core default | +| Azahar | 6× · 2400 × 1440 top screen | Core default | +| DeSmuME | 4× · 1024 × 768 per screen | Core default | -None of the games I tested with is provided. -**Use only legally obtained backups of games you own**, and BIOS files dumped -from your own hardware: piracy is not condoned. +Other cores retain native rendering, scaled for the display. MAME uses a 4K +target for vector output; that path still needs console acceptance. -Use **FBNeo for Sega System 16/32 arcade sets**, rather than Genesis Plus GX. -FBNeo needs compatible arcade sets and receives its ZIP/7z archives intact. -Archive support and BIOS requirements vary by core. +PPSSPP’s **6× / 8× MSAA** default passed the recorded save/load checks. At +10× / 8× MSAA, the tested workload exhausted device memory. Failed framebuffer +allocations are now cleaned up and retried once; an unrecoverable failure returns +to the menu instead of using a missing image. This improves recovery, not the +amount of memory available. Disabling MSAA leaves more headroom. -Core binaries must be built for **this native pipeline and SDK**. A desktop `.so` -or a core from a different PS5 RetroArch distribution is not automatically -compatible. No games or BIOS files are bundled. +To adopt these defaults on an existing installation, change the listed options +in the WebUI or **Quick Menu → Core Options**. Reset Core Options resets every +option for that core, so use individual controls if you want to keep other choices. -## Graphics and native runtime +## Your files -```text -Software core → video callback → RetroArch Vulkan video driver - → RADV, linked into the title → PS5 display -XMB / RGUI ──────────────────────┘ -Hardware cores (PPSSPP, Dolphin, LRPS2, Beetle PSX HW, -Mupen64Plus-Next, Azahar) → Vulkan through RetroArch's HW context → RADV -``` +`/app0` is the running title’s mount. Over FTP, use your installed title folder, +usually `/data/homebrew/PPSA99169/`. -[PS5_Vulkan](https://github.com/mihawk-99/PS5_Vulkan), which I also maintain, -is the separate GPU-driver project used here. Since v0.5.0-alpha.5 the title -links its port of RADV: Mesa's Vulkan driver and ACO compiler, unchanged but -where the console differs, over a PS5 winsys, built from my Mesa fork -[PS5_Mesa](https://github.com/mihawk-99/PS5_Mesa); v0.5.6-alpha.5 links its -revision `0b2d6d1`. It reports Vulkan 1.4, and its conformance is that -project's milestone: the full Khronos CTS runs on the console, and its second -full run ended with no failure. Up to v0.4.0-alpha.4 the title linked ps5vk, the project's first -driver, which `PS5_VULKAN_DRIVER=ps5vk` still builds. - -The driver is **linked into the title**. Updating a driver checkout does not -update the linked code: rebuild and redeploy the RetroArch title against the -intended driver artifacts. A `libvulkan.so.1` left in the title folder by an -earlier release is ps5vk's and is not used. - -This repository supplies the frontend/platform integration, native audio and -input backends, core loader, build scripts and console validation. Core-side -pixel adapters preserve the renderer's buffers while matching the frontend's -upload format. The CPU video backend remains available as a fallback; the -current default is `video_driver = "vulkan"`, `menu_driver = "xmb"`. - -PPSSPP's JIT runs: its code memory is mapped read-write and then made -executable, and its fast-memory fault handler reads the console's own signal -context layout. The port builds PPSSPP v1.20.4 with one patch -(`patches/ppsspp/ps5-port.patch`) and FFmpeg 3.0.2 for game videos. It starts -with the frontend's balanced defaults (6× internal resolution, 8× MSAA), -retaining 16× anisotropy, auto max-quality filtering, hardware transform, -software skinning, no frameskip and no speed hacks. The core's older one-time -profile migration still sets an existing `PPSSPP.opt` aside as -`PPSSPP.opt.before-ps5-profile` if its v1 marker is absent; this update does not -repeat that migration. The native loader has explicit limits, including -no TLS or general exception-unwind registration, and it waits for a core's -threads to finish before unmapping the core. - -The CPU heap and Vulkan allocations use the same console direct-memory pool. -The heap commits memory on demand; each core does not receive a separate -11.65 GiB allowance. SDK `f674976` replaces busy allocator waits with sleeping -waits and exposes the pool's free space and largest contiguous block. This -avoids consuming a CPU while another thread owns an allocator lock; it does -not promise a particular frame-rate increase. - -PPSSPP uses that shared-pool snapshot to trim unused textures and temporary -framebuffers under pressure. It keeps recent textures and guest framebuffer -contents, waits for submitted work before reclaiming retired GPU objects, and -retries a failed framebuffer allocation once. If image or image-view creation -still fails, it requests a controlled content shutdown with an explanation -instead of passing a missing image to the driver. Internal resolution and MSAA -are not silently changed. `trace.txt` records CPU heap use, GPU allocations, -free space, largest free block and allocation results around state loads and -these failures; an unavailable measurement is explicitly marked unknown. - -## Roadmap - -**✅ = verified for the stated scope. ❌ = pending implementation or acceptance -in this port, even if upstream RetroArch already offers the feature.** - -### Frontend and platform - -- ✅ Native startup and clean exit. -- ✅ GPU presentation through PS5_Vulkan; selectable CPU fallback. -- ✅ XMB, with RGUI retained. -- ✅ Native input, analog menu navigation and remapping. -- ✅ Native stereo audio and buffering diagnostics. -- ✅ Filesystem browsing, configuration persistence and content loading. -- ✅ Native core loading, metadata and failed-load recovery. -- ❌ Save RAM and save-state persistence verified across restarts and core changes. -- ❌ Core-option persistence and per-game/per-core overrides fully validated. -- ❌ BIOS/system-file coverage, disc swapping and multi-disc acceptance tests. -- ❌ RetroAchievements and netplay; RetroArch’s netplay and achievement networking remain disabled; the separate local WebUI service is available. -- ❌ User Slang shader presets and multipass effects validated on PS5_Vulkan. -- ✅ 120 Hz output where the display offers it, with a 60 Hz fallback chosen by measuring the refresh. -- ❌ No core losing speed while a shader compiles. On RADV (Alpha 5), PPSSPP's compiles on its own threads no longer cost it speed, and a game's second start reads its pipelines from the cache; Dolphin's first start of a game still compiles its ubershaders at a cost (see the release notes). -- ✅ Save states and fast-forward, including PPSSPP. -- ❌ 4K output/upscaling, VRR and HDR validated in this application. -- ❌ Low-latency features, runahead and sustained per-core performance measurements. -- ❌ Broader compatibility testing and release qualification. - -### Cores - -| Status | Core / milestone | +| Folder or file | Purpose | | --- | --- | -| ✅ | FCEUmm — NES | -| ✅ | mGBA — GB / GBC / GBA | -| ✅ | Snes9x — SNES | -| ✅ | FBNeo — tested arcade games | -| ✅ | Genesis Plus GX — tested Genesis gameplay | -| ❌ | Beetle PCE — PC Engine / TurboGrafx-16, SuperGrafx and CD; next proposed addition | -| ❌ | Stella — Atari 2600; candidate | -| ❌ | PicoDrive — add Sega 32X coverage; candidate | -| ✅ | MAME 0.289 — arcade; tested games only | -| ✅ | Beetle PSX HW — PlayStation, Vulkan renderer at 16× | -| ✅ | Mupen64Plus-Next — Nintendo 64, ParaLLEl-RDP at 4× (8× selectable) | -| 🚧 | Beetle Saturn — Sega Saturn; needs a gameplay test with a BIOS | -| ✅ | VICE x64sc — Commodore 64 | -| ✅ | DeSmuME — Nintendo DS at 5× | -| ✅ | Azahar — Nintendo 3DS, Vulkan at 18× | -| ❌ | EXTERNAL storage (USB, extended storage) readable from inside the title's sandbox | -| ✅ | PPSSPP — PSP, Vulkan rendering and JIT; tested games only | -| ✅ | PPSSPP MSAA — render pass 2 and depth/stencil resolve, on RADV | -| ✅ | Dolphin — GameCube and Wii, Vulkan rendering and JIT; tested games, long play and the enhancement profiles | -| ✅ | LRPS2 — PlayStation 2, Vulkan hardware renderer at 4K; tested games only | -| 🚧 | LRPS2 — upstream PCSX2's newer renderer fixes, 8× internal resolution and texture replacement | -| 🚧 | RPCS3 — PlayStation 3 at 4K; source only, never in a release (build it yourself); the busiest scenes of a 30 fps game still below 30 | +| `content/` | Your content; available to WebUI uploads and downloads | +| `content/Saturn/` | Saturn disc images; created automatically | +| `system/` | General BIOS and system data | +| `system/Saturn/` | Saturn BIOS files; created automatically | +| `system/pcsx2/bios/` | PlayStation 2 BIOS | +| `system/fbneo/` | FinalBurn Neo system files | +| `cores/` and `info/` | Native cores and their metadata | +| `config/retroarch.cfg` | Live RetroArch configuration | +| `config/webui.cfg` | Saved global WebUI preferences | +| `config//` | Core options and RetroArch overrides | +| `savefiles/` and `savestates/` | Save RAM and save states | +| `radv-shader-cache/` | Reusable compiled graphics pipelines | -Future entries are development targets, not a promised release order. Hardware -rendering introduces new Vulkan requirements beyond presenting software frames; -PPSSPP was the first core to exercise them, and six cores do now. +**Saturn setup:** place `mpr-17933.bin` (US/Europe) or `sega_101.bin` (Japan) +in `system/Saturn/`. Keep a disc’s `.cue` and all referenced tracks together, +then load the `.cue`. The default system path is routed to the Saturn folder; +an explicitly selected custom system directory remains unchanged. + +Genesis Plus GX’s Sega CD BIOS files and Beetle PSX HW’s optional BIOS files +belong in the general system folder, with the filenames listed by their metadata. +BIOS uploads use FTP; the WebUI only exposes `content/`. + +Ordinary scripted updates preserve content and saved settings. Back up your +files before replacing or removing a title. The file browser has **INTERNAL** +for the title folder and **EXTERNAL** for `/mnt`; the current title sandbox hides +external mounts, so EXTERNAL may be empty. + +## What has been verified + +Saturn now loads its BIOS from `system/Saturn/`. Console testing reached +controlled gameplay with clean rendering and a normal exit. The fixes cover +executable memory for its JITs and ownership of cropped video frames. This is +a short gameplay check, not a full compatibility or long-session guarantee. + +Native startup and exit, Vulkan presentation, controller input, stereo audio, +configuration persistence and representative core loading have console evidence. +Save-state and memory-pressure results cover the recorded workloads, not every +core or firmware. Controller rumble uses synthesized DualSense haptics with an +ordinary-rumble fallback; physical feel still awaits owner confirmation. + +The title uses [PS5_Vulkan](https://github.com/mihawk-99/PS5_Vulkan)’s RADV port. +CPU and GPU allocations share the console’s direct-memory pool; each core does +not receive a separate 11.65 GiB allowance. A selectable CPU video backend remains +available. RetroAchievements and netplay remain disabled. Broader BIOS, disc +swapping, shader-preset and long-session coverage is still in progress. + +[Recorded evidence](evidence/) accompanies verified changes. For a bug report, +include the core, file format, settings and reproduction steps. Preserve +`retroarch.log` and `trace.txt` **before reopening RetroArch**: the frontend log +is replaced on each launch. Remove private paths, addresses and credentials +before sharing captures. + +--- ## Build from source @@ -398,144 +300,10 @@ update page) in `system/RPCS3/`, where it installs on the first start, and your own games: a disc you own, dumped yourself, or a PSN purchase with its `.rap` licence file. Piracy is not condoned. -## Install and file locations -The verified deployment is a **homebrew title folder**, not a retail package. -Copy the complete `dist/PPSA99169/` tree to the title location used by your -configured homebrew launcher. The current validation setup uses -`/data/homebrew/PPSA99169/`. This project does not install a jailbreak or launcher. +
+Authors and acknowledgements -`/app0` is the running application's mount point. Over FTP, use the corresponding -title folder instead: - -| Purpose | Under `/data/homebrew/PPSA99169/` | In RetroArch | -| --- | --- | --- | -| Native cores | `cores/` | `/app0/cores/` | -| Core metadata | `info/`, with compatibility copies in `cores/` | `/app0/info/` | -| Games | `content/` | `/app0/content/` | -| BIOS/system data | `system/` | `/app0/system/` | -| PS2 BIOS (your own dump) | `system/pcsx2/bios/` | `/app0/system/pcsx2/bios/` | -| PS3 system software, RPCS3's drives (your own build only) | `system/RPCS3/` | `/app0/system/RPCS3/` | -| Live configuration | `config/retroarch.cfg` | `/app0/config/retroarch.cfg` | -| Save RAM | `savefiles/` | `/app0/savefiles/` | -| Save states | `savestates/` | `/app0/savestates/` | -| RADV shader cache | `radv-shader-cache/` | `/app0/radv-shader-cache/` | - -RADV creates `radv-shader-cache/` itself, open to FTP like the other folders; -deleting it only makes the next start compile again. `ps5vk-shader-cache/` and -`sce_module/libvulkan.so.1`, left by releases up to v0.4.0-alpha.4, are not used -since v0.5.0-alpha.5 and can be deleted. - -Everything you put in `content/` and `system/` must be **your own legally -obtained backups**: games you own, and BIOS or firmware dumped from hardware you -own. Piracy is not condoned. - -For FBNeo, use `system/fbneo/` for its system files. Genesis Plus GX's Sega CD BIOS -filenames belong in the configured `system/` root, as listed by its metadata. - -The application creates its managed writable folders and seeds live settings -only when no live configuration exists. Ordinary scripted updates preserve user -content and saved settings. Existing settings can therefore keep RGUI selected -even though XMB is the packaged default. Back up user files before any clean -removal; `--clean` removes the entire title folder. - -`tools/deploy-title.py` publishes a built `dist/PPSA99169/` over FTP and reads -every file back; console details belong in the ignored `.env`, based on -`.env.example`. - -## WebUI - -Start RetroArch, then open **`http://:6769`** in a browser on the -same network. The WebUI starts automatically and stops when RetroArch exits. -It uses local HTML, CSS, JavaScript, fonts and artwork; only the GitHub release -check needs internet access. This feature is in the source build and will be -included in the next release. - -- **Overview:** release status, release notes, upload destination, recent - transfers and quick settings. Published builds compare their tag against - this repository’s releases, including alpha releases. Development builds - identify themselves without claiming to be up to date. “View repository” - opens GitHub; updates are not installed automatically. -- **Content:** browse the title’s `content/` folder, create subfolders, upload - files by dropping them or choosing Browse files, and download existing files. - Uploads stream to storage, support cancellation, and refuse existing names. - The per-file limit is 64 GiB. Free space is not reported on PS5 because its - compatibility API does not provide a measured value. -- **Transfers:** progress and results from the current browser session. - Downloads are handled by the browser’s download manager. -- **Settings:** start in **Guided** for categories, descriptions and ready-to-use - controls. Global preferences are grouped into Video, Audio, Input, Saving, - System and Interface. Choose a core profile for its **Core options** or - **RetroArch overrides**; PPSSPP provides System, Video, Input, Hacks and Network. - All 15 supported core guides (RPCS3 excluded) are available before opening a - game, with grouped options, exact dropdown choices and explanatory help. - Catalogs are generated from the pinned PS5 core sources and include the PS5 - defaults; saved values take priority. BIOS/cartridge lists and game-specific - options such as arcade DIP switches are added when their core registers them. - **Advanced** retains the full saved configuration, technical keys and exact - value fields, with search and 40-row pages. Global settings without a guide - remain available there. Switching categories or modes keeps unsaved edits. - Values outside the listed choices are preserved as “Current” until changed. - Saved changes apply the next time RetroArch starts. WebUI light/dark - appearance applies immediately and is remembered only in that browser. - -Bundled catalogs live in `webui/core-metadata/`. Additional options registered -by a running core are cached in `config/webui-metadata/`; the WebUI reads these -snapshots without querying live emulator state. Snapshots are bound to the -catalog and core binary, so an upgrade cannot reuse obsolete choices or defaults. -The build-time generator uses a host C++ compiler to serialize option tables, -without loading an emulator or executing a game. - -Browser changes are saved separately in `config/webui.cfg`; explicitly supplied -launch overrides take precedence. Core edits wait in `config/webui-cores/` -until startup, then merge into the core’s own `.opt` or `.cfg` and are consumed. -This prevents a running core from overwriting pending browser edits, while -allowing later changes made on the console to persist normally. Core RetroArch -overrides require automatic overrides to be enabled; game and folder overrides -can take priority. Stale browser saves are rejected until refreshed. Uploads -are confined to `content/`, and the -service does not expose arbitrary console paths. This is a local-network HTTP -service without a login: use it on a trusted network and do not forward port -6769 to the internet. - -The purple layout uses a fixed desktop text scale and a bounded content width, -so ultrawide screens do not enlarge every control. The discreet creator portrait -is included locally. -The HTTP transport uses GNU libmicrohttpd, following -[ps5-payload-dev/websrv](https://github.com/ps5-payload-dev/websrv). - -## Testing and troubleshooting - -A successful build proves neither gameplay nor correct rendering. Core acceptance -includes native loading, gameplay, colour checks, audio/input, Quick Menu → -Close Content, and loading another game. I record my own visual confirmation on -the console alongside the logs; a camera can miss refresh-synchronous flicker. - -Before each release every core in it runs its game on the console: boot, the -menu opened and closed twice, Close Content and a reload, with its frame rate, -audio and a screenshot checked before and after. The release notes give the -results; they are the tested games, not a core's upstream feature list. - -For reports, include the core, game-file format, relevant settings, reproduction -steps and whether the application was closed manually. Preserve `retroarch.log` -and `trace.txt` before reopening: the frontend log is replaced on a new launch. -The test tools retain kernel captures in ignored `klog/`. Redact private paths, -console addresses and credentials before sharing logs. - -Old `gpu-buffers-*.bin`, `gpu-stages-*.bin` and `gpu-tables-*.bin` files are temporary -rendering diagnostics from earlier investigations. They are not required runtime -assets and can be removed. Keep the normal development logs when reporting bugs. - -## Documentation - -Each release's notes on the -[Releases page](https://github.com/mihawk-99/PS5_RetroArch/releases) are the -public record of what changed, what was tested and what is known not to work. -The committed [evidence](evidence/) holds machine-readable captures and their -expected results. My design notes, logs and procedures are kept locally and are -not published. - -## Authors and acknowledgements This port builds on substantial upstream and PS5 homebrew work. Credits below identify project authors and teams; their repositories retain the full contributor @@ -578,6 +346,9 @@ lists and original notices. | [RPCS3](https://github.com/RPCS3/rpcs3) | RPCS3 Team and contributors | | [libretro core-info](https://github.com/libretro/libretro-core-info) | Metadata maintainers and contributors | + +
+ ## License and third-party terms This repository's own code is **GPL-3.0-or-later** ([LICENSE](LICENSE)). Most source @@ -625,3 +396,5 @@ and PS5 are Sony trademarks. Vulkan is a registered trademark of the Khronos Gro Inc.; the RADV port this title uses is not a Khronos-conformant product (see [PS5_Vulkan](https://github.com/mihawk-99/PS5_Vulkan)). RetroArch is the libretro project's name and logo, used here to name the frontend this port is built from. + +

made by Mihawk · Built on the work of the RetroArch, libretro and PS5 homebrew communities.

diff --git a/assets/readme/webui-overview.png b/assets/readme/webui-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..f23654b4352b5c397e7eb8b02b4d2dfde8899717 GIT binary patch literal 130145 zcma&NWk4HS*EUQIm*NEq6k6Qfy+Cn?;-$DdDFiK6yg+aX?(XhV+}+&?1SiOsbN8I* z{rl}d44Ij|*KApGt!srSD@tRa5~Cs@AYjOR`K*e7@MawW;WYvBOZYESsZm=92yYQ& zK8vaUNIhP8i+}s?DEQ5RsZ^}78{8Ui`zn?@AFu?z{Q`w|||9P%Ys$e8} z^AcspYcxG|p_!w)I;NEa(&{WduiZ-X>a6<*nS0s`_z3W3Ve*>j?-l%78QJ2$YvOk= ziT}O!MGW#q{P#M;k0RsWHxVqp{r`9zh2!s=XWb0LEbeY>g6yn9!kio*8-4x8sPY-} z>}ZRvsn?PF2`9f?dsqcMO4q&Z4a8JHF-G>8hpeI zOove1|8?Dgb&{qF^}{dwVt%NvBfgp$XXnQ(gDy(?;a^E_9r1S)QkRZLI<%aPQm|SF z&_!+Ej{gKQWX2Y?S&$<`a`hyl zEi)MUR{{hCLAdbKQ6K8JFLYZuV$gE7KQCf&O;)Rqv&ZA(;m|UeZgy2uK2DK=F|NFc z$)Vi2V=i*d*Tm?5$Kxb+;oS2OC<@R2tYc8)&a(25x|uLXDHkf&xI_6}ycBkz7AvS$ z{?8cx%8=<-40@Jb!!o9STBuc_S6wwN%l)$`k4s_H{88LQ z?SpHQhY$Rk`zKOmCVssD{l{-y}lDvkI*(w#ri* zVKQ=WZUe?uA9a*WAZ|A7;ir94RO;!~&D|Crw6q^m{ch4%y{2Y8-@YOr8XCwi4+U!} zyK>+WCXAz>mV3Q}@Avn1IOhzG20gv}ceNFkro-=) zGBP$GbV`X3qQ@Kk`Fn+%utC|OPo|$|SN2C+A3d_NfB*8W3t3KPSlMTOU;*Hu zvk?avbj#4p^Rn->{Z>oO+M8ef3~9CDFBw#Yh4o>kJLB8Oc(2PuCD7aGG~xv73B9;H9wi^E z-JC_|7@~_;Z{L37k6^EY6wnnj8mOuhlf>LTIORYtUhe`gpt3pebAKU}A+;$YEo3oc z*go_QcNIDrQ{`$*wpcf1F{89LEtYhbewF&2nNs!Kaajbr3s7@)f=?Jn_O!w@OjA4N zg2s=S!y>G<2H&!t(La}Q<^(2iCcC-`&h}o?^H0u}PIIE0-VFkks*#~zy!Vn*-z8-i z!E*bb5vlo$4hIWmEHlNTT^`)`2Dg}ky#aQ{V-MfRRy{|j8BDo)3ooSE*4mr3z$Q87 zUQ(mb1vGBOz&Da25npG`EfPkMe6UcFby*#2lk=R$UXcFS8yFmRv#@K0bQyA$1dEHF zy2!{JB&Itrx>(_z*d!4xT;90OYpAfHOJE`>qjAv0nJ09?kMK6Aci&D?O69wYn~bBj zm_bP5>pcrrW<~~{>OafcGke+(G^GniGJ1+q6eQz`+#1-}k1C^D?{0uSs+Foa5*{oB!5vDop14g)H>g2jly8V zk1JJ9liEpq&CmSzo0-<)o>i5FtGD1Fx8sGw5sooS37?5^&DQf>A%Dp-7%ZAoU2nK;3r-lnC4&CP^=ij)rNC%{SlOo-jm(g@y(z?GM?W_*~6=S$eTR& zpj#iFSud#jE*ry>`Pac1!S00H!g2<7VscyF?GJZT8)@b+EQpjnsn`C}>}fuhoTNe} z@EJ4Khm7LW<;19kD~Dh^#Od%%gN0D!o*VQ1it~QMDtf+tR-!@R&_#X7Ii1@`2_iaV zHBYXZSaY(^W_^r-8jE-(7Upt!k|tt#)mopQWBTd9PFq{sycxUNC+PztB_r)8-lK%` zO9clTBMv7hf`_H&3k5Tey6{wVHFI-J{WwtkzCcMR+1v)j1n^0C_k1z9jf}LZKDF^j zOF+)Mn~CERy+x<{nOxlr3GIvzSwJDOrR112mmk7DIy**>Zc$LI#EFW*t;a<45Q!Qap`T=nKH(Zsol-U%`Ge$@r#)Y{6>j!pQ)%qm*!J3}i`k$qh89Mn z0KnXuOUQC}smiw8XhHRAlY1>eE4v{u`ssk%cIIFu`(SdD-Q$Qqk`<)+7R^aXxV@K$ zAYeQHxQ5^sj)i6(M;0p|SDUjbUTsJAgYY=I3+95TfJa^K z%nuW>A476%*>NM~(z%?-Rbt}E?YL4L_Q%CvP)-rMw?#TYLq=_BBvOEF=ulSy3EB$n zp2RLnKwP=kj2^~IimhvmLrX~h@0%>>3uKfXob9TyninFZkDd_6SR}{mL62P(1}neV zU6u1(c302W>!ZFCJ}kwf78>0y8nhR5po>ww&_}y_;war#?@_Xc(lgQ$T`=tVQt?sW zz)i5u)!dQL%+J#xSl)^DWpbO&H0Fr@MVl$}rO`w%&S`Ajp*W$DirBMO$W0WIS{oe| zjnzg8+z9dE2mQz!Pc`voGo&j^$ zh&``Okx@}CQUJZe7jv@QxCHP#hA`0{BE z=V!Z^Jy-F-y+zRII2Lj%czDi_%>tqAOMnmY<4nD32~=g3&Em&_uJdj_xp3YSE&UMF z8f!46f55zny_OICooQbaE{s`4ugdfB_~D`JP3*IS*TK&8pr(dC9W#G)@)s>|uVtH+nmpBp@bDy+>R3is{}>6rwQ zOhe|j-w5$=2~EM`;<8x<8T*q1OKQQ4?oS=PqZ9Oe6meOvxlP=U4n>T6s&40V-n1*7 zjJLiSsWZ6;r^bajxj9mbXK9VDCGE-dNjuvCIpJa8t$Zk?YQMe?ZD7{%9)o2q5 ze&!=tC;4t^O-vqJt7&wS+Pt=396=?knsY#`G)mj@C)mUFeeafC>OrRm-m zlm1gkWw_B|f#Ca$$S;*ENHxwC(kd727ax)u+2~neF8TKDakR~1&F1p& z#0>dCyWLX@E)&0z*b5_gNT&WJI3sE-=sL-+aa$Sbm38mO;uWV!G@v4TwN0k1%Co(^rH=J}GXqf;E#~kWC(txr(YpAjm`hwwq$zb+Zpesq6$J=U1k&`!h0? z!T=k?Nh_F2nXmQ1u{c>31yJjvE^^HSYnJ|bJ4r-O&f7ouXmEVb7DW!mIN~3jFMCDP zJ;|1E#If?QQ(G`H1>Q3yTmVd(2neb3h-g__Cgqg;O3!^5buWK@fAvL7A$8?gD$pRX zFdJH&61^Ogv!BXZuHIIC0d)?&VRo17oGP&`rGD7>^og;-eu0GlOC}ccvOru~aN7f( z+GN#obJMO<%KJ@EjFZZ-0Zms4kUg zRb_eJlB-4m)n^GczvJE{Y^DlcO5raU7eR)_!L@8}+%GcR;dt==7a6J*FV~3ba{%TW zv%Kx7$B~VMkEA+RGwn4iG}OGYuoe&xhOUVO-%u0D3SC-eg2YC2_|N&V=EdP#L$t-x z#p-?h+@w?{JZw)_p{!@dBQ^$7xQ!T6WV!T7`%@OsmQ|Ul9l27Iq@?v*%jw%4$zl%5 z&H=jG>ZYPk@2A7|cC?qozAQK@WK|W<1)dKE)OKli$5$f-gIEX211Mq0RU3*zS;Ie1 z-ijd|z7VEhA!|A$u`FM#%9zVgl$#sLf}%;=tG-#VR+dioc7t#|MxaMr-RxeS zHc8&5?~F%s^!8GnG}rRF?}71Cybao|>F~*x9fJg31+p9gn2sjeyLbKDr}W9kI@UXo z^IGik+PBQmpIo<6=|r3nhmbMR*L)5jA^>J1q{wqOtc>>l>-79~c$h`RS_SLUn9_B1 z@qC>A_=)wWz95_M4mj3lQssP+RBpd)h(k$M9x>vyuw?KK*`gYTQSO1zNN|$!WdCe$ z4PZ>?1iW5p_1a;((B40RyQVSGar|&=`ExD*5oo8TX_k#_A*Fcm3|qT!Mdv(_>I}^f zBk$$(yhs)CFrGZd#_O=OC?0)u#rfDF*b3w4V~cYW+s6R?#G~H=Ab7XP&=y zX191x3_@9LxE-I@^SPXU!MRf9zg0l@iUr&>B4F;y@rUluar>E8g0Ss=TFzxpraLYR zj|jbzj4Tr!^TecPY)rh(TrFR(L=}`BuEXHoY>AD6J6Pq*mkQ@{?#rh6<|w;%i@Ds! z9MET3)#TKN;8nINRCc&q?g=K9b;g%dK_)^*&2%vh4Z0q{ z(kq#3BwU!MNPnE#mG#rhTt{{wESX15WiHle>a7q%AdwH(99wK`4DJE{D98zSbxS5* z4Pfg?XT)!pqbI5-8xZNL;gUmL;&#k6(*nIttI#D!;{S)$vImO z%4f{JQAc|*dTRPoQZ9N2_FG1Uj~$wY$Q^1VoZ4J7(szx)vHmM7=(Fcn1#?7{5M;fD z9dg2C{EdXCQ6_DTgjh;G*QqSyT>VdSY4ouqdL!AaoZ$=XkRxVoYZow*!jDK}oyOiSPC40$U% zo}P|1Hbz(E?rq?*?X!oR&ljAY+Vu+&rQJ$WTYi5@eb98i83dp$l5=QpWsE|qysRHX zm!rZ!vBg~wb5610_mT8ekowS)ERUcIgy$soub@BbQXjQYH1={XvvQ> zmE*df%gE@ji)b2R8m&~7lJzD!iL{bYZPez7@-!07U!KT94trReCcZrSB9M=(x5gQ6g zV-UeiMKl;ApZA4l^zAR3`@IBE;bzUx2ffj9l6vBG$(it`HWwFV>c<9TpTO8ycx0F@ zZk!06qCDnmb{;aOi-DFhf2(!})T0wb9$#TC@FHS|L$it3UJ zUMpj1VV~mF0GiyHF@kHO?F3V>%XL^6YXM$9D?jeYA!2pJ;O6SPd21$=XQ&iUE+Ohq{{TlIvSDY2~CUJ3B|! zUN|fQQ2482zH&w9^8L7x=bAe_s#gVVGa*F;LMZk1YeCJW zM1RDgSq95kG0iE1&(l$w&sQ;Tia1@6PqYWt>E`_;&|>d^6j)<5J2*NysxBr|78Ix6 z=$;0wzjJ?pfRx~>e69J(rgPA880PuAxTNJOyxd{oeqkta;n*dGc_b!Ql?B|gQc|nG zlb^w|I>P~Y27IFeCbT`bruJ7(SwCxwLuejT-Y+<>j$M!naH0o(kJHMs&gfO7Eq2`O z?P)Nv6;fOxy?G?W#vSk`r z^&{NIR})qHt?TLZxKvWpHJ=ea8N+^Y6Wkz69Ah&ko!8>k_5nPF?Heh6pd1^CqPBH0 zA55!J2o0f4$#}hY-~O~Zwq=>Nml5CLD0A z{9M(oZ=Oi&PdxK_Pv^+TMd~{MYUhAO)yy{ zQ?zIgM1O5C?+_73JaiCSRkJ5utPnoBn-beLiNj7=h~j>kn`>X&)ESJ(;reQ!UWvD# zm{j_m;rwB><)m?Oyp@y!h*M#E{yekjGfObLm|FuaWj>|iky2#oEl9)Nsb*KmHLApI zNS-cZi)$>nas=oDtysGh`EnrdWHXv0l5+mIr+OwGg7p{L!=`c_m>-w7BFS95i6zJ( z$3{&#;z`T&m#S;kA5#t!YWDjcO=az~Ioc7aWMpP)VP*Mt9T$f%?F-U?`lK_f`D>!Q zhx(R5N%~l=f?L~>FU1zD*hPmHjWyvu`-~gVsf_t{adGjMK*sAt_tB~lg=B9F!z@}F zzK|*Yp7ihCAo6B*@K0MxW8PPtP{0p5dRh}2xGhg=8WmEIJ?5B~YbKMiyotd;r1@FO zKqVgNN25SmTa9&7F=a(O7@b*J-CvSe_iY$@<-Cu7vgUR;03#D>2@MS`(sSQgFN|c^ zHZ>`dTcCZ!Ji|bFjex+&Uywap^(_j|2wTjHLDEVv+gOnQtJhvU9$~WOx7?0aP?YaC zeAthRR2zkTvBW#^S)CwAjLBFF@4W0V~*dqsfU*gf9Bpb>_ z^hx&LiFf_HbgUuHxH%Soy_Q{if8_ek?1yPW``S=X$@I@8-DE96Bri|X7G2e$2XfnM zt#>c$Rwp8zhuZD|QEf+T1L5q*i(9$KYPocaDa$28uWY6jcH<9!~8IO1wHS9HN{SKCwN?y-SysY_oTVAA7a~^ zDDY$;wyY3CXK3qdzYlX?Wvf-0+r7LF$BZ&IG~RFib2+U9yKG0iU+$L3qInjaTweTz z`DY=v_ZE&{sNmsjlaDf?U`6Hu7)8o`h1op{oFTI$H;mRxweBk{A-RRwWW?_}y_ODy zHW1yo#@3Ip=d)Uk=h|!!-08lWh~SCaQ?JnazvC~v$t+H}xPY!0y3gG+deUwkP3Dhm zHJ3y5eHI%5ByMLPQ}PJx%3B(Nh-A!dm`u0jEp>a4EkY&F`EE?KNY$wV52XZX_O5L* zG+w!CV3n2x^=u>DUT9|z`%*mdX75yk02`-Uv8Ue&QEYr#)3`__0e`g-x($bS8vzpj zlrx-h(W3|m(;dSqR9!q=^sFoMiXlvFby}fk3Snmo<Yr=ohPQCR6)4=_<8lr+RU5hmpLXzKz9lp{re!5^e?Mqx;}>1~wqU&=PxTiSg`eEv zi}{T^0d1>R{HcI+Xk^y|4wuk@=HsQAt-YjWG~kL*d8;M0LGZLu-4bqG@aT0k-ZLtD z>`W`{on+6~V{I{}YEYSq-07eu2eC7Zxs|1g#Dn^kdL^mky}HXtItV9d+pl$(X%IP& z?UUjig!gZ8;QQbGrTM6YUp69S_NJut%zpr|o(H8T#I*k{*m9fNEDS z=mvce+TRA8OP>(zzc$E0@#w$ZHG1!)%8F zIQG72b7xn{p55z_(N@0Zic8oya2en$T)qWlfqyPH6V=wlNy242tBW2voU~A6ewc%E z#q7U{KXuceMSVReMm8`ZMzlL(#m659!p>btglg8C6LuX`a0vK2dy!kZR}N4ATrQz> z`=gro5QD92CJ5ZqVQa$3rH3B63Nig;&*(Q77Z+5cO~`z^-GQ3W0(IV_dk6I*W1*z( zNq?7X&HTJ8^(j|Q{?)nXJ871RG4zY*AsgMx3CI1c1>=~5-)|I_A-&tC8qI{~yP7ot zptFufP0*0?FsBn8(@>%A%4zQ)?XL-9H~=mX#dgZO{2LRJ1jUV%4IOF$Q;pm9sOoM+ zH9L(16&<4*K&&f>WA%z5BXKc1JsRHSICLOOfv<+2_5L&_M8*V}j9mCc(cU`jmpop2 zer>SVfm^#c^9pz-mYTxTty)W!lV%I(Bz!#WF_!gGu_42n0t{CByvFPg^_3bE7pCLp zxwN$^eSVp9h4AX0<%a`%fN;jomKZqgz@8L!TloG~-a`GGl$*!Kj*sWT2#7j_(i zV*kuaU?sx?CH}>nly*Rcvo7qB@Y!yy^bKtMUSAF=;*^NseWTlfoBpd2FT$ryObc0s zqfy&qG_=rwz(9{PJ}WV92B^VtseNP|M8a*7uwG+N>P>L;1Ah zMp=a-zwz5(OY|z4AD~QdVq#9O%FL`-QBi%qq;{pmuDNJIyH}#+_=Na02lDABvWl24>^aI zvcB0n-YTTlF{bc)*GiI&`AN6M7L{^vQ@P>w7#td#;ZlcdsV^+s`O!mr<*Bj<1{h;b z4*drRko7?lvpo|!O8S_Tw7pC3*F>llZeWAw+1_&VYR995XAbLw*VoheHPhj0NaYnY zZ3^iEo{K*x@G!3(h++G)7eeN<)iiA9qusK;9c(PCx8}*=h~lJlopbkwOm(nQ zA{Xcdg74vhuA>fMfBiS{0E27^e$^yzx5hO8dz*ZfK9}wGn!VB$G($Hs+etIu&Kdou zbSz`iW=k3=vvTsAf)C~20Y5c`&&-ed_awA1Tbi@h(o$=>R@H`+nhu0lOJuAgoON5Y zu$uQgSUjfLfo{tZv3Y}Vh;%UzKVMiyR00rTL&BIrfuz+S#7AhiTOjx?QUhX10QdER zeE{tM#+)EY+NG@A8hMk1_jWvw_Ivvo!%M-uO!A<(_u4y({Y!F~wY64-9-b>p4dYQB zqXvr`G!#se)lB zG@J;vrN#G4#wopQ%ORV<>$2?R%1{8>xmBI{Xr=>CyWzb3CRJ{s^HsUYeNpWmyvPTU z3~Te?wiU5zV6RZ&1ZZYHGY$gwcjQ<0Q=X?cVqf&z*=;qy z#z#O9^wrOg95O6o}JH#v#9c|T^~9T3_pwhCOQvWnFXf{@#9); zW(=pd4rDbu1L`!V9t+-3Q&7TYJ4LbC#0Ep2jSv3E=@QM(%3~3-2NZ8v3%=5iJ>j>o zNEvi0Z$^K1*DicBck>1hA5?R!J9kd-xi=8iN$%-!M}gGb?2zOiKwfg;?2qB`HIp-6 z#d7Y@yQw;Vj0UZ`EfV|T9nH&`)+ace`Z0d7&|=Q@tJD7oWVh%j8w&|;w;1|1AL*$< zcxe~wCi^KQ6X*{JaI?6NpkSck`9R;_L_^1Pzi&xA#AaHHWk5m6tlpmBX|#byb6YtL zqf^xDB%?Eb-iu38{brFpZ(33qtYm4U^Z=#-57`lF#s2S}s&c|R_O&3taNzEk(CIBJY`!i`fxeeTQr$UIE{Gh{=nGr=9Nc z3R6&r+$Fbln%4b~)!8N;ctcCGrXqV4XolUBzN*Ch1=WtFQgbeBK$Ej-~Zix{A>FFEVn(y8D3R zDIE#v2qu*oIF--|YR|#L4$d`(Xv#~x#U->|%cc@IIiKub?9}@Vx+vY}uXvmiDF2T^ zdwc(Od|Jj#YBpB4oIU~a)%mRaV|(r4a(Jt?P2m`ie`Rjx8Qr4`daVmO=cimMINnSt z{=F=%33ixCBH&+GyAj>IP+WnjMI|SCXbrst*YkOupjC%2azJOO0$+&Xfhfklrs;Ulxuv9tRHwsiZ5JN&k z9QJrB*>iM*4NB|ESADD?xlMwSVo$+GODf;leMT15t9~mhHofmG6)b7vIKjqqI zNz})urP9_e-0fwOn4fAjJ~2NoI_A?oX13diex#$Ca218gN!vs1mB_}fzk~qDr#JEq zY19o)K!MqP&w{A{AZLxnffR#CBW&|p1d~-GlMp)A=sJtJyNt8w-Q;>a<#Dhr^6%>U zKGVMDypj=B{%r@R7)gW-6eRi2LsLtZd6Wd5sxDHO7K<%tRcy{Lis)Xxd`WYoH$232 zc7=?W@Ro;t&e(i(i~$)1IX|QV5Pex+k@2h9n@XcMT?2#SVQynB8Q}0OpN>OT@yp1U zp~;E8OWjNyIQwv|ZZtn+kSHRiNW8kv?YO4hTv<xUe>VHisk|MHL#IN6ac+SHp*nHr|fCqjB9dpR?W3%G1#Me10EsGR#csB9J~i$7e9 zEr=+Tpc9Qs)*|T(I(?+)G*cbBa~mlI7%q2=lH+14Q7yYxJvx4c3x|!5i*k*1BVlZ@gE}^9rIfN!pJM|`gLI;iuiU3Q67}EOS(6FY-E&{{U%LP|uExlbvOjKGJiW2b zmy?yLh{8;p&o}sw^6o2DU<6k+*WA@?c_B61mlwfhb6%ZdTR=KmXAjX^AfizFO^_uo zUad0Dgx9y=Q-5K-mj|n`OjQr`(=T_(0$xrKN$xa?Bui}{rls0FD0SY0tc(QBl~C0d zqnbG=XuQ~f-I0mp6*e7_jI2Qe$FUCJmx2WHNVN-e5v?4nz_O5a=h1?e;BKuP_(N;H z(Y|-5hVFf%2NYA_@pc!DI|I%T$a!tPX4tQb>m>6Z7GOP378>hK4A0~DB-MVW8tKu@Y8he9Lxsq6fyju((*uYwRU34)O>fCyte8?`|nc&5icb%naJ5b;Uept z-s#|PfN-(D1_&WSvHLaW3xiIEy5a0_|Gb^J?dxZ+EM_?ceNKjQw%_Bi+iLjvD0 z80sE4Y2!gPpCA&CQh+^0k%nsunF0ABC!d3p=^zg7h_=GWxYnd{>DoE{rYpx!Irb$Z zY0L}^TWIi8ytr*jPC-!NI*y;B=;f+4#17y4B z?jtSZt?}Mw__Tceoh ztuR<*;7nQqn)rZodR_502Ib z-v()FSGpRMXQo+yO(l5PTjtN>RwIna)7^o>cU|e7JBR&11D}LBBWXWK`rSzcA^|=D zhv5f~k71DI_pser{rh_3e8Q5XQ|L4YP4Rc-xRUVWOOU)>dsK5mdW*+xt$6OA@pq>+ zKdbb1h}1cSb67VzCzcQFUM+ICek}elRS7tPX@O@=cmMpxQlj|CqHsQ*@0Ru7YQI2X zzsj+cBRQ=F(gOl4&!70m4P}NRAC3S%8zYM2nhQMkUDNeU49`2%?07$ipKNg;+2?HJ zeIpuAJ$`1wGC!2@0E->!TC!3x_CeHDNohe=ho?e~_eoT+ z*ZBqVb~^v|_+n6@Jza?9vNd$YYoDilp0+_tl7+s{#^aJNFxoqug^uke2OKWB_q%RZl%ucic9OwhpN zLZ}D0vJ*Z%T#ZzIE?iVrx(I~RGDIA0b!%DZIW_fE^?o|z;wHQ$=Q94l!|PyWO-M@C zpVpX@1L{KKezCFQ>*3-#7YO%3Dz&BwaB%dREU$lEb1YbY11~!}&TqHb_{7iZCoAX+ znnC)qg&T2mq`B@T1)J>RWqDag%?%d>E@W-%{`D%E?z%X)5@O(BYg z{LFuN!dpSLIW;|f{tOLXR;z8-UY-|J0wY3vVRyIp3N1e$yH@W4l69QRx|!&yCykYZ zr(k8Qt_~JU2WBV73kQD2Kvm5h=yWVyJLPQ+m2pFLnuzCrC0@QxSGeQKs2v!jtAf|- z!0ARWwNn=>r~9_{$O~bsBO8r=U+Qs&o|9f_8l@}Z*(8#2PHSVI^FPvahi+cG1BjfO z*Jg0_2sf?rUP}!o{pmv~^L{^E(QEUV$y%LHDDpht5u<+S8zt@<<#t?k2&HGAWWV}R zCZ6^-*5&)$8#jJ>&OEro)9uefu5* zd8pWJqUhOBDsA)UdJ=BVH(Dug8~x|3+E%&$Zrl#6TyI6k&66zXbp-iZ_Hs42s0Wyo zse`O;5N}Shcm{|)cRJrwT&gd4HnNz{Z*aes=wNeNM3CSRa!Yn9fJZCUq*lLLVi@iD zak1YE8LzV}TdOC4KnB9zVKCYe`OKK2Aa*sLu)fmOdzi3npoI?H>&kk&h;GM^OG2c? z(c*P7w0a`aByb~ih;d>zmz(3t57e%`XH^t1vP5uQ9PLDI#GHGUdAHu#OnYV zjP1m|-zT!PB(ac{mC2#bmk#a~Zh3lGENu4Fn#&6ageFI}>K0oUqoSbfn(VYSKver} zGXT5W>0vkJ!Y7OEX}M{Ijir?_Mc>se+>WmP86PFWI%^*Bl_w*io+~izDkpV#|q5Hf%?{Rd|TNvu?}!-=_<{PMra= z8y;_O=_BSfxh8Qu=ue-yO}Wb*C+kAm8Zw!Oo;ZKdtzBh~3a{z*+mTYdz|Q6$Hdzk_ zbZ@=?x0CTd)7^B6q4cP(^5(?9qZ`vxvl##DfBg2Jdzhud8E|Q zRXtU26dFfI88#xm10|j1%D5AF@b#Z^@s-LWdzoxzdy;7Xvo+(&+}X z^ImwdEd2vn{L@5|J&-Nz&h*TamD;0M)Hy+k_Ox`&JJ67&e~a=EI&QMP%Qn@iC@4CE zDF{FJeonM6sK_YrpXi8*X)N|FU|0;P_KZOk=(_I?rzesx>rh?`FTFV^nzPA8!O+MwC z=ECbXg5{5=eB`n0?#icT*P2!Hiwyw>Yo}5AVT}M5(pGn~=b6;wWq2MbwM6g#b##dj z96!rMr=p;iku%JO6xc0yeH0j-WlN&~um}maT?pPVmr5^*`p^DTmGQT=S+6l?P$=3S z&ptNGD_3mF7%l@=8n548(7BcH?ZY)$THe+8qD9*Oo1kL`1GAJUTaF>21Rh6-)NAP| z2saO$Bz5;$l|2T@-fn_xax-53q9g^(B`v#v;DG9=$Q1rI{kcdu(*}5XIWjayWP#i;{I43} z6gPB4CpPftTYMI%3kC8BaG0+a#DSwnS$Fbf9|fWH9|83;L$Z}rKBRYEvfwwMTh=Qk ze)h$s?yxjXbpL2%q(Qx~t>3*J1=idrtk#KuX z#1S7UTqNCl5;9^%pI4r*?DX3vS`Eis1-Jtd1Em52?%ZK_u-o$>Uc7NQnxO!54=T)U z1cB6TT!vdy0EU7deH}jf26lch5|+7y^i01Ex&cc%nN(yY8A$^f?aukG@yterDKl=v z<}s};LTq9UQ}?e9c>ji-x0xR@3K{UZX3AQd`Rc7sVY9(b1a)V_6Kdt)b|(in7pol` zBU>>e1u32TVsjRVUTa)@vJ?kg*B4qA^h@=^Ya3)04ayYy-D1rZ@Ck8!9AIRxo>ku5 z1@1-a3whl-nRyVbNlak7PhdORuRM&BH&fHF2slAI{62bw{t9Ikp|>PDpdT_d&Hbz8 ze8~sun}@G&a-pVm+UaFvG??$@m_-^xqWmf;0(noGTrzU{#)fXnXGjXht3osk3=FzHIqhei$m+$L^2L&Q8TCNviLfTHT+lu30XQ zNl$8BYK*h89$UQJ_vjcIFV8Per(3H_N^H!`s9!xZrI!ga?ArYq94>=V!oS$L|M`CJ z+EgJ~hgF13PPh7;Bbap6HLs*3oGH`ha?dcI@~^+-OOEj}IT>E=`2+Yv(!>fG_@(v zHlCr9ykYs<%_A#uunUBag`oX;qL{#{&{RaSRR) zazE5%54uR{L>6?xef7UJ0#bu*+PJPv8p)ASGA_U!jYe`!H_g$$wWo!eJ)Yg*9P128 zp1-Pi9Vy6n_d=f!u&_Mn*;yXuDcIU7)S{}Uc6E8BQ)640lhyJJ_M!VJqbTq3w69%! zUHZJ-wDD95{P|KoCGx~%#{}zixxd3_D6GHiw7huVhRbQw7dsYl@C@BOB`(R!Bb9uqYs+X9k^W`o5U6I__?J$YXnV_sWHA zK&zmv(8{Dt#O&~`GlTIiNs|M#uTJEdi*rK2!3gc5QO~edpLgfRRUp3JV(;tG@Usp7 zkLy2i(yN3?QU?qEJnf_U^>-cQ*NU_9*?zuxR_=}NxJXf@u5~@P0aMb7v#b&_mIt+H zTKjMvq4ix4Iz(gV8Axv>+ueUtY!|&CMVx8wBx3-f0yuzKjZtF%sSXd}{)#v13la%;95n-CBQc+P^R%yQ7*0-59YlaA@ zbNLUUHki}SLqrQz0vUOX7RY#zrOD-~=jucI`27BDR@QfIKBBgS_3^H2NNYQXMx*1# zYG2&*Sv+zWvZ0ro%joTn*i&Z9&Ph|v*Q@s4xVg93#8(fQVddtc^6KK^dNBbx4SA8t zm4$7_axhKO)Yq?H(;L`3%78VqFPttK(ctc)fsebmo_M%@U_Pe);^U1`TNkwgQyuwJ zHMDx{{Uchd=c&HOb@5mf3L4t~5+-Nh--bFh9QW6m^TE0DMD^pPw9`xsm!6x&D9NN| z2bXWLZ?{)O!lF(}s7^Gq7 z?(Q6zq4R9t_x;Xw{(-Z9Yxj+ZtLF(jQ#dg5}nD zt6oo6KVx$(^)6}Qgm1sr>8LGIf2@U7G_ZH{Xv?r(gjYU1o!j&3>S56_TdH#G<#^S2 z^8?87VV2$c1A~E;%>%rW9+qM(1(cD?NUfAD3Qv zxa{oQL%kHM<9py3NrpQwD&F6i{LQhcjR&Dv_mjKfm}i)kPBok0(sGlpTRZT}S9E<$ z0BdiHVGyV`pS@gX$kf98rwISYM_f>DFl#ki-z``bBo#UIFpD}ejyz2i{yF}prX44I z2%|@itOqO{UKNcpB+#_usPmMFYy@dLRMFqmSALYqV&~50yo`5-)F;_DPxBzp(U6Fq zU&IPBlFR)18`A1P%WVVli((_I)(3#=uG?L7$5m`^z41r=_<&HbU1IB+mPZmuOz185 zwcm^?xL1AaA@khBV3H!gxP$fmwK^2C*v_P@gszRpv<+DkjW~|GwnLyAteQvKb%ghr z=yfr)KbiQO!@hfjxGberhx_>k-2O6oU;?MNNGTR)msrJ(R-Pao8VJ;_pMZp7@v$;v ze$;nCr&In`QG6dml4(h&a#^*%H&(I{Bf4W$aFf|;U$_ypGXSghjni<`2OX+QTT*7L zt1KYosN4$8e>{av8&1;ALHd1b+ic}zlellF&44~8jc z+C|7p)6FSAMX7>@XoJ*yzzxJV(Kv?E{O6rkpHS%O

YHV?Fw+-l(!gz-6~OB5hI%aJs+j^dB}04HcZ>638!kKJ;zHr%#Vx48Co= zI8tx*78NxhmEYcIdN%j)0FH3)_3Eiu?c?5vyEJDGA?0^D zBP#v9jdh0kUym41g*GGdcg!f~bg3IHg)+Y)^BagT$AQ^=$xA)%=VUEAGq%91g2w_4 zG_3`PD*uz;UvA8@8@?9~4TWAZr9!$}!Q7~JJ{wN^qgzmPj>>ZKoRf=_V(qsC(Hh)e z>@CfDC)>AcJ(hGKz-kE~L1Gb{+gtdfHL>BeE7_Lt?ojV<*TW<0@X|9iR28TTKuh{3 zK)I4X=|kgveOtlkFmCyTn|UyvmhKZ8`ma&;Nqv~o1B+KzR>kjvNE{SKFt56p>gk9P z7zm`Kv1ISvY8(#o0Gd-W)*Z7sRFLis9-gFpKNkdcH(Th>dv4hogNi9_T=oVBPxEBq zj1avyG&po5y`>{L9~ngQX0h=mVLpPAl9I>SCOS11an??MoSj9UA`&$tzxcGp-&+?n zGze{|sc{@Tn_?nu#2}jTIEELV?J}{>xHfvt_6sy!T7D6{8m+wVktf3^!hPsne>|-< zQmbsTofvQR0=;Q&YRN$E;*`7*dUpELjNd z0A8Fr>yrkx;L=~O23qpIOu_>6nL=+o1C7a{g8$CP-`?TJf1vx z0?FtaSQ_d1{`fH!nh&yzU%KlhUAEJBaZjqr!5kSIANuR3+xcWTC)Y~bk?Rg=snO=Q zgd%NTmwKpu5#1obp%)kiwG{IZAC%Jj=;66N=Vq0r$m3uf;kVXl8UYK#h^H9mZ?xtJ z=e(C;G&|cMT;f#Qi`}iti6E`HWb~IW;nO&=06;IooHrEiMI&?VChti(eX;vbo8pAb zj7LkfPfzJ$LI7wXN8sPz;}>O| z6M)Um`H)`ie5;3$gbiVC;%x!IutwxLG+QnCRu|Hhuh$Ss`^Sro{iLD;m$I+&#hYgx&^e7(mHm1arox4iEJ&)Ze=*3EL0(H?}yPnk^68 z?KXrk^8n1=l@?o0eg+X8Kc7MDR;RMX0w(Gjn=hW+Q{1pooytmcA*SO^dR0a}p{WkA~!A*uFUK~cNRvC+A{r95pNp~4S3 z!~LfMa7X=Y(_1({L2D#n-Qj#OwU|r~t_pCRfgKiET1!Cxbq|8U2ryQU(PjyTDx*)sPa-D*Cgek-OI{K6?11qM#g7` z^&D-1f8f_S#-}v}o$9&jebqU!=JT+Mp4>d+0YQtoM+9-I(5eP+XYh#L%E7<~zlIM* z9N!COPR(VjCzd1qLr?Sb>wpHvGQCxyw0n8FueQ5tIiP;LwLQRzAuFY1uHyP>#qw|j zx^xh64ZX$KgYuHwv}N*lbqmb*_134e*6vMK4<%Vik1Q{^91Iou6V#iV7AgvMa?0yk zKQv337`iu~qDsDEuuPa24G=#~ou#B^l4c6h&FNVf{#*r?f7I6X$%_IeKEG z53wme5{iyZBzbeAznXS6+ZB_;woF)JY3u!0aO;mxFSQY){&hOAKp&4*pxYhaVReovriYbh!9O1OEQH9<#y zeAQDoH|Md!zQp`Ef0NFk;JB2D3Mksp_7#(7yeS5HK_4``E%BbnIwVtg44=d~_+hoZ zUj8(96icvDh0@bRw=b2Oo6AIo(7RZu3MO1pCQjIer!|T+it7t0Zt2@;gh0_O>K;07 z4^g)K582GjC57a@A0+Z4Ai3g5Y5MN8UqUc;Y+`K7I)5HBfgqx|%(ZOTZ|+Uehf1zS zqTLVH4^}M=jVzo`yD*pGf-Aq(j_5lcHY2JTo>RI(_uP81v%Y>AQAkd`xLg-#>t9a} z^T7I>IIaXGWPEX!1R; z#P1i6ik`9A^c71}Habo62W_r!lqFX(fS0_sOG}ofsByL76gTDA5s#$oA>j(DnSdZ> zZ%%&qf#XRbPKbMt^D>Jam^F7r9uzqX%Jds+MdLNQ%V4>5{e1{`v5$_EUO#~_5K4EG{++hFkmRDcs#OiI|z4omKTiJ5(3reSq~j;l~13P zM(n;rB9G6WZ51#mqQR88LG)cXfWRg>;KgPm|L9?^bGgE!EWl6sdX|WEyZWTA9Jtt z0&7ax^dt?gixp;6whs3DldDfsSH4+USfATvY}{USUMoBy>-}roT223o$K9zXNSk@* zCemB1l;W{_lHOi=YF*QQ$#Dat&iib)8Y9jTF7l);eHS=yaIrtpmtGJ_ve>f#6&F4T z!q4M$dVL)`o`AHJhs_Xr+t(}F<8&~QHcqy@aPsoLAoYB>RzkIGqB56+|NI^d=rz?C z3YeX=Tt|Bwg4D&ewr}+65y#=mw>0-d4-M>1JW_NagnOEc%}nVHQ|@C0H)84Py4Ik2 zD_&~q%l2E&{N;aqywJX4b}@x7?^V&AB-rW`0aw3SgWkf8L62Dz}P_2iT9G7S3$McCEN-uA^lI)<3R+a zfQu~HLt8~n=^!P_&j499nN`ntyW?eb593nv)^5~PO6U{JcVh_X9$4Dsp4)i-wGm#o zy8M#0b_1u`^p}eoA{fG8GYvolHjhE76i9GF` zvDATjGR_xuHRQXTK8)jS4Xid zr}R=bSsK_SPe=0nc^`SW?56t~3a+H{ZMf_0GDd!0qmB9l5r@igVn<8_LFc59wd(hu zHI8EI8yaSJIyZ$|X+axn9X@O3QYN$dzUamK3CaX+jZVZC zce@_yS7(^CpRRWAH;IS-f|sWsb-!A&H|?E{r#Ps2FV|A(%5a3+M|+mqYRzGer<>tG znF4N)NPS#511cBHdSCa_9aL5D)CU(n+pLES`5fZEe!b{^5|Hg#^x4E-Qx$5o{QX<@&pgkY74wzbxvI7@)2)5?m4{j4rq{orsQ`sGLwh4)aRu>a*mh? zU|k7UvFV&l%*pAZfQ71p&Vaa;u&Fgaudu2viIEP7zsaxwN(6S zhH+nVxjf61=~5=4%L1KEPEFV({9Hg?Hzeuzwej(6Hv3XS(Or${)1_H6Joa47X0^{w z3fIr2BqfJ+cmgvQJeuV!zfl7*|5crYq*x?a36YJod6_mb6edeig2mitI3{M1jP)L4G}kVa!F*R#Mj%edE2 z&B2rd#rrc5L?6W2ARO;)QT!K*>v2>1)u-6^{(1lLET5;hNG3vYHwl7JC5V#tXDU<_ z1U0tg$Wg?3T3kqy7T`Kq5v}A(#_npS3eRjBtBSG;jk=%b8*P1~6Ig0Qy^U2ZBH6t} z=dP>4d;NN~bx{Y%P)c|Vv6 z1{j}GjR_Gu5){ukE9<{fTY_GhF6udy865B2|EeF&3NEx=VjTPD{#FR=gd*LVT6yW% z8e`6=*qAdEWT|8bih zKuw?Io`u!W6M#HUnzntnuRA$aOQ2WT!(6Y1tN^N+WvwL;_v6&5wsPK`<6=NV#PCyTIVnR> zU~Mb6ji9oI!X}KQi;7A6@GU$5#N_@#GjVS5hc3U}7H{_;8o}(}HUCOJ`#p*##tHTt zyz3RnO2mW5@!Aled8aqVIiA++Y2KE(lu(WYC@jX?TN}0Q_()u#0shVI+3{x|1>E1? z-|Be-AUoo$NZepjUqTkx0K3C&;k%6Xf+ZY2_R3w>e-s$A9=g5lam0V1b^QoZSx8bD{jJlY2Er zLq|WjMfhyzpq=w3DDr4c!2}Z9Cqq^*NYvG= zXnnj*B2TqtM|%FrE9602l#J`$8Y+lg;L?gKg5ek7X@8HC*uUDisQfoBCEBh>i%Y3K zB+y~#8bgk@@omsOmNlrD&*#!xwIo1^7=k?$Z_`MyV4Mg}rlIL~fI<8Ex!86_g!r^Q zAC~NEnleKj?Cq;rsuGyKnpyPBtOb%6HP57-3~i6Llp&A)RwF5DNLbM;b`}p%<81;_ za<#Zne(YwjGT%pZkbJnh*Fg{&bFfUr7n*yL{c~-;Oh1%UkoJXuoP{a9amb~cEXd*4 z;1)5#@f@c`R%WT1ni@VqD!}sO<)p5M6Imu{Iqyyv**7-ER<`(QyKAA;e`HM+khC)$ zCR?vLTD%)_aDjB-pfWbKUi@7_ztirN%ma<~$<3Op*^gu{J}dQ4iXZB8oODsNe*#2Hv*l${v!Bv{Zc%ArcCtGzc}G6|=FO*u{&4O%U@=%)S}9j9zEJK(LVL|R2odZNE=*PP|2 zP>ELzR>c?wG7RCnqRbMD44tKHrST|yj`Rs+qwA*hzjZ`UMm$w9EBU|Cc;a<@mv9m41VGt9h*@9vvGUpUUBLm>CMjlsz*~ zix$Q=bnxFNbt-{?Lkt}j_^CO$Yimp(c)f8`)?v!@w<8B*6d!0I2Ay}@19^S)eaz|I zRY{eGmL#9(2{;Oiek)t+OFpc|(PY=zi~#-)cxDM??xgiP6`%BEWRA$Jsc7Ql_tTno)GS_7ebVsf5_@ds-osF(Y{zG6mXJFVQmw+pDMWBkX60Z0hQ zBL5L*kdQ|I{7(QJ35o6VvwvSb@SFe7UzbU^{)C+chez$RtV0d5#@ES}F#d2x>cuE4 zB*ez1N2L*`t0(;176u|DYEOFr0{f}3)U@sapE`q`&_26(I06N&k!zo|4lPEKZ-p zI_f%F9|?&DF62Lm&7aGXvM1pM6#<#%tU$dNC4)H=mJ^v&T~P7yKd{uvQjvvVcIm9B z#+QI6rkx!s!(2;HbvB1 zu>M)^d2+cEk4)$bBdjGiHo>JUl9YmeWqSwckAIGd{TYHjAzO53ZLOwnZctWJLc@;4 zqKEO%dEP_Jy|hwM&`rB?MXAd7zHR47PIMB~vec;xK#tAq6lsx9NV2}fLRz)N?M;QB zA^D02M&Z7sjm(*~1XNHzWHJ${zW#fnPCog`|J4HSD)uWur9z!y55-nlR|A<(Vuk@w zRO9l?Ozhq=afHjIqC&I*5`+`bRH*4JDq`>_Q3I|sprAB@u5jINoXPB^h!K!Q2{gDD z%3Dk$@teMDe)~&nUR*22d=0#<|c)l1S#tJsEMl%_y(XnDS~C|6FC&;gb(GsYefiUtaJ?=}}$Ue=~O9W%zF z##TA=**t6e{L}h@(>wEVEtjsSX?;*I@Ak60H|6N1QB7~>Nj|}SpjaUAc#BL2-1%M@ zLSh>#*m79U*B4OPfVcD1@2R~M_TQ(JO-)V}ldi0y)$;<)tHVsH;1GCFu3oxcS_CUJ z8O#ooDb=m{Q9&}^)?*N(%XFPr1$^>mW^)U@ZxU%6w})y}oxY_u5uv(u8Rcy=pUZyH zu$}K=^z-veHqjoqalQXuRvCk-SwDX2Lju6k^A-$gKCfe1(9CJt8N3#g&Rl-Eu0)<4 zS4Vi~5DJ+f0bejrjmBfy1~V|wX3wQG5i#)dz3*TOCMCMH06Xzt_gnC~@nHyfZ2V5W!ly=+;45I9r91lTRD7 z$WDC%q|n0KS--&s8(g*d)n|vahpD{P&|75%ltD|&h=ctGP)5`T9svaPxm$Nlx$v#9 zlistxet?udQXqe@4#vP<)K54sVOXNf5i|5to{4DQy`*ajN=(;#m9zMfpIJgk)_kqa z>xh@=^Z8Ika8XrW*um24<%WQRHBG%6io1PCR5p`DH2#Y2AK z;>L#TN4m!4S*nM2=yD!zNkz3H80Y?oW154h`DE}>w~7BnZnLbLZfHtXPFn8%0`;1a z5gC7TRNkN;zn6;B7HK+y_x=(+q!?wyV%h8)jyuh!RZCeTi;Enx#Z*U&ftQ8qMOjW* zL0+ct$&3IyhO1%`4INb%aBrT}1@l?ZgJ^uAzyA4Whjo9V=?edeY;$|cD=r)B=a2m7 z=2F_ur3eX>kLAQZw0|grq9Uj7hZ1k7%At*FDo)_2*O9}va(z*GZD|pm-5kG4kIBa!rFYp@MUDpd)ed0Y#>JQ14?7dQ60N3kBE;-T(cwC~SVJf9dERsr z#lq7$H3r9qk@d-`pVQmUoH4LD519%aTy^$c`@%a=npWqHh3!x{E3!9%4Z4o zW1M55X3UVR%62*~j^NU@kGub;-`g8LQ{0g>#w;)Br!?a5X_Q#`3_2>?iv|fFFpHdaUqO*c8AeVgG}De+=7xK zNv#}>m8tIDa*8M5vyAJ!XV0IDjTXEB%Jx`Abs0jhCLG z4is-Yc>jbC9IgK9ECt+oiGN#6zSJi7<|@Tz%OqYkN@Xf`;lYwzuQ4mhvB5^kUMB8) z?S3fzcX1B$HxH6yFeQ5yG?`>`2!v3S9^*8`MB>kPn;!y+TOR#~R=D*oVcvv1L$iFdPU-QG;uW|%5U03Y`i zC(e3ohJMD^{ftDSbdpEN%s-u`zsrjrkts$J9J}5lbFqw^BuGn>%i?sX%aa}O<-!Ac zM{>0LDemS%2tvJ_(M{EffsUs7}O@1)M%3ta`M9tDa8w4{mSwvp{z9c`TS z`EDL>9OZuNrnrkfD^&q(wmT@t_~Q=H{EvyJcq6%F8u{~i!|OotFGcjN>>wq&YkF-Qgeo&Dg)NctPa6oY4+;F5E`U+(vc`hTO`icoe*p zZz^HUB8zvD#bnE#LO8_EOb7Gz42W}CqKeV`S}fT^Q0s7GI6n{)osjU5MX+5~)nZGoONoaTh<1;ccl4rbPMiTf8H8>{q+ByAP_r5*=mKnDBv`Gx* zTT2VROk{4?sPm?#Z+uZ*+%LDIcj zygBaU>O{~3d^?d^ z_FYqzriSP)ppN#iEOg!Yyp)GWE`?uMTD>&L2mk;a>w4XsEguM`{|;#Qrc5s)O&t9s z+kKbV3^6R8*%P^BveI2-so9TJ$yTMGUBD5C76~xQse$lI~9wz*h;tZp9 zs05Su!c>;20-kKUcG@;K*GT=)y1PM`0EkeVSu~lRJ5sRnyZ1@f6V!VQJXq!LZZGzD zU+y_M0+jyU#jyiMrsW&=XHtKGaLJgY3k%a@eyNGmG6(s=X~?`~%S|VMR2m?gbnEfF z*qp`*Hlx3P7kLI6od=$K*HYSckk=lpZHHt0m=_soR4~h*1sxGm?4cqoF4`#=WcH5d z%ybSIyOQs+@{uyphp0;*R~FEmKxSVP-UD~eN6t7FH$7`On9n6GZe zFIL%NNejYk3gQD)sqhZkl7VSB@I0OY=x_<3*y!JTW3*KEE#bFJU5a1w{eU)AxeXQ7hb}g@u}j0$07&R;PKy_w;qonaAT8BTX6241d*a~Rr7NjVo6>wFh9O^))1c;}V5=9<)K6vmbl z*YvC^ZKvcnxUV5!$M*{=LekhBEd_aN>lyiPwnjAl#V=P&w5!&eTnPy^>5Xlg-1a_r zaPo1vU#>_18q|;;TYzws4h&vdh0CqDl=TAwJnSQLE%9<~=_Lt0`qxd|$a*rF`$0vS zPbiu!4lFEb$RfiBbvYCPwG-O%{J4>M!E*wa!kp%E+FgOFgGD%|1IX-!r($KuJS#8# zefkMdmid<>V6u>os>|nS1WBl<7#$A(acRZhy`0PQ(>f+o!AcduI;}OO*7&J5uf++G zo!GjFY>Hc@M_7RD-V=K36pEOycFZ$ogsYRWS1c^*BG#D-k zairRr8+q&>59fa;;5gK!qNP++QgXNLC9IEMKD2Bbp6@$m83(Q3*XMH_-N#xDE!?)@ z>=mYT(NVFijSf2;4g!he?BilT?;|cAzQc?{>R(l{y|CEQy~Nw*W4E+#(Z6b9!g5(> zsu9{CrysH=rfm+Fg-#>>jHFFfbA2(Tr{|iCA1hA1NN-Xy>qK$T zkuPMq>V8zaF-Fdqd@A`8Lp4Nr{Kg}cNRbxl#-X2sBbAWf>V4~9PNA9=U+ zOP0!MKpUYPXXJh)+3ejUTdWBqX>ZJ>`C^5^PHuGloD{UD-QXl4&GH%;4l=7}eA5lN z*#CTQ3aFIF9UB{en;<{)*SpNec~fdCj(PIZ+x50PWhTTiv}WQBO{ESDy8)Eh%@>jF^3SW<>JT}+dxOzVQH zfAm8olflIIO=i|ZV6cjY<5#d4@kW$@Pu6EKN!9NLucV1_oDp{|ezbHqCL8+BX+}Q7 z_SP2i*O8^!-OwSt^5c`?>ctE3xY$(MBf}NA^v=T@7^nvb2lhMssDAPq57-QVEF@e|&AdGr zGcE8s{j*l%LTf_w0smb3DT>6oI*tcxlIz2tSS^wS_|FtNT#nKP+dHZS=C0v>`*vs{ zF#PK*o8M`<&sir~S>IggrXM*zQ9k~4a?97PnwJ8YW((bkTAvb_e#b|*osDR27-Qtg zYSno=$6xOC11p%hYfqC(?G(d;hpkE7-DxV;lOY5uQ>qXXxH*(> zeZ@bOzxTg>SQ2=nqOCEORbWOlVbau{U)J6fs}&(>%z3H)?)M7l9oL2rLqgB@bv$dE zBwzv9#Qio45L{+IT6tkY62188hb^=Cg_EMe0NrVT!RIjhWjcIR2rQpUk{d{{!2jc8 z7vPxzA2c#DqmF<;D>>3%`CIOXT5jC)1rMF}+J*(JN_Q}9CLgra`sAt4xOs4%#R zr(|Bw#VT`Q!x^JoPMviGJl_RvQA^sT(X&9BhJIp{b5-|`_r&n#yfR|LRW~x(f_NT+ zB20|kvt2Kj!iUaizhng`?3(LQ0rF6ekD|8T&fOWT*h&UBd30Ips<6=Q9b6Q5)jK42 z{$K)Z{LLfEc?FtZ*G5YvWBl6+pWC-#hWS`5%rhor=a*;()bmca1>06DrQI8F=6U26 z|3rBSRg)2SG?p&Pt_B^g1US*f@f7vo?S560Nr|*7c&X|YLlVHR77OTVfShDWrSH=g zwG>zd(F#0)&JTwH$sj3E31>k>{wQ$|qeL7ujq~jw|oTO@PYce(?~Gex%G(NlQ#FDkz{mjk7QKNe{>$#FGS7h_*X#mt!4TAXn;#>KRsM92P&O%WFThH}e%gb5w1 zZ1#&PCgt*zU^jJA(s$j&qclaHvnY+1$l~|}s=VSMEC7`3`hKd7PjAMg* z4XoDpBTFr&ym}}@Ql41mc!XT_x+r5$h+n339`zU;n0{dVK>F^j+}5HSM5y-)%9Pne zjfYz>5`9FwwvMUy>^bpO!*iqz<6vgI9g1R$fti%y*XSOl<55cS)E^FY%BfE~$o*dF z)Fd{&!Ns3siNbqR{P;l*L&jxQBtLk1Nst@8{%C8hJ}@YW`tpXGU5 z9{>8Z^v$b-Du)gIB7CxCZ=okc$@!#PBQ&EHw$wnt1yalRrD~(0r=`~x6Hk9)8nb&V zxuUeqOR#>ONfGQ|qqB{^3#RQW{Au#hZoa`&k809JFx#f2Q%+Q@%LvdR>61DIK`+2m zhe$LnO4uOtjE##2g&C#NyHD;grkvE2voWQyH+aa?3dpHJb^ASd&9ge<7ibfQ8vfP2 z4;P2a#K+`x`_MyCt$m4|_U>Ll=vrz`h&S!Joe4w)=BdWTX>*dUt`FunOB$Mi$epzCybO!tmRBjV9)F z;Ti3+rLQ6bapr?F`8GL6TRntdew9O{T~{I}{sbsf*y?#WPfK*}oa)~0(Pz$wTv|&h z@$hEmm1=b=-PWa+)E1R~FKSW(l%N4=P>B0sT6F5cjbC;8Xi04B+Ei0GGg>W+gXjV{_f%2 zd96+FxSz->>c8R5%my>_L_|ou zuUCInTjlQYtVfi}*5r2cd?SY%$yCGX_(Xy*T$z_*+X2X=-|1}Fd6uFg&h0E1m!H`6 z`zPbE$3s3)Ppf;aSPBLUT>faC)+*Fhu-dvA5B0d*+6X~6E1pS+oy;vNC0x+V12)C+ zeqI%~F~`e?BOvB1$SHdwE2Jo=a5o?h2niz*cu^x8q~qiIT*li%M`*Wor-UbVr6&lp z${zJ8CDfV$kyX>3mUyNzQCrjx50=xOw)2Ki)*uAr8KFadn4IY2vluQPr)xgvzY z22lNFk3VI&+D_bA9-?NMs9wGfEY++DWU$<~EG<(N6ExiTx;E;^iiXuK7@Al15U8*LXLlHoXw6sLJNn&qK4>-mxUf);9tY-@ za@EZ&0%MLUXI>Zbc3*a4rhr^2St)qguiHM?Z~z@fP3~Q;+Q+-FpesIkSEqZ29-r%v zt*9=>KZcz=wyLd;9srretAreq11x@@Km9@l<9h;Gys`kGvI4oiON@FvJH;63(pS&K zCZ?oKInli0IG#i$Qc=~_{&DMeCcQc^)uXmhKN1KX*bgSN@pzXX+kNC%Q-WyLhFcea zG1Ll@sd9D(Mw>mT-Ta&?7F3@;LXp^>c2fpszO<=AL?^=ZjG;fgX?Tp`g9H<`t7P*W zbf5jLvE)!(2o3iam4946b%>XTjtsQ{p-yeGSWwS+_@$x<&XOB_o{DbKj_<2x4w6jb zdQovT^9Mkh))NgXp=JYA9M8&ehg#eZK^039^eJ^;9f2g))S$0n*`=I6H`qat~inVDT>dg;Z{N>Tj^$3RQ-t ztDl@OvNmq4Dvo21#UmIOB3r_D0J}-skj=Ot7ev}|V_0Tx`p^g`QGRW5{NiG(mrdx$Ge>Z(k&s^4 z*bAf;Ff zv$N|jIIeahI~r?4hN-@yFP2vIINYuynil-70!-f;eh2A!1)ivNNlse$f`sI)k^Xx0 zcUa4_mEGIJ0#zwB6~`iZeLF@(Dj==8;ZDypc-bjP9YS(L#ub!OvSS|^K)~=DC+Uuc~fi_vA&iewGfXJBIvIWC=cSx3&7FSqOR8W*Rn<;Ui zk8`8K-5~gb6hPsaUBI?+Vj5|R`jm0j0TtB!FaRm?J)z5XQ8WnRq+G9%d+NtT+FUim zqk4B$1vJ+6k~1;{&D?HI2)(LeRRpd>0<=&<63rSbBU6e#b5qrSZfj^NcAtp{W~dE= z77=Z#9wJZ43)Wx1eyyOY&cQNsdp*-n#JAA`u;Bu7!~5qbW&rGAe%`P4Y>$V(=^gv+ zti&9;>rA%aU5NO5Bd6{aj)%LEo=)|VMZDLz&)!?_{I3=;IX08QbGoBPJ=Nk$Qaqn@ zPP7>Ol*qZsPUA zm$oSfh#r8X9Tj?(DQy~Ns#me2aamlHjP`?n6}|&N!Z7Mn^~)0o0y-+*-zV4K zq{MxYFRFToaG2BB}t^0XYpxASX2LqF_maI&eb0 z_@=rdfbgFa6Cfg;47gzZ@gk7D`0lU0$6N(_cys&l@&h{I3>0%bjIO4+#Cjv~0ey%3 zp?b2Kuus`1FA3V>6>$$Pqo)cnZ4zw^5Z`0}0+0S`W4sgot3|Po0thHWYVT4EoIA=| zgVMxO%R&{EwCj8trDJy}DaE!9bx)#TXtK3cR{0;ugM57c-X+j6cq(CvgxOR01DIDq z&q&8#GtNFsk=sP5w1EIoWGgDfe*NcrNEvp(BOU$fC}RNwiR=x22LR!$pE$Dnzc7B? zmwELcN=y(?Za~Sxt@+AxiUN$Ui27gp@J%&qFF|vE(@Q z#O+NU4$~Q%tO}%4rf~8~G)qpB?pIIY5F;FlcF3F>N_m@zxYB<6*N}lDJP6S2T8Rq? z`=YD%Mi!X%XEveR`A6!z4T_kPqpcRF!EQ`GN*mcQ^%}M1-S^YeKOw5s*EMms^9yW`F*;gJv9L~y^I`xf7jXQ z^8DGen3!+L8iePE)54;gomiHdgoyp{hFU`rDPDxy3}{MH`>HgUQJ(`SNL*d$*grqwM_Sy}db~^7K~Atz(YT zLw853huz@b*aP{;di_@j%R z*>0Q*>F9U&3SD6H+S*~!gU53|{Q~d(TmpyX;wXZg^^r0_Cl5b>`C6t0wDYqGj;0nX zuHK0U@y$EU6umZOn%t^dL^GZNT9aBn-IO_eo|~ljZ<6EU#8zljRmISiTVEX|RYhby zJY5Y0*u3Bap6N}vfcN3q+KP6*rQ7?lUzAhBMn!envDM3@=QfhWtRXBMrlTe* z+Bd=an<>N24(l~G?k7fCeWH2z%H?1(zqY32uWK|Z=>bMPFLUEO-fw~uO$!iNWn?eR zJl*adN@cW*TezeQg|U^|tcn^H}z)OdAr>}>l4c)RcAC(kK&U!msqpha|J91&u% zCe_xvUjJu^NOe52y1qQ<4{Qntxw6ZjSR=;!BEkm$hp@K{Yir%YwW+cSrL@JNKwF9z zDDG0+-MvuUU4s;NcXtTx4lQm8?h-UO!98$h_uBhh-=FU~`3WJJOd0QZpE1V$XbS(l zFWdEVK5E~2V5?F&qZo;jR2J@;Qcm({45^PvEF3yfaske}qZ0=i>T=6j=tN3$ZP1>n zN;-IE3Od!*rN5ndhF8f$z*&|XG0>ylKgyr3nZhy^-(+!i?pah>MDl^Ko258@3c$5_ z!b=AskfOIke^!>3q@#|U50}DAY+@8%N#}``M=l{^3krNYGW$A&)RuXkF4Wb?$UxA- zf{B=GTK(DyT)cpGLUy3nMx^)i=dPOasd|qQcVhofB?yq{@U}nqDd(nAW>%V)Gng4IJ+EC{FpN zyox`az0hsFrlB4pBr;o6Cu(lKIeW=+^CBQ9YWel6h{Eg~6)COnnHZ4~a-4Rj0QEFA zCP%fA9{N;zy0W0Scyl75U$^5^m!M$05k7(GxYsclCvNL!0UBCp@pQm~?mCv@v@%Y5 zM)_hxjZu>3!(FEAA@MFpy7LR{EhEjwnu3=p8RiLLP0nY{-ulAM&J_)X;5M zvRwjHWFyPs=_%;QG_SsXr}I>qF!}p+1C}UYP&q5Je9mpo5HPLRw0lMGL_)~G;HGSO~zJYiiOvmckN|ll4lq^au|@1!X*~GBD1;SqPotMrH6e$v{@-;=r;Z{8C7OM6>ZHc|#MUqG(|5_F1AP8L`4UFDmsj3zk%!@Jur1jS^%y|&Qh~nCEEe?X?a}3 zHwyX?uf38thchJvS53SeU*Hqd{UH)&x3{UwtsHvIm&!UaX4lbBX*Vag(*t7n_HzfB zdH~nH4CZFu?<>cnw|>Ie?Dq0DwcWjLV!EO@wX}@IVon(>lYAQ2wEIk_(^wRP6yq@6 z@n}^T=gDC@HZHE6`N$Juv$F=I0|iTZoP3kpOK2ANuU7K1J(`kK7;i;6Hxy|9L9$rA zZS-G{9SOH|&)w7gssuu+>_df&NT>Buwl0!(#8{{5B#=#$#hoawKce-4%q^dqa|3}3 zZXpc}8HCWBdSbg6>izcB)4BZW-u~l0Z@o(qK75dTX0ScVz+iddX3rPSkg>}P$z60+ zf;%Wkudc%pJNn-zAs^_>Fv;k6!|rxMm|e&|Z?Wt8(PE)uNEYYH{IE7H#!+DV93RULD%hIn{=kGV66r?vCv?_PjiFf}oJ_inMv0&nQV2 zq6(DUVmWRpn%tfTK`qGg_Vcq$r_ENCqGBJJwen=amjz?XA>+v^?D0cIndK zid;hEt&i>aIB^1%VKc_oV2{&t9X@KPiHqskD7-sZed>u$K){JzKlX&Po~4T1(UXWYYyIdQhoiojd5b>yCML(v0gOhr z;<5vrlLCEqma^R3oW0*Y!a+4@do+23dknhqX{4NPQlgr%Y=t(JYy<@JVv#U?(%h_} zw)Tq%Bw%jMb z|KNM7{!1|m!Yzw~m+&={-+dm@)H3Jcxc-;?iHR9y}${|@2CR9P?Y{7Q$hgQ#fVrVd?S z*4Y$9zWBYr_=4q3RStyX(%!NdcPwSq%4&k*g>O%@e&*b`%lAiGxGdDW`@HAgr9xr^ zPdpSF@(Nm}U13JW?BEavcvU7dtRhGg6A~743AWoT&>cVo1cONc+&E~0xu#?-GSV00 zoW&Gj(lZ7X5y1%>%Czw_EppcHymU;LE)NiT=`;cGCy-*p2ux8YDi8cJG-C)xsPZjwYq zw0q0mt^1yGY;wA&Hx4$KBTci~lP9Sz9FsDGlUu{+C)~dc!LV_2nNfZyHYjVV9-dgp z)XqG04L|tF>CyL=R_Y;BzPb5D-7`s2--w9nrY5Sx`|FCbsM$Ws3(w>xDOpNk-zAc&! zrvN!WyKTsmURyI{KT@3LbtwYK_eHHQ50lFKb-{xVazVW3>$Rj>q&_ylU9uLmZ+4)!w_Z8W_P!x4L*~7A9RJc1u zpd7BtrH-j-NhN6Jv)?;ePA?$)Wmk+b>C_#A1!Xc8T`~(O#`tH5^Sg^uVb4*nl}B}5 zk!_~5%c>RgE)NrAw<+~?-&Xlj)6>7t(~`eCztdih3Jz^CMrp zi}LsHO(t+~4^vhnn3nfG$<158aS(e=Ix!EO$xq1>>35Ed84p=POY$OUakOWen$1qA zv)LDLna8rq$-fm56s*&+;HE22rI!~_`G$;Cn4ZZ^!BOE-9-P4BZtp9+gex%O zUhdrSv@M=F=rAb>6PH{=io z$&`YGLZVm7-Gx=sL&s%)Rk-eQ6C>~LCmE-LcS0>+z7)1!tdD-(ak)5Ax`Gm?Q>o_N z+D#o-#LFoRDOnU~Y!#lC+~mbDJbp0S_TNJXGm?E?PbQq!l$dUjkgn@*9KpGVtu9oM=v&&D%lgS zCR?s@glrvho3SDax;?9Bt-bmJHS3ZF*t6w%s^bb0$RrfGj_C@Tn^UAcRDFeD{Q8wQzgu^Huy~~_B1&O8aqLdrf_620GydG0+;cm!Ivd z@>5f1T&ht-A%=M+(#CLgo9;~?*DTUA46%3@W-Hq?(Y~6F243nllh?5=ASIktrnR$jb=+1?2D z*wY*j%SGCxU0G0^KN%+ysRZ)Fn2ykX08(OZVr~t#G0j%kcRM)mV@hunNz)PxQIr>V z+~U+?YvglZXX9l(RQGUyF@6=wOOl6~aTwCg#I%~OkPscMxu02T9id0Vb)N^+VL;EZ z`Y+d=r;47NFXVgG0aFhN?5v~iH~wSX0v_A(663Q$ZwwU`nTk2%SK_jxsi5qfbYUb0 zDA}2|LEq`V(i8%1QK+vy@i@1Oat>0y(hS+hZaHBnZA68K#K@}OoVeNA) zPb+ZG)8yz#;f3k&xPO=6l|$^eZ?m1_P7*s@vd%h89a4tcZ$7X+0ektInw{^DG zb%UgBncDo(38~Iu>wPZGTE|N3?kO%|J0meK+^a)vXa42~Y9F|{V`dg9Pb?lBW*5X6 z79o>6E2{;i8ys0b7?dZWqoBxD@uJ7yZf70)$)GQ`gPa;yEf8;C*NFc~T@n%;TI3n( zk~X{_^EB^@^7q8U;N}TvuGgZ3rF33dm(`o4trhE>dUJDzsZgstLAgBb%jeHiQ!69O zWL1W4Di<@{b3?I{$l5@>(qi@DrZ(2uRn}R(_^Gjoj!kT45z#)F_l`5dm)0m4lBSUZ zs7YssPYE0F)&ahLH%#P&m&F=7Mj!=j1%j=3Z~AjjO7-|`4S~lB@T(TWwT05j$&Eyz zL&DLAb6bXTo58VtNxF0PE17JSHo^%B34=7D76ijXCBe)WIoa6*v+QL}`Tpz)AOGYq z#xHEbZ3W-jonQ`zvPsJN|>mda${Lv*fWO$-Z)WE)6{*t1nWBn+5c{N*$zWP})MO z=<8A>O;nqjojWjy&+*0m*e7zyg1NdioZ5_FsrsZzaj5(2i{>b<-MPiIczxOg*R8w}-F-@=d9wviL zNh1~W-D-pQy$9!6^NINuj1bGUI4-WKG{DnU`PoK5^qsD%Dh}n+yt)$6h7fy{fctg{ za^}xUdIvrrZ#a&0-@TENNb2lP;gq)eLT>Jk+7#q1?G{GMnu4ZG=n&e_<{&24vbBYi z*?AuQ=H1_XS9KmpiS4(|46LZ=$n7>RhaW(T6VIQGnf?=kmI!zF{LI?+xIW>SC#Gru z@8ZKY@ymnpfW^7Lp?l3k`Gi~F8jxZtbsg$Rb+!Yd zmFL|T0)l%Rbgd|H<%N^t`iU}oCAaC@@u`-V4>I8LSnx2KR)eXa8DD(_HTBTVZBPXD zD7U$5b^S{g;304-=`6Mdq!np5!<8JvSzv_`rK6qt>JO+=Y8!-K)YXNrE4yivWFO7| z2eOe_6HBvip61>_D>|>?A>ge&5S`r5u9wMcTVFB&|b;#X#ab1-K zJurD{51~q=@HO)zb~^Fs`JL^y97|)qR>}ahgC@*s5G~+3O}5~-rh{|!Nw>~VJi-0@ zpP-J)rHuFHN<#x91l(X$kIT0bGQ;t4kN&mM#WE6gp2EByX;FkT%F5V7q&NUO;ni}k zVH^+7Q&PSYc@?G2Ln;OGl~N8fb8y+bZSb44{_wIU^FoaqA)EGJ7_dfldxbFE`c(oV z?{fmqg*2U((`z01{312^v_$8GtVqH?JBcYN`@6)B+bjFP#?qlb;DQWL@vqmm1vb`L5FM+|FGshjm9nX4GgkA2>NNnHpHT*gWY zDuBfkkPm_adllV95d8Ipdn&M$fQGmQ1vjZ;UZqRWn}IN<4&zANOdHtv6Loo8N7#y0 zaWvCM_mnn-tt^{~W`p9({`jcWktqVi8YwB7=;TE0)HI*xhxhMuk#}_kJ`_wenRldr z3Uv6WScxxwpyCnYuo9Q-e1z^cp2U~|GqPQuFOKizYm1|?odxB^1vI2$OZW-RCC{Rtf)9r(*_JKCGDLR(l*aV}ReAkySKtZ$LxTU+MK zgw?tzO@i?+{4l56lu1uAolXPPj_%rSxjudqR9AOB_PIQe$d-^Gg|6p2rg^<|Gl5&@ z#K%8Ju3pg~`i9BLA&(kTiC6G}(z=b4`2-3zNGonu&QXFgMjfk)W4(%5mW-a7U&9!< zjX@5Bq2ZKpuk<0;M$k-x+6Mh?eVL;r!gcc+5??31@}?O_EAkfI%QAv2o0@-Rsr7_P zWturDO3zy#uA*SY~0*e5n-e-9&;MBsdd5+@4Me9O8_a_moGg#tTo%I)5p*@ z_d_W<-_Kh?(%7i-M0oW-nVbp>N(93ueV;eZO500{Iweh9e*x2=0RX-!&mrXMPF_(Z zmJ#`@5VM>gjCAScoMuTeY@ic3!@O*eG|)+T@IpyY(69-#EYxK%H3g2$)nskdxZ6D5 zFv%n|4_#Wh*aJ&``auf4DJrxHbV%jhe$CAVrKY;KjmE;ulI|xO!E5!}e*xlGqfevy zGl?2R>=*b@yA#*qex|Xg>b#^T-0$SLQ+(STgbFaj17p4t0i#@r8T`khFl7GauDBRY1)1V~3G`R9+jC(O61&Q2RJ1B~U^5JUrgJhm{s!gBUdsHM&Iv%a%gJF} zi#cg;Y5Y0V{|?Y4?<(za|EC4~)hIojhcq_ba-)F)fV5RHTtz-QGWhmew5qKs%h?OQ z%8tSr;@gbvH{%zlkf85l*w{a*vn6E8Ik1Afe4FXe&aFEy-Y_waZ?O^e_7xSY++HZD zJQUmK6aJj-#G}%#t@(D{CK;zj%%9p)ai~O7LdfD!<9@otOwQT;2O17ivzQao@6bfn zo50A2X1!ARk{hKkru7`vB%T1de(8h$c|_`Jx9yM{Q}at;J$(l42UamuO;l0#?DZviUNfLF}W2& z#=6p`slEdqgMZep|BDtH1Y0A3EzJ@ zxa1noZtI7KhB!e-UfSCBX{yfQC}%q%+{k1HqTJ?Ua%N`c*0hASJdMCg8 zPnRK3g|>&J-ocs>m@h*{L}W!??+n^LdtSbQ3pAhFBYdT{HgMT=iSF~u=4xb0{|EOMFc zf9sMoIf;87nA%(}j_+@7m$6XzB=(=&0$%W8XdGld@Gb0X4^IWOV~Lh<)*l_x?xL5i zE-?p=3U-6_M5DW~2#*MJUDn3|e4_m^hJ=>XT>t0W@t?__m4~U3C{aK!o62(jQwO+{ zD5mXSW1fT-R*Zyp)jG{fE(aerdxa4^ zSGAc{4A9XX|MjUVy3jjVn(45L!cA>4|KqiG_rUi6uNE7Ym3`#CTEjc;Qo-dD$*Y-8&1d#uvjeGQv^oGS2Me0OLp{b*DMxQp7ovSYyOv?{$6 z3F=n}Wif|;Ox=c+dIQFw&W$90eq+k1maLEb(C8ig0Ns${@!k@-LzDS>6V+HE5~g{x zbDa5GqHcQ#*vOt)?ND{AXZgt)Eh(ABpH0(e^* z21Z75@&!ayC;qIoSrKt-=0rzF*VXkT$1IzUIw4_V5Sfd<@V)PMR`Et<%dW0B>vq!1 zW4`BISz-zooyOgtsHyE1q=-24(GO9_toAm&u!*c-5^0qA1vyLxrg+YyX$#Ck-5b}k zk3iLDYfN`4k+{f=+ar-ZNKpzN`yx-T?egT@^Xfi<9a$x>v>5G6oSyNuv@Jd=BVus3 z_Uh0Q%#n!C4c-QdBY>2W;OG&M3_BPCWeR6BkKE~Qm!5IL-v`Z`nYa8{9#VZLm? zFt5{M`<48iw+*+3va+UAUUN9gi!EprZ5JSIK)exIg_w#8 zYc`V&4J?i>m>jm7nn0bGw}mZ>)$q8x|EOqmB~R3HfjN_-FzMv3p>?RN>~)FV;^0ZQ z#%ss?>ecO-E7GP4T^FA&vNVc5kVm62DIr_aO(p%SZ){GG=zKQ&Pdgl2bX z9;~nIplz1k3wu)jtsLq!AXn1UAxCN-aIk-ZODk_={kB9}-^Mp65shvXkxcb5+ndhf zRkm5fJTlVMzIlpohZuS&QC)5qlAT9l9KhDb#`h0QP0xoPhr1YENSh8;ysN9K#O2fs zhkCpKH9m|+jMb?iiJ_hPXZx1*%Y>q z6kHjd4D>o82Z89J5@e2wWtb6uZV93)-L!*_d^%6j?Ra3JqYHC>V@6q} z1c1V~@Qw=#x&MZa|M&vJdU6)EAXec)jTs~)J^bR|M3{#k*^?@xCsKeE;Ah8ELv*Ae z=0mg7!y2OY0qiEbK(oNM5KGypXSM^rAf47xmUc8vD*=p}iQOADuMkXnQ36+ZD*#h+ zigD`RXwnjx1@H;s5cK6UEdPcFVLV&ARPy>(;R$8&*5(Rch7bKU$dGVqnRw`~%BUpq+L?&e_3G7Dk=d%c+NShYPw?yI&XNaOG#2-Nqa;=pXV>j`1ODR~++0RR+q%sU@$I-JB_VG-D&&P?5)$s6 z23-MQtlg_Y4@}*hnFWcB+p6W&C)r*(hUil0Qwa$PC53^&Mr8wIzO_-$*zzH=sL`K zx$~Xbc_wT2vfj(QWrQ#r*|W!ePw?~1{;n=wRvk^7#P_v zLSTHDjZ;iBanZxW#g@@yV*5m~yY$DRzJmYD$Iq0sv(4ooX;*Dm`KjuRZ4ZpYHm}E1 z!0DBum%Q;{b1KJ$Hnn1yK=HxGZ^x$5mlzmjLuk9Fr)Bj2doVx~`EV4+OAL$Az&t){ zUm)#ctY>qyHevYkH6A;w#%h{xNT%t`QnQ7blDknUYv$0SVPt5au*_eQs-(neE50p# z$;0gUdZp7kv(a;}MF0^k(Z0=a>i{1c1Oc#Cq5E#R!}hw3sAmA-9&~uOc}eTuk9NAq z*Yxlo4=CUud>%ji#YK*=+wEMcIuLEFSrsKECeAGR1-_4i^sDi=U3%`u^Aq^EI|1IY zO5QaSXmt^PDTY1>vA@yum-_Oy*k8Jq{J%}*ev$t%pZWXWjk*5wKiCio;NJOvi7YHt zHXs~IDQ+c^ElpWNpktp_&*#7NAC&8Np4~o$@o`P}4NhLf+YHon|D(j9c%cC1sGJ_h z<`A`6xQeEt`^6?P&>{Vw*DC7q;nP$ilcUN1F%waIqJZv~|Nh$NWuVXh-kR+TU>E-T zb5nhwzxcl|Lj3G+e^02tL2pTx#^B zYeJx1_Hx2wC|g9*JQNs1|3jCQhh>a`?t#Y%nqx>Im>;2Zw?|w+!Z80{_P(GAf`w;^ z3U8I<6aHc=2~oib#n!omp?lPTZ5$@>VaMw+rM}hBdstzW3-^WjbY1gBMyXsVdYH>2 z=zM6mbyk=7J$BiET>nLiiJ3)>>Baf7H!%p=L&ici(H2tekX8sxY%eq(POUr=7r7m< zwvx6sLxyI~Z$L@jjhX+v36@t(uvsj)DI?$L?GZ5xOr$_2m8T(hF2e@K=3>`l=Z7is zzZCGdoH31YHwj%OqN~YZy~Ftd9P6Hny=7!sZd212Ffa~ls?Fh~L=g8ODKB?En9DU6 z6+__JH>OE+H$1n!-wAE$o(;m^C9LPJ`9f(<{lu;$!==2uUvqRb_ zhOCxaQ%E@X5hWbScJXjgWD=#FRc-s4Zo0-VPwaqB(xh$a89Y*N-dp&plmS!m!^XqJ z9RhY$wg2utHcvBRy^;u?*>d-Heg_7Bz#$-PM-J>Mxw!DQAWv^^Q2$=X_8}J5gly_->i%$j;i3 z-(h?%jM8R%TjhS;ad%NxS3y-?eynf&GcB`8SJ@Bc;^MC+`ng1e*n_}1oyuCzjcqFv zOrL)a93R27QnN+?faj3j@BvuRgeV1Hy8Etjw4{G_4fj{zMZtKgkafNx&`3iI7N@C~ zkq3+}OEwa(N@&bO0s9a_rUrJp2?u>K09PZ#C4-pDGdg3F!GN5H(?n2xAbz*K1^3>c zAY17Q9>Zs*6$*^&9jGPG&CLZGHL+)umvHc?M;QLzlY4Sr*40(TZ-Fy5)}&yi60P-R ziGzO6A7E%>NJyz!9VhGd+Z;AsJL&-*8e2-~k<0+UWC!0=m)iw4O3T4UI$Bvnk zQAJCvJ;d*3%|Z(>shcOjj^E_EvfkJrm;-1B4L_k1uNG%XQ`y(91UkpMe&s^jwf+)2 zhFUKy9`AE3w9b4NBg?GESAO(Yv)(mia#SJXD|}Taab=7jnSB2q103y4%9e``2ykA? zS~#0{%n^Qn$Fg3o2HE|8R;-lD?BXg@>B?qaR3}1i(BE4_-uvG$$bAfjg+7wbipRj_zf&m3WI$~E_wWCo>&xG_{r@gUYfOtM7yxKj zT0r3Ms#y$)QZo8kh^@T<;H8ri;}n#)UIUq^SiB)1%JG z+WaH^Us{%OHxCJ>!P!}8e}(A~@bUL*o|8VtO9wd{@Ye+)yh&`bhmC-Tdw|VLLv)bF z3j!@lspl-mFjYlG_!gE~aV0qa3oU(Qq$O~c)oyNjfd)Jh8#2o>rvU$lw05(K!;2!v zzuv>OA>SqYPat(XCOtWfd~E_y`k!EMm*?a;ulB)9KzKk!%aa95 z3*CFGqZLmVF*~JFc{INJEYTHctm+7Xf)>Nm8OO>(PJrah8R?enOZu{a`Le+sxMzP; z=Bj5|JF~T9>OMli`T0#O=T>e+x-upXDm?3tG3kBWab ztn=D3-aI`a=ed}Q)(|*>@NY0v2Zi|<-!d3dXHe7A=yF(J446Gjt*?DFJDxak2;!`- zUi3zKlW~to%ZdZGQGQyoc186VEY#WaHK%%opQuWyJG>6OwtB2ydVNXJa2t{Y#z0Vh zMKcFB9a%fBsqRS=2Wy~?|;C$7N!=Cg#?tw^%eVAiZ?J_DEcV)+a5fZ(sK}P zLW#0BacCZI4q5c2F@>0U7p|j!2gkKC@U@?%4i)_Tg6QOKHR&D){7xV8T7ZUNik>eS z{EkQ<*FIPPW|o-T;U8-$`X-oSb9`ft7}}g4+=^9_jEOKSvc^zJ;O|GF9;JqwZ#g1LN6=XW>CTGKI`KUs#02K57*0M}L$ zy1H`~#kk4tr(}_cw$;n7FyFp%;4u>ykG=%|4YCXZDj@(9${W!ln^i|dCC~Ul=5V+Q zp`@)oGp=G?+fa{eQ#QCD{k?+qF~YJGnFoU*rQkI;01 zL;ak1WqP8|KO;wPKO`oHlnWXb61KNz!PQuw#bV;$mitv}=kT5D&88JVd&?zT7w#3g zz^G4cbojv4(O8!5xMiZk~Forc9D7?XiH;e%sDVJu>`8toZY*Furh`L{m8A&!P0Qn<)<1jP%g5e zIw=&eHOgcSts02l=}bHv5+ByCvo^l^P8{{%K+i*^D4`PbJ{<$q`*53skCHaYS2Wxi z)4>7#KetL^oYJwMwo@y`Q)#Or!Guxr-!tCQ(YkAKF!m_^R=(E$0d1wBkv6zGO#=T&m* z&k3`A;PhD4EaJ1W%=k*3ZMLpYPw}b2VtK96h9hreiR&@C2HzYZDIx7)zpo-8VWw&S zQf5pD*fFzO7}T8>$uu(X7;H<2N@X6O*)AF<)>#rPrYoy9ID3g;`9{PQ+@V*t6Ghdy zWG%b#ntC#*U~E;DiT`K8=IfjP^Oba#f}W>z(C zmZJgmpalSyWil(&nulrAp8bkeO9|G9IMN0w8VQ`u0WMwXEFzRgmF*Zsu3*M@NwgtWq<^zBs7Nd z>dU9MzHiBaH(kLps&toHN`K@2;=bD41hD^bjc{@Oq2wuj+Ka^=dB7$1X{z4AMNIm@`|eao(xmQUYLtIY z&JAPw6?!D$v?0Kh!nAhhz}OpMiO1thM;uCdr%V^-WrPH*Ed*%ou6@k*rJyILfZfRd zvkW&$5FZW$?+%`48WfscvtE=|S-nK-4Az`f18F?~c^ zmrJOjY!2C7tYXO}l&fne_?8v&=xj6E{?tuIjmk4eOGM=b)V}6)$9W|DljPFpX4~_= z6hAeXZeDqwk(TEZmi`Jz|KcvH1JzQ`!)F-? zNhm&*Q+T|S?V%oAAc-HGN-%5PHo3-UqFm#jxCon_dg~L1Vin&597t!vxsX022ppwK zau1_!IozBwzJR|d#C=)Q+v55^Edbzhm2=Nk+*zD#Hj@FKa=^gRU>b6~y=XqAIdsV0 zArU0jd&j;k6$)GANLo+!>TW@Bw@LsD%xQLBE0pPij_dQots5R;N~`DlEr$520ooyF z#OxXZt8*MoIZ7Z=J-q0kzzUX&`qf7!Xt2XZm*Q|i&q}BAZhTK@fP(I|?DD+R+5E{7 zlIR>SsmY&Xc_L04wpW?iK5U!E{xbU&x?5_)h6k{>+6`zf*mGwJxY?@ooN#$qCE1MW z@+4<^kFK~?NX)Tw;fhpJ?y0Asb_JjN<<8Bbh4Qp~Zugs`li8KjiV>nw z>AT8jZM;O0bPu4*KqRew?ddN)e>Z+FyDiva^AZoh0ta$mX?5GF(rhZiUFIe!5s`qX z?P0)gb3~n^;j%e?nnNwqfT$|J=qE*=otGE}$#kn|{fp9~>16wDLQ3Q=Yq3;XWCNO{ z{W;y#1vE~#p6wgsxAEPXMr8YbR9@Fc@-6P|?MPvcA#BcdD8~!d+?GhNTUuEIHZXPv zhRL@-QZ2#<`n$a+d_;IroonitS!-F$)rPSUF&l1in{c8q(>lM$Jt``*%k(Re9!jl!Le?h)I+o6pXhP~R3+L(h^BSpqk zQ;BmmK#Q!rb)FH4%rd{5-|b~NVj1s&(d|z4;j!dx*UwS18?b95y7~O^tR>u1$O&(m zKt*Xp>UNqu2b!xAL~WY_+o(lkzcTYp@dsX~T2PZQw0M1>Brh7Gy&=7hK7 zD8aKN_}1ossLf;Y)((rq9L^1Dioon;@ogNmpB4vXKjdecpZW;8p^cnp(Lp+Cc@gv>wp9C)6AfW-!r?s zO~d)kWLoM(%oqV(HNYc1F0LtQ3d29zfg zWJ95?-ZWhUq7o`tRG=D$NMUcGkmc`;P z_THVqJXs<(^M8uuKCP)Ze3gDKRqFiAiFzp}7SHLRG%uS5>RJDG%rn`yq@tq)T1{+n zb#E7*VStR;&c=n~5yPA^UlMTc0=r2W-EX&tK7qgRLuA)iqV(jqxEPWFH^l;9QL3vO zvti8kAg3)IUbMda5u4ps?^? zVaYKT8+uP;TDJt*38jQjjU3BEQ)DtSKA?slNRZVb)2=E{uU>VyY}jS%nXZPZ0Zcz^ zujb`5E_b7}l7J^?TR1q_qiI!KEZ<@?*GA4ia6OgUeJ#U(e`VI#s;jn)*|}W*Rv=GG zZuNd%apljWn)n7wz|+(^e?hkFlComL_9a;fAwdNt`$wiqJnInbG1ujATH1;o#+fGM zM_w=%Ug{x;(reWc-C2Q9v<6FcesTa#U7D*t?xw?QHM+(y!7yJF&l|96MEIx7k zG^i{_gqszdXGlNm@avTocsl~0@m01gI>7H8U> z>sKSv& z02b_rZwzt9LYvMca;5f(VS3*viSz1c+yQof1)ay6JxAO9PU=@?tTd(OGz=R2X*KvO z^NP9^9geh0q|0r99)co3e8YayZDk99yc`3 z+S1yN*ZyAUsxliki3S^Ezg`AvWp}01BAva7 zb!&g#+K^zjjUpZLbnt>GtvlH0ATdyZNnr`p?ar&8`3X1)2f@L~9}AdSa*cX!KGIN^ zQPES4if^9hx$lcpVYF$S)|R%`8(1(cfHP8bG%o!R0|OmcKNbBs3n?xEp^~=pgtu}OP(1?=fmga) zCjL46M{6!cF>rnRrY6yCQi(a~o-gfzhKKZe>OaJqiFMyCB$2D*~1&Q*7M|PlO zaM~ZH^oM0{S8gW!EI$|tibPC;GcYEV3n)x1HER2jzE|M^8%3V{r=V%ok>%v1w9d1h z+eXAfjd3L+E~)6~;4kqdHMv!-wDNcrLDa>cVek*>Xj1vYW20YYz3WpCoFXDTZPmxB zt((c;b(_-EhOz>A#h)1}siaCE0a#GW?LR!|l$BUGI0U>-RYF>&BXyReL42=^^tvo7 z>)1OkmOIupr3B*elTMEtD7$xc3dqk+u19N%7`j=Hra>9>8T?*`@LapL-E&*xNOkMk zzSCAtviggu`4AgDrgRZK8y=GDF_%DHKd#bZ>Iv+33Nb5wtOb@|3ul_+$Lc+lW$Gefmo_zn(II=)$ zC_`z5reXEx`V3|&YBDD40OCq2a)v&lZ3xw83gIUhli@7q8u8OvyPmua@;_Is1cLUu z(GNCfuN3b;(Za4}1Z$Y=RiW2;Wp$p*k>pCaks)uw7VkGI;ymc_8^`pjtlbaK_?nJ7 zOuDO&o^e@owcXAx4+lvfc$gy!^x!rilP$MA)s_Fl*H?#CwYA@(2ndKANdW<+QO>Yh5J}X(0GI?mSxLaWNKu+JN###gqL2Em%6d>Xy$?C1S}<;2(m%Q z+qBgylV{_+KIZ%#>lGiPYsdade;nDXG=r6Cxot5FK_WmGH}0x&ops*X)*T3F zDdM~xG_@lHF=IMW#-6!VTyyYv@4ie^JIRF3YX7LKeow*OK3Q1G_QoK_udT+ml6aC?5z}9*D@i7?zLwtxibQ!`zorj5CX@P+R|oIZjBAE z%X6L_PTR8JO_f|W(`}5Pr*uwFIa|n&4*DCm7fNiltA23oa#X)c4-ln9t4ZOnT5{4+ zrLgvRYu39bwDS=2ON-maXJ6k5G>sQbOxN&=9cbyy)m1p3a%3UoJrfIK>p*jQT}1sY zTAZ-H*y)|~@X}|lBccx`m%d#@jfT?)8{7Sl8g zFYo-1Xc|(3d!=7SM&rM>(e&&~04{I{l{{s%Z=lZQ54i)hJh@OB+LnxPR?rxO*tgwx zJ)l0nPEmKPD4pRY6_aqVoWi_^aPy(mTx)O7%7?n-AZ`>ol*t@T`s7iyXpQy&dyo!= z-R*O=271S z(Q&5pqq7x0t=d}SaBffU`8We>p^dM^3cq{4oz27~q?Tlrz0ns(WP(=Pms(s++#lbh z+7q9PlQ#=oIv=0zyV`p-UDxvLCEJ4_G7Hj=euzC+xsrBK#651FSZ-#e`f+=Qv6PEN zDE)IQ>&_P6>2mUO=oxWdwS280sjt}W)niapVul-Zhho0OHN{?&Gvz~)4^jBCbSljB zg1Y5&zz>gipXFjl-n%QenQ;YA@R~0ufb5n99@k4!%fQcWveuEszQ3EfqtobI9=RF7 zl1Blu)S!;3A7_&%9E6JN=$XjH$xsf||668dFT6(3;_ME5*-*4WS=e%5$MphsOgwQh zRS!Al7izg183wi4%I7Zb77iV*H-yqX(j_wu`5lfA2iG4wNcdc-{Y-C1ZUHdD3iIO? zHO-AZ-aVEhFaMqx`M8F-{dJrxs$%rf<y_S=Jg@4c0J;fXrtsYusX3UBj6{jh(+P zWnZ&ZmB4H<-n{tif_y@zA0$|{Ss+J?btfT(hvQ6UK==H+6OpkbiK9ErQ9!2s`2b$G zTrpoEqq*dVJiHcLbE{jN^#}@j#wqJ6CHQT_u7;t!&Aug<@W6@3hc`AG*nGSr6|ZrI zlP6(|n911w+}!3x8=fV)P(A0gS* zH}W5yVNF&*okNSLuD`hlOa1&e7vN9``_zw7Mmzk2aSih<3P+{7YP8{OkK6P1=@X?V ziL;8wri3JyHeqsXR zlI+aE`n;vZYPQL!UmBjRUt0V$YuSZdx7{5Ki9?y*36%I%A8ZdXt_PB<)p=~57VtHm zm)*WHYICST7SY1=yq9u#^Lst;yiaHk-Tfe_YzV1|Uvn7p0z4aPF$V z@bISVOvOxTC8oM^sd7MO+k7)WL7V7|WU3jr_DZB%^V-v!2NQbqjBZNejCf+@IHCxT zaUYF+`&L6oB;>R*EM+Gkbg$@Qj5>36mnwe2<@Tos6$jP|)OK&WH5B%VnwrPwF)wk# zrsiZ47U|r0@9?)UOd{UW@URw|70Qfz3+UxtnT8aX;#1a*RnLTs=sa}`mP8(GjcFWQ zDgISsa25`|ad<93&9>jp$jAqq6>XTRsQ~rIIf=8>VHMq;80~w+5fLfF*Se(1*nZh< z%WJuWuq)L$k(O~hHslsTPtYS%`)r7(b~LR;3+^(sF7V|DOGjPGYL%vwt^|=_{gW+w z=8oc+?s1aAhunowY0*xFnx)=L&XgTfEX~`Wj9Rh+JEJ0YTCQgis zPC3c2J=6#0`0dB`-Gtl_V~oze5Rru8z|wbtKZzh!n~)w zp*GjyyNR4m1*I7Tr0VXFsB_5IF4-QkNh9^7u+ys9ieZN!tg1uLdcXE5j*(1GP&o(Ub8mubLMk~NG+5${_=seD&aZ?rG zlS5j91}`I{^ePVc$+XCvT@x&;_bRh&6-O$CpEG+)G@+M9C4%<>yuZBIREG3!qXT8K^a!Fr9o2 zQVjA5Tn#d1H6ZoqU}`xvIpZ>?Pv|GyQ%L3Oo|+BuP9leJMDSKJDi_S zAp{*&<&ax}1+W~g<{0VB^^t`+p(3@oL<`=XY<({H6+0|J!RIHQU*|m2f=O$`inLE~ z8Tl6}neF&g|$NmYSp~|7zYPu`}$Jkq$+}$w8ZD;ZtJ#V__4&>d+9vuvv~qy3-(H1VE)W<3SHTs z#q;xx(kI)yBJO>vrE1S%x-qU1<+DUZnlBn1^c>U?v}a?X6*_O{yTlC*mrvx|&eIf< zZ*tiT3+OR*{{DE7iN1)Qradno*Hu3U1xL{*|nJYE;IDY}4|!j$qGqR*dNO z54pyBaCdLi+YNL2(KrYpKB2LoDCi;`T6*#U{{!prT;1ja&$ojm(Y;WO2g_n2LfKu(8o`! zC7^ryBc!HI@_x^!=fvzz!b|S3DF3q=5>kR%!%I|Dq}le2lD>!()4kb`Bd(HMw;R#! z&*mUro7d%s-N`SH9V(C9Tvt9gCf3pwjhw)n^5Y-oytt7#UY|V+wdLWxOqBIhRE+HD z>sm{TOo{>e^}mF~{7E|TmT$&8`D_W?#N6o3yLKeT55@`cEO7EH?jwz`fEk9o#;HKw z5)D8*%Dj&I*97?4h#jeq&}#z8gX02h`u~oQ*uONj%hkQ z6UFu7Bvioe$_<5%p$9Zr7V z1q5_FP24;j9~xWIIbzwrV61tkr+08|enQD=o}vF$Ki@RF56+Ke&2bwneh-PA7VL=u zFKyIdien>6Sx(|ReLeJuR0W$4fZi3oS?Ea=B3xO)lilXJOKT=1n}ak!j>-*mbJ5QI zZY!+6q(;ORH}!(hHEfr6YxgkZFp-qxaT*8}r;ju4SL>mQ%Ic_UE6nut4Zwe;WhU_S zv^ch$&x7rFD-sE+0*Dc*+Imc=3*#~eorn@YxFh`35POnSFCr=g-Zl486 zIY8t0E4?GPzm_*&Y~>d+Djhn!zmi&$!3LokXW49DW09Oh zYk%nYTy74JwgHHC{b?HV!gY@zIO#b>oURwyd#fSm^M` zqi8icd>uX`Bqc31l3%l1MxEp}TfNZPDkCi&5Vj-mL1zz*OJJh$mbYnju`3Bck%AtD zmRE6UH@TSPjeDXZBeBawXRyuTpl@v2=AC$c*}02lc*zX>JS293`(c|mPe0lESI)WR z-Yy%*n343bk$3&QO9HsYzMG(R01kO7bJlb9v&*!a%B*USpE||XmE<`c1gfL1;wozG z-4k*=;M0yc@qjoV-c$+Vmj;;-s8vPKiw>kg+uMy1fD_YnUGyDAvs%PW z6t4UPaEuvU-I925;FI91$~rngn+bt75q3mi95c)<>BYtJ)YR1xXyUZ&rY2Sf8eJKc z2r$V$t=AOS*sf4=A8)3!dlIq9cIUw}~0)Q@-{JVF9 zv+67_UbDTXmywkG_U+pr4BKDy^yQ#>!J{d~MjXZGy0UlD{(@QYwzYnty{{<%|`X4y4_bGwYoA^H^Z|VY$IKJZH$rou}Zr zPcd_CAMSrno-`!vImo0ZWck~-g~(i!c&bn}Bv|%c>p8US zK7|`T*|eR$;7TnyS09XPh{wSZqU=!!r0P?J!cu0T3HQu$85kH~Fvro6Wfho%N2X$DM_mzZ|?1}IjT`D5e7niul zaBEs*o7+ErBwsEkV?<3&q*v}NV`NNCWZN28b*v*lG%Km88LMGsY@40QB%{D5aG~n- zjZIZ8;>hhuLgJO~MI>T%)4g#@)@@F^$irp4jFO;+SYX7%TW zhU?(Cp)XyUs#TR^3{mk* zm`|!W@byvKJ7~X&=~~O>d`h3-wi)Uc(U90GF|^as@!-X0)?Qz?U_|q8YwxfRUgd4z z?SAvZ{`GXGUwut#n6#alhm#dCzIMF%*47x4f0J}zkW@})eL?K!REtnUvv-CcoG|eF zWZAJ!M)mw?#oyWo<#r^BqjCfrJds+6=u%~WJ^YGO6ylS5xn&tQdw-VJ72r!#+6yvSRMvj=x&s87&Tb zi*Sp%XRdE#=0&8+G7Q5c6-=x=+~2>d%`cHv;AnnuETR~pci;Vm1>VLAq>I_Yl3r8g z_3IjhATLHRsaHp#7J zZyxom6H`;;L1SpS#mjURY`)tV@V$MPFA1eN?i5K=9jFt#q|6kezQoNEVwYEv^1mHq zWj#!F2tG!Wg!&(^NkOxdGc#pL(2OpZa)b;RhV>b5`i9duZ$3K)VGJLmr6%akpKRmj z(Xog@Z;#9OeYI7;##zX;C*QwZpT}FtUa#~PR9^S-3p#X&+?k4BStfA*XdiU^S(Kdb z*#0fKbaH0M15dh9fMdq5cMLvO5+^r1ej`Eds+x_>ds)}RNawZvgIW5EtJNHZQ0w`V zGd*+q19?>@I=AH~ZOlQ=7PfEF@@=LmJiiZjS{WF8DdNkcqo*Is@j>zAhDosJ(Y=r+ zA37eo`Kp~AZgYv0hwXCtaSg9sY<;P@u5SBYtt9!?@q)gxvddhk3LY-*#%w~+%Gr#b zL-5ZTK5dnuCG)_Lss{q)$7CkJu%%Bvu~Xga^e_O}1pTWs9G9kwio=PpO2Ca|U}T0i z=2jJtU|Z&5k8IR2yv!tTF)<>d#qe2*3?eI!PU4@~SMLJL_^XvL{MiC+yTiXz7 zSQ~&7D$OptY@s8|h5Yy4pXTee@Zdq`rWrj9TLu`vdC|hc_{_!O%uJkaGwB|Nw_<_^ z#rwe66QPthjNetIkd~}Oxki9-Vr{@qHOU)=N-$qoZ?HfFBNAh~^=ZAHJi))PJZV{K z>?fbTEZdSB=nm?3RnN6sJ|Hb?)R?AY?2_!Mur``3%-V^;t?lk%jCVJNcNh-j$N|_& z_?}?1$Dz88Y9_FyU%z;UYCj#E+N$vN8Lwq1U=W1j?7JwveOs6R?R+weP?Lz~5&P>U z({RI01#^49;!N%%sR~C-xls0vbwpbRMYQ|(k4Z%(l|@1#6KNGhsj1qssf1P_1~w+; z@of@S8Mptps|jZD3W9|vtx8GDDAGBe4vrGLYVyRpu1`+=))892V64?vpb#~h*m%8g zz|IfFnJ7*2`I57c91~T0(-dBy5k(kMP*|MEw%r*r!Zh0kVx!~=JJ~fsYoUolF;&^N zk?!B1O6W?ku`u`@sYwDKZOs=2aod-alwln|mJg!7z9ePx^(9^lN(T2>aj)fEURPW` z$Ohoqe!hgkJ6fDJ$p{zXE7(tdR$1$*!@y5rHO;d2Y+bQwti} z?1MbE<=!8RDpxPv55EU+8FvgHtO;N@i0QkW3YG6Hmu*fzcA7dflT)FK&JbRc8V-HU z=D$zKye)ebzAHs}T$f(~`}&gIX3LDnancv}%ykA^sP%3$&AMUYNd5H(ku*$&$MxcR z)2?ogWf{8a*F1Ly%VMW5T@sFa>%?^%j<H#oyC^7%?;m!OMjayw>eP#xV_!6vwHgzOa;?@wW#RG z^WA_5H8r(P(D89oTT9tLqJDNlQ}lw?#B>=|0NM^*ii1l{u$x0pSQo>M`AXC3O<@h~ zpNpVDGJ$?g53d~C$qI#W;}kCXW>$!xuU|4mKoeG0l1p7y%Tj14Xjq{mg07BEht#5@&M3#CI?oW`}hAit0el@c(mArdn0X5p17nSb6TSi3vybG z$JT3iOdnU%bF4@Qt^`f7^?0_t-h;{jVc4u>(2~y8ukW%NTI$^cY|k&%o~g{$luXuM z{2ss@lOyLXw|%FWohI@9DDN}q8rFm{bxABrd)nx6z1p$DH%UJ*oqFeadS>tFPkOr* z-O80Wx9Gc0b^3u0eV1syX%UWb6zozWBtn_6G5K==~;%T`$+ak0Me;mFwoHsKpwEC>|?5rlL_3<-!aLN1eG3mFe6FW78wy~z+sd?1K z@2c621j+8qRVFu*qovhU5^S(!o%NbS<~bTN)Y^PIk1PQ8MjNbO@`(s$aSKJPruhZDGSIdGM;`USb$5lDpZ#Y|D}rEAx5T{^dp^ zI~`q@X03$*SPW)5Wnfx>CWiEM28~Ge{5-F^wIunM;&{Fr1$Wps4=m!b4! zRA&sYB3n&FWFvzbaQG0F!S>dH*>6xW8+E zcq^=ug(a&)mG>jCLaR?^g3i(B%lZ1|Dpm5D1GXOe(@cf2fzd~i=>Cd*G!XnB|`QPFT zgn0e6bT6ws4+rB~VMI9dxFQBva7-3Bw!FJT2O3NL4Ud^KN2yXyj>eHI1T_(*K> zGHHJxr4>JV`L=dfSXqZbo0*ehp`a)&B>8wA-80^unx0y4Z><0n*oy4Mvd2=k%}D5S z4eFXZ@Cak}%e17_3~pM|tl;kkxgiYMYx{ zJ?U{-uH2&9sl$mecN}xsU2vEvGTUoq#9#&CeT`m!RyU!36H2I&sr(XrFmB-*x3-K& z@v8>6+mH1PnT~Q5aI>zmS>sj}&Y?<-T3@G%0QwQ_XgVQynB>zYH83)+_7 zRjmY2!WGs`*3i+>v7W*zv+IrvNLqqCPwc$@1bHCL+iyosjDoP-RJqMg$3&6O9`|dU}>*9|=h#xa&|tJzgNk&hecSn-8d&!#n| z`Fn0p22w~&zmE#;al_i-k^qAGm&F^rMrc#&*Ro8 z&hh5Wk1t2!vihugAYLw7q`-B#b%{4`Nk(-g1APV?+@L18j-|g!(y2@>te0=rQ9$eY zVl}nbEd!#k;R-<=HR10QlJE(|V9@xW!;kb{bidsc9%fUckI=n-4iOZQv>a01EuRqJ zj3kEoKQv=iuB18B9JDmkARZqZUuSEA2MMj6JsmOMaBYo_RV61;QjNXaT4q`0?5JXE z`PiFqKRD8 z50T3Cfu?@wBnR<#v$X+OqQENg)?eM{v%efZi0;p($}RzO0kcea75>*cNyGc?fvB}` zVj)v*d?SiQjoyj*t%JzVCRn6{NXyN;J4Io)0*(^z-sR_{&?6)D>Dq{+^C`E#s@8k1 z@@avy9Q~|kqIJ4wQ2k3m%-3(}g*DN}XdK`Ur59MFfAUWQ-tBpQTNJhn^z7y#x|Dq) z1>N&kA3gQ}y|k;DaAa6OuJZU=>ibXHdyhP12BlshDGcnE^va#gy6%z2<(28_6Yrh3 za{2lBS`~*rMKT+E@IWxr0$+vt`@^>=ABGg;c-S9(=qR%(_=m|P5c=2PtLYw9a7$bF z0(YBwtfDCI_>M|)*!Hb4{+RLa%AkP==djmYGhm3Vj5}ptuYVz7%Y9^HPzu=l8kPL5 z8z-YoTW`}F_!6-PRMe=2hZK}mXAkr}R(H%;m>7PK)NWA5UVS`={jShA4NnsEPk*rY;HCe5v+*s?=j>4V9m5}<2 zKC(*hg=3uOuAO_)Uk9PsYnzjemV`Dd_$MJ%vdkgd@OO_%$0c+`wo{zXt1WCD=dVpx zjrPgXbHk>@#*sk_@olHI;4_d0wptoooT#>z_55fDTUtn=UHB29^yDB>%VKq`!!y8X zXAqgT?w;_`5cfSSMA)&eVNYR5Vf9+5cK+wk7Gl~!K>dxB-`)B2_ytV|FL*`f)5Z6C zMXQocw#@kGiR)Ks#{@g73GOkG@%_1M%ex$0x1Uy1=tk0ioYbrhS;C9Ad!Nets#b4a z^#OFl{OA{q;H-sywOaH_e`d|A4r)PLeP?3{keUW=QUP^#;1|jC&zu{-``L;(`}T&5 zn2*}2I&zXHp!QSOuVp=D6uNX+Z@8do?`NX}HD0q%*Uht9cAZbk(6A!SHATmJtckvG zN=j3sU}h=IrG-I)5^^&h9i2>YZXwFH={y9zwDlE?uXtZs{@4xc9WTBO2WsAW^0(!! z17z1nRD8*^(E8%40pWR;(YWh{FMgnB^gPpY%IyopLSgb4ip74(zLucQ9j$f z8dC#*si1zNO%jsgcx@tdOiTeN0p3|@xVQ0n)4#cZ0_%YBOX}Io9|GIM0GnaFlD)xZ z4d58t&2b7dCWNe@O3HS2%J1cDe^)Q((|MdpPkX9+e1^5aoL7|%;%aQ-@~V~NUgxz$ zI3HIR$2ot=)@tQa>z+<&W^R0JWWC9cv@UdW+wlc*!J3Ol;olyv)$M^)c+1=1^Ev2c z(lC*`4SjI^@%nQC9_ZZ>BZO)} zA1;?$iOA#IJ-itg2a8Jgqx&w>TaRmiuh{)XCQwF3=FkM{v}f*OQkq#YooqbUm-OxO zR_-i@1UjGcPSvL&R=U+-M*Ce-$hIIO7wz48X{C_$d1`@%RqRV@=7quj)t1VumJ-_8 zT8xG`&gZO5@_+_2^~0mxpL|{En`=x=?9S}{PF~%V_ znUf;lg^;lQFb+Iy|f0kD~4ee*4o<&p?NnmEeHSHFs-fA z8ccPCta0yq=iMIK%Gx#AdIfkdx3yW=x z#*qn+J-EGL}qD(5+5Jv=$id1_IR?}MgIW%)CA#nTHkk~cRY;iBv$zlmJap*{EJBp;7r1Z>y z{3m8@c2h47mS;i>tPiUgFaKvLN@~>)na56EcDxkpQbGQod(-P>}252K|Kb-3K=`VOAf zg7Ng1*1S^;bX_ZJ_zkme%2y4KWStsLtQ9Ch-KjS&A}Z$WR}eiA3m}x|?tDwtq`T08 z5=RY#X02zR&G);DPl4ifDyJ2?@$REDnAdKdnuKc_BNG$Z>+&@J8U|`sBM6k7luY5Q z<84Q!%u^n7q`Uj(x_Bl^e~E|h`V>jZbUmA~+%4(BURg0V=TVDM14x22ezVsoqL037 zyrgGf;mUd|FV?iD$|i04wBLE_0o`9pigCXOUdlb}d4jVbo6W0G+UZ1Y$yD^5csarS zNRjTB9Q*0rIXg#7`q>ASsMzk*aibJ$hp85x`=e7pae&8Bp!;)t$$uwRTiQNGH3gE6Y&6^emM!ouu zLnHbYy+tK?f-6@;9I>4v-76hShZPP%49}*tRLalhUjn?!$L&LQEuqz%+_XIdD;T-H9kPg$71f^93P)x#B(~)mzmiZJ8kxtPH7xW zvzI`!M9Kyockzczc=2Cp9#`#-O-S!5^2jXp-w$)cgzS=TvA6dQY)sX0dwkW1}L9mm!P?XngO&>*^G+=r0(=G}Ij2*F(a$K>J{wE)mH(DtAa7m@Jnkl%IqE=`%y z*U)CU0~5R_xS5~)&BZ}EoSoeX=aHg>Lxr*~-}v=GLQ2#CD!ZE6BP8LhMo9G~h4eL{ zmSG*?@aciaWMMOwZFg}yZo{d0r(L78=FP9zH3ei?BwJ1hPiqR@_*aeSoRQU^=%#s} zQ_kZm?GAaBlp=;y(DfqTa;^;UkxgOZS3%6)nHfvHBcI-swO8aIP&LgeTDstG_jGG^`qo+h?}#Gpe%I9o1K&htig z#vI8va+#S;41ys?d3m`kQ7Ovru2?4(p1O32p%`yovVsoHfU$@t1W@7Jjrqmro2{go zKz_>KU)~!OKy-=7a@qE+i$B(a%gAtr`dK%Jv&*bZkNz@Z0Db`$4liaUwOwbeBsi2IRnRN7OYWIP z`epP+FHvJ=Rd$F&kipW`Yx2F~9%0MWwYLP*>UL z%6P#@Nh?SrrIYL^IX&E;Y(qb2z%nEU_t-yMFz23)B03_mfdtS4AVt>5;~1AqHYLG=E@!KtWWSJu#2PGNbzFIM^kbD!hKgAlkc&zsu?NX<1Hbd)`j)o5rUe}4k5 zp<}D(C5#MRL1zna+3woFJlf@uw@k6|Q0e&poW%R@7?0EE>_@-5wR&*fI|#jW6vDlA5>UZc7^ zqhi1nzup@IPOp+7kd{Q@GH%bYilX+U+*#RL^RmP5fu@kG6K*bDICRfbb3R_h-s8_W z@A%mfFMy3XZ)y4=j~%LkwkDcvMZwh^@2%vCd7-D$`-thTajNQD;QK8>-nE)bm1rZl zSk@U8TOwT%6{lm=Qs~VO*IRVh>j={FiK&b{^_g+FX;4C7{ygS56<~^jMmFq?^^|#P zTH)m#hKnKtyKNA?&!@Ng-I<4wt{x zf^5%`iEEPd?9pE{^05ITAaE5&J+^R^Y+Z4B?N|cZJjkZ9FBo%QCft(TwPh?_zMDuK z&fdG1M^D44H5+>dcM*e!Thx1DPF>;;Z z8>5BB!D?Hl1O%}jb}vatmI`pM(ga=ix?sW#Hs{7Q*;Fm>esS%;2@Adx6w3>m-i5qj>bQBOn zi1H$TR}lWBd9$?KmK`#sV2?vUFt+Hj5{U3afhVdd^2Z4R)&vzO_8Mh1r0$3O{gxoc z-50UJ=miFOBrIkoiUhDLoLl{!!sdB{3B`{$;BE&Z zU||2C2GbO)uT3)L-luV}1ti--#&S&D+)z;10RZ;YJmmo>?+C+u5dgIeWMU*QfN=AK zRAU7PmNlbcRrqB#m;UphIBXFxJ&Oj`3*-=;ZIMZ za10QqBm+*xAAb(i3W81CyrS~!z803^g#xIckP48(aOzt|fa`M6?qMN*nf=8~r-OSE zPQDGDh8hbpOUh8K>Z=MB;Fg1*LW~{@F-YO&I=As~^DwJMGba-3->Uk>a_M@goGD7< zaYWT^{@|vVMGgY#Ls3yQgg|Tc7Dv}eMV7mjoy!|}dKGeCUlg_K945YeL}5=3AN2SB zv%!A6My6n8br7_OJ@-|0d7IvHl?UL4Vm*?v00a!=EB^rZfOV%#zxTfRQDFM#3n~D1 z6RzAwR1iSk=o9!9abj#P#*y2H4^#k50ABtV&L=8L`vVCBgVj<)zVG*ST~yL7<@5BM z48&9Yen5<=a^ac= zaf%0j-#zg5A2{8AZg`UG4Pp>xFA)y)pD`eQ0!a~B>mPsb&!0#f2t1?NpJ}v-!ix@m z*-ZZb07(9O?6*H{_x=|EJg};lfAK}7QK5EKYwC+r4o>mwceFQ0eRiC z)U-^20qMaza+*b^#t%h;6z*vQ^28_?exz~%N`5J{V*tA2yyV>z>0Id_ zvLmN5t(!_Z>qhgE7ZBYfWi*gCH(?mU|Cpp3uT9 zv(oBD#}ZOWT=dxEz(Qp1V!Q6B{feDQkBw5O_3Is8UTsd!2b&8wh5epyK)KzT^yD?n z{}IVtKy&cVT*o_|R-h5^(JneaKhUpaBVP)6%GFY>=NBQ~U)cdou3PBj3Q#~_+BoXu z1;RRwXV(WLaq_bvq0-S`@$zy?t}M%eT$dblE=om9`SgrDK!E&`rj5ENpV4`H)_sGe z@&U>aJ3g^I?jB-|Aqir%NZkJur^ww~!CX}rXJ7PK5S&r|{zF~}y4aDBHGX)6F}c`< z9JeNSJvq*p4rDaPg`6 zjnp&>RaTA!!G2CQwYiR*Ng?MZtE+0qvk9R2 ze_;wMoM}mAp|^;Lh;eB?TE03c0zyf;J@*-l7zpJwUFRkRXc_m^6h{sxNkot--DIwA zI$QNoB+kgD#U%8jVmTd`!-4a@2XO!vxrMxSv+Y)0hC|apXA0Sf1(kLh0#ZT-*O>W(DCHj)4gCiMWyBj$?`@{@|-U>0cUkPS9^do z=kn|-CWxiU2k`Gxph`TGZh-o!Sz$94!3aeUen_}Xs2rXs>$&AMLvN!JVy)k2iU#Z6!jpkp!a7Zr(^Q-+UYfQ>#gTMc%I|19fHHnlW$o$j z)HlGKZ~PhC7IL~ielUBa!bT8goTnq?8fUYVi4(pnC_%}17hmgso_o07t&F((=3tQnpTWgfP_?y zh3PLL-SJPjPqBzsK3J9BozKGZ!f!m9?|U}iH+zWv<<|Hr@{IYbP~*Z0)35!MHg-^! zcyr6V2GQwFQV2sj>lzwUA?F_c()t+X-6LVqH(>t()p>Npwve0uX%9AdzN_Pm`H@VT z5@;N`>yvV#y#Olh;wJ8+OVi@im*TwF9B#~tV3AG8zZDL#4xc(?K2V%*+or5CB#fe~s329$_?{06MhePd!`4Zt04kE&I_`IfMtCue?r{9>UdR;{zWMlMlM!2t4zLqdbEAuzK<0jlIe1iNLa}KY?B_ROAFWaxhXpxa$@?wKX@g z;yU{tCNQ0Pm-bpKK<4X|e8}g*3fDBe&S6#F#J&IbZY6VZsOWu4X_;=+PzRvt!xYQx zwm}#fk;qXxz;DFnS-8DN0^$_zc5!BMztkWQ-tNww?zN(^G|n6q(v_vhe~D!~2^a!b z6Qx2DaLOr2b}M6gJ@#{o`voTt7wz0{Roe?&$3OW0PvHUoc&KJN%EOVX>i%E~Vw29T z`Q#mir1C3jOWf@Dv%OYA|8h`Z66-&6$4;qlQV z$dueRS3CAhH3NR_lQP2+QY}S1R@X_Y1{qMFp7&#hL;2QS#(Nk?!*K{?v|%shttI4% zzk5Ui(vpf|WUKqCyp<}*UU|d5_xp&SE~iYK$T!Lt-_7j>q}E-C`*ji}t|w{{dvQU0 z+d6CK?wx=5#|!ua^F{JtOTOu6JE3JMdJ8{aYG`=QwRia<{qyQ)k%X~^8}sEntT~nF zUjY8_T##Q|e1S5u?cc}*c!vIG|8j2trQ=^0&o9pP=^r2$f{^p?i~st4e{vYcCW}}9 zv^HqE#|-q3iFwieO+??l`^|DdfQ%IS;Ga43H#ek3Iw)v;1Vjeu7YOI>U#}41AtF}j z|M;3GnMAHQ$w^8MZm#dG6xH9zPx3KNxC}i#%3=oN84UU3h9)Fjm_CEGSZE4{4fs014@X=hD$*zSg%#4V z>r0NFJ~{)5!ote0> z`%SngS1aQg`+e< z!}{<5p-`qP=hM0k(T^}(Llr<+R?Vu2Elo^_IRKQq-ja~>yeoe6I=2I_cZwh0nN>C9 z21#Ke=iN(zJYIiiv5oBKW=B_${v?#HhA;*`ezn+x#KCi}tiO9cnkTM}Bb-3KH|gmqQd|?(#Lh=6Sv2sqhmUwZgzZ=+x}^o?*j@1@k2KI|hY z(@m0_$EGkMhqFXD+LnriHzoublhNnrD$0;*4W09G#Z zqX`Yu({=oTY5o22g8ckz#~r=g7G^y@QQ$Ropb&Jo)hnQBr?Q@b z3X;{Y#!W%_GF@O*;>ln6yAw3@yk%m1YPotdP1m1n`bt86ie{z>VS-}C2+){TGKDWx z>t0nE)$z0&#hJF=)%kdbfPH0G;08^u$zzkV@#_NaWmqDAV8y3&LW5(U>+TIc0Pb)i zo|ptw$i`&gpP|+Ao3#y(vG2DR@r_UO9-G~q($u4-#l=L)%S#@exYys*`T*{=CBe1Z zDoB9RFk6wXRssaa&pq>WpiK-E7C?HdII|S*n$>E&BMU@!ciPZ=ISB|RiBX};T`n4m zf-LS|c;79dy zXS<*nssfE3#gp(Dzx&-^8Q_{~K35_b_oz=?TDIjV_hCsV4>>F8F zCP%z=B^l8qJyxR8506O3#`{_Si@CQ9i(~uNedB_J-~j>zcL;6)5}d|8xCILq2(Af% z1Shz=ySoKd(T{UaU81MMK_e-$0b~>DU z|6aZ#Gmw#OZV6!{yaRDL){(Hs$D5f28GWCo^PW6Gh>TjFt3LQ}x{z;M&KlUpJ-=_i zhAt=b{zGEHWP`2}L8o(NcJyoSr^W6%waM<14bmVB{ae-h+v; zQcA(&vNIQw@wFQ}aC}52JvrvW*MyzGLX|HgHFfJ;@?=5gyh}baFKeo+vDQV+#P+^X zodN|Jt2jh;rfEidrEsTI3{2IGL00_0IjDhbhhN;cE9%_#zayKua&e#Zetcu+W6sT4 zrc&o{m)q0zcsMbUl7gOyp6=fvr0f<=8vsM9Y<~GpLj5pqGnpfOzHo;wS5nwELC9fX zP{Yt|>Nk&k0i{3J=R;h73ANX@=kAPKE#U!5HPU7;Kvx6NJ&)(RIlD;EqCi$};eGFu zY?N5(lP6a6%v0pzh6`qU@|1@e%w_K4Z={4I2SyU^HGvR`WTFh?excK}{?IUXwC+4}j!ya{xotNl148-Kg7MVOQjT5#S_!Bjtzx{F#*U`@NN84|yq4@b&!R)0{23DL4GM6hl(1^fpYHx6RJkZ~GOfR8ZGw z{$m=YT~*~dZ5IdpJT;3BYxaG7O0ai#XPjJTH;jkm&_W$aNz;H)fj{n89C0Kr^IZMO z;nx_8e)Bxmkxi2ZS|JBaj{F~fUG#?5LiY7E_fD%uR zyS-_T%O0@M>a+IkJ}<8mc7zz{sw4O#{R`t2dYP{It-2Iul#@sr5f-%U2z^S%TbAoP z})hh;t$)CkC$SQ{QEQ`z5(?2zS`mh+X zL^qXr9Q}csoJjE9P>~I<*~KRA1Z8!+cZU>1IsoI6Uz>|%uvztC9oAx9tO##?-*lPy z@wBw&`?p~v^2GFa4_~!ZVTK|)YM!&ORa8>I6RCs z4texm4M$A8VbDQGMa6TIM2c&8x^u9t&Hge{Go74ka&p(@WUlU}r{(<*ek?qb6yCa* zHP*!pw6u$};##=RURJ5fsj@k>0g^(JYI*otvO=ba@?+Jk%F4`daZ!3Eh|&dL?2hpu zfjJfhwsnrBI;I0@UcF}GB6sNVim&GS7#ys7|H4i|Hpp#dk6%b7 zK0YLqQmP>kV?H&_u)?;`%MYR*@f^4ZOWY zD=n`H{H+(_^U=^1XYb~H?|U3z16{?MY3KyHI+2?I47tPgcH^G@&ERw_u9;G<^WHB8 zouxq4tl7xt@j&o3Ar)J6$sQ1;n@(f7s#eF2MPm@@ry3yR&A0#ZI7s@atMmHvo_&{} zePG8()9?Kh0XyfL(S`Ei+UD(+jNH<#UA};U4nV=UuGL=z2{rCRBgwlzHqE4@xlETs zDe~*xw$5QIc@0qd1O-`H7_18x0Ik69#=3rU1<(#=Q#Dq-V?q{oy`YM%jaLFOCXn0U zcp;tpf>si@@RN2;=c+y?Uv4CmYn#k9SE=6lbw(#k@k#%(kn_d6vAMi7Sg{sMbxchee0L!P zBP=3DmNp^1tj1Ye4m@LLub?>?`YhH? z7otWIGU3VT3Li}yC-bgbAF{>}&T$@ZTxWUBuPLK z1|gEg|HI?n@{WEgp3)5}Gd{zoGxT$TH){g(bZLLHdofV4KeGQk*dr!mm;wk`_iT=X z(Z82)EQKvANM>}3vV$9J2|x+c)n!GM6=fYX9|oJW;LC4GwcfERb@+_4VUlizmlpE^CfG_kC~9wC8xWrD4Ma;4 z;wgGno@?o`0-*-v)%k&!QgKxmOs|qFQx&8|B*kRI(?!}zRn%VWsosym-5faCKRv|& zIgG@Rg>-Sm=1kRX`TH>m;8#)_uMy5hXEiV2ELwU{T=aNw(#dvf){$EL)>RoWC=01~Uyl0l(7}9;P%c}eM+6k;;Ck#91 zBMuPD3ky#{EtICZTq{rT+X|rZH_al%wXiA*wS+)xo;Rpjp; z{XkJXz;*d^dUmj71Fj^A{CEYy`M1@Ds_=6xgr_=HEH#@deevTm;aXF9!Lq8Zz5F!&6CH4iJ4NfY)`AU0+zY87&Es zY=*#deSJ(JA+p_E2`$BxWOS;}K|i0PV_yB1qTnkiY;z>5TCO^K=;O1yz8=7*5sZON zUW2|fB>C9LyL&*-?4!Ey<1zCv9a!j zUL2g9RIIF07ZZDWjyy-tTu(cI@4KjsOrlLUmYxWA5z5)z{aq&uO&JnyY{`|xMR*(j zwQKxJh>pc-d8Y27Z-*tg1Nq~wrd>?KM`|}y9dmusj9+5UL2{*-`7?+|TJW5fU{rj@ zxu3G}fRl*4>ev7ukV%&=DPFxc?19X+37nyqo_jJ+-oS=itAf%e~%-f1}eT@F22R*I{t_;K?5z3*60BRZgu5ujV zU?aj***-x)8G7*i$p4ADV zqV91aG47S3NuCjWuOQQ}9`6&5KSEmteXE~=6%nC`;QJ)HbmbEE^a)dT^$-gqE4j2p z@PVSte@pKfh>M_0n(FDh-!1M-9eE48foG-%egStlAD=lReGM6f-0bZ47wW+?>GVQE zHs@HB#KeNl7u3GKzEbf6yFCvh&~N6V*$qGBJyziqkuk}w_{mLAL2}f0Zha>tVh{r> zf|9zcUN1@x&C{ZsnSqivd^NwLN&TiJYZ?cq3QY7t#0~I_2M3jq1AR~ez1SIt9InQ;Z3)rnOC35Hl6KG zLB!VDen57$0F{iog(*{%n}q#`6f!{wWDfRyibJQ=ITp8A3ej(@u%t9a64+8Qp4l3i zgaOHQXI&`~cS&toQ(vFmSbA@YK(&HU}WJVo9gL_iECn6YAAVG;<`d8KgQBhGQ|2nDhWT!%LLQ+OH5U}!tJRV z{8=ZERhko=Y8-sa*gHZfT(PtD~fp3CWSKK2hCF?kep?`13kf77VjJNzH(C5A7GT1c~Rv?rN^ zIY^pzIS$f`gEep|+#O;fLqFMAwY+XU(;rndp;byPM|ULE7i`NbT*gdWx#2!;i;)Gk zqxW#raT;%f&06V6UyZYA$VgMe!W7-=`nvkWrTb--Z{AXzWp^RCyWd+x9mOvm&~!ez z_U+fyGFvgj{RlxVxR80JT)rL>ilzp$V3q-SX;D%AN@-Iep|q?ldhQpv#+{v=wHDlW z>mOL7&8)8reAzCx+l$6=^{%kLAJaYKAU*yXByvB2QTwbFj$qbIxM2Q=#xwormnYTi zyyR!Uj^*?1;%DlvGbt0$$vCte-!{x){-yCW*~RHotWMx{mCEX!-c0_7%+uZb-(;T4 zn#|$?#}Kg}wy|>+M;}Z-=*qq;Dp3A4Q$!!ooMg{ME4lOHDVE^A|@ZxFL{ zb3ZWHN{z56%;mq{&FDO|FNmw_=G~y)=`_KbsXu_>XcGoyMv5xf$9_pn1k(f?@xHQH zD}Xsc3YY=Q;l(yC^0m$o(@GS}S2J8*6lI1JgMrbFqB#yY~`ab4AHZHV_3&g;r3+WK;y3Daq74OWoC4 zTeV_RmlBG-7wWz>l#9`~0ScU!nmH^qSg%kTY$l&X{wE-3A; z+Rj+0v8!{q;s**07cauRKngny-ZfJyt)Y@oTnH zQgz_s7!Nz{);OA&WUa4f&bqB1jBsZvOSjvV*Cgp>fZ+o>EOdy8>O9E;4@BeV^9}Tk zjS@2~kKMaHEM3+MDLh3mWc_hqEpsNOxd#Ki${Lcg{O+HFR7vjVi7RVRwJ|Mg9(@~1 zROj4*GDEEi_+OLu0|pjYsV|s=?=TTsn?# z8%T}K)h{_7?BB;drIC*0EY*{iQbx3^%J^WrIsESZO2h8&ys2rq4+1fkKmpS-+3YYJ zA#tH7DoV-7OBN6lFD~j`aP^sJ8qva^i?!TrcrMHefe`iXK=Y0MbnqFv+cRXpnVKUG zydhY#ckg-ZQai5s0RAkdds7HuYpL9iPTM~21e*= zfX3`~-+3v`nc=Pj0taR50P_enJ$1d++Ovm*_vflB3AVZYB#uB3M6ljx)l5y}O(l$= ztxg@gRkOgIxP+Orfs@L_1a=yb^A0BphKxUc0hA7x=-Ah9TmZ4%FhCs>4T~C3&0R*r zbjtu6a!`Zq8C`u0&m}-9hWAemxY?f^mga(~(BXspQ$2#+RWAfzeU9;!AuyeN@`UNW zVFgF+R7_LQ^8y7~#-!q*uG7Mo(Y(4}S*OijH}kZ@_WSPmSZP*TN!gcfcfq&{B?<9; ztZHMIF<42#pu9tXvdP@qGoVyNzln)~X2dSDyO*{ukP|;;J@nfxRFFs(iu(O9F0Y$X zU<$rE+f<=`x# z5=1L;w~4`|aQ~p6Yd!H;S_{svTN=gGBzH}&%5H^)4rd-mHpPZ_aD8%fSA5duXRDxP zHtku(#a8%cWmNM=*x2Y-3w~GUrONWk`-jeAXP)^1=QB|PWvq&G%2l3KbIE6VJF{+% zmm_rgWDXERu6@=mL)m>aG~CZCr~V0WJrw$4LypMFSj8^yQy0KmTUAgksID&F)N5Fe zBz16zn&X*1-k3b!W*r(7SM3;hry&(rC;qKEd#T0JML}`i<@;bQCka92c|4~b11Fih zynqAH?X(q4uf*VPR`R&cC7Idi>VL=-f+39tt!bVLsHbO0os`qFhB{C5;aUDN(xyJZr9}POp3Gdk2eD7>8Z;D0tCq! zLVLUh^Xp&I|E?Jx4*U#3X4_F2ob242DcYnGg8?R8G}p&9rM9c@w!14WVuqB4dr&sL zT+3$|`p@eg*>bw9P`9#Q-bE%8w5FjaG5{I4iAmRq)B0!&4Pu`>c>$F?{PX${Fu{8Y z#eZCWBfcmOu@csK7gUrLAD1$kI9PYe@Puch=5DAZX-hhoTy)NCH1E#+B`Zd^x^6-4 zGC6;?&GvEst>ea=iV85E-i`7<4CT^VQ8!ao(@L>-cBBLLdzHo&kdgFkqlrzems9hA<-^q z+oEgoBVN@;iy@7ZIN3e)v{J(>I2=1|vKOC|@HoPF9o6h1m^;-kGEm~xJmQ>gUN|>!e8hnu~JT$#!PST{kz4{j8%8!bHT`nRg~PNF8f z(pKA)1Z2#oX_BnQT{)^09bB|t4I#gt=u~ZJ9QZk z1oX~?4HPIZk~8wHIKkm8QHTp9+wTKuF;ES}0!cN<@c&YNy3KeOWc<-f|DkmFTh#D( zb`FRIl2vTcXz7n0PTMIfTAH_}3jQN0-`&$9#10NMC#j$=s;KNEoc$p3TnOfO$1bYc zzzQxD7zS|LTV*IPDaP(C3t8CF^M@%VRyT?()*;ne3(w0nc1U@HvoLb}qn~vSi#DNX zEZ1PE_Ge2)HBTj$VYnaDm$}*Pr>ffwzKTT*E+PJ-%)Py^(IyQBb>va1whDpBee@kv z`WxT=l`HXgsOm4Z!Rx^AAX;Q_Zok;?XK>tQDP0MLV>cHL6cibglR1XK-viFKx(dsu zFfy_~tkUPtwWqkF;XL61_1pJ~nSzVJ`;;oo+dBzv4*g{f zu4-PUZ0huH_&XLrLuY4$g7D10AXiWVe1cFo%T-pEYWib3;6o~6a)ML76OH=P{;ttW zh!0cTRGF8rG&TkXB{jX%DdiV(h`6`i$NA*M#FkzXFCRHM-MDEr42dd}n?orZ{59O5r*Ud>6b}3m2 ziB#^4_pbBXWFQRU>1165a*TGCE+T*?muaXRQ(WxhgmQI56Rtet^ot4s5s}NLgpQ%0 z_F~~-!FyR*2Pkg_B`N7dPK}w6{wRI~G&VW$Z2^HThV1MbmY5cWQ+1ugc)?fSI;V+2 z#CK|njlJDQIY!e)F~;4Ttvls_e&DrkS*MZuSQI5B9@$YUbD|{1-wPP?w&t@PVhqZQ zNWa2_MWsSZgo896md~&6#O1;4Pw!WJS=va(tYbMu7}^wVHIK_}0Z754H03CtL-(O> zNP#Pn+Ln5%65^h=+6Ma@O zQJ+`!60?r~vlSwzkO(t?&T@?;#5Gfuo9K}nyZFJ?u>~cv<2VSKt=7W8r zLPBFuhYufBpJC!}A;Am_cYQlT6{L#N@{*#nV+-6A5KgR2>CBKuMpmvaQzmjsCZ}Iy z9$@DokBqJ+T!>JleUKgO6V?)tTx{)LZ}}iKIHsy4UuQ7L_llf|D#V9P$x#*8=lUz- zQ}3DNwD|D!rS4x7r-D)_N@L;GQ_+yS?}{v+#wLe>>4{RWuJ$K&)Bgf2y2of~tWf%T zd~8@YsgQ#!T;5bCJ+DBmaA$G%bBgU#jBfd5*PG;bsn28{rv=XNpe0RpVC^o$jO=Iv!3* zBnAvApY_NQ?Q30AT%P+#Cw>Z!kJi1DGkld(Z{edGFiN$^&4CcW9mRyHq(Q^s+|kU; zlswZ>_kzqc!2-lO=R;ySSvB#_X!#yzoEObhAE^gTAPhWpcQZxd|3wR7()x`ZQnF6e zAu7JUnd#--IYbD^J3#d13kNX)K*!>iU3?awg9_PH+djO@8Yh7Z-`?f!9PybMikLLg zqXF+cgue@J7C`Lt&-UfNWETGq5y$_udlY~$gH2|BsksC$Jj`VNqc@Ye0rnE$g)ig< zu$Qubl{~=r{CC1M{57!s3;Fn8fYi!BqQ{cfiW$ft)c)OoLS$_%H3F`I+oi~$O*f~^ zF(IF~%&gC>e13b45W%q9hPoEwy0`mfYeW}xrHRidyZXhX5nZC!fTiAVbwogwy6wG5 zKvhs8YVE!l-(?B=5IEP<2f$!YWc=KNS6mN#K_bpOc=r$SrRlS90xQf)Iu9RnocBv-B>98Dpdl1CkFj9R{Ec=`G1Q--NOb(#Fo;q;_#x} zLL(b4Em_T@Ed!9%xNS?|J|KXSnO_yUExI{uE@dVX)}MxESZ~C1G=XLezWKuol76wj zd#_LkU;-Y6GciB3!Xgxl(aZewANR2(6lERFk!g|%VfH|iRwGLlblYjVa)8@x$~`8+ zSf3sVdfjLOPy(EEK!==*Nuc31#uAJff-zV3`>Ev3s%~IL#gfGqivFEM*qKv&jg6sy zehN|)g8>wUKq+p-7?b_@M`{~X`m78nl=63;?E@piH%)~X?@7|f%Elw-?x4H`rAGLG z#{I>@Jv7(r%N_K6mhCV*E(_fi-=5^lVp;J#>@C>O7+H0_@R>t2256-hc9cXMh~8>V zVhWO=F%b)w`_R>x;7(GT#c#E-@R*&$Uc9H0d5*po6Cb6}!o7`n2Y38BA-=1_J3vFH zosW^VTpN_emRy^1f2a@ht9>z?8P6x-=*&pXO0T7;R(7;YhtZNh>PBwupYtk z-m_{LyZE;CvueJPNbbdBX>Y3a_W=enpVh8bLtFf|LJu zZ_}n1J>ixfC244bBUDuD7o13u)%Qa)3{yFmXTBLKb!oFBCR_~B&5^c4+=Fn}PW{jz zpS@Ud+=|oF;URx9Z8IvP5Fsi}>37&)Th3mYTAzYYke*0j-n)HTBiZ%YL9X&)Y)A_vdcwHCZY>yhNQ_jnH z-qoL=aUl)rWeg;gCy48w6tyAENAY6nD^>(})LTohk&=)XUm24R@UDj-^T$?zlS1MjlDEC9nZIZej3{N%B2csR+g|mLEH|7DbpTRMEP1pwfjL;-ldg+FbX=># zlO!6V=qTqG3#0?jr{)r|^Tm>v`171h5T76@NV|>ShraoBMqrSqc#lU8#C#3RZBq}= z&c3yTRys@GkHRt=!W9=m6Wr23>XyX#HR6M+@P0Cz7DMA5JJ(<kQUXVB^4m<~m)2Ha8qTW3h4+|m$L0kz5xcwfA8=GIMg1)N z)zfSC;GxMi{p4QVkN(*Q5ZiF>*=mRNQEozhI$zv_6y#Oz@e@zem~DbR;%~a-!%AI9 zcSatctC>s+Y))=-%!R({4-H=059cX6&6(xGg(P6=xt6MxW~5Yq-C7*&?}AYKZ-?rB zE15*FW+211?*62=1T5*$FW9f8Na77E<9%OpOfR*k%p&Dt+?^3KKDwbD_UhhyRWa{>${&w#&h5GqU)@R3t3_pCDwABD_*Qowj&PkX2Kuax zN3jAe!p9KLDt+0zDvsd@os4G$%DN@;oEcR3moSw=Wn9H|4hb!F)s=Z<201;%C4MV< zQxt`vP*YfHr*o|;R@yXwyb^RbTmltkmHV-)b9meo1~>nsQ%D&sM*vk|Cg)}Ox(mfz zdWf)p;VG=Qa%b7^h;9XQg!EC5DbcT9O9|C%;E5H6VYRdnnV9=b09p55iP0ObSK?Aa z>Ovwu02jc>1nn;my^-6RHVLL`eMva2`g<)&Mu_$4#ZK%>CPxD;b5*8|MciPw=@A{q z_3Y`J9*Qd$W+g?&e)Cp4e7#)IO^!)rLG*-V8| znzDa-(EKEsqE6X6&tE~Zh*A*mfRel7gvq78diLq1eH zd-ZX@oKsb?FkuN|uweIW!Pj=%grk8>pm5dY85m>i=Y7T*!+^T}>49WIRT`a}CkU<& zEg>BH5yh8!+?&qF#Yh!?Y(SkY4iWW@ER(CU@%UW);ltbXB8}eR2+AM_D-yO9W9nVV z=USQ>m*;tLyqn4Qm@>?an$tU*u~iOs%8W9iV-)ufm14b{Yo^Cm^}`3MM-EdbiCtb$ zn?S}Y7c`_Ci&SDZ6oe$?yp|$W2{^ck3#c0dUQAG`+R4q=b)*QXu^zBd14I<{lpL5U zu{gjdABl6n?a(gwErB(35Z~2s8q|K-?Z&=QinfbEPb3wSV_b)-hi19AJD{7|`^Sa; z2U5(z{*tW`Vtuo$*YilY8OuF85qj2i7zD8ai64QFx_%lKfJ!ibh<}Jl)pZ8N<~t{% zNO_fROj>egPI#RcEPEMhQa@6hDUYYcaXg&l*Op%+45XVk%^&9OKltJ}SRL4x7WWlI zdhKnwH5D@qPJWr11gp4}yVOi;3*e{;;CFPQt8)>va_Taoe zv2q|*=O8aL{ioML_ScHYYN{SO?&`J}xv<@eiVVftl7Q-b>y_?6UvrZ~RCz@q`H%7O zD&WDVT|9!tg5D4GP;^~1hzH_s*RNqc;n>XVoEvJ?U{X3z3ZJrlVMxoZB&MU+Iy#co zb=?}3AU!)D`OpqaWNhAk!{4q>Z%Iib_IE6RuZEP2E6`O>@bQPEc-?ICS0pK~aMv~Q z@6_2x3f{+8EZ@$a(@$MoUu6T2t5T#|^z(41UBOel&1``NG>aU4Su#&db7+e3Kt*T< z$#Lk&0P0rFjR*4`8EI246ZJ{_7wb_=c6>>*Z|iVRAl<$I(?TY+wr}M#GI0;njOy;Y zwh5)qO{LgSKT%)Xk1QJF>Wg90j?V7`I@RcmDBCT!GE7?Hq?Q$J%y^n(-|x~CP&2Mk zs9j&@?OdV@pE0GinKF{GX=w^AxrirbMlgi}Ze6+Ff=_XFX-m^FZt$gzk#QByD1Pj) zp_CFtb{i#DOGQloom5tBHV2PC%S(+-^xqsfV5a$Y_y^GT-B}P{ES(+?)^$@J`H2>y zrJ|y*o!1e=zYL}!u)WywbJTv$*@1O6s+La|7f1)aGDAO0H!_7qnkLh1UL4XVU|J`u6jJ`U4p+$*q} zptrh{SU->Qq7vc|;oW6- z_nuw>BA|-&bkNU-rtrt7m$}d=FQGoyRy`SXwI?U0X8~nShg0>hP*L9juG^&z?Nk;} z*`SzJ}?&RmJaBXmx%x?jl@onc7ykM)<)ySS8f`z zT*u={e$7YfBh##(nISU_t=2DcV_rnz;f2oHlqP8?BLgmo;tbX$QU8!IT^XB6n$-m* z6ixi_+mC0g+{eR9B?@gO<(4B}Tho#Kg&6sMX`+d^Yq1o$B;G^WifK9|ycJvCWr`e(ZpRX3L4= zx>FDVTyB93iLEq0uNBf@yw;~kL@@?P%b}Z*oxL+#l*Gqvmcz&24u_Twq|JZR(B&ug zzhrfZnj++Au)R9+Ip~(MI28Bm$;r)3?$0m3vH>eaqx}ajM=uzGrP4ofjc+D^IrFRg z0}Jce9oh1;>Qcfpytqp3Dx~^CV;bx4_PYG9l5Dd0^yE!K!f)aP--@`Plk8LK=x{#* zYa^A)isn77D@|U=;;8Yk@^n%}ctF-me9{b%{GsnDSq&tH0az$ZXzSM$`P&8=!;8J1^%Ow?c@o1Pc?qo+h>ESQ!dPa>et z&6cL`K=tMQffv`Gb`FY4{#YUkwoCl&eFYYa$h&_#T|8jAOHsYTzr*JHKT?3>>UElWKGK!=$UL zQo0D)oyJ}Avmt9~YD|BYrCKj;*H5iQto3cj5TFdR$xVpS)6OQ*p7eaC0)TQ`C9Dm!Eu``iwRLDjLjZ0Rl%t zt)6hIfRQFVJ%D@eIO~#&`sXs=nSb*?Hwy!Yf^Yv>C`YDWu+*y7Oz&mz1HQC3nVBKE<$-G4yhc8o3HHx~2E zgtrE;8Kt+734z2VIQfCnum~kDG4I!s_y4??X$VH_V5Vf1EKhI&-^zzY$x)KgP}9yR zxTF3Zt4dvM>FTETMeM#kzl_Yp+~Q<8h?1W%)1NHHFYKgTs<0Rpb@eZ|_-`zT;eN4C z7)xqoI=GMUGjK))tQcz5AqP$}j&T5+i4N!qZE}xAn-Umw^)ZHcfaU=14a2vPK_dth z8VZ6NPkj-*eV%%IS(?X8*#W+bQ5(2EAlTFep@E2VR1ASLC=Ql@CtTnkt*15S1oaw0 z!R}1w2I`S&T~A&g3c=|&M$eO%ViApfy%4;;pLSCFu*YeBH34}G_=mJ!y5M1jqnoHg z&%yt*ko})Eb@&m%_V0#hU!*CBsTC9zTfuwIWJVQ2+y#Nr54pL)&&B1{0iLIzBjDB0 z*H=^#1Hkn=zrzw|v9@b@KVofdflquq^#D*Hkb^n32H-gTw9`Hi7}G*N=NJ3W4ilG{ z_?GG!^*s>t{AR1>&QEyaiS|$5)Pw}gQ|`X|>SGlfjsgzj@8bjc8hFX;9fuF@JaR%I zu;Ky9u~Tc%A`T-|B9#HP3CwOER;7huDmD=lj%N|s0>S2;OJ1|T&fB-r%(uLkvM}Aj-XNxXLvJyDlXoE9)YIAi+Ovr z9>ZN}6HrF9@EPP)5quHS+n|a|1H|B)c}kri{@v)Pn92B92U&&SfL|=s>$Yz9P9%8p z6mdw)SXbeh)Zk+fM@@TG!9qnX@?PSntzr+fu@4mf)~g&<^5s3uUwRFT6NQioHKXLY+s{?IhE(J8L+*J4PKw<0SlilS5F?L`~kJmPQ47y}5hH5?+ zLhvLUiAnHR*5)SH))wcMCKKn#0ZD3ZDKKrlV?;@;>kckaXzG&zzIR_427Pa@)4&$% zuj@lIaDO*c{JZnK#o>saUZmR}ee~>)OCfmW4$Hs9bN@Uq;N}0)`0oE-yX!oMII4q$MV5s~E$ZGJMlQ0S3?KDiox&l&>gXz3TAtdcvp$mi}MP73AL2Q_@n> z5>rx>lM+*t5|fj@diCq}L!kNobw{36M1(60B%LfJTUmND#3z6UA(IeLhR-fc@r9AV|m($fT-jDrM=D{y2s^Hh`@c z3IBVK=<`QmyQ7V#;dms#r( zIPrePP_6uAvfkVGL1}n;E}4dcOq(+f{5cl4)Tv62CY|d0^Dc`MkQe%72a|cO_Fx0g z$Aw`KA_na?QCa(Thc6ZnuI^xvB}P@7o3$ zDq}GkrxMh8;TzJ{3;;m~q9(ib zF~{}Fxx=4-aSik?Rx$MnAABmV?I|^#O2wXQBw}c`Ib=0cQW&|FVF%|HI;6XU|Z^N630V-?Ziw^O+-f~FQ7I$p+0Z?7OMG;3oeiV z&lSPm;v^G-u0$O_&~=i3=nr>09mXj(#>}9T&|r#QYSNvvf9Faxyg(TQ5Kvv+blMya z@35Lb-NP+s#@56KRWdAZs-Z%#J24HR7!mZ*=ZHcCwOkm71D}?guI@wG@uFaZp@l!! z$%bA1eY4F+`8oNm1>cb2^O;2ge|arn8A3@(M5d`A6B`!wd9kGzX#d;CdOEvmP;6E1Fi<@ubQYwhMda+&FLT#h+VI`%mY-q)&4UhHG7pu13>E-O!@N-kI~ z%=Oy>5UmywiXtJOWMDflSaN`c3Bd8qb(?{pR6G2dDdx{J{@on}GNOF|W(^K+nI5J} zsdC;p{sDEv$6*NvjiCgFG{`!VJl%d0Ukvjrk3R>cakKpNg$-v^%N&Ju=RxtjR$-Ec zv}Th1)mv33ml)Fw7D~c>K2@=s=&~5ai|zQPT+EtIw~=(?7>Hjoh%X z8+9pOR`Cx=%(YJk+SQ59_`HVA6-VkZBVK{{*153_=dn(+kTp!t^!}PX06{-S2x+sf}mSp9Aa58#;wPAqJ*b!*vaIl_3r`N7#X zN}%mHed*hm5)5V8bpe=PWaWBw1J-azEhy4MXaM~e`{f}!9_b$2H4swi5G9qVVVlj> z$juA3caKI$8VXAj*uw@J+Y9K2mYH4;>Qow|GPM7>=#RdD#erl~5`M;sInQ;ylbcF$ zUUG7<8Qs1n;M?A>zTBnLBxFHi*Wz%SiNepwhs2aj;{V$dd zT5cL818EF*1_W_bI-3jBkgh5hokFl;h1oHDXY6cI_E8WK1Auize_w~|HLcg;VRdpH zpb_7_dshha3=a_+V<0Zp`udaEd!aZ8|1z>iujN2^Uj5eo-;=vZ4_TRCG#O%6eC{BSJn*n4opi zbPf5{a#2`Z_2TgXc_p{5jvn=IE|26V0;(`vJ-yO&4w2#%#1{YGSC*bZKi* zB5x@50@!5nt(FQG6%{@=F@n^`JOv~F{fZI{ah70LJ*j0m9wR0~y@9`qD?np{X6)*~k ztu_dCc8Qgctgfy~@C*(qLK(0y!(}`Uf1O!6n_7WtlN$|CvSBmNhRND$Is7=`&8Miv z;}ePdP7L~Le7Uhr<$R7AEfX71!>fIKmXS(!I@WIu9p$D=u(67|v^?VlU**+ROnUYi z<3#U60+Z>g)nYBE(Pq}4ZW~a`fMijR%jI+fR3q&93}gF6)qNl?c(15fX0?n0%Gsfk z@ap#7Zj`yY-0wgXJrbt@iY_J^>;1{N2X9nf7ubk_S?{)ZhiLZ)UNtEtO@~RmMc)N% zR|3*BQv2n@dvwvo0sCbUu1OA64*`r2kOL=q)#tK~&D6leVX<3HL=rbKDX%N$#qT%P zfYpLx?)W-^l!Vo{fs%}_Q!5qQckFaLi51-by?ZI3D6OJKQ~o>c+7ZYQ!Z+kQaPX3( zDr9X;>-fNDIUVKfy1lbUO;Sh6JXTpr$#(S+zr1oWBW~8Q!cFAnmH)W=TKjwh;q;~x zga!2MgIrKF_}6iUpW(-rpkCFuncHrvqg)q5B45BctE+4tn=`sHUm2Mm7Rgd z-ui@!rwEveY>ri2aYKhj6jPr65O%$qmn;7k6G%)=&M%(+bqo#b<@Pen4ajoAKzA70 z<4a*d|DMPHug>c$yz{!3#@y}da-!%Dv%8qe^991;HWo#I=F&@7(t2`Pkv0vGd=r)$ zE|Rt@X%JQI7_sNG2a4wnNkWs~L+n>6C;*{E% z%lrg8ok|O4dBkr;!;cE4>pkis>^y02@2Aln_><@F6TP${d4NBq;&!wA;o5p_`#^iW z{ouO>pVXNvsiJ0s-ee6!!Ej*)$LMRP&IdyJQlW1b5qFy;zO^gZ8P|SZMg`6go)3lY z_6ua7sBslf=ic2Wm#rnHr3GlZqqHoxyeUlF7oDG+9zNSgNkJu%uT#P|#h;okyqfy{ zP~@u0marF;oz)!#lFT1zy-wUFy+&`@aK}!W;n?Nxb})oC78h*3v2_60RITnPUh0pK zttXx$LJwO*CGe*#r%pP>ZFN_2BD1;JP0kJb&$0x-Zy{hPq3=H^4K0v zZ@qBZ-e#};5m`y;ug>do(c~QirtC#Q-ZW4%+;JyO!XHoV3aUnnhX@TVB6$oRw(8gw zR2NywiCJcK`?qh^87K+=c?MW8Kp1Wy@=+kHRTDRA{=#*nUrTZGjNE@ptT4B>XJ$2I zoZ*JhpYU`(OY>XJI-W5K&h&IY%>pnJ17M2-@@u;?k}mx*QJ(XBlEci2nZL5@^6jb(5d~N#r2`S=CO}@q!|auFrW|Wa`p>1%iC37{eT5( zNRz*of7%|yjrghytUgLefUk=HxAZvc2$&VjX3!oH%p3t*FVH7~rB4|IL0}a;&9~`c%)8< zn63QYa|v0JQ;#K-Hy|aa&(6;}x5W>^dIaiUkAY`aBLm3`DTUOd`ZOx)Zv3iZvuTS9 zDqmDo)N*rU-u;@pY;?WYxzX1L?sTD%GEc~^&Sgge&A`x;{DK>Ra8} z_Zx?-4y5s^ajE_VVE+B^PX=ISa0!JU9@PJ{{f~8h|JUL`ES&f55#}FUs{GuHqp*qH z2G(=GunXXUZLk?-!{Y=~_HTY)yIy|8jbbruX-dc#*F3AxpJs@!6(SMIztkU}g1bwA z?G{e=YaF`Nz&;rS@R!O83bZQhn=Y&lFr+H0^JC}(maHrlyz-DEQ z9ZE!A;2DqVa}uiE#0-th^}xS>;1C`qIY+{u9$)>=&Fu=RPf<}9&vMf1G|ZN}G-|EC zBfVU0aef2}bgG!Y7cUd(6rB*BOT3s?Q&J7~0jN<40Wk^4yxVD4wH?o#FDU8qolmnW>rz?ympyl zmLYUJGHr(c{yWY{AP^}jrNQ--fYtb|vDoC8&Ber0P@JLG`S;&Dvt?(I0PR;$3Glf@ zdQQw*a{O}V;SExKaf~Cq%R)*9JH@Tb;*hRVgg?b>qfYmdnzhF~!zspH6|0pSj+vaQXT zd@CDjF^%mCqHslpvW$#2#$Gg0^erZuPPbfilEj~)asP=0)G@uF`Cyy|-Rh6}?OQiJ z{f*c5Xb<^FMtVR+QJIZ(h+wdYLNhA6{a0J7Fk;S|W2NqDjhX-Tn_)tha!osljqeUj zza#d*L2hmyl*BUysaz6<1a=W5R3(37F&fm4%RWrp+Q>PA&lLhfjwPds@(@c#X`E>~ zD@L3vrv`VNy7OjALiMJ-9FZrN-xX0=XGLYh`7RogA7o{kI3x$@&1Gh^p317HMeq8C ze*(-qUVA}X!Et);aSUusxO2Rz^N`5%kLL6B2dy)lT-0@Mb>2;ncURk_IR6q9%%6ZG z2K(bl?<@bn4%DHtpic*MJ;hISFMF=~N#IGfRbC72hQ_N&+%Eq5Jb>EO9ZnUp(bt%T zF?V6kn|U##rKDtknFX~qeedO!TA5`|k9vT#f=$)UAJa7*NGtR>UMVKdADh?mdwCtt zk4Rvh4fn()e}`qfm?#t5Qeo`7jeVX_Ju;I@c#X0UvR5X?a+F|G zJRE@j1+N8KUlboI^n^g2Hr$`zk|m%39!!mLJ=*a`JY?MeVRMLkY7>elX=<6 zcTt4n9U6>{3debQclSu7G#$R+dR1$sX>oSS`0}M_lfP5NsFD(P&ORI}ix4=>n&RQo zFfm%wc5%)oLzdIT`Omx8Zc>R(OVAS39qU@ow3m_{yYPhPmY`pb_w{!zoXijd3a%>E zO*j!Kqt&!PJ?JOd9vzM5O+Hz}!yb!9JGsIt%Y|H%k}sKTZA zVpG!4cZCwqx0J*fc?i;p@UlSxg)F4zKCtndiV}=0Go;Upy{P57H6|*Vz^~cS1E=85;eoon_D`%5M1qJo(Zttx~U?+H_ zDPM6xEqG+)P;Pn>tfC}3y0yPyZG^Qn8_=;0=L0UTd`{9W)BM~#nn7ld9ijg9g(|+w z6O5;U&Yph~qN7_6s9uD2ZN7L=Ed-SpU%FFr~)h+H>R~LxeMn31Pl%(WFW-4`}e%v@Zqv^*x?;_+`0;i@<=jyoR zA`~LeF+3ljt*z?0=~h#m*i>H#rmVQ z=;+>;cX9jp-aNDcRnyx1|OtKIsvv)0o0tTi)JBFe8FR1DP z1>NX4L*Vt`K|ElhGVVYi!^&&F(SDhrM0qo=U=Y?^3dB2K(YHy6CMrQ+BER+7a!>u_T zmDrIdvhMEvzYt<2cFKlIpJKD#%n1J~srZum(O5!);NWFu=E__x7vSp};`*XH1ngF0 zjO+~GAV3#zh!OImzGe8A5A6K_bpm&Vg@N0)vSpkMGMY-RB(vePZzlOYiMT|dtm|d_ zk8E-}?p)C?wE~Y>73cJP>jnctL+upo{T2@7g2X55T$!cy^d5a7;j61i<5qGkW_^MY zeth^CpZ5nVB^O>%wTiOcJQ5Rg52jJ+y1ptlkX>4;rRGX(l^qsK$9IaD{RW63X*A-? zKQP>Xt3=E*yipY@rgP#yGZjDTD!Jh97CW`Sr+2|>u|^yIE(qS3yHwJW~G!u;OMbm2*ag%g#L4(rZheVPsXS`e9L z`CjV{(co(j*^Qa-{-X$86=NpG!B%1a<964Dd`t7J^M202+I9a0UNR4MHzHbEO3|v* zFCw=dmq*kM76L-H{i@n;<4JpTTpVJ?{ge07u&!|^X!dNT_IycyTind-^hziW2gi_F zcDpDym4S|~9*$t$)~=aKtQQqrO3LN z9kJ7})VMG2jhMWvhb|CkK78`%#wM%FzBa(Ph8{PxwF#phZZ%un{Y6KgPeVsnbKIQp z;A&&4=G4YU2oNS8Hj}y4b2+Ut;eS{y zuD^UuCh_h1mnP!zugxnO06Zr%F<{0;n02jL^Iiutb&(A8F%M2CXE#&Q(aGzma6>4g zJ`uHuGu~9I5n$phRH@c!a8Pkpz2IOn0^L6MY-Ibl-hTZJm9)SY$eK_@Ec%CgG}QY7 z3Dl^vWN|K6WGvc0pMT}#cHpr)meGX%*WUn87c9VdPj>MpQM8xg=@wVdHYJv1uvGXq zcMmRY62bLZALi1M29 zk8*J(rB*;?Grt-tQ#Z-vG;eIC_g2W-`u9Pcp39C~5|?KJJiaOn81;{zNS$QMZGx_D zU2Fy1{6W9co?q>`7?TgrhOT)JO>ywpzfo|s&@aHkNumLj0I*zgDk^=;A5N$3>5lHG zE4Uh!uM3O}GBRGR8*N@2i-{-Mzs!d|*jx|-!5;Yr(bF-i zO3`tu;*!doBc04NkDrE}Eo#x`sweB*d3tO}Z$JU>!a8FKc`K-|5o!*2cY#s|T%+3` zOfx8{sVSJ550L*fB;PMFsp#yMbl&+e(+G3Y*XKT9VPlWp;2?kVk&}{~?wz!BgxOoL zqcP>LtxOc`YfG1S3hN8A_S=K|ZHtB}U%qVT{|NZoSnRrf%Rlm)#adXek(TP&$9SkJ zA7N5=;-csB8JFY?c~5wB&OC`_ZK)SJ3(FdO$ddJ!-<{ptZQ?>nTI;N zxr6zzT{;|h)qQFf$pAPS!MRZDa{V0~zCf-V@DL*iXSAJgwPYp|c<=k8u%v2vEiDa$ zE;_o$fC=`BnPR=lF0}6Rm(T0emt`jJzyW@Ee%<^V@LExcv{BkHf7aE}`T6~T36EJI zqh@%xY(Urj#j97H3q_AD-d=}!F$YVAvB%bLK>Z@<@>&AwE z?%fk1Bm%iQI~I9qrxkF-z1KZfKWGfy7^+ZKH#^-ZbJ;jeJ#JaCu;w{V?CHLGTSglc zWIg9*zdKnGkkfi`k=8+aCC?&(%g6;QyfMHL(h6~$vJFjtH8MXlzF?2j~tg}lsD zc%4qsFMaQCtZ7VTqbu@CDt5Jcr2N%0z(8@)N(PF_32wO12s`4z6KAgdzY%SyH@toH zNZv|XxtlpeN4Gse=l(G@b6<#)#R9&2gO>*P-p-{76hoVik#S^X>>G>IYlQs=1O*cl zx5L@u$lA_j!#Q!oCk;Y612M?ZK}-F$ve!bwXTREdx6R|R8w7;Us${c#1KHi(KHL8` zf?E!^`18-rz5yVXx|3Z?g8M94I=5vLx7YqZD;5QyEbwW*o~nD&OcQoLWVtT8rWz{# z@Q$FZi;HA%WhSHY=GErT4wIY>ZMmG5l$}cz%A=P%OxfpD5OJZ0Y!X5kr`PihTl3om ziIJDi#z;qzwoI_wDhdilwgi1ImFU#LYaEH(K;C>th(o2W?DrY+$5hTmehFS68Y~ij z{)hr#qlUrT9&p(Z*Vm0Q8zEo6CGM?6t7m3X0kGca6Od^@L9r!FNSmbgsGn=#o$Hq` zE9i}mjxsW1QNNiOg-F~$UDOz{sExV{`M3!Ws?H1vT>l^zzKoUt~HkZCS8In0@?OQ-4F!e zMoDjDX`50It4{!)=;IC=wB3yIst=!yJbh!X4Cbj}$aa8R7z5^k(G~|(#-Lni5~#bS zctXndQy)5Sw@hSY8r?ht_x2fbvZb4bSVU1>9&Ajfy^pVXdjWDa=PlmN7ZbCPs&v$;&9%uO^;ayaE7Ei(8l_mo!{+@F5eE zjJ&j9e`4cwNnmtA?J7J!Gem=UHYl>U6XJYV_KFrf7YKQ@pVbuOR4|z^@g!~zr zazDa{OwT&*kC{6KuRlCbyIrBb-^$X!qh@BVy7J@^cWO}vJqUA%0I2SEY>OXmM-To+ z7yWkvrt#VQ(W&1jlrRW1osi*;ZdIs0MNDOzXxdn_oZE5OzWxhm zML|KmeJybDf4p=%Zl96P{jOlc4pQlI4Vc25(Hgcm7y;AY5yW@*Sdu~FX{^Bna9#hs zM(8cTocr5?k(PJ|owfCK81W(zp#t9q`8-iVZ;CF-8)#@%J z9_r~EbDOsDR$&Crfp)c_kmJEF(kek>&7Uh7FEH>>S3;ssqtP6y6g609O+*Qi*;0{q zN1D?AS8U_nB*{3yPu@KW+}PrT!x$3zY%2PU>vrOQ4!b#!vuK}TtgPV$pOenbuvv_Y z+b23(C7`d*yaTGxDLVoz2a_2KBl&cd6^HllTBKDxgl8)pSS1T?uCwc2q&rOd)_Qtf zx1K3YUaq2G?RSR&?r|6G_a0R%?+b6v0*$hC4Wsm-`VV_&C(E=O1Q2U$roOaa zh4|wweSPW-?C>h1uH5fJs7~4!Ygr*7TFf?8JKCD6S)^iNR7{#Rj4UkLFqJQUC&wE@ z98_5)uIBne`a9XWz0Xz7!1$<|5S!WcxueT{ys$Mx+_Dp0f( z&kc(`!Z5Otg{xiIu~&a*ujhHidAUY~Yqit)yOL>D-D-pWdiD<44F2mwm;yX;*=e%a z41w@2sJ`CWJHRcFkRGtJA8r#C3n3YkEt)VkT4_QeF|Z0r%b^I&z4q^YSd}~8AcXtd5bTaEIQB*4-U!)BxMJ*ODz>8&5fO%Kc*CAi${Y~B26Kt zX|Aa8$a5=JIuT9AVjNEBsZ6$)raYrrAxb%qxz|V>ByH=&ez-ned!2i{Ld<;fJ)cj^ z2&H)?ljcJHZr&QsnyIM_9=^_S?7T5oY| zI~(#cQ^H2(C@f* z_hE_MyMICqiD!deZKestE_n6C=*LRJy1N+FYTVB&mQl~nTnp8!9Oge&{0{vmfejr* zqOUd+Allq*j)>u5^9mA3cyWv8Fn{^EgyGot;#xdWy0Pg)WC@PiF@QNz(6QuT`J?S;awfZdH8vXukrL-pM{} z;vI}O+zXdMhtv7}bu$X$5_Kv2vhjWPNRXlQJqi8s;Udh42v$1bXINp%J$ z1DddjEzpud_o_Q*%pW7g_ShD4NH)E=ne|xZ9zCmZQHV9^JWQ%5-A=**uOKwwp*b<> zAqMja!T)uow6ve57j4s{FEip=0RK`uJghQ~S+@d^<*YZ>wV$5GRu$vF$?1tO2(*|$ zTy^+}K6^56zl?(!`j17)Oy8~v#MwaH+2rrB?d{Q$>*KSO*YQ2x7=2l**kLLyLKK@fJmOGg$@AJ$yb37p z?JN9vpOE{URGzIc4%KWkfCFLmglZz+a@ zfYOk3a@m=92fB4kH>Qxxa0`@W;tQ8ynK`U?vf{XlmbFY|7y}@ zFD0Q|qfdGQ1FMd1b>5?87f&at)V>cr!Y9CR?IW~3I0ouo9i$GTlv5RJomaklNFUM8 zK4yChSDWq8lvr_keB1jaCk}n z5~11@UIVJaWZJufxk#0m=+lnC;0FYGCvUqd!1s3mDNGyEf!u1@f^c! za{t2zzK!x~KPEq4>WPXLKD1C!EZct)B+Ep!s92L+Jm^!F$@)pB2(~RkIgbZZvGUfv z+Phy=JMCTY6s6ko=IHh55vi-}TMEmrv?5YgS5Q)0vb4?9=$NXx(DQmHKQ@{r+W(+I z$wHZ46IR)^&=;e;&%XS?&+jCVF=+YVGWOs5UD*qSA6mk3p-$bwKvQMF zL$eRp{XlQ$sxS&P$;~$H?Z}RG9{@H`_D|>ZMf+P{<5`4d2hXK_6(b@oUL`N^^Dkk4{GKWBVv+tY)iin2sAD#tDc90il;cn z8^g%<)ZWQKM!F|YLqSVxp6b^~i!`_Ilw|~=poXZ7it|sHRMLcAi>N1+UdK!Ec8Tq@nxzypYN4;!V zAoPz~T6lQf<&vw0EK8lH+5!jLw%|cqjRu^MCbw*Z}i7I?aNx;ed=av!yimkf51TaM6@;_d3 z2br#B>*5C9b+SAEy(ZGJ6nTCOfe03JjS65Vd`*ludh?yrhOgLQ;`emX)WC#d0UZZY zSYF<&LjB5Xp0L7wY&r=7`BEbGyeXb{CfUz$Hz{q!jk&Vxb5hRlW6 z2!5uW`qJws&fVjX+R~~{i`8CTie!0XF3@MBj**h$~BH+@9ZzZoF12RvvpLV zg&aL|bElOFg=*!F%bJL5;&~cdu!*G;{EQ7(JWsmH6Rh#Q3Z0N!N-E|T7Auu)-q!YZ zz_HuIqc56P$`}p>O8ic1-cg;`g;PmD5IK>52=RQ`{;>FwX0{|HrxhX9KVP!4HM~bxoxa%~ExJ7!XVR_d>yntLF$m6+b^->F{fYQ5{}gG?1Xw7=r&b~p zW(+hW6d9OstxmG!C_33F(OJdFRQ~YM}G;}{2xVu6# z_3-BMg;>7hQN|cNnY`!(&69ni1#KR$566Wt;Ls4i+%Qc}P$gl)lOuAp`x_AXKRH(E z!B|Yp|6ae4`p*s3_x^wMbmY8YnoouQ6AREt(vZgnZWmB_Q_uWAE`5+QH@(O9_HxQH zXv!2g_}~+VW`|FM{vgv&^zGfz6b*_5>Ax_(aeH3dV3d}Zzi4NbeKfsXb0n=kkr zh{|J^4bfRsrH`2_TdE}FXX|heJT&$3%iuI+FwSq&XH6&=*GiD2OpxaIJF|O(o5~#d zwbgHi_`k;`w&y+% zj96wYIYdfmRf4566~0TW{P+EomWpLy@?CW5DiRtn4Q>zz@bNQbD9K@?3suP+$*vVm|K~GTlx%t^yK!jiMhlO4tbY8Q56_@@7gw(h-D&9kI7NOQs0)^aP)qon;EbFHAIGKJ)*^VSIW5 zREls>eHDa8#8Eb-G8N3sZkkSlo3ZThb0Ucv8$fi?=M2c0R@3e5Gtn=-9<;2KL<{x# zn;!cg#RVViE3S-I9MaiuI&evA(ngsie?Q5%+RHivYIJY8_iUkIC!TGpAch0h#~!R+ z@LLu8uI%HYB0Cjl`@Q0sc&Y2uPZw$TS+6w8EFIjhMQ9T z6wSH5)U*%M$ZmK9%_OiM_%@KIN6`HfUv@;c$A;qgJz+`Z6Sjt zTv_uv=aJB=%ypT@Z@%!kNrw+><_3eaPJN1+sq8 z6M7d;Gg6(J>Nfq$qXfv7swH3bTEMp%i??fmE}Qw3seufmJr{?b0VQ-5y_eId`+~quG9ZLu4i8&0Fs!^XXF0 zjoZOEQ}KJ>=J&mG&MaBiQf=|*I>-5duWi89(12BL7QCZyXV)YkASEDwLkN{H3*7Ur zYAkny_jhyC+(3RkPUvFV_#TZQw;$%fyr9oif$9d1&74)a5YQ8l`{-PI9AnZ6Ek%AAlpxCOzdXg z`WygtS?yz~8Cwrk4vGqH9}^<0<71_U9sUU!;o-cL&S1?pHlmF4KrZ^B-}MzSRZO(m zfBgDseQIuks!*8pGTtHyG49vMZ%kQ;Mr3XYmj5xqsB(0GzeZA}c^!`4K5EnC$oImA z8G*BX?VX)M-TL#9`h}}Rp38w9PabrVF&C5W=a|8hTS{T57sIIGiR#tfE|wL1^0~6; z4hMS{3p&uAn5tQqzQASLBEGA=2;aTanlDWrdGr~_-HRtqb$S(ys^i@Yw>;^yHT z1+!Pf6lC~4A>K_sk%wDV4%-{OPY`?zNa^eem{#fUIlM-;*zf$%bN`>J$il78j+<>E zrwTUOm!;jJ==Wcox1za(Z3qD5`ZKeh zD{X)8i~aIs>pijOaI7R~Ioi`bEUaZJ^y9sw-u~{Ry`wh?4BQPWe^)cN5>NAvEg%8Z zH1@0o9emqzn%6pwWlB`#^YF-KVjAEBuX5j^;SV`%MuLuA_~id!Lc8XZ{F_c)&*rd_ zcV_f2h-5v@ZFHkN$ou9A=w5VA05Nr^)~@Skga;d%{E!kot#1nN}uY7_5=(DR| zFnseUeo>dU5K2yq6BtrJYiphlccxGN+D*IK9QAY557QdZ>EMy@*C*FUKyGUU*b%$s>b_W*g2 zlZf1PER$91#m&_hU+%{5oLNJZB(_ip<-`8?@w79Y8Hl{|lJ~OyP1eNlylTI~tp<&3 z?)s;RHET7O#Eop&CJ%jjU|XMFR|>})W>Os@<I;J*cL(7fDkr+3vEiCz67d@lR1F zq3SCFl?g@P_Bh~M_CDY0;cRpr*6|`|GCJ5KxvqAVxm)o=zRTniQ!zTer=oWAr=zLs zVm;b|z;VBjwtGdsB{RjZ_>F~uy5lpGUaGQNeY!>f@)#Wn=cipPiv3QM@Y=GX?cMR- zNh|d}?o-KY4S78YEla_Rh}Kwmf>;v&tKHq9OT2!qMz1ywmZZe!`9>)zsGDolSBOPZ z4Drv!g5$m8QqDBc=>;S7VQE~pisP@m_Ld&2+1B4n#&6<}cX;cqE_W8Z6XT*{nk=?H zO6R*ENoQ|OEuVuxpeMd2vL@Qu54AcTU<4x_kDVoh`hw?@V?4?i3oIh9Nn=D+*x#=o z^gHPGrtHOiTOZD!gD&vuLS7ZiX=tfHMy*|!zYdC0k9_^}xjdxY^7<{=dCTP8J?@6_ zj)DBm(oZ#MiVE!PxZ@IX#Z7!arpnEs3Ft$}Up3jH=!MbvDfSE;KNq)0D_o!@P?EZe z=bU(|E$7U#vE5Juqkq>59B*M0-hxpCh?$}V$MIK`S#{SrP)(IEDhg8c#@wk@5o%md z=%ki0UsrDs zSl7oTL5Agl$z_Zx#&ff+fF_JdX&5triMf^q1-eyc8`)DLOEoZ}g7RmgSGr(lRwzuU~?0 z>vw)Ol3niFJLXfRz2@ZcUXG6{s9WGg4!+jXi-u8|0$e%kat`Ems+5In<4 zCM!^VoI`_M#((jfGNM0VqeG`L-)LrE+D5zS+)wZL*qmcLxj*3E+R;D?HmDKZ8H81M z_VwTvkW4!N`h$_33@i4cnrCUB$LUcsKHG+o`8ma(tkencog;mf#dMvWS>C&^bF)Mw zM>@@YJ)cI!z^b|fE1D}Vt*;wDstUIrE3Emig!?=ZOqlgXi@k+?z6mW$ll9THTohTK4fG(*dVPlkIrW5q+g`mQi-Lk=dyE0*cM`+XZmS zgyZwPcyaRQ1Lsb%^+KPU?mcoMRU28^zS3`u(wc0*PU))-R8<-$aB0~cZ9QBG9;c+t z*hq5x`18tyzJSa(cqCe2-g9Ly9DO^Ck&($_j>WxsR|l+<$JI|4IL@|2AM9A0(b=+V zJ0?xz#u%_OvlV}<6daImLpW7(n}|a}=@Zj*q|boONjsO60+@9+8FXPCW6znvzhXh*hzJ}G8)8jz#K zt1Vvl?)3SGLd)p1KsBZ@k%T9)*y(a-SqzH;@B=#>h(mw>_Uzck!j#whYng(oQlBT< zavA3}^y`VEjj2rE1KXa<#NnsxBOP=D9&x(hncxY5PQeBkt)3TWT|Hj9PJJK#n#rIP zp!v(rV%DMP5b0Wu+&2sIq+I!;k4be%vnIE`{$HP#y6sH1&(Prfj!L@!>nrzD_e%wX zGCH#{1f%Q=7H501+Q-!1LD(PctVpGgd0e#g09j-QR@v;fM}-E?vu!-=C6}?!sj51B zw;rm`lLvRu7G2vFwz9rZ%kXniC_-xKd8}=$4K0cY<0>?wV@ATqUZ?Bx8K+ws;y`F9u}=pOl`!xC_GH4G!nt3N415|mGm`jXrTjM$lYuJiA99Iqv- z>(r29E~xeX>v7%z&IGZ|DH`q(=X;UyQj3N|GM%YK#rN%=FpQ-R%T3JZsC`f;`E-kq)A4T=CZKMp2hf( z>R&&r892Hf!IsN&7LK1iHRS1bqJy>|5>DySQQI!a=bX%Q?BSI+sYetPJdS?|7eCpy zB@JEaF%5Tdu;IjY#M0N&jxlAFpmN(oy1Y!7$*#qTd=qYs2NbQz8!>6Ckgd#D(GNF^ z_6{=ZHtA*$c|8jc5_Pn`H86tzxr1h#`Y_C~?zAmTdiqqj5%gOl_< zuis|2yQk4LJpY&293F*sFLH+mdBU19k(JeF3_aNk4=0t1Ws*mDo@|w_Xl8Pst&c3= zUe`#}`os`OFNN}Weaa8fe$R9F!R#b^kuP!+pPC+J_jx4B1Ilb8D<=r~Az^9N7g(I(yD1|p7 zyLe--4zKDuB*4U0quiJD zCrrg*`KU$L-C6-L4@d3@AX}J&UunHwT2|z+oTkvmk1d*wk4<(6vyYLq9xsT9!ixJS zK>LP#J>7+@bYZ8-q&}r+ZDOIntB0ApgB%QH!e(-WoSU49pOUBUEm)D}`=I8&`95Q5 z#j#MzvHN+fvQZoE6hEo75kX>W{6)w-Q>wc}M=8+E?n*wF-frNH(yE!C?|W?G1l ze76fFAD_$5$fG4&`OH|&4mJWOBby|d^Pe3fFsEo!w(RDzK@&VTUTv{bC@o zY=6BZV_)bnM^rT&j@Z^p7HT7rO=59yGgi^DEw(wY>@%N5D;Wi#lU7Wxbh+#N!fmV} znn9i9?=d_k^PA-%iGv@S@;lI;K4P+|F0t{R-E`u?lF5L&*CIjMRW}8hwhMyAW~|rG zp%r!qjoXPA#l=34mLGuBxfRDsIE3D1JLu>LiO*fV)jc+oz!{GJrnpSa@Up$ZVglaX z-H+GNEA+sn1d%W~;PzyKGEp37M4HeaopkcFcbwcCHe2a}7>X`00J&liZ0EEY7stM0 zF;Ujj3v})7>LNJ((nc~PrVB~Srtx0$&9$0gsKOvo@|5Qp$YM8BMu+aq6anV4*vxY#T2-j}Ef@z|_kCi7a< z*n8)G@qNI$UT<<0hT3ZJd~wb5^7G5GHCTUtH{QoZCm;n)#q8D%_I;F;?Q1&89tUVG zGnIj*aTmJ|ZtkuAtX^AXw3UdVcOfHa^A zUKvdNj4|)^wikzz+`nSV5@fu!AZc-GV^jR9U`w9Ffv~;SdZHFv4Bqcb-4xK$nmozw zVEmeMBjnj4Lfe>)@zkO0A;vZ($QR7jmY1W7jCfs-^o+oBJ8bGV&VKvrW8pH+(LA21 zw5qfii0EeDo^vVptTRqK`-50DXWtYfO|)IJN)HN>^7`JW)LWrpwQ%)XR+yEUk5j@B zi@Y1+K(@ah+!+5R+p}(!nU5#eOldMM%0#)6S*^mkLzx2Fbkb{Oy~D(MrN$%~6eQUe zU*~Lny6+I>_jLP>&2No}i2!@`Ogbhe9Ji56mvHFsjT!sWgSet;s_qHv$p+63y^?E} z1(wz3)MfIml59Qw-21^37-Z9znQPQXJ7dV~++f*PS;6)Z{Qv;wk4V@(Y2iF^t-A(* z5pyX0el$*gW#GL(Z6?(0X2chL7zeFP5;$=i(=IRiCngTOF=Sj%t}H~9N*r7Y8nk#V zN>ath8m+gLJ#Sz(0k7yL#w(?nkq@ttjGZW0 zfY_@I`0q3s|0&jq=@~z1KiZiZpXgBhL#yw;H;l#&Gw%G+AI|HT)M;T|tLHlAD4J8E z1!MBgtg_~Dov=z59*okJJKS4q3a?E&jsgIKCDuLenf$TpBT4-Vn1+b;lvneW+#k6m zksXkg_xNeE8YDZBj-h?L$TxwF6YX(*Aeigiy2Z?IK&}Gan3@q`qZJIz?BPgRCgGhC zTd^!!s|obPO-)ru?isHKQd@n(W%@a_D7ntdldq4-DSQB#C;@9C!h5+CtWj| zgk8_oY=P_x=X?B8hvVNSIv1NQvRT0`A`y5>{S9tQ0icqmwiZ7v{&NtvXkrx}h*oeh z7j^2us;e1xT+KVshX6zgfPernhUV9oUD1yQg`3dD#l26To=1EO;3hZ3Tszei7MsL? zEf6dO`YW5-#A+alVZ`(}{g8wNoD%!D1U`KOsaM&3JX1#BFTbl$ihKnVc)$8@P z>0d4XEQe)J(g!ckgMmokKvWHvzebNTur!$1xOt6|b89hh>8l+Bt~BV%Q3BF&XEMzy zfo5;p-O*w$&nOCrEDhx-0JAKM4>vUT$wd z`s+u8u{Q`Svs*nM2WYqmtwYe4@g6S0cegaTj7LJKE;y*a$(0Cs@`}XI!4d4dTFR&? z{NSEzOi_lJ>1ioJjR|yFIEko`q}E_UuVhu(!bMv^FGo^2#apY^IZQrZ`GIf$z(Bsl z@-uI5=DmH<�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:6769 and same-network instructions", + "readme: current source features distinguished from published releases", + "readme: no game names in prose, image, alt text or examples", + "readme: desktop 1440 and mobile 390 previews have no horizontal page overflow; image loads", + "review: Impeccable finish reviewer ship; final factual delta ship; surface documentation updated", + "asset: real screenshot with embedded provenance; no generated UI artwork" + ], + "readme_sha256": "174f776bd0fab3b6b149263b260c2cbc315f9b363d500942ac74a4ccf838e968", + "overview_sha256": "b9df55d7bc7eefeffb974884df8274f599cf429924fbcc941211e10fb47c853c", + "preview_scope": "Local GitHub-style Markdown rendering, not exact GitHub website chrome." +} diff --git a/evidence/readme-overview/expectation.json b/evidence/readme-overview/expectation.json new file mode 100644 index 0000000..3128183 --- /dev/null +++ b/evidence/readme-overview/expectation.json @@ -0,0 +1,13 @@ +{ + "step": "readme-overview", + "must_contain": [ + "readme: actual console WebUI Overview screenshot leads the page", + "readme: URL legend http://:6769 and same-network instructions", + "readme: current source features distinguished from published releases", + "readme: no game names in prose, image, alt text or examples", + "readme: desktop 1440 and mobile 390 previews have no horizontal page overflow; image loads", + "review: Impeccable finish reviewer ship; final factual delta ship; surface documentation updated", + "asset: real screenshot with embedded provenance; no generated UI artwork" + ], + "human_check": "Actual Overview screenshot inspected; no private address or game titles. Finish reviewer approved native GitHub Markdown composition." +}