{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "intro01",
   "metadata": {},
   "source": [
    "# Your First Simulation\n",
    "\n",
    "Welcome to brainmass. In this first tutorial you will run a single neural-mass model from\n",
    "start to finish using only the **high-level API** — no hand-written integration loops. By\n",
    "the end you will be able to:\n",
    "\n",
    "1. **construct** a model and initialise its state,\n",
    "2. **run** it for a chosen duration with the {class}`~brainmass.Simulator`,\n",
    "3. **plot** the result with {mod}`brainmass.viz`, and\n",
    "4. **change one parameter** and re-run to *see* the effect.\n",
    "\n",
    "We will use the {class}`~brainmass.FitzHughNagumoStep` model — a classic two-variable model\n",
    "of an *excitable* unit. It sits quietly at rest until a stimulus pushes it past a threshold,\n",
    "at which point it fires a single large excursion (a \"spike\") before relaxing back. That makes\n",
    "the effect of a parameter change easy to see.\n",
    "\n",
    ":::{note}\n",
    "Every code cell on this page is executed when the notebook is authored, so the outputs you\n",
    "see are real. For the 10-minute tour of the *whole* library — networks, noise, and\n",
    "gradient-based fitting — see {doc}`/getting_started/quickstart`.\n",
    ":::"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "md-imports01",
   "metadata": {},
   "source": [
    "## Setup\n",
    "\n",
    "We import brainmass and a few companions. {mod}`brainunit` (`u`) gives us **unit-aware**\n",
    "quantities: the time step `dt` and the run `duration` are physical times like `0.1 * u.ms`,\n",
    "not bare numbers. We set a global `dt` once through the environment; the `Simulator` also\n",
    "takes it explicitly below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "imports01",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T06:45:12.840842Z",
     "iopub.status.busy": "2026-06-19T06:45:12.840622Z",
     "iopub.status.idle": "2026-06-19T06:45:17.678539Z",
     "shell.execute_reply": "2026-06-19T06:45:17.677578Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'0.0.6'"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import brainmass\n",
    "import brainstate\n",
    "import brainunit as u\n",
    "import jax.numpy as jnp\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "brainstate.environ.set(dt=0.1 * u.ms)\n",
    "brainmass.__version__"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "md-construct01",
   "metadata": {},
   "source": [
    "## 1. Construct a model\n",
    "\n",
    "A brainmass model is a `*Step` object — one update step of a neural-mass equation, sized for\n",
    "`in_size` regions. Here we build a **single** FitzHugh–Nagumo unit (`in_size=1`). It carries\n",
    "two state variables: a fast activator `V` (membrane-potential–like) and a slow recovery\n",
    "variable `w`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "construct01",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T06:45:17.681120Z",
     "iopub.status.busy": "2026-06-19T06:45:17.680631Z",
     "iopub.status.idle": "2026-06-19T06:45:17.698732Z",
     "shell.execute_reply": "2026-06-19T06:45:17.697746Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "FitzHughNagumoStep(\n",
       "  in_size=(1,),\n",
       "  out_size=(1,),\n",
       "  alpha=Const(\n",
       "    fit=False,\n",
       "    t=IdentityT(),\n",
       "    reg=None,\n",
       "    val=Array(3., dtype=float32)\n",
       "  ),\n",
       "  beta=Const(\n",
       "    fit=False,\n",
       "    t=IdentityT(),\n",
       "    reg=None,\n",
       "    val=Array(4., dtype=float32)\n",
       "  ),\n",
       "  gamma=Const(\n",
       "    fit=False,\n",
       "    t=IdentityT(),\n",
       "    reg=None,\n",
       "    val=Array(-1.5, dtype=float32)\n",
       "  ),\n",
       "  delta=Const(\n",
       "    fit=False,\n",
       "    t=IdentityT(),\n",
       "    reg=None,\n",
       "    val=Array(0., dtype=float32)\n",
       "  ),\n",
       "  epsilon=Const(\n",
       "    fit=False,\n",
       "    t=IdentityT(),\n",
       "    reg=None,\n",
       "    val=Array(0.5, dtype=float32)\n",
       "  ),\n",
       "  tau=Const(\n",
       "    fit=False,\n",
       "    t=IdentityT(),\n",
       "    reg=None,\n",
       "    val=Quantity(20., \"ms\")\n",
       "  ),\n",
       "  init_V=Uniform(low=0, high=0.05),\n",
       "  init_w=Uniform(low=0, high=0.05),\n",
       "  method=exp_euler\n",
       ")"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "node = brainmass.FitzHughNagumoStep(in_size=1)\n",
    "node"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "md-run01",
   "metadata": {},
   "source": [
    "## 2. Run it with the `Simulator`\n",
    "\n",
    "The {class}`~brainmass.Simulator` owns the whole run loop. A single `.run(...)` call:\n",
    "\n",
    "- sets `dt` and **initialises** the model's state (`init_all_states`),\n",
    "- steps the model forward, and\n",
    "- returns the recorded trajectories as a plain dict.\n",
    "\n",
    "How many steps is that? The number of integration steps is `duration / dt`. With\n",
    "`duration = 200 * u.ms` and `dt = 0.1 * u.ms` that is **2000 steps**.\n",
    "\n",
    "We give the unit a brief external **stimulus**: a current pulse to `V` between 20 ms and\n",
    "22 ms, via the `inputs=` callback (it receives the step index `i` and time `t` and returns\n",
    "the drive for that step). We record both state variables by name with `monitors=['V', 'w']`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "run01",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T06:45:17.700863Z",
     "iopub.status.busy": "2026-06-19T06:45:17.700702Z",
     "iopub.status.idle": "2026-06-19T06:45:18.050305Z",
     "shell.execute_reply": "2026-06-19T06:45:18.049174Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "recorded keys: ['V', 'w', 'ts']\n",
      "V trajectory shape (steps, regions): (2000, 1)\n",
      "time axis runs from 0.1 ms to 200. ms\n"
     ]
    }
   ],
   "source": [
    "def stimulus(i, t):\n",
    "    \"\"\"A brief supra-threshold current pulse to V between 20 and 22 ms.\"\"\"\n",
    "    pulse = jnp.where((t > 20.0 * u.ms) & (t < 22.0 * u.ms), 1.5, 0.0)\n",
    "    return (pulse,)\n",
    "\n",
    "sim = brainmass.Simulator(node, dt=0.1 * u.ms)\n",
    "res = sim.run(200.0 * u.ms, inputs=stimulus, monitors=[\"V\", \"w\"])\n",
    "\n",
    "print(\"recorded keys:\", list(res))\n",
    "print(\"V trajectory shape (steps, regions):\", res[\"V\"].shape)\n",
    "print(\"time axis runs from\", res[\"ts\"][0], \"to\", res[\"ts\"][-1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "md-plot01",
   "metadata": {},
   "source": [
    "## 3. Plot the result\n",
    "\n",
    "{func}`brainmass.viz.plot_timeseries` takes the trajectory and the time axis directly. The\n",
    "single sub-threshold rest is interrupted by one clean spike right after the 20 ms pulse — the\n",
    "hallmark of an excitable unit."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "plot01",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T06:45:18.052597Z",
     "iopub.status.busy": "2026-06-19T06:45:18.052375Z",
     "iopub.status.idle": "2026-06-19T06:45:18.159701Z",
     "shell.execute_reply": "2026-06-19T06:45:18.158603Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcvRJREFUeJzt3Xd8E+UfB/DPJW3TRRddtBTKHgJlSamIIFTKlClDlCHgAlSGoyrTgYIMB6KgFAeIwg9wsIRKBaSAAkVkr1JGB6uL0pU8vz/SXJsmbdOZJv28X697Jbl77u65XJJ++0xJCCFAREREZCUU5s4AERERUUVicENERERWhcENERERWRUGN0RERGRVGNwQERGRVWFwQ0RERFaFwQ0RERFZFQY3REREZFUY3BAREZFVYXBTRWJjYyFJEtasWWPurFSowMBA9O/f39zZoBpg7ty5kCRJb50kSZgyZYqZclS0wMBAjBs3ztzZqHRr1qyBJEmIjY0tNt24cePg7OxcNZkqo4rIY3l/58+fP49evXrB1dUVkiRhy5Yt5cpPaVjb3ygGNxVE9yU3trzxxhtG99m2bRvmzp1bpvNFRUVBkiRs3LjR6HZL+DEpLDAwEJIkYerUqQbbSrpeospw6tQpzJ07t8Q/3kQVYezYsThx4gTee+89fPfdd+jYsaO5s2SxbMydAWszf/58NGjQQG9dq1atUL9+fdy/fx+2trby+m3btmH58uVlDnCs1apVqxAeHg4/Pz9zZ4WqkbfffrvIfxQqy6lTpzBv3jx0794dgYGBJu939uxZKBT837GmMfY7b6r79+8jOjoab731VrUsjbQ0DG4qWJ8+fYqMtu3t7as4N5bngQcewNmzZ/HBBx/gk08+MXd2qBqxsbGBjU31/ckSQiAzMxMODg5QqVTmzk6xcnNzodFoYGdnZ+6sWIWC72dZf+dv3rwJAHBzc6vAnNVc/NeiihSuzxw3bhyWL18OAHpVWADQvXv3Iqu4ylMfKkmS0VIiY+0D/v33X3Tr1g0ODg6oW7cu3n33XURERBRZv75//3506tQJ9vb2aNiwIb799tsy5TEwMBBjxozBqlWrcOPGjWLTXrlyBS+++CKaNWsGBwcH1K5dG0888YTR/Jl6Paa+R7pqyP379+Oll16Cl5cX3Nzc8NxzzyE7OxvJyckYM2YM3N3d4e7ujtdeew1CCL1j3rt3DzNmzEBAQABUKhWaNWuGjz76yCDdrVu3cObMGWRkZJT4/uXm5uKdd95Bo0aNoFKpEBgYiDfffBNZWVkG19O/f3+T7ltycjJeeeUVOZ+NGzfGhx9+CI1GU2J+/vnnH4SFhcHT0xMODg5o0KABnnnmGXm77nvx0UcfYenSpahfvz4cHBzQrVs3/Pfff3rHMtbmxph3330XCoUCn376qbxu+/bt6Nq1K5ycnFCrVi3069cPJ0+eLPY4a9aswRNPPAEAePTRR+XvYFRUFID893Dnzp3o2LEjHBwc8OWXX8rbyvqd0mg0mDt3Lvz8/ODo6IhHH30Up06dMnpMU+5Nwfd42bJl8mfj1KlTAIAzZ85g2LBh8PDwgL29PTp27IhffvnF4P04efIkevTooZd/Uz4DBV26dAlhYWFwcnKCn58f5s+fL3/ehRAIDAzEwIEDDfbLzMyEq6srnnvuuWKPHxERgR49esDb2xsqlQotW7bEihUrKiyPQPHvZ1HtVkp6j+fOnYv69esDAF599VVIklRsSaGumv7HH3/Em2++CV9fXzg5OeHxxx/H1atX9dIW1f6re/fu6N69e7HvRUJCAsaPH4+6detCpVKhTp06GDhwoMFvbFm+X5Wt+v4bZKFSUlJw69YtvXWenp4G6Z577jncuHEDu3btwnfffae37a233sLEiRP11n3//ffYuXMnvL299danpaUZnA+AwR+z0rh+/br8Yx4eHg4nJyd89dVXRf43euHCBQwbNgwTJkzA2LFjsXr1aowbNw4dOnTAAw88UOrzv/XWW/j2229LLL35+++/ceDAAYwcORJ169ZFbGwsVqxYge7du+PUqVNwdHQs0/WUxtSpU+Hr64t58+bh4MGDWLlyJdzc3HDgwAHUq1cP77//PrZt24ZFixahVatWGDNmDADtD/njjz+OPXv2YMKECWjbti127tyJV199FdevX8fSpUvlc3z22WeYN28e9uzZU+KP0cSJE/HNN99g2LBhmDFjBg4dOoQFCxbg9OnT2Lx5s15aU+5bRkYGunXrhuvXr+O5555DvXr1cODAAYSHhyM+Ph7Lli0rMi9JSUno1asXvLy88MYbb8DNzQ2xsbHYtGmTQdpvv/0WaWlpmDx5MjIzM/Hxxx+jR48eOHHiBHx8fEy8G9qqq/fffx9ffvklJk2aBAD47rvvMHbsWISFheHDDz9ERkYGVqxYgYcffhjHjh0r8o/II488gpdeegmffPIJ3nzzTbRo0QIA5EdAW/00atQoPPfcc5g0aRKaNWtm9Fil+QyGh4dj4cKFGDBgAMLCwnD8+HGEhYUhMzNTL11p701ERAQyMzPx7LPPQqVSwcPDAydPnkSXLl3g7++PN954A05OTvjpp58waNAg/O9//8PgwYMBaP/IPfroo8jNzZXTrVy5Eg4ODibdFwBQq9Xo3bs3OnfujIULF2LHjh2YM2cOcnNzMX/+fEiShKeeegoLFy7EnTt34OHhIe/766+/IjU1FU899VSx51ixYgUeeOABPP7447CxscGvv/6KF198ERqNBpMnTy53Hkt6P40Fe6a8x0OGDIGbmxumTZuGUaNGoW/fvia1mXzvvfcgSRJef/11JCUlYdmyZQgNDUVMTEyp7k1Rhg4dipMnT2Lq1KkIDAxEUlISdu3ahbi4OPl7U9bvV6UTVCEiIiIEAKOLEEJcvnxZABARERHyPpMnTxam3IK//vpL2NraimeeeUZet2fPniLPp1ucnJz0jgNAzJkzx+D49evXF2PHjpVfT506VUiSJI4dOyavu337tvDw8BAAxOXLl/X2BSD27t0rr0tKShIqlUrMmDGjxGsrnI9+/foJIYQYP368sLe3Fzdu3NC73g0bNsjpMzIyDI4RHR0tAIhvv/22TNdj6nuku99hYWFCo9HI60NCQoQkSeL555+X1+Xm5oq6deuKbt26yeu2bNkiAIh3331X7zzDhg0TkiSJCxcuyOvmzJkjAIg9e/YY5KugmJgYAUBMnDhRb/3MmTMFAPHHH3/oXY8p9+2dd94RTk5O4ty5c3rHfOONN4RSqRRxcXFF5mfz5s0CgPj777+LTKP7Xjg4OIhr167J6w8dOiQAiGnTpsnrdO9DQQDE5MmThRBCzJgxQygUCrFmzRp5e1pamnBzcxOTJk3S2y8hIUG4uroarC9sw4YNRb73uvdwx44dRreV5TuVkJAgbGxsxKBBg/SON3fuXAFA75im3hvde+zi4iKSkpL00vbs2VO0bt1aZGZmyus0Go146KGHRJMmTeR1r7zyigAgDh06JK9LSkoSrq6uBt8hY8aOHSsAiKlTp+qdp1+/fsLOzk7cvHlTCCHE2bNnBQCxYsUKvf0ff/xxERgYqPddM8bYb0JYWJho2LBhsfuVJo/FvZ/GfudNfY91+y5atKjEvOp+D/39/UVqaqq8/qeffhIAxMcffyyvK/xZ1OnWrZveb1LhvN+9e7fE/JT3+1WZWC1VwZYvX45du3bpLeWRkJCAYcOGoW3btvj8888Nts+ePdvgfLt27UKvXr3KfM4dO3YgJCQEbdu2ldd5eHhg9OjRRtO3bNkSXbt2lV97eXmhWbNmuHTpUpnz8PbbbyM3NxcffPBBkWkK/meSk5OD27dvo3HjxnBzc8PRo0fLfD2lMWHCBL2qkuDgYAghMGHCBHmdUqlEx44d9d6Pbdu2QalU4qWXXtI73owZMyCEwPbt2+V1c+fOhRCixFKbbdu2AQCmT59ucEwA2Lp1q956U+7bhg0b0LVrV7i7u+PWrVvyEhoaCrVajb179xaZH13bgd9++w05OTnF5n3QoEHw9/eXX3fq1AnBwcHyNRVHCIEpU6bg448/xvfff4+xY8fK23bt2oXk5GSMGjVKL/9KpRLBwcHYs2dPiccvToMGDRAWFlZiOlM/g5GRkcjNzcWLL76ot95YD8LS3puhQ4fCy8tLfn3nzh388ccfGD58uFwCfOvWLdy+fRthYWE4f/48rl+/DkD72ercuTM6deok7+/l5VXq71DBhrK6bvzZ2dnYvXs3AKBp06YIDg7G2rVr9fK5fft2jB49usRqyYK/CbpS9G7duuHSpUtISUmpkDzqFH4/jSnNe1wWY8aMQa1ateTXw4YNQ506dUz63pTEwcEBdnZ2iIqKwt27d42mqezvV3mwWqqCderUqcK67+Xm5mL48OFQq9XYtGmT0SLs1q1bIzQ01GD9999/X+bzXrlyBSEhIQbrGzdubDR9vXr1DNa5u7vLXwi1Wi03livMwcEBrq6uBusbNmyIp59+GitXriyyh8z9+/exYMECRERE4Pr163r14gV/yEp7PaVR+Np11xIQEGCwvuAPxJUrV+Dn56f3wwTkV3lcuXKl1Hm5cuUKFAqFwXX5+vrCzc3N4Jgl3TdAO+7Gv//+W+SPeFJSUpH56datG4YOHYp58+Zh6dKl6N69OwYNGoQnn3zS4LPcpEkTg/2bNm2Kn376qcjj63z77bdIT0/HihUrMGrUKL1t58+fBwD06NHD6L4uLi4lHr84hXtGFsXUz6DuHhVe7+HhAXd3d711pb03hfN64cIFCCEwa9YszJo1q8hj+Pv748qVKwgODjbYXlQ1nDEKhQINGzbUW9e0aVMA0GvDMWbMGEyZMgVXrlxB/fr1sWHDBuTk5ODpp58u8Rx//fUX5syZg+joaIM2aikpKUZ/a8qSR8C0e1+a97gsCn9vJElC48aNK2ToApVKhQ8//BAzZsyAj48POnfujP79+2PMmDHw9fUFUPnfr/JgcFONvfrqq4iOjsbu3btRt27dSjuPWq0u1/5KpdLoel2wcfXq1SJ/CMaOHVtkI+m33noL3333HT788EMMGjTIYPvUqVMRERGBV155BSEhIfLAVyNHjix1Q8eSFPUeFXXtxtYXDL4qkymNboGS7xugbdz62GOP4bXXXjOaVvfDX1Q+Nm7ciIMHD+LXX3/Fzp078cwzz2Dx4sU4ePBghY3D1KVLF8TExOCzzz7D8OHD9dpq6D4H3333nfyDXFB5e19VRLuGsirtvSmcV917M3PmzCJLnyriH4DSGjlyJKZNm4a1a9fizTffxPfff4+OHTuWGEhdvHgRPXv2RPPmzbFkyRIEBATAzs4O27Ztw9KlSyv8N8GUe18d3uOifg/UanWRvwE6r7zyCgYMGIAtW7Zg586dmDVrFhYsWIA//vgD7dq1q/TvV3kwuDGj4v4IrV+/HsuWLcOyZcvQrVu3Cjmfu7s7kpOT9dZlZ2cjPj5eb139+vVx4cIFg/2NrTOFr69vkdVzxY1l06hRIzz11FP48ssvjf7XuHHjRowdOxaLFy+W12VmZhpcY2mux9T3qLzq16+P3bt3Iy0tTa/05syZM/L2shxTo9Hg/Pnzeo1eExMTkZycXKZjNmrUCOnp6UZLB03VuXNndO7cGe+99x7WrVuH0aNHY/369XqN5nX/ARZ07tw5kxojNm7cGAsXLkT37t3Ru3dvREZGyu9po0aNAADe3t5lugZTA8WSmPoZ1N2jCxcu6P1DcPv2bYOqgfLeG10Jha2tbYnHqF+/vtF7dPbsWZPPp9FocOnSJb2g69y5cwCgd589PDzQr18/rF27FqNHj8Zff/1VbMN1nV9//RVZWVn45Zdf9EolS1M1YmoeTVWa97gsCt8TIQQuXLiANm3ayOuM/aYB2lLCwqVUxjRq1AgzZszAjBkzcP78ebRt2xaLFy/G999/X+7vV2VimxszcnJyAgCDD95///2HiRMn4qmnnsLLL79cYedr1KiRQT38ypUrDUolwsLCEB0djZiYGHndnTt39OrBS8Pe3h6hoaFGl5YtWxa779tvv42cnBwsXLjQYJtSqTQoDfn000/LdT2mvkfl1bdvX6jVanz22Wd665cuXQpJktCnTx95naldwfv27QsABn8IlixZAgDo169fqfM5fPhwREdHY+fOnQbbkpOTkZubW+S+d+/eNbg/ujYnhXvzbdmyRa/tweHDh3Ho0CG996E4bdq0wbZt23D69GkMGDAA9+/fB6C99y4uLnj//feNtvspqrpUp6jvaGmZ+hns2bMnbGxsDLovF/6cAOW7N4D2D1L37t3x5ZdfGg3eC743ffv2xcGDB3H48GG97aX9TSh4HUIIfPbZZ7C1tUXPnj310j399NM4deoUXn31VSiVSowcObLEY+tKIQpXT0dERFRKHk1Rmve4LHS9DHU2btyI+Ph4ve9No0aNcPDgQWRnZ8vrfvvtN4Mu44VlZGQY9NBr1KgRatWqJX9/y/v9qkwsuTGjDh06AABeeuklhIWFyV/i8ePHA9B2RS3cduahhx4yKdo2ZuLEiXj++ecxdOhQPPbYYzh+/Dh27txp0FX9tddew/fff4/HHnsMU6dOlbut1qtXD3fu3Kmw/2ZNoSu9+eabbwy29e/fH9999x1cXV3RsmVLuQqvdu3aeulKcz2mvkflNWDAADz66KN46623EBsbi6CgIPz+++/4+eef8corr8j/EQGmdwUPCgrC2LFjsXLlSiQnJ6Nbt244fPgwvvnmGwwaNAiPPvpoqfP56quv4pdffkH//v3lbuL37t3DiRMnsHHjRsTGxhb53nzzzTf4/PPPMXjwYDRq1AhpaWlYtWoVXFxc5EBMp3Hjxnj44YfxwgsvICsrC8uWLUPt2rWLrHIxpnPnzvj555/Rt29fDBs2DFu2bIGLiwtWrFiBp59+Gu3bt8fIkSPh5eWFuLg4bN26FV26dDEaOOi0bdsWSqUSH374IVJSUqBSqeRxVErD1M+gj48PXn75ZSxevBiPP/44evfujePHj2P79u3w9PTU+6yW597oLF++HA8//DBat26NSZMmoWHDhkhMTER0dDSuXbuG48ePy/n/7rvv0Lt3b7z88styV/D69evj33//Nek9sLe3x44dOzB27FgEBwdj+/bt2Lp1K958802DdkP9+vVD7dq1sWHDBvTp08ek97tXr16ws7PDgAED8NxzzyE9PR2rVq2Ct7e3ySWvpcmjqUx9j8vCw8MDDz/8MMaPH4/ExEQsW7YMjRs3lodBALS/aRs3bkTv3r0xfPhwXLx4Ua/UpSjnzp1Dz549MXz4cLRs2RI2NjbYvHkzEhMT5WCzvN+vSlX1HbSsk65rcFHdXo11EczNzRVTp04VXl5eQpIkuZurroupsUW3v7Gu0QWNHTvWoCu4Wq0Wr7/+uvD09BSOjo4iLCxMXLhwwWhXwWPHjomuXbsKlUol6tatKxYsWCA++eQTAUAkJCTI6Qp23y6ocDdDUxR1rPPnzwulUmlwvXfv3hXjx48Xnp6ewtnZWYSFhYkzZ86U63pMfY+Kut+67sq6bqM6xu5HWlqamDZtmvDz8xO2traiSZMmYtGiRQbdXU3tCi6EEDk5OWLevHmiQYMGwtbWVgQEBIjw8HC9bqhClO6+paWlifDwcNG4cWNhZ2cnPD09xUMPPSQ++ugjkZ2dXWRejh49KkaNGiXq1asnVCqV8Pb2Fv379xf//POPnKZg99fFixeLgIAAoVKpRNeuXcXx48eNvg8FoUBXcJ2ff/5Z2NjYiBEjRgi1Wi2E0H5fwsLChKurq7C3txeNGjUS48aN08tLUVatWiUaNmwofwZ196Go91C3rayfwdzcXDFr1izh6+srHBwcRI8ePcTp06dF7dq19YYYEMK0e1NSF+OLFy+KMWPGCF9fX2Frayv8/f1F//79xcaNG/XS/fvvv6Jbt27C3t5e+Pv7i3feeUd8/fXXJncFd3JyEhcvXhS9evUSjo6OwsfHR8yZM0e+R4W9+OKLAoBYt25dsccu6JdffhFt2rQR9vb2IjAwUHz44Ydi9erVFZrH4t5PY7/zQpj2HpelK/gPP/wgwsPDhbe3t3BwcBD9+vUTV65cMUi/ePFi4e/vL1QqlejSpYv4559/SuwKfuvWLTF58mTRvHlz4eTkJFxdXUVwcLD46aefjOanrN+vysLghkz28ssvC3t7e5Gbm2vurFQIa7seS1SaH3RrZOpnUDfmSOFxkazZK6+8ImrVqiXu3btn7qxUOyX9c0sc54aKoGuzoHP79m189913ePjhh0tsYV8dWdv1kOUx9TNYOB2Q346qpLGOrEVmZia+//57DB06VB5pnKg02OaGjAoJCUH37t3RokULJCYm4uuvv0ZqamqRYzVUd9Z2PWR5TP0M/vjjj1izZo08BP/+/fvxww8/oFevXujSpYuZcl81kpKSsHv3bmzcuBG3b9+u0A4VVLMwuCGj+vbti40bN2LlypWQJAnt27fH119/jUceecTcWSsTa7sesjymfgbbtGkDGxsbLFy4EKmpqXIj43fffddMOa86p06dwujRo+Ht7Y1PPvlEb0RnotKQhKiikcWIiIiIqgDb3BAREZFVYXBDREREVqXGtbnRaDS4ceMGatWqVaWD0REREVHZCSGQlpYGPz8/KBTFl83UuODmxo0bBjM2ExERkWW4evVqiZNJ17jgRjeh3tWrV806HXu1kZ0CXN0ASA6AUgWoswBxHwh4ArBzNXfuiIiIAACpqakICAjQm2y4KDUuuNFVRbm4uDC4AYBsATg7ALbugI0TkHsPyAHg4gLY8f0hIqLqxZQmJWxQTERERFaFwQ0RERFZFQY3REREZFVqXJsbIiIyP7VajZycHHNng6oZOzu7Ert5m4LBDRERVRkhBBISEpCcnGzurFA1pFAo0KBBA9jZ2ZXrOAxuiIioyugCG29vbzg6OnIwVZLpBtmNj49HvXr1yvXZYHBDRERVQq1Wy4FN7dq1zZ0dqoa8vLxw48YN5ObmwtbWtszHYYNiIiKqEro2No6OjmbOCVVXuuootVpdruMwuCEioirFqigqSkV9NhjcEBERkVVhcENERFRJzp49C19fX6SlpVXqecaNG4dBgwZV6jnK49atW/D29sa1a9eq5HwMboiIiIowYMAA9O7d2+i2ffv2QZIk/Pvvv0XuHx4ejqlTp5o02aMpYmNjIUkSYmJi9NZ//PHHWLNmTYWcQycwMBDLli2rkGN5enpizJgxmDNnToUcryQMbkhPZi4ghLlzQURUPUyYMAG7du0yWuIQERGBjh07ok2bNkb3jYuLw2+//YZx48ZVci4BV1dXuLm5Vfp5yiI7OxsAMH78eKxduxZ37typ9HMyuCHZ1gtAq9XOCP1fHdzN4MihRET9+/eHl5eXQalIeno6NmzYgAkTJhS5708//YSgoCD4+/vL627fvo1Ro0bB398fjo6OaN26NX744Qe9/TQaDRYuXIjGjRtDpVKhXr16eO+99wAADRo0AAC0a9cOkiShe/fuAPSrpVauXAk/Pz9oNBq94w4cOBDPPPMMAODixYsYOHAgfHx84OzsjAcffBC7d++W03bv3h1XrlzBtGnTIEmSXkPf//3vf3jggQegUqkQGBiIxYsX650nMDAQ77zzDsaMGQMXFxc8++yzAIAHHngAfn5+2Lx5c5HvWUVhcEOyr2Mk5GokXEyxxcn4e+bODhFZOSEEMrJzzbIIE4uobWxsMGbMGKxZs0Zvnw0bNkCtVmPUqFFF7rtv3z507NhRb11mZiY6dOiArVu34r///sOzzz6Lp59+GocPH5bThIeH44MPPsCsWbNw6tQprFu3Dj4+PgAgp9u9ezfi4+OxadMmg/M+8cQTuH37Nvbs2SOvu3PnDnbs2IHRo0cD0AZnffv2RWRkJI4dO4bevXtjwIABiIuLAwBs2rQJdevWxfz58xEfH4/4+HgAwJEjRzB8+HCMHDkSJ06cwNy5czFr1iyD4O+jjz5CUFAQjh07hlmzZsnrO3XqhH379hX9hlcQDuJHAAC1Bjh1q+Br1k0RUeW6n6NGy9k7zXLuU/PD4Ghn2p/AZ555BosWLcKff/4pl5RERERg6NChcHV1LXK/K1euGAQ3/v7+mDlzpvx66tSp2LlzJ3766Sd06tQJaWlp+Pjjj/HZZ59h7NixAIBGjRrh4YcfBqAd5A4AateuDV9fX6PndXd3R58+fbBu3Tr07NkTALBx40Z4enri0UcfBQAEBQUhKChI3uedd97B5s2b8csvv2DKlCnw8PCAUqlErVq19M6zZMkS9OzZUw5YmjZtilOnTmHRokV61W89evTAjBkzDPLm5+eHY8eOFfmeVRSW3BAA4EqqhMzc/GJHDRveEBEBAJo3b46HHnoIq1evBgBcuHAB+/btK7ZKCgDu378Pe3t7vXVqtRrvvPMOWrduDQ8PDzg7O2Pnzp1yicnp06eRlZUlByVlNXr0aPzvf/9DVlYWAGDt2rUYOXKkPClleno6Zs6ciRYtWsDNzQ3Ozs44ffq0nI+inD59Gl26dNFb16VLF5w/f15v4L3CQZ2Og4MDMjIyynNpJmHJDQEA7tzXj3MZ2xBRZXOwVeLU/DCznbs0JkyYgKlTp2L58uWIiIhAo0aN0K1bt2L38fT0xN27d/XWLVq0CB9//DGWLVuG1q1bw8nJCa+88orc6NbBwaF0F1KEAQMGQAiBrVu34sEHH8S+ffuwdOlSefvMmTOxa9cufPTRR2jcuDEcHBwwbNgwOR/l5eTkZHT9nTt35NKnysTghgAAaYU+z2pGN0RUySRJMrlqyNyGDx+Ol19+GevWrcO3336LF154ocTRdNu1a4dTp07prfvrr78wcOBAPPXUUwC0jYfPnTuHli1bAgCaNGkCBwcHREZGYuLEiQbHNHV6Ant7ewwZMgRr167FhQsX0KxZM7Rv314vH+PGjcPgwYMBaEtyYmNjDc5V+DwtWrTAX3/9ZXBNTZs2hVJZcsD433//yVV7lYnVUgQASM3W/5KyyQ0RUT5nZ2eMGDEC4eHhiI+PN6l7d1hYGKKjo/UChCZNmmDXrl04cOAATp8+jeeeew6JiYnydnt7e7z++ut47bXX8O233+LixYs4ePAgvv76awCAt7c3HBwcsGPHDiQmJiIlJaXI848ePRpbt27F6tWr5YbEBfOxadMmxMTE4Pjx43jyyScNelcFBgZi7969uH79Om7d0jbKnDFjBiIjI/HOO+/g3Llz+Oabb/DZZ5/ptSMqSkZGBo4cOYJevXqVmLa8zBrc7N27FwMGDICfnx8kScKWLVuKTb9p0yY89thj8PLygouLC0JCQrBzp3kao1mbtELBjak9CYiIaooJEybg7t27CAsLg5+fX4np+/TpAxsbG70u1m+//Tbat2+PsLAwdO/eHb6+vgYjC8+aNQszZszA7Nmz0aJFC4wYMQJJSUkAtL23PvnkE3z55Zfw8/PDwIEDizx/jx494OHhgbNnz+LJJ5/U27ZkyRK4u7vjoYcewoABAxAWFqZXsgMA8+fPR2xsLBo1aiRXJbVv3x4//fQT1q9fj1atWmH27NmYP3++ScHezz//jHr16qFr164lpi0vSZjxr9j27dvx119/oUOHDhgyZAg2b95c7PDRr7zyCvz8/PDoo4/Czc0NERER+Oijj3Do0CG0a9fOpHOmpqbC1dUVKSkpcHFxqaArsWDZKcCVdVjxnw8+PKSSVy8f3hz92jcyY8aIyNpkZmbi8uXLaNCggUFDW2u1fPly/PLLL/xHHEDnzp3x0ksvGQRaBRX3GSnN32+zVnb26dMHffr0MTl94WGg33//ffz888/49ddfTQ5uyLjCbW7YW4qIqPyee+45JCcnIy0trcKmYLBEt27dwpAhQ4odF6giWUZLriJoNBqkpaXBw8OjyDRZWVlyVzhAG/mRocLVUmxzQ0RUfjY2NnjrrbfMnQ2z8/T0xGuvvVZl57PoBsUfffQR0tPTMXz48CLTLFiwAK6urvISEBBQhTm0HPdy2OaGiIisg8UGN+vWrcO8efPw008/wdvbu8h04eHhSElJkZerV69WYS4tR45+I3l2BSciIotlkdVS69evx8SJE7FhwwaEhoYWm1alUkGlUhWbhoCcQkMmsFqKiIgslcWV3Pzwww8YP348fvjhB/Tr18/c2bEauRpWSxERkXUwa8lNeno6Lly4IL++fPkyYmJi4OHhgXr16iE8PBzXr1/Ht99+C0BbFTV27Fh8/PHHCA4ORkJCAgDtcNXFTV5GJcsuXC2lMZ6OiIioujNryc0///yDdu3ayd24p0+fjnbt2mH27NkAgPj4eL1JvFauXInc3FxMnjwZderUkZeXX37ZLPm3JrmFghl2BSciIktl1pKb7t27F1v9sWbNGr3XUVFRlZuhGswwuDFPPoiIiMrL4trcUOXIVmvb3NgptVEN29wQEVWcyMhItGjRosQJL63ZG2+8galTp1bJuRjcEID8khtV3qSuasY2REQV5rXXXsPbb79t0szZ1mrmzJn45ptvcOnSpUo/F4MbApA/zo0qr+RGw3opIqIKsX//fly8eBFDhw4tMk12dnaR26o7U/Pu6emJsLAwrFixopJzxOCG8uQUKrlhrRQREfDbb7/Bzc1Nrk6KiYmBJEl444035DQTJ07EU089VeQx1q9fj8cee0xvIsi5c+eibdu2+Oqrr/QmiUxOTsbEiRPh5eUFFxcX9OjRA8ePH9c73q+//ooHH3wQ9vb28PT0xODBg+Vtd+/exZgxY+Du7g5HR0f06dMH58+fB6CdfsjBwQHbt2/XO97mzZtRq1YtZGRkAACuXr2K4cOHw83NDR4eHhg4cCBiY2Pl9OPGjcOgQYPw3nvvwc/PD82aNcP8+fPRqlUrg2tv27YtZs2aJb8eMGAA1q9fX+R7VVEY3BAAICevzU1+tRSjGyKqZEIA2ffMs5j4G9e1a1ekpaXh2LFjAIA///wTnp6eeh1c/vzzT3Tv3r3IY+zbtw8dO3Y0WH/hwgX873//w6ZNmxATEwMAeOKJJ5CUlITt27fjyJEjaN++PXr27Ik7d+4AALZu3YrBgwejb9++OHbsGCIjI9GpUyf5mOPGjcM///yDX375BdHR0RBCoG/fvsjJyYGLiwv69++PdevW6eVj7dq1GDRoEBwdHZGTk4OwsDDUqlUL+/btw19//QVnZ2f07t1br4QmMjISZ8+exa5du/Dbb7/hmWeewenTp/H333/LaY4dO4Z///0X48ePl9d16tQJ165d0wuWKoNFjlBMFU/X5kbXoJi1UkRU6XIygPf9zHPuN28Adk4lJnN1dUXbtm0RFRWFjh07IioqCtOmTcO8efOQnp6OlJQUXLhwAd26dSvyGFeuXIGfn+F1Zmdn49tvv4WXlxcAbfXV4cOHkZSUJI+s/9FHH2HLli3YuHEjnn32Wbz33nsYOXIk5s2bJx8nKCgIAHD+/Hn88ssv+Ouvv/DQQw8B0AYuAQEB2LJlC5544gmMHj0aTz/9NDIyMuDo6IjU1FRs3boVmzdvBgD8+OOP0Gg0+OqrryBJ2n96IyIi4ObmhqioKPTq1QsA4OTkhK+++gp2dnZyPsLCwhAREYEHH3xQ3q9bt25o2LChnEb3Ply5cgWBgYElvv9lxZIbAmBYLcVxboiItLp164aoqCgIIbBv3z4MGTIELVq0wP79+/Hnn3/Cz88PTZo0KXL/+/fv61VJ6dSvX18ObADg+PHjSE9PR+3ateHs7Cwvly9fxsWLFwFoq8V69uxp9DynT5+GjY0NgoOD5XW1a9dGs2bNcPr0aQBA3759YWtri19++QUA8L///Q8uLi7yVEbHjx/HhQsXUKtWLfn8Hh4eyMzMlPMAAK1bt9YLbABg0qRJ+OGHH5CZmYns7GysW7cOzzzzjF4aBwcHAJCrwCoLS24IAJCTN/2CykbXFdycuSGiGsHWUVuCYq5zm6h79+5YvXo1jh8/DltbWzRv3hzdu3dHVFQU7t69W2ypDaBtSHv37l2D9U5O+iVH6enpqFOnjtEx3dzc3ADkBwdlZWdnh2HDhmHdunUYOXIk1q1bhxEjRsDGxkbOQ4cOHbB27VqDfQsGYoXzDmjb06hUKmzevBl2dnbIycnBsGHD9NLoqtcKHqsyMLghAEa6grNeiogqmySZVDVkbrp2N0uXLpUDme7du+ODDz7A3bt3MWPGjGL3b9euHU6dOlXiedq3b4+EhATY2NgUWWXTpk0bREZG6rVj0WnRogVyc3Nx6NAhuVrq9u3bOHv2LFq2bCmnGz16NB577DGcPHkSf/zxB9599129PPz444/w9vaGi4tLiXkuyMbGBmPHjkVERATs7OwwcuRIg2Dsv//+g62tLR544IFSHbu0WC1FAPJnBWe1FBGRPnd3d7Rp0wZr166VGw4/8sgjOHr0KM6dO1diyU1YWBj2799f4nlCQ0MREhKCQYMG4ffff0dsbCwOHDiAt956C//88w8AYM6cOfjhhx8wZ84cnD59GidOnMCHH34IAGjSpAkGDhyISZMmYf/+/Th+/Dieeuop+Pv7Y+DAgfJ5HnnkEfj6+mL06NFo0KCBXjXW6NGj4enpiYEDB2Lfvn24fPkyoqKi8NJLL+HatWslXsPEiRPxxx9/YMeOHQZVUoC2cXXXrl3LXQJVEgY3BCEMx7lhbENElK9bt25Qq9VycOPh4YGWLVvC19cXzZo1K3bf0aNH4+TJkzh79myx6SRJwrZt2/DII49g/PjxaNq0KUaOHIkrV67Ax8cHgLbEaMOGDfjll1/Qtm1b9OjRA4cPH5aPERERgQ4dOqB///4ICQmBEALbtm2Dra2t3nlGjRqF48ePY/To0Xp5cHR0xN69e1GvXj25bdGECROQmZlpUklOkyZN8NBDD6F58+Z6QZPO+vXrMWnSpBKPU16SqGHj7KempsLV1RUpKSmlLnKzStkpyL28Do0j6gEABjfJwebztpj8SF282jfIzJkjImuSmZmJy5cv643rUlO8+uqrSE1NxZdffmnurFQqIQSaNGmCF198EdOnT9fbtn37dsyYMQP//vuv3MansOI+I6X5+82SG0JuXmNioMAIxTUq5CUiqlxvvfUW6tevD41GU3JiC3Xz5k189tlnSEhIMNom6N69e4iIiCgysKlIbFBMyC7wXVPlfSLY5oaIqOK4ubnhzTffNHc2KpW3tzc8PT2xcuVKuLu7G2wv3HOqMjG4Ib2SGztOv0BERGVQnVq5sFqK9GYAV0raF+wKTkRElorBDcmlNApJQJFXiMPYhoiILBWDG4JaaCMapaRdgOpVvEhERFQaDG5ILqVRSNoBQwH9qioiIiJLwuCG9IKb/GopRjdERGSZGNwQNEaqpdjmhoiILBW7gpNcBSUVLLlhdENEVSX3PqDJrrrzKewAm8qb2yg2NhYNGjTAsWPH0LZt20o7D6CdSmHz5s0YNGhQpZ7H0jC4IbmURlmgzQ2rpYioSuTeB679DOTcrbpz2roDdQdWSIAzbtw4JCcnY8uWLfK6gIAAxMfHw9PTs9zHp7JhcENytZRCyh/nhgU3RFQlNNnawEbhACirYL4pdab2fJpsAJVTeqNUKuHr61spxybTsM0NydVSCkV+tRS7ghNRlVLaAzZOlb+UMYDauHEjWrduDQcHB9SuXRuhoaF49dVX8c033+Dnn3+GJEmQJAlRUVGIjY2FJEmIiYkBAERFRUGSJOzcuRPt2rWDg4MDevTogaSkJGzfvh0tWrSAi4sLnnzySWRkZMjnDAwMxLJly/Ty0bZtW8ydO9doHnXnSU5OltfFxMRAkiTExsYCAK5cuYIBAwbA3d0dTk5OeOCBB7Bt27YyvSfVGUtuKL+3FADdRAzsCk5EpBUfH49Ro0Zh4cKFGDx4MNLS0rBv3z6MGTMGcXFxSE1NRUREBADAw8MDN27cMHqcuXPn4rPPPoOjoyOGDx+O4cOHQ6VSYd26dUhPT8fgwYPx6aef4vXXX6+0a5k8eTKys7Oxd+9eODk54dSpU3B2dq6085kLgxvKb3OjYFdwIqLC4uPjkZubiyFDhqB+/foAgNatWwMAHBwckJWVZVI11LvvvosuXboAACZMmIDw8HBcvHgRDRs2BKCdWHLPnj2VGtzExcVh6NChcv5157Y2rJYi/TY3Ct06M2aIiKgaCQoKQs+ePdG6dWs88cQTWLVqFe7eLX0D6DZt2sjPfXx84OjoqBdc+Pj4ICkpqULyXJSXXnpJDrLmzJmDf//9t1LPZy4Mbii/zY2U/4FgV3AiIi2lUoldu3Zh+/btaNmyJT799FM0a9YMly9fLtVxbG1t5eeSJOm91q3TaDTya4VCYdD+MScnp8jjKxTaX/CC+xROP3HiRFy6dAlPP/00Tpw4gY4dO+LTTz8t1XVYAgY3VERXcPPlh4ioupEkCV26dMG8efNw7Ngx2NnZYfPmzbCzs4Nara6Uc3p5eSE+Pl5+nZqaWmxA5eXlBQB6++gaNRcUEBCA559/Hps2bcKMGTOwatWqist0NcE2N1SoK7huHaMbIiIAOHToECIjI9GrVy94e3vj0KFDuHnzJlq0aIHMzEzs3LkTZ8+eRe3ateHq6lph5+3RowfWrFmDAQMGwM3NDbNnz4ZSqSwyfePGjREQEIC5c+fivffew7lz57B48WK9NK+88gr69OmDpk2b4u7du9izZw9atGhRYXmuLhjckH61lNwV3Hz5IaIaSJ1Zbc/j4uKCvXv3YtmyZUhNTUX9+vWxePFi9OnTBx07dkRUVBQ6duyI9PR07NmzB4GBgRWS1fDwcFy+fBn9+/eHq6sr3nnnnWJLbmxtbfHDDz/ghRdeQJs2bfDggw/i3XffxRNPPCGnUavVmDx5Mq5duwYXFxf07t0bS5curZD8VieSqGEDmqSmpsLV1RUpKSlwcXExd3bMLzsFB6L/hye3+6Cph8DENpl4LcoBjzZxR8SEh8ydOyKyIpmZmbh8+TIaNGgAe/u88WYsfIRiqlhGPyN5SvP3myU3BLWRail1zYp5ichcbBy0gYYVzS1F5sfghvSqpWx0XcE1RacnIqpQNg6orKkQqGZibymS29coC5Tc5DC6ISIiC8XghvKrpRT5JTdqxjZERGShGNyQ3txSSoX2RS4HuiGiSlLD+rFQKVTUZ4PBDenNLWWja1DM4IaIKphuRN6CM18TFZSdrW1YXtx4PqZgg2LKL7kp0KCYJTdEVNGUSiXc3Nzk+ZMcHR0h6YZFpxpPo9Hg5s2bcHR0hI1N+cITswY3e/fuxaJFi3DkyBHEx8dj8+bNGDRoULH7REVFYfr06Th58iQCAgLw9ttvY9y4cVWSX2ulNjJxJktuiKgy6GbPruwJIskyKRQK1KtXr9xBr1mDm3v37iEoKAjPPPMMhgwZUmL6y5cvo1+/fnj++eexdu1aREZGYuLEiahTpw7CwsKqIMfWiSU3RFRVJElCnTp14O3tXewkkFQz2dnZyROAlodZg5s+ffqgT58+Jqf/4osv0KBBA3mujBYtWmD//v1YunQpg5ty0Oh1Bde+YMkNEVUmpVJZ7nYVREWxqAbF0dHRCA0N1VsXFhaG6OjoIvfJyspCamqq3kL6dNVSUsGSGzWDGyIiskwWFdwkJCTAx8dHb52Pjw9SU1Nx//59o/ssWLAArq6u8hIQEFAVWbUoeiU3rJYiIiILZ1HBTVmEh4cjJSVFXq5evWruLFU7BYMbdgUnIiJLZ1FdwX19fZGYmKi3LjExES4uLnBwMD4viUqlgkqlqorsWSxdHCOxQTEREVkBiyq5CQkJQWRkpN66Xbt2ISQkxEw5sg66NjdsUExERNbArMFNeno6YmJiEBMTA0Db1TsmJgZxcXEAtFVKY8aMkdM///zzuHTpEl577TWcOXMGn3/+OX766SdMmzbNHNm3GuwKTkRE1sSswc0///yDdu3aoV27dgCA6dOno127dpg9ezYAID4+Xg50AKBBgwbYunUrdu3ahaCgICxevBhfffUVu4GXkxzcKDiIHxERWT6ztrnp3r17sZNkrVmzxug+x44dq8Rc1TzyCMVgyQ0REVk+i2pzQ5VDGJk4UyMADQMcIiKyQAxuCLrx+iQASkV+QMPSGyIiskQMbii/t5Qiv1oKYLsbIiKyTAxuKL9aStIuOrkajXkyREREVA4Mbii/WkpiyQ0REVk+BjcEjd4gfvnr2eaGiIgsEYMb0hvET+IoxUREZOEY3JBecANwZnAiIrJsDG5IbnOjC25s8kpuctVsUExERJaHwQ1B6EYoZskNERFZAQY3BF0IowtubBW6khsGN0REZHkY3JDc5kYqFNzksFqKiIgsEIMbyg9u8l7b5n0qGNwQEZElYnBDBtVSdkpdyQ2rpYiIyPIwuCGDBsW6aqnsXJbcEBGR5WFwQwbVUvklNwxuiIjI8jC4IblaKr9BsfYxm8ENERFZIAY3VGCEYu0T9pYiIiJLxuCGDKulGNwQEZEFY3BD0IU1coNipfaRDYqJiMgSMbghg4kzdQ2Ks9kVnIiILBCDGyp6hGKW3BARkQVicEP5vaXyHtmgmIiILBmDGzKsluL0C0REZMEY3JDBCMVymxtWSxERkQVicEPQhTCFq6XYoJiIiCwRgxuCKNygmNMvEBGRBWNwQ2xzQ0REVoXBDbG3FBERWRUGN1RMg2K2uSEiIsvD4IbyGxRzVnAiIrICDG7IoM2N3KCYXcGJiMgCMbih/N5Sea85KzgREVkyBjckNyhWFJpbitVSRERkiRjcEDQGDYq1jyy5ISIiS8TghuQ2NzpyyQ3b3BARkQVicEMG1VJ28gjF7ApORESWh8ENGfaWYoNiIiKyYAxuyGBuKV2bG1ZLERGRJTJ7cLN8+XIEBgbC3t4ewcHBOHz4cLHply1bhmbNmsHBwQEBAQGYNm0aMjMzqyi31knkdQLXfRhUedVSWQxuiIjIApk1uPnxxx8xffp0zJkzB0ePHkVQUBDCwsKQlJRkNP26devwxhtvYM6cOTh9+jS+/vpr/Pjjj3jzzTerOOfWRVOo5CY/uFGbKUdERERlZ9bgZsmSJZg0aRLGjx+Pli1b4osvvoCjoyNWr15tNP2BAwfQpUsXPPnkkwgMDESvXr0watSoEkt7qHiF29zY22hXZOaw5IaIiCyP2YKb7OxsHDlyBKGhofmZUSgQGhqK6Ohoo/s89NBDOHLkiBzMXLp0Cdu2bUPfvn2rJM/WSp4VnCU3RERkBWzMdeJbt25BrVbDx8dHb72Pjw/OnDljdJ8nn3wSt27dwsMPPwwhBHJzc/H8888XWy2VlZWFrKws+XVqamrFXIAV0TUo1kW69gW6gqs1AkpdkQ4REZEFMHuD4tKIiorC+++/j88//xxHjx7Fpk2bsHXrVrzzzjtF7rNgwQK4urrKS0BAQBXm2DLoRiguXHIDsPSGiIgsj9mCG09PTyiVSiQmJuqtT0xMhK+vr9F9Zs2ahaeffhoTJ05E69atMXjwYLz//vtYsGABNBrj7UPCw8ORkpIiL1evXq3wa7F0RVVLAUAW290QEZGFMVtwY2dnhw4dOiAyMlJep9FoEBkZiZCQEKP7ZGRkQKHQz7JSqR2URQjjo+mqVCq4uLjoLaSvcINipQKwVWpfZLLkhoiILIzZ2twAwPTp0zF27Fh07NgRnTp1wrJly3Dv3j2MHz8eADBmzBj4+/tjwYIFAIABAwZgyZIlaNeuHYKDg3HhwgXMmjULAwYMkIMcKr3CbW4AQGWjQI5azZIbIiKyOGYNbkaMGIGbN29i9uzZSEhIQNu2bbFjxw65kXFcXJxeSc3bb78NSZLw9ttv4/r16/Dy8sKAAQPw3nvvmesSrIIufJEKtBu2t1EgPUvNkhsiIrI4kiiqPsdKpaamwtXVFSkpKayiAoDsFPT/+A/8d9sOEQM0eNT/HpBzF102NsH1lCz8PLkLggLczJ1LIiKq4Urz99uiektR5dAUUS0FcAoGIiKyPAxuyGi1lMpW+9HIzGG1FBERWRYGNyT3BS84Vh9LboiIyFIxuCGDruCAtkExwJIbIiKyPAxuCBrkjVBcYB1LboiIyFIxuCF5nBu9ruBsc0NERBaKwQ3J0y+wzQ0REVkDBjdktM2Nykb7ghNnEhGRpWFwQ/nVUgXW2dtqp7PI5PQLRERkYRjcUH6DYpbcEBGRFWBwQ0V0BdeW3HDiTCIisjQMbshotRRLboiIyFIxuKHie0ux5IaIiCwMgxuSq6WMjnPDkhsiIrIwDG4IGqGNalhyQ0RE1oDBDcnVUvpdwVlyQ0RElonBDckNillyQ0RE1oDBDRUxQjFLboiIyDIxuCGj1VIsuSEiIkvF4IbkBsUSJ84kIiIrwOCGjLa5kRsU57BaioiILAuDGyq+WoolN0REZGEY3JDxuaVYckNERBaKwQ0ZHaG4YMmN0NVbERERWQAGNwQNDEcotrfJ/2iwaoqIiCwJgxuSG90YG6EYYHdwIiKyLAxuyGibG1ulAsq8FRzIj4iILAmDG4KuXKZgcAMUGKWYjYqJiMiCMLghFNVe2N5WCQDIZLUUERFZEAY3NZwQAsJIg2Igv1FxFquliIjIgjC4qeEKltoYBDcsuSEiIgvE4KaGK1gjVSi2gR3b3BARkQVicFPDaQoU3RRdcsPghoiILIeNqQnbtWsHSSr8v71xR48eLXOGqGppChTdFL69urFuOIgfERFZEpODm0GDBlViNshcTGtzw5IbIiKyHCYHN3PmzKnMfJCZFJw3qnC5nL1NXnDDkhsiIrIgbHNTw2mKKblR6aqlWHJDREQWxOSSm4LUajWWLl2Kn376CXFxccjOztbbfufOnQrJHFW+gg2KDdrc2LBaioiILE+ZSm7mzZuHJUuWYMSIEUhJScH06dMxZMgQKBQKzJ07t4KzSJVJrys4GxQTEZEVKFNws3btWqxatQozZsyAjY0NRo0aha+++gqzZ8/GwYMHKzqPVIn0GhQX2sYGxUREZInKFNwkJCSgdevWAABnZ2ekpKQAAPr374+tW7eW6ljLly9HYGAg7O3tERwcjMOHDxebPjk5GZMnT0adOnWgUqnQtGlTbNu2rSyXQSh+nBsVRygmIiILVKbgpm7duoiPjwcANGrUCL///jsA4O+//4ZKpTL5OD/++COmT5+OOXPm4OjRowgKCkJYWBiSkpKMps/OzsZjjz2G2NhYbNy4EWfPnsWqVavg7+9flssg6JfcFK6W4qzgRERkicrUoHjw4MGIjIxEcHAwpk6diqeeegpff/014uLiMG3aNJOPs2TJEkyaNAnjx48HAHzxxRfYunUrVq9ejTfeeMMg/erVq3Hnzh0cOHAAtra2AIDAwMCyXALl0RTXFdyWXcGJiMjylCm4+eCDD+TnI0aMQL169RAdHY0mTZpgwIABJh0jOzsbR44cQXh4uLxOoVAgNDQU0dHRRvf55ZdfEBISgsmTJ+Pnn3+Gl5cXnnzySbz++utQKpVG98nKykJWVpb8OjU11aT81RS6ruASRNENillyQ0REFqRMwU1hISEhCAkJKdU+t27dglqtho+Pj956Hx8fnDlzxug+ly5dwh9//IHRo0dj27ZtuHDhAl588UXk5OQUOcjgggULMG/evFLlrSYq3N4G4CB+RERkmcoc3Jw/fx579uxBUlISNBr9P36zZ88ud8aM0Wg08Pb2xsqVK6FUKtGhQwdcv34dixYtKjK4CQ8Px/Tp0+XXqampCAgIqJT8WSJdtZSxacPYW4qIiCxRmYKbVatW4YUXXoCnpyd8fX31JtSUJMmk4MbT0xNKpRKJiYl66xMTE+Hr62t0nzp16sDW1lavCqpFixZISEhAdnY27OzsDPZRqVSlauRc0+iqpYy1LNc1KGa1FBERWZIy9ZZ699138d577yEhIQExMTE4duyYvJg6I7idnR06dOiAyMhIeZ1Go0FkZGSRVVxdunTBhQsX9EqKzp07hzp16hgNbKhkwqSSG1ZLERGR5ShTcHP37l088cQT5T759OnTsWrVKnzzzTc4ffo0XnjhBdy7d0/uPTVmzBi9BscvvPAC7ty5g5dffhnnzp3D1q1b8f7772Py5MnlzktNJTcoNhrc6EYoZskNERFZjjJVSz3xxBP4/fff8fzzz5fr5CNGjMDNmzcxe/ZsJCQkoG3bttixY4fcyDguLg4KRX78FRAQgJ07d2LatGlo06YN/P398fLLL+P1118vVz5qMlFMtRRLboiIyBKVKbhp3LgxZs2ahYMHD6J169bymDM6L730ksnHmjJlCqZMmWJ0W1RUlMG6kJAQTvFQgXQNio32lsoruclkyQ0REVmQMgU3K1euhLOzM/7880/8+eefetskSSpVcEPmpRvCz1i1lIqzghMRkQUqU3Bz+fLlis4HmYncFdzINpWu5CZHAyGEXq84IiKi6qpMDYrJeshtborpLQUA2Wq2uyEiIstQppKbgoPiFSRJEuzt7dG4cWMMHDgQHh4e5cocVb784EYYbNONUAxoS29UNsanuCAiIqpOyhTc6MazUavVaNasGQDteDNKpRLNmzfH559/jhkzZmD//v1o2bJlhWaYKlZx1VK2SgkKSdtdPCtHDTjYGklFRERUvZSpWmrgwIEIDQ3FjRs3cOTIERw5cgTXrl3DY489hlGjRuH69et45JFHSjVDOJlHcePcSJJUoFExq6WIiMgylCm4WbRoEd555x24uLjI61xdXTF37lwsXLgQjo6OmD17No4cOVJhGaXKIVB0V3CAA/kREZHlKVNwk5KSgqSkJIP1N2/eRGpqKgDAzc0N2dnZ5csdVTq55KaI7RzIj4iILE2Zq6WeeeYZbN68GdeuXcO1a9ewefNmTJgwAYMGDQIAHD58GE2bNq3IvFIlKK63FFAguGHJDRERWYgyNSj+8ssvMW3aNIwcORK5ubnaA9nYYOzYsVi6dCkAoHnz5vjqq68qLqdUKYoboRjInxmcA/kREZGlKFNw4+zsjFWrVmHp0qW4dOkSAKBhw4ZwdnaW07Rt27ZCMkiVSxj2ANejYrUUERFZmDIFNzrOzs5o06ZNReWFzKCkkht7GzYoJiIiy2JycDNkyBCsWbMGLi4uGDJkSLFpN23aVO6MUdUwuc0NS26IiMhCmBzcuLq6ynMLubq6VlqGqGqVHNywzQ0REVkWk4ObiIgI+fnnn38OjUYDJycnAEBsbCy2bNmCFi1aICwsrOJzSZWmuBGKAc4MTkRElqfMXcG/++47AEBycjI6d+6MxYsXY9CgQVixYkWFZpAqV/4IxcZbFucP4sdqKSIisgxlCm6OHj2Krl27AgA2btwIHx8fXLlyBd9++y0++eSTCs0gVa6SRyjWltxkseSGiIgsRJmCm4yMDNSqVQsA8Pvvv2PIkCFQKBTo3Lkzrly5UqEZpMolTB2hmCU3RERkIcoU3DRu3BhbtmzB1atXsXPnTvTq1QsAkJSUpDffFFV/mpIaFHMQPyIisjBlCm5mz56NmTNnIjAwEMHBwQgJCQGgLcVp165dhWaQKpfQNSguaoRiWzYoJiIiy1KmQfyGDRuGhx9+GPHx8QgKCpLX9+zZE4MHD66wzFHlK2nizPzpF1gtRURElqHMIxT7+vrC19dXb12nTp3KnSGqWiWOUKxrUMwRiomIyEKUqVqKrAdHKCYiImvD4KaG041uU1SbG45QTERElobBTQ1n8gjF7ApOREQWgsFNDVdSV3C7vAbF2QxuiIjIQjC4qeGE3KDY+PQLKjm4YbUUERFZBgY3NVxJIxTLJTdqltwQEZFlYHBTw+VPnGl8u50yb+JM9pYiIiILweCmhit54kyW3BARkWVhcFPDlTRCsZ1S21uKDYqJiMhSMLip4UQJIxTr2txkMbghIiILweCmhitphGJdbym1RkCtMd6jioiIqDphcFPDlRSv6EpuAFZNERGRZWBwU8OVNHEmgxsiIrI0DG5quJJGKLZRSPI2zgxORESWgMFNjVd8yY0kSWxUTEREFoXBTQ1XUldwIH8gP451Q0REloDBTQ2XP0Jx0S2LVbbasW44SjEREVkCBjc1XEnj3AAsuSEiIstSLYKb5cuXIzAwEPb29ggODsbhw4dN2m/9+vWQJAmDBg2q3AxaMVOqpfJnBmdwQ0RE1Z/Zg5sff/wR06dPx5w5c3D06FEEBQUhLCwMSUlJxe4XGxuLmTNnomvXrlWUU+tkUsmN3KCYvaWIiKj6M3tws2TJEkyaNAnjx49Hy5Yt8cUXX8DR0RGrV68uch+1Wo3Ro0dj3rx5aNiwYRXm1vroWtoUNSs4wJIbIiKyLGYNbrKzs3HkyBGEhobK6xQKBUJDQxEdHV3kfvPnz4e3tzcmTJhQ4jmysrKQmpqqt1A+k3pLMbghIiILYtbg5tatW1Cr1fDx8dFb7+Pjg4SEBKP77N+/H19//TVWrVpl0jkWLFgAV1dXeQkICCh3vq2JRlNytZTKJq+3FIMbIiKyAGavliqNtLQ0PP3001i1ahU8PT1N2ic8PBwpKSnycvXq1UrOpWXRVUuZ0uaGJTdERGQJbMx5ck9PTyiVSiQmJuqtT0xMhK+vr0H6ixcvIjY2FgMGDJDXaTTaP7g2NjY4e/YsGjVqpLePSqWCSqWqhNxbh9J0Bc9iV3AiIrIAZi25sbOzQ4cOHRAZGSmv02g0iIyMREhIiEH65s2b48SJE4iJiZGXxx9/HI8++ihiYmJY5VQGJc0KDgAq27zgJoe9pYiIqPoza8kNAEyfPh1jx45Fx44d0alTJyxbtgz37t3D+PHjAQBjxoyBv78/FixYAHt7e7Rq1Upvfzc3NwAwWE+mKWniTICD+BERkWUxe3AzYsQI3Lx5E7Nnz0ZCQgLatm2LHTt2yI2M4+LioFBYVNMgi5JfLVV0EQ7b3BARkSUxe3ADAFOmTMGUKVOMbouKiip23zVr1lR8hmoQYdIIxewtRUREloNFIjWcphQjFLPkhoiILAGDmxrOlBGKGdwQEZElYXBTw5Vm4kzOLUVERJaAwU0NZ0q1FOeWIiIiS8LgpqYzpSu4DbuCExGR5WBwU8OVqloqh8ENERFVfwxuajhdtZRJDYpZckNERBaAwU0NZ9LEmUqOc0NERJaDwU0NV5oGxQxuiIjIEjC4qeFMGaGY49wQEZElYXBTw+W3uTFlbimOc0NERNUfg5saTpjQFZzVUkREZEkY3NRwpnQFZ7UUERFZEgY3NZwozQjF7ApOREQWgMFNDVearuAsuSEiIkvA4KaGK021FNvcEBGRJWBwU8OVZoRitUZArSm6VxUREVF1wOCmhitNbymAVVNERFT9Mbip4eQGxcWksWNwQ0REFoTBTQ0nt7kppuTGRiHJ27PUHMiPiIiqNwY3NZyuBU1xwY0kSbBTcqwbIiKyDAxuajiNCdVSAHtMERGR5WBwU8PlV0sV3wtKxVGKiYjIQjC4qeFMGaEYAFQ2HMiPiIgsA4ObGk6YMIgfUGB+KU7BQERE1RyDmxpOY8I4NwDYoJiIiCwGg5sazpQRigHODE5ERJaDwU0NZ8rEmUDB3lIc54aIiKo3Bjc1nCkjFAP51VLsCk5ERNUdg5saTp4Hs6TeUrasliIiIsvA4KaGM2XiTKBAg2L2liIiomqOwU0NV9oRillyQ0RE1R2DmxpOmDBxJsDghoiILAeDmxpOLrkxcfoFNigmIqLqjsFNDWfyCMUcxI+IiCwEg5saztQRilW2eXNLsUExERFVcwxuajiTRyhmyQ0REVkIBjcEwPTeUmxzQ0RE1R2DmxqOc0sREZG1YXBTw2lM7Qqu5NxSRERkGapFcLN8+XIEBgbC3t4ewcHBOHz4cJFpV61aha5du8Ld3R3u7u4IDQ0tNj0VTx6huIR0LLkhIiJLYfbg5scff8T06dMxZ84cHD16FEFBQQgLC0NSUpLR9FFRURg1ahT27NmD6OhoBAQEoFevXrh+/XoV59w65I9zU3w63Tg37C1FRETVndmDmyVLlmDSpEkYP348WrZsiS+++AKOjo5YvXq10fRr167Fiy++iLZt26J58+b46quvoNFoEBkZWcU5tw4coZiIiKyNWYOb7OxsHDlyBKGhofI6hUKB0NBQREdHm3SMjIwM5OTkwMPDw+j2rKwspKam6i2UT54U3NSSGwY3RERUzZk1uLl16xbUajV8fHz01vv4+CAhIcGkY7z++uvw8/PTC5AKWrBgAVxdXeUlICCg3Pm2JqWeOJPVUkREVM2ZvVqqPD744AOsX78emzdvhr29vdE04eHhSElJkZerV69WcS6rt/wRioufW8pOqR2hOCuHwQ0REVVvNuY8uaenJ5RKJRITE/XWJyYmwtfXt9h9P/roI3zwwQfYvXs32rRpU2Q6lUoFlUpVIfm1RqK049yw5IaIiKo5s5bc2NnZoUOHDnqNgXWNg0NCQorcb+HChXjnnXewY8cOdOzYsSqyarVM7QrONjdERGQpzFpyAwDTp0/H2LFj0bFjR3Tq1AnLli3DvXv3MH78eADAmDFj4O/vjwULFgAAPvzwQ8yePRvr1q1DYGCg3DbH2dkZzs7OZrsOS1XaEYo5/QIREVV3Zg9uRowYgZs3b2L27NlISEhA27ZtsWPHDrmRcVxcHBSK/HKFFStWIDs7G8OGDdM7zpw5czB37tyqzLpVMHmEYrnkhiMUExFR9Wb24AYApkyZgilTphjdFhUVpfc6Nja28jNUg+iaEZfYW0qpQEfpDHpqTgBHE4FWQwE7p8rOHhERUalVi+CGzEeYOEKxW8yX2Kiar33xy2Zg70fAsNVAXbZ5IiKi6sWiu4JT+ZlULXX1b9TaOxcAsEvdHsLFH0i+AqzpB5zcXNlZJCIiKhUGNzWcPP1CcYl+fwsA8D/1w5iUMxMZE/cDTXsDuZnAhnHAgU/zD0RERGRmDG5quBInzrz2D3D1EITSDh/kjAIAZCudgZHrgODntWl+fxvY8QagYWNjIiIyPwY3NVyJE2ceXqnd3moY7ii083dlqzWAQgn0/gDo9Z423aEvgA1jgZz7lZxjIiKi4jG4qeEEiplbKuc+cPo37fOOz8BOWWggP0kCHpqibVistANO/wp8OxDIuFP5GSciIioCg5saLr9BsZE2Mxd2Azn3ANd6QN2OBQbyK1T91Goo8PQWwN4VuHoI+Pox4G5speabiIioKAxuarhi29yc3KJ9bPk4IEnFj1Ic2AV45nfANQC4fQH4KhS4+nflZJqIiKgYDG5qOE1RvaU0ucD5XdrnLQcCMGF+Ke/mwIRdgE9r4N5NIKIPcGRNheeZiIioOAxuajrdxJmFo5v4E0BWCmDvBvh3AFBwCoZi5pdyqQM8sx1oMQDQ5AC/vqxdcrMqPu9ERERGMLip4Yqslordr31s0FXbMwrIb1CsLmHyTFUtYPh3QI9ZACRt6c2afkDK9YrLOBERUREY3NRwumopg3qpy3nBTcPu8qoSq6UKkiTgkZnA6A3ahsbX/ga+6AKc2VruPBMRERWHwU0NZ3TiTHUOcP2I9nmD7vLqYhsUF6XJY8CkPUCdtsD9u8D6J4FtrwI5mWXPNBERUTEY3NRwRqul7sYD6mzAyQuo3UhebVKbG2NqN9I2NA7Jm/n98Ergq55A0unyZJ2IiMgoBjc1nNERim9d1T76d9DboLLRtr0pdXADADZ2QNh7wOiNgKMnkPgf8OUjwL7FgDq3jLknIiIyxOCmhhPCyAjFtwsENwXoGhRnldSguDhNHgNe+Es78aY6G4icD3wdylIcIiKqMAxuajiNsZKb29e0j/7t9dKWuVqqsFq+wKj1wOAvtY2NbxzTluJEfcgu40REVG4Mbmq4/DY3eVFO1j0g7Zb2uV8lBTeANpoKGgm8eCi/FCfqfeDzztppH4iIiMqIwU0NZ9ATPPmG9tHFH3D00Etb5NxS5eFSR1uKM/RrwNkXuHMJ+H4o8OPTQMq1ijsPERHVGAxuajhReITilETto2djg7QGs4JXFEkCWg8DpvwNdJ4MSErg9C/Apx2BP94FMlMr9nxERGTVGNzUcAZdwVMStI8FuoDrqGwrKbjRsXcBer8PPLcXqPcQkHsf2LsI+KQdcHiVdvwdIiKiEjC4qeHkEYp1igtuTJ1+obx8WwHjtwEj1gK1GwMZt4BtM4HlwcCJjYCmAqvFiIjI6jC4qeEMq6V0wY2RaqmKbFBcEkkCWvQHXjwI9FusHVDwzkXgfxO0Qc7xHzk+DhERGcXgpoYTBaul1DlAel5PKSMlN1Ua3OgobYEHJwIvHQMefVs7S/nt88DmZ4HlDwLH1gK52VWXHyIiqvYY3NRw8jg3AJCaqC3KsbXXlpQUIg/iV5XBjY6qFtDtVeCVE0DPOYCDh7Zn1c8vAstaA3s/AjLuVH2+iIio2mFwU8MJFCi5kbuBexUa1U/LLm/6BbMENzr2LkDX6dog57H52u7j6QnAH+8AS1oCv74CJJ0xX/6IiMjsGNzUcHojFCfHa1+4eBpNa29bCePclJXKGejysjbIGbwSqBOk7V11JAL4PBhY3RuI+QHIzjB3TomIqIoxuKnh9BoUp+iCG2+jaR1stSU397OrQXCjY2MHBI0Anv0TGLcNaN5fO05OXDSw5XlgcXNg6wzgRkz+xRIRkVWzMXcGyHxEgT/2ElAguDFecuNglxfc5FSj4EZHkoDALtolNR6I+R44+i2QHAf8/ZV28WwKtBqmHTDQSINpIiKyDiy5qcEKjnGjgCY/uKll2JgYqKYlN8a41AEeeRV46Tjw9GbggcGAUgXcOqedv+rT9sDK7sCBT7WNkomIyKqw5KYG0xQouVFkp+W1T5GAWrWNpne0035cqmXJjTEKBdCoh3bJTAXObAVObAAuRWlnIr9xDPj9bcCrBdC8L9Csr3ayUAVjfiIiS8bgpgYr2ARFmZakfeLsAdjYGk3vYKf9o59R3UtujLF3AdqO0i7pN4FTW7TzV8X+Bdw8rV32LQacfYDGjwGNHgUaPAI4G29/RERE1ReDmxqsYMmNMi1vZGIXnyLTO1hayU1RnL2ATpO0y/27wPndwNmt2sf0RG17nZjvtWl9WgENuwMNHwXqBWvH2yEiomqNwU0Npl9ykzcbuGsxwU1em5vsXA3UGgGlwnAsHIvj4A60eUK75GYBsfuBS3u0VVcJJ4DE/7RL9GeApAB8HgACOgP1OgMBwYBbgLmvgIiICmFwU4PptblJzQtuiim5cczrLQVoS2+cVVb28bFRAY17ahdAW311+U9toHP5T23Pq4QT2uXvVdo0Lv5A3Qe14+zUCQLqtAWcjLdZIiKiqmFlf52oNAqO+iKlllxyo7JRQJK0JT4Z2bnWF9wU5uyl7Tbeepj2deoNIO4gcPWQ9jHhBJB6HTh1XduGR8elbn6w4/MA4NUccA8ElFb+fhERVRP8ta1AcbczcOteFtrXczd3VkyiK7lRQg0p/aZ2pYtvkeklSYKDrRIZ2WpkZptxCgZzcfEDWg3RLgCQlQ5cP6LtdRV/XLvcuQikXtMuZ7fm76u0A2o3AbyaaYMdr2aAZxNt0GPnZJbLISKyVgxuKsjWf+Mxed1RtPJ3wW9Tu5o7OyYRefFJoJQASaPWVss4uQG5KUXuowtuMnJyqyaT1ZnKGWjYTbvoZKZqS3R0wc7N08DNc9qpIZJOapfCnH0A9waARwNtsKN77lZPO4GpQmm4DxERFYnBTQUJbugBSQL+u56K+JT7qOPqYO4slUg3aWYr6bJ2Re362kazxXCwUwL3LGAgP3Oxd8kfKVlHowFS4oCbZ4GbZ7SPSae1pTyZKdoeWumJwNWDhsdT2AC16mhLjVz8tG18Cj539tYGQCz9ISKSVYvgZvny5Vi0aBESEhIQFBSETz/9FJ06dSoy/YYNGzBr1izExsaiSZMm+PDDD9G3b98qzLEhT2cV2gW44WhcMnafTsLTneubNT+m0I1Q/IDiivZJ7ZLzbDGjFFcnCkVeiUwg0DRMf9v9u8Cdy8Ddy3mPsdrlzmUg7QagyQVSrmqX4tg6Ak6egFNesOPkmfeYtzi4A/augIMbYO+mfVQaH8+IiMjSmT24+fHHHzF9+nR88cUXCA4OxrJlyxAWFoazZ8/C29twALUDBw5g1KhRWLBgAfr3749169Zh0KBBOHr0KFq1amWGK8jXp1UdHI1LxtqDV/BUcD1IUvXuKq1rcxOkuKhdUTuwxH10PaYsciC/6sjBHfB3B/zbG25T5wL3krQNmVOuaR9Tr+c95i3piYA6C8jJ0PbmSo4z/dy2ToYBj72bdiwfOydttZuds/a5nRNgV6vAc6f8dLaOedPKExFVD5IQ5p0qOTg4GA8++CA+++wzAIBGo0FAQACmTp2KN954wyD9iBEjcO/ePfz222/yus6dO6Nt27b44osvSjxfamoqXF1dkZKSAhcXl4q7kNR43D/xK1bsPAp7zT082swLLeq4attLKGzyHm21/y3rHuXnNoW2FXxtU8Q+RraV8g/MzbQs9HxvC46qnoeNpAGGLwEcnYCcu0D9JwE7V4N9RnwZjUOX7+DTUe0wIMivot49KishgOx04N5N4N6tvMe8Jb3A88xk4H6K9jErtYIzIQG2DoCNvXaxzXu0UQE2DtpHWwf913rp7PM+23b5n+linxv5LhT+XiiU2tnhFUptVSuDLyKLV5q/32YtucnOzsaRI0cQHh4ur1MoFAgNDUV0dLTRfaKjozF9+nS9dWFhYdiyZUtlZrVkyVfgsOtVTFdAOx3pxbylCgkpL5CSFBB5P+5CUmgf837khaTUppMUcBIK7FfFawMbd3/AxRvIvVfsOfJLbtiguFqQJG0JiqoW4NHQtH3UudoAJzMZuJ9c4FEX/KQB2fe0QVP2PW2vsIKv5efpeQcU2pKjnIzKuMIKofseaBtnSwW+H8oC3xdF3mvt90belpdOyM912yQI5C/QPZfyn+vSaB8V2vUSACjy95FK2BeS9pyQ5GvR/kdaaD20QZz231VR4DnkNHlbCjyXjD8XeekKHAMFthd8WnC/ghuEZLhe/z/pIvbTS6KfRhR4XtQ5ChJFrC9KWf7VF6WJm0tx/MLXWoGHLqDygn6lax10HPBcpR2/JGYNbm7dugW1Wg0fH/2xVXx8fHDmzBmj+yQkJBhNn5CQYDR9VlYWsrKy5NepqRX9X2ueWnWA5v2hUbkg6koWLt3KgBIaSBBwsgUcbQRsoYatpIaNyIVS5EIJtfZR5EKJXCiF9rUN1FBC+2iT91q75MJWt14y7IotCTWg1lYXmfKRtSuYsP1Aky7TxUHbTiMtk8GNxVLaAI4e2qUIuWoNMnM1uJ+tRmaOGvdz1PLzbLUGOWoNsnNyoc6+D01mGkROBkROJjTZmRC59yFyMoHcTCAnE1JuJqDOgiI3E5I6C0p1JhTqLNhosqDUZMNWkwWFyIVC910QOVAINWxEjt73xAa58vfDBrnyd0P3nbCViq4qlYRG2z1Qk6N9XeFvKhEVdMamBVBTg5uqsGDBAsybN6/yT+ReHxi5FgoA3TUCN49cxZoDV3A6PhWolDhAGyxpAx61HADZSmrYSAI2kqbQY95zaOR1SknABmo091PipYCiB+8ryMVeG9yk3s+pjIuiMsjKVeNelhrpmblIy8pBemYu7mXnIi0zF+lZubiXlZu3Le95Vi7uZ+cFLDkaZGarkZmrltdl5qiRoy5PbbVD3lLVtN8JJdRQQgMlNFAUelQW+PzbSgJKSQOlBNjK3wn9NErovkPa745STiOgyNuukAQUkrbAViFpyzEUeeu15Sn5ZTv5z3Xb89JC+8+KZJBeU7BMSG9fSeSlkc+jgZQXtumVcegVuOSXZeiVeUhCTpGfJr9Mpqjyk6LKF4ylMSx3KeF4eh/BgvsaK48x3G547PKpyIC4uuTLsLa24vKV6xpYYccqC7MGN56enlAqlUhMTNRbn5iYCF9f44PJ+fr6lip9eHi4XjVWamoqAgIqdz4ghULCiAfrYcSD9ZCSkYMbKfeRnJEDjRDI1QgIIWCjUEChAJSSBKUif1EUeq3brlBIsCm4XZKgUMDgOKVuxJydAlxZZ3JyFwftRyaFwU2F02gE7mZk41Z6Nu7cy0bK/WwkZ+TgbkYOku9nIyUjB3cztOtS7uc/z8qt3AEVHWyVcLBTwsFWCZWtAnZKBexstI+2ec+1j5K8ztbGMJ1t3nZdehuFBBul9jNto1BAmfcZVyrzHvM+0zZKCUqFQv78a1/npVFI8ndAdwzd90OSAIUkaQOPvNfVvZE/EVUMswY3dnZ26NChAyIjIzFo0CAA2gbFkZGRmDJlitF9QkJCEBkZiVdeeUVet2vXLoSEhBhNr1KpoFKpKjrrJnN1tIWro/V0uXXNq5ZKZbWUyTJz1EhIycSNlPu4mZaFm2lZuJWenfeYJT/evpcNtabs/zk52inhrLKBs72N9rHgYq//qAtY7G3yHm21wYu9rUIOZOxtlXlTbjAgICLLYvZqqenTp2Ps2LHo2LEjOnXqhGXLluHevXsYP348AGDMmDHw9/fHggULAAAvv/wyunXrhsWLF6Nfv35Yv349/vnnH6xcudKcl1FjsFpKnxACt+9lI+5OBm4k30d8ciauJ99HfMp93EjORHzKfdxKzy7VMd0dbeHhZAd3Rzu4OdrC1UH76O5oC1dHO7g52BbYZgsXB1s4q2ysY5Z2IqIKYPbgZsSIEbh58yZmz56NhIQEtG3bFjt27JAbDcfFxUGhyB8196GHHsK6devw9ttv480330STJk2wZcsWs49xU1PoGhTXpGopjUYgMS0TV25n4Mrte4jVPd7SPt4zYcwfe1sF/Fwd4O2igqezCl618h+9aqnglffcw8kOtsriR4kmIqLimX2cm6pWaePcWCpdmxtbd8DGSdsVvJhxbv66cAujvzqEpj7O+H1aNyMHtFwajcC1u/dxPikN5xLTcT4xDeeT0nEhKR33c4rpiSMBdVzs4e/ugDquDqjjZg9/N+1zPzd7+Lk6wM3RltU7RETlYDHj3JDlya+Wsuw2N+lZuTgdn4r/rqfgv+upOJeYVmwQo1RICHB3QP3aTqhf2xH1azshMO8xwMMBKhtObklEVF0wuKFScbXAaqnUzBz8dy0F/93QBjL/3UjB5Vv3jA7YZadUoKGXE5r61EITb2c08amFJj7OqOfhyOoiIiILweCGSkXXFfx+jhrZuRrY2VSvP/hCCMTezsDRK3dxJO4ujl65i7OJaUYDGV8Xe7Tyd8EDfq5oUccFTfOCGBsGMUREFo3BDZVKLXtbKCTtjOJ3M7Lh42Jv1vyoNQKnbqTiwMVb+Dv2Lo7G3cWde4a9k+q6O6C1vyta+bviAT9tQONVy3xDBBARUeVhcEOlolRI8KqlQmJqFpJSs6o8uBFC4HxSOg5cuIUDF2/j4KXbBmPu2CkVaF3XFR3qu6N9PXe0r+8G71rmDcKIiKjqMLihUvNxsUdiahYSUzPRGoY9qira3XvZ2Hv+JvacScL+C7dxKz1Lb3stlQ2CG3qgUwMPdKjvgVb+LmzgS0RUgzG4oVLTloKkIDEts1KOL4TAyRupiDqbhD1nb+JY3F0UHLjX3laBBwM9ENKoNh5q5IlWfi5sJ0NERDIGN1RqPi7atioJKRUX3OSoNTh46Ta2/5eA3acSkZSmXzrT3LcWHm3ujW5NvdCunhtLZoiIqEgMbqjU6td2BABcvnWvXMfJylXjrwu3sP1EAnadTkRyRn73cgdbJbo09kSP5t7o3swLfm7mmGWaiIgsEYMbKrWGns4AgEs3Sx/c5Ko12HfhFn4+dh2Rp5OQlpXfGLi2kx16PeCDsAd80blhbdjbsnSGiIhKj8ENlVojb21wc/FmOnLUmhIHtxNC4N9rKdh87Dp++/eG3kSSPi4q9H7AF71b1UGnBh6c/JGIiMqNwQ2VWn0PR7g62CLlfg7+u56CdvXcjaa7eicDW45dx+aY63qlPLWd7DAgyA8DguqgXYA7FAxoiIioAjG4oVJTKCQ8GOiB3acTsedMkl5wk5Gdi+0nErDxyDVEX7otr7e3VaBXS18Mbu+Phxt7cioDIiKqNAxuqEwGBNXB7tOJWHsoDt2aeeHuvRz8fioB204kID2vHY0kAQ81qo0h7eoirJUvnFX8uBERUeXjXxsqkz6t6uAz7ws4n5SOoSui9bbV83DEsA51MbRDXfizlxMREVUxBjdUJnY2CkSMfxCzfz6Jo3F34eFoh4ca10b/Nn7oFOjBdjRERGQ2DG6ozOq6O2L1uAfNnQ0iIiI9bNVJREREVoXBDREREVkVBjdERERkVRjcEBERkVVhcENERERWhcENERERWRUGN0RERGRVGNwQERGRVWFwQ0RERFaFwQ0RERFZFQY3REREZFUY3BAREZFVYXBDREREVoXBDREREVkVG3NnoKoJIQAAqampZs5JNZGdCqTfByQAygxAnQWI+0BqKmAnmTt3REREAPL/buv+jhenxgU3aWlpAICAgAAz56S6m2HuDBARERlIS0uDq6trsWkkYUoIZEU0Gg1u3LiBWrVqQZIqtmQiNTUVAQEBuHr1KlxcXCr02NUBr8/yWfs1Wvv1AdZ/jbw+y1dZ1yiEQFpaGvz8/KBQFN+qpsaV3CgUCtStW7dSz+Hi4mK1H1qA12cNrP0arf36AOu/Rl6f5auMayypxEaHDYqJiIjIqjC4ISIiIqvC4KYCqVQqzJkzByqVytxZqRS8Pstn7ddo7dcHWP818vosX3W4xhrXoJiIiIisG0tuiIiIyKowuCEiIiKrwuCGiIiIrAqDGyIiIrIqDG4qyPLlyxEYGAh7e3sEBwfj8OHD5s5SmSxYsAAPPvggatWqBW9vbwwaNAhnz57VS9O9e3dIkqS3PP/882bKcenNnTvXIP/NmzeXt2dmZmLy5MmoXbs2nJ2dMXToUCQmJpoxx6UTGBhocH2SJGHy5MkALPP+7d27FwMGDICfnx8kScKWLVv0tgshMHv2bNSpUwcODg4IDQ3F+fPn9dLcuXMHo0ePhouLC9zc3DBhwgSkp6dX4VUUrbjry8nJweuvv47WrVvDyckJfn5+GDNmDG7cuKF3DGP3/YMPPqjiKzGupPs3btw4g7z37t1bL011vn9Ayddo7DspSRIWLVokp6nO99CUvw2m/HbGxcWhX79+cHR0hLe3N1599VXk5uZWeH4Z3FSAH3/8EdOnT8ecOXNw9OhRBAUFISwsDElJSebOWqn9+eefmDx5Mg4ePIhdu3YhJycHvXr1wr179/TSTZo0CfHx8fKycOFCM+W4bB544AG9/O/fv1/eNm3aNPz666/YsGED/vzzT9y4cQNDhgwxY25L5++//9a7tl27dgEAnnjiCTmNpd2/e/fuISgoCMuXLze6feHChfjkk0/wxRdf4NChQ3ByckJYWBgyMzPlNKNHj8bJkyexa9cu/Pbbb9i7dy+effbZqrqEYhV3fRkZGTh69ChmzZqFo0ePYtOmTTh79iwef/xxg7Tz58/Xu69Tp06tiuyXqKT7BwC9e/fWy/sPP/ygt7063z+g5GsseG3x8fFYvXo1JEnC0KFD9dJV13toyt+Gkn471Wo1+vXrh+zsbBw4cADffPMN1qxZg9mzZ1d8hgWVW6dOncTkyZPl12q1Wvj5+YkFCxaYMVcVIykpSQAQf/75p7yuW7du4uWXXzZfpsppzpw5IigoyOi25ORkYWtrKzZs2CCvO336tAAgoqOjqyiHFevll18WjRo1EhqNRghh+fcPgNi8ebP8WqPRCF9fX7Fo0SJ5XXJyslCpVOKHH34QQghx6tQpAUD8/fffcprt27cLSZLE9evXqyzvpih8fcYcPnxYABBXrlyR19WvX18sXbq0cjNXAYxd39ixY8XAgQOL3MeS7p8Qpt3DgQMHih49euits5R7KITh3wZTfju3bdsmFAqFSEhIkNOsWLFCuLi4iKysrArNH0tuyik7OxtHjhxBaGiovE6hUCA0NBTR0dFmzFnFSElJAQB4eHjorV+7di08PT3RqlUrhIeHIyMjwxzZK7Pz58/Dz88PDRs2xOjRoxEXFwcAOHLkCHJycvTuZ/PmzVGvXj2LvJ/Z2dn4/vvv8cwzz+hNFGvp96+gy5cvIyEhQe+eubq6Ijg4WL5n0dHRcHNzQ8eOHeU0oaGhUCgUOHToUJXnubxSUlIgSRLc3Nz01n/wwQeoXbs22rVrh0WLFlVKcX9liYqKgre3N5o1a4YXXngBt2/flrdZ2/1LTEzE1q1bMWHCBINtlnIPC/9tMOW3Mzo6Gq1bt4aPj4+cJiwsDKmpqTh58mSF5q/GTZxZ0W7dugW1Wq13swDAx8cHZ86cMVOuKoZGo8Err7yCLl26oFWrVvL6J598EvXr14efnx/+/fdfvP766zh79iw2bdpkxtyaLjg4GGvWrEGzZs0QHx+PefPmoWvXrvjvv/+QkJAAOzs7gz8aPj4+SEhIME+Gy2HLli1ITk7GuHHj5HWWfv8K090XY99B3baEhAR4e3vrbbexsYGHh4fF3dfMzEy8/vrrGDVqlN6khC+99BLat28PDw8PHDhwAOHh4YiPj8eSJUvMmFvT9O7dG0OGDEGDBg1w8eJFvPnmm+jTpw+io6OhVCqt6v4BwDfffINatWoZVHdbyj009rfBlN/OhIQEo99T3baKxOCGijR58mT8999/eu1RAOjVc7du3Rp16tRBz549cfHiRTRq1Kiqs1lqffr0kZ+3adMGwcHBqF+/Pn766Sc4ODiYMWcV7+uvv0afPn3g5+cnr7P0+1eT5eTkYPjw4RBCYMWKFXrbpk+fLj9v06YN7Ozs8Nxzz2HBggXVfqj/kSNHys9bt26NNm3aoFGjRoiKikLPnj3NmLPKsXr1aowePRr29vZ66y3lHhb1t6E6YbVUOXl6ekKpVBq0CE9MTISvr6+ZclV+U6ZMwW+//YY9e/agbt26xaYNDg4GAFy4cKEqslbh3Nzc0LRpU1y4cAG+vr7Izs5GcnKyXhpLvJ9XrlzB7t27MXHixGLTWfr9092X4r6Dvr6+Bg38c3NzcefOHYu5r7rA5sqVK9i1a5deqY0xwcHByM3NRWxsbNVksAI1bNgQnp6e8mfSGu6fzr59+3D27NkSv5dA9byHRf1tMOW309fX1+j3VLetIjG4KSc7Ozt06NABkZGR8jqNRoPIyEiEhISYMWdlI4TAlClTsHnzZvzxxx9o0KBBifvExMQAAOrUqVPJuasc6enpuHjxIurUqYMOHTrA1tZW736ePXsWcXFxFnc/IyIi4O3tjX79+hWbztLvX4MGDeDr66t3z1JTU3Ho0CH5noWEhCA5ORlHjhyR0/zxxx/QaDRycFed6QKb8+fPY/fu3ahdu3aJ+8TExEChUBhU51iCa9eu4fbt2/Jn0tLvX0Fff/01OnTogKCgoBLTVqd7WNLfBlN+O0NCQnDixAm9QFUXqLds2bLCM0zltH79eqFSqcSaNWvEqVOnxLPPPivc3Nz0WoRbihdeeEG4urqKqKgoER8fLy8ZGRlCCCEuXLgg5s+fL/755x9x+fJl8fPPP4uGDRuKRx55xMw5N92MGTNEVFSUuHz5svjrr79EaGio8PT0FElJSUIIIZ5//nlRr1498ccff4h//vlHhISEiJCQEDPnunTUarWoV6+eeP311/XWW+r9S0tLE8eOHRPHjh0TAMSSJUvEsWPH5N5CH3zwgXBzcxM///yz+Pfff8XAgQNFgwYNxP379+Vj9O7dW7Rr104cOnRI7N+/XzRp0kSMGjXKXJekp7jry87OFo8//rioW7euiImJ0fte6nqYHDhwQCxdulTExMSIixcviu+//154eXmJMWPGmPnKtIq7vrS0NDFz5kwRHR0tLl++LHbv3i3at28vmjRpIjIzM+VjVOf7J0TJn1EhhEhJSRGOjo5ixYoVBvtX93tY0t8GIUr+7czNzRWtWrUSvXr1EjExMWLHjh3Cy8tLhIeHV3h+GdxUkE8//VTUq1dP2NnZiU6dOomDBw+aO0tlAsDoEhERIYQQIi4uTjzyyCPCw8NDqFQq0bhxY/Hqq6+KlJQU82a8FEaMGCHq1Kkj7OzshL+/vxgxYoS4cOGCvP3+/fvixRdfFO7u7sLR0VEMHjxYxMfHmzHHpbdz504BQJw9e1ZvvaXevz179hj9XI4dO1YIoe0OPmvWLOHj4yNUKpXo2bOnwbXfvn1bjBo1Sjg7OwsXFxcxfvx4kZaWZoarMVTc9V2+fLnI7+WePXuEEEIcOXJEBAcHC1dXV2Fvby9atGgh3n//fb3gwJyKu76MjAzRq1cv4eXlJWxtbUX9+vXFpEmTDP45rM73T4iSP6NCCPHll18KBwcHkZycbLB/db+HJf1tEMK0387Y2FjRp08f4eDgIDw9PcWMGTNETk5OhedXyss0ERERkVVgmxsiIiKyKgxuiIiIyKowuCEiIiKrwuCGiIiIrAqDGyIiIrIqDG6IiIjIqjC4ISIiIqvC4IaILEJUVBQkSTKYu4aIqDAO4kdE1VL37t3Rtm1bLFu2DACQnZ2NO3fuwMfHB5IkmTdzRFSt2Zg7A0REprCzs7O4GaCJyDxYLUVE1c64cePw559/4uOPP4YkSZAkCWvWrNGrllqzZg3c3Nzw22+/oVmzZnB0dMSwYcOQkZGBb775BoGBgXB3d8dLL70EtVotHzsrKwszZ86Ev78/nJycEBwcjKioKPNcKBFVCpbcEFG18/HHH+PcuXNo1aoV5s+fDwA4efKkQbqMjAx88sknWL9+PdLS0jBkyBAMHjwYbm5u2LZtGy5duoShQ4eiS5cuGDFiBABgypQpOHXqFNavXw8/Pz9s3rwZvXv3xokTJ9CkSZMqvU4iqhwMboio2nF1dYWdnR0cHR3lqqgzZ84YpMvJycGKFSvQqFEjAMCwYcPw3XffITExEc7OzmjZsiUeffRR7NmzByNGjEBcXBwiIiIQFxcHPz8/AMDMmTOxY8cORERE4P3336+6iySiSsPghogslqOjoxzYAICPjw8CAwPh7Oysty4pKQkAcOLECajVajRt2lTvOFlZWahdu3bVZJqIKh2DGyKyWLa2tnqvJUkyuk6j0QAA0tPToVQqceTIESiVSr10BQMiIrJsDG6IqFqys7PTawhcEdq1awe1Wo2kpCR07dq1Qo9NRNUHe0sRUbUUGBiIQ4cOITY2Frdu3ZJLX8qjadOmGD16NMaMGYNNmzbh8uXLOHz4MBYsWICtW7dWQK6JqDpgcENE1dLMmTOhVCrRsmVLeHl5IS4urkKOGxERgTFjxmDGjBlo1qwZBg0ahL///hv16tWrkOMTkflxhGIiIiKyKiy5ISIiIqvC4IaIiIisCoMbIiIisioMboiIiMiqMLghIiIiq8LghoiIiKwKgxsiIiKyKgxuiIiIyKowuCEiIiKrwuCGiIiIrAqDGyIiIrIqDG6IiIjIqvwf9ibEVjcTyC8AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = brainmass.viz.plot_timeseries(\n",
    "    res[\"V\"], ts=res[\"ts\"], labels=[\"V (activator)\"]\n",
    ")\n",
    "brainmass.viz.plot_timeseries(res[\"w\"], ts=res[\"ts\"], labels=[\"w (recovery)\"], ax=ax)\n",
    "ax.axvspan(20, 22, color=\"orange\", alpha=0.3, label=\"stimulus\")\n",
    "ax.legend()\n",
    "ax.set_title(\"FitzHugh–Nagumo: one spike triggered by a brief pulse\");"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "md-transient01",
   "metadata": {},
   "source": [
    "## A note on transients\n",
    "\n",
    "Models often start away from their natural operating point and need a few milliseconds to\n",
    "settle. That initial **transient** is usually not interesting, so the `Simulator` can discard\n",
    "it for you: pass `transient=<duration>` and the first stretch is dropped from the returned\n",
    "arrays (the run itself is unchanged — only the *output* is trimmed)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "transient01",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T06:45:18.161561Z",
     "iopub.status.busy": "2026-06-19T06:45:18.161367Z",
     "iopub.status.idle": "2026-06-19T06:45:18.341351Z",
     "shell.execute_reply": "2026-06-19T06:45:18.339846Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "without transient discard: 2000 recorded steps\n",
      "with 50 ms discarded:     1500 recorded steps\n",
      "first recorded time now starts at 50.1 ms\n"
     ]
    }
   ],
   "source": [
    "res_full = sim.run(200.0 * u.ms, inputs=stimulus, monitors=[\"V\"])\n",
    "res_trim = sim.run(200.0 * u.ms, inputs=stimulus, monitors=[\"V\"], transient=50.0 * u.ms)\n",
    "\n",
    "print(\"without transient discard:\", res_full[\"V\"].shape[0], \"recorded steps\")\n",
    "print(\"with 50 ms discarded:    \", res_trim[\"V\"].shape[0], \"recorded steps\")\n",
    "print(\"first recorded time now starts at\", res_trim[\"ts\"][0])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "md-vary01",
   "metadata": {},
   "source": [
    "## 4. Change one parameter and see the effect\n",
    "\n",
    "The point of a *model* is that its parameters control its behaviour. The recovery time\n",
    "constant `tau` sets how quickly the slow variable `w` chases the activator. Make `tau` larger\n",
    "and recovery is sluggish, so the spike is broader; make it smaller and the unit snaps back\n",
    "faster.\n",
    "\n",
    "We build the *same* model three times with different `tau`, run each, and overlay the\n",
    "activator traces. Constructing-running-plotting is so concise that a parameter sweep is just\n",
    "a loop over model builds."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "vary01",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T06:45:18.343823Z",
     "iopub.status.busy": "2026-06-19T06:45:18.343582Z",
     "iopub.status.idle": "2026-06-19T06:45:18.701697Z",
     "shell.execute_reply": "2026-06-19T06:45:18.700843Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAFjCAYAAAAuMYOpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAbiNJREFUeJzt3Xl8E3X+P/DX5E56UnpCS1tuCsgp/VXl0nItoihqBVZOURf69aiwLh4g6IIngoqCroCCLAjiCYJyK3RBOVxRQUCgLNBCgd5trvn8/kgyNDS9aNrQ9vV8PEKSyWcm70yH9tVPP/MZSQghQERERERUD6l8XQARERER0bVimCUiIiKieothloiIiIjqLYZZIiIiIqq3GGaJiIiIqN5imCUiIiKieothloiIiIjqLYZZIiIiIqq3GGaJiIiIqN5imCWiGlu2bBkkScLJkyd9XQo1cOPGjYO/v7+vy6hz/fr1Q6dOnXxdRrV4+r4QFxeH22+/3XdFUYPEMEsNnusbquum0WjQvHlzjBs3DmfOnPF1efXKnDlz8Pnnn/u6jHptw4YNeP755+vkvXbv3o3nn38eOTk5VWq/cuVKzJ8/v1ZrovKdPXsWzz//PA4ePOjrUojqFYZZajRmz56N5cuXY9GiRRgyZAhWrFiBvn37oqSkxNel1RvlhdkHHngAxcXFiI2Nrfui6pkNGzZg1qxZdfJeu3fvxqxZsxhm64mzZ89i1qxZDSbM8vsC1RWNrwsgqitDhgxBz549AQAPPvggQkND8fLLL+PLL7/Efffd5+Pqapcsy7BYLDAYDLWyfbVaDbVaXSvbJqL6id8XqK6wZ5Yard69ewMAjh8/7rb88OHDuOeeexASEgKDwYCePXviyy+/LLN+Tk4OnnjiCcTFxUGv1yM6OhpjxoxBdna20ub8+fOYOHEiIiIiYDAY0KVLF3z44YfK61arFSEhIRg/fnyZ7efl5cFgMGDq1KnKMrPZjJkzZ6J169bQ6/WIiYnB3//+d5jNZrd1JUlCamoqPv74Y3Ts2BF6vR7ffPMN4uLicOedd5Z5r5KSEgQFBeHhhx8ud39JkoTCwkJ8+OGHypCNcePGAah4bNz27dvRs2dPGI1GdO7cGdu3bwcArFu3Dp07d4bBYECPHj1w4MCBMu9Z1a+FJ7IsY8GCBcp7hIWFYfDgwfjpp5+UNjabDS+88AJatWoFvV6PuLg4PP3002X2p+uz/PDDD+jVqxcMBgNatmyJjz76yK2d1WrFrFmz0KZNGxgMBjRt2hS33HILvvvuOwCO8Z4LFy5U9qfr5vLaa6/hpptuQtOmTWE0GtGjRw+sXbvW49ciNTUVn3/+OTp16gS9Xo+OHTti48aNSpvnn38e06ZNAwDEx8cr71XeuOZ+/fph/fr1OHXqlNI2Li4OAGCxWDBjxgz06NEDQUFB8PPzQ+/evbFt2za3bWzfvh2SJClfY5eTJ09CkiQsW7bM43tXdf+VdubMGQwfPhz+/v4ICwvD1KlTYbfb3dpUd39+/PHHaNeunXJM7ty50+P7TpgwAREREcp+X7JkSZl2b731Fjp27AiTyYQmTZqgZ8+eWLlyZbmfffv27bjxxhsBAOPHj1e+Blfvs99++w39+/eHyWRC8+bN8corr5TZVlW/T3hy9OhRjBgxApGRkTAYDIiOjsb999+P3Nzcau+vqo6l//DDD6HRaJTjFQD27NmDwYMHIygoCCaTCX379sWuXbsqrZ8aKUHUwC1dulQAED/++KPb8rffflsAEO+++66y7NChQyIoKEgkJCSIl19+Wbz99tuiT58+QpIksW7dOqVdfn6+6NSpk1Cr1WLSpEni3XffFS+88IK48cYbxYEDB4QQQhQVFYkOHToIrVYrnnjiCfHmm2+K3r17CwBi/vz5yrYmTJgggoODhdlsdqvvww8/dKvbbreLgQMHCpPJJB5//HGxePFikZqaKjQajbjzzjvd1gUgOnToIMLCwsSsWbPEwoULxYEDB8QzzzwjtFqtuHjxolv7Tz75RAAQO3fuLHc/Ll++XOj1etG7d2+xfPlysXz5crF79263fXzixAmlfWxsrGjXrp2IiooSzz//vHjjjTdE8+bNhb+/v1ixYoVo0aKFeOmll8RLL70kgoKCROvWrYXdbq/216I848aNEwDEkCFDxPz588Vrr70m7rzzTvHWW28pbcaOHSsAiHvuuUcsXLhQjBkzRgAQw4cPd9uW67NERESIp59+Wrz99tuie/fuQpIkcejQIaXd008/LSRJEpMmTRLvv/++eP3118XIkSPFSy+9JIQQYvfu3WLAgAECgLIPly9frqwfHR0tJk+eLN5++20xb9480atXLwFAfP311271ABBdunQRUVFR4oUXXhDz588XLVu2FCaTSWRnZwshhPj555/FyJEjBQDxxhtvKO9VUFDgcX99++23omvXriI0NFRp+9lnnwkhhLhw4YKIiooSaWlp4t133xWvvPKKaNeundBqtcrxLoQQ27ZtEwDEtm3b3LZ94sQJAUAsXbq0wq9ZZfvP9TUzGAyiY8eOYsKECeLdd98VI0aMEADEO++847a96uzPTp06idDQUDF79mzx8ssvi9jYWGE0GsUvv/yitMvMzBTR0dEiJiZGzJ49W7z77rvijjvuUPaxy3vvvaccV4sXLxYLFiwQEydOFI8++mi5nz0zM1PMnj1bABAPPfSQ8jU4fvy4EEKIvn37imbNmomYmBjx2GOPiXfeeUfceuutAoDYsGGDsp3qfJ+4mtlsFvHx8aJZs2bixRdfFP/617/ErFmzxI033ihOnjxZ7f1V3veFoUOHKs8XL14sJEkSzzzzjLJsy5YtQqfTiaSkJPH666+LN954Q9xwww1Cp9OJPXv2VPgZqHFimKUGz/UNdfPmzeLChQvi9OnTYu3atSIsLEzo9Xpx+vRppe1tt90mOnfuLEpKSpRlsiyLm266SbRp00ZZNmPGDAHAY6iSZVkIIcT8+fMFALFixQrlNYvFIpKSkoS/v7/Iy8sTQgixadMmAUB89dVXbtv5y1/+Ilq2bKk8X758uVCpVOL77793a7do0SIBQOzatUtZBkCoVCrx66+/urU9cuRImQAvhBB33HGHiIuLU2ovj5+fnxg7dmyZ5eX90AKgBN7Sn9VoNIpTp04pyxcvXlwmBFX1a+HJ1q1bBQCP4cH1GQ8ePCgAiAcffNDt9alTpwoAYuvWrWU+S+mwf/78eaHX68WTTz6pLOvSpYvbD2pPpkyZIsrrRygqKnJ7brFYRKdOncStt97qthyA0Ol04tixY8qyn3/+WQBwC+uvvvpqma9LRYYOHSpiY2PLLLfZbGV+2bp8+bKIiIgQEyZMUJbVNMxWZf+5fgGZPXu22/Ju3bqJHj16uC2rzv4EIH766Sdl2alTp4TBYBB33XWXsmzixIkiKipK+YXB5f777xdBQUHK+915552iY8eOFX4OT3788cdy91Pfvn0FAPHRRx8py8xms4iMjBQjRoxQllXn+8TVDhw4IACINWvWVFhnVfdXZWF2wYIFQpIk8cILLyivy7Is2rRpIwYNGuT2/aioqEjEx8eLAQMGVFgbNU4cZkCNRnJyMsLCwhATE4N77rkHfn5++PLLLxEdHQ0AuHTpErZu3Yr77rsP+fn5yM7ORnZ2Ni5evIhBgwbh6NGjyuwHn376Kbp06YK77rqrzPu4/my8YcMGREZGYuTIkcprWq0Wjz76KAoKCrBjxw4AwK233orQ0FCsXr1aaXf58mV89913SElJUZatWbMGHTp0QPv27ZXasrOzceuttwJAmT/59u3bFwkJCW7L2rZti8TERHz88cfKskuXLuGbb77B6NGj3f7k7Q0JCQlISkpSnicmJgJwfOYWLVqUWf7nn38qNVX1a+HJp59+CkmSMHPmzDKvlf76AEBaWprb608++SQAYP369WU+i2toCgCEhYWhXbt2Ss0AEBwcjF9//RVHjx4tt7aKGI1G5fHly5eRm5uL3r17Y//+/WXaJicno1WrVsrzG264AYGBgW71eItarYZOpwPgGL5x6dIl2Gw29OzZ02Nt16o6+++RRx5xe967d+8yn706+zMpKQk9evRQnrdo0QJ33nknNm3aBLvdDiEEPv30UwwbNgxCCLf/g4MGDUJubq6y3eDgYPzvf//Djz/+WK3PXxl/f3/89a9/VZ7rdDr06tXL7XNX9/tEaUFBQQCATZs2oaioqMJaKttflXnllVfw2GOP4eWXX8azzz6rLD948CCOHj2KUaNG4eLFi0r9hYWFuO2227Bz507Islzp9qlx4Qlg1GgsXLgQbdu2RW5uLpYsWYKdO3dCr9crrx87dgxCCDz33HN47rnnPG7j/PnzaN68OY4fP44RI0ZU+H6nTp1CmzZtoFK5/87YoUMH5XUA0Gg0GDFiBFauXAmz2Qy9Xo9169bBarW6hdmjR4/i999/R1hYWLm1lRYfH++x3ZgxY5CamopTp04hNjYWa9asgdVqxQMPPFDh57kWpQMrcOWHZUxMjMflly9fBlC9r4Unx48fR7NmzRASElJubadOnYJKpULr1q3dlkdGRiI4OFj5+pT3WQCgSZMmSs2AY8aMO++8E23btkWnTp0wePBgPPDAA7jhhhvKraO0r7/+Gi+++CIOHjzoNr7R0y8ZVanHmz788EO8/vrrOHz4MKxWq7K8vOPsWlR1/7nGQJfm6bNXZ3+2adOmzLK2bduiqKgIFy5cgEqlQk5ODt577z289957Hut3/R986qmnsHnzZvTq1QutW7fGwIEDMWrUKNx8881V2xHliI6OLlN7kyZN8N///ld5Xt3vE6XFx8cjLS0N8+bNw8cff4zevXvjjjvuwF//+lfl/6hLZfsrMjKy3PfZsWMH1q9fj6eeesptnKyrfgAYO3Zsuevn5uaiSZMm5b5OjQ/DLDUavXr1UmYzGD58OG655RaMGjUKR44cgb+/v/Lb/tSpUzFo0CCP27g6+HjL/fffj8WLF+Obb77B8OHD8cknn6B9+/bo0qWL0kaWZXTu3Bnz5s3zuI2rA2LpXqmr3+uJJ57Axx9/jKeffhorVqxAz5490a5dO+99IKfyzmQub7kQAgDq9GtR1d7oymoGgD59+uD48eP44osv8O233+Jf//oX3njjDSxatAgPPvhghdv//vvvcccdd6BPnz545513EBUVBa1Wi6VLl3o8cagq9XjLihUrMG7cOAwfPhzTpk1DeHg41Go15s6d63YCZXn7sio9dUDV919VzpCv7v6sjOuY/Otf/1pu0HKF7g4dOuDIkSP4+uuvsXHjRnz66ad45513MGPGjBpNy1aVr3l1v09c7fXXX8e4ceOUr8Gjjz6KuXPn4j//+Y/yV6ya6tixI3JycrB8+XI8/PDDbr8Qufbzq6++iq5du3pcvzFeNIMqxjBLjZLrB3H//v3x9ttv4x//+AdatmwJwDEUIDk5ucL1W7VqhUOHDlXYJjY2Fv/9738hy7Jb7+zhw4eV11369OmDqKgorF69Grfccgu2bt2KZ555psx7/vzzz7jttttqNBwgJCQEQ4cOxccff4zRo0dj165dVZ5b1NvDEMpTna+FJ61atcKmTZtw6dKlcntnY2NjIcsyjh49qvSWA0BWVhZycnKueW5M1+wU48ePR0FBAfr06YPnn39eCWPl7cNPP/0UBoMBmzZtcvuLwdKlS6+pjoreq7rt165di5YtW2LdunVuba4exuHqLbt6Xture7krUtn+q6rq7k9PQxv++OMPmEwmpZczICAAdru9Ssekn58fUlJSkJKSAovFgrvvvhv//Oc/MX369HKnyPPG/y9vfJ/o3LkzOnfujGeffRa7d+/GzTffjEWLFuHFF19U2lRlf5UnNDQUa9euxS233ILbbrsNP/zwA5o1a6bUDwCBgYHX9H+fGieOmaVGq1+/fujVqxfmz5+PkpIShIeHo1+/fli8eDHOnTtXpv2FCxeUxyNGjMDPP/+Mzz77rEw7Vy/JX/7yF2RmZrqNhbXZbHjrrbfg7++Pvn37KstVKhXuuecefPXVV1i+fDlsNpvbEAMAuO+++3DmzBm8//77Zd6zuLgYhYWFVf7sDzzwAH777TdMmzYNarUa999/f5XW8/Pzq/IE/DVRna+FJyNGjIAQwmMvWOmvD4AyQd7VozV06NBq133x4kW35/7+/mjdurXbn7j9/PwAlA18arUakiS59WKePHmyRldcK++9Kmpfegqm0rUB7j2Ae/bsQXp6ulu72NhYqNXqMlM0vfPOO1V6/6rsv6qq7v5MT093G0t7+vRpfPHFFxg4cKAyX+qIESPw6aefevxFtvQxefXn0Ol0SEhIgBDCbYjG1ar79fKkJt8n8vLyYLPZ3JZ17twZKpWqzNegsv1VmejoaGzevBnFxcUYMGCAss969OiBVq1a4bXXXkNBQUGZ9Sr7v0+NE3tmqVGbNm0a7r33XixbtgyPPPIIFi5ciFtuuQWdO3fGpEmT0LJlS2RlZSE9PR3/+9//8PPPPyvrrV27Fvfeey8mTJiAHj164NKlS/jyyy+xaNEidOnSBQ899BAWL16McePGYd++fYiLi8PatWuVntCAgAC3WlJSUvDWW29h5syZ6Ny5s1tvIeAIoJ988gkeeeQRbNu2DTfffDPsdjsOHz6MTz75BJs2bVKGUVRm6NChaNq0KdasWYMhQ4YgPDy8Suv16NEDmzdvxrx589CsWTPEx8crJ295W1W/Fp70798fDzzwAN58800cPXoUgwcPhizL+P7779G/f3+kpqaiS5cuGDt2LN577z3k5OSgb9++2Lt3Lz788EMMHz4c/fv3r3bNCQkJ6NevH3r06IGQkBD89NNPWLt2LVJTU5U2rpNmHn30UQwaNEj5ZWLo0KGYN28eBg8ejFGjRuH8+fNYuHAhWrdu7TYmsjpc7/XMM8/g/vvvh1arxbBhw5TQ5Kn96tWrkZaWhhtvvBH+/v4YNmwYbr/9dqxbtw533XUXhg4dihMnTmDRokVISEhwCxxBQUG499578dZbb0GSJLRq1Qpff/11heM0q7v/qqq6+7NTp04YNGgQHn30Uej1eiWAl/6F6KWXXsK2bduQmJiISZMmISEhAZcuXcL+/fuxefNmXLp0CQAwcOBAREZG4uabb0ZERAR+//13vP322xg6dGiZ//eltWrVCsHBwVi0aBECAgLg5+eHxMTEao1Lrsn3ia1btyI1NRX33nsv2rZtC5vNhuXLlytBvrr7qzKtW7fGt99+i379+mHQoEHYunUrAgMD8a9//QtDhgxBx44dMX78eDRv3hxnzpzBtm3bEBgYiK+++qrK70GNhE/mUCCqQ+XNMyuEY07GVq1aiVatWgmbzSaEEOL48eNizJgxIjIyUmi1WtG8eXNx++23i7Vr17qte/HiRZGamiqaN28udDqdiI6OFmPHjnWbticrK0uMHz9ehIaGCp1OJzp37lzu9ESyLIuYmBgBQLz44ose21gsFvHyyy+Ljh07Cr1eL5o0aSJ69OghZs2aJXJzc5V2AMSUKVMq3C+TJ08WAMTKlSsrbFfa4cOHRZ8+fYTRaBQAlGm6qjKfZEW1uaZuevXVV92WV/Vr4YnNZhOvvvqqaN++vdDpdCIsLEwMGTJE7Nu3T2ljtVrFrFmzRHx8vNBqtSImJkZMnz7dbTqwij5L3759Rd++fZXnL774oujVq5cIDg4WRqNRtG/fXvzzn/8UFovFra7/+7//E2FhYUKSJLdpuj744APRpk0bodfrRfv27cXSpUvFzJkzy0zlVd7XNzY2tszUaS+88IJo3ry5UKlUlU7TVVBQIEaNGiWCg4MFAGWaLlmWxZw5c0RsbKzQ6/WiW7du4uuvvxZjx44tM5XXhQsXxIgRI4TJZBJNmjQRDz/8sDh06FCVpuaqyv4bO3as8PPzK7Oup/1U3f25YsUKpX23bt3KTDEmhOP/9JQpU0RMTIzQarUiMjJS3HbbbeK9995T2ixevFj06dNHNG3aVOj1etGqVSsxbdo0t/+j5fniiy9EQkKC0Gg0bvusb9++Hqf78vQ1qOr3iav9+eefYsKECaJVq1bCYDCIkJAQ0b9/f7F58+Zr2l9V/b6wZ88eERAQIPr06aNMb3bgwAFx9913K/swNjZW3HfffWLLli2V7EFqjCQhauFsASK67j3xxBP44IMPkJmZCZPJ5OtyiHxGkiRMmTIFb7/9tq9LqRe4v+h6wzGzRI1QSUkJVqxYgREjRjDIEhFRvcYxs0SNyPnz57F582asXbsWFy9exGOPPebrkoiIiGqEYZaoEfntt98wevRohIeH48033yx3HkciIqL6gmNmiYiIiKje4phZIiIiIqq3GGaJiIiIqN5qdGNmZVnG2bNnERAQUGeX5iQiIiKiqhNCID8/H82aNXO7JLwnjS7Mnj17FjExMb4ug4iIiIgqcfr0aURHR1fYptGFWdelBE+fPo3AwEAfV0NEREREV8vLy0NMTEyFl4B2aXRh1jW0IDAwkGGWiIiI6DpWlSGhPAGMiIiIiOothlkiIiIiqrcYZomIiIio3mp0Y2aJiIio7tntdlitVl+XQdcRnU5X6bRbVcEwS0RERLVGCIHMzEzk5OT4uhS6zqhUKsTHx0On09VoOwyzREREVGtcQTY8PBwmk4kXLCIAVy5ide7cObRo0aJGxwXDLBEREdUKu92uBNmmTZv6uhy6zoSFheHs2bOw2WzQarXXvB2eAEZERES1wjVG1mQy+bgSuh65hhfY7fYabYc9s+R1eZY8rDmyBnq1HqM7jOaflIiIGjn+HCBPvHVcMMySVwkhMPnbh/DzxV8BAF3Du6JTaCcfV0VEREQNFYcZkFf9ev6/SpAFgPysQz6shoiIiBo6hlnyqr2/r3V7biu+5KNKiIiIrl2/fv3w+OOP+7qMKjl37hxGjRqFtm3bQqVSlVv3mjVr0L59exgMBnTu3BkbNmyo20JrCcMsedV//7ff7XlmboGPKiEiImoczGYzwsLC8Oyzz6JLly4e2+zevRsjR47ExIkTceDAAQwfPhzDhw/HoUP1/y+oPg2zO3fuxLBhw9CsWTNIkoTPP/+8wvbr1q3DgAEDEBYWhsDAQCQlJWHTpk11UyxVSaY52+15kdnso0qIiIiuzbhx47Bjxw4sWLAAkiRBkiScPHkSdrsdEydORHx8PIxGI9q1a4cFCxa4reupR3f48OEYN25crdUbFxeHBQsWYMyYMQgKCvLYZsGCBRg8eDCmTZuGDh064IUXXkD37t3x9ttvl7vd559/Hl27dsWSJUvQokUL+Pv7Y/LkybDb7XjllVcQGRmJ8PBw/POf/1TWEULg+eefR4sWLaDX69GsWTM8+uijXv/Mpfn0BLDCwkJ06dIFEyZMwN13311p+507d2LAgAGYM2cOgoODsXTpUgwbNgx79uxBt27d6qBiqkyOKHZ7bpN56UIiIrpCCIFia82mYrpWRq26SmfQL1iwAH/88Qc6deqE2bNnA3DMiSrLMqKjo7FmzRo0bdoUu3fvxkMPPYSoqCjcd99911zX999/jyFDhlTYZvHixRg9evQ1v0d6ejrS0tLclg0aNKjSjsTjx4/jm2++wcaNG3H8+HHcc889+PPPP9G2bVvs2LEDu3fvxoQJE5CcnIzExER8+umneOONN7Bq1Sp07NgRmZmZ+Pnnn6+57qrwaZgdMmRIpV+80ubPn+/2fM6cOfjiiy/w1VdfMcxeJwpUMgAJITY7LmnUDLNEROSm2GpHwgzf/FX1t9mDYNJVHn2CgoKg0+lgMpkQGRmpLFer1Zg1a5byPD4+Hunp6fjkk09qFGZ79uyJgwcPVtgmIiLimrcPOK7EdvU2IiIikJmZWeF6sixjyZIlCAgIQEJCAvr3748jR45gw4YNUKlUaNeuHV5++WVs27YNiYmJyMjIQGRkJJKTk6HVatGiRQv06tWrRrVXpl5PzSXLMvLz8xESElJuG7PZDHOpP3Xn5eXVRWmNkixk5DsHrgTbgUsawGa3+bYoIiIiL1q4cCGWLFmCjIwMFBcXw2KxoGvXrjXaptFoROvWrb1ToJfFxcUhICBAeR4REQG1Wg2VSuW27Pz58wCAe++9F/Pnz0fLli0xePBg/OUvf8GwYcOg0dRe5KzXYfa1115DQUFBhb8NzZ071+23KKo9OYUXITv/fOMvawAI2NkzS0REpRi1avw2e5DP3rsmVq1ahalTp+L1119HUlISAgIC8Oqrr2LPnj1KG5VKBSGE23quK6GVpy6GGURGRiIrK8ttWVZWllvPsydXX2ZWkiSPy2RZBgDExMTgyJEj2Lx5M7777jtMnjwZr776Knbs2FGjS9ZWpN6G2ZUrV2LWrFn44osvEB4eXm676dOnu40RycvLQ0xMTF2U2OhkZZ8GAOhkAQ10ACywyeyZJSKiKyRJqtKf+n1Np9OVuczqrl27cNNNN2Hy5MnKsuPHj7u1CQsLw7lz55Tndrsdhw4dQv/+/ct9r7oYZpCUlIQtW7a4nZz23XffISkpqUbb9cRoNGLYsGEYNmwYpkyZgvbt2+OXX35B9+7dvf5eQD0Ns6tWrcKDDz6INWvWIDk5ucK2er0eer2+jipr3PKKcgAAeiGgck6UITPMEhFRPRQXF4c9e/bg5MmT8Pf3R0hICNq0aYOPPvoImzZtQnx8PJYvX44ff/wR8fHxynq33nor0tLSsH79erRq1Qrz5s1DTk5Ohe/ljWEGrjBcUFCACxcu4ODBg9DpdEhISAAAPPbYY+jbty9ef/11DB06FKtWrcJPP/2E9957r0bve7Vly5bBbrcjMTERJpMJK1asgNFoRGxsrFffp7R6N8/sv//9b4wfPx7//ve/MXToUF+XQ6UUKmEWUMEx3IA9s0REVB9NnToVarUaCQkJCAsLQ0ZGBh5++GHcfffdSElJQWJiIi5evOjWSwsAEyZMwNixYzFmzBj07dsXLVu2rLBX1lu6deuGbt26Yd++fVi5ciW6deuGv/zlL8rrN910E1auXIn33nsPXbp0wdq1a/H555+jUyfvXnI+ODgY77//Pm6++WbccMMN2Lx5M7766is0bdrUq+9TmiSuHthRhwoKCnDs2DEAji/CvHnz0L9/f4SEhKBFixaYPn06zpw5g48++giAY2jB2LFjsWDBArepvIxGY7nzql0tLy8PQUFByM3NRWBgoPc/VCP21a5lePrY62hmldHCHoD/GAoxUtsDT49a5uvSiIjIB0pKSnDixAnEx8fDYDD4uhy6zlR0fFQnr/m0Z/ann35SfpMAgLS0NHTr1g0zZswA4Lg8W0ZGhtL+vffeg81mw5QpUxAVFaXcHnvsMZ/UT+4KS/IBAFohKcMM7II9s0RERFR7fDpmtl+/fmXO+Ctt2bJlbs+3b99euwVRjZRYCgEAOrcw65uJsYmIiKhxqHdjZun6VWwpAADooOIJYERERFQnGGbJa8zWIgCARqjYM0tERER1gmGWvKbE5gizWqihkhhmiYiIqPYxzJLXmG3FAAAdNOyZJSIiojrBMEteY5FLAAAaaKCWHJcMlBlmiYiIqBYxzJLXWO1mAIBW0kEFV5iVfVkSERERNXAMs+Q1VtkRZnUqLVTOnlk72DNLREREtcen88xSw2IRFgCOnlnBnlkiIiKqA+yZJa+xCisAQK/WXxkzC4ZZIiKqf/r164fHH3/c12VUybp16zBgwACEhYUhMDAQSUlJ2LRpU5l2CxcuRFxcHAwGAxITE7F3714fVOt9DLPkNTbnpWs1av2VYQbsmSUiIqpVO3fuxIABA7Bhwwbs27cP/fv3x7Bhw3DgwAGlzerVq5GWloaZM2di//796NKlCwYNGoTz58/7sHLvYJglr3HNXKBW6aGSHCNY2DNLRET1zbhx47Bjxw4sWLAAkiRBkiScPHkSdrsdEydORHx8PIxGI9q1a4cFCxa4reupR3f48OEYN25crdU7f/58/P3vf8eNN96INm3aYM6cOWjTpg2++uorpc28efMwadIkjB8/HgkJCVi0aBFMJhOWLFlS7nbHjRuH4cOHY86cOYiIiEBwcDBmz54Nm82GadOmISQkBNHR0Vi6dKmyjsViQWpqKqKiomAwGBAbG4u5c+fW2mcHOGaWvEiGAABoVFem5uIJYERE5EYIwHnFyDqnNQGSVGmzBQsW4I8//kCnTp0we/ZsAEBYWBhkWUZ0dDTWrFmDpk2bYvfu3XjooYcQFRWF++6775rL+v777zFkyJAK2yxevBijR4+u0vZkWUZ+fj5CQkIAOALmvn37MH36dKWNSqVCcnIy0tPTK9zW1q1bER0djZ07d2LXrl2YOHEidu/ejT59+mDPnj1YvXo1Hn74YQwYMADR0dF488038eWXX+KTTz5BixYtcPr0aZw+fbpKdV8rhlnyGrvk6IVVqzSOnllxJeASEREBcATZOc18895PnwV0fpU2CwoKgk6ng8lkQmRkpLJcrVZj1qxZyvP4+Hikp6fjk08+qVGY7dmzJw4ePFhhm4iIiCpv77XXXkNBQYFSU3Z2Nux2e5ltRERE4PDhwxVuKyQkBG+++SZUKhXatWuHV155BUVFRXj66acBANOnT8dLL72EH374Affffz8yMjLQpk0b3HLLLZAkCbGxsVWu+1oxzJLXuIKrWqWFRmUF7BxmQEREDcvChQuxZMkSZGRkoLi4GBaLBV27dq3RNo1GI1q3bu2V+lauXIlZs2bhiy++QHh4eI2317FjR6hUV0alRkREoFOnTspztVqNpk2bKmNvx40bhwEDBqBdu3YYPHgwbr/9dgwcOLDGdVSEYZa8xu4MrhqVFiqVBrADdvbMEhFRaVqTo4fUV+9dA6tWrcLUqVPx+uuvIykpCQEBAXj11VexZ88epY1KpYIQ7j/7rFZrhdv11jCDVatW4cEHH8SaNWuQnJysLA8NDYVarUZWVpZb+6ysLLeeZ0+0Wq3bc0mSPC6TZUcG6N69O06cOIFvvvkGmzdvxn333Yfk5GSsXbu2wvepCYZZ8porY2a1UKucJ4BxNgMiIipNkqr0p35f0+l0sNvdz/vYtWsXbrrpJkyePFlZdvz4cbc2YWFhOHfunPLcbrfj0KFD6N+/f7nv5Y1hBv/+978xYcIErFq1CkOHDi3zWXr06IEtW7Zg+PDhABzjards2YLU1NQKt3stAgMDkZKSgpSUFNxzzz0YPHgwLl26pIzh9TaGWfIaZZiBWgu1MpsBe2aJiKj+iYuLw549e3Dy5En4+/sjJCQEbdq0wUcffYRNmzYhPj4ey5cvx48//oj4+HhlvVtvvRVpaWlYv349WrVqhXnz5iEnJ6fC96rpMIOVK1di7NixWLBgARITE5GZmalsNygoCACQlpaGsWPHomfPnujVqxfmz5+PwsJCjB8//prf15N58+YhKioK3bp1g0qlwpo1axAZGYng4GCvvk9pnJqLvMYueeiZlRhmiYio/pk6dSrUajUSEhIQFhaGjIwMPPzww7j77ruRkpKCxMREXLx40a2XFgAmTJiAsWPHYsyYMejbty9atmxZYa+sN7z33nuw2WyYMmUKoqKilNtjjz2mtElJScFrr72GGTNmoGvXrjh48CA2btxYrRPLqiIgIACvvPIKevbsiRtvvBEnT57Ehg0b3Mbdepskrh7Y0cDl5eUhKCgIubm5CAwM9HU5Dcqw92/ASZ3A0+F/RU5RLt4p+AptLGqsm3TQ16UREZEPlJSU4MSJE4iPj4fBYPB1OXSdqej4qE5eY88seY291DADjcoxOJzDDIiIiKg2McyS17iGFOg0eqidYZazGRAREVFtYpglr3Gd86lR66BT6wAANo6ZJSIiolrEMEteY3deIVCr0UOrdox9sVR+1UAiIiKia8YwS17jGlKg1eig0xgBADYOMyAiIqJaxDBLXnOlZ1YHjdYRZq3smSUiIqJa5NMwu3PnTgwbNgzNmjWDJEn4/PPPK11n+/bt6N69O/R6PVq3bo1ly5bVep1UNa4xszqNAXptAAAOMyAiIqLa5dMwW1hYiC5dumDhwoVVan/ixAkMHToU/fv3x8GDB/H444/jwQcfxKZNm2q5UqoKu+RIrlqNDga94/rXVgllrlFNRERE5C0+vZztkCFDMGTIkCq3X7RoEeLj4/H6668DADp06IAffvgBb7zxBgYNGlRbZVIVuXpm9VojbHbH70myJMEmbNBKWt8VRkRERA1WvRozm56ejuTkZLdlgwYNQnp6ernrmM1m5OXlud3I+4QQsJWazcCkD1Bes9osPqqKiIiIGrp6FWYzMzPLXEM4IiICeXl5KC4u9rjO3LlzERQUpNxiYmLqotRGx2q3Q3YOM9BpDTAYr4RZs7XQV2URERFdk379+uHxxx/3dRnVtmvXLmg0GnTt2rXMawsXLkRcXBwMBgMSExOxd+/eui+wFtSrMHstpk+fjtzcXOV2+vRpX5fUIFlK9b7qdQYY9H7QOMfKWiwFviqLiIio0cjJycGYMWNw2223lXlt9erVSEtLw8yZM7F//3506dIFgwYNwvnz531QqXfVqzAbGRmJrKwst2VZWVkIDAyE0Wj0uI5er0dgYKDbjbyvxFKiPNbrDNDqjdC5wix7ZomIqB4ZN24cduzYgQULFkCSJEiShJMnT8Jut2PixImIj4+H0WhEu3btsGDBArd1PfXoDh8+HOPGjav1uh955BGMGjUKSUlJZV6bN28eJk2ahPHjxyMhIQGLFi2CyWTCkiVLyt3euHHjMHz4cMyZMwcREREIDg7G7NmzYbPZMG3aNISEhCA6OhpLly5V1rFYLEhNTUVUVBQMBgNiY2Mxd+7cWvm8Lj49Aay6kpKSsGHDBrdl3333nccvGtUtS6kwa9AaIUla6IRAEYBiM3tmiYjIQQiBYpvnoYG1zagxQpIqnzNywYIF+OOPP9CpUyfMnj0bABAWFgZZlhEdHY01a9agadOm2L17Nx566CFERUXhvvvuu+a6vv/++0pPiF+8eDFGjx5d7utLly7Fn3/+iRUrVuDFF190e81isWDfvn2YPn26skylUiE5ObnC844AYOvWrYiOjsbOnTuxa9cuTJw4Ebt370afPn2wZ88erF69Gg8//DAGDBiA6OhovPnmm/jyyy/xySefoEWLFjh9+nSt/1Xcp2G2oKAAx44dU56fOHECBw8eREhICFq0aIHp06fjzJkz+OijjwA4fuN4++238fe//x0TJkzA1q1b8cknn2D9+vW++gjkVGItUh7rtAYIqKB1zshVVJzvo6qIiOh6U2wrRuLKRJ+8955Re2DSmiptFxQUBJ1OB5PJhMjISGW5Wq3GrFmzlOfx8fFIT0/HJ598UqMw27NnTxw8eLDCNlefM1Ta0aNH8Y9//APff/89NJqy0S47Oxt2u93jeUeHDx+u8H1DQkLw5ptvQqVSoV27dnjllVdQVFSEp59+GoBjOOdLL72EH374Affffz8yMjLQpk0b3HLLLZAkCbGxsRVu3xt8GmZ/+ukn9O/fX3melpYGABg7diyWLVuGc+fOISMjQ3k9Pj4e69evxxNPPIEFCxYgOjoa//rXvzgt13XAYjUDACQhoNEaIcuAzhVmOWaWiIgaiIULF2LJkiXIyMhAcXExLBaLx5OtqsNoNKJ169bXtK7dbseoUaMwa9YstG3btkZ1eNKxY0eoVFdGpUZERKBTp07Kc7VajaZNmypjb8eNG4cBAwagXbt2GDx4MG6//XYMHDjQ63WV5tMw269fvwon1Pd0da9+/frhwIEDtVgVXQuzxfEnIzUAqFTQSgIaV5g1c8wsERE5GDVG7Bm1x2fvXROrVq3C1KlT8frrryMpKQkBAQF49dVXsWfPlc+jUqnKZBur1VrhdmsyzCA/Px8//fQTDhw4gNTUVACALMsQQkCj0eDbb7/FLbfcArVa7fG8o9I9z55ote7zxEuS5HGZLMsAgO7du+PEiRP45ptvsHnzZtx3331ITk7G2rVrK3yfmqhXY2bp+mWzOXpmXTMYSJIErXCMSyq2FJW7HhERNS6SJFXpT/2+ptPpYLfb3Zbt2rULN910EyZPnqwsO378uFubsLAwnDt3Tnlut9tx6NAht79EX60mwwwCAwPxyy+/uC175513sHXrVqxduxbx8fHQ6XTo0aMHtmzZguHDhwNwBN4tW7YoAdibAgMDkZKSgpSUFNxzzz0YPHgwLl26hJCQEK+/F8AwS15idg4zUJdapnGGWTPDLBER1TNxcXHYs2cPTp48CX9/f4SEhKBNmzb46KOPsGnTJsTHx2P58uX48ccfER8fr6x36623Ii0tDevXr0erVq0wb9485OTkVPheNRlmoFKp3P7sDwDh4eEwGAxuy9PS0jB27Fj07NkTvXr1wvz581FYWIjx48df0/uWZ968eYiKikK3bt2gUqmwZs0aREZGIjg42KvvUxrDLHmFxeaYzUBd6i8rrjBbYmOYJSKi+mXq1KkYO3YsEhISUFxcjBMnTuDhhx/GgQMHkJKSAkmSMHLkSEyePBnffPONst6ECRPw888/Y8yYMdBoNHjiiScq7JWtKykpKbhw4QJmzJiBzMxMdO3aFRs3bqzwxLJrERAQgFdeeQVHjx6FWq3GjTfeiA0bNriNu/U2SVQ0aLUBysvLQ1BQEHJzcznnrBdt/vEzPPHbDITYZOyY+CsA4K/v3oCfTQKPR9yJiYNfrGQLRETU0JSUlODEiROIj4+HwWDwdTl0nano+KhOXqtXF02g65fFOWa29AGlE45nRVbfzCdIREREDR/DLHmFzXk529JjZnXC8azYymEGREREVDsYZskrbHbHtCOlx8xqnUOyi+0Ms0RERFQ7GGbJK+zOMCvhymUCtcIRZs0+umwhERERNXwMs+QVsrABAFRuPbM6AECJzDBLRNSYNbJzzamKvHVcMMySV9hkR89s6QNKI+kBAMV2sw8qIiIiX3NdKaqoiMPNqCyLxXm+jVpdScuKcZ5Z8gpZdlwlRVVqmIEGjjBrFhaf1ERERL6lVqsRHByM8+fPAwBMJhMkSapkLWoMZFnGhQsXYDKZoNHULI4yzJJX2GXnMINSyzQqxzWwS+SKr0lNREQNV2RkJAAogZbIRaVSoUWLFjX+BYdhlrxCtrvGzJY6AcwVZgXDLBFRYyVJEqKiohAeHg6rlT8P6AqdTueVK4MxzJJX2J0ngJX+3Uqr8QMAlMDmg4qIiOh6olarazw2ksgTngBGXmH3MGZWq/YHAJhh90lNRERE1PAxzJJXyErP7JUwq9cGAABKJE7JQkRERLWDYZa84krP7BV6bSAAhlkiIiKqPQyz5BWepubS64IAABbpStglIiIi8iaGWfIKuyg7m4HB2ER5XMxL2hIREVEtYJglrxDC0fPqNmZWFwi181J1RTZe/YWIiIi8j2GWvMLTbAY6YwCMrjBrZZglIiIi72OYJa+QhYfL2Rr8YZJlAECROdcndREREVHDxjBLXuFpmIHW4A+T7OiZLSy+5JO6iIiIqGFjmCWvsHvomTUY9Ahw9szmF1/0SV1ERETUsDHMklfISs/slUNKr9XAT3aE2zz2zBIREVEt8HmYXbhwIeLi4mAwGJCYmIi9e/dW2H7+/Plo164djEYjYmJi8MQTT6CkpKSOqqXyCOHogVVJV3pmjTo1jM4wm2++7JO6iIiIqGHzaZhdvXo10tLSMHPmTOzfvx9dunTBoEGDcP78eY/tV65ciX/84x+YOXMmfv/9d3zwwQdYvXo1nn766TqunK5m9zBm1qBVQ293HGL5JTm+KIuIiIgaOJ+G2Xnz5mHSpEkYP348EhISsGjRIphMJixZssRj+927d+Pmm2/GqFGjEBcXh4EDB2LkyJGV9uZS7VN6ZksdUgaNClpZAwDI5WwGREREVAt8FmYtFgv27duH5OTkK8WoVEhOTkZ6errHdW666Sbs27dPCa9//vknNmzYgL/85S/lvo/ZbEZeXp7bjbxPVoYZXDmkjDo1tHYtACCPYZaIiIhqgcZXb5ydnQ273Y6IiAi35RERETh8+LDHdUaNGoXs7GzccsstEELAZrPhkUceqXCYwdy5czFr1iyv1k5leToBzKBRQyXrAFiQa8n3UWVERETUkPn8BLDq2L59O+bMmYN33nkH+/fvx7p167B+/Xq88MIL5a4zffp05ObmKrfTp0/XYcWNhwzXMIMrY2ZVKgkq2QgAyOcVwIiIiKgW+KxnNjQ0FGq1GllZWW7Ls7KyEBkZ6XGd5557Dg888AAefPBBAEDnzp1RWFiIhx56CM888wxUqrLZXK/XQ6/Xe/8DkBvXMANJcv8aSHCGWXtxnddEREREDZ/PemZ1Oh169OiBLVu2KMtkWcaWLVuQlJTkcZ2ioqIygVWtVgMAhBC1VyxVSqDsCWAAoBZ+AIAC2VznNREREVHD57OeWQBIS0vD2LFj0bNnT/Tq1Qvz589HYWEhxo8fDwAYM2YMmjdvjrlz5wIAhg0bhnnz5qFbt25ITEzEsWPH8Nxzz2HYsGFKqCXfkD3MZgAAkhQAAMgX1jqviYiIiBo+n4bZlJQUXLhwATNmzEBmZia6du2KjRs3KieFZWRkuPXEPvvss5AkCc8++yzOnDmDsLAwDBs2DP/85z999RHISRkze/UwAykIAFAEGTbZBo3Kp4ccERERNTA+TxapqalITU31+Nr27dvdnms0GsycORMzZ86sg8qoOoSHqbkAQK0JVh4XWAoQbAgGERERkbfUq9kM6Prl6pm9+gQwaAPhLzteyzHn1HFVRERE1NAxzJJXlHcCmF0XiGC7Yw5ahlkiIiLyNoZZ8grZOZvE1WFW6AIQ7OyZvVxyuc7rIiIiooaNYZa8QjkBTOU+q4TQ+yPYzmEGREREVDsYZskr5HKGGagMwWjiCrPFF+u8LiIiImrYGGbJK2Q4hxlI7j2zkj4AwbJjzOzlovN1XhcRERE1bD6fmosaBqGEWfffjwwGPTR2CQCQU5xd53URERFRw8YwS16hXAHsqjGzJp0akt1xmF3mMAMiIiLyMoZZ8gpRzjADg1YNYdcCAHLNuXVeFxERETVsHDNLXqGMmUXZnlmtXQ8AuGzJq/O6iIiIqGFjmCWvUHpmrxpmYNSqoXKG2RxrQZ3XRURERA0bwyx5hatnVn3VMAOjTg3JbgIA5NqLYXfObEBERETkDQyz5BVCKr9n1m7zc7QBkMehBkRERORFDLPkFeXNM2vSaVAEPwTwKmBERERUCxhmySuUYQZX98zq1MiHSblwAsMsEREReRPDLHlFeVNzGXVq5AmjcknbyyWX67w2IiIiargYZskrrvTMuk9dbNI6emaDZA4zICIiIu9jmCWvEM57Tz2z+cKEJnbHMAP2zBIREZE3McySV8jKbAbuPbN6jQoFMCGYPbNERERUCxhmyStk573mqjArSRKsGn+OmSUiIqJawTBLXiGXcwUwALBq/TmbAREREdUKhlnyCteY2atPAAMAmy6APbNERERUKxhmyStkyXGvVmnLvqa9EmZzSi7VZVlERETUwDHMklcoU3Opyw4zUOlM8HeMMsBlDjMgIiIiL/J5mF24cCHi4uJgMBiQmJiIvXv3Vtg+JycHU6ZMQVRUFPR6Pdq2bYsNGzbUUbVUHtcJYGqp7DADo04NjV0HAMi3FsAqW+uwMiIiImrIfBpmV69ejbS0NMycORP79+9Hly5dMGjQIJw/f95je4vFggEDBuDkyZNYu3Ytjhw5gvfffx/Nmzev48rpaspsBuqyYdak0wB2IyTh6L3NNefWYWVERETUkJVNHnVo3rx5mDRpEsaPHw8AWLRoEdavX48lS5bgH//4R5n2S5YswaVLl7B7925otY6xmXFxcXVZMpXDMc+s5HHMrFGnRhFMCJKtyFGrkVOSg1BjaN0XSURERA2Oz3pmLRYL9u3bh+Tk5CvFqFRITk5Genq6x3W+/PJLJCUlYcqUKYiIiECnTp0wZ84c2J1XlyLfUWYzUHsIs1rHVcCCXTMamDmjAREREXmHz3pms7OzYbfbERER4bY8IiIChw8f9rjOn3/+ia1bt2L06NHYsGEDjh07hsmTJ8NqtWLmzJke1zGbzTCbzcrzvLw8730IUrhmM9B4CLMmnRr5MKKJnI2T0HKuWSIiIvIan58AVh2yLCM8PBzvvfceevTogZSUFDzzzDNYtGhRuevMnTsXQUFByi0mJqYOK248lBPAPMwza9SqkY9SPbOca5aIiIi8xGdhNjQ0FGq1GllZWW7Ls7KyEBkZ6XGdqKgotG3b1m36pw4dOiAzMxMWi8XjOtOnT0dubq5yO336tPc+BClcAz00Gs9jZvOECU1k51yz7JklIiIiL/FZmNXpdOjRowe2bNmiLJNlGVu2bEFSUpLHdW6++WYcO3YMsiwry/744w9ERUVBp9N5XEev1yMwMNDtRt6nDDPwdAKY1jHMINg5tpk9s0REROQtVQ6zhw4d8vqbp6Wl4f3338eHH36I33//HX/7299QWFiozG4wZswYTJ8+XWn/t7/9DZcuXcJjjz2GP/74A+vXr8ecOXMwZcoUr9dG1SPDkWbVHqfmcpwA1oQngBEREZGXVfkEsBtuuAE33ngjHnzwQdx///0ICAio8ZunpKTgwoULmDFjBjIzM9G1a1ds3LhROSksIyMDKtWVvB0TE4NNmzbhiSeewA033IDmzZvjsccew1NPPVXjWqhmXH3lWo/DDDTIR6lhBiU5dVcYERERNWhVDrM7duzA0qVL8eSTT+KJJ57AiBEj8OCDD6J37941KiA1NRWpqakeX9u+fXuZZUlJSfjPf/5To/ck77MrwwzKDvdwTc3VxDXMgD2zRERE5CVVHmbQu3dvLFmyBOfOncNbb72FkydPom/fvmjbti1efvllZGZm1maddB0TQly5ApimbJh1Tc0VzJ5ZIiIi8rJqnwDm5+eH8ePHY8eOHfjjjz9w7733YuHChWjRogXuuOOO2qiRrnM2uwwhObpmPc0za9ByzCwRERHVjhrNZtC6dWs8/fTTePbZZxEQEID169d7qy6qRyz2K9OieRoza9KpkQeTMptBsa0YJbaSOquPiIiIGq5rDrM7d+7EuHHjEBkZiWnTpuHuu+/Grl27vFkb1RM2q1V57GmYgdE5m4G/ENAIx4VvOdcsEREReUO1Lmd79uxZLFu2DMuWLcOxY8dw00034c0338R9990HPz+/2qqRrnPW0j2z6nJOAIMREoBgu4xsjRo55hxE+nm+OAYRERFRVVU5zA4ZMgSbN29GaGgoxowZgwkTJqBdu3a1WRvVE1brlTCr0XoeZlAMPWxChWDZjmyoeeEEIiIi8ooqh1mtVou1a9fi9ttvd7ucLFHpnlmdp6m5dGoAEgpgVE4C4zADIiIi8oYqh9kvv/yyNuugesxWepiBtmyYNWgcv/zkC5MyPRd7ZomIiMgbajSbAREA2GxXTgBTexgzq1JJMGhVjquAOWc0YM8sEREReQPDLNWYze4IsyohIKk8D0Ex6TSOCyc4hxlcKrlUZ/URERFRw8UwSzVmtTmGGagAwHnxhKsZtWrkCROayBwzS0RERN7DMEs1Znf2zKpF+W2MOjXyS104gZe0JSIiIm9gmKUas9ltAAAVyk+zJp0a+cKIQGfPbJ4lr05qIyIiooaNYZZqzDWbQUUHk0Hr6JllmCUiIiJvYpilGrPLzp7ZCoYZmJyXtFXCrJlhloiIiGqOYZZqTJnNoII2RlfPrHM2g3xrPuyyvQ6qIyIiooaMYZZqzDXPbKUngAkjgpw9swBQYC2o7dKIiIiogWOYpRqzy5X3zJqcsxloARidoZdDDYiIiKimGGapxuzKbAblc80zCwABrjDLk8CIiIiohhhmqcaUntkKhxloUAAjACjjZnMtubVeGxERETVsDLNUYzbniVwSPF/9C3D0zBbBAAAIdPbksmeWiIiIaophlmpMrsJsBiadGgXiqjDLMbNERERUQwyzVGNVmWfWrWeWF04gIiIiL2GYpRqziSqcAKZTwwINbFAzzBIREZHXMMxSjcmuntkKxsyadGoAEoolI68CRkRERF5zXYTZhQsXIi4uDgaDAYmJidi7d2+V1lu1ahUkScLw4cNrt0CqUFWn5gKAYhjYM0tERERe4/Mwu3r1aqSlpWHmzJnYv38/unTpgkGDBuH8+fMVrnfy5ElMnToVvXv3rqNKqTyyazYDUcFsBjpHmC2EQZmai2GWiIiIasrnYXbevHmYNGkSxo8fj4SEBCxatAgmkwlLliwpdx273Y7Ro0dj1qxZaNmyZR1WS57YReWzGShhVhiUS9pymAERERHVlE/DrMViwb59+5CcnKwsU6lUSE5ORnp6ernrzZ49G+Hh4Zg4cWJdlEmVsDvDaYVjZrUaAECB4DADIiIi8h6NL988OzsbdrsdERERbssjIiJw+PBhj+v88MMP+OCDD3Dw4MEqvYfZbIbZbFae5+UxQHmb7JzNoMKLJjh7ZvNlPcIZZomIiMhLfD7MoDry8/PxwAMP4P3330doaGiV1pk7dy6CgoKUW0xMTC1X2fjYqzCbgSvMFpQ6AazAUgBZyLVfIBERETVYPu2ZDQ0NhVqtRlZWltvyrKwsREZGlml//PhxnDx5EsOGDVOWyc5gpNFocOTIEbRq1cptnenTpyMtLU15npeXx0DrZa4TwKoym0GRMCDA+TUTEMi35CNIH1TbJRIREVED5dOeWZ1Ohx49emDLli3KMlmWsWXLFiQlJZVp3759e/zyyy84ePCgcrvjjjvQv39/HDx40GNI1ev1CAwMdLuRd9lF5bMZqFUSdBoVCmCAXgB656HHoQZERERUEz7tmQWAtLQ0jB07Fj179kSvXr0wf/58FBYWYvz48QCAMWPGoHnz5pg7dy4MBgM6derktn5wcDAAlFlOdUcWlQ8zABwXTigyOy9pK2lwQVhQYCmo9fqIiIio4fJ5mE1JScGFCxcwY8YMZGZmomvXrti4caNyUlhGRgZUqno1tLfRUYYZSBWHWaNWjUJnmA2Q1LgggHxLfq3XR0RERA2Xz8MsAKSmpiI1NdXja9u3b69w3WXLlnm/IKoWuQrDDADHSWCFcIRZf2dbhlkiIiKqCXZ5Uo25wqyqksPJpFOjUDh7ZoUAAORbGWaJiIjo2jHMUo25pteqaJ5ZwDHMoMjZM+u6pC17ZomIiKgmGGapxq70zFYcZg3aK8MMApzjbBlmiYiIqCYYZqnGlDGzlZwAZtBeGWbgb7MCYJglIiKimmGYpRpzDTOobMysW8+szQKAYZaIiIhqhmGWaqyqwwyMWpXSMxtoLQHAMEtEREQ1wzBLNaacACZV3jPrOgFMGWbA2QyIiIioBhhmqcYEqjY1l/sJYI4AzCuAERERUU0wzFKNXRkzW/kJYHaoYZV0SpjNs+TVen1ERETUcDHMUo1dmWe2sp5Zx+tmlRGBMueZJSIioppjmKUak+Hsma1sai6NGgBQojLBX3ZcAazAWgDhvBoYERERUXUxzFKNiSpOzWXUOcMsDMowA1nIKLIV1W6BRERE1GAxzFKNuXpmJUldYTvXMINiyQiDENA423OoAREREV0rhlmqMaVntrKpuZzDDIqghwQgUK0HwJPAiIiI6NoxzFKNyXCMea00zDqHGRTACADwV+kczzk9FxEREV0jhlmqMeUEsMpmM3D2zBYKR49sgKQBwGEGREREdO0YZqnGqnoCmGvMbL7sHmY5zICIiIiuFcMs1ZgyzEBV8QlgrtkMClxhVjim8mLPLBEREV0rhlmqseoOM8hzhVnnFcMKrBwzS0RERNeGYZZqTCgngFU2NZfj9Vy7M8zyKmBERERUQwyzVGNXrgBWyUUTnGG2QDDMEhERkXcwzFKNuS5HW9mYWb3zBLAiYQAA+NttABhmiYiI6NoxzFKNyVUcZqDXqCBJQAEcYTbQZgXAMEtERETXjmGWakwZM4uKw6wkSTBo1ChyhtkAqxkAwywRERFdO4ZZqrGqTs0FOOaaLXQNM3CFWSvDLBEREV2b6yLMLly4EHFxcTAYDEhMTMTevXvLbfv++++jd+/eaNKkCZo0aYLk5OQK21Ptc4VZdSXDDADHSWBFcJ4AZikCwJ5ZIiIiunY+D7OrV69GWloaZs6cif3796NLly4YNGgQzp8/77H99u3bMXLkSGzbtg3p6emIiYnBwIEDcebMmTqunFxEtXpm1UrPbKC5EIAjzLpOIiMiIiKqDp+H2Xnz5mHSpEkYP348EhISsGjRIphMJixZssRj+48//hiTJ09G165d0b59e/zrX/+CLMvYsmVLHVdOLrJUtRPAAECvLTtm1ipbYbaba69AIiIiarB8GmYtFgv27duH5ORkZZlKpUJycjLS09OrtI2ioiJYrVaEhITUVplUCVfPrLoKPbNGrUoZZmASAhKvAkZEREQ14NMwm52dDbvdjoiICLflERERyMzMrNI2nnrqKTRr1swtEJdmNpuRl5fndiPvqurUXIBjmIENGthVOqgA+Gv9AAB5Fn5diIiIqPp8PsygJl566SWsWrUKn332GQwGg8c2c+fORVBQkHKLiYmp4yobPuUEMJWm0rauS9paNY4QG6gxAuBJYERERHRtfBpmQ0NDoVarkZWV5bY8KysLkZGRFa772muv4aWXXsK3336LG264odx206dPR25urnI7ffq0V2qnK1ynblWlZ9Z1SVuryhFiA9QMs0RERHTtfBpmdTodevTo4XbylutkrqSkpHLXe+WVV/DCCy9g48aN6NmzZ4XvodfrERgY6HYj77oyz2zlPbOuS9pa1CYAgL9aBwAosHDMLBEREVVf5emjlqWlpWHs2LHo2bMnevXqhfnz56OwsBDjx48HAIwZMwbNmzfH3LlzAQAvv/wyZsyYgZUrVyIuLk4ZW+vv7w9/f3+ffY7GTHacw1WtYQYWV8+syhFmOWaWiIiIroXPw2xKSgouXLiAGTNmIDMzE127dsXGjRuVk8IyMjKgUl3pQH733XdhsVhwzz33uG1n5syZeP755+uydHIS1Rgz6xpmUCI5w6ykBcBhBkRERHRtfB5mASA1NRWpqakeX9u+fbvb85MnT9Z+QVQtsvO+aj2zjl9MSiTnXLOcmouIiIhqoF7PZkDXB9dFE6oUZjWunllXmHUcguyZJSIiomvBMEs1pvTMqqswzEDnCLPKVcCcUyFwzCwRERFdC4ZZqrHqDDPQO8fMFgpnmJUda7NnloiIiK4FwyzVmCvMaqrQM2vQOA65AlfPrN2xNqfmIiIiomvBMEs1JpQxs9pK27qGGRTIegBAgN0GgD2zREREdG0YZqnGqjWbgfMEsHzXMAObxfGcYZaIiIiuAcMs1Zhy0QR15T2zrosm5MuOiyUEWM2O51aGWSIiIqo+hlmqMWXMbJWGGTgOuVy7c5iBpRgAUGwrhlW21kp9RERE1HAxzFKN2Z33Gk3lYVbvHGaQa3f0zPpbipTXeBIYERERVRfDLNWYa5iBpiqXs3WeAJZrc4RZjaUIJo0JAMfNEhERUfUxzFKNyc5L0lZnzOwlZ5iFpQD+On8AHDdLRERE1ccwSzXmGjOrrcIwA9c8szk2x5hZWAoQqAsEwJ5ZIiIiqj6GWaoxu2uYQRV6ZpV5ZmF0rmxBgNYPAMMsERERVR/DLNWIEOLKbAYaXaXtXfPMFsAA4RyeEKB2zDnLE8CIiIiouhhmqUZsNjuE5AilVZmaS6WSoFOrIKCC0DuGF/irHCE4z5JXe4USERFRg8QwSzVisVuUx1XpmQUAg9Zx2NmdY2UDJEcIZpglIiKi6mKYpRqx2a5c6KDqYdYx1MDmDLNNnFN65ZTkeLc4IiIiavAYZqlGrLYrPbPaKpwABpQKs9oAAECos2c2uzjby9URERFRQ8cwSzXiFmarMDUXABidYdbiCrPCcRhmlzDMEhERUfUwzFKNWO1XhhloqzrMwDk9l1ntCLNNZQEAuFh80cvVERERUUPHMEs1YnPrma1amPVzhtlitePKX02d424vFl+EEMLLFRIREVFDxjBLNVI6zGrU+iqt4693nPBVKDkultDU6thGib0EhdZCL1dIREREDRnDbC0r/mM7Tq35B7J+/d7XpdQKm+zoVZWEgKRWV2kdf4MjzObDEWZNJfnwc14FjCeBERERUXUwzNay/V++g9hf38X/9n7u61JqhesEsKrFWAdXz2w+TI4FJbkINYYCYJglIiKi6mGYrWWieQ8AgCHrgI8rqR125wlgqmoMdXWF2RxxJcw2NTQFwBkNiIiIqHquizC7cOFCxMXFwWAwIDExEXv37q2w/Zo1a9C+fXsYDAZ07twZGzZsqKNKqy+8w80AgJiS32G3231cjffZXGEWVU+zrmEGl+zOMFt8GRF+EQCAcwXnvFsgERERNWg+D7OrV69GWloaZs6cif3796NLly4YNGgQzp8/77H97t27MXLkSEycOBEHDhzA8OHDMXz4cBw6dKiOK6+algk3oljoEIgi/HnkoK/L8borYbbqXD2zF2TH1FwoykZMQAwA4HT+aW+WR0RERA2cz8PsvHnzMGnSJIwfPx4JCQlYtGgRTCYTlixZ4rH9ggULMHjwYEybNg0dOnTACy+8gO7du+Ptt9+u48qrRqPTI8PQDgCQse9bH1fjfa4wq76GYQaZNmeYLclFjCkKAMMsERERVY/Gl29usViwb98+TJ8+XVmmUqmQnJyM9PR0j+ukp6cjLS3NbdmgQYPw+eefe2xvNpthNpuV53l5eTUvvBpyzblYEhOOWcclBJ74BkL8A5Ik1WkNNSWEgNUuYLbZYbHJsNoFrHYZVruMczkFAK6tZzbLagBUGkC2oYU2EADDrK/IsoBVdnxtbXYZFrsMm/J1dtzb7MK53LlMdiyThYAsC9iFgCwc25KFgN15LwvALgsIZRlKvQ739Z3LBARcUw4LAMK5DG7LhHO5c9lV68HVpvT6ymM425VaVtH7eiIEVLBDEjJUkCFBhkrIkCCgEnbHDB+lXrvy2Pl6qXtJONeHDHhsV3r7ru0JZduOemRIzrokR/XO4T8CkvNDuZZLrpsQyj6QSrV1ve5oC7flKLWe8trVr5ezzdKvXU0q/YUr1ca9vSinfantlNfe7XHpJlV4L2XJlf0lAMiQrxx/zsdXbu7/CggIybW2XGpLjmfC8aEge3gfV41KRZJrm1cqda9clFkupLKvlWnj1qJUW+nqtsLDe5Zu475e2fcRV71n6Xd3PpI8f46r68BVr+GqdlfX4am156966WXXso6Hx9LVn/batlnu9ySP2/FQu4cIUp3Pk/qXRWjVolOFNdQ1n4bZ7Oxs2O12REREuC2PiIjA4cOHPa6TmZnpsX1mZqbH9nPnzsWsWbO8U3A1CSHw1M6nsMt+FKcjw/FM9mFs23cIt/bsXGvvabbZkV1gQW6RFQVmGwrNNhSYbcgvsSLfbHbcSiwosFhQYLag2GqB2WaF2WZT7i12K8x2G6zKvQ0CMiA5bhLsjseQEa47AYRXM8y6puYyy4ApFCjIRIzKccGFc4XnYLVboVVX7dK4jY3VLiO/xIaCEhvySqyOx66vr/LYhmKLDcVWO4qtMkqsdpRY7Si22FFic947lxdb7TDbZNjlanSt1woBPawwwAIdrNBLNuhghQ6ueyt0kq3Uc1upZY7neud62lJttLBBK9mhhh0a5SZDAxvUkB3PJffX3Nq6vWaHGjK0cG5Pkn28zwAZgB2ATZJgA2AvdW+XADskWJ33rue2Uve2UsvtEmADIEsS7M572fUeEuD8n+95uTOk2SFBlhw1yc7H8tXL3daXlM8gXO9bernkiL+O9ZzbcT6WSz12hRvZFZmd7+uM90odbu0k1+Oyz5V2kuS+rJ51RBDVhlH5WWgFhtk6NX36dLee3Ly8PMTExNTJe0uShImdJ+LQxUP4Bbm4PzoCQT+PxUcXuiPCrym0Kq0S2myyDXbZDptw3NuFXXlusVtRYrWixBk4LXYbLM6QaZVtjnWFHbKwQ3b9GHEGTziDpyRVEFY0KPdIqOAlAEC+815fjSzk6pktMNuA4DCgIBOhViuMGiOKbcU4W3gWsYGxVd9gPSaEQF6JDZm5JTiXW4wL+WZcKrTgUqEFF93uzbhUYEGhpW5OIpQkQKtWQauSoNWooFGpYFDJCFBbEKAqQbCqBP6S4+aHYvihCEZRAgMsMMAMvTAr9zphgV6UQA8zdLIZOuG4aYUZOrkEOtkMjTBX6yRCb7ADsEoSrK57yRHwrHA8LpQcIdHqDIQ2ZxsrNLBKWufzK+1tkmt7V9pboIJV5VpPpbyPo32pAOoMcm5hFHAGTzgDJ9yXwXMPC11/JAASpAruXY/dn8P5vPQ2Sm8Tpda7+vGVf3Ft25PKbhsVbMNbNVS0vdIty3ufq0kVvC6Vs9bVdZZ5TaqFbXp4JlX4etl25S2trM6qfg7XkojQOA9r+JZPw2xoaCjUajWysrLclmdlZSEyMtLjOpGRkdVqr9froddX7cpUteHGyBuxaugqvL79H9h+8SByNVbsO7/Hu2+i8viwStRCQC0ADdzv1RDQlHOv9nB/h19cld9TCbMlNsDPMb+sVJiNuMA4/H7pdxy7fKzBhFkhBC4WWnDqYiFOZhfh1KUinM0pVsJrZm7JNQVUo1aNAIPGedNeeazXwt+ggZ9ODb1WDaNWDaNODYNGgp/KigCRD5NcAD97AYz2fBjs+dBZc6Gx5EJtdtxUlnxIlkLAkg+YCwBLAWDOByxF3tsvAMyShBJJQoFKQomkhlklwSxJsEgqWNQ6mDVaWNTOm0oNs1oDq0oNs/NmlVQwq5ztJQlmCbAAsEiABQJmCFggwyIEzMIOK2SYhR0WYYdFtsFex+G5LmlUGmgkDdQqNdSS2uNz5V6lVl5TSSqopSv3kiS5PVdJKuWmLFepIUFye66SVFBBBZWq+turyuPS7wkJyvtJkiMyudoDUB6Xfk2CBEmSHDVe/dpV21DaXrVe6WWetlG6nvo2tIyovvFpmNXpdOjRowe2bNmC4cOHAwBkWcaWLVuQmprqcZ2kpCRs2bIFjz/+uLLsu+++Q1JSUh1UfG2iA6Lxxu3LcWHFKJw8swWn1DrslNriJEJRJGkhIEEvZOiFDQbYYIQVfsICP1jgDwv8hBmBkhmBMCMQJTAKMzRwBlEAmmsNpGodJJ0/oPMH9AGAzs/xWOdX6rkfoPUDtEbnzeT5Pqx9lfeHa5hBgcUGERDh+G0v/ywSmibg90u/49eLv+K22Ntq40tRa+yywKmLhTiSmY/fM/Nx/EIBTl0sxKnsIuSbbZWuH2zSIjLQgLAAPZr66RDip0dTfx1C/By3ps77JiYd/A0aaIUNKMoGCi8AhdmOW+nn2dlA0UWgJAcoznHc2y2VVOFgBVCsklAkqVCkklAsqVCsllCiMcAsSShWa1CiNcKsMaBYq0OJWguzWutYrlI5QypQDMAMgRLIKBF2582GEtmKEueV46pOhiOqeljsJRpJA61ae+VepXH89URV6nGp18u8VtXXnc81Ks2VkCmpHaHSUwhVlXq9CgFVrarOJUyIiOo/nw8zSEtLw9ixY9GzZ0/06tUL8+fPR2FhIcaPHw8AGDNmDJo3b465c+cCAB577DH07dsXr7/+OoYOHYpVq1bhp59+wnvvvefLj1E5SULY/UsQsmYibvxjPe7BvppvUx8EGIMAQzBgDAaMTa48NjifG4MBQxCgCwD0/qUCqz+g0dW8hmvg6pkVArD6R0MHALn/Q0KbJHx69FP8kv2LT+qqKrPNjt/P5ePn0zk4dCYXR7Ly8UdWPkqsnpOVJAHNgoyICzWhRYgfopsYERloQFSQAVHBjsdGndqxQ0pygPxMIP8ckHfOcX/B+bx0cDXnAnDEuwKVCoXO8FmsklCkUqFIunJfrJFQFGBEkcqEIpUaRRo9ijSO8FmkUjvaSgJFkFHs7LmsOguUkOn623c1aVQaGNVG6NQ6GDQGaFVa6NV66NV6aNWOxzqVDjq1zvFY7XjscZnreTntPa3vCoyunjwiIqpffB5mU1JScOHCBcyYMQOZmZno2rUrNm7cqJzklZGRAZXqyg+Zm266CStXrsSzzz6Lp59+Gm3atMHnn3+OTp2ur8HIHmmNUI/8GDi+FfjtC+DCYcefcWWbI2jqAxwhs0wYDb4qrDZxBNR62gNj1KqhkgBZACWmKEeYzTmN7uFTAAAHzh9Asa0YRo3Rp3W6nMstxt4Tl3AgIwcHT+fgt7N5sNjLBleDVoW2EQFoFxGAthEBiAv1Q1xTE2JCTDBoVEDxZSD3NJDzO6yXT6Lg6CkU5J/FqYIs5Bdlo7DkMgqEFQUqlRJQXY8LJAmFKhUKDCoUmEwoVPkjX+UYg3ltBBx9sNaypwo7aSQNTFoTjBojjBojDBoDDGqD+73GAL1ar7yuPPbQztM6erUeGpXPvw0REVE9JglRzvwmDVReXh6CgoKQm5uLwMBAX5fTaHWZ9S1yi6344R4g+utRQFh7iMn/waBPB+Fc4TnM7z8ft7XwzVCDC/lmpP95EenHL+I/f17EiezCMm2CTWp0jjGgdaQGzUMEQoNkGKVLKMg9gbz8M8grPI+84ovIN+ciz1qIPNmMPEkgX6VCoSTBrPJuL6BRY4Sf1g9GjREmjQkmrUm5L73M0+ul740ao/KYM0oQEZGvVCevsUuEfKKpnw65xVZka8IRDQA5GZAADIwdiA9/+xBrjqypkzBrl+24XJKL/5w6jR3HTmBvxmmczbsISV0EqIsgaYphbF6MAJMVBr0FKlUhLHIBCu1FOAiBg+cBeL5Y3RUa5Z8yjJIG/hoD/LX+8NcFws8QjAB9EPy0fvDX+sNP64cAXYDy3F/nX2a5SWPiOEkiImq0GGbJJ0L8dPgzuxBnEYGuKi1gLQJyMpDSLgUrfl+BXWd34duT32Jg3MAqb1MWMvIt+bhcchk55hzlPsecg8vmy8gpKX2fgwuFl1Bkz4fb39j9AYN/2W0XAyj2MCZUL8sILH2TdAjU+iFAF4hAYwgC/cIRGNAMgYGxCAyOQ4BfmBJG/bR+/BM7ERFRDfEnKflEU3/HyWcXi2UgtC1w/lfg/G+IaTcEYxLGYOmvSzFt5zRsP70dnUI7waAxwCbbUGAtQE5JjhJSlVtJDnItuZDFtZ3errOrEQQVwoQdodYSBNss7iFVlhFod94bQhAYFIvAkFbQN20DNG0FhLR03HR+XtxLREREVBmGWfKJED/H3L8XCy1ARIIjzGYdAtoNwaPdH8Vl82V8fuxzfPXnV/jqz6+qtW1/rT+C9cFoYmiCIH0QYPdD5kWBvPO5CLfko6Wcgw5yNrqKc4i0FyNIllFmdKhaBzRtA4S1A8I7AKFtgBBnaNV76LolIiIin2CYJZ8IdfXMFliA5j2AX9YAp3YDcEzV9MLNL2BEmxHYmrEVp/NPwybboJJU8Nf5I0gfhCZ6R1AN1gcrwdX1WGstRsGJn/D7gR+Qe3I/okuOobV0xvPlR9U6IKKtY57csPZAuPO+STyg5n8PIiKi6x1/WpNPhPg5wuylQgvQsp9j4andjqtM6UwAgK7hXdE1vGvFG7LbHL26x3YCZ/aj5OQeqHOOwR8CN7raOCcOsOqbQNOsC6SozkDkDY5b09YMrURERPUYf4qTT0QEGgA45nBFWDcgOBbIOQUcWgt0H+N5JSEc87T+7yfgzD7H7exBwFasNDE47/8nQnFS1wZ+LbqhbZeb4BfbHdrAZso1tYmIiKhhYJgln4hp4uh9PX252BEwb5wIfDcD2PpPoFk3ILyj44pXWb8AZw5cCa+FZefByocJB+0tcVC0xi+iNcI73IR7+vbAzdFBvCY6ERFRA8cwSz4RE+K4uteFfDOKLXYYez0EHFzpuCraolvKX1GlgQjviOP69lh1NhzbClrgTxGFIJMeoxNbYPb/i0NkkKH89YmIiKhBYZglnwgyahGg1yDfbMP/LhehTUQAMOYLYP2TwJFvAGEHIDlmD2jeHWjWHXKz7th4KRyvbc3AnycdV+UKD9Bj1q2tcW+PGBh1vHAAERFRY8MwSz4hSRJiQ004dCYPxy8UOMJsQCRw/8eAtRgoyQNMTQG1BkIIbDtyHq99/gd+O/c7ACDYpMXkfq3wwP+LY4glIiJqxBhmyWc6Nw/GoTN5OJCRg8Gdoq68oDU6bgDSj1/Ea98ewb5TlwEA/noNHuwdj4m3xCPAUGZ2WCIiImpkGGbJZ7q1CMa/92bgJ2dQLe3n0zl47dsj+P5oNgBAr1Fh3E1xeKRvKzRxTutFRERExDBLPnNTq6YAgH2nLiPjYhFaNDXh17O5WLD5KL79LQsAoFVLuP/GFki9tbUynRcRERGRC8Ms+Ux0ExN6twnF90ezMfHDHxHip8OeE5cAACoJuKtbNB5PboOYEJOPKyUiIqLrFcMs+dSM2xNw1zu7cfR8AQBHiB16QzM8dltrtA4P8HF1REREdL1jmCWfahMRgI2P98b6/56DUadG/3bh7IklIiKiKmOYJZ+LbmLCw31b+boMIiIiqodUvi6AiIiIiOhaMcwSERERUb3FMEtERERE9RbDLBERERHVWwyzRERERFRvMcwSERERUb3FMEtERERE9RbDLBERERHVWwyzRERERFRvNborgAkhAAB5eXk+roSIiIiIPHHlNFduq0ijC7P5+fkAgJiYGB9XQkREREQVyc/PR1BQUIVtJFGVyNuAyLKMs2fPIiAgAJIk1fr75eXlISYmBqdPn0ZgYGCtv199wn3jGfdL+bhvPON+KR/3jWfcL+XjvvGsrveLEAL5+flo1qwZVKqKR8U2up5ZlUqF6OjoOn/fwMBA/qcoB/eNZ9wv5eO+8Yz7pXzcN55xv5SP+8azutwvlfXIuvAEMCIiIiKqtxhmiYiIiKjeYpitZXq9HjNnzoRer/d1Kdcd7hvPuF/Kx33jGfdL+bhvPON+KR/3jWfX835pdCeAEREREVHDwZ5ZIiIiIqq3GGaJiIiIqN5imCUiIiKieothloiIiIjqLYbZWrZw4ULExcXBYDAgMTERe/fu9XVJdWru3Lm48cYbERAQgPDwcAwfPhxHjhxxa9OvXz9IkuR2e+SRR3xUcd14/vnny3zm9u3bK6+XlJRgypQpaNq0Kfz9/TFixAhkZWX5sOK6ExcXV2bfSJKEKVOmAGhcx8vOnTsxbNgwNGvWDJIk4fPPP3d7XQiBGTNmICoqCkajEcnJyTh69Khbm0uXLmH06NEIDAxEcHAwJk6ciIKCgjr8FN5X0X6xWq146qmn0LlzZ/j5+aFZs2YYM2YMzp4967YNT8fZSy+9VMefxLsqO17GjRtX5jMPHjzYrU1DPF6AyveNp+85kiTh1VdfVdo0xGOmKj+jq/LzKCMjA0OHDoXJZEJ4eDimTZsGm81WZ5+DYbYWrV69GmlpaZg5cyb279+PLl26YNCgQTh//ryvS6szO3bswJQpU/Cf//wH3333HaxWKwYOHIjCwkK3dpMmTcK5c+eU2yuvvOKjiutOx44d3T7zDz/8oLz2xBNP4KuvvsKaNWuwY8cOnD17FnfffbcPq607P/74o9t++e677wAA9957r9KmsRwvhYWF6NKlCxYuXOjx9VdeeQVvvvkmFi1ahD179sDPzw+DBg1CSUmJ0mb06NH49ddf8d133+Hrr7/Gzp078dBDD9XVR6gVFe2XoqIi7N+/H8899xz279+PdevW4ciRI7jjjjvKtJ09e7bbcfR///d/dVF+ranseAGAwYMHu33mf//7326vN8TjBah835TeJ+fOncOSJUsgSRJGjBjh1q6hHTNV+Rld2c8ju92OoUOHwmKxYPfu3fjwww+xbNkyzJgxo+4+iKBa06tXLzFlyhTlud1uF82aNRNz5871YVW+df78eQFA7NixQ1nWt29f8dhjj/muKB+YOXOm6NKli8fXcnJyhFarFWvWrFGW/f777wKASE9Pr6MKrx+PPfaYaNWqlZBlWQjROI8XIYQAID777DPluSzLIjIyUrz66qvKspycHKHX68W///1vIYQQv/32mwAgfvzxR6XNN998IyRJEmfOnKmz2mvT1fvFk7179woA4tSpU8qy2NhY8cYbb9RucT7kab+MHTtW3HnnneWu0xiOFyGqdszceeed4tZbb3Vb1tCPGSHK/oyuys+jDRs2CJVKJTIzM5U27777rggMDBRms7lO6mbPbC2xWCzYt28fkpOTlWUqlQrJyclIT0/3YWW+lZubCwAICQlxW/7xxx8jNDQUnTp1wvTp01FUVOSL8urU0aNH0axZM7Rs2RKjR49GRkYGAGDfvn2wWq1ux0779u3RokWLRnfsWCwWrFixAhMmTIAkScryxni8XO3EiRPIzMx0O06CgoKQmJioHCfp6ekIDg5Gz549lTbJyclQqVTYs2dPndfsK7m5uZAkCcHBwW7LX3rpJTRt2hTdunXDq6++Wqd/FvWV7du3Izw8HO3atcPf/vY3XLx4UXmNx4tDVlYW1q9fj4kTJ5Z5raEfM1f/jK7Kz6P09HR07twZERERSptBgwYhLy8Pv/76a53UramTd2mEsrOzYbfb3b64ABAREYHDhw/7qCrfkmUZjz/+OG6++WZ06tRJWT5q1CjExsaiWbNm+O9//4unnnoKR44cwbp163xYbe1KTEzEsmXL0K5dO5w7dw6zZs1C7969cejQIWRmZkKn05X5wRsREYHMzEzfFOwjn3/+OXJycjBu3DhlWWM8XjxxHQuevse4XsvMzER4eLjb6xqNBiEhIY3mWCopKcFTTz2FkSNHIjAwUFn+6KOPonv37ggJCcHu3bsxffp0nDt3DvPmzfNhtbVr8ODBuPvuuxEfH4/jx4/j6aefxpAhQ5Ceng61Ws3jxenDDz9EQEBAmaFdDf2Y8fQzuio/jzIzMz1+H3K9VhcYZqnOTJkyBYcOHXIbGwrAbTxW586dERUVhdtuuw3Hjx9Hq1at6rrMOjFkyBDl8Q033IDExETExsbik08+gdFo9GFl15cPPvgAQ4YMQbNmzZRljfF4oWtjtVpx3333QQiBd9991+21tLQ05fENN9wAnU6Hhx9+GHPnzr0uL9fpDffff7/yuHPnzrjhhhvQqlUrbN++HbfddpsPK7u+LFmyBKNHj4bBYHBb3tCPmfJ+RtcHHGZQS0JDQ6FWq8uc8ZeVlYXIyEgfVeU7qamp+Prrr7Ft2zZER0dX2DYxMREAcOzYsboo7boQHByMtm3b4tixY4iMjITFYkFOTo5bm8Z27Jw6dQqbN2/Ggw8+WGG7xni8AFCOhYq+x0RGRpY54dRms+HSpUsN/lhyBdlTp07hu+++c+uV9SQxMRE2mw0nT56smwKvAy1btkRoaKjyf6cxHy8u33//PY4cOVLp9x2gYR0z5f2MrsrPo8jISI/fh1yv1QWG2Vqi0+nQo0cPbNmyRVkmyzK2bNmCpKQkH1ZWt4QQSE1NxWeffYatW7ciPj6+0nUOHjwIAIiKiqrl6q4fBQUFOH78OKKiotCjRw9otVq3Y+fIkSPIyMhoVMfO0qVLER4ejqFDh1bYrjEeLwAQHx+PyMhIt+MkLy8Pe/bsUY6TpKQk5OTkYN++fUqbrVu3QpZl5ZeAhsgVZI8ePYrNmzejadOmla5z8OBBqFSqMn9mb8j+97//4eLFi8r/ncZ6vJT2wQcfoEePHujSpUulbRvCMVPZz+iq/DxKSkrCL7/84vaLkOsXyISEhDr7IFRLVq1aJfR6vVi2bJn47bffxEMPPSSCg4Pdzvhr6P72t7+JoKAgsX37dnHu3DnlVlRUJIQQ4tixY2L27Nnip59+EidOnBBffPGFaNmypejTp4+PK69dTz75pNi+fbs4ceKE2LVrl0hOThahoaHi/PnzQgghHnnkEdGiRQuxdetW8dNPP4mkpCSRlJTk46rrjt1uFy1atBBPPfWU2/LGdrzk5+eLAwcOiAMHDggAYt68eeLAgQPKWfkvvfSSCA4OFl988YX473//K+68804RHx8viouLlW0MHjxYdOvWTezZs0f88MMPok2bNmLkyJG++kheUdF+sVgs4o477hDR0dHi4MGDbt93XGdW7969W7zxxhvi4MGD4vjx42LFihUiLCxMjBkzxsefrGYq2i/5+fli6tSpIj09XZw4cUJs3rxZdO/eXbRp00aUlJQo22iIx4sQlf9fEkKI3NxcYTKZxLvvvltm/YZ6zFT2M1qIyn8e2Ww20alTJzFw4EBx8OBBsXHjRhEWFiamT59eZ5+DYbaWvfXWW6JFixZCp9OJXr16if/85z++LqlOAfB4W7p0qRBCiIyMDNGnTx8REhIi9Hq9aN26tZg2bZrIzc31beG1LCUlRURFRQmdTieaN28uUlJSxLFjx5TXi4uLxeTJk0WTJk2EyWQSd911lzh37pwPK65bmzZtEgDEkSNH3JY3tuNl27ZtHv//jB07VgjhmJ7rueeeExEREUKv14vbbrutzD67ePGiGDlypPD39xeBgYFi/PjxIj8/3wefxnsq2i8nTpwo9/vOtm3bhBBC7Nu3TyQmJoqgoCBhMBhEhw4dxJw5c9xCXX1U0X4pKioSAwcOFGFhYUKr1YrY2FgxadKkMp0rDfF4EaLy/0tCCLF48WJhNBpFTk5OmfUb6jFT2c9oIar28+jkyZNiyJAhwmg0itDQUPHkk08Kq9VaZ59Dcn4YIiIiIqJ6h2NmiYiIiKjeYpglIiIionqLYZaIiIiI6i2GWSIiIiKqtxhmiYiIiKjeYpglIiIionqLYZaIiIiI6i2GWSKi69j27dshSVKZa6MTEZEDL5pARHQd6devH7p27Yr58+cDACwWCy5duoSIiAhIkuTb4oiIrkMaXxdARETl0+l0iIyM9HUZRETXLQ4zICK6TowbNw47duzAggULIEkSJEnCsmXL3IYZLFu2DMHBwfj666/Rrl07mEwm3HPPPSgqKsKHH36IuLg4NGnSBI8++ijsdruybbPZjKlTp6J58+bw8/NDYmIitm/f7psPSkTkReyZJSK6TixYsAB//PEHOnXqhNmzZwMAfv311zLtioqK8Oabb2LVqlXIz8/H3XffjbvuugvBwcHYsGED/vzzT4wYMQI333wzUlJSAACpqan47bffsGrVKjRr1gyfffYZBg8ejF9++QVt2rSp089JRORNDLNERNeJoKAg6HQ6mEwmZWjB4cOHy7SzWq1499130apVKwDAPffcg+XLlyMrKwv+/v5ISEhA//79sW3bNqSkpCAjIwNLly5FRkYGmjVrBgCYOnUqNm7ciKVLl2LOnDl19yGJiLyMYZaIqJ4xmUxKkAWAiIgIxMXFwd/f323Z+fPnAQC//PIL7HY72rZt67Yds9mMpk2b1k3RRES1hGGWiKie0Wq1bs8lSfK4TJZlAEBBQQHUajX27dsHtVrt1q50ACYiqo8YZomIriM6nc7txC1v6NatG+x2O86fP4/evXt7ddtERL7G2QyIiK4jcXFx2LNnD06ePIns7Gyld7Um2rZti9GjR2PMmDFYt24dTpw4gb1792Lu3LlYv369F6omIvIdhlkiouvI1KlToVarkZCQgLCwMGRkZHhlu0uXLsWYMWPw5JNPol27dhg+fDh+/PFHtGjRwivbJyLyFV4BjIiIiIjqLfbMEhEREVG9xTBLRERERPUWwywRERER1VsMs0RERERUbzHMEhEREVG9xTBLRERERPUWwywRERER1VsMs0RERERUbzHMEhEREVG9xTBLRERERPUWwywRERER1VsMs0RERERUb/1/ucg6bfoex28AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 800x350 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(8, 3.5))\n",
    "\n",
    "for tau in [10.0, 20.0, 40.0]:\n",
    "    model = brainmass.FitzHughNagumoStep(in_size=1, tau=tau * u.ms)\n",
    "    r = brainmass.Simulator(model, dt=0.1 * u.ms).run(\n",
    "        200.0 * u.ms, inputs=stimulus, monitors=[\"V\"]\n",
    "    )\n",
    "    brainmass.viz.plot_timeseries(\n",
    "        r[\"V\"], ts=r[\"ts\"], labels=[f\"tau = {tau:.0f} ms\"], ax=ax\n",
    "    )\n",
    "\n",
    "ax.set_title(\"Recovery time constant tau shapes the spike\")\n",
    "ax.set_ylabel(\"V\");"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "md-next01",
   "metadata": {},
   "source": [
    "## What you learned\n",
    "\n",
    "- A model is a `*Step` object sized for `in_size` regions.\n",
    "- `Simulator(model, dt=...).run(duration, monitors=...)` initialises, steps, and collects\n",
    "  trajectories — `duration / dt` gives the number of steps.\n",
    "- `monitors=[...]` records named state variables; `inputs=` injects an external drive;\n",
    "  `transient=` trims the warm-up from the output.\n",
    "- {mod}`brainmass.viz` turns trajectories into plots in one line.\n",
    "- Changing a parameter and re-running is the basic loop of model exploration.\n",
    "\n",
    "## Next steps\n",
    "\n",
    "- {doc}`/tutorials/02_models_and_dynamics` — tour the model families and watch a parameter\n",
    "  move a system across a **bifurcation**.\n",
    "- {doc}`/tutorials/03_noise` — add stochastic fluctuations.\n",
    "- {doc}`/gallery/index` — a runnable demo for every model in the library."
   ]
  }
 ],
 "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.13.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
