From f22136279ce80253e2cf63c3c598fe9e99ddf09c Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 27 May 2026 17:26:09 +0000 Subject: [PATCH] Wave E batch 3: two more long-program reproduction labs labs/world_models/lab_dreamer_cartpole_pixels/ - Dreamer-style world model on CartPole-v1 from pixels. - CNN encoder + RSSM (det h_t + stochastic Gaussian z_t) + transposed- conv decoder + reward head; latent imagination actor-critic with GAE lambda-returns. - README, paper.md (linking paper_world_models / paper_dreamer_v2 / paper_dreamer_v3), notebook narrative, full src module split (env, world_model, trainer, policy, viz, seeds). Training/asset PNGs are deferred to a follow-up; the code is end-to-end runnable. labs/rl_decision/lab_cql_offline_minigrid/ - CQL on an 8x8 sparse-reward gridworld, with BC + DQN baselines and an alpha-tuning ablation. - Three trainers (BC, DQN, CQL) plus a unified eval pipeline. - assets/ contains the four story PNGs: q_overestimation, q_overestimation_dqn_only, ood_action_density, action_histogram, eval_returns, ablation_alpha. - data/ checkpoints: bc.pt, dqn.pt, cql.pt, offline_dataset.pt. - paper.md links paper_cql / paper_bear / paper_iql. Both labs follow the per-lab directory contract documented in labs/RESTRUCTURE_PROPOSAL.md. https://claude.ai/code/session_017Ez7KNKDCGRRLjEnJi9TW7 --- .../lab_cql_offline_minigrid/README.md | 64 ++ .../assets/ablation_alpha.png | Bin 0 -> 68709 bytes .../assets/action_histogram.png | Bin 0 -> 22188 bytes .../assets/eval_returns.png | Bin 0 -> 64781 bytes .../assets/ood_action_density.png | Bin 0 -> 65377 bytes .../assets/q_overestimation.png | Bin 0 -> 120218 bytes .../assets/q_overestimation_dqn_only.png | Bin 0 -> 91118 bytes .../lab_cql_offline_minigrid/notebook.ipynb | 439 +++++++++++++ .../lab_cql_offline_minigrid/paper.md | 31 + .../lab_cql_offline_minigrid/requirements.txt | 7 + .../lab_cql_offline_minigrid/src/__init__.py | 1 + .../lab_cql_offline_minigrid/src/dataset.py | 219 +++++++ .../lab_cql_offline_minigrid/src/env.py | 144 +++++ .../lab_cql_offline_minigrid/src/model.py | 28 + .../lab_cql_offline_minigrid/src/seeds.py | 22 + .../src/trainer_bc.py | 176 ++++++ .../src/trainer_cql.py | 268 ++++++++ .../src/trainer_dqn.py | 224 +++++++ .../lab_cql_offline_minigrid/src/viz.py | 277 +++++++++ .../lab_dreamer_cartpole_pixels/README.md | 62 ++ .../notebook.ipynb | 186 ++++++ .../lab_dreamer_cartpole_pixels/paper.md | 40 ++ .../requirements.txt | 8 + .../src/__init__.py | 1 + .../lab_dreamer_cartpole_pixels/src/env.py | 139 +++++ .../lab_dreamer_cartpole_pixels/src/policy.py | 446 +++++++++++++ .../lab_dreamer_cartpole_pixels/src/seeds.py | 23 + .../src/trainer.py | 39 ++ .../lab_dreamer_cartpole_pixels/src/viz.py | 203 ++++++ .../src/world_model.py | 588 ++++++++++++++++++ 30 files changed, 3635 insertions(+) create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/README.md create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/assets/ablation_alpha.png create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/assets/action_histogram.png create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/assets/eval_returns.png create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/assets/ood_action_density.png create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/assets/q_overestimation.png create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/assets/q_overestimation_dqn_only.png create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/notebook.ipynb create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/paper.md create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/requirements.txt create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/src/__init__.py create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/src/dataset.py create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/src/env.py create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/src/model.py create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/src/seeds.py create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/src/trainer_bc.py create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/src/trainer_cql.py create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/src/trainer_dqn.py create mode 100644 labs/rl_decision/lab_cql_offline_minigrid/src/viz.py create mode 100644 labs/world_models/lab_dreamer_cartpole_pixels/README.md create mode 100644 labs/world_models/lab_dreamer_cartpole_pixels/notebook.ipynb create mode 100644 labs/world_models/lab_dreamer_cartpole_pixels/paper.md create mode 100644 labs/world_models/lab_dreamer_cartpole_pixels/requirements.txt create mode 100644 labs/world_models/lab_dreamer_cartpole_pixels/src/__init__.py create mode 100644 labs/world_models/lab_dreamer_cartpole_pixels/src/env.py create mode 100644 labs/world_models/lab_dreamer_cartpole_pixels/src/policy.py create mode 100644 labs/world_models/lab_dreamer_cartpole_pixels/src/seeds.py create mode 100644 labs/world_models/lab_dreamer_cartpole_pixels/src/trainer.py create mode 100644 labs/world_models/lab_dreamer_cartpole_pixels/src/viz.py create mode 100644 labs/world_models/lab_dreamer_cartpole_pixels/src/world_model.py diff --git a/labs/rl_decision/lab_cql_offline_minigrid/README.md b/labs/rl_decision/lab_cql_offline_minigrid/README.md new file mode 100644 index 0000000..feb96f5 --- /dev/null +++ b/labs/rl_decision/lab_cql_offline_minigrid/README.md @@ -0,0 +1,64 @@ +# lab · CQL on an 8×8 offline-RL gridworld + +> 最小但忠实的 CQL(Conservative Q-Learning, Kumar et al. 2020)复现。8×8 离散网格、固定 10 000 条离线数据、三个 trainer(BC / DQN / CQL)共用同一个 MLP critic,整个 notebook 在 CPU 上 < 2 分钟跑完。 + +## Quickstart + +```bash +cd labs/rl_decision/lab_cql_offline_minigrid +pip install -r requirements.txt + +# (可选) 单独跑某个 trainer,每个 < 20s: +python -m src.dataset # 收集并保存 data/offline_dataset.pt +python -m src.trainer_bc # data/bc.pt +python -m src.trainer_dqn # data/dqn.pt +python -m src.trainer_cql # data/cql.pt (alpha=auto) +python -m src.trainer_cql --alpha-mode fixed --alpha-fixed 5.0 # ablation +python -m src.trainer_cql --alpha-mode zero # = DQN + +# 端到端故事 (~80 秒): +jupyter nbconvert --execute --to notebook --inplace notebook.ipynb +``` + +## What this lab proves + +- **离线 DQN 会过估计 OOD 动作。** Cell 3 / 4 的 `q_overestimation.png` 右栏直接画出 `Q_OOD − Q_seen`:DQN 翻正到 +0.45;CQL 一路压到 −1.3。 +- **CQL 的 log-sum-exp 罚项把 Q 牢牢保留在数据流形内。** OOD-density 图(cell 5)显示 CQL 选的 greedy 动作在行为策略下的概率比 DQN 高,并且不再像 DQN 那样塌缩到右+下两个动作。 +- **α 自适应 > 任何固定 α。** Ablation 直接对比 α=0 / fixed-5 / auto;α=0(=DQN)的评估曲线在 ±0.85 之间剧烈反复,fixed-5 把 Q_seen 推到 3.6(过保守),auto 把 α 自动调到 ~0.6,Q 量级与真实回报最接近。 +- **CQL ≈ BC 在这个 trivial 任务上**:环境太小,BC 的 mode-cloning 已经足以取到最优;这正是 CQL 论文反复强调的——CQL 的真正价值在 D4RL / 真实驾驶等更难任务里。本 lab 把 *机理* 跑清楚;scaling 留给 stretch goal。 + +## 文件契约 + +``` +. +├── README.md +├── notebook.ipynb ← 7-cell 可执行故事 +├── paper.md ← 250-token 蒸馏,链接 paper_cql 卡片 +├── requirements.txt +├── src/ +│ ├── __init__.py +│ ├── env.py ← 8×8 稀疏奖励网格 + 10% slip +│ ├── dataset.py ← 50% random + 50% ε-greedy expert 收集器 +│ ├── model.py ← shared QNet MLP(BC / DQN / CQL 共用) +│ ├── trainer_bc.py ← 交叉熵 BC(默认 full dataset) +│ ├── trainer_dqn.py ← TD(0) + target net,纯离线 +│ ├── trainer_cql.py ← TD + log-sum-exp 罚项,α 自适应 (Lagrangian) +│ ├── viz.py ← 所有 matplotlib 绘图 +│ └── seeds.py +├── assets/ ← notebook 生成的 PNG +│ ├── action_histogram.png +│ ├── q_overestimation.png ← 核心图:DQN 发散 / CQL 守恒 +│ ├── ood_action_density.png ← 行为策略下 greedy 动作的密度 +│ ├── eval_returns.png ← BC / DQN / CQL 评估曲线 +│ ├── ablation_alpha.png ← α=0 / fixed-5 / auto +│ └── ablation_alpha_traj.png ← α 与 gap 的轨迹 +└── data/ + ├── offline_dataset.pt ← 10k 条离线 transition + ├── bc.pt / dqn.pt / cql.pt ← 三个 trainer 的 checkpoint +``` + +## Three stretch goals(也写在 notebook 末尾) + +1. **奖励改成纯稀疏 +1(去掉 step penalty)+ `max_steps=200`**:让 Q 没有边界压制,DQN 的发散尺度真正放飞;CQL 的 `log-sum-exp` 应该仍能把它压住。 +2. **加 IQL 做对照**:复用 `dataset.py` 与 `model.py`,写 `trainer_iql.py`,用 expectile 回归(τ=0.7)与 KL-policy extraction。CQL = 惩罚 OOD,IQL = 避开 OOD,两路线的核心实务对比。 +3. **数据规模扫描**:让 `n_transitions` 在 {500, 1k, 2k, 5k, 10k, 20k} 上扫描,画三条算法的最终评估对数据量曲线——CQL 的样本复杂度优势才是真正的研究题。 diff --git a/labs/rl_decision/lab_cql_offline_minigrid/assets/ablation_alpha.png b/labs/rl_decision/lab_cql_offline_minigrid/assets/ablation_alpha.png new file mode 100644 index 0000000000000000000000000000000000000000..48601c8c29fba1a3f392dab5f7dfb521a6f8f066 GIT binary patch literal 68709 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 literal 0 HcmV?d00001 diff --git a/labs/rl_decision/lab_cql_offline_minigrid/assets/action_histogram.png b/labs/rl_decision/lab_cql_offline_minigrid/assets/action_histogram.png new file mode 100644 index 0000000000000000000000000000000000000000..2547b2d2ba4f8ece72b5d2557296741b867f0d97 GIT binary patch literal 22188 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

APLNo|MM6(C8ZgDL@=z)j|lj0w8q* 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 Q(YG=WDIJVIaPq?c0-)3R<^TWy literal 0 HcmV?d00001 diff --git a/labs/rl_decision/lab_cql_offline_minigrid/assets/eval_returns.png b/labs/rl_decision/lab_cql_offline_minigrid/assets/eval_returns.png new file mode 100644 index 0000000000000000000000000000000000000000..2c79cf02133a4b3bba613cb4d9b08d10f0c82000 GIT binary patch literal 64781 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 OA4{{%8w%-e5&r?OIBlZ< literal 0 HcmV?d00001 diff --git a/labs/rl_decision/lab_cql_offline_minigrid/assets/ood_action_density.png b/labs/rl_decision/lab_cql_offline_minigrid/assets/ood_action_density.png new file mode 100644 index 0000000000000000000000000000000000000000..ff606e73c3dd601e5d2727237e452f4ca3285432 GIT binary patch literal 65377 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 z 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

-3iZl3q$>0UH&{eG1t*(-KnQYuwZ^ual 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�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%0AXK#dZd0VDA$MwPIuzERo^{UVv7njvg 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 Qbp>BzJjT1{xPG_tUx6)!>;M1& literal 0 HcmV?d00001 diff --git a/labs/rl_decision/lab_cql_offline_minigrid/notebook.ipynb b/labs/rl_decision/lab_cql_offline_minigrid/notebook.ipynb new file mode 100644 index 0000000..486b2dd --- /dev/null +++ b/labs/rl_decision/lab_cql_offline_minigrid/notebook.ipynb @@ -0,0 +1,439 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "intro", + "metadata": {}, + "source": [ + "# lab · CQL on a tiny offline-RL gridworld\n", + "\n", + "在固定数据集上跑 DQN,Q 值会因为 Bellman 备份去查询数据外动作而被推到天上去;CQL 在普通的 TD 损失上加一项 `log-sum-exp Q − E_{a∼D}[Q]`,把数据外动作的 Q 值压低,把数据内动作的 Q 值留住,得到的 Q 是真值的一个下界。本 lab 用一个 8×8 网格世界把这条故事跑出来:\n", + "\n", + "1. 用 50% 随机策略 + 50% ε-greedy 专家(ε=0.3)收集 10 000 条离线数据。\n", + "2. 用同一份数据训练 BC / DQN / CQL,三者用同一个 MLP 作为 critic(架构完全相同,只是损失函数不同)。\n", + "3. 看 Q-overestimation panel:DQN 在 ~1 500 步时出现 OOD > seen 的反转,CQL 一直保持 OOD ≤ seen。\n", + "4. 看 OOD 行为密度:DQN 把 mass 集中在专家偏好的右+下;CQL 分布更接近行为策略。\n", + "5. 看 greedy 评估:BC≈CQL≈最优 0.85;DQN 因 Q 振荡而表现剧烈不稳。\n", + "6. ablation:α=0(=DQN)、α 固定=5、α 自适应——自适应最稳。\n", + "\n", + "> 链接:[paper_cql](../../../docs/data/cards/extended/paper_cql.md)。" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "cell-imports", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-27T17:20:41.068881Z", + "iopub.status.busy": "2026-05-27T17:20:41.068659Z", + "iopub.status.idle": "2026-05-27T17:20:42.537399Z", + "shell.execute_reply": "2026-05-27T17:20:42.536550Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch 2.12.0+cpu · cpu threads 4\n" + ] + } + ], + "source": [ + "# Cell 0 — imports & paths\n", + "import os, sys, time\n", + "from pathlib import Path\n", + "import numpy as np\n", + "import torch\n", + "import matplotlib.pyplot as plt\n", + "\n", + "ROOT = Path.cwd()\n", + "DATA, ASSETS = ROOT / 'data', ROOT / 'assets'\n", + "DATA.mkdir(exist_ok=True); ASSETS.mkdir(exist_ok=True)\n", + "if str(ROOT) not in sys.path:\n", + " sys.path.insert(0, str(ROOT))\n", + "\n", + "from src.dataset import (\n", + " DatasetConfig, OfflineDataset, action_histogram,\n", + " collect_offline_dataset, state_action_support,\n", + ")\n", + "from src.env import N_ACTIONS, make_env\n", + "from src.model import QNet\n", + "from src.trainer_bc import BCConfig, train_bc\n", + "from src.trainer_dqn import DQNConfig, train_dqn\n", + "from src.trainer_cql import CQLConfig, train_cql\n", + "from src.viz import (\n", + " plot_action_histogram, plot_eval_returns,\n", + " plot_ood_action_density, plot_q_overestimation,\n", + ")\n", + "\n", + "SEED = 0\n", + "print('torch', torch.__version__, '· cpu threads', torch.get_num_threads())" + ] + }, + { + "cell_type": "markdown", + "id": "md-cell-1", + "metadata": {}, + "source": [ + "## Cell 1 — 收集离线数据集,画行为策略的动作直方图\n", + "\n", + "离线数据集 = 50% 完全随机 + 50% ε-greedy 专家(ε=0.3)。专家走右下;随机一边覆盖空白格子,一边把动作直方图拉平。" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "cell-1", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-27T17:20:42.540750Z", + "iopub.status.busy": "2026-05-27T17:20:42.540471Z", + "iopub.status.idle": "2026-05-27T17:20:43.911617Z", + "shell.execute_reply": "2026-05-27T17:20:43.910883Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "collected 10000 transitions in 1.4s\n", + "random half action counts: [1244, 1245, 1228, 1283]\n", + "expert half action counts: [363, 2336, 1905, 396]\n" + ] + }, + { + "data": { + "image/png": "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PKPk5GTt379fw4cP13vvvafg4GANGzbMaqxJUlhY2G37lJCQoHr16mn//v2qVauW+vbtq3PnzunHH39U06ZN9fnnn+vVV1+1Wm/Hjh0aP3686tSpo5dffln//POPFixYoCeeeEK7d+9WpUqVsnxcsjuub/XHH38oPDxcJpNJrVq1UkhIiC5evKiYmBhNmzZNo0aNkru7e5beu6NHjyoiIkKnTp1So0aN1KlTJx0/flzz5s3T8uXLtWDBAj311FPm+levXlWjRo20c+dOPfLII3r++eeVmJioDz/8UBs3brxtv998801t3LhRLVu2VIsWLczfD3czTqQbF+U3adJE8fHxat26ta5du6bvv/9e7dq10y+//KJp06Zp69atevLJJ+Xp6al58+apd+/e8vf3t/h+AJyaAeCB1ahRI0OSMWPGjDvW7dy5syHJ+OCDDyzKJRkNGjSwuU6ZMmWMMmXKWJUfPXrUkGR07drVorxr166GJOPo0aNWdSUZw4cPt6i/cuVKQ5Lx5JNPWpTPnDnTkGS0bdvWSE5Otlg2bNgwQ5IxadKk2+/w/9ekSROb9RcvXmzu18yZMy2WHT582EhPT7dq69133zUkGXPnzrXZp3Xr1tnsw4kTJ4yrV69ala9atcpwcXExXnvtNYvywoULGyVKlDAuX75stc7Zs2fNX6emphrlypUzPD09jfXr11vUO3nypBEUFGQUL17cYtt36mtmrl69ahw/ftyqPCEhwQgNDTX8/Pws3quUlBQjODjYkGTMmTPHar1b28psrGWwNU579OhhSDJ69Ohh8X4dPHjQKFSokOHh4WExFtetW5fpez59+nRDkvH6669n2oeb2TOub952v379DEnG4sWLrbYRHx9vpKWlmV/f6b1r2rSpIckYNWqURfmvv/5quLq6GoULFzYuXbpkLh85cqQhyejYsaPF8fvnn3+MokWL3vZ7PCgoyDhy5IhVH7I7TgzjxnsvyXjqqacsxur//vc/Q5Lh5+dn1KxZ07hw4YJ52eHDhw13d3cjLCzM5rEAnBHTb4AHWFxcnCSpVKlSd6ybUefUqVO52qfMlClTRu+++65FWbNmzVS6dGlt27bNonzy5Mlyc3PT119/LW9vb4tl7733nooUKaI5c+bccZsnTpzQ6tWrFRISol69elksa926tRo0aGBzvbJly9qckvLWW29JklatWnXHbd+sRIkS8vT0tCpv2rSpQkNDbbbn7u5uPvt5s6JFi5q/Xr58uQ4fPqzevXtb7UtQUJAGDRqkf//9V2vXrs1Wf23x9PRUyZIlrcp9fHzUvXt3XbhwwWK6z9KlSxUbG6tWrVqpc+fOVuvZais7rl27pm+//VYFChTQmDFjLN6vChUqqE+fPrp27Zq++eYbq3Xr1atnNa2ke/fucnNzsxqLd5KdcX07t45zSfLz85OLS9Z+zJ84cUK//PKLSpcurUGDBlksq1u3rjp16qT4+HgtXLjQXD5r1iy5uLhYHb9SpUpZ/MXElkGDBikkJMSqPLvj5GaTJk2y+D6JjIxUSEiILly4oHHjxln8pbBs2bKqV6+e9u7dq7S0tNv2FXAWTL8B4BTCwsJshtRSpUppy5Yt5tfJycnas2ePihYtap6ScStPT08dOHDgjtvctWuXJCkiIsLmth9//HFt2LDBqvzy5cuaPHmyFi1apIMHD+rSpUsyDMO8/Ha3CLXFMAzNmTNH0dHR2rNnjy5cuGARRG69EPn555/XlClT9PDDD+vZZ59VgwYNVKdOHauLLDOO27FjxzR8+HCr7R46dEjSjTvHZEzBsce+ffs0YcIE/e9//1NcXJzV9QU3H5fffvtNkjKd4mSvv//+W8nJyapXr54KFy5stbxRo0YaNWqUeQzcrGbNmlZl7u7uKlasmC5cuJCtfmR1XGfmueee0+TJk9WmTRu1b99ejRs3Vr169VSuXLls9SNjPyMjI+Xu7m61vFGjRvr222+1a9cudenSRRcvXtThw4dVqlQpm1N5IiIibru92rVrZ7osO+Mkg6+vr819DgoK0tGjR1WjRg2rZSVKlND169f177//csct3BcI9cADrHjx4jpw4ICOHz9+x7oZdYKCgnK7WzZlNh/fzc3NfPGuJF24cEGGYejs2bPmCwPvVmJioiSpWLFiNpdn3I//ZqmpqWrUqJG2bdumKlWq6LnnnpO/v785KI0YMSLbF+r269dPkyZNUmBgoJo1a6YSJUqYz8xGR0fr2LFjFvU/+eQTlS1bVjNnztTYsWM1duxYubm5qUWLFvr4449Vvnx5SdL58+clSfPmzbvt9pOSkrLVX1t+++03NWrUSNevX9cTTzyhVq1aqVChQnJxcdHu3bu1ZMkSi+OSkJAgSbkWtjLe28zutpRRntGPm91uLGb3rG9Wx3VmateurY0bN+rDDz/U/PnzNXv2bElSpUqVNGzYMHXq1ClL/cju8bh48aKkzL83MivPYOt7R8r+OMmQ2V2BMq6bsbU8Y1nGxcSAsyPUAw+wiIgIrVu3TmvWrNErr7ySab20tDTzA2vq1at3j3p3dzJ+eD/yyCPauXNnjrR1+vRpm8v//fdfq7IlS5Zo27ZtioqK0syZMy2WxcXFZfsXjTNnzujTTz9VlSpVtHnzZhUsWNBi+ffff2+1jqurq/r27au+ffvqzJkz2rRpk+bOnat58+Zp37592rdvnzw9Pc37t2TJErVq1Spb/cquUaNG6cqVK1q3bp3VXWjGjBmjJUuWWJRlhN3s/lUjqzL23dZ7KP3f1DRnuIVknTp1tGzZMqWkpOj333/XypUrNWXKFHXu3Fn+/v5q3LjxHdvI7vEoVKiQpMy/NzIrz5DZHZOyO04A/B/m1AMPsKioKLm6umrRokXat29fpvW+/vprnTp1SpUqVcp0HnleUaBAAYWGhmrfvn2Kj4+3q61HHnlEkrRp0yabZ2BtPZkzJiZGkvTMM89YLbM1VUeSefqFrW0cOXJE6enpatq0qVWgP3HihI4cOXLbfQgICNAzzzyjH3/8UY0aNdLhw4e1d+9eSdJjjz0mSXe8U0lW+3o7MTExKly4sM3bSto6Lhl9u93tLm/tV3b6VKlSJeXLl0979uyxeTZ+3bp1kqRHH300y206mqenp+rWrauRI0fq008/lSSLEHy79+7msX79+nWr5bcej0KFCqls2bI6efKkzYfJbdq06a72IbvjBMD/IdQDD7CyZctqyJAhSk1NVatWrbR//36rOosXL9abb74pV1dXff7551m+8M6R+vXrp2vXrql79+42A9uFCxeydBa/ZMmSatKkiY4ePWp1T+slS5bYDBkZ84tvDfxHjhzR22+/bXM7RYoUkST9888/mbZ36y8WSUlJeuWVV6wCWEpKin799VerdlJTU82/5GQ8WbV169YqV66cPvvsM61YscJm37Zs2aLk5OQs9fV2goODFR8frz/++MOi/KuvvrJ5oe/TTz+t4OBg/fTTTzb/GnHr/fmLFCmis2fP6sqVK1nqj4eHh55//nldunRJ7733nsWyw4cP69NPP5W7u7tefPHFLLXnKJs3b7a5zxlnym9+iu7t3ruMsR4bG2t1LcrWrVv13Xffyc/PT23btjWXd+nSRenp6Ro8eLDFNSPHjx/P9HqWO8nuOAHwf5h+Azzghg8frsuXL2vixImqXr26mjVrptDQUKWmpmrz5s3aunWrvL29zQ9ycgbdu3fX77//rmnTpqlcuXLmu4nEx8fr6NGj+t///qdu3bpp+vTpd2zrs88+U506ddS3b1/98ssvql69umJiYrRo0SI9/fTTWrp0qUX9p59+WuXLl9fEiRP1559/6pFHHtE///yjZcuWqWXLljYDVcOGDeXi4qLBgwdr79698vPzkyS9++67Kl68uDp27Ki5c+cqLCxMTZs2VWJiolavXi0vLy+FhYVp9+7d5rauXLmiiIgIlS9fXjVq1FCZMmV09epVrV69WgcOHFCrVq1UuXJlSTcu7ly4cKGaNWumli1bqm7dugoLC1O+fPl0/Phxbd++XUeOHFFcXJw5HN6ur7fTt29frVq1ShEREeZ75+/YsUObNm1S+/btNX/+fIv6Hh4emjdvnpo2barOnTvriy++0GOPPaarV6/qwIEDWrt2rcUvNE888YS2b9+u5s2bq379+vL09FT16tX19NNPZ9qnsWPHauPGjZo6daq2b9+uhg0bmu9Tf+nSJU2dOtXmHVrykvHjx+u///2v+U4vBQoU0L59+/Tzzz/Lz89PPXr0MNe903s3ffp01atXTwMHDtQvv/yimjVrmu9T7+LiopkzZ1r8tWjQoEFavHix5s6dq7///ts8Nn/88UfVr19fixcvzvZJgOyOEwA3cewdNQHkFVu3bjW6dOliBAcHG15eXkb+/PmN0NBQo3///jbvG51B9+g+9bfWzdCgQQMjs4+ypUuXGi1btjT8/f0Nd3d3o1ixYkatWrWMoUOHGgcOHMh0n2516NAho127doaPj4+RL18+47HHHjOWLVtm877hhnHjPt2dO3c2goKCDC8vL+Phhx82xo0bZ6SmpmZ6vGbPnm1Ur17d8PLyMt+/PMPly5eNIUOGmO8pX7JkSaNnz57GuXPnrPb/2rVrxrhx44zmzZsbpUqVMjw9PY2iRYsa4eHhxueff26kpKRYbfv06dPG22+/bYSGhhre3t5G/vz5jfLlyxvt2rUzZs+ebaSmpma5r7ezdOlSIzw83ChQoIDh4+NjNGnSxNiwYUOmx9EwDOPYsWPG66+/bgQHBxvu7u5G4cKFjdq1axsffvihRb2kpCTjtddeM0qUKGG4urpajZnMjvuFCxeMQYMGGeXLlzc8PDwMHx8fo3HjxsaqVaus6mbcp37YsGE29+9O98q/2d2Ma1vHadWqVUZUVJRRuXJlo1ChQka+fPmMihUrGr179zZiY2Ot2r3Te3fixAnjtddeM0qXLm24u7sbRYoUMVq3bm1s27bNZj8vXLhg9O7d2wgMDDQ8PDyMSpUqGR999JGxdetWQ5Lx5ptvWtS39T1+q+yOk9sd99t9PmSlL4AzMRnGTX8zAwAAsNN//vMf9ejRQ9OnT7f5VF4AOY9QDwAA7sqpU6esbnP7zz//KCIiQnFxcTp27JjDboMLPGiYUw8AAO5Ku3btlJqaqho1asjX11exsbFatmyZkpOTNWbMGAI9cA9xph4AANyVadOmafbs2Tp06JASExNVoEABPfLII+rVq5fN27oCyD2EegAAAMDJ5f0bTgMAAAC4LUI9AAAA4OQI9QAAAICT4+4390BCQoI2bNigUqVKydPT09HdAQAAQB6WkpKi48ePq0GDBvL19c3SOoT6e2DDhg1q06aNo7sBAAAAJ7J48WK1bt06S3UJ9fdAqVKlJN14Y8qXL+/g3gAAACAvi4mJUZs2bcwZMisI9fdAxpSb8uXLKzQ01MG9AQAAgDPIzrRtLpQFAAAAnByhHgAAAHByhHoAAADAyRHqAQAAACdHqAcAAACcHHe/AQAAcDDDMHTp0iVdvHhRqampMgzD0V1CLnBxcZGnp6eKFSsmF5ecPbdOqAcAAHCg69ev6+TJk0pOTpYkubm5ycXFRSaTycE9Q04yDEPXrl3TlStXlJKSotKlS+dosCfUAwAAONCFCxeUnJwsHx8fBQQEyM2NeHa/MgxDZ86cUXx8vE6fPq3AwMAca5s59QAAAA6UlJQkV1dXBQYGEujvcyaTSQEBAXJ1dVVKSkqOtk2oBwAAcCDDMOTm5sZ0mweEyWSSq6ur0tPTc7RdQj0AAABwD+XGL3CEegAAAMDJEeoBAAAAJ8fVGACQQ4LfWe7oLjhE7NiWju4CANyWyWTSsGHDNHz4cEd3Jddwph4AAABwcpypBwAAyMPGjRvn6C7o7bffdnQXcAecqQcAAMA9dfnyZUd34b5DqAcAAECuGT58uEwmk/bv36/OnTvLz89PERER+uOPPxQVFaWyZcvKy8tLxYsXV/fu3XX+/Hmb68fExCgqKkq+vr7y8fFRt27dlJycbFE3JSVFb731lvz9/VWwYEG1atVKJ06csNmvXbt26cknn1ShQoVUoEABPfHEE/rtt98s6kRHR8tkMmnTpk3q06eP/P395evrq1dffVXXrl1TQkKCunTpIj8/P/n5+WnQoEEyDCNnD2AWMf0GAAAAua5Dhw6qUKGCRo8eLcMwtHr1ah05ckTdunVT8eLFtW/fPs2YMUP79u3Tb7/9ZnUv92effVYhISEaM2aMdu7cqS+//FIBAQEW05Nefvllffvtt+rcubPq1q2r//73v2rZ0vpi/n379ikyMlKFChXSoEGD5O7uri+++EKPP/64NmzYoPDwcIv6vXv3VvHixTVixAj99ttvmjFjhnx9fbV582aVLl1ao0eP1ooVKzRhwgRVqVJFXbp0yZ2DeBuEegAAAOS66tWr67vvvjO/vnLlivr3729R57HHHlOnTp20adMmRUZGWix75JFH9NVXX5lfnz9/Xl999ZU51O/Zs0fffvutevbsqc8++0yS9MYbb+j555/XH3/8YdHWu+++q9TUVG3atElly5aVJHXp0kWVKlXSoEGDtGHDBov6xYoV04oVK2QymdSzZ0/FxMRowoQJevXVV/X5559Lknr06KHg4GB9/fXXDgn1TL8BAABArnvttdcsXnt7e5u/vnr1qs6dO6fHHntMkrRz5847rh8ZGanz58/r4sWLkqQVK1ZIkvr06WNRr2/fvhav09LS9Msvv6hNmzbmQC9JgYGB6ty5szZt2mRuM8NLL71k8ZeD8PBwGYahl156yVzm6uqqmjVr6siRI7YPQC4j1AMAACDXhYSEWLyOj4/Xm2++qWLFisnb21v+/v7mOomJiVbrly5d2uK1n5+fJOnChQuSpGPHjsnFxUXlypWzqFepUiWL12fPnlVycrJVuSRVrlxZ6enpOn78+G237ePjI0kqVaqUVXlGf+41pt8AAAAg1918Zl66MUd+8+bNGjhwoMLCwlSgQAGlp6erefPmSk9Pt1rf1dXVZrv34sLUzLZtq5wLZQEAAPBAuHDhgtauXasRI0bo/fffN5cfOnTortssU6aM0tPTdfjwYYuz8H///bdFPX9/f+XLl8+qXJL++usvubi4WJ2BdwZMvwEAAMA9lXGG+9az2pMmTbrrNp988klJ0qeffnrbNl1dXdW0aVMtWbJEsbGx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at68ubZt26YqVao4unvIQzp06KAKFSpo9OjRMgzDfDbqZlFRUfrxxx/14osv6rHHHtOGDRvUsmXLTNt89tlnFRISojFjxmjnzp368ssvFRAQoHHjxkmSZs+erZdfflm1a9dWjx49JEnlypXLnR2EQ/35559q2rSp/P39NXz4cF2/fl3Dhg1TsWLFLOq9/PLLmjVrltq3b6/+/ftr69atGjNmjA4cOKBFixZJkiIjI/XJJ59o37595s+xjRs3ysXFRRs3blSfPn3MZZJUv359i22MHTtWLi4uGjBggBITEzV+/Hg9//zz2rp1a24fBuRhs2fPVteuXdWsWTONGzdOycnJ+vzzzxUREaFdu3YpODhYQ4cOVaVKlTRjxgyNHDlSISEhKleunBo3bsxnmaMZgBPq2rWrUaZMGavyYcOGGTcPa0mGJGPHjh3msmPHjhleXl5G27Zt70VX4QQyxk2nTp1slmf4/fffDUlG3759LepFRUUZkoxhw4ZZrdu9e3eLum3btjWKFCliUZY/f36ja9euObMzyLPatGljeHl5GceOHTOX7d+/33B1dTWPs927dxuSjJdfftli3QEDBhiSjP/+97+GYRjGmTNnDEnGtGnTDMMwjISEBMPFxcXo0KGDUaxYMfN6ffr0MQoXLmykp6cbhmEY69atMyQZlStXNlJSUsz1Jk+ebEgy/vzzz9zZeeRJM2fONCQZR48eNS5dumT4+voar7zyikWdf//91/Dx8bEoz1hv+/btFnX5LHMspt/gvlenTh3VqFHD/Lp06dJq3bq1Vq1apbS0NAf2DHnNa6+9dtvlK1eulCT17NnTorx3795ZbjMyMlLnz5/XxYsX77KXcEZpaWlatWqV2rRpo9KlS5vLK1eurGbNmplfr1ixQtKN6TU369+/vyRp+fLlkiR/f3899NBD5qmEv/76q1xdXTVw4ECdPn1ahw4dknTjTH1ERITVNLJu3brJw8PD/DoyMlKSdOTIkRzZXzif1atXKyEhQZ06ddK5c+fM/1xdXRUeHq5169Y5uou4A0I97nsVKlSwKqtYsaKSk5N19uxZB/QIeVVISMhtlx87dkwuLi5W9cqXL5/pOjcHOEny8/OTJF24cOEuewlndPbsWV25csXm51GlSpXMX2eMsVvHVPHixeXr66tjx46ZyyIjI83TazZu3KiaNWuqZs2aKly4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", + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Cell 1 — collect offline dataset + plot action histogram\n", + "t0 = time.time()\n", + "ds_cfg = DatasetConfig(seed=SEED)\n", + "ds = collect_offline_dataset(ds_cfg)\n", + "ds.save(str(DATA / 'offline_dataset.pt'))\n", + "hist = action_histogram(ds)\n", + "plot_action_histogram(hist, str(ASSETS / 'action_histogram.png'))\n", + "print(f'collected {len(ds)} transitions in {time.time() - t0:.1f}s')\n", + "print('random half action counts:', hist['random'].tolist())\n", + "print('expert half action counts:', hist['expert'].tolist())\n", + "from IPython.display import Image\n", + "Image(str(ASSETS / 'action_histogram.png'))" + ] + }, + { + "cell_type": "markdown", + "id": "md-cell-2", + "metadata": {}, + "source": [ + "## Cell 2 — 训练 BC 与离线 DQN\n", + "\n", + "两者都用同一份数据、同一个 MLP;区别只是损失:BC 是交叉熵,DQN 是 TD(0)。" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "cell-2", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-27T17:20:43.914292Z", + "iopub.status.busy": "2026-05-27T17:20:43.914010Z", + "iopub.status.idle": "2026-05-27T17:21:09.179797Z", + "shell.execute_reply": "2026-05-27T17:21:09.178484Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[BC] elapsed 10.2s · final eval = 0.851\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[DQN] elapsed 15.1s · final eval = 0.300\n", + "\n", + "Q_seen / Q_OOD over training (DQN):\n", + " step= 25 Q_seen=0.05 Q_OOD=0.04\n", + " step= 525 Q_seen=0.11 Q_OOD=0.36\n", + " step= 1025 Q_seen=0.21 Q_OOD=0.64\n", + " step= 1525 Q_seen=0.36 Q_OOD=0.80\n", + " step= 2025 Q_seen=0.59 Q_OOD=0.93\n", + " step= 2525 Q_seen=0.71 Q_OOD=0.95\n", + " step= 3025 Q_seen=0.80 Q_OOD=0.96\n", + " step= 3525 Q_seen=0.83 Q_OOD=0.96\n", + " step= 4025 Q_seen=0.85 Q_OOD=0.97\n", + " step= 4525 Q_seen=0.85 Q_OOD=0.96\n" + ] + } + ], + "source": [ + "# Cell 2 — train BC and offline DQN\n", + "t0 = time.time()\n", + "bc_model, bc_result = train_bc(ds, BCConfig(seed=SEED), verbose=False)\n", + "print(f'[BC] elapsed {time.time() - t0:.1f}s · final eval = {bc_result.eval_returns[-1][1]:.3f}')\n", + "\n", + "t0 = time.time()\n", + "dqn_model, dqn_result = train_dqn(ds, DQNConfig(seed=SEED), verbose=False)\n", + "print(f'[DQN] elapsed {time.time() - t0:.1f}s · final eval = {dqn_result.eval_returns[-1][1]:.3f}')\n", + "\n", + "print('\\nQ_seen / Q_OOD over training (DQN):')\n", + "for step, q in dqn_result.q_seen[::20]:\n", + " q_ood = dict(dqn_result.q_unseen).get(step, float(\"nan\"))\n", + " print(f' step={step:>5d} Q_seen={q:.2f} Q_OOD={q_ood:.2f}')" + ] + }, + { + "cell_type": "markdown", + "id": "md-cell-3", + "metadata": {}, + "source": [ + "## Cell 3 — Q-overestimation:DQN 偏离的可视化\n", + "\n", + "左 / 中:DQN 与 CQL(下一格会跑)的 Q 在数据内 / 数据外 (s,a) 上的均值。右图直接画差值 `Q_OOD − Q_seen`:正数表示模型把没见过的动作估得比见过的更高(textbook 的离线-RL 失败模式)。这里先生成 DQN 的曲线,CQL 在下一格补齐。" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "cell-3", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-27T17:21:09.182555Z", + "iopub.status.busy": "2026-05-27T17:21:09.182345Z", + "iopub.status.idle": "2026-05-27T17:21:09.534838Z", + "shell.execute_reply": "2026-05-27T17:21:09.533672Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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ZWUiJiZGJCYmOrBnzuPQoUMCgFi9erXVvmeffVZ4eXmJjIwMqWzHjh0CgFixYoVUduHCBaFWq8Vzzz0nlZnNZtGjRw/RuHFjYTQaq92mKzEajWL48OFCpVKJ77//vtLjGM+qu3z5slWZXq8XHTt2FF5eXqK4uFgIwZhWR25urvjqq6+s/rVt21Y0bdpUfPXVV+Lo0aNCCCEGDRokwsPDRVFRkVT/gw8+EADEli1bpLLqvMdWtU1Xk5OTY1WWlpYm1Gq1GD58uFTGmLoG5g23x7yh9pg32AdzB3kxb7AP5g3uhXnD7TFvkAdzB/kxb5AX8wb7cLe8gQMidSgpKUmoVCoxffp08d5774muXbsKlUoldu/e7eiuOdQ777wjFixYICZMmCAAiPvvv18sWLBALFiwQBQUFAghhMjIyBDBwcEiOjpa/Oc//xGLFi0SDRo0EHfccYcoKyuzaG/69OkCgBg/frx4//33xZAhQwQAsWHDBovjqtOmq/jnP/8pAIhhw4aJ9evXW/0rx3hW3YgRI0Tfvn3FvHnzxPvvvy8WLFggWrVqJQCIpUuXSscxprXXq1cv0bZtW4uy//u//xMajUZ06NBBrFixQrz88stCq9WKAQMGWNWv6ntsddp0JX369BGDBw8WCxcuFCtXrhRTp04V3t7eIiAgQPzxxx/ScYyp62DeYBvzBvkwb7AP5g51g3lD7TBvcD/MG2xj3iAv5g7yY95QN5g31I675Q0cEKlDpaWlYtq0aaJRo0ZCo9GIzp07i61btzq6Ww4XFRUlANj8d+7cOem433//XQwYMEB4e3uLwMBAMWrUKJGdnW3VnslkEosWLRJRUVHC09NTtG3bVnz00Uc2z13VNl1Fr169Ko3lzQ+EMZ5V88knn4h+/fqJhg0bCpVKJRo0aCD69esnvvnmG6tjGdPasZWgCCHEnj17RNeuXYVWqxWhoaHiueees7gzoFx13mOr2qYrefvtt0VCQoIICgoSKpVKhIeHi8cee0ycOnXK6ljG1DUwb7CNeYN8mDfYB3OHusG8oXaYN7gf5g22MW+QF3MH+TFvqBvMG2rH3fIGhRA3rbJDRERERERERERERETkZrioOhERERERERERERERuT0OiBARERERERERERERkdvjgAgREREREREREREREbk9DogQEREREREREREREZHb44AIERERERERERERERG5PQ6IEBERERERERERERGR2+OACBERERERERERERERuT0OiBARERERERERERERkdvjgAgREREREREREREREbk9DogQEREREREREREREZHb44AIETmEQqHAvHnzpO01a9ZAoVAgPT3dYX0iIiIi58S8gYiIiKqKeQMR3QoHRIio3rh+/TrmzZuHXbt2ydbm5s2bLRItIiIicg/MG4iIiKiqmDcQuQ4OiBCRU3j88cdRWlqKqKgou53j+vXrmD9/vuwJyvz582Vrj4iIiG6PeQMRERFVFfMGIqqIAyJEVGVmsxllZWV2aVupVEKr1UKhUNilfSIiIqpbzBuIiIioqpg3EFFd4YAIUT20a9cu3HXXXdBqtYiOjsZ7772HefPmWSUHCoUCkyZNwoYNG9C2bVtoNBps3boVALBkyRJ07doVwcHB8PLyQqdOnZCSkmJ1Lp1Oh+effx6hoaHw8/PD8OHDcfHiRavjKpvTc8uWLejRowd8fHzg5+eHIUOG4NixYxbHjB07Fr6+vrh06RJGjBgBX19fhIaGYtq0aTCZTACA9PR0hIaGAgDmz58PhUJhNa/ozQwGA+bPn4/Y2FhotVoEBweje/fu2L59u3Ted999V4pV+b9yZrMZb731Ftq2bQutVouGDRvimWeeQX5+vsV5mjVrhqFDh2Lbtm1o3749tFot2rRpgy+//LLSvhEREdUV5g3MG4iIiKqKeQPzBiJnp3J0B4iobqWmpmLQoEEIDw/H/PnzYTKZ8Morr0gf3jf76aef8Nlnn2HSpEkICQlBs2bNAABvv/02hg8fjlGjRkGv1+PTTz9FUlISNm3ahCFDhkj1n3rqKXz00Ud49NFH0bVrV/z0008W+29l/fr1GDNmDAYOHIjFixfj+vXrWLFiBbp3747U1FSpLwBgMpkwcOBAJCYmYsmSJdixYweWLl2K6OhoTJgwAaGhoVixYgUmTJiA++67D/fffz8AoF27dpWef968eXjttdfw1FNPISEhAUVFRTh8+DB+/fVX9O/fH8888wwyMzOxfft2rF+/3qr+M888gzVr1uCJJ57AlClTcO7cOSxbtgypqanYt28f1Gq1dOypU6fw0EMP4dlnn8WYMWOwevVqJCUlYevWrejfv3+V4kVERCQ35g3MG4iIiKqKeQPzBiKXIIioXhk2bJjw9vYWly5dkspOnTolVCqVuPktAYDw8PAQx44ds2rn+vXrFtt6vV7Ex8eLvn37SmVpaWkCgJg4caLFsY8++qgAIObOnSuVrV69WgAQ586dE0IIUVxcLAIDA8XTTz9tUTc7O1sEBARYlI8ZM0YAEK+88orFsR06dBCdOnWStnNzc63Oeyt33nmnGDJkyC2Pee6556ziJoQQe/bsEQDEhg0bLMq3bt1qVR4VFSUAiC+++EIqKywsFOHh4aJDhw5V6isREZE9MG9g3kBERFRVzBuYNxC5Ak6ZRVSPmEwm7NixAyNGjEBERIRUHhMTg3vuucdmnV69eqFNmzZW5V5eXtLP+fn5KCwsRI8ePfDrr79K5Zs3bwYATJkyxaLu1KlTb9vX7du3o6CgAI888giuXLki/VMqlUhMTMTOnTut6jz77LMW2z169MDZs2dve67KBAYG4tixYzh16lS1637++ecICAhA//79LfrfqVMn+Pr6WvU/IiIC9913n7Tt7++P0aNHIzU1FdnZ2TW+BiIioppi3lA9zBuIiKg+Y95QPcwbiByHU2YR1SM5OTkoLS1FTEyM1T5bZQDQvHlzm+WbNm3CwoULkZaWBp1OJ5VXnNPy/Pnz8PDwQHR0tEXdli1b3rav5UlB3759be739/e32NZqtVaP4TZo0MBq/szqeOWVV3DvvfciLi4O8fHxGDRoEB5//PFbPvZa7tSpUygsLERYWJjN/Tk5ORbbMTExVnOqxsXFAfhrPtJGjRrV8CqIiIhqhnlD9TBvICKi+ox5Q/UwbyByHA6IENEtVbwzo9yePXswfPhw9OzZE8uXL0d4eDjUajVWr16Njz/+WJbzms1mAH/N62nrw1mlsnz7UiqVspy3op49e+LMmTP45ptvsG3bNnzwwQd488038d///hdPPfXULeuazWaEhYVhw4YNNvdXNocqERGRK2PewLyBiIioqpg3MG8gcgQOiBDVI2FhYdBqtTh9+rTVPltllfniiy+g1Wrxww8/QKPRSOWrV6+2OC4qKgpmsxlnzpyxuEvjxIkTtz1H+V0eYWFh6NevX5X7dis33xFRFUFBQXjiiSfwxBNPoKSkBD179sS8efOkBKWyNqOjo7Fjxw5069bNZpJ3s9OnT0MIYdHeyZMnAcBiMTciIqK6wryBeQMREVFVMW9g3kDkKriGCFE9olQq0a9fP3z99dfIzMyUyk+fPo0tW7ZUqx2FQgGTySSVpaen4+uvv7Y4rnye0P/85z8W5W+99dZtzzFw4ED4+/tj0aJFMBgMVvtzc3Or3N9y3t7eAICCgoIqHZ+Xl2ex7evri5iYGItHdn18fGy2+eCDD8JkMmHBggVW7RqNRqvjMzMz8dVXX0nbRUVFWLduHdq3b8/HV4mIyCGYNzBvICIiqirmDcwbiFwFnxAhqmfmzZuHbdu2oVu3bpgwYQJMJhOWLVuG+Ph4pKWlVamNIUOG4I033sCgQYPw6KOPIicnB++++y5iYmJw9OhR6bj27dvjkUcewfLly1FYWIiuXbvixx9/rNLdIf7+/lixYgUef/xxdOzYEQ8//DBCQ0ORkZGB77//Ht26dcOyZcuqde1eXl5o06YNNm7ciLi4OAQFBSE+Ph7x8fE2j2/Tpg169+6NTp06ISgoCIcPH0ZKSgomTZokHdOpUycAfy3kNnDgQCiVSjz88MPo1asXnnnmGbz22mtIS0vDgAEDoFarcerUKXz++ed4++23MXLkSKmduLg4jBs3DocOHULDhg3x4Ycf4vLly1Z3wRAREdUl5g3MG4iIiKqKeQPzBiKXIIio3vnxxx9Fhw4dhKenp4iOjhYffPCBeOGFF4RWq7U4DoB47rnnbLaxatUqERsbKzQajWjVqpVYvXq1mDt3rrj5baW0tFRMmTJFBAcHCx8fHzFs2DBx4cIFAUDMnTtXOm716tUCgDh37pxF/Z07d4qBAweKgIAAodVqRXR0tBg7dqw4fPiwdMyYMWOEj4+PVR9t9efnn38WnTp1Ep6enlZ9uNnChQtFQkKCCAwMFF5eXqJVq1bi1VdfFXq9XjrGaDSKyZMni9DQUKFQKKzOt3LlStGpUyfh5eUl/Pz8xB133CFmzJghMjMzpWOioqLEkCFDxA8//CDatWsnxfTzzz+vtG9ERER1hXkD8wYiIqKqYt7AvIHI2SmEEKJOR2CIyCmNGDECx44dw6lTpxzdlXqnWbNmiI+Px6ZNmxzdFSIioiph3uA4zBuIiMjVMG9wHOYNRNa4hghRPVRaWmqxferUKWzevBm9e/d2TIeIiIjIaTFvICIioqpi3kBEzo5riBDVQy1atMDYsWPRokULnD9/HitWrICnpydmzJjh6K4RERGRk2HeQERERFXFvIGInB0HRIjqoUGDBuGTTz5BdnY2NBoNunTpgkWLFiE2NtbRXSMiIiInw7yBiIiIqop5AxE5O64hQkREREREREREREREbo9riBARERERERERERERkdvjgAgREREREREREREREbk9DogQEREREREREREREZHb44AIERERERERERERERG5PQ6IEBERERERERERERGR2+OACBERERERERERERERuT0OiBARERERERERERERkdvjgAgREREREREREREREbk9DogQEREREREREREREZHb44AIERERERERERERERG5vf8PY6/og+nk3tYAAAAASUVORK5CYII=", + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Cell 3 — quick look at DQN's overestimation (CQL added in next cell)\n", + "dqn_only = {'DQN': {'q_seen': dqn_result.q_seen, 'q_unseen': dqn_result.q_unseen}}\n", + "plot_q_overestimation(dqn_only, str(ASSETS / 'q_overestimation_dqn_only.png'),\n", + " title='DQN alone: Q_OOD soon exceeds Q_seen')\n", + "from IPython.display import Image\n", + "Image(str(ASSETS / 'q_overestimation_dqn_only.png'))" + ] + }, + { + "cell_type": "markdown", + "id": "md-cell-4", + "metadata": {}, + "source": [ + "## Cell 4 — 训练 CQL(α 自适应),重画 Q-overestimation\n", + "\n", + "CQL 损失:`L_CQL = L_DQN + α · (logsumexp_a Q(s,a) − E_{a∼D}[Q(s,a)])`。α 用 Lagrangian 自适应:当 `gap > target_gap=5.0` 时增大 α,反之减小。\n", + "\n", + "重画三图,红/绿对比:DQN 的差值翻正了,CQL 的差值始终 ≤ 0。" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "cell-4", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-27T17:21:09.537078Z", + "iopub.status.busy": "2026-05-27T17:21:09.536858Z", + "iopub.status.idle": "2026-05-27T17:21:24.506260Z", + "shell.execute_reply": "2026-05-27T17:21:24.505221Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[CQL] elapsed 14.6s · final eval = 0.851 · final α = 0.626\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABkUAAAHeCAYAAAAl7gxeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAASdAAAEnQB3mYfeAABAABJREFUeJzs3XdYFMf/B/D3dXoHKSJVUBEldgFFsTckimJs2DX2XhIVW+xdozH6FXuPqLHG3nsXKwgKWOi9HXfz+8PfnZx3wIGnoH5ez+OTMDs7Ozt7tzM3szvDYYwxEEIIIYQQQgghhBBCCCGEfOe4ZZ0BQgghhBBCCCGEEEIIIYSQr4EGRQghhBBCCCGEEEIIIYQQ8kOgQRFCCCGEEEIIIYQQQgghhPwQaFCEEEIIIYQQQgghhBBCCCE/BBoUIYQQQgghhBBCCCGEEELID4EGRQghhBBCCCGEEEIIIYQQ8kOgQRFCCCGEEEIIIYQQQgghhPwQaFCEEEIIIYQQQgghhBBCCCE/BBoUIYQQQgghhBBCCCGEEELID4EGRQghhBBCCCGEEEIIIYQQ8kOgQRFCCCGEEEIIIYQQQgghhPwQaFCEEEIIIYSUyLlz58DhcDBjxoyyzkqJ2Nvbw97evqyzoZbyUMYzZswAh8PBuXPnyiwP35ImTZqAw+GUdTbID2rTpk3gcDjYtGlTWWeFEEIIIaTco0ERQgghhHxzbt26hb59+8LR0RHa2towMDBAzZo1MWnSJLx7966ss/fNi4qKAofDQZ8+fco6KyVCndLlU58+fcDhcBAVFVXWWfks38t5lDexsbGYOHEiatasCQMDA2hra8PR0RF9+vTBzZs3i91fVX3g7u6OCRMmIDY2VuU+skHHgv90dHRgZWWFxo0bY8KECbh7966mT/WzlIeBUkIIIYSQ7wW/rDNACCGEEKIuxhgmT56MhQsXgs/no0WLFujSpQvy8vJw5coVLFy4EGvWrMHOnTvRvn37ss7ud6tevXp48uQJzMzMyjorJXL69OmyzoLavtUy/pFt2bIFWVlZZZ2Nb8q+ffsQFBSErKws1K1bF/3794dQKERYWBh27NiBzZs3Y+LEiZg/f77SgGdx9cHixYuxZs0abN68GQEBASqPb2dnJx/8zcvLQ3x8PO7cuYPFixdj8eLF6N69O9atWwc9Pb0vXRSf7eeff0aDBg1gZWVV1lkhhBBCCCn3aFCEEEIIId+M2bNnY+HChbC3t8fhw4fh5uamsP2ff/5Bz5490alTJ1y8eBH169cvo5x+33R0dFClSpWyzkaJOTk5lXUW1PatlvGPrFKlSmWdhW/KmTNn0K1bNwgEAuzdu1dp4CIsLAzt27fHwoULoaenh2nTpilsV7c+6NatG06ePImmTZsq5cHe3l7lmxf37t1D7969sWPHDiQlJeHYsWOff8JfmKGhIQwNDcs6G4QQQggh3wSaPosQQggh34SoqCjMnj0bAoEAhw4dUuoAA4DOnTtj2bJlEIvFGDJkSImPIZVK8ddff6Fu3brQ09ODrq4u6tati7Vr10IqlcrjxcbGgsfj4aeffio0rTZt2oDD4eDRo0cK4devX0dAQAAsLS0hFApha2uLwYMH482bN0ppyKaDysvLw6xZs+Dq6gqRSKQwrVVMTAyGDx8OR0dHiEQimJqaws/PT+W0M+np6Zg9ezaqV68OAwMD6Ovrw8nJCYGBgbh9+zaAD+tIODg4AAA2b96sML2MbK76wqZxkeVXLBZj1qxZcHJygpaWFlxdXbF+/Xp5vL/++gvu7u7Q1tZGxYoVERwcrFC+Mps2bULnzp0VpsXx8vLCtm3bFOLJpvs6f/48ACjkuUmTJvJ4ha0pkpubi/nz58Pd3R06OjowMDBAo0aNsGfPHqW4BacWi4qKQrdu3WBmZgYtLS3UqVMHhw8fVtqnNIor4/z8fMydOxeVK1eGSCSCra0tJk2ahLy8vBIf6/bt22jdujX09fVhYGCA5s2b4+rVq4XGP3DgAHr27AkXFxfo6upCV1cXtWvXxsqVK5WuI4fDwebNmwEADg4O8utS8Drcvn0bo0aNQs2aNWFiYgItLS1UrlwZ48aNQ3JyconOpSR5k8nKysKCBQtQp04d6OvrQ09PD1WrVsXIkSPx/v17tc+jsOnb1L2vFCyzJk2aICEhAYMGDYKVlRVEIhHc3NwQEhKiFJ8xhs2bN8PT0xPm5ubQ0tKCra0tWrVqhd27dxdbZkOGDAGHw8HBgwdVbr9+/To4HI7CoMX79+8xfvx4uLq6QldXF0ZGRnB1dUWfPn3w8uXLYo8plUrx66+/QiKRYPny5Srf5HBzc8OhQ4cgEAgwa9YsvHr1Sr6tJPWBRCLBr7/+Wuj1V8XDwwOnTp2Cubk5jh8/jgMHDqi13/PnzzF58mTUqVMH5ubmEIlEsLOzw6BBgxATE1Pofv/99x86dOgACwsL+fe5Y8eOOHXqFIAPU7fJBnVmzpypcI+TrflT1Joit2/fRufOneXp29nZYejQoXj79q1S3ILTxK1btw7u7u7Q0tJChQoVMGjQIKSmpirt8+DBA/zyyy+wt7eHSCSCubk5atWqhdGjR0MsFqtVdoQQQgghXxO9KUIIIYSQb0JISAjy8/PRtWtXuLu7FxpvwIABmDVrFu7du4dr166hQYMGah+jV69e2LFjB2xtbTFgwABwOByEhoZi6NChuHTpErZv3w4AsLGxQfPmzfHff//h4cOHSvl5+/YtTp48idq1a6N69ery8I0bN2LQoEEQiUTw8/ODra0tXrx4gQ0bNuDff//FtWvXVD5t3rlzZ9y8eRNt2rSBv78/LCwsAAB37txBy5YtkZSUhFatWqFTp05ISEjAgQMH4O3tjdDQULRt2xbAh47T1q1b48qVK2jYsCEGDBgAPp+PmJgYnD17Fo0aNULt2rXRpEkTpKSkYMWKFahZsyb8/f3l+fDw8FCrHLt164br16+jbdu2EAgE2LdvHwYNGgSBQIAHDx5g8+bNaN++PZo1a4ZDhw5h1qxZ0NHRwaRJkxTS+fXXX+Hm5obGjRvDysoKiYmJOHr0KHr16oVnz55h9uzZAAAjIyMEBwdj06ZNePXqFYKDg+VpFLewel5eHlq1aoXz58+jSpUqGDZsGLKysrBv3z4EBgbi3r17mDt3rtJ+r169Qr169eDo6IhevXohKSkJu3fvlndkfvpUur29PV69eoXIyEiNLPbevXt3XLx4EW3atIGBgQGOHj2KhQsXIi4uTmXHeWGuXLmC5s2bIy8vD506dYKzszPu3buHJk2awNfXV+U+kydPBpfLRf369WFjY4PU1FScOXMGo0aNws2bN7F161Z53ODgYBw4cAD379/HqFGjYGRkBADy/wLA+vXrERoaCh8fHzRv3hxSqRS3b9/G0qVLcezYMVy/fh36+vpqnU9J8gYAycnJaNq0Ke7fvw9XV1f069cPQqEQERERCAkJQadOnVChQgW1zqMw6t5XCkpJSYGXlxeEQiECAgKQm5uLvXv3ol+/fuByuQgKCpLH/f333zFv3jw4ODiga9euMDQ0xNu3b3Hz5k3s3bsXgYGBReYvKCgI69atw5YtW9CxY0el7bLBINlgbFZWFry8vBAREYEWLVqgQ4cOYIzh1atXOHjwIAICAuDo6FjkMc+fP4/nz5/D2toaAwYMKDSeu7s7/P39sXfvXmzcuBEzZ84EUPL64NmzZzh//rzKt0UKY2FhgcGDB2POnDnYvn27wr2wMPv378dff/2Fpk2bwtPTUz4VmOwef+vWLdjY2CjsExwcjFmzZkFPTw/+/v6wtbXFmzdvcOXKFWzbtg3NmzeXH3vz5s3w8fFRGuwtyuHDh9G5c2cwxhAQEAA7Ozvcvn0ba9euxcGDB3Hp0iX5QHhBEydOxIkTJ9ChQwe0bNkSZ8+exfr16xEeHo4zZ87I4z148AD169cHh8OBn58fHBwckJaWhvDwcKxZswZz5syBQCAotuwIIYQQQr4qRgghhBDyDfD19WUA2N9//11s3O7duzMAbMGCBWqnv2PHDgaA/fTTTyw9PV0enpGRwWrXrs0AsO3btyvFHzdunFJaCxcuZADYypUr5WHPnj1jAoGAOTk5sZiYGIX4p06dYlwul/n7+yuE+/j4MADM3d2dxcfHK2wTi8XMycmJiUQidu7cOYVtsbGxzNramllaWrKcnBzGGGMPHjxgAJSOwRhjEomEJSUlyf+OjIxkAFhQUJDKsjp79iwDwIKDg1Xmt06dOiw5OVkeHhERwQQCATMyMmL29vYK55+cnMxMTU2ZmZkZE4vFCumFh4crHTs3N5f5+voyPp+vVI6y4xfGzs6O2dnZKYTNnTuXAWBt2rRROP779++ZnZ0dA8AuX74sD5eVDQA2Y8YMhbSOHz8uT0vVsQGwyMjIQvNXUHFlXKtWLZaYmCgPz8jIYE5OTozL5bK3b9+qdQypVMpcXV0ZAHbgwAGFbcuXL5ef59mzZxW2qbouEomE9e7dmwFg165dU9gWFBRU5LlHRUWx/Px8pfANGzYwAGz+/PlqnU9p8vbLL78wAGzIkCFMIpEobEtPT2cpKSlqn4eqz19J7yuMMXm59+/fX6FcwsLCGI/HY1WrVlWIb2JiwmxsbFhmZqZSnj69bxTGxcWFCYVChc8UY4zl5OQwY2NjZmFhIf9+HDp0iAFgo0ePVkonNzeXpaWlFXu8WbNmMQCse/fuxcb9+++/GQDWrFkzeVhp6oPZs2fLw2TfLx8fnyL3PXXqFAPAKlWqVOxxGGMsJiZGfs8t6MSJE4zL5bIhQ4YohQNgDg4OSvczxhiLjo5WyvOn9wSZkJAQBoCFhITIw9LT05mJiQnjcrnswoULCvHnz5/PALAWLVoohMs+57a2tuzVq1fycLFYzBo1asQAsOvXr8vDx44dq/IewhhjSUlJSt8rQgghhJDygKbPIoQQQsg3QTbNh62tbbFxZXGKmq7kUxs3bgQAzJ8/X2FRXV1dXSxYsAAAsGHDBnm4v78/DA0NsX37dkgkEoW0Nm/eDIFAgF9++UUetnbtWojFYqxYsULpSeFmzZrBz88P//77L9LT05XyNnv2bKUFt48cOYKIiAiMGDECPj4+Ctusra0xceJEvHv3TmlxcW1tbaX0uVwujI2NlQullObPn6/wBL2joyO8vb2RkpKCadOmKZy/kZEROnTogISEBMTGxiqko2oNEKFQiGHDhiE/P18jC6dv3LgRHA4HS5cuBZ//8SVqCwsL+RoGBa+7jJ2dHaZOnaoQ1qpVK1SqVAk3btxQin/69Gk8efJE6dqX1oIFC2BiYiL/W1dXFz169IBUKsWtW7fUSuPKlSt49uwZGjdurPSGwPDhwwtdg0VVOJfLxahRowAAJ06cUPc0AHwoSx6PpxTer18/GBgYlCi9kuQtLi4Ou3fvhpWVFRYvXgwuV/GnkZ6e3mev0VDS+4qMjo4Oli5dqlAu1apVg5eXF548eYKMjAyF+AKBQGUZfnrfKExQUBDy8vKwc+dOhfB///0XycnJ6NGjh8L3A1B9LxEKhWq91VOa+3nBKQY/d391yb6v8fHxascXiURK4S1btoSbm5vSZ3nVqlUAgCVLlqi8N1SsWLGkWVZw8OBBJCUlITAwEI0aNVLYNm7cONjb2+PkyZN4/fq10r7Tp09XeHORz+ejb9++AKDyHqfq82BsbKz0vSKEEEIIKQ9o+ixCCCGEfLdycnLk/79p0yZERUUpbG/SpIl8GpI7d+6Ay+UqTEsi4+PjAx6Ph7t378rDtLW10bVrV6xfvx4nTpyQT1N1+/ZthIWF4eeff1bokJSt0XD+/HmV633ExcVBIpHg+fPnqF27tsK2evXqKcWXpffq1SuVCwW/ePECAPDkyRO0bdsW1apVg4eHB3bu3IlXr16hY8eO8Pb2Rp06dSAUCpX2/xx16tRRCrO2tgYApXMDPnY8xsTEwM7OTh7++vVrLFiwAKdPn8br16+RnZ2tsN+ngygllZ6ejvDwcNjY2Khc1Fw2fVTB6y7j4eGhshPa1tZW5Xocml7kXVUZyzp/C67DsXz5cqSkpCjE8/f3h4eHB+7cuQMASoNqAMDj8eDt7Y2IiAilbYmJiVi0aBGOHj2Kly9fIjMzU2F7Sa+LWCzGunXrsGvXLjx+/BipqalKa/ioqyR5u3nzJqRSKRo3bgxdXd0S5VldJb2vyFSuXBkGBgZK4QWvsWyQpUePHli1ahWqVauGrl27wsfHBw0bNizRgE7v3r0xbdo0bN68GcOGDZOHfzp1lizfNjY2mD9/Pu7cuYO2bdvCy8ur0O/Et4wxBgAq14opLP727duxadMm3L9/H8nJyQqD5p/ea69duwYOh4PWrVtrLtMFyL7jqqbC4/P5aNy4MaKionD37l2lqRvVvccEBgZixYoV8Pf3R0BAAJo3bw4vLy+N3/MIIYQQQjSJBkUIIYQQ8k2wtLTEkydPEB0dXWxcWRxzc3N52KZNm+QLcRck66xMTU2FiYmJygECPp8PMzMzxMXFKYT36dMH69evx+bNm+WDIrJOxIJz/gMfOmsBYNGiRUXm/dMnwIEP5/4pWXp79+5VKz0ej4czZ85g1qxZ2Ldvn3z9Dn19fQQFBWHevHkKT7J/DlWdsbKnzIvaVnBB3pcvX6JevXpITk5Go0aN0LJlSxgaGoLH4yEqKgqbN29Gbm7uZ+VTtmCwlZWVyu2y8E8HFYDC15Lg8/klWtC5tFQdX1aOBTthly9frrBANfBhDQIPDw/5+VeoUEHlMVR97lJSUlC3bl1ERkaiXr166N27N0xMTMDn8+Vr0ZT0ugQGBiI0NBSOjo7o2LEjLC0t5U/bL1++XO30Spo32XXV1Ns7qpTmvgIU/fkCFK/xsmXL4OjoiJCQEMyfPx/z588Hn89H27ZtsWTJEjg7Oxebz4oVK6JZs2Y4efIknjx5gqpVqyIuLg7Hjx+Hh4cHatSoIY9rYGCAa9euITg4GIcOHZK//WBmZoahQ4di6tSpxa4hIftsleR+LhtYle1f0vqg4P7qkr1dUrAuKcrYsWOxfPlyWFlZoVWrVrCxsZG/QSFb86iglJQUGBsbq3zLQhM0fY9T9fmrV68eLl68iD/++AP79u2Tr9vj6uqK4OBghTcmCSGEEELKCxoUIYQQQsg3wdvbG2fPnsWpU6cwcODAQuNJJBKcO3cOgOJbCbKwwhgaGiIpKQlisVipQy8/Px8JCQlKT257enqicuXKOHToEFJSUqCrq4udO3fCzMxMPkhSMH3gQyeVqifAi6LqKWVZegcPHoSfn59a6RgbG2PZsmVYtmwZwsPDcf78eaxbtw6rV69GSkqK0iLUZWnp0qVITExESEiIwlPqALBz50754NPnkJXhu3fvVG6XTdHzuVMolaVP344qSHZe79+/V7ldVbls2LABkZGRCA4OVnpD6erVq1ixYkWJ8nfr1i2EhoaiefPmOHbsmMIUTVKpFAsXLlQ7rZLmTdbp+7lvHBWlNPeVkuLxeBg9ejRGjx6NuLg4XLp0Cbt27cLevXsRFhaGsLAwlVM6fSooKAgnT57E5s2bMX/+fGzfvh35+flKA7zAh0GU//3vf2CM4fHjxzhz5gz+/PNPzJo1C1KpFLNnzy7yWN7e3gA+3JclEkmRb5icOnUKAODl5aWwf0nrg4L7q+vs2bMAgPr16xcbNy4uDitXrkT16tVx5coVpWnEPp2aDPjwGUxMTER2dvYXGRj5Wve4hg0b4vDhw8jNzcXt27dx/PhxrFq1Ct27d4e5uTmaN2/+WekTQgghhGgaTfBJCCGEkG9C3759wefzERoairCwsELjbdy4EW/evIGJiUmJpiT56aefIJVKceHCBaVtFy5cgEQiQa1atZS2BQUFIScnB7t378aRI0eQkJCA7t27K3WANmjQAABw8eJFtfNUlM9Nz9nZGf3798f58+ehp6eHgwcPyrfJOig/XSvlawoPDwcAdO7cWWmbqjd+gJLnW19fH05OToiNjZVPN1aQrENU1XX/HsjOS1V5SiQSXLp0SSlc09dFlp6fn5/SmhU3btxQmjKtKCXNW7169cDlcnHhwgWlabZUKc33orT3ldKysLBAp06dsGfPHvj6+iIiIgKPHj1Sa99OnTrBwMAA27Ztg1QqxebNm8Hn89G9e/dC9+FwOHBzc8OIESNw8uRJAMCBAweKPZaPjw+cnZ3x5s0b+borqoSFhSE0NBR8Ph/9+vWTh/fp0wc8Hk/t+sDV1VXlNHFFiYuLw7p16wB8mKKsOC9fvoRUKkXLli2VBkRiYmLw8uVLpX0aNGgAxhiOHz9ebPql/fwBqh8KyM/Pl9cfmvoMikQieHp6YtasWVi5ciUAKNQthBBCCCHlBQ2KEEIIIeSb4ODggKlTp0IsFsPPzw+PHz9WinPgwAH5gsoLFiyAjo6O2unLOtymTJmCrKwseXhWVhYmT54MAOjfv7/Sfr179waXy8WWLVuwZcsWAFB6swH4sHC1QCDAmDFj8Pz5c6XteXl5JRrg6NixI5ycnPDnn3/i6NGjKuNcvXpVfi6RkZEqO+WSk5ORm5ur8JSysbExOByOysV3vxZ7e3sAyp15J06cULkwNQCYmpoCQIny3a9fPzDGMGHCBIXOxoSEBPnT7gU7Y0srIiICT58+VZgirKx5enrC1dUVFy5cUOq4XL16tcr1RAq7Lnfv3sW8efNUHqeo61JYenFxcQprW6ijpHkzNzdHt27d8PbtW4wfP15p2rOMjAz59EPFnUdhSntfUVdubi4uX76sFC4Wi5GUlAQAat8HZeskxcbGYtmyZbh//z7atm0LCwsLhXhhYWEq3y6ShalzPB6PhzVr1oDL5WLUqFEIDQ1VivPkyRP4+flBLBZj2rRpCusNOTo64rffflOrPuDxeFi7dm2JFvy+f/8+WrRogYSEBLRt21att/Fkn79Lly4p3EsyMjIwcOBA5OfnK+0zYsQIAB8WPVf1xlLBsNJ8/vz9/WFiYoKdO3fi2rVrCtuWL1+OyMhING/eXGk9kZK4cuWKysHLknweCCGEEEK+Npo+ixBCCCHfjOnTpyMzMxOLFi1CzZo10apVK7i5uUEsFuPKlSu4fv06AGDixIkYMGBAidLu3r07Dh48iD179sDNzQ3+/v7gcDg4cOAAIiMjERgYqPJpYVtbWzRt2hSnT58Gn8+Hu7u7/OncgqpUqYKNGzeiX79+cHNzQ+vWreHi4gKxWIzXr1/j4sWLMDc3x9OnT9XKr0AgwP79+9GqVSu0a9cOnp6e8PDwgI6ODqKjo3Hz5k28fPkSb9++hY6ODu7fv49OnTqhbt26qFq1KqytrREfH4+DBw9CLBbL1xgBAD09PdSvXx8XL15Ejx494OLiAh6PBz8/P4W1Bb6koUOHIiQkBF26dEFAQACsra3x6NEjHD9+HF27dsXu3buV9mnWrBn27t2LTp06oW3bttDW1oadnR169epV6HHGjx+PY8eO4eDBg6hZsybatm2LrKws7N27F3FxcZg4caJ8qp/P0axZM7x69QqRkZHyztOyxuFw8L///Q8tWrRA586d0alTJzg7O+PevXs4ffo0WrdurfQEe+/evbFo0SKMHj0aZ8+eReXKlfHixQscPnwYnTp1KvS6LFq0CAMHDkTnzp2hr68PIyMjDB8+HHXr1oWXlxf2798PT09PeHt74/379zh27BhcXV1LtA5EafK2evVqPHr0CH/99RfOnTuHVq1aQSgUIjIyEidOnMChQ4fk6w4VdR6FKe19RV3Z2dnw9vaGs7MzateuDTs7O+Tk5MjXBvHz80PVqlXVTi8oKAgbNmzAlClT5H9/6uTJk5gwYQIaNmwIFxcXWFhYICYmBgcPHgSXy8WECRPUOlaLFi2wfft29OvXD506dUK9evXg5eUFoVCIsLAwnDhxAmKxGBMmTMC0adOU9p8xYwYyMzOxdOnSQusDbW1t7Ny5E02bNlWZh6ioKPlUa2KxGAkJCbh9+zZu374NAOjZsyf++usvtc7H0tIS3bp1w65du+Dh4YGWLVsiNTUVJ0+ehJaWFjw8PHDv3j2FfVq2bImpU6dizpw5qFq1Kvz9/WFra4v379/j0qVLaNCgATZt2gTgwxodNjY22LVrFwQCAezs7MDhcNCrVy+FAaOC9PT0sHHjRnTp0gU+Pj7o0qULKlWqhNu3b+O///6DpaWl/G2Y0lq4cCHOnDmDRo0awcHBAXp6eggLC8OxY8dgbGyMQYMGfVb6hBBCCCFfBCOEEEII+cbcuHGDBQUFMXt7eyYSiRgABoBZWVmxkydPljpdiUTC/vzzT1a7dm2mra3NtLW1Wa1atdjq1auZRCIpdL+tW7fK87B48eIij/HgwQMWFBTEKlWqxIRCITM2NmZubm5s0KBB7PTp0wpxfXx8WHHNtffv37NJkyYxNzc3pq2tzXR1dZmzszPr3Lkz27p1KxOLxYwxxqKjo9mUKVOYp6cnq1ChAhMKhczGxoa1bt2aHT16VCndFy9esPbt2zMTExPG4XAYABYSEsIYY+zs2bMMAAsODlY7v0FBQQwAi4yMVNoWHBzMALCzZ88qhF++fJk1bdqUGRkZMT09Pebl5cVCQ0MLPX5+fj6bMmUKc3BwYHw+nwFgPj4+8u12dnbMzs5O6fjZ2dnsjz/+YG5ubkxLS0t+rB07dijFjYyMZABYUFCQyvMsrAzs7OwKPX9VSlPGISEhCtdJXbdu3WKtWrVienp6TE9PjzVr1oxduXKl0OsSFhbGOnTowMzNzZmOjg6rVasWW79+fZFls2TJElalShUmFAoZAIXrkJiYyH799VdmZ2fHRCIRc3R0ZFOmTGGZmZmFXrPClCZvGRkZbM6cOczd3Z1pa2szPT09VrVqVTZq1Cj2/v17tc+jsGtT0vvKp5/bgj79HuXl5bEFCxaw1q1bM1tbWyYSiZiZmRmrX78+W7t2LcvNzVW77GScnZ0ZAGZiYqJy/8ePH7MxY8aw2rVrMzMzMyYUCpmdnR3r3Lkzu3z5comPFx0dzcaPH8+qV6/O9PT0mEgkYnZ2dqx3797s+vXrxe5//fp11rt3b2Zvb8+0tLSYrq4uc3NzY+PGjWPR0dEq95F9vwr+09LSYpaWlqxRo0Zs/Pjx7O7duyU+l8zMTPbbb78xJycnJhKJWMWKFdnQoUNZQkJCkd/dI0eOsFatWjFjY2MmFApZxYoVmb+/v1KdcOPGDebr68sMDAzk92XZ97Oo7/+NGzeYv78/MzMzYwKBgNna2rIhQ4aw2NhYpbhF3atV3ZdOnDjB+vTpw6pWrcoMDAyYjo4Oc3FxYSNGjGBRUVFqlx0hhBBCyNfEYYyxLzvsQgghhBDyZaWnp8Pb2xuPHz/G3r174e/vX9ZZIoQQQgghhBBCSDlEgyKEEEII+S5ER0ejfv36SExMxMGDB0u0yDohhBBCCCGEEEJ+DDQoQgghhJDvxv379xEaGgodHR2MHj0aQqGwrLNECCGEEEIIIYSQcoQGRQghhBBCCCGEEEIIIYQQ8kPglnUGCCGEEEIIIYQQQgghhBBCvgYaFCGEEEIIIYQQQgghhBBCyA+BBkUIIYQQQgghhBBCCCGEEPJDoEERQgghhBBCCCGEEEIIIYT8EGhQhBBCCCGEEEIIIYQQQgghPwQaFCGEEEIIIYQQQgghhBBCyA+BBkUIIYQQQgghhBBCCCGEEPJDoEERQgghhBBCCCGEEEIIIYT8EGhQhBBCCCGEEEIIIYQQQgghPwQaFCGEEEIIIYQQQgghhBBCyA+BBkUIIYQQQgghhBBCCCGEEPJDoEERQgghhBBCCCGEEEIIIYT8EGhQhBBCCCGEEEIIIYQQQgghPwQaFCGEEEIIIYQQQgghhBBCyA+BBkUIIYQQQgghhBBCCCGEEPJDoEERQgghhBBCCCGEEEIIIYT8EGhQhBBCCCGEEEIIIYQQQgghPwQaFCGEEEIIIYQQQgghhBBCyA+BBkUIIYQQQgghhBBCCCGEEPJDoEERQgghhBBCCCGEEEIIIYT8EGhQhBBCCCGEEEIIIYQQQgghPwQaFCGEEEIIIYQQQgghhBBCyA+BBkUIIYQQQgghhBBCCCGEEPJDoEERQgghhBBCCCGEEEIIIYT8EGhQhBBCCCGEEEIIIYQQQgghPwQaFCGEEEIIIYQQQgghhBBCyA+BBkUIIYQQQgghhBBCCCGEEPJDoEERQgghhBBCCCGEEEIIIYT8EGhQhBBCCCGEEEIIIYQQQgghPwQaFCGEEEIIIYQQQgghhBBCyA+BBkUIIYQQQgghhBBCCCGEEPJDoEERQshXkZeXh8qVK6Nt27ZlnRUsXboUAoEAT58+LeuslFqfPn3A4XAQFRVV1lkhhBBClFC9/23777//4OnpCSMjI3A4HPj7+5c6raioKHA4HPTp00dj+SOEkO/Jt/jb7ty5c+BwOJgxY0ZZZ4UQQkqFBkVIucXhcMDhcMDlchEREVFovKZNm8rjbtq06etl8AuKjY3FxIkTUbNmTRgYGEBbWxtOTk7o168f7t69W9bZK5WVK1ciPDwcc+bMKeus4Ndff4W5uTnGjx9fov1kP+rt7e1VhnM4HNSvX7/Q/TkcDipWrFiaLH8xTZo0AYfDKetsqOVbyishpOSo3qd6/0spbb1f0KlTpxAYGIhKlSpBS0sLRkZGqFu3LmbOnInk5GSV+8g6uYr6nM6YMUOhU0lW16n770sMNERFRaFjx46IjIxEv379EBwcjG7dumn8OCX1LXXAfUt5JeRLuHXrFvr27QtHR0doa2vDwMAA7u7umDBhAmJjY8s6e1+d7F5/7ty5ss6K2mhAu3xgjGHfvn3o2LEjrK2tIRQKYWpqisaNG2PFihXIycnRyHHy8/Pxv//9Dy1btoSFhQWEQiEsLCzQokULbNiwAfn5+UXun5ycjFmzZqFevXowNjaGSCSCra0tunbtipMnTxa6n729vUK7RiAQwNTUFO7u7ujVqxf27t2LvLw8jZyjpqm6z9WsWROTJk3Cu3fvyjp7RA38ss4AIUXh8/nym/PcuXOVtr948QLnzp2Tx/se7Nu3D0FBQcjKykLdunXRv39/CIVChIWFYdu2bdi0aROmT5/+Tf3IyszMxB9//IEWLVqgVq1aZZ0daGtrY/To0Zg0aRKuXLkCT09PjaV948YN7Nq1q1x0HhBCyLeG6n2q97+Ez6n3c3NzMWDAAGzbtg3a2tpo06YNXFxckJGRgTNnzmDGjBlYvXo1/vnnHzRu3Piz89qnTx80adJEIezAgQO4f/8+OnbsCA8PD4Vtn/6tCadOnUJOTg6WLFmC7t27azx9Qsj3izGGyZMnY+HCheDz+WjRogW6dOmCvLw8XLlyBYsXL8aaNWuwefNmBAQElHV2y4158+Zh8uTJsLGxKeusqK1evXp48uQJzMzMyjor362UlBT5oIKhoSHatm0Le3t7JCUl4cSJExg9ejT+/PNPHDlyBJUrVy71cWJiYuDn54e7d++iQoUKaNeuHaysrPDu3TscO3YMp06dwpo1a3Do0CGVD3leuHABnTt3RkJCAqpWrYoePXpAX18fL168wJEjR7B371707NkTGzZsgEgkUpmHUaNGwcjICFKpFGlpaXj27BlCQ0Oxbds2VK5cGdu2bUO9evVKfY6aVNx9buHChVizZg127tyJ9u3bl3V2SVEYIeUUAGZjY8Pq1KnDLC0tmVgsVoozceJEBoD9/PPPDAALCQn5+hnVoNOnTzMej8e0tLTY3r17lbY/evSI2dvbMwBsyZIlZZDD0vn7778ZALZ9+/ayzopcbGws43K5rEePHmrvExkZyQAwOzs7leGVKlViAoGAOTg4sNzcXKX9ZZ9pTQgKCmIAWGRk5Gel4+Pjw76VquBbyishpOSo3qd6/0sqTb3PGGN9+/ZlAFitWrXY69evFbZJpVK2atUqxuVymZ6eHnv8+LHCdlldXdTnNDg4mAFgwcHBhcZRJx1NmjlzJgPAzp49q5H0ZO2koKCgz0rn7NmzxZZVefEt5ZUQTZLdP+zt7dmjR4+Utu/bt49paWkxHo/Hzpw5UwY5LBuye72m7qtfg6bu3aR0JBIJa968OQPAWrVqxRISEhS2i8ViNmXKFHn/RFJSUqmOk5mZyapXry6/1pmZmUrbZe0Qd3d3pe1hYWFMV1eXcblctmrVKiaVShW2v379mtWqVYsBYP369VM6vp2dXaH9GikpKWzEiBEMADM0NGRPnjwp1Tlqmrr3OYFAwK5du1YGOSTqot4lUm7JOkfWrVvHALDQ0FCF7Xl5eczCwoJ5enqy33//vdAfi4mJiWzy5MmsSpUqTEtLixkYGDBfX1924sQJpbgpKSls4cKFrGnTpszGxoYJBAJmZmbGOnTowK5cuVJoPn18fFh8fDwbOHAgs7S0ZEKhkFWrVo1t3LhR7fOVSCTMxcWFAWB//fVXofEePHjABAIBE4lE7O3bt2qn//z5c9arVy9mbW3NBAIBs7KyYr169WLPnz9Xiluw0bZ3715Wt25dpq2tzYyNjVlgYCCLiYlR+7iMMVa/fn0mFAqVKlDGGEtLS2OzZs1ibm5uTF9fn+np6TFHR0fWtWtXduvWLbXSv3XrFhs5ciSrUaMGMzY2ZiKRiDk7O7OxY8cW2Tho0qQJE4lELDU1Va3jFDco4uXlxUaNGsUAsMWLFyvtX5pBkZMnTzJvb2+mo6PDjI2NWceOHdmTJ08KHRQJCQlhnTp1Yg4ODkxLS4vp6+szT09PtnXrVpV5VvXPx8dHHu/MmTNs4MCBrGrVqkxfX59paWkxNzc3NmPGDJadna2U35Jez2vXrrHOnTuzChUqMIFAwCpWrMgGDRrEYmNjS5xXQsi3jep91ajeV/a16v2LFy8yAMzY2Ji9efOm0HiTJk1iAFjz5s0VwsvToMju3btZo0aNmIGBAdPS0mLVq1dnc+fOZTk5OfI4so58Vf/U6chLS0tjY8aMYTY2NkwkEjFXV1e2ZMkSFhERobJj7dmzZ2zSpEmsdu3azMzMjAmFQlapUiU2cOBAFh0drbIMispbab7PFy5cYO3bt2c2NjZMKBSyChUqsPr167MZM2Yoxc3MzGRz585lNWvWZDo6OkxXV5c1aNCA7dixo8R5JeR7FBkZyfh8PhMIBOzBgweFxlu7di0DwFxdXZlEImGMMTZv3jwGgC1fvlzlPrGxsYzH47HatWsrhIvFYvbnn3+y+vXrM319faatrc08PDzYqlWr5GkXzJ/sXvTs2TPWtWtXZm5uzjgcjsJ38/jx46xNmzbM1NSUCYVC5ujoyMaPH8+Sk5OV8nX//n3WrVs3Zmdnx4RCITMzM2M//fQTGzVqFMvLy2OMfez0VfVPRtVvu4L5DQ8PZ507d2YmJiZMT0+PtWjRgj18+JAxxlhcXJy8PSISiVidOnVUDjjFxsaymTNnMk9PT/lvLysrK/bLL7+wsLAwhbiyuknVP1ldVNTgb1m2QVJSUtioUaO+SF306XlfuXKFNWvWjBkYGDA9PT3WsmVLdvPmzRLltzBbt25lAJiTk5PK9pRMYGAgA8BGjRpVquPMnj2bAWCenp5K3xkZiUTCPD09GQA2Z84chW3NmjVjANjkyZMLPcabN2+YsbExA8AuX76ssK2oQRGZ3r17MwCsY8eOap/Xl1LS+5yHh0epjiOVStmmTZtYw4YNmZmZGROJRKxixYqsZcuWbNeuXUrxo6Oj2bBhw5iDgwMTCoXMxMSEdejQgd24cUNl+qW9d0ZGRrLAwEBmamrKRCIRq127Nvv3339LdY7lAQ2KkHJL1jmSlpbGdHV1Wbt27RS279u3T14pF9Y5EhUVJX/CslGjRmz06NFs4MCBzMrKinE4HPb3338rxL969SoTCASsWbNmbNCgQWzSpEnsl19+Ybq6uozP57Njx46pzGfNmjWZi4sLq169Ohs+fDgbOHAgMzIyYgDYpk2b1DrfM2fOMADM2tqa5efnFxm3S5cuDACbN2+eWmnfuHGDGRgYMA6Hwzp27MimTJnCfv75Z8bhcJiBgYHSjVLWMOnSpQsTiUSsS5cubPz48axRo0YMAKtSpYrCj+iipKSkMB6Pxxo0aKC0TSqVyivXhg0bsjFjxrAJEyawX375hVlaWrJVq1apdYzBgwczCwsL1qVLFzZ27Fg2evRoeV6rVq3K0tLSVO4n+9yoexNXZ1AkMTGRGRkZMWNjY5aYmKgQr6SDInv37mVcLpdpaWmxoKAgNnnyZObt7c2MjIxY48aNVTYetLS0WO3ateXxBw4cyGxsbBgANnXqVHm85ORkFhwcLG+EBAcHy/8V/B61atWK2dnZsV9++YWNHz+eDR8+nP30008MAGvSpInCZ7Wk1/N///sf4/F4TEdHh3Xr1o1NmDCB+fv7My6Xy6ysrNirV69KlFdCyLeN6v3CUb2v6GvV+7If4RMnTiwyXlJSEhOJRAwAe/nypTy8vAyKyJ4kNTMzY0OGDGHjx49nbm5u8gE+2dutkZGRLDg4WP5mZlBQkLy+Le7N1JycHFa3bl3592PixIls0KBBzMjIiPn5+ansiJo3bx4zNDRk/v7+bMSIEWzcuHGsdevWjMPhMEtLS4WOsNDQUHk5+Pj4KLQFZHkr6ff52LFjjMvlMiMjI9a7d282ZcoUNnjwYNa4cWNmYWGhEDc5OVne/qlVqxYbPnw4Gzp0KHNycmIA2O+//16ivBLyPZo+fToDwLp27VpkPLFYzKysrBgAeed9TEwM43K5rFatWir3WbBgAQOgUE/k5eWxVq1ayQdYBg8ezEaNGsVq1KjBALCePXsqpCH7zSb7PVWvXj02evRoNnjwYHb79m3GGGMzZsxgAJiJiQnr3bs3Gz9+PGvZsiUDwKpVq6YwqH7//n2mpaXFtLW1WWBgIJs8eTIbOnQoa9myJRMIBCw9PZ0xxtiyZctU3lcL3veLGhTx8fFhpqamzNvbm40dO5Z16tSJcTgcZmpqyp4/f84cHR2Zh4cHGzVqFOvVq5f8QQrZbymZnTt3Mm1tbda2bVs2dOhQNnHiRPbzzz8zgUDAdHV12b179+Rxz549K3/Yr2bNmgp5vnv3rjyOqvqrLNsg2dnZ8rcSfvrpJzZx4kQ2ePBgZmJiwvz9/T+7Lip43q1bt2ZCoZC1bduWTZkyhXXp0kX+9u+FCxeU8vbpQFhxZL/316xZU2S8sLAwBoDp6enJB+JKolKlSgwAO3r0aJHxjhw5woAPs2PIvHz5kgFgIpGo2DdVJkyYwACw3r17K4SrMygSHh7OADAej6f2gy1fSmnuc1evXi3xcWRtNwcHBzZ06FA2ZcoU1qdPH+bm5sY6d+6sEPf27dvM1NSUcTgc1rp1azZu3DgWFBTEDA0NmVAoZEeOHFGIX9p7Z5MmTZi5uTmrX78+Gz16NOvduzcTiUSMy+V+s2/+0aAIKbcKdiD379+f8Xg8hZH6Vq1aMQMDA5aZmVlo54iPjw/jcDhs586dCuHJycmsZs2aTEtLi717904enpKSwuLj45XyEh0dzaysrFiVKlVU5hMA69+/v0KnRlhYGOPxeKxq1apqne+sWbMYANa9e/di48qmpWjTpk2xcaVSKatSpQoDwLZt26awbdeuXUpP6TD2sWGir6+vNPr9yy+/MABs9+7dap3XsWPHGAA2fPhwpW0PHjxgAJi/v7/SNolEovYroFFRUSo7lDZs2MAAsPnz56vc78CBAwwAmzBhglrHUWdQhDHGFi1axACwMWPGKMQryaBIeno6MzExYXw+X+lpk9GjR8s/d582HsLDw5XSys3NZb6+vozP5ys16oqbkioiIkLpFVjGGJs6dSoDoPCUQkmu57Nnz5hAIGBOTk5KeTp16hTjcrlK6dD0WYR836jeLxzV+4q+Vr3v6OjIALD//vuv2LiywZ6Cb2aWh0GRK1euMADM1tZW4U0jsVjM2rdvzwCwP/74Q2WeSvJWwx9//MEAsE6dOil8tl6+fCl/OvTTjqiYmBiVHV0nTpxgXC6XDRkyRCG8uCmpSvp97tSpEwOg0BEo82k6smuwYMEChfDs7GzWqlUrxuFw5B2F6uSVkO+Rr68vA6D0AIIq3bt3ZwDY7Nmz5WGywQfZGxAFVatWjQmFQoUphGT3quHDhyvUCfn5+axfv34MADtw4IA8vODb51OmTFE6huxhhYYNGyq9FRISEsIAsNGjR8vDxo4dq3QMmaSkJJX1bGH31aIGRQDlp/NlbQhjY2M2ePBghWNt2bJFKa+MMfb+/XuVDw3cu3eP6erqstatWyuEFzd9lqr7XFm3QWTl0q1bN4XfsK9fv2ZmZmYarYs+HaRj7GM7w9nZWelp+5IMiojFYiYUChkAlW/XfMra2poBYNevX1crfZnXr18zAIzP57OsrKwi42ZlZTE+n88AyNvnss+ap6dnscf677//GPDhzZeC1BkUYYyxihUrKgyklpXS3Oc+bTuow8TEhNnY2Kh8S6hgG0UsFjMnJycmEonYuXPnFOLFxsYya2trZmlpqfAZ/5x756dv0h4/flzt3yjlEReEfAMGDhwIiUSCjRs3AgBevXqFkydPokePHtDR0VG5z/3793H+/Hl07txZadFrIyMjzJw5Ezk5Ofjnn3/k4YaGhioXCqtYsSICAgLw9OlTvH79Wmm7jo4Oli5dCh6PJw+rVq0avLy88OTJE2RkZBR7jm/fvgUA2NraFhtXFicmJqbYuFeuXMHTp0/RsGFD9OjRQ2FbYGAgvL298ezZM1y6dElp35EjR8Ld3V0hbODAgQA+LCiuDll5WVlZFRpHW1tbKYzL5cLY2FitY9jZ2SmUvUy/fv1gYGCAEydOqNzP0tJSIY+aMmLECNjb2+PPP//Ey5cvS5XGwYMHkZSUhO7du6NOnToK22bMmAFDQ0OV+zk5OSmFCYVCDBs2DPn5+Th9+nSJ8uHo6AgOh6MUPmbMGABQWbbqXM+1a9dCLBZjxYoVSgsKNmvWDH5+fvj333+Rnp5eovwSQr4PVO8ronpf0deq90tzjd68eaNW2l+L7Ds0depU+fkDAJ/Px5IlS8DlcrFhw4bPPk5ISAi4XC4WLlwILvfjT0wHBweMHDlS5T42NjYqF1xt2bIl3NzcCr2OhSnt91nV57FgOomJidi2bRvq1KmDiRMnKsTT0tLCggULwBjDjh07SpRfQr43n3vPDAoKAgBs3rxZIe6tW7fw+PFjtGvXDqampgAAqVSKVatWwdLSEsuWLVOoE3g8HpYsWQIOh4Pt27crHbtChQoIDg5WCl+5ciUAYP369TAyMlLY1qdPH3h4eKhMT9U9xNjYWOFe+Dns7e0xefJkhTBZWeXm5mLRokUKx+revTv4fD7u3bunsI+FhQX09fWV0q9ZsyZ8fX1x9uxZiMXiz8prWbdBNm/eDC6Xi3nz5in8hrW1tcXo0aNV7lPausjZ2RlDhw5VCOvYsSN8fHwQHh6OixcvKmx78uQJnjx5otZ5JCUlIS8vT5734pSknViQ7Dtramqq8nNckLa2tvz7J/vefs12kqzPID4+vlT7a8qXar+rIhAIVLZ3C7ZRjhw5goiICIwYMQI+Pj4K8aytrTFx4kS8e/dO3g/0OfdOOzs7TJ06VSGsVatWqFSpktrf0fKGX9YZIEQd9evXh7u7OzZu3IipU6diw4YNkEql8kpSlatXrwIAUlNTMWPGDKXtspvppxXT5cuXsWLFCly9ehVxcXHyykgmNjYWlSpVUgirXLkyDAwMlI4huwkmJydDT0+v+BMtoZycnGLj3LlzBwDg6+urcruvry8uXbqEu3fvonHjxgrbPu2MBxTPSR2JiYkAoLKjo1q1avDw8MDOnTvx6tUrdOzYEd7e3qhTpw6EQqFa6QOAWCzGunXrsGvXLjx+/BipqamQSqXy7bGxsSr3MzExAQAkJCSofSx1iEQizJ07F927d8fkyZOxZ8+eEqchu26fVmzAhx/9Hh4eOH/+vNK2169fY8GCBTh9+jRev36N7Oxshe2FlUVhMjMzsWLFCoSGhuL58+dIT08HY0xleiW5nrLv5/nz53Hz5k2l48bFxUEikeD58+eoXbt2ifJMCPn2Ub2vGtX7H5S3er88K+rz4OLigooVKyIyMhKpqamFPnBRnPT0dISHh8PW1lblwxlNmjTBzJkzlcIZY9i+fTs2bdqE+/fvIzk5GRKJRL69JJ8JmZJ8n3v06IH9+/ejfv36CAwMRNOmTeHl5YWKFSsq7HPz5k1IJBJwOByV9xZZJ6K6nV2EENV+/vlnGBoaYvv27Zg/f768s042SNKnTx953OfPnyMpKQmVK1fGnDlzVKanra2t8ntZs2ZNlZ3gV69ehUAgwN69e7F3716l7Xl5eYiPj0diYiJMTU0RGBiIFStWwN/fHwEBAWjevDm8vLxU3gc/h4eHh1LHqLW1NYAP9/FPBzp4PB4qVKigsiP2yJEj+Ouvv3Dr1i0kJCQgPz9fYXtCQkKRDzUUpyzbIGlpaYiIiICtrS3s7e2Vtnt7e6vcr7R1UaNGjVQOfDVp0gTnz5/H3bt3FX7LV6lSpdhz+FzqtBO/VbI+CFUPbKqibjyZ33//vdB7yecqzXXp0aMHVq1ahWrVqqFr167w8fFBw4YNldpqst8/r169UtlGefHiBYAPbZS2bdt+1r1T1b0I+PA9leXjW0ODIuSbMXDgQIwcORLHjh1DSEgIateujZ9++qnQ+LIf5SdPnsTJkycLjVfwac7Q0FAEBARAS0sLLVq0gJOTE3R1dcHlcnHu3DmcP38eubm5Sml8+iSJDJ//4StWsFItjOzpvejo6GLjyuKYm5sXGzc1NRVA4U9sysJTUlKUtqk6r5KcE/DxyRlVFQGPx8OZM2cwa9Ys7Nu3D5MmTQIA6OvrIygoCPPmzVOrUykwMBChoaFwdHREx44dYWlpKW/oLl++XOU1AyAfMCjuqYjS6NatG5YtW4a9e/fi2rVraNCgQYn2l123ChUqqNxe8GlPmZcvX6JevXpITk5Go0aN0LJlSxgaGoLH4yEqKgqbN28utCxUEYvF8PX1xY0bN1C9enUEBgbC3NwcAoEAADBz5kyF9EpyPWXfz0WLFhWZB3WetiaEfJ+o3v+I6n1FX6vet7S0RGRkJKKjo4vtzJBdI1lHFQB5Z0nBAZtPybZp6oniT6nzeXj9+jVSUlJKPShSmjYLAIwdOxbLly+HlZUVWrVqBRsbG/m12bRpE169elWifJT0+9ypUyccPnwYS5YswcaNG7Fu3ToAQO3atTFv3jy0aNECwMd7y82bN1U+yCFDbRbyo7O0tMSTJ09KVK8VvGdqa2uja9euWL9+Pf777z+0adMGeXl52LlzJ8zNzdGmTRt5XNn38sWLFyoHXWVUfS8LuyclJiYiPz+/yPRkaZqamqJevXq4ePEi/vjjD+zbtw9bt24FALi6uiI4OBi//PJLkemoS9W9WVY3F3bf5vP5Sm99rFixAqNHj4axsTFatGiBSpUqQUdHBxwOBwcOHMD9+/dL9FtRlbJsg6SlpQEovC4qLLy0dVFxdZ6sLErDxMQEQqEQeXl5iI6ORuXKlYuMX5J2YkGyvCYmJiI7O7vI9lF2drb8eyf73pamLVvwO18SsjdM1D1HV1fXEqWvbrqluc+V9LoAwLJly+Do6IiQkBDMnz8f8+fPB5/PR9u2bbFkyRI4OzsD+HgvVDWQW5DsXvg5986ifv8U1dYtz2hQhHwzevXqhUmTJmHIkCGIjY3F9OnTi4wvayCsWLGi0Nf2PzVt2jQIhULcunULVatWVdg2ePBglU/ma4rsyYVz585BIpGoHIGVOXXqFACo9QS9rBzevXuncrvs9b/S/hAujoWFBYCPN99PGRsbY9myZVi2bBnCw8Nx/vx5rFu3DqtXr0ZKSoq8cVmYW7duITQ0FM2bN8exY8fkDSfgQ0fDwoULC91XlidZHjWJw+Fg8eLF8PHxwfjx41W+IlwU2fV4//69yu2qrufSpUuRmJiIkJAQhSepAGDnzp1Kr6IX5+DBg7hx4wb69OmDkJAQhW1v375VWYmqez1l55eamqryaWtCCKF6/yOq9z/6mvW+t7c3IiMjcerUKXkHuSrJycm4ffs2AMDLy0seLivjwsoC+PjWSmE/ND9Xwc+DqqeXNfF5KE2bJS4uDitXrkT16tVx5coVpSedd+7cWeJ8lOb73K5dO7Rr1w6ZmZm4fv06Dh8+jLVr16J9+/a4e/cuqlWrJj+/MWPGYOnSpSXOFyE/Cm9vb5w9exanTp0q8s1OiUSCc+fOAVC8ZwIfpoVav349Nm/ejDZt2uDIkSNITEzEqFGj5A9mAR/vOz///DP2799fonwW9gS5oaEhpFIpkpKS1E6rYcOGOHz4MHJzc3H79m0cP34cq1atQvfu3WFubo7mzZuXKG9fSn5+PmbMmAFLS0vcuXNHadBCU095l2UbRPabsrC6SFX459RFxdV5n3OOfD4f9evXx8WLF3Hq1KkiB0WePHmCN2/egMvlFvnwkCqVKlWCra0toqOjce7cOYWBx0+dO3cO+fn5qFSpkvyNSllb9vbt20hJSSmyLSNry376nVdHeHg4YmJiwOfz1Z5F4unTpyU+jjpKc58rzcwXPB4Po0ePxujRoxEXF4dLly5h165d2Lt3L8LCwhAWFgaRSCT/nB08eBB+fn7Fpvs5987vEa0pQr4ZRkZGCAgIQExMDHR1dYt98kL2ZP6nczkWJTw8HNWqVVP6ISWVSkvcqV1STZo0gYuLC968eSOf/1mVsLAwhIaGAvgwX2hxZBWj7Ib8qbNnzwIAatWqVcIcq6dGjRoA1KuUnJ2d0b9/f5w/fx56eno4ePBgsfuEh4cDAPz8/BQ6RoAPc49+On1UQbI8eXh4FHuc0mjcuDE6duyIy5cvK8xhrw7Z9VD1Az41NVVpjljgY1l07txZaVthHXuyTjhVT9/I0uvUqZPa6RVU1PUszfezqLwSQr4/VO9/QPW+oq9Z7w8YMAAAsGHDhkI7PwBg8eLFyM3NRfPmzeHg4CAPr1mzJoCiO5tk22RxNa2oz4Osk8HBweGzBmX09fXh7OyM2NhYREREKG1XdeyXL19CKpWiZcuWSp1QMTExKtdkK64d8DnfZ11dXfj6+mLp0qX47bffkJeXh2PHjgEA6tWrBy6XS20WQorRp08f8Hg8hIaGIiwsrNB4GzduxJs3b+Dq6qo0VbCXlxcqV66MgwcPIjU1Vf5Ql2wNDZkqVarAyMgI165d++x1MGQaNGiA5OTkIvNeGJFIBE9PT8yaNUu+NknBOq2s7wkJCQlISUmBp6en0oBIRkaGfNqrgkqT57JsgxgYGMDR0RGxsbGIiopS2q6qHihNXVQwPVVPx8vOvaQDFJ8aNGgQgA8PPhbVtpFNgdSiRQuV62oVR9bWmTt3rsI02QVJpVLMnTtXIV/Ah/VHmzZtKl/bpjDv37/H+vXrlfZX16xZswAAHTp0ULkuztfUt29f8Pl8te9zJiYmaN269Wcd08LCAp06dcKePXvg6+uLiIgIPHr0CEDJf/98iXvnt4wGRcg3Zc6cOQgNDcWJEyeKvRnWqVMHjRo1wv79+wvtbHj48CHi4uLkf9vb2+PFixcKiz8xxjBjxgw8fvxYMydRCC6Xi7Vr14LH42HUqFHyDpCCnjx5Aj8/P4jFYvTo0UOtKZm8vLzg6uqKS5cuYd++fQrb9u3bh4sXL8LFxaXQOTY/l5ubG8zNzXHt2jWlbZGRkSobGsnJycjNzVV6fbNPnz7gcDjYtGmTPEw2X+inDa+4uDgMGzasyLzJ8tS0aVM1zqR0FixYAD6fr7Q4XnE6duwIY2Nj7NixA7du3VLYNmPGDJWv4xZWFidOnCh0EVXZYmmqFh4tLL2XL1/KpzwpqCTXc/jw4RAIBBgzZgyeP3+utE9eXp5SxV5UXgkh3yeq96neL8t6v3HjxujVqxeSkpLQvn17lfOz//XXX1iwYAH09PSwYsUKhW2y+fEPHTokX+CyoJCQENy7dw9OTk5f7Hr069cPwIfvUsHFSSUSCcaPHw+pVIr+/ft/9nH69u0LqVSKSZMmKXQSRUZGyjsIC5Jdx0uXLil0uGVkZGDgwIFK89wDxbcDSvp9vnDhgsrjyAbAdHR0AHzojOjRowdu3bqF2bNnq+wgjIiIQGRkpNp5JeR75OjoiN9++w1isRh+fn4qv3cHDhzAqFGjwOPxsHbtWpVTBwYFBSEnJwdr1qzB0aNHUaNGDaUOZj6fjxEjRuDt27cYOXKkyk7jt2/flqguHzNmDIAP03eqWgw6MzNToW67cuWKyuN+eg8Byv6eYGFhAR0dHdy+fVthWhyxWIxRo0apXGvL2NgYHA6nRHku6zZI7969IZVKMWXKFIUO/ujoaCxfvlwpfmnqIpkXL15gzZo1CmEHDx7E+fPn4ezsjEaNGilse/r0aYneXvjll1/QrFkzhIeHIyAgQGldFYlEgunTp2PHjh3Q0dHBggUL1E67oLFjx6Jq1aq4dOkSBgwYoPSZzs7OxsCBA3Hp0iVUr15d/j2RWbFihfz4a9euVUo/NjYW7du3R3JyMvr27VuiN0XS0tIwcuRIbN26FUZGRpg/f36pzlGTHBwcMHXqVLXuc8CH/qCC9wJ15Obm4vLly0rhYrFY/iabLM2OHTvCyckJf/75J44ePaoyvatXryIrKwvAl7l3fsto+izyTalUqZLSYqdF2bFjB3x9fdG/f3+sXLkS9evXh5GREWJiYvDgwQM8evQIV69elU+jMGbMGAwZMgQ//fQTOnfuDIFAgMuXL+Px48fo0KED/v333y91agA+LDy2c+dO9OnTB506dUK9evXg5eUFoVCIsLAwnDhxAmKxGD4+PoV2cn+Kw+Fg8+bNaNGiBQIDA9GxY0dUqVIFz549w4EDB6Cvr48tW7Z8sbmsORwOfv75Z/z9998ICwuDm5ubfNv9+/fRqVMn1K1bF1WrVoW1tTXi4+Nx8OBBiMVipY532Y/sgk+G1q1bF15eXti/fz88PT3h7e2N9+/f49ixY3B1dS10zkqpVIpTp07B1dUV1atX/wJn/oGrqysGDRqk1GAqjp6eHv7++28EBgaiUaNGCAwMhJWVFS5duoRHjx6hcePGuHDhgsI+Q4cORUhICLp06YKAgABYW1vj0aNHOH78OLp27Yrdu3crHadZs2bYu3cvOnXqhLZt20JbWxt2dnbo1asXOnToAGdnZyxduhQPHz7ETz/9hNevX+Pw4cNo166dUgO5JNezSpUq2LhxI/r16wc3Nze0bt0aLi4uEIvFeP36NS5evAhzc3OFhmNReSWEfJ+o3qd6Hyjbev/vv/9Gfn4+du7cCVdXV7Rp0waVK1dGZmYmzp49i0ePHsHU1BT//PMPqlWrprCvoaEhNm3ahG7duqFly5Zo3bo1atSoAYlEghs3buD8+fPyRYWLmj7tc3h6emLixIlYuHAhqlevjoCAAOjq6uLYsWN49OgRvL29MWHChM8+zrhx43DgwAH8888/qFWrFlq1aoWUlBTs2bMHjRs3xqFDhxTiW1paolu3bti1axc8PDzQsmVLpKam4uTJk9DS0oKHh4fSW7Gurq6wsbHBrl27IBAIYGdnBw6Hg169esHOzq7E3+eRI0ciNjYWXl5esLe3h1AoxO3bt3HmzBnY2dmhW7du8rirV6/GixcvMH36dGzduhXe3t6oUKEC3rx5gydPnuDmzZvYuXOn/E2h4vJKyPdqxowZyMzMxNKlS1GzZk20atUKbm5uEIvFuHLlCq5fvw5tbW3s3Lmz0AHqXr16Yfr06QgODoZYLFZ6S0Rm2rRpuH//Pv766y/8+++/8PX1hY2NDeLi4vDixQtcvnwZf/zxh9K9uTDNmjXD/PnzMWXKFFSuXBlt27aFg4MDMjIy8OrVK5w/fx7e3t44fvw4AGDhwoU4c+YMGjVqBAcHB+jp6SEsLAzHjh2DsbGxwhPxTZs2BZfLxZQpU/Do0SMYGxsDAKZOnVqS4i01LpeLkSNHYv78+XB3d0fHjh2Rl5eHs2fPIikpCU2bNpW/xSGjp6cnn8KpR48ecHFxAY/Hg5+fn/yt0E+VdRtk4sSJOHDgAHbt2oVnz57J6xZZXXTgwAGFY5emLpJp3bo1xo0bh2PHjqFmzZoIDw/H/v37oaWlhY0bNyqdo+wtxsLexvgUj8fDvn370KVLFxw9ehSOjo5o164d7OzskJSUhBMnTiAyMhIikQjbt28v9Runenp6OH78OPz8/LBx40YcPXoUbdu2haWlJd6/f4+jR4/i7du38PDwwL///qvUwe/u7o7Dhw8jICAAQ4cOxZ9//ommTZtCX18f4eHhOHLkCLKystCjRw+VgyYyy5cvh5GRERhjSEtLw7Nnz3DhwgVkZmbCxcUF27Ztg4uLS6nOUdOmT5+OzMxMLFq0qND7HPDh8yh7E6cksrOz4e3tDWdnZ9SuXRt2dnbIycnByZMn5Q9MyT5PAoEA+/fvR6tWrdCuXTt4enrCw8MDOjo6iI6Oxs2bN/Hy5Uu8fftWfu00fe/8pjFCyikAzMbGRq24v//+OwPAQkJClLalpaWxP/74g9WqVYvp6uoyLS0tZm9vz9q2bcvWrVvHMjIyFOKHhISwmjVrMh0dHWZqasr8/f3ZgwcPWHBwMAPAzp49q5RPHx8flfkKCgpiAFhkZKRa5yETHR3Nxo8fz6pXr8709PQYAAaA8Xg8tmrVKiaRSEqUHmOMPX36lPXs2ZNZWloyPp/PLC0tWY8ePdjTp0+V4hZ2rowxFhkZyQCwoKAgtY997949BoBNnDhRITw6OppNmTKFeXp6sgoVKjChUMhsbGxY69at2dGjR5XS8fDwYPr6+iwpKUkhPDExkf3666/Mzs6OiUQi5ujoyKZMmcIyMzOZnZ0ds7OzU0rrxIkTDABbtmyZ2uchO/dP05OFe3l5qdwvLi6OGRgYlOgzLfPff/8xLy8vpq2tzYyMjJifnx978uRJoZ+ty5cvs6ZNmzIjIyOmp6fHvLy8WGhoKDt79iwDwIKDgxXi5+fnsylTpjAHBwfG5/OVPs+vX79m3bt3Z9bW1kxLS4tVq1aNLViwgInFYqW4Jb2ejDH24MEDFhQUxCpVqsSEQiEzNjZmbm5ubNCgQez06dMlyish5NtG9T7V+58q63r/0/0DAgKYjY0NEwqFzMDAgNWqVYsFBwezxMTEIvd9+PAh69OnD7O3t2cikYhpa2szFxcXNnz4cBYVFVXssWWfK1Wfd3Xt3LmTeXl5MT09PSYSiVi1atXYnDlzWHZ2tlLcoj4PRUlNTWVjxoxh1tbWTCQSMVdXV7Z48WIWERGh8jOUmZnJfvvtN+bk5MREIhGrWLEiGzp0KEtISGA+Pj5M1U/VGzduMF9fX2ZgYMA4HI5SPkvyfd69ezfr1q0bc3Z2Zrq6ukxfX5+5ubmx3377jcXFxSkdOzc3l61atYo1bNiQGRgYMKFQyGxtbZmvry9btmwZS0hIKFFeCfmeXb9+nfXu3ZvZ29szLS0tpqury9zc3Ni4ceNYdHR0sfs3a9aMAWB8Pp+9e/eu0HhSqZRt2bKF+fr6MmNjYyYQCJi1tTXz8vJif/zxB3v9+rU8rrr12cWLF1mXLl2YlZUVEwgEzMzMjNWsWZONGTOG3bx5Ux7vxIkTrE+fPqxq1arMwMCA6ejoMBcXFzZixAiV9/atW7eymjVrMi0tLXk9L6Oq/VBcfotqj6iqC8ViMVuyZAmrWrUq09LSYhUqVGA9e/ZkUVFRhbZfXrx4wdq3b89MTEzk9zFZXVTY70vGyrYNkpyczEaMGMGsrKyYUCiU10XXr19nANioUaMU4pe0Lip43leuXGHNmjVj+vr6TE9Pj7Vo0YLduHFDZb4+vebqkkqlbM+ePax9+/asQoUKjMfjydNq2LAhe/78eYnTVCUvL4/9/fffrFmzZszMzIzx+XxmZmbGfH192d9//83y8vKK3D8hIYEFBwez2rVry+tIGxsbFhAQwE6cOFHofnZ2dvLzkX3njY2NWfXq1VnPnj3Z3r17WW5urkbOUdNu3LjBgoKC5O072TlYWVmxkydPljrdvLw8tmDBAta6dWtma2vLRCIRMzMzY/Xr12dr165VWR7v379nkyZNYm5ubkxbW5vp6uoyZ2dn1rlzZ7Z161YmFosV4mvy3llYm+1bwGFMzWFKQkiZ6tevH0JCQjB+/Pgi52ssr1q1aoUHDx7g5cuXStNjqCMlJQWmpqYYN25ckYuoqqtz5844f/48IiIivthis4QQQkhpUb1P9T4hhBBCNGP9+vUYNGgQ/vrrLwwePLjU6Zw7dw5NmzZFcHAwZsyYobkMlsCjR4/g5eUFXV1dXLhwAc7OzmWSD6IoPT0d3t7eePz4Mfbu3Qt/f/+yzhIpBq0pQsg3Yt26dWjatCkWL16M6dOnl3V2Smzx4sWIj48v8TRSMhcvXoRAIMDYsWM/Oy93795FaGgoZsyYQR0jhBBCyiWq96neJ4QQQkjJqFoP5vXr15g9ezb4fD46dOhQBrnSrOrVq2PPnj2Ij4+Hr68vXr16VdZZIgD09fVx+PBhmJubIzAwUD7VHim/aE0RQr4RsrkCV65cCcYYoqOjYWtrW9bZUpu7uzs2btyI9PT0Uu3foUMH5OTkaCQv7969w+zZszFkyBCNpEcIIYRoGtX7VO8TQgghpGQ6d+4MsViM2rVrw8jICFFRUTh8+DCysrIwb968Qtce+9a0atUK+/btw927d3HhwgVaZ7OcsLW1xbFjxxAaGooHDx7A19cXQqGwrLNFCkHTZxFCCCGEEEIIIYQQQr5pa9aswdatW/HixQukpqZCT08PP/30E4YPH45OnTp9dvrlYfqsohw4cKDQxeELsre3R58+fb54fsgH9+7dw4EDB9SKWx4/V98rGhQhhBBCCCGEEEIIIYSQb1ifPn2wefPmYuP5+Pjg3LlzXz5DBACwadMm9O3bV6241E3/9dCgCCGEEEIIIYQQQgghhBBCfgi00DohhBBCCCGEEEIIIYQQQn4INChCCCGEkG9WRkYGgoOD0bp1a5iYmIDD4WDTpk1q7dukSRNwOByV/wQCgUJce3t7lfFo4WZCCCGEEEIIIeTbwi/rDHwrUlJScP78edja2kIkEpV1dgghhJCvJjc3F9HR0fDx8YGRkVFZZ0dBQkICZs2ahUqVKqFmzZolmhv3999/x4ABAxTCMjMzMWTIELRs2VIpvoeHB8aNG6cQ5uLiUqp8U7uCEELIj6w8ty2+RdSuIIQQ8iMrTbuCBkXUdP78efj7+5d1NgghhJAyc+DAAXTs2LGss6HAysoKb9++haWlJW7duoW6deuqvW+LFi2UwrZt2wYA6NGjh9I2Gxsb9OzZs/SZLYDaFYQQQkj5bFt8i6hdQQghhJSsXUGDImqytbUF8KFwnZ2dS52OWCxGamoqDA0NlabmIOqjctQMKkfNobLUDCpHzdB0OYaHh8Pf319eF5YnIpEIlpaWGktvx44d0NXVLbQhlZeXB7FYDF1d3c86DrUryh8qS82gctQMKkfNoHLUjC9RjuW5bfEt0lS7AqDvjaZQOWoGlaNmUDlqBpWj5pSHPgsaFFGT7BVUZ2dnuLm5lTodsViMxMREmJqa0hfoM1A5agaVo+ZQWWoGlaNmfKly/N6nY4iPj8fJkycRGBioctDjzJkz0NHRgUQigZ2dHcaMGYNRo0aV6ljUrih/qCw1g8pRM6gcNYPKUTO+ZDmWx7ZFbm4upk+fjq1btyI5ORk1atTAnDlzVL5hWtCMGTMwc+ZMpXCRSIScnByl8P/9739YvHgxIiMjYWtri5EjR2LEiBGlyrOm2hUAfW80hcpRM6gcNYPKUTOoHDWnPPRZlNtBkbCwMMyYMQO3b9/Gu3fvoKOjg2rVqmHChAno0KFDsfunpKRg4sSJCA0NRVZWFurVq4clS5agVq1aXyH3hBBCCPnW7N69G/n5+SqnzqpRowa8vb3h6uqKxMREbNq0CaNHj8abN2+wYMGCItONi4tDfHy8Qlh4eDiAD41BsVhc6jzn5+dDIpEgPz+/1GmQD6gsNYPKUTOoHDWDylEzvkQ5fk7d96X16dMH+/btw+jRo1G5cmVs2rQJbdu2xdmzZ+Ht7V3s/mvXroWenp78bx6PpxRn3bp1GDJkCDp37oyxY8fi4sWLGDlyJLKysjBp0iSNng8hhBBClJXbQZFXr14hPT0dQUFBsLa2RlZWFv755x/4+flh3bp1GDRoUKH7SqVStGvXDvfv38eECRNgZmaGNWvWoEmTJrh9+zYqV678Fc+EEEIIId+CHTt2wNzcXOWToIcOHVL4u2/fvmjTpg2WLl2KESNGoGLFioWmu2bNGpVPjgJAamoqEhMTS53n/Px8pKengzEGPr/cNuu+CVSWmkHlqBlUjppB5agZX6IcU1NTNZKOpt24cQO7du3CokWLMH78eABA7969Ub16dUycOBFXrlwpNo2AgACYmZkVuj07Oxu///472rVrh3379gEABg4cCKlUitmzZ2PQoEEwNjbWzAkRQgghRKVy2zJs27Yt2rZtqxA2fPhw1K5dG0uXLi1yUGTfvn24cuUK9u7di4CAAABA165d4eLiguDgYOzYseOL5p0QQggh35aXL1/i6tWrGD58uFodPhwOB2PGjMGJEydw7ty5IhdgHzp0KLp06aIQJpvz1NDQEKampqXOd35+PjgcDkxMTKjD7zNRWWoGlaNmUDlqBpWjZnyJcjQ0NNRIOpq2b98+8Hg8hf4GLS0t9O/fH7/99huio6OLna+cMYa0tDTo6+uDw+EobT979iwSExMxdOhQhfBhw4Zh+/btOHLkSJHtCkIIIYR8vm+qZcjj8WBra4ubN28WGW/fvn2oUKECOnXqJA8zNzdH165dsW3bNuTm5mp07tK8vDzEx8cjLy8PjLEi40qlUuTl5SEjIwNcLldjefjRUDmqh8PhQCgUwtzcHEKhsKyzQwgh5ZbsgQlVU2cVRtYpkpSUVGQ8CwsLWFhYqNwmEAhUzqGanJyM1NRUSKXSItOW1YfZ2dlUH34mKsviqduu4PF44PP5NNfyZ6Jy1AwqR83QdDmW1+tx9+5duLi4wMDAQCG8Xr16AIB79+4VOyji6OiIjIwM6Orqwt/fH0uWLEGFChUUjgEAderUUdivdu3a4HK5uHv3bpGDIl9yWk6App3TFCpHzaBy1AwqR82gctQcTZdlaeq+cj8okpmZiezsbKSmpuLQoUM4duwYAgMDi9zn7t27qFWrltIP2nr16uHvv//G8+fP4e7uXuj+JWlkpKen4/3792CMQSAQFPsjWvZjksPhFDuAQgpH5ageiUSC7OxspKWloUKFCtDX11fYTjd0zaGy1AwqR80oDw2Mb82OHTvg5OSEBg0aqL3Py5cvAXx48EKTkpOT8e7dO3C5XPD5fJVPmcoUrA/J56GyLF5+fj5ycnKQkZEBKysrpU5DQgj51r19+xZWVlZK4bKwN2/eFLqvsbExhg8fjoYNG0IkEuHixYv4888/cePGDdy6dUt+z3z79i14PJ7SAxNCoRCmpqZFHgP4stNyAjTtnKZQOWoGlaNmUDlqBpWj5mi6LEszLWe5v4Ljxo3DunXrAABcLhedOnXC6tWri9zn7du3aNy4sVJ4wYZMUYMiJWlkJCcnQyqVomLFitDR0Sn2fBhjkEgk4PF49KP7M1A5qi8rKwsxMTF4//498vLyFLbRDV1zqCw1g8pRM8pDA6O8efv2LVJTU+Hk5KT0dOrdu3fx5MkTTJs2TeW+SUlJMDQ0VFgoVSwWY/78+RAKhWjatKlG85qamgoulwsnJ6dir59UKpXXh/R2w+ehslRPZmYmXr9+jeTkZBoUIYR8d7Kzs1XOKqGlpSXfXphRo0Yp/N25c2fUq1cPPXr0wJo1azB58mR5GoW9baelpVXkMYAvOy0nQNPOaQqVo2ZQOWoGlaNmUDlqjqbLsjTTcpb7Kzh69GgEBATgzZs32LNnDyQSiVLH7qc+pyEDlKyRkZGRAQ6Ho/QEfnHoy6MZVI7F09fXh5aWFhhjSg1kuqFrDpWlZlA5akZ5aGB8TatXr0ZKSor8ycp///0XMTExAIARI0bA0NAQU6ZMwebNmxEZGQl7e3uF/bdv3w6g8KmzDh06hDlz5iAgIAAODg5ISkrCjh078OjRI8ydOxeWlpYaPR+pVAo+n0/fAVIu6erqQigUQiKRlHVWCCFE47S1tZGbm6sUnpOTI99eEt27d8e4ceNw6tQp+aCItrZ2oX0aOTk5xR6jNNNylhRNO6cZVI6aQeWoGVSOmkHlqDmaLMvSpFHuf21XqVIFVapUAQD07t0bLVu2RIcOHXD9+vVC3xD43IZMSRoZsicJ1X2iUCqVyvNNTyGWHpVjyXA4HHA4HJU3Cbqhaw6VpWZQOWpGWTcwvqbFixfj1atX8r/379+P/fv3AwB69uxZ5KCOVCrFrl27UKtWLbi6uqqM4+7ujmrVqmHbtm2Ij4+HUCiEh4cH9uzZo/QQhabQW5CkPKPPJyHke2VlZYXY2Fil8Ldv3wIArK2tS5ymra2twvpjVlZWkEgkiIuLU+h3yMvLQ2JiYqmOQQghhJCS+eZ6kwMCAnDz5k08f/680DhWVlbyRktBn9OQIYQQQkj5FBUVBcaYyn+yt0I2bdqk8LcMl8tFTEwMbt++XWj6tWvXxqFDhxATE4Pc3Fykp6fj4sWLX2xAhBBCCCFlw8PDA8+fP0daWppC+PXr1+XbS4IxhqioKIX1x2Rp3Lp1SyHurVu3IJVKS3wMQgghhJTcNzcoIpv6qqj5zT08PHDnzh1IpVKF8OvXr0NHRwcuLi5fNI+EEEJIWUrOScbTlKdlnQ1CCCGEkG9KQEAAJBIJ/v77b3lYbm4uQkJCUL9+fdja2gIAXr9+jadPFdta8fHxSumtXbsW8fHxaN26tTzM19cXJiYmWLt2rVJcHR0dtGvXTpOnRAghhBAVyu30WZ++Sgp8WNR0y5Yt0NbWRrVq1QCoXjg1ICAA+/btw/79+xEQEAAASEhIwN69e9GhQweV640QQggh34NLsZcw7dI0SKQS7LXZiwqCCmWdJUIIIYQUIJaKsfPJTmTnZ6NXtV7QEegUu8/a+2txKeYSOjp3RBeXLjSN3RdSv359dOnSBVOmTEFcXBycnZ2xefNmREVF4X//+588Xu/evXH+/HkwxuRhdnZ2CAwMhLu7O7S0tHDp0iXs2rULHh4eGDx4sDyetrY2Zs+ejWHDhqFLly5o1aoVLl68iG3btuGPP/6AiYnJVz1nUr5lh4Uh+9YtiFxdoe3ujszr15Hz5An0GjWCdo0a8nj5SUnIunYNmVevIvtRGLSqVoXFhPGQJKcg7ehRsJxsiKpWhU7duhAUMl08IYT8SMrtoMjgwYORlpaGxo0bw8bGBu/evcP27dvx9OlTLFmyBHp6egCgcuHUgIAANGjQAH379sXjx49hZmaGNWvWQCKRYObMmWV4VuVDkyZNcOXKFYhEInC5XBgYGKB27doYOHCgwlMp7969Q3BwMI4cOYLExESYmpqiQ4cOmDlzpsKAFYfDgZ6eHp4/fw4rKyt5eMWKFTFnzhz06dPna54eIYT8kHLyc7D09lLsfLpTHjb7+mysaraKOk7IF0dtC0JIeSVlUpx8fRJZkix0dO4IAbds18lijGHa5Wk48vIIAOD2+9v4q8Vf4HIUJ3E48vIIniQ+Qfeq3fEq7RXW3FsDAHiQ8AC33t/CjIYz1BpMkXmc+BhLbi2BjZ4NpjaYCiFPqLmT+s5s2bIF06ZNw9atW5GcnIwaNWrg8OHDaNy4cZH79ejRA1euXME///yDnJwc2NnZYeLEifj999+ho6N4rYYOHQqBQIAlS5bg0KFDsLW1xbJlyzBq1KgveWrkG5Pz/Dle9egJ9v/r4xaUsGo19Nu0Bs/AENn37iH32TOF7blPniDj/HlI0tIAsfjjBj4fpv37w+zXIeBqaX3pUyCEkHKr3A6KBAYG4n//+x/Wrl2LxMRE6Ovro3bt2liwYAH8/PyK3JfH4+Ho0aOYMGECVq5ciezsbNStWxebNm0qdBFVTZLm5kL8+rXqbVIGiVQCHpcHLleznVSCSpXAVfMtmIkTJ2LOnDkAPryVs2/fPnTr1g0jR47EH3/8gXfv3qFevXqoXr06Tp8+DWdnZ0RERGD06NFo0KABrl+/rjAvqpaWFiZPnozNmzdr9JwIIeRHxBjDyrsrcSjiEDo6dcSIn0bIBzZuvruJA+EHkJyTDCmTws3MDU1tm2LW1Vl4kvREKa0cSQ60+dpf+xSIBpVVuwKgtgUh5Nt3+s1pLHy0EABw4+0NLPRZWKb52fJ4i3xABACuvr2KjY82YoD7AHlY6ItQTL8yHQBwIfYCqppUVUjjWOQxvMt8h42tNoLPLf4nfaY4EyNOj0BcdhwAwMnICUFuQQA+tDnORp8Fj8NDo4qNlAZnfkRaWlpYtGgRFi1aVGicc+fOKYWtX7++RMcZOHAgBg4cWNLskR9I/LLlKgdEZNKPHS9yf0lionJgfj4S161Dyj//QKdWLQhsbACpBCxfAiaVgKulDaFdJQgdHKFd3Q1cXd3PPQ1CCCmXyu2gSLdu3dCtW7di423atAmbNm1SCjc2NsaGDRuwYcOGL5C7oolfv8bLDkUP3HwJjv8egqhy5RLvZ2FhgaFDh0IkEmHQoEHo27cvFi5cCIFAgAMHDkAo/PAUkYuLC0JDQ1GtWjXMmDEDf/75pzyN6dOnY/z48Rg+fDjq1q2rsXMihJAf0dU3V7Hh4Yf6a/3D9XA0coRPRR8subUE/7z4RyHu5TeX8feDvxXCtHha+NX1V/Ss2RNCPj0J+q0rq3YFQG0LQsi373LcZfn/H4s6hlb2rdDMrtlXz4dYIsa2J9uw/M5ypW2r766GnkAPHZ07IjU3FQtvfhy4iUyNRGRqpNI+d+PuYu/zvfilyi/FHnv13dXyAREA+OfFPwhyCwJjDHOuzcGe53sAAC3sWuAP7z/oYQpCvjBpXh7SDh+BJCUFBq1bgW9lhdwXL5D74gUkqangcHng6ukh4+xZ1QlwOECBqdsKEjo4gGdkhOy7dz8GcrkQWFtDHBMjD5IkJCD9v/+KziiXC+0aNVBh2lRou7mV9DQJIaRcK7eDIuTr6969OwYNGoTTp0/j8OHD6Nevn7zTQkYkEqFbt27YunWrQsdF1apV8euvv2LUqFG4fPkyTdVCCCGfYcMjxQH9BTcWYPXd1YjNiC1236omVTHPcx50xbp0LyZljtoWhJCydjvxtsLfc67PQR3LOjAUGZY4rfDkcBx6eQhWulZoXLExbPRs1NovMjUSo8+OxsvUl/IwPocPBgYJk0DCJPjj+h9YcWcF9IX6yBBnqJXuqrur0Mq+FUy0TBCWGIbQF6FwN3NHO8d28jdIwhLDsOPpDqX8vMl4g9OvT8sHRADg5KuTeJvxFqubrYaptikYY3iR8gLnX5/H+Vfn0cSuCQbUHABCiPryXkYi48F95IWHQ5qbC56eHlKPHkX+m7cAgLjFi8E3M0N+XFyhaXB0dGA9bx6kGekQubiCb2GBhNWrkHnlKrgGBtByqwad2nWg27ABBJaWYIwhZfduJG3ZCqGtLczHjIZWlSrIefYM76YHI/v+ffUyL5Ui+949RPfrD4fQ/RBYW2uiSAghpFygQREip62tDTMzMyQmJiI+Ph42Nqob+RUrVsT79++VwoODg+Hi4oLt27ejZ8+eXzq7hBBSrmXnZ4MxVuh8328y3iAiJQJORk4w1zbHo8RHSMhOgJRJcfPdTYW4KbkpSMlNkf+tzdeGbyVfpOSm4HLsxydg2zm2Q3DDYPAZH4mqXpcn5CujtgUhpCyl5KYgR6I49UxCdgJW3lmJaQ2nlSit6PRo9DzWE5niTADA3Otz4WTohMYVG8O/sj8cDR1V7peWl4Zhp4chOj1aIXxK/SnIEmdhye0l8rAMcUaRAyIOhg6YXHcyBp/6sGh3el46Vt5ZibF1xmLwycFIzU3F7me7EfIoBM3tmiMhOwGHIg5ByqRKac29PhcXYi4ohT9KfIRx58dhWoNpmHhhIp4nP5dv4/A5NChCSAnk/vcfkufOKzqSVFrkgAgAmA7oD4NWLRXCrGbPLjQ+h8OBcbduMP5k9hUtV1fY7dyBzIsXkXXrNnLCHkGSmgYOnw/w+eBwuZCkpSHv1SuFabskqamIGTMG9lu3giOkt9AJId8HGhT5AgSVKsHx30Mqt33pNUU+R3Z2NuLj42Fqagpzc3PExqp+IjkmJgYVKlRQCjc2NsasWbMwefJk/Pzzz5+VF0II+ZaFJYRhwH8DkJ2fDT8nPwypOQTWeh+frHqW9Ax9jveRd3zwOXzks3y10q5nWQ8zPWeion5FAMDLlJc4+eokHI0c0bxSc3A4HIgLLqZIvnll1a6QHftzUNuCEFKWVK21BQCHIg5hTO0x0BPqqdz+LvMdnic/Rz3LetDia0EsFWPyhcnyARGZiNQIRKRGYOuTrVjRdAUaV1RciJsxhmmXpikMiLgYu2BKvSmoY1kHAGCpa4mNjzYq5dVUyxR50jyk56XLw9o5tIOnjSeaV2qOU69PAQD2v9iP9Lx0pOamKubrQUSRZXM+5rz8//kcPmwNbOXTdN1+fxtd/u0CsVSxPfEw4SHS8tJgIDQoMm1CyAe5e/aWbAcOB1wDA0gzMgCJBADANzeHaVCQxvLE4XKh5+MDPR+fQuMwqRR5L18ifvWfSD/+Yd2SnPsPEDN6DCxnBENgYfEhXl4e8hMTwbe0pDd6CSHfHBoU+QK4IlGh829LpVJIJBLweDxwueVrEbudO3eCw+HA19cXt27dwu7duzF9+nSFaS7y8vKwe/dutGrVSmUagwYNwtq1azF//vyvlW1CCCl3/rz3p3zAIzQ8FIdfHsagGoMwwH0AeBweFt1cpPAkaGEDIj87/4wz0WeQmpsKLoeLX2v+ioHuA8Hj8uRxHI0cMdho8Jc9IVKmvtV2BUBtC0LKCymTIiknCWbaZmWdla/qadJTleE5khwcjzqOAJcAhfCY9Bise7AO/0b8CwmTwNHQEVvabMGmsE14kPCg0OPkS/Mx9txY/NX8L/lgBwBse7INZ6LPyP+ub1kff7X4S2Fx9NYOrdHKvhUeJjzEjXc3EJYQhnxpPob9NAzHIo9h46ON8rhtHdsCACbUnYCLsReRK8kFA8N/r4peF4ADDjpV7oTKxpUx/4byvfT3Br+jtX1rBB4OxOv01wCgMCAi5ArhbuyOJnZNwAF1fBKijvz4eEjCw+V/C+3swDM3gyQ5BXwTExh3/wXaHh5IO3IE+UnJ0Kn1E3Q9PcHV0YH4fRzS/j0E8fs4mPTs8dUXO+dwuRA5O8N67h+IighH7osP55Fx5gxe3rwJ3Qb1AT4fmRcvQZqRAW0PD1jOnAktV5evmk9CCPkcNChCEB8fj/3792PChAmYMGECKleujJkzZ6JevXro3LkzlixZAmdnZ0RERGDs2LHIyMjA1KlTVabF4/GwfPlytGvXDnw+fbwIIT+exOxEXHlzRSFMLBXjz3t/4nz0eTSxbYLr764Xm46eQA+jao1C3+p9cfr1aXhae6KaabUvlW1CNIraFoSUH9n52RhwYgAeJDxAG4c2WNBowXf/RG9yTjIYmMLbFw2sGiA9Lx1hiWEAPjy0IBsUYYxh59OdWHp7KXIlufJ9Xqa+RODhQIU1vRwNHbGuxTrcfn8bZ16fkQ9I5EpyMfzMcCxotAA+tj5IyE7A6rur5ftZaFtgQeMFCgMiMhwOBzXMa6CGeQ2FcHNtcxyNPIp3me/g5+QHW31bAIC1njUGuA/An/f+VEqreaXmSMxJRFpuGqSQwt3MHf2q94OTkRMSshOw4MYCMHxcoLlXtV7ycljssxg9j/ZEnjRPvr2NfRtMrTcVWalZMDU1hUAgKK74CSEAsq4o/h6otHWL/A2LgkwHKE9JJ6hgoTL8a+Pq6MBmxUq86tULkv+fmleano70k6cU4mXfu4fIzp0hcqkMnqEheEZG4BkZgW9qBr65OfS8vSAoZApVQggpK/TL8ge1cOFCLF++HFwuFwYGBqhduza2bdsGPz8/AIC1tTVu3LiBGTNmoGnTpoiPj4dYLIa3tzcuX74MOzu7QtP29fVFmzZtEBoa+rVOhxBCvjixVAw+h19sR9LxqOOQMInKbY8SH+FR4iP538YiY0xrOA0puSmoYlwF5jrmOPnqJN5kvEF7p/Yw1TaFqbYpBriX/Y8iQopDbQtCyqftT7bL33I4FnkMQdWC4GbmVqI0GGN4mPAQxiJj2BrYfolsFnv8T+tfKZPi6pursNCxQGXjj2/TXYi5gFFnR4HP4SusJ1LVtCpsdG3kgyIP4h8gIiUCtvq2GHturMJ0UgUVHBARcAVY2HghLHUt0c6xHdo5tsPae2ux5v4aAECmOBMjzozA4JqDEZ0ejaz8LPm+8xvPh6m2aYnO21TbFIf8D+FNxhulNUv6Vu+Lg+EHEZMRIw9zM3XD0iZLC22rmGmbwdPaE5fffFiPrHHFxhhXe5x8e1XTqvit/m+YcXUGAKCNQxvM9Z4LJmHIQpaqJAkhhci6/HHdP1HVqioHRL4FIkcHOB48gPfz5iPtyJHCI+bnI/ex6ikLuXp6sN+zGyJH1WsvEUJIWaBBkR/QuXPn1IpnbW2Nv//+W/73okWLsHjxYuTkKC5WyBj7dFfs37//s/JICCHlyaZHm7D8znI4GDpgXqN5qGJSRWH7/fj7mHxhMoQ8IV6mvpSH17KohQl1J+C3S7/J5+kuaHDNwWhh10IhrFe1Xl/mJAj5gqhtQUj5lJKTgv89/J9C2MGIgyUaFEnNTcWUi1NwMfYi+Fy+yrUzvqStj7di1d1VsNW3RefKndHBqQN0BbqYcH4C/nv1H/gcPpY1XYYmtk0glogx59oc5EvzkQ/FqSmrmVaDp7UnFt1aJH8bZN/zfdDmaysNiPg7++P2+9sKa4GIeCIs8VkCVxNXhbhDag5BtiQbIY9CAAAMDH/d/0shTku7lqhrWbdU56/N14aTkZNSuIgnwuR6kzH8zHB52AD3AcU+vDHTcyZW3V0FU21TDK4xWGFKTgDo7NIZVUyqIFOcibqWdT+sVSahtcoIKQkmkSDrylX533reXmWYm8/HNzODzZLFMO4WiPRz55AX8RKS9HTo/OQBJmVI2rIFyC98fURpRgbejJ8A+107aaF2Qki5QYMiRG0TJkxAhQoVcP78eVSrVu27f+2eEEIA4Fz0OSy5vQQAEJ4Sjl5He2F6w+lo79geHA4HqbmpGHt2LOKy45T2be/UHtXNqmNP+z1Y/3A9tj7eiuz8bACAnYEdurp0/ZqnQki5Q20LQr6sDQ83KKxhBXx4W2RCnQkQ8IqfBul12msMOTVEPjiQL83H1EtTsb/j/q+yPkmWOAvLbi+DWCrG8+TnmHdjHtbeXwtPa0/5tFX5LB/BV4JxoOMBnI0+i7eZb1Wm5WbiBgOhAZpVaoajkUcBfHiLhsv5uB5TBZ0K+MP7D9S3qo+IlAj0OtoL6eJ06Av1sdp3NWpVqKWULofDwdjaY2FvYI851+YoLU4u4AowpvYYTRWJAh9bHwytORS7nu1CK/tW8K3kW+w+FXQrYI73nCLjlPRNIkKIopxHjyBNTZX/revdqAxzozk6detCp67yAK9RlwBknD2H/MQESFJSIElNhSQ5BeI3b5D/9sM9OefxY7xfsBBmw4aCb2LytbNOCCFKaFCElEjv3r3LOguEEPLVxGbE4vdLvyuE5Uhy8Nul33A86jiGeQzDxkcbVQ6ICLgCtLRrCQDQ4mthxE8j0L1Kd+x4ugPvMt9hgPsAtTqkCPneUduCkC8jLisOO5/uVApPyU3BhdgLaFapWbFpTLs8TeFtCQBIzk3G1EtTsab5GoUBhaLkSfIg5Ck+HZyYnYhnyc/gYe4BHYGOyv3uxd9TGmRIyU2RD2rIJOUkYdbVWYUurA4AFfUrAgB6V+uNE1EnIGESMDD5lJd8Dh9/NvtT/iaIk5ET9nTYg6tvr6KxTWNU0K1Q5Dl2qtwJlY0qY871OXic+Fge3qtaL/mxv4RfPX7Frx6/frH0CSEfpZ8+jbQjR6FVvTqMu/8CrpYWmFQKcDjyBzvEb94g8X8b5ftwdHSg85NHGeX46xA5OEDk4KAULs3NRVRAF+S+eAEASN6+Hcnbt0NUtSr0mzYF38IckpQUCJ2coO/rCw6Pp5QGIYR8KTQoQgghhKiQnJOMkWdGIi0vTeX2CzEXcCHmQqH7+1T0gaHIUCHMVNsUI34aodF8EkIIIaqcfHVSvmA2BxwYaxkjKScJALDjyQ44GznDzkB5LZ/E7EQYCA2QmJOIO3F35OH6An2ki9MBAJffXMaWsC3oU72PfPuD+AfIys9Cfcv68s7BpJwk9DveD6/TX2N0rdHo7fZhEPRd5jt0O9wNiTmJMNM2w+hao9HBqYPSIMutd7fUPt9Tr08Vuq1uhbryPLmZuSG4YTCmX5muEKefez+lqbEq6ldEF/0uaufB3dwdu9rtwqXYSzgQfgCWupYY7jG8+B0JIeUWE4uRExaGhA0bkHHqNAAg7ehRJG/fDp6pKXLCwsDh8cA3M4MkIwPSNMXfDjr16/+wU0ZxRSJYL16EqIAuYOKPA9y5T54g94ni+iOialWhU6cOsm7eAiQSiCpXhpabG7S8vQADg6+ddULID0C9R3sIIYSQH0hyTjIG/DcAz5Ofy8P8nf2xvMlyGIuMVe5jJDLCyqYrUc+yHupa1sWkepO+VnYJIYQQJeeiz8n/v1aFWujq+nHKxhvvbqB9aHuMOjNKPq0jYwzzrs9Dkz1N0Pnfztj/4uM6PhxwsKPdDlTQ+fi2xPI7y3Hz3U0AH9b96HG0Bwb+NxDrHqyTx/nfw/8hIjUCYqkYi24twqlXp8AYw4yrM5CYkwgASMhOwNTLUzHu3DhImVThHG69/zgo0sKuBRY2XggD4cfOsWEew2AkMlI6d3sDe6xrvg46fB0IuUL0rqr4RtrPlX/GqFqj5H87GTphcI3BhZZlSXA4HDSq2AhLmizBhLrqTVNGCCmfEtavx7N69RHV7Rf5gIiMODYWOQ8eABIJWF4exG/eKA2IAIBBp5+/VnbLJS1XV1RcswYCu0pFxst9/ATJW7Z+GDB5/hxpR44gbuFCvPbriLT+A5AbHv6VckwI+VHQmyKEEEJIARKpBMNPD1cYEKlhXgO/1f8N2nxt1LGsgxV3VmD/i/0KU27M9pqNJrZN0LRS07LKOiGEkO9UniQPHA4HAq56HewZeRkKAwpNKjZBM7tm2PBgA/LZx8Vwz0Sfwbhz47DCdwVCX4Rix9MdAIDI1EiFxcI9LDxgb2iPBY0XoP+J/pAwCSRMgvHnx2NwjcFYfGuxPO6GhxsQ4BIAPYEeDkYcVMjX75d+x+3Kt3E59rJSnk+9PoX9L/YjwCUAAJCdn42HCQ/l2+tUqIM2Dm1Qp0Id/PvyXzgaOqKJbRO4m7nj90u/ywdZeBwextcZD08bT5zsdBJxCXGws1R+I6Z/9f5wMHDAi5QX6OraVWl6L0LIj038/j3ily4DGFPcwOcXuag4AIDLha5vU3D9/aHr4/PlMvmN0GvkDecTJyB+8waZ164j4+wZZF67DjAGDo8HSYH1V1SRREQgYcFC6G0K+Uo5JoT8CGhQhBBCCCngUMQhPEh4IP+7pnlN/NX8L2jztQEAhiJDTG84HaNrj8abjDdIyU1BRb2KX3S+cEIIIT+ua2+vYezZsQCAlb4rUceyTrH7XH5zGfnSj512PrY+sNW3xWKfxQgJC8GjhEfygf2LsRcRdCwIz5KeKaTB8LEjsKnthwH/2hVqY1ydcVh4cyGAD9NjzbsxT2G/XEkuQh6FwNXEFam5ih1dWflZ2PZkm/xvUy1TAJAPaCy9vRQ5+Tl4nPgY2nxthXOQnbe5jjn6Ve8nD/ey8cLZrmfxPus9Xqe9hqWuJSoZfHgiWZuvDT2Bnsoy4nA4aGbXDM3sil9bhRDy48l5/FhhQISjrQ3D9u1gPmYMMs5fQOqBA+CbmkKnbh1whELkx8eDq6MDQcWK0HJzA0xMkJiYWIZnUP4IrK1h1OlnGBV4e0aal4fkLVuQuDEEHD4fup6e4BroI/fJU2Tduwf8/7Rb2devQ/z2LQRWVmWUe0LI94YGRQghhHz3svOzkZSTBGtda/mc4qpkibOw6u4q+d8V9Srir+Z/QU+o3KFiIDSAgQnNb0sIIeTLSctLw+QLk+Vrefx26Tcc9D8oH6gvzPno8/L/tzOwg4PhhwVwZYMA7zLfoc/xPojNiAUAhTcyVJENigBAz6o98TD+IY5FHSs0/p5nexQWSOdxePJBmIJmeM4Al8PFsNPDAADpeelYcHOBUjxDkSGcjZwLPR6Hw4GlriUsdS2LPA9CCFFXXkSE/P95RkaofPECOIIPb+sZ/ewPo5/9i9xfXGANDVI4rlAI0wEDYDpggNI28Zs3CG/eApBKAcaQevAQzIZoZqpDQgihNUUIIYR8t8ISwjD54mT47PZB639ao/uR7jjz+gwkUuWOGQDYHLYZ8dnx8r/H1B6jckCEEEII+RqW3Vkmf4sCAN5mvsX/Hv6vyH3EUjEuxl6U/+1TUXnqFktdS/zd4m+YaZspbTMUGSr87WDoAHtDe/nfHA4HfzT6A8M8hkFfoC8Pr2tZV/7/OZIchUGQ8XXGo2fVnrDRs5Evpt7XrS+a2DZB44qN0cq+VZHnVNuittIi7IQQ8iXlvvi4hoXI2Vk+IEK+HoG1NXS8vOR/p4aGgn06nRkhhJQSvSlCCCHku3T97XUMOTVEYeqNR4mPMOrsKBiKDOFp5YnuVbvDw8IDAHAv7h42PNwgj/uTxU9oYdfia2ebEEIIAQDcS7yHgy8PKoWHPApBR6eOsDWwlYflSfJwL+4err29hkMRh5CSmyLf1sS2icr0KxlUwn6//dj3fB8eJjxEdHo0Glg1QAenDgg8HCiP52vrq7SvgCvAkJpD0L1qd/wX9R94HB78nPww7vw4nH6tuBixNl8b/s7+0BPqYVK9SciT5CFfmg8dgY48zqS6k3Dr3S35ABAHHIXpuwoOuBBCyNeQW+BNEWHlwt9UI1+WQceOyLr4YaA/79UrZN+7B52ffirjXBFCvgc0KEIIIeS7kyvJxayrsxQGRApKzU3FsahjOBZ1DIGugWho3RAzr8xEnjRPHmd8nfFFTrVFCCGEfEn7X+2X/782Xxu5klxImRR50jxMvDARIa1DoMXXQkx6DPoc74P3We+V0jDRMpEP/qtirGWMgTUGKoV3demKPc/3QFegiy6uXQrd30BoIF8YHfhQd75IfoHX6a/lYb/W/FXhrUshT6i0qLm5jjl2t9+Na2+vobJxZaTlpWHkmZHIzs+GiCeCjy0tVEwI+XqYVKowKCJyokGRsqLTxAccPT2wjAwAwNvffkeF33+HnrdXMXsSQkjR6B3kH9jDhw/RrVs3WFlZQU9PD/b29vjll19w584dAEB6ejomTJgAR0dHaGtro0KFCujZsydevnypkI69vT02bNig6hCEEFIm/vfwfwodMv7O/hhfZzwq6FRQirv72W6MPjsaybnJ8rChHkNRw7zGV8krId8LalcQolnh6R+nbvmlyi/o4vJxcOJR4iP8ful3SJkUM6/OVDkgYqNng3ne8yDglnzKl9/q/4bd7XfjROcTsNGzUXu/ivoVcfjnwzjX9Rz2ddiHE51PoI9bH7X2raBbAR2dO6KaaTU0sGqAXe13YaD7QKxtvha2+rbFJ0AIIRoifvMWLDtb/rfImQZFygpXJIKweTP533mRkYgeMABRv3RH6qFDyLh4CelnziB5127Er1yFt9Om4c3kKUg7dgxMIkF+YiKy7tyBNDe3DM+CEFIe0ZsiX0CuJBfRadEqt0mZFFKJFFweV+Pz4toa2ELEE6kV99y5c2jTpg0GDRqEq1evws7ODqmpqdi/fz/27t0LV1dXNG7cGAKBAPv27UPNmjURGxuL4OBg1K1bF1evXoWLi4tG808IIZrwKu2VwjRYbqZumNFwBnhcHrpX7Y57cfdwPvo8dj/bjRxJjtL+fk5+GFJjyNfMMiFFKqt2BaB+24LaFYRoVoY4A/E5H9e4qmpaFY1tGuNB/AM8SXoCAPjv1X94d/QdHiQ8kMczEBqgvlV9+Dn5oZFNI/C4vFIdn8floZpptVLty+FwYKptClNt01LtL+No6IiRtUZ+VhqEkB9Xfnw83kyeAvG7d9BydYV2ndow8vcHV0en2H1zw18o/C1ydvpS2SRq0OrfH+zJU+Q9eyYPy757F9l37xa6T+qBA+AZGUGSkgIAEFWrCofdu2ltGEKIHA2KfAHRadH4+dDPX/24oX6hcDZW7wmGwYMHIyAgACtWrJCHGRkZoV+/fgCAuXPnIjIyEuHh4TAz+7AAY6VKlRASEgJvb2+MGTMGR44c0fxJEEJIKTHGwOFwsObeGoilYgAAl8PFtIbT5J1CAq4AdS3roq5lXQS6BmLujbm48uYKpEwKAGhh1wIzGs6gabNIuVJW7QpA/bYFtSsIUSZlUtyNu4vnyc+RlJOExjaN4W7urta+UalRCn87GzpDR6CDlb4r0f1Id8RnfxgwKTggYq5tjoP+B6Ev1AchhPzokrZsReblywCAvIgIpB09iuTNW2C9YD74Vtbg8Hngm6oevM0rMHUWz8gIvELika+Dq68P2507kPHPfsSvXg1paqpa+8kGRAAg9/ETZF67Br1Gjb5QLgkh3xoaFPkBvXjxAs+fP8fq1asLjXP48GG0b99e3nFRUFBQEIYNG4bc3FyIROq9mUIIIerKzs/G8ajjcDZxRlXTqkXGfZf5Druf7cbB8IPIl+ajt1tvHIs8Jt/euXJnuJm6qdzX1sAWa5uvRU5+DvKl+eByuAqLvhJC1EPtCkKUMcYw6L9BuP7uujxsc9hm/OP3j1pTQUWkfuyQ43P4sDOwAwBY6lpiVbNVGHJyiMJi6gAwud5kGhAhhJD/l33vnlJY3qtXiOr2i/xvk/79YDFeeR3B3Bcfpy8UOjvRA1PlAEcggEmvnjD8+Wek/rMPSdu2Qxz98U1qrq4u+Obm4FtYQBwbC3FsrFIa6f/9R4MihBA5GhT5AcXFxQEAKlasWGic+Ph4NCqksqhYsSLEYjGSkpJgZWX1RfJICPlxrXi8AqffngYADPMYhsE1Biv9EGGMYcfTHVhya4n8rRAAWHHn41PqAq4Ag2oMKvZ4WnwtDeWckB8TtSsIUfY8+bnCgAjwYdB/S9gW/N7g92L3f5n2ca2dSgaVIOB9nO7DzdQN//j9g+mXp+Pymw9PQTe1bYoWdi00lHtCCPm2McaQ8/RpsfGS/rcRPEMjmA0aqBCusMg6rSdSrvD0dGESFATj3r0hzcwCmBQcHk9hWjSWn4/0U6eQ8/QpkjZvka8Pk37yFCyDg8HhU1coIYQGRb4IWwNbhPqFqtz2pdcUUYeFhQUAICYmBlWrqn4K29zcHLEqRtZl+3G5XJVPexJCyOfIyc/BuXfn5H//ee9PvMl4gwl1J8iffs0SZyH4SjCORx0vMq1OlTvBUtfyS2aXlAMZGRlYtGgRrl+/jhs3biA5ORkhISHo06dPsftu2rQJffv2Vbnt7du3sLRU/PwcOnQIM2bMwOPHj2FhYYG+ffti2rRp4H/hH1Zl1a6QHbs41K4g36sscRYAlOotwldpr1SGHwg/gGEew2CkZVTk/i9TPg6KOBkpz2VvoWOBtc3X4lz0OcRnx8PPyY+eZCaEkP8njomBND1d/rft+vXIfnAfCWvWAhKJQtz4pUuRdfMmBNbW4PB4AIeD3Bcf1xQROVf+avkm6uNwOODp6arexufDoHVrGLRuDd2GnngdFATgw3RaWbduQbdBg6+ZVUJIOUWDIl+AiCcqdP5tqVQKiUQCHo8HLlfznRfqqFy5MlxcXLB161a0aKH6ibJ27dphyZIlSEpKgomJicK2rVu3wtfXFwJaoIoQomHPkp9BwhR/qISGh+L069PoXa03mts1x9RLU/Eo8ZF8O5fDRd0KdXHj3Q0wMAAf3hIZ4D7gq+adlI2EhATMmjULlSpVQs2aNXHu3LkSpzFr1iw4ODgohBkZGSn8fezYMfj7+6NJkyZYtWoVHj58iDlz5iAuLg5r1679jDMoHrUrCPn6niU9Q78T/ZCVn4Vurt0wstZIaPO11d7/dfprleE5khzserYLQ2oOwelXp7H63mq4GLvgt/q/wVBkKI9X8E0RR0NHlWlxOBw0rdRU7TwRQsiPIufxE4W/taq7Qa+RN4y6dEHO48eQpqbi7dRpYOIPb5xnXrxYaFq0yPq3TadObfBMTCBJSgIApJ04QYMihBAANCjyw1q3bh3atGkDMzMzjBo1CpUqVUJ6ejoOHDiAZ8+eYcqUKdi9ezfatWuHtWvXwt3dHW/evMGMGTNw584dXLhwQSG9/Px85OTkKISJRCJ6Yo0QUiIFF4wtKC0vDavvrcbqe4prFphomWBh4/9j777DoyjeAI5/r6bn0huB0Fto0kFEEOmgKM2CICooKOpPQAULgogFu4gFUZAiagQpYgHpRaS30ENNIb1fcvX3R8wlRwoJSUjh/TyPj7ezM3uzc0ey2XfnnffoFNiJX8/+yszdMzFZTIxrNU5midwiAgMDbbM69u3bR4cOHUp9jP79+9O+ffti60yZMoVWrVrx119/2WaGuLu7M2fOHJ577jmaNm16Q/2vKeS6QtQ0P576kVRDKgBLTyxl65WtfN7rc+rp6l2nZY78M0Xa+7dHq9KyK2oXAD+c/IG67nWZtn0aJquJs8lnORZ/jHm95lFPV49MYybRGdG29g09JHWLEEKURtaJcNtrdVAgak9PADR+fmj+m+Gq0GqJfGEyWK1FHkfp7IxjEbNgRfWgUKlwu/tukn/6CYC0vzbg+8wzqL29K7lnQojKJkGRW1SPHj3Ys2cPb731Fh07diQjIwMfHx+6du3K1KlTcXV1Zfv27bz55pvcd999REVFYTAYaN68Odu3b+e2226zO96ECROYMGGCXdmZM2doKPk3hRClcDT+qO21n5Mf9TzqsSd6T6F1m3o15bO7PrMFP4Y0HELHgI4kZyfTzEv+eLlVODg4FEhzdSPS0tJwdnZGpVIV2BceHk54eDiff/65XaqsiRMn8tZbbxEWFsarr75a5j5UZ3JdIWqaa9NfXU67zMvbX2bFwBUlCs5dSs2bKRLiHkKfun1sQZHErESmbptqXz/tEqPWj2LFwBWkGFLs9tX3KHymiBBCiMJlhecFRRybNS+0jnv//mjr1yd13TqMkZGY4uKxWi05O605ARHPhx5EpdMV2l5UH259+9iCIuaEBCIG34PH0KEoNGoy9+5Df/QoKjc3HJo2xWoyYoqOQaHRoPb1RRMcjEPDBjh36oxjk8aVfCZCiPIkQZFbWKtWrfjxxx+L3K/T6Xj//fd5//33AVixYgVPPvkkqampdvUuXLhQkd0UQtQg2eZsHFQORe4/mpAXFBncYDDPt3uevTF7+frI1/wT/Y9tX+fAznzU4yNcta527YNcgwhyDSr/josarWfPnqSnp6PVaunbty8ffPABjRrl5Y8+ePAgQIHZJEFBQQQHB9v2FyU2Npa4uDi7srNnzwJgNBox/pe6IZfFYkGhUGCxWErUf+t/TziWtH5FadGiBT/88EOh+ywWC25ubrz33nu89957QM51xYQJE0hOTrbre0RERKHHyD1ORaoqY1nVWa1WrFZrge8u5MzyMZvNmEymSuhZ+ckf1MgVnhDOjss76Bx4/bQb+YMqtVxq0d6nPR39O/Lv1X+LbJNqSOWTA5/QNbCrrUylUFHLqVahYy2ur6Z8HytbRYyjfKdFRco6kZc+q7iZHo5NmuDYpMnN6JKoRC6dOuHYsiVZR3P+1jQnJpKwYIFdHVNWFqZrrtfzry0DEDx/Pm53SdpKIWoKCYqIEnvggQdwdnbm33//pUuXLmi12srukhCimkjKSuKVHa+wPXI7fUL68F7391Apc57I/+P8H3x77FuC3YK5mnnV1qaVbysAOgR0oENABy6kXGDDxQ24a925v9H9aFSy/oAoG2dnZx599FF69uyJu7s7+/fv58MPP6Rr164cOHCA2rVzFhmPjs5JYxMYGFjgGIGBgURFRRX7PvPnz2fmzJmF7ktJSSEhIcGuzGAwoNVqMV+zEGhhrFarrV51Sy01fPhwHB0d2bNnDx07dqz064rqPJY3m9VqxWAwFPjuQs7N07S0NKxWq93MqurEYDHY/T7K7+vDX9NIW/yiuxmmDBKy8sbGAw8SExN5tcWrzGUu26/m5a6/K/AuzFYzW2O2AvDXxb9Izky27Q90CiQtOW+xYFE6NeH7WBVUxDimpKRcv5IQN8AUF4c5Lt627dhcZpDf6hRqNbW//oqY12eQtmHDDR8nYcECCYoIUYPIlaEolXvuuaeyuyCEqAYyjBlcSLlAVEYUGcYMvjr8FVfSrwA5N3xanWjFmNAx/H3pb17c9iJWrJxItF8QMTcokquuri7jWo27aecgar4RI0YwYsQI2/aQIUPo27cv3bt356233uLLL78EQK/XAzmpuq7l6OhYYAbltSZOnMjw4cPtys6ePcuQIUPQ6XR4X5PTOD09HYVCUWgqr6JU15t9Q4YMqewuFFBdx/JmUigUaLXaAt9dyLl5qlAo8PLyqrZjeSH1AlbycszfWetOtkbmBC0OJR5iX9o+OgR0wMvRq9D2cYn2T5qGBoXi7ZEzVh/7fcziE4v56fRPtPJpxRud3yDVkMruNbsxWAxYsbInLi9tZEPPhoWOsyiZmvB9rAoqYhx1VTglUXZ2Nq+//jpLliwhKSmJVq1aMXv2bHr37l1su5UrV/Ljjz+yd+9eYmJiqF27NoMGDeK1117Dw8PDrm7dunW5ePFigWM8+eSTtusPcWPyzxIBcGxeePoscWtRe3pS69NPSP1tPSkrf8EUn4BFr0dbry4unbtg0WeSffYsSgdHNEGBWI1GTLGxZIWfsM0Y0R88SPa5czg0aFDJZyOEKA9yZSiEEKLcmCwmpm6dysZLG4ut99nBz3BSOzF371y7G0+5arnUwsfJp6K6KUSRunXrRqdOndi4Me877OTkBOTcJLlWVlaWbX9R/Pz88PtvUc9raTQaNBr7WU9KpdLu/8XJTbVV0vqiaDKWJadQKFAoFAW+u7lUKhVqtbrI/VVdjD7GbvvFji+yb90+MowZAEzbNQ2A22vdzpjmY+gc2NludlGkPtKufT3PemjUeWMxrvU4xrXOC/K7ObkxvMlwlp1YVqAvoT6h1XYcq4rq/n2sKsp7HKvy5/Hoo48SFhbG888/T6NGjVi0aBEDBgxg8+bNdOvWrch248ePJygoiFGjRlGnTh2OHj3KvHnzWL9+PQcOHChwvdCmTRsmT55sV9a4saxZUBaGK5EkLllq21Z5eqL296/EHomqRKFQoBs0EN2ggSVuY05J4cwd3bEaDAAkr1yJ/9Sp12klhKgOJCgihBCi3Gy6tOm6ARHIWVvkzX/eLHJ/C58W5dktIUqldu3anDp1yradmzYrOjrallIrV3R0NB07dryp/RNCVKzLaZdtr100LtR2q83wxsNZdHyRXb2dkTvZGbmTVr6tmHTbJDoFdEKhUNitR+Lv7I+TuvjAKcDjLR4n7HQY2ea84Gtb77aMaDSimFZCiPL277//smLFCubOncuUKVMAGD16NC1atODFF19k165dRbYNCwujR48edmXt2rVjzJgxLFu2jCeeeMJuX61atRg1alS5n8OtInPfPuI+m4fK3R3v8ePJ3PMPcZ98ijXfejWOoaGSElOUiUqnw613b1J/+w2AlF9X4/f88yiqcGBXCFEy8hicEEKIcrMnek+BMrVSjbejN+NbjWdkk5GFtmvn385uu5VPq0LrCXEzRERE4Ovra9tu06YNAPv27bOrFxUVxZUrV2z7hRA1Q/6gSG232igUCp5s9SR31LoDjbLgTZAjcUcY99c43t37LmC/yHqIe0iJ3tPX2ZdJt00CwEntxIvtXuTtdm/jpnUry6kIIUopLCwMlUrF+PHjbWWOjo48/vjj7N69m8uXLxfZ9tqACMB9990HwIlrUjrlMhgMZGRklK3TtxiryUTSjz9x8dGxZO7ZQ9qGDVwYPpzY9z+wC4gotFq8Hn208joqagyPYUNtr80JCcR9+hmmpCRMiYlYsrIqsWdCiLKQmSJCCCHKzb6reTeNB9UfxBtd38BBlbcOQ6YxkwOxBziTlJOX1dvRm1HNR/FYi8eYtXsWv5z5BW8Hb/qF9LvpfRc1W3R0NCkpKTRo0MCWsiMuLs4u+AGwfv169u/fz7PPPmsrCw0NpWnTpnz99dc8+eSTtrU+vvjiCxQKBcOGDbt5JyKEKLGLqRe5mHqR6PRoojKiiNfH09SrKQ81fQiVsug1e66kXbG9ru2WMzvMVevK/LvnY7aYicqIYl3EOlacXEFiVqKt7rITy+ga1NVupkhu+5IYEzqGvnX74q51R4Om0IXshRAV6+DBgzRu3Bh3d3e78txZoYcOHSowa7Q4MTE56fh8fAqmhd20aRPOzs6YzWZCQkL43//+x3PPPXfdY8bGxhIXZ7920dmzZwEwGo0Y8wUGboTJZMJsNmMymcp0nPKWuWcPCR98mLO+Q3F9Uypxu+cevCY8hSYoqMzjcaOq6jhWN1VhHDVt26KuFYQpMgrIWXA9YcGCnJ1qNc63d8Xlzh4oXV1Qurnh0KgRKj+/KjVLqSqMY00g41h+ynssb+RnvQRFhBBClIt4fTwRKRG27W61utkFRACcNc4s6b+Ew3GHCXAOoJ6unu1icUaXGYxuOhpFpgJPR8+b2ndRvc2bN4/k5GSionL+UFm7di1XruTc1Jw0aRI6nY5p06axePFizp8/T926dQHo2rUrt912G+3bt0en03HgwAG+/fZbateuzfTp0+3eY+7cudxzzz306dOHBx54gGPHjjFv3jyeeOIJmjVrdlPPVwhxfe/++y5LTywtUL7m3Bq2X9nO3DvnonMofKHnK+l5QZFg12C7fSqlitputZnQegKPhj7KipMr+PLwl2SaMgGYs2eOXaCkpDNFcgW4BAA39oedEKLsoqOjbWkz88sty73WKKl3330XlUpV4AGKVq1a0a1bN5o0aUJCQgKLFi3i+eefJyoqinfffbfYY86fP5+ZM2cWui8lJaXMAVWTyURaWhpWqxW1umrcMjIeOUL65Clw7c9GhQLUalu5MjAQl1emo27RglSASgwuV8VxrI6qyjhqhg/H9PEnBXeYTGRu3Ubm1m12xQpPTzTt2qFu3w6lpycKLy9UDRtWWqCkqoxjdSfjWH7KeyxTUlJK3UY+QSGEENeVZkhj+YnlZJoyGdZ4WKFPvu6/ut9uu71/+0KP5aJxoWtQ1wLlCoWC2m61STDIk7GidN5//30uXsxLV7Ny5UpWrlwJwKhRo9DpCr/xOXLkSH777Tf++usvMjMzCQwMZNy4ccyYMQP/axblHDRoECtXrmTmzJlMmjQJX19fpk+fzuuvv15xJyaEuCGZxkyWn1xe5P7d0bvp+VNPfJ18aeffjte6vGZb98NqtdrNFAl2Cy7qMDipnRjbYiyuWldm7Z4FQGS6/SLrddzrlOVUhBA3mV6vx8HBoUC5o6OjbX9JLV++nIULF/Liiy/SqFEju31r1qyx2x47diz9+/fnww8/ZNKkSQQHF/2zZ+LEiQwfPtyu7OzZswwZMgSdToe3t3eJ+1gYk8mEQqHAy8urStz0M0REcOXV1woERJQeHvi/NRttgwak/PQzSicnPEY9jNLVtZJ6aq+qjWN1VWXG8fHHyWjalKSvvibr4MHrVrcmJWHYuBHDxrz1Nl379yfgveKDnhWlyoxjNSfjWH7KeyyL+pu/OFX2E9y7dy+LFy9m8+bNXLhwAW9vbzp37szs2bNp3LhxsW0XLVrE2LFjC90XHR1NQEBARXRZCCGqPavVysnEkzhrnG1Pt267so2Zu2cSmxkLwPfHv2do46FMum0SOgcd55LPcTH1IrujdtuOU8etDv4u/oW+hxDl7cKFC9ets2jRIhYtWmRXNnv2bGbPnl3i9xkyZAhDhgwpXeeEEDfdpbRLWKwW27az2pkg1yBSs1OJ1ef8LjNajERlRBEVEUWASwDPts1JmRenjyPLnJcfvCTpr4Y2Gsqas2s4FHeowL4Qt9LNFBFCVC4nJyeys7MLlGf9t26Ak5NTiY6zfft2Hn/8cfr27ctbb7113foKhYL//e9//Pnnn2zZsqXYBdj9/Pzw8/MrdJ9Go7GlCS0LlUqFWq0ul2OVhdVq5cq06VhSU21lXmPG4Na3D47NmqH87/NwfnFqZXWxWFVlHKu7qjKOHj164NGjB1mnTmOMikTp4ID+yBFS1/+O4cIFrAZDse3Tf/8d84SncLzOPc2KUlXGsbqTcSw/5TmWN3KMKrvQ+rvvvssvv/xCr169+OSTTxg/fjzbtm2jbdu2HDt2rETHmDVrFkuWLLH7z8PDo2I7fotQKBRszBfxrkhvvPEG3bp1uynvVRGSkpJ4+OGH0el0eHh48PDDD5OcnFxsm2XLltGyZUvc3d2pVasWzz//fIGL899++41OnTrh6uqKt7c3Q4cOLeJoQpTc9+HfM2LdCAatGsSUrVOYtGkST//9tC0gAmCymvjx1I+M/n00H+77kCGrh/Dc5uf45cwvtjrtAwqfJSKEEIWR64qSk+uK68u/0DnA5hGbWXXvKlbeu7LQmYq/nPkFoznnCeT8s0Sg+JkiuZQKJa91ea1Aysgmnk2o71G/tN0XQlSiwMBAoqOjC5TnlgUFBV33GIcPH+aee+6hRYsWhIWFlfgJ2Ny1ShITE69T89aRffIkWeHhtm2PESPwe/klnNu2tQVEhLjZHJs0xq1nT1y6dsXnqaeov2Y1TY8cpumJcBpu3ULwl1/g9dhjaBs0KNA2+eewSuixEKIwVXamyAsvvMDy5cvRarW2spEjR9KyZUveeecdli4tmCP4Wv3796d9e7kxV1VZrVbMZvNNm3JmMBjsvk83y6hRo8jOzubcuXMAPPDAA4wZM4bVq1cXWv/w4cM88sgj/PDDDwwfPpzLly/Tr18/nJ2dmTNnDgBhYWFMmDCBb7/9lj59+tjaCVEWZouZRccX2bb/vPBnsfUjUiLs1hDJr6jUWUIIUVHkukKuK3LlX+jcz8kPZ40zADoHHV/e/SWH4w7zT/Q/fH7ocwASsxIJOxPG5bTLrDyz0tZWrVAT6FJwbYHCNPZszNIBS9kRuQONUoOXoxd31bkLpaLKPoMmhChEmzZt2Lx5M6mpqXaLre/Zs8e2vzjnzp2jX79++Pn5sX79elxLkcopIiLnutrX17f0Ha+hUn/7zfZa4eSE/8svVanFq4XIT6FQoPH3R+Pvj1uPHvi/OBWr2Uz09OmkrM5JmZeyZg1+UyajLCRNnxDi5qqyV+ldu3Yt8Idmo0aNCA0N5cSJEyU+TlpaGmazuby7V60lJyczfvx4goOD8fHxoX///pw6dcq2P/cJymnTpuHn50dAQABTp061LfgYGhoKwODBg3F1daV///4let8LFy6gUChYuHAhrVu3xtnZmX379pGVlcX06dNp0KABnp6edO/enYP/5WhctmwZc+bMYffu3bi6uuLq6sr27dvZsmULWq0Wk8lkO/6iRYvscq8++uijjBgxggkTJuDr68u9997Lli1bUCgUhIWF0bhxY9zc3OjduzeRkZEF+lseLl68yPr16/nggw/w8fHBx8eHDz74gDVr1nDp0qVC20RERKDT6Rg5ciRKpZKQkBAGDhxoGxOr1crkyZN5/fXXGTx4MA4ODjg4ONCxY8cKOQdx6zgQe4B4fXyh+9w0brzR5Q3WDFlDW7+21z1Wh4AO5d09IUQVVVOuK1QqlVxX1JDrivwzRa5d00OhUNDGrw3jW423WwR9zp45LAlfQoYxw1YW6BqIWlnyIFtTr6Y80fIJxoSOYXCDwbhoXMpwFkKIyjBs2DDMZjNff/21rSw7O5vvvvuOTp062WZzXLp0iZMnT9q1jYmJoU+fPiiVSv78888igxuJiYkF7lEYjUbeeecdtFotPXv2LOezqp6sVisp69fbtt169kTp7FyJPRKi9BQqFR4jRti2LSkppP35J1aLpZhWQoibocrOFCmM1Wrl6tWrtj+er6dnz56kp6ej1Wrp27cvH3zwQYEFzgoTGxtLXFycXdnZs2eBnIsVY74FviwWCwqFAkshP9DOnz9ve9qjV69eduexa9cu9Ho9gYGBNG/e3LYvKSmJAwcOANC2bVs8PT1t+8LDw4mOjsbJyYmuXQtO/S+pUaNGkZGRwb///ou7uzuvvPIKd999N8ePH8fV1RWr1cqePXvo0aMHFy9e5Pz58wwaNAidTsf06dM5evQoKpWK1atXc/fdd9vG4Xpy63z77besWbOGoKAgTCYTTz75JJGRkWzevJmAgAC++uor+vbty8mTJ3nwwQc5ffo0f//9N9u2bbMda8uWLQWOe+3/rVYrq1at4osvvuDjjz/GaDTy77//AjmL8OY+7TNo0CCmTZtWINd8LoPBwMcff8yqVatISEigS5cuDBs2jE6dOhEREcF7773H999/X+hTQAcOHMDBwYGWLVva+tWyZUu0Wi0HDhwodAG93r1706hRI5YsWcIDDzzAhQsXWLt2LS+88AIWi4WTJ09y6dIlkpKSaNGiBTExMTRt2pRZs2bRo0ePQs/BarVitVrtvruQs7CR2Wy2uwkkbkxNGMvfI34vUKZWqBneaDhPtHgCT8ecn0ef9/yc13e/zoZLGwDwdfIl1DuULVe2ANDCuwXeWu8C37eSqAnjWBWU9zjeyGcpyl9ERITtuiL392+uXbt2kZWVRVBQUIHriv379wPQrl27AtcVUVFRODk5cfvttxd4r/r1S5b255FHHiE9PZ19+/bh7u7O9OnTufvuuzlx4oTtd+OePXvo2bMnly9f5vz58wwYMAAPDw9eeeUVjh8/jkKhYO3atQXOqyS+/fZb1q1bZ3ddceXKFbZu3UpAQABffvklffv25fTp0zz88MOcOXOGjRs3smPHDtsx8l9XFGfVqlV89dVXfPrpp3bXFatWrWLv3r0ADBgwgOnTp7N48eJCj2EwGPjoo49YuXIlCQkJdO3aleHDh9uuK959912WLFlS6HXFoUOHcHBwoHXr1ray1q1bo9VqOXToEHXqFFzUu2/fvjRq1Ihly5bZXVdMmTIFgFOnTnHp0iWSk5Ptritmz55d5HVFVXcpLS9AlD/wkZ9SoWR44+G8v+/9Io9TkvVEhBA1S6dOnRg+fDjTpk0jNjaWhg0bsnjxYi5cuMDChQtt9UaPHs3WrVuxWq22sn79+hEREcGLL77Ijh077H7P+Pv707t3byBnkfXZs2czbNgw6tWrR2JiIsuXL+fYsWPMmTNH1kD9j/7gIUxReanM3AcNrMTeCHHjnNq2RVu/Pob/ruOjXnyJqGnTcb7tNtz69UOhVmFOTkbp5obazw/Hpk3RBAdjSUvLSR+nUKLy9MChXj0Uso6FEOWmWgVFli1bRmRkJLNmzSq2nrOzM48++ig9e/bE3d2d/fv38+GHH9K1a1cOHDhge7qjKPPnz2fmzJmF7ktJSSEhIcG2nZs6obDZKGlpacTG5uThz92fm9ohLi6OzMxMnJ2d7dpmZWXZ2mRlZdntS0lJITY2FhcXlxue/RIdHc1vv/3G3r17bU+uvP322yxbtow1a9YwcuRILBYLXl5evPrqq6hUKho1asQLL7zARx99xEsvvWQ7lsViKVU/cutOnz7dlos1JSWF77//nqNHjxIYmJOe4KmnnuLTTz9lzZo1PPzww1gsFtu4XXssk8lkmz6be0Gaf6zbtWvHmDFjAHBwcLAFJt58803bzYaRI0cyf/78Is9l7dq1XLhwgVmzZuHo6MiGDRt47bXXOHPmDA0bNuTJJ5/E0dGx0PbJycnodLoC+zw8PEhOTi60jYODA2PHjuXZZ59l7NixmM1mRo0axZgxYzCbzbbvx/LlywkLC6NevXosWLCAwYMHc/DgQerVq1fgmFarFYPBYPfdzR2/tLQ0rFbrTUs3UlNVtbE8lnSMLTFb8HX0pYl7E1p4trB72vVKxhV+Ov8T9d3qc0+de7BarWy4uMG2f2DwQMY2GotaocZF44Ilw0JCRt73Z0rTKXTy7ESMPoY+QX3w0HrQ1asrEWkRDAgeUOC7VlJVbRyrq/Iex5SUlHLolSirjIyMAg9t5EpISCAzM7PAjXSDwWBrY7hm8cfU1FTi4uJwLuSpy4yMjAJlhYmOjmbdunUcOnTIdhNn7ty5LF26lHXr1vHAAw8A4OXlxRtvvIFKpaJp06ZMnTqV999/n1deeaVE71Oc119/3XZtl5yczOLFizl58qTtwYNnnnmGTz75hHXr1hW7cG1JtG/fnsceewywX8zv7bffRqfTAfDQQw8xb968Io/x22+/cfHiRebMmYOjoyN//fUXr776KqdPn6ZRo0ZMmDABF5fCZxikpqba3ic/Dw8PUvMtQpufs7MzTzzxBM8884ztWmL06NG284iPz5khuHz5cn799Vfq1avHV199xcCBAzl27Fih1xVVXf6ZIsUFNu5tcC+fHvgUgyXv34aDyoFsc856K4MbDK64Tgohqqzvv/+e1157jSVLlpCUlESrVq1Yt24d3bt3L7ZdbtrB9957r8C+O++80xYUadmyJc2bN2fp0qXExcWh1Wpp06YNP/30E8OHDy//E6qm8qfOUrq741KN1wMTtzaFQoHHsGHE5v/ZYDaTuW8fmfv2FdpG5eWFOSkJ8gVe1QEB1P1hOZrAkqX2FEIUr9rccTp58iRPP/00Xbp0sd3kLsqIESMYkW962pAhQ+jbty/du3fnrbfe4ssvvyy2/cSJEwtcjJw9e5YhQ4ag0+nw9va2laenp6NQKFCpVAWO4+bmhp+fH0CB/b6+vuj1enQ6nd0+R0dHWxtHR0e7fTqdDj8/P5ycnAp9v5KIiooCoHHjxrZjqFQqQkJCiIyMRKVSoVQqqV27tl36svr163P58mW791UqlaXqR27dBg0a2F6fP38eoMCCpwaDgejoaFt/rh3j3Ndqtdr2Ojc4kn+7Xr16BfoMOYvY5Za7urqSnp5e5LkMGTIET09PNm/eTEpKCs2aNWPx4sU0bdqU6OhoVqxYgclkwtHRsUBbDw8PUlJSChw7OTkZDw+PQt9z8eLFTJ8+nVWrVtGtWzeuXr3K+PHjGTNmDD/88AMeHh4ATJo0yfY08LPPPssXX3zBhg0bmDBhQoFjKhQKtFqt3XcX8oJKXl5ecgO6jKrSWP596W+m7Z2GyZo3S6C2a23e7vY2zb2ak6BPYOrWqcRn5dwIUzooCfUOJdmQbKs/qPEg6gcU/5T4/T73220P8xlW5r5XpXGszsp7HAu7CStuPhcXlyJTcXh7e+Pi4mKX/xxAq9Xa2lybltTd3R1fX1+cClmotKib8te6fPkykPO7PZdGoyEkJMQunVP+37sA9erVs7Utq/w37XNn9nbq1MmujsFg4MoV+wW0y/pe+eVfeNfFxYW0tLQij3HPPfeg0+nYtGmT7bri+++/t11X/PDDD2RnZxd6XeHu7l5okDI5ObnAZ59r8eLFvPTSS6xevdp2XTFu3DgefvhhVqxYYWv37LPP0qRJEyDnGmPevHn88ccfhV5XVGXphnQSs/IWKS5qpgiAh6MHQxsP5YeTPwDQO6Q3c7rN4XzKebQqLQ08Ci6QKoSo+RwdHZk7dy5z584tsk5hMwzzzxopTrt27VizZs2Ndu+WYLVaSf0rb31Dt953o6yEdbyEKC8eQ+8ncekSu9lPxTEnJhYoM8XEEPfpZwS9Pae8uyfELala3HGKiYlh4MCB6HQ6wsLCbigg0K1bNzp16sTGjRuvW9fPz88WmLiWRqOxezIw9yZ77v/za9Cggd1NAshLt9W1a9dC23h7e9ueILlWixYtaNGixXX7X5yQkJw/DM+fP29LvWAymbh06RIhISG2AMTly5exWq22sb506RLBwcG2PisUCpRKZaHnUJTcumq12vY69ybCkSNHCk35AHlBjvzv5ebmBuQ8yZqbCiQmJsauXm4gJX+7/J/XtZ9dUeeyevVqfvzxR8aOHQvAX3/9xYcffsj58+epW7cuEyZMwMnJqdAF39q2bUt2djbHjh2jVatWtnM1GAy0bdu20Pc8cOAA3bt3t6WsqFWrFk8++aQtF3izZs1wcXEpcG7Xnld+CoUiZ9GvQqZaqlQq1Gp1oftE6VSFsfzrwl+8vPNlzFb7WUiX0y8z9q+xPNnqSfZe3WsLiADMPzKfJl5NbNtejl50rtW5VHnUy1NVGMeaoDzHUT6LqqF+/fpFprQq6rrC09OzyJRUzZs3t0u1de17lUTuDI1z584VuK7I/3v98uXLmM1m2+/0Cxcu2KWQLMuiqfnPO3e2SnHXFYWNU/7rCof/Fr7MfZDkem1La82aNQWuKz744AO76wqHIhbfbNOmDdnZ2Rw5cqTAdUVRi//u27eP7t27255wDgwMZPz48YwcORKAJk2a4OLiUuUWrj1w9QAXUi/Qr24/20LpJXEx7aLd9rVrilxravupNPJshKvGlT4hfVApVTTzbnZDfRZCCFE+TDExmOPy/l5xK+IeiRDVhUqno/7q1WTu34/VaMQUFUXq+t/RHz2K0tkZlYcH5tRULEXM/M2VsnYtPk8/jTa41k3quRA1V5VdaD1XSkoK/fv3Jzk5mT/++MPuSbzSql27NomFRFtvJYGBgQwYMIDJkydz9epV9Ho9L730ElqtloED83J0JiYmMmvWLLKzszl16hRz5861/fEOOTcd8i+ieqNCQkIYMmQITz/9NBcv5vwRm5aWxu+//050dLTtvS5dukRWVpatXe5ipl9//TUWi4VDhw7ZLYZXngYMGMCKFSvo27evbW2ac+fOYTQaiYiIYOrUqUXeSAgJCWHAgAFMmTKF+Ph44uPjmTJlCoMHDy7yZs0dd9zBtm3b2LVrF1arlbi4OL755hvatWsH5KTXGjduHJ9++innzp3DZDLxxRdfEBUVVeLFaUXNFK+P59Wdr9oFRPIv8mq0GJl3aB57ovfYtTNbzYQnhNu2e4f0rrSAiBCieqlp1xULFiyQ64oqcF1xPP44Y/4Yw4xdM3jwtweJ18dfv9F/LqXaLzh/vXVBNCoNwxsPp3+9/qiUNzYTWwghRPnKPnPGbtuxWeEPcQhRnajc3HDr0QP33r3xGjOGuj+uoOmxozTZt5eGGzfQ5N89NN7zD8Hz5+P73LMEzn6TBn/8Tr1VKyH34XCTiYSF35T6va0mE9YbTMMvRE1VpYMiWVlZDB48mNOnT7Nu3boin2YsqYiIiCLTTtxKlixZQt26dWnbti3BwcEcP36cjRs32p6ShJy0EwaDgeDgYLp3786QIUN4+eWXbfvffvtt3n33XTw8PBg0aBAAc+bMITQ0tNT9Wb58Oe3ataN37964ubnRpEkTFixYYJt+PHLkSJo0aUJQUBAeHh7s2LEDNzc3Fi5cyIIFC3B3d2fatGmMHz++jCNTuKKe1izpjKUlS5bg4+Njmznk6+vL999/b9u/bNkyuxzwI0aM4I033uCxxx5Dp9PRokULHBwcWLZsma3Oe++9R//+/enSpQs+Pj4sW7aM33//nbp1697YSYoaYcvlLehNetv2K51eYecDO5nYeiIKCt5gc1QVTM3i6+TLuJbjKrKbQogapqZcV3z33XcsXLgQDw8Pua6o5OuKzZc3215HpETw2J+PEZdZ+Ho618ofFPF39sdJXTA9nBBCiKotf1BEpdOh9pP7OKJmUlwzC1ml0+F2V098JkzAY9gwtHXr4tisGbpBeQ8bJf/0M2fu6M7pO+7gdLc7OH17N07f3o2zffpy6YlxxMyaRcKiRcR++BER99/PybbtOHdbW5IHDCR11a83+QyFqLoU1pImvrzJzGYz999/P+vXr2f16tUMGDCg0HrR0dGkpKTQoEEDW3qPuLi4AsGP9evXM3DgQJ599lk++eSTUvfn+PHjtGjRgmPHjtn9gR4REQGUPM1E7uLkhaU+qireeOMNNm7cyI4dOyq7K0WqDuNYlRT1PTUajSQkJODt7S3pccqoKozls5uetd1ICvUOZcWgFbZ9e2P28tXhr9h7dS8WqwUntRML+izgi8NfsDNyJwAD6g3g5Y4v4+noWSn9h6oxjjVBeY9jUb8DxY0rbkxLc21RHX4fVofrCqgeY1lVFPcdLY+fP6/ueJXV51bblTX3bs7Xvb/mlR2vsCd6D4+1eIwJbQqud/LKjldYcy4nV3/HgI4s7LvwhvpQ2eT3YfmQcSwfFTGOcm1RvspzPKvCv5uol14iZXXOz3Ln9u0JWbqkUvpRFlVhHGsCGccc2efOETFosN3C6zdErabuDz/g1LJsqflvVfJ9LD9V4Z5Flc2PMnnyZNasWcPgwYNJTExk6dKldvtHjRoFwLRp01i8eLEtDzPk5NW+7bbbaN++PTqdjgMHDvDtt99Su3Ztpk+ffrNPRQghKpzBbOCf6H9s292Du9vt7xDQgQ4BHYjXx3M07iiNPBsR7BbMpz0/5a+LfxHsGkwbvzY3uddCCCFEQTEZMQXKwhPCuX/1/cTqYwGYf3g+DT0b0jvEPs/8xdS8NUWut56IEEKIqikr30wRh8aNKrEnQlQNDg0aoLv/PlJ+WVm2A5lMRE2ZQr2Vv6B0cbl+fSFqsCobFDl06BAAa9euZe3atQX25wZFCjNy5Eh+++03/vrrLzIzMwkMDGTcuHHMmDEDf3//iuqyEEKUm+1XtpNiSKFf3X5Fru+RZcpixq4Z7IvZR2Ovxnaps64NiuTycfKhZ52etm2tSsug+oPKt/NCCCFEGURnRBdanhsQyTVz90x0Wh1OaieaeTdDpVDZpc8KcQup0H4KIYQof1azGcPZc7Zth8aNK7E3QlQdATNm4NK1K6a4nJSiCoUCFAr4L1W2KSkR46XLGC5fxnjxIqhUOHfqiEvHjmSeOEHqTz8DYLh4kYh7h+DW6y4UWi1WswWVpwdqbx/U3l6oPDywmi1gNqHy8UHj75+zJonBgMrbu8i174SobqpsUGTLli0lqrdo0SIWLVpkVzZ79mxmz55d/p26Rbzxxhu88cYbld0NIW5ZP578kdl7cn6G/XnhTz7u8TEqpQqr1Wq7ADFbzEzbPo2NlzYCEBuZd6PI29Gb5t6yGKEQomqQ6wpRGlar1W6myENNH+Kn0z9hspgK1E3JTuHxvx4HoJZrLe4MvpOk7CTbfpkpIoQQ1Y/h4iWsBoNt26GRzBQRAkCp1aIbOPD6FQvhoteTEX4C87FjABivXCFx8ffXaVWQJqQOfv/7H259+xYIjlgtlgJrpAhRlVXZoEh1UkWXZRHCJv/NdFG1JegT+PjAx7btLZe3MGXrFM6lnCM+M54Hmj7AqOaj+Pzg57aAyLW61eqGUiEXI0IIISpGRV5XJGYlYrDk3Qy7s/ad+Lv489H+jwDQKrW08m3Fvqv77NpFpkey/ORy27a71p2OAR0rpI9CCCEqTv5F1gEcGjaspJ4IUXMo1GpcXn0F/csvY7xw8foNimC8eInI5/+HQqvN+U+jQaFWY8nKwpKejiY4GI8Rw3HvPwCVhwdKF2e5FyWqLAmKlJFSqcRgMMhNZ1FlWa1WzGYzWq22srsiSuCzg5+Rbky3K8sf/FhwdAELji4o9hhFpc4SQlQPCoUCk6ngU/FCVAUVfV1x7XoiAS4BdAroRLY5m8OxhxnbYixNvZry6B+Pcjb5bKHH0Cg1fNTjI1y1rhXSRyGEEBUnf1BEHRCASqerxN4IUXOoAgKoHRZG9q5dpP3xR86/tf8WuDYnJWOOj8dqNJboWFaDwW5GVy7j5cvEffAhcR98mFOgVKJ0dUXp6oLK1Q1tSB28xo7FuW3bcjsvIW6UBEXKyMHBAb1eT2xsLH5+fhIYEVWK1WolNjYWs9mMg4NDZXdHXEd4Qjgrz5Ru4TQXjQv3N7qfJeFLAHDTutElqEtFdE8IcZNotVqysrLIyMjARRZAFFVISa8rzFYzOyJ34O3iTUuflqW6Pr52PZEA5wBUShUTWk+wK18xaAXnU87jrHbmt4jf+OLwF1ixolQomdt9Lh0DZZaIEEJUR9mnT9teS+osIcqX0sEB9z59cO/Tp8A+q9WKJT0dc0oKCpUKFApMcXGYYmNRaB0wxkQTP+9zTFevlvwNLRYsqalYUlMxEU326dOkbdiIS7duaAIDc2aaaLWoPDxw69Mbh/r18/pjNGJOTkbp5oZCqST7/HlM8fE4NmuG2surPIZD3OIkKFJG/v7+ZGdnk5iYSEpKCiqVqtg//KxWq21WiQRQbpyM4/XlPslpNptxcnLC39+/srskrmPR8UVYyUnHp1VqeaH9C3y8/2OyzFk09GiIVqUlPCHcVr+Vbyumd5xOqE8ood6hbL2ylWGNhuGmdausUxBClANfX1/S09O5dOkSWq1WrituEhnL4pXmuuKz8M/47cpvANR2q82Y5mMY0WREicY1f1DEw8EDZ41zofUcVA409WoKwIQ2E+haqyubL22mV51etPRtWZpTE0IIcZNZzeacm6756A8fJu3vTaT99ZetTIIiQtw8CoUClZsbKre8+wmagAC7OrpBg8j45x/MySlYjQasRiNWoxGloyMKtZqUdb+R+c8/132vjB07CpTFffwxji1agEqJOSERY3Q0mM25nYPcpQs0Gtx69kSh1WKKiUHl6YGmVjDOnTri2r17gZ8tQhRFgiJlpFQqqVOnDlevXiU7OxuLxVJsfavVisFguO5NDlE8GcfrUygUaLVaHBwc8Pf3RykLXlVpepOeLZe32LZHNh3Jw80epledXqQaUmno0RCr1cq6iHWcSznH3XXuppVvK1v9gfUHMrD+jS26JoSoWrRaLYGBgSQlJWHO/UOgCPL7sPzIWBavNNcVO2N32l5fTrvM7D2zyTJnMSZ0zHXfJ3/6rECXwBL3r7Vva1r7ti5xfSGEEDefKSGBqBdfIvPff3HtcSc+EyaQdeo0yStWoD98uEB9h8YSFBGiKlE6OeHWs2eR+z2GDcMYFYUxOhpzWhqW9Aws6WmY09IwxcWR8stKLBkZRbbP+m8h+ALyr+VsNNoFT3MlLlqEJjgYl9tvR+nqgjk+HsPlKyidnNDWr4/KzQ2r0YDKwwPHli1Re3pivBqLJTOnP0pHR1Re3ihdnHOCPQZjTuBHr8eUmIQ1S4/VxQWjUokhJAQ8PbFmZWHR67Fk6rEaDKj9/dAGB6PQaLAaDOiPHEF/6BCWzEysJjNWswlMZpQuzqi8vFF7e6Hy9kbt7Y3KyytnfZb0dJRubqhcJQ1sRZOgSDlQKpUEBpbsjzaj0UhCQgLe3t5o/svdJ0pPxlHUNNuubENv0tu2B9cfDOTkUg9w+e/pDAXc2/DeyuieEOImc3d3x93d/br15Pdh+ZGxLB9Gi5EUQ0qB8s8PfU7fun2xWC2olWr8nP0KbZ9/poi/i8xyFUKImsJw5QqXHn8c48VLAKRt2Ejaho1F1ldotbh07nyzuieEKCeaoCA0QUGF7vMZP57E75eQdepkzrok/wUfsk+eLHSNktIyXrlC8o8/FijP2LmzkNo3Lr24nUplTlDEYoESrtFS2DGcbrsN544dULm6gVKJJT0dhVqFQ7NmOLVsidrbG0tWFilr15J95gyu3e/EpWsXUCiwZmaiLEEaZqvBAGo1inwPO1lNJrLPnsVqNqMJDMScnEL26dNY9HqULs6oPT3R1AlBpXPHnJKKKS4OY1Qk5sRErNnZoFCiCQ5GWzcETXAwSq0Wq8GAMTYWU0wMloyMnBlBJfhbt6JJUEQIIaqAPy/8aXsd4h5iSwkihBBCVCfJWcm2VJD56U16hq8dTnJ2Mlqlllm3z7LNcLRYLfxw8geSs5M5k5S3wG5pZooIIYSoujL37uXK/17AHB9fbD2lqytObW9DExSE7p57C6TuEUJUb2ofH/xe+F+BclNSEqn/3dxXOjujdHdHW7s2aj8/LBkZWDL1aEPqoHR2JnnVKjL37UPl6oY6MABzcjJZR4+Vbq2TimSx5AQHyngM/f796PfvL7KKOigQa1Y25sREAJK+X4La3x9LWhqWzEzUfn44tmiB0tEBq9kCFjNWixWVqysKJ0f0hw6TffIkSnd3nG5rg8rNHXNiIvojR7CkFxv2KTmFApVOhzklxX62j1qNc7fbUfTsiXXQIKikB9IkKCKEEJUsw5jBtivbbNt96/aV1C1CCCGqpfgs+xtebXzbcCjuEADJ2ckAGCwGXt35Kv7O/rQPaM+S8CW8v+/9AseSoIgQQlR/iYsXc/W9uXlrAwDa+vUxXLxoK3No0gSPoUPR3X8/KtfrP90shKhZ1J6eeI0eXaK6/lOnFiizmkykbdpE2h9/YIpPwJyehspdh7ZOHSzp6WSfP4/VaECh1mC8fLnYFF6FUihQODpi1euvX/caSje3nACvWp2z3olKiSUtHXNCQk6w4AaZoqILluULDJliY0nftOm6x7GkppKxddt1690QqxVzcnLBcpOJzC1bYctWEqOjCXj++Yp5/+uQoIgQQlSyDRc3kG3Oe5KgX91+ldgbIYQQ4sYl6BPstud0m8OD6x8kJdv+jz6TxcTzW55nSf8lfB/+faHHsqWPFEIIUS2l79zJ1bffsStzHziQwLfnYIqKInP/fpxat8ahYcNK6qEQoiZQqNW49+mDe58+161rtVgwXLiANTsbtb9/zsLyCgWWzEzMiYlYMjNRaLUoNJqc/zs6onJ3R6FSYcjIIP78edxRoMzSo3B0QunshNLJCVQqjJGRGK9EYjUawWrFoWEDHENDUagLv/1uNRoxJSZhTkzAFJ8AVgtKFxeyTp4kfctWjFeuYNHrwWJB6eqKOTW10Bl3CkdHrFlZZR7H4ig0mpzzKoLyvxkoVoMRSymCPW4DBpRH926IBEWEEKKcbbi4gR9P/kiwWzBDGw2lhU8Lu5kfp5NO883Rb9AoNdRxq8OCowts+xroGtDIUxYUFEIIUT3lnynioHIg2C2Y97q/x7Tt03BUORLqE8qGixsASMlOYczvY0jKTir0WDJTRAghqrfE7xblbahU+E2dgteYMSgUCrR166KtW7eyuiaEuEUplEoc6tcvUK5yd0d1nXUuFFotSh8fHIpYg1Dj5we33Vbyvmg0aPz90Pjbr7Xn3K4dXg8/XKC+1WrFFBOD/uhRso4ew2rIxrVHD5zbtSPt77/JCj+B2s8PtY83WSdPYYg4h9VqRaFUoVCrADCnpGJOS0MbEoJzxw6Y4+PRHzkKgNLNFW3durh06oRKp8MYcxWlkyMOjRujcnPDYjBgio3FcPEiVr0elU6HytMTTVAQSmdnWz/NyckYLl3CcPES5qRE1D4+qAMC0AQEYDWZSFm7luRVv2J1d0dbr16Jx6u8SVBECCHKicVqYd7heXx7/FsA9sTs4Zczv9DSpyWT20+mmVczVp1dxYf7PsRgKXwRsYeaPXQzuyyEEEKUq4SsvJkiPk4+KBQKugZ1ZevIrUDOH3Ov73qdX8/+ClBkQARkpogQQlRn2RHnydixw7bt+8zTeD/6aOV1SAghqjmFQoEmMBBNYGCBWTHu/fvj3r+/3XZZXTuLT6nVog0ORhscXGw7lYcHTh4eOLVqVeh+36efRjduHPHnzpW5j2UhQREhhCgnX5z8gl8v/Vqg/Gj8UR7941GUCiUWq6XI9hNbT2R44+EV2EMhhBCiYsXr82aK+Dj5FNivUCh4pdMrHIo9xIXUC8Uey9fJt7y7J4QQ4iZJWr7c9lqh0eAxYkQl9kYIIURVolAoUHp6VmoflJX67kIIUUMkZSWx+tJq27ajyhFXjatdnfwBEQUKQtxDAHBSOzGn2xwmtJkgC6wLIYSo1vKvKVJYUATAUe3InG5zUCry/hRxUjsVqKdSqsq/g0IIISqcOT2DlFWrbNvuAwag9vauxB4JIYQQ9iQoIoQQ5eBYwjGsWG3bC/os4O/hf/N82+dx0bjY1a3lWosFfRaw7r51bB25lb+H/83gBoNvdpeFqBHS09OZMWMG/fr1w8vLC4VCwaJFi0rU9u+//+axxx6jcePGODs7U79+fZ544gmio6ML1O3RowcKhaLAf/369SvnMxKiesu/pkhRQRGAlr4tearVU7btUc1G8XGPj23bwxoPq5D+CSGEqHgpq3/FkpFh2/YcVTA3vhBCCFGZJH2WEEKUg2MJx2yvfZx8aO3bGoVCweMtH+fehveyM3InFquFFj4tqK+rb3v61cvRq7K6LESNEB8fz6xZs6hTpw6tW7dmy5YtJW770ksvkZiYyPDhw2nUqBERERHMmzePdevWcejQIQIC7NczCA4O5u2337YrCwoKKo/TEKLGyD9TxNup+KeCn2r9FE29mpJtzqZP3T4oFUq+uPsLrmZcZWD9gRXdVSGEEBXAarWStCwvdZZj61Y4tWxZiT0SQgghCpKgiBBClIPwhHDb6xY+LezSYPk4+XBvw3sro1tC1HiBgYFER0cTEBDAvn376NChQ4nbfvjhh3Tr1g2lMm/ibL9+/bjzzjuZN28es2fPtquv0+kYNWpUufVdiJro2oXWi6NQKOhZp6ddWbda3SqkX0IIIW6OzN27MURE2La9HpZZIkIIIaoeSZ8lhBBlZLVaOZ543LbdwrtFJfZGiFuLg4NDgRkdJdW9e3e7gEhumZeXFydOnCi0jclkIj09/YbeT4iaLtOYSaYp07bt41h8UEQIIUTNk5hvlojK2xs3STUqhBCiCpKZIkIIUUZX0q+QnJ1s227pI9PDhaiu0tPTSU9Px8en4M3c06dP4+LigsFgwN/fn3HjxvH666+j0WiKPWZsbCxxcXF2ZWfPngXAaDRiNBpvuL8mkwmz2YzJZLrhY4gcMpb2ziSf4fvw7zmRdIKHmjzE/Q3vv26bmLQYu20PjUeZvt+3Mvk+lg8Zx/JREeMoPxtqFnNaGglff03m3n3oDx+2lXuOHIFSq63EngkhhBCFk6CIEELkYzQbWRuxlitpVxjZZCT+Lv52+80Ws209kFzH4o/ZbYf6hFZ4P4UQFePjjz/GYDAwcuRIu/IGDRrQs2dPWrZsSUZGBmFhYcyePZvTp0/z448/FnvM+fPnM3PmzEL3paSkkJCQUOi+kjCZTKSlpWG1WlGr5bKuLGQsc5itZj46/hF/Rv5pK5vz7xwaaBsQ7BJcbNuIpAi7bVWWqkzf71uZfB/Lh4xj+aiIcUxJSSmX44jKl3XiBFeefx7jxUv2O9RqPK65nhJCCCGqCrkyFEKI/+yN2cvsf2YTkZJzU+fXs7/yXb/vCHEPISYjhld3vMr+q/vpWqsrE9tMJNQ7J/hxNP6o7Rh13Oqgc9BVSv+FEGWzbds2Zs6cyYgRI7jrrrvs9i1cuNBu+5FHHmH8+PEsWLCA//3vf3Tu3LnI406cOJHhw4fblZ09e5YhQ4ag0+nw9i5+MerimEwmFAoFXl5ecsOvjGQsc+y9utcuIAJgwcLKqJXM7Fx4cC+XMcP+ye8GgQ3QquQJ4Rsh38fyIeNYPipiHHU6uV6uCdI2biRy8hSs2dkF9nkMHYrG37+QVkIIIUTlkytDIYQADlw9wBN/PYHFarGVxenjeOzPxxjWeBgrTq4gMSsRgG1XtrHtyjYeavoQL3d82W6mSG6gRAhRvZw8eZL77ruPFi1a8M0335SozeTJk1mwYAEbN24sNiji5+eHn59fofs0Gs11029dj0qlQq1Wl/k4QsYSIDozutDy9efXM7HNRILdip4tkmRIsr1217rj4uhS7v27lcj3sXzIOJaP8h5H+Tyqv5TVq4ma/gqYzbYyp7Ztce3eHYeGDXC9885K7J0QQghRPFloXQghgE2XNtkFRHLFZsYy/9B8W0Akv+Unl/PRgY8ITwi3lYV6SVBEiOrm8uXL9OnTB51Ox/r163FzcytRu9q1awOQmFjw54MQ1dW1v+9UipyUkWarmcf+fIz7Vt/Hw789zISNE3hz95t8f/x7TiedBiBeH29r5+144zOghBCiMmVnZ/PSSy8RFBSEk5MTnTp1YsOGDSVqGxkZyYgRI/Dw8MDd3Z17772XiIiIQusuXLiQZs2a4ejoSKNGjfjss8/K8zQqjNVqJf7rBUS99LJdQMR73DhCvl+Mz1NP4nb33Sgk8CWEEKIKk5kiQggBnEs5Z3vdObAzblo3Nlws+MdPW7+2nEg8gd6kB+C7Y9/Z7W/t27piOyqEKFcJCQn06dOH7Oxs/v77bwIDA0vcNvcmh6+vb0V1T4ibLiErbw2QVj6tqKerx+pzqwGIzih8Fgnk/H68knbFtu3j5FNxnRRCiAr06KOPEhYWxvPPP0+jRo1YtGgRAwYMYPPmzXTr1q3Idunp6fTs2ZOUlBSmT5+ORqPho48+4s477+TQoUN26TK/+uornnrqKYYOHcoLL7zA9u3befbZZ8nMzOSll166Gad5Q8zp6cTMnEXq2rV5hQoFATNm4PmArB8ihBCi+pCgiBBCABHJeU9wtfFrw/hW42l2rBkbLm4g1ZCKk9qJ4Y2H82DTB9l3dR/j/hqH2Wq2O0Y3v24092p+s7suhCiB6OhoUlJSaNCggS1lR0ZGBgMGDCAyMpLNmzfTqFGjQtumpqbi4OCAg4ODrcxqtTJ79mwA+vbtW/EnIMRNkqjPmyni5ejFuFbj+P387xgshmLbHYg9YLft4yhBESFE9fPvv/+yYsUK5s6dy5QpUwAYPXo0LVq04MUXX2TXrl1Ftp0/fz5nzpzh33//pUOHDgD079+fFi1a8MEHHzBnzhwA9Ho9r7zyCgMHDiQsLAyAcePGYbFYePPNNxk/fjyenp4VfKYllx0RQfapU2SfiyBpyRLMKSl5OzUagt5+G92ggZXXQSGEEOIGSFBECHHLyzRmEpURZdtuoGuARqlhXKtxjGs1rkD9DgEdeL7t83yw/wNb2V2172JK0ykoFIqb0mchRJ558+aRnJxMVFTOv+O1a9dy5UrOE+uTJk1Cp9Mxbdo0Fi9ezPnz56lbty4ADz/8MP/++y+PPfYYJ06c4MSJE7Zjurq6MmTIEAAOHDjAgw8+yIMPPkjDhg3R6/WsWrWKnTt3Mn78eNq2bXtTz1eIipR/poi3kzch7iF81fsr/rzwJ2qlGie1E5mmTBKzEolMi+R00mmyzFkFjuPtJOmzhBDVT1hYGCqVivHjx9vKHB0defzxx5k+fTqXL1+2pc8srG2HDh1sARGApk2b0qtXL3766SdbUGTz5s0kJCQwceJEu/ZPP/00y5Yt47fffmPUqFEVcHalY7VYiJn1JknLlxe6X+XlRfBnn+Lcrt1N7pkQQghRdhIUEULc8s6nnrfbru9R/7ptxoSOITErkd8ifqNP3T482/pZUpJSrttOCFH+3n//fS5evGjbXrlyJStXrgRg1KhR6HS6QtsdOnQIgG+//ZZvv/3Wbl9ISIgtKBISEsIdd9zBqlWriImJQalU0qxZM7788ku7myZC1AT51xTxcvQCoH1Ae9oHtC+0fqohlV9O/8KnBz/FZDHZymVNESFEdXTw4EEaN26Mu7u7XXnHjh2BnGuHwoIiFouFI0eO8NhjjxXY17FjR/766y/S0tJwc3Pj4MGDALRvb/9ztV27diiVSg4ePFhsUCQ2Npa4uDi7srNnzwKwc+dOIiMj6dmzp93+3bt3k5WVRUBAAM2aNbOVJyUl2a6H2rRpg6enJyaTCZPRyD+z3iT67Bm0zZrS9MRJu+OF9+uLyx13gJsb9YxGW3l0dDQnT+bU7dy5M05OTrZ9Bw8eJDk5GQ8PD2677TZbuV6v559//gFygkj5U5meP3+eCxcuAJTpnHKdOHGCmJgYHB0d6dKli93xNm/eDEDdunWpV69emc9p165dZGVl0bp1a4KDg2vEOVXG59ShQwfMZjMmk6nGnFNlfE4mk4lLly5x6NAhlEpljTgnuPmfk8ViwcvLy+7vy+p+TlA5n5PJZMJsNrNz504MBkOZz8mY73dRSUlQRAhxy8ufOkupUFLXve512ygUCl5o/wIvtH8BuLEfwEKI8pF7gVWcRYsWsWjRolK3A6hXrx4//fRT6TsmRDWUoLefKXI97lp3xrYYS0OPhvxvy//INmcD0MK7RYX1UQghKkp0dHSh64vlluXOSr1WYmIi2dnZ123bpEkToqOjUalU+Pn52dXTarV4e3sX+R655s+fz8yZMwvdFxsbi0ajISEhwa48KioKvT5nTcT875uQkEBkZCQAtWrVwmKxYDQYSH/3PZKuXCbF3x/HrGwiAmDd7Q5oXdy5o+lgUpK9SE1NxeXqVbsAUmxsrO14CQkJdjfSoqOjSUxMRK/XU6dOHVu5Xq+3tfHy8kKr1dr2Xb161e54N3pOuWJiYoiMjMTJyanA8XLbODk5lcs5RUVFYTKZiIuLs2tTnc+psj6ntLQ0rFYrarW6xpxTfjfjnEwmE4mJiURFRaFQKGrEOcHN/5ysVqvtGGq1ukacE1TO52QymUhLSyM6OpqsrKwyn1NK/tSOJSRBESHELe9cct4i63Xc6qBVaYupLYQQQtRMJouJ5Oxk23buTJGSuCP4Dhb3X8yy48uo41CHdv6STkUIUf3o9Xq7NcRyOTo62vYX1Q4oUVu9Xm93s+jaukW9R66JEycyfPhwu7KzZ88yZMgQ/Pz8qFWrlt2i7gBBQUG2p4vz71MqldSqVQsAX19fPD09Sd2wkfS//8apdjDqrBSO17Hwey8NVsxAEpvSvqd9Rnva+7fH39/f7ngGg8F2PG9vb7sbaYGBgTg5OeHh4WHXRq/X29r4+fnZ7UtNTbWNR1nOKVdAQIBtnK89Xm6b8jqn3P75+vrWmHOqrM9JoVDg5eWFWq2uMeeU3804J5PJhJeXl62fNeGc4OZ/TrkzRby9vW1Bkep+TlA5n5PJZEKhUBAYGGibKVKWcyoqO0RxFNbcMJco1vHjx2nRogXHjh0jNDT0ho9jNBpJSEjA29vbttCrKD0Zx/Ih45hj0qZJbLm8BchZG+STuz4p9TFkLMuHjGP5KO9xLK/fgSKPXFdUPTKWEK+Pp+dPedP0F/ZZSMfAjqU6hoxj+ZBxLB8yjuWjIsaxql5btGjRAn9/f/7++2+78vDwcEJDQ/nyyy958sknC7SLj4/H19eXWbNm8dprr9ntmz9/Pk8//TQnT56kSZMmPPPMM3z55Ze2dED5+fn50atXL3744YdS9bs8x9NgMLBu3hRWJ/7NwYZKrMUsmdglsAtz75yLzqH0N6NqOvn5Uz5kHMuHjGP5kHEsP1XhnoWyzO8qhBDVXP70WQ08GlRiT4QQQojKkz91FpRupogQQtQEgYGBREdHFyjPLQsKCiq0nZeXFw4ODiVqGxgYiNlsJjY21q6ewWAgISGhyPe4WcITw5nhvZkDjewDIg4qBwJcAuzq7o7ezUvbX0KetRVCCFHdSFBECFGjWK1WMowZWKyW61cGskxZXEm/YtsuySLrQgghRFUVmR7J1K1TeWPXG2QaM0vVNiHLPihSkjVFhBCiJmnTpg2nT58mNTXVrnzPnj22/YVRKpW0bNmSffv2Fdi3Z88e6tevj5ubm90xrq27b98+LBZLke9xszT3ak4j90a2bbVCzcD6A1kzZA1/Dv2Tj3t8jJ9TXt73nZE7WRexrjK6KoQQQtwwCYoIIWqE/Vf389BvD9FpeSc6L+/MgJUDOJN0xrbfarVyPOE46yLW8e2xb/nrwl8YzAYupl60C6A00MlMESGEENXX/EPz+ePCH/xy5hc+3P9hqdomZiXaXqsUKkmHIoS45QwbNgyz2czXX39tK8vOzua7776jU6dO1K5dG4BLly5x8uTJAm337t1rF+w4deoUmzZtslsD5K677sLLy4svvvjCrv0XX3yBs7MzAwcOrIhTKzGFQsGQOkPwdvTmqdZP8eewP3nnjncIcg1CqVDSK6QXYfeE4ePkY2vz3t737H6HCCGEEFWdLLQuhKgRZu2eRURKXhqsyPRInvjrCV7t/CqnEk+x/vx6LqddtmvT1Ksp7f3b27YVKKirq3uzuiyEEEKUuzXn1the/3jqRya0nlDiGR/502d5OnqiVMjzU0KIW0unTp0YPnw406ZNIzY2loYNG7J48WIuXLjAwoULbfVGjx7N1q1b7dJGTZw4kQULFjBw4ECmTJmCRqPhww8/xN/fn8mTJ9vqOTk58eabb/L0008zfPhw+vbty/bt21m6dClvvfWWbTHkytQzsCdDQ4fi4uhS6H5PR0+md5rOC1teACA5O5nJWyYz/+75OKmdCm0jhBBCVCUSFBFCVHuphlS7gEiuxKxE24V6YU4mnuRkYt4TXrVca8lFvBBCiBrlh5M/8Mxtz5Sobv6nfGU9ESHErer777/ntddeY8mSJSQlJdGqVSvWrVtH9+7di23n5ubGli1b+N///sfs2bOxWCz06NGDjz76CF9fX7u6EydORKPR8MEHH7BmzRpq167NRx99xHPPPVeRp1ZiGqUGrUpbbJ3eIb3pVacXf1/KWZR+39V9PLvpWT676zMc1Y43o5tCCCHEDZOgiBCi2su/UDpAM69mnEg8UWhdpUKJs9qZdGN6gX3danWrkP4JIYQQN4uz2plMU95aIl8d+YpNlzfh5ejF4PqDGVBvABqVptC2+WeKeDvKeiJCiFuTo6Mjc+fOZe7cuUXW2bJlS6HlwcHB/PzzzyV6n3HjxjFu3Lgb6WKV8XqX14lIieB8ynkA/on+h+e3PM+nPT+9blBFCCGEqExVdk783r17eeaZZwgNDcXFxYU6deowYsQITp8+XaL2ycnJjB8/Hl9fX1xcXOjZsycHDhyo4F4LISrDueRzttdqpZqlA5Zyb4N7bWVuGjd61enFhz0+5N+H/2XryK08GvqobX+IewiT203mxQ4v3sxuCyGEEOXKaDbaBURynUk6w57oPby681X6r+zP2nNr7dbTymU3U8RJZooIIYQonpejFwv7LCTEPcRWtjNyJ5O3TMZoNlZiz4QQQojiVdmZIu+++y47d+5k+PDhtGrVipiYGObNm0fbtm35559/aNGiRZFtLRYLAwcO5PDhw0ydOhUfHx/mz59Pjx492L9/P40aNbqJZyKEqGjnUvKCInXd66JVaXnz9jd5sNmDKFHS2LMxKqXKrs3k9pMZ0WQEmcZMGns2RqFQ3OxuCyGEEOUqOTv5unWuZl5l+o7p/HjqR2bdPov6uvq2fQlZMlNECCFE6fg6+/JNn28Y+8dYrqRfAWDLlS0M/nUwDzR5AJVSxdnks+yM3ElCVgITWk9gfKvxN7WPaYY0DsYe5FTiKbLN2bT1a0sbvzZkmbNIzk4mJTuF2MxYLqRcINOUSdegrnQI6MCGixv4N/pf7qx9J92Dc9KnpRvScdY4y7pbQghRzVXZoMgLL7zA8uXL0WrzplyOHDmSli1b8s4777B06dIi24aFhbFr1y5+/vlnhg0bBsCIESNo3LgxM2bMYPny5RXefyHEzZN/pkgDjwYAKBQKQr1Di21X2612hfZLCCGEuJmuDYooUBDgEkAb3zacTDppS28CcDjuMA/99hDv3PEOPWr3AGRNESGEEDcmwCWAhX0X8ugfjxKdEQ1AZHokH+z/oEDdzw5+Roh7CH3r9r0pfdtwcQOv73y90PTJRfn22Ld4OniSlJ0EwE+nf2Joo6FcSb/Cnug9+Dn7cW+De+ka1BV/F39UChXZ5myC3YLRKAtPUSmEEKJqqbJBka5duxYoa9SoEaGhoZw4UfhaAbnCwsLw9/fn/vvvt5X5+voyYsQIli5dSnZ2Ng4ODuXeZyFE5bALiugaVGJPhBBCiMqTkp1it71x+Eb8nP0AsFgt/HXxLz7c96HthlWGMYNJmybxRpc3uL/R/fZrijjJTBEhhBAlF+QaxMK+C3l207OcTT5bbN2Zu2YS6h1KsFtwiY+fmJXIvzH/YjAb0Kq0+Dv708ijEa5a10LrG81Gvjv+HZ8d/KxU55ErNyCS65czv9hex2bGsuDoAhYcXWBXR+eg47m2z9HIoxGbLm5CY9Yw1mMsGo0ESoQQoqqpskGRwlitVq5evUpoaPFPfx88eJC2bduiVNpPZ+zYsSNff/01p0+fpmXLlkW2j42NJS4uzq7s7NmcX+pGoxGj8cZzY5pMJsxmMyaT6YaPIWQcy0tNGMc0QxpXM6/atuu61S3Tv9EbVRPGsiqQcSwf5T2OlfFvSghRetcGRTwcPGyvlQol/er2487gO/lw34esOLXCtu/dve/Sxq8NRkvev3WZKSKEEKK0arvVJmxwGBsubuD78O85k3QGV60r3o7e1NPV448LfwCQZkxjxNoR9K/Xn46BHWni2YQQ95BCUxofij3EZwc/Y9/VfYWuh9XUqymjm48mTh/Hz6d+JtWQShOvJkQkR9ilhQTwdPBEoVDYzYzMz8/ZjyxTFqmG1Bs6/5TsFGbtnmVXtit+Fx/3/Bh/F/8bOqYQQoiKUa2CIsuWLSMyMpJZs2YVWy86Opru3bsXKA8MDAQgKiqq2KDI/PnzmTlzZqH7UlJSSEhIKHRfSZhMJtLS0rBarajV1Wr4qxQZx/JRE8YxPDncbtvL6lWmf6M3qiaMZVUg41g+ynscU1JSrl9JCFHp8qfPclI7oVVpC9RxUjvxSudXaO7dnNd3vQ6A3qTntZ2v2dWTmSJCCCFuhEqpol+9fvSr16/APheNi23GRZoxjZ9O/8RPp38CoKFHQx5r8Rj96vWzpaD6LeI3Xtv5ml3Q/lonE08yfcd0u7K9MXvttjVKDW90fYPB9QdjxcqJxBNEpkXi7uCOh4OH7T9HtSOZxkx+Pv0zB2MP0iWwC2382vDStpc4l3IOV40rI5qM4FLqJbZe2Vpsv3IdSzjGPb/eQ0PPhrTxbcPjLR+XBw+EEKIKqDZ3nE6ePMnTTz9Nly5dGDNmTLF19Xp9oemxHB0dbfuLM3HiRIYPH25XdvbsWYYMGYJOp8Pb+8b/SDSZTCgUCry8vOSGXxnIOJaPmjCOCcl5ARC1Qk3L2i0rJY9rTRjLqkDGsXyU9zjqdLpy6JUQoqLlD4roHIr/d3tfo/vYG7OXtRFrATgaf9Ruvyy0LoQQory91PElYjJi2Bm1s8C+s8lnmb5jOrP/mU1r39ZkmDI4EnekQD2tUovBYijxe9Z1r8vMrjNp698WyFlvK9Q7tMj1J501zowJHcOY0Lz7TmH3hHEq8RQh7iG2dF1Gi5H4zHiuZl5FqVByNfMq7+99n6iMKNv7WLECkGnK5EjcEY7EHeHvS3/zfNvn2Xd1H2mGNNr6taVTYCd8nX1xVjsXOltGCCFE+asWd5xiYmIYOHAgOp2OsLAwVCpVsfWdnJzIzs4uUJ6VlWXbXxw/Pz/8/PwK3afRaMqcD1KlUqFWqyWvZBnJOJaPqjiO0enRfHLwEw5cPcBdde7ikeaPEHY6jH0x++hXrx8PNX0IhUJBtjmbiNQIW7sQ9xCcHZwrrd9VcSyrIxnH8lGe4yifhRDVQ/70WflTZxXl+XbPs/HSRvSmgg8MyVOsQgghypuT2okv7v6CI/FH+PXsr+yK3GULIuTKNGWyO3p3gbbjWo5jeOPhBLoGYrKYuJR2iX0x+1h8fDGX0i4B0Nq3Nd2Du3Mm6QyOakf61+tP58DOKBXKAscrDbVSTaiPfRBFo9QQ6BpIoGugrez2oNvZeGkjrhpXWnm1YubOmWyJ2WLXLjI9kqnbptq2159fb3vtpnFjYP2BPNTsIfyd/dGqtKiV1eK2nRBCVDtV/qdrSkoK/fv3Jzk5me3btxMUFHTdNoGBgURHRxcozy0ryTGEEDdXpjGT3VG72Xt1LyvPrLTdoFl2YhnLTiyz1TsUdwh3rTtH44/yw8kf7I7RwEMWWRdCCHHrKs1MEcjJnT6+1Xg+OfCJXXkDXYNCU28JIYQQZaVQKGjt25rWvq0BSDWksvHiRr479h0XUi8UqK9Raph9+2wG1B9gK1Mr1dTX1ae+rj73N7qff2P+xVntTGvf1pU608JZ48w9De4Bctbkm95qOqNbjiY8KZwtl7ew7+q+YtunGdNYcWqFbd0vF40LI5uMZNJtkyQ4IoQQ5axK/1TNyspi8ODBnD59mo0bN9K8efMStWvTpg3bt2/HYrHYLba+Z88enJ2dady4cUV1WQhxA1INqQxdM5SYjJgS1X9lxyu2qcj5SVBECCHErSx/UKQkM0UAHg19lJTsFPbG7MWKFR8nH8a1HFcxHRRCCCGu4a515/5G9zOk4RCOxh9lT/QeTiaeROego657Xe4OuZtarrWKbK9Wquka1PUm9rjkFAoFbXza0CGoAw83e5j3971ve+DP08GTYLdgjsUfK/RvW4AMYwbfHvuWEwknaOHTglRDKvc2uJeWvkWvkSuEEKJkqmxQxGw2M3LkSHbv3s3q1avp0qVLofWio6NJSUmhQYMGtvQew4YNIywsjJUrVzJs2DAA4uPj+fnnnxk8eHCh640IISrP3xf/LjQg0sizEWeSzhQoL+qisYVPi3LvmxBCCFFdlDZ9FuTcTJrcfnIF9UgIIYQoGaVCaTeDpKZRK9W83PFlBtcfTLoxnbZ+bdGoNCRnJXMh9QJJWUlsvLSR9RHrMVlNdm13R++2pRRbfXY1SwcspYlXk8o4DSGEqDHKHBRJT0/n5MmTxMfHo1Ao8PHxoXHjxri5uZXpuJMnT2bNmjUMHjyYxMREli5dard/1KhRAEybNo3Fixdz/vx56tatC+QERTp37szYsWMJDw/Hx8eH+fPnYzabmTlzZpn6JYQofycTT9peu2hcuKv2XYxoMoLWvq3ZHrmdPdF76BrUld/P/87qc6ttdd20bgyoN4ATCSdo6duSbrW6VUb3hRBCiCohf1CkJOmzhBBCCHFzXbs2iYejB20c2wDQs05P/tfuf5xOOk2GMYMP9n1AZHqkXf0scxaTt07mmz7foFaq8Xb0lsXZhRDiBtxQUOT8+fMsXryY1atXc+zYMSwWi91+pVJJaGgoQ4YMYfTo0dSvX7/U73Ho0CEA1q5dy9q1awvszw2KFEalUrF+/XqmTp3Kp59+il6vp0OHDixatIgmTSSaLkRVcyrplO11z9o9mXPHHNt29+DudA/uDuQsnHc47jAXUi/grHbmi7u/qLFPEgkhhBCldSPps4QQQghRdfg4+eDj5ANAe//2vLbzNf6J/gc3rRvx+ngALqZepHdYbwAaejTk5Y4v0ymwU6X1WQghqqNSBUXCw8N5/fXXWbVqFR4eHvTo0YPhw4dTv359PD09sVqtJCUlcf78efbv38+8efN48803ue+++3jzzTdp1qxZid9ry5YtJaq3aNEiFi1aVKDc09OTb775hm+++abE7ymEuPmsViunk07btpt4Fh24dNW6snTAUnZF7eI2v9sIcAm4GV0UQgghqjyr1SozRYQQQogaxNPRk3m95gFgsph44q8n2H91v12ds8lneeKvJ7ir9l2MbzW+wEwUIYQQhStVUKR169YMHDiQ3377jbvvvhu1uvjmJpOJjRs38uWXX9K6dWsMBkOZOiuEqHliMmJIM6TZtht7NS62vs5BR/96/Su6W0IIIUSlMFlMnEk6Q0PPhmiUmhK3yzBm2OUgl5kiQgghRM2hVqqZ230uD61/qND1ODdd3sSmy5to69eWIQ2H0KduH1w0LpXQUyGEqB5KFRQ5cuRIqWZ7qNVq+vXrR79+/Th58uT1Gwghbjn5U2cBNPYsPigihBBC1FRWq5XRv4/maPxR2vi2YVG/RaiUqhK1zZ86C2SmiBBCCFHT+Dr78tOgn9h3dR+OKkfOp5zni8NfkG5Mt9U5EHuAA7EHmHdoHl/d/RUNPRtWYo+FEKLqUpamcmkCItdq2rTpDbcVQtRc+VNneTt62/KnCiGEELea8MRwjsYfBeBQ3CG2XdnG5dTLfHP0G47EHSm2bf7UWSAzRYQQQoiayNPRk94hvbkj+A5Gh45m7X1reTT0UZzVznb1YjNjGbdhHBdTL1ZST4UQomorVVBECCHK26nEvJkiTbyKXk9ECCGEqOmuDWxsj9zOuA3j+OTAJzz+5+NcSr1UZNtrZ4pIUEQIIYSo+XycfJjcfjJ/DfuLlzu+TFOvvAeS4/XxPP7n44Wm2xJCiFtdmYMiMTExvPXWWwwdOpS7776bu+66y+6/Xr16lUc/hRA1VP6ZIpI6SwhRWunp6cyYMYN+/frh5eWFQqFg0aJFJW6fnJzM+PHj8fX1xcXFhZ49e3LgwIFC665Zs4a2bdvi6OhInTp1mDFjBiaTqdC6QtyIdEO63fa6iHVEpkcCkGXO4oeTPxTZNn9ARalQ4qZ1q5hOCiGEEKLK0TnoeLjZw6wYuMJuDc6rmVeZtGkSmcbMSuydEEJUPWUKihw5coTmzZsze/Zszp07x+bNm4mLi+PMmTNs2bKFy5cvY7Vay6uvQogaJtOYaTedV4IiQojSio+PZ9asWZw4cYLWrVuXqq3FYmHgwIEsX76cZ555hvfee4/Y2Fh69OjBmTNn7Or+/vvvDBkyBA8PDz777DOGDBnC7NmzmTRpUnmejrjFpRjsZ4roTXq77dXnVtuVmS1m2+v8M0Xcte4oFTIhXAghhLjVqJQq3ur2FnfVvstWdjLxJC9vfxmL1VKJPRNCiKqlVAutX+vll1/G1dWVQ4cO4ezsjJ+fH5988gl33XUXP//8MxMmTGDZsmXl1VchRBVlMBvYdHkTF1MuYsFCc6/mdKvVDYVCwT9R/5BtzqZbcDeyTdl8fuhzrmZepUftHpgsJqzkBU4lfZYQorQCAwOJjo4mICCAffv20aFDhxK3DQsLY9euXfz8888MGzYMgBEjRtC4cWNmzJjB8uXLbXWnTJlCq1at+Ouvv1Crcy6f3N3dmTNnDs8995ysnSbKRWp2arH70wxp/HH+D+5rdB9Lwpfw2cHPaKBrwJe9v7SbKSKLrAshhBC3Lo1Swzvd3+GxPx7jWMIxADZf3syCIwt4svWTldw7IYSoGsoUFNm5cycvvvgiderUITExEch56hJg+PDh7Nixg6lTp7J169ay91QIUWV9efhLFhxdYFd2Z/CdqJVq/r70NwAtfVqSZc7iTFLO09cbLm6wq69WqqnnXu/mdFgIUWM4ODgQEBBwQ23DwsLw9/fn/vvvt5X5+voyYsQIli5dSnZ2Ng4ODoSHhxMeHs7nn39uC4gATJw4kbfeeouwsDBeffXVMp+LENfOFCnMilMryDRl8t7e9wA4lnCMhUcXkm3OttWRoIgQQghxa3NSO/HpXZ/y4G8PcjXzKgBfHP6CToGdaOPXpnI7J4QQVUCZgiIWiwV/f38APDw8UKlUtuAIQMuWLVm4cGHZeiiEqPKuDXAAbL1iHww9Gn+02GPcXeduNCpNufZLCCGKc/DgQdq2bYtSaZ9mqGPHjnz99decPn2ali1bcvDgQQDat29vVy8oKIjg4GDb/qLExsYSFxdnV3b27FkAjEYjRqPxhs/BZDJhNptlbZNyUBXGMlmffN064QnhhCeE25X9fPpn2vm1s227a9zL9L0qi6owjjWBjGP5kHEsHxUxjpX1M0qIW4mvsy8f9fiI0b+PxmQ1Ybaamfj3RAJdAvFz9qNrUFd6BPegtnvtyu6qEELcdGUKitSrV4/z588DoFQqqVevHhs3bmTEiBEA7Nq1Cw8PjzJ3UghRdZksJq6kXSlVG1eNK+nGnMVkfZ18GRM6hgebPlgR3RNCiCJFR0fTvXv3AuWBgYEAREVF0bJlS6Kjo+3Kr60bFRVV7PvMnz+fmTNnFrovJSWFhISE0nbdxmQykZaWhtVqtZvFIkqvKoxlfHp8oeVd/bpyKPEQmabCF0lNN6azNTLvYQQnnMr0vSqLqjCONYGMY/mQcSwfFTGOKSnXnxknhCi7lr4tmdR2Eh/t/wjIScWZZkjjdNJpdkTu4L2979G/Xn+eav0U9dzroVAoKrnHQghxc5TpiqZPnz78/PPPvPXWWwBMmDCByZMnExERgdVqZcuWLUyePLlcOiqEqJqi0qMwWfOeGvuox0d8H/49B2Nznpxu69eWBh4N+Pn0zwD0DunNnG5zOJdyjvjMeDoHdcZB5VApfRdC3Nr0ej0ODgV//jg6Otr25/9/UXVTU4tfB2LixIkMHz7cruzs2bMMGTIEnU6Ht7f3DfUfcm5UKRQKvLy85IZfGVWFsdSjL7T8/ib385DqId4/8D4XUi/Yyr0cvUjMSixQ38/Nr0zfq7KoCuNYE1T0OGYdPUrmjh04d78Tx9Dm5X78qkK+j+WjIsZRp5M0f0LcLI+GPsqe6D3sitpV6P7fz//O7+d/x1ntTD1dPVr5tqK5d3P8nP2o516PQNeCDwYJIUR1V6YrmldeeYUHH3wQo9GIRqPh+eefJyMjg19++QWVSsVrr73G9OnTy6uvQogq6GLqRbvttv5tuTP4TjZc3IBSoaRXnV5oVBpGNx9NujGdUO9QFAoFod6hUDn3a4QQAgAnJyeys7MLlGdlZdn25/9/UXVz9xfFz88PPz+/QvdpNBo0mrKlDlSpVKjV6jIfR1T+WObOosyvmVczeob0RKvS0r1Od8ITwtkbs5dQn1Di9fG8uO3FAm3urHNnpX4fKnsca4qyjqPVYCDmzTfJ2PMvXo+OweuhhzAlJhI7931SVq0CIGnRYuqvWY02OLg8u257f0NkJJaMTJTOTmjrVc4TyPJ9LB/lPY7yeQhx8ygVSj7u+TFhp8NIzErEYrVwLP4YB64esHvAMdOUyfGE4xxPOG7XfnK7yTza4tGb3GshhKhYZQqKeHp60q5dXv5ihULBq6++KouNCnELyR8UcdO44engiUKhYED9AXb16urq3uSeCSFE8QIDA22psfLLLQsKCrLVyy2vXbt2gbodO3as4J6KW0VKdl46mefaPkfP2j0JcQ9Brcy5ZFcoFIT6hBLqEwqA0WIkwCWAmIwYIOf38Ju3v0mXoC43v/Oiyol5aw7JP4cBcHXWmxgvXSZl3TrM8Xlp2qyZmcR9+BGeDz9E8k8/4diqFZ4jR6K4ZjZA2pYtJHzxJQAOTZrgcvvtuPW+G8V/azJZrVayjh7FajDg1K4d2WfOcOnxxzHH5b2XQ5MmeAy9H3NyMpaMDDyGD8ehYcNC+261Wsncs4eMf/7BpXMXXDp3AsAYFYX+0CGyzpzBoWFD3AcMKDLQYoyOJvazz9AnJaMd0B+P3r1R/jcTsDhWiwVTfDymmBiM0TFYDdk4d+yIxt+ftE2bSV2/HudOHfEYOtR2/kIIUdU5qZ14pPkjdmVXM67y1ZGvWHlmJWaruci2Xxz+ghFNRuCsca7obgohxE0jc4iFEGWSP41HiHuI5CAVQlQbbdq0Yfv27VgsFrvF1vfs2YOzszONGze21QPYt2+fXQAkKiqKK1euMH78+Jvab1Fz5Q+KeDh40MCjQbH1NUoN79zxDu/8+w6BLoG82OFFgt3K/4n/W1369u2Y4hPQDRqI4r+n260mU4HAAYAlK6vQG+/mtDSSli0nY8cOFM5OODRoiGv3O3Du3LlCrp2SVqwg+ccf7coSFy0qtG7q+vWk/vknmM2krF5Dyuo1qL28yPz3X5Tu7jg0aEDGzp22+vrDh0n+6Sfc+vUj8I0ZZB44QPyXX5F15AgAbv37kRUebhcQAcg+dYqrc962bSeH/ULw/PmY4uPI3LsXhVKJQqPBnJ5O1rHjZJ86BUDCl18R8MYM9EePkvLLSvu+r/uNgDfeQOXpgf7gITL+2Q1GI0qdjoRvFmL5b92Kq5s3E+fujt/UKXgMG2Ybc6vBgNVsRunkhCkujpg5c0jf+DfWaxYBVzg44Ny+vW0cUtetI+3339ENGYI5OQWHxo1x7tQRS1oamQcOoHR2xvm222zfl1xWq5XMvXvBCs4dO8h1sxCiUvm7+PN6l9d55rZnOJl4kgspFziReILDcYe5nHrZNosk05TJHxf+4P5G91dyj4UQovxIUEQIUSaXUi/ZXofoQiqxJ0IIUbTo6GhSUlJo0KCBLWXHsGHDCAsLY+XKlQwbNgyA+Ph4fv75ZwYPHmxbQyQ0NJSmTZvy9ddf8+STT6JSqQD44osvUCgUtrZClIXRYrRbSF3nULJ8++382/Hz4J8rqlvVluHiRZJ/WYk1OwvUagwXLmK4eAHHZs0JmDEDlatLiY4TN+9z4ufNAyB961b8X36Jy08+RfapU2jr18fptjboBg1C6epKzMxZZIWH49a7NwGvvkLali2kb/wbc3Iy2RERWNLSbMfN2LadxO++w6lNG7T16pF99iymuDjMKSloa9fG7b4hZOmziNq/H2t6OkoXF8zp6RgvXgSFAocmTXBq1QrPBx9A4eBAwsJvMUZH4f34E1j1mcTMfqvY83Js1coWxADAnPeEcP5yS2YmppiYQo+R9scfpP3xR8Hy3wuWFcaSkcGlMWNKVDfmjZmFlqdv3szZzZtL9n6pqcS89jqp69ejUCgxXLqEMSoKLBYcQ0MxRkdjTiy4Rg+ANTvbLjAEkLFrNxm7dtu2NcHBmOLisP6XalHp7o62Xl0wW3Bs3hyfpyeSsHAhSd8vAcDzoQfxf+01FAoFxqtXSd+2DUt6Broh96L29CzROQEYY2NJ37wFl65d0NauTfyCBSR89TVKFxccGjTA9a678Hyg4Owfq9FI+rZtOQGcCgrOCSGqBy9HL7oGdaVrUFdbmcVq4YF1D3Ai8QQAv5z+RYIiQogaRYIiQogyyZ8+K8RNgiJCiJtv3rx5JCcnExUVBcDatWu5cuUKAJMmTUKn0zFt2jQWL17M+fPnqVu3LpATFOncuTNjx44lPDwcHx8f5s+fj9lsZuZM+xtwc+fO5Z577qFPnz488MADHDt2jHnz5vHEE0/QrFmzm3q+omZKzU6129Zpb+1FiNO3bsVw4QLuAwag9vUtVVuLwcClxx7HGBlZYJ/h7DnMCQl4jR1LyqqVqH198Zk0CZWra4G6ST/9ZAuIQE4QQH/okC1IYIiIwBARUWD2Qtqff5K2YQNYLNftq/7QIfSHDtmVZZ8+Tfa77xXbLnPPHjL37CFx0SIUjo62gEv65i05M1VM/+WIVyrxfGAkSct/yNlWKPB94X94P/EE8Z99Rvz8L67bx1xKZ2dc7+5Fxs5dmBMSStTGuVMnAme+QcbevSQtWUp2RARqLy9MsbElft/CKBwdsf63/tN16/r4YM2XMixz9z8F6mQdP16grLSM//3eyWVJTSXrcE6AKevYMVLWrLHrc9LyHzBGx2C6epWs8HBbecKXX+I9fhyW7GwwmXG96y4c6tcj+eef0R8+gtNtt+F2dy80gYFkR0RwcdQjmBMTUTg6ohs8yJYyzZKejunqVTJ27SJlzRqC3p6DQ4Oc2WdZp08T9fLLZIfn3Ox0uf12Ame/iSZQFlMGSE5O5sUXX2TVqlVkZmbSsWNHPvjgA9q2bVtsO4vFwvfff8/KlSs5ePAgiYmJ1KtXjwceeIApU6bgeM0ssqICUW+//TYvv/xyuZ2PEDdCqVAytNFQZu+ZDcCR+COcTjpNY8/GldwzIYQoHxIUEULcsGxzNtEZefn4Q9wlKCKEuPnef/99Ll7MC9CuXLmSlStzblKOGjUKna7wm8sqlYr169czdepUPv30U/R6PR06dGDRokU0adLEru6gQYNYuXIlM2fOZNKkSfj6+jJ9+nRef/31ijsxcUtJMaTYbbs7uFdSTypf+o6dXH7yKQDi5n+B/7SX0d17b4mfZE/59ddCAyK5MnbtImPXLtu2/tBhai/8BqWzM1nHw0nfupX0LVvIOnasQNuiZk0UUERAxLl9e1Te3mT++y/mpKSSHasYVqPRLtWTNSsLc74b735TpuD92Ficu3QhY9t23AcPwuW/NIBejz1Oyq+rc2ZLqNUEzppF9qlTJP30E5rAQNz798eclEjm3n1o6tTBf9rLaIODMcbEcHniRNsNdQC1vz+eDz1E8spfMF7MmUWsDgig1ocfoPb2Rlu3Lp7Dh2O1WgGI+/RT2xolkDPLQhMQgMVoQOXigsrDA+cuXcBsIeaNN2z1HJo0IXjeZyhdXYl+5VXSN22yGw+VhwcqLy8Mly+jcnPD56UXye7YEafjx4l9fUaRM0Hyc+vXD88HRqIJCEAdEED2mbPEvvsumfv24dypE/7TXiZx8fek/v47VqMRhVaLVa+//mdVSBAnvZBZLuaUFGLnvm/bjp8/H4WzM9bMnJlkqevXc/Wtt3Bq1w7jlSu2c7JmZdkCItfKOnKEiIGDcGrdGgD98eN5gTMgY+dOzva6G7W/Pw716uHcsSNObdqg9vVB5eWF1fnWWUfAYrEwcOBADh8+zNSpU20PTPTo0YP9+/fTqFGjIttmZmYyduxYOnfuzFNPPYWfnx+7d+9mxowZ/P3332zatKnAz7HevXszevRou7LbbrutQs5NiNIaUH8A7+97nyxzzs+vV3e8Sv96/RneeDiu2oIPEwghRHUiQREhxA27nHoZK1bbtqTPEkJUhgsXLly3zqJFi1hUSD59T09PvvnmG7755pvrHmPIkCEMGTKk9B0Ut5TYzFjMFjOBrqV74lpmiuRJWvGD7bUlJYXol6eRHBaG3wsv4Pzfk9rGq7FkHT+O0skRlZcXDg0aoFCrsZrNJCxcaGuv0ulQBwSg9vfDcC6i0GCJ/vBhzvXvjzUr2y7FlY1CAVarXZG2QQNcOnUk9Y8/8260azQ4Nm9mmx1gq3d7V1TuOly6dsW5bc7NTktmJkk/rCBt48acdFiNGqEJroXSwZHUP/9Ev38/KBQ43tYGp2bNsWRmonB0QBsSAiYTmYcOkf73pgL9ys/9nsF4jX0053Xv3rj37m23X+XqQsjyZaRt/BuXTh1x+O9mr9/LLxUbgNIEBFB32TKSfw7DajTi0qUzDk2bolAq8Rg2lNj35mJKTsJ/6lTU3t7XDGXOcf2eew7Hxo3J2LUbl65dcOvTB8V/qQmvpfLQkbhoMU6tW+P77CSULjmpz2rP/5zsM2cwREZizcpGE+CPY8uWKFQqrGYzKJWYTCYMCQm43Hkn9X5dRdwHH2C4EommVhDaOiFo69TGajCQvnUbpthYPB58oEAAzqllC0KWLsGi16N0cgIg6O05BM6aCUolmM2k/rWBtA0b0AQFoRtyL5aMTDJ27MCSkYHh0iW74IfC2RmFUoklPb3IMb5WbkAkP/3+/UU3UKnweuSRnBlX58/ntTl8uOg2Fgum6GhM0dF2QcPc4ync3ckMDKT+yl9K3O/qKCwsjF27dvHzzz/b0mOOGDGCxo0bM2PGDJYvX15kW61Wy86dO+naNS8F0bhx46hbt64tMHL33XfbtWncuDGjRo2qmJMRoozctG70qduHNefWAHAi8QQnEk8QdjqM7/p9h5+zXyX3UAghbpwERYQQRKVHsTJiJfti9hGvj6e1b2seaf4IW69sZXvkdtr4tmFim4m2/OZZpix+P/87Z5PP2h1H0mcJIYS4le2N2ctTG57CaDEys+tM7mt0X4nbphrsgyK36kwRc2oqGVu3FSjX79vPxYcexqFRQ9QBgTk3bfOtg6Hy9cFjyBAUGq1tpgKA/6uvohs8CADDpUtcePChQlM/XbsoeC6FVkvAjBlk7NxB6vrfgZw0UsGffYZD/Xr4vfwyaRs2YIg4j/vAAWjr1SNl5Soydu7A5fbbc26wF7Igu9LZGe/HH8P78ccK7PMa/QhZ8fEkJiXhW7eubR2k/LyB7DNnSPhmIabERLxGP4Lh/AWuzpkD5KwZEjhr1nVn12gCAvAa9bD9OZdgRo7SyQmv0Y8UKFd7exP07jvXbQ/g3r8/7v37X79ev3649+tX6D6HRo1swZz8CguwaPz8CHr33UKP41GCtaFyAyK298j9XFQqdIMGohs00G5/bgDMarWS8ssvxH0+H6VWS+Bbs1Go1UROmYo5ORmXLp1x7dET1zu7oz96lLgPPyL77FnU/v5YUlOx5AuIaGrVypnZc00wzLFVq5wUYP/9mwiY8TqeI0bg+/xzxH30EYlLl9n9e8k5ISXej43FlJBIyqpVxZ+82Yw1KQmzVnvdcaruwsLC8Pf35/7789ZO8PX1ZcSIESxdupTs7GzbmmPX0mq1dgGRXPfddx8zZszgxIkTBYIiAHq9HoVCUSC9lhBVwejmo1l/fj0mS97ssktpl3j8z8d5qNlDmC1mnDXOeDh40DGgo8wgEUJUGxUaFNm2bRsBAQE0biw5B4WoqvQmPY9sfsQubUdURhS/X/jdth2eEM4fF/5geqfp9Kzdk3F/jeNQ3CG743g7essFkBBCiFvabxG/YbAYAHh91+vcEXwHPk4+JWqbkp33e1itUOOsrr7pakwnThC5aDEOISH4Pv8cai+vErdN27DBLh3UtbLPnCX7zNkC5ea4eBIW2M/40tSqhXv/vJvp2jp1qLt8GQnffIPa1xf3QYOJ/N//yD51yq6dwtkZl65dcL3zTlzvvBONnx9uve/GarZgvHwZv5dewqF+PQCUWi26gfY3wz2G3o/H0LItRqvS6VDmS29UGIdGjewDEHfcgVPbthjOncWtT5+ctUVEpVMoFHgMG4Zu6FCwWlEolQA03LihQF23nj1x69kTq8mEQq3GnJpK8sqVGM6dw61PH1y6dcOcmEjq+t9JWbWKrJMncR80kMDZs8k6coTkVatw6drV9p1UOjriP20a3uPGkbZhAxm7dqNwcMDptja43nEH2jp1APAe9wRZx8MxXrlM5qFD6PfuswvG5FJ5lXwB+Orq4MGDtG3bFuV/n1Oujh078vXXX3P69GlatmxZqmPG/Jd2z8en4O+DRYsWMX/+fKxWK82aNePVV1/loYceKvZ4sbGxxMXF2ZWdPZvzc9FoNGIs5mdoSZhMJsxmM6br/AwSxasp41jfrT4/DfiJjZc2sunyJk4mnQTgQuoF5uyZY1fXw8GDia0mcl+D+1ApC5/9V1o1ZRwrm4xj+ZBxLD/lPZY38ruvQoMiPXr0QKlUMmzYMGbNmiXBESGqoPDk8AJ5zAuTmJXIlK1TaOTZiDNJZwrsl/VEhBBC3OoOxR6y2/54/8fM7ja7RG3zzxRxd3Av8foZVVHGu+9iuXAR/Z49pG/dSq2PPrI9NX89KevW2V47Nm9OyJLvSVi8mMSF32LJyChVP7wef6zALA1tSAiBb75p2w75fjGJ3y/Bkp6OplYtHBo2wKl9e5TXPBGvcncn+JOPS/X+lcGpRShOLUIruxuiEAqFIicVW0nq/ve9Vbm74/3oo3b71N7eeD0yCq9HRmG1Wm0/K5zbt8e5fftCj6f28cHzwQfxfPDBQvc71K+PQ/36tm2ryYQpPh5zYiKmxCQMcXGkXrmCm79/ifpfnUVHR9O9e/cC5YH/LUIfFRVV6qDIe++9h7u7O/2vmRnVtWtXRowYQb169YiKivRVWzAAANT6SURBVOLzzz/n4YcfJiUlhQkTJhR5vPnz5zNz5sxC96WkpJBQyGy40jCZTKSlpWG1WlEXMtNNlExNGkc33Lgv8D76+/XntQOvcSjxUKH1krOTmbN3DmvOrOHNtm/iqin7Q5M1aRwrk4xj+ZBxLD/lPZYpKde/r3mtCv0EX3/9dTIyMti2bRutW7dGX4IF6IQQN9dV/VXba41Sw8D6A1l7bi1ma84U+xD3EC6m5i1gXFhAJLeeEEIIcSvLTTOZa/W51QxvMpzWvq2v2zb/TBF3bfVNnWW4dAnLhbzrBtPVq1wcPRq/yZPxfPABMv/9F/3hI2SdOonKzR2P++/DqX17FAoFxthYMv/ZY2vrPmgQShcXfCdOxOvhh0nfto30bdsxJ8Tj1OY2dPffj9LFmaxjx0le+QsZO3dhSc0JLjl36IDH0KHX7a9Kp8N30jPlPxBC3AQVFTxVqNVoAgLQBAQAOU9fGhIScL9mjZiqzmKxYDAYSlTXwcEBhUKBXq8vND1Wbmqr0t7TmDNnDhs3bmT+/Pl4eHjY7du5c6fd9mOPPUa7du2YPn06jz76KE7XpGzLNXHiRIYPH25XdvbsWYYMGYJOp8O7jJ+TyWRCoVDg5eUlN/3KoKaO4+d3f84b/7zB7ujdqJVqlAolmcZM22LsAMeSj/HKoVf4vOfnBa6NSqumjuPNJuNYPmQcy095j6VOV/qfNRX6Cb7xxhu212mFLVoohKh00fpo2+tarrV48/Y3GddyHLuidtHKtxXNvJrx+/nfeWP3G+hNeX8EuGpcMVlMtouflr6le2JKCCGEqGmSs5MLlD236TnevP1NDsYeJCYjhmbezehWqxv1dPXs6uWfKVLWGwhlYbVaifvgAzL+2YP3uHG49+1TqvaZO3YWLDSZiH33XWI//BCumdqesmoVTm3aEPj2HFJWrsxbK0GhwH1A3lPVKp0O3eDB6AYPLnB41zu64XpHNwAsej0Wvb5UKbuEEDXTtm3b6NmzZ4nqnjhxgqZNm+Lk5ER2dnaB/VlZOX/zFBWoKMyPP/7Iq6++yuOPP17szI9cWq2WZ555hqeeeor9+/fTrVu3Quv5+fnh51f4AtcajabQdYhKS6VSoVary+VYt7KaOI4ajYYPe35YoHzblW288+87XE67DEB4YjhPbHyCt+54i1Dvss1grInjWBlkHMuHjGP5Kc+xvJFj3LSwlpub2816KyFEKeSfKVLLrRYAddzrUMe9jq18QP0BNPBowLObniUqIwqlQsmcbnPwdvLm6yNfE+gSyJAGQ25214UQQogqJf9sj1wJWQlM/HuibXttxFre2/seT7R8gufaPldo28oMimT+u5eEbxYCEDVlCo5N16INKfls0Mx8Tz6rvL0xJyfnLfBcRK5f/aFDXBz1COakJFuZc6dOtqfUS0Pp5FRgQWwhxK2padOmfPfddyWqm5seKzAwkOjo6AL7c8uCgoJKdLwNGzYwevRoBg4cyJdfflnCHkPt2rUBSExMLHEbIaqC7sHdae3bmvEbxhOeEA7AuZRzPPzbwzxz2zM80fKJSu6hEELYK1NQJC0tjeTkZNsvbsjJsfnll1+SnZ3N0KFD6dixY5k7KYSoODH6GNvrYNfgIus18WpC2D1hbLy4kUaejWjh0wKAeb3mVXgfhRBCiKrOarWWaI2uXN8e+5bB9QdT3yMnj39VSZ+VuX+f7bXVaCRm9ls4Nm1C2ubNKNQa1H6+uPfth+6+IZji4snYvQuFSoXa1xfH0FD0e/+1tfd65BGc27Ul8oXJmPItCqzy8cGxaVP0R49i+S//rzlfDnyFRoP/tJdvwtkKIWqygIAAHr1mTZbradOmDdu3b8disdgttr5nzx6cnZ1LtE7qnj17uO+++2jfvj0//fRTqdKCREREAODr61uqfgtRFegcdCzos4CJGydyOO4wAGarmU8OfEJLn5Z0CuxUyT0UQog8ZQqKjB8/nvPnz/PPP/8AkJqaSufOnbly5QpKpZJPPvmEP/74gx49epRHX4UQFSB/UKSWa61i67pp3biv0X0V3SUhhBCi2tGb9JgsJtv2pz0/ZUfkDn46/RMAKoWKJl5NOJl4EovVgsVqYd6heXzYIycFRVVJn5V98pTddsb27WRs355v/0kytm0nYeFCjJcvYy1i9geAyx3dcAoNpd6vq0hathyFRo3rnXfi0KwZCoUCS2YmUdNfIe2PP+za+T73LI5NmpTviQkhRAkMGzaMsLAwVq5cybBhwwCIj4/n559/ZvDgwXbrjZw7dw6ABg0a2MpOnDjBwIEDqVu3LuvWrSsy3VZcXFyBwEdaWhoff/wxPj4+tGvXrrxPTYibwl3rznd9v+Obo9/w9ZGvMVlzro1+OPmDBEWEEFVKmYIiO3bs4Mknn7RtL126lKioKHbt2kVoaCi9evVi9uzZEhQRoorKMmWRZMhLVRHkWrLp4EIIIYSwd23qLE9HT17t/Cpda3UlJiOGXnV6EeASwNt73mb5yeUAbLi4gRMJJ2jm3cw+fZa28oIiWSdOlKie4b+nmYui8vLCsVkzANTe3vg+O6lAHaWzM7XmvscVg4H0TZsAcGrXDq+xY0vZayGEKB/Dhg2jc+fOjB07lvDwcHx8fJg/fz5ms5mZM2fa1e3VqxcAFy5cAHKCGn379iUpKYmpU6fy22+/2dVv0KABXbp0AeDzzz/n119/ZfDgwdSpU4fo6Gi+/fZbLl26xJIlS9BqtRV/skJUEI1Kw4Q2EzBajCw4ugCAzZc3E5MRQ4BL6VNjCiFERShTUCQ+Pp5atfKeLF+zZg3dunWjc+fOAIwePbrAhYMQouqIyoiy2y4ufZYQQgghinZt6ix3B3cUCgW96vSyKx/Xahwrz6wky5yzaO/L21/m5Y4v280UcXeonPRZ5rQ0jJcvF7rPsWVLnDt2IO3PvzBeuWK/U6kEi8WuyPn2rijypZ4pikKjodbHH5G0dBnmlBS8H38MhUp1w+cghBBloVKpWL9+PVOnTuXTTz9Fr9fToUMHFi1aRJPrzGBLSEjg8n8/Q19+uWAKwDFjxtiCIrfffju7du3im2++ISEhARcXFzp27Mi3337LXXfdVf4nJkQlGN54OAuPLbTNkA07HcYztz1T2d0SQgigjEERDw8PYmJyUu/o9Xq2b9/OK6+8kndwtZrMzMyy9VAIUWGi0u2DItdLnyWEEEKIwl07U6So2R4+Tj482OxBvjuWs/hvREoE4zeMt6tTljVFrBYLGdu3o3R1xbmU6VeunSXi0q0bhosX0Q0ehM9TT6HQavGdNImEBd+QtnEjTq1a4jV2LNqQEBK/X0Ls3Lm24IhLr16FvUWhlFot3o/J7BAhRNXg6enJN998wzfffFNsvdwZIrnq1q2L1Wot0Xv07t2b3r1732gXhagWAl0DuTP4TjZf3gzkpNBKzk7mzuA7uSP4jkrunRDiVlemoEjXrl2ZP38+TZs25Y8//iArK4t7773Xtv/06dN2M0mEEFVL/pkizmrnSs1hLoQQQlRn1wZFipvt8UTLJ9gVuYtTSacK3V+W38cJX39N3MefABD4ztt4DBlS4rbZJ0/aXiucnan99VcFZnsoHR3xnfQMvpPsn/T0Hvsojs2akrD4e8z16uIiTzoLIYQQt7wHmjxgC4qkGlL58dSP/HjqR+5vdD/TO03HQeVwnSMIIUTFKFNQ5N1336VPnz4MHToUgMmTJxMaGgqA2Wzm559/pl+/fmXvpRCiQkRmRNpe13KrhUKhqMTeCCGEENVX/vRZLhoXNEpNkXXdte4sG7iMFSdX8NWRr0gzpBXYf8P9WLPW9jr65Wm49+2LsoiFfq+VFZ43U8SxSZMSpb/Kz6VzZ7Tt2pGQkCDXFEIIIYSgc1Bnmng2KfAgyMozK9l/dT931b6LrrW60s6/XbHXTkIIUd7KFBRp2LAhp06dIjw8HJ1OR926dW37MjMzmTdvHq1bty5rH4UQFSR/+ixJnSWEEDff7t27iY6O5u6777Yr37lzJ3q9nqCgIJo3b24rT0pKYv/+/QC0a9cOV1dX277w8HCioqJwcnLi9ttvtzvexo0bAahfvz7169e3lUdFRREeHg7k5Dd3ynfzfP/+/SQlJeHp6Um7fGmY9Ho9O3fuBKB58+YEBQXZ9kVERBDx3wLcN3pOnp6elXJO27dvR6/Xc9ttt1GnTp1Sn1OKOS8o4oefrX/FndOY28cQ6h3K2D9zUke1SGoBQObVTPDLe5+SntNtLVvaFkA3aDScbN6Ms198QbsHHijR55R14gQnmzXFoNVSu2lT6uY715J+Th07drQbI/nu3fg5XblyhSNHjqBUKmvMOd3sz8liseDl5YW3t3eNOSeoWZ+TEKJmUyqUfHH3F/xy5hciUiLYEbnD9jDIxdSLfHf8O747/h06Bx0tfFrgpHKimXczHmr6EK5a1+scXQghblyZgiIAGo2m0MCHm5ubXSotIUTFSzWkYrKY8HL0KlH9/OmzJCgihBA3X1JSEi4uLgXK4+PjyczMtAt6ABgMBuLi4myv80tNTSUuLg5nZ+cCx8tt4+/vb1eelZVl22e5ZqHspKQk2778LBaLrfz/7N13fFTF2sDx3+5mW3oPCQRCC0WaVAWkqnTlKqAiIlhQwVdFEbuCYsVesKJcFSxEroJip0gTpPcSICQkgYQkpO1m63n/iGyyJIGUhU15vvfj5+6ZMzP7nMlClvOcmSkqKnI7V1hYWG6bunJNVqu12teU61OSFAnyCar0NXVv1J37u97PW1vfItAaiFqlRufQVeuarIcPl1yTWk1uUBB5iYc59fPP6FVqbKmpqHQ6slu34mR+Ps78fLJPnsRpMqHYbFgOHCC/Z0+KDHoioiLd3qc2/ZzOtC+trn/2yrsms9lMZmYm6nJm7NTVa7rYPyen0+mWIKgP1wT16+ckhKj/InwjuLvz3QCk5KcwfeX0MjNHci25rEstTtT+kfwHSw8v5ZV+r9AqoNVFj1cI0TBUKSmyYcMGLr/88mq9UU3aCiEqpigKK1JWsPjgYjakbUCFits63Ma0LtPQqDU4nA5SC1LJseQQoA3AoThIPJ2I1WFlX3bJMhmSFBFCiIsvJCSEiIiIMuXh4eGYzWYCA92XUdLpdK76Op37jfPAwEAiIiLK3AAEXG3OTsAYDAbXubNvvJ55yrf0075n6p1pYzAY3M75+fmVez115ZrMZnO1ryk3pyQp4mvwJcK38td0e4fbsTls7Pl7D+3D2hMa6P5wQ2WvqehAyQ0GtdNJUG5xTPmfzCcjJ8d1riAqCp9GxTdVT+7Y6dZfQH4eeouO0LjmbuW16ed0pn1pdf2zV941GY1GIiIiyk2K1NVrutg/p/KSInX9ms68Z325JiFEwxIbEMuiEYv4+ejPrEtbx8b0jWQXZZepdyzvGDf8eANatZbm/s154YoXaBPexgsRCyHqK5WiKEplKxuNRi677DLuueceRo4ced4nPQoKCli6dCkffPABmzdvxmQyVSm4goIC5s6dy8aNG9m0aRM5OTl89tlnTJo06bxtFyxYwOTJk8s9l56eTqNGjaoUy549e+jQoQO7d+927ZtSHTabjaysLMLCwtBqZb3E6pJxLPHdwe+YtWFWmfL2Ye1xKk6O5h7F4rCct5+3Br7FoKayKWp1yWfSM2QcPcPT4+ip34GihHyvqH1qOpb3r7ifFSkrABgSN4RX+79arTicRUUU7dqFoX171OXMIjqXky+9TPaCBdV6Xzc+PrTZshm1vuqbn8pn0jNkHD1DxtEzLsQ4yncLz/LkeMqfG8+Qcawch9PBtoxt/JX6F1nmLA7lHHJ7ePOMSyMu5fPhn3shwvpBPo+eIePoObXhnkWVZoocPHiQZ599lltuuQWtVkuvXr3o2rUrzZs3JyQkBEVRyMnJ4ejRo2zevJlNmzZht9uZOHEiCxcurPIFnTp1imeffZamTZvSuXNnVq1aVeU+nn32WZo3d3/SLTg4uMr9CFFbrT6+utzyvVl7q9SPzBQRQgghqq/0RutBuqBq9aE4HCSNHYvlUCL6Nm2I+/qrSm+SDlB0YL/rtfHSS1EHBmBNPIwjLw+VVou2cWNsaWk4srJc9dQBAWgCA3EWFuI4fRqA4DHXVyshIoQQQghRFRq1hu6NutO9UXcA7E4787bPY/7u+TiVkuUAt2Vu42DOQeJD4r0VqhCinqlSUiQ2NpaPP/6YF198kS+++IIffviBefPmYTab3eoZjUa6d+/OnDlzuOWWWyqcens+0dHRrlkdmzdvpkePHlXuY9iwYXTv3r1a7y9EXZBemO563Su6Fyl5KW57hVSGXqMnNiDW06EJIYQQdYqiKCSeTqRlaEt0Gt35G5SSaymVFNFXLylStGcPlkOJAFgOHCDzrbeJevSRSrVVFAXL/pLls/z79yf87rvK1nM4MG/fjiM3F0ObNvjExKBSqVAUBXtaGo6CQvTxrasVvxBCCCFETfiofbiv633c2PZG9mXtY8bqGRQ5ivc9+vbAtzx52ZNejlAIUV9Ua6P18PBwpk+fzvTp07Hb7SQnJ5P17xNnYWFhNG3aFB+fGu/hjl6vr/IyV+XJz8/H19cXjUZT476EqG3SCkoSIAOaDGBki5G8ufVN0grSiAuKo2VQS1oGt6SRXyMKbYXYFTtxgXEczz/O+9vfZ8+pPdzW4TZ8tbLxoRBCiIbt5V0v82f6n8QGxJIwKqFKvxvzLHmu19VNiliTU9yOs//7X0ImTEDX5PyzOe2ZmThK7Ruib1P+k5QqjQbfbt3KlqtUaBs3RhYCEEIIIYS3RfpGEukbydC4oXx/+HsAlh1exgNdH8Bf5+/d4IQQ9UKNMxc+Pj60aNGCFi1aeCIejxs4cCAFBQXodDqGDBnCa6+9RuvW8vSbqB8KbYXkWUtuwkT7RxNsCGZW71nnbdsmtA1zr5jrWsNPCCGEaMjMdjN/pv8JQEp+Cp/t+YxpXaZVun3p5bMCdYHnqFkx23H3pAiKwsk5c2j81pvnXc7KcuCg27GhbdtqxSCEEEIIUVuMbT3WlRQx2U18c+Abbu94u3eDEkLUCzVKilgsFtavX8/evXvJz88nMjKSFi1a0K9fP9RqtadirBZfX18mTZrEwIEDCQwMZMuWLbz++uv07t2brVu3Ehtb8VJBGRkZZGZmupUlJhYvZWCz2bDZbNWOy26343A4sNvt1e5DyDiekXw62e04Uh9Zpc+njKPnyFh6hoyjZ3h6HGvye0+IuiLfmu92/GvSr5VOihTZi7A4LK7jas8USUkpU1awahVHr7kWQ6dO2E9lolKpUWm12DIzsKWmodhsqDQanPkl8asDA/HxwGxrIYQQQghvahfajrZBbdmfW7xv2ptb36TQVsi9l96LWuXd+45CiLqt2kmR1157jZdeeons7GwURXGVq1QqoqKieOSRR7j//vtd5bm5uQQFVe8fiNUxbtw4xo0b5zoePXo0Q4YMoV+/fjz//PN88MEHFbadN28es2fPLvdcbm6ua6mw6rDb7eTn56MoikeWGGuoZByLHcx0fypUb9FX6fMp4+g5MpaeIePoGZ4ex9zc3PNXEqKOK7AVuB0fzT1a6bal9xOB6idFbMdTyy23HjuG9dixCtspZx0b2rRBpVJVKwYhhBBCiNrk5hY389S2p1zHH+/6mIM5B3nxihcJ0AV4MTIhRF1WrTslt9xyCwsXLqR169bce++9dO7cmYCAAPLz89mxYweLFi3iwQcfZNu2bSxYsICUlBSGDx/Orl27PB1/lfTt25devXrxxx9/nLPe1KlTGTt2rFtZYmIio0ePJigoqEZLDdntdlQqFaGhoXLDrwZkHIsVZhe6Xvv6+BLXKK5KN0FkHD1HxtIzZBw9w9PjeDEfahDCW85OigBkF2UTagg9b9vSS2cBBOmqmRQpNVMkYNhQbCnHKdq9u8r96GXpLCGEEELUE5dFXsacy+fw3KbnXDNzVx9fzfifxvNgtwfp07gPOo3Oy1EKIeqaKt8p+fLLL1m4cCEzZszgxRdfLLN5+ejRo3nqqad4/PHHmTt3LnFxccyfP5+ioiKPBV0TsbGxHDhw4Jx1IiMjiYyMLPecVqtFq63ZFpQajQYfH58a99PQyTjCSfNJ1+sY/xh0uqp/EZBx9BwZS8+QcfQMT46j/CxEQ1BgLZsU2XZyG4ObDT5vW0/MFFGsVmwnTriOAwYNInD4cE4vTiD/jz9ArcInPAJUoFisaEJD0MU2Re1rxJGXT97y5RTt2oU6IIDgsWOq/P5CCCGEELXV8ObDaRXWigdWPsCJwuLvS0l5Sdy38r7iB0SD4mji34TGAY3RqXX8c+IfjucfZ1TLUUy7dBpatfx7RgjhrspJkY8++oj+/fvzyiuvVFhHrVbz0ksvsXHjRp577jliY2NZs2ZNjQL1lCNHjhAREeHtMITwiPSCdNfraL9oL0YihBBC1G2F9sIyZVsytpSbFLE5bfyV8heB+kB6NOrhkaSILT0dnE7XsbZJE1QaDSE33kDIjTect33Y5EnYMjJQG41oAmQpCSGEEELUL5eEXcLXI77mwVUPsjVjq6vcZDexN2sve7P2lmkzf/d8dp3axav9XyXEEHIxwxVC1HJV3pVo586dXH/99ZWqe6behg0baHsBp/Gnp6ezf/9+t41gz94oHWD58uVs2bKFoUOHXrBYhLiY0grTXK8lKSKEaKgsFguPPPIIMTExGI1GevXqxe+//37ednFxxUsOlvdf69at3epWVO+ll166UJclLrLyZopsPbmVnKIct03UAd7d9i4PrHqA2369jWWHl7klRYw+xmot4WBNOe52rIuNrXIf2shISYgIIYQQot4KM4bxydWfcG+Xeyt9D2TTiU3c+dud2By281cWQjQYVZ4pYrPZMBgMlaqr1+sxGAxER1f/Zu27777L6dOnSUsrvvm7bNkyjh8v/kfj//3f/xEUFMRjjz3Gf//7X44ePUpcXBwAvXv35tJLL6V79+4EBQWxdetWPv30U2JjY3n88cerHY8QtYnbTBF/SYoIIRqmSZMmkZCQwAMPPEDr1q1ZsGABw4cPZ+XKlfTt27fCdm+++SYFBe43wo8dO8aTTz7J1VdfXab+VVddxcSJE93KLr30Us9chPC6QlvZmSJ7svbQ75t+6DV6ujfqzsgWI7my6ZV8c+AbV51XN7/K9a1LHhiq/ibrJfuJqIxGNDXYw04IIYQQor7SarTc1fkupnSaws5TO9mZuZPUglSO5x8ntSCVPGse7cPac+T0EZLzkwE4kHOANalrGNR0kJejF0LUFlVOirRq1Yq//vqLO+6447x116xZQ8uWLasV2Bmvvvoqx44dcx0vWbKEJUuWADBhwoQKN3+94YYb+Omnn/jtt98wmUxER0dz55138swzzxAVFVWjmISoDWwOG5nmkhlRMX4xXoxGCCG8Y9OmTXz99dfMnTuXGTNmADBx4kQ6dOjAzJkzWb9+fYVtR48eXaZszpw5ANx8881lzsXHxzNhwgTPBC5qnXxbfoXnLA4L61LXsS51HX82/dMtgZJdlM3Huz52HVd3k3VrqU3WdU2aoFKpqtWPEEIIIURDoFKp6BzRmc4Rncs9n2fNY8zSMaQXFj9M+uORHyUpIoRwqfLyWWPGjOGrr77ip59+Ome9n376ia+++opx48ZVOziApKQkFEUp978zs0IWLFjgdgzFNzW2bdvG6dOnsVqtHDt2jHnz5klCRNRKJpsJp+I8f8VSTphOoKC4jmP8JSkihGh4EhIS0Gg0TJkyxVVmMBi4/fbb2bBhAymlbjRXxqJFi2jevDm9e/cu97zZbKaoqKhGMYvaqbyZIuX5I/mPc56v1ibrdju246muY201ls4SQgghhBAlAnWBjGwx0nW8KmVVmX3ghBANV5Vnijz00EN88803jB49msmTJ3PLLbfQuXNnAgICyM/PZ+fOnXz++ed89tlntG3blgcffPBCxC1EvfHCxhf4av9XdI3syruD38Vf609KfgohhhACdBWvC1566SyQPUWEEA3Ttm3biI+PJzAw0K28Z8+eAGzfvp3YSt5g3rZtG/v27eOJJ54o9/yCBQuYN28eiqLQrl07nnzyScaPH3/efjMyMsrsdZaYmAgUL0taek+0qrLb7TgcDux2e7X7EMXyLSUzRUL0IfSN6UuwIZhO4Z3YlrGNRQcWVaqfMEOY28/UmpSEI/MUhi6dUWm1bnVtKSlkzJpF0c5dKKWSbZqY6Bp9LrxJPpOeIePoGTKOnnEhxrGu/h0nhKhbRrUc5ZrRa3Pa+DXpV8a1qdnD20KI+qHKSRFfX19WrFjBxIkT+eSTT5g/f36ZOoqicPXVV/P555/j6+vrkUCFqI9yLbl8vf9rALZmbOWu3+8iUB/IutR1+Kh86NGoB4OaDmJg7ECi/NxnOZXeZN1H7UOEb8RFjV0IIWqD9PT0cvcuO1N2Zk+yyli4cCFQ/tJZvXv3Zty4cTRv3py0tDTee+89br75ZnJzc7nnnnvO2e+8efOYPXt2uedyc3PJysqqdIxns9vt5OfnoygKPj5V/lonSskuzHa97hDcgfvi73Mdd2rWiX/S/+FQ3iG3NpdFXMbfmX+7jgM0/lyRcISkeRMw3nknjrR0TC+9BE4n6kaN0I8ejWKzoeTlglPB8ssvUFh2hoo1JKRGnwtvks+kZ8g4eoaMo2dciHHMzZWntYUQF17zoOZ0DO/IrlO7gOIltCQpIoSAaiRFACIjI/nll1/YuHEjy5YtY+/eveTn5xMQEED79u0ZNWoUvXr18nSsQtQ7Jwrdl8A684sawK7Y2ZC+gQ3pG3h+4/M0D2pO88DmXBp5KdfFX+c2U6SRbyPUqiqvhieEEHWe2WxGr9eXKTcYDK7zleF0Ovn666+59NJLadeuXZnz69atczu+7bbb6NatG48//jiTJk3CaDRW2PfUqVMZO3asW1liYiKjR48mKCiIsBpsqG2321GpVISGhsoNvxqyqUueWg7zDyvzc3mw+4Pcs6IkAdY1sitvD3qb7w9/T741n/Zh7YletBLr74uwAwUPzUBxOMBZvDym88QJzB98UKlYgtu0wa+ObrQun0nPkHH0DBlHz7gQ41jR3qBCCOFpo1qOct1r2ZaxjWWHlzGq5SgvRyWE8LYafaPp1auXJD+EqIGTppOVrns09yhHc4+yImUFH+38yG0D1mh/WTpLCNEwGY1GLBZLmfIz+36cK1lR2urVq0lNTWX69OmVqq/T6bj33nu5++672bJlC3379q2wbmRkJJGRkeWe02q1aM9aUqmqNBoNPj4+Ne6noSu9p0iAPqDMePaN7cuA2AGsSlkFwE3tbsKoN3JT+5tcdY7t+Rjrv6+Vcj6XlWWMi6vTP0/5THqGjKNnyDh6hqfHUX4eQoiLZWjcUN7Y8gZme/HDUk+te4pT5lO0DG5JuDGccGM4EcYIt3ssQoj6Tx6XEcKLMk2Z5ZYPbjqYzhGdWZmyku0Z291mkwDk2/LdjlsEtbhgMQohRG0WHR1NampqmfL09OLZdDExMZXqZ+HChajVam666abzV/7Xmb1KsrOzz1NT1AWF9lJJEW35e3q9fMXLfHfoO6J8o7g67uoy561JSeW2C77xBsw7d2I9fASfsDA0YWGgKGgCAwi+4UY0QYGk3DkFxWbDJzoaXbNmHrkmIYQQQoiGLsQQwjOXP8Njax5DQcGhOHh9y+tudUINofSK7sXY+LH0aNTDS5EKIS4mSYoI4UUZ5gy34xva3MClkZcyvPlwVCoVkztM5pT5FOvT1pN4OpEdGTvYmrHVrU2LoBZMbD/xYoYthBC1RpcuXVi5ciV5eXlum61v3LjRdf58LBYL3333HQMGDKh0EgXgyJEjAEREyJ5O9UGBtcD12k/rV24dX60vt7S/pdxzzsJC7BkZZcrD7rqLyOkPnPf94xIWU7h2HYFDh5TZkF0IIYQQQlTfiBYjyLfm8/zG58s9n12Uzc9Hf+aXo7/wSv9XGBo39CJHKIS42CQpIoQXZZhKbp50jezKk5c9WaZOuDGca1pe4zrenrGdbw98i95Hz/Dmw+kW1U32ExFCNFhjxozh1Vdf5aOPPmLGjBlAcZLjs88+o1evXq7ZHMnJyZhMJtq2bVumj+XLl3P69OlyN1gHyMzMLJP4yM/P58033yQ8PJxu3bp5+KqENxTYSpIiAbryZ4qci+WsWSKxH32Itkks+hbNK9Xe0KYNhjZtqvy+QgghhBDi/G5seyN+Wj/m75rP8YLjWBxllzpVUHh2w7N0iehCI79GXohSCHGxSFJECC8qvXxWlG9Updp0iexCl8guFygiIYSoW3r16sXYsWN57LHHyMjIoFWrVvz3v/8lKSmJ+fPnu+pNnDiR1atXoyhKmT4WLlyIXq/n+uuvL/c93nvvPb7//ntGjRpF06ZNSU9P59NPPyU5OZkvvvgCnU53wa5PXBw2p40iR5HruKKZIudy9tJZvj16oK7knjZCCCGEEOLCG9VyFKNajkJRFApsBWSaM0krSOOv43/x1f6vAMi35vPQ6oe4tuW17M/ezz8n/iHSN5JX+r1CmDHMy1cghPAUSYoI4UWlZ4pE+MryK0IIUR2ff/45Tz31FF988QU5OTl06tSJH3/8kX79+p23bV5eHj/99BMjRowgKCio3Dp9+vRh/fr1fPLJJ2RlZeHn50fPnj359NNPGTRokKcvR3iByWZyO/bX+Ve5D+vRJNdrn5hoSYgIIYQQQtRSKpWKAF0AAboAWgS1oG/jvhTaCll6eCkAOzN3sjNzp6t+Ul4SL//zMq/0e8VbIQshPEySIkJ4UemkSKRvpBcjEUKIustgMDB37lzmzp1bYZ1Vq1aVWx4YGIjZbD5n/1dddRVXXXVVTUIUtVy+Nd/t2F9bjaRIqZki+ri4GkYkhBBCCCEupsd6PsaWk1tILUgt9/xvSb8xvet0ov2jL3JkQogLocYbEezbt4+ZM2cyZswYBg8ezKBBg9z+Gzx4sCfiFKLesTltZBdlu44lKSKEEEJ4R6Gt0O24WjNFSiVFdHGV20dECCFE7XP69GmmTJlCREQEfn5+DBw4kK1bt1aq7aRJk1CpVGX+K29PM6fTySuvvELz5s0xGAx06tSJr776ytOXI4SoJH+dP/MGz+PKplcSFxiHVq11O+9QHCzct9BL0QkhPK1GM0W++OILJk+ejFarpU2bNoSEhJSpU97a3UIIyDJnoVDy5yPCKMtnCSGEEN5Q05kiiqJgPXrUdayTmSJCCFEnOZ1ORowYwY4dO3j44YcJDw9n3rx5DBgwgC1bttC6devz9qHX6/nkk0/cyspbovOJJ57gpZde4s4776RHjx788MMPjB8/HpVKxY033uixaxJCVF6L4Ba8MfANoPj7nUqlYsbqGfya9CsACYcSuK3jbYQaQr0ZphDCA2qUFJk1axaXXnopP//8M+Hh4Z6KSYgGofTSWSAzRYQQQghvKTNTpIpJEcepUzgLS/rQNZeZIkIIURclJCSwfv16Fi9ezJgxYwAYN24c8fHxPPPMMyxatOi8ffj4+DBhwoRz1klNTeW1115j2rRpvPvuuwDccccd9O/fn4cffpixY8ei0WhqfkFCiGpTqVQATLpkkispUmgrZNC3g+jZqCeP9XqM5kHynU+IuqpGy2elpaVx2223SUJEiGo4OykiG60LIYQQ3pFvK5kpolFpMPqUbJJuPZ7KyblzOTxkKMl33YXtxAkcBQVkf/El2QsXYjl0CMuRo2796ZrHXazQhRBCeFBCQgJRUVFcd911rrKIiAjGjRvHDz/8gMViqVQ/DoeDvLy8Cs//8MMP2Gw2pk6d6ipTqVTcc889HD9+nA0bNlT/IoQQHtUhvANdI7u6jh2Kgw3pG5j0yyR2ZO5g96nd7Mna48UIhRDVUaOZIp06dSItLc1TsQjRoJROigToAtxuwAghhBDi4im0lszy8NP6oVit5CQkkP/Lr5g2b4Z/l4O1HjtG0rgbQKPBnp5ebl8qnQ5ttGzAKYQQddG2bdvo2rUrarX786M9e/bko48+4uDBg3Ts2PGcfZhMJgIDAzGZTISEhHDTTTfx8ssv4+9fMgtx27Zt+Pn50a5duzLvc+Z83759y+0/IyODzMxMt7LExEQAbDYbNputchdbAbvdjsPhwG6316ifhk7G0TNqyzg+0v0RHln7CEl5Sa6y7KJsJiwvmRU2ptUYHuvxmGuGSW1SW8axrpNx9BxPj2V1fvfVKCny+uuvM3bsWIYNG0bv3r1r0pUQDU6mueSLbKRRls4SQgghvKX0TBF/Hz+OTbiFol27yq1rz8got/wMXbOmqGTJEyGEqJPS09Pp169fmfLof5PdaWlp50yKREdHM3PmTLp27YrT6eSXX35h3rx57Nixg1WrVuHj4+N6n6ioqDI3T0u/T0XmzZvH7Nmzyz2Xm5tLVlbWuS/yPOx2O/n5+SiK4opXVJ2Mo2fUlnEMJZSPLvuIVFMqXx7+kj/T/yxTJyExAY1Dw+2tb691iZHaMo51nYyj53h6LHNzc6vcpkbv+vLLLxMUFMQVV1xB+/btadq0aZl1L1UqFT/88ENN3kaIeqn0TBHZT0QIIYTwngJrgeu1/lQ+RbtS3CtoNOhbtMBy6JB7uUrlmkVyhq5VqwsVphBCiCpwOp1YrdZK1dXr9ahUKsxmM3q9vsx5g8EAgNlsPmc/L774otvxjTfeSHx8PE888QQJCQmuDdRr8j5Tp05l7NixbmWJiYmMHj2aoKAgwsLCzhnj+djtdlQqFaGhoXLTrwZkHD2jto1jOOF0jO3I3C1z+ebgN2XOf3P0G75P/p5mAc24s+OdDI4d7IUoy6pt41hXyTh6jqfHMigoqMptavSuO3fuRKVS0bRpUwoKCti7d2+ZOrUtOyqEpxXZi3AojuLlNhSFxQcXsy97H7e2v5W4oLgK25VOish+IkIIIYT3FNhKkiKGUyWzRnRxcYSMH0/AkCH4RIST+eZbZH32GWpfXyIffJCgkSMo3LSJvB9/Iv/PP1EbjYRNmuSFKxBCCHG2v/76i4EDB1aq7r59+2jbti1Go7HcfUOKiooAMBqrvuTx9OnTeeqpp/jjjz9cSZGavE9kZCSRkeU/VKfVatFqtVWO8WwajQYfHx+P9NWQyTh6Rm0cxycue4JBzQZxynwKo4+RJ9Y+gdlenMy0OCwcPH2Qh9c8zL1d7qVZYDNsThtXNL6CYEOw12KujeNYF8k4eo4nx7I6fdQoKZKUlFST5kLUeSn5KUz6eRKnik7x1GVPodfoee7v5wBYkbyCxaMWE+kbiaIofJ/4PRvSNjC69Wh6x/R2S4pE+UZ56xKEEEKIBq90UsRoLZ75oQkPp+mCz9A2auQ6F/ngdMLuuB21ry+qf59oChg4kICBA1EUBRwOV7kQQgjvatu2LZ999lml6p5Ztio6Opr0cvaMOlMWExNT5TiMRiNhYWFkZ2e7vd/KlStRFMXtQdKavI8Q4uJRqVT0jinZRsBf68+M1TPIs+a51Xt3+7uu150jOvPFsC/k4XEhagn5V5sQNfDj4R/JMBcnN2ZvmO22DFZ2UTYPr36YF694kbn/zOWP5D8A+D35dz4d8imZppI9RWSmiBBCCFFzq1JWkZKfwnWtr8NP61fpdqU3Wvf998HdmBdfdEuInKEJDCy3D5VKBZIQEUKIWqNRo0ZMquLsvS5durBmzRqcTqfbZusbN27E19eX+Pj4KseRn5/PqVOniIgo+Tdfly5d+OSTT9i3bx/t27d3e58z54UQdcflMZfz6/W/sjVjK4dyDvHu9nexO903kN6RuYOtGVvpFtXNS1EKIUpTn79K5eTn53P8+HGSk5PL/CdEfbU/e7/bcenZHwBbM7Yy5LshroQIgN1p54GVD7ht6iobrQshhBA1sz5tPf+34v945Z9XmPzLZEw2U6Xblv6dbLQAKhW+3eUfrEII0dCMGTOGkydPsmTJElfZqVOnWLx4MaNGjXLbB+Tw4cMcPnzYdVxUVER+fj5ne+6551AUhaFDh7rKrr32WrRaLfPmzXOVKYrCBx98QOPGjendu3eZfoQQtZu/zp9+Tfpxe8fb+eiqjwjWB5eps/Tw0osfmBCiXDV+nO3999/n9ddf58iRIxXWcTgcNX0bIWqlM2tGVlV2UbbbcbR/tCfCEUIIIRqsHRk7XK/3Ze/jsTWP8cbAN1Crzv8MUKHNfaaItnFj1NVYN14IIUTdNmbMGC677DImT57M3r17CQ8PZ968eTgcDmbPnu1Wd/Dg4g2UzywrfuLECS699FJuuukm2rZtC8Cvv/7K8uXLGTp0KNdee62rbZMmTXjggQeYO3cuNpuNHj168P3337NmzRoWLlyIRqO5OBcshLggejTqwfLrlnM8/zhf7P2CZUeWAfBr0q881vMxDD4GL0cohKjRTJEPPviAadOm0apVK+bMmYOiKDzwwAM8+uijNGrUiM6dOzN//nxPxSpErXP2zJAz7rv0PgK0AW5lvWN6MzC27EZ/PRv1pG1o2wsSnxBCCNFQnL2G84qUFby77V23MovDQmJOIgXWArfyfGvpmSIK+pYtL1ygQgghai2NRsPy5cu54YYbePvtt3n44YcJDw9nxYoVtGnT5pxtg4ODGTlyJL///juPPfYYM2fO5NixY7zwwgssXbrUbTkugJdeeokXXniBX3/9lWnTppGUlMSXX37J+PHjL+QlCiEukgBdAO3C2jG+Xcmf6UJbISuSV3gxKiHEGTWaKfLOO+8wZMgQfv75Z7KysnjiiScYMWIEgwYNYubMmXTv3p2srCxPxSpErVNeUqRno57c0fEOrml5DXuz9uKv86eRbyNiA2Mx2Uzcu+Je/jnxD00DmnJ357sZ3nx4pZ5iFUIIIUTFTPayy2V9vOtj2oe158pmV5JakMrdv99NUl4SAI39GzOx/UTGtxtfZqaIrr0kRYQQoqEKCQnhk08+4ZNPPjlnvTMzRM4IDg7miy++qPT7qNVqHnvsMR577LHqhCmEqCMuCbuE5kHNOZp7FIAliUsY1nyYbLguhJfVKCly+PBhpk2bBoBWqwXAarUCEBQUxB133MG8efN46KGHahimELWPyWZyW4N8bPxYWga35D+t/oNKpSLKL4oovyi3Nr5aX+ZfPZ+soixCDaGSDBFCCCE85OzZH2c8sfYJTHYT87bPI7Ug1VWeWpDKi5teJDYgloJSM0V8raBv2eqCxyuEEEIIIeo/lUrFNS2v4a2tbwGwMX0jszfM5snLnsRHXeNdDYQQ1VSjO7JBQUHY7XYAAgMD8fX1JSUlxXU+ICCAEydO1CxCIWqps2eJXNf6Om5udzO+Wt9ztlOpVIQbwyUhIoQQQnhQga0kKVL6H5gmu4kn1j7hlhAp7cl1T2JXSva/8y0CfSuZKSKEEEIIITxjdKvRbkusf3foO27/9Xa2Z2z3XlBCNHA1uivboUMHduwo2dTysssu4/333yc1NZWUlBQ+/PBD4uPjaxykELXR2UmRSN9IL0UihBBCiNJJkRvb3MhNbW8qt16/Jv2Y2nmq6zi7KNvtvF+Rgq6FJEWEEEIIIYRnhBvDmXflPIL0Qa6yrRlbueXnW7hvxX2k5Keco7UQ4kKoUVJkwoQJ7N69G4vFAsDs2bPZt28fTZs2JS4ujgMHDjBnzhyPBCpEbXPSdNL1Wq1SE2oI9WI0QgghRMNWaC3ZF8RP68fD3R/mhjY3EGYIc5Vf1ewq3hjwBnd3vpsBsQPK9BGVoxCvRKHx97sYIQshhBBCiAaiS2QXPh/2OTF+MW7lK1NWMvr70Xyy6xMURfFSdEI0PDVavG7y5MlMnjzZddynTx/27NnDsmXL0Gg0XH311TJTRNRbpWeKhBvCZS1IIYQQwotKzxTx1/qj1Wh58rInefKyJ8mz5lFoLaSRXyPXppazLp/FTdk3kV6Yjo9TxdWbHYxZ5ySgm8wSEUIIIYQQntciqAXfXfMdn+/9nM/3fk6hrfihHqvT6tpz5I6Od3gzRCEaDI/fxW3RogX333+/p7sVotYpnRSRpbOEEEII73JLiuj8AbCdPIn16FECunYl0D/QrX6YMYzvrvmOjekb8Z/5GkE7kgDQytJZQgghhBDiAvHX+TO1y1RuansT72x7h4SDCSgUzxB5a+tbhBvDGd1qtHeDFKIB8EhS5O+//2blypVkZGQwdepUWrdujclkYv/+/cTHx+Pv7++JtxGiVpGkiBBCCFE7OBWn60k7AF9FR8brb5D16adgt6Nr0YLwqVPJ/eEHzDt24N+/P+FT78EYGMilf6aQsbtkHWddyxbeuAQhhBBCCNGAhBhCePrypxkSN4R7/rgHm9MGwNPrniY5L5mpXabKiiRCXEA1+tNltVq58cYb+eGHH1AUBZVKxahRo2jdujVqtZqrr76a6dOn88QTT3gqXiFqDUmKCCGEELWDyWZyO8575gWytue6jq1HjpA2Y0bJ+WXLyFu2rNy+9G3bXpgghRBCCCGEOEuv6F68dMVLzFg9A+Xf/32862M2pG3g7s53c0WTK1CrarQltBCiHDX6U/XUU0/x448/8v7773PgwAG3DYEMBgNjx47lhx9+qHGQQtRGGeaSpEiUX5QXIxFCCCEattJLZwEYMnMrqHluuhEj0Ldv74mQhBBCCCGEqJSr467muT7PoVPrXGW7s3Zz74p7ueHHG9iesd17wQlRT9UoKfLVV19xzz33MGXKFEJDQ8ucb9euHUeOHKnJWwhxQSmKwuHTh8m1VO3miVNxcsp0ynUsM0WEEEII7ymwuidFjJZ//79LF8LuvAM0GgBUvr74XzkYfNwnS+vbtaPxp5/i9/AM10bsQgghhBBCXCzXtrqWRSMWERcY51a+P3s/E3+eyNx/5ro9jC6EqJkaLZ+VkZFBx44dKzyv0WgwmUwVnhfC217d/Cqf7/2cEH0I71/1PpeEXVKmjslmQqvWotVoXWXZRdnYFbvrWJIiQgghhPecPVMkMCKG2Jefxe/yy1Gp1QRffz3m3Xvwu/wyfMLCsKWlYd6xA7V/ALqmsWibNsVut2PKyvLSFQghhBBCiIauTWgbvhn5DYsPLubzPZ+7VihRUPh87+dcEnYJw1sM93KUQtQPNZopEhsby/79+ys8v27dOlq1alXt/gsKCnjmmWcYOnQooaGhqFQqFixYUOn2p0+fZsqUKURERODn58fAgQPZunVrteMR9YuiKCQcTAAgx5LDjT/eyM7MnaxMXsm87fP4vz//jyEJQ+i1qBcDFw/kr+N/udqeNJ1060uSIkIIIYT3lN5kHSC83aX49+mDSl38VVcXF0fQyBH4hIUBoI2JIXDYMPyv6IuuWTOZHSKEEEIIIWoFX60vt15yKz9f/zP3d70fvUbvOvfz0Z+9GJkQ9UuNkiLjx4/nww8/ZMOGDa6yM/+o/Pjjj/n222+ZOHFitfs/deoUzz77LPv27aNz585Vaut0OhkxYgSLFi3i3nvv5ZVXXiEjI4MBAwZw6NChasck6o88ax4mu/tMppuX38x9K+/j/R3vs+r4KtIK0wDIteRy34r7+Gb/N2SZszhZ6J4UifKVPUWEEMJbLBYLjzzyCDExMRiNRnr16sXvv/9+3nazZs1CpVKV+c9gMJRbf/78+bRr1w6DwUDr1q155513PH0poprybflux/5Rjb0UiRBCCCGEEDWn0+i4o+Md3NnxTlfZhvQNmO1mL0YlRP1Ro+WznnjiCf7++2/69etHu3btUKlUTJ8+nezsbI4fP87w4cOZPn16tfuPjo4mPT2dRo0asXnzZnr06FHptgkJCaxfv57FixczZswYAMaNG0d8fDzPPPMMixYtqnZcon44UXiiSvUdioM5G+cwZ+Mct3I/rR9+Wj9PhiaEEKIKJk2aREJCAg888ACtW7dmwYIFDB8+nJUrV9K3b9/ztn///ffx9/d3HWv+3X+itA8//JC7776b66+/ngcffJA1a9Zw3333YTKZeOSRRzx6PaLqSu8pYrAoGBpJUkQIIYQQQtR9A2IH8O72dwGwOCz8nfY3A5sO9HJUQtR9NUqK6HQ6fvnlFxYuXEhCQgIOhwOLxUKnTp2YM2cOt9xyS42WI9Dr9TRq1KhabRMSEoiKiuK6665zlUVERDBu3Di+/PJLLBYLer3+HD2I+u7sJbBKizBG0C6sHW1C2qBSqfh458colL+hlSydJYQQ3rNp0ya+/vpr5s6dy4wZMwCYOHEiHTp0YObMmaxfv/68fYwZM4bw8PAKz5vNZp544glGjBhBQkLxsot33nknTqeT5557jilTphASEuKZCxLVUpB3yvXaaAVtI5nBKYQQQggh6r74kHga+zcmtSAVgFXHV0lSRAgPqFFSBIqXy5owYQITJkzwRDwes23bNrp27Ypa7b5CWM+ePfnoo484ePDgOTeJF/Vf6aSIVq1lbv+5aNVa2oW2I8I3wq1uu9B2zPl7DllFZTdgbRva9oLHKoQQonwJCQloNBqmTJniKjMYDNx+++08/vjjpKSkEBsbe84+FEUhLy+PgICAch/mWLlyJVlZWUydOtWtfNq0aSxcuJCffvqp1n0PamhyT5f8Tve1gE+jaC9GI4QQQgghhGeoVCoGxA5g4b6FAKxKWYVTcaJW1WhHBCEavBonRWqr9PR0+vXrV6Y8Orr4H8lpaWkVJkUyMjLIzMx0K0tMTATAZrNhs9mqHZfdbsfhcGC326vdh/DMOKbnp7teN/ZvTL/oks/L2T/j/jH96X1tb1ILU0kvTOdo7lEOnj6ITq3jzo531ugz4U3yefQcGUvPkHH0DE+PY23+O27btm3Ex8cTGBjoVt6zZ08Atm/fft6kSIsWLSgoKMDPz4/Ro0fz2muvERVVMtNg27ZtAHTv3t2tXbdu3VCr1Wzbtu2cSRH5XnHh5Z7OcL32tQDhYVUeVxlLz5Bx9AwZR8+QcfSMCzGOtfm7hRBC1DalkyLZRdn8c+IfekX38nJUQtRtNU6KrF27lk8//ZQjR46Qk5ODorgvMaRSqdixY0dN36bKzGZzuctjndk81WyueGOiefPmMXv27HLP5ebmkpVVdrZAZdntdvLz81EUBR+fepuTuuA8MY7JOcmu1yE+IZX6uQYQQIAugPiIeIZEDCkuNEGWqfqfCW+Sz6PnyFh6hoyjZ3h6HHNzcz0Q1YWRnp7ueuChtNIPQVQkJCSEe++9l8svvxy9Xs+aNWt477332LRpE5s3b3YlWtLT09FoNERGui+XqNPpCAsLO+d7gHyvuBhO52a6vtUa7WpyrFZUVRxXGUvPkHH0DBlHz5Bx9IwLMY61+buFEELUNt2iuhGgDSDflg/A9JXTeWvQW/RoVPm9l4UQ7mr0jeb111/n4YcfxmAw0KZNG0JDQz0VV40ZjUYsFkuZ8qKiItf5ikydOpWxY8e6lSUmJjJ69GiCgoIICwurdlx2ux2VSkVoaKh8Ma8BT4zjacdp1+smQU1q9HOtq+Tz6Dkylp4h4+gZnh7HoKAgD0R1YdTkIYj777/f7fj666+nZ8+e3HzzzcybN49HH33U1YdOpyu3D4PBcM73APlecTEUOUyub7V+asM594ipiIylZ8g4eoaMo2fIOHrGhRjH2vzdQgghahutWsu4NuOYv3s+APm2fKb8NoXx7cZzV+e7CNQFnqcHIcTZavSNZu7cufTp04dly5bVui810dHRpKenlyk/UxYTE1Nh28jIyDJPg56h1WrRarU1ik2j0eDj41Pjfhq6mo5jhrlkqY1G/o0a7M9DPo+eI2PpGTKOnuHJcazNP4uaPARRnvHjx/PQQw/xxx9/uJIiRqMRq9Vabv2ioqLzvod8r7jwCm0F8G9uzF/rX+2xkLH0DBlHz5Bx9AwZR8/w9DjKz0MIIarm/y79PwpsBXxz4BsA7Iqdz/d+zrLDy5jTdw79mpTdQkAIUbEaJUVMJhM333xzrUuIAHTp0oU1a9bgdDrdNlvfuHEjvr6+xMfHezE64W2KonCi8ITruJFfIy9GI4QQorqio6NJTU0tU16ZhyAqEhsbS3Z2ttt7OBwOMjIy3JIbVquVrKysar2H8KxCR8lsHX99gBcjEUIIIYQQwvM0ag1P9HqCJv5NeGPrGzgVJwA5lhym/TmN8W3H0yWyC35av+LyohyS85PxUflwfcvrvRm6ELVSjZIiAwcOZNeuXZ6KpdrS09PJzc2lZcuWridOxowZQ0JCAkuWLGHMmDEAnDp1isWLFzNq1Khyl9oQDUeBrQCzveQGiiRFhBCiburSpQsrV64kLy/PbbP1jRs3us5XhaIoJCUlcemll7q9B8DmzZsZPny4q3zz5s04nc4qv4c4N6fFgj0jA21UFKoKli07W6FSMpMnwDfkQoUmhBBCCCGE16hUKiZ1mETfxn15dfOrrEtb5zq3aP8iFu1fVG67ZYeX8WLXFwmj4S0bL0RF1OevUrF33nmHP//8k1dffdXtiUpPevfdd5kzZw6ffvopAMuWLWPOnDnMmTPHtTnbY489Rrt27dyeFB0zZgyXXXYZkydP5tlnn2XevHkMGDAAh8NR4WanouEoPUsEIMo3ykuRCCGEqIkxY8bgcDj46KOPXGUWi4XPPvuMXr16ERsbC0BycjL79+93a5uZmVmmv/fff5/MzEyGDh3qKhs0aBChoaG8//77Zer6+voyYsQIT15Sg1W4YQOHR4zkQOcuHL7qag5edjmnPv4YZwVLl52hOJ0Uauyu44AA+ceeEEIIIYSov1qFtOKDqz7g2d7Potec/6HvlIIUpm+aTnJ+8kWIToi6oUYzRWJjY7nrrruYMWMGjzzyCAaDAY1G41ZHpVK5khfV8eqrr3Ls2DHX8ZIlS1iyZAkAEyZMqHDpLo1Gw/Lly3n44Yd5++23MZvN9OjRgwULFtCmTZtqxyNqH0VRUKlUVWpz0nTS7ViSIkIIUTf16tWLsWPH8thjj5GRkUGrVq3473//S1JSEvPnz3fVmzhxIqtXr0ZRFFdZs2bNuOGGG+jYsSMGg4G1a9fy9ddf06VLF+666y5XPaPRyHPPPce0adMYO3YsQ4YMYc2aNXz55Zc8//zzhIaGXtRrrq9OzHke6+HDrmOnyUTma69z6t33UPv6oo+PJ+alF9FGR7u1c+TkYNYpQPF3gcCg8vdvEUIIIYQQoj75T+v/0D6sPW9sfYN9WfvILip5YF2j0hCgC+C05TQAmUWZPLL2Eb4d9S1qVY2ekReiXqhRUuTpp5/m+eefp3HjxnTv3v2C7C2SlJR03joLFixgwYIFZcpDQkL45JNP+OSTTzwel/A+q9PK3X/ezd7svUzvNp1xbcZVuu3JwpKkiEFjIEhf+/bFEUIIUTmff/45Tz31FF988QU5OTl06tSJH3/8kX79zr3Z4M0338z69ev57rvvKCoqolmzZsycOZMnnngCX19ft7pTp05Fq9Xy2muvsXTpUmJjY3njjTe4//77L+SlNRhOs9ktIVKaYrHgsFgwbdzI8Xv/j2aLFqIutQxqUVoaRfqShyMCw6LL60YIIYQQQoh6p01oGz648gMAbE4bVocVFSp0Gh0OxcHDqx9mZcpKAA7kHOCXo78wvMXwc3UpRINQo6TIBx98wIgRI/j+++/dNjMX4mLYmLGRTSc3AfDc389xVbOrCDFUbh3x0jNFovyiqjzTRAghRO1hMBiYO3cuc+fOrbDOqlWrypR9/PHHVXqfO++8kzvvvLOq4YlKsCa7T+UPnzaN/BUrsOzb51ZetGcPJ+c8T9QTj+PIy8O8dSupSxOgV0mdoPDGFyNkIYQQQgghahWtWotWrXUd++DDq/1fZeT/RpJemA7Au9vfpU/jPlgcFiJ9ZYa1aLhqlBSxWq2MGDFCEiLCK/bnuq8Nv/TwUm695NYK65deZsstKSJLZwkhhBBeZT161PVaAew3jiDijltQb9uDLT2dtEWf49h3EB8nnF68mNOLF7vqnwoEepV8pZU9RYQQQgghhCim0+i4u+PdPPP3MwCk5KfQ9+u+AIxuNZpZl89Co9acqwsh6qUaZTNGjhzJmjVrPBWLEFWioLgdLz64GJPNxJ6sPVgd7puyvr7ldXot6sX0ldPJteS6bbQuSREhhBDCu6yllktdPjiQq5dfw9Dvh7OjGfze0cmto1OZcr8Ph2LKtjXp3I/9tf4XNlghhBBCCCHqkOFxw2nm16xM+feJ3/P8xufd9l0UoqGoUVLkmWeeYe/evUydOpUtW7aQmZlJdnZ2mf+EuBByrDlux8fyjtFrUS9u/PFGBi0exEubXiKtII01x9fw2e7PMNvN/JH8Bzf9dBPr09a72kX5SVJECCGE8Cbr0SQACvXwdbciAPKseUxbMY1nNzxLkdNCgQHeGu2D+awkSJG/e4G/TpIiQgghqu/06dNMmTKFiIgI/Pz8GDhwIFu3bq1UW5VKVeF/V111lateUlJShfW+/vrrC3VpQogGSqPWcEf8HeWeW3xwMVN+n8LCfQsptBW6ndufvZ93tr3DtoxtFyNMIS6qGi2f1aZNGwC2b9/Ohx9+WGE9h8NRk7epVTZs2EB6ejpXXnmlW/m6deswm83ExMTQvn17V3lOTg5btmwBoFu3bvj7l/xDfe/evaSlpWE0GunTp49bf3/88QcALVq0oEWLFq7ytLQ09u7dC0CfPn0wGo2uc1u2bCEnJ4eQkBC6devmKjebzaxbtw6A9u3bExNT8pjlkSNHOHLkCEC1rykkpGQfj4t5TRyBDuYOHPc9zmn9ade5SHMkkTmR7Dixg7GHxxKgC3Cdi8+NR5ejw6lzkuqXCkAj30a15pou9s9Jp9MRHx9fr67Jmz+n48ePs3PnTtRqdZ29prZxcYRkZqL288PQoQNHk5Iq9XNqHRKCadMmnFYrtg4d2JmaijM/n3iTCd+MTJyFhfh270ZKTAzpGRkYjUZ69+6Ns9CE2tcIDgfLP/kES1ISkRYLqpatCOh9OcauXUlPT6/wmv5Zu5bstDQCNRo6hITgzM9HpTeg6tyJDRs3UrR7D7GZmcT17k3gkKtRGQwcPXKEo2lp4HTSOzwc69EkdE1j0bdrz7q1azDn5dG4VSs6dO2K02TCkphIvl7PzpQU188pSKfDvHsPmuAgDtvtpKenV/vn1LtnTzQnT6IyGvEJCWHb/v21+s+TEBfCmZkiqzuqsGicrnK70+5WLyMI3pnVhQLzabKd+QT7hZNadAJK/QNOZooIIYSoLqfTyYgRI9ixYwcPP/ww4eHhzJs3jwEDBrBlyxZat259zvZffPFFmbLNmzfz1ltvcfXVV5c5d9NNNzF8uPuGx5dffnnNLkIIIcpxWeRlvNn/Tfbm7CXCGMHb294m35oPwN/pf/N3+t98ufdL/jvsv0QYI/hy35e8vvl17Iqdj3Z+xPN9n+ealtd4+SqE8JwaJUWefvrpBrdBdU5ODn5+fmXKT506hclkckt6QPG+K5mZma7XpeXl5ZGZmYmvr2+Z/s60iYpyn8VQVFTkOud0Ot3O5eTkuM6V5nQ6XeVFRUVu5woLC8ttUxeuSVWoItAeiM7g/oSo3qEn0BpYHI81jzxrnutcgC0AvUNPkbpkHDpEdKg113Sxf06lby7Xl2vy5s/JbDaTmZlZ7j5LNb0mp8WCUlSEJijovNeUkZGBMy+PzIMH8ffzwyeqEcaOHVzXpNjtmP75B8vhI+iaN0e5pD3pBw9iPXoUn382E3WieHk5n+hojrdrx1G1CpVGw4lNm9D4B5C/aiWOzFMcvbQLFp0OU2oaqm0lT46cDgvjWO/LceTmErBjJ8G5ucVj+uWXHO7SmczGTTDY7YQ/+BDO3FxUOh1qo5HUzp0A8D2WTPYvv5L93nsYOnYkp1dPUgoLUcxmGr36GkZA16ol9oxMjqggNyiIoNxcgnfsLBkHo5Gknj1AUQg8cJATv/7KiWeK11A91qwZKXFxoILGq1a7jV9Sz54UGfQUff0NAf7+FO3ejdNk4nRQEMcG9EdtMBD+9TcYNm5EsdkAONqnN5mNG6MvshD33RKMXTqjDgjEmpRESn4eKh8f/I8cofGVV2I7fpysjz8hpbCQ4127ojLoSXxuDtqTJfscJV11FQWxTXC0aIHStSsqlQrr8eOc/PZbkjMyUOn1ROfnE9a5M6BCG92o3D9PiqKgOJ0e//MkxIVgTUpCAX7tev5JzJvzd7teZ+Tnljnvq5XPrRBCiOpJSEhg/fr1LF68mDFjxgAwbtw44uPjeeaZZ1i0aNE520+YMKFM2apVq1CpVNx0001lznXt2rXcNkIIcSH0a9yPwXGDAWgb2pYpv0/BbDe7zh8vOM7df9xNmCGMv9P/dmv71Lqn8PXx5cpm7g/hCVFX1SgpMmvWLA+FUXeEhIQQERFRpjw8PByz2UxgYKBbuU6nc9XX6dxv3gcGBhIREVHujekzbc5OwBgMBte5s2+8nnnKt/TTvmfqnWljMBjczvn5+ZV7PXXhmnJ8cihSF2FVl9zMizBGMCZuDIcOHyIpL8mtTXxIPG0Mbdh7Yi86Xx1dI7tyTctruCTsEnJycmrFNV3sn9PZ5fXhmrz5czIajURERJSbFKnMNakLCkh/bx6K1UropFsJ8PcnqKAAtm3j4DOzissnTiTyoQcJzM3FkZWF2t8fpX17rMeSKdqzB/Phw+gTE7FnZpCzdx+F/964B7D36I6PToflZAbHEhNd5UrLluj8/dABWoulpH56Oiqnk8BGxYmXnF9/c4vdLyUFrU6H4axlEn2KivBPTi5+bXd/ytuQlYW/oqCzWnH+myxRrFYcVitB/x4bSiWbinbtwnz8OL5NYwFwpKZitdlcT5X7tSyefeFXUOD2Pmq7naDTpwHQnnXD31BUROBp9+X3zgjIz0Nv0WHMz8P070yOM9fh/+972hIPoy81rrrkZHwLCtBZreTt20/e8uWuc77/JnqKTpzkyOtvuMpVISEYdxUncZSzxk9/5DD2jJPYVq/m4CtzweHAWViIVavFr307AE7/9jtHcv69Bo2GvG5dMTZtitrfn/RnZlF06CCWQ4kYnnnG43+ehPA0e04OjtxcdsWpSA8redimTUgbEk8n4qf1Y3q36cz9Zy4mu+mcfflp/VCrarQ6rBBCiAYsISGBqKgorrvuOldZREQE48aN48svv8RisaDX6yvdn8Vi4bvvvqN///40adKk3DqFhYVotdpy/20mhBAXSpfILiwdvZQfEn/gt2O/cTDnIACHcg5xiENl6jsVJzP/msnXI78mPiS+zHkh6hqVIrvpVMqePXvo0KEDu3fv5pJLLql2PzabjaysLMLCwtBqtR6MsGGxWC30/LonTqX46f4Huj5A65DWdIvqhp/WD0VReH3L6yzYs8DV5tMhn9KjUQ8vRVw7yefRc2o6lvacHJInTsRy6N9khY8P2kaNsB0/XqauJjgYx783/AFUOh3KWTf+vUalgtK/Vnx80DVtimK1lnstZ9PGxaFEhOM8cBBnXt5565fh4wOlEzEaDbrmcVgTD1c+5nokdOo9RN13X4378dTvQFFCvleUMG3dxrHx43n1P2o2tS1OaIQaQvl9zO+YbCZ0Gh2+Wl9+PvozT6x9ApvTRreobvSJ6cNPR37icK77n+9dt+6qVhz1YSxrAxlHz5Bx9AwZR8+4EONYW79btG7dmtatW7O81EMuAPPnz+eOO+5g586ddOzYsdL9/e9//+O6667j448/5o47StbzT0pKonnz5vj7+1NQUIBKpaJbt248//zz5S6zdT6eHE/5c+MZMo6eIePoGecbR5PNxJ2/3cnOUzvdykMNoYxsMZLP937uKusc0ZnPh33eIB9Eks+j53h6LKvze7BGM0WE8JZcS64rIQLQLqwdvWN6u45VKhUPdnuQpoFN+fnozwxvPlwSIuKiU6xWHAUFqHx8UPv6ovIp+SvXkZuLSq9HbTDgyM0l5Y47SxIiAHZ7hUmE0gmRM+9THrWfHyqdDkdO+bMizk4GqIxGwu+5h4ArB2NNTqbgzxU4LUXoW7QsPl6xAsVmw6/35Rg6dsKRlYVis6Ft3Bhds6YYu3bFcfo0WR9+RNGBA/gPHEDITTehjYxEURRMm/7BtHEjTrMZxWFHGx2DLrYJ9uxs7KdOYWjbDn2f3mTn5BDi60vh0mXkLluKYjKh9vXDJyoKfauWKDYblsTDqAx6/C67HN+ul6IOCkITEIDKYMCelkbBmrUodjv+A/qja9IEa1ISRQcPovLRusZQsRRhaN8eQ7t2WI8dw3LkKJrgYNRGAwV/raFo3z50TRoTcNVVmHfuomD1alCp8ImIwNAmHr++fbEcOkT+b7/hLDShCQ3FdiKdol27Uex2dE2aoA4OwplfgDU52ZWs0YSHY2jThsJ/9wfRxsYSOWMG2qhIivbtI+/nXzBt2QJn78fl44Nfr15YDh/G/u8SZ+dzzmSQELXEmZlfB2JLZon8p9V/0Gl06DQlT80Oaz6MHo16oEJFmDEMgIGxA/nP0v+46rQIKtm7RwghhKiq9PR0+vXrV6Y8OjoaKN4XripJkYULF6LX611LcZ2hVqu5+uqr+c9//kPjxo05cuQIr7/+OsOGDWPp0qWMGDGiwj4zMjLKLJua+O8scJvNhq3UjObqsNvtOBwO7GfN+BZVI+PoGTKOnnG+cdSi5Y1+bzBt5TT25+wn1BDKuNbjGBc/jmB9MCjw+b7ixMiOzB18s+8bxrQeU25f9Zl8Hj3H02NZnd99khQRdVJWUZbbcZghrEwdlUrF2PixjI0fe7HCEg2c48hRMt5+G+vBQ1iTknCetaSTrlkzfHtfjvVQIqbNm1H5+hJ83XXkr/gTe1p6hf1qGzcmcMQIcn9c5l5Po3G/ca5SoY2ORhcXh//gQQSPHo3azw97Tg6mDRsw79qNOsAfXWws+jZt0DVpQs6335L7/Q/oYpsQOWMGumbNANC3aEHAgAFVHgOf0FBiXn6pTLlKpcKvV0/8evU8Z/szv8jURiOhE24mdMLNVY5B27gxITfe4Fami4tDFxdXYRt969boS22caezUye28b/fuhN02uUw7Q9u2BI0a5VamOBygKO5JsIJCzNu2Aip8u3dDbTRiPXYMa8pxfHt0R/3vMgzGLl0IuekmnIWFmLZvx3LoEGqjL5rgYHy7dcUnPBzF6cSWnIzTYkWxWinav4+iXbuxHU/Bln4Ctb8/2hYtsEdHE3T5ZZUdNiG85sx+IgWlViRsGdyy3LrhxnC341YhrXi056O8tKn4753uUd0vVJhCCCHqGKfTWWbftIro9XpUKhVms7nc5bHOLJtrNpvLnKtIXl4eP/30E8OHDyc4ONjtXNOmTfn111/dym655Rbat2/PQw89dM6kyLx585g9e3a553Jzc8nKyir3XGXZ7Xby8/NRFAUfH7llVF0yjp4h4+gZlR3HN7u/SaoplUa+jdCpdTgKHGQVZDG28Vh+S/qNE+bih/Pe2vYWrfWtaeJX/rKA9ZV8Hj3H02OZm1t2r8nzkZ+gqJPKJEWMZZMiQlSHs6gIxWrFeuQIBWvWYjuegjowCJ/wcAzt26GLi8OWkoLtxEk0IcFoYxqjb9kC06ZN5E2dBqX25Dib9dgxrMeOuY4Vk4mcL790q2O45BKiHnuUUx9/jDM3j+Bx4wgaNRKVVkvoLRM48eyzWA4eImj0tYROnEjhP/9gO3YMXYsWGC+9FM1Zm2kD+ISEEDh8OIHDh5c5FzZpEmGTJlV/wEQZKo2mTJnG3w//K65wK9M1a+ZKQp1N7eeHf58++PfpU7Z/tdotwWPs2AHGuid/z0xFNYbJ342i9rMmJWHRgkNTMlMkUBd4jhbubm53M038m5BpzuSaltdciBCFEELUQX/99RcDBw6sVN19+/bRtm1bjEYjlnK+zxf9u+ddVfZb++677ygqKuLmmyv3kE9oaCiTJ0/mpZde4vjx4xXuQTJ16lTGnvXdLzExkdGjRxMUFERYDb//2e12VCoVoaGhctOvBmQcPUPG0TOqMo6RRJZb/mSvJ7l31b0AFNoLeXTro3xy5Sc09m/s8XhrK/k8eo6nxzIoKKjKbeQnKOqk7KKSjYnVKjUh+pBz1Bbi/GwnT5Jy9z1Y9u2rclt1QEDxElbnSIhUhl/v3sS89io+ISE07V72aWefiAiavPOOW1l1ZnMIIURtoTgcWA4exHTWQ7kBuoAq9dM/tr8HoxJCCFEftG3bls8++6xSdc8sjxUdHU16etkZ3GfKYmJiKv3+CxcuJCgoiJEjR1a6TWxsLADZ2dkVJkUiIyOJjCz/pqVWq/XI2uwajQYfHx9ZM7+GZBw9Q8bRM2o6jv2b9ee61tex5NASAE6aTnLXn3fxzuB3GtTG6/J59BxPjmV1+pCkiKiTSs8UCdYHo1GXfTJbiMpSFIX0xx6vVkIEwJmf73YcOHwYxku74hMViSYwEMVmx5GTTeHGjZi370ATHEzAoEGYtm6l4M8/Uel0RNx/H6GTJ6NSN7zNyoQQDYMjPx/Tli0Y2rVHGxWJYrWSOvMRrElJFLivilXlpIgQQghxtkaNGjGpijOiu3Tpwpo1a3A6nahLfS/fuHEjvr6+xMdX7sZfeno6K1euZNKkSeUux1WRI0eOABAREVGluIUQ4mJ48rInybXk8mfynwCkFaYxYfkEnrn8GUa0qHjZPyFqI0mKiDopp6hk42hZOkuUZjuZQd6ypWgbNyZgyBAcp0+T+/0P2E6k4xMegU9EBD7h4djS0zBv2QpqNZrAQArXry/Tl9rPD0PHjjjNJmzJKe4blp+9n8e/Qu65m0b3319ubEHXuC/rEnb7bdizslD5+KCpxlQ/IYSoKwrWrCHtscdxnDoFWi0BgwdTtGcPtpQUAEwG9/pVWT5LCCGE8JQxY8aQkJDAkiVLXJujnzp1isWLFzNq1Ci3BMfhw4cBaNmy7D5YX3/9NU6ns8KlszIzM8skPlJTU/n000/p1KmTa+aKEELUJlq1lrn95jJ91XRWH18NgNlu5tE1j1JkL+L6+Ou9HKEQlSdJEVEnlZ4pUt4m66LhURSFvJ+Wc+LZZ3Hm5QHFm2Nbjx3DnplZ6X58oqKInvMcmsBADO3aodLpXP3bUtOwp6ehbdIEn0aNcObnYzl0iII1ayjafwClZw/CbrmlSnH7yJ4PQoh6yp6TQ+5331H4zz8Urv6r5ITNRv4vv7jVLYoKBgpcxzJTRAghhDeMGTOGyy67jMmTJ7N3717Cw8OZN28eDoejzObmgwcPBiApKalMPwsXLiQmJoYBFSx1O3PmTA4fPszgwYOJiYkhKSmJDz/8kMLCQt566y1PX5YQQniMVqPlzYFv8tbWt1iwZ4Gr/Lm/nyNIH0Sv6F74a/1RqVQVdyJELSBJEVEnld5TRGaKCIDMN98i68MP3cpMmzdXuZ/oZ2eX2RAbQKVSoWvSGF2Tkk3ENIGB+Hbrhm+3bq6NrYUQQoA1JYWkG2/CUYm/F3UtWmB84AbYOxcAH5UPRp/Kb2QrhBBCeIpGo2H58uU8/PDDvP3225jNZnr06MGCBQto06ZNpfo4cOAAW7Zs4cEHH3Rbgqu0q6++mg8++ID33nuPnJwcgoOD6devH08++SRdu3b15CUJIYTH+ah9eKj7Q7QLbcdjax/DqThxKA6mr5oOQHxIPLMun0XHiI5ejlSIiklSRNRJpWeKhBpCvRiJqA3MO3aQ9dFH56yji4vDabFgP3UKbDZQqzG0b489Kwv7vxsnBt94A/79ZbNeIYSoCafFQur9D5RJiKgMBiIeuB/r4SMU/PUX+jbxBI8ZQ8CAAfx9eLGrXoAuQJ4sE0II4TUhISF88sknfPLJJ+esV94MEYA2bdqgKMo52950003cdNNN1Q1RCCFqheEthpNvzWfOxjlu5QdzDjLl9ym8f+X7dIns4p3ghDgPSYqIOsltpogsn1XvKE4njtxcFJsNn4iIc94cU+x20mfPhn//4aHS64l+7lkK1qwlb9kyVHo9kQ8/TMjN41GpVK6+1Todaj8/FIcD0+YtKFYLfn37XqxLFEKIeivj5Zcp2rvXdWzo2BH/Af0JuvZadE2alNsm35rveh2ol/1EhBBCCCGEqAtuaHsDp4pO8cGOD9zKC2wF3P3H3Tzc/WFGtxqNRq3xUoRClE+SIqLOURRFls+qh4r27iV36TJMmzZRdPAg2O0A6OOLnyQ2bduKeccO/Hr0JOzuu1D5+GDevp2ClSux7N3n6if8nrsJuuYagq65hsiHHkTtH4DG3891XqVW4xMSUnKs0eDXq+fFu1AhhKjHzHv2kLPoK9exvm1bmn3xOWqD4Ryt3JMiAVrZT0QIIYQQQoi6YlqXaVzT4hpOmk7yS9IvfHPgGwAKbYXM2jCLT3d/SqvgVrQNa8st7W7BX+fv5YiFkKSI8LLkvGRUKhVN/JtUeqmMPGseNqfNdSwzReo+y+HDHL3hxuJlrc4+d/AgJ194wXWc+8MP5P7wQ7n96OLiCL3tNtextlEjzwcrhBCiQrnfl/z9rPL1pcmbb5w3IQJnJUVkk3UhhBBCCCHqlNjAWGIDY+kW1Q1fH18+2/OZ61xyfjLJ+cmsSFnBicITzO4924uRClGs/F2/hLgIFu1bxIj/jWD4kuEMWzKMN7e8iclmcqvjVJzkFOW4rclaej8RkJki9cHpb78tNyFSJSoVjZ55GrVO55mghBBCVIlit5O3fLnrOHDoUHRxcZVqm2fNc72WpIgQQgghhBB1k0ql4sHuD/L2wLdpGtC0zPkfD/9IriXXC5EJ4U5migiv+T7xe9fr1IJU5u+ez+6s3cwbPA8ftQ+LDyzm3e3vctpyGr1GT8vgltzY5kai/aPd+pGZInWbYreT+1PJTTRDhw4Ejx2LtkljbMdTyZo/H1tyMj7R0Rg7diR/5Uq3BIquRQuMXboQOHw4fpdf7o1LEEIIARRu2OC2uXrQNaMq3Vb2FBFCCCGEEKL+GNh0IH0a9+Hnoz+z+9Ruvj7wNQBWp5Vlh5cxof0EL0coGjpJigivOWk6WaZsY/pGbv/1dhyKg12ndrnKLQ4Le7P28vT6p8u0CTWGXtA4xYVV+PdGHKdOuY4jH5yOX+/eruPgsWOwZ2YWb7iuVmNLS8O0ZSua4CCMHTuiCQ72QtRCCCHOlrtsmeu1T2Qkvj16VLqtLJ8lhBBCCCFE/aLT6Li21bVc2+paDp0+xJaTWwBIOJjAze1urvQy+kJcCJIUEV5hd9rJKcop99z2zO2V7idEH4JWrfVQVKK6rMeOcfKVudiOHwfAp1EUAQMG4D9oENqoqOI6x1NxZJ3CJzKyOMHhU/zXT96ypa5+fCIi8O3Vy61vlVrt6gNAGxNDUEzMhb4kIYQQVeA0mcj/40/XceCIEag0mkq3L718VqBOZooIIYQQQghRn1zf+npXUuRw7mF2ZO6gS2QX7wYlGjRJigivyCnKQaFkn5Dn+z7PO9ve4UThCbd6jfwacW+Xeym0FfLV/q9IyktyOz+m9ZiLEa44jxPPzaFw7VrXseXAAQpX/wWzn8XQqRM4nRTt3u06r9Jq0bVsibZJYwrXrnOVB44cWaWbaEIIIWqHwr83ophK9gULGjWySu3d9hTRykwRIYQQQggh6pOrml3Fi5tedM0Qf33L67w3+D2ZJS68RpIiwitOmU+5HXcM78j8q+fz0qaXOG05TYx/DG1D23JDmxtcf0GOazOO1cdXk5SbRLg+nEhVJN3junsjfFGKIz+fwr//rvB80c6dZcoUmw3L/v1Y9u93K6/K+vNCCCFqD+vRI67XmtBQ9O3aVbqtU3FSYC1wHcueIkIIIYQQQtQvBh8D17S8hoX7FgKwLWMbt/5yK+8Pfp8ov6jztBbC8yQpIrwi05zpdhxuDCdAF8C8K+dV2MZH7cPgpoMBsNlsZJXazFV4T+H6DWC3u44DrroSe+YpzDt2gKKco6U7Q+dO6Nu2vRAhCiGEuMCsySmu17qmTau0PnChrdBt9qg8LSaEEEIIIUT9c1enu1ibupZjeccAOJRziCm/T+HzYZ8TpA/ycnSioZGkiPCKLHNJQkOv0eOv9fdiNKImCtb85XqtbdqUJu+8A4AtI4OClasoXLsWRXHi378/vt26Yz+ViTUpCcuBg9izs1DrDfhERRFy042yyZYQolosFgtPP/00X3zxBTk5OXTq1Ik5c+Zw1VVXnbPdkiVL+Oabb/jnn384ceIEsbGxjBw5kqeeeorg4GC3unFxcRw7dqxMH3fddRcffPCBJy+nTrIml4yNrlnTKrUtvXQWSFJECCGEEEKI+ijEEMIXw77g3hX3sjOzeFWRI7lHuH/l/TzQ9QHUKjX51nwUFHo26olOo/NyxKI+k6SI8IrSy2eFG8PlZngdpSgKhX+tcR379+vneq2NjCTkhnGE3DDOrY2+RXP8eva8aDEKIeq/SZMmkZCQwAMPPEDr1q1ZsGABw4cPZ+XKlfTt27fCdlOmTCEmJoYJEybQtGlTdu3axbvvvsvy5cvZunUrRqPRrX6XLl146KGH3Mri4+MvyDXVNbZSM0W0sVVLipxZV/gMSYoIIYQQQghRP4UYQvjk6k+4+/e72ZqxFYAtJ7dwy8+3uNW7JOwSPrzqQ5lBIi4YSYoIryidFAkzhnkxElETlgMHsGdkuI79+13hxWiEEA3Rpk2b+Prrr5k7dy4zZswAYOLEiXTo0IGZM2eyfv36CtsmJCQwYMAAt7Ju3bpx6623snDhQu644w63c40bN2bChAkev4a6TrFasaWnu46rOlPk7KRIoE72FBFCCCGEEKK+MvoYeXvQ20z8eSJHco+UW2dP1h5u//V24kPiSStM4/rW1zOqpexDKzxHkiLCK0onRSKMEV6MRADkL19O4c+/oPb3R9esGfo28ehbtcKWkoIlMRFHTg6OwkL0rVsTOHQoPqGhABSsLlk6S6XX4yszQIQQF1lCQgIajYYpU6a4ygwGA7fffjuPP/44KSkpxMbGltv27IQIwH/+8x9uvfVW9u3bV24bq9WKzWbDz8/PI/HXB9bUVHA6Xce6Csa7IrJ8lhBCCCGEEA1LkD6I9698n6l/TOVw7uFy6xzIOcCBnANA8WwSXx9fBjcbfDHDFPWYJEWEV5y9fJbwHsfxVE4+8aTbZunncvL5F/Dr0xtj585kf/qZq9y3V0/UBsOFClMIIcq1bds24uPjCQx0n13Q898k7fbt2ytMipTnxIkTAISHl/3dtGLFCnx9fXE4HDRr1ozp06dz//33n7fPjIwMMjMz3coSExMBsNls2Gy2Ssd3NrvdjsPhwF7Jv8MvBPPRo27HqujoKl1TjinH9Vqv0aN2qrE5qz8m1VUbxrI+kHH0DBlHz5Bx9IwLMY41+d0nhBCifojxj+F/1/6PXEsuRY4iHIoDjUrDg6seZNepXWXqP772cRYGLqRVSCsvRCvqG0mKCK+Q5bNqD9uGDZVOiADgcFD41xq3vUQAAocP93BkQghxfunp6URHR5cpP1OWlpZWpf5efvllNBoNY8aMcSvv1KkTffv2pU2bNmRlZbFgwQIeeOAB0tLSePnll8/Z57x585g9e3a553Jzc8nKyqpSjKXZ7Xby8/NRFAUfH+98rSvav7/kwM+PHKcTVRWu6eTpkyXNNX41Go+aqA1jWR/IOHqGjKNnyDh6xoUYx9zcXI/0I4QQom5TqVQEG4Ldyj686kMe+esR1qetp1lgM9cSWya7iemrprPkmiVoNVovRCvqE/lmKLxCZorUHrYtm92OfaKjsZdaG14THIzPvzcXLRUsJxMyfjxB11574YIUQogKmM1m9Hp9mXLDvzPXzGZzpftatGgR8+fPZ+bMmbRu3drt3NKlS92OJ0+ezLBhw3j99df5v//7P5o0aVJhv1OnTmXs2LFuZYmJiYwePZqgoCDCwqr/cIDdbkelUhEaGuq1G36Z2dmcGWV909hyZ9mciyPV4XodZKjZeNREbRjL+kDG0TNkHD1DxtEzLsQ4BgXJxrlCCCHKF6ALYN6V81zHc/+Zy+d7PwcgKS+JFSkrGBI3xFvhiXpCvhmKi85kM2Gym1zHsqeI9yhWK/btO1zHEQ88QPjdd2HPzsaWnIxPdDQ+kZGoVCoArMdTyVu+nLxly7AcOoQmJIRGz84m8KqrvHUJQogGzmg0YrFYypQXFRW5zlfGmjVruP322xkyZAjPP//8eeurVCqmT5/Or7/+yqpVq865AXtkZCSRkZHlntNqtWi1NXvKSaPR4OPjU+N+qsuRctz1WtcsrspxmBwl3wkC9YFeuw7w/ljWFzKOniHj6Bkyjp7h6XGUn4cQQojKmt5tOqtSVpGcnwzA/w79T5IiosbU3g7gXCwWC4888ggxMTEYjUZ69erF77//ft52s2bNQqVSlfnPIPsd1AqlZ4mAzBTxJvOOHfDvjUMAvz69AfAJDcXYpQvaqChXQgRA16Qx4VPupMWypbRavZpWK1dIQkQI4VXR0dGkl5rddsaZspiYmPP2sWPHDq655ho6dOhAQkJCpZ+CPbNXSXZ2dhUirn+sKSmu11XdZB0gz1Ky0bpssi6EEEIIIYQozUftw39a/8d1vD5tPWkFVVsmWYiz1eqZIpMmTSIhIYEHHniA1q1bs2DBAoYPH87KlSvp27fvedu///77+Pv7u441Gs2FDFdUkiRFPM+SmIjicGBo06ZK7cwbNrhea4KCMLRvX+m22qjyn3oWQoiLqUuXLqxcuZK8vDy3zdY3btzoOn8uhw8fZujQoURGRrJ8+XK37w3nc+RI8dq2ERENd8aj4nBgK5UU0TaNZdb6Waw+vpox8WO4p/M9qFUlz+AoiuKWbAfIt+a7XktSRAghhBBCCHG2a1tey7vb3sWhOFBQ+CHxB+7pco+3wxJ1WK1NimzatImvv/6auXPnMmPGDAAmTpxIhw4dmDlzJuvXrz9vH2PGjKnyutbiwjs7KRJqCPVSJPVD3u+/k/p/9wEQPG4cYXfcTtann2I9fARNeBg+YeGojUYUux3b8ePYMzNxmkygVmMptTmu7+WXo5LEoRCijhkzZgyvvvoqH330kev7gsVi4bPPPqNXr16u2RzJycmYTCbatm3ranvixAmuvvpq1Go1v/76a4XJjezsbIKCgtwerrDZbLz00kvodDoGDhx4Aa+wdrMeO4Zis7mO94Zb+O7QdwB8sOMDDp8+TKAukH9O/EN2UTZWh5WRLUfyzOXPoFapsTvt5FlLZooE6gLLvIcQQgghhBCiYYvwjeCKJlewKmUVAF8f+Jpw33CGxQ3DX1f5B9uEOKPWJkUSEhLQaDRMmTLFVWYwGLj99tt5/PHHSUlJcd3oqIiiKOTl5REQEFDmqUThOScKT7AudR29onvRJKAJyXnJrExZSc9GPWkX1q5M/dJJkSB9EDqN7mKGW+/kfLnQ9fr0t99y+ttvq9WPX+/LPRWSEEJcNL169WLs2LE89thjZGRk0KpVK/773/+SlJTE/PnzXfUmTpzI6tWrURTFVTZ06FCOHDnCzJkzWbt2LWvXrnWdi4qK4qp/lwdcunQpc+bMYcyYMTRv3pzs7GwWLVrE7t27eeGFF2jUqNHFu+BaoujAQdKffoqiHTvdyo/4Frgd/36s7LKnSw4toVtUN1LyU/hk5yfYFbvrnCRFhBBCCCGEEOW5rtV1rqRIdlE2z254lo93fsynQz6lSUATFEVhf/Z+tpzcglatpWlgUzpHdMZX6+vVuEXtVGuTItu2bSM+Pt5tKQyAnj17ArB9+/bzJkVatGhBQUEBfn5+jB49mtdee42oqKjzvndGRgaZmZluZYmJiUDxk6G2Uk9EVpXdbsfhcGC3289fuQ7YcnIL962+D7PdjE6tY1SLUfx49EcsDgtqlZonez7J6Jaj3ZbLyCjMcLUPN4RXazzr2zhWl9Niwbxtm0f60vfsWaPPdkMnn0nPkHH0DE+PY23/u+Hzzz/nqaee4osvviAnJ4dOnTrx448/0q9fv3O227FjBwCvvPJKmXP9+/d3JUU6duxI+/bt+fLLL8nMzESn09GlSxe+/fZbxo4d6/kLqkUURaFw3XrsmZnom8eh9vPDtHUbJ19+GcVkcqurMhg4rlRuf5Xn/34ek91UplyWzxJCCCGEEEKU54omV9AquBWJpxNdZemF6dzzxz0Maz6MJYeWcNJ00q1NsD6YV/q9wuUxl6MoCk7FiUYtq6SIWpwUSU9PJzo6ukz5mbK0tIo31AkJCeHee+/l8ssvR6/Xs2bNGt577z02bdrE5s2byyRazjZv3jxmz55d7rnc3FyysrKqcCXu7HY7+fn5KIpS6Y1ca6utWVt5euvTWJwWAKxOK98lfuc671ScPLvxWT7b/RmpplR8Nb5E+0ZzKO+Qq06gJrBa41mfxrEmbDt2oFit5Z7T9ukDKDhP54Kl+GekjopCHRGByt8P56ksrOvWQX4+2mHDyDMYoAaf7YZOPpOeIePoGZ4ex9zcXA9EdeEYDAbmzp3L3LlzK6yzatWqMmWlZ42cS7du3Vi6dGl1w6uzFKeTk8+/QM7CheevDIROuJlj+YllyoP0QQyNG4pBY+C/e/8LUG5CBGSmiBBCCCGEEKJ8Pmofvhj2Bf9L/B9LDy9lf3bxkvBJeUm8v+P9ctuctpzm/1b8H1c3u5oVKSvw1/rz0VUf0SK4xcUMXdRCtfaOk9lsRq/Xlyk3GAyu8xW5//773Y6vv/56evbsyc0338y8efN49NFHz/neU6dOLfPkZ2JiIqNHjyYoKIiwsLDKXkYZdrsdlUpFaGhonb7hV2gr5IWVL7gSIueSUli8AWuBvcAtIQLQKLBRtcazvoxjTWUfOOh2HHDNKJzmIoJvmYDx0kvP295WVERWcjLhLVo06HH0BPlMeoaMo2d4ehyDgoI8EJWoS5xFRZx8/nlOL044Z73QWyfi168f2qgo9K1akfTdUNe5OzrewYjmI2ga2BSdRoeiKGzN2MquU7vc+gjRh5BjycGgMdC3cd8Lcj1CCCGEEEKIus9f588t7W/hxjY3cs8f97DxxMYydfQaPWqVGrO9+N6xxWFh2ZFlQPH9zHe3v8vrA16/qHGL2qfW3nEyGo1YLGVvuBcVFbnOV8X48eN56KGH+OOPP86bFImMjCQyMrLcc1qtFq1WW6X3PptGo8HHx6fG/XjT3oy95FpLnhy+rvV1rE1dS4Ypg2B9MDe0uYH5u+djd5576ZZI38hqj0N9GMeaKtqyxfXaf+BAmpSzBMz5aMPCGvw4eop8Jj1DxtEzPDmO8rNoOJwmE6c+/IjT33yD4/TpCutpmzQhYvoDBI0Y4SqzOqykFZTM5G0V3IpWIa1cxyqVioe6P8SkXya5ym5scyPTu01ne+Z2WgS1IMrv/MucCiGEEEIIIRo2rUbLGwPf4PZfb2df9j4A+jTuw41tbuSy6MvQa/R8uPND3tv+Xpm2q1JWkWvJJUgvD/81ZLU2KRIdHU1qamqZ8vT0dABiYmKq3GdsbCzZ2ZVb61qcW+k1+nRqHbMun4XFYWHXqV1cEnYJvlpf+jTuw1f7vyJYH0ybkDYUOYpYk7qGdanrXG3bhLbxRvi1jj0zE014uGvflcpwWiyYt293Hfv+u9+OEEIIUV0Zr75KzqKv3Mo0wcHEfvQhal9fnEUWdE1j0ZSzFGlKfgoKJUuSxQXGlanTLaobUztPZcGeBfRp3IcZPWag1+jpHdPb49cihBBCiGJOp5OTJ09isVhwOp3nrWu1WikoKECtVl+kCOsfGceqU6vV6PV6oqKiZMxEpQToAlg4fCHr09YTGxhLiyD3JbHu7nw3WrWWd7e/6/bQts1p47djvzE2vn7vDynOrdYmRbp06cLKlSvJy8tz2wNk48aNrvNVoSgKSUlJXFqJJYXE+ZVOikT4RqBSqTD4GOjRqIer/NLIS7k00n28b253M6tTVvN94vdE+0czJG7IRYu5tkp74glyv1uCvnUrYl57DUN8fIV1HQWF2DMzcGRnY9q8BaXUbCrfnj0qbCeEEEKcj+P0aU4v+Z9bmb5dO2Jefumcv5vOSMpLcjtuGti03Hr3dLmHe7rcU+04hRBCCFF5TqeT5ORkzGYzGo0GjUZzzofxVCoVOp2uSg/sibJkHKtGURSsVitmsxmLxULTpk0lMSIqRavR0j+2f4Xnb+94O2Pix6DT6Ljtl9vYnbUbgB8P/yhJkQau1iZFxowZw6uvvspHH33EjBkzALBYLHz22Wf06tWL2NhYAJKTkzGZTLRt29bVNjMzk4iICLf+3n//fTIzMxk6dCii5konRaJ8q7bURf/Y/uf8C6shsR4/Tu53SwCwHEokacxYgq69FsVqQe3njyY8DMepU1iOHMV65Aj2jIxy+1EHBGAo9WdACCGEqKrTS/6H8u8ypQBN3p+H/4ABlf7H/LG8Y67XoYZQAnQBHo9RCCGEEFVz8uRJzGYzoaGhREZGnvf3utPpxOFwoNFo5KZ0Dcg4Vp2iKGRkZJCdnc3JkyeJjo72dkiinjizTNbIliNdSZGtGVs5nn+cJgFNvBma8KJa+zdzr169GDt2LI899hgzZ87ko48+YtCgQSQlJfFKqX0TJk6cSLt27dzaNmvWjMmTJ/P6668zb948xo8fz7333kuXLl246667Lval1EsZppKb81VNiogSpk3/uB0rViunFy8m94el5CxaxKm33yFn0VeY/v67woQIgG+3bqg0mgsdrhBCiHpKcTrJ+apk2SzfHj0IGDiwSk83lk6KlLd0lhBCCFHbpaen8+ijjzJw4EACAgJQqVSsWrWqSn2kpqYybtw4goODCQwM5Nprr+XIkSPl1p0/fz7t2rXDYDDQunVr3nnnHQ9chTuLxYJGo6lUQkQIb1KpVERGRqLRaMrdY1iImhrWfBg+qpL5Ac9ueJYsc1aZelnmLA5kH8DhdLjKThed5qn1TzHxr4l8f/j7ixGuuMBq7UwRgM8//5ynnnqKL774gpycHDp16sSPP/5Iv379ztnu5ptvZv369Xz33XcUFRXRrFkzZs6cyRNPPIGvr+9Fir5+c0uKyKao1WbavLnGfai0WsKmTPFANEIIIRqqwjVrsKWkuI5Dbr65yn0k5Sa5XjcLbOaJsIQQQoiL6sCBA7z88su0bt2ajh07smHDhiq1LygoYODAgeTm5vL444+j1Wp544036N+/P9u3bycsLMxV98MPP+Tuu+/m+uuv58EHH2TNmjXcd999mEwmHnnkEY9dk9PpPO+SWULUFiqVCo1Gc969b4SojlBDKH0b92XV8VUAbEjfwPVLr+flfi/TK7oXAH8d/4sZq2dgtpu5JOwSZnSfgclu4vm/nyetMA2AFza9wMBmAwk3hnvrUoQH1OqkiMFgYO7cucydO7fCOuU9tfHxxx9fwKgEwMnCkuWzIn0jvRhJ3Wb6p2SmiE+jRujbxKMUmlD5GnHm5WM/dQpNYCC6li3Rt2yBrnkLtI0b4xMWCoAjLw9dkyao/fy8dQlCCCHqgZxvvnW99omMJGDwoCr3UXqmiCRFhBBC1EXdunUjKyuL0NBQEhISGDu2auvNz5s3j0OHDrFp0yZ69Cje83HYsGF06NCB1157jRdeeAEAs9nME088wYgRI0hISADgzjvvxOl08txzzzFlyhRCQkI8dl2SEBF1iXxexYU0s8dM9mbtJcNc/LB3VlEWU36fwtTOU2ke1JzH1z6OxVE8U2lP1h4m/zq5TB92xc6Ph39kUodJFzN04WG1OikiaieLw0KOJcd1LEmR6rGdOOH2VG7Uo48SOLRqG89rZY1NIYQQNeQoKKBwzRrXcfDYsai02ir1kW/NJ6uoZOq5LJ8lhBCiLgoIqNl+WAkJCfTo0cOVEAFo27YtgwcP5ttvv3UlRVauXElWVhZTp051az9t2jQWLlzITz/9xIQJE2oUixBCiLJiA2P57prvmLVhFn8m/wmAU3Hy7vZ3q9TPksQl3HrJrZLEq8MkKSKqrPTSWSB7ithOnsSeeQrDJe2r9Jeh6R/3pbN8e3T3dGhCCCHEeRWsXIVis7mOA4cPq3IfyXnJbscyU0QIIURD43Q62blzJ7fddluZcz179uS3334jPz+fgIAAtm3bBkD37u7/BuzWrRtqtZpt27ZVmBTJyMggMzPTrSwxMREAm82GrdTv9DNxqVSqKi1HpCiKq62oPhnH6lEUBUVRsNls2O12HA4Hdrvd22HVaTKO7vw0frzS5xW+ifiG17e+jl0pOy59Y/qy8cRGbM7iv1P9tf5EGCM4mncUgKO5R9mSvoXOEZ0vauz1hac/k2f/7qsMSYqIKpOkSImi/fs5OmYs2O0EXH01MXNfQa3XV6pt6f1EdC1a4FNqfVkhhBDiYsn/7TfX6+LlGltWuY+UghS349jA2BrHJYQQQtQl2dnZWCwWosuZzX+mLC0tjTZt2pCenu7a/Lw0nU5HWFgYaWlpFb7PvHnzmD17drnncnNzycpy3zTYarWi0+lwOBzltjmboiiuuvIEdPXJOFafoihYrVaysrKw2+3k5+ejKAo+PnILs7pkHMt3VfhVRPeI5q29b5FUkOQqHxc3jjvi7yC/TT7JhclEGCKIMERgtpq5ec3NFDoKAXj1n1fpF9WPvlF9iTTKKjpV4enPZG5ubpXbyJ8EUWWl9xNRoSLct+FuLJTz9dfwb1Yz/7ffSMnNJXDEcJwFhVgO7Md24iQqvQ6VWoMjNxdHdjb206dxFhRAqS+lvqWmVwshhBAXi9NkoqDU0lmBQ66uVj/Z5mzX6yB9EHpN5R4QEEIIIS4Up9OJ1WqtVF29Xl/jG9dms9nV19kMBoNbHbPZjE6nK7cfg8HgqleeqVOnltnrJDExkdGjRxMUFOS2mTsUb/5+ZvPqqvDmjdNBgwaxfv169Ho9arWawMBAunbtyh133MGIESNc9U6cOMGsWbNYvnw5WVlZhIWFMXLkSGbNmuWWcNJoNPj7+7N//363pFXTpk159tlnmTRp0gW7FrkBXXUqlcqVILTb7ahUKkJDQ2Usa0DGsWL9w/rTr2U/CmwFnDCdQK/W0zSwKQDhhNOc5q66drudQdGDWHZ8GQB7Tu9hz+k9fJf8HYtHLCZAV7MlGBsST38mg4KCqtxG/iSIKis9UyTMGIZWXbV1x+sT85YtbsemjRsxbdxY5X58u8vSWUIIIS4ue3Y2eT/+iFJU5CoLuLp6SZHSe42F6D23MawQQghRXX/99RcDBw6sVN19+/bRtm3bGr2f0WgEwGKxlDlX9O/v2jN1jEZjhQmboqIiV73yREZGlplhcoZWq0V71r5garXa7f+dFgu25OQybc9wOhUcTgcOtQa12rMzHLRNm1Z6ZYWZM2cyZ84coHjJsISEBMaPH899993H888/z4kTJ7jsssvo0KEDf/75J61ateLw4cM88MAD9O7dm40bNxIREeHqz2Aw8Pjjj/Pf//7X7X3UarVrbDzpzLJlZ95DVJ5KpUKlUrk+yxqNBh8fnzKfbVE1Mo7nFqoLJdQv9Lz1RsSO4MfjP6KguMoyzBl8eeBL7ut634UMsd7x5GeyOn1IUkRU2UlTyUyRhrzJuuP0aSyHEmvcjyY4GL++fTwQkRBCCHF+5l27OfXBBxT8+adbubZpU/Rt2lSrz5yikqRIqOH8/5gQQgghLrS2bdvy2WefVapueUteVVVoaCh6vZ709PQy586UxcTEuN7P4XCQkZHhluA4s2TQmXoXgi05mSOjrrlg/Z9Li2VL0bduXeV2kZGRTJ06Fb1ez5QpU5g8eTKvvPIKWq2W77//3jXrJj4+nv/973+0b9+eWbNm8d5777n6ePrpp5kxYwb33nsvPWSlBiFENbUMbMkLvV/gx2M/cjD7IJnm4j2evtz3JTe1vYkI34jz9CBqC0mKiCornRRpyPuJmP7dHO8MY5cuWJOSUOx2VBoNutat0MXFgd2BYrOhCQ5GExKCJjQEta8vjqxsnJYiAgYNwidEnqoVQghxYdlzcjj5wovkLVtW7vnAIUOqvXRIdlHJ8lmSFBFCCFEbNGrU6IIui3Q2tVpNx44d2Vxq78gzNm7cSIsWLQgIKF5apUuXLgBs3ryZ4cOHu+pt3rwZp9PpOi/cjR8/nilTpvDnn3/y448/ctttt5VZhkyv13PjjTfyxRdfuCVF2rVrxz333MP999/PunXrZJ8PIUS1DYkbwsjWI9lzag83/nQjAGa7mXe2vcMzlz+DRl215QqFd0hSRFRZ6eWzGvJMkdJLZ/lERtLsq0XyxUoIIUStoygKecuXc3LO8zhycspWUKnw7daNsNtvq/Z7lE6KhBgk0S+EEKL+S05OxmQyuS27NWbMGB599FE2b95M93+XSD5w4AArVqxgxowZrnqDBg0iNDSU999/3y0p8v777+Pr6+u2b4YoYTQaCQ8PJysri8zMTBo3blxuvSZNmnDy5Mky5c888wzx8fEsXLiQCRMmXOhwhRD13CXhl3B1s6v57dhvAPwv8X9sPrmZGP8YiuxFdI/qzu0db5e9RmopSYoInIoTRVEqncksPVOkkV+jCxVWrWfastX12rd7N0mICCGEqHVs6emceG4OBStWuJWrfH0JHX8TQddfj65xY1QVbPZaWaWXz5KkiBBCiLrszD4We/bsAeCLL75g7dq1ADz55JOuehMnTmT16tUoSsm68lOnTuXjjz9mxIgRzJgxA61Wy+uvv05UVBQPPfSQq57RaOS5555j2rRpjB07liFDhrBmzRq+/PJLnn/+eUJDL9ysS23TprRYtrTC82f2FNFcoD1FasJsNpOZmUlYWBgRERGkpqaWW+/48eNERZVd1SIkJIRnn32WRx99lP/85z81ikUIIQD+79L/Y0XKCuxOOwAp+Smk5KcAsCNzBz8c/oHJl0ymdUhrfj/2O38m/0nTgKa8O/hdgvRV3xxceI4kRRq4o7lHmfL7FKwOK1M7T2Vcm3FAceLjWN4xHE4HPaN74qMu/qg4nA5OmU652jfEmSJOkwmnyYR5925XmbFrNy9GJIQQQhQr2r+fvOU/o/LxwXH6NKcTElDO2sjV/8rBNHrqabRRnvsdLnuKCCGEqC+eeuopt+NPP/3U9bp0UqQ8AQEBrFq1iunTpzNnzhycTicDBgzgjTfecNv0G4oTKFqtltdee42lS5cSGxvLG2+8wf333++5iymHWq8/574eTqcTh8OBRqOpdRuEf/XVV6hUKgYNGsTmzZv55ptvePrpp92W0LJarXzzzTcMGTKk3D6mTJnC+++/z0svvXSxwhZC1GNxQXG8PfBtnt/4PKkFZRO1p8ynmLt5rltZdlE2n+3+jAe6PXCRohTlkaRIA/fBjg84UXgCgDkb5/Ddoe9IK0wj15LrqtM1siuzes/il6O/sD5tPXbF7jpX15Mi1uPHyVm4CJ+ICAIGD6Jg9WpOJ3yH/dSp4r1BfHxQ+/riEx6OrlVLbMdTMf3zDzgcbv34duvqpSsQQgghijny8ki+7XYc2dnlnteEhtLoqScJGDrUo7MbHU4Hpy2nXceSFBFCCFGXlZ75cS6rVq0qt7xJkyYsXry4Un3ceeed3HnnnZUNrcHKzMxkyZIlPPzwwzz88MO0bt2a2bNn07NnT66//npee+01WrVqxeHDh3nwwQcpKCioMIGl0Wh48803GTFiBD4+cktMCFFzVzS5gh9jfuS3pN9Yl7YOjUpDakEqm05sqrDN94nfM+3SaWjV2osYqShNfgM0YE7FyYa0DW5l+7L3lam3NWMr13x/Tbl91OWN1hVF4fh992HZW3zNGa+8Um49R3Y2tuPHMW/fXu55tb8/+vj4CxWmEEIIUSn5f/xZfkJEpSLo2muJfGQmPiGeX9rqtOU0CiU3kGT5LCGEEELU1CuvvMKbb76JWq0mMDCQbt268eWXX3LNNcX3JmJiYti0aROzZs1i4MCBZGZmYrPZ6Nu3L+vWraNZs2YV9j1o0CCGDRvG//73v4t1OUKIes5H7cPwFsMZ3qJ4nyhFUfjt2G8s3LeQ3ad2Y3Pa3OpnFWXxV8pfDG422BvhCiQp0qDty9pHjqWcDVcryUftU6eTIpYDB1wJkZrw69MHlaZy+7EIIYQQF0reLz+7HWsiwvHt1p3wqfdguIDJ+9JLZwGE6CUpIoQQQojqq2gWztliYmL46KOPXMdz587l1VdfpaioyK1eebN/lixZUqMYhRDiXFQqFUPihjAkbghWh5XUglTCjeGMXTbWtczW4kOLJSniRZIUacDWpa1zOx7efDi51lw6hXeiS0QXYvxjmLt5Ln8d/8tVp1N4J7KKssguyubOjnfiq/W92GF7TN7yn8stN3ToQNCokaj0ehSbHWdhIbbU41gOH0Ft0OPXrx8+ISEU/vMPABH33nsxwxZCCCHKcOTmUbjhb9dxxPTphN815aK899kPWMjyWUIIIYTwhocffpioqChWr15N+/btPbpcqBBCVJdOo6N5UHMAxsSP4a2tbwGwPnU9qQWpNPZv7M3wGixJijRg61JLkiL9mvTj5X4vl6nz9sC3STiYwIGcAwyNG0rP6J4XM8QLRlEU8n75xXVs7NaN4Ov+g7ZxY3x79arUl6ega6+9kCEKIYQQlVa4ciXYSqZkBw4tf3PRCyG7yH3JrmBD8EV7byGEEEKI0iZOnOjtEIQQokLXtryWd7e9i0NxoKDw6j+v8vqA1yWJ6wWSFGmg8q357Mzc6TruHdO73HoatYYb2t5wscKqMcVmw3byJCqtFrWfPxp/v3LrFe3diy052XUcOnEigUOuvlhhCiGEEB5V8Ouvrtf69u3QnWMdbU8rvXxWoC5QNgsUQgghhBBCiHJE+EZwVbOr+CWp+EHtP5L/4JsD33Bj2xu9HFnDI0mRBmpT+ibsit113LdxXy9GUzOK00nu9z+Q9+MyTNu2o5jNrnO6Vi3x7dYda/IxrEeO4hMVhaF9O6xJx1x1VL6++Pfv543QhRBCiBpz5udj+rtk6azAIUMv6vuXnikiS2cJIYQQQgghRMUe6fkI/5z4h6yiLADm/jOXtqFt6RLZhVPmUwCEG8O9GWKDIEmRBmpD+gbX68b+jWka0NSL0VSf9ehRUmc/i3nLlvLPJx7GmnjYdWw/eZKinTvd6gQMHIjaYLigcQohhBAXim3tWrCXPOhwMZfOAvekSIhBNlkXQgghhBBCiIqEG8N58YoXuev3u1BQsDqtTPl9Cn1i+vBn8p8AjGszjgntJrA7azc+Kh/6NO5DgC7Ay5HXL2pvByC84/DpkkRB96judXLtOkdyMsfH31xhQqSyAkeN9FBEQgghvMFisfDII48QExOD0WikV69e/P7775Vqm5qayrhx4wgODiYwMJBrr72WI0eOlFt3/vz5tGvXDoPBQOvWrXnnnXc8eRnVpm7cGP+rr0ZlNF70pbPAffmsEL0kRYQQQgghhBDiXC6PuZy7O9/tOjbbzfyR/AfKv//75sA3jPp+FI+teYyH/3qYod8N5YMdH/DPiX/c/v0lqk9mijRQyfkl+2k0C7y4N088QVEUTG++hbOgwFWmbdyYkJtuxNi5M6jV2FJTKVizFsuhQ2ibNMbQth229DQshxJR7DZUGh8CBg/Gv39/L16JEEKImpo0aRIJCQk88MADtG7dmgULFjB8+HBWrlxJ374VLw9ZUFDAwIEDyc3N5fHHH0er1fLGG2/Qv39/tm/fTlhYmKvuhx9+yN13383111/Pgw8+yJo1a7jvvvswmUw88sgjF+MyK6Tt1ImwgQPR2GzYTpy86O+fYymVFJGZIkIIIYQQQghxXvd0vgeb08Ynuz45b908ax7vbX8PALVKzYPdHuTWS2690CHWa5IUaYCK7EVkmDJcx7EBsV6Mxp2iKACoVCoURcGekQGKgk9UlNtsloJff8O+davrOHD4cKKfexa1X6mN1bt1I+iaay5a7EIIIS6+TZs28fXXXzN37lxmzJgBwMSJE+nQoQMzZ85k/fr1FbadN28ehw4dYtOmTfTo0QOAYcOG0aFDB1577TVeeOEFAMxmM0888QQjRowgISEBgDvvvBOn08lzzz3HlClTCAnxfjJA7euLvkXzGvWx+9RuHlz1IGqVmtGtRnNDmxvOm+go/aSS7CkihBBCCCGEEOenUqm4v+v9BOoCeXvb2zgVJ9e2vJb0wnT+Tv+7wnZOxcmbW99kQOyAOvmge20hSZEGKLUg1e3YW0kRy+HDnHzxJaxHj+LIycFpsYDDgUqvxycsDEdhIc7cXAB8oqMxXNIelVqD02TCvGOHqx9NRDiNnp3tnhARQgjRICQkJKDRaJgyZYqrzGAwcPvtt/P444+TkpJCbGz5v+cSEhLo0aOHKyEC0LZtWwYPHsy3337rSoqsXLmSrKwspk6d6tZ+2rRpLFy4kJ9++okJEyZcgKu7+N7d9i7phekAvLf9PT7b/Rmv9n+VK5pcUWEb2WhdCCGEEEIIIapncofJjGo5Cq1aS5A+CEVRWJ+2nnxrPt0bdedo7lE+2vkR2zK2YXFYALA77by2+TXeHvS2l6Ovu2RPkQYoJT/F7bhJQJOLHoPidJI6/UEK167FlpqK02QCh6P4nMWCLS3NlRABsKenU/DHn+T/9huFa9fizM93nYuaORONv/9FvwYhhBDet23bNuLj4wkMDHQr79mzJwDbt28vt53T6WTnzp107969zLmePXty+PBh8v/9XbNt2zaAMnW7deuGWq12na8NzHYzG9M3kl6QXuW2VoeVLSfd9+ky2U08tPoh9mbtLbeNU3Fy2nLadSzLZwkhhBDCE3bt2sWNN95IdHQ0/v7+xMXFcdNNN7H13xUj8vPzefjhh2nRogVGo5GoqCgmTJhQZm+4uLg4Pvnk/EvTCCGEN4UbwwnSBwHFM0j6NO7D0OZDCTeG06NRDz6++mM23byJcfHjXG1Wpqw854wScW4yU6QBSs4r2U8kSB/k+kN3MeX9/DOWgwdr3I/xsssIHCkbpQshREOVnp5OdHR0mfIzZWlpaeW2y87OxmKxnLdtmzZtSE9PR6PREBkZ6VZPp9MRFhZW4XuckZGRQWZmpltZYmIiADabDZvNds7252K323E4HNjtdtIK07jnz3tIKSh++KF5YHPGtx3P9a2ur1Rf2zK2UeQoKlNutpuZ+sdUrmx6JY39G9MlvAttQtpgV+wU2gpxKk5X3UCfwBpdjzeVHktRfTKOniHj6Bkyjp5xIcaxrv6uqA8sDgspeSkVnncqTpwOJ2qNGrXKs8/RxgbGotfoz1tv1apVDBs2jClTprBhwwaaNWtGbm4uS5YsYfHixbRp04Z+/fqh1WpJSEigc+fOpKam8swzz9CjRw82bNhAfHy8R2MXQghvU6vU3Hvpvfx89GfybcUP8M1eP5svh39JmDHsPK3F2SQp0gCVnikS6++ZpbOcRUU48/NxWiyojUY0AQGodLpy6yp2O6feedd17BMTTfhdd6P29UWlUeM0mbCfykKl1aKPb41itWLatKl481iVCpVOizosHGt4GI3GjHHba0QIIUTDYjab0evL/uPaYDC4zlfUDqhUW7PZjK6C32kGg6HC9zhj3rx5zJ49u9xzubm5ZGVlnbP9udjtdvLz8zlhOsGj2x7lhPmE69zRvKM8v+l5gpxBXBp26Xn7+uvoX67Xfj5+DG8ynMVJiwHIKsrim4PfnLcPVZGqRtfjTWfGUlEUfHzkK3J1yTh6hoyjZ8g4esaFGMfcUqsCiIsrJS+F/yz9j1fe+3/X/I9WIa3OW++uu+5izJgxvPXWW66y4OBgbrvtNgBeeOEFjh49SmJiIuHh4QA0bdqUzz77jL59+zJ9+nR++umnC3MRQgjhRSGGEO7ufDdzN88F4HjBcab9OY1Ph3yKr9bXy9HVLfLNsAE68wQp1Gw/kcJNm8hZuIii3buxpaaWOa+JCEfXrBkaP39QqbClpWFNSQGVCsVkctWLuPf/CL7u3F/KAgYPdju22WxkZWWh9pU/8EII0ZAZjUYsFkuZ8qKiItf5itoBlWprNBqxWq3l9lNUVFThe5wxdepUxo4d61aWmJjI6NGjCQoKIiys+k/12O12MooyeHz7424JkdI+PfwpX7b+8rxPe+7ettv1untUdx65/BFOO0/ze/LvlY6nRVQLwnzr5lNKdrsdlUpFaGio3DytARlHz5Bx9AwZR8+4EOMYFHTxVysQdcOhQ4c4ePAg7777boV1fvzxR0aOHOlKiJR26623Mm3aNCwWS7kPvwghRF03vt141qauZUP6BgD2ZO3hvpX38c6gdzD6FP/bNM+ax/+3d+fxMV79//hfk8lkJvu+KQkSERIaYk0RW4SmFJVu9qKK0qrl2/bW26632vtRamvU1hYtVbWWUC0NIWkVRRBUEgkhCVln5vz+yC8XYxIyckW21/PxyKOZc851rnO9k07erjPXOfGp8VAqlHCxdIGfox8/VP4IZoY10MOPyj7tfiKZe/bgxvgPACFKbKNLu4WctFuP7ceiXj3Y9+r5VGMgIiLy9PTEjWIm5pOTC/fUqFWrVrHHOTk5Qa1WS+0ed6ynpyd0Oh1SU1MNltDKz8/H7du3SzxHETc3N6Olt4qoVCqoVKrHHv8kG65sQNL9B0t4dajdAfXt62PtmbUAgH/u/IM91/bgZd+XS+wjR5uD07dOS6/b1GoDtYUa/+vwPzQ60whnb59FanYqLt69iBxtyU/GuNq4QqUs2/VUJKVSCXNz8zL/TGo6xlEejKM8GEd5yB1H/jyoJKmpqQCA2rVLvleRlpaG9u3bF1tXu3ZtFBQUID09vdhlUomIqjpzM3Ms6rQIQ/cMxbn0cwCAmOQYvHvgXfynzX9wIvkElsQtQVb+g/2Y/Z38saTTEtSyefy/XWsSTorUMFq9Fkn3Htw4efRJEX1+PvRZWRB5eVBoNFAoldD//8uCmLu5AQoF7h0+jKRJkx87IVJabhM+gIKf2iIioqcUFBSE6OhoZGZmGmy2HhMTI9UXx8zMDE2aNEFsbKxRXUxMDOrXrw9bW1uDPmJjY/Hiiy9K7WJjY6HX60s8x7MyttFY3NHeQWxqLDrU7oBFHRcBAPZf3Y8b9wonjD6P+xzd6naTPjn0qPjUeBToH6zv3tKjJQDAQmmBEU1HSOUFugKcuX0Gqdmp0Oq1mBUzS0q2Pa09q/SECBERUU1Qx64OtvXaVmJ9ee8p8iRFHyT5999/0ahRo2LbuLq6FvuhmKLjzMzMin2KhIiourBWWWNZ12UYsmcIrmZeBQAcTzmOl7cX/0G4f9L/wcBdA7E8bDn8HLnnEsBJkRon5X4KtOLBBnnWWw/gRvqxwqWtLl+G7s6dEo9VWFrCTKMxauPYvz+sWgRD6ewMM40G+uwc6O7eQf616yj491+IvFwIrQ7mLi6wqOsNKMygv38PmoAAWLdpU27XSkRE1V+/fv0wf/58rFy5EhMnTgRQuCRWVFQUWrdujTp1Cv/xfe3aNWRnZ8Pf39/g2A8//BCxsbFo0aIFAOD8+fM4ePCg1BcAdO7cGU5OTli+fLnBpMjy5cthZWWFiIiIZ3GpJbI0t8SSjkuw7p91eLvp27BQFu5/8n7w+5h0eBIAIDU7FXuu7EGfBsUvV3ki5YT0vaPaEQ0cGxTbTqVUIcgtSHod7B6MOTFzcP7OeXwQ/IFMV0RERETlRa1UP3ZfD71eD51OB6VSCTMzeSdFSqNBgwbw8/PD+vXrERYWVmybiIgILFiwAOnp6XBycjKoW79+PTp37synkYio2nOxdMFX4V9h2N5hSMxMfGL71JxUDNkzBGu6rUEj5+InnWsSTorUMA9vsg4A1t8fQOa90h0rcnKge2QzWbeJE+A8fLhcwyMiIjJJ69atERkZiY8++gipqanw9fXF119/jcTERKxZs0ZqN2jQIBw+fBjioaccR48ejVWrViEiIgITJ06ESqXCwoUL4e7ujgkTJkjtLC0tMXPmTIwZMwaRkZEIDw/HkSNHsGHDBsyePdvoH+MVwdLcEu82e9egLNw7HKscV+HCnQsAgG0J20qcFIlPi5e+b+HRotSfDHW3dseSzkue3JCIiIiolFasWIEePXrAxcUF7733Hry8vJCVlYXt27fj/Pnz+Oijj/Ddd98hIiICy5cvR5MmTZCUlIRp06bh1KlT+PXXXw3602q10p5xRdRqNdfXJ6Iqz83KDVHdozDx8EScvHlSKq9jWwcft/4Ygc6BmPHHDOy/WrhPZFZ+Ft7e/zaiwqMeO0FeE3BSpIq7m3sXh/49BF8HXwS6BErlQggUJCcDSiXMXVxw7vxviDmzF/tyTkltLAoEHEs5IfIohVoNlzFj4DRsWFkvgYiIqEzWrVuHTz75BOvXr8edO3fQtGlT7Ny5Ex06dHjscba2tjh06BDGjx+PWbNmQa/Xo2PHjli0aBFcXV0N2o4ePRoqlQoLFizAjh07UKdOHSxatAjvvfdeeV5amSgUCvRt0Bf/O/4/AEBcahwuZ1xGffv6Rm1T7j/YpL2kp0SIiIiInoWOHTsiJiYGs2fPRqtWrXD//n24uLggJCQEkyZNgo2NDY4cOYKZM2eiT58+SEpKQn5+Pho3bowjR46gWbNmBv2NGjUKo0aNMii7ePEifH1r9g1BIqoeXCxdsLb7WiTdS8LdvLswU5jB18EX5maFt/3ndZiH2TGzseXCFgDA3by7GLF/BLb23ApnS+eKHHqF4qRIBRJCIGv3buSeOwdzV1conZwBvQ5QKGDu6gZzdzeoPDxgZmm4/rfIz8edLVtwZ/cujA8+iytOhcthNcy2h3eeLe7q7yNJkYFkex2EAlBpgTwL409AuN8FzJ2dYdmkCZTOTlDXrw9V7TpQ2ttDYWEBkZ8HodXBzMoKIj8PeZcuQZ+ZCU1gE1i1CDYaFxERUUXQaDSYN28e5s2bV2KbQ4cOFVteu3ZtbNmypVTnGTFiBEaMGPHkhpXIS/VfwsLYhcjX5wMAtidsN1rmSgiBtOw06bWbZfGbwhMRERE9K02bNsV3331XYr29vT3mz5+P+fPnAwC+/fZbjBw5EpmZmQbtEhMTy3OYRESVRi2bWsVupK40U2JKmynQ6rXYllC4p9StnFtY+ddKfNT6o2c9zEqDkyIVKH3NGqTOX/DEdmb29rCoUweq556DQqlEzunTKLh+HbG+ClxxUkrtzltl4LxVxkNHFk6E5FkU36/HPXN4r18HdX3jT4wWh/t/EBERVS32ant08eqC3Ym7AQA7EnZgbLOxUJk9WGc7qyALuboHS0q4Wrka9UNERERUmb3++uuwsrLC8ePH0bZtW1hYlHAjhIioBjJTmGFq26lIy0nDbzd+AwBsvrAZAxsPRG3b2hU8uorBSZEKkn30GFIXLipVW31GBnIzMpD7998G5btbmLb+pblWQGv+4JgO7QeUekKEiIiIqqbeDXpLkyK3c2/j6I2jCK0TKtU//JQIULguLREREVFV06tXr4oeAhFRpaU0U2JSi0k4mnQUeqGHVq/FjGMz0LZWW/g7+aONZ5satdcSJ0UqgC45GSmTJwN6fWGBUgmljQ10mZmAuTmg0z2oK8F1F+B0vQeboLpprVA70xxCoYCtwhKeVu6oX6sJNCoN7mWkwdP2ObRt9QrSzXNx6Poh2Knt0LN+z3K8SiIiIqoM2ni2gbuVO25m3wQAHLh2wGBSJDU71aC9qyWfFCEiIiIiIqpu6jvUR2/f3vjh4g8AgGPJx3As+RgAoLlbc0xuORkBLgEVOcRnplJPiuTl5eG///2vwcaps2bNQlhY2BOPvXHjBsaPH499+/ZBr9ejU6dOWLRoEepX8JMR+txc3J/yCfQZD5a5cv/Px3B6803ptdDpoL11G9rUmyhISYE2KQn5166j4GbhJqhmag2OtLwD5B0HAKiVanz/2l44aByeeH4bAIMCBsl6TURERFR5mSnM0MWrCzb9swkAcOj6IWj1WmnjvbScB0+KmCvM4ahxrIhhEhERERERUTkb9fwo7Ly0U9p3ssip1FN4c9ebmNp2Kvo26FtBo3t2KvWkyJAhQ7B161a8//77aNCgAdauXYsXX3wR0dHRaNeuXYnH3bt3D506dUJGRgY+/vhjqFQqLFq0CKGhoYiPj4ezs/MzvApDCgsLqNq1g+7SJQCAfd++cHzjDcM2SiVU7m5QubvBskkToz7ydHnY+2176XVE/YhSTYgQERFRzfTwpMidvDuIS41DS4+WAAyfFHGxcoGZwqzYPoiIiIiIiKhq87D2wNSQqVh0chHytHnQQ4/7BfcBAHqhx9SjU5GVn4XBAYMreKTlq9JOihw/fhzffvst5s2bh4kTJwIABg0ahMDAQEyePBlHjx4t8dhly5bh4sWLOH78OFq2LPwHf48ePRAYGIgFCxZgzpw5z+QaiqMwM4Pl0CFwDG6Oiz+sxbFX6+LOyYXo5dMLDRwblKqPS3cvIUebI72uCbN3RERE9PSauzeHvdoeGXmFT6oevHZQmhR5eE8RN0vuJ0JERERERFSd9fLphV4+hfswZRdkY83fa7D69GroReF2DvNj5yMjLwNjm4012GdEp9dh5+WdyMzPxGsNX4OF0qJCxi+HSvtRwK1bt0KpVOLtt9+WyjQaDYYNG4Zjx47h+vXrjz22ZcuW0oQIAPj7+6NLly7YvHlzuY67NPbe2Iv3dZvwVtvTWPTn51h7Zi367uiLCYcmIOle0hOPv5JxRfpeAQUaOjYsz+ESERFRFWduZo7Q2g/2ETl47SCEEAAMl89yteJ+IkRERERERDWFlcoKY5uNxbwO86QllgFg1elV+O/R/+J48nFk5WdBCIFZMbMw5fcp+OzEZ5h2dFrFDVoGlfZJkbi4OPj5+cHOzs6gvFWrVgCA+Ph41KlTx+g4vV6Pv/76C2+99ZZRXatWrbBv3z5kZWXB1ta2xHOnpqYiLS3NoCwhIQEAUFBQgIKCApOvp4hWq8UvN35B/J14o7p9V/ch9mYsPu/4ORo7NS6xj4T0BOn7Wta1oBTKMo2pKtJqtdDpdNBqtRU9lCqNcZQPYykPxlEecsexpv2Nqa66eHXBjks7AABJ95PwT/o/aOTcyGD5LG6yTkREREREVPN0q9sNNiobvH/ofWmFou0J27E9YTtUZio0c2uG4ynHpfY/Xf4JQwKHwM/Rr6KGXCaVdlIkOTkZnp6eRuVFZUlJxT9RkZ6ejry8vCce27BhyU9XLFu2DNOnTy+2LiMjA7dv337i+Eui1WoR4hAiTYqYKcyghBIFovCGU3puOkbsH4FpzaahuXPzYvs4f+u89P1zls+VaTxVlVarRVZW4SyluXml/TWu9BhH+TCW8mAc5SF3HDMyMmQYFVW0trXawtLcUkpw913dh0bOjQyXz7Li8llERFRzJScnY8mSJYiJiUFsbCzu3buH6OhodOzYsVTH//DDD/juu+9w4sQJpKSkoE6dOnjppZfwySefwMHBwaBt3bp1cfXqVaM+Ro4ciS+//FKGq6GqbuPGjZgxYwbOnz//5MZl0K1bN4wYMQKRkZHleh4AuH//Pho3boz9+/fDz69q3kglqs5CngvByrCVGH1gNLLys6TyAn2BwYRIkeXxy7Go06JnOUTZVNo7Tjk5OVCr1UblGo1Gqi/pOABPdWyR0aNHG/0xSEhIQO/evWFvb1+mjdq1Wi266rrit8zfEOYdhu7e3aEXesw/NR/7r+0vHJ8uB9PjpyOqWxQaOBjvM3Ij94b0fUOXhhW6cXxF0Wq1UCgUcHJy4o3TMmAc5cNYyoNxlIfccbS3t5dhVFTRLM0t0aF2B+xN3AsA2HV5F8Y2G4vUnIeeFOHyWUREVIOdP38ec+fORYMGDdCkSRMcO3bMpOPffvtt1KpVCwMGDICXlxdOnz6NpUuXYteuXTh16hQsLS0N2gcFBWHChAkGZbxRXDN17NgR7dq1w6xZs6Sy/v37o3///uV63h07diAtLU3WCZGtW7diypQpuHr1KurWrYvZs2ejb9/CvXCtra3xwQcfYMKECfjpp59kOycRySfILQhfd/8aC2IX4FTqKYN9rR/1y7VfcOb2GQQ4BzzDEcqj0t5xsrS0RF5enlF5bm6uVF/ScQCe6tgibm5ucHMr/pOSKpUKKpXqscc/ia3aFmvD1xr0M7/jfCw+uRhRZ6IAANnabHzw6wfYFLEJThonqZ1Wr8W1rGvSa18n3zKPp6pSKpUwNzevsdcvF8ZRPoylPBhHecgZR/4sqo8X670oTYok3U/C4euHodU/WGaNG60TEVFNFhwcjNu3b8PJyQlbt241+Ubx1q1bjZ4qCQ4OxuDBg7Fx40YMHz7coO65557DgAEDyjpsqkD5+fmwsKi6Gw0vWLAAI0aMKFXbnJwcHD58GJaWlggNDS22TUxMDAYMGICNGzeiV69e2LFjB/r3748jR46gRYsWAIBBgwbhww8/xIULFzgJSFRJNXBsgC/DvoRe6JFwNwGbzm3Cjks7oDJTYVzzcVh8cjFydYX32YfuGYpIv0h42XpBDz3SstOg1WsR6ReJOnbGW19UFpV2o3VPT08kJycblReV1apVq9jjnJycoFarn+rYimSmMMMHLT7AoMaDpLIb927gvYPvIbsgWyq7nnXd4OZFffv6z3ScREREVHW1f6497Cwe7Ne29sxag3o+KUJERDWZra0tnJycntywBMUts9WnTx8AwLlz54o9Jj8/H/fv33/qc1ZHOTk5mDJlCvz8/GBra4v69evj66+/lurXrl2LwMBA2NnZITAw0KAuMTERCoUCX3/9NZ5//nnY2tqiTZs2OHv2rNRm8+bNCAgIgJ2dHVxcXNC1a1epLjc3Fx9//DF8fHzg6OiIDh06IC4uTqqfNm0a2rVrh08++QS1atVCUFAQPv74Y3Tp0sXgGm7evAlra2ucOnUKQOFTRHXr1oWNjQ3q1auHqVOnQq/XAwDeeecdHDlyBJ999hlsbGxgY2MjXWft2rUBAPv27YOdnZ3R70rTpk2xcOHCUo39UWlpaThy5AjCw8NLbHPmzBksWLAA3bp1g5OTEyZMmIC7d++W2P7LL79Ejx498Morr0ClUuGVV15B9+7dsXz5cqmNo6MjWrZsiW3btpXYDxFVDmYKM/g5+mFayDTEvBmD6Fej0b9Rf7zR6A2pTY42B+vOrsOsmFmYEzMHq06vQtSZKLyx6w38fevvChz941XaJ0WCgoIQHR2NzMxMg83WY2JipPrimJmZoUmTJoiNjTWqi4mJQf369R+7yXpF+yD4A1zKuITfb/wOAIhPi8d70e9haZelUCvVuJxx2aB9Pft6FTFMIiIiqoJUShXCvMPw/cXvAQCnUk8Z1HNPESIiInmlpKQAAFxcXIzqDh48CCsrK+h0Onh7e2P8+PF47733Httfamoq0tLSDMoSEhIAAAUFBSgoKDCo0+v1UCgU0g34IleuXMHly4X3Fx69oX/s2DFpr9bGjRtL5Xfu3JFu8jdv3hyOjo5S3dmzZ5GcnAxLS0uEhIQYnatevdLfuxg+fDguXryIbdu2wd/fH8nJyUhJSYFer8f333+PcePG4fvvv0fHjh0RHR2Nvn37wtbWFr1795auc/369di1axccHR0xcOBAjBo1CtHR0cjOzsaAAQOwa9cudO7cGbm5uTh69Kh03MiRI3Hjxg1ER0fDw8MDK1asQHh4OP755x84ODhACIE//vgDYWFhSEhIgF6vR3JyMubOnYtLly5J1/n1118jICAAzZs3h16vR4sWLTB9+nS4ubkhJiYGPXv2hIeHB0aOHIlly5bhn3/+wQsvvICZM2dKP7eiMen1enTu3BlOTk747rvvMGTIEACF97jOnz+PAQMGQK/XP3Hsjzpx4gTUajXq1atn8Pvx448/4qeffsK+fftw7949dO7cGa+88gpWr14tTdI8+vtUJD4+HpGRkQb1LVq0wPfff29Q1qRJExw/frzYfoQQEEKgoKAAWq0WOp0OWq3WqB2VHuMoD8YRUEGFgoICjAwYiZR7KdiduLvEthl5GRi+dzjmtpuLkFqGfxfkjuWjf/tKo9JOivTr1w/z58/HypUrMXHiRACFS2JFRUWhdevWqFOn8PGba9euITs7G/7+/gbHfvjhh4iNjZUezzt//jwOHjwo9VVZKc2UmNdhHgbtHoSEu4WJzR/Jf2Di4YlY3HExrmRckdo6a5xhr+Y670RERFR6EfUjpEmRh1mYWRg8RUJERERlN3fuXCiVSvTr18+gvGnTpmjXrh0aNmyI27dvY+3atXj//feRlJSEuXPnltjfsmXLMH369GLrMjIycPv2bYOyouWddDqdQXlWVhZSUwv3FXu4TgiBW7duIScnR5qwKZKbmysdk5uba1CXkZGB1NRUWFtbF3uuR8tKcuvWLWzatAnHjh2Dn58f9Ho93N3d4e7uDp1Oh1WrVmHo0KHSUzmdOnXC0KFDsWLFCvTs2VM6z8cffywtiz5o0CC88cYb0Ol00Ol0UKlUOHv2LAICAuDi4oLQ0FDodDrcvn0b69atw+nTp+Hp6Qmg8CmOzz//XFoGqmg8H330ERQKBQCgbt266NChA1avXo0ZM2YAANasWYMxY8ZIe/0NHToUQOFkQsuWLfHmm29i37590pJqQgjo9Xqjn8XDP5/BgwdjzZo1GDhwIABg9erV6NmzJxwdHZGamvrEsRcXa3t7e6OfzZQpU3D27Fk0atQIn376KcLDw6UJsCf9HIs+2PxwO3t7e2RmZhqU2dra4uzZs8X2J4RAfn4+bt++Da1Wi6ysLAghuOdkGTCO8mAcDX3Q8ANEeETgm8vf4ELmBeRqcyEgYG1ujZu5NwEA97X38e6hd9HJoxMG+Q5CbevCiVW5Y5mRkWHyMZX2J9i6dWtERkbio48+QmpqKnx9ffH1118jMTERa9askdoNGjQIhw8flv5YAIUbpa9atQoRERGYOHEiVCoVFi5cCHd3d6NNzCojWwtbrOq2CkP2DMHVzKsAgEPXD2Huibm4l39PalffgUtnERERkWmC3YPhZuWG1OxUg3JXK1fpH/dERERVnV6vR35+fqnaqtXqcvkbuGnTJqxZswaTJ09GgwYNDOp27Nhh8Hro0KHo0aMHFi5ciLFjx0qfyH/U6NGjjfY6SUhIQO/evWFvbw9nZ2eDunv37kGhUECpVBqU29raSpMGj9a5uLggLy8P9vb2BnUajUY6RqPRGNTZ29vDzc0NlpaWxZ7r0bKSXLtWuIdqo0aNij3m33//Rc+ePQ3qGjRogAMHDkCpVErltWvXlr63tbVFTk4OhBCwtbXFrl27sGjRIkyfPh21atXCsGHDMG7cOFy5Uvgh1Hbt2hmcMz8/H8nJyVAqlTAzM4O3t7fRTbxhw4bhww8/xIwZM/Dbb7/hxo0b6N+/P8zNzSGEwKeffopvvvkGSUlJEEIgNzcXLVu2lMaoUChgZmZmcF1Fv5NFZcOGDcPs2bORkJCA2rVrY8uWLdi8eTOUSmWpxv4oFxcXZGRkGNXFx8cjJiYG+/btwxdffIFhw4YhODgYYWFh6NatG1q3bl3iz9POzg6ZmZkG9RkZGbCzszMoy8rKgpOTU7H9KBQKWFhYwNnZWZpUcnJy4k3oMmAc5cE4GgtxDkFIfcOnQIQQWBy3GOv/WS+VRadEIzolGv6O/ni7ydto59FO1lja25v+0ECl/gmuW7cOn3zyCdavX487d+6gadOm2LlzJzp06PDY42xtbXHo0CGMHz8es2bNgl6vR8eOHbFo0SK4ulaNtbJdLF2wuttqDNo9CMn3C/dC+eafbwzacD8RIiIiMpWZwgxvBb6F/x3/n0G5u5V7BY2IiIhIfr/++is6depUqrbnzp0zWH1CDkeOHMGwYcMQHh6O2bNnP7G9QqHA+PHjsXfvXhw6dKjEDdjd3NykiYlHqVQqqFQqgzIzMzOD/xbx8fGBj4+PUR96vR5t27aVJgAe5uzsjLCwsGLPHRgYiMDAwGLrijtPSerXL7zPkZCQgODgYKP6OnXq4PLlywZju3z5Mry8vGBmZmZwvY9ee1FZaGgoQkNDIYTA4cOH0b17dwQEBEibfv/111/w8vIqdnxFkxePxqZfv34YN24c9u3bh2+//RavvPKKtGTV5s2bsWTJEuzZswdBQUFQKpV47733cPLkSYOxFfVd5NHxe3l5oVu3bvjqq6/g7+8PJycndOvWDWZmZtLeuY8b+6NatGiBvLw8JCYmSnEvOl+7du3Qrl07zJgxA+np6di/fz/27t2L119/HW+//Tb++9//FttnUFAQYmNjDa7j5MmTaNasmUHZ33//jR49ehjFsSjGCoVC+l1WKpUwNzc3+t0m0zCO8mAcS2dSq0nwsvfC4lOLcb/gwV5I/9z5Bx/8+gEmNp+IcNdw2WL5NH1U6kkRjUaDefPmYd68eSW2OXToULHlRbPmVZmHtQeWdVmGgbsH4l7BPaN67idCRERET+PVhq/iu/PfGSzLqVaqK3BERERE8vL390dUVFSp2hYtNySXP//8E7169UJgYCC2bt1a6k/BFi0Tnp6eLut4qhJXV1e88cYbGDNmDL7++ms0bNgQycnJSE5ORvPmzTF8+HAMHz4cL7/8Mtq3b4/Dhw9jzZo1BputP05KSgqOHDmCsLAwODg4wMHBAQqFAubm5vD29kbv3r0xZswYLF26FN7e3sjKysJvv/2GoKCgx/6eaDQaDBgwAAsXLsSxY8ewa9cuqS4jIwPm5uZwc3ODQqFAdHQ0NmzYgEaNGkltPDw8cOHChSeOf/jw4Rg1ahS8vb3x1ltvSZMKTzN2Nzc3vPDCC9i7dy9GjRolld+5c8doWasuXbqgS5cu+Oyzzx67hNbIkSPRsWNHbNu2DS+99BJ27tyJ3bt349dff5Xa3L17F8ePH8eKFSueeL1EVDUpFAq87v86unh1weJTi7Hryi5o9Q/2D5l/aj5SfFIw3ml8hY2xUk+KEODr6ItFnRZh1P5R0ArDzWc4KUJERERPQ2WmwqQWkzD6wGipzNvOuwJHREREJC8PDw9pQ+pn6dKlS+jevTvc3Nywa9cu2NjYlPrYoo3Pq8oKF+Vl1apVmDFjBnr06IHU1FS4ublh+vTpaN68OSIjI5GRkYHRo0fj+vXr8PLywpIlS9C3b99S9S2EwJdffomRI0ciPz8fHh4emD17tvRU0aZNmzB37lyEhYUhOTkZtra2aNOmDZYuXfrEvocPH47nn38efn5+6NChgzR5MGTIEPz2229o0qQJzMzMEBYWhgEDBuDkyZPSsRMmTMBbb70FR0dHCCFw9+7dYs/Rs2dPjB49GidPnsQPP/xgUPc0Y58wYQKmT59uMCnSrFkzXL16tcRjpk6dimnTphVb16ZNG6xfvx4fffQR3njjDdStWxcbNmxAy5YtpTbr1q1Dly5dZH86i4gqH1crV8xuNxuTW07Gzss7MT92vjQ5suHSBpirzTGhZcVsdcFJkSqgjWcbrOq2CotPLcafaX8CAOzV9nje9fkKHhkRERFVVe1rt0fnOp1x8PpBAMALz71QwSMiIiKqOq5du4bs7GyDG7spKSnSckZ79+4tcXIjPT3daL+OgoIC/O9//4OFhUWpl/2qrqytrTF37twSN5wvelqkOHXr1jXYcxYAOnbsKJV5enriwIEDJZ7b0tIS06ZNK/Gm/+PqmjZtKp1Hr9dL5RqNBhs2bCjxnAAQHByMP//806BsyJAhRhN7KpUKKSkpTzX24vTu3RvLli3Dli1bpL1qEhMTS318cSIjI432vSly//59LFy4EHv37i3TOYioarFX26N/o/7wtvPG+OjxyNXlwsLMAi94Vty/QTkpUkW08GiBDS9uQHxqPOJT49GhTgdYq6wrelhERERUhX0W+hm2X9wONys3hNYOrejhEBERVbhZs2YBAM6cOQMAWL9+PX777TcAwJQpU6R2gwYNwuHDhw1uwHfv3h2XL1/G5MmT8dtvv0nHAYC7u7u0H8eOHTswa9Ys9OvXD/Xq1UN6ejo2bdqEv//+G3PmzIGHh0e5XydRkX379j2zc1lbW5d50oWIqq52z7XDym4rMe7gOExoPAHB7sZ7Rz0rnBSpYoLcghDkFlTRwyAiIqJqQK1U4zX/1yp6GERERJXGJ598YvD6q6++kr5/eFKkOEWf9P/ss8+M6kJDQ6VJkSZNmqBx48bYsGED0tLSYGFhgaCgIGzevLnET9gTERFVB83cmuGnXj8hNzO3QsfBSREiIiIiIiIiIsBo6aWSHDp06KmPDQ4Oxo4dO0wZFhERUbVhrbJGLip2UsSsQs9ORERERERERETlprSTNUSVAX9fiehZ4KQIEREREREREVE1ZGZmBp1OxxvNVCUIIaDT6WBmxtuVRFS++C5DRERERERERFQNqdVq6HQ6pKamcmKEKjUhBFJTU6HT6aBWqyt6OERUzXFPESIiIiIiIiKiasjd3R15eXlIT09HRkYGlEolFApFie2FEBBCQKFQPLYdPR7jaJqiJ0R0Oh0sLS3h7u5e0UMiomqOT4oQEREREREREVVDZmZm8PLygoODAywsLJ54g14Igfz8fD5VUkaMo2kUCgUsLCzg4OAALy8vLp9FROWOT4oQERFRlXX37l1MnjwZ27ZtQ3Z2Nlq1aoUFCxagefPmjz1Or9dj3bp1+OGHHxAXF4f09HTUq1cPr7/+OiZOnAiNRmPQvqQbCJ9++ik+/PBD2a6HiIiISG5mZmbw9PQsVduCggLcvn0bzs7OUKlU5Tyy6otxJCKq3DgpQkRERFWSXq9HREQE/vzzT0yaNAkuLi5YtmwZOnbsiJMnT6JBgwYlHpudnY2hQ4eiTZs2eOedd+Dm5oZjx45h6tSpOHDgAA4ePGg0ERIWFoZBgwYZlDVr1qxcro2IiIiIiIiIygcnRYiIiKhK2rp1K44ePYotW7agX79+AIBXX30Vfn5+mDp1KjZt2lTisRYWFvj9998REhIilY0YMQJ169aVJka6du1qcIyfnx8GDBhQPhdDRERERERERM8EF+kjIiKiKmnr1q1wd3dH3759pTJXV1e8+uqr+PHHH5GXl1fisRYWFgYTIkX69OkDADh37lyxx+Xk5CA3N7eMIyciIiIiIiKiisInRYiIiKhKiouLQ/PmzY02YmzVqhVWrlyJCxcuoEmTJib1mZKSAgBwcXExqlu7di2WLVsGIQQaNWqEKVOm4M0333xin6mpqUhLSzMoS0hIAFC43nRBQYFJY3yYVquFTqeDVqt96j6oEGMpD8ZRHoyjPBhHeZRHHMvyt4+IiIiorDgpUkpFnzYtuonxtAoKCpCRkQF7e3tutlUGjKM8GEf5MJbyYBzlIXcci/72Pe7Ji4qQnJyMDh06GJUXbSSalJRk8qTIZ599Bjs7O/To0cOgPCQkBK+++irq1auHpKQkfPHFF+jfvz8yMjIwatSox/a5bNkyTJ8+vdi6+Ph4ZGRkmDTGh2m1Wty/fx/W1tYwN2daVxaMpTwYR3kwjvJgHOVRHnG8cuUKgMqXW1RVct2vAJiPy4VxlAfjKA/GUR6Mo3wqwz0LZoaldP36dQBA7969K3YgREREFeT69eto3rx5ufSt1+uRn59fqrZqtRoKhQI5OTlQq9VG9RqNBkDhUlemmDNnDn755RcsW7YMDg4OBnW///67weu33noLwcHB+PjjjzFkyBBYWlqW2O/o0aMRGRlpUHbw4EGMGzcOQ4cONWmMRERE1Ul55hY1Ce9XEBERmZZXcFKklEJDQ7F9+3bUqVOn2BswpZWQkIDevXtj+/bt8PX1lXGENQvjKA/GUT6MpTwYR3nIHce8vDxcv34doaGhMoyueL/++is6depUqrbnzp2Dv78/LC0ti/0kSNGeH4+bqHjUd999hylTpmDYsGFPfPIDKNyT5N1338U777yDkydPol27diW2dXNzg5ubm0HZc889By8vL+YVlQhjKQ/GUR6MozwYR3mURxyfRW5Rk8h1vwLg/zdyYRzlwTjKg3GUB+Mon8pwz4KTIqXk4OCAl19+Wbb+fH19ERAQIFt/NRXjKA/GUT6MpTwYR3nIGcfy/hSnv78/oqKiStW2aHksT09PJCcnG9UXldWqVatU/e3fvx+DBg1CREQEvvzyy1KOGKhTpw4AID09vdTHFGFeUXkxlvJgHOXBOMqDcZSH3HHkEyLykTuvAPj/jVwYR3kwjvJgHOXBOMqnIu9ZcFKEiIiIKpyHhweGDBli0jFBQUE4cuQI9Hq9wWbrMTExsLKygp+f3xP7iImJQZ8+fdCiRQts3rzZpLXSL1++DABwdXU1adxEREREREREVHHMntyEiIiIqPLp168fbt68iR9++EEqu3XrFrZs2YKePXsaLB9x6dIlXLp0yeD4c+fOISIiAnXr1sXOnTtLXG4rLS3NqCwrKwuLFy+Gi4sLgoODZboiIiIiIiIiIipvfFKEiIiIqqR+/fqhTZs2GDp0KM6ePQsXFxcsW7YMOp0O06dPN2jbpUsXAEBiYiKAwkmN8PBw3LlzB5MmTcLPP/9s0N7Hxwdt27YFAHzxxRfYvn07evbsCS8vLyQnJ+Orr77CtWvXsH79elhYWJT/xRIRERERERGRLDgp8oy5urpi6tSpXGqjjBhHeTCO8mEs5cE4yqOmxFGpVGLXrl2YNGkSPv/8c+Tk5KBly5ZYu3YtGjZs+Nhjb9++jevXrwMAPvzwQ6P6wYMHS5MiL7zwAo4ePYrVq1fj9u3bsLa2RqtWrfDVV1+hc+fO8l+YCWrKz/pZYCzlwTjKg3GUB+MoD8axZuHPWx6MozwYR3kwjvJgHOVTGWKpEEKICjs7ERERERERERERERHRM8I9RYiIiIiIiIiIiIiIqEbgpAgREREREREREREREdUInBQhIiIiIiIiIiIiIqIagZMiRERERERERERERERUI3BShIiIiIiIiIiIiIiIagROijwjeXl5+H//7/+hVq1asLS0ROvWrbF///6KHtYzd+/ePUydOhXdu3eHk5MTFAoF1q5dW2zbc+fOoXv37rCxsYGTkxMGDhyItLQ0o3Z6vR6fffYZ6tWrB41Gg6ZNm+Kbb74pU5+V3YkTJ/Duu+8iICAA1tbW8PLywquvvooLFy4YtWUcS3bmzBlERkaifv36sLKygouLCzp06ICffvrJqC3jWHqzZ8+GQqFAYGCgUd3Ro0fRrl07WFlZwcPDA+PGjcO9e/eM2pnynlnaPiu7Q4cOQaFQFPv1xx9/GLRlHIl5RSHmFfJgXiEP5hXlh7mF6ZhXkKmYWxRiblF2zCvkwbyi/DCveDrVLrcQ9Ey8/vrrwtzcXEycOFGsWLFCtG3bVpibm4sjR45U9NCeqStXrggAwsvLS3Ts2FEAEFFRUUbtrl+/LlxcXISPj49YsmSJmD17tnB0dBTPP/+8yMvLM2j74YcfCgBixIgRYuXKlSIiIkIAEN98881T91nZvfLKK8LDw0OMHTtWrFq1SsycOVO4u7sLa2trcfr0aakd4/h4P//8swgPDxfTpk0TK1euFIsXLxbt27cXAMSKFSukdoxj6V2/fl1YWVkJa2trERAQYFAXFxcnNBqNaNasmVi+fLn4z3/+I9RqtejevbtRP6V9zzSlz8ouOjpaABDjxo0T69evN/hKS0uT2jGOJATziiLMK+TBvEIezCvKB3OLp8O8gkzF3KIQc4uyY14hD+YV5YN5xdOrbrkFJ0WegZiYGAFAzJs3TyrLyckRPj4+om3bthU4smcvNzdXJCcnCyGEOHHiRIkJxqhRo4SlpaW4evWqVLZ//36jN/9///1XqFQqMWbMGKlMr9eL9u3bi9q1awutVmtyn1XB77//bvSH6MKFC0KtVov+/ftLZYyj6bRarXj++edFw4YNpTLGsfRee+010blzZxEaGmqUYPTo0UN4enqKjIwMqWzVqlUCgNi7d69UZsp7Zmn7rAqKEowtW7Y8th3jSMwrHmBeIQ/mFeWHeUXZMbd4OswryBTMLR5gblF2zCvKD/OKsmNe8fSqW27BSZFnYNKkSUKpVBr84IQQYs6cOQKAuHbtWgWNrGI9LsFwc3MTkZGRRuV+fn6iS5cu0usvvvhCABBnzpwxaLdp0yYBwGBmsbR9VmXNmzcXzZs3l14zjk/npZdeEu7u7tJrxrF0Dh8+LJRKpfjrr7+MEoyMjAxhbm4uJk2aZHBMXl6esLGxEcOGDZPKSvueaUqfVcHDCUZmZqYoKCgwasM4khDMK0rCvEJ+zCvkwbzi6TG3eHrMK8gUzC2Kx9xCXswr5MG84ukxryib6pZbcE+RZyAuLg5+fn6ws7MzKG/VqhUAID4+vgJGVXnduHEDqampaNGihVFdq1atEBcXJ72Oi4uDtbU1GjVqZNSuqN7UPqsqIQRu3rwJFxcXAIyjKe7fv49bt27h0qVLWLRoEXbv3o0uXboAYBxLS6fTYezYsRg+fDiaNGliVH/69GlotVqja7awsEBQUJBRHEvznmlKn1XJ0KFDYWdnB41Gg06dOiE2NlaqYxwJYF5hKr6PPx3mFU+PeYU8mFvIg3kFlQZzC9Pwvdx0zCueHvMKeTCvkE91yS04KfIMJCcnw9PT06i8qCwpKelZD6lSS05OBoASY5aeno68vDyprbu7OxQKhVE74EFsTemzqtq4cSNu3LiB1157DQDjaIoJEybA1dUVvr6+mDhxIvr06YOlS5cCYBxL68svv8TVq1cxc+bMYuufdM0Pvw+W9j3TlD6rAgsLC7zyyitYsmQJfvzxR8yaNQunT59G+/btpT/yjCMBzCtMxffxp8O84ukxr5AHc4uyYV5BpmBuYRq+l5uOecXTY14hD+YVZVfdcgvzpzqKTJKTkwO1Wm1UrtFopHp6oCgeT4qZWq0udWxN6bMq+ueffzBmzBi0bdsWgwcPBsA4muL9999Hv379kJSUhM2bN0On0yE/Px8A41gat2/fxn//+1988skncHV1LbbNk6754fdBueJY1d5bQ0JCEBISIr3u1asX+vXrh6ZNm+Kjjz7Cnj17GEcCwLzCVHwfNx3zirJhXlF2zC3KjnkFmYK5hWn4Xm4a5hVlw7yi7JhXyKO65RZ8UuQZsLS0LHYWNTc3V6qnB4riUZqYlTa2pvRZ1aSkpCAiIgL29vbYunUrlEolAMbRFP7+/ujatSsGDRqEnTt34t69e+jZsyeEEIxjKUyZMgVOTk4YO3ZsiW2edM0PX69ccaxKMSyJr68vXn75ZURHR0On0zGOBIB5han4Pm4a5hVlx7yi7JhblA/mFVQS5ham4Xt56TGvKDvmFWXHvKL8VOXcgpMiz4Cnp6f0qM/Dispq1ar1rIdUqRU9DlVSzJycnKTZQU9PT6SkpEAIYdQOeBBbU/qsSjIyMtCjRw/cvXsXe/bsMfhdYhyfXr9+/XDixAlcuHCBcXyCixcvYuXKlRg3bhySkpKQmJiIxMRE5ObmoqCgAImJiUhPT3/iNT/6u1ua90xT+qzK6tSpg/z8fNy/f59xJADMK0zF9/HSY15RPphXmIa5RfliXkHFYW5hGr6Xlw7zivLBvMI0zCvKX1XNLTgp8gwEBQXhwoULyMzMNCiPiYmR6umB5557Dq6urgYb9RQ5fvy4QbyCgoKQnZ2Nc+fOGbR7NLam9FlV5ObmomfPnrhw4QJ27tyJxo0bG9Qzjk+v6NG7jIwMxvEJbty4Ab1ej3HjxqFevXrSV0xMDC5cuIB69ephxowZCAwMhLm5udE15+fnIz4+3iiOpXnPNKXPquzy5cvQaDSwsbFhHAkA8wpT8X28dJhXlB/mFaZhblG+mFdQcZhbmIbv5U/GvKL8MK8wDfOK8ldlcwtB5e6PP/4QAMS8efOkstzcXOHr6ytat25dgSOrWCdOnBAARFRUlFHdO++8IywtLcW1a9eksl9++UUAEMuXL5fKrl+/LlQqlRgzZoxUptfrRfv27cVzzz0ntFqtyX1WBVqtVvTq1UuYm5uLn3/+ucR2jOPj3bx506gsPz9fNG/eXFhaWoqsrCwhBOP4OGlpaWLbtm1GXwEBAcLLy0ts27ZN/PXXX0IIIbp37y48PT1FZmamdPzq1asFALF7926pzJT3zNL2WRWkpqYalcXHxwuVSiV69eollTGOxLyieMwrnh7zCnkwr5AHcwt5MK8gUzC3KB5zi6fDvEIezCvkwbxCPtUtt+CkyDMSGRkpzM3NxaRJk8SKFStESEiIMDc3F4cPH67ooT1z//d//ydmzpwpRo0aJQCIvn37ipkzZ4qZM2eKu3fvCiGEuHbtmnB2dhY+Pj7i888/F3PmzBGOjo6iSZMmIjc316C/SZMmCQDi7bffFqtWrRIRERECgNi4caNBO1P6rOzee+89AUD07NlTrF+/3uirCOP4eL179xadO3cW06ZNE6tWrRIzZ84U/v7+AoBYsGCB1I5xNF1oaKgICAgwKDt58qRQq9WiWbNmYvny5eI///mP0Gg0olu3bkbHl/Y905Q+K7tOnTqJF198UcyaNUusXLlSvP/++8LKykrY29uLs2fPSu0YRxKCecXDmFeUHfMKeTCvKF/MLUzDvIJMxdziAeYWZcO8Qh7MK8oX8wrTVbfcgpMiz0hOTo6YOHGi8PDwEGq1WrRs2VLs2bOnoodVIby9vQWAYr+uXLkitfv7779Ft27dhJWVlXBwcBD9+/cXKSkpRv3pdDoxZ84c4e3tLSwsLERAQIDYsGFDsecubZ+VXWhoaIkxfPQBMMaxZN98843o2rWrcHd3F+bm5sLR0VF07dpV/Pjjj0ZtGUfTFJdgCCHEkSNHREhIiNBoNMLV1VWMGTPGYKa/iCnvmaXts7JbsmSJaNWqlXBychLm5ubC09NTDBgwQFy8eNGoLeNIzCseYF5Rdswr5MG8onwxtzAN8woyFXOLB5hblA3zCnkwryhfzCtMV91yC4UQj+ywQ0REREREREREREREVA1xo3UiIiIiIiIiIiIiIqoROClCREREREREREREREQ1AidFiIiIiIiIiIiIiIioRuCkCBERERERERERERER1QicFCEiIiIiIiIiIiIiohqBkyJERERERERERERERFQjcFKEiIiIiIiIiIiIiIhqBE6KEBERERERERERERFRjcBJESIiIiIiIiIiIiIiqhE4KUJERERERERERERERDUCJ0WIqFwoFApMmzZNer127VooFAokJiZW2JiIiIioamJeQURERHJibkFUs3FShIiqjezsbEybNg2HDh2Src9du3YZJEpERERUMzCvICIiIjkxtyCqPDgpQkTPxMCBA5GTkwNvb+9yO0d2djamT58ue4Ixffp02fojIiKismNeQURERHJibkFUs3BShIgker0eubm55dK3UqmERqOBQqEol/6JiIiocmFeQURERHJibkFEcuGkCFE1dOjQIbRo0QIajQY+Pj5YsWIFpk2bZvTHXaFQ4N1338XGjRsREBAAtVqNPXv2AADmz5+PkJAQODs7w9LSEsHBwdi6davRufLy8jB+/Hi4urrC1tYWvXr1wr///mvUrqT1OXfv3o327dvD2toatra2iIiIwJkzZwzaDBkyBDY2Nrhx4wZ69+4NGxsbuLq6YuLEidDpdACAxMREuLq6AgCmT58OhUJhtEboowoKCjB9+nQ0aNAAGo0Gzs7OaNeuHfbv3y+d94svvpBiVfRVRK/XY/HixQgICIBGo4G7uztGjhyJO3fuGJynbt26eOmll7Bv3z4EBQVBo9GgcePG+OGHH0ocGxERUWXBvIJ5BRERkZyYWzC3IKpo5hU9ACKSV1xcHLp37w5PT09Mnz4dOp0OM2bMkP74Purg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jMbwqFmzZolWrVoJBwcHYWlpKfz9/cXs2bNFfn6+1Ear1YqxY8cKV1dXoVAojM63cuVKERwcLCwtLYWtra1o0qSJmDx5skhKSpLaeHt7i4iICLF3717RtGlTKaZbtmwpcWxERESVBfMK5hVERERyYm7B3IKooimEEOKZzsIQUYXo3bs3zpw5g4sXL1b0UGqcunXrIjAwEDt37qzooRAREcmCeUXFYV5BRETVEXOLisPcgmoi7ilCVA3l5OQYvL548SJ27dqFjh07VsyAiIiIqMpiXkFERERyYm5BRBWNe4oQVUP169fHkCFDUL9+fVy9ehXLly+HhYUFJk+eXNFDIyIioiqGeQURERHJibkFEVU0TooQVUPdu3fHN998g5SUFKjVarRt2xZz5sxBgwYNKnpoREREVMUwryAiIiI5MbcgoorGPUWIiIiIiIiIiIiIiKhG4J4iRERERERERERERERUI3BShIiIiIiIiIiIiIiIagROihARERERERERERERUY3ASREiIiIiIiIiIiIiIqoROClCREREREREREREREQ1AidFiIiIiIiIiIiIiIioRuCkCBERERERERERERER1QicFCEiIiIiIiIiIiIiohqBkyJERERERERERERERFQjcFKEiIiIiIiIiIiIiIhqhP8PgnpMhAagjA0AAAAASUVORK5CYII=", + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Cell 4 — train CQL (auto-alpha) + redraw Q-overestimation\n", + "t0 = time.time()\n", + "cql_model, cql_result = train_cql(ds, CQLConfig(seed=SEED), verbose=False)\n", + "print(f'[CQL] elapsed {time.time() - t0:.1f}s · final eval = {cql_result.eval_returns[-1][1]:.3f}'\n", + " f' · final α = {cql_result.alphas[-1]:.3f}')\n", + "\n", + "panels = {\n", + " 'DQN': {'q_seen': dqn_result.q_seen, 'q_unseen': dqn_result.q_unseen},\n", + " 'CQL': {'q_seen': cql_result.q_seen, 'q_unseen': cql_result.q_unseen},\n", + "}\n", + "plot_q_overestimation(panels, str(ASSETS / 'q_overestimation.png'))\n", + "from IPython.display import Image\n", + "Image(str(ASSETS / 'q_overestimation.png'))" + ] + }, + { + "cell_type": "markdown", + "id": "md-cell-5", + "metadata": {}, + "source": [ + "## Cell 5 — 评估 rollouts:BC / DQN / CQL\n", + "\n", + "每个 trainer 在训练循环里每 100 步跑 20 个 greedy episodes。把曲线叠起来;另外画一张行为-策略密度图:模型选的动作在行为策略下的概率均值(越高越接近数据分布)。" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "cell-5", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-27T17:21:24.508903Z", + "iopub.status.busy": "2026-05-27T17:21:24.508708Z", + "iopub.status.idle": "2026-05-27T17:21:24.909560Z", + "shell.execute_reply": "2026-05-27T17:21:24.908619Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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LADA22+/jQkTJiA+Ph433XQTsrOzceDAASxatAifffYZfv75Z7Ro0ULTe+APf//9N7p37462bdti1KhRqKioQEpKiu7vx4IFCzBx4kQkJiZi2LBhyMzMxMaNG/HCCy/gs88+w08//YS0tDQAVdfz448/jvfeew/333+/x7GWLFmCuLg4jBw5Ulq3fft29OvXD/n5+ejfvz9uvvlm5Obm4pNPPsFVV12F1atXY+DAgR7Heumll7Bu3TrceOON6NOnT60R80A+C4fDgb59+yI/Px/9+vVDSkoKzj//fADA999/j+effx59+vTBLbfcgqSkJBw4cACrVq3Cp59+ip9++gmXXnqpX+8rAEyfPh1r167FjTfeiH79+mHDhg1YuHAhDh48iPXr1/t9nM8//xxr1qzB9ddfj3vvvRd//PEHvvzyS/zyyy/4448/kJGRIe27b98+9OjRAwUFBbjhhhvQsWNHHDp0CEOGDPH6PhNEzMMIgiCCpE+fPgwAW7RoUVDjx4wZwwCwpk2bskOHDnls79WrF+M4jr333nuK9QUFBezSSy9lZrOZnTlzRlq/ePFiBoANGTKElZeXK8Y8/fTTDAB79dVXpXWHDx9mJpOJpaens8OHD0vrBUFgN998MwPA1D+Tc+bMYQDY/Pnzvc4XAPvrr7/qfO35+fksLS2N2Ww2tnfvXsW233//nSUmJrLOnTtL6yoqKlhqairLyspiTqdTsf/p06cZz/OsS5cuivVHjhxhLpfL49yLFi1iANjzzz+vWO9+/xYvXqxYD4D16tXL6+twf4by948xxg4ePOixr91uZ3379mVGo5GdOHFCsc393vmiZcuWrGXLlop1//nPfxgAdv311yvek7Nnz7KWLVsyAOynn36S1h8+fFj6TGfOnKk41tdffy0dy1/cx7rjjjs8PpO//vqLmUwm1rp1a4/X+u233zKDwcAGDx6sWF/XexDo5yB/vY899pjHGD3fjyNHjrC4uDiWnJzM/vzzT8W2iRMnMgBs/Pjx0rrjx48zg8HAunbt6nGsbdu2MQDs5ptvltY5nU7WunVrFh8fzzZu3KjY/+TJk6xp06ascePGrLKyUlrv/s5bLBa2fft2v16HG3+uRwDsmmuuYaWlpR7bz549y4qLiz3W79y5kyUmJrIBAwYo1rs/izFjxijWuz/X7OxsdvToUWm90+lkV199NQPAtm7d6jE39XfF/d3meZ59++23im3/+te/GAD2wgsvKNb37duXAWBvvPGGYv2XX34pXTfq3wqCiGVIVBEEETQXXXQRA8C++uorj22HDx9mTz/9tOK/V155RbGP+4ZBLnTc7Ny5kwFgQ4cO9XruTz75hAFgr7/+urSuU6dOzGg0soKCAo/9XS4Xs9ls7PLLL5fWPfvsswwAe+qppzz2//vvv5nBYPC4scrNzWVms5l16NBBsX7fvn0MAOvTp4/X+ap59dVXGQD22muved0+depUBkAhuMaPH88AsM8//1yxr1vozZ07169zi6LIUlJSPOaqp6jyxUcffcQAsCVLlijWByOq2rRpwziO87iJZ6xGON51113SOveNa8uWLb2KzRYtWjCbzebX62Cs6n2Ji4tjZ8+e9djm/vzUn5WbwYMHM57nFTfeoRJVWVlZCrGh3q7H++H+LnkTb/n5+Sw5OZmZzWbFPK677joGgO3Zs0ex/6RJkxgAtmbNGmmd+/s+bdo0r+d3f5+++OILaZ1bVE2dOtWv1yDHX1G1c+fOgI994403svj4eOZwOKR1dYmqhQsXehzn7bff9vqApzZRNWrUKI/jHDp0iAFgt9xyi7Tu2LFjDABr06YNEwTBY8y1115LooogVFD6H0EQIeHIkSOYNWuWYl3Lli0xdepUj327devmsW7Lli0AgKKiIqlOQc65c+cAQKoFKC8vx65du5CRkYFXX33V65zi4+MVtQPbt28HAPTq1ctj31atWiE7OxtHjx5VrLfZbBg+fDiWLl2KzZs3o0ePHgCAN998EwBw7733ej23r9e3a9cur69v//790uu7+OKLAVSl9i1cuBBLlizBDTfcIO27ZMkSmEwmRaoUADidTixYsAArV67EH3/8gaKiIoiiKG0/efKkX3MNhmPHjuGFF17Ad999h2PHjqGiokKxXeu5S0pKcPDgQTRr1sxrgX/fvn0BADt27PDY1qlTJynFVE52drb0ufjLeeedh8zMTI/17uNs2rTJa71PTk4OBEHA/v370bVr14DOGSiXXnppremoerwf7u+S+32Xk56ejs6dO+P777/Hvn37pLS3O++8E+vWrcOSJUvw4osvAqhKqXvvvfeQmZmpSDFzz+Po0aNevy8HDhwAUPV9Uaemeft90QOz2YyOHTv63P7FF1/gf//7H3799Vfk5ubC5XIptufm5qJJkyZ+neuyyy7zWJednQ0AAdVH+nucnTt3AgD+8Y9/wGDwLL+/6qqr8O233/p9XoKIBUhUEQQRNI0bN8aff/7p1dShd+/eYIwBAFwuF0wmU63HUZOXlwcAWLduHdatW+dzbGlpKYCqGwLGGM6dO+ch5nzhrq1w18B4m5daVAHAfffdh6VLl2LBggXo0aMH7HY7lixZgszMTAwZMsSvc7tf38KFC2vdz/36AKBHjx5o27YtPv30UxQUFCA9PR3bt2/Hnj17MHjwYEU9BACMGDECq1evRqtWrTBo0CA0btxYurl+9dVX/TbTCJRDhw6hW7duKCgowNVXX41+/fohNTUVPM/jyJEjWLJkieZzuz87Xzel7vWFhYUe29x1PWqMRqNCdPqDt2sXqPl858yZU+t4+ecbKnzN0Y0e70cwn8eQIUOQkpKCd999F8899xx4nsfnn3+O/Px8TJ06VVH76H4/P/zww1rn4e39rOv1B0tmZqbPXlZz587F1KlTkZ6ejuuuuw4tWrSAxWIBx3H45JNPsGvXroC+A94+I/f7IwiC7sep67fR13qCiGVIVBEEETRXXnklNmzYgO+++w5333130MfxdmPiNoGYO3cupkyZUucx3Pt37txZemru75izZ896Ndo4c+aM13Hdu3dH586dJcOKr776Cnl5eXj00UdrFY/ezr1r165an3arGT16NJ588km8//77uPfeeyWDijFjxij2+/XXX7F69Wpce+21+OqrrxQ3qKIoSpEBf+A4zuMpuxtvouXll19GXl4eFi9e7OFm9t5770lz1oL7/fP1GZ0+fVqxX6jwdVPtPm9RUZHCFELruQL5HOTjQo388/D2XfL2eSQkJGD48OFYtGgR1q1bhwEDBvi8nt3j1qxZg5tuuimguYXq9fs6rsvlwsyZM9G4cWNs377dQ2gGGg2NBO5r9uzZs163+1pPELEMWaoTBBE0d955J4xGI1atWuXTkjdYrrjiCgDADz/84Nf+SUlJaN++Pfbu3Yv8/Hy/xrid9dz2yXIOHTqE48eP+xx73333obKyEkuXLsWbb74JjuMwYcIEv84LBP763IwePRoGgwFLliyB0+nEe++9h4yMDEU6IAAcPHgQAHDTTTd5uC5u27bNIx2vNtLT072+F4IgSGlC3s59yy23eGzz9l4DkNLP/H3qnpycjNatW+PkyZNS6pecDRs2AKj5jMNNMJ9vXe9BoJ9DOOncuTMAYOPGjR7bCgsLsXPnTqm9gRy36F6yZAnOnTuHr776Ch07dkSnTp0U+wX7fQmWQK9HObm5uSgsLESPHj08BFVpaanfD30iifv937Jli9do5Y8//hjmGRFE9EOiiiCIoGndujWefPJJOBwOXH/99di8ebPX/Wp7iu6Lyy67DFdffTU+/vhjvP322173+f3335GTkyMtP/TQQ3A4HLj77ru9nrOgoEBxQzNq1CiYTCbMnz9f0d9HFEU88sgjtaY+jRw5EqmpqXjxxRexadMmXHfddWjVqpXfr++uu+5CWloaZs2ahW3btnlsF0XR6w1qdnY2+vbti59//hlz587FuXPnMHLkSI8Imdv+WX2MnJwcTJo0ye95AlU1KceOHfPoDfbss896TY/0de61a9di0aJFXs9hs9kAVNVi+cvdd98NxhgeeeQRxc1vbm6uZNmuJYKqhcmTJ8NkMuHBBx+U6uPkOBwOD4FQ13sQ6OcQTm6//Xbpu+QW1W5mzJiB4uJi3H777R61XVdeeSUuuOACrFmzBv/73//gdDo9opsAMGjQILRu3Rqvv/46vvzyS69z2LJlC8rLy3V5PcFcj24yMzNhsVjw22+/KdIRnU4nHnjgAZ+9uaKJFi1aoHfv3jh48CAWLFig2Pb1119TPRVBeIHS/wiC0MRTTz0Fxhj+/e9/48orr0TXrl3RrVs3WK1WFBYW4siRI9I/wD179gzo2CtWrEDfvn0xduxYzJs3D927d0daWhpOnDiB3bt3Y8+ePdiyZYtkFHD33Xfjt99+wxtvvIHWrVujf//+aNGiBfLz83H48GF8//33uOuuu/C///0PQNXN//PPP4+HH34YnTt3xogRI5Camoq1a9eisLAQHTt2xO7du73OzWKxYMyYMZg3bx4A4J577gnotdlsNqxatQpDhgzBFVdcgWuuuQbt27cHx3E4fvw4tmzZgry8PFRWVnqMHTNmDL799ls8/vjj0rKayy+/HFdeeSU+/vhj9OjRA1dddRXOnj2Lr776ChdeeCGaNm3q91ynTZuGtWvXYtCgQRgxYgSsVis2b96Mw4cPo3fv3h7i6b777sPixYsxbNgwDB06FE2bNsWePXvw9ddfY/jw4Xj//fc9znHNNdfgww8/xM0334yBAwciISEBLVu2xB133FHrvL766iusWbMGl156KQYOHIjy8nJ8+OGHyMnJwfTp03HVVVf5/Tr1pF27dnj77bdx9913o3379hgwYADatm0Lp9OJY8eO4YcffkCjRo2wb98+aUxd70Ggn0M4Oe+88/Dqq69i0qRJ6NKlC4YPH45GjRph06ZN2LJlC9q1a4cXXnjB69jRo0djxowZ+Pe//w2j0YhRo0Z57GMymfDxxx+jf//+uOGGG9CjRw906tQJFosFx48fxy+//IJDhw7h9OnTsFgsml9PMNejG4PBgClTpkhNqQcNGgSHw4ENGzYgPz8fffr0kSKp0czrr7+OK6+8Evfddx++/PJLqU/VRx99hEGDBmHNmjVeTSwIImaJrPkgQRANhX379rGpU6eySy+9lKWmpjKj0cjS09PZZZddxqZOncp+++03jzH+2HEXFxez2bNnsy5durDExERmNpvZeeedxwYOHMgWLFjgtUfMZ599xm644QbWqFEjZjKZWFZWFrv88svZE0884dV+e8WKFaxz584sPj6eZWRksFGjRrGTJ0/Waavstn1v0qSJR58ifzl8+DCbNGkSa9OmDYuPj2fJycnswgsvZLfffjtbvXq11zFlZWUsJSWFAfCwdpeTl5fHJk6cyFq2bMni4+NZq1at2GOPPcbKyspqtV32ZpO8Zs0a1rVrVxYfH8+sVisbMWIEO3LkiM/P8KeffmJ9+vRhaWlpLCkpiV155ZVs9erVbMOGDQwAe/rppxX7u1wu9thjj7Hzzz+fGY1GD/twb/NlrKp/1+zZs1n79u2Z2WyWzrVixQqPfX3ZVrup6/NWo56jN3bv3s3GjBnDWrRoweLi4lh6ejpr3749mzBhAvvuu+8U+9b1HjAW2OdQ1+vV+/1gjLG1a9ey6667jqWlpbG4uDjWunVr9sgjj3htc+Dm6NGjUvuCf/7zn7Ue/+zZs+zRRx9l7du3ZwkJCSwxMZG1adOG3XLLLWzZsmWK76HbUn3Dhg0BvQbGgr8e3TidTvbSSy+xiy66iJnNZpaVlcVuv/32gD+r2n4jfX2XAv1uM+b7Wv7zzz/ZkCFDWGpqKrNYLOyKK65gn3/+udTGwddvFEHEIhxj1fZcBEEQREC88847uOuuu/Dkk09K6WYEQRANnVGjRmHFihXYt28fLrzwwkhPhyCiAhJVBEEQQeByudClSxf8+eefOHz4MJo3bx7pKREEQeiGKIrIycnxsKT/7rvv0L9/f1x44YXYu3dvhGZHENEH1VQRBEEEwI8//ohNmzZh48aN+P333zF58mQSVARBNDgcDgeys7PRp08ftGvXDkajEXv37sW6desQFxeH119/PdJTJIiogkQVQRBEAHz77beYNWsWrFYrxo8fH1C/J4IgiPqCyWTCvffei/Xr12Pr1q0oLy9HRkYGhg0bhn/961+SjT5BEFVQ+h9BEARBEARBEIQGyAuTIAiCIAiCIAhCAySqCIIgCIIgCIIgNECiiiAIgiAIgiAIQgNkVBFiCgsLsWnTJmRnZyM+Pj7S0yEIgiAIgiAIohbsdjuOHz+OXr16IS0tza8xJKpCzKZNmzB48OBIT4MgCIIgCIIgiAD45JNPMGjQIL/2JVEVYrKzswFUfSht2rTRfDyn04mioiKkpqbCZDJpPh7RcKFrhQgEul6IQKDrhfAXulaIQIiW6+XgwYMYPHiwdB/vDySqQow75a9NmzZo37695uM5nU7k5eXBZrPRjxNRK3StEIFA1wsRCHS9EP5C1woRCNF2vQRSukNGFQRBEARBEARBEBogUUUQBEEQBEEQBKEBElUEQRAEQRAEQRAaIFFFEARBEARBEAShARJVBEEQBEEQBEEQGiBRRRAEQRAEQRAEoQESVQRBEARBEARBEBogUUUQBEEQBEEQBKEBav5LEARBEARBEIQC5nSifPsOCEWF4FPTYOnSGVwUNOSNVkhUxQCVTjvW7/gJ+eUFsFrS0bfzlTCb6u4QTePq77hKpx3rfvsep3JPo2lGE1zXtWfUzZHGRdc4ul5oHF0v2sZVlJfh28+WobD4HNJSGuHaG+9AgiUxquYZiTmG81qpD59BfRjHnE7kLlyIcyuW4w9LAUrNQFIlcHGFFY1uG4mM8eNrFVfhvl6iBY4xxiI9iYbM3r170aFDB+zZswft27fXfDyn04m8vDzYbDaY6nhaUOm0Y/YnL+Obos9QbiqR1lucKeiX+k88Mfghrxcrjau/4+rDHGkcjaNxNK4hjasoL8MLc8dhXeoeFMvu31PLgGuLOuDRBxZ5vbEP5zzrwxy1jGvory+c45jTicOT78Ny109Y28WAoiRO2pZWytBvu4hRpqtw/vzXPYRVuF9fKAnm/p1EVYiJlKiqdNpx+9Kx+Mu4C2AAONnG6uULXZ3w7uhFiguVxtXfcfVhjjSOxtE4GteQxlWUl2Hcq9dhd7MSgDGAkw2sXr70ZDIWTl2nuKkP5zzrwxwb+mdQn8adem0e/nV2AXa0Mfh8P7scFPFc43vRdNL9EZtnqCFRFYW4P5Rly5ahVatWPvdLTU1VfGhFRUXYu3evx36iKKKsrAyJiYkwGAzo0aOHYvvmzZsBAF/vXo89ju1ez3Ui8QQqjBUAgCGWURhx8Y0oKiqqdVx+fD7yzHnS8hDchgEX9JaWvY2rMFbgROIJaTnBlYDrnTehf8e+tY47kHpAsXxB0QW4JK5LrePkrwkAmpc1R4IrodZx6tdkq7TBarcCgM9x3l5T87Lm0rKvcd5ekxxv4742fer1Nfka9/Xu9fie+9bna/J5rj/WY7XpfZ+vyde4r05uwiflK3y+Jm/j2rdvj/9+84Y0zttrUo/Lzs5GdnY2Znz4HD4pX+H1NanHDb96iPR9mvHhc1hbvNrra1KPm3Xvk9LyjA+fw97Tv9Q6BgA6ZFyOZ0Y+Ji0/tehZ7Cn3/t1zkx+fj57WAXhm2L8AAMePH8fCL5b4/M4CNd+nIZZReGbYv6TfiNq+60DN98k9jn4jqojF3wgA+OrABnyClV5fk69xqampWPnHp9L31tdvhHpcjx49pO+tt9fkbVz79u2RmpoqjavtN8I9btwNY5CdnQ2g6nv7Q/7aWn8jAOASS1fMGveEtDxjxX+wN/fXWscAQIcm3aTvLQDMfHYSdqecrnXMicQTuOFcGzz9r6r3Ye/evXj/h9W1fm/d1577e3v8+HEcP3681u+t/NobYhmFh/tNxN69e/HN+uW1ztF97Q09fQme/teKevcb4e31efs+XVrcBNf1HeXzfPQbAUAUse6DmVjV9azX1ySn01Ejrh0yBTAYIvIb4Wbv3r3StecL932EG/f3qTbOnTuHwYMHBySqqKYqTBQVFSEvL6/uHatxuVxe9xdFEXa7HZWVlTAYPM0b8/LyIIgiTpYcQbIh2euxecZX/cGAr4o/Qbv9rWAvq4AgijhRehjJnOe4UlNpzQIDfiv9GS0ONgFvMNQ6TnFekcfx0sP44+BfAY1LdibjuKP2cdJrqibBlVDnOMVrAhAnxiHZWbWtrvPJz+seE8g4+Rhf4/hU76/J2zgAOFF6GHGWOJ+vyde5/irdA6RBejqkfk2+xn3tXAPwNeO8jVGPKzM48HVxzThvr0k9rsBeguPFZ6Vx3l6Tetyu/XtRYRLgcFadzyh6f03qcZv3/oo4U5w07mLnhbWOAYDvi9dh897rpHF/le5BslD7uUqNpfiq+BMM2Hst4kxxOHn0uF/fBfd3dsDea+GosOPgwf0Bj/vr0IE6v3v0G9HwfiPc47aXbAWSIH1vfX2f5OPiExMU31tfvxHqcUiNU4yr63v7x8G/4IhjiEuIl8bV9hvhHrd9326crSiQvrfpQkqd3/d9pb8rvu8/FH+Lls7sWscAUHxvHfYKnIgrRbJT9oZ6gRcN+Dr1d1z3+1bExSdg//59dV7XpaZSxfe2ICcPp4+fCuj7fvWfV+Dogb/9miMYk+ZYr34jBJdfry/ZmYTjplL8ceBP8LyRfiN8jHMV5OG3VpwiQuX9N4LhWCawd8c2GNNtYfmNOGE/gpxz53Chy6VY78/9tc1mUyyXl5fXOaakpKTW7d6gSFWIiUSkat/xg/j87Cc+z+XraUxt1PY0xhd1PY3xRV1PY7xBr6kKek1V0GuqgV5TFfSaqqDXVAW9phroNVVBr6mKaH5N/8wajFsGDIraSBWJqhATiZqqdzd+hBeOztR8LoIgCIIgCIKIBh5tORO3974lLOcK5v6dmv82QKyW9EhPgSAIgiAIgiB0I9rvb6mmqgHSt/OVsOxORrmxpNYUajDALCRi7hWvSXnlD/w8GZV8GY2rZ+MARP0caRyNo3E0rkGNs1fg4R/HoTRB5ZDmMY4hqYLDS1ctQlx8Qnj/bRAFPPzTOJSao3eOmj+Dhvz6IjDuwZ8moDzOUef7meiIw8tXvhm2eVpcKejb+cpadoo8JKoaIGZTPPql3qhwZvMKB1yfMhg92l8mrRrwxyAaV0/H1Yc50jgaR+NoXEMZV7j6Ewz8VcAHPfk6xnEYUHQJelzSPSLzHLAyG6va1l4/Euk5ahnX//MO+KjpnjrG1d/XF+5x/fbcgk8qV9YyCADHoV/a0LDOs3/qjVHfCJjS/xooTwx+CBe6OlUtqKvmqpcvdHXC44MfpHENZFx9mCONo3E0jsY1hHHlv/6K0089hcFbGLocFKv3Uw2sXr70ZDKmT1kYkXlW7N2Lm788GdVz1Dru0QcWodPReMXrqRlX/19f2MfdPA0XOi+t3k/9flaPc16Kx4c8HNF5RiMkqhooZlM83h29CEMso2BxpSi2WVwpGGIZ5bWRGo2rv+PqwxxpHI2jcTSuvo9zHDuGE5PvB5xOGEVg2kcihu5vgdQyxTCklnMYevoSj6az4ZqnMycHJ+6bBGOFA9M+EjFik4DUMmWOVWpZZOeoy7gEC574tQlGbBKQpv4MGsLri8S4MW/hZsNgj/cz2R5fNW7MWxGfZzRC7n8hJhLuf2oqnXas3/ET8ssLYLWko2/nK/26OGlc/R1X6bRj3W/f41TuaTTNaILruvaMujnSuOgaR9cLjaPrpe5xQnExjtx6GxyHDkn7N3r4IWSMH4+D4+7GzmM/o9QMpDRvh+v/u8zjRj5c8xQrK3F09BhU7t4t7W+bMAHJ907AFyOuRilXiaRK4KqR09D4zrtDOsdQXyvl27fj6Miqpr4uA/BXcw6lZiCpEugxaCKaTro/pK+voY6r2LsXB4cNVbyf3a4cjhZPzwzpPIO5XkJBMPfvDVJU2e12PPXUU1i2bBkKCgrQsWNHPPvss7juuuvqHPvtt99i9uzZ+P333+FyudC2bVvcf//9uOOOO4KaSzSIKiI2oWuFCAS6XohAiMXrhTmdOH7PvSjbvFlalzpkCJr8ZzY4jsPJh6eh+IsvAABJ11yD7Ndfi8w8GcOpaY9IcwGApGuvQfN588AZDDjY9xo4T50CUCMIQ0mor5WT0x5B8eefAwAMqakwZmTA8fffAADrXXch69Hpup8zFij94QccHz9BsS4c13W0/LaQpXo1d955J15++WWMGjUKc+fOBc/zGDhwIH788cdax3366afo168fHA4HZs6cidmzZyMhIQGjR4/GK6+8EqbZEwRBEAQRTTDGcGb2bIWgslx2GZrMmgmu2iXNkJwkbROLi8M+Rzd5CxYoBFV8u3Zo9sIL4AxVt3yGRIu0TSwvD/v89MSVl4fitWul5bSbb4YpK0taFupoCkv4RsjP91jnOns2AjOpPzQ4UbVt2zasXLkSzz33HObMmYMJEyZg/fr1aNmyJaZPr/1pxWuvvYYmTZpg/fr1mDx5MiZNmoTvvvsOrVu3xjvvvBOeF0AQBEEQRFRRsOxdFK58X1o2tWiBZvPngYuLk9bxyTX1IEJJSVjn56b4m29w7tW50jJvsyH7jddhSKxJQ+QsNaKK1XNRVbjqI8DplJbTbx0BPi1VWhYKCyMwq4aBK49EVaA0OFG1atUq8DyPCRNqQpZmsxljx47Fli1bcPy4b1vR4uJipKenIz6+Jn/TaDQiIyMDCQkJIZ03QRAEQRDRR+mmTTj7/PPSsiE5Gdn/+z8Y09MV+xlSkqW/xQiIqso//8SpR/8lLXMmE5q/Nh+mpk0V+xks8khVRdjmpzdMEFDwfo31d+JVVyGuZUvwaWnSOopUBY9Q4EVU5eWBuVwRmE39oMH1qdqxYwfatm2LlBSlg0i3bt0AADt37kR2drbXsb1798YLL7yAGTNmYMyYMeA4DitWrMCvv/6KDz74oM5z5+Tk4Ny5c4p1Bw8eBFCVI+qUPU0JFpfLBUEQ4KKLmqgDulaIQKDrhQiEhny9MKcTFTt3QiwqglBcjHMvvAiI1ZbkPI/GL70EQ3a257/pMrEiFBfr8m++v/NkAHKffwGsokYkNZr5NEwdOnjMg4s3S3+7SktDOk/mdKL0t99QefIkSpo1Q1LXruB0qpMp27ABrlOnpeWU4cOqXktSjbh1FRSE/HNoqDjO5XquFEVUnj4NY+PGITtvtPy2BHPdNDhRdfr0aTRp0sRjvXvdqeriTG/MmDEDhw8fxuzZs/Hss88CACwWCz766CMMGjSoznO/8cYbmDVrltdtRUVFyMvL8+cl1IrL5UJJSQkYYzAaG9zHR+gIXStEIND1QgRCQ7xemMuFyhUrYF/9CVhBgdd9LFOmoKLtBajw8u+5AzV25WJpKXLPnZPqmMI9z/jbboXzyiu93nc4jTXNiu063Zv4M8cKADlWK+IHD4J55EhwGq+bkmXvSn8bsrJQ0b49KvPyUCkTba6CgpC8vlig0keqX97+AzCG0EAiWn5bioKIcjaMX0IZFRUVivQ9N2azWdrui/j4eLRt2xZDhw7FzTffDEEQ8Oabb+L222/HunXrcMUVV9R67vvuuw/Dhg1TrDt48CAGDx6M1NRU2Gy2IF6REpfLBY7jYLVaG8w/ZERooGuFCAS6XohAaGjXC3M6cfqBqaj84QeA47zuY2zWDE3uuN1npKWsaRNIbX0YgzUhAYakJK/7hnKeBqsVzR56CAaz2et2IS0djuq/jS6nLvcm/s6RFRSg8u3FMBz8G01efSXoqJXj2DEU/PKLtJw2YjismZkAgOKmTeC+02MlJbBarZKZCOE/5aXeU1gT7ZVI0vmakRMtvy2pqal176Si/v8SqkhISIDdbvdYX1lZKW33xeTJk/Hzzz9j+/btMFQ/XRo+fDjat2+PBx54AFu3bq313JmZmcis/lKrMZlMullD8jwPo9EYMza2RPDQtUIEAl0vRCA0pOvl3MKFKP/hh6oFH51mXCdPonjJEmRMnOh1e5yslgcADBUVMKnqrrTizzzF/HyUvPuuz3kaZUKPVVTq/vnVOsfq5fLvv6/1vayL/FUf1SyYTLANHy5FT+Ks1pptLhd4hxN8Ut39wgglYkGh1/UsNy/k3/lo+G0J5twNzqiiSZMmOH36tMd697qmqoJNNw6HA2+99RZuuOEGSVABVW/q9ddfj19//RUOh8PrWIIgCIIg6ifM6UTB8hU+Iz8SHIf85SvAfNRa8Kpabr0dAPWap8KookJf9z+95lgbYmUlCj/+WFpO6dcPxowMaZlXiVuxqDDgcxCAy4ulOgC4csgB0BcNTlR16tQJ+/fvR7GqR4Q7ytSpUyev4/Ly8qTiODVOpxOiKHrdRhAEQRBE/aV8+w4IeXk+Iz8SjEHIzUX59h1eNxuSkxXLejsA6jZPS03Gjt59qvSaY20Uf/kVRFm9S/rI2xTb+dQ0xbKLbNUDRqyoUNrty4INzrM5EZhR/aDBiaqhQ4dKtVBu7HY7Fi9ejO7du0vOf8eOHcO+ffukfTIzM5GWlobVq1crIlKlpaX47LPP0K5dO7JVJwiCIIgGhhBgJMPX/rxKVAnF+ooqveap6FNVpq+o0muOtVHw3nvS3/Ft2yKhSxfFdj49TbEskq16wKgb/8a1Ol/623XmTLinU29ocDVV3bt3x7Bhw/DYY48hJycHbdq0wZIlS3DkyBG89dZb0n6jR4/Gpk2bwKqfpvA8j2nTpuHJJ5/EFVdcgdGjR0MQBLz11ls4ceIE3n33XV+nJAiCIAiinqKObAS7P2c2AyaT1IxWLCn2ul+w6DVPZZ8qfUWVXnP0RcXvv6Py99+l5fSRt3mYUHiIW4pUBYwrX+kqab7oYjgO/g0AcFL6n08aXKQKAJYuXYqpU6di2bJlmDJlCpxOJz7//HP07Nmz1nFPPPEEli9fDpPJhFmzZmHGjBlISUnBqlWrMGrUqDDNniAIgiCIcGHp0hm8zeZXHRCfkQFLl84+NnOKG3q9I1V6zVMuqpjTGVRdk+Y5ArXO0RcF79U0+zUkJiLlnzd67MMZjTDI6tuoAXDgCPlKG3rzRRdJf7vO5kgBCUJJgxRVZrMZc+bMwenTp1FZWYlt27ahf//+in02btzo9aIYOXIktm7dioKCApSXl+Pnn3/GLbfcEq6pEwRBEAQRRjiTCemjRvpVB2QdNbJWG3BDco2znujDkjpY9JqnwaJ0whNraTUTKH7PEUDiP/4RkKW6UFiI4i++kJZTBw3y6erHy+ywKVIVOPJIFWcyIb51K2mZVVZCLNY3CttQaJCiiiAIgiAIwl8yxo9HUq9e3jdWR12SevWCbdy4Wo/DJ8siJDpHqgB95ik3qgD0TwGsdY4yitetQ8XevX4ft3D1J2Cyljnpt93qc1+5A6BQSJGqQJFHqnibDcasLMV2p4/GwLEOiSqCIAiCIGIazmRC89fmI+m66zy28TYbGj0wBc1fm19nZIVPkaX/6VxTJZ9nQteuQc9Tnv4H6C+q3HNs9MAUcCqDL0Uz5MpKnLh3Ipxe2uCoYaKIgpU1BhWWyy9H/AUX+NyfIlXakNup89Z0D1HlIgdAr5CoIgiCIAgi5uFMJiR27y4tG5KS0GLJElywYT0yJk70K1XNkFQjqsSS0pDNM/6CNtJyXOvWAc3TQ1Tp7ADonmPGxIlIHTxYWmdq0wZtt2yGbdxYaZ3r3Dkcv+deCKW1v1dlm7fAefSYtKy2UVejEFVUUxUwQl6NqDJabeDT0sDFxUnrXGfJAdAbJKoIgiAIgiAAiLKbe95qRWL3bgHV/RhS5KIqdHUn8pqWuPPOC2ieoY5UyWGyei1TViY4kwmNHnoIyQMGSOvt+/fj5NQHazXMkNuo840ykHzNNbWeV5H+R6IqYFzy9D9rOjiOU0SrKP3POySqCIIgCIIgAIhlNaLK4MMEoTZCXVMlHbuoRlTxMqc7f/AQVRWhE1VywcZVG2RwBgOaPv8cEjp1kraV/fgjzvz7Wa8GYs5Tp1C6YYO0nD5smCJq4g1K/9OGIDOqMFptVf/PypTWUfqfd0hUEQRBEARBAIo0ND4xqZY9vaNw/ysJoagqDl5UcWazwvKchTBSJZaVSX/LxZzBbEbzN16HKTtbWlf4wQfIl/UTdVPwwQeAKFYt8DzShg+v87wUqdKGMlJlBQCYMmsiVS6KVHmFRBVBEARBEAQAsVQmApICF1WKSFVIRVWNUJCnHPoDZzAoDCRCmf4nP7YhURn5M1qtyF6wAAZZVCnnvy+h+OuvpWXmcKDww1XScnLfPjA1blznefk0ZU0V9VXyH8aYMlJlqxJVivS/HIpUecMY6QkQBEEQBEFEA/KaqqBElcL9rwSMMXB+NMINFFGR/pday57eMVgsEKoFT0hFlSJSleCxPb7V+Wg+fx6OjR0HVNdUnZr+aFUDYZGhZP16CHk1UZP022o3qHAjj1RBECCWlioaMxO+YeXlYJWV0jKf7hZVsvS/M2RU4Q0SVQRBEARBEFCLqsBrqgzyG3enE8xur0q30xHGmCIKxqcGlv4HVIuq6r/DFaniEr2/n4nduqHp7GdxavqjAKqiU8dGj/FoIMynpXm1kveGvKYKqKqrIlHlH66CAsWyO1IljxAKBQUQHQ4Y6qhtizUo/Y8gCIIgCAKAIDOq4INK/1PeuMtrn/RCLCsDBEFaNgRYUwUo65vE8opa9tSGIlKVYPG5X+pNN8E2cWLNCi/pekJhIU5OeaBWl0A3ikgVqAFwIMgjg0BNTZUxU9WrilIAPSBRRRAEQRAEAVVNVTBGFSqBEwqzClFlvBBs+p90vAjVVKnhjHUnT5Vu2oS8RYvq3M9bpIrwD3njX6Cq9g2ossRX7EdmFR6QqCIIgiAIgoAONVWqSFUoRJU6+hVU+l8YjCqYywVmt9ec00tNlbSv04mCFSsUroRe4TjkL19RZ7TKkJysOBY5APqPIBNVXHw8uGoBbmzUSLEfiSpPSFQRBEEQBEFAJarqiKx4w6BO/wuFqCpSiSrN6X+hEVXq4/qqqQKA8u07qtLO6nLpYwxCbi7Kt++odTeO5xXvi1BUWOd8iSrkkSreZpWMVri4uCoDkWqc1KvKAxJVBEEQBEHEPKLDAeZwSMtBGVUkJiojJCGoqZLbqQNQWJL7i1JUldWyZ/DI66nU51QTqOjxZ39DGjUADgYhr0ZUGaud/9yYZLbq5ADoCYkqgiAIgiBiHrUICMaogjMYFNEqsaS0lr2DQ5QJNc5sDsqBzZAY/kiVweJbpPKpaQEd25/9qQFwcAgFykiVHGWvKkr/U0OiiiAIgiCImEee+gcEV1MFKMWYUBKCSJWiR1XgqX+AMmrEQuT+F0ikytKlc1VqmR81VXxGBixdOtd5frlZBUWq/MdVS6RK0auK0v88IFFFEARBEETM4yGqgnD/A5QOgGJxCGqqZEItGJMKAODCYFThEalK9C2qOJMJ6aNG+lVTZR01EpzJVOf5KVIVHIKipsqm2KZI/yOjCg9IVBEEQRAEEfN4RqoCr6kClA6AQmkILNVl6X+GIOzUAWUqXshElSpSxdUSqQKAjPHjkdSrV/XOqohV9XJSr16wjRvn1/nlKYIUqfIfuVGFUZ3+J+tV5crJARPFsM2rPkCiiiAIgiCImEfQoaYKUDoAhiRSpXP6X1giVQYDuPj4WvfnTCY0f20+Gj0wxSNCwttsaPTAFDR/bb5fUSoA4GVGFSI1//ULxpgyUqVO/2tcI6qY0wmhoCBsc6sP1N1pjSAIgiAIooEjb/wLg0GRIhcIikhVKGqqivUXVYwxyTpbL+SRKi4hwa/jcyYTMiZOhG3cuCqb9aJC8KlpsHTp7LeYckORqsARy8oUDpjqSJU8/Q+oSgE0qgRwLEOiiiAIgiCImEfd+DdYkRHymiqZpbohyJoqRX2TKII5HHVGkgJFLJNFqupI/VPDmUxI7N5N0/kVNVXFxWCiCM5ACVq1IY9SAQBv9e3+BwDOs2dhvvjikM+rvkBXF0EQBEEQMY9YJhdVwdVTAQCfLHP/C0VNlSL9L8iaKlUULhQpgOpIVbiRu/+BMYghaMTc0HDl5SmWjSpRZUhKUtTGkQOgEhJVBEEQBEHEPIIsUsUH6fwHAIbkUEeq5KIquZY9faO2N1dElXRCLtTqMqkIBfKaKoBSAP1BXSOljlRxHAdTpsxWnXpVKSBRRRAEQRBEzCOvqQq2RxWgFDqCztERxphCVBl0qKkCALG8zMeewRPxSJUs/Q8gW3V/kEeqOIvFI6IJqBoAnyFRJYdEFUEQBEEQMY+6pipYDEk1oopVVIA5nZrmJYeVlwMul7QcdPqfSlSxUKT/KSJVEU7/A0Wq/EFQNP5N97qPqTH1qvIFiSqCIAiCIGIepajSUFOlSskTVP2vtCCPUgEamv+qI1UVFUHPyReRjlQZkpMBnpeWKVJVN0KB78a/bpS9qkhUySFRRRAEQRBEzCM3qgi2RxWgrKkClM16teIhqnRL/wttpAoJ4a+p4jhO8f4IBYVhn0N9w+VHpEqR/kdGFQpIVBEEQRAEEfMI8poqiz7ufwAglOgYqVJFWwxBpv9xcXGKKE5DdP8DVLbqFKmqE0XjX1+RqqwaowqxuDgkUc76CokqgiAIgiBiHt1qqlTRI1HHBsDqqFfQ6X8cp2wA3ADd/wBlXRXVVNWNSyaqjFYfNVVeGgATVZCoIgiCIAgi5tFLVKlTBwUdbdUFWY8qLi4OBrM56GMpRBVFqgioIlVWX5GqxoplcgCsgUQVQRAEQRAxj15GFZzJpBARoo4NgBV26kFGqaTxclFV0fDc/wBVpIpEVa0wxuCS9anifUSqjBk2ReoomVXUQKKKIAiCIIiYhgmCQgRoMaoAAD5Z1qtKx0iVPJUwWDt1N6GMVDHGlKIqYpEqSv/zF7GkBJDZ/xt91FRxPA9jRoa07KT0PwkSVQRBEARBxDRqUaEl/Q8ADDJbdT1rquTpf8E6/7mRN3bVXVRVVACiWLMiUjVVlP7nN/LGvwDAp1t97it3AHSRA6AEiSqCIAiCIGIaUdVLypCoMVIlawCsq/tfsX6iikusETp6N/9Vi7RIRaoMZFThN4Is9Q8AjDbfosokcwAko4oaSFQRBEEQBBHTyE0VAG01VYAqUqVrn6qaaIuuNVV6iyrV+8lFoE8VABhlkSqxuBhMECIyj/qAR6TKWlukqsasgtL/atBNVFVWVsJut+t1OE3Y7XY8+uijaNq0KRISEtC9e3esW7fO7/Hvv/8+/vGPfyAxMRFpaWno0aMH1q9fH8IZEwRBEAQRKdSRKu01VbKmsyU61lQVhaqmSt9eQx6RqggZVcgjVYBn82SiBiG/JlJlSEyEIT7e575GilR5JWhRtXHjRjz44IPo1q0bkpKSkJiYCIvFguTkZHTr1g1Tp07Fxo0bdZyq/9x55514+eWXMWrUKMydOxc8z2PgwIH48ccf6xw7c+ZM3HbbbcjOzsbLL7+MZ599Fh07dsTJkyfDMHOCIAiCIMKNvPEvoENNlawBsKijqNIz/U/e4Dj0karIW6oDlAJYG0J+TaSqtigVoOxV5crNpQhgNcZAdnY6nViwYAFefvllHDlyBFarFV26dMHtt9+O9PR0MMZQUFCAw4cP491338W8efPQsmVLPPzww7jnnntgMplC9Toktm3bhpUrV2LOnDmYNm0aAGD06NHo0KEDpk+fjs2bN/sc+/PPP+OZZ57BSy+9hAcffDDkcyUIgiAIIvJ41lRpS/8LVaRKIaq0pv+F0KjCM1IVqea/aYplElW+cckiVcY6RJUxU9YAWBDgys1T1FnFKgGJqjZt2sDhcGDMmDEYPnw4unTpUuv+v/32Gz788EP85z//wX//+18cOXJEy1z9YtWqVeB5HhMmTJDWmc1mjB07Fo8//jiOHz+O7Oxsr2NfffVVNG7cGA888AAYYygrK0OSxqdVBEEQBEFEN2JZjajiLBZwsj48wRCKmirGGESZg50huf7UVEFDk2IteESqyAHQJ0Ke/5Eqo0pAuXLOkqhCgKLq8ccfx5133on4WvIs5XTt2hVdu3bFM888g8WLFwc1wUDZsWMH2rZtixRVWLxbt24AgJ07d/oUVd999x169OiBefPm4dlnn0VeXh4aN26MJ554ApMnT67z3Dk5OTh37pxi3cGDBwFURfmcMv//YHG5XBAEAS6XS/OxiIYNXStEIND1QgRCQ7tenHKxkpio/d9rmWARSkp0+fdfrKgAkx2HaZwnM9fcy4llZbrM0Y1TFp3jzGaIQESuFRZnAoxGoPrcjvx8XV9nQ8IpE1WG9LTa3yeV6Ko8eQrGdu10mUe0/LYEc50EJKruueeegE8AAHFxcUGPDZTTp0+jSZMmHuvd606dOuV1XEFBAXJzc/HTTz9h/fr1ePrpp9GiRQssXrwY999/P0wmU52v4Y033sCsWbO8bisqKkKeylklGFwuF0pKSsAYg9EY0MdHxBh0rRCBQNcLEQgN7XqpkD0QZWaz5n+vHeCkv8XSUuSeOwfOoM0bTFQ9tC0Fg13DPO2yPlJCebku9yhuKnNkvYvMZhQXF0fsWuGSk8Gq7cJLTp5SiAeiBofs+nIkJNR5PXBJSWDVabNFhw7B3ulSXeYRLb8tRUFENUMyW4fDAafTiUSNOcnBUFFR4TWSZq4OPVdUeHe4Ka2+MPLy8rBy5UqMGDECADB06FBccsklePbZZ+sUVffddx+GDRumWHfw4EEMHjwYqampsPnoTh0ILpcLHMfBarU2iH/IiNBB1woRCHS9EIHQ0K6XXFFEZfXfJh3+vS5r2gRSAhxjSDebwScn1zakTuz5+ZDf5qU3b454DfMsaZQJKemvshLW9HTNws9NPsfBfbfFJyfBkpISsWulND0dzmpRZXa5dLkXa4gUy9JUk5o2Q1od71NZ4yw4DlbdO8eXlen2vkbLb0tqauDumppmu3LlSmzduhWvvPKKtG7WrFmYPXs2GGP45z//iWXLloW1LikhIcGrtXtlZaW03dc4ADCZTBg6dKi03mAwYMSIEXj66adx7NgxtGjRwue5MzMzkZnpPafUZDLpZtTB8zyMRmNYjD+I+g1dK0Qg0PVCBEKDul5kluJ8UpLm1xSnquXhKypgqqNOpS6cqrqneJtN0zxNycp7M6PLpdmgww1XWSn9bbAkRvRaMaalQUrkKiluGNerzjBRVDT/jctsVOf7ZMpqDMfBv6vG557T9X2Nht+WYM6t6ZHESy+9hDJZMeLmzZsxa9Ys9O/fHw8++CC+/vprzJ49W8spAqZJkyY4ffq0x3r3uqZNm3odZ7VaYTabYbPZwKsKVN1CqUDVbZogCIIgiPqP3KhCa+NfwNPuXFC5CwaDuseSdkt1pSOfnmYVYlnNsQyJkXH+cyM3qxAKyajCG2JxMSCzRefT634AYJTZqjvP5tSyZ+ygSVT9/fff6Nixo7S8YsUKNG7cGKtXr8aLL76ISZMm4aOPPtI8yUDo1KkT9u/frwhjAsDWrVul7d4wGAzo1KkTzp07B4fDodjmrsNq1KiR/hMmCIIgCCKiyEUPn6g9u8agSvXTwwFQkDX+hcmkufeTvE8VoLeoqnngbkiIsKiSpXGRpbp3XPn5imWjzR9RRQ2A1WgSVXa7XapVAoBvvvkG119/vZQDefHFF+PEiRPaZhggQ4cOhSAIePPNNxXzXLx4Mbp37y45/x07dgz79u1TjB0xYgQEQcCSJUukdZWVlVi+fDkuvvhin1EugiAIgiDqL6Ks+a/Wxr+Al0iVDr2qxOKaKAufkgKO42rZu25CGqkql0eqwl9fL0cRqSJLda8IKlOKuizVgar0PzfOs2fBGNN9XvUNTTVV559/Pr799luMGzcOv/76Kw4ePKhI9zt79mzY+zx1794dw4YNw2OPPYacnBy0adMGS5YswZEjR/DWW29J+40ePRqbNm1SXAT33HMPFi1ahEmTJmH//v1o0aIFli1bhqNHj+Kzzz4L6+sgCIIgCCI8yJv/6iGquPh4wGQCqm2ZRR1ElVBccwytqX+AZ1qe6MPIKxjkkapINf51Q5GqupE3/gUAY3p6nWPkkSpWXg6xtFSzGUt9R5Oouueee/DAAw/gjz/+wIkTJ9C8eXP885//lLb/9NNPaN++veZJBsrSpUsxY8YMLFu2DAUFBejYsSM+//xz9OzZs9ZxCQkJWL9+PaZPn463334bZWVl6NSpE7744gv0798/TLMnCIIgCCKcKEWV9sgKx3Hgk5MhVKdVyQVRsMhrqnQRVar0QXkdlFaUkaooqqmiSJVXhHxZj6rkZHBxcXWOMclqqoCqFEASVRq4//77YTab8eWXX6Jr16549NFHJRe9/Px8nDlzBvfee68uEw0Es9mMOXPmYM6cOT732bhxo9f1mZmZeOedd0IzMYIgCIIgog5BFlnhdcqwUYiqEu01VfL0P0NqCERVqGqqIh2pSquJVImlpWBOJzhyAFQgr6ky+ulSaVSJKufZs4hv00bXedU3NBvAjx8/HuPHj/dYb7Va8euvv2o9PEEQBEEQRMhgjClFgE6iSm5WIZbo4P5XJI9UBd5DRw1nMoGLiwOrNucKWU2VJRFiLfuGGl7Vb0goLoaRelUpEPJqRJU/9VQAwKenK1JcXeQAqM2owo3dbseWLVuwZs0a5Obm6nFIgiAIgiCIkMPsdsDlkpYNOrj/AQCfUiOq9IhU6Z3+ByijSGJ5WS17BkZU1VSpeoZRCqAnrgKZqPLD+Q8AOIMBpky5A+AZ3edV39AsqubNm4cmTZrgyiuvxM0334zdu3cDAHJzc5GRkYG3335b8yQJgiAIgiBCgajqIaVHTRUAGJJrhI+oS02Vvul/gFJUMT2NKqKppkodqSKzCg/kkSqjHz2qpH0VvarIVl2TqFq8eDGmTp2KAQMG4O2331Y46WVkZKBv375YuXKl5kkSBEEQBEGEArWo0qumypBccxyxVAdLdZ3T/wCAs9TUVemV/secTimlEIiGmqo0xTI1APZECCJSBah7VVH6nyZR9dJLL2HQoEFYsWIFbrzxRo/tXbt2xd69e7WcgiAIgiAIImQIpcq0N71qqnhZpCoa3f8AZQNgvdz/1OIs0n2quIQEhTEFRao8ceUFblQBAKbMmkgVNQDWKKoOHjyI66+/3ud2q9WKPFVDMYIgCIIgiGjBM/0v+mqqRLu9qvarGkOKPtbVypoqnURVmVKkRrqmiuM4slWvBSYICqHJW/038VCk/+VQpEqTqEpLS6vVmOKPP/5A48aNfW4nCIIgCIKIJGJZaESVIUk/9z+1ENAr/S8kokodqYqwqAKUtuoUqVIiFBUBYo0/o9Fad+NfaV9Z+p+Ql6dI+4xFNImqgQMH4s0330Shlwt07969WLhwIW666SYtpyAIgiAIgggZ8kgVZzLB4EfjU39QRqpKFHXngSIWKyNdfAiMKkSdjCrUkaqoEFWpadLfQlFhxOYRjQiyHlUAwAdgN2+SB04Yg+vcOb2mVS/RJKqeffZZCIKADh064MknnwTHcViyZAluv/12XHbZZcjMzMRTTz2l11wJgiAIgiB0RZCJKj3rf+Tuf3A6wSorgz6WoBZVetVUJehvVBFtNVUAYFBEqij9T468ngqo7j/lJ54NgGM7BVCTqGratCl+++03DBgwAO+//z4YY1i2bBk+++wz3Hbbbfj555+RkZGh11wJgiAIgiB0RSzVv/EvAPDJymMJJcGbVajT/wzRnP4XZTVVgNJWnSJVSuTOfwBgDERUyfpUAYArJ7bNKoxaD5CZmYlFixZh0aJFOHfuHERRRKNGjWAw6NJXmCAIgiAIImTI0//0FFUGVTRJLCkBVDeh/qJI/+N53Xo/yY+jV/NfhTgzGsHplE6pBTKq8I1LZihnSE1VOCXWhSEuDnx6OoSCgqpjxbgDoGZRJadRo0Z6Ho4gCIIgCCKkyI0q9Gr8CwB8stKhT53CFwhCkdJOneO4oI8lJ9SRKoPFottctaCoqSKjCgVCfoH0dyB26tKYrCxJVMV6+l9AouqZZ54J+AQcx2HGjBkBjyMIgiAIggg18poqPlHHSJVKVIla0v9K9O9RBShT81i5TkYVMnEWDfVUgNL9T6SaKgWu/JpIVSCNf92YsrJg37ev6lhnzug2r/pIQKJq5syZHuvcTyDUrjYcx4ExRqKKIAiCIIioJVQ1VYbERIDjgOr7Iy01VfL0P0OqPvVUQHgiVdGAPFIllpeDORxRkZYYDSgiVenBRarcOGO8piqgwidRFBX/HT9+HJdccgluu+02bNu2DUVFRSgqKsLWrVtx66234tJLL8Xx48dDNXeCIAiCIAhNhKqmijMYFNEqTZGqotBEqgwJskiVwwHmdGo+plgWjZGqNMUy1VXVIORpi1TJe1W5Yjz9T5ObxKRJk3DBBRfg3XffxWWXXYbk5GQkJyfj8ssvx/Lly9G6dWtMmjRJr7kSBEEQBEHoilJU6SsCeJlIE4o1iKriEIkqVSRJj15VcsOLqIlUpSmje1RXVYOrQFtNlUkWqXKdPaupH1t9R5OoWr9+Pfr27etz+zXXXIPvvvtOyykIgiAIgiBChjxdjdcxUgUoHQA1RaqKayIrBp0a/wLwcBHUIwWQIlX1C0Wkyup/41838vQ/5nDEtGDVJKrMZjO2bNnic/vmzZthNpu1nIIgCIIgCCJkCPIaIB2NKgClA6DcbCJQREX6X2hqqgC9RFUURqpSKVLlDeZyKQSm0ep/jyppjKoBsCsndlMANYmqUaNGYfny5ZgyZQoOHDgg1VodOHAA999/P1asWIFRo0bpNVeCIAiCIAhdCVVNFaB0ABTrQ/qfDg6ASve/6BBVBrMZXHy8tEyRqiqEwkLJSAUILlJlUouqGHYA1NSn6oUXXkBubi5ee+01vP7661LDX1EUwRjDbbfdhhdeeEGXiRIEQRAEQegJczrBKiulZd1rquSRqlKdRJWe6X8JCYplPRoAKyNV0ZH+B1SlALqb0wpkqw4AcOXlK5b5ICJVhpQUcGaz9D1yxnADYE2iKi4uDsuWLcMjjzyCL774AseOHQMAtGzZEtdffz0uvfRSXSZJEARBEAShN3IBAIS4pirISBVzOMBkBhKGkEaqdEj/i8JIFVCVAlgjqgojO5koQShQiiqjLfBIFcdxMGZlwnm0SgPEsgOgJlHlpmPHjujYsaMehyIIgiAIgggLQqlSVOmd/scny9z/gjSqkEepAJ2b/6oiVUz3mqroilS5ofS/KlwykwpwnIehh7+YMrNqRFUM96rSRVQdPnwYX331FY4ePQoAOO+88zBgwACcf/75ehyeIAiCIAhCd8SyUsWy/jVV2t3/QiqqDAZwFoskphp6pMoNRaqqkDf+5dPSwPF8UMdRNACm9L/gefjhhzF37lyIoqhYbzAYMHXqVPz3v//VegqCIAiCIAjdkZtUAPpbgPMpcve/IEWVKqpi0NH9D6hKARQkUaXNqIIxphRVFKmKalz5cjv1wHtUuTE1lvWqOhO7okqT+99LL72EV155BTfffDO2bNmCwsJCFBYWYsuWLRg6dCheeeUVvPLKK3rNlSAIgiAIQjc8RZXOkaqkGlHFKirAnM6AjyGqI1U6GlUASrMKrZEqVlGhcJOLqkhVGkWq1MgjVcE0/pXGZiobAMcqmiJVCxcuxE033YQPPvhAsb579+5YuXIlKisrsWDBAjz44IOaJkkQBEEQBKE3glxUcRwMlgTfOweBPFLlPp8xPTCHNUX6n8GgezRNblahVVSpjT8oUhXdCDpFquTpf0JREcTKShhisE+tpkjVkSNH0L9/f5/b+/fvjyNHjmg5BUEQBEEQREgQS+WNfxPBGTTdFnkgr6kCPKNO/iDIG/8mJ+s/Rz1FlWq83gJQC1RT5YlLHqmyaUj/y8pUHjdGGwBr+mZmZmZi165dPrfv2rULjRo10nIKgiAIgiCIkBDKxr+A0v0PAIQgbNXFkhpRZUjVt54KCHGkKorS/+TvHaushCjrTxarCDL3Pz5dn0gVELspgJpE1bBhw7Bo0SI8//zzKJN9kcrKyvDCCy9g0aJFGDFihOZJEgRBEARB6I3c/U/vxr+AZ08pMYgGwIpIlY7Of24UoqpC50hVFKX/GVV24fL3NVZxFcjc/zREqowZGYAsguqMUbMKTTVV//73v7Fz5048/vjjeOqpp9C0aVMAwKlTp+ByudCnTx8888wzukyUIAiCIAhCT+Q1VbzOJhWAZzPhYCJV8pqq0Igq/YwqPCNViRB97Btu1FE+obDQI20tlmBOJ0RZbZkWowrOZILRZoPr3DkAsdurSpOoslgs+O6777BmzRpFn6oBAwZg4MCBuPHGG8FxnC4TJQiCIAiC0BNFTVUI0v84k0nZB6okiJqq4pobX4POzn8AwMkiVaxM70hVAkRB0HRMvVA3thWKCiMyj2hBHqUCtBlVAFUpgG5RFau9qnRp/jto0CAMGjRIj0MRBEEQBEGEhVDXVAFV0SpXtdgQSkrr2NsTUZH+V39qqjiLpcpUI1pFVYybVQj5+YplLZEqoLquas8eAIDrbGwaVegiquSUl5dj5cqVsNvtGDhwIFq2bKn3KQiCIAiCIDQjFwGhqKkCAENKMlDthhZcpCqMNVU6uv/JjxsNGOLiFFHDWLdVV4sq3mbTdDx5KmWsGlVoElVjx47F1q1bsadamTocDlxxxRXScmpqKtavX4/OnTtrnylBEARBEISOyCNV6vonveBltuqaa6pCkP4nN5MQKyo0HUshUqPI+c8Nn5paEzWM8UiVK08mqgwGheV8MBizGkt/O2O0pkqT+9+GDRtw8803S8srVqzAnj17sHz5cuzZsweNGzfGrFmzNE+SIAiCIAhCbwS5+18IjCoAwCCzVQ8mUiU3E1C7CeqBISE0RhXR5PznRp4CKMZ6pKqgRlTx6ema+58Z5ZGqnHNgYrRYlIQPTe/gmTNncN5550nLn3zyCS677DLcdtttuPjiizF+/Hhs3bpV6xwDxm6349FHH0XTpk2RkJCA7t27Y926dQEf57rrrgPHcZg8eXIIZkkQBEEQRCQJtVEFoIpUBVhTxZxOhdAJSU1VojL9jzEW9LEU6X9RGqly46JIlfS31noqADDJe1W5XIoeWLGCJlGVmJiIwuqL0uVyYePGjejfv7+0PTk5GUUReBJw55134uWXX8aoUaMwd+5c8DyPgQMH4scff/T7GB9//DG2bNkSwlkSBEEQBBFJlEYVIaypcp+vOLBIlVCiTBcMTfqfTPwIApjDEfSxlJGq6BZVMR+pktVUaXX+AzwbADtj0KxCk6jq0qULFi5ciB07dmD27NkoKSnBjTfeKG3/+++/kaV6k0PNtm3bsHLlSjz33HOYM2cOJkyYgPXr16Nly5aYPn26X8eorKzEww8/jEcffTTEsyUIgiAIIhIwUVSIgJDVVCXViCq1SKoLtZmCITnEograUgCVkaroTv8TCmNbVLlkosqoofGvdIxM5f1+LPaq0iSqZs+ejZycHFx22WWYNWsWbrnlFnTr1k3avnr1alx55ZWaJxkIq1atAs/zmDBhgrTObDZj7Nix2LJlC44fP17nMV588UWIoohp06aFcqoEQRAEQUQIsbwCkKW6hUoEKCJVAYoqdWQr5JEqQHLHC4b6FKmKdaMKRaQqXbuo4pMSFd+hWHQA1OT+d9lll2Hfvn3YvHkz0tLS0KtXL2lbYWEh7rvvPsW6cLBjxw60bdsWKapiTrfY27lzJ7Kzs32OP3bsGJ5//nm8/fbbSJAVb/pDTk4OzlU3PnNz8OBBAIDT6YTT6QzoeN5wuVwQBAEul0vzsYiGDV0rRCDQ9UIEQkO4XlyFyuanotmsy7/THsgMG4SSkoDOYVfZXosJFt3nKMTFKc9ZXAxkZvrYu3Zcsho1JCTA6XRG17UiE7iuoqLQfN71BJes5olLS9PlveCzsiAeOgQAsJ86FdQxo+V6CWbumvtUNWrUyGvj37S0NDzwwANaDx8wp0+fRpMmTTzWu9edOnWq1vEPP/wwOnfujFtvvTXgc7/xxhs+3Q6LioqQp0PRnsvlQklJCRhjMBp1bzNGNCDoWiECga4XIhAawvUinDypWC52uVAeguJ6eYWSWFqK3HPn/HZac8jvWTgOBQ47OJ3nKFTaFcuFp0/DmJ4e1LGcssiaHRzy8vKi6lqx87z0t1BQgNzcXHAcF8EZRQ6n7DqqjIvT5R6Vya6bsmPHgSCOGS3XSzCeEAHN9tixYwCAFi1aKJbrwr1/OKioqEB8fLzHerPZLG33xYYNG/DRRx8F7Vh43333YdiwYYp1Bw8exODBg5GamgqbxsZqQNXFxnEcrFZrxH+ciOiGrhUiEOh6IQKhIVwvlSdPQp5cZ23WDCYd/p1WU9a0CaT4DWNIN5vBJyfXNkSiSBSlsYakJGQ0aqT7/ASDQfE+JJtMsAT5PpQ4HHAbaSdmZCDdZouqa6WsWTNIyY1OJ6yJiQpL+ViBORwokKVqprTIRpIe96jNmqHkt98AAHxRUVD3vdFyvaQG0bcroNmed9554DgOFRUViIuLk5brQhCEgCcWLAkJCbDb7R7rKysrpe3ecLlcmDJlCu644w5cfvnlQZ07MzMTmT5C5iaTCSaTKajjquF5HkajUbfjEQ0XulaIQKDrhQiE+n692KvvC9zEp6WBD8FriVdFffiKCpj8dVsrk9mpp6aG5L1WN301OBxBn4fJbtSNyUnScaLlWolT3eQbyspgCkHvr2jHqYogxTdqpMtnEyfLFBPOnQv6mNFwvQRz7oBE1dtvvw2O46QTuZejiSZNmuCkKqQPVKUFAkDTpk29jlu6dCn++usvLFiwAEeOHFFsKykpwZEjR5CZmQlLFBZeEgRBEAQRGPIeVUAIjSpUUSmhpAT+3q4JsnQ6PkQ3/1xcHMDzQPUD8Fhx/wOq3BVNXkpGGjqCqlaPt+oToVU0ACajitq58847a12OBjp16oQNGzaguLhYYVbhTunr1KmT13HHjh2D0+n06la4dOlSLF26FKtXr8bgwYNDMW2CIAiCIMKIvEcVZzaDC9FTcbWoCsQBUCiuqeswhMD5DwA4joPBYpHmJZb7LpOoDeZwgMmK+6Pd/Q+IXQdAeeNfADBag6uhU2Nq3Fj6WywthVBaBj5E/d+iEU2W6nIYY8jJyUFOTo6mbtxaGTp0KARBwJtvvimts9vtWLx4Mbp37y45/x07dgz79u2T9rn11luxevVqj/8AYODAgVi9ejW6d+8e3hdDEARBEERIEMvkjX9D06MK8IwwBdKrSiySR6oCr/HwF3ldUbCRKvW4qIxUqT+LGO1VJRTIRJXRCINOUdBY71WluQLsjz/+wFNPPYW1a9eivPoLZbFY0L9/f8ycORMdOnTQPMlA6N69O4YNG4bHHnsMOTk5aNOmDZYsWYIjR47grbfekvYbPXo0Nm3aJAnAdu3aoV27dl6Pef7551OEiiAIgiAaEIIsUsWHUABw8fGAyQRUR3EEVe+p2ghH+h+gjCqJ5WW17OkbeY8q9TGjBS4uDobERGmu6ubKsYI8UsWnp/ntRlkXpiylr4Dr7FnEt2qly7HrA5pE1Q8//IDrr78eoihi0KBBaNu2LQDgr7/+wqeffoqvvvoKX3/9Na6++mpdJusvS5cuxYwZM7Bs2TIUFBSgY8eO+Pzzz9GzZ8+wzoMgCIIgiOhE0ag2hJEqjuPAJydLdSxiSWkdI2pQiKoQpf8BalHVcCNVQFUKoCSqYjT9T15TZdSpngoAeJsNMBqB6h5Tzhirq9Ikqh588EFkZmZi06ZNHg11jx8/jp49e+Khhx7CL7/8ommSgWI2mzFnzhzMmTPH5z4bN27061iRTGUkCIIgCCI0yI0qQimqAChElVDif6RKlEVSDKFM/9NDVHlEqqJUVKWlwVnd/ytmI1X5Ne5/vE71VADAGQwwNmoEV7U5nOtsjm7Hrg9oivft3bsX9913n4egAoDs7GxMnDgRe/fu1XIKgiAIgiAI3ZEbVYRaVMnNKsTiQIwqwpP+xyXWiCoWpFGFZ6Qq+tL/AIBPqxGnsRupKpD+1jNSBQCmrJq6qlhzANQkqlq2bOm1J5Qbh8PhVXARBEEQBEFEErmoCrVDGZ9SI6qEUv9EFRME5RxDmf6XoD1SJagjVdGa/iezVadIFcD72zPNT4wyURVr6X+aRNVTTz2FefPmYefOnR7bduzYgfnz52PmzJlaTkEQBEEQBKE7gtz9LzHUkaoaQeRvpEptaKGXQ5s39Ej/Y/JxJhMMcXFapxUSDKkUqVJEqmx6i6rY7VWlqabq559/RlZWFrp27YoePXqgTZs2AIADBw5gy5Yt6NChA7Zs2YItW7ZIYziOw9y5c7XNmiAIgiAIQgPhrKkyJNcc39+aKlElqkJqqa6DqJJHqqLR+c+NMlJVGLF5RBIhTxapStdXVMVy+p8mUfXaa69Jf//000/46aefFNt///13/P7774p1JKoIgiAIgog0ipqqEKeq8TpEquQphHqjd6QqWuupAGUD4FjsUyVWVio+Y90jVbJeVa68PDCXC5xRcweneoGmVymKol7zIAiCIAiCCBtKo4roq6kSiiKU/lcRnFFFvYlUpaZJfwtFRWCMgeO4yE0ozMjt1AGA19moQp7+B1GEKzcXpsaNdT1HtKJPty+CIAiCIIh6AmNMIQL4UKf/JQXu/icWK6MooW3+m1BzXl0iVdFpUgEo3f/gdCprwWIAl6yeCgCMOlqqA/AQUCXfrQerbnzd0NFFVP3888947rnn8OCDD+LAgQMAgPLycmzfvh2lpf43uSMIgiCIWIU5nSjbug3F33yDsq3bYuZGJBIwhwOQvb8h71Mlj1SVlPjVA1OQiS9DUhI4ng/J3IAYq6mSRaqA2DOrEGTOf0B1w16dYE4nCj/5RLHu7L//jQN9+uLcG280+N80Tel/DocDt956K9asWSOFT2+88UZccMEFMBgM6NevHx588EE88cQTes2XIAiCIBoUzOlE7sKFKFi+QllAnpGB9JG3IWP8eHAmUwRn2PAQVQ98w+n+B5cLrLISXEKC7wEIX48qQCmCWHk5mCiCMwT23L3+RKrSFMtCURFMzZpFZjIRwCVP/zOZdHugwJxOHJ88GWWbvvfYJuTlIXfefFTu2o3mr81vsL9nmiJVM2bMwOeff47/+7//w19//aV48mI2mzFs2DCsWbNG8yQJgiAIoiHivhHJnTffo9bBfSNyYvL9Df4Jb7jxEFWhjlQlK48v+JECKE//k9uAhwJOFVliQdRV1ZtIVZryvYy5SFVeze+M0WrVrZ4sd+FCr4IKAFCtD0o3bULeokW6nC8a0SSq3nvvPUycOBETJkyA1UvzsIsuugiHDh3ScgqCIAiCaLAobkTUKWExciMSCQSVqAp181+1yYToh6263KginJEqIDizClZWTyJVqvcy1hoACwU1okqvxr/M6UTB8hVAXQKN45C/fIXPh0TM6UT5L7/A8f33KP/ll3r3MElT+l9OTg4uueQSn9t5nkd5jBUAEgRBEIQ/KG5Eaquxqb4RsY0b12DTZsKNvEcVEI5IldIOXSipO1IV1vS/BJWoCuLeTSivH5EqzmiEITkZYvVnEGuRKpcqUqUH5dt3KFKXfcIYhNxcFK5ejbRhw6QombcU6DIAZ+tZCrSmSFV2djb27dvnc/tPP/0kNQQmCIIgCKIG6UakLtOC6huR8u07wjOxGEAsC2/6n0ElqkS/RJU8/S/EoipRu6iqL5EqQN0AOLYiVS6ZUYVekapAmyifeepp/H3NtTj73HMo3bwZxydNahAp0JpE1ciRI7FgwQJs2bJFWudWnQsXLsQHH3yA0aNHa5shQRAEQTRAAr0RCXR/wjeKmiqjEVx8fEjPZ0hMVKRG+VVTpUj/C21NlUf6XwOOVAGqBsAFhZGbSAQQZJbqekWq1I6K/uA8dQr5S5bi+N1jUfb9D1Ur63kKtKb0vyeeeAI///wzevbsiYsuuggcx+HBBx9Efn4+Tpw4gYEDB+LBBx/Ua64EQRAE0WAI9EYkmBsXwjuivEdVYmLIm79yBkNVyll1Sp/oRwPgSLn/AYBY1sAjVXJRFWORKoXDqE6iytKlM3ibrSrS5Ee7gICpJynQmiJVcXFx+Prrr7F48WK0atUK7dq1g91uR8eOHfHOO+/gs88+Ax/CvgoEQRAEUV9x34j4U9zNZ2TA0qVzeCYWA8iNKkKd+udGXlflT6RKIapCnf6nsncXKwITVUwUFdGtqI9UxXL6X4EsUmXTR1RxJhPSR430S1BlTLoPzV9/DalDhvgvvutJCrSmSBVQle53++234/bbb9djPgRBEAQRE7hvRHLnza99R8ZgHTUyqp/Q1jfkRhXhElXyuqq63P+YKCrqrtTugXrDmUzgTCapbiXQ9D+1BXu9ilTFkFGFWF6u+Kz0ilQBQMb48ajctRulmzZ5mu9ULyf16oWMe+8FZzIh+ZprUNyzJ04GkNEW7SnQmiJVBEEQBEEET8b48Ujq1avO/cwdOoRhNrGDGOlIVR1GFWJJieKmNNQ1VYAyuhSoqJL3qFIfKxqJ1UiVS1ZPBehXUwVUCfPmr81HowemVEXgZfA2Gxo9MMWj8W+goi7aU6A1R6oIgiAIgggO943I2RdeRMG77/rc79S0R3Deqg8Rl50dxtk1XJSiKjxRFXm0Sawj/U+e+geEPv0PALhEC1AtMFigkSrV/lEfqUqLzUiVkK+0PdczUgVU/Z5lTJwI27hxVe6mRYXgU9Ng6dLZa6Td71osjgNvs0V9CjRFqgiCIAgignAmE1KuH6BY1/TVV5D56KPSslBUhBOTJisMFojgEWSW6nyYBAAvi4jVFamSN/4FQm9UAegbqQrXexos6kgVC4W5QhTiUlmW81abjz21wZlMSOzeDSn9+iGxezefqct+12LVkxRoElUEQRAEEWHUKUjJvXvDeucYpA4ZIq2z79+PU48/ETM3gKFEUVOVGKaaKnmkqq70v2Ll9RDqmioAMFhqhJBYXlHLnp6oI1VctKf/yWqqIAhKi/0GjCBr/MvFxXn0J4sEihRotWlP9XJSr16wjRsX5pkFDokqgiAIgogwQmHNTTQXHw+D2QyO49B45tMwd+wobStZuxZ5C96MxBQbFNFeU+WR/qdqHhwKYjVSBcROXZVQUCOqeJst5K0E/CGYWqxohWqqCIIgCCLCyG/q5E/RDfHxaD5/Hg4PHQrhXC4A4NzcuYhvdyGSe/cO9zQbDBGpqZK7/xXX7v4nF1UGiyUsN5RyW/WA3f/UkSqVRXu0oYhUoboBcPPmkZlMGHHJIlXG9PQIzkSJvBar+JdfUHTiBFKbN0fK5ZfXCzHlJuhI1bfffosJEybg8ssvR7NmzWC1WtGsWTNcfvnlGD9+PNatW6fnPAmCIAiiwSK3Clbf8JmystB87jzAfXPBGE5NewT2Q4fCOMOGhaKmKlyRqhRZpKqOdDO56DKkht75D9AvUmWwWMAZojsRKmYjVfnKSFW0wZlMsFx+OeJ69oSlngkqIAhRVVZWhhtuuAH9+/fHypUrkZCQgKuuugo33ngjrrrqKiQkJOD999/HgAEDMHDgQJRRUS1BEARB1IqvSJUbS5fOaPzUDGlZLC3FiUmT60wjI7wT6T5VrKICzOHwua/cqCIcJhWANlElj1RxUVCnUxeG5GRF/U6sOADKjSqM1uiJVDUUAk7/e/zxx7F+/Xq8+eabGD16NExeVKTT6cTSpUtx//334/HHH8fcuXN1mSxBEARBNEREmagypHmPTKQPGwb7n3+iYMV7AADH4cM4Ne0RNJv7Kip27a7TvlgvmNOJ8l9+gePECZTXwxQd5nIpGqCGy6hCXRcllJb67BMkT/+rD6JKHqniLdFdTwUAHM/DkJIife+ivamsXigiVSFy/otlAhZVH3zwAR555BGMHTvW5z4mkwljx47F4cOHsWjRIhJVBEEQBFELcqMKb5EqN1mPPQb7/gMo//VXAEDppk3Y/48eCpHAZ2QgfeRtyBg/Xlexw5xO5C5ciILlKyDkVfW7KQNwNkTnCxVqW/rwRaqU4kgsLgZ8iiqZyA5DjyoACic4VtGwI1VAVa+qGlEVG+l/ikiVTd8eVUQQ6X/FxcVo7mcxX3Z2NkooNYEgCIIgakWZ/pfmcz/OZEKzua+Cb9xYWicXVAAg5OUhd958nJh8P5jTqcv8mNOJ45MnI3fefMXT7lCdL5So7bP5MBlVyGuqAEAo8V1XJSrS/8JTUyU3lxDLGnakClB+z2Ih/Y8xpoxUpZOo0puARVXnzp3x5ptv1lkrVVZWhjfffBNdunQJenIEQRAEEQvUVVMlx2izIbl3L987VPexKt20CXmLFukyv9yFC1G26XvF8UN5vlAilEYqUqUUVWKJbwfA+pb+V18jVW7EGIhUiWXlYHa7tMxTpEp3Ak7/e/HFF3HttdfiwgsvxB133IGuXbuiSZMmiI+Ph91ux+nTp/Hrr7/i3XffRX5+Pr799ttQzJsgCIIgGgyBiCrmdKJknR//tnIc8pevgG3cOE1peczpRMHyFVWF/bU1HtbpfKFGLFNGiMLWp0p1HqHYdyaPQlSFK/1P0fxXQ6QqyntUuZFHqlwxEKmS96gC4LOejwiegEVVjx49sHnzZjz++ON46aWX4HK5FM3DGGMwGo249tprMXv2bHTu3FnXCRMEQRBEQ4K5XBBlqfK8D6MKN+Xbd0g1TbUfmEHIzUX59h1I7N4t6PmF+3yhJlI1VZzJBM5ikaI6YqlvUaUwLolApIo5HGAuFzijf7eJikiVpb5EqtKkv8XC+hGpYk5n1fcxCFMa9XeYjCr0J6jmv506dcKXX36JkpIS/P777zh9+jQqKiqQkJCAJk2aoEOHDkgJ048AQRAEQdRn1LbodUWqAnUq0+psFu7zhRp1TZUhjCKAT0qCq1qA+IpUMVFUXBPhqqlSvw9iRYWHY6Ev6mekquZ9jfaaKm8mMUBgpjSu/ALFMlmq609QospNcnIyevTooddcCIIgCCLmUN/Q1SWqajOy0GP/SJ8v1Mgb7xoSE8PaqNaQkgzk5FTNw0dNlVhWBoiitBy+9L8ExbJYXu63qKrvkapodv9zm8SUbfpe0VsLqDGJqdy1G81fm1+rsBLya8QYl5AQ1ocJsUJ0t7wmCIIgiAaOuki+LlFl6dIZvM3mcYPlAceBz8iApYu2NPxwny/URKLxrxteZqsu+nD/kzf+BSJjVAEE5gBY7yNVxcVgMiEbTehlEuPKk9mpp1OUKhQEJapycnLw1FNPYdiwYZg4cSI2bdrkdb81a9agVatWmiZIEARBEA0Z9VNyQx2RHs5kQvqokbWbRgAAY7COGqnZNCLc5ws1oipSFU4MyTUizpf7n1isuh4ilf4XgFmFXIDVn0iV7H0VRUVdY7SgMImpjWqTmNpaGijs1G1UTxUKAhZVZ86cQadOnfDss89iw4YNWLx4Mfr27YuRI0d62KyXlpbi6NGjuk3WX+x2Ox599FE0bdoUCQkJ6N69O9atW1fnuI8//hgjRoxAq1atYLFYcOGFF+Lhhx9GYZTn2hIEQRD1F4Wo4nlFE1ZfZIwfj6RePmzVq2/Aknr1gm3cOD2mWPv5qtHzfKFEIaoiGKnyVVMld/4Dwpn+pxZVtbfOUe5bI6rqTaRKlv4HRGcKoGQS48cDDbdJjC/kjX95qqcKCQGLqhkzZqCsrAybNm1Cbm4u8vLyMGvWLKxatQq9evXC2bNnQzHPgLjzzjvx8ssvY9SoUZg7dy54nsfAgQPx448/1jpuwoQJ+PPPP3H77bdj3rx5GDBgAF577TX84x//QIWquSJBEARB6IFQqLRT5+p6Ko2q6FHz1+aj0QNTPIQBb7Oh0QNT6qyxCAT3+ZL69PG6PbHn1bqeL5QIMkv1cDX+dWOQNQD2FRnxSP/zs65JK2pRpW4q7QvR4QBkEZJ6E6lSpdlGo1mFniYx8kiVkZz/QkLARhXr16/H/fffj6uvvhoAkJiYiCeffBI9e/bEzTffjKuuugpr166NWNrftm3bsHLlSsyZMwfTpk0DAIwePRodOnTA9OnTsXnzZp9jV61ahd69eyvWde3aFWPGjMHy5csxrh48gSMIgiDqF4H0qJLDmUzImDgRcW3b4uSkydL6Vp99GpKaCc5kgvmSDijdsMFjm1hSWi8EFaCqqUoMc6QqqUYgqV0f3cjTArmEBHBxcSGfl/tcinn4mf6ntqinSFXd+GONXrl/PwqWLw/ouLWZxFCkKvQElf7nTTD17NkTP/74I+x2O6666irs3LlTj/kFzKpVq8DzPCZMmCCtM5vNGDt2LLZs2YLjx4/7HKsWVAAwZMgQAMCff/6p+1wJgiAIIlhR5caUmalYFou91+rogZCX73V9xY4dcEZBpoo/RDL9Tx6p8uX+J49UhcukAgA4g0EhrPwXVcr96ournCEpCZA5P4YjUsWcTpx74w0c6N0Hx8aMwckpD+DYmDE40Kcvzr3xBpjTico//8SJ+6fg8E2DUL51m/8HNxjABJfPzRSpCj0BR6qaN2+OAwcOeN3Wrl07/PTTT+jXrx969+6NYcOGaZ5goOzYsQNt27b16JPVrVtVI8KdO3ciOzvb7+OdOXMGAJCRkVHnvjk5OTh37pxi3cGDBwEATqcTzloKCP3F5XJBEAS4XL6/OAQB0LVCBAZdL5HDWVDTP4ZLSQn43wqmSg+rzDkHrmlTXeamxinvkXNROwj7/pLqPQq/+gppo0aF5Lx6oogQWRJ0+bfZbyw1URyxpNTruZ2FNdeDITk5rPMzJCRAqE77c5aU+HVuh8pYQ4iPV4yL5t8WQ2oqxOrvnyMvP6TvNXM6cfqBqSj/4Qef1ugF7y5XiJ+AEEUcHzsOaWNGwzp5Mgzx8TXnZgwuefPf1MB/Z8JFtFwvwbw/AYuqq666Ch9++CGee+45r9uzs7Px008/4frrr8dbb73lV264npw+fRpNmjTxWO9ed+rUqYCO98ILL4DneQwdOrTOfd944w3MmjXL67aioiLk+dORvg5cLhdKSkrAGIPRz07nRGxC1woRCHS9RI7K3Fzpb5c5PuB/K5iqiL3w6BGUZzfXZW5qKnNqolFCs2bgTXEQdu+uOu8XX0IYMCAk59UThywyaDfwuvzb7Pe5ZX+LpaXIPXfOo09WeXUfKwAQLZawzo+ZzdLfpbm5ikazvnCdPq1YLrLbwcvGRfVvS1ISUC2qSk+f9uv1BkvF0qWo/OGHqgUf1ugegiouDnE3DIR49Bhc27fXfRLGUPjOEhRv+h6JTzwOY5s2AACxsBCQiZQyg0HxgCSaiJbrpSiIdNCAZztq1Cjs3r0bP/74I6666iqv+1itVmzYsAEjR47Erl27Ap6UFioqKhAvU+duzNU/FIEYTqxYsQJvvfUWpk+fjgsuuKDO/e+77z6P6NzBgwcxePBgpKamwqaDhaXL5QLHcbBardH340REFXStEIFA10vkKK8oh/t2JyEzM6h/K4oSzGAVlQAAi8uF1BBZJpfJeivFNWqEpK5dkV8tqlx79iBVEGBUpSNGGyWVlXB3JEpslIH0MNpLlzVtAqkCiTGkx8d7pPg5HQ7Yq/+Ot1p1uXfwe35JSZLwS+A4v85dbjRBXh1ma95ckcYazb8tFVYrKqvLQuKdzpC918zpxJE1n1ZFqOpy8gOA+HikjRiBtDvHwNioUZW1+tuLUbRyJQTZQxg+IwOpI0aASzAjf958MEfVpycePoySeyfCOnEimOBCyYr3FIeveOFFxN9+O9LH3h11tZDRcr2kBpGKHfBs+/bti19++aXO/SwWCz755JOAJ6SVhIQE2O12j/WVlZXSdn/44YcfMHbsWPTv3x+zZ8/2a0xmZiYyffxjYjKZYNLpwuV5HkajUbfjEQ0XulaIQKDrJTIwWQ2NKT09qPffmG6Fs6I6E6OoOGSfoSBLVeStVqT064f8F+dU3SgyhooNG2G9PbpTAOXGCqaU1LBe7/EqAxG+shIm1Y08kwlXY1paWOfHy+uhKu1+nZuzVyqW41NSPG7Uo/W3xSgzq2DFofvelLmt0f2k2X/nIOW662pWmEzImjwJmfdM8Glwkdq7N05Onw77H9UeAC4X8ufP93p8sagI+a+/DseePVHp2hkN10sw5w6q+W8006RJE5xWhaIBSOua+pFnvmvXLtx0003o0KEDVq1aFXVPVgiCIIiGg9KoIi2oY/BWa83x8kOT1sNEUSGquNQ0GDMzkdCli7SuZO3akJxbLxhjkTWqUNW/eXMAlPepClePKjdykwl/+1TJDS04kylsboV6IG8AHEr3v0Ct0X1FsziTCYnduyGlXz8kdu+mEEPxbdrg/JUrYbv3HoUBR22UbtqEvEWLApsb4ZOARNV7773nkbvtD4wxvPfee3XvqAOdOnXC/v37UaxyP9q6dau0vTb+/vtvDBgwAJmZmfjyyy+RFOYfXIIgCCJ2YKKouokOPOUEUFoku/ILatkzeMTiYkAQpGVD9Q1pSv/+0rryX3+FS2XYFE2w8nLFDash3H2q1KLKi1OjKLu5N4TR/Q+AovF0MJbq9cX5z43cVj2UoirQhyXBPlzh4uKQOXUqWrzzjn/CiuOQv3wFWJSaVtQ3AhJVU6dORdu2bfHiiy/i8OHDde5/8OBB/Oc//0GbNm3w4IMPBj3JQBg6dCgEQcCbb74prbPb7Vi8eDG6d+8uOf8dO3YM+/btU4w9c+YM+vXrB4PBgLVr16JRo0ZhmTNBEAQRm4ilpYAoSsvyJ+eBILdIDto9rA7UYo2rviFN7idLU2IMJd9+G5Lz64FQquqpFOYHp+r6KXnUzI1CZKcEdz0EizJS5aeoku1nqCc9qtwYZA8xQmmpbunS2b+oKMeBz8iApUtnbSdkTPG7Utt+Qm4uyrfv0HY+AkCANVWHDh3Cq6++ipdeegmPPfYYzjvvPHTp0gXnn38+0tPTwRhDQUEBDh8+jF9//RXHjx+HzWbDlClTwiaqunfvjmHDhuGxxx5DTk4O2rRpgyVLluDIkSN46623pP1Gjx6NTZs2KSJvAwYMwKFDhzB9+nT8+OOP+PHHH6VtWVlZuE6e30oQBEEQGlE/HQ8+UlWT/ucqCI2oUqcVGtKqomOmxo2R0LkzKnZU3ZgVf70W6bfdFpI5aEXdqDbc6X9cfDxgMgHVkQF1pIoxFtH0P04mqli5f8ZeikhVIkWqvFH8zTce155XGIN11EjNNU6BphsGnJ5IeCUgUZWYmIgnnngCjz76KD777DOsWbMGmzdvxscffyyJE47j0Lp1a/Tq1QuDBg3CjTfeGPZCs6VLl2LGjBlYtmwZCgoK0LFjR3z++efo2bNnrePcToUvvviix7ZevXqRqCIIgiB0RSjUR1QZZel/vhr0asWlioBxsqhacv9+kqgq/+UXuPLyYAyja52/iGXKyFDYRRXHgU9OlqKJYrGypkosK1emWIY7/S9BY6TKUr8iVfLvm1hcDCYI4Hhe13MUf/UVTk1/tHbXv2pXwKRevWAbN07zOcOVbkgoCcqBwWg0YsiQIRgyZAgAQBAE5Ff/QFitVvA6X5CBYjabMWfOHMyZM8fnPhs3bvRYF0y9GEEQBEEEi26RqnS5UUU+GGO694kUZOl/XGKiwpAgpX9/5Dz/QtWCKKJk3bdIv3WErufXA3W6XSTS1eSiSihRRqpEVSPdepH+10AiVaiOEhpVDo1aKP56LU5Oe0QhlJOu6YuKXbuV1ug2G6yjRsI2bpwuTnyWLp3B22xV11kdYo632bSnGxIAghRVaniep/ojgiAIgggQRdoNx3kYGfgLb6sRVczphFhWpnu9kEuW/serbjxNTZog4dJLUVGd8VHyzdqoFFWCSlTxERBV8uiTWKKcjzodMLLufw2/pkodoREKC3UTVcXffIOT06YpBFXjWbOQPmI4mNPp0xpdDziTCemjRiJ3nndLdQmd0g2JKsgrnCAIgiAihKByegs29cgoq6kCqqJVeosqeaSKV50PAJL795dEVdnWbXAVFOj61F8PRJlRBRcXFxH7bz655nNRR6qEIpWoCnf6n9ZIVT12/wOUzotaKPn2W5x86GHA5ZLWNX76KaSPGA6gxho9lGSMH4/KXbtRummTZ9NhndMNiSoaXJ8qgiAIgqgviIoeVcGneqlFjiuARqP+IncVlFu4u0np30+2s4CSdet0n4NWItmjSjpvsixSpaqpElTpf5G2VPenLKJeR6pUbpuuAB0AmdOJsq3bUPzNNyjbug3M6UTJ+vU48eBDCkGVNePJsJu3cCYTmr82H40emAJeVd/I22xo9MCUqGz8W5+hSBVBEARBRAi5UYUWUeURqSrQv1eV3FVQXsPlxtSsGcyXXILK338HAJSs/Qbpw4frPg8tyI0qIiWq+JSaFE+hVGVUIRNZXHw8DPHxYZsXoIo0CQKY01lnNE8skxtV1K9IlSExETAaJQHkb6SKOZ3IXbgQBctXQJA9wDCkpHi0Sch64glYR43Sd+J+wplMyJg4EbZx40KabkhUQaKKIAiCICKEoFOkymCxgDObwSorq44bgl5VcldBdU2Vm5QB/SVRVfbzz1GXAqiMVEUmqmJIqhFVnpEqeY+q8EapAMCQkKBYFsvKYKhLVJXLjSrqV6SK4zjwqamSMPLHVp05nTg+eTLKNn1flUYnQ1TVxGU9/hisd9yu34SDJBzphgSl/xEEQRBExNBLVAHKlDx1o149UESqvNRUAVV1VRKCgNL163WfhxbkRhV8YhREqkp8p/8ZwmxSAXhGmpgfdVX1OVIFKL93/jQAzl24sEpQAbU66yVefTWso0drnR5RjyBRRRAEQRARQk9RZZTbqutcU8UYg1BQKC17q6kCgLjmzWFu315aLv56ra7z0IrcqCIqaqpUokoskkeqwmunDiib/wL+mVXU55oqQNUAuLD2SBVzOlGwfIVHhMoblX/+CVbd5JmIDTSn/61duxZvvfUWDh06hIKCAo+iRo7j8Pfff2s9DUEQBEE0OBSiKk1jpEpmqy6PKumBWFysKLzn09Ph63YxuX9/VO7dCwAo27IFQlGRZsGoF9FgVKF0/ytR9BSLePqfqnlvXaKKiaIimtXQI1Xl23f4/cBCyM1F+fYdlHYXQ2gSVXPmzMG//vUvZGVloVu3brjkkkv0mhdBEDFAqHt1EES0E7JIlc7pf648pUjzZlThJqV/P5x7+eXqgS6UfLceaTcP0XU+wRIVNVWySBVcLrCKCilCJE//C3ePKsCzea9YUVHr/mK5cnu9j1TVUVOl6CvnB4HuT9RvNImquXPnom/fvvjyyy9hohshgiD8xJdzEp+RgfSRtyFj/HgSV0SDhzGm7FOluaZKFqnK1zf9T1BFvuRRMTVxLVsi/qKLYP/zTwBAydq1USOqBFlPJb37ePmLvKYKAISSUinCI0//M0Qg/c/DqKKOSJW8RxXQ8CNV6mbBdR87sP2J+o2mmqqCggIMHTqUBBVBEH7jdk7KnTffw6FMyMtD7rz5ODH5fspFJxo8rLwckF3nehpV6B6pyldHqmp39EuRGVaUbt6sSGuLJIpIVYSMKgzJSlElyhoARzr9j4uPBww1t4ZyEwpvyJ3/gIYfqbJ06ezR88krHAc+IwOWLp01zo6oT2gSVd26dcNff/2l11wIgogBanVOql4u3bQJeYsWhXlmBBFe1DdwWp9qG601N3tCfr5fjVv9RS7SDBZLnf2TkuWNgJ1OlG7YoNtctBAdNVWqSJXMVl0hqiKQ/sdxnCLaVHekSrm9fooq/yNVnMkEc4cOdR+UMVhHjaSMixhDk6h644038PHHH2PFihV6zYcgiAaM385JHIf85SsoWkU0aDxElVajClmkijkcdUYZAkGQpRP6slOXE3/++Yi/8EJpOVpcAOXpahGrqVJFoMTqBsCMMYWoUu8XLgISVepIVT1P/xNLS2v9d6ds6zaU/fCD74NV/9uW1KsXbOPG6TZHon6gqaZqxIgRcLlcuOOOOzBx4kQ0b94cPM8r9uE4Drt27dI0SYIgGgZ+OycxRs5JRIPHM1Kl0ahCJXaE/DzwOgkHed+r2uqp5KQM6I9z1dksZT/+CKG0NGJ1TAAgOhxgDoe0HKm5GCyWqpvv6kiiO1LFKiqU6aARqKmS5leNWBFgTVW9jFSlKZaFkhKP7xIAOE+exMmpUwFRrFrBcTCkJCtt8G02WEeNhG3cOIpSxSCaRJXVaoXNZsMFF1yg13wIgmjAkHMSQdSg7omjtYZGXesh5OcDLVpoOqbiWNUYa3H+k5Pcvz/OzZ0HoCpKXbphA1JvvFGX+QSDhwCIkKjiDAYYkpOrbOpRU1OlrjuLRPofAHCWGrOKupr/KiJZHAdOZXRRH1A/zBAKCz1ElVhRgeP33w+hoObhQub06bDePoocbAkJTaJq48aNOk2DIIhYgJyTCKIGhfNfYqLmmzGjyjzCpaNZhdz9z5/0PwCIb9UK8RdcAPuBAwCqUgAjKqpk9VRA5IwqgKq6KreoEkqq5iUUqURVfUj/k6dTWixSv636hEekSvWwgzGG0088Cfsff0rrUm66EdY7x4DjOMqmICSCrqkqLy+HzWbDf//7Xz3nQxBEA0ZyTvKjpoqck4iGjp49qgCAs1iq3Nvcx9exAbC8T5XRz/Q/oCpa5abshx8glJbVsndo8RRVkUtVkzsAuiNVYrHyZj4SluqASlTV6f5Xvxv/At4jVXLy33oLxV9+KS2bO3RAk2eeqZcCkggtQYsqi8UCo9EISz39EhEEEX44kwnpo0Z6uv6pIeckIgaQp7caNJpUAFU1zIpeVXn6iSp5+l9tjX/VpAyoEVXM4UBpBDNcPERVhIwqAKUDoLumKlrS/wyWmvcloEhVPaynAqofRsj+rZE/7Cj94QfkvPSytMzbbGg+fx4MZnNY50jUDzS5/91yyy1YtWqVrratBEE0bGxjx4Kr42EMOScRsYDekSpAaVah7gMXLIwxuGRP7+Uug3UR36YN4lq3lpYL3nsPxd98g7Kt28Lu7imoRFUkTTPkzn41NVU11upcXFzEbtyVRhUVte7bECJVHMcpHmq4I1WOI0dw8qGHax4CGo1oPm8uTE2aRGCWRH1AU03Vrbfeivvuuw99+vTB+PHjcd555yHBS5Fily5dtJyGIIgGRNmPP/osfubMZmTcM4Gck4iYQFSIqjRdjimPVOmV/ieWlChc6bw5o9VG8rXXIu/vvwEAFb/9hpO//QYA4DMykD7yNmSMHx+W77soTz00GCJqqiAXdO6aKnn6X6Ts1AHAIHtfYiFSBQDGtDQI53IBVEWQhdIyHJ80uerar6bxk0/A0rVrpKZI1AM0iarevXtLf//gxbefMQaO4yAIgpbTEATRQGCMIffNN6VlPisLpmbNULl9OwDA8o9/IGPixEhNjyDCirwgXr9IVU0USa/0P5eqDQJvtfnY0xPmdKL811+9bhPy8pA7bz4qd+1G89fm+xRWzOnUxWFNLFM2/o1kTYwiUuU2rJBbc0dSVAXUp6r+R6oAgEuueb8r/9qPk488Akf1gwAASBs+HOm33hqJqRH1CE2iavHixXrNgyCIGKB86zZU7totLWeMvRuO4yckUSVvMEoQDZ1QpP/J6530Sv+T20gDSuFWF7kLF6KiOjLlQXVaVemmTchbtMjjgQpzOpG7cCEKlq9Q9LcLNsIlr6mKZD0VoKqpKvGsqYqoqEoMxP1PJqrqYaTKfY3Z9+yR1pVt2KDYJ6FLFzR+8olwT42oh2gSVWPGjNFrHgRBxAB58ihVWhrShg5F/rJ3pXXu9AuCiAVCIqpkznyuAn0s1dXijLda4U/+CXM6UbB8haLRrS/yl69QpP0ypxPHJ09G2abvPdxC/Y1webwOmajiI2inDqjd/9yiSpb+FyGTCiDQSJU8/a9+RaoU15gPuLg4NHvpv+Di4sI4M6K+oklUEQRB+EvFnr0o27xZWk4ffQcMFguMGTWpRK7cXCltmCAaOgpRpYP7H+BpVKHH98klE1WcxQKD2QzBD5OJ8u07FBGm2hByc3Hw2usQf8EFMDVvBufxEyj76aeqjWpBVkeEyxfymqpINf51w6d4RqpERfpfZOzUAaWoqrP5rzxSZalfkarchQtrFVRAlWNl0SefUFo64ReaRNXdd99d5z4cx+Gtt97SchqCIBoA8iiVwWKBddQoAIAxI0NazxwOiCUlEU19IYhwIFZWglVWSsuhSP9jdjvEsnLwGlPd5JGqQEwq5Jbx/uA6exaus2f9H8BxHhGu2lCm/0VPpIpVVoI5HFGT/ic38BArKsBEEZzBu1l0fY1U+R1FDfAaI2IbTaJq/fr1Hk/ABEHA6dOnIQgCGjVqhMR6mGNLEIS+2A8dQsm6ddJy2q23SjeRvExUAVXRKhJVRENHbkoA6GhUoWrMKxTkaxZV8kgVH4Co0svR0CeMQcjNRfn2HUjs3q3O3ZVGFdFTUwVUpSYqRFWUpP+BMbDKSp9tMOprTZXfUdQArzEittEkqo4cOeJ1vdPpxIIFC/Dqq69inexGiiCI2CRv0VvS00DOZIJVVo9pzGik2Nd1LhfxrVqFdX4EEW7UURyDXpEqlegR8vOB7GxNxxTya2qzjOn+m1RYunQGb7NVzaGOmipDUhLSRt4G1+kzqPz9dzh83F94nZ+fETFFTVXEI1VK0SQWFytrqiLq/qcUR2J5uU9nv/rq/hdoFDXQ/YnYRFPzX1+YTCZMnjwZ/fr1w+TJk0NxCoIg6gnO06dR9Omn0nLqkCEwZWVKy0ZruqIQ3ZV7LqzzI4hIIO9RBejYpypdKapcOjgACkFGqjiTCemjRtYpqADANvZuZD30EJrNeRGNZ80KaH7+vneKmqoIG1XIa6qAqrqqaKypAnybVTDG6m2fqkC/byGPuhINgpCIKjeXXnopvv++9iJAgiAaNnmLFwMuV9WCwQDbuLGK7ZzJBF729NvfwnaCqM8IHqJKn8iEIdGicCrTw1ZdLszU6YV1kTF+PJJ69apaUBtmVC8n9eoF27hx0mp3hMtjfzUcBz4jA5Yunf2ai0IARDxSpRRVrnO5YA6HtBzR9L9EP0WV01nz2476FakK1TVGxDYhFVXr1q2DpR59yQiC0BdXQQEKP1wlLacMGIC4Fi089pObVbjIVp2IAeSiijObYTCbdTkux3FVN4vV6B6pSg9MVHEmE5q/Nh+NHpiimBcA8DYbGj0wxcMW3e8IF2Owjhrpt4FAVPWpUok654kTyu1R0vwXAMTyCq/7yUUqUL8iVaG6xojYRlNN1TPPPON1fWFhIb7//nts374d//rXv7ScgiCIekzBsmVgFTX/INsmjPe6nzEjA/b9+wFUGVUQRENHKNS/R5UbY3o6XKdPV50nX1uvKsaYot9VIOl/bjiTCRkTJ8I2blyVQUBRIfjUNFi6dPZ5s5oxfjwqd+1G6aZNPo+rjnDVhRhFNVWcyQTOYpEsy50nTyq2GyKZ/idz/wN8R6rkJhVA/YpUAaprTO0CWL0c6DVGxDaaRNXMmTO9rk9PT0fr1q3xv//9D+PHe7+JIgiiYSOUliH/3eXScmKvnjC3a+d1X2MjWaSKRBURA4Si8a90PFWvKi2IJSWArCeV0eq/UYUazmTy20HNHeHKW7QI+cuXQ8itSQs2JCXBNvbugGyumSAoTRWiIKrCJyXBVT0nx0lVpCqS6X8eoqrM6371OVIFqK+xFRBk//bwNhuso0aSlToREJpElSiKes2DIIgGRuH770OUWQRnTJjgc1+5rTqJKiIWCK2oqhE+WtP/1KKMt9p87Kk/8gjXwf4D4Dp1CkCV2U2gzVjV0ZZI11QBgCElGcjJAQA4TygjVRHtUxUXB85kqqqZQi2RKpXYqm+RKiC4KCpB+EJTTdX333+Pc+d8O3Xl5uaSUQVBxCCiw4H8d96RlhO6doWla1ef+8tt1cn9j4gFFKIqTef0P5nw0RqpcqnSB7VEqoKFM5lg6XSptOz4+2DAx5Cn/gGRd/8DAF5mq65I/zOZFA14I4FcIPmd/lfPIlVy3FHUlH79kNi9GwkqIig0iao+ffrU2ofqu+++Q58+fbScgiCIekjR6k/gkj1wyfBRS+XGmCG7CczLBxOEkM2NIKIBed8bvXpUuZGn/7kKNEaqCtSRqsBrqvQgvm1b6e/K/QcCHu8hqiJsVAFUR6qqEUtKpL/5lBRwdbnShRhO5gAor4uV0xAiVQShJ5pEFavDNcVut4PneS2nCAq73Y5HH30UTZs2RUJCArp37+53E+KTJ09i+PDhSEtLQ0pKCgYNGoRDhw6FeMYE0XBgLhfy3npLWo5v1w6JPXvWOkbu/gdRhFCgrbieIKKdUKb/yaNJQl5+nf9W14ZL1uKAS0jwqLcJF3JRJeTmBpzWKKhEVaSNKqrmkOx9fbL39eHEkCCLVJXVHalypwwSRCwTcE3VsWPHcETW6Xzfvn1eU/wKCwuxYMECtGzZUtMEg+HOO+/EqlWrMHXqVFxwwQV45513MHDgQGzYsAFXXXWVz3GlpaXo06cPioqK8Pjjj8NkMuGVV15Br169sHPnTths4cslJ4j6SvHatXAeOyYt28aPq/Opq0JUoaquSr2OIBoSosL9L03XY8ujScxuBysvBxdkapbcPdAYoSgVoBRVAGDfvx/GK67we7y88S8QRTVV3tZH0KRCmoNf6X+yvl8UpSKIwEXV4sWLMWvWLHAcB47jMHv2bMyePdtjP8YYeJ7HggULdJmov2zbtg0rV67EnDlzMG3aNADA6NGj0aFDB0yfPh2bN2/2OfaNN97AgQMHsG3bNlx++eUAgOuvvx4dOnTASy+9hP/85z9heQ0EUd9gTmdVkW9hIc69Oldab2rRAin9+9c5nleLqnO5gHejQIJoEIQ2UqUUP66CAsQFK6pk6X+RSv0DAFPTpjBYLNINvn3/fiQGIqrK1DVVkU//k9dUKdZH0E7djV+iKsrcFAki0gQsqoYPH44OHTqAMYbhw4djypQpuPrqqxX7cByHxMREdOrUCVlZWbpN1h9WrVoFnucxQeY0ZjabMXbsWDz++OM4fvw4srOzfY69/PLLJUEFAO3atcM111yDDz74gEQVQahgTidyFy5EwfIVEGRpQm6sd94Jzlj3zwyfmgqYTJJ1syuPHACJhgtzOhVP+UNpqQ5Um1U0bx7UseRGFXwETCrccAYD4i+4ABW7dgEAKqv72vmLvKaKs1jARaA0QY0h2Xu0LJLOf24oUkUQgROwqLroootw0UUXAaiKWvXs2RPnn3++7hMLlh07dqBt27ZIUf0odetW1Rtj586dXkWVKIrYvXs37r77bo9t3bp1wzfffIOSkhIk15LrnJOT4+GGePBglUuR0+mEU9brI1hcLhcEQYDL5dJ8LKJhE+prhTmdOP3AVJT/8ENVo0QvlKxfj6TBg/zKtTdarXCdPQsAcJw9q8v3hfAf+m0JHy7VAwiWlKjr9c5U/07Zc3JgDPL4TlmLA0NqmjTPSFwvpjZtakTVX38F9J45i2raOxgS9X2/g8biPbrDJSVFfn5ms/SnUFbmdT6u0hpzDc5i8Tln+m0hAiFarpdgvoOa+lSNGTNG+vv06dPIyclBmzZtkBjBMPDp06fRpEkTj/Xudaeq+1yoyc/Ph91ur3PshRde6PPcb7zxBmbNmuV1W1FREfK8PMkPFJfLhZKSEjDGYPQjAkDELqG+ViqWLkXlDz9ULfgohC//8UecfO11JIy+o87jsbQ0oFpUlZ44AVGH7wvhP/TbEj6Eo8cUyyUMqNDxemeMKSK/RcePozLI4ztkDwodlgTp37FIXC/OZk2lv+0HDiL33DlwBv/8tipkr4OZzbr8e6wVh49SU7vJFPH5OWTvq93H/UuFzCzEVcuc6beFCIRouV6KZCna/qJ5tmvWrMGjjz6KAweqLE7XrVuHvn37Ijc3F9dddx2efvppDB48WOtp/KaiogLx8fEe683VT10qfFiDutcHM9bNfffdh2HDhinWHTx4EIMHD0ZqaqouRhculwscx8FqtdKPE1ErobxWmNOJI2s+rYpQ1eYsxnFwfvopmk2eVGe0yt44C+V//QUAMJWWkTFMmKHflvBRcfw4imXL1pYtYNL5ei+VRX4THA6kB3n8YlkD76SmTaXjROJ6Ke/UCdK/wpWVSK20w5TtX1pjriiisvpvk07/HmulrEkTlHlZn9g4K+jPSy/E9HQ4qv/mXU6v75dTEKV94tN8v6f020IEQrRcL6lBpGVrmu1nn32Gm2++Gf/4xz8wcuRIzJw5U9qWkZGBZs2aYfHixWEVVQkJCbDb7R7rKysrpe2+xgEIaqybzMxMZGZmet1mMplg0slulOd5GI1G3Y5HNFxCda2Ubd/htYbKA8Yg5ObC+fseJHbvVuuucZmZcGfui/n5dH1HAPptCQ+VKntvs80Gg87vOW+rEVWsqDioz5QxBlHW3iAuo5HiOOG+XhKrSw/cCIcPwdLKz/KDipq6ID45KSqu8fh07zVqcenpEZ+fUV7vVVHhdT7y/lXGxNrfU/ptIQIhGq6XYM6tqU/VM888g549e+LHH3/EpEmTPLb/4x//wI4dO7ScImCaNGmC06dPe6x3r2vatKnHNgCwWq2Ij48PaixBxBryxqV67S93AHTlklEF0XCRO//BZAIXgiJ/Y3qNWYVfD0C8IJaWgsnqCiJpVAEAxvR08I1qfifsAZhVyPtURUOPKgAw+DCk8LU+nCiMKnz1qSL3P4JQoElU7dmzB8OHD/e5PSsrCzk5OVpOETCdOnXC/v37FSkLALB161ZpuzcMBgMuueQS/Prrrx7btm7dilatWtVqUkEQsUSgfXX82d9oI1FFxAaiyk69rj5uwcDbakSVqyCwRrluBFWDXWMUpMyZL6jpVxWIA6DCqS4xSkSVD3EXdZbqPkoflO8puf8RhCZRZbFYUFbmLSO4ikOHDoU9b3no0KEQBAFvvvmmtM5ut2Px4sXo3r275Px37Ngx7Nu3z2PsL7/8ohBWf/31F9avX+9RK0UQsYylS2fwNptP1z8JjgOfkQFLl851HlPe7FcsKoLocNSyN0HUX0LZo8qNIlIls0UPBJdKVPHpketT5UbeBNi+/4Df4+TNf6Oh8S/g2zqdj4bmvwnUp4ogAkWTqOrTpw+WLFni1fbwzJkzWLhwIfr166flFAHTvXt3DBs2DI899himT5+ON998E3379sWRI0fw4osvSvuNHj1asoZ3c99996F169a44YYbMGfOHLz66qu47rrrkJWVhYcffjisr4MgohnOZEL6qJG1m1QAAGOwjhrpn6V6I2UDYIGiVUQDRSgMvaiS96py5QeX/icUKMWYMcLpf4BSVDmOHPH74Yu8T1W0CAAuPt7rb2O09alidjuYl/s86lNFEEo0iapnn30WJ06cwOWXX44FCxaA4zisXbsWTz75JC655BIwxvD000/rNVe/Wbp0KaZOnYply5ZhypQpcDqd+Pzzz9GzZ89axyUnJ2Pjxo3o2bMnnn32WcyYMQOXXnopNm3ahEaNGoVp9gRRP8gYPx5JvXp531gdwUrq1Qu2ceP8Op48UgVQCiDRcAlHpEpe/xR0pEpWi8WZzVFx4ywXVRAEOP7+269xClGVFCWiiuNg8FJWYIiG9D9VOp+3FECKVBGEEk3uf+3atcNPP/2EKVOmYMaMGWCMYc6cOQCA3r174/XXX8d5552nxzwDwmw2Y86cOdJcvLFx40av65s3b44PP/wwRDMjiIYDZzKh+WvzkbdoEc7Nm6+IWvE2G6yjRsI2bpxfUSqARBURO4Ql/U+Wes8qKyGWlwcsiuRizGiNfOofAMS3aQ0YDIAoAqgyqzCrsk68IciiKtFiVAEAfHKysnaN56OiPkl9rYjl5eBlApAJgsL9LxoEN0FEmqBFldPpxJ9//gmr1Ypvv/0WBQUFOHjwIERRRKtWrSiyQxAxAGcywXrXXTg3d560LmPSJGTce4/fYsqNITERnMUCVv30k0QV0VAJS6RKZdftyi9AXMCiquZmn48SUWUwmxHXogUcR44AqDKrqOsdZIypIlXRI6rUTn98SkpIjEsCxZuoUiyrIlcUqSIIDel/BoMBXbt2xccffwwASE9Px+WXX47u3buToCKIGMJ15oxiOalXz4AFlRsj2aoTMYBCVKWFKFKlEkFCEHVVctfASNupywnUrIJVVgKCIC1Hi/sfUNUzS7EcBfVUAGBQ9eX0EFUqkzKKVBGEBlHF8zxatmzptVkuQRCxg1PV283UpEnQx5KLKjKqIBoqclFlCFWkSuW8q3by8wchr2aMMQqc/9woRVXdtuqiqtlytNRUAYAhWSmioqFHFQCP3mnMQ1QplylSRRAajSruv/9+vPnmm8gP4seaIIiGgfNUjajiTCaPm7lAUESqzpGoIhoeTBAgyvoohir9z5CYqIgYB2NWoYhURUGPKjfxbS+Q/nadPatspuwFQSWqoqqmKiVZtRwdospgUYokilQRRN1oMqoQBAHx8fFo3bo1hg4divPOOw8JqpAxx3F48MEHNU2SIKIJ5nSifPsOCEWF4FPTYOnSOeh0t4aA80yNqDI2bgzOEPyzGkr/Ixo6YkmJ0tQlwEba/sJxHHirFa6zZwEAQhANgJVGFdGT/meWOwCiKlplufxyn/vLe1QBUVZTlaQSVVHQowoADAlmxbKHqCqnSBVBqNEkqqZNmyb9/dZbb3ndh0QV0VBgTidyFy5EwfIVEGRWw3xGBtJH3oaM8eNjUlzJ0/+0pP4Byl5VJKqIhog6qhKqSBUAhahy5QUmqhhjSqOKKEr/M2VngzObq2qlUGVWUauoKlOn/0WPqFJHqoSKSjCnM+L/lnA8Dy4hQXL4qzNSRaKKILSJqsOHD+s1D4KIapjTieOTJ6Ns0/dSDyY3Ql4ecufNR+Wu3Wj+2vyI/2MYblyn9BNV8hQjV24uGGNR4YRFEHrhIapCZFQBVJlVuKuehQDT9MWyMjBZY91oMqrgeB7xbdqgcs8eAHWbVXjWVEWHqGJOJ8p37lKsK9uwAQf69I2KB3WGhAQIkqhSuv0pRJbBAM6sjGwRRCyiSVS1bNlSr3kQRFSTu3BhlaACFKk78uXSTZuQt2gRMiZODPPsIos8UmVsqjFSlVHjHMoqKiCWlYOPoqJygtBKuCNVblwBpv+pRZgximqqgCqzihpRVbtZhbymijOZYIiLC+nc/EHxoE5FtDyoM1gs0nVQW6TKYLHQwy+CgEajCoKIBZjTiYLlKzwiVB5wHPKXrwBzOsMzsSiAMRay9D8AEHLPaToeQUQbQqFMVBkMIY2ayOugAjWqUIuqaOlT5UZuVmE/cABM/bBLhrymKlqiVIoHdWpUD+oihdx8oraaKjKpIIgqSFQRRB2Ub99RVUNVyz/aAADGIOTmonz7jvBMLAoQCgulugZAB1GVoRRVVFdFNDQUPapSUjQZu9SFvA5KXgfqDy6VCDOmR0/6H6A0qxBLS+FStXaQE22Nf+vLg7paRZU8UkX1VAQBgEQVQdSJUFQY0v3rM+obGT1rqgASVUTDQ/77EMrUPwDgbfL0v0AjVTUijIuP9+hbFGniL7hAsVxZSwqg3KgiGkRVfXlQpxRVSmMKilQRhCeaaqoIIhYI1PI4VBbJ0Yi68a+xsTZRZYiLA5+aKj3Nd+UG9nSdIKIdRePfEJpUAFVGFW5YRQXE8nK/b4DlkSreZo26mhk+IwN8ejqEarFo338Ayb17e91XHlXhoyCqUl8e1BkSLWBxcXANGIDCSy9F5aFD0raKdu3gvP9+AIDLasUh2TY1oijC4XCgtLQUhhBGZomGQaivF4PBgPj4eGRlZel+fBJVBFEHli6dwdtsVTUGtT1Z5DjwNhssXTqHb3IRRt7415CaqoupBN8oQyaqqKaKaFiI8vS/UEeqVDborvwCxPkpquQ1VcYoslN3w3Ec4tu2RfnWrQBqN6uQG1VEQ6pavXlQl5QEx5jRMHTpCkNaqsKNNb7V+YjLbg4A4Iy130pyHIe4uLioE+ZEdBLK64UxBofDgYqKCtjtdrRo0UJXYUWiiiDqgDOZkD5qJHLnza99R8ZgHTUypizV5Y1/TY0b63JMY0YjOA7+DYDS/4iGh9yoItQ3y0abUgwJBflA82Z+jXXJ0v+izaTCjb+iKtqMKurLg7ry9u1haNYc1vQ0ZCSnwNy6lbTNcfQohJISAFUPB+Kys30eRxRFCIIAnucpUkXUSaivF8YYcnJykJ+fj7Nnz6KJxrIFOZpF1Z9//onFixfj0KFDKCgo8HDg4TgO3333ndbTEEREyRg/HpW7dqN00ybPjRwHMIakXr1gGzcu/JOLIC4dnf/cyM0qhHMkqoiGhRDOSJVKDAXSq0ruFmiMoh5VchQOgIcP+2yaG21GFfXlQZ2QmgpTUiKsPA9OdW/HRLFmgYQSUY/gOA6ZmZkoKiqC3W6ve0AAaPomLFu2DJdccgnmz5+PgwcPQhRFMMYU/4nyLx5B1FM4kwnNX5vvYaQAVJkrNHpgSkw2/pWn/5k09qhyIxdVFKkiGhrhFFWGpCRA9pukdvSrDbkA463R1aPKjdwBEE4n7IcPe91PKaoin/4HVD2oS+rVq2pBneZUvRzxB3Vx8eCNRnAcpxRRACBbDqWDJUGEAo7jwPO87hpFU6Rq5syZ6Ny5M7766itkqKyQCaLBYTR62MoCwHkrliOuRYsITCjyKBr/6hapqrmBI1FFNDTCKao4joMxPR2unJyqc+f7b/widwvkozVS1aaNYtm+/4BSaFUjyNz/+CiIVAE1D+ryFi1C/vIVEGS/dbzNBuuokbCNGxfZB3VGHpLcY8qbT4pUEfWdUNRsaRJVp06dwrRp00hQETGBkJsLVlHhsd55+kxMiirmdEo3awBgatJUl+Py8khVXh6YKNKTUKJBwBhTiqoQu/8BVTfo7u+py8/0P8aYoq+VMUprqgyJiTBlZ8N5/DgAd13VDR77KWqqEqNDVAFVwipj4kTYxo2rslkvKgSfmgZLl85RkfXA8XzNQq2RKh4EQWgUVR07dsSpU6f0mgtBRDWO6n+41TiPHwO6dwvzbCKPKydHUWRtaqKfUUXNSVwQioqirvEoQQSDWFYGCIK0HOpIFVDVtNddNSD4mf4nlpWDORzSstpFMJqIb9tWJao8ibaaKjWcyYTEKPw3RC6qWHV5h/R0Xy6yeHroRRCAxpqql19+GW+99RY2b96s13wIImpx+hBVjuMnwjyT6EDdo0o3o4pGysi36xzZqhMNA7nzHxAeUSU3q/DXqEIoUO6ndhGMJhRmFV5EFXM4wGTF6NFSU1UvkFulMyY9RGOMgQmU/kcQajRFql544QWkpqbi6quvxsUXX4wWLVqA55VhYI7jsGbNGk2TJIhowJd48iW2GjoKUWUwwJiZqctxjap0YiE3F/BSJ0EQ9Q11E1dDWERVTZTX3/Q/tfiKVkt1QGlW4Tx1CkJpqaJuSpA1/gWip6aqPsCp7ucgilUCijEANVkK9TU9+5133sFdd92lWNeoUSO0b98e06dPx/XXX6/YdvbsWcyZMweff/45jh07Bo7j0K5dOwwZMgSTJ09GWlpaGGdPRCOaRNXu3bvBcRxatGiB0tJS/PHHHx77ULM3oqHgPH7M63pfaYENHbnznzErq84GkP7Cp6UBPC+lSbny/C+uJ4hoRt74F6i+1kOMUebc52+kypWnElVRnv4nx77/gKKvk6gSVdGY/hetqH/TmShWGVeo66sCFFWCIOLMwSJUljthtpjQuE0q+AimED7zzDM4//zzwRjD2bNn8c4772DgwIH47LPP8M9//hMA8Msvv2DgwIEoLS3F7bffjq5duwIAfv31Vzz//PP4/vvv8c0330TsNRDRgaa7oCNHjug0DYKIfhSRKtlNf+xGqmrqKfVK/QOqno4arVYp7c9FvaqIBoKgFlXJySE/pyJSVeBfTZU8/Y+Li4Mh0aL7vPQirmVLcHFxUg2Yff9+paiS1VMBJKoCgueVAqr6b7W9ur+RKkEQ8dtXR/H7xpOoKKmp2bOkxKFDr2boMqBlRMTV9ddfj8suu0xaHjt2LLKysvDee+/hn//8JwoLCzFkyBDwPI8dO3agXbt2ivGzZ8/GwoULwz1tIgqpnzFbgogAcvGU0LGj9LdQWCh1lo8lXKfPSH+bGutjUuGGb0S9qoiGh1xUGZKTdYvu1obcuY+Vl0P04mCqRp4myNtsUZ1xwhmNiGvdWlq2Hzig2O4hqqLI/S/a8Zr+J/+/Gz9ElSiI+Pp/e7Dts8MKQQUA5cUObPvsML763+8QhMj3Nk1LS0NCQgKM1d/PBQsW4OTJk3j55Zc9BBUAZGVl4cknnwz3NIkoRDdRVVJSghMnTuDYsWMe/xFEfUesqFAYJiT26KHYHovRKnlNlV6Nf90oGwCTUQXRMJAbVYTDpALwbNzrTwqg3CWwPjhvmmsxqxBUooonowr/8ZL+B0BpUgH4Jap2rjuBY3trv/aO/p6HHWuPBjZHHSgqKkJubi7OnTuHvXv3YuLEiVKaHwB8+umnSEhIwNChQ8M+N6J+ofkx2f/93//h5ZdfxqFDh3zuI8gsZAmiPuI8oTSpSOzxD+S+/rq07Dh+AuaLLw73tCJKKBr/SseT2aoLFKkiGgjhbPzrxqhq3OvKL4CpWbNax8ibBEezSYUbeV2Vff9+hfW3vEcVOA6cJXpTGaMNjudldhSQIlQuuxMFeS5pdfzZSoBXRp/kCE4Bv2886dc5d60/gZaX2GAIMA0wtVECjKbg+mVde+21iuX4+P9v777Do6jWP4B/Z3t6b5DQEggldAGpAQQpAUSlCYqg9O5VUH8qXfSCIj0IKNyLwFVQQUFQAUWUq1cliCJCQEoggTSSkLrt/P5IdjOzJdnN9s37eR6eh5mdmT2bPdnMu+ec95Xj/fffx8CBAwEAFy9eRIsWLSCTyep0fVJ/2BRUbd26FbNnz8agQYPwzDPP4JVXXsFzzz0HhUKBXbt2ISoqCvPmzbNXWwlxGcNkFPLmzSGOCIemar2PuSQW3kpz/z60vCmP9ir8qyMYqaI1VcRLuCKoMgyKDNOlm6LmjVSJQ91/pIofVGkKC6HOzoE0qjIbKT9Rhcjf362nMrodgxEo3UhVUU4ZPt3H70eWJUCxRHmxCh+9/ovV541b3BVhDeo2tXPz5s1oUdWH7t69iw8++ABTpkxBQEAAHnvsMRQVFSHACesfieezafrfxo0bMWjQIBw9ehTTpk0DAKSkpOD111/Hn3/+ifv37yOPMncRL8Cf3icOCoI4MBCyuEb6ffWtVpVxjSr7rqmShFdPWaI1VcRbCIKqYOcEVaKAAEAq1W8bZvYzhT9FUGIwfdAdyZs3F2zzpwAKCv/60dQ/a3AcB/CDUN30P+b6dU/21LVrVwwYMAADBgzAhAkTcOTIEbRu3Rpz5syBUqlEYGAg7tfDddPEejYFVVevXsXw4cMBANKqD21lVQaeoKAgTJkyBVu2bLGxiYS4Hj9oksbFAQBkcbH6ffVtpEp9545g257Z/wDhSJXm3j0wlcqu1yfEFfh1qpxRowqovDHmr4uyZE2Vmjea5QnT/yRRURAFBuq3BUFVCS+oovVUttEnqmA1H+fhRCIR+vXrh6ysLKSnp6Nly5a4fPmy/v6WEHNsmv4XFBQEtbpyXm1gYCB8fX2RwftGPyAgAHcMbr4I8URKXtAkrQqmpLFxvMfr2UgVr0YV5+tr9xtEsUEBYHV+PqRRUXZ9DkKcTeuC6X9AZWCkzs4GUPv0P8YYNHn8kSr3n/7HcRzkLZqj7JdfAQiDKn6iCjFl/rMeb6RKN/0vIFiCR5+oDLY5iRSypo1rvIRGpcFnG35DRYm6xuMAQOEvxYj57eu0psqedPe2xcXFGD58OP773//i448/xhNPPGHX5yHexaagKikpCb/99pt++8EHH0RqaiqGDh0KrVaLd999Vz9PlRBPpuIFTbppf7JG1UGVKjMTTK12SopkdyDI/BcTY/d1CvxEFUDluioKqoinE2b/C3ba80pCQ1BR9X/+eilTWGkpWEWFftsTRqoAQNGihT6oKk/nT/8TrqkiVjIx/U8iBkLCKv/WieRyyGtZy6TVatG2b0P8cqT2zH7t+8ciIi6w1uMcSaVS4auvvoJMJkOrVq3QokULbNy4Ec8//zw6d+5sdF+bnZ2Nbdu2UVp1YltQ9eSTT2Lr1q2oqKiAXC7HsmXLMGDAADRqVHnTKZVK8fHHH9uloYS4CtNqBdn/9CNVcdVBFTQaqLKyIOPv82KOKvyrI4kwGKmitOrEwzHGXJKoAgDEIdWBkaaWdc6GBYIlHhJU8ZNVKK9c1X/JJVhTRUGVbXTT//gp1S0cUeowMBY5N+7jxh/mR0obtw1Dx0E1j3o5wtGjR/HXX38BqAyQ9u7di/T0dLz00ksIrJpW+umnn2Lo0KHo0KEDnnzySXTu3BkAcPbsWezbtw/du3d3eruJ+7EpqJo8eTImT56s3+7ZsycuXLiAzz//HGKxGA8//DCNVBGPp87OBuPNpdaNVEljYwXHqTIy6k1QJSj8a+ckFUBVli65XP+NeW03goS4O1ZeLvgccVaiCgAQh1UHRoZBkyHDNVeeMlLFD6qYUgnlzZuQN2tmEFTRmiqrmZj+x/jFfy2oUQUAIrEIg6Yn4bevM/D7t7dRWlT9u+AbKEPbvg3RcVBjiK2c9mcPixcv1v9foVCgZcuWSE1NxfTp0/X7u3Xrhj/++ANr1qzBkSNHsHv3bohEIrRq1QovvfQS5syZ4/R2E/dj97lKzZo1w/z58+19WUJcxrCwry5BhSQiApxCAVZeDgBQ3syAXw+j072SI2tUAVWL68PDobpdWduE0qoTT8cfpQKcO1LFH22qLVGF2uALDI8JqkxkAJQ3awYNL1GFmEaqrMaZmP4HbXXtUc7CoAoAxGIRHhjaFB0HNcadK4UoL1VB4StFdEKQS4KpSZMmYdKkSRYfHxMTg7Vr12Lt2rWOaxTxaHbpxT/++CPeeOMNPPfcc0hPTwcAlJaW4uzZsyg2qGZOiKdR3uQFVVIpJNGVIzMcxwkzAN7KMDzVKzGNBqq7d/Xb9q5RpSOoVUVp1YmHc2VQJZj+V0tQpeGtueJkMo9JQy4OCICkQfUXPLpkFYI1VZSowia2jFTxicUiNEwMQXzHSDRMDHFJQEWII9jUk5VKJR577DH07NkTr7zyCjZs2KDP/icSifDwww9j/fr1dmmopQoKCjBt2jRERETAz88P/fr1w9mzZ2s9T6vVYteuXRgxYgTi4uLg5+eHpKQkrFy5EuVVIxGkflLygiVZgwbgxNVV26X1sFaVOjcP4KU4d8SaKgAQR1BQRbwHP0kF4OSRKt70P21pKbQ1/E3TGKRT96RiuYrm1VMAy/VBFa2psonJkarqoMqakSpCvJ1Nvw2vvfYaDh8+jNTUVFy6dAmMVdcuUCgUGD16NA4dOmRzIy2l1WqRkpKCvXv3Ys6cOVi9ejWys7PRt29f/QiaOaWlpZg8eTJycnIwY8YMrFu3Dl27dsWSJUswZMgQwWsj9YuKN1IlNVgzxR+pUtaTWlVqXpIKwDFrqgDDkSpKVEE8G79GFeC8OlWA8RS+mkar+NkBxR6QTp2Pv66q4nLl33xaU2WjWoKquoxUEeKtbFpTtW/fPsycORPTpk1DnomF5K1atcL+/ftteQqrHDhwAGfOnMH+/fsxatQoAMCYMWPQokULLFmyBHv37jV7rkwmww8//IAePaoXxUydOhVNmjTBkiVLcOLECQwYMMDhr4G4H/5IlTROmJyCX6tKdTMDjDGP+ma3LlQGted00yHtTRLGKwBMa6qIh+NP/+N8fSGSyZz23OIQYXCkzr8HaQPT03b5SWEkIZ6xnkqHH1SpMjKgKS6BtqR6+h+tqbKN6el/YjNHE1L/2PQVQ3Z2Ntq2bWv2cbFYjNLSUluewioHDhxAVFQUHnvsMf2+iIgIjBkzBocOHUIFr/aGIZlMJgiodB599FEAwMWLF+3fYOIRTNWo0m/zalVpi4uhKShwVrNchl/4VxweDpFc7pDnkdD0P+JFXFX4FzBOi67JN59NU82f/hfmuUEVGEP5+d8Ej9P0vzowNVKloel/hJhi029DXFycPre/KT/88AMSEhJseQqrpKWloVOnThAZ/JJ37doVpaWluMyrsm6pO1XfyoeHh9dyJPFGmuISwVQZo5Eqg+mA/HpW3sqw8K+j8Kf/aUtKoHXiFzSE2JuralQBgCgwEOAVJlfXMP2Pn6jC40aqmjYRvM7StDTB4xRU1YGJoEowUkVJJgjRs2n63/jx47F27Vo8/vjj+npUuqlP27dvx0cffYQ333zT9lZaKCsrC3369DHaH1N145eZmVnjyJopq1evRmBgIIYMGVLrsdnZ2cjJEa79uHLlCoDKCt0q3uL+ulKr1dBoNFCr1TZfi9Su4vo1wbYopoHwfYyMrPyjU7Xmruz6dUhatnRmE81yVF9RVqU5BwBxdJRd+rVJwcGCzfI7d42CWmI/9NniWCpesCIKDHDc740Z4pAQaKr+Pilzc80+vyDgCg4yf5w79heOg6xJEyir/u6W/CpMUqWVy53+c/dkWn7whMpgSqvRAIy3n+OMjjNFty7dkmMJcUZ/YYyBMWb2M6EunxU2BVWvvPIKfvzxR/Tp0wetWrUCx3F47rnnkJ+fj1u3bmHo0KF47rnn6nRtrVYLJa9QYk3kcjk4jkNZWRnkJqYiKRQKAEBZWZlVbVi1ahWOHz+OLVu2INjgBs+ULVu2YNmyZSYfKywsNLnuzFpqtRr3798HYwwSid3LjBEDSoNpn/d9fVBs8D5y4eFgVTcrhZcuQdmli9PaVxNH9ZVy3hozdVCwXfq1KRqxsM35f1+FxNfHIc9F6LPF0cp4X7ipFT4O+70xKzAAqGpD8e1MaM08P79OVblUZrad7tpfWONGQFVQVfabcPpfoUoFMRUSt5hSqYTUYOaP2uC+TIvKMhs1YYxBU3WMt685JrZzVn9hjEGpVJr9jCs0KINhCZs+CWUyGY4dO4Y9e/bgwIED0Gg0qKioQLt27bBy5Uo89dRTdf6BfPfdd+jXr59Fx168eBEtW7aEj4+PyXVTupToPj6W35B9+OGHePXVV/Hss89i5syZFp0za9YsjB49WrDvypUrGDlyJIKCghAWFmbx85ujVqvBcRxCQ0Pd6g+Zt7pXUADdMmdxaAjCDab7AUBZo0Yor7pZkeXn2+V9tgdH9ZUi3vqmgKZNEeyg16v180MRb9tPpYK/m/xsvRF9tjhWeXkZdN97+kREOP1zojw8AmVX/wYAyMrKTD6/trQU93h/Q4MaxcHPTDvdtb9wSUnIP3GycoOXpAIAwmJjnT710pMVFxcLM/0BEDMGfggllkgEZUZq4k79hLg/R/cXjuMgk8nMfhYH1eGzwuYWcxyHJ598Ek8++aStlxJo2bIldu7cadGxuul9MTExyOKt99DR7WtgJtuRoa+//hoTJ05ESkoKtm7damGLgcjISERGRpp8TCqVQiqVWnytmojFYkgkErtdj5inyaxOHy6La2TyZy5v3Bjlv/4KAFDfuu1W74u9+4q2vFyw5kIeG+u41yuVQhQQAO39+5XbBQVu9bP1RvTZ4jjaovv6/0tDQ5z+M5aGh0M3V4OZ+V1S3i8WbMsiImpspzv2F9+WLWFuxZg8KAicG7XV3YlEIuH6KQAwGJXixGKjdeyGtFqt/gv22o4lxFn9heM4cBxn9vOrLp9rbvu1QXR0NCZNmmTVOR06dMDp06eh1WoFb8RPP/0EX19f/bqvmvz000949NFH8cADD+Cjjz6ib1bquZpqVOkIalXxpsZ5I5XBlxbSBo5LVAFUJqtQVgVVakqrTjyYKxNVAMJaVfwMf3yGWQENswZ6Anlz03/nOYWCAqq6MJhtxAzXmVCQRIiezRHD999/j/fffx9///037t27Z1Qkl+M4/GYwr9lRRo0ahQMHDuCTTz7R16nKzc3F/v37MXz4cMF6q6tXrwIA4uPj9fsuXryIlJQUNGnSBIcPH7ZquiDxTvwgiZ8+nY9fq0qddQdMqQTnxBo0zqQ2DKocmP0PqAqqrlUmC6G06sST8YMqZxb+1ZHwCvnyR5v5DLMCGhYN9gTShg0g8vMT1KcCKPNfnRkGVQaJSSyd+kdIfWBTULV27VosXLgQCoUCiYmJCHXxB/CoUaPw4IMPYvLkyfjzzz8RHh6OLVu2QKPRGCWQeOihhwAA169fBwDcv38fgwYNwr1797Bw4UIcOXJEcHx8fDy6d+/ulNdB3APTaKC6XT39jx888QmCLcagvH0b8qZNHd08l+CPVHFSqcNvuqhWFfEGWqUSjFcSwDUjVdXrBjRmFmbzgy1OKvXIQITjOMibN0fZuXOC/WI/P9c0yNsYZnukkSpC9GwKqtasWYOePXvi888/r9OCLnsTi8X44osvsHDhQmzYsAFlZWXo0qULdu3ahcTExBrPzcvLQ0ZG5ajESy+9ZPT4008/TUFVPaPKuiP4AyIzk87bVK0q7w2q7uj/L4mJcXjhR3E4BVXE82kNskiJg4Kd3gYxb6RKW1oKbUWFUeFuDb/wb2iox2Zqk7doYRRUeWKA6BZqGakyfNwSTKVC6dk0aAoLIA4Khm+nji6Zmrlr1y5MnjxZvy2XyxEaGoq2bdsiJSUFkydPRkBAgNF5P/zwA9566y2cOXMGBQUFiImJweDBg/HKK68gzuB+YOnSpVi2bBkiIyNx7do1+Pr6Ch5v0qQJkpKScPjwYce8SOJUNgVVpaWlmDBhglsEVDohISHYsWMHduzYUeNxuhEqnSZNmhhNXST1m8pgfZS0USOTx4lDQgTTTZQ3bzq8ba6iyuKN3Dl46h8ASML4QVVODUcS4r40hkFVsCum/wlHlTX5+RAZ/A6r84RBlaeSm1g/TUFV3XAcJ6jFyA+qOJHYqsCbqVTIee893NuzVzBaKg4PR8j4JxA+dapLgqvly5ejadOmUKlUuHPnDr799lssWLAAa9euxWeffYZ27drpj924cSPmz5+PZs2aYe7cuYiJicHFixexY8cOfPjhhzh69CgefPBBo+fIzs5Gamoqnn/+eWe+NOJkNgVV/fr1w++//26vthDiVvjBESeTQRIRYfI4juMgjYtDxV9/AQBUGbec0j5X4K+pckpQxRup0uTkgjHmsd+ek/rLKKhyxfS/EGGQpM7PN/od1vDWVElCQuCp5C2aG+2joKruOJFIX4tKMFJlxUwFplLh9oLnUPLdd0ajW5q8PORu2Ijy384jdtNGpwdWQ4YMwQMPPKDffvnll3Hy5EkMGzYMI0aMwMWLF+Hj44MffvgBCxYsQK9evXDs2DHBqNPMmTPRs2dPPP7447hw4YJRbdMOHTpgzZo1mDVrFq3X92I2zd3ZuHEjTpw4gbfeegv5+eaSmBLimfjBkTQursapbvUlA6AqszqoksREO/z5+GuqmEoFbVFRDUcT4p7cIaiShBmPVBniZwUUe3BNOIWJkSpWXmacuY5Yhve3TxBUiS2/hbz33vuVARWgH/WqvmjldvGpU8irZZaRs/Tv3x+vvfYabty4gQ8++AAAsGLFCnAch3/9619G0/ji4+OxevVqZGZmYtu2bUbXW7x4Me7evYvU1FSntJ+4hk1BVVxcHKZPn46XXnoJERER8PPzQ2BgoOCfO00NJMQagsx/sabXU+lI46qnBvLTsHsTxhhUd6rXVDl7pAqgdVXEM2kKqoMqTiYDp1A4vQ2iwECAVyLEVFDFT1TBzxboaUR+fhAZJKYo+eEM0vv1R86WLRRcWYv/haJWC61SCWVGBlQZGahIT6/1X/nFv1BQFZjUJv/fu1F+8aJF1+X/0/KKVtvLU089BQD46quvUFpaihMnTqB3795oambN9NixYyGXy/H5558bPda7d2/0798fq1evRllZmYmziTewafrf4sWL8frrr6Nhw4Z44IEHKIAiXsWSGlU6wpGqW145TU1TUABWXq7flsZYVkzbFmLDoConF3JeGQRCPIFhjSpXfDZwHAdxSDA0VfXe1CbSqgvWuYR45poqplIhY84co5TqgOunmXkqTiQCf2xJffcuMp/7h0OeS3PvHq49+pjV5zX7/DPImxtP+7RFbGwsgoKCcPXqVaSnp0OtVqN9+/Zmj5fL5UhMTMSff/5p8vElS5YgOTkZW7duxXPPPWfXthL3YFNQtXXrVqSkpODgwYNUJZt4HeWt6ul/5mpU6fDTrbPSUmjy8oxGWTydKjNTsO3owr9A1eJ63iJpdR6NVBHPoyks0P/fFUkqdCQhofqgyrDQLwCo71UHWmIPHanK3b4dJae+M/2gwTSz8JkzndgyD1aP7+/8/f1x//593K8qQm8qGyBfQECA/lhDffr0Qb9+/bB69WrMmDGD1lZ5IZt+U5RKJVJSUiigIl5HU1goSINsrkaVjmHQpczwvimARoV/ox2/poqTSARZyDQ0/Y94IFcX/tUR89ZVGRb61ZaVgfGmJUk8cE0VU6lwb8/e2tN8cxzy9+ylaYAWcnTpDHdWXFyMgIAAfTBlLmDSuX//PiIjI80+vnTpUty5cwdbt261azuJe7BppGrYsGE4ffo0pk+fbq/2EOIWlAYZ/GodqYqJqfw2T6sFUFmrCh07Oqx9rsBPUiEKCjJas+AokvBw/bQkWlNFPJFWMP0v2GXtkPCm9GkMpv8ZrrHyxOl/pWfTzBY2FmAMmtxclJ5Ng1+3ro5vmKczCKokUVFo8M5aiAMDIa0hgNDRKFXIeOYZo3ptpohDQtDo/ffASay7PTVX8sQWt27dQmFhIRISEtC8eXNIJBKcP3/e7PEVFRW4dOkSunY136f69OmDvn376keriHexKahasmQJxo4di1mzZuHZZ59Fo0aNIBaLjY4L9eB6F6R+MqpR1bBhjcdzMhmkMTFQ3b4NwDtrVTk7SYWOJDwcFZcuAahcU0WIp+EnqnBF5j/9c/NHfQ2CKMORK09MVMGfZumI4+stg6BKJJNBFhcHSVg4pBZkgdVqtQh+8knkb95c67GhE5+ColWrOjfVnnbv3g0AGDRoEHx9ffHQQw/h+PHjuHHjBho3bmx0/EcffYSKigqMHj26xusuXboUffv2xbvvvuuQdhPXsWlMNzExEefOncPWrVvRtWtXREdHIyIiwugfIZ5GyUtSIYmIgMiCuc/8ZBbeWKvK2YV/dfhr02ikingiw0QVriKpYfqf0UiVB34Zau0ooCtHDT2J2el/VkwLDHn2GfglJ1dd0GB6ZtW2f3IywqZMqUsT7e7kyZNYsWIFmjZtigkTJgAAXn31VTDGMGnSJKMMfteuXcOiRYsQFxenzxpoTnJyMvr27Yt//vOfKOclfyKez+bsf96W4YwQAFDx1kRZOq1AFheL0h8r/++Va6oynVv4V0ccXr22g4Iq4oncJagSh9Q0UsWbDiiVQlTLgnx35NupI8RhYZWvzbAWEh/HQRwWBt9O3jVF22HMBE+cFXWqOKkUDTesx73330f+nr2C9bHisDCEThiPsClTXJKR8ejRo/jrr7+gVqtx9+5dnDx5El9//TUaN26Mzz77DIqqEgi9evXCO++8gwULFqBdu3aYNGkSYmJi8Ndff2H79u0QiUQ4ePCgUeFfU5YsWYJ+/fo5+JURZ7MpqFq6dKmdmkGIe+EHRbXVqNIR1KrywqBKxUtU4YzMfzqS8OrRbgqqiCcSBFUuzP7Hz+inLSmBVqmESCYDIAyyJCEhHvmFKSeVImTCeORu2FjzgYwhdMJ4SqluKTuMVAGV70/4zJkImzKlcv1bYQHEQcHw7dTRpe/F4sWLAQAymQyhoaFo27Yt1q1bh8mTJxtl+5s3bx46deqEt956C+vWrUNeXh4YY4iMjMRvv/2GaAsTOPXt2xfJyck4deqU3V8PcZ36m9KFkBoIR6pqTlKhw69Vpc7OhtaLhvWZUgl1To5+WxLtmul/mvx8MI3Gac9NiK2YWg0tL2OYS6f/GUzp4wdSal6KdU+c+qcTPnUq/D1ompknsMf0P8H1pFL4deuKwIcfhl+3ri4LqCZNmgTGmP5fRUUFsrKy8NVXX2HevHlm06f36tULBw8eRE5ODrRaLZYvX47s7Gxs2rTJ6NilS5eCMYZwEyVWvv32WzDGcPjwYbu/NuIaFFQRYoCpVIJRGVkthX91DNOuq255z7oqVXaOYDqNU0eqInh/jLRao2lLhLgzjUEKZtcmqhCmSVfzMuXxswF6YpIKHU4qReymjYiYPw9ig7Tw4rAwRMyfR4V/rWVu+l89TrXO99prr2HGjBl4/fXXsW3bNlc3h7iQTdP/CPFGqsxMfWp0oPYaVTqmalXJExLs2jZXUWcZFP51UaIKoHIKoIQS4BAPoSkoEGy7sk6VYbDED6T4X1YYBl+exl2nmXkqe49UeaPU1FSkpqa6uhnExSioIsSAtTWqdMRBQRAFBkJbVATAu9ZV8UfuIBY7NagxFVQR4ikMa/O4MuOcKDAQEIuBqim0mnu86X/3qgMssQePVPHpppkRG9FIFSEWod8IQgzwa1RxPj5GU0hqwp8qaBiceTJ+4V9JZKTVhRltIQoKAnjfLqtzLSjuSYib0BgGVS5MVMGJRBCHVAdM/LTq/KK5hmuvSD1nLngyUZeUkPqMgipCDPBrVMliY63KgiWsVeWdI1XOnPoHABzHGdSqyqnhaELciyCoEosh8vNzXWMgDJg0eWZGqkIoqCLVaPofIZah3whCDNSlRpUOPwOgN9WqUt1xXVAFGGQApOl/xINoCoQ1qlydqpyf2U9dNf1PW14OVlqq388vEkwITf8jxDL0G0GIgbrUqNIRjFTdugXGS3jhyQSFf52Y+U9HMFKVQ0EV8RzuUvhXh5+sQpeowjCjpienVCcOQCNVhFiEfiMI4WGM1alGlQ5/TRWrqBDUdvJk/Ol/EhePVFGiCuJJ3C2o4mf2062jUucZBFUh3pGogtiHyREpTuTyUVdC3A0FVYTwaAoKoC0p0W9bWqNKRxonnC7oDeuqNPfvQ1tcrN+WOrHwr444vPpGkIIq4kncL6jiJaqoWkfFzwIIUKIKYsBEUEVT/wgxRr8VhPCobt4UbFtao0p/fHQUwMuM5w0ZAAXp1OEG0/8oqCIeRFNYoP+/KzP/6QgSVVRN++NnAYREUpl6nZAqHMcBnMHtophuHwkxRL8VhPAIgiCOgzS2oVXncxIJpA0a6LdVGTdrONozqA2DKpdM/6uui6UtKoK2osLpbSCkLvgjVa4s/KvDz+ynLS6GVqkUFAGWhITQtC5ixHBkikaqCDFGvxWE8PCDIEl0NEQymdXX8LZaVfyRKpGvr0u+xZZECAsAUwZA4im0Be41/c8ws58mPx+a/OoaVZSkgphkGERRUEWIEfqtIISHHwRZu55KR8pLq244ndATCQr/xsS45Fts/vQ/gKYAEs8hXFMV7LqG6NoQahxUqXkjVfw1V4ToGI1MeVFQdfXqVUyfPh3NmjWDQqFAYGAgevbsifXr16OsrEx/nEqlwoYNG9ClSxcEBATA398fXbp0wcaNG6FWq42u26RJEwwbNsyZL4W4mKT2QwipPwSZ/+KsS6euIxipuuVdI1WumPoHAJKwMME2BVXEEzCtFpqiIv22O4xUGWb2U+ffE6RUl4SGGZ5CCCASfplmy/Q/lVaFc9nnUFhRiCB5EDpEdoBUJLW1hXVy5MgRjB49GnK5HBMnTkRSUhKUSiW+//57LFy4EBcuXMC2bdtQUlKClJQUnDp1CsOGDcOkSZMgEolw7NgxzJs3DwcPHsTnn38OX19fl7wO4h4oqCKER1Cjqs4jVdXnafLyoC0pgcjPz+a2uYraDYIqkZ8fRL6+0FYVKFXn5tVyBiGupy0uBni16twhUYU4KAgQiwGNBkBl5j9+ogqa/kdMEouF23UIqlRaFXb+vhP/+es/yCuv/gwP9wnH2MSxeLbts04Nrq5du4Zx48ahcePGOHnyJGJ4f99mz56NK1eu4MiRIwCAf/zjHzh16hQ2btyIOXPm6I+bOXMmNm/ejDlz5mDhwoXYvHmz09pP3I/3jN8SYiNtRQXUd+/qt6V1DKoMgzFPH60SjFS5IPOfjjiCnwHQO+p/Ee/Gn/oHuMdIFScSCUar1Hl5BiNVNP2PGDNOVCE2c6RpKq0Kz337HDaf24z8cmEK/7yyPGw+txkLvlkAlVZlc1sttXr1ahQXF+O9994TBFQ6CQkJmD9/Pm7duoX33nsP/fv3FwRUOrNnz0a/fv2wbds23L592xlNJ26KgipCqqhu3wYY02/bY6QK8OxaVUyjgYoXaLqi8K/+uXkZAGn6H/EEmgL3C6qAygx/OhqD6X/87ICE6Nm4pmrXhV04ffs0AICBCR7TbX936zu8//v7dW+jlT7//HM0a9YMPXr0qPG4o0ePQqPRYOLEiWaPmThxItRqNY4dO2bvZhIPQtP/CKliGPzUdaRK7O8PcUgINFWFNZU3PTeoUufmArwFuK4o/KvDT1ZB2f+IJ3DHkSpAOMVPlZWln1YLAOIwCqqICbwgqkKrxI3SG5Dcu2/RqUqNEnsv7bXo2A8ufoDk2GRIRNbdnsYFxkEullt8fFFREW7fvo1HHnmk1mP//PNPAED79u3NHqN7THcsqZ8oqCKkCj/zn8jfH+Lg4DpfSxoXpw+qVLc8N6hSZWYKtl05/Y+frEKdQ0EVcX/8wr/gOIgCAlzWFj5+WvWKq1eEj9GaKmICxyv+e6viLp5IW+SQ5ymoKMDow6OtPu/TEZ8iISTB4uOLqhLIBFjwO3n//v1aj9U9pjuW1E80/Y+QKvwaVdK4OJtSh3tLrSr1nTuCbUl0tItaIqxVRdP/iCcQFP4NDARnuNjfRfhT/JR/XzP7GCF6Iu8qCB1YVW/RkiDIkoBJ91hkZKQdWkc8FQVVhFSxR40qHW+pVcWvUSWOCK9TMWR7EYcLgyrGWA1HE+J62kL3Kvyrw69FxcrLBY9RogrCxxiDKjsb6jzvyrgaGBiIBg0a4I8//qj12NatWwMAzp8/b/YY3WPNmjWzTwOJR6Lpf4RUsUeNKh3BSFVmJphG4zbfUltDWKOqgQtbIlxTxcrLoS0pgdjf34UtIp6CqVQoPZsGTWEBxEHB8O3UEZzU8amb+Ykq3CmoMjvFTyKBqOobfEKYVgttWRnUvAK4ABArj8K+1qsBAGI/P0iiowXTAw0pNUpM+3oaCpWFZo/RCZYHY/vA7XVaU2WtYcOGYdu2bfjvf/+L7t27mz1uyJAhEIvF2L17t9lkFf/+978hk8ksWqNFvBcFVYSg8ts4fupzWVwjm64nSHKhUkF95w6kDRvadE1XEARVLpz6Bwiz/wGAOieHgipSI6ZSIXf7dtzbsxca3jft4vBwhIx/AuFTpzo0uNK47UiV6QK/4pBgm4q6Eu+i/PtvSCIiAIPfEblIhnifqr9xWkCiDoa0hmlvWq0W4xPHI/X31Fqf88lWT6JlWEub2m2pRYsWYc+ePZgyZQpOnjyJqKgoweNXr17F4cOHMX/+fDz77LPYtm0bUlNTMXPmTMFxW7duxcmTJzF37lyEhVHx7PrMK4OqgoICLFq0CJ9++ilKS0vRtWtXvP322+jUqZNV11GpVGjfvj0uXryINWvW4IUXXnBQi4mraXJzwXjfxtlzpAqonFromUFVdaIKVxX+1eGvqQKqMgA2beqi1hB3x1QqZMyZg5JT3wEG6yM1eXnI3bAR5b+dR+ymjQ4LrNw1qDI3xU9C66lIFaZSQXnzZmVQVQtNfj4k4eE1BuST2kzCH/l/4PTt0+DACdKq67b7xPbBM22fsUv7LREfH4+9e/di7NixaNWqFSZOnIikpCQolUqcOXMG+/fvx6RJkwAAa9euxV9//YVZs2bh2LFjGDx4MADgyy+/xKFDh9C/f3+sWbPG6DmuXLmClStXGu3v2LEjUlJSHPr6iPN5XVCl1WqRkpKC3377DQsXLkR4eDi2bNmCvn374tdff0Xz5s0tvtbGjRtx04PXwxDLKQ3Sqdu6pkoSFQVOKgVTVRYyrMwA2M2ma7qCOqs6UYUrM/8BxlOWvG2OP7Gv3O3bKwMqQFB/jr9dfOoU8nbsQLjBN8/24q5BldjM9D9z+0n9U3o2DaxCadGxTK2GtrQMYn8/s8dIRVK80/cd7LqwC/+59B/kllUnGwrzCcO4xHF4pu0zkIocPy2Xb8SIETh//jzWrFmDQ4cOITU1FXK5HO3atcPbb7+NqVOnAgD8/Pxw/PhxbNmyBbt378YLL7yA0qpSBE8//TTef/99iEwElZcuXcJrr71mtP/ZZ5+loMoLeV1QdeDAAf03DKNGjQIAjBkzBi1atMCSJUuwd69ltRKys7OxfPlyvPjii1i8eLEjm0zcgKBGlVhs86gMJxJBGhsL5bXKzFqeWKtKW1amTwsPuLbwLwBwMhnEwcHQFBQAoLTqxDymUuHenr2VI1Q1JTThOOTv2YuwKVMcMlolCKqC3T+oonTqREdQDsCiE9S1HiIVSTG9/XQ80/YZnMs+h8KKQgTJg9AhsoPTgym+5s2bY9u2bbUeJ5VKMX/+fMyfPx9AZVr25ORkfPLJJ1iwYAE6dOggOP769esOaC1xZ143efrAgQOIiorCY489pt8XERGBMWPG4NChQ6ioqLDoOi+99BISExPx5JNPOqqpxI3wM/9JY2LscoMlyADogbWqVFnCdOqunv4HUFp1YpnSs2mVa6hqyxDJGDS5uSg9m+aQdrjtSFVQkKCYq34/BVWkijgo2MoTLP+OXiqSokt0FwxoPABdoru4NKCyRWBgII4ePYrw8HAMHToUN27ccHWTiIt5XVCVlpaGTp06GQ3Ddu3aFaWlpbh8+XKt1/jf//6Hf/3rX1i3bp1NtYqI5xDWqLJtPZUOP9mFJ45U8ddTAe4RVAnTque4sCXEnVn7LbvV38pbgDEmrFPlRkEVJxJBHGK8rkpM6dRJFd9OHcHJLSuhwUkkEPn6OLhF7ik6Ohp///03MjMz0bhxY1c3h7iY103/y8rKQp8+fYz2x1TdEGZmZqJt27Zmz2eMYe7cuRg7diy6d+9u1fBtdnY2cnKEN3pXrlRWq1epVFBVra+xhVqthkajgVpd+1A7sVwFL+iRNIy1y3slblCdglyZkWGXa1rD1r5Scfu2/v+cTAZtQIDTX4MhES9rmSo7x+Xt8Sbe9NnCrMwKyfz97d6XtKWlAP+aDngOW4hDggUZEQGACwqyuI3e1F+IaVIL1xaLQ0PBUJmC3RxdXUFtDccQouOM/sIYq6zDZuYzry6f124dVGm1WiiVli2UlMvl4DgOZWVlkMvlRo8rFAoAQJlBvQVDu3btwu+//44DBw5Y3d4tW7Zg2bJlJh8rLCxEnh0W1qvVaty/fx+MMUgkbv32eZQK3rC9KjTULu+VkreGQltYiJzrNyAKcF4KcFv7StnVv/X/5yIikM9bX+UqKj9f/f8r7t6xy/tEKnnTZwtr1AhcSAiYJX3WxweljRqhzM59SXv3rmC7GEC5G/VXbYBxPapSqdTiBDDe1F+Iaaxhw1qn0HJ+fmDBwdBoNOavw5j+cZr9Q2rjrP7CGINSqTR7H1FYWHtdNUNu/Un43XffoV+/fhYde/HiRbRs2RI+Pj4m102VV1WN9/ExP0RdVFSEl19+GQsXLkRcHbK/zZo1C6NHjxbsu3LlCkaOHImgoCC71C9Qq9XgOA6hoaH0h8xOtGVluJefr98OSmwBfzu8VxWtWqGEtx1QWgJFE+dND7C1r9wtLER51f/lsQ3dov6GKDYW+t/ugkK3aJO38LrPllGPo2D7jtqPKysD9+GHCJ07165/wCtycsD/kxwS1wgyN+qvqshIFBvsC27UCD4WttHr+gsxUlxcDI7jIAkIgCY/H4w3KslJJBCHhkIcFmZUssAc6ifEGo7uLxzHQSaTmb2PCKrDlG237uEtW7bEzp07LTpWN70vJiYGWbyCpTq6fQ14U7IMvfXWW1AqlRg7dqx+2t+tqoKw9+7dw/Xr19GgQQPIZKbnGUdGRiLSTAE8qVQKqZ2yS4nFYkgkErtdr76rMJjiqWjSxC4/W3GTJoJtlnUH0vbtbb6uVW2woa9o7lYnqpDFNHCL/ibnFWfU5OVBIhZTsVI78qbPFrEV/eLe9h1AWTmi/u9lu/UnZUmJYFseHgaJG/1cpSZuJOSRkVa9997UX4gx3dp0aWQkJOHh0JaWVWb5E1euobL0d0Wr1eq/sDCVdpwQPmf1F47jwHGc2c+vunyuuXVQFR0drS+8ZqkOHTrg9OnT0Gq1gjfjp59+gq+vL1q0aGH23Js3b+LevXto06aN0WOrVq3CqlWrkJaWZpQ2k3g2e9eo0hH5+kIcEQ5NVepvZYZn1TxTZ1Z/OeHqGlU6/EQV0GigKSigNNDEiDovD/m7P6jeIZUK1jeJw8Ph37sXCo8eA6pmMdz74ANoS0oQs3IFOLHY5jZoCoRTR8SBxtPtXMlUpj9TySsIAaqSm9RQh4oQ4uZBVV2MGjUKBw4cwCeffKKvU5Wbm4v9+/dj+PDhgvVWV69eBVBZVRsA5s2bh5EjRwqul52djenTp2PSpEl45JFH0LRpU+e8EOI0/BpV4qAgu978yGLjUFYVVKl4advdHWMMqjvVI1WurlGlIwmPEGyrc3IpqCJGct99F6yqMCcANP7XLjCVGprCAoiDgiszm0mlCB49BhnTp0N7/z4AoPDTT6EtK0PD1f8EZ2ZGgqUEmf/8/BxSB8sWkjCD3xux2K3SvhNCiKfxyqDqwQcfxOTJk/Hnn38iPDwcW7ZsgUajMUoi8dBDDwGoLtDWqVMndOrUSXCM7rE2bdoYBVzEO/DTnVua7chS0rhYlKVV1sDxpFpVmnv3wHhrE6Ux5qfNOhO/ThVQlVY90fzoM3EsplJV1oQyCFYcdZ4lVLdvo2Dff/TbAQMHwNfgc13Ht1NHNP7XLtx8doq+0PX9Y8eQUVaK2PXrwYnFdW6nu9ao0hGHCIMqkZ8foNGYrF9FCCGkdl4XVInFYnzxxRdYuHAhNmzYgLKyMnTp0gW7du1CYmKiq5tH3JCSF+zIGtk3qPLUWlWqTOG6RLeZ/hccDIjFlTd/gFFKaOIcTKVC7vbtuLdnr+A9EIeHI2T8EwifOtVk8FHX86yRs3kLmG6qn0iEiPnzazxe0bo1Gn+wGzcnPwN1djYAoOTUd/g7ZRi0ZWXQ8JLYWNNOfu0rUbB7BVVMpULxd98J9mmLipDer7/d3gdCCKlvvC6oAoCQkBDs2LEDO3bUnPnJkhpUTZo00efLJ96JPy1PGmv/kSr982RlgalUHnGzYlT4NzraRS0R4kQiSMLC9De/6qqplcR5mEqFjDlzUHLqO6OsX5q8PORu2Ijy384jdtNGQV+v63nWqLh6FYUHD+q3g0aMgDwhodbz5PHxaLznA9yc/AxUVcmJVLw6bXVpp7uOVAneBwP2eh8IIaQ+onF+Uq8xrVZ/EwUIgyB7kDWqHqmCRgOVicyU7kjNa6c4KAgiX98ajnYuCS9ZhTqXgipny92+vfqG3PALp6rt4lOnkGfwpVZdz7NGzvoNgK5YpFSK8DlzLD5XFheHxns+qDlZgxXt1AqCqmCL2+FogvfBkJ3eB0JItW+//RYcx+Hbb7+tV89dH1FQReo1dXY2GK/ANH+6nj1IY4VBmmGmQXelyuIlqaihDIEriCMoqHIVplLh3p69FtWlydm0GVeGDMXVoSm4MmQocjdvqf0JOA75e/ZWT9+zQtnvf+D+V1/pt0PGjoUstqFV15CEhlpWc8eCdvKz/7nLSJXF758N7wMh9dWWLVuwa9cuVzfDLWi1WqxevRpNmzaFQqFAu3btsG/fPovPP3v2LIYPH47o6Gj4+/ujXbt22LBhg8ki0/fv38eiRYvQtGlTyOVyNGzYEKNGjUIpL1mRs3jl9D9CLKW8KUxzLrPzSJUkIgKcQgFWlbbZUzIA8kfUpG6S+U9HOFKV48KW1D+lZ9MsX8em0UB17Zp1T8AYNLm5KD2bBr9uXa06Needd/T/53x9ET5junXPjarXx1tDZZYF7XTH6X8Wv382vA+E1FdbtmxBeHi4USmgPn36oKyszGyNU2/0yiuv4M0338TUqVPRpUsXHDp0COPHjwfHcRg3blyN5/7666/o06cPmjdvjhdffBG+vr44evQo5s+fj6tXr2L9+vX6YwsLC5GcnIxbt25h2rRpSEhIQE5ODk6fPo2Kigr4OnmWDQVVpF4TBDlSKSR2XjvEcRxkcbGoSL8CwHNqVfHXVLnLeiodSVh1UKWhkSqn4idfcKfnKfnxR5ScOaPfDp34lCD4dtTz1nS8OwZV9nx9hBDLiEQiKBQKVzfDaW7fvo23334bs2fPxqZNmwAAU6ZMQXJyMhYuXIjRo0dDXEMtwG3btgGonLoYXvU5Pn36dCQnJ2PXrl2CoOrll1/GjRs3cPbsWUHJoxdffNERL61WNP2P1GuCzH8NGtil6KchfvILTxmpcsfCvzqCkSpKVOFU1q4NCnx0JMLnzkHgoyMd9jyMMWSvrR6lEgUFIeyZZ6x6vro8b23HC4IqN8n+Z8/XR4inS0tLw5AhQxAYGAh/f3889NBD+PHHHwXH7Nq1CxzH4bvvvsP06dMRFhaGwMBATJw4EfeqyjAAlUnNLly4gFOnToHjOHAch759+wIwva6pb9++SEpKwvnz55GcnAxfX18kJCTgwIEDAIBTp06hW7du8PHxQWJiIo4fPy5o140bNzBr1iwkJibCx8cHYWFhGD16tEUJ2Bzt0KFDUKlUmDVrln4fx3GYOXMmbt26hf/+9781nl9UVASFQoHg4GDB/piYGPj4+Oi3CwoKsHPnTkybNg1NmzaFUqlEBa8UjCtQUEXqNZUDa1Tp8NO0e8KaKqZUCtYquUvhXx1+rSpNQYFgTRxxMA4WrzkSh4ejwfLliJg9Gw2WL4c4LMyic0UBAfDt1NHiJhWfOIHy8+f12+FTp9S5gLdvp46WtzMoyGw7teXl+im/gPuMVFn8+qreP2veB0I8yYULF9C7d2/89ttvWLRoEV577TVcu3YNffv2xU8//WR0/Jw5c3Dx4kUsXboUEydOxJ49ezBy5Eh9duh169YhNjYWLVu2xO7du7F792688sorNbbh3r17GDZsGLp164bVq1dDLpdj3Lhx+PDDDzFu3DgMHToUb775JkpKSjBq1CjcrypSDgA///wzzpw5g3HjxmHDhg2YMWMGTpw4gb59+9q0lkitVuPy5cvIzMw0+XhxcTGKiopqvEZaWhr8/PzQqlUrwf6uXbvqH69JcnIyioqKMGPGDFy8eBE3btzA1q1b8cknn+Dll1/WH/f999+jvLwcCQkJGDVqFHx9feHj44OePXvi3LlzFrxa+6Ppf6Rec2SNKh3hSFUGGGPgLLkxdRFVdrYgO5u7FP7VMZzWpc7Pd7spit6o+IcfcGvOXOPMfaYwhtAJ4/UpuTmpFCETxiN3w8ZaT9UWF6Po6FEEjRhR+9NoNMhet06/LYmIQMiECbW3zwyr2llSgpKf/gf/Xj2NHtMUCm863CWosvj1Gbx/hHibV199FSqVCt9//z2aNWsGAJg4cSISExOxaNEinDp1SnC8TCbDiRMnIK36nWjcuDEWLVqEzz//HCNGjMDIkSPx6quvIjw8HE8++aRFbcjMzMTevXvxxBNPAAAGDhyIli1bYvz48Thz5gy6desGAGjVqhUGDRqEjz/+WL9eKyUlBaNGjRJcb/jw4ejevTs+/vhjPPXUU1b9PDQaDdauXYs333wT+VXrShMTEzF+/HgMGzYMkZGR+P7777F48WJ88sknSEpKMnutrKwsREVFGd3nxFR9QWsuYNOZOnUqLly4gO3bt+O9994DUFmDdtOmTZgxY4b+uPT0dACVUwDj4+Px73//G4WFhVi2bBn69++PCxcu6J/TWSioIvWaI2tU6a/LS36hLS6GpqAAkprSNruYyuADz92m/4kNg6qcXAqqHOz+iRO4veA542xwHCcMsqq2/ZOTETZliuDQ8KlTUf7beRSfOmV8Hh9jyHzxJWhLSxFSy4Lmws8/h/LK1ernmD0LIt70kLqwuJ1qNW7NnIkGa99G4MCBgocM1yKJ3CSoAmp5fTW8f4QYysjIQEYtsy+CgoIEIxaFhYW4cOFCrdfu0aOHYPsMb80kX1xcHOKsnGWi0Wjw1VdfYeTIkfqACqi86R8/fjy2b9+OoqIiBPJGvKdNm6YPqABg5syZ+L//+z988cUXGGHBF0Cm+Pv7C5I2JCYmIjg4GA0bNtQHVAD0///777/1+/jT4FQqFYqKipCQkIDg4GCcPXvW6qDqxx9/xIYNG7Bs2TI88MADyMzMxGeffYa33noLS5YsAQAoFAosWLAALVq0qPFaZWVlkMvlRvt168rKyspqPF8sFqNZs2Z4+OGHMWbMGCgUCuzbtw9z585FdHQ0Ro4cCaBy1AyonFp44sQJ+Pv7AwA6duyI7t27Y/PmzVi5cqVVPwdbUVBF6i1NcYkg05ejRqoEtapQOVrlzkEVv0YVxGJIIiJc1xgTDNtDGQAdq/Dzw8h86SWAl8o2dNpUiBQ+uLd3ryBZiDgsDKETxiNsyhSjUQ5OKkXspo3I27ED+XsMzgsPh0/btij+5pvKHYzhztJl0JaUIOzZZ022iymVyN24Sb8tbdQIwY8/bvPrra2d8mbNUPq//1W2QaWqDDbfWCUYWePXqALca21Sja+vhvePEEOlpaXIszQbaBW1Wm31OQDMnhMWFmb1tXJyclBaWorExESjx1q1agWtVouMjAy0adNGv7958+aC4/z9/RETE2PTGqbY2Fij0ZygoCCjIDGo6ksZ/hqusrIyvPHGG9i5cydu376tn4YIVAau1oqPj8fvv/8uWMf02GOPYevWrfjll19QVlaGBx54AMHBwVDVUmrBx8fH5Nqm8qop0T61fPH1z3/+Exs2bMClS5f0ge2YMWPQr18/zJ49G8OGDYNEItFfZ/jw4fqACgAefPBBNG3a1Gwg7kgUVJF6S3VL+A2bo9ZUSRsKa+UoMzLg066dQ57LHvjp1CVRkQ5J3mELkZ+fIE29xSm+idXuffgR7ixdKhjNiHzhef0oRvjUKZVpugsLIA4Khm+njjXejHNSKcJnzkTYFNPnFX72GTJf/j99AJe95i1oS0oQPneu0c3HvY/2Q3X7tn47Yu5cuwUCtbUz7733kb1mTeXBGo3RyJrGKKiq2xovR6nt9RFiCV9f31qDmiCDUVqJRFKnQMjcOc5OmW1P5jLgmdvPD5zmzp2LnTt3YsGCBejevTuCgoL06cq1ugLoVoiOjsaHH36Id955B2fPnoWfnx969+6Nxx57DAMHDkRYWBh++uknLF26FBs3bqxx+l9MTAy++eYbo6UOWVX3Fg1qqX2ZmpqKvn37CgIlABgxYgT+8Y9/4Pr160hISNBfJyoqyugakZGRgiDUWSioqgeYSlWnP5zefl6FQQ0dSZRjppCJ5HJIoqKgvnsXAFD8zTeQhEc49PUxlQqlP/8M5a1bKI2NRWCXLpY/12/Vi/4l0e419Q+oHOoXh4VBXXVDXZp2DkGPPOKWfcyjzjPoL/m7P0D26tWC46KXLEZI1fx/oPLmvC51jMydFzRiBDgfH2T+43n9VMPcLanQlpQg8qWXALUapWfToM7ORs6GDfrz5ImJCEwZanU76trOsGefgcjPD3eWLasMOA1G1tT8WldSqdt9MaFT1/ePEMDyqXf8m/ygoCCjqX2WqMs55kRERMDX1xeXLl0yeuyvv/6CSCQyel3p6eno16+ffru4uBhZWVkYOrT6c8eZa6UPHDiAp59+Gm+//bZ+X3l5OQoKCup0vTNnzmDmzJmYP38+li5dilu3buHgwYOYOnUq1Go1gMpg75lnnkF8fHyN1+rQoQN27NiBixcvonXr1vr9ugQgHTp0qPH8u3fvmizyqxsh07Wnc+fOACpTuBvKzMxEy5Yta3weR6CgyosxlQq527fj3p69gm/zxeHhCBn/BMKnTjV5w1Vfzsvb8Z5g/9/DhtV4Xl0xlUpwU1V0+AiKDh9xyOszdU4JgLt1fK6KCxeQs2WL3X8mdaVrpy5ABYDCjz9G8alTbtnHPPG8EgBZvr5g/AxSIhEavLEKQY88YnQNewscOBCi1FTcmjNHPxqZ/69/o/SXX6C6c9fkyGT43DngRM5NZhsybixEvj5GI2vFp06h7A/emhGVCun9+jvks4UQYj2xWIyHH34Yhw4dwvXr19GkSRMAlTfze/fuRa9evQTrqYDK2kmTJ0/Wr6tKTU2FWq3GkCFD9Mf4+fnVOaipy2tgBus9N27caDIYsURcXBz++OMPwSjSlClTkJ+fjx9++AHl5eXo3r07YmNja7hKpUceeQTPPfcctmzZoq9TxRjD1q1b0bBhQ0GAnJWVhcLCQsTHx+t/ti1atMCJEyeQl5eHiKrp/hqNBh999BECAgL0QV1iYiLat2+PQ4cOITc3V1/T6quvvkJGRgbmzp1bp5+FLSio8lJMpULGnDkoOfWdUfpcTV4ecjdsRPlv5xG7aaPgj3y9Os9ATefVle75DJM/OOL1OeJnySoq7P4zqau6vnce2TddfJ4goJJI0HDt2wh8+GE4i3+vnmj03g5kTJ8BbdVi5PILf5o9vmD/AQQkJzu9f5oaWSv9389Gxznis4UQUncrV67E119/jV69emHWrFmQSCR49913UVFRgdUGI/QAoFQq8dBDD2HMmDG4dOkStmzZgl69egmSVHTu3BmpqalYuXIlEhISEBkZif79+zuk/cOGDcPu3bsRFBSE1q1b47///S+OHz9ep6mVAMyOOIaGhmL48OFWXSs2NhYLFizAmjVroFKp0KVLFxw8eBCnT5/Gnj17BNMbX375ZfzrX//CtWvX9MHtokWLMHHiRHTv3h3Tpk2Dj48P9u3bh19//RUrV64UJAx55513MHDgQPTq1QvTp09HYWEh1q5dixYtWmDmzJnW/yBsRHWqvFTu9u3VN5+G2auqtotPnULejh319zxDNZxXV3V9vrq8Pof8LKvY82dSV878Wdb783gCU1KcGlDp+HbujEa7doGryhhVkxIX9s/AgQMRm5oKSGr4jtIBny2EkLpr06YNTp8+jaSkJLzxxhtYtmwZGjdujG+++UaQeU9n06ZNaNWqFRYvXoxdu3bhiSeewKFDhwRT/hYvXoyhQ4di9erVeOKJJ7B8+XKHtX/9+vX6elnPP/88srKycPz4caN1SK7y5ptvYtWqVfjyyy8xe/ZsXL9+HR988AHGjx9f67kTJkzA4cOHERsbizVr1uCFF15AcXExtm7dalT7q1+/fjh27BhCQkLwf//3f9i4cSNGjhyJU6dOueRnwTHD8UNiVxcuXEBSUhL++OMPQSaZulKpVMjLy0NYWJggWudjKhXS+/arzGxXy9vLKRQITEkBJxKBabUoOnwYzIKK1F59XtWanebfnLTpG2Vnvg8APOJnUlfUp113njg83LXve+8+0NQ2pcYN+uflXr2gNahPZcTF7bQnS/4WEc+mS+HNTzteF1qtFhqNBmKxGCInT9O11a5duzB58mT8/PPPeOCBB1zdnHrBWf2ltv5dl/t3mv7nhUrPplmcEY2Vl6Pw44+tfg6vPo8xaHJzUXo2zaZF3O76PrjyZ1JX7vqzrA/nufx9t2SNghv0z1oDKsDl7SSEEOI4nvWVAbGIYeFJUje2/hy98X1w1Wvyxp+lJ/GU953aSQghxFVopMoLWVtoUtGmNcRBQdAUFta4GLy+nWdrwU5nvg9AzQv57fVcripiSn3ated5yvtO7SSEEOIqFFR5Id9OHSEOC6t9/UnV/P4m//kPOKnU8nUr9eQ8304dzR9jAWe+DwA84mdSV9SnXXuep7zv1E5CiD1NmjQJkyZNcnUziIeg6X9eiJNKETJhfK0L+sEYQieM1y+YpvNMn1dXzmynp/xM6spT+oq3n+ds1E5CCCGegoIqLxU+dSr8k5MrNwyrfFdt+ycnI2zKFDrPgvPqypnt9JSfSV15Sl/x9vOcjdpJiOtQgmjirRzRtymluoO5IqW6DlOpkLdjB/L37IUmN1e/XxwejtAJ4xE2ZYrJb0zpPNPn1ZUz2+kpP5O68pS+4u3nORu10/1QSnXvd/36dSiVSjRv3lxQj8lanpxSnTifM/oLYwzp6emQyWT6osOG6nL/TkGVg7kyqNJhKlVlauLCAoiDguHbqaNFf9jpPPtyZjuZSoWin39G4a1bCIqNRWCXLm75M6krT+krnnReXfqLs3l7//QkFFR5v6ysLBQUFCA0NBSRkZF1DqwoqCLWcHR/YYwhOzsb+fn5CA4ORkxMjMnjKKhyQ+4QVJH6ifoKsQb1F2IN6i/eT6vV4ubNmygrK4NYLIZYLK5TYMUYA2MMHMfZNOJF6gdH9hfGGDQaDTQaDXx8fNCoUSOzgVtd7t/pKwNCCCGEECIgEonQqFEjBAcHQyaT1fkGlzEGpVJJ67OIRRzZXziOg0wmQ3BwcI0BVV1RSnVCCCGEEGJEJBKZnR5lKRrVJNbw5P5CI1WEEEIIIYQQYgMKqgghhBBCCCHEBhRUEUIIIYQQQogNKKgihBBCCCGEEBtQUEUIIYQQQgghNqCgihBCCCGEEEJsQCnVHayiogIAcOXKFbtcT6VSobCwEEFBQR6XapI4F/UVYg3qL8Qa1F+IpaivEGu4S3/R3bfr7uMtQUGVg2VkZAAARo4c6dqGEEIIIYQQQiyWkZGBTp06WXQsx6jEtUMVFBTg1KlTiIuLg1wut/l6V65cwciRI3Hw4EEkJCTYoYXEW1FfIdag/kKsQf2FWIr6CrGGu/SXiooKZGRkIDk5GcHBwRadQyNVDhYcHIxHHnnE7tdNSEhAmzZt7H5d4n2orxBrUH8h1qD+QixFfYVYwx36i6UjVDqUqIIQQgghhBBCbEBBFSGEEEIIIYTYgIIqQgghhBBCCLEBBVUeJiIiAkuWLEFERISrm0LcHPUVYg3qL8Qa1F+IpaivEGt4cn+h7H+EEEIIIYQQYgMaqSKEEEIIIYQQG1BQRQghhBBCCCE2oKCKEEIIIYQQQmxAQRUhhBBCCCGE2ICCKkIIIYQQQgixAQVVHqKiogIvvvgiGjRoAB8fH3Tr1g1ff/21q5tFHKC4uBhLlizB4MGDERoaCo7jsGvXLpPHXrx4EYMHD4a/vz9CQ0Px1FNPIScnx+g4rVaL1atXo2nTplAoFGjXrh327dtn0zWJ6/3888+YM2cO2rRpAz8/PzRq1AhjxozB5cuXjY6lvkIuXLiA0aNHo1mzZvD19UV4eDj69OmDzz//3OhY6i/E0Ouvvw6O45CUlGT02JkzZ9CrVy/4+voiOjoa8+bNQ3FxsdFx1tzLWHpN4nrffvstOI4z+e/HH38UHOvVfYURjzBu3DgmkUjYCy+8wN59913WvXt3JpFI2OnTp13dNGJn165dYwBYo0aNWN++fRkAtnPnTqPjMjIyWHh4OIuPj2fr169nr7/+OgsJCWHt27dnFRUVgmNfeuklBoBNnTqVbdu2jaWkpDAAbN++fXW+JnG9xx9/nEVHR7O5c+ey7du3sxUrVrCoqCjm5+fHfv/9d/1x1FcIY4wdOXKEDRo0iC1dupRt27aNrVu3jvXu3ZsBYO+++67+OOovxFBGRgbz9fVlfn5+rE2bNoLH0tLSmEKhYB07dmSpqanslVdeYXK5nA0ePNjoOpbey1hzTeJ633zzDQPA5s2bx3bv3i34l5OToz/O2/sKBVUe4KeffmIA2Jo1a/T7ysrKWHx8POvevbsLW0Ycoby8nGVlZTHGGPv555/NBlUzZ85kPj4+7MaNG/p9X3/9tdEN0q1bt5hUKmWzZ8/W79Nqtax3794sNjaWqdVqq69J3MMPP/xgdEN6+fJlJpfL2YQJE/T7qK8Qc9RqNWvfvj1LTEzU76P+QgyNHTuW9e/fnyUnJxsFVUOGDGExMTGssLBQv2/79u0MAPvyyy/1+6y5l7H0msQ96IKq/fv313ict/cVCqo8wMKFC5lYLBZ0GMYYW7VqFQPAbt686aKWEUerKaiKjIxko0ePNtrfokUL9tBDD+m3N2/ezACwCxcuCI7bu3cvAyD41sfSaxL31qlTJ9apUyf9NvUVUpNhw4axqKgo/Tb1F8J36tQpJhaL2fnz542CqsLCQiaRSNjChQsF51RUVDB/f3/27LPP6vdZei9jzTWJe+AHVUVFRUylUhkdUx/6Cq2p8gBpaWlo0aIFAgMDBfu7du0KADh37pwLWkVc6fbt28jOzsYDDzxg9FjXrl2Rlpam305LS4Ofnx9atWpldJzucWuvSdwXYwx3795FeHg4AOorxFhJSQlyc3Nx9epVvPPOOzh69CgeeughANRfiJBGo8HcuXMxZcoUtG3b1ujx33//HWq12ui9lclk6NChg1F/seRexpprEvcyefJkBAYGQqFQoF+/fvjll1/0j9WHvkJBlQfIyspCTEyM0X7dvszMTGc3ibhYVlYWAJjtF/n5+aioqNAfGxUVBY7jjI4DqvuPNdck7mvPnj24ffs2xo4dC4D6CjH2/PPPIyIiAgkJCXjhhRfw6KOPYtOmTQCovxChrVu34saNG1ixYoXJx2t7b/n3J5bey1hzTeIeZDIZHn/8caxfvx6HDh3CypUr8fvvv6N37976wKY+9BWJU5+N1ElZWRnkcrnRfoVCoX+c1C+697y2fiGXyy3uP9Zck7inv/76C7Nnz0b37t3x9NNPA6C+QowtWLAAo0aNQmZmJj766CNoNBoolUoA1F9Itby8PCxevBivvfYaIiIiTB5T23vLvz+xV3+hex7306NHD/To0UO/PWLECIwaNQrt2rXDyy+/jGPHjtWLvkIjVR7Ax8fH5Ld45eXl+sdJ/aJ7zy3pF5b2H2uuSdzPnTt3kJKSgqCgIBw4cABisRgA9RVirGXLlhgwYAAmTpyIw4cPo7i4GMOHDwdjjPoL0Xv11VcRGhqKuXPnmj2mtveW/77aq79QX/EMCQkJeOSRR/DNN99Ao9HUi75CQZUHiImJ0Q9x8un2NWjQwNlNIi6mG+o21y9CQ0P139zExMTgzp07YIwZHQdU9x9rrkncS2FhIYYMGYKCggIcO3ZM8JlAfYXUZtSoUfj5559x+fJl6i8EAJCeno5t27Zh3rx5yMzMxPXr13H9+nWUl5dDpVLh+vXryM/Pr/W9NfwssuRexpprEvcWFxcHpVKJkpKSetFXKKjyAB06dMDly5dRVFQk2P/TTz/pHyf1S8OGDRERESFYBKrzv//9T9AnOnTogNLSUly8eFFwnGH/seaaxH2Ul5dj+PDhuHz5Mg4fPozWrVsLHqe+QmqjmyJTWFhI/YUAqEwuotVqMW/ePDRt2lT/76effsLly5fRtGlTLF++HElJSZBIJEbvrVKpxLlz54z6iyX3MtZck7i3v//+GwqFAv7+/vWjrzg11yCpkx9//NEoX395eTlLSEhg3bp1c2HLiKPVlFJ9xowZzMfHR5BS//jx4wwAS01N1e/LyMgwW0umYcOGgloyll6TuAe1Ws1GjBjBJBIJO3LkiNnjqK8Qxhi7e/eu0T6lUsk6derEfHx82P379xlj1F8IYzk5OezTTz81+temTRvWqFEj9umnn7Lz588zxhgbPHgwi4mJYUVFRfrzd+zYwQCwo0eP6vdZcy9j6TWJe8jOzjbad+7cOSaVStmIESP0+7y9r1BQ5SFGjx6tz8X/7rvvsh49ejCJRMJOnTrl6qYRB9i4cSNbsWIFmzlzJgPAHnvsMbZixQq2YsUKVlBQwBhj7ObNmywsLIzFx8ezDRs2sFWrVrGQkBDWtm1bVl5eLrjewoULGQA2bdo0tn37dpaSksIAsD179giOs+aaxPXmz5/PALDhw4cbVbHfvXu3/jjqK4QxxkaOHMn69+/Pli5dyrZv385WrFjBWrZsyQCwt99+W38c9Rdijqniv7/++iuTy+WsY8eOLDU1lb3yyitMoVCwhx9+2Oh8S+9lrLkmcb1+/fqxoUOHspUrV7Jt27axBQsWMF9fXxYUFMT+/PNP/XHe3lcoqPIQZWVl7IUXXmDR0dFMLpezLl26sGPHjrm6WcRBGjduzACY/Hft2jX9cX/88Qd7+OGHma+vLwsODmYTJkxgd+7cMbqeRqNhq1atYo0bN2YymYy1adOGffDBByaf29JrEtdLTk42208MJyJQXyH79u1jAwYMYFFRUUwikbCQkBA2YMAAdujQIaNjqb8QU0wFVYwxdvr0adajRw+mUChYREQEmz17tmDkQMeaexlLr0lcb/369axr164sNDSUSSQSFhMTw5588kmWnp5udKw39xWOMYMVpoQQQgghhBBCLEaJKgghhBBCCCHEBhRUEUIIIYQQQogNKKgihBBCCCGEEBtQUEUIIYQQQgghNqCgihBCCCGEEEJsQEEVIYQQQgghhNiAgipCCCGEEEIIsQEFVYQQQgghhBBiAwqqCCGEEEIIIcQGFFQRQgghhBBCiA0oqCKEEFIvcByHpUuX6rd37doFjuNw/fp1l7WJEEKId6CgihBCCHGQ0tJSLF26FN9++63drvnFF18IgkNCCCGuR0EVIYSQeumpp55CWVkZGjdu7LDnKC0txbJly+weVC1btsxu1yOEEGI7CqoIIYS4La1Wi/LycodcWywWQ6FQgOM4h1yfEEJI/UFBFSGEEIf79ttv8cADD0ChUCA+Ph7vvvsuli5dahTQcByHOXPmYM+ePWjTpg3kcjmOHTsGAHjrrbfQo0cPhIWFwcfHB507d8aBAweMnquiogLPPfccIiIiEBAQgBEjRuDWrVtGx5lbU3X06FH07t0bfn5+CAgIQEpKCi5cuCA4ZtKkSfD398ft27cxcuRI+Pv7IyIiAi+88AI0Gg0A4Pr164iIiAAALFu2DBzHGa3rMqRSqbBs2TI0b94cCoUCYWFh6NWrF77++mv9827evFn/s9L909FqtVi3bh3atGkDhUKBqKgoTJ8+Hffu3RM8T5MmTTBs2DB89dVX6NChAxQKBVq3bo1PPvnEbNsIIYSYJ3F1AwghhHi3tLQ0DB48GDExMVi2bBk0Gg2WL1+uDzgMnTx5Eh999BHmzJmD8PBwNGnSBACwfv16jBgxAhMmTIBSqcR//vMfjB49GocPH0ZKSor+/ClTpuCDDz7A+PHj0aNHD5w8eVLweE12796Np59+GoMGDcI///lPlJaWIjU1Fb169UJaWpq+LQCg0WgwaNAgdOvWDW+99RaOHz+Ot99+G/Hx8Zg5cyYiIiKQmpqKmTNn4tFHH8Vjjz0GAGjXrp3Z51+6dCneeOMNTJkyBV27dkVRURF++eUXnD17FgMHDsT06dORmZmJr7/+Grt37zY6f/r06di1axcmT56MefPm4dq1a9i0aRPS0tLwww8/QCqV6o9NT0/H2LFjMWPGDDz99NPYuXMnRo8ejWPHjmHgwIEW/bwIIYRUYYQQQogDDR8+nPn6+rLbt2/r96WnpzOJRMIM/wwBYCKRiF24cMHoOqWlpYJtpVLJkpKSWP/+/fX7zp07xwCwWbNmCY4dP348A8CWLFmi37dz504GgF27do0xxtj9+/dZcHAwmzp1quDcO3fusKCgIMH+p59+mgFgy5cvFxzbsWNH1rlzZ/12Tk6O0fPWpH379iwlJaXGY2bPnm30c2OMsdOnTzMAbM+ePYL9x44dM9rfuHFjBoB9/PHH+n2FhYUsJiaGdezY0aK2EkIIqUbT/wghhDiMRqPB8ePHMXLkSDRo0EC/PyEhAUOGDDF5TnJyMlq3bm2038fHR///e/fuobCwEL1798bZs2f1+7/44gsAwLx58wTnLliwoNa2fv311ygoKMATTzyB3Nxc/T+xWIxu3brhm2++MTpnxowZgu3evXvj77//rvW5zAkODsaFCxeQnp5u9bn79+9HUFAQBg4cKGh/586d4e/vb9T+Bg0a4NFHH9VvBwYGYuLEiUhLS8OdO3fq/BoIIaQ+oul/hBBCHCY7OxtlZWVISEgweszUPgBo2rSpyf2HDx/GypUrce7cOVRUVOj389cU3bhxAyKRCPHx8YJzExMTa22rLpDp37+/yccDAwMF2wqFwmgKY0hIiNH6JWssX74cjzzyCFq0aIGkpCQMHjwYTz31VI1TBnXS09NRWFiIyMhIk49nZ2cLthMSEozWtLVo0QJA5Xqw6OjoOr4KQgipfyioIoQQ4lb4I1I6p0+fxogRI9CnTx9s2bIFMTExkEql2LlzJ/bu3WuX59VqtQAq11WZCigkEuGfTLFYbJfn5evTpw+uXr2KQ4cO4auvvsKOHTvwzjvvYOvWrZgyZUqN52q1WkRGRmLPnj0mHze3ho0QQojtKKgihBDiMJGRkVAoFLhy5YrRY6b2mfPxxx9DoVDgyy+/hFwu1+/fuXOn4LjGjRtDq9Xi6tWrgtGpS5cu1focutGtyMhIDBgwwOK21aQu6dpDQ0MxefJkTJ48GcXFxejTpw+WLl2qD6rMXTM+Ph7Hjx9Hz549TQamhq5cuQLGmOB6ly9fBgBBQg5CCCG1ozVVhBBCHEYsFmPAgAE4ePAgMjMz9fuvXLmCo0ePWnUdjuP06cqByilqBw8eFBynW6e1YcMGwf5169bV+hyDBg1CYGAgVq1aBZVKZfR4Tk6Oxe3V8fX1BQAUFBRYdHxeXp5g29/fHwkJCYLpjn5+fiavOWbMGGg0GqxYscLoumq12uj4zMxMfPrpp/rtoqIi/Pvf/0aHDh1o6h8hhFiJRqoIIYQ41NKlS/HVV1+hZ8+emDlzJjQaDTZt2oSkpCScO3fOomukpKRg7dq1GDx4MMaPH4/s7Gxs3rwZCQkJOH/+vP64Dh064IknnsCWLVtQWFiIHj164MSJExaNigUGBiI1NRVPPfUUOnXqhHHjxiEiIgI3b97EkSNH0LNnT2zatMmq1+7j44PWrVvjww8/RIsWLRAaGoqkpCQkJSWZPL5169bo27cvOnfujNDQUPzyyy84cOAA5syZoz+mc+fOACqTcQwaNAhisRjjxo1DcnIypk+fjjfeeAPnzp3Dww8/DKlUivT0dOzfvx/r16/HqFGj9Ndp0aIFnn32Wfz888+IiorC+++/j7t37xqN/hFCCLGAq9MPEkII8X4nTpxgHTt2ZDKZjMXHx7MdO3aw559/nikUCsFxANjs2bNNXuO9995jzZs3Z3K5nLVs2ZLt3LmTLVmyxCi9eFlZGZs3bx4LCwtjfn5+bPjw4SwjI6PWlOo633zzDRs0aBALCgpiCoWCxcfHs0mTJrFffvlFf8zTTz/N/Pz8jNpoqj1nzpxhnTt3ZjKZrNb06itXrmRdu3ZlwcHBzMfHh7Vs2ZK9/vrrTKlU6o9Rq9Vs7ty5LCIignEcZ/R827ZtY507d2Y+Pj4sICCAtW3bli1atIhlZmbqj2ncuDFLSUlhX375JWvXrp3+Z7p//36zbSOEEGIexxhjLozpCCGE1FMjR46sc/pwYpsmTZogKSkJhw8fdnVTCCHEK9CaKkIIIQ5XVlYm2E5PT8cXX3yBvn37uqZBhBBCiB3RmipCCCEO16xZM0yaNAnNmjXDjRs3kJqaCplMhkWLFrm6aYQQQojNKKgihBDicIMHD8a+fftw584dyOVydO/eHatWrULz5s1d3TRCCCHEZrSmihBCCCGEEEJsQGuqCCGEEEIIIcQGFFQRQgghhBBCiA0oqCKEEEIIIYQQG1BQRQghhBBCCCE2oKCKEEIIIYQQQmxAQRUhhBBCCCGE2ICCKkIIIYQQQgixAQVVhBBCCCGEEGIDCqoIIYQQQgghxAYUVBFCCCGEEEKIDf4fdgANHyHhKhEAAAAASUVORK5CYII=", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABYoAAAHeCAYAAAA1uD9zAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAASdAAAEnQB3mYfeAAA/s1JREFUeJzs3XdYFFfbBvB7gV16FVBQBMSCYkMUVBQVY2/YO2CM2FAxKvaub6ImJlFjQSO22I01MfYWu8YSFTuKhdAEBEWknO8Pv92w7tIREO7fdXHpnjkz55nZ2Zkzz86ekQghBIiIiIiIiIiIiIio1NIo6gCIiIiIiIiIiIiIqGgxUUxERERERERERERUyjFRTERERERERERERFTKMVFMREREREREREREVMoxUUxERERERERERERUyjFRTERERERERERERFTKMVFMREREREREREREVMoxUUxERERERERERERUyjFRTERERERERERERFTKMVFMREREREREREREVMoxUUxERERERERERERUyjFRTEREVApJJBI0b968qMPIkydPnkAikcDX1/ezbqM4O3nyJCQSCWbNmvXJ2iiO27g4xlQcZLY/NG/eHBKJpGiCyoXPIc7PIUYiIiIq+ZgoJiIiKmLz58+HRCKBRCLBvXv3CmSZdnZ2sLOzK5BlERFR4SuML2yIiIiIMtIq6gCIiIhKMyEE1qxZA4lEAiEEVq9eje++++6TtxsSEgI9Pb1P3s7nqnz58ggJCYGxsXFRh0KFiO977mzYsAFv374t6jBKBG5LIiIiKg54RzEREVEROnz4MJ48eQIfHx+UK1cO69evx/v37z95u46OjqhYseInb+dzJZVK4ejoCCsrq6IOhQoR3/fcqVixIhwdHYs6jBKB25KIiIiKAyaKiYiIitDq1asBAEOGDEH//v0RHR2N3bt3Z1r/+fPnGD16NKpUqQJdXV2YmZnB1dUVc+fOBfDfT5WfPn2Kp0+fKoa0+Hjc1czGKI6Pj8fkyZNRrVo16OjowNTUFG3atMHRo0dV6mb8WfT169fRoUMHmJiYQE9PD82aNcO5c+dyvT0uXbqE3r17o3z58tDW1oaVlRVat26N7du3q63/5MkT9OnTB+bm5tDR0UH9+vVx4MABtXWTk5Px7bffolatWtDT04ORkRGaNm2qdtlZjVX79u1bLFiwAPXr14eh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6Ovrw83NDfb29oWwZXPOxMRE8fA6de7cuYNy5coVYkRERERERJ8PJoqJiIioyB05cqSoQ8i32rVr49ChQ/j6668xY8YMVKhQAbNnz0Z4eLgiUVytWjXs3LkT06ZNw/jx41GuXDkMHz4cFhYW+PLLL5WWN2PGDDx9+hQLFy5EQkICmjVrBk9PT0yZMgVv3rzB5s2bsW3bNtSrVw+///47Jk2apDT/0KFD8euvv2Lx4sVITExEhQoVMHr0aEybNk1Rp2zZsrh06RLmzJmD3377DcuXL0eZMmXg5OSEBQsWKOpJpVKsX78ekydPxrBhw5Camorg4OBilyhu3749goKCMGLECJVpt2/fxurVq1W2MxERERERfSARH/92kdS6ffs2atasiVu3bsHJyamowyEq1UIcqxd6m9XvhhR6m0QlzePHjwFA5c5XKnmye68/Vb/q5cuXcHNzgxACnTp1QlBQEAYMGIC0tDTs2rULVlZWuHTpkspYziUF+6tEREREBaO09qs4RjERERERlQjW1ta4evUq2rZti23btkEIgY0bN2L//v3o27cvLly4UGKTxERERERE+cWhJ4iIiIioRAgLC4OFhQXWrFmDNWvWICoqCunp6bCwsICGhgaSkpIQFhaGihUrFnWoRERERETFDu8oJiIiIqISwd7eHrt371a8trCwQNmyZaGh8aHLu2/fvmI3rjIRERERUXHBRDERERERlQjZPXojJSVFkTQmIiIiIiJlHHqCiIiIiD5br1+/RlxcnOJ1TEwMwsLCVOrFxcVh69atsLKyKsToiIiIiIg+H0wUExEREdFn64cffsCcOXMAABKJBAEBAQgICFBbVwiBefPmFWJ0RERERESfj2KdKE5OTsaMGTOwceNGxMbGonbt2pg3bx5atWqV5XyzZs3C7NmzVcq1tbXx7t27TxUuERERERWy1q1bw8DAAEIIBAYGom/fvqhXr55SHYlEAn19fbi4uKB+/fpFFCkRERERUfFWrBPFvr6+2LlzJwICAlClShWsW7cO7du3x4kTJ9CkSZNs51+xYgUMDAwUrzU1NT9luERERERUyBo1aoRGjRoBAN68eYPu3bujZs2aRRwVEREREdHnp9gmii9duoStW7di0aJFGD9+PADA29sbNWvWRGBgIM6dO5ftMnr06AFzc/NPHSoRERERFQMzZ84s6hCIiIiI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3Llz4QdGRERERPQZyFei2NbWFsePH8ezZ8/Qvn17vH37FkFBQRgwYAC6deuGPXv2QEdHp6BiJSIiIiLK1Lx585CWloaaNWti2rRpkEgkWL9+PQYMGID69evD0tISM2bMKOowiYiIiIiKpXwligHAwcEBR48exf3791G3bl0MHz4cgwYNwpYtW6ClpVUQMRIRERERZcva2hpXr15F27ZtsW3bNgghsHHjRuzfvx99+/bFhQsXYG5uXtRhEhEREREVS7nK5L569UptuaWlJbZt24ZOnTrBx8cH3377rdJD7szMzPIXJRERERFRNsLCwmBhYYE1a9ZgzZo1iIqKQnp6OiwsLKChoYGkpCSEhYWhYsWKRR0qEREREVGxk6tEsbm5OSQSSabThRBYv3491q9fr1SelpaWt+iIiIiIiHLI3t4eGzduRL9+/QAAFhYWStP37duHfv36sW9KRERERKRGrhLFM2bMyDJRTERERERUVIQQWU5PSUmBhka+R14jIiIiIiqRcpUonjVr1icKg4iIiIgo916/fo24uDjF65iYGISFhanUi4uLw9atW2FlZVWI0RERERERfT6K9S0VycnJmDhxIqytraGrqws3NzccOXIk18tp1aoVJBIJ/P39P0GURERERFRUfvjhB9jb28Pe3h4SiQQBAQGK1xn/nJ2d8ccff2DYsGFFHTIRERERUbGUqzuKPzZt2jQcOHAA169fVzvd2dkZXl5emDlzZp6W7+vri507dyIgIABVqlTBunXr0L59e5w4cQJNmjTJ0TJ+++03nD9/Pk/tExEREVHx1rp1axgYGEAIgcDAQPTt2xf16tVTqiORSKCvrw8XFxfUr1+/iCIlIiIiIire8pUo3rlzJ7p27Zrp9Pbt22Pbtm15ShRfunQJW7duxaJFizB+/HgAgLe3N2rWrInAwECcO3cu22W8e/cO48aNw8SJEzFjxoxcx0BERESFo9b6WkUdAgDgH59/8r2MR48eYeHChThy5AhevnwJmUyGWrVqoVevXvDz84Ouri6AD+PlrlixAhs3bsTdu3chhED16tXh7e2N4cOHQ0tLuZtmZ2eHmjVr4sCBA/mOsSRp1KgRGjVqBAB48+YNunfvjpo1axZxVEREREREn598DT0RFhYGBweHTKfb29vj6dOneVr2zp07oampCT8/P0WZjo4OBg8ejPPnz+PZ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n466desqksa2traFHg8RERER0eeEt/MQERFRoTA0NISenh7i4+ORmJgITU1NJotLCCEEhBBISUkB8OFXZ/r6+oUex9ChQzF06FBERERgx44d2L59OyZNmoRJkybB1dUVffr0Qc+ePRXDpRERERER0X8Kf/A4IiIiKpUkEgnKly8Pc3NzSKVSJolLEIlEAk1NTRgbG8PGxgaWlpZF+v6WLVsW/v7+OH36NMLCwvD9999DIpFg3LhxvLOYiIiIiCgTvKOYiIiICo2WlhYsLCxgYWFR1KFQKWFlZQUnJydUr14dt27dwps3b4o6JCIiIiKiYomJYiIiIiIqUYQQOHnyJLZt24bdu3cjOjoapqam6NOnD3r37l3U4RERERERFUtMFBMRERFRiXDmzBls374dO3fuRGRkJIyMjODl5YXevXvjiy++gJYWu75ERERERJlhb5mohGnVqlWht+nlMLnQ2yQiIvpYs2bNYGBggE6dOqF3795o27YtZDJZUYdFRERERPRZyFeiuHr16hg4cCD69+/PB4MQERERUZHasWMHOnToAB0dnaIOhYiIiIjos6ORn5ltbGwwc+ZMODg4wMPDA2vWrEF8fHxBxUZERERElGPdu3cv9CRxcnIyJk6cCGtra+jq6sLNzQ1HjhzJ8fzbtm1Do0aNoK+vDxMTEzRu3BjHjx//hBETEREREamXr0Tx4cOH8fz5cyxatAhJSUnw8/NDuXLl0KNHD+zduxcpKSkFFScRERERUbHj6+uLxYsXo3///vjpp5+gqamJ9u3b46+//sp23lmzZqFv376wsbHB4sWLMW/ePNSuXRsvXrwohMiJiIiIiJTle4zismXLYuzYsRg7dizu3buHTZs2YcuWLdi9ezdMTEzQu3dvDBgwAI0bNy6IeImIiIiIioVLly5h69atWLRoEcaPHw8A8Pb2Rs2aNREYGIhz585lOu+FCxcwZ84cfP/99xg7dmxhhUxERERElKl83VH8sWrVqmHu3Ln466+/0KNHD8TGxmLlypVo2rQpqlSpgp9//hnp6ekF2SQRERERUZHYuXMnNDU14efnpyjT0dHB4MGDcf78eTx79izTeX/88UeUK1cOY8aMgRACiYmJhREyEREREVGm8n1HsdybN2+we/dubNq0STGuWseOHeHt7Q2ZTIagoCCMHj0aN2/exKpVqwqqWSIiIiKi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y9GwYUN07NiRSWEiIiIionJgopiIiIiIaoRNmzZh4MCBOHDgAJSU+OAcEREREVF58A6aiIiIiGqE3NxcDBw4kEliIiIiIqIK4F00EREREdUIgwYNQlRUlKLDICIiIiL6KDFRTEREREQ1gp+fH+7evYupU6fi2rVrSE5Oxr///iv1Q0RERERE0rhGMRERERHVCJaWlgCAmzdvYvPmzSW2KygokFdIREREREQfDSaKiYiIiKhG8PX1hUgkUnQYREREREQfJSaKiYiIiKhG8Pf3V3QIREREREQfLa5RTERERERERERERFTLMVFMREREREREREREVMtx6QkiIiKiD7hn1Ur+gy7gbRoREREREckPZxQTERERERERERER1XJMFBMRERERERERERHVctU6UZyTk4N58+bB1NQUGhoasLe3x8mTJ8vU99mzZxgxYgR0dXWhra2Nzz77DPHx8VUcMRERERHVJrxfJSIiIqKaolonij09PbF69WqMGjUKa9euhbKyMgYMGIDz58+X2u/NmzdwdHTEuXPnsHDhQixZsgQ3btxAjx49kJKSIqfoiYiIiKim4/0qEREREdUU1XaXlL/++gt79uxBYGAg5syZAwDw8PCAtbU1vL29ceHChRL7/vjjj/jnn3/w119/oVOnTgCA/v37w9raGj/88ANWrFghl3MgIiIiopqL96tEREREVJNU2xnFERERUFZWxsSJE4UydXV1jB8/HhcvXsSTJ09K7dupUyfhphsArKys0Lt3b+zdu7dK4yYiIiKi2oH3q0RERERUk1TbRPGNGzfQsmVLaGtrS5Tb2dkBAG7evFlsv8LCQty6dQsdO3aUqrOzs8ODBw/w+vXrSo+XiIiIiGoX3q8SERERUU1SbZeeSExMhImJiVR5Udnz58+L7ffvv/8iJyfng30tLS1LHDspKQnJyckSZXfv3gUAxMTEIC8vr2wnIYPs7OwqH+O/EtMfynW82MJCuY4HAAXPCuQ6Xkn/QKxKvHaqBq+dqsFrp2rI+/rhtVM1avK18+DBAwDvNoL7mNX2+1V5vw+pdlPEvVFZPFLA9wPVXjnV9H0AKOa+hWon3q9WrWqbKM7KyoKamppUubq6ulBfUj8AFepb5Mcff8SSJUuKrXN1dS2178fsPErfdKVGWCTf4dovai/fARWE107l47VTg8j52gFqx/XDa6dqyPvaefLkCT755BO5jlmZeL9KJD/L9yg6AqJqoH3Nv8cj+hDer1atapso1tDQKDZrXzRrSUNDo8R+QPEZ/w/1LTJ16lS4ublJlGVkZCA2NhZt27Yt9qaeyicuLg4uLi44cOAAmjdvruhw6CPCa4cqitcOVRSvncqXk5ODJ0+eoEePHooORSa8X6Xy4ucJEd8HRADfBx+DmnK/Wl7VNlFsYmKCZ8+eSZUnJiYCAExNTYvtp6+vDzU1NaFdefoWMTY2hrGxsVR5ly5dPhg3lU/z5s3Rpk0bRYdBHyFeO1RRvHaoonjtVK6aMDOD96tUUfw8IeL7gAjg+6C6qwn3q+VVbTezs7W1RWxsLDIyMiTKL1++LNQXR0lJCW3btsXVq1el6i5fvoxmzZqhXr16lR4vEREREdUuvF8lIiIiopqk2iaKXV1dUVBQgC1btghlOTk5CAkJgb29PRo3bgwAePz4MWJiYqT6XrlyReLm+/79+zhz5ozUI3pERERERBXB+1UiIiIiqkmq7dIT9vb2cHNzw4IFC5CUlITmzZtjx44dSEhIQHBwsNDOw8MD586dg1gsFsqmTp2KrVu3YuDAgZgzZw5UVFSwevVq1K9fH7Nnz1bE6RARERFRDcP7VSIiIiKqSaptohgAdu7cCR8fH4SFhSE1NRU2NjY4fPgwHBwcSu1Xr149nD17FjNnzsSyZctQWFiInj17Ys2aNTAyMpJT9FQaIyMj+Pn58e+Dyo3XDlUUrx2qKF47VBrer1J58POEiO8DIoDvA6q+ROL3pzYQERERERERERERUa1TbdcoJiIiIiIiIiIiIiL5YKKYiIiIiIiIiIiIqJZjopiIiIiIiIiIiIiolmOimIiIiIiIiIiIiKiWY6KYiBTO398fIpFIpr6vXr2q5KioOpPlmiEqEhoaCpFIhISEhHL3PXbsGGxtbaGurg6RSIS0tLRKj4+IiIiIiEiemCgmolpjxYoVOHDggKLDIKKPXEpKCkaMGAENDQ1s2LABYWFhqFu3Lj9jiGq5ol8+vf9jbGwMR0dHHD16VKr9y5cvMWfOHFhZWUFTUxN169ZFhw4dsGzZMv7yiaq1/17r6urqMDU1hbOzM4KCgvD69eti+/35558YOnQo6tevDzU1NZiZmWHy5Ml48uSJVNuiSQH169dHZmamVL2ZmRkGDRpU6edGVFEPHjzApEmT0KxZM6irq0NbWxtdu3bF2rVrkZWVJbTLy8tDUFAQOnXqhHr16kFLSwudOnXCunXrkJ+fL3VcXuskb3UUHQAR0eLFizF//vwqH2fFihVwdXWFi4tLlY9FRDXXlStX8Pr1awQEBKBPnz5COT9jiAgAli5dCnNzc4jFYrx8+RKhoaEYMGAADh06JPxj/8qVKxgwYADevHmD0aNHo0OHDgCAq1evYuXKlfjjjz9w4sQJRZ4G0QcVXet5eXl48eIFzp49Cy8vL6xevRq//fYbbGxshLbr1q3DN998g2bNmmHGjBkwMTHBvXv3sG3bNoSHh+Po0aPo3Lmz1BhJSUnYuHEjZs+eLc9TIyqX33//HW5ublBTU4OHhwesra2Rm5uL8+fPY+7cufj777+xZcsWvH37FgMHDsS5c+cwaNAgeHp6QklJCceOHcPXX3+NAwcO4NChQ9DU1FT0KVEtxkQxESnU27dvUbduXdSpw48jIvo4JCUlAQB0dXUVGwgRVUv9+/dHx44dhdfjx49H/fr18fPPP2PQoEFIS0vD0KFDoaysjBs3bsDKykqi//Lly7F161Z5h01Ubv+91hcsWIAzZ85g0KBBGDJkCO7duwcNDQ38+eef8PLyQrdu3XDs2DGJJNiUKVPQtWtXDB8+HH///bfUd6utrS0CAwMxdepUaGhoyOvUiMrs4cOHcHd3R9OmTXHmzBmYmJgIddOmTUNcXBx+//13AMCsWbNw7tw5rFu3DtOnTxfaTZkyBRs2bMD06dMxd+5cbNiwQe7nQVSES09QlfD09ISZmZlU+X/XFRWJRJg+fTp27doFS0tLqKuro0OHDvjjjz/kGC3JS9Hf/927d/HFF19AT08P3bp1K3a92aysLHz99dcwNDREvXr1MGTIEDx79gwikQj+/v5Sx05LS4Onpyd0dXWho6ODcePGSTymJhKJ8PbtW+zYsUN4TM7T07OKz5gqw/nz59GpUyeoq6vDwsICmzdvlmqTn5+PgIAAWFhYCI8yLly4EDk5OUKbWbNmwcDAAGKxWCibMWMGRCIRgoKChLKXL19CJBJh48aNAICzZ89CJBJh7969WL58ORo1agR1dXX07t0bcXFxVXjmpAhHjx5F9+7dUbduXdSrVw8DBw7E33//LdT37NkTY8eOBQB06tRJ+CzhZwwRlURXVxcaGhrCL8U3b96MZ8+eYfXq1VJJYgCoX78+Fi9eLO8wiSpFr1694OPjg0ePHuGnn34CAAQEBEAkEmHHjh1SMyUtLCzw/fff4/nz59iyZYvU8Xx9ffHy5Uvhvoyouvn+++/x5s0bBAcHSySJizRv3hzffPMNnj59iuDgYPTq1UsiSVxk2rRpcHR0xJYtW/Ds2TN5hE5ULCaKSeHOnTsHLy8vjB49GkuXLkVKSgr69euHO3fuKDo0qiJubm7IzMzEihUr8NVXXxXbxtPTE+vWrcOAAQPw3XffQUNDAwMHDizxmCNGjMDr16/x7bffYsSIEQgNDcWSJUuE+rCwMKipqaF79+4ICwtDWFgYJk2aVOnnRpXr9u3b6Nu3L5KSkuDv749x48bBz88P+/fvl2g3YcIE+Pr64pNPPsGaNWvQo0cPfPvtt3B3dxfadO/eHf/++69E0i8qKgpKSkqIioqSKAMABwcHiTFWrlyJ/fv3Y86cOViwYAEuXbqEUaNGVcVpk4KEhYVh4MCB0NLSwnfffQcfHx/cvXsX3bp1Eza8W7RoESZOnAjg3SO3RZ8l/IwhoiLp6el49eoVkpOT8ffff2PKlCnCEhMA8Ntvv0FDQwOurq4KjpSoaowZMwYAcOLECWRmZuL06dPo3r07zM3Ni20/cuRIqKmp4dChQ1J13bt3R69evfD9999LrPNKVF0cOnQIzZo1w6efflpqu6NHj6KgoAAeHh4ltvHw8EB+fj6OHTtW2WESlRmf9SaFu3PnDq5evSqszebu7g5LS0v4+vpi3759Co6OqkK7du2we/du4fV/Zwhfv34de/fuhZeXF9asWQMAmDp1KsaNG4fo6Ohij9m+fXsEBwcLr1NSUhAcHIzvvvsOADB69GhMnjwZzZo1E/6hRtWfr68vxGIxoqKi0KRJEwDA8OHD0bZtW6FNdHQ0duzYgQkTJgiP6k6dOhXGxsZYtWoVIiMj4ejoiG7dugF4lwi2trZGeno6bt++jeHDh0s8xRAVFQV9fX20bt1aIpbs7GzcvHkTqqqqAAA9PT188803uHPnDqytrav0z4Gq3ps3b/D1119jwoQJEjOaxo4dC0tLS6xYsQJbtmyBk5MTnj17hi1btkg8ctulSxd+xhARAEisXQ4Aampq2L59O5ycnAAA9+7dQ8uWLYXvE6KaplGjRtDR0cGDBw/wzz//ID8/H+3atSuxvZqaGiwtLXH37t1i6/38/NCjRw9s2rQJM2fOrKqwicotIyMDz549w2efffbBtkXXd2nvhaK6kt4LRPLAGcWkcF26dBGSxADQpEkTfPbZZzh+/DgKCgoUGBlVlcmTJ5daX/Qb1KlTp0qUz5gxo8zH7N69O1JSUpCRkVHBKEnRCgoKcPz4cbi4uAhJYgBo1aoVnJ2dhddHjhwB8G5pifcVbXpStCaYkZERrKyshKTwn3/+CWVlZcydOxcvX77EP//8A+Bdorhbt25Sy6GMGzdO4h/13bt3BwDEx8dXyvmSYp08eRJpaWn4/PPP8erVK+FHWVkZ9vb2iIyMVHSIRPSR2LBhA06ePImTJ0/ip59+gqOjIyZMmCBMgMjIyEC9evUUHCVR1dLS0sLr16/x+vVrAPjgNV+vXj2h7X85ODjA0dGRs4qp2in6t2ZZPtPL8l4oqivpvUAkD0wUk8K1aNFCqqxly5bIzMxEcnKyAiKiqlbSY2dFHj16BCUlJal2zZs3L7HP+4lE4N1sTwBITU2tYJSkaMnJycjKyir2M8LS0lL4/6Lr5b/XR4MGDaCrq4tHjx4JZd27dxeWloiKikLHjh3RsWNH6OvrIyoqChkZGYiOjhaSwO/jNVazFf2ioFevXjAyMpL4OXHihLCBHRHRh9jZ2aFPnz7o06cPRo0ahd9//x2tW7fG9OnTkZubC21tbSYBqMZ78+YN6tWrV+bE1+vXr2FsbFxivb+/P168eIFNmzZVapxEstDW1gZQtsRuWd4LRXWlvReIqhqXnqAq8d+ZeEU4Q5gAVMmOxcrKysWWv79xGdVsJX3uvK9bt27YunUr4uPjERUVhe7du0MkEqFbt26IioqCqakpCgsLi00U8xqr2QoLCwG8W6e4QYMGUvVFm1AREZWXkpISHB0dsXbtWvzzzz+wsrLCzZs3kZuby+UnqEZ6+vQp0tPT0bx5c7Ro0QJ16tTBrVu3Smyfk5OD+/fvw87OrsQ2Dg4O6NmzJ77//vsPPp1IJC/a2towNTUt0/5KRcva3bp1C7a2tsW2KXqfNGvWrNJiJCovziimKqGnp4e0tDSp8vdn9hUpmsX1vtjYWGhqasLIyKgqwqNqrmnTpigsLMTDhw8lyuPi4mQ6blkSiVR9GBkZQUNDo9jPiPv37wv/X3S9/Lfdy5cvkZaWhqZNmwplRQngkydP4sqVK8JrBwcHREVFISoqCnXr1pVYDodqBwsLCwDvZnAUzQR8/6dnz54fPAY/Y4ioJPn5+QDezbIcPHgwsrKy8Ouvvyo4KqKqERYWBgBwdnaGpqYmevfujT/++KPYfwsCwN69e5GTkwM3N7dSj1s0q3jz5s2VHjNRRQ0aNAgPHjzAxYsXS23Xv39/KCsrC++P4uzcuROqqqplWvOYqKowUUxVwsLCAunp6RK/OU5MTMT+/ful2l68eBHXr18XXj958gQHDx5E3759S5zBRzVb0fqzP/74o0T5unXrZDpu3bp1i/0FBlVPysrKcHZ2xoEDB/D48WOh/N69ezh+/LjwesCAAQCA//3vfxL9V69eDQAYOHCgUGZubo6GDRtizZo1yMvLQ9euXQG8SyA/ePAAERER6Ny5M2eP1kLOzs7Q1tbGihUrkJeXJ1VflqWQ+BlDRMXJy8vDiRMnoKqqilatWmHy5MkwMTHB7NmzERsbK9U+KSkJy5YtU0CkRLI7c+YMAgICYG5ujlGjRgEAFi9eDLFYDE9PT6k1hh8+fAhvb280btwYY8aMKfXYPXr0QM+ePfHdd98hOzu7ys6BqDy8vb1Rt25dTJgwAS9fvpSqf/DgAdauXYtGjRph/PjxOHXqFDZu3CjVbtOmTThz5gwmTZoEAwMDeYROVCz+S5iqhLu7O+bNm4ehQ4fi66+/RmZmJjZu3IiWLVtKJIUBwNraGs7Ozvj666+hpqYmJAeXLFmiiNCpGujQoQOGDx+O//3vf0hJSUHnzp1x7tw54R9TFZ2116FDB5w6dQqrV6+GqakpzM3NYW9vX5mhUyVbsmQJjh07hu7du2Pq1KnIz8/HunXr0KZNG+EXUe3atcPYsWOxZcsWpKWloUePHvjrr7+wY8cOuLi4wNHRUeKY3bt3x549e9C2bVthneFPPvkEdevWRWxsLL744gu5nycpnra2NjZu3IgxY8bgk08+gbu7O4yMjPD48WP8/vvv6Nq1K9avX1/qMfgZQ0QAcPToUcTExAB4l/TdvXs3/vnnH8yfP19Yz3L//v0YMGAAbG1tMXr0aOFJluvXr+Pnn39Gly5dFBY/UVkVXev5+fl4+fIlzpw5g5MnT6Jp06b47bffoK6uDuDd0l9r1qyBl5cXbGxs4OnpCRMTE8TExGDr1q1QUlLCgQMHoKur+8Ex/fz8pO7tiBTJwsICu3fvxsiRI9GqVSt4eHjA2toaubm5uHDhAn755Rd4enoCeDeRJSYmBlOnTsWxY8fQr18/AMDx48dx8OBB9OrVC4GBgVJjxMXFFfsLxPbt20tMiiGqFGKiKnLixAmxtbW1WFVVVWxpaSn+6aefxH5+fuL3LzsA4mnTpol/+ukncYsWLcRqamri9u3biyMjIxUXOFWZor//5OTkYsvf9/btW/G0adPE+vr6Yi0tLbGLi4v4/v37YgDilStXfvCYISEhYgDihw8fCmUxMTFiBwcHsYaGhhiAeOzYsZV+jlT5zp07J+7QoYNYVVVV3KxZM/GmTZukrpm8vDzxkiVLxObm5mIVFRVx48aNxQsWLBBnZ2dLHW/Dhg1iAOIpU6ZIlPfp00cMQHz69GmJ8sjISDEA8S+//CJR/vDhQzEAcUhISOWdLMlVcZ8TkZGRYmdnZ7GOjo5YXV1dbGFhIfb09BRfvXpVqt+VK1ckjsfPGKLareiz4f0fdXV1sa2trXjjxo3iwsJCifbPnz8Xz5w5U9yyZUuxurq6WFNTU9yhQwfx8uXLxenp6Qo6C6IP+++1rqqqKm7QoIHYyclJvHbtWnFGRkax/aKiosSfffaZ2NDQUCwSicQAxMbGxuLExESptiXd44vFYnGPHj3EAMQDBw6s9HMjqqjY2FjxV199JTYzMxOrqqqK69WrJ+7atat43bp1Ev8myc3NFf/vf/8Td+jQQaypqSm8j8aOHSsuKCiQOm7Tpk2lvluKfsaPHy/PU6RaQiQWcxceUhyRSIRp06Z9cJYWEQDcvHkT7du3x08//SQ8ykZERERERB+fgIAA+Pr6YtGiRVxuhWqtjIwM9OjRAw8ePMAff/xR4kZ3RPLCNYqJqFr67/plwLs1aJWUlODg4KCAiIiIiIiIqLL4+Phg8uTJWL58ObZs2aLocIgUQltbG0ePHoWhoSEGDBhQ4qaPRPLCNYqJqFr6/vvvce3aNTg6OqJOnTo4evQojh49iokTJ6Jx48aKDo+IiIiIiGS0cePGYjf2IqpNGjRogPj4eEWHQQSAiWIiqqY+/fRTnDx5EgEBAXjz5g2aNGkCf39/LFq0SNGhERERERERERHVOFyjmIiIiIiIiIiIiKiW4xrFRERERERERERERLUcE8VEREREREREREREtRwTxURERERERERERES1HBPFRERERERERERERLUcE8VEREREREREREREtRwTxURERERERERERES1HBPFREQ1kKenJ8zMzBQdBhERERERERF9JJgoJiL6SD1//hz+/v64efOmokMhIiIiIiIioo+cSCwWixUdBBERld/Vq1fRqVMnhISEwNPTU6IuLy8PhYWFUFNTU0xwRERERERERPRRqaPoAIiIqPKpqKgoOgQiIiIiIiIi+ohw6QkiIjl69OgRpk6dCktLS2hoaMDAwABubm5ISEiQapuWloaZM2fCzMwMampqaNSoETw8PPDq1SucPXsWnTp1AgCMGzcOIpEIIpEIoaGhAIpfo/jt27eYPXs2GjduDDU1NVhaWmLVqlX474MlIpEI06dPx4EDB2BtbQ01NTW0adMGx44dq4o/EiIiIiIiIiKqBjijmIhIjq5cuYILFy7A3d0djRo1QkJCAjZu3IiePXvi7t270NTUBAC8efMG3bt3x7179/Dll1/ik08+watXr/Dbb7/h6dOnaNWqFZYuXQpfX19MnDgR3bt3BwB8+umnxY4rFosxZMgQREZGYvz48bC1tcXx48cxd+5cPHv2DGvWrJFof/78eezbtw9Tp05FvXr1EBQUhOHDh+Px48cwMDCo2j8kIiIiIiIiIpI7rlFMRCRHWVlZ0NDQkCi7dOkSunTpgp07d2LMmDEAAD8/PyxduhT79u3D0KFDJdqLxWKIRKJS1yj29PTE2bNnhZnKBw8ehIuLC5YtW4ZFixYJ7dzc3PDrr7/in3/+gYWFBYB3M4pVVVVx9+5doezWrVto164d1q1bh+nTp1fmHwkRERERERERVQNceoKISI7eTxLn5eUhJSUFzZs3h66uLq5fvy7U/frrr2jXrp1Ukhh4l8gtryNHjkBZWRlff/21RPns2bMhFotx9OhRifI+ffoISWIAsLGxgba2NuLj48s9NhERERERERFVf0wUExHJUVZWFnx9fYV1gg0NDWFkZIS0tDSkp6cL7R48eABra+tKG/fRo0cwNTVFvXr1JMpbtWol1L+vSZMmUsfQ09NDampqpcVERERERERERNUH1ygmIpKjGTNmICQkBF5eXujSpQt0dHQgEong7u6OwsJCRYcnUFZWLracqxURERERERER1UxMFBMRyVFERATGjh2LH374QSjLzs5GWlqaRDsLCwvcuXOn1GOVZwmKpk2b4tSpU3j9+rXErOKYmBihnoiIiIiIiIhqLy49QUQkR8rKylKzctetW4eCggKJsuHDhyM6Ohr79++XOkZR/7p16wKAVJK5OAMGDEBBQQHWr18vUb5mzRqIRCL079+/PKdBRERERERERDUMZxQTEcnRoEGDEBYWBh0dHbRu3RoXL17EqVOnYGBgINFu7ty5iIiIgJubG7788kt06NAB//77L3777Tds2rQJ7dq1g4WFBXR1dbFp0ybUq1cPdevWhb29PczNzaXGHTx4MBwdHbFo0SIkJCSgXbt2OHHiBA4ePAgvLy+JjeuIiIiIiIiIqPZhopiISI7Wrl0LZWVl7Nq1C9nZ2ejatStOnToFZ2dniXZaWlqIioqCn58f9u/fjx07dsDY2Bi9e/dGo0aNAAAqKirYsWMHFixYgMmTJyM/Px8hISHFJoqVlJTw22+/wdfXF+Hh4QgJCYGZmRkCAwMxe/ZsuZw7EREREREREVVfIjF3JiIiIiIiIiIiIiKq1bhGMREREREREREREVEtx0QxERERERERERERUS3HRDERERERERERERFRLcdEMREREREREREREVEtx0QxERERERERERERUS3HRDERERERERERERFRLcdEMREREREREREREVEtx0QxERERERERERERUS3HRDERERERERERERFRLcdEMREREREREREREVEtx0QxERERERERERERUS3HRDERERERERERERFRLcdEMREREREREREREVEtx0QxERERERERERERUS33/wDzGvhykOdvMgAAAABJRU5ErkJggg==", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "method | final eval | wallclock (s)\n", + "----------------------------------------\n", + "BC | 0.851 | 10.2\n", + "DQN | 0.300 | 15.1\n", + "CQL | 0.851 | 14.6\n" + ] + } + ], + "source": [ + "# Cell 5 — evaluation rollouts + OOD action density\n", + "plot_eval_returns({\n", + " 'BC': bc_result.eval_returns,\n", + " 'DQN': dqn_result.eval_returns,\n", + " 'CQL': cql_result.eval_returns,\n", + "}, str(ASSETS / 'eval_returns.png'))\n", + "plot_ood_action_density(ds, {'BC': bc_model, 'DQN': dqn_model, 'CQL': cql_model},\n", + " str(ASSETS / 'ood_action_density.png'))\n", + "\n", + "from IPython.display import Image, display\n", + "display(Image(str(ASSETS / 'eval_returns.png')))\n", + "display(Image(str(ASSETS / 'ood_action_density.png')))\n", + "\n", + "rows = [\n", + " ('BC', bc_result.eval_returns[-1][1], bc_result.elapsed_s),\n", + " ('DQN', dqn_result.eval_returns[-1][1], dqn_result.elapsed_s),\n", + " ('CQL', cql_result.eval_returns[-1][1], cql_result.elapsed_s),\n", + "]\n", + "print(f'{\"method\":<5} | {\"final eval\":>10} | {\"wallclock (s)\":>14}')\n", + "print('-' * 40)\n", + "for n, e, w in rows:\n", + " print(f'{n:<5} | {e:10.3f} | {w:14.1f}')" + ] + }, + { + "cell_type": "markdown", + "id": "md-cell-6", + "metadata": {}, + "source": "## Cell 6 — ablation:α=0 / α=fixed-5 / α=auto\n\nα=0 等价于直接跑离线 DQN;α 固定=5 是论文 CQL 的常用手动选择;α=auto 用 Lagrangian dual 自适应。在这个 8×8 小网格上 fixed-5 与 auto 在最终评估上都能稳定到 0.85(任务太小,正则化代价不致命),而 α=0 的曲线则在 +0.85 与 −0.50 之间剧烈反复——同样的 Q-net 同样的数据,仅仅是去掉了 `log-sum-exp − E_D[Q]` 项,就让 greedy 策略在每次评估都可能跳到一条新的 OOD 通道。\n\nauto 与 fixed 的 *表面* 差异在这里被环境压窄,但量化指标已经能看出来:auto 跑完 α≈0.6,Q_seen≈2.9;fixed-5 把 Q_seen 推到 3.6+ 而 Q_OOD 也被压到 ~1.9——保守过头会让 TD 损失被淹没。CQL 论文反复强调 \"fixed-α 在不同任务间需要扫\", auto 是论文真正推荐的设置。下面把三条评估曲线叠起来看 α=0 的不稳定,再单独看 α 与 gap 的轨迹。" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cell-6", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-27T17:21:24.911629Z", + "iopub.status.busy": "2026-05-27T17:21:24.911396Z", + "iopub.status.idle": "2026-05-27T17:21:54.636117Z", + "shell.execute_reply": "2026-05-27T17:21:54.634954Z" + } + }, + "outputs": [], + "source": "# Cell 6 — alpha ablation\nfrom src.viz import plot_alpha_gap_trajectories\nt0 = time.time()\n_, abl_zero = train_cql(ds, CQLConfig(alpha_mode='zero', seed=SEED), verbose=False)\n_, abl_fixed = train_cql(ds, CQLConfig(alpha_mode='fixed', alpha_fixed=5.0, seed=SEED), verbose=False)\nabl_auto = cql_result # already trained\nprint(f'ablation total elapsed {time.time() - t0:.1f}s')\n\nplot_eval_returns({\n 'alpha=0 (DQN)': abl_zero.eval_returns,\n 'CQL-fixed-5': abl_fixed.eval_returns,\n 'CQL-auto': abl_auto.eval_returns,\n}, str(ASSETS / 'ablation_alpha.png'),\n title='CQL ablation · α=0 vs α=fixed-5 vs α=auto')\n\nplot_alpha_gap_trajectories({\n 'alpha=0 (DQN)': {'alphas': abl_zero.alphas, 'cql_gaps': abl_zero.cql_gaps},\n 'CQL-fixed-5': {'alphas': abl_fixed.alphas, 'cql_gaps': abl_fixed.cql_gaps},\n 'CQL-auto': {'alphas': abl_auto.alphas, 'cql_gaps': abl_auto.cql_gaps},\n}, str(ASSETS / 'ablation_alpha_traj.png'))\n\nfrom IPython.display import Image, display\ndisplay(Image(str(ASSETS / 'ablation_alpha.png')))\ndisplay(Image(str(ASSETS / 'ablation_alpha_traj.png')))\n\nprint(f'\\n final eval | final Q_seen | final Q_OOD')\nfor n, r in [('alpha=0 (DQN)', abl_zero), ('CQL-fixed-5', abl_fixed), ('CQL-auto', abl_auto)]:\n print(f'{n:<14} {r.eval_returns[-1][1]:>10.3f} | {r.q_seen[-1][1]:>12.2f} | {r.q_unseen[-1][1]:>10.2f}')" + }, + { + "cell_type": "markdown", + "id": "md-final", + "metadata": {}, + "source": [ + "## Three stretch goals\n", + "\n", + "1. **把奖励改为稀疏 +1(去掉 step penalty)**:当前的 `-0.01/step` 让最优 Q ≈ 0.86,DQN 的发散尺度被边界压住;把 step penalty 设为 0 并增大 `max_steps` 到 200,可以观察 DQN 的 Q 值真正放飞——同时 CQL 的 `log-sum-exp` 项仍能压住。\n", + "2. **加 IQL 作为第四个 trainer**:复用 `src/dataset.py`、`src/model.py`,写一个 `trainer_iql.py`,用 expectile 回归(τ=0.7)和 KL 正则化的策略提取。和 CQL 做对照——『惩罚 OOD』vs『避开 OOD』。\n", + "3. **scaling law**:让 `n_transitions` 在 {500, 1k, 2k, 5k, 10k, 20k} 上扫描,画 BC / DQN / CQL 的最终评估对数据量的曲线。CQL 应该在小数据上和 BC 同水平,而 DQN 在小数据上崩溃最重——离线 RL 的样本复杂度是 CQL 真正的研究题。" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.15" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file diff --git a/labs/rl_decision/lab_cql_offline_minigrid/paper.md b/labs/rl_decision/lab_cql_offline_minigrid/paper.md new file mode 100644 index 0000000..c687250 --- /dev/null +++ b/labs/rl_decision/lab_cql_offline_minigrid/paper.md @@ -0,0 +1,31 @@ +# 把 Q-learning 关进数据的笼子里:CQL 在一个 8×8 网格上的最小复现 + +链接 Atlas 卡片:[paper_cql](../../../docs/data/cards/extended/paper_cql.md)。 + +离线 RL 的核心难题是 Bellman 备份会去查询数据集没覆盖的动作,让 $Q(s, a^{\text{OOD}})$ 在没有数据修正的情况下被乐观抬高,进而把策略推向真实世界中 catastrophic 的动作。Kumar et al. 2020 的 CQL 给出了一个干净的修补:在普通的 TD 损失上加一项 +$$ +\alpha \, \mathbb{E}_{s \sim D}\!\Big[\log\!\sum_{a}\exp Q(s,a) - \mathbb{E}_{a\sim\hat\pi_\beta(\cdot \mid s)} Q(s, a)\Big], +$$ +即对所有动作做 log-sum-exp,再减去数据集行为策略下 $Q$ 的期望。第一项把 *所有* 动作的 $Q$ 压低,第二项把 *数据内* 动作的 $Q$ 拉回来——净效果是数据外动作被显著压低,数据内动作几乎不动。这正好对应论文证明的 "学到的 $Q$ 是真实 $Q$ 的逐点下界"。 + +本 lab 用一个 8×8 离散网格世界把这条理论故事跑成可见的图: + +1. **数据**:50% 随机 + 50% ε-greedy 专家(ε=0.3),共 10 000 条;专家直奔右下角,随机覆盖死角;环境 10% slip 让评估时的 trajectory 必然偏离训练数据的 deterministic 主线。 +2. **模型**:同一个两层 MLP critic(hidden=128),分别用 BC(对动作做交叉熵)、离线 DQN(TD(0) + target net)、CQL(TD + log-sum-exp 项)训练 5 000 步,batch=256,Adam lr=3e-4。 +3. **CQL 实现细节**:α 用 Lagrangian dual 自适应(target gap=5.0,dual lr=1e-4);α=0 / α=fixed-5 / α=auto 在 ablation 中三选一对比。 +4. **诊断**:每 25 步统计 `Q` 在数据内 (s,a) 与数据外 (s,a) 上的均值,并把两者的差 `Q_OOD − Q_seen` 当作 "过估计 gap";每 100 步跑 20 个 greedy episodes 评估。 +5. **故事**:DQN 的过估计 gap 在 ~1 500 步翻正到 +0.45,之后即使 TD 损失收敛到 ≈ 0,greedy 评估仍在 0.85 与 −0.50 之间剧烈反复(Q 在 OOD 上被高估,每次 argmax 都可能指向新的 OOD 通道);CQL 的 gap 一直 ≤ 0 并继续下降到 −1.3,评估稳定停在 0.85。BC 通过 mode-cloning 也能达到 0.85,但其 Q-net 没有显式 *回报* 概念,只是把行为策略的众数复制了一遍——若把 ε 调到 0.7 或换更高 slip 的环境就会暴露 BC 无法 *推理* 的本性(stretch goal #3)。 + +```mermaid +flowchart LR + D[(offline dataset / 10k transitions / random + epsilon-greedy expert)] + D --> BC[BC / cross-entropy on actions] + D --> DQN[DQN / TD(0) with target net] + D --> CQL[CQL / TD + alpha * (logsumexp - E_D Q)] + BC --> Eval[greedy eval / 20 episodes] + DQN --> Eval + CQL --> Eval + CQL <-- alpha (Lagrangian, target gap=5) --> Dual[dual update] +``` + +更广义地说,CQL 与 [IQL](../../../docs/data/cards/extended/paper_iql.md) 形成 "惩罚 OOD vs 避开 OOD" 的对照,与 [Decision Transformer](../../../docs/data/cards/extended/paper_decision_transformer.md) 形成 "价值函数 vs 序列建模" 的对照。本 lab 是 [paradigm_offline_rl](../../../docs/data/cards/extended/paradigm_offline_rl.md) 的最小入口;下一站建议复现 IQL 跑同一份数据集做横向对比。 diff --git a/labs/rl_decision/lab_cql_offline_minigrid/requirements.txt b/labs/rl_decision/lab_cql_offline_minigrid/requirements.txt new file mode 100644 index 0000000..65d791f --- /dev/null +++ b/labs/rl_decision/lab_cql_offline_minigrid/requirements.txt @@ -0,0 +1,7 @@ +numpy==2.1.3 +matplotlib==3.10.9 +torch==2.12.0 +nbformat==5.10.4 +nbconvert==7.17.1 +ipykernel==6.30.1 +jupyter==1.1.1 diff --git a/labs/rl_decision/lab_cql_offline_minigrid/src/__init__.py b/labs/rl_decision/lab_cql_offline_minigrid/src/__init__.py new file mode 100644 index 0000000..ebf7137 --- /dev/null +++ b/labs/rl_decision/lab_cql_offline_minigrid/src/__init__.py @@ -0,0 +1 @@ +"""Offline-RL reproduction lab: BC vs DQN vs CQL on an 8x8 gridworld.""" diff --git a/labs/rl_decision/lab_cql_offline_minigrid/src/dataset.py b/labs/rl_decision/lab_cql_offline_minigrid/src/dataset.py new file mode 100644 index 0000000..a3b0698 --- /dev/null +++ b/labs/rl_decision/lab_cql_offline_minigrid/src/dataset.py @@ -0,0 +1,219 @@ +"""Collect and save the offline dataset. + +Composition (mirrors common offline-RL benchmark splits): + * 50% random policy — uniform over the 4 actions. + * 50% epsilon-greedy expert with epsilon=0.3. + +Approximate total transitions: ``DEFAULT_TRANSITIONS = 10_000``. Episodes are +short (max 50 steps), so this is roughly 200-300 episodes per source. + +The saved file is a torch checkpoint with the per-transition tensors and the +empirical action histogram conditioned on each state — the latter is what the +CQL regulariser needs (E[Q(s, a)] under the data distribution) and what the +OOD-action density plot consumes. + +Run standalone:: + + python -m src.dataset +""" + +from __future__ import annotations + +import argparse +import os +from dataclasses import dataclass, field, asdict +from pathlib import Path + +import numpy as np +import torch + +from .env import GRID_SIZE, N_ACTIONS, GridWorld, expert_action, make_env +from .seeds import seed_everything + + +# --------------------------------------------------------------------------- +# Config +# --------------------------------------------------------------------------- +DEFAULT_TRANSITIONS = 10_000 +EXPERT_EPS = 0.3 + + +@dataclass +class DatasetConfig: + n_transitions: int = DEFAULT_TRANSITIONS + expert_eps: float = EXPERT_EPS + random_fraction: float = 0.5 + max_episode_steps: int = 50 + seed: int = 0 + + +# --------------------------------------------------------------------------- +# Rollout helpers +# --------------------------------------------------------------------------- +def _rollout( + env: GridWorld, + policy: str, + expert_eps: float, + rng: np.random.Generator, + max_steps: int, +) -> list[tuple[np.ndarray, int, float, np.ndarray, bool]]: + """Run a single episode under either the random or expert epsilon-greedy policy. + + Returns a list of (s, a, r, s', done) tuples. + """ + transitions: list[tuple[np.ndarray, int, float, np.ndarray, bool]] = [] + obs = env.reset() + for _ in range(max_steps): + pos = np.argmax(obs) + row, col = int(pos // env.size), int(pos % env.size) + if policy == "random": + action = int(rng.integers(0, N_ACTIONS)) + elif policy == "expert": + if rng.random() < expert_eps: + action = int(rng.integers(0, N_ACTIONS)) + else: + action = int(expert_action(row, col, env.size)) + else: + raise ValueError(policy) + next_obs, reward, done, _ = env.step(action) + transitions.append((obs.copy(), action, reward, next_obs.copy(), done)) + obs = next_obs + if done: + break + return transitions + + +@dataclass +class OfflineDataset: + obs: torch.Tensor # (N, obs_dim) float32 + actions: torch.Tensor # (N,) int64 + rewards: torch.Tensor # (N,) float32 + next_obs: torch.Tensor # (N, obs_dim) float32 + dones: torch.Tensor # (N,) float32 + source: torch.Tensor # (N,) int64 — 0=random, 1=expert (for analysis) + config: dict = field(default_factory=dict) + + def __len__(self) -> int: + return int(self.obs.shape[0]) + + def save(self, path: str) -> None: + Path(os.path.dirname(path)).mkdir(parents=True, exist_ok=True) + torch.save( + { + "obs": self.obs, + "actions": self.actions, + "rewards": self.rewards, + "next_obs": self.next_obs, + "dones": self.dones, + "source": self.source, + "config": self.config, + }, + path, + ) + + @classmethod + def load(cls, path: str) -> "OfflineDataset": + ckpt = torch.load(path, map_location="cpu", weights_only=False) + return cls( + obs=ckpt["obs"], + actions=ckpt["actions"], + rewards=ckpt["rewards"], + next_obs=ckpt["next_obs"], + dones=ckpt["dones"], + source=ckpt["source"], + config=ckpt.get("config", {}), + ) + + +# --------------------------------------------------------------------------- +# Public API +# --------------------------------------------------------------------------- +def collect_offline_dataset(cfg: DatasetConfig | None = None) -> OfflineDataset: + cfg = cfg or DatasetConfig() + seed_everything(cfg.seed) + rng = np.random.default_rng(cfg.seed) + + obs_buf: list[np.ndarray] = [] + next_obs_buf: list[np.ndarray] = [] + action_buf: list[int] = [] + reward_buf: list[float] = [] + done_buf: list[float] = [] + source_buf: list[int] = [] + + n_random_target = int(cfg.n_transitions * cfg.random_fraction) + n_expert_target = cfg.n_transitions - n_random_target + + env = make_env(seed=cfg.seed) + # First fill the random half, then the expert half. + for target_count, policy_name, source_id in [ + (n_random_target, "random", 0), + (n_expert_target, "expert", 1), + ]: + collected = 0 + while collected < target_count: + trans = _rollout(env, policy_name, cfg.expert_eps, rng, cfg.max_episode_steps) + for s, a, r, sp, d in trans: + if collected >= target_count: + break + obs_buf.append(s) + action_buf.append(a) + reward_buf.append(r) + next_obs_buf.append(sp) + done_buf.append(float(d)) + source_buf.append(source_id) + collected += 1 + + ds = OfflineDataset( + obs=torch.from_numpy(np.stack(obs_buf, axis=0).astype(np.float32)), + actions=torch.tensor(action_buf, dtype=torch.long), + rewards=torch.tensor(reward_buf, dtype=torch.float32), + next_obs=torch.from_numpy(np.stack(next_obs_buf, axis=0).astype(np.float32)), + dones=torch.tensor(done_buf, dtype=torch.float32), + source=torch.tensor(source_buf, dtype=torch.long), + config=asdict(cfg), + ) + return ds + + +# --------------------------------------------------------------------------- +# Analysis helpers (used by the notebook and the plotting cell) +# --------------------------------------------------------------------------- +def state_action_support(ds: OfflineDataset, n_states: int, n_actions: int = N_ACTIONS) -> np.ndarray: + """Return an (n_states, n_actions) binary mask of which (s,a) appear in the dataset. + + 1.0 = at least one transition with that (s, a). 0.0 = OOD for the dataset. + """ + state_idx = ds.obs.argmax(dim=1).cpu().numpy() # one-hot -> state id + actions = ds.actions.cpu().numpy() + mask = np.zeros((n_states, n_actions), dtype=np.float32) + mask[state_idx, actions] = 1.0 + return mask + + +def action_histogram(ds: OfflineDataset, by_source: bool = True) -> dict[str, np.ndarray]: + """Build per-source action counts (random vs expert) for cell-1 visualisation.""" + actions = ds.actions.cpu().numpy() + source = ds.source.cpu().numpy() + out: dict[str, np.ndarray] = {} + if by_source: + for label, sid in [("random", 0), ("expert", 1)]: + mask = source == sid + out[label] = np.bincount(actions[mask], minlength=N_ACTIONS) + out["all"] = np.bincount(actions, minlength=N_ACTIONS) + return out + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--n", type=int, default=DEFAULT_TRANSITIONS) + parser.add_argument("--out", type=str, default="data/offline_dataset.pt") + parser.add_argument("--seed", type=int, default=0) + args = parser.parse_args() + + cfg = DatasetConfig(n_transitions=args.n, seed=args.seed) + ds = collect_offline_dataset(cfg) + ds.save(args.out) + hist = action_histogram(ds) + print(f"[dataset] saved {len(ds)} transitions -> {args.out}") + print(f"[dataset] action histogram (random) = {hist['random'].tolist()}") + print(f"[dataset] action histogram (expert) = {hist['expert'].tolist()}") diff --git a/labs/rl_decision/lab_cql_offline_minigrid/src/env.py b/labs/rl_decision/lab_cql_offline_minigrid/src/env.py new file mode 100644 index 0000000..b860ab3 --- /dev/null +++ b/labs/rl_decision/lab_cql_offline_minigrid/src/env.py @@ -0,0 +1,144 @@ +"""Tiny 8x8 discrete gridworld with sparse terminal reward. + +Design choices (kept minimal so the textbook story is clear): + * Grid is 8x8 = 64 discrete states (one-hot encoded for the Q-net). + * Actions: 0=up, 1=right, 2=down, 3=left. Bumping into a wall is a no-op. + * Reward: small step penalty (-0.01) every step; +1 on reaching the goal; + episode terminates on goal or at ``max_steps`` (default 50). + * Start = (0, 0) top-left; goal = (7, 7) bottom-right. Manhattan distance 14 + -> optimal greedy return roughly 1 - 14 * 0.01 = 0.86, so Q-values for the + optimal policy stay in a small bounded range. Any TD-bootstrap divergence + above ~10 is therefore obviously broken, which is exactly the visual story + we want from the DQN cell. + +The env is implemented from scratch (no Gymnasium dependency) to keep the lab +self-contained and trivially CPU-friendly. +""" + +from __future__ import annotations + +from dataclasses import dataclass + +import numpy as np + + +GRID_SIZE = 8 +N_ACTIONS = 4 +ACTION_DELTAS = np.array( + [ + [-1, 0], # 0: up + [0, 1], # 1: right + [1, 0], # 2: down + [0, -1], # 3: left + ], + dtype=np.int64, +) + + +@dataclass +class EnvSpec: + obs_dim: int + n_actions: int + grid_size: int + + +class GridWorld: + """An 8x8 deterministic gridworld with a sparse +1 terminal reward. + + Observation is a flat one-hot of length GRID_SIZE * GRID_SIZE so the Q-net + can be a plain MLP. (Choosing one-hot over (row, col) integers also avoids + any spurious spatial smoothness — we want Q to be learned per-cell.) + """ + + def __init__( + self, + size: int = GRID_SIZE, + max_steps: int = 50, + step_penalty: float = -0.01, + goal_reward: float = 1.0, + slip_prob: float = 0.1, + seed: int | None = None, + ) -> None: + self.size = size + self.max_steps = max_steps + self.step_penalty = step_penalty + self.goal_reward = goal_reward + # With probability ``slip_prob`` the executed action is replaced by a + # uniform random one. Small but non-zero stochasticity is enough to + # force the trained policy off the canonical expert trajectory at + # evaluation, exposing BC's lack of recovery behaviour. + self.slip_prob = slip_prob + self.start = (0, 0) + self.goal = (size - 1, size - 1) + self._rng = np.random.default_rng(seed) + self._pos = np.array(self.start, dtype=np.int64) + self._t = 0 + + # ---- API --------------------------------------------------------------- + def reset(self, seed: int | None = None) -> np.ndarray: + if seed is not None: + self._rng = np.random.default_rng(seed) + self._pos = np.array(self.start, dtype=np.int64) + self._t = 0 + return self._obs() + + def step(self, action: int) -> tuple[np.ndarray, float, bool, dict]: + assert 0 <= int(action) < N_ACTIONS, f"action {action} out of range" + # Slip: with probability ``slip_prob`` substitute a uniform random action. + if self.slip_prob > 0.0 and self._rng.random() < self.slip_prob: + executed = int(self._rng.integers(0, N_ACTIONS)) + else: + executed = int(action) + dr, dc = ACTION_DELTAS[executed] + nr = int(np.clip(self._pos[0] + dr, 0, self.size - 1)) + nc = int(np.clip(self._pos[1] + dc, 0, self.size - 1)) + self._pos = np.array([nr, nc], dtype=np.int64) + self._t += 1 + + at_goal = (nr, nc) == self.goal + reward = self.goal_reward if at_goal else self.step_penalty + done = at_goal or (self._t >= self.max_steps) + info: dict = {"at_goal": at_goal, "t": self._t} + return self._obs(), float(reward), bool(done), info + + # ---- helpers ----------------------------------------------------------- + @property + def n_states(self) -> int: + return self.size * self.size + + def state_index(self) -> int: + return int(self._pos[0] * self.size + self._pos[1]) + + def _obs(self) -> np.ndarray: + vec = np.zeros(self.n_states, dtype=np.float32) + vec[self.state_index()] = 1.0 + return vec + + def spec(self) -> EnvSpec: + return EnvSpec(obs_dim=self.n_states, n_actions=N_ACTIONS, grid_size=self.size) + + +def make_env(seed: int | None = None) -> GridWorld: + """Factory mirroring the other labs' env.py signature.""" + return GridWorld(seed=seed) + + +# --------------------------------------------------------------------------- +# A tabular expert that gives a near-optimal policy on this gridworld. We use +# it during dataset collection (with epsilon-greedy noise) so the offline data +# is realistic mixed-quality. +# --------------------------------------------------------------------------- +def expert_action(row: int, col: int, size: int = GRID_SIZE) -> int: + """Greedy action toward the bottom-right goal. + + Ties broken arbitrarily but deterministically (prefer 'right' over 'down') + so the expert produces a single canonical trajectory in the absence of + noise. The mix of right-vs-down across noisy rollouts gives the offline + dataset enough coverage to make BC non-trivial. + """ + goal = size - 1 + if col < goal: + return 1 # right + if row < goal: + return 2 # down + return 1 # already at goal; arbitrary diff --git a/labs/rl_decision/lab_cql_offline_minigrid/src/model.py b/labs/rl_decision/lab_cql_offline_minigrid/src/model.py new file mode 100644 index 0000000..aa11efd --- /dev/null +++ b/labs/rl_decision/lab_cql_offline_minigrid/src/model.py @@ -0,0 +1,28 @@ +"""Shared Q-network MLP used by BC / DQN / CQL trainers. + +The same architecture is intentionally reused so that any difference in +calibration or evaluation return between the three trainers is attributable +to the loss function, not the model capacity. +""" + +from __future__ import annotations + +import torch +import torch.nn as nn + + +class QNet(nn.Module): + """Plain MLP from one-hot state to per-action values.""" + + def __init__(self, obs_dim: int, n_actions: int, hidden: int = 128): + super().__init__() + self.net = nn.Sequential( + nn.Linear(obs_dim, hidden), + nn.ReLU(), + nn.Linear(hidden, hidden), + nn.ReLU(), + nn.Linear(hidden, n_actions), + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + return self.net(x) diff --git a/labs/rl_decision/lab_cql_offline_minigrid/src/seeds.py b/labs/rl_decision/lab_cql_offline_minigrid/src/seeds.py new file mode 100644 index 0000000..b90e0f8 --- /dev/null +++ b/labs/rl_decision/lab_cql_offline_minigrid/src/seeds.py @@ -0,0 +1,22 @@ +"""Deterministic seeding helpers (shared across BC/DQN/CQL trainers).""" + +from __future__ import annotations + +import os +import random + +import numpy as np +import torch + + +def seed_everything(seed: int = 0) -> None: + """Seed Python, NumPy, and PyTorch RNGs for reproducible runs. + + Single-threaded CPU keeps wall-clock predictable. + """ + os.environ["PYTHONHASHSEED"] = str(seed) + random.seed(seed) + np.random.seed(seed) + torch.manual_seed(seed) + torch.use_deterministic_algorithms(False) + torch.set_num_threads(1) diff --git a/labs/rl_decision/lab_cql_offline_minigrid/src/trainer_bc.py b/labs/rl_decision/lab_cql_offline_minigrid/src/trainer_bc.py new file mode 100644 index 0000000..bef7e6f --- /dev/null +++ b/labs/rl_decision/lab_cql_offline_minigrid/src/trainer_bc.py @@ -0,0 +1,176 @@ +"""Behaviour cloning baseline. + +By default BC trains cross-entropy on the *full* mixed offline dataset (50% +random + 50% epsilon-greedy expert) — the standard offline-RL setting: BC +clones the behaviour policy, full stop. Because the behaviour policy is a +mixture, BC's learned policy is also a mixture, and its evaluation return +saturates well below optimal — which is the point. Set +``BCConfig.expert_only=True`` for the optimistic "BC on expert slice only" +variant, available as a stretch ablation. + +The Q-net here outputs action logits directly (same architecture as the DQN +and CQL critics so any return gap is loss-driven, not capacity-driven). + +Run standalone:: + + python -m src.trainer_bc +""" + +from __future__ import annotations + +import argparse +import os +import time +from dataclasses import dataclass, field, asdict +from pathlib import Path + +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F + +from .dataset import OfflineDataset +from .env import N_ACTIONS, make_env +from .model import QNet +from .seeds import seed_everything + + +# --------------------------------------------------------------------------- +# Config +# --------------------------------------------------------------------------- +@dataclass +class BCConfig: + grad_steps: int = 5_000 + batch_size: int = 256 + lr: float = 3e-4 + hidden: int = 128 + eval_every: int = 100 + eval_episodes: int = 20 + max_eval_steps: int = 50 + seed: int = 0 + expert_only: bool = False # train on the full mixed dataset (default offline-RL setting) + + +@dataclass +class BCResult: + losses: list[float] = field(default_factory=list) + eval_returns: list[tuple[int, float]] = field(default_factory=list) + elapsed_s: float = 0.0 + config: dict = field(default_factory=dict) + + +# --------------------------------------------------------------------------- +# Evaluation +# --------------------------------------------------------------------------- +@torch.no_grad() +def evaluate_greedy(model: QNet, n_episodes: int, max_steps: int, seed: int = 4242) -> float: + """Run greedy episodes and return mean return. + + BC's QNet outputs action logits; argmax = greedy action. We share this + helper across trainers so all three are evaluated identically. + """ + env = make_env(seed=seed) + total = 0.0 + for ep in range(n_episodes): + obs = env.reset(seed=seed + ep) + ep_ret = 0.0 + for _ in range(max_steps): + x = torch.from_numpy(obs).unsqueeze(0) + a = int(model(x).argmax(dim=1).item()) + obs, r, done, _ = env.step(a) + ep_ret += float(r) + if done: + break + total += ep_ret + return total / n_episodes + + +# --------------------------------------------------------------------------- +# Training loop +# --------------------------------------------------------------------------- +def train_bc( + dataset: OfflineDataset, + cfg: BCConfig | None = None, + verbose: bool = True, +) -> tuple[QNet, BCResult]: + cfg = cfg or BCConfig() + seed_everything(cfg.seed) + + obs_dim = int(dataset.obs.shape[1]) + model = QNet(obs_dim, N_ACTIONS, cfg.hidden) + opt = torch.optim.Adam(model.parameters(), lr=cfg.lr) + + # Pick the slice we train on. + if cfg.expert_only: + mask = (dataset.source == 1).numpy() + else: + mask = np.ones(len(dataset), dtype=bool) + idx_pool = np.flatnonzero(mask) + assert len(idx_pool) >= cfg.batch_size, "not enough samples for BC batch" + + rng = np.random.default_rng(cfg.seed) + result = BCResult(config=asdict(cfg)) + t0 = time.time() + + for step in range(1, cfg.grad_steps + 1): + batch_idx = rng.choice(idx_pool, size=cfg.batch_size, replace=True) + s = dataset.obs[batch_idx] + a = dataset.actions[batch_idx] + logits = model(s) + loss = F.cross_entropy(logits, a) + opt.zero_grad() + loss.backward() + opt.step() + result.losses.append(float(loss.item())) + + if step % cfg.eval_every == 0: + r_eval = evaluate_greedy(model, cfg.eval_episodes, cfg.max_eval_steps) + result.eval_returns.append((step, r_eval)) + if verbose: + print(f"[BC] step={step:>5d} loss={loss.item():.4f} eval={r_eval:6.3f}") + + result.elapsed_s = time.time() - t0 + return model, result + + +# --------------------------------------------------------------------------- +# Persistence +# --------------------------------------------------------------------------- +def save_checkpoint(model: QNet, result: BCResult, path: str) -> None: + Path(os.path.dirname(path)).mkdir(parents=True, exist_ok=True) + torch.save( + { + "model_state": model.state_dict(), + "losses": result.losses, + "eval_returns": result.eval_returns, + "elapsed_s": result.elapsed_s, + "config": result.config, + }, + path, + ) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--dataset", type=str, default="data/offline_dataset.pt") + parser.add_argument("--ckpt", type=str, default="data/bc.pt") + parser.add_argument("--steps", type=int, default=None) + args = parser.parse_args() + + if not os.path.exists(args.dataset): + # Lazily collect the dataset if missing — supports `python -m src.trainer_bc` + # from a fresh checkout. + from .dataset import DatasetConfig, collect_offline_dataset + print(f"[BC] dataset {args.dataset} missing; collecting...") + ds = collect_offline_dataset(DatasetConfig()) + ds.save(args.dataset) + else: + ds = OfflineDataset.load(args.dataset) + + cfg = BCConfig() + if args.steps is not None: + cfg.grad_steps = args.steps + model, result = train_bc(ds, cfg) + save_checkpoint(model, result, args.ckpt) + final = result.eval_returns[-1][1] if result.eval_returns else float("nan") + print(f"[BC] done in {result.elapsed_s:.1f}s · final-eval={final:.3f} · saved {args.ckpt}") diff --git a/labs/rl_decision/lab_cql_offline_minigrid/src/trainer_cql.py b/labs/rl_decision/lab_cql_offline_minigrid/src/trainer_cql.py new file mode 100644 index 0000000..48b8dd3 --- /dev/null +++ b/labs/rl_decision/lab_cql_offline_minigrid/src/trainer_cql.py @@ -0,0 +1,268 @@ +"""Conservative Q-Learning (CQL) on the fixed offline dataset. + +We implement the discrete-action CQL(H) variant from Kumar et al. 2020: + + L_CQL = L_DQN + alpha * E_s [ log sum_a exp Q(s, a) - E_{a~D}[Q(s, a)] ] + +The bracketed term pushes the log-partition function down (all actions) and +pulls the data-action Q up — the net effect is a conservative lower bound on +the in-data Q values and a *very* strong push-down on out-of-distribution +actions, which is the whole point. + +Alpha is auto-tuned by Lagrangian dual gradient ascent with target gap 5.0 +(``target_gap``): the gap is the size of the CQL regulariser (averaged over +the batch). If it's above target, alpha rises; if below, alpha falls. This +matches the published CQL implementation and tends to outperform any +hand-picked fixed alpha. + +Run standalone:: + + python -m src.trainer_cql +""" + +from __future__ import annotations + +import argparse +import os +import time +from dataclasses import dataclass, field, asdict +from pathlib import Path + +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F + +from .dataset import OfflineDataset, state_action_support +from .env import N_ACTIONS, make_env +from .model import QNet +from .seeds import seed_everything + + +# --------------------------------------------------------------------------- +# Config +# --------------------------------------------------------------------------- +@dataclass +class CQLConfig: + grad_steps: int = 5_000 + batch_size: int = 256 + gamma: float = 0.99 + lr: float = 3e-4 + hidden: int = 128 + target_update: int = 200 + grad_clip: float = 10.0 + + # CQL-specific + alpha_init: float = 1.0 + alpha_lr: float = 1e-4 # dual learning rate for the Lagrangian + target_gap: float = 5.0 # target value of the CQL penalty term + alpha_mode: str = "auto" # one of {"auto", "fixed", "zero"} + alpha_fixed: float = 5.0 # used when alpha_mode == "fixed" + alpha_min: float = 0.0 + alpha_max: float = 50.0 + + eval_every: int = 100 + eval_episodes: int = 20 + max_eval_steps: int = 50 + log_q_every: int = 25 + seed: int = 0 + + +@dataclass +class CQLResult: + losses: list[float] = field(default_factory=list) + cql_gaps: list[float] = field(default_factory=list) + alphas: list[float] = field(default_factory=list) + eval_returns: list[tuple[int, float]] = field(default_factory=list) + q_seen: list[tuple[int, float]] = field(default_factory=list) + q_unseen: list[tuple[int, float]] = field(default_factory=list) + q_max_per_state: list[tuple[int, float]] = field(default_factory=list) + elapsed_s: float = 0.0 + config: dict = field(default_factory=dict) + + +# --------------------------------------------------------------------------- +# Helpers shared with the DQN trainer (re-implemented to keep the file standalone) +# --------------------------------------------------------------------------- +@torch.no_grad() +def evaluate_greedy(model: QNet, n_episodes: int, max_steps: int, seed: int = 4242) -> float: + env = make_env(seed=seed) + total = 0.0 + for ep in range(n_episodes): + obs = env.reset(seed=seed + ep) + ep_ret = 0.0 + for _ in range(max_steps): + x = torch.from_numpy(obs).unsqueeze(0) + a = int(model(x).argmax(dim=1).item()) + obs, r, done, _ = env.step(a) + ep_ret += float(r) + if done: + break + total += ep_ret + return total / n_episodes + + +def _log_q_stats(q: QNet, state_table: torch.Tensor, support_mask: torch.Tensor) -> tuple[float, float, float]: + with torch.no_grad(): + q_all = q(state_table) + seen = q_all[support_mask > 0.5] + unseen = q_all[support_mask <= 0.5] + q_seen_mean = float(seen.mean().item()) if seen.numel() > 0 else float("nan") + q_unseen_mean = float(unseen.mean().item()) if unseen.numel() > 0 else float("nan") + q_max_mean = float(q_all.max(dim=1).values.mean().item()) + return q_seen_mean, q_unseen_mean, q_max_mean + + +# --------------------------------------------------------------------------- +# Training loop +# --------------------------------------------------------------------------- +def train_cql( + dataset: OfflineDataset, + cfg: CQLConfig | None = None, + verbose: bool = True, +) -> tuple[QNet, CQLResult]: + cfg = cfg or CQLConfig() + seed_everything(cfg.seed) + + obs_dim = int(dataset.obs.shape[1]) + n_states = obs_dim + q = QNet(obs_dim, N_ACTIONS, cfg.hidden) + q_target = QNet(obs_dim, N_ACTIONS, cfg.hidden) + q_target.load_state_dict(q.state_dict()) + opt = torch.optim.Adam(q.parameters(), lr=cfg.lr) + + # Alpha is parameterised through ``log_alpha`` so gradient updates keep it + # positive automatically. For ``alpha_mode != "auto"`` the optimizer is + # never stepped, so the value is effectively frozen. + log_alpha = torch.tensor(np.log(max(cfg.alpha_init, 1e-8)), requires_grad=True) + alpha_opt = torch.optim.Adam([log_alpha], lr=cfg.alpha_lr) + + support = state_action_support(dataset, n_states, N_ACTIONS) + support_t = torch.from_numpy(support) + state_table = torch.eye(n_states, dtype=torch.float32) + + rng = np.random.default_rng(cfg.seed) + n = len(dataset) + result = CQLResult(config=asdict(cfg)) + t0 = time.time() + + for step in range(1, cfg.grad_steps + 1): + idx = rng.integers(0, n, size=cfg.batch_size) + s = dataset.obs[idx] + a = dataset.actions[idx] + r = dataset.rewards[idx] + s2 = dataset.next_obs[idx] + d = dataset.dones[idx] + + # Standard DQN TD loss + with torch.no_grad(): + target_max = q_target(s2).max(dim=1).values + y = r + (1.0 - d) * cfg.gamma * target_max + q_all = q(s) # (B, n_actions) + q_sa = q_all.gather(1, a.unsqueeze(1)).squeeze(1) + td_loss = F.smooth_l1_loss(q_sa, y) + + # CQL conservative penalty: log sum exp Q(s, .) - E_{a~D}[Q(s, a)] + logsumexp_q = torch.logsumexp(q_all, dim=1) # (B,) + cql_term = (logsumexp_q - q_sa).mean() # scalar + + # Alpha (Lagrangian dual variable for "cql_term <= target_gap") + if cfg.alpha_mode == "auto": + alpha = log_alpha.exp().clamp(cfg.alpha_min, cfg.alpha_max) + elif cfg.alpha_mode == "fixed": + alpha = torch.tensor(cfg.alpha_fixed) + elif cfg.alpha_mode == "zero": + alpha = torch.tensor(0.0) + else: + raise ValueError(cfg.alpha_mode) + + total_loss = td_loss + alpha.detach() * cql_term + opt.zero_grad() + total_loss.backward() + nn.utils.clip_grad_norm_(q.parameters(), cfg.grad_clip) + opt.step() + + # Dual update: increase alpha if cql_term > target_gap + if cfg.alpha_mode == "auto": + # gradient ascent on alpha * (cql_term - target_gap) + alpha_loss = -(log_alpha.exp() * (cql_term.detach() - cfg.target_gap)) + alpha_opt.zero_grad() + alpha_loss.backward() + alpha_opt.step() + with torch.no_grad(): + log_alpha.clamp_(np.log(max(cfg.alpha_min, 1e-8) + 1e-12), np.log(cfg.alpha_max)) + + result.losses.append(float(total_loss.item())) + result.cql_gaps.append(float(cql_term.item())) + result.alphas.append(float(alpha.item())) + + if step % cfg.target_update == 0: + q_target.load_state_dict(q.state_dict()) + + if step % cfg.log_q_every == 0: + q_seen, q_unseen, q_max = _log_q_stats(q, state_table, support_t) + result.q_seen.append((step, q_seen)) + result.q_unseen.append((step, q_unseen)) + result.q_max_per_state.append((step, q_max)) + + if step % cfg.eval_every == 0: + r_eval = evaluate_greedy(q, cfg.eval_episodes, cfg.max_eval_steps) + result.eval_returns.append((step, r_eval)) + if verbose: + q_seen, q_unseen, _ = _log_q_stats(q, state_table, support_t) + print( + f"[CQL/{cfg.alpha_mode}] step={step:>5d} td={td_loss.item():.4f} " + f"gap={cql_term.item():.2f} alpha={alpha.item():.2f} " + f"Q_seen={q_seen:.2f} Q_OOD={q_unseen:.2f} eval={r_eval:6.3f}" + ) + + result.elapsed_s = time.time() - t0 + return q, result + + +# --------------------------------------------------------------------------- +# Persistence +# --------------------------------------------------------------------------- +def save_checkpoint(q: QNet, result: CQLResult, path: str) -> None: + Path(os.path.dirname(path)).mkdir(parents=True, exist_ok=True) + torch.save( + { + "model_state": q.state_dict(), + "losses": result.losses, + "cql_gaps": result.cql_gaps, + "alphas": result.alphas, + "eval_returns": result.eval_returns, + "q_seen": result.q_seen, + "q_unseen": result.q_unseen, + "q_max_per_state": result.q_max_per_state, + "elapsed_s": result.elapsed_s, + "config": result.config, + }, + path, + ) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--dataset", type=str, default="data/offline_dataset.pt") + parser.add_argument("--ckpt", type=str, default="data/cql.pt") + parser.add_argument("--alpha-mode", type=str, default="auto", choices=["auto", "fixed", "zero"]) + parser.add_argument("--alpha-fixed", type=float, default=5.0) + parser.add_argument("--steps", type=int, default=None) + args = parser.parse_args() + + if not os.path.exists(args.dataset): + from .dataset import DatasetConfig, collect_offline_dataset + print(f"[CQL] dataset {args.dataset} missing; collecting...") + ds = collect_offline_dataset(DatasetConfig()) + ds.save(args.dataset) + else: + ds = OfflineDataset.load(args.dataset) + + cfg = CQLConfig(alpha_mode=args.alpha_mode, alpha_fixed=args.alpha_fixed) + if args.steps is not None: + cfg.grad_steps = args.steps + q, result = train_cql(ds, cfg) + save_checkpoint(q, result, args.ckpt) + final = result.eval_returns[-1][1] if result.eval_returns else float("nan") + print(f"[CQL] done in {result.elapsed_s:.1f}s · final-eval={final:.3f} · saved {args.ckpt}") diff --git a/labs/rl_decision/lab_cql_offline_minigrid/src/trainer_dqn.py b/labs/rl_decision/lab_cql_offline_minigrid/src/trainer_dqn.py new file mode 100644 index 0000000..8e2e619 --- /dev/null +++ b/labs/rl_decision/lab_cql_offline_minigrid/src/trainer_dqn.py @@ -0,0 +1,224 @@ +"""Vanilla DQN run on the fixed offline dataset (no environment interaction). + +This is the classic "naive offline RL" failure mode that motivates CQL: +because the Bellman backup bootstraps via ``max_a Q(s', a)``, any action the +behaviour policy never tried gets its Q value pushed up unchecked. With no +data to correct that signal, the Q-function diverges on out-of-distribution +actions and the greedy policy chases the inflated values. + +We log two Q-statistics every step so the notebook can render the +"DQN overestimates, CQL stays calibrated" panel: + * mean ``Q(s, a)`` on (state, action) pairs that *are* in the dataset. + * mean ``Q(s, a)`` on the *complementary* OOD set of (s, a) pairs. + +Run standalone:: + + python -m src.trainer_dqn +""" + +from __future__ import annotations + +import argparse +import os +import time +from dataclasses import dataclass, field, asdict +from pathlib import Path + +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F + +from .dataset import OfflineDataset, state_action_support +from .env import N_ACTIONS, make_env +from .model import QNet +from .seeds import seed_everything + + +# --------------------------------------------------------------------------- +# Config +# --------------------------------------------------------------------------- +@dataclass +class DQNConfig: + grad_steps: int = 5_000 + batch_size: int = 256 + gamma: float = 0.99 + lr: float = 3e-4 + hidden: int = 128 + target_update: int = 200 # hard copy theta_target <- theta every C steps + grad_clip: float = 10.0 + eval_every: int = 100 + eval_episodes: int = 20 + max_eval_steps: int = 50 + log_q_every: int = 25 # how often to record Q-stats for the divergence plot + seed: int = 0 + + +@dataclass +class DQNResult: + losses: list[float] = field(default_factory=list) + eval_returns: list[tuple[int, float]] = field(default_factory=list) + q_seen: list[tuple[int, float]] = field(default_factory=list) + q_unseen: list[tuple[int, float]] = field(default_factory=list) + q_max_per_state: list[tuple[int, float]] = field(default_factory=list) + elapsed_s: float = 0.0 + config: dict = field(default_factory=dict) + + +# --------------------------------------------------------------------------- +# Evaluation +# --------------------------------------------------------------------------- +@torch.no_grad() +def evaluate_greedy(model: QNet, n_episodes: int, max_steps: int, seed: int = 4242) -> float: + env = make_env(seed=seed) + total = 0.0 + for ep in range(n_episodes): + obs = env.reset(seed=seed + ep) + ep_ret = 0.0 + for _ in range(max_steps): + x = torch.from_numpy(obs).unsqueeze(0) + a = int(model(x).argmax(dim=1).item()) + obs, r, done, _ = env.step(a) + ep_ret += float(r) + if done: + break + total += ep_ret + return total / n_episodes + + +# --------------------------------------------------------------------------- +# Q-statistics helpers +# --------------------------------------------------------------------------- +def _state_table(n_states: int) -> torch.Tensor: + eye = torch.eye(n_states, dtype=torch.float32) + return eye + + +def _log_q_stats( + q: QNet, + state_table: torch.Tensor, + support_mask: torch.Tensor, +) -> tuple[float, float, float]: + """Mean Q over in-dataset (s,a), mean Q over OOD (s,a), max-Q averaged over states.""" + with torch.no_grad(): + q_all = q(state_table) # (n_states, n_actions) + seen = q_all[support_mask > 0.5] + unseen = q_all[support_mask <= 0.5] + q_seen_mean = float(seen.mean().item()) if seen.numel() > 0 else float("nan") + q_unseen_mean = float(unseen.mean().item()) if unseen.numel() > 0 else float("nan") + q_max_mean = float(q_all.max(dim=1).values.mean().item()) + return q_seen_mean, q_unseen_mean, q_max_mean + + +# --------------------------------------------------------------------------- +# Training loop +# --------------------------------------------------------------------------- +def train_dqn( + dataset: OfflineDataset, + cfg: DQNConfig | None = None, + verbose: bool = True, +) -> tuple[QNet, DQNResult]: + cfg = cfg or DQNConfig() + seed_everything(cfg.seed) + + obs_dim = int(dataset.obs.shape[1]) + n_states = obs_dim # one-hot encoding => obs_dim == n_states + q = QNet(obs_dim, N_ACTIONS, cfg.hidden) + q_target = QNet(obs_dim, N_ACTIONS, cfg.hidden) + q_target.load_state_dict(q.state_dict()) + opt = torch.optim.Adam(q.parameters(), lr=cfg.lr) + + support = state_action_support(dataset, n_states, N_ACTIONS) + support_t = torch.from_numpy(support) + state_table = _state_table(n_states) + + rng = np.random.default_rng(cfg.seed) + n = len(dataset) + result = DQNResult(config=asdict(cfg)) + t0 = time.time() + + for step in range(1, cfg.grad_steps + 1): + idx = rng.integers(0, n, size=cfg.batch_size) + s = dataset.obs[idx] + a = dataset.actions[idx] + r = dataset.rewards[idx] + s2 = dataset.next_obs[idx] + d = dataset.dones[idx] + + with torch.no_grad(): + target_max = q_target(s2).max(dim=1).values + y = r + (1.0 - d) * cfg.gamma * target_max + q_sa = q(s).gather(1, a.unsqueeze(1)).squeeze(1) + td_loss = F.smooth_l1_loss(q_sa, y) + + opt.zero_grad() + td_loss.backward() + nn.utils.clip_grad_norm_(q.parameters(), cfg.grad_clip) + opt.step() + result.losses.append(float(td_loss.item())) + + if step % cfg.target_update == 0: + q_target.load_state_dict(q.state_dict()) + + if step % cfg.log_q_every == 0: + q_seen, q_unseen, q_max = _log_q_stats(q, state_table, support_t) + result.q_seen.append((step, q_seen)) + result.q_unseen.append((step, q_unseen)) + result.q_max_per_state.append((step, q_max)) + + if step % cfg.eval_every == 0: + r_eval = evaluate_greedy(q, cfg.eval_episodes, cfg.max_eval_steps) + result.eval_returns.append((step, r_eval)) + if verbose: + q_seen, q_unseen, _ = _log_q_stats(q, state_table, support_t) + print( + f"[DQN] step={step:>5d} loss={td_loss.item():.4f} " + f"Q_seen={q_seen:.2f} Q_OOD={q_unseen:.2f} eval={r_eval:6.3f}" + ) + + result.elapsed_s = time.time() - t0 + return q, result + + +# --------------------------------------------------------------------------- +# Persistence +# --------------------------------------------------------------------------- +def save_checkpoint(q: QNet, result: DQNResult, path: str) -> None: + Path(os.path.dirname(path)).mkdir(parents=True, exist_ok=True) + torch.save( + { + "model_state": q.state_dict(), + "losses": result.losses, + "eval_returns": result.eval_returns, + "q_seen": result.q_seen, + "q_unseen": result.q_unseen, + "q_max_per_state": result.q_max_per_state, + "elapsed_s": result.elapsed_s, + "config": result.config, + }, + path, + ) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--dataset", type=str, default="data/offline_dataset.pt") + parser.add_argument("--ckpt", type=str, default="data/dqn.pt") + parser.add_argument("--steps", type=int, default=None) + args = parser.parse_args() + + if not os.path.exists(args.dataset): + from .dataset import DatasetConfig, collect_offline_dataset + print(f"[DQN] dataset {args.dataset} missing; collecting...") + ds = collect_offline_dataset(DatasetConfig()) + ds.save(args.dataset) + else: + ds = OfflineDataset.load(args.dataset) + + cfg = DQNConfig() + if args.steps is not None: + cfg.grad_steps = args.steps + q, result = train_dqn(ds, cfg) + save_checkpoint(q, result, args.ckpt) + final = result.eval_returns[-1][1] if result.eval_returns else float("nan") + print(f"[DQN] done in {result.elapsed_s:.1f}s · final-eval={final:.3f} · saved {args.ckpt}") diff --git a/labs/rl_decision/lab_cql_offline_minigrid/src/viz.py b/labs/rl_decision/lab_cql_offline_minigrid/src/viz.py new file mode 100644 index 0000000..e5a67d3 --- /dev/null +++ b/labs/rl_decision/lab_cql_offline_minigrid/src/viz.py @@ -0,0 +1,277 @@ +"""Plotting helpers — three canonical figures plus utility curves. + +Every plot uses pure matplotlib (no seaborn) so figures reproduce identically +across machines without extra dependencies. +""" + +from __future__ import annotations + +from pathlib import Path +from typing import Iterable, Mapping, Sequence + +import matplotlib.pyplot as plt +import numpy as np +import torch + +from .dataset import OfflineDataset, state_action_support +from .env import N_ACTIONS, make_env +from .model import QNet + + +_ACTION_LABELS = ["up", "right", "down", "left"] + + +# --------------------------------------------------------------------------- +# Curves +# --------------------------------------------------------------------------- +def _smooth(x: np.ndarray, window: int = 25) -> np.ndarray: + if len(x) < window: + return x + kernel = np.ones(window) / window + return np.convolve(x, kernel, mode="valid") + + +def plot_action_histogram( + counts: Mapping[str, np.ndarray], + out_path: str, + title: str = "Offline dataset action histogram", +) -> None: + """Side-by-side bars: action distribution for random vs expert halves.""" + sources = [k for k in counts.keys() if k != "all"] + x = np.arange(N_ACTIONS) + width = 0.8 / max(1, len(sources)) + fig, ax = plt.subplots(figsize=(6.4, 3.6)) + colors = {"random": "#888888", "expert": "#1f77b4"} + for i, src in enumerate(sources): + offset = (i - (len(sources) - 1) / 2) * width + ax.bar(x + offset, counts[src], width=width, label=src, color=colors.get(src, None)) + ax.set_xticks(x) + ax.set_xticklabels(_ACTION_LABELS) + ax.set_ylabel("transitions") + ax.set_xlabel("action") + ax.set_title(title) + ax.legend() + ax.grid(axis="y", alpha=0.3) + Path(out_path).parent.mkdir(parents=True, exist_ok=True) + fig.tight_layout() + fig.savefig(out_path, bbox_inches="tight", dpi=120) + plt.close(fig) + + +# --------------------------------------------------------------------------- +# Q-overestimation panel +# --------------------------------------------------------------------------- +def plot_q_overestimation( + runs: Mapping[str, dict], + out_path: str, + title: str = "Q-overestimation: in-data actions vs OOD actions", +) -> None: + """Three-panel figure that visualises the central CQL claim. + + ``runs`` maps a label (e.g. "DQN", "CQL") to a dict with keys ``q_seen`` + and ``q_unseen``, each a list of (step, mean_Q). + + * Left — mean Q on (s, a) that appear in the dataset. + * Mid — mean Q on (s, a) that are out-of-distribution. + * Right — the overestimation gap (Q_OOD - Q_seen): positive means the + model has learned to value unseen actions higher than seen + ones (the canonical offline-RL failure mode). DQN's gap goes + positive; CQL's stays at or below zero — the textbook claim. + """ + fig, axes = plt.subplots(1, 3, figsize=(13.5, 4), sharex=True) + palette = {"DQN": "#d62728", "CQL": "#2ca02c", "BC": "#9467bd"} + for label, run in runs.items(): + c = palette.get(label, None) + seen = np.asarray(run["q_seen"]) # (T, 2) + unseen = np.asarray(run["q_unseen"]) + if seen.size == 0: + continue + axes[0].plot(seen[:, 0], seen[:, 1], label=label, color=c, linewidth=2.0) + axes[1].plot(unseen[:, 0], unseen[:, 1], label=label, color=c, linewidth=2.0) + gap = unseen[:, 1] - seen[:, 1] + axes[2].plot(seen[:, 0], gap, label=label, color=c, linewidth=2.0) + + axes[0].set_title("Mean Q on (s,a) IN dataset") + axes[1].set_title("Mean Q on (s,a) OUT of dataset") + axes[2].set_title("Overestimation gap: Q_OOD − Q_seen") + for ax in axes[:2]: + ax.axhline(0.86, ls=":", color="grey", alpha=0.7, label="opt. return ≈ 0.86") + axes[2].axhline(0.0, ls=":", color="grey", alpha=0.7, label="conservative (≤ 0)") + for ax in axes: + ax.set_xlabel("gradient step") + ax.grid(alpha=0.3) + ax.legend(loc="best", fontsize=8) + axes[0].set_ylabel("mean Q(s, a)") + fig.suptitle(title) + fig.tight_layout() + Path(out_path).parent.mkdir(parents=True, exist_ok=True) + fig.savefig(out_path, bbox_inches="tight", dpi=120) + plt.close(fig) + + +# --------------------------------------------------------------------------- +# OOD action density +# --------------------------------------------------------------------------- +@torch.no_grad() +def _greedy_action_histogram(model: QNet, n_states: int) -> np.ndarray: + """Argmax-action histogram across all 64 states.""" + state_table = torch.eye(n_states, dtype=torch.float32) + q = model(state_table) + actions = q.argmax(dim=1).cpu().numpy() + return np.bincount(actions, minlength=N_ACTIONS) + + +def _per_state_action_counts(dataset: OfflineDataset, n_states: int) -> np.ndarray: + """(n_states, n_actions) array of observed counts in the offline dataset.""" + state_idx = dataset.obs.argmax(dim=1).cpu().numpy() + actions = dataset.actions.cpu().numpy() + counts = np.zeros((n_states, N_ACTIONS), dtype=np.float64) + np.add.at(counts, (state_idx, actions), 1.0) + return counts + + +def plot_ood_action_density( + dataset: OfflineDataset, + models: Mapping[str, QNet], + out_path: str, + title: str = "Action choice vs behaviour-policy density", + low_density_threshold: float = 0.05, +) -> None: + """Two-panel figure. + + * Left — marginal action histogram (dataset vs each model's greedy pick). + * Right — average behaviour-policy probability of each model's greedy + action, conditioned on the state. For each state we form the + behaviour-policy marginal pi_beta(a | s) from the offline data + counts; then we look up pi_beta(a* | s) for the model's greedy + a*. A score near 0 means the model picks actions the data + strongly avoids (the OOD failure); a score near 1 means the + model stays inside the support. + """ + dataset_hist = np.bincount(dataset.actions.cpu().numpy(), minlength=N_ACTIONS).astype(np.float64) + dataset_hist /= dataset_hist.sum() + + n_states = int(dataset.obs.shape[1]) + counts = _per_state_action_counts(dataset, n_states) + visited = counts.sum(axis=1) > 0 + # Lapace smoothing so OOD = small but non-zero + smoothed = counts + 1e-3 + pi_beta = smoothed / smoothed.sum(axis=1, keepdims=True) + + model_hists: dict[str, np.ndarray] = {} + mean_density: dict[str, float] = {} + low_density_share: dict[str, float] = {} + for name, m in models.items(): + h = _greedy_action_histogram(m, n_states).astype(np.float64) + model_hists[name] = h / h.sum() if h.sum() > 0 else h + with torch.no_grad(): + state_table = torch.eye(n_states, dtype=torch.float32) + greedy = m(state_table).argmax(dim=1).cpu().numpy() + # Use only visited states for a fair comparison + probs = pi_beta[np.arange(n_states), greedy][visited] + mean_density[name] = float(probs.mean()) + low_density_share[name] = float((probs < low_density_threshold).mean()) + + fig, axes = plt.subplots(1, 2, figsize=(11.5, 4)) + + x = np.arange(N_ACTIONS) + width = 0.8 / (1 + len(model_hists)) + palette = {"DQN": "#d62728", "CQL": "#2ca02c", "BC": "#9467bd"} + series = [("dataset", dataset_hist, "#444444")] + [ + (name, model_hists[name], palette.get(name)) for name in model_hists + ] + for i, (label, vals, c) in enumerate(series): + offset = (i - (len(series) - 1) / 2) * width + axes[0].bar(x + offset, vals, width=width, label=label, color=c) + axes[0].set_xticks(x) + axes[0].set_xticklabels(_ACTION_LABELS) + axes[0].set_ylabel("share of greedy picks") + axes[0].set_xlabel("action") + axes[0].set_title("Marginal action histogram") + axes[0].legend() + axes[0].grid(axis="y", alpha=0.3) + + names = list(mean_density.keys()) + bars = axes[1].bar(names, [mean_density[n] for n in names], + color=[palette.get(n, "#888888") for n in names]) + axes[1].set_ylabel(r"mean $\pi_\beta(a^\star \,|\, s)$ across visited states") + axes[1].set_title("How likely is each model's greedy action under the behaviour policy?") + axes[1].set_ylim(0, 1.0) + for b, n in zip(bars, names): + axes[1].text(b.get_x() + b.get_width() / 2, b.get_height() + 0.02, + f"{mean_density[n]:.2f}\n({100*low_density_share[n]:.0f}%<{low_density_threshold})", + ha="center", va="bottom", fontsize=9) + axes[1].grid(axis="y", alpha=0.3) + + fig.suptitle(title) + fig.tight_layout() + Path(out_path).parent.mkdir(parents=True, exist_ok=True) + fig.savefig(out_path, bbox_inches="tight", dpi=120) + plt.close(fig) + + +# --------------------------------------------------------------------------- +# Evaluation returns +# --------------------------------------------------------------------------- +def plot_eval_returns( + runs: Mapping[str, Sequence[tuple[int, float]]], + out_path: str, + title: str = "Greedy evaluation return over training", +) -> None: + fig, ax = plt.subplots(figsize=(7.2, 4)) + palette = {"DQN": "#d62728", "CQL": "#2ca02c", "BC": "#9467bd", + "CQL-auto": "#2ca02c", "CQL-fixed-5": "#ff7f0e", "alpha=0 (DQN)": "#d62728"} + for label, curve in runs.items(): + arr = np.asarray(list(curve)) # (T, 2) + if arr.size == 0: + continue + ax.plot(arr[:, 0], arr[:, 1], marker="o", linewidth=2.0, + color=palette.get(label, None), label=label) + ax.axhline(0.86, ls="--", color="grey", alpha=0.6, label="optimal ≈ 0.86") + ax.set_xlabel("gradient step") + ax.set_ylabel("mean return (20 episodes)") + ax.set_title(title) + ax.grid(alpha=0.3) + ax.legend(loc="best") + Path(out_path).parent.mkdir(parents=True, exist_ok=True) + fig.tight_layout() + fig.savefig(out_path, bbox_inches="tight", dpi=120) + plt.close(fig) + + +# --------------------------------------------------------------------------- +# CQL diagnostics (alpha and gap over training) — for the ablation cell +# --------------------------------------------------------------------------- +def plot_alpha_gap_trajectories( + runs: Mapping[str, dict], + out_path: str, + title: str = "CQL diagnostics · alpha and gap trajectories", +) -> None: + """Two-panel figure: per-step alpha and per-step CQL gap for each run. + + ``runs`` maps label -> {"alphas": list[float], "cql_gaps": list[float]}. + """ + fig, axes = plt.subplots(1, 2, figsize=(11, 4), sharex=True) + palette = {"CQL-auto": "#2ca02c", "CQL-fixed-5": "#ff7f0e", "alpha=0 (DQN)": "#d62728"} + for label, run in runs.items(): + a = np.asarray(run["alphas"], dtype=np.float64) + g = np.asarray(run["cql_gaps"], dtype=np.float64) + steps = np.arange(1, len(a) + 1) + c = palette.get(label) + axes[0].plot(steps, a, label=label, color=c, linewidth=2.0) + axes[1].plot(steps[: len(_smooth(g, 50))], _smooth(g, 50), label=label, color=c, linewidth=2.0) + axes[0].set_ylabel(r"$\alpha$") + axes[0].set_title(r"Lagrangian multiplier $\alpha$ over training") + axes[0].axhline(5.0, ls=":", color="#ff7f0e", alpha=0.5, label="fixed=5") + axes[1].set_ylabel(r"CQL gap = $\log\sum_a\exp Q - \mathbb{E}_{a\sim D}[Q]$") + axes[1].axhline(5.0, ls=":", color="grey", alpha=0.5, label="target=5") + axes[1].set_title("CQL gap (smoothed, window=50)") + for ax in axes: + ax.set_xlabel("gradient step") + ax.grid(alpha=0.3) + ax.legend(loc="best", fontsize=8) + fig.suptitle(title) + fig.tight_layout() + Path(out_path).parent.mkdir(parents=True, exist_ok=True) + fig.savefig(out_path, bbox_inches="tight", dpi=120) + plt.close(fig) diff --git a/labs/world_models/lab_dreamer_cartpole_pixels/README.md b/labs/world_models/lab_dreamer_cartpole_pixels/README.md new file mode 100644 index 0000000..14285fd --- /dev/null +++ b/labs/world_models/lab_dreamer_cartpole_pixels/README.md @@ -0,0 +1,62 @@ +# lab · Dreamer-style 世界模型 on CartPole 像素 + +一个最小但忠实的 Dreamer 风格复现:智能体只能看到 64×64 RGB 像素, +先学一个 RSSM 世界模型,再在世界模型的 latent imagination 里训练 +actor-critic。总训练时间 ≤ 8 分钟(CPU 笔记本,单线程)。 + +## 快速开始 + +```bash +cd labs/world_models/lab_dreamer_cartpole_pixels +pip install -r requirements.txt + +# 仅训练世界模型(在随机轨迹上演示重建) +python -m src.world_model # → data/world_model.pt + +# 完整 Dreamer 循环(WM + actor-critic in imagination) +python -m src.policy # → data/dreamer.pt + +# 或运行完整 narrative +jupyter nbconvert --execute --to notebook --inplace notebook.ipynb +``` + +执行 notebook 后会在 `assets/` 下生成三张图: + +- `reconstruction_grid.png` — 4 条 10 帧 strip,real 在上、reconstructed 在下; +- `latent_vs_real_rollout.png` — 同一动作序列下 15 步 latent rollout vs. 真实环境 rollout,下面附 per-step pixel MSE; +- `return_vs_steps.png` — 策略评估回报随真实环境步数的曲线。 + +## 这个 lab 证明了什么 + +- **WM 学会了视觉动力学**:reconstruction strip 显示重建图像跟随真实 cart/pole 的位置与角度; +- **策略完全在 imagination 中改进**:actor-critic 从未直接看到像素,只看 (h_t, z_t); +- **重建质量决定上限**:长 horizon rollout 的 pixel MSE 单调增长,这条曲线就是世界模型的"梦境寿命",policy 在 imagination 里能挖到的回报受它约束。 + +## 文件契约 + +``` +. +├── README.md +├── notebook.ipynb ← 12-cell narrative +├── paper.md ← 250 字蒸馏(链 paper_world_models / paper_dreamer_v2 / paper_dreamer_v3) +├── requirements.txt +├── src/ +│ ├── __init__.py +│ ├── env.py ← CartPole-v1 + 64×64 RGB renderer (numpy, 不依赖 pygame) +│ ├── world_model.py ← Encoder + RSSM (h_t deterministic + z_t Gaussian) + Decoder + reward/continue heads +│ ├── trainer.py ← 给 notebook 用的薄 facade +│ ├── policy.py ← Actor-Critic in latent imagination + λ-return + continue 折扣 +│ ├── viz.py ← reconstruction strips / latent vs. real / 回报曲线 +│ └── seeds.py +├── assets/ ← notebook 产出的 PNG +└── data/ ← checkpoint +``` + +## 三条 stretch goals + +1. **离散 RSSM**:把 `world_model.RSSM` 的 stochastic state 换成 32-categorical + + straight-through 估计(Dreamer V2 主 trick),通常能让 KL 项更稳定。 +2. **Domain randomisation**:在 `env.py` 的 renderer 里随机化背景/杆颜色/cart 大小, + 测试 WM 在视觉扰动下能否仍然 generalise。 +3. **环境升级**:把 `make_pixel_cartpole` 换成 MountainCar 或 Acrobot 的像素版, + 检查 reward 稀疏性如何放大 WM 误差对策略学习的影响。 diff --git a/labs/world_models/lab_dreamer_cartpole_pixels/notebook.ipynb b/labs/world_models/lab_dreamer_cartpole_pixels/notebook.ipynb new file mode 100644 index 0000000..e8f8d5f --- /dev/null +++ b/labs/world_models/lab_dreamer_cartpole_pixels/notebook.ipynb @@ -0,0 +1,186 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "intro-md", + "metadata": {}, + "source": [ + "# lab · Dreamer 风格世界模型 on CartPole 像素\n", + "\n", + "三张 Atlas 卡片汇聚于此:[World Models](../../docs/data/cards/paper_world_models.md) (Ha & Schmidhuber 2018) 提出\"在脑里学开车\"的思路;[DreamerV2](../../docs/data/cards/extended/paper_dreamer_v2.md) 把 latent 换成 RSSM 并加上 KL balancing;[DreamerV3](../../docs/data/cards/extended/paper_dreamer_v3.md) 把这套配方推到一组超参跨域通用。\n", + "\n", + "## What this proves\n", + "\n", + "1. **WM 学到了视觉动力学**:从 64×64 RGB 像素出发,3 层 CNN encoder + RSSM (h 200-d GRU + z 32-d Gaussian) + 转置卷积 decoder + reward/continue heads 在 5 分钟内把重建误差压到肉眼可分辨的水平。\n", + "2. **策略完全在 imagination 中改进**:actor-critic 从未直接看到像素,只看潜在的 (h, z)。每个外循环采集 12 条真实轨迹,用它们更新 WM,再在 imagination 里跑 50 次 λ-return 回归更新 actor/critic。\n", + "3. **重建质量界定了可达回报**:当 15 步开环 rollout 的 pixel MSE 越来越大,actor 想象出来的回报越来越不可信——这就是 \"梦境寿命\" 对策略改进的硬上限。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "imports", + "metadata": {}, + "outputs": [], + "source": [ + "# Cell 1 - imports & seeding\n", + "import os, sys, time\n", + "from pathlib import Path\n", + "import numpy as np\n", + "import torch\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Headless render for any pygame fallback - we never call it but be safe.\n", + "os.environ.setdefault('SDL_VIDEODRIVER', 'dummy')\n", + "\n", + "ROOT = Path('.').resolve()\n", + "if str(ROOT) not in sys.path:\n", + " sys.path.insert(0, str(ROOT))\n", + "\n", + "from src.seeds import seed_everything\n", + "from src.world_model import WMConfig, WorldModel, SequenceBuffer, collect_random_episode\n", + "from src.policy import PolicyConfig, DreamerTrainer, train_dreamer, save_checkpoint, load_checkpoint\n", + "from src.env import make_pixel_cartpole\n", + "from src import viz\n", + "\n", + "SEED = 0\n", + "seed_everything(SEED)\n", + "ASSETS = Path('assets'); ASSETS.mkdir(exist_ok=True)\n", + "DATA = Path('data'); DATA.mkdir(exist_ok=True)\n", + "print('torch', torch.__version__, '· seed', SEED)" + ] + }, + { + "cell_type": "markdown", + "id": "wm-md", + "metadata": {}, + "source": [ + "## 1. 先学一个能重建的世界模型\n", + "\n", + "我们采集 60 条随机策略轨迹(约 1500 步真实环境数据),训练 5 个 epoch(共 125 次梯度更新)的 RSSM。损失:reconstruction + reward + continue + KL(balancing α=0.8)。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "train-wm", + "metadata": {}, + "outputs": [], + "source": [ + "# Cell 2 - train the world model in isolation on a random buffer\n", + "from src.trainer import train_wm_only\n", + "\n", + "wm_cfg = WMConfig(epochs=5, standalone_episodes=60, standalone_max_steps_per_ep=40)\n", + "t0 = time.time()\n", + "wm_run = train_wm_only(wm_cfg, verbose=False)\n", + "wm = wm_run['model']\n", + "print(f'[WM-only] trained in {time.time() - t0:.1f}s · final recon = {wm_run[\"losses\"][-1][\"recon\"]:.2f} · final KL = {wm_run[\"losses\"][-1][\"kl\"]:.2f}')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "recon-strips", + "metadata": {}, + "outputs": [], + "source": [ + "# Cell 3 - reconstruction strips: 4 rollouts, real on top, reconstructed below\n", + "from src.viz import reconstruction_strips\n", + "out = reconstruction_strips(wm, env_seed=SEED, n_strips=4, strip_len=10, out_path=ASSETS / 'reconstruction_grid.png')\n", + "print('saved', out)\n", + "from IPython.display import Image\n", + "Image(str(out))" + ] + }, + { + "cell_type": "markdown", + "id": "policy-md", + "metadata": {}, + "source": [ + "## 2. 在 imagination 里训练 actor-critic\n", + "\n", + "完整 Dreamer 循环 8 轮:每轮采集 12 条真实轨迹(≈ 数百 env steps),更新 WM 18 次,再从 buffer 采样 latent 起点,按 actor 想象 12 步,求 λ-return,更新 actor 和 critic 50 次。整个过程预算 ≤ 6 分钟。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "train-dreamer", + "metadata": {}, + "outputs": [], + "source": [ + "# Cell 4 - full Dreamer cycle (WM + AC in imagination)\n", + "seed_everything(SEED)\n", + "pol_cfg = PolicyConfig(n_cycles=8, episodes_per_cycle=12, seed=SEED)\n", + "wm_cfg2 = WMConfig(seed=SEED)\n", + "t0 = time.time()\n", + "trainer = train_dreamer(wm_cfg=wm_cfg2, pol_cfg=pol_cfg, verbose=True)\n", + "print(f'\\n[Dreamer] wall = {time.time() - t0:.1f}s')\n", + "print(f'[Dreamer] final cycle mean return = {trainer.history[\"returns\"][-1]:.1f}')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "return-curve", + "metadata": {}, + "outputs": [], + "source": [ + "# Cell 5 - return-vs-env-steps curve\n", + "from src.viz import return_curve\n", + "out = return_curve(trainer.history, out_path=ASSETS / 'return_vs_steps.png')\n", + "print('saved', out)\n", + "Image(str(out))" + ] + }, + { + "cell_type": "markdown", + "id": "latent-md", + "metadata": {}, + "source": [ + "## 3. Latent rollout vs. real rollout — \"梦境寿命\"\n", + "\n", + "从同一个起始观察出发,用同一段动作序列在真实环境和 WM 的 latent 空间里各跑 15 步。底下那条 pixel-MSE 曲线就是 WM 误差随 horizon 增长的经验证据——这是 imagination 能买回多少 policy improvement 的硬上限。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "latent-vs-real", + "metadata": {}, + "outputs": [], + "source": [ + "# Cell 6 - 15-step latent rollout next to real rollout\n", + "from src.viz import latent_vs_real_rollout\n", + "out = latent_vs_real_rollout(trainer.wm, env_seed=SEED + 13, horizon=15, out_path=ASSETS / 'latent_vs_real_rollout.png')\n", + "print('saved', out)\n", + "Image(str(out))" + ] + }, + { + "cell_type": "markdown", + "id": "wrap-md", + "metadata": {}, + "source": [ + "## 三条 stretch goals\n", + "\n", + "1. **离散 RSSM**:把 `world_model.RSSM` 的 stochastic state 换成 32-categorical + straight-through,复现 DreamerV2 的核心 trick。通常对 KL 项更稳定。\n", + "2. **Domain randomisation**:在 `env._render_cartpole_state` 里随机化背景颜色、cart 尺寸或杆颜色,测试 WM 是否仍能 generalise(论文里这一类扰动是检验 latent 是否捕捉到 task-relevant 信息的标准做法)。\n", + "3. **MountainCar / Acrobot**:把 `make_pixel_cartpole` 替换成 MountainCar 的像素版。reward 稀疏会让 reward head 失去训练信号——同样的 RSSM 在更稀疏的反馈下能跑多远?" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/labs/world_models/lab_dreamer_cartpole_pixels/paper.md b/labs/world_models/lab_dreamer_cartpole_pixels/paper.md new file mode 100644 index 0000000..566b0bd --- /dev/null +++ b/labs/world_models/lab_dreamer_cartpole_pixels/paper.md @@ -0,0 +1,40 @@ +# 从像素到 imagination:一棵世界模型谱系的最小复现 + +三张 Atlas 卡片汇聚于此:[paper_world_models](../../docs/data/cards/paper_world_models.md) +(Ha & Schmidhuber 2018)首次把 VAE+MDN-RNN 当作"脑内模拟器",在 latent 空间内训练 +controller;[paper_dreamer_v2](../../docs/data/cards/extended/paper_dreamer_v2.md) +把 latent 换成 RSSM——deterministic GRU 隐状态 $h_t$ + 离散随机 $z_t$, +配合 KL balancing 让 prior 追 posterior;[paper_dreamer_v3](../../docs/data/cards/extended/paper_dreamer_v3.md) +则用 symlog/TwoHot 等规范化把这套配方从研究原型变成统一超参的通用基线。 + +本 lab 复现的最小核心: + +1. **encoder**:3 层 CNN,64×64×3 → 256-d; +2. **RSSM**:GRU 200-d $h_t$ + 32-d Gaussian $z_t$(V1 风格简化,比 V2 categorical 更便宜,本质动力学一致); +3. **decoder**:转置卷积镜像 encoder; +4. **reward head & continue head**:(h, z) → 标量; +5. **损失**:$\mathcal{L} = \text{recon} + \text{reward} + \text{continue} + \alpha\,\mathrm{KL}(q\|\text{sg}(p)) + (1-\alpha)\,\mathrm{KL}(\text{sg}(q)\|p)$,$\alpha=0.8$; +6. **actor-critic**:仅在 imagine 出来的 (h, z) 轨迹上训练,回报用 λ-return ($\lambda=0.95$),并按 continue 头预测的 $\gamma\cdot p(\text{cont})$ 折扣。 + +```mermaid +flowchart LR + obs["o_t (64×64 RGB)"] --> enc["CNN encoder"] + enc --> embed["256-d embed"] + embed --> post["posterior q(z_t|h_t,o_t)"] + h["h_t = GRU(h_{t-1}, z_{t-1}, a_{t-1})"] --> post + h --> prior["prior p(z_t|h_t)"] + post --> z["z_t ~ N(mu, sigma)"] + z --> dec["transposed-conv decoder"] + z --> rh["reward head"] + z --> ch["continue head"] + prior <-->|KL balancing α=0.8| post + z --> img["latent imagination rollout"] + img --> ac["actor + critic (λ-return)"] + ac --> pol["policy"] + pol -->|sample real episodes| obs +``` + +三条进化主轴清晰可见:**像素→latent 压缩**让规划可负担、 +**RSSM**让 latent 动力学可学习、**continue head + λ-return**让 imagination 不至于无限乐观。 +后续 lab 可以沿任意一条加深:换 categorical 潜变量、加 symlog/TwoHot、 +或把环境推到稀疏奖励来逼出世界模型的局限。 diff --git a/labs/world_models/lab_dreamer_cartpole_pixels/requirements.txt b/labs/world_models/lab_dreamer_cartpole_pixels/requirements.txt new file mode 100644 index 0000000..0ce0ae3 --- /dev/null +++ b/labs/world_models/lab_dreamer_cartpole_pixels/requirements.txt @@ -0,0 +1,8 @@ +numpy==2.1.3 +matplotlib==3.10.9 +torch==2.12.0 +gymnasium==1.2.1 +nbformat==5.10.4 +nbconvert==7.17.1 +ipykernel==6.30.1 +jupyter==1.1.1 diff --git a/labs/world_models/lab_dreamer_cartpole_pixels/src/__init__.py b/labs/world_models/lab_dreamer_cartpole_pixels/src/__init__.py new file mode 100644 index 0000000..6876483 --- /dev/null +++ b/labs/world_models/lab_dreamer_cartpole_pixels/src/__init__.py @@ -0,0 +1 @@ +"""Dreamer-style world model reproduction lab on CartPole pixels.""" diff --git a/labs/world_models/lab_dreamer_cartpole_pixels/src/env.py b/labs/world_models/lab_dreamer_cartpole_pixels/src/env.py new file mode 100644 index 0000000..3f0ae46 --- /dev/null +++ b/labs/world_models/lab_dreamer_cartpole_pixels/src/env.py @@ -0,0 +1,139 @@ +"""CartPole-v1 wrapped to emit 64x64 RGB observations. + +We avoid the pygame-based ``render_mode='rgb_array'`` path because it is slow +and pulls in optional dependencies. Instead we draw the cart+pole into a +64x64x3 ``uint8`` array directly from the underlying 4-d state, which is +deterministic, CPU-friendly, and produces visually clean reconstructions for +the autoencoder to model. + +The wrapper exposes: +- ``PixelCartPole.reset()`` -> (obs, info) where ``obs`` is ``float32`` 3x64x64 in [0,1]. +- ``PixelCartPole.step(action)`` -> (obs, reward, terminated, truncated, info). +- ``PixelCartPole.render_state(state)`` -> static helper to render an arbitrary state. +""" + +from __future__ import annotations + +from dataclasses import dataclass +from typing import Any + +import gymnasium as gym +import numpy as np + +IMG_SIZE = 64 +ACTION_DIM = 2 # CartPole has two discrete actions. + + +@dataclass +class PixelObs: + """Canonical observation specs for downstream models.""" + + channels: int = 3 + height: int = IMG_SIZE + width: int = IMG_SIZE + + +def _render_cartpole_state(state: np.ndarray, size: int = IMG_SIZE) -> np.ndarray: + """Render a CartPole state into a HxWx3 uint8 image. + + State layout (Gymnasium): [cart_x, cart_v, pole_theta, pole_omega]. + Cart x is bounded in roughly [-2.4, 2.4]; we map that to [0, size). + The pole length in image units is fixed; the angle drives its end point. + """ + x = float(state[0]) + theta = float(state[2]) + + img = np.full((size, size, 3), 250, dtype=np.uint8) # near-white background + + # Ground line + ground_y = int(size * 0.7) + img[ground_y : ground_y + 1, :, :] = 60 + + # Cart geometry + x_range = 2.4 * 1.05 # add a little margin so cart never clips fully + cart_cx = int((x + x_range) / (2 * x_range) * size) + cart_cx = max(6, min(size - 7, cart_cx)) + cart_half_w = 8 + cart_half_h = 4 + cy0 = ground_y - cart_half_h + cy1 = ground_y + cart_half_h + cx0 = max(0, cart_cx - cart_half_w) + cx1 = min(size, cart_cx + cart_half_w) + # Dark slate cart + img[cy0:cy1, cx0:cx1, 0] = 40 + img[cy0:cy1, cx0:cx1, 1] = 60 + img[cy0:cy1, cx0:cx1, 2] = 100 + + # Pole - draw with simple line rasterisation (Bresenham-like via linspace). + pole_len_px = int(size * 0.35) + base_x = cart_cx + base_y = cy0 + # In Gymnasium CartPole the pole sticks up; theta>0 is leaning right. + end_x = base_x + int(np.sin(theta) * pole_len_px) + end_y = base_y - int(np.cos(theta) * pole_len_px) + n_steps = max(abs(end_x - base_x), abs(end_y - base_y)) + 1 + xs = np.linspace(base_x, end_x, n_steps).astype(int) + ys = np.linspace(base_y, end_y, n_steps).astype(int) + # Thicken the line by drawing a 3x3 cross at each sampled pixel. + for dx in (-1, 0, 1): + for dy in (-1, 0, 1): + xx = np.clip(xs + dx, 0, size - 1) + yy = np.clip(ys + dy, 0, size - 1) + img[yy, xx, 0] = 200 + img[yy, xx, 1] = 80 + img[yy, xx, 2] = 30 + + return img + + +class PixelCartPole: + """Thin wrapper around CartPole-v1 yielding 64x64 RGB observations. + + We deliberately do NOT use ``gym.make("CartPole-v1", render_mode="rgb_array")`` + because that pulls pygame and renders a 600x400 frame we would have to + downsample. The state-based render is faster (~30us) and pixel-stable. + """ + + observation_space = gym.spaces.Box(low=0.0, high=1.0, shape=(3, IMG_SIZE, IMG_SIZE), dtype=np.float32) + action_space = gym.spaces.Discrete(ACTION_DIM) + + def __init__(self, seed: int | None = None): + # We keep render_mode=None so gymnasium doesn't try to import pygame. + self._env = gym.make("CartPole-v1") + self._seed = seed + self._last_state = np.zeros(4, dtype=np.float32) + + def reset(self, seed: int | None = None) -> tuple[np.ndarray, dict]: + s = seed if seed is not None else self._seed + obs_state, info = self._env.reset(seed=s) + self._last_state = obs_state.astype(np.float32) + return self._render(self._last_state), info + + def step(self, action: int) -> tuple[np.ndarray, float, bool, bool, dict]: + obs_state, reward, terminated, truncated, info = self._env.step(int(action)) + self._last_state = obs_state.astype(np.float32) + return self._render(self._last_state), float(reward), bool(terminated), bool(truncated), info + + @property + def state(self) -> np.ndarray: + """Expose the underlying 4-d state for visualisation / debug only.""" + return self._last_state.copy() + + def close(self) -> None: + self._env.close() + + @staticmethod + def _render(state: np.ndarray) -> np.ndarray: + rgb = _render_cartpole_state(state) + # Channel-first float32 in [0, 1] for direct conversion to torch tensor. + return (rgb.astype(np.float32) / 255.0).transpose(2, 0, 1) + + @classmethod + def render_state(cls, state: np.ndarray) -> np.ndarray: + """Return CHW float32 image for an arbitrary 4-d state (debug).""" + return cls._render(np.asarray(state, dtype=np.float32)) + + +def make_pixel_cartpole(seed: int | None = None) -> PixelCartPole: + """Factory matching the style of the DQN/PPO lab.""" + return PixelCartPole(seed=seed) diff --git a/labs/world_models/lab_dreamer_cartpole_pixels/src/policy.py b/labs/world_models/lab_dreamer_cartpole_pixels/src/policy.py new file mode 100644 index 0000000..e971776 --- /dev/null +++ b/labs/world_models/lab_dreamer_cartpole_pixels/src/policy.py @@ -0,0 +1,446 @@ +"""Actor-critic trained purely in the world model's latent imagination. + +This is the second half of the Dreamer recipe. We: +1. Collect real environment data with the current (or random) policy. +2. Train the world model on observation sequences. +3. Sample starting latents from the buffer, imagine fixed-horizon rollouts + under the actor, compute lambda-returns from the predicted rewards and + critic, and update actor+critic by backprop through imagination. +4. Iterate 8 outer cycles. + +Running ``python -m src.policy`` performs the full Dreamer cycle and saves +``data/dreamer.pt`` with the world model + actor + critic weights. +""" + +from __future__ import annotations + +import math +import os +import time +from dataclasses import dataclass, field +from pathlib import Path + +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F + +from src.env import ACTION_DIM, make_pixel_cartpole +from src.seeds import seed_everything +from src.world_model import ( + SequenceBuffer, + WMConfig, + WorldModel, + collect_random_episode, +) + + +# ----------------------------- Hyperparameters ------------------------------ # + + +@dataclass +class PolicyConfig: + """All Dreamer hyperparameters at the top so the notebook can override. + + The defaults are tuned so that ``python -m src.policy`` completes in + roughly 6 minutes on a 2-thread CPU laptop. Loosen any time budget at + your own risk. + """ + + # Outer loop + n_cycles: int = 8 # repeats of (collect -> train WM -> train AC) + episodes_per_cycle: int = 12 # real env trajectories collected each cycle + max_steps_per_episode: int = 100 # cap so a useless policy can't stall the loop + + # World-model training inside a cycle + wm_updates_per_cycle: int = 18 # gradient steps on the WM each cycle + wm_pretrain_updates: int = 60 # extra WM updates in the very first cycle + wm_seq_len: int = 20 # T in WM minibatches + wm_batch_size: int = 8 # B in WM minibatches + + # Actor-critic + ac_hidden: int = 200 + actor_lr: float = 1e-4 + critic_lr: float = 3e-4 + imagine_horizon: int = 12 + imagine_batch: int = 32 # number of trajectories imagined per AC update + ac_updates_per_cycle: int = 50 # gradient steps on actor+critic each cycle + gamma: float = 0.99 + lambda_: float = 0.95 # GAE/lambda-return mixing + actor_entropy: float = 0.005 + + # Init epsilon for the first cycle - actions are uniform random before any AC training. + initial_random_steps: int = 500 + + # Reproducibility / IO + seed: int = 0 + + +# ----------------------------- Actor & Critic ------------------------------- # + + +class Actor(nn.Module): + """Discrete-action stochastic policy over (h, z).""" + + def __init__(self, in_dim: int, action_dim: int, hidden: int): + super().__init__() + self.net = nn.Sequential( + nn.Linear(in_dim, hidden), + nn.ELU(inplace=True), + nn.Linear(hidden, hidden), + nn.ELU(inplace=True), + nn.Linear(hidden, action_dim), + ) + + def forward(self, feat: torch.Tensor) -> torch.distributions.Categorical: + logits = self.net(feat) + return torch.distributions.Categorical(logits=logits) + + +class Critic(nn.Module): + """Scalar value V(h, z).""" + + def __init__(self, in_dim: int, hidden: int): + super().__init__() + self.net = nn.Sequential( + nn.Linear(in_dim, hidden), + nn.ELU(inplace=True), + nn.Linear(hidden, hidden), + nn.ELU(inplace=True), + nn.Linear(hidden, 1), + ) + + def forward(self, feat: torch.Tensor) -> torch.Tensor: + return self.net(feat).squeeze(-1) + + +# --------------------------- Lambda-return helper --------------------------- # + + +def lambda_return( + rewards: torch.Tensor, # (H, B) imagined rewards + values: torch.Tensor, # (H, B) bootstrap values at each step + bootstrap: torch.Tensor, # (B,) value at H (terminal bootstrap) + gamma: float, + lam: float, + continues: torch.Tensor | None = None, # (H, B) per-step continuation prob +) -> torch.Tensor: + """Compute V^{lambda}_t recursively, as in Dreamer's paper. + + The effective discount at step t is ``gamma * continues[t]`` so the + return is auto-truncated when the world model predicts termination. + + Returns a tensor of shape (H, B) where index t is the lambda-return + starting from step t with terminal bootstrap V(s_H) = ``bootstrap``. + """ + H = rewards.shape[0] + if continues is None: + continues = torch.ones_like(rewards) + # Per-step effective discount. + disc = gamma * continues # (H, B) + next_values = torch.cat([values[1:], bootstrap.unsqueeze(0)], dim=0) # (H, B) + inputs = rewards + disc * (1 - lam) * next_values # (H, B) + returns = torch.zeros_like(rewards) + acc = bootstrap + for t in reversed(range(H)): + acc = inputs[t] + disc[t] * lam * acc + returns[t] = acc + return returns + + +# ------------------------------ Cycle driver -------------------------------- # + + +class DreamerTrainer: + """Coordinates env collection, WM training, and AC training in a cycle.""" + + def __init__(self, wm_cfg: WMConfig, pol_cfg: PolicyConfig): + # Reconcile WM config with the policy's expected dimensions. + wm_cfg.seq_len = pol_cfg.wm_seq_len + wm_cfg.batch_size = pol_cfg.wm_batch_size + self.wm_cfg = wm_cfg + self.pol_cfg = pol_cfg + + self.wm = WorldModel(wm_cfg) + feat_dim = wm_cfg.deter_dim + wm_cfg.stoch_dim + self.actor = Actor(feat_dim, wm_cfg.action_dim, pol_cfg.ac_hidden) + self.critic = Critic(feat_dim, pol_cfg.ac_hidden) + + self.wm_opt = torch.optim.Adam(self.wm.parameters(), lr=wm_cfg.lr, weight_decay=wm_cfg.weight_decay) + self.actor_opt = torch.optim.Adam(self.actor.parameters(), lr=pol_cfg.actor_lr) + self.critic_opt = torch.optim.Adam(self.critic.parameters(), lr=pol_cfg.critic_lr) + + self.buffer = SequenceBuffer(max_episodes=200, seq_len=wm_cfg.seq_len) + self.env = make_pixel_cartpole(seed=pol_cfg.seed) + self.rng = np.random.default_rng(pol_cfg.seed) + + # Diagnostics accumulated across the run. + self.history = { + "env_steps": [], + "returns": [], # rolling mean of recent real-env episode returns + "raw_returns": [], # raw per-episode returns + "raw_steps": [], # cumulative env-step at episode end + "wm_recon": [], + "wm_kl": [], + "wm_reward": [], + "actor_loss": [], + "critic_loss": [], + "cycle_wall": [], + } + self._total_env_steps = 0 + + # ---------- env interaction ---------- # + + def _act(self, obs_np: np.ndarray, explore: bool) -> int: + """Pick an action from the current policy, using a 1-step posterior.""" + obs_t = torch.from_numpy(obs_np).unsqueeze(0) # (1, 3, H, W) + with torch.no_grad(): + h0, z0 = self.wm.initial_latent(obs_t) + feat = torch.cat([h0, z0], dim=-1) + dist = self.actor(feat) + a = dist.sample() if explore else dist.probs.argmax(dim=-1) + return int(a.item()) + + def collect_episodes(self, n_episodes: int, use_random: bool) -> tuple[list[float], int]: + """Collect ``n_episodes`` trajectories; returns (per-episode returns, env steps).""" + returns = [] + steps = 0 + for _ in range(n_episodes): + o, _ = self.env.reset() + obs_list, act_list, rew_list, term_list = [], [], [], [] + ep_return = 0.0 + for _ in range(self.pol_cfg.max_steps_per_episode): + if use_random or self._total_env_steps < self.pol_cfg.initial_random_steps: + a = int(self.env.action_space.sample()) + else: + a = self._act(o, explore=True) + obs_list.append(o) + no, r, term, trunc, _ = self.env.step(a) + act_list.append(a); rew_list.append(r); term_list.append(bool(term)) + ep_return += r + steps += 1 + self._total_env_steps += 1 + o = no + if term or trunc: + break + self.buffer.add_episode(obs_list, act_list, rew_list, term_list) + returns.append(ep_return) + self.history["raw_returns"].append(ep_return) + self.history["raw_steps"].append(self._total_env_steps) + return returns, steps + + # ---------- world model training ---------- # + + def update_world_model(self, n_updates: int) -> dict[str, float]: + agg = {"recon": 0.0, "reward": 0.0, "kl": 0.0} + for _ in range(n_updates): + batch = self.buffer.sample(self.wm_cfg.batch_size, self.rng) + out = self.wm.compute_loss(batch) + self.wm_opt.zero_grad() + out["loss"].backward() + torch.nn.utils.clip_grad_norm_(self.wm.parameters(), self.wm_cfg.grad_clip) + self.wm_opt.step() + agg["recon"] += float(out["recon"].item()) + agg["reward"] += float(out["reward"].item()) + agg["kl"] += float(out["kl"].item()) + n = max(1, n_updates) + return {k: v / n for k, v in agg.items()} + + # ---------- actor-critic training in imagination ---------- # + + def _sample_initial_latents(self, batch_size: int) -> tuple[torch.Tensor, torch.Tensor]: + """Encode buffer slices and grab posterior (h, z) at random per-episode + timesteps as imagination starts. We bias toward earlier timesteps so + the actor never imagines from terminal (post-fall) states - those have + no recoverable action and produce zero advantage.""" + with torch.no_grad(): + batch = self.buffer.sample(batch_size, self.rng) + embeds = self.wm.encoder(batch["obs"]) + states = self.wm.rssm.observe(embeds, batch["act"]) + T, B = states["h"].shape[:2] + # Bias starting points toward the first half of each window so the + # actor has room to demonstrate balance behaviour in imagination. + max_t = max(2, T // 2) + ts = self.rng.integers(1, max_t, size=B) + ts_t = torch.from_numpy(ts).long() + h_init = states["h"][ts_t, torch.arange(B)].detach() + z_init = states["z"][ts_t, torch.arange(B)].detach() + return h_init, z_init + + def update_actor_critic(self, n_updates: int) -> dict[str, float]: + cfg = self.pol_cfg + H = cfg.imagine_horizon + # Freeze WM during AC updates - we backprop through its dynamics but + # do NOT update its weights. + for p in self.wm.parameters(): + p.requires_grad_(False) + + agg = {"actor": 0.0, "critic": 0.0} + for _ in range(n_updates): + init_h, init_z = self._sample_initial_latents(cfg.imagine_batch) + B = init_h.shape[0] + + # Imagine H steps. Actions sampled from the actor at each step; + # rewards from the WM reward head; values from the critic. + # The actor's gradient flows only through the REINFORCE log-prob + # below (advantage is detached). The critic's gradient flows + # through `values = critic(feat)` for each step. + h, z = init_h, init_z + feats, log_probs, entropies, rewards, continues = [], [], [], [], [] + for t in range(H): + feat = torch.cat([h, z], dim=-1) + dist = self.actor(feat) + a = dist.sample() + log_p = dist.log_prob(a) + ent = dist.entropy() + a_oh = F.one_hot(a, num_classes=ACTION_DIM).float() + step_out = self.wm.rssm.step(h, z, a_oh, embed=None) + h, z = step_out["h"], step_out["z"] + feats.append(feat) + rewards.append(self.wm.reward_head(h, z)) + continues.append(torch.sigmoid(self.wm.continue_head(h, z))) + log_probs.append(log_p) + entropies.append(ent) + + # values predicted at each visited state (excluding init); we also + # need a bootstrap value at H. + final_feat = torch.cat([h, z], dim=-1) + values = torch.stack([self.critic(f) for f in feats], dim=0) # (H, B) + bootstrap = self.critic(final_feat) # (B,) + rewards_t = torch.stack(rewards, dim=0).detach() # (H, B) - stop-grad + continues_t = torch.stack(continues, dim=0).detach() # (H, B) - stop-grad + log_probs_t = torch.stack(log_probs, dim=0) # (H, B) + entropies_t = torch.stack(entropies, dim=0) # (H, B) + + returns = lambda_return( + rewards_t, values, bootstrap, cfg.gamma, cfg.lambda_, continues=continues_t, + ) + + # Cumulative discount along the trajectory so steps past predicted + # termination contribute little to the actor / critic loss. + with torch.no_grad(): + disc = torch.cumprod( + torch.cat([torch.ones(1, B), continues_t[:-1] * cfg.gamma], dim=0), + dim=0, + ) + + # Actor loss: REINFORCE on imagined advantages, normalised so the + # gradient magnitude is scale-free. This is the Dreamer V2 style + # update for discrete actions. The critic baseline reduces variance + # and the entropy term keeps exploration alive while learning. + adv = (returns.detach() - values.detach()) + adv = (adv - adv.mean()) / (adv.std() + 1e-6) + reinforce_term = -(disc * log_probs_t * adv).mean() + entropy_term = -cfg.actor_entropy * (disc * entropies_t).mean() + actor_loss = reinforce_term + entropy_term + + # Critic loss: regress to lambda-returns (stop-grad on targets). + critic_loss = (disc * (values - returns.detach()).pow(2)).mean() + + # Separate backward passes (actor's graph and critic's graph share + # imagined features, so we retain the graph on the first pass). + self.actor_opt.zero_grad() + actor_loss.backward(retain_graph=True) + torch.nn.utils.clip_grad_norm_(self.actor.parameters(), 10.0) + self.actor_opt.step() + + self.critic_opt.zero_grad() + critic_loss.backward() + torch.nn.utils.clip_grad_norm_(self.critic.parameters(), 10.0) + self.critic_opt.step() + + agg["actor"] += float(actor_loss.item()) + agg["critic"] += float(critic_loss.item()) + + for p in self.wm.parameters(): + p.requires_grad_(True) + + n = max(1, n_updates) + return {k: v / n for k, v in agg.items()} + + # ---------- end-to-end driver ---------- # + + def run(self, verbose: bool = True) -> dict: + cfg = self.pol_cfg + wall_start = time.time() + for cycle in range(cfg.n_cycles): + t_cycle = time.time() + use_random = (cycle == 0) + returns, _ = self.collect_episodes(cfg.episodes_per_cycle, use_random=use_random) + + # Give the WM a head start in cycle 0 so the first AC update sees + # a model that already encodes coherent dynamics rather than noise. + n_wm = cfg.wm_updates_per_cycle + (cfg.wm_pretrain_updates if cycle == 0 else 0) + wm_metrics = self.update_world_model(n_wm) + ac_metrics = self.update_actor_critic(cfg.ac_updates_per_cycle) + + self.history["env_steps"].append(self._total_env_steps) + self.history["returns"].append(float(np.mean(returns))) + self.history["wm_recon"].append(wm_metrics["recon"]) + self.history["wm_kl"].append(wm_metrics["kl"]) + self.history["wm_reward"].append(wm_metrics["reward"]) + self.history["actor_loss"].append(ac_metrics["actor"]) + self.history["critic_loss"].append(ac_metrics["critic"]) + self.history["cycle_wall"].append(time.time() - t_cycle) + + if verbose: + print( + f"[Dreamer] cycle={cycle+1}/{cfg.n_cycles} " + f"env_steps={self._total_env_steps} " + f"return(avg{cfg.episodes_per_cycle})={np.mean(returns):.1f} " + f"recon={wm_metrics['recon']:.1f} kl={wm_metrics['kl']:.2f} " + f"actor={ac_metrics['actor']:.3f} critic={ac_metrics['critic']:.3f} " + f"({time.time()-t_cycle:.1f}s)" + ) + + elapsed = time.time() - wall_start + if verbose: + print(f"[Dreamer] total wall-clock = {elapsed:.1f}s") + self.history["total_wall"] = elapsed + return self.history + + +def save_checkpoint(trainer: DreamerTrainer, path: str | os.PathLike) -> None: + torch.save({ + "wm": trainer.wm.state_dict(), + "actor": trainer.actor.state_dict(), + "critic": trainer.critic.state_dict(), + "wm_cfg": trainer.wm_cfg.__dict__, + "pol_cfg": trainer.pol_cfg.__dict__, + "history": trainer.history, + }, path) + + +def load_checkpoint(path: str | os.PathLike, wm_cfg: WMConfig, pol_cfg: PolicyConfig) -> DreamerTrainer: + trainer = DreamerTrainer(wm_cfg, pol_cfg) + ckpt = torch.load(path, map_location="cpu", weights_only=False) + trainer.wm.load_state_dict(ckpt["wm"]) + trainer.actor.load_state_dict(ckpt["actor"]) + trainer.critic.load_state_dict(ckpt["critic"]) + trainer.history = ckpt.get("history", trainer.history) + return trainer + + +def train_dreamer( + wm_cfg: WMConfig | None = None, + pol_cfg: PolicyConfig | None = None, + verbose: bool = True, +) -> DreamerTrainer: + wm_cfg = wm_cfg or WMConfig() + pol_cfg = pol_cfg or PolicyConfig() + seed_everything(pol_cfg.seed) + + trainer = DreamerTrainer(wm_cfg, pol_cfg) + trainer.run(verbose=verbose) + + data_dir = Path(__file__).resolve().parent.parent / "data" + data_dir.mkdir(exist_ok=True) + ckpt_path = data_dir / "dreamer.pt" + save_checkpoint(trainer, ckpt_path) + if verbose: + print(f"[Dreamer] checkpoint saved to {ckpt_path}") + return trainer + + +if __name__ == "__main__": + train_dreamer() diff --git a/labs/world_models/lab_dreamer_cartpole_pixels/src/seeds.py b/labs/world_models/lab_dreamer_cartpole_pixels/src/seeds.py new file mode 100644 index 0000000..9b94b33 --- /dev/null +++ b/labs/world_models/lab_dreamer_cartpole_pixels/src/seeds.py @@ -0,0 +1,23 @@ +"""Deterministic seeding helpers for the Dreamer lab.""" + +from __future__ import annotations + +import os +import random + +import numpy as np +import torch + + +def seed_everything(seed: int = 0) -> None: + """Seed Python, NumPy, and PyTorch RNGs for reproducible runs. + + Note: Gymnasium env determinism also requires ``env.reset(seed=...)``. + """ + os.environ["PYTHONHASHSEED"] = str(seed) + random.seed(seed) + np.random.seed(seed) + torch.manual_seed(seed) + torch.use_deterministic_algorithms(False) + # Single-threaded CPU keeps training fast and reproducible. + torch.set_num_threads(1) diff --git a/labs/world_models/lab_dreamer_cartpole_pixels/src/trainer.py b/labs/world_models/lab_dreamer_cartpole_pixels/src/trainer.py new file mode 100644 index 0000000..5c6ad29 --- /dev/null +++ b/labs/world_models/lab_dreamer_cartpole_pixels/src/trainer.py @@ -0,0 +1,39 @@ +"""Notebook-facing facade that bundles the WM and policy training calls. + +Keeps the notebook narrative concise: one helper to train the world model +on a fixed buffer, one helper to run the full Dreamer cycle. +""" + +from __future__ import annotations + +from dataclasses import asdict +from pathlib import Path +from typing import Any + +import numpy as np +import torch + +from src.policy import DreamerTrainer, PolicyConfig, save_checkpoint, train_dreamer +from src.seeds import seed_everything +from src.world_model import ( + SequenceBuffer, + WMConfig, + WorldModel, + collect_random_episode, + train_world_model_only, +) + + +def train_wm_only(cfg: WMConfig | None = None, verbose: bool = True) -> dict[str, Any]: + """Train the world model in isolation on a random-policy buffer.""" + cfg = cfg or WMConfig() + return train_world_model_only(cfg, verbose=verbose) + + +def train_full_dreamer( + wm_cfg: WMConfig | None = None, + pol_cfg: PolicyConfig | None = None, + verbose: bool = True, +) -> DreamerTrainer: + """End-to-end Dreamer training cycle (WM + actor-critic in imagination).""" + return train_dreamer(wm_cfg=wm_cfg, pol_cfg=pol_cfg, verbose=verbose) diff --git a/labs/world_models/lab_dreamer_cartpole_pixels/src/viz.py b/labs/world_models/lab_dreamer_cartpole_pixels/src/viz.py new file mode 100644 index 0000000..1de4e5e --- /dev/null +++ b/labs/world_models/lab_dreamer_cartpole_pixels/src/viz.py @@ -0,0 +1,203 @@ +"""Visualisation helpers for the Dreamer-style CartPole-pixels lab. + +Three figures are produced by the notebook: + +- ``reconstruction_grid``: 4 strips of 10 consecutive frames each, real on + top and the world model's reconstruction below. +- ``latent_vs_real_rollout``: side-by-side comparison of a 15-step rollout + in the real environment vs. the same action sequence played out in the + world model's latent space (decoded back into pixels each step). +- ``return_curve``: the policy's evaluation return as a function of real + environment steps, plus an annotation of the random-policy baseline. +""" + +from __future__ import annotations + +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np +import torch + +from src.env import IMG_SIZE, ACTION_DIM, PixelCartPole, make_pixel_cartpole +from src.world_model import WorldModel + + +# ----------------------------- Reconstruction ------------------------------ # + + +def reconstruction_strips( + wm: WorldModel, + env_seed: int, + n_strips: int = 4, + strip_len: int = 10, + out_path: str | Path = "assets/reconstruction_grid.png", +) -> Path: + """Collect ``n_strips`` rollouts and plot real vs. reconstructed frames.""" + wm.eval() + fig, axes = plt.subplots( + n_strips * 2, + strip_len, + figsize=(strip_len * 0.85, n_strips * 2 * 0.85), + squeeze=False, + ) + for s in range(n_strips): + env = make_pixel_cartpole(seed=env_seed + s * 7) + o, _ = env.reset() + obs_list, act_list = [o], [] + # Random policy is fine here: we are testing reconstruction, not control. + for _ in range(strip_len - 1): + a = int(env.action_space.sample()) + no, _, term, trunc, _ = env.step(a) + obs_list.append(no) + act_list.append(a) + if term or trunc: + break + # Pad if the episode ended early. + while len(obs_list) < strip_len: + obs_list.append(obs_list[-1]) + act_list.append(0) + + obs_t = torch.from_numpy(np.stack(obs_list, axis=0)).unsqueeze(1) # (T, 1, 3, H, W) + act_t = torch.tensor([0] + act_list[: strip_len - 1], dtype=torch.long).unsqueeze(1) # (T, 1) + + with torch.no_grad(): + embeds = wm.encoder(obs_t) + states = wm.rssm.observe(embeds, act_t) + feat = torch.cat([states["h"], states["z"]], dim=-1) + recon = wm.decoder(feat) # (T, 1, 3, H, W) + + for t in range(strip_len): + real_img = obs_t[t, 0].permute(1, 2, 0).clamp(0, 1).numpy() + recon_img = recon[t, 0].permute(1, 2, 0).clamp(0, 1).numpy() + axes[2 * s, t].imshow(real_img); axes[2 * s, t].axis("off") + axes[2 * s + 1, t].imshow(recon_img); axes[2 * s + 1, t].axis("off") + if t == 0: + axes[2 * s, 0].set_ylabel("real", fontsize=8, rotation=0, labelpad=22) + axes[2 * s + 1, 0].set_ylabel("recon", fontsize=8, rotation=0, labelpad=22) + env.close() + + plt.suptitle("Real (top of each pair) vs. world-model reconstruction (bottom)", fontsize=10) + plt.tight_layout() + out_path = Path(out_path) + out_path.parent.mkdir(parents=True, exist_ok=True) + plt.savefig(out_path, dpi=130, bbox_inches="tight") + plt.close(fig) + return out_path + + +# --------------------- Latent rollout vs. real rollout --------------------- # + + +def latent_vs_real_rollout( + wm: WorldModel, + env_seed: int, + horizon: int = 15, + out_path: str | Path = "assets/latent_vs_real_rollout.png", + actions: list[int] | None = None, +) -> Path: + """Compare a 15-step real rollout with a 15-step latent rollout from same start. + + The plot has two rows: real frames on top, decoded latent frames below. + A second mini-plot below shows the per-step pixel-MSE growing with the + rollout horizon - the empirical 'long-time consistency' demonstration. + """ + wm.eval() + env = make_pixel_cartpole(seed=env_seed) + o, _ = env.reset() + + # Pick an action sequence (deterministic for reproducibility). + if actions is None: + rng = np.random.default_rng(env_seed) + actions = [int(rng.integers(0, ACTION_DIM)) for _ in range(horizon - 1)] + + real_obs = [o] + for a in actions: + no, _, term, trunc, _ = env.step(a) + real_obs.append(no) + if term or trunc: + # Pad by repeating the last real frame so shapes line up. + while len(real_obs) < horizon: + real_obs.append(real_obs[-1]) + break + while len(real_obs) < horizon: + # If the episode never terminated we may still be short; pad. + real_obs.append(real_obs[-1]) + env.close() + + real_t = torch.from_numpy(np.stack(real_obs, axis=0)).unsqueeze(1) # (H, 1, 3, *) + + # Encode the first frame, then imagine forward with the given actions. + with torch.no_grad(): + h, z = wm.initial_latent(real_t[0]) + feats = [torch.cat([h, z], dim=-1)] + for a in actions: + a_t = torch.tensor([a], dtype=torch.long) + out = wm.rssm.step(h, z, a_t, embed=None) + h, z = out["h"], out["z"] + feats.append(torch.cat([h, z], dim=-1)) + feat_t = torch.stack(feats, dim=0) # (H, 1, deter+stoch) + latent_obs = wm.decoder(feat_t) # (H, 1, 3, H_im, W_im) + + # Per-step pixel MSE between real and latent rollout. + mse_per_step = ((real_t - latent_obs) ** 2).mean(dim=(1, 2, 3, 4)).cpu().numpy() + + fig = plt.figure(figsize=(horizon * 0.75, 4.2)) + gs = fig.add_gridspec(3, horizon, height_ratios=[1, 1, 0.9]) + for t in range(horizon): + ax_r = fig.add_subplot(gs[0, t]) + ax_r.imshow(real_t[t, 0].permute(1, 2, 0).clamp(0, 1).numpy()); ax_r.axis("off") + ax_l = fig.add_subplot(gs[1, t]) + ax_l.imshow(latent_obs[t, 0].permute(1, 2, 0).clamp(0, 1).numpy()); ax_l.axis("off") + if t == 0: + ax_r.set_title("real", fontsize=8, loc="left") + ax_l.set_title("latent", fontsize=8, loc="left") + + ax_err = fig.add_subplot(gs[2, :]) + ax_err.plot(np.arange(horizon), mse_per_step, marker="o", color="#d62728") + ax_err.set_xlabel("horizon (steps after start)") + ax_err.set_ylabel("pixel MSE") + ax_err.set_title("World-model drift over a 15-step open-loop rollout") + ax_err.grid(alpha=0.3) + + plt.tight_layout() + out_path = Path(out_path) + out_path.parent.mkdir(parents=True, exist_ok=True) + plt.savefig(out_path, dpi=130, bbox_inches="tight") + plt.close(fig) + return out_path + + +# ----------------------------- Return curve -------------------------------- # + + +def return_curve( + history: dict, + out_path: str | Path = "assets/return_vs_steps.png", + title: str = "Dreamer-style policy return vs. real-env steps", +) -> Path: + """Plot per-episode returns (raw + smoothed) against cumulative env steps.""" + steps = np.asarray(history.get("raw_steps", []), dtype=float) + returns = np.asarray(history.get("raw_returns", []), dtype=float) + + fig, ax = plt.subplots(figsize=(7.5, 4.0)) + if len(steps) > 0: + ax.plot(steps, returns, color="grey", alpha=0.4, label="per-episode") + w = max(1, min(15, len(returns) // 4)) + if len(returns) >= w: + kern = np.ones(w) / w + sm = np.convolve(returns, kern, mode="valid") + ax.plot(steps[w - 1:], sm, color="#1f77b4", lw=2.0, label=f"moving avg (w={w})") + + ax.set_xlabel("real environment steps") + ax.set_ylabel("episode return") + ax.set_title(title) + ax.grid(alpha=0.3) + ax.legend() + plt.tight_layout() + + out_path = Path(out_path) + out_path.parent.mkdir(parents=True, exist_ok=True) + plt.savefig(out_path, dpi=130, bbox_inches="tight") + plt.close(fig) + return out_path diff --git a/labs/world_models/lab_dreamer_cartpole_pixels/src/world_model.py b/labs/world_models/lab_dreamer_cartpole_pixels/src/world_model.py new file mode 100644 index 0000000..a7d2e7c --- /dev/null +++ b/labs/world_models/lab_dreamer_cartpole_pixels/src/world_model.py @@ -0,0 +1,588 @@ +"""Dreamer-style world model: CNN encoder + RSSM (h_t, z_t) + decoder + reward head. + +This is a minimal but faithful reproduction of the Dreamer V1 RSSM, simplified +to fit a CPU-only budget: +- 64x64x3 -> CNN encoder -> 256-d feature. +- GRUCell maintains a 200-d deterministic state h_t. +- Stochastic state z_t is a 32-d Gaussian (V1-style). +- Prior p(z_t | h_t) and posterior q(z_t | h_t, o_t) are diagonal Gaussians. +- Decoder is a transposed-conv mirror of the encoder. +- Reward head is a small MLP on concat(h_t, z_t). + +Loss: + L = recon + reward + alpha * KL(q || sg(p)) + (1 - alpha) * KL(sg(q) || p) +with alpha = 0.8 (KL balancing, Dreamer V2 trick that also stabilises V1). + +Running ``python -m src.world_model`` collects a tiny dataset from a random +policy and trains the world model in isolation, demonstrating that pixels +become reconstructable in ~1 minute on a laptop. +""" + +from __future__ import annotations + +import math +import os +import time +from dataclasses import dataclass, field +from pathlib import Path + +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F + +# Local imports - use absolute paths so `python -m src.world_model` works. +from src.env import IMG_SIZE, ACTION_DIM, make_pixel_cartpole +from src.seeds import seed_everything + + +# ----------------------------- Hyperparameters ------------------------------ # + + +@dataclass +class WMConfig: + """All world-model hyperparameters live here so the notebook can tweak them. + + Hidden sizes are deliberately small to fit a CPU budget (<= 8 min total). + """ + + # Architecture + embed_dim: int = 256 + deter_dim: int = 200 # h_t width (GRU hidden) + stoch_dim: int = 32 # z_t dimensionality + hidden_dim: int = 200 # generic MLP width inside RSSM/heads + action_dim: int = ACTION_DIM + img_size: int = IMG_SIZE + + # Optimisation + lr: float = 6e-4 + weight_decay: float = 1e-6 + batch_size: int = 16 + seq_len: int = 32 + epochs: int = 5 # passes over the buffer per outer cycle + grad_clip: float = 100.0 + + # Loss weights + recon_weight: float = 1.0 + reward_weight: float = 1.0 + continue_weight: float = 1.0 + kl_weight: float = 1.0 + kl_balancing: float = 0.8 # alpha in the balancing equation + free_nats: float = 1.0 # minimum KL per dim before it counts toward the loss + + # Reproducibility + seed: int = 0 + + # Stand-alone training defaults (used by `python -m src.world_model`) + standalone_episodes: int = 60 + standalone_max_steps_per_ep: int = 60 + + +# ----------------------------- Replay storage ------------------------------- # + + +class SequenceBuffer: + """Stores variable-length episodes as channel-first float images. + + Sampling returns fixed-length sub-sequences ``(T, B, ...)`` suitable for + teacher-forced world-model training. We sample from any episode that is at + least ``seq_len`` long; shorter episodes are left in place but never drawn. + """ + + def __init__(self, max_episodes: int = 256, seq_len: int = 32): + self.max_episodes = max_episodes + self.seq_len = seq_len + self.episodes: list[dict[str, np.ndarray]] = [] + + def add_episode(self, obs: list[np.ndarray], act: list[int], rew: list[float], term: list[bool]) -> None: + ep = { + "obs": np.stack(obs, axis=0).astype(np.float32), # (T, 3, H, W) + "act": np.asarray(act, dtype=np.int64), # (T,) + "rew": np.asarray(rew, dtype=np.float32), # (T,) + "term": np.asarray(term, dtype=np.float32), # (T,) + } + self.episodes.append(ep) + if len(self.episodes) > self.max_episodes: + self.episodes.pop(0) + + def __len__(self) -> int: + return len(self.episodes) + + def total_steps(self) -> int: + return sum(int(ep["obs"].shape[0]) for ep in self.episodes) + + def sample(self, batch_size: int, rng: np.random.Generator) -> dict[str, torch.Tensor]: + # Filter to episodes long enough to yield a window. + eligible = [i for i, ep in enumerate(self.episodes) if ep["obs"].shape[0] >= self.seq_len] + if not eligible: + # Fallback: pad short episodes by repeating the last frame. + eligible = list(range(len(self.episodes))) + idxs = rng.choice(eligible, size=batch_size, replace=True) + + obs_b, act_b, rew_b, term_b = [], [], [], [] + for i in idxs: + ep = self.episodes[int(i)] + T = ep["obs"].shape[0] + if T >= self.seq_len: + start = int(rng.integers(0, T - self.seq_len + 1)) + sl = slice(start, start + self.seq_len) + obs_b.append(ep["obs"][sl]) + act_b.append(ep["act"][sl]) + rew_b.append(ep["rew"][sl]) + term_b.append(ep["term"][sl]) + else: + # Pad by repeating the last step. + pad = self.seq_len - T + obs_b.append(np.concatenate([ep["obs"], np.repeat(ep["obs"][-1:], pad, axis=0)], axis=0)) + act_b.append(np.concatenate([ep["act"], np.repeat(ep["act"][-1:], pad, axis=0)], axis=0)) + rew_b.append(np.concatenate([ep["rew"], np.zeros(pad, dtype=np.float32)], axis=0)) + term_b.append(np.concatenate([ep["term"], np.ones(pad, dtype=np.float32)], axis=0)) + + # Stack to (T, B, ...) layout - that's what RSSM unroll expects. + obs_t = torch.from_numpy(np.stack(obs_b, axis=1)) # (T, B, 3, H, W) + act_t = torch.from_numpy(np.stack(act_b, axis=1)) # (T, B) + rew_t = torch.from_numpy(np.stack(rew_b, axis=1)) # (T, B) + term_t = torch.from_numpy(np.stack(term_b, axis=1)) # (T, B) + return {"obs": obs_t, "act": act_t, "rew": rew_t, "term": term_t} + + +# ----------------------------- Network modules ------------------------------ # + + +class Encoder(nn.Module): + """3-conv-layer CNN: 64x64x3 -> 256-d feature vector.""" + + def __init__(self, embed_dim: int = 256): + super().__init__() + # 64 -> 32 -> 16 -> 8 + self.conv = nn.Sequential( + nn.Conv2d(3, 32, kernel_size=4, stride=2, padding=1), # 32x32 + nn.ReLU(inplace=True), + nn.Conv2d(32, 64, kernel_size=4, stride=2, padding=1), # 16x16 + nn.ReLU(inplace=True), + nn.Conv2d(64, 64, kernel_size=4, stride=2, padding=1), # 8x8 + nn.ReLU(inplace=True), + ) + # 64 * 8 * 8 = 4096 -> embed_dim + self.fc = nn.Linear(64 * 8 * 8, embed_dim) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + # x: (..., 3, H, W) + lead_shape = x.shape[:-3] + x = x.reshape(-1, 3, IMG_SIZE, IMG_SIZE) + h = self.conv(x) + h = h.flatten(1) + h = F.relu(self.fc(h)) + return h.reshape(*lead_shape, -1) + + +class Decoder(nn.Module): + """Transposed-conv mirror of the encoder: (h, z) -> 3x64x64 image.""" + + def __init__(self, in_dim: int): + super().__init__() + self.fc = nn.Linear(in_dim, 64 * 8 * 8) + self.deconv = nn.Sequential( + nn.ConvTranspose2d(64, 64, kernel_size=4, stride=2, padding=1), # 16x16 + nn.ReLU(inplace=True), + nn.ConvTranspose2d(64, 32, kernel_size=4, stride=2, padding=1), # 32x32 + nn.ReLU(inplace=True), + nn.ConvTranspose2d(32, 3, kernel_size=4, stride=2, padding=1), # 64x64 + ) + + def forward(self, feat: torch.Tensor) -> torch.Tensor: + # feat: (..., in_dim) + lead_shape = feat.shape[:-1] + x = self.fc(feat.reshape(-1, feat.shape[-1])) + x = F.relu(x) + x = x.view(-1, 64, 8, 8) + x = self.deconv(x) + # Sigmoid so output lives in [0, 1] like the input. + x = torch.sigmoid(x) + return x.reshape(*lead_shape, 3, IMG_SIZE, IMG_SIZE) + + +class RSSM(nn.Module): + """Recurrent State-Space Model. + + State at time t consists of: + - deterministic h_t (GRU output, ``deter_dim``) + - stochastic z_t (sampled from posterior or prior, ``stoch_dim``) + + Transition: h_t = GRU(h_{t-1}, MLP([z_{t-1}, a_{t-1}])). + Prior: z_t ~ N(mu_p(h_t), sigma_p(h_t)). + Posterior: z_t ~ N(mu_q([h_t, embed_t]), sigma_q([h_t, embed_t])). + """ + + def __init__(self, cfg: WMConfig): + super().__init__() + self.cfg = cfg + self.deter_dim = cfg.deter_dim + self.stoch_dim = cfg.stoch_dim + self.action_dim = cfg.action_dim + h = cfg.hidden_dim + + # Prepare GRU input: MLP over (z_{t-1}, a_{t-1}). + self._pre_gru = nn.Sequential( + nn.Linear(cfg.stoch_dim + cfg.action_dim, h), + nn.ELU(inplace=True), + ) + self.gru = nn.GRUCell(h, cfg.deter_dim) + + # Prior MLP: h_t -> (mu, log_std). + self.prior_net = nn.Sequential( + nn.Linear(cfg.deter_dim, h), + nn.ELU(inplace=True), + nn.Linear(h, 2 * cfg.stoch_dim), + ) + # Posterior MLP: [h_t, embed_t] -> (mu, log_std). + self.post_net = nn.Sequential( + nn.Linear(cfg.deter_dim + cfg.embed_dim, h), + nn.ELU(inplace=True), + nn.Linear(h, 2 * cfg.stoch_dim), + ) + + # ----- low-level helpers ----- # + + def init_state(self, batch_size: int, device: torch.device) -> tuple[torch.Tensor, torch.Tensor]: + h = torch.zeros(batch_size, self.deter_dim, device=device) + z = torch.zeros(batch_size, self.stoch_dim, device=device) + return h, z + + @staticmethod + def _split(stats: torch.Tensor) -> tuple[torch.Tensor, torch.Tensor]: + mu, raw_std = stats.chunk(2, dim=-1) + # Softplus + small minimum keeps the dist non-degenerate. + std = F.softplus(raw_std) + 0.1 + return mu, std + + @staticmethod + def _sample(mu: torch.Tensor, std: torch.Tensor) -> torch.Tensor: + # Reparameterised Gaussian sample. + return mu + std * torch.randn_like(mu) + + def one_hot_action(self, a: torch.Tensor) -> torch.Tensor: + return F.one_hot(a.long(), num_classes=self.action_dim).float() + + # ----- the only two methods callers should need ----- # + + def step( + self, + prev_h: torch.Tensor, + prev_z: torch.Tensor, + prev_a: torch.Tensor, + embed: torch.Tensor | None = None, + ) -> dict[str, torch.Tensor]: + """Advance one step. + + If ``embed`` is provided, returns both prior and posterior stats and + samples z from the posterior (training). Otherwise samples from prior + (imagination). + """ + if prev_a.dim() == 1: + prev_a_oh = self.one_hot_action(prev_a) + else: + prev_a_oh = prev_a # already one-hot (used by imagination) + gru_in = self._pre_gru(torch.cat([prev_z, prev_a_oh], dim=-1)) + h = self.gru(gru_in, prev_h) + + prior_mu, prior_std = self._split(self.prior_net(h)) + + if embed is not None: + post_mu, post_std = self._split(self.post_net(torch.cat([h, embed], dim=-1))) + z = self._sample(post_mu, post_std) + return { + "h": h, "z": z, + "prior_mu": prior_mu, "prior_std": prior_std, + "post_mu": post_mu, "post_std": post_std, + } + z = self._sample(prior_mu, prior_std) + return {"h": h, "z": z, "prior_mu": prior_mu, "prior_std": prior_std} + + def observe( + self, + embeds: torch.Tensor, # (T, B, embed_dim) + actions: torch.Tensor, # (T, B) discrete actions + init: tuple[torch.Tensor, torch.Tensor] | None = None, + ) -> dict[str, torch.Tensor]: + """Teacher-forced rollout: stash all per-step distributions and samples.""" + T, B = embeds.shape[:2] + device = embeds.device + h, z = self.init_state(B, device) if init is None else init + + hs, zs = [], [] + prior_mus, prior_stds = [], [] + post_mus, post_stds = [], [] + + for t in range(T): + # Use previous action; at t=0 we plug a noop (zero action). + if t == 0: + a_prev = torch.zeros(B, dtype=torch.long, device=device) + else: + a_prev = actions[t - 1] + out = self.step(h, z, a_prev, embed=embeds[t]) + h, z = out["h"], out["z"] + hs.append(h); zs.append(z) + prior_mus.append(out["prior_mu"]); prior_stds.append(out["prior_std"]) + post_mus.append(out["post_mu"]); post_stds.append(out["post_std"]) + + stack = lambda xs: torch.stack(xs, dim=0) # noqa: E731 + return { + "h": stack(hs), "z": stack(zs), + "prior_mu": stack(prior_mus), "prior_std": stack(prior_stds), + "post_mu": stack(post_mus), "post_std": stack(post_stds), + } + + def imagine( + self, + init_h: torch.Tensor, + init_z: torch.Tensor, + actions: torch.Tensor, # (T, B) discrete OR (T, B, A) probabilities + horizon: int, + ) -> dict[str, torch.Tensor]: + """Open-loop rollout in the latent space. + + ``actions`` may be discrete indices (used by free rollouts) or already + one-hot soft probabilities (used by the actor during training). + """ + h, z = init_h, init_z + hs, zs = [], [] + for t in range(horizon): + a_t = actions[t] + if a_t.dim() == 1: + a_oh = self.one_hot_action(a_t) + else: + a_oh = a_t + out = self.step(h, z, a_oh, embed=None) + h, z = out["h"], out["z"] + hs.append(h); zs.append(z) + return {"h": torch.stack(hs, dim=0), "z": torch.stack(zs, dim=0)} + + +class RewardHead(nn.Module): + """Tiny MLP predicting the scalar reward from (h, z).""" + + def __init__(self, in_dim: int, hidden: int = 200): + super().__init__() + self.net = nn.Sequential( + nn.Linear(in_dim, hidden), + nn.ELU(inplace=True), + nn.Linear(hidden, 1), + ) + + def forward(self, h: torch.Tensor, z: torch.Tensor) -> torch.Tensor: + return self.net(torch.cat([h, z], dim=-1)).squeeze(-1) + + +class ContinueHead(nn.Module): + """Predicts P(episode continues to next step) given (h, z). + + Crucial for CartPole-pixels: without it the policy in imagination is + infinitely greedy because the reward head always predicts ~1. With it, + the lambda-return gets discounted whenever the WM thinks the pole is + about to fall, which gives the actor a real gradient toward balance. + """ + + def __init__(self, in_dim: int, hidden: int = 200): + super().__init__() + self.net = nn.Sequential( + nn.Linear(in_dim, hidden), + nn.ELU(inplace=True), + nn.Linear(hidden, 1), + ) + + def forward(self, h: torch.Tensor, z: torch.Tensor) -> torch.Tensor: + return self.net(torch.cat([h, z], dim=-1)).squeeze(-1) # raw logit + + +class WorldModel(nn.Module): + """Composite container: encoder + RSSM + decoder + reward head + continue head.""" + + def __init__(self, cfg: WMConfig): + super().__init__() + self.cfg = cfg + self.encoder = Encoder(cfg.embed_dim) + self.rssm = RSSM(cfg) + self.decoder = Decoder(cfg.deter_dim + cfg.stoch_dim) + self.reward_head = RewardHead(cfg.deter_dim + cfg.stoch_dim, cfg.hidden_dim) + self.continue_head = ContinueHead(cfg.deter_dim + cfg.stoch_dim, cfg.hidden_dim) + + # --------- forward used by training --------- # + + def compute_loss(self, batch: dict[str, torch.Tensor]) -> dict[str, torch.Tensor]: + cfg = self.cfg + obs = batch["obs"] # (T, B, 3, H, W) + act = batch["act"] # (T, B) + rew = batch["rew"] # (T, B) + term = batch["term"] # (T, B) - 1.0 at the terminal timestep + T, B = obs.shape[:2] + + embeds = self.encoder(obs) # (T, B, embed_dim) + states = self.rssm.observe(embeds, act) + h, z = states["h"], states["z"] # (T, B, *) + feat = torch.cat([h, z], dim=-1) + + # Reconstruction (Gaussian with unit variance, equivalent to MSE / 2). + recon = self.decoder(feat) # (T, B, 3, H, W) + recon_loss = F.mse_loss(recon, obs, reduction="none").sum(dim=(-1, -2, -3)) + recon_loss = recon_loss.mean() + + # Reward (Gaussian unit variance). + rew_pred = self.reward_head(h, z) + reward_loss = F.mse_loss(rew_pred, rew) + + # Continue (BCE on logits; target = 1 - terminal). + cont_logit = self.continue_head(h, z) + cont_target = 1.0 - term + continue_loss = F.binary_cross_entropy_with_logits(cont_logit, cont_target) + + # KL with balancing and free nats. + kl_q_to_p, kl_p_to_q = self._kl_balanced( + states["post_mu"], states["post_std"], + states["prior_mu"], states["prior_std"], + ) + kl_term = cfg.kl_balancing * kl_q_to_p + (1.0 - cfg.kl_balancing) * kl_p_to_q + # Free nats: clamp each dim individually before sum. + kl_term = torch.clamp(kl_term, min=cfg.free_nats) + kl_loss = kl_term.mean() + + total = ( + cfg.recon_weight * recon_loss + + cfg.reward_weight * reward_loss + + cfg.continue_weight * continue_loss + + cfg.kl_weight * kl_loss + ) + + return { + "loss": total, + "recon": recon_loss.detach(), + "reward": reward_loss.detach(), + "continue": continue_loss.detach(), + "kl": kl_loss.detach(), + "states": states, + "feat": feat, + "recon_img": recon.detach(), + } + + @staticmethod + def _kl_balanced( + mu_q: torch.Tensor, std_q: torch.Tensor, + mu_p: torch.Tensor, std_p: torch.Tensor, + ) -> tuple[torch.Tensor, torch.Tensor]: + """Return (KL(q || sg(p)), KL(sg(q) || p)) summed across the latent dim. + + Each tensor is shape (T, B). KL between diagonal Gaussians: + KL(N(mu1,s1) || N(mu2,s2)) = log(s2/s1) + (s1^2 + (mu1-mu2)^2)/(2 s2^2) - 0.5 + """ + # stop-grad versions. + mu_p_sg = mu_p.detach() + std_p_sg = std_p.detach() + mu_q_sg = mu_q.detach() + std_q_sg = std_q.detach() + + def _kl(mu1, s1, mu2, s2): + return (torch.log(s2 / s1) + (s1.pow(2) + (mu1 - mu2).pow(2)) / (2 * s2.pow(2)) - 0.5).sum(-1) + + kl_q_to_p = _kl(mu_q, std_q, mu_p_sg, std_p_sg) # encourages posterior to stay close to fixed prior + kl_p_to_q = _kl(mu_p, std_p, mu_q_sg, std_q_sg) # encourages prior to chase the posterior + return kl_q_to_p, kl_p_to_q + + # --------- helpers used by the policy --------- # + + @torch.no_grad() + def encode_observations(self, obs: torch.Tensor) -> torch.Tensor: + return self.encoder(obs) + + @torch.no_grad() + def initial_latent(self, obs: torch.Tensor) -> tuple[torch.Tensor, torch.Tensor]: + """Encode a single observation and return (h_0, z_0). + + Uses a 1-step posterior with h initialised to zeros (sufficient for + warm-starting imagination rollouts from a sampled real state). + """ + B = obs.shape[0] + device = obs.device + h, z = self.rssm.init_state(B, device) + embed = self.encoder(obs) + # Pretend the previous action was a noop. + prev_a = torch.zeros(B, dtype=torch.long, device=device) + out = self.rssm.step(h, z, prev_a, embed=embed) + return out["h"], out["z"] + + +# ----------------------------- Random rollouts ------------------------------ # + + +def collect_random_episode(env, max_steps: int) -> tuple[list, list, list, list]: + obs_list, act_list, rew_list, term_list = [], [], [], [] + o, _ = env.reset() + for _ in range(max_steps): + a = int(env.action_space.sample()) + obs_list.append(o) + no, r, term, trunc, _ = env.step(a) + act_list.append(a); rew_list.append(r); term_list.append(bool(term)) + o = no + if term or trunc: + break + return obs_list, act_list, rew_list, term_list + + +# ----------------------------- Trainer entry -------------------------------- # + + +def train_world_model_only(cfg: WMConfig | None = None, verbose: bool = True) -> dict: + """Standalone WM training (no policy). Used by ``python -m src.world_model``.""" + cfg = cfg or WMConfig() + seed_everything(cfg.seed) + + env = make_pixel_cartpole(seed=cfg.seed) + buffer = SequenceBuffer(max_episodes=cfg.standalone_episodes * 2, seq_len=cfg.seq_len) + + for _ in range(cfg.standalone_episodes): + ep = collect_random_episode(env, cfg.standalone_max_steps_per_ep) + buffer.add_episode(*ep) + + wm = WorldModel(cfg) + opt = torch.optim.Adam(wm.parameters(), lr=cfg.lr, weight_decay=cfg.weight_decay) + rng = np.random.default_rng(cfg.seed) + + n_updates = cfg.epochs * 25 # 25 minibatches per epoch by default + losses = [] + t0 = time.time() + for step in range(n_updates): + batch = buffer.sample(cfg.batch_size, rng) + out = wm.compute_loss(batch) + opt.zero_grad() + out["loss"].backward() + torch.nn.utils.clip_grad_norm_(wm.parameters(), cfg.grad_clip) + opt.step() + losses.append({ + "loss": float(out["loss"].item()), + "recon": float(out["recon"].item()), + "reward": float(out["reward"].item()), + "kl": float(out["kl"].item()), + }) + if verbose and (step + 1) % 10 == 0: + print( + f"[WM] step={step+1:4d} total={losses[-1]['loss']:.3f} " + f"recon={losses[-1]['recon']:.3f} reward={losses[-1]['reward']:.3f} " + f"kl={losses[-1]['kl']:.3f}" + ) + elapsed = time.time() - t0 + + if verbose: + print(f"[WM] standalone training done in {elapsed:.1f}s · final recon={losses[-1]['recon']:.3f}") + + # Save WM-only checkpoint for the notebook. + data_dir = Path(__file__).resolve().parent.parent / "data" + data_dir.mkdir(exist_ok=True) + ckpt_path = data_dir / "world_model.pt" + torch.save({"model": wm.state_dict(), "cfg": cfg.__dict__, "losses": losses}, ckpt_path) + if verbose: + print(f"[WM] checkpoint saved to {ckpt_path}") + + return {"model": wm, "buffer": buffer, "losses": losses, "elapsed": elapsed} + + +if __name__ == "__main__": + train_world_model_only(WMConfig(), verbose=True)