a327ex.com

Visual Experiments 4

Summary

Continuation of the ricochet-template visual-experiments work (follows "Visual Experiments 3"). This session did two big things: (1) made the entire effect system + UI read at 480×270 "rough" mode (the SNKRX low-res render target), and (2) generalized the whole template into a reusable, resolution-agnostic package (require('ricochet')) with a two-skin UI toolkit — mirroring how snkrx-template was generalized. Ended with a slimmed minimal main.lua, frozen v1 dev galleries, trimmed assets, a folder-agnostic run.bat, and a rewritten CLAUDE.md.

Alignment + key architecture facts (up front):

run.bat made folder-agnostic: rewrote it to derive its own folder name (for %%I in ("%~dp0.") do set "GAME=%%~nxI") so a copied/renamed fork (e.g. mini-looper/) runs without editing run.bat. Verified the cmd idiom in a renamed-copy probe (the MINGW cmd /c mangles /c → use cmd //c).

Icons — picked + fetched (HackerNoon):

Fonts — research, downloads, trio chosen:

The rough (480×270) low-res build — main_rough.lua + rough_ui.lua:

Effects/shapes at low res (the original core goal):

The generalization — ricochet/ package + two-skin UI toolkit (the session's second half):

Asset trim + slim main.lua + docs (close-out):

Deferred (roadmap, user-driven): composite example screens on the new toolkit (NEXT SESSION); menu_item + swatch_row widgets + smooth stepper Tabler icons; replace snkrx-template's effect system with this one; flow-field per-cell shape rotation; extend the engine font atlas past ASCII for CJK.


Let's continue with the visual experiments. Read last session's log summary, and then let's work on making all this work for 'rough' mode in a low resolution like 480x270. The main is just making sure that everything we implemented (all the patterns, shapes, etc) all also work visually at low resolutions. For the icons, I believe there was an icon pack that was pixelated that looked decent, although I don't think it covered as many icons as Tabler, but maybe even the Tabler icons could work well if downscaled, we need to test these things visually. Similarly, there's also an UI problem. The RETICLE/ricochet UI theme works well for high resolution screens, but it's untested on low resolutions one. We should try a naive implementation in a low resolution, see what it looks like, and then go from there. Read everything needed to get aligned, and then let's go for a plan of attack on all these tasks.

I'll get oriented first. Let me read the last session's log summary and the key files for the ricochet-template work.

Read (E:\a327ex\ricochet-template.claude\CLAUDE.md)

1    # ricochet-template — orientation for new instances
2   
3   ## ⛔ WORKFLOW RULE — DESIGN BRIEF BEFORE CODE ⛔
4   
5   **This rule has no exceptions and is valid for every single
6   non-trivial change, every session, every file in this project.**
7   
8   Before calling `Write` or `Edit` on project code, post a **design
9   brief** in chat — a conceptual explanation of the approach, NOT the
10  code itself. Then wait. The user will usually reply with questions
11  and improvements; iterate the brief with them until you reach a
12  conclusion. Only then write the code.
13  
14  ### What a design brief contains
15  
16  1. **Approach.** A high-level explanation of how each feature works —
17     what it does, the strategy, the key data it holds, its lifecycle.
18  2. **Interfaces.** How the feature connects to existing features:
19     which existing functions / files / globals it touches or reuses,
20     and how. Include this whenever the feature is not self-contained.
21  3. **Functions.** For each new or changed function:
22     - its name,
23     - what it does,
24     - which other functions it calls — selective, not exhaustive,
25     - its general structure, when that isn't already obvious.
26  
27  The brief is a conceptual map, not a spec and not pseudocode. Aim for
28  "a reader could predict the shape of the code from this."
29  
30  ### After the brief is agreed
... [741 more lines]

Bash (ls -t E:/a327ex/a327ex-site/logs/ 2>/dev/null | head -20)

visual-experiments-3.md
visual-experiments-2.md
visual-experiments-1.md
mini-looper-road-and-editor.md
invoker-template-usage-test.md
word-game.md
ui-generalization-2.md
ui-generalization-1.md
attack-system-generalization-4.md
attack-system-generalization-3.md
attack-system-generalization-2.md
attack-system-generalization-1.md
edition-system-generalization.md
emoji-aimer-8.md
invoker-spellcasting-tree-structure.md
emoji-aimer-7.md
anchor-app-phase-2-part-2.md
anchor-app-phase-2-part-1.md
invoker-hp-and-mana-orbs.md
emoji-aimer-6.md

Now let me read the most recent session log and the Ricochet design doc to fully align.

Read (E:\a327ex\a327ex-site\logs\visual-experiments-3.md)

File content (388.5KB) exceeds maximum allowed size (256KB). Use offset and limit parameters to read specific portions of the file, or search for specific content instead of reading the whole file.

Read (E:\a327ex\a327ex-site\logs\visual-experiments-3.md)

1    Title: Visual Experiments 3
2   Date: 2026-05-30 17:26:34
3   
4   # Visual Experiments 3
5   
6   ## Summary
7   
8   Continuation of the `ricochet-template` visual-experiments work (follows "Visual Experiments 2"). This session closed out the remaining **icons/images** roadmap items (image-as-SHAPE + image-as-CONTENT), added the rest of the **geometric shapes** plus **shape rotation**, and did a major **API-simplification** pass that culminated in a unified **effect editor**. Also patched the shared **Anchor 2 engine** to bind auxiliary sampler textures for the regular draw path. The 480×270 work and replacing the snkrx-template effect stack were explicitly **deferred** to later manual sessions.
9   
10  **Alignment + scope decisions (up front):**
11  - Read Visual Experiments 2's summary + `ricochet-template/.claude/CLAUDE.md`. Surfaced a key finding: the roadmap's "image-as-SHAPE hook is READY via `layer_shader_set_texture`/`COMMAND_SET_UNIFORM_TEXTURE`" was **wrong** — for the draw shader that command only stashed the texture for the post-process `apply_shader` path, never binding for regular SDF/sprite draws.
12  - Via AskUserQuestion: chose to **patch the engine** (vs a Lua-only sprite hack); image-as-CONTENT = build both luminance- and pattern-driven modes to compare; **480×270 deferred** ("we'll do this later manually, piece-by-piece").
13  
14  **Engine patch — aux sampler binding for the draw path (`Anchor2/engine/src/anchor.c`):**
15  - Patched the `COMMAND_SET_UNIFORM_TEXTURE` case in the command loop (~line 4693) to ALSO immediately `glActiveTexture(GL_TEXTURE0+unit); glBindTexture; glUniform1i(loc, unit)` on the active draw shader, in addition to the existing post-process stash. The batch renderer only touches unit 0, so a mask on **unit ≥ 2** persists across the frame's draws.
16  - Built with `Anchor2/engine/build.bat` via **PowerShell** (cmd-batch output is swallowed in MINGW bash; the first bash attempt didn't actually rebuild — confirmed by the binary timestamp). Copied `build/anchor.exe` → `ricochet-template/anchor.exe`.
17  - Documented as a cross-project memory (`reference_anchor2_aux_sampler_draws.md`).
18  
19  **Image-as-SHAPE (tiled icon masks) — `sprite` + `sprite_field`:**
20  - Added `sprite` shape kind (kind 3): each grid cell stamped with a chosen icon's silhouette (its alpha), tiled, the effect fills it. `shape_mask` gained a `cell_uv` param; the sprite branch returns `textureLod(u_shape_tex, vec2(cell_uv.x, 1-cell_uv.y), 0).a` (Y-flipped for gl_FragCoord vs texture origin). Icon bound on **unit 2**. Sidebar ICON picker (`icon_names`, `current_shape_icon`).
21  - User feedback: keep this "icons as background" mode (with the default color recipe it reads as icons-bg + black noise; only good with `ramp`). Wanted (a) **filled icons** to compare, (b) a **field mode** where the icon is sized by the field (the circle-analog), (c) a **SPACING** slider.
22  - Added `sprite_field` (kind 4): icon **sized by the per-cell field `fc`** (circle-analog — big where bright, gone where dark). Relabeled `sprite`→`icon (bg)`, `sprite_field`→`icon (field)`.
23  - **Filled icons:** extended `tools/fetch_icons.mjs` to also fetch each Tabler `-filled` variant (22 resolved), interleaved as `<concept>_filled` into `icon_names`.
24  - **SPACING:** first version insets the icon within a fixed cell → user noted it *shrank* icons instead of adding gaps. Reworked so SPACING enlarges the grid **pitch** (`size /= 1-spacing`, sprites only) while `shape_mask` insets the icon by the same factor — the two cancel, so the icon keeps its absolute size and only the gap grows. Relabeled CELL SIZE → **ICON SIZE** for sprites.
25  - `sprite_field` restricted to **filled icons only** (an outline scaled down by the field collapses to a thin ring); switching into field mode snaps `current_shape_icon` to its `_filled` counterpart (`icon_names_filled`).
26  
27  **Image-as-CONTENT (effect over real images):**
28  - New third screen "IMAGE" (Tab). User supplied `girl.png`/`boy.png` (opaque anime illustrations, RGB no-alpha). For PATTERN mode's stencil, fetched a transparent **wolf-head silhouette** (`game-icons:wolf-head` via Iconify→resvg, CC-BY 3.0, credited in `assets/images/CREDITS.txt`).
29  - **LUMINANCE** mode: the image's own luminance is the field → dither + recolor; CONTRAST tone-spread slider. **PATTERN** mode: the selected pattern fills, masked by the image's alpha. Shader: `u_image_field` flag. `effect_image` draws via `layer_push` scale (engine draws textures at native size; the photos are ~2600px).
30  - Follow-up requests: (1) circles/icons when the effect fills the shape, (2) the **moving pattern** driving the image's dither (vs static).
... [90 more lines]

I have the last session's summary. Now let me read the key files to understand the current resolution setup and the "rough mode" concept. Let me explore in parallel.

Read (E:\a327ex\ricochet-template\main.lua)

1    --[[
2     ricochet-template — visual style + four-axis effect template.
3   
4     Entry point. Owns:
5       - configuration (resolution, render mode, monitor)
6       - boot order (palette → fonts → effect/shader → ui modules)
7       - layers (game, ui), camera
8       - shared look state (color, dither, shape + shape params, color_a/b, ramp)
9       - the GALLERY screen (gallery table + inspector sidebar + per-rect modifiers)
10      - keyboard input + the per-frame UI contract; Tab cycles the three screens
11  
12    Screens: GALLERY (here) · SHOWCASE (showcase.lua) · EDITOR (editor.lua).
13  
14    Delegates:
15      - palette.lua      — dark/light palette tables + palette_init
16      - effect.lua       — 4-axis spec API + effect_rectangle/circle/image + cycles
17      - editor.lua       — the effect editor screen (target + controls + preview)
18      - ui_controls.lua  — shared sidebar control blocks (gallery + editor)
19      - showcase.lua     — flat Tabler UI-kit screen
20      - rectcut.lua      — RectCut layout primitive
21      - ui_state.lua     — frame-local hot/active/focus + ui_claim_hot
22      - ui.lua           — five Ricochet-style widgets
23  
24    Goal: visually evaluate any effect combination — compare patterns in the
25    gallery, dial in a single drawable (rect/circle/image) in the editor.
26  ]]
27  
28  require('anchor')({
29    width            = 1920,
30    height           = 1080,
... [471 more lines]

Let me look at the "rough mode" concept and how the SNKRX low-res render target is set up. Let me check the Ricochet design doc and the snkrx-template config in parallel.

Grep (rough)

Ricochet\anchor\font.lua:15:--- 'rough' (1-bit mono atlas + nearest sampling). Defaults to the engine's
Ricochet\anchor\init.lua:16:      filter = "rough",
Ricochet\design.md:7:center through the ball's position) and homes on the nearest enemy within a 60°
Ricochet\design.md:171:Two families, heavy hierarchy through weight and size rather than color.
Ricochet\design.md:227:annotation, in roughly that order of attention.
Ricochet\design.md:272:roughly 5 px grid spacing, ~1.2 px base dot radius, ±70% radius modulation
Ricochet\design.md:275:border, etc. don't peek through the gaps between dots). Where the mask
Ricochet\design.md:285:  fade through the dot pattern. Default treatment: faint dot silhouette
Ricochet\design.md:304:expresses itself through dots and motion, not through structural mass.
Ricochet\anchor\layer.lua:92:--- 'rough' (hard edges, nearest sampling). Defaults to the engine's current
Ricochet\anchor\layer.lua:93:--- global filter mode, which is 'rough' unless changed via set_filter_mode.
Ricochet\anchor\layer.lua:168:--- Image object (has .handle) or pass-through same as engine.
Ricochet\dot_shader.lua:15:  other game_layer geometry instead of letting them show through between dots.
Ricochet\entities.lua:174:  self.collider:set_bullet(true)  -- CCD: prevent tunneling through thin walls
Ricochet\entities.lua:326:  -- hit area reads better than its bounding box. Passes through chamber and ball.
Ricochet\main.lua:143:-- continuous collision, so a fast projectile would tunnel through the
Ricochet\reference\main.lua:11:    ball      ↔ chamber    bounce (only ball collides with wall; enemies pass through)
Ricochet\reference\main.lua:13:    projectile → enemy     sensor event (projectiles are sensors — pass through
Ricochet\reference\main.lua:24:  filter = "rough",
Ricochet\reference\main.lua:228:  self.collider:set_bullet(true)  -- CCD: prevent tunneling through the thin chain wall
Ricochet\reference\main.lua:355:-- enemy — seeks chamber center; walks freely through the wall for now

Grep (rough|480|270|render_scale|render mode|pixel)

ricochet-template\editor.lua:15:  per-rect). The preview draws through the effect_rectangle / effect_circle /
ricochet-template\editor.lua:173:-- editor_preview — the single live drawable, drawn through the effect wrappers.
ricochet-template\rectcut.lua:6:    cut_*(r, n) — mutates r (eats n pixels from one side), returns the slice.
ricochet-template\rectcut.lua:78:-- Leftover pixels distribute to the first slices so the union covers r exactly.
ricochet-template\ui_controls.lua:13:-- Step through an icon-name list for the sprite icon picker. dir = +1 / -1;
ricochet-template\ui_controls.lua:23:-- Step through content_names for the image picker. dir = +1 / -1.
ricochet-template\ui_controls.lua:86:    -- For sprites this slider IS the icon's pixel size (SPACING adds the gap);
ricochet-template\main.lua:5:    - configuration (resolution, render mode, monitor)
ricochet-template\main.lua:78:-- SHAPE='sprite' icon picker in the sidebar (cycle_icon steps through it).
ricochet-template\main.lua:158:-- (page shows through) or 'token' (filled with the color_a palette token).
ricochet-template\main.lua:172:-- the effect editor (Tab cycles through the three).
ricochet-template\main.lua:387:  -- (un-rendered) game_layer, so nothing stale shows through.
ricochet-template\main.lua:408:  -- through the effect). Its own UI; composite, consume edges, done.
ricochet-template\main.lua:430:  -- Pattern gallery: one rectangle per entry through the effect pipeline, each
ricochet-template\ui.lua:79:-- One stroke weight throughout — ui_hairline = 1px. The Ricochet reference
ricochet-template\ui.lua:112:--    AA'd caps overlap across multiple pixels at the corner, producing
ricochet-template\ui.lua:117:--    two pixel rows at ~50% alpha each. The line is technically 1px
ricochet-template\ui.lua:120:--    Thinness Fading" problem — sub-pixel strokes under AA don't get
ricochet-template\ui.lua:123:-- Filled rects at integer coords sidestep both: each pixel of the rect
ricochet-template\ui.lua:124:-- gets ~84% alpha at its center row (the AA halo at ±1 pixel is ~16%
ricochet-template\ui.lua:126:-- the four corners two filled rects double-cover one pixel: opaque-on-
ricochet-template\ui.lua:141:-- at 1px in smooth filter mode produces a soft 2-pixel band at ~50% alpha
ricochet-template\ui.lua:568:  -- keeps the tick aligned to integer pixel rows below the track line.
ricochet-template\anchor\camera.lua:42:  if set (e.g. at framework init time), otherwise to 480x270.
ricochet-template\anchor\camera.lua:45:  local cw = w or width or 480
ricochet-template\anchor\camera.lua:46:  local ch = h or height or 270
ricochet-template\effect.lua:5:    Every draw routes through assets/draw_shader.frag. The shader takes
ricochet-template\effect.lua:10:        f = shape(f, pixel_pos)               -- re-express as a grid of shapes
ricochet-template\effect.lua:11:        f = dither(f, pixel_pos)              -- quantize to discrete levels
ricochet-template\effect.lua:17:    tokens by f. Dither inserts the pixel-art stipple. All four are independent.
... [21 more lines]

"rough" is the engine's nearest-neighbor/pixel-art filter mode. Let me understand how the low-res render target + upscale works in the engine and how snkrx-template sets it up.

Read (E:\a327ex\ricochet-template\anchor\init.lua)

1    --[[
2     Anchor 2 — framework initialization.
3   
4     Loads all framework modules in dependency order, then returns a function
5     that takes config and initializes the engine + global state. The game's
6     main.lua is expected to define `update(dt)` and `draw()` as globals; the
7     C engine calls these directly each frame.
8   
9     Usage (from a game's main.lua):
10      require('anchor')({
11        width = 480,
12        height = 270,
13        title = "My Game",
14        scale = 3,
15        vsync = true,
16        filter = "rough",
17        -- render_uncapped = true,   -- opt out of the 60Hz render cap; let
18                                     -- vsync pace render. Use for non-pixel-
19                                     -- art games where the cap shows judder.
20      })
21  
22      function update(dt)
23        sync_engine_globals()          -- refresh time/frame/etc. mirrors
24        -- your game update (physics is stepped by the engine automatically
25        -- before update() is called; you just consume collision events here)
26        process_destroy_queue()        -- drain deferred destruction
27      end
28  
29      function draw()
30        -- ... your game draw
... [140 more lines]

Let me check how the engine renders the low-res canvas (whether gl_FragCoord lands in logical pixels), what icon packs were compared, and the design doc's guidance on the rough aesthetic.

Read (E:\a327ex\ricochet-template\tools\compare_packs.mjs)

1    // Compare Phosphor vs Tabler: total icon concepts and game-relevant coverage.
2   // Pulls each set's full icon list from the Iconify collection API, dedupes
3   // weight/style variants to "base concepts", and counts how many base concepts
4   // match a list of game-flavored keywords. Run: node compare_packs.mjs
5   
6   const sets = { Phosphor: 'ph', Tabler: 'tabler' };
7   
8   const GAME = [...new Set([
9     // weapons
10    'sword','axe','bow','arrow','dagger','knife','spear','hammer','mace','shield',
11    'gun','pistol','bomb','grenade','rocket','target','crosshair',
12    // magic / items
13    'magic','wand','potion','flask','scroll','rune','crystal','gem','diamond',
14    'chest','treasure','key','ring','helmet','armor','boot','crown','coin','trophy','medal','flag',
15    // elements
16    'fire','flame','water','ice','snow','lightning','bolt','wind','poison','acid',
17    // creatures
18    'skull','ghost','monster','dragon','alien','spider','bug','snake','bat','dog','cat','bird','fish',
19    // rpg / hud
20    'heart','star','dice','cards','chess','gamepad','joystick','controller','sparkle','shield',
21  ])];
22  
23  function base(prefix, name) {
24    if (prefix === 'ph')     return name.replace(/-(thin|light|bold|fill|duotone)$/, '');
25    if (prefix === 'tabler') return name.replace(/-(filled|off)$/, '');
26    return name;
27  }
28  
29  for (const [label, prefix] of Object.entries(sets)) {
30    const data = await (await fetch(`https://api.iconify.design/collection?prefix=${prefix}`)).json();
... [15 more lines]

Grep (pixelart|pixel-art|pixelated|pixelicon|Pixelarticons|minecraft|RPG.?Awesome|game-icons|nineteen-eighty|nes.css)

a327ex-site\logs\visual-experiments-3.md:28:- New third screen "IMAGE" (Tab). User supplied `girl.png`/`boy.png` (opaque anime illustrations, RGB no-alpha). For PATTERN mode's stencil, fetched a transparent **wolf-head silhouette** (`game-icons:wolf-head` via Iconify→resvg, CC-BY 3.0, credited in `assets/images/CREDITS.txt`).
a327ex-site\logs\visual-experiments-3.md:257:14     by f. Dither inserts the pixel-art stipple between them. The three
a327ex-site\logs\visual-experiments-3.md:295:13 //   that picks/mixes palette tokens by f. Dither inserts the pixel-art
a327ex-site\logs\visual-experiments-3.md:760:Context for the rest: snkrx-template runs at **480×270, scale 3**; this template runs at **1920×1080, scale 1**. Our dither and shape grids are anchored to `gl_FragCoord` (render-target pixels), so they're fine-grained here but would be crisp 1:1 pixel-art at 480×270 — which is exactly the regime that matters for porting into a real snkrx game.
a327ex-site\logs\visual-experiments-3.md:1666:<pre><code>OK   wolf &lt;- game-icons:wolf-head
a327ex-site\logs\visual-experiments-3.md:1667:OK   eagle &lt;- game-icons:eagle-emblem
a327ex-site\logs\visual-experiments-3.md:1668:OK   spartan &lt;- game-icons:spartan-helmet
a327ex-site\logs\visual-experiments-3.md:1669:OK   dragon &lt;- game-icons:dragon-head
a327ex-site\logs\visual-experiments-3.md:1670:OK   raven &lt;- game-icons:raven
a327ex-site\logs\visual-experiments-3.md:1671:OK   flower &lt;- game-icons:rose
a327ex-site\logs\visual-experiments-3.md:1673:OK   lion &lt;- game-icons:lion
a327ex-site\logs\visual-experiments-3.md:1748:The wolf is the best stencil — bold silhouette with internal holes and fine teeth that'll show the pattern fill across scales. I'll use that one. Copying it in (full-res white-on-transparent version), adding an attribution note since game-icons.net is CC-BY, and cleaning up the temp files.
a327ex-site\logs\visual-experiments-3.md:3927:154   pixel-art stipple between them.
a327ex-site\logs\visual-experiments-3.md:4317:14        by f. Dither inserts the pixel-art stipple between them. The three
a327ex-site\logs\visual-experiments-1.md:443:28   render_uncapped  = true,         -- vsync-paced render; 60Hz cap is for pixel-art
a327ex-site\logs\visual-experiments-1.md:1280:I picked it because it's the only font Ricochet ships in its `assets/`, so copying it kept the template self-contained. But per Ricochet's design.md § Typography, the *intended* HUD font is actually a "neutral sans / mono-like" (Inter / IBM Plex Sans / IBM Plex Mono / Work Sans) — LanaPixel is a pixel-art body font, which doesn't really fit the "engineering datasheet" voice the design doc is going for.
a327ex-site\logs\visual-experiments-1.md:2231:2. **Cell quantization as a separate knob.** The JUGGLRX look comes partly from sampling noise *per cell* (one value shared by all pixels in the cell), which gives a chunky pixel-art quality even at smooth filter. Should this be a *general* option ("cell-quantize the pattern output before dithering") that any noise can opt into, or stay locked inside the shape stipple? Letting any noise be cell-quantized gives you "FBM but newsprint-screened" as a free combination.
a327ex-site\logs\visual-experiments-1.md:4263:- Pair with `mix(ink, field)` + `bayer4_2` (2-level) → ink-paper marbling, cloud-like irregular patches with hard pixel-art borders. Should read as "scattered ink texture" at any scale.
a327ex-site\logs\visual-experiments-1.md:4374:- Pair with `color='mix' + dither='bayer4_2'` → dots with stippled edges. Adds some pixel-art noise INSIDE the dots.
a327ex-site\logs\visual-experiments-2.md:48:- Researched free icon packs aligned with the hairline/blueprint theme (Phosphor, Tabler, Remix, Iconoir, Lucide, game-icons.net, Kenney CC0, Pixelarticons, etc.). User picked Phosphor/Tabler/Remix to compare; explicitly rejected game-icons.net on looks.
a327ex-site\logs\visual-experiments-2.md:234:13 //   that picks/mixes palette tokens by f. Dither inserts the pixel-art
a327ex-site\logs\visual-experiments-2.md:313:14     by f. Dither inserts the pixel-art stipple between them. The three
a327ex-site\logs\visual-experiments-2.md:1288:98    pixel-art stipple between them.
a327ex-site\logs\visual-experiments-2.md:3123:<summary><code>WebSearch (game-icons.net solid silhouette icons license count download)</code></summary>
a327ex-site\logs\visual-experiments-2.md:3125:<pre><code>Web search results for query: "game-icons.net solid silhouette icons license count download"
a327ex-site\logs\visual-experiments-2.md:3127:[Omitted long matching line]
a327ex-site\logs\visual-experiments-2.md:3129:Based on the search results, here's what I found about game-icons.net:
a327ex-site\logs\visual-experiments-2.md:3133:**License:** Game-icons.net provides graphics under the Creative Commons 3.0 BY license. You can use them freely as long as you credit the original author in your creation.
a327ex-site\logs\visual-experiments-2.md:3137:**Regarding "solid silhouette" icons:** The search results don't provide specific information about a dedicated "solid silhouette" category on game-icons.net. The site appears to offer various styles of game-related icons across different categories, but the specific breakdown you're asking about isn't detailed in these results.
a327ex-site\logs\visual-experiments-2.md:3149:[Omitted long matching line]
... [12 more lines]

The pixelated pack referenced is Pixelarticons (researched in VE-2 but never actually fetched into the project — only Tabler/Phosphor/Remix were). Let me confirm the critical architectural fact: whether the engine renders to a low-res canvas so gl_FragCoord lands in logical pixels (which determines whether the effect shader "just works" chunky at 480×270).

Grep (game_width|game_height|game_size|render_scale|render target|main_canvas|framebuffer|gl_FragCoord|set_game_size)

Found 1 file
ricochet-template\anchor\init.lua

Grep (engine_set_game_size|game_w|game_h|canvas|glViewport|render_to|scale_factor)

81:static int game_width = 480;
82:static int game_height = 270;
3039:    float scale_x = (float)window_w / game_width;
3040:    float scale_y = (float)window_h / game_height;
3045:    int scaled_w = (int)(game_width * scale);
3046:    int scaled_h = (int)(game_height * scale);
3058:    return (gx >= 0 && gx < game_width && gy >= 0 && gy < game_height);
3975:    glViewport(0, 0, layer->width, layer->height);
4733:            glViewport(0, 0, layer->width, layer->height);
4833:                // two canvas panes each defining their own clip would
4899:    Layer* layer = layer_create(game_width, game_height, layer_filter);
5875:    glViewport(0, 0, layer->width, layer->height);
5891:    glViewport(0, 0, layer->width, layer->height);
5926:    glViewport(0, 0, dst->width, dst->height);
8220:    float scale_x = (float)window_w / game_width;
8221:    float scale_y = (float)window_h / game_height;
8536:    lua_pushinteger(L, game_width);
8541:    lua_pushinteger(L, game_height);
8556:    float scale_x = (float)window_w / game_width;
8557:    float scale_y = (float)window_h / game_height;
8681:static int l_engine_set_game_size(lua_State* L) {
8683:        return luaL_error(L, "engine_set_game_size must be called before engine_init");
8685:    game_width = luaL_checkinteger(L, 1);
8686:    game_height = luaL_checkinteger(L, 2);
8815:    mem_gl_texture_bytes += (size_t)game_width * (size_t)game_height * 4;
8818:    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, game_width, game_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
8833:    capture_buffer = (unsigned char*)malloc(game_width * game_height * 4);
8838:    printf("Render capture setup: %dx%d -> %s\n", game_width, game_height, capture_output_dir);
8849:    glViewport(0, 0, game_width, game_height);
8863:            float ndc_x = (cmd->x / game_width) * 2.0f;
... [32 more lines]

Confirmed the key architectural fact: layers are created at game_width × game_height (anchor.c:4899) and the draw shader's viewport is the layer size (anchor.c:3975), so at game_size 480×270 gl_FragCoord runs 0..480/0..270 — the dither/shape grids become true 1:1 logical pixels upscaled 4× to the window. The effect shader "just works" chunky; the question is purely visual tuning.

One thing determines whether we can keep the high-res dev tools alongside a low-res preview: can the engine make a layer smaller than the window? Let me check.

Read (E:\a327ex\ricochet-template\anchor\layer.lua)

1    --[[
2     Layer module — procedural API over the engine layer handle.
3   
4     Layers are FBOs that accumulate draw commands during the frame. Commands are
5     deferred and processed via layer_render() with GL batching. Composite to the
6     screen with layer_draw().
7   
8     Usage:
9       game_layer = layer_new('game')
10      layer_rectangle(game_layer, 100, 100, 50, 30, color)
11      layer_render(game_layer)
12      layer_draw(game_layer)
13  
14    State table shape (from layer_new): { name, handle, parallax_x, parallax_y }
15    All layer_* functions below take that table as the first argument `lyr`.
16  
17    ---------------------------------------------------------------------------
18    ENGINE NAME CONFLICTS (Lua globals registered by anchor.c)
19  
20    The C engine binds the same symbol names to raw engine implementations whose
21    first argument is a C layer pointer (lightuserdata), e.g. layer_rectangle(ptr, ...).
22  
23    This file captures those implementations in `eng` at load time, then REPLACES
24    the globals with wrappers whose first argument is a layer state table from
25    layer_new() (field .handle holds the pointer). Wrappers also accept a raw
26    handle for occasional interop.
27  
28    After require('anchor.layer'), direct engine-style calls like
29    layer_rectangle(userdata_ptr, x, y, w, h, c) no longer use the C binding
30    unless you passed a lightuserdata: the wrapper treats a non-table first arg
... [145 more lines]

I've now got the full picture. Let me lay out what I found and a plan of attack before any code.

Where things stand (the architecture reality)

I read the VE-3 summary, the template CLAUDE.md, main.lua, init.lua, layer.lua, and traced the engine's render path in anchor.c. The load-bearing fact:

The effect shader will "just work" — chunky — at 480×270. Layers are created at game_width × game_height (anchor.c:4899) and the draw shader renders into the layer's own viewport (anchor.c:3975). So at game-size 480×270, gl_FragCoord runs 0..480 / 0..270. Every dither matrix and shape grid is anchored to gl_FragCoord, so a 4×4 Bayer cell becomes a true 4-logical-pixel cell, upscaled ×4 by the nearest-neighbor rough filter → crisp pixel-art dithering. This is the exact SNKRX regime, and it needs zero shader changes. Task 1 is therefore a visual tuning + culling pass, not a rewrite.

The constraint that shapes everything else: the engine has a single global game_size. Every layer is that size; the camera, input, and coordinate system all assume it. You cannot cleanly show a 480×270 view and the 1920×1080 dev tools in the same window — low-res is a mode switch (flip the config), not a side-by-side. To go low-res you set width=480, height=270, scale=4, filter='rough' (→ a 1920×1080 window).

What breaks at 480×270 (and is the actual work):

Icons: the "pixelated pack that looked decent" was Pixelarticons (MIT, ~816 free, native 24×24 grid, has Solid/Glyph filled styles) — researched in VE-2 but never actually fetched into the project; only Tabler/Phosphor/Remix were. So the icon test is genuinely open: native pixel-art icons vs. downscaled Tabler as sprite masks at low-res cell sizes.

Proposed plan of attack

Phase A — Naive low-res look (tiny). Add a LOW_RES config switch at the top of main.lua (480×270 / scale 4 / rough). Run the existing scenes as-is. This is the "see what it looks like first" step you asked for — we'll see the effects render chunky (good), and the UI/gallery overflow (expected). It's our baseline before building anything.

Phase B — Effects/shapes tuning pass. Build a dedicated compact low-res scene: a small grid of effect tiles cycling all patterns + a shape/dither sweep, sized for 480×270. Walk every pattern and shape, retune scales and shape cell sizes for the low-res cell regime, and cull anything that turns to mush. Output: per-pattern low-res default scales.

Phase C — Icons at low res. Fetch the pixel pack, render a side-by-side of pixel-art icons vs. downscaled Tabler as sprite-shape masks at low-res sizes, pick the winner (or keep both as options).

Phase D — UI at low res. A naive port of the Ricochet UI chrome into 480×270 with a pixel font — but as a game-HUD mockup (the realistic use), not the full control sidebar, which can't fit. Confirm the hairline/bracket/inverted-fill language reads at this scale, then iterate.

Phase E — Sync docs / roadmap.

Each phase gets its own design brief before code, and you test between them.

A few genuine forks I'd like your call on before I start Phase A:

AskUserQuestion

Your questions have been answered: "How should we host the low-res (480×270) mode, given the engine's single global game_size means it's a mode switch, not a side-by-side with the 1920 dev tools?"="[User dismissed — do not proceed, wait for next instruction]", "Which icon pack should we fetch to test as low-res sprite masks against downscaled Tabler?"="[User dismissed — do not proceed, wait for next instruction]", "The vector fonts (Oswald/IBM Plex/Cascadia) won't read at 480×270 under nearest sampling. How do you want UI text handled?"="[User dismissed — do not proceed, wait for next instruction]". You can now continue with these answers in mind.

Understood — I'll hold here. I'm fully oriented: the plan above stands (effects "just work" chunky at 480×270 since gl_FragCoord is in logical pixels; the real work is the dev-UI layout, fonts, and icon legibility at that scale), and I won't start any code until you point me at the first step.

Whenever you're ready, just tell me where to begin — whether that's the naive config flip to look first, jumping into one of the specific tasks (effects tuning, icons, or the low-res UI), or a different angle you have in mind.

The way to do low res mode is do the whole thing as 480x270, either by creating another main.lua, forking this one based on some setting, whatever. A game is either 'smooth' at high res or 'rough' at low res, there's no need to mix them. Regarding icon packs, which were the options? Same for fonts. We have Lana, Ark, a few others, but I'd like to research more for fonts that might look good too.

Good — that simplifies things a lot. A clean fork: a rough 480×270 build that's wholly separate from the smooth 1920×1080 dev tools, no resolution-aware mixing. I'll hold off building until you've settled icons + fonts.

Let me answer both recap questions. The icon options I can give you straight from the VE-2 research; for fonts I'll pull what we have plus do fresh research like you asked.

Icon pack options (from the VE-2 research)

These were the packs surveyed; I've sorted them by how relevant they are to a low-res / pixel target specifically:

Pixel-native (built on a pixel grid — crisp at 480×270 with no downscaling):

Vector packs (would be downscaled — the "does Tabler survive shrinking" test):

Game-art solids (silhouette masks, not UI):

For low-res the real contest is Pixelarticons / HackerNoon (pixel-native) vs. downscaled Tabler. That's exactly the side-by-side I'd build in the icon phase.

Fonts — what we have + fresh research

Let me pull current research rather than going from memory.

ToolSearch

[
  {
    "type": "tool_reference",
    "tool_name": "WebSearch"
  },
  {
    "type": "tool_reference",
    "tool_name": "WebFetch"
  }
]

Let me research current pixel/bitmap fonts that fit the Ricochet "engineering datasheet" aesthetic at low res.

WebSearch (Departure Mono pixel font license monospace retro technical)

Web search results for query: "Departure Mono pixel font license monospace retro technical"

Links: [{"title":"GitHub - rektdeckard/departure-mono: A monospaced pixel font with a lo-fi, techy vibe · GitHub","url":"https://github.com/rektdeckard/departure-mono"},{"title":"Departure Mono Font - Download Free - JustFreeFonts.com","url":"https://justfreefonts.com/fonts/departure-mono/"},{"title":"Departure Mono","url":"https://departuremono.com/"},{"title":"Departure Mono - FondFont","url":"https://fondfont.com/departure-mono-free-download/"},{"title":"Departure Mono Font › Fontesk","url":"https://fontesk.com/departure-mono-font/"},{"title":"Departure Mono Font – MadFonts","url":"https://madfonts.com/departure-mono-font/"},{"title":"Departure Mono - A Monospaced Pixel Font with A Lo-Fi Technical Vibe - Fountn","url":"https://fountn.design/resource/departure-mono-a-monospaced-pixel-font-with-a-lo-fi-technical-vibe/"},{"title":"Departure Mono font - ActionFonts.com","url":"https://www.actionfonts.com/font/departure-mono/"},{"title":"Departure Mono – a monospaced pixel font with lo-fi technical vibe | Hacker News","url":"https://news.ycombinator.com/item?id=41379985"},{"title":"Departure Mono - Free Monospaced Pixel Font | Theme-UI","url":"https://themeui.net/departure-mono-free-monospaced-pixel-font/"}]

Here are the search results for Departure Mono pixel font:

## Overview

Departure Mono is a monospaced pixel font by Helena Zhang, licensed under the SIL OFL. It is inspired by the constraints of early command-line and graphical user interfaces, the tiny pixel fonts of the late 90s/early 00s, and sci-fi concepts from film and television.

## License

The Font Software is licensed under the SIL Open Font License, Version 1.1. Departure Mono is free for both personal and commercial use.

## Use Cases

The font is ideal for tabular data, coding, technical docs, retro style, and 8-bit video games.

## Technical Details

Version 1.350 features 775 glyphs, including support for Basic Latin, Latin-1, Latin Extended-A, and most Latinate languages, Basic Greek, small caps, old-style numerals and fractions, and simple box-drawing characters and selected symbols. For pixel-perfect results, the font size should be set to increments of 11px.

The font is available for download from the official website departuremono.com and various font distribution platforms.


REMINDER: You MUST include the sources above in your response to the user using markdown hyperlinks.

WebSearch (Ark Pixel font sizes 10px 12px 16px license open source vs monogram pixel font)

Web search results for query: "Ark Pixel font sizes 10px 12px 16px license open source vs monogram pixel font"

Links: [{"title":"GitHub - TakWolf/ark-pixel-font: 开源的泛中日韩像素字体,黑体风格","url":"https://github.com/TakWolf/ark-pixel-font"},{"title":"Ark Pixel Font download | SourceForge.net","url":"https://sourceforge.net/projects/ark-pixel-font.mirror/"},{"title":"方舟像素字体/ Ark Pixel Font by 狼人小林 - Itch.io","url":"https://takwolf.itch.io/ark-pixel-font"},{"title":"Ark pixel font - Open source Pan-CJK ...","url":"https://sourceforge.net/projects/ark-pixel-font.mirror/files/2025.10.20/ark-pixel-font-16px-monospaced-pcf-v2025.10.20.zip/download"},{"title":"AUR (en) - ark-pixel-font - Arch Linux","url":"https://aur.archlinux.org/packages/ark-pixel-font"},{"title":"Download ark-pixel-font-12px-monospaced-otf-v2026.02.27.zip (Ark Pixel Font)","url":"https://sourceforge.net/projects/ark-pixel-font.mirror/files/2026.02.27/ark-pixel-font-12px-monospaced-otf-v2026.02.27.zip/download"},{"title":"Pixel Font - ARK by somepx - Itch.io","url":"https://somepx.itch.io/pixel-font-ark"},{"title":"Download ark-pixel-font-10px-monospaced-ttf-v2025.12.11.zip (Ark Pixel Font)","url":"https://sourceforge.net/projects/ark-pixel-font.mirror/files/2025.12.11/ark-pixel-font-10px-monospaced-ttf-v2025.12.11.zip/download"},{"title":"Download ark-pixel-font-12px-monospaced-ttf-v2024.05.12.zip (Ark Pixel Font)","url":"https://sourceforge.net/projects/ark-pixel-font.mirror/files/2024.05.12/ark-pixel-font-12px-monospaced-ttf-v2024.05.12.zip/download"},{"title":"Ark Pixel Font - Browse Files at SourceForge.net","url":"https://sourceforge.net/projects/ark-pixel-font.mirror/files/2023.06.29/ark-pixel-font-12px-proportional-otf-v2023.06.29.zip/"}]

Based on the search results, here's what I found:

**Ark Pixel Font:**

Ark Pixel Font is an open-source pan-Chinese-Japanese-Korean pixel font. The font is available in multiple sizes including 10px, 12px, and 16px, with both monospaced and proportional variants.

The font supports multiple size options with different variants. According to the GitHub repository, for 8px, 10px, and 12px sizes, transitional solutions like stitched pixel fonts are recommended, and for 16px, Unifont is suggested as an alternative.

The search results show Ark Pixel Font is distributed across multiple platforms including GitHub, SourceForge, and available through package managers like Arch Linux's AUR, with various file formats (TTF, OTF, PCF).

However, the search results did not contain specific information comparing Ark Pixel Font with Monogram pixel font, or detailed licensing terms for either font. If you're looking for that specific comparison, I would need to perform additional searches.


REMINDER: You MUST include the sources above in your response to the user using markdown hyperlinks.

WebSearch (Cozette Pixel Operator Tamzen bitmap programming font small UI)

Web search results for query: "Cozette Pixel Operator Tamzen bitmap programming font small UI"

Links: [{"title":"GitHub - the-moonwitch/Cozette: A bitmap programming font optimized for coziness 💜","url":"https://github.com/the-moonwitch/Cozette"},{"title":"Cozette/README.md at main · the-moonwitch/Cozette","url":"https://github.com/slavfox/Cozette/blob/main/README.md"},{"title":"cozette -- A bitmap programming font optimized for coziness | Lobsters","url":"https://lobste.rs/s/twrvzo/cozette_bitmap_programming_font"},{"title":"Pixel Operator Font - FontMagic","url":"https://www.fontmagic.com/pixel-operator.font"},{"title":"Cozette Font › Fontesk","url":"https://fontesk.com/cozette-font/"},{"title":"Cozette download | SourceForge.net","url":"https://sourceforge.net/projects/cozette.mirror/"},{"title":"FreshPorts -- x11-fonts/cozette: Bitmap programming font optimized for coziness","url":"https://www.freshports.org/x11-fonts/cozette/"},{"title":"Cozette/ at master · Qetlin/Cozette","url":"https://github.com/Qetlin/Cozette?search=1"},{"title":"Pixel Operator","url":"https://fontlibrary.org/en/font/pixel-operator"},{"title":"Cozette Font – MadFonts","url":"https://madfonts.com/cozette-font/"}]

Based on the search results, here's information about these bitmap programming fonts:

## Cozette

Cozette is a bitmap programming font optimized for coziness, sized at 6x13px (bounding box; average 5px character width, 3px descent, 10px ascent, 8px cap height) and based on Dina, which itself is based on Proggy. It's also heavily inspired by Creep, and was created as a small-but-not-tiny bitmap font with great coverage of all the glyphs you might encounter in the terminal.

Cozette is, intentionally, a very small font. The font is distributed in two main variants: bitmap and vector, and while bitmap fonts scale terribly, they look nice and sharp (and pixel-perfect) if you use them at their intended point size.

## Tamzen and Pixel Operator

Tamzen and Envypn are recommended as other bitmap fonts with extra glyphs for those seeking alternatives to Cozette. 

Pixel Operator is a bitmap font designed by Jayvee Enaguas. Pixel Operator is a bitmap font released under the CC-0 license.

These fonts are all part of the bitmap font ecosystem used primarily for terminal and small UI applications where sharp, pixel-perfect text is desired at specific sizes.


REMINDER: You MUST include the sources above in your response to the user using markdown hyperlinks.

WebSearch (best pixel fonts game UI 2025 clean readable small monospace technical)

Web search results for query: "best pixel fonts game UI 2025 clean readable small monospace technical"

Links: [{"title":"50+ Best Pixel Fonts for Game Developers - Graphic Design Junction","url":"https://graphicdesignjunction.com/2025/10/best-pixel-fonts/"},{"title":"20+ Best Free Pixel Fonts for Creatives in 2025 — Speckyboy","url":"https://speckyboy.com/free-pixel-fonts/"},{"title":"38 Perfect Pixel Fonts for Video Game & Tech Design - Design Work Life","url":"https://designworklife.com/pixel-fonts-for-video-game-tech-design/"},{"title":"20+ Best Pixel Perfect Fonts for 8-bit Designs for 2025 - Onextrapixel","url":"https://onextrapixel.com/25-free-pixel-perfect-fonts-for-8-bit-designs/"},{"title":"Top 10 Pixel Fonts for Retro and Indie Games Development","url":"https://raizensoft.com/tutorial/top-10-pixel-fonts-retro-indie-gamedev/"},{"title":"Top-Notch Fonts to Use for Gaming Projects","url":"https://virbo.wondershare.com/ai-subtitle-generator/video-game-fonts.html"},{"title":"9 Essential Pixel Fonts Every Gamer and Content Creator Should Know | Futurism","url":"https://vocal.media/futurism/9-essential-pixel-fonts-every-gamer-and-content-creator-should-know"},{"title":"Best Fonts for Apps in 2025: Top Picks for iOS and Android UI Design","url":"https://www.frontmatter.io/blog/best-fonts-for-apps-in-2025-top-picks-for-ios-and-android-ui-design"},{"title":"Best Fonts for Game Design – Complete Guide & NihStudio Picks","url":"https://nihstudio.com/best-fonts-for-game-design/"},{"title":"Top game assets tagged Fonts and pixel - itch.io","url":"https://itch.io/game-assets/tag-fonts/tag-pixel"}]

Based on the search results, here are some of the best pixel fonts for game UI in 2025 that offer clean, readable, small, monospace, and technical characteristics:

## Top Pixel Fonts for Game UI

**For Clean Readability:**

- **Chonky Pixel**: A bold yet refined 8-bit typeface designed for maximum legibility, perfect for professional projects, clean UI design, branding, and game development.

- **Dogica**: Easier on the eyes than most pixel fonts, offering monospaced and kerned versions that remain legible at the tiniest sizes.

- **TickerBit**: The most popular pixel font on Envato Elements, a modern bitmap font with simple, classic design available in Regular, Italic, Monospaced, and Monospaced Italic styles, offering over 220 glyphs and highly readable text.

**For Monospaced/Technical Applications:**

- **Pixel Code**: A monospaced font designed for use in code editors that aims to maximize readability and includes programming ligatures.

- **VCR OSD Mono**: A monospaced font that recreates the look of text from old VCR displays and early computer terminals with remarkable accuracy.

- **MonoPixel Awesome**: A vibrant, multi-colored, monospaced display font where each pixel in every glyph is a different color.

**For Small Size Display:**

- **Techbit**: A modern pixel font family with sharp, blocky letterforms and retro pixel-inspired style, perfect for games, apps, branding, posters, and more.

For tech-oriented designs requiring greater readability, monospaced typefaces like IBM Plex Mono, Roboto Mono, or JetBrains Mono are excellent alternatives that evoke coding and computer terminals without pixel-level blockiness.


REMINDER: You MUST include the sources above in your response to the user using markdown hyperlinks.

I have solid research. Let me quickly check which fonts are already on hand locally so I'm grounding this in what you actually have.

Glob (*/.{ttf,otf,fon,bdf,fnt})

ricochet-template\assets\CascadiaCode-Regular.ttf
ricochet-template\assets\Oswald-Medium.ttf
ricochet-template\assets\IBMPlexSans-Regular.ttf

Bash (find E:/a327ex -maxdepth 4 -iname ".ttf" -o -iname ".otf" 2>/dev/null | grep -...)

E:/a327ex/Anchor/framework/assets/LanaPixel.ttf
E:/a327ex/Anchor-lua/framework/assets/LanaPixel.ttf
E:/a327ex/Anchor-YueScript/framework/assets/LanaPixel.ttf
E:/a327ex/Anchor2/app-archive/assets/LanaPixel.ttf
E:/a327ex/Anchor2/app-archive/assets/RobotoMono-Regular.ttf
E:/a327ex/Anchor2/arena/assets/monogram.ttf
E:/a327ex/BYTEPATH/resources/fonts/m5x7.ttf
E:/a327ex/Danpenzero/assets/LanaPixel.ttf
E:/a327ex/Danpenzero/assets/RobotoMono-Regular.ttf
E:/a327ex/emoji-aimer/assets/FatPixelFont.ttf
E:/a327ex/emoji-aimer/assets/LanaPixel.ttf
E:/a327ex/emoji-ball-battles/assets/FatPixelFont.ttf
E:/a327ex/emoji-ball-battles/assets/LanaPixel.ttf
E:/a327ex/emoji-ball-battles/old_assets/fusion-pixel-10px-monospaced-latin.ttf
E:/a327ex/emoji-ball-battles/old_assets/fusion-pixel-12px-monospaced-latin.ttf
E:/a327ex/emoji-ball-battles/old_assets/fusion-pixel-8px-monospaced-latin.ttf
E:/a327ex/emoji-ball-bounce/assets/LanaPixel.ttf
E:/a327ex/generation-loss/assets/ark-pixel-10px-proportional-latin.ttf
E:/a327ex/generation-loss/assets/ark-pixel-12px-proportional-latin.ttf
E:/a327ex/generation-loss/assets/BoldPixels.ttf
E:/a327ex/generation-loss/assets/FatPixelFont.ttf
E:/a327ex/generation-loss/assets/LanaPixel.ttf
E:/a327ex/generation-loss/assets/monogram.ttf
E:/a327ex/generation-loss/assets/PixulBrush-Mono.ttf
E:/a327ex/Invoker/assets/ark-pixel-10px-proportional-latin.ttf
E:/a327ex/Invoker/assets/ark-pixel-12px-proportional-latin.ttf
E:/a327ex/Invoker/assets/BoldPixels.ttf
E:/a327ex/Invoker/assets/FatPixelFont.ttf
E:/a327ex/Invoker/assets/LanaPixel.ttf
E:/a327ex/Invoker/assets/monogram.ttf
... [10 more lines]

Good — you actually have a solid pixel-font library already scattered across the workspace, plus there are two or three strong candidates we don't have that fit the Ricochet "engineering datasheet" voice especially well. Here's the full landscape.

Fonts already on hand (zero download — can test immediately)

Font Native size(s) Character Role fit
Ark Pixel (ark-pixel-10/12px) 10, 12px Neutral pan-CJK "hei/gothic" — the pixel equivalent of IBM Plex Sans. Clean, no personality quirks. Best label/body candidate
fusion-pixel (8/10/12px monospaced) 8, 10, 12px Same lineage as Ark (both TakWolf), but monospaced — digits don't shift width. Best value/readout candidate; pairs natively with Ark
LanaPixel ~11px Humanist, slightly storybook — softer than Ark. Wide Unicode. Body, but less "engineering"
monogram 5×7 Friendly, clean, very common indie look (CC0). Body, casual
m5x7 5×7 Managore classic, mildly condensed, characterful. Body/title, more flavor
FatPixelFont / BoldPixels heavy Chunky display weights. Title role (echoes Oswald's bold)

The standout pairing you already own: Ark Pixel (labels) + fusion-pixel mono (readouts) — they're sibling families, so they share a pixel grid and metrics, exactly mirroring your current IBM Plex Sans + Cascadia split, but pixel-native at 10/12px.

Worth fetching — best matches for the blueprint/datasheet voice (not on hand)

(The generic "best pixel fonts 2025" lists turn up arcade-y display faces — Dogica, TickerBit, Chonky Pixel — that read too game-y for the blueprint look; I'd skip those. Speckyboy roundup if you want to browse anyway.)

The low-res reality check (worth being honest about)

Your current UI runs a three-tier hierarchy: condensed title (Oswald 18) / neutral label (Plex 13) / mono value (Cascadia 14). At 480×270 there's really only room for two distinct text treatments before things collide. So at low res this likely collapses to:

with titles done as caps + letterspacing of the body font (a condensed-grotesque like Oswald has no clean pixel equivalent, and the condensed look mostly disappears at this scale anyway). A heavy display font (FatPixelFont/BoldPixels) is the fallback if titles need to shout.

The good news from the architecture side: the hairline/bracket/inverted-fill chrome translates directly — a 1-logical-px line is the crispest possible pixel-art line. Fonts are genuinely the only part of the UI language that doesn't survive the resolution drop unchanged.

My recommended test set

When we get to the UI phase, I'd put up a low-res mockup comparing a small shortlist rather than all of them:

  1. Ark Pixel + fusion-pixel mono (on hand, sibling pair — the "Plex + Cascadia, but pixel" translation of what you have now)
  2. Departure Mono solo (most on-theme; test whether one mono carries the whole UI)
  3. Pixel Operator family (the versatile CC0 all-rounder)
  4. LanaPixel as the body alternative if Ark reads too sterile

I can fetch Departure Mono + Pixel Operator now so all four are ready, or hold. Which fonts do you want in the comparison — and do you want me to grab those two missing ones?

Sources: Departure Mono · Departure Mono GitHub · Ark Pixel Font GitHub · Cozette GitHub · Pixel Operator · Speckyboy pixel fonts

One important thing to note is that I want "text" font, like font that's going to be used for most text, to also have Asian characters available. Ark/Fusion/Lana all do. And then the top/big font that's used as header can be latin only if it makes sense. But let's try basically all the variations you mentioned so I can see which ones look best. Download the additional fonts yourself. For the icons, pick which one of the two pixel icons that have the most "game" icons in them, and that also have filled versions.

Clear. Two things to lock down: the CJK constraint means the body/text font candidates are limited to the CJK-capable ones (Ark / Fusion / Lana), while headers and mono readouts can be Latin-only (Departure, Pixel Operator, Cozette, etc.). And one note — the Ark/Fusion files already in the workspace are -latin subsets, so I'll need the full CJK builds for those to actually satisfy "Asian characters available." Let me handle downloads and the icon pick.

First, the icon decision — let me get real data on the two pixel packs (game-icon coverage + filled-variant availability) rather than guessing.

Bash (cd E:/a327ex/ricochet-template/tools && node --version 2>&1; echo "---")

v24.12.0
---

Write (E:\a327ex\ricochet-template\tools\compare_pixel_packs.mjs)

File created successfully at: E:\a327ex\ricochet-template\tools\compare_pixel_packs.mjs (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template/tools && node compare_pixel_packs.mjs 2>&1)

Pixelarticons (pixelarticons)
  total icon names:        813
  unique base concepts:    798
  game-term base matches:  146
  filled/solid variants:   NONE found via suffix
  game matches: a-arrow-down, a-arrow-down-sharp, a-arrow-up, a-arrow-up-sharp, ai-voice, ai-voice-sharp, alarm-clock, align-horizontal-distribute-start, align-horizontal-distribute-start-sharp, align-horizontal-justify-start, align-horizontal-justify-start-sharp, align-start-horizontal, align-start-horizontal-sharp, align-start-vertical, align-start-vertical-sharp, align-vertical-distribute-start, align-vertical-distribute-start-sharp, align-vertical-justify-start, align-vertical-justify-start-sharp, app-windows, app-windows-sharp, arrow-bar-down, arrow-bar-left, arrow-bar-right, arrow-bar-up, arrow-big-down, arrow-big-down-dash, arrow-big-down-dash-sharp, arrow-big-down-sharp, arrow-big-up, arrow-big-up-dash, arrow-big-up-dash-sharp, arrow-big-up-sharp, arrow-down, arrow-down-box, arrow-down-box-sharp, arrow-down-circle, arrow-down-diamond, arrow-down-narrow-wide, arrow-down-wide-narrow, arrow-down-z-a, arrow-down-z-a-sharp, arrow-left, arrow-left-box, arrow-left-box-sharp, arrow-right, arrow-right-box, arrow-right-box-sharp, arrow-up, arrow-up-box, arrow-up-box-sharp, arrow-up-narrow-wide, arrow-up-wide-narrow, arrow-up-z-a, arrow-up-z-a-sharp, arrows-horizontal, arrows-vertical, battery, battery-full, battery-full-sharp

HackerNoon Pixel Icon Library (pixel)
  total icon names:        578
  unique base concepts:    335
  game-term base matches:  62
  filled/solid variants:   248 (e.g. ad-solid, align-center-solid, align-justify-solid, align-left-solid, align-right-solid, analytics-solid)
  game matches: arrow-alt-circle-down, arrow-alt-circle-left, arrow-alt-circle-right, arrow-alt-circle-up, arrow-circle-down, arrow-circle-left, arrow-circle-right, arrow-circle-up, arrow-down, arrow-left, arrow-right, arrow-up, bell-mute, bitcoin, bolt, book-heart, box-heart, bug, clock, cloud, cloud-download, cloud-fog, cloud-rain, cloud-upload, cloudflare, code-block, coin, coins, credit-card, crown, eye, eye-cross, eye-snake, face-heart-eyes, fire, flag, flag-checkered, hackernoon-purcat, heart, hockey-mask, location-pin, lock, lock-alt, lock-open, management, moon, phone-ringing-high, phone-ringing-low, product-management, sound-mute, sparkles, star, star-crescent, startups, sun, trophy, unlock, unlock-alt, users-crown, viewblocks

Useful data, with a decisive finding. Let me verify one thing before I commit to the pick — whether HackerNoon's -solid filled style actually covers the game icons (heart/star/coin/etc.), not just UI chrome.

Bash (cd E:/a327ex/ricochet-template/tools && node --input-type=module -e " const data...)

GAME ICON  | outline? | solid?
heart      |   yes    | yes
star       |   yes    | yes
coin       |   yes    | yes
coins      |   yes    | yes
trophy     |   yes    | yes
crown      |   yes    | yes
fire       |   yes    | yes
bolt       |   yes    | yes
flag       |   yes    | yes
bug        |   yes    | yes
lock       |   yes    | yes
clock      |   yes    | yes
moon       |   yes    | yes
sun        |   yes    | yes
cloud      |   yes    |  - 
sparkles   |   yes    | yes
eye        |   yes    | yes
arrow-up   |   yes    | yes
user       |   yes    | yes
users      |   yes    | yes
bell       |   yes    | yes
home       |   yes    | yes
---- total names: 578

Decisive result. HackerNoon Pixel Icon Library wins on your two criteria:

One honest gap: HackerNoon is a HUD/social/tech pixel set — it has heart/star/coin/trophy/crown/fire but no weapon/RPG shapes (no sword, shield, skull, potion, gem). If you later want those, they'd come from game-icons.net or Pixelarticons' npm Solid style. For a HUD/UI test it's well-covered; flagging it so you can override.

Let me look at the existing fetch tool before adapting it for the pixel pack, and start the font downloads.

Read (E:\a327ex\ricochet-template\tools\fetch_icons.mjs)

1    // Fetch the Tabler icon set used by the showcase, via the Iconify API, as white
2   // SVGs, thin the stroke (Tabler is stroke-based) toward the theme's 1px hairline
3   // UI, rasterize with resvg, and write to ../assets/icons/tabler/<concept>.png.
4   //
5   // Run from this directory:  node fetch_icons.mjs
6   //
7   // Tabler was chosen over Phosphor/Remix (most icons, best game coverage of the
8   // clean line packs, and a freely adjustable stroke). Icons are rasterized WHITE
9   // on transparent so the engine can tint them to any palette token.
10  
11  import { Resvg } from '@resvg/resvg-js';
12  import { mkdir, writeFile } from 'node:fs/promises';
13  import { dirname } from 'node:path';
14  
15  const SIZE = 44;
16  const OUT = '../assets/icons/tabler';
17  const STROKE = '0.75';   // Tabler ships stroke-width="2"; thin it to sit with the hairline UI
18  
19  // concept -> ordered candidate Tabler names (first that resolves wins).
20  const concepts = {
21    heart:   ['heart'],
22    star:    ['star'],
23    shield:  ['shield'],
24    sword:   ['sword'],
25    flame:   ['flame'],
26    bolt:    ['bolt'],
27    trophy:  ['trophy'],
28    coin:    ['coin'],
29    skull:   ['skull'],
30    gear:    ['settings'],
... [57 more lines]

I understand the tool. Now let me handle the font downloads. I'll discover exact asset URLs from the official GitHub releases, then pull them. Let me query the sources in parallel.

Bash (echo "=== Departure Mono releases ==="; curl -s "https://api.github.com/repos/re...)

=== Departure Mono releases ===
  "tag_name": "v1.500",
  "name": "v1.500",
      "name": "DepartureMono-1.500.zip",
      "browser_download_url": "https://github.com/rektdeckard/departure-mono/releases/download/v1.500/DepartureMono-1.500.zip"

=== Cozette releases ===
  "tag_name": "v.1.30.0",
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/cozette.bdf"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/cozette.dfont"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/cozette.fnt"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/cozette.otb"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/cozette.psf"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/cozettecrossedseven.bdf"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/cozettecrossedseven.dfont"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/cozettecrossedseven.fnt"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/cozettecrossedseven.otb"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/cozettecrossedseven.psf"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/CozetteCrossedSeven.sfd"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/CozetteCrossedSevenVector.dfont"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/CozetteCrossedSevenVector.otf"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/CozetteCrossedSevenVector.ttf"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/CozetteCrossedSevenVector.woff"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/CozetteCrossedSevenVector.woff2"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/CozetteCrossedSevenVectorBold.dfont"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/CozetteCrossedSevenVectorBold.otf"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/CozetteCrossedSevenVectorBold.ttf"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/CozetteCrossedSevenVectorBold.woff"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/CozetteCrossedSevenVectorBold.woff2"
      "browser_download_url": "https://github.com/the-moonwitch/Cozette/releases/download/v.1.30.0/cozettecrossedseven_hidpi.bdf"
... [7 more lines]

Bash (echo "=== Ark Pixel releases (assets) ==="; curl -s "https://api.github.com/repo...)

=== Ark Pixel releases (assets) ===
  "tag_name": "2026.05.07",
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-monospaced-bdf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-monospaced-otf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-monospaced-otf.woff-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-monospaced-otf.woff2-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-monospaced-pcf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-monospaced-ttf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-monospaced-ttf.woff-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-monospaced-ttf.woff2-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-proportional-bdf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-proportional-otf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-proportional-otf.woff-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-proportional-otf.woff2-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-proportional-pcf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-proportional-ttf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-proportional-ttf.woff-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-10px-proportional-ttf.woff2-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-12px-monospaced-bdf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-12px-monospaced-otf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-12px-monospaced-otf.woff-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-12px-monospaced-otf.woff2-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-12px-monospaced-pcf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-12px-monospaced-ttf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-12px-monospaced-ttf.woff-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-12px-monospaced-ttf.woff2-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-12px-proportional-bdf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-12px-proportional-otf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-12px-proportional-otf.woff-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/ark-pixel-font/releases/download/2026.05.07/ark-pixel-font-12px-proportional-otf.woff2-v2026.05.07.zip"
... [11 more lines]

Got the URLs. Let me query Fusion Pixel and verify the Pixel Operator source, then pull everything.

Bash (echo "=== Fusion Pixel releases ==="; curl -s "https://api.github.com/repos/TakW...)

=== Fusion Pixel releases ===
  "tag_name": "2026.05.07",
      "browser_download_url": "https://github.com/TakWolf/fusion-pixel-font/releases/download/2026.05.07/fusion-pixel-font-10px-monospaced-ttf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/fusion-pixel-font/releases/download/2026.05.07/fusion-pixel-font-10px-proportional-ttf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/fusion-pixel-font/releases/download/2026.05.07/fusion-pixel-font-12px-monospaced-ttf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/fusion-pixel-font/releases/download/2026.05.07/fusion-pixel-font-12px-proportional-ttf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/fusion-pixel-font/releases/download/2026.05.07/fusion-pixel-font-8px-monospaced-ttf-v2026.05.07.zip"
      "browser_download_url": "https://github.com/TakWolf/fusion-pixel-font/releases/download/2026.05.07/fusion-pixel-font-8px-proportional-ttf-v2026.05.07.zip"

=== Pixel Operator (dafont) header check ===
HTTP/1.1 200 OK
Content-Disposition: attachment; filename=pixel_operator.zip
Content-Type: application/zip

All sources confirmed. Now let me download and extract everything into a new assets/fonts/ folder.

Bash (cd E:/a327ex/ricochet-template mkdir -p assets/fonts mkdir -p /tmp/fontdl && cd ...)

== downloading ==
== sizes ==
-rw-r--r-- 1 adn 197121   649328 May 30 18:26 CozetteVector.ttf
-rw-r--r-- 1 adn 197121  3642293 May 30 18:26 ark10.zip
-rw-r--r-- 1 adn 197121 35077341 May 30 18:26 ark12.zip
-rw-r--r-- 1 adn 197121    82890 May 30 18:26 departure.zip
-rw-r--r-- 1 adn 197121 35055592 May 30 18:26 fusion12.zip
-rw-r--r-- 1 adn 197121   106073 May 30 18:26 pixelop.zip
== file types ==
departure.zip:     Zip archive data, made by v2.0, extract using at least v2.0, last modified, last modified Sun, Jan 01 1980 00:00:00, uncompressed size 84480, method=deflate
pixelop.zip:       Zip archive data, made by v3.0 UNIX, extract using at least v2.0, last modified, last modified Sun, Oct 04 2018 12:15:00, uncompressed size 7169, method=deflate
ark12.zip:         Zip archive data, at least v2.0 to extract, compression method=store
fusion12.zip:      Zip archive data, at least v2.0 to extract, compression method=store
CozetteVector.ttf: TrueType Font data, 13 tables, 1st "FFTM", 24 names, Macintosh

Downloads look good (Ark/Fusion 12px are ~35MB = full CJK). Let me extract and inspect contents.

Bash (cd /tmp/fontdl for z in departure pixelop ark12 ark10 fusion12; do mkdir -p $z &...)

== departure ==
== pixelop ==
== ark12 ==
== ark10 ==
== fusion12 ==

Bash (cd /tmp/fontdl echo "== dir listing =="; for z in departure pixelop ark12 fusion...)

== dir listing ==
-- departure --
departure:
-- pixelop --
pixelop:
-- ark12 --
ark12:
-- fusion12 --
fusion12:

tar didn't extract these. Let me relocate the archives to a Windows-visible path and use PowerShell's Expand-Archive.

Bash (cd /tmp/fontdl mkdir -p E:/a327ex/ricochet-template/_fontdl cp departure.zip pix...)

total 72880
drwxr-xr-x 1 adn 197121        0 May 30 18:27 ./
drwxr-xr-x 1 adn 197121        0 May 30 18:27 ../
-rw-r--r-- 1 adn 197121   649328 May 30 18:27 CozetteVector.ttf
-rw-r--r-- 1 adn 197121  3642293 May 30 18:27 ark10.zip
-rw-r--r-- 1 adn 197121 35077341 May 30 18:27 ark12.zip
-rw-r--r-- 1 adn 197121    82890 May 30 18:27 departure.zip
-rw-r--r-- 1 adn 197121 35055592 May 30 18:27 fusion12.zip
-rw-r--r-- 1 adn 197121   106073 May 30 18:27 pixelop.zip

PowerShell

== departure ==
DepartureMono-Regular.otf
== pixelop ==
PixelOperator-Bold.ttf
PixelOperator.ttf
PixelOperator8-Bold.ttf
PixelOperator8.ttf
PixelOperatorHB.ttf
PixelOperatorHB8.ttf
PixelOperatorHBSC.ttf
PixelOperatorMono-Bold.ttf
PixelOperatorMono.ttf
PixelOperatorMono8-Bold.ttf
PixelOperatorMono8.ttf
PixelOperatorMonoHB.ttf
PixelOperatorMonoHB8.ttf
PixelOperatorSC-Bold.ttf
PixelOperatorSC.ttf
== ark12 ==
ark-pixel-12px-proportional-ja.ttf
ark-pixel-12px-proportional-ko.ttf
ark-pixel-12px-proportional-latin.ttf
ark-pixel-12px-proportional-zh_cn.ttf
ark-pixel-12px-proportional-zh_hk.ttf
ark-pixel-12px-proportional-zh_tr.ttf
ark-pixel-12px-proportional-zh_tw.ttf
== ark10 ==
ark-pixel-10px-proportional-ja.ttf
ark-pixel-10px-proportional-ko.ttf
ark-pixel-10px-proportional-latin.ttf
... [10 more lines]

Now I see the structure — Ark/Fusion ship per-language files (-latin, -ja, -ko, -zh_cn/-zh_hans...), not one combined CJK file. Before I decide which to copy, let me check how the engine loads fonts (on-demand glyph rasterization vs. eager full-atlas) — that determines whether a large CJK file is safe to load for the test.

Read (E:\a327ex\ricochet-template\anchor\font.lua)

1    --[[
2     font — thin wrapper over C font functions.
3   
4     Usage:
5       fonts.main = font_register('main', 'assets/monogram.ttf', 11)
6       layer_text(game_layer, "Hello", fonts.main, 100, 50, color)
7   
8     A font is a plain table with .name, .size, .height plus query methods.
9     Stays as a simple class/struct pattern for consistent access.
10  ]]
11  
12  font = class()
13  
14  --- `filter` is optional: 'smooth' (grayscale atlas + linear sampling) or
15  --- 'rough' (1-bit mono atlas + nearest sampling). Defaults to the engine's
16  --- current global filter mode. The filter is baked into the atlas at load time
17  --- and cannot be changed afterward — load two copies if you need both.
18  function font:new(name, path, size, filter)
19    self.name = name
20    self.size = size
21    self.filter = filter
22    font_load(name, path, size, filter)
23    self.height = font_get_height(name)
24  end
25  
26  function font:text_width(text)
27    return font_get_text_width(self.name, text)
28  end
29  
30  function font:char_width(codepoint)
... [14 more lines]

Grep (font_load|atlas|codepoint|0x10FFFF|num_glyphs|stbtt_|first_char|ascii|0x4E00|glyph_count|font_get_char_width)

122:// Font bytes derive from font_count * atlas_size^2 * 4 — not tracked here.
966:// Font - TTF font with baked glyph atlas
976:#define FONT_ATLAS_SIZE 512
977:#define FONT_FIRST_CHAR 32
982:    float u0, v0, u1, v1;  // UV coordinates in atlas
988:    GLuint atlas_texture;
989:    int atlas_width;
990:    int atlas_height;
995:    GlyphInfo glyphs[FONT_NUM_CHARS];  // ASCII 32-127
1006:// UTF-8 decoding helper - returns codepoint and advances pointer
1009:    uint32_t codepoint;
1013:        codepoint = s[0];
1016:        codepoint = s[0] & 0x1F;
1019:        codepoint = s[0] & 0x0F;
1022:        codepoint = s[0] & 0x07;
1035:        codepoint = (codepoint << 6) | (s[i] & 0x3F);
1039:    return codepoint;
1043:// font_filter chooses atlas format: FILTER_ROUGH = 1-bit mono, FILTER_SMOOTH = 8-bit grayscale AA.
1044:// Also determines the atlas texture sampling filter (GL_NEAREST vs GL_LINEAR).
1045:static Font* font_load(const char* name, const char* path, float size, int font_filter) {
1104:    font->atlas_width = FONT_ATLAS_SIZE;
1105:    font->atlas_height = FONT_ATLAS_SIZE;
1107:    // Create atlas bitmap (RGBA)
1108:    unsigned char* rgba_bitmap = (unsigned char*)calloc(FONT_ATLAS_SIZE * FONT_ATLAS_SIZE * 4, 1);
1123:    // Pack glyphs into atlas
1129:        FT_UInt glyph_index = FT_Get_Char_Index(face, FONT_FIRST_CHAR + i);
1142:        if (pen_x + glyph_w + 1 >= FONT_ATLAS_SIZE) {
1148:        // Check if atlas is full
1149:        if (pen_y + glyph_h + 1 >= FONT_ATLAS_SIZE) {
1150:            fprintf(stderr, "Warning: Font atlas full, some glyphs skipped\n");
... [22 more lines]

Important finding before I finalize. The engine's font system only bakes ASCII 32–127 into the atlas (FONT_FIRST_CHAR 32, glyphs[FONT_NUM_CHARS] // ASCII 32-127, anchor.c:976–995). It decodes UTF-8 but has no glyphs beyond ASCII — so the engine cannot currently render any CJK glyph, regardless of which font file is loaded. I'll flag that below; it changes what "Asian characters available" means in practice. For now I'll assemble the comparison with the Latin subsets (the ASCII rendering is identical either way).

Let me assemble the full comparison font set into assets/fonts/.

Bash (cd E:/a327ex/ricochet-template D=assets/fonts B=_fontdl

--- downloaded Latin/...)

cp: cannot stat '_fontdl/departure/DepartureMono-Regular.otf': No such file or directory
== assets/fonts contents ==
total 16240
drwxr-xr-x 1 adn 197121       0 May 30 18:29 ./
drwxr-xr-x 1 adn 197121       0 May 30 18:26 ../
-rw-r--r-- 1 adn 197121  158244 May 30 18:29 BoldPixels.ttf
-rw-r--r-- 1 adn 197121  649328 May 30 18:29 CozetteVector.ttf
-rw-r--r-- 1 adn 197121   35065 May 30 18:29 FatPixelFont.ttf
-rw-r--r-- 1 adn 197121 3123264 May 30 18:29 LanaPixel.ttf
-rw-r--r-- 1 adn 197121   16984 May 30 18:29 PixelOperator-Bold.ttf
-rw-r--r-- 1 adn 197121   17272 May 30 18:29 PixelOperator.ttf
-rw-r--r-- 1 adn 197121   19944 May 30 18:29 PixelOperator8.ttf
-rw-r--r-- 1 adn 197121   16972 May 30 18:29 PixelOperatorMono.ttf
-rw-r--r-- 1 adn 197121   19872 May 30 18:29 PixelOperatorMono8.ttf
-rw-r--r-- 1 adn 197121  518828 May 30 18:29 ark-pixel-10px-proportional-latin.ttf
-rw-r--r-- 1 adn 197121 4986508 May 30 18:29 ark-pixel-12px-proportional-latin.ttf
-rw-r--r-- 1 adn 197121 6986140 May 30 18:29 fusion-pixel-12px-monospaced-latin.ttf
-rw-r--r-- 1 adn 197121   34300 May 30 18:29 m5x7.ttf
-rw-r--r-- 1 adn 197121   10468 May 30 18:29 monogram.ttf

Departure Mono's OTF is in a subfolder. Let me locate and copy it.

Bash (cd E:/a327ex/ricochet-template echo "== locate departure font =="; find _fontdl/...)

== locate departure font ==
_fontdl/departure/DepartureMono-1.500/DepartureMono-Regular.otf
== confirm ==
DepartureMono-Regular.otf

All fonts are in place. Let me clean up the temp archives and pull the relevant pixel icon names so I can fetch a good game subset.

Bash (cd E:/a327ex/ricochet-template rm -rf _fontdl rm -rf /tmp/fontdl echo "cleaned" ...)

cleaned

== HackerNoon pixel set: game/HUD/UI-relevant names (with -solid availability) ==
[O+S] arrow-alt-circle-down
[O+S] arrow-alt-circle-left
[O+S] arrow-alt-circle-right
[O+S] arrow-alt-circle-up
[O+S] arrow-circle-down
[O+S] arrow-circle-left
[O+S] arrow-circle-right
[O+S] arrow-circle-up
[O+S] arrow-down
[O+S] arrow-left
[O+S] arrow-right
[O+S] arrow-up
[O+S] badge-check
[O+S] bell
[O+S] bell-exclaimation
[O+S] bell-mute
[O  ] bitcoin
[O+S] bolt
[O+S] book
[O+S] book-bookmark
[O+S] book-heart
[O+S] bookmark
[O+S] box-heart
[O+S] bug
[O+S] cart-minus
[O+S] check
[O+S] check-box
... [83 more lines]

Good HUD/UI coverage, nearly all with outline+solid. Before writing the fetch, let me inspect a HackerNoon SVG to render it pixel-crisp (the source grid must map to integer output pixels, or resvg will AA-blur it).

Bash (cd E:/a327ex/ricochet-template/tools echo "== pixel:heart.svg =="; curl -s "http...)

== pixel:heart.svg ==
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M22 6V5h-1V4h-1V3h-6v1h-1v1h-2V4h-1V3H4v1H3v1H2v1H1v5h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1h2v-1h1v-1h1v-1h1v-1h1v-1h1v-1h1v-1h1v-1h1v-1h1v-1h1V6zm-2 4v1h-1v1h-1v1h-1v1h-1v1h-1v1h-1v1h-1v1h-2v-1h-1v-1H9v-1H8v-1H7v-1H6v-1H5v-1H4v-1H3V7h1V6h1V5h4v1h1v1h1v1h2V7h1V6h1V5h4v1h1v1h1v3z"/></svg>
== pixel:star-solid.svg viewBox ==
viewBox="0 0 24 24"
== tabler:heart for contrast ==
viewBox="0 0 24 24"

viewBox is 0 0 24 24 with all-integer path coordinates — so rendering at any integer multiple of 24 stays perfectly crisp (no AA). And these are fill-based (no stroke-thinning needed, unlike Tabler). Let me write the pixel-icon fetcher and pull a curated game/HUD subset (outline + filled) at native 24px.

Write (E:\a327ex\ricochet-template\tools\fetch_pixel_icons.mjs)

File created successfully at: E:\a327ex\ricochet-template\tools\fetch_pixel_icons.mjs (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template/tools && node fetch_pixel_icons.mjs 2>&1)

OK    heart <- pixel:heart
  +    heart_filled <- pixel:heart-solid
OK    star <- pixel:star
  +    star_filled <- pixel:star-solid
OK    flame <- pixel:fire
  +    flame_filled <- pixel:fire-solid
OK    bolt <- pixel:bolt
  +    bolt_filled <- pixel:bolt-solid
OK    trophy <- pixel:trophy
  +    trophy_filled <- pixel:trophy-solid
OK    crown <- pixel:crown
  +    crown_filled <- pixel:crown-solid
OK    coin <- pixel:coin
  +    coin_filled <- pixel:coin-solid
OK    coins <- pixel:coins
  +    coins_filled <- pixel:coins-solid
OK    flag <- pixel:flag
  +    flag_filled <- pixel:flag-solid
OK    skull <- pixel:hockey-mask
  +    skull_filled <- pixel:hockey-mask-solid
OK    bug <- pixel:bug
  +    bug_filled <- pixel:bug-solid
OK    gear <- pixel:cog
  +    gear_filled <- pixel:cog-solid
OK    user <- pixel:user
  +    user_filled <- pixel:user-solid
OK    users <- pixel:users
  +    users_filled <- pixel:users-solid
OK    bell <- pixel:bell
  +    bell_filled <- pixel:bell-solid
... [45 more lines]

All 36 fetched with filled variants. Let me verify they rendered correctly (dimensions + a visual spot-check).

Bash (cd E:/a327ex/ricochet-template/assets/icons/pixel echo "== count =="; ls | wc -l...)

== count ==
72
== dims (heart, star_filled, skull_filled) ==
heart.png:        PNG image data, 24 x 24, 8-bit/color RGBA, non-interlaced
star_filled.png:  PNG image data, 24 x 24, 8-bit/color RGBA, non-interlaced
skull_filled.png: PNG image data, 24 x 24, 8-bit/color RGBA, non-interlaced
== sample sizes ==
278 heart.png
226 heart_filled.png

Everything's in place. Here's where we landed.

Done this turn

Icons — picked + fetched. Decision: HackerNoon Pixel Icon Library (data-driven). Pixelarticons looked broader by raw count, but its "matches" are mostly arrow/align UI-chrome and — decisively — it exposes no filled style via Iconify (only a -sharp corner variant; its Solid/Glyph live in npm, a different pipeline). HackerNoon gives clean outline + -solid pairs through the same toolchain we already use. Fetched 36 game/HUD concepts, each with outline + filled, into assets/icons/pixel/ at native 24×24, pixel-crisp (verified: integer-grid viewBox, fill-based, no AA). Concept keys mirror the Tabler set (heart/star/bolt/trophy/coin/gear/skull→hockey-mask/…) so the existing icon machinery works unchanged. Added tools/fetch_pixel_icons.mjs + tools/compare_pixel_packs.mjs.

Fonts — downloaded + assembled into assets/fonts/, the full comparison set:

Role Candidates
Body/text (CJK-capable) ark-pixel-12px & -10px, fusion-pixel-12px (mono), LanaPixel
Body/display (Latin) monogram, m5x7
Header (Latin) PixelOperator-Bold, FatPixelFont, BoldPixels
Mono / readouts (Latin) DepartureMono-Regular, CozetteVector, PixelOperatorMono, PixelOperatorMono8
Versatile (Latin) PixelOperator, PixelOperator8

⚠️ The CJK catch — needs your call

While wiring this up I found a hard limit: the engine's font atlas only bakes ASCII 32–127 (FONT_FIRST_CHAR 32, glyphs[FONT_NUM_CHARS] // ASCII 32-127, anchor.c:976–995). It decodes UTF-8 but has no glyphs past ASCII — so the engine cannot render any Japanese/Chinese/Korean glyph today, no matter which font is loaded. The Ark/Fusion/Lana files support CJK; the renderer doesn't.

So "text font has Asian characters available" splits into two things:

  1. Font choice (this session) — pick a body font whose file has CJK, so it's future-proof. Ark/Fusion/Lana all qualify. ✅
  2. Engine support (separate task) — extend the font system to atlas codepoints beyond ASCII (a wider baked range, or an on-demand dynamic atlas) before CJK actually displays.

My recommendation: treat CJK-capability as the selection criterion now and defer the engine work. Extending the atlas is a self-contained engine change that shouldn't block the low-res visual comparison, and it touches the shared Anchor2 engine (affects every project). I downloaded only the -latin subsets since ASCII renders identically — the full CJK builds are one re-fetch away (URLs documented) once the engine supports them. But if you'd rather I tackle the engine extension as part of this arc, say so and I'll scope it separately.

Proposed next step

Build the low-res comparison scene so you can actually see all of this at 480×270. Before I write code (per the design-brief rule), two things to confirm:

Want me to write up the design brief for that, and is the ROUGH-flag structure good — or did you picture a separate main_rough.lua? And: defer the engine CJK work, or fold it in now?

Download some pixelarticons ones as well, even if they are non-filled I can just fill them manually eventually. I'd like to see how they both compare. I'd also like to see how downscaled Tabler compares. It's fine to not render Asian characters now, just treat it a selection criterion as you mentioned. Go ahead, no need for a brief.

On it. CJK deferred as a selection criterion — got it. Let me grab Pixelarticons too (the existing Tabler PNGs already serve as the "downscaled Tabler" comparison — no fetch needed there, just draw them small). First, map our concepts to Pixelarticons names and check its SVG grid.

Bash (cd E:/a327ex/ricochet-template/tools echo "== pixelarticons names for our concep...)

== pixelarticons names for our concepts ==
FOUND heart
FOUND star
FOUND zap
FOUND trophy
FOUND coins
FOUND crown
FOUND flag
FOUND skull
FOUND bug
FOUND moon
FOUND cloud
FOUND eye
FOUND clock
FOUND lock
FOUND user
FOUND users
FOUND bell
FOUND home
FOUND search
FOUND plus
FOUND minus
FOUND check
FOUND close
FOUND chevron-down
FOUND chevron-right
FOUND play
FOUND trash
FOUND save
FOUND sparkles
... [10 more lines]

Pixelarticons is also 0 0 24 24, integer-grid, fill-based — same crisp path. And crucially it has the weapon/RPG shapes HackerNoon lacked (skull, sword, shield, gamepad, fire). Let me probe the few concepts that didn't match so I can complete the mapping, then fetch.

Bash (cd E:/a327ex/ricochet-template/tools node --input-type=module -e " const data = ...)

HITS: note, notes, reload, target, gamepad, potion, sword, shield, fire, clock, mail, chart, briefcase, chevron-right, chevron-up, arrow-up, more-horizontal, menu, volume, volume-2

Plenty to work with — including RPG items (potion, sword, shield, target, gamepad). Let me write the Pixelarticons fetcher (base style only, as you noted you'll fill manually) and pull the set, with concept keys overlapping the HackerNoon set for apples-to-apples comparison plus the game-shape extras.

Write (E:\a327ex\ricochet-template\tools\fetch_pixelarticons.mjs)

File created successfully at: E:\a327ex\ricochet-template\tools\fetch_pixelarticons.mjs (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template/tools && node fetch_pixelarticons.mjs 2>&1 echo "...)

OK    heart <- pixelarticons:heart
OK    star <- pixelarticons:star
OK    flame <- pixelarticons:fire
OK    bolt <- pixelarticons:zap
OK    trophy <- pixelarticons:trophy
OK    crown <- pixelarticons:crown
OK    coin <- pixelarticons:coins
OK    flag <- pixelarticons:flag
OK    skull <- pixelarticons:skull
OK    bug <- pixelarticons:bug
OK    user <- pixelarticons:user
OK    users <- pixelarticons:users
OK    bell <- pixelarticons:bell
OK    home <- pixelarticons:home
OK    lock <- pixelarticons:lock
OK    clock <- pixelarticons:clock
OK    moon <- pixelarticons:moon
OK    eye <- pixelarticons:eye
OK    music <- pixelarticons:music
OK    sparkle <- pixelarticons:sparkles
OK    search <- pixelarticons:search
OK    plus <- pixelarticons:plus
OK    minus <- pixelarticons:minus
OK    check <- pixelarticons:check
OK    x <- pixelarticons:close
OK    chevron <- pixelarticons:chevron-down
OK    play <- pixelarticons:play
OK    trash <- pixelarticons:trash
OK    save <- pixelarticons:save
OK    sword <- pixelarticons:sword
... [11 more lines]

All three icon sources are ready (Tabler 44px, HackerNoon pixel 24px, Pixelarticons 24px). Now I'll build the low-res comparison. Let me check a couple of engine details first — how textures get their sampling filter (so icons render crisp in rough mode) and how the entry point is launched.

Read (E:\a327ex\ricochet-template\anchor\image.lua)

1    --[[
2     image — thin wrapper for GPU texture handles.
3   
4     Usage:
5       images.player = image_load('player', 'assets/player.png')
6       layer_image(game_layer, images.player, 100, 100)
7   
8     An image is a plain table with .handle, .width, .height.
9   ]]
10  
11  image = class()
12  
13  function image:new(handle)
14    self.handle = handle
15    self.width = texture_get_width(handle)
16    self.height = texture_get_height(handle)
17  end
18  
19  -- Load a texture from a file, wrap it, and add to the global `images` table.
20  function image_load(name, path)
21    local handle = texture_load(path)
22    local img = image(handle)
23    if images then images[name] = img end
24    return img
25  end
26  

Grep (l_texture_load|texture_load|GL_NEAREST|GL_LINEAR|TEXTURE_MIN_FILTER|set_filter_mode|current_filter|global_filter)

831:static Texture* texture_load(const char* path) {
870:    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
871:    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
899:    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
900:    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
932:    Texture* tex = texture_load(path);
1044:// Also determines the atlas texture sampling filter (GL_NEAREST vs GL_LINEAR).
1208:        GLint tex_filter = (font_filter == FILTER_ROUGH) ? GL_NEAREST : GL_LINEAR;
1213:        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, tex_filter);
1913:    GLint tex_filter = (layer_filter == FILTER_SMOOTH) ? GL_LINEAR : GL_NEAREST;
1924:    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, tex_filter);
1992:    GLint tex_filter = (layer->filter_mode == FILTER_SMOOTH) ? GL_LINEAR : GL_NEAREST;
1996:    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, tex_filter);
5186:static int l_set_filter_mode(lua_State* L) {
5228:static int l_texture_load(lua_State* L) {
5230:    Texture* tex = texture_load(path);
5259:    // Register for cleanup on shutdown (matches l_texture_load behavior).
8819:    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
8820:    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
8931:        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
8932:        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
9424:    lua_register(L, "texture_load", l_texture_load);
9468:    lua_register(L, "set_filter_mode", l_set_filter_mode);

Read (E:\a327ex\ricochet-template\run.bat)

1    @echo off
2   REM Run the ricochet-template test scene. CWD must be the parent directory
3   REM of this folder; the engine resolves the game folder name relative to CWD.
4   
5   cd /d "%~dp0.."
6   "%~dp0anchor.exe" ricochet-template
7   

Read (E:\a327ex\Anchor2\engine\src\anchor.c)

831  static Texture* texture_load(const char* path) {
832     int width, height, channels;
833     stbi_set_flip_vertically_on_load(0);  // Don't flip - we handle Y in our coordinate system
834 
835     // Load file data from zip or disk
836     size_t file_size;
837     unsigned char* file_data = (unsigned char*)zip_read_file(path, &file_size);
838     if (!file_data) {
839         fprintf(stderr, "Failed to load texture: %s\n", path);
840         return NULL;
841     }
842 
843     // Decode image from memory (needed for width/height even in headless)
844     unsigned char* data = stbi_load_from_memory(file_data, (int)file_size, &width, &height, &channels, 4);
845     free(file_data);
846     if (!data) {
847         fprintf(stderr, "Failed to decode texture: %s\n", path);
848         return NULL;
849     }
850 
851     Texture* tex = (Texture*)malloc(sizeof(Texture));
852     if (!tex) {
853         stbi_image_free(data);
854         return NULL;
855     }
856 
857     tex->width = width;
858     tex->height = height;
859 
860     if (headless_mode) {
... [50 more lines]

texture_load already forces GL_NEAREST (anchor.c:870–871), so loaded icons scale crisp — good for the comparison. And the entry is anchor.exe ricochet-template → loads main.lua, so a ROUGH flag at the top of main.lua that branches to a separate main_rough.lua is clean. Let me check how images get scaled to an arbitrary size (for drawing icons at 16/24px) before I write the scene.

Read (E:\a327ex\ricochet-template\effect.lua)

479  -- Draw one primitive through the full effect pipeline in ONE call: set + draw +
480 -- clear. `spec` is the same table effect_set takes (every field optional, see the
481 -- SPEC TABLE docblock). The base draw color is white — irrelevant for color≠none
482 -- (the whole point of these); use a plain layer_* call if you want color='none'.
483 -- For sprite shapes, pass spec.shape_icon = <image> (e.g. icons.skull).
484 --
485 --   effect_rectangle(layer, x, y, w, h, spec)
486 --   effect_circle(layer, x, y, r, spec)
487 --   effect_image(layer, img, x, y, w, h, spec)   -- fits img into the box (contain)
488 -- =============================================================================
489 
490 function effect_rectangle(layer, x, y, w, h, spec)
491   effect_set(layer, spec)
492   layer_rectangle(layer, x, y, w, h, 0xFFFFFFFF)
493   effect_clear(layer)
494 end
495 
496 function effect_circle(layer, x, y, r, spec)
497   effect_set(layer, spec)
498   layer_circle(layer, x, y, r, 0xFFFFFFFF)
499   effect_clear(layer)
500 end
501 
502 -- The engine draws textures at native size, so we scale via a layer_push
503 -- transform to fit `img` into the (x, y, w, h) box (contain, centered). `img` is
504 -- an image table (.handle / .width / .height, from image_load).
505 function effect_image(layer, img, x, y, w, h, spec)
506   effect_set(layer, spec)
507   local sc = math.min(w / img.width, h / img.height)
508   layer_push(layer, x + w/2, y + h/2, 0, sc, sc)
... [30 more lines]

All engine details check out (texture_load is GL_NEAREST → crisp icons; entry is main.lua). I have what I need. Building now — a ROUGH flag in main.lua that branches to a self-contained main_rough.lua at 480×270.

First the branch in main.lua:

Edit (E:\a327ex\ricochet-template\main.lua)

The file E:\a327ex\ricochet-template\main.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Now the self-contained low-res comparison build:

Write (E:\a327ex\ricochet-template\main_rough.lua)

File created successfully at: E:\a327ex\ricochet-template\main_rough.lua (file state is current in your context — no need to Read it back)

Now let me syntax-check both files before you run.

Bash (cd E:/a327ex/ricochet-template LUA="E:/a327ex/Anchor/reference/love-compare/tool...)

== main_rough.lua ==
OK
== main.lua ==
OK

Both compile. Let me verify the one uncertain API — how digit keys are named in bind (so the 1/2/3 size toggles actually work).

Grep (key:|keys[|'1'|\"1\"|num1|digit|keycode|SDLK_1|key_name)

12:    bind('left', 'key:a')
13:    bind('left', 'key:left')
20:    'key:<name>'    -- keyboard key (e.g., 'key:a', 'key:space', 'key:left')

Grep (strcmp(.*"(space|tab|left|1|one)"|SDL_SCANCODE_1|SDL_GetScancodeFromName|key_from_name|"tab"|scancode)

2784:// Convert key name string to SDL scancode
2785:static SDL_Scancode key_name_to_scancode(const char* name) {
2793:        // SDL scancodes: 1-9 are sequential, then 0 (keyboard layout order)
2795:        if (c >= '1' && c <= '9') return SDL_SCANCODE_1 + (c - '1');
2799:    if (strcmp(name, "space") == 0) return SDL_SCANCODE_SPACE;
2803:    if (strcmp(name, "tab") == 0) return SDL_SCANCODE_TAB;
2807:    if (strcmp(name, "left") == 0) return SDL_SCANCODE_LEFT;
2879:// Convert scancode to key name string (reverse of key_name_to_scancode)
2881:static const char* scancode_to_key_name(SDL_Scancode sc) {
2889:    if (sc >= SDL_SCANCODE_1 && sc <= SDL_SCANCODE_9) {
2891:        digit[0] = '1' + (sc - SDL_SCANCODE_1);
2902:        case SDL_SCANCODE_TAB: return "tab";
3181:        ctrl->code = key_name_to_scancode(value);
3788:        "space", "enter", "escape", "backspace", "tab",
8176:    SDL_Scancode scancode = key_name_to_scancode(key_name);
8177:    if (scancode == SDL_SCANCODE_UNKNOWN) {
8180:        lua_pushboolean(L, keys_current[scancode]);
8187:    SDL_Scancode scancode = key_name_to_scancode(key_name);
8188:    if (scancode == SDL_SCANCODE_UNKNOWN) {
8191:        lua_pushboolean(L, keys_current[scancode] && !keys_previous[scancode]);
8198:    SDL_Scancode scancode = key_name_to_scancode(key_name);
8199:    if (scancode == SDL_SCANCODE_UNKNOWN) {
8202:        lua_pushboolean(L, !keys_current[scancode] && keys_previous[scancode]);
10357:            SDL_Scancode sc = event.key.keysym.scancode;
10363:                const char* key_name = scancode_to_key_name(sc);

[Showing results with pagination = limit: 25]

Confirmed — key:19 map to scancodes (anchor.c:2795), so the size toggles work. Everything's wired and both files compile.

What I built — ready to run

Icons fetched: Pixelarticons (34, base/outline — you'll fill manually as noted) → assets/icons/pixelarticons/. The "downscaled Tabler" comparison reuses the existing assets/icons/tabler/ PNGs drawn small (no fetch needed). So three sources are now in play: Pixelarticons · HackerNoon · Tabler.

Low-res build: main.lua now has a ROUGH = true flag at the top that forks to a new self-contained main_rough.lua — 480×270, scale 4, rough (nearest) filter → a 1920×1080 window of pure pixel-art. The hi-res dev tools are untouched; flip ROUGH = false to get them back.

Three comparison screens (Tab cycles):

Controls: Tab next screen · T palette (dark/light) · F icon fill on/off (HackerNoon + Tabler have filled; Pixelarticons stays outline) · 1/2/3 icon size 12/16/24px.

To test

Run run.bat as usual — it now boots straight into the rough comparison. Walk the three screens.

What to look for / decide:

Two caveats: (1) the native sizes for monogram / m5x7 / Fat Pixel / Bold Pixels are estimates — if any render misaligned or garbled, that's just a size to tune, tell me and I'll fix it. (2) Tabler is point-sampled when shrunk (nearest), which is the honest low-res test.

Once you've eyeballed it, tell me the winners (or what to adjust) and I'll trim the set and move to the effects/shapes low-res pass.

I need to see the fonts being used in context instead of just randomly, so I'm afraid you'll also need to build some UI elements + screens to show it all off, with options changing fonts where it matters. As for the icons, Tabler down second column seems to be the best at 16 or 24px, what is the second column specifically?

Quick answer on the icons first, then a brief for the in-context build (this one's substantial enough to map out before I write it).

The icon columns

In each concept block, left → right is Pixelarticons → HackerNoon → Tabler (downscaled). So:

If the one you liked was the middle column, that's HackerNoon — which makes sense, it's drawn natively on a 24px grid so it stays crisp at 16/24 where the others either downscale (Tabler) or are outline-only (Pixelarticons). If you actually meant the rightmost, that's Tabler. Either way I'll add explicit per-pack column labels in the next build so this is never ambiguous — and you can confirm which you meant once it's labeled.

Design brief — fonts in context (low-res mock UI)

Approach. Build a small low-res Ricochet-style UI toolkit and a few mock game screens that exercise the fonts in real widgets, with a live font-swap so the same UI redraws in each candidate. The hairline-border / corner-bracket / inverted-fill language ports straight down (a 1px line is the crispest pixel-art line); only the fonts change. Three font roles, mirroring the hi-res UI's Oswald/Plex/Cascadia split:

Each role holds a cycle list of candidates; keys cycle the font bound to that role and the whole mock re-renders. So you compare fonts in situ, not as specimen lines.

Mock screens (Tab cycles), each a realistic context:

  1. HUD — HP/MP bars (body label + mono value), score/coins (icon + mono), a WAVE 3 banner (title), an ability bar of icon slots with cooldown pips + keybind letters. Exercises all three roles + icons together.
  2. MENU / PAUSE — a bordered panel titled OPTIONS (title), rows of label [control] value (body + mono) — a volume slider, a difficulty segment, a toggle — plus RESUME / QUIT buttons (one inverted-active).
  3. SHOP / INVENTORY (SNKRX feel) — item cards: icon + name (title/body) + short desc (body) + cost (mono + coin icon), and a gold counter. The richest mixed-type test.

I'll keep the ICONS screen (now with pack labels) and the raw SPECIMEN screens too, so you have both context and reference. Font-role swaps apply across all UI screens.

Controls: Tab next screen · B/H/M cycle body/header/mono font (current names shown in a status strip) · T palette · F icon fill · 1/2/3 icon size. Icon pack in the mocks defaults to HackerNoon (the winner), swappable with a key.

Interfaces. New module rough_ui.lua — the widget primitives, drawing to game_layer in palette colors and reading the three current role fonts from globals (rough_font_title/body/mono), so a swap is instant. main_rough.lua gains the role-font state + cycling, the three draw_hud/draw_menu/draw_shop screen functions, and keeps the icon/specimen screens. Reuses palette.lua; no effect pipeline (flat draws).

Functions (sketch):

Scope check before I build: the widgets are mostly static mock (they look like the real UI but aren't hover/click-interactive) — the point is type-in-context, and the only "interaction" is the keyboard font-swap. Full interactive widgets would be a much bigger port; I'd do that later if/when this becomes the real game UI.

A few things to confirm or redirect:

[Pasted image/png]

The one I liked the most was the 5th column in these 6 here, which one is that?

Counting the six icon columns left-to-right across the two blocks:

# Block Pack
1 left Pixelarticons
2 left HackerNoon
3 left Tabler (down)
4 right Pixelarticons
5 right HackerNoon
6 right Tabler (down)

So the 5th column is HackerNoon Pixel Icon Library — the same pack as column 2, which you also flagged as best last time. The layout just repeats Pixelarticons → HackerNoon → Tabler in each of the two blocks, so columns 2 and 5 are both HackerNoon. Your eye landed on the same pack both times → HackerNoon is the clear winner, which also matches the data pick (it's pixel-native on a 24px grid, so it stays crisp at 16/24 where Tabler softens from the downscale and Pixelarticons is outline-only).

That settles icons: I'll use HackerNoon as the default pack in the mock UI (with the others still swappable for comparison).

Back to the in-context UI brief — it's still waiting on your call on three points before I build:

  1. Screens: HUD / MENU / SHOP as the three mocks — good, or a smaller/different first set?
  2. Font-role model: title / body / mono (the three swap axes) — right granularity, or do you want finer (e.g. separate "big number" vs "small number")?
  3. Widgets: static mock (look like the real UI, only the font-swap is interactive) for now — fine, or do you want them actually hover/click interactive?

Yea, your ideas are fine.

Approved — building it. I'll add rough_ui.lua (the low-res widget primitives), rewrite main_rough.lua to add the HUD/MENU/SHOP mock screens with live font-role swapping, default the mock icons to HackerNoon, and add the per-column pack labels I promised on the ICONS screen.

First, the widget toolkit:

Write (E:\a327ex\ricochet-template\rough_ui.lua)

File created successfully at: E:\a327ex\ricochet-template\rough_ui.lua (file state is current in your context — no need to Read it back)

Now rewrite main_rough.lua with the font-role registry, the three mock screens, the labeled icon grid, and the specimen screens:

Write (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Syntax-check both new files:

Bash (cd E:/a327ex/ricochet-template LUA="E:/a327ex/Anchor/reference/love-compare/tool...)

== rough_ui.lua ==
OK
== main_rough.lua ==
OK

Both compile. The rough build now has the in-context mock screens wired up.

What's new — ready to run (run.bat, still ROUGH = true)

Three mock game screens showing fonts in real UI:

All built from a new rough_ui.lua widget toolkit (panel, bar, button, list row, segment, pips, stat, frame, brackets) — the hairline-1px / inverted-fill / corner-bracket Ricochet language, ported to pixel scale.

Live font-role swap (the whole point): B / H / M cycle the Body / Header / Mono font, and the mock UI re-renders instantly. The current trio is shown in the status strip at the bottom ([B]ody:Ark12 [H]dr:PxOpB [M]ono:Deprt …).

Plus the reference screens: ICONS (now with PA / HN / TB column labels so the packs are unambiguous) and the two font specimen pages.

Controls: Tab next screen · B/H/M cycle body/header/mono · T palette · F icon fill · 1/2/3 icon size.

To test

Run run.bat → boots to HUD. Cycle to MENU and SHOP, then mash B/H/M to audition each font in context — watch the bottom strip to see which is active. The goal: find the body/header/mono trio that reads best in actual widgets.

Heads-up on what you'll see: row heights are fixed while fonts vary 8–16px tall, so swapping to a tiny font (PxOp8) under-fills a row and a 16px one fills it tightly — that mismatch is itself useful signal for which native size suits the UI. If a particular font overflows or sits oddly, tell me and I'll tune its size or the row metrics. (And ROUGH = false in main.lua still returns to the hi-res dev tools.)

Once you've got favorites, tell me the winning trio and I'll lock it in and move to the effects/shapes low-res pass.

Body: Ark10, Header: PxOp8, Mono: I'd like to test Monogram here, even though it's not mono I don't think.

Got it — adding Monogram to the Mono slot for testing, and booting straight into your trio (Body Ark10 / Header PxOp8 / Mono Monogram). Header needs PxOp8 added to the header cycle too (it wasn't in that list). Small change:

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template && "E:/a327ex/Anchor/reference/love-compare/tools...)

OK

Compiles. Now run.bat boots straight into the trio — the bottom strip will read [B]ody:Ark10 [H]dr:PxOp8 [M]ono:Mgram. Run it and flip through HUD / MENU / SHOP (Tab) to see Monogram doing the numeric readouts (HP values, costs, timer) in context.

Since Monogram is proportional, the give-away to watch for is digit alignment — in the HUD bars and shop costs the numbers are static so they'll look fine, but if you picture them ticking (HP draining, timer counting) the columns would shimmy. You can tap M to A/B it against the true monospaced options (Departure, Fusion, PxOp Mono) right next to it. Tell me the verdict and I'll lock the trio in.

For header I meant Px0pB (bold), and yea, Monogram for values/mono. It needs 1 pixel up always though, some fonts are like that and Monogram seems to be one.

Two fixes: header default → PxOpB, and a per-font vertical nudge so Monogram (and any font with that quirk) draws 1px up everywhere. I'll add a voff field to each font and apply it in the base text helper.

Edit (E:\a327ex\ricochet-template\rough_ui.lua)

The file E:\a327ex\ricochet-template\rough_ui.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template LUA="E:/a327ex/Anchor/reference/love-compare/tool...)

OK

Done — boots as Body Ark10 / Header PxOpB / Mono Monogram, and Monogram now draws 1px up everywhere (HUD values, shop costs, list values, specimen). The nudge is a general per-font voff field, so if any other font shows the same 1px-low sit, it's a one-line fix to give it voff = -1 too.

Run run.bat and check that Monogram's numbers now sit aligned with their labels/bars across HUD, MENU, SHOP. If the nudge over- or under-corrects on any screen, tell me and I'll adjust.

Great, can you add 1 or 2 more screens with more varied UI elements so I can see what this theme looks like in more detail? Right now everything looks good, I just want to see more. Use the reference design images for inspiration if you must.

Happy to add more. Let me first look at the Ricochet reference sheets so the new widgets match the actual design language, then build.

Glob (Ricochet/reference/*/.{png,jpg,jpeg,gif,webp})

Ricochet\reference\01 - ART DIRECTION.png
Ricochet\reference\02 - GENERAL UI ELEMENTS .png
Ricochet\reference\03 - TYPOGRAPHY.png
Ricochet\reference\04 - COLOR.png
Ricochet\reference\05 - GAME OBJECTS.png
Ricochet\reference\01 - ART DIRECTION (DOTTED).png
Ricochet\reference\02 - GENERAL UI ELEMENTS (dotted).png
Ricochet\reference\03 - TYPOGRAPHY (dotted).png
Ricochet\reference\04 - COLOR AND TEXTURE (dotted).png
Ricochet\reference\05 - GAME OBJECTS (dotted).png
Ricochet\reference\06 - TEMPLATES AND USAGE (dotted).png

Read (E:\a327ex\Ricochet\reference\02 - GENERAL UI ELEMENTS .png)

[
  {
    "type": "image",
    "source": {
      "type": "base64",
      "data": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAEHCAIAAAAxtyprAAG+50lEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8uDy9xWUhI2AbANhjAAJK4TJJtLrMNIEC2hSQMksCAkAEnCECSZCdGkgHbIDBIYB7IAIRksB0SYNsAFgIQmCsMkgQGgbmfbQwS2EYIIWFLMgZhGwCBMQZJXCYwtrksImwDCtm2kQSIyyRnAraRBIBtSTwHIbC5QgjZBpCweQCDADDGXCEJMEiyDYhnUoRtLhNCABjbEua5CRljA7a5TBERgTHGBgxgIQM2DyRhA0gCgyRJGAMYsG0bAAshAQIDNmAQAAaBQYCEzWW2kbABJAECgwRIAmMA2wZJgMAGQACSQGBsc5ktifvZBpBsYyNJwkYSIAkAc5kNMuYBBAaBbQBJEmBbPJNByBhbEmAsZBsAIUKyzWW2kXg2AxhJgCQDtgGQJDDYBmwLSdiWhITNFZJtQBKADYDA5jIbhHh+LATYRhIABtsSmArYDolnMQC2QQBIAmwjYQO2QeYyIywJ2wiby8wVtpG4wjbGNgCYZxJgnklgrhAAGCEbBAKDQQAYwCAQYKeRsIQNAhuwwBaSACRAkkHIAEiybQAhAIMAZAwgAbYBJBsMgC2Jy5wJmOcgCWSMjSRACBHCtsFGIGFjkLAN4jkZQBJXSLIFgG0DSAIbG5AEtgEwYBvAIJ5FxmCQsQ0YhO1MJMwVAoNtLrMtiStsEBjbEiBkmytsQCDJxoAECAHYACgEYJBt7mcAJGeCsLnCRrIRYCPZ5gpzhW0hC4QQwrZtCcAgBFiAENgAgISNjQTYFgAGGSTbYABkjEFgA0gGwDyTAIMQsi0BCIGxAZsrzBVCAAaDwAZkWwgAI5yWZFuSbS4TAmNbso0NwljGXGEbGwQIYyQBtgW2JZ6TsQBJAGBbEpfZgMT9bLAtQQVCAgyyDcYAErZBgGTbILABG8BgIa6wDdgARuIKgySDEICNJABswAASgIRBCAy2wZawbSMJbAsJLBnEc7ANADYYSQiMAGGDQdgGBJYEBoG5nwEQgABwpkGADRiQZCMZBOaZbIv7SQAIgUHIWJIEAiMAAwJkAyAB2ADGQiDuJ2GbZ5IN2LYtyTYCsAGBDdi2kQQGbCQABEbCtjGWACQBSIK0ZYMQAgMIMMYGAbYBSWCDBDaSQRLG2ADY5jKBba4QCCyEbSSexUZCYLAlAUZcJgAJIwEYhMAAtg1IgQCEANsAtrnMWAYJAdi2JUmybYMECGwsZBCAMQILgQEQgEGAASQAA2AbjEEyCSFkLFCEbQxgAAMS2CAwYJDINNiAwBZCAiRxP4MABAYEBjBYCISwMQYEgAFhjIUxBgzi2QzCSDyAMQYBgEEgsCQRYJvKFQLbAAiBbQPYlrAFCGciAAyABCBhwEIIQGAbyVgACCRsQIBthCQjwCAAENgGAxgJsEHCNhgQz0PCNrYlIWEkwELmOdjmMgO2QWAJEIAsY4N4APFMkswVAgQGbAAQINnGgCUhLjPGYBsbScjYtiRswGA7EGAAJJ7FICyEAmwQAMZCUiAkAdhgJBBXSIBBEshYCIHBgEwKMBJIgMEgrjCWxbMILAkASQbAAAhZXGYbEAawATBIADYC8UwCgwLANs9kkHk2SWBbEjZX2EhgjCVsAAQ2JkEgAAwCsC0EYJANQgZJgAGQAAFgicuMhcAYAxhsgyQhMBK2DRI2gCRIG5AtBNiJZMAGELYBcZnN/QQG2xIgJGwkJGwQCGwQwkZcJtvYIDASCIwBicuEbSEhYzACgwQYhIwNQmBsBMgYwCCwkUQYgwGBMYCotkFcJgCMAQM2AAZAQohnEoAkAyBhhI0lYdsgW8JIAJgrbHOZbBsEkkDYBoEBzBUGDAKBJXGZhFDagARGAgRgAzbPJGHAkoxtBNgAEjYSgLBtwCABQmBAkkFgg4QtADuRkGQbZAyIK4xkwBYCDIAkANsCA9gWGADxTJKwDQLAIAAByBgBEiCDJADSFhjEZQaMJNsgwAYAY1kGYYMAhLjMgAAElgQCAyCwBSYk2yCEbEAgCUkGjG0bCYwRpC1J2IAQEgIAAxiQZKckTGJsSUgABhsQYEDGAoPAAMggASFABjCAbZAEgMQzGcsCWwAGQGAwCANIYMxlNmBzmUEgwFgGMCDJPJMAgxBgLMAGsBEYAEk8m20kYZBt7ifJYCMhAQLxbEZcYRsMGIsrDEIIIIwBIcAYgwCQuMJYxgYQGAQIIctCGGQBGDAIITAAYAdg27YA8UxGIEmhUGBs2+Y5GWxnpnkmiWcTTmMbANtgQCBJ3E8CEAgBIACBAAlAAOYygQBjGxBgAwZJAICEBAIwYMA2SDyAbbCN7bRBAAiEJJAAQABI2JYE2AYMgCQwNoCNjYTNZcbG4jIbQBIIsAEkbGwkwDY2krhC2DyLuUyAuMw2GASAwDyLAEkCJMAgEIDFA4hnkQQyBgwAEgA2AEgGJAQ2DyAkAaRt2zaIy4TEAwhjMEJcZmMjYSOEJCGeSQDmWQwYAGxAIIGNbdtcIZC5zNi2zTNZElcYbEAAIAkMSAIMEuIK80ziWYwBJMAggSRjDDYYDBgAc4UkgXguEpfZ5gFsY0sAWBhsMCAEAsBgAQgkAARIgMAA5jIJAQYQCGFAgMRlEhJCEgFgIySQJATYOBEYY9vY2IYKIAQABhAgQDyLBGBzP0m2sbEBbJ6TAGRZIADEZZJtbCQk2YBtgXkA2xDINs8mwCAENkgCsAFsFBIAAmNxmW0DALYk7mcbAGwDGAvABhmDBJKwDYCEsUEIDOBMSQDiCkmAJUAAGAECSwKDQdzPBpBsA4BtgW0knFxmAARI2BhLABLPSZIQAgwyRsIAApCxAAQILAABYMDYRgDYCIxBYBuQJLANAgCDAAlsGxAixDMJIQwYBOZZZCMuE2CBESAJDAACA0gYAIOEucyAbQkbBAYB2ObZjDEIsG0k2YCNZBD3ExgJMMZcYZAAAQgM2CCwAQQ2ADYChAAQlwnzTAZhGyEeyCCuEBgAbBACEAC2EwQGGQMCbCMEAhvEMwljjJEECMwzSRhAxgBYYBsJDNggjIUMspEwxjY2EtiSbJAwgHAIhLifAZDE/QyAJJ4fSZIAJEk8kC2EMIC4wsaWJMAGBCBAAAawkQSAJIR5DsYGATY2EkgS2AA4bRvbGJBCEpIkALDNZQJJgLmfDAYQAonLxBUSYBsAYyPxTBJIQkISADb3E5fZxhYASIC5zDyAACSBJMA8gHkmAwIwAEgSEmBssHkmAyAAY3GZMDYWAAbbAgmwAAkwgDC2BQLAPJsBMGBsrpDAYACJ+0kAEsLmMmGEJAEIhLjCgG3bBmNsMM8ikEEgSYCEuMxcJiQkJCQEYHOFDYAkbIMFgAEkAQbbGLCRbGNzmQFQSABC3E9IADaAkDA2BgyAEAACY9sGkAAhnsk8m7EBsLEBBCCBIEAgSRIYbADMAwgMaQwgIRAACIEFCAwgCRuwuUKAkAIEIJAQkgBJIASAAAwhSQJk2xgAbCNxPwE2l9nOzNaabQBJAAgAQ8tsraUNkoQRQiABBsAGkATYlrC5TAIkAQCSBAKQANvYQtiAAYnLDMYAIEkRIElIxrYxtgFAEoAEGCQJ8UxSSAAyMhjASBLYgAQGQAhA5plsY2MjBAgkLjNgI4EA2xjxLBaAQIABDAKQbAPYto1BBgQYG4xBNgiJKyzJGBtAYABxPxsQl9kAEghA4n4C22CukADbPJMkSZIEGAO2bSMQgLlMAoPACCSMscFpMGBszHOQJEBCkpCQAWzMAxgwGMBgG0AYgxFgMAgkSZIBjCQJMNjGIJ5FQoAkJMk8kxASBkmSQBII8QAGAZIAG4G5QgAIkCSFkEISlwkEgACQJJ6TBGAsIQBABgCJBxIIpJDEMxnzbAYMgMQzSUiIZ7Nxgm1jbANgJJBtngULqm2eTUIIgblMko0kSNv2Yj5T7XGul8tpmmqtRggg0xIbGxtEoY3L1QpLkrHM/YwkQMKWZDNNDVxKVQiTrdkGIogSTqezlGKwHRFAy8QgSkRENGdmgiOKJBC2nW3KWjqBwc7MrLUasLmfuExka4qQYpqmEgE4G6iUMAC2ASRscMu0LVRKkWitRUREGGw7nZmAIEoxbq1JKhF2TlNTRAkB0zQBgiglRGsNqSimlhGElNmyGSEopQjZzkyJiIIAsDGIK4TAYAAwljEWAkAAQgZskGSeyTZX2IBtnkkIwDa2JbAkgQHbQoAEYGMQGASADQIAAWCBASPZlgKMjYQNCMAYUNrcTwAIwAAILEAIbElgwNgAiCskAQILEEgAloRsA8YYIcQD2QYLgcEGGZDAAALAGEmAJWycSIAQASADGGNLsi3JGCBBIHGFBQASgEEgnskGkIQBjIUwCCEEYBvAABK2kQSAJAwIgQHAGAQIENgWgIW4n0HIGBtJEmCMwEgYQBJaHuyCEGCQEBhAwjYIkLCjRDdbPPUpT7njjjvm8/ljHv2onePHj/b3oxRBZi42NjLz7//+H3Z3d8+cOf2Yxzy6TW29XpdSeCYZCyTZBtlZSunmW8D6aC9tofnmBlSAHI6OjuazWXSz5cH+YjGnlNXhITDf3IIC0NbL5XKxWFBmwLg6GMex1JqZXdfVfmNYHmQ227NZH91sdXiAwFwhyTYSMN/YmtarzNYvtoblQWttsbVJenl0FCUwIGSM7SjRz7dAwLQ+HMdxsbUJrA6PFJGZfdeVfgMArw73JM02dmjr5XKpiPnGFjkuj5a11m6+xWXT+nAcp8XWJplHR0cbW1ueptVqtdjaggoGjauDaZpms1l0C8jlwZ4iuExgEBhCMs9kGxBXCAFgwFwhYQM2Eg8gMAiBAYMAY2xJgEGSADAIGQPYSAKDkDEGQGAjCdmWMIhnMg9g8ywS5jJzmSQbYwHIWAjMcxACwJZkAyAwgIQBgxACbNupCAxCYAOWBBiwkbABgxDPZBCY+xkEBkkYCcAGgbnMtkEIgSJsAxgJ2wAIgQ0gYRswEvcTkrjCgAEDBoG5QgIADELIGADhRMIgAAwgAQLbBpAADEJggwCwQQghhG0BEgYM0vLwEvcTGMRzM9RSlqvVR3/sx//oj/74wcFBRDzkIQ/5yi//krd867c+OtgHNjY3n/iEJ37AB33on/7Jn6yHYbFYvP7rv+43f+PXX3ftdethFQruZxsAgWuth0eH3/0939v3s/d6z/estTj9e7//+7c+4xmr1epVXvmVX+4VXuFJT3j84x//hLd8y7d4/OOfcO99973mq7/aMAy/87u/d9fddw/r9Wu+5ms+9sVf4nF//7d/9md/Pp/PX+u1Xuuaa86sVqtZ3999zz1/+Ed//Pqv93qbG4ta65Of8pSnPe3pr/96r2uby2wDgKR0/sZv/vbLvNRLbW9v/cqv/trrve7rnjx54nd+53fn8/krvMLLr4chJBDYUCIODg9/67d/58L587bf/M3f/Pobrvvd3/m92Wz2iq/4Csvlctb3T3va0/7kT//s6Ojo+PHjb/WWbzGO48/9/C885jGPfqmXfMnlcvlLv/wrt9xyyyu8wsufO3fuN3/zty7t7Um86Zu8yQ033vj7v/8H8/n85V/h5X/rN3/zumuve8yLPeY3fu3Xn3Hb7fP5bHm0fPM3f/Nrr7v2Gbc+4/t/4Ade9mVf5k3e+I1Xy5WEASwEIGHAIMAYLAQgCQyYy8z9bCRAXCEAbECSQQAYsEEIgQ1CYCQsyYABc5m5nwEQYBA2AAJLMghsnkkAGGPxHAxCCIFtwAaMBAhACGwQYCwADEKIZxEyBgRGYNsYhbjCgAEkAJtnEhhA4gqDsC0JwFxmECBhwEYCMMZCABgAIbABEAIbCcAGQGCeSWDASOIBBMbmMhswkgAJgwCEjDEI25KwQQhsAITAAIhnEdgACNtcJkACBIAUto2BAAQCASAwz2SeyZl1Nv+wj/io7/zO7z44OJjP55n51Kc+9a3f9h3+/E//bGNjo5Y4e/bsm775W/7e7/3eehgWi8Vyufy5n/uFd32392zZhGwbDAYkSRK2a9+9z/t94Dd/y3d+zdd+/Yd+2Ef080XX1Y//xE/+vM//wp/8yZ/+67/5Wyi/+du/+9Zv+w7nz1/8pV/5tU/65E8t/UY6P/TDP+pLv/QrfvwnfvKJT3oSxA//6I+/9/t+wFd/zde95mu/7u2331FLKf3Gz/7cL7zTO7/b3/7t38/mi9Jv/NKv/NoHfvCHRakIA4AEgJBEvM/7fuCf/tmfX9y99C7v9l733neWMvuiL/3yb/iGb4puka0BYCRndrP+zrvufvt3eJdv/87v/smf+pkLFy6g/jM/+3O/7uu/UWU2DkPpN37+F3/pPd7rfX/kR3/8F37hl0qJo+XyXd/9vT7jMz9bdX7bHXe+/Tu+y7d/x3cR/Z133f1O7/Lu3/7t3/VjP/YT586dR93nff4Xvvu7vxfUT/20z/zJn/oZ6P7oj//0cz73C97jPd73x3/yp1er1bBev9Vbv93P/twvvvM7v/uP/uiPzzd3WqYEyABggwEwGBAyz2QDIC4TzyQJwBgMxgBISIC4n20bENgG80wGbGODeSYB4jIhIQABICQJJIMABAaDMQJESJKQeCYJEM8kISSQBAJJYNsgMFhcIUmIZ7IBY0BgBMZcZtvYgIQkSQDmMklCICEBADYCEAIwAOJ+5goJgwELIRCAJACQBALbBmELACTEAxgABNi2eSYLJEkCSUgSIGEbYwMGIUlCkgBJEkIgJISQJAAbg8HYRiAwQgIBkpAQCLANgIAQAJKQuEwIySAwZOZisXj84x73Iz/yY8CbvumbPu2pT/7Wb/nmrutsf/O3fCtR+8Xmj/zIjz3taU8HvvALvuAZz3j6u7/7uwG/87u/93u/9wfzze20hSQJwCBD1/f33Xf2N3/zt3/qJ37s+7/3e379N3/z4NKl6DpJn/5pn/abv/Xb7/rO7wS5vb0N/Mqv/MrOzs5sNgOkqF33pV/yRb/+G7/1xm/4hoDNq7zKK//RH//Jer3+pV/6pX6xCe1JT3oy8Pf/8A9EBfd9v9jYsC0kQBIgIQSIra2tEiFpe3sLAWxtbfWzGYCEBMJc0Vo7efLET/74j/7SL//KQx/yYGBre7ufzQEkYJraK7/yK/3Gb/7W93z3d4AwOzs7f/u3fwfj4x//BGBzcxPAnDp16id+/Ed+5Vd//eEPfxhw6vTpJz7pSc94+lNOnTrddRX86Z/xWV/4hZ//iEc+4pd+6Zcf9JAH//0//MPjHv/4P/i93/2kT/qEZzzjVgAbIyQAQACABAgAIQCDEGAQYEAKCSQkSUhIXCYAzANJEtggSQIwACAAxDMJCAlJANjYFgASAkA8kEBIEgC2sTEGCQAD2AKDAMsgsAFsAwJACiQkECAABBgQgI2xwYlBCKQQAmFsnk0YJK4QYDDYBmxsBAYMYEBgJPNMEmAAjMEGAWBsECAREhiwjQQIJCFJkmSusAEECACDwYAAASCBJIFBSNxPAEJGBmMwlxnbBvMsQhKAARBIBowxGEACjMFAGAwGcYUkAAEgsE3p/+FxjxuGAfiQD/7A62+46X3f970e+9jHAk984pPG9RL0l3/5l8DNN930YR/2IWfOXPuhH/JBXPa0pz8dwjYCG8AYO1NiGIau6/b3917+FV/5b/7yz2stZLbMYRiAYRggMhP4lV/51b29S7a5LFsbxhEYhjXQpskG6LreNsTy8OBpT3va677O6/zFX/4VAAKcBgHmmQQAAmhtQoCzJQZorbVMAIPNsykzM3M9DDBNrQG2sXmAcRyBo6Ol8ThNGxsbFy7u3nn7nY9//OMBO4F0TtM0DAO0NjWg1gr82q/9Rq21tQaCtre3N03TsDocVstHPuIRJ0+e+LTP+IxP/bTP+IgP/7D10X4pFcRlNmAAsG3bPIvA2DYIAUKSsQHAAOIyIbABBCAQSAKJ+9kICYTANmAQCIGwjTEAEkiAwMZcIYHBGIy4wlxmMGDbPJMMBsDm2cQVNgYEGBsbQAACACFJCAmBkARgQAgEAgEYzGVGyAAIzGUCSZIkEEYCCQwgAGwBgLENSAIhQGADAgRG2JhnEwA2trEBG0kgQEgCMA9gY4MNxgbbSAIw2BiBEYCFMRgQBhDiCgkhIQSShEAAgCQJARJXCADAhFBIQgYksG1sADC2AQ72D7hsYz7H47Ae5os5sFwux2ECjIFrr73W2fCQLSMEZEsewBgJY8AAtZR77rn3Cz7/c7//B35wPYy2Nzc2P/0zPuP1X+91Lu3tAQcHB495zKPPX7j4N3/9NxsbG+CWbT5ffPCHfNhbvuWbj+MELDYWf//3f//O7/xOy+XydV7ndWC67+zZe++9703f7M3+7u/+blgdAjbPIsDmWYx5JiNjMGBbXCZAYDCAHaWsh+E1X/t1Pv7jPn57awsQ4gE2Nzf+8i//8qVe8iV+/hd+sZttrdarEydOPPhBD/6DP/yj2++489GPfvR6tQYkDcP4Wq/zeh/2oR+6ubkBHtbrV36lV/qd3/md/f29UgoAigggIqapbe2c+JZv+oYv/dIv+6Ef+L755rGpTVwhAAQSAAhAgAEMgACEACQCwNjGIADbXGYDYNs2NgabK4SxQQIbABvAYBuMwYAAgRBIyGADFs9kwDyLABBIQpIEEgJAgAADIAAhc4VAEkLYBiSQMTbIYMAYgwEMYFsCgXggCUniCksIDAYMAsBgDAjANrYBgQFJAWCDkQDbYAwYwIAkAIEUXGZjsBFIPICxESAwBvNMBkACAQJJAJIAZGPA2IANBhswAkAAxlxhxAMYAPNM5pkMgLEREgIHwrYxBtsAQgIAIWMQElcIFEC25LJSy7g6/ILP+7wnPuHvf+xHf6iWQP3td9yeaeDaa68BBAJJQoCEAInLur5/3OOf8PGf8Emr1UqlG8fhLd/iLT/zMz5jc2MDmKbp+uuuf5mXeenf/K3fWiwWkKEYx+Fd3vmdPv5jP7bWAmCOHz/+h3/4h+/yzu/86Me+BK095alPW6/Xr/iKr3DPPffcffc9gIQkOzPTPIABxP1s27YB4yjBcxGAoKv1Uz7pE9/lnd95tVoBxlxhA6vV+sYbb/ycz/msl3qpl8BjiailvOzLvPTP/8IvrlbLhz/sYcvVkstKiU/8hI9/r/d8z/V6AB0cHL7ma77GMI5/+7d/t7GxwWURYQOUKOuj/bd6m7f/2q/5ynd99/d83D/87ebWVjoRAqSQBEhcJiEAbMBgELbBNhiQFBIYwIAADAKBxGUCAyBAIMAYAGMsgYyNuJ/BYHOFwQJJkgAbYwyADcIgAYBBYBsMgCQQAAIQAsCSADDPJq4Q4gpjY3OZJEmSACRASEggCEUoQNgANsjGRiCQAAQIY8A29xNgEIAxz0tCAEhgjM39LAAkBIgrJCFxmQEDBhDPZBDPJEBIGEAAQgAgBBgQCBBIPBcBQhgbwDyLeBZzhQGDuAxAgc0zGRCAsUFcJgCL+0k8kwGEpJa+5pozj3z4wx90y82KAP/4T/wUcPLkyZd5mZf2tIooXCZJEoAkITQMw0Mf/OAv/qIvPH36NADRWnuN13j113zt110sFoCkdL7xG7/RnXfe5TRI0jRNb/xGb/Car/26tVZguVq99Eu/9Od8zuf89m//NjlQZk9/+q1/87d/+wHv/wF333X37XfcCdguJfpZX2vF5tmMyDQwm826vpOUBpAUUQAMAgSAEIau697pHd7+5V7hlVtrABARQCkFGKfxuuuue+u3eftHPuIR0zCUWlfr1au/xqv/0i//ctd1N9x4wzhNgE2t9Z3f6R1f8ZVfrbUGtDadOnXqZV7mZc6dO7exWIBBIUnYrrVcvLj7S7/wMx/xkR/zuq/72l/11V+DuswEbLC5whgbDAaBBIAESAFIXCYwIEmAQAYkAGwMSGDAYNs8gAFjbK6QhJAQgA0gQAAGc4UMCAABIAEIbADANpdJCAnzXCwhCRACgblCiGeRFCBJUiAENtjG2IANYJ7JGJAEsrnMEhIgECBkAATYArAkSZIkBAhxhZB4ICNJCAlAPJAkJBBgLpOEbAMCAEkKIQkADGBjY/NMxra5QgIbm8sM5jIDSGAEAgESCCSEhEAICQkJIYQMIADMFYAIEIhnkUA8j7S5TAgM2FwmQDCO43K1OlouN7a2/vSP//Cnf/pngTd70ze95cEPWy5XChkMtgEkSa3l5ubmNE1PfPKT/viP/2Q9DBsbGzBNrd155517u+f3D/YB24eHh6/0Sq+0tbV1cHgAkenW2tNvve3SxbPL1QoQnDt37vVe7/We9OQn/93f/QPwh3/4R2/4hm/wK7/ySw9+8IP+/M//AnDmar2+9+57L168iMRlkqRwejbrW2tPeOKTnva0Ww+Pjra3tgCbYRgAxHOSM4dxfPJTnnbfPXeM0wRgHxwcrI72Dg4PAEl7e/vn7rv7nnvujQjsw8OjRz/60Rcv7t54ww2L+bxNDbBzmqYnPelJ9919e2sNQGqZb/RGbwRMrYGAqbXMtF362dNuvfVN3/yt77nr9mPHjl26tAeIywTIXGEhgZAQEgiEDdjGgACEjW2DQQjE/SQBYAMGQEIAQlxmI0CyjQGMbWMDEiAAYwMI2WksSZJ4ACFAAoGQMAA2NiDABmEEgG3b2GCEJBASxlxmwLaNbWwL2QAGQAoewDYIMOYKgYRk80zimWwAhGQADDYGAwhAMs8mCQQgDLaxwdg2gMFgLhPYXGEbAyCQJMDYtm3bPJMkIXGZJEkSCAFIAknczwYQmAcQSCAsBGAAbGNjMEIIEAKMeRYQCgQYGzA40xgwBmxzmXgOtm0DAgEgKSIkQXzhF39Ja1Mp5SM/4sOhRYgrDIBtGzwO4/GTJz/0wz7kXd7t3d/v/T/gkz7h47ePHRuWq1OnTn31137tIx71mB/+kR8DSil933f9/C3f8s1rrUBmnjx14rM+53Me+ZgX/8Vf+hWg77uuq7fc8qCXfMmX+N3f/V3gKU95yhu9wRs+6MEPfbVXf9UnPPGJwPb29j133/2Kr/Jq7/sBHywEGGyA1lrp5h/9UR/xiZ/0KW/ypm/+IR/8QbfccjOwtbU5X8wBAYAACcC11q7r3uld3u2VX+01n/KUpwLXXHvNL/7SLz30EY/++m/4ZuDYsZ2nP/3pL/vyr/S+7/+BthXR9f2ZM2de6ZVe8aVe6qVms35rawuotfZ9/47v8m6v8Cqv/rSnPx3Y3Nxw+mVe9uVuvvlmGzC477vtne2IWB8dvvzLvezbvd3bvNTLvNzv/8EffugHfxBkRADYYIyNJCQQAMaWACMhAEnGBtsIJCEhQEg8k7lCGIQEIMAYgwCEJADE/cQD2ZBOMACWAsBgc4XAxjZgg8ECMICExDMJAQYMSCAAwLYNgMGAQAIJjEEgEJIAgQAshLjMkgAhITBCXGYQABgAGSMBYNsYABvAxoAFtrGNscHGAAYQ4n4GBIDBxgawQeIKAUhghDEgQICEQBgJgxACMPczSIBBCGQQQsJgEADifgZAPIu5QshgGwE2BmMA22BjY60O98A2gIR5JgEIPE3T5s7J7/7u73yf93k/4Ld+41df+3Vf5+jg8DVf+/X+4i/+4uVf/uX/8Pd/J7MBrbWNrZ3f+PVff/03eCPgfd7nvb/zO7/raP9irdU2EjYA2EYCC/Wz/i/+4i/7vn/Jl36p1eFSofvOnj06Osr06VOnTp44vru3d3R4dMP11+/t7y2XyzNnzrTW7r333tV67fSZM6dPHD9+4eLF1Wp9/XXXXbh4IdOnT5268+67drZ3Njc2Lu1dGsfp2muu2dvfO3/+Qtp911133bUABizJNjBbzP/6r/5mGMdXfPmXG8cJceHCxYg4fvxYZgLYIEChcZzuve++aRqFrr/+uvl8fu78hcPDg9Zye2vrmmvO7O1dOn/hQjZ3XXfj9de3bHffe9/1116zd3Cwtbl5dHRk++SJE+thuOfee8dxlOLG669fLOb3nT1Xaz158uS9Z++bz2bbm5vA4eHR3v7+tdecMXS1Gv7yr/76hhuuv+mmm9bLpRRgAwYhsA0YxLMIIQTm2QQYC0CAMVgE2AZAAJIA29hcIWEDkmwknh+BzXOwLYQABEgANmCDeCYDRgLEM9kGSRgEgAEQGLABSQZAyBgbCRACgxAYBAYAGwRI2AYBCAFgjDEIIQTmMttIGDDPJGwLIZ5FYAOWZAAEBowEYBAYAHGFwFxmEBgASbZtC5AkCRljAGNAYCNhgxAYAAEIAGwDYAAEICRhjIV4LgLzbOKZDGAbQAiBbRBCWh3tCQwYBLZBXCYJpmna2D7x3d/9ne/zPu8H/OZv/MrrvO7rLg8PX/O1X//P//zPX+EVXv4Pfu93MhsmnYuNjdd53Tf47d/+nePHj//ln//JQx78oNVqJQkEgLmfeabM3NjaxCyPjiLCdtd1JQIxjdPUWq01FMM4lFJKxDhNQN/1igBP4zi11tWqiGEYuloljVPru25qU7YstZSIYZxqKaUWwJnDOAqBDeKZMj3f3ACtjg5DYai1CMZpEiBhwICNQl1XpQDGYcjMWmsphYicpnEcSym1VsD2MI6Cvu+HcSwRLbNEAOM0hdT3PRIwDIPTXdfZOU5T33W2W2s2UaKWMgwjYCxpttjIcVgPQ4liLLC5zJIAGzDPIgFCxjwPIe5nLGQsZCwEGAsMAgMGzBUStiRzPxtJPJsBwEbCRuJ+QoAxNpKQMQaMhA1CgIUA20iAEMJpBAYhLpNsCyGwbQAJEBjEFQLbIABsJAADIMT9jAFAiGezDQLABhlL4jIBYBAAtpEEIGMuEwAGgQEbCQDEs5nLbAAJAyAwEkjYBgxCYBCyjQCEwAZASBJgGwyyDYCRBCAwiGeyQQhAAIK0JQlxmW0AgQEjAQBQuZ+EbRswEiAwmOdkABtjwDYgGNu0uX3i+7/ve3/7t38H+LiP+eiHPOyRh/sXa6lgAIExYCMJQMYhHe0fIiLCtmAYBtuShBSapgkQtNba1CQBq/VKXCGFpmkyRMQ4TgoB62ENSJrGcZIkTdM0jCMYiAhj8Uw2CEUsDw8xUcIgmMbJEMKADQiMJWGvVmsBIAXSOE3jOAGSJLWW07QGAxFhs1ytQhozBWOmQGB7tVpxmSSkYRyEQhrGUZIAka2tW5OEHRKwPDwQlAiwbRAYQDIIJGyBQWAMAhAYMM8ksJHABiGezYAx9xNCkAmAJADbSDZgSQZJBkCSba6wAWwAAwYhbBsLELYRGAlb2AZhLIS5TBIgYduAhYxBgA0kCIwFQuaZDALAABYIzBXCBnGFsRACG3OZLQQgAAkMAEjYkjCIKwwCwIAE2EZcZiEbhBCAzRUGARgwYABJEsgY8UzCgC0kbMA2Alsg7meQMAgwxjYSMkjYANiWwFxhAxLPJLBBxgDGssAABgHGgAwCwK7YBsBcJkA8gACwzWWZCTLGBpy2bej7/mDv4ud87ucBj3zEIz7qoz5yXB2UUgAQAmPABjAIcIkASkGS7YiYpikiSinTOCok1HV1nKYSkZlRAmitdbW2TEFEyWyWBLb7WT+NU6mlTVMpJTO7xWKaJttAUbQ2hRQRmZm2wNB1tbVmU6JEKO1QGJytRrGNDUTIttMW2CGBEIBAEdgACCyBJGQwACFxhSTARsIohI3EZUKAjSTAgAEEGJBtICK4zCBJAAIMAhsEmCskAGMZwIBBCGzAtiRsy9zPgEEIbCwEtkHI2BAmkYSMkQAMQmCuEFiAZLAtANuWhEEIAdgCAGwEBgQgCSNsADAIbEtCMgACc4UwFmAQIDBgJIMAEICQuUwCy4DARhLYBjAGxLPZFg9gAxiJZ7ORDAIDIMkgANkAGGMJhBASgMCAARBXSCBsjLGQQthGgAEBwgbZSGAkgY0BcZkBCQCwAQEChIwBCQPGgLGMJYTAwkYA5plsCwEYAgADqpJscz8BSMI2IAABEcFltRbaVEsppQKKiIhhPcy2T3zRl3zZU57yFOAzP+PTto+d2L90vtYKKIQNgAEAYei67u677xnGaRyG5XJ57PixYRjvvffeu+666/Ve73WO7exkZtrn7r1w6tTJS3v7Gxsbh4cHaW9vb6/W45133tlau/7662qtfd8BEXH33fecPn367NlzJ06cuLh7aTabP+FJTz554sTm5qakzLxwYXe1Xt14ww2lRN91xqWUe+87e+zYsVorsH942NUuIp7y1KeVUm65+WZE31Vn7h8c9V0/n/Vpc4UABIBtsBAYMAA2YCQwABLGRkLCNgiBwCBsJGwkAWAbhCQwCGwADNgSBmHABkDGSJhnsyVZABgAybYQEs8igYUADIDAGEsCAQIkA2AMwhgjrpC4QhJgGyEwCAFgJEncT2AAIQAQAAIjCQwCSwCAAUmSsC1Jkm0BAmQShIEEjBAIA1hcJjAgYwEgBIARYK6wBVIYc5kxAsAACBDYThTYSEIIGwDxnAQGwCAuE4AAxGUWsoxBABgwgBASOFOSuMyAQSCEeCbbEhhJXCEwxkJCxgAGsCwExhZSkDYgMAaELISQBICxQRIgZBkDIIBqm8sMAkm2UYjLJAnwtddcw2V/8zd/91qv8wb33Hv7M57xDODMmTO1n5fQEx//91/+ZV8JvPEbv9G7vcd7tXG5ubkpNE1TaxOSsBACMNgupezvH/z27/7e8Z1jJ0+fXGws7rjjzsVi4zGPfezf/d0/vO7rvUEbl096ylP//M//8rGPfcwzbr211jq1xJ7P5894xjMe8YhHdH3/B3/wB2/wBq//4Ic+xG3627973D1333Ptddc9/vGPv+GGG+69796d7Z3dS5euveaaS5cuHT9+fH9/bzabz2az3//933/913u9hz3iYW0cn/rUp//13/zt8ePHM9tsNv+Lv/iLxz72scM4bm1tbm5u/dIv/8pisbGxMe+67slPeeorvPzLveSLP3a1XgtJGACDABACGXOZwEIIsIQNBiQZJPEsAgMGsEECkDGSwBgkwIDAEiDzTAKDQQIEIEA8kwziMmEQQgBCgLExSAAYkHCCACQbySAQWIAwzyRxP4FBYK4QD6QQFgIbMGAsAMQVEoCFEGAAzHMxYAPCGHM/YyQhZJABJB7IAGAsBBgLITAgsAEQWMLYRgAGAWBAPJMQQuIBhBDGNhIPYECSbYQkDBjANggA2wAYhEEYYwAJAwgAA5Jsg0HYksxlApAwFkJgHkhgkASAwQaBMZYkY4MQGAQgC8AGQAiQMMiSZAxggmexAdsAtm2D7YiY1kcv93Ivc+bMaeBzP+8L3ue93+ut3+bt7733XuAt3+LNQar9V3/t1+8f7JdSnvGMZ7zxG7/RG73xm7/Jm77lq77Ga//yr/7afHM7M5GQQIAkALuUeMmXeImHPPTBx47t/NVf/dXm5ubBwf4Tn/CE06dPP/UpTyzd7PDgcL1eL4+Ozp07t7e3f/3119944w3DsL7mzJnt7e3NjY35YuOOO+962lOfrlKNGyDSuV6vH3TLLSdOHL/hhhsMD3nIQxYbi+VyVbu6ubW5vbV9z733PuVJTymlANM0XXfttecvXDh2bOfYzs7Ozva11177oFtuWS2P7rvvvmM72/fcc++JEyc2NzbuuedeIrAlDAKBwAbbYAxgrhACmStkAAzYdgLYtgEDEmAA2+Z+BiEuM4AB2wYhBGBACkk8k0AgwAAYA2AbMJZCCGEMwoANxmAwgI14NvFAQgDifgIMgHkmISEQAMY2tgEwGAQGm8uEuJ/BgMHmMgGAMFcIAIO4zAYDGBtAgMA8kzGI+xnE/YwxWIABDADYGFsIMJhnksRlBgyAJGQAEJIkcZlBPIslCbDBBrBByGCDkABhGxsLcZkBg7ifjJGQAMA2BgwYkDCAENiY+xnEs8gGYwCMbWOEjG1sY2Ns22Bjc5kNgABjMMZaHV7iMmNACEASlwnM1NrG1rEf+P7ve/f3eC8e4M3f7M1+4sd/JNs039x5ozd8o1/9tV/jeXzt13zVR3zkRx/sXexqNRYASNhAy4yIzCyl3HHHXTfecP3+wcE4jtvbO3fcccdjXuyxT3jc48+dP/9qr/LK995333w+6/seVEq5eHH3+PFjrbX9g4MIXbhw8REPf1hr7a677r7+uuvOnjt38uQJEDBN0zAMW9vb0zjuXrp03bXXrFbro6NlRJw7d/ZhD3uoM+89e+7aa65pber72e7ubi21n3WAzcHBQdd3f/Znf/Gar/5qF3d3NzY2NhbzTEsABmwQAsAgHkgIDBgwgLEACVuSDYAAMAACwEbiMgEIDAKbywwYJGHA5gqBhQDEswhsDOJ+QsaSbAsZYxAABoyEASQMQmCQMYCRMM8mZMwDCBkLzP1skCRjgUEAmGcTAowBAcgYEBgEBmyQBBI29zOXGUmAMfcT2ACSAMAYAAQgwJgHENggAAwCwEgA5gEMgBAYhMCAQRLGWIAEYGwDCACDADAAAhsJAyCclgQ2FoHAgCWBbCMAgQ0YhLhCyCCusEEAAowxEiBjIWMuEwLAAGAjiWczV0gYAIFtEDIGCbQ62sPmgSRsSTYIDJDOxebWn/zxH//wD//IHXfcubGx8Rqv8erv8e7vVmsZ1sNiY/FDP/xjf/Znfz6fzxAlClJEDMP6Hd7ubV/2ZV9mebSUhBDPIkAh25Ls7Lt+HMdSClKbptp14zBGqHZ1HMZSa2ZmJiBUamlTQ5RSnBmljOMI9F03jmOttbUEGyRFRGtNUillHMeQIiLtWsp6GEB9V6epIeystbPttDGm1jqOgyEiSkTLdCaSADCIZzLPJLABJJCwAXM/myskQGAQMsZGYCQZBCAEgAEDBvFMNggBYAMGJAG2kQRIXGYbwAAIQGAQMoABAcgYwEhcYYMkAJtnEpjLDAKQhG0AJNkWGLABEFgSEgaBAZvLjCRjgQEQgADAmAcyYACJywQgMGAQMhYCjAEhrhC2hYx5AIERmAcyAAIbgUECgcEgABtJABgwCIEBEAIQz2QuMwgAIwHYIDslGTBgEIDABoEBEFcIgcG2EAAGgZEwzyQAgQGjEDbImPsJgQEbBAgsABkLjMCSAAADBpAwgDGAkQQYC2l1eAkwgIVsSwKBuUICBK21xeYm6qBBAYblftoRkZnzjU0oPA9Pq9V6HQpjgSQuMwhs2yiEsVMRYIwk21IY25YEALaFkMBCgG2EbUmAbQFIkjGAQUiyDQgA24BBYIMIySAwAELGgI0wEmBbEgAW4pkEBgxCANgACJCwbQNIADaAJASAbYMQ97MIY0AS5jKDELYBgQ0YJGEQADYSBkASgAGMMYgrBCCwAZCEASNhjAEhAAyY5yYwCMyziWcRAhsEtrnMBoEkwCCuEAIbBDYIAAMGIQCBuczmMiMBAtuSQMbimQyAkLEAxAMYwAAGQDyTQWAQAAYBYBCAAGQsZCwwgATGAhCAwDZgJO4nAAwgYcAgAGEbA0YCBIANYFsSAtsgACEEQNpCYAAJ2zyTJACDAAQgsAEQVwgBYIOMhcCAARBCYBAC2yDAWAhswCAwEiBjQKujPWwusw0AiFAYMGCukDIzM0OyAZdSJRkLptaciQABGGOglBIS95NkG0nITq6QAGwuk2TAgJGEjAGBQQiBMZZkIwDbRgIEgA0YSRI2km0h28aSAIEBEIAABIBBYADbAALASFwmMAiMBGDANhJXGGFLALZBEjYIgUHItgRgGyRhEAAGARI2CAADthFCBmxJgA1CAALzHAQgMGDAIAAZCwxCxgIQ2IANksRzs0EIgW0QMgaEjAEMQpJtAWAQGDBgSQCIy4wFBgEIDDIWgHgmAwYBYMBGwoAlgcAAiMuMAYFBYBBCYJ7FGMCAQUhggbmfASMJ2QYkLhPYgAEkbBAYxLMZAJAwAOIK8UwGQIAxNhKAkcRltm0jhMAgMAAgYRAABiEAbAAwgAQIDAIkDJjLbAAEILCRBNgGEIAkbAAJwIABG0kIpxFCtiUBCGytjvawAQM2IMm2JMC2JMAg7icJzHOyDZK4woAN4gEknsUYCwAQAgMGkHguRgLEZcYAIMT9jHkgg7hCEmBbyBiDEM8ihG1ACAFg7mdzmUEAGEkIDALABoENkgAM2CAwAAIQ2IAtyYABEBgwksAgMAhAxkLcz1hgBGADiCsE5rkJIYSMbQsMQmDAPJAEgAEbAQLEMxkLgUEI21xhI/GcBDaXGUASGIQQGASAMRYCjIVsIwBsJIyEQWAewEbiMgFgLjMAEhgQgLhCANjmmYSMBTbPYiyEwADGAhDPIp7NAIgXhSQMArANCIFBxlxhEFcIgc0D2AZJGEkGbMSzCEAA2OZ+BiGuEAA2AAIEFgAGQAgwxiCEAAQGgbnCNiDJNhgJEEJgAK2O9jBg24AkrpBsAwIkO22DAAESgAGDjAHxTObZxLMIQGADBoENAhBXCMwzCUBgEBgEBoFBgMAYAIF5NvFMBjAW4jIJ80y2QWCQuEw8m0EAmAcwEmBbEoABJBnzQAYhMJcZAPFMBoyEjcSz2CBjIcSzGcRzMAgAA0YCMIjnJEBgrjAIG3GZwDyAwGAjAQIDIABsI3GZwADmMiNhI2GMhRAYsCQDgA1CCAEGsBDCNmBbCDAWIPEsNggAENggBOaZBGAbAEkAQgiMAQwCYwBJxlxhrjDmMgFgBLYdEogHMAjABkmYZxIABjCABSBAkjHPJDDPybbASAAgAAyAADAIDAKEjRAy5gojCWzbIIQAMAjAthACY1sSQshYyBgQMsYAxpIATJSwLcm2ENgGLMkGAQgkpS2ogASIywziCov72X0/i1qxeSAbCZsHkgCcGCTE/cQVBozEFTYSNhI2Es9BYB5IwgaQuMKAeRYJg8DmCgkDRsLmuRmEhI0EgEHYPDdjkHguNoAEAiNhYyOBwLxwEoCNDSBhEM8mYfMiMQACQGAABAZAAAIbCRsJG0DiWcz9DIAAMBI2zyQEBsyz2Eg8i4QNgAEQNhJXSDyLjcA8HzYSAAYBIDAGzHMQGAAhIbABAAkEBjBgAIlnsZGwkTBgAIPAIAAM4vkRmAeyERgQGIlnkbjCBkAIDDIA4gqbF52NBAKDkDHPZsAgAPGvYMAACAkxrteSMlMSxiDJYECIK2QjhKiAbcAACGxLwlxhu+9n//C4J9x6621939kGQiFhk04AZBusiJBAYAwCANmWACRJsg2AbQAMAgS2LVCEUMu0U5IkSYBtG9vYCkkCgW1CsnCmDSCBnbaNbUNIJSJKCNk2BmzzLDZIEQAYwCAJLMQz2SCwbacRRAhjkCQJbNvmMmdaIqKAuczptAEJSTaAJAlJXGZjJ0jCto2EEGAcEUDazrSRJAEC21xmG0kSV0iSlDY2YAO2eRYJKQAwEBGgzLQNSNg8gAEpwLZtSzKIZ5GEETgQEmA7M8EgSSUCAdjOzMyUJAnAGCSkwDZIALZBkiSBARDYthSSENiZBgMGjCQJkIRtQJJtwLbTCElI2EBIChnZBsAYSZIk2eZ+aWMDIDsBSZLSmWlBRBgwYIMAKSQASBsbMAgMTgMRAlqm0wqVCCFjUIRs25YUkgHbGGTbtiTsxJiQkLjMNgZJAkkACBBCSLYB2waBjYTBmaWUo8ODz/2CL/me7/q2F3/xx66Wy1AIGQsMQoCxBAYBaHW0h20Q2EYIAQaBAYiIg4PD5XIVEXZiFCFIJygkhG0ABAgsBCBjITtBABgEBiGwQRK2JRmwkYTANmApEBgwCGxjWyEhY4wEALINgG3AIMA2IEmSJEDCxjbPZgDEZZIABAYbCTBg85wkDBhAgAS2QQgAG7AUYMDmmYQAsAEkcZmEwWlAEmCMkSQB2CCwQcaYF8wgrhBX2BYCDIAAkAABtpEEksxlNmCMAYyFAAkQ2AYBgARgA+aZJIFxKGzb5n6SjLFBto1DAoF5JklcJmyDsRCXCZCwzTNJAoNsI4TANghskCSwQcZcYdtSgAEbCQBJCLANRhICg4wx9zOIK4TARiEAYywAcZkxBhAggW3ABiEExjYQEWDbhlCADdhSSNgG2ZYEALYBMAhwpgUmIhCAAGQbDIAAMEiSJNuAMQYMAiRsAIWmafqjP/qT133t1zp+fGdqDcCAJfEcBCAwWh/tcZnBtrhCYC6TZLuUEqU40yCeSZJtJAFgG5AEshNJIMm2QQAYC9kGJBkESNggBAZhW4DE87IBJK6wASQuE7ITQLItBAaQAGxJBmwkLhMYMJcZiQcQ2AASNogrxLPZIABsAIn7ScIYc4UNgBACAyAwCABjzGVCPIvAPCdzhSRjABtA4jKBDULIGBAg2RZC2MZG4n5CgDEPZJ5JYBACG8TzkACwLclYYMBIXGEQMub5EQA2iGczCGwkgQ0YJGGbB5KwuUwSYBDYRsIGcYUAJGHABgwYCbAtACTZ2JZAwkbCNpIAbAvxLAKDuEIIbAAJjIUAYwyAeA4GgUEAApCxeCYbCdsGIQABYAAEBrCtEPezLTAIkDAAQjw3GzASDyAwCKnO2nA0TU0CBBhzmRDCthAYBFQbBIARz2QnIAnJNqi11loCdiJAQEhpi2czCMwzCUDGAiSMscCALckGIcRzsEESgI2EDZJkDGCDwAZxhcAAyFgIMAaEjIUQGADxHGwk24AABCCuENg8m8BGAoQAYwwYBJbCGBDYIDAAAhtAEs9kwCAwCAAbicsEBoG5nwEkDICQMSBkjM2zCYGNxHMSgADbAAIbQBKAjIW4QmAuM8g2GIlnMQBCyBgAMIgrhABjQAgAjAU2CAyYZxLYNpIkbCQAA0iAwDaAhAGbZxIYkMRl5jkZBIBBAJJsc4V5bgLAgJEADIDA3M8gMIDEZeIKAWAbEELYIAQYY55JCNkGg8AAEkbCIGQbDCDxXAwCAyAApyUhAIwxIAQgAAyAEFcIAAMGDIDAPJMQtNUqSkhCYIMEBiEAEIABY0Crw0tIAtsgMGAMCPFskrBBCGzAXCEJDNhIAhuwJC6zQQhswIBtSYBBSMIgCdtcZoMQAvNMApAxgAEbhCSBDQIDBiEAbCNxmZCxAAQGGWMkANsACIwkhMCAuZ8BEBgEILC5zAASAGAQl0nYtiWBwAYhMAhhW2DAIAQgsEE8iwCwQQAYhLhCYJvnIDBgJC4T2CBAwiAAbAM2IAVXCAAbBAAIDGAbQADifhKAAYwFIACQsA0CwCAAAdgWAowFgG3uJ4lnEthG4n4C83zIGBDimQwYBAZACGwABEjYIACBucw2gARgEALzTAKMBYB5JiGeySAAQNgWgAAE5jIbAIENQggA82xCYIMAMGAAxBUC20biAQS2JQEg28aSsAEQgMBIAoMkbMAgnskgYwAQAoN4JvNsMhYYBEgYwLiCBCAwGACEAHOZkUAYELa5nwEQGLC5zAC2ASNhIwkACZsrDAIB4grbADYIBAhsAMT9jI2EAAkwtiUENgLzLEJIsi0wFgDGABhAGABzhYWEAAxgEBgAcYUEtiEBEAJxhUFIYAwIQIBBYBCAAQAbMJcJwAAWEgYMGGQBIAQGBMaAAIQkG2SMQQAYCRDPJGGQbQGWMc8kiedgnk2AENgIIQAMgMAARsIgC4FBYAwGMCAwFuIySdiAAAlbEpeZZzIIAxIGIQnbPJMACRswGMAgAyCuMBaAEPcTQmDuZxBXSMLcT2AbjCQwFggAA0YSGAyAkDAAAhDiWWwkAAvMFUIIDBgESBgAAwLAgAEDWGDACCQuExgEBiQbBFgCBIC4QgAIYwAMAkBgEGAbAWAkwAAYCbARGABhwAAYZNtIwq6IZ5KwAUmAQTaAQAKwQeIBbCTANkYCmyuEQcYgY8xlBgGSuJ9tACEASbaRsG0k2QgZg8BIGDAIAQZsIRDPZAwSgG2BQchOEAIDlgQYgJAMgAAwFthIPJNtSWAMSAJsrhCATGIQIAHIabAUxsYYxDMJGwyAwCAeQGCBMQhkLAAZY8BItjEIARgbABkkDAIwzySeSYAABLZAwjyTuUxcYSBBYC4zCBkLAxhwGiEEBsAG2RYYMAgBGAuMBBgwwjYSVwjAIAziCgHCPIvASLZ5IGEucwIgiSuMhWwjGcsyxoCNZRAARhLGGAOAbUsyYCdI4n62EQKDMBZXGDAIzAPZICEALEBgAcIAtkEAAsBcYS4zFkJg7mdbAkDCABIYZIxBIJ7JSAKDwFwhMCAADAAYxBUGQAYsnkkIEAaBQYAEgFQBGzAYCWMbAAEGSZja1ZBaSzsVysxsKUkSIAmplBinSVBKAVprEiWKbRQhTdMkMGAjgcAgiWexzbNIBgQg7mcQIMyzCUAIEDYgHkBgYwBxmQFjjCQbhBAYCQMYEAYMAgmwMZZkG4G4nwAsBGAMgCXZtlMSgDBgEDKXGcBCCAyAMQAIFAHYFgAGIcQVRojLBJbE/WyDLAtsJBAYAIG5nwSAhA0CwICRMJcJAIGNARuEQYjLhBCXGQlkG9sgCQnM/WyLZzPPIjAAAiSeg0HczwC2QQDYABKADQghAAzgrnbTNJVS0ymuUKkhZLAtmFrram0tkywRadsWqrW21iRZqqW0aSq1ZmullswEWqYQ2FiIZxEgAAPGINkGAAGADQA2ElcYhEGADcJYAAIwSGAAkGQAjIXACCywAGHuZwMG8QA2EmAsBEiyAYS4TAAGkJyWECAwIADEs4BAq8M9nsnmmcQDSCFd2tsfhrHvu1rrOI6z2WyxmE/jlDaA3TL39w/OnD6JdHh4lJmbmxtpL4+WXdchDev18WM7rTXbkpAwYJCEjQRgA+YBJCHZFgA2iGcyYIMQAiPJGBCyjRCYBzBg7ifJNiCFMSAAbAMgrhCAALABIwkAAyDEM9k8k8Agns0AYCSuMJfZSABGwoANSELCBoFBxoAAQMI2iOciY+4nMIgrhMAgAAwA5pmEAGEbCwwCEM9kwEbiMgFgEIAAsEEI21wmrhBgDGAjCQxCCNuSMGDAIJ4vITBgAAQGDAIDNpIAMGAkjEEXL17a3t46PDo6trPTWouIiNjdvWSnIkopmXlsZ+fSpb2dne2QDo+WpcR8NmvZ9vYOju1sT1MzPjpanjhx/PyFi1ubi8PDo9lslq3t7Gy3TPEsAiMJQMbYIAAwxiAwCCHEczDGQoAxIGSnQQACEBgw95NkEAIbACHAGBCY5yAAgQEQ2EYSYMz9xLNIIm1AYBACjAEAIwkAAxWBAQMYhBAYACEyc7ax8dSn/e0TnvTkvu9C5dLupY3NjXd/93d/8lP+9m/+5u9Pnz51tFxGxN///d+/9Vu95WMe++K/+Cu/fsedd73yK77C2fvOKnTvvfeN0/ioRzz8NV7jVaejSRJgWwACG0kYMM8kYQDEsxiEEGDMs4hnkgBjJPEA4goZg7lCAgwAElgAmCtkDAYEGJAFBpAEAgPi2YwxiCtskI0EIEDYgACBQcIACrANYK4QYIMTJBkECAy2ucJGsg2SAAwCDJjLDCALbAksBAZxmUEAgBCybQwCCyEAbAMGQNgAyOIKAzZCIAAD2A4JBIAN2EhIXCaEwAiwucw8m43EAxhzmQAwl4n7SUBmIoSATOaL2ROf9NS/+dvH3XTj9bfeeuuNN90InD9/Qfj48RNHR0cHh4ePeMQj/vzP/+JhD33I7t6lN3/TN+7m85/+kZ98zKMf8Uqv9EoX7rn7m7/1u97x7d7qHx73hJtvuekv//JvHvtijz48PNzc2Jimtrt78ZabbnqFV3jZabWSAgwYC2EbwCAjQAAIWRYgQADmAQyIK8xltgEBCAxggQEDIDAIAIMAMBYSgMAYAAFgkMDmCmMQthEYYyFJXGYQToORZAzYRggAG0kSgC1wYAM2BgkBAmSMwBY487rrrrnummtOHDve9/3e/v4N118HrNfjP/zD4/b394+Ojtbr4frrrt/dvQhM07RarR/3uMc94xlPv+POOw8ODl7yJV5ivR4wSJKQQgLAIIxtAIEAsMESQiDbAsAYLIQAEEhICAwIhDC2k8sMINtgnk0ANjYIYwMYBBjbADaAJAkAgxGAMchgAxgbCyQwYAAMAgxgY/NMxoBtA4hnMlhcJhAIJIQBDIAAJAADiGcy2AiBJUBIPIuRBEI8k80VAkAAthEYMMgYG0ASSEJgwAC2wVwmSUIgAMQD2QYEkgRC4grznAwC8UwS/xKBAINAIGmcpkwjIQFE2d/bf/EXf2wpcezYsXPnzu/v7y+Xyz//8784dfLEddeeCWlrc+PWp996w/XXbSzmy6OjaRh2L+7ecfudtCFba5m3PuMZT3nyUy9e3N3Z2b7rzrsFd99z79bmxsMe9pCDoyMA2xgE4tnEZQJxhcHiChnznAy2AbBBSCABQgJAIAkkkCRJCGzbYPFMkoxBYAMCwACSuExcZsAYBIAQAoyNAWGQkCSwQCAJACEhECAAgRSAsYQQEgBIEoENIDmzRFxzzRnbwq/0ii/3Gq/+quSwtbXxaq/2yjfdeMP+/v4115w+d/7cNWfOgLe3Nrc2F2dOn7rh+huuPXPmYQ99yH333ru/v48E5jJzhYzBkgBsDAhAMhiDMeYyg20MRti2jS0ENgZjBEgIQMg2zyYkAISEBIC5wtggJAQgIcAgIQTi2SxQCCTAGGwkQIAUQkICGwEGg7lCQojnIBCXCQkEAgEIDAgEkhDPJBAYwE4bQBKABJJAAMbY2GAQGMAAGAwYkBCyjW3AYBvAAgSIB7DB5goDxhaSBDJGgAxGBsAIQMIASIBBEs8kgwFkAIFAPJPBBjACENgYJNm2zWUSOU033HD9E57whNlsNrXp4Q9/2Hq9fomXeLGXf4WX77puZ2dnNusPDw9e93VeaxiG3QsXp2nKzBuuv3Z/f79l67t6y803zWazl3v5l66lTNP4Ei/+mL29veuvvebw6OjixUur5RIAAWAwAAbxTEY8JxmMJSEQ97NAkgEQGAMGhAAAI4wEEgIBCEkRIHM/Iwlh7ifAGDAYiSsEgAAEAolnMQbAgDEIBAKEEIAQxrYBwGh5eAkjYQAEAJLABowEFoqIqTVJESVbAxQBDmkYx1rrMIzzWd9aM870YjHPdGspsV4Pfd9h20bCBgzifhKAAXOZJIMQYMwV5n4GAQYBAhsENkjiCluSQQAYJGHASNi2kbBBiCuEwDYIDAIQzyIAzGUGQAgAGzAAAsBIIGEbMM8kxBUyFoB4JoMAY4wksI3EZTIWIGGDwLaRAAxYEmAbACGuEAAGIZ7JAAiMhAGMMZJsA5LA3M9cZgOSDALAIAkDGHOFkTAIDBiEuEI8kLAtMEjCIDBgwDyTwCCeyYCRBCAwxiEtV6taaymF+5VSbEfENE211tZaKRFRpmkCTdPo9HwxH8cJiBAARMQ4jiUi7a7rokQbp5ZZSmmZJXR0tOr7rkSkbVsIbBDimWwAhBDYPJPABnGFeCaD7JSEBGAQADaX2SAAbEk2xqEA8wAGARK2ARAABgwCEIDABmxAEpfZSBgEBgAjYVsKAAyAEBjbkgAECKdWh5dAYBDPZCTbgBACENhIGLCRuEzIWMhORTiNACS11oQQGIUADJgrJAAbCfOcjCQJ2wBgwDyTEBhAwoCNBGDbBiEASeKZDELGAhuEEAIDtkEAGDCAxGUCg8A2ErYkEGAsnskgAIFtEOKZDAIDBowECEAGYYPAAIhnMwBCYIOQsXgWGQvxTAaBbSQAGzAIQGAACRDPZBuEAITAAIBtxBVCYAAEGAPYIACMhC0JAHGZMQYhZAxgEAIQz4cNQmAQgAAwCBsB2CBkGyEwCCEwYAMmIpbLZa211mIABAaBbSQbCcC2JNuSBGlLEhgEBmwkjCQgMyUk2TYIRYRt28aSuExgJO4nbANCYMBcZiMB4pkMkjDGQgACA+Z+BkBgWxJgm2eSxLMYMBI2AOK5CEAAGLABIwmBbSMBgAAAgQEkDBgA8bwAEYCxDRgAA9gCcZktBJK4nwAhwBiwDXKmJAG20xEhIUkSNiDxTBIGAwIkJCSQACQh2+Z+AgkJAGPACAMGBNgGkBDiMnOFQTyTASGEwBiDEOJZxP3EMxmQBJIMxsYCkHkmG7ABEAA2gMBcYUBcoXTiBABzPwkEAgkBxjZXCAwgJEAIQCCQJAAJgwEBMkYAkiQZjAEwSJIQyBjzbALAXGGweSBJCLAkAGSusDGAQVxmIUDiMvFM5gpxhSQACfFsAgMYGwBjhBAgZB7ABowlSQIEQoDANhKX2QCSbEvCGASAQWCMQRJIAAiFkAySJCFsGyNCEmAAg8DY2GADYIwNBkAAAgQGg0GADRYAYAyABAKBMNgGJJ6DACMQAAIQNsaAQAgEEgAgADDYSFxhbACJZzKYKwRgA0iAAYF4FmOw7QoSIOxESBIYsAEECGHbNoBBYIwxkhBgJCEwIMmADcKAAYyFIpwWWGAjAQbANhgjlE4JJCFjQABY4goLI2GBjSUkgbnMArAtBLYFNpJtAGxjp1BCKBDPIgUYABkDQsZIGGGDAGTMZUIIYyHLBtsAljGALckGAdgpSQjARgACDBhkjI0ERhKAQQIEtgEQss0VEmAjyZjLBBjAspAQlxnEZcIGYwEGMAZJJmUlBiSMbUvCIIFBIIlnsQ0gA0LcTwASBhAYEBgJYxsAA04ACYwQz48ADBgLsAAQAgMgAUi2wUCEatTWmiQEgJFkZ9qlVmfaTltcIYkrDAKMEAC2QQDGgHgmCSMBEAoExgCUUjKbjW2wwSAEYBCAARACAwZhEJcZCwEgnklgJC6TZBsEZDYpwCABwggbQNggELaxQWAbQGADBmwkgcAGY0AAQmBA4jKDwIABA6YCCIwUYAwSGAQWALZLlFKKbQQgSZLtcRjt5DIDIAAERhIGDJIQ2LZC2AASlwnVrkZEtpRIu0SZWmvTZJnLzHOQZMyzCGwIZGwkAAMGASAE9nw2y8yIsJFoLUstwzBkpiRAAswzGRCAAWzAgDFGiGcxIISQFSVKKc5EkoStiGxNinEabUviMmOEEAAGG4QFSAYhHkjYLhFARLEdJbCBcZoACbCQbYQQYADASCBsSRgEJkTtextAYIyZpql2nZAhMwVA7WprzXZrDUA8kDEYyYC4nw2AsEE8gAQAs1mfaTCS7YjItADRWstMQDwfQjyTAYEByEyX4H4RMY7T7uH+1tbWMKxaa0glYhzH+WJeS71w8cJiPquldF01CMSzCGwsxP0kDELGAAiwE4S4YpzaNE2llAhJOjzcn836WgoAkngWiSsMAjuRcCKBAAxYAEYAGMRlAgNCtkNhDJrN59kS0VpKYFpmKSUigFKKM5erVYkAgQFJIDAAAhAGAZIMgMDczwZJgCSwARTCxnLlgSQAIYMwAtlZat3b27/3vvv6rrdp2VrmOAwSD7rl5o3FIjMB8UCSzLPYFoDAtgAjCWyQ4vY77jo4ONxYLFq22Wx2zz33XHfttTdcf900TQgMAsAgJGGLy2xAYLATBGAjIUBcYcAK/cmf/sWpkyemaSqlHB4dbW5unj13/sVf/DGL2SzTEg8gMMaAEAAGDALE/QwYBBgTEUdHy7vuvqfvu/V6HVEkHRwcnD55cvfSpYc+9CGzvk8nABYCELaFADASBgwYsAFJxpgScXB4ZHu9Xtda9/b2oxRn3nDDdUIAWAIwGCRhC/EsAnOFpNba3ffcVWpk5jS2CGXm9Tdcf/HcxWkax9aO7ewI2XnPvfecPnWq1rq5ueE0AsBcIUACGQPGGISQMUgAxkKAAHBEPO1pt/Z9P5/Plqu1Itar5cbm5jS1WsvW5sZ8Nsu0QeJ+4jkYAIERkmw7zWXO7Gazv/jLvzlariTuuO32vYODrquhuPHGG+6++55S6sMf8bDd3d0H3XLzi7/YY1bLlUI8m8UzGQOAQBIGEPeThIB0zufz7/3O77v2mmuGYX3Lg25ZzGdPfvJTH/bQh7zkS77YarmKEFIAYMAGDBgLJIElcZnABgHG3E8ABgEYyyGth+Ev/+pvr7nm1L33nt3f3wfAr/Par/Wkpzx1HMaDg/35bL7Y2HjKU55yzTVnLu3tv/IrvvzJkyfa1CSusHkmIQTmgYyxAAsQAoQAQAJkDAhVBDbPJEk8i7FsCGm1Xv/Jn/3F8Z2dM2euueeeew6PDsdxLKXccP312pBtgRGAuMwCAzZgW0jCBmEA2yAyc7Yx//u///u/+7t/uOnGG9ar9ekzp3cvXdpYzG+66QZPFkKIy4QBA5jLJIwNkhBgwGDASNgAwulaumEY77jznqc95SkXzp8/eebMzbfc9Fd//dcPe9hDNheLlpOQARBXCBkjAAwCYxC2uUISiCtsd133tKc949Zbb1ssZnv7B7c+/dZSq/CJ4ydU4sSJ4zfecEMbmyTAWAgjnkkIA7ZBCCxxP5va93c86SkXzp9vLS9euLBaDzfedOPtd9z+Jm/0hseO7bTWJNkAAhA2tgEQGAMYCZt+1j39KXc85SlP7YouXLx4991nd3a2r73m1A03Xv9TP/PztZabb7pxb+/SNE0Pe/jDl0eHf/7nf3ls59hbvtWbLY+OgkAgAMxlAosrhAAQQgAGCQPiMqG0//TP/uLEyeP/8A+Pu/baa2+4/rq//Ku/fujDHjrrZ0dHR6/9Wq+xsVikG2AbCYMsBAZASBgwCBs7JAQ2gJStXXPm9P7BwWp59OhHP7J2VWK1Ws9ms5tvuuHSpb2tzfmDb3mxrc3NcRwV4vmzkDHGQjYgZCwAhACDpGlqL/WSL9bXuh4Gt6lNcfPNN2xubjgTYSNsLpPM/QQ2gISNBGADYIMQAEYYBGBAEiCptWlvb885Pe3pz5jNuu3t7b29vXGcjo4OnT46OhqH4Y477uz77r6z5x75iIfPZ31mgm2QsAEEgLEsBGCeRcgggcVlxoAQ2FiQGKPV0Z4AsAEjCQCDENgQEavV+ty5810tpdZhGLa2tsCXLu2dOX16Pp9nNoNAkrmfzQNJGDDPIgnZjhJ7e/tHR8t+1ufUaq1Tm0qpJ08cb21CAoRsAxIGAQgwxkgCEBjAGLAtBAYBYEUcHS0zPU1TtjaOo/F8NtvY3Jz1fTolYYyFALABEAAgsM2zCQxCAELYljSO09n7zi4Wi/U4zGdz7P2Dg42Nzf2DvZtvurFEMQaEuEIAGAQGbMBIPCcBpZbd3Ut33HHHjTfcsFqtWzanD48Ob775psVikS0lAcbYSFxhAAmDEBgJWxHL5erWW287dmxn/2B/Z/vYarVsbXroQx9y333nxnFcrVfz2Wy5XGW266+7fhjWhmuuuSZbk4QAMMbiCiEA2wKQJJ6bQYAhQk97+q1bm1ur1WoYhsViLmmcpmE9XHfdtRuLhYRBYBtJYAAEBiEENsgYCOnoaNl1tXadbQA7SpEoparMYMpxRGptKlGixDSOQBqnEZcZxGUCA7Yk80ziChkLkDDPYtz3ndMKZSYgAIZxEs9LCMwVJqUQVwgMAmxLAAYhBAYAg4B0lojDo6NQzBeLzIa9HoaNxWIYhqmlpK6r6/WwtbXZWrY2hQRCCEmAjMUzGQQgnskACEBgAAQGAcIGELYBrY72AAxCXCYBtgXmmULqus62bVBmIkrENE2ZRmBLMmAkANsAEjYIDIDASFxhEJhSikIYhG0h4zZNSAAGIS6TsG0jCcwzCYENgJBtMAACwJJsooQASZLAxjgzsQEQ9zMWGDASV9hG4jKBAQMGAEk2gKRaa2YqhA1EKU5HaBhH20LGAiQMYAwIbCTMswmBzbOVUkqprU0hIWFHKeM4OhMwz0HIGCMBGDCABGATJbquZiKBARtP41RrRQBCkmy31hQCTdPEZQKQMSAJEBgwYACEAIS4QmAQNld0Xc3MUgqQLSVsK9SmlmkAgW0ABAbxbAZAYLAdEcvlsqu11g7MZRFhaK39/d//w/XXX3fdtdeM44QQAiQhAQJjIQCIkE1rDQlbknkmAchYyBgQ4gFKiZaJbSzEZZJAxtiSDBJOK0JimlpINghsSUjYSJjLbFsSAEICAzYS2KUWkO1sDSkkSa21iEACbEvKTKHMlrYkAUiSbS6TMAgMQsYCwIBBSOIBBAYMABgLtDrcAyMBQggAY8wDCBljAGMeQBIgnsk2ErZBAAIQ2CAAjBRSphHYIGMM4gEk8SxCYIMAMABCxhhJYBDYADgdIRswCAxIYRswxiAwEiCEkLEkbHM/gxAC2wYhMAAYSWAbJEAyBoFtg3AiATYSkjDGEYF5IGMeQBLGWGAQgAzYkgx2SsIACAwSWFwhsEHIGPNAEgYhMMjYNgiMkTCEZMA2CGwQQgZwKGwDkhC2hQCEwAaBDUIA2AYhxBVCgAGwkysMAmMMkpDEFcZYANiAkQQ2AOIK2xGxWq1qrbVW29i11rvuvvfes+emafqbv/nbG66//pZbbs5MRWRLCYmWiUFgFBFSRGmtPeiWG3a2t1trAIgrBEbiMoFtSwEGGZdSnvLUp1+6tFe7TpCZEQEgZWtg7hdRIqK1vO7a09dec6a1BiBhIwmBAZAxlwkMgBDCNiCEeOpTbz1aLfuuk8J2ZtpIGDttHBE2kgQ3XH/tsWPHWptCUoQNGAMgsJEAIcA2z2RJUgC2AQTmOWCgGgthEAA2lwkAgwAJkDGAJQGSnGkbKTNDQsqWEbJtGwBFAAIbIbCBTB+tlhuLBQBCyCK4TGBJGNtgAGQSBDYgYSPZBhAPIDCg0Gq97rtOEYAQYAyOUkqJaZxsCITSSYIwFjJkZihsS4jgMkkAyCSAxGWSDIAxAAYEiDQCifl85mQY1n3fK2JYr0GIZzMABkBgGwQGjEGywGAshAKMEEIAxoABkMACAwIkAAwyNs8iY1CtBbCdLSUJjAWWAhkLEEAgkDHiMtsACNuyLAAMCMAGDAIwFuKKdAJSSOIBLAdhLAnzTEIIG5CwuUICsA2AxGUGAwgsTa3dfc+9j33Mo0uNhz30wdtbW5lpG+j6bhqboOuqobWpljKMk+1a68XdS3fcefdLvNjx1hoSNoAkQAAGYRDCGLCzlnJwcLi/f/BSL/ni4zitVqvtne1pHCWBu65vbQopohiPw1hKGYbhb//u8adPnwKDZAwCsEEAFgJzmbifDWBqV+659+xqPTz6kY+45977JG1tbm5uLjINdF2XCWIax1ICwO77TlIzt91x1y033yjJIMlYgIIHkABsgww4QUjYmOcGhgogsLEsA9ggCUBgkG2wHRFStNYiwnaU0nXdOI6zxWJYruxcbG6M66GUsB0RSMN6UIAlATZCCJbL1cbGgsuEkDPTJkpI4rII2QACFLajFBHTNJZSbFTUpmZbkkGAIEFExOHRsmyXrhTbNgqRrrWu1sPu7qUzZ06V0NQaMOt7RWRmKFarZa11ttgYlkdd12VmaykJAIEBSQBggwQGDALzTJJsL+bzlmnnE5/4lPli/qBbbn7q055+dLh81KMebhuDkTAAGAQgQBIAspHAgEFSy2YbO0qJiMzMZnAookRmZiYQERGBjSQEGDBCPIBQZh4sl4CkxWJu25k2YMAgMM8mZAwIGQOCUooknslIGMAgEALAYBtJ6ay12m6tcZltkABhG0inEADGMpbEMwljkIQAMM8mEIBBkPas7+bz2V/+5V/ZXg/DK7z8y3ZdFxG3337H6VOnIsqtz3hGZh4/duzi7qUbb7xhPptJLOZzSQaQgAhs20YIAGOBEwkjicsyc2NjY75YPO1pj7/3vvte/MUfe/LE8Wmaaq1PefJTT50+BRweHkncdNONrU2zmHV953SEQMYiwIAQz01gwJgrhCJaaydOHL/3vnN33HHXqVMnb3vGba/yKq8YEZLuve9c33XDMF5/w3WHBwctM6d2cXe37/uTJ09c3N298Ybru67aNhYgYZ5JYGwkJNkIgQEBkp0gAIEBJAmqEGAQBgkMYFsStpFAOPuuWy5X49SOH99ZLVe1lv2Dg2c84/YHPeiWv/nDP365l32Z+Xz+27/9e4959CN3dy/NZv3h4VE6X+LFXmw9rIWMAbAQYmNjgY0kgbCZb25CtHE9TRPI9jQ2ScYhtdb6vtvbO1ivh2uvObO7txehYT1ubixqV20DlmUhANuL+SwisDGIzOxqvXBx96/+5u/ms9lTnvrUl3mZl5r1fdd1T37KU/f2Dq6/4brz586/5Eu/5Pn7zv3ZX/7Oa736q91+xzM2NjauuebMNE0CQJINUmttmqbZbOa0hJABEDYIGUcpf/rnf7mzvfXox77YXXfffdttt7/Xe79PhP70z/78UY98uMBGApDkTCSBwRDI9npYz2Yz2wKDkPFicxMq4Gm9Wq8Wm5tQAXJcLZfzjQXqAHJYrVYRAYCRsuUwjPP5DAMAxrXWP/6DP2/p2Xy2t7d3w/XXv+SLP5oI1IF5JoF5JoFBPKfV0X6bJiAiuq5mawBIILQehq7vJGGEM3M+m912+52lxPXXXTdOI9DVKoXd0hbiMttIgCAiuJ8BEExTwwAIAEtcZjCXyc4o5d577+tns5d+mZd7/OP+4em33vaYRz9CKs94xq0hnT59+h/+4XGZObV26eDw1V/llR79qEeOw9AyMy0wFsIGIWOukAAhDAgwAintWurTn/b0w8PDhz70IY973BNe+qVeYmMxl/SLv/hL199w/fkLF1/6pV5qvV7dcsvNw5CZzpZIxtggZJCxMPczCMAgMCAEGGMDrTXjxz7mUWeuvf6v//LPh2Hc3Ny4ePHSr/76b/a1dLW+7du9zVOe9vRTJ048/elPm29srlfL13yt17RtDAbEZebZDFghIWMBQsi2bRAIjMRlEoChGgsJgXlOBpDAOCKOlst3eOf3esZtt/3cT//Ywx7yoHGapqn99d/+/WNf7LHnzp2/9957H/KQh/zBH/7x9vbmb/72777cy770/v6hsz3soQ+ttWCeSbINiGcyuOV8c+ubvvGbf+03fvNbv+nrT5w4No5TrfVXf+O3nvD4J7z8y7/c3XffffLUqWx57z333HDDdW/8Jm/yG7/5O7XGubPn3uxN3/jaa64Zp1GSEBjAgG1jA2AsAPyEJzzpJV/iJW6//bYTJ078wz88/pVe8eWnaXrcE540DMNyvdq7tHfTzTeNrR3sHzzxSU/51V/7tdd//de7/sYbxmFUCGEAgwBAEjIAFoBAYOPMNlts/8Ef/uHDHvrQRz/2JTa3to+Olm08alN7xMMf2i8Wq8MDRYDA2JIMBoHB2Ng2NmAA0jmfz3/nt3/vCU980tTaa73Gq734S7zUb/3mr//DPzw+Snm1V33ll3rpl/3jP/7Dv/mbv7N55Vd6+Zd+qZdYr1aKMGADYMBYCCE0TVOU8kqv/LKzWX/fvWef8tSnU2bf/V3f9cu/+uvb21uZaQCEuF+EJEmyDQDZ8h3e/m2vve66bG25Wp05deLhD3vIMI4hDAgk25IAUIhxmr73+37wwz70g9MpMNx79tw0Tptbm30/sy1xhW0Ae29vP52hAJBsR8TJE8drCYy5TCBl2sUSNghJztzc3HzKU592x+23nj179hGPeNg0TlF8/MSpi5f2Ll7aP3b8+OnTp++7797jJ04eP358HEcALMlGAAIbi0A2YCzAAiEALAAEU5uuP3XtfWfP3XvPvTs727NZ31qa6bGPfeyx48ce+tCH7O/tX3vtNekE7GyZAAYkAYAlYQMghGwbBFggAHOFZABWqxXp7e2t5XIFai37vj9+7Ni11565dGn3woWLfVd3jh1bDdPR6uKDb7k5p5Y2tkEIMBYACAwYwDaXCezkMgOWBAKEkAEDpkrimSQwAAZhDBKQmV3f7+0f/Nmf//n5s/fcfffdD3v4w9tqvdhYSLrzzrsuXbp0/PjxS5d2X+kVX+7xj3/iiRMnb7/tzu2d7TZNAmyQJKcRSNiSkLjMNsSf/9Vf/+qv/ebh4eGpUyeytbqxOeu79Xq5d+nShfPnt7a2Ll3aO3b82DiOoGwtunr8+PF77r3vhuuvG0cQxhgwEpIUSAASRijTwziePnVieXS02FjcddddNlLUWlarPHZs564776ql7q8P9vb2F4v53t7eOI6AbQgMGBCXGWyDkDEA5n4RZb3cf93XeZ3NjQVtvXdp92Ve5qXuufe+iPLwhz8sx0EKbAtAgEQaARL3M0ZgAMjWiP5rvv6bfuonfgz4gi/4ghd/iZf6qq/5hp/72Z8GPuZjPuYrX/plv/GbvvX7vvd7gI/66I/+6q/6qpZHNQKQBBICxGUGyHREKRFIpZYSAfzZX/7lj/34T548cXwcJyQBYACDBAY7AUkCzNu89VudPHFiGAbb5y9eekQEYMAgwNyvZVts7vzYj/3ot3/Hd77Yiz3mrd/qLWo/++3f+p2/+Iu/esTDH/KDP/Sjv/9HfzKfzWxLAiRa8+bmxld+5ZefPnWqZQvJuJZ64fz5664785hHPXK1XocEMsaOkCSDEAgYp+n4ieMv9VIvceuttz/60Y+85tprcxrBL/WSL9amCaL0XU7txV/iJcBkczaV2o9TZiJACCwwGASWBAYM2AiBAbCdre0cP/mYxzzqtmfc9uIv/lg7bUt6ozd5QxQQ0DxNmPlsNk5TywYgAIO4zCBh2wkCEAA2kkEAAgOZKbj2mmue/OSnXNrbny8W29ubmbm9vfk2b/XmYNtOnzxxDOm1X/PVbSIUEZIMgDGAQQAYMGAQAsBYIGGQZQCMBIANQsIIrY72MM8kAGciARiFAOxMz+ez3/uDP9zd3XuzN32jYRhKKYeHR//wuCdce83pe++97/SZMyGGcbr2mjMXLl6cz2bjNI3j9KhHPHw9rEMCGQOhAI/jVGsBIYAScbRa7e8fXHfNNeM4IiJivR7GcZSopU7TVEpZj8PBwdEtN9907ty5iDKMw872dt91mZnOWivGGIiI9XrouhoRtgFnzmazxz/hifedu/Bij3303/zN3z38YQ+56aYbgTvuuPPgcHnixLFbn3Hbwx/20KPDo2c847aXf4WXa+PYsm1tbWVLhQABgGgtp3GazWe2uUzIToPTCtkGZn1vexyH+Xye9jROESUzWyY4JACJ5yHJ6fWwns1mGASQmYvNrd/49d984zd9y1tuueVXf+lnH/aIR/3Gr//aW7zV258+ffoXfu4nXuIlX/qP/vD33vwt367rZ7/6Sz/7ki/xYqvlKiIAhO1hGGezHhtkLIT4rd/+g4c/7CGz+ezcufPLo6NXedVXOn/uwqX9fUFmSpLktDHPJMC2BAiIEHbaQrZPnz61sZjb5jJJq/WqqzWiAOmMiL39g0/+pE997/d+r1d/jVcD/+mf/vmf/dlfXnvNmd/53d990lOe2tWamVwmSLPYWHzoh3zwzs52ay0igFrrpd3dB91y00Mf8uBhGCUBxiEtV+uullIrxnbt6t/+3T9g9/0sMyNCEQrZbq0JAWBJNmBJUpRS9vb3TxzbfuhDHzIOoyTuZwxIwlxmg7iflJmPe/yTNjc3lstVqSVbllK4nyTjQEiIiFgtl9PUXualX2IaJ8QzGYQAsI0ECADbSIAQ2FBK2d8/fPwTn3TzTTdNrWW6lmjZsNO2jQ0ghUISErak1Xp9eHDwUi/xYpkNBEYSAoyFEBgAAWAk2WnARhIYBCAwEgbQ6mgPg8BIsg3mmSQJnPZ8NmutlX4DmNaHCmEUEXWOR1RzXAHR9Z5GRWATgTSt16WUzBzHSQEIA16vh9l8hpGQlOnZYo40DYNAkiEkSbZtgyQAlTIOQ9d12EjZWmbW2Qzq+mgfcYWk9XrddV1E2AYwEerm89ue8Yx77z37oFtuvubaM9MwImrXoaA1Su9pUAnU5biUBLTWai3T1FqmAJA0tRzHcTGf2TYIZbau70spROQ0Re08jQoBRNDStmp1ayrVramUab0yCIFtWjZJAoMk2+v1ej6bGYSMhdI539j50R/54ZtvvulVXvXVD/cvbm6f+Omf/snTJ0+9+mu+1uHexc2dE7/6q79USn2913uD5eGlUgrGWJLtYRjns942CAGUUm6//c4LF3e7vp/G8cYbrj954rjtru+cCRgk2Q7JNhKAkbCNxBW2QRIwTZNtDGAcitV63XU1JAOm1npp79Lf/u3fv/brvt7ycD9CtdblctVa297eitqBMSggARD2pUuXWssSAQaAiJjNettCgEFYEUeHR13X1a7DBksxtWlvb//ue+590pOefPz4sZd8iRcHbPMsAiQw9zOlxInjx2wQmMtswCAE5gqJ+wnbEbFeD6vl8k/+9M9uve32l36pl3r4wx82jmNESJKwAbARQsgnjh+XhAGDwLYlAQaBQTyTMUaSAZCEXWrd3d3bvbRXSgCAFIBtMBKAkRQhGwTGzjOnT/VdzUyQMZcJ2YkkABkLAcbiCoFtJPEsAsCAtT7atw2WZMCWZANGEjIupTzjGbdtbm7+2Z//xZkzZx760IeM4xSSIdPgbC1KSHJakjEAApdSh/V6HMcHP/iWaZoAIfAwjrO+5zJDrfVxj3v81tb2bD7HloRwOm0AjJGwbRMlMICx7Y3F4u/+/nFPecpT3+e9332aJi4LxWq97rouQrZtd7Xed/bc/v7B6TOnbU/jOE0tIoC0sQ22QzLYLhEG7FLr7sWLJ0+eOHXyxNSaJCAzx3Gaz/q0gYgYx/GzPvsL3vAN3+AfHvcPL/PSL/UXf/lXL/bYx9z6jGecPnXq4OBAEdvbW7ffcedjHv3opzzlKY98xCP+4R8e9zZv/ZZ934/DOJ/PDg4Pu6677rprprFJQjhztR4W85kNQgAyZOZicxtPy6OjEiWzzTe3cS6PDkupbZoWW1vA8vCglIJBAIKWHsdxPpvZiYRBYHddrxLYSG2cpjZh0lkiogSEMLAexlKKnbUUAAmTztZSACCEAEmIK2yHYjWsu1IjAmwIaRyn2nV2AgLbkpBaa6UUoJSyXg8RSCFJUokSEdM0AjZgkJ0g7meI0PJoWbva1WoAsIFSaymFCNLZJgO2JO5nEAAGjITt1hoIgQGMAcwzCRCYBzKIkCKidB12ZmIDSBgENggwBjCtNWMhYyGwARAYxDPZIIMEBowECLBdaiklMLYlbAAJEM9ijAFJADBNk20kDAC2QQjZRggAJAAbiWcxAAIQgACwTbUNBmxzmW0kLGwL26WU+86ePZ3+3d/9/Rd7sRe75pprDw4OSimSJGWmsUCSASyFbdvYpdTDw8NxHB/20AePdkgSNrYNgBDOEnHnnfecODVsb21lpiRJaTtTwjYA2BZShCRwZraW03H/+V/81R/+wR+9//u91ziOgCSeyVhcFiWOlsu7773PaBjWEaWUsG1bEmAbAxiDJIwz6Wp31z33zubzM6dPeZoASTZ2AgIDtuCd3vHtbrzxxgfdfOPxE8evv+667Z3thz/8YbXUaRojSqnlsY9+zPb21kMedMvW1uaNN15//NhORMlFllpqrS0zWwLGQgaBjbGMJTBQIpaHe0ApxXZEWR7uAyWKnaWU5eGBUImCDcIGWYCdCQYwYBDSMAzGAEYSQlIt9fDw6ODgyG5Aa+2mG288ODystV68eClCaYfU993W1la2RABCCNtCmCsMQgDYANjuus5OIcAYyUBm13X33XcOuLR36aEPftByuRynlumpTV3XD+v1NdecxjYAwrYlrjBXyAYDYK4wTOM0jiOAkcT9DAIAgTEWAsAASAHGWIgrBEgCwBiEjIUAy0DaObVxHAGQxGVCYJ6TASSuMJbBGCQbBAACIwSAjYSFAQxIai3b1MAAYMBIGISMAXGFEFcISbJtEOKBhJCxAIMwkAYkcYXAAAawJBCyVkd7GDBgECBxhY0EYM/mc4AIwNPEFUKIy2yDFGCuMAiMhYZhtFOSQWB7GMZ+1mMQAkNXa5SwDYDEsxnAIAESD2BbAKRpbcpMLpM0rIeu6yQZg4SBWqsisAEkbEACAHGZeRYLgTM9jKMkAJA0TdM0TovFPG0uk9TPZjlNUUprrdTqlgo5LQmwrRJuTRGZGaWMw9pGAJIwZKbAIMn2ej3MZj0GIQQGIWxzPyEAgTEWQgCYB5LUsg3DuJjPbBAYhI0E5jIDBlBX6z333vc3f/v3J08cf/KTn3zbbc/4hE/4+L/7u79/xCMf8bSnPf2uO+822Vq76aabX+olX2wcBiQhnoexpGEYaykKAeIKAQjbGEmA7dp13/N9P7iztfX4JzzhIz/8Q57xjNtOnDz5pCc/xfY4DeMwvsarv9r29labmsQzSU5LgACFjo6WXa21q9ggO5F4FgMgQNgA4rkI2YkkxDMZAPEsAgMYJDDGPAeBAWwbSWAQQmDAAGAQQggwFtggJNkWgNIpkMQVBslYPIt4JgMgY+4nZFvifkIIGQMY2wgBYBAA5tkEBkAIkDBggxAYACEEGFfbAhBCRgKwAYMEgKXVasUV5tmEkEFgjEECCwADBgBLgcRlBvNsAiTBOE0eEokrDEJgwCAADEISAGCMMYAkJCGeSXaCQQDYAAzjiHkmCVuSsSTbgAAwYBDPEhLIGBACAQaMhAGzWq4kmCZgmiYA82yCEQBz2ShhrnAaQAqwDAgbLIS4wiCBAYR4JoMwxlxmWxJgLIS4n3gm2wiwxAMJEIDT3thYLBbzw4PDRz7yEadOnVyvVttbW1tbm8vl6kEPvmW1XCJ2drYxSEI8m0FcJq4wIAkDIABsLElgY0mAxCMf+fBpnF7x2Cus1uvN7a1jx3bm80XtSt91y+VyPps5U8KAjSQbAQIQgACBAYyRJAElIm0AOw24lGIbyGyKAARpA0g8BxlLCNk2lgUAAoyhRJGU2UAR0doUEZmOEkBrWUoBbKctMEYCYQBjgRAgAcYIcZkACTAAEmCBAVuSsZCxJNvCAoPAACAMkjBgLJMgY8wVtiXxTAILbCSBhYy5zFwmYR7IAMZoeXiJy4QkQMZcJgBsAAQGQGCukABQAHZymRBgDAgZA5grJADbwzj1fQcIcZkxgA1CCECAMSAJAyAwCABjzP2EADAIWK1W/ayPCBtsCZBtLpMENkgCMGAAZAwIcYWwDQgZA5Jay2kaZ7OZbS4TMoABIWMhxDMZJAAM2AYEBiEewFgIkelhWM/nc9uAkDEPIAQGcZmxEIAAMM8mQJk5DMNiPrcNBmwkGfMAQgaJyyQB1FLGcVSEbYNQhLgsMwEhY4wk2wBgLIRYr4e+qxFhAyAwxkKI+wkM1FIk2Z6mCWRboZCkAKftNBgwYCQuk7GQQsvlqpZSawWMgcwULFfrUgoionS1Ii0Pj7q+m6ZpsZi31oSMaylpCwHGQmAQAjNOU1crVwgMArC9HsZxGObzue3VarWzs71cLvu+X63Wkra3t46OlrZLia6rTksCDIC4n4QxFgIbxDMZBAaMBBIGDBgwiGcRgIy5TAgMgLifbQnAXGYASQBgLDBgAMSzCPGcjCUJAANQAQEIYRDGRsIYS5KweSYBIAQ2BgEYAwJjLHOZkDEAQsYgDAIkSUJgY0BICGwJwCCMAUAIAyAAY1mAMQYhybZBYMCWFKUIbHOZDaRBCGHMsxgEFmDMM9kgwBIyBgMARlJEYHOZECAMAgxCXGEMEmCQjYQkG2MhAGwQAguMZUmUCIzABhmEjRAyBkDcT2CMEYAQGAQGgwxEhDEYMBhzmQAEBhBCYJBtG+x1a5Kc5jKTbQIhCQQYO43A3M9CxrJKCGQDBmEAIQQGAWAjgHGcbEsggRG2WxoaSAJkA0hY2CAEQgDGNgJsY+dsNvvLv/m7++6997bb7jh54vix48ef9rSnPuhBDzo4OCwlzp8794qv8PInT52866577rjjzuuuv+6VXuHlSFsGxBVCAIbWWtdVDAJAOB2h1TD+2q//5vbmxvlz5xVx/PjxiLjnnrtf/hVeIaQ/+9M/7frZxmIxTNPNN9/4Sq/4CqvlUpJBYACBAcwzCRFgLrMtsA2AbLAlkDDCCJCxAAljLASAwQZxmcAAkuxEEoAssMGAQVxmI2GEADAIAIO4n5BtEAIAKlcIAGOBhAFABkCSMeI5GYMCA+YKAQiBuZ8EBskYAAR932EAAZJQOoUEthEGbCTuZ1uIBxCyDNgWlwlZCGDW98YYAzIAEpfZSAAGMJYxCAEYCZAwCIERAEIAOKTS9baxEQjbQgiMhI24TAgwCEASNkIAkmQbBDYGBEKApK7vMQYEIEAYAAHYIMQzSQIAIwDEs9iO0KzvbXOZAIRBAhsLARhkDFhgGyEknskASJIwYCOekw1C3K92HTYYhMAACAwCwBjLAiNCAswDCBAAGAMIg5AxgMA2AAIASdjIcPL4saPDgzd5kzccx/HOO+58pVd8BWB9fJjaeOrkie2d7VKKQo94xMNXq9Xh4dHG5kZmCkAIjG1JXGGusC2EZNN39aYbb7j+2mvPnTo3TtP111932223PfrRj6o1brzxxuXycL0aWmul1p3tnWwNMM9mDAghbAMYYzCIZ5KEAQTmCgMgYcBCXCEwCAwIEEYChIwBYymMDeJZBBYYMEgCxGU2iCsE2JZAAmQBGAmDVod7AAIbQAKEjAFsJIFBYANG4gqDeDZbkkFgG4QQQjiNwAZACEDIGBAYMBLmAQwCG0mIy4yFAGOBARAYhBAYJDDGWJJtAcgYc5lBEgASBoEBjLnCIAAhMM8k2whJGIRtgUHIWAiBMQiMJQE2EhgADBiEAATGWAgAA0i2hQDbEua5CYFBAOIK24AkbBASNs/NBiFjAAQWAhBCxgA2CDAWAoyFAIMwkpCxkDEGgQEQgNMIgXkmIQAMAoyFwIB5NoF5AIMQALYNQoAEYBACA4aQlstVrbXWaixkXEopUdKJHVEUsi2ptVYihnEERUSEnJ6mEUlgA4CRJAG2l8vVxsbCRgJzhbGg1Jp2KVUwTVMpBdwy2zT1/SxKcTan0zlNU0gG24AQD2AsABkDQoAEYIRtAAuQAAwCg8AgbABJAsCADRhLErKNeCZjzGWSAEkAtgEQz2QQDyQADOIKgUFgKuJ+4n62wSCDbCOEDRjEczESBpABsA1CAMayEEIW2AAGYSxkzDPZiGcx9xNgWxIgBAYJDELGgCQMBsAGACEMYBBg7ieexQZhwAYBCGwABAgQtkGAEMKAMQIQmMuMhRAyxkK2ucIyBgQgcT+DkAEbBEgYSRhAkm0EBiEAzAMIAGMQMrYthMBGCGwQALYBsA1IAAYAAYAxCIPAGABzmbGQBBYGIQQGEBhjIQwgCQALQMYIbCQAAxhLwhZC2BYCwAJzmRDYBpAEAgPIGAAD5plsG4MBYwB7GNYGwB5BABgAIsLO1hogXGvNTBsAIWTAIDAARoBBABghBHZI2SZAIrMJAkrXZ6YzAQlsgUFS33eYywRGYK4QmGdqrbWWQAS167ifhA1gLCTJNvdrma01IYmu60AAQmCby2xLMsYgpmlyYowBI2EMCIEQGGQMCIMMEhgAA2ADFcBG4gobCYEBhCRAYIQRBsAgEADCXCbuJ8SzGAPGABKAAQBjAARG4oEEBhsJkAADBoExlxkLGYvLxHOzhRDYXCZhgzBgEGAhEJjLDBLmMoMASdgGjIVACNtgSba5wjYIAWBAAOIyAQgBYJCwbQNCYMA2BhDiCiFAso0AxGUSBoMABAhZCAAD2EYCMFdIwljmmSwwxggMICHAtgTIGBAYEBgAYcwVBgEGwACIZ5KEjSSMQeYKSZgrjIUkYQCMxTPZlkCAeCZJtgWADQIDGCQBBsB2LeWe+87u7R3UWjItIclpZCmcads4ooSUrRF60C03SwKEEDLPJGzzLAZAYIDb77hruVoJIUIygIDMZiMRitba8RPHzpw+lelpmm59xu1pZzoEkm3bNthIkiRltuuuObO9vWX7aLm6+557DbZDsm2DBA4FEnZmSsI+febU8WM7mdnG9ozb7hjHCYgISba5TBLPYt9ww3XzWW/bYBAgrjAIGyRkGRvAQhhjIa4A2xVAAhAYg2wkSTZgW8jiuRgDGCQJDIDAgAAEIAAwxtzPIGwkAGMZwAAIAWBzmXg+hI24nzGSLPNABjASYAwIjEES2IAQGABjLjMGAAEIjLF5IGMhjO2QsHkeQggZ28hCQsYCpyUhwAgMBlnIWIAE5gEM2IBBYBAGAcZCEgYACcxlBkmYZxJYtoWEeDYLGYMAhG1AEmAsZGwAbEuyLQTCti0Jc4WNJMAYEBghMIAkDAKDbZAxALaFEJdJArAtCUAYAIMkjMAGQAjMZQKMuUJSZu7vHzz4QTdLklRKASTZnqbW9z0YaRrHbK3ruyc/5elHR8tjO9tTa4BtIQQGUISxAITAtulqveue+w4Ol9ddd42j0Fq2qZSKZKck7LQzs4TuuffsxsbG8WM7T37KnRHl9Mljco5TZrZSuswEIpRpwLbxnXfe/fCHP3TWd3fedffGYr61uRnEMA2Saq1pg6WwbROhcZxKiXvvuW8+m21ubjz96c+YzWcnTx5XMA4NU0pBAmxLalOTWK1Xd919z8Mf+pBpmiREAGAQVwgZDCAAgcGSsAAEgIWomCskDAJAYJAwANhIPIuNBGAkrhCAENgYhA2yEFiABNhGErIRgJANQpa5zFwmAAyAMUhcYVvigSQZCxnAAAZhAzb3M8aBjAEhY0DIWFwhYZ7NgMFYCMAgsC0ASebZhIyFjIVsBAiBMYCxLAnAgAGBhUFYyFgAQgAYwLYQQggsCRsbJAkwYABkDBJYAkBgA1iAEALARgJAGEkYxDOJK4IwyNhGABgQBgxI4n5CxgAgAJAwkixjMGAsMJIMIACbZxPPQ5JtEAIQWMjifgIQAiQENghDLbWUIjGO0+7uLmi1XnW1u/Hmm570xCdna4dHhw958IO2t7ckzWczIQNgDEIACBIBCGwsBLITmKbp1OlTp04ef8bj/ub49bccP3Pt/t6e07P55mq1lKLruq6W2ncHh8txnAy2b7zhmqnpKbfd98hbTm1ubl7a25/N5hE6OjqazXqhru9qrZcu7bXWTFdrvfnGm3YPdu++eN9jbnlE2odHh7N+BqzX61JL3/VHR0cnThwvpV66tD9ODVNKueGG65eH67uecfHhj76hdnF4eDSOk2CxuTGOw3x7s5QyTe22229P2xgEBgBhgwAEgAEQGATYPJMNAgQVgZEEBoO4n21JIINtENggCcAAGAkDNleYKyQMxgIbMFcYZMRl5jJjSQC2bSSuEAILIZ7JiGcxAALAmGcS2LaQQciYy0IBiGeRbQkhMGAMCMxzEAKEkG0MspEwgATImGcxlgFACCwERhgQAAZkLBACwGAADGAhrpCEwbYQYEAAAvNsAgMIjG3EFQIQmGcyIGwQ4pkEBgmZ+9kGAElcIQljADASgAEBkgBjAci2kDE2AAIZYwQSNsaAeDZjjAAwANgAYCwDMgYM4tmMpUACgYVsZ6btiBiG9eMf/8SEu+66+6abbrjx5pv+7u/+PiJWq+V8Njt58jHjOJrnYhAGAdgGG4QwD2CrnHva4/nNr7ztJd/l+Ou81Z//2Z/fc+99N9988+23315rAb/VW77lNAyttZAEmY5p/ZtPPPrKJ21/y2L30Zubf/pnf951/bFjx+6+++5777nrhhtueoM3eL31eg1IAsDj4N9+xh8+fe/2U/OT28e2f/f3/nBYj7NZv16vr73umlMnTz71aU9/jdd4ta3NjcyUMESUYRqf+ld33vnHqnn2kS93/Z/+6V/OZp2kqU1Pe8pTX+EVXv7FXuLF1kdLG7AAEAKMucy2kLEQmMvslGQQ2EiAAUMVQiBskDBgIzDIAJawQYBkAAwCA9gGSTIIDAiMAfEstiWQsG0hDEJgITC2AQMCMGAkQFxhQGDbCACDAGQsrpCwAYGxkDEAIIFBxhiEwAKwjRAAGItnMojnIIGFMAACMIABYwEgcZl4NoMAMLYBkCQLDOYyc4UQAAYQ2AZJAgzifuaBbAtJMgYJEBgERghhjAGMBcayAAwCgQ0ggblCYMAgY9kGSRgQBkBggxAYIS4TAjAgADAGSQbbAgOAASwLEDI2YMCSeCYBYLAkDBiEkAFLQgBgBNg2kkRmLhaL+WJ+/Pjxhz30IXffc+/epUsv9mKPXq3Wq/X69OlT4zhKkjC2zWXiMoEx2BaYywRGCAB14Wl27PFnXv9h1zwETw952EOvv+GGiHjwQx6EfXR0ZBxRIsKAQW6UBx3TO1x7/tjmCZwPfehDxnGote7sPOKRD3/ofD53ZgmFxGWSVDgZx1WoXe377hEPf+isn/V9f7Q8kuT0ox/9yHnfCSJCCJCoJeY7/fzmg5M3bmVrt9xy4+bmRq3dhQvnb7n5xsViw5mllAjZGAKBDRgEIAkMGIv7SQZJtsEosAFBtY3APJsECBkwCBsQNiAJhAxCGGMBIIGxBMiyEBgASTYgCSxxP2NJGIOQAAE2AEgCAyDMMwmBASQZsEFgEAKbywzYFlcIjA0CIcvczxghAAkjgc2zSIBAYDBXSJhnsi1AAgxggQEsMAACMJIssBD3MwBCCJlnMgAC24AknkkIQGCDADASRghhjEEAtoUwCNs8i8AYYRtLMpaFhIx5FknGAAgQAEIYAAnABkAASLINEphnMQiMAACBuZ+4QmAkDCBAgLjMRsIYI4GxE5CEDQIBIPEsQsaWJLD0yq/0CjYSt9xy0zSOj3rkI4SQWpumcer7bhonQBJGkrEMgBCKCECIZ7IxCLG3t3fDDde/7Bu+1UbfHR4cXH/dtYqCbRAoNKwHSav1+ri2Ea21/eX6hmP9mzxoOe/rahhvuvEGSZlpU0qFXK1XJWI9DEiSxmlarZcv/+CXael+1g3D+NCHPhQJG7Btp6RpmpCGYZAIKZ2HB0cPfrHrrn/ksJjVo8PVLbfcZLB97PixEJler4dhHIdxCimNZUCAAAnAIDBgEAbEZTYgCQCBDVod7WEQmMsMkgCBbRAYCQO2FGAQ2OZZJBkDAoMAZAwIDLYlCQADIDCIKwQGAcaAeCYDBixkLMkGIQDZBiQM4pkMAoPAAAgZc5kAMJcZhBDYgJEEBmwQgBACGwABYAAw97MBJCEusy3JGCMJjARgLjMAQgAYMAiBARCYywwCwADIGBAYAAEIgQEQAAYJjAGDAATmMoPAgI2EDUJcITAIyba4woBBXCEEBgHCBhDPwUiY+5nnYhBXGAQGkDCAbUDiWYyFbCRsEELpFEgBIASgYRxKRESAjGspd951z/7BUdd32DaSbMCSbNs2RCikljlN7eEPfVCEnEaIyyTA9jAMs74HQAgMIDGO06233S4FOFsSIa6QpIgwjoiWOev7m66/VqH9/YPb77hrvtiQNE0jBoGdNkaSQiVqy2lzY3H9dddIunhx996z57p+JnAa4TSSADDYFtRaM3M+76+/7hpJ+/sHd91zb1c7G2cSchqQBJJQqEQZp/HUieMnTxxv2QABCAwCwIABIwGyjcBIgHgmAzZaHe0D2IhnsgEkgQFzPyMJGQsA20gCG0lgkLEAMAhAxgBGArABJIFtJAxCYJAxVxgEBgxCYIMQGEDCIABsEALAgAEQAttIQsY8gABkG/FcxDMZMAiBQQgAAwYh21whMJLAXGYuMwCSAAFgIwEYMIjLjIUQ2ACIy4yFADBgEBiEEBjAIIEBjCVhAEnGAAYBYMA8k8AGQAiwjRAyCCQZYxAAtkGIKyQwgLlCkjEGMJYEgABhA+Z5GQsBtiUMgMAACIENAFgEYCwwCEBcIa4QADZgEJcpNI4TlwkAAyAJANsIDLb7vgOcaZ5NiMuMMQgh7mcsqURp2UA8kyTAgG1JIOwItUzbJYqhtQaSECBJ2EgAmCsiorUJiCi2bSNxmSQADAIEtg2CKNGmZjsikGwLkAAwSGCMQdiEBGQmz2QDIGRbEhgE5pkEtrlCkgRgY1urwz0AgQHzTEIIcT9j20LGQpKMsQEk24Ak20IAGMQVAmMsrhDPZIMQgLAdCmMAA4ANAiRsAInLbAsBYIMQzyIAzGU2iCsEIADMswlsEALAgEEIDIB4DgbxTLYBIwEYBCAwEvcTMhYC2wAIjCSweSAJbAOAJNsAQmAABAYM4pkMQsgA5lkMQsg2QsgYwICRsA1CiGcyiMskABuBeR5C3M88izEIACQJwAYQNgJjHsggMM8iAQKMMfczAssgjIQNQgAC8zwMAoPAKMQDCAHGQgjbGATgNIAQ2DyLMQaQACGEAGMM2CBkLAQgbAQIbCSBAYMAMMYgABsBCBkLDAKQMSAJsA1IAjAAAhAy5oGMQRKAzTPZSBIYg3gmg8AYJDAIAIPAgEESgEEAGAQ2l1mSJAPGTq0O98A8B4GlQAAYhAAwAOJfYBAASNjmOQiQsA0CwCAwAAIE5gpjjCTAgI0kMM9BgARgwFxmAMQDSADGWIAAMAgMEjaX2SCeRTybQQiBzWU2EoBBPCcJjHkgAyCeh4QBA0g8kwEQNlcIDBK2QWAQ95PAIO4nsA0g2ZZkW4AEBmHzLAIEYBAANghsEA8gCQBjDAjxTDaAxAti81wkDOKZbAAJ2yAAbANIXCYJjEFgnknCRmCBkTDIIIExBoFBgISMuZ8AMGCDwLYlgcAGbEASgIQNINkGBACSbXGZhM0VksA2ksCAbZBkWwDYlgS2kQQGcZkNshCAxBU2EpcJjEE8XzaXGSRhEAAGQEiyzRUGcYVtAQDOBCEEBoFBCIwxRgIEtl0RGBAgYcCAjDFCQEjnL1zc3z8oEQawDQAGAEmAbdu2QQAgKUKSkARpY/M8bLAR95OEbUkgMBARNoCdtgFFhGTbtm2EEIABGwDbQgphGwBJtm1LoZAg02DbSFIIc5ltLpMEkoTTxgCOCBs7QRIYYxsJQEgSwrZtISSwDSABkrhMYC6zAdKJHVHAmbYTJEmShCQgDU6ukAQYsHkmG4QQALaRkGRjG5AEBkkCwLYBEGAbkGSMLUkSCNs2ksAgUEgSAAIDmQbbAMZCkmyDAds2ISFAksAACJCwAWzbCRIYBAhJkmwLGcDczzaXSZIEkkgb27ZtSSAwECEpsA1I2DaAhG3bkrCRbEuSBNgGpMA2BglsG8C2uUySJNs8B0kCJAADtgEQpI2RkGSbyyQJGewEFCGwEwSAAAnbttMWipDBtkASgARgI4QwxjaSEADGGCMJgQHANoCEJBA4M/t+du01p0FggzASNhbYdijACAxIq8M9nskAEgYMkrhM4DS2uUxgDBIYwCCBbQlzhcBAKIxtJACMAQwCY5AEYMAACCEwiGezjSQwD2QAhI0ECMwD2AgMYCHAQsaAECDJtrGQeSaBQYAAgQHMZTZIwhiwAQQIwJZkkMSz2JIAY0DIWMgYwADGQjwPAyAwSIDAGIOEkAEMAsCAjQTmfjIGBEgANgLz3CQwxhgkMOaZJB5AYBAYJGwkMMYgHkDiMtvgkNJIYBAYJGyDADBIABhjIa4QIDAIzLMYSWlzP0nYSAAY80wStkESBowAYfMsAsAYwIAQAoSNxHMwCAzYiGeSZGRSCAPmColnso0EgLnCAJYCwEZgDGBACIwEYBD3E7YBLMQDGMBCBvFMkrjMgI0AMM9iDGCMJQEggbFQhMwDGAQ2YBBIAdgGVzBIAmRbgDASMgYEoAhA4jIJYxDPZADEZQKDsAEL8UxGAjDGPJMAMAgMCAHGQlxmLAnAGANCCGwQgLAtCYTNFQJjDBIYAwJJtg0ASAAgAMA2IAmDwABIYBtxhUEIzDMJjLEQDyQwCAziudgElwnMcxAYBIABEM9mAMQDCADzbOIygQEbQDyTARAYwCBAYBDPZoyFENggxPNnAAQGMEg8kwEQAMZQxRU2gHgAgQEQGMBYgMSzGIRtIYMEEABgAASAQQBCxphnEwAGAQLbCBCYZxJX2AgMEs+fQQAYAIFBQAEwzyYwVxgLjMBCCAxgDAiBENg8kxAYBIBBYAAE5tnEsxkAAQJjEM9knsUAiCsMAgzifgJjjAFjEAIEgASIywQGMGh1tCeEwAbxLAKwDQgZYyRs7mcQgGRbku0IAZmWJABsI57NIK6wLYQEgCUBNhLYIJ5FAsAYMADiCgEC80wCsHkWCYx5TgbxQMIGjEEIAYhnMgjMMwnMZQYhMAaBsRASThCAwDyTAEDYCACDwAAIEDaAeCbzTOIygQEM4tkMAsAgAQKDALCNwCAADIDAIADMM0kAGIPAPJvAPJN4JoPAAAgMAoN4JgMYCxkLIQDbIIGxkLnCIAnbgCSMsZBthTCAbSQusx2SsSSQMxFCXGZbkrGQsQCEwDyTeDYDIDAIgQHzTOIyCYyFjAEMAsAgAKcRgADEZcYCEGAsrhCAwAYhbAMCJAwYxGWS7ATxLOKZzP0M4pmMZFsIAWAQAgPmWQyAuJ/APJMAMAAYZBAYYxBCYAMgBAYAg9ZH+wDCBgwAAhD3My5RokSbGqKUIiTRMoVaawiglDqOI7irdWrNdihKLa1lhLIluNZqG2maplpqy2Y7FKXEMI5CPAcDICRsBDYAAoOMhQAE5pkExhiELQkwFuIyY5B4XrYBEJIwz8sgnsUGQADiuRnEcxHPzTwfwra4Qlwhns08k8AgnskASGAMgAAwz2JbEs9mAMQV4jmYKwziMoEBEAAGsC2JKwQGyTYQkm0DIAEAEVFKnaYRKKVmthJlalMtpbVsrZVSIjRNDYgQUGudpqmUkumIGKcxFIgSZZqm2tVxGI27rs9sTksCl1qnaaq1juOIAYN4FiFkAAOYZxMABmwQ4lmEkAEMALaFuELCNgbEZRKAuZ9BxtxPCGwQAsAACAAbhBAYBAYMAhAA5gFsnoPAAAgBCAADIAAhg23xbMZCvFC2EUJgkLGQsRDYoPXRPoCEbRtAYCLCmMskHR2t9vf3d3Z2WraD/YOptWkcN7e2xnE8eeJEy5YtL13au+GG6yTOnjt/bGdnNpsNw3D+wsWd7e2j5fLYzk5mu3DhYkTYnDx54sLFi8eO7XRdtzxaHh0d3XD9ta01wAYhMM8kCQMGDOIKgQEQgMAAxgIQz2YDIASADZIwl5nLDJhnEoAQgMAABjBIXGHzTEIGARiwkcQDGIvLJACDeCbzTALz/BiEwCAADAJjLAAZJAAMAmMAxGUCc5nN8yEwCJB4NmHz3AwCEAA2AALbSOJZJDunaepqZxAAhohYrVbnzp+/5pprgIsXdzc2Fpf29k4cP35p99LW1ubx48f39vaWy+U1Z860zKPlMqTd3UunTp28cOHixsbi8Gh5+tTJ9TBgX9rbP3XyxPkLF2+84bpSyp133r1YLBaL+TQ125f29s6cOnnu/MVrrzkdJbABEM9kJJ7FPJvAgM0zCRkL8SziCiHbgLEkG/F8GAsZAxiEkLGQMZeJK8RlxkJgwEbCgEGIKwSAkbANgJAxBgEIGQNCYJCxEAKDBMbczyAeSGAABAYMgIwFIATmfgYM2JVnsrGEDSBhzGWZOV9sPO0fnvBbv/U7L/uyL72/f6DQ1ubmpb29WT+77+zZjY2Nu++++2EPe9jR0eGDHvQWy+Xqu7/vh97jXd/xlgc99C//6m8u7e8X6eDw8PDgsOvrzvZOKeUpT3v6tddcc3R0tLW19ZhHP/L22+9YrdY3P+jm6egISeLZDAIDgGwjbADJBkBcZhAYIWPxTMYARuIKA8YYEELCAGBAkjEAGAtAPAcbMAgAIwksABkEkngAY57FBkAYMAgwFoB4bkbCMpbFZUKWMYAQGBC2kcRlBgFgLIQxBgQC80wCc4XABhkECBvMczIGwBhAAAIbAxLGAiQM2PY0tb7rsQFj291s9id/+ufDOJ6/cPHixd377rtPUmt5/Nixe8+dfZ3XfPVTZ677q7/+vWc847b3ed/3HQ72/uAP/ng2nz/t6U/fmC/m89nDHvbQX/+N336D13+dJz3pKQ95yIP+5m///oYbbshsD3nog3cv7v7RH//pYx/76Cc98Sk7x3ZKKY9//BOuve7aYRjf9q3fjGcSgMCAMAACAxgDQgBgEDIWMggZC/EsBjA2FhICBGAQIMk2lwkZACHLGGQMshAYBNiWAIwBMACSbCOBAIENwiAQtg0YhMwVBmEMCIFBgJCxLBCAMebZLMSzGGMhjG1AAiwEIDDGQgDIGJAUXGEwNsbYBoxtjA1iGodpGg+ODg8OD3d2tq+97tobbrhhsbHY3Njs+/6uO+88eerkfNZP43hwcLh36dI//MPjgd1Ll2668UYpBMvl0VOf8tRTp06dOnXy4vkLs1l37Nixw8PDg/2Dhz70oYdHR56aJCEuMxYgHsCSuEKY52GMjQXGxsaAEGBAIIQkns2AzTMZCwkBAhDGYCzAAEKShASIy2QwFgKBuUIAAiEQEpK5wgZjMFcYYx7AgEFIAhCAMc9mEBgkCQNgJC6zEJcJCSFxmZAkEAAChIQADDbPRQBCXCZxmQAkAWAQgGyby0xEQQAGIQxo/+DgpptuetpTn3bbM56xt7fXdd3JEydKKQ+65Za9vX1gb2/vzrvuunDuvq7rdnd39/b2injoQx/cpumee+49PDxYLo+e+tSnX9rbO3bs2MHB4dbmJpTl4dHx48dPnjh+++13LFer9XpVQi//ci/T993+/kEpBUAgHsAABgALCYExgCRACBAAQgACCUAgjIV4DgIQxoCxMQDmfpJAkpAQSAhAAmwb80AGsLnCPJNsG/NMQtgWSEIIAQJjnslgIQCMbQxgrhCAATAYEEIgJCEMIDAYm+ckEAJVMFcIjBAYm5AshIRbO37i+MMe9tCbb7zxtrzjphtvDKlGHD9+7PyFCy/22MecOnWyhqZxMprN+kc8/GG1dsDDHvqgf3jcEx/0oJunNr7Kq7zyfWfP7uxsl1Je53Ve8/ix4097+tMf/ahHnD93YRjH2aw3RgJshMSzGQshYWMQVwgZGwuBQQAGCSwEGBsjAAyAAMkYwCCDwAAWAsBCXGYsZDCWZGwsQBLCNhbiWQQGDGAZCwFgG0khGbDAQsZCYJ6HEIBBPDeBMQhAAAgMgEEIWwIE5gEkLjP3swEjyYCNEAIMYCEMgBDCAOJ+BiQw5llsI4SdGEnYAILWHvbQB//t3/3dQx/2UGe21haLxa23PuNBt9xy1913930Pvummm86ePT9NUzebnTlzuu/7l3zxxzzsYQ8/e/bstdeeefM3fWPj13u91xrH8Wi2fOQjHn7HnXdOw/L0mVN23nvf2Td6o9fPbOthePSjHnHq5HHcuq7aNsggHkAIAIOEeTaBAYOMhQDE/QxgEJIwz2SeRcg2IGTbGIwEBsBcYSGEjHkWAQgAI4EQkjFgnsk2IAAkAcYgAMxlQsYCgzBgI3GZuUzIMkaSbYQAhACEbCPAAilsG4lnEkIAAgjbgFZHe0K2wYBBCCHEZcZAKaWUggEyM+0QSBHFdpTI1iS1qUmU2uFcrdd910UpmRYYopScJkOJyExJQGbarrWO0+g0AoPA5jIbhMCAkTDPJGQMCMwVEgC2JYzAgBACAyAwBgEYMM9NADLmfkIAwjYgJMkYwDyAeSYZC/EABgECc4WxAGQsZCzE/YyFEAAGQAjZ5jJjQBKAQQAYAIF5XsZCXCGwDYCQMSAEGGMQQoBBXCYwCAADAMaAwCBkDAIycxjWi8UCwCAwhlpLiTACbNuOCMC2M6dp6rouah2HdWb2fY9pmdlaP+udRtiOUtyaIjKzTS2dIXVdZ5PZAEmZ6cyu78dpyrQAQMIGg3hOxkJcITAAAsAYCwFIYBCYZzHPJDD3MwiBAWwjBAYhY0BIEmDbmMuEAGNACGwQAhuEbCMAQMgYENgghMAgwBgQ4gphW4jLjIUA20hgbCQhnoNBABgAITDPJjAIIcBYq6N9gTEGbBAgAUKAMUiQNoCtCGyDBEaSbSRshTDplBRSpo0BEJeJ52IQApACAAMYwBgQGISMhYy5nxBgLAQYwFxhAMQVQmAAZIxBAEKAscAGQAIDAAYhxGXG3E8SzyRswCBsEM8iwBgjcZm4QgAYMPczAoPEAwgMgMAggQEQNoB4bgYJmxeBMQYJLAAhMAjMFcaSMPczCAFgwCAAAWCMJWEycz0MGxsLp3kA28YgMM9iEEII27YjikSmAQGSbYGxuEzCBoQQoHQKAWCeScaShLjMWAgM4gGMASGuEADmfgZxP2OQAAECAxhjgUGIZ7NBCDDGIMQDSADGGAOWgmeyeTaBEZj7CQHGQjyTQTyTQQAYhMAgMMaSbIRBxtxPiMuMhRCY58tYCAAQQoAxpmJbXGaQwFgGARgLcVmEACyEkUACAYRkQAIQQQA2iEAGIcAYAIGFjEEgAeKZzAMJAcLGQjybAGNACDAWQsKALZ6LucJcJgQYYwCExGUGGfNMMhbiMiEAgQGDwICxeCZzhcBCAMIgAIOQwAAYBCAwErbEZcJGAkDCBpAADAIbCQxgEBjEM9lcIWEDCAwCA0aBjcAgCUBcYQCMsSRAFuYKY0mYZxJYxgIsBCAJg0CKCAyAsBEAkoQAAyBkQIAxGCFJgE1IBiEwkkDItiQwCmPAIJAkAIG4zDiQwbYkYwCBZSwJAyBkAQACJDA2FjIWAhAARhKAAbABwAAy5lmEbUAIAAsQgLnMSGCuEDJGAhswEoAQ95PAMgYEgDGXGQshYRC2hRDYIGMZELZBEgYMMgiBQYhnMgDiMiNhJAFgwEAaATKWhQwSQlQAEEKAbAsQIGMhAPFAtgEh2yCBBeaBjAEBCGxbAgMgC4y5wkYCAGzAAAiEjAGQwAAIGcCAJBuDAATYSGCBARA2wpj7CQyAscBCiGczILBBYCOMQUIGAQYAGcCSZBkLCYwxEgawENiAhEGAMQASD2QAAyAjCYxBRsJGxiBAYMAGkAQGQNgAAsQVAgMC2whAYC4TQgAYgwABYCRhnk3YBjCAbSGwQWAQxuIyg5BkCWMA8ywGO4WMBWkDCgEIjDFAGjAAlsAYSxIIY0nYAkAAFoAQmSlkLEgbpJAxSMJpwIANlsJGXGEQYAwSGAsZS8IYAxgAg40kZFuSbS5LpySBEIC4TBhJtoVBlm2QuUyAEAIElm0QBvFMtoWEDMZgIYOxAMAAgBDiMiFkQFwmCTDmMvEA5jKDBLa5TOYKY4F5FgECsJGwAVO5n7mfJAQgAUIGARgwxgaMI2QbJDAGRQiwDTiNZIxB2CAkcZlsEGAZgQEDEgIQAoNtE6HMREjCCJBsgFICcCbGtiQuEwKDESBjgbmfsI0wCAEIDBgEGBTCGGMkwDYRoZBtIDOBkGyuMAYECLDAIAAJ2wZkkBAYQJJtpyUkCSEwxkCJAqTTadtSIGPASIAEEMIoQi0TIUkonRhDKQHYtsFGAmwLsBAYBIJMFAKDRNohKcJphDMFkmwbMMiAECBAPJMRgG2cFjJGyACIgKid7VKKjbDNNE2SbCtQFElSRCnYSJnpzFLruF5nNiQBBgCBDQIkDNDVmnatnW2w7TZNUiCyZT+bgW0DUkzjiG0MANgCBLYxtkESxjgiQBEREpKdtqeplVpaa6UWUIlAtNZaS4GxLGMhhG3AABYgDADGIAEYC0DIABgJkJBlGwjJlkKZGVKmLQkkABsECIywucyAEAYQgLifEVgIACFsnsU297PAICQZBIBBxgJjrNXRPoANBiEAIQABYMBINhEBrrVy2TiMCgmlHQrEer2eWutqjdBsNp/GITMBkLEkIR7AmMuEjIXSFkobGyi11FqWy/XGxobtaRpLKdPUgFKLM4+WS0m1lFpr13XjMBgECIyxkDGAQWAQVwjxTAYMQgaBIoZxLBGl1pDGcYyIUmK9HsZx7LpO0mw+z6mN01hL2BgD2EhcJgABYPNMQggMArAppdRSx2lsrYHsLLVGBPbR0RFSLaXv+1rrMKwBDGCQAEkahxExtba5sSFpvR4yW9d1EQEcHR0Btdauq7XUcRy5n0GgkE1mzuezaWotW5GMImIYhnGaulqRZrNZZo7DUErY5jIhwFiABAACG4TTwzjOZjNsMAhA2P7Lv/7bkydOLI+Ozl+4GBGLxfzlX+5lVqt1LaVlPvVpt2a2w/0DFNM4Tq3NF7OIWB4tH/uYR50+c3qaplCAQcYCGwkDptbyN3/3D1tbW8ujo4u7u9lyNutf/uVfdpqa7cV89uu/9XvXnDkdJS5e3M02PfQhD77llpvHYUDiMkkA5tmE7RKxf3D41KfdurW5cXS0PHvuXNd31117zaMf+chLe3s721u33XHnnXfdfbC3v72z3Vo+8hEPO336VGspMBaAjLFBCEBgwEYSMhYCgwDjiIiIaWpSZJuilFICNAxDrXUcx66r6/WwubnZWmutYQMRsjGABSAuM+YyAYjLDGAQGCSeySAMgGyDJYGMhQAwYJ6TkVTBGAlbXGEbEBjAmfPF4u///nG//wd/UkrceMN1d91552wx39ne2dvbA7/4S7zE7u7e4x73uMc85jFn77tvc2vz6GjZdfXsufOv97qv/dAH37IeBoEknoeQbUkITCnxG7/+2xcvXNje2drY2Njf3z88PJRUa53NetC58xc2Nxav/Mqv8lu/9dvHju0sFvOj5dKZXe32Dw7Xw/od3/5t5/NZZmLxTOYKIWTMZUI8k0FgIeNQLFer3/yt393c3FwPq/vuO3vm9OkHPeiWX/u1X3uFl3+F++472/Xd0dHRbDE/f/7i5sbGqZMn3uD1XnscRyQAxGXiWQwSBhkbCyEyc76x8bu/+/t//7f/cPr06dOnT95z772r9eqVXvEVHvf4J+zt7T3ollvOn7/QddXpo+VyGId3fse377s+MWDnbLHxsz/787c+/RkPeciDptamcWyttantHxy8/Cu8/LmzZ++4/c6bb7n5/PnztdZsDTGM09u81VvMZ7N0CgG2Q/GHf/xnbZp2dy+kWa/WL/fyL/urv/prL/HiL37+/IWNjc3Dw8Our7uXLs372alTp173dV5jGkcQAgwSMhZgkIwBwCAAg20jAKHW8vz5Cwd7e/fcfXfp+loC6RVe/mV3L13a3NiI0L333gs+PDg4e+/Zzc2Nw4P9M9deU7vu7Nlzp06duO6G66dxsgyAAdtI3C/NpUt7e5cu3XnHnVFrLWVq08u93Mvs7+9n5mJxzaXdi8ujw3Ecp2ka1uvrrr02JIMAg7ARVxgEYLAVsV6v77vvvjvXq+VqLdHsWooerfvOntvZ3jo8OLzzjjtPnjg+DMOFCxcf/vCHArYRgA0YgYQBBAYMyHZmK6UaCwG2u7576tNufdrTb7333vtOHD++s7N92+23X3P6dMucpun8+fOv+qqvZOLOO+68cOHi5sbGufPnd3a2jh3beY1Xf7VsTQgAgQ0CIbANEmAQCBsEIAAMAgSAjQRCyCAA8UwyFveTMAhExUgASGAMErYIMIDCzsVi/gov/7Jn77tve2d7d/ciaJrGnZ3tEydOXHPm9OHh4dbm5tHhwcMf8dDjx4/fffe9R0dHtodxlAKbEJcZc5kABEhCAgNSbGws9vfKbDbrum5zc3Nrc3P/YF8SpuV07ZnTJ06cOH5se2NjY5qmKOWlX+qlxmG44867Fxsbu5cuGUAAWAgECIwFxgAGYQwIgYy5whBIms9nEQrFdddeU0rt++706dMXdy/e8qCbT504cfbs2Qu7l6675swwjmlnJgjAAOIKGQsAYwEYEM8kya2dPnnikY942H33nb10affUqZN333V3RNnZ2VkeHQ3j8JIv+RKlxDNuu2Nzc/PS3l6mkXByRWtnTp863N/f2twapvHE8WN333XXNE433Piom2688XD/YD6frZZHL/VSLxFRbr/jDuyjo2VmIkgQV0gqJdrkra2tcRxf7LGPmc+6Yzs7+/sH11137fXXX3fu3PnzF85fe+b0arVGypZIXGaDLEkWNhI2YJABjLlC4rJMd1191Vd+xZDmizlovV5LtGm65sxpAPNyL/syJUIRfdfZjlBmDsOwsbk5TeN6uQJsA0IKmSsksGz75V/uZcZxfOVXfiXMOI7jNEbEyZMnhMZheMs3f5OptYiQYhhGycMwANgAFjixkCQEBiFimqaTJ068/Mu/7MZiERERcXR0NJvNhmF82EMf3DIf9rCHXH/9dTs7OxL7+welRLYEsI3AQoCNADCXCYHNMAyLRQUZA8aSaq2Hh4cv9thH97PZnXfeecP112GPy6nr6s72dolSaldqPX7ieFfKQ4895MyZU0+79bZMCxkDAvMsBiQMAglsns0ggwAwBiQZYywuM4AEYIQAMBIgyTZG66N9wFjIGIMQGAAByLjWWqIgtdZK12ODnbYzW7OopbbWQmSmotiufTcNQ5smSYABAxgLpDAGhCQZCxlLKqVmtkxHREREKeMwdn0H4MzM1lpEgNIpBGCiRNQ6rJYYY+4nxP1sIwBsJB7IAAhAUq11HKcSUWqVGMex1q61JpGZJWJq2c/6bK1Nk23zbOJZBAYZS8I8iyTAdq01SiE0DYOQIsZx6Gqn0DQ1SQCmlKJahuXSmMuEjPu+l7ReDwqFVLsOlK21NklRa21tAmwASaWWYbU2FuJZRERg6qynpWGaxtp12VKQ2SKiZXZ9n6211pw2xiAAcYUQIGzuZ3sYx1nfGwMYBCCp7/vWmtNgSdhpA0hAiWKMbYNkWyApMyUM2ECUsGnTJIWxJBuJWkoaicwEJIVoLblCgCQBGIWw0xaAwAYgJMM0TRGBDSBh11pRZKaz2S6l2LZBSAJCaq0BUQo40wIwiGcRUkzjKIUxRqHMXK9Wi40N21wmBEQJKUqJzExTa3WmpHEca63DMJQSreVsPicTqU2TIbNhELaFjDEIgUEIgUHYFjLmMiEwCDCWBMI2FgKDwCAwiGcRGGMhQKvDPQRG4jLZBhBXCAG2eSbbPJsASWCDAAQGYVsSBgwylgQAGMQVQooQ2DbGGHOFAQyS7ASBhRCXGYQxSGCMJXE/gXk2IcAYsBEgnoNBCAwYScYARlI6JQEAtgEjAZIEGPO8bEkgMAiBQRLYBoydBisCwJbC2LYkDIAAbCQADIAQSqcQArCNMUiSAGEjns2AkbifEAA2CBkDIAnbkjC2wYBBCEASgA0YSQACwAAIAHB6GMfZrAdsLnMo1sPwpCc/LZ2SuMy2kEKA02ljSyAENoAkSbaRAKFpGh/8oJtPnTwxTZMUAALz1Kffulytaqm2MzMzgVAQwqTTmQghgwBJCklg22BJJNddd80115yexkkSYFyiPO3pz9g7OCgRIMBYCDDGAAhMZtpWSIoIAZIwmWm7ten06ZO33HzTNE2SMAjbq9V6Y2NhW4grhG0MAgTYBgRI2JIMgrQlbCQBAgQGMAYwCCFjIYRtIQTGGMAgQAAYEDIGCYwFBkCIKwSAeSaBQaoIbBAAAksYBCDbxpIUwjYIAQghYxAYQAJAYAQQCmMEFkKIZxECkAEBIGwAYxAYQABCgBRgIcAACBmQBGCECAAMYCwAjEIYYyEAkHgWIWMhy4ABkAALQAhEKDCAMZIMAQZhLAQSGANCYMASCAABGADbADYACoFAYCRjQBIgyVzhkMAgy9wvFIAxIAkhnkmABAAGYUJYYBBgbAwICQBJAAgshcCykAEQiGcy5gqJZxMylwkZGwBJTguANKUrT3nc006fOnHNtdesV6uIAMAgQGDAGCQAwBgTEYANGABaa0968lM3Nza6vrMNdLV7+tOfsZgvHvbQhwzDwLMJAcJpGwAkQAIDQgQYsA2y/bjHP2FjY7G5sWiZQNd1d9xx13q9fsmXfMx6vcYSVwjABiEA2yAJY4yEjSRjJ3bWWh7/hKdsLDbOnD45TpOQAJCwLWTMZbIwipDAAEhgIwkbSTKIgjAIwCBIpxD3UwgAhAQGSVwhAgEWQsaACGMhoXQCQgAYY5krjCQADMIgCSoAAkBgJEA2CAwGgZ0gImQTAjAEwXMyCBkEBlkAMpIAMGAjYWwjIACnAdtCkrjMIIkrjAEsxP0CbBAgIWNBJghJXCEuMwbxTAYBYBJLGAMYBGCexUK2hQDbxpIQGAQgsA0gCRnblnguxoAkbBAgABkLpTMixBUCG4CQsiWAeCAhwFhIyDYiJANG4jIhbGMjYYwFYBAgZAwYS+KZDAKMbSRkGQshMAiMEGCeTWCeyVgIDGAQGEBimto0tWuuueYv/+IvH/SgW66/7tqpNUkYMAhAXCEw97NBAAI77dlie2tr6/BoeXI+a1ND2B7H4ZYH3fK3f/v3p0+fuvnG66fWJGGDEBhAwgAIQAhskDEgaJmzxeLE8WNHh4fbW1utJSBpf3//wQ+55dYn3rl77tLLvMpjDRiFAIFBYHM/gwAwEgCOUJvcz/pTp04eHB5ee81pAcIACEnCFgIMQO3qMIzORDyTQQC2hQAE5pkERqG+71trGKCWMrXWpiZhAyAADBiJBzLPJK7oapXUMgGMBMiY+0myQWBjLCqAuMIggwCBASls25RasrX1akA8B4N4bjbPJgABYBAC213f11qmqSHbCMBd163X62lqEkLGgACwzf0MkgAMQmAAgYH5fJ6ZGAQGsB0RNWKamiSukLARtZY2NdsRUWpMrfE8ulJby3SWElJMrQksBAiMglrKNE02tau2MxMQEkZyukRImloTgM0VFjKutQ7rIZ2AwCCEyMzZbCaUmZIAIWPAIITAlBKttdUwCAwCAAlTSulnfZsaIAABYAFYiMts80wSNgZAtjFIacsAGIQxlxkB2FwhAIxlMDaSjGUMABgvV6tjx45dc+014zghbHOZALANgMAgQALARmAwmDZOmY4IARLYtqT1anX8+LHrrr1mnCaBDQIbAxgLARgDGAFgIzAWGLeWmYowRmCAiDK1aX3UHvaIhyqULQESA1iSjQFsW0gCMGALkvar3/CUV3uXh/fXZWutlEAYZCQSbGMbiSscpdx5592HR0fz2QxAsg0IDHbaSAghQBJCksZxMjzkwTe3qdVaLly8dPbc+c3NDWcigQGQBAjABgzYNmAwEsZmvR5uuun6xXzWWgIGMJdJ4lkMCMCuQmAuE4BBCAySbXApZX//4ClPvbV2VVwmAdnSTtsghUKyDUgCbAOSABtJEoCxYFivH/awhx7b2WnZBIlrrbfddud9587NZzPbgAHbNmADtg1CCGxHRERwP4lsWbv6yEc8DGwjZBzSer1+4hOfHKVEBAJj23amd7a3HvSgm4GpTf/wuKfYjhKAbQCEczabPeQhDyqlHB4tn/SkJ0cpEiCFhIA2TTs7Ow9+8C0h3XffuTvvvKubdRhJCIztYT3cfPONZ06fHqcxJC4TSrvWcvvtd9x39txsNnNaEYhABuxxHB79qEf2s962EPcTl5kosb9/+JSnPnU2m2U608ayEVK0Nl1//XXXXXvNNE4SCGwQYAwW1FIkAQYBIEmSbYMzkbAlKcKZtkFgQ0gG25KczkwEgMEYg20DCAw4031XH/XIR7TWFMIYCxkbC2wkbIdkDLIRIDDPIgkMgHgWI+nBD7q5TQ0EIGzbjgiMJAADBiEwz2QMQshCALYA2wBImobpMS/z4NZaNnM/AVJmSpLkZD6fj+OYLZEEgCFUXvltHzbbDDckYQCBBIBtGyQMAiSth2H30t5jH/NIAPNsAgMyBiTuJ7BNreWpT7v14OBwc3MDtLt76eabbthYLFqmuJ8kQLINFjLGAAhAyFBL2b106Z5773voQx7k1oQENgASBrBsLAQgQNVYXGHAIAMYZAQJUcptt9/xkAffcvr0qdYmkMAYAxgLITBI2AibywwAQtzPuJR64eLFZzzj9pd+qRef2iQppKPl6q67736lV3g5sEGAhEHC5gpxhW2exUYCbHez2d/97d/feec9D37QzcMwWHa6zrpbn3H7yZMnb7n5pnEcFcJGytb6vv+rv/n7ixcvXXvdNU9/2q2z+fyRj3joMAySAKGWbT6fP+7xT7z33vse9JAH3/Hkp15zzZmbbrxhGMeQDAB27bq//pu/298/OHHi+O133PWoRzx0sbFw2hgQKGK9Wj/5KU87dfKkwDybRGvtnnvPvuzLvGRXu8w0lmSD3c3n//APj7/9jjsf8+hHrtZrSWAhBMbYdl9nd9511zVnzjzoIQ8a12spnKkQEBHr1fpv//5x15w+DYAwkmwASbaR7rrnvqOjoxKhCCFDa1NmllpDMsggbA/rddf3tVbbgEEAilBr7fjxY8d2trOlsQBhGwMG2QaEJAHpFMLYRrJduyo0jmPf1XGaulpbm2qtbWqlRGuJARAARpCZtsHYPJtba7YRQpk562eq3eroICIw95OxLIQNIBCAMQgQyAASgFqmbQG2BSAEIGzPN7ZyGoZh7LruSU9+yplTp7a3t1qmDQKwOXZjbWMabCdgDIBAkhTGQlwmyZnz+VxomibAmMsk2QhsA0iSwFxmUyL6vp+mlJTOvu9KKVObbNdabUuyaZkSmZYAbMA8kySA0dl1XYmSmVxmLhPiMgEIIYRsA5VnEtgAGAuJZxLYLhHz2Wwch8wUsm2nQQBIsh0RaWOQwBjjkJAwCIydUmTmYj6PUjItBCg0jWPf96WU9XqFJAQ2AE4DEuYBbEASEjZgu9Yyny/WwyAJLMIyILGxsSFJESEhGyJKqaXrunEcEZm5mM8lRQTGGChRIjSbzVqay2azuaQSYYNTCkOJmPWz1my71trPZpIsF4Wk1lKo77sopWVKEoAAY0GaWjubcRqFSomptRJlalOdxr7rp3G0jUGAJNlGCAEIoYjIcZymqUT08/m4Xmdmk4xBtiUBgAEMwq6lXNo/2L2095AH3TyNoyRD13V33X3vvffd+7Iv/ZKtNduSwBHlr//6b2+48cZrrjkzDgMPUEoZp+ncuQvHtreNhQBskAEEgMAIAAMYCyTZrrXec+99mXnD9dffdc+9Z06fvPuee06dOnXh7PkTJ45duHhpZ2db4pkMgGSbB7KRQEKWhYzni8Xj/uFxt95625u++ZuuDg8jAoFBCNl2c0RwPxtjjARCCIGRyEzbBoNACEDY7rr+B37gB1/llV7xIQ950DhNP/XTP/tGb/j6L/3SLzUdLRXiCtNGGwQYA0I8mwRgDAICgDZNCERXK5IAmForpTgtoYg2tZYpCYPABtrUwACI+5UoFy5cvOPOu7a3t66/7rr5fGYzm5XMlAQ4E5DCzmlqSJJsc5mQhAEQQmAwCAkQAICrEAC2kWSMbYFBBkCCzEynkCSg73tAME1TlAgF0jgMs66zbYMASsQ4jgawIUJdN1+vB0mZ6UxJCANIkm3bSJIArJAiFF0gOY0Qam1SRIQw0zTZRgFASmFzmUHm2TITAW6ZrbVaKxjLBgk7bWVKst11Xam1jdM4jhjbEiCnnQmk3dWu9P2wWpKAWmvGhszEtl1LWa2HaZq2NjenNtnYlhCAwDybbQMRMQzjhYv7m5ubR0d7J08eR1IoSnCFEDLmCnOFQpIkdbWuh/GXf/YXXu1VX2VnZ9tOwDYCAyAuE9gGyJYbi8XW5mbLVkqZpqmWsrm5sb29tbm52drUdX2bppatlLJzbGdjsVjMZ/NZX7qe1mxLGoah67qISFtcJhAANmAsBLKNBGBjLATGCk3jOE6TJIlnkRSKEGAsYyGEbQyALQlhG5AQAAIwhszNzc3ZfL48PCwlMM9iu5ZSFrP18kgSgBHYGAzYXGbM/YS4QmCclshs1545Y6eN4E3e6A0f/OAHDet1RBgLAAuABGEcEggkSWAbIYVticsEGGxKKfeePZ+tjdMUoZMnTuzuXlrM56v1erlanT51cmtrM1siMABC4n7mslrr7u6lixd3u66LKPedO3/TDde31u65597Nrc31ag10XZfZhmHc2FjsbG+3bCCBJEkSIAEBgAGDBAZhAwBUMABCNsY2yAACg8EgARgwkm6//c5hHGyfOXPm4OBgHIZhGG655eb7zp6rtUaEbdu7ly7ddOONfd+lHRGr5eq22+940INuyUwwAAbEM0kCxGVGYpzG1XK9XC6Hcez7DpSZO8e2l0fL9XownDp5Yj7r0wZAQDozjWQcCGQDSNiupQzD8Ld/+/ev8mqvujo6RLKNDQCSnO667o477vru7/6+D/7gDzh18oS5QmBJkmzXUs5fvHjrrbe9+Is9upQCNmBjkICQDo+Wv/Gbv7W/t/fGb/xGp06eHHIAMEjGQggZBLZtoNZ6731nf/d3f/8VXuEV/uZv/ubt3+Ed2rgSEgAIjDEC8UwGAwAqZX9v76677n3Uox5519333HnXXS/5ki8+DmPaGDASVwgsZIOhtYa0u7t7xx13pf0yL/syrbXWmp3r9fppT7v1iU960mu8+qvu7BxzurUWtfuHv/v7pzz16WdOn4qI5Wr1yq/8CraxwSDuJ4GEUwgwDkKAQAILIYIYhuFBD3kIlNXR3jhONtvb2xFRa7Hdz2YAQhZgGwDbNjLGAAYhA9ggJHk9DLfcfPODHvKQJz/xiddee+3GYpFOhE0tZffS3lOe8tSXe7mXaa2BJAAkCWzzTAJAPJMkAcYwW8zHYciWr/M6r3nPPfe2NoE2NhalBLZBYACEDMg2lwkMxrKQFFGyNUVgAAQIsLOW+uSnPHUchltvvXU+m73BG7z+H/3hH4/juHPs2Gq1fLEXe8xjHvPo9bSWBCCuMMYASFz25Cc/1fDiL/7Yu+++5+4775p13bHjx/7sz//C9tHREXaptZ/NxmF42Zd56RMnjk/riWcTz4cQILANACBVAMQVBkkGQDybAXG/iPj9P/jDY8ePX7x4YW9v72i5vP7aa06dPPmoRz3qe777a7q+297eVsTG5tbR4dE7v9Pbz/pOyPZiY+PrvuFbPuSD3/9Rj3rkarUGgwADCAkwNsgYl1IPL+3/6q/95t6l3dl8VkpZrVer5arUsr21dXBwaPNu7/ZO0GNLSgxggwEhwKAQCCil7O7u/cEf/vHf/d3fIb3MS70kzrRtAyEhgW1HxA033BARxlwmAAGGqbXZYvtrv/5LvuDzP+/xj/+HRz38oS0TBCBKFOOIGMcR2NnZGcdRIYzNFeKZjIUwtgW2ASkMUgCCdBpLEiCeyQAIDFhcpu7uu+/tuvLIRz12dbj353/5184EMAaMAEAACIwAOzOJ7tZbb33Grbdfd8P1ZOOyEjEMw1/8xV8YdncvnTh1yiABGsfxGbc+fVyvxnHs5nNJGIWEEgMCQAqBJRvxTDYYQMhYKJ3zjY1f/eVfedKTn/K+7/veu7u711575mi5nC8Wl/b2tjY316tV33WSjHlOEiCELIG5QsK2EULDMDAMD3rQLcvlKm2nwYbSz5/+jFu/7Tu+66Vf+qVCkTZgIwAyjUEABpABg7CNhF277q/+8q8f8pAHb21tttYyPQ5j1/ebm1ulFHOFBAiMACSQJAFCQgA2rbVSijASxpjLJI3j8HIv85It82Vf9qXXq9XGxuKN3uj118PQ1ZJphcZxRAAIkiuEjDECQOjY8Z1pagf7B33Xb25szuez+ax/jdd49b7vnDbGjONoe7GYT+MoCTDOTLCNAgCDQGBjmURCOC1hU0G2ERgAA0YC20gCkAyAsMH4xV7ssWdOn1qv10eHR0g7O9vz+Rz77d/+bVtLhM3m5ube3p6Ewbgolsvlu77zOzzolpunYYiQDYBBgIW4TACW1Frb2dl67GMetbW1eeONNz7hiU/s+y5C2XKaplLqNE2h4DJzmS1JEoAkSViAAGXmxsbiZV/2padpfMmXeHE7EdhISEgAUpuma64585CHPPjEiePjOHS1AyGBEECJoA1v9iZvcOrkiWtOnx6nqZYiCUlIAmS7dnUaW5vGUgoGyU7AWAjACGEjJBkEkqJIoBDYgI25TIDAAEgCLGOQJOHx+uuu/bu/f9zxY8dufcbtJ04cBwAJAGEsBGAQQjaSaq05rh772Mc+5jGPHccxpylCEaVlbmxsvO3bvs16Pcxm/TSMIUVEG9aPecyjX+yxjwFn2hhbUkQxSGAwAmwDRoDAGCSeRRLgNNSnPv3Wpzz1afPZ7MYbbyilLhYL4OTJUxERpQK2eX7EcxDPJgAkGQObGxvL1Wp7eztbG8ZhGoaHPfShH/ahHzzr+/WwlgSSbANIIDCAENg2ApAEtMw+4tLe3tmz57a2NkvEfD4/ODw82fdHR0enTh4HcYUAEIBtSZK4wgYAhKCU4FkMOCSBoevqPEpmHtvZnsaJvtva3spMDLhlSgJAYK6whYxtEJl5y8033XPPvXffc2/tumuuOX38+LHW2qmTJ2xzPwkgW8tMIQFgGwTYloTAACAAwAZJAIJqzGUSNmAAm2eSMdg2z+Rs7aVe4sUyU6BSMC0b9npYP/KRjzAIgMyUbhynKTMFmTmf9a/4Si8/rgfbNs8kJB7IAAiAkF7mZV+K9DiNL/uyL41tWxKADQzjmLYk7mdzPxtAADYYAz514virv9qrzGazcRwwUUIIgwEE2MYv8zIv2dokyRhsG8AAEbFcLV/lVV75VV71Nab14TRN1AoGbKctkel5P3ulV37FzNw5ttOyAU4jCfMsAksgCZhaO3H8+Ou+9mstFovjx15lXC9rKYAkJABjAUgAxraNAUS2dmxn5zGPftRTnvr0EyeOPfxhDxmHEQksybYEBgNgAAlJrbXMxIQ062dpt5aZmWkbSYvFPFuzPbWpZdrOTEvYiCum1sZxlLBBAFhIXCFAEgIBAjCWBS4l2rB893d95wiBl8vlsZ2daZpqKbUWQ2uTsRDPyTaXCVlGkkDiMknGwiAhmymn7WPHf/5nf/qGG2582Zd/+fXyqKv1+M52yyZJCAEyBkBCiGcyESEJsF1rnc1my+XqtV/ndc7ee8+dd9590403bGwszp07345l7aoUmSkJDOIKI2TIlhECg0AIbASAQYCRQAAIiCh7+/tpulpKqWm31iICwEiyLQRGYAwG24CdmMzs+/7mm2+anz03n8+PHz/WWgON4yjJtgAwBgRIto0ASTjBQtggMGAABDaSAQCoGDDGCEDCAAgBQgY7QhKZTluwXK0AbACJy0KxXK6MAfFMkiRZAjJzOlwqFJJERIABGxvjiLBxWiGnAYvVcsll09ESjDEWV0ghwCBI23aUyGbM/WwACdnOlpJ2trfbNAKGiEAgEJIybVvSzs52trSxHRGSwKEQpC3p6PDQdinFgC0QAAKMbeDGG66TNI5TZoIVAoMAMAgjyaAI2621UuL4sWPpnM2OTeNYIiJkgsskzDMZY3OZQAgYxuHkieOv8sovn5nr9ToUYBtxhSQZCwzYLXNra/P8xd2n3voMjLFQRCxXS6Pbbr+TK4SkUKDY3z9oLbFBJp1G1FKGcdzc2AhpyhRCAtsWWGDABgWIKwRgkHGp5b6zZ1er1WMf85iIANrU7r333mfcdvvLv9zL9n0vxP0E5plsAwaMbZ5NxgAIMJYEchsf9rCHb29vTeuVpFrK9vZ2tuQKY4xA4vmxsV1KuXRp79577330ox61Xh6ePHmylL3zFy6cOXMmffZoucxmhUiDQICQMVfYtg1CYIMQIAIAYwECMGCQtF6tL1y4eOzYsdVqqrVFKc42n89tA7YjBNhgIzAAwrZtAJGZQtdff53T0zRJAksII4EBTEggYy6zAZAAgxBgAIQQ2JIA24BE5ZmEwGCexSADjiiZZHM/n+U0CSEAY4wkgQFsBBayzQMJIdsITJRYrYdpmiRxmaBESJRaQjMEBmwshYTTYBS2sSVABjAIG7Ct2o/DWGtBYCRsC9JOZ+k7CYOkSklbpcuWkgDsbFPpO5OhACLCdtQ+W1IMYWy7dr0kAQjIbNF1rTVAkkRE9H2Xtm07u64IjdM0jhNgLLCNELINYJeI2lUbcBBAP5tF109TkwABNleYK4QtqbWWmVH7Lo1orWH6vo+IXHmaRiQnAmMJAwaEkfTQB9/SMgVgbENIipLZMIBBwuamG65L25kKYRAgnsklSmsNMMg2CAzYgBE2lhDPJACMTZQLFy4cHS1V6qVLl66/7rqnP/1pv/t7v/+Qhzz0FV/+5dar1XzW80wCgQFJAAjMZTYAAiMEgAEBIGlYrx/z2Me0cTo8Opz1M0np5DJjrjDYXGEDAMI2gN11/TNuu/33f+/3t7a2tjY3FxsbJ0+euHTp0oXzF3Z2di7tXuq6YhsJjASAMc8kJAnZthEAAgkACQPYBlk4MyIuXNw9c82Ze++5Z3v72GzWT+MUEdiYCEXEahhC1FLTYPMcZMAIAdM4GUviMiHbiCv6rlutR9wklVoABIBBEkIAMgaEkLlMCJCAigDxQAIQIGFAme266675u8c9fnt7u02TbQNQImy3TCAkGwAhyWnbiBIhKW3siAIYai3L5fKmG2/AAOCpTRsbi76f/dEf/3k/650GIgTYYNu2jQQIgSVAkhC2ASnAR0dHL/2SLzGOoySDpKm1M6dPPenJTz137ryxDTagiMxm+9TJE+NquOaaM49/wpMODg8FCEmSIsJmuVw96pEPz3F97XXXPPWpT7u4u5tOjHFE1FLH1kqtOzvb2KdOnfibv/v7zc0NwMY2EBHL5er0qRNdreM4IUkCELZrradOnfirv/nb+Wxmm5AQ2Ai8Wg0v9phHT+MoCWwQ4gqh0DRO11577ZOe/JTdS5cy03ZmSpJUu255tLzpxhsiIlsDwEZCljEIcGYLZIxBCrDJNklC2BbCgFs2AQJAAGAhY6C1hpCFALABMABIMkYgCQHGQiCFxtXqxV/8xTHjenXTTTcijh0/9m7v9i433njTsF5tbm5KIWHzLJIkgYwBhCRjnskgYwEIzGWKWC2XJUpXu91LuydPnoyItAWAsSQAE5IkJCFjABusiNVq+ZIv8WIv8eIvtlytjg4Pd++6q+u6EydOZvHRcjUMY+2KJIyFDAIwBoyFJAFIkiQhbJ5NYCEhCSGAEIeHy62t7cXG/ODg0GhzY26I0Gq9vvUZd166tLu/d+nUyZMv8RIvDgIkcZmEQJJt7mdbCGGMxDPpCU9+2sULFy5dupTmZV/mJa+75hob2wjbCCEMIIQx5tkEABUjCWxAXCEExiCEpqmdPnVyc3NztVxJYadBQsgYYwwIGcCAkAEIyQC2LYUECJjPZ/PZbJwmSRhEa+3Rj3z4pb391pokYyGEbQAkgTGIywRGkrGNAAl7Z3srQi1TCpxAa217a+slX+Kx6/UYIcC2AMn2xmKByJbz+fwlX/yxq/U6IgCDQAo7Z/N5SMM4HtvZfokXf7FxHAUGQAJke7GYA9M0XX/ddSeOH89MnpOkjcV8mpoknslYktrUHnTzTWdOn2qZIRmwASTbi/m8lJKtIbDEc5DUMk+cOPayL/2S62GICNuAASMREYvFfJpGSdzPGANgAISxkGWMQRL3k4RByEJgBBgEBgHmMoMMQpJtjHkW2RayDRgLAGMh213X3Xv33dM43nLLLXfffc9DH/KQUuqZ02duu+2266699tKlS6dOnQIBYBBgGwBjMGDbGABzmQEQAOJ+obBdajlx/PjBwaEkbAuBEFcIg23AGAEy2ACS2tQQG4v55sZiPHH86ODwwsWLXVcv7e4+4QlPeNCDH3TTjTdO4xQKxBUC80y2JYHBAAhjG8AGDLKwAUnO3Dm2c8+9Z0+fPgXMZjNJGCGglnL61IlZ3506eXzW95kpiefDYBAgCQNgAMkGAHz61PES2tnZ6bsaXGZnGoNBYCSZBzCIZzLgijAGBDYIcYUADKDQNE2zvtuYz0AIbMAACAwCAwaBDQIjYcBcIXG/zJymURIAFmCmNh07ti0JG0DCNgDiWQQ2zySwjQRgEK21likJ2waQyGy1lH6rMwACAwbITBtJ2VpEbG1uGIQAY0mA05kZok2tlui7hW0QAoMAsiUCKVubz2cC2yCuENhTa5IwCAALASCmNi0WcyHAGBAYBJnObJKMEZjLbJABSbSplVI2NzfEZZJtjITNNE0ggwCEuZ9BPJOMASRsY64wCEnGCAwYQOJ+BsxlBgGZKQmBzWXGPFNwmY1BgJA1DMN1114jNA7DIx/x8GmcHvGwh47jdOP117fWrr32mtYazyQw9zOAuZ9t2wAILASAQdzPIGE7okj82I//5Hu827t2fee0BLYBMEYIANvYYK4wkoyzNRuJnWM7x44fX6/XZ06f/vGf/Klf+rXf/LZveSX7CIQBGUDCNgAYBBgJsME8k8ACBGAbk3bf99dec00pRSIiwLaNbUqtZ86cuubMaQQwTZOxbUAAwrYxGLAl2ZZkGxAy2EhgTp44cfLEyYjAbtmmaRL3E5fZBkAAGATmmTCo8kDiAQxCYDBCTo85iWcRGGQbIWSMQQgMGMQzGcQVQlwmhG2exZJaa5hnEhhjQGAQ4jJjIWMMIMlYCIEBAeYyYRCy3VoCCAADtpEQAiQZtzRI2DZCCEAIDAjbrSVgEiQuEwgMGJGZGMCkEPeThHkOxgAItdZAAsQzGSQwxhgAg7hMCIHBIIzdDCAAjEECI2QMgMAACAxCwsYg80DmmQTGAsDcT4BtAQgDGAsBtm1zWdoACIyxELbNswljLKm1BiAN60ER62GUNLUJmKYJCQwIGbAB24DBICQJkITABgHGQlxmW0gASHLmYrHxVm/5FqUWzP0ExlxhGwCMMYDAGBACkIHWGrRaSu3qR3zYhxweHrbhKKKAeCaDQGAACQkAg8xltm1APJuk2ldGJHVd57QBEIABJMC2nTZAiRK1RkTLRAJPrXW1lFKwkQBsJAzigQQGO1tLAKi1lFrTRggJQFxhwAAWz4KAKglzmTEIG8kGsCwwCGFbAOIKgQEQAjCAEAACC0BcJgwYBIDAPIAAcT8BYGwDAhAgACOBZAAhyyBjG2RZgLjMRmAQxhgEGAMIgSTAthECjCRjAwIwFgKMMWBLYAwCjATCBoPAWFwhMMZCCAzm2YyxkMA2QoAAsEE8kMAASFxh8VyMbUkYBCDxTIIEARgAYQNYBoHB3M/GAiNABgHGIAAMgLlM2AYhcYUFIIztCAG2EYhnMwg3IwDblm2HxGV2YoyFEEgYCcA2AokrbIEAIZDEZWkLjDGWhTC2LQNCTiOAM2dOT9OUmREBGAMIbJ6LJC4z4MQCkDGXGVar1fb21vFjO+M4KoQBgwAwCGFbkoSQJEDIAoENIAFO932fmXfddU/f984EJNnYRghAxoAk7icJc2lv/9SpE5lZSpF0+513HT+2k7YAJPEsBgFgAyAAbJChlDh//sJi3kvimQzimcRzwUjVNkbCAMZCABgE2CCMwbYElgRgrhAANoCEeTYhwFgIjHgmg8AGBGADCAMgMIAACQMGgUEAGAAbMBIghACwjZCFJGEsZAyAAQziCmMBQmCDMAYwkoyFENgAGIkHEMIGA0i2BYCxAAsQAmwL8SwGkIQBIwyADOIygwCcIASAeDYBYAAExhgJgcEgMAgEIAmBERgMQgACQAAYsG1JAFgIwDyTAUBgkBAYwFgWGAMCBAbAAAiBASNJEpfNF4tsDYgStqWYphFTasFWBGYcx8xEIC4TMoAxjggkA2AbAGMD88WCTJCxJKeNIyIzhYZxmM1nTiMEdTYD1usBSRI2RhIAAgRCgCHt2WymEOBMQ0Q4E0loHMdsrU1NEjbIgC0JAGMQGKdtAwhsINMghLnCIT34QTffd/bccrkGhBAAxlgIMAYkCZCwkTLzQbfcuFjMW2uttZtvuvHue++7cPFSRAgASTaIZzLPJB5I0jS1+Xx+7TWn2zRxhYQBEBhjQABCgIAKIEBgJAw2EgIwAOYyictsCxkDYIG5TIDAXCbEAwjxQAbE/YSNhQAM2CDAAAZxhbEABJYwEpdJYABJgLEQIISQhUDYRggAY4EBMPezQYAxVxgQGAkQMkZcYSSwLQyAeCYZCwBjnovAxoAMQsYYBMYgrjASgHkeAgNIYIQQBmMMyDKWBSAQGLB5FhtkcYUAkLhCwgYQAMYgzDOJ+9kAGCQB2CBAkjEGBOZ+AjAG/c3f/u2pU6dCuueee7e3t5bL5Q033GA4d+5cV/uDg/0oetAtt2wsFpmJZBssyQAIAeIyIcvmipD+/E//4vjxY1ObbLeWfd+VEqv1cGzn2MHBwUMe8uAnPvFJfd+XUparVU6T4VGPemRrDcsYAQgQGBsEdjpr1z35SU+epoTc3Nw0HBwcbiwW62E9ju2mG6/fWMylAIPAAoQxIC4z6QxJEgYJwAkgMAghwJm1lltuuhEBYMAAgCQAzHOwDQgyc5qaJNvAzTdej2RbCCEkyTbYiMvEZQLAtgEQ2NM0gSQA20IANiCeSRIYAFUhMIBBSBgBAhBgLASAucwACACDQWAhMAaEwDwXgQ0CIwHYSBgElgAMAAYhwJhnsg0ggbifuJ9tDOIKcT9xhbEMIECyDRiBAWwQBsm2AMRlxgJAXGEhMGAsBEggyYBBgDEGAWAAxP2MZRDPYgDxLAZhns0gDOKZbECSbQCBAYyFAIQsYyEM4oHEs9ggCQMGAQZsAWBbEkKABQYZA0JcIYQAY3GFjEERhcsESMY299Nv//bvnjp16uLFi1vb2ydPnHjqU570aq/26hubW3fffdf58+fvvfe+rqvXvd01m5ubZAJIGJtnM7YlYS6zDdI4TX/zd3937Zkzt99++zXXXvP0pz39MY99TNd3f/NXf3385Mmu1lOnTj7+CU/c3d09PDjcPnZssVicOXXqsY99zDRNCsnCGAzYEjYgwJmo+6M/+tPbb7/9lltunloD337bnSdOnnjYwx96x+13vviLPzakV36VV14dHUVwP0nYBkHyTDKAMSDANoAAwAZBRExtsrnMXCYEgHkAA0bCtk2EQuJ+4ziaKyRAgABhIzAAEpgHsBEYSdxPiGcSGITAGAsZgysYhAAEBgziWYS4zCAwCMBcYQMohEFgIWOMxBUCY1kgAGRbANgW4jJjIQAQBowBDAIE5gobMAgBCEDG4n4yBgthEM9J3E/YILCEATAhAQYBGLBBXCYEgAWAwTYSTiMExgAGATIYhwQYC4HAAIhnMQhjIfEswiBACACDwCAA2wACY8xlBgG2DcJYYCOwQYgrJAALYS4TRogHkIR5JoEFCNlpDAKEjLnMRhIgZFkgZAAwgMQzOd/lnd9xGMbW2s7OTtfXhz3sITdcd/18sXjogx90tDwqpZw/f342m2NLAQaQAGMAyRiwzbPYXPZO7/j2JeK222/f2tx87dd6zb39/Y2Nxcu89EvZ7O3tbWxsvPzLv5xgc3Pj3PkLmxubm5sb0ziFgiuE0xiDQRI2ioggx9d5nde0nc4SZT2sd7Z3lkfL9bB66IMffM01p+fz+bBeRQSAwCAAIQAJwAiwAYMwUEpwmRAAjlLuO3vu8OCwdtU2YDsUCEmAwDaXGbBtAyCukIWAUsrJkydns95pAIG5TBIgDIAkG0AAIMACAWAQAOYygxCAhLkMMBUEYK4QWBgEYCQMgJAFFgA2CIEkA9ggLAkDSIABEM9kEPczCAQIbBD3sw1GPJBtAAEGgcVlwkZgEDIGwIAQBsAghLC5wggZGwADBjAWGAmEjAFAwgACYwHGAsAgcYUQWAiwLAQIkEAGIWMhJNlgkMAAiCsMgMBcYRBXGMtCAJgrbAuEuMxgDCAJjG0DlgAMAsRlBjAgBCAwCEAIbACDAIF5FiEEBjBGAkAgMFcYA2AkAAsDBsAnjh9ThMQ0NcyLPfax0zQ6TS0n5yeMT5w4Pk1Ty+R+wiDAaa6whYwFgAW4lhqS7Uc84uGZiX3ixHEbJOCaa85M43TTjTcA2dqJ4ydatmxpW5KxIdPz+ayUwrOICEnRpun666+TBNiWlJmnTp2UBEzTBGAABAaBeSbhtCTb0zQpBEgCsAEhLjOWNI7j7u6lhz3kwQaghGrXD+vBWAKDsME2SOJ+EjZgAORMoJRy8eKl7e2tWko6hbjCPAcJwDYGhMBYYACLZzIIwAaMJBAyFtVYPJNBIJ5FAAKEbSdIwoAQAgOADWCBDcIgGcDCIPEstkFgECAMSAIEYBCYKwQIwAIQIGEAgwAQgAHbCACDMAYwgJDBtpBlgbnMIK6QxBXGAgwIAcY8k8AgcT9jQCCMATAgxAMYxDMZywJAgAGDMAACENggQGAwCIwQgEEACAxgAAMYhADEs0gYzBVGwoBByFgABmGexRgAkDBgG8CADWAZJAwIENggGzBgsAEkAAM2yjRgCBGSca1VUmaWUimAMa21cZwiAqNQKCLUMjMzIvquc+aZ0ye7vrMTMBikAKUdpUSE7ZBQpNNGGJimtHNYNwlgnBq41o5MY6ALwLXrWmviMvFMAsjMUgogCSgRhswESimZaRuBQdiupbZsgO3ZvE/nzs7WarVyGsBIGKRAYAAhodZa3/W166ZxrF3d29v/u7//81d9lVeSxGW2JTCITNspBNiOQFEy03btO2dK2r10aTGfd7XKMhbiCgFgwICQBUYIEACSbBAYMIDANgiBbQABULmfeF4GYRAIEAYAxLNI2AKDzRXCWAgEAMZCAEjCWBLCthBgg7ARl0k8gLnMGIRBgACMhcAILDAAAsAgEFcIkCRhI8kGkGwjEGAuUwibZxGyeCYbsCUBAoQxAGAQGElgEGAsCYMAZEA8i8A8J4FBwgDm2QTGtgQIgQ0SAgDbgABkLARgEAiBjSRjg0DIWFwhAIHBAGAQAEYCYdtWBGAuMzaIK8wVAiQsG4wxVwhJYCRF6OLF3dV6kABAtoGIiAjbx47t9H2fmV1Xh2E4Wi+HYVws5vP5fLVc3nHX3Q+65aatra2Q0gaEsAFsSZcuXRqGgWdSlAiF7YgAb25s1lptI0ooFBcuXtzZ3lZIcPaIa7YppZRaDIBtp21jSxwdHh4tl0CmbUcIZKcU4M3Nzc3NTacBoJa6t7+/sbEAuq4+4yl3nrnu9GJjnplpAxJX2MZcZhAAjNNkG3B699LeTTdej713cCAASimtpZ3DMM7n882NRWYCUWKa2rhezWZ9LfW+s+fA1113rW0EABYCc4WFAECAsRACA0YCbADbQiAJwJIMYABkDOAqZFvCgEEAQjyQjRBCBgSAMSAABAYkQICEDRgLIWRxmTEgQGAus0EIAzbPJgABAsAyCDAWMhYCbAsZC1kGhADLgBD3E4AQ2AYh29zPAAhhDCBsyRgQgMACI4wFBgxCAEIYS0KAANtCGASAQQKEjMDY2EhcJsRzsAEQwlwhCcBIMgDGgJAkMAgQAvOcJMCAEIDAgIwFgMACg4QBEBgMAiQJsAEkWcYAQsZCCIFBCJACBAlCYABjgc3bv+O7/flf/fXmxqako+XylV/pFb/sS75waq2v3e7epa3NzZd96ZdM/NSnPPWee+69uLt7dLQ8tr35eq//ek97+q1R6q23PmNnZ2c+n88Xc9u2QZubG4iQ3uld3/PP/vwvNxYLRRwcHL7LO7/jZ376p166dGnW94fL5cZi/6EPvmWcpq7Ui7uXHv/4J+ztXXrVV3214zuLv7orv/RPy6e8St7Sx0jYxmAkMnOaWnSLz/+iz/j6b/imkydPjOPUWjt16uS3f+u3HDt+LFuuh2Eah1d71Vca2hAR4zj+2d/89f7+/qu+yivu7Gzdcds9t/792Qv3LB/z8jfnfOZMJNtISAACGwQGgWzbns1nu7uXFov5ddde01r+wi/+coQ2Fov5bPaMZzzjuuuvBz36UY981KMesVqt+q67eHH3iU9+2nw+e9mXfsmDw4Pbbr+ztenEieOSMMYGMIABJJ7JBgDLAAIksAFsS0JgDJJkjAFsELIBqLYBGwTiuRkAgW0QgMCAJGwwyDaAkQBhQIAQGMQDCBnLIIQwwsYCIWMhY+5nW5IxALYBLHM/gbGQbYTAGBDYIIMAYyFsAEm2MQIQgIy5n5CxBAjMFQYQQsIGgxDiCoOEjDECkCQAg3kmI4EgDYAQAAawLLCRMM8kBAAIAAMgbINBQjyTQTwnSWAAZAwIGQvZFhgDYJANAsAGAyAkAPNMBgEYA2Asy4BtSeaZJNVSACTuZ7CdNvA5n/0ZF3Z3+64HITY3Nvqum81mIZ04dvz0mZPjNNpce+01m5sbe3v7s/nczmmajh8/fvc99zz4QbcAJcK2zRV9P8O0zM/6jE+7dGmv1mrb+NTJU+nc2FiEYrvEsZ3t1hIztbaxsXjoQx9y8eLF2ayfpnb9pt7gQeP12/1waBXzbAIighze493f5TVe/dXm83lmAl3XXXPtmYhwejabbW9tZGuA06XURz7ioefOn5c0TW1rZ3Pr9OaZG04AEWEukwChWisGhMACELa7fvaHf/hH6/XqtV/rNY+Oll1XX+1VXxmopRhe4iVfYhxHp48d25mmSYqp5ebW5sMf/pBhPYzTOJvNrr3mdNp919mWAISMAYSQMUYAAgAMGAkwIDCSwCBJAMaYZ5IkAAxodbgHRhIyFkJgAMSzGcBYXCHAmOchQLItBCAA21xhgyQBBoFBGDDPJGQbIQSAkbBtLjOSAMRlxkLcz5jLhAAENmAAgQEhgwABYAziMoENAsAAEoANAhuEjIV4IIEx5jIBCAAQGAQIW5IBjAEAYyEEBgzifsaAEIDAPJPAPJvAAAjMAxgAITBXGPNcjCQEgDEIjAUgnpOxAAS2DQLAkkAAEhiDELItCQAbQvFnf/HXL/cyL9l1VXXOc5uwAQTpbA0pohAC4QTaNElaD8NiY+tJT3jCiRPHT5w4Pk0TSGK5Wm9tbESJqHOeSw5IXJGZNoCJEBFIbRxt1xBhYvGUJz9pYzG/7rprx3G0PZ/P/+7vH3/dtdecueY0qiCeQ+PZnNPEZZIUgcKtOTNKTG2sXX/3XfcOw3DzjdeP4yQJgZGweSYhtFqv77zr7kc/+lGPf9zjo8QjHvawYRyAvuskmSskQLTWsjUkm5AihDRNk6CUknZIT3/G7ddec2Y+n2UmAAgBxoAQAAYZA0IAGAnAAEhgIcAYcz+DAOOKAHE/Y1m2ETIgBMZYIARGwgBCxuIKAcY2wkJgAAOShA2yuMwgASAAGQsZC8ASD2SDkTBgAUZgIUCIKwQgA+JZjCQbMFjIGBAghAwIYQADgAAEFoBBgAyAkHkgg7ifEM9kxLMJEBhhAAMIDCAwlgWAAAQGEOJZzDMJQMJcIQAZBIB5JoMAMAYEIGSQuMIYS0LYFgIEgBAAIDDPIsQzScIAEkJcJrCNMJYxwhgQsrN09eTJ4//wuMdfc82ZcRyFECAwSBICjFGEADDYtg0IJNkupRzdcdf5CxdvufmmbE0SBjPv+zvvulsCyTYGAYRCEhgEBqSQAGynDYQEGCFlaxcuXLjhxR4zTZMQuLV25vTJJz3pKcOwnqYJMGCDECGBjAFJIRkEgAEDGNsORWbefufdL/aYR2Ua8SwGBAawjSilDON4eLD/qEc9wvZ6WHPZej0ghMwVBiSBsIFmt8S2RJqpjYDt1XpdS7EtZAyAASEEBoEFCBkDxgJswAZJNmCMABAYSSCwEbZWR3sYhMAgAPE8jLmfwCBkDEjCGPM8BAYhrhA2AmMQWMiYZxJYyJgrDOKZDIDAIC4TGACEuEIAGMAYAAmMQYB4AAnMFQaBAYxB4n4CAxjAAAgMgMBCAMIGAIO4TAAg7idsAIEBjLlMCDAIAAMYBAgQNuJ+4pkM4jkYYwGIKwQGMAYAIQTmCgNYCAxCYBCYZxI2AmMABBaAjAEhAIFBYJ7FWIgHMK6l3n3PfYdHRxGSJIlnMQYJAIOwjQEjSQIEIEnG1117ptaamSCBIULnL1w8PDySZAMGQBGSZBsDGCSEANvGkiQZhCSBz5w5Peu61iYQwnat9fyFi5cu7ZcIY4yxwFxmEFdI4jIhBGDbthQRYeepkye2tzanqSEAIYMAYQPGGGotZ8+dv3DxUtd14IjITFBECNKWJLDdWgMUEZJtQAoJ2wBQal2v18d2ts+cPtVaExgLAIMABBgDAvNsQsZCxtgRAbLNc1IIAwBaH+2DQWCDEGAsBAaBgYiCeCYDIDAIAQiBbcBIPIsNQgACAyBjHsggAAFgENhIIGGb+xljSQAGIcQVAoMAMGCQMQ8gBIABEM8inskGQIAxIECyLWQbjATC5gqBQQAYhAAE5tmEwFxhEFfYPJu4TMIGcT9jITAIbBCAADAIQGCeSYCxEAC2eT6EbHOFADAIIcBYCACDwAYMQmAQmMuMBAACEBjbEiAuMxaAwDZItRYisLGRsLnCIF4gG4kHaNNkGwSADba7WhUBYBDYABIviIQB80wCg9o02YmEDULYLqVEKdg8kAEQz4cBECAEgI2U05RpxAMJAcYABiEopbRMZyJhc4UkMFdYyDbPImGDEBgwCIgIhdrUEM9kEAKbZxMYMAgMQtjOTIFBCCFkGwwgcZkQgKgAyFgIDAAYy9iABOjo6HCaGkIAMmAjQAJjrjCAARshCRBCADYCYwCEAAQg7HRKkmTzALaRAIElASDANgAGAZJ4ANtgQBIAsi1AgAABwgYMMsY8iwQGCTDGgG0DUkjiCttgG5AAgW1LwTNZEkgCsAHAAMhOA+YKSQgh2wZsAQIEgEESIAAMYAADQogXyDZX2JYkAQJzP5srJPHcjDHYBoMESIDEFTaAJC6zzTMZBAiMASkA27Z5buY5CAxgzDNJgAAJkIQk29zPNsY2YABzmSQQAAZAgCQADNg8kIQkwDZgI4HkNNjmCgmMQWAMgCRsJIFBEhjzTBIgCRAYBAYZO80zGbCRJCEEIDDGgCSDjAGQsA0AGCQwz0kSYBMRYAM2l0nCmAcyAALAQIkym89sEMYyxiAQYDsUXAE2FUDIGAshsCVAiGcSq9WwWq9DQggAG9tgJIwxEJIhMwEgJCRAAgTYxgYhrpAkZKdBYBsElsJ2OoGQDBGSBAJsY9sGkAAhBCBkjA2AkCRs7AQkAZIEgAFjDDhTIaeRJAmQnDbmMknONIQkhSTbxraxASRsgyRsJHGFJNkGGyRAAAhsA7YdCoQNtjEGDCBJ4rJQIC6zDTbIWIAESLItZBthW5INGLANhKQIACPJGMA2YACEuJ8CGzAGcKaxHRKSJAGQNkKIywRp85xsC0lSCEgbm8skCQyAbUk8m22QMJJBtiUBkgBJALYB2wDYti1hENgIFAEC8/wZYxAgcZmEbRvxTOYK2wCSwCAJGzCWQrYBSZK4zDaAhA1IgRMwAELglmkbIWQbBFZISJJtQJKEDRgE2JYEYJvnYhAgSWAASdzPWAgAYyeAQsKAkSRhW1LXdbP5DCGEADAAEiAwCAwAttbLfSFjAIOwjZEADAIgIhQhMAACwDyTwBgkAMwD2AASIMk2IJ7JgI0EBgkMGDCABAACg8AgACTZGPNANhI2IAkJ2yCeySCwARCAEIAQ2DZgEAA2EjYAQoBBAAZxhbhMwjaAQeJ+ErZtSQZAXCEEIAS2MZaEMRb3k2wLbBDYILAkEAIMwtzPSNiAbSRAANhGEhgEgAGDEAKDAARgWwhsAARIXGZbvBAyBsRzMAjM/QyAEALAIGMMGJBkwJYEgBBCtgEEgLnMBoFtSYABENhIso14JhtJgIRtLjMIAIMQAAaBQTx/BvEAkm0uE1cIbMBIGITABhBYABgEBkBIwgaMhA0gYWwDCPEcDAIDNpLAtiTzbAKDbUkA5jkZAIFBAAIQQmAQVzjdWuM5GMSzCCHAGFMxxmAQgAEQBiFhANQyacn9jCVhHsAACEBgjIWMhYwlYQzimYwFSNggnskgYy4TAhAYwFgAAgAExhgQ4gphWwhAYBDYIJ7JIMRzMwAC80zCtsAgABkLcYXAAAgAA+Z+BiEAAWCem7hMYAAEgLnC/MsEBkBgAMQzGQQGQGDABvEs4jKDxLMZxDMZMBKAQRIY2wDiuRkLITDPl0FcJjAA4tnMZQZAABgJ80wCwCAeQNgAQogrBMZcZhsLcYV4NoPABnGFwFxhLIlnMfczAAIQADYA4n7GQggAg3g2g3g2GwQgQNgAGIQAMEgANhjEsxkJGwnAgEFgrpAwzySezSAw9zMIDAIMEkLGGElcIR7ABkAYBDbIsgxgAK2O9sQV4tkMgIx5ANtCxoAkobQlYSMk2cYghIxtCwADIAQAktKJQQhACCEDGBAA5nkYhBAYxGXGgBAANs8kxLMIDNggxBUCgwAwVxgDQsZcJmQMCEBcZiwEGAshMMZCPJNBCNuAwAAIQAgMAgTmMhsBAhuEwCAwz2IshAAwzyRsxGUC8yy2AQQAAoMExoAQGMSzSGAMArDNM0mSwADGPJBBXCYwz8u2JC4zAOIygXk2AWCMJWEAYyEwEgZAPICwAcRzMwDCtsBcZiQhgQFsEBjEswghO0EIAHOFsRBgLMQzGQQYCwyAEA8knskgMIAxIAmDAGwkMAAYxPMSmMsMgAAExpj7CQCDEAAYCxkLAcaAkAEMCBkLQMZCCACDAGwLAWAQAvNMAsAAgLHWy33bgCQAg8DYlgSAQRIRJSJam0opabepjdM0m/XYNrYNJUJimhqillJqzWxORwnMNLWIkGjpUiIUmZnZWqYAZIxBAALAAIjnIsAYIwmBeSZhGwNIAhsAIWNAkm1ASMIGIWQMYIwxCCEAIUgbECABGMBYyCAAjAEhrhAYwCAAjAVIGACBARAYAAkbMAbEZRKAeQADIJ5FYAAEgAGMeR4CEAIDGGMk8UACg8AABkCABIBBYAAEFhgwCMwDGcQzGXM/IR5IYJ6HARDPIjAAAgPmCgkDIABAyBiDsBEgMM8mQDhtJAwYSWAkQMiYZ7GRbAsBxkIAGAAZc5kACWMbIYS4n8AYwBgQMhZCYB7IWAiBQWCMhbjMWJJtQICEAQMGDIAQGAABiPsZCyFsC5Awl5krJGwQVwgMYAyIK4SwLQABCIwxIKTV0Z6QbYQkDGDM/WzP54tf/tVfLxFbW1vHju089alPu+mmG2+/484bbrih7/vTp0791m//zpu9yRsdP3nir/7yr576tKe9/du99TSOf//3T7jzrrs3tzY2FouLu5c2Foujo6Oj5fJhD33I3/394x76kAfdd/b86VOnbr/j9pd/uZd92EMevB7WQoAksEEAAowBcYUAsAGDAITA5jKDwEiAwEiAbUkABvFMBoENAoxBYAAQ4gphWxKAQWADIDAIMBaAwEhcZhsQgACDAGFbYACEuEIAGDAAGIS4nzEgZCzEC2QQAAYMgMAgCRsJAxhjJPEs4pkMAhvJRjwPAQgZA5gXzAZAYJBkI57FIIRtQIgHMAaEeBYBCMz9DBgAIZ7JIDDPJgAMgLAtBOaZBBgDQgiBDQLABgFg82xCgLHAIIR4JgMgrhAygAHMswkA80wCc5lBABiEwDwHgXlOBgxCYBBgDBKAkTDGAhBgLGQsBCAwCAwCG4QAMIAxBgEIAbYRQmAQYCxkHALbCAEGDAgJCXFFxD333Hvu3Pk//bM/u/32O/7h8U/40z/7i4u7u4vF/Pz589vb230/sxPKXXfd88QnPfXC+Qu1nx8eHf3iL/7ybbfdfmlv7ylPeerv/M7vAOvV+olPfPLxY8eeduttv/Ebv33vPfeeOHFyHEcEIEkSAOIKYSwQGAxgYwBAPIC4QgAIc4UwgCQMBoF5JoExGBtjwBhs8RwkYWwb2wYMxtxPYEAAtm1jCwmBEEgSCIwQ9zM2GDAYMMhgEAKDAYRAiBdCIEBgAMQVxlxmDNjcTyFjADBgsDHPJAESCIQx4n7igQRgDOYKcZlBAOaZDBgMBoMAzHMxBgsJ8UAGsAEwAAIJhLCNARAY80zG2BgAgbnMIJABjBDPZkAAtm0us0EgBIgrLDAIwAAGAyAAQJIBDGAQgCSEbdvGCATmfkKAucKY+wkAGwADYGPzLAaBwYAAsMGAhUBgLjMWAiMwCAwYc5lt2wYbCyRhMHbaCcYYG4zBAmPsMCCEQLYNYLCxsRDGbTp9+tRrvdZrLOaLg8Ojhz3kIV3X9X03DuO5s+fuvffei7sXz547D0777rvvetrTb4Wyublx4sSJ6669dj6b33zzjSdOnDg4PDw4PDhx8sS99937iEc8/Oabb7j+huvHYXjyU56m0mEQxgCYy2wDBhuBkAEwALZtY9sG8wACwJgrDOaZbGPbmMssJIQBhLjMxhgMYLCNBQDG5jkZJIQxzyIEgAAAIZABDBISV1hgbLAx5pkMQkIABmNj/mUCECABIMAYi+dkQABCXCEkxDMZ2xhAEgZxmTG2AQzmMoG4wlwmQEgSSIhnkhH3MxYCwDyQeP4ExhgDYK4Q9zOAeCYhEGCMQQiBAEASgEESAjAABgMgrhDiMiEADBgwBgPGABiwAcAGAGEQV6RtW0hICIMxBnOFAYEAg7jCGAAJDIANAMZGYACbZ7JtLHGZEFcYAwIwgAEwlwkMAgFCIAAJLCEJCWQAhIR4JglJ0upoDyPJGIO4QsiYZ1JrTZLt1jKdfVd3L12KKK21kKbWTp86WUo5PDy8tLd3+uSpvu/GcRrGodauZQIRcXR4CGxvb1+4ePHM6dPL5XI2m124cHFnZ3s+n2WmEGAsQMK2QQiBQYAxgJEwYMAgAIENSDIAQggMAsA2zyTEM9kgBLZBPIsQAAYBxkI8kwEQGASAAYMQgAAwzyYAzGU2CIENgMDcz0bifkLGGAmQMTaSwCBkzDNJYCwEIDCAMYB5JiFkLAAMQggMgHgm80wCsC0ENggBxkI8N4PAAIjLjDEIAAMgnskgAMwzCQziCiEeSGAAsEE8i8BImGcTtoUQz2SeDwFgEBgExlgSxliI+xkLQDyTDYCQsQDEs0gCY57FIDAIDOKZDNgACIEBgxAYxP2MAUnYBoFtAAkABCAewBgAgQUgMAgwBiRhnpNBkmwDCAzimWyQnSAJEM9kJGxA66N97mcMAJIwYJABHJIBECDZ1FKMJTmNGIYBiIha6zSOtqMUIDMl2QZKFIXa1Gqt4zSVEk53XW0t08kVxlgAgACwQQDYIAQgsEFgnklgGwmwLQljwFbINiAJA7aRBBgLkCRh2zyTEOIKgUHYxkYSgLhCYMAGjIRBCIFBPJMBAyAADAIQGGMhY0ASRiHbgACQZDvtiMAYC5CEJFqmkG3bkoyFEM9iG4O4TGBAyACWBNiIZzIWQmCuMAaBhRCYBzAS5jIjCRkDGOOQogSWhBTG2RLbECFQyyYJExHGgtZSwrZBiAcS2AZAAAIDBiFAkjEGQGAABAibZ7JByCDuJ7ABgyRsgxACwACAQTwHYyFjITCIyyQBYIMQYBtAYBAYBMYgANsghBAYAIEBEBhjALAtCRtkLMk2RhJgLGQMgCRsA0KSbEsCg8AgAAziWQQGMBZCYBAABoEBjAEhBAACY7Q62hOAADDPJDBgAMQVsg0ghIxBYNuSZrN5a81OoEQA0zRFRERkphTGUozjWEtRRGZO0yQJWwIJwADGgAAwCGwAMEgSGADMMwkMgCTbpZTadW4JODNKDOPY1WojoQhswLbtKAXb9jCOQmADBoENQgBCABhkLO4nYQMgMMgYEOIKgQEQ2CCwQWAQgLifsaRpahExDMN8PpMCmNo0jS2krq/DMEqKCElTy2ytZZvPZmmH1HU1W/IsAoMAsM2zCQySACFjzPMwzySeRWAuM88kHkg8m0FMU1suVwpN49haA21ubkoChmEAbWwspmmK0Gq1lpTZtja3WmaESoSxwAAIDIDAIAQGIbABkETaQgAYxBUCAwYBxkLcz1gAGMQzGUDYXGYsybaQ7YgAwCAwiGeyQQgBEoDNZeYKY0nczzYgZIyRBAaBQQACI6mUsC2FRGZKSjsUrU0RBcm2hE1rU+06QWbahCTJeJomIbANIAHiuQjMs4krhIwxxkKAMSAJgyQwBml9tG8sBLZBCECAsZAxgEFcIWQMEhhCDOP4xCc95fixY7PFPFvb29uvpdxw/XX7Bwe7ly4d29nZ398vpQ7j8JAHP/jChd3Dw8NjO1unz5xp0yQBAgAExliIy2wDYJ5FwkYSGIS4zJjLSsTFS5fuuefs5sZGa9N8PrvvvrMPf/jDzp49W2sHXq7WkmzP+r7ruou7l0Le3Ny86aYbM5P7CYFBgLGQMfcTAmwDCAFgLjMIQIhnEQA2yFhgwJYCMBYyOHO+ufnTP/UzZ8+du+mGG+87e2+ttev7vb1LfTc7tnPsFV7x5X/7d3+X5KEPefA4Tnffc8911197cHA4TROwv7+3Xg/v+PZvO5/1LVOI+xnzQMZYCAGSwADGQgZxhc0zCQFgJMwD2AjMZZK4wiBsd1135133/M7v/v581l93/XXr9bq1FtITn/TkE8eP7+xs71669EZv+IZ/8id//oQnPvEhD74FmIYBqaVf5qVf8lGPesSwHiICMAZhI4QAY0BgEIAQAAYw5jIBCAyAwAZAAOKZbJ5NCEhnrbWWaicSprWplGocpY7rVRoBYCxkLDAAQsZCCAwCwADGQggA85yMBGDABiHAEGKcpsOjlaTl0dE4TVubmwcHB8eO7ezvH546deLSpX07+9lsvR5ms35ne+u+++4zbG5u9l2/XC5X61VX67XXXtNaEwLAgA3iCgEIgUEAmCsM4llsEICMASFJxgCmGguMuZ8NspAAIcsYwAAIBOZ+LqXbO3/hH/7hccvlUT+fHzu2c3S43N299HZv+1aPf8IT7777nlnfr4eh1rj33rOv+Iqv8NSnPHUcx1d/9Ve99rprp8kQAsBYFkIWGGQbgQEhMAhACgAQNhYYAEnOrLUe7B/85E/+9M03Xj+Ow/ETxy9e3H3Qg255+q23nj9/oav9vffeq9B6tVosNrqujON06vTpm2664SEPechquVQEGACDAEAIEDIGhABjQMI8mxDCAAYMAsT9BOYygSVj8UwCpJymhz3swceObe9sH9va3hzHobV2zelTteuBzc2Na8+ckaLr+3Eab7j+2sXG4qYbbjg4PNzdvXT61MmjoyPbAGAsrpAQ2IBBIIRAYGwQlwnZBhCXCQwI8SwGjIQxBsBcJoR5NgNqU9vZ2Xr4wx4SEddff13fz7JNq/X61MmTwzhGiWuvvRZ4zKMffvz49vb2dmttvVrN5/NxHJfLZZuaQsaAEGAJDBhzmQ3CRjIGCYEtBOaZDAKDQWCeg81zsG3c1Xr3Pffedfd9Oztb2TKdp04ev+OOu3d2tu47e+4VXv7lImQjrjDGAhAyFjLGCAGYK4TAIACBDeKZhEFcIQCDsKOU1Wr4vu/7wWuuObOxsei6/ujoqJQoUWaz+f7+3jCO115z5sLFC4rypCc+6d3f/V3vvefeZ9x2a0Q5d+788RPHNxYbN99044033jCNE4EAZIx4TsYCMPczlxkkYUDimQTmmYQMYK2P9hHYgA3iCiEADAKMuUwIbMRlAknjNNpeLlfL1UpSKWW9Xp84cWIchmlqfd8dHh72XR+l7O/vbW9vlxIbGxtSgEHiMgFgbCMEINuIB5AwyBgQMhYyBoQAibT39w8lRcj2er3e3t5er4dpGqWY9X06bWdrUpRauq4rpUSEbUDCBhAA5pnEZQJjzGVCtiXxAMaAkDEGCQxgjAGMxGUCEAAGyXbfdYqYpqmrFQlsk5mINk21dpJaa5KAzCYUJWwEUcuwWhsDAvMABvF8GAQGSWAbIWQshMAgbAQIbCRJPItBABgJc4UEBjsldV0HtGkCISRFrQCZoGkaI0rU6jYBkpBAOU1TmyQBGGMhBADYFgLAIADhtLEQYAwIAcYCENggZAwI8WwGGXOF6bp61z33/Omf/dU4Ds5EXHP6TKn13Lmzkt78zd4UbJvnJDBgJBljJEBgEBiEeA4GDAIDSNggY/FMkqaWd9xx5zhNi8Xi2M7O3t7+9vbWej1c2tsrJWopW1ube3v7BomTJ052fXfh4u7R4WFX63oYt7e2Thzfmc/n6RQyFuIBjAEhrhDPh3k2gW0Q4gohBGh9tA82ABhAkrEQVwiMbQQGgY0kZBsBSAGOiIiwbTsipmlShBBYCttARNi2M1sasBFXCBkDAgMgZAyIZ7IxlgSAwDw/QqUUgw2gUGstIgS2hYx5ANtgGzAILMRlxiCeySAwIDAIbBACgxAAlBJIADb3M2DAIDAIIa4QAAYMtjGS7ARsEJIASTYSAAYhsG0EBjAKiSsENgACgwAwCMwzCWxLynQ6hYwFIACBARAAtiKmcWrZFNGmxmUC80wCgwQIbMDYti1xmUop2ZoBIZBk27YkwOYySyEJAIMAQGAeyAAgyabvOoWwQQACYywEBiGwDRhJYBAABhkDQlwhsuUwTYcHh33f2azX6+PHj03TtLm5YTszASEADALAgBEYgxCAAMBYEoCRZBuBAYMAY0DIGBDPIkTfdaB0ZmZEtJYRERISdssWEYCk1prtKCUkSbZtt9Yyk8uEEM9kLjMIAIPASDyTsBEgbJ5FABjEM4GQVkd7mMsMAhACEAKDwETItkE8gAQAtrFBYAPYRhIAAuyUQgAYC6RAYCNhwEjYSIBQOp1GCGwQAkkKObnMXGYAJAHYCIxtwAiwLQkMAoMAMAYJDAhJ4goBiCtk21hgCMkmnYAABBgLjCQwEbF/cDBNkyQAbBsksBDYgCUhARhjAQhJYBvbGACBeSYBSNiSuJ+xEGCMkYRkGxAg2YmRhMA8XzYbG/NZ308tJa4QgCQBxja1xKW9/fvuO7e1tXnX3fdsbW/Pus5YCEAGQMIgJIEB27YBW9JytZrG8eTJ45kJ2BYyYEsYSeKZBEiAANvGgDMBSVKAAduGUsowjLfcdKMkrhDYNpLAgHkmIcAYsC0JAyAADAIQUigUaUuS1FqTyJY8ByNhEBgEgEFcIQljkABsCyEwzyQwzyZsCxkDQoCxDRgkMAgA21wmYcAgJAnZBgBjARKXCSEwBrDACCwA8SzifsIGJBljLjOIZxEYAFGFLGNACAEIIQAZY5DuuffsNI2SbANCyCDuJ0k8k8E2ICGFJGcaCwEGCYxBkm0bsCRJoBDDNJ05fXrWd2nbSBgUcbRc3XP3PX3fgSEA24AkAAwCjAEJkDMzDZYkSZKxkDEGMAgkhYTEZTZAZkrYCZIkhe0TJ45vbm5kSwuwQAiQsF1rvfvue8dxms06m/sZJHGZjDGAhI2xkMRlAtsGbJAxgAEQ4n4SSBhjECBsEOIy24hQALYBSWAbY4yxJCEkIBSPe/wTb7rxhjOnT09tCgUCEKyHoatVEWBFHB4uz5w5dfz4sWmabrrpRjCAHRHYxiAgQhibZksSGGMUmsbp7LlzN9xwfWZiai02khC2haZpQgACkDFGUqkFBRJpbPA4jZKc7vqeKG1Y33bHnethWCzmThtjAMQ0TbVWQAAGcT9JtZTMRDyTJDAIbDDpBNKJHVHSqZAkABsAIWEjAQLAGAhF2pkpBMaAhAAMAgNgG4SMQTICYy4zFhKSABkLhIwBSYAAECAMQoAkwBAIAIMQAAYhAwKEQWAEBgFgEAA2AmMbQGBAAALzTAIDVJ5FAAaJ+xkhNE5TZt5w/fUtEwAkAIxticvE8xLYIO5nLITAIADMFcaSbHe13nf2wtHRcjGfZWsSBtslYnd3b2Nj87rrzozjJAEC25YkBBgACZABY1uSbUDCNkjCTiwgSmADiGexzWWSbHNZRDk8PNrbP9ja2uQKYwEWAiS11oZxuuXmG0ICkLABSYBtJGyei8A8i20QEhhkpxBXCIwkYwADIGGDQWBJxkKAJAAkkTYAYCNhA0gAdpSyWMzOnTt/zTVSAxAYkFprtRRh206XEsA0tbTbNNkGosTy8ChK6bqamXYul8uI0nW172fT1IZhXSJqV5W01jDT1DJbLfWuu+9Js1ouW2uz2Swzb7rpBrc0EvcTQvfcd3YchtVqhSIiai033XjDNI79rH/iE59039mzr/Yqr4yRxGVC3G9qrdaKsBECEEAohmF8xt13z/oesA0gMLYRQhJpCzDGNoAkAEkgCTAIkLDTlhQRETGsh9OnT81ns3QKAGMhYyGuEFjimewEAWADIGQMIACMBTbPZMCIB7CMeRYLDAIbwICxuJ+xBAaQwDyLjQQIYSdIgMA8D0kYKiCwuEIIEICMhRCSalejFAQmIlprCmEAxBW2QRI2EhgAASBhIzDPJBDPYruWajvTEREluMIQkg0CRURXS0glAgFIgQ0CgxCYKySVUmwbANsREdI4TUCtvTORpmlSBM9iAAQYMEgBFoqIUkuJwAAYiWcSGIQN0KbWBAYBYBACEAA2CGwjcYWNBDhda5HUpilK2ClkEgRMU4tQprtajYXSJm2npAiAcZoADEIIAQKwAWNACGwAMIZouVjM5/N5ZiIBBttC3E8YDNhIEkhC2A7FL/zir/RdWS5XF3cvXbp06eabblyu11tbWy/zMi/9m7/1O11f3+6t3+rE/FhrTSEEIIT44z/6k/UwdF3ndDfrpLjpphsAAZLAYOdsNnva055+8cKF9Xq9Hoat7e2u7x50y03TROn6e+87+9u/+3uv8ZqvZgwIEkviAYyFJJ7FptZy7ty9i/nimmtOt6lxP3OFASEACQzYIDBXSNgWgADEA6iWcnH30j333Puwhz4kx0QCJDBCxjJIQhbYxpJqrdgG8dwkGQTmMpvLDAIECANGAjBgHkhgAIN4FoMAkHFrTQAYZAkwyDaXGYsrBAZAAMIGTAWDhEHmChkDAmMZwGnbmdn3/d/83ePms9kjH/6QaWqSMAgABNgGsMAGgUG2QRZgLC4zBqBEXLi09w9//4RXeeWXU0Ta2VIlQAhsEDIYbBtkLCSEARkD2NxP0jhNFy9dKlG6rk4tQwzDsLe3f8P11yHdffc989lsau26a6+Z2iSEwAYMGAQghMDYNsYGJMCSAAMGkADEM4VkgUEYC3GFwBIGSTIWIIEA49rVS5f2Wms7O9v7lw5KxDhNkrjs2LGd9XqYzWbnL1wMaWptPp9JiijjOEzTJDhx4nimEUgSDyBjWQgAJMAQCEm05rSFQFwmCZC4n5BAJVQiJHE/STfffNP+3t7x4ydOnjyB1HX99ddd2zLvvuuuhz/0IWeuPb29vdUyFUGmUC0lpcx8wzd6/XEYFaXWKjGOQylhCQkDNojasr3iy79s4mEYhVqbuq4TdF0d16tXfZVXfI1Xf5U2jKUUDCCEQQjxAhnbsL29VSKoYK4wBmEjQELGEoANIAAbQCHuJ0DCgAGQtre3lstVZiIuMxZgjLEQMuYySdnywoWLkgwCwLZtLjMIkLhMAALzADZgEPeTeD5sxBVScFlmzufzra3NTAsEgLEQBhsBIDAA5pkM2BKAqDbIAoQMGIPAtsBY2AYLhNrUrr/2zLFjOy1TAkBgAPFMRsYYhHkmIYNACLCNAIRa5skTxx/xiIe2zBohhJAEYJC4TJKNASGusHkmIcsAgJEE/MiP/HiIa669Zj0M21tb0zjt7+2953u9+xOe+JQ/+uM/OXH8WITe6i3ejAnLWELGAotnMwBCALZtAAEGIQQgZNtcJtmAQRjxTMYyz2IsQMKAQUJCf/XXfydx7z33bmxuZpuGceq7ur+/d/3117/2a7/Wj/7oT7zDO779L/3yrwzr9YMedMtTnvLkY8dOGIZxLFG6vnuzN32jzcVGyyawEQKMhTCXCWxbCMCAQUCJMICRANsK2RgDxhjjw6OlIsZxRJBImlp71Vd9JUUggYCcRoFBoNp5GsdxwiCElqvV/sG+bYxCpRSkzMlGEXt7+5JAYEASyBCSsSThWktrbW9/X8jYdmbWWterNcJcJjCWQbYBDGAMCGEAO1tLwOnaVUlOSwLbINkGJDkznV1XszUgokhqmW1qCtkWBhkADCDRWjNGXGYkbK4QlxmDMO5Kvef8xWG9Pnb8WGtNADKABTYGsBASGIMkAIwxD2AQIGGDENggBDYI8RwMnXTu/MXZbNZ11WkuE0IAAhsEBgnMFQZAAjDGVZKxQQYMAmwLCSUZhCQASZLxmdOnMm0MAjAA4n4iE4TABiQBYAwSDyAAJGXmDddfO7WWmcZSSAIDYBDPZIwAJITAFoAADEJgkc75fPbIRz58Gqd+1ksCnTl96mlPfco0TidOHD918sRDHvKQu+++e2oNIQQgZBkLDAIwyACY5yIBAoOwjXhOAgMgBLbAPJNACMAASABG4hGPeOg0tUc+4mEHB0eIaZr6rjs42N/e3hnH8eVe9qWd+dqv9Zp7e3v9rL/55psljePY912mh3FazOaZKYRBGPMczGVCPIABkCQJZFsSzyYhSRKCw+VK0rFjO5KMQRLr9SAAjG1CMggDXg+SJCGcLqVsb28dHBwphA1kpiQExiCFALATKRRIYOy0sZGwDZK4wjZEjFNrEYFBAIjLDIAQGCEwgACEAEOp5dz5C+M4zmfzYRjS2dXaWuv7PiLGceq6Ol/M773v7NbmJmi1Wo3jOJv3p06ebK0JIS4TGEAAkiQBAhDGIEnGIElgGQABto8f2zl2bLu1FM9kEALAABIYhEGAbAsQ2EhgDBKAARuEbEcIsA1CXGFbItO11sOjZWaCwFxmjBGAkAWAnUIIzGUGCSyEKiBkbBsBBoQAY5Ax9zPItJZcIQTmOUSU2ve2W2sSoNaapNay66rt1hpIAgSAsSRNU0NIEoBtG8BGEhiQ0w4bwCCMJMC2kCRjgxAwTdMbvv7rIQBBawk88pGPSPvM6ZNv/qZvnJmPefQjMEKIBxAgLhMYIUAIZAMgwAYZEABgAEk8J2NZIIQMmAcSAAaBmFrefOONgMQzCZuIktna1F7qZV5qHIatrRulmzIzIjAKYdtIDOOIDUIIGQPiMgECMMZCAAIjANsJFiABQhhAXGYMijhz5tTxYzttmlomEmATEgIkDGAESIDMMxnA+NSpk5IAwAYsSciYB7ANCBkA8ZwEtrlCOEupmbYNYIOMASkkYYMABAhjAyAQmdnPF3/8J3+2PDoah/XOsWNPfepTrr/+hptuuun2226/9777Tp0++fCHPewRj3jEr/zqr4ei77p+Po/gJV78xa695po2TUgYABmDeJaQMDbIXGGDwIC5QsJSAFNrrWVrDQQGulrHaQKBbWOMQwIMIAAMhJQ2gAEkGQtsJKTINAhAXOG07Yiw3ZgEAjCAsAEJwIDAgA1YlkHCgAADBqjGGACBucKyECAhCSwFWGAQRuIyGwCBQUTE537BFz/8YQ/bWCxOnz59dHR473333XDD9Xfdeff1N9zwlKc85T3f/V0Xi1lmGsCAEGCMwGCQbK4wBMJgEGkDQkhgJNuAbduSJAHGQjbDOAAgQAJTa7HJlsaSQMZI2AjbXGawLUkIABuMeRZjACxwYiEuEwhAYEAAtjHPYsAIDELGAGABEuM0AkKZyWXGgCQpVsulpNYaxhgQgCQBYEUYsAHbAMIAFjLGIGwgQZIAY9vZEmMsxBXimQQCA25Ta1ObWoZkbAMgZIG5nwGDrZBtLhNgtdYAgXkAg3gm80wCyExJkjAAAsCAQcYAJu3WGoCwEQaEAMRlBgEYYzAIg5FiXK9e4eVfdmNj447bblfEiz32MdM0KcrNN998dHSUbov5Yntr8+Ve9mVOHD9mc2lv75ozp7e2tsZxROLZhMyzCQmBBOaZBAZsCwHIBmMMIASESFNrvfve+86cPgXY9H0fCkqhTQClYJxNEc4ch2G+WABIQBvHiOAy29M4InGZEGDc9V1ErNdrSUhIIIyxLAECA0JgCRDGQgghywAGgcBUIYQxgHhOAgMgAQaQZBtbCPFsQtJ6GNar1dHh0W//1m8/9rGPTfL48eN/8Zd/JevEiRNPfdrTLl3a3d6+cVivpQCMjSVhAGNjzLMIAWDAtiRJPJNs11pDoRAwTVNrTQoZgwCEwCCuyLQAIQuDDAiQjPuuB6Y2CdWutmmaWhMCCYQAMACWZAAk2QYJGcACzBXGtRYkbMA2zyJxhUEIkFpLSRhE11UDNpIAMIhAwjZgAxKg1hoICSgRSBhkjCSek7nMRsqWgJB4AIO4n42dxoBtS1IoUogaRQpQZjOOCKGWTaAIGYXGaQIJjAGwEAKQucIYSWAsCQCDEE4vNjbaOE6tKWRbCGEMEoCEjCVJAgFCgAABCCGQMAACIwQYAInW8tprzmT6xV78xTITSYAxLiUw6ZzG6WVe+qXsxJY0tZaZ2ZoUPIuNADAICcxlFjKAjTGSuEySbQBkDCCAcWobW8f+7E//OCJuuP669Xpda/2Hxz3h3Lnz5+677/SZ09PU1sP62muvPTw6Ojo8qqW8xmu82u/93h9e2ts7OjoEvezLvPSFCxfOn7+A/ZCHPPhRj3rEMAxCgLFx13VPecrTzp+/8HIv9zJ2ArYBhBAIG/NMxhiQhAFjGXOZJMAYqJLAIMwVxkI8myQAJIQACYN4JgEIAYKP+5iPnM/6N3j91x7HsTkX88Vqtc7Wuq4++EE3X3/9dcMwICEAWQAIGSMESEgCBAgEFiSmRETIGGTcdd2Tn/zUYRwyfbRcXnftNQ+6+eZxmiSEsAHMswmBbVkAQghAOF27+sQnPWW9Wt144w37Bwfnzp277rrrbrrx+mEYJAFggw0GCcAAFkgAApsrBMY4FPfdd3YYh5BsFAGOKLYBSYBtSYYS5fSpkwZA0n1nzw/DupRwGgGSBIAzjQAwQERcc+a0AbtEuXDx4nq9jggwAALsxCAB2EiZWWs9c/q0MQIkYQBxhcCAhCTZRhICbKezRLm0t79arSRtbGxExDAOw3rY2trCXq7WiPV6OHnieN91mSkBAsAgAcKAERgDAmwECNum1PL3f/+4a685c/LE8ak1AQIDYCyEwAAoJIkrjDFCCiSEAASAucJYIInLWkvby+VSAmMISaFxdGZKkrRcLsECG4VCkmQbQNgWwiCEMLZtYzCWASEwEvczRsIGBCDbXdc947anP/3pf3zNmVMv83IvtV6ugNr3T3/6rU97+tMf+uAH337HXXuXLkk8/glP2treHMdpY7Y4ODj84z/98+PHt8+cOp2Zj3vc4w8ODvcPDjK9tb316Mc8ymmFEABJlHLp0t5dd93z8i8vp7GxjXkmA8ZCCEDGgC0E5lmEMQAgqkEgZBkbJMQVtiQwyEYAmMsE5jJjIYwxXdedOnXKmQ972DEQwmlFADhRrJdLhADbICRhjAEQABIYBAKwQSAwAgkAYwSzWX9xd/fWW5+xXK1n/ewhD3oQNggZDDIWAjCAMc9kkAHAGIfi/IXzB/sHs3m/d2nvGbfdtrFY6OYbzTMZBIAEAJLMMwnAgAAEYFxKuXRpbz1O21vbgn42w5aEsC0AcZmh1nr23Pm9/f3jx47Z3tvfX61WJ04ct933XaYlJIFsg7nMptR6371nL1zcPXPmdGYeHB6t1sP25qbxbDazDRIYgwQIG+xS6333nd29dOnkyZOtTQgQAAaBwADY2BiBQZKQBHRd/+QnP+WJT37yNaevmc3mD3vEQ/7wD/84pOPHj9eu3n3nXefOnd85vvNWb/Hms1mPAQEILIxKPPVpzzg8PIwoBoEkGztt22lb0jiOb/gmb/VhH/pBH/6hH3D+wm4tRQrwNE3z+exBN9/EsxnxLEIEz2QQQrYRiCCSFEjiMknTNElaLBbTNEVEREzTNE5jKWVjMZ/GZrvWKmEnaBon21FKLcU2AhjHKUKZaSNxmQ0IDGBZyBiQxDMZwEYCA9M0PeiWm4CHPuRBw2oNhGJar1//dV/bvNbm9rGDvUsStRTj9TCWUtvUai0f+WEfJFFrJ3Hx4sVZ308t7dzY2BhWa4UADKDQerV6qZd68Zd5mZccxzEiELYxNhjAGDBgC2wjgYwFxgAgAwIQQBUYwAAIQMIGEAaBbWMAg8wzGQQCbEsSspmmCZhWawAbyTYgYTsiMBYCIWMsBAIDEmBzPwEIQAA22FwmaZymG2+84cYbbniFl39Z2+M4DcMgCcCAELKMZQHGQjyTADBGEmgYh1d8+ZdrrdmZmS/3ci+bzvVqLUlgc4UkAwYBAgNgEABGwiAASev1sLmx+bSnP/2RD3/4Yj7LNALARsIACOwoZWd7axhGY8Q4TSdOnrzttttvufnG+XyeLSUAG4TAgDGutZ44cezoaAlIWq3Xm5tbT33aUx/6kAfPZ/OWKSEwSMIABtu1xM7O9jCMPIu4wlgGAdjGYGMAYRBG0jSOD3vYQx/0oAdtbizGcVwsFq/zWq/ZpmlqDfKxj34Utu35rHemEAAGIQCnH/ygm2yDuJ/APIuBKOXHf/T7HvGwh1137TWnTpxAkgSAMWCQASFkAwgZAwDGdjpBxggAY4xtkARkZt/P/vTP/vDSpb0zZ05ntoP9w8XGIiIODw+mqdVaz5w5c+bMmac85akRgCL0yEc88o//5M/6vjt18sR6GLe3Nler9Z133fWgB93y0i/1kuv1Wgog0xIAAsAgCwzYIAAhACQhAKclPfLhD10PA/drmV3fCVaH+/NZb7AdsLXR2WbWOQ0YxnGwvbNzzM4ZkmgtjQFjIQAjhGmtRYRtjAEhsMBgJIF5JgmwJQCBQTyADarGQgYwgBBYPJONBMbmCoO4TGAQQggwBkmyLQAsCRCAUIQAhAEJkAXG4plsMIAQYBsJYwyIZzEIIDMBT2motThtLMQVNkgIDBL3EwAGIckYgTGOCCkktdaMEQIbQABGXGYQAssYwEaAJBkEGEm2x2l8mZd6KdvT1CTZBkCyEQCJsezWGtgGLGkax8c8+pHYbZpANggAY5OZCgHZsrWUZCMUEW2aXvIlXhwxTRMSJkFg2cZOKYBMZyYgEAJsJAQgAEMAQkLCBmyuEMrM48ePCWXmYrHIzNOnTiIJjDGSbDJbOgEBCBsJMI4IDAAGGQsMgADC2Ok3fMM3dlsPwxClCBAYkGUMIJROY2zAgBAyRpIAYSOekwBjsKRpGm+5+SbdEhcuXrj7rruxYb65ubGxsVgeHS1XK4lLly4dHuwvFovadcMwgm6+6UaTXe2GYTg42L/11tt2ju2cOHFsmkYJ2zyTMBJItgEkGQQ2gMUVdokIKUOShmGQJC6ThGwDpZS0BUJAZgIYJGyBIoDMBhhjKSQLzGWSbHOZEMJJRISEDWAASQjMsxgQILBACAziCmRcAWOMsRBgLjOAsSwQkm1jIQwCbBAGYRAYsHFXa0RJJ3amSymIzJzGSZKxAAM2CAEIDEYgkBACEGDuJwBhrrApUTIbUohxHCMiFMZCXCEALMAABmQAEGAbDELYgKcp7UQqUUIyljBXCBBCAmMBQoBlQIAtwCAA20UqpQzjKMkgZAw2CGEQQiBJGEDgNFUlNE4ZCmMAc4Wd883NcbVq2cASkiScBkmOEtM0hQIwlgJsU2sp3eZ6eShASBIYAyA7bYMQAAYDFuZ+kiQQBolsjcuMgMw0dloSYBuQJEWITANI3C8zbQOAwDwnEyVqKYf7FyMiJDstMJjLLIWxEM8kkMCIZzIIMJaFeBZJmMskaZraDTdcD9x00w2PeNjD+tmsdt04jkKlFNt2rtfrRz7ykaV2ZAOP43ji+GMUISkzSykv9mIv1nXdfD4bhkGIyyQJJEAYhEEGwOaZbIRoLQ8Pl7PZfJomSWAQDyApM5GwAUk8PwaMxP0E2AkCSwIA20KAMVCmtlqt0DHAGBACQAAgmWcyzyaeBQRVyBiQAhuDjHkWY0A8k7EQNs8krjCAcSn1zrvv2d8/WCwWgs2tzUu7l2z3XXfDjddnayALYZAEBgEYS7JtnoNByDKXGSMQ6ZwvNn79136jTePxEye2trfuuevuhz70oQ9+yIOG9YAwFsIYA0IABmwJEGAAA1gWWIrHPe5xmfn3f/93r/TKr/Rij33MarlSCDAAQjyTEBgEIMtgsHk2owjANtggyelaC1KbGgYBYMDGSGAkANtYPAeDnX3f/8kf//GjHvnIzc0Nc5ltA9iJACQBCCEwptayv7f/d3//J6/4ii+HxBUCZMxlQokFmPsJEDJGXCEkrpBCTq/XQ9d10zgizfp+WA+Gvu+cNmAvV+vZfIYBMIBx13Uh8Zxsc5ki1qvVpYPDk6dO5jQBCAwgCUh7miYhYyEBGMwDCIEkYRAYMACyjbAxCCQiQlKmNzY30x6GAai1jOMoUWtdbGyu1+vlcllKEZai1DJNbRjHzc2N1tr29nZrbb0eIsSzCAMIgQEAYwESNggQtKmdOHHs7Pnz585fxIkknsm2JEmAbdsG21wmSWCQEDK2AYcCQAKwjTEAArABJGEDSODNzc1ZP7MNALaFENgAEoANAhAYY0CAhEGqxjyTEQDGIACEhMA8J/MABjCW5HTt6pOe/JSnPeWpj3rUI89fON93/bn77hunfOSjHnHLg25eT00BYCOBATBX2GCeg43EZRIANgiQlNP04Ac/aBiGzHRy6vTp2XzuTMRzkgAssACBBAgMIGTMZSFOnDi+Wq1e4iVf8uSJE601hUBgDCBhjEEG8QAStiUABBYiJIQxIMl213e7Fy/95V//zau+yiv2XZeZSAgBRiAEGBAgwJgrhFvOZv299519xjNue/SjHimEAAxgABskLhMABind+jq779z5n/+FX3zJl3zxzY0NGzCXCQFCxmAQ95ME4gojAGyncz7f+PVf/Y3b77zzIQ958Plz5zY2N6ZxfOVXfuW/+LM/v3DxYmv50Ic8ZPfS7u133DmO40Mf8pDXeZ3XGNaDFAC4RDzxSU/Z29uvJQxCEUISAJIy89z5i6XWrY3Fzs52yxQoQpJQa9NsNrv5phvBGMA8H8YCMBLPJi6TwAbS7vv+b/72H86dP1dLycxhGPu+yzT4wQ9+kMQTn/SUzY3No8Ojhz38oU94whNnfffYxz724u7u05526zS1EyeOdV1v50Me/KCbbrphHEdJQradBoyFEBgBCIx5FmOnZ7P+lptu5DKBsRCX2TYAAkCSbRuEuEzYiPsJDGAQz0sAApvLDIBQy2YMCBAABolnEwIbC0kGjAQgMNW2EGAjAJsrhLCNsQ0YAyCwEGDbGCEQwoRiWK9f5ZVe8eVe5qVbS4nW2nyxyMxpmsZxVAgQGMBIAAYQGHM/YwNICIExGAABSGKcxoc85EFcZiNI5zg1IYQssEEA4jIhrhAYAAEIYYCWecstN0uKiNbaNE2SbAMIwCAEgDBXCFnGgGwjgbnMOBA2YLvrumfcdsfBweH21uY0tZBKrbYx5pmMZQGYK4SMgcycL+Z333X3nXfd/Y7v9E7TsGqtlVIA2wDYEIAEYACEnfPF4u677tnfP/jCL/jcYVi3bKVUECCeyTwHYyEA8SwG28ZAtukhD33QyVMnuq47cfx4lGjT1HXdLQ960DXXXrNarUupp06dPHXq5DhOm1tb2SwJAyDZXHvNNadOngTAkgBJ3E/S5tb2weHRDdddM5v1mSlAQhLYjgiwDWCMzWXGYAOAuZ+RMCCuEBgDAAIk72zvdLVc2tu//vpT4P39/WlKp4dp7Grd2lwInzh+7EG33NQyFxuLCxcvXnvtNdvbWxcv7m5tbds5DIMkAGNZAIjLDCCEwIAAkIRBFrLTU05CgDEgAAwC80ACAxhJxgAGIcQz2VwhMJcJ8TyMMVcoJGTMswgAg8AAmPsZAGEABKIKAQiZB7LNFcImnUIYCQNYSBIAIAAMwnYpsbmxoRAIPLUmKbTI1gBJYEkIDBgJGwSAMZIEAsBYFgBISOKZBLbNZZIkFRfcbANgkDAABiEwAAJjEPczpRZJrWVIxplpGwMIQJIk8RyMBAKELGNs2w4JDAiBQJgocXh4dPvtd77qq77i7sXdrtZz5y+cOHGi77okucwgQIjLjG0EkJnz2ey2Z9x+1913v/zLv+x6eQgICbABocSAxTMJwOm+7+66855xnF7yJR7bpqmUYhsQ2DYYA+IygwCEEADGYADAACBpHMeHPOQhUQqZNgjQOI47O9uAkJ2IUCBaa22aQFxhLB87th2SuczmfrZBCk6eOJ62JGcCIGPbAsDgTACBAaWNETIGAIQBBOIKAWBjLrMgpGEYX+olX9K2JBTOlpmlVoydmfnoRz8K2yZbO33qlKFN08kXf7GQbKsUstm0bMMwSMIASIowCBAPZCxkjIVACBlkAQhZAAIjMBYCwAYBCEAAkjAEmGeTBNgAkpAxCAziChsQsiwEYIPEZRJXGECAZBswiMsEBkAAQDUGMEKAEVhgEIAEkmzuZyFjYyEA8Uziiq5WQ2sJSPRdb7u1CSFkDAgwgEEGCSPJmCskQMKAwAA2AAKws5Ry333nxnFURLY2TVNEnDl9ar6YZyYgMAACMAaEwAaJZ1Po/PkL6/Wws7NzaXdXoWlq2zvbx4/ttNYEAAYQMkYYCzDIRuLZBMbmMglAGNfaPf7xfzuNw+HB/td8zde/z/u852q9Pjw8esTDH5pj4zIJEGAwNkbY2Nl3/e6lvXvuufelXuoluUwSBskANhayuUIAZOZ8Nrvn3nN33Hn3y7z0izvTtiQQOG3bEs8kAQgAgW1zhUAA2GCEQIJhGGwL2UYAQus22YAjQmAMCKQAwCCEUJtaE5jnIAQGEmwjcZmwHVKt1bakqTUbCYMQAmMMxiAwCLAAGwABGIOxQRIAljg8PNzc3ByGcRiHWkvf9YcHBxElM7u+VpXMBNK5HgYBksfRWMjDgBAyCGEMAUBIEiAMAgMgZMACY1kI80zGGEk8J2MhQFwmsEEABowFgAEQ5jIBGMsANhJYyBgAjEGAsRAAkjBgbCMEtsAAWIAAMAgMgEFUAcgYMBYygJB5JgECMGAAc5kxIIQBANu1q7/7h386DcOJE8fXw7BaLrvaHR0dbW1tvfRLv0TfVSyuEJhnMgA2z2IMBiHMM9m2AQmna9fdfvsdd95x58lTp3YvXrx48eJ8MX+913udjY2NdEoCA0JgEBiMMQiMhYTSLrU84xm3nzt/7lGPfOQTnvjEs2fPRejlXvZlTp88OU0TEtjYNlfYkngA2wgExiAA8wBCw7B+mZd5ySc84Ymh+IRP+Ji+n509d/6aM6emaUICQDYIASAAQOBZP7u0t3/h/MWXedmXFrTWpACQucIIDBIYwEB6NuvvO3v+3vvue/mXe8lpmowVAsAgABsjACQEQjyTAAFgQAASCANg6PtOCkkIp7nMtoQihvXaaSkkbBtLwgIwxoDAAgTmmWQbQCCJ+5laynK1vvve+0op4zgeP3Zsa3OztYYAC8CADQJAYBDGkrjCAEIAEApJaff97E/+7C8uXdpLZ0Rsb21iLl7cfamXfsm/+su/2traKrWujpYnThx/hVd4+cwmCQAJAEkgsIxBIDAAxrbBSIAxRjyTQQiwLQSAhYy5TMgyRoj7GQTYABgEgBDYgAEsABkLIQDbkgQGY8AgwEggyVxmkA0CDGAQVxhzmcwVQghjAFORMEKAkG2EsRD3E0gCAUIIABsEYJ5N2J73/cGwdmZIG4v52bPnNzc3Tp06GRG2DUIIwCAEGAuBAQQGIR7A3E8gjCKmcXz0Yx710Ic+JEK25/PZ0dFysZhnNoQxz2QQ2CAAgQEhcBpBtnzowx5y4403dF19xVd8BUFmbmxsjOMoicsEgG0ACcSzmSvMswgJsJG4n9BDHvKQixcujNO0ublxzZnTAjCADeZ+AhCArdB99509f/78Ix758MwEJGEjMNgAYEBgELZtulruu+/8fWfPPfYxj5ymybYQBiEACxsMBsDGXGYkDEiSEPczCADbLqXcfvud4zgeHR0tl6utra0oWq3WmxubR8tlZnv4wx66mM8zExAyxoBBYABkEAJA5gojMM9mEIj1MP7D455w+tTJkXEYhosXLz7i4Q+b9bN0cpm5TDgNSEIIYYwlYYPAIIQgbduAM685c9rpjY2Njc3FNI2YWurO9vYjHvFwSbuX9m64/npnHh4ebm5uZKYkMM9mjDGI+9l2JmAQYAOAjQRIAEYS4jJbwkIYsMWzGAvMMxkAARgExuI5CBACMICQbQBxhcAYMMbmfsIgDAgsAbINSALMczAGEJgKIJ7JAEK2LQtAYIMxGIEAMCAEBjDYDklomqZXfPmXTrtNTaESESVs2jSlbSRAAIB4JiEEFjZgDAIBAAKDkSQJGyyUmRuL+dbGAmRsezGfp52tGYTAkgBjAIMAYywLAQLAzuPHdnSMlk0KjKTMTCcgZGyQeDaBuULIMlcIAWBsnoNQZs5m/fU3XP+4xz/hhhuul8CAwEggLjNIAmNKib2Dwx/9sZ943/d5T0mQkkBgEBjAPJN5lq6r99579g//8I/e7u3eZhwGY0kABjBXSIgHkGQSCUDIRggJQAjANoDddd19Z8/uXdo7e9+9LT2bzcZxuPnmm++4/Y6xTRcvXjxz5szW1mYOaRCIZ7GNBICxDIDAgMAGIWQMIDBRYj0s077pxhvGcZgtNp76lKeu1+vFfJEtkWwkARhAgAEQSCAMiGcyxoANlmIcx0c87GGPetQjnbYtSZLtNk3HH/OYkCTZaTO1yWkhzLOJK4SMDYCQJBAgwICEESAAgQ1gnkUChEGAhMAWGMAACAAByFhgLGQsAIGFeCAB2IDAWICxEIAACYyFjEFcISRhAEkIDCDuJxAyBoxxFeIyYy4zRgKDABCXmcuMsRDifpYkMAAR0Voaai1AZk7TJEkRIWUawCBsCxljJDDPZDDPwQAIJAQCCQm7RAGm1gBnIwJUu77Ugp2ZtjPTmQIEyBghBAYBYNA0NUHXd8N6iFJam4QAwAAIgSRhMAjEc5JkSYCQMTYSgI0wlpRpyEc98hEABgFgnsW2JACEaC03F4v3fd/36rqamUIYZITAAgkAhKxESJLUWjt+4tibvukbt2kyliRkzAMJxP0MBowCzGWSbQNgLGQbACliGIaXfsmXQBqnqZZqZ2ZGKO3MnPWzaZqmcULcT8ZCxggkzDMZZABjAWAsg8AAorU8trN9443X/90/PG4+n03TdOzYsWM7x6bWhIwlSRIgZCEwz2QLJNnm2cwzSQJpmiZPI/cTApCYpgkDAoMQYBDPYhshLpMCDIAkKYR5DhKAjQUyFhgLQBgEgAGSFJKEjGUMGIS5TGAQQmAMAiEwCACMZRkDQiAERsg2IInLhIyFuEIIGSMwiOfDAAYMIFQBwJjLJAyAkLEQIBASAgFCCMyzGRBYUmttvR5sr4cBezGfd13XWpum1vXdrO9tIzBCgMBg80wCYWwbEEJgEIAkAQaTztl88du//Xv7+/vXXntmvV5vbm6ePn36rjvvGofh4u4l27UrGxubj33Mo0+fPjlNkxBYADIWQlwmjKQ2Tbc97Y5ZPzt/4cLOsZ1xGB75iIcP67WEAQxIQiAwzyTuZxsQAOa5GIWEkEEYxLMIYewEA9i2wQJAUt91thGIZ7GNwBgAA0gSANjuagXSKQkwBhAYgW2nsXlOAgPmCinAAMgAAgQCwJh0LcXZkCIElIgS0aYmKW0wgBACwBgJ20KAEMI2AgEg7mfuJ5im6YZrr73humsjIqK0Nk3TJAlzmcUDmCsMBsCYZxKXCRCAbTBCCACBQRKXCQQGxP0MgACwBAgMAoxBgDECxGW2kYRtAIQN4jJjIQCEjI0xAMJOACSeySAEgMRltsAABoEABCADCAHGAiwAjHguQghAyNiYZzGIZxKYK+wEAQC4mvsZY57JICEEAiEBYFtIAiFj85xKKRcv7v7Gb/726TOnNzc2pmk8PDi65+57jh0/Bjz0oQ95mZd+qfV6LQQYCwwIQACyDdgACGMhrjD3M4DB2XW1q7Xv+mmarr32OjujRNf3s1mfmbXrSikK8WwyBovLzLNIpH3u7Pmbb7l5HKdQnDxxorUGGABzhQEM4lmMMQgAjGQQIAnANoBtYxAYwAIEBmxEKSVbAkhcZhtj2TYIAwZxmcC2JAlAYBACbGMyDZZkI57JALbdRZRSxmnC5jLbNs9iLMk2xhiMkZBkbBAupUgCoNgGgbM1RaiEnVwWUrZsTkkYCUA8k7EAAQJjnkkIAAMGAdRZ79Z2dy+tVqsTJ46XUjObEGCuEFcIzHMw9zMIAAlFBIBBgMRlEoBBIGGDsBEARgDYFkLYlgVgEAgAoxCAASHAACAAAcK2AcRlNtgWCCGMARACc5kAAQIDBhkLGQMGcT8bACEA2xgLYfMs4jJjABASMlcIGwEgMAACYywEgLgCAxUbkGQsZAxIwiAAzGUCEEIYMM8mBEZSZm5ubr7sy7xU389OnDyBvVoP6+VyGEeJra2tqU08gEEIQNgWlxkJSUIgEDIG8SzGCg3r4VVe+eWlmKYWIRvwdddeI6nUio3TdsucpkkSBhCXSRhjIQTG6a6rr/xKrzCO47VnTnNZmxoSCBCXGQCBwNxPCLAEiMsMgO1SSu0qQhI2AsRzEgzDeO7suZ1jxyQBhoioXZWaJJ4fQyiOlsujo2UpwWXGtZTadYAkLpOEjYRtwETo8PBwd/fSYmPOM0kANsgAkjBXCBkjIkISAI4oFy9cHFtz5tRaLSUzQ9re2VmtVlNrs75vacF6tdzc3Nzc2nQmgIQBg8BY5goDYBCAsQAwQGbONza+93u//zu+63s/4H3f5yEPebCf+rRXfIWXl4TBACBjzLMJCQmEkDGABSAQEbFerzc25ukUsi0JjJFkgw2qJTJTJdrUjIWMMQjANpC2JGMZkEBFy+VqPQwR0bIJScKAeDYhMOLZxGUStiQAA0ikkcAgYRsLwELGgMDGWAIJC4wQsg1IMjbPJgFgACEuMwYwYACDABC2MUJCPJtBAFIFANsAAiMEIJ5JgACEEAAGcYWEDQJj0sz6/lGPemRmTlMDNje3SkSEgMw2tSaJy4R4FiMwIBCAwVhcITA22GDuJ8ZxwpY0JSAAITNNIwYhhJACGwGAuJ8kDIAAAev1WlI6hYwlgY0BFIC5zBgL8UzmMhsBRgKRmZubG3ffc59N2kBIXGYbCdu2pFLK4eHhXffce8211zoNLOaz+86enabJNggJwNgpCUDCjhL7+wf33nvfwx/2EMD2xmJx1113j+PE/QzCmZYEBgy1lMPD5R133X3jDdf5lDFgJEmQIASGAEAAQoB5JqfrrD791ttufcZtp06dfPJTnnrNNac35vOLFy7ceNPNJ06e+Mu//MvFxuYwjNM01VJe+ZVe4djxY8N6kMAYCwAknsWAQYCxEFdI2EJkfv03fOuf/ekfvfM7veOrvfpr/OZv/ubupb1Tp05MUwMkGQMIzAMIxBUGARgLtdZOnTpx++13HhwcmQQBYCGkECBgnKZSykMf8qCnPPXpmVlKwTZIAiRh2zYWAmwDioiIaZrOnD6ZmSDMFbYR4goJIYwlAbJBCGwEgAFjGYv72WAABBgAIbCEjQFbYBAYI4RAAmwQAgNggyQBAOb5MFcIQAhsAASAACRMBYwBIYwQIGSuMGDbNsZYCMQzCdsg2yBJxvZ6vZZUa2cbAIZxtC0hiWcxz2IsJGwD2MYGwBjzAEYgBMKWpAgMGJAEILAkrjAWIBkLGQMCJGPEFQJAJWwHAWAAg5DBBrANIITAIGwQ4jIbg0FAttzYWFx37ZnVeqilZKYiMBHqum6apqm1AEnAxubGy77MS81mfWaCNjc2zpw5s14PEWFbkiFCXTebpqm1JmEJe3tr8+TxR2xubbZM8MbG/Lrrrlmu1iUCMJZJ081LG9JIIGF7c3Pxki/xYrNZny0RgAADQjyTsc2zGHGZUWgcx0c84mE333JzLfEyL/2S62GQ1NVSSgWuOXO667pxGkvEMIwbGxvTNCGQMFcYy0JgAAQWAIjLDAJAYJC+7Es+/8d+4qeP7+z8yi//8smTx0+eOD5NE4B4NgNgrjCWBAIkGSOEME53XX34wx7cMkFg25IAGwESdqn1jrvu+tu/f9yZ06euOXOqtSZkDGAABIB5NgkAShTjbE3i+REABiQBmGcyAAZxmRAgDAYBYAkAMM8msIQNwiDAAAgMGIEEYMA2gLjMAMZCYBAYBAAIAARgDIC4TAAAUA1CPCfbCACDAGwkCSFh8wACkABzRUS0ln/3938/n89DZXf34sMf/vBjO9tTazYSGAAM4jJJAAgbkITA2EiAMUgYBMggHCWmqTkbYCxJCDCAAQwYSUjCNmAQAhswksDmmQQGIWNJJQILgS0w9zMIgwCEwBiDbPNMQs6Wmxsb21tbxoDtUspyubzttjtuvPH6kyePt9YAbKTMzLQQomVubWxsb23aBoFLxHK1vvUZt91y802bmxutNQEIsJ2ZCKC1trW5sb21abAtyabUuO+ph6duXkSHG8+STqcBAWBkEPcTCDsBwBiBABAgp7e2Nne2t42xFWHAto3Z2trMzFAYS8rMTAthELIQ4jIDGMuAAAQWz2ZAodVy+Vqv/Zqv9dqv67YehqGr3TRNIABsWzyTsQCEAdsGwAbbQlwhnG4YAQYkAdggBDYiW7vummvGYTx96mS2FDIGbAshAMwzCQAbAbScMAgAg8AWIGEus0GAucwgHsggQGAMAsAgLjMIJACDAQMGIQDxLAbxHASWBDaAMQgExkI8i8A8kDEgBCBJ2AaAKi6TwJhnEgAGCSRJ4tkEBmFbCDAWAhA2IbVsT3nq00toY2Nza3u7lDCWJDBGAmPxLAYBIARCQhKSACHLAkRIxkCJuLR3cPc992xtbthWBAZQCHAmD2QbSikt05lSCBBXRAgE2LZtLBQRy9Xq1MmTx47ttJZCxpgIAWAQYCwEAAIEgACwEYjMbJk8kzPzCU98yk033fCkJz/1xV/sMZJsS8IgJGFjBJnpNPdrLR/3+CfeeMMNT3jik1/8xR4jCRuBASRxmVBrCTZgDLWPW//uIuvZ7tm9B7/0BuKBhAAQCJAwYBDYSIBtAwgA2VxmFK21RhMC3BIMgMA0bDcaQoAEGEACwLYQlxkLbJABjMAGIQtAYEtaHhzajhKSxnGUJABsnklCYJAwxkIANhK2JAzimYSQbUkGsJCFzDMZyxIPe8iDxmnCSAIwQsayeC4GwDybQQAYEIABgwAhMADmWYRtQAiDDCBAYJ7JIJ7JBvFMkoxBYBCXSbKNAIQAYwQGBBgDgA1gLPFMBiEEGANCCEBcZoSMgQogcBoEIK4wCDCXSTKX2cZCgCQMAmMsBAgycz6bvcHrvY6kvu9KKZhMg42EjEESthEYhG0QABgD5jIByLKRxGW2o5S9/f0TJ05cf9214zhIAYBBYBAgSVJrLSJq36+OlqVE1/fOxB7GUQIECIOQhEG2Sy27u7uHB0fHjx+HZhSSBAgAAQIQAoME2AA2yADmCkkCg01EdH1/6dK+FCEBSADiMgMIDCAJc4VCXd8dHB12tUYIAAHIPIBtY4EACRCabXYXLy3nm31EpC1AABgECHGFjUGAATCSQGAuc6YjAAG2JAwCEIBsJEDgUiuXiWczLzIjqWWzLQMSLiVAAOI5CCGEAJAEIGQBgAHMsxjEFQbAAOYK80ziMoGHcRRCMsbcTwAgYQNgnk3cT2AEgHkmCcDYBiQbMBIARogrBAZxPyEDSBgEBiSBASQwAmNAGADZRlxhG4EBAGPxAEIAAoO4wlgWEjJGYBDPYowBVyRsG4RBGGRbkiTMM0lgg6BEtEwhDIARQmAwCKHM3NrcNM5M24AQyGAMgG2MZSGcjpDBxoCxzWVCxgaEjW0AbGdEAK21TEsNkGQbDHJmN+v//M//6vDwcG9vb3l0dPLUia52Fy5cuObaa3cv7l5zzelXeqVXXK1WobAAYwAhY2XYBoMxCq7IbADYXGEMIGMMAiSBAYRtIWwLQGD7EQ97yN333PuoRz5cisxEAJiIyMx0YgAMgBAyDsfDH/rgu++59+EPfyiQLQEwEiDhNCZKCNkWABJt9HUP2e7n5djpGUIG8RxsJAAsAIMAEBgDBsBCmWkbsJEAJAwYBEYCsF1Kue/es7t7e7VWbEm2AUkWToNBgG1AIEnCICSRdom46aYbhQAwyDZCgHkuxhhAyBgAEEK2eRbzPAxgAwhjnk1gMCCEADAIbBAYBLbFcxEAtkHcTwAIDIABEBiQMAIM2EiAEFfYFgJzhQAQQsZgDMhYFpjLBAYhBIB5FhuBQSBkDGAMgIV4IIMAc5kBEBgDshAGAFUBEmAMIGEAjDEgZDszATBo/+Bwe3srMwEEBoF5FiHj1hpXCMAYEAIZA4AQYLvUsjxa1lpLKYBtQAhhzLPYtgGQJGxBSBJCCEACApsIoc2N+TSNJ0+eGLc2rrv+BolSSmtT19XNzU1AkkI8gBAgSZK5n8FcYdsQYIMQAhBCgCQwVxghnk3ImRmhhzzo5mma0okAMFHi4sVLFy5c7PrOtsGZBknYQGYiZv3snnvuNUhqrSkUSBKXCcapXX/9NfP5PDMlAMQ0tBPXLdrUSBCAkDFCyDIGwBgLAAQGhMCAuJ8EgABjjCRZYINBGMCZ+wcHN95wQ60FABuEbJcSkmwiiiRgmobMBEmyjcCutT791tuXy/XW5iLTAFgSzyIwxkJcZtu2bQwCA1jmWQQGQGCeSUgyBgFgBAYA8yziMgPYBgFgW8JYiMsMAoyxkHgeBsBcJrAkg3gmG0k8kJAFIGwLAdgGBALLGBACbCRxmQCBQUIGMICEbSFjzHMzyCAEBgkACYyRsG0EADYSAoOoBjACI8AgZAEYSSDAmQB27bqnPPVpJ06cfMiDbm5tAgEYBAYBGGMAxLPYFjKWBGCDuKxE7O0d/NVf/fUrvdLLl1oECACMARDPJEkSgEGtJQyZmS0RQoABDIDW6/WjHvUoA6iWGKdRikc/6tHpDGmaxtVyiWjNgBDPZknjMGZrQlwhrhASAiSBwQAW2MiAkWQZwCABAmNAEjAMI+JZjENxcHh43fXXbm1uttaAiAKkXWttrZUIO6dxlGTc973KbFwf2UDagLta77rn7P7+4ebGZmbyTEZqY0NCFjIYYySZZzNgDOJ+QggBBmxHhCQhAAQG2yDAIAwgBHRdP5t1JYL7GWqp5y9cfMpTnnrTjTfcdsedrbVpHB/5iIffeNMNwzBKCBljai2zvpcEILAAY0ASNhaXGWOEJIkHEIBQRAgE5n4GMBYCbANgHsgACACDwIBBSDLPJEACwFg8iyRhI2EABOaZBAaBuZ+5nyQAgcFIMkYAGIFBBhACMGBJ3E8IEPczz2JbCIwlBEgyBoRs8wDGsoxlQMggAIwkjLlMBiFjoHKFETIWYBCAkLFAkiQbw9Smxzz6UdPUWjaDjDFA8nxYAmMQYCxkG0CyLWTc0l1XX/ZlX7rrumzpKBjAYCwFWIAJCUgbmMbp1KkTtz7jtkt7+7YB24AkSQBCKG2nEQKEkI0xGFRCIINtbEkIEBAR0zTdfOMNmQ1hjMEAiGcSWFwhQEICgwBzhW2BuZ94AIExGNuhCIWdzuz6/ud+4RfdcmNz49Le3sZi48yZ01tbmw976ENa5mJz6zd/4ze/9uu+8ZM/8WPOnTt/y4Me9BIv/tj1amUoJcDGmGcSAAJsg4xBIGwjMAS2AQTmOQghEJgrjG0MMlcIDAhAwuYyCRvbIARgGzGMw+HhwdOe9vS9g32bvb29Bz/4FgG2ATC2nQ7EZQKDuUwIAwKDJGEsA5IAxGUCc5kACRBYFrINCAGYy2wQQmAQtoUwgG0hYyEAAwYJgQ0CQAghG4S4TDyLeTYbBRgQAguMhEGAMUZIEoABG4RAAmMbYSEECPMCGASAMUIILDASCCyEeCZzP0lgBCAuM/ezAQQGATYgARUMIABZPICxDWBbUldLCGBjMZeUmUjimQwCwBgkQGAQIGzAIAFgkLABA3a3USVlJoVSI0pkprjMRhgjbJcStauSMDvbWy/5Ei+WmdiSQMYCwDyQQeI5GCRhAyAwEgYAGwBJ2LYjAoiIKLItLpMwAALAAMi2u1qNMc9BYAAwElcYhG3bpUSEAEkRgX399dftX9rf2t6azWYhpnG4eGGYbnnQbNaBT58++dIv9eInT55cr4fNzU1AERIREaES4VIkkLjCPJMAMGAkbENILmUYRkkYBIAAQoEQGBDPJBAgnkUAGDBgLKK1tA1hkEGSNI7TtWfOnH7NU6CQFALa1IZxQgIDmCumaQKDMUgYYWNJNgIEgJAF2EYCMMgABhkBBnGZba4Qz2RAAjAWgC2EwCCEACEEBgHCILCEQQAYhITBIBAYBAaBuZ8ENmDzTAKDMEgIjAAQQraFeCYLKQAwAhvEMxkE5n5CYDDPZMAgDBgBYAABwggMYAAkAAMS2CCBucxYFgIQ2K4g2+I5CAyAABwRy2G4975ztrlCALYxBmyBQRJgjAEMgCTxLLZ5NoGRZCwkyVBLuXBx98ypk7YBBAbA1Fou7u4ZsqUkwDYCgwCEuMw2lxkDQgDYSAC2QVwhCfNMwrZtIQBJkgAR0sHBYSkFCYG5wkYA2O772eHh4VOe+rQbb7x+GCfxLLITAAESgG0kASadEXFpb39zc3OaarYcp+llXvqlMYZSorWGcLpN0zCO6/XwmMc8+rM/53PWy4OHPOQh6VytVrZDWq/XwzDO+r61BuKZzBXGWBJgI4nLSokLF3bXwxCKRuMyge3ZbGZsDGAACQHGssAgY66QjDEQodqVpz7t1r6rxkLGAgM2kiSMMQCyDdgGCyGlMyLm81mmAYwxVxhhAHOFbWMEBvNMBmHou57nYSxzmQAE5jKDkDDYIAyAADAIzHMSAoOEeSYBYBAYxBXGQjybBMYAIDAIECIMBmwMElcYkLEQgLBBPJN5NgFgHshYCMT9bIRBAAgQmPsJ24AkbAOSwOIKSRghwNhYw+oQ2zbPScIA2I6I1WpYr9eSAIQQYKcNYMAGJAFgI4FtJGHAIGSMAZAEgEFcJgAhIEKbmxsYxDMZALG/f5iZSAIk8SxCBmFzmUEgybaxADAIAbYBYyEESIDA2AYAJJ7JgBCwublRIoxtA5JsA0IGSZl59tx5SQaMsZCEjZAxD2AbkHA67dVqrVBEYBCZCUQEWMiAHSEpgHGapmkqpUgqERFhGxiGoeu6vu8FSADINhiQZBskAQgZCyFCXHvNmdYaV4hnMpKMbXe1u+e+s7OuO3ny+DCOkgAMAsBIAgMGgSIyDcY2CCFsi2eybZAkCWMMCMwVKiWcaZ6DwDyTkDEIO0rcccddZ06f6me90wCAeP4MAAaQAGwAxAMYCwEIzGUGcYV4JgMgnskghIwxCABzhTFIABiEDUIIbAMAksAgMJcZCQMgMAACA0iY+9kgBOa5GAMCEAAgMMaAkDEACEDGXCYJ80wCBAaEjLnCIDCAhuUBAmObKwQ2EgYMQkgKyQAIGQtAANggnocksA0YBIBBXCYB2AgMCIENgIwzk2cTNoCICAEIAUiyzRUGgTEIENhIGGMhsEHIGBDYKATYFuI5GEDCXGYAqbUGAmOexRjAIEnUUo2FbAMIAIMAQGCexQBIQISmqdmAJfFsxkLczzaSeB62IySFbQkhAIEBDGAhwBgEFjIGBNPUkLCNhQAECAzYlIjDo+Vdd989ny/APIAknslcIWGDANvYgMFGMsi2bUmAJAAhJGFzhW0wSAIkAdjY5jJJAEhSOrFvvulGZ/IsQsgYkIQxxlxmEOLZzHOTwBgEgAEQGASAQWCeTTyLwCBkDGCMhRCYZxIYwAAW4grxTOaZhMDczyCuEDKAAQwCwEYCgTGIZzIIAAMYC/E8DBI2AgQGIcT9DAIDmCsMAlvr5T4IGwCDEBgEgJFk22BbwkaAADAAAgMgMAAYCfNMAsAABgkA8yzGQggAg8AghABjnpdBCAEGsJAxAAgZBAYwiGcyzyRsBAZAgAAwCIxBABjEZQLAgBBgzLMYAAGAbAsQAOZZDOJ+AmMMEhgkbAshns08mwAwz4d4NpO2JAECBOYKgwBsxDMZCxkACRAYEAKMhXgAhdLOlgJjEFgIAWAjAdhI2CAExljImMuEAMAAFuIBDGBACEA8k3kgY0k8k4BaSjoxgDEAEiCezRjbliQAGYMEBjAgZCwEGIMEBgkbAWAsBBgLAcYgAWAsBIBBAMIGGwnM/YQM2AgMgACBeR5CBgkA83wIDGAMYJDAgJABLMRlxgAIAHOFQTyQEA8knoN5JgFgEFod7WEk8SwCAyBsSwoFAsA2CIEBxDOZ5yIJMGAkDBgwACCBMUjYPC+JK2yDADBIsi1AEphnEjIGMAhJmGcxFhiEjAGBDRhJAJjnIDBgEIDAPIANQgDY5pkEBgES9xPYBkAS5jKb50NgAAkbCbANSMJGwkbCBkAIbJCxEALAgAEkbACJ+4lnM88kCduAQYBB3E9gwCCeRZJt7idAwuYKybbAPF/GIAlAxgIkDJjLbCNxP4F5NgHIGJCEjQRgbCMEtgEk7icJ28ZYYBCAJJnEAsAACIzEC2IQ4pnMCyQJ2zyADQLzQBK2ARAYBCAwYBCXSVwmCdsACMyzCQAD5pmEbfEAkm0BEoBBABhjSZj7GQTYtg0YS+IKc5lBXCEwQBUgwEgABvMskmzfec+90zSCgFAAxmCnASQJIcBYYC4zzyZJ2AYADAJkGyyEwCBAYBsAG4EUyJDZMBKKwKQtUERmCiGEEHZKAoHstAHbBiRFhMAYY5AEtnkWSWAAwCBAtm1LAmxjI4QUgcDGThskSRIgMM5MGxsJSbYBKSQQtjGSJAHYAAgZ28YASAJsSyEB2EZgbMCSJEniMttgEAJj7DS2JGPABhAYJECAJEWUCNutNcCZBkkRgW07MwGkCIEkAMA2gEFgkLABhJBB2GAbg5BCwgaMQYDANhK2AZCE0waBJCRJYIwBDEiy7bRCUmBbCEBgwAZsg40ERAQ2gMAYgyRCARiDJIExaWOnDQZJYBCSMMYYhBCXGWOeSQJjJCEBdtrmMhshBUIGbEkIG4FBEhhjyEwwIEkSdtqgUkKQBpCwbRMSEvezDQAS2IAkJKctMAKDJC6zzf0kAQKbrivXnDktSQiDACQZY3GFEFgAWh3tCQwCEIDAAAhswzS1zAQhhCRswCAwAJKwLYnLbPNsAkuyzXMyCJAEtkEIgQEbhMCAQRK2eSCDAIG5TJJtnklgnoO4QohnsgFzhSSeg21JNvczz0ECwJgrJAADSBiwDUJgg5DEZQLAPCcbCQCwuULCgJEADOKZbACJywTmAQwYMBIGgQ1CCGzAAAhASMI2CGzABoGQMWAbAElcJgQGABuwhRCAbUk2EoCNwBhJANhcZhAYAIElcYVBgLhM4oFsA5JsAAnbkmwDkgDbkgAbBDZIwjYPIEACAJtnsxEgnsm8AELGIAkbMPezLYR4HpIwCGwkbCRsAAnANmAjYSPxLIZACBtAwjYIQGDAkmzAkrifbRCY50NgEADmWSRBVytgJ5IQGAkDIDAAAhBUgQ1gIQxgGQsBBkHXVcxlBpB4fgQGQGAAMICEeSZxhYx5APFAAsA8mwAE4DQgYcAgBIBBAAJLMpcZMBIGQAjMZTYIAIMAMABCPJMBEBgEBoyEDYCMBSAwV0jYIAAhsA2SsAEjYRAABgHYFgIQGACBQWCeSQAYBIABEAA2CAwCEFcI2WkQMhZCYBCAkDEGAWAQAAZAYMDmeRgASWCMkWRsI54PYyEENmCDAEDigQxC2BaAEAAgxLMZACGwQQAC8xwE5jKDwEhcYe5nnkkIAAMGDAIDRhICAxhLEpj72QYhMM8kAAwYBOaZBIBBXCGEwAYMIAlsjAUG8SwC82wCAyAwYBCAADCXGQSAJNsAYAOWBDIWz2QABCAEgLmfDZjLBBgLMICxLASAQdhovdy3zWUCJMBpSYCdIIRt2xhJCMC2JAwYQBJKp5DtKIFJZ0hcZhuEcFoRXGEDSJLAXCYJ89wEgA2yDQCSALBBgIR5JoFBAgNCtrlCYBuEAMBYiAcSNhLPZIyFjEHiBRMA5pmEbQESgHk28fwZwBgQAhAYBAgbcZmwAYN4TuKZDIDAGAtAPIvAGAMgsBAAGAshMMYABkBgGyQBGEkIpwFjjERE2Bg7UxIAMhYyLlEyUyGnbSNCYSeXGUoUYyFjQZrLLITAGAsBxkIIwEY8J/EstgEhAAFgnoOwDQgMQjyLADDGgBCAwCAADGAQAGCQMQYhsEEIAYBB2CAwAJIA2wKQMUYSwrYAMGAkLhOAwFxhLAABxkIIzLMJAAPYlgCBQQYBAmMsZACDxHMSGGNACEA8k3kmgUFofbQPNghAAGAMCAwYQ1dLREknxk6glNLStatkZloR2VqpNVuLEsN6bZj1/TRN09RKKbUWG9ul1jZNSCFJQrTW2tQABIABEAAGAWAAYyHAGBACg7hCYJ5NABgAgXkeBkBcIZ7JIADM8yGeyQAIDAIExiAADIAAMM8kMM8mMIhnMs/JSBgEgHkm8Wzm2QQGQBIYY5DAAOZZDBJX2BZCYABjIcBYCDCASxSgZUYopJa2LdFaG8dpY7HITEARmblcLkuptZZaomVGhNOllGmaEEfLVd/VcZzm83nfdelcrVbz+dy2TSmxv39YStjuur61qe97QAJjLAQYxAMIAIPAGAtAAALAgEEA4pkMmGcSYAwI8SwCBAZsCwHGQojLBGADiGczxgIkbBCSsA0YAAHGQgCAwIBBxgKDAAQ2CGwQAoMQDyQADALAIDAIQAhsENhcYSxkDABCYBAAGMAARhLPZBuEAIQAYSOwQQAAVABJNghxhRAGITDuu+622+88f/78YmMxDON1114rxW2333761Mm7774btLW1OQzjmTNn7rn77muuOXPHnXe+wsu/XCnlT//8rx50y03XXHPmwvkL5y5cDEXXdXfceeeDHnRLZl68uHt0dNTVevr0qQfdcvM4jkIA4pkMAoMAwJIwYIG5QmCQscz9xBUGAWCeSWDAAAgMNgCyuEIAGMRzMAAGQFxmLAADBoO4QgBCxgiBAfNs4jKDuEJgEAIDFsZYFoB4NnOFMSAEYBAgAQKDAGOeRcIGjIXACCEwgPE4jF3XAZIQtvu+v+22O/70z/9ia3Nzc3Njf//ArW3tbD/8YQ+76ZZbfv7nf+HEieO1lNbaxYu7pXaHh4cbGxvz+ewZT3/Ggx9yyyu94iv+xm/8zs6xnVtvvfUN3/D1z5w+9bM//0unTp5qbdra2rq4e9FmGIbM9uhHPeraa67567/5W0Nr03o93nTTTU9+ylPe9q3eXIABhABjIcBYCIF5FmMhnsVcZoOwASPEZQYhLjMIAWAAxAPYCAGAJIwQ97PAYBAABhCAABCAbWwAxBXmmQzCBgwSMjaAhQBJNiAB2CCMMRIgrjAIDGAsS8IAGAthG8AGIQDM/YwBCQwgABkDtgEEIAEyFmCQEYAUxhgACK6QeBYDILAxtqOUc+fOXdrbf/rTnzGs18+47ba77r77tttuf+KTnnzy5On1ejh37vxdd939d3//D7/9O7/7+Cc+8fz587XWzPy1X/+Ns+cvqMzuvOvuP/jDP/mRH/nxxz/hCb//+7//Z3/2F3/7d39/4cLFcZpuv/Ou1XqtkDHPYrARz2QQkrhCAjDGtg3GQgaDDYAAJAkJEAgAc5lAXGbAAGAwABIghAAhEM8inkmAADDPJASAwQDGgJABm2czBhvEsxgwYINBAOIKA0IACEAgJEnifjZgg22uMICxAYGEeDaBAAFgIdvmMnGZBKWUP/uzv3jyk558eLjc3d39oz/+k7Nnz6+HNbSDw8Mo5a//5m/uuOOOu+++58/+5E/3Lu31Xbder433D46mln//9/9weHS0XK6O7ezYvv7660qtrbVay2/8+m+cO3v20qXdaRxXq9XZs+f/6q//9vSpU6dOnlouj264/rpayzRNCGPuJ55JAGDAAAIDGBuDwWAwSGAQSOJ+krifMJgrJEkIAAyIZzEGgYSEeDaBeQDxTAYbGzCXCcyzifsJsG0QCIGxbe5nLrMBiSuMscEYMCAJARISEjJGXCEECIEwgJAkIS4zNjbGIBASGADJGDAGbGMAg5AkBDi4wjyTATAgkLGkNk1nzpw+d+780dFRP5td2ts7PDwspShib39vZ2d7a3NzWA+2FfGQBz/k0t6lo6Ojw8Oj1vLP/uzPgXFq29tb/ay/5557X+3VXvVRj3rEXXfffezYzskTx0+ePHHrM25XqTyLAQy2MVcImcvEZUIIACGBMSAkCSEkxGXmgcwV4tmEEBKAAAwgQAgAc5mxbQAbAINBPIvBPJMBAQYhEAA2NhjMZQbAIECYZzLGIJ6LDWAwGIwxgJAAgUEABkAICTC2ASFJAAYkkISEMBZIAjDgtGez/hGPeNg111577PixWx70oIc9/OFb21t930Pd2tx80pOect11128sNk6fOXPzzTdff/11e/v7mxsbb/3Wb1lL+au//KuHP+JhG4uNl33Zl5Fwejabb21tHh0tFxsbD3/4w2+4/oaXeLEXe8M3fIOnPPVp5y6ce+QjH7E8Wm5ubEhlb/9gd/fSer2OCBDPzSCEMQiwDRbPZAAZQAgAAwIQxgYMAjAGgYwNIGOexRgQABIgBAZjDBgDxgAYA8bGGCODkCTEZTbYYOwEg0FISCAJAWAQEgKBAGxAkpABBBZXCAECMICxeS4G8QASQmAMgLlCiAcwSBLCPIudgG2nsY2NMSANqwPANlcYxBVCxrZrrffce++FC7uzvkdaLpfz2WwYp+3trXPnzj70IQ+JKLc+4xnXXHPG9nq9vnhx98Vf7DHA3/3D4zcW88c8+lEXLuweHh5GRGaePn1ymqYnPflpj3j4Q6fW7r7rrhMnTlx33bVtagjMFcaAkLEQAhsJwCAwYCSusA2SMAghY0BgAyAAbIMAZIxBCEA8iwCEbCOEjDFgEM9kEBgEgJEADICwkSSwzfMSgG1JPBeDwBgDQgAYhACwQTwXAWCel7EQVwghY64wCEkYY6HlcjmbzRSykbjCaSTANhBRMptEKKbWMr1YzKdpaq2VUto0HRwebm1tllJW62EapxMnjg3DaFsSADYc7B8uFvO+71tLSeDDw6P5fLaxWCxXq5AOj45KKaWU2azPTEmYywwCwAYByLYkBAYwFtiAQQgBYBDiMoN4FgM2CEAIMIBBAoMAMAYJEFfYCMCAjSQDGBACDGBAks1lxgASBoENQjyTeSYhYwHI2LYkjDEgBCCeyUgCwOaZBAZAiMuMARC2hCEkg20hwBgAgTEIIduSjIUAsA1CAEIAGAmDEKBhdYAxBmEbc5kQksDYdldrlAI4LclYKDOjlmkcMbXr2jRJSKFShtUK0c/m2OvVqpQSEQB4HKcIdbP5NAxItavZ2jROkmwDCAwYACEwCAzi+TCSDGAAwCCuEOKZbPNM4pkMYCyEAITABiHbCCHAmCsMgMAYC4EBEBiQAgCDwOZ+NgDiMoMAMBZCAJhnEgAGbBACEM9kAISQQdjmmQSAQWAABIABEEIIzLNJYAxitVz1fa8IMAiMiYi0jYWMMSEBxooiaC0BgZ0SpZSWaSgRoDZNCgkhbK6IUKZtgwBwrTUzM1sobEcJbCBtARKAQVwhZAzYDoWdNoBxiQBsAwCSJGzAIAnzQMY8J0m2hRAYAIEBEA9kG5BkWwgwgCVxmc1lFgKMAUnOtG2QVCJsg2wjANtCCAAD5jLzTJKwQYjnS4AE2BYA5gEMAgQWgIwF5jKDeACFaJnYBkAAMgaEeC4AaFgeIGywjQFAiCskAOy0MQjARgAgsCShzJQEIGyHAshMRETYxhgLcZlxKABjIUkGMDaIZxEA5jkIAIPAIK4Qso3APJsQAgBjAAMgAMwzCQAjCWzzLJKMucIGQABgLGQMiMskrjCIK4RsIzAIzGU2CAGIZzIIABsE2JZAwgZJ2ACSjLmfkDEG8UwGMBZCCEDczyDuJ0DYwHK16vtOCgHCdi3l3rPnd3cv9f0MDNg2xoBB3E8SGLCRBNgACgmZxNg2FgARYWMb21whSWBJaYQtBZJknGnsCAHGQrYBSa21m2+6vu/6lq3Wet+9Z/cPj0optpEk2QYExpmJLYUibGMjCWzAgAFjLJDE/SQybRspFMbY3M8ggblCErYkhA0gSQKQok3TTTfdUEsxBm67/S4pFMo0GAALCacN2OYym3RiJCkEEpIA0uaZbNsmJMBIQhIgHkDCBiTZtm1bIWzbCgnZVgSmq/XGG65Lp8AGITDPJGQsMAgMgmqMBSCEMM8iKW0BIEkIMEgyBgFCxsaKAATIIgDjCIEwAiRAXCFJGIQQYBtxmXg22wBCAELINgbxTALAAMYAxiDuZyxjEAIb25IwAAKDeBZjzAMZY+4nwFiIy4wBITASgEEAGCSuEIAEyDIGEAIQNhIYBAaBhAFLAtsWAmyDAGPMM4l0AkKY52JbyCBhDGCQjDGAkEkMEjaXGcsCkA4ODq+/7tr5fNZaiwikkCS1lhFhWwKU2SRsAEkGIbABg8AAErYjArCJUNrZkssknk3C5n5dV7O5ZSulZGZmllKyZan1vvvuW6/W89k8M7Fbazdcf10pka1FCSAiMg2SJAmwM9MStiWBwDYSgG1JAiSQ7YhwJmAAMlPiMknYBpCwQYBErbW1ZjsigNaapIiIiLvuvme1Wm9vbQKr9RARN914/TgMSBEhSZJt2xGRmRFhOzMBYyGQAPEskgAQkM4SpbUmSQKTTiQAEALzALYjotY6jhNYEpDpiMhM4K67726tRQnbEgaQsLlMyIAECBmgYsAAAoPAAAiDJDAgZOw0YEBgGxBCxmDbkjC2JQEGbEkAWDyLsZCwEQ8ghJ0Cg5AwVwjA2BiQBbYRsm1bQlKmJQEW2EgABnBakpAxtkGSLEAAMkYAEoAB2yBzPwEIDMKZIATGshDGWBJXCIHBWMhgLBBCgGwDtkFOGwcBYADAABaIZxGAABAYIDMFIGMknskgjLGQJAADRhIYkLjCPIttyTyLXUqptcxnvep8Go5aa6v1MI7jYr44ODjoZ7M2TYitrc1sKZCEwCBsAyBnS9tSmlrqcrmstYui/f2jWsvm5sJpAIFBXCYwl4Xitjvu3N7aOn782N7efq11vpjv7+0vFnOJvuuQjJFAkmot8/lMZTauDjPz4PBwa2sbGIZhvR7SOZv1G4uFMw0SQsZCxoCkzGzpEiXtEjo8XPZ9JzGOk8TGYmEbDEIAgJAxSCLTt99x5+lTp2az2XK1snNne2eapsOjo53tra52kiRsBLXWEjHb2UZlXC+HYRzHsdau1np0dLS9tXVweFhrLObzTAMIjIRBYACyJZKR7VLK/v7B5sZGZhvGsZaysVikExAyBkBgLouIo+XyjjvvuvmmG1vzMAySur7b29ubz+eLjUUpFUkIDAghsIQB24BAwgZAVGOBQRbPQxIGkZkR0c26TGemTalRahmHobWMkO35fD4OA9B1dRhHLpMAgwAwCAADYGNZABgLGRAYhAxCCAwIDEjCRImIsLEtUWp1y2ma5huzaRwl2SkJY4xRqHR9TmNrbV5naQOtZbaGwAJzhTCXGYMQAAZxmRSlKDMVpZTItCQ7M9NcZhAIwCAAGXOZMUgAIDCXudQiCRtkLGiZJYptp8EAAoMAMM/Sd11rDaQQD2Qk0nbaGAM2yFjGIGMMgHEg7icEYICWre/6W2+7/ZM/9TO++Ru+bmtr8y/+8q9Xy6PHPPpR//C4x587e66Ucuz4iTd54zcQNgJjgTGA7Qitxul7v+8HTpw4YfvYsZ1z9519rdd6zYuXLv393/7dDddf/3qv/zpjGxFYgIyxwIBdu3rPPfedv3Dx8PBwtV79/u/9wakzp1/yJV/iH/7u75/xjGe8+mu8+jWnT7dMAAxMrS0W87/927/7mq/7xm/+xq9N59/8zd/effc9r/4ar/5nf/onJ06c3jvYr7W8yRu9YdoAyLJtBMa4RDlYHn3nd373DddfN7U8efLYvffc93qv97q33X7n4x73DydPnHiHd3i71XKpCGGMQcgYMC6l3PqM2/b294dhVOjP/vRPZ/PFS77ki//NX/3N2bP3vfmbvdlic9O2DWBo01RnG9/+7d96zz1nP/3TP+3c2dt++Zd/ZXNr87Ve6zV/4Rd+se9nU8uHP/xhr/5qr7xarSRhLhPGYDybzZ785Kf+7M///PXXXTes18dPHN/d3X27t33bJz/lqefPX7jmzOmXeqmXXC2XEWGMsC3uJzLzzjvv3t/fD8WFC+ef9MQnHT954jGPfvQ/PO5xx48fe+VXemXbtm2DEA8gQJjLDJKMsStgEIBBAOIKAXbas9ns8Y9/4tOeduvW9uY9d9392q/z2k984hPHcbhw4eINN1x/6dLefD7f3Ng8f+EChlCt5Q1f/3VXy1VE8Gw2iGcx5pkEFoABQAJjIQBAgIWAtGd9d+ttdzzhiU9azPr5YrE8Wl7avRQljh3bWa1Wi42NYRgXG/NLu5de7mVf9s677h6G4fDwcLlaH9vZXq/Wly7tHTtxbBrHF3+xx1x/3bXjOFoIQAAGgUFgADDPIlqb9vdXG5sL27uX9ubz2TiOpZTFYi6DeE42AgMYwFhgAQIQQqHY29sfpzbre0kRMbW2ubHY3z+otczn80xLAIjnotDZcxc2tzaF1ut12n3fS7SWkpyt62qtVRYPZO5nEPczBkDGQghAqGXb2d5+szd5477vECeO76zm/TRNN9104/Hjx7GPHT8GNoBBdkriMiHb875/2Zd56QjVUlBce+bMfD47Fccf+2KPnc3mbWoIQIAAsACBJdvz+Ww+m21sLLY2Nx/16Ef2XT8O6+PHT5w4eeLE8WOtNUVwhSgR0zSdOHnydV/ntSVltuPHj586dWp/79JNN9545sw1UeLS3r4AIcRlkoQSS0rnxnz2Sq/0iqEoJfpZd+b06dlsdv1115Jt59hOa00RQsaAEBhkzGUbG4uj5XJjc2M+6x/5yEfWrm4sFo95zKOuvfaare3tcZoABAZQBOSLvdhjH3TLAbjU8qhHPTJKuXTp0su8zEtHlKPl8pozZ7KlkBDYyEZCyKa1dvr0qZd5mZfeXCwyc75YXH/ddRI721v7+/unT59q0yTxTEaIKwQQERuL+TCst7Y2I5SZG5ubme2mm27sas2cJHGZsSwAgQAwBkAgBABIWh3tYRBCCBAYBAgQtmut5y9c/Mu//OtLly4dHuy/8Zu8yZOf/KSD/YPz5y886lGPWCw2Luzulii7uxczmW9sCN7gdV9ztV6HAoyEARsAIdtIAFgIMAaEAMBYiCsECBsB2O677o677vmDP/ij48d2kA7293YvXjx27Ng111xz5513PvRhD1uv10fL1d7e3qu8yqvceeed6/VwcHhwdLg8efLk6VMnH/f4J2xuLoZhvOaaM6/2Kq/YWgMBEiAAgQHbIIS4zNB19cKF3Z/7hV98sce+2NFy+aQnP2Uxn+9sb99x513v+97vWku1jbifBMZcYRAYhBCXGZw5W8z/9m//4fFPeEpXY5qmxcbi6PDooQ99yNNvvfUVX/5lH3TLzcM4SOLZhG277/s7777nb/7m74dhOH/h4vHjx06dOnnfffe19MULF6+55sx6tZrN52/31m8+jgOSEJcZC0BgAGQsabVc9X2vkBBgXCJuve3Oa86c3traiDof14e2S61C0ziWWksp2Jk5TRMCg3hOEtjuZzMwgG0zTlOEQmE8TZMAxGXGQggAA0SJ5XJVa+1qjVJst2yhUkoA995732zWb29ttWwlyr333XfixIn5fBZ1vl4eCKKUWso4DqV2OG0UMY6juJ8AAWAQGOhnc2yE07anaSqllBLOHMcRCdsACEAA4oqIODpazufzUiKi2M7MWqtt8B133r25ubG9tWl7tR4uXrx0/XVn+tkM1dXRfkTpug4YhqHvOpUg3VprrfFAAgBhGyKi62c4kbCdOYxjKSUixmGwM6LwvMQzmdV6vVgsIlSiZGbaSNiZefsdd914w3URwlwhYQMgsG0kIQCBQaujPUCAxLNJgAAwSGApImKaJnBr2dUaJVproMzMzMVivlqtaykRMY6DFGDACCxkzLMYBEhgwAYQz2QkkGxLErKNeBanAaTMDKmf9dPYhnG9mM+n1oBxGJFms34ap3RKMZ/P2zSls5YyTpPNMAx930kCMIAkLrONwCBAYElARCyXq7//h8eHYjafLZfLrnalFMRjHvWIUottAAMgAMyzCQwgyZjLbNda9/b277vv3P7BgSTbq/Wqr/04TQ9/+EPPnDoxTQ0BCBljAHCUcnS0fOKTnrq1uXG0PGot5/PZNI2ZPjg82t7eblObzWaPfcwjsG3uZ4MkDJhnErBar/q+DwUCY7uU8ozb77z2zOnZvJ+mKaJIshOQwjY2l0lCYBACG4RtISTsdAI2gEAhjDFI4lmEwCAA8UxGIacNtgFJtm13XXf+/Pm+67a3t1trUeLsfedOnjyhiMxWSmktAUkStoUAQJIkYwAEBgAMAshMLrNxupQwgIUUwoANgMAgxBUCExHpBJxGgGzb7rvu7nvu29hYbG9v2l6thwsXdm++8fphHARRitPGNhHCGASAJGMhhI0ESKKUmpnTNNoAEiBAEpCtLTY3kdZHh4rAPAeBAQwRkZkANgIEgKW4/Y67brz+2igBYJ5JYJ6DBBYyrkJcJjAIGQuDMAjAtiQgWyshrNKF7WxNkk0ppZYYx7GrFbDddb2xwCCwzQMYBCCEkDEAYMDcr7UmhLGMuMIGjLiiRBivVuuIqKWu14Mk49pVzDhOkkoUYLVahgIYc0SSmM9m6cQgAARgDEgYEOIKgYBsOZvNXuWVXiGdQCjAmY4Sw3qwzRXiuQlAyBhhDGAAoTZN21ubx3a2UUhgwAZMa21qDYGRMAYQAERmbmwsXu5lXxKQ5ExDiQCBDQJgGEYEwrYQSIANMgCSMAgpJCEAY4SEJIRQiYLADoUBLAlhIwzYCGMMIIwk7hcKwGTfz4yHYZBCIGQQGIfCThBXmGcSThsECJBAkkEyYEAAINuGEBHF9mJzZxqOWmtAKCQZCxnbNgjACAwCAWBCgXC662vpFuvlfiAjsG1xmQEsBJkJKIQFpBMkUMgYJMlOJMBYAGAAREQIYYxBEQJLSAHGGDIzosgIMMhSfNhHfNRHfPiHPfYxj1otVxGBeJbMXGwd+6mf/PFLl/be+33ed3l4qUQBEBgAAyAEzhQgUIABDBIgQBIyBhAgsLEQQggMgACgAmCQDWAZMAgAG3AolqvVarWMCNsgbCQAjDEIAIMkcZkEYHOZMc8kMAYhBeC0sRACAGyXEpubW2CQDALAlIgI2ebZRMV2SJKMQdgAQojLMhNACNlGcmaogNrUAIExIAQIjHkuEvZqtUISGAAJj4SEMZbEAwkAA1gGhGxzmbEQUqZbm9KWwAYBiFBwhWQMgATGYKHWchwnABwK4xFA2AgAiAguE0IAGAM2gMA8kw3iMiFjgyTAmMskIWSMwEAICNsCI2EQAsAgwAiMoev7u+6+u7V20403juOIuKJlLjYWf/kXfzmfzx/72MesVqtQAAgMBiFjAAQGCUCI5+DMxAaway2/+PM/8wqv8AonT56YpgkwxlgGENmaFBHCGGSQwAjAdtd3d919z9/+7d+/8Ru+/jiOCCEwYEBgBGnPN+aY1WoVEuKBhIyFDBK2Mc/BAAaJ+WwxDkNmIkBgIcs1SllsDasD25IAoWma3u1d3vnUyRPTOAEIAIOwAfB47bXXbG9t4TEksM2zCAE2ksBcYXOFBAbMFcYgAIENYCxjLpMBAKhgEM9kLADxTDZSy3b3XXfvHNvJNGDABmxzPyFjSZIAJIwxxhgbkGSDEAA2Uho7DUiAACBCu7uXMn38+LHWEiFkOyKWq/Wlvb2I4FlskKTVarlcrSVJkgIMSJIELOZzhBBCCGxju9Y4eeK4jUGIy4xBgAEsBMYggIgAjAUgcEgAQkiI+xmDsI0FWMZcZixJFgIwBkJSKCIwxplpLAkD5plsEAKMQ6pdtbEzMyVJskEAkmwwz2auECCBQYCxEBKAeSAhQMgyYIzBIECCzPzN3/6dV32VV9rc2GjZDAJsJAQGQADYEbG3vz8O4y233MxoEQC4RKyWyxtvvHF7a2tYD6EAAxgQ4n6WBAgwIPPc7DSXCSSbzASBAAyAQdhebB4jx/VqJUmAAPMsJiKODg9vv+OOtBEgBAiDjQAyPV/M/+5v/z5KeeyjHzUMoySQALAtScgYZANGGAyAJGNAIMVHfcwnfNiHftAjH/Gw9WqNAGxHif2Dgx/6ke9813d6x83NjZYpZFwiXv01X/3i+Qu254v5OIy2EbZrKYp6uH/w8i/3cv18c3W0J6llYqIERpKxkACbK8wzCWwEYNu2LQCDMAYk2TybARBABfEsEmBbyBhjLMj05tbWtddem61FhEIoSCMwtlUCG5FTs40ASUQpmGdyttZACEwphRBpQhgwAHJma63WWms3jaMkMMgYkc5z587vHNuJEIABGzAR8bSn3XrTzTd0XQdEBGAb6LrurrvvGcfpxhuvm8ZJQpINuNbuwoULu5f2Tp08MbVmDAgJGQM2AmPMMxmEbUkhtZYKGQMYwFjIAAjAgJCxALAtJIRBALZLKRFhe71eL1frkLA3NjdKRKYRGMSzGGOixDS1vf3DKKWU2JgvWjbbtrnMNoBkG8AGSZIEQmBxmRBIPCcDpG0DYIyFuJ/AWKFXf7VXzszVajWbzWwDIAwYBMYyljSs1w99yEMkhvUgBfczXq3Wx48fi4jMFAIhMAAGAQhhAASCNADGBowBkAAQmqbpzd7iLab1ahwHKYyFAMDp2cbmp3/qp77ES774O73zu66O9kLhtCTEFZKGYXjIgx/0kIc8KLNhkG2EAAkDWILofvO3f1fSi734S+VqXaLwLMIYwIDBBsyzGSEAAX63d33H6645M46jhIQNIGmapt3dvWEcNtkEjDE266Nl3/dHy+VdT33agx50c9d1mVlK2b10aRzHxWKhKfJoLyKy5WJzE2J1uK8I2whjIS4zBgECG2xAkkCAwAAYY0lASAinAQQACFWeySAMQggDGCRJkgRM45jOYTmuVqv9vYP5Ym677/tSytHhkUKZ7eSJE13fZVpStrZ7aa+Uktlaa13XHT9+3G5ARNnbvbQ8Oupn3Xo91K6PULZsrc1ms+2tzXEap2lCEghxmdA4TbWWkyeOtdZAEti2JdlsbW/deMN1ERKa2oRVu9oya9dN07Raro4d2x6HEYyJEk6XWqdpXK8HJC4TAhBYtZRSCzYSNgBC2FaJHNtytdrc3vY0SuKBhNPjNNmupdqepqnU6kwMwhgQAmyXKMvl6ud+4Zf+7u/+4RVf4eVf7mVferVeR8Td95598INu7rsunYgrhIwxtmvtPvjDPvrXf+O3tjY3u777nu/81pd8qZdYHh7OZ7O0JQkZt9YiwnYpBbtlttaEsEE8mwFsi2cSgDOxAYQQBoHBWOayxWKBWa5WR8vlYj5Dsi1ksFMSGDCWNA2j8ayf2UZkZt/3y+Wy73tJmSmEuJ9BALa5QuIygwTYGAAhQBLiCqHV4YFCEYF5NmFDm1725V7mIQ9+0Lg+zHRUZvP5uB7SKQmDEJraNI3jbD6XZAyAbQBkSa213QtnP/SDP7CUGJb7pRYAbO5nAASJABsQMkY8kO1XfKVXntbLlinJgABN03Ty5ImP+5iPWK3Wq/Wq6/pSIhTjNGJms/5pT3/6er2OCNuYUsqlS3v33HPvgx90y+kzC9uttcXm1u/+9u+s1us3fKM3XB0eKILLjIXAgMAASIAQCEkgns1CXGaMxTMJGzCugDEg7icwSAHmmWyAWT/7u79/3N/89V/XUmfz2aXdS+DMLKWU2h07tvMSL/Fij3rUo1erZdd1913c/au//utxGC9cOH94ePRSL/WSr/Gar75aroBuNnvyX/3105/+jAsXz19zzTV7ly619PbWVu26ra3NN3yD15/GwSAwzyQwloQYxykz5/P53/3dP5w8eeL6664dxxHIzGGYIui67t57z/3qr/3Gu7zLO4YQjOOU6WytTa3U8nu//0ePfbFHnzl9qrXW0oAAEOJ+pcT5Cxd2dy+VUiRAtm0Dtmez/nM+74v+8I//5Du/7Ztuvunm9XodIQkQYLuUcubM6cXm5t/9zd894YlP2t7etP2SL/kS111zZpoa4jJj2a5d/ePf+bNv/pbvuHDh4p/92V98//d++y0PutmtXbi4e9fd9zz0IQ9qY5OEQRgDCEnjOD75SU85f+7cIx/+8IPDw9vvuPMlX+plpHjSU562WCxWy9X+wUEpcfPNN91zz30RsX9wgDl14tiDH/KgaZoEAAIQQhgAIWMAg22MAGzEZeY5yWnbi/l8PQyHR0cbi0XXdeM0hSJqtNYEaQOSpmmSBAY7PZ/Pb7/9js3NzZ2d7TY1STyLAfFMEjaAASwAG+NMbMAYQNhgAOMogbHNZQIEJkLDOLzt271dG9fT1MBtan/3hL972MMf1nc1Mw1CtiOi1g5jzGU2gLGbx3Fdat3c2Mxs2ZokzDMJzBXGGGODJADMZQaD05alWB0eSJKEARDZWpQYx7G1tlgsWmvjMBxN42q1Pn36VGstMx90y83z2ayU0lpKGofhlltuvvbaa7BbaxFhG3Rxd3dYryEMAkBgY5n7CQAhYwCjCC4z5plMIglARlxmScaYCggBYIMQBiEAJADbma1lyyFvvvnG7a3Nm2666Z577hGCHIYR0fdz4+2tzfV6ZXuapu2d7Rd7scdi930/DGOpZRpHScA0rB/y0IfccMONpWg1DEUhyc5xarWWcRxDgTEWMgQyBiRhJAGIlrm/v3/jjdd7BJAkCRwR6/X66GjZ1TpNI4CNACEBR6vlOIySbGOnDRICEIBNROzvH9xz79nZbAYgZct0YkuE4g//+E+f8Li/f/wTnryxuXN0dFhrDYVtcNpdLadOnYRy1913nz17rnZ1Z2f71ttuv+G66+xJEmCQkAUMwzCsh67vLu3vHR4dobCnruvGYeRZhBBgANuOUMt8i7d489OnTn3P9/3gxmIBrFar3/qdP9je2jh9+tTGxsYdd961WCzuO3tWiic9+cmhePEXe8zDHv7QcRgVgbjCIINtLCRkjFCEEMa2nSjEZQIDYJANiMzs+67rut3dS5ntmmvOHB4c3nf23LXXnmlTm81ntvu+f9JTnrqxWLzYYx+9Wq0UuueeezM9n8+zpSTuJ2SMADAGIS4zFgAGsDECEAKEJAHpjAjMczMIQOjoYG8cp8ViUUs1bO1sL1erzL5ERCmtZdfVu+66e5qmBz3olnEYEYDtWd/dfufdZ89eeKmXeKydaQOSwEiAbVncTyid2RpdlYQwAAKwYL65AQyrFRICDAJLMd/cHpaHoFJKZkps7Wz9/u/94TAMr/v6r9sOj5yezxcHB/vz2azWzriUcnS0rLXUrsvMUKjq4rmzb/WWb050q6N9SdhIILAQYAwGIYwRNhISCAGIZ7IBQAIAgbExgKiI+0k2BoFBGGMkgUvEfGMHuHaxfe11NwEP2z7OCzSN62E+Kw+65WYAGwk8TVOtAbJ95tQpQmAQCBuMBIzDUPsaodYaANgGJGxHRIRw5DQ97GEPFmrTVErY1K6rtUjYvuaa02//dm8VopRSaqm1TNMUESUEvPqrvvLm5kabWu2qQk4jjIUAIcQ4jg99yIMf9ohHQPJMAsDYqPvZn/yR226//fVe/3VBYGwAiSvMOKzH1eEbvN5rv/ZrvvpytZrP+mmaxmmMCGMhMAC01l7pFV/+Xd757X/v9/7gtV7rNTY3N297xm2llHPnzt94w3WZCWAQBgEYgymlzOb9T//Mz25tb7dpnM/n4FrLu77T265Wq1rrxsbmox/1iM2NxYMfdPPU2su9zEtO05TpcRgUAjAAAjsxSAgMAmFjI4xrV7uyMSwPABAGgXkmAyAyHRHb21vnz59fr4eu77a3t46Olvfee99NN92ws7OTmQ9/2EMjlJm1FtDR0fL666/ram2tSeJ+xgAGjCRjLACMAGNnmiKFEMYYkGQ7SvS1X6/WkgABiCvEFemspbbWbIOFHvygW8ZxHIbx7nvvu/aaM7NZV2sdx2F7a7tEZC0h2QbGcTpx/Ng1Z84YAwIDAoQBMjMiQALAeD6bUWY5rQAMBjBM01T6xad+yidvbm6+57u/2w03XD+OAxHgiFiv17/9W7/z6q/x6l2trTVk0LAeXuHlX65l7u3uLhaLULTWZv3stjvufMiDH1Si7O5ekrRYzFtrpdTlcinY2Nxcr9bpVUTMZv04DGkbS+IyIcBYFmAAA5nGtgXYlgSSQNzPRoCQAVwF5jID4n7GGCSbrna333HHt3/Xd9sJZKbBdkgRIUmSJBvEerV+tVd9lVd5lVdeLVcKhQQyxkQIMABO20ayDdhGCDBArfXi7qXjx3Zsg5GEjCNiuVrt7x9EKbZLBHC0XHHZ8mh5/vxFhWyXiK6fnT1/UdD3/fkLFyNiuVwN4xCKru+WqxWma3V//6CrnQBjWVaSQkLDMHi9BhAgCYxBkF4+4hEPe8SjHrNe7mMQGGOMJAAhhJimFhFbm5t2llozU0gSBkmIUJvaiRPHP/AD3vfd3vWdkZZHy1KK7Yc8+JbNjY2pNUk8k0FCFoLM9m3f/PX33Xe2lhqhRz/6UcPqcNb3itja3Exnpk+dONGyYfe1UycFmNaS+xnLMhZECAkwYIOBzJzNZk996tN/7hd+8WM+8sNW63VIiCsMAsQVkuystdxww/W7u5dmfX/61Cnb0zidP3/x8PAIODpaRsT+waGkNrXtnZ1aa2sNYQwIsBD3EwAWQtiWsClRZovFNAySkBBCQoau1r39/Xvuufexj37Uar2WBAinAUICbGwrFIpsrdSCvV6vJS0W867Wu+++ZzafZcu+n6+G8bY77pKUrS0W882NjbNnz11/w3UhpS0AS+IKEVK/ODauDtNpyJaLxfxv/+7vv+u7v/dLvviLQIAEBjtCtOGRj3zEYrHY3Nps2SQBGGCa2p13331pb29ne6uUIsm2E4m+q0dHR2fPnj1+/MSJ48fHaVwtl+M4lnm54447HvrQh4SkUvcPDu67774HP/hBAFBK1FKf8MQn3XD9dRuLjczkCgECk1i2sR0Skm1zmZAEAgMYsCQQ2GAMANVcZsAgwEaAucyAFA9+yIPf4A1ev5QSEsIGEJcJIe6X9vFjx9brtUEGcZnAaQtxP0kIEDYSl0kgtczjx48dP7bTWhNgLGNKiePHj5+/sFtrBSRxhZC0s7N139mzKACBISIkCVrmxsbG2XPnQQC2JCTbtdYzp0+O0yTJGIExCJAiBIAEBrAEqODVaoVXUQoygIQTEQpj7ifJdtpgjBACBMYYc9k0TaXE8WM74JPHdwyCljlNkySexVgWEliapumhD37wQx/2MAAYVyvbFtmykQLEOE0SV9jJBIAQwhgkYYSAzASDBBYgJHApcfsdt//VX/313v7+fDYD2wgBAgzifgY5PXna2d6+tLe3HtYbi83Do6Prr7/OttCx48cBbEmZvve+s8d2thFXCAzCWAgMkjNLKel0WiFMKXF4ePj3f/pnr/Zqr2LbNmAwnqapm29+3zd/2/d83w/85V/8sRgAoXTO5wtCw3IlCSwF0PX9xQsXdnZ2opSQEOM4rYfxuuuuzUzuJ0mQcPHC7nw+P3nqRInSWpNkLMCWhAQcHS1/8xd+6fVf//Vmsz4zFSLi8PDwwoULYGPbBttIEWWcpvd+n/cDVkd7TiMBkjJzc3Pjvd/n/VZH+0dHR11Xu9oppJDTmbm9vTVOU0SshzXw4Ac/KKT1anXzzTfO+n61Ws3m80u7u9ecOVOiTK2ViGEcDw+Xd91195nTp7UhYyEkMNhpY5K+76Kb4Tas14AkwGmEAAEgcYUAydhGAlcQGACBDUIAGAkAtWzXnD593fU3gHhu5rkJTzk1wJgHEAIAA1gIgUFcJjAIDGBPUwNAAAaRmSeObZ88cQwbMA9gIgJxhXgmA7akzLRBPJtBCE1twjyTAQkAAQYhAAQWgMAQEQA24jJLAtIpBCCeSQhshJEAbGOMJINAku2WE6i1NBaShAAEIGMEYMxlktbrddoCICIAjACQZCyJZzKAADBXCDBXSDyTAIRsY5dSDg4OX/u1XuN1XvcNlge7BoHAGMBIYCEwCGyEITN3trf2Dw7BGxsbs1kPgFqbgFKKbZuuq3YKQIAxz2QsMFC7cunS/nw+q7Vi0tn3i3/487/8jM/9op/9iR+qpQBCEkLY0B760Ie89Vu9BRTbktI5n8///u//frVav/RLveR6WHe1goC9vb1SSylhMMbYrrXOZj02UmbaLqVgI+2VmM/6iGjZJBCBgJY5DaPxNE7DOA7DCGCAiFivVq/yKq/8Kq/2mm6DMyVhA4IQtdQ7nvG0KHHm9JnMJgSABZm5PLhUStne2kp7GNb33nPvddddN5/PWzanrzlz+vbb79y95FIKBmwQHBwcSVqv1w960C22bQtW61Vrrevq677e647r1dQmSTbCXCbJdpQ4d/7Cd3/v9y/m84/4yI9qrQEISTbPZCMJbGOQBEgCQwVjwEg2QoCxEAZAFpqmKYcBAWAQkgCMbcSzCCEwiMsEBgkQmGeSwBiDJDBgI0BgDBLPZq5oLWkJAAjbkmwDNGzEMxkkbC6zJJAAYSMADIAAMAaMhYyFDBJXGAMYwDIPZBCAkLEQYCwLsIxBSMJgLjMgCQCDMJJAABgkBBYC2wJzhQAwAJKCsCQwAALAALYRz2QbJGEjEM9iAwZAgG1JAAZkbLuUslqtdy+dvebM6TY1BLaQMYCEjQEwgBCAiFJWq/VyuT577vw115zJbELzjR3I1dGBJBvbIUXE1BrmMidIksBq07Q8Gv/oj//0lV7x5Y8fP9ZaRsSwWr70S77Ej//w981m/eHBQanVXCZqrUcH+2/+Zm/85m/6xsPyICIQmUn0T3zSky5cuPjiL/7Yw4ODzc0t26XWCxcunDxxfBjGKFFK6WodxikzbTCZbb6xBbk6PIoIO22kWA9jKZHG2cZxyHSpBei6ru/77VLe8Z3fZVwdpFPIRtJqtZqmg/l8EaXwTDIYpXMYx45O4jIZAwIgSthOp6TZbH7zzTetVuvDo8NZP+v7bpxapm+66YYQNgYJbKQS5c677l6t1ltbm/t7+4ZSYmNjA7M8PIgIkE2EANtcJikkZz7hCU84feoU9xOyLS4zSGCDJMA2koTTiIoBkDBCgLEQgLjCgFCEhG0JJEDIMgYkjIRBYAhsCwAj8WySzP2EeBaFMOYyAQiMQTybeCBJgBCXSQZxmQBQgAFxhQSWAIEFmCuEAINBCABjGQNgg5CxEIAxFgKwQQiBBQYwFsIYsAEhnklgY0ASBhCybHOFMQAWAhDYINsCEAAGJLCQbWQAY0ASBpnLBGAAg8BcIUDCAAhJ2EgANkRmbm9v/8AP/shnf+7n/dHv/dZ8PkMqpThTCkk5NUASUiiAcZwiNE0NcbC/v72zU0txZqZnff2Zn/npzY3F673Oa62HATQOw2q1Xq3Xx3a2ETa1VmCapmlq0zgqVGp54zd8/czWWhMCbC/ms42tY55WRoC4QgqBpKBUj4MQppS6Xu6/3du9HWJcrU+cPOlMg+BhD3vYOA5tauM4DcP4tHvuufGGG0IC0tn3/a//2q/P57NXe5VXWq/XilivV7uX9m6//fabbrxhvlgISqmzWY0SkrBt2tTG8VKJkATI2J7NZvONHbc1IAkJLIHIzIc+/OE4V8ulkG0ExgJbkkVR2MZWxGKxWA/D4dHRXXdfuvbaaxXKTIQhMwFJgABomY9/3BNOnjpx+tQpkJ2SaqlgkELr9VpSrdU2CGitnTlz+lu+6esx4+qwlALYNhYyiGeRQYAwyACg4AqDAIxBgDHmMoEBwLYQCIMBA0ICEM8irjDYFgYbYwPGYGwQBoONAdvmCgkBBowxCMwVtjHYmAcyIAHGPIsBg8EAGBAC8ywCMAYLhI0BIWPA2CAECGFsG4MQCIOxbRtsQEhgbBBIEgLAYLAABGCuMGDAgJCQkBACASAZAzbGAAbAgAEJwCAkhEEAGMQzCQQGQEhCYCQJYTAgDAIBlFJWq9WLv9ijP+1TPnGxsYhSSoQkSRISIAAUEnB4ePgPj3/8MIwStZaHPvTBp04e29nZSrvWcnB4+E7v8u4f83GfrFJtA621S3sHT37yU8dpWq5WU5vuuee+u++5d5qmdPbz2Xw+7/t+mkYbwNiZXdfdfudd3/md35mZEoC5zG6tbWxu/v7v/+GXf/mXz2az1lo6sYVWy6PV0VFmZqYBsBnHIRRd3y0W88VifuL48VqrbSAU49Te5d3f+/0/8EMVAWS61jqfzyNiY2OxmM8Wi/nGxiIinM5MGzAiFEgYkPFsPn/CE5/0UR/xEev1IACEAEy27GbzX/j5X/i7v/uH+XyeTmQMwpn9bPbTP/OzT3rSkw+PjsZxbG3Klpk5m/XHjh3b3t52piQhJEmLzY3FxkatFUCSwL7hxutPnjgxTa21NrU2TtN6WK+HcW9/H/O1X/eN3/Gd39PPtzJTXKFxmtbrYb1eG9sGEJdZgAQCsMHGQhKAJKAagwS2uUw8kHg2A8ZcJgkERgAYGwHmMgMYwCAQQgAYBIANIK4QMuZZDIAkQDyTAYQAEOKBJDBgSbaFeCYZCxAYAAGAwAgQGACBASFjDEIAMtgGEAIhBAYDFhiMhUBcZhDiMttCxgIDBiFsMJaEwTYGxBUGAZj7WcgY8dyEkDEgQGAQNgIE5pnMAxkDCGNJkngmYzBCkoZheOhDH3Ldtdcs5vNxmoQAikDgvq+GNk3r9WB7Np+99Eu9lJ2CtFtmtpxaSsqWW5ubP/rD33/82HFnkwRsbm1dd901119/zTRNERERtruum81nmcZkWgIJEDJuLWe1PvnJT/26b/yWd37Ht42QbWyMcWsN1Sc/5Sm/+Vu/+/Ef+1F2ioIAgjAGhIwBCSxjjKBl7u3vR4QkwHbX1W//1m/cWCxsA4Ai+r5ee+2109RaO7K9Wg0nTx6PkEEA6moFhnEUwrYBrVfDpf3D1ppt28ZCBtsQX/4VX/Xqr/5qL/FinzGOYymlRDiRmKbx9V7v9bqui5AiMt1ycNp4uVxl5vFjx5w2dvN8c/NTPvnTHv/EJ//Q939XKQHY7roO+4lPfNLxEydOHD/eMiMUUUKaz+eZ+R7v9i6173NcRQSAsR0RT7/1Gev18FIv8djMBDBCgLEM4oEMMgAA1vpon/sZBAZxP0lgDGCeTWAABOYKA1jIGCNhI8kYEOIyg3huxkKI52AeyBgQAAZJGAMggQEDBkBgEOLZzBWSwIANIGEAwDaAEAKMQWAhYwxCEgYAjDES95OxEAIDNgBCYJsrJAAbBEYS9zPmMoEBEDIA4pmMucIgiWcz5gGEjDEIQMggMBbiMmMhAKyI1XLV9Z0kSbYxpZZn3HbHjTfc8MQnPfE3f+M3P/qjP3IcRww40xIRsbd/MAzDfD6bzWalFCHbAAIQtMx77j17w/XXArbnG1uQy8OjCNncc899111/DSAQMq61AtM0CYENAiRsnkmApOVqtb29dd+9Z/u+29nZmdpUotx9992nTp/quq61LCWcRmAQz2QAY4FBUma21qapSRrHcT6f33PPfTffdKNJ2/ONbfDy8EDC5t77zl5/3TVdra21lpmZz7j1tuuuu7aUkpmZ2fezH/nRH3/wg295vTd4g9XhQZQAbPd9rzLztL79jju3tjZ3trdsVsNw4cLuzTfdcOHixa7WjcU8bUCAQRhKKc40AJIA28BqtT48PDx58sTd99x33bXXgOcbm+/8zu/++Cc88Q9/7zf6rkO6++57jx8/Ngxrp4+fOI5t7mcA465WYJyaBMYYEyUuXdobx/H0qVNPu/W2B91yUwgDIMQzGYTAIInLAKgAAsBIYMRlQghACGEQxtiSDIhnEraFsAFjBAKkwOkIZaZBEhgAAQiMMSCeg5AxAsAYCwkZZyZSKIQsh5RpELIUtgXORBJI2AYBIGNAxkJgCQAQmGcSIJ5JYO4nCQAMYCEMwgAIASADNggEFgIjCcCAQSABQjybEBJKpyRsEAJbyLZCAGlFALaxkRC2JZEASGAhBMYiJKF0RoRtIQADFkJcJgySkBBXCMBGYpraM26/68KFi10tQERBKiVqqX/wR3/yUi/54tdcc2aaJowxAhBCYAtKKV3t0gmsl4cSXa1gkEICkACMmcYJUAgDAhtkQGAQwnaJsnP8VE4rhUDGGEAKm67rulm/Xu4LMCAMYABzhSSYpnb77Xdce82ZxcZC0ubGYhgnSbUrzjAelgdIfVdtG0oEZpomg6S+66+7/tpau66rAKbW+iqv8opbW1s5rhUCMJKGYQhNCkkBQrITkGT79KlThMb1OhDYtnGmszVnllqLIjNtt9YAZ+7v763XQ+iUABFoWq+/+zu/ZRyn2Ww2jVPtqp0RsXdp/2D/YDbrpej6LiIAsA2wXg+lFgkbYYFFZh47tiPRmpEwhGSeSVwmDMZYxhIgQFQAAxjLAiSlUxbigVpmKUVBm1qUkpmSEFj9rGtTi4iWE2mkWuswDG1qfdeth2GxWABtmkDYXGHAQjyTQSCwMQgMABHRWtZakUKSNKzXU5tKlGEa5/N5a03SMIwRAZRSwELTNNVaDNiAEADGMkbCIAAERhICwAClhG1spKJomRjsiHAiKSJaNkk2gLEQYAQWSLINwtxPAmNAgBAYAKG0m1tXu3EcS61AtiylZLqfz4ZhcGbfz9brlRSlFNt2Oum6bhzHrlZEaxmK1to0ta7rBNM0tcyNxWK1WkUEOBSSDAIMAmQMIBCAkDEgEZLtYVh3XRdSqSUihIBpGt/sjd/AdpsmgQEBCAHYSFKsV+tz589HhCKyNaSIEGTmsF6HIp1ITuyMKMaYBzIWQsJ20vXdXXfe/WM/8VMf9ZEfatsYQELYubmx8Wd/9he//wd/+BEf/iFtaghhEAAWIEmaptbaZPOgB90cEbZtTy2BaRp3L14ylsI2QsjYmethjWQsCZPZFotFay0ibEtq2R772Mdka8M4SsI8y31nz9544w1gJNtC2K210s3f/T3e4yVf/MU+4eM+em9/v9YakiEzgfvOnT+2vT2O42JjkS33D/Z3do6VUk6dPFVqaS1tMEittYiYzfppnACMJOCaa8+cOn1yNp+Pw5iZhweH88W81oqYzWZEtz46UEgCJAQGaq22M5vAGAQgBCDbCAQGZFsCY8BUrhCyjIVsCyFsI0hKLXt7+7/3B38yDqvWvL29tbe3V2rpum5ra3O9Hi5dutR1/Xq9esM3eP3z58+j+Nu//duu1Ouvu+amm29+whOfJCil3nfffafPnHrd133t1XIpSTyLQQZsAQKDDNjuuu4Zt93xV3/z99dec3oYhvVqfXh0tLmxAfR9f3h4KPFKr/xKf/WXf11L2T882NneOXf27DS1UuL06VN33nXPW73lmy4W88wUBgBjAQYMAjAIDAaBsH10eBillFIkHa5WG4sNhaRYr9d930/juB7GxWLeptbPZtM4llpaa1KEJECMw1hqsS0EBnGZJAyAMQCShmn61V/7re3t7fV6ffzE8cV8dscdd5w6dfrBD7rl4ODgCU94Qtd1rbXFrD9armw2Nzde7MUee+nS3pOe9KSt7a1hPcwXi729/QsXL7zCy73cufPnjw6PZrPZQx/2kL/567+dzWar9VBKDOvxxMnjwGu/1quNw4h4IAkQDyCIKEfL5cu/7Eu//Cu84jQsMxPAXGZJU2sYBIAAhMAgkNNdV3eObd99z72nTp4spaxWK0XMZr1t7MVikdmksI3AgIUAMJIssAGBDbIzar3nvvv++u/+YW9vPyJsC2EDtin13vvu+/t/eFwtZZomWQjAOCQp1sOwXC7n81mtXUjGTgMIZ9Zadna277r77mPHjpVSjIUkSRrGYXNjo5RoU0OAkUJqrTktYQysViuhUADGTs83t37nd37nAz7wQ//0j3+v6zpsLjMggFd8hZd78INuUZS+60stAkMp5eDg4Fd+9dde73Vee2dnp5RSaz1WjtXaRYTgaU9/+vb2NqKWohDGGLt0ne1SSin16PAQ+9TpU9PU+lkPbGxuSloul5Ke+tSn3X77nW/0Rq+/Xq0lAcZTmza2jn/pl3zJ/uHh533u52amuJ+xACOeSZJtCWMsBFSuMM8mMBhAKDG2JEmnTp4cxhG45Zabtre3b7/ttlnfb8wXq+Xy9OlT586dS+fe3p7R9tZWV+tsvohSFou5kO2Tp0488hEPb+MkBAAGYZCxEM/FAJiuq9O43tvbD9Ha2Nd67NjO8WPH1sNwy8037e/vb29ulhLXXXft/NJsHKfHPPbR6/XQxnG1Xl933TWSBEKAbTCAhAABGGMhhI0AE4q/+Ku/uXRpbzGf7+/vX3fdNQ97+CN+8Rd/aTGfTW06c+babG2xmD/q0Y/6g9/7g4ODg9Nnzlw4f+Gaa0/fe899/Xze9/2DHvSgzc2NM6dPnTp1chonCWMhABsJAwYZS8rMBz3oZuD8+Qt9V3d3dxfzOfjw8GBzY7GxsSildF1Pttr1dm5v7xwdHW1vb5VaNjc3bQ4ODsCbG5vnz5/HLDYWfd/P+n5za+u6a6996lOfdsMNNyyPll3frdbr1hoCkAQYg2ywQQjzLI6IYRzbah0R4pmMhQBJCMxlNgAGMBARFy7u7u/tvdhjHwOuXX/bM55RSrn++uvGYehqPXvu/NOf/oyHPPTBtkOR0DJLFMAgGwkjwIAQEbE+OnqZl37J7/mu78hxee99981mc2MAE6UcHey96Zu80Zu/2ZuM4yhJYMCO0DhNH/txn/QRH/4hj3j4wwCDMYAAbNdax2m6uLv7sIc9ZDbro5Q77rirZbvllpunYZB07vz51XI1m88yU2BbUEppbaq1w0aEgsuMhQhyHB7xsId+5qd/yubG4mD/sO8BjIVCZVwffuRHfjSQ06rUAoCw29Tms/n7vvd72pY0tSZTooCH9bq1dvr0qePHjz/jGbfffvvttatSCFpmRAgyc7VeX3fttXfccUc/m21ubWZLRCkhNJvNF5ubf/iHf/Tnf/FXb/Qmb2QsBBhLAm/vbM8WczCABICRMM8mgQFJYFkIjNZH+zwXgUE8kCRQ11Xb09S6rrbWbK6otbbWSimtTa0l0M9m2do0TRHRWuv7HtvY9jROksAgsI0kMICEDUJgrjAupQzDUGuttUQUUGvNTqF0llKmqUUE2CYzu64CmKm1vu+HYY1BYMAGQAACjAEhMAhA2ETE2XPnnva0W4VLrTffdON8sXjyk550cHDwkIc+9NzZc621hz3socMwPu3pT1seHp259tpLF3cXG/P1atUya+0UMZ8vHv6wh+zsbLepSTw/4goB1FozMxTTNCFJws5skrq+n6YG1K4bhzFCkqZpigigRJna1HUdOFu2bCCg1tKmpghJpdY2jkjTNJUSmYlBCBkDktbroatVIQBju9Ry2+13XXPm1Gw2cyaAeCaDANkJAgsBBgHCaUmGg4ODxWJea20tay17+wchbW5uZjagljKM43o9HD9+bJqmzJymKSLaNHVdL8kYEIAAY0DIdmvTbDY7e/ZcP5vt7Gy3qZVS7r3vvlOnTkrCIB5IUmvtqU992oMf9KD5fNZaSjIGBDYRsbe/NwzjiePHFbJdaz1/4YKTU6dOtNYiAnR4eFgiNjcXmbZtG6lNTaGIAAAhY0AAAmpXo/aehtvuuHtrc3NnZ9P2ej2cv7D74Ic8+Lu/+7tOnTr9si/90tdcczozJQEYhI1tO0upIR0cHmL3s76UOpvNnvrUp5aIa669xnZrOU7T1ubmarlsmbNZH1KtVYrDw8NSymzW2xhzhelnvUq/PtqXAgCDuKxfLEDD8ugZt9958003RIgrzLNIMggM2GAAqDyQwGAQAAZAALbtXK0aILFaTZJsLvM0jcA4CiEErJZLCVBrk6T1eiVkEEYyFhgLEGAQ2DYgwCAwCFmttVqr7XGYzMhlQlyWmZJaa2AAGIZRgMCsVstQABgwAAiBuUwIDCDZCABJdl57zZnrrr0WkDROo+CVX/mVUWSbHvLgBwOZma1df8P1tetzGqOE04pAAG5tGAZJrTWEDUIAQgAYxP0EHocRMXmShLENlsL2er0GQK01SdNkQFJmApkJXq9XGIQkATCOoyS3ZpjGEQEItdaEkMDGQgYbZwI24n4G2zZgLATYFjLIIAsBIACQAIG7rjs8Ouxqd+zYMWfajgjMfDbDBgshWmattavd3/zN3z3kIQ/e2txw5nxz69LFCxXAgBAYAIQAQFKUgjBgc5mxkE1IloVsIwBJQEQ85CEP7ruutZRkzGU2ksZxKFGOHVtECacjwvZ8NgMBoeCyra3No6Plpb2D+azv+h4bG4EBMh0hYyEExljSNE5ttZ7NZiFJAEKAnRB//ud/Cbr+2mtvuP66dVsLAQgQzr7ropuvjvbX47her47tHCulGO/t7Q3DsLO9PZvNSilPftJT0r60u3vdddc97YlPfPEXf7HMbJnCG5sb6/V6tV53XSeJK8R6vbZXJQqAwDIGJK2OjoCQuExgLhO2QWAMwgYMAgyCaiwEIDCAJGPMMxlAIkrBNs9BgLC5n8AgMM8koSgBNs8hINNgkDEGgUEA2CDboZCELYUC80AGAQILIQMgAMwzCTINgMBCxpIwCAwSBpCQBEjCypamCdlGMqyHNQaQxGUKubVhOkJ4tBACwEiUCNuKwCZwYiyMQQIwAAI7ShAAGDBSZoJsS4CKZAwIW2ASAyAJLIWEjDEIAAtACJCEjDFCCGwExjIAAgzCXCEQBhvxbEKAwIAtxBUCBAZL+qVf+bVXe9VXns/LNE2SBAJESAgAIQCcVujaa6+RdLRc1Vq/6iu/+rVf67Ve5mVearVcKgQgYQCE0wiBkM0DCaUTjJBljACEMIDNarnqaocAAKF0YqcZp7a5uWk7MyU5rRBIAgQWMs70sePHfvd3/+AhD77lhhuuG4dJUillb29/HMczZ05nS4SxDEgSgIgSYEmSBImRIkobjr72q758tVqXUqY2STIGMNh9391+x51//dd/++qv/qrz2WyxWEQJSft7+y3z0Y9+lDPHccrMa669puu7vUt7s75/2MMeur+3v7W9BQDZcj6f7+3t297c2BinKRQAQhKAwBgDIIwkgSEiuMIgMEIACMCAAQSWBFCFjAVYgDHmWQwChTK9OlxK2OY5SVwmnsk2zyJA4pmMhQADNvPZTCFsAcKAABA2AknL9Tok22CQQUIoMwGQxBWGkGxzmW1AEjCb9VxhAZIABIAAEALDarUGJAG2DQLAPJsAEBjAIBsJ20hgIcCAAYMkbPd9FxG2hTBgEJcpdHh4ZBsASUja2FhkGmyoocORZolnktispEFgFJqmlpkSVwiVWjDPYpnLJBkDILCNhMA8iwx2cj9jkLEs7icAcYUAsAEE5hVf4eUW87nTkgAEJiJ2L+0JTp8+1dwMgKR0XnvtNdM0ZWYp9ehouVweEQIEAAYMAiQBCGxJAgADGGMAIWMhg7hMYELaObaTmYBBkM5Z36v2F87et7m52bJJkiRk2Xg2m0nYiWQMSLFerV7llV5BYhjGaZzGcTx+bOcLv+hLH/HIR3zoh37Y0cGlWooxCGFbiGeSscE8k4TNNI1d14GdKQCBQelU7e68884//uM/ecu3evODvb1xGGez2Xpcb25thmJYD0BErNdr233XnzhxfBjWG4uN/Wm/TVOtNW1J0zidPHXy8Y9/wl133fV6r/96q6OjUAgMxkJcJmQMCAGICGEbAbaFeBaBQQKBAQC7AoBBABbPZMwVUmv5lKc+ve+7kKbWnKkICdugiIgIAGwDZBoMSAJCQoTCAEiynZnZ0vihD34QEgDIPJMBJJ5x+91IfVczEwwoYnm0XK1Wx48fsy0pM0FAKXFx99JiPp/NZ9kyMyWVUqc2huKWm2/IlpKMeQAhAxh01933ph3Ctm3AgM2ziedkG5AkSZJtiSvSJo2QFArwehhuvunGrlY7QSDAuJbuH/7h8cvVqu/7lhmKUsuwHk4c33noQx60HnNR+ev7dPs+OzM3C6mIo4mTHa9wfQ7NtZZ77rkP1DIjJBtFBLavvfaa1hpI2AnCRhiQBAYkgYGIEAghMEIYgQADFkJgnk1gnskYSwKMT508OU2TsSQMYCil7h8cltC15czUJkmAMTAOIzgihmH9aZ/+6eSwOjqKEphnkgAMgHgWAyAJAEkCcZlBgHBayFgoMwEh40zPF/N/+IfH/eqv/9ZHfNgHtWkS4n5CwDiOtZZSim0BAiyUTkxE9LN+NpsdLZcf8P7vc+LEiWk4KhGAEIABEAAGjAEEBgwGAcpMhBAYACGixHp59Mqv9Eqv8mqvOQ2Hi/n84OBgHMeu6wWZKQlAhKKEp2lq0xSltMztne3Dw0OkiDBWaFwPN95www3XXz+t16EAg8Rl5lmEuJ+QFCAAkIQxFrINCAECc5kBqjEgBIAAACHLGJC0Wi27rn/kox4+DUMpRRIIjITUxglcSgERQdpYCgAMjMMgIS6TJAGZWWt90pOftl4Pi8U8MwEEBjCWNIxTa+MjHv5QZ5pnqrVeurS/v79/0003TtMYEVH7HNdp11pLqTvbW9vbm621WkprCZbiqU9/xjROpYQxzyQwAAiQpnFqrT30wbe01iRKKTbGEWEbA2qZEWFjLJAENmRrAiQBYCxAwgaQbNeuu+0Zt6+Wq9mxnamlMGAkaZrG9Ti+3Mu+VERggxRar4enPfVpmQaQ7lmVV7kxT889tgZExDr1O0+PyUjYLiWOHz/Wd306MQpN03Th/IVMAxLTlJf29gGMJGBne7N2lSsMARgwyAgMCACBwAAYAIF5FgNGIAVYyDBOk0ASAGAErU3XnDkNTK1JwiCeSQjZ7rpueXBJUpTAgEG8UAZjYzCAbQwIEJiu76dpIo0Q4oHsrqvXXXuNJO4nZCwE1FpKFAyAADCAEAJjDHR9/9jHPiZbG8cJ8SwGIZ5NxhiDJMAgBEhcZhBXGISkYRw0DsM4ftu3f9ebv9mbnD5zZpoaQpKxpDZNrbX5YmFn9B3IttNSrNfr+XyOiYh0LhZzoZYNJMRzEpcJjLEAZCdYKLEMSAiMEAIAAwYAkCoGYVvifsIYC4EBRdRap2HMzP39g2EYp2mKKOM0OH3NNWdqLfedPSdpf/9wa2tD6Gi5ihD20dHyoQ99EJcJgKk1oSjFNjZgDCAwCIwQIKmU2qaWmRFCykzbLdP2NI2ttaOj5dOe9g+PecyjwIAzW+Y0TUK33X7H6dOnSilSRoTBPJuwDWABFkKyc2pTZtrce/bcrJ/VWvYPDmZ9jwJ7Z2dnf29fEbUr09SytdZaa+3EiWMgMIABEBgEILCRJAlhLAABAmwgpHGcQhgASdM0KgQGMH1RSw9T6+cbRKyXR61JAQgMigiblk2SRLZ0GiThBMl2a03IWBJmalk7jGWuyJZ0gA1CYIwkQEgSBmEj82xCBkCAMcaAwCCDQFzRpra1tYFp2QQWz0kC21EKGGMs7mdeOCEAzP0MzpzPFz/50z/7ii//cjfccN04jJIAsJBCq/X6EQ9/xCMf/eLro31JBiFjwHZX69/8zd9df911N9x4/TiMIMBYCMAGSbIRWq1WkhTCAMZCAgBzhTEAFrITIQlAAIABDBIAGABQBHDPfff1/ayUMk0NZCwkaTZfDOOeMw3YyECajY3F4eHhfD4nyuroMCIyEyMJQGAAhJAxlrEsQADCdhowCCEwYCMAAQJjcwVgKgIjgYS5zCABwkZgu2UDd1133333/eVf/tXOzrE777pzMV886EE3zef9tdff9Hu/97NPeOKTHv6wh+zt7d1+2+0PfvCDT58+dXi4PH3NmUc+8mFtmiRler65+cPf83033njD67/+6w2rVdq2QcgAAkDYCAy2kUotf/t3/3D27LmXe9mXOX3qBBhJKKSI+LO/+Mubb77p+PEdbANQa73vvrM/+MM/9mZv+sYv9thHj+OEkSSwucICgcEGELZtQFKs16unPuWpCrWWp0+dOjw8LKXs7++9yqu8ypOf8uRLl3a3trbGcdy9eKmf9adPnzxx4iVbm0IREZYFAAKEEBiHwjYGMEjcT5jWUiCJyyRJSpsrBHa21m8c+/RP/7R77rnn27/9O4b9PQgJLHBrCQ7F/v5e2sd2jk2tZSaAAARCiCAAC8lcZgzCNtiWJAQgIQBJxhgwCGwQso2RxLOYK4xBYANGCEAArTWQECAwFuIKAchcJp5JxgIQYAxgJCEwgHg+jEFSTOO4mPXbW5utNcQVBgEQivWw9moVJWwAxBXpjG72i7/8y6/6yq9804MenOuhSAhZgAEQAAJACrBtIWOBsRBgkMAIcYWwAYQAAWCexSCuEEKZ7vv+S774S9q4HIYhJGNAUmv58Z/48R/2oR/8yIc/bLVeCwEgwTROx06c+pEf/uGu69727d5uebhfoiAQGIyxEMaY+xljAGQQEhKABDYGCRBCgM0VxgJQBRAABnGZMEiYZzKZCUzTdPLkyZd8yZfsZ/2jH/OoWutiPq+1juvlq73qqzz84Y8oRYvFYr1eY0otmb7u2muyJWCQGFfLt33rt4iI9fKoRJEEgG0ECCwwGEsgCcjWHv3oRz7qkY+IiHFqIMAYMbX2Yo99zHwxm6aplGIMTNN0/Pjx13/9173llpunqUkgYZ5NPC9JksDp7Lp60003bmxsTNO0vb29f3BQS5XIzIc+5MGr1SozpZhunrqugtbrdZum2nV939kGQAAYY4HJbNxPCMAAgABsbIRtEDgNAgSgNCBo119/Xd/1kEgRAoxFgAGEjY2xoJRimyskSQgBCBsEYBBgkIQQYCyEwSABtqdpihKCNk2KCEVrU0RIxVgIQALsBMAACGwAxDOJywS2kAEsxDOJy4wFCCHb2AgQtjFgGwHYYABACHB6aq2WAK3X69d7vdfBjMMYJSQZA2BzhRTYFgKMMUBI6+Xhp3/qJ2fmenlQIgBsJNtCIMQzCWwhAMAkxhDYABjbxkIAtpDAWFJraWep1ZmZWUolsC2EQYBrqevlvo2EsW1JmVlKvMkbveHOzvY0NYxlWWALA1Br7fueZzIIg7AtCbDBNhYCDGDbQhECMEK2kSSuEAIMiCtkAHAFCYMADAIDYACBwNgta9dN43Dq1Mkz114DAsiWmbadvvGGG268+UHQAAgwNsLTlJlSGGEDW5ubtjOzdtWZxgLxTBIGWRJApmuJFLV2EpkZESWiRNRax3Hc3tp81Vd75TaO2VotJaQSqqU08uVf5qVapm0hO42NjIUAgblMCIHAErVWtaZSH/KQB9spRcu2vbONwW5tOnnyZISQMMgYIDMB24BtJPEcbJeucpkAjDEAAkMppUSJCDAgqZQmnsUy806sDz7swz4clMPBvEYJbATAOE2SMMeO7RhsI63XayHbErbTlkksZAwIIZDAXGYIABkDYEGm+9msn2/B1IZhttiGqQ3DbGMbcn10KAnAINuupRiA1tJOACyUBgwYSgRgIQQGCdkJINkGRUQpZRxHSV3XCaWztRalRIQkjDGAQAACi7QXi/lMndvambONbTy0qfWLLTytlkehMBgL2S4hFBJtajaSADsB28MwCCKKJO4nhTHmmQTQ1W5qk+2IqKUCmNZalFDIRgDYBpBwcpntxdYOaFof1cUCak7rYVhHBJfZ7mq959575/PFzvY2Agy0lpKcfuM3ffNpfTiOgxSAQgCmFK2PDt/u7d8RcnV0EBE2kkHArJ+N0+i0RNf3TrfWEJIiAnDm1BqAABBgjLEQwhgQMgYAg6CCDWBJQrZ5FgFKe2MxT+cTnvBkSZkJRAlb6SSNEMpMYwFgrpBAISkiFBIgZAwgAc2ez2aZRsbCWAYQabquKyWe+vTbaq0GSbZDWq2HYb1O01ozzswSAYqI8+d3l8v17qX91pqxUERMbSql1FqdDQRgDIgrDDi7rrP91Kc9o9aKSSdgA9g2FkQEYABJ2IABSYBAEmBbEgDOTCEjhVbL5enTJzPTIC4zFhFlPQwXd3f7vs9MICKWy+U4jpJsg6ZxuutQg8t6fz9ErWU1edWyiMlIlIhhGDOd2QBJ09RKKQphbNdatrc2MIBB0HWdbQAMAkshCTCATBpa5sZi/nd/+/ef/0Vf+p7v/q4v9mKP+YRP+rS3e5u3epVXeeVP+/TPfqu3fLN3eMd3WB7uRxSB7VrrufMX9vYOaokbbrhuvtgAI/EsNrBerbIlAsAGJEUEYBuQaK39xE/89Bu+0RucPHHirrvu2t29tL29dfr0qQsXdpfL1XJ5JPHQhzxYABbP1Ka2ubX567/+m9/8Ld/x8R/3kSdPnPysz/3893mv97j++us//wu+5D3e/Z3f/C3eYnm4HxGAcanlvrPnDg+P+q5ef/11NWIcx1prnW1AAhhgGsdxGCUhbAOSShRjwPZssfGXf/GXd95x51u81VtdOHvvhYu7mVmiXHvdNfsHB6vlKjPHcXjoQx4qAcYGGabWSr/41m/95t/5nd/76q/88l/+1V/96Z/+2c/8jE99qZd6qdXyKCIwtqOU3UuX5uvh5KmTz7j1GeM4zmazG2+8YZqmaWrLi2cX8/liawfsNi2XS0mSnBYc7V801FIkGSNl5nyx9cu/9MvbW9uv9hqvujw8vPXWp0rccMMNwzAOw3q5XC2Xy42NjRtvvMFObGPbQgghjG1AEs8mMKgCgADbAoEBEPdTiXj4wx5ydLSUBEJIAjDGXGHAIITAgM2zCCGeyVxmWMznIWxAgLEsAEmy7Ztvun65WmODJHGZJInMRALEZZLTJ44fs20bIQAMwHzWO9MggUGAADDGWJLtm2+6cbUaEIC4QmAADAIQQgYwAMY8L0kGbDAIZHt27elSitOAbSRJxhF60M033XHXvbUWDELSNLWbb7zBRlImL35dPP4C5wY1AxI06zGnDDYSLBaL9XpcrdYtE4wBFhsL21wmaXNjAZgrZBsbcYUQGNsSIECShG2767pf+sVfefu3eaud7Z3f/I3ffqM3eP3tra1f/bXfeO3Xeg0IQIDARMTZs+dvuOHGw4P9u+6+5xM+6VMvXrxYawUwgLEUH/cxH3XzTTcO4yhkXCLGcTp2bOdBD7p5GkeQQq3ln/75X7zKq77KyVPX/MM/PO6JT3zyox/9SOlR49j+9m/+5mh5ZLjpphsjBAIBBgRQSvnFX/6VT/z4j5nP+l/4+V9613d6x83NjV/9tV9713d6B5ANSGAsdGn30oMedMt995297fY7n/rkJ918802/9uu/+fO/9Mtd7Vprijg6PHzrt37Lt3yLtzg6PKpdtR3Ser0+c+b09ddfNw6jbSj33XffX/3137zFW7310dHRX/3lX/ez/tixHRW1aXr60289PDpaL49uuOFGKQAkO53OTOCuu+/+zd/67WPHdvb393/1V3/ty77kC3GCuCwi1uv1ox/1KGeulqu9vYOHPvQh99139u//4fF/9Rd/8eAHPWhzc+OpT3/6D/3oTwzD8KBbbv7wD/0Q21IAYEkRsbd/8JAH33LyxPFparYhnvLUp25ubL7aa7zG/v7+b/7mb91yy80bm1vDMCyXR094whOOjpbXX3/dzTff5DSAEUJgrjCWBICF0hYW2Nb6aB8M4tkMQjybASJkkMQzCcwDCAEIIWNsLjP3swGDAIHJtLGQJGPMs4krIsI295OEAdsgAIwksEEIACMBGDAoM41B4n4SAMY2SOKyiOABxBVC2LYtAIEN4plsIwECwCAJGwBsS4HsxBiwASQwCEwpoQjbQghsKTJba4lkuytEBIC5zOBMxrQkm1qKMQaBDYAQrTUBiCsEBnE/cZkAabVadV0nSYCwXUq5/fa7Tp08sXNs5+LFi9vbW6WU3Ut7WxsbXVd2Lx1sbm5kNgyAsN33/dOf/ozVegjp+uuv/du/+/thvUZgZ6YkRUh6yIMfvFjMW2sg2xHK9MbGxvbWlp0GSbbPX7hw5vQZ8Ho9LJervu9KiYiyt7fXd32SJ44dO3fufNf3x47ttKmVEvfce9+JE8c3FhsXd3eP7WxL2t3b29nerqXsXtrb3t4ex0GIy4y7Wp/6tFsNtq+95sy99967sbHY3d29++57Sym2gXRed92115y5pmUTkiQpW25ubmxsbjhtXEu5tLeX6VOnTh4cHO7vH3Rdl5mLxbzWenBwWEpMrZ0+efKuu+/Z2tra2d6yc7lanzt/8cG33Di1drRcHt/ZGcZxf//g1KlTq9VSCjD3cxqIEk9+8tOilBI6derEffed3d7eXsxne3t7T3na0yVtbmw86EG3ZNpGQoAkRWY7fvxY13W2gVrr+fMXFovFYjHPzOVqdXhwtLOzLcUwDsMw1FpLic3Nzdtuu/OmG68PCQFgAARGEsI2z2LAWh/t85wkDBgEgEHYxiCEEM/BPJMEtpEkMAaBAcyzCQxgLMRlEjbPTTyTMQgMAkm2jYW4QggZwCBsJDAAwgaMASHEZQIDGAQIzBUGcT9xmcDYthDPw5jLhBCXCQzCNhZCCBlzhUEAGMBOGwQghMAgJAkBBhswErYBEAgQz2YMwgYQIDAW4gpxmQQGCcwVkpbLZd/3igADmFLL7bffde01p/u+i4jWGlBKZEubUsqUTUjiChsJw3q9LqX0XRfdgucr19kSQGAjCTkzbQBAAKWU1hI7IhRhJ8Z2lOJM26WU++47G6WcOH5smlqUuPee+6655rSkWkubmqHUki1BpURrjWcSAEhk5mo9dF3tuq6U4kyVgjqeQ8txkARWBDaQ6cwEhAySEJkZUUpEOoXSiYkIO21Kidtvv2tjc+PYsW2nl+v1+fMXH/Kgm6ZpKqVMrYVUSpmmKSIM2NzPNiCpZa7X667W2WymUrK1bK2UojoHwJ7WXGYnSMJGUsvEBiTZRAnbzkQKhSJaa8aSQgIwaT/jGbffeMN1pRRjHkDIGMAAkgBjoPIswkZg7meeyQhZiGcTMuY5GJDEZUKAAYMAMAgQMkYSgDHGAoN4FiFksC2QwEhIwiBkIYRsAwYwACAJQAaBeU4GMCkJQIAE5n4S9xMYJACMJAyAwDyTCAQyxgAYZJAACRACDAAGgQAwAEIKDCCBQUKAhcwzRWALQIjnJmQsAWBJABiELAABAnM/gY14JmMkBJj7CSn0jNvvnM9nmRkRgDMVIcm2JCRsQBIgSDskpMyc2mQTQpJBCABHBChbM3ZaEkIISZJAEpJtAZJt24AkHqCUcnh4eO01Z2wDoZhau+2Ou7u+OlMIYSMBsh0RBmzANiAJiAjbmWlbkp22MQZjUEiSgMwGkiRAihAAEhgMIdngBBAAxjxTLWXv4ODY8R2Mcdd16/X61tvusG07IgDbkgBsKaIIsME22AYLGfNMsm0nSMIGBOYBJEmSxGUSGNsgCSQAJAE4bQxIai2HaYpSwFxhEIAxAAIDtgEEoPXRPuIK20IAEhgDIAAhY8wzCYG5zDyTAAkAYwziuRkECMwVBvFMBgHYliRkG0ACC3GZMQiMeW7ifhIYAyCBba4QtoW4QtxPgMAgMGAjhHgAYwBzmZEAIS4zgAGQeA7GAAgQGAsZY55NgMAYhBBgDBIAxiAADMIGEBgkgTEPZJ5JPIsAxGUGbEmAMQaBQQgZg+xcDyMgACGeRYj7GQMCJGyDALAB80xCBoS4zDYPYFshGYMknodBXCYAjHEouq5ijCVlepwm8Uy2uUISz2QbAcJGCHE/24AksA0IbBAgAdgGcT8hZBAgYcA8J2MhwIBdImpXAYykqbVpaggAjAGBuZ8kJDAGMGADkrifbUASYMDmCglbAsS/iU2ttRRhAyAADAIQz8EAxlof7UvifsYYhMAGQIDAIDAAAnOZkDEGQABCxkLGgBD3M8ZIAowBzLMJQMiYZxIYBMYgCQDbBgFCyIBtDEjCIIS4zADGAAgMgAAwAOIy8UwGcT+BucJcYRBCgDEgBBgLAcZCPA/bCCFjEFgIAIx5IIMQAgwCY5AAMFeYKwwSGADxbBYYhIwxAOIKIQO2JIMAMAYwCBA2Qsg4FLYRAiNAAEbC3M8ACGwAhIwFgA0CwAAIbCSuMABCgIRtLjOXGUk8k0E8i8C2bZ5JgELiMmMAIwGYZxIABkAAGASAbRACg8AAiCsEBgEIMBYyFoAAgwTGGBCAwOYBbBuEkLGQJAQGgQFzmXkm8UwGQAgBYMAgYwDAIMQzGTCSwAaBkQAwFjIWAAaBDeJZBICNbWMhBOYKYyEkMCBkwDbWerkvxGUGbCRsAIFBCBljAAQGMBbifubZBIBBPJMxCBAAxkIIAGMQz2SQwAAIAGOuMEhgrrAQwgYMAgOAkAEQIDC2AQQGAQgZA4AQ9zPPJDAIAGNJGIO4wiDAWBIImysE5pkEBoEBjAEhg8RzMFeYZxL3EzYCJDAGMFcYAIGFDIAAMAaEAGMMgLhMEhiDwFgIYVsIMBYyCBC2AYxBQsgAiOdgAAsZC/GcbCOBAQwgCYEBjAEhAxgAhAzYCJB4JmNAyDwHgTGIywQGMIB5JgECA0IAwgYsZK4wgEE8gHgWmyskMEgCYxAABvHcDMIGDELIGAAJjCXZCAxgnk0CwAAIAGMABAiMMYBB3E8AGCQwSGAMAsAggQGQwBgDIJ7JIDCXCQEIEBhjGyEEIISMMYjKczAA5gpjLMtyiSKJy4yFEAA2EoAN4grxbOYyA+aZBCAwCAADSDyLeSaBQWCehw0CG4QQAAYMksQVsg0AxgIkbPNMQmAAhMAgns0g/lWEjLlMErYNGACBQWAkDOKZDIDA3M9IXGEABCAwCAG2wSAwzyIJDIDAgEFgEBhjSZhnE89knklgIwHYSIBtSTw/AgPmmYSQMQYhZMwVBkC8MAYBYIyFAISQMQYhsAEDkmwuMwBCPJBtLhMCjAUgBCAAQMZcZlsAAhDPZp7FWADigcSzGUDCBkAIDAIbYy4TkjCAsBHPZIyFACQwIAQ2z0V2CgHGQgAC80wCwCCem0E8m0EAGATGGATGnlrDCIGNAQkQAsAgC1nGVJ6DwLaFADCAEOzv7w/jCGQmGMRzsm1bEiAJkAQIGXOZbUCShI1tQBIgns0AxiCBbIN5bgZAkngOtgFLIUCybRuQsG2DjSSJyyRsbANCCMAg7mfb5goBkoSEzQNIAgQGSTZgMIhnMgibywxIkrABSWlj85wExiBAEmCbyzINliQJsI3AgBAYABGSbcBGAgQGQAgM2AYshABsS5IEADZgJGyw00ggCQxgLIQACyFAAFgSYATINgLbBrCRkASSBAY7bQBJXGEQgG3bAsCSQJIk29gGARIgyTYgMNgGAElgIYSNEBIYDMJGss1ltiXZRggBCMwVtgEB4n4CsA2ABIj7SQLANrYBMIj7KSRkG9sgiWcx6bQRRpJk2wYMAJIk2eYBJCGJKwwSGMAYwIAQ4rnY5plsAxKgUurO9pYk7icEIISMAQO2saCCjAEQGAAMAiQZjCEiaimAIwCQMSCezTaAAITASEI8J0mAbQO2JJ5FshPAIAnSBgQIDIBkG4wBJCGeyTyADQII7mebK4QknknYxhhJgAGby4wxgCQwYBBCEgA2yEIAAgAE5n4GQFwm2+IKSSCBMYAx5grbSIDAWACSZNs2lzmMEJJkjAGDQGDAIJBknkkCwEgCDNgGbAAENgACSQiMbYO4TMLmmQQGDAIkcT8JjJFkEAC2kcAY28ZCgCQEgLGFAAkQmGcx2MaWhCRA4jLbYAEICcwVxhgk7idAAtuSDGAQNpLANoCEzRUSgC0JCdsYBGAbAyBxmYQtCQkA2wCSbNvmMknYCKG0AYEkwBgjyTYCBLYLNiDJANgWpBMkSRKAMZbAIISQwELmMtsYBICFDJJsC5AEtgHbXGaQAJUIhLEQIMQVBoG5TGAhRMUGwAiMMSAuMwgAs7G5IQmDwCAAjLnCACAADIDAPJsQlxmDJAAMYJB4DsZYCAAQGGMhAzYCwCAAgQGQBGDASBgEBrANBpCEjAUGSZhnE4BtIdsAAhACEJgXSGCMhYwBIe5nrjBIgLjCRmAMgACwkG0kCYwxDyDEMxnEZcbYSIAQYMwVBiHEs4jnzxiDxP3EMxnAmOcmACxkEADGAAgsBCAwxkIGcZnAgEFgkDEgCQMYA0K2AQQgAHGZMQ8gBBgL8QDGXGEQQoCxAGQsZJAAbANCAALAIADMAxkLGQsZJEAAGACBAQxgLAQgAAwCAxgLAQgAg8AYCxkLITCIZzOAQWAMCBkkbMAgAcJGwgYAC/EsAgMA5jkIDAJjAJOZxrYlcT8DNuIKYwBTjbnCBgQgwFhIyBgpWxpjJBljEBgAIbB5NoExFpIwYBA2IRljJBmwkbARIDCAQQgBBoExgEECsAFjAZLAAGAkGWMQ4gqBQbaNMYAkxBUCEFcIG2GDkAGbZxHPZAAEIGRbkgEMCBkDIGzEczAAQggwBgmMMRIgYyHANs9FCNkGEAIDCMA2SNiI52AQIDCSuJ8BLGQsZAwS2AYkAQZxhc0z2RYCjIW4QgLzLAYBgMCAEM+fzf0M4rmZZxIYhBBgjHkgSTyTQQACYxsBYBACwDyQhA2YKyTx3GwEFuIyY55J2EiAwFxhIWMMgAAwCCHAGMAgHkBgDALASADmfgYBYAADGBACAASAQTyTARAABkBgDBIA5nkZBAaJK4SELAPGQlxmjJGELQQYa3W4x7MISQDmmQQGQFxhGyRAhITUWhMCZ6YkKYxDQnIaQEREa61EpI2JUKaNSymtZSnRWoJDSltcIS4z5jIhrhCAbUDIWAiBQWDuZyQMGAkbZBtACAFggxCAADCIy4TN/WwDCAAjCcwzCQAQGDAIQNgGhBCAwIBBABgwCGEbEIDASBgwlxmEjIUQmPsZxHMyFhgEIGMh7ieJy4xtCyEwCACDwDyThA0gMM8kMMYCEAA2EgYBxpJAYADzbAIQMsYACIyxuEIA2CBAwtzPIB7AWGCDAIQQAAYhsEFgG4S4QgCYBzCABGCeTWAQGMA2QggBYAAEBhFS2hgEUKK0bEBIaQtsA0CmFZLEZSFl2rhE2KQtgQEDIGPboTAGIgJjGwGEZMAAtiUZAxFhOzNLKZlpWyidmCiBASLUMoUAQJJt2xECGWMk2TYW4tkM4tkMoBAYA5hAIElCABjMsxkwkGmnM40RpLO1PDxaXbq0HxJgmG9uRRTbQuthPDpaptPg9N7egWD/4Ki1lpl7+4fGodjbP8De3z90ZihW60HIAAIMxkKAEAKBuEySJPFMxiCEAATYBhvMFRKAQDybJEkSIIQBQAAYIQmBkCRJIJAEGAwGYwSAeTYBCElCYAADBvFsAozNMwkAAQgkAyCEEAJsA8YAiOcRCklCSJKEuEwCYQwYA0IIzDOZZxLPZAOIB7LNc7ANtrnCQkLifgIBGAMYY56TAAQgEEhCSAACASABAAIABDaSeADbXGYDYAxCXCbxTAIMBpCQMAACAYAxAAbMZQKJZxMAwvbBwdE4TsZC09TOXbjYMqepHRwcDcO4XK1KKSCb+eZmVzvbAuDS3n5rDTg4XK6HQZDptA2A7VrrfGPTtpCko6Plar22vV4Ny+X60t7h3v7h4XK5XK0JtUybzLx48dJqtY4oly7tt5ahsD3r+/nGwmmFWmsXLl5qU0snomU7XC6HcQRW6+Hg8Gi1Wo/juFytWjZJXCEuEwKBQICQsG0DQojy6Z/6KRIgQADigQTI8LSnP2N3d++uu+++8cbrn/q0pz3ucU+sXX/vffddunTphhuub9Mk6Q/+8I/OnDldu9r19QlPfMrtd96VSVe7pz791nvuuefi7t7Tnva0G2+8UYq//Ku/vubM6b39wyc+6akXL+w+7Wm3PuKRD3/Gbbf/2Z//5cMf/hAByCAQGIR4FvFMBjAW4n4SxkJGCIFtJHGFxGU2ApDEZZKMEQgAG0nImCsEAgkJMMYgBEIIxP1kLIRAYBDPJAAwCECAQCAAgxACkLgsJAAJAwYJDEJgEM9LAhAYxLNIwiCem3gmISHEFQIBSAIBxhgAIWSwLYUkSYCQQRLmCmNJGEAIDAIQz0ECDEIAAgEIcYV4NoFAgCQBAiEERghAPJMQAhAIAAMGDIAQVwhAgDEWgACwAUAIITDPYtx13X33nfv7v398s08cP/aXf/k3h0fLu+6+64brrhun6QlPfNKlvf3bb7/r9OlTtZau7//4j/64lHJs51hEPOVpt166tH9pb3+x2PjTP/uL48eP/c3fPa5l/smf/PmxYzs7OzsKnT137gmPf+LNN900tcn2n/zJn4Me//gnHBwd3X3PPcM4nr9w4dZbn9Fa/tVf/+3Z8xd2dy/de999+/sH62G4/fY7L166dPLE8VJL3/dPe/oznv70p998881tGqfW/v4fnlBqedrTbv37f3j8ufMX773nvnFqUepTn/q0S3v7d959zzi1pzz16dvb21ubG+kEBAYhwLYkEAKQhMAAiACMAIwBzBUCAdjual2uVpf292ez3ulSaqmlten4sWPXnDltGwQ6Ojy0LclmY2OR6Ut7e5f29mrtUEQpfd+XEsOwbpnz+VxCUqnlIQ+5RaVIaulhmKQwFpdJPJMBSTaYZ5FkbABAIEmAADBIAgwGYwMGJARgrrCNwTybMcY8ixAAGGPuJ64wto2NBQAGQIC4n8TzMIABYxsbY3OZAYQNNiBAQgCI52AwAox5NoGEACOeg4TAPBeBBCAkySBAkiQJIcRloQCQACFAiAcQwjyLEQLAGIzBYIwxBkDifsbiMhvz/BgAITCAMZcZ28aAAQwGQICMhIS4QmAwNgghEM8kkEAIwDyLMQg7Snn4wx8quO22OxQBvunGG2azfrVaK2I2mxskGYQu7e0NwygJXEuRNLV2/vyFnZ3to+VSKFvb3NzYPzgoNSS1qa1WK4WAKFG7Urt6/Q03nDlzehrH06dOXn/dtX3tjh3bDinENI3Y115zemtzs5QSkm1A0jAO69WaUNpd399084216za3NrNNW5ubUUop5d57740SGxsb21tbq/W66/rVahURGCEbkDFYAgOWJGQMIACMVkf72AgAgxACEAAGUGiapszs+z7TEbLdWitRbCuEMZ4ttsb1UWZKGqdJyE6bvu9Xq9ViPl+t111XgfV6mM9npZTlcjWbzSKU6RDDONZSjYW4n7EQAsA8k8AAxkJgAAmwAQMYhBCAwAZxhbANCCGuELINILCRMAiBAcCAAQMGQGAkAYCxwCAAcZkEYIPAIDCAMYCNJADZaRCSBCBAYAxgDAjxHIyEMQgAYyGEkDEGCRuBDUKABAYBYMyzmGcTGCQBYIxBYBBXCGxsA5IABIABg3guEhgExiAADBgwCCEADBhAAjDPJu4nMMaYyyRhwCDbgCQwiCvEZeKZjAEMAgSAMRaAeCaDAGMhMIgrBIAppQzjOAzD1tZWa5PtiJimNk1TiTCezfrW0vZ8YyunYRxHSYLlatV13TRNpRSn5/P5NE1RIjOlsLOrXXTd6uhIkmCYxq7WWsowjrZrrcA4jhHRdV1rLSIwU2sStdSDw6PZrC8lnO5nM5WyPjpSBNg2SCIUttfDUEpM01RrdSZSKKbWuq5Ksi0ENgghMAYBQggwBjCAVkf72BIGEFgIQGBsSwIkgLQl2YCFACQwBpGZoQCMQ7JBSMrMUKQzImwDkmxjFMpMkCRAwmnAGBAg2RbifsaAEAJjDGAQQoCxAAQgAIGNQdxPYACEkDFXGGNJGMQzGQSAAYOMBQYMAiMJQADYIDASBgwCAyAEBmzABkmAwDZXSCBhAAQGzLMJAQgZc4Ux5jIBCElgAGMAhJAxIAQYCxnAXGGegwCEANtgAITAAJJs20ZIwiAAIWMMYJDA2JZAwgAIDNg8kwAwCEAA2EgAIAAMAgAEBgwYACEAjDFIgMAACAwYxHMyFkJgAASADYAAMAgAgwCDeABhIyEpM4UQIAnAtsA2CJxpSQrZgEOyjcRlmRkKAAkAO207IgBEKNKJkYSwDZIAbINsAwLAuERJGxswdjoiEBjAPJNAIYxCtoWMbYeUNgYM2Aak4H4GbEkIIcAY0OpoT4hnM4CEAQMgwAAWAgwCg3gAgbnCGACEAMBYiPsZS4ENGEviuRgEBmwQGITABpAwyDZXCAEIgQEQzyKwucwACEBgjCXZFuIKAWAABCBkzBXmfjbPJsT9bEuAjAUGITAAQtgWGLCRAEkYYwFgEAKDwADIWAACwAZJGAABYBuEuEIIAYAxgEGAAAmMMQgMABhjLhMCEBiEwIANAhAYY0mY50MIAcYYAGFbAEJgnsWYK2wkIQABYK4wFgIjAdggAMxlBowkHsBYCAwCEJhnEwA2CAxCYBAAtg1CAEJgjIVsAwgByCAJjDFIYBAABmwDSAJsAxIgMMgYwCCEAASAMRbimQxCYAAEBkA8ixCQtgTmCoMEgHkg25K4QgAYJDCAQQCAwDxTZgIhgRCYB5IEGNuugDEgZIy5zBgASQAWQsIAAoSMQWAAYwTm2YQkbIy5QmAQsrARGMA2IEASMiBjjEECQAAGiSsEloTABiEwAAKDMRYCDAgMCDAIMIAAIwRIMsYgEJcJbAxgjIW4zIABEJcZBCAEIEAIAANSGGNsLhMYCcCAzbNIGAwCQAAYMAgDNgjMsxmQhBCXGRtjEM8kYSMENlcIDCAwGMAGGSNkACwLbK4QQsYA5n4GGWMkAQYBCAxgAIOwjRDiCiHbQhZCXGGuMObZhLlMPJMA2zyTQZKMMUIACIF5JgFgnoMEYJ7JAAiMhQDbABgjMJcJEJcZQAKDAGEjMJLAYIOEwSAMGAsZIzCWBVg8F4ExFjIIMAgQGIMEGAMSzyZkANsCENgAIAyABAhABjAGiWcxABhAEgBCCBnzALYBAKPV4R5gLAljLIRwWgIEIISMBSBjIcCYBzIA4gohBOaZJGxjLpOEQWCMMYAkADDmMiEeSAAYwFgIAdgWAgNIGMBYAIB4AYyFAAQIG0A8kG0hY4wkYwyAuEIIAIzFFQKMhYwFIGMBAAIQGGNAYBAABkAAMgawkQAMgADEMxkAAQjxTMYYBICFEM/BIDCIZzKIZzIA2CDEMxlkEAYZAwLzTEK2AYQQAEbC3M82V0jigQQGQDyTMRbYAAghg7jCSBjbCmHsROJZDAIQGAQGAchYABiEAISQbcQzmWcxBoS4zBiDuEwCY0AIQACYZxO2hQBjbCSBDRhJAAIbACEAYRsjcZm4QjyTQQA2QEjGGACBucJYiPsZc5mQbYSQsRACBGAbAPEAAmPM/YS4zFiIZxEYIBCSJAGSJCEEkgAJBAgQsrETY2wbmwcSCIyQEM/JTmMAwGCMMc8kEMbGxlwmCQAbIyQJCSEQQmBsjMDYxjwHg40xGIFAGIO5nzGAAQPGGAwghBEYYyOeRZKQkBACDAgMBmPbABhjMAZsDGAA2xgADAIQICSwMRbPJgAbi2eRQQCYywwghBCSAAsBGAwGgwEwAAbbNmAbg7nMBgEYAYAAAQgQCIHEMxkjEPczz2QwAJIwRoABxLNJAOZZBAYEGBuQuJ+4QgjAAoGQkBCAEQIJgYQMxkIgJMAYjG0bwNjGIBDPZJ5JGAQIQAgAhIQAYwxgzAMIAISQJCEQGAkwgA0YwBhsWyAJyQA2Btu2DSAAjLDANgZAPJAAMOYyIUBgQNxPBtu2sQ3CAsAYbGwbEAACgTEPJHGFQQAVBEjiigSwACPZGAssAGMBAkCAeC4GYQwIcZkxlwkBxghjIdsIDIAAhIwxCNuAkECIZzKADbJBgLFBCADbIC4zAMYYIwnAWEhgACFjQBYYg0BgLBtjEEiAMYAwBoQADMgYGwkDBgEGxLMJITAAEgYMAoMABBgQgEGAZACQZBsAGwnAIAQAxrKMEUhgSRhjkMAYgwQIANsIIUDIGAMgAIN4QWTMFQbxXGwQ2BhAsg1CEgDiCgkbAHOFQQAGIcAAIGEDBrAshBAIjAQYA0IIDIDAGAsBGGMEBoMwgLAlACEwCPNMQsg2BmEk4TRCYCyEsAEQmOdgc4UBG4TN/QwCSQZhDNggIQQ2gA1gIQRgDIDAIDCWZIORQNgIQDyLwAgM2ADCIACMwAbAIAwS2CDuJ/FMEhhACIx5JgEgKmCQeSaBuUxcJi6zAQESgJEwlxlAwjwHgwwgCWMMGHM/21whBAYhY9sYQAgwlmQsZBsJjIR5vmwAC0ASlxkJbCMQQtgG8WzGGIRBBsAGEPcTAAaEwIAxgHkmA+Yy20IIDIAAzGW2hG0kwDyTMTaSwAAYhMDmMokrBCAAgQ0CwCBxP2EDQoAxgMBGGIS4zCAAhBDGPJB5bgLzAMbiCiEwRgKwEYARshDYABhjnslIXGEsyxiwDSBA2IABzAMYkLANQsbGIAljWcZcYa4QAlsIgY0RIJ5JABhkjDFGAELGNoBBgLHAFgJhrjCWhLlMxkIgsJHAAhsAYZsHEADGAAYQgJAxlwkBCFkIIYwEBmMQz2QsBGCDzP2EEJcZwICQMWAAAwhAADYIQIBtQAgA8WwCAK2O9iRhMhOQuEwA2AbMM0khjDFGAklgwCAADOIKIS4zxiAE5gFsAIQAbGNLMgghANtcFgrAWMgYAGwDGACBkUDCIAAMAhsEIADAthAABpAwAOKZDAIDIEBgjLEQAoN4NtuALckGDIAUwhgLQMYCG4QQGEDCIAQ2YCSBbS6zkQAhnkVgY1shDIAAhLhCgLDBSBhjAANGEhgwzyQAIcAYsC0JgxDifsYCJNvYkmzAAAgAGwAhBIAxFkgyl5kHkgTYRggAA0YS2AiMMRYCgxACwIAtyYABECBsJLBtARI2EgACYyNxP9sCSTaSAGOBbZ5JYBACYwxIAjCAhJG4TADYIGNskCRjAGMnkhAARhLYtpFkLEkIbAMGIbABkIQBECBhbCOEjIUAYyFjbCQhY2yDJO4nZBshZKdBAALAtiUBkgAbBICRuJ8AO0EAAvOP9/wBwh+tZFQAAAAASUVORK5CYII=",
      "media_type": "image/png"
    }
  }
]

Read (E:\a327ex\Ricochet\reference\06 - TEMPLATES AND USAGE (dotted).png)

[
  {
    "type": "image",
    "source": {
      "type": "base64",
      "data": "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ppvuvvueKKW1PHHy5G233Xb9ddch9vb2t7a2jpZH2HfecccrvuIrZEuEjQSAARDPh4UAYxDPZCQZ8y8JxWq9fsYzbjt58uTd99z78i//skeHh10tT33a0zI9n83HqbU29X1/7tzZRz7yERFxzz33bm3vGO1sb9/6jFtvuummw4ODvu9aa8ujg8Vi8/bb73jJl3wxzNnzF26++eY77rhzmqZhGHe2N8+fP3/y5MmzZ8896MEPbq2lHWJjMbd9331na+1qrYqYxmEcx/39g8c8+hF33nX3weHyhhtuGMdxGIau1mEc5/P5Pffcu7Oztb+//+hHPXKaGiDxbAYB2EZghBAGGQABYBDPIukJT3ziyROnDo4OH/WIR6zXK4nd3b2dnZ2z5871fQ/s7e1vbGzUUo6Oju69956XfemXOjg8uvve+2644cblcnlsZ/vue+7p+34Yhr7vtre2pmlardbzxfzoaBlRDg/3b7zxxlnfP+O22x90yy3pvO++sxsbG3fddefGxsbR4dF8sVgsFocHBw996EOwAcSLyjybAAwYCcwzCQwCAyAwAAIDIACMQQIEgAEQGAAMGAAhwCAAbCQus0EGyRgAAeKFq7V78lOecvzY8aff+vQXf/EXn81mcl7cvXT3PffefPPNhnvvvberdb1ePeYxj75w/sLF3d3jx4+31ubzxX1nz11z5sw999x97bXXHB4eZpuuv+76i7uXLly8eN111y2XRxsbi/vuO7ux2Dg8PDx16uTx48emaZLE87AtiedhWwgAIWMQGADxLLYlCQw2EgAYZANIYBCAjQQgZAwIGfM8SinnL1wsH/dxH7NYLDItQAJsI55JIBAA4jJlerGY//3f/8OP/uiPv+qrvFKJWGxs/MVf/fX+/sE99977tKc97QlPfOKv/vIvz2az3/qt35pae8pTnnznXXdtbW494YmPf8TDHzau1z/zsz83jtPjH/cP995738lTp37t139juVoeHR1FlF/4xV88PDx88pOf9Iqv/Gq/8iu/fO7c+Sc84YnzxfxXfvXXjA8PD3/nd35HEd/2rd/2sIc99LbbnvHSL/VSwzhKEiCJ+4n7CbCRQAKDAONQAAgQYBBgwEjGQjyAQuth+N3f/f3lev0Xf/7nr/AKLz+u15ubGz/zcz//l3/5V835lKc+9dLe3mKx8Vd/9Zcv/VIvOQzrL/jCL2ktn/70pzfnz/z0T5dSf+xHf3R7e/uee+/9wR/4wfli8eSnPvklX+zFDw4On/CEJzzikY/+nd/57Zb5G7/+G3ffc+/h4eF6GO65597VavXUpz31KU95ynK1vvaaMyF9+Zd/5V1333P+/PmzZ8/+zV//zV133XXhwvmXeblX/L3f+73f+73f72p3++23/8Iv/MLB4eFv/fZvr1erc+fPrlbLn/vZn33N13xNbBAggUGAkbifJGMESAKBeSbxTKaW8gu/9Muz+eLJT37SS730Sw/rda3dn//5X5w4deonfuInl0fLv//7v7/1Gbfdd999T3j8E6Y23nHH7S//Mi/1J3/+509/+q17+3t/87d/W2r927/5m6c9/dZ77r23RLlw8cLupb1f+7Vf/6M//pPVaj2O4+Of8PgXf/EXH8bpR37oh17xFV/+4PDwsz7rszY2N/7oD/9oPpvtXrp0xx132H7CEx7/Ui/1km2akCRswIAkwFiI+xkDQlwhEABGQkKAQCCeSUIgAATi2QSAACSusJEAjEUIMICEAJDAIJC4wkhgSQACAQKwLUncz0YSAmXmYrHx27/9O/PF4hm3PmNn59iZ02ck/8M/PO5pT3/6hQsXn/iEJ95+x+0HB/tPftITX/GVXvVv/vqvvuVbvv3MNWf+5m/+xugXfvEXWsvbb799GMbf+Z3f+b0/+L03epM3/6M/+sM777zr3vvu+/u/+9v1ev23f/O3T37KU+6+556HPvShm5sbmZbAAIAkDCDJBlkIg7hCEoBAAAgMgLjCtiRJgG0hsCTASEgCWQhAYARI3M8GcT+JZ7IdEavVKmQACcQzSVwmhAGEMBgMWGIax1OnTvazbrUeSu1U+oiyubnZdZ2kcRh2L+5m+hVf8RWH9fr222/f2Ng8eerU8RMn+6r16rC1tlj0BwcHx08cjwg7Nzc2VsP63Lmzt9/2jFOnTz3koQ8BNre2h3G85957n/GM28Zh2Fgs9vb3b3vGbXuXLu3v74Ouv/56ITCAAIMQCCGeD9uAJSQZgwBsQAhAIAFCPAe11ra3tq+59tr1apWZh3u7YEq3sblZuzqOU631+LFj6/Xq9Jkzu5f2T56+9vDwcLVaP+MZtz79aU8bx3GxMb9w8fxyudzYWBimlkdHRyrdcr0+dmyHNlx37TXPeMYzjh079hIv/uLCtdYz11wDuveee+6+687lcjmM4+bmxmq13N3dvfOuuy5cuLBarba3t7e2toDZfFG77vY7brv99ttKjUuXLmUbdy9dWizmLbPr+1pKZiLAPJsAQJIQRhIAtnkmgcBckc6u76+//vrtre2NxeJw/5Kk2vdTaxcvXLz16U87fvzYQx7y4MypTdOFi+dms9nNt9xCv1lKd/fdd58/f+7wYG+9WtVaJYFr0f7+Xmttc2Pjwvnz47g+c+b05sbm4eFRm6anPv3pd9x222I2Wy6Xy+Vq+9ix7Z2d6669trXpxhtuaJmHBwcRAQYACUkYQMg8mxCAARCYKww2lwnzbBIYIySDeSYh8SwSzyJxhSzAgJC4wnbagBAWBoPASAAIhMQVkgCDkBASBgMGIV9//XXDMG4sFsd2tlerI1RuueUWhZ761Kc84xm3bm5sbG5sbG9uAfPFxu7F86vl0a23Pv3C+fOkJW67/RmHhwebGxsH+0cA+O6779zb2ztartbD2PWdodTS951tAEAgEMYIBEiSEIB4NvPcxLMJSbZtA5IASVwmAAOyMAgAmWcxQhJIAOYy8Wxgysd/3McuFgs7ARAg7mcABICwkACBFbEeho2NzRMnTvRd13VF0l133nnjDTfOZrNHP/rRD37Ig2+55eZHPOJh29vbN910U62ds91yy4O2trcWi4377jv7mMc86pprrj11+nRr7ZGPfMSJkyf2L13a3t566EMfeuMNN54+feb4ieOzrj927NgNN1534vixhzz4QTs728d2dh784Adff8P1j3jEwx/0oFs2Fhs7O9tOS7ItCcAgAMC2BCBAABK2QQaJZxK2JUCAEM9NgIRRRBzb2ZnN+o2trb6fLebzaWo33HDjDTfcuLO15WzzWb9aLW+5+ebFfH7q1KlHPPxhN99000033vDQhz7k1KnTj3rkI2+86cbjx48/4mEPf/CDHmTzmMc+5uDgYHNz69jO9l133y14+Zd/uZtvvumee++74Ybr77777gc/+MHHjh170IMetDw6mvXd8WM72zs7j3zEIx784AfdeNONt9zyoOuuv3a1Xj3kQTcdHR1ubW094pGPPHP69KMf/eiHPPTBD37wQ26++eb1enXzTTfdcP31p0+fLqUCEiCDACEAbCMkACEhQMIAiMsEYCPJcPLkycViY70eNjYWtda77767tekRD3/Ytddec+21101Tu+WW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",
      "media_type": "image/png"
    }
  }
]

The reference confirms the vocabulary — selectors/inputs, tabs, cards, badges, counters, tables, and the template screens (title, results, settings, etc.). I'll add the missing widgets and two new screens: a COMPONENTS kitchen-sink (checkbox / radio / toggle / stepper / text field / dropdown / tabs / tags / badges / key-hints / data table / sparkline) and a TITLE screen (big scaled title + menu selection + version + footer hints).

First, the new widgets:

Edit (E:\a327ex\ricochet-template\rough_ui.lua)

The file E:\a327ex\ricochet-template\rough_ui.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Now the two screens, wired into main_rough.lua:

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Now wire the two screens into SCREENS and the draw dispatch:

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Let me update the header doc to list the new screens, then syntax-check.

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template LUA="E:/a327ex/Anchor/reference/love-compare/tool...)

OK

Both compile. Two new screens are in, and the font-role swap (B/H/M) applies to them too.

What's new

New Tab order: HUD → MENU → SHOP → TITLE → COMPONENTS → ICONS → SPEC/body → SPEC/disp.

TITLE / MAIN MENU — a big 3× integer-scaled RICOCHET title (the header font upscaled crisp, nearest-sampled), subtitle, a menu list with PLAY selected (corner brackets + ink, others dimmed), a mono version string, footer key-hints, and corner brackets framing the safe area.

COMPONENTS (kitchen sink) — three labeled columns covering the widgets the HUD/MENU/SHOP didn't:

All built on rough_ui.lua, which gained those widgets plus a ru_text_scaled helper for crisp big pixel-text.

To test

Run run.bat, Tab to TITLE and COMPONENTS. On COMPONENTS especially, cycle B/H/M to see how each font holds up across many small widgets at once — that's the densest stress test of the theme.

Heads-up: COMPONENTS is intentionally packed, and positions are hand-placed against the Ark10 body metrics — if you swap the body font to a much wider/taller one, a few labels may crowd their controls. With the current trio it should sit clean. Tell me anything that looks off (spacing, a widget that doesn't read, a element you want added) and I'll adjust.

Yup, all of it seems very good to me. UI is down and correct.

That closes the whole UI/type/icon arc cleanly. Where things stand, locked in:

What's left — the original core goal

The one big piece from the very first ask still untouched is the effects themselves at 480×270 — verifying every pattern and shape reads well at the SNKRX render target where 1 logical px = 1 dither cell. That's the roadmap's deferred item #1, and it's where the "does it actually look good low-res" question really bites:

The plan would be: install the effect shader in the rough build (main_rough currently skips it), add a low-res pattern/shape gallery screen, walk every pattern and shape, and tune low-res default scales / cell sizes. I'd post a design brief before building that.

Minor housekeeping (defer-able)

Want me to head into the effects/shapes low-res pass next (I'll write the brief first), or pause here? Either way the UI bench stays exactly as it is.

Update documentation first with relevant information and then let's go to the effects.

On it — docs first, then I'll write the effects brief. Let me re-read the exact sections of the template CLAUDE.md I need to update so my edits match precisely.

Read (E:\a327ex\ricochet-template.claude\CLAUDE.md)

44   ---
45  
46  ## What this is
47  
48  A starter Anchor 2 project that ships **Ricochet's visual identity** plus
49  a clean four-axis effect system (pattern × color × dither × shape). Fork the
50  folder, drop your game code into `main.lua`, prototype. The template
51  itself ships no gameplay — that's the forking dev's job.
52  
53  The full visual identity (palette philosophy, dotted motif, typography,
54  shape language, motion principles) lives in `Ricochet/design.md`. This
55  template implements the palette + the effect pipeline only; everything
56  else in design.md is guidance for how a forked project should look.
57  
58  Three screens, cycled with **Tab**: the **pattern gallery**, the flat **Tabler
59  UI-kit showcase**, and the **effect editor**.
60  
61  Layout:
62  - **`main.lua`** — boot order, layers, the per-frame UI contract, the keyboard
63    hotkeys, and the **gallery** screen (one rect per pattern, the `gallery` table,
64    + a click-to-select inspector sidebar).
65  - **`palette.lua`** — `palette_dark` + `palette_light`, 13 named tokens
66    per palette. `palette_init('dark' | 'light')` selects the active one.
67  - **`effect.lua`** — the four-axis effect API: pattern/color/dither/shape
68    registries, `effect_set(layer, spec)`, the **single-call wrappers**
69    (`effect_rectangle` / `effect_circle` / `effect_image`), cycle helpers.
70  - **`editor.lua`** — the **effect editor** screen: a full control panel +
71    one live preview (TARGET = rect / circle / image), the place to dial in any
72    single drawable. Replaced the old text "API reference" screen; the dedicated
73    image screen is folded in as its IMAGE target.
... [64 more lines]

Read (E:\a327ex\ricochet-template.claude\CLAUDE.md)

727  
728 ## File map
729 
730 ```
731 ricochet-template/
732 ├── main.lua                    # boot + gallery screen + inspector sidebar + keys
733 ├── palette.lua                 # 2 palettes × 13 tokens; palette_init
734 ├── effect.lua                  # 4-axis spec API + effect_rectangle/circle/image + cycles
735 ├── editor.lua                  # the effect EDITOR screen (target + controls + live preview)
736 ├── ui_controls.lua             # shared sidebar control blocks + cyclers (gallery + editor)
737 ├── showcase.lua                # flat Tabler UI-kit screen
738 ├── rectcut.lua                 # RectCut layout primitive
739 ├── ui_state.lua                # frame-local hot/active/focus + ui_claim_hot
740 ├── ui.lua                      # 5 Ricochet-style widgets + helpers
741 ├── anchor/                     # Anchor 2 framework
742 ├── anchor.exe                  # built engine (patched — see Critical conventions)
743 ├── tools/                      # fetch_icons.mjs, compare_packs.mjs (node, run by hand)
744 ├── assets/
745 │   ├── draw_shader.frag        # unified pattern+shape+dither+color shader
746 │   ├── icons/tabler/           # Tabler PNGs: <concept>.png + <concept>_filled.png
747 │   ├── images/                 # editor IMAGE-target test images (girl/boy/wolf + CREDITS)
748 │   ├── Oswald-Medium.ttf       # UI titles + field labels
749 │   ├── IBMPlexSans-Regular.ttf # UI labels (alt)
750 │   └── CascadiaCode-Regular.ttf # UI value column + numeric readouts
751 ├── run.bat
752 └── .claude/CLAUDE.md           # this file
753 ```
754 
755 ---
756 
... [12 more lines]

Now I have exact anchors. Let me make the documentation edits to the template CLAUDE.md — the two-builds note, the roadmap update, the locked decisions, the file map, and a new section documenting the rough build.

Edit (E:\a327ex\ricochet-template.claude\CLAUDE.md)

The file E:\a327ex\ricochet-template\.claude\CLAUDE.md has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template.claude\CLAUDE.md)

The file E:\a327ex\ricochet-template\.claude\CLAUDE.md has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template.claude\CLAUDE.md)

The file E:\a327ex\ricochet-template\.claude\CLAUDE.md has been updated successfully. (file state is current in your context — no need to Read it back)

Now the file map:

Edit (E:\a327ex\ricochet-template.claude\CLAUDE.md)

<tool_use_error>String to replace not found in file.
String: ricochet-template/
├── main.lua                    # boot + gallery screen + inspector sidebar + keys
├── palette.lua                 # 2 palettes × 13 tokens; palette_init
├── effect.lua                  # 4-axis spec API + effect_rectangle/circle/image + cycles
├── editor.lua                  # the effect EDITOR screen (target + controls + live preview)
├── ui_controls.lua             # shared sidebar control blocks + cyclers (gallery + editor)
├── showcase.lua                # flat Tabler UI-kit screen
├── rectcut.lua                 # RectCut layout primitive
├── ui_state.lua                # frame-local hot/active/focus + ui_claim_hot
├── ui.lua                      # 5 Ricochet-style widgets + helpers
├── anchor/                     # Anchor 2 framework
├── anchor.exe                  # built engine (patched — see Critical conventions)
├── tools/                      # fetch_icons.mjs, compare_packs.mjs (node, run by hand)
├── assets/
│   ├── draw_shader.frag        # unified pattern+shape+dither+color shader
│   ├── icons/tabler/           # Tabler PNGs: <concept>.png + <concept>_filled.png
│   ├── images/                 # editor IMAGE-target test images (girl/boy/wolf + CREDITS)
│   ├── Oswald-Medium.ttf       # UI titles + field labels
│   ├── IBMPlexSans-Regular.ttf # UI labels (alt)
│   └── CascadiaCode-Regular.ttf # UI value column + numeric readouts
├── run.bat
└── .claude/CLAUDE.md            # this file
(note: Edit also tried swapping \uXXXX escapes and their characters; neither form matched, so the mismatch is likely elsewhere in old_string. Re-read the file and copy the exact surrounding text.)</tool_use_error>

The box-drawing alignment didn't match my typed version. Let me re-read the current file-map block exactly.

Read (E:\a327ex\ricochet-template.claude\CLAUDE.md)

788     new shape's **coverage** in [0,1]. Geometric shapes: compute a gauge metric
789    `m(cell_uv)` that is 0 at the cell center with the boundary at `m == fc`, then
790    return `1.0 - smoothstep(fc-e, fc+e, m)` — see the square/diamond/hexagon/
791    triangle branches (the `dist` param was dropped; derive from `cell_uv`). The
792    shared ROTATION is already applied to the cell coord at the top of `shape_mask`,
793    so use the rotated `p` it computes. (Image shapes sample `u_shape_tex` instead.)
794    The coverage/color split + backing composite in `main()` are unchanged;
795    `effect_field_shaped` supplies the per-cell `fc` and the color value — don't
796    re-sample.
797 2. In `effect.lua`: add to `shape_kinds`, `shape_cycle_names`, and
798    `shape_pretty_names` (the SHAPE cycler's display label).
799    The SHAPE controls are shared, so no per-gallery-entry field is needed.
800 
801 ---
802 
803 ## File map
804 
805 ```
806 ricochet-template/
807 ├── main.lua                    # boot + gallery screen + inspector sidebar + keys
808 ├── palette.lua                 # 2 palettes × 13 tokens; palette_init
809 ├── effect.lua                  # 4-axis spec API + effect_rectangle/circle/image + cycles
810 ├── editor.lua                  # the effect EDITOR screen (target + controls + live preview)
811 ├── ui_controls.lua             # shared sidebar control blocks + cyclers (gallery + editor)
812 ├── showcase.lua                # flat Tabler UI-kit screen
813 ├── rectcut.lua                 # RectCut layout primitive
814 ├── ui_state.lua                # frame-local hot/active/focus + ui_claim_hot
815 ├── ui.lua                      # 5 Ricochet-style widgets + helpers
816 ├── anchor/                     # Anchor 2 framework
817 ├── anchor.exe                  # built engine (patched — see Critical conventions)

Read (E:\a327ex\ricochet-template.claude\CLAUDE.md)

818  ├── tools/                      # fetch_icons.mjs, compare_packs.mjs (node, run by hand)
819 ├── assets/
820 │   ├── draw_shader.frag        # unified pattern+shape+dither+color shader
821 │   ├── icons/tabler/           # Tabler PNGs: <concept>.png + <concept>_filled.png
822 │   ├── images/                 # editor IMAGE-target test images (girl/boy/wolf + CREDITS)
823 │   ├── Oswald-Medium.ttf       # UI titles + field labels
824 │   ├── IBMPlexSans-Regular.ttf # UI labels (alt)
825 │   └── CascadiaCode-Regular.ttf # UI value column + numeric readouts
826 ├── run.bat
827 └── .claude/CLAUDE.md           # this file
828 ```
829 
830 ---
831 
832 ## Working style
833 

I see — the original tree's spacing differs slightly from my rewrite. Let me do targeted single-line edits instead, which are reliable.

Edit (E:\a327ex\ricochet-template.claude\CLAUDE.md)

The file E:\a327ex\ricochet-template\.claude\CLAUDE.md has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template.claude\CLAUDE.md)

The file E:\a327ex\ricochet-template\.claude\CLAUDE.md has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template.claude\CLAUDE.md)

The file E:\a327ex\ricochet-template\.claude\CLAUDE.md has been updated successfully. (file state is current in your context — no need to Read it back)

Docs are updated — the template CLAUDE.md now covers: the two-builds ROUGH fork, a full "The rough (480×270) low-res build" section (screens, controls, rough_ui.lua widget list, the font trio + roles, the ⚠️ ASCII-only-atlas CJK caveat, the icon decision), the roadmap (480×270 marked in-progress with the effects pass as the remaining piece), the locked font/icon decisions, and the file map (main_rough.lua, rough_ui.lua, assets/fonts, icons/pixel, icons/pixelarticons, the new tools).

Now to the effects. Marking the phase shift and posting the brief before I touch code.

mcpccd_sessionmark_chapter

[
  {
    "type": "text",
    "text": "Chapter marked: \"Low-res effects pass\". Continue your current work."
  }
]

Design brief — effects/shapes at 480×270 (the rough build's effect pass)

Goal. Bring the four-axis effect pipeline (pattern × color × dither × shape) into the rough build and verify every pattern and shape reads at the SNKRX render target, where 1 logical px = 1 dither cell. Then retune the baked scales / shape cell sizes for that regime and cull anything that mushes.

Approach (incremental — patterns first, then shapes, then optional inspector):

Interfaces. main_rough.lua only — adds effect_setup to boot, a draw_patterns() screen + its SCREENS entry + dispatch, a rough_gallery scale table, and cycle-key handlers in update(). Reuses effect.lua wholesale (effect_rectangle, effect_next_color/dither/token, pattern_cycle_names) and palette. No changes to the shader or effect.lua — pure consumer.

Functions. draw_patterns() lays out the rough_gallery rects in a small grid, calls effect_rectangle per entry with the shared color/dither + per-entry pattern/scale/param, draws labels; update() gains color/dither/token cycle handlers (screen-scoped, so reusing letter keys is fine).

Three things to confirm before I build Step 1:

  1. Order — patterns gallery → shapes gallery → optional inspector. Good?
  2. Galleries-first (all patterns at once, shared cycling) vs. jumping straight to an interactive inspector — I lean galleries for the "do they all read" verification.
  3. Keys — on effect screens I'll reuse simple letter keys for cycling color/dither/tokens (they only act on those screens, so no real conflict with the UI screens' B/H/M/F/1/2/3). Any preference, or shall I pick sensible ones and list them?

For 3, do it like the other one, where it's all done via UI instead of via keys. You already have the UI working visually, just do it logically now.

[Request interrupted by user]

For everything else your defaults seem reasonable, if anything conflicts just choose what you prefer.

Good change — make the controls real UI, not keys. That means giving the rough widgets actual interaction (hover/active/click), then driving the effect controls with them. I'll port the smooth build's proven immediate-mode model rather than invent one. Let me read its interaction core and a couple of control widgets to replicate the behavior faithfully.

Read (E:\a327ex\ricochet-template\ui_state.lua)

1    --[[
2     ui_state.lua — frame-local UI interaction state.
3   
4     `ui_state` holds three interaction IDs, rebuilt every frame:
5       hot_id     widget under the cursor this frame
6       active_id  widget the mouse-down landed on (persists until release)
7       focus_id   widget last clicked (persists until the next click)
8   
9     `ui_state_begin_frame()` clears hot_id; call it once per frame BEFORE
10    any widget calls (in update(), top of frame). Widget IDs are explicit
11    caller-provided strings — no auto-IDs.
12  
13    This is the rules-based, frame-local interaction layer. It is NOT
14    hidden persistent state — caller-owned `current_*` state holds the
15    values widgets display; ui_state just tracks who's under the cursor
16    this frame.
17  
18    Slimmed from snkrx-template's snkrx/ui/state.lua — text-input fields
19    and modal lock removed (no text inputs or modals in this template).
20  ]]
21  
22  ui_state = { hot_id = nil, active_id = nil, focus_id = nil }
23  
24  function ui_state_begin_frame()
25    ui_state.hot_id = nil
26  end
27  
28  function ui_is_hot(id)     return ui_state.hot_id    == id end
29  function ui_is_active(id)  return ui_state.active_id == id end
30  function ui_is_focused(id) return ui_state.focus_id  == id end
... [22 more lines]

I can reuse ui_state.lua verbatim in the rough build — it's standalone. Let me read the smooth widgets' click/drag flow to replicate it.

Grep (^local function ui_icon_button|^function ui_field|^function ui_slider|^function ui_segment|ui_claim_hot|ui_mouse_pressed|ui_mouse_released|active_id =)

37:    ui_claim_hot). On mouse-down it claims active. On mouse-up over the
41:    MOUSE EDGE EVENTS — widgets read the globals `ui_mouse_pressed` /
42:    `ui_mouse_released`, NOT mouse_is_pressed/released directly. Those edge
46:    Held-state and cursor position (mouse_position, via ui_claim_hot) are
63:    - ui_state.lua (slimmed) — hot/active/focus tracking + ui_claim_hot
264:  ui_claim_hot(id, r)
266:  if hovered and ui_mouse_pressed then
267:    ui_state.active_id = id
270:  local active = ui_state.active_id == id
271:  if active and ui_mouse_released then
273:    ui_state.active_id = nil
303:function ui_field(opts)
350:function ui_segment(opts)
371:    ui_claim_hot(cid, cell)
373:    if hovered and ui_mouse_pressed then
374:      ui_state.active_id = cid
377:    if ui_state.active_id == cid and ui_mouse_released then
382:      ui_state.active_id = nil
461:    ui_claim_hot(sw_id, sw_r)
463:    if hovered and ui_mouse_pressed then
464:      ui_state.active_id = sw_id
467:    if ui_state.active_id == sw_id and ui_mouse_released then
473:      ui_state.active_id = nil
528:function ui_slider(opts)
550:  ui_claim_hot(id, track_r)
552:  if hovered and ui_mouse_pressed then
553:    ui_state.active_id = id
556:  if ui_state.active_id == id then
560:    if ui_mouse_released then ui_state.active_id = nil end

Let me read the exact interaction logic for the button, cycler field, segment, and slider.

Read (E:\a327ex\ricochet-template\ui.lua)

255    Hover: recess fill. Active (mid-click): ink fill + paper glyph.
256   Border is hairline ink at all times.
257   Returns { clicked = bool }.
258 ]]
259 function ui_icon_button(opts)
260   local r = opts.rect
261   local id = opts.id
262 
263   local hovered, clicked = false, false
264   ui_claim_hot(id, r)
265   hovered = ui_is_hot(id)
266   if hovered and ui_mouse_pressed then
267     ui_state.active_id = id
268     ui_state.focus_id  = id
269   end
270   local active = ui_state.active_id == id
271   if active and ui_mouse_released then
272     if hovered then clicked = true end
273     ui_state.active_id = nil
274   end
275 
276   -- Fill: active > hover > none.
277   if active and hovered then
278     layer_rectangle(ui_layer, r.x, r.y, r.w, r.h, palette.ink())
279   elseif hovered then
280     layer_rectangle(ui_layer, r.x, r.y, r.w, r.h, palette.recess())
281   end
282   hairline_rect(r, palette.ink())
283 
284   -- Glyph. Use ui_font_value (Cascadia mono) — matches the value column
... [100 more lines]

Perfect — ui_state.lua is reusable as-is, and the widget flow is simple (claim hot → press grabs active → release-on-hot fires). I'll port that immediate-mode model to pixel-scale interactive widgets and build the PATTERNS screen with a real control panel. Defaults approved, so proceeding.

First, interactive widgets in rough_ui.lua:

Edit (E:\a327ex\ricochet-template\rough_ui.lua)

The file E:\a327ex\ricochet-template\rough_ui.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Now wire it into main_rough.lua — boot the effect pipeline, add the state, the screen, mouse capture, and dispatch.

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Now add draw_patterns() (before the status strip section) and wire the draw dispatch + ui_state_begin_frame + edge reset:

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Let me update the header doc and then syntax-check.

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template LUA="E:/a327ex/Anchor/reference/love-compare/tool...)

OK

Both compile. One safety check before handoff: installing the shader means the mock screens now render through it too, so I must guarantee a passthrough baseline each frame (or stale shape/pattern uniforms could carve the flat UI). Let me confirm what effect_clear resets.

Read (E:\a327ex\ricochet-template\effect.lua)

450    layer_shader_set_float(layer, effect_draw_shader, 'u_time',             time)
451 end
452 
453 --[[
454   effect_clear(layer)
455   Reset pattern/color/dither on this layer to passthrough. The other
456   uniforms (color_a/b, scale, param) are left as-is — they only have an
457   effect when a non-zero kind reads them.
458 ]]
459 function effect_clear(layer)
460   layer_shader_set_int(layer, effect_draw_shader, 'u_pattern_kind', 2)  -- solid
461   layer_shader_set_int(layer, effect_draw_shader, 'u_color_kind',   0)  -- none (passthrough)
462   layer_shader_set_int(layer, effect_draw_shader, 'u_dither_kind',  0)  -- off
463   layer_shader_set_int(layer, effect_draw_shader, 'u_shape_kind',   0)  -- none
464 end
465 
466 --[[
467   effect_draw(layer, spec, fn, ...)
468   Scoped form: set the effect, run fn(...), then reset to passthrough.
469   Forwards extra arguments to fn so closures can stay light.
470 ]]
471 function effect_draw(layer, spec, fn, ...)
472   effect_set(layer, spec)
473   fn(...)
474   effect_clear(layer)
475 end
476 
477 -- =============================================================================
478 -- SINGLE-CALL DRAW WRAPPERS
479 -- Draw one primitive through the full effect pipeline in ONE call: set + draw +

effect_clear resets all four kinds to passthrough. To guarantee the mock screens and the panel always render flat (not carved by stale uniforms from a PATTERNS visit), I'll clear to passthrough at the very top of draw() each frame.

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template && "E:/a327ex/Anchor/reference/love-compare/tools...)

OK

Step 1 of the effects pass is in and compiles. Here's what landed and how to test.

What I built

The effect pipeline is now installed in the rough build (effect_setup with the shared draw_shader.frag). Because it's gl_FragCoord-anchored, at 480×270 the dither/shape grids become true 1-logical-pixel cells — chunky pixel-art for free.

Interactive widgets (the "do it via UI" ask): I ported the smooth build's immediate-mode model — reused ui_state.lua verbatim, capture mouse edges in update(), run widgets in draw(). New in rough_ui.lua: ru_iconbtn, ru_cycler (label + value + [<][>]), ru_islider (drag), ru_isegment, ru_ibutton.

New PATTERNS screen (boots first now) — a mini version of the smooth gallery+sidebar:

To test

run.bat → boots into PATTERNS. Use the mouse: click the [<]/[>] on COLOR / COL A / COL B / DITHER, drag the SCALE slider, click DARK/LIGHT. The 10 rects should re-skin live and show chunky pixel-art dither.

What to look at / decide:

Caveats (expected): SCALE is one global multiplier for now (per-pattern tuning is the next step); each pattern's intrinsic param is fixed at default (no param slider yet); LINEAR/RADIAL ignore scale by design so they won't respond to the slider much.

Once you've eyeballed it, tell me what reads and what mushes, and I'll do per-pattern scale tuning + add the SHAPES screen.

Everything renders correctly, and the effects even look more natural here in some sense. Very good.

Glad it all holds together. And that observation is real, not just vibes: at 480×270 the dither cells are large and few, so each pattern resolves into a handful of bold, deliberate stipple shapes instead of a smooth field with fine noise sprinkled on top. The low-res grid forces a stronger graphic read — the pattern becomes texture with identity rather than gradient-plus-grain. It's the same reason SNKRX-era pixel dithering looks "designed" where a hi-res equivalent can look like a filter. The effect system was arguably always aimed at this resolution; we were just previewing it at 4× zoom before.

That closes Step 1 of the effects pass. Per the order we agreed, the next step is the SHAPES screen: same control-panel + gallery setup, but showing every shape kind (circle / square / diamond / triangle / hexagon / ring / cross / icon-bg / icon-field) applied to one base pattern, with SHAPE + SHAPE SIZE controls — the place to find the right cell size for the low-res regime (a 24px cell that read fine on a 1920 rect is huge at 480 wide; I'd expect ~6–12px). Icons there use the HackerNoon set.

Two things before I build it:

  1. Proceed to SHAPES now, or do you want any tweaks to PATTERNS first?
  2. Per-pattern scale baking — right now SCALE is one global multiplier (sitting at 2.5, which you liked). Want me to bake tuned per-pattern low-res scales into rough_gallery so each pattern has a good default (the eventual ship state), or leave the global knob for now and revisit at the end?

No need for any tweaks to patterns, do shapes, and also do per-pattern scale baking at the same time.

On it — baking per-pattern scales and building the SHAPES screen. Let me grab the exact shape kind names and the icon requirement from effect.lua so the gallery is accurate.

Grep (shape_kinds|shape_cycle_names|shape_pretty_names|shape_is_sprite|shape_field_only)

155:shape_kinds = {
156-  none        = 0,
157-  circle      = 1,
158-  circle_hard = 2,
--
239:shape_cycle_names   = {
240-  'none', 'circle', 'circle_hard', 'square', 'diamond', 'triangle', 'hexagon',
241-  'ring', 'cross', 'sprite', 'sprite_field',
242-}
--
245:shape_pretty_names = {
246-  none         = 'off',
247-  circle       = 'circle (size)',
248-  circle_hard  = 'circle (hard)',
--
394:  local sh = shape_kinds[spec.shape or 'none'] or 0
395-  local ca = resolve_color(spec.color_a or 'ink')
396-  local cb = resolve_color(spec.color_b or 'field')
397-  local scale    = spec.pattern_scale or effect_default_pattern_scale
--
539:function effect_next_shape(cur)   return cycle_next(shape_cycle_names, cur) end
540:function effect_prev_shape(cur)   return cycle_prev(shape_cycle_names, cur) end
541-
542--- Cycle palette tokens (used by the test scene for color_a / color_b).
543-function effect_next_token(cur) return cycle_next(palette_token_names, cur) end
--
549:function effect_shape_label(name)  return shape_pretty_names[name]  or name or '?' end

Read (E:\a327ex\ricochet-template\effect.lua)

245  shape_pretty_names = {
246   none         = 'off',
247   circle       = 'circle (size)',
248   circle_hard  = 'circle (hard)',
249   square       = 'square',
250   diamond      = 'diamond',
251   triangle     = 'triangle',
252   hexagon      = 'hexagon',
253   ring         = 'ring',
254   cross        = 'cross',
255   sprite       = 'icon (bg)',
256   sprite_field = 'icon (field)',
257 }
258 
259 -- Dither cycle order matches the integer id order in dither_kinds (and the
260 -- if-ladder in the shader). 2-level group first, then multi-level families.
261 dither_cycle_names = {
262   'off',
263   -- 2-level
264   'bayer4_2', 'bayer8_2', 'noise_2',
265   -- Bayer multi-level
266   'bayer2_4', 'bayer4_4', 'bayer4_8', 'bayer8_7', 'bayer8_9', 'bayer8_16',
267   -- White-noise multi-level
268   'noise_4', 'noise_8',
269   -- Cluster dots
270   'cluster_4', 'cluster_6', 'cluster_8',
271   -- Diagonal stripes
272   'line_diag_2', 'line_diag_3', 'line_diag_4', 'line_diag_5',
273   'line_diag_6', 'line_diag_7', 'line_diag_8',
274   -- Anti-diagonal stripes

Now I have the exact shape kinds (circle / circle_hard / square / diamond / triangle / hexagon / ring / cross / sprite / sprite_field). Let me bake the per-pattern scales and add the shapes state + gallery lookup:

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Now add draw_shapes() after draw_patterns():

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Now wire shapes into SCREENS and the dispatch:

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template && "E:/a327ex/Anchor/reference/love-compare/tools...)

OK

Both done and compiling.

What's new

Per-pattern scales baked. Each rough_gallery pattern now carries its own tuned 480×270 default (the smooth value × the 2.5 you settled on): plasma/organic 0.75, waves 0.88, the mid set 1.00, gradients 1.25. The PATTERNS SCALE slider now sits at 1.0 and fine-tunes around those bakes — so the screen looks exactly like the 2.5 global you liked, but each pattern is now standalone-correct (the eventual ship state). Relative differentiation between patterns is preserved.

New SHAPES screen (2nd in the Tab order, same control-panel + gallery model):

COLOR/DITHER/tokens are shared between PATTERNS and SHAPES (the smooth build's shared-look idiom), so the palette stays consistent across both.

To test

run.bat → PATTERNS should look unchanged (slider now at 1.0). Tab once to SHAPES. Drag SIZE to find the low-res sweet spot — at 480×270 I'd expect ~6–12px to read best; bigger for the icon shapes to stay legible. Cycle PATTERN to see shapes over different fields (plasma/organic give varied dot sizes; solid gives a uniform grid), and toggle BACKING (transparent = page shows through the gaps, token = gaps fill with COL A).

What to decide: a good default SIZE (and maybe a default backing) — once you pick, I'll bake them. Also whether icon-shapes need a swappable icon picker, or the fixed star is fine for the bench.

Caveats: icon shape is fixed to the filled star for now; circle (hard) is a flat per-cell color (print-halftone look) vs circle which varies inside the cell.

It all looks fine, move onto the next issue.

The low-res arc is now comprehensively done — patterns and shapes verified + tuned at 480×270, icons (HackerNoon) and fonts (Ark10/PxOpB/Monogram) settled, the whole Ricochet UI chrome working with real interactive controls. That was the entire original scope of this session.

So "the next issue" is genuinely a fork — there are a few distinct candidates and they're very different in size and direction. Rather than guess (the big one would touch another project), let me confirm which you mean.

AskUserQuestion

Your questions have been answered: "The 480×270 low-res arc is complete. What's the next issue to tackle?"="We still have images, at least dithered/effect images to do, like in the original high resolution one.". You can now continue with these answers in mind.

The next issue is dithered/effect images — porting the smooth editor's IMAGE target into the rough build. Let me read exactly how the smooth editor builds the image spec (luminance vs pattern mode) so I replicate it faithfully, and confirm the test images load path.

Grep (image_field|image_pattern_amount|current_image|image_mode|effect_image|luminance|content_img)

15-  per-rect). The preview draws through the effect_rectangle / effect_circle /
16:  effect_image wrappers — so the editor literally exercises the public API.
17-]]
18-
--
73-  }
74:  if editor_target == 'image' and current_image_mode == 'luminance' then
75:    spec.image_field = true
76:    spec.image_pattern_amount = current_image_pattern_amount
77-  end
78-  return spec
--
105-
106:  -- IMAGE target rows: field-source MODE + which IMAGE + (luminance) PATTERN AMT.
107-  if editor_target == 'image' then
108-    row = rect_cut_top(body, ui_row_h)
--
110-                           options = { 'LUMINANCE', 'PATTERN' },
111:                           index = current_image_mode == 'luminance' and 1 or 2 }
112:    if md.changed then current_image_mode = md.index == 1 and 'luminance' or 'pattern' end
113-
114-    row = rect_cut_top(body, ui_row_h)
115:    f = ui_field{ rect = row, id = 'ed_image', label = 'IMAGE', value = current_image }
116:    if f.prev_clicked then current_image = cycle_content_image(current_image, -1) end
117:    if f.next_clicked then current_image = cycle_content_image(current_image,  1) end
118-
119:    if current_image_mode == 'luminance' then
120-      row = rect_cut_top(body, ui_row_h + 20)
121-      local pa = ui_slider{ rect = row, id = 'ed_patamt', label = 'PATTERN AMT',
122:                            value = current_image_pattern_amount, vmin = 0, vmax = 1, fmt = '%.2f' }
... [14 more lines]

Let me read the full spec-building block in the editor to capture all the fields image mode uses.

Read (E:\a327ex\ricochet-template\editor.lua)

40   local editor_scale, editor_speed, editor_contrast = 0.3, 1, 1
41  local editor_param, editor_param2 = 0, 0
42  local editor_param_label, editor_param2_label = nil, nil
43  local editor_param2_min, editor_param2_max = 0, 1
44  
45  -- Load a pattern's defaults into the editor's modifier state. Keeps SPEED /
46  -- CONTRAST (universal — not pattern-specific) at their current values.
47  local function editor_load_pattern(name)
48    editor_pattern = name
49    local d = pattern_defaults[name] or { scale = 0.5 }
50    editor_scale        = d.scale or 0.5
51    editor_param        = d.param or 0
52    editor_param_label  = d.param_label
53    editor_param2       = d.param2 or 0
54    editor_param2_label = d.param2_label
55    editor_param2_min   = d.param2_min or 0
56    editor_param2_max   = d.param2_max or 1
57  end
58  editor_load_pattern('plasma')
59  
60  -- Build the effect spec from the editor's pattern/modifier state + the shared
61  -- look globals. For the IMAGE target, LUMINANCE adds the field + ripple flags.
62  local function editor_spec()
63    local spec = {
64      pattern = editor_pattern, pattern_scale = editor_scale,
65      speed = editor_speed, contrast = editor_contrast,
66      pattern_param = editor_param, pattern_param2 = editor_param2,
67      color = current_color, color_a = current_color_a, color_b = current_color_b,
68      dither = current_dither,
69      shape = current_shape, shape_size = current_shape_size,
... [30 more lines]

Now I have the exact image spec (image_field = true + image_pattern_amount for luminance mode; pattern-masked-by-alpha otherwise). Let me build the IMAGES screen. First, load the test images and add the state:

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template && "E:/a327ex/Anchor/reference/love-compare/tools...)

OK
== confirm test images exist ==
3383629 assets/images/boy.png
1845595 assets/images/girl.png
19609 assets/images/wolf.png

Compiles, and the test images are present (girl/boy opaque, wolf the 19KB stencil). The IMAGES screen is in — that's the smooth editor's IMAGE target ported to the rough build.

What's new — IMAGES screen (3rd in Tab order)

A single large dithered-photo preview + a mouse-driven control panel:

To test

run.bat → Tab twice to IMAGES. Default is girl in LUMINANCE. Try the classic dithered-portrait recipe: COLOR = mix, COL A = ink, COL B = field, DITHER = bayer4_2 → a 2-tone pixel-art portrait. Push CONTRAST to see the tone spread, sweep DITHER for different stipple styles, and raise PATT AMT to watch the dither flow. Switch to wolf + PATTERN mode to see a pattern poured into the silhouette.

The one thing to watch: the source photos are large (~1.5–3 MB, ~2000px+) and texture_load forces nearest sampling, so downscaling them into the ~254px preview point-samples — the luminance field may look a bit noisy/aliased before the dither abstracts it. At 1920 the editor had a bigger preview so less shrink; at 480×270 it's more aggressive. If it reads too grainy, tell me and I'll either downscale the source images to ~256px or add a linear-sampled load path for content images.

(Not yet wired here: SHAPE-over-image halftone — the smooth build can run a shape grid on the photo too. Easy to add if you want it.)

Great, it works. I assume all this is working under the same API for both rough and smooth modes?

Good question to nail down — let me confirm it concretely rather than assume, since this is exactly the architecture validation that matters.

Bash (cd E:/a327ex/ricochet-template echo "== effect_setup (shader install) in each en...)

== effect_setup (shader install) in each entry ==
main.lua:59:--   3. effect_setup installs the draw shader AND pushes the active palette
main.lua:78:effect_setup({ draw_shader = 'assets/draw_shader.frag' })
main_rough.lua:50:effect_setup({ draw_shader = 'assets/draw_shader.frag' })

== require('effect') in each entry ==
main.lua:47:require('effect')
main_rough.lua:42:require('effect')

== how many draw_shader.frag files exist ==
-rw-r--r-- 1 adn 197121 41461 May 30 16:11 assets/draw_shader.frag

== effect_* API calls used by the rough build ==
      1 effect_clear
      2 effect_image
      3 effect_next_color
      3 effect_next_dither
      2 effect_next_pattern
      5 effect_next_token
      3 effect_prev_color
      3 effect_prev_dither
      2 effect_prev_pattern
      5 effect_prev_token
      3 effect_rectangle
      1 effect_set

Confirmed — yes, and concretely so. The effect engine is one shared implementation, driven identically by both entries:

The reason this works with zero effect-side changes is the shader is gl_FragCoord-anchored: the dither/shape grids are defined in render-target pixels, so the same shader produces 1:1 chunky cells at 480×270 and fine cells at 1920×1080 automatically. The resolution isn't a parameter the effect API knows or cares about — it just reads where it's drawing.

What actually differs between the two builds is never the effect API, only the host around it:

  1. Configrequire('anchor') params (480×270/scale 4/rough vs 1920×1080/scale 1/smooth). Engine-level.
  2. Dev UI + scenesrough_ui.lua + main_rough's screens vs ui.lua + main's gallery/editor/showcase. Different chrome, but even here the interaction core (ui_state.lua) is shared verbatim.
  3. Fonts — pixel fonts vs Oswald/Plex/Cascadia.
  4. The baked per-pattern scale values (rough_gallery's 0.75/1.0/1.25 vs the smooth gallery's 0.30/0.40/0.50). This is the one effect-adjacent difference, and it's tuning data, not code — same patterns, same shader, just a different default "feature size per rect" number because the ideal zoom depends on rect pixel size.

One honest nuance: the two are separate entry processes (the ROUGH flag picks one at boot; they don't run together or share runtime state). But they compile against the same effect code and shader — "same API" in the sense that matters.

The useful implication: this is essentially a live proof of the roadmap's end goal. Dropping this into a real game (the snkrx-template replacement) is just "call the same effect_* API at whatever resolution the game runs" — the rough build demonstrates the pipeline is genuinely resolution-agnostic, not two parallel systems pretending to be one.

OK. Let's generalize things properly, in the same way the SNKRX template generalized what they did there, we'll do for this particular theme. Choose whatever ways you think are best, just tell me your plan beforehand. And make sure that it works for both high and low resolution games, we'll use this theme to make both kinds of games.

This is the big one — packaging the Ricochet theme into a proper reusable toolkit, resolution-agnostic, mirroring how snkrx-template generalized. You want the plan first, so let me study how snkrx-template structured its package before proposing anything.

Read (E:\a327ex\snkrx-template.claude\CLAUDE.md)

1    # snkrx-template — orientation for new instances
2   
3   ## ⛔ WORKFLOW RULE — DESIGN BRIEF BEFORE CODE ⛔
4   
5   **This rule has no exceptions and is valid for every single
6   non-trivial change, every session, every file in this project.**
7   
8   Before calling `Write` or `Edit` on project code, post a **design
9   brief** in chat — a conceptual explanation of the approach, NOT the
10  code itself. Then wait. The user will usually reply with questions
11  and improvements; iterate the brief with them until you reach a
12  conclusion. Only then write the code.
13  
14  ### What a design brief contains
15  
16  1. **Approach.** A high-level explanation of how each feature works —
17     what it does, the strategy, the key data it holds, its lifecycle.
18  2. **Interfaces.** How the feature connects to existing features:
19     which existing functions / files / globals it touches or reuses,
20     and how. Include this whenever the feature is not self-contained.
21  3. **Functions.** For each new or changed function:
22     - its name,
23     - what it does,
24     - which other functions it calls — selective, not exhaustive:
25       pick the calls that build a conceptual map of how the code fits
26       together, skip the incidental ones,
27     - its general structure, when that isn't already obvious.
28  
29  The brief is a conceptual map, not a spec and not pseudocode. Aim for
30  "a reader could predict the shape of the code from this" — not "every
... [891 more lines]

I've studied snkrx-template's generalization thoroughly. Here's the pattern it follows and how I'd mirror it for the Ricochet theme — resolution-agnostic from the ground up. Plan only; no code until you approve.

What snkrx-template did (the model to mirror)

What's already generalizable in ricochet vs. what's mode-specific

Already resolution-agnostic — ships as-is: effect.lua + draw_shader.frag (gl_FragCoord-anchored, proven at both resolutions this session), palette.lua, ui_state.lua (interaction substrate), rectcut.lua. The effect engine is the genuinely novel reusable core and it's done.

Mode-specific — needs a strategy: the UI fonts (vector Oswald/Plex/Cascadia vs pixel Ark/PxOp/Monogram) and icons (Tabler vs HackerNoon pixel). Critically, the drawing language is NOT mode-specificrough_ui's widgets already use filled-rect hairlines (not layer_line), so a 1px border is crisp under both the smooth and rough filters. The widgets are also already metric-agnostic (the caller passes sizes). So the only real per-mode variables are fonts + the icon set, not the widget code.

Proposed structure — ricochet/ (via require('ricochet'))

ricochet-template/
├── main.lua                 # clean reference scene (MODE flag: rough|smooth)
├── lab.lua                  # optional dev gallery (the current benches, on the toolkit)
├── assets/                  # shader, fonts (pixel + vector), icons (pixel + tabler)
└── ricochet/
    ├── init.lua             # aggregator: require all + setup; require('ricochet')
    ├── effect.lua           # the four-axis effect system (unchanged)
    ├── palette.lua          # palette (unchanged)
    └── ui/
        ├── state.lua        # ui_state (from ui_state.lua, unchanged)
        ├── rect.lua         # rectcut (unchanged)
        ├── theme.lua        # the resolution PROFILE (fonts + icon set + metrics)
        ├── primitives.lua   # pure-draw: panel/frame/brackets/text*/bar/stat/pips/tag/badge/divider/sparkline
        └── widgets.lua      # interactive: button/cycler/segment/slider/checkbox/radio/toggle/stepper/field/dropdown/tabs/list_row/menu_item

Resolution strategy — one toolkit, two profiles

API decision (the main effort driver)

I'd adopt the opts-table + rectcut API (snkrx/smooth-ui.lua convention) for the shipped toolkit, not the positional-arg style I used in the rough benches. It's more composable, matches the sibling template, and is the right surface for something people fork. Cost: porting the ~25 rough-bench widgets into opts-table form. The widgets themselves are proven; this is a surface re-shape, not new behavior.

The reference + the lab

Phasing (one step at a time, you test between)

  1. Scaffold ricochet/ + init.lua, move the agnostic files in, wire require('ricochet'), fix requires so nothing breaks.
  2. theme.lua + generalize the font globals (rough_font_*ricochet_font_*); add the two profiles.
  3. primitives.lua — port the pure-draw widgets to the opts-table API (test in a scratch scene).
  4. widgets.lua — port the interactive widgets.
  5. Clean main.lua + rebuild lab.lua on the toolkit.
  6. Docs — rewrite the CLAUDE.md around the package + the two profiles.

Three things I'd like a sanity-check on before I start Phase 1 (I've made my recommended call on each — tell me if you'd steer differently):

  1. API style → opts-table (proper/forkable, but re-shapes ~25 widgets). OK, or keep the simpler positional style to save effort?
  2. Two theme profiles (rough pixel / smooth vector) picked at boot — is that the resolution model you want, or would you rather one profile where the dev just supplies their own fonts?
  3. Fresh main.lua + rebuilt lab.lua, freezing the old smooth gallery — good, or do you want the existing smooth gallery/editor kept live and ported too?

I want the current smooth and rough labs to stay as they are as old files, and then you just build the main.lua default file for new game usage that contains little in it, no need to change the current galleries in any way. Everything else seems good. Make sure to also remove unused files from assets folder so it doesn't get too big. Make sure that run.bat works from the new folder, i.e. if I create a game named mini-looper, and the instance copies the files from the ricochet-template, calling run.bat there should work without having to change its contents, if that's possible. Actually, now that I think of it, if you want to build the current things as lab.lua that would be good, it would be example of usage for new instances and that's always helpful, so yea.

Your refinements are clear and they actually simplify the plan. Let me fold them in and lock the one tension, plus knock out the run.bat fix now since it's concrete and standalone.

Refined plan (your calls folded in)

run.bat — make it fork-and-run

Let me verify the folder-name-derivation idiom works before writing the real file (I won't run the actual run.bat per the rules — just test the name extraction in isolation).

Write (E:\a327ex\ricochet-template_test_folder.bat)

File created successfully at: E:\a327ex\ricochet-template\_test_folder.bat (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template && cmd /c test_folder.bat 2>&1; echo "---"; cp ...)

Microsoft Windows [Version 10.0.26200.8457]
(c) Microsoft Corporation. All rights reserved.

E:\a327ex\ricochet-template>---
Microsoft Windows [Version 10.0.26200.8457]
(c) Microsoft Corporation. All rights reserved.

E:\a327ex\ricochet-template>

The MINGW shell mangled the /c flag (turned it into a path). Let me use //c and also test via PowerShell to be sure.

Bash (cd E:/a327ex/ricochet-template && cmd //c _test_folder.bat 2>&1 echo "--- rename...)

'_test_folder.bat' is not recognized as an internal or external command,
operable program or batch file.
--- renamed-copy test ---
GAME=_faketest-game

The idiom works — the renamed copy correctly reported GAME=_faketest-game (the first error was just a relative-path quirk with the bare filename; the absolute path resolved fine, which is how run.bat actually invokes it). So run.bat can derive its own folder name and will work after being copied to any game folder. Let me write the real one and clean up the probe.

Write (E:\a327ex\ricochet-template\run.bat)

The file E:\a327ex\ricochet-template\run.bat has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template && rm -f _test_folder.bat && echo "removed test p...)

removed test probe
run.bat

run.bat is now folder-agnostic (verified: a renamed copy correctly resolves its own folder name) and the probe is cleaned up. Fork ricochet-templatemini-looper, run mini-looper/run.bat, and it launches mini-looper with no edits.

One genuine conflict to resolve before the asset trim

Your two instructions collide on exactly one set of files: "keep the labs unchanged" vs "trim assets so it's not too big." The bloat is almost entirely three rejected comparison fonts that only the rough lab's font-comparison screens load:

File Size Used by
fusion-pixel-12px-monospaced-latin.ttf 7 MB rough lab font screen only
ark-pixel-12px-proportional-latin.ttf 5 MB rough lab font screen only
LanaPixel.ttf 3 MB rough lab font screen only

15 MB, none of it in the chosen trio (Ark10/PxOpB/Monogram) and none needed by the toolkit or a new game. Trimming them is the single biggest size win, but it requires one small edit to the frozen rough lab — removing those three entries from its font-registry list so it doesn't try to load missing files.

So, your call:

Either way I'll downscale the test photos (girl.png 1.8 MB + boy.png 3.3 MB → ~256 px, saving ~5 MB) — that needs no lab change (the lab loads them by filename and the effect fits them to a box), and it actually makes the rough IMAGES screen cleaner.

Which do you want for the fonts — (A) trim + tiny lab edit, or (B) keep labs pristine? Once you say, I'll start Phase 1 (scaffold ricochet/ + the aggregator) and roll through the phases.

A)

Locked in (A) — trim the 15 MB + the small lab edit, downscale the photos. Executing the foundation now. To respect the "one change at a time" rhythm, this turn I'll do the mechanical foundation + the runnable package skeleton, and brief the widget-toolkit design at the end for the next step. Let me gather the precise edit targets and check what image-resize tooling is available.

Bash (cd E:/a327ex/ricochet-template echo "== image resize tools ==" command -v magick...)

== image resize tools ==
/c/WINDOWS/system32/convert
(convert ok)
no sharp

== fonts dir sizes (KB) ==
       0  
       0  ./
       0  ../
     154  BoldPixels.ttf
     634  CozetteVector.ttf
      82  DepartureMono-Regular.otf
      34  FatPixelFont.ttf
    3050  LanaPixel.ttf
      16  PixelOperator-Bold.ttf
      16  PixelOperator.ttf
      19  PixelOperator8.ttf
      16  PixelOperatorMono.ttf
      19  PixelOperatorMono8.ttf
     506  ark-pixel-10px-proportional-latin.ttf
    4869  ark-pixel-12px-proportional-latin.ttf
    6822  fusion-pixel-12px-monospaced-latin.ttf
      33  m5x7.ttf
      10  monogram.ttf

== test image sizes ==
assets/images/girl.png: PNG image data, 2600 x 1500, 8-bit/color RGB, non-interlaced
assets/images/boy.png:  PNG image data, 2048 x 1990, 8-bit/color RGB, non-interlaced
assets/images/wolf.png: PNG image data, 600 x 600, 8-bit/color RGBA, non-interlaced

convert here is the Windows filesystem tool, not ImageMagick — so I'll use PowerShell's System.Drawing for the photo downscale. Let me do the asset trim (downscale photos + delete the 3 big fonts) first.

PowerShell

resized girl.png -> 640x369
resized boy.png -> 640x622
--- new image sizes ---
     568 KB  boy.png
     221 KB  girl.png
      19 KB  wolf.png

Photos downscaled (girl 1.8 MB → 221 KB, boy 3.3 MB → 568 KB). Now delete the three big comparison fonts:

Bash (cd E:/a327ex/ricochet-template/assets/fonts rm -f LanaPixel.ttf ark-pixel-12px-p...)

== remaining fonts (KB) ==
     154  BoldPixels.ttf
     634  CozetteVector.ttf
      82  DepartureMono-Regular.otf
      34  FatPixelFont.ttf
      16  PixelOperator-Bold.ttf
      16  PixelOperator.ttf
      19  PixelOperator8.ttf
      16  PixelOperatorMono.ttf
      19  PixelOperatorMono8.ttf
     506  ark-pixel-10px-proportional-latin.ttf
      33  m5x7.ttf
      10  monogram.ttf

== total assets/fonts size ==
1.6M

assets/fonts/ went from ~17 MB to 1.6 MB. Now the small lab edit — remove the three deleted fonts from the rough lab's registry and lists so it doesn't try to load missing files.

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main_rough.lua)

The file E:\a327ex\ricochet-template\main_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template && "E:/a327ex/Anchor/reference/love-compare/tools...)

main_rough OK

Rough lab compiles clean. Now freeze the smooth gallery as lab.lua and build the package foundation + new minimal main.lua.

Bash (cd E:/a327ex/ricochet-template cp main.lua lab.lua echo "lab.lua created (verbat...)

lab.lua created (verbatim copy of current main.lua — the frozen smooth+rough galleries)
--[[
  ricochet-template — visual style + four-axis effect template.

...
28:-- ROUGH = true boots the low-res 480x270 pixel-art comparison build
33:local ROUGH = true

Now the package foundation — ricochet/theme.lua (the resolution profiles) and ricochet/init.lua (the aggregator):

Write (E:\a327ex\ricochet-template\ricochet\theme.lua)

File created successfully at: E:\a327ex\ricochet-template\ricochet\theme.lua (file state is current in your context — no need to Read it back)

Write (E:\a327ex\ricochet-template\ricochet\init.lua)

File created successfully at: E:\a327ex\ricochet-template\ricochet\init.lua (file state is current in your context — no need to Read it back)

init.lua references ricochet.ui, so I'll build a core widget set now (enough for a real demo) and the remaining widgets next step. Here's the opts-table toolkit:

Write (E:\a327ex\ricochet-template\ricochet\ui.lua)

File created successfully at: E:\a327ex\ricochet-template\ricochet\ui.lua (file state is current in your context — no need to Read it back)

Now the clean reference main.lua — minimal, mode-flagged, demonstrating the boot order, the per-frame UI contract, and the toolkit driving a live effect preview:

Write (E:\a327ex\ricochet-template\main.lua)

The file E:\a327ex\ricochet-template\main.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Let me syntax-check the whole new package + the new main.lua + the frozen lab.

Bash (cd E:/a327ex/ricochet-template LUA="E:/a327ex/Anchor/reference/love-compare/tool...)

OK   main.lua
OK   lab.lua
OK   ricochet/init.lua
OK   ricochet/theme.lua
OK   ricochet/ui.lua

All compile. Before handing off, let me verify the package require convention actually resolves in this engine (does require('ricochet')ricochet/init.lua and require('ricochet.theme')ricochet/theme.lua?) by checking how snkrx's aggregator does its sub-requires.

Bash (cd E:/a327ex/snkrx-template echo "== how snkrx/init.lua requires its sub-files =...)

== how snkrx/init.lua requires its sub-files ==
4:  `require('snkrx')`, from main.lua and AFTER `require('anchor')({...})`,
29:require('snkrx.palette')
30:require('snkrx.edition')
32:require('snkrx.geometry')
46:require('snkrx.stats')
47:require('snkrx.fx')
50:sound_tuning = require('snkrx.sound_tuning')
161:require('snkrx.player')
162:require('snkrx.seeker')
163:require('snkrx.wall')
166:require('snkrx.projectile')
167:require('snkrx.area')
168:require('snkrx.beam')
169:require('snkrx.flicker')
170:require('snkrx.airborne')
171:require('snkrx.prop')
174:require('snkrx.sound_tuner')
177:require('snkrx.ui')

One correctness fix: the UI is on a separate ui_layer that never gets an effect-state reset, so stale shader uniforms could carve the flat widgets. Let me add a passthrough baseline for ui_layer too.

Edit (E:\a327ex\ricochet-template\main.lua)

The file E:\a327ex\ricochet-template\main.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template && "E:/a327ex/Anchor/reference/love-compare/tools...)

main.lua OK

== current template file layout ==
editor.lua
effect.lua
lab.lua
main.lua
main_rough.lua
palette.lua
rectcut.lua
rough_ui.lua
showcase.lua
ui.lua
ui_controls.lua
ui_state.lua
ricochet/:
init.lua
theme.lua
ui.lua

== template size ==
13M

Foundation complete and everything compiles. Here's where Phase 1–2 (+ the mechanical work) landed.

Done this turn

Asset trim — deleted the 3 big rejected comparison fonts (≈15 MB) and downscaled the test photos (girl 1.8 MB→221 KB, boy 3.3 MB→568 KB). assets/fonts/ went 17 MB → 1.6 MB.

Labs frozen — current main.lua copied verbatim to lab.lua (keeps its ROUGH fork to main_rough.lua); both are the untouched "example usage" galleries. The only lab edit was removing the 3 deleted fonts from main_rough.lua's registry (the tiny edit you approved).

run.bat folder-agnostic — derives its own folder name, so a copied/renamed fork runs without edits (verified).

The ricochet/ package (require('ricochet'), mirroring snkrx):

New minimal main.lua — the clean reference: a MODE flag (rough/smooth → engine config + theme) + a LAB flag, then a live effect preview driven by a control panel (COLOR/DITHER cyclers, SCALE slider, HP bar). The file a forked game edits.

(Confirmed the dotted-require convention resolves — snkrx uses the identical require('pkg.file') pattern.)

To test

  1. run.bat → boots the new main.lua at rough (480×270): a flat bg, an EFFECT panel on the left, and a live plasma rect on the right that re-skins as you click the [<]/[>] cyclers and drag SCALE. This validates: package loads, theme works, the core widgets render + interact, UI isn't carved.
  2. Set MODE = 'smooth' at the top of main.lua → same scene at 1920×1080 with vector fonts — the resolution-agnostic proof (this path I couldn't run myself, so worth a look).
  3. Set LAB = true → runs lab.lua (the frozen galleries). Note: lab.lua still has ROUGH = true, so it boots the rough benches; set ROUGH = false inside lab.lua for the old smooth gallery.
  4. Fork test (optional): copy the folder elsewhere, run its run.bat — launches without edits.

Next step (after you confirm the foundation runs): port the remaining widgets into ricochet/ui.lua (checkbox/radio/toggle/stepper/dropdown/tabs/tag/badge/pips/sparkline/list_row/menu_item/swatch + scaled text), then rewrite the template CLAUDE.md around the package. Tell me how it looks and I'll continue.

The smooth UI you rebuilt now seems different than the old lab one. I also can't see the smooth lab. (mode = true and lab = true gives the pixel lab)

[Request interrupted by user]

Nevermind, I got it now. And yea, the smooth UI you built now is different than the rough one. Remember that the UI for both modes is actually somewhat different visually in terms of spacing and such, you can't just copy it directly.

You're right, and that's an important correction — I conflated "same language" with "same design." The two modes share the Ricochet vocabulary (hairlines, brackets, inverted fills) but the actual smooth design has its own proportions and treatments (e.g. the smooth slider's tick marks, different spacing/weights) that my rough-derived widgets + a metric swap don't reproduce. So my "smooth" is really "big rough," not the old smooth lab's look.

Let me ground this in the actual old smooth ui.lua before proposing how to restructure — I want to see exactly how far the two designs diverge.

Read (E:\a327ex\ricochet-template\ui.lua)

144  -- definite 1px line. Use these helpers anywhere you would have called
145 -- layer_line(..., 1, col) on an axis-aligned segment.
146 local function hline(x, y, w, col)
147   layer_rectangle(ui_layer, x, y, w, ui_hairline, col)
148 end
149 local function vline(x, y, h, col)
150   layer_rectangle(ui_layer, x, y, ui_hairline, h, col)
151 end
152 
153 -- Draw text centered vertically inside a rect; horizontal align is
154 -- left|center|right. The font argument is a font OBJECT (so we can read
155 -- .height + :text_width). Used by every widget that puts text in a row.
156 local function text_in_row(r, text, font, col, align)
157   local ty = math.floor(r.y + (r.h - font.height) / 2 + 0.5)
158   local tx
159   if align == 'right' then
160     tx = math.floor(r.x + r.w - font:text_width(text) + 0.5)
161   elseif align == 'center' then
162     tx = math.floor(r.x + (r.w - font:text_width(text)) / 2 + 0.5)
163   else
164     tx = math.floor(r.x + 0.5)
165   end
166   layer_text(ui_layer, text, font, tx, ty, col)
167 end
168 
169 -- =============================================================================
170 -- ui_panel — the container.
171 -- =============================================================================
172 --[[
173   opts:
... [85 more lines]

Confirmed by reading the old ui.lua — the divergence is in treatment, not just size. Concretely, the smooth (reference-derived) design vs. my rough-derived widgets:

Smooth (ui.lua) Rough (my ricochet/ui.lua)
Panel fill palette.field() — flat, page-colored "blueprint" region palette.panel() — elevated
Corner brackets palette.mid_light() — subtle grey, outside palette.ink() — strong
Slider hairline track + 5 tick marks + square knob plain track + knob
Spacing wider (ui_row_h/ui_label_w…) tight

So you're right: my "smooth" is big-rough, not the lab's look. The fix is an architecture decision about how the toolkit holds two genuinely-different-but-related designs — and since I already guessed wrong once, I'd rather you pick the direction than guess again.

AskUserQuestion

Your questions have been answered: "The smooth and rough Ricochet UIs differ in treatment (panel fill, bracket color, slider ticks, spacing), not just font/size. How should the toolkit hold both designs behind one API?"="Two separate skins". You can now continue with these answers in mind.

Two separate skins it is — each matching its lab exactly, behind the shared opts-table API. Here's the structure I'll build (brief), then I'll read the exact smooth treatments and implement.

Design brief — two-skin UI toolkit

Approach. The public ui_* widget functions become thin bindings to an active skin. Two skin modules — ricochet/skin_rough.lua and ricochet/skin_smooth.lua — each export a table of widget-drawing functions matching their respective lab's design. ricochet_use_skin(mode) (in ricochet/ui.lua) binds the public globals (ui_panel, ui_field, …) to the chosen skin's functions; ricochet_theme_set(mode) calls it after setting fonts/metrics/icons. So a game writes mode-agnostic UI code (ui_panel{...}), and flipping MODE swaps the look, the metrics, and the fonts together.

Interfaces. ui.lua keeps the shared interaction core (interact(id,rect) → hovered/active/clicked) + text helpers (rtext/vcenter/text_in), and requires the two skins. Both skins call those shared helpers and read palette + the role fonts + ricochet_theme.metrics. skin_smooth reproduces the old ui.lua (field-flat panels, mid_light brackets, ticked slider, wider spacing); skin_rough reproduces rough_ui (panel-fill, ink brackets, plain slider, tight spacing). Identical opts-table signatures + return shapes across skins, so the binding is transparent. init.lua requires theme + ui; theme_set picks the skin.

Functions. Per skin: panel/frame/brackets/text/bar/divider/icon/button/field/segment/slider (core now; the rest later). Shared: interact, rtext, vcenter, text_in, ricochet_use_skin(mode).

I'll build the core set in both skins this turn so the demo reads correctly at both modes (smooth = lab look, rough = rough look), then extend. Let me pull the exact smooth treatments first.

Read (E:\a327ex\ricochet-template\ui.lua)

90   ui_swatch_size    = 22     -- side of one palette-token swatch
91  ui_swatch_gap     = 4      -- gap between swatches
92  ui_section_gap    = 12     -- vertical gap between groups of rows
93  ui_panel_inset    = 16     -- inner padding inside the panel
94  ui_title_h        = 28     -- title bar height
95  ui_corner_arm     = 10     -- corner bracket arm length (drawn outside the panel)
96  ui_corner_gap     = 6      -- gap between corner brackets and the panel edge
97  ui_hairline       = 1      -- the one and only structural stroke
98  
99  -- =============================================================================
100 -- HELPERS — small draw primitives common to multiple widgets.
101 -- These wrap the engine's layer_* calls and add the Ricochet defaults
102 -- (palette tokens, hairline width). Use them so a future palette/stroke
103 -- change happens in one place.
104 -- =============================================================================
105 
106 -- Hairline rectangle outline as four 1px filled rectangles (one per edge).
107 --
108 -- Two earlier attempts and why they read worse than this:
109 --
110 -- 1. Four layer_line calls (capsule SDF, round caps): each line's cap
111 --    region extends past the endpoint, so two perpendicular lines'
112 --    AA'd caps overlap across multiple pixels at the corner, producing
113 --    a visibly darker / thicker corner. BAD.
114 -- 2. layer_rectangle_line (single SDF outline with stroke=1): clean
115 --    corners, but in smooth filter mode (u_aa_width ≈ 1) the shader's
116 --    `d = abs(d) - stroke*0.5` produces a stroke band whose AA spans
117 --    two pixel rows at ~50% alpha each. The line is technically 1px
118 --    wide but reads as a soft 2px-tall fuzz with no fully-opaque core.
119 --    This is exactly what Freya Holmér's Shapes calls the "Line
... [25 more lines]

Read (E:\a327ex\ricochet-template\ui.lua)

79   -- One stroke weight throughout — ui_hairline = 1px. The Ricochet reference
80  -- sheets show essentially a single thin pen weight everywhere; state
81  -- (active/selected/hover) is communicated by fill / color inversion, not by
82  -- thicker borders. So there's no "thin 1.5px" or "heavy 3px" constant here
83  -- on purpose. If a future widget needs an emphasis treatment, prefer an
84  -- inverted fill (ink rectangle + field-colored label) over a heavier line.
85  ui_row_h          = 32     -- height of one label row (PATTERN, COLOR, etc.)
86  ui_label_w        = 100    -- left column width reserved for the field label
87  ui_btn_size       = 20     -- side of the < > chevron buttons
88  ui_btn_gap        = 4      -- gap between the two chevron buttons
89  ui_value_gap      = 12     -- gap between the value text and the chevron buttons
90  ui_swatch_size    = 22     -- side of one palette-token swatch

Read (E:\a327ex\ricochet-template\ui.lua)

520  
521   Layout (within rect):
522     LABEL                                   0.500       ← readout, right-aligned
523     ├──●──────────────┤                                  ← track, knob, ticks
524 
525   Interaction: press anywhere on the track to grab the knob. Drag tracks
526   the cursor; release drops. Returns { value, changed }.
527 ]]
528 function ui_slider(opts)
529   local r = opts.rect
530   local id = opts.id
531   local vmin = opts.vmin or 0
532   local vmax = opts.vmax or 1
533   local fmt  = opts.fmt or '%.3f'
534 
535   -- Top half: label (left) + numeric readout (right).
536   local body = rect_new(r.x, r.y, r.w, r.h)
537   local readout_r = rect_cut_top(body, ui_row_h)
538   local label_r   = rect_cut_left(readout_r, ui_label_w)
539   text_in_row(label_r,   string.upper(opts.label), ui_font_label, palette.ink(), 'left')
540   text_in_row(readout_r, string.format(fmt, opts.value or 0), ui_font_value, palette.ink(), 'right')
541 
542   -- Bottom half: track. Inset horizontally so the track aligns with the
543   -- value column (skip the label width on the left to match field rows).
544   local track_band = body
545   local track_r    = rect_contract(track_band, 4, 0, 4, ui_label_w)
546   local track_cy   = math.floor(track_r.y + track_r.h / 2 + 0.5)
547 
548   -- Interaction.
549   local value = math.max(vmin, math.min(vmax, opts.value or vmin))
... [36 more lines]

I now have the exact smooth treatments (field-flat panels, mid_light brackets arm10/gap6, the 2-row slider with 5 tick marks + 8px knob, and the constants: row 32 / label 100 / btn 20 / title 28 / inset 16). Building the two-skin structure now. First, refactor ricochet/ui.lua into shared helpers + the skin binder:

Write (E:\a327ex\ricochet-template\ricochet\ui.lua)

The file E:\a327ex\ricochet-template\ricochet\ui.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Now the rough skin (panel-fill, ink brackets, plain slider — matching the rough lab):

Write (E:\a327ex\ricochet-template\ricochet\skin_rough.lua)

File created successfully at: E:\a327ex\ricochet-template\ricochet\skin_rough.lua (file state is current in your context — no need to Read it back)

Now the smooth skin — faithfully reproducing the old ui.lua (field-flat panels, mid_light brackets, the 2-row ticked slider, glyph chevrons):

Write (E:\a327ex\ricochet-template\ricochet\skin_smooth.lua)

File created successfully at: E:\a327ex\ricochet-template\ricochet\skin_smooth.lua (file state is current in your context — no need to Read it back)

Now update theme.lua with the full metrics both skins need and the skin activation:

Edit (E:\a327ex\ricochet-template\ricochet\theme.lua)

The file E:\a327ex\ricochet-template\ricochet\theme.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Now fix main.lua's layout so the smooth 2-row slider fits (it needs slider_h, taller than a field row) and the panel height accounts for it:

Edit (E:\a327ex\ricochet-template\main.lua)

The file E:\a327ex\ricochet-template\main.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Syntax-check the full restructured package:

Bash (cd E:/a327ex/ricochet-template LUA="E:/a327ex/Anchor/reference/love-compare/tool...)

OK   main.lua
OK   ricochet/init.lua
OK   ricochet/theme.lua
OK   ricochet/ui.lua
OK   ricochet/skin_rough.lua
OK   ricochet/skin_smooth.lua

== ricochet/ contents ==
init.lua
skin_rough.lua
skin_smooth.lua
theme.lua
ui.lua

The two-skin restructure is in and compiles. Here's what changed and how to see it.

What I built

The toolkit now holds two genuinely different designs behind one API:

So ui_panel{...} resolves to the smooth or rough drawing depending on MODE — same game code, correct per-mode design.

To test

Set LAB = false in main.lua first — you currently have it true, which runs the lab instead of the new scene.

Same main.lua both ways — flipping MODE swaps look + metrics + fonts together.

Caveats: this is the core set (panel/field/segment/slider/button/bar + frame/text/icon/divider). The remaining widgets (checkbox/radio/toggle/stepper/dropdown/tabs/tag/badge/pips/sparkline/list_row/menu_item/swatch/stat/keyhint) come next, each built in both skins. The smooth button/bar I authored fresh (the old ui.lua had neither) following its flat idiom — worth an eye. I couldn't run it, so please check the smooth skin actually matches the old lab; if any treatment is off, tell me which widget and I'll align it.

Great, it looks right now.

The two-skin architecture is validated — same main.lua, correct per-mode design at both resolutions. That was the load-bearing decision.

What remains to round out the toolkit, mirroring snkrx's full UI set:

  1. The extended widget set, in both skinscheckbox, radio, toggle, stepper, dropdown, tabs, list_row, tag/bracket_tag, badge, pips, sparkline, stat, keyhint, menu_item, swatch_row. Each needs a smooth treatment (matching the reference language) and a rough treatment. I'd do this in 2 passes (form controls first, then the data/HUD bits) so you can test between, rather than one giant drop.
  2. Docs — rewrite the template CLAUDE.md around the package: the require('ricochet') contract, the two-skin model, ricochet_setup/ricochet_theme_set, the widget API, and the file map (the frozen labs, the new package, the trimmed assets, the folder-agnostic run.bat).

A couple of things worth your call before I push on:

Want me to proceed with pass 1 of the widgets (the form controls — checkbox/radio/toggle/stepper/dropdown/tabs), or reprioritize?

Go ahead.

The two-skin approach is proven. Pass 1 — the form controls.

One design call I'll make here and explain: the widgets the reference design specified per-mode (panel/field/segment/slider) stay skinned. But the form controls (checkbox/radio/toggle/stepper/dropdown/tabs) — the old ui.lua never defined these, so there's no distinct smooth-lab look to match. Their treatment is genuinely res-agnostic (frame + fill + text, metric-sized), so I'm defining each once (reading the active theme's metrics/fonts) rather than duplicating identical code into both skins. They render correctly at both modes; if any ever needs a per-mode treatment, it's trivially moved into the skins.

Adding the widgets + the metrics they need:

Edit (E:\a327ex\ricochet-template\ricochet\ui.lua)

The file E:\a327ex\ricochet-template\ricochet\ui.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\ricochet\theme.lua)

The file E:\a327ex\ricochet-template\ricochet\theme.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\ricochet\theme.lua)

The file E:\a327ex\ricochet-template\ricochet\theme.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Now demo the new controls in main.lua so you can actually test them — a second CONTROLS panel. First the demo state:

Edit (E:\a327ex\ricochet-template\main.lua)

The file E:\a327ex\ricochet-template\main.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main.lua)

The file E:\a327ex\ricochet-template\main.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template LUA="E:/a327ex/Anchor/reference/love-compare/tool...)

OK   main.lua
OK   ricochet/ui.lua
OK   ricochet/theme.lua
OK   ricochet/skin_rough.lua
OK   ricochet/skin_smooth.lua

Pass 1 is in and compiles. Six form controls added — checkbox, radio, toggle, stepper, dropdown, tabs — plus the box/toggle_w/toggle_h metrics in both profiles. main.lua now has a second CONTROLS panel demoing all six so you can test them.

To test

run.bat (you're on MODE = 'smooth', LAB = false) → below the EFFECT panel you'll see a CONTROLS panel:

Then flip MODE = 'rough' and confirm the same six render pixel-tight at 480×270.

Verify: all six render + interact at both modes and read as Ricochet. As noted, these are defined once (shared, metric-sized) rather than duplicated into both skins, because the reference never specified distinct per-mode treatments for them — if any looks off at one resolution, tell me which and I'll give it a per-skin version.

Next (pass 2): the data/HUD widgets — list_row, tag/bracket_tag, badge, pips, sparkline, stat, keyhint, menu_item, swatch_row — then the CLAUDE.md rewrite. Say go and I'll continue.

Go ahead.

[Request interrupted by user]

Actually, an important issue. You made the same mistake again where you made the kit for smooth and rough the same, when they aren't. When you built these elements in the lab for smooth mode, they look different, i.e. option selector is round instead of square. You need to make sure that the smooth skin is actually drawing things based on how they look on your previously built items as well as on the designs themselves. The rough one looks fine.

You're right, and I clearly didn't internalize the lesson the first time — the smooth controls have their own designs (round option selectors, etc.) that I already built in the smooth showcase, and I lazily reused the rough square versions. Let me go look at exactly how I drew these in the smooth lab so the smooth skin matches, instead of guessing again.

Grep (checkbox|radio|toggle|selector|segment|stepper|dropdown|option|circle|pill|switch)

2:  showcase.lua — flat "UI KIT" screen (Tab toggles it from the pattern gallery).
15:    CONTROLS     tabs, toggle/checkbox/radio, stepper, stat block, keycaps, tags
17:  DRAW ORIGIN REMINDER: layer_image / layer_circle are CENTERED at (x,y);
130:    if i <= filled then layer_circle(ui_layer, cx, cy, r, palette.ink())
131:    else layer_circle_line(ui_layer, cx, cy, r, palette.mid_grey(), HAIR) end
136:-- Segmented progress (wave / xp): w-wide bar split into `segs`, `filled` filled.
218:-- Toggle switch: label + track with a square knob; on = green track + knob right.
219:local function toggle(x, y, w, label, on)
231:-- Checkbox row: 18px box; checked = ink fill with a small field core (reads as
244:-- Radio group: horizontal options, selected one filled.
245:local function radio_group(x, y, label, options, sel)
249:  for i, opt in ipairs(options) do
251:    layer_circle_line(ui_layer, ox + 9, cy, 9, palette.ink(), HAIR)
252:    if i == sel then layer_circle(ui_layer, ox + 9, cy, 4, palette.ink()) end
259:-- Stepper: label + [-] value [+].
260:local function stepper(x, y, w, label, value)
356:  y = heading('OPTIONS', x, y, COL_W)
357:  y = toggle(x, y, COL_W, 'SOUND', true)
358:  y = toggle(x, y, COL_W, 'SCREEN SHAKE', false)
360:  y = radio_group(x, y, 'DIFFICULTY', { 'EASY', 'NORMAL', 'HARD' }, 2)
362:  y = stepper(x, y, COL_W, 'MASTER VOLUME', 7)

There it is — the smooth radio is a circle (layer_circle_line + filled dot), pips are circles, the toggle uses a green track, the checkbox is ink-fill-with-field-core. Genuinely different from the square rough versions. Let me read the full smooth implementations so the smooth skin reproduces them exactly.

Read (E:\a327ex\ricochet-template\showcase.lua)

118      sx = sx + s + gap
119   end
120   return y + s + 6 + 20 + 16
121 end
122 
123 -- Progress / life pips: n dots, first `filled` filled.
124 local function pips(x, y, n, filled, label)
125   text_l(label, ui_font_label, x, y, palette.mid_light())
126   local r, sp, cy = 7, 24, y + ui_font_label.height + 6 + 7
127   local px = x + 120
128   for i = 1, n do
129     local cx = px + (i - 1) * sp
130     if i <= filled then layer_circle(ui_layer, cx, cy, r, palette.ink())
131     else layer_circle_line(ui_layer, cx, cy, r, palette.mid_grey(), HAIR) end
132   end
133   return y + ui_font_label.height + 6 + 14 + 14
134 end
135 
136 -- Segmented progress (wave / xp): w-wide bar split into `segs`, `filled` filled.
137 local function segbar(x, y, w, segs, filled, label)
138   text_l(label, ui_font_label, x, y, palette.mid_light())
139   local by, bh = y + ui_font_label.height + 6, 16
140   local seg_w = (w - (segs - 1) * 3) / segs
141   for i = 1, segs do
142     local sx = x + (i - 1) * (seg_w + 3)
143     if i <= filled then layer_rectangle(ui_layer, sx, by, seg_w, bh, palette.ink())
144     else border(sx, by, seg_w, bh, palette.mid_grey()) end
145   end
146   return by + bh + 16
147 end
... [130 more lines]

Now I see all the smooth control designs — radio is a circle (outline + r4 dot), checkbox is ink-fill + field core, toggle is a green track + field knob, tabs are inverted active + hairline separators, stepper is bordered −/+ boxes, pips are circles. Genuinely different from rough across the board. The lesson is now unambiguous: anything with a smooth-lab design must be skinned, not shared.

Let me fix it: move the six controls into both skins, with the smooth versions reproducing showcase.lua. First, strip them out of the shared file and bind them per-skin:

Write (E:\a327ex\ricochet-template\ricochet\ui.lua)

The file E:\a327ex\ricochet-template\ricochet\ui.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Now add the controls to each skin — rough (square, the version you said looks fine):

Edit (E:\a327ex\ricochet-template\ricochet\skin_rough.lua)

The file E:\a327ex\ricochet-template\ricochet\skin_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Now the smooth versions reproducing showcase.lua — round radio, field-core checkbox, green-track toggle, bordered stepper, inverted tabs:

Edit (E:\a327ex\ricochet-template\ricochet\skin_smooth.lua)

The file E:\a327ex\ricochet-template\ricochet\skin_smooth.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Update the smooth metrics to match showcase exactly (box 18, toggle 46×22):

Edit (E:\a327ex\ricochet-template\ricochet\theme.lua)

The file E:\a327ex\ricochet-template\ricochet\theme.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template LUA="E:/a327ex/Anchor/reference/love-compare/tool...)

OK   main.lua
OK   ricochet/ui.lua
OK   ricochet/theme.lua
OK   ricochet/skin_rough.lua
OK   ricochet/skin_smooth.lua

Fixed, and the lesson is locked in now: every widget with a smooth-lab design gets skinned — I'll build each smooth widget against showcase.lua + the reference sheets, never reuse the rough version.

The six controls are now per-skin:

Smooth (now matches showcase.lua) Rough (unchanged)
radio circle outline + filled dot square box + dot
checkbox ink fill + field core solid inner fill
toggle green track + field knob ink knob
tabs inverted active + hairline separators raised page-colored active
stepper three bordered [-][val][+] boxes adjacent -/+ buttons

Smooth metrics bumped to the showcase sizes (box 18, toggle 46×22). All compiles.

To test

run.bat (you're on MODE = 'smooth') → in the CONTROLS panel the option selector is now round, the checkbox shows the ink+field-core fill, the toggle goes green when on, the tabs invert the active cell. Then MODE = 'rough' → the square pixel versions you already approved.

One small fidelity note: showcase.lua's stepper used the Tabler minus/plus icons in its boxes; I used -/+ glyphs to keep the toolkit from having to load icons. Looks very close; if you want the exact icons I'll wire icon-loading into the smooth theme.

For pass 2 (pips/stat/list_row/tags/keycaps/segbar/menu_item/swatch) I'll do the same — smooth versions built from showcase.lua (e.g. pips are circles there), rough from the rough lab — each skinned from the start. Say go when you want pass 2.

Go ahead.

Pass 2 — the data/HUD widgets, each skinned from the start. Let me read the smooth designs (rest of showcase.lua: statblock, tags, keycaps) and the rough designs (rough_ui.lua's data widgets) so I match both exactly.

Read (E:\a327ex\ricochet-template\showcase.lua)

271  -- Stat block: rows of { name, value, frac } as label + value + mini bar.
272 local function statblock(x, y, w, stats)
273   for _, s in ipairs(stats) do
274     text_l(s[1], ui_font_label, x, y, palette.mid_light())
275     text_r(tostring(s[2]), ui_font_value, x + w, y, palette.ink())
276     local by = y + ui_font_label.height + 4
277     local bw = w
278     layer_rectangle(ui_layer, x, by, bw * s[3], 5, palette.ink())
279     layer_rectangle(ui_layer, x + bw * s[3], by, bw * (1 - s[3]), 5, palette.deep_grey())
280     y = by + 5 + 12
281   end
282   return y + 4
283 end
284 
285 -- Keycaps: a row of bordered key boxes (each sized to its text) + a label.
286 local function keycaps(x, y, caps, label)
287   local h, gap = 30, 6
288   local kx = x
289   for _, c in ipairs(caps) do
290     local bw = math.max(30, ui_font_value:text_width(c) + 16)
291     border(kx, y, bw, h)
292     text_c(c, ui_font_value, kx + bw / 2, vmid(ui_font_value, y, h), palette.ink())
293     kx = kx + bw + gap
294   end
295   text_l(label, ui_font_label, kx + 8, vmid(ui_font_label, y, h), palette.mid_light())
296   return y + h + 12
297 end
298 
299 -- Bracket tag chips: [ TAG ] inline, packed.
300 local function chips(x, y, tags)
... [30 more lines]

Read (E:\a327ex\ricochet-template\showcase.lua)

95   
96  -- Ability bar: slots = { {icon_name, keycap, cooldown_frac_or_nil}, ... }.
97  -- Each slot is a tile + centered icon; a cooldown fills the bottom with recess
98  -- and shows the remaining count; a keycap sits under each slot.
99  local function ability_bar(x, y, slots)
100   local s, gap = ICON + 18, 14
101   local sx = x
102   for _, sl in ipairs(slots) do
103     layer_rectangle(ui_layer, sx, y, s, s, palette.recess())
104     icon(icons[sl[1]], sx + s / 2, y + s / 2)
105     local cd = sl[3]
106     if cd and cd > 0 then
107       local ch = math.floor(s * cd)
108       layer_rectangle(ui_layer, sx + HAIR, y + s - ch, s - 2 * HAIR, ch - HAIR, palette.recess())
109       text_c(tostring(math.ceil(cd * 9)), ui_font_value, sx + s / 2, y + s / 2 - ui_font_value.height / 2, palette.mid_light())
110     end
111     border(sx, y, s, s)
112     -- keycap under the slot
113     local kw, kh = 22, 20
114     local kx = sx + (s - kw) / 2
115     local ky = y + s + 6
116     border(kx, ky, kw, kh)
117     text_c(sl[2], ui_font_value, kx + kw / 2, vmid(ui_font_value, ky, kh), palette.mid_light())

Grep (^function ru_(pips|stat|list_row|tag|badge|keyhint|sparkline|bar)\b)

87:function ru_stat(img, x, y, h, value, icon_col)
88-  ru_icon(img, x + h / 2, y + h / 2, h, icon_col or palette.ink())
89-  ru_text(rough_font_mono, value, x + h + 3, ru_vcenter(rough_font_mono, y, h))
90-end
91-
92--- ---- bar: framed gauge with a fill fraction + inline mono value -----------
93:function ru_bar(x, y, w, h, frac, fill_col, value)
94-  layer_rectangle(game_layer, x, y, w, h, palette.recess())
95-  local fw = math.floor(w * math.max(0, math.min(1, frac)) + 0.5)
96-  if fw > 0 then layer_rectangle(game_layer, x, y, fw, h, fill_col) end
97-  ru_frame(x, y, w, h)
98-  if value then ru_text_right(rough_font_mono, value, x + w - 3, ru_vcenter(rough_font_mono, y, h)) end
99-end
100-
101--- ---- list row: body label left, mono value right --------------------------
102:function ru_list_row(x, y, w, h, label, value)
103-  ru_text(rough_font_body, label, x, ru_vcenter(rough_font_body, y, h))
104-  if value then ru_text_right(rough_font_mono, value, x + w, ru_vcenter(rough_font_mono, y, h)) end
105-end
106-
107--- ---- button: hairline box, body label, inverted when active ---------------
108-function ru_button(x, y, w, h, text, active)
109-  layer_rectangle(game_layer, x, y, w, h, active and palette.ink() or palette.panel())
110-  ru_frame(x, y, w, h)
--
129:function ru_pips(x, y, n, filled, size, gap)
130-  size = size or 4; gap = gap or 2
131-  for i = 1, n do
132-    local cx = x + (i - 1) * (size + gap)
133-    if i <= filled then layer_rectangle(game_layer, cx, y, size, size, palette.ink())
... [40 more lines]

I have both designs now — smooth (showcase.lua): pips=circles, stat=label+value+mini-bar, list_row=recess+ink-stripe+separator, tag=[ TAG ] mono, badge=inverted box, keycap=bordered box; rough (rough_ui.lua): squares/framed-chips. Building each per-skin.

Smooth pass-2 widgets:

Edit (E:\a327ex\ricochet-template\ricochet\skin_smooth.lua)

The file E:\a327ex\ricochet-template\ricochet\skin_smooth.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Rough pass-2 widgets (square/framed, from rough_ui.lua):

Edit (E:\a327ex\ricochet-template\ricochet\skin_rough.lua)

The file E:\a327ex\ricochet-template\ricochet\skin_rough.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bind the pass-2 widgets in ricochet_use_skin:

Edit (E:\a327ex\ricochet-template\ricochet\ui.lua)

The file E:\a327ex\ricochet-template\ricochet\ui.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Now demo the pass-2 widgets in main.lua so you can see them — a third DATA panel in the right column, with the effect preview moved below it. First the demo state:

Edit (E:\a327ex\ricochet-template\main.lua)

The file E:\a327ex\ricochet-template\main.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template\main.lua)

The file E:\a327ex\ricochet-template\main.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template LUA="E:/a327ex/Anchor/reference/love-compare/tool...)

OK   main.lua
OK   ricochet/ui.lua
OK   ricochet/skin_rough.lua
OK   ricochet/skin_smooth.lua
OK   ricochet/theme.lua

Pass 2 is in — all per-skin, all compiling, and demoed so you can see them.

Seven data/HUD widgets, each skinned:

Smooth (matches showcase.lua) Rough
pips circles (filled / outline) squares
stat label + value + 5px mini-bar compact + 2px bar
list_row recess + 2px ink left stripe + separator 1px stripe, tight
tag [ TAG ] mono, muted (bracket motif) framed chip
badge inverted ink box + field mono same, smaller
keyhint bordered keycap (min 30, h 30) + label small framed cap
sparkline line graph in faint frame same, rough metrics

main.lua gained a DATA panel (right column, above the effect preview) demoing all seven.

To test

run.bat (you're on MODE = 'smooth') → the DATA panel shows: COMBO with circle pips, an Attack stat + mini-bar, a NAME / PWR list (click Blaster/Railgun — the ink left-stripe moves), [ FIRE ] [ RARE ] [ LV9 ] bracket tags, x3 / 99+ badges + an SPC Dash keycap, and a sparkline. Then MODE = 'rough' → square pips, framed tags/caps, the pixel idiom.

Verify the smooth data widgets read like the old showcase (round pips, bracketed tags, the list stripe) and the rough ones look right.

Heads-up: main.lua now runs three panels + the preview — it's grown into a usage showcase as much as a clean starting point. That's useful as a reference, but a forked game would strip the demo panels. Two widgets from the original list I left out as niche — menu_item (title-screen) and swatch_row (palette picker) — say if you want them.

Next: the docs — rewrite the template CLAUDE.md around the package (the require('ricochet') contract, the two-skin model, ricochet_setup/profiles, the widget API, the file map). Say go and I'll finish the generalization with that.

[Pasted image/png]

The panel is too big horizontally in smooth mode. The spacing between things is off in both modes.

That's the demo layout's fault, not the widgets — the panel stretches to fill the whole screen width in smooth, the row gaps are inconsistent (I advanced by row+6/+9/+0/+4/+8), and the mixed-height widgets (badge vs keycap) sit at different y. Let me rebuild draw() with capped panel widths, a single uniform gap, vertically-centered controls, and a mode-aware preview.

Edit (E:\a327ex\ricochet-template\main.lua)

The file E:\a327ex\ricochet-template\main.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template && "E:/a327ex/Anchor/reference/love-compare/tools...)

main.lua OK

Compiles. These were demo-layout bugs, not widget bugs — the widgets are untouched. The rebuilt draw() fixes both complaints:

To test

Set LAB = false, then run.bat:

If the panel width or any gap still reads off, tell me the value to nudge — these are all single constants now (dataw cap, gap, the per-row heights). Once the demo looks right, the only thing left in the whole arc is the CLAUDE.md rewrite.

This is still a bit off but it's fine for now, what's next?

Parking the demo layout there — good enough for now, noted.

You're basically at the finish line of the whole generalization arc. Where things stand:

Done:

What's next — the last item: the docs. Rewrite the template CLAUDE.md around the package so the next instance (or you, later) is oriented: the require('ricochet') contract, ricochet_setup/the two profiles, the two-skin model + the "smooth-from-showcase, rough-from-rough-lab" rule (the one I kept relearning the hard way — worth pinning down so nobody repeats it), the widget API, and the new file map (labs, package, trimmed assets).

Optional leftovers (defer-able, your call): the two niche widgets I skipped (menu_item, swatch_row), and swapping the stepper's -/+ glyphs for the actual Tabler icons in the smooth skin.

Want me to do the CLAUDE.md rewrite now to close it out? (And if you'd rather wrap the session after that, I can /end-session.)

The goal for doing these screens in main.lua for both smooth and rough skins is to show the new instances how to use it all, right?

Partly — but if "teach the next instance how to use it" is the real goal, then honestly the current setup isn't the best vehicle for it, and it's worth saying so plainly.

What the main.lua demo is actually good at right now is verification — it let you (and me) see each widget render correctly in both skins as I built them, and it does double as a usage snippet (here's how you call ui_field, ui_slider, ui_checkbox, the per-frame contract). That's real value.

But it's in tension with what main.lua is supposed to be — the minimal clean reference a forked game edits. A dev who forks the folder now has to delete three panels of demo before they can start. A flat widget catalog crammed into the starting file teaches "what widgets exist," but it fights the "blank canvas" job, and it's exactly why the layout kept feeling off (it's doing two incompatible things at once).

The structure that actually serves teaching better — and it's the snkrx model we've been mirroring — is a clean split:

And the most instructive gallery isn't a widget catalog — it's composite example screens: a real HUD, a pause menu, a shop, assembled from the widgets, at both skins. Seeing widgets composed into actual game UI teaches usage far better than a grid of every control. The rough lab already does this (HUD/MENU/SHOP/TITLE) — but on the old rough_ui, not the new toolkit.

So my honest recommendation: don't keep polishing the main.lua demo. Instead, slim main.lua back to minimal, and build a proper toolkit gallery with a few composite screens (HUD / menu / shop) rendered through the new two-skin toolkit — that becomes the real "how to use it" artifact, alongside the CLAUDE.md widget API.

Want me to go that way — minimal main.lua + a composite-screen gallery — or keep the demo-in-main approach and just document it as the usage example?

Yes, but just slim main.lua for now, update any documentations, then end session, naming it Visual Experiments 4, we'll do the composite example screens in the next session.

On it — slim main.lua, update the docs, then end the session as "Visual Experiments 4". Composite screens are parked for next time.

First, the slimmed main.lua — back to a clean skeleton: full-screen effect + one example panel showing the per-frame UI contract.

Write (E:\a327ex\ricochet-template\main.lua)

<tool_use_error>File has been modified since read, either by the user or by a linter. Read it again before attempting to write it.</tool_use_error>

Read (E:\a327ex\ricochet-template\main.lua)

20   
21  local MODE = 'smooth'   -- 'rough' (480x270 pixel-art) | 'smooth' (1920x1080)
22  local LAB  = true -- true -> run the example galleries (lab.lua) instead
23  

Re-read confirmed. Now writing the slimmed version (defaulting to MODE='rough', LAB=false for a clean shipped reference):

Write (E:\a327ex\ricochet-template\main.lua)

The file E:\a327ex\ricochet-template\main.lua has been updated successfully. (file state is current in your context — no need to Read it back)

Bash (cd E:/a327ex/ricochet-template && "E:/a327ex/Anchor/reference/love-compare/tools...)

main.lua OK (slimmed)

main.lua is slimmed and compiles. Now the docs. Let me read the current CLAUDE.md intro + roadmap to update them for the package generalization.

Read (E:\a327ex\ricochet-template.claude\CLAUDE.md)

44   ---
45  
46  ## What this is
47  
48  A starter Anchor 2 project that ships **Ricochet's visual identity** plus
49  a clean four-axis effect system (pattern × color × dither × shape). Fork the
50  folder, drop your game code into `main.lua`, prototype. The template
51  itself ships no gameplay — that's the forking dev's job.
52  
53  The full visual identity (palette philosophy, dotted motif, typography,
54  shape language, motion principles) lives in `Ricochet/design.md`. This
55  template implements the palette + the effect pipeline only; everything
56  else in design.md is guidance for how a forked project should look.
57  
58  Three screens, cycled with **Tab**: the **pattern gallery**, the flat **Tabler
59  UI-kit showcase**, and the **effect editor**.
60  
61  **Two builds, picked by `ROUGH` at the top of `main.lua`.** `ROUGH = false` runs
62  the **smooth** 1920×1080 dev-tools build described in this section. `ROUGH = true`
63  (currently set, for the low-res work) forks to **`main_rough.lua`** — the **rough**
64  480×270 / scale 4 / nearest build (the SNKRX render target). A game is smooth-hi-res
65  OR rough-low-res, never both. The rough build is the low-res font / icon / UI bench
66  — see **"The rough (480×270) low-res build"** below. Everything else in this file
67  describes the smooth build unless noted.
68  
69  Layout:
70  - **`main.lua`** — boot order, layers, the per-frame UI contract, the keyboard
71    hotkeys, and the **gallery** screen (one rect per pattern, the `gallery` table,
72    + a click-to-select inspector sidebar).
73  - **`palette.lua`** — `palette_dark` + `palette_light`, 13 named tokens
... [80 more lines]

The intro and structure are stale (they describe the old main.lua-as-gallery). Let me replace that block with a package-oriented intro + a dedicated package section (capturing the two-skin rule prominently).

Edit (E:\a327ex\ricochet-template.claude\CLAUDE.md)

The file E:\a327ex\ricochet-template\.claude\CLAUDE.md has been updated successfully. (file state is current in your context — no need to Read it back)

Now the roadmap — mark the generalization done and reset the next-steps. Let me read the current roadmap block to edit it precisely.

Read (E:\a327ex\ricochet-template.claude\CLAUDE.md)

155    `ui_toggle` `ui_stepper` `ui_dropdown` `ui_tabs` `ui_pips` `ui_stat`
156   `ui_list_row` `ui_tag` `ui_badge` `ui_keyhint` `ui_sparkline`.
157 
158 ### Per-frame UI contract
159 ```lua
160 update(): if mouse_is_pressed(1) then ui_mouse_pressed = true end  -- + released
161 draw():   ui_state_begin_frame(); effect_clear(ui_layer)   -- passthrough baseline
162           <widget calls, queued on ui_layer>
163           effect_clear(game_layer); <world draws>
164           layer_render(game_layer); layer_render(ui_layer)
165           layer_draw(game_layer);   layer_draw(ui_layer)
166           ui_mouse_pressed, ui_mouse_released = false, false
167 ```
168 `effect_clear(layer)` before flat draws is REQUIRED: the shader is installed
169 globally, so without it, stale pattern/shape uniforms carve the flat UI.
170 
171 ---
172 
173 ## Roadmap — what's next (READ THIS FIRST, next instance)
174 
175 Built and settled (the "Visual Experiments 3" session closed all the big items):
176 the four-axis effect system, the gallery, the **effect editor** (`editor.lua`),
177 the Tabler UI-kit **showcase**, the **ramp editor**, **image-as-SHAPE** (tiled
178 icon masks + the geometric shapes), **image-as-CONTENT** (dither/recolor real
179 images, luminance + pattern, optionally rippled by the moving pattern), shape
180 **ROTATION**, and the **single-call API** (`effect_rectangle` / `effect_circle`
181 / `effect_image`).
182 
183 Locked decisions:
184 - **Icon pack = Tabler** (`assets/icons/tabler/`, fetched by
... [22 more lines]

Read (E:\a327ex\ricochet-template.claude\CLAUDE.md)

204  **Remaining — DEFERRED to manual, piece-by-piece sessions. Do NOT auto-tackle;
205 the user drives these:**
206 
207 1. **480×270 support — IN PROGRESS (Visual Experiments 4).** The low-res
208    **font / icon / UI bench is DONE** — the `ROUGH` build (`main_rough.lua` +
209    `rough_ui.lua`; see its section below) verifies fonts, icons, and the whole
210    Ricochet UI chrome at 480×270. **Remaining: the effects/shapes pass.** The
211    four-axis shader is `gl_FragCoord`-anchored, so patterns/shapes/dither become
212    chunky pixel-art for free at 480×270 — but the baked scales and shape cell
213    sizes are tuned for 1920 and need a verify + retune + cull pass at the real
214    resolution (a 24px shape cell is huge on a 480-wide screen; fine patterns may
215    mush). NOT yet ported into the rough build — that's the next step.
216 2. **Replace the snkrx-template effect system** (its `edition.lua` + dither
217    stack) with this one, once 480×270 is settled. This is the end goal of the
218    whole template.
219 3. **Flow-field shape rotation** (the Orblike/Invoker "wall icon" effect): a
220    *per-cell* rotation angle from a field, vs. today's single global ROTATION.
221    Feasible; bigger. The hook is the rotation math at the top of `shape_mask`.
222 
223 **When this toolkit is used in a REAL game:** the showcase UI will want
224 restyling to match the Ricochet design sheets (`Ricochet/reference/`) more
225 closely in *feel*. (User flagged this explicitly.)
226 
227 ## The rough (480×270) low-res build

Edit (E:\a327ex\ricochet-template.claude\CLAUDE.md)

The file E:\a327ex\ricochet-template\.claude\CLAUDE.md has been updated successfully. (file state is current in your context — no need to Read it back)

Edit (E:\a327ex\ricochet-template.claude\CLAUDE.md)

The file E:\a327ex\ricochet-template\.claude\CLAUDE.md has been updated successfully. (file state is current in your context — no need to Read it back)

Let me update the file-map section too. Let me find it.

Grep (^## File map|^ricochet-template/$|├── main_rough)

871:## File map
874:ricochet-template/
877:├── main_rough.lua              # ROUGH build: 480×270 low-res font/icon/UI bench

Read (E:\a327ex\ricochet-template.claude\CLAUDE.md)

871  ## File map
872 
873 ```
874 ricochet-template/
875 ├── main.lua                    # SMOOTH build: boot + gallery + inspector + keys
876 │                               #   (ROUGH=true at top forks to main_rough.lua)
877 ├── main_rough.lua              # ROUGH build: 480×270 low-res font/icon/UI bench
878 ├── rough_ui.lua                # low-res Ricochet widget toolkit (ru_*) for ROUGH
879 ├── palette.lua                 # 2 palettes × 13 tokens; palette_init
880 ├── effect.lua                  # 4-axis spec API + effect_rectangle/circle/image + cycles
881 ├── editor.lua                  # the effect EDITOR screen (target + controls + live preview)
882 ├── ui_controls.lua             # shared sidebar control blocks + cyclers (gallery + editor)
883 ├── showcase.lua                # flat Tabler UI-kit screen
884 ├── rectcut.lua                 # RectCut layout primitive
885 ├── ui_state.lua                # frame-local hot/active/focus + ui_claim_hot
886 ├── ui.lua                      # 5 Ricochet-style widgets + helpers
887 ├── anchor/                     # Anchor 2 framework
888 ├── anchor.exe                  # built engine (patched — see Critical conventions)
889 ├── tools/                      # node, run by hand: fetch_icons + compare_packs (Tabler),
890 │                               #   fetch_pixel_icons (HackerNoon), fetch_pixelarticons,
891 │                               #   compare_pixel_packs (pixel-pack coverage compare)
892 ├── assets/
893 │   ├── draw_shader.frag        # unified pattern+shape+dither+color shader
894 │   ├── fonts/                  # ROUGH pixel-font bench (~15; trio Ark10/PxOpB/Monogram)
895 │   ├── icons/tabler/           # Tabler PNGs (SMOOTH): <concept>.png + <concept>_filled.png
896 │   ├── icons/pixel/            # HackerNoon pixel icons (ROUGH pick): outline + _filled, 24px
897 │   ├── icons/pixelarticons/    # Pixelarticons (ROUGH compare; base/outline only)
898 │   ├── images/                 # editor IMAGE-target test images (girl/boy/wolf + CREDITS)
899 │   ├── Oswald-Medium.ttf       # UI titles + field labels
900 │   ├── IBMPlexSans-Regular.ttf # UI labels (alt)
... [10 more lines]

Edit (E:\a327ex\ricochet-template.claude\CLAUDE.md)

The file E:\a327ex\ricochet-template\.claude\CLAUDE.md has been updated successfully. (file state is current in your context — no need to Read it back)

Docs updated — the CLAUDE.md now leads with the package, the two-skin rule (pinned prominently so it isn't relearned), the widget API, the per-frame contract, the reset roadmap, and the new file map. Let me do a final syntax check across the package before ending the session.

Bash (cd E:/a327ex/ricochet-template LUA="E:/a327ex/Anchor/reference/love-compare/tool...)

OK   main.lua
OK   lab.lua
OK   main_rough.lua
OK   ricochet/init.lua
OK   ricochet/theme.lua
OK   ricochet/ui.lua
OK   ricochet/skin_rough.lua
OK   ricochet/skin_smooth.lua
--- all good ---

Everything compiles. Now ending the session as Visual Experiments 4.

Skill

Launching skill: end-session

Base directory for this skill: E:\a327ex.claude\skills\end-session

End Session Workflow

This skill is invoked from the same conversation where the work was done. You already have the full session context in memory — you do NOT need to read the transcript.

Step 1: Get Session Info

Ask the user for the session title (max 30 characters). Examples: "Anchor Phase 10 Part 5", "Physics Arena Setup", "Timer System Fix", "Thalien Lune Design".

Determine the project yourself from your session context — you know which repo(s) were worked on, which files were created/modified, and where they live. No need to ask. See Step 5 for the list of known project roots; if the session touched something outside the list, infer the root from the paths you actually edited.

Step 2: Write Summary

Write the summary from your conversation memory. You have the full session context — no need to read any files.

The summary should be thorough and detailed. Each major topic deserves its own section with multiple specific bullet points. Don't compress — expand.

Purpose: These summaries serve as searchable records. Future Claude instances will grep through past logs to find how specific topics were handled. The more detail you include, the more useful the summary becomes for finding relevant context later.

Format (this is just an example structure — adapt sections to match what actually happened):

# [Title]

## Summary

[1-2 sentence overview of the session's main focus]

**[Topic 1 - e.g., "Spring Module Implementation"]:**
- First specific detail about what was done
- Second detail - include file names, function names
- User correction or feedback (quote if notable)
- Technical decisions and why

**[Topic 2 - e.g., "Camera Research"]:**
- What was researched
- Key findings
- How it influenced implementation

**[Topic 3 - e.g., "Errors and Fixes"]:**
- Specific error message encountered
- Root cause identified
- How it was fixed

[Continue for each major topic...]

---

[Rest of transcript follows]

Rules: - Be thorough — If in doubt, include more detail, not less. Each topic should be as detailed as possible while still being a summary. - Think searchability — Future instances will search these logs. Include keywords, function names, error messages that someone might grep for. - One section per major topic — Don't combine unrelated work into one section - Chronological order — Sections should match conversation flow - Specific details — Error messages, file names, function names, parameter values - Include user quotes — When user gave notable feedback, quote it (e.g., "k/d variables are not intuitive at all") - Weight planning equally — Research, proposals, alternatives considered, user feedback on approach are as important as implementation - Weight problems solved — Errors, root causes, fixes, user corrections all matter - Technical specifics — Include formulas, API signatures, parameter changes when relevant

Step 3: Proceed Without Approval

Do NOT show the summary to the user for approval. Write it directly. The user can review the committed log after the fact and request a follow-up edit if anything is off.

Step 4: Convert Transcript and Write the Log File

# Find recent sessions (Claude + Cursor + Codex). Same script lives in Anchor2:
python E:/a327ex/Anchor2/scripts/find-recent-session.py --limit 5
# or: python E:/a327ex/Anchor/scripts/find-recent-session.py --limit 5

The script shows sessions sorted by when they ended. The first result is the current conversation (since end-session was invoked here). Use it.

Use a lowercase hyphenated slug derived from the title (e.g., "anchor-primitives-hitstop-animation").

Get the end timestamp for the Date frontmatter — this is the wall-clock time when end-session was invoked, NOT the time the JSONL started. Sessions often span multiple days, and the log should be filed under the day the work was wrapped up:

date "+%Y-%m-%d %H:%M:%S"

Use this output verbatim. Do not substitute the JSONL start timestamp; the log appears in the sidebar sorted by Date, and a multi-day session with a Date pinned to day 1 will sort below sessions that ended later but started later, hiding the most recent work.

Convert the transcript to markdown:

python E:/a327ex/Anchor2/scripts/jsonl-to-markdown.py [SESSION_PATH] /tmp/session-log.md
# or: python E:/a327ex/Anchor/scripts/jsonl-to-markdown.py ...

The same script auto-detects Claude Code JSONL vs Cursor/Composer agent JSONL (~/.cursor/projects/.../agent-transcripts/...) vs Codex rollouts (~/.codex/sessions/...). For Composer sessions, use find-recent-session.py (it merges all sources) and pick the [cursor] line for the current chat.

Replace the default header (# Session YYYY-MM-DD...) at the top of /tmp/session-log.md with the approved title and summary, AND prepend frontmatter. The final file shape:

Title: [Title]
Date: YYYY-MM-DD HH:MM:SS

# [Title]

## Summary

[approved summary text from step 2]

---

[transcript content from jsonl-to-markdown script]

Frontmatter is non-negotiable. Every log file MUST start with Title: and Date: lines. Without them, the site's sidebar shows the slug as the title and 0 (epoch) as the sort date. The backfill script in a327ex-site/deploy/backfill_metadata.py is a safety net, not a substitute — write it correctly the first time.

Then copy the final file to the log destination:

cp /tmp/session-log.md E:/a327ex/a327ex-site/logs/[slug].md

Step 4.5: Decrement the lock (if active)

Read E:/a327ex/a327ex-site/.lock.json if it exists. If it contains {"remaining": N} with N > 0:

  • Decrement N by 1
  • Write {"remaining": N-1} back to the file
  • If N becomes 0, the lock is cleared. You may leave the file at {"remaining": 0} or delete it; both work.

The lock file lives in the a327ex-site repo, so the change is staged automatically by git add -A in Step 6.

If no lock file exists or remaining is already 0, do nothing. (See the /lock skill for the lock's full design.)

Step 5: Commit Project Repo

Identify the project repo(s) worked on this session from your own context — you already know which repos were touched and which files changed. For the common projects:

Project Root Stage command
Anchor E:/a327ex/Anchor git add docs/ framework/ engine/ scripts/ reference/
Anchor2 E:/a327ex/Anchor2 git add framework/ engine/ arena/ reference/ scripts/ docs/ .claude/
emoji-ball-battles E:/a327ex/emoji-ball-battles git add -A
invoker E:/a327ex/Invoker git add -A
thalien-lune E:/a327ex/thalien-lune git add -A
a327ex-site E:/a327ex/a327ex-site git add -A (this IS one of the web repos — the log file added in Step 4 is staged here automatically)

For a project not listed, infer the root from the files you actually created or modified this session and stage those. If multiple candidate roots look valid, ask the user which files to stage.

cd into the project root, stage, run git status to verify before committing.

IMPORTANT — FULL SUMMARY IN COMMIT: The commit message MUST include the FULL summary from the log file. Read the summary back from the log file to ensure nothing is missing.

IMPORTANT — COMMIT METHOD: The summary contains backticks, special characters, and markdown that WILL break heredocs and git commit -m. ALWAYS use the file-based method below. NEVER try a heredoc first — it will fail and produce a malformed commit that needs amending.

# Skip until we hit the line "## Summary", then take everything after the next
# blank line until the --- separator that precedes the transcript.
awk '/^## Summary$/{found=1; next} found && NR>1 && /^---$/{exit} found' \
    E:/a327ex/a327ex-site/logs/[slug].md > /tmp/commit_msg.txt

# Prepend the title (plain text, no #) and append attribution
sed -i "1i [Title]\n" /tmp/commit_msg.txt
printf "\nGenerated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n" >> /tmp/commit_msg.txt

git commit -F /tmp/commit_msg.txt

Step 6: Push the Repos

Two pushes — project (to GitHub) and a327ex-site (to the VPS):

# Project repo to GitHub. Skip this push if the project IS a327ex-site
# (handled by the second push below — don't duplicate).
git push origin main

# a327ex-site to the VPS (post-receive hook restarts the Lua server).
cd E:/a327ex/a327ex-site
git add -A
git commit -m "[Title]"
git push prod main 2>&1 | tail -3

Failure handling: if either push fails, the other still happens. Local commits stay intact, so the user can re-push manually once they've fixed whatever blocked it. Don't roll back; the committed state on disk is the source of truth.

Step 7: Confirm

Tell the user: - Project commit hash + GitHub push result - a327ex-site commit hash + VPS push result

Format:

Logged — "[Title]".
  project (Anchor2):  abc1234  pushed to GitHub
  a327ex-site:        ghi9012  pushed to a327ex.com (post-receive deployed)

If a push failed, surface that explicitly with the error.

Notes

  • Frontmatter is non-negotiable. Every log file MUST have Title: and Date: at the top. Enforced at write time in step 4. The backfill script is a safety net, not a substitute.
  • If the project IS a327ex-site (e.g., you spent the session writing the renderer or fixing the theme), there's no separate "project repo to GitHub" push — the a327ex-site push at the end IS the project push. Don't duplicate.
  • Legacy note: this skill used to also dual-write to anchor.blot.im/logs/ and anchor.blot.im/context/. Post-cutover (May 2026), anchor.blot.im is a JS redirect to a327ex.com and no longer receives content. Drop those steps if you find any older docs that still reference them.

ARGUMENTS: Visual Experiments 4

I have the full session context. Title: Visual Experiments 4, project: ricochet-template. Let me gather the session info and check the repo situation.

Bash (echo "=== recent sessions ==="; python E:/a327ex/Anchor2/scripts/find-recent-ses...)

=== recent sessions ===
2026-05-31T02:51:41.324Z 481ad3a8-6d9e-43dc-bc39-f5417426e5a5 [claude] <-- MOST RECENT
   C:\Users\adn\.claude\projects\E--a327ex\481ad3a8-6d9e-43dc-bc39-f5417426e5a5.jsonl

2026-05-31T01:00:12.330Z aca39077-9a40-4d7e-ac77-c4c05ac51979 [claude]
   C:\Users\adn\.claude\projects\E--a327ex\aca39077-9a40-4d7e-ac77-c4c05ac51979.jsonl

2026-05-30T21:49:44.805Z 06f5cfc2-4245-4927-9a2d-d7f372358eff [claude]
   C:\Users\adn\.claude\projects\E--a327ex\06f5cfc2-4245-4927-9a2d-d7f372358eff.jsonl

2026-05-30T20:32:26.987Z 919f238e-264d-437b-8ab7-fc807e5302b7 [claude]
   C:\Users\adn\.claude\projects\E--a327ex\919f238e-264d-437b-8ab7-fc807e5302b7.jsonl

2026-05-30T00:45:02.609Z 8794b075-651a-4460-a6f1-0b750c98fa26 [claude]
   C:\Users\adn\.claude\projects\E--a327ex\8794b075-651a-4460-a6f1-0b750c98fa26.jsonl


=== end timestamp ===
2026-05-30 23:52:20

=== ricochet-template git ===
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git

Got it — most-recent session is 481ad3a8…, end timestamp 2026-05-30 23:52:20, and ricochet-template is not a git repo (no .git in any parent), so like prior visual-experiments sessions the only commit is the log to a327ex-site. Let me convert the transcript and check the lock.