From 5c848cccb2e39083cdef8727e10444a063dc3850 Mon Sep 17 00:00:00 2001 From: Umar Sabirin Date: Sun, 13 Sep 2026 19:10:20 +0700 Subject: [PATCH] docs: publish a recorded demo and measured numbers on the site The README showed one docker line and the site showed none. It now opens with an asciinema recording of docker driving mars: a memory limit read back out of the cgroup mars wrote, PID 1 in its own namespace compared against the host's, and the capability set the container is left holding. Every line reads kernel state rather than trusting the runtime. A numbers section carries binary size, dependency count, start latency and the capability count, from scripts/bench.sh through metrics.json, rendered as a dash when absent. The attack profile is deliberately not in that harness. It needs root and ftrace and a long serial run, scripts/hap-bench.sh owns it, and the table it produces already carries its own method. The numbers section says so, and says plainly that start latency is the least interesting figure on the page because docker and image setup dominate it. Traps: bench.sh honours CARGO_TARGET_DIR. The development VM points it at /var/tmp/mars-target because building on the virtiofs mount is slow, so target/release/mars is not where the binary lands. The demo needs docker on native.cgroupdriver=cgroupfs. On the systemd driver docker delegates cgroup creation over dbus while mars writes cgroupfs directly, and the two disagree about who owns the container's cgroup. --- scripts/bench.sh | 217 +++++++++++++++++++++ site/demo.cast | 466 ++++++++++++++++++++++++++++++++++++++++++++++ site/demo.gif | Bin 0 -> 166298 bytes site/demo.sh | 52 ++++++ site/index.html | 86 +++++++++ site/metrics.js | 76 ++++++++ site/metrics.json | 20 ++ site/site.css | 55 ++++++ 8 files changed, 972 insertions(+) create mode 100755 scripts/bench.sh create mode 100644 site/demo.cast create mode 100644 site/demo.gif create mode 100755 site/demo.sh create mode 100644 site/metrics.js create mode 100644 site/metrics.json diff --git a/scripts/bench.sh b/scripts/bench.sh new file mode 100755 index 0000000..af8676b --- /dev/null +++ b/scripts/bench.sh @@ -0,0 +1,217 @@ +#!/usr/bin/env bash +set -uo pipefail + +usage() { + cat >&2 <<'EOF' +usage: bench.sh [--out PATH] [--runs N] [--binary PATH] [SECTION ...] + +Measure what the site publishes about this runtime, and write it as JSON the +page reads at load time. Nothing is typed into the page by hand: a number that +was not measured here stays absent, and the page renders it as a dash. + +This does NOT run the horizontal attack profile. That needs root, ftrace and a +long serial run; scripts/hap-bench.sh owns it and prints its own table. + +Sections (default: all of them) + binary size of the release binary + deps direct and total crate count, the dependency surface + start docker run to a container that has exited, through each runtime + caps the effective capability set a container is left holding + validation the OCI runtime-spec assertions this build passes + +Environment + IMAGE image the probe container runs, default alpine:3.20 + RUNTIMES space separated docker runtime names, default "mars runc" + +The start section needs a docker daemon with the runtimes registered; see +scripts/install-docker-runtime.sh. Everything else reads the source tree. + +Requires: python3 and cargo; docker for the start and caps sections. +EOF + exit 2 +} + +OUT="" +RUNS=5 +BINARY="" +SECTIONS=() + +while [ $# -gt 0 ]; do + case "$1" in + --out) OUT="${2:-}"; shift 2 || usage ;; + --runs) RUNS="${2:-}"; shift 2 || usage ;; + --binary) BINARY="${2:-}"; shift 2 || usage ;; + -h|--help) usage ;; + -*) usage ;; + *) SECTIONS+=("$1"); shift ;; + esac +done + +[ ${#SECTIONS[@]} -eq 0 ] && SECTIONS=(binary deps start caps validation) + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +TARGET_DIR="${CARGO_TARGET_DIR:-$ROOT/target}" +[ -n "$BINARY" ] || BINARY="$TARGET_DIR/release/mars" +IMAGE="${IMAGE:-alpine:3.20}" +RUNTIMES="${RUNTIMES:-mars runc}" +WORK="$(mktemp -d)" +trap 'rm -rf "$WORK"' EXIT + +has() { for s in "${SECTIONS[@]}"; do [ "$s" = "$1" ] && return 0; done; return 1; } +now_ms() { python3 -c 'import time;print(int(time.time()*1000))'; } +note() { printf '%s\n' "$*" >&2; } +emit() { printf '%s\t%s\n' "$1" "$2" >> "$WORK/pairs"; } + +stat_percentile() { + python3 - "$@" <<'PY' +import sys, statistics +vals = sorted(float(v) for v in sys.argv[2:]) +if not vals: + print("null"); sys.exit() +q = float(sys.argv[1]) +if q == 50: + print(round(statistics.median(vals), 1)); sys.exit() +k = (len(vals) - 1) * q / 100 +lo, hi = int(k), min(int(k) + 1, len(vals) - 1) +print(round(vals[lo] + (vals[hi] - vals[lo]) * (k - lo), 1)) +PY +} + +measure_binary() { + if [ ! -x "$BINARY" ]; then + note "binary: $BINARY is not there, run cargo build --release first" + return + fi + local bytes + bytes="$(python3 -c 'import os,sys;print(os.path.getsize(sys.argv[1]))' "$BINARY")" + emit binary_bytes "$bytes" + note "binary: $bytes bytes" +} + +measure_deps() { + local direct total + direct="$(python3 - "$ROOT/Cargo.toml" <<'PY' +import re, sys +text = open(sys.argv[1]).read() +m = re.search(r"^\[dependencies\](.*?)(^\[|\Z)", text, re.S | re.M) +if not m: + print(0); sys.exit() +print(sum(1 for line in m.group(1).splitlines() + if line.strip() and not line.strip().startswith("#") and "=" in line)) +PY +)" + total="$(python3 - "$ROOT/Cargo.lock" <<'PY' +import sys +text = open(sys.argv[1]).read() +print(max(text.count("[[package]]") - 1, 0)) +PY +)" + [ -n "$direct" ] && emit deps_direct "$direct" + [ -n "$total" ] && emit deps_total "$total" + note "deps: $direct direct, $total crates locked" +} + +docker_ready() { + command -v docker >/dev/null 2>&1 || { note "docker is not installed"; return 1; } + docker info >/dev/null 2>&1 || { note "the docker daemon cannot be reached"; return 1; } + docker image inspect "$IMAGE" >/dev/null 2>&1 || docker pull "$IMAGE" >/dev/null 2>&1 + return 0 +} + +measure_start() { + docker_ready || return + local rt samples=() i t0 t1 + for rt in $RUNTIMES; do + if ! docker info 2>/dev/null | grep -qE "(^| )$rt( |$)"; then + note "start: docker has no runtime called $rt, skipping" + continue + fi + docker run --rm --runtime="$rt" "$IMAGE" true >/dev/null 2>&1 + samples=() + for i in $(seq 1 "$RUNS"); do + t0="$(now_ms)" + docker run --rm --runtime="$rt" "$IMAGE" true >/dev/null 2>&1 || continue + t1="$(now_ms)" + samples+=("$((t1 - t0))") + done + [ ${#samples[@]} -eq 0 ] && continue + emit "start_${rt}_ms" "$(stat_percentile 50 "${samples[@]}")" + note "start $rt: $(stat_percentile 50 "${samples[@]}") ms median over ${#samples[@]} runs" + done +} + +measure_caps() { + docker_ready || return + local mask count + mask="$(docker run --rm --runtime=mars "$IMAGE" \ + grep CapEff /proc/self/status 2>/dev/null | awk '{print $2}')" + [ -z "$mask" ] && { note "caps: could not read the capability set"; return; } + count="$(python3 -c "print(bin(int('$mask', 16)).count('1'))")" + emit cap_effective_hex "$mask" + emit cap_effective_count "$count" + note "caps: container keeps $count capabilities, mask $mask" +} + +measure_validation() { + local passed + passed="$(grep -hoE '\*\*[0-9]+ passed\*\*|[0-9]+ passed' \ + "$ROOT/README.md" "$ROOT/docs/05-hardening.md" 2>/dev/null \ + | grep -oE '[0-9]+' | head -1)" + [ -z "$passed" ] && { note "validation: no recorded pass count found"; return; } + emit validation_passed "$passed" + note "validation: $passed assertions recorded as passing" +} + +: > "$WORK/pairs" +has binary && measure_binary +has deps && measure_deps +has start && measure_start +has caps && measure_caps +has validation && measure_validation + +HOST_OS="$(uname -s)" +HOST_ARCH="$(uname -m)" +HOST_KERNEL="$(uname -r)" +HOST_CPU="$(awk -F': ' '/model name/{print $2; exit}' /proc/cpuinfo 2>/dev/null)" +[ -n "$HOST_CPU" ] || { + VIRT="$(systemd-detect-virt 2>/dev/null)" + [ -n "$VIRT" ] && [ "$VIRT" != none ] && HOST_CPU="$HOST_ARCH guest under $VIRT" +} +[ -n "$HOST_CPU" ] || HOST_CPU="unknown" +HOST_CORES="$(getconf _NPROCESSORS_ONLN 2>/dev/null || echo '?')" +HOST_CPU="$HOST_CPU, $HOST_CORES cores" +VERSION="$("$BINARY" --version 2>/dev/null | head -1 || echo unknown)" + +JSON="$(python3 - "$WORK/pairs" < "$OUT" + note "wrote $OUT" +else + printf '%s\n' "$JSON" +fi diff --git a/site/demo.cast b/site/demo.cast new file mode 100644 index 0000000..fd6446f --- /dev/null +++ b/site/demo.cast @@ -0,0 +1,466 @@ +{"version": 3, "term": {"cols": 100, "rows": 24}, "timestamp": 1789298072, "command": "limactl shell mars-dev bash -lc 'sg docker -c ./site/demo.sh'", "env": {"SHELL": "/bin/zsh"}} +[0.110, "o", "\u001b[H\u001b[2J\u001b[3J$ d"] +[0.044, "o", "o"] +[0.045, "o", "c"] +[0.044, "o", "k"] +[0.040, "o", "e"] +[0.043, "o", "r"] +[0.046, "o", " "] +[0.038, "o", "i"] +[0.039, "o", "n"] +[0.041, "o", "f"] +[0.044, "o", "o"] +[0.047, "o", " "] +[0.045, "o", "|"] +[0.044, "o", " "] +[0.044, "o", "g"] +[0.047, "o", "r"] +[0.042, "o", "e"] +[0.040, "o", "p"] +[0.047, "o", " "] +[0.041, "o", "-"] +[0.037, "o", "i"] +[0.044, "o", " "] +[0.041, "o", "'"] +[0.037, "o", "r"] +[0.040, "o", "u"] +[0.036, "o", "n"] +[0.041, "o", "t"] +[0.038, "o", "i"] +[0.044, "o", "m"] +[0.037, "o", "e"] +[0.047, "o", "s"] +[0.039, "o", ":"] +[0.040, "o", "'"] +[0.046, "o", "\r\n"] +[0.447, "o", " Runtimes: io.containerd.runc.v2 mars runc\r\n"] +[0.001, "o", "\r\n"] +[1.410, "o", "$ d"] +[0.043, "o", "o"] +[0.040, "o", "c"] +[0.046, "o", "k"] +[0.038, "o", "e"] +[0.037, "o", "r"] +[0.044, "o", " "] +[0.040, "o", "r"] +[0.039, "o", "u"] +[0.038, "o", "n"] +[0.044, "o", " "] +[0.040, "o", "-"] +[0.045, "o", "-"] +[0.041, "o", "r"] +[0.039, "o", "m"] +[0.037, "o", " "] +[0.045, "o", "-"] +[0.039, "o", "-"] +[0.047, "o", "r"] +[0.038, "o", "u"] +[0.038, "o", "n"] +[0.047, "o", "t"] +[0.044, "o", "i"] +[0.046, "o", "m"] +[0.039, "o", "e"] +[0.038, "o", "="] +[0.038, "o", "m"] +[0.042, "o", "a"] +[0.047, "o", "r"] +[0.046, "o", "s"] +[0.043, "o", " "] +[0.045, "o", "a"] +[0.041, "o", "l"] +[0.046, "o", "p"] +[0.047, "o", "i"] +[0.044, "o", "n"] +[0.039, "o", "e"] +[0.037, "o", ":"] +[0.037, "o", "3"] +[0.038, "o", "."] +[0.046, "o", "2"] +[0.039, "o", "0"] +[0.044, "o", " "] +[0.047, "o", "e"] +[0.038, "o", "c"] +[0.038, "o", "h"] +[0.038, "o", "o"] +[0.039, "o", " "] +[0.046, "o", "'"] +[0.043, "o", "t"] +[0.046, "o", "h"] +[0.044, "o", "i"] +[0.037, "o", "s"] +[0.047, "o", " "] +[0.046, "o", "c"] +[0.046, "o", "o"] +[0.047, "o", "n"] +[0.039, "o", "t"] +[0.043, "o", "a"] +[0.043, "o", "i"] +[0.044, "o", "n"] +[0.039, "o", "e"] +[0.038, "o", "r"] +[0.039, "o", " "] +[0.042, "o", "w"] +[0.041, "o", "a"] +[0.043, "o", "s"] +[0.044, "o", " "] +[0.045, "o", "c"] +[0.038, "o", "r"] +[0.040, "o", "e"] +[0.046, "o", "a"] +[0.037, "o", "t"] +[0.038, "o", "e"] +[0.044, "o", "d"] +[0.047, "o", " "] +[0.046, "o", "b"] +[0.047, "o", "y"] +[0.039, "o", " "] +[0.039, "o", "m"] +[0.038, "o", "a"] +[0.039, "o", "r"] +[0.038, "o", "s"] +[0.045, "o", "'"] +[0.044, "o", "\r\n"] +[0.470, "o", "this container was created by mars\r\n"] +[0.056, "o", "\r\n"] +[1.409, "o", "$ d"] +[0.043, "o", "o"] +[0.045, "o", "c"] +[0.045, "o", "k"] +[0.039, "o", "e"] +[0.043, "o", "r"] +[0.047, "o", " "] +[0.046, "o", "r"] +[0.037, "o", "u"] +[0.039, "o", "n"] +[0.044, "o", " "] +[0.037, "o", "-"] +[0.046, "o", "-"] +[0.039, "o", "r"] +[0.046, "o", "m"] +[0.038, "o", " "] +[0.047, "o", "-"] +[0.047, "o", "-"] +[0.040, "o", "r"] +[0.039, "o", "u"] +[0.044, "o", "n"] +[0.046, "o", "t"] +[0.041, "o", "i"] +[0.046, "o", "m"] +[0.037, "o", "e"] +[0.047, "o", "="] +[0.042, "o", "m"] +[0.045, "o", "a"] +[0.045, "o", "r"] +[0.039, "o", "s"] +[0.046, "o", " "] +[0.038, "o", "-"] +[0.044, "o", "-"] +[0.045, "o", "m"] +[0.038, "o", "e"] +[0.042, "o", "m"] +[0.043, "o", "o"] +[0.036, "o", "r"] +[0.046, "o", "y"] +[0.037, "o", "="] +[0.043, "o", "6"] +[0.044, "o", "4"] +[0.046, "o", "m"] +[0.039, "o", " "] +[0.039, "o", "a"] +[0.046, "o", "l"] +[0.038, "o", "p"] +[0.046, "o", "i"] +[0.041, "o", "n"] +[0.041, "o", "e"] +[0.046, "o", ":"] +[0.042, "o", "3"] +[0.043, "o", "."] +[0.045, "o", "2"] +[0.043, "o", "0"] +[0.038, "o", " "] +[0.038, "o", "c"] +[0.046, "o", "a"] +[0.038, "o", "t"] +[0.046, "o", " "] +[0.046, "o", "/"] +[0.036, "o", "s"] +[0.045, "o", "y"] +[0.042, "o", "s"] +[0.041, "o", "/"] +[0.042, "o", "f"] +[0.037, "o", "s"] +[0.037, "o", "/"] +[0.039, "o", "c"] +[0.043, "o", "g"] +[0.040, "o", "r"] +[0.037, "o", "o"] +[0.040, "o", "u"] +[0.043, "o", "p"] +[0.044, "o", "/"] +[0.039, "o", "m"] +[0.042, "o", "e"] +[0.046, "o", "m"] +[0.045, "o", "o"] +[0.043, "o", "r"] +[0.040, "o", "y"] +[0.042, "o", "."] +[0.047, "o", "m"] +[0.044, "o", "a"] +[0.041, "o", "x"] +[0.042, "o", "\r\n"] +[0.497, "o", "67108864\r\n"] +[0.072, "o", "\r\n"] +[1.403, "o", "$ d"] +[0.044, "o", "o"] +[0.042, "o", "c"] +[0.038, "o", "k"] +[0.037, "o", "e"] +[0.038, "o", "r"] +[0.044, "o", " "] +[0.046, "o", "r"] +[0.037, "o", "u"] +[0.047, "o", "n"] +[0.041, "o", " "] +[0.040, "o", "-"] +[0.042, "o", "-"] +[0.041, "o", "r"] +[0.041, "o", "m"] +[0.040, "o", " "] +[0.039, "o", "-"] +[0.046, "o", "-"] +[0.039, "o", "r"] +[0.047, "o", "u"] +[0.044, "o", "n"] +[0.045, "o", "t"] +[0.041, "o", "i"] +[0.046, "o", "m"] +[0.038, "o", "e"] +[0.038, "o", "="] +[0.038, "o", "m"] +[0.046, "o", "a"] +[0.043, "o", "r"] +[0.041, "o", "s"] +[0.038, "o", " "] +[0.038, "o", "a"] +[0.039, "o", "l"] +[0.045, "o", "p"] +[0.043, "o", "i"] +[0.047, "o", "n"] +[0.037, "o", "e"] +[0.039, "o", ":"] +[0.039, "o", "3"] +[0.045, "o", "."] +[0.037, "o", "2"] +[0.046, "o", "0"] +[0.046, "o", " "] +[0.039, "o", "p"] +[0.038, "o", "s"] +[0.047, "o", " "] +[0.043, "o", "-"] +[0.046, "o", "o"] +[0.040, "o", " "] +[0.046, "o", "p"] +[0.040, "o", "i"] +[0.044, "o", "d"] +[0.038, "o", ","] +[0.043, "o", "c"] +[0.040, "o", "o"] +[0.039, "o", "m"] +[0.044, "o", "m"] +[0.045, "o", "\r\n"] +[0.494, "o", "PID COMMAND\r\n 1 ps\r\n"] +[0.080, "o", "\r\n"] +[1.408, "o", "$ d"] +[0.038, "o", "o"] +[0.043, "o", "c"] +[0.043, "o", "k"] +[0.044, "o", "e"] +[0.044, "o", "r"] +[0.047, "o", " "] +[0.040, "o", "r"] +[0.046, "o", "u"] +[0.037, "o", "n"] +[0.036, "o", " "] +[0.037, "o", "-"] +[0.046, "o", "-"] +[0.043, "o", "r"] +[0.040, "o", "m"] +[0.037, "o", " "] +[0.046, "o", "-"] +[0.047, "o", "-"] +[0.037, "o", "r"] +[0.045, "o", "u"] +[0.037, "o", "n"] +[0.047, "o", "t"] +[0.044, "o", "i"] +[0.038, "o", "m"] +[0.037, "o", "e"] +[0.044, "o", "="] +[0.043, "o", "m"] +[0.039, "o", "a"] +[0.037, "o", "r"] +[0.046, "o", "s"] +[0.045, "o", " "] +[0.039, "o", "a"] +[0.046, "o", "l"] +[0.039, "o", "p"] +[0.046, "o", "i"] +[0.039, "o", "n"] +[0.038, "o", "e"] +[0.044, "o", ":"] +[0.039, "o", "3"] +[0.046, "o", "."] +[0.042, "o", "2"] +[0.037, "o", "0"] +[0.047, "o", " "] +[0.038, "o", "r"] +[0.043, "o", "e"] +[0.046, "o", "a"] +[0.043, "o", "d"] +[0.046, "o", "l"] +[0.040, "o", "i"] +[0.046, "o", "n"] +[0.039, "o", "k"] +[0.047, "o", " "] +[0.046, "o", "/"] +[0.043, "o", "p"] +[0.042, "o", "r"] +[0.046, "o", "o"] +[0.047, "o", "c"] +[0.047, "o", "/"] +[0.043, "o", "s"] +[0.043, "o", "e"] +[0.045, "o", "l"] +[0.046, "o", "f"] +[0.046, "o", "/"] +[0.046, "o", "n"] +[0.037, "o", "s"] +[0.041, "o", "/"] +[0.039, "o", "p"] +[0.043, "o", "i"] +[0.039, "o", "d"] +[0.043, "o", "\r\n"] +[0.484, "o", "pid:[4026532481]\r\n"] +[0.077, "o", "\r\n"] +[1.404, "o", "$ r"] +[0.046, "o", "e"] +[0.038, "o", "a"] +[0.047, "o", "d"] +[0.044, "o", "l"] +[0.047, "o", "i"] +[0.047, "o", "n"] +[0.039, "o", "k"] +[0.046, "o", " "] +[0.038, "o", "/"] +[0.041, "o", "p"] +[0.047, "o", "r"] +[0.043, "o", "o"] +[0.044, "o", "c"] +[0.038, "o", "/"] +[0.041, "o", "s"] +[0.041, "o", "e"] +[0.041, "o", "l"] +[0.037, "o", "f"] +[0.037, "o", "/"] +[0.044, "o", "n"] +[0.046, "o", "s"] +[0.039, "o", "/"] +[0.037, "o", "p"] +[0.042, "o", "i"] +[0.039, "o", "d"] +[0.039, "o", "\r\n"] +[0.403, "o", "pid:[4026531836]\r\n\r\n"] +[1.399, "o", "$ d"] +[0.039, "o", "o"] +[0.046, "o", "c"] +[0.044, "o", "k"] +[0.047, "o", "e"] +[0.042, "o", "r"] +[0.038, "o", " "] +[0.040, "o", "r"] +[0.042, "o", "u"] +[0.037, "o", "n"] +[0.040, "o", " "] +[0.040, "o", "-"] +[0.037, "o", "-"] +[0.042, "o", "r"] +[0.041, "o", "m"] +[0.048, "o", " "] +[0.040, "o", "-"] +[0.042, "o", "-"] +[0.040, "o", "r"] +[0.047, "o", "u"] +[0.047, "o", "n"] +[0.044, "o", "t"] +[0.042, "o", "i"] +[0.040, "o", "m"] +[0.043, "o", "e"] +[0.037, "o", "="] +[0.046, "o", "m"] +[0.047, "o", "a"] +[0.039, "o", "r"] +[0.040, "o", "s"] +[0.046, "o", " "] +[0.047, "o", "a"] +[0.047, "o", "l"] +[0.044, "o", "p"] +[0.045, "o", "i"] +[0.038, "o", "n"] +[0.040, "o", "e"] +[0.046, "o", ":"] +[0.042, "o", "3"] +[0.045, "o", "."] +[0.039, "o", "2"] +[0.039, "o", "0"] +[0.041, "o", " "] +[0.037, "o", "c"] +[0.038, "o", "a"] +[0.044, "o", "t"] +[0.037, "o", " "] +[0.047, "o", "/"] +[0.040, "o", "p"] +[0.043, "o", "r"] +[0.040, "o", "o"] +[0.038, "o", "c"] +[0.037, "o", "/"] +[0.046, "o", "s"] +[0.039, "o", "e"] +[0.045, "o", "l"] +[0.046, "o", "f"] +[0.043, "o", "/"] +[0.038, "o", "s"] +[0.043, "o", "t"] +[0.044, "o", "a"] +[0.043, "o", "t"] +[0.045, "o", "u"] +[0.037, "o", "s"] +[0.039, "o", " "] +[0.044, "o", "|"] +[0.046, "o", " "] +[0.037, "o", "g"] +[0.044, "o", "r"] +[0.043, "o", "e"] +[0.047, "o", "p"] +[0.045, "o", " "] +[0.046, "o", "-"] +[0.044, "o", "E"] +[0.046, "o", " "] +[0.040, "o", "'"] +[0.046, "o", "C"] +[0.039, "o", "a"] +[0.045, "o", "p"] +[0.039, "o", "E"] +[0.046, "o", "f"] +[0.043, "o", "f"] +[0.039, "o", "|"] +[0.042, "o", "C"] +[0.038, "o", "a"] +[0.046, "o", "p"] +[0.042, "o", "B"] +[0.046, "o", "n"] +[0.042, "o", "d"] +[0.042, "o", "'"] +[0.045, "o", "\r\n"] +[0.504, "o", "CapEff:\t00000000a80425fb\r\nCapBnd:\t00000000a80425fb\r\n"] +[0.058, "o", "\r\n"] +[3.417, "x", "0"] diff --git a/site/demo.gif b/site/demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..cb842eee7debaf6aae9e2bcfdceabede40945a92 GIT binary patch literal 166298 zcmdp8g?{k@KYi&Au(Jq!0)0g_~ ze{?@e*iV{0%hKFolF6VUEC&8#-CxC)uUIx{o%;$(_eVBc4F8dF?|-}Z|ISZBM(5ts z*HUtNlCrwYj{(tz?N6n%Q}OC+VPDHc9tF^B%Pwd?wNIYU;(ek@r8Ge)p@i zBtN)0>t)DPqn#)7UW-TC<)171A?(!3L)S{*NeIGQ?o|93VPAal$-$qbqTBDkIs8jh z$K!WD*L{>$F*LPtblV(~Tu{||>A`!R>O2**dGq>*?kcQ4p}OS9%c@3W?3}K=Sh1q$ zaNCuz5buXZW2b!om^)=faZUSG_dxaT0pq65zsB-NEje;>s_@#7PUG>@uKzqgGHvg) zZM9E-kt)5SY47a$%+#l}?(~hFHw4;)JKj!My(9YQoYgup&p%4PXsz>QOQ@Y3`XZw- zP;!R82XAOrvxKyP(~*!avttn-HO6XPdoVPoHCBI0%D7OI+_psH?+#vey_CM&#nX-FAP1g;xcbDXan-Nxp4>flhhY5SHxJJhe}6P;e9haZ*J`$Y6ihhs z{^gza-4mlH)PDHk$<>-2(i7``{_)M@t4E_J9{u%~pMU!4<40*1U#7su#gD5M;v(b^ zYIX4!OyDgFkh8a06sY7JvM5N+vvpChmJe@nh+dS<;?RESA&bL|N?R9)531uWi7+{B zvm|oljgTc#W1h7xiJtH)&o#zEVCx!dtrhATXE*4CYrOpg@udkf?QNGP&UFr5n&jkp zV(Ct2AMs_$i=%9p?OK)|x-4a7>4{~#J?q4mr>;G1yF6{?6$tM;F< zpR($}1?TWp2d{XxuR3(YN5Zq}R@4;F>U-(oo`)ZmwtLn*tCLuL~Hj?xab_)ODvu-i%mxdd%~a>pCWUlw99wAw6w$Ahp zPj7u*_ffFzMWgieZ7+{&M{j%8Hn?Nk>(djZx4$_vefstvE-Z}R{`Si1j_vPm?2z_( ze=B;r&yV-^MEiVrw6DYGr)Ni{cl`XSWBQI?-rkJf@#}}@9Xme$`cb-`;(PhBjWZb1 zA@yt{FF#3-43@+k*w~M34!764#3>1CAf-qJO?H?{>?>hcwu**vN@kJgdS78^{KcDh z&t1DUZ=rj^zC(APyz07mv%Tw5<>AKK=9Aa&Jf6SUQ>%}O*GA#`twB2iqpRwU_dIyk zc%rNQ%;mJ~lBCqUoA;ia=)8Ef=Rr~V;qLoSr4{s@UA-nwn&mKO@sJUgGKziOJhvDP zo}i{RXr|-R+4GiJ+0Olbv8Sfq(C_BEO`hhYq%mO8vUM}Qb2Yb~rPFWtJQol5HQPMa zY#%UW;v~E8)^7ISCXC$b8y*t1tGufI*2CxVyRvs@6`wqNB`9KNLrX_ye%aZpJ^o<{ z0bz-X>PB+P{bZH;-hT8#Am4|$G<l;N6kd38prHd2No z&m>q0RJ`MKt_JD`o0?T^vg;IAQ5|RH;AJl>&v+|2zBMSLQI{pF;;pC9X2F(CNEza_ z#w|NDO4~AsH7SGRE1o!<$JWWp$dus74U)XyCpb!~f7G~wf)FNC?#VUP!?KHy#mQ+} zhcpjw5Xw?g0Y_YlY-|tcU79e4m*vMaT{v9#yN5HmqY?{tta~`}WWcEBS-ZCV@<{W< z&XVp!TUpxA)*H$EL9G#})%uKD(9qXtw7T|S5Y~C&2IySAYV*i(c5}a9K60#WR6<(U zrJH`iv4`th_Z_GO%4;?W38MfMV1Xx)1b{#fxB()gCr*=BH5@*A@-mN27L#X>HM1XQ zKHYeznSxq>?;T++r_W!$d9StOLQP}ap1gh0NqbN;fK^__;M(m+C=685*CmAdA;m+= z21I^QHYgYr30*LMS}I@E2{;DLq*~}w0p%za;7+OqaRjA8*9nS*RETJK{A(q^-Dl=I z#LQSJurb|<+qU7Vn|1NA3l_I! z!XxTdQydw&A?_ZQT%L?%KP^>XH)RcVE)_gof>QBh>KP4OwAoTxuylEUP4TSnr|0G~ z<#m-LEs`x$`lhWgHXOWjZ76R5Uz=|byJC=nV*O%yONO_YiLA~E3w<^5LzJ_X%fW^l zH+xR+?Q*_%{pP}+CwHIUe)`zm{11jEf+6+K7y>Jh5DeioVL6c2#{PQ(7W@yyKrp}o zjGz!Of;{jl2!P`T5I9XZ&8&ILOiZoy3`bf|oi}u()#ByrxA=sHMyFi6_3-$qbBAh= z1xF?qmQ};yKpuSY#@#279Igp~XlMX2tQQ=EB%llr2C}eWg6tO<5zq<5V4WZZngKoh z7~BJESTe{4UMK)KG5G$%gMmA2n6L$ifj*oV^n)!F0Gt?X!Glo=G*~DJI5DXT5Jn1v za7Jo_xH4!%Nf6*jslbxq$24%<$a-HdQ?^RI zS5IIX>~!9xJv()VD??c~o7$A?%#bvc=WxVjg7!MD);H?UlRC7g+TAU$X};(2xvfqf z?L{rePBuFeLO8v>amH7KR8%)WN(hakaQE5@Hi&8<2kwJ{2Rvw-kPje1K}bxCND!i> zB#eP5NDo;78yY5*1q?J}z=QY&fekc*H+To&LD!{q2Y&FcFQf;Mf1^G?{ZjxyFBl*I zqZ^BoK#YdK0Jgyc!TYa}01qG^Uinu@pdvs8T@>ip1P@dPAq1sCAYsi_IV|z(^w!b4 z0+Uy^4>_lBaa^;EUtEFN-OwVx`@*s(8HJA&;~bBaOgs^r#1FL^d{ zew{@M1DGmi!7D~K-Mv)WUOKHLsr=OASAC=GL}JibNNxF<89-;KckoCv&Ktt!7Vk$% zK^&YqoB*mqPtyrgarUSHRHw3r@ffpdsDtXGEoUxwqtx(^$SJB!+MSDPKpg`Xf(al3 zCIAGOKz7&(l^8ut}7G zB|sc-ib@3_q-43B z{sDoAK>>{Lh=@>TOl)juLSjN>a&%l=Qd&Bd9GS8^W=~#dW>iQ{e12(IAtOLsnaQC_ za`)AgR|ut+&XRk9g6p4u~XzwbMwZm^ix5L{Hz@#c1H@^=|6h;X-2G<0UN**R(XFmS>pe!s3kzl!l{oFQ%2yhb zw)kjw?%U8O-c4>#lD7??b=K={%83mv&s(-+cpm>L*n8Uo+X*`sPF0rG;IY;(^<)P5 zFr+jT*#dQmtOC8cG;X7;PC zQ_@sm%c;whPpUj#$6)caRHWrQth&y)_@!;X5xlNx#_c=q_x3-S+g*_Ubk6gN!dI{F z_AC&IF53W-0YD0*hc?Jm-_k*(2Mpi`>XQHp1_)rl1E>HhAP17yH3A+ zf8z(!{Lx-V$De(6?xzOt{*7jd!ww2h^eulFkd<&UWtPkMMfq2ZUKvR#9IJL4dGIN> zZdp;6)WnXK8x_CgHyr(8?ZoxIi#Dxrbsw+b_~ae^hZr4N^W#5dXAGH}B%Waf~<|)CC6F{)5J& znk;SRAovX&W=`f;loH|rG7_q0-IjpH)=m_rFeDBogJy?=@(qeXv4q8>V4glu(~KIq z(tZE@_1maf=mOg%bxoB08$oF`;U0e~A`}$W?oWk-YNT5KUb6p2@p3c2IRVZXJkQ_U zRGOVJyD)LhWF4-S1hv6>lL2>#riLd+U?DCYNNrO7&Xq@rS@wzFq>c=@+hRaE6Dcq% zCT?RvrXxe!S6*UxexWl%L4WWdBT1=!hb!#$beGTfRP3iF#~-HDHrJEE=L|AdvGBOy zbfd`K?N;|4(NtLS6*VzQ83Ex*P!C)H5Ev~4#F0ZuV!d!&Bs+Ly*`cFQ6;MD@um*yl zGblrWLV1t{^-!RI1(JdeXo4&TdmeA$fEG{MI=VSLn53$0ei1NZ)IEt&s6Rx7)90=M z9PC!$yGUWEd!z+aIamg^1aNd701nJSH=KX~jxGeo$;?3(G~gO$KvE&08>x^0P8tQl z3XG!;fO+qz@jK?dx#Cl(Ah3gU7!nQpzfT#r=$olg6gU~q;Y;g@oe~at%at+hqts79 zY@;+=USHj4l`CVgjHTol6^g|jVQoAt%2|BA-cFOrip@S+<*Ue% z(CtCV)8FvGynT$K?ESe1t5OfA9VxFkTEDM0 zt~se8xT54l!a;U1>r{uoO;CH#`3rlFHx}3 zAG)jG|CsT%@`Je3sDcF(g~AjL^HW>;G^KhFsuA?=X3 z7flFqB%JSmpOBQ_2@!rqNW{*lxRk`y;GGe>QsUEcLc`gt$dIh;+_Z>-qTrI4(wsdN zLHn5p_f;`6OKMZY#Ds-m4Oz3A63SZZi}&}=AZ@$Pg>+O0)?B%I;d;Q$?x1TY&NSW& ze9%>S_DKMP6U4m~_v-c0_j^AaeZKzKSux7xs1sY_)hq*}OpEzqTlx-fb(lq_ich#y z0vEf_aDjus=P^s7C7~IC7#KK$2~r8ln51}=CC(R~0+>i_gxAm}f+>=OK41YSBK-@d zgBAwgAzcie4)y`>fMw8rL6!u>CSX-)Rj?u2BS>F^O`z)$r+_gL?TIzen-BOJ+~Mq% z?*DmT_;v^R;=d_&@ONB7LWPWo$jDG;Y+PJeV$x13DkUa9K6y_@cuI6gT6$(dVs=h& zUP576a3qIfmjso@me&MS9ykcQ8O>f%XX1?!eSS#K?;FQfotB-G_R&IJRv(fiw zwK3O{P9|7QeeZO>#;t#!(nt-(Edg#rb8NzL%~BEqXJ!|h{oy=sev3AL%oRWb^8<;V z(`LCK3t%L`0D%4iRpI#vXi`mWU5Jz!7U<;!YWflknTcAqF1(F2bzZogHao-vZ#JGW(elkI$M#@etoaWOK zxNd`*pbuY1e4De++VvDmW3s$%sAITqBuj2GS1Vzb!VZRBGG{kCeV(+YrD9HA!89>S zOj1I>)OuZ+9fPN;ETgSdMIH8ZciY}Nzs1Sp)a;J7(iARrnPBXWIx-kgmtI#GRG((^M)2RzIgGN493qRn_gdUMPzqcq<6 zpBR%lmZz36xsy)xJ=@>ql7JC!ao2rJY+G94gYgzkmd?s%oGA>~x9@(AIy5QPdi!>1 zQyH1XUfb3&q*-#5BPC%fzJ2)ArKT41;$jBx42(@#HYRRudg?5Dkr7Vix1;>y`VuFC zMY;X#MFUOD;6{i{a5DUpkdB6#T4NavGlPv`Ap*9^L6h^s(cqsAOViRfA)yFMaHJsY zzKNe&A;y z@@kYWrJ$@iRNG*{D%aH-s+1&Sh$7Wbda^`c6HiKvM{yZ!&R}QBj4V_fQ)g~Tc5Xh^ zN47F1^T0kzov$JzBVicrQ(Jn75|=YJ5-7DgF7sG%!OivZ{7ddvoUhgN+`R5e>hDv> z)C4q!pLI-}IQkLPf@WBgHn*RFRA30`02D9*d4K}p00sx)U6!uJ{ub9J`u$DOSjjz! zx4$^S6fYs+~~Tytm>}pfK>(l0(L( z*=HYDsK*GJYhN$XUz6gXvC)FfWLbJJ$9gi9C<%_3p0Xe1A2`=zi#o-fEer@s4wK~R z%So%Obj@5oSy5A`uc1u*l;AD4s{OR$6EoI^Nok95H2U+8?Adv=gsaOl=%ZGcaDqA* z=2g`0vSE|srNuWEc7K0sS;^%Y7a#Oo`E7pF{r$njIEInPg9!)+wI%3To0) zLRP{OVGKkOSpgMfC0qeKfI-U&Zz6FEsDL*x2^atm`T*F2*1(VW6d(kja4S(1X#l_^ z005Q*0Kf@^z$Y-kfguZIJTT!XU3Uv!va%&pbMh1N3W~!wG53{~l~l%; zAKYIRez3f{Hn66mu5nxazNVHf$C#}r*S4MNbnoaoxA5%wOLH$?zBc9R^=`|XJ$EMD zzWZS0{fAEmJ%0M4|MQn`v|s=5UhUnFKP&$93#I$BgpF52y^t+WE~=afekznVV=@&? zuYO@8n6BwW01iPNn1uTSLihuK1U4WLAi>jMXuu4LLq{MAlfgy^C65*YdO<1P@sPzZ zdMDOI*iE5j!s1{BhNiQT9^z#0x&=YsSXwjq!B$(6yO#E0{8@t01sSY zt^-92maK-MVP6#W>0t((2jzgPasUrX;Wh*?v_rH&?38dnh0O&f0{9P*LlJ>t0FRE2 z+Cj;nIzT2u5N^akJB$uXty5>O=9L^k0L8uo-H}ucY6P`FI0xaVCS0YOS@%BhK%>Rg z8@v&lE9BR*gLSwnPfW=ng+^{ZQB9o-u*2nAYk77{w2oz%hHZtu6|>*0qWLE(a@%(fS<;qjTbXxi zx9Pe^*G^RCckD6q=WE*SFX+m)i8or%w!iRfzC$E8*)DPAxnjr4XC-ZOiZAYS`EKoA zwSy&>E0tTE7L2ACrw>l)$x53tFpLr54mM zUU*XuePVsBl{DvP)XaEo-!v&Z#MWWS>;Q*#x>K}Tt*7Eu>R|5+;wf%=!v3>!4%Rqz z_n*ZS%TRF3F!N$6j&$fWGOT9z{!H}`l^omIJ!r*J{C!>iyz zz3bd$#xX|ADYt8ZvfCUi<)!OKb$W0aNt)W4JQsg0rVhhbAX_$sr8LSz*FnHsZ#GFn zC^&7wqDuN+8CYE9;j)6-RH=k;zM0`)GyNn$zL>8uWnj<>_peW%3=$3LMH?`qkv_E@^vMY?cvbS5(NK zw7A}EbIxKJLuR*E4z=xrctJ+x1#kD#X1$q$)mH_QtUNrCrf))4XnSDxNs1Is(yZ>=K9&&@3%a7xg_$)g-gyVM;Hf| zPj~2H{um%1p(CT^wSvzsPJb#RH~P&y!Mc<_-R7^#SZ0pCOvfslhxP_B=k}Iv;BHwU zwq(;@zww?r2|B)drVMJFardTkO>^1Vn)W@IS$*5W} zsazFhbJrN5{Sf`Jg4x>C%qk12s?$@xq?S^p06#&Et9b~ZjffLxoqi@XGL{-=!kbt$&I?mOjUdpW3F-A z?4Dzch14DHU}J|ag{sMFY5{^-mdWR33R{KST6H|u_t6M^pJ}b8AN#z2h~c0vu1b!d zj#h@5vfA2~H;V*Rk^-+^d9utzW<@y1HrMQiitXS7uXY?6eb!9nE{~$jDYF6#jUi=r zw!&Cyq3^Zhr-LW=zeTYIB-gXUT$p}8cXI}2Sg7fh)!80f8>8f8#TE?x=x^bov#M;q zet}H}HNdc&!|XDc_{*-5$7&z$?pdF$Qs*EXXs8=6bJg|N)4NV@I9Tb-Eu?t7mnCko zuhN_KTSrt@pYrrxk--`Nz*f0`OkbHEH>#|G#p{W2z9&mrCA&=;oN~tR$guR+CHY4s zD`u`*Te)ksu+V&=m$jda4xg#YVw+_M$5g$^q}*7{S0okb;K27 zbmO;1+Aq{pOFvjQr!0Rs&&XkTkm9Lx3FGub=2kzNQy^$A3mL!4+(E}T_oKMJq(tKb z^D`gX*;5Zz>>OBRcE|3!nvweZIrCP1cl5)RUo{R&6op2v&;LH@!OVAuF9n8esBFLf z%r0=$4XJ&bcT`+|ney()u>OO+FSg%!d-z@Li^zT3?oYY-;mW(Z_ow#xylcPt>xXwo zDM6X9*wk*O`ulpGeVI`CWH)#0`v#e)vH*jrJ^b(AH>#X23mSE@N3ivMla8P~Wb)Ko za<^UAbq*~Ln?Jk^x&HCbtjjET&rp^b8e0HpX%x_S>0;G zt&feLdZ+I&)mD2Sljv;Yr5dxU+lJSfBrPntJFvK_-FeW^UN+%%@Y#}k zg34<4DRlwwkKLU(r9ydp77P*Vu*W5j0Fc@c0I_yO5=8Dp)QLsCP?qTip9(1dA~Bqk&ygdoHm@;DsN5b@LuPnmG#glneqs(P|lLF`2cLSjOO z!l;D&i**>nFETH}FYc|7f02BVf01etdy#pOc9BUD8xdNOPZ1%JTaj%MY>{V?Qjug4 zV3AA_MMc9Y(j~?nL{tP)T>PB_->-(MAQ})=`9{%C+rAqgkr)z88J@0M`|EN8^?#Pd?ADk^-*il#e)4Lb9 z+xJXATKCIO?_WQ@*>Uvf$Bz`(u-lidsQb%lpOh>+uxX@(-R=SQNKP=WihYE zTVbQyq99ez0_R`_AKtA%y}Zeb7>j4Oc7>|tZN3pU(C)nhi)F~}6K0ZP(8H22>oF5I zV0$fz5`SuF7CoU<#zI>Afs3!K^_YO{sIeyVoT-t9vQ+q>e(NcwS{cQRqkfKQ;0RQ7 zV&a_Ql+EN;hcNOY#Z_Z`CD|GjBTjmLeUqHNLkyGhI^N%z>f@EssBWdr z%4jI2nvFV34%|p7D813;$fh(6@A&0XAu)w!N(!A1^V?0@7f_>g7)@g4RWc1lVzx1q zVDbCV9BJJrWmWIhkVLFR{Ug?C%z4{B11FG2h%Ei8>S6&gAc>f;dSsgI2&vYE(d>u55w7r z2@?Z{LBW(T@4{(eo-ifyP!v-p-udC-C%Ojw9CvzX7BD(EEt&}N*xv2JFmrSkbQ7{# zz)}I@IQ9f+E^uZv8uStPEzB0J1PucF1Gp|44cY{j1ijA{u5^=TfffTFMgu~pK(B!b zlcx^wVXO+!dWajN0g(*>>=$hatpxrI6Gm4eJq1>bwt~ilMuz5sB>~wVz?O+8!?fYX zXgV-tYy#lt=sskT23saiT}T^(b)yr(qS1`V_Y>F_U@;(S&S+1>pJC=0^od1_ZUx}g z*rk0j@zZvV)<(vCy1^0OMw>&ABSSwr9p-*CJ9_T_|K7dv0o3m=e?!BXAX5-+JEKhjho#)w{G9Ld++{(hmRgVdHU@6iiHVFMy=KT-4SJl0xKW1;M=zJV~ zj z_d*yXUWFt`>=Qsy&w*?;a^=_!Xl^R2e_lc!F1batINd+z*&i6wK5|<0*`+P~29AR7uHZB<7+3;g1bGJm3xVIjFkncy#efIE9_VkgQ1>to z%)n$Ah6BNqUI-K&`_G$Ylzg z18xUv`Kzz-;B)jmOkx2-8*&Ch37%K|&6il@vpnP*_~k$QB^JCH2?G%dUiGJ6V&Tpg zr4Nf0og2lvMEi6ABPu#Nlo_9p5P?3O5|bL2n3w|IQ)ANi#QV!+m+TG7jSVSC5*C+c za}Je7kP?%qEG$0QF?45FPL1%qI9pnh zdyQ$nW!Kt{j%MY9hVy>-L_)5+IXEC<$73d zZno*;MR_5@2QDe5W!aX|TKSqQdEI(;{zg*e+d@tHOs%ZX`U=u72*PFnA_Eq%gN%)afi41SzzCWUXu=E*mq%PA7wouQM|(gU zpr1mCK7vBSfa4*he zZifpxpbd`513h##v?9=o_KCKE9!aPnEdh-O%)-af>VQAF9RA`HG4v#KUxaP?<1jQ} zv?##)1tb6d7xjNo_OHIq#fM+vT=tdyr;s5Go}~Ig@xAhpnK6FBObyD* zg~5^ItF|rXbU9Gs8p9o_mpa)Qi=~!tnEIw@XMJM8=40O6*9t~Eb5=5Awzy^6n~#(F z@n_ZjoySFHK1)#c`G;VbY4ENM2#Dea^Md}M1L9-ZM)U`R1Oey|YRIq%B!LMK0ERF@ zAOL)b{y-A?6WIYTa3iu4P9ZfwhT346Fbkgo)bt}G_#lZfKp5gU4| zg*Mk>Hk+J@b2uM&Y@PMK{1q81o4qGHc|IR-cz)BQeBURNMxFO4xtinLl6}Q5-r?x& z{Kb=fY}WPNAn*_HT`@P*JWzjolvzxlxOltp)se}g67_bbjo3qFX7$g>%b%CBekFOz z_9;*Y0}2f^xIbP60tccwC_v4F5u!GE0ZHo&96*XFIA8>_6Sctzks3M!6Iy3ck!gh? zFJdW(14mF;)UDud#IXLMo}8uRRbT;m6Jx`bn=nonvY?!B_VgJOeZDwpx|YZ>e{se{#;;Er1^j=!c)tD; zjN|oZ??JEhyYYzO++jd*1Do|6cs2qmp5J$ot;QDndKNQe2qm}dLOC^@sT`R6ez*n| zND0f{9=Q2(i{_@__J=kel&6ok-$wtNQUDM5}pu1g zk3;>U`iKrV@4u=((R2O#nl?UG2d2wt3{M#;BCLoen%N{GSYm(rY+W6w>$5U zn6ue?nEsdDSYLE(e)H_6hW6u*=6`%f+WD3J;7}15aVl7XlDz~r25?@S4Gsx=M^S6WhjZ{{ zViH)d!XAk8VkZE@#j7BA5_SUcUz{#{nE(yBM45&~kq&|0K%ewK#2R`Mg-PotJ5E|# z(&*6)X#M|QoUi@hzxOi%e_B-E@=Y{?pyf~A;R{L1ho_AXwkm*d(D3$d)p8vLAD>oP+m*;?tjWd%jn zQc4oc?K@U2Zg5%b<8iF1)#-Ti$+k5o=I;<8Ry*#(mg z4Z{~*3kee~3y6|f07}uX{*U7UW;p(T(x7Z5b64Hk+f{m>Rpe&1dxo#Vk3QD2&CT+P z?BprSUOG}qhgWvn74j71{5Zx63rEN{usglVCRr9!F)}(7S8Nkw%aX0zclh}Sez(oX zS2$x;pU99H7s-+Q#OSa%o9PSp4A1l*JUwqjL3aM6lA=;Gk>K*?D=sjwk-mfLWRm)k z>xrG9L&20G8YF`FNcSYvlQ>UiHiUPCbUK(LkE47=x1?l63Qr;~LXZ(<5a!~VZDW)gzSiznz8SWaXINQ(B-<6@lpB>}ut0l|hiK%bIC*>Ro z9c^*xycx;vZWT^xj>`_ss@!xSb$|Mid{+^t;4=Os$|A?Y>tPU>+)-wb3u>Sf;1&9l5iNFhx#3~$+!qn)72asumK{Ox&$bb=Wfn3r8fippd zo=D+Da4y0!AqDd%89M<802CcKMcoHr{%76i+dnRsrqaKk)a4MMY1Eo!sk-&1sw^e1 zjCn+*zv1Y9QhNBHMW95MLntY&SB^adq!UEkmRY#!w@8 zr8CPivvVnlK9jX;Jog-}q=pUG(AUvzi9J!#z~&7dI9T$mGrnx;c5}Tw|Calmn-A~b zee&6tW$$1ppRcdb7qHPmm&ZK467UO}h8)dp%9uZr*{1^Xx5Xh2B-g53oe!8Qw+z;}Q%SO&!e89)u3 z!3!D7z%Sg5zzYWiydW1pFbQ%=;{!){?+%oJzbM57VHgl7hWpS@W{>rt=a1lP^p#lwEaFSh7*v5aKnAJ^Nkm162cEuGj>z_n&I8jUwnO?D zmF0Xl)3R0YT*i!(3>q)3qfKJw)M3+TZjZu|i#`ItuZ z#$WW)8DI_OPz=C}wk#9|`mkti{6{z=37fm)Tie%eMxJCqw_8N*bJmhI75e?)P7Z3C zew*DDIlAh0eS;lWYfCE|Qu?fzS?+9w$^2cO?s|Pxc(QVtLU%4pM?;HK6yoHOb-=B- zYW|_w2M^a(?{7FF+Q9U{#E8$XY4CwL>_p9D8ZHCCBYF~0z}dRVICj@=#VZ*mf+wOIKp`Fl7lot;PP89y!DW@ zL(mKh0XHxY_$!(sww|~c0)nC#k@YPQL}VfkN?-z@1V>S-=of(`CV?biBkJ=fZZHxvDYT8cN% z+zL2%$ECWe*<1(qQj3kwt!_8VG+vM*MQ?lcp! znjPf(8&!1ba46nA6&012e!{Tm6pNI@8_kkxgu{ZR3g(4$H>cj)EcYsOUB96*CXvF! zh0+hs%ocrzF#IdvNLwK{Hpsh>A0`BCASZzar-|VO#2~h!U*L5TGAj}a<{gYVh!tcw zBH#i|P)qOyMgR+(fgwCF0I6UXtbixj4002&27KTca07Gz2gnHJKn;|DZ;%Z>fF=-u z&A?*-2Ph=%6@Y?ZpbttA%}4=&PV`&=3i|;u1XIEdTodI1Lqdgses~h86Z%@86b$?c zHA7HFrv}ZS3ST09K{HTB?Ey7XSH!MBHo7?>`)|nOmiKC?nX+N?GvZYjazSbZ%OlRDgI&WG+Tj%7lUGPB&5WZ z)u?sr{j8)dR!?Q|6jc@YvN68#3v8DsCt4`UWVmNp?_9%@wB)K3FWQ^U$SvbkiXC*S zvfLLOT35fgG0CpxSgi&3Xl&oMrE=EtAstj#t4G`R;4LNRd)D6R-hThk-AA{dJlyoS z;idEI86U zBnG;Wm%$ax5rC035iAmP0WDw#w7@Nh0<@w~!S%oufr?-ZcxY@0GXNF732ZGlI0QTSD@r}D6Zt%CZ zG6`An>64d?W^tJoaT>k>TB^!&f{mNKmpC)jWi2^+l9PkBI*ZL$^jMLoGCO%2i=S#8 z7vjiJ(30nJIU0dm;&U0i-jPhIGX`!|AJ)7nptFLQ3(Jb21oWRDg&srM5 zfI8?{IQi7<64Wo)K;b|d=mIcc^eAC6+~8DU2)HK0Ss@bR4gr_?qzz1-+WWJ*4s(}4 zBVB_LBu?YS0IqY7ojglk-GBicHJS|^3<$x^aN`P#Bm9ug3Ra2TflN3aX|w=hpc>d9U4PM!K?_ORWL!fIx}>{ixm#`5jJw+N(C4D`g7$Lk7llS+ce8rLeJM_ z!$ki%bCviZ%Qr+s+Op;POUGJo*qAWMR@K5tb6u!#kJS_z?f{kDlhO){=8B1zSyfb8 zIE(3raHg{?57#jIsq@$x19fnd96vuiKufWYp*&Z)gV|(%=J?X8u7X=j{T9_6x&6@T z@$Ea^_bOjLTm0f_{vr{V3HZuo00hVYEBNg%JotwxqxiuMD8Xr>(!dk+M!-S#K~2I4 z@R$XD0W5$5L;?!H5oADMkT=hHCE*Ey0wMt>^ttJ?7frO9iGG8ZuIM-98&kLg!ZY5C zz!dQA6jK(SaN$J(MtD3uMZ>`DKfc!>xS;HT3m&WC2fHxBqaTouzkw8D4wwL);0!Nj zVQMsvV3G7TR0}GEgm82(_z_4&VW4HVSr0g%A)?AuumeBxE_z z`|RQNBUBfvg$~;w8wEp(=da+yc=p?m?FTdQ+g|}uAu$ngQ2{X_aS;iDNkPex;!>uT z0v%z{V6Hm1Z(2H&F>b6le}u9LgW^aInItAZj4ItH<}V>Lu}Xm#q|KCTC{18VRk24> zlTCT1o#|17D6J~#;gqU{9`kx~0DqJ~sKS)(KgLRoIjPZKWjxzBPisB3mTAV`@DtNm zhhaWRm#Ji=@~UBA4^M()G^16v$suO>PZlaeU)m^(>8thI?>H({J&RvOl??G>Fv8~E z7=G+df`hz4>XY@qy6&=l(2<@Hq_=(jxj7=^*%HuZ|Cw)r65>@*0y01_NCo~t68Hmf z1R%H<&_Rm>TaX9BkVZ#jz(FJQqNm}YalX(VS^`0!40eGs*o7~GW^hcJ7_cTBgI7W) zXa<@z(BJ^9gK}U5xM^O&7L6?Jns|5!IDjwU0Kw!16yN~L;1Aq?0W=|oU=8NTs0O$R zJwTk!YrqJgld*!v9cTh3K#xKqIf$VD?Y)j$LVOFqK_L2bvy(pix!DKLKmFY7i$|Y+ zZnpK)&&`J7=Vo^V_)%gU7GKuFb4I`pKV=CeZ52rY6~&D4@l#W<waG|dBRadS$ zUO&9CyXVr4J9p>ansok=?GvlrB6bxFfX06Y5P+a_HI4}{m7o?hz_H>q!2}KnnHFs# zDj^M8f(DR55;zP17DZ%+3Bhk*HaKORFHRN#2C)S7jW|tW2`O>ZH!uQW1TVk}hyg1N z86XB^ppeYmgfqf1@f*S%$;`b=p|8jzh=0Kxd3%R8P232~0XW)_U|_T-eSsZJR1`SS zh8lxS5;qk^4TS{SNYWFBu*GBawQ^$AfsYiC1bQDgg+PhmJ|81wi1Hv|2PKfD4NPyTA(! zp`XH~z$mZ=$FL%B41ho?iR0iH6oOj74R8rby>^n21{(wY=*#$a4?vR_aiVP(HU^%0 zpW%I4KhQ7{FC-+1VniwdO&P@io=82wz+joAHPc8Tb)iD&HcgNM(C}u06sil>1)mn> z>FX>m*7EzlG9)zcv)`@@`0}^wl6!xJ6zeT1^4 zhB)g$ZYlHFQHDT6fi0u1c;xh9o#&$bJYOvdEVqKF-DMh1o5gFvW@Dx9<(ev2o(| z-!(fhPQN^Hr*-;cZe`q5?*}Wdc#J+Px}D4bTQ;A$7fui(3nWLR#i78-pdYRx5LvLL zCI^JgF^(I=066ks7=8m>fE0)XcAyg!0!`orTtF%yBhY|IK!Yd^Zh#bU0V^OFh=5=q z0)jy^$RkY+90Olq(fhvl_t%*~8K}W&z$GDrkWH8Xe_(>}htUlj09-%-%E>ne^czhC za6kYYk?~=N#AW{~4}E(t`xpM3V%2}JCHj;8N&b<$@SFZS)AuCriV8_h%g9g6$_~zr zFW46x!J)XtL3?A$4hK~1FJ`j>s+bt;4}|;IH&z|1X^D`@6{DI0XV&!1C^{i*_rFju z=QMSV(bmv?>dwA<4^HlV^7PvCM=xLHKNCuczsSAve!@dmH`Tz}n#=UeHn3@6a+w8z zvo^2j-n&6z;5_5uL;K`L{%X4ATx*Qt@z@YEJ%!MjGfsr>WitNwyt)xInSMqS7y&qR zI|Ngp30!~(-~dJ-BWYdeYLJL1fX;zSF0z4wbifMu07=3o+>dlnpa*t9B5pPiA3_Z%hKHa6zzzrnGJo$C|Ju(r z{ihyo{yqdo`}X!iCcC#6=9=uYFFe>b!g<%cr~9Ya`y@6q78z>otoAeS+3hTGwR6*` z2`zdrnciM&*YDUYoU=_zQdL5RVWI4>ae8ow{Tg*~X<0QvjO9v?q@9!3s3_UVDP&k= zZOX}=w1z*0E5Dc8m$<4TFTjo~R$b#;=UmTdY)b??qI;JfJX_pz>*?LsZ(hE0BB|>c7 zKv&Y|zStC!JVG{+~2}ek#5*LaY?^HB!C{;cIf( zY6eo7wjnHSZeKm6m|*8+v8hf~2i*@i9;%yFyQzA1&2Nv$KK%_*7V}FgzyL&nYETDl z1&%{Uo6XA^h8R7YhtXWp}I&Xh%dF5CCmJ08~Mnf=DzybZf%tqZi?< z>BEJ1bP|H7sAup8Zh#SR1Xv)Fun4?BAz=%E0xu8=>-p1W1vtPZF){+*7j25L0t!Wa zjRuAI3uq(P8~_x!po5V)i~PbSZ~?N2@Z_s4zzT2)I;5w8n|~p@e9N20fAZNOwPn3V z1jWPiF+4jImy_3)CC?6(6f6`~K0P~>vJ_MP^4X!f_@`%w8oxg~RFzQshtCcTz9Ix9 z01{|{^T#CuPysMt1Hyp{GM&&WKz$q_Ryi1eF#L+%BjEagz8R%&k?;u_##@ZE@OmUp z@|prS2&C&k5u{IOM7j>RqKN{iG*qG)>TAG&;$HzK>OP_dhk*~zxCDl-xT-9}fRna8-itdx+JY;e z?^?L0kG`BtzkwC=_wP{T828r^t59)N+q2lSD8lJvTZd=Y?9LtSXD^;vnIN+28T}P1 z#7u~dfDMEI)HtFdW*fKxm_b7l6$?!Wu@r`Y9Ex%#;ea>{rW70_SRx5PbQ;0%gHeYl zf{_~YD;ZwF3??W*0?z@o02R=J91@U0FMt8AU=`*AP)S%8^&cc2 zN{lhcxo;XfgPYAXoSR>`NP|@x?Nvr8@e~CD356)1gBF}3YjL)|F<-16KcI}?FpoYn zzssrf+@-TV=l6^L2^?k6GX1k*2wK@Ju$FdWR}&>c)dbh3Z} zGsMtn#R-16Nk@x;!vHy;2$qQ402?6DqKiI+q}MGVA8cdZ{+D(C*M=%?hS_g_$n1{j zX4(3)&9d7I@`ubGf7&dc__SFL|Fl`Arm`rW0Dn$XxIA!kFeNUZ=W*5 zAk{kCF`k=&KXR6n#t8Yocw?zoe8sAg1CArLtPT}b@2^=@?_piCxB1w*%(nK0ewEuh zyH1_;Kc9cG@!XZQ*IEzX>~=pbGWQGwG*do<2E^c!0rEpX(q?etIA7Efx(McI>|{}O zQ3+|dAApu%3!I^20hHdvU^JTSKj1779*aQ;jEyY>MkNzDp(43tp!I_zpi4nHVn#ra zXokN-jlX>6zGfS~fpuNE5kJ~Wt_V=%*zDnpS1k9!V|U|{yZ6qkj|of%1_U1jM!=e8 z8Z|)hMHvvs1fwVhfQWj4EutPoQ!ueeR0zQi1wi-)b|@IQA=xdF_hT5I2-*Kml=<|7 z1>{dGhWdZD>l1#t>r49W?^J~JuKLOk1y(W+<=%P1M z(!2IaCcpbukWesQgSwoXAq>%@TqMmd+4fjy$v8Q>^!PWFGIhACF4;`;ZE;|@*<6yP zgluNb+#xb1e*WyFyUso{#e6L&F>2)#iy>ymLKV2a7v#PBI~Hclo^wiWqmg^x;=N_w z)7Tdr+RGOna!w0->u}j(Ad^KFJD<{{6EQEa4d){E zO1cqB10?_}BvpelA(jN>P*Zff1>0bc^h=;iLr9kium^`AA5z)4iaAt1jZe30@45>N-s00xp3fCM>n=!KHU`QS8g6v!MTRiM-0c%dEQ z0x-kr0SSl>-asHRMqmK1gZi*LNDt&dCQK6K(2Dn3Wm-OIfq)RR7C1x>1B%cc{NOs5 zJSKzmWC{n#kY2Ry0RXT{03hm%atp?249K7b^+7U;{saJGs<;^@RtfgNIYh@z3Ox*b zE&8ASf}iMrD0Y@!9)I>Xn1X)$D_x0S{FN^MPk*MXw6qL=rt84oL)ED@xnW`)i9T$N zD*VQTteOg2P{|xspU&Wl>&j_KX`g6UmFcUjbmsg87NxnXjj0fDFWCHk07H_OA#B%s zQAxQ+wRKhoM_;e7c==!kKjxXA`P^UTo`1CHkrPvfZ)BMKLh4pV0AHS?a?qFUC#5O- zLE>S-&XPo9>FRN8lV#%_>+~-tguc#gP77S7RwO>Vply!mubRYv7L3??r!FK5B+w zN*G0*kSUFR<&%?}kwp~>C8Wj-8#OX>tf~%MlAE2*=*JdQF%*~16jM-^HBeLBo5L^}?JqN4 zHpzH!M>;>X57n2aIWTO*)#U5_6DW0o(FAHZ>wdhX>0`Eju=wjzy)iTS3cfFNXG=;C z=r=B=Q`*UwBhY{0=Ax4j$k3QyZ`Rp)(P*|{METkuV&!dPb;f56S6#cnZmQ^0*bQGL zEU1p5iNp{P19YGq;xX_7WWWmzjZAHzf%pNi17{!%Y#}xyQh^MdJLv|HACi+XjU-;A zYh)iX=>Svs91sMW#4iB^ybVBrQ9=Xw06Kt%00Cry4*U$bfLD+K;sFO)77_CU9{`9T zLee{V|3TwI`WTtz$@-F}1ZD|JK=#+ZMI4k~S-_hKD+Kp{XI~_Ci8if&Hep4w*ipz> z^~hMge;2HwN zSgQK`MdlmETlwQHmmXYgX|)P=Rvbs|S7d8(9U|>@I$!WCnYt268k>hayJRM0*d*96 zGA<8eD_g5%baq{6nO>Qi`0Bmftf>prR$fUBe4TLGZq)L_KNlLh4M?%N|59P4k<1?- ze+6p@8v0 zIbK1)SqMJ>7_5R}phcDsfSF(nfPpT!1+HWQ0I^7C1X?f#@W2?M8VrLp(c!MwJ`&Oh z&xAdoOTZ=&0&i3b{0oEwS~x7tA(~qm!>oz4eM?;0T zd55oX0YjOuAjYP`Ci{9s&SA*0?PNJg*2yVz6e;N`;#re&a_uE4iJ}s#(tVQ|s_6_t zrq52_!D3ZSRtzb=yk5cq%R^PRGU`EUq4n7jUDj?Z!rk%XWm{(U*xtUm{@!x8JFbtZ z>zDRkdGYF*gUD2P0vPrF>d7B}z$-F774(1`930-EB0u1X3<+J392!G2{LUx1!S|zh z?S)cDX2wHmPy+tI2P_OCwpth^ z%76rQR15h@Qg8-#(VxK<$^&C8%7d_rB7u#<(ZDW{Lbbp#K`m+qFp(FJ|1wP6BY!NO zPUw$`b;z6Dt#1)~cG;ZG)0QRr`DI=i;nT2q?T=HZO}u#jg=NkFQw4@a_PY7v0*^(M zE_(=1i$M*Sp4?{`<;N12u~6cK`s!2TcqTDxShAMJl!Udq2BjjYxM$&_EQ^5@+ggst zH&R%Z5pN-{7P?#N0x4!LbhG7_buhKz5Y*=H98PM1ZCdR0- zpfRyTjV2~hV+;(SAd0Bi8(1k~1A7T78eVqV_u2b-?)%&R z`5{|p9smC-=XqYMcDU;wf11#7A8ng-*U#)4Qw>tHq+?isXi_lL2o!jl$|l?iMC$p7Ijz7VE(a`N0)46x0W!!))|2@P z;NWs9+7JZYf198RXC?ZaUuIMNnN2mGZp!YGyRygX7AqPk3p%bXz5m9UJ7bnysyDl5 z%Y`|&HcdNJZ_(9nLl)c~XZs+o`MYoTj*oxWLhJ5kYj89uVi{OGhu{MJwZX)Yt8dgT(*s0Js1P;2A$2RX zNg)E7P=(T=2cDQk0gETI(h=W9sH z{P|i&`RlbMlb5B;&erlx;8odcC#=*IW^EX+ajsmgRuu=!%`|=b2rr%gYVDA1i5izs zy<1RCzrFjahSYWq{P^f6Gu^|^YMl}>; zs;w0o8nLEtW?+BIukPC3H#WD>`Sx$vR9~%6eu}lBXia8mQOjiicRI|sY`eHg&n@-x ztGhpctbM2Y&u{NPdVl3cvukvIxZJsX+;kAY9v__(LE0Udp-LtrNbQTufE=(9HHAjxpt{ADEO0$PX#7n3h?gS|?Z%0G;Ov|2(*wgoc*OcbGFhBTy| zg)}q*Z0c}H<*h6UmS5BU)%lY7Q~|59I`^nXpYYfebbQ4rXy(Hy=*+xH2^Lyi0_%FW zr7#NJxOvO=JxL$z++^CK-FsM>6zCP^>|W;isb-yMeEJte8_Thl2yu`ojEJ8>A2A0&b+`qj zlpzEhZzIT134>q@TtXtqz%PjvB<1}F_~0u<-h2>69i%>jg#vXP1>jIX#jZASuqJ&R z9tja}Cof|KJ#`ROX1C=d4=QaK5e(HSfJ~vN=jDF&zti9Sy}NAYb9X*)ZuX&IKAdX) zq2Q&OoZQ?M6+UpDmA7NtqYs?#-?Ss|fcl}}y@ytw{N+Qzg{O0_Jp91RRCB6vX5;YG%j;6ZGFSE5`o1Ma0W(5$F*^1gn}|i z##~{*nvnv2ifLl6$cx9dsETZjT)-Lh&=87&L`pMCKU|EWkCcg@A|0Az0LOx9K&5^} zYKRP%M4*^HB12MY{{a5x$iq9uW?IGqazBX~9b>y_2PeC}^lBo)eA^A`N?`N40MKL4rzBNpda7Yc{&b%(&(Y zjZX!4*kA8jy0v57D??5XFV$F9PknCksJHT7oZhQOv&oIWsurEs&31781CiCwZ1g_& zobTcc=k{)m_O*zMTc>}^cX({y4lVT2J->_`emyg&T8p{HM%})A zy>#bbyHpQlcdSpSmCKreacl1PO>=+54^v@2*?_nYWvB4?9Jd zX))g2%E~(Pll$>XhvY6(TkBFru9!b;+jsh&{Zi}el^)$I8>0jJH;ic&-A*$+L2+?& zj`khWRA(@}n~}BGKGf@q&UspK;7;proht_=c?5@gD(<7wqn&%Uh}DfxwvT){$x|EG zT5KV=6^@Hd4Ar&L*dBQ)c==SKIR)~-Ry zlC-AZ4_ujQ*BbQpk-1UJ4&RJ% ziJiayRK9Y>Msa_EcO1?Mnl+U?oV{!7l~)YIEtEONbxy1G%eLgU$gf#AB)Zrqb!GHP z|B)|m()%@;?O4gH*kBb`CnMf}ve#0ht^P<*k);y(Ai8pzP5SsiZBtF0-An0bUR$n> zOwG+5U_J7MuAO}gjR8A+isS4%gm>2HoU(?`kFMeShLfAau^wxqJa11-_Xz%WO+w#( z{o5bguM{?IK5D%8%9ToB^O5mN_j;ukE>3PkoDSCcWJt+gzxRC~?6bM+Q5eGh>IEAoDf6B0MSK4++$l&K8SAvrCG>t&k)jJW8kFHbXKIw5O%B~Z z-s#OdwfAK?tnYf*?WCO&Sbv))TGyy)D1ZM&^WW&>@sz{c(M{b-EJKvUzHx_AYn6O^ zxN&6RnHIHTcO|$k92mDRDr-vb?{Dg(YBst$^Z5lOw+(A|#C*1N-e+}AXbTs{I6vQI zc>3win}<4ijHuLNw{4uVwy60}SGT`&;r);gwobSGuGwe@i|?YMyS7|=r_q4qpyGXA zt(q2Ay0CiO>+CO@7;xF?(vHMXWvEA~-;c2&#^c_JmKMVoC{>PH2X*V)ZIQAo%3)Nx zF5=3#@7~<^)3*9M6OF@zeCN;8YGRCu^J9WW5B&6Usk{3a?<v!*54zORmuhEIAlRIqdU*$(bYo%VMWtt&z(TU|wQB|`n z`ge;q*qg@dVl=@QZG*pa@ov>AB7Kx$#1;2~hUtw0je6yz?e!}IoSNL9)UbA3g1ztk zqy|l^)NzP326a4<=yydkH79j(?N^LG2|bIHr@QUawL=I1K33Qq5 zl;WXLGJn=+x?Kvq-u`;y(Vm9}b^T&)&3)GzOwD$(K3K5ufOU4`Qz_{qW=?PFxc+)n zi>dw{*Mvo6os9Fp(tJ_E4cn*D{5b?dnmZI9=6ZIRpcP;S?a6OZSQ`6@5^ z>YRZ^ZBMK_-(}_a+Ic-b-Qr$2Gd+L!;)uG5`iQEBqJ}C-3Mi?SD^4&+4d~)E# z&f`U=GS7T^KKuB&?Uyd4U%ilb{q)WP)2-RJ?%tUCVD?v;-+b}wJE|5dP9ZHvw(gu& zoa$cJXIpsZC9UFp!^ZiZsukK|TKHFU?9$gQ+c=}<%Ml4x3tp`~x51m*-8luAC;M^nW5+>qR^1yy#@!UeACz20R1+FRAT=V*`SzCgc~ zxqf(?b6b+Ob{+Q8mLYei?U~p0Uhf^_c0X`;I(fTvS1-qq!?~kI9N(L^Bs%Tv$U0Y- z&aCBmXl0}D>xZ9yCgE_^F(VHhUHWj09*A4?$nmCiRZP*M3 zgPq_s_yjJ3H!!%xCy+RO3lj-BAfhLs8&TzD-hN2GL4(1kS9tHMZZ73ZDSTIF?WQ7{ zIy@3(V|8>R(r22RDE5hQ;*_`})+oM+O=5xckXR#4qnIC_htG-0F%`w$Fha3FOcaxo z&QM$prxZ)W&(wyH#t$=-#!r09yx&vp3YStX>hQ6%xRkVc($T4}dhjaM*nZ2d=;-L> zaH9%+n%bdpy!JoYbspPXY7?5}RFp7YR@w(YJKm$h2D&2qvX%B#hdV!7X`lL(`AYlm zT|zpiwQN%5>D+o3n=fxZEBcAer4t#@JltG*U_(9wn#=nawA;Aq+}2UdXAW#!ec=P< zGyd&2t+~j2rdscVo66=hA?+5nFPqQIuKU{CzL^CBJ`S=>_J4ZJo2Ng{Za%%rP@fvN zKF)nHb=Z4fzZu^qGira$4qI0aJ-Z;Rj#uXJZ|Lh4lC1Q)uC;14P+Xp#zS6U2 zv_3S_LSxl1vX_O&{YaCw+kB;H+z;{Yil$QatPdSp*(E#KSsAYAw4d}+ijA(}kwK%~ z#~nZARAWe7l+Hfxofubb>u@LCCzVTf8ucyKTpCtm%Z*b*16u?}N4Ia78KN|`xe}5d z{am-u7e8><#OZBDI0Y-g>ER`omYLa$XS_Jr-RSa6NvX!UjxqLfluKy(?ojKF*P9y} zOv<#dtZrBJrMcY(D_R@nMtpPYH~mA4-;LU5b;Y9A@WA+S)m`QufBnwr#O2Goj<}Vz zVvfn@)@w`N{xT=$`K-ASt@746@6X7aysJm<%9tZQXEHZE=Wcf2qK1;9lsy}r&?=_A ztyAE&yI)ADgOTBAa!Q4Fh)Yr(VF4(dAq{gE1}(TGwnE*-zzHkC>~K=mP;e8h1k1xj z@Ce2;_#LK+yb(6K#o90|Rs|tlhASwR?-k(D%v-Tw+>@_IVP|+5t}Qb&OkBohSe}@; zS_|V7$IT^tL#r|+` z)d5xe`&IA5=sA+ZpsD?EK;~N{4;+xm(~~AB`G8^%E2PY$Y$G?QCPnBf}~+dEkj&)4Vqq zEPB}`)ZMYyu<712M^yK#ojxqV$J*E0W1>`?6EHxW=NQbDnBOjATMCvPKTcGv+r5~VOfqNo?R>8vP5 zkP5OvLg*8YQ3bhL-Z^kgOU4%HAr<){3^^X-_zn1w`WdqgnVj>WNvW!^3^YkSg?h0J zM2H)zqI18G`WflX1OR3Enz(})WxT8C2UJ%fRW)rh#WDL z9Yd9$`N*V~;)rKJsK~sIu=@7VQQ!E-j{1@wKk8FzWaZ8(KkUoSD@d@NldqY-#?-X1 za6{sz&CAwkmBu?h*qFa%xhdzP+@gd@R)%orAiv!fTHCM?7vDYFoRTA^X0tvqY4p|H z90DA@&uYDFxOsPF%#9nG*0Tp@#3flqovY^*?Ai9*GtG4lLyh5?yLR>a*#GE6LqE4Y z(RQy4>N)GC$uLFP5?`EsYyRp%`?Qh9+F8bUoztECv-KaiHc^hZ&2Al^8GksnX|Jz~ zLsxcRF{xct{mOgm4$jV5-L1!ri3e`xI0jiUZ2lt+IHRIQ2!qiY}?(w`L8qnA1(=gbUQPea6f)KlfNxFR}wS}LeMmR zLl6-bQbtl30Kp(x0sR;oS#PBa>}nbFa9AAFTtGT?i~I>D8)Ij4X`1O zI0r?DgztaA9z*X?vpt4E=6eh)B{&2;++*mGp!X}=W9WHF6ZmM4p?1QvUJv&eR<^LW zY^anLX>BUI)ydcsvABh`Pm4+S?;Fea7>@q6J%-8Z9z&-OjgLNx(;Uhk|9lq(6rbk? z0dw4-fcS$3!RG)~;tzv@0PzPLDP}Sj~AD7R&z2TdoJqoVAc(=pCZAMmp+aWP2esI@`t;dIsn-VoOWO~LkGlOT(d1{`rU}62t#Y?I#8?mB6 zPRF1}&cjNr-&$ixyx{=VLy5#2RtUBlX+SaO21JOu1RF#o(u5gG)G(XJSPif^6~KWJ z7H4i*m>c8PKeI06&#y6z{d}OYe2w8-;latW#_*%!$fm;yV#*zUKN1@Iy&w=3Z`cNG;aRnrKU`yoc7PxCnM+T!g8+X^ zeWE+jpn1jjB*uSjjiK)EuQ3ezOKS{e!1Sm?;76riq}r2HJ$`9MEjTYf51M8YY;Mh5 zaN_Pc)+|23r70W&^QBUhOXYY2w#4s>1>?*7x4^kIl!3%NO_8I>MZ^xdzzNYL==}1`0SKZb zD>9YDh|nM=!m4&AAR)X#8ZbZ$ya9vorpj8f77UQMBx?zNDhY5XF#LYjqQC@85S6lk zduZgV|8hM3`Wiz|+h5igHqJ7*IY*VRG4ziAC)OC2`|_7haKTJK1j<>F6#bO-Vkc05 zDHAk8MEoi4rKXo^o;sc)p4y#mTAdis-6LP~Q5L*_9*!?ABFLy-0)wC@1OXsC3P+F# zn7}ABiH{3YVl7|=p)du!RGV;G0V~yD1S@l!k$MQj`wuepU$n-sVlE+2+%_kl5*z|W zHH*@S2AP1F9g!gdl5DVb7$Il^h(rlShz!9bCeXnT4;^s9aD|gi21s(rf+JDpG;&{q zp(HbYhW8J5-28GgoLe4pjTH}KxJgDK$nXM^jD>&{vebkJ$ST4RjTr$lFaj6kN(z+v z8D!LkRDFa6%R&n6Cqzp|1VEYaLUaZ9`NvD;zp}>AuSfYB!?1m($JQ8DsoW^UzU+fi zzpOC~uf`ffL)jWbD@&!mU9GBZ>pom#Si>>2u~NtSmou7D0pG9UAYj5U3rqxOVOfxYXmExX;Du%QmF!01!vTR8 za=AJVypsFih#Tgh1pekAgCs0N69-X%2|FKEGMgK;m*28YYfN7 zyVUUMsje{`9`$gIVQywtQL3|po4UrZa^wglYNFGhU1L~Y)>N^@?OSLQ{A@h4w0cT8S zc}??AJ*BaD_D^lT-(uk!6t?U0k)gpKe%pLZhG#(btfn5zDh=4XrFeW{Kv(UfSyV8Q zeS8@qF_nOlgNP=-JnP6P?4ornttF4l#vajh(!KB6g~gfs-0F zp!%l*_vA%6wV9FTSDz(sfq#29-2HJ=`c@tNTE~8$nCfr+vEzZ9yT+%-uHIm!^>Ftz zSaUgh#Cxqq$2r+*T^zKoDXEj**LvA&9Thv9nX{gCZsiuISnuUovN`Q#C~D_5;q z`^uc0y!_R}t8I=h*tX$=w|8xMHGBPzO>0NL+vB4nvBN*w-}`94V?X;1EVgAzVlnt)pN#f(Y>dXd>q56*>qkK#BT=DFF&V@DETzpcFf# z2IPp~h?|%>;Q~pu_JuxN2fa!*giwJFLM11vh^h7fn0NzN;Rjd_9KmLVG^YXrt!lD^ z@qZ+P{2>|@o@JU3OZ1B#eUe~v`6mgEwMh(K)_(94-@>$YoHBE8sEwU2pi@ZgHiaK) zylQ*8_yksaTkCD5_4UyD4GXhx?oh}1oyh81TgA<3kX=vPcN9Z8GFeKcF3VQr1qZSt+sx1|>~?$F+`@i~dW3v)<6_$fC7%+f+8ZW}yuTaj5JyR6APZRMp$kF5E{GZ3_0UV(*-i zY8BMlV3VPkJlYRUwbi%Qg)K2vTJh#c4OTN_;<{0VR-u`TH$R)=Sm+z!Y3Ua3xOz+T z`Gp#tb+tej_rtrhkG?(R?CXPz%+<8>gHY)9RoK*K}eDnnH}WK$a|r-vgCc+z zkf0ju;S=(~8(&h{7RE3!F-9;m=N#m)HK9(J#}%avks9RxKZBBFrPHYh^?Sp|z1iyH z7wgU0-mG9({<>R9rad1H>#j6deEe#I#>zJvtV6AjYP^oE9pDtyI@nKR`HJDSAp^$Q zYP@YKjqLy08ya^Hja_ByjLxaE^fsOWR;`kIPn5WZ z5q}{|EQ)-^-5hB+xY|Q06IQ)Rc#WoVe@E^CQ)m)BF6nULh{xD-GIPNeG~~J<#K9M6 z3&;SDb-@=bgE>gT7qAQ90-690YmkTt#8Y7wLZx(uN)Qvi0Ke?YNBQSC)Wj=%i5j3) z+!V^7RjOffuiO_$C0MNBCajq&=C`=h7yeGNvdB#??i#5}_uQX(+g;Zz?XW4T@%+i- zTMe-vxV1xINT-(e&bqPVGzQBqE&W|=Ck*MWX;iCnLu<>hcj|g8)7~5Ep*$7tYvnpg zscBf6mEz{q+@`*!s=HOoHA6Mlb(&XF^woQNrPM2kwsCl;)wYZpZq@93Tq6%}P2R2v zc61N2e>JA0TaW0T)305>xj5s_&6N8+AN08U)#T5Int@biKW!hgA7CIx;89jF*Nu_} z7b;Zm5o3@{!cU6giGmmaJ^_bB85H4Ah=NIYgD7Bw0kAB)Cf4FP002%HgFui22B3um zn1Nf&0~jPXVsfwt075dr2niq!4AQFz+pr1`umt23Vgjl;9#y!rqijBSEvUA0eoIOr*Y3MUj^7p0drQN$ zi(0-=U>H|ee59oAz!3Kt)koG@wm;n~?BRD#$_pa4j#v1ADpBKCMLuX5ocQVJkx(Up z0~HL1=u7T`1Z)b2!CRnfFI0YOfs$X0iY!r8!h}HKjsxQm66reUvQdG{sC2! zHhn6W!)GK-nw>Fi-pmCV6+WP9%FeN$s!PmEUzNW`!{<&46E>{ev~0_^9qTvjE_U~- zTGP%`ztyz;gDD>+bljh&@plQa39RAviE?~j-kAlN-l12o7oEJdD8Rakt*P3*4?oX4 z{l(dOnTCsjaTB%wTB$MU)2C@X{oTAr#SKq4xdxX^9=y+fXQIYAuqeBsfq~+W4c=%! zGPB5*XENz-$NKKpYOFl=ztkpscF6dqowA-=R_8|GqU1QA_bgMxS1fBk;it2M+-_#Y znm;E>g}leVGcK!=@poz-_`}hNJ^7Cy;Z}qn@-P|*kN{JY-~xmMJA*dvopbGs#mHC& zj;8KCX0pq;AN?Obc9!RPXUf0z23rEUOuGRKs_;0Vhjp-qdq4zqP=jw_3(A2W4PZBr zDs~28@QMtuO9(?P5C&f4MF^v{6b;A(r~+!hDid*lLmQxmJXG3{lQWW(`2bjSe}tnz^BF&Y2USl+mkkE=C9pR ztQ759zGsKV!p1R_*XcWz;Hj%kTes~mJgDfceGGob@=q$K&z`fevz_D~a#h)UYOB|x zh+C-^o|AnQ@8JvDP3Y8TxhBwOsNxirxvH;at@@fhEB%%@23#g`BxmkYGjm48QA1g&T>hK`??1$ z$DN*((eJ!4GK&z1XpEs7|n94=D+LXh+hvCq={CnbJiqE^@PR*^u9P$HJzcaz3 zgJpG%{Vs5=>FY5Gq%kzC-+IQ2X>6<@z*{6ox>y|S$yjO11IW?AL%?PbF zr=Gjv(cF9oWIg_Jg;+rr;E)WN8uNP)a1KF13?l(Cq6b0P44)W>EU>~ncqT#si5>}% z#~{zLA$%YZjJ@wwr zCx1|+v5407cei(GvG>D4?fI_VNH-_1XD83vFmK@T1DyhU+2!^6JC=pE;z=7UvCNy(3*Z482tldDg)QCW z1WFR90}L4s5O)lNrOD_R>iFKgROwVh9IKGKSgcHbXF&n}p-KbCp=THaRIF^71hp-3m0>2QBfx(^>Sx_g>p+F8q)hllxC)f*k zLLK}=tWc+pzGQbjdXaptZV*Q!$O@UjGq4G1NJfPX?Z_Y&&Jh|q!i-VnA5v$v;t#%d zuL;!E(s`Q7K6$UPsvcx*s1c%Bq2%P+TbkSyyMh%PH2TUKr$Ls3cFZrT8LDxNa93;! zH@GUcm8y6f6zgL-nwl=*UK-n@7Z&cU=HaUe+jny|3lW1&RkuHwzS23sp+?it0$p{Z zl{V65VB}Y})GSkd2cMpGGiXmI*Gjns*(3a0y^{0r0aN*)>kB;T@n!TNfc@~wgqZW& z@WT^c3T}jp%co^5AdB$xkT4J^;U%^pMs_6lK!-(v7zltB_z)T4g%l;%Jmi<=H|D41 z7bSo)jwi?95FEX5Fh_PFuTaXEXAZUXq-cW|00CP-26ixqargo&sD~*4gm<6@eA!J8 zn1ByWKnI&RE~JB!3Og2yo5DL}fg!yqeg^wsg-~P;Crlv)uo5*0R!9dALld${T=+s^ z=mP_TUr>T0w1R62P58HnMr=%f=AkF;eYAi#-$lMR-uSU)^cE$9uK2Vax;gcJ+?cVo zu7A_>y$*WTn zW(Vt?^mb!HE7y#u)acBc=Z*|WGBmbu8{=x>T&JGHX9b^6E7F8k&NSB3edOi)pp`>z zlATp!o#FGz#UaxpYz8Hd=xFxd`e%4+{#bRzk4E}OUc{ZC0||kaUxtf7+!~^0g-I|Y z(2z#N;SH?;0bbKc!DeJ!7!A90T99lWP+mP9}Enb0Rt>S8a6;3JV08KCy+os zsPils+F=!IPY-~n~quEG|2_)+=C zEGgfyD2ReyVTmye6#bzs{pw+%e%?dgTK9|nsDBm9l7aQwiH0 zk8`K@4V&h>XTgR2BV*f-KeMylF5|XWZ9f~{e$3cb!g?+-^4|M5HC6^3-b3jY74e`xjnqp?roWAp2Tit}rEYn`(uWl8-=4GZQr zkDqI&_-|ljy`|VRw{D|J8<#sMhxV*VtE71CSHf&`wr-|fyGu5w)vP_mQCqpOm3NSG zzVzZG-)4SOLY}ft`mA`=mdW)RrYT0R*vrpaTAWL?9`m(>+Y(1ZO`WbNWY0vcOZ&p- zPe!_jcw07bzID;Kr)5t+>x(h3#3{)ge1d&T;%WZkhO!rYSt>bukN^LIjCfU>~>xHi0iN2*)N+6sEwu zhI)V@AijVdpe4EIAzol^1Z9cimkl^LGiqUsh+4Snfj&u9$P!JWIvE}@X_kH)w<0lN z5Nf3??tppW3#10I191Tw<0_k2M$)5~>_CUQ9oc z=a8YjpPYVqZ-j$~jndsob7f19l=1o9t~5{5Xzf~lS$9TO_r;b`L(={yRKYh{^q|L3_kum7lN=#x@!;vLs)}B5Q8I@ zUxE@5Q^Q4^B@Ib?LvWrgUbqX4K!1m-x? zae=v--GpV7AvmK0N>^F;jSfg{a^iw$U>VPcWuOzB5d=h&t(XXq%LHM_lF_0%)jU2?>r}xT6x|7?lUYq1l#s1cv z1D_Q&%=&)(WMBU@eg13LZ=I{v(#fv9A$(xzc9Xtu?W38o&o_V9H2dzvIvZ-PM zq}*;3QiRqDumCUi_gke9v;q;R3dj(I6#^HsKqvqUeV{5Md=)eh19?FV@MY)(Whg*E zqZ$UZCn;kH3TS_O9P~SgJ^9~!bns_-Y;)qIS!vVe&X_-8)}%Rer!QEVvS?z~V(qeJ zE3%Us)Ski;jRmVTNx{~>1-TnGu1c!c#8kMxC}U#fMh189r#B}!ScmN`?D^4tN5w^F zSu^mcsaBnY4^Qt8QS`G-J|0fj3vZ@rDp@p)46s?P)NgFa%DZ0GXyI1P;oHEV{M}kt z?M>%;BdcnsxE+1fH@x2P;4HoxZv5#?h<}GyMDAI&!m15A%b+UXb_r&QAIyE*Zp)Plq$e z12qyF#DEA05_=*_oRB{c$H-=7ZB51kdSV$T&{UD}-~b0x8O60=ks&h)5J!R=;ea$q z?8Q&8BQhlEjufXB%zTpo|KTwT6)e3GZxYX3yg|tdYV>?41d~JnGtiMym#YSRiHt1dKW50t*vFxsWFp<|v|YAi~2vIp#|Q5|SvK zpdZ!&OIXK-Rj-9$lt8`*IC@AKXQ2~lhAMm%Jpi{PepMCFgD_}Z(G10y03`h$jb+)` z;g=2UQk}x6$Uxj$tx>^U3>y_u{gS8A38;xwp!UttiRPIeTP4{8pQ;~3A`(Iss0h^| zB=9Adqdi<4JG8p5QkatRSkg_dm~^urCf(U`k7kD4qnW@(nh%N-CRr#U9ub}{rrP&|{DGd`pRNS2d1N;?l8`r8nmZwf=PoAE2-ZxFLb4#$dQtsZnpLi;1TU6$( z*qwn|{ny=ZU+?5pG)$8|G-6a_&;VEWstF;75Rn2=*Z^#_!LM&p3la70yXG)0J;T@SLseEZHjz_#sW~SX2O_U=N%y zk2=JfkpRTvwx|O|03^`L1cVLP849KH`71z0iHHSI(I%846QLBVeKKkP`?co( z{x{8QcXJa+e#`_WR5XFChbAyfOkkpz!1!_#FmW|=vXySDg`EkfLWxMclC+|GqHQr2keDJ4czlE)9bqO#Mo5B?1!ap!}Sfe@%L zKpoA(HU)&Vf@lpbgFTjl1z`d>4<>^bkqYr590>=&k?X7tGqurZA(%L#$+lAPzU!G_iny@Xfdu$fLP$D50wJU@!9xlp z5QPxA7f_Z3eqjUW2L^<|$44L#bjgop)zRrvz(5^jB?KaD{29BpI{UDaF{!%{r%s+e zzI+#=He-JB%t@2yPFs+%D09N%^rg#|Yi8%n%bT3PDr?QUg8bDvn775bO%IOV-NDh;Ke2NDpm+~6xyQ1D2AVf;2LbN! znW>b{1XYXxZz6I8j35CYQ770!7;JIiPL3yRYRF+rDrxYdm{tpDiK4`hXu%3(fEP%? zF>Il5ypqlgy96>JUg{^v26{XT-vn{chjQQsYq^xdm;y|pO%Mk-D2F+K19X}{m;*Ra z17)BWpOt$law!GQR1FAfD8ZaFRDlhtkf9LaOmysA&EZ0Rh=AD$7rm)TiY0BYW>@foNQ^`T32~lmF&^ED_gBv_UwYmR`!dR zc2yEL4|ACu7!jcN3v=1DE_R_tXIm}Q%k6OUEyG_c>U?ImU<_3zYO`Vfc7EaBRF-ps|5e*Xjk`@s^J`eUZ)sd>OZ}9xpcX0D z?HpWQ9u$z>@=##Wj?Wa?m;!_+PO)hty zb-P$SYwFy_y)3_4*kxRoS#O&k`5XnlHjm{?j{M;d@`MR;8^0{}0u$6F1eIU|B3yDv z14-Zrlw9cmN^k)w&_UFa8iff`4j}|bJO>;JAw+V@BF8EeE9RF`Xg}oagv2AqB*4TO z48$V?Jd-R7;$pM7ADD_-ut7*g5_qgRqbLMAg-an4wcxI>h^T~VY!>ARlxo8!h9*#o zqJR=2u~T#fjzTsps!y(@Qxci|B^=Ga_pCft^ry{9pFVxo!bOR5(&o*dnz>^3;z>)F zWv@!f%}ZXEv3f(++LiM+ZcE)73fNnLn^@v4KD<#c+f`wNL*rLWKL`Tl5oy~oUM z%}+c$`w5k;mMImszJeIHJFq4gghyZus9cwL5`UP&eBkS~5o0NRfe30iO2L=NP9!Dn z(bDsB^um-gXZ0r9?Ik(uR^)G>wjq^KnN!lh4sZbx*g`$*gB9$Ig}&Qskp5A(YE4zY6KYl|f14 zCp@t-=>Oc-*Jx!|f~kvNi|S7MWb3QGbx~iVVzBhtm%4B5k`Jc@u3Z)!d1+^|@Ac^1 zo@{+>_hN1xrDV@)y5RdkZ5r8B zG3eIBTqMc&Cf*uCKT$C*<`tn%Gbc=MCOmM^tDv}OHkopQrISlD6f z*Go=nhul8Dz0yae4hb+(N=UAVq6lW8lmR>e$}E3t#1kNd zhJ~YCRECz36*&Z1p%F9-=im+4qE@s6!>ARx0j=0MhZFMfk$YcM2uxqm0%!3^m2R3| zhHIyI^V&^CbTQlvq&(mi8pBnpV6Fvn+Kzk3aF5$!mxQToM=5@L-}jU0WNW=F+XOttPBQSW{K1+jO}Y_>fbZZvLSL+tzdpVKvc4Jl6U z4tJ_Fe7V>yzNJmm^nPPYotWZjo1@_HzC!;Poxm9dc}zS>OV-4tbH zY|Hn?#8?-(yVzYZT4-zEi7ZyGG%2yyj!ob7x^LY9_dX1K-9zy>*s-NX_vZP|+UVoj zqA35thT>;amG&iTj1Jw3at=A%wo^W`STH1JZII{CkuPhicQ(2Nos2cQ-Hvxou&(Yp zc9B=?q4Z+lzPU8(^&K6rEL#23 z_mRs!{^?)$r(YTO!ioU9` zhP|y9EJ9lEyxU=o$t&Z$W!-%{FArUl5coqcqrA#^xZQKQVr9|x@kB?8BiE7BNOvR| zavd3ughPrW;Yi-&BCDi6k{B6)yhoyw)W?93yeAV}snp1R94?W#$b@7(vIm)vbce?? z`yeHf(8wgD5i(&}Ew-Ic4wWfshjd4-BNIx( zB&m}0n0=5oNqrs+|uB?f?4b{^bLUI(ud&=#*cKq z5n!@wuxY00=SJZd6Z=H%3rO;Mwc(5;&A=NMC$t!0xRe}vDYRco`0^V^QzACp2yR_{ zNBHGQ9(!6}p4_lb|CiI6ejQ$t)=b}qU3(su1T8kF%|*U^D9 zy1tqdFtf+o-2-Oz9&e2k&+NW@_P|>MuFV~^VbF!SuWqTjV(jpRjjk`ad%R7Rg=2G9 ztWe(54?e%hi`&T<`o1*Lrxb+VZtcce78Q+iaYOso{w#M>}7DgBu_;v9GeBE}D>S!sRgcp1jwqj;+H z7`QA}iizTvxF9x(`BB-^4B%~88h*x`AAAwV!mB9RDbVpbOhsM6~dcgYx7FS!Nlr3t~*v0hAF+?R$#-Wik`{4d=I)-JCs zad&Z9tX+B%8j=bwOYb2Ti@&PF2 zsn4~Ww{G9L`&ntuy$4@>`PJ9oeEZ$6FG1ctLDr-$-jnL}L_ZSFn$+$Ner5eg*J4xh z@`JzEkDTuL%bL{s{`>Z?&-?Tjn?6-A@RMI``scs6C-n)R&g;!Y<2DV+0VWz7?(WyT zar?yfHgWeZeDJ#MGn==LdcCx0LbZVIW4{@3Wyh>`KX2NqXwJ{gv|4ny*UMks-W*WX zE3@^xUw(F@#Pi}r1c`|{f`eWr78tMQfe#es`LF3%Xydz_(}Tak5r zU98{RDZX)vp>;q=-0;-Sko=exr@{N*ik87=|wg=-xB3LyBMcpmpZMB zG)lnu>?Ki}A7bKdyJQ-56O+GO|ttJi` zzSPjx=0TLEWAv%(i_(v}7CG0wlOFF_qeaQpAg|EK=+s&^&$TcZt4}rQYGqsZTDtPE ztI^6eLs8tDX0N#!)S!KKV$y(`#$Ec)o1VV4=H^(dpenmu@>Vw7>yolE<3P(w9pC)0 z_q3ITCwn)~FE|lB@9xGEL*C7+{Hf`+Rdp{l+jwj9ooH9HtIIaZ5~Z2a*v#RvQ+6|Q z)c`lf25~YL=wTerQ#-)P>++UNJHicg>f*owxkto9D66N;N;kN+0oa; z8Di$Ry_{KK_@prWT!yWxrHh}Fm>4SI&l@?6^AVk4clcu~R#f zHAr4E+m*qtSQ+=F#WH+|CYUTeX6_= zE(~6ixii7w8qsr8dhAY}T}a#cvz>zXq`D=AA4{GZG$$>v`BB5@^u4X78CoqapZFyE z_UYPXpmX2$NfEEu9PIvFaHj=-dg9YHHm+dck(zEr8-~8LWYFbRZ{7A7)^okh%@Z}o zc)lLJ{q^s@wpU`~6s?t}VEvhm_b(Ptw2by?JbO*wV!gZVnwLsjgr&kja^=fHqPk{`xRbC7RL@-tZ@n4bo*qY&T4PS7cU$> zdtdM7?qg`$@zlnNrBk}cv>6ruQsce$&v@&*Z8ybR>Am_}3_lXpd~{LhC)Jvs867{# zB4D3YoWY}E(Sn#6hmsb>PQLnz|0@Yqvpruv*l1JW8_qo%1|_)vw5*%dkL3^8ZIyi$ zz72$JAa2}+N{#Xj(IX?V9K=d_h_dBKA01;qoODpKfjJ(-VFa>95S%h2RzyGpDTi!w zswPukX$v`0qim!CMO*5DHP(WiNcD=nQNXI@s+6(Rvp5#+g*{+7=w7N+JP-5xzjz(& z%|~a`6COJr9AEKHVCKU+fivY!V2a!cOe((hI`vxWv;&=coTv+y0cP;~GBkIoZ0pyQ#!G@y@+XI)_0eVWllTcr9_#4|&HjV~QM? z7(5<)Q>%Bb;t}0qY?avHT~VHqZPwPi7;NF@YU9>g$?ExG!m3F_UP`{@W$j+osowCL zM?4Ot79=kC-aDdO&Xg7}SU!EL?#-|z`RR?f>yA6^$>}nyu4Idcw`fY|7n9s33MKR{#S)panB91`HHWL|hnyH!#CU z0ESpoMd5117w|v@6v2=9Qf$eA6?GC;M3F@|3K!BAMjb>{RJAYPc^}Z-3wX;E?V{8Ol_C@Md1lWTAh8{9{s`%&nB9*zRK`ejirlY zNZZ}rs>bOYe5%Kda(d3GPD+03;9E0NryrcNY25a$qm!3+e6OkPcTMZn$u61SVvl#y zjNDh3n&r0U;P&`S)3O=G|1N_4KRzb4{I6I9Tb^+yz=SW?p&o6r#2G~UxB=P+5fTum zxPXG{Me>q~@Qn(7g(G2Em<$dh)`W54V0f2!6b>ezNfM{R%2cz$m#{Uw&fK+dIi6zv znKt0hFM>5*jBQ%J2zF>_u$3%=ZBsnd+1>b87r|D{)z~DbE*z@hc_d^iGg>EpLiNHJ zrbrWnmC|sLJUJiW!U|m*zY0IC`EN-Ot3HhJZ!dza=c^sJAF)(WAcPfY00rr#1qf6| zlT2K}g3uCI;2^Fl9}-vLLs(JO_m3anShV_6TYVftcNMkRmomJm-$(nR=8idV<%pGO z%xuqFEl2;_BG`(*4L^x`JzEMKG{Uc<)*Ac<`~dRrR{yPPfuni`r41xAe4wrYSI9>` z71Sqj;P?J5^_l;!zyEXUQ;On-H`IAeX%+v*A8a_WirW|Z_ZPti{-s5*73~NA;7td= z3Ii2>U4Ci4+JN)&+wdbXcQ?0YM(p^qm;`TRum^EoibeUz0-nUVCjQH>i!Te%gv*?1 zEJ`v2E~Wm`e~7ib8zQ4fN+1rvt;QBdl<=zY|NY?n$3GIJpZv#kOt#!TV@R{*pPny@ zi`+S~X1Zcf7r_QRTm2iMX(;fy9l;?lyT{aW|BYy387TuNSY!S z5j*4pCq$FD^UJHEk$gq6k}we++)8ax5VY_HX}|y~@CFRRn<{I`S}0qs4CKgMB>@!G z9)=D_g`q;$qS+v2fvA)PoF$+oRaz#*2Bw9?E?kkhs@l!Pk=3?_PTF6+joq@L zm-3ISx^9s>u*JO2acSB7+M^vY}dm5rQUwNR(iN$Pi4434rk10|;m^+2oQD zGfGMx=1CkVbJd$GNlsOO6tdKW2goYI z5RDlDGB5%c>R z#bAV~mR!IFXX(iV8K4GdcmZBmhF{!G;Kc!f7jiidgj`8{aKw}zl)&GdVnG-Kf@0hU zHx!B?=(j+IELc{V5~%+Xj{c!Vu%6*HZTw6gK2|Oc4;R6DTRQWerjph+Qdiku7Qy;v z1xC~;Uj%E&s->@5#nJF+5p2tN=W1SE)J3qdK@S(f&W(##COO%=sEc6N2lg#3N^$&) zi(o676<~=k5o4%=HXws4AxWZ0@Zjmm$Vu4#r1JoZ*pB2em{vRe|Bt=%j;p$E|NrNl z1Bb)j$P!s1IC163is8Uf;mphm&C1krq&Z4&IBWz&!HF8E2yR@68#j&=SDBgO9%ZTR z{d>ZtpN?35?Y?{bzW4q6-T(HmM|rO2>vg@}>-s=8Ov4k{!88cMG$cv?1ayI0Q~`PL z1fwtqQX&%I16FPX)qoxrnRx-ApbwOCD~8iv8L_6OXRwAj!~kBZWg!e)%TybG3uiLB zLI02cIr#3m)U2;fRIX;RO+w}1^sQg&UKzP2FbH>w_N*N@Zm6rdpI4W<$$f{{v9A@Z z1nRPS4mES>WHtM(q5c6(RB*~S4%O>?y?xA=rt}-OVEy1_rTsVbD%rGczWzCK>E(I}MCjtxXhhlJE&YdSNd~!z4 z5j8geg`t3GIQ*Am`t_wqU8my)K#uJKo4$oJO#KNC6SUfE&0J9N`iWr3GRh zkO4Z<1%U%@;1wJ(9(tiPLU7@dZB;M4_qh#d#zNo*^T1!_`Y0zgAZUsaEUK$9aZrH? zKm|urs#K&TCP5MynL6vEprby5=gU%QX~{9S?ld; z8N8IW+T$n6cPcuoAfu1#xnma+PF~j8#@lOyE5Dql*>S)(-q~z!dExM^1!hXK;K+JK zkty#iDROaH7aWml_R*R)%JxD05cL*9RYGiRF;DRR93cg?jSa1eIyt08**o75%0vB==p z9FPg+pav!I4cYJknjnJB;4#1fg|bEiPzVNnC?T4O0HBkT8vvD&JA$cjgKHuWxdRCO zc#`Nu7y@4r3=JC12+FMKpc$%uPj>fc24%DdYN9K#E7Ob74te{bq~Di)X_QRh;p=i*nx@3U7HH8Y-gDZhbFa{nK8({`e?r+m6>D`ws`nwK$W4e2tufjO4DeIS zbv6*f%{afu;)EaRtgtF}2brw!rO^Ts^unjm%c4+N5^Exi(0YX*@)77_JMfI*05I@C zpkQo@4a`6_*Z_8oehe*=v}L)5A|(5;%KX=qxZ11b3M~g1J8aH6`mW$W> zeRlCu<(0L!zZiJyX5j!6mq~cQWdH&)V1?U{+%UwH5kK5;(!{Tc(%^}D6L7c?C`)oK zA>kKb0SXie6u=QOC@|#ltqZvvPN1Mj+y|l0sb4kVDkJ@dn}OT|q^S^|xj#w&kheR0 zw1ArhEaByI1@gTi!3Eiai+r4bB|NJ;nI8>O#2lEQzrq<8CNVV?M_82JhFVaFgm9dc zrVFVE!}Jp{P-yz)7bt{XQHX#j9~+W2r)&;XU4Jn7mXH7k*$76&^Jnm}JkuECT5pV7ARH=(0sgBlZ$I2X?ZK>H~N~hL_))n(J8!JAg_AL~T2!HLTvl6UY z*%{rnjv;N^TWCA%jCX&+tl?sx(aI=onAw=0v<-bV;T`<6ZuQ;o>}Yh}U~OK%d%5GT z=&aX&ig0gwJF1pNpl8s!zO7Qd7Fd-k%R@(KG--X#w%BtiC)&B*+|Nh7JqeWJH-^;fB?ed`ryyZ@_Hcm~CT9;l*nQd(*Qg`fjrco?YhyQ|Tfs$&Us45W|Z z)&4*M)VvLaAV}3=S7;Waf@#VR%Ge}ugEff23hc@P2_}FWWQ7dCm1qOFG+5Y$c=)FK z0lj?S1>>%Q9pF$J!jL6^$U~gZVz+vyB{k{33v`J!FVMYz_X6E?xj>g97w8hIFVOAK z>1~`Wt0rph-oDphX60(>&I8ekZF?kIjGAtGBCnIcrU{!ru==W)v6qVnUBuvDW9tRVc z83a%&g07@oTAuvA{H**^#9#t2O^3K5)A%XB6p27fYa^VnwkEF zSb)YsK@j*<)Sy{KTpSd{K~~&R*ph~&vIYHsE9k>Lcg6)T`F;?1(blWByxr@`LmBWA zi-Iu7{=*Lmp&Zp*C2?V~(mjC;%JEv$+y!k&3+Q1Ed0=lUc6cz}Rs%R_GezwYQ`ST7 zGXJli;{99QXn6SVsb3|5WXhhZPdi!hshty@SJ=(&yL9x>oBsEG+G*kO!!6fUG~TYe zG4j)255N80i(P65*0r`Zj2k&BHqK7*GBbB}NR1jbEWNkJQ_(%2HgxtJdwqa^E%y;K zCNFrVi(4Hhmmu%yoo23B+0D|zv7}?^#!ebnUvo2`dN$iT?AX~^=cli0<*{_b@+0lX zPU>;G^TfOf=UyND>7Yx>nG658{@Jqp>o?Bddc`D)q@v;bZ=i8m6@f|WK%6WWxj>2@ z7$3vMQWQ?!Kwy|Ly2W%+1#*R8_G8cnPvls8(Ai~X5w}^nbIPg)t>OrxQq>fAYC&5- zw6p~gD#Dg_ME?=XK&!Zh#37_E{(^DP6HqMrMAfpQ7NKG#@?KAZEM6lj#as|7?tsN0 zSF|dtXfXn@8`EweYiSWJ9z-Zob&Gi+U0E{80viouC1{w&h;-2{ZiQlHA+2^%5iJ%* zi>M*jd&}l2<%3K=S=heNt?j&l+bavcP5peruEC$rdap&-XRnuz`ry*0%ijk)5!34G zZ;|g#d@(lGsCe6(TkER6xcU#Hv$?yiiMsQfIb! zY|%*L%HlP1*O!du3x*2|Hg6eh^s=jE>tyA)cG8{!$vSI?+OC;}M`M!TJpIX#ZLglI z?DJ{I-IuRiIJ@pf@2efIf7$tV`?)3*Er6nq_nkLTZdrb)=8H#DKEVl8SS1oDD1@3R z0DxalmQS+pKykr9{93m3AO`{kQGk@@0e(USdo3 ze<)uUeO_DI=a|zDC8b-g(cl&AeaSrQm{b3cra6`umuXW{chv6}(Wk89si`?pb8M2E zy}EZ=;xi@d7F*3)GP^~Gk4GmSuV~Vv;_g(g>Ii!dzV6?aLHevP&>8P9*kQvnSa<># z1(fEIAcV{Kbt0wNWuuvebk^jI4K!6Ku;R|xHKx|JCBPe5a z_z<9xZR9Z)T${26-QWh)Dsd0uh9Q9))C+E~j|0`f4K-jk;xxjY={_F%5c&i?oK@r^ z^dTA)1A~YL46CC2-+htReDWV$oOs?rE>0wOu~EWYGsZRZ&+a<)gV`=AErRB|#Iz0# z&UmGFp{?SZwr5wYLuBHs%HEhCz0ZW*NeRfB>piaZ1pnFw$A82%A5qtJwBj@N+3}Nm zI9s?4eRG=8`mtI;UN3nJ$W80|nW;=G6;G+xBdB@Gs zxH&UKW~9N+yjDR^jl1I8dvJ=q;!@f_qu;QyUOQ8EY@E7pyXmIgSCDc4Y+T5oV91nx zJIY42K!j59%OZVh!{H89p&nF}g(0Pa3F-$B6pxzm6H_Ev6L2~xbz)6G^pQIj(mZGq z9Nch1L}8>iz#PQ}9h`#-Az~O+F%o(}7J7gTYM}>k1t6#eAgBUa_=8#?7N(&GtbrJS zkUk6nkkAY|q$}CagC2YivOz~BTL6M@7!t%)YXlvY8@T@$z2xpEnYG&TLC0FVw0{5D z#a|codM5u=$l4*(2j=$+7<>Jfw!8K;y)(ouFZG7<$-IPEHC7D@3ioc>vaM{mCNQ*)jdvr@(&PI-92{lg(A2$_OJ(`V zgPB9d^>w=S%AJ^R`hVB`hu%NE{>!FNk6Krr@n{~dR6EYyIg#axtG2$$ka)P_Mh-X$ zTI^c^68unZ&;lNSffhIsNMHkypbJibL`c9*U=k8w4=lj|2JjTf0RZ6;24DkL#Y$iR zdLfFHqG~8$0}_y<+6r8Wvj9d_YOfAM;x9r7bO|1+xj-760Gn!pLY>%+&?2T|>Ns#H zEeOZ?*RlB@sWbo0*Ee&}8}kP*T{-NtZ6g{U8U5zDaVx)k@5|q|R9zAFoKn7M)c#>@ z->)c|5;eWws#D9~Ie2rzyS*-q?bbN=$hEIq_wTj&+^y30GGDX4{{5CoN50(fxn`0v zJ|Qvbx!B~i$>|w`%%0IH&aN(&ZkBNjKb<#!!Zb%4#mZi>eSZm48tP|tnPzRLIB04) zt=PC}^Onc5rWwo?3yqn6Yx({I<=d4VyY}om$drbDt2%vfWcS_=&z`Fse|qPcW9P44 zyZ+L}icfERdF%Ewsdt#t(B|v!fBN~C;2(e0TCKAf!5iZ9R{s6VLp^*o4gnp9MXkQj zIMuz;kTcgT7q;gOvCo~>-52f8o)Gn1MEm_~E_+Sa_CGMUjXsFMldDc0Vr<;Bc~8b$ zeX1GF*tn)?{x2T*I^o#j=-E$ZbQyE)#L~XwU;5y{m@6NyjOjkfwyWEvQ)>n{nE&)a zxAUhbglKW$!F~?m1By7)^yMnC*Q2(@JgrxP%Lcf%zU6k0BrwpY5=1k2z)@# z;SnpL$y0ObKVZtGAOt`J;^7$y2e{!99KjAl#H2_>Ttj6=#bgm;3>YCTF>4fsDntyz zJrcrF>D#~x{cJJuodz`z(xT-|PBUDCT> z)iYGqOzJHGp6e0r`)gZ*4|zn zrZKj`PxhU<*(q-X&7F6tVxokPwXXev(i;T)kBLX9B^tb&KJKY%HFsor&-yLSn7xlZj z{^LGZwFcja9dW)&=m&Ro*KLH&aSS#Erh9ElYH4VRNG(?3Z7?zAW$6Y>tPrt7Cl! zt@G&iX0y%rk60WQ=)O8=r>xvmgX|p>)d48R3ng1Tg z)8Czo`{d0{uZ_#SvQ}C4e7)GAg9d%%=+v}VSYkk_Wv^rhw@}}Cmj?CpX{Wd}jILk; z=cJbsS4BGfbiLw*r00(xeQx*@y^mj=$VA7NAFG<^xV`7MRTCY%R!?;Ft)A$(ugPyr zbR7QMFW+BX_1mvMe>rBCm2dQOzv)Y#w0F<9dBVY0Q!99zcY>l=MEmOM8MYZ73)Hk9 z*WS@hnG<)d%&bxHt}lb5BEIOGj=@zAp33X`me1vay z@NU1pxAczvZ>Oj1_m7zHeWX%(UZd|EY5rL3-nPGX$gt>q-s+8Fi%7#F-Po)MCw=$C z@{ez4jeGvnc^^iZX+w9~HjRo8I}vMWzAnb5U)Z9cI@yZlTX(YOTn`NH-Ir|*MFGNHz{*QX}8IZYRx|QQs%2Ox7l22@@B}Pfs@Qn~hWwZ?=fgv1=N^81DBXUUXY|fKd0-`awRWFQXn-{<=BtT(Jjdc^kl*?@qxClCJ1^d2|^+R zA%a#$jvzY_C5XW!2m*zK0%C$hXj;0goJkgRc)|tYnS3FAo|Hjwkf0$aR3r$_Dd72)WEfh#+XlUNdpy!8Ab_ zsmdVL_p>BfkPbHO*f05ljL@V-1Tle@PEwFOuZ9KMKD}Ly3~HWNvjc7a?s9Vae44*$ zj*ui@BTf8|nfyPlvHy*KBa3@eQsUjJ*AJOfl!;j>+0$ptoTbjKpB=HFU~&GUdsE(K zk6&Fq<*jP{@aI$Bl9zmR`ja!CvVN$Z@^+;}bN$ARtJ6RG@@DpzpWV*->ho_hzq`($ zw_h^8HCM``e0Oxv+xv7WDt6eF6z>yZ=Ic0cPf{({*V>g%jp-Cy=cmL&t=7zs%?|GV zOkmEM%Ll?6_1xy-()046IrU!GmW71Xd-na-aUZ&PW)~gI4WDY)yI;=rqcfkHcOYko z^N=3Px~_g~qKC-@FiYh!>i@$TkHg2r5xX%13 zKu>^XUODGAz{rR#U}r7MdY2szvMky{!MFvkfFG#K348)$K#Nw7vD1Y+_uIv_VQF_I%BCS`Gyi*zIt%YHG592>xyuqYM};&7^~VP;re z)s?%zW;h)7hI`4%2h+ls!ew&R#L@!Ny}#545jiZe!CdAgtrW$#%ZCe0A+Rg?DV*EhaDI zYM8gR;pgS4`fK}}E3inF$^V|KJp$9}IA-rj#;LqX}-bvwVAUlH)G{crF6boy)Cj@!O} zY5P~N-MutkeS^hLxuCqlbg|!43m(8i9?!sLkTrW6I2K052ddB_x?zRR88WM8mdyAW ziYI>%JH)rJ1lfx~vRD@$!!7|Gofb>~My&K^oCaaZsRFvB<8tiGP(yWcp>QKKLW&nw?Q8`7Ty*za6)ncS zvAFXSZkz_X!Hu$Ka^XrdIY^%g-vpc7K zn(<;@oSDatmR`{nW#Oqd^>X$tuJB9LC`X?Tct;5{HXr8d^Yv(bU?{WF$q99Jj3<+QzCuRk$iZ%>m^ zP}YjK=GptMP~bgy0Nehuc)>ro9*I9OSru{PC}bcE1|LFOcooryD1+8XC)g6_f2f3g z&_|qfNa{kJ>=z<;?1a@B-h;ug1j7q)7dCWdNhL`RH^TEUIV^{JdDsJs8o6OZ2Er8a zIn0u5htm+Duusee<1r} zGYh$$gMVPL>KY9*!(8QrOYD}L@A#i-d@*g|k2vNq$vUy>o@RWz)vMPgtk-Ns$5s!m)qbv7J>OTOdi97l*A!=0bX7F&d9$MP!nB4Th8TCZbPDhrd~DEB zs}Xq#X)XrO!1en_zq)!*!CMnPH7}WdYPDf#$m5BR-CVkUmF?-p^@m0k^zSu#;~dlL zp4}nz{!17TDm+3c079HRULrse5qUlYj3BI{1j{N-;HCm4IICFE20$AI;S1^oF{o5w zhf^UAAJ?#I6k=A@D8#s3k2DI=tm;d6k5lfyX%r$iS&0;Uca?n+{%UBBJW+L5 zdh!e|!trLGE8(2UGcl3E0fx#Iz`ze^;Xp7347eQ?7tEjw(l8r00an<3@?!zAHq3=1vru? zPHdB*X>0=>6Xu~$bvv_8Ap_?tjDSQfy65d}8&E~)6Fl=IO?A;#Pu99BIFaZIp(ii|?szdOUx)%~xILaf=V zu}Kn}dN+lhOxxl2Q*Wh^vB*^@i1ioEv&Qul)87(F@^gwj`B7Cf=GUbr^1Mg=jiop> zerZ)o@-x@?jirVU{?h38QGV=ys|}=oc@$zhUnNP&|Er@At9Lh+-wka49ff$`D8%X; z#oHeEZJ=7Z45+j0fpGMKKvcY88&eUURhyw-NRNP%oTC)rd!*ty0bFkc#}Je=c# z870N@sH$pv)Ke-fRh7*rwYJjdDX&`phZpCcxWWIBH}Ma@dix+6{MY~DD8#V+<3h8_ zEYwkmzIR6<)^?6?lTnDS4;zK(baxbDt%r_6tk&O!2Nsi58Awdq6g`SwMD36ZoKQ`Q z&M(gfBt?{FMW>P)Q5wWV6H}uiNCQRUuaev1s#Oj{)^#fe6IUoXM z>sdlS%RsRcC_up!jS^9R!o6gAN%QO>5aP-1WOOx`6UULS=|&g4fF7PCE+WXNUIK%l zCjMN3Q!q$61uF=JDc~h-!f6exRD%($@Osr|BoASD|BFohJB&iC zb_%_wW-p;oa=1!yC=`o0ltwk^1WZJsGE_jC4Ym#=6ion;D!~Yqp_tSJI{4wC11?ya z@oJczq!aHJU~_vhG@(Pkbx1nAXi$Ts_Ga!N&@PQ)= z#qI*6fC;q%5K2UGq%52evb~J>F$<3SMD`qH$&Fx6oH$-nujQg@PSQ}aOi|)2k$12F z0w(Ngfr;QOEDJIa4bJcays!+v(%oo$I3VysE|(#IS9%{Dv2O@U;BN{tNUBqR024Rl zRE>ADY+$en&+*{zlb`O*^u#MU9FsEzT#~~&UY7qYU5r^9O7+G12q?k=NHV(OIxr|yLd&>l9XjxD;BTPEM2&+prmx}rkoDOG@as6 zKh(O8(cRnNVt;oOqL<#;$xW%PwP|8r&sRnv`sDjJw5%S5XqN9_(ID8-?DtWKNpVh% zJo~Go5J!aH9fi0wFTZTEqn(R73bAhJNF_YY;Za8+R?}Ah0keWC@g*z^p1=#31RyCP zl>;NwvWfplss5}^6iI5M+76(I?MNR3XfP70z#5?838tYL+@Tqgq<@0AU@ek>Ja~dm zm;)(M2+j$t@K*zOSmfvyK!F}8;U36T^wsnX)-Z<*zzf+3UPwYV@;R6mRs1cS$y5Em zG72&1V0=XkqY!sRj9lOwSTzcN2@HL;cS!OK`OD+z@gE`(7Q zHL^Goa6uDl1z#|NE$*AZ5HlKRk+2IZ@B}V&Nw9{z|BgbuJE*Mfizb80#@hUQjzX-q zt(XT|8L|ftS%b-vOkIiLU$8_I0|OYKbx35Q=WxBB zZ6YiZx7)A6H^V(L<&o5^lMUNV5GK2O{E+_!Kvj=(3m^)~R-1LO2Nv zFT*`0gcGu8x_BrZ_uqIFV%v^(e#WGxdT)JD)hNU#pRlxQRjWnSD8y#&7EUc?6ryW* zsk0%;SL=9p6k=we% z;~b1yrFs-%aQC>XQHa6r+MSL3EE$FP^r@!1Dj0>>-nY%|sOORcyaKmWjY9Ni6yiEY zA;vxGC`50~{i6^i%Wxn-*J2${;+5@x)<1}qB?I#Ce zC<`8HOr+;puuv%V22j%(hoDUJ zy0;mS@-K}-@eqFeDde~fGPq1C*yxbM1nv`b0N%a65b)aFFJCJS~am^bLxt3}iK zOH6KO7SZskZX*1CQ5?^a`a=h`Mby+#6iq=;G`z61CzqgW9ACge_@Kdx3P!}fuqKw_ zP)6xsklaiofdcinXQdAX{FWfV=A@dXxGBw^4hfqDndw%Jq$`$j><<7b%R8zBj6etM zAdIzwGY9uFixXg3m@d&<)PkCAYoVViR5a`(@c+T^48}(LN+BbeuX`@@*%g%qPS^ZAt zYuTcQZ>IH6C)!Z`q0wgFvGA3pRn{;4*jw0kdiiRI-g;gJN+UX&G$%ndTb|2+^`8lQVE$ zO5g=Zm#ra`FRL_kE6*@Qw4zvy2D#!jSOcO}6)V=m8x=Yxo`w71R+4kkElok3h^9an zlcw-r#r};Ooqx%0EI$9e?IzwgfjFV&1mam$6NsmEU9viDp+Tone5aYkubjGOd-A%H zc)fPBajUlMVEoPv#y$I#{f7=|{LL-w0xfq{?A@~UE@c(eydXF))Tsl*!ZNei-UUP z6qgz8$9%2~yHz&A^QozM+L+e)AGF_)q4HKedBS}CwCK5sllnY8dd$*A(!Q(rGL~QfPu;f#i*$(PY9>eGcmM(=htr_pSN6ix zjWBi`P#FD4J>!=hF)&t3cvdi0qYM7#ImsrgzhYWseLsBW3&s9pf(O zm}d#t2_ArsSu0{lSP_08Qs#0x2E%?z4F%&;Rqsu!H*3iiqG04J{)83bF}M+-LZSj@ zgEQebB3vv=)h=xp`AXivx71yF>`g?Bll_aQK^7mV0N!^9lyvtHX!^ZFpvgM3jFg3o z7Ozs$mn=(OkyTurw=StfTe@mf+JY6^7pK`8m+sV=8(eK%Jg1Z-w%(Ju<^UfKv2yZo zbhkggyST;PqSI&G;w|kiEu4P!qt(|lbk6bmTDRtYJ>%mqTr0-ry}#%m%FRYz!R28) zUJ9G^!!4H)e&O*e9fJDB7__aD6z_ps3LIZ39&o!$P}}`!a}GrAC|Td|yEW0>a(*4+ zw5d(=g2UnMhJI}NIAX=!7L(K|x|_9w@0FWh(O-C}gS!e_a+RGHL%pTIl#^edAD0I% zoE-9E2IJ-Z3Rl^Q-|`TjR{-D$6Ci@ILoL9`CK>F~r(lkKGQkdf+1v#_Ay2Rq=46El zZ7OFfUVyF=CV0^uNR5C6vceX~f_n|T&;}ilec}fpV;u`;XvP$^D$Xw6P$5H3bP70= zkSDaEE>L5?neYm2w2Z$BoO#jRd0_qY!#-IY(eU7qH_t6vw(G0(-^!+ck$B?=W7L_f zam|iRi|!qx_CW zvROqpm;EZPLGWmkmd$}5rn7$YZkqMs6KB|bWpfKesRe-HUvLQ9DvCgk{o$UVD1Hi- za0vNqz5uycDgZ;fPzQ3@8H#{0aOIo}N+AsufEm^)TBv&0RecbFC}0d-U}T_$g5*V) zI3{;4VM(rC%BvaN6L|iKCTnp^wI{`Nd@esb({pFcn=vb6PHxuxf|R_>l!e)gSH$Nv zaM3JSxUyuHzv8`i=`wA}%2{silh@_W>rl2T-9xe5qqAvbYhh;Gw*5dsMo9fkoxx0B z$0ATUb^4RZo~^vjSv55VhhE)weSW&GalXzWK0y0gUe6iJk1w!m8F(u7*m?ouTWn8@ZW4(Na&Mxl~ zZ)j%W66!Lw(63iTl3V>DIS$93k4QZ|bb`wgzWZqX#MT4#KWo;jzn{7G_Zh0c0b!l{ zAOsSAaNbN&dU)eU#)zOo#x?K`Su9Tchgw4*gwQ+5mhc9d7zn&kP^mt2@nVa;Hhe~w zj&j1t8$KTJ5sB$l#7NMRqX2M%e^^2b-~@_rh!C(uv;cClP^3DLFSg_wJ5r5*kjrIike+t9nXPwir^J#$ua27e&d}Gl zel+sq509T3aJIOz=jn52&JQ$MTq#;_P3V2xfQVQOZHa18Bq~7-C{pIVA-o_(jUmRA z6$&W;sVjbJX=-FRozw=~k}~kSV^uT^wr{0rvCY8wBVmWK(d__;t|O#EGbDjBOoOuU z1X#i-@BuM!!xs5SkY(Eo?qLhuYp|=rBoK>d3Cb{JdKLgTAd6>#EPR`y1N6{?gjlm- zyZ;J07Dw)ymnJ1OH7Q=3Ib}-vwB)q3?5tVYbBxnxOq-RJJ7?bH_wzCrWG_ld@^Dlb zLXo~qlW1n}EndBL-LgdY5aVj?)*LGv>*jiklK9#Ni(OmxCTJ{mUIG5~Lk}D424$Q$ zIoDiiG(FzOyUxYJ%kdgJ+j;R0!3n!>&;9ya#i?;ZMW>bhW8ZFkLQ@=?=g_p}&ns3zzhILMWhzomSFwNI=sf^F4Idc6ql5PXUX*zxy}RLger=T_rbZW z{}BZ=q6j!d6riZWFHEW}T=<845M|Z^<|X9IV`@YMqVUfaEj?RBRJ>2*fXRx(%Ij$w zEw}=z@QFrPe5f9$8k{gMD|unEhLKrZxz`{Q?#u7SyZJr&UVfKLT#MxrS3&h9uK6XU zxo>Tnk!IhjwL?(74T{d%!mkl`xXPw$ybtKDLW4KdanFSMGgByj zPH>kRcS71ybn7O5s|~asUp+ z!Z<()xzGU`f)Z#z6O>8J#(L%W5xRj(xP}oiS9!$6PA;HfqQEX)5?;97#T_!CM(%h4 zj(D)?WiR}g9U<{Kz(f$JfxIUu0VxYhbb!^7T_Fo!C+ADf#Jtf8+hR3XtMRPS;@;Pj zl1x8jnp5LLrbhXY>0FIdysl8ObI}@<>aUsV`I>3GwbnVlRJ$oRZR>VTyp?6b-ty^N zwx!$8E;)8Q+7C@soc z9qInWyYX(li$^dNa-#kRzlH@Vngnabzo@}D>yL6$U7jA$w)N4R$jDE^<_y!P1@4?4 zPA8MWc>OR9&>;~S{}*IcKn!65mKwZF!4j%u8Hsoh5@6BLkrPOX zSIbwSfay^%Qe&3-(8l8QJx_bIi>Y}5b-0tdV(}~+#cmCERM!{G^0Qd7W$X6&>8^_7 z5}lcsOYQoNr|jJ~Bi+Y0LucvKsGcF{>rq~3ywFp zpmlnO?95Ukp49$q^K-UKbWE(Jb+a~IOS5`KMrwR~%Y7a5^R!m)uHKX~HBuL?1WmGe zBO}nywxLU2!#;=W`t{mvm%47e^VNp2?KG8V3f9&=lK+&4-t|WIl_HZZuwZbDzR$-1 z3j3m}FhzNxjG_s2SRCB31x@9tHVA;8+Ef7$^e8WoN^QYJbrL*8NK|bEPm>~pEwzOa zxgjd1q1r_aR6&x$icx?q{s7uQjY_~1p+G23f>s1ZFa&%FeJ~E20-EGI=mvQZqjh6b z!oH+DF=uE(3izaKMBr4wi!ubOhg;KwOsNN*HB5{@Y4O!P+)`3g?%RV+uDJ)BfA=eJ zGnb_&wc=BQQ&(?JTdPS7vUDolxMgqBw#1em#*Ny26~=Ve$F1DG>THj%Z5i^xo}>FT zJr#R1izWf5jiD{#51+qKPchFm`n2`^a--etEgC!hrIe;Slt$r?ao~P+c&z|Co4&r^ zhljtAV(#W<9BSz5oa$45-HTz-DftT~c{dO5J2F;DGxwb25$(I+(%zh^ zYpi!~mg=0-q)uy3o2}2g^jy=UTW-Gzr|U00@zUDX8#n!!dgIuN{;$58c*8Wx4Tr<~ zr-}XL|b;pC$L#QEi6LVk&*f1~*gQ`&=sS8P&XhW!B>i`#FDaQ&92ckEbMsKmLz5X_?mKoWC>YP0~)U@zfIZM%>xMhLo)W@@o$2Y&@uu~<~2 zN&`OSG)MdrU8rQrivi$7Xkwyxp@3?t6u`y^achiFb-}7cQGKgO{O_+Ks-ONRpX#{X z*Eeu=mlX~l|6<&uS>`dhkJpa#I|jDz;U4-%S>*MJyL385Z>Z(sGrr@ilU~=^SVs7{ zrYLF32yLu$q_^TWXyS~2=o}+Gl-lnP?U^w}7-h`nvvh4sUq& z_1a?5>#h9s@@L=LxBtjL1|C>@;@ImS4Vftm%Ydo@B$m9~h`a9-3+#Qe$pjkw5+rHa zOrpY6lG*|YK7>m_1UT@U@oTZq#5R(g$dN~6^beau-~e%go-|!?J^=v|VL?R?d;|)b z8C{GUQAGnTAQxKI1`HjL3(>*|z5*s7tYX3K{T0D)_K3p%7hngRmm!U!x2 z??Q@DFU|^^vSR@?^h*^Jq$9BlgM4&eOeZ2$eG(yaO4ihA**W)(G+nUJs99WCxQI_8 ztXO$(sNvG0jT?R+X_~vSXwUuw2M>L4_(;XNeM^p>{IGhcVevk_PIKnM#Y>m3Ts?HQ z^4jM&zhJ0g){XObzWwg|AAUTjaWm`a9pu}0!zw(cTS#o%Q%q9QbF@X1v%yDsFu)@Av}YX={k`puk@6`yR_ zpZ(#^d0jVr(P-m4OegcQYEm_w>_|X^yy5}7j7%qMc&+%Ay;%WQ$Gq2f&E8B3{q+5vYX$E=dt}lN zKYn{F(Ly%vst>m;l@QGYZ8MY8Z5kY811rveW_YB*8HC6N1o0@)$8zBhdCHtP=dHt;1l19ZASi~=Gu!1_4) zVljf2@Ng^<&ETRedEOqM0GbFAC=nzJC5{Xv*>UfLyG9&DZQpyCcFd;;B%dN$M2^Fw zK$-%_W5@=zAQEm|N_SvUBhvuuHGG^QVH|49O_ZS{-{T-#uA9*JnQU0q@pB6}IYV-! zAn^`-1pB}^XaR_m)xWd=1c^l>axVcq?=%Td^uH;6^`@hn*UGylaKa!2H(iEL*wEG7^nXJd4^XG z%Rln|l`mv6|L-wY*J^h|z+*_YH zUfN~RBlvcNd8>-o>rDD_-psQTMvmx_95S}(R$N%q7QW$DAGzjy`p&uOgD=FK&$#-0 zWS&QR#=b5eTV|&n>BqNV=7m+5dl^Qz_pr#1_KoP%H|t{N6Lwz@OxKNRwm-~goNu&W zPo+34#Vljog&F;?xGEZ(oU8<`*E&BRrDf<0_i)eP;sh_B<-rw-HfBWhWV260!>zkn zxkS`aa=8#{+TH?Z)=M4>QGa^SiA1Q4hJl?i^8*0)zQqV z;g8`qU81IT*0r`dp?$@B!~lmqZqCC(cbW~zH!8N*X00p?+_vni!#yW{ysO`MB{u1` zA2R(FFI{-|Wf7Z(Ox+P1YJDQia`-`k3YQ)0*K~ ztAhHc;c#V+_1CR0rLUN=dx4Ub6?gXeJHLE) zv((!4%PpE)1NLlPVfD4ecBSZclW@(|wxQwMeaf@}+KI-6VQyt*jl$<7Jh3ah{fV%) zj=J9e_$7S%s1XU%T)o>x7ruLS?oU76I@f;bk{12*bhm!cX2oh9gPS%e8{_02G3n%d zvvjTQj$?{-Yo(>JB2V+e;GOm^VdimJ1MIq7GwM9Eyr1=rbqP2Xq5C>7Oke-fb79e8 z79EeKc-X|f^Vymge|{}$*Ua})HC}ypn$0gWyS?0QRAYw}``^x(rL=Yo9B+QKcladp z*!EF*+Q&Z* zyZqRw!;C|Vf+7?5KRw}2_NP^!XXt!jd*#$t1$>_2>ZmSzm*1IQ+^}nduiOvzJKe0o z+ARf*$F`Z?|IVG6W!=)6#CJY4@Yg|no?&sbp~ge6w*6{$gExX&6n6d~GivReQ-`j! zU&-egCN%du^Yh}?dpr)0oYOq_a=XH|`Lhp?+0=aY&G!o1#d#bVfBLH#-)t#-^5xl1 zM<)K5o%74jg<-8cD&jnIrfD?Qd+2w+(9lAYrnEDO31kG40s(=fAc=sCKxB}-K*lC4 z(CTTqqysVniGb`tWFQxi9k}~UG$0O;4oD63PlCgwgehbPq6B$?)JkNaU8`H_qzPKL zqy{nqA;L5}5EjS|bYmg|Esn@QTb86CX@VRhyZkZa)D`rpv_ht5>|%@Qa7Dnq6Gb4 zHm3*_L;x}cDS%kP}*kr8O!1Pzh`K|>7- zWDW8HapMmo1L;Fj0~thugDhLr`0$_D)&J53w+FXd9{kt;U^%0>PtD2fnw+h4oLXo4 zjQLeF+S5DDAG@gP3vVk{rYv5yeD#|3CCa=Fn^w)OZ910o{ zv)-sL^y}vSrr)mD?CLb09K70nPui}=18o+Mytp#cXLy{=^FssoKNs|DiBs8{SG!K% z)&D?3NVmmZ=j<4^ZTH5m^}5b~Vxsos<(_2~FLao4y35jDZpRm|oFDOO-7!m-F74BK zzz6k*G!6dC4z zTN1t`cH~E5C$6)6C8DDxw2F{W4uTP3pae`BFXOH(UWU72ZL%7|$gnU>O*Jpvjhm}tSQuFi!xEq3^?MC_5=+9! zSkz!f7#WKlb#9Nb_|w}oB4 znbE6fR%GwOA-zwJTJ{m!9BH+?mQ-zX9AEn4!K!VJ5x>>=yxboQVc(Y((3SNI+Z?l+ z^Le?AYp)*3i=6E9^rm&!j~De^_R{IGP&p0iJUQgZW5S@O-y zPd{mOv$Fi%J&p4^lmuPekll6P`Yk_vc42Sf&{f}@E}IhQ)j!Y>`{{SzezjWLx4gnn z>)_O|{Hf%|%GO`{Xnd|2%Fc}U*J>S(>g>JKeWT24wWut!HC8-#Zlc2iC&g~);G^fp zq$$C1=9Xq7`P$c@;+>8W4R0xmUB{ve!J1$t+%R-eg*NFo%g{)_(A}X1^CrGiFQkP{ zxHHGnBCImjUSIxPz-)a&pz^8ZQ~HosgHATB)EOo#eN(a{-JLGy#PsM<+g9n8bvZs^ z@U6I+UngF_5~#Tp9dGMc-6J& z*1YcL>M|g~P-|RR@aW`sHbss3b-aM=<54E*m_UA0~&fVd|JPUXE|E)68ZJu2yw`SHBI90I(v` z4i<|Q;T#wSSB{w`!yQj=x|!N3OPOfqKT)woEHlOco&8hm%R?3p)#@VYDtX#7`do@oOHWzK#_Wq_h zr6s!xc5MFxw>JIGmWf+0)qMTUHyPR=e*E$Lx4(Y>)3@JzHTK!=VR4lPw{D}eUXDoA zIMjAm@&;^+v#Q%;U9b`mp5fZ)+sCKwOtiJOa%yiDRu-mnwRtS9n_-8}%F27luoU-! z;mMX}4&}qHO+B09?pWKwq1TSGiuhl`qDB-)R!mk}o3(fUy7G;(NzM9}6*uS-Vzhbslrf-u$dMH(#k^btW%7 z%=n@b)W0O<<61X%rR!gx6kj?mfAH`{njdT1c3=Pchj~x0>iB8fuRnj&)Ml)e7c}>O zjRK7#5n>#kfq$SgOaiyS8_*>|hxHtsvL=IWw9a8I&LlaKu!TRNTH+V3fU*%NE`=vy zFgOjGmRs_;7vI}qOB&z8w6Gsj)W2nIAD*lK0asGpA${lx{0Q>y2m6^qz-%pDl`ZWrp zbNVN54#sAy? zy1pVTc0^P|&nZy@WA+aUGOrliqVtL#xu*(y4Y@f%b87KB*1ycj9#C&uyC*hJzplji z2D^NGdBc;93qMI6r=9Tb$hXIg9Tz`bV`gDxZxduYG1<<;x?x<}Tj`B!)vnXXGRNG_ zp>7jpPVQ^z_5He9d*%29xJE8p{!)5iH+^u9ji+U4>ZZ*Z+YC8Y-Y)(T8~622w>Yp! zspr^W={URNeNKLq^iGJo^QXfq&+qT5KX@s^*U9qOXPw@AWzcueB@W&D^Q|8qAK0Wa z>%HGjc(gEP`IaSGSa@2x$fskgHy~a{3KsLw>&!?dvMS2a2MT*Ez;u5=Prf2WO zH#!2lVqA42vJo?JT2dPaV;p*6uyh$>uXqR2#Xdy6NEZ{qHQ4OLP-s$E2};IRP%_Sf zr(h!V6f{q_66vB_={~p#tp~+Q!@^nUJG3p#g{FfO(Q9Zi7>B5oPA8^=o6u|I#<(g} zQyan;XgAVpP^q{Qy+*oBl|(Pzz}jdo_!Jo&kHf9lsgce?-<0M;XTeAQthv-ssl{}9 zjiO0RN{UZ4YSS|^Qj@2qrDjggnwpY5dHR%iK43a`p7H&}Y!3@%0bi&|bJE!_UAAIY zn!ze}!TM?OHah1`bGIa?y1K`YGSe9N;15khiyuz}|FKB?0Pz)dfGKaPR zA|KKtNx=w5oa^D@c%-LDl*)!+ApD;T!cka}@!dVN_7Znt(OeKOBSRL^*12Td%eyPo;D=hIIeB7ms=* zeD-e zZfNR0E%W`%kYGL(Y0eYnV-cy>Qu1HXx4(X)z4P(dxpQJa`1}pa!e{bVr1VK^`GrHL zg5+6WEH^)Ss!8DvQ}mKSuWA6u@9#UY6;uj+xCZY@poyXZ2o;c(Y39ARE<7{9xu`Z4 z1APDj7a%Ebq*&8QFyXoZt4l%z3ryUHB_U7{dDScX9P(odyx~ETZ8Qm4GUcq8K!RbdZaYM6`a^+b|=)*`)ZFJZ$PV_8b_kO;zuwb}_OZIeSX2_i3LCpee z>NNIA(lzjE?o~hY`3N(|7PZ~{hbdzXPWr$-yX#GW-*L)b`w0y+zuDENi!0#i(E4zln>C=kYh z9gYB8V236k0zG+k07t;cUW=e4HUv#FF!h-io^<}C5hgy4f# zWVOW(ICRr+tMIR0TcH4q7)h~RghxNz;4H4)TSmp-_ijbG`)(!a{&y<{d9F@Xcf9A% z;omn%FnqCOK}<<21SL)A5ab) z(yN7jJX3fAGJ3K~Kax-hgLu>eXArMS0wQ4!+*Ryg4xM0MFlTCCssMmb98Be}>JYXX zL4*N<;$z68#xob$Z4(ehEz)?!&_p@3Ul9*z3YVB0P*$1e=}M842=d{8{&%hOC`Y&d z+^=M@AXa0Hk5`hCleJ79PsmKkN}raQkd-nmJtuKS5^uUSN}b8N)cM-H{3J7N!MwsH z$;(&rI#Q!I1bh3sE>+epp0BZO;9~9OReSr6RlDli#alMCTC-y3EQ`5LAFeAoT`T9) zQ`vt07m}<3-7n2{4DQv++|qu#5>W5t`r^`{`XPp9r*f6>c*VYC;KPUjmx%dO|!AcPw)veZrZ$mzQ#LoU4pBb)3Hq_3nuIIhmBsf)o0S1Fl zRIjMpS$leUxVg`HXTdA}y)@4xxQ9+#*f}D2sNbCLor1dbUN~faL}GUKGr8?v-*m!b zZQ5m>~fJ z5TriR#PQ3!PI>f{6ohI}3OVE*63*CfHU*%|cv&Q8C?4?gc%f9r(pr-P73=Px+d@taYfBz=;6NBKYOorgnI z=hpSl^q~*E2sj{JR7C8W03u?G*wLs#V?jm4UV=LGt|LuQP(TC(L{JdLMpG#k>?I~* z?+V727~{8ao0AcfT;KcM_uj9(|3D10e{1dX?B_WL0}kJPHEGpS4v%lDGCugYC+8Hr)s2_F$~?z6t3vOrW>2 zhuF$O%PBr#|Ev)HVPQ;9we}jy+Bx+N2SQK94CrNNa%sufy;qnMKQIzgB^6^;{hI-I z$KM|+Xk@xe#Ue|ixb^wtZ)>FZ^3T?Crdv(b3ig%s>Bl`S&WqI0H#LqZ_89neLJ;$Q z1MR)D?F4flzrG0zi9~>oK*kcwfZEc8p}twnA=sO~^)b?U=IcBPZ7C zGD`J4RcpM&8B|q$qGqkBbRAE`7us3bGvEL4V~k!;{Tq1cq>Jr?sz>FqJe#!)Z;0wd zGw-8)Ruvme%{9AzO{N~~B$h9bOto_t+xQwejF3l5UQbdhUfz`(tJ<#4(8D`(pvO#$ zk%FdXZyjeL-=o6W`{s?=pcZ^n$xF;pas_svnQaZ(1|H}`Cr|}I1ci!qFk1n` z9f2U=1L7bLN>j|W|FGm0rT=AR79!xkug!utr9~+5m~?zbHyqCiN#!wj6-s5C?O|UUnBV7Gb@|7SHvDUTg@r|Jd=NQwA zJ1;-nr7hAOfBb%mYLZ@9J9Ya;$*|3Py*7W*|LerY^gdxq;bt*=<)a2fO8TGw&`!0Z z>u6tdgd97C2@r5WfC(Ky12{krRcZ(}AOJ%YYy=*T0-j(kKnj+IU;_~Z8!!PZ&;ZT= z1jQJ5u>l5WpagzK%?)q?j_@RqU@0ypryA`czB=_w2cIjTe*8U%7NO?#lTe zuE$)vaN|zMt+RI@uD;KG)V%CT%kxD)y?8zM)z80v`{pfk@K+TNd3{BYc#H9{TF<(w zFiCX37>@_(6dY_`~TR z_`}f!eq2xj><}2xiQ@;Ha{vo0`4D_ag208UC_o7tKyi+;hS&vyXj*YH0c$~C24_GA z*$V1MJ&$4tbv0H#fjCG7C|e_>*cvvZVsKo)B=l!<^ToCDy(FOj|%VYMbO1`yLE z2qr`qv*s=cz6q24nm+e$P6-oFd#Xq7a>2?129)A34k(n^ne)Pf?CuY$nww? zN=)nyVSvRhZ=+Aa{tvtplTQeSPFaz=VVv}4D(Xmj;uyJG@tPL~1+;oe&!f_+He|rw z@xnn7q=<3?JrR5al180Fg$=v|viUCwrp+qSs(NRG~%RJRKok`8}%!As4##AjrNNBkM5`Z3$j=5$Ok3LR3K=dpc| z=!=NPVj076ESQ+utQ&YK&MQ*u>c*lGJ&@FV4ZBi+|08`zmDojb!nt}|HISZPxA^)Mw9cMJOqlO@6sv(Y|d?wNVk1}P2h zq4Dm~+57VCZgx^}$=b<%modlF25czYSo-kd>=}pW8C;Y`S@S%X$+WndW{ej1h_k2I zLL9==7HxB$?CRW0>M0$|G|HB9SB$E2woLH%3{`iHXq>a-2hk{o=iu$4t|a&L@MW5t zb;t8p$r+vH2}N6+`QoBVm$#bdcmgYaFHccC<5@2lGRePD&{OOb7%CiG+bHO(Q)1@Q z&%r@rnKJCMB{SYCBs0paSj;Gy)~24Qsnrk&Bs%qZ4c5%w_F(BU^G@LyUqrt0K8YGC{y=j!a{{y2U^xlNiTF?scv= z$6eTU!628>&az7V94)s2T=OEcK+8dmzTHlmmi@Y`($@TdX0(@1;`MJQYJN9FWx<$$ z1+F1Mjh8M247d8xYLxo(!D5+YOvSn`V!4saOz#B}m07p?d8&JHWnAI>V`>$bdE4F{ zTv|A!OMmB`ZkIVBMaz^EjukVx8TKy6)gRcqn6z)KGUo;cr8}#i^R{#GF*s4_(xbU~ zkJ>_&ERH%a!!xi%P%P`iWN1vUy!XP=q}M>ds{5|uFQi}DGs+gyN}W}mJ5Jv%UUGaB zH_KO&>fFW0xxGtgdxv0kM~miQ=b05<2Wo2AI~XvtrHx^tZuSoD4;blsMx5nP#ZlpI zJG}bMQ=a_o%OBoMd9u{Hmr%|q>s$)dnYOibhfG6s&bj+QKf*VS*h1c9&DLAOR8?4qW*;^qpHIQf8feg&&~E3 z5R}jyV(Vta=~QLT^O#{Vh0~y=?V1!ke5CpCfE&7H5efD^LZiKZRr0O!aNitL9OHAK z&hTvQ(H`Y3vHmezjqiFK>vN@L?egPWO<&=H*Do#WWU5(G(coHFqi6DnVOi$-b+zue z;3bdAvarSluZhp%k{1tFZx=tfr{A-VX}&kDhw2S+TDvP@c0WtIhTQtGVa17sx6JLo zU2$Z>nT3&i4%~jSaQo10ExR_9|6=Jd*5dfo^6ccJIx3Fw6B1`QYTKO*$R3?(dm_to z_eR%!Ry_i>6rMR#Vy1E4Fp5_(klc})QB5N2p}53q0`fTWK2kigFmfX5dSq23DP(gL z0POt?C_gVnMlrk_L;xXtzzkT z;q50W^HN)$KA-;lRmg#)pQ`S^F8(F1bbt5e_IWa)wp~exKdxe2H!6R&EZW>{*4@t2 zcIW&T3JsGXC9N+`#M@1-FWEjim6JIn@ycM?`TX%)j&7_kwHsG3aq5D!2QTu^7wyc} zV+JI~UoP-@_x1J}?OvP?;za$pIkv$rk0&0XQ`4+j(fLQWm4fES9WD4us)JOEY#!b7 zn{qIEyuf*+Ma7jpk?PV~d3DuP#=&m6r?<1`jpMmo)yv#Fi+*quYNbm3WtCG!rt+BA zE`dDU(ikpCFP>VLWZ1>8L)-#qxi&w%uZ>|Ar)t6Rx}gIn2Yx#sRIF~(ewum3-gIHO z_9TPp(yCWw*N+UH+}A89!fm*NceS)x$-Molmu4Hb*erU%Fyg2HPZP%6+uB1U@V}cD zq!OgXXgc!)IU1du(tkA5vhd^@95hLC6L*hk;tKj+oi#38HOL`QiSeCUqh@WIS>@9w z*?kMwHb5HaIJfEg>$*wlv#T=VQ=M(o5{8eOaNBGAOvi0WDgKwYS$-2VAu`z|E@fLv zQu>4ovA%P(6t+f9n8lohAKj6F6JaF+&IQYZzfju)--J!TI-z+eoP@eIAq{4P{u>U9 zZVH_edM6kVoD|MTy%1d(K;MFf2OBu>Q+Nj+c0i{AJAnS7e0Ur-a4^?HLytuVm^iEo z9^G2g8(72EVdAhnv~BQTxHfE^Tn{df`xx*(xFHQ9;fd(bkOSb(NCWUhI5mtL{*D~b zIt;kdgfu|@2(O2C!zE#naB%oO5&-f9JRL>}Hz%)bZS)re&;<#~3h3Nm_b^RZJp3Kj zi6)IE6SSbM=%Kh$@~MX+2f#)t4In*GGlpb<1_t>6mfAW&S{aIbfSiGpKsO?gJkXw@ zkz?%@c|y@)(fPD-Sfmg%Y;aiE>)#mb|F|k^quODSQNfF%>EWJ`h=fRcdH)TmshiT6 zr1VxB&B(z`*T~F*oki(|MO%u~N_Xuk581mvXm^qKp$%1AE2?XYkHuFVtUHz1*m~2I z9`3pN!{^*+Nd6Mmm3+LNa7Ilx-ouwxQeYRBi-1- zVYD;`Z5C%tlbm18(X){C)^Zc@r%axyGjv=*D-10ZhVI{B2I(tOOzs$2pGkP@p zg8nyOgqV!n<8rR}2gR$imdq;7Bu4S&9he9d4x>S31UmrzKpBPt(}AbJhTtX;HuMZJ z!;&ClNEbE)#X^2i9jYq!;ww}H@u1MaqyeC#UI5eBmZ4cK-FJYzG3kd>pt7TCQPEk* z#o&6Z#lVA5Td^*K`itBUE(42!)4^h3b}&aW8XEktMgs?g(V+6ehzO1byMckiama2I zoe|cf=sR#dvL3jtqWjQlD?Ahi1owdv!+>aFmbYR4az5{btv>tdg+y^%OsR7Y&NYQ#=w&GqeH5oVRMTOu1H1qKt(p@) zXGgM*gD3V0KatZqlHGZ!U}*!5WQTR$bn5*`cK@~Jy{#kJr>_sJ#z^*^ERenl9}$U> z>@v%QgTY1M`~Kgmh?fH8?v@>Hsx;Kwj*=rmg3aSVv&u+Oj>}? zziD+aSJBH&NEUW9(Y93AJXE2t#uf zRmtJY&4qKmpTtqtcu^6R-eDj|5Y827jfq$~zqZ0KT@@UWBx;X$ZSCW;Qo4?=~s;0`bjR0mKpx<42SEQ6Xj_zM<(p-hM$6Ly#g zYz1}z{X=*-5`guH#D^$qtfD1|h?KIy4- zU%M&&o1SC){AO$HRr^i1@03rC9BQ3@y>eueWS@9Of!rywC~vG&uc6`l*0itgYH|7D zRJTNJjoy5D%k8d<9lKolHT-Pj@id14^=FjMO&AfqJL*Q?`e&mRjxWCjZ680Oi609G zO*m=OY(N8s@Z(aM3VOf_Kmk?Qw!s(J2{mg9HLSpg2bk0V`ma@+VP3k|2oN zu%dXT^v{jRg>fHtkq3SF7+&_d!6D|`hRr!Wr=~|K$M0fCCj7`PM|_!CBn-_6l!RI9 z#Hwx|zWP|`q9qblGi^@IyTYw#F$g{C+ngb#?4k(J{|^4 z+&(fTh!LkSh@m1c2qOZB*dlr;TquBmh+;_fJFE;_xnK&OgBXG%iXq}p0R&SBAjJ*z zff|Y%fd=m5FbG1y8lngDA*BOhMQ0;CVMjzLSO%nsDmeW= zc~l};_2H95h6VPUl>Lo!7EdmF-LYZm)9AfPexf&qvt9I~diCuywyr|{x`4a&Y+9*N zV&{~ghLOIHXRi1<=jVoD`Nh6@-(NCuQ1Y%!RsZt#t1suS_LhASWVI%=N4RBVl*g)w zkahCGvxXwXdFIyfNelX#{qY%va1haYi6NBzNEKLM6$=U=S};P< z1}O+N8)smmNDTl%%qi5c28uI+3`W=>D@K?NFJcR$0d9Z@;Z<}Tis$D9Q!v9@y0(M& z=G^qcj`uSiDo%Db%vtnx^sAJI`#0auxzZBi7T8sqpt&JC(7VOQS@~pp9qAGq^N0aG z$`ZA_>uO>(bqyLveA_q4Ugchk^p*O>`d7^brBP23BNu28&h!F{L-wD=x1*88&eEF{iUJa&-t{<+?N}Z?G@xx z@FDO1As>nvP(TP3Q2-f0f!=!{AP`hAfdUX%z*!Mjz=623d{A784`PLt-oM=2c!Lbe zRel>$+dCyRc}|1FIh~8k)x9D)6E<=;=J`hFIX^n{Qg!z$KXr?$3b)!w|9&QQwJsZ1 zHrzTb3R;=0|G<4kVvkZYzpzB+4{JH}$!~+7glZC?PGt%GDlFdk4e$fd-_8E5RF)t^ zP+5YMKyHDu1T_h8g?0cxesaa%o8o}q`>)ie_`Cl7&nb-j+?=i=lGXCvrZTFbHv=23 z4s*058p`U+R=9t+YRVdwvCCHm_;LKz)`l~YasDF=Hnd;AI-VJ!XEMkzJvwuQm@78Z zHQw&EW(3ntN#E3H_vpDk854cusw(o1OsW}EUD zH&_&<2P6jem;Q%XBc2pt6q|@D;sChW*ix29GGOEX_rdw+_W%Ed|4m`+Kc*vAP@U-e zMfSxXD`d`f%N^tuqD_pvfoG0qfD=R$LB}so`HGSiG8M%Lp@Ep-R%~MdK@)Ev4KRQf z@CF!&H&)h^wV-SyF3MVjA4>u_BpCiaYoSE|mOzxs0_?^hU;PV1`QMb*1i^ojpa!dM zn|EW!>B76bJRi4BBV{^2uXfk0snOQu>#NLc@nVw7=QQ=n5bJ2V2<&yf>24UvZ}cx3 zI3S;qOQeiYw2ZUj+wWGb2@DP$AFx^$G;&^t*a*3|Y7gbaby0C1Bfi<!du5=S5rU;;*>iA|bp#spR%6ifkLRGZ+m z4OXnd5LSvdL-i00??1?taMeF{4(b(ERFpLCI`&@lL#({U_4HycZ;H^*P%=PduI@XV zKS?!udaUl4K(FBG90TPs@+mS?O|e+iZs|BbjzC4)UP&W+Wb#~}T@%y1W|ocKy{t5~ zWb=WX4|h`E=Mo|3PfA%7vB;+g4g!VN8%jeokO?pxMP%Rtlx$F~fDr_Z0HG*>5kv;T zL`*;jet6IUE70?2?7aDiM(fmA;O8MYloA_Q^7GLeGj zlX^}70sz@LS{wHPnEzV$5$1g^5gLri#DS+hLrkn|g9aFWcMYHJ)7EF&F$Pway*sFx z&6_@7U60Y?^fDS}(^0;L5epeUM*9@~kqYy7&P2@ru7-~)~jC>RY$0VaqQ06~Zl9107ef!`ixfl&~p z5={Rw0m6bZ4*D>}XRmspc)-yDl#DqiHYYJd!X+XA0!%QA0w(Ys;7lwNG9Vf_gBNPc zz%OMtI%x#FAQ#IsfR}O~IAR}@QUn=Df@RPIoB<}>kZ`8?)1MLzvH&&96w&=J;pmT1 z=jVO4iay1c{r*#Y+xF~DEl(I26vblgD2nxmB13_6aatrYkNeBv94j$OY*EDFKI)_*ro_iB<`x zA4ndUQ^RJE!$1aM0U}|6U=jHe+<;3W5@>=&%7Oq3WB?t)kw(}+7F@!3kQB*3fXj!Z z`2LjxmBQh(FcYvTGMl`zxf+(5DI|(KLN;oP~#Ue#z5=a6@ik|v8 z=!mXur@!n zHfO#(lg~KX46x1}5V3T7u8vNLjcX+T;;!C}&Oy8yPiz@R12HEP{P z*Nx>%os;$lbqiO^oel*0ab(R$b+eu|ehAHSV1m^WibX_q~VWh?RpmK9O6qC&yA8^tJ^8fuORT%ZY8BYc4o*aBx@2q)Pf z73_i)@C2Kob9ayjjsZ772XKIlC43wcgphmi) zBo4BX$BFE}Ax~KB{QecR=)kN|D|D1Md-^QuGkIdpY5OJ7C61de+bmP{QWszQ)@#U* z8&3~@G_i5%cQ>0>q^&%b|KhvhgVkOAISfyrqNb#8#4K7I=%(R1e;7}!YpA2FDVN1h z9y}{K(N#~9J~z{S!vdb_0HHzt)E!$n+lmCcMSCXh9k4Sz@=(RJs-z+Nj~sLr9$s%* zKSRr1I|9!X)%w=23SUuh{`$gOO{?yf-F|TM(fwr)D_f@gG*V%Pe>))j?t3O%YAf^_`t)FeW*Gr=02@7vaUxG1V3d1;(K(;%vkjA+`4r8%!g9CJk4h-O@ zru{@91UJKZDJ+ioq09xA!{P_5F|G_3OWH6mXgDS|KTtzCn-40hKFxW ztIu@p-aOm$s~8WhXuaHvmcc@;X}!6NeU^=$qGB%dUh-w|*l~Kw5wn)W#17_b*=nqJ zU$Qh|;9x^nJCj9`L0jC0N`xH^HVsVMo;OaUROGg6x9b#s zqN*l-Qgn!^ZU-A}q5dgu^;c((&e(f8_r{FCsrwJyyg%{b&09@(cDFp4*8DhUs)Eae zeBv?y0%U*{te#;53#JV5gBwtSUlU3LPlz}4NsT#{$Y2(zcYp;@Krj#|&;TL<2VxBP zCQO+_NTH@coWK)O9hR`Lxk^_y((O2Qc?u`^*ykc> zAbvoDy%VfZp^-;cpi6Ne3~XV21X&iQ#^MMTDYro_PzV*_$X-agAQi%Zct|$T1}G$9 zv=(T#y+9$@C4~@(PzcP6L_))X)}@8_kBLAnY_ScpAs7UXMv`X8|<$Td!Nx7%K6Q0Udbuwl6>$x!f(^gqcg{A&=UurBf5{uJz0JtL zfo5Di8v|}tCo?4#f!**+U8@`Av);H#d$)Lu5AV><;(%Ar$adz+dzlgke@PnjQJ`9BEwBx3KpSEVb^$B!C0hc)pcak@jzKV(K-2*! zNTqg&P$obL1+WWJshnx;*H?rfuYy;w4yKXxfIAR@3_uB>2O@1arbQ>XDM16E!3~&Z z(P5`cpa;wWbYKc$plAZ_V4ZkkaR z&+kj^TmaR&q439>WvBq~%K>P| z;>V+34pTvdk=EJ~D;i5u2L@MBtX5HTpfmwl;1MV4td=p09$2`?pPe~&dH<0jZUh}Pck-rK=UZHi^ISyR2~ z(M2d4%rrWw&i9$)_03pK>qurn%mj{(vc99c(far)i)@w5)j1snY0+E05q4?sDpboE z)K0Q6*1%9K)#|#--B?MSFh)h-U~i**h%vFUG%!*AB|0COfk3v5cxM=?$NjUVQ zBplK<2`9HE;kaSji=*;m!VGngZFe0AFX4m=c#?hP2ag3G4%IgaD(BYL)(5NcR8Af} zeei6Mwr=pLE8mv{tBW+6F5f7=YG534{o$iqj3!^X`N6Y{vwFhNmX~8!Ziq}3@wJ!- z+PP82!D?Y#N8h~$CelJaqFu z2j@f2{Xc3(AxH=Y@`I?5=g{_{_(81&1c52UNs}Qc1bRk32F*B)Au&VA$Y+oWhEM4K zsQJU332mifdxvTp%{|f{bb>JwvJna)%KcC~tOSNa*_8AQLxGGTT@o#o>F^yY4j@rv zUkH*W?64b1ksiZ=-5`HMmT(Oe3UCCf17J_E2INaP0!jx+5mp5qlC8j@ko!NCB5aFJ zE@571UEoLXJJz-!%fBz%{yw3KuKdnZ*hdc#hJ1LmcJ0TH*6v{5AMq4s7vbsJ(rsn? zQun9ffo(%u6`{#qhR@a3*AZy$E~rSV!b*X$inRW?UVCd(rL*TR;C=0=4wgT1jY7^& zyOU655Y1=W1szvw+5P;1nzY!4BNP3at7fM!Szoj`%FWq-e8kjhH(rs6zqdL6$eR4l zrdrt*GG!fIi-1XD&*^4U1iVj8-Kh>d6Wgw4MysZ9l#B;x@TLm5)+1MoRq?X(ihx0nxcC$5D=hgbMxt*cTtYykt!VX8UkhuE7B)`iA@~fpsuZ_Pn(f7mM0$NCf zXg}Tp09DlRKpSvT$OdwSW*}fl1^>ode}VJ^>BjX!{*%Dy2OuOHotr& zihbGq-hIv=FPq=Jw@SI02@LmSmIp+Pl)0-c%IEhP<&@!U<=TH(g{+tIrW!ZJhs~R6 zZ4Hg)nF(cFx${wm+hZIP^ZK+T*+g@u-p$ML61!>PcXYe2Ts*E}ThQ7kLyRPOV{+os z@sMrzQM4EEoQI*4D(JRxi1|vZDI%;h|fFNNc0MNk)RY)WN)JcRCID;5i0YDWjWPl!m z0cyxdtSSH{umkZddB6@*L74^Yz#N-KSPjsnJR}nqLFk7l#DEhNvWI#^A*~eAE7t8dHcIzx#GkM!qg zGHL>G2g8-F0jt*}&&OebXyVpT*KifaD(4%HiVzQ)t1c?swxra1sDZLnqlR;;7fqN!{UOdj zbG~E5@!f%gm3Q@yXpV60@Ybjg-$$NSW3CZxtjzu6;*$`S$j3)u1RJUVFo1{yEx?98 z5J3lls9J#>m_eZdP7o|`MJ+30M9d&S2nUga!3B*k(F(H16&Q4~XBBAkFnOR+!=Ij5 zfOEhG)WJF62X9oX)0sSw1M@%;q_L$C1VW^NOz47D0Xw=SJ^>pYqXIVaGY|_)1F_Hu zpr!XWSTh5|Pzse5pb>*wBAE_WQA43XL-B=H8CarF$8r$hWZ4Fv5Z7O!D7^duw%V+& z6}~;+g?UKT3LPXX>x$m=(EiaHr6dU_Oy0|cQ2{rhmp&J z+*Ssx9w6feM{`U&@Ve;f3OSu;Dlw7K!5lRmb5&_4lkZ$tt&wdC`qsj78Ibyb$o1=cYBtBvR-|s!^`fh> zShQ>Dk3JkNOxLZH?=qVD2HfO|C*Gm;z21addT$Ek?=Wz>(Ium*_mbni?8PI!_eUqoOW9Dsu`L<@x($fM9Ae#jTNq=V`d6oNnUH7YORM1T)*#Y#IY zkD`k}lDmNtwwnSvba+Xb2m!+dQ$z(}U@z*?t!>=WgNcA_5C+r$I+&wI3p0D54?SQ; z0`37l4Jv3-0$~7jvOmQ+9T5ifX-)^QKow~Krb%p}j#V7hK@~KoW3_=?3BsTd*d;_l zJtsJ$VGO{6%*Z#{QQcqR)uzT1UHi~?F^ap7_@U$1rzC8ONQ#L~S)ZEle)Vx{?6%0{ zTy7pd3X)qKUcf2I*b~MP@S}vheT-D3q-(Tx=Yhn-mDP-dYua7esvWbl=tS_LipZ*c zCSALQ;{E(n*H1f%ZB;ZK8%pm-s5Ei(PcuEuE%a;x8jl{I!sv-~GMajd!=p6$BU>Dt z7K|F`rph?Ti>ln6RJC=^iBC%h)JzUZy`fezh5r9AmxW##Xuyq`aD5+?uda2AdV4mapyhifK> zd$@71u_Ww?Pr%Mp(Sv2KE4Trn?yF_XSA@m5MhsXQs;4w@=M#C zA`fJOvjVm-8QW7A@X~hd%*$U;np?Jac6r>)gZ_szE315Jinbn`lbyc5__$ZyfinwF zx}U!=cE`YAh5e)X9~$#NZmQxW4c#u~Ke_{m*(7v_lP(NZkd0vUSP}zJh!Ubf@x%@^ z+FtfoXA=)j%oeQ(LGqA=$&n>|e1-Sb-%;;G6 z4sx&g!J*;H*3UKh&RV7YhS75wT`hHUB|%zpj)%7C&g_Ydk-nyl$e>;6gd7oH-NN|W z&1F83^^*cm{C<7t{ouwEd<^@@OfZB)>A_Ygs7Fw@qR2%EDX}350T(1H@(}u!K>z|t z5TJ0z_zfitat6lc`03f27nKE>K9vF;o`Tx-hi&P*C}S zw8MvD@a=aiI~(I5k+Q(DeNf^0n!QIE3w6GU5~HN2X{)WG!JOw_EW2#9mND-TEY|IK z|6%cEt+o8ZcCTKKnsN5rx*#(dXMkFOer9Fm9Ho(+0unMRG1 zXyOY6(q317d2Q=u8)4sdpRb@>_O=v_@mC5$c1x<#cFk1kD{#7(ml3D6eC11l=HVR~R0sSH4&rUF^u4orbu&`mUfBOr`IoUMP@6Ctn+-T@9g3Qz+a0w3Tg z0uE1O4HHn)d=i909Ow^;dLjs%!YBW=4c_Mr)o&kyY!mXK-K zi*N%Q*a?wCjXE2BPysf;0EhxJ#DDSd5bd{zX*OBUd3joV}LIXn1aySOE#`FqQE9Zblo2;DzA zZr|3!g>t3hs_KwEM??0X4H3l%FT|d?%$(;nTx`00^Y*oz>!~Lm1YHW{mE24hKf8WD z`_bb!F+VrHy&=j=+Z)K78vaJVV9OUFYA%XTf362AE+3(SH9-9M00ww~89G~nr2q`@ z!!m%wFt`D5f(anp$a@GkXaP&qkh7_b4Kzg=m?6;YvMESIpy_f43<2K4h8t*6#Btm} zK?k&mJ4jC%DAFE!J)7mj5y;o7g-S#EFiHiR8-Hua8VfjDVEl z;*!$R@OjTo^3B^K)7M69jnCc@k{cb&@v(&tM=?|&p&->2W>gLx0X8a(z@9CM_ml(Kz)M(0=xhO zdi1$?Zv}SF5FFS53PW&&4j7Tg;0^?V9l!!EP_aVFh!vP?ZV{sYGR4AR0Q+@+)c%)TGpxvn>$DP$)=|*-&Dm=VABVfgZ30O@N)KCxfIz zPaqFS!6p`GjD#+#w z74`07PFmQObWOg2oy1yz?~WzdYnca|mZa^$N=+goaS*6>?UI+z(GXUfb?)S1>!`#W zb`@32yY;wq{A9J2nu=D`mrYwZx>f6X@jGfV{do^kI3@$6!R>QZJE%V{dNtQo$ThaN zNES%L*Q!`LF=n;)Ocbx3adR($tcDRe`8lQU^&7o&=;2}6tIp!yp!0o$L#2@XHy^FPAX`?nxH_y+6fEl6Ii&7xoIX<_%sOu^SryjL;- ziBs>T`}Ys7mMwW>EVZ#nuSz$cIrKh%fs&5EXxeDWOqodRs;<3i(Kkyp2jC;)b5?u! zEzuaD#~5ymo3JFt)!20Xn)pDTl79Pk1*tM+p1FytO898AG`?``WcSMI5l5m5Yrm>b z^FPw~^{K_DC;L%b{(f%w1ekpMWGL(bKOSO;?g_&|Olr}fB1zz9hW#i)L;;8WfFPg* zrVxCf1S^7jvGHeZi3I^3#v=BoIDk7UaB1ZUEfVERGAbehNYccH>;$Go3l!8;Q$W1q>F=QYmd4=tIr@Zoa3p`GWL z^p%-vAIkOrWy;C2SIaxtb+=zQ(=Ie@bwud+;1K(@!I5z>>-%c{v24fi+H!y&1!W7> zETDlxOL0XYfe35_k;cpera=NnP(MvN$T)}}dK5&90)U?wDFehH^}rv%2QdWlfEOSG zNuZ785B5R`f*a&DWU)4U01lABVu7mX^O^XR1{Q_?$T&~9?r+93;k>FOi;Yre71{W~ zs`?|tJ#uPB=3bmvENNQryVhXYlobQjRmaWchI}U!L@f7S$zjx#)&;L07`wqMI$k4u zq}S}CoIx%T&AJLf{qM00QI%q;@~7Xe$ER@c(fZ7+ZRwfJc8-Cgu5-7p!VI30 zvZY9{bu-7tp-U(GFZIh*1ZsvN(;Zm}PTkAI{lm=kP95&3+QBWXZ<$WG3D>2tr)Fn$ zP9J`mcDNDui|s;ZNsv(EDZ@J-<}7avvt`yA8;`LuI5XdQm$2Pe0n%Q!0*+ZfUk9J$ zbeWQ-ma*sYk~s`#XyK5}G5q0{^+_AOw#7s$TUn-LDGp>*fR)on6)<4I_zgJ+vp4+S zKmfyg+!t_*5)YVM2lrKjBm!XNnl7fes8fA9tLuDBf{i_Neuab4w2g$x$u)p-k%?XP#@5|6rdx-bK&X6pYGuiaAyUS)Hk%RhPflzcP|dMm%r7>4pT0Zm+8L3qW+#)|u2-&( zbo_CBc2`>)oeh_sH(uv?S}B=$^Hl5{%_Uo^f=_AbgJP*6L0_yw}mo*Ih%P2 zb~Jr-3a>~O@CRHVnhGg;j{(jL#7Gcq>ZI#WWXE6)Y9ri;H6Txg6r_WJCHg_A2Q48j z!9qYlk2FNw{pny@l=2T;Y^|8b2^Vn%k(;>*8C%1)<)m%T$Ae|Ln>ogO7d2DWlEOX3 zdrg#$l=w_V>h?TMevrCLL(++Mj9#$Hx%Jy6jP8}I8+Pe8a&*q_IKE3;s5QFoW?3>v z!%(PZaQNZ*T^rw)U+31&_Ua!b*u+uw@Jr7QVsy->-?gPL@0rslb~kc7c#0o)CUXKa z2rj~k-~t{ZhwO@~VbB7iz!D-3p8zu;3IO0dhr$i6KoMMoKtiBlU2K$r2hc*S=}-YI z0S^QnKqBZMlZ`vRz(5giLk^?4b@t7y#;@^3bLqZ!_-^zWe=*Q}N@@ZNDTk!~4X{oR7XF^3(US z)e2t{i5(`Jw>B<5Au*}-!w;L><$kHZe=#m{^W5Bm9fdoKig#t?adzX2apn6D92{MG zh`ty%(_nJNvEwIBo@zWjs^QH0PaP%KjW~DZTGRC#H{Gu;`SI5M2M-@T9&_(W%d?-J zUuk~v`sZKXZ0+{dt6#aw#vVml__(vS-K6DT=~jnJIt=-Bp?~I)XoF7Uj<2M)+l zARm&Uau7@cZvc;xB>GJ73=e_*qMF3DNzA8lJPQ{BDmebfIx}ud;+`Z{JTSw?Lh=obbED+ciJa|j$?M1c>Z zYJ{@r)E8319e)UC>-Jr6PF%50&nY64MEZagqY5B7vqcIe6bK3>3A_aorqqCyb~p?r zAbP`ss#TmU;wm_Oj2aF=%`<(E8Z`yo2A{hi0B6y#eKblidF)@|%z+#p-=oH|OzXY5 z8~3s0fP*7^x(ItQI3_CDUyYA%qlSiSLHMvZI2bY`4CL=Ci~pAvz5n`K)2)K;HmA+E zrrY(Dj*x-Z~@=-X@+m;dzOhlaA9&@)fPblBda>(vq39j6@M3q8v_4Bb3z->%yY$=&Au zcpQ4(!F7$+d%LgX{@L6aYp0}@h`_i^yA-C*L@=wI#pg+tj@yK{rB^Ju65aW2rYiqRAQJ<}Azj!9z>Kc*m zI9Qr2t*BnxQ|tMV_H&!9<+@{3IUd$J_srxPqfDPqjo@_^Ur(MMWa(@rPBxopXyjfq z)pd}kzh|nxrKilysBcsqt~xzL zGsbjCu5yCIxYRn%N)wG7lM$$@d*IB2YDs%b z8CSiwexSyzy$gedL%B`PLTSI22<|5S*S>oE3EmYhcI|5lcB^)Bs4BLMkjR`J&*BTy z-Nt+Vbb`6{=%Qz^V0*Z`!^mjoPV`gZD23+2$QY10-rZJ^O~zoO*i$C zTXKwxEd`GJUf%T`b2hqYjqu0_7HeLdS2lucAP*@JbbVJ5R_In_-e~>3a>K&!1*N`? z4XSVPInU)bl4>63R#UHAaijfyzPWzHl%H>>%~fA{XUn3mez}wU-P)D+65HQ;d{WoB}KQ&Y1sQL(7yWI{rMDON?k}(KpO|D<$3~=ke3t1Z!IO3qlgib?S$n*AQlgGO9r< zZH8SR%y$mF-^_hl;m=I&I#s$}%mf|ZaHx8+8`mh;jCnW7p-`$E5^>S-h9ug? z&0^uu$glX*v{RP5*>zqZbx1H{d~D=W|7p_xKAUv%#j?&ib9>)!308k1m-o2pFTMA5 zqgXI1jOphRif>I1;-^O_`MNkwbXFJGJ4m?V)0{x<2)@_!Y_>CrLGfnq0yTxC{E6%it~SWl?)0J6P=GXtu!E zqt}M>1z`z3yhRlZ_Y2Psi}T{szF2s-&-W=OR~+5Fxw)V97x#aD_tokv@f$DHWJ?Uw zWu1>tRnC-#etCVcWHMJK`D(AX%atOr^O#Joiq|IRs{4Ve&DWKdS8$9H2A_%RVc{h6 zsA8fdp*I~*0c`l zQl3ewtMWS4(ROnr{IK4~vt(+IoEK{wh4yle2pV26ZKTJg9wxVnqGJoDcevnHZN79@ z@`*?D?eZ_5T$wa1^=*OApzk&{#=R`b9lm4E_=YPN%3qci#qRK(HT3%{@2lD)u6dr$dOAG%l1srl$Yhz!3{u&YC{I8s5Kl?7Br88caiL!@qc$QRwpgtmQk# z!|X5g5WB@@X3v)jxh-6s9_QsZMp+E%U)5#p>V$88dotc*7&mS; z?`j8gL#4q(%$wy*bC!)-$dGYWaY;||H0FHBziOfZ+ySGAElOEV*?=)$5&kBRr-u#6f4D*Llf~%kNIi z^BaHY!jU_@w?3RaG)e#9qtGr(?+=y!`fS4`p;l3#TE3TP=%p&7nYY|k!lsD=Hy-Vk zoj-4F!E~m%(<1ej+ux4#R+3c&YkThz87{uA)V)@gQm3>#)IQc{=eUihz5CCd(09k| zN#7fto%Yr#X86iEWA{(Iuz0xB&cG8Hd^0@e7}KNl_7a!*H?4j!9{%{yy;!rIKY5vR zoO=a&Twc0T>a0{$5F9wYQiFThMUDSVBq-RJ>oczQvD>UZ=TGckynXAkLoFxD&!;{4 zac*~yJsipY%jeab_I*G3sq(Y^O&ss#NBT~ACM)kZjmxY&e{$~>={z}a;fO$WW{Y#p zphNRjvO;{{6;!n2$U+A&-s&7_mUCvaU&QmBGOe0@zgZ>!^zOwZS-)%hPR@U_C~$ed zK<;23&qQ3gWprbZfqjIq_dOTMs7WCfP8mnbrfkqNwTSN4?^gYy2xu78*uKD2$AvuogiQPMDeY7JM1r1VPc2SebVT5-F~{X zY-qPFhQnWRpKrWeu=ri=tve@%jaVTbelNJ%tBd3!&zt91#F37A`{atX+m^QnX8qPO zf5dNh7jd6GU&Gn!$+wYw={dZqr>9_vr_xxN+IdTfSLWyor_B`4aR07lk7V+Zabpw5 zj=wz?D*LiF`0LW(FD{LYq)xH$tu)}6QXpCMg1aQxEH@#jR0Y0>yqM||49 z4qe8X;N2^1`fIIeUSU4TVP*@$=3EN%dmZL)5WcWi_+qc{rOU(3E0;F}h6i|st-REI zl|jViSK&ck5tjx^XSn8m$+T!c*h^@$MD1U1+rwJFh=&yU_li^FrH& z=8HNnv=42XFEkzKxiFnzTQGD$f7*hf$@cY@}VdlZM zU^FYBE)1O)8Zk5xIPF6(hAxa+8*~=vt*9eI^M#g2u_>dO30g4pTGxTL>tk9aFWkYv{rVOnU^=0U`(3+vcQtZw!-%xDO(8{qrTAS94nlEb2 zXju>I7XPjN7aBdZVAOM=1^fS}?Gn9X*LhmM2pdbEtp0tDgX4}Zzt3@U@yY5BbDZ5J zrF%ZiaSk1>pgGR5+PeA%n&bReKUv*6$4RdYZk^-Q7G=Dj`mVEK!Omv+y+cJkoMkR?|Qg2%;rXfMUu~rNSo~38&URq?%jxXIBIh<#_593&DdUda&NBf z_wwG&biU-`yPW^8Vc|GNIkQ^box{_c9`^ z^6q8E^muS@tK8l0epbS`Irq0E&&<1@ox1eF{hahLy9c>hNpl`-&&|$zkXNwh!Grvw zqjnDqN-oTKxMS~~yoZGcUOsrZvqISMQBjTF+(*T=R{4*19q;k*(e6g~j*m;ujhp+p z^wP}y$9t|WefYSnDXim@y|~B8W@#%r*7v?@a`1(%%(?h?$ zeE9S*BeHL<;OqM~SBk9*nyXZMK5DL(46<*j(HZaC^6rSitb&%K#>*bH9FvCIKdZIa z;QOr3Ca2(8y?xoEXAKU=?0-7$bkX;x6TR*h{B*M4t4BYbau#)Z-sq-3@A+vD>mAR} z4D0#$`B~3FonD+9Gk)HS^Io%dytpuF+2a=%y~8`byfl5oyqA}Ka(2AD;#>Ck<@f%_ zI=#BO_~N`*KPZt9F+HEWz9}En`R7{+n+Uu7T%s! zO;VAucX#F73Sl3A9n}Eu8|JU0_(oMhp%qdyr(R-p<*HzYF%w&Nt=cDOlv=y-4J~S` z^vat<9bz(6XL(c`)mwzhzRpl{adjz4ENcJd)r`(7ZEDQb>Bnj`wT z>2whv8Sd0Fua~iho=Qfw#mbgwZ`G{^KkLaHH=d5^-fyeX*<5$0Gexm}sb/dev/null || { echo "docker is not installed" >&2; exit 1; } +docker info >/dev/null 2>&1 || { echo "cannot reach the docker daemon" >&2; exit 1; } +docker info 2>/dev/null | grep -q ' mars' || { + echo "mars is not registered as a docker runtime; run scripts/install-docker-runtime.sh" >&2 + exit 1 +} + +docker image inspect alpine:3.20 >/dev/null 2>&1 || docker pull alpine:3.20 >/dev/null 2>&1 + +clear + +say "docker info | grep -i 'runtimes:'" + +say "docker run --rm --runtime=mars alpine:3.20 echo 'this container was created by mars'" + +say "docker run --rm --runtime=mars --memory=64m alpine:3.20 cat /sys/fs/cgroup/memory.max" + +say "docker run --rm --runtime=mars alpine:3.20 ps -o pid,comm" + +say "docker run --rm --runtime=mars alpine:3.20 readlink /proc/self/ns/pid" + +say "readlink /proc/self/ns/pid" + +say "docker run --rm --runtime=mars alpine:3.20 cat /proc/self/status | grep -E 'CapEff|CapBnd'" + +sleep 2 diff --git a/site/index.html b/site/index.html index 069312b..7b39ed0 100644 --- a/site/index.html +++ b/site/index.html @@ -53,6 +53,7 @@

The layer Docker hides, written out and measured.