{ "cells": [ { "cell_type": "markdown", "id": "241ec99a-6825-4d61-b90b-5d255a9b1764", "metadata": {}, "source": [ "(marginalizing-models)=\n", "# Automatic marginalization of discrete variables\n", "\n", ":::{post} Jan 20, 2024\n", ":tags: mixture model\n", ":category: intermediate, how-to\n", ":author: Rob Zinkov\n", ":::\n", "\n", "PyMC is very amendable to sampling models with discrete latent variables. But if you insist on using the NUTS sampler exclusively, you will need to get rid of your discrete variables somehow. The best way to do this is by marginalizing them out, as then you benefit from Rao-Blackwell's theorem and get a lower variance estimate of your parameters.\n", "\n", "Formally the argument goes like this, samplers can be understood as approximating the expectation $\\mathbb{E}_{p(x, z)}[f(x, z)]$ for some function $f$ with respect to a distribution $p(x, z)$. By [law of total expectation](https://en.wikipedia.org/wiki/Law_of_total_expectation) we know that\n", "\n", "$$\\mathbb{E}_{p(x, z)}[f(x, z)] = \\mathbb{E}_{p(z)}\\left[\\mathbb{E}_{p(x \\mid z)}\\left[f(x, z)\\right]\\right]$$\n", "\n", "Letting $g(z) = \\mathbb{E}_{p(x \\mid z)}\\left[f(x, z)\\right]$, we know by [law of total variance](https://en.wikipedia.org/wiki/Law_of_total_variance) that\n", "\n", "$$\\mathbb{V}_{p(x, z)}[f(x, z)] = \\mathbb{V}_{p(z)}[g(z)] + \\mathbb{E}_{p(z)}\\left[\\mathbb{V}_{p(x \\mid z)}\\left[f(x, z)\\right]\\right]$$\n", "\n", "Because the expectation is over a variance it must always be positive, and thus we know\n", "\n", "$$\\mathbb{V}_{p(x, z)}[f(x, z)] \\geq \\mathbb{V}_{p(z)}[g(z)]$$\n", "\n", "Intuitively, marginalizing variables in your model lets you use $g$ instead of $f$. This lower variance manifests most directly in lower Monte-Carlo standard error (mcse), and indirectly in a generally higher effective sample size (ESS).\n", "\n", "Unfortunately, the computation to do this is often tedious and unintuitive. Luckily, pymc-experimental now supports a way to do this work automatically!" ] }, { "cell_type": "code", "execution_count": 1, "id": "e40e8a9d-7516-4ad2-af1e-09fb85f77639", "metadata": {}, "outputs": [], "source": [ "import arviz as az\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import pymc as pm\n", "import pytensor.tensor as pt" ] }, { "cell_type": "markdown", "id": "495efc5b-a0c0-45f0-a723-3278495e1ace", "metadata": {}, "source": [ ":::{include} ../extra_installs.md\n", ":::" ] }, { "cell_type": "code", "execution_count": 2, "id": "8d802429-a250-4c22-9ecd-0dcb6778d876", "metadata": {}, "outputs": [], "source": [ "import pymc_experimental as pmx" ] }, { "cell_type": "code", "execution_count": 3, "id": "d686f41b-d55c-417d-8ef4-772c421a47cf", "metadata": {}, "outputs": [], "source": [ "%config InlineBackend.figure_format = 'retina' # high resolution figures\n", "az.style.use(\"arviz-darkgrid\")\n", "rng = np.random.default_rng(32)" ] }, { "cell_type": "markdown", "id": "f646c49f-41af-4004-a2c4-63d6ead8e007", "metadata": {}, "source": [ "As a motivating example, consider a gaussian mixture model" ] }, { "cell_type": "markdown", "id": "314c7fb7-3339-4e82-abe2-1d0aebf85242", "metadata": {}, "source": [ "## Gaussian Mixture model" ] }, { "cell_type": "markdown", "id": "0eecdf9b-4527-45fe-84d5-8a776086cb0c", "metadata": {}, "source": [ "There are two ways to specify the same model. One where the choice of mixture is explicit." ] }, { "cell_type": "code", "execution_count": 4, "id": "2e7b84e4-1323-4508-93e6-1f00fe21f90d", "metadata": {}, "outputs": [], "source": [ "mu = pt.as_tensor([-2.0, 2.0])\n", "\n", "with pmx.MarginalModel() as explicit_mixture:\n", " idx = pm.Bernoulli(\"idx\", 0.7)\n", " y = pm.Normal(\"y\", mu=mu[idx], sigma=1.0)" ] }, { "cell_type": "code", "execution_count": 5, "id": "63c63f01-8a34-4ef1-a316-384c721a3966", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABbcAAAPXCAYAAAAYJXYaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAB7CAAAewgFu0HU+AAB1gElEQVR4nOzde5zWdZ03/vc1DAwgCGI4yEFaFVDECc/abUFiitmqmLaarZFip4etStlaP7ceeWtpim7W6t5rmUlbdrhRSSsVFVgTFzwkLsSg4Al0EOSgchyY6/fH3l7LNcdrhpm5rs/M8/kX7+98Du8L+MzFvObLdzLZbDYbAAAAAACQkLJiNwAAAAAAAK0l3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJJTXuwGaN6GDRuK3UKbZTKZGDhwYEREbNy4MbLZbHEbgi7OmYPO5cxB53LmoHM5c9C5nDm6i3322add13PnNgAAAAAAyRFuAwAAAACQHOE2AAAAAADJEW4DAAAAAJAc4TYAAAAAAMkRbgMAAAAAkBzhNgAAAAAAyRFuAwAAAACQHOE2AAAAAADJEW4DAAAAAJAc4TYAAAAAAMkRbgMAAAAAkBzhNgAAAAAAyRFuAwAAAACQHOE2AAAAAADJEW4DAAAAAJAc4TYAAAAAAMkRbgMAAAAAkBzhNgAAAAAAyRFuAwAAAACQHOE2AAAAAADJEW4DAAAAAJAc4TYAAAAAAMkRbgMAAAAAkBzhNgAAAAAAyRFuAwAAAACQHOE2AAAAAADJEW4DAAAAAJAc4TYAAAAAAMkRbgMAAAAAkBzhNgAAAAAAyRFuAwAAAACQHOE2AAAAAADJEW4DAAAAAJAc4TYAAAAAAMkRbgMAAAAAkBzhNgAAAAAAyRFuAwAAAACQHOE2AAAAAADJEW4DAAAAAJAc4TYAAAAAAMkpL3YDAAAAQPs7cWLdHq7wdrv0sbsn5rrHDoD2410FAAAAAIDkCLcBAAAAAEiOcBsAAAAAgOQItwEAAAAASI5wGwAAAACA5Ai3AQAAAABIjnAbAAAAAIDkCLcBAAAAAEiOcBsAAAAAgOSUd/aGGzdujOXLl8err74aGzdujGw2GwMGDIihQ4fG+PHjo3///u2yz2uvvRZLly6NmpqaqKuri8rKyhg1alSMHj26XdaPiFi8eHG88sorsWbNmujTp09UVlZGVVVVVFZWttseAAAAAAA01OHhdl1dXTz99NPxyCOPxFNPPRXLly9vcmwmk4kTTjghpk6dGhMmTGjTfvPmzYvbb789nnvuuUY/PmbMmJg2bVqcccYZbVq/rq4uZs6cGTNnzozXX3+9wcfLysrihBNOiMsvvzyqqqratAcAAAAAAM3LZLPZbEducMopp8Srr77a6nmnn356XHPNNdGvX7+Cxmez2fje974Xd999d8HrX3/99dGrV6+Ce9qwYUNcfvnl8dRTT7U4tmfPnjF9+vS46KKLCl6/qT1TlclkYuDAgRERubv0gY7jzEHncuagczlz0HonTqwrdgsNPDHX01GhMd7n6C722Wefdl2vw+/cXr9+fYNrH/zgB6Oqqio+8IEPREVFRdTU1MSCBQuipqYmN+bBBx+Mt956K376059GRUVFi/vMmDGjQbB95JFHxuGHHx49evSI6urqePLJJ3OfHB588MHo0aNH3HjjjQW9jtra2vjqV78aixYtyl0rLy+PCRMmxEEHHRSbN2+Op59+Oqqrq3Pjb7jhhujfv3+ce+65Be0BAAAAAEBhOu2Z28OGDYtzzz03pkyZEkOGDGnw8V27dsVvfvOb+P73vx/bt2+PiIhFixbFP//zP8c//uM/Nrv2448/HnfccUeu3nvvvePWW2+NE044IW/c0qVL48tf/nIuRJ89e3YcddRRcd5557XY/80335wXbI8ePTpuv/32GD58eN642bNnx7e+9a2ora2NiIjvfve7UVVVFWPGjGlxDwAAAAAACtPh/x9o6NCh8b3vfS8eeeSR+PKXv9xosB0R0aNHjzj//PPjRz/6UZSV/U9bM2fOjDVr1jS5fjabjZtvvjlXZzKZuO222xoE2xERY8eOjbvuuivvTvAf//jHsW3btmZfQ01NTfziF7/I1fvuu2/cfffdDYLtiIgzzjgjrr322lxdW1sbP/zhD5tdHwAAAACA1unwcHvWrFnxqU99Knr06FHQ+AkTJsTpp5+eq2tra+PRRx9tcvycOXPyfkjl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+9+4cWOb5xZbJpPJfbdx06ZNud8XoGM4c9C5nDnoXM4ctCyFrx9T6BGKwfsc3UV7/w+eLh1uv/POO/HYY4/l6j59+sTkyZNbtcaBBx5Y0LhMJhNf+MIXIiJixowZuev/8i//EmeddVb06tWrVfu+r6t8Mstms13mtUAKnDnoXM4cdC5nDhqXwrlIoUcoNu9zULiyYjfQkR544IHYsWNHrj7llFOiX79+HbrntGnT4uCDD87VNTU18cwzz3TongAAAAAA3U2XDrfvu+++vLojf5Dk+8rKyhrs89RTT3X4vgAAAAAA3UmXDbdXrlwZzz//fK4eOnRoHH/88Z2y9/jx4/Pq1atXd8q+AAAAAADdRZcNt+v/IMkzzzwzMplMp+y977775tUbNmzolH0BAAAAALqLLhlu19XVxezZs/OudcYjSd63bdu2vLqioqLT9gYAAAAA6A66ZLi9YMGCqKmpydVHHXVUjBw5stP2f/311/Pq+ndyAwAAAACwZ7pkuD1r1qy8ujPv2o6ImDdvXl59yCGHdOr+AAAAAABdXZcLt997772YM2dOru7Tp0+cdtppnbb/66+/3uCRKB/5yEc6bX8AAAAAgO6gy4Xbf/zjH/Oeef3xj388+vXr16a1VqxYEbW1tQWP37RpU1x66aWxY8eO3LWPfexjccABB7RpfwAAAAAAGtflwu177703rz777LPbvNY999wTp556atx55515z/CuL5vNxmOPPRZTpkyJZcuW5a736dMnvv71r7d5fwAAAAAAGlfe0RusXr06Pv7xjzf6sV27duWNGzt2bKPj7rrrrjj22GNb3Ov111+PZ555JlcPHTo0jj/++FZ2nG/16tVxww03xA9+8IMYOXJkHHroobHffvtFv379YseOHfHmm2/GM888E2+++WbevB49esTNN98cBx988B7tDwAAAABAQx0ebmez2bwQuzlNjctmswXNr3/X9plnnhmZTKaguS3JZrPxyiuvxCuvvNLi2KFDh8aNN94YRx99dLvsDQAAAABAvg4PtztLNpuN+++/P+/alClT9mjNk08+OdavXx9PP/10s48led/o0aPj7/7u72LKlCmx11577dHeAAAAAAA0rcPD7eHDh0d1dXVHbxOZTCYeffTRdl3zuOOOi+OOOy4iItavXx8vvfRSvPHGG7Fhw4bYunVr9OzZMwYMGBD7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1Vv9cHvbtm2tmg8AAAAAQNOSDrf79evXZLBd34QJE+K2226Lz33uc7Fz586IiHjwwQfji1/8YowePbrRORUVFbF169aIiKitrW1Vbzt27Mire/fu3ar579u4cWOb5pWCTCaT+27jpk2bIpvNFrkj6NqcOehczhx0LmeOYkvhazM97rlS74+uy/sc3UV7/w+ZpMPt1jr66KPjU5/6VPz617+OiIhsNht//OMfmwy3+/btmwu3d7+LuxD1w+2+ffu2oePoMp/Mstlsl3ktkAJnDjqXMwedy5mjGFL4O6fHPVfq/dE9eJ+DwpUVu4HOds455+TVCxYsaHLs7oH01q1bo66uruB9Nm/e3ORaAAAAAADsmW4Xbo8bNy7v+dlvvPFGk2MrKytzv965c2esW7eu4H3efPPNvHrIkCGt6BIAAAAAgOZ0u3C7rKws79kuGzZsaHLsQQcdlFc3F4TXVz/crr8WAAAAAABt1+3C7YiIbdu25X5dUVHR5LgDDzwwr166dGnBe9QfW38tAAAAAADartuF2xs2bIh33303V++7775Njj3qqKPy6ueee66gPbZt2xbLli3L1WPGjIn+/fu3slMAAAAAAJrS7cLt+fPn59WHHHJIk2PHjRuX99ztuXPnxvbt21vcY86cOVFbW5urJ02a1IZOAQAAAABoSrcKt2tra+OOO+7Iu3biiSc2OT6TycSpp56aq99555144IEHWtznnnvuyat3XwMAAAAAgD2XbLi9Zs2a2LhxY8Hj6+rq4tvf/na8+OKLuWuDBw+O008/vdl5F198cfTq1StXz5gxo9kfQnnffffFokWLcvWkSZOavTscAAAAAIDWSzbcfuGFF+Kkk06KG264ocUf9Lhs2bKYOnVqzJo1K+/69OnTo2/fvs3OHTJkSHz2s5/N1W+//XZceOGFsWrVqgZjZ8+eHVdffXWu7tmzZ1x22WWFvBwAAAAAAFqhvKM3WL16dXz84x9v9GO7du3KGzd27NhGx911111x7LHHNri+efPmuPPOO+POO++MwYMHx9ixY2PEiBHRv3//yGazsX79+nj++eejurq6wdyLL744zj777IJewxVXXBGLFy+Op59+OiIili9fHpMnT44JEybEgQceGFu2bIlFixY12Oc73/lOjBkzpqA9AAAAAAAoXIeH29lsNi/Ebk5T47LZbItz165dG/PmzWtxXO/eveOqq66K888/v6CeIiJ69eoVP/rRj+Kyyy6LhQsXRsR/P797zpw5jY4vLy+PK664Is4999yC9wAAAAAAoHDJPpZkzJgx8ZnPfCYOPvjgKCtr+WUMHjw4vvCFL8RDDz3UqmD7fYMGDYqf//zn8c1vfjNGjBjR6JiysrL48Ic/HL/61a9i2rRprd4DAAAAAIDCdPid28OHD2/0sSB7asSIEfGd73wnIiK2bNkSL730UqxatSrWrVsXW7ZsiUwmE/37949BgwbFYYcd1mQg3RplZWUxderU+NznPhcvvPBCvPzyy/HWW29F7969o7KyMj70oQ9FZWXlHu8DAAAAAEDzOjzc7gx9+/aNqqqqqKqq6pT9MplMp+4HAAAAAEC+ZB9LAgAAAABA9yXcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJJTXuwGAAAAAErRiRPrit1CA0/MdZ8iwPt8RgQAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJJTXuwG2tMbb7wRL774YqxatSree++9KC8vjwEDBsRBBx0Uhx12WPTq1avYLQIAAAAA0A46LdzevHlzLF26NBYvXhyLFy+OF154IVavXp37+LBhw+Kxxx5r1Zpbt26NefPmxeOPPx4LFiyINWvWNDm2oqIiPvGJT8RFF10Uo0ePLniPWbNmxTe/+c1W9fW+v/3bv42bbrqpTXMBAAAAAGhah4fbP/vZz2LWrFnx0ksvRV1dXbut+/LLL8fZZ58dW7ZsKWj89u3b4957740HHnggLr300vjSl77Ubr0AAAAAANC5OjzcXrRoUSxfvrzd1922bVuDYLtHjx4xduzYGDNmTHzgAx+IXbt2xauvvhpPPvlkvPfeexERUVtbG7fccku8++67ceWVV7Z63x49enTIWAAAAAAACleUZ2737ds3DjvssFiyZEnBd143Z/z48fHpT386Tj311OjXr1+Dj7/77rtxyy23xL//+7/nrv3kJz+Jo48+Oj72sY+1aq+HH344hg8fvsc9AwAAAADQdh0ebldUVERVVVUcfvjhMW7cuDj88MPjoIMOirKysjjppJP2KNw+4ogj4mtf+1occ8wxzY7r379/fPvb34699tor/u3f/i13/aabbmp1uA0AAAAAQPF1eLh9yy23dMi6o0aNinvuuadVc/7hH/4h/vCHP8SqVasiIuKll16KFStWxEEHHdQRLQIAAAAA0EHKit1AW5WXtz6X79mzZ5xyyil51xYvXtxeLQEAAAAA0EmSDbfb6oADDsir161bV6ROAAAAAABoq24Xbm/evDmv7tmzZ5E6AQAAAACgrbpduF1dXZ1XV1ZWFqkTAAAAAADaqsN/oGQp2bJlS8yZMydXl5WVxXHHHdeqNW6//fZYsWJFrFq1Kt59993o379/7LPPPjFu3Lg47rjjYvLkydG7d+/2bh0AAAAAgN10q3D7zjvvjC1btuTqY489NgYNGtSqNX73u9/l1du2bYu1a9fG8uXLY9asWfGDH/wgvvjFL8aFF14YmUymXfoGAAAAACBftwm3X3zxxfg//+f/5F279NJL232ft99+O773ve/FggUL4pZbbok+ffrs0XopB+S7957y64BUOHPQuZw56FzOHMWWwt87Pe65Uu8vIo0eaT3vc9A23SLc3rJlS1xxxRWxY8eO3LUpU6bEMcccU9D8srKyOP7442PixIlRVVUVI0eOjP79+8f27dujpqYmFi5cGL/61a9i+fLluTmPP/54fOMb34hbb711jz4pDRw4sM1zS8mAAQOK3QJ0K84cdC5nDjqXM9ddvF3sBvI0/NqstPqL0GN7KPX+IrpOTkDTvM9B4bp8uJ3NZuOqq66KF198MXftgAMOiP/v//v/Cpo/fvz4eOSRR2L48OENPtazZ884+OCD4+CDD47zzz8/7rjjjrj55psjm81GRMTDDz8cv/3tb+PTn/50+7wYAAAAAAAiohuE29ddd1089NBDubp///7x4x//OPr371/Q/AMPPLCgcZlMJr7whS9ERMSMGTNy1//lX/4lzjrrrOjVq1cruv4fGzdubNO8UpDJZHLfbdy0aVMu9Ac6hjMHncuZg87lzFFsKXxtpsc9V+r9RaTRI63nfY7uor3/90mXDrdvu+22mDlzZq6uqKiI2267LcaMGdNhe06bNi3uv//+eOmllyIioqamJp555pk44YQT2rReV/lkls1mu8xrgRQ4c9C5nDnoXM4cxZDC3zk97rlS7y8ijR7ZM97noHBlxW6go/z7v/97/PCHP8zV5eXlccstt8Sxxx7bofuWlZXFlClT8q499dRTHbonAAAAAEB30yXD7fvvvz/+9//+37k6k8nEddddF5MmTeqU/cePH59Xr169ulP2BQAAAADoLrpcuP3oo4/Gt771rbz/vnH11VfHWWed1Wk97Lvvvnn1hg0bOm1vAAAAAIDuoEuF2wsWLIjLL788du7cmbt2+eWXx2c/+9lO7WPbtm15dUVFRafuDwAAAADQ1XWZcPv555+Pr3zlK7Fjx47ctWnTpsWXv/zlTu/l9ddfz6vr38kNAAAAAMCe6RLh9vLly+OSSy6JLVu25K6df/75ceWVVxaln3nz5uXVhxxySFH6AAAAAADoqpIPt1977bW46KKLYtOmTblrZ555ZnznO98pSj+vv/56zJ49O+/aRz7ykaL0AgAAAADQVSUdbq9ZsyY+//nPx9q1a3PXTjnllPj+978fmUxmj9dfsWJF1NbWFjx+06ZNcemll+Y9GuVjH/tYHHDAAXvcCwAAAAAA/yPZcHvTpk0xbdq0WLVqVe7aRz7ykZgxY0b06NGjXfa455574tRTT40777wzampqmhyXzWbjscceiylTpsSyZcty1/v06RNf//rX26UXAAAAAAD+R3lHb7B69er4+Mc/3ujHdu3alTdu7NixjY6766674thjj8279thjj8Xy5cvzrv35z3+O8ePHt6q/s846K773ve81+fHVq1fHDTfcED/4wQ9i5MiRceihh8Z+++0X/fr1ix07dsSbb74ZzzzzTLz55pt583r06BE333xzHHzwwa3qBwAAAACAlnV4uJ3NZvNC7OY0NS6bzRZ0ra6urnXNtWJONpuNV155JV555ZUWxw4dOjRuvPHGOProo1vdDwAAAAAALevwcDtlJ598cqxfvz6efvrpZh9L8r7Ro0fH3/3d38WUKVNir7326oQOAQAAAAC6pw4Pt4cPHx7V1dXtvu7ZZ58dZ599druvu7vjjjsujjvuuIiIWL9+fbz00kvxxhtvxIYNG2Lr1q3Rs2fPGDBgQOy3335RVVUVgwYN6tB+AAAAAAD4b+7cLtCgQYMaPPcbAAAAAIDiKCt2AwAAAAAA0FrCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAklNe7AYAAAAAaJsTJ9YVu4UGnpjrXkqgc/hsAwAAAABAcoTbAAAAAAAkR7gNAAAAAEByhNsAAAAAACRHuA0AAAAAQHKE2wAAAAAAJEe4DQAAAABAcsqL3QAAAACd68SJdcVuoYEn5rr3CgBoHf96AAAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAkiPcBgAAAAAgOcJtAAAAAACSI9wGAAAAACA5wm0AAAAAAJIj3AYAAAAAIDnCbQAAAAAAklNe7AY6wmuvvRZLly6NmpqaqKuri8rKyhg1alSMHj263fZYvHhxvPLKK7FmzZro06dPVFZWRlVVVVRWVrbbHgAAAAAANK7Twu3NmzfH0qVLY/HixbF48eJ44YUXYvXq1bmPDxs2LB577LE92mPevHlx++23x3PPPdfox8eMGRPTpk2LM844o03r19XVxcyZM2PmzJnx+uuvN/h4WVlZnHDCCXH55ZdHVVVVm/YAAAAAAKBlHR5u/+xnP4tZs2bFSy+9FHV1dR2yRzabje9973tx9913Nzuuuro6rrzyypg7d25cf/310atXr4L32LBhQ1x++eXx1FNPNTmmrq4u/vznP8fChQtj+vTpcdFFFxW8PgAAAAAAhevwcHvRokWxfPnyDt1jxowZDYLtI488Mg4//PDo0aNHVFdXx5NPPhnZbDYiIh588MHo0aNH3HjjjQWtX1tbG1/96ldj0aJFuWvl5eUxYcKEOOigg2Lz5s3x9NNPR3V1dW78DTfcEP37949zzz23nV4lAAAAAADvK8ozt/v27RuHHXZYLFmyJLZs2bJHaz3++ONxxx135Oq99947br311jjhhBPyxi1dujS+/OUvR01NTUREzJ49O4466qg477zzWtzj5ptvzgu2R48eHbfffnsMHz48b9zs2bPjW9/6VtTW1kZExHe/+92oqqqKMWPGtPn1AQAAAADQUFlHb1BRURFVVVVxwQUXxPe///144IEH4plnnolf/OIXsc8+++zR2tlsNm6++eZcnclk4rbbbmsQbEdEjB07Nu66666oqKjIXfvxj38c27Zta3aPmpqa+MUvfpGr991337j77rsbBNsREWeccUZce+21ubq2tjZ++MMftuo1AQAAAADQsg6/c/uWW27psLXnzJmT98iTM888M4455pgmx//N3/xNXHzxxXHbbbdFRMTatWvjt7/9bfz93/99k3N+8pOfxI4dO3L11772tWZD+bPOOit+97vf5e70fvTRR2PZsmVxyCGHFPy6AAAAAABoXoffud2R/vSnP+XVF1xwQYtzzjvvvOjRo0eTa+wu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", "text/plain": [ "