{ "cells": [ { "cell_type": "markdown", "id": "0", "metadata": {}, "source": [ "# Reed Frogs: A Discrete Likelihood Validated Against an Exact Binomial\n", "\n", "This notebook reproduces the multilevel tadpole survival analysis from\n", "McElreath's *Statistical Rethinking* (Ch. 13), using real experimental data\n", "from Vonesh & Bolker (2005). The setup: 48 tanks of reed frog tadpoles\n", "(*Hyperolius spinigularis*) with varying initial densities, predator\n", "treatments, and tadpole sizes. The outcome is the number of survivors.\n", "\n", "The survivor count is a **pure discrete** observation, so the estimator here\n", "is `DiscreteNLE` -- a neural likelihood for discrete data (a\n", "CategoricalMADE over the count, conditioned on the initial density). Because\n", "the Binomial likelihood is tractable, we can fit the exact model in PyMC and\n", "compare it against the learned one. If `DiscreteNLE` has learned the\n", "likelihood well, both approaches recover matching posteriors. This validates\n", "the neural likelihood bridge before moving to intractable simulators in the\n", "next notebook.\n", "\n", "**Outline:**\n", "1. Load and explore the data\n", "2. Exact PyMC model: hierarchical Binomial with varying intercepts\n", "3. Add predator effect and observe variance reduction\n", "4. Train a `DiscreteNLE` on simulated count data and validate it\n", "5. Replace `pm.Binomial` with the `DiscreteNLE` and compare posteriors" ] }, { "cell_type": "code", "execution_count": 1, "id": "1", "metadata": { "execution": { "iopub.execute_input": "2026-07-17T11:44:53.469833Z", "iopub.status.busy": "2026-07-17T11:44:53.469650Z", "iopub.status.idle": "2026-07-17T11:44:55.737589Z", "shell.execute_reply": "2026-07-17T11:44:55.737134Z" } }, "outputs": [], "source": [ "import arviz as az\n", "import jax\n", "import jax.numpy as jnp\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import pymc as pm\n", "\n", "import setu" ] }, { "cell_type": "code", "execution_count": 2, "id": "2", "metadata": { "execution": { "iopub.execute_input": "2026-07-17T11:44:55.738947Z", "iopub.status.busy": "2026-07-17T11:44:55.738767Z", "iopub.status.idle": "2026-07-17T11:44:55.741175Z", "shell.execute_reply": "2026-07-17T11:44:55.740678Z" } }, "outputs": [], "source": [ "# Shared setu-docs figure style: applied when this notebook is executed as a\n", "# docs tutorial (setu_docs_style is on the build's PYTHONPATH); skipped\n", "# harmlessly when the notebook is run standalone from examples/.\n", "try:\n", " from setu_docs_style import set_style\n", "\n", " set_style()\n", "except ImportError:\n", " pass" ] }, { "cell_type": "markdown", "id": "3", "metadata": {}, "source": [ "## The data\n", "\n", "The dataset comes from Vonesh & Bolker (2005), studying predation on\n", "African reed frog tadpoles. The experiment used a 3 x 2 x 2 factorial\n", "design:\n", "\n", "| Factor | Levels |\n", "|--------|--------|\n", "| Initial density | 10, 25, 35 tadpoles per tank |\n", "| Predator | present / absent |\n", "| Tadpole size | big / small |\n", "\n", "Each of the 12 treatment combinations has 4 replicate tanks, giving\n", "48 tanks total. Each tank records the number of survivors." ] }, { "cell_type": "code", "execution_count": 3, "id": "4", "metadata": { "execution": { "iopub.execute_input": "2026-07-17T11:44:55.742187Z", "iopub.status.busy": "2026-07-17T11:44:55.742114Z", "iopub.status.idle": "2026-07-17T11:44:55.754026Z", "shell.execute_reply": "2026-07-17T11:44:55.753629Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
densitypredsizesurvpropsurv
010nobig90.9
110nobig101.0
210nobig70.7
310nobig101.0
410nosmall90.9
510nosmall90.9
610nosmall101.0
710nosmall90.9
810predbig40.4
910predbig90.9
\n", "
" ], "text/plain": [ " density pred size surv propsurv\n", "0 10 no big 9 0.9\n", "1 10 no big 10 1.0\n", "2 10 no big 7 0.7\n", "3 10 no big 10 1.0\n", "4 10 no small 9 0.9\n", "5 10 no small 9 0.9\n", "6 10 no small 10 1.0\n", "7 10 no small 9 0.9\n", "8 10 pred big 4 0.4\n", "9 10 pred big 9 0.9" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "frogs = pd.read_csv(\"data/reedfrogs.csv\")\n", "n_tanks = len(frogs)\n", "density = frogs[\"density\"].values\n", "survivors = frogs[\"surv\"].values\n", "predator = (frogs[\"pred\"] == \"pred\").astype(int).values\n", "size = (frogs[\"size\"] == \"small\").astype(int).values\n", "frogs.head(10)" ] }, { "cell_type": "code", "execution_count": 4, "id": "5", "metadata": { "execution": { "iopub.execute_input": "2026-07-17T11:44:55.755106Z", "iopub.status.busy": "2026-07-17T11:44:55.755036Z", "iopub.status.idle": "2026-07-17T11:44:55.886376Z", "shell.execute_reply": "2026-07-17T11:44:55.885881Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAFUCAYAAAA57l+/AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAhyhJREFUeJzt3Qd4VFX6BvA3vZKEhBJ6770LgqigKAKWVRFdwa5rl9VVbIiuoqIoKiuWtf2FRcVVV1EsKAiCKE16lQ4JJYE00uf/vGeYYZJMQkJmMu39+YzM3Llz58y9kzn3u+c75wRZLBYLRERERERERMTlgl2/SRERERERERFR0C0iIiIiIiLiRmrpFhEREREREXETBd0iIiIiIiIibqKgW0RERERERMRNFHSLiIiIiIiIuImCbhERERERERE3UdAtIiIiIiIi4iYKukVERERERETcREG3iJ9q3rw5rrvuOrdtf8GCBQgKCjL/VuSJJ54w6x0+fNhtZREREQl0rPdHjBgBf3D22Webm7vs3LnTnJu89957bnsPEUcKusWj+GPHHz3eFi9eXOZ5i8WCJk2amOf9pSIR9/jXv/7l8cpzyZIl5iLD0aNH4QueeeYZfP75554uhohIjZxn8BYZGYm2bdvizjvvRGpqqtv3vH5nRYQUdItXYCU4a9asMssXLlyIvXv3IiIiwiPl8mWbN2/GW2+9hUDhLUH3pEmTFHSLiHiZJ598Ev/3f/+H1157DQMGDMDrr7+O/v37Iycnx63vq6D79Hz33XfmJuIvFHSLVxg+fDg++eQTFBYWlljOQLxXr15ITk5GoKvqiQEvVISFhbmtPL4sOzvb00UQEZEadOGFF+Kvf/0rbrrpJnOB9t5778WOHTvwxRdfVHvb7g7cA7HeDQ8PNzcRf6GgW7zCmDFjcOTIEXz//ff2Zfn5+ZgzZw6uvvpqp68pLi7Gyy+/jE6dOpmW8vr16+PWW29Fenp6ifVYoV500UVo2LChCURbtWqFp556CkVFRSXWY9+hzp07Y8OGDTjnnHMQHR2NRo0a4fnnn6/UZ2DZBw4ciISEBMTGxqJdu3Z4+OGHy6S4sR/RqfpG28qyYsUKnHXWWaYs3BZT7Fu2bOn0/XnFvnfv3k77dC9fvty8x/vvv1/mdd9++6157quvvjKPd+3ahdtvv92UPyoqCklJSbjiiivKlLuq2Kf7yiuvRFxcnNnmPffcg9zcXPvzgwcPRrdu3Zy+lmUZNmxYudvmZ12/fr3JjLClENr6gtn2O5/j56pXrx4aN25sf+0333yDQYMGISYmBrVq1TLfFW7L0Zo1a8y+5L7nd40XgW644QbznbVhWvkDDzxg7rdo0cJeDtt+432mM/LiUseOHc2+5TFbu3atef6NN95A69atzfZZdmf7e9myZbjgggsQHx9vvhPcZ7/88ovTPvTbtm0zZeb3ketff/31JU4MuQ5PgvidsJXVnWMAiIh4k3PPPdf8y8Db5sMPPzQX+vn7nJiYiKuuugp79uwp8bry6mdnKvqdrWxda6vD+Fs/fvx41K1b19RXl156KQ4dOnTKz8n3Dg0NtddP5eF5AuvZOnXqmPKwHmM9d6pxXJz1jeZn5HnQ9u3bTaMK69ZrrrnG1IFc7uwiBc8DWbfazs0c+3SzGwA/AzPJnGX18f2ZwUBpaWm4//770aVLF/NePOfgBZc//vjjlPtKxJ1C3bp1kUpi0MQA5D//+Y/5cbQFQ8eOHTOV3iuvvFLmNQyw+SPPYOLuu+82FSd/dFetWmUqJ1srL9fhDy8rK/77448/4vHHH0dGRgamTJlSYpsM2BnUXHbZZSZAZND/4IMPmh9vW7mcYZDGgLhr164mhY3BPYOe0gFRVTCg43vy8/PqPC8q8GRg7Nix+P3339GnTx/7uqy8f/311zKfx4bBOAPGjz/+GOPGjSvx3EcffYTatWvbg1pum2nSfF8Gp6xQmYbHyo8XJHiCcTq4P3mcJ0+ebMrKY8r9/cEHH5jnr732Wtx8881Yt26dOaGxYXm2bNmCRx99tNxt8+LLXXfdZY7vI488YpZxfzniyQ1PVnjsbVfcmWrI/cHP/txzz5kTAX5WXjzh94jltV1Q+fPPP813jScFPN5vvvmm+ZefhRU+vzMsJ7/DL730kjlxIb6nzaJFi/C///0Pd9xxh3nMfcHvzT/+8Q+THs8ycp/wQg9PdvhdteF9fh/4HZg4cSKCg4Px7rvvmhNHbrdv375l9jdPmvgeK1euxNtvv20uOPBz2j47W3z4ultuucUs4wUpEZFAwICQGOzS008/jccee8z8dvK3kQHtq6++agJr1ge8gFlR/exMRb+zVa1rWcexrubvP9dlvccglnV4eVhP3XbbbeaiwD//+c9y1zt48CDOP/98U1899NBD5rPyPf773//idDFzkXUr69MXXnjBfB7WqdOnT8fcuXPNBQYb1r1ffvmlCdZDQkLKbIv7lxeZeQ7Dz++In5+vsW2PdTXHKuFj1oEM2HlRm6/nfmUDjIhHWEQ86N1337Xwa/j7779bXnvtNUutWrUsOTk55rkrrrjCcs4555j7zZo1s1x00UX21y1atMi8bubMmSW2N2/evDLLbdtzdOutt1qio6Mtubm59mWDBw82r/3ggw/sy/Ly8izJycmWv/zlLxV+jpdeesm89tChQ6f8rDt27Cix/KeffjLL+W/pssyYMaPEuseOHbNERERY/v73v5dY/vzzz1uCgoIsu3btsi/jPhs3bpz98YQJEyxhYWGWtLS0Ep8vISHBcsMNN1S4v5YuXVpm3zgrtzMTJ040640aNarE8ttvv90s/+OPP8zjo0ePWiIjIy0PPvhgifXuvvtuS0xMjCUrK6vC9+nUqZPZb+Xt94EDB1oKCwvtyzMzM81nv/nmm0usn5KSYomPjy+x3Nk++c9//mO2+/PPP9uXTZkyxekxJi7nsXN87o033jDL+R3LyMgocawct1NcXGxp06aNZdiwYea+Y7latGhhOe+888rsb8djSpdeeqklKSmpxDLuV8fviIiIv7HVAT/88IOpo/fs2WOZPXu2+T2Mioqy7N2717Jz505LSEiI5emnny7x2rVr11pCQ0NLLC+vfi5Peb+zla1rbeUfOnRoid//++67z5SZdaeN47nStGnTzHnBU089dcoyfvbZZ/ZzsfKUV+eznuJyltOGn5fLHnrooRLrsvyNGjUqc0718ccfl6lPuZ8d63Rbfclj4qhjx46Wc8891/6Y53VFRUVlysj698knn6yw3CLupPRy8Rq8unz8+HGT5pyZmWn+LS+1nCm6TJk977zzTNqy7cZWQLZ2/vTTT/Z1mSZlw+1yPaYT88rqpk2bSmyXr+VVaxv2J+IVal45rYjtCjhT2Zn27gpsLWfLqiNbmhSv9lrjuJNXes844ww0bdq03O2NHj0aBQUFJa5cc5ASjrTN55ztL67PK/pMe+ZnZIvp6bK17jpetaevv/7a/MvjefHFF5uWYttnY5oZP9sll1xi0umqg63ojlfQ2XrNz86UNsfvENfp169fud8hpsRzPe5vqso+GTJkiL31nPg+9Je//MWk35VebvverV69Glu3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M8JAjnUsf+c52BoHMWN9ezrK+511V11rw3qQdRWnIGOgymknWVc4w+CX5yzMNuS+4KCzb731llmf5xvEcrIbGy8M8FyK63HgtdL93SuDdS7Lx7qSwXdlGw6I6/JiPMvLz1W6GyL3K8/JWE/yHHDt2rWmKyKnTRXxKLeOjS5ShSnDKlJ6yjCbN99809KrVy8z7QenG+vSpYvlH//4h2X//v32dX755RfLGWecYdZp2LChef7bb791Ok0Xp50qjVNf8P0rMn/+fMvFF19sth8eHm7+HTNmjGXLli0l1tu+fbuZ9oNTV9SvX9/y8MMPW77//vtKl8XRNddcY59GpLx95myakq1bt5rX8bZ48eIyz6enp1uuv/56S506dSyxsbFmmqpNmzaV2V5VpwzbsGGD5fLLLzfHqXbt2pY777zTcvz4caev4RRofM0zzzxjqSxO9cXvCLfP19qmGjnVd4zl52fkNGGcsqxVq1aW6667zrJ8+XL7OpxShlNucYoxrsfp7Pgd43b5+RxxehZOiRIcHFxi2i/ev+OOO0qsa5uyhFONlS4Tl3/yyScllq9atcpy2WWXmalu+B3iMbnyyivN96/0/i49fZ2zKet4XM866yzzt8HnNH2YiATqeQZ9+umnZnpJTvPFW/v27c3v9ubNm6tUPzsq73e2snVteeV3Vgc7O1datmyZqRdZBmfTlNHKlSvNOUvTpk1N3VKvXj3LiBEjStSDxHqF031xylXW45x+dd26dU6nDOP+q8gjjzxiXte6dWunz5eeMsyG02va9uWHH35Y5nlOGcZpVRs0aGDWO/PMM81UbKW3pynDpKYF8X+eDftFREpipsJ9991nWhwqmgZNRERERMTbKegWEa/C64BMOWeKXem5UUVEREREfI36dIuIV8jOzjZTmDHQZh+sL774wtNFEhERERGpNrV0i4hXYCo5B5jhoCi33367mbJERERERMTXKegWERERERERcRPN0y0iIiIiIiLiJgq6RURERERERNwk4AZSKy4uxv79+1GrVi0EBQV5ujgiIiJOR/HPzMxEw4YNERwcuNfHVWeLiIg/1NcBF3Qz4G7SpImniyEiInJKe/bsQePGjQN2T6nOFhERf6ivAy7oZgu3bcfExcV5ujgiIiJlZGRkmAvEtjorUKnOFhERf6ivAy7otqWUM+BW0C0iIt4s0LtBqc4W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M9CvXz+8/PLLGDZsGDZv3ox69eqVWX/JkiUYM2YMJk+ebOajnDVrFi655BKsXLkSnTt39shnEBERkZrFlPKwsDBzExER8WYez/mZOnUqbr75Zlx//fXo2LGjCb6ZkvTOO+84XX/atGm44IIL8MADD6BDhw546qmn0LNnT7z22ms1XnYRERERERERrw26OdDGihUrMHTo0JMFCg42j5cuXer0NVzuuD6xZby89UVEREREREQCMr388OHDpi9W/fr1Syzn402bNjl9Dft9O1ufy53Jy8szN5tjx46ZfzMyMuAqmRk5CCs6jgiL+pWdjrCiQmRmZCAjpBCulJ1XiHqRxSiIdelmAwb3Hf9OiiJc/DORkQkUhgPF0a7dbqDgvuM+DHbdb5iRlwWENwBiCly73UDBfcd6JcI101jZ6iiOBB3IbJ/flXW2iIiIq1S2vvZ4n253Y9/vSZMmlVnepEkTj5RHnLtfO8YrTfN0AaQcj2jPeKU3Xb7FzMxMxMfHI1Dx85PqbBER8Wanqq89GnTXqVPHjHCZmppaYjkfJycnO30Nl1dl/QkTJpiB2myKi4uRlpaGpKSkgBhVk1dfeLKyZ88exMXFebo4coKOi3fScfFOgXhceMWcFXjDhg0RyPj5edxr1apV7To7EL9H7qJ9qf3oTfR91L70hfo61NNTfvTq1Qvz5883I5DbgmI+vvPOO52+pn///ub5e++9177s+++/N8udiYiIMDdHCQkJCDQ8wdBJhvfRcfFOOi7eKdCOSyC3cDuO89K4cWOXbjPQvkfupH2p/ehN9H3UvvTm+trj6eVshR43bhx69+5t5ubmlGHZ2dlmNHMaO3YsGjVqZNLE6Z577sHgwYPx4osv4qKLLsLs2bOxfPlyvPmm69P6RERERERERKrD40H36NGjcejQITz++ONmMLTu3btj3rx59sHSdu/eba502wwYMMDMzf3oo4/i4YcfRps2bfD5559rjm4RERERERHxOh4Puomp5OWlky9YsKDMsiuuuMLc5NSYWj9x4sQyKfbiWTou3knHxTvpuIi+R95Ff5Paj95E30ftS18QZAn0+UhERERERERE3ORk3raIiIiIiIiIuJSCbhERERERERE3UdAt1cZ+95w/9ejRo9qbXkTHpeY0b97czLwg3kXHRURERLyBgm4RERHxe9OnTzcXYiIjI9GvXz/89ttvni6SV/v5558xcuRINGzY0FxY50wxjjgkEGeeadCgAaKiojB06FBs3brVY+X1Vpzytk+fPqhVqxbq1auHSy65BJs3by6xTm5uLu644w4kJSUhNjYWf/nLX5CamuqxMnur119/HV27drXPx92/f39888039ue1H0/Ps88+a/7G7733Xu1LN1LQLfbKs7CwUHvDy+i41Jz8/PwafDepLB0XcYWPPvoI48ePN7N5rFy5Et26dcOwYcNw8OBB7eByZGdnm/3EixXOPP/883jllVcwY8YMLFu2DDExMWafMvCRkxYuXGgC6l9//RXff/89CgoKcP7555v9a3Pffffhyy+/xCeffGLW379/Py677DLtxlIaN25sAsQVK1Zg+fLlOPfcc3HxxRdj/fr12o+n6ffff8cbb7xhLmY40nfSDTh6uXjO4MGDLXfddZflgQcesNSuXdtSv359y8SJE0uss2vXLsuoUaMsMTExllq1almuuOIKS0pKSrnb3LFjB0ekt/znP/+x9O/f3xIREWHp1KmTZcGCBfZ1fvrpJ7PO119/benZs6clLCzMLCsqKrI888wzlubNm1siIyMtXbt2tXzyyScltj937lxLmzZtzPNnn3225d133zXbSk9Pt/gLHRf/OIZ33HGHucXFxVmSkpIsjz76qKW4uNg836xZM8uTTz5pufbaa83f1bhx48zyRYsWWQYOHGi+340bNzZ/n1lZWfbtpqamWkaMGGGe59/Jhx9+aLb10ksveeyz+hIdF/GEvn37mt8CG9Z1DRs2tEyePFkHpBJYx3/22Wf2x/wdTU5OtkyZMsW+7OjRo+Z8g+ceUr6DBw+a/blw4UL7fuM5mOO51saNG806S5cu1a48BZ47v/3229qPpyEzM9Ocz3///fembr7nnnv0nXQjBd0exi85A4InnnjCsmXLFsv7779vCQoKsnz33Xf2E4Pu3bubIGD58uWWX3/91dKrVy/zulMF3QwY5syZY9mwYYPlpptuMoHF4cOHSwTdDKr5Xtu2bbMcOXLE8s9//tPSvn17y7x58yzbt283ATUrUVvAvnv3bvN4/Pjxlk2bNpmAgxcK/DHo1nHx/WMYGxtrKhHbdzU6Otry5ptvmucZKPMYv/DCC+b7b7vx4hYDaP49/vLLL5YePXpYrrvuOvt2L7zwQku3bt3MyRD/JgcMGGCJiopS0K3jIl4qLy/PEhISUiJopLFjx5oL2lL1oJvnB1y2atWqEuudddZZlrvvvlu7tAJbt241+27t2rXm8fz5852eQzVt2tQydepU7ctyFBYWmgs84eHhlvXr12s/ngb+Bt57773mvmPQre+keyjo9jB+yRlQO+rTp4/lwQcfNPcZEPNkgcGuDX9c+AP922+/VRh0P/vss/ZlBQUFJgh/7rnnSgTdn3/+uX2d3NxcE5QsWbKkxPZuvPFGy5gxY8z9CRMmWDp27FjieZbVH4NuHRffP4YdOnSwt2zbvqtcZgu6L7nkkjLf9VtuuaXEMrZ8BwcHW44fP27ZvHlzmb89W4uEWrp1XMQ77du3z/yNlq7bmGHGFnCpetDNC5Jctn///hLrMRPvyiuv1C4tBxtSLrroIsuZZ55pXzZz5kwTOJbGc8F//OMf2pelrFmzxlwc57lxfHy8yb7Ufqw6XrDo3LmzObcpHXTrO+keoe5IWZeqKd2PgoOS2PqZbdy4EU2aNDE3m44dOyIhIcE8x8E5ysMBJmxCQ0PRu3dv8xpHXGazbds25OTk4LzzzivTp7JHjx728nAAmvLex5/ouPi+M844wwwO4vhdffHFF1FUVFTm+09//PEH1qxZg5kzZ9qX8XyzuLgYO3bswJYtW8zfUq9evezPt2/f3vw9io6LiEhF2Ld73bp1WLx4sXbUaWrXrh1Wr16NY8eOYc6cORg3bpzpBy+Vt2fPHtxzzz1mjAEOLCk1Q0G3FwgLCyvxmEECT/JrAgc+scnKyjL/zp07F40aNSqxXkREBAKNjov/c/z+2/4Gbr31Vtx9991l1m3atKkJukXHRXxLnTp1EBISUmY0aD5OTk72WLl8mW2/cR+yocCGj7t37+7BknmvO++8E1999ZUZFZ4DgjnuSzZucNpVxwu4+n46Fx4ejtatW5v7vADOgcCmTZuG0aNHaz9WEgeiY+Nez5497cvYGMHv5muvvYZvv/1W+9INNHq5l+vQoYO5IsWbzYYNG8yPM1u8K8KRMm04Mjn/yLi98nB7DK53795tftAcb7aWdr6+9DQrju8TKHRcfANH1C39XW3Tpo05AXeGFRD/vkp//3ljRc9Wbdvfkg2nftEc9Tou4r34t8uT8/nz59uX8cI2H/trppa7tWjRwgSLjvs0IyPD/OZqn5bEbCkG3J999hl+/PFHs+8c8bvJi/yO+5L1Cs/FtC9PjX/LeXl52o9VMGTIEKxdu9ZkDNhuzPy75ppr7Pf1nXQ9tXR7Oc572aVLF/OH8PLLL5sT/ttvvx2DBw8ukxpbGqf5YIDBAPGll15Ceno6brjhhnLX5xyS999/v5kmgD9iAwcONOk7v/zyi5kPkSk8t912m0nPfeCBB3DTTTeZ4OO9995DoNFx8Q08aeE0QWy95jRBr776qvn+lufBBx80Kek8QeL3my3hDMKZgsWrv0xru+CCC8z2OF8oU805ryXnqBUdF/Fe/B1gHcZ6s2/fvqY+5ZRN119/vaeL5rWY+cNuZzbsYsMT8sTERJP5w9++f/7zn+Y8g4HkY489Zub05jzUUjKlfNasWfjiiy/MeVZKSopZHh8fb+oO/nvjjTea7yj3Lc+37rrrLhNwsz6SkyZMmIALL7zQfP8yMzPNfl2wYIFpmdV+rDx+Dzt37lxiGc93OE+8bbm+k27gpr7iUkmOAxfYXHzxxfbpi6ozZdisWbPMIDEcoIODn/3444/2dWwDqZUe/IyDTr388suWdu3amSks6tataxk2bJh9agv68ssvLa1btzajmA8aNMjyzjvv+OVAajouvn8Mb7/9dsttt91mRinntCIPP/xwiSnDnA1+xkHSzjvvPDPyOf/mOML/008/bX/+wIEDZiAcfv85uuwHH3ygKcN0XMQHvPrqq+ZvlnUi60bOBiLls50nlL7Zzk/4W/rYY4+ZGUz4ezhkyBAz2KSU5Gwf8sbZYWw4mBXrK9ZTHND20ksvNXWNlHTDDTeY+pZ/wzw/5XfONtuP9qNrz3v1nXS9IP7PHcG8eM7OnTvNVedVq1apb5UX0XGpWWeffbb5/rNFS7yHjouIiIgEGvXpFhEREREREXETBd0iIiIiIiIibqL0chERERERERE3UUu3iIiIiIiIiJso6BYRERERERFxEwXdfjASMOfKLE/z5s01erOfeOKJJ0qMRn/ddddpPtQq0t9L4NDfi4iIiHiLUE8XQNzr999/NxPei4j+XkRERESk5ino9nN169b1dBFEfIb+XkRERETE1ZRe7gcKCwtx5513Ij4+HnXq1MFjjz0Gi8XiNL1806ZNGDhwICIjI9GxY0f88MMPCAoKwueff+7BT+Cb5syZgy5duiAqKgpJSUkYOnQosrOz7WnfzzzzDOrXr4+EhAQ8+eST5jg98MADSExMROPGjfHuu++W2N6DDz6Itm3bIjo6Gi1btjTHsaCgwGOfz1/p78Uz9PciIu60c+dOcz6zevXqKr0uPz8frVu3xpIlS7ymTDXVpap0Nxxxn8OHD6NevXrYu3evdnOAUtDtB95//32Ehobit99+w7Rp0zB16lS8/fbbZdYrKioywSCDumXLluHNN9/EI4884pEy+7oDBw5gzJgxuOGGG7Bx40YsWLAAl112mf1ix48//oj9+/fj559/Nsdj4sSJGDFiBGrXrm32/W233YZbb721xI9vrVq18N5772HDhg3mOL711lt46aWXPPgp/ZP+Xmqe/l5EhMFnRTcGgJ4wY8YMtGjRAgMGDNBBcpGabszxtvGLnI25w0axsWPHmvNBCUxKL/cDTZo0McEZf+TatWuHtWvXmsc333xzifW+//57bN++3QSIycnJZtnTTz+N8847z0Ml9+0ggi2mDLSbNWtmlrHV24at2a+88gqCg4PNMXn++eeRk5ODhx9+2Dw/YcIEPPvss1i8eDGuuuoqs+zRRx8tUYHcf//9mD17Nv7xj3/U+OfzZ/p7qXn6exER/g7YfPTRR3j88cexefNm+7LY2Nga30m8UP7aa6+ZbLTqYGt5eHi4y8pVU9v2JH/9XBW5/vrr0atXL0yZMsWcJ0pgUUu3HzjjjDNMwG3Tv39/bN261bRsO2LlxoDDFnBT3759a7Ss/qJbt24YMmSICbSvuOIK0yqdnp5uf75Tp04m4LZhmrljUB4SEmJS0g8ePFjiJOTMM880x4cnHwzCd+/eXYOfKjDo76Xm6e9FRFi32W7sDsfzFttjds265pprTF3J+q9Pnz6m+5sjXoxmty1mmDEzrGnTpiZjrzw8B+K67du3L7cuXbFihWmMuOiii0osZ+PFueeea+8+dssttyArK6tMSyYbLho2bGgurhMzDnv06GG68PXu3RurVq0q857r1q3DhRdeaD4nP++1115rUo8dU8LZZZBp4WwdHTZsWKVex33IllQ+36BBA7z44ouV/tK98cYb5vyQmZBXXnkljh07ZpYzWy8sLAwpKSkl1mfZBg0a5HRbPE506aWXmmNse2xLZWcmJjMLuI/o6NGjuOmmm8yYKnFxcWa///HHH/bt8fhcfPHF5X43uL927dqF++67z541QcwcZPe+r776yhwffrbLL7/cNIAw443l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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(10, 3.5))\n", "\n", "# Left: survival proportion by treatment\n", "ax = axes[0]\n", "for i, (pred_val, pred_label) in enumerate([(0, \"no predator\"), (1, \"predator\")]):\n", " for j, (sz_val, sz_label) in enumerate([(0, \"big\"), (1, \"small\")]):\n", " mask = (predator == pred_val) & (size == sz_val)\n", " props = survivors[mask] / density[mask]\n", " x_pos = i * 2 + j\n", " ax.bar(\n", " x_pos,\n", " props.mean(),\n", " yerr=props.std(),\n", " capsize=4,\n", " color=f\"C{i}\",\n", " alpha=0.6 + 0.3 * j,\n", " edgecolor=\"w\",\n", " )\n", "ax.set_xticks(range(4))\n", "ax.set_xticklabels([\"no pred\\nbig\", \"no pred\\nsmall\", \"pred\\nbig\", \"pred\\nsmall\"])\n", "ax.set(ylabel=\"Survival proportion\", title=\"Mean survival by treatment\")\n", "\n", "# Right: raw survival by tank, ordered by treatment\n", "ax = axes[1]\n", "colors = [\"C0\" if p == 0 else \"C1\" for p in predator]\n", "ax.scatter(range(n_tanks), survivors / density, c=colors, s=20, alpha=0.7)\n", "ax.axhline(0.5, color=\"gray\", ls=\"--\", alpha=0.3)\n", "ax.set(\n", " xlabel=\"Tank (ordered by treatment)\",\n", " ylabel=\"Survival proportion\",\n", " title=\"Per-tank survival\",\n", ")\n", "# Manual legend\n", "ax.scatter([], [], c=\"C0\", label=\"no predator\")\n", "ax.scatter([], [], c=\"C1\", label=\"predator\")\n", "ax.legend(fontsize=8)\n", "\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "id": "6", "metadata": {}, "source": [ "## Model 1: varying intercepts\n", "\n", "Following McElreath (Ch. 13), the first model uses a hierarchical Binomial\n", "with partial pooling over tanks. Each tank $j$ has its own survival\n", "log-odds $\\alpha_j$, drawn from a shared population distribution:\n", "\n", "$$\n", "S_j \\sim \\mathrm{Binomial}(N_j,\\, p_j), \\qquad\n", "\\mathrm{logit}(p_j) = \\alpha_j\n", "$$\n", "$$\n", "\\alpha_j \\sim \\mathrm{Normal}(\\bar\\alpha,\\, \\sigma), \\qquad\n", "\\bar\\alpha \\sim \\mathrm{Normal}(0,\\, 1.5), \\qquad\n", "\\sigma \\sim \\mathrm{Exponential}(1)\n", "$$\n", "\n", "A non-centered parameterization ($\\alpha_j = \\bar\\alpha + \\sigma z_j$,\n", "$z_j \\sim \\mathrm{Normal}(0,1)$) helps the sampler." ] }, { "cell_type": "code", "execution_count": 5, "id": "7", "metadata": { "execution": { "iopub.execute_input": "2026-07-17T11:44:55.887359Z", "iopub.status.busy": "2026-07-17T11:44:55.887285Z", "iopub.status.idle": "2026-07-17T11:45:00.840814Z", "shell.execute_reply": "2026-07-17T11:45:00.840393Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
a_bar1.3450.2560.8901.8540.0070.0041416.02727.01.0
sigma1.6180.2121.2282.0170.0050.0031816.03439.01.0
\n", "
" ], "text/plain": [ " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk ess_tail \\\n", "a_bar 1.345 0.256 0.890 1.854 0.007 0.004 1416.0 2727.0 \n", "sigma 1.618 0.212 1.228 2.017 0.005 0.003 1816.0 3439.0 \n", "\n", " r_hat \n", "a_bar 1.0 \n", "sigma 1.0 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "with pm.Model() as model_intercepts:\n", " a_bar = pm.Normal(\"a_bar\", 0, 1.5)\n", " sigma = pm.Exponential(\"sigma\", 1)\n", " z = pm.Normal(\"z\", 0, 1, shape=n_tanks)\n", " alpha = pm.Deterministic(\"alpha\", a_bar + z * sigma)\n", " p = pm.math.sigmoid(alpha)\n", " pm.Binomial(\"obs\", n=density, p=p, observed=survivors)\n", "\n", " trace_intercepts = pm.sample(\n", " draws=2000,\n", " tune=1000,\n", " chains=4,\n", " nuts_sampler=\"blackjax\",\n", " nuts_sampler_kwargs={\"chain_method\": \"vectorized\"},\n", " progressbar=False,\n", " random_seed=0,\n", " )\n", "\n", "az.summary(trace_intercepts, var_names=[\"a_bar\", \"sigma\"])" ] }, { "cell_type": "markdown", "id": "8", "metadata": {}, "source": [ "## Model 2: add predator effect\n", "\n", "Predators dramatically reduce survival. Adding a predator coefficient\n", "$\\beta_P$ should explain part of the between-tank variation, causing\n", "$\\sigma$ to shrink:\n", "\n", "$$\n", "\\mathrm{logit}(p_j) = \\alpha_j + \\beta_P \\cdot P_j, \\qquad\n", "\\beta_P \\sim \\mathrm{Normal}(0,\\, 0.5)\n", "$$" ] }, { "cell_type": "code", "execution_count": 6, "id": "9", "metadata": { "execution": { "iopub.execute_input": "2026-07-17T11:45:00.841945Z", "iopub.status.busy": "2026-07-17T11:45:00.841860Z", "iopub.status.idle": "2026-07-17T11:45:03.590357Z", "shell.execute_reply": "2026-07-17T11:45:03.589890Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
a_bar2.1950.2241.7942.6350.0040.0032944.04634.01.0
sigma0.9090.1640.6141.2220.0030.0022446.03917.01.0
beta_pred-1.8260.303-2.377-1.2500.0060.0042328.03950.01.0
\n", "
" ], "text/plain": [ " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", "a_bar 2.195 0.224 1.794 2.635 0.004 0.003 2944.0 \n", "sigma 0.909 0.164 0.614 1.222 0.003 0.002 2446.0 \n", "beta_pred -1.826 0.303 -2.377 -1.250 0.006 0.004 2328.0 \n", "\n", " ess_tail r_hat \n", "a_bar 4634.0 1.0 \n", "sigma 3917.0 1.0 \n", "beta_pred 3950.0 1.0 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "with pm.Model() as model_predator:\n", " a_bar = pm.Normal(\"a_bar\", 0, 1.5)\n", " sigma = pm.Exponential(\"sigma\", 1)\n", " beta_pred = pm.Normal(\"beta_pred\", 0, 0.5)\n", " z = pm.Normal(\"z\", 0, 1, shape=n_tanks)\n", " alpha = pm.Deterministic(\"alpha\", a_bar + z * sigma + beta_pred * predator)\n", " p = pm.math.sigmoid(alpha)\n", " pm.Binomial(\"obs\", n=density, p=p, observed=survivors)\n", "\n", " trace_predator = pm.sample(\n", " draws=2000,\n", " tune=1000,\n", " chains=4,\n", " nuts_sampler=\"blackjax\",\n", " nuts_sampler_kwargs={\"chain_method\": \"vectorized\"},\n", " progressbar=False,\n", " random_seed=0,\n", " )\n", "\n", "az.summary(trace_predator, var_names=[\"a_bar\", \"sigma\", \"beta_pred\"])" ] }, { "cell_type": "code", "execution_count": 7, "id": "10", "metadata": { "execution": { "iopub.execute_input": "2026-07-17T11:45:03.591593Z", "iopub.status.busy": "2026-07-17T11:45:03.591496Z", "iopub.status.idle": "2026-07-17T11:45:03.710055Z", "shell.execute_reply": "2026-07-17T11:45:03.709623Z" } }, "outputs": [ { "data": { "image/png": "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ciUWubXMZVJSkjzyyCPq76+++kpN34lSNaqo33//ffdSTURERJ4J1Ddu3JA8efKov9E+jNI1Fuho0KCBCthERETkxzbqcuXKybJly+Spp56S1atXy/Dhw9X28+fPszqZzF2lH6TV4cFevU0UytwqUWOeb0wVWqZMGalfv740bNjQUrquWbOmp9NIREQUstwqUXfu3FmaNGmiemVjfm9d8+bNVSmbiIiI/BioAR3IbNeAxixhRERE5OdAjXWk33nnHVm7dq1ql05NTU3z/PHjxz2VPiIiopDmVqDu06ePbNy4UV588UU1fac+tSgRERGZIFB///33smLFCq4DTUREZMZe3/nz51fzcRMREZEJS9STJk1SQ7Q++eQTy3zfRET+wJW1KNi5FainTp0qx44dkyJFiqix1NmzZ083xSgRERH5KVB37NjRAx9NREREXgnUEyZMcOdtRERE5KsJT7C8JVbOQhX4yJEjVecyVHmjOrxEiRLu7pa8KViXsyQiCmJuBeq9e/dKixYt1FqaJ0+elJdfflkF6m+++UZOnz6tlrskIiIiPw3PGjFihPTs2VOOHDkiOXPmtGxv27atbNq0yQPJIiIiIrcD9fbt26Vfv37ptqPK+9y5c8xZIiIifwbq8PBwuXr1arrthw8flkKFCnkiXURERORuG3X79u1l4sSJ8uWXX6p/Y65vtE2PHj1aOnXqxIylwOtQ1yzK1ykhIvJeiRoTnly/fl2Vnm/evCmRkZFSrlw5yZMnj7z11lvu7JKIiIg8VaJGb++EhAT56aefZM+ePSpo16pVS/UEJyIiIj8Gaqw9PX/+fDUUC0OzUO1dtmxZKVq0qGiaxiUviYiI/FX1jUCM9mmsR/37779LtWrVpEqVKnLq1Ck1XOupp57yZNqIiIhCnkslapSkMU567dq10qxZszTPrVu3Ts0BjslOunfvHvIZS0RE5PMS9RdffCFjx45NF6ThsccekzFjxsjnn3/ukYQRERGRi4EaU4c+/vjjDp9v06aN6lxmFErnTz75pBQvXly1bS9btizD92zYsEF1XMNYbvQ0RymfiIgoWLkUqC9duqQW3XAEz12+fNnw/lJSUqR69eoyc+ZMQ68/ceKEtGvXTpXod+/eLcOGDVPt5atXrzb8mUREREHbRn337l3Jls3xW7JmzSp37twxvD+UwPEwKi4uTvUwxzhu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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(5, 3))\n", "ax.hist(\n", " trace_intercepts.posterior[\"sigma\"].values.flatten(),\n", " bins=40,\n", " density=True,\n", " alpha=0.5,\n", " label=\"Model 1 (intercepts only)\",\n", ")\n", "ax.hist(\n", " trace_predator.posterior[\"sigma\"].values.flatten(),\n", " bins=40,\n", " density=True,\n", " alpha=0.5,\n", " label=\"Model 2 (+ predator)\",\n", ")\n", "ax.set(\n", " xlabel=r\"$\\sigma$\",\n", " ylabel=\"Density\",\n", " title=r\"Predator effect explains tank variation ($\\sigma$ shrinks)\",\n", ")\n", "ax.legend(fontsize=8)\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "id": "11", "metadata": {}, "source": [ "## setu DiscreteNLE: learning the likelihood from simulations\n", "\n", "Now we replace the exact `pm.Binomial` with a learned likelihood. The\n", "survivor count $S$ is discrete, so we use `DiscreteNLE` -- there is no\n", "continuous channel to model. The approach:\n", "\n", "1. **Simulate training data.** A Binomial simulator outputs the survivor\n", " count $S$; the initial density $N$ enters as a condition.\n", "2. **Train the DiscreteNLE.** A CategoricalMADE models $p(S \\mid \\alpha, N)$\n", " over the possible counts $0, \\dots, 35$.\n", "3. **Validate.** Before trusting the likelihood, `validate()` checks\n", " calibration (SBC), sample quality (C2ST, total variation), and likelihood\n", " accuracy on held-out simulations.\n", "4. **Plug into PyMC.** The trained estimator replaces the Binomial likelihood.\n", "\n", "If the DiscreteNLE learns the Binomial well, the posteriors should match the\n", "exact model. This is the validation step before trusting a learned likelihood\n", "on problems where no exact likelihood exists." ] }, { "cell_type": "markdown", "id": "12", "metadata": {}, "source": [ "### Step 1: simulate training data" ] }, { "cell_type": "code", "execution_count": 8, "id": "13", "metadata": { "execution": { "iopub.execute_input": "2026-07-17T11:45:03.711249Z", "iopub.status.busy": "2026-07-17T11:45:03.711164Z", "iopub.status.idle": "2026-07-17T11:45:04.529722Z", "shell.execute_reply": "2026-07-17T11:45:04.529240Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ":6: UserWarning: x appears to be integer-valued. Consider DiscreteNLE for pure discrete data or MixedNLE for mixed continuous/discrete data instead of NLE.\n" ] }, { "data": { "text/plain": [ "((50000, 1), (50000, 1), (50000, 1))" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def binomial_simulator(theta, key, conditions):\n", " \"\"\"Simulate the survivor count from a Binomial model.\"\"\"\n", " n = conditions[0].astype(jnp.int32)\n", " p = jax.nn.sigmoid(theta[0])\n", " count = jax.random.binomial(key, n=n, p=p)\n", " # Pure-discrete observation: the survivor count. The initial density N\n", " # enters as a condition, not as part of the observation.\n", " return jnp.array([count], dtype=jnp.float32)\n", "\n", "\n", "def prior_fn(key):\n", " \"\"\"Broad prior over logit survival, wider than the hierarchical prior.\"\"\"\n", " return jax.random.normal(key, (1,)) * 3.0\n", "\n", "\n", "def conditions_fn(key):\n", " \"\"\"Draw a random initial density from {10, 25, 35}.\"\"\"\n", " options = jnp.array([10.0, 25.0, 35.0])\n", " idx = jax.random.randint(key, (), 0, 3)\n", " return jnp.array([options[idx]])\n", "\n", "\n", "key = jax.random.key(42)\n", "n_sims = 50_000\n", "key, k_data = jax.random.split(key)\n", "dataset = setu.simulate_dataset(\n", " binomial_simulator, prior_fn, n_sims, k_data, conditions_fn=conditions_fn\n", ")\n", "dataset.theta.shape, dataset.x.shape, dataset.conditions.shape" ] }, { "cell_type": "markdown", "id": "14", "metadata": {}, "source": [ "### Step 2: train the DiscreteNLE" ] }, { "cell_type": "code", "execution_count": 9, "id": "15", "metadata": { "execution": { "iopub.execute_input": "2026-07-17T11:45:04.530972Z", "iopub.status.busy": "2026-07-17T11:45:04.530870Z", "iopub.status.idle": "2026-07-17T11:45:14.115213Z", "shell.execute_reply": "2026-07-17T11:45:14.114580Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "3f2dea845d874d28b99af7bf4d4dd106", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Training: 0%| | 0/300 [00:00" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(6, 3))\n", "ax.plot(result.losses, label=\"train\")\n", "ax.plot(result.val_losses, label=\"validation\")\n", "ax.axvline(result.best_epoch, color=\"k\", ls=\"--\", alpha=0.5, label=\"best epoch\")\n", "ax.set(xlabel=\"Epoch\", ylabel=\"Loss (negative log-likelihood)\")\n", "ax.legend()\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "id": "val-md-01", "metadata": {}, "source": [ "### Step 3: validate before trusting the likelihood\n", "\n", "A learned likelihood must be checked before it replaces the exact one.\n", "`validate()` draws a fresh set of simulations and runs calibration and\n", "sample-quality diagnostics: likelihood-SBC (rank calibration), C2ST and\n", "total variation (do estimator samples match the simulator?), and likelihood\n", "accuracy (does the estimator prefer the true parameters?). MMD and\n", "Sliced-Wasserstein are skipped -- they assume continuous data." ] }, { "cell_type": "code", "execution_count": 11, "id": "val-code-01", "metadata": { "execution": { "iopub.execute_input": "2026-07-17T11:45:14.164521Z", "iopub.status.busy": "2026-07-17T11:45:14.164421Z", "iopub.status.idle": "2026-07-17T11:45:30.646430Z", "shell.execute_reply": "2026-07-17T11:45:30.645754Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Estimator Validation: PASSED\n", "----------------------------------------\n", "Training: PASS\n", " Loss reduced 34.8% (epoch 29/59)\n", "C2ST (marginal): PASS\n", " C2ST=0.511 (n=1000): distributions indistinguishable\n", "Likelihood SBC: PASS\n", " SBC KS D=0.0106 (ranks uniform, well-calibrated)\n", "Total Variation: PASS\n", " TV=0.0790 (n=1000): PMFs similar\n", "Likelihood Accuracy: PASS\n", " Likelihood preference rate 0.898 (estimator correctly prefers true theta)\n" ] } ], "source": [ "from setu.validation import ValidationDataset\n", "\n", "key, k_val, k_check = jax.random.split(key, 3)\n", "val_raw = setu.simulate_dataset(\n", " binomial_simulator, prior_fn, 5_000, k_val, conditions_fn=conditions_fn\n", ")\n", "val_data = ValidationDataset(\n", " theta=val_raw.theta, x=val_raw.x, conditions=val_raw.conditions\n", ")\n", "\n", "report = result.validate(val_data, k_check)\n", "print(report.summary())" ] }, { "cell_type": "markdown", "id": "17", "metadata": {}, "source": [ "### Step 4: hierarchical inference with the DiscreteNLE likelihood\n", "\n", "The trained DiscreteNLE is plugged into the same hierarchical structure.\n", "`pm.Binomial` is replaced by `to_pymc_hierarchical`, which evaluates the\n", "learned log-likelihood for each tank given its parameters and density\n", "condition. We fit Model 2 (with predator effect) for comparison." ] }, { "cell_type": "code", "execution_count": 12, "id": "18", "metadata": { "execution": { "iopub.execute_input": "2026-07-17T11:45:30.648276Z", "iopub.status.busy": "2026-07-17T11:45:30.648158Z", "iopub.status.idle": "2026-07-17T11:45:50.548989Z", "shell.execute_reply": "2026-07-17T11:45:50.548489Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
a_bar2.1890.2241.7722.6080.0050.0032465.03617.01.0
sigma0.8980.1690.5861.2120.0040.0022253.03567.01.0
beta_pred-1.8330.301-2.386-1.2660.0070.0042065.03003.01.0
\n", "
" ], "text/plain": [ " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", "a_bar 2.189 0.224 1.772 2.608 0.005 0.003 2465.0 \n", "sigma 0.898 0.169 0.586 1.212 0.004 0.002 2253.0 \n", "beta_pred -1.833 0.301 -2.386 -1.266 0.007 0.004 2065.0 \n", "\n", " ess_tail r_hat \n", "a_bar 3617.0 1.0 \n", "sigma 3567.0 1.0 \n", "beta_pred 3003.0 1.0 " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "trained_dnle = result.discrete_nle\n", "\n", "# One survivor count per tank -> (n_tanks, x_dim=1); setu auto-expands the\n", "# missing trial axis. Shapes are subject-first: axis 0 indexes tanks.\n", "x_observed = survivors.astype(np.float32)[:, None]\n", "cond_observed = density.astype(np.float32)[:, None]\n", "\n", "with pm.Model() as dnle_model:\n", " a_bar = pm.Normal(\"a_bar\", 0, 1.5)\n", " sigma = pm.Exponential(\"sigma\", 1)\n", " beta_pred = pm.Normal(\"beta_pred\", 0, 0.5)\n", " z = pm.Normal(\"z\", 0, 1, shape=n_tanks)\n", " alpha = pm.Deterministic(\"alpha\", a_bar + z * sigma + beta_pred * predator)\n", "\n", " # alpha is (n_tanks,); DiscreteNLE expects (n_tanks, theta_dim=1)\n", " trained_dnle.to_pymc_hierarchical(\n", " alpha[:, None],\n", " x_observed,\n", " conditions=cond_observed,\n", " subject_dim=\"tank\",\n", " )\n", "\n", " # nuts_sampler=\"blackjax\" keeps the whole step in JAX (no PyTensor\n", " # per-step overhead); chain_method=\"vectorized\" runs all chains in one\n", " # vmapped program on a single device; progressbar=False is required with\n", " # vectorized BlackJAX (its IO callback breaks under vmap).\n", " trace_dnle = pm.sample(\n", " draws=2000,\n", " tune=1000,\n", " chains=4,\n", " nuts_sampler=\"blackjax\",\n", " nuts_sampler_kwargs={\"chain_method\": \"vectorized\"},\n", " progressbar=False,\n", " random_seed=0,\n", " )\n", "\n", "az.summary(trace_dnle, var_names=[\"a_bar\", \"sigma\", \"beta_pred\"])" ] }, { "cell_type": "markdown", "id": "19", "metadata": {}, "source": [ "## Posterior comparison\n", "\n", "If the DiscreteNLE has learned the Binomial likelihood accurately, the posteriors\n", "from both approaches should overlap." ] }, { "cell_type": "code", "execution_count": 13, "id": "20", "metadata": { "execution": { "iopub.execute_input": "2026-07-17T11:45:50.550409Z", "iopub.status.busy": "2026-07-17T11:45:50.550308Z", "iopub.status.idle": "2026-07-17T11:45:50.768520Z", "shell.execute_reply": "2026-07-17T11:45:50.768110Z" } }, "outputs": [ { "data": { "image/png": "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SpUqblotjy7ivWXRetNFuQIj3nrUvEai/UzfwUj7+7Rp01zWhPYJ0TwpsKH1qSDE3//+d6tataqtWrXKToW+4wpUKFAbTUa3X3rrJq3vhII8rVq1snnz5rnAh8YrYKf31H4k2jf0ffGCU9761X6YmWOCgjPar7U/qIlLVtmzZ0+qQfMEAMigAAAglVdeeUW32wPz5s0L7N69O7B169bA1KlTA6VLlw4UKVIksG3btsCaNWvcNP369Qt77T333OPGf/TRR8Fx1apVc+Peeeed4Lj9+/cHKlasGGjSpElw3LBhw9x00eZn06ZNwXFt27Z1g+f48eOBo0ePhr3ul19+CZQvXz7Qt2/f4Dgtj95Ln5VSys/PzDIuWrQoOO6nn34KFCpUKHD33Xenu5elXMZff/01ULJkyUD//v3Dptu5c2egRIkSYeNbt24daNasWdh0y5cvd+/32muvuccnT54M1KpVK9C5c2f3t+e3334L1KhRI9CxY8eo8xJN79693XS33357cJze+/LLLw8ULFjQrevQzwl17NixwLnnnhu4+OKLw8br/fLmzRtYt25dqs+L5T203kPn/8UXX3TjK1SoEDhw4EBw/JAhQ8KWNZb1NHr06IjrafPmzYF8+fIFHnnkkbDxa9euDeTPnz9svPZhvceECRPCpp05c6Yb//nnnwcysg3S21affPKJm+6NN94IGz9nzpxU4zWf2n7a7/Udqly5cqB58+aB33//Pebvm74jev///d//TTVPoev3tNNOc8uSEd621HyGqlevXti+0KhRI7cvxmrBggXu/adPnx51Gr33GWecEfU7k5Htl9F1E+07ceONN7pj6J49e8LG9+jRwx0jvO+L5kHvoXlM+RmxHhP0Xt99953bj0PnW/tx/fr1w95fx8T01r+3/0YaNF8AgIwhYwMA0tChQwd3B1p3E5WhoMyBmTNnWuXKlV0RUbnrrrvCXqO75JLyLrqaKChLwlO8eHF352/16tW2c+fOU94OulOrVHkvvfvnn392zUhUIySzd2hjXUY1e9BdZ4/WXZ06dVxTjVgpk0V3TpUVEHoXU8vZsmXLsJR/3cVVUwYvo8a7e6274FdddZV7rLvoypr561//6jIEvPdTE4BLLrnEFi1a5NZbZuhuccq0eTVV0J1kj+5we9T0Yf/+/W5dRdo2uiOvdZlSLO+hZfIyPUTr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2rTJRXbUr60uYLlDD53MKuC1e/dut3/UqlUr4fumBwD8cQdQQQ0FtsuWLcs5AYLnBTon0L6hcwIyN4D44TiN7DxO+zawoYtXBTfU/YtOYgBPkSJFXDrTDz/84PaTwoULs3IAIMGp+YlOjhTU0O8A4NE+sXnzZrePENgA4ofjNLLzOO3bwIaHu/HILfvF2LnfRH3uzo61c3ReACBZj11kb4J9AonO78dtjtPIjn2CHP0sVr16datTp441btw4OKxduzarP8bWrFljU6dOjfr8lClTrESJEu7zGzVqZA0bNrR33303+Pxll11mGzZssJyi+fj1118ztFPv27cvR+YJAIDsxDlBZJwTAMgtOE4nznHa9xkbsUQwT0Us0c9p06a5nSE7KbAxa9Ys69GjR9Rp2rdv76aRZcuW2ZVXXmlXXXWVezx79mzLSZpfAAAS4ZwglvMCzglS45wAgIdrt//i2u3UkLGRQ5QdoUqv33//vXv85JNP2qWXXurqhCij44ILLrCmTZtavXr17OGHHw6+TjUi7r33Xjv33HNd5oVe89NPP9nQoUNtwYIFLoBy8803p/v5iqSdccYZYdFJ78SiXbt2ds8999iFF15oZ599dtj76bO6detmDRo0cPPw4osvhr3HAw88YG3atHG1TiZMmGCvvPKKtW7d2j0XmlESGs3TZ5133nlu3i+66KIczRwBEt2oUaPc96tYsWJWrlw569q1a7rfMWV46TsaOlCbBsg+nBNwTgDkiAWjog9IE8fpPL67dku4jI3coHv37mGFy5YuXeqap4wePdquvfZaF9QYP368LV++3NWCUBBg/vz5VqhQITt8+LALFHTo0MFatWrlLlK++eYbW7lypXteFWNVXGXEiBEuG8PLyIjEC3yoO9zt27e7u0bRfPfdd256FWxRcEXzrADF7bff7uZ9xowZLsjRrFkzF2DRvMmhQ4dsyZIltnHjRhf8+Pvf/+5e+/nnn7vmLpEySu677z63DkTBjzvuuMPmzJlzimsdgHz88cd22223uR+g48eP2/3332+dOnWyr776yk477bSoK6l48eJhP1S0fwWyBucEnBMAyN04Ti9NiGs3AhvZIFraac+ePV3woHPnzi6QoQCFKJhx6623ugwKBTq2bt3q/lbw4L333rPHH3/cBTXEe01GhKYzffnlly5YsmrVKtc9bqQvdP78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AAAAAADAtwhsAAAAAAAA3yKwAQAAAAAAfCshAhuLFi2yK6+80nV7pS6xVEk6PQsXLrSmTZu6Cq01a9a0KVOmWDKtAy2/pks5qHq3X6nbtPPOO8+KFStm5cqVc12gbdiwId3XTZ8+3c455xxXWbxBgwY2e/Zs87PMrAft/yn3hcxUWs8tXnjhBWvYsKEVL17cDa1bt7Z///vfSbUfJLLx48db9erV3bZq2bKlLV++/JT2bdXQVu8FFStWtCJFiliHDh3s22+/tdy4PO3atYt47FYXkZ4bbrgh1fOXXnqpr3+PY1lH8VyeGTNmWMeOHa1s2bLBY88HH3wQNs1DDz2Uavvo2OPncwW/bJ9I3w0N9evXzxXbJ7v86U9/sqpVq7rto+Pc9ddfbz/++GOarzly5IjddtttVrp0aTv99NPtL3/5i+3atctyo82bN9uNN97ousHVMfzss892vTAcO3YszddFOp7efPPNlkjL6KftKI888ojrJaho0aJWsmTJDL0mnr95ObWM8T5PidXPP/9s//M//+N+B7WM2ncPHjyY7d/HhAhsqPurRo0auR/WjNi0aZM7CWzfvr2tWbPG9Q3er1+/VCcfibwOPLrg3bFjR3DQhbBfffzxx+7gvWzZMps7d679/vvv1qlTJ7duolmyZIn17NnTfeFWr17tggAavvzyS0um9SA6+ITuCz/88IP51ZlnnmmPPfaYrVy50lasWGEXX3yxXXXVVbZu3bqk2Q8S1bRp0+yuu+5yJ3SrVq1yx73OnTvbTz/9lOl9+4knnrBnnnnGJkyYYJ999pmddtpp7j11QpjblkcXzqHLon00X758ds0114RNp5O60Oneeust8+vvcWa2ebyWRxfaCmwoMKrjj5ZLF946roTShXTo9vn000/Nr+cKfto+Tz/9dNhybN261UqVKpXq+xOv7ZNdtB++/fbbbju+88479t1339nVV1+d5mvuvPNO+9e//uWC/jqvUCCkW7dulhutX7/eTp48aS+++KL7nR87dqw7nqvr3PT0798/bFvr9yCRltFP21EUqNH38ZZbbonpdfH6zcupZYzneUpmKKih/VTXIe+99577bVRX1dn+fQwkGC3SzJkz05xm0KBBgfr164eN6969e6Bz586BZFkHCxYscNP98ssvgUT1008/uWX8+OOPo05z7bXXBi6//PKwcS1btgz8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/4MPPgh89913gZUrVwZ69OgRKFy4cGDdunUBP9KyqReYTZs2Bf7zn/+4x6rG/OGHHybNfpCopk6d6iqBT5kyxVXevummmwIlS5YM7Ny5M9P79mOPPebeQz0FaH9RdXVVmj98+HCuWx7PBRdc4HoPifRbcM8997iK99r/dUxv2rRpoFatWoEjR4748vc4vXWUm5bnjTfecMcSLUfo8VcV7D133323Oz5r++jY06FDh0CZMmVcD1Z+PFfw0/bxXHfdda7nq0jiuX2yw7JlywLPPvusWy/q/WX+/PmBNm3aBM4+++zgMWHbtm2BOnXqBD777LPg626++eZA1apVAx999FFgxYoVgdatW7shN9L816xZM3DJJZe4v0O/e6HThC7jxo0bAyNGjHDLpm2t4/9ZZ50VuOiiiwKJsox+246i7672Vf12n3766cHvt77rHi3jjBkzcsVvXk4sY7zPUzLj0ksvDTRp0sTti59++qnbHj179sz272NCBDa87shSDur+R/S/upBJ+ZrGjRsHChYs6FacutxJpnXw+OOPux81neCXKlUq0K5dO3fQ87NIy68hdNtqHXjrxPP2228Hateu7fYFdTv4/vvvB5JtPQwcOND98GkdlC9fPnDZZZcFVq1aFfCrvn37BqpVq+aWp2zZsu5EwAtqJMt+kMh0ku7tr+pqUifup7Jvqyu1Bx980D2vCzTtLxs2bMiVyyPr16933+nQfdqjAGanTp3cfq/gnL4H/fv3z5GLzOz8PU5rHeWm5dHfaU0vCkhVrFjRLUvlypXdY53U+flcwS/bRxRkKlKkSGDixIkR3zOe2yc76CKoffv2bvvp+Fa9enV3sasLC48uJLTetD49umC69dZbXVfpCj7++c9/DruIzk10zIh27hNtGbds2eIumrz1oqCBAqz79+8PJMoy+m07et/ZSMsYukyh57Tx/s3LiWXMDecpsdq7d68LZChwU7x48UCfPn3CAjfZ9X3Mo38ynt8BAAAAAACQeyRld68AAAAAACAxENgAAAAAAAC+RWADAAAAAAD4FoENAAAAAADgWwQ2AAAAAACAbxHYAAAAAAAAvkVgAwAAAAAA+BaBDQAAAAAA4FsENgAAAAAAgG8R2AAAAAAAAL5FYAMAAAAAAPgWgQ0AAAAAAGB+9f8ACfFbSKSjBGUAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 3, figsize=(11, 3))\n", "params = {\"a_bar\": r\"$\\bar\\alpha$\", \"sigma\": r\"$\\sigma$\", \"beta_pred\": r\"$\\beta_P$\"}\n", "for i, (var, label) in enumerate(params.items()):\n", " exact = trace_predator.posterior[var].values.flatten()\n", " dnle_post = trace_dnle.posterior[var].values.flatten()\n", " axes[i].hist(exact, bins=40, density=True, alpha=0.5, label=\"Exact Binomial\")\n", " axes[i].hist(dnle_post, bins=40, density=True, alpha=0.5, label=\"setu DiscreteNLE\")\n", " axes[i].set(title=label)\n", " axes[i].legend(fontsize=8)\n", "fig.suptitle(\"Population-level parameters: exact vs DiscreteNLE\", y=1.02)\n", "fig.tight_layout()" ] }, { "cell_type": "code", "execution_count": 14, "id": "21", "metadata": { "execution": { "iopub.execute_input": "2026-07-17T11:45:50.769876Z", "iopub.status.busy": "2026-07-17T11:45:50.769773Z", "iopub.status.idle": "2026-07-17T11:45:50.856408Z", "shell.execute_reply": "2026-07-17T11:45:50.855902Z" } }, "outputs": [ { "data": { "image/png": "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IiIiIq+3f/9+dOvWrdXnMDB1nGRK2TZaeHi48/cOka+w1ADHSgFJRPSzs/dwrQWoBRAUAfhrnLNMT2or1985+5/IE3jKMYXHKffcpp25r4jcHY9Tvn2c8pRlerCjR4+q5B9brKU1DEwdZ+u+J0EpBqaIHEgO0FqL9cBq78FVliFTUPiJg76jl+lJbeX6O2f/E3kCTzmm8Djlntu0M/cVkbvjccq3j1Oeskwv0JZSSSx+TkRERERERERELsHAFBERERERERERuQQDU0RERERERERE5BIMTBERERERERERkUswMEVERERERERERC7BwBQREREREREREbkEA1NEREREREREROQSbheYWrNmDcaNG4fExET4+fnh008/PelrVq1ahbPPPht6vR49e/bEO++80ylt9TVGoxG5ubkN5sl9me9OPKWdzuLr609EjsVjChGR7+Gxn4h8OjBVUVGBM888E/PmzWvT87Ozs3HxxRcjIyMDW7ZswT333INbb70VX375pdPb6mv/OV155ZVIT09HTk6Omid/5b7Md5egh6e001l8ff2JyLF4TCEi8j089hMRfD0wddFFF+Hxxx/HZZdd1qbnL1iwACkpKfi///s/9OrVC3fddRcmTpyIF154welt9SVHjhzB9u3bkZWVpYKA69evV3/lvsyXx92Bp7TTWXx9/YnIsXhMISLyPTz2ExF8PTDVXhs2bMD555/fYN6YMWPU/NZUV1fj6NGjDSZqmcFgQGZmJlJTU1WQQzJw5K/cl/nyuDvwlHY6i6+vPxE5Fo8pRES+h8d+IupsHh+YysvLQ3x8fIN5cl8CTceOHWvxdXPnzkVERETdlJSU1Amt9WzJyclYtGhRg3lyX+a7E09pp7P4+voTkWPxmEJE5Ht47CeizuTxgSl7zZgxA6WlpXXT/v37Xd0ktye1iiZNmtRgnty31TJyF57STmfx9fUnIsfiMYWIyPfw2E9EncnjA1MJCQnIz89vME/uh4eHIygoqMXXyQh+8pz6E7VMRnWz1SqSbmHr1q2r6y4m8xuPAucqntJOZ/H19Scix+IxhYjId5RUGrHvSAV+3LEHQ4ePUL8fk3uk4Ivly5DaI9n6e3L4UOTu/B4oygIqi1zdZCLyEgHwcIMHD8aKFSsazPv666/VfHKcmJgYpKWlqdtSq0jSe+WvBDtkvjzuDjylnc7i6+tPRI47OSk9ZoIRgUg9rRfMllq899/l6NMtCplL3kXGhOuQdloqYvxKgaJjQGAkEBzNzU9E5MFW/16IJZsPYuvewygNTEBoFyPOveslxNQcQua0Psh47BDSgg8j5odnAJ0WSJsI9LvS1c0mIi/gdoGp8vJy7N69u+5+dnY2tmzZgujoaHWSLV3wDh48WFdD584778Srr76Kv//97/jLX/6Cb7/9Fh999BGWL1/uwrXwrhMTm+cWvIOSoiKExyaoKyTJoWas+9+/ERMdCV35AeuTXHRyUr+ttnbWhsSg9Ei+W7XTWXx9/YnIOScn2w+UwnLOXzFoNPDm5jJMzlmNgaVfY931fogJzoJu5SOAv4YnJ0REXmD4aV3QyxCO2Uu3o+fUp3B3ugFJXRMRiXJEDBqOdZiKmFAddGOfBAJ01t+TRETeGJjatGmTyu6wmT59uvp744034p133lHdCurXyklJSVFBqHvvvRcvvfQSunXrhjfeeEONzEeOOzERad0ioPHzw3hTICb4fwds/RCG3C3WJxv6u/TkpPm2FmFyzM/qJMpd2uksvr7+RJ1Gui1UlTSd72XB3vonJ+IfE9KgD/BHJJKBmuEwmO+3PnH04zw5IaJ2Xeg0Go3qAtqpKUkq4CHH1Ny8AusFNJ3OK4+pniIyWIdArQbBugBAF4CBvVLVfSAEMEXAEHd8n0T1ALSBrm4uEXkRtwtMjRgxArW1tS0+LsGp5l6zefNmJ7fM9zQ+MXlobC91YhIRpAUwCkjoC6xwj5OTltpqO4lyl3Y6i6+vP5GzT6RsYrO/RMhvnwBeHuxtcHIiozNFBzc4OYEu2PpEnpwQUXsyMM0mHF72FEoOZuH5d/+LW7vuQ863byPjsa+RlqDD4vvHQMcuYkREPsftAlPkCScmIhrQBrvNyYmvn0T5+voTdVbG6BW9+2Hs6LMY7CUisuPi2bHSwzhcvB9lhQfxxJSr0WvhPEx6cTuyisyARocjA+6BoWu3Nl1Aa+kCglxAld9F9nDGMn0dtykRtQUDU75w0D+eJt0E06Tt36Y+8OPE19effFv9E6kaswm3DohSdTZUxqjWgtwKP8SE6aBjsJeIqM0Xz4K7JGDlN9/iotHnqxHe0s8fq56TGheCzIdHwHDGOW2+gNbyBYRgjO0ZZNfvXmcs09dxmxJRWzAw5e31oPon1tWD8vauJ526TU8LsjvY11LARxWW9Kuwa5metP5EnnQipfevRebCmZj0fwewKjMTkTHJyNnzOzLmfKu+E4uvMELXxpMoT/nuO4sz1t9ZF2V8fV8ROZMMZiSDGKWnp9fNW3TnICTHhjikjEFs9jJghX1drp2xTF/HbUpEbcHAlJfwpHpQXrFNdy+1O9jXUsDHVqjcXX70OGv9iTxJdXkpig/uUd1OZGAOOZmaNOkGZBVYgxNHjhyBISS8TcvylO++szhj/Z11UcbX9xWRM8kgRpMmTWowb9KCjSpjKtkRZQyCxgDJ9nW5dsYyPZHRbEG12YLiCiMMkfUyxWqMgLkaqDwCRHRt07K4TYmoLRiY8hKeVA/KK7ZpT/uDfZ5SqNxZ60/kSYIjY3HRA/Px4z/vsXY7OX6Fv67bicHQ5mV5ynffWZyx/s66KOPr+4rIWSpLDuPC0VcjOysLqampJ4L9WdnIeGIV1l2aC0NySsfeJNgJv3udsUw3tX73YWw7WAqzxYKp/9mMaeefiqGndgGyVgMHNwMWM/DxX4ARDwCnjHTJNmUJEyLvw8AUUSf/Z+oVhcp96AcaUWhMAt54622MGjG8Q91OPPG73ylXzTuw/s66KOOJ+4rIE+hDI9Cndx/4AcjMzFTd+jK/+gIZ552tMhNjYmJc3USfVlRhxPxVe2CqsUCn8UfJMRNe+XY30iLNiFr3PGAxqSL1OFYMrHkOSDgTCOn8fcYSJkTeh4EpIiKiVpQfycOtj93T4W4nnjZIQaddNScin6EJ0OLfH3yIiqMldRmnEpxaN2ukdUAJHQdXcaX8o1UoqzKroJTG3w9dQnUoqTShpCAHUdVHrUEp6b4cGmcNTpXnuSQwxRImRN6HgSkiIqJWup18/vRkVWPKad1O3HCQAk+5ak5EnsOWgVlhQpNu0IZwDWCubFcWZn0yempubi5SkrvVzcstPmYNdtnZXkct01kXEJyx3PjwQIQFBuBAsQU6+KOw3IjoEB0i45IBfThQkgPI2pcXACGxQGiCS7YpS5gQeR8GpoiIiFrpdhLV9RTEhundstuJswYp8JSr5l6hsoijnJLXazEDU3QwC1OCHZnzZmDNXOvoqXKclgLr9oye6oxltnoBoX/7g3DOXK4EoSaPOAX3ffQLTBYLIoO1mDqyJ6K6dAHSpwOf3gHUmICgaGDY39p13HfGfiIi78HAFBERUSvdTjKmzMXs0clIPn6F1526nThrkAJnXzWnenZ/w1FOyau1lIHZJzEC0SgDOpiF6cjRU52xzFYvIHQgMN3yIA3lQFGWXcsUQ3rGom/XCJXh9uLV/U/UF0wdDiSeZa0vePnCdme2OWM/EZH3YGCKiIjoJMGpJt1OouoVAndXHRikwJlXzakRjnJKXq6lDMyCsipEIxfoYBamI0dPdcYyW72AsNX+wHSLy926osPBbl2Av5qiQhpdfJH9JFNw+4/5zthPROQ9GJgiIiLqhFHpPI2zrpr7qpbrwYQiMoqjnJL3aikDMy5MAuUGh2RhOmr0VGcvs1MC024c7O6UbUpEHsnf1Q0g9ycnJXKlS07MmpCTs+oy68mZO7fVzdrpLL6+/kTOqImyM7dU1URZ+0dhw3oouVut9VD2fOu1G16umIcGBjR/1VwfZtdVc18l9WBmL9uBK/75nZrk9pz/7VTzibyZLQNTq/FvkIEp81VWlGRharQdysJUo6f+5eYG8yYt+B45hwrs/u3T/DI3IuewteuZwzJbJZtVMltlktvRqW3qctepy3SQTtmmROSRGJgi+07M3PDkzNdPIn19/YmcVRNF63+iJkpxYW69eijaE/VQKhj0JZy0HozUgDk1PlRNcnvWuN5qPpG3s2Vg9jFE4JWrzzpR+Lx+FqahHzDxzXYVPhclhwuw/Kk7kZ2VpUZPXbduHVKTDMgqqETG3LXIfeO6dv/2aXaZqSmqHlLG498iN2tnu5ZH3KZE1DoGpqjdJ2YyX52EudHJma+fRPr6+hN1Rk2UsmPWUema1EOpKrXWQ7FjyOz6ZMhso7kGvsAZ69/sMnNzO7xNHdVWqQcjNWCkHoxMcrt7TEiHhosn8ooMzA5kYcpFuT9KAf/oZITEJuLptz7GkP5nIPOunkiN1iAtXocYTXm7fvs0u8whQ5D5xj+QGh2AtJhaxKx6gBf6OrqfuE2JqB4GpqjdJ2ZSrBJluQ45OWtARiaRUUQaTzLfxSeR7s7X15/IWTVRjDUW1FhqVU2UsCDtiVHppHuspcZaDyUwol31UGxDZo/KGK6GyhbyN33Ot7jypQ0wGpvpNu1FnLH+LS4zY5R1mXYGp3x9XxF5wkW5Gj8NUv78CM6a8go++q0KpQU5SA41Yd2dBiy+wQBdZEKbf/u0tEy50Jec9S+suy0Gi6+Ph85Uygt9HdxPjtymciz25Ys9RN6AgSlq94mZKlYZZrD75EwKwO47UtFkqtj5JbDi78Cbo62T3P5ihnUobReeRHoCX19/8gwyCtO+omNNJpnvKTVRoroYOlwPxTZktnQRkSGz169fj4zRF6ouItsPlKohs72ZM9a/2WVmZCArK9u6zDL7Aki+vq+IPOWinFanQ7dEg/UCKqLUbx9DiAU6f0u7fvu0tEzbhT4ZkVUno+DxQl+H95OjtqlcQLju6qvUKH+8gEBOIT1Oivc2nWQ+OQxH5aN2DxeuilUixu4hw6XQ65LNB9WPepHWLQIaPz9c0bsfxo4+y65RRHx9aHNfX38JbJRWmZvMjwgMUNuC3MPq3cVYsjUf2w+Vq/tpiaHquz++bxwmnKq1/iBtTE4mJLjqgn3vrFHpfH3I7E4d2j01BZnTeqsTH3dpKxE5d7S/mLhEu3/7tLTMugt9HRw90Bc5e5vKBYQdO3fUXUBYtGgRJk26QV1AEHIBwRDS8u8IopP+nsxeBez4L5C7zTrT0Bfw0wC9JwC9xnMDOggDU2TfiVkHTs6k0GsvQzhmL92u7ksBWH2APyKCtIDWYh1BRMgoIloZSrhtfH1oc19e/5YCHlecrsfYU7TtDnaQcwzvGYVe8SGYvWK3uv/QBanQa/3Vf/rI+syu//SdEexqXBNFpmZHpZPJjlHp5DtaGxKLF+YtxKUXjfK5IbOdsf4tLvOtN5B88DW3aisRdcIFVDt/+/j6hT5ncOY2lWN0TWAkPvz0c1x96UW8gEB2a/335Aggrjfw9UzrkzMeAQL01t+T5DAMTJH9J2Z2npxJoddArUYVfxVSAFbuK6aqDu0RZ5xEehJfXf+WAh6xe5cDXy/lFQ43IT9Grd996/c9OToIgdrjPcpT7ftP3xnBrs4YPbOyOA8rZs5oMrR55v3nIFmGNvfCALKz1r/VZf7lVmTedSqSIzXWIeMdtVwf2FdEHn8B1c7fPr58oU/KbRSUVaPSaM0cySmqrLt4HNmBJGRnbFPbMdpsseDpdbW474mXMOWacXWPL7r9bCSHWdp97Cff1OrvSZU8EQRobckT3YGA48kTUiqFHII1pryQs0Ym8nXOKKzoKSNzuftnSgIeEuSQgIfe3wKtsRTdo4MQ0muUCnDkapNhjOppDXac/6g1CEKu/0zl1asjERSF3OpAGP0Crf/xy3/6kjUZFNXmfS9TQqgGuupSazc+2c9utP9tBWArSw5j36IHUXH4kBqdaMXXmR0e2twTOGP9W11maqqqMaWGdt+1Gfj4L45Zrg/sKyKvGe3P0cu0c/RATyHlNp7+/Le60UPl9pz/7cR32/+w1tQxVlonud3GAYqcsU0bj0add+gA/j71jgbPmfTPDcj59ed2HfvJdzX+PSm35VyCJUE6DwNTXsZZIxP5OmcUVvSU0Z486TOl2jr/YYwafSFycvaroEZOuQbpT/2IKxdsgzHE0KZgB3XyflKfqf1Iv+ASXPnKRnVF1d7lXnfDjUgfOdot97+tAGxQaASC4nuoQMfAv76Inqf06NDQ5p7CGevf0jJT0s5G5vL/IrVLENLiAhATprcWKe3gcn1lXxGRb5JyG7PG9W4yDfffCqycbS23IZPcbuMARc4uqG6pKMKWBfeqCwhJ3Xtg3dfL1bE/q8iMjDePIDcvn8dpIg/ArnxexjaCUFnhwXoFACepq8aIC1EjE7FUq33b1dGFFZvfV+5XrNGTPlPWtmahrPAQMsZcjEVvvo5Jt9x2YpsWFcMQ7Ppt6uua30+3Iyt7H1ARgiPl1XZ9ptT39NdfkZ291y33f10BWD8Nuk98GOGaasQZDIhDMSKOD20eE6qzDm0uQRQZmciL6pc4Y/1bXGZYIKKhwbp7eyHGcuTEiE8dXa6P7Csi8k1SbkOmJoLGAKmDms5vwwBFzi6oHqAPQ1B8ipr/2Rdfo19kFTLvPgMZL2xDWoIOMfGJJ0b743GayG0xY8rL2EYQSlFdGKwjCMlfNTKRjCBk58hEvqx+YcXUBts1u0MjMwWERmPYPa+ge48Uhy3T1z9Tqq33v4qUlB7Iyt6rMmck2KG26YyhMCTEu7qJ1OJ+2ovUlO7W/VS/Rkg7l/vF8v8h1U33v60ArFbjjxp/DeITElQB2IjjIxPZM7S5J3HG+re0TFX8OMwAQ1wsdH4maw0IByzXV/YVEVEDwdFAdGrTSea7QONj9NA7n8B7n36Jfmf0VMf+ZEMXrLstBouv7QJd1WEep4k8AANTXqb+CEL1qZGJorRAdZm1CCC1q7DiztxSPL3usCqs2GC71i+saMdy91YHoccVf3fIMp3F0z5ToTEJeOO1BQ3mLbpjIJJjjxcsJPfdT6+/2uH9lJyUpDKl3HX/2wrA9jFE4JWrz8LQU7tYr+DKyEQardeP9uSM9W92mcIZy/WhfUVEjv89VVp+DL/t2efQmp0tLtcNa5Y6Uv1j9Lzrz8FlQ9KsDxw/ThuiAqHzM/M4TR2oLZzX8DtVcszuchN0cgxMeRFbsGPLb3/guhtuaPDYpBuuR86OH4HcrSwC6OLCivWXW3v0MH5457EOL9NZPPEzVX4kD7fecWeDeZNe24Scw5UuaxO1cT/dfleH91PO/v2qW6A77/9mC8DaRiYy9AMmvgmcMtLlIzPJaEwyMpNMcnvfkQqUHsl3TgHcDq5/i0V1nbFcN9tXROT+5PfUL/sO46tXHkD60KH4ePXmhjU7X1wPY0WpXRc6W1zunG9w5QtrYSxpOHiNN3HWsZ98W5Oaper35QGkP7bGWgvVTeoAexsGprxEqyMISbeW/bnIWJiH3Aq/dhWA9WXOKqxoW65fZTF2v/t3HDtyCEExifjPR4vdqlijJ36mpK2fP3uXqjEkbVz37Veqe5jUGFIjaMk2JZdrfj9J97t91v1Ucszu5V548bjj3QI9cP93YLQnuYInx5X84nKHjPTZ0shMf3z3qfMK4DprtCtnLNfLR+Yi6jQS1O5gsNvd2X5PVZWXorpwn/o9ddPES/D5ylWqdqeUcdi+7zCO7PnFrgudzS93hBo9dHvOERxZdLPbXDzsVDxOk51sNUuzjtcsXf/d98gYe5n6Pbn9wFFVs5Qcj8XPvUTjEYS0Gr8TIxN99DoyLhqHtC7+qlhrewrA+jJnFVa0LdeiD0VgXHdo/P0w8r5XcdHAHjjPjYo1euJnSh8agaiuqYgN1SHzy+VITk5C5oolyBg+FGndwhETzdH43EGz++nL5cgYMxZpUUbEhOrtXm6fXr3gB/jU/rdlNhpN1Rh8wSXwK96PDevWIDk5WV01z5jzLdK6RWDxFUbotIFtHpmpf1LToraRSAb8LnCbArhE5P4kA7OgrFplXwrJwNQH+CMiSItICWpv/9ga6BYS7BZpE4F+V8Ib2H5PhUTG4vSbn0XWor+rINLYCzLU43JRMvOmMNX1rO5CX8KZJ/09ddLlRmuQebsBBn1lm5dJRCdqll50/GKnZE6p75Sb1Cz1VgxMeYlWRybqdTbWPXguYip+P1GsNSSWxVrbWFjxvo9+gXQnlsKKN5wVYy2sWHGkrrBiTFigtbBiG7fpieWWo+vEh5ASVosHLh+MiDh/RNi5TGfwxM+UJkCLjMlPYPbIeCQnJap5yUndsG7mMBXs0OmaGWmG3GM/JSdh3defIWbtTJWab+9y//3eu6g4WgKDIcEn9n/9rsH+VeUoOZilsjCHjxiBf7333omRPmstOHJgNwynn92xkZkQ4vB1ICLvJhmYy7YcUtmXQjIwxfj+iZhw2iig2wCvDnbXv9CpC++CM66egZ9enVr3+KIbUpEcUwH4a+wbPbSl5f65C5Kj9W5z8ZDIk9hqltqCUu5Ws9QbsSufl2h1ZKKQGBgumQGdXsdirW5SWNG23L7dYvHGHRc0KKrrLsUaPfUzJcEJQ0LDAJmM8mZvsIM6cT8lxHd4P0nwyRaU8oX9X7/LcWBELM7/26uqa/De7OwTI31GByDzpnAY1s3wze4cRORSkoE5a1zvJpPMd7fR3pz9e6qiOA+/fTC3weOT3stCzpHKDo0e2uxyPypETlE1Rw8l8tKapd7GO3+p+6gWRyYSLAJoN18uqsvPFJF7s10xN9ZYUGOpRaUuGufePKvBcxZNjEByTJDb1IIjIt8i2ZfdY0KaTM1nZXon+T11SogJh/49Q3W3S01Nxbp169TfrMJjyHizCLnFVXZd6Gx2uUkGZBXVIOP1XORWh7jNxUMiT+DxNUs9FLvyeRkJdsjUJIhiKwIoE4u1Oo4ztqmb7Sd+pog8o8uxyWKBruoIfvmw0VXzj0uReUcIkuPZnYPIVUoqTSitstZYqi8iMACRwVqXtIk6V1hkFGK69URceCAyMzNVHUD5K4XK0yKOIeaUM60XJSO6OmC5q5Bx3llISwxFzKS3gC7WOqlEdHK+WrPU1RiYIiIi8mC2zMbSIwXYuuBvOLR/n7pqvui1VzDp2onWq/GvHcK66VEwJCa6vBYckS9avbsYS7bmY/uhcnVfAgYaPz+M7xuHCf3iXN086qz6ilPmYvboZCQnd1PzJIi0LvMbxKy6H7oAjV0XJVtc7qxRiAnTQRdpgFuSkRel66KMxihkRMYAnbW+mBd15STP44s1S90BA1NEREQeTjIbo2Ni0DctTY30WXfV/MPXkDHxL0iLC0BMbBy7c7izGiNgrgYqj7Q7Y4Lc3/CeUegVH4LZK3ar+w9dkAq91l9lTJEHBDwctExVX9HQMFCk7ktQqgOaXW5UENyaD4zISJ5Lgk/hzdQsJefh/4ZERETecoXvgw+PX+GznqAkp1+JdY++j5jAWuj+3P4uIuR4RrMF1WYLiiuMJ37kZq0GDm4GLGbg478AIx5weY1Bcizprheo1SBYZw1AJEcHIVDrb639Vlza9AVSAFsfzt3gLgEPBlEcr6f3j8hIRG3HwBQREVEjJZVGFJRVo9JorQmTU1QJfYA/IoK0iNS6+xW+RlfNY46f3LpJ3Tpftn73YWw7WAqzxYKp/9mMaeefiqGJ/sC65wGLyVpf0FakPuFMFiv2BVmrgB3/BXK3We8b+gJ+GqD3BKDXeFe3ziOP05FdhyHC0QEPBlEcvp8igkIRGc0ue0RkxcAUERFRI6t/L8SyLYcQrLP+N/n057+pv1f0DsbYHhrWxKB2K6owYv6qPTDVWKDT+KPkmAmvfLsb/UYHIqL6qDUo5a8BQlmk3qekjgDiegNfz7Tez3gECNBbM6bIruP0+P6JmNA/1a6txyBKZ+8nZvESkRUDU0RERI0MP60L+ic1vboem70MWPkpa2JQu+UfrUJZlVkFpaQOWJdQnRqprQAGREiXrZIcyXmz1rEJiWWRel8RFAVogwDt8W5nUd2BgEDrbUuNS5vmqcdpyWy1F4MonrGfiMj7MDBFRETUSGSwTk1NBI0BUgc1nc+aGHQS8eGBCAsMwIFiCwLMNThwKFfVAouJSwTSpyN30S2I0Ruhi41mkXqijhynO4BBFM/YT0TkfRiYIiIiaisZfYnDWJMdokN0mDziFNz7/iZkf/Q4LEU5mPbxZ2p+TkAKMt4oRlpiKBZ/NR+6LincxkQuwCAKEZFr+LvofYmIiIh8ypCesTg1AiooVXH4EB74y0SsX78eGaMvRFZBJbYfqsCRY65uJRERkW8y1lhQVm1GcaXJ1U3xOcyYIiJqDxkxq6qFob2lVointJXDkBO5RGRsHC5+cAF+/Oc9yMrKQnp6upqfGheCzIdHqO59RERE1LnWZxVj28FymC21mLr4V0zL6I6hp7jZb3svxsAUEVEzpChxaZV1aOP6Yvd+g5DdS5sf2rvPZZ7TVg5DTuQyoTEJeOOttzFqxPC6eYvuHITk2BDuFSIiok5WVGHC/LX7YbIcHzm3yoRXVu9Dn4RQRIccL9RfYwTM1UBlERCeyH3kYAxMkR1D5mo9p4ihHDhkhCNjpfV+8V4gQGctVOxFdWJa3Vcc9MQuq3cXY8nWfGw/VK7uS+0XjZ8frjj9TIzN6OtWQ3t7UluJCCg/kodbH7unwaaYtGCjyphK5gYiIiLqVPll1aoLX8ORc80oKDdaA1N71wG5WwGLGVg6BUi/F0gZxr3kQAxMkX1D5p4W5FYBn5YCM7HZXyLkd+8f2r2lfXVF72CM7aFxm/3kSYb3jEKv+BDMXrFb3X/oglTotf6ICAwAdDXND+3tSW3lMORELlFZchifPz0ZZYUHkZqaikWLFmHSpBuQlZWNjCdWYd2luTAks/g5EZFdF2RR7lbnKOQZ4sP0CNMH4EBJFXTwR6EEpIK1iAvVWRMdNswDakyARgdUlQDrXwLi03ix14EYmCL7hsyV7kHbP3abgE/LgZl+GHuh9w/t3tK+is1eBqz0/sCcM0QGaxGo1SBYp1H3k6ODEKg9Pl6EuQbuxJPaSuTr9KERiOp6CmLD9MjMzERycjIyv/oCGeedjbRuEYiJiXF1E4mIPPfiuf93bnWOQp5BsqImD03CfUt2wVRTi8ggLaYO727NlirIA6rLrEEpfw0Q0sVax7U8n4EpB2JgiuwbMrfnKKDbALcJ+LQaRPOUbofO2FdBY4BU7w/MEXkCdrnt5G3agWO/M/eVJkCLjClzMXt0MpKTu6l5EpxaN2skYsJ00Om8//8sIiKn/e6He52jkOcYkhqFvomhMJotePGKXjBE6K0PhCYA+jCgZD8AHVBRCARFA6Hxrm6yV2FgiuwjqbBulA7bahDNl7nZfiLyZa1e4e3j/Vkyzgj2OKvLubP3lQSnGo++Z4gK6vByiYh8Qeu/+/nbl+wnNaZkigqu98NEfjMMngL87x7AYrL+jhgyzTqfpTEchoEpIiIiF17hVfUwJGji5fUwnBHscVaXc1/fV0RERFRPj3TA0A8wG4HxL3NUPidgYIqIiMiVV3i3rvCJehjOCPY4q8u5r+8rIiIiakRqTMnEC1G+FZiaN28enn32WeTl5eHMM8/EK6+8gnPOOafF57/44ouYP38+cnJyEBsbi4kTJ2Lu3LkIDHTtaFlEREStcrOafc7S6cEeZ3Rl9pF9Rc5VYzYhNy8PKUmJdfNyS44hJlQv1UuIiIh8jlsGpj788ENMnz4dCxYswKBBg1TQacyYMdi1axfi4uKaPP/999/Hgw8+iLfeegvnnXcefv/9d9x0003w8/PD888/75J1oA6oMQLmaqDyCBDRlZuSiLybr9eC86Rgj6/vK3JIUCpz/sNY89QBrPpyOZKTk5Cz/wAyHluDtG7hWDzBCF0AL6oSEZFvccvAlASTbrvtNtx8883qvgSoli9frgJPEoBq7LvvvsOQIUNw7bXXqvs9evTANddcg40bN3Z626mDslYDBzcDFjPw8V+AEQ8Ap4zkZiUi8lYM9pAPqS4vRfHBLJQVHkLGmIux6M3XMemW25BVUKEeP1JUDENwuKubSZ018IN0ZbZzkIaWlivLjKgpZi08IvIobheYMhqN+OmnnzBjxoy6ef7+/jj//POxYcOGZl8jWVL/+te/8MMPP6jufllZWVixYgVuuOGGFt+nurpaTTZHjx518JrQychQnNVmC4orjDBEBgEVR4B1z1tHO5D+u8eKgTXPAQlnAiHeP2IVERERebfgyFhcdP+r+HH+dGRl70X6yNFqfmpcCDJnDIUhgcOPe5tWB37w/87urswtLXdyzM8YWPYta+ERkUdxu8DU4cOHUVNTg/j4hv8xy/3ffrMecBuTTCl5XXp6Ompra2E2m3HnnXfioYceavF9pP7UP/7xD4e3n9pm/e7D2HawFGaLBVP/sxnTzj8VQ8Pygeqj1qCUvwYIjbMGp8rzGJgiIiIirxAak4A3XluAUaMvrJu36I6BSI49Hpwgr9Lq6KGwvytzywNKJAN+F9i1TCIiV3G7wJQ9Vq1ahSeffBL//Oc/VU2q3bt3Y9q0aXjssccwc+bMZl8jGVlSx6p+xlRSUlInttp3FVUYMX/VHphqLNBp/FFyzIRXvt2NtMt7IEofDpTkAFL+U1KbQ2KB0ARXN5mIiIjIIcqP5OHWx0/8BhWTXtukMqaSuY29Tqujh8L+unUtLzfEruUREbmSP9yMjKin0WiQn5/fYL7cT0hoPkAhwSfptnfrrbeib9++uOyyy1SgSrKiLBZLs6/R6/UIDw9vMFHnyD9ahbIqswpKafz90CVUh7JjJuTXhADp0wGNFqgxAUHRwLC/MVuKiIiIvEJlyWF8/uxdyM7ei9SUHlj37VdITemuakxlzF2L3LyGv3+JiIh8gdsFpnQ6HQYMGIBvvvmmbp4El+T+4MGDm31NZWWlqkNVnwS3hHTtI/cSHx6IsMAAGGssqLHUorDciLAgLeLCAoHU4UDiWYChHzDxTRY+JyIiIq+hD41AVNdUpKT0QOaXyzHkvHORuWKJqjElo/LFREe5uolERESeFZiSjCTx888/Nygk3lHSxW7hwoV499138euvv2Ly5MmoqKioG6Vv0qRJDYqjjxs3DvPnz8cHH3yA7OxsfP311yqLSubbAlTkPqJDdJg84hRoNf4wWSyIDNZi6siear4iNab0YUAwC56TdympNGFf0bEmk8wnsu8zZVQjMcmoTDLJ7X1HKtR8InI/mgAtMiY/gW+++gLJydYSEslJ3bBu5jAsnjpIXaAlIiLyNR2qMTVixAj196mnnsKOHTtU1lKfPn3Qr18/Nf3pT39qUsS8La666ioUFhZi1qxZyMvLQ//+/fHFF1/ULSsnJ6dBhtQjjzwCPz8/9ffgwYPo0qWLCko98cQTHVk9cqIhPWPRt2uEGpnvxav7W0flI+ogycJTIz1WmmCI0Lvd9ly9uxhLtuZj+6FydT8tMRQaPz+M7xuHCf3i4CucsZ/cfd+7ZLSn/l1d3Doiaik4ZWhUnoK/g4iIyJd1KDCVnJysAkEfffSRun/s2DFs374dW7duVVlLs2fPxtixY1UR8va666671NRSsfP6AgIC1HvJRJ5DF+CvpihbphRRB6zPKsa2g+UwW2oxdfGvmJbRHUNPca8uEcN7RqFXfAhmr9it7j90QSr0Wn9EBAZYR6CsKm36osAIQAYF8BLO2E+esO9dMtpTZZF1EAljpXVm8V4gQGcdmcnOYrtERERERG4RmFq/fj2uv/56lblkK1h+00034eGHH1ZZUjLZSL0oewJTRERtVVRhwvy1+1XXUDXSY5UJr6zehz4JoYh2o+QZ6bYaqNUgWGftYpwcHYRA7fHszx2rgB3/BXK3We8b+gJ+GqD3BKDXeHj9fgrRus0yvWa0p63fANs/BnTHh6BfefziTdpEoN+VnddIIiIiIiJHB6buuOMO9OrVC5988okaze67777DSy+9pO6vXr0aXbue6D7w/fff2/MWRERtll9WjbLqhiM9llSaUVBuRLReA9QYAXO1NYMkPNE9t2zqCCCuN/D1TOv9jEeAAL01Y8oX9pMtiNTOfeWMZXqNnqOAbgOazpeMKSIiIiIiTy5+vmfPHrz44os4++yz0bNnT1WMfNOmTTjrrLNwzz33NHiuVuv9V6zJO/l6UWFPWv/4MD3C9I1GegzUIC5UB+xdB+RuBfJ3AEunANlr4JaCooCo7oA22DrJ7age1vleotX9JOzYV85YpteQ7nrRqU0nduMjIiIiIk8PTEm2VEFBQYN5Unx8zpw5qkg5kbcUFZZCwlJUWCa5Ped/O9V8lXkh9VqkdotMcrsoyzrfSwI+ra6/m5HMmMlDk6wjPdbUIjJIi6nDuyParwzYMA+oMQH+WqCqBFj/Upv2E3XifpLMJtknduwrZyyTiIiIiIjcvCuf1JOaOnUqli1bhqQk61C3orS0VHXto84nQY2CsmoV6BAS7NAH+KsCuC3WHyH7iwrvXmp37ZaWRtG6oncwxvbQuE2h4lbX3w0NSY1C38RQ60iPV/SyjsxWsBOoLgM0OsBfA4R0sRYZL8/3qi5ynqTZ/STK8+zeV85YJhGRM/jqCKJEREQOD0zZuuudeuqpuPzyy9G/f3/U1NTgX//6F5555hl7FkkdxCHDO7mocAdqt7QU8InNXgas/NRtChW3uv5uOtqX1BmSKSr4ePAsNAHQhwEl++VRoKIQCIoGQuNd1kZqZj85YF85Y5lERI7kyyOIEhEROTwwlZubiy1btuCXX35Rf9955x388ccfqjufBKY+//xz9OvXT00XXnihPW9B7cQhwzuZBF/sDMC0GPAJGgOkDvKMQsW7PWS0L9lHg6cA/7sHsJis23LINOt8S42rW0fO3lfc/0TkKaPH+uogDURERPYGpuLj4zFmzBg12VRVVWHbtm11ASvp5vfkk0+ipKSEG7oTcMhw3w52dTpPGu2rRzpg6AeYjcD4l/mD3505Y19x/xORG2h1BNHcDdZBGixm6yAN6fcCKcNc3WQiIiL3Dkw1JzAwEH/605/URG7Gk4II5Bk8KYgmpMaQTJ7UZl/ljH3F/U9ELmYbQfRASRV08FcjiEYHaxGvKT8xSIMcq2yDNMSnsRYeERH5DIcFpsiNeVoQgYiIyEcGKYlEOSJqit2uZh85lm0E0fuW7GowgmiUJZeDNBARkc9jYIqIiIjIRYOUTI75GQPLvnX/mn3UYc2OIFpZy0EaiMhrlVSaUFplvSBTX0RgACLrD1hDPo+BKSIiIiIXDVISiWTA74KmL2B3e6/UZARRDtJARF5s9e5iLNmaj+2HytX9tMRQaPz8cMXpeow9pZnAVGAEEMTRSn0RA1NERERELhukJITb3tdxkAYi8lLDe0ahV3wIZq/Yre4/dEEq9Fp/xO5dDny9FMjdZn2ioS/gpwF6TwD6XObaRpPnBKZuvPFG3HLLLRg2jCOGEBF5I6ZeExF1Ig7SQEReSLrrBWo1CNZp1P3k6CAEav2BoFFAUl/g65nWJ2Y8AgToXTbog/zuLSgzotJYo+7nFB1TATR2OXTzwFRpaSnOP/98dO/eHTfffLMKVHXt2tXxrSMiIrdKvR7fNw4T+sVxrxARERGRfaS7njYI0B6vrxjVHQgIdOnv3mXbCuoCaE+vzFZ/+bvXzQNTn376KQoLC/Hee+/h3XffxezZs1WgSrKoJkyYAK2WhcyIiLwx9VquHBERERERedPv3v7dwprM5+/ezuNv7wu7dOmC6dOn45dffsHGjRvRs2dP3HDDDUhMTMS9996LP/74w7EtJSKiTk29lnRruXIkk9zuHh3EEVSIiIiIyOt+98rv3MYTRw70gMCUTW5uLr7++ms1aTQajB07Ftu2bUPv3r3xwgsvOKaVRETkHo4VA8V7m04yn4iIiIiIqJ3s6pNhMpmwbNkyvP322/jqq6/Qr18/3HPPPbj22msRHh6unrNkyRL85S9/UdlTRETkJbJWATv+y1FUiIiIiIjIdYEpg8EAi8WCa665Bj/88AP69+/f5DkZGRmIjIx0RBuJiMhdpI4A4nq7zSgqRERERETkg135pk2bhgMHDmDevHkNglK1tbXIyclRtyUolZ1trWZP1JIas0l1B60vt/gYjGbrUJ1EbvM5zctrMC+3RD6nFvhcW2UUFRk5RUZRkUluR/WwziciIiIi8royFvsAU6V1ktssY+EegalHH30U5eXWIcTrKyoqQkpKiiPaRT5ATqAz583AqIzhdQFN+Zs+51tc+dIGGI1GVzeRyPo5nf8wRo2+EDk5+9UWydl/AOmPrcGVr2x0q8+pJ7WViIiIiMgjylismnvioqzcXvmodT65tiufZEY1R4JVgYGBHW0T+Yjq8lIUH9yDssKDquvnokWLMGnSDcgqqFCPHzlyBIYQa80yItd+TrNQVngIGWMuxqI3X8ekW2478TktKoYh2D0+p57UViIiIiIijyhjkXhW0/ksY+G6wNT06dPVXz8/P8yaNQvBwcF1j9XU1GDjxo3N1psiak5wZCwuemA+fvznPcjKykJ6erqanxoXgsyHR6haZkRu8Tm9/1X8OH86srL3In3k6BOf0xlDYUiIh7vwpLYSEREREbk9KVfRUskKC8vPuKQr3+bNm9UkGVPbtm2ruy/Tb7/9hjPPPBPvvPOOwxpH3i80JgFvvPV2g3mL7hyE5NgQl7WJqNnP6WsLGsxbdMdAJMeeCM67C09qKxERERERUbsypjIzM9Xfm2++GS+99BLCw9klhDqm/Egebn3sngbzJi3YqDKmkrlxyZ0+p49bM0ZtJr22SWUhudvn1JPaSkREREREZFfx87fffptBKeqwypLD+PzpycjOykJqairWrVuH1NQUVQ8n44lVTUbrI3LZ5/TZu5CdvRepKT2w7tuvkJrS3fo5nbsWuXn5brNjPKmtRERERERE7cqYkvpSjz32GEJCQupqTbXk+eef59alk9KHRiCq6ymIDdOrbLzk5GRkfvUFMs47G2ndIhATE8OtSG7yOU1FbKgOmV8uR3JyEjJXLEHG8KFI6xaOmOgW+py7gCe1lYiIiIiIqF2BKakjZTKZ6m63RAqjE7WFJkCLjClzMXt0MpKTu6l5EpxaN2skYsJ00Ol03JDkHp/TyU9g9sh4JCclqnnJSd2wbuYwxITq3epz6kltJSIiIiIialdgylZfqvFtoo6eSDcefc8QFcSNSu73OU1IaDDPEOmen1NPaisREREREVG7ip8TERERkfcqqTShtMrcZH5EYAAig7Xwdr6+/kRERG5fY6qtWGOKiIiIyPOs3l2MJVvzsf1QubqflhgKjZ8fxveNw4R+cfB2vr7+REREbl9jqi1YY4qIiIjIMw3vGYVe8SGYvWK3uv/QBanQa/1VxpAv8PX1JyIi8pgaU0REDu8i4VcOVJU2fVFgBKAPd78NXmMEzNVAZREQbi007rY8qa1E5FLSXS1Qq0GwTqPuJ0cHIVDr7zN7xdfXn4iIyBV4+YeI3KOLhGY9sOO/QO4265MNfQE/DdB7AtBrvMv2krHGgmqzBcWVJhgi9NaZe9cBuVsBixlYOgVIvxdIGQZX86S2EpEHOlbsWRcQHM3X15+IiMgdakw99thjCAkJOWm9KdaYIqJ2d5HwGwHE9Qa+nml9csYjQIDe+oPfRdZnFWPbwXKYLbWYuvhXTMvojqGGWmDDPKDGBGh0QFUJsP4lID4NCI72nLa6cLsSkYfKWuWWFxA6ja+vPxERkTvUmDKZTHW3W8IaU0RkXxeJKEAbBGiDj9/tDgQEWm9bajp9oxZVmDB/7X6YLBboNP4oqTLhldX70G+UPyKqy6yBHn8NENLFehW9PN9lgSm72srAFBG1V6r7XUDoVL6+/kRERO5UY4r1pojI2+WXVaOs2qwCPRp/P3QJ1aGk0owCxCBCHwaU7AegAyoKgaBoIDSebSUi7xbkXhcQOp2vrz8REZGTdLiaY21trZqIiLxJfJgeYfoAVbepxlKLwnIjwgI1iIlNAAZPATRawGICAiOBIdNc2o3Pk9pKRERERETkkMDUm2++ibS0NAQGBqpJbr/xxhv2Lo6IyK1Eh2gxeWgStBp/mGpqERmkxdTh3dV89EgHDP2stZomzHN5MXFPaisREREREVGHR+WbNWuWKnA+depUDB48WM3bsGED7r33XuTk5GDOnDn2LJaIyK0MSY1C38RQGM0WvHhFrxMj3Qmp2ySTm2QfeVJbiYiIiIiIOhSYmj9/PhYuXIhrrrmmbt748ePRr18/FaxiYIqIvIXUmJIpKlgLd+dJbSUiIiIiIrK7K5+Mzjdw4MAm8wcMGACz2cwtS0RERERERERKjdmE3Ly8Blsjt+SYyvYnsiswdcMNN6isqcZef/11XHfdddyqRERERERERKSCUpnzH8ao0RciJ0dGtgZy9h9A+mNrcOUrG2E0Gn1rKx0rBor3Np2OFcNXtbkr3/Tp0+tu+/n5qULnX331Fc4991w1b+PGjaq+1KRJk5zTUiIiIiIiIiLyKNXlpSg+mIWywkPIGHMxFr35OibdchuyCirU40eKimEIDofPyFoF7PgvkLvNet/QF/DTAL0nAL3Gwxe1OTC1efPmJt32xJ49e9Tf2NhYNe3YscPRbSQiIiIiIiIiDxQQFo1h017C9oX3Iyt7L9JHjlbzU+NCkDljKAwJ8fApqSOAuN7A1zOt9zMeAQL0QGAEfFWbA1OZmZnObQkREREREREReY31WcXYdrAcZksoelx+P/a9MKXusUW3nYnksBqgsggIT4S3Kak0obSqaQ3uiMBQREYFAdpg64yo7kBAoPW2pQa+yK5R+Wx27typuu/V7xMq3fzGjRvniLYREREREXnFyUlBmRGVRusJR07RMei1/ogIDECkztWtIyJyjqIKE+av3Q+TxQKUHcYP7z3e4PFJ839A5i3RSF46BUi/F0gZ5lW7YvXuYizZmo/th8rV/bTEUGj8/DC+bxwm9PahrovOCkxlZWXhsssuw7Zt21Qgqra2Vs2X26KmxjejfEREREREzZ2cLNtWgGCdRt1/emW2+suTEyLyZvll1SirNsOvshh/vPsAjMW5CIpJxFuvPI2Hp92OrMJjyHizCOumF8Kw/iUgPg0Ijoa3GN4zCr3iQzB7xW51/6ELUusuSgCMmXQ4MDVt2jSkpKTgm2++UX9/+OEHHDlyBPfddx+ee+45exZJZE3hLC8AjJXWrSEjEwTogMBIrzpAERERkW+Rk5P+3cKazOfJCRF5s/gwPcL0AbDoQxEY1x0af2DkvS/hogEGnDf1NGS8uANpCTrExCUA1aVAeb5XnfdFBmsRqNXUXZRIjg5CoNbf+qCZgan6jm+V9tmwYQPmzJmjip37+/urKT09HXPnzsXdd98NR5g3bx569OiBwMBADBo0SAW/WlNSUoIpU6bAYDBAr9fjtNNOw4oVKxzSFuoku78BVs4GdMHWSW5/McM6n8gLSTfo3Ny8BvNyS47BaLa4rE1EROSck5Pu0UFNJplPROStokO0mDw0CTqdHl2veAgZ983DA5edg4gu3ZBsiMW626Kx+JpY6KqPAPpwINTHiqBTxzKmpKteWJj1qo8Epw4dOoTTTz8d3bt3x65du9BRH374IaZPn44FCxaooNSLL76IMWPGqGXHxcU1e3J3wQUXqMc+/vhjdO3aFfv27UNkZGSH20KOV1JpREFZNSqN1kJwOUWV0Af4I7LrMER0s4722IBkTBF5mRqzCdfdcCN2/vorMr9cjuTkJOTsP4CMx9YgrVs4Fk8wQmcrgkhERN7pWLE1W9xkyxbfd2JkJjlJIyLycENSo9A3MVRdeH3xil4wROitDwyeAsPhewCL2Xq+N2SaV2VLUScEptLS0vDLL7+obnwSOHrmmWeg0+nw+uuvIzU1FR31/PPP47bbbsPNN9+s7kuAavny5Xjrrbfw4IMPNnm+zC8qKsJ3330HrdZ65Umyrcg9rf69EMu2HEKwzvrxe/rz39Tf8f0TMaF/xz8/RJ6gurwUO379FdnZe5Ex5mIsevN1TLrlNmQVVKjHjxQVwxDMkxIiIq+WtQrYufTEyEyr5lr/9p4A9Brv0qYRETmKTuOvpqj6WaI90gFDP8BsBMa/7JWj8pGTA1OPPPIIKiqsJ0/Spe+SSy7B0KFDERMTo7KdOkKyn3766SfMmDGjbp50FTz//PNVF8LmLFu2DIMHD1Zd+ZYuXYouXbrg2muvxQMPPACNxtqfs7Hq6mo12Rw9erRD7aa2G35aF/RPapoFFRHEdHbyHcGRsfhi+f9w0cXjkJW9F+kjR6v5qXEhyJwxFIYEpjITEXm91BFA4llN50vGFBGRt9PorBMzpXyeXYEp6VZn07NnT/z2228qYykqKqpuZD57HT58WHUVjI9veFIm9+V9Whol8Ntvv8V1112n6krt3r0bf/3rX2EymTB79uxmXyP1sP7xj390qK1kn8hgnZqIfJWxxoJqswVhMQkqU8oWlBKL7hiI5NjjV86JiMi7BUVZp+ZYWBiXiIh8g13Fz+urra1VU3R0dIeDUvayWCyqvpR0JRwwYACuuuoqPPzww6oLYEskI6u0tLRu2r9/f6e2mYh80/qsYmw7WI6duRW45bVV+PONtzZ4fNJrm5Bz+HitESIiInephSWjJTeeZD4REZGrAlNvvvmmqjUlo+bJJLffeOONjrZHFVOX7nf5+fkN5sv9hISEZl8jI/HJKHz1u+316tULeXl5qmtgc2TkvvDw8AYTEZEzFVWYMH/tfpgsFqCyCKteuhuH9ueomnjrvv0KqSndVY2pjCdXIze7+QxRaqik0oScomOoNNaoSW7vKzqm5hMRkQNrYX09E1h0qXWS2ysftc4nIiJyRWBq1qxZmDZtGsaNG4fFixerSW7fe++96rGOkCLqkvX0zTffNMiIkvtSR6o5Q4YMUd335Hk2v//+uwpYyfKIyLt5SnAiv6waZdVmawHIkAhEdz0FQTGJePP9xRhy3rnIfP0hpEYHIC2mFjHrZgPZa+BNnLGfVu8uxtMrsxGs06hJbs/5fI+aT0REDqyFlfEI0OU06yS3z3/UOp+IiMgVNabmz5+PhQsX4pprrqmbN378ePTr1w9Tp05VBdE7Yvr06bjxxhsxcOBAnHPOOXjxxRdVsXXbKH2TJk1C165dVZ0oMXnyZLz66qsqWCbv/8cff+DJJ5/E3Xff3aF2EJFnkCDEsm0FKjAhJDghxveNw4Te7pMNGR+mR5g+AAdKqqDTBOC0ax9BSG0l+p+eqjKokvd+hHW3RSMmNBA681Fg/UtAfJrXFMFtdT/1i7NrmcN7RqF/t7Am8yMC7frvjYiImiN1sLRBJ0YPjOoOBARyWxERkUPY9ctdiopL0KgxyXQym80dbpTUiCosLFTZV9Idr3///vjiiy/qCqLn5OSokfpskpKS8OWXX6qMLQmOSdBKglQyKh8Reb/WgxPuUzw2OkSLyUOTcN+SXTDV1CI6LATTRvRS81GQB1SXwRAZBPhrgJAu1tod5fleE5hyRhApMlirJiIi6jjJYC2tMjd7nI5kJwQiInISu84GbrjhBpU19fzzzzeYL8XHZWQ8R7jrrrvU1JxVq5r2Z5duft9//71D3puIPEurwQmz+wSmxJDUKPRNDIXRbMGLV/SCIUJvfSA0AdCHASUyEIMOqCgEgqKB0IYjlHoyBpGIiNw/s3XJ1nxsP1Su7qclhkLj5+d2GchEROSjgSnpXmcjo+9JofOvvvoK5557rpq3ceNGlckk3eyIiKhlqsaUxh9R9YNpwdHA4CnA/+4BLCYgMBIYMs06n0OGExFRJ2W29ooPwewVu9X9hy5IhV7r73YZyERE5KOBqc2bNzfptif27NlTN5qeTDt27HB0G4mI7KO6whUApkrr/eJ9QIDe2jVO74ZXfnukA4Z+gNkIjH8ZCE90dYuIiMiHSGZroNY6mIRIjg5CoNbfLTOQiYjIBwNTmZmZzm0JEZGjyTDWO5eeKNa6yjpgAnpPAHqNd8/trdFZJ8mU8iXOCCJ6WmCSiIiIyN3I76mq0qbz+XuKHIjDFhGR95JhrBPPajrfS4qJexVnBBE9MTBJRERE5E7k99SO/wK526z3DX0BPw1/T5F7BKZKSkrw5ptv4tdff1X3e/fujVtuuQURETzhIyI3Gt5apuawbpP3BxEZmCQiIiLqGPk9Fdcb+Hqm9X7GIycy0IlcGZjatGkTxowZg6CgIJxzzjlq3gsvvIAnn3xSFUQ/++yzHdU+IiLyBc4IIjIwSeSbWut20tJxhoiImifHTW3QiQz0qO5AQKD1Ni/0kisDU/feey/Gjx+PhQsXIiDAugiz2Yxbb70V99xzD9asWeOo9hEREREROabbSZ/LuCWJiJpRUmlCaZW5yXwZlTNSx01GbpoxVT8opRYUEIC///3vGDhwoCPbR0RERETUdux2QkTUbqt3F2PJ1nxsP1Su7qclhkLj54fxfeMwoTcHjSE3DEyFh4cjJycHZ5xxRoP5+/fvR1hYmKPaRkRERETUzqv7oYiMaqHbCRERNWt4zyj0ig/B7BW71f2HLkiFXuuvMqYAO8sqEDkzMHXVVVepQufPPfcczjvvPDVv/fr1uP/++3HNNdfYs0giIiIiojbj1X0iIseJDNYiUKtBsE6j7idHByFQ62990MzAFLlhYEoCUn5+fpg0aZKqLSW0Wi0mT56Mp556ytFtJCIiIiJqgFf3iYiIfDQwZTKZcNFFF2HBggWYO3cu9uzZo+afcsopCA4+njJNRERERB7LWGNBtdmC4koTDBF6+NrVfU9YfyIiIm9x/H/vtpPMqK1bt6rbEojq27evmhiUIiLyPnJyVlZtVidnROQb1mcVY9vBcuzMrcDUxb9i7Z5i+BJfX38iIiK3D0yJ66+/Hm+++abjW0NERJ5xclZjBKrLgMoiVzaRiBysqMKE+Wv3w2SxQKvxQ0mVCa+s3qfm+8L339fXn4g83LFioHhv00nmE3lbjSmpK/XWW29h5cqVGDBgAEJCQho8/vzzzzuqfURE5OKTM53Gv+7krE9CKKJz1wG5WwGLGVg6BUi/F0gZxv1E5AXyy6pVlqR87zX+fogO9ENhQQEKyk9FdIgW2LsOubs2IybQAp0Xfv/rr7+fxYzQmmMoq4pEQblRrX/uj8sQs/8X6PxrePwjIveTtQrY8V8gd5v1vqEv4KcBek8Aeo13deuIHBuY2r59O84++2x1+/fff2/wmBRFJyIi7zo57RKqQ0mlGUcO5yF6wzygxgRodEBVCbD+JSA+DQiOdnWziaiD4sP0CNMH4EBJFQLMNcic/w8cy98L42WfA2ERyPns/5CxIA9pCTosvr0IOtv3PzDCq9Z//5EyHPxkLn47vA8j730ZcaE65Py+DRl/noq0GAsWXxcPXf3jnzutv2RGVJU2nS9tDIpyRYuIyIFKKk0orbIOQFZfRGAAIlNHAHG9ga9nWmdmPAIE6N3rGEXkqMBUZmamPS8jIiIPPDnVwR+Fki0QrEUciq1dWCQo5a8BQrpYT4LK8xmYIvICkhU0eWgS7luyC8dKilVQquLwIVx26QQsem4GJj23CVnFNYCfCUdqI2CoPmr9/nvJSY9t/e9etB/HCvbCVJyHza/dh1/PewOTbroZWYXHgJoAHKkCDPWPf+60/q1lTPS5zNWtI6IOWr27GEu25mP7oXJ1Py0xFBo/P4zvG4cJ/eIAbRCgPT4oWVR3ICDQetvSsUEhiNwuMFVfbW2t+stMKSIi7zw5NdXUIjJIi6nDuyOiSy2gDwNK9gPQARWFQFA0EBrv6iYTkYMMSY1C38RQGOOC8a8vl+PqiZchK3sv0q+4Qz2eGqVB5m3xMGjLAL33ff9l/c8+vTtS7nsF2xfej3379iJ95Gj1WGqXIGTeGAZDqJ/7Hv+YMUHk1Yb3jEKv+BDMXrFb3X/oglTotf4qY4rIp4qfCyl+npaWhsDAQDXJ7TfeeMOxrSMiIpefnPYxhOCVib0w9JQoa1bU4CmARgtYTEBgJDBkGrOliLyMdOMN1Qeg72kpWPTm6w0eW/TnWCSH13r191/WP97QFW8tXNBg/qL/ewTJMYHuffyT7nqSJSEZEzLJ7age7MZH5CUig7VIjg5CsE6jJrndPTpIzSfyVHaFVWfNmqUKnE+dOhWDBw9W8zZs2IB7770XOTk5mDNnjqPbSURELjo5kymq/o+dHumAoR9gNgLjXwbCE7lviLxUzv79mHTL7Q3mTfpvGTL/NgDJE+Z59fe//Egebn18eoN5k2a/jsy7TkVyhMblx79W68zoXNIkIiKizgtMzZ8/HwsXLsQ111xTN2/8+PHo16+fClYxMEVE5D1qzCbk5uUhJenECVhuWQ1iQoOhc7dMASJymMqSw7jw4muRnb0XqSk9VObUpFtuQ1b2PmT8389Yd4UJhnDvXffPn70LZYWH6q377apLY8bTh7Fu5jAYXHz8a7XOTG8v3TFE3oKDFHCbUscDUyaTCQMHDmwyf8CAATCbm165ISIizw1KZc5/GGueOoBVXy5HcnIScvYfQMZja5DWLRyLJxihsxXVJCKvog+NQJ9evSDjLWce//5nrliCjOFD1fc/JjrKq9c9qmsqYkN1J9b9y+XIGDMWaVFGxITq3bzODIscE7k1DlLgU9vUWGNBtdmC4koTDBH1/v+oMQLmaqCyyKszkJ0WmLrhhhtU1pR056vv9ddfx3XXXeeothERkYtVl5ei+GCWyhrIGHPxiYyJggr1+JGiYhiCeWWeyBtpArT493vvouJoCQyGBDUvOambyhaSwIxOp/Pqdc+Y/ARmj4xH8vFsUQlOrfv6M8SsnQldgN1lWh1G6skEaq01ZlT7ooMQqD3eLjMDU0TuoKUut5GGdETE9Qa+nmmdkfEIEKB3rxE+PY2bDvywPqsY2w6Ww2ypxdTFv2JaRndr3da964DcrYDFDCydAqTfC6QMg68K6Ejx86+++grnnnuuur9x40ZVX2rSpEmYPv1Ef/zGwSsiIvIcwZGxuOj+V/Hj/OnWUblsI1PFhSBzxlAYEtxsNCoicigJPoUfD0rZGCKDfGIrS3DKkNBo3eWY5wZBKSLyDK13uT0+SIGQQQqYgd7B+nqhiIwKcqttWlRhwvy1+2GyWFTN1pIqE15ZvQ9pEUZEbZgH1JgAjQ6oKgHWvwTEp7k8kOZRgant27fj7LPPVrf37Nmj/sbGxqpJHrPx85PkbyIi8mShMQl447UFGDX6wrp5i+4YiOTY4//xExEREVETvt7lVoJIBWVGVBqt65pTdKxu/e0dpMGT6uvll1WjrNqsglJ+FjNCa46hrCoSJYUHEFVdhtwKf8SE+kMX0sVad6w8n4Gp9sjMzHTaziMiIg8Ymeq1TSpjKtllrSIiIiJyb77e5VaCSMu2FdSt/9Mrs9XfK07XY2x3C2CqtD6xeN+JbndBUV4T7IsP0yNMH4D9R8pw8JO5+O3wPoy892VEdumPnHItMhbkIS1Bh8W3R0IXFguE+m5PBLu78hERkfdrfmSq46NyzV2LdePyYejW3dXNJCIiIiI3I0Gk/t3CmsyP3bscWPXZiW53q+Za/7ahULknBfuiQ7SYPDQJdy/aj2MFe2EqzsPm1+7DzvPewKRXdyOruAbwM+KIOQSGIdMAGe3V4l7r0FkYmCIiovaNTOUjo3IRERERkf0kiCRTE0GjgJSBTed7YX2lIalROPv07ki57xVsX3g/9u2rV7O1SzAy/zYAhhsXclQ+V+8oIiLysJGpfGRULiIiIiJyAumud5Iue95EakzFG7pi+sJGNVvv/BOSE2OsmVI+jsOKEBFR+0emigxyi+HSiYiIiIg8ombrHXc2qdmac/h4nS0fx7MKIiIiIiIiIiIn1mzNzt6rarau+/YrpKZ0R1ZBharZmpuX7/Pbvc1d+aZPbzgiU2uef/55n9+wREREREREROTbWLPVgYGpzZs3t+l5fn5+bV0kEREREREREZHXYs1WBwamMjMz2/pUIqJWGWssqDZbUFxpgiFC3/DBGiNgrgYqi3x+dAoiIiIiIvLemq1kxRpTRNSp1mcVY9vBcuzMrcDUxb9i7Z7iEw/uXQfkbgXydwBLpwDZa7h3iIiIiIiIvFibM6aas3PnTuTk5MBoNDaYP378+I62i4i8UFGFCfPX7ofJYlHDppZUmfDK6n3okxCKaL8yYMM8oMYEaHRAVQmw/iUgPg0IjHB104mIiIiIiMhdAlNZWVm47LLLsG3bNlVTqra2tkF9qZqaGse2koi8Qn5ZNcqqzSoopfH3Q5dQHUoqzSgoNyLaLw+oLrMGpfw1QEgX4FgxUJ7PwBQREREREZGXsqsr37Rp05CSkoKCggIEBwdjx44dWLNmDQYOHIhVq1Y5vpVE5BXiw/QI0weoGlM1lloUlhsRFqhBXKgOCE0A9GHWGlOWGqCiENCHA6Hxrm6255LAXvE+wFRpneR28V7rfCIiIiIiIk/NmNqwYQO+/fZbxMbGwt/fX03p6emYO3cu7r777jaP4EdEviU6RIvJQ5Nw35JdMNXUIjJIi6nDu6v5QDQweArwv3sAiwkIjASGTAOCo62BKnehsrgKrIEeIcGeAL01qysoyiVNKqk0oaDMiEqjdTvlFB2DXuuP2L3fIGTPZ4A22PrEVXOtf3tPAHqxyzWR15LjVFVp0/kuPE4REREROTQwJV31wsLC1G0JTh06dAinn346unfvjl27dtmzSCLyEUNSo9A3MRRGswUvXtGr4ah8PdIBQz/AbATGv+zSUfnsCvb0ucwlbV29uxjLthUgWKdR959ema3+XnH6mRh7/sCmL2DNLiKvIMep0ipzk/nqOLV7KZC7zTrD0Bfw07j0OEVERETk0MBUWloafvnlF9Wdb9CgQXjmmWeg0+nw+uuvIzU11Z5FEpEPkRpTMkUFS6ZUI1JjSibJlHIhTwr2DO8Zhf7drBcL6osIDACa28bCnbLQiMju49SSrfnYfqhc3U9LDIXGz896nMroC3w90/rEjEdOZHYSdYR0tzdXA5VFLr14RERE3sWuwNQjjzyCiooKdXvOnDm45JJLMHToUMTExODDDz90dBuJiDwj2OMikcFaNRGR7x2nesWHYPaK3er+QxekqsxOdZzS1ZzI7IzqDgQEurax5Pn2rgNytwIWM7B0CpB+L5AyzNWtIiIiXw1MjRkzpu52z5498dtvv6GoqAhRUVF1I/MREXkyBnuIyBOOU4FaTV1mZ3J0EAK1x8e1MTMrkuwng5RUmy0orjRZu9xLhtSGeUCNyZrVXFUCrH8JiE9zeYYzEXUSZkySu43Kd+uttzYZfS86OppBKSIiIiIiD7Y+qxjbDpZjZ24Fpi7+FWv3yKAfeUB1mTUo5a8BQroA1UeB8nxXN5eIOjNjMn+HNWMyew23O7k+MFVYWIgLL7wQSUlJuP/++7FlyxbHtoqIiIiIiDpVUYUJ89fuh8ligVbjh5IqE15ZvQ/F/jGAPsyaMSE1CisKAX04EBrPPUTkhRmTZdVmlTGp1M+Y9NeeyJiU+USuDEwtXboUubm5mDlzJn788UcMGDAAffr0wZNPPom9e/c6qm1ERERERNRJ8suq1QmpDFCi8fdDl1AdyqpqkF8TCgyeAmi0gMUEBEYCQ6axGx+Rl2HGJHlUYEpIPanbb79ddenbt28fbrrpJrz33nuq5hQREREREXmW+DA9wvQBKmOixlKLwnIjwgI1iAvVAT3SAUM/a12pCfNY+JzIyzBjkjwyMGVjMpmwadMmbNy4UWVLxcczpZeIiIiIyNNEh2gxeWgStBp/mGpqERmkxdTh3dV8RWpM6UOZKUXkhZgxSR43Kp/IzMzE+++/j08++QQWiwWXX345PvvsM4wcOdKxLSQiIiIiok4xJDUKfRNDYTRb8OIVvayj8hGRz2RMHiipgg7+KmMyOlhrzZiMOZ4xaTYC418GwhNd3VzyMnYFprp27YqioiJVAP3111/HuHHjoNfzPy0iIiIiIk8nNaZkigo+nilFRD6TMXnfkl1NMybNNdaMSZmCo13dVPJCdnXle/TRR1Xx8yVLlmDixIlOCUrNmzcPPXr0QGBgIAYNGoQffvihTa/74IMP4Ofnh0svvdThbSIiIiIiDyEjyFWXceQoIqJ2Zkz2MYTglYm9MPSUKG47ct/A1G233YbIyEg4y4cffojp06dj9uzZ+Pnnn3HmmWdizJgxKCgoaPV1UuPqb3/7G4YOHeq0thGR4xiNRuTm5jWYl1tyTHUfICIistvedUDuViB/B7B0CpC9hhuznWrMJuTm8f9oIl8j2ZJBmlpUHT3SYD5/o5NbdOWTQNFjjz2GkJAQdbs1zz//fIcaJa+X4NfNN9+s7i9YsADLly/HW2+9hQcffLDZ19TU1OC6667DP/7xD6xduxYlJSUdagMROf8H73U33Iidv/6KzC+XIzk5CTn7DyDjsTVI6xaOxROM0AUEcjcQEVGrZAS5arMFxZUmaz2kyiJgwzygxmTtdlJVAqx/yTqaHLugtPn/6Mz5D2PNUwewiv9HE3nGsa9xxqi52no8bGc9KH7/ya0zpjZv3qxG4LPdbmnasmVLhzMofvrpJ5x//vknGunvr+5v2LChxdfNmTMHcXFxuOWWWzr0/kTUOarLS7Hj11+Rlb0XGWMuxvrvvkfG2MuQVVCB7QeO4khRMXcFERG1an1WMbYdLMfO3ApMXfwr1u4pBsrzrF34JCjlrwFCugDVR4HyfG7NdvwfXXwwC9n8P5rIc459DsoY5fef3DpjSkbha+62ox0+fFhlP8XHxzeYL/d/++23Zl+zbt06vPnmm+0KilVXV6vJ5ujRox1oNRG1V3BkLL5Y/j9cdPE4FZxKHzlazU+NC0HmjKEwJDQ8BhAREdVXVGHC/LX7YbJYVNeTkioTXlm9D2njDYjShwEl+6VTClBRCARFA6H8f6U9/0dfdP+r+HH+dP4fTeQhx74+CaGI9itrOWM0MKJNy+f3nzymxtStt96KVatWwR2UlZXhhhtuwMKFCxEbG9vm182dOxcRERF1U1JSklPbSURNJSclYdGbrzeYt+iOgUiODebmIiKiVuWXVaOs2qxOzDT+fugSqkNZVQ3ya0KBwVMAjRawmIDASGDINHbja6fQmAS88doC/h9N5CHHvoJyo8MyRvn9J48ITBUWFuLCCy9UwZz777+/w9336pPgkkajQX5+wy+P3E9ISGjy/D179qii5+PGjUNAQICaFi1ahGXLlqnb8nhzZsyYgdLS0rpp/365qkZEnSln/35MuuX2BvMmvbYJOYcruSOIiHzBsWKgeG/TSeafRHyYHmH6AFVnpcZSi8JyI8ICNYgL1QE90gFDP2uWwIR5QMqwTlkdb1J+JA+33nFng3n8P5rI9Vo99oUmAJIxKjWmLDXWjFF9eLszRvn9J48ITC1duhS5ubmYOXMmfvzxRwwYMAB9+vTBk08+qYJEHaHT6dTyvvnmm7p5FotF3R88eHCT559xxhnYtm2bCo7ZpvHjxyMjI0PdbikTSq/XIzw8vMFERJ2nsuQwLjzejS81pQfWffsVUlO6qxpTGXPXIjePtUCIiLxe1irg65nAokutk9xe+ah1/klEh2gxeWgStBp/mGpqERmkxdTh3dV8RTIG9KHMlLLz/+jPn71L1Zji/9FE7qXVY58M8NDBjFF+/8mta0w1FhUVhdtvv11NBw4cwH/+8x81at6sWbNgNps71CgZ9e/GG2/EwIEDcc455+DFF19ERUVF3Sh9kyZNQteuXVV3vMDAQKSlpTV4fWRkpPrbeD4RuQ99aAT69OoFP6lbd3zEn8wVS5AxfKgalS8mOgrepqTShIIyIyqNNep+TtEx6LX+iAgMQKRfOVBeAJiOZ4sV7wMC9NZ6AHKli4jIG49TqSOAuN7WgJTIeOTEMttgSGoU+iaGwmi24MUrejUdmYrs/j86qmsqYkN1PvN/NJFL2Dl6XqvHPlvGqNkIjH+53aPyefz3vwMjEpIHBqZsZKS+TZs2YePGjSpbqnHRcntcddVVqrugBLny8vLQv39/fPHFF3XLzsnJUSP1EZHn0gRo8e/33kXF0RIYDNZuuslJ3bBu5jDEhOpV9qS3Wb27GMu2FSBYp1H3n16Zrf6O7xuHCZr1wM6lgPZ4fa1Vc61/e08Aeo13WZuJyLd0+nEqKArQBp1YZlR3ICDQelu6obSB1FmRKSr4eKaUswJzDli+J/0fnTH5CcweGY/kpESf+D+ayJmk21212YLiStOJIJJt9DyL2Tp6Xvq97ep2rGpM1dag6ugRIOJEAEZ6HcTUBkCn19mVMeop339nbFPywMCUjMz3/vvv45NPPlFd7S6//HJ89tlnGDlypEMadtddd6mpOScrvP7OO+84pA1E5FzyH1v48aCUjSEyyGs3+/CeUejfLazJfDnhgd8IIPGspi9qY9YAEZEj+PpxqtXA3Klan8pslZNTQ4Lv/B9N5Czrs4qx7WA5zJZaTF38K6ZldMdQQ23Lo+e1MZhUYzYhc/7DWPPUAaw6ntmUk7MfGWMuQVqUEYunDpJxSb3y+++sbUoeFpiSbnRFRUWqAPrrr7+uCo9LzSYiImqZXG1v+Yp7lDVzoDltzBogInLX45RkIpVWNS31oDKR3OPi+8kDc1mfMbOViNqlqMKE+Wv3w2SxqAynkioTXlm9D/1G+SOi8eh5MuiDjJ7XxiBKdXkpig9moazwEDLGXKxGupZBhbKy9wEVIThSXg2DF+4vZ25T8rDA1KOPPoorr7yyrpYTEREREVFrmUhLtuZj+6FydT8tMRQaPz9rJlLvcM8IzKW6Z8ZYs91ZBOusELlcflk1yqrN1m53/n7oEqpDSaUZBYhBhIyeVyIjw+uso+cFRbdr9LzgyFhcdP+r+HH+dDWYUPrI0Wq+DCaUeXcvt8pw8pRt6mitdg93o4sy7sDfnppSH3zwgaoBRURERETUlkykhy5IxaldgtUkt2dddIqa7wjSpSU3L6/BvNySY6owsMNItlhUj6ZTS1lkndidZWduherOsnZPccM6K/k7rHVWste4rI1Eviw+TI8wfYAKINdYalFYbkRYoAYxsQkdHj1PhMYk4I3XFjSYt+j1V5Ece7xunxdy9jZ19EUZ6RIu3cNlkttzPt+D73butXYHl67hMhXvA4r3WjO8fFS7M6a0Wi22bt3qnNYQERERkdeRLKRArfWHuUiODkKg9vj1UXPHuis3W2dl/wFkPLZGjSC1eIIROltBdR/ozpIWYUQU66wQuYXoEC0mD03CfUt2wVRTi8ggLaYO767md3T0PFF+JA+3Pj69wbxJt9+lMqa8NTjl7G3aGd3DY/cuB1Z9xkGPOtqV7/rrr8ebb76Jp556yp6XExERERE5RPN1Vm5DVkGFevxIUTEMwe7TXdDZ3VlKCg8ginVWiNzGkNQo9E0MVRmcL17Rq2GXW6mHJJMdWT2VJYfx+bN3qWNfakqPejWm9iJj7mE1ip431phy5jbttO7hQaOAlIFePZhIpwSmzGYz3nrrLaxcuRIDBgxASEhIg8eff/55exZLRERERNQuLdZZiQtB5oyhMCS4rr5IZ3RnOVBSBR38VXeWaDkJ6mIA3KzOCpGvkwCyTFEtDi7RfvrQCER1TUVsqA6Zx7NF5W/GmLFqVL6YUO8enMwZ27TTSBdwDnrU8cDU9u3bcfbZZ6vbv//+e4PH/Pz87FkkEREREZFdbHVWRo2+sG7eojsGem1Xlta6s0TFRlnrrPzvHreps0JEjqcJ0CJj8hOYPTIeyUnWLmsSnFr39WeIWTsTuoB2l5Mm8qzAVGZmpuNbQkRERERkh2brrLy2SWVMJXvxFm2xO4ub1VkhohODNKQcDyLZBmmQzCZdB4JThoSEBvNUlqiPBKWcsU3JNXzjE0tEREREXslWZyU7e6+qs7Lu26/UcOlSYypj7lrk5uXDm0lXllB9QNPuLFJjRR/KTCkiN2AbpEGyOnNypJst1CAN6Y+twZWvbITRaHR1Ez0Ot6l3sStjas6cOa0+PmvWLHvbQ0RERETUsTorK5YgY/hQNSpfTHQUtyYRuZSvDtLgTNym3sWuwNSSJUsa3DeZTMjOzkZAQABOOeUUBqaIiIiIyHV1VpK6qRGpVHcOHTt0EJFr+eogDc7Ebepd7ApMbd68ucm8o0eP4qabbsJll13miHYREREREdlfZyUyiFuPiNyGLw7S4Gzcpt7DYTWmwsPD8Y9//AMzZ8501CKJiIiIiIiIvGOQhjvubDJIQ87hSpe1ydNxm3oPhxY/Ly0tVRMRERERERERcZAGZ/D1gS+8jV1d+V5++eUG92tra5Gbm4v33nsPF110kaPaRkRE7uZYMVBeAJiOX90r3gcE6IHACCCIBYaJiFyBQ6YTuTcO0sBtSk4ITL3wwgsN7vv7+6NLly648cYbMWPGDHsWSUREniBrFbBzKaA9Xg9h1Vzr394TgD6sMUhE5Koh09c8dQCrjo9KKMPQZzy2Ro1KuHiCEbqAQO4YIhfiIA3cpuSEwJSMwEdERN6rpNKEgjIjKo016n5O0THotf6INKQjIvGspi+QjCkiIup0HDKdyDNwkAZuU3JQjakNGzbgs88+azBv0aJFSElJQVxcHG6//XZUV1e3Z5FEROSGVu8uxtMrsxGs06hJbs/5fA9WHagFono0ndiNj4jIpUOmp6T0qBuGPit7H4ehJyIi78yYmjNnDkaMGIFLLrlE3d+2bRtuueUW3HTTTejVqxeeffZZJCYm4tFHH3VWe4mIqBMM7xmF/t3CmsyPCLQr0ZaIiJyIQ6YTEZHPZExt2bIFo0aNqrv/wQcfYNCgQVi4cCGmT5+uiqJ/9NFHzmgnERF1oshgLbpHBzWZZD4REbkXDplOREQ+E5gqLi5GfHx83f3Vq1c3GIXvT3/6E/bv3+/YFhIRERFRi4w1FpRVm1FcaWr4QI0RqC4DKou49bwYh0wnIiKfCkxJUMpW+NxoNOLnn3/GueeeW/d4WVkZtFpeTSciIiLqDOuzirHtYDl25lZg6uJfsXZPsfWBveuA3K1A/g5g6RQgew13iJcPQy81pjK/XI4h552LzBVLVI0pGZUvJjrK1U0kIiJqVbuKhYwdOxYPPvggnn76aXz66acIDg7G0KFD6x7funUrTjnllPYskoiIiIjsUFRhwvy1+2GyWKDT+KOkyoRXVu9DWoQRURvmATUmQKMDqkqA9S8B8WlAcDS3tZfhMPRERORTganHHnsMl19+OYYPH47Q0FC8++670Ol0dY+/9dZbGD16tDPaSURERET15JdVqy58EpTS+PuhS6gOJZVmlBQeQJR04ZOglL8GCOkCHCsGyvMZmPJSHIaeiDqqpNKEgjIjKo016n5O0THotf6IRDkiaooAU6X1icX7gAA9EBgB6MO54anzA1OxsbFYs2YNSktLVWBKo9E0eHzx4sVqPhERERE5V3yYHmH6ABwoqYIO/igsNyI6WIvILgZAHwaUSN1PHVBRCARFA6En6oQSEVEbSWC/qrTpfC8LzKzeXYxl2woQrLOe4z+90lrCZ3L0TxhYnglog61PXDXX+rf3BKDXeJe1l7yLXeN+R0RENDs/Oprp4URERESdITpEi8lDk3Dfkl0w1dQiMkiLqcO7Iyo2Chg8BfjfPYDFBARGAkOmMVuKiOgkGUOlVeYm82P3foOQ3UuB3G3WGYa+gJ/G6wIzw3tGoX+3sCbzIxEP+A1vPjBH5MrAFBERERG53pDUKPRNDIXRbMGLV/SCIUJvfaBHOmDoB5iNwPiXgfBEVzeViMjtM4aWbM3H9kPl6n5aYig0fn644vQzMTajL/D1TOsTMx450ZXNi0RKxm1wcwOZBQHo0vyLLNZuf0QdxcAUERERkQeTGlMyRTU+oZAaUzKx4Dk5s8ZMEEf9I+/JGOoVH4LZK3ar+w9dkKo+/xGBAYCu5kRXtqjuQECg9TYDM0QOwcAUERERERHZV2Omz2XccuQVJFsoUKup+/wnRwchUOtvfdDMzCAiZ2JgioiIiIiIWGOGiIhcgoEpIiIiIiKyr8YMEblFl1vpchjpVw6UFzTf7daLRhAk78PAFBEREREREZEHd7kd3zcOEzTrgZ1Lm+9260UjCJL3YWCKiIiIiIiIyEOKtPfvFtZkvirS7jcCSDyr6Yu8bARB8j4MTBERERERERF5dJdbEdXySJkcQZDc2PFhBoiIiIiIiIiIiDoXM6aIyD2KNbZ45YeIiKjt/6dEohwRNUXNF/9tKZOAiIiIXIaBKSJyj2KNp2o5iggREXX4/5TJ0T9hYHlm88V/+1zGLUxE5I2OFbd8LsGLEm6PgSkico9ijVmfcRQRIiLq8P8pkYgH/IY3fQGL/xJRJ2NmZ+dt09i93yBkz2e8KOGhGJgiIvco1pjKUUSIiOxVYzYhNy8PKUmJdfNyS44hJlQPnSds1hojYK4GKouA8BPrYN//KUEAuji8iURE7cXMzs7bplecfibGnj+w6Qt4UcIjMDBFRO5BUmw5iggRkV1Bqcz5D2PNUwew6svlSE5OQs7+A8h4bA3SuoVj8QQjdAGB7rtl964DcrcCFjOwdAqQfi+QMszVrSIi6jBmdnZyDwzWrPVYDEwRERERebDq8lIUH8xCWeEhZIy5GIvefB2TbrkNWQUV6vEjRcUwBIfDHRhrLKg2W1BcaYIhQm/NkNowD6gxARodUFUCrH8JiE/jVW4i8njM7OzMbUqezN/VDSAiIiIi+wVHxuKi+19FSkoPZGXvRfrI0cjK3ofUuBBkzhgKQ0K8W2ze9VnF2HawHDtzKzB18a9Yu0cK1eYB1WXWoJS/BgjpAlQfBcrzXd1cIiIi6iQMTBERERF5uNCYBLzx2oIG8xbdMRDJscdHpnOxogoT5q/dD5PFAq3GDyVVJryyeh+K/WMAfZi1xpSlBqgoBPThQKh7BNOIiIjI+RiYIiIiIvJw5UfycOsddzaYN+m1Tcg5fHzYbBfLL6tGWbUZOo0/NP5+6BKqQ1lVDfJrQoHBUwCNFrCYgMBIYMg0IDja1U0mIiKiTsIaU21QU1MDk8nk/L1BHkOr1UKjsY4EQURE5EqVJYfx+bN3qRpTqSk9TtSYyt6HjLlrsW5cPgzduru0jfFheoTpA3CgpAo6+KOw3IjoYC3iQnVATDpg6AeYjcD4l9s8Kh8RERF5BwamTqK8vBwHDhxAbW1t5+wR8gh+fn7o1q0bQkNDXd0UIiLycfrQCER1TUVsqA6Zx0fly1yxBBnDh6pR+WKio1zdRESHaDF5aBLuW7ILpppaRAZpMXV4dzUf5hprjSmZmCnVZiWVJhSUGVFprFH3c4qOQa/1VyNTReqcty+JiIgcjYGpk2RKSVAqODgYXbp0UcEIIglSFhYWqs/GqaeeyswpIiJyKU2AFhmTn8DskfFITrJmGyUndcO6mcMQE6qHTuceUYohqVHomxgKo9mCF6/oZR2Vj+y2encxlm0rQLDOmsH99Mps9Xd83zhM6O0eozASERG1BQNTrZDuexKEkKBUUFBQmzYo+Qb5TOzdu1d9Rtilj4iI3CE4ZUhIaDDPEOl+v12kxpRMURzqu8OG94xC/25hTeZHohwo3geYjtcXk9sBeiAwAghyffYcERFRYwxMtQEzpYifCSIiInInkcFaNTWx4wtg51JAe3xExlVzrX97TwD6XNa5jSQiImoDBqaIiIiIiLxF6ggg8aym8yVjioiIyA35w03NmzcPPXr0QGBgIAYNGoQffvihxecuXLgQQ4cORVRUlJrOP//8Vp/vjVatWoX+/fvD3b366qu46aabXN0MIiIiIu8k3fWiejSd2I2PiIjclFsGpj788ENMnz4ds2fPxs8//4wzzzwTY8aMQUFBQYtBmWuuuQaZmZnYsGEDkpKSMHr0aBw8eBCuYDQakZub22Ce3Jf5nshsNru6CURERERERETkhdwyMPX888/jtttuw80334zevXtjwYIFamS8t956q9nn//vf/8Zf//pXlTF0xhln4I033oDFYsE333zT6W2X4NOVV16J9PR05OTkqHnyV+7LfEcEp7788kucffbZ6NevH4YPH46dO3fWBZAmTZqEtLQ0DBgwAFu2bFHz//jjDwwZMkQF+Pr27YtHHnlEzZfC3Q8++CDOOeccte3+/Oc/o7i4WD0mWU1/+ctfMGzYMLW8J554AnfddVddG8rLyxEdHa1GpxPPPfecWo6068ILL8S+ffvU/LKyMlx11VU4/fTT1TbYtm1bh9efiIiIiIiIiLyD2wWmJHDz008/qe54Nv7+/uq+ZEO1RWVlpQq6SOCksx05cgTbt29HVlYWMjIysH79evVX7st8ebwjJGvs2muvxbvvvoutW7fi9ttvx8SJE9XogTt27MCNN96o3ueBBx7A1VdfreZL97lLLrkEv/zyiwoMSTaaePbZZxESEqK6PUoQq37QSsh+WL58OX777TcV8Proo49QXV2tHlu8eLFaLxmd7v3338euXbvU/pEMt+uuu04FCsWcOXOg1+vVMmRZa9as6dD6ExEREREREZH3cLvi54cPH0ZNTQ3i4+MbzJf7EtxoCwnKJCYmNghuNSYBFluQRRw9ehSOYDAYVJdCWzBKsoREamqqmi+Pd8TGjRtVAEkmIUGgKVOmqG6LUpNr1KhRar5kP0nQav/+/Srr6f7771dZTpJhZdsun376KUpLS/HJJ5/UBQVlGTaS4RUWZh2GWLpHnnXWWVi2bJma/84776hl2pbz448/qiwtIfvPRrLWXnjhBTWyYUREhAqq7dmzp0PbgIiIiIiIiIi8g9tlTHXUU089hQ8++ABLlixRhdNbMnfuXBUosU0SeHGU5ORkLFq0qME8uS/zO5MEg2S64oorVOaWdKezZU8JyaZ65ZVXVLaUTNIlcMWKFXWvDw0NbbA86dr39ttvq4Db7t27VZc923JmzJhRtxzJymqpy560h4iIiIiIiIjILQNTsbGx0Gg0yM/PbzBf7ickJLT6WqlzJIGpr776StVfao0EUiRbyDZJZpGjSE0p6fpWn9y31ZzqiHPPPVcFfaS7npAgXNeuXdW0d+9elZUlPv74Y5Vl1q1bN1VjSm5LG5555hl8//336jmXXnqpymaSro9C/kp3wJbI8yUzSoJ6119/PQICAurmSx2woqIidV+6UW7evFndluwsCWZJ8Eqy0v7zn/90eBsQERERERE5g7HGgrJqM4orTQ0fqDEC1WVApfWch4i8uCufTqdTXcKkC5gEPIStkHn94tuNScBFCnRLYfCBAwee9H2k7pFMjiaj79m68Un3PcmUkoCQrebUunXrOtSdT2o6SbF3WaYUO4+KilL1nqT2VJ8+fVQXu7vvvlttRwkCSYaSBKn+9a9/qXmyLSWIZOvyKN0ZBw0aVJfJJPNkOc2R7SVdBP/5z3/i119/rZsv3Qmldpasn5B2SXaVdP2bOXMmbr31VlWUXtouXRvrd6EkIiIiIiJyB+uzirHtYDnMllpMXfwrpmV0x9BTooC964DcrYDFDCydAqTfC6QMc3VzibyG2wWmhBTnliLeEmCSkd5efPFFVFRUqFH6hARlJENIMnfE008/jVmzZqki3FIjKS8vr64rWuPuaM4WExOjRrETkr0k3fdsNadkvjzeUdKFztaNzkZGL7RlUTWXHSZTY5LxJMXJZWpMAlzNmTdvnpoak2CYTI1JjaoPP/yw1fUhIiIiIiJypaIKE+av3Q+TxQKdxh8lVSa8snof0iKMiNowD6gxARodUFUCrH8JiE8DAiO404i8NTB11VVXobCwUAWbJMjUv39/fPHFF3UF0aVLnIzUZzN//nxVuFtGp6tv9uzZePTRRzu17ZKVJBlMkkFky4yS4JRkSklQSh4nIiIiIiIi95FfVq268ElQSuPvhy6hOpRUmlFSeABR0oVPglL+GiCkC3CsGCjPZ2CKyJsDU0K67bXUdW/VqlUN7kttJXciwafG3fU6OhofEREREREROUd8mB5h+gAcKKmCDv4oLDciOliLyC4GQB8GlEhNYh1QUQgERQOhDUeRJyIvKn5ORERERCdXUmlCTtExVBpr1CS39xUdQ2lRIVC8DzBVWie5XbzXeoWfiIiaFR2ixeShSdBq/GGqqUVkkBZTh3dHVGw8MHgKoNECFhMQGAkMmQYER3NLEnl7xhQRERERtWz17mIs21aAYJ1G3X96Zbb6Ozn6JwwszwS0wdYnrrLW5ETvCUCfy7hJiYhaMCQ1Cn0TQ2E0W/DiFb1giDg+WFaPdMDQDzAbgfEvA+GJ3IZEDsTAlBOUVBpReqzR8KIAIoK0iAxmjSkiIiLquOE9o9C/W1iT+ZGIB/yGN32BmxTprTGbkJuXh5SkEyd2uSXHEBOql04yREQuJTWmZIoK1jZ8QGpMycRMKSKHY2DKCVb/Xoglmw9i+4FSdT+tWwQ0fn4Y3z8RE/p3dcZbEhERkY+JlNonjU+clCAAXeCOJCiVOf9hrHnqAFZ9uRzJyUnI2X8AGY+tQVq3cCyeYIQuINDVzSQiIqJOxBpTTjD8tC54aGwvnBofqia5PWtcbzXfEXr06IHTTz9djVZom7Zt2wZH27JlCz744IMWH3/nnXcQERGh3v/MM89Ev379sHTp0rrHx44di127dqGzSDvKyspO+jw/Pz+UlJR0SpuIiIjohOryUhQfzEJ29l5kjLkY67/7HhljL0NWQQW2HziKI0Wsg0VERORrmDHlBNJdL1CrQYC/P6rNFjW6gyFSrl46zocffqgCMc4kgalPP/0UV199dYvPycjIUM8R33//PcaNG4cJEyao+ytWrEBnkvYSERGR+wqOjMVF97+KH+dPR1b2XqSPHK3mp8aFIHPGUBgSOMoVERGRr2HGlJOs330Y2w6WYmduKab+ZzPW/lEIZ5PspG7duiErK0vdf+6553DhhRfCYrGojKr09HScffbZ6N27Nx5//PG61xmNRtx///1IS0tTmU/ymoKCAsyaNQuZmZkqAHbnnXee9P0lCykqKqpBZpctWDRixAj87W9/w9ChQ3HKKac0WJ681+WXX46+ffuqNrz22msNlvHII4/gvPPOQ1JSEhYsWIC3334bgwcPVo/Vz+iqnwkl7/WnP/1JtX3YsGGdmrlFRERELQuNScAbry1oMG/RHQORHHu8WDsRERH5FGZMOUFRhRHzV+2BqcaiCueVHDPhlW93o09iBKJDHFPW86qrrkJQ0IksrA0bNqjufc8++yz+/Oc/q6DUvHnz8MMPP8Df318Fcb755hvo9XocO3ZMBXrOP/98nHvuuZg7dy5+//13/PTTT+rxwsJCdOnSBXPmzFHZULaMqObYAleVlZU4ePCgyuRqyZ49e9TzTSaTCo5JmyXANHXqVNX2//73vypINWDAABUgk7aJiooKfPfdd9i9e7cKXj388MPqtT/++KPqLthcRtcDDzygtoGQ4NW0adPwxRdfdHCrExERUUeVH8nDrY9PbzBv0mubVMZUMjcvERGRz2HGlBPkH61CWZVZBaU0/n7oEqpD2TETCsqqHPYeEgCSbCTbZAtSXXPNNSorasyYMXjvvfdUgElIMOrWW29VgR0J+Ozbt68um+mzzz5TgRsJSgnba9pCuvLJciSwtXHjRvUehw4dajGYFhAQoNoqwSwJVImVK1fijjvuULfj4uJU9pTMq/860bNnTwQGBmLixInq/sCBA1FUVNRsvaivv/5aBb0kA0sCbOzmR0RE5HqVJYfx+bN3qRpTqSk9sO7br5Ca0l3VmMqYuxa5efmubiIRERF1MgamnCA+PBBhgQEw1lhQY6lFYbkRYUFaxIU5f5QZs9mM7du3Izo6WmUw2Tz00EOIjY3F5s2b8csvv6iudVVVjguUCQkCJScnY/369c0+LkElG41Go9raHOmS19rrbPfleTI1Xk5OTg7uuusu/Otf/1LbQjKmHL2uRERE1H760AhEdU1FSkoPZH65HEPOOxeZK5aoGlMyKl9M9ImSAEREROQbGJhyAumuN3nEKdBq/GGyWNRQzlNH9nRYN77WPPjgg6pb3Nq1a1WdJen+JoqLi1X9KclYknpLklFkM378eLz00kuorq5W96UrnwgPD0dpaWmb3/vAgQP4448/cNppp7WrzdKlcOHChXXvLV36LrjgAthL2qzVamEwGFBbW4tXX33V7mURERGR42gCtMiY/AS++eoLJCcnqXnJSd2wbuYwLJ46CDqd838rERERkXthjSknGdIzFn27RsBotuDFq/s7fFS+xjWmXnjhBVWLSeooSV2p4OBgPP/886relNRnkgLiN9xwA959911VfHzkyJEN6jFJ3SbpAigBncTERDWi3qhRo1Sdpn79+qmaVFJ4vKUaU0JqRz355JOqPlR7vPzyy5g8ebLqZiiBJGnLoEGD7N42shypO9WnTx/ExMTg0ksvtXtZRERE5PjglCEhocE8R/9OIiIiIs/BwJQT6QL81RTl4EypvXv3tvjYJZdcUnf7yiuvVJM466yzVLe2Ztup06mi6TLVFxERoYJaLbnpppvU1JZ2rlq1qsFjH3/8cd3t+Ph4lSV1smWIw4cPN7hfvxufBLVsJANMJhsJzDX3PCIiIiIiIiJyHQamnKCk0oiCsmpUGq1Bk5yiSugD/BERpEVkMFPUiYiIiIiIiIgYmHKS1b8XYtmWQwjWWeN+T3/+m/o7vn8iJvTvyk8eEREREREREREzppxj+Gld0D8pssl8yZgiIiIiIiIiIiIrduVzAumuxy57RERERFYllSYUlBlRaaxR93OKjkGv9UckyhFRUwSYKq1PLN4HBOiBwAhAH87NR0QuUWM2ITcvDylJiXXzckuOISZUDxZmIXI8BqacobIIqCppOj8wEgiOdspbEhEREbmr1buLsWxbAYJ1GnX/6ZXZ6u/k6J8wsDwT0AZbn7hqrvVv7wlAr/Euay8R+XZQKnP+w1jz1AGs+nI5kpOTkLP/ADIeW4O0buFYPMEIXUCgq5tJ5FUYmHKG3d8AWz8EcrdY7xv6A/4aIG0i0M86Sh4RERGRrxjeMwr9u4U1mR+JeMBveNMXSMYUEZELVJeXovhgFsoKDyFjzMVY9ObrmHTLbcgqqFCPHykqhiGYGZ1EjsTAlDP0HAUk9AVW3G+9P/pxIEBnzZgiIiIi8jGRwTIycXO1NoMAdGn+RRZrtz8ios4UHBmLi+5/FT/On46s7L1IHzlazU+NC0HmjKEwJMRzhxA5mL+jF0hyNIsGonoAumDrJLejU13WjW/Lli344IMP7HrtqlWrEBQUhLPOOgt9+vRR0/Tp01FcXFz3nLFjx2LXrl1wtk8//RTff/99m9vt5+eHxx57rG7e9u3b0aNHj7r7clu2TWM33XQTunbtiv79+9dNb7/9toPWgoiIiIiI3FloTALeeG1Bg3mL7hiI5Njj3Y6JyKEYmHKmGiNQXQZUHoErdSQwJU4//XRs3rwZO3bsUIGhsrIyjBo1CjU11iuZK1asUM/pKLPZ7LDAlEhISMArr7yCw4cPt7st999/v9putunmm29u9zKIiIiIiMjzlB/Jw6133Nlg3qTXNiHn8PGBGojIoRiYcpas1cDBzUDuVuDjvwB7vnXIYo8dO4arrroKvXv3xplnnonRo62ppeK9997DoEGDcPbZZ2PYsGH45ZdfUFBQgFmzZiEzM1Nl/tx5p/UAK9lEJSUnCrTHxsZi7969J33/sLAw/POf/1TBni+++KJJ5tHjjz+OXr161WUa7du3T83fsGED0tPTVZv79euHpUuX1r32gQcewDnnnIMbb7wRJpMJDz74oLovr//zn/+ssrMk+LVs2TI8++yzav4bb7zR4jrbxMfH44YbbmiQNUVERERERNSSypLD+PzZu5CdvRepKT2w7tuvkJrSXdWYypi7Frl5+dx4RA7GGlPOUHEEWPc8YDEBGh1wrBhY8xyQcCYQEtOhRUswSAJKO3fuVPeLiorU3/Xr1+M///kP1qxZA71ej7Vr1+Laa69VWU5z5sxR2UYyOYJWq1Vd+2TZF198cd18CSA999xzyM3NVd3/Kisr4e/vr9p46aWX4uOPP8bQoUNhsVgaBMWOHDmCjRs3qmDZk08+iZCQEPzwww/qMQkqPfLII5g3bx7Gjx+vglL33HPPSdfZ5uGHH8YZZ5xR95q2kgDYO++8U3dfMq+k7URERERE5L30oRGI6pqK2FAdMo+Pype5Ygkyhg9Vo/LFREe5uolEXoeBKWcoywWqj1qDUjIaX2icNThVntfhwJRkHP3666/461//iuHDh6v6TkIykCRbSLKHbCQgJBlWzlBbW9tkXnh4OE499VRcf/31KpNLglbdunXDN998o7r62QI7EqyKjo5uUNNJglJCgmelpaX45JNP1H2j0digLlR9bVlneR8JSklwa8aMGe3qytfeYBYREREREXk2TYAWGZOfwOyR8UhOSlTzkpO6Yd3MYYgJ1UOn07m6iUReh4EpZwgzAPpwoCQHgA4oLwBCYoHQhA4vOjU1VWVLffvtt1i5ciX+/ve/q250EiiSrnCScdQWGo2mrkaUqKqqanMbpLudvKetW2D9ZUoNqO+++04VHz/33HNVRtPJhIaG1t2W9ZDspPpdFFvS1nWWANNpp52GCy+88KTLJCIiIiIi31NSaUJBmRGVRjlH8odJF4F9RccQiXJE1BTBEFIL1FYBxfuAAD0QGGE95yOiDmONKWeQrKj06YBGC9SYgKBoYNjfOpwtJQ4cOKCyi6Rbm3Sbk+DM/v371f1//etfyMmRYBhUd7lNmzbVZTJJFlJ9PXv2VN3nxH//+19UVFS06f3Ly8sxdepUVZNqzJgxDR6Touj5+fkqM2rmzJmqppQUTT/vvPPwxx9/qK52trbZuiA2Jl3+XnjhBdUNUMhfW9e8xuvR2jrXFxwcrNojtbaIiIiIiIgaW727GE+vzEawTqMmuT3n8z34Y+MKYNVcQBtsneT2ykeBrFXciEQOwowpZ0kdDiSeBZirgcsXAhFdHbLYbdu2qS5pEpCSUeykuLcUExfPPPMMLrvsMjVfusBJV7qBAweqEfQkiCXPkyDRggULVPDn7rvvVl3c5HkxMS0HzXbt2qVqO0mmlLyvBKSke55kSNUnQaOJEyeqIJcEz6Rbn2Q0RUREYMmSJbjvvvtU8Eq68kntqHHjxjV5LymEXl1drbrn2br3ybw+ffqodZVuf9Ldb8qUKbj11ltbXOfGbrnlFjz//PNq2fXJukjNLBvbqH+Na0xdd911qnsfERERERF5n+E9o9C/W1iT+ZGIB/yGN32BZEwRkUP41TZXLMgHHT16VAVQJLgimTm27m3Z2dlISUlBYGBg2xdWWWTtvrfieCBj7LNAgA4IjASCT9RWIs9l92fDF1lqgGMl1nprMtm7DJmCIq3LcMYyPamtXH/n7H8iT+ApxxQep9xzm3bmviJydzxO+fZxylOW6WUxlpYwY8oZdn8DbP8Y0AVb76+cbf2bNhHod6VT3pKIiIiIiIiIyNMwMOUMPUcB3QY0nS8ZU0REREREREREpDAw5QzSXY9d9oiIiIiIiIiIWsVR+dqAZbiInwkiIiIiIiIix2PGVCtktDYZGa6wsBBdunSpGyWOfJsEKuUzIZ+H+iP6EREREREREVH7MDDVCo1Gg27duuHAgQPYu3dvOzcteTMJSslnQz4jRERERERERGQfBqZOIjQ0FKeeeipMJpOdm5i8kWRKMShFRERERERE1DEMTLWBBCAYhCAiIiIiIiIiciwWPyciIiIiIiIiIpdgYIqIiIiIiIiIiFyCXfnqjbQmjh496po9QeStLDXAsTJABrX0szMWXmsB5Ctq8gf8Nc5Zpie1levvnP1P5Ak85ZjC45R7btPO3FdE7o7HKd8+TnnKMj2YLbZii7W0hoGp48rKytTfpKQkZ+4bIiIiIiIiIiKfibVERES0+hy/2raEr3yAxWLBoUOHEBYWBj8/CXF6PolQSqBt//79CA8Pd3VziDwev1NE/E4RuTP+P0XE7xSRu5BQkwSlEhMT4e/fegYZM6aOkw3VrVs3eCMJSjEwRcTvFJG74v9TRPxOEbkz/j9FZJ+TZUrZsPg5ERERERERERG5BANTRERERERERETkEgxMeTG9Xo/Zs2erv0TE7xSRu+H/U0T8ThG5M/4/RdQ5WPyciIiIiIiIiIhcghlTRERERERERETkEgxMERERERERERGRSzAwRURERERERERELsHAlBebN28eevTogcDAQAwaNAg//PCDq5tE5BHWrFmDcePGITExEX5+fvj0008bPF5bW4tZs2bBYDAgKCgI559/Pv744w+XtZfInc2dOxd/+tOfEBYWhri4OFx66aXYtWtXg+dUVVVhypQpiImJQWhoKK644grk5+e7rM1E7mz+/Pno168fwsPD1TR48GB8/vnndY/z+0TUMU899ZT6/XfPPffwe0XUSRiY8lIffvghpk+frkbl+/nnn3HmmWdizJgxKCgocHXTiNxeRUWF+s5IcLc5zzzzDF5++WUsWLAAGzduREhIiPp+yckAETW0evVqFXT6/vvv8fXXX8NkMmH06NHqe2Zz77334n//+x8WL16snn/o0CFcfvnl3JREzejWrZs6cf7pp5+wadMmjBw5EhMmTMCOHTv4fSLqoB9//BGvvfaaCv7Wx/+niJyLo/J5KcmQkivUr776qrpvsViQlJSEqVOn4sEHH3R184g8hlwxW7JkicrysGVLSSbVfffdh7/97W9qXmlpKeLj4/HOO+/g6quvdnGLidxbYWGhypySANSwYcPU96dLly54//33MXHiRPWc3377Db169cKGDRtw7rnnurrJRG4vOjoazz77rPoO8ftEZJ/y8nKcffbZ+Oc//4nHH38c/fv3x4svvsj/p4g6ATOmvJDRaFRX0aR7kY2/v7+6Lz/yich+2dnZyMvLa/D9ioiIUMFgfr+ITk4CUbYTaSH/X0kWVf3v1BlnnIHk5GR+p4hOoqamBh988IHKQJQuffw+EdlPsnsvvvjiBv8f8f8pos4RwA3tfQ4fPqx+qEgGR31yX65CE5H9JChl+z41/n7ZHiOi5kn2rtTsGDJkCNLS0uq+UzqdDpGRkfxOEbXRtm3bVCBKupBLXTbJ7O3duze2bNnC7xORHSTAK+VPpCtfY/x/isj5GJgiIiKiTrsavX37dqxbt45bnKgDTj/9dBWEkgzEjz/+GDfeeKPqHktE7bd//35MmzZN1UGUQaOIqPOxK58Xio2NhUajaTKikdxPSEhwWbuIvIHtO8TvF1H73HXXXfjss8+QmZmpijfX/05JF/SSkpIGz+f/WUQtkyzDnj17YsCAAWrkSxmw46WXXuL3icgO0gVWBoiS+lIBAQFqkkCvDHQjtyUrnv9PETkXA1Ne+mNFfqh88803DbpPyH1J+yYi+6WkpKgf/vW/X0ePHlWj8/H7RdSUDBggQSnpavTtt9+q71B98v+VVqtt8J3atWsXcnJy+J0iaiP5nVddXc3vE5EdRo0apbrHShaibRo4cCCuu+66utv8f4rIudiVz0tNnz5dpXXLgfScc85RI0pIYcybb77Z1U0j8ohRWXbv3t2g4Ln8MJFizVKQWWrkyGgtp556qjrJnjlzphqpzzZyHxE17L4nI+4tXboUYWFhdbXYZNCAoKAg9feWW25R/2/Jdyw8PFyNICuBXo7IR9TUjBkzcNFFF6n/j8rKytT3a9WqVfjyyy/5fSKyg/zfZKt7aBMSEoKYmJi6+fx/isi5GJjyUldddZUaknvWrFnqJECGO/3iiy+aFGwmoqY2bdqEjIyMuvtywiwk2PvOO+/g73//uwr03n777ar7UXp6uvp+sS4BUVPz589Xf0eMGNFg/ttvv42bbrpJ3X7hhRf+v737eYV2CwA4ftS1IxbESgpFMTZspKxEfpVkISXNRpSyUFaklB1/gP/AhlIikYVkSTaym2ym2IkFhbfnKWrSve+9r/edZ7o+n5qa4czjTJL6ds554rvHjoyMxKs+enp64tt1A59FW44mJiZCNpuNQ1QqlYqjVHd3t78n+EP8n4I/q+gtWmMPAAAAAHnmjCkAAAAAEiFMAQAAAJAIYQoAAACARAhTAAAAACRCmAIAAAAgEcIUAAAAAIkQpgAAAABIhDAFAAAAQCKEKQCA/5FMJhOKiorCxcVF0lMBAPgpYQoAII+iaPRPj+XlZb8PAODb+CvpCQAAfCfZbPbj+ebmZlhaWgrX19cfXyspKUloZgAA+WfFFABAHlVXV388ysrK4lVS768fHx/D+Ph4qKqqigNVe3t7ODw8zHl/bW1tWF1dDel0OpSWloaampqwsbHxtz/v5eUlHtvY2Bhubm7y8AkBAP49YQoAoEA8PDyEvr6+cHR0FM7Pz0Nvb28YHBz8FJTW1tZCW1tbPGZmZiZMT0/nrLp69/T0FEZHR+Pzpk5OTuKIBQBQSIQpAIAC0draGqampkJzc3NoaGgIKysroa6uLuzs7OSMi+JVFKTq6+vDwsJCqKioCMfHx58iV39/f7i7u4u/V1lZmedPAwDwc8IUAECBiGLS/Px8aGpqCuXl5fF2vqurq08rplKp1Mfz962At7e3OWPGxsbirYEHBwfxlkEAgEIkTAEAFIgoSm1vb8dnSEVb76IteC0tLeH5+TlnXHFxcc7rKE69vr5+WlV1eXkZzs7O8jJ3AIBf4a58AAAF4vT0NExOTobh4eGPFVSZTOaXrhWdOxVtCRwaGgq7u7uhq6vrN88WAODrhCkAgAIRnSu1tbUVH3gerYJaXFz8tBLqv5idnY3vyjcwMBD29vZCZ2fnb50vAMBXCVMAAAVifX09pNPp0NHRER9oHh1sfn9//6Vrzs3NxXEr2tq3v78fXxsAoFAUvb29vSU9CQAAAAC+H4efAwAAAJAIYQoAAACARAhTAAAAACRCmAIAAAAgEcIUAAAAAIkQpgAAAABIhDAFAAAAQCKEKQAAAAASIUwBAAAAkAhhCgAAAIBECFMAAAAAJEKYAgAAACAk4QfadrkVVl8PgAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Per-tank survival probabilities: posterior mean +/- 90% CI\n", "alpha_exact = trace_predator.posterior[\"alpha\"].values.reshape(-1, n_tanks)\n", "alpha_dnle = trace_dnle.posterior[\"alpha\"].values.reshape(-1, n_tanks)\n", "p_exact = 1 / (1 + np.exp(-alpha_exact))\n", "p_dnle = 1 / (1 + np.exp(-alpha_dnle))\n", "\n", "fig, ax = plt.subplots(figsize=(12, 4))\n", "tanks = np.arange(n_tanks)\n", "for samples, label, offset in [\n", " (p_exact, \"Exact Binomial\", -0.15),\n", " (p_dnle, \"setu DiscreteNLE\", 0.15),\n", "]:\n", " mean = samples.mean(axis=0)\n", " lo, hi = np.percentile(samples, [5, 95], axis=0)\n", " ax.errorbar(\n", " tanks + offset,\n", " mean,\n", " yerr=[mean - lo, hi - mean],\n", " fmt=\"o\",\n", " ms=3,\n", " capsize=2,\n", " label=label,\n", " alpha=0.7,\n", " )\n", "\n", "# Observed proportions\n", "ax.scatter(\n", " tanks, survivors / density, marker=\"x\", color=\"k\", s=20, label=\"observed\", zorder=5\n", ")\n", "\n", "# Shade by predator treatment\n", "for j in range(n_tanks):\n", " if predator[j]:\n", " ax.axvspan(j - 0.4, j + 0.4, color=\"C1\", alpha=0.05)\n", "\n", "ax.set(\n", " xlabel=\"Tank\",\n", " ylabel=\"Survival probability $p_j$\",\n", " title=\"Per-tank estimates (shaded = predator present)\",\n", ")\n", "ax.legend(fontsize=8, loc=\"lower left\")\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "id": "22", "metadata": {}, "source": [ "## Summary\n", "\n", "The DiscreteNLE posteriors closely match the exact Binomial posteriors for\n", "the population-level hyperparameters ($\\bar\\alpha$, $\\sigma$, $\\beta_P$) and\n", "the 48 tank-level survival probabilities. Key observations:\n", "\n", "- **Partial pooling**: Both models show shrinkage of extreme tanks toward\n", " the population mean, especially in the low-density group.\n", "- **Predator effect**: $\\beta_P$ is strongly negative (~$-2$), and\n", " including it reduces the residual tank variance $\\sigma$.\n", "- **Validated before use**: SBC, C2ST, total variation, and likelihood\n", " accuracy all pass on held-out simulations, so the learned likelihood is\n", " trustworthy before it enters the sampler.\n", "- **Discrete data, no continuous channel**: modeling the survivor count\n", " directly with `DiscreteNLE` matches the exact discrete likelihood.\n", "\n", "This validates setu's neural likelihood bridge on a problem with known\n", "ground truth. The next notebook replaces the tractable Binomial with a\n", "mechanistic individual-based simulator where the likelihood is intractable.\n", "The same setu workflow applies; only the simulator changes." ] } ], "metadata": { "kernelspec": { "display_name": "setu (3.12.9)", "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.14.3" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "094e07fd9006491da9e174504689de8d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "18c15352b02241b8b28fcc162fe350cd": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_46ed3f57fe3d40a49205c1b97007aa7e", "placeholder": "​", "style": "IPY_MODEL_c4bf299163a24373bdbbe7b340a35935", "tabbable": null, "tooltip": null, "value": "Training:  19%" } }, "2b270552efae4323a07279c439792c9e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "3f2dea845d874d28b99af7bf4d4dd106": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_18c15352b02241b8b28fcc162fe350cd", "IPY_MODEL_7a64083b1c7a474da16a5ac18cc91652", "IPY_MODEL_6606567233b148f6885085289f5acf43" ], "layout": "IPY_MODEL_61dc967b4cef4a5aaed5553691dc1bfa", "tabbable": null, "tooltip": null } }, "46ed3f57fe3d40a49205c1b97007aa7e": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "61dc967b4cef4a5aaed5553691dc1bfa": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6606567233b148f6885085289f5acf43": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_a874163b86374bfd937b76d2005c6176", "placeholder": "​", "style": "IPY_MODEL_2b270552efae4323a07279c439792c9e", "tabbable": null, "tooltip": null, "value": " 58/300 [00:08<00:31,  7.67it/s, train=1.5412, val=1.5328]" } }, "7a64083b1c7a474da16a5ac18cc91652": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "danger", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_b043a1394084412fb1d308ccff26ebfc", "max": 300.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_094e07fd9006491da9e174504689de8d", "tabbable": null, "tooltip": null, "value": 58.0 } }, "a874163b86374bfd937b76d2005c6176": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b043a1394084412fb1d308ccff26ebfc": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "c4bf299163a24373bdbbe7b340a35935": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }