From b9757e2ccbedb128b6ed927877e3795ae8f04101 Mon Sep 17 00:00:00 2001 From: jinghui <3970260761@qq.com> Date: Sat, 7 Nov 2026 14:24:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=86=85=E5=AD=98=E5=9B=9E=E6=94=B6?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E5=A4=A7=E6=8C=89=E9=92=AE=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=20+=20=E6=81=A2=E5=A4=8DDocker=E6=BA=90=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 11 + app.py | 975 +++++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 14 + docs/mem.png | Bin 290784 -> 326259 bytes hw_disk.json | 1 + hw_mem.json | 42 ++ hw_net.json | 1 + public/index.html | 195 +++++++++ requirements.txt | 2 + 9 files changed, 1241 insertions(+) create mode 100644 Dockerfile create mode 100644 app.py create mode 100644 docker-compose.yml create mode 100644 hw_disk.json create mode 100644 hw_mem.json create mode 100644 hw_net.json create mode 100644 public/index.html create mode 100644 requirements.txt diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6086a18 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM python:3.11-slim +WORKDIR /app +RUN apt-get update && apt-get install -y --no-install-recommends iproute2 util-linux && rm -rf /var/lib/apt/lists/* && pip install --no-cache-dir flask psutil -i https://mirrors.aliyun.com/pypi/simple/ +COPY app.py . +COPY hw_mem.json . +COPY hw_disk.json . +COPY hw_net.json . +COPY public ./public +ENV PORT=7031 +EXPOSE 7031 +CMD ["python", "app.py"] diff --git a/app.py b/app.py new file mode 100644 index 0000000..7176a40 --- /dev/null +++ b/app.py @@ -0,0 +1,975 @@ +from flask import Flask, jsonify, request, send_from_directory +import psutil, os, time, signal, threading, subprocess, platform, glob, json, struct +try: + psutil.PROCFS_PATH = os.environ.get("PROCFS_PATH", "/proc") +except Exception: + pass + +PROCFS = os.environ.get("PROCFS_PATH", "/host/proc") +if os.path.isdir(PROCFS): + psutil.PROCFS_PATH = PROCFS + +app = Flask(__name__, static_folder="public", static_url_path="") +PORT = int(os.environ.get("PORT", "7031")) + +# ---------- host netns helpers (桥接模式用) ---------- +# 容器切桥接后,直读 /proc/net 只能看到容器自身 netns。 +# 网络类数据统一经 nsenter 进入宿主(PID 1) netns 读取,保证与 host 模式一致。 +NSENTER = ["nsenter", "--target", "1", "--mount", "--net"] + +def _nsenter_run(args, timeout=8): + try: + return subprocess.check_output(NSENTER + list(args), text=True, + stderr=subprocess.DEVNULL, timeout=timeout) + except Exception: + return "" + +from collections import namedtuple as _namedtuple +_NC = _namedtuple("NC", ["bytes_sent", "bytes_recv"]) + +def _parse_proc_net_dev(txt): + res = {} + try: + for line in (txt or "").splitlines(): + if ":" not in line: + continue + nic, rest = line.split(":", 1) + nic = nic.strip() + if not nic or nic == "Inter": + continue + f = rest.split() + if len(f) < 16: + continue + try: + recv, sent = int(f[0]), int(f[8]) + except Exception: + continue + res[nic] = _NC(sent, recv) + except Exception: + pass + return res + +def _host_nic_counters(): + """宿主网卡流量;失败回退 psutil(容器视角)""" + out = _parse_proc_net_dev(_nsenter_run(["cat", "/proc/net/dev"])) + if out: + return out + try: + return dict(psutil.net_io_counters(pernic=True) or {}) + except Exception: + return {} + +def _parse_ip_addr(txt): + out = {} + try: + for line in (txt or "").splitlines(): + parts = line.split() + if len(parts) < 4 or not parts[0].endswith(":"): + continue + nic, fam = parts[1], parts[2] + e = out.setdefault(nic, {"v4": [], "v6": [], "mac": ""}) + if fam == "inet": + addr = parts[3].split("/")[0] + if addr and len(addr.split(".")) == 4 and addr not in e["v4"]: + e["v4"].append(addr) + elif fam == "inet6": + addr = parts[3].split("/")[0].split("%")[0] + if not addr: + continue + if addr.startswith("fe80"): + addr = addr + "(链路)" + if addr not in e["v6"]: + e["v6"].append(addr) + elif fam.startswith("link") and parts[2] == "link/ether": + mac = parts[3] + if mac and mac != "00:00:00:00:00:00": + e["mac"] = e["mac"] or mac + except Exception: + pass + return out + +def _host_ss(): + """宿主 tcp/udp 连接+监听,经 nsenter 在宿主 netns 执行 ss;失败返回 None""" + out = _nsenter_run(["ss", "-tunHn", "state", "all"]) + if not out or not out.strip(): + return None + import re as _re + tcp_list, listen_list = [], [] + + def _split(addr): + if not addr or addr == "*:*": + return "", 0 + if addr.startswith("["): + host, _, port = addr.rpartition(":") + try: + return host.strip("[]"), int(port) + except Exception: + return host.strip("[]"), 0 + host, _, port = addr.rpartition(":") + try: + port = int(port) + except Exception: + port = 0 + return host, port + + for line in out.splitlines(): + parts = line.split() + if len(parts) < 6: + continue + proto = parts[0].lower() + state = parts[1] + lh, lp = _split(parts[4]) + rh, rp = _split(parts[5]) + m = _re.search(r'\("([^"]+)",pid=(\d+)', line) + name = m.group(1) if m else "" + try: + pid = int(m.group(2)) if m else None + except Exception: + pid = None + family = "ipv6" if (":" in lh and "." not in lh) else "ipv4" + if state == "LISTEN": + listen_list.append({"name": name, "laddr": lh, "port": lp, + "family": family, "pid": pid, "proto": proto}) + else: + tcp_list.append({"name": name, + "laddr": f"{lh}:{lp}" if lh else "", + "raddr": f"{rh}:{rp}" if rh else "", + "family": family, "pid": pid, "status": state}) + return tcp_list, listen_list + +# ---------- background sampler ---------- +cache = {"procs": [], "cpu": 0.0, "load": [0, 0, 0], "ts": 0} +net_prev = {} +net_rate = {} + +def fmt_status(s): + m = { + psutil.STATUS_RUNNING: ("活动", 1), + psutil.STATUS_SLEEPING: ("睡眠", 0), + psutil.STATUS_DISK_SLEEP: ("睡眠", 0), + psutil.STATUS_STOPPED: ("停止", 0), + psutil.STATUS_ZOMBIE: ("僵尸", 0), + } + return m.get(s, ("睡眠", 0)) + +_uid_cache = {"map": {}, "ts": 0} + +def uid_name(uid_str): + # 容器内 /etc/passwd 没有宿主用户,uid 会显示成数字,用宿主 passwd 还原 + if not uid_str or not uid_str.isdigit(): + return uid_str + now = time.time() + if now - _uid_cache["ts"] > 300: + m = {} + try: + with open("/host/etc/passwd") as f: + for line in f: + p = line.split(":") + if len(p) > 3: + try: + m[p[2]] = p[0] + except Exception: + pass + except Exception: + pass + _uid_cache["map"] = m + _uid_cache["ts"] = now + return _uid_cache["map"].get(uid_str, uid_str) + +def sample_procs(): + # init cpu percent calculation + for p in psutil.process_iter(): + try: + p.cpu_percent(None) + except Exception: + pass + time.sleep(1.0) + procs = [] + try: + cpu_total = psutil.cpu_percent(interval=None) + except Exception: + cpu_total = 0 + try: + load = list(os.getloadavg()) + except Exception: + load = [0, 0, 0] + for p in psutil.process_iter(["pid", "name", "username", "status", "num_threads", "cmdline"]): + try: + with p.oneshot(): + cpu = p.cpu_percent(None) + mem = p.memory_percent() + try: + rss = p.memory_info().rss + except Exception: + rss = 0 + uss = 0 + swap = 0 + try: + mfi = p.memory_full_info() + uss = getattr(mfi, "uss", 0) or 0 + swap = getattr(mfi, "swap", 0) or 0 + except Exception: + pass + try: + io = p.io_counters() + rd, wr = io.read_bytes, io.write_bytes + except Exception: + rd, wr = 0, 0 + try: + conns = len(p.net_connections()) + except Exception: + conns = 0 + info = p.info + name = info.get("name") or "" + cmd = " ".join(info.get("cmdline") or [])[:120] + desc = cmd if cmd else name + st, act = fmt_status(info.get("status")) + if (not act) and (cpu or 0) > 1.0: + st, act = "活动", 1 + procs.append({ + "name": name[:40], "pid": info["pid"], + "cpu": round(cpu or 0, 2), "mem": round(mem or 0, 2), + "rss": rss, "uss": uss, "swap": swap, "threads": info.get("num_threads") or 0, + "user": uid_name(str(info.get("username") or ""))[:20], + "status": st, "active": act, + "desc": desc[:80], "io_r": rd, "io_w": wr, "conns": conns, + }) + except (psutil.NoSuchProcess, psutil.AccessDenied): + continue + except Exception: + continue + procs.sort(key=lambda x: x["cpu"], reverse=True) + cache["procs"] = procs + cache["cpu"] = round(cpu_total, 1) + cache["load"] = [round(x, 2) for x in load] + cache["ts"] = time.time() + +def sampler_loop(): + while True: + try: + sample_procs() + except Exception: + pass + time.sleep(2) + +threading.Thread(target=sampler_loop, daemon=True).start() +# warm up immediately in background; serve stale until ready + +@app.route("/") +def index(): + return send_from_directory("public", "index.html") + +@app.route("/api/cpu") +def api_cpu(): + active = sum(1 for p in cache["procs"] if p["active"]) + return jsonify({"cpu": cache["cpu"], "load": cache["load"], + "active": active, "total": len(cache["procs"]), + "info": get_cpu_info(), "percpu": get_percpu(), + "items": cache["procs"][:100]}) + +_cpu_static = {} + +def _parse_host_cpuinfo(): + info = {} + try: + with open("/host/proc/cpuinfo") as f: + txt = f.read() + except Exception: + try: + with open("/proc/cpuinfo") as f: + txt = f.read() + except Exception: + return info + # 取第一个 processor 段的 model name / cache size / cpu MHz + for line in txt.splitlines(): + if ":" not in line: + continue + k, v = line.split(":", 1) + k, v = k.strip(), v.strip() + if k == "model name" and "model" not in info: + info["model"] = v + elif k == "cache size" and "cache" not in info: + info["cache"] = v + return info + +def _parse_lscpu(): + out = {} + try: + txt = subprocess.run(["lscpu"], capture_output=True, text=True, + timeout=5).stdout + except Exception: + return out + for line in txt.splitlines(): + if ":" not in line and ":" not in line: + continue + line = line.replace(":", ":") + k, v = line.split(":", 1) + k, v = k.strip(), v.strip() + out[k] = v + return out + +def get_cpu_info(): + global _cpu_static + if not _cpu_static: + ci = _parse_host_cpuinfo() + lc = _parse_lscpu() + def pick(*keys): + for k in keys: + if k in lc and lc[k]: + return lc[k] + return "" + # L1d/L1i/L2/L3 键名中英文兼容 + l1d = pick("L1d 缓存", "L1d cache") + l1i = pick("L1i 缓存", "L1i cache") + l2 = pick("L2 缓存", "L2 cache") + l3 = pick("L3 缓存", "L3 cache") + _cpu_static = { + "model": ci.get("model") or pick("型号名称", "Model name"), + "arch": platform.machine(), + "sockets": pick("座", "Socket(s)"), + "cores_per_socket": pick("每个座的核数", "Core(s) per socket"), + "threads_per_core": pick("每个核的线程数", "Thread(s) per core"), + "l1d": l1d, "l1i": l1i, "l2": l2, "l3": l3, + "cache": ci.get("cache", ""), + } + try: + f = psutil.cpu_freq() + cur = round(f.current, 0) if f else 0 + fmin = round(f.min, 0) if f and f.min else 0 + fmax = round(f.max, 0) if f and f.max else 0 + except Exception: + cur = fmin = fmax = 0 + d = dict(_cpu_static) + d.update({ + "logical": psutil.cpu_count() or 0, + "physical": psutil.cpu_count(logical=False) or 0, + "freq_cur": cur, "freq_min": fmin, "freq_max": fmax, + }) + return d + +def get_percpu(): + try: + vals = psutil.cpu_percent(interval=None, percpu=True) + return [round(v, 1) for v in (vals or [])] + except Exception: + return [] + +@app.route("/api/mem") +def api_mem(): + vm = psutil.virtual_memory() + sm = psutil.swap_memory() + items = sorted(cache["procs"], key=lambda x: x["mem"], reverse=True)[:100] + mi = _read_meminfo_host() + dm = get_mem_hw() + return jsonify({ + "total": vm.total, "used": vm.used, "available": vm.available, + "percent": vm.percent, "cached": getattr(vm, "cached", 0), + "swap_total": sm.total, "swap_used": sm.used, "swap_percent": sm.percent, + "detail": mi, "hw": dm, + "items": items}) + +_mem_hw_static = {} + +def _read_meminfo_host(): + mi = {} + for p in ("/host/proc/meminfo", "/proc/meminfo"): + try: + with open(p) as f: + for line in f: + if ":" not in line: + continue + k, v = line.split(":", 1) + parts = v.strip().split() + if not parts: + continue + try: + num = int(parts[0]) + except ValueError: + continue + # 统一转 bytes + if len(parts) > 1 and parts[1] == "kB": + num *= 1024 + mi[k.strip()] = num + if mi: + break + except Exception: + continue + return mi + +def _walk_dmi(path): + """yield (type, raw_bytes, strings)""" + try: + with open(path, "rb") as f: + data = f.read() + except Exception: + return + off, n = 0, 0 + L = len(data) + while off + 4 <= L and n < 200: + typ, ln = data[off], data[off + 1] + if ln < 4 or off + ln > L: + break + if typ == 127: # end of table + break + s = off + ln + strs = [] + ok = True + while s < L: + try: + e = data.index(b"\x00", s) + except ValueError: + ok = False + break + if e == s: + s += 1 + break + strs.append(data[s:e].decode("utf-8", "replace").strip()) + s = e + 1 + if not ok: + break + yield typ, data[off:off + ln], strs + off = s + n += 1 + +_MEM_TYPE = {0x02: "Unknown", 0x03: "DRAM", 0x12: "DDR", 0x13: "DDR2", + 0x14: "DDR2 FB-DIMM", 0x18: "DDR3", 0x19: "FBD2", 0x1A: "DDR4", + 0x1B: "LPDDR", 0x1C: "LPDDR2", 0x1D: "LPDDR3", 0x1E: "LPDDR4", + 0x1F: "Logical NV", 0x20: "HBM", 0x21: "HBM2", 0x22: "DDR5", + 0x23: "LPDDR5", 0x24: "HBM3"} + +def _parse_dmi_mem(): + dimms, max_cap_kb = [], 0 + for dmi_path in ("/host/sys/firmware/dmi/tables/DMI", + "/sys/firmware/dmi/tables/DMI"): + found = False + for typ, raw, strs in _walk_dmi(dmi_path): + found = True + def S(i): + return strs[i - 1] if 1 <= i <= len(strs) else "" + if typ == 16 and len(raw) >= 11: + import struct + (cap,) = struct.unpack_from("= 28: + import struct + (size,) = struct.unpack_from("= 1024 else 1 + size_b = (size & 0x7FFF) * 1024 + else: + size_mb = size & 0x7FFF + size_b = size_mb * 1024 * 1024 + if size_mb == 0x7FFF: + continue + (speed,) = struct.unpack_from("= 30: + (cspeed,) = struct.unpack_from(" 18 else 0 + dimms.append({ + "locator": S(raw[16]) if len(raw) > 16 else "", + "bank": S(raw[17]) if len(raw) > 17 else "", + "size_b": size_b, "size_mb": size_mb, + "type": _MEM_TYPE.get(mtype, "DDR4" if mtype == 0 else hex(mtype)), + "speed": speed or 0, "cspeed": cspeed or 0, + "maker": S(raw[22]) if len(raw) > 22 else "", + "serial": S(raw[23]) if len(raw) > 23 else "", + "part": S(raw[25]) if len(raw) > 25 else "", + }) + if found: + break + return dimms, max_cap_kb + +def _get_vram(): + total = 0 + for base in ("/host/sys/class/drm", "/sys/class/drm"): + try: + for p in glob.glob(base + "/card*/device/mem_info_vram_total"): + try: + with open(p) as f: + total += int(f.read().strip()) + except Exception: + pass + except Exception: + pass + if total: + break + return total + +def get_mem_hw(): + global _mem_hw_static + if not _mem_hw_static: + dimms, max_cap_kb = [], 0 + # 优先读构建时从宿主 dmidecode 导出的静态槽位表 + for jp in ("hw_mem.json", + os.path.join(os.path.dirname(os.path.abspath(__file__)), + "hw_mem.json")): + try: + with open(jp) as f: + hj = json.load(f) + dimms = hj.get("dimms", []) or [] + max_cap_kb = int((hj.get("max_cap_b", 0) or 0) // 1024) + if dimms: + break + except Exception: + continue + if not dimms: + dimms, max_cap_kb = _parse_dmi_mem() + installed = sum(d["size_b"] for d in dimms) + _mem_hw_static = {"dimms": dimms, "installed": installed, + "max_cap_kb": max_cap_kb} + d = {"dimms": _mem_hw_static["dimms"], + "installed": _mem_hw_static["installed"], + "max_cap_kb": _mem_hw_static["max_cap_kb"]} + try: + mem_total = psutil.virtual_memory().total + except Exception: + mem_total = 0 + d["vram"] = _get_vram() + d["system_total"] = mem_total + d["reserved"] = (d["installed"] - mem_total) if d["installed"] and mem_total else 0 + return d + +HOST_MNTS = [("/", "/host"), ("/vol1", "/host/vol1"), + ("/vol2", "/host/vol2"), ("/vol3", "/host/vol3")] + +def _df_host(): + """容器内 df 直读宿主路径(经 bind 进来的宿主目录),返回 {mnt: {...}}""" + try: + out = subprocess.run( + ["df", "-B1", "--output=source,target,fstype,size,used,avail", + "/host", "/host/vol1", "/host/vol2", "/host/vol3"], + capture_output=True, text=True, timeout=5).stdout.splitlines() + res = {} + for line in out[1:]: + p = line.split() + if len(p) < 6: + continue + dev, tgt, fst, size, used, avail = p[0], p[1], p[2], int(p[3]), int(p[4]), int(p[5]) + mnt = tgt.replace("/host", "", 1) or "/" + res[mnt] = {"device": dev, "mount": mnt, "fstype": fst, + "total": size, "used": used, "free": avail, + "percent": round(used / size * 100, 1) if size else 0} + return res + except Exception: + return {} + +@app.route("/api/mem/drop", methods=["POST"]) +def api_mem_drop(): + import subprocess + try: + subprocess.run(["sync"], check=False, timeout=10) + p = os.environ.get("PROCFS_PATH", "/proc") + with open(os.path.join(p, "sys", "vm", "drop_caches"), "w") as f: + f.write("3") + vm = psutil.virtual_memory() + return jsonify({"ok": True, "available": vm.available, "percent": vm.percent}) + except Exception as e: + return jsonify({"ok": False, "error": str(e)}), 500 +@app.route("/api/disk") +def api_disk(): + parts = [] + dfm = _df_host() + for mp, hp in HOST_MNTS: + if mp in dfm: + parts.append(dfm[mp]) + continue + try: + st = os.statvfs(hp) + total = st.f_blocks * st.f_frsize + free = st.f_bavail * st.f_frsize + used = total - free + parts.append({"device": "?", "mount": mp, "fstype": "?", + "total": total, "used": used, "free": free, + "percent": round(used / total * 100, 1) if total else 0}) + except Exception: + continue + try: + dio = psutil.disk_io_counters() + dio_d = {"read": dio.read_bytes, "write": dio.write_bytes} if dio else {} + except Exception: + dio_d = {} + # top io processes + items = sorted(cache["procs"], key=lambda x: x["io_r"] + x["io_w"], reverse=True)[:60] + return jsonify({"parts": parts, "io": dio_d, "hw": get_disk_hw(), + "items": items}) + +_disk_hw_static = {} + +def _read(p, default=""): + try: + with open(p) as f: + return f.read().strip() + except Exception: + return default + +def _sys_block_base(): + for base in ("/host/sys/block", "/sys/block"): + try: + if os.path.isdir(base): + return base + except Exception: + continue + return "/host/sys/block" + +def _live_sysfs(name): + """实时 sysfs: 容量/转速/型号(覆盖静态快照中的漂移项)""" + base = _sys_block_base() + d = os.path.join(base, name) + out = {} + try: + sectors = _read(os.path.join(d, "size")) + if sectors.isdigit(): + out["cap_b"] = int(sectors) * 512 + except Exception: + pass + rot = _read(os.path.join(d, "queue/rotational")) + if rot in ("0", "1"): + out["rotational"] = (rot == "1") + model = _read(os.path.join(d, "device/model")) + if model: + out["sys_model"] = model + vendor = _read(os.path.join(d, "device/vendor")) + if vendor: + out["sys_vendor"] = vendor + return out + +def _live_mdstat(): + """实时 mdstat: 每组阵列状态/同步进度,键为 md 名""" + st = {} + for p in ("/host/proc/mdstat", "/proc/mdstat"): + try: + with open(p) as f: + txt = f.read() + break + except Exception: + txt = "" + else: + return st + import re + cur = None + for line in txt.splitlines(): + m = re.match(r"^(md\d+)\s*:\s*(\w+)\s+(\w+)(.*)$", line) + if m: + cur = m.group(1) + st[cur] = {"status": m.group(2), "level": m.group(3), + "devs": m.group(4).strip(), "sync": ""} + continue + if cur and ("recovery" in line or "resync" in line or "blocks" in line): + s = line.strip() + if "recovery" in line or "resync" in line: + st[cur]["sync"] = s + elif "blocks" in line and not st[cur].get("blocks"): + st[cur]["blocks"] = s + return st + +def _live_perdisk_io(): + try: + d = psutil.disk_io_counters(perdisk=True) or {} + except Exception: + return {} + out = {} + for k, v in d.items(): + try: + out[k] = {"read": v.read_bytes, "write": v.write_bytes} + except Exception: + continue + return out + +def get_disk_hw(): + global _disk_hw_static + if not _disk_hw_static: + hj = {} + for jp in ("hw_disk.json", + os.path.join(os.path.dirname(os.path.abspath(__file__)), + "hw_disk.json")): + try: + with open(jp) as f: + hj = json.load(f) + if hj.get("disks"): + break + except Exception: + continue + _disk_hw_static = hj or {"disks": [], "arrays": []} + disks = [dict(x) for x in _disk_hw_static.get("disks", [])] + arrays = [dict(x) for x in _disk_hw_static.get("arrays", [])] + # 合并实时数据 + pio = _live_perdisk_io() + for dk in disks: + nm = dk.get("name", "") + dk.update(_live_sysfs(nm)) + if nm in pio: + dk["io_read"] = pio[nm]["read"] + dk["io_write"] = pio[nm]["write"] + # 转速文字 + if dk.get("rotational") is True and not dk.get("rpm"): + dk["rpm"] = 5400 + md_live = _live_mdstat() + for a in arrays: + md = a.get("md", "") + lv = md_live.get(md, {}) + if lv: + a["live_status"] = lv.get("status", "") + a["live_devs"] = lv.get("devs", "") + a["live_sync"] = lv.get("sync", "") + if md in pio: + a["io_read"] = pio[md]["read"] + a["io_write"] = pio[md]["write"] + return {"disks": disks, "arrays": arrays, + "extra": _disk_hw_static.get("extra", {}), + "snapshot": _disk_hw_static.get("snapshot", ""), + "note": _disk_hw_static.get("note", "")} + +@app.route("/api/net") +def api_net(): + global net_prev, net_rate + now = time.time() + try: + counters = _host_nic_counters() + except Exception: + counters = {} + rates = [] + for nic, c in counters.items(): + if nic.startswith(("lo", "docker", "br-", "veth")): + continue + prev = net_prev.get(nic) + if prev: + dt = max(now - prev["t"], 0.5) + up = (c.bytes_sent - prev["sent"]) / dt + down = (c.bytes_recv - prev["recv"]) / dt + else: + up = down = 0 + net_prev[nic] = {"sent": c.bytes_sent, "recv": c.bytes_recv, "t": now} + rates.append({"nic": nic, "up": max(up, 0), "down": max(down, 0), + "sent": c.bytes_sent, "recv": c.bytes_recv}) + rates.sort(key=lambda x: x["up"] + x["down"], reverse=True) + try: + _hss = _host_ss() + except Exception: + _hss = None + if _hss is not None: + _h_tcp, _h_listen = _hss + conns = len(_h_tcp) + else: + _h_tcp, _h_listen = None, None + try: + conns = len(psutil.net_connections()) + except Exception: + conns = 0 + total_recv = 0 + total_sent = 0 + for nic, c in counters.items(): + if nic.startswith(("lo", "docker", "br-", "veth")): + continue + total_recv += getattr(c, "bytes_recv", 0) or 0 + total_sent += getattr(c, "bytes_sent", 0) or 0 + items = sorted(cache["procs"], key=lambda x: x["conns"], reverse=True)[:60] + tcp_list = [] + listen_list = [] + if _h_tcp is not None: + name_by_pid = {p["pid"]: p["name"] for p in cache.get("procs", [])} + for c in _h_tcp: + if not c.get("name"): + c["name"] = name_by_pid.get(c.get("pid"), "") + tcp_list, listen_list = _h_tcp[:80], (_h_listen or [])[:80] + for c in listen_list: + if not c.get("name"): + c["name"] = name_by_pid.get(c.get("pid"), "") + else: + try: + name_by_pid = {p["pid"]: p["name"] for p in cache.get("procs", [])} + for c in psutil.net_connections(kind="tcp"): + laddr = f"{c.laddr.ip}:{c.laddr.port}" if c.laddr else "" + raddr = f"{c.raddr.ip}:{c.raddr.port}" if c.raddr else "" + family = "ipv6" if ":" in (c.laddr.ip if c.laddr else "") and "." not in (c.laddr.ip if c.laddr else "") else "ipv4" + # better family detection + import socket + family = "ipv6" if (c.family == socket.AF_INET6) else "ipv4" + if c.status == "LISTEN": + listen_list.append({"name": name_by_pid.get(c.pid, ""), "laddr": c.laddr.ip if c.laddr else "", "port": c.laddr.port if c.laddr else 0, "family": family, "pid": c.pid, "proto": "tcp"}) + else: + tcp_list.append({"name": name_by_pid.get(c.pid, ""), "laddr": laddr, "raddr": raddr, "family": family, "pid": c.pid, "status": c.status}) + except Exception: + pass + tcp_list = tcp_list[:80] + listen_list = listen_list[:80] + return jsonify({"nics": rates, "conns": conns, "items": items, + "hw": get_net_hw(), + "total_recv": total_recv, "total_sent": total_sent, + "tcp": tcp_list, "listen": listen_list}) + +_net_hw_static = {} + +def _net_sysfs(name): + """实时 sysfs: 状态/MTU/速率/MAC,键名与 psutil 速率互补""" + out = {} + for base in ("/host/sys/class/net", "/sys/class/net"): + d = os.path.join(base, name) + try: + if not os.path.isdir(d): + continue + for k in ("address", "operstate", "mtu", "speed", "duplex", + "carrier"): + v = _read(os.path.join(d, k)) + if v: + out[k] = v + # 驱动名 + try: + drv = os.path.basename(os.readlink(os.path.join(d, "device/driver"))) + if drv: + out["live_driver"] = drv + except Exception: + pass + if out: + break + except Exception: + continue + return out + +def _net_addrs(): + try: + ad = psutil.net_if_addrs() or {} + except Exception: + return {} + out = {} + for nic, lst in ad.items(): + v4, v6, mac = [], [], "" + for a in lst: + try: + fam = a.family.name if hasattr(a.family, "name") else str(a.family) + except Exception: + fam = "" + addr = a.address or "" + if "PACKET" in fam: + if addr: + mac = mac or addr + elif "AF_INET6" in fam: + if addr and not addr.startswith("fe80"): + v6.append(addr.split("%")[0]) + elif addr: + v6.append(addr.split("%")[0] + "(链路)") + elif "AF_INET" in fam: + if addr and len(addr.split(".")) == 4: + v4.append(addr) + out[nic] = {"v4": v4, "v6": v6, "mac": mac} + return out + +def get_net_hw(): + global _net_hw_static + if not _net_hw_static: + hj = {} + for jp in ("hw_net.json", + os.path.join(os.path.dirname(os.path.abspath(__file__)), + "hw_net.json")): + try: + with open(jp) as f: + hj = json.load(f) + if hj.get("nics"): + break + except Exception: + continue + _net_hw_static = hj or {"nics": []} + statics = {x.get("name"): dict(x) for x in _net_hw_static.get("nics", [])} + try: + st = psutil.net_if_stats() or {} + except Exception: + st = {} + addrs = _parse_ip_addr(_nsenter_run(["ip", "-o", "addr", "show"])) + if not addrs: + addrs = _net_addrs() + # 展示的网卡: 静态档案 + 实际有流量的非虚拟口 + names = list(statics.keys()) + try: + counters = _host_nic_counters() + except Exception: + counters = {} + for nic in counters: + if nic.startswith(("lo", "docker", "br-", "veth")): + continue + if nic not in statics: + names.append(nic) + out = [] + for nic in names: + base = dict(statics.get(nic, {"name": nic})) + s = st.get(nic) + if s is not None: + try: + base["isup"] = bool(s.isup) + base["live_speed"] = s.speed or 0 + base["live_mtu"] = s.mtu or 0 + except Exception: + pass + base.update(_net_sysfs(nic)) + if base.get("isup") is None and base.get("operstate"): + base["isup"] = (str(base.get("operstate")).strip().lower() == "up") + a = addrs.get(nic, {}) + if a: + base["ipv4"] = a.get("v4", []) + base["ipv6"] = a.get("v6", []) + if a.get("mac") and not base.get("mac"): + base["mac"] = a["mac"] + c = counters.get(nic) + if c is not None: + try: + base["io_sent"] = c.bytes_sent + base["io_recv"] = c.bytes_recv + except Exception: + pass + out.append(base) + # 默认网关/DNS 实时读 + gw, dns = _net_hw_static.get("gateway", ""), _net_hw_static.get("dns", "") + base_if = "" + try: + with open("/host/proc/net/route" if os.path.exists("/host/proc/net/route") else "/proc/net/route") as f: + for line in f.read().splitlines()[1:]: + f_ = line.split() + if len(f_) > 2 and f_[1] == "00000000" and f_[7] == "00000000": + import socket, struct + gw = socket.inet_ntoa(struct.pack("TdGgIhlNO$6dRLj2idMf<2l42e5s-?4@@zVeES3b|+Ji5@?C@>1@l#FP5t$4RK3 zG29J0e{c8d9Twt?5|Uos7!2mEWy9MY0!H}K$E@L7o2u2ZA_SDVfvvfnt=(uVuFZ+# zv7%xS3H+kJ|CDYpQy{Y6#lJrh^~P zT_vLvv|k*^`_uF-MLLoPHPad>xZe1aTqNqY_{9z}A>3jCwm)m5{D<{?_jJ=YCcEX4 z>E_^`pA@$($2|Jdl?3dTH3P2k{SKtJ*y}4p&B9+}orT`C%ba?-%Z`$P+12)ZnUB&1 z)xPQHn|mru7~Z^ji}SX);f-zErJyq>lw|41?ars<4AK$3K2?0EncGrfxzD^W zrYWQppXbd~&AZ9Xt=Leg*Ys8GpLaY?M$AI&6Pvb>SU+uiN z9?oTGyE0k@|6^y&4S9OG@yjjUqBaU9nLBqc^O|c0(g{WIn3d}`kew-MG&$o~9MxyE zFk05n#%a*-$EkrQm2<-TQ)&yf&Xhmz=$nz!wIF5%K^ivI-0y}RF%L}o1#K3Bs3b`P zx2mw6aZd?{c(wyye%r-|rUSVJh8>PtLnRi-tnbH?|2;0t&X0$QOOZ9Mwxt@0FTQjq zNzOJ0vl_NXrO3t#Tm5O=-@?LAcA2On$x5Ez8Fk`tJ=l%83QPD2<*KKbNLOJoCQMS> z5J*2(WTG-$Z05E*;Wbi*()i?Lutd-hK_xZDT)$mS5(*pWa=14e!dve{r9k>7Io4^J z&*d>?k8*}`TUJtz@WK9GPe>7?9WuAprbR#aMPwWhp=I7 zx<;#W+%MpZ8gf@bls$Fo~-v(sd05V^UoHH?7ibc(9Oqt!{WeJ7Rf~O$6)WA z?up0ac4WgjMNhviFlZA*Gb5`j4VgN+VUO)b9mGzDcW3^1f6{G#K81QR?Az-U8hW)f zZ+^ZEwbBK6N36=3tL1m(;-76>$35{h?$6}Y{q1K_gWnET(axJ)87Wh^k)8j0Hr8!) z9lJX5Q^;}CGBPbE(se;#n)QQB*u9C*H=brzG!0wSxXg9lz$PcX_@dJu#ivb!KiKHl z4`+}J@uG8VM5T@D;4_snl!pq9*#3S$rDkLw=&C6%e_<6ZKF|8AT+VGNQpBJkk!b^+ z6OJds)~xn~@j|C38wr-S{BMlt!a)L?z1br_H;>DF1E|A;_mVdgZa(&g*z_LJeWm^)1Y;(DAv%ZE8dg%mA;qRP+^|eNBm5r#pXs@N=$PQ^T#SmYU&wQ zqkvDJR*PN`<$7u?9PDkl9qy$t#yHGe?)cgJj^vDTwqLcZPP#9etv5?Ug}Del(fxN) zuWdWr@am5q(Bx`37V|}8hXHRuzw2c19=Va!s*g!ME8Z1}o~}deX5>`M-^}nX8Fg$?**7^#kP0a> z4FR+nnq^j|8Z{7G@%C$z&E4$UmG--)FMRXmrfA*IpVA2D&ABeM0t4m*Gfa6ARjxM$lR?whdZ~^`-W;8J zpZ4V6JPcoKPxjiynPbWyn2!vU-*8kIb>5IhN)mRb$UWCc7llf4Zo77Vf2=H3Y>tU| z_*Uod<5`Rk{Yvg=)@IL?53nzy0CkK z^%aT2>{c-4vu9ePmO8#X%MWHum2P)r*Y%uw$*NiP}zHA34q?7pvLn zp!_mia-H1|_taiLN{TtRaa{dQT_~o)4r>SnE{Y5CZiVBP@obd;Ro;llZf5)gbyyiUW;>t?p$qg|k_*>8P98>P^DXo6(=A}Seo1mv{RyvdTW?|#uwCr@_36T` zpv?+4Or--VLpjTuWiVT-;`4b@#lP~QYmO-Rwye zN3H*9f(io_J6F5P5khBcLsjWw0Ih&BYs!l+H(_hjnFOJp#0WWUFJm$yv_;H5n5(9I zHRECs7qP;{<`6c11Zw=Q)ZQ;+QDeEoyR^A;GBkm`L#Xu53P*62@IA?HzaDJhi|~8= zJz7?JTcKFDb%GZhyjc^u^bgEYM7eq2Csqc(8RqH8ZdSN@ zw?~;WYB=3eUGiqO`7eJ>%!tUEj5h zYfY5fo2LGhS%y<_Vx#WIH9nNV36TtCH<~=et<+=@Ws!Ail$iHDgK*|FY&V?{S?|!D z5;81~C2SW~p-?G}!nm%n(#yYCgO@|bsB23!0n$`h&#zC1B5fB32P4mxY1UFpR?6wyN)1Ua!aKz*^KmvI&Z}IW$T{s z*K|a?P_yl3{h5Po^yB$&hTc`NR<3F089K7#HQ%n3Ty;}G9CS6uMar(&UvH^m=n*Rs z4X?Hv-R7#eI-3!B-^iNvPn99L)CgCB&Wsf!KA4PQ_*c^1F`hy(gF<7OC?ouc$rH$Zti_(M}f+sa$>TT)EI< z*IYG}{i(w?IG8gO&g8F_GmgK=y>sSNP=)laIa@_2T9=E5e3g~DX~lg7O8Mr|Nn$Eq z$ZAEt79r|v(qe?Fm@JoEsb%X9<;cD1o3XC@X=Rw?$L~*^MO-UQ-lNZotSCo|a)P+rw2Z{}%%+07X81xg?g@z!F{`MuzHYWAukf`T`Z5JQLfpO~ zppM2ELCKuyV>QEq=`R;$B8=>V0HKHV@e60qcgj(` z3lnj+!;>Ke{ANN`sPUnd6Pfsavm!%7B<~4JfG@xM=#ssEU_W*Uua*cQot_FbNQKHE zH!m#&2}C(70sXTN$79PbsE)5!_HN3XtkhANzs6#E;KuzA`q?)oi$Z zk^hooqUpzr_p=>R&cG%&yySvE;k^agA-tq(^gZJnO|_PdPRSs6n;$--}?IPe!5noE?_;0!5-x!4m2O9>}^G@F%c@Q7+?$*;FHA^iYGX+6Iz>TUt zBl1wUeLw5lSOLhNtcnY=7h z^d0K66*h>QlXKmR-u0!kMvW^TP#=R#R4JtS!Gea7zN|<{Z^3uf)?Dr=Do?GXJyEfa0=%-^F~ z-~nnR+enQ4TF?n>O#`n#{J~|GTs@n^vwKWRoa>+*Pwr&2eq4O({=FVqDYqX| zQ8kq1Q>}CxCR?V#+RR0Q>BpymzaFCl0C-MlaxxZAv;weB>)|qA{9Q#r;x%4_&Uq?{~P3FPqe8cv+C5kcj9f=*QoFu7B_~Sg$Lx+d?hej8Z$~jPK z3>7|d0G9K=PpA?i9kb_pl=78V3+lRWWz?wdyq{L_eG-`RB5Z{8(eK;B0+wWfXWc9Y z-7&Md0&TCKVN)IOyH-(hYUMi z$;xT|T-(Ywr>>3jX-#r(w_9gZUwQlEV1egJ?&!M<8o$j%3UKmzAG*h$q-_+j4q1=1 z8%6Li=VS_2ANnOc9aL)I4f94_DA@_{ddM(9{7N7qKazM%oxgYCdJL0n%=&Z-E3J6Y zoz71e4$Xv%Fj9YHT@(_!ZM8OEKkJ?D^_EW;?99=SSxFU26TMFEob)WCJt?MSnT(XM zS@7z|JMGYH)x62xGzC7ZKX;TD%i|eXSQb`l5^%{c_1;VB zJx+<-LMqvs{4>t0KTdWCZb-pVmk4G_dghGZ-wIhNkp)s_{r6Q1)odq3h3%5#Olvrb zJz@jc5ux4j_e1Sn31V%pZmhQptVBJ0`y|aRlE_+22}juTh97eLu7qW*Q3D zHw{l+|K?*6i7bg8RC1HRX6tKPUzJq-S}!}v<8D4esV{1yx;y&yRtA5lYqe6`Z!|~c zMHNHwh%U3-*9kv*c}}*|7rSBhTAy&qIZ8$U-QbmMoy@^ac(o<84M*S8erJ*4Vk~^g zZ8>5>)68Zn&0unx1jDovPWuAg`GaYIczmQR=a(0twtVxUcv0UGezQ+s=AVx(6Z*+f z76G4cwoLx)no7cA%P0QubZDp(Z{h-)Hptn!o|WWtB#Bd2Tn)9288pE>kdl1qQW@Q5 zCW2e!>Y3QsobO>%p-YRMn3#adT@7r`gRF0tNPZ3$7;+$m9Y4?5VEdsCwetDo)=4^* zJMAn(S9t^#Vuf8=uhm1jYtNKR_=rk99hu(&(4J8$Y&F*H5XgiZH*UD#wp|v|QW#~T zRMX^>s+i%Wq>PWNw$?WM|n$V+4T48>K1_labnq5qMShvAt+n)lqh98=wugN+0hw$RDSW zR%~OXT%h^XjqwxBSUFW;s1#H8F|=z6?{wP1Rw%6+>QCK$Trr}jJ`=sedY;0rL(|5z z3U6ZR*Ko~L=|I$n@;>dAJCpqOtKT(ZceNoyx0;BR@-hN}VjkzqAr^40OO`>qq$to+ zp#Cm8cQ*9qE%nyLRjn=8?duC30sw)~K957Nk%QcX1OtP(-o3@E&jnqIUjJ&yhU z3QlOQZC+8c^M@9GSKWGhQH`WzUrKoY&8Bdapo10Qm#f@wI-wN=#PO#6o2;-Azd8YM z4po0OZn?rhI;FGoB}sWis(g}<5Gu@9<|Dt|^5WT;*FDUk+uP8PCiV(K_aC8bSKKD6~CL`gW>t$J#Z7U5j6YDF9jzG#xwe19>|2Ko=$7ilfsn+b`@0YQppIn=QE! zaAR{_2}{Gu*2O~^Djd^m{1N}Kvj_6kpZRSTdQxOrm5Q#m9-$~Ib9HNh1p?J0si=o* zz$BJgO>_P{hD#xRs&qidZ~Y?J!$9WiZE;1n)Y$$kWfm7X{VMX=RC!*NEzRt4uEq5t z5A_VgjNYt8-}Dk*R#qaVOPRsA>`Q_=*oSzh0&5(NuhV=lYT!3=tD{^lC+JPlcxN{U zuU}^kf|&zoc`97EW8?-|ord+}^d$$v=Cj-s2&7LXCBgWn(_Ecg$C{tN zwKx7;p`+lUULXTLc{$qT=4gm#OlL*-eewNM}v~8KEWizzd&mKzIF=VITrIz^^Z7y8!-e_wqt5x!T zwj1MtX-PeO_|-4k?4#+D^A$-OhAj`?Empg9IaL4woGdh_f^_=YFjxj z8-|M-oyBhyN|MrRYbM%5%=Eiyke!yMZ=TI99wS_{{o`CsDG{wQZ~CLxp)F_P%fzvM z*OIkAJko@6vv)l4-se(^m-tIM*6rEOZS->XtZ0>wKS1!DUQ1ROmPS;z^a;$nQ6X5L z7d12#EeV&5si+Pc*3;}864V)8^4=DCg&WoHt&DAyk4kKmXU=(eaQvy@pUamYB?@+O zG|!#w?!eoPWwo^r5$t{^&QE#$I?6O+dt};?d)fg$rQuy)0JQzXaLNb=voRz3Kdh$% zEhw_yc&oac7R_u&Y>qd*+re5wpzwOpklmQpe5vMOfsLJS ze!L@Fpm~`F^y|=Ij_4RPOgHow$6)kTivsaG^A;7Bdpa3|IV%q<8V(}Z#jg;sth%nQ z=Df6Z@(dDux$+&xgUcn$j5EU%!SP7ZK-g8IQNi*LqkrOW@8&ho;h=Y`tE*ElHZ`hd zhG3|2-m{A4w-LPREfXWCcD3slg{povwKO#4Ch%4DQ<6-p z87E3^d##`w@;#3RN`9>5XR~tWZpb2`(4NFlonn4Uk&sjs( zlUpxy+#U_!Qn~0aG)wkJ;){@6<%bAYT{(KE!|>IDFUq|XJxEL8ZFB@OEFi%mINs>Y zT+={}wvV5xla2y3*GsFzwtwpKpoyD)5%WNydvm+B&SqUqUGwbW8iN$6tH8LS`E-GBH%=-k$54 z0)id7cAKlVig^vYYf~rBUa~wqaKP^`SFAX0`#I_c@nU7MrALBLPW8S-$1k=A-k(10 zLc0y@OqLO?-quKF#qhYzPu>`x>bEn&lUZMX%dVsRA9u9RSI({a@Dx-yZ;g9B$XD4W ztb*_~+&Z7%KkUM-Ej`4A4JHw~i;jLMv@#!dU)&LEZneK@6pYoT(W?tmg{%1hOc}}pU%L@j%A0?jv%2j)V7b5rbwp5 z9Ah=xo@FuJBP(Kd=<`-mePV3>B9lxMm!S+vZF3`4E$fM5n(!O^*1Hk+UO!2A?yob_ z8z^#EYHhU1rwl|?+YOlpdNVbP!uEq!{$@L>)=0V(e-H=o@V=p=q~|psnfU2-q};mf zThr!8VgIHTazUMVvSlF_V3imN)bd}xfNO&lb~))?w#y@zFJDemuhtl@h%w#{I%Ij3 z4LrkWrNc3YPn|5@CB#qJ|tD zQ>Y}@o=zIdMEp35Hz~6X!W`J)z1bMq^U9WfzEJrVqmgRinca?5q0`ve-J}UBcEx{p z!ae6oG{~s)AEr8er;n2@YsqeVBxxfy^RT(aIPN}gV|GN5jvw}e7MUbvEMk}c$6&l< z)3*Qwh0XLK_2sh+PItzGPJj**aN-djJnt`W)j_wC~+9o6h&? z@Kl(fv+)}pA^;o54Fyd4Gw;(rhT!DaD!0D%+)owCxepa<;kTk;Xo?S3f0DDh?_4Rz zaul1OWlY%B@}HS3V3_cKm)e6nFTcAJze*xc7w5u@j1A4yNVowl9=ECTT5No25Tq?O z6&m*#-&QGwH78taCc&gyv1}2^8#Cf~ckz!)c=N-^JZk*X4J7$a4`E|EwWXORc_o?` zTRV30X`r4&MBLLR9@*)fm41<2`Qf($De6QIohMRV4=s8c*DA7$)~ZBM4o=6LB)?ox zw*J}gOD=1=z4e}+9~o+6GdFU4jhGa}$slcUrQqXp&CX|2&NfS;;*(6H19~B|PZwm& zr$f$-kzr+@pEN8}n8`Ko4JdFDR^?gk!Hw~pwhPfyQGXHZdul6qy5Zr8)qVv5Y1cmu zX}MfY6pR}M@3uDrHC)k5zsgOH8zQc8XjeiWSa8R|;f@w^Qf?Rla@rv~1V|&0x@SY| z>YO1NoW07kh~F9GeV;{k>0T`=`Wm0roa{+XL8tQ?Z%r|hXUfIY`X;p{f6gWP{S9*q8QNQ1`6~*tLi%=3 z%zH{^pqf2&J+KG585|sZdX1l<-2?!3Guk)&4k(VmDrh^-Gq~hRBY(*>2cIOT%dC}W z-CbcHs9uRH^Cj_Gn`&U)&(bJa28jc5$}T){WO46>3l|vOa}?9QUesAKW+<&*zTU-b z000Xpt;G4aQ@@RFZO22WVYa%3MiSOrIE02Ro#cHobtC=(WxUfD0CWvOy_{|dC8rYv z&=s#SkPKjw0_3t##w*-!&S#8DDH&$OrpQFg2PbHVqzxszj;8;(e{6H1E~c5J>O@pt z_v;BKt{o0R`U~ln6F)L{l-lL1&9fJ@anJi>&s5&Xr-H+MD3sm#!;*)Qtl}DNh@o@{ zv)a4c0KEiK*KzG9wLg`@}_&JrdMlD3iMpyuJgmT5)Zifd{tjc%9_^jtX2fR6I z@`1W@r4g-}S+#3nX2QV&hH@aQEhnBNJp|r|-+9*(fI(2k{K}}^m;&5S>wuOJvJBsK}? zBL|%hzoX<@)S_qT)hDqzv8M#4ZO)>Qyy)ZpV9Z#cOavGcLzFAHJ)mo#bHp{e9jO*0 z=+^npxcA{YB$G#=0ciNt`T%%vWSO*p0dcHQR=TA#lF#k{r zHuam&8P-MpX^d;G&CSgPf<-aYK8s#U=|+T%{Kj;PAzp(F`LKAZHKti@`7Ig0lP=>* zc<^=YcLXJTqGK@*Z?Tk>&w-5%KYZJ=B0(?Kdnt?~DYW!;$066$);*?OFz~Sg`G>qDYeh4&9kgU#W7DUy350*lrcx@m!jG|{I; z1RNU@lf?Sps2j=c|1uh;GD~OTA&kpom(RBnq_dG+Px<`$vy(1~tNQ?F2z|Q~1ruf}bwG?mT{X z92Am%@GRkTw$~cEybL_6lk0QYZr-fhWI2E=fV2jKk>TuF*czn|rpZT!gY`e+(Pjfo zclar~#Xq|CNpXqQ7$@7Xc^e|mWnq(6QF*czKzWcb_F2p&1?N70ol@jZN)k zBhVtM+^+rUAZxHVebrFer_LN+zpzrLnd}1GrpcjVS>zv!RqG!gnJ?~QhaJ{*RjQu> zD__I^R^~JwXjn=?jqL6ICEo{b$&Y^ivKzeq<1roL7TJ{=lX7vll_pi=)nio$*9;{S zSx3M>g9+W141HLn(SYYc&aVWLZ|(3CLd__wzl(=HY+GkyR9iIw@NC+vS=dN(u4sWiG!-ub2;(m>z1wRxwBS) zrOwc>ZrjA9bojT+0rbJbkl#1*c6suQe4owwo%i<~>`Zs47df zzz#+?p!bmR_NTK32Hx5R4rYFB@eVxr%qW*Wh$Ha$Qkv%QRWpmN-)*WA4gMnc#p3Ql zPl2;okMOSZv$C1(>%>I!e5{3cH7 z$8#{IjaXV?AxA0Yqt>hjz>&k?ADgHY$Asx$QQl6f*=}<)Y)bh?xA(Yaf%bB>gP+yN zL7J5f+s4;-wjypOnoF_MlKh;g&}4hxcI*4C`~b=hDi?mWcZt;IHNYGKR(J?DKndG~`1tl1 zApt-&P(%8yFu^?FvOIqJ;+>e*uMCoacbKFj5_kKvg72C8*;?diS8>NxnK3Ps4pB|B zYn5-7jJfvYI4Uf<>Z+HRS3yQPN$+e4j=&g=jfg{*N&*Cya+dlQ*hVz|${7fA=Duiv zz3u33;4oD^?)yJ7m9PW?e($PN<`+ik2(VHa+c}-7QjfRkAr3TdaYY#DA?(no1eM=L~O9!S0*mEMRoc0CQPOKp@ttu9{ zc?{CxVDG*DF-H~qTdOByd{1fF>1^mam_#Cj5BWpeMN0q7)lWIHY12DRtk>rWq!i!n zEw$c{2UnEIezn8)P5s{t-Be{vx=rO}bj=ZWdouB7vItM?_3SJ7EMmw+G?-C)IL_cA z^G0yufb+2G`F69~R|Cb1nS6cuqC5P;Z!kNc1v{mTWW+eQEmIECw<(}NMN6=g>efg= z>=u1BE2LkTNnhUka_Y4A#OZ5ih4O)2eYO^l>JX+Hy%WSgcCK)PjPZEwF8Su29rbZm zyE}uw>&(9E*}*A`cxXB9F0=uihltIBB3R58Z``Ej&^9F==cqYY2N(!EA#W80Izwe; zDo`Xwz|MS}iG7s;l<=&Q(IX!%*m+0VFMyH>ro=9xaBkRr#Wa)m10stTr$V;Ov(*Zo zm*vR+0sSOA9C!iak7w;{noj<;m*d4OUm4vluoBXzuuO~lSWt!(ZofEc7W!N1gu+bf zTlEP8cr*x|hV;7{grM#smfli_xCRAADRYdgMTk+&T%*sIVS;m!9=7&aT{w<<&T#K6 zLlryz^~NQ|8N2N&}jlDKLYpj7jFaB@*%%< z^CnOOd_awYrITeD(B0N!8X-M6EyrtlSAd?8aHC+9+HGQrol8M=eSiEO4ra#fYH%jWU#>rX2bPw(wxlkezc#~tctUD-Ft`DoBUG*CG3ld=-OMl$ zj!KZoajF3;D12_DjZ;xxG$Kyj-1n;DL$XDa78oU{xe!kxe;>j)RVmdVMAttwn8t7}5Ws*b=cc*|YR5@D- zN+LMQ_-L4Q3N3rOQ)CH8EYo0qePOok0;XaI)Ibb~I*MuXB&9{*2((@t=sJ7=2D4yI z;M9aW=Is1@|FNj^F14JyRXudCPHI**7(1~@&doZI3N9UO6=l^_w}xiBmz+COA!EU{ z5874GCb)JW&{+N57AL3gImzTq*SV=!M}Rg<<0D+K+G*w4@3Mkj*iJp+V9fro(7H9CDZ*SK(fgt@D?;5& z_nTVG23E$rXswqAtBgaT!Kp)&C>b@AaS}HgnOA6&z%Hhx+&P@TN)ZuLKx8lkYnbiR?n)>y9kED0eeihDaA?DvKrggORCiv!f_BCHr)1^yWK>T_ zJ>RS$&1@9x9tPDRWZ($X7s*Tu6_3H(*%GqFS^Dm#hG7J@sq#U)?N7%*c~FO6mO+ss z7hHV=>c!o^>r^Q|hIPO2-J_&}q;4AVDf~Qfdr`%{I$VvY&F3Esj?I6*|6yW}HnL2R0DgC&4#a*KflXstYO=9<3 zwADrI+MsrG4dyC%C^{TD_NcD9tT=J?_8|+=qRnv>^^$Ke^0GAc+`8S?J`+L$3APHt zy5bB)`dpMd<%RMy>jhW+q{d05ahNfDUZu@?Qf0O|a?b?K$q`d#&HnlYvDuM1P5JIT zijyY<*OTV(qhYh7Jn}r^R)D&r^_GHL)gL|)+2$x^(?t=tIgit_rERS-f(14-3jM0k zHD2S(W|d%7Ozo_8aq`Ro!Lp?1nP?qIA~5i#UWmOev7M zvmIzaU(pGgWl1;?{I-YuV3_s0%%x5QlOBKd5c00hlfO>?GwDG5js0yzzh|r;eky*d z>STW6M!^&Cuw-g19kxzyaeRKjbz2;p@^m~u&q#ei3{t4I*OzkHnze;b+uLfoJU9uZ%TRSHV`x98x^~@tejHA43n- zyz({!mOTXcIE(7N-)06N*bfz%%<^zS{{`vR|&gj>8lQAg=8rRy=d(5uZIR5F;(DPcO6p2;)PH%embuIyhFqY-;>t4p4z42 zh24(@q3zR>;ga5_?&O2^#>08O=quM}B)(uwcFx=%dTT2S9M#Bk>ywl3K#Tj}<;CjR z1_L1DfkUNlb%8~MGBCTiclqxaMbzH>KPR}pKc?yY=POW${%7>--^KWUak%Y*iGy33 z>4c*|tlFFZChG_fh+qBt+YqNNo(2ugh^Um$Iq=`lo~P*~{y%5>*81LfH zF8uci5##3IulNe1U+M%OH)ez|G*kfp9(-wJfP5lR31d*_!@y6nU0aUgL|!y0;-#svqjYtaxf8;)8(BY;So809 zAeNu_NKi0HBzl7yg5|;Ssw1$5bstXuGqVNXSjrlX*hRh}avs*0jzB-!K>qii?bs;7 zPCP}Je)#Y~^}o+rs&IN3L15cNcHN`-@6-P?vHIUy{QoO4@2=QDa|p~~#GAqV>0{)A zuP`4vJ3Ej~BsA`QBse$1@ma(i_uq(X<6*l4y)KQqJ#DqXqwFDRu(Fk@FnM?m0i`BX@)aU*5omsMokwvDldOrcP7>P_deZ(+D1mP#CE_^T_fB;>4j7m}v$I3-lFX~wlKLWE0 zC-VoPzTefZRHbN(>AOFOY6#BRaTs7d9*KY~&{O~~#?Cv06MUha3_ zSn6;dvxx9JfTloD%G6+jG-P(uGTmLf%qq!-BF1%p9yC-9g!}aefP6uBROg*|PcGc} zmBDw`S!;|Ac(igkX8FXI?#37yQWxpL^s`_$i5YXnWo1`IvjSiPOGLQx9^JSBJ`~OS zGU6Cw@|}oQrpA#x(H8Nbz|9}$$%sJwXj36s{Oy00uv0_Wb9e>F=-^~6_$_U#)?9Wl zhKyvi{E3_BgECloHN?9!ME5Lb%dF?W8hZ)NW~9c5xK)SCKzahtlRn9Jh>;_cn|TTt zmkvSr?3YeO)(FG+`tkc(w&3oqD?bg1bd#R|s{B0{+OaSof5(=~7Z(Q$YBswiVWy*V z6R6}M&m#j(JC&4zR*O>JXu1;X8H6Q`fc@&YbV!&CY_HAXm7O!vkXUsYWn->gxsvV; z*_79GptH4iIwkz2v=vM*vmt(XA}*C~0Ib5*%t|U(s2*X`wIwnbk$0z;6~S*pQ^;dJ zk~$B*u^*Qa7DI(i)fJNS7Jubz1me-X{EGKhSeoX;BA7@?Zz-CM1@mSb@7Sj1*f$s5 zw?)Q%(Dv(=?I#|T&naa7!v%oY*VYP?2VwW!J;t8`VPFe&=5Rxus?R_NTmfEWv|#+H z=~P6MQ&501p z#4z7vgwBqpk_38y4x-$hRb;jHm^q$lI0*%VR+!(?1658tNH@HGy*!v;VPg%;*keRM zhOVW*1Y|C3)K*fcHkeJ8h9SiD0*6cjcQXv<7LzCtmUb*E*(2wI!uq#7Xa2VjQk6wH zGYlO(WfgZCfzUC5QS|a|?w)O%X=u}=vofh3xmdtB-vT-BpHIsN89!LNU zQI^El_fquZa6A;yi-=>jTJe6qRFWVO_}oVnw_Fd7V-b(`U7VCc=N$=o>=Dq5pX=4P zz?An%QL-rB`MgzPHq4{@`z#I(#O7SoV+v5U2@rbJ35T`>*l1%rLCUFDY2El58a(^exX`Klh-;q0opudb8JVM@?W>6HOfxsCOQ zeOcQCKrz+k9qLm$d$}+HUviR~S^fiD`(UY2pWb=)%o%K7MySw>xTP@PVjvg^a54>H z7B=~*Bm%K~mxWp=X9kSYsj=nUTtusFyC5R$!01IX(td)3EAE}m#!MTv`}gOFvj-WA z)x}YZoYl}|!(v-$l!LYZXn@F-uVS$?HrG4_kQ2AX=m>$|94|7A5wjSp#$<(ec^o_0 z`U`9mBh=ucXd*_81nXR@ZbUsmlIMYGPJ{qnO>J~nQjyP%*(h*HYvd(*X;#{INmbZH z&ilqX6ZPrkSq+~zCC=jHl+!D>y zmvKXc2cM5V+qjR=$yOneq){YIxLG?aassXe}MkZm2J#X$?tBz~na!pu!L#90X7rK9<`A}y+60#-UW zGQ`9({yrR^E8KTDIlHa4GU8_Yb6-C_3TL0@2RLJM&=sKxF3{9vhe?d-qiykW?Ian8 zMLcZbsCj4@@x275XTb+^52g4FE{?#M>*`8K?M?b}C{CCjT7#&tNwb95Et`#*GH1E| z<|t`I6BdjNufs{U6(QeIDiQ)(8iB>&)ZJE74-(>r< zwT2J-mLr=BU&{-cMm!^cI$GZT0PA;^mmO}9*nSFS*QjF98U%Y7Vb$S?xUc&hl+f0~ z;+KVQuc>o1gT66&{9^f#Df-jrpiuzKU^Qs)Vqu?Tt>TqQxC$OGbmt{Gti@?bT zbJ7Hmx2aahjzMC?xFa~W3pkpgZUJo%(?>xZNNp7}TW&1n^rVeR`yM23+mOWMw_kiJ zVLT<0kEIL1i*EM0Xe{Cs+40(1v)M)7p9SRp@O=?SRd1M9)xo6{O>7TwR?h#Rhe0C9 zelf4%$^4y0mnxFs5usI22?cF*h`s z9~-*9NGQt(cQio?pkX^oi5+|{-OeXiP9R1Qef!Fps&W*tr2N3MpuQNfUZbWqP`Pjw zHev~^v=dPYtmeUfE7iE{J*7ZSw!mncc1Zaf>LmEZf)1;z6qXG~7*QAKMQ#ePg(%DM zThDdEy(T2P1K>rh+M9{AH8sr^0XBZlM(PtNnRApsmN%dF9f!L&b{tQ;;3)6Btj!Al z!v0MGxD&c6S?KvRz0a0<&|D10&Zkz~sZ^DZ1M(@Lzri6SSw@+YX>sIqyw}#tf@eo0JF38x2(0S#(ILFjS+N`V++|Amar9x;Y4i z-HBs;ic<+b8oa~9F$W9Fg(=;ib#-uyODSBwv0(yJHEk}6o&|X`D13o%bZRdlbizj$|NEI62>pSWjbNe3(;X)|UHMCk8gQ5Vcj3ZBhN;bZAAt*jD0z16E;oz{jn=riX&o3l0+s9&Ym*lR z$q|ank^Sdr(BJt}j5CZI2GtomLjSSt3`-i6;jY=CjH0yB$TsQlhf4{PlKHmal*6$y znVI9?saUDz(xt-64{ZvVmDRlxK-hj9EB}q2b~u_e!uLaX=06=fx_?5XJ?uVIW_Mm& z56(B8*Mp^PduR>sE!xyA@!S=ygIv)^t$0^>?H7e@Y{#*aWQxl;7@4kwC_A({4aB`$?!FvyB=F_KBs60q=kavXfn?1>%h3u|y zf>QK24el>R+RPh|MFzw8&9_7K>|gvqw;1TpruxW~e|5oTl`OL0Qeqs9A>M7zOhF_L z_!a&ySAS?8{^cDN^Y)R##F%Y<^i0=mxG2UYm+~-fU8pe zb&iI~aB&uz7>}fTe!i9s?z}oMRNNdgGdpsrzAJ+}ghE(fyG#eG1Q7`|uv-lQAb^%H z`|JQ|EA)76&%llVy)1=&OQJ@7^%u?A`{ry>+bd%hjMfj9iyO^z<>O!8MTv4d4B2 z(7Ce#Zbup+vjP^&7h&;NFcs*sM%Pcq9!tuPf5S6o4dgaZ_Ig^6^WGyFRZ1qDqys!+ zo}^bGsj3v@#KTdX5eKMhs;m&^-_zww5D2^QQnfdLq-@|ZAjI}TT3>Rs)J@ z6s_%)_4?;WgKCU;QTNyu7JYQ@2zhT`>U8tRGgK^z>ZV#rEC`;A!E>HRpi#ulwZ#Ti zfX2S1`q2#OY?0@9g7oaY_LvMdbXc=(lL<2B7~&OJH0+_u1O6T@v4|bM**85D&B>qU z&Sm#(FYe0t(cJ-1;b)TXV2zDp;7$$07>D0w$s5M%Z}Vf7p95NS4)+*tH#zf)stWRR zUU)lXU4X5M`*5$-SnFAGa`ZITo#>eL{9J!r$mGOPl@CyiwiYjY^@F%$Z{~>#coBGp z>&-lmObRHNW1PQ%87TWH27BEHj2IqMh|_eIQSFe_l#Hcx8K`Pm*Z+NEIw2=!3aWP;U95n74EZB%wHbaSj4oh8_)lKB_mkxJL)G`OqpU z#VTw+TOZt|qqqp=zSd9&t>2Iy=}*ia5yo%xzi4~!K&t<@e_TXS(V&f{Jwmoakwhfp zIMzXgI7Z>vt4W9kvQ_puIAoJi8D(Z3j@dAd`uU-80O8vgo*G=FA#POSV4W1 zdJI#{U~QxKM{1IaQ~wphw!0zDP?MN-JXn!!&y{%sI1b0)wzely;lWsv37?Gop2HD_ zl1@4};0Hhvu)fvCh1Pa&(3SN10{=4)23a^{(7D}jaK_%X#$R=KyZUmx zlJQF05HJP*=v{5w1Y55VsrD+L#|L$4K9#&SHtI&EGY&V^ovUn9asDupn#--P)~Hcr0tBDES15#CtJ^xmZ%c6 z1A6SH{FT0#@^5Y}bC_kRCMh0h)W$i>jdJua16GAw4EX*0MC$|POhf8uZEdOr!O+vs zxjOB%4Oe8!5|dy~?dGf^VTnr*j-1z7`hDl#XYDoh>uU{O0c1)b5AvbIgMF@prBtw# zWopNNBE#n&2tW=Dc5(qv4U#5T^yo_sIH_Oyc0oAd2e(oJU78J@1_JdEBaX$$D^B>X z^r9f==dXFCW3SLL1`68{HCmmJ3^VWHb6m2`TKf*2P7fOc2U17t)rQo6ZHdICZ~gf# zeQHB5&Ke~XcH2dh;K*2mi??S_pKU4>PnfCz%&D|?g$vhR4<4#U#L17st8itKiOdI% zFHiTje7S%uPwYHZax3Q{eQ;0%JJQU`XG`(B*in$;;UL|hXzLJ^KxB2wHF(cH+jju0 zbC~~tPRvZ@**@kp+_#d?xCR8Vv$s&}8FeqwMcKA2wCg*UUSf*Oa%-DyiM5r~!2+>c z)HlIJFo0duV3$IG7-&=X%SxY_XH1#cWWb?qj3Nky2G80jI#n((FnD*Vr!q5?0T(|{ zfOM*?ipAE~=fBgtur-VEiD9qNUiH7zy?CT3o}yM&C6uTc1d^dH?KlQwrLxQxw7Y~Q z#0E0>VQZexZ1yZC4R--AkTj#(ma_k~&_m>d1c$20gDst-X=H~DnZl~ituex=;5J`Q ziqLk6`SY|T)-yu1kV9uyyKalei>c8;gwQo;T6%syeLDs&64U&~uQ(D&k1`1=3xGT% z@?7797ZX(X5W&_R{S90s{!4ALZNn%4Ee%*^Rwk|h?D4Hg{IVG|kGa7OUsac23gz{m ze;l6z^B6>MDQ#x|k`G?;9pG`61!pdtV<{ah5|_NlV>vbuGzrf1bot?Mj>W%by=s>kA-2cY?(_TJRDS}_9;Iyz(ELCDJ=kzVL(j2 zxX&k#m;ElJ27K|{g9abxfx6@u3@6u7E3?C9$TD1GZwEjEG*cbhRk+DkYj?MGeW-9Y z5lmx>Kfq|x`ixLKI6p&OVxjHsWf!HggWtM9o|DHq$3t{?lOh8qtto>z({zbmjP%7Fbs(ufZT!z#hXH3o2!_ecX^ zFnTjbwaBjL$~F{kU+w4;bvd4Z!-yH>_CwO82x^T>D9`XKI?q&E@l)R?m@|a5<%hHpg> ziS1k|5X)#EdvGigz^5V4c2&cbipp!fScizHE@peE)VckrC!?1(KLr5jlR17j0w4)0 z=1qP)mCpp{vTFXdsCn@C;DjaM8)yKJbWTJ93|k9#5u<IQ~tR= zUbcVdVSc(wjp6b}<(c*_qWj?7*v*f9jl~bVn|`w*i2~dJrfB3t&>CqjL8)HoG0+_# zxWL(+`?3_d)R+s6$b*26$q&Ad!SC!bJ2Y_BRlhn2zy~@oBWflCv;+Txzem?;F7Gqi z)gM*-GIWpzO*NN&yK+1N#*!KM{p5ll&V2&nNGMyqJPiE;Fb_jr(k^zYxT88Vngc(=wJKvMhp118%`lz)lavYoSmh8<#LWPOYrt&* zcPYG#iSm_y=s8)e!9X+T+_pmV2r()9EZ&FPgRaE}7!ghboK`vpIhI=yxxgoazBx^k zfzEI>2}XiMdZ;LEpnOT+sN_2c)(V4$3vEK;LwgV3mDTP2<#`|-t^zp-VMw9KrPj8i zlWZ;yy#Es$MPz5#FA2?DIr{KfI-PcVj00umH0qQdejhEANCr;u8-*tHRNM7fLY#6y zCEDCHvR%|#B)B+JthBATXi(GAFwsdUToh&Qd|D_2T#&7u7r26OPd)vj!&YFpNFW1B zD{!I%s659EG&)6o>;uW)nePcA-=SwH%S(d zL+G%fc)G$UEsVs$bKxu7H}T`mcOI60w}T8$+57uqsR!)scROP7I=%4O<*e!$w)GJ9 zwq-CqxeS#To^nua$Y?f4&)>Xp!+X_(3m6rs5nBKw{%wkql{L-Kd^Z7hYv2;%3GMQG z7`!Ur8xsa!02*X7p$%5+jF-cOp9CO`t85OY)d#e)0`rm_p<#MIDQVS$H37gj3v@s9 zOjk|?259-qFW>w24AAFFqh<4dD{KRptT&a*D%`>oCj z5h_n!T>_bF%!v0 zW4-SD^X=s&Q;*}qMy$bxg@936CBP9Y7R2UHSU0@=?5J{^dSW&v<-XU64s|ZHKjLmq zf!o@u7=-@qp|hZ71Ev{TT#8dj>;iz#BcId{5dJC)Fu|E#hB+SkjFaHY#s39}AaeOc zusXxR`s?)IAi!v6Wr`pX`Ek^X?AtVeX5&~8rSOB}0|(gRChy*?fuW&EiXoC$r6%P& z7`m>~8*c+Ms%64e2g8*)qlG-H%>nz=66mKxKvb%<)G7rP1tzZ7i$9<<-Q+#048MNx z&)2fa+2hlI?uZsK=_)3Z;RVi*wb`m7Jt=zg`r{MLiqE_I`W_WB#saMfx5aJsLBRQ` zE>{fG@=oMCPJtItB?^i5p|_D9F#H#%wNfpiGeGiu0k3HhAwkwP|ERg*SGHiseY90- zBESKF02=3?_N;O~&M?-V!JvQn`Q)nxg|S+=UfSj1+3sZ+6MF-0X}|lHEyy0II!IIy zeVh+N_2$xe_3siJ;No+E)`&h^_A*pqF~3VTUK6>ta+${N+@RmDxZ5R)iEgXZncJYA zG`s^rnX1@Rm{=zh~XyO^mU@gM7|euMpGZ*!EDlg;w?0DqKCHP85o{igFf8j zx8v|LpdE#^1Hi{(kfCMEGO(ic{Jo|&a+NGp215{}|44@$hB?^5^kCDgEcnm_o#bxF zs0>^(5UB=>)B&s8lN>_LaPrgH0;HN!u0Uh=9*A;4P{>I9pSrL^)taU*z!~ zdwkWQt2{4&Vt?<|a7FbD31_uX9Ghs|64qtCku0Ocy&?WN$2EP{K()xKV}Y@dAz1F||G)X~ zV+q;W0tXo8=h#?T3m=99=kwnJnc3sdsu&K-GQ0WnU1C2BLV^GKb58Ea8soJq3re_S ztbTBE|NG1PkIE*lzr6?_Q8-rPQQ3E8pMw7vV_*KXL2UU@1vU}-R!50T z@(20;uWEAW4P!G#&1FiDA$a#ms+xz#2a4yds4yP`FZ+Yq|M$OA{;oc0>_xrxc-&tr z+A-$f!Sjta8!I8BCs`O)3#B*pypTu#*I$-ezwOSnKVaBCq+Dg*=;IrS;HtJ)^>_)y zh3U#&F^w#r|G@(KgMJh~A+V=bb3dKKv3&h6NeO(g;Bv9oQ$&gaapJi*$C>?@J!2EY zkv8O*g1$WN0<7rh%4rr$iXcra@-dxA_^&^Y-gn&n>NQIdUS1iH?7zUo5?rn>m`{9K z>VC+GO zS1WU^o@S}K{5A0OUd(f=w&4HuUyIy*QLCJ0>B_N|aA7?tw21`e#WTF}?O0{h1m!_9 zPr<(McE^{pB=0Mk zIYeX+7(Qz0S8{mLktgV?(7Zh$P74D8Pg9?*R9+&w^!RPR&8F5eoT|yUS?|5IPBZ$3ny5T_Z*7EIdx#S8czbz2xAv+3^>f|{mDt9fDJQnBMFghh zU#`v6>5tiW6FrJ~V0b^;9TQ74@HAouKs{NP@VHFm0RPYKIc&oF=6i(cw1 z|MfBtodyvEz(61QZbqEcOTTsG0K?&Z%QFM+FjfNOMd#8)_I?Q5ra`{|!-fHL9U?Y;T627G7CSsz zeVWxf$hvQ3_&O7V3%BAQZ0cO=0|L*d)mAY`zXiFr_u$8sg~TFrl@{0qaGn7^42p(-37wQ#IpVmO zdG<2uSo7|!omo@pt4Uxj0LZ}7XFLX09b8s>aj*~F5k#ZRtPbdYx2*a}Fq`$ee6Xgp z1S2)PTN%Yys|PyDhiAOGONb%`$1FDwb02lP{2nV7mf{m|)F1tH?DgTv{yL)XvsDuJ z^2+Qo{S6CM%cLd`2JQ^*5Xr`$okQL_583fldH(^&nyXv|mO@6KxFE)5c;Q&HduUqk={}B9#!_hTfpeo|jcfyJbR5zi0el6i zRS_^^)fItBDbxTEshTftA{1vIeKVO9`y4hg@mJJbd5NufM=4xRhn&n3_hPoMi6luY+8zzDdj03ECw z^gz{O3PAURdkaF`aA{$YT_E$(26CI79blp=Xe*bg?XjYX#C_9xAbMO*N3~SZ`dfWGYzAPvzYYAecEVN7kaGCTQv&aytAMvK79s#cni6xj<$+rR zSQrZ$LLK47PP+hTA5=pI;CYa}@%)5~c>`Rec(wx|bTqE?a3FAex$M`)Swm-ztKu~` z?*l#5j5mCkEhYm04oTkE4AYAn$0`bq$2d6b^2)p2@IyA>+2`o&<5KP8HF|0scyW_J z5z>xa*6dF0o2-C#fJTA;V`(LO*Hf3~2A~GCjk?DGMl$+HE;USj4GGQ84tMe~-+&)Lz=Du2 zgQ*?H+ZBt+miM|GohalnqZw!DuYiUG!lf_7$Q8d@%5DyGEAiQ20?mmMaXSd*O7{TK zL;9c-w@g(_-n|ML;siWsV1TLhG$Vaf+n4+c6p`gncPuy-y|@U7D@}1b3QaU@cwjO$ zfUvsX7d_=yk~JlK>dEF7=1{A@GJ>H_^ssG3s+}VH_xv18o{!FG`>Nbm&y!AGfBdCc zYmPHnBHmhtKTbYXfUhf8W@7(T^MN(^vD`ny^;5#D5aYhK(EM@of+|&BIEp~5eKWY@ zUFf}Z=knl&*8S?R&`PC;)H2IF-jA%inD+kK58GeLy7}QZRpYC0(*;qo)ZJ@IP_Fq+ z*{8Btxf3EBBCwqomm>m-?s~!Y;IFh3InAw==W!P|;rt+(XJmHMTL21=Mu09S8z!jc zxV+$GcRlnjJ4FY;4F9;AS_}x`{&CQzdI!}>T=0-=QDpaOFCETqR_a%YI zC^?6#z(CA*u2?PlI9v(_M{1adhLhIDw=gd2Km5sEm(@=wcu(J*D81hK5jpT1fT^sw ze_%QVEr4EdV(-`KxbW2%jPl&P5CM-rY2zfT@R^*&t`o?JO8lmZP@4?wAD8r7bz*k& z)rj6Tk=5EK`)-G}1`6FnyvpVubKEmm=Rx%g+jX)p&I6~Y2b=%|!w966FdoAr9GWG$ z8>u)k#9acq0qz zCT-r&YOxdp!fnY^crA5K({lN6a-l#EyyWi&FL0#^sUZav?Gp^50eB#omEAew0HvXX zDR1mkQ8+La1M>FO;rc;TG3vYj$UY21P6yO2H+Zz0k4w5wXeaNZgJf*Ruy>}tiVlNz zNX&gM&5Zg5$}(uaG2&gD`3B`M)yO*b{BR54#NNrsqIGJFU{vWDhOW(^z@3cW(SrMR zS>motZX1wnWpGfBJDpeFw~dwAdgZpt5D>6TnVFQIHYNEFaEeHs| zkO*ddxu?$HAUQ|=q3;0`wHc#YljJF{EeD|j^Q5T{R`fVIkbna`vtx^Bj0TLCG z?bq(~%Ln|;aehiXRD1Hs>YWNyULD+KD=R_1&aj}Rd&6LSB+#ymAdQXo4>H+p(Fzw{ z$&IT>iZ}4n4<~OC2RWj_O$&t z5Z+W6zE?^NvG%x^2ECra)x3$#ZJ-ASJmedN%|iSr%!-TCctQf(GT=Kn8Boyr(`88j z4L$h{fFW=hsuE9e%v|c(%@)Y6SPooN(HYz{rzKZCj$LM@!gn1Q-;!|{{7v_mRe9$5 z=tBBG%@g*n~J^xwRLoU#3gwWHaY=vu=BR#ah6Ej)NHk z4&+?WZZ}b9R5~DQYv@B7(=EVsww=xghEVWlR)a9pRvUDs#i z(lr)=2*Zs}ZcS&^1N2^8wQD^omA4lU#Ed*TS`!wJ7(V}y(n{{min$G!q&9OrL2~WI zTKWiI8Bfv5vy#s{#p6OHu)OEfe#?-6%YR7xr06HRFmY#_7s*Nn?f8$EB>bWTOnnR~ zUgD~wymKO9rhn4=6-Z|GhTMxhhU|wZ)yyapSk#p2{f9Ni1Rjw=&PT7l`*z?4wgE5} z_Sf(SbV@;09F<;ZmFg(RZs4yB&d56JG*n;E4Pabp>s`CWJPx7*Ad9m&(jz%Y{IXkm z5l=n(?sbg<9}Q4h8FVhR8|2OGHB{=U>iYo<9$|l+UgFn?>9xLp9ec7rcC)B&LX?xy zB|?-IbTrugy(qbPeygrgNRTD>+-ef5F7kc9QqtSEoEgD`Ae}AoXzYi?vH(Gk*F7&^ z$ETIK!E>eE@JUh3Gq2Fs)l4-`KCwZgC>#@p)mqATd{2WCf1&#mqTGkNwK08xcUaks z_zmqhWT{9iN!+r~Jf2H&8^s)YLWtbwgvRjt4@*6YV)%5+XV1A zDI@i-Spj92aJ&xn&Wgy^w*uc1z2`h1g1s=!Mrw1K%|(qd@ep&9Ro&jYYiHerX0-mM zgnUM7#R%9&P(m~;rc3-k@JU{7yFz|5Cv~a9NMp(ABY$e#&NuKj@02;*Us8>lyz>Up zn8#h^{po8@X|snEf7=zvHirDmRfy^$#K7{5FLPTT4OtE1mWgiMK6qPv`O0#;pr3se zMD!myQMq+20E-h)F#CLME)Rw(7wBy6W@Jql7>W*pXzh6<&U>+_W>;dm22d^JU7UWu z?!=qR|JWvP!>YQ-eO1jne^jd{~)7O5Ne9Y_OjA8ec1g{QVcNvrH zJsfQjPW<~c3`ft?hc3678|!rNid^y8N0}CS5yEs(I+M95@^QPTHybyU3>s7>Ais4A zlRljmj`g@Dn_LBs3gb6#3B8>66I%7jo1iPsG5!I|Nlr!^?LaR>%AlKuG#W6=-rxQ7 zQ%||`*3n%ia8oMurq_nKt&9w;-N`v;Wb$E(0(IC|SxC7n^Ht4DlgrN+(Je7Mj zUe*3p7~71vJvC8q16L@=Ln2bA+1S=e%7H~7nH}Dkov{>lnbEZLs7Y5zhD8o#zeppl zAlf$6n>rhDu_*jcV-t^GE)X$nd@FiA?H)3>tKG@tQ`?`-#SL6T0w_O$G5rOn8?@op zFh0?&rw>g-!8S?n4}=jWR+xnPMNvAR1M)HG1!5K`-LQ@*b?@R{j}bZR`u#1~Bo9nF z{-8xFZ!!a2-Ckc!6PseCxIYLiF-JBkBpdicW}rwJgRyQEpo|GqLls54MiVe~e6Bgc zR)FQfdU-ziV?Sj{AQRl{M}?PE^Ggr1S9FQ2S5C=JleUCga`AdDp%+!|-W4^N*RAXel%#9|`X^AE~RYt>MGJXQN-|Dv2P|MJ(&3<4(K*4MZ6 zEXS8VPPu=TvmXdsRQ#!eBCiLN2Gz&tKm*+S0VM~fu60?)`&qpqZ&X0Mcl$ExXp`>p zPBlR`WyGQz61=@DyzwW?j(f_RlU<(0jzWx;MIBF#W7jHNh50S0MG)GP%o$1pVBr`}^swpW9 zRAX319`w4EtjhVX7mS~N)vs&z?}B<*wyDX$DoE?zi<!lf&WC(yx#hL^09jZuiE6w)g}LJsshPW$RSg`i=a=%xE(D)NIyd?})3wfR$~ zE1fWZf@ZW<^>o#$2`^WkQ`ac`Lb_azPmtee@ce}C7-}@~aTR3B5%v`D0!3{AcYE}x zS>3SE)vH%w>Y@t}lIw;~+H%mz#c`TlZ$4V_bx40mLS46IgHzbD2+FjZ9yy7)1U%(U z*6c+m?%0?U5ZL`=pd}!}V_xq9rt(~5?^hG`LEwyX0k!Nak{m>lCI=2s4v2r5hjbkw zBn?#NZBu!V4;(mPP>`PWG2-sWHv|Ub%Q>f-(0&te%|FDPaqQ+X(!*!FL5*NL67!5% zayD4B5#i9tclU>L?RC$bk44O7=SQ&FsPp)}cbK0wi!5my>O;*mo-23Qq?85(+%eP^ zb~CWbe0La9s}%)ZrJgDage-~d;kx3dd?|89lVDg0eT(KXdU+gdk%!$W%FhzuxA8)1 z8{75f`uPVyO|o$cSj`>;w0iQL?oE!u{{&P=c;)9hYE?5&L|`DMf$k0w>qVtO0ZEtw zO9#Xew`y0P4N%6if8b9uH*eZQt%fc|1p>5Ps`U6-CKNN4B$8tsQiVVCD);2y?Q(cw zzuJ2w^h|);@({2!JJ9s`dMbV3&+#@UGz>kr0=jKLd+PNc&(_Yw{0MXV2)dHTmwl9? z$!oRUCXbf6QYny^=d%s~H#+zo`>UJ1)4t~3_mhsQ#gTX7Ii)BE zWA&~iJtCYTkmq8`WxMQ`DSfBc4f_YUG)i6MYTV~4(l$G|hrMQ}1`2)&muzkQ<5$`E z*-^eNW&7>Eyn$VF$_2GZ&iJs54tL#&Z#hRVb4Z-eN6c)NoRsseaai-q(0G7avZ72g z)S;eQ5vgj#kSYtQF~uW$t{e_YVvnkkxgB#wJ($uVKOYsJ{ho5ZBV$}Dy7l!XYGFA4 z*39F#13>fTb(@0wfE<-OW1bp7y(**>LHc6Bzf2+1o1n!QqB$7$1pk` zW?@(-Ueb!50`ANRk%o2mup0sj5BV3DQU)Z`W2JvAf3%Uu6BVX_rCrwyI)pU9wabEY zQ=(7AF9voDA>&w-FMJsHRnOd$l=`q|^)r~hfWMMGrZt{CD0@tnmmzWFE~x2eN_szB zus3kcU+>Eg=7CKIU8i-x|D)7+B73I3=#%`lRSZWu!StN*FpQyE(qC2|9u@|VT1*$8 zbCyQbwSD&_O!UT@PT987gk$m7$bdlYE<7qR)HBdOA-p=HW}VC4p6SZc5HC?9;CFa0 z;pqqbRlr}u*j@Ojkui{icOSS=gI1 z{RKSV3HMJ?sY~g%%u3BQgb0(DNC~GRQI@+Pm2O_Voocp}!Cuh){@1T5v-xD*#!BC& zh{2Q7FbH>w^;Vr4J7UbsS}n#c%!%Ec^Wb0iwyRE2+a>+oA(369$-lZ?ex0#aC$;&C zQYxp2$cmt?Z}FXGb{)fIj!QY!UTQbL=>{&oOTE6aG?Ve`P?MLlTwzO!fl|PT(7>pa}3M08`oL^(O8fTYqE+mqK%h z2(kL&W2I(d`8SEK!bbpy#bTTc6$xz5D#kCrt~q6`)S4i6XxTUBBy-9e{5<4TKgmzw zWZLwJW^aeXQfyvUTi zRyyk{c@9b>EU=6Mn2tx$GZ)rrfs!K!T~#{h9uDv5iFeX4$(91$?GnzJK}o-rO1GQH zK>soS)==CXf&(+p9OW;fa6ZO(Ii#vUWNCYb-8NXB<2klqxY2n)_g4bypaKhXn#}=T z%S+w>(aQruAgtU`Q0bhNh4%_`tHRPFo?}~m z&&O~~P!nmhZ&No&6vcSfwsA?CVvgZF>kxl07=4>- zd#CswDLb!7{Km8RPF^ZoAZoLK5;&r{G&f}5?mw~g(|#u}v37Pna;3>Dur|=G`AY6Ip)< z0%{UV3N60S&3`9R-rr&v4lB)Ezr0`h>Av3qsxcFE&Do@38;hDvqhSqVv zXg}$?_WV5zk7D1d8lZatZ>`&0Dy9tR5W_(i3ov~)+39ZYecUzrn2Ri<_=j4vNFA|? zSvYiMTRUM(8mf_~Y4QH8!psXLpc$3zR`mifA102p)fbtTuyk+o%DYt_gUe1Zv}mt* zJ$R7qC|}ZKczpm~ool26IJ>^$@WpO}vg5E?74iWf{%C%Fo~|s~kWHGQWmTf8Yw7zs zL0REakuchTqD-G>d<4!cDbRAnC+?=zc>{6}I|a4@#`MVU^yC~8x`WqCYXs1H z+^Gb50WGOVn>9s3ww!;2R?R-&e>r}d@!Y(>>7z_CLHhN%UoP)w`XV~)G%P{h*{w*R zyVCnx-CoVj?w%+8&K%Fs&mQb4IQJUiaN#>_7GUWgGDuEVf9 zScM*#2!L1-I?@VNCnB-8Ot&z@ldu}&{*SpEQS$j8I9N&40II$99sG=Ie!!9mKtno3 zB(Ny{^XlZUg=s-S_!p(u;Ir&eNV7`T6X+z~gv5J9QQ3iV`nE#5XEwHVvS%46;?r1w zJ%`++4FdnX#u+eb z6=z~)U%JWc9;%ROir-N{Jw#4g%1*gPrw!WMf47tmTxiujll6+EwE1Uzek$o)eeWX0 zu_LvUYkPH>TTW%&;>c2b2Y>2@tdh#iVg_%Y?uPSHF5h!r-_rGqIcb~E*&o?fyg?-} zS~~Aw&}{(#s23TsNkoM&DxaM1t@Un##q@t(8{|s_m!%GD_gIR{Px9_ZNy0E0{e;Ck89PG#la^4}PWP={V-(qt? z{SOwv*Es3q+N5imdv~BBb6Qx(mX_xj^(jHeviGZR6PHngkng@R2T-Pl*>QEqJuSQz zCtma9u#{XjH8}j}MQ-P$WJKJ>A}l46W3c6uKYQ zH`=cGIaRQnD+k#y+;`O4G@HL547J-o3C$kp;KyM+@`23RlJI2>`g+y-cdlnj!Zt8> z2w3QzI8Q%IB`^eo`MIUnwTQ@7Y$oG6l521-BZ>)aXiQm3dx#FYUDZyx)3W`87DX@Ie3|PZ<;p-UP=d*HlOTql(u#v%KLvv>Ofj*O-7q@89}Bc~3L@cw3WW~3 zBW0H>PjgH|)vy5$a0Rp<%lZDoXsJj}5wkENdMHj@YZ z|D5qo&a;K1_2J40RteFjS zE#pVNfY*2-Hmy|G5iM6qqTTN&pW2+j{DEy^%S#Y9=@PEea{~e<1^jlrJMU)H#uN=n z{rUJfmf}sDuZMlW154WzorIVN&X7}~jgvlu@Ga&8%ib9)+roQg_Q(|znDFRXiQ~yY z)}oS=aVB6g#B&)Y=Hg@(JFgZ#BSdN=qZ~|oy_>-$58k`nUE5bZmG{!hT%3`KsMooNXFQ_oMeJd&Z^YwVwPZ(f)E?aXy>-<`eH-tfLDlsp#9m`XK5hPbqtj?XKYQ|tB zvvv{GbBUI>%ay=VDr#2Ra2S|ZM{FK#kHkT% ztFWj0yxu;wqB88sB!pinAE@>0Wo${?pcot^ZGdW{GckKf&E2@~80@(E2}J+^@g>ly zR3c7oW0M)lul=%!()+}k(>CUMH;92Hib0W|Kh5kzvj!v|%Xdk=c#-hzYu5L6Y`o(A zjW?p_GiOs$|1-7w5Vy`&_)JW^^Hago+@|XVKf!mhb^1KRi#$@VU42GL`Skj=@OGG) zC*I0{abtGB0*zx>zTql;REMO`sXyZdoUCt4#1;*^)={4a{d3&NqucQ<(i@cVv=dQ5 zl{5_V_viYPMZ8?r4gU2NXF)*OTN&%K0GYe1CJWE49S~1pCs1XGFt)12l`C!gB zo}m3 zD3X7{s!>9*M@}Y!%Ea~z9D37AkDQbuA%Qc}j+{S6SKJ$p4u;1=j88mxVd!2N`N~1< z>P<+df8ib}q{~%_k2Dtl&2i%SK;{LmYfd`xk`47dh0}3g?}lYAqneKE#Q9wpA!d(! zQfq_APkWjqGVXWZvrghy`eaf($M*=-D`n)x;a8C-UG@QO6`3P;3fQzo>s7EKn%wn0TK*Qg_CCDnEl z8Rj$6{dd>FFL}3ice`UCvd;mgyOf|mEUW)uK+;h?^_R!sWzNHvgT@~Yx3t?-*XKdWrbY+?7t%lHDDIfeiLtrY~j z-1}kdg6f2-oQg{eu-52=uVpRszK2dXp$bWlj<9bf!!y-NQ#c90(vC4zUFq$`Jj%;I-@FGz!6}xE1 zgI_7J16MwF_TMRnM2;8w?$yM{QNujipOh4W*p;?lRaVyUiK*Z8NKw4s@LTje3OA?Y zos>U$a1t(J1{Q;WhO-fxsV;#c;Lq^%dsuur-RL74b&s&tUX#*B`x% z0=`23Ocy+Czj8xHXsFuOjgLMC6ZD<4DJ{xT5n&MDpRd{%%}Vfy=kk;vBBpWjC$jpD zn@!bd+d??&%D&F;w3}t+TB&l>GZ~gw^4?`plktYe?!Ktd{1LK%EN~N! zLoZy^*k~jFlQwMl6oHZm2aiS@A>wC zL&gH8Na&w7RDue;O2TXi7@>7ThFn(WLOzDb1At}3JhHp++De~d=q|xQmt?bPY;%Ef zsub=D*wS-&(@@JHTlInH=S?4(BLpbmcN7(Q`dEWiZ7H{&z5v?nbJNY#G7UZwWP$Y z>o3GYBDmme0IVl4rRg=eI2=`9WA@sz_Bdh2s`|(N*4y?#r_z6&UVDMrRqzt*0kQRC zx~}Esggg5^zuR$-Rzy(S?;WMuT44k*%Xh2?Cfrx~hF-lShlFPZIovT@XW9W5v)%pt zagO1kFK^;`ak++E_Hc7cZ$n()-gN=$*={FWhzXQ%8P#5&X6SZ%Rq;Sx!5@?tMP$4? z;1&~(&99EKmmzq61TJZnOyX{qnNwc{ZY^jWxF+H}T7%Y%<2wzNXV{T#u=QC$HjF7z z@x~>NF~ksU2%e#?Td~i{Uel0&r#m-V8w6o*68Wx?tqM;zqNIkeI`-T;Wem=u7@EMQ zo)7q{GT^nu{V19{6;@a~O4q~XM6vPNCK*{-54{Vk8Cp#z1d3b#!{{cQw?W2kRK#l* ze(I9Ws14g@;ov!IL!)R)9pHP~mdIot^d}cqp1QVG{(07Ory4H~(P}&Sl=$d%g+Ki3rNUrF}H%uaSVRG@0N@ zh88kc>NPCwh}-^)|62T8_*ly3T^GBbOu2!E>fW10(A>F^%td=#IG!Vx=XXdT{?w8#c|Pf)|5)`{VnZ@-iqD zrZ{_B<-*LiGInlq7aGqh;he_xouX4b>*8V`;~7(pUD@xEw?QzGYWDbX3T+Z}nZ+}` z_6@3gly&fU#L!i#`btwgFBeyR_t)*|IJ*R0SXL`WuFBqTdqk&i8t`O3qlTb|f!qX*uLC%lCH9xjSSm{Ivuo4Zuy z69JE-1uVXu6|}BdtU!)fEdE?5cn1;l`SIIYyyhp&54|~7Uo{(?W^c=aEAPZV?F8qh~2Z z$%FGVgva+sWioIG>BK+wckLMh8-FOd{0|l&kahJKpJYYJ7oPaGdazj~$T&L=+hvX? zO|2ic@mkCLQ4X?G>p|J4M{n43Y?T5I9M8IYQCRqL0^~4`PwNeI)XlF})3w?9M(Ij| zV5V<=wrp%0-(EiDIY0D{*3GBrQObs0f(B*|PpJ89{&f=aia;c7KYZ9PdJQ_cO-m`D zF`7@r7?G0sH?28@wm=f6GQ;;x;&@+;fETJh`{5eMfN0?`>c}2?xN@F&ChLch;Eqic zA~R_R{w3O_M4mikBn3|cxvg+sk9N0orDt?CWOEEiK|yT6>SuWk)G)QqciV=JPpJ+N z{T1(3-=o#V9X1`kzInCLEm>UJ_?ZieDE~=qeY}M^`H+iVbO>ph}wU zhN*b&N;}UDX=_UP(|6I?yHPpxOQfswOZe#jj?j%v_UbEd6Nu z5wuXT_z-)7Yh{44m2AsS$67k?>T5QOC8vPeiSqT)(AAeUV|Jv0wi3-*o!>6BAWzT0 z*%@Zimd8l4)#;$yP>~^ZV4%W1YkUx{;p+A>juR54aUg8IPX}3dc`XKb;}~?qiaFYR zqEkC>I;}#u;H|;dL+&Ke8igvE=o;aS_GrO(OML3bHmU+-X55uJ9t`VRTVsCe zt@eTEmIjzwqk6Z(-+v1nSV#TqwZ1@0IWOh-rTXpQuSLDpr)@!bl+$}gA3p+X$YE5( zu>8tbl@t+W+{8016+SBYkMp*CX5RcodA!MPn9T{@RpZmc z9KHNpqi!`yi57UXI{_3| zhqmw)Ql|bh=;#3#C*|+;=<1dkHiw>O_YbH6CHe` zfI5yM^Y^_vMKpo7(Y7NO2q=dOX%Y6&+8SxY@cCdk8^DP;qP4Hb-otX2#U=(Pu~%A7 z3VscMusR<9`RkU58d7I;K(^j-2=loumB$oK5crY#G-bGO_fWyHgp*Mmrrl?)Y_RX& zS{K1g=Sywz0=^Bz=mlqG>(@X1vx|3KJ(nrO*m_oxEK&W#G=HK;A~QG^A6MiOJ(+Sf zPZgLF>WW<^WZBRS`3Vmo5Y6HV_kCY1ND-jTg^bA{h-bAx6@<7IRAE-r;B&;{n{1e! zQf?#T5?HH{g)5fyQYg@~BtBhFS1mNN)AQ)mT&Xf0cH|@Atez$0{oQXsQbRTUMu_@nyOCFBpf#9g5Hwr3NDfA?v8j{xM zWck87|3rw1n463;t^NPBf)F7BGU6I@s)vhZ!``H}OC`4jwRwbMLE3Jr6J%R0Tx*)? z*TFOy^=d$pDE%F2#%n!2gT9EcNM_I6@ahn@RbEQ|&kIi7(n|z`l6Pa?fd|C&@h>Gm zT(6^fCcjb5tMZ+lpx zc2}B$-F}gw8I7}={*ti1Iq&8-@lCB0d2sE%2$viGh!PWn7b3&M?pu&n#v_dK zCz@^VbBBvCv?dPH6kg2|38^m`=yBBMJz$;ep4B4HK_zk<>dQTa$A)>2cr>cN^v%Hm z%h84U^$(mdA5PebBGbWjZhQ zm`){jzhbvt{V^rM!>c`d5b|mwdi5TF?*gm=puzK^A{-#t@@yt$cn=dx`7ojY){sj%<+)J+ydPZJ z9Yl~rRIQ8bl?HooNdZvBM2KrskXGy_L&bKj-LjXP*wSFlU*c5H`6z$c3>X;)KdRFn z^IT(zZHMtp$djA|<&=J=HhIX#)7M#cutd-vc@>ix@XACH;-AXo2g_V#WxL1(Zy7;P zn>%4Q_|+AjyPMG<)+v63dHE7m>K$TfIp&PthdlC!u* z9Tfh?06a-d9-7{;?%=$03{5PW8~W%fv-5@Gv}}8Cl+9Hr2)hI8E0;~NN|g;Af13E> zN-G*Gk0t89u*6Rl`XyNe`2Vd4#h`p`yH4DW|J8DND31Hx#MyOzv(K$_v2$Y;#U@{G z&WTcXw=?w)xe+6HkM7Q7xWksNtPN_|$m+*$3=A~_L0BW>L7!=OkjWP-xu9DqT5N~l zEFW;?XN{wvwG}}*=jLQcL%L)(jR0%Ag(=7eYdEVq<7qOAu(;d60RlK!73-y8*$>3E z@4^_5MAn6&ktGlv#yx)6F50~Jmveu?b)*ySNU2#L-7i456wvC66U;21XeA@bglD}6 zN3$!(z-`dBc$@HTOVl#Jjz;1K&y=ClJXDG)R^bv+h#0)k3%BC#!vCS_yW^5v`~Pj7 zo`(4}tW&PjFiTTUYHp;HnYp*-&Ye5=miDmJoVcmnqT(h+q%0>YIU)A{-GAO7%``@XO1bA85p^hlKvRRI+0Pl3ug6CBJ+55O|M)MIbJ50LSg{WBaPGV+$7R0W20LIey0yCVN-%;?2oEm z+s#_yDnP^g09piCWk3dP^$l^%AJhl5PM3Y{D$GBPVqpMY1sJSPmPYCn0{tVhv`hY3 zKQAlpa>*BGjZZ)nGj=csR4;HAya%X<9e)HZ7x&d}NQ5MYWXb_**}b%SR*lBh-#+%= z2Kbv=*eu7T>wey{dLw^%06HqNM>0J}0a6w~)YIfIEj2~2yGt|!hSYOiugY%@2F4po zoCc&+-+H7R83K^9?lftBm&^ASV&cEnTQGl0Y4%sE z22L(jIwac6SwTSEl^VD4%K`a92|!XSsdDcPp~%;xS!NS{IR?$jsj(i|_yj+7 zFII$Q__WNIQhB2lNQ{7ifyMMVK$rsRhf8+0EmhDmcZbWUR_5|@IV_U6|2uqO_y}Y! zS?#CRA{0^Miv`nPdBb(-q8(tt=T+ei9IWE0b#F(ml z8oc3|nZGjT3#L2;SVI-Sq&9XA5T(Qb&{Xn-cQX*oW)g1$MhR7R2pyo{1Qbt}GcALo zfEXPiG+KTm21DK+kLLR#d`jLk<#=b&<=bTxFFzbG{^T46*jD9Vvf*a?e2|xd0FB~m zD|>V#!s9vR&Nk2%TQR8wK%T7Dl(hv!emltkN4iN>!?zAe(EJk6aW!qZQnM>xmHR#0 z@ma81S>7d-1~g`)>im>3Fcw>((R>$i-}52tcFP5280h1USRrQP`$aA3$cQsP&Ky?1 z@I`dJE%6pYQuG+T|3GQdDP)+DT^ZFYaT;*l`*IeM9j$s!X%;Sg-t<`^KaqKl7p5=> z7&I=j*%djQHh)H(Qug-3r&Jf`ty-n;I&vNN6%7A<3}g3HVKa=-w0k6q{04F)uC)jP z;Y5HyDY4N@=+iTbw~sihZ+~JeaX)}j7!=`ZLcVA`6&VPr)u^xJRHp#mTQIbM{`pkO z*Z}|IWBXuiZ<^49>lL*lO;S1S=p3_~mD8o)+di0T=FC1@cI$xVNR^Jg{}_gg^M9 z%Ri_S2q~7^v)NGYJ56&Nr7GK~=2u~9L@V@tg!6+cLlpoFILQIV_%{1C{&fmBW{s_0 zNuB)0w$r(z^|)EjA=xDyp?)M zIG#ZPh;L=MJIbhsK>X4aV$$BI;h%YJG#Z+c%u(Y>-J6IHhWc;C-yhPMN~A>}8?NAJ#^@!wA& z0Uf&90JY)dG*liZFcrw_-2M{Iq zQOe!-0Ghr#7s&Bev`y$A7y${dMSuHw90ZzZtwgehB&v-YDE?`_AraDqX2D`rWNKR; z>z2J;B3jeExS2cfqp)1WrRHsv4MpE>WIuajhH04lpI+QGG;j3bOu5LSY1YKGsZ7Oe zj*5M4MD-gvInws)t|VXY}3+7P%eguG6K7XdX916v>*V_ zNxT$H17HR+FJa@%vm#yy75JxKzCT|rgl)`x^JV?`Sf9N~{_vg}h#nLY3qyx@c)gRE zX87h0FG)$Q2!_(lylH~CZ$Cs2zRX{MG%bQ8juzQd<{93aHsyM&TLfte%^V29?a z0+}z%e$1uHjjfzru~rw@I6pNOsgeoqa|kq3?W zS1%!DbPa5QR7MTZ>zat4NCHl^+cwSBEdh^4LvP)xv)p$%;)Nwl0ipD`&!+m$`jg|P zALi4I8V0IB3MgvB`BZI7cgafCvE+I{V09Sis{oaYdZ@Xku59Lig~Lq&{va@{%y#ge z-~jlC5yw$L;t81D8JY$lH4O{I?GI#^T;#ntpJFc5V5T-=y_$N%+SECAxfJ*&@xY!b zH_mm}j0^ty_Mwvlr5Z9q#jz2<0) zaOEA};gXk5r-#(%UIRl_Zw-vo+YMR0TUYGUH;igM(%fYfO1=}WK;3Y(}>%n;4a{|<0@FWYYd@=a0H@w0CE)F*Pa zAI=TY5Z~FJ*#J-CQy^uK(A%vf_&kYEVwryyMRbKX~& z{jOo0#;pRjH$x+fegTMOIoJHNM?V7I1dc;)9Loz_8N8XXds?Z%tb*$m>Ba2QK7yG2 z+jv-}RRvI-g}7Xrs1yIG#L;yo#yKTZJmkPjFM40)CFlvBSWmCUrlLGhe4Uy==_)b1 za_|sMw?T-_+YVyA6fgO~i~CVdWHpRg>;wJqQnFUC3q9pCJiLhP78 zc!DtNw;V*M)Mh}x-`?uof&+}FW<5J+t=<)T(Bezv=H{oW0K+tm(m0ci@Ydgigc_c5 zFF)WJbz**wr-5t{Xo(CBiY&9V`n;5tm8FLh=hO60gaR;ke(TcvSDv%L2wn$Zb=dsK z=4$y?C`_Kpi4^yrg`F2I}l9; zNPR?@#V0|3&tQp@Gl=3s!Iu(1(tqs?*8 zwXip z8`6ra{8+(UH9B`wQJ(s@=F@{m_eV_B0MW`|Aoq@%iGa?Xpm|I8mI48Z2(+%0LRKov z0c~s>(LI1UtZAKBaNRrGx0){Cs(XWwuC~Jb0(0RG#o4R&*jKo0OH&OW9dfIzE6SsI z4iGZ3YZ_hu>k{A=4%}H`cJ|M*2oMa`fA=BXVGaP9 zgaPL`P_T%p-+wC`6#prnP@^p}ibRp0RmQ8On%3PQTF+8`JXB__9_SbbI(A`GiMh)c zIGoXo}Ac>iwGo^OwP9FreN$S`gl?{>cPT}>Y^EVp)1Z`a>~N9Nao$~_!t zYGA(@DWX+;hQyz`F9XJ60H`b!5HyyIqt-VysqA}YCNLwkKlhuS+1|dMobdKHQdMo# zjnuX>qJjaQG22+0X*DGIRy&IP>0D2^(vQ8tat}2IixK~lZns|}N1Z1F&#~VF5F8N| z66&o4UT(h!pb7l*!{ya-A))zO3iOh9N%vp}uT?Pi$<0cLt~?y6DaM8GPVG+!7jUpF zjaq# zPl8-z)4vxBU>Nh(B{QmK= zS&ZMT2`~Px?4P<7M3?nm;DBQEdKC10d@=_a_1LRb`~7fUF~r3)_8}`b6n)92>6g;i z!J9YFSKSe=*`3AEfgjYlqajt@#TGC*`WoSI%1qDfpU&|unZ9Kj%-o@jsXS zsR4VXBJ&-FYKsS3zBBCQ(SOG@z~NpK zQAQRKkPP?5W&CUArnpS_h{eMjUPEo~U;XdC%&(t=kM6Od{ivy?w%#~@ZF@jz_ZV9T zrf7|&n{um{J^!)rI;IcIBupFh#Xc^^>Z6x)94$TfQco0G|5B5Bllp!%hdVnEfWES2 z2>ZE%4dZ64u?fUe(Zh?L+vO6V!cj61E-sfBD8m@qmk9O<#eZ+Fz>Y7Y-W1c#KZ%*O zN2|@Y*z|t>hujl?PFbX1$x^#!wp6BQaKp~(!c@JOHAwQ z(G74ILocrC9$mP2yROvPSiLxx=Ak6vyUGzjjh3LY=8_1J7 z<4tPg-bP@`p`qX76FhZmf!DZ2c=La+QNem-K{2YIr@MMBB}P^KvEs(>AuC;1t~C7} zoP>n-4O;iUZ9^4*xCe^bOF_n)=`!SIHBie@7Rg z2RFXBj;!KaP=bh^O=eqj_JPN`SzB!|GiG>5jzW>+pvnk!S6P@k4IQ$z8@IQ+$Zl6k z?!l~^CqyNFU4wUd?2}cG!+VZ+upEx(@mN< zWzr6&Jv|Zn>z_aRH@p+1nX&0GSXZ#7YQO6G3IA}_|IvtnvkR~bLi;tCmvIrT2SYpe z%zWit(0W+wq4@sazn(wUY$DLuOLjdW$hken8Xq1Cl~MP>nw;JrG<3-}?pf$ieE(&3 zCTgE7s=mfdG*B9dNdNiaLd`UCQ+Vahj`Y0_P8vU$T*}7g>mYeZeXi+UQ`fSQz|Gnq zcvOFFY_0E8vX{}xN%<9G(`ShuC-rqqF6Ii4+aqnI<`rPJ)2tS$4Zq=_kz0iMff3=K zb_`DqpoNY}t!!f^DEvayDrp&hN@1euTriY`^dcOZET}Gr1~^2}mdcraoZ|}ON>RMw ztA{Qo7ci|xV@$ynOugr&qV3Ee;hXJJV$b1_$auf)Mj6tdf#h}r ztPii=J@T(28kd}Rnh1b`RF1MZok5y-i5}>zm7e(D=Z4T*p{^P`5g-Zim6>eR@z-cO zLOP&L`R%i8CH8ne^NS5i6R}y2iHrC1d3gh^H**FVY+aeXqlFwhfHM{6&(o#4^Dr)5 zc}8l87A(#;;zl83%*(wqy^<~fsSa_A#!GbXvU5jp4yFoNXpp`1L}2#R6rA%-ar1*c z=H6r#2d&dSHb5%#&NzOE5%~7+UcebC1;Kn}VVrUv2x3ZHUEI@e1Db!}yW5U{Hvla5CrsAB6Kb!guyYLPA@H1Mb ziSz}CT8$yzzmngyy&Lk3++iC161=_H)uAU^Y5pq|n!ku{TRCh^rm#K%x`HK+_Vl%T zplu~(vpX3foo681sPkQH`xzz5h~ZXPT4&pk%r)BGl*RF<8Jkx@)wawyl+!t%M>vTt zE6EX~(rX9@K@Fy()xXn!p_vtP3?lY?Q?i6HC^m9yhWWX!8cA@OS_4qR$=wT;F%&47 zvu^3e?eBw=Mbt~4+b>1ED)WqjH^yh)Yc(Ki#(a>P4;k8q%#V~mOHGec zYI1CCr6#2FZF%U}cM6Cc+o7fhO$M{kmKjIjEx})t@58eyORyrK?;jO$2~My-EIZV~ z=)O`jZWw64>&xJ{2gRNJfMVKr4S&I4YJy}(OHAE>g78%HVeish(*+77Q8Xcul3Ylo z$+^-OdZxqYCuGfpB?T*vkmMAgmtiL&@hW)1?6syDb|qQllHIir7DFHOAoD-clC(XT zb0dUOw@X4rbOSW_n89JzVzq783I{PI8k9c#MHW1sO+T+uqrG`D43(fs@S&*Vm!&0oo z%7ND)dKPB-$+az)nY4&d-mbQk;=St$`3yrK`6~tL4-9S5?`y_l+Ox4y0A* zxmfTkKPa(i267gL(ie6T?Q=g|nIf_bcr^tPrE&o zpjqz;qFTRP=?&7UrQDH_q`vUX^nroncyDnG9>!lawt$T(Xd#^Zevsb#YZjcA8I-un z?E&5*zm+xWo~%dzRER=ya^2e=2Zp#4MMM6>Vk~lZMYU zL;=Cq0$CA~rCC-U5{IKi#k3MWwux3zG$^*!ZrPFM&CmE3m+_$rTt>Z(BY}Vjzuwcf zKYyZ4#gA=6%i)IcSSEXJ=>!nrf0a56!pCroUP;g9e#CjhB&Zs3!1SO z8y9)n_cGrMKe0cm`B1)fZH>EQhgS^`2m<1X^blwTwZf)$rB3H@LqXuwYTl#ee8Vji^P%ae3|C1z>!dztR8^?64Wms`BcgSe=v@>`>_%0M2FHlC#4=Iom? zH&1SSX3FV2ASDv{?HM@*%&T&Luk|u<=ApN4RhICEXWYG-Js3^;`ihsX#8f|wp?;tG zDh$u3%zw^3z8EkN#Ie|%%DG{n@_e(^xvM#xxpLkWHSGe6KNd0N4@E>yUF8jG&zi9I>MVQxaZCFT-ZXPoK9>SS6H_> zRp@#{`HcaU8y}TEn^tS9hn+LE6-A>a*4Rnfaaw8tVvsx26`goj@~b;j{Ea@sq}RZ1OXFNfnZTj-?QN$(cUqWCo!%;Q0wj{O z``4YHUBJ(oCbO`>^8PS6T3CEec4t>JOiR38|viJxMRVCnIDJ?8GdnFDTfgmRsUete8ZssYT=((_`s{8;kkoh zPW-6oV7Q_e1_Wp_&h?pSxy=07sDL}v7+2V{(l#BIvnSH{JUN5LQlCoCS zP#}XPkDE2e{@6*@LXO9IZ0s{bR!)2wxIghDVPIoR57HrEkN2YO5SGFtxW>I7f5a(m zxBwB-xjm#bsSG%yA|9d5g8Rlh?tf-fG?r#xinyPA%K}Nkk;BfV2E_I?>6;yHZih8T z_8rR5Nrqg!pyK=jp}H_q)pP3pPS2FoAjs5Bya`!dDQ0|$qsjI zZp3ciog!^}oywNCw{CHt8>$I56H5r}QQrJ3;7+UU=m}OXNvF2Jh4|$z-AoYFQ{+5i zJJh)7YhP^P@Y1p$RtiM(5WUTYEMtl>sJ#6q2EmhU)FE49qbG%X>}rhl{2i@Fy;cI7 zU`pg7=n}&!Ps+>CHgKvgl%g3|G%P&=1c|%+QL$#fsaP($#gqEGG9=yQ5c{x2+Q=ZB zpmu1Y!^bC^xxf5#%FJJ56jE$BgiMB&$L1!zr1k+vqWiU|?7&oQAL?n(MWX?#{bvU< zJm=>jsa@~Ot#Gui51**JmcmnzoqgRb7Q_b6mvrM_U{VDPJ{W!~hGm;5e#L zR6xqK@;a`mA~jidtZnv%)!+c+3XDnHF~B&nLW_Tw`dAT3oru`9GfP0;H|%hcV(eIm z8vUx3-}fJ2?URWAnR7XE4){kE)v3PWAA!4iCr()Eg}hpYtu5&L%$!>6J)+*E56?^9 z+;H(BY55SFeMm%Lf8np#b*a?XoD3L>{u$d>1RrMFzA-!87GEd16urp7z8)vO@HuaF zha~-cv%zSR5NL6>d0^o+&0B-!r>2G*a%xmp zfx!n-#n!%y1Xoh&ckMg#%SkcVoKreGTvU9U(!5p7RlsNA?|d_F=dngx^G?UC(oEot zf&s+n!!ljJd1Mi4BLCiTgE@=wu6FS}N4y;oaB-Rys^>SB@sCP3C&^xB@W) z<-5U5qr}Wv_#mskjkn8gOsWH-CuF-Q^xO$8;=C~J&Wul!B6h( zt{(iP!>%?{g);G{AJd8|K0_A<%}FpFR!gv}5(536=Nl!Vb{)LAIZfiLF|Ic5Y>WEy zBROA}xU$t0a{EcTbG&_lMlG^D*#(&}a$LrlH!0;h=!hI`>=`zC<{(5LZuRXN&445vLN5# zSPh#+xuTg{!Vg<82$f6765~GYc<5(}c(@_cR2Jr?ImDYIeWk|@J3bsrhLTuMi*oAj z`3cNcGhUhvCDd8*@Ul>9;6PP8t^-XP%0JQi`jrSJch2is(d$d#w@x-Mv(GPTcl7-@ zCX_!n+;B^mIjSh&(=;OWM+1-g-*y&3>G@8KZXC~Vv3r@@>Rn$lsz2)MX4pa}w)#yy zyJ)lW#5-yFv|Hu?{48-tZ`N%9m)&bkCBRh(pkYN;GQ2Z>() zf}@LYcve{`_+Vm=LgKIVUeBtI=M)l6Z3(i2-reR}&^Dx(rJ0c;O;z8v8a~It<6Cfj z?T~3PVpOVn*&cn2I)C`AudQ9%GYLj>^|#x&^Jnq1$#TXVVgk2)s^WdSQ9I*`E4%?? zY*fRrp@E}lGd0f%ptirnlm!;T4*6H3?1G%Z9%JWlZ8Jp9&XLU{wi6c~u8Nh*sMyy2 zzCi=}uwu%I-(b#SQe{R#+uprh&kK(od{7*OFpL(F*`b;l@!J-#<)FChrjx;nvA1w_ zKsi`MKm0m&FIaPt?{TIDc)mn1muM_AqEKJF>I30L?>qt@sdf=m9Vw^io|jwOGO#0U z(_XQZu$hPVebkDi_jeQTOQA6u<}1091gLx#e_<5Sh-6Rq7%r0m^vjrJJEtfF5j@kZ z3y$OT_RKjQFIowykr7Iq?}>7Kv!Rw+tFe!L=gO~^byC?msP6nmJvYyMisZK0KcJZJ z@I*PiH!3wcvac*FfrvJdjIi7sH?Z3T&tHfM{X8TOB1ztJ(c<(IDApAU1dab?jW#5LcmmCSt#2^bttbijIewHd}f)sau-xZ`n3g1-HcD$Jdh4cHZyBY(ZJ zJdtm{|6{sDN*)uw_am#(BK7X*<}@@ncPS)9%4pm0OI%>K{#ksh1lJxlw|+@{b8Omm ztiTnRz_jwlnGq8)&jD2E#OtGti7HrQv*xx3M3fx1aVC*Ez4WGnvUV3KD9yUG*`Jv< z;gF|oI1YI;mcRz$Cux8O!ovT`&ohw%aSU;J(_nt`y9`V(qxtE2{hf2addVhyAffXB ztyriIdJJclLvJrTV;C0XVWVW%Cf!Pq&Spr>MvRx?wr;XEr00>=J>urecw0UbxAIg; zzLg#aN$`*TQ^Bfgqv8gk^3^xb6E zt4^d**SHJnK2T4PEl0fE{kv1*Fc5Ui=C-EL$vu;W=XTW%kjlHRdh=l?1)>lPSt_On zV>=|JK`Flm&|G!MMs)6^#A#I9HPAWg?^%_eWm?znfmR-UwUV|nyw#D57GO(D^L<#} ztFJ;Y!mCs77MxGdP$oI^-;lt|!%JV!Q;@@6sRiL=F#O~YX$|I5rqeK)?L0N3))#BC zF(*nhOWqucia=kImL`|JJb!FP0Y>j~QHz^=0bMH{rvO9R`##V^h?VYtC*!V-hn9l_%}B+95bXJU=E<0~&)z6t$Hk5p45SDszj#QwPAiq>8y zH(Wl{pV?o2%^sC7GAhb+SAz}YGZJ#S^Ah>imAnywONw?u&$S?=`&Vde>`cmFgGg10 z-JNzfubHH4;cneTP}<}4B%p~C)9+K`;vS6PW#$*?DW*vg#36ChOeSyR(4&pw^-6z4ll~(5v$+lGaFf6JB}f$n3W;2ohRM z2qU(6RZ1JiM8#}{kIt0JPuIm8b+gnFqM^1+Y%~Q$@D$$UK4b1<`Isj+WRYD*qpEGo z+?&7O(o32ac-35p0CLl`xIfa)FTq-DHFHRgSc9B|h3T!$Fp~3*6Q@bZQsE^%3=~XV zXAQ>YlC7{g(12_q^?-!VXgsq(RYrVj$(%_Y!NfP+n`8KxwZ8K-d@J2_voW32@#lKu z_uK^yk|>Y(_4&jv4=ol#jJk4>qbnDGx-|HqM@9?nZl2SwJ} z{Ae#5bFh=Os<}AE#z%-6L2VAK$spY5zo*}Bjj=AGemx~^6DoGP`%W3-iu}fx@AZh<>9)i# zucbB`N%A@8IIu)U`sX;i+lK-d#yJ^C`h;j}5HdODGC#4S#fqf9Yi%_l&MbzKy*D+_ z6jFHUvUetc+URA=Tgj^A1hMy|ZUh@`r5+qMeDbWtMBaiy*=2T%w(CRvwUpqd#;YY` zjXX8#v^!X9;eGkk-nbhrSZJV2*y8v*9J|c|Jl0}60@p0y&wjzp+oOIko=G@nMl3|D zPPk+gi#5e;mB zl0Au}dyDbC33J5gi2hUi?wj-y^lknbZcFZ(^%^klXeu*TrL~4A)73W%lQf$u@GYiY zNz0G~Enc0+$i-lTb&lbMp6n{BO21Zlpqes|kQAfE_RIl0;sY{m-)9;JOg0CuKNDra zvjZI@_$g;CuyAONC)+eYrP9yqIo{uf%KVdxwytP*`?DKwcDwHt2I5_mK*0qY3r$nr z7E_a)wLmCFsXCUwnF zCa{6Y84{*L-s3ryqUa-VQY!t@hz?p~6RBt7r=R9W1#<6gM;YpYMf3~Ux3Oo0ZK$C8 zPIHmI(nei*XUA6ZP{x%_8F|gAnp3qP6vRopX3aHFygWyB*DvR!69%?e>^ZQr@_8mv z!Ne>86^!foxn2z=T^xfwlAqbw4#{$Q<9(>HFv%gM11+(HBGAarjLCj+2dy_#6B@N8 z_cY^ctlJ85!to9ynePh}s>rT{<&O)MLyZ%F<%#30DQF3~paR3{L_dVS7r9fN5;(fb z0TS&+j{XQn>Z-@17{pO!$R*$;@|Zyk-Rf93U^JP03SH-y~top2En zV$aoKsp?EIpRIVwRqj1Zjd!Uo2ddw%tDIeWv;F^HqMPRF5VbF(^}U*N*%SJMjV8%! za!wml{f6KxMq1pv<*pQG-7P#WAiGSh|F?zvoMld?J4TSniLszHBNjB7FS zu62nYA>iO^%JXPn57|;E3XR?8-BKRs61CYYLpznnk>ahRGxDV_zhq>;rl~(H+t_2dQmBG`r>~VE96qJ+y-$UWn4k;eT&&pOmmsJ47T zZqLuE35X_T4UJ$Rx!`$|K1FVGzi+7-WnGefSIxIl!uoeauP~WX*O(gs9Q;5{@R`l{ z_dVG4Aa21mfewEzE=meguYjtxA|-3JbZEwS(zAPVPD>LGx4bpE=jb5y^~>rp4&!Jl zZ30P9?x61?SLwuu-kY9&1x~oM@;jhH7Z!O>ob&=j*XSrh(_&OZ17SPsJRSLzTHBW4 zsz9;T)7-X#(yYh3*2_gC$dTXq*GJFuJA+~UESK=D%dw^! z%|+T|2T|H<2UOske+Fi0Y<5YIz#8uq7D(8Zw?>IE4K3O`Pl)}h`_IX~`T8MM&)dPP zYL8qgIL`C2Zq-wVgWDHy%Mss;ESSnJxp|ReZj}j+)L2GTR#CcrOxGh?$4u_(c*#TZ ziN2Z?a9~EdpO>5wi!(GDOcjdmhcrr`us#rWN<5JBi4lm3!Y5WB`&*VM)mW0&qU6iF zHaFf=pSSu8n)iIKXO?^VLku$k%PJ#a1eq({uDSdQnkd-WF2*&GqVX%z>E%bXm`9Ws zH3Cs%m3QVQ6^mRN13iwUKr=B)A@c`JQvaMv#2q+AxMbHF$4v2VISoJM30$<;E@Q~u-kysEXvb89ghK}K8Innd}{fyNjD3o4UHY;u^{-vO~Y z=IRyU&=InTSErA4xEP5BF&ZXLB{1G{tCr{yi%4BDyPB|oV%?3MteUcJ*?1H&M`Zls?MHZemjy=j7rkT$=$b`VR6t`@St zyQ#l>mi#o)=(wT?xMZkrP)lc+*B?g2#C-vSr{g-M%V3KFRYbG?k(2WNs>8`QX`dbo ztGzwg5nKe*_+g~1??ap{^)|obF*|(vb9w4iMr-hGSbnFgXvXXRX8Zf4njUw1IoqPknQV>gCG;0stt|?1qTos;5jO$ZY zOXN^R_$hhEbzJcL_LxzoheAw?`|`(seXxtv9xU?s0zN){`uGe^|5|{Di&pSVLq(ji zbhPLBg?i}mb1UE+YPXa~OR!N^m(Q5wv)p0fn zQ{%&}&vru}Y7DY8S%*kl9;4r{>K4}o-c?Kn0$$S5R7?c^u9Z`xQB)eDwhROBP*}KF-x1u!Knex+t~DFup&pxkvlQ;O|TUl`CeajB^|`9_<-xS@95ti zsPBAuoiJnxoingIxeeE5(=8T;VA-*LBWZY9z+*>k_nuHhEN1 zs7GB_TmC`gB=bjpfwf(Z`_o?lu?tUAUyAvq*{Wl)l^~H(`(acdAv2wy7^Tei4sc+2 z^feu{$qOF=1Q_~6Bi&Y%!dB!1jwl{J*fNLQDmMx=QEGi!@iPd! zUWER{h-}Ws++P`#&D*f_{XEoOjGIErJ7Kg#6E6HA6&-*%G#SBeU->3Qj9Z1K>e4B~ zpLUah&Q|!cPijYE_aEF=f6c;};fE4ZxofPY*5k$W{q)Wo6ef50v`>3n&yvY8rzW_8c6N?zmIWsRlH(4@|)cc-5x;2lzU^8@){^L0=3!v5bJ zH)N56Z9a)+C$)lU!*CtI*)LDpNUiorp`Lx=!;x&97H3n;i(fXjGHLWGtUFfqJf8sy z^VWbIZRWW5+bD z^;qV4vqrwO9C0I1R=WTHo;G~vtHYqR%Kl8aB|cE!AAYBe8io#1uU|g;_!g!; zvB%r0Xp`%31U}<*vNp6l-Y>TfQ^S_fnCk&ztVdsWRvN_v)0qiO1iqk5KYS=?u2&T3 zxC8x|s7Q&of@+7d*~L@Zn)f!0iWhf+f(e6#ICT5x%1HC7X<{9MJG)F@G<&(((Ju>) z>B!~zlh~``!;9V{6vRE-npLp``VNnDS|lZIgchkq^q~^4CF187IIIvwzy#}4q&$r2Rq8Cgs;yE zW9Mp9F`fg{FNqP@ZkbB~ z;RkkZ?*4voQ!~5PJa{Upl7D#I?py#WGT5p^9u}^EjE^w<5}Gt_>!UFPYR^TCx2kyz z6ugvC(dx`>2M1DpYc!#kZ5#wKhOdfK{A0&cU-7GK6~6w}l)v^RPBD%nQm_HeLO!|* zPedTR1?gnXB@R5RX2TliZ>C*`cIHoj!P~~mvcsZ8Y`Q|VOUp3DhsgibL|@%z zjXB3D1Koxl*04`Fo6w@+&*zbRQiojGFdy*E>cH_fUc(kWZD-hUc@3EDLp!kYhd(}T@ z(bUI3uw)rceqn`~ z=+eo!6-MhGec{vBC{VSbwviKtzfYrM^qEzW5qXe=Zy9Mmy+B0*VdK8-dn35egmzOj z2OZI5e3P`ZLH?$3k~9d5r}dU+#s!g-R-OWNKx9z(i^Tr&_y$yp-?+oEi9REr839jB z7x!T>ktTOspD395ljnfbyjff8Q#9tNRr)Iw%mv1kbDIulrJ+nOI4#8l`} zO6b}d7|&e;O4dPt=_MYpL;w(1n_Ew|JgS9q+RvsU+xETn_vFYxrpy;2o6#a08?JYE`>{#HnUYnijazaxcfku&ZWm~KuDRN$m=)+;$_mJDmiOW)z!bMtPuAC@ zC@0uIC$d^F%*CZ;xs%$XJjSrJRfIuz2MC!G``5+9JLG}+YkW^`%o*F- zYmCmGpsm^5ACOeVEKAFxtj^0=Z_?H6tX%l1E{Es6&i{@8JvSBS3{pv60?GmbtdPg* z-HLjDWyE2K=B!w4SNTlCr5pcR;&IR6vEpm6u-i!g6wSt;<=L47o2eCq8~nbFCr_;e z_N{Ag&j=4R!gfF|=YFXBbSz$q2SfUSYna!YIB1SEigPCtrKTI*dhj=gh^HXDjoI_D zcv;ux&{$4I@CNh!a+=RmpQ10|%js9uY8@80%AWU3D)=kvDd=~_x*Al{!OKd0y&m$B z-BnK~9B`c)HUFIZ92M;y6EDAKOpmaXw4bSVf0>}4W$)Tq9$5>+g#7qmnA}$Kq2@O> zjo1-IIY?qPr-bSNZbWIzVebPy(xz6_M|{w61U0CRP5C2?+?*pOaeW5d;}kRR8<`i) zgyL{c=$ow*#P((^pS|o6=${a2Q$CU!92q_TuTPR5i>5@X>fpvaxRG#WqS*)8U+6tX znJ8vmY^Uw=M+VEnY`X)Ny9*tIx!YY9jfu(HvxInl)05fs;aox@h>J`uPldibD%de^ zjL!lFI32v6rMrjbawvBZ@dcYsExwx^DI&xH?y)~|If{-%05;3IyE}n+6B{}7+U8ZQ zgB=q`_C87Bp(W`@DzvZU`O-Jn=-qboS9v3<2 zfc9iG*wZM@ueVP&L}1krOa+;G&~XhOun-h{NpdS&Yd)u+gZdY-WeOOfgTrL6}8 z9@xN4;qi`0@0X(uqLipfl>f+r9=HTrd#Ay3vczNsYf}%k+Kbf0Z{!7vx$qL^X+5sd zgNtSfAgyv(9Qi3IKLlXL|BJ(}eAcHH-c+DN8?_jyWIC^Own>E$5 zX>-2lPFqMsHK9Xw{T0MkA%6Mw!=G5h*MC339#WbCf+X2a0C}4JmBgg^i$w;!WKI4#p-J&XsnRA-#uUj3Ds|>cNjg?n zQ#+EvHo$_#=M}pEdk9CmI1i|%yKkAo-CzDnWpC~~_J^R@%naZ)+;Hg7XdHEx%LiM= zMfND=8&wR*3rwcbfn=g{KGv>6W|_V{Gvv%P^z^LC!CuyM%)8BjAIFU6)z4AvF?ozd z$mvAS&$h_q*brctHuG3KK?8^fKaN9m@2Gui)M^tp-rv8u1LS>xl^bhDD-5zQ;EWo* zVm>^5GyD9@xAw_Ek)7bdr~tCz4R-%ic5=c@HKdwsyc5;khnP{{da^4uB~EQWH-?NC zUZ{ZvIOSsJ)PcusbK5~Q?Bi;T#JfP?!{kQA2&x6%oL1(Zpdg(N!fAdRKWYx^yd zCsiuquLD&K0Ny)`&3xmCW6q1v)hZnpF@yfygRofVtrotxN3)S^C)@61j`<0b&?dkSzM85wJNjNO=+SBGT+J3m)# zrrrnY!(kHS1zzjnGetTcq#_e7WDv16kdxgEGZnb4KO^tEzwc5G!~GHo89#SRkeVZF zS6eM4blns%VX%<|td$WzKZJny3H_lK8ZRSk^Vk08AHy?q?{75aPi+ajG(YLMmxv*C-Pg(_^YhW=7$Bi*ird?hafSnndqp|JNIuq-Hc^hSBKtRR3uO~@lMU0l*{1Iz+u$qvfD$P8$nmu0?5Kc>S;-62D+q@|ye zW;{18-x5&xX8R<00u{k*JU{oqEX# z%$26QM0_VW`gwlfbq3As(2LM<9d~M6ID|#kN%1HRJwJdlqm3d5ZNt?8Vg!oe{)?Gp z{-U*+-IiwaRwMiPy;QOeIm}oZgUeGmNRBJa)VEVR-BMd*?6Zp9N*L^pTPX9Cb)5!! zL-M5s3@2#g{!2KwRxX&`ee~W}u@CR|4#6*U{r>U4-|#`_Z94#6H^=O%t&DQS{>FUw zUac@Kmw|s4%Z$p>s_)Em6O#>|p2PZ~(%s;>-kRKzt}uA+&|_awlkwD~^rP|*cK!EK zdX{&u{CF?eqNMakA++x=uMQhD>ir+l<>`EV^gm{y2Rp9QdnR&7A&(N`PNx2onB(&} z(ajPdT>tlqR5Kme@OkbmlX~&*UVt}rj>YtKh!q70J*{H^p-1wrX3xmPLdAup(|Nz5 zz*6fqMr`MsbaQ!(7Ok-?qq!YmQ<5{o7OaY7$O}5}gT*zr&=zUB{{x|nn-w@|!zt{U zRZSi*-g~>e@H*yepVKd*N(Q5VbT28u`X9Je^N#9m{NeC}5_8SZLY2RNEXL)TuKwcF z5y(ZTTP5STCxgXFCw_rC&d&PQkr5H8ctImyc{JB&{U2l=oxm{c=HVirh9Ehol3&pC zgKv)04Nwil#hO+TZOR?&x4`z@`?~J7ts&0-A4AmnL)i=_JZ-Ud_SJ{w3UzUtC%^ud zCDX%my)zgW4T@Wi=W!Egz!X zzPRrp6p@lpL_nlFlm-b2>Fykq4vCSF2C)EX2Be0Lp&MyXlr913P#ALPl72Sl{LbOr z|G@L+zIi1&UNduDd$0Jewb$pi?5!((hGm;|$St?OXm+&G*X#cOc@NKxo@(xICPS{i z*OQJ650%^EbeW_a+U^(0&)|PhLtXL-=2d&;|K5Lgu(Mtom;#W+?FGE%?l&9E;X0pm z)RR$Rg^^c}eL;d*(cty%l?}5Nac|nXEU(%w&E`$K;r)}nN^q@`zn|q_*D^6Ja*$00 zXOQM+o@C%Zq*>b_EgIH%OY`rSF!K-jA(+dpxZc3EwURq^?13Ejh@rh8NtRU1iseu7 zxjLyf6|cvw*Xdv5{Q8ja_RI|-_1~e&UZGyOgI9_B8I$h7TB>vEzTUj3V>)T_IBr9! zVXfl1MaS$E`@jJ^&kG4A=+)t<`kj1Bb}vV&#dp84o%j$&YRQvY#8Uq*ITjm4h+8W6 z7)kfgau;r|E!(yV{hSs5YMt9zS5c3iV_5S|ID`FvF9-f{(u3e+!(36ygYF_UV^30p zEavJIon&jUUev~$`)&+Wt7SvDO(NPJB_e!|)URYqi=hS-lCU^%ur@pS^5E1zsy^DrcsGw)0OR!^^N2}eVD5Ol@R0*wIf-TL zVfT%_rG)6;1*T1~3qt1l{qwq!c*Tt?6XuxHZ|@I#yH^fN8aO2FhqPGfW88kFJHDqC zh3iC1x((y)!G^K*$9&%YnvvYwcFYQ%z4c zL)vkc@E8nCnF$v@Ii!W5nJnQ;HvJH=qsz3aFY_VWR1fEau zIJ>!t{!QXVqR~6=lNTwA5#@q zccohfNs`Sax-mTIjnA^eP8>)1_tEB0SrM@9=7Ld1Ju3fqQI?YMw+u-vKu-$Y8I7#msvBgUIy8G(L5bR3EslHS# zOblnm5K64v8}Mk74}sITx0OGfiOCj_oqdWX>G8yJab|(&1~T^~E#dnJf)(r%=EBY{9_+t0`#0aG3EcUn}_OyG{#XaQ_@ zDgWyeC#z3eAKt?-BJk&(9c?BxoKfiZrc$?o}(WpXlx|QTHUwFz{((UCfdhB~)y~Ns$NZAc05d=`J+YKt8Xr z*f!iD^w$%C*+YPxOEd>$nKS*oblum-!3$(j72l>045T2)REXQ=2i zl?mG2HGxjUDM#&`-rw>VFF95jnxht%{>ZZWDZiayo+VspAzp7s(=j8MhEY4}bJ#^Ac1FO5_jB_(|Amh3 zE_6Ce=$rMi=Yg!z(iB6}$+fG+4!K5o?v<;Pma8&^SE*{{HeHVxp*cQgU)}$BUMM&; z*zNp!Ao*TdUR0fmTg{d!w%Vg|9;gx1Ik8VYXuH_b*trgonq| zZz>)T6fFNIb`eea{N1aIz+_sW)hkUdm9&Vs)I1;UwrpQMql}!5$6>yET8DCUPhJtg zIk;FCa!ic;y?j^b7SG!C)(u|OQVF}7R{cEcQqmsZP(v&p2utDAT7GSwVG8Goa;6!S z<&PUBM(&$0CcGg|d92PnXDS-HPW`RcaNGcuSgP!!l77C6eOX&vDoqAMtgE9BHx2X1 zm$w#m1LJDhhHvO!I}UMQ@<_U{dMEOlQ0B||7qjc=&k3d61FB;e%QOUIFU~2cY{$X^ zgPb;%whauN()deF;gZij=AY|(3P4&GLx1j9geMvPXk{B) zbDatU_dcNT8*YBNOpIl6Q=#6!eJ8v`%&h1mXD&{eKI?utb_@yp7C%N>4 zHQnkvSXyVfJIFi(=cxLb|J)|2Vbe6MUhg2al|Es5N(^@D&vgXe(~c=YK^QnYbL!U% zDbH73{Hgt4qlr9GZjPd6f`8n!OjAj14pGbE2rT%87t5R^)trGrf7g4uu#8awe8>*; zZwbzlGN8Fqq2);z$LLV6 z(xnv+y{3WxBuzr?T|v}C)HZ3p#oS|SFVik8J-)ZZ-mKak;a0}A!dZN%{u?_3rCg)7 zOd_(jzw%L#=a;`6G>x@{)JLh2P1SgZLk&No%F*}>%G|)kp#+^CYsy)|A|`q9kHn#?ADyf7rFagHBW_$ ze;^%fc+76+WqME*5Ib*Gv5NaEqpiSfkd~H>ftFVHmYky!NBqKg;+B8AQ?EsOVk^VNgm-37lK`($TC9p|8G$WkEnQs!D#vT7O0{3lj+wQnrYAM2FOZ_4wS#B-UBuaN5tEZUNqOWxWe|h?f+w;tI;E$Pnq#rp`b)GVX@|?N7c7f&i z8I*o2nXDdL!mdwre^0F|LUeFJ(Sw1>ZY2jik@3w4Z837w+o!e>3N}GSfzq{3g?yuS zx2TqhCw!kZ?2THt4>Xl-q=mXd2d-AdYto;1mAS;FNcT~Nl1_&p?qT|aca|+14hae8 z@oR(rSgnC0H^$mp!buAUN0s(HFpBoxXy%YF-x|Uf*8V*(Lk@xUEmcIDGV4D_R4uu@ zF7n-f)yNi$b3*rMPV$k%1V*=;*f&>VYQ*`&AKL~0XaUz}xIf*+nHja#W!2rC&4B;s ztk(gJoGi`VF@{DjGqak9rGi+5r|HsA%eo*!fpvn2z-eKs8V}p{FjCj{{`3#yoVbPB zr3}w4aRV?OEPZ*d{gSq(%k6hT?Cs+m?5}3GdxCt42TQD9&9(H>$KFiZ)4L{jdn>D1 z=J) z17ZQ{YNi9BHVwV1|9Bj<-XO5zZ<^R5Zzkc7h2Wh^AFMtJn5G()xbCc2+NsNO{bx}y z{6x`XLgKjO{u6z{Gk(UvN*K`IM}G~0V9W;T9iwXz0|W2Oj+ z29l)m+mx*I3-d^i$+rZ`W`D|!6+9y_o$y8MjaIyqCA;#*Y2UyEt@5sbX$s6$_B=Fh*Y`Nx21T~`JX?LX+{r`vkdOBCxT zMNwbCw2Mzl%Whr2H8aO`cO#!8*G$vt2V*JDR0RbZ9-ZL|_mj=;q(8T8Z2Ihv3HgXU zF?jvn$*S$p$?KHy#CHwi?1wt;Msua|LP9wu8=@0!jT%2@JK&Y`OLSpZ+l%HEC591& za~g3e1*Om@j5WG;K9rj>LDOW{D6Z?V?Q^r5>{36^t@YPMA9^WI@U*1tf8+6y|8%k} zqBePqCF%a{Pq1>VZuKw!iC`yiq9xeLm(5{s#s=y9s-~amjK5?r;jvIDnSD_*hi;Yp zf2<6R2JhUQmag1@Vnpwn`>l2Hl~1L51}cHm?^*)&uD#!MQYqc%8J*!Fgq6b8SKkcP@eZE?GWbmEpv=-AA3QPC;&*PsN z$qYeduPm)hGD{Fffmw43TjU`dAXz)R%6r6Z-4z;Bt7OLgxm`AocYtBnB|U$B-D(#p zvolRcNd##*w-Bu3Zxe5x+rA_jfr2Oj;mUO|LPw1w5rZbBj@q>h}nG@arN z*S)_=L9+`5TA6SOBm8`sj&;E0RUe#j*7f?|{&!WHU4;A~c71gn&HeJrBeUBMH_<}R z-ZEX+b-bHKiM@tT%a`ZOB0;#&+KQ3`!r$OmUdRGD`y2tc;MaO1J*&+~V1Q0muL1u_TqEb9S5`{#&_G?ix-T5})n>T?VIiRI?maC#t7y<>Kp z_&gDg%cYJ1+0n$zT=yb@p5>cOLe(}38U{;3es1Z#&2DzLpX1QW`OhpPw7&+g+0d%q zw`D@Z1dTu}CG~XGbRB(?LRaasQW*oaH*CkfCvu>Jw3APW0fN?ZpY5B;MZ-2DThbjb z+?wn?790eRbROP2XVc;M@!v{hI`n3~a6*&L{m{a_G3&$C!q}12%KrME4#!lTA34qc4tj&AziI7aY0Kjz=rSW81Fu-NMb zt)TiSzhQxvSfavt9kqXLlM|OUv2Mq{DoJ z7+Vd{M#%^a+FO1)1U_dDy^pB)U|*3+Mi%1=7OdnH zyYrmgYACO?RJv1aLd<`J29{uQEc=IF=2~KYaWfQO3pisE)th6%b$m|EMfPao4t@ye@o(@R!ejy$tUJl=8f!GnTSt#pMt9fB;f3UNAuTTkBYDM zShUQ+mpOSp5aegP8xSPq!c4JeM2AP-+z~UX#PW!8nIa5LlmH;srh3F z9J&IdN-bLceFY@sHm(A|OL38sBq_ei-!W)9e8{O7&jlEB8(=CiD0uOY=m1X5^?$2J zKwc?)1V&5JPOob^F7=Zn<)1FSq>{V+Aw|?D;C*DMh1|9s>~hATM^0(qct z^=!dKqpzMJ1QNh-)o2SYqwxA)w+ViW#{T!Yf!`Q#|6S(bH+ho(yWfz^2GZcMIRhr_ zZ@v@`&jfeme?Jc>j(nO(iopa&Pwi{p^vs^1`@nMtyvu)H0D+_lv6|GmdU@5c-MU5w z0i5bfq}-#ZRW^h2EQXo?EZ*p-h0?kp3tIm;7L5$4w>Q}?Zp%OlC(jjs8x8_z@r8e>3A+>Ek#+9lctzl4V&~bC@<5$(u#6eSv{f@_#Qc zS(c48WN{;aKeZo>m;C1^P5(zAa$blnb&%)krT=eXwfu8`fUWrdW3RH_WD%fhH)!;# zVxtQg$X_f1gdkQ(2aW97Q%KsDQH535-)n%yBAOS1;IsX4VGJfB7cL>K5uQ)GpngXv zMx{6wGG6Y6EvXXIM!*kj02BS;7hrm{#}{1YsaNx1fROtg=*gu1zW}=u@J9}S!EOTB z)%@j{&z9T2zd?QXM@ZEkyL5BbpeL%>`+9a9HfI{msWX8gC8QDe8AyA=jCl1MP$9_F zWdQcb9FPFdP7W^sl$-3JKuGYleR1v6VhOO9!reThlm@^wZP!brh1V)_o7)ny^YfDb zRRV1WR2u+uQbr-Cj8pvq`yGr}tppRfFX-DDg7_1I<5{Al?v6qV6-fr37B$k0N^kw zvGN-`3o&Zny=tkbks;LcUSJ@sQKii@2_xW4j;2CHtN%f>-%%0u_>vr?PO@t?dlzy|H@8QO@uXySb za!6J51>i>j%v-whtjDY`;8IE~rv+)J)85W0U%V`O6zWxLJ=#0J51@;oC>jpIvR;FOghAaOy#1J2}H3Slqq=;_h+lp(PX z#@cs1WtXM{b5h5z--#J^K@!o_xU4y+C2V>P$1g9BNJ;ba3 zdK77q^7)Wg-$HI{Cec$k*TPU4eLQZf+9|j?1-dHvF7wliatk zu$XdbrzQ!#gV2&EnWB=pw-am+=(m7`17;kPtu2v*KRpsFA-v1;;L$xj$Ha56+E$pp z0Tfhpn&4{2`JZ_rxW`^+rh<-Bbv}Y#L4^;)IjZ#8*XwY4Kpobvw23m&1Td@GKk^5& zNG)dJGE&^TAV|BtqiQ;RLlu|+YDjl{So8U@66^t7BEu9C_}g}QAl)kin1P+6upv)r zhJHC#r;>hPzkC3*>3DyQnfwhHFMSBAS)V^E- zkee};5tP8QnL|Leooe!}hndUb(xL&KU5RNynNAQ>E#26UzQpZd`ZUF3X8ZK#!W@7* zEPgWA#tx2Oc%xwuwHvl~V=GcE;YcIJCtUfEZLvT~dokCr%9{7Rvzr)3-7|X*r>v!_Pg8U_mJc!l3_eb>h_hiXU zw9B5$!krk38qN+T*B?uk_k*_e$zAkhjanb6*hF$R+ZfdAX%*4>jAU*4dS%q z4Y37m2Ik7Uxnd$Dh2znh<9U~;kN4%jlVA1?@~0=F zW!JArFVp%qZ2}tS77UUY??u6Q0Ia~N2L`gjc8JLrR%}$$cRD9YQV)VRFVp8-Ou$X6 zWZ@!x93sRH^n>x+KT^;?`vvB+a|jX#hwY0=?R*34d_~yl^RMf^i3AjnWKw1K=o8=n zp1Scg;{JjjGU-40es$#lblQTf130sgZkyQ=7VrOZST z+hJNar9x3Ew!C|-LwVK>rl--o3&6SZS$_k}xO@H_s{k^$Jgg2I0KmxaDbVa|Sh)ppY-W`sCTrKdq zdm```u(Fv+#x26VUxU?o3G_O0@LC+z0Ot}@GdoSgE-H9c+|#=Fg^`zVkxPSqVE{a1 z6ulhNAH$=rZ2&InLV1Az26h(Jon~yepikw}M(kqBXkG53673O7*$S|)2kVo1og?7! zXsHTkYvrm&aYwN?P(+MNyC){g!tTjWFmuOyaL*Cng1rn;e8WBabFXsh48?ofjTS^@ zQAB+p09dFmn4&?MYXV%@_#`a!@y6$Qi&5m5MZ%7uC;i#9qW70*sj`iy}L|wH81n|ei9v2)KX=EvSe!6Qe$V|h%h193G8UN zWF>Gih$GS|;rr3~iKY|_QYlN!(xxV8wL0tplUGlnossP0 z5I;2Q1s7604j%Pj9ax4CL;GZt#ZicLvddEoGFoqa5;E^yxX}@N7MIb%0>CvVqMQdc zMUUD@)p`(Old{atbGqq&5!!4qexylI)J}u| zXgFHjfESt=zSC~t)S4)W^M*7}3Ujj;_ki1p)RJ$n18l@gpKX4vMKjpp-VX)N{08^2 z(r20m9A!0aL~=B~l`shdm`smz1Be>a-#Ekil#_)tGMFmzvM7Yzz=kCPNE+Y{RD#bx zC=^wq<1T7@v^+mdg|=*~Qaa@3UM;x>szEo~FxP z=xmrRM48vH*BE#Xqd1(AnA-qUmPn~mEx+Y|go>Y(Fi-q-3=AiL+xUMa5R_?>5x)kD zrEfQe&PS6ONHu}+F%O&!Yf_HOP#v9itLECkIT5o8!! zF9dO0e?W5`iMSlEbfU!6IvjR-2a?}>7m05;1!%hXf)F%U{|G%V?@+QINJg{_ z4A!DIV*sYmX}WHIK0<;ks?-`0A$}}hoPY@Yu`lR6E)uMb`Y`J{q*6=8U{u@*F4ByM zb6R9h^(im+)1>g1A@bB^{=9A7U9k2t^bRMX@WQRL!5F-7!l1uB{z2vfZoqoopS=E6 zLqF8defi<6wJ%wY9!q^GBoA0?l+?7IEUvJORUU;V%d5M$LjX|F^;DoMT7AZC)C7^} zp>h+2jN>#~h0r&F_xwTXe^2uq+^|^?bh`fnZnGHJM*R6x7e6wL!b^1-7MQ60; zHz&dx?Fq%+5`}9E;~;MSKJ=`d_C&EyTC6B35oCkbb?n-~-Z=Po)5zIR#R=-z0q&;3aLPYFUj1>3dj2o0=yk|-idn&5z*+Fj-P(xcIWIm z{eZITluTjjyRU<^7xoUZ-C7Xkqp8`x+;P5&-9VRR%Qm!XSW`o}hnuy!Qh(VSZt+wU>1C9)& zMsTiJA!v9MtlgJq)6s8YBu6FbWTRfKwl&Ej8HUjrk&b#@Ezij(>Kp6N}iKS5BR zx-*YPWX$?sH2NTU1k3XPppJ7qe+qL!2!v)WvEAPm;*1=lK8(g@<>Y`&TTdJsU7P4c zzBAqcoDwQgH(#5TH&^B)$NQz)Cb7XWh#nUlPtH#^lR|^3wvC(``Tb_Gq{Q!)GwtXw z??}fB9SKWVmZsa?0)JWQ)jnl{cys|sB%!OVn1>4K3SQqvNsDvN64PUX8ORJn;)gu;5# zuuyw{OF5t8lu+ZL#hNlZmpQPNOrKxOG#r8W_Q7DL%)85w18}Jd3v3wYV{eCQ)v!}? zom{Flur7tSX>aI6f@9faS>t0=YQp)8p2kkzKLg3S(iT;WdahM(VzhDxSMUPgGv!|8q#1o2-fHE)47I_)#s6sm`X}n9La(;wfTLKI$j)&C(CPAv{Zu(> zx7hG-hPOXb_(DMPso-1bGlm+XT`7Sj87Sr4KMKVeUpENH%$rhkA;gsMT+_#kS5u_h zqzp~2WFppcRGZT*nks!Jjr|-p(4L%HwVnqN*TU|fRvem+=luXo z_Qz8VWbvq=!g9KJ-SKs{TyUg&3E^$g-+hQN{tLvP0Ac}Dx9k-KSuP>iZZu=Zh`xX> zjp9+c>kkFy1pP}Ya8*G_2JAS~X7}^cqjIYH z?ps4j?;XO=ErZ@C3oy~gXLs^H>q{0c@86&33f=?mPf;=7I&v~5<-99fv&pdgFcqXB zB?c8w{jo-y@rRhReB3jdY~vWh`Fow=`!P3oX>$$eY7G0GSa&v$IWGL)+^1dyOgU4K zR9jTo{+)2Vj%C0o)z)5dzYlPRpMQt2GtBa1l%BHcOh&J+2s5(7SMN_#S31&*f>iP> z7B^4XZ4!_k-Nd4h+fl1L)Feq$vM})>HhH$!+2zWs^U9qyvwlfIkUxWRG$SQ-z{q62 zv(pr_{>~BG^J5R2{pgLh`3h(B@gWE0$HZ-px7tue>PDD%X{;@&8&C(ob3obZRkEA4 z^AyDN-V;(k?v6E-NPr5?#@ZPp9|=q!exub{#i`v}T>J7Zl)PXn0RYwzAE-iAYe$e) z$6!DI*yMuyhTY?jCQnSEHzI3xiC~Dj6!o;{6}OxcJLLCRs=i0Tr!~2`b$)>$mp@lM zZsCJGq;P7tAriYqb0o=({#9pK7MG4HC9*gE1_SK6uo#1jp#Q|kG7^c@Y%iK3or&$f z?+2s`*ZCE|6*D36GWd+vOnCBq{?z8Z-c}aoG=4A3?X_~Cbpb%=LbN4})mPVMQDlCl z@qtnF`Rh5_VC0df3h=88PX-C>fCR=m$)0Y-8=nB>LX&t;0kO2JF-yLI&u*9{MQw~3 z!7)T7?u+Ry-^Egs4{ol}g(uKr605y-3>!;gMYpoLZvO3k-c7&QiKLZgz%DYV$N`Xr zF8HMkjfkVF0eWp$;{zhVfUPx=UebY1)$Rd~-&))h3?6xd%?M))D1W)k3-?ZdRI$2P zO=6?qn(wdA)ULf@{GQtV6G8>YB(cpKru&NS;kX8DycsAY`z6Q)mX3tfj?#^tpYH+S z@(@~~%alCRe3>0c+W&xdDgvi;)^SUt>FyMOkb4>Su^;K$eyuJPepNQyYpBC3A?O;>4P^90C66d#WSQrnT#vx4U1 zT5-K<+t zAd&*GV~3cL?Hq&zTPGSZ47=6L$qGj&T4m z$Dp?#;qPR2{VIpDk~+}Z$t4V6A?+Woy#<=QZb(|hXBm2^HkBZBF9sCG`AE}z4gx@9&< zf`MgfM8uK(0-8YlybX6-Wd2rJF_7H=sBi_GV9Mf2{lDGb_c5 zw>NKReb-`ooMPK89^a7*gs|wCMgUp{>Ha03kIwrwJYW|HF~P@oG^aVr>R@Z*D$y?6 z-^i5+3g1wb3oejdx~wdPm{{*eO83ZfgY_+Tdj~V+tl1xINA`cn)v`BWpN^ClzeYmi zwHRMP*GfMIa=ng+{QUKs>O-P=;8DJgG>dQ6U_86lDqS8Xl(O5sk_D4deKj;`rwzL| zkT>QI8kp#nBYP1qz9O!K_?SdFR+3nOex5^fwl_$1!4?;@zy zS;pIl?y^n8GOO(!4@S?m24!wchEt0YQVDG}9?rxBA8^5`kB+zdv(d##Q(P$agrnVq zNvDXqcCWo<+Sc47Rd$U6ur~y;r{x;&?C)|xT`Y-|u2TrVa*o4r)&^zAhZtMsmfd@A z&bH&bV{>1=QgQD9Ynypi8%Wi3G#6C(SRCWc=nVb-`#xK(2+F#nq5ubP5U4)hO@hMm zPMgJ*Y6%1IM#u&Jvc2k$85JOf^{poToPcd=-FqR>U z2N%u3zR00+P`#}ql^xo% z0FJZ2ZbARDRLZ3K#$2(cYCiRNzrH(fk>$^9~KWig3L0u|7 zOIH*7NM8Y+E^$Lsi-U5Ff^aJ@GdxaEoEeBv1FvV%lmDa@BW6;F4%xoeTcal9&Q zpL>@PJA&zNU6L;H(G8_jutdOpqpYdADnhC~QG~ z8n1Hr^NOwqQ$`F-%`%2VLUmuuhe&KMa^@?ei_%a_Z z>IiCbE~Zs(Yr4Vu&vkY?gGT{U7QBT*WE%Y)q;jlXFUbD-8MwM$yeNz@KU)H(K`g~0 z5gzd|ZuiYX*P?PBP%16v)AL-#c6t(c-{Vs}7t|BmZX+!L8G@D$r*$6?IGlmX(D8W3 z_EMnNQWIlLFG+w({hoBJUoZVi2;Ohzvh-!IYB?$fWCzV44*m*6F~@u)Q6_q_Bd*D_ zyR!D9L(PlCn5SW;zxf2hHi798JWI1H*F(Lw@=F8<9kSdf7hb|tPDU6<#e{Eelg4J% zKKK-82itj-!9n!$t)8P~#>q&0e22+A$Z1BUF;hW2>)u~r5FMkdYA%dx>0b@%ARw_K z(XO-`QIs-hbUw220Wo`5@5n-5_9U_5o1B-rMPB=>!O7pL4zU?w^aIpRuO5T12{@j) z)DXEk0C8Q2VF^y5YU{B7LM%u1Oppk~vsLGV3czZ+&XSZn*0B~jAkW3ZqKb5;*qZDqloH)NopM z?$i+()jwh(4z`dmZx0`F8z3=X`!)6ap+OZa^U(=wy~qrLGa9+4=a~Iz$-so#YBARL zxt^7*09iK|GW_EZyBR3mG0ZA9j5~7VoGG4~5G%0lWxp-~we)Sul2~r2>6dd*5FFFu zdYIqV3Hk(biWTBL_ezIADOq@&(Q|j9GX`}U>t#X8!d8RV-a$*EQXE5L5DJr%;+H-K zl8bM&pXE_BXrNJ=+Xj*LxUV5wjj$7l1Q6aE!bi?8Tsz;KcfMsBIj))US_2iwXL{19 z?i03M>rfND2DX}_(mtt$Tgw^({Nq@_V?+*>sHTWS@2`IG-l&!PQ4a(^_1Z?!E<}It zt2~28XU2Q{TeXRktjt4w;OL33B_6p8&$O)@v#Zr-D3(xMY zWKF4UcSO<8_c+v;!YdVUT3~hxJRB~GFnSAI6ZF$1#GMumdVgWJ6Hsmjl@QUJspYE#F(oKWi1~cA^U}i9W82oxcfuxY>$L?bgE*Q+*I6#k^i%gGz`14oH zS~Ww;j!Rsjye3U;X~#&9IC3E=$mcE!KdR7#>jd1O_?UJ_LDtS>hqp3b$7%`$&Bv?k z36b>y=jmgAw&(ZV)Kn>VhaMg^m4T}3u2CgNk$#y}YBnqY{cM<&d`ao8LsRl~5f8qK z@!Y_TJPE<3m*2b&mNO$%Eg-hF)1cnNxvIro*OLlEB-scndAfy6P`_&1)RlQF_(fp6 zDA{bsQhLMVn3tWL#`j`GItB#w^3i4re3Mo7OGmV?gB|t>v>7G)TDY73NNo(~$ZUM; zS|9oD>X5nfd!U_GPvZz84z{Pe95rm4PhzU_3~YQaDOHUj^I8>m+f;F1?Q>{qub{|@ zHK82#KU%YTY0P^^~%C4PAolDVhVM{?JkKyn#X2_HL(fh|1NxWOgIa z$mp$qN{FjFo|Uj+zr&}X3zi*b`Nn4$BCYxuH+#nS(BveD3AebDGwZspxHxDqNdal0 zb~VD~JH`5BO?=8OC^~i_Sv10iZzx4NV9s4iA&t!og3)%y%EROOJeOZk{Da0{O%DUujLU)<+7wrKAwNT+d1oU!s-5Ca zrI7Kh-=(}K0EF!c>d;;54bwxd$lMfz!VV~5FX+d~3=g-xEKHRl3>#jRwLNBI2L{;E zlRmQGeXjpoP)gsd8Z|92s93bkO<{_E(D>#p9=R#tI$I$wizNpY#)%API*xKfu!l9? z>XB>d#>;m&^dA@)4$runN6oze;uuIU;PRhArf1OS54vI2=2?*NT%$Sc@!Tg1qeQ|4 zd-#h=Z+-8LVO_T`mq2M2W*n{Lrjnp7q+-%k4}zFuxERXaLcY(M-#_3gcdFXKjm8U2 zri2OZ@$s0TqlxOLFi;#L&vLE225ms0ywHg$N-S+`fj!JLt?~8|wR2Z`d`vS)V5}m^ zYtIx!?B6klD>@E<4wjNLtJH{_IiN#;S^pBLfZJ@*U!Xb3 z2>$~@j1X3a)cvfgvt=j9B2Z2IC@U); z3x}}hiC&z5)@CYdtbnBb93;ch$MXBXfw04fkvr_lZBQ-~z5|>@4~$O1Vh2 zVep+MkChdmn62bA?i~GK)R;8vWMxA-cgJz!Jz(aU-4{|@D<#d`<(h(*c;GxXw<;CBnNruM$<7aJ|iMMRz;yTldzQ@vJM&(?08 ze73f*=s=QOjE25vte`TP*6|FJKFRa!SNT#IJ6inwkGUGJ z3^FldL^!>igd4f8V!P7ueZi zZ_9Tw zpb;+qZ|>QJ#3)tqqXm78QiCH7xkp@gL66=~(sFNLMT|fj7zj%ftgNH86nz_&<%6*q zcAiAq*ny=Z5_GwJ9qU$@Py%t_Ej>VuWDE2*biC)&jn1Nc&gOwu79+OLk``0Ucu)OZ z{>_}{&kg-Yt4bL^M#C_f;?uB9a#Q`hKzG94hSw(0uW`C?3=W(NRTb5Q!5Ezgx3_Mm zgRz$jix?(5BC06vc$tSV=Rd^4XP!Ak$}lkn5B5Z0F?5ts4u(?-_7TF$+g#MtPbmWn z15`T}b{S_GmFw+3?cu$)W=+~- zxq-&JqOQwnuqRE_ohz%Xu@6*UUl!K2bmxF^ssHtk^0I44D221Ty>+)pdFKyk2ry(S zZaQ8K<*JiM$(yER9NdrDkA`Ad+=T=qGD8^qQw72g2d59o~; zOm!rMSldI)6nrd0>wvTZYF$Z97z^&)G&gs}v{e0$hVy)^{Pitj#2Pm{YJaUXo78%r zTngDr&wXEZOs-W-aVvYHq;}pC{Iz1qtQANgG@uOcC1qD1F1jIv%p4AL$+nVX+XTkK z4ODYi?y=)$7dIYETsC=9i)c5?uywgj#~qFPS>TyTueLJ-8}Y1S_*&A2DSZO5PMBk{ z{;tw(uz}#0wH=k(>03)cPa2`u1rBoBohAYi&b}^TuJg*ayadR`xi9VerO+hf33a{i zO?sKVC0A?F)ekgBEJqvtfOvJ8rgbqP?PCmK$nTA)I3w3!8RJ^yA!xYHMnncNYCQkl z7~Ex$g=Lmbsb|UBJ;!6s9gjuJT#C57=Q`q_d*OdhVF3(r%hUBWeZ1F!2IF`7N`diG zzz4Ok@O%7$sIbW% z`51$PRVOLD@qzs4)s&Q8m^vWpQj5YZ4N~6z;n8CWtttm^UQ{b{*LY zQgXtkIWH=W^HA(>`YfAIca(Nze}l4^7$|r?-ef1Q0Uf*=s?458;IEiGpCv=|)h>Iu z7T?PR;Shmk5_B1MA9k_Z+xww%5@^^#h4!hxXCy%^5BDkz{qUPuZs7FL=LDecT7ip) zBI4GXtta=@4?$Tfvf~4n5{#>JlvWtK&bPV{K4qK{9<9Cwa}K%hI`G6Q;?hLyj7RY2 zIv^?Fy5Ii1hTL~yF=v(Fk*^4n#RJfM8u zMAn(Y()S2;z%ZKt)R!Vy`v&3{PrRq1s^1wU9+9xE+r@fWT!PxD_0iVq<~pn~Ov3BN zUu#?vLp~bv85C&2Ryqc0$}}igBHhah?tu!n_lS<(${Pi{x=Tav8QU^4JTD)f&8#dy zx@3J~rC;B$zTa0_Z@3yF((e@yTia*Q<3;7z8~5^wtK+&JGItN&_Kb3}gAr=gGxG;q zWmy>DApiVS5#CKUvA6nCoh%HRNEV#eGP(KTbtO(JUn)Q=v$h>B<58ri^5LAJl~qnc zxI}C@?d>xwr~=m`|8pN?*vJbH2C0EHXV8?rJm3mis2@E`-29+VKdSnP=ZTuU%`?B{ z(%FPS9v}~7%$tJ#4w3D(lI9tNihHJZQ6ECgs5T|JdoZ^04{(}s4lUX@yA@dKpLa$x zmY3WE0vTwd61GDmYK@x%_cuD^uKq0ME158ztshSjQWb>F!pjF*B~8cqpxwwQOlidV zHOAJZ2|9UMum_SrqzFX9j@qV6-1=r1e-47NDJ{x2uvVW0=+A zq$_-mV8XMgLYSr9UO1%Tttxdkb~Z8@Dm^e z^shUhY9u!dLvBSgEP|%9=zIFeN%&1sB(?W?)#zS@CTDj0-Ix%Ep|*j&b=Hv_%_3H} z@I_Y8n|sflu^d)`!5eO75%!59<)NCqN%P8EweqL+@g1NfVxpFnn>$IstsL<>8vE07 z29Ou(=+x{eEx+*bf$8NE%5V>0+IsOAKU`{Wd#NOLieX2f8ctg4RnCXh(G#{j{E^Uo zuMz~?)R*0nr1H2UXz94bM7#fwy|;{tdTslLK|}>i5KxekZUI4Qr8|c%1xW!B84x7} zq?8`Id+0`nQV>b$4iPCSX{33Mx%PcO`}+2-^?rW#hrO3>1?C?|{OS~1fr2;ybmiKD z@K#QoN=ZA~dV^u;q%4LZD>6#QW;=`e45;|tv1XWex%neB%vo#RWnSHic*u#kuV*Jp zhiW-^FlyY5t-w&SLXx9@f{4CY>&D}8Y{i-vl8LYjXG5T)ckdHmks{awX00_?bHaS5 ziA|?qxgkz0Fsjv#X|=h^XzlC!`{Zy}ljrr}#|p+DQu4zc6*}FGMckbzcFXh-P=#h& z_9QcXj&!M}^k0h9nlA~w}JDE8;K7I22bbq*YnK`g{P_0v_bs2W44pw*xn9KQSV4y#sSUQ+`@7SX{<^9njzPf|17POzcJD>>S4i36=M_+~d zNcO^ETf7O!P_c=)YEg>lo1HMT!bZ;ymz)H9jQnX7NqaIgJ^d^!ii7ppoz)x%Zdk!1 z+X!eZ40U$bd!mjWM|&C87;sLPP2P79{9h~})3D+5HK0Gh;!s`75)kDNMf&XK+zPz1 zGrlDMqmny~7QuDkfTaaF0Pr~JG{$)gM67+1lky*jK0f%7YiR&GYmt70&`Tp(CZq#k z73oDEcdZ6$u{@Xfnt@j^*ajr;!DHgV73=gK?J0=p1uA#@NAu2<7f!CAWw&c-gs5e}EGD(@q8W;Z#>6nahQjru_ph}(sYV1tOA>7{<2U~>B z$dRJ$9xRtMuex{^SmOlNCNdpORNe#2q`;q#po)JjSyQXesFZhR-+1CYB~uRCbBuaa zQlNrS<{yMwb{3(o^8&~%uIHawq8ItKy42~TPpkk*U+}+)l^{kwzJ^*GBO~xnZf| zxiZfQh1+Ay@V(>FKMLVx_PKDSYdi$W31_Wbwa0(0IdsehjHCdE z{14|K+}83~o7<)!B0+41#Er96^yN$Y^Oi}-XgA!A$=;6{Awmibd~M#tn;Y-&iRPNE zLWyYKYDv`Q7h%|j4N?Ff7Qz9JcUqadHhd%quGdm%o!g#y%(rEdCbKX&ckfwJ@_4I$ zjnR$R2BpKDB{QLrXvqS+CxWGn{k046&*y|A5|6QXadH}fFV0`tm*Ne(kk>!iO$f;M z0u0E^T6XXd3;lPK2u4|`&D@Mp_~76Xzu`?&2is-Dw?0E{N4hd$vsbDA&G-D@P5 zE_5ugOBtV-qCrw#J>{HWoyV2p2Wp_sw3t^0DhpsqZI`tL6_4|a`;H_%^S5rt>jkWy zfw-jGZ9cj)ewCdHhutOd<`^Ytr^At9M-6UI=od^Mc7e;6L zV9J(oV@?VNnPv7KQKF6O-@sxt4!ly)r170Bu2DXp^XbklafpkZSEH)o|5kDx{2+aP z0K)z-w(eZKSukIHsqhPuwh7w3S6V}dOm!T@>V@N?m(^>3nAmV;#cPDRuvA8?Vnn!O zgfvwjG?vOGt%64B7`$TfWgjf|}c41AXn4>l{wAOeN0lmGtL2^%kD?03aUSsLypU+e{ApJvld%6kCv=aWAgMXro+T2X)Ya zggC&kdKV?N7rP`QtP#niEOHXm`PUcF#z#3zj+SmMq$~3yMlMOG?e7j86a0;|cb10~ zxgLUv@ZG7VqjpVHOT1n~@WPtWYoK7Ec<^#2fCKI&Ttuv!z~VwpE_M-nGr1!8YN72x zJuKlP_ox51<-;CIzq2k9Rokx4{g3es2cP4>0B0i8d1$B5rH#&iw0=F_<3I_IY9LvX ztrl!wZ2X~ALQY{pw&?5+`b$;rN6vhl$gkl(>GCN10*c%_Vau=4ccS!5+7R+KC)96O zOLZl)-pIAY4PIMLJ`~C9-+oVNAK+$!E{n1;sl{+c6i9-3ksC$`KsV5L!j&X`h^pps zWHo3t5uisRIYC&ZgRD$-tR;;4pv+bo!)-#n>&NS3Ykik9`V=e^=y3rv#t!2MOdq^J zvPpV*PFekidmrXxI_#>ADs8k#7H(r(6!lNNZXr$jn(212I}aUFttaUX==jI=l5Md% z9y;hydQ*Ib2$Zp7J7YwQVjgF>&ET;?)nOZbsO@ya2{44a*Qn;A!UFCN8^k8Zt#Q=? z#m6OUXfB(0U8nnQZC^y7z7^aLaf()y^C%(P>LzXc)CQ?tO{QOZ+kK~=dwt-0cFqFt@ zN%OBdH7*yB7RL}(9=HZ&3KN&K>s+eAUr`sI5B8QajR=lm)s(3wsESboDc8YW9?&2T zcpgFJ-XSL#Ao8oTf#oIQ#2LBQ^?Uy&Q23Zvx5@$@Dh;JaIXn`PM0_48|~O!N2K@T#n7H7v#ow1zV@M<>+U zmUReYwXuc+UB!Hi`X0;ZoVo4aHTH@Juo~0pSRZWB(ij|kW8~QYG(16d)@pUCR;Q@> zu+zsafAjM7f9h&UBZDOvG&}{+mwDX@mY*Iln4)z{O+oIIW#J6op+i=_uSs*28a~dy z0-2X5M>u4c9cJ$%`_rA5CgB!}T=w$&Dz4GVQQ6N2+ABWG5QMip=`+C8vYJG-AJl|r z%4kVs^O$`DvQT~5A&XakIX-J#r3^qtjC4p~?&M}@R=jRgH#D}{2Fw#q-#^tA zBX|{@e`LsBgUGU~wwbVA34t`I9IpMAsmA$OQ=p3_+wN%@GTWsAz*Uc}cIL7JtmDk~ z=vPay`2&Tg(BZSnc0bLAC_ZD)R!!kTEiCkad_@e*Q=nG>S_4I)Avo6cFy5K?6$q8( zQCa6NbWk;F|BzGYD#v1wP_6{$4ZmP^YSV`^~ z*O8j|3c4;jgSE0$BiGZH?rES@6F87%p2>DNp305W(U2XawkPwX1+Qw6;IzqVIA<5V zK=o9viY6Jg-+u1V93B9qw{pa+BbT11UN)NR@9}%Hks>3FzJi?j5}7Mr-~A+_%fW`& zgZzA%k$NQtm)g-gq9-+x0Imi~HEyt6@k6Gn3IVNXvt37W41-L+lb{_KoET&k1Y|8> z?R1M~%#q(1K-}TFgmpzTs`L(Ii^d7Qm|u-JVSU@2xUm&wi?(k+^i`xW)eAAio!hqm z7FumL`H4r{^KuQ%BI=*Q-W&pFEdH{qX@3*HRt1o-skCT^&nj*W*HXFF@*rBr2#Mk_ z5zBk&fl1?Z7-MvF57=d^xkdH}NHgPk@uO9~0}Z;(%&&71=R0EvYksx~Ue6CUtGV7z zs;lA!ICFcU1GvA+=o~AfUdjAPD~p`pzT5t?n?kDNqC(jLINF{!-VY4nZq3PEjRdK) zGH6kq+dU#XgWVkF@K|D8TosDewuZR0HMrg$!CDqZ-XW`H@0zb&7}2z|;qoD&c6>1Vig67FDk#r0=~uZDekvi9o_$ds`gyH+1Db6n1B(h<;JoW$sx@J4`L zWsuJR?8~B}k`>@3)xy zp_IUs0L{Vq_PFc$MV1-C=jh0?dHbr`8-`<&rN!$o%!mZym zxeGJ9dR#{fv#zaFE{UKQ{3i;7mK{Gbkt~KQ6??6~&WD{xz|MQ$C)D}R-s>5=gfK{MgJuSZ6{o9^V&d6$b!-Pxk_U74?!y5``%YPIdU`Y1 zDu_>#A?bivM2h<1NyhnhuldQaM@@g&o7{xv(C1YZ+wVd3$uxB`^%e==|M(N@m!FeA zQz!r&9%~JDOV1E^-vFx9Im!v_UZ)d?b?)y-%aLjg{)Zi1+AuJaqIjv*b*D}35@4&yrAzdjmi5`MbMGp!#fbLfA7E$8EHKBi9d zg|%H*u-ju@Cx)W^{r&%79*@ou!kHD_5ZJTj<12Yy$mgEL1!{Q2Ksg)z(F{4*qCfA3K;?SH2{{r~@q=~11+d|>?KG5wmSm9H^P z0lxsb^nI*k=zE4Bk>NNDaEo1WB(5*9aYP?x1!- z=M18ebOuhRzzJnv)_!Jt-8>v?&;ck3iyaRl*>$*%ADerke%S%e_(T7b!wl9ai`fAF z!S9R{wAdhOy1V_m7T|^KK$xfPEBa*q>oW$)o-%j=yZjw88xB1|wNu>44`LorR=>V! z#pnfwe$j+v>XIb@C?8DfyatlS?AwRFuh6y&8WU{GjMdn&=1|%e#S)G5%t z;Q=2)PXPypeBlTj?W)%>KEoY#TpBDisD=!k|Gw^etPlzTejSBv#Zo!+eF3a;^sI_kVrW;S@JT z9Mu%DDJFPQ_<%@0djmlqRpU1K-vuUYK^Z;ddpZ=Xm51ot0lVXp<%CtnM+oK7sBttG zPj!m@F6eoB+_r*kuV79ygy-?%zc+G4)%Xf-z1zVSJSl89YF}^u0%dgQEuM7f@_X7_ zbg3>^SyU4-$NiAXz-iz-)8scp4s%C6v}Fgf+y8!@;ov$2998(PfF2cT=7bP`R`{io zB6b4K3v1xX;N>PdE};1=cs%zL0m%VsA+GSd3Ku5W!RYUB7IO6;S-^k3-ikUryx5Bk z87LsvMX~Lk&Fa6vEM<4#!Z*gi+l)<2S{*Al6PrkV?6Y523=Ty`Mz6)56cg~?zipB6 zW%{qu_oTiv<@^RztY|JHAZ-RfB|OG13@`&z!tvR)V<=6~Gs(Bd;6Y@#(>zAKQ)|_i zE_W`LF7@9>rohED0>>C?%EnAHJ6veM9a3(0|W)=x{WUep4=7;a0wlo3pQ1lj9KH_kR*Sy1Nb(H7W9_U=K27a=qR{!7ZZwR|% zV1G>TGmwNClNiNigaLAqz*76%!>tac1lxWPMf}%e+`@5<LcNu$7T@0g@D>%^kR ztT3U=nt%dEqyPKQ7A3)x|N9G^HWCJ}e;*cF)v*72pcT-mB9G7A`uC4+o&SG-k*fx* ziWsQg`_OPic6ueL)Dk^F3j!0gfOY?~NM%PfDE0OEk;{V+1ylx4C4qRE?N}K$x(7f9 zsJ-L1<=^iF4FC!N_-+?eEb_H%Sl}CTloN&_0t!IymYy2tH7waS4}Ykyi_)$leBz!P z$kbqU8~O?iiX-s6!cq5NsT_^vF}tr0y$g#H7rwyi(L-33E9@rr0Nz7-y~;Dg{-{ui zK#cVK>gWd4V9P&~HPBGi=Zv=tfHf_-1`#>$KPXehN-yo67 zlsoUG=hqvuqdSqRV(1k(Zcrz62Do6|8po_`$VZ!j&)!KY#l8p0bfFN82CX)T0}%f@ zn0Nf|ILe_lvJ81`IIz2I{3tBheBVh<37*<~SiY+_vJ5x-Ip7NdP!ZcM!}jF?2n+;Z zi9K!dg~{%D`8u>nfY{Xx2F%Uiy@X|@9iW>uvJKDxbwsgdJokc`K|kR+JR+fn{n+R& z(DmmtL6jggvz7{?V-SdNVSe9L##TrW^venNfH;81s+U$d5lkWgb!m;e9=j~L?EaY& zUK0trW1S<_umT1YPngf{zZ}-H#5!xN#dD|ggBM}?@&Ii3RQl}8Ym7v1D?R(|^2ZTs z3C3^r@MY`{fwVT6=RB|k`Pn|mMnB#WbcAS)Lmh9FUDenEe2{_CDwrOb^st*IOkm2S zIHYVR`R7uJ^Jh!p8M0nH1L>lZl^dXy7_u$yyq}e}V;X+0z;kJ^6803g09GfomM$>u z_KMW8a09mSe7C@caZ-l0ekTN*19}6)<_)S8RT4DK4kMpZejcXt>V4Ef1v#?go;jQM zxCw}XN768G)0eA(JNRLq-C0MX@^A+0`t}5#YYV(PL!?qS`axXt=4-$W*uKkk5QCMT z$kixL1Azq}wm7yFfqL-HiU9CBum3LAAL5jD*K`ad79DnqVGb^tGD!QyD57~e_4_(Cp68C2IGhiX>v zjU=AtY0}2Wyz)mMZH9g?TCJ~)E7U$>ei?J6@;3-wv%z3H(P&d{Er>2hpKF9s+6ir1 z84c+ik2y)~mVL>E@6%d8!bm)zrBBeQ2?OkfmS0r_1}Ipz4m@FG*@34HBXM6ks1COV zaI5jOOw$8Uc4v2|vh!DZ+X*3?nR3Dc+|{%33ZL}{J}SLIS_1&bKx1wbTK5awv|E8; zxsR3=^oEMFkvsKZfkrQ;V&z{cngw==uc%Bdx?-RD&jANxs78=mm^;g(DempdUn8>J z#g`WZ+o9Q+O}mY$5%`s?Gf09`ut95}bx=PVqd;&4yvUtgegvUI^_rBF*7>}44=N7_ zCDgWM<^|+epMu2Anp!)tRt1t>od~v5t!k_8J#uwK4beq84E;nha3k%;~ zI-hpogU#h6ZH*W{+tCsTwori>G@1&X``bX%(aV>yrIuBtBR*Sjp%4IAP%P{wTXn@a4k0DK@~EUvznhX#iCooyxS2)!t+<;P<2QEQT5Fuc9AU@(%fG8EEU| zbtK6OEWw1)1BrF`Es$~|S!-#sf>v9AjUazl>68=ujsoOURIE0r8m?@2x3Gk1kYhOb zO{b+$a9B})<+woMzJ&LYbb@+qv-vvc*+*WyJi{-p+X_N?8eL$Jmw1cO?SGuZ^1r%W`i&Gqh$xyy-cEdx^ z*f{J}Zy?6)B%TuK4Bow%p>eZ_WlnARWGg_CU$g5BT-MaB9+v|wH^lDV-w955 zHgw;xF|e7j8O6HRg|ZG08!wqpY_->@=L|b)$KX(&tF)z{C3FROZV_`HuR!Bl~uyO_` zlRuO~sn4!MLD0@{03VG8hsGB_I?4CBdT2%b%ByepR+l15#b^j5J)o4(+)np>1NL;M zF+93$zav1n6;sX=OQyy# zw=oskB$~AvAE%TB#-!}jj1*WaW`d$9J{@v`lM!uLQ&x26SImnCk=SnMD5yj0t`@^} z+Rr5@jVtqwZ7cIr{1(|3R-SI;z$evoZTZ~iX}0{&JNzStuV6x2rWi6-FRg)2{woH6 z>+{pwss^?bcGbJ0w{~9Q2R8AoEKB1z+gJa+?+MFWlPG~xV0xR%R&RMuzM4^w70NIT zt%eRMvp3c&{0whW>WZobkH@(&!CE&TuQO^>F8wN~I+H}U92rv4RXR)=I(2WrJHZn3@IRK|xRzq(5cT!fG zM)s|%F~GrAm7v$(r<+98#mGy@D@+BEvLC;+WX~Wiw=edqw)cP-rB6%g8hLZMDtEAn zuz5^Lorr6YpG-fKPBy>R%I0Ge4Jz9jj+ z!Pu{*TRIY1Koh`#Yv9c%t4|AalT!Jyt^?Pg~w=&6Be_H#jo{}obt(NibiWru!O|E)Y<`jmn-^h1h?<{p zQ;P>Uy~Q9m&{lu(aDy1(cR27dp6oDHkwcRzJ+~9mvF-F%vV{h&Riu{J?Me&i4b9oO z9Q;|Z`ElQFeDE4`>U^&J^UYHB$ul&> z;gVX>zQ3M;$l~wWaIuL=AKzKAfXc(+Oka$R`1798xXx>|nQvI{2&$i;x5FF5)j8QY z#~SmE$U>AEr-}5Egd$^L@hG8d+ot{uYy~<(Rrt@Rj53tXq3(p-$V~hCy5^Hk^N=xg zdy!0yeik-XTi7Rl3#+F(_cZR^OTg(6zqHw-H^vZ$q=yw$gIb1vK%qa!=sbI@B{HVCr0ZK@dgC{GW3iizVnDACZS|C}i^;=P3=;0bzkFemhFEN;CG09X z77Tgcifg_%7Py<8Q0Z3dSb5$@CyIZdtY^Ph9_!gtfPzZGZR?d-6zDjio7yGMRX5Oi~&UDYmYvdy1S3~gioHE$Ntig_BDb`$Mpy;liEQZ#9B49)j>r6?KwgF4 zd#Sr$mB`P8H0_AeQS)0Uvqp{0(rGy%H}ng$8nNk8A9ZhWZSY{@68&ztj6U@r{Gv{j z$>iNsX2Xs4wrnf{FWsq8k{6(&8Ln``^$qd1r!amGdJNRa?3U-n@6YG+=W8CMO9$`N z?!3BRsO{U|e)y@XJexEdAvBH8Gf>dojo(o+E$XZ|GF?DuOtya2svEkXhWi>Cg*yZ0^QN!Wqkb=rtqYkHg3&+Z z>O&288>yPk0-;UcM#&E`H&m<~XZ`+Yg90{Ho>9}k%9O&x%9NBeiKdwbJLLelY(3zd zI#!`_+vENXbI*aR8_8N!>HRB2b?IDh6p`5-c~j12E@As|kt1`52MwRG;4usrXbOVE ze5U&PThx!_vuFD!p5sYCmNm!0mki4Iq2e!9qI9ISOM$B-&OQQ zJyDss_OLpSgFxKvoqie~o{$kVsOFyQS7WWpC!~N}9!%_Q#3XNB>!*e^*G4<_qqeff zaoLW}WrK=mLt%SGMV-f$8rpB^4$yr0yg)e#oOeyexvFWPpw3pQILIRZLsR=Z{rtnB zKT5)wEyz@j+QNeJ+1^orRoba)ciuNe)fZjT_nz(lMEfqa(}LXao@_c2=KpGnPc}77 zOJB1~#(@VKs_I;R{1Uy>y!M#G;~|GZJ+L!0&ZAFf1d-p}0Pgs7`LD9<@ESTN+40LP z659QE#rE$eV;waNi$=V_LGB2?#)dtB_3f zp@*%#Ydvql&oqIt9N{FC|GiO)n@t?DJnL_wS$bLgtPIvYfi$9s*grpo3HC2&Qh6S)?hZhB+nw#gvO$zoc@)wQA7(- z#LndaodR(_P}bhm)_nc@v)A3Fyazk!iq-anG*|*EFR23MB%>{TW8h-_;pyi^C_maIdEjP}imN1hn z-8VYBlEQk0h5s#r8sLK5>7s~&wbW+WF~3)*<|kc)6r07F3q3nG&g{n}EBAB1mAtCX z+ws+lYpR|fxvn~4LK@#;ouY&KUo1dABKZ@SoU8uv2%G`o4ZSo1sy582*u8ZmnZI zKN0e5r9vA+=j7i;xET*~ku`&llRUNp0oXAtusZb1j#+Y-oF1*Ywy zIn|c~iC7?-3oojEZH+y0+7}Q#ITeRe1Z9MW!IwGeLWl zXNDz7NQG2pC+6L$J{Liu=ffrHb_;9r2`?3ee)hmh(-y**5AVeEU5%cynWjJT@)Q+u z)0-pK*GhEu9)4WBqR+GD;@2v7`Qm=l(O}M)TNk^bL=#`m+T&kG>C)fc4r(jcRwNz_ z5w))0?C9IABAfwV5UG?lT?+V3?@B3{83IJllhOHpX?FOnv4IAizDar%a$8iNkXs%- zFmhn;rhi3R-7Y8JB6x1(Rf)Yvc1~OTFDu|~egj6lY59m*0p9>==t~nn|IWZO%1-N+ zw6zcD6In0i>Xvlh%o_qucc(%%TI;j4I&%vO@?bcroW{k*?S<~RdD3TG{^Ek0B+uXI z_;z!<_DP9JO95%a?c0}W3nGJq>hq+MA`lY{UDB*&#o6JeCx>fnVfq2*G~%(WZRLhs zhQubvd@Pn-CocM@8l_|-ez}~Ly^&#dcON#E|DLdnv$K7a;h3b((9J8v6B_w}<(Yv> zF^yvz9apoDZ)GQt!!#6;oj z6}Ql8rDM64@TokKFEBEXgThU`=!O1$+GZ#3(YE0*!GofHDZR6Ov`@2c}Nt{(qmTLk3Zx_UbWl~5kGyMpgnFdHjPd1Uw)9~ zKl{Q@9)-TTnN<(ML;Zr3>1*PrvY)eG<+g(saAf0Ct5C;H5r9yR(@kzmhefq0QJxd} z6+mxazpGtYjl@)JC=%zLG%cD>cMf;fu(5}Aq&es6Z`tt4CU^c^@7qC6!Ng+Qv;1Lp z-4*%eyJ`n+{uUY}8Q%-uM^BqKye$%hOq$&>U`_YyBi*>4A(y-Iu(;us$L$I@wVt)C zzwh$dF@HeB56IxDP~q$Am|(U_Z^UZWj_>a!>Pri(+Sv@M-Z0=7LL#dH$IW)1RQLU; zp6&c}{NcMPw57Z5tX>=UK*^9^=@05X2VwFGDx-Vf)Rz-avs>ES2W||jS|!+3>9t-H z-BLZ?#dFYGRTVsqeO*Lk&o|ODqLtf7SN#YZClvH?s`U^!u}~#}+%1e{bqrg)E$)q$ zr^q!MqiMq9f<`>V4MLjXLDJwxB!aFkHsI+#>+|qCjq9qme&0`olWPcEXam&JG+v8} z+22Z=6*{)M<2hz{i;(1KX|Bg?z-DEu=gi>e&$y=z&qEZ97#v)|dokfxRFn%I$C$d# z)S{lsBPT!f$t@32w`Qr=8;{5*4PQKHVz){sM(x$Q?Pl#O?(ao8e6-wVx%A6SD4h70 zWipSMjLi!XQas8G)fYKpoUdx^fkdNd=2zZip69Iu3+;-w&~0>^+_*P;1tX{(-}vn{^$a*Z{zEr; zb90kInv}n>TVZp1;!=t;Q@^#G9ckf*Yi`dOvFg%u^m>H9Sjw!QQbM-}|CUw0u0Q1}?pwO1aCY&Y35qhqB8o>h@M;)qAN$ zP)dw)zEW5kU*)k^v8643RP|LTQnHhIQ6@<&w{Yg|wbp5x8eGunMH-+CroiIy!%D*N7(ol`ik6; zcmp>&UUEFm=FuUaEod>0<;tbItCgIdp-(b2pYG3eaNVk7I4ycJ|9CA9pX>Eiot5E2 zdPVKW8bK;KvqH#a--{pBc8RI)3%kC;o;-7EpSST{rYdKZ2}ydvWIj)1|NCblRb7D$5O?MUk_S=DRNQ`YkAaN5 z|Efl&G^KLkK--rrza#gwcma!pp#Ds%8w|-2QKu?pV8oX;H5b$|m$z*=SOD$KFda!z zKn4Es-j0#?$wL2e-WMl=RQJL>RetAZpK3Sux$>MVcq$*+jY6|wLEaB3*n5}4wJ{i{ z6$e~Dw4-_Fn2&{2b8KA_=Gd(*D)m*X%y%!)vk|LAGtZia%DLw7cto$ zpLhvm_6T*KVt&4Cw7K~F%8A+&LSZ)Q98&GKLKeP^YbRh(RPb&DdAG0sU)C^zah}#Y z8SC|cE|KoCxV>0SpKneYw*G-nK7sku&+n6dIs8ahb7{*Meq`ap#JFIQ53Oe_!5CGQ-!{`i$oX&Y8Ll*@7jF>h{1!hx&P?RD8%Mk(2^J-N=%uB* zAM(+cX0Uo^Wu(W%YiaqxWc@0Tv}I`%6$U5!>VBI*8XmU!H9ea#dz{dBH;vHQ1Sr~o+s_52`M8TK^mKL;rlWv9(tNjwEVyMES;yT^R$(9H53{$oQP@j3G1iCQj0Gn^Y4YpmFz@yX>CvZq~zt zG3P|rZ@fgHF~t7t9ubvx(Ago&2a{9K7*(`1rJW(-$6CDrU@fm{XnXHIKyIBds+$eK z*AD$(wtIzPMQbiA#j7z(k=a5G90tWyc^zNQG?Iwi>MQ>6xqbV))8COP_NkBE&7eCv zwULl!#Y>|}UivqjlCi@#y6vNd$1)O|$&NazKBqJ>>=ZMTtn<)(_cwmF2hEy5YaI?0A)yFE!{i{3R|d)Od1ZraYFm=e%^!T) z-!yAV+9PDG#9eBX)*1j!)%xOUUxt4-MV>WL-7K@E7-?Sl0ZbrywsC9^7`wO{_DyR& zCBB4#ELxy{b+f`ii*dYSoM2{xqbbABddB9~gr@!=7Y0i8Dsukwv5M*s!#*Lx?%0#1eef*!u$q@LewzcPZ+GuHmdRqLww5qDw%3J9B)Ny9)L7nkW_=lhEqDpaOl zWoS#jY`CM+9|np_h#6R~TsNVSx$5sQz~Z0g;;SenJqJm3=2-c5(ZvW^aZV;;YAePr3P1d-c7>M{ z$KTnIvo)*|&H$xZ%8mi)0^6oF_c%@?&-2_^_2YXvRVH`Wx(nuDqjLw|desI6W&!)2g!BodcqKFW`5~%7zgB#e_(ypBOEA zP0eQ|SGTj7dUuEYD00Zn-|3Q6HyIclOz{=ql;cSZ93@!zkPDhrcg z6Qsxm9pLnAW|Ir12yT>ESqjFs})n|}51AFeHZ>M-Qdc#y9si7?t$71%`rzc-k zD6g5YqqTNlezYy@OhG#&go>hVwz8y63d8EJkS)HzBMiN5b+Y&2hZakTDXkqhkDuA` zH-z~X;I{hyK1!i+kinRLatyZWKkUVIrrSqaC$P((^c8+qd#%cN4V9TH zQ=KS=c%E}Az0G?^^gglu=~O@A1I}NyU2I{$*45?SzFr<#TJ#mZh&ANYXt6>y@RYjw z`r)${oduh1DI3R={9ybO-IMF&dHzNv{C7Lm&xzUL!r@#45!Kh5GC~eM8qNV8QK9TK zxX<|tPBA>FeRVu*v14}fP*NuDiO~maBmywxS9;Ljd`w@4e~zcfoox-(Icoj$S+Rk< zObAJ)iJc)@a=u={T|0GuqLs~HuD^G=1RK+P?a$&{TLz_Dqr^?6W`1!u8R2MNyKeW) zel~}n6f39LFsPW=Ut+bHy;_r#HLr%Yv{$(&)cXkC9<+OnO3TFrjHhu~1^Am(UlqlO zb=}PPi;YQ>zVj`FDq%=-vSNjFe#E!`TO3#N2sx#a5;KTYld+x4)W6Z$Ld~Igr_4(oG+lOldsci}z{iUtum^k@Ji!z4AV7xB8_M%9t(Bf2{QZ?a-w@>)+ry zTm`v|5vGXm(0h;J>a2ee^0q#&0>b3YQkHfY>;`1wb&oS==ExfW@DV0@HetBg^J??E zfbcx}D~K|`9-a@S;P3dcWoDlvN=Np|-r9Vq>TmTx)=5+oQFvM!QjTl}Jnta^gUxh; zYnRSGJR6!5dYuAk_Eh}vR2PR*Ea{Aj%uGkD6RI!Cz{*dT%x1b~97L@O9d}q~6 zqIW8QQ|_)Gy47(JYmqF!Gi?i_0~uPudda5pXTR=<@iyp|wGc-K=ZTVNq4r{l$rI~V z{|puENoePE|6&1HFI5-yiTX3_+wyO>KES^Pd9lWjQT~t z2!}z!Shfc@jr}aV&WY6`uPl>PvHz{^NFvs!&+ef>q32A8R8mAeGh$x(^(AJm0#0+y zrwvgS2W2c_NGi%^&_sdXw<#!^Y?mkAWEK-Im8F%Qg%x6C}l2 zKBQ$m`FT_=X>PBjTZ^mGX!JVq|FZrCP6)p>VBv#F{Pa4Sj+Dlv>V#TTqAC1$#crB_ z->)Mq2X(g*>u6__3}&~k)WZ8Z-Io&P8Lj*9QTBNMU-e#{(5o!>SKsx{fCQvy-{RPm zbane0pC&TzRgkBmVu`^xNax(`EIsjyRuQiSwucQ~41xNUF$_J3zIAk`FlZAiN15Il zGcUBUKXH1sALn=DPgdG@lry#6Mara!X@wLmQ8kdBw#8mNeXT^}x>EBw@mbK- zi{`Yv_*K8iiT~VtTA6>1LHY+W?l~X7BLdHgAF+;3S35r@+hrsW`kBSC!PZhMiL8t> z$F^GKuw#FD#|6UKYG`o^`Q`0AzLpc-)6DJ-`LaKpDlwOrxB`lMAgW{7-+Gj28-JX0 zNRgZFQkwZ77E>cCPy~;r!+N3s%z?SKZff!e(j8UxVrw$ILRnbXE zG`#DYZR?1h&J~F8$fl^rW<`B0yki_L(!pRD$#VM@a1HvR#YWjLO8a;#)}02QEhA*{ zcuB9wC9t^RX&{q|44szmKrT?nhf{s`{EQ4a3I;AoyfSQ>R$Zk=-mAk6uMjcvx%XHx z8S>s6yUaP?$S>9gyfbu?h}z{x0X0G)93qBuwliY_I#DbA6nP((d#y%uWk$f62@Irgm+jzbdLH|Bvx2nqYRnn4lzc-iD zMmA^xkrX#%+_pTZcLysOx|vTLgR_@p0S=Ui?~A8rX~GKsS%k@OOQ|VOOK;|AFX8cG>Th&f!AZuw6Yt{36zv}i&{sRO))xy z4aWI*?_=*m;Jx+M(|1*FuqU+Lr;Ug|B7Dhaj#@IJ`HOJ=PVQ*LnMm&N#X^U05zYfu zsrB8cRGzzPlH$El+K54}=<86n#AAJJ8)=2rO=B6@arfY4YkX<~KZ>K`<&O#`g%Q28 z?wVIM_N_QxGs$}TEw^%;WJx@gT`aR#*_4)j6-`~H#KYq7gx9hL#R$Z=h-tX7zIUbMu zqc*pRAT>BHqVIz3w0-e4rwb%)2*1q%c<=2Tmr^9+DNL_kI&=27^S1P5M`lt*%#Z6U z{q#39u)SLI+|PP7NX*4^*T)dmWMOfD*E1o{j4K?y2lqwX7T>LMmQAN@R5~y*P>6d8 ziG)UvQ;nO^^$Oqk64dvG{n9CU{fG4hW5qV`u;rV`(ba0+R0zJdX9b3%se~Er?Bxr6 zdCD%JV1OzZ`#|6_ruhcYlQ8uI9)ekJ#ACH|kJEK$vIRab{HeU==SCbl?mZjhs?*SS zyeKE0!nG~)v)Fo4JL7K)!)%J-wLkWjec0LVEtEv|v$uuK+GA((4Kn}Y98+bg{EHa~ zc>cq$KYY*f{5#B^>Xrs%td>YGo1=vp(7zMcYO%HlW2eQd3clqNBQ??c+#Xq1}d{Uv*x z$umc_CvWQJY1jyHE6~H*OCA$=Mqb&Y8LAvylFa0c?>*7&n`P_pcBfo!J75-VjW6DT zmTQBgUtMeT>N9117sP`>NYl|Y0HOJ@?-%-HdUbpg$Rp(?iKP#aU2}QpId zu0RY$_8k`!!IyPcto;l1eEqf9S3e$%@Mv5>lh*MHjvh7LNClIbCw_c7zD0aPp7zP< z$crDCsxAwfo}*ygIlEJ=IYArEc5H%H4gXH&H3%BW8X1;#n!lUar>}lWP>#RVMcNN` z&&4ApH#0L0zaq}choyUHSk{9MnrOVr0Ze%3kE{IXE-uVS^8LKx2inz?tN=L+^CQNhHV#fcQ|g$a`J=EpR(p}sZ_-? zj)~@!9H?odC(=VnEs>#p4=wjzc`J#;aIkE`26bmwc4R*_RM}rRX9(l*`gY8XO_AZW z-1{LQPss`HiFLHNS7p%5~FUk85&8&gNg!G(f7T^vJ*VSu_8gwg1e#yWmMFv(6xgm zkE%a^N>?(T`kg62GyX%))E}I-dc%=YrEwJF@D|(jF+s7eLl#FHb`5c-dOh8KK)6=2 z^fL3+x&O`rKv$6`Dj$6H6();g%BX`AW2c5CQYr~F&(qhByZhUS)#! zb_Jp=VnShRMC?X1rmf>`OV6|O+?K|>#|h+f0U`iWD4 z{^vglQ^O=d^_|!LX3rIPzx-2Ss$Zj{SOM8Llg7{n@bx++fRqb}tw?H9N9G5;WRXLyn7 zwd~GG__n{j{Nk(aslcd<_tXBugI{vDM!!po`$v~oBqXua8hC(whI`h)2Z3&Y^mynm zAif{{3JRC=xpjWxfcf{%1PQU{Y_o>4hhNBNE)`M+?vrV&$^ERA*E*dZy;DTDft6yy znw#62o-B(8Ur7KW)75UbCAC_yd?@0MyO;K$M6X|bj z(HSmwl3k46_RgWBCgTWgCYYX=5h@Pb{GE1_l*;<4Q(bMY#wxN-dAA8GtCX7wTu7Mj zdhemIlZ<1WxN&jC(>0X|W*zMH-*yTOzsJaJvzp_TtRq}3E(~?!c+y`5i(BS>KfVeu z3bU%bI%5MIsB4z}vWT+oVK3wcL|VxTm)>oowN`AeQi~o_W<)SFD~hr zy0+y_$Im8PwsKsnu2B%09zv`E5oCZUF7dPjUQzN^(90iBWe^vMhCOR> z4Rc^z4jW6(cf-`}%@A_GK_eZ>e|OlfBUaIN zXieu?^+P?%e#sbnJb%SrXPW%iYL5Ot=P6U_<_JtOta|-}d;%>6o`)}$oJvq8i`cpc zeq#5GPCye~9W5x4h*~`3C6sw^=BMQ0kQxo&=yws;gyliC^Bu!}wgUN!533r=QvSL* zYSaF(d}*E_$fP2$3Lu-ABPGJimN< z<9F0weY0*}>!-VczjBEGCK$=Ed3e|gGZP>B$<7eZ*f;;v8t5*sdhC(XMaGv3R5w0w znY7~5EkdycX)a$`{Vs*{f8RJ;f)_wM0GT|1zgf3h`Pe&?W)g>Z7am@c>{is*;^4R_ z?vEYA#rAJ^YIh5&Jyf%nKXQ4P(zFFNzzWUB7n$i9_vYl1`hhCXVSR&3zmfA%Vm?-9 z2yWTuzKN9AKOFn+z*i8PySWG5$RtH_;*ayXR!Oa|pxohgbtWbZgMRo2Y2Q?Q&&qc{>&p~lF?4mIX zsV1nKk5jo6!~NiK9?A%#b?iCqK+X}6_%Te$l4O_oz#(eO_=MOg90BX4!6Gulsj{%b zCJy>vE1!m9P}T$#kI(dK$&(Cmp>9QQCdrLIk!Jj=vJ|v+<@he~R`CnR1M}X^Q_?XA z!A$>|*y@vT#crpg65?-*138SI4wk@F>k!+s$_c+`KcpeI$;4&k|DaqQ3fCo9PInfj z{xZRA4;u<@NB@!C%ihZASj%M5%mm>lhEHtc4ir^R=JmN%Qf?C6)+5#oQ9Gr;$d%OVK`-FMYI{3TG>p9(9uXDrJ`q;OKQyQ~Ev)7ub{FKX` z#?_6>BkP3#*=r?5Wt$MwjR_RLn<=v95pE{&Op2t3PK88W_hhPYp={*BzivD$sqRDl$^CX2E2S=vmr!dtycX^NXjyl^l6 zi~r;DSQvdh|7wz6@*6$PZJPbo?tLBt zd3~-^%lZY7t#)=09l$D+8vrZRZhlL5oZe+l7AfB+NXlDZ`+@yF$XZiusaA8h5GU#O zAeU?YCF&feRr4*Tu3qWEc=CDi%i}O6`AzwyG(_-2$nHdyXbESr4Kh4aP;`u>kog|K zC?%$u`Q}*sZeA3)<+TUemYAd2i;hVESTFq8tFrMhwqd`1TlY zaGO2r^IyGUFf`jE+;Ioz*gdhr*VFmeS!$c{+W)bd`mxTM*iRcH>ROnaPHR$Bmy751 zKRfNDTdgAv>bSzaLu&9bTDe)3C!XE3uQM4p`8F@&3Te(3$GI*%2P`;>Ax$PJcbM7Z zuUd6hzS=e```OAz>Q|-PtF{g5ebsnx1qPj8_TiL-Gv5 z1<=NZT9y{>OR}6HW}mbO^43Sd2td)Keh?wFj54=PX|HRYef@dFlTJb_RG<8G$v@+b zZBkV5i!Xy5L%O4iR{eRK^~m#B2dWedCb+leQK7Ni;?#A4 zH&3fbPMm^;bj)VrW)*KUe6(3v+A*?s`%JI7zY>aF5eM5MPkvS_xjqfog(ULv)4E(| z#E2Zn(psfkXGY$nKVUso)sEm6Ct8higufqUHMqmzWJ0a6_` zG&$s|yWi?PIp=f`1v8eEtDVtiH!^*6W$!U5;a^gOFV?jcKdoU2EY)@IylHKaa9!iJ zIH8Tg-C^bD*mp5D_esfcne8c@1WcDD=~E|dz*xW(Y}8ta&f5$88$dEF6~8B`_!AaxDsHUSw|6NwHLRd=N=_Fer>keE$8y|XTypt z!tj~0=c@nA!u)`RWs&aKlDDz?>o2kVGln7m+|8 zja-P2?yy#kP~fe2uqRzo>0N(4!M(7cJj*aX97iZ2g!#Lf!e zSwxZx`U^w^uKu{4CtF$HW1!lfLEi61Dn@uTch>8Lq6^x?};wt$u*kQLDvBFIK-PZJ3qo-%WMho7GCyH8Kv$U%$k!r@8u`W^a8`-78p zls7Qt474U&fuOrPT7fG&na!dXh?mwb%OY`q5pFFRvr8SRBbIu{?)4YsqFA ze{X-a!G9!EIs?@w7`-@Wmp42uP|*>Bldld!>Hzsu$jkgxe^G6G?GEBoR}kf1<9@91WK--R_y_YgP&w2c%ZohG>a&;#@u^x}MSll8r%n}Ct%o5pzR zSWA*(2{j5Oq$@CW^N9?rBys`PMEE@BL#^&*{x?p^x$ZsbWFZ0qki#v+9qR zph@T|$>J5GR9v!<%_Pq)f7EuRrKiURgCB`U&@~&Bm-5w~j5m+{<$JBBU-uw>-T16E zUD5X4J9H;rLdW4Skz}}dciMNMP_kRZP4pvG!Uaz)daX*;kEb#7kGmTKrIo!-ZI?lM z=b4K7!Nw$BAKKsKr!Q>FUKWkX-F2W#b$N>a;7&@*rhlseJp|Fv(fvlXz3MyNP45@} z1icrG^!_#MPO(_h z;o)MkPUQH+<*J|R(X5_&@{LrOi#o5>T$^c4+g{VTMXv1&l2ZSzLhExqo!q$)m-i#ndtN{<3w||-VP!v(>G!wL z|5i4ycavHp^=`S>n9AO+p_Yhz>%uYFABW8;#u$@EpKU6t=93IT(j%|>(pOb*n)e_2 z#c;8iGY09T!TjAox|y^LyU@q76SkP!TyZy?Vik5)>6MLlCfHO8;hxM3_&YgYnbDvf zJ^>&S$AR7mEtH5~($qgwiw76Qp8Kq9+6-hz-8&()k;8@tIN8r?H_NPDorluAYeIGe zLyWxq=N;>0SBJman!2XP4|1Dl)jL$I#kqJWR5PW6Z)U_}snwq8bTcx=p!&t8%+Ra# zcLIztp;_4|g7x()CW;N~S)UgDtZ#~VIzAc$P?~3k8D*;2#S9=L(d*es;u)Vm%~VSj z#IcZECc{bmhTyXtWP^a8Kp%L~o)+{uW!JAM4$`RL!D+KVXzuzapN6 z8tCkPue+xpTj24n_t|M@CzXGe^w(}6PJ#QXY;Rv_-nD{DLQ7#6reQqO7fb|IKSvu1 zlXcLF+e=>IpZg5Fl^i-MwPm>+MN(NPeA8O-Rmc8}J;|BTa)$#KkB3ByF1mEj6u~~| zvK%(jvR9$-)_m-DT4hk!-wO38nm=N{WE}^S#(XE&BeA7Y8B&>0`SoePJ7fyPHEsQ|qJnqVqL_HcEHjcz#gd_J54Z zJKwPj-hSOdD+F{Da<Z_}kvVWXz|SO$tkl6PGemgSfv!uapaF1pCX+?6QkTR7}UF~0mp~( z#Gy6YuJGvHjGjks&lhHAe{O_C`1?~Nu?3=7{ZFI(b6(6tw}tKUTKkm8Kg#v^lfgKc zHR?w@GO+&nGv|WAju`cRJFc9ytF*^_681ux(|5`a-TBb%IL-H?Mya;lo2Os~()H># zxQbJVu^;oslca?Xi&{rt^`&Xx{}`35$@eV16#OxDD(w0|g$g;EJ-?y)ddb+|Py{>C zZ^cK|UEejhvnLqV^I^0K7I9#cp;z3mo;% z!_R^)NbMl;oSsl)mP~qQwIfiwO1%5qaF3RM^R;6ASPVln-INP@_}yM(8OYOe{6QiXf&lwbHRNz|ybr@UJSKPYW?YoFoG z_{kzL9b+V}6YNyXhkxmOpuaKD|E}haAMr@RPxI>?vBDZ(tB$c`Ae_d1fG_w{1Mv?C zQ7~I7^dY}5pZXe&X#YpuhVV)u)V zh<^uo37BD=V2AZK8$%GgMvdTQ!i45PgZfhTH|q{(4RhAr2@zgsIzsPzjc#P!Y!BZs zgQ^{-RiE#DX&}AAwVm|x&Lvois1q`>UuXsvqJr@KNCH;}YL%EmCg(X}5`@v_Qs2FC zlTu=vS!N3l(X4%vVW}ZMzJk04**(H}=4)#z*DCVOa_TlvRqB+&{;@r9r-S!Xg1o?n zKjR<#nJSU*1f&aQH4--l*56M;(px-lFC!zdkh5CN3-BD5c3(qmyv=3^Nzzs2V*8Z< zp?VojEd?xauY)D^;NPkyXUDX0I-7$$Dv?OAZWg8lv)-&LK)`+C_VXu{So?|PP*zoS z9zy@^-1PCHJR=xi8}=UbdetPsR&IR7kA%+@mjb@%N^vu z;PUTJn-7Kf5lp`Nz5xc~Io>>@AAFWlz7!z)D|Qwjka?(jSvm4|ALl_O{EtrfoTLJy-A}CH_pA9$ANTs7?`z-u9`1Oj$cFb5=?tcPd z3v};9X~h2zG9uCcJrwr;J%;xG>;EFhjH)_9BCmpn0~XQ0UQuLIi()|yML{tHh!t&r&&gDp%Kk(b}8%jaKGumpLK*1cDO!m}5o+w1ef;6Zju1nnL? zyz@>Y){&cU5S;qtQ~2rJh3pBD12D)3{MwCKH-U!v?i2w4xtQufgve$xzntu)=RQiH z%?gz-dA7R^4>7gSFCtPhfdi;6kbGxeV)iT;5Fk=Pt_Lmvx>y{nu;Mtj4PtT2r%+3` z-B#JY?h_7!K(KYe3-%Khnt%Z>gXy&FGu6)7)mS_Q(J5de6|3qXgl#tY18>ham~7wy zBU-!;LQW=#lIi&-2b&3y0Hwu!_loq4+?2w*YGyy`hP%Dlc?|5!w$&RE*E%3(4@S+G z31k~?peQJWuls*v@tKO|3gM1Lj3qsUIC~&y5BPL|#WhW%ftrNP5u*Dg zjDrO@2@JmGbC(3I9zljDFbrp>`hYT14pl6AQSVrb`+PYRsemOOp{q1wQ!+3 z9tlT=G{!aL40tP_rx;z(rx1)F-`ARh;K&W(7+Y@Hfi>!Bg*; zc_a`POL71r3*WF6NK8Ro_hI#oh$uuR68O8m6XwOhhF5%sUSR}T%@i#_6on;YrT0F3 zqR?DV!c(4z8Z;P&n1hlW7-KJQ?zL-*obKVvlKp|sCeZ4^2KQ=9s1N{$G|Brn4{ML&b!-ZivkPzAJ@HtXRtZF%6TO> z`j%rnfJ2U8Z&kPeaaE=wYE4Lxv*YoK$9|O|?FnWSsq!*@_wi-%E|c#~6FdfvMu0{0 zIkW^x6m+1?yp8IfH$>>sa1Bz6@7sBNfnz>6&=}XEu05f)chz+kb3L(G>D^7H92nig zLO7DCROCc|yxd*W(m7JhS)8fEXW&Q=8K~(>ZxofjL2ZIO-3o}y6FWwm(Wua-*N{oM z0;jiyfBCoKisEZf_Z5b8MRfJ|0J}1cAaU5P73(`J2A#iGscXHuF*08&Wd+xr zjm6(~4mm4ek;!v3U42ED^4C1W2Z3Rf&jD8Zm%RWWbASu0Fj0F+{S6F&qG=Ik1zl1N z{Mq^#L`HybemO|0eVe^ghBVBt9Gd%(>o~fbn2>9u`ZBt5OW9w7k9`F!)GPiH^3a(d zoSJ(;Cc_ugWXjKd_j_4#aU2l0itpPlAoUUCBSbJ9jnyr@iavWm*gmy1@YoiG$n~8> zwqF!W*B1gdp-o5R6~XZ;6dw=*)UJr{uPJdcw@oY3frhap+Dk`pL?Yl6-#&;nJ`-iA zEs{ouF}sqNb@d|^#~mkxZ)vAc-OUq{TNMqh$o1Or4-LM%Q;n9v@+hOuyyLImOlypC9( zOD?}&S9oY$)t&V={(L?wB&AJOXeHd5+%HDG^uM!!KM2aY?|6R8`_gbO5tOK4((&;7 zdvrn)Jh>-44fx-Q*lBStJ?@#B|WGOq5 zw0Jzt9wQC>;70aUS&55Jl?F4_?z_(WIA1vc%qH#++t`Z|4uM-pIyZZB|EbkHahPBt z6}*dbR`fKSn_kNW-v!4UG>$aa7?ALTFL3?TS9^w^7yjFa50EYYu{H303AW;Y*LYmAZ|DhBEx7 zae!SL=N^(amG&ZR(+$S-VMjK->7RO<;H##~u77|3y*A4~bH#*Knl?~mnmk3iUr2S88*{5-M!>#;=`^a*}OIv#opFY3lnzCPo zM~c%|1YsJROi5$jLVdp62XM@Y*Atxqt-ak3EUjO6HP1JJk3A3e zi!f)tI>M^>;xJLII)f0pFb1cu*7tX)l9`p ztEQF1KE4*07$!vC8H*t&?;Xguaeab2^}$JR7?!U;u014*G=~4h_&c`ol+@?kX5e)B zu<$bLR=UNko!ThiZ^NcejaMTK{y2y1#=@WGCJs7UZrpO4ce2*K*QyY@r*Q#{h;3m( z18ThkuBoO^z3;jG<|s1*DnUe@!(}Z>pzcqoDeaD4O59vZN4t>IrlEKsh8E$N*sCMJnArBqn+c!{=!mnl{*PkRV03RPiZN*z*jjg7BWnV2s-b zyE0uI+V0jhxl8FATIem9?_+j1;Z=7QE+`N&+GYQ)npJmk8U9~v4eZ87I8%JgYBa3iEW zEaPGWYE1OuZ}@cOZ*nBGaQT_%82F|@yzVFRxvCIou3W_6(kOQjvP^)!3ao32> z?87VnPlXluaKJxl=;Q)AosXsaT8VN$-UF&DMj^Y$ZEdh!%6|`MKPQ6$5XtF3Cg!4F zQ%Y?@37-k~YkHtcj35E3y|M*(RCf?#lcWp*0{ehN*AGosc<_e4y%&6jh-%Zz32Gxz z$n*{4FCeO>ctw%)^ml}#DwQ43dQ$^3vqvXj7QSCAe+CtB1c%r#$7HfPKyR;C81MI> z3+D5q?>heuV!a>lb?B<=hXgFUZT+6OlDx`-zUT>afhJD?ffahNVnfSN;7EaQDoq!hg6xPpE(Me3`{*cH6=O-UIa*RW&pr ziNdgVw_1~a;StnY>)etd81g>|t9&i7#T|++7y%e>^DrHoaNS>;u=+F%+DINhrdx}7 zlt4c3d%nG*F}ws@j@FQ|^Vgs-Q4dcJNpXm?ufs`cn8IaP)?ltrw~S=8fblRwG+w|` zGeOJ)?h{A1EqH1m(4bmF_V69rBC;bUq< z%CEopB&cs=h~*m(dN;)(lOl}GL7u^c;h{G1cR*G*9E_+5g;(c(OzAnzdr{gpT$-!x z99y^u(_N=*DL+!Nsax@$<@cET#UFIhh=OE2a9WA3q*yUSYA83+(G8O4^j2NQU<4^h z5QRkFY8oB?V_e^3ty#WZXlX|6rIC{wTOWj9+aexC`~O5;1Y?1RW|aS_5ir8@7ftW5>kX z3joalbDDA`KbEY0c<{I1{07Q&SIv;?T%5-i_sn{jYz17F%ZAcJ;UspXYSEGcZ{>YE z)jMN_Z}~AN0k~D3q92k2(t?~nGv~9k_zB?qXY^2uR}S*o{@_$5_<2!g~~%e>CI+*4tC{gEQKi6 z_(isuRYT)qQy$`MYXhhmw9Hyw51$``BiCK_9=)+I6bqVZO_(X{tQH|P8v|jEMIKHP znhtgG|MX^*Ht(SdyA)!JOvem#)h6pj(^#PrbkZZTuO=^U zDjwux+JC|m{?F#hTjUwMuGwAddHHc4?1_h zs0Snsj}IQjY-&%OOki>RdL=X5%xbi}U_~VRMX~yu!zR+12cc+_r6%ROgw&UhuJ3*> zP%IR=F@F*hZrO{YK+9v4x%Za5cddbpI4HZE&WBl(Yf9^i==+-aMwu?ft6RKYv(25o2KcZbLE%5x{56&MEusL`uvKVdJ>YN)&)A2m-s90t8HBylUGUXbgM|p&oI)v8 z3|bOMJ_aAPOt(zhLj>v$4ce+M1#c~|6iScBJe&l|tb=b#LQ3Bt*eEX^y&Ab1wuFpX z_CsG13cl&sFOq1$JT0j0JTh3B@#XDbuYG2ag37Ga}a9pWkXwhG1jXZei~Hlz@9be5;mV|vVYT1 z--jDSqh=jhqY^3iBZm~De1?Ka{{8?XQ$F9$R03PxU)X zjB%_AX%{R~V^v!d7**&Y9Wg{;J8{wB+kLM!;Y}J^}`GqoD0i-yf9I#=I~|Y zfQ;8g3Ri8S64v=-%s&=?eIQ0p;0Jt885CXWwfN6?&S2EwKubDi_!)z(gm?u+zU_V@ zPk5<2inc=bWhL$uvA3Y)$?KQi!58yT2{fR&B5oLZ`Y}1ZGdD`55YM>JlW=Tq<;+8m zd+su;m{0gLoH^#63|<+ydw+T(`Z{q<>q@<=u{|)85oprOlt2E@fh=*zDS7WzJ2Ba% zU*4aiS8UI!yuhnA`SZ*ERKNBM+Dc7s7477{xy+rzJO1%pZc85_+Hz%L%3XB6BxiUb(?3YBTb@IoHsBElMOY8|DnTo@*|5}y zO$k+lT_Bu5x0lGU7IR>2=E3`&aT8NYi=79%aVlF5-AU)KaFf40Iy^9nNNmsjlAW_J z3D+kiD9c7Hdk5P}_rL3SBgRfjm$AOM(S(W^fs1q51;ot>um)=nr|EI^-2L>LBF3;=Zy&8jL30uwnq626W7n-KWm!SA&xVYT9=l-P>zs=jP|;AY zfN}oB$no&gn?^Kfs&b@-7a3O)=g&}i3^3c2hl{-bUg}n_wJmwe-SgqDnc5A1!Ld(%LBiwBU%Y^8rxPL*_X4n7ACbb+U@WXW5xd^hNf!Hv|Q z^F;cwQT*}j>b$Fdg%vQ{fKx<&%{WOgdV{$JwhZBQ2qnbvK3P4SugKdvLlYMMT>3lN zZiyT+QiCP#$Q3L7pbFuI)X)y-&9>+6?fEguh-_(Psyw?>VN&i^2;j8H8z3x1Pv;5yC&GV$^LmFUwuK$HU6KuY_jI9LriO<;Mzt_=KUpr z2*C4S0!7y|gg_zH1Fgs|a+pc24%7N3A)ebtr-P~MgP#C>t8}&>9K$kADIF0~i-O5k zuy6|BE~dBsJG(lBd*a`NN&q@}&*w(G=X)Q4qCyZORxNAG-X|!r1ZW9&cl3y*|a zt}ura%kxA{B$?bZxrR2^bN|yQy=FGlERQlsxVeM=MHYVGe>ER-$0B3T3o%?Le57T! zgn^Zo62}5fXywCsD3mdu7RkiRp|Wepid?O#A1-P3+$y8ob`6OzrQC*;;bQY& z8zeqXSH@gQmz_?{E9zL4vE9+>c!Wb>$c*Lun>3h8D7qjJd+3}gRE1?jYG`xwNtpE5I5ed+0Uto98 zs2%JzsG4}oxZFfaKT6{aoz#fK8pDle9mN97|7m{|-z$KV@NQ&lY^tKdAF+Qj>Z&15 zr>!!a<7C!J7eJmioKE{-SdR>Me7BFULKJQ>?`uz9}E$}o$$Deug07}1Tf@;H3@Y;;Lv>rh0$%`(_ZU2_{pW?E{`XX*`ir-v+ zp1G#m9^-R8nKsiC@a$s8wD##*J61)44w5~fJJ)fNFzkaBGr1PltX3mQdZp|x&A=xZ z%W_#C8{wEB_z@hxcBQ}qz)@26e)SB+97s$EKdY+*o=JYX1BnB3<$o;=SuQM(#;yX4R5Vt%n(eVJ-k;+|)VeS!S}()L$7 z0+YJTYS>;s;NltK`7ka3W%Qs?i@`?nmTt&dEKveg6#-I;+SJZz+ryyfpjgFouQ-7} zaw0>v>gZnZCl>Laq;K5kkqEf-z>!2I+)wKh(6=x31ZduSTn_gT1iz~$eks`(Z>FL8Ex4wXFimFJpDiCK4j{%<|P z@-vl>!+!ZRoMMJ#3wa_hs5kum@GrJQoG}v|qBTBL;gX z4{3IZt47tOiz92nNhhx$^No4aMULzrRLr768p`@lChg`&-9QVi*Y)FCh&LwD6&6vj z*6*xVZ~kj`N{JntzH8XM%Z^CSnt2lIt&GSB0X6 zdnQ~I{y+r-8Z`;Lxa)0d8*hf+ZUTpIwTrE2Nc6_a|Zsqqh`_*s@&n4kqh*U!nXI~Af zHbBoD!KAV9l;&8aqer3aMj(Y36m!et?}?YrX1Nx3^Me0;o1x_4gLo#!nyKp>Z<#Tl zYn%&d3PAg>yL~CRA;g1*uY@SeC$rS>i%Y@Ymc#&8OTb9}T+0qtzN|X^)(8G_PgyQ5 z_g}BcWSEI!8{jt8hO6PHaBo#`VUB#mT&iQ`slXpd66FXr?1&CQM>&7aCAhm4uzm#l ze%Mzk+BWX{Tmbm(1LMmk;m6(9r0sunQvM;SFr9(hmeQ7r&M3{uF(2(UAJushww$}XIPR+(FP;%9D>+@>ue}KO0 zB+Jx4PhV)?f1bYWJT8DeEtO468ChL(fKffFI%6mePBxHK9axXoc+>|14_hBbJcqOr zqVNdMcElli0#2pO2j04Vnz?%B-K*KmLk+8zJik5)f z+Mfi<{Y3RIhpxE@PguMD8Q??lzb207s~bCu;?v z+0RA}2CBVkvVPQ0FmGFk_lD7p<~O#N^PUa7TpVfmAa5|`o0YC8U;v~3|7t#_v)JC* z9+rX8m5le@2LT9Y%sPz<$bLKt0eQ5$S^*EdN_?`LmP?pf2V7e#WAXfBBB?HAY;Q-b zij??1-L+=CY8}zh^vFpvqvtdGBb;K)Alo)yG5zw{B;UUt zpj12L->;n6|ET_!x4B^F!5~mEJ^Z^N7sDmeYj}USr`{Rln=$bsju!hC^z-m~=l@*i zZ9PnfBuVW`eW_d!_=#JX!F-`UaA|Wvj_Kr_?@-Q7-ey@m*CBCMl%|~dvlwI~8_uBE zUTw0WKT$AzWv`o_#PDWFWDvR~QP;^DcD^-&9Jt@LPlatGf6u0Z1&t&0j&bvugMQbm zu_|B!502bsG(i!(h)UoA4>5_Ryu$K?StD9aGG(Hfon$CBG> z!@tM>Ok3l}y?=Sf|E4!^Nx~@UWK%npaIg&<${9>?7A+MuMp=9rRkr*0THIFQ&?f(d z%wvvigRJklw)&&dm+hV~+uaPSL8PEr?91>I%a`q6%4g>wULN3C64XMRx!OIg&PCKk z#X0I1jm)#hffXA+GA=|H zK_eGk4vj5nUqVI6+(B;zx}}FvA6HWj1?_4EZP&V0r*;e$ARdtV`q^;8dKv9EXP%8t zvN(Pde-(FsFPRj3azRwOI_cqjZ~P*3rs?06{X!G93v$hQhr~#KJ~?xLST%vKUr^<6 zwd0alIfOUI0p3e6$LF}d(Y!q)fRpXqf``3pC zQax)VtlLz&KBrwu-9uX4KYa8=W+%w%2-$GMN^?zEA>oD!SFAF#sEeJ2Fv76zl!B~B zC*Sca5DSY8>2SM@td)OKj%u;rggFH*&cMphEEsenuHSz(H z5wnyY{Z?9%`rsz)C5*JIYiRdkYuUHc;*`(SRC0+f-bE|^vdNq9JlG6QM(4p zqa`?*o@=)(emTSJQUS9T!4vm!v3D9F68E6EM8%=`OVCqTy!PutAzQMU5`BB(I+k&q zcrf9fK++CDtO7|ZaSWY^Ld7MR5iELREv;eiH-PaV`{Iga?WTvU z&EPKOkaBKj^)udh?lFzT9Daio)g)DY7zGY`%qx*!h@APyAIhm;SzP}&Vq%jv1zD%) zdz&(I6}rM!*h0#D?H`LMk(S&rJO>~zHu0}MZ*QkRL&Tlx2I3o&=F#eX zVyEd^GO^oErX&2GddV=n4y*euJ39`K_ixh3 zf7|7Kg9>e7xuH|sT$`0T1v8CbwyOEJ&}wSr#Z|7w`=DeHn7b<-CRIevGXaeRRc#t! zDx<;Fm~mCxuc$pyWZ3rjxQV8@dCbE-qF;_T+=jlvq|Sz3V5ZIOo&f#XBY=nTqxI zEw7~-_qP(4iB%r)8hqJ?DG>Uv9VnU{8t+dWLQjVX&Jn1qdWCK@NS%=JRxo%|Dm94QvNcHCSZLW-zTprm;H z<_sOJy4D%(uLCes7xjD%Vy7KA_gq2h$*CUO|F{F$rg<(y_NT{OJypcyFZrxTk!CZL z2Z>+J&F^l(CjcKdS>wA(l!X~HdfvZ(N`$obm{{})G%zLpL6quz8S4eb)c34YO9!DW!# z6~-j!t)B4#SHeT`TLcZJ=9*S4rASA-T|Ig3yx9n<*9pGB^2=MsZyoJMhj{$?#OOw(UoFgqEL#mE;qq4R6{6&ysQc}A!Y2zJ& zuh%R&Cg@WmC&)djvH3R^a&P^vs>LMLH5`HXd9$Po(u|Xj*ZLPkoMSHi=9H{MKQVE> zl1!c61=NPxlqlCvrdt7zh|B->C_t5I7ss13Jmt;v1uVe-$<&_4iYgN6{=G%e1vN4z zzu!5wCE_U-R0se1)zr$B7ScF1(#_Orv@|pkMFw1xvIbxH9{0AWi-QZ@Ts$lGH6`1W z=YHK}7X-fZ88vaZyhN&&+vhYrhn>krQx%J;E>`eEjwPvo+eJi`JnVvTE-2I~g z@0V36c9Vv@Zy(jOxTW^5h)>n3)uMyV=oMJE0dc~+v2l?&X7k=^SYvmKF8LAbueq|d zDVFu9_fpd+PgpCX^TqfXaQwu<8IMt8X^p5V+k;}gE|adUQFx29GLGX`%%|W`?Tz6>x_|-*v#48&3-D#J+?J(~YkW`x?}qhCC!OFy_p3rF&8c(6Z_rM+&rb4T&CPwm5)Tu{e| z)bzlRiA?VVjF5~%W_-acz4O^9K#g1X z`Rcap#CbAGSNd_1SD#8tj~%pxd%{SiC9Eyxj>=bO6MB4^ZGxy_R-$nvuRcPR2Hnd8 zJ|x))#Q;9I7WjvA6IY!m>O4UbNkT@AMx&o}9dk2UVhktJ6x3Nt@t&qgc6axqW_lX` zBsRh`u22IceQ_iCoN@!;s1mfs(+VXzQ-{@Q)??1PkBjGlET=^m*o(r4&)@Q)n;>}^ zR{bj2V$hU*BPF#5MTt1YU2i_!wpDcw?%(x8NNNhwH+ zC?Tyh0ullWNTW1Tf=D+gAuXUtcb9YuQhTf?e$R9EKG%5x=i2^pU$=_iSZmEW$N1Es zJX#+qhI@P=o<(#0@#?)BNO!-aYX9-!Ic&reAS^OkVwbY2Vq=xdX_I(v8+cq=cJ&8) zJWE$Ckm*t|NsU{HIUjbYaf<5}YlCt#iPCpJ}bAb`%7y%G`$7iPxOu z*?K95pYA*B6!C@#3_XU(Hoc2t2w~-lm?M61SSJ$DR}dXvO`m>|7N~sNU=uYRWm<+F zWh3N{)@J56o&mdyKD>2-4R5_qct(GI!m0Hb20%x%^L{GLNpis|z}(j@N~!vk&gHP$t(WI8%aY&1u)CL6ZzX zc7b55gsFRhotpBl_UleB4zAz@25aif=eZ0C#?mDK*6^|;12M|1ktx!GR^lt^!-?=7 z5x^rrb;etxaA)FmpwJKut3;+m!bI{jTLA6Z>vR{1K2UtT8V!C z^9PXsYLP@C?v8)`@|TiDyY}zjprGtw;F$mCcb%mF@T~mn4;b(M-+%c3adF~Y*qR{w zRNSI96dszo!-p{0?C%kDBkWy0(AJ*9RCzFaAC7z=;r-Vp2iH{wM~~SHg&S20Is@R; z9Uu?NAr;BOaH#_+{wM$(x-&zDz3I|^fL(zsLxI5ya~Kv&GKns}wh^ ze`SaL(_4YuE&u1&&?LSflo^hGV$Lww$3WuVG?oCP*1@fT=v-vY;UT>E3??g(X*t4@ z4)?J<*<0!+0*ZAGs>w=yTkwcfJD6xRoGd4MaSynI%*7W#nu!0rixyfGisoJMaq(x% zH8(glk}XAePQcdiOCEYG(0v=0TD0+?tJ3FfvfTi)RO|)sgEGs5)&7e%kZEPY){9K5 zHL0(<8Z!*-+*A0103#i4!<1?eAyOv)=NUzw*vN9=)3;$n+nhcY0d0+Wb3l2Y#M4-f z3#);MYXZzENg5WgGu!unP-uDI@s^rS46= zAS4CtGH9b26pJC3?4Q5b?%=4R0R88Av@!O68s@qp?2bwQ3GjPx@stq@|Ny2J2j{kYS7|r4`FiK*wK#)^!q;FUA zgfhIRQ12;hUoPIX+u)@^G77?g=L|9122kmu3Z6kQtXu#Djno4m?Xj<2N;oQtX;u|a zRfVFS!9T?|4`i6d+eOI4xpdRSEff=B{ z89W!G!GDqjBTEP*H?$xVX32|N?_&uBOu#Zw!!geZs*F*^L6Q@O$Ev}ZSk;%rvzKC? zwdf3m1MR=RDvE!@9W=4XnEbiC-`&t`!No)Luy$o#mv(i4RU8-9Vg3bh`oJBE(?3`B zx!gg53LJ`+ZTb|l((-kcaAwujp2A}V@xh4x3Ng9BaAm}j6OVHnqK5wKy-0H7?nnTi zFf^kqI@4m%;IRwCDdXAQn$f)uMPuZ6f2N2(dvcDxbntI1pf9D?qU|+2JVvD8cMbXS z6(o&)@b$J0^B(@sS3qIA|Md{%0>~7Y0{^YTF#;$1t1r|ZNEBT(<>%Nfs3JFTAHrh~ zWXVJfo0`x$SZHd^)z@JBbT6L|*f+WbVAhOy*RR`9iAaCOa60B$XOMc-9uA_x7jVS^ zJg8DHA1pR&gz^W>i~srsp0D&fGI_V_ML&a{jL)d*#->qsW}O_Xe|#`9T{c(!y+!Ja z9QX!M6v0@?u-r{GQE(Y7Jzwcf9sv&`oX`|CJpgl+f?oi{zM8?fhh!g&j{MF#GE%&;zvw zu&b7B6vq_%U6FXcss%bu?>~S7xX7w{fU4^l8hG}*X|#<(-n&At&(u*U(;_As+9-_VB~X9B1`bVw>bl~u((W~`@9URSma!T~ zz`BfAK81C)1>6!&BioT9dsZGI;!S;LF*<#n!7jHLT3MpCr2i}3?Xr!G5%~6i47V@lAV;Fv;pq|?K>Jo}`W{a2+fT>lD-aDyyj5F?Zs|YY zX7LR?8{AzIpd&%ED!+2B*pqh4NPH0P!71^(Sc7`E&sTp{zn>Na!=xGD?9gV5LUI2t zC!SNc{q7G~&T6B;p_&jQrWC>Mq>nI#>_10xl+xZ!)HD62$Byv0f#mW1Rr-!(kz^Vq zPxZm|q4Q)lf;`v5geO{CZd;SJ$#!L7hpTj;^1f(){zKysAfKAc&B!wliohdd0mn;H z-`w0+I0io(lv==@Mlvn_>u`CyXoXgDFQaMf6#<=u^L*X`@J z9YhSD%&T9Na$5)J(#xXUl^^NF;bl6F02G9L`Pi@*PIa?Dzj!O=0cd}~YzPOaJ~(&0 zmqJ-04gPt0S1iJPvxo8KylUN4>|_6RUSB*D!6no(rj1i~U3aROLk?i%8M6KK*%qFZ z*&euv0K090>qZ}{ksZV`jYrth;LBrDr?;*Pmgb=Sw^TP3ZR{Q={mb|UH_9Ksy{;=| z+33FuV-cD4>(7#41N+almcfz#@1OX;rSt!@J<#rs$AgOX1@ydd$G4FMzi{^?^j}i5IDSxR7=r!)=@21a(ctm|@O0Imyad+&c$y6= ztfRk(!D{V_WiNhEz6>YZEr?V!PDleS9}ECP)QbpHgO0*_A3h0KT#&#;IL6kvX;CsP z7oMY|T=KB7p@K+}9g23R*(T`o?!jR*mv%%X==S)Kx6|23pYdup`(yhekk}f@OSS!-yx92e_T=gVDG;I@KxQ~Z;3TKI7o!ed;sqZVNJtz&{5FQx7vdZa-9zy0&m2oz%8hG z!RoL7PtP-&mG_OPHIvj>E-;1pE&=naPvCL9Gj|uf6UeR#!H2a09H~DcdmseA2cDjr zuD|t!mB3icofylemY|+~`wMt>x=ye5!PyHW0mOaUKt8<4Sa$ZLBWfX~O@|4>Z$Ifv zIf21b*}1fla8`l}Mv_d}kK`b*CX!Zs4}==!IEi0iuV-thxF(^Ctato10clJkn>(a92c!U2Aw;gfFl6U?f^jo zhu0cx)sxU2PQ9{(0|MkOZvvd5e~e_n>PqT{Q(e2jRGQzn6mj1|!40j*P*H9R>To@C z{-;K;;ep*qF`+PN4i0uFS;m~EBw0;xv|g&N@U*!d!~#9x_YGgPX1>~Kt|gE_LYWjE zP#;8nuWbZ38W@s$?CX|`!{jY=GAjEFx28B0&H;)Pfydw4=yP}QdR;~*V(S(ptIq>S1%zY3TBIb0P_G7Qc*QsY@FWpPH+`X%Na2ur>Nqq+{Pp)&fRF9oU0+lrKZU|A|EW~s zmIL}@Qvjw{(I{iQ(jSb%l0nS09X?X_tvhgEf8~Mj*=Wh*?2W|T{2F@aR$_?(1x?x% z=cp9bH-Z6NYI8<3pH;HlB5`9#Uc(9>cmr!w5=>sg0x$kP5B6}I_FQp_Qxb><>VF3M zsP4C5vete`M}AX((8q)hL_6Z-8*p+yjn@R)u_dVOFqZs>OY;wH7(W1UPERvOOq`DO z;QSrH_E-=8odX1tC#bqkj1&oQfKARc;-13Fy*CA6Ia~^f zJy4IivL$m_!jSK6gI-!HlrCs?YsWt#K6hL1oV&(Ow~?+2wp)`%-xrB&!q>@9_gGjD zw`cqS^ixZXaJmvj!*=`L+L}x<7+RSlU=PS2@-Fxg->2t2WIuZGEH4@JDg~@^$vT;z zwxitta%9u_N>~z5?)?p&mn%T8WY{FPfB6mCMu?)vmEO*c+MIhg{TTP@r}0Tx_k;BJ z3*^Z2(fxb&cu!53YT@$?U6lFN)(%9tl_>Y;I ztmBJ16_j<{9oSh0<(*kQhOe@{aK%3Yt81-ALOxwgSf56>#|t1n^Bvcu4jp6!FjJj3 zBpPH=oQZNJHUWSB*$T9;dGSa5XW)qEILhR&kQ0A>Io@c?#qDmrKRTE0m30>?L_K5j z8GY0Nv?~O($AIJpdlLrb&^fbL^XkHaO#O#NA5G?U$s#TD39OGpeQ}&NYaeC=HgakH zECP_giSqu10QL5C1%5j{7iw`ODJ2fZJJ1juBQ zXa#4P*@|P`?MjC1-8&N^x|Pz~2xeeG{`A--PRG=KM2e)h;D`BIUXhy}$y+|+&&jN?0W06inNt+p}ALWCO7@TS2a zTms8BD$^H-LvTRe>5{I_{QD!-VKDCA3-Yz~oX@w+n@~)ybGt_w*=OAxLG-we#X^RD zIo`l>E+GdBNVIIE4T3fwwxPCT81G~}9y)q3^#U^^d(3~HtWDnj$0TL@zp;Ryos8+E z=%7}rTmeSz;Q$h-;?guXaSbVuf~AeMONeyT$7P7QE5qI#z2>%p?2%ucJt7rbjff*& z?9>QWlyLc3BZ%}YSZB#IpZyjdF@7{=X7AV5PlmldTACH%P~mgpqVV%z6(NDb?ON_8vPlm6UXH%3T9<)e|US^_0C1h9%t)V#~9mg1ao z{KoJGh*{R*1m6hoX7D~(&D6G$V29k~NI zM(_t+_vtX!O($8sKG9bo&C2&`7mX)ptY3^#YnkH_b|zOU-zcX3HcsYygI4${d1X(< zZLqeNsC&K}ez-AOTI6I3e$hlzuP#(JgXoc=hr{e^Fkkh?_|fMNNOfC~WPn7uv|N=C zZh+3zHlIuQgAL7dji(;N53Cd%L^*NdKCQy|2(TaBH$T#UKaS|tt^DrsAX5Jjx(eFV zJ)i9g){1kaIDSWk?T#X@>pN1`h$Q9w7Bw+BS{qQhHvDP4aqRgR(@bYDt?M_S!9?gV(wZ62TZ=*Cr5hjlLGm#eiv`Xr}H_jirYu5F00Ue?wbk`Dq9nHvW6 zeLk0N$ub;{J%cj@?~fh6XAau={8Eb`P5xQSvdQ81 z@HN?SMG>!cr4>{xW|xKQV7Zdj?-wZ>MuIH+%94v|JO<5>Xn8C`dRotA_l`)qg*(3ls<1yk zx$m(AEz$kBO#rNZF)fr?X@Bm#Nx;)uo_Xt7%f|8h1s8L1giST-Nk=JnRZ)51uN~Xe zzZ>~FwMkVx1C4%uFS;=~_o0axai<(UjMEq_xTkj7&qX`LBO+L3OE|=Ydl@_;umA9V z`5MjV<_&x*K~}-LhTVk-u5|e+p-M*yidY2e*&zR1MWRf=5&b&9NW^yE2Tnhv?(V<+ zQsFbF3FZyM3gr%8ur7bA&Ko5Bc7g|cKoQ<4r)hJs(0Z@-AXtwJ5WFr;9SFcpRTnnD_?*4+?Rd-WxH6dIi|786mcmrtWUrv*J$Ukj z`>TKqKv>oAcAU>;l5JMW5W;4w(64xWE|aurtXkZaKUETN$6x{<8D)7 zy#k8<1T;)strU#n0-7ZnyjRq(C@UwBSiny_ND~WG>UiX*(?8p9ov<#mF215&RGoqJ z)-BMdO`|f2MTww-|8i9{PL{O~ghls?O;brCt2bg^Veeo)^D2?;ws5bjHQ0Map>m+7I*b@D_GKobLV}utHJ-|>@EULcf{7-NeZ&0-ji>YtMENoxl1r%tR<6UtImSt89H|VGcV@3n z1Hy{&9>XsjvQ?_@%L1TxhgU}}gYkFFZ>Iu(mD8-dbU0$rtWhbEJnEtWqF!A>X$!E! zvDw6hDdN#Eu1UoOjgTGS?uKE|)@G+)1@0<+?ezK8|_pLl@YCy@7oK^@=d`BR+szH{Mt%tz9mAmLGF5( zgMk2@o12b{=Y%FWRH%E|IVfj$rG!OI8i`H`IY!t&MWNxFds}kft5a@zhPxEXKDRye z!XPLOx_NA60;si;*}ZS~B!i14#N+i)XgG5o5i|3yE|(eTSF3&yM07wy1p#dVQL0YR z8oX#K2o{+Sj~}ajn?IW~hL?mxoFu_qr(R_gJjtKfy*aS2rWGZL;6b^+SH1 z(;I8--OdqjE#qBdR$omyk*3CaDdkppXO&ovjiH#o0~qr)6RDbysOOq#I)*Zcm?I3< zWQCP;7R~sW{)%41tHspdTq4r=>bGpQ-zY%a&MnTI(tLTthyb&J_)|;b4{il*;BcA>UCj#Pk81G9xQiYF@!X8H1I@ENiHXF47%pFfn& zdk1s3-1$JE6tyxsbX?_8bAE;uMzdvPe`R_8e(sy?Frz^tnxTM{?C=ux zOO0OW;VKgJY@#M-<|u=q!s)b_vr#IVm&k&<k!hG)cbxvd3!P_53D+mYpRq7})qdN5_+BjHA_lmZTxt^h50FZNf0^Za_vcFf7#xq-64S4Zc3f9SO#s)&f$7G-1zglf+B3RQ7YDNd?iZa znd;)V3)AD*DRQCMt@kR`o7lMNZh2LZ-+%^7z~%X+pa}uB0$CKm*9)Wz7=Jb=5?kpK zM~WvpL*Ve->JF7F*fa~l2W>%)?iGB^hyK^t385e5v2P6yYNT4CDMUfq$Ol}gIa zO6bb%*U2ISjo9-1#^SF+D!oCep?h|XH~f>!mnIHMu**U2-;Mukax~_Xf!{hfN~~%`g(S8kd$t=~q7q zT$ToH20f7e{Swb@Xab1#Wagh9CaU&~USNd>NZLM7N)q6_m&}SEpJVC>nY-vxxmZQL zx4yb@tGS}7#JIsjz%L&iT?zp~iO|!S2Mjl^5YiXw7t?P?8>!OKYz2RCbZ&vt1wYoH z=80qoeXp5NtgRUOJBnDvklfdz$|fDv)q43l7Z>;!2j9LFo9}tOGthd&5-y7Q{`~6{ z95oQr!%}t(xd_oYXsuq7HS8I0O_JJ*YJ*u*Lzy}&r4aAA^^(#Y<=qn~lS6-#tDqT#5{1>0n$VDRtllt>yQ>G_PM{I3!+ra-zSPnzHtbH# zoq3waD@$4SE}48@$BZdmbPok6ndXz@-VB{h1K46Ml{0a~bSIfW{7x=ifr4Sit1D#x z#sYM*m7^h}FnHt2TF9uiQ9Uir*-J=|=0|5SseEBNBghjn>A|CScUFM1#cX*=g*&BFk;9 zk&ZwfDi4?)dxYAB&=8H?p*qrU3DskRby~*6ItJ;6W6ackF z1LyzL)qBp;r2$U|mK<`ACQ-28qb!&=y5? zXmoB6J2j*-bdpHT+<{f;(+X6O`z15wHKri!JH}K^i}N5x6~6p#9GLe9$G<23K0cv; z0@k?&@cnamvxq#){)TDmeVQbjQLSlo`F#{rHnghmBz`uJZN6D|0YuO3H{&C3o8*>c z)QvL{I7C<{{hNQgg`BDVX(M8cqSiJH07Mz%IBSxM>>0P)z+xi|2#k{eg#fFo)4De> z29HBeQ&Q{}j&~QB=ngoDaMujL%72BQk`<-h@{YmET)tsaH%M?p zxs^tpD9OoBsiYGf-&4B*pEvwR+}l?etHANBxIO3!qX7koQlh4F@kY4=$TQy6)nmyF zFQx0Xdf22Vb0)gz(bWfGt60+Tab|ZI*z*M%{Kn;1w|I?jC^3mSGIIF!bgR7l9fTZ? zY(Li#9X|{N4UG98q9yEc<3PXPSG)BCSe?Tx1kHJ~I(J?VuUJnv)Yh}xnY&5@jxw15 z)cuu;PPaJ${k7c(JClI2>_i6Wr#_dTnP-*s;qD~ba05)8#Q0GF-@9bnfMN{%kC)oN zXt;p0emd?q72`NbG)Wn2FgPFT1ak&vj%=0e=JAQ%&-* zH;;A3(#_+T9l}6U;;l(rOHL(bi`y@;^ZQh%?=P1>^6STSE}VKO)(rj7EGg4axDzT6 z23Zq|M2id0#0z%EF&A%6aCS3@i#klMj!aH1dbICjoni4a%s>Ss{dbk6+5o+|5rXAB zel^G9n@c}4tpC8@iz_>^<-R}V%sqK9&Lj>Ap-pjW9FH9|tZ5yX8;IwP+1MNH3m}>f6-{IPE6B2(pcqTfL>r zgkfe}^R>H*+AQ~jzDJ##$4)#6D5TeC$ws{a2Og{3t*RFp!0w?Rv#z6jYzVx=|K9i~Y2d>@I+2TydXQ@w(jrExEtX zF(}B2RF+~jexee~rF?IVM>Pfw?cNlC9Ee0HNdc7yk~2D>K^A<{b8Ya*I+8)kgMTx2 zlU+e_1Q00L%YPnrsR}9Yld%HInKPqTa;F<{5JXW`nV8Q4%tPo~4o6@fL1u7<%8t8+ z7sRif@0-+MP0zUFrQ~S*iXuZF^@x8vL(=3|xs`vDoR*c;hXUjw!nR-I7f5%pSnjC3 z6onz%OfHf+Lzmkoen$9vHr!c*l})>2>zG?E^*nfng3)aW#O*vw^2TM~d_OC6jim=a>q@Aq~}oD!2WM%zl~bhqkolREiupVGb{z?ZrVf0`%73 zHO78Z4tn5lTactGhn?V_17_hd-A-c_{+H^(j$mf4v0&P|`qf~r#89gJpir8aTlZu8 znacK`iA)#YXi*~-g4rBuMXTwSY_i5fw4Mh>{QY^6tsF+%SMW4gc%7RYI3=qi0;PD& ze?96UtZ%lle?|4eyu-Yzd_A`33av`Z`wv+B*DI!$Q}9buOhme8 ztLU|2@J@I#69PFK_(kM9eXeO!57BwDFTJ{h%{1>{Bj_L9SnAT%_b3&&5QK-s*LC*q zyi=55k3NT|-{u2Y_LdO6DhQ9j9w$p;)dbzEF~Ba-1^EVc?o6UXPMz^4{@KkQoZdS+ ztqx>+V7@uWsgq9U|N4HWWs{J;_bfjI2mPWMFxcf8(kR86C1yzIrrn6s;-fNaoRx2A z#)jz%FA2wc`y&Wew@+vY#vkp`=uj=h=UYCpR09zC3PUe+xWR=_8tpC)*#jn~ASS)e ztB0`q)?f0h=oKxs+BERIUGI;lWbP{&fBySg(;D;rg-hpqZt`UlDxC^CvcoI3wIq}; zKcj{ZZ>M8=LC4juYmZh}uT%Q7b3Dr0S(m)6BBLyLK7?|QTXos*P2og-)ES178kec6 zuEnFBiiw1GhAE4|%mWFl?a4xtNqM8e(mZ`swY8oCMezdbY1{PxzRq~_6Bl+Rg@3D)8fc2vc6yrcDqGSal?RU zV`T63_1d{S`Bewt6zSY2AL_)&x1P;nQl2!=lR7ou^#Hl)S0Kc-xg>d6_goCh4YDyV zq0E2`j#14`nYgB6pcRNG1_eWn+haFPeRdTFIpRQ5Lbyj&i~6;yF^gte_Gj+zInDWC z#)(W63#n^-TQBL3=13mZzbv##G@DykX8TEM&quKl)!I92B{hO*kPQfeID5U=`rfZH3$R)y<2A9^TiZKfxrraXCib&eehoa0W1NLfAtvM4Je)5VUj9muh zN{UN-S>&pK?I1@B=Xh2!eR_~B&=wBAUFB$FuD=X6yE1%(leu*Ky2-F|)xNZ(1y{wL zqB9NbB{sCWr`a9L*HKG;66Si1+kuQ$jukIa5Oim~?_h{ZkOcaP!w z0pe1Sy+_A|H3t#xYCzdW!R)b9qPgcHnP}KaoUW}Yct=v!TirM}v%sWYgqW6ew=hHGaFXhyq~5(_!w)Rpib&9S~Ed&@C_6gjT^ZxwaORS znkd~bo;LkNmDa?#+e(9XCI1INd2?j@V7^d{jf*mmZXUIQI9bhpfOgu>si4dj8RGq89Pf-1!>;X}m=ZpIKfzk+ZJ=4PC_ z2>LUQw^TwyZ0B|W{jlWOzUUQ;gT+V3eM^hl?tviV|1&}!JrEvWJnXTAwiA8NYi?C zVWAU_EQj|&S_d#rVG0rjB2zY;K_+5u@(6taUnwoDkAdf;#LhhLww%FApAjb!`zUo& zcI)cfv(bnVpHXX-sLb|e)++YW;FwEh?fTagJl$9$137AxqAxM>@Wr>yK&7%7UU*y? z`pTzx(l?fYqS`aJOdZml}Qx_`m|G_-6E<=z4 zZvFbPg?6D!1I@8o0P&|T%E!M~btENCd1OCCPh}BqZ28a1Z0h61(A`$OZE@SH@G7(T z*zJ54hE)*XoT=ep`0GEMqQfZif7y?!4C{ePR@7rCu$v$!DIJtszE!NgKvR|V(`+WK z%2RplEvn4pBrHNBQJ4{d8cy?io2CyXvhpXvTHrX*Z@z>9{bvg+Kt6R?EBdz);`D4!aBV;XKbI*H6rS))9S95$JyOXwhaFH@UtqD%-^KIu)mAYao>LXwhxu&APuxR0c|fp8mV z*s$vm3%m-;lQY06hQ}N+wo`XOWLZJl@sMlSNOfXn{=FlzG{fB@!g9 z-#w;GIA5HnM%KnUeDIYf?%8(AnzyiZjv;<7Dtat7S+ir#3u=m}{bA}KxMf)Uk3q(K z3ZCv~U_H>jN#j_y3iInumGpO_8h>vMe@;%F5vGPy;tENiiJUj6k&Z^X318Drycn}H zHd!M+d#y% zie!-1r2U3+9VK^C$|fxIgo!T~1j&%?MULtT5Vj9)XyCJ3is9E@8k6%g1u--pEL6|o z2+AMA!$dtJ(cB;;8btUMOg?TB5x}HGu}^TWZIl;oZELCtRc#fsfz@FY%Pn9vs@y9e z!VuWaJLz&W73@m4)PtUW$DCQ!{_5jt$gpk&bBMICO2kA}+70^dNr9Q>pLqcq1Wnti zw;+>oH#yOgQ4`;Nbhm!=Lvt!05`+$dwq*Vq)O^;>=0}z+L@$0{^W^GpC4OQ4*4zl| zZc#$GWp`Xxt`k@_So!aR2n}%NRdRy{-ycmsz+(h8@DD6vVF2?SL=4d?C0_+mJbiim zLm);nNZBov=Z{B}7xCD~ZO|u??pgYpWvgTxWkZ|2k017lF4mTm-{|Ieb2F>sSwh&f zLy4{n`FIt0Q-!C5MSUIiYQT*Q`*ZiX{FLx?A$lzP-J?HB0@{>&pzn2nHuafbX|=#M z3+qaPWlzXSr^9}RMT>^0DLX4JMm>KyksJn52$qwojP>=J0X!)f8O=I?iYTavRjx+7 zN+q}pS5~Zp`+7-hcr{)F-H*j9#6dmuJ>`>0phmBI{ZOMz}=rU@W(AvxhG zyCKbycLW=4@qJFkHpEYH`SjI+Owl1&$+41?s-B{SRcxwwLZX7xo;4ndkG~oBao?%hC3X^kn(jT%U&TBj+iL zv+_&ghg_b=Z=XN=SckICK&zNFd+8IHr-qM}m%jaK_sLS}x&9V#hOL+!S7$=N7Peqi z-iyDIqg$T!mdGY(F=7ZtaV;nMf>;W2QGRZ+E(fhYROzEQ(^?FFGpZKFI>-8e`BS(P z>oS|PlOWN$x_r8XDTL{{1y-lG-m9a9;%G$S7tfD1?00X3YiI50rF|!*qg}zfz89)QlFGWeGC3+9&?L<*Pw(kJ^H)^_H~CKB4#o{e^M-s1_&`1QdrCYztoc* z)Q|Ka;`Ld}Nz{52Yk@-JXg&r}l%08(I~)+Z74$y3`Ct?Xg<3r_N3pm5*B$v*5H021!=b{>LEo&mWq%_1F{=$(S!n-aFXx zdd56?Bpg6}kC_JWI$uas2_Vc6ktvqt=n&5CtdI zf!u9mKqj!??MDx{K{oxC{?>-CkhMI1>mQ&;1!g%x2&NF;{^1$jrXvUgIoOwFEd{z> zHtN2aDq-Rnt->P^>yMQaV7PeDDi zUKBfqmS8qd7O{!w=8Ld;5^ZZzoHokL{Kfr-?ddh!>vq1;ULE(Y1Rv& zx*EScK$+wj25AywDmR&XIBhSgHBl}qQmK9s7HGf_&yCh>8{9o|NgEs-t(`3JQ06^! z^ElrJTjMBV94;QNU9H^X75jwTdW%}5T=>U$F>2?DZ@ z+!mg27=zjE7`BnW6P&lHeJMe}Q%A?ZKx*rZu?SRz%skURlOUf#iN9G6Fb2 z(^aV{%#93d_7GDnj*W48=BlpJq?TlLEBLU`2)2OAT4Q+G->Q7@lCHefm$^zQmm#r_ zjgqylrmJ zp)md>Vb{qlRre9xUJgR)cqZKLH7aRSM^JZzCcX2OAHkeF*?4P+KW1M(n|(U@$Xosw z!lIVP#_=!m$VM*GQlX}HO?vevD#04pGv)^ZN;(V(wJu&HE%t?+yu-q~HhXbzkxVY= z4vRnOGE5mb1ptsae5;I%*Lakb$`EZ_tpGd5rs{mECLptGWfq{(v4+X82Nm|%qKh*{ zW+VciCm~3U16d8UE<}CmPgRRxygyg8fNzzXzVcg zmuQ1B1zSg~j>aX~#1*Mm-K;?A4~?D%Q589h)sA#)Q_CFiXexVrzZi?3>LfIs`YhKvwNqSMZ$BYYt5popeBNt+2+#}1f(hJe^VexCs7O}ctazZWZdiPa!+k`~{fZ9A!@9Ym7M zyEoET&|%b0quhNwmECa$T&#-<#uYTa#^==%~wfAWNq=!EVhFK@p3 zPC$jzoLm+9Yu!CIu0Pyf~dy&Ix_a1Q}_A;`S&0# zG(k>lP;8wk?X(*u?`r`xS#G;KE$7AluR9@aBbxg+_!rLym= zA*{|P{6k-)8I}Vx3`E#|pr%L^1EH z^z6bNsiEk~sTwZk-n;BM3zqZBfu#r#>eh#zw-JKDvyour&@8NU(*=v)7hOc8h2k;Z zFN2)`(YSmc%LWXE>y@NjBnsHuInZ!&Y+LWjyUIzR{xtJ@g|3^ROUzZv1XgKM1+ric zFH$cmQ#4H0Jh^!#*=JRcp|Wzahhd!00TFPS$d9cJu`}A_q=gfzIYTAbIJC17H#+(A z_j$rufnLdo_(+eCJcmn@l{x7Q0P>Lxv(v-?+Q5*7%~rDnGx&1zd;A{!jZ@*psQRBM zl!7pv-R4`vI)4_iqnb5Bro(O)GHxwu8!`}V8{(b-<7rTEf3+)~n^OAIZ27LY=(G%P zwa}yPm&@c2T|I>;=i&9ORV*19XUk!l;UBPxvEH6-AbDf=_QKzWQ2jZp!18|9Lf!}% zg%&fR7k{vuDyA~Ya`a&d+@f52R6h@PS^2r5&O&nl7>vHu4hVCtk60<5jUH`{Z}eH+ z;=ld0Z`O~QnX$SpZBvr)50P0I=v+k?pJx!v*OE2_P?Ckp)L_nqkK9cp9CYmS|h zeB@g2lCLu!qACK##DB2NqO?2#1J@bLrw@1OR4lrFfwUte;x9DIq)D(0AL-++NKHny zex@dUVV?K6+2*>%NU>RZVe*@b_v~R65!2CD&WzDlsSYANN9~QgX7A3Dj}b(-mj^Um zl1V_H0s9bL1EpIo;0huP_ zKLQGBr({(?19UY8-DtVG8!HoZ{U-oviFJAP%dbQgII8H7SUggxE8iftoQglhSSYyR z&9|`YutZ2cRf56!pI89CR*=uTPdU+Lq?kBN^8AASu?!R50uUd0Z2QLC8+28pk1MV4=)e%d2T@v ze}6IVnrW$WG&5N&v5*GSJoy3jC&6RMY@;X|CyZ!wxgvKODx*4idU^7fLf1aovpuMB zn!^a@A$t#wq(^@~DAv~QA`tP>tlK0+q%=Qy2&sU`Alvz>d!C_BJ{oRhC$&Av5R-rK ztt9-{4W=L+QUV&0aF;mMS1ySY29>t=R4G%!z-o^~iEOOIOp@J$jN&CuKuj`^vx9R6 zS-Fs5(++mVVxTvP!Ss`!^^tLOw}TyF^UH-=HB-2}5lZ6w6tdxrdo{(kb|cK# z%=EwZTy#Qiq;=4-JjUwat>uAM7zB*^G$B;Uy3zsFP`XjIkLckzdIzws;p%TsWU-#2b9#A!j?S~Lai7_d zN}&t_G+2vxr}rK_L-pzI^hC`=j1ur9iI*pv(%(s1ZC#;%*oS^K6Ys%K&5P*Pev`?& zrjf;LDz3Ii1LVva(Ho@_UUpv-cLjw>pmtHh28K+z+gOn>6X$qJ@0G9NdnjNY|Y#%9nc`N94ge93HXG z?-f(%4TFHo*`+`CWNc25k5qaTPe&q;te(Jh>3cVSH$%x0suo1tZKb2Z+y!QjPQnmn zk{j+dwW;S3Zb-~Jup9wT}+A`D%^$H+Whg-BdPpxo>InnblU>ZsKgG-*ZR;&^QM90nYc_sl~L!T zIh_VJF&-O+Lh!oFTt>`pahn{S+_%C1*2?OW2m zXJX`(7h|B4i6FAU8>jwS-H8g$)wk_yr8}`F&`WS!=e&fym`zun74tc5Yc!N5wN(B% zRmxJVM-WZ!Fj6!HDHBNSLGV>d=7Xp?A;;-6nAyDe?Y>n987ryc>@1$!Q7wn(`QZro zZ4hH?qY7sXTFV&J9AWIrA*eSgj+;M>mOZ|D<(a|a%LWQV+aQIc{y}3uS!`k%+%{Wv zOpGO3ahDpZR}rF9rO5*^%9mPXrIn4G=N3*p2=S zJ!YO16rU4=RFE>SYfSPtkTDwoDlb9^*d%>D!H1c1;c1i%U`#R|fFwjLX<+a9rTi8Y z<@N#P*0{UHPG3U8qQmJGLlfLO0U5S5L!S_O6U-u z1AYij*>5u0*FCrdf_Jl7pm=%~axgu~TJ)7dF7%kOND+md55nD~L6;3%Py~@&Xhk=q zl@x(3iv_Tt;4xS_ATP6X?}Fnnb1i87+8=0cd5x;V10T`RzgDh*Gs)8uony~NeXJ#x3uTRw=*!15hrg7={`Y_8Qy9arO5m+nKX7IQ|JPsq^G90! z6;ZDK`)B|CujF565jXw&H~)Dt3mN2v{^ynd^#VA8{{P3zGHXVm-uTZy{MY|E2mEiJ z4S9u7Qp^9B50Ju$Zt%ao5m4$FRR8CvB4+PIq4?iFRH&Hj|1UqP*i7g(cqn&4gafJ+ zzz^lJSpk$kfr8}{3JeYyPQCgQ_$7es6KA7=4WH|Qld_r^OeUCcRI}J!tVmzt_=cuR zRlGQLi{*eG8b-snf`z5|UswCrHGthA8~r!X+sFfY@Ct8sbQB~|$b2AC$J>xZg*>Wk zRKm7;pbE+2yGg-kdIpR&FC?=!v%rVxdJiF6Ht^BpWg)ErI~fsW@7w_>WHu9cPY~#c zdmsK52JHmA4szd)^~e z*x;SaV%JQ8Ik20^OT#Qvq>YltzYB(n92IK7n7E8(J(OwB`heH6Xg4g9D)uUad zfqy}x*b4q}>NDW}XFcAv9wSj$cIYDa!3qNa9+)*o&nZowNB{kZ%hcNVzu0^0udLqf zZIqIbE@^~^2I=lD=}=I*q+3$pLHa>D1PMVz#Xtd(mJp-_1T4B0L>eTd&Rn1G`<^k* zd;Wp*!})EGJ;ruFthMfY&Uwu%hM>IwucC}Oho7JF(zo0|Sp`24d93ggb(HtkCqt$h z{JGsTctZYsA1ucLo@l!v;tKT|vP}GXEOBLEo1_KTLpaB45_>(sR*;zZ*|&kqhEwrK zp6UnU^YepaxLy!s5+ojjAcLhElno01NldUD z8T0;tcyFxj!vM&SE5i^5I8N`SRX*|m>0oiX6jO3vPEZ^Mf<@F=V#Ap90WLlo2 z%LwXdi9XWbr%*h3nRzd#=#T+}h7RSor)ou*`ELrmlup)X+s;8+Xz#cLurZiu3O;8e zdZa71v`$YRwzI_UE{$0Lnjr8itzbSAhOM7lnnf8ekdz?lsQ^&-{D(0GHlQY&+l>G^ z8sd%vFR+1U!tg}*^K$luuO_#NuEv6jlD#0#EYptAKP}ME{1+g$$e{$-;C0g~e{*63 z405Nu$42v)&1SY}3YvhngDBnD$&mz6Xp0b|2us&Hb)T-a0$HE?#_x%D0+ljMh}}Ch zE4nYuUs-0p5Dq;zke=3Hw*aFcvWA6Z0sX0M#Jq=5^5U~(QtDRe%MVDE7-nrl@}M2~ z3qlyvAUmjxnRYm&LOb>a1eYVK;AddV8x_m_1p%SZ&DtcAO@JV4O6V)h8NX}{tO;nnby=i zEkINUiln%0$1Va}$^?KL8r&l6Ouz{wQ1%P-QU5azeAeYb#IhZ4pSMKMy}uY)LQ?)c zJOEWb2i`R>BLr)3L|Ge?ZZSuN5)6Eks7nj+b&1e3d(E^URv=11B7x;;RSA5Q5IgKs zKt5>gT4ty!Xri?P(z_8Q#DN1zJ~~HrgQVA6Vip_Y23H3(4s&OuJd#rGqt38P+pxRH zP)HO3Ef3I}q#mh^d|K?#wytsR!^?JNUmzKs19sN>baURYHmOdHv$`GFw7^D^(ZTpf z+Xp!3-d%GZ>#Y3NqY6>K!5!*`gzFd>a=?a^($s69;}jw7Bh2CQ*bKueDor@NI)UWW z9B{^lKy??k05P1-XV;85`u22Q8@m~dvXNy6-+aVPDQ*JsZYN-6BNMQcbeb3U7S0)h z5t|*Ka-wz!oL`XHCIu(=8d;gOg!=bigq!DgA}9rwkJrR449CI>P2`F$*Nd<<) zgd!Xck}dixLfMJsU&Ne*Y zrk@#b->2Oz-ng9+$-2AzS-V7yHQCGgsXWftT0gddcR(1mKRg6T`fw%yf3&05=zJ4> z?&*lPUJ9ERz&?n_K1+K%?g8LX+h!V2Szh@Ym$%q{irKpEf+Jt~1mUgBDAkuWi&#lB zy>iH2gEkhqaNuM;K$G(m(7g1U_Hq|{Wpo8+D&CSo+Q+&*hkj~uomFCkz7xQr9pxA8 zTpCxS_tz~{4zYJa0Cc#FKJjnQgpKs_CVw~=7fLdq;7(jWFPE(!OQu6_M>B&?mJmdNmu zfxVL5YzVfO2$Xd-SIixEv<}KJsO2WwvM=Uoxk832FmXP?=e#7o2QlivyE;>ZP|oo+ z)uNu8WPX{sycgLuOf74iiO`hYokTynyjS;nc{=tqZ9+Z;amBzbf(CD*GeyoKI1OqR zm&I@CCu>F7x+M~%NqQRtwhtN$2c*JK)Z?4TYRLU>EMN;f*>Jc$$nL)k4j=O_c!`Be zUwGFv`TE^;SdL42jb+@Ajp09h2V#biT6eR7IuN6+f-8i`{1FgCVMdsnjdgTXP@fQf zaMYK{(F1+4yCWWT%ypoXMS!G)x^fL#br6QzkBVS-=I{|df8KCZyCG4%q7Ck5;!j@b zp0izDu+{i|&lp$!AkQnomoJLGM68DL;f8c{ar`fy(#Z)ZB)SPpv+CSA z(!RE>B~T1F@KdIBZ3dflx_)FGAYAMKB@PXZL)KsYxt~saRYcH00qJZ5lO!9Urm8E& zU(We6>{LCAZhcRQCwxqCSFu2D2`mV^m)M#TtZ*Ot%B+gx48zblC`;myEXU6n!p<3r zKXm%!LU}_!L_$*)uCt`%V3IJyztWIfDSqtzosg}pb)i7AgorV8L~juT?%3eyWiGC( zIZ2~f+(A4}OBP1mW3Z|+)jpswl=?uCiKi_N#n-)uP}jims;X1+5-jjv2cq9P_o)s4 z!hBEAesKrpd~kgKmtoYk@{xTggFP0_gK}DsBbSAH7`Us{Csn+OR2MT}cg()q5LVNG z7e3{6MDz8eAc6d{;S~2d`(FGp*Hi98g7Rxar|-e`#~1RpQ21o8x5EQK&3X$AV35+@ zAa2ZfI6aG~T(dJSPoUv($7HV2UCKc|HL3^7XeBhJ=xp0iBS2yjqBJVNdo^yM*R?&3 z%beRKL5fj+`3%)qnnrb0`Ahx#Ri|aUe6}YX%IoG(;bXKj0a=>h^dYrJUmJ#!9L-k> z=-B}<;WYBMNzyCfh)eJQbom9WS2W+pMX9=cd=8L$V>AbRr`2#YVF94r@wZb%GWLnY zVx>PJdr3^eEytey_xv|%IE{LOo?g>i#P`EmqG(iLjXHFgF!%CO8g~2j$MAU0+p=&K zuGc%@6N0crNT=;}u0qbHcRi8;O2z0yd^8A-*DWC43Epwr!}o)=u}{l(Hz7fwVVeK> zPGq;cfN?37ut&=#d)@?$z*a?zciBbbtj}Zrw7|n!lVX^My9{<*lHd>2oLDjs-Qbs) ze{2gxQ3gpLJD#fT@VDhtd{JEe@#eDt{$-U14lVvzb%|@TpWq^NRm5GJgg^S*{d*&w zEWwjq+0e_?m_Y4UdtxK%09-f?POAuh=xhQq{{1`m9xlZWW>KzyiY+pyGwLO_gsj9E zC3-cm+qln#6`9L*rRFhIF(QrB0VJzPxWqcT0!CKw--Aj2k~=;3N~1fLHat8_l&mI& z9ai({!ad=MCw{;%Fl@al^Kng;gP4_5m4ruwqlwZU(QKZp_*~I{! z$>Ns6HVDjq=j9q(KxEY^^ee{ZebArlOL=~-^y0TtrrWXTAzh_-3=L~3=jgh_VsPsb zk4CP#Q5p>%d3G0_faRfS;M`ElgXSv&Rt%krh_enF3OjdohRTHO-G)QpVm6&Nw3UCa z6~kuPR$t(bYJelvfC~eTXtm1IWsNi7{vQ1Pk|<)h;xkq?52}>0BY04ZU`e8jT{;^gtdXvCldkvu?`b=Ft|w?88|A; zll;lKMfBqVw@9cM7o%Q*#4DeG3kC1t?l<+{{$Aty`K*^C9f@w53uWvD?uWmFjv5qG z4tZ6ovI&xWe9rG*w6H!uJi*dLd~0_%mxs~;a)H)yMc!H$I29wuI!d6~yBjUO_1xfr zSbTUEN$j7VLe-)su&gMQ^z0sjlJ@m_!U(Lmbo_Za-ZXE>wJMa$0L818di0+# zmg2p7-D+)qmG?c+Af@yjJP2I`BDN8KX614wZ$y9nK5i!e3YE5dMPiYZam^x!S zjShf}i^oQmX8=MI3PThBNOJo;Zrq62rDf#&tEQXtm|zR4hvtf9M#e@7VTU2w;;BAE zRPIR>QC16{NtzRHGIHt6Jve`y;wuueVO>U@I|CUL`NCk5`w;HP84Uw)SWYru32(`? zB(<-f34=-S)v>4Q#aa**9RTv}=2U=_NAbboF@csZXg1gtISwA%5Zb;^86J%4$1@dP zDBr%a3NBeWU85}O!Ku?a9}t029cKB2tB*5zv=me_EZyQ#FaU`=zS{nE33cX|75xJ> zL~W_V7RHW}dd?=g4+$(6^OqCW^0XT{QAgnD?G}>8s@N|IzR`6r%OI08)swArxnH-+ zUB0YnLau=3E0qi9vkx^)(2qW7#-E|#t0sK}4va)n(ML4bUs*b|%-}}h=39A?+81DD z&G5>9*qQ&eXWuE*?{rp=pF!cDP8w<6!G6y;>gow^QnHl3CR>62H}VIoV1C>CmO@=8 zYvel-9g*Sq&mUj-I=$oXCXFC_11p749B|d>USG(cPwQPx^-6mL!wqbi2Os%+jaCT=UQ@@1c%kUCg zKOl+5wVC=g{1DPKu# zwGt8}!9kZ+ACM~@vhBRB5Lly5{c-RNzWUya(6NTj~TQsmtFV1;% zOM<<2uOX{%G<0mfZRPI`g$(=9#o)t$_RRgCTY?R;I(oGcUj+fg7+<}+W61T3?CFcJ z#Z>9Fi+;@A)9v4%EG-Tk62L;JSW0!x8g=$u&CLhey+PKADCaANL%GJ!NB57laV-Hp zan4iM(rkixyh3)QO61u(b7h`&07iZX4t-7!y_&T$t=K`TXLooxm{`ue2 z%GTWWCYRm3&!W@uQDa4clInaZDoR_s=tooz ziq|m`VMVsUh%A$bhjJut8-)L8BF+{B7HgLu&9eR~z$*FyM=-sK3+T-fLctv|;LS$G z)Shd(Z*TbRou@@qTkt!*D|g>0Rv-`Tw-DRE!&@zP?O+mmzWw1AbO=eBy?b5n-NNhX z-}ILil>HUOe5l-H63LdjSw7hvTg`OQTCH50(0U|=HYun;rf`Yi3ie{6zWh>@{&(2Y zW`4}9q0+&8mRh9>24gz6^lJ7zMP|h9!4W5c;70Y}DYQaqyxn$LqcD%(JsoQ=FV*lu zpX&`6qUzpxVRU$-yFB7#Ol&*gMb4wbd5vXH78O`M&{QOrur4jTZus-OjxJCHMcb zi;=r}^2txD?RG82Z^lvDD2+NDa@{4q$5%{ly&$UzS@qw;rqV1Mht*Xd|MI{C^`v_z z0WDW!@kvF}b$3rN_uH70GW@8RrU~cf64&snN4y10Xw=G8WA0RB?_AKAdO&!QhL=Kt zfgDHE^iqY|#VVWA-usjcC)1?f&-(E0(A`Kn0la`{;}I+PS57y8=j6%Dfu#dN8JV9b z<-u${N%30)yayJ9nYKxv-QxT0={{_$|5dB9U8mf+5ppMgO9B2O9iq@g;G}i^s6DOg z&l65p%Ia#Eg)D*>ukyRg;$wHmevKQ1Crl<6qz6VTGx`#7n}jG5uO z(EEjwFCm$vp{<32tbW(-=(?Y)U*1s+!daQ085(5ezPKjhvlu3FrqK7swb4m!2l~rN z(*8N1j0Aea57l5RRnaVeY5qLxlZ~-#@xaY84Gdwp9g6$QG0;Uohu~1}yDhR%lql@l zd$fgH6>0yNs4A(q1AD5VV637`rFA|^U4r`+S-jX^fLfifoC=!wl30QVun8K1C{8zH zh}rCw!0QRIyidJlP0sj05*O*9j+sI>bKHPZ%_kvN&h;>>cWfFn2(aE^WYJ0cDb z4h*f|IV=PBiaC~PaI-k{Ps-}b;$(L!Q|0k77`7whY%mXYIdoe{+6V^6@t!WulzQ`& z@Mc~&VyV6#?0>qC#c$<_B>*j@A^VNgAg(#Lc9oA&?HTR*kw8rnb$lFwdLTaZMDGUC z3(iot!15X(-qkmjc@u^blIN;;JQkqU1`mCm?wRmEf*&^Fw|GZ$O@Ao;xe4CvNl*5# zkzH0A*ax7K(9>(|%V>c;6QIuz-K-n@99-GQ@;Dwo#t+~>(KCXH&UVB~mu{|>DZ$`*ID&y~omH0Kc z!UOfkAd}R7QSy#(%NC9Y*&u7b8k}p2eEpj^jm%u}A3i^4{dyO`adl618sbJOkxK65 zTu(Z_BjaX2vW8TEV&9s=`sZFNM0jRl)$)XJo(BZzUr#Op6c{h%PwKB)BDGK6JZ2y5 zgXIAa`X|Qv{Z#T{|1J2Vy|)ev`GoL8FuBzfmeJ}SB%wC$UYrP6 zJ`y`lC&Dmcr^q1o+{ZLMAfp_nSjX}_zY^xdU)i+{KtH~;sd{`V zd6ODjI0%3pm@PwJH2CHoC7uZXl%hrgIK(l%-U66}DEfO@5?^bzcgwhZF?b!leg|!V z=2vk(@*gRQ4s_-lGwD@odE;r!Hz7 z7D}-I`IzJ-qZ>!xCK+6M9}{j~cdwx+BIomTKz3< zfAn+7El(SrMlcRQd@t^6d{T>4RXDJt_s5WYXH9wZfy<$(2>iLAGp*iuv(0Ub&>6>t zfB3=Jj^`So8*E+Ab8auQi>A9ww85wu{nK!Q^YUaj#w}RZ;Yt|-?ZQRKt$>ts%i%Qn zIVz`(axJWTfpNeE23RRpBhNX(ZV=24}2mY^ZmJk+*dZsA4B!t zv!%nvQirGO8FtFqf<;~xc7+jzXN+rS5(XUMLC%u#uP3xgmhm>AANq`)Hy^?RCJvMm z0|+oXPnswZ?M{Px-`lU1`$Dc@yB9h_q0nA5zJ>xf6x6absb@oHBSlhT^z=E!-#@+r z)BMSEm?z>D9`0tBuFbrkT(4FqiPgp$&LE&~m-!N^+3@I0Qt*oT2qy!APQwuW>W=fK zU_FiQh_V#r&k@ec-dfkK8*D1ng-Vu>7_$n%I{=v}Id)uhOQPrEIF%7`8 zZ!yRDiG^sA$ydOYp1);BgW}wmXCA~mKB2JauZa-l-jvpVvf&CW^t**pY?ho!WSCI?Oap!+sR3a-|{lu>|lmzc8}b2m>V(G6bqaGpqx4L-Qoci*VydTibD|2tLzE_!I?7&;%WO1k?m(0pQgRj+=f5Ip+< z<9b{h=;+C!M&O{2k@BmzVKWc9vy_DAi?ID8FwX~z$(yxql&{~SpB2Xr1%H&BF*pBy zMkH0(C{?a&|*SrxD-BriLk6wg{8ju?i%mQbp0Yxf9% zr4(ral{g+pT#7{8`?a;Pv@y@F|BAugr%;A1YaLK4vECO}Fe$vrOx1xUtxVVsXR68G zcIup0qS1xKK~DwLXSodPh&dpESGsq=WYPD|WCD_q9Ko5sPSg|t*GN??{jPz}<#|5c zNp4lyU2M2WL>9nZutBaOnm11ei1@+fce8~Ok4&$JM1SIEIUBc2`TUn;%=fKK-gW>f z=X^I4fftX|R_8ZHyNACCx4f)x(fgp6qVDqHy1nt8-!2Buc1XjdFup-PyK zA2wqbTf|`a%$`(`DB)Jq;L7~7&K%x`O_!P3B)U%=8c*gwYAs}9ONd&r9xOMce*M>y zaGC;{uJ9LoY_>ge3uzbzNXZjK^|EXAksS$|CQNtFYBKvw)bgoGgnPlavNo2FxFazz z-;;a7aSnIItG)X&;DBNy1@`!^AG>`*i@MwaVhoNhTcGVPr|Kcz4De<=4l;KO; zkGCfX+5SO54;@|H6bbFrXA^>n1e7S5|mpktM_ze5HYC&&* zDpK~?%3_-@7f|;KBZLoi7T>u{y@!SyeDIn5@Rhqp%|)VN?clV0w!c34BUqrDmCfgs zUE3K*!B@hkB78Cd3*ys;9b=VY>;VCZ$=}#SI*LTNCfv=;h-Xxmj!JZWt1cVo$mDKQ zO(20+{_3)r)Lg|wBH!sI+IT`UXJ`N)Yp2fuOb@HMQ-YqHnuP2_4!v_9nHVckX?met zmGzQ6)RgRLXUut!n+xFxcg4we^N0DJYjNW8H!eicj?5UW(4}H~J^LMe9`NVT`T6g| zvkY@%Tu2MO4Uutux%Y`Ph1lpKzbyjV;4Ic<8b#?Wsj~#6{$vq5msbxwwyOAd+c2|_ z_4^J7r98g&@(C)0^k%TLHy3J`0$WjsqG1Rx>@4eG0UOHaF$i+R&!u<%`)W0!_1ER( z;knY{<}Y2uWL^0Kp34TW|8AnxXY`mHBuO=*VeL02RRMWG@adOti`iP})eZtWCeese zCMriirwsT6Jzv#-x^F*G=x@V8$9oz4#}IhuVW?E}`oQNpVl;FDYK-lN*uh?&Scrzh ziN@|IP6LC3+U?!XO(!xGVN5d_~{hqZRm-!@_ShNh-+LuzrU2HZ-fU?*L5@Z^5%g zl~SEDA(Jzc!|lH+*Eks#tP+DLMTl${{DR)0+1_l6G4WJiNI%)7ejUecqHbE-TEn8b zF8z9{<`NmnCP>moe4N_xdY@*_U(^dTo(K79f9M9;&~2R`SBpN;>~3w&AGmblpu{>9 zoQ=rV;;<&i1P7_uR$M>bPu=B+qhya=U&;?%ef~@&+T?+#8sW3xcN2uIV%v|PiSSZ@ z=~5@)%wqWl`*BTN%BU0$f!jD`+HC^u%d;rrpU*|=Qu6%hfQjHQ{hS70J(7G;G8j4t zPF_AgBFf7d8L(cy@GYT)Nf$KeupO}mU5I6IbOy!uojY69-Te7rAImKvYt=jN$(N{? zW%3*Zno-o+&ak1}ZzNeMS?c!4-#X&gLJ;Xs_?Iv8baY70C%rTV#Nr4(K-kWXPK3;0q{B9dQFMWnF& zoIB&XUkBcwp=Px6l=uUV+BJrp%RdSiSxp90QG)Jgv&45VLcZ)$*UQ>A52m8wHkfXt9hpI zzl%`+tq>380)1HXc6Y!uJXFlXb8)e_SrE)m8!~48!}kLo^R^RkNpj_=e?Q|!_JPpC zrTCH&-9w)`)jtiu!dnO8%&5ed@}?t&EV1*q+j8VLpchSzC$aZWi#4|WA3<&=aVB59 zwK5mw1CQR5FHfz`oUd@^lvt-1QlJV9_p$x1Ap|Jzzec;Z5HR%v;|HsD`u6|u=xjfZ zU@B7GTPpRT%0!IqQut->9Fy>Mc(I{=C&#%NQ3^U zL>H$;mBfD0AZ7%Jq!~SP9!^F`axq3EnsR~9-K*yWYi%`)+fB8G24^s>4G1&ZDo0nH z+I*(v&RIRwl(b)cfjjs@QCzT`eS&~z#+;&kkw)8Udh9)LHNx09_`m|O&k^gGpw(~r z-X%eg`cpHpe_!&j8juEIOFA9U&O^H8IqxRNnJ5qEIH1aw+ax?FXvx#=l@NW$>-|uPd zDjo-$v-Q4q?KzL^V_99YSdN(@BNi{NtF?7FPzNcED4(xv&z4~gjF_Bcl_~M~v z+09NkbO7tL5+KGAvS5Q)_C44S`=!hAEeoXkB_goj86O(g@_o4EsB-lmNSq;-4y?IH ze%?>hKUGr9%H7Il_ijeecW~BWNa39bf%$VNLn;ok@l zZ-61!lo<0Qf-4zl<8fDR)HG=3I9>>%`IASAckSdWgyEC{#bN10r>BEpF|v%OlpoP9 zJa6pR0uGMI!&IJB$Bm{DrC=@fdn^n^1(_xHllZlOyNX(;E_sQ9mfjbbg)-Q$ugO3n z)vz&VLz>r4jPvz!9ZK{$2lI_dF%Yar!h8-;)CcH{-Pb7!u95Ahhb3dx6hsO`V?`E{ zQe5f;xihcXD|HABhUdeM zVE7Ii8M#A=Av9LX``_MgU@gwq&$X^P%i1*E_J6a$J^hnuMM>3T2X5U*%l~}2pZ)yA z@cNFb^WiTU-MlFQ%%ZR+v@eKekO@?*?XbtM}Zv>_?v1t_UG$15~5KVz;b0BIEz zi%QnX=;w*LWUN35k`OEFfF+4R*HOvfdD-ZKzCX{Xm17xxrXu9VfuvQz7yFw@X)en;*ev_@d+UBY=)7 z)=&CRj&-HBT#iKXdr$-qmM6Akp80ueKv^T8X07o|!5;kzME(T%?jVwYc~Qw~b(74o zn8fPtfTzK3rL6^2&2)b4-{$+y4zbIX^%HkNi10BSxkmyyaur_{h;#x$ z&VB&op!}QhtI*f578%;vS(?qCCMO=}d64pvnzRBaf~;sOHHA8gn1G-Jqb7WuOp%v` zCf6JYv?>}PL(GJPDuOQg324F!Ekhxk1Ja?s0}PN!3XBf|b4|&%i~&c58i@S@vzQOxP4@5u{*Qw02#~v%j`sN1#I)r4dPSfHM5)r z=BarMw?1}0URW0fug}!=Mbl#Jl&O8dpvM1}q`1Dva=$z~03BD+@mzqg9ysUXM7dlV zxOGmUF60G)N>QDyAidAb6S}mF1ELKwi+ysLtY^BAPHt%gJ z_+$LKLVSS;_q^)tk}|psCAALn?QtR7me9CZ%*`$?HLfc7gq|zn~_U>HTvo(>b#jK5|0KECz3ci(>%Dg8Ua7+!1bHmBMb>B zQqHm+Wo5R`woFO|2uY?)T1FEWO^f+9NN6bNPKxq-&5nKB159()uO$$ZV8RPE!s1i zd%wT%MOwY{&~(vz>@(>#^9e}dINj*Lg9_iw>;ft8{>f@d)_5+QOA9$cb}7;?5TepN zxVMM&bkqdCER);j@3vYRxWUan-+57XX*)l0IvDcG($4h?$X zUL^0exPRf!*@mHdOhmI_$SA*J46--|hN9W4PL>d)Owg*1VjYe{q1rudeDx~}%eo{y zoLWNn{WK_ER9)V>&S#$S{_p`sMl}lYMfyNihd00S!1dvLhinVL^Om9cW{*%QI)_$V?E6RVY~tot63P@$ju&GC;}^VR zQmocE;*BUY$@e#WsBPBe(9*HfR~bdB}sP( zuK-I|)b`4))n(R>o-HQMaP2J@r+)Kwm3g>yC{ORA5u)A#{@FGne*)6{PIWIT_MQ|b zAzFRfn>Z}sYjnO-i{GjplO`a$sCAVqV(#P`zk3OWg-Q)e(WWUJEOVEr<6t@FsbR67 z9i<&57w+CmljF9w&m;3l;^r`bZQcpWu0zb{>aqb#Iz-;$OOjS@E^cz$<)CUQCs>%p zGSsS~;*h|)-&@?6G2#9i1Rhd=M}qy7X_dn@VDA2q3|i~3*67!MUv~d-d}nW$?O$O6 zrU9UIyQhb3z&PuUQZq@!P8rikT`o%CePr-4wVf7eN4Y2@XDV5B+@H&4#MEQ36_6Ta zprLgZ384;KQpT+ABirSCIR0d7Y_hjY;NnA4)gdeWdf!46Q1;G12*acl(XgGu6>@6_ zw;a{NtmHNnn>Rotnhn8Qh&1Pr?odO{nddTUDDL#C@k*IQF0V<9qYT3`)_m>zI|si^ z5z?-PP%BA9@W`Iz;#H9sjW!W0LYty9{T*OWvlRRIDtYL|`?6xp6CI!=LX4D4E~XrJ z8oY+(ILlKfN9;rlbEZYg(>tX}zK7RLIq}|T=v~_a^J?`Pc^F@8ju;>x-lx=MYpq&`i`U_Z^r-$c#}vH9iFc9r607e67Umgp%p!RnV`2 zw&@WNALCeJ+JTS`t7SFuuFW5YEc15vq`BCxm|5*qQ!R~9PlvC^Wx{HcWjhm#b&KYL z5W6X1PPms%4a*X%)FF0)Jk@R%eHu<0rH+usevE*(;nq)P~+2;;jeLFP?O#52h3LUti$TgxK5xJ_rDIHggZ(TCvPlDTCH zE9j{yLf0fHDR12Z27rU5v!Mtg!9vq4dH|@!Y2_TV^3oW@6JB!tTrB?Q`gbYO4#wi> z*JWDB@n8vnJ{vTtjJ}*k4Ng=vsH}LnpWXr5@;%I@)392lS$*Ifg1Frrw{Dn_>t9rN z`Z4PS94DX1@CiO=OO!H$efu`htz_vH@4F&GZEUJ!I3zAZdVah{RMn9RW)5nGi-M)` z?jBiKS*pD^@?-^hq)lRdHtN4ubb-x+(YIQcPnWF9ru;fd^WXKNI>?G*yB~Jbrc>X; z$);Bn_+Fr)fkmEM?f_lONJ_OKvGF%2`)u#SI}+MNjT}Q1YFMu)5&6*#9KS6a#egNk zRZgapxWJ$NPkc*t*z0_zCx9SoHIHxCsI6OdgR2t_8R~1Np_l-IA%lt$+WimEB)w@l=cX2iu zDi<~SSG^7q-?vZST!*FZ0k^KM6m3Ow|4c7RuH+P$MaxJP$kEa!6}| z0AMw;N!s7{U|8QS?&wc-f58r|F&^PRSd%`hc*e{2^WLo;B4jSCC7RF#wr-4tb=esC z#x>nv`ey@YydM>NfQCL|TXSm=2@EGpoZkd;Z6gS;@GPAP#7^d>9uil8KYy{vQ&9Mv z={__ofIf3h5g9-&Y{Oh6dIWZeVQKYzvFL?Z`d#?1xH@huRxw9`%q6NKrF{cM zvb!J(w+1>ELJWAKp>z#iJm?^le5O3urvL980U7;%P!DsD1zF%Z{irJ!yY1<46G6S2 zQ=UBDXkt**FH^S^AXsdFYRh ziyF2WjHq`=Zar#a@@oH~1au4^)E>xfCzLme+*cpo_iV z5Da?2T_YD@MFhd(rtLU*M~tI|LA6mVF!O+D_Zc&YcF&<(-P})#;2i3L*X9XD5XLx>OcpDa)#d~b@l@Y{#%))V&W0vz^cKw; zbg_^#k1y*2J1nttAc17kD*PcCs33sZ~G%7KaDFbD+{!QdbEPpBha+m=Is8Ahrc z!!N~HKv@Ad2f%La;uNAkApY+Ya4BugcOo*$Ue~v(XLXZ4O!C2ATaN+rX9S24zJEI~ zP60S$$n&EEBJm6$5L58;;i3UslmX7WAo%GGbxIqlH12>f zCK13FfvEsIog|K?kWEDBO)U@HNi_ISmMPH7JHU&}OvlWWfoPUkE_lrn?l`c^LITSH z=#W$+^f#nJkNkxz6{feF?L#nJ2d{p0hkYdC*%G%5o1iD~JH_E6$jUtwjcx-wEa